{ "argumentSchema": { "$defs": { "ChatRoomRecord": { "properties": { "room": { "$ref": "#/$defs/LinkedChatRoom", "asCell": [ "cell" ] } }, "type": "object" }, "LinkedChatRoom": { "properties": { "$NAME": { "type": "string" } }, "type": "object" }, "Panel": { "anyOf": [ { "properties": { "addedBy": { "$ref": "#/$defs/PanelAdderDid" }, "addedByProfile": { "$ref": "#/$defs/PanelAdderProfile" }, "kind": { "enum": [ "piece" ], "type": "string" }, "piece": { "asCell": [ "cell" ], "type": "unknown" }, "titleOverride": { "type": "string" } }, "required": [ "kind", "piece" ], "type": "object" }, { "properties": { "addedBy": { "$ref": "#/$defs/PanelAdderDid" }, "addedByProfile": { "$ref": "#/$defs/PanelAdderProfile" }, "content": { "$ref": "#/$defs/PublishedDocument", "asCell": [ "cell" ] }, "kind": { "enum": [ "document" ], "type": "string" }, "titleOverride": { "type": "string" } }, "required": [ "kind", "content" ], "type": "object" }, { "properties": { "addedBy": { "$ref": "#/$defs/PanelAdderDid" }, "addedByProfile": { "$ref": "#/$defs/PanelAdderProfile" }, "kind": { "enum": [ "url" ], "type": "string" }, "titleOverride": { "type": "string" }, "url": { "type": "string" } }, "required": [ "kind", "url" ], "type": "object" } ] }, "PanelAdderDid": { "ifc": { "addIntegrity": [ { "kind": "authored-by", "subject": { "__ctCurrentPrincipal": true } } ], "writeAuthorizedBy": { "__ctWriterIdentityOf": { "file": "/packages/patterns/loom/admission.tsx", "moduleIdentity": "9jbqO1X2zmMGtcL8HBMFuZQjpFZQHEOfZ7IDngcsW_Q", "path": [ "admitPanel" ] } } }, "type": "string" }, "PanelAdderProfile": { "asCell": [ "cell" ], "ifc": { "addIntegrity": [ { "kind": "represents-principal", "subject": { "__ctCurrentPrincipal": true } } ], "ownerPrincipal": { "__ctCurrentPrincipal": true }, "writeAuthorizedBy": { "__ctWriterIdentityOf": { "file": "/packages/patterns/loom/admission.tsx", "moduleIdentity": "9jbqO1X2zmMGtcL8HBMFuZQjpFZQHEOfZ7IDngcsW_Q", "path": [ "admitPanel" ] } } }, "properties": { "avatar": { "type": "string" }, "name": { "type": "string" } }, "type": "object" }, "ParticipantList": { "ifc": { "writeAuthorizedBy": { "__ctWriterIdentityOf": { "file": "/packages/patterns/loom/participants.tsx", "moduleIdentity": "7yRcWrY7qIapItd2WnxsvbrnSiOsPq4Ww7VrfyyWhQE", "path": [ "addParticipant" ] } } }, "items": { "asCell": [ "cell" ], "properties": { "avatar": { "type": "string" }, "name": { "type": "string" } }, "type": "object" }, "type": "array" }, "ParticipantRoster": { "properties": { "items": { "$ref": "#/$defs/ParticipantList" } }, "type": "object" }, "Presentation": { "properties": { "focusedPanel": { "$ref": "#/$defs/Panel", "asCell": [ "cell" ] }, "stagedPanels": { "items": { "$ref": "#/$defs/Panel", "asCell": [ "cell" ] }, "type": "array" } }, "required": [ "stagedPanels" ], "type": "object" }, "PrivatePanel": { "properties": { "before": { "$ref": "#/$defs/Panel", "asCell": [ "cell" ] }, "panel": { "$ref": "#/$defs/Panel", "asCell": [ "cell" ] } }, "required": [ "panel" ], "type": "object" }, "PublishedChannel": { "properties": { "kind": { "type": "string" }, "label": { "type": "string" }, "value": { "type": "string" } }, "required": [ "kind", "value" ], "type": "object" }, "PublishedDocument": { "properties": { "notes": { "default": "", "type": "string" }, "source": { "$ref": "#/$defs/PublishedSource" } }, "required": [ "source", "notes" ], "type": "object" }, "PublishedSource": { "anyOf": [ { "properties": { "body": { "type": "string" }, "kind": { "enum": [ "page-excerpt" ], "type": "string" }, "title": { "type": "string" } }, "required": [ "kind", "title", "body" ], "type": "object" }, { "properties": { "channels": { "items": { "$ref": "#/$defs/PublishedChannel" }, "type": "array" }, "kind": { "enum": [ "person-card" ], "type": "string" }, "name": { "type": "string" }, "photo": { "type": "string" } }, "required": [ "kind", "name", "channels" ], "type": "object" } ] } }, "description": "Shared state supplied when a Loom is instantiated.", "properties": { "chatRoom": { "$ref": "#/$defs/ChatRoomRecord", "asCell": [ { "kind": "cell", "scope": "space" } ], "default": {} }, "hiddenPanels": { "asCell": [ { "kind": "cell", "scope": "user" } ], "default": [], "items": { "$ref": "#/$defs/Panel", "asCell": [ "cell" ] }, "type": "array" }, "panels": { "asCell": [ { "kind": "cell", "scope": "space" } ], "default": [], "items": { "$ref": "#/$defs/Panel", "asCell": [ "cell" ] }, "type": "array" }, "participants": { "$ref": "#/$defs/ParticipantRoster", "asCell": [ { "kind": "cell", "scope": "space" } ], "default": {} }, "presentation": { "$ref": "#/$defs/Presentation", "asCell": [ { "kind": "cell", "scope": "space" } ], "default": { "stagedPanels": [] } }, "privatePanels": { "asCell": [ { "kind": "cell", "scope": "user" } ], "default": [], "items": { "$ref": "#/$defs/PrivatePanel" }, "type": "array" }, "title": { "asCell": [ { "kind": "cell", "scope": "space" } ], "default": "Shared Loom", "type": "string" } }, "type": "object" }, "pattern": "loom/main.tsx", "resultSchema": { "$defs": { "ChatRoomChoice": { "properties": { "room": { "$ref": "#/$defs/LinkedChatRoom" } }, "type": "object" }, "LinkedChatRoom": { "properties": { "$NAME": { "type": "string" } }, "type": "object" }, "Panel": { "anyOf": [ { "properties": { "addedBy": { "$ref": "#/$defs/PanelAdderDid" }, "addedByProfile": { "$ref": "#/$defs/PanelAdderProfile" }, "kind": { "enum": [ "piece" ], "type": "string" }, "piece": { "type": "unknown" }, "titleOverride": { "type": "string" } }, "required": [ "kind", "piece" ], "type": "object" }, { "properties": { "addedBy": { "$ref": "#/$defs/PanelAdderDid" }, "addedByProfile": { "$ref": "#/$defs/PanelAdderProfile" }, "content": { "$ref": "#/$defs/PublishedDocument" }, "kind": { "enum": [ "document" ], "type": "string" }, "titleOverride": { "type": "string" } }, "required": [ "kind", "content" ], "type": "object" }, { "properties": { "addedBy": { "$ref": "#/$defs/PanelAdderDid" }, "addedByProfile": { "$ref": "#/$defs/PanelAdderProfile" }, "kind": { "enum": [ "url" ], "type": "string" }, "titleOverride": { "type": "string" }, "url": { "type": "string" } }, "required": [ "kind", "url" ], "type": "object" } ] }, "PanelAdderDid": { "ifc": { "addIntegrity": [ { "kind": "authored-by", "subject": { "__ctCurrentPrincipal": true } } ], "writeAuthorizedBy": { "__ctWriterIdentityOf": { "file": "/packages/patterns/loom/admission.tsx", "moduleIdentity": "9jbqO1X2zmMGtcL8HBMFuZQjpFZQHEOfZ7IDngcsW_Q", "path": [ "admitPanel" ] } } }, "type": "string" }, "PanelAdderProfile": { "ifc": { "addIntegrity": [ { "kind": "represents-principal", "subject": { "__ctCurrentPrincipal": true } } ], "ownerPrincipal": { "__ctCurrentPrincipal": true }, "writeAuthorizedBy": { "__ctWriterIdentityOf": { "file": "/packages/patterns/loom/admission.tsx", "moduleIdentity": "9jbqO1X2zmMGtcL8HBMFuZQjpFZQHEOfZ7IDngcsW_Q", "path": [ "admitPanel" ] } } }, "properties": { "avatar": { "type": "string" }, "name": { "type": "string" } }, "type": "object" }, "PanelAdmission": { "properties": { "as": { "properties": { "avatar": { "type": "string" }, "name": { "type": "string" } }, "type": "object" }, "before": { "$ref": "#/$defs/Panel" }, "panel": { "$ref": "#/$defs/Panel" }, "piece": { "type": "unknown" } }, "type": "object" }, "PanelPosition": { "properties": { "before": { "$ref": "#/$defs/Panel" }, "panel": { "$ref": "#/$defs/Panel" } }, "required": [ "panel" ], "type": "object" }, "PanelRetarget": { "properties": { "panel": { "$ref": "#/$defs/Panel" }, "target": { "$ref": "#/$defs/PanelTarget" } }, "required": [ "panel", "target" ], "type": "object" }, "PanelTarget": { "anyOf": [ { "properties": { "kind": { "enum": [ "url" ], "type": "string" }, "url": { "type": "string" } }, "required": [ "kind", "url" ], "type": "object" }, { "properties": { "kind": { "enum": [ "piece" ], "type": "string" }, "piece": { "type": "unknown" } }, "required": [ "kind", "piece" ], "type": "object" } ] }, "PanelTitle": { "properties": { "panel": { "$ref": "#/$defs/Panel" }, "titleOverride": { "type": "string" } }, "required": [ "panel", "titleOverride" ], "type": "object" }, "Presentation": { "properties": { "focusedPanel": { "$ref": "#/$defs/Panel" }, "stagedPanels": { "items": { "$ref": "#/$defs/Panel" }, "type": "array" } }, "required": [ "stagedPanels" ], "type": "object" }, "PrivatePanel": { "properties": { "before": { "$ref": "#/$defs/Panel" }, "panel": { "$ref": "#/$defs/Panel" } }, "required": [ "panel" ], "type": "object" }, "PublishedChannel": { "properties": { "kind": { "type": "string" }, "label": { "type": "string" }, "value": { "type": "string" } }, "required": [ "kind", "value" ], "type": "object" }, "PublishedDocument": { "properties": { "notes": { "default": "", "type": "string" }, "source": { "$ref": "#/$defs/PublishedSource" } }, "required": [ "source", "notes" ], "type": "object" }, "PublishedSource": { "anyOf": [ { "properties": { "body": { "type": "string" }, "kind": { "enum": [ "page-excerpt" ], "type": "string" }, "title": { "type": "string" } }, "required": [ "kind", "title", "body" ], "type": "object" }, { "properties": { "channels": { "items": { "$ref": "#/$defs/PublishedChannel" }, "type": "array" }, "kind": { "enum": [ "person-card" ], "type": "string" }, "name": { "type": "string" }, "photo": { "type": "string" } }, "required": [ "kind", "name", "channels" ], "type": "object" } ] }, "ViewerState": { "properties": { "actingProfile": { "properties": { "avatar": { "type": "string" }, "name": { "type": "string" } }, "type": "object" }, "selectedPanel": { "$ref": "#/$defs/Panel" } }, "type": "object" } }, "description": "Standard default-pattern exports and the public composition actions.", "properties": { "$NAME": { "type": "string" }, "$UI": { "$ref": "https://commonfabric.org/schemas/vnode.json" }, "addPanel": { "$ref": "#/$defs/PanelAdmission", "asCell": [ "stream" ] }, "addParticipant": { "asCell": [ "stream" ], "properties": { "profile": { "properties": { "avatar": { "type": "string" }, "name": { "type": "string" } }, "type": "object" } }, "required": [ "profile" ], "type": "object" }, "addPiece": { "$ref": "#/$defs/PanelAdmission", "asCell": [ "stream" ] }, "addPrivatePanel": { "$ref": "#/$defs/PanelPosition", "asCell": [ "stream" ] }, "chatRoom": { "$ref": "#/$defs/LinkedChatRoom" }, "duplicatePanel": { "$ref": "#/$defs/PanelAdmission", "asCell": [ "stream" ] }, "hiddenPanels": { "items": { "$ref": "#/$defs/Panel" }, "type": "array" }, "hidePanel": { "asCell": [ "stream" ], "properties": { "panel": { "$ref": "#/$defs/Panel" } }, "required": [ "panel" ], "type": "object" }, "movePanel": { "$ref": "#/$defs/PanelPosition", "asCell": [ "stream" ] }, "movePrivatePanel": { "$ref": "#/$defs/PanelPosition", "asCell": [ "stream" ] }, "panels": { "items": { "$ref": "#/$defs/Panel" }, "type": "array" }, "participants": { "items": { "properties": { "avatar": { "type": "string" }, "name": { "type": "string" } }, "type": "object" }, "type": "array" }, "pieceRegistry": { "items": { "type": "unknown" }, "type": "array" }, "presentation": { "$ref": "#/$defs/Presentation" }, "privatePanels": { "items": { "$ref": "#/$defs/PrivatePanel" }, "type": "array" }, "removePanel": { "asCell": [ "stream" ], "properties": { "panel": { "$ref": "#/$defs/Panel" } }, "required": [ "panel" ], "type": "object" }, "removePiece": { "asCell": [ "stream" ], "properties": { "piece": { "type": "unknown" } }, "required": [ "piece" ], "type": "object" }, "removePrivatePanel": { "asCell": [ "stream" ], "properties": { "panel": { "$ref": "#/$defs/Panel" } }, "required": [ "panel" ], "type": "object" }, "retargetPanel": { "$ref": "#/$defs/PanelRetarget", "asCell": [ "stream" ] }, "retitleLoom": { "asCell": [ "stream" ], "properties": { "title": { "type": "string" } }, "required": [ "title" ], "type": "object" }, "retitlePanel": { "$ref": "#/$defs/PanelTitle", "asCell": [ "stream" ] }, "setChatRoom": { "$ref": "#/$defs/ChatRoomChoice", "asCell": [ "stream" ] }, "setPresentation": { "$ref": "#/$defs/Presentation", "asCell": [ "stream" ] }, "title": { "type": "string" }, "unhidePanel": { "asCell": [ "stream" ], "properties": { "panel": { "$ref": "#/$defs/Panel" } }, "required": [ "panel" ], "type": "object" }, "viewerPanels": { "items": { "$ref": "#/$defs/Panel" }, "type": "array" }, "viewerState": { "$ref": "#/$defs/ViewerState" } }, "required": [ "title", "viewerState", "panels", "presentation", "pieceRegistry", "addPiece", "removePiece", "addPanel", "removePanel", "movePanel", "duplicatePanel", "setPresentation", "participants", "addParticipant", "setChatRoom", "retitleLoom", "retitlePanel", "retargetPanel", "hiddenPanels", "privatePanels", "viewerPanels", "hidePanel", "unhidePanel", "addPrivatePanel", "removePrivatePanel", "movePrivatePanel", "$NAME", "$UI" ], "type": "object" } }