@dxos/plugin-thread 0.8.4-main.e8ec1fe → 0.8.4-main.effb148878
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +102 -5
- package/README.md +1 -1
- package/dist/lib/neutral/ChannelArticle-UJHPOUWA.mjs +28 -0
- package/dist/lib/neutral/ChannelArticle-UJHPOUWA.mjs.map +7 -0
- package/dist/lib/neutral/ChannelChat-LZEDFJVD.mjs +10 -0
- package/dist/lib/neutral/CommentsCompanion-3H3ZVIBH.mjs +208 -0
- package/dist/lib/neutral/CommentsCompanion-3H3ZVIBH.mjs.map +7 -0
- package/dist/lib/neutral/ThreadContainer-QWB6WRMI.mjs +61 -0
- package/dist/lib/neutral/ThreadContainer-QWB6WRMI.mjs.map +7 -0
- package/dist/lib/neutral/ThreadPlugin.mjs +96 -0
- package/dist/lib/neutral/ThreadPlugin.mjs.map +7 -0
- package/dist/lib/neutral/ThreadPlugin.node.mjs +40 -0
- package/dist/lib/neutral/ThreadPlugin.node.mjs.map +7 -0
- package/dist/lib/neutral/ThreadPlugin.workerd.mjs +24 -0
- package/dist/lib/neutral/ThreadPlugin.workerd.mjs.map +7 -0
- package/dist/lib/neutral/ThreadSettings-5MKTDK3A.mjs +15 -0
- package/dist/lib/neutral/ThreadSettings-5MKTDK3A.mjs.map +7 -0
- package/dist/lib/neutral/add-message-DATVSMVU.mjs +122 -0
- package/dist/lib/neutral/add-message-DATVSMVU.mjs.map +7 -0
- package/dist/lib/neutral/agent-runner-JK2Y4RU3.mjs +244 -0
- package/dist/lib/neutral/agent-runner-JK2Y4RU3.mjs.map +7 -0
- package/dist/lib/neutral/app-graph-builder-ACCHZXZA.mjs +120 -0
- package/dist/lib/neutral/app-graph-builder-ACCHZXZA.mjs.map +7 -0
- package/dist/lib/neutral/append-channel-message-4ACLATZY.mjs +40 -0
- package/dist/lib/neutral/append-channel-message-4ACLATZY.mjs.map +7 -0
- package/dist/lib/neutral/blueprint-definition-S3EBOH4R.mjs +15 -0
- package/dist/lib/neutral/blueprint-definition-S3EBOH4R.mjs.map +7 -0
- package/dist/lib/neutral/blueprints/index.mjs +8 -0
- package/dist/lib/neutral/capabilities/index.mjs +27 -0
- package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
- package/dist/lib/neutral/chunk-5T5LPLBN.mjs +36 -0
- package/dist/lib/neutral/chunk-5T5LPLBN.mjs.map +7 -0
- package/dist/lib/neutral/chunk-6HC3NAXD.mjs +164 -0
- package/dist/lib/neutral/chunk-6HC3NAXD.mjs.map +7 -0
- package/dist/lib/neutral/chunk-BHEZLLXG.mjs +55 -0
- package/dist/lib/neutral/chunk-BHEZLLXG.mjs.map +7 -0
- package/dist/lib/neutral/chunk-D3SCNWLT.mjs +335 -0
- package/dist/lib/neutral/chunk-D3SCNWLT.mjs.map +7 -0
- package/dist/lib/{browser/chunk-CP7E2HRE.mjs → neutral/chunk-JLY4NVTA.mjs} +12 -5
- package/dist/lib/neutral/chunk-JLY4NVTA.mjs.map +7 -0
- package/dist/lib/neutral/chunk-QFDT33VT.mjs +69 -0
- package/dist/lib/neutral/chunk-QFDT33VT.mjs.map +7 -0
- package/dist/lib/neutral/chunk-TT6PWRR5.mjs +8 -0
- package/dist/lib/neutral/chunk-TT6PWRR5.mjs.map +7 -0
- package/dist/lib/neutral/chunk-WMP3QCOR.mjs +46 -0
- package/dist/lib/neutral/chunk-WMP3QCOR.mjs.map +7 -0
- package/dist/lib/neutral/components/index.mjs +541 -0
- package/dist/lib/neutral/components/index.mjs.map +7 -0
- package/dist/lib/neutral/containers/index.mjs +15 -0
- package/dist/lib/neutral/containers/index.mjs.map +7 -0
- package/dist/lib/neutral/create-2NJDD73M.mjs +61 -0
- package/dist/lib/neutral/create-2NJDD73M.mjs.map +7 -0
- package/dist/lib/neutral/create-channel-RYSV44N3.mjs +19 -0
- package/dist/lib/neutral/create-channel-RYSV44N3.mjs.map +7 -0
- package/dist/lib/neutral/create-object-D5XEG7MQ.mjs +28 -0
- package/dist/lib/neutral/create-object-D5XEG7MQ.mjs.map +7 -0
- package/dist/lib/neutral/create-proposals-7UZYZ32V.mjs +56 -0
- package/dist/lib/neutral/create-proposals-7UZYZ32V.mjs.map +7 -0
- package/dist/lib/neutral/delete-JVGAPD46.mjs +57 -0
- package/dist/lib/neutral/delete-JVGAPD46.mjs.map +7 -0
- package/dist/lib/neutral/delete-message-5EGR3HWH.mjs +54 -0
- package/dist/lib/neutral/delete-message-5EGR3HWH.mjs.map +7 -0
- package/dist/lib/neutral/hooks/index.mjs +10 -0
- package/dist/lib/neutral/index.mjs +32 -0
- package/dist/lib/neutral/markdown-B6RNVR2H.mjs +83 -0
- package/dist/lib/neutral/markdown-B6RNVR2H.mjs.map +7 -0
- package/dist/lib/neutral/meta.json +1 -0
- package/dist/lib/neutral/meta.mjs +10 -0
- package/dist/lib/neutral/on-create-space-ZQF55KSO.mjs +23 -0
- package/dist/lib/neutral/on-create-space-ZQF55KSO.mjs.map +7 -0
- package/dist/lib/neutral/operation-handler-RU6K2S4L.mjs +13 -0
- package/dist/lib/neutral/operation-handler-RU6K2S4L.mjs.map +7 -0
- package/dist/lib/neutral/operations/index.mjs +8 -0
- package/dist/lib/neutral/plugin.mjs +16 -0
- package/dist/lib/neutral/plugin.mjs.map +7 -0
- package/dist/lib/neutral/react-surface-ZSIQHN5P.mjs +76 -0
- package/dist/lib/neutral/react-surface-ZSIQHN5P.mjs.map +7 -0
- package/dist/lib/neutral/respond-to-thread-LVLDZON3.mjs +32 -0
- package/dist/lib/neutral/respond-to-thread-LVLDZON3.mjs.map +7 -0
- package/dist/lib/neutral/restore-Z5PYV7I2.mjs +32 -0
- package/dist/lib/neutral/restore-Z5PYV7I2.mjs.map +7 -0
- package/dist/lib/neutral/restore-message-B263PLUH.mjs +33 -0
- package/dist/lib/neutral/restore-message-B263PLUH.mjs.map +7 -0
- package/dist/lib/neutral/select-GXDEAH5D.mjs +24 -0
- package/dist/lib/neutral/select-GXDEAH5D.mjs.map +7 -0
- package/dist/lib/neutral/set-agent-config-7HHS6KZZ.mjs +20 -0
- package/dist/lib/neutral/set-agent-config-7HHS6KZZ.mjs.map +7 -0
- package/dist/lib/neutral/settings-HK4EB6TF.mjs +30 -0
- package/dist/lib/neutral/settings-HK4EB6TF.mjs.map +7 -0
- package/dist/lib/neutral/state-UU7VEAKV.mjs +22 -0
- package/dist/lib/neutral/state-UU7VEAKV.mjs.map +7 -0
- package/dist/lib/neutral/testing/index.mjs +58 -0
- package/dist/lib/neutral/testing/index.mjs.map +7 -0
- package/dist/lib/neutral/toggle-resolved-LBVNAVVF.mjs +36 -0
- package/dist/lib/neutral/toggle-resolved-LBVNAVVF.mjs.map +7 -0
- package/dist/lib/neutral/translations.mjs +91 -0
- package/dist/lib/neutral/translations.mjs.map +7 -0
- package/dist/lib/neutral/types/index.mjs +16 -0
- package/dist/lib/neutral/undo-mappings-HOKL2L3M.mjs +54 -0
- package/dist/lib/neutral/undo-mappings-HOKL2L3M.mjs.map +7 -0
- package/dist/types/src/ThreadPlugin.d.ts +3 -1
- package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
- package/dist/types/src/ThreadPlugin.node.d.ts +4 -0
- package/dist/types/src/ThreadPlugin.node.d.ts.map +1 -0
- package/dist/types/src/ThreadPlugin.test.d.ts +2 -0
- package/dist/types/src/ThreadPlugin.test.d.ts.map +1 -0
- package/dist/types/src/ThreadPlugin.workerd.d.ts +4 -0
- package/dist/types/src/ThreadPlugin.workerd.d.ts.map +1 -0
- package/dist/types/src/blueprints/index.d.ts +2 -0
- package/dist/types/src/blueprints/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/thread-blueprint.d.ts +4 -0
- package/dist/types/src/blueprints/thread-blueprint.d.ts.map +1 -0
- package/dist/types/src/capabilities/agent-runner.d.ts +22 -0
- package/dist/types/src/capabilities/agent-runner.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/blueprint-definition.d.ts +5 -4
- package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
- package/dist/types/src/capabilities/create-object.d.ts +11 -0
- package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +16 -15
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/markdown.d.ts +3 -2
- package/dist/types/src/capabilities/markdown.d.ts.map +1 -1
- package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
- package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface.d.ts +3 -2
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings.d.ts +5 -2
- package/dist/types/src/capabilities/settings.d.ts.map +1 -1
- package/dist/types/src/capabilities/state.d.ts +5 -5
- package/dist/types/src/capabilities/state.d.ts.map +1 -1
- package/dist/types/src/capabilities/undo-mappings.d.ts +5 -0
- package/dist/types/src/capabilities/undo-mappings.d.ts.map +1 -0
- package/dist/types/src/components/Chat/Chat.d.ts +51 -0
- package/dist/types/src/components/Chat/Chat.d.ts.map +1 -0
- package/dist/types/src/components/Chat/index.d.ts +2 -0
- package/dist/types/src/components/Chat/index.d.ts.map +1 -0
- package/dist/types/src/components/CommentsPanel/CommentsPanel.d.ts +13 -0
- package/dist/types/src/components/CommentsPanel/CommentsPanel.d.ts.map +1 -0
- package/dist/types/src/components/CommentsPanel/CommentsPanel.stories.d.ts +160 -0
- package/dist/types/src/components/CommentsPanel/CommentsPanel.stories.d.ts.map +1 -0
- package/dist/types/src/components/{CommentsThreadContainer.d.ts → CommentsPanel/CommentsThread.d.ts} +3 -3
- package/dist/types/src/components/CommentsPanel/CommentsThread.d.ts.map +1 -0
- package/dist/types/src/components/CommentsPanel/index.d.ts +3 -0
- package/dist/types/src/components/CommentsPanel/index.d.ts.map +1 -0
- package/dist/types/src/components/MessagePanel/MessagePanel.d.ts +15 -0
- package/dist/types/src/components/MessagePanel/MessagePanel.d.ts.map +1 -0
- package/dist/types/src/components/MessagePanel/index.d.ts +2 -0
- package/dist/types/src/components/MessagePanel/index.d.ts.map +1 -0
- package/dist/types/src/components/ThreadSettings/ThreadSettings.d.ts +6 -0
- package/dist/types/src/components/ThreadSettings/ThreadSettings.d.ts.map +1 -0
- package/dist/types/src/components/ThreadSettings/ThreadSettings.stories.d.ts +161 -0
- package/dist/types/src/components/ThreadSettings/ThreadSettings.stories.d.ts.map +1 -0
- package/dist/types/src/components/ThreadSettings/index.d.ts +2 -0
- package/dist/types/src/components/ThreadSettings/index.d.ts.map +1 -0
- package/dist/types/src/components/index.d.ts +5 -10
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/containers/ChannelArticle/ChannelArticle.d.ts +13 -0
- package/dist/types/src/containers/ChannelArticle/ChannelArticle.d.ts.map +1 -0
- package/dist/types/src/containers/ChannelArticle/ChannelArticle.stories.d.ts +162 -0
- package/dist/types/src/containers/ChannelArticle/ChannelArticle.stories.d.ts.map +1 -0
- package/dist/types/src/containers/ChannelArticle/index.d.ts +2 -0
- package/dist/types/src/containers/ChannelArticle/index.d.ts.map +1 -0
- package/dist/types/src/containers/ChannelChat/ChannelChat.d.ts +20 -0
- package/dist/types/src/containers/ChannelChat/ChannelChat.d.ts.map +1 -0
- package/dist/types/src/containers/ChannelChat/index.d.ts +4 -0
- package/dist/types/src/containers/ChannelChat/index.d.ts.map +1 -0
- package/dist/types/src/containers/CommentsCompanion/CommentsCompanion.d.ts +11 -0
- package/dist/types/src/containers/CommentsCompanion/CommentsCompanion.d.ts.map +1 -0
- package/dist/types/src/containers/CommentsCompanion/CommentsCompanion.stories.d.ts +198 -0
- package/dist/types/src/containers/CommentsCompanion/CommentsCompanion.stories.d.ts.map +1 -0
- package/dist/types/src/containers/CommentsCompanion/index.d.ts +2 -0
- package/dist/types/src/containers/CommentsCompanion/index.d.ts.map +1 -0
- package/dist/types/src/containers/ThreadContainer/ThreadContainer.d.ts +20 -0
- package/dist/types/src/containers/ThreadContainer/ThreadContainer.d.ts.map +1 -0
- package/dist/types/src/containers/ThreadContainer/ThreadContainer.stories.d.ts +162 -0
- package/dist/types/src/containers/ThreadContainer/ThreadContainer.stories.d.ts.map +1 -0
- package/dist/types/src/containers/ThreadContainer/index.d.ts +4 -0
- package/dist/types/src/containers/ThreadContainer/index.d.ts.map +1 -0
- package/dist/types/src/containers/index.d.ts +6 -0
- package/dist/types/src/containers/index.d.ts.map +1 -0
- package/dist/types/src/{components/command-extension.d.ts → extensions/command.d.ts} +1 -1
- package/dist/types/src/extensions/command.d.ts.map +1 -0
- package/dist/types/src/extensions/index.d.ts +1 -0
- package/dist/types/src/extensions/index.d.ts.map +1 -1
- package/dist/types/src/extensions/threads.d.ts +9 -4
- package/dist/types/src/extensions/threads.d.ts.map +1 -1
- package/dist/types/src/hooks/analytics.d.ts +1 -2
- package/dist/types/src/hooks/analytics.d.ts.map +1 -1
- package/dist/types/src/hooks/index.d.ts +0 -4
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useStatus.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +2 -3
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +2 -2
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/operations/add-message.d.ts +5 -0
- package/dist/types/src/operations/add-message.d.ts.map +1 -0
- package/dist/types/src/operations/append-channel-message.d.ts +5 -0
- package/dist/types/src/operations/append-channel-message.d.ts.map +1 -0
- package/dist/types/src/operations/create-channel.d.ts +5 -0
- package/dist/types/src/operations/create-channel.d.ts.map +1 -0
- package/dist/types/src/operations/create-proposals.d.ts +5 -0
- package/dist/types/src/operations/create-proposals.d.ts.map +1 -0
- package/dist/types/src/operations/create.d.ts +5 -0
- package/dist/types/src/operations/create.d.ts.map +1 -0
- package/dist/types/src/operations/delete-message.d.ts +5 -0
- package/dist/types/src/operations/delete-message.d.ts.map +1 -0
- package/dist/types/src/operations/delete.d.ts +5 -0
- package/dist/types/src/operations/delete.d.ts.map +1 -0
- package/dist/types/src/operations/index.d.ts +3 -0
- package/dist/types/src/operations/index.d.ts.map +1 -0
- package/dist/types/src/operations/on-create-space.d.ts +5 -0
- package/dist/types/src/operations/on-create-space.d.ts.map +1 -0
- package/dist/types/src/operations/respond-to-thread.d.ts +5 -0
- package/dist/types/src/operations/respond-to-thread.d.ts.map +1 -0
- package/dist/types/src/operations/restore-message.d.ts +5 -0
- package/dist/types/src/operations/restore-message.d.ts.map +1 -0
- package/dist/types/src/operations/restore.d.ts +5 -0
- package/dist/types/src/operations/restore.d.ts.map +1 -0
- package/dist/types/src/operations/select.d.ts +5 -0
- package/dist/types/src/operations/select.d.ts.map +1 -0
- package/dist/types/src/operations/set-agent-config.d.ts +5 -0
- package/dist/types/src/operations/set-agent-config.d.ts.map +1 -0
- package/dist/types/src/operations/toggle-resolved.d.ts +5 -0
- package/dist/types/src/operations/toggle-resolved.d.ts.map +1 -0
- package/dist/types/src/plugin.d.ts +4 -0
- package/dist/types/src/plugin.d.ts.map +1 -0
- package/dist/types/src/should-trigger-agent.d.ts +22 -0
- package/dist/types/src/should-trigger-agent.d.ts.map +1 -0
- package/dist/types/src/should-trigger-agent.test.d.ts +2 -0
- package/dist/types/src/should-trigger-agent.test.d.ts.map +1 -0
- package/dist/types/src/{components/testing.d.ts → testing/data.d.ts} +1 -1
- package/dist/types/src/testing/data.d.ts.map +1 -0
- package/dist/types/src/testing/index.d.ts +1 -1
- package/dist/types/src/testing/index.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +140 -138
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/AgentIdentity.d.ts +27 -0
- package/dist/types/src/types/AgentIdentity.d.ts.map +1 -0
- package/dist/types/src/types/Settings.d.ts +5 -0
- package/dist/types/src/types/Settings.d.ts.map +1 -0
- package/dist/types/src/types/ThreadCapabilities.d.ts +34 -0
- package/dist/types/src/types/ThreadCapabilities.d.ts.map +1 -0
- package/dist/types/src/types/ThreadOperation.d.ts +2409 -0
- package/dist/types/src/types/ThreadOperation.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +4 -1
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +0 -366
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +6 -3
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +156 -89
- package/src/ThreadPlugin.node.ts +39 -0
- package/src/ThreadPlugin.test.ts +37 -0
- package/src/ThreadPlugin.tsx +57 -131
- package/src/ThreadPlugin.workerd.ts +20 -0
- package/src/blueprints/index.ts +5 -0
- package/src/blueprints/thread-blueprint.ts +36 -0
- package/src/capabilities/agent-runner.ts +291 -0
- package/src/capabilities/app-graph-builder.ts +123 -174
- package/src/capabilities/blueprint-definition.ts +11 -30
- package/src/capabilities/create-object.ts +30 -0
- package/src/capabilities/index.ts +16 -12
- package/src/capabilities/markdown.ts +53 -38
- package/src/capabilities/operation-handler.ts +16 -0
- package/src/capabilities/react-surface.tsx +64 -80
- package/src/capabilities/settings.ts +26 -12
- package/src/capabilities/state.ts +14 -18
- package/src/capabilities/undo-mappings.ts +46 -0
- package/src/components/Chat/Chat.tsx +259 -0
- package/src/components/Chat/index.ts +5 -0
- package/src/components/CommentsPanel/CommentsPanel.stories.tsx +94 -0
- package/src/components/{CommentsContainer.tsx → CommentsPanel/CommentsPanel.tsx} +16 -15
- package/src/components/{CommentsThreadContainer.tsx → CommentsPanel/CommentsThread.tsx} +42 -39
- package/src/components/CommentsPanel/index.ts +6 -0
- package/src/components/{MessageContainer.tsx → MessagePanel/MessagePanel.tsx} +81 -45
- package/src/components/MessagePanel/index.ts +5 -0
- package/src/components/ThreadSettings/ThreadSettings.stories.tsx +32 -0
- package/src/components/ThreadSettings/ThreadSettings.tsx +19 -0
- package/src/components/ThreadSettings/index.ts +5 -0
- package/src/components/index.ts +5 -12
- package/src/containers/ChannelArticle/ChannelArticle.stories.tsx +105 -0
- package/src/containers/ChannelArticle/ChannelArticle.tsx +42 -0
- package/src/containers/ChannelArticle/index.ts +5 -0
- package/src/containers/ChannelChat/ChannelChat.tsx +75 -0
- package/src/containers/ChannelChat/index.ts +8 -0
- package/src/containers/CommentsCompanion/CommentsCompanion.stories.tsx +339 -0
- package/src/containers/CommentsCompanion/CommentsCompanion.tsx +216 -0
- package/src/containers/CommentsCompanion/index.ts +5 -0
- package/src/{components/Chat.stories.tsx → containers/ThreadContainer/ThreadContainer.stories.tsx} +26 -25
- package/src/containers/ThreadContainer/ThreadContainer.tsx +75 -0
- package/src/containers/ThreadContainer/index.ts +8 -0
- package/src/containers/index.ts +10 -0
- package/src/{components/command-extension.ts → extensions/command.ts} +3 -3
- package/src/extensions/index.ts +1 -0
- package/src/extensions/threads.ts +80 -44
- package/src/hooks/analytics.ts +24 -20
- package/src/hooks/index.ts +0 -5
- package/src/index.ts +4 -4
- package/src/meta.ts +33 -8
- package/src/operations/add-message.ts +94 -0
- package/src/operations/append-channel-message.ts +37 -0
- package/src/operations/create-channel.ts +20 -0
- package/src/operations/create-proposals.ts +49 -0
- package/src/operations/create.ts +63 -0
- package/src/operations/delete-message.ts +53 -0
- package/src/operations/delete.ts +63 -0
- package/src/operations/index.ts +22 -0
- package/src/operations/on-create-space.ts +27 -0
- package/src/operations/respond-to-thread.ts +32 -0
- package/src/operations/restore-message.ts +38 -0
- package/src/operations/restore.ts +38 -0
- package/src/operations/select.ts +24 -0
- package/src/operations/set-agent-config.ts +24 -0
- package/src/operations/toggle-resolved.ts +41 -0
- package/src/plugin.ts +11 -0
- package/src/should-trigger-agent.test.ts +72 -0
- package/src/should-trigger-agent.ts +50 -0
- package/src/{components/testing.ts → testing/data.ts} +7 -7
- package/src/testing/index.ts +1 -1
- package/src/translations.ts +73 -74
- package/src/types/AgentIdentity.ts +35 -0
- package/src/types/Settings.ts +10 -0
- package/src/types/ThreadCapabilities.ts +46 -0
- package/src/types/ThreadOperation.ts +217 -0
- package/src/types/index.ts +5 -1
- package/src/types/types.ts +2 -98
- package/src/util.ts +37 -5
- package/dist/lib/browser/ChannelContainer-NDIH62Q4.mjs +0 -17
- package/dist/lib/browser/ChatContainer-6FVFME3R.mjs +0 -16
- package/dist/lib/browser/app-graph-builder-URVQHGMR.mjs +0 -171
- package/dist/lib/browser/app-graph-builder-URVQHGMR.mjs.map +0 -7
- package/dist/lib/browser/blueprint-definition-TQ4JFMZZ.mjs +0 -101
- package/dist/lib/browser/blueprint-definition-TQ4JFMZZ.mjs.map +0 -7
- package/dist/lib/browser/call-manager-4YFT4XA6.mjs +0 -25
- package/dist/lib/browser/call-manager-4YFT4XA6.mjs.map +0 -7
- package/dist/lib/browser/chunk-6LWKNZUV.mjs +0 -377
- package/dist/lib/browser/chunk-6LWKNZUV.mjs.map +0 -7
- package/dist/lib/browser/chunk-CFC7LEPD.mjs +0 -18
- package/dist/lib/browser/chunk-CFC7LEPD.mjs.map +0 -7
- package/dist/lib/browser/chunk-CP7E2HRE.mjs.map +0 -7
- package/dist/lib/browser/chunk-F36NHPJG.mjs +0 -989
- package/dist/lib/browser/chunk-F36NHPJG.mjs.map +0 -7
- package/dist/lib/browser/chunk-HKI7FUMB.mjs +0 -611
- package/dist/lib/browser/chunk-HKI7FUMB.mjs.map +0 -7
- package/dist/lib/browser/chunk-ISCHODBV.mjs +0 -106
- package/dist/lib/browser/chunk-ISCHODBV.mjs.map +0 -7
- package/dist/lib/browser/chunk-JDFDDUTH.mjs +0 -23
- package/dist/lib/browser/chunk-JDFDDUTH.mjs.map +0 -7
- package/dist/lib/browser/chunk-KOBXMDCI.mjs +0 -182
- package/dist/lib/browser/chunk-KOBXMDCI.mjs.map +0 -7
- package/dist/lib/browser/chunk-QM34EZQK.mjs +0 -20
- package/dist/lib/browser/chunk-QM34EZQK.mjs.map +0 -7
- package/dist/lib/browser/chunk-R5UOPOO7.mjs +0 -142
- package/dist/lib/browser/chunk-R5UOPOO7.mjs.map +0 -7
- package/dist/lib/browser/chunk-ZCW3NSDZ.mjs +0 -1793
- package/dist/lib/browser/chunk-ZCW3NSDZ.mjs.map +0 -7
- package/dist/lib/browser/index.mjs +0 -312
- package/dist/lib/browser/index.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-S3F7DVFM.mjs +0 -361
- package/dist/lib/browser/intent-resolver-S3F7DVFM.mjs.map +0 -7
- package/dist/lib/browser/markdown-454GFKEZ.mjs +0 -171
- package/dist/lib/browser/markdown-454GFKEZ.mjs.map +0 -7
- package/dist/lib/browser/meta.json +0 -1
- package/dist/lib/browser/react-root-ZB5ZA4I6.mjs +0 -29
- package/dist/lib/browser/react-root-ZB5ZA4I6.mjs.map +0 -7
- package/dist/lib/browser/react-surface-MBLTXSOC.mjs +0 -111
- package/dist/lib/browser/react-surface-MBLTXSOC.mjs.map +0 -7
- package/dist/lib/browser/settings-JN2HHORY.mjs +0 -23
- package/dist/lib/browser/settings-JN2HHORY.mjs.map +0 -7
- package/dist/lib/browser/state-UYPLBGZJ.mjs +0 -35
- package/dist/lib/browser/state-UYPLBGZJ.mjs.map +0 -7
- package/dist/lib/browser/types/index.mjs +0 -13
- package/dist/lib/node-esm/ChannelContainer-NGSDMNEE.mjs +0 -18
- package/dist/lib/node-esm/ChatContainer-KWNON7EN.mjs +0 -17
- package/dist/lib/node-esm/app-graph-builder-2IH5RPR7.mjs +0 -172
- package/dist/lib/node-esm/app-graph-builder-2IH5RPR7.mjs.map +0 -7
- package/dist/lib/node-esm/blueprint-definition-TSX5HHW7.mjs +0 -102
- package/dist/lib/node-esm/blueprint-definition-TSX5HHW7.mjs.map +0 -7
- package/dist/lib/node-esm/call-manager-UMUXEYH5.mjs +0 -26
- package/dist/lib/node-esm/call-manager-UMUXEYH5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-2AEIN5MI.mjs +0 -22
- package/dist/lib/node-esm/chunk-2AEIN5MI.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-3VRYXHKX.mjs +0 -25
- package/dist/lib/node-esm/chunk-3VRYXHKX.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-7KZWZS2U.mjs +0 -1794
- package/dist/lib/node-esm/chunk-7KZWZS2U.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-ABUFOZVX.mjs +0 -33
- package/dist/lib/node-esm/chunk-ABUFOZVX.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
- package/dist/lib/node-esm/chunk-MEIWWPR2.mjs +0 -143
- package/dist/lib/node-esm/chunk-MEIWWPR2.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-MM6HOX5W.mjs +0 -612
- package/dist/lib/node-esm/chunk-MM6HOX5W.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-PZH2EDU5.mjs +0 -183
- package/dist/lib/node-esm/chunk-PZH2EDU5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-RT6NRL2I.mjs +0 -19
- package/dist/lib/node-esm/chunk-RT6NRL2I.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-VBI32FGI.mjs +0 -108
- package/dist/lib/node-esm/chunk-VBI32FGI.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-Y3F2SGNH.mjs +0 -990
- package/dist/lib/node-esm/chunk-Y3F2SGNH.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-Z4GUSLWL.mjs +0 -378
- package/dist/lib/node-esm/chunk-Z4GUSLWL.mjs.map +0 -7
- package/dist/lib/node-esm/index.mjs +0 -313
- package/dist/lib/node-esm/index.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-UES35EMJ.mjs +0 -362
- package/dist/lib/node-esm/intent-resolver-UES35EMJ.mjs.map +0 -7
- package/dist/lib/node-esm/markdown-7JUG6J7B.mjs +0 -172
- package/dist/lib/node-esm/markdown-7JUG6J7B.mjs.map +0 -7
- package/dist/lib/node-esm/meta.json +0 -1
- package/dist/lib/node-esm/react-root-3XXULWUN.mjs +0 -30
- package/dist/lib/node-esm/react-root-3XXULWUN.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-DCF4DD7B.mjs +0 -112
- package/dist/lib/node-esm/react-surface-DCF4DD7B.mjs.map +0 -7
- package/dist/lib/node-esm/settings-VSPM3BIM.mjs +0 -24
- package/dist/lib/node-esm/settings-VSPM3BIM.mjs.map +0 -7
- package/dist/lib/node-esm/state-XNWOLBNE.mjs +0 -36
- package/dist/lib/node-esm/state-XNWOLBNE.mjs.map +0 -7
- package/dist/lib/node-esm/types/index.mjs +0 -14
- package/dist/types/src/calls/call-manager.d.ts +0 -77
- package/dist/types/src/calls/call-manager.d.ts.map +0 -1
- package/dist/types/src/calls/call-swarm-synchronizer.d.ts +0 -66
- package/dist/types/src/calls/call-swarm-synchronizer.d.ts.map +0 -1
- package/dist/types/src/calls/index.d.ts +0 -7
- package/dist/types/src/calls/index.d.ts.map +0 -1
- package/dist/types/src/calls/media-manager.d.ts +0 -60
- package/dist/types/src/calls/media-manager.d.ts.map +0 -1
- package/dist/types/src/calls/speaking-monitor.d.ts +0 -24
- package/dist/types/src/calls/speaking-monitor.d.ts.map +0 -1
- package/dist/types/src/calls/types.d.ts +0 -45
- package/dist/types/src/calls/types.d.ts.map +0 -1
- package/dist/types/src/calls/util/audio.d.ts +0 -6
- package/dist/types/src/calls/util/audio.d.ts.map +0 -1
- package/dist/types/src/calls/util/calls-service.d.ts +0 -77
- package/dist/types/src/calls/util/calls-service.d.ts.map +0 -1
- package/dist/types/src/calls/util/history-cache.d.ts +0 -11
- package/dist/types/src/calls/util/history-cache.d.ts.map +0 -1
- package/dist/types/src/calls/util/index.d.ts +0 -5
- package/dist/types/src/calls/util/index.d.ts.map +0 -1
- package/dist/types/src/calls/util/media.d.ts +0 -6
- package/dist/types/src/calls/util/media.d.ts.map +0 -1
- package/dist/types/src/calls/util/stub-media-streams.d.ts +0 -18
- package/dist/types/src/calls/util/stub-media-streams.d.ts.map +0 -1
- package/dist/types/src/calls/util/task-scheduling.d.ts +0 -17
- package/dist/types/src/calls/util/task-scheduling.d.ts.map +0 -1
- package/dist/types/src/calls-service.stories.d.ts +0 -23
- package/dist/types/src/calls-service.stories.d.ts.map +0 -1
- package/dist/types/src/capabilities/call-manager.d.ts +0 -5
- package/dist/types/src/capabilities/call-manager.d.ts.map +0 -1
- package/dist/types/src/capabilities/capabilities.d.ts +0 -27
- package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
- package/dist/types/src/capabilities/react-root.d.ts +0 -7
- package/dist/types/src/capabilities/react-root.d.ts.map +0 -1
- package/dist/types/src/components/Call/Call.d.ts +0 -17
- package/dist/types/src/components/Call/Call.d.ts.map +0 -1
- package/dist/types/src/components/Call/Toolbar.d.ts +0 -16
- package/dist/types/src/components/Call/Toolbar.d.ts.map +0 -1
- package/dist/types/src/components/Call/index.d.ts +0 -3
- package/dist/types/src/components/Call/index.d.ts.map +0 -1
- package/dist/types/src/components/CallDebugPanel.d.ts +0 -15
- package/dist/types/src/components/CallDebugPanel.d.ts.map +0 -1
- package/dist/types/src/components/CallSidebar.d.ts +0 -4
- package/dist/types/src/components/CallSidebar.d.ts.map +0 -1
- package/dist/types/src/components/ChannelContainer.d.ts +0 -14
- package/dist/types/src/components/ChannelContainer.d.ts.map +0 -1
- package/dist/types/src/components/ChannelContainer.stories.d.ts +0 -160
- package/dist/types/src/components/ChannelContainer.stories.d.ts.map +0 -1
- package/dist/types/src/components/Chat.stories.d.ts +0 -160
- package/dist/types/src/components/Chat.stories.d.ts.map +0 -1
- package/dist/types/src/components/ChatContainer.d.ts +0 -18
- package/dist/types/src/components/ChatContainer.d.ts.map +0 -1
- package/dist/types/src/components/Comments.stories.d.ts +0 -158
- package/dist/types/src/components/Comments.stories.d.ts.map +0 -1
- package/dist/types/src/components/CommentsContainer.d.ts +0 -13
- package/dist/types/src/components/CommentsContainer.d.ts.map +0 -1
- package/dist/types/src/components/CommentsThreadContainer.d.ts.map +0 -1
- package/dist/types/src/components/Lobby/Lobby.d.ts +0 -15
- package/dist/types/src/components/Lobby/Lobby.d.ts.map +0 -1
- package/dist/types/src/components/Lobby/index.d.ts +0 -2
- package/dist/types/src/components/Lobby/index.d.ts.map +0 -1
- package/dist/types/src/components/Media/AudioStream.d.ts +0 -6
- package/dist/types/src/components/Media/AudioStream.d.ts.map +0 -1
- package/dist/types/src/components/Media/VideoObject.d.ts +0 -15
- package/dist/types/src/components/Media/VideoObject.d.ts.map +0 -1
- package/dist/types/src/components/Media/VideoObject.stories.d.ts +0 -22
- package/dist/types/src/components/Media/VideoObject.stories.d.ts.map +0 -1
- package/dist/types/src/components/Media/index.d.ts +0 -3
- package/dist/types/src/components/Media/index.d.ts.map +0 -1
- package/dist/types/src/components/MessageContainer.d.ts +0 -14
- package/dist/types/src/components/MessageContainer.d.ts.map +0 -1
- package/dist/types/src/components/Participant/Participant.d.ts +0 -6
- package/dist/types/src/components/Participant/Participant.d.ts.map +0 -1
- package/dist/types/src/components/Participant/ParticipantGrid.d.ts +0 -11
- package/dist/types/src/components/Participant/ParticipantGrid.d.ts.map +0 -1
- package/dist/types/src/components/Participant/index.d.ts +0 -3
- package/dist/types/src/components/Participant/index.d.ts.map +0 -1
- package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.d.ts +0 -12
- package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.d.ts.map +0 -1
- package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts +0 -162
- package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts.map +0 -1
- package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.d.ts +0 -32
- package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.d.ts.map +0 -1
- package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts +0 -176
- package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts.map +0 -1
- package/dist/types/src/components/ResponsiveGrid/ResponsiveGridItem.d.ts +0 -21
- package/dist/types/src/components/ResponsiveGrid/ResponsiveGridItem.d.ts.map +0 -1
- package/dist/types/src/components/ResponsiveGrid/index.d.ts +0 -4
- package/dist/types/src/components/ResponsiveGrid/index.d.ts.map +0 -1
- package/dist/types/src/components/ThreadCompanion.d.ts +0 -5
- package/dist/types/src/components/ThreadCompanion.d.ts.map +0 -1
- package/dist/types/src/components/ThreadSettings.d.ts +0 -6
- package/dist/types/src/components/ThreadSettings.d.ts.map +0 -1
- package/dist/types/src/components/command-extension.d.ts.map +0 -1
- package/dist/types/src/components/testing.d.ts.map +0 -1
- package/dist/types/src/functions/create-proposals.d.ts +0 -6
- package/dist/types/src/functions/create-proposals.d.ts.map +0 -1
- package/dist/types/src/functions/index.d.ts +0 -2
- package/dist/types/src/functions/index.d.ts.map +0 -1
- package/dist/types/src/hooks/useBlackCanvasStreamTrack.d.ts +0 -2
- package/dist/types/src/hooks/useBlackCanvasStreamTrack.d.ts.map +0 -1
- package/dist/types/src/hooks/useDebugMode.d.ts +0 -2
- package/dist/types/src/hooks/useDebugMode.d.ts.map +0 -1
- package/dist/types/src/hooks/useInaudibleAudioStreamTrack.d.ts +0 -2
- package/dist/types/src/hooks/useInaudibleAudioStreamTrack.d.ts.map +0 -1
- package/dist/types/src/hooks/useVideoStreamTrack.d.ts +0 -3
- package/dist/types/src/hooks/useVideoStreamTrack.d.ts.map +0 -1
- package/dist/types/src/testing/stories.d.ts +0 -2
- package/dist/types/src/testing/stories.d.ts.map +0 -1
- package/dist/types/src/types/Channel.d.ts +0 -16
- package/dist/types/src/types/Channel.d.ts.map +0 -1
- package/src/calls/call-manager.ts +0 -246
- package/src/calls/call-swarm-synchronizer.ts +0 -350
- package/src/calls/index.ts +0 -10
- package/src/calls/media-manager.ts +0 -378
- package/src/calls/speaking-monitor.ts +0 -85
- package/src/calls/types.ts +0 -74
- package/src/calls/util/audio.ts +0 -58
- package/src/calls/util/calls-service.ts +0 -581
- package/src/calls/util/history-cache.ts +0 -27
- package/src/calls/util/index.ts +0 -8
- package/src/calls/util/media.ts +0 -52
- package/src/calls/util/stub-media-streams.ts +0 -127
- package/src/calls/util/task-scheduling.ts +0 -92
- package/src/calls-service.stories.tsx +0 -229
- package/src/capabilities/call-manager.ts +0 -20
- package/src/capabilities/capabilities.ts +0 -33
- package/src/capabilities/intent-resolver.ts +0 -311
- package/src/capabilities/react-root.tsx +0 -17
- package/src/components/Call/Call.tsx +0 -89
- package/src/components/Call/Toolbar.tsx +0 -182
- package/src/components/Call/index.ts +0 -6
- package/src/components/CallDebugPanel.tsx +0 -172
- package/src/components/CallSidebar.tsx +0 -18
- package/src/components/ChannelContainer.stories.tsx +0 -59
- package/src/components/ChannelContainer.tsx +0 -205
- package/src/components/ChatContainer.tsx +0 -153
- package/src/components/Comments.stories.tsx +0 -90
- package/src/components/Lobby/Lobby.tsx +0 -119
- package/src/components/Lobby/index.ts +0 -5
- package/src/components/Media/AudioStream.tsx +0 -67
- package/src/components/Media/VideoObject.stories.tsx +0 -60
- package/src/components/Media/VideoObject.tsx +0 -58
- package/src/components/Media/index.ts +0 -6
- package/src/components/Participant/Participant.tsx +0 -63
- package/src/components/Participant/ParticipantGrid.tsx +0 -89
- package/src/components/Participant/index.ts +0 -6
- package/src/components/ResponsiveGrid/ResponsiveContainer.stories.tsx +0 -54
- package/src/components/ResponsiveGrid/ResponsiveContainer.tsx +0 -31
- package/src/components/ResponsiveGrid/ResponsiveGrid.stories.tsx +0 -158
- package/src/components/ResponsiveGrid/ResponsiveGrid.tsx +0 -341
- package/src/components/ResponsiveGrid/ResponsiveGridItem.tsx +0 -134
- package/src/components/ResponsiveGrid/index.ts +0 -7
- package/src/components/ThreadCompanion.tsx +0 -188
- package/src/components/ThreadSettings.tsx +0 -16
- package/src/functions/create-proposals.ts +0 -56
- package/src/functions/index.ts +0 -5
- package/src/hooks/useBlackCanvasStreamTrack.tsx +0 -27
- package/src/hooks/useDebugMode.ts +0 -25
- package/src/hooks/useInaudibleAudioStreamTrack.tsx +0 -27
- package/src/hooks/useVideoStreamTrack.tsx +0 -36
- package/src/testing/stories.ts +0 -51
- package/src/types/Channel.ts +0 -26
- package/src/typings/peermetrics-webrtc-stats.d.ts +0 -46
- package/src/typings.d.ts +0 -8
- /package/dist/lib/{browser/ChannelContainer-NDIH62Q4.mjs.map → neutral/ChannelChat-LZEDFJVD.mjs.map} +0 -0
- /package/dist/lib/{browser/types → neutral/blueprints}/index.mjs.map +0 -0
- /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs +0 -0
- /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs.map +0 -0
- /package/dist/lib/{node-esm/types → neutral/hooks}/index.mjs.map +0 -0
- /package/dist/lib/{browser/ChatContainer-6FVFME3R.mjs.map → neutral/index.mjs.map} +0 -0
- /package/dist/lib/{node-esm/ChannelContainer-NGSDMNEE.mjs.map → neutral/meta.mjs.map} +0 -0
- /package/dist/lib/{node-esm/ChatContainer-KWNON7EN.mjs.map → neutral/operations/index.mjs.map} +0 -0
- /package/dist/lib/{node-esm/chunk-HSLMI22Q.mjs.map → neutral/types/index.mjs.map} +0 -0
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__export
|
|
3
|
+
} from "./chunk-J5LGTIGS.mjs";
|
|
4
|
+
|
|
5
|
+
// src/types/AgentIdentity.ts
|
|
6
|
+
import { Capability } from "@dxos/app-framework";
|
|
7
|
+
import { meta } from "#meta";
|
|
8
|
+
var AgentIdentity = Capability.make(`${meta.id}.capability.agent-identity`);
|
|
9
|
+
var DEFAULT_AGENT_IDENTITY = {
|
|
10
|
+
name: "Kai"
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
// src/types/Settings.ts
|
|
14
|
+
var Settings_exports = {};
|
|
15
|
+
__export(Settings_exports, {
|
|
16
|
+
Settings: () => Settings
|
|
17
|
+
});
|
|
18
|
+
import * as Schema from "effect/Schema";
|
|
19
|
+
var Settings = Schema.mutable(Schema.Struct({}));
|
|
20
|
+
|
|
21
|
+
// src/types/ThreadCapabilities.ts
|
|
22
|
+
var ThreadCapabilities_exports = {};
|
|
23
|
+
__export(ThreadCapabilities_exports, {
|
|
24
|
+
AgentRunner: () => AgentRunner,
|
|
25
|
+
CommentConfig: () => CommentConfig,
|
|
26
|
+
Settings: () => Settings2,
|
|
27
|
+
State: () => State,
|
|
28
|
+
ViewState: () => ViewState
|
|
29
|
+
});
|
|
30
|
+
import { Capability as Capability2 } from "@dxos/app-framework";
|
|
31
|
+
import { AppCapabilities } from "@dxos/app-toolkit";
|
|
32
|
+
import { meta as meta2 } from "#meta";
|
|
33
|
+
var Settings2 = Capability2.make(`${meta2.id}.capability.settings`);
|
|
34
|
+
var CommentConfig = AppCapabilities.CommentConfig;
|
|
35
|
+
var State = Capability2.make(`${meta2.id}.capability.state`);
|
|
36
|
+
var ViewState = Capability2.make(`${meta2.id}.capability.view-state`);
|
|
37
|
+
var AgentRunner = Capability2.make(`${meta2.id}.capability.agent-runner`);
|
|
38
|
+
|
|
39
|
+
// src/types/ThreadOperation.ts
|
|
40
|
+
var ThreadOperation_exports = {};
|
|
41
|
+
__export(ThreadOperation_exports, {
|
|
42
|
+
AddMessage: () => AddMessage,
|
|
43
|
+
AppendChannelMessage: () => AppendChannelMessage,
|
|
44
|
+
Create: () => Create,
|
|
45
|
+
CreateChannel: () => CreateChannel,
|
|
46
|
+
CreateProposals: () => CreateProposals,
|
|
47
|
+
Delete: () => Delete,
|
|
48
|
+
DeleteMessage: () => DeleteMessage,
|
|
49
|
+
DeleteMessageOutput: () => DeleteMessageOutput,
|
|
50
|
+
DeleteOutput: () => DeleteOutput,
|
|
51
|
+
OnCreateSpace: () => OnCreateSpace,
|
|
52
|
+
RespondToThread: () => RespondToThread,
|
|
53
|
+
Restore: () => Restore,
|
|
54
|
+
RestoreMessage: () => RestoreMessage,
|
|
55
|
+
Select: () => Select,
|
|
56
|
+
SetAgentConfig: () => SetAgentConfig,
|
|
57
|
+
ToggleResolved: () => ToggleResolved
|
|
58
|
+
});
|
|
59
|
+
import * as Schema2 from "effect/Schema";
|
|
60
|
+
import { Capability as Capability3 } from "@dxos/app-framework";
|
|
61
|
+
import { SpaceSchema } from "@dxos/client-protocol";
|
|
62
|
+
import { Operation } from "@dxos/compute";
|
|
63
|
+
import { Collection, Database, Key, Obj, Ref, Type } from "@dxos/echo";
|
|
64
|
+
import { Markdown } from "@dxos/plugin-markdown";
|
|
65
|
+
import { Actor, AnchoredTo, Channel, Message, Thread } from "@dxos/types";
|
|
66
|
+
import { meta as meta3 } from "#meta";
|
|
67
|
+
var THREAD_OPERATION = `${meta3.id}.operation`;
|
|
68
|
+
var OnCreateSpace = Operation.make({
|
|
69
|
+
meta: {
|
|
70
|
+
key: `${THREAD_OPERATION}.on-create-space`,
|
|
71
|
+
name: "On Create Space",
|
|
72
|
+
icon: "ph--chat-text--regular"
|
|
73
|
+
},
|
|
74
|
+
services: [
|
|
75
|
+
Capability3.Service
|
|
76
|
+
],
|
|
77
|
+
input: Schema2.Struct({
|
|
78
|
+
space: SpaceSchema,
|
|
79
|
+
rootCollection: Type.getSchema(Collection.Collection),
|
|
80
|
+
isDefault: Schema2.Boolean.pipe(Schema2.optional)
|
|
81
|
+
}),
|
|
82
|
+
output: Schema2.Void
|
|
83
|
+
});
|
|
84
|
+
var CreateChannel = Operation.make({
|
|
85
|
+
meta: {
|
|
86
|
+
key: `${THREAD_OPERATION}.create-channel`,
|
|
87
|
+
name: "Create Channel",
|
|
88
|
+
icon: "ph--hash--regular"
|
|
89
|
+
},
|
|
90
|
+
services: [
|
|
91
|
+
Capability3.Service
|
|
92
|
+
],
|
|
93
|
+
input: Schema2.Struct({
|
|
94
|
+
spaceId: Key.SpaceId,
|
|
95
|
+
name: Schema2.optional(Schema2.String)
|
|
96
|
+
}),
|
|
97
|
+
output: Schema2.Struct({
|
|
98
|
+
object: Type.getSchema(Channel.Channel)
|
|
99
|
+
})
|
|
100
|
+
});
|
|
101
|
+
var AppendChannelMessage = Operation.make({
|
|
102
|
+
meta: {
|
|
103
|
+
key: `${THREAD_OPERATION}.append-channel-message`,
|
|
104
|
+
name: "Append Channel Message",
|
|
105
|
+
icon: "ph--chat-text--regular"
|
|
106
|
+
},
|
|
107
|
+
// Note: Feed.FeedService is provided inside the handler from space.queues, not at the
|
|
108
|
+
// operation level — the runtime can't fulfill it without a space context.
|
|
109
|
+
services: [
|
|
110
|
+
Capability3.Service
|
|
111
|
+
],
|
|
112
|
+
input: Schema2.Struct({
|
|
113
|
+
channel: Type.getSchema(Channel.Channel),
|
|
114
|
+
sender: Actor.Actor,
|
|
115
|
+
text: Schema2.String
|
|
116
|
+
}),
|
|
117
|
+
output: Schema2.Void
|
|
118
|
+
});
|
|
119
|
+
var Create = Operation.make({
|
|
120
|
+
meta: {
|
|
121
|
+
key: `${THREAD_OPERATION}.create`,
|
|
122
|
+
name: "Create Thread",
|
|
123
|
+
icon: "ph--chat-text--regular"
|
|
124
|
+
},
|
|
125
|
+
services: [
|
|
126
|
+
Capability3.Service
|
|
127
|
+
],
|
|
128
|
+
input: Schema2.Struct({
|
|
129
|
+
name: Schema2.optional(Schema2.String),
|
|
130
|
+
anchor: Schema2.optional(Schema2.String),
|
|
131
|
+
subject: Obj.Unknown
|
|
132
|
+
}),
|
|
133
|
+
output: Schema2.Void
|
|
134
|
+
});
|
|
135
|
+
var DeleteOutput = Schema2.Struct({
|
|
136
|
+
thread: Type.getSchema(Thread.Thread).annotations({
|
|
137
|
+
description: "The deleted thread."
|
|
138
|
+
}),
|
|
139
|
+
anchor: Type.getSchema(AnchoredTo.AnchoredTo).annotations({
|
|
140
|
+
description: "The deleted anchor."
|
|
141
|
+
})
|
|
142
|
+
}).pipe(Schema2.partial);
|
|
143
|
+
var Delete = Operation.make({
|
|
144
|
+
meta: {
|
|
145
|
+
key: `${THREAD_OPERATION}.delete`,
|
|
146
|
+
name: "Delete Thread",
|
|
147
|
+
icon: "ph--trash--regular"
|
|
148
|
+
},
|
|
149
|
+
services: [
|
|
150
|
+
Capability3.Service
|
|
151
|
+
],
|
|
152
|
+
input: Schema2.Struct({
|
|
153
|
+
anchor: Type.getSchema(AnchoredTo.AnchoredTo),
|
|
154
|
+
subject: Obj.Unknown,
|
|
155
|
+
thread: Schema2.optional(Type.getSchema(Thread.Thread))
|
|
156
|
+
}),
|
|
157
|
+
output: DeleteOutput
|
|
158
|
+
});
|
|
159
|
+
var Select = Operation.make({
|
|
160
|
+
meta: {
|
|
161
|
+
key: `${THREAD_OPERATION}.select`,
|
|
162
|
+
name: "Select Thread",
|
|
163
|
+
icon: "ph--check--regular"
|
|
164
|
+
},
|
|
165
|
+
services: [
|
|
166
|
+
Capability3.Service
|
|
167
|
+
],
|
|
168
|
+
input: Schema2.Struct({
|
|
169
|
+
current: Schema2.String
|
|
170
|
+
}),
|
|
171
|
+
output: Schema2.Void
|
|
172
|
+
});
|
|
173
|
+
var ToggleResolved = Operation.make({
|
|
174
|
+
meta: {
|
|
175
|
+
key: `${THREAD_OPERATION}.toggle-resolved`,
|
|
176
|
+
name: "Toggle Resolved",
|
|
177
|
+
icon: "ph--check-circle--regular"
|
|
178
|
+
},
|
|
179
|
+
services: [
|
|
180
|
+
Capability3.Service
|
|
181
|
+
],
|
|
182
|
+
input: Schema2.Struct({
|
|
183
|
+
thread: Type.getSchema(Thread.Thread)
|
|
184
|
+
}),
|
|
185
|
+
output: Schema2.Void
|
|
186
|
+
});
|
|
187
|
+
var AddMessage = Operation.make({
|
|
188
|
+
meta: {
|
|
189
|
+
key: `${THREAD_OPERATION}.add-message`,
|
|
190
|
+
name: "Add Message",
|
|
191
|
+
icon: "ph--chat-text--regular"
|
|
192
|
+
},
|
|
193
|
+
services: [
|
|
194
|
+
Capability3.Service
|
|
195
|
+
],
|
|
196
|
+
input: Schema2.Struct({
|
|
197
|
+
subject: Obj.Unknown,
|
|
198
|
+
anchor: Type.getSchema(AnchoredTo.AnchoredTo),
|
|
199
|
+
sender: Actor.Actor,
|
|
200
|
+
text: Schema2.String
|
|
201
|
+
}),
|
|
202
|
+
output: Schema2.Void
|
|
203
|
+
});
|
|
204
|
+
var DeleteMessageOutput = Schema2.partial(Schema2.Struct({
|
|
205
|
+
message: Type.getSchema(Message.Message).annotations({
|
|
206
|
+
description: "The deleted message."
|
|
207
|
+
}),
|
|
208
|
+
messageIndex: Schema2.Number.annotations({
|
|
209
|
+
description: "The index the message was at."
|
|
210
|
+
})
|
|
211
|
+
}));
|
|
212
|
+
var DeleteMessage = Operation.make({
|
|
213
|
+
meta: {
|
|
214
|
+
key: `${THREAD_OPERATION}.delete-message`,
|
|
215
|
+
name: "Delete Message",
|
|
216
|
+
icon: "ph--trash--regular"
|
|
217
|
+
},
|
|
218
|
+
services: [
|
|
219
|
+
Capability3.Service
|
|
220
|
+
],
|
|
221
|
+
input: Schema2.Struct({
|
|
222
|
+
anchor: Type.getSchema(AnchoredTo.AnchoredTo),
|
|
223
|
+
subject: Obj.Unknown,
|
|
224
|
+
messageId: Schema2.String
|
|
225
|
+
}),
|
|
226
|
+
output: DeleteMessageOutput
|
|
227
|
+
});
|
|
228
|
+
var Restore = Operation.make({
|
|
229
|
+
meta: {
|
|
230
|
+
key: `${THREAD_OPERATION}.restore`,
|
|
231
|
+
name: "Restore Thread",
|
|
232
|
+
icon: "ph--clock-counter-clockwise--regular"
|
|
233
|
+
},
|
|
234
|
+
services: [
|
|
235
|
+
Capability3.Service
|
|
236
|
+
],
|
|
237
|
+
input: Schema2.Struct({
|
|
238
|
+
thread: Type.getSchema(Thread.Thread).annotations({
|
|
239
|
+
description: "The thread to restore."
|
|
240
|
+
}),
|
|
241
|
+
anchor: Type.getSchema(AnchoredTo.AnchoredTo).annotations({
|
|
242
|
+
description: "The anchor relation to restore."
|
|
243
|
+
})
|
|
244
|
+
}),
|
|
245
|
+
output: Schema2.Void
|
|
246
|
+
});
|
|
247
|
+
var RestoreMessage = Operation.make({
|
|
248
|
+
meta: {
|
|
249
|
+
key: `${THREAD_OPERATION}.restore-message`,
|
|
250
|
+
name: "Restore Message",
|
|
251
|
+
icon: "ph--clock-counter-clockwise--regular"
|
|
252
|
+
},
|
|
253
|
+
services: [
|
|
254
|
+
Capability3.Service
|
|
255
|
+
],
|
|
256
|
+
input: Schema2.Struct({
|
|
257
|
+
anchor: Type.getSchema(AnchoredTo.AnchoredTo).annotations({
|
|
258
|
+
description: "The anchor of the thread."
|
|
259
|
+
}),
|
|
260
|
+
message: Type.getSchema(Message.Message).annotations({
|
|
261
|
+
description: "The message to restore."
|
|
262
|
+
}),
|
|
263
|
+
messageIndex: Schema2.Number.annotations({
|
|
264
|
+
description: "The index to restore the message at."
|
|
265
|
+
})
|
|
266
|
+
}),
|
|
267
|
+
output: Schema2.Void
|
|
268
|
+
});
|
|
269
|
+
var RespondToThread = Operation.make({
|
|
270
|
+
meta: {
|
|
271
|
+
key: `${THREAD_OPERATION}.respond-to-thread`,
|
|
272
|
+
name: "Respond to Thread",
|
|
273
|
+
description: "Runs one comment-thread agent turn against the given thread + subject."
|
|
274
|
+
},
|
|
275
|
+
services: [
|
|
276
|
+
Capability3.Service
|
|
277
|
+
],
|
|
278
|
+
input: Schema2.Struct({
|
|
279
|
+
thread: Ref.Ref(Thread.Thread).annotations({
|
|
280
|
+
description: "The thread to respond to."
|
|
281
|
+
}),
|
|
282
|
+
subject: Ref.Ref(Obj.Unknown).annotations({
|
|
283
|
+
description: "The object the thread is anchored to."
|
|
284
|
+
})
|
|
285
|
+
}),
|
|
286
|
+
output: Schema2.Void
|
|
287
|
+
});
|
|
288
|
+
var SetAgentConfig = Operation.make({
|
|
289
|
+
meta: {
|
|
290
|
+
key: `${THREAD_OPERATION}.set-agent-config`,
|
|
291
|
+
name: "Set Agent Config",
|
|
292
|
+
description: "Updates thread.agent. Undefined config disables the agent."
|
|
293
|
+
},
|
|
294
|
+
services: [
|
|
295
|
+
Database.Service
|
|
296
|
+
],
|
|
297
|
+
input: Schema2.Struct({
|
|
298
|
+
thread: Ref.Ref(Thread.Thread).annotations({
|
|
299
|
+
description: "The thread to configure."
|
|
300
|
+
}),
|
|
301
|
+
config: Schema2.optional(Thread.AgentConfig).annotations({
|
|
302
|
+
description: "New agent config; omit to disable."
|
|
303
|
+
})
|
|
304
|
+
}),
|
|
305
|
+
output: Schema2.Void
|
|
306
|
+
});
|
|
307
|
+
var CreateProposals = Operation.make({
|
|
308
|
+
meta: {
|
|
309
|
+
key: "org.dxos.function.thread.create-proposals",
|
|
310
|
+
name: "Create Proposals",
|
|
311
|
+
description: "Proposes a set of changes to a document.",
|
|
312
|
+
icon: "ph--sparkle--regular"
|
|
313
|
+
},
|
|
314
|
+
input: Schema2.Struct({
|
|
315
|
+
doc: Ref.Ref(Markdown.Document).annotations({
|
|
316
|
+
description: "The ID of the document."
|
|
317
|
+
}),
|
|
318
|
+
diffs: Schema2.Array(Schema2.String).annotations({
|
|
319
|
+
description: "The diffs to propose for the document."
|
|
320
|
+
})
|
|
321
|
+
}),
|
|
322
|
+
output: Schema2.Void,
|
|
323
|
+
services: [
|
|
324
|
+
Database.Service
|
|
325
|
+
]
|
|
326
|
+
});
|
|
327
|
+
|
|
328
|
+
export {
|
|
329
|
+
AgentIdentity,
|
|
330
|
+
DEFAULT_AGENT_IDENTITY,
|
|
331
|
+
Settings_exports,
|
|
332
|
+
ThreadCapabilities_exports,
|
|
333
|
+
ThreadOperation_exports
|
|
334
|
+
};
|
|
335
|
+
//# sourceMappingURL=chunk-D3SCNWLT.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/types/AgentIdentity.ts", "../../../src/types/Settings.ts", "../../../src/types/ThreadCapabilities.ts", "../../../src/types/ThreadOperation.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n\nimport { meta } from '#meta';\n\n/**\n * Runtime identity of the comment-thread AI agent.\n *\n * Resolved via a Capability contribution at plugin activation, never stored on\n * Thread.Thread. Renaming the agent globally (e.g. via plugin settings)\n * immediately affects gating and sender metadata on every opted-in thread —\n * past and future.\n *\n * - `name`: display name and @mention token (case-insensitive match).\n * - `identityDid`: optional ECHO DID stamped on assistant messages.\n * - `avatar`: optional icon hint.\n */\nexport interface AgentIdentity {\n readonly name: string;\n readonly identityDid?: string;\n readonly avatar?: string;\n}\n\nexport const AgentIdentity = Capability.make<AgentIdentity>(`${meta.id}.capability.agent-identity`);\n\n/**\n * Built-in default identity used by ThreadPlugin when no host has contributed\n * a stronger `AgentIdentity`. Hosts that want to override (e.g. a workspace-\n * scoped bot record, a settings panel) must contribute their identity earlier\n * in plugin order so `Capability.get` returns it first.\n */\nexport const DEFAULT_AGENT_IDENTITY: AgentIdentity = { name: 'Kai' };\n", "//\n// Copyright 2023 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nexport const Settings = Schema.mutable(Schema.Struct({}));\nexport interface Settings extends Schema.Schema.Type<typeof Settings> {}\n", "//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport { type Atom } from '@effect-atom/atom-react';\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { type Obj } from '@dxos/echo';\nimport { type Thread } from '@dxos/types';\n\nimport { meta } from '#meta';\n\nimport { type ThreadState, type ViewStore } from '../types';\n\nexport const Settings = Capability.make<Atom.Writable<import('./Settings').Settings>>(`${meta.id}.capability.settings`);\n\n/** Comment configuration contributed per typename by plugins that support commenting. */\nexport type CommentConfig = AppCapabilities.CommentConfig;\nexport const CommentConfig: Capability.InterfaceDef<AppCapabilities.CommentConfig> = AppCapabilities.CommentConfig;\n\n/** Thread state (drafts, toolbar state, current selection). */\nexport const State = Capability.make<Atom.Writable<ThreadState>>(`${meta.id}.capability.state`);\n\n/** Per-subject view state (e.g., showResolvedThreads). */\nexport const ViewState = Capability.make<Atom.Writable<ViewStore>>(`${meta.id}.capability.view-state`);\n\n/**\n * Runs one comment-thread agent turn against a thread/subject pair.\n *\n * `run` may depend on `Capability.Service` so implementations can read\n * `AgentIdentity` and any other contributed capabilities. The caller\n * (RespondToThread operation handler) already provides `Capability.Service`.\n *\n * The default implementation (built atop AiSession) is not yet wired; storybook\n * and tests contribute stub implementations via `Capability.contributes` to\n * exercise the trigger plumbing without making network calls.\n */\nexport interface AgentRunner {\n run(input: { thread: Thread.Thread; subject: Obj.Any }): Effect.Effect<void, Error, Capability.Service>;\n}\n\nexport const AgentRunner = Capability.make<AgentRunner>(`${meta.id}.capability.agent-runner`);\n", "//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\nimport { SpaceSchema } from '@dxos/client-protocol';\nimport { Operation } from '@dxos/compute';\nimport { Collection, Database, Key, Obj, Ref, Type } from '@dxos/echo';\nimport { Markdown } from '@dxos/plugin-markdown';\nimport { Actor, AnchoredTo, Channel, Message, Thread } from '@dxos/types';\n\nimport { meta } from '#meta';\n\nconst THREAD_OPERATION = `${meta.id}.operation`;\n\nexport const OnCreateSpace = Operation.make({\n meta: { key: `${THREAD_OPERATION}.on-create-space`, name: 'On Create Space', icon: 'ph--chat-text--regular' },\n services: [Capability.Service],\n input: Schema.Struct({\n space: SpaceSchema,\n rootCollection: Type.getSchema(Collection.Collection),\n isDefault: Schema.Boolean.pipe(Schema.optional),\n }),\n output: Schema.Void,\n});\n\nexport const CreateChannel = Operation.make({\n meta: { key: `${THREAD_OPERATION}.create-channel`, name: 'Create Channel', icon: 'ph--hash--regular' },\n services: [Capability.Service],\n input: Schema.Struct({\n spaceId: Key.SpaceId,\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: Type.getSchema(Channel.Channel),\n }),\n});\n\nexport const AppendChannelMessage = Operation.make({\n meta: {\n key: `${THREAD_OPERATION}.append-channel-message`,\n name: 'Append Channel Message',\n icon: 'ph--chat-text--regular',\n },\n // Note: Feed.FeedService is provided inside the handler from space.queues, not at the\n // operation level — the runtime can't fulfill it without a space context.\n services: [Capability.Service],\n input: Schema.Struct({\n channel: Type.getSchema(Channel.Channel),\n sender: Actor.Actor,\n text: Schema.String,\n }),\n output: Schema.Void,\n});\n\nexport const Create = Operation.make({\n meta: { key: `${THREAD_OPERATION}.create`, name: 'Create Thread', icon: 'ph--chat-text--regular' },\n services: [Capability.Service],\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n anchor: Schema.optional(Schema.String),\n subject: Obj.Unknown,\n }),\n output: Schema.Void,\n});\n\nexport const DeleteOutput = Schema.Struct({\n thread: Type.getSchema(Thread.Thread).annotations({ description: 'The deleted thread.' }),\n anchor: Type.getSchema(AnchoredTo.AnchoredTo).annotations({ description: 'The deleted anchor.' }),\n}).pipe(Schema.partial);\n\nexport type DeleteOutput = Schema.Schema.Type<typeof DeleteOutput>;\n\nexport const Delete = Operation.make({\n meta: { key: `${THREAD_OPERATION}.delete`, name: 'Delete Thread', icon: 'ph--trash--regular' },\n services: [Capability.Service],\n input: Schema.Struct({\n anchor: Type.getSchema(AnchoredTo.AnchoredTo),\n subject: Obj.Unknown,\n thread: Schema.optional(Type.getSchema(Thread.Thread)),\n }),\n output: DeleteOutput,\n});\n\nexport const Select = Operation.make({\n meta: { key: `${THREAD_OPERATION}.select`, name: 'Select Thread', icon: 'ph--check--regular' },\n services: [Capability.Service],\n input: Schema.Struct({\n current: Schema.String,\n }),\n output: Schema.Void,\n});\n\nexport const ToggleResolved = Operation.make({\n meta: { key: `${THREAD_OPERATION}.toggle-resolved`, name: 'Toggle Resolved', icon: 'ph--check-circle--regular' },\n services: [Capability.Service],\n input: Schema.Struct({\n thread: Type.getSchema(Thread.Thread),\n }),\n output: Schema.Void,\n});\n\nexport const AddMessage = Operation.make({\n meta: { key: `${THREAD_OPERATION}.add-message`, name: 'Add Message', icon: 'ph--chat-text--regular' },\n services: [Capability.Service],\n input: Schema.Struct({\n subject: Obj.Unknown,\n anchor: Type.getSchema(AnchoredTo.AnchoredTo),\n sender: Actor.Actor,\n text: Schema.String,\n }),\n output: Schema.Void,\n});\n\nexport const DeleteMessageOutput = Schema.partial(\n Schema.Struct({\n message: Type.getSchema(Message.Message).annotations({ description: 'The deleted message.' }),\n messageIndex: Schema.Number.annotations({ description: 'The index the message was at.' }),\n }),\n);\n\nexport type DeleteMessageOutput = Schema.Schema.Type<typeof DeleteMessageOutput>;\n\nexport const DeleteMessage = Operation.make({\n meta: { key: `${THREAD_OPERATION}.delete-message`, name: 'Delete Message', icon: 'ph--trash--regular' },\n services: [Capability.Service],\n input: Schema.Struct({\n anchor: Type.getSchema(AnchoredTo.AnchoredTo),\n subject: Obj.Unknown,\n messageId: Schema.String,\n }),\n output: DeleteMessageOutput,\n});\n\n/**\n * Restore a deleted thread (inverse of Delete).\n */\nexport const Restore = Operation.make({\n meta: { key: `${THREAD_OPERATION}.restore`, name: 'Restore Thread', icon: 'ph--clock-counter-clockwise--regular' },\n services: [Capability.Service],\n input: Schema.Struct({\n thread: Type.getSchema(Thread.Thread).annotations({ description: 'The thread to restore.' }),\n anchor: Type.getSchema(AnchoredTo.AnchoredTo).annotations({ description: 'The anchor relation to restore.' }),\n }),\n output: Schema.Void,\n});\n\n/**\n * Restore a deleted message (inverse of DeleteMessage).\n */\nexport const RestoreMessage = Operation.make({\n meta: {\n key: `${THREAD_OPERATION}.restore-message`,\n name: 'Restore Message',\n icon: 'ph--clock-counter-clockwise--regular',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n anchor: Type.getSchema(AnchoredTo.AnchoredTo).annotations({ description: 'The anchor of the thread.' }),\n message: Type.getSchema(Message.Message).annotations({ description: 'The message to restore.' }),\n messageIndex: Schema.Number.annotations({ description: 'The index to restore the message at.' }),\n }),\n output: Schema.Void,\n});\n\nexport const RespondToThread = Operation.make({\n meta: {\n key: `${THREAD_OPERATION}.respond-to-thread`,\n name: 'Respond to Thread',\n description: 'Runs one comment-thread agent turn against the given thread + subject.',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n thread: Ref.Ref(Thread.Thread).annotations({ description: 'The thread to respond to.' }),\n subject: Ref.Ref(Obj.Unknown).annotations({ description: 'The object the thread is anchored to.' }),\n }),\n output: Schema.Void,\n});\n\nexport const SetAgentConfig = Operation.make({\n meta: {\n key: `${THREAD_OPERATION}.set-agent-config`,\n name: 'Set Agent Config',\n description: 'Updates thread.agent. Undefined config disables the agent.',\n },\n services: [Database.Service],\n input: Schema.Struct({\n thread: Ref.Ref(Thread.Thread).annotations({ description: 'The thread to configure.' }),\n config: Schema.optional(Thread.AgentConfig).annotations({\n description: 'New agent config; omit to disable.',\n }),\n }),\n output: Schema.Void,\n});\n\nexport const CreateProposals = Operation.make({\n meta: {\n key: 'org.dxos.function.thread.create-proposals',\n name: 'Create Proposals',\n description: 'Proposes a set of changes to a document.',\n icon: 'ph--sparkle--regular',\n },\n input: Schema.Struct({\n doc: Ref.Ref(Markdown.Document).annotations({\n description: 'The ID of the document.',\n }),\n diffs: Schema.Array(Schema.String).annotations({\n description: 'The diffs to propose for the document.',\n }),\n }),\n output: Schema.Void,\n services: [Database.Service],\n});\n"],
|
|
5
|
+
"mappings": ";;;;;AAIA,SAASA,kBAAkB;AAE3B,SAASC,YAAY;AAoBd,IAAMC,gBAAgBF,WAAWG,KAAoB,GAAGF,KAAKG,EAAE,4BAA4B;AAQ3F,IAAMC,yBAAwC;EAAEC,MAAM;AAAM;;;AClCnE;;;;AAMA,YAAYC,YAAY;AAEjB,IAAMC,WAAkBC,eAAeC,cAAO,CAAC,CAAA,CAAA;;;ACRtD;;;;kBAAAC;EAAA;;;AASA,SAASC,cAAAA,mBAAkB;AAC3B,SAASC,uBAAuB;AAIhC,SAASC,QAAAA,aAAY;AAId,IAAMH,YAAWC,YAAWG,KAAmD,GAAGD,MAAKE,EAAE,sBAAsB;AAI/G,IAAMC,gBAAwEJ,gBAAgBI;AAG9F,IAAMC,QAAQN,YAAWG,KAAiC,GAAGD,MAAKE,EAAE,mBAAmB;AAGvF,IAAMG,YAAYP,YAAWG,KAA+B,GAAGD,MAAKE,EAAE,wBAAwB;AAiB9F,IAAMI,cAAcR,YAAWG,KAAkB,GAAGD,MAAKE,EAAE,0BAA0B;;;AC7C5F;;;;;;;;;;;;;;;;;;;AAMA,YAAYK,aAAY;AAExB,SAASC,cAAAA,mBAAkB;AAC3B,SAASC,mBAAmB;AAC5B,SAASC,iBAAiB;AAC1B,SAASC,YAAYC,UAAUC,KAAKC,KAAKC,KAAKC,YAAY;AAC1D,SAASC,gBAAgB;AACzB,SAASC,OAAOC,YAAYC,SAASC,SAASC,cAAc;AAE5D,SAASC,QAAAA,aAAY;AAErB,IAAMC,mBAAmB,GAAGD,MAAKE,EAAE;AAE5B,IAAMC,gBAAgBhB,UAAUiB,KAAK;EAC1CJ,MAAM;IAAEK,KAAK,GAAGJ,gBAAAA;IAAoCK,MAAM;IAAmBC,MAAM;EAAyB;EAC5GC,UAAU;IAACvB,YAAWwB;;EACtBC,OAAcC,eAAO;IACnBC,OAAO1B;IACP2B,gBAAgBpB,KAAKqB,UAAU1B,WAAWA,UAAU;IACpD2B,WAAkBC,gBAAQC,KAAYC,gBAAQ;EAChD,CAAA;EACAC,QAAeC;AACjB,CAAA;AAEO,IAAMC,gBAAgBlC,UAAUiB,KAAK;EAC1CJ,MAAM;IAAEK,KAAK,GAAGJ,gBAAAA;IAAmCK,MAAM;IAAkBC,MAAM;EAAoB;EACrGC,UAAU;IAACvB,YAAWwB;;EACtBC,OAAcC,eAAO;IACnBW,SAAShC,IAAIiC;IACbjB,MAAaY,iBAAgBM,cAAM;EACrC,CAAA;EACAL,QAAeR,eAAO;IACpBc,QAAQhC,KAAKqB,UAAUjB,QAAQA,OAAO;EACxC,CAAA;AACF,CAAA;AAEO,IAAM6B,uBAAuBvC,UAAUiB,KAAK;EACjDJ,MAAM;IACJK,KAAK,GAAGJ,gBAAAA;IACRK,MAAM;IACNC,MAAM;EACR;;;EAGAC,UAAU;IAACvB,YAAWwB;;EACtBC,OAAcC,eAAO;IACnBgB,SAASlC,KAAKqB,UAAUjB,QAAQA,OAAO;IACvC+B,QAAQjC,MAAMA;IACdkC,MAAaL;EACf,CAAA;EACAL,QAAeC;AACjB,CAAA;AAEO,IAAMU,SAAS3C,UAAUiB,KAAK;EACnCJ,MAAM;IAAEK,KAAK,GAAGJ,gBAAAA;IAA2BK,MAAM;IAAiBC,MAAM;EAAyB;EACjGC,UAAU;IAACvB,YAAWwB;;EACtBC,OAAcC,eAAO;IACnBL,MAAaY,iBAAgBM,cAAM;IACnCO,QAAeb,iBAAgBM,cAAM;IACrCQ,SAASzC,IAAI0C;EACf,CAAA;EACAd,QAAeC;AACjB,CAAA;AAEO,IAAMc,eAAsBvB,eAAO;EACxCwB,QAAQ1C,KAAKqB,UAAUf,OAAOA,MAAM,EAAEqC,YAAY;IAAEC,aAAa;EAAsB,CAAA;EACvFN,QAAQtC,KAAKqB,UAAUlB,WAAWA,UAAU,EAAEwC,YAAY;IAAEC,aAAa;EAAsB,CAAA;AACjG,CAAA,EAAGpB,KAAYqB,eAAO;AAIf,IAAMC,SAASpD,UAAUiB,KAAK;EACnCJ,MAAM;IAAEK,KAAK,GAAGJ,gBAAAA;IAA2BK,MAAM;IAAiBC,MAAM;EAAqB;EAC7FC,UAAU;IAACvB,YAAWwB;;EACtBC,OAAcC,eAAO;IACnBoB,QAAQtC,KAAKqB,UAAUlB,WAAWA,UAAU;IAC5CoC,SAASzC,IAAI0C;IACbE,QAAejB,iBAASzB,KAAKqB,UAAUf,OAAOA,MAAM,CAAA;EACtD,CAAA;EACAoB,QAAQe;AACV,CAAA;AAEO,IAAMM,SAASrD,UAAUiB,KAAK;EACnCJ,MAAM;IAAEK,KAAK,GAAGJ,gBAAAA;IAA2BK,MAAM;IAAiBC,MAAM;EAAqB;EAC7FC,UAAU;IAACvB,YAAWwB;;EACtBC,OAAcC,eAAO;IACnB8B,SAAgBjB;EAClB,CAAA;EACAL,QAAeC;AACjB,CAAA;AAEO,IAAMsB,iBAAiBvD,UAAUiB,KAAK;EAC3CJ,MAAM;IAAEK,KAAK,GAAGJ,gBAAAA;IAAoCK,MAAM;IAAmBC,MAAM;EAA4B;EAC/GC,UAAU;IAACvB,YAAWwB;;EACtBC,OAAcC,eAAO;IACnBwB,QAAQ1C,KAAKqB,UAAUf,OAAOA,MAAM;EACtC,CAAA;EACAoB,QAAeC;AACjB,CAAA;AAEO,IAAMuB,aAAaxD,UAAUiB,KAAK;EACvCJ,MAAM;IAAEK,KAAK,GAAGJ,gBAAAA;IAAgCK,MAAM;IAAeC,MAAM;EAAyB;EACpGC,UAAU;IAACvB,YAAWwB;;EACtBC,OAAcC,eAAO;IACnBqB,SAASzC,IAAI0C;IACbF,QAAQtC,KAAKqB,UAAUlB,WAAWA,UAAU;IAC5CgC,QAAQjC,MAAMA;IACdkC,MAAaL;EACf,CAAA;EACAL,QAAeC;AACjB,CAAA;AAEO,IAAMwB,sBAA6BN,gBACjC3B,eAAO;EACZkC,SAASpD,KAAKqB,UAAUhB,QAAQA,OAAO,EAAEsC,YAAY;IAAEC,aAAa;EAAuB,CAAA;EAC3FS,cAAqBC,eAAOX,YAAY;IAAEC,aAAa;EAAgC,CAAA;AACzF,CAAA,CAAA;AAKK,IAAMW,gBAAgB7D,UAAUiB,KAAK;EAC1CJ,MAAM;IAAEK,KAAK,GAAGJ,gBAAAA;IAAmCK,MAAM;IAAkBC,MAAM;EAAqB;EACtGC,UAAU;IAACvB,YAAWwB;;EACtBC,OAAcC,eAAO;IACnBoB,QAAQtC,KAAKqB,UAAUlB,WAAWA,UAAU;IAC5CoC,SAASzC,IAAI0C;IACbgB,WAAkBzB;EACpB,CAAA;EACAL,QAAQyB;AACV,CAAA;AAKO,IAAMM,UAAU/D,UAAUiB,KAAK;EACpCJ,MAAM;IAAEK,KAAK,GAAGJ,gBAAAA;IAA4BK,MAAM;IAAkBC,MAAM;EAAuC;EACjHC,UAAU;IAACvB,YAAWwB;;EACtBC,OAAcC,eAAO;IACnBwB,QAAQ1C,KAAKqB,UAAUf,OAAOA,MAAM,EAAEqC,YAAY;MAAEC,aAAa;IAAyB,CAAA;IAC1FN,QAAQtC,KAAKqB,UAAUlB,WAAWA,UAAU,EAAEwC,YAAY;MAAEC,aAAa;IAAkC,CAAA;EAC7G,CAAA;EACAlB,QAAeC;AACjB,CAAA;AAKO,IAAM+B,iBAAiBhE,UAAUiB,KAAK;EAC3CJ,MAAM;IACJK,KAAK,GAAGJ,gBAAAA;IACRK,MAAM;IACNC,MAAM;EACR;EACAC,UAAU;IAACvB,YAAWwB;;EACtBC,OAAcC,eAAO;IACnBoB,QAAQtC,KAAKqB,UAAUlB,WAAWA,UAAU,EAAEwC,YAAY;MAAEC,aAAa;IAA4B,CAAA;IACrGQ,SAASpD,KAAKqB,UAAUhB,QAAQA,OAAO,EAAEsC,YAAY;MAAEC,aAAa;IAA0B,CAAA;IAC9FS,cAAqBC,eAAOX,YAAY;MAAEC,aAAa;IAAuC,CAAA;EAChG,CAAA;EACAlB,QAAeC;AACjB,CAAA;AAEO,IAAMgC,kBAAkBjE,UAAUiB,KAAK;EAC5CJ,MAAM;IACJK,KAAK,GAAGJ,gBAAAA;IACRK,MAAM;IACN+B,aAAa;EACf;EACA7B,UAAU;IAACvB,YAAWwB;;EACtBC,OAAcC,eAAO;IACnBwB,QAAQ3C,IAAIA,IAAIO,OAAOA,MAAM,EAAEqC,YAAY;MAAEC,aAAa;IAA4B,CAAA;IACtFL,SAASxC,IAAIA,IAAID,IAAI0C,OAAO,EAAEG,YAAY;MAAEC,aAAa;IAAwC,CAAA;EACnG,CAAA;EACAlB,QAAeC;AACjB,CAAA;AAEO,IAAMiC,iBAAiBlE,UAAUiB,KAAK;EAC3CJ,MAAM;IACJK,KAAK,GAAGJ,gBAAAA;IACRK,MAAM;IACN+B,aAAa;EACf;EACA7B,UAAU;IAACnB,SAASoB;;EACpBC,OAAcC,eAAO;IACnBwB,QAAQ3C,IAAIA,IAAIO,OAAOA,MAAM,EAAEqC,YAAY;MAAEC,aAAa;IAA2B,CAAA;IACrFiB,QAAepC,iBAASnB,OAAOwD,WAAW,EAAEnB,YAAY;MACtDC,aAAa;IACf,CAAA;EACF,CAAA;EACAlB,QAAeC;AACjB,CAAA;AAEO,IAAMoC,kBAAkBrE,UAAUiB,KAAK;EAC5CJ,MAAM;IACJK,KAAK;IACLC,MAAM;IACN+B,aAAa;IACb9B,MAAM;EACR;EACAG,OAAcC,eAAO;IACnB8C,KAAKjE,IAAIA,IAAIE,SAASgE,QAAQ,EAAEtB,YAAY;MAC1CC,aAAa;IACf,CAAA;IACAsB,OAAcC,cAAapC,cAAM,EAAEY,YAAY;MAC7CC,aAAa;IACf,CAAA;EACF,CAAA;EACAlB,QAAeC;EACfZ,UAAU;IAACnB,SAASoB;;AACtB,CAAA;",
|
|
6
|
+
"names": ["Capability", "meta", "AgentIdentity", "make", "id", "DEFAULT_AGENT_IDENTITY", "name", "Schema", "Settings", "mutable", "Struct", "Settings", "Capability", "AppCapabilities", "meta", "make", "id", "CommentConfig", "State", "ViewState", "AgentRunner", "Schema", "Capability", "SpaceSchema", "Operation", "Collection", "Database", "Key", "Obj", "Ref", "Type", "Markdown", "Actor", "AnchoredTo", "Channel", "Message", "Thread", "meta", "THREAD_OPERATION", "id", "OnCreateSpace", "make", "key", "name", "icon", "services", "Service", "input", "Struct", "space", "rootCollection", "getSchema", "isDefault", "Boolean", "pipe", "optional", "output", "Void", "CreateChannel", "spaceId", "SpaceId", "String", "object", "AppendChannelMessage", "channel", "sender", "text", "Create", "anchor", "subject", "Unknown", "DeleteOutput", "thread", "annotations", "description", "partial", "Delete", "Select", "current", "ToggleResolved", "AddMessage", "DeleteMessageOutput", "message", "messageIndex", "Number", "DeleteMessage", "messageId", "Restore", "RestoreMessage", "RespondToThread", "SetAgentConfig", "config", "AgentConfig", "CreateProposals", "doc", "Document", "diffs", "Array"]
|
|
7
|
+
}
|
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
// src/util.ts
|
|
2
2
|
import * as Match from "effect/Match";
|
|
3
3
|
import { generateName } from "@dxos/display-name";
|
|
4
|
-
import { hexToFallback } from "@dxos/util";
|
|
5
|
-
var
|
|
6
|
-
|
|
4
|
+
import { hexToFallback, toFallback } from "@dxos/util";
|
|
5
|
+
var hashString = (s) => {
|
|
6
|
+
let h = 0;
|
|
7
|
+
for (let i = 0; i < s.length; i++) {
|
|
8
|
+
h = h * 31 + s.charCodeAt(i) | 0;
|
|
9
|
+
}
|
|
10
|
+
return h >>> 0;
|
|
11
|
+
};
|
|
12
|
+
var getMessageMetadata = (id, identity, fallbackSender) => {
|
|
13
|
+
const fallback = identity?.identityKey ? hexToFallback(identity.identityKey.toHex()) : toFallback(hashString(fallbackSender?.name ?? fallbackSender?.email ?? "0"));
|
|
7
14
|
return {
|
|
8
15
|
id,
|
|
9
16
|
authorId: identity?.did,
|
|
10
|
-
authorName: identity?.profile?.displayName ?? (identity?.identityKey ? generateName(identity.identityKey.toHex()) : void 0),
|
|
17
|
+
authorName: identity?.profile?.displayName ?? (identity?.identityKey ? generateName(identity.identityKey.toHex()) : void 0) ?? fallbackSender?.name ?? fallbackSender?.email,
|
|
11
18
|
authorAvatarProps: {
|
|
12
19
|
hue: identity?.profile?.data?.hue ?? fallback.hue,
|
|
13
20
|
emoji: identity?.profile?.data?.emoji ?? fallback.emoji
|
|
@@ -28,4 +35,4 @@ export {
|
|
|
28
35
|
getMessageMetadata,
|
|
29
36
|
getAnchor
|
|
30
37
|
};
|
|
31
|
-
//# sourceMappingURL=chunk-
|
|
38
|
+
//# sourceMappingURL=chunk-JLY4NVTA.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Match from 'effect/Match';\n\nimport { generateName } from '@dxos/display-name';\nimport { type PublicKey } from '@dxos/react-client';\nimport { type Identity } from '@dxos/react-client/halo';\nimport { type Selection } from '@dxos/react-ui-attention';\nimport { type MessageMetadata } from '@dxos/react-ui-thread';\nimport { hexToFallback, toFallback } from '@dxos/util';\n\nexport type MessagePropertiesProvider = (identityKey: PublicKey | undefined) => MessageMetadata;\n\n/**\n * Stable hash for an arbitrary string — used as the avatar-fallback seed for\n * external senders who have no DXOS identity (e.g. Slack/Discord-synced\n * messages). djb2-ish, only stability matters.\n *\n * Coerced to unsigned 32-bit via `>>> 0` because `toFallback` does a plain\n * modulo against `idEmoji.length * idHue.length` and JavaScript's `%`\n * preserves the sign of the dividend — a negative hash would index\n * `idEmoji[-x]` and `idHue[-x]` to `undefined`, causing the avatar to fall\n * through to `Avatar.Content`'s default red/ghost.\n */\nconst hashString = (s: string): number => {\n let h = 0;\n for (let i = 0; i < s.length; i++) {\n h = (h * 31 + s.charCodeAt(i)) | 0;\n }\n return h >>> 0;\n};\n\nexport const getMessageMetadata = (\n id: string,\n identity?: Identity,\n /**\n * Externally-sourced sender info (Slack/Discord/etc). Used only when no\n * matching DXOS `identity` is available — provides `name`/`email` for the\n * author label and a stable seed for the avatar fallback.\n */\n fallbackSender?: { name?: string; email?: string },\n): MessageMetadata => {\n const fallback = identity?.identityKey\n ? hexToFallback(identity.identityKey.toHex())\n : toFallback(hashString(fallbackSender?.name ?? fallbackSender?.email ?? '0'));\n return {\n id,\n authorId: identity?.did,\n authorName:\n identity?.profile?.displayName ??\n (identity?.identityKey ? generateName(identity.identityKey.toHex()) : undefined) ??\n fallbackSender?.name ??\n fallbackSender?.email,\n authorAvatarProps: {\n hue: identity?.profile?.data?.hue ?? fallback.hue,\n emoji: identity?.profile?.data?.emoji ?? fallback.emoji,\n },\n };\n};\n\nexport const getAnchor = Match.type<Selection | undefined>().pipe(\n Match.when({ mode: 'single' }, (s) => s.id),\n Match.when({ mode: 'multi' }, (s) => (s.ids.length > 0 ? s.ids.join(',') : undefined)),\n Match.when({ mode: 'range' }, (s) => (s.from && s.to ? `${s.from}:${s.to}` : undefined)),\n Match.when({ mode: 'multi-range' }, (s) => s.ranges[0] && `${s.ranges[0].from}:${s.ranges[0].to}`),\n Match.when(undefined, () => undefined),\n Match.exhaustive,\n);\n"],
|
|
5
|
+
"mappings": ";AAIA,YAAYA,WAAW;AAEvB,SAASC,oBAAoB;AAK7B,SAASC,eAAeC,kBAAkB;AAe1C,IAAMC,aAAa,CAACC,MAAAA;AAClB,MAAIC,IAAI;AACR,WAASC,IAAI,GAAGA,IAAIF,EAAEG,QAAQD,KAAK;AACjCD,QAAKA,IAAI,KAAKD,EAAEI,WAAWF,CAAAA,IAAM;EACnC;AACA,SAAOD,MAAM;AACf;AAEO,IAAMI,qBAAqB,CAChCC,IACAC,UAMAC,mBAAAA;AAEA,QAAMC,WAAWF,UAAUG,cACvBb,cAAcU,SAASG,YAAYC,MAAK,CAAA,IACxCb,WAAWC,WAAWS,gBAAgBI,QAAQJ,gBAAgBK,SAAS,GAAA,CAAA;AAC3E,SAAO;IACLP;IACAQ,UAAUP,UAAUQ;IACpBC,YACET,UAAUU,SAASC,gBAClBX,UAAUG,cAAcd,aAAaW,SAASG,YAAYC,MAAK,CAAA,IAAMQ,WACtEX,gBAAgBI,QAChBJ,gBAAgBK;IAClBO,mBAAmB;MACjBC,KAAKd,UAAUU,SAASK,MAAMD,OAAOZ,SAASY;MAC9CE,OAAOhB,UAAUU,SAASK,MAAMC,SAASd,SAASc;IACpD;EACF;AACF;AAEO,IAAMC,YAAkBC,WAAI,EAA0BC,KACrDC,WAAK;EAAEC,MAAM;AAAS,GAAG,CAAC5B,MAAMA,EAAEM,EAAE,GACpCqB,WAAK;EAAEC,MAAM;AAAQ,GAAG,CAAC5B,MAAOA,EAAE6B,IAAI1B,SAAS,IAAIH,EAAE6B,IAAIC,KAAK,GAAA,IAAOX,MAAAA,GACrEQ,WAAK;EAAEC,MAAM;AAAQ,GAAG,CAAC5B,MAAOA,EAAE+B,QAAQ/B,EAAEgC,KAAK,GAAGhC,EAAE+B,IAAI,IAAI/B,EAAEgC,EAAE,KAAKb,MAAAA,GACvEQ,WAAK;EAAEC,MAAM;AAAc,GAAG,CAAC5B,MAAMA,EAAEiC,OAAO,CAAA,KAAM,GAAGjC,EAAEiC,OAAO,CAAA,EAAGF,IAAI,IAAI/B,EAAEiC,OAAO,CAAA,EAAGD,EAAE,EAAE,GAC3FL,WAAKR,QAAW,MAAMA,MAAAA,GACtBe,gBAAU;",
|
|
6
|
+
"names": ["Match", "generateName", "hexToFallback", "toFallback", "hashString", "s", "h", "i", "length", "charCodeAt", "getMessageMetadata", "id", "identity", "fallbackSender", "fallback", "identityKey", "toHex", "name", "email", "authorId", "did", "authorName", "profile", "displayName", "undefined", "authorAvatarProps", "hue", "data", "emoji", "getAnchor", "type", "pipe", "when", "mode", "ids", "join", "from", "to", "ranges", "exhaustive"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
// src/hooks/analytics.ts
|
|
2
|
+
import { useCallback } from "react";
|
|
3
|
+
import { useOperationInvoker } from "@dxos/app-framework/ui";
|
|
4
|
+
import { Obj } from "@dxos/echo";
|
|
5
|
+
import { ObservabilityOperation } from "@dxos/plugin-observability";
|
|
6
|
+
import { useOnTransition } from "@dxos/react-ui";
|
|
7
|
+
var useOnEditAnalytics = (message, textBlock, editing) => {
|
|
8
|
+
const { invokePromise } = useOperationInvoker();
|
|
9
|
+
const onEdit = useCallback(() => {
|
|
10
|
+
if (!message || !textBlock) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
const db = Obj.getDatabase(message);
|
|
14
|
+
if (!db) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
void invokePromise(ObservabilityOperation.SendEvent, {
|
|
18
|
+
name: "threads.message.update",
|
|
19
|
+
properties: {
|
|
20
|
+
spaceId: db.spaceId,
|
|
21
|
+
messageId: message.id,
|
|
22
|
+
messageLength: textBlock?.text.length
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
}, [
|
|
26
|
+
invokePromise,
|
|
27
|
+
message,
|
|
28
|
+
textBlock
|
|
29
|
+
]);
|
|
30
|
+
useOnTransition(editing, true, false, onEdit);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
// src/hooks/useStatus.ts
|
|
34
|
+
import { useEffect, useState } from "react";
|
|
35
|
+
var useStatus = (space, channel) => {
|
|
36
|
+
const [processing, setProcessing] = useState(false);
|
|
37
|
+
useEffect(() => {
|
|
38
|
+
if (!space || !channel) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const unsubscribe = space.listen(`status/${channel}`, (status) => {
|
|
42
|
+
const { event } = status.payload ?? {};
|
|
43
|
+
setProcessing(event === "processing");
|
|
44
|
+
});
|
|
45
|
+
const t = setInterval(() => {
|
|
46
|
+
setProcessing((prev) => {
|
|
47
|
+
if (typeof prev?.ts === "number" && Date.now() - prev.ts > 3e4) {
|
|
48
|
+
return void 0;
|
|
49
|
+
} else {
|
|
50
|
+
return prev;
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}, 1e3);
|
|
54
|
+
return () => {
|
|
55
|
+
unsubscribe();
|
|
56
|
+
clearInterval(t);
|
|
57
|
+
};
|
|
58
|
+
}, [
|
|
59
|
+
space,
|
|
60
|
+
channel
|
|
61
|
+
]);
|
|
62
|
+
return processing;
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
export {
|
|
66
|
+
useOnEditAnalytics,
|
|
67
|
+
useStatus
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=chunk-QFDT33VT.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/hooks/analytics.ts", "../../../src/hooks/useStatus.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { useCallback } from 'react';\n\nimport { useOperationInvoker } from '@dxos/app-framework/ui';\nimport { Obj } from '@dxos/echo';\nimport { ObservabilityOperation } from '@dxos/plugin-observability';\nimport { useOnTransition } from '@dxos/react-ui';\nimport { type ContentBlock } from '@dxos/types';\n\nexport const useOnEditAnalytics = (\n message: any | undefined,\n textBlock: ContentBlock.Text | undefined,\n editing: boolean,\n) => {\n const { invokePromise } = useOperationInvoker();\n\n const onEdit = useCallback(() => {\n if (!message || !textBlock) {\n return;\n }\n\n const db = Obj.getDatabase(message);\n if (!db) {\n return;\n }\n\n void invokePromise(ObservabilityOperation.SendEvent, {\n name: 'threads.message.update',\n properties: {\n spaceId: db.spaceId,\n messageId: message.id,\n messageLength: textBlock?.text.length,\n },\n });\n }, [invokePromise, message, textBlock]);\n\n useOnTransition(editing, true, false, onEdit);\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { useEffect, useState } from 'react';\n\nimport { type Space } from '@dxos/react-client/echo';\n\n// TODO(burdon): Generalize and factor out.\nexport const useStatus = (space?: Space, channel?: string) => {\n const [processing, setProcessing] = useState(false);\n useEffect(() => {\n if (!space || !channel) {\n return;\n }\n\n const unsubscribe = space.listen(`status/${channel}`, (status) => {\n const { event } = status.payload ?? {};\n setProcessing(event === 'processing');\n });\n\n const t = setInterval(() => {\n setProcessing((prev: any) => {\n if (typeof prev?.ts === 'number' && Date.now() - prev.ts > 30_000) {\n return undefined;\n } else {\n return prev;\n }\n });\n }, 1_000);\n\n return () => {\n unsubscribe();\n clearInterval(t);\n };\n }, [space, channel]);\n\n return processing;\n};\n"],
|
|
5
|
+
"mappings": ";AAIA,SAASA,mBAAmB;AAE5B,SAASC,2BAA2B;AACpC,SAASC,WAAW;AACpB,SAASC,8BAA8B;AACvC,SAASC,uBAAuB;AAGzB,IAAMC,qBAAqB,CAChCC,SACAC,WACAC,YAAAA;AAEA,QAAM,EAAEC,cAAa,IAAKR,oBAAAA;AAE1B,QAAMS,SAASV,YAAY,MAAA;AACzB,QAAI,CAACM,WAAW,CAACC,WAAW;AAC1B;IACF;AAEA,UAAMI,KAAKT,IAAIU,YAAYN,OAAAA;AAC3B,QAAI,CAACK,IAAI;AACP;IACF;AAEA,SAAKF,cAAcN,uBAAuBU,WAAW;MACnDC,MAAM;MACNC,YAAY;QACVC,SAASL,GAAGK;QACZC,WAAWX,QAAQY;QACnBC,eAAeZ,WAAWa,KAAKC;MACjC;IACF,CAAA;EACF,GAAG;IAACZ;IAAeH;IAASC;GAAU;AAEtCH,kBAAgBI,SAAS,MAAM,OAAOE,MAAAA;AACxC;;;ACpCA,SAASY,WAAWC,gBAAgB;AAK7B,IAAMC,YAAY,CAACC,OAAeC,YAAAA;AACvC,QAAM,CAACC,YAAYC,aAAAA,IAAiBL,SAAS,KAAA;AAC7CD,YAAU,MAAA;AACR,QAAI,CAACG,SAAS,CAACC,SAAS;AACtB;IACF;AAEA,UAAMG,cAAcJ,MAAMK,OAAO,UAAUJ,OAAAA,IAAW,CAACK,WAAAA;AACrD,YAAM,EAAEC,MAAK,IAAKD,OAAOE,WAAW,CAAC;AACrCL,oBAAcI,UAAU,YAAA;IAC1B,CAAA;AAEA,UAAME,IAAIC,YAAY,MAAA;AACpBP,oBAAc,CAACQ,SAAAA;AACb,YAAI,OAAOA,MAAMC,OAAO,YAAYC,KAAKC,IAAG,IAAKH,KAAKC,KAAK,KAAQ;AACjE,iBAAOG;QACT,OAAO;AACL,iBAAOJ;QACT;MACF,CAAA;IACF,GAAG,GAAA;AAEH,WAAO,MAAA;AACLP,kBAAAA;AACAY,oBAAcP,CAAAA;IAChB;EACF,GAAG;IAACT;IAAOC;GAAQ;AAEnB,SAAOC;AACT;",
|
|
6
|
+
"names": ["useCallback", "useOperationInvoker", "Obj", "ObservabilityOperation", "useOnTransition", "useOnEditAnalytics", "message", "textBlock", "editing", "invokePromise", "onEdit", "db", "getDatabase", "SendEvent", "name", "properties", "spaceId", "messageId", "id", "messageLength", "text", "length", "useEffect", "useState", "useStatus", "space", "channel", "processing", "setProcessing", "unsubscribe", "listen", "status", "event", "payload", "t", "setInterval", "prev", "ts", "Date", "now", "undefined", "clearInterval"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// src/operations/index.ts
|
|
2
|
+
import { OperationHandlerSet } from "@dxos/compute";
|
|
3
|
+
var ThreadOperationHandlerSet = OperationHandlerSet.lazy(() => import("./add-message-DATVSMVU.mjs"), () => import("./append-channel-message-4ACLATZY.mjs"), () => import("./create-2NJDD73M.mjs"), () => import("./create-channel-RYSV44N3.mjs"), () => import("./create-proposals-7UZYZ32V.mjs"), () => import("./delete-JVGAPD46.mjs"), () => import("./delete-message-5EGR3HWH.mjs"), () => import("./on-create-space-ZQF55KSO.mjs"), () => import("./respond-to-thread-LVLDZON3.mjs"), () => import("./restore-Z5PYV7I2.mjs"), () => import("./restore-message-B263PLUH.mjs"), () => import("./select-GXDEAH5D.mjs"), () => import("./set-agent-config-7HHS6KZZ.mjs"), () => import("./toggle-resolved-LBVNAVVF.mjs"));
|
|
4
|
+
|
|
5
|
+
export {
|
|
6
|
+
ThreadOperationHandlerSet
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=chunk-TT6PWRR5.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/operations/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport const ThreadOperationHandlerSet = OperationHandlerSet.lazy(\n () => import('./add-message'),\n () => import('./append-channel-message'),\n () => import('./create'),\n () => import('./create-channel'),\n () => import('./create-proposals'),\n () => import('./delete'),\n () => import('./delete-message'),\n () => import('./on-create-space'),\n () => import('./respond-to-thread'),\n () => import('./restore'),\n () => import('./restore-message'),\n () => import('./select'),\n () => import('./set-agent-config'),\n () => import('./toggle-resolved'),\n);\n"],
|
|
5
|
+
"mappings": ";AAIA,SAASA,2BAA2B;AAE7B,IAAMC,4BAA4BD,oBAAoBE,KAC3D,MAAM,OAAO,4BAAA,GACb,MAAM,OAAO,uCAAA,GACb,MAAM,OAAO,uBAAA,GACb,MAAM,OAAO,+BAAA,GACb,MAAM,OAAO,iCAAA,GACb,MAAM,OAAO,uBAAA,GACb,MAAM,OAAO,+BAAA,GACb,MAAM,OAAO,gCAAA,GACb,MAAM,OAAO,kCAAA,GACb,MAAM,OAAO,wBAAA,GACb,MAAM,OAAO,gCAAA,GACb,MAAM,OAAO,uBAAA,GACb,MAAM,OAAO,iCAAA,GACb,MAAM,OAAO,gCAAA,CAAA;",
|
|
6
|
+
"names": ["OperationHandlerSet", "ThreadOperationHandlerSet", "lazy"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
// src/meta.ts
|
|
2
|
+
import { trim } from "@dxos/util";
|
|
3
|
+
var meta = {
|
|
4
|
+
id: "org.dxos.plugin.thread",
|
|
5
|
+
name: "Threads",
|
|
6
|
+
author: "DXOS",
|
|
7
|
+
description: trim`
|
|
8
|
+
ThreadPlugin renders comment threads anchored to ECHO objects and provides a
|
|
9
|
+
persistent chat channel attached to every workspace. Threads can be created
|
|
10
|
+
inline on any Markdown document, letting collaborators leave contextual
|
|
11
|
+
comments and hold focused discussions without leaving the document surface.
|
|
12
|
+
|
|
13
|
+
Each thread carries an optional AI agent configuration that controls how the
|
|
14
|
+
built-in assistant participates in the conversation. Threads can be set to
|
|
15
|
+
off, mention-only (the agent responds only when @-mentioned by name), or
|
|
16
|
+
auto mode (the agent replies to every new user message). The agent identity —
|
|
17
|
+
display name, DID, and avatar — is resolved at runtime from a pluggable
|
|
18
|
+
Effect capability so host applications can substitute their own assistant
|
|
19
|
+
persona.
|
|
20
|
+
|
|
21
|
+
When the agent is enabled, it executes one LLM turn per trigger via the
|
|
22
|
+
AgentRunner capability. The runner has access to edit tools that can splice
|
|
23
|
+
a replacement range into the anchored document span or replace the entire
|
|
24
|
+
document content, so the assistant can propose inline edits in addition to
|
|
25
|
+
posting chat replies. A self-loop guard prevents the agent from responding
|
|
26
|
+
to its own messages, and resolved threads are excluded from triggering.
|
|
27
|
+
|
|
28
|
+
The toggle UI appears as a per-thread icon button in the CommentsPanel
|
|
29
|
+
header. Clicking it opens a popover with three radio options (off / mention /
|
|
30
|
+
auto) and a read-only label showing the active agent name. All state changes
|
|
31
|
+
go through the SetAgentConfig operation rather than direct schema writes,
|
|
32
|
+
keeping mutation logic in one place and making the feature testable with
|
|
33
|
+
stub runners in storybook.
|
|
34
|
+
`,
|
|
35
|
+
icon: "ph--video-conference--regular",
|
|
36
|
+
iconHue: "rose",
|
|
37
|
+
source: "https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-thread",
|
|
38
|
+
spec: "PLUGIN.mdl"
|
|
39
|
+
};
|
|
40
|
+
var THREAD_ITEM = `${meta.id}.item`;
|
|
41
|
+
|
|
42
|
+
export {
|
|
43
|
+
meta,
|
|
44
|
+
THREAD_ITEM
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=chunk-WMP3QCOR.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/meta.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: Plugin.Meta = {\n id: 'org.dxos.plugin.thread',\n name: 'Threads',\n author: 'DXOS',\n description: trim`\n ThreadPlugin renders comment threads anchored to ECHO objects and provides a\n persistent chat channel attached to every workspace. Threads can be created\n inline on any Markdown document, letting collaborators leave contextual\n comments and hold focused discussions without leaving the document surface.\n\n Each thread carries an optional AI agent configuration that controls how the\n built-in assistant participates in the conversation. Threads can be set to\n off, mention-only (the agent responds only when @-mentioned by name), or\n auto mode (the agent replies to every new user message). The agent identity —\n display name, DID, and avatar — is resolved at runtime from a pluggable\n Effect capability so host applications can substitute their own assistant\n persona.\n\n When the agent is enabled, it executes one LLM turn per trigger via the\n AgentRunner capability. The runner has access to edit tools that can splice\n a replacement range into the anchored document span or replace the entire\n document content, so the assistant can propose inline edits in addition to\n posting chat replies. A self-loop guard prevents the agent from responding\n to its own messages, and resolved threads are excluded from triggering.\n\n The toggle UI appears as a per-thread icon button in the CommentsPanel\n header. Clicking it opens a popover with three radio options (off / mention /\n auto) and a read-only label showing the active agent name. All state changes\n go through the SetAgentConfig operation rather than direct schema writes,\n keeping mutation logic in one place and making the feature testable with\n stub runners in storybook.\n `,\n icon: 'ph--video-conference--regular',\n iconHue: 'rose',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-thread',\n spec: 'PLUGIN.mdl',\n};\n\nexport const THREAD_ITEM = `${meta.id}.item`;\n"],
|
|
5
|
+
"mappings": ";AAKA,SAASA,YAAY;AAEd,IAAMC,OAAoB;EAC/BC,IAAI;EACJC,MAAM;EACNC,QAAQ;EACRC,aAAaL;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BbM,MAAM;EACNC,SAAS;EACTC,QAAQ;EACRC,MAAM;AACR;AAEO,IAAMC,cAAc,GAAGT,KAAKC,EAAE;",
|
|
6
|
+
"names": ["trim", "meta", "id", "name", "author", "description", "icon", "iconHue", "source", "spec", "THREAD_ITEM"]
|
|
7
|
+
}
|