@dxos/plugin-assistant 0.8.4-main.67995b8 → 0.8.4-main.6fa680abb7
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/dist/lib/browser/AssistantSettings-PP6JSHWB.mjs +93 -0
- package/dist/lib/browser/AssistantSettings-PP6JSHWB.mjs.map +7 -0
- package/dist/lib/browser/BlueprintArticle-H6R33TZZ.mjs +35 -0
- package/dist/lib/browser/BlueprintArticle-H6R33TZZ.mjs.map +7 -0
- package/dist/lib/browser/ChatCompanion-GXS6DK4X.mjs +202 -0
- package/dist/lib/browser/ChatCompanion-GXS6DK4X.mjs.map +7 -0
- package/dist/lib/browser/ChatContainer-SMSZXEF5.mjs +12 -0
- package/dist/lib/browser/ChatContainer-SMSZXEF5.mjs.map +7 -0
- package/dist/lib/browser/ChatDialog-ZCVPPONM.mjs +85 -0
- package/dist/lib/browser/ChatDialog-ZCVPPONM.mjs.map +7 -0
- package/dist/lib/browser/ProjectArticle-QDBTIFNE.mjs +91 -0
- package/dist/lib/browser/ProjectArticle-QDBTIFNE.mjs.map +7 -0
- package/dist/lib/browser/ProjectSettings-L5MCDUXK.mjs +232 -0
- package/dist/lib/browser/ProjectSettings-L5MCDUXK.mjs.map +7 -0
- package/dist/lib/browser/PromptArticle-G5YSAEGK.mjs +71 -0
- package/dist/lib/browser/PromptArticle-G5YSAEGK.mjs.map +7 -0
- package/dist/lib/browser/TriggerStatus-X35WDCK5.mjs +112 -0
- package/dist/lib/browser/TriggerStatus-X35WDCK5.mjs.map +7 -0
- package/dist/lib/browser/ai-service-CY2BYPH6.mjs +22 -0
- package/dist/lib/browser/ai-service-CY2BYPH6.mjs.map +7 -0
- package/dist/lib/browser/app-graph-builder-ECQCWGCN.mjs +224 -0
- package/dist/lib/browser/app-graph-builder-ECQCWGCN.mjs.map +7 -0
- package/dist/lib/browser/blueprint-definition-CKG4TQ2J.mjs +35 -0
- package/dist/lib/browser/blueprint-definition-CKG4TQ2J.mjs.map +7 -0
- package/dist/lib/browser/blueprints/index.mjs +8 -0
- package/dist/lib/browser/blueprints/index.mjs.map +7 -0
- package/dist/lib/browser/chunk-2VIEX4RA.mjs +23 -0
- package/dist/lib/browser/chunk-2VIEX4RA.mjs.map +7 -0
- package/dist/lib/browser/chunk-734CB3XG.mjs +230 -0
- package/dist/lib/browser/chunk-734CB3XG.mjs.map +7 -0
- package/dist/lib/browser/chunk-A346P45I.mjs +2125 -0
- package/dist/lib/browser/chunk-A346P45I.mjs.map +7 -0
- package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
- package/dist/lib/browser/chunk-J5LGTIGS.mjs.map +7 -0
- package/dist/lib/browser/chunk-JYY5AD65.mjs +286 -0
- package/dist/lib/browser/chunk-JYY5AD65.mjs.map +7 -0
- package/dist/lib/browser/chunk-WP4WY2Y6.mjs +69 -0
- package/dist/lib/browser/chunk-WP4WY2Y6.mjs.map +7 -0
- package/dist/lib/browser/chunk-ZZRRSIQQ.mjs +26 -0
- package/dist/lib/browser/chunk-ZZRRSIQQ.mjs.map +7 -0
- package/dist/lib/browser/edge-model-resolver-YTMFQEN5.mjs +21 -0
- package/dist/lib/browser/edge-model-resolver-YTMFQEN5.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +295 -175
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/local-model-resolver-CGRQH37T.mjs +20 -0
- package/dist/lib/browser/local-model-resolver-CGRQH37T.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/operation-resolver-DYSWWNVG.mjs +123 -0
- package/dist/lib/browser/operation-resolver-DYSWWNVG.mjs.map +7 -0
- package/dist/lib/browser/react-surface-M3GSSFPC.mjs +142 -0
- package/dist/lib/browser/react-surface-M3GSSFPC.mjs.map +7 -0
- package/dist/lib/browser/settings-NC5DQWES.mjs +33 -0
- package/dist/lib/browser/settings-NC5DQWES.mjs.map +7 -0
- package/dist/lib/browser/state-EMIKHGYZ.mjs +26 -0
- package/dist/lib/browser/state-EMIKHGYZ.mjs.map +7 -0
- package/dist/lib/browser/toolkit-XRSBBB3L.mjs +16 -0
- package/dist/lib/browser/toolkit-XRSBBB3L.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +11 -4
- package/dist/lib/node-esm/AssistantSettings-3MNGBQB2.mjs +94 -0
- package/dist/lib/node-esm/AssistantSettings-3MNGBQB2.mjs.map +7 -0
- package/dist/lib/node-esm/BlueprintArticle-2KYFUQKY.mjs +36 -0
- package/dist/lib/node-esm/BlueprintArticle-2KYFUQKY.mjs.map +7 -0
- package/dist/lib/node-esm/ChatCompanion-MPQGSWZB.mjs +203 -0
- package/dist/lib/node-esm/ChatCompanion-MPQGSWZB.mjs.map +7 -0
- package/dist/lib/node-esm/ChatContainer-DMOAYUUM.mjs +13 -0
- package/dist/lib/node-esm/ChatContainer-DMOAYUUM.mjs.map +7 -0
- package/dist/lib/node-esm/ChatDialog-PV2EU2XM.mjs +86 -0
- package/dist/lib/node-esm/ChatDialog-PV2EU2XM.mjs.map +7 -0
- package/dist/lib/node-esm/ProjectArticle-BCIBESJN.mjs +92 -0
- package/dist/lib/node-esm/ProjectArticle-BCIBESJN.mjs.map +7 -0
- package/dist/lib/node-esm/ProjectSettings-K3YBQWDD.mjs +233 -0
- package/dist/lib/node-esm/ProjectSettings-K3YBQWDD.mjs.map +7 -0
- package/dist/lib/node-esm/PromptArticle-HAGZPZWV.mjs +72 -0
- package/dist/lib/node-esm/PromptArticle-HAGZPZWV.mjs.map +7 -0
- package/dist/lib/node-esm/TriggerStatus-V3QMIE7T.mjs +113 -0
- package/dist/lib/node-esm/TriggerStatus-V3QMIE7T.mjs.map +7 -0
- package/dist/lib/node-esm/ai-service-ZI3A6RVG.mjs +23 -0
- package/dist/lib/node-esm/ai-service-ZI3A6RVG.mjs.map +7 -0
- package/dist/lib/node-esm/app-graph-builder-YPHP6X6W.mjs +225 -0
- package/dist/lib/node-esm/app-graph-builder-YPHP6X6W.mjs.map +7 -0
- package/dist/lib/node-esm/blueprint-definition-UZWGSFBI.mjs +36 -0
- package/dist/lib/node-esm/blueprint-definition-UZWGSFBI.mjs.map +7 -0
- package/dist/lib/node-esm/blueprints/index.mjs +9 -0
- package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-5DLYAEBK.mjs +2126 -0
- package/dist/lib/node-esm/chunk-5DLYAEBK.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-AK3JJ76X.mjs +28 -0
- package/dist/lib/node-esm/chunk-AK3JJ76X.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-JMBYVUD6.mjs +288 -0
- package/dist/lib/node-esm/chunk-JMBYVUD6.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-JQAXFBBU.mjs +231 -0
- package/dist/lib/node-esm/chunk-JQAXFBBU.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-TEYTGR67.mjs +25 -0
- package/dist/lib/node-esm/chunk-TEYTGR67.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-ZTL6HRDB.mjs +70 -0
- package/dist/lib/node-esm/chunk-ZTL6HRDB.mjs.map +7 -0
- package/dist/lib/node-esm/edge-model-resolver-CMJ3KNLQ.mjs +22 -0
- package/dist/lib/node-esm/edge-model-resolver-CMJ3KNLQ.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +295 -175
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/local-model-resolver-FFDAKOXN.mjs +21 -0
- package/dist/lib/node-esm/local-model-resolver-FFDAKOXN.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/operation-resolver-EE4EBO2Y.mjs +124 -0
- package/dist/lib/node-esm/operation-resolver-EE4EBO2Y.mjs.map +7 -0
- package/dist/lib/node-esm/react-surface-U3PGFTKA.mjs +143 -0
- package/dist/lib/node-esm/react-surface-U3PGFTKA.mjs.map +7 -0
- package/dist/lib/node-esm/settings-OOAN5LAO.mjs +34 -0
- package/dist/lib/node-esm/settings-OOAN5LAO.mjs.map +7 -0
- package/dist/lib/node-esm/state-7A7QPQKK.mjs +27 -0
- package/dist/lib/node-esm/state-7A7QPQKK.mjs.map +7 -0
- package/dist/lib/node-esm/toolkit-5IWGLUF4.mjs +17 -0
- package/dist/lib/node-esm/toolkit-5IWGLUF4.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +11 -4
- package/dist/types/src/AssistantPlugin.d.ts +2 -1
- package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
- package/dist/types/src/blueprints/assistant/blueprint.d.ts +4 -0
- package/dist/types/src/blueprints/assistant/blueprint.d.ts.map +1 -0
- package/dist/types/src/blueprints/assistant/blueprint.test.d.ts +2 -0
- package/dist/types/src/blueprints/assistant/blueprint.test.d.ts.map +1 -0
- package/dist/types/src/blueprints/assistant/index.d.ts +2 -0
- package/dist/types/src/blueprints/assistant/index.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/capabilities/ai-service/ai-service.d.ts +6 -0
- package/dist/types/src/capabilities/ai-service/ai-service.d.ts.map +1 -0
- package/dist/types/src/capabilities/ai-service/index.d.ts +3 -0
- package/dist/types/src/capabilities/ai-service/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
- package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +6 -0
- package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -0
- package/dist/types/src/capabilities/blueprint-definition/index.d.ts +3 -0
- package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/edge-model-resolver/edge-model-resolver.d.ts +7 -0
- package/dist/types/src/capabilities/edge-model-resolver/edge-model-resolver.d.ts.map +1 -0
- package/dist/types/src/capabilities/edge-model-resolver/index.d.ts +3 -0
- package/dist/types/src/capabilities/edge-model-resolver/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +10 -4
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/local-model-resolver/index.d.ts +3 -0
- package/dist/types/src/capabilities/local-model-resolver/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/local-model-resolver/local-model-resolver.d.ts +13 -0
- package/dist/types/src/capabilities/local-model-resolver/local-model-resolver.d.ts.map +1 -0
- package/dist/types/src/capabilities/operation-resolver/index.d.ts +3 -0
- package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +5 -0
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
- package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
- package/dist/types/src/capabilities/settings/index.d.ts +15 -0
- package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/settings/settings.d.ts +18 -0
- package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
- package/dist/types/src/capabilities/state/index.d.ts +11 -0
- package/dist/types/src/capabilities/state/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/state/state.d.ts +13 -0
- package/dist/types/src/capabilities/state/state.d.ts.map +1 -0
- package/dist/types/src/capabilities/toolkit/index.d.ts +3 -0
- package/dist/types/src/capabilities/toolkit/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/toolkit/toolkit.d.ts +6 -0
- package/dist/types/src/capabilities/toolkit/toolkit.d.ts.map +1 -0
- package/dist/types/src/components/Chat/Chat.d.ts +39 -22
- package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
- package/dist/types/src/components/Chat/events.d.ts +10 -1
- package/dist/types/src/components/Chat/events.d.ts.map +1 -1
- package/dist/types/src/components/ChatProgress/ChatProgress.d.ts +7 -0
- package/dist/types/src/components/ChatProgress/ChatProgress.d.ts.map +1 -0
- package/dist/types/src/components/ChatProgress/index.d.ts +2 -0
- package/dist/types/src/components/ChatProgress/index.d.ts.map +1 -0
- package/dist/types/src/components/ChatPrompt/ChatActions.d.ts.map +1 -1
- package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts +20 -0
- package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts.map +1 -0
- package/dist/types/src/components/ChatPrompt/ChatPresets.d.ts.map +1 -1
- package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts +5 -6
- package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts.map +1 -1
- package/dist/types/src/components/ChatPrompt/ChatStatusIndicator.d.ts +6 -4
- package/dist/types/src/components/ChatPrompt/ChatStatusIndicator.d.ts.map +1 -1
- package/dist/types/src/components/ChatPrompt/index.d.ts +1 -1
- package/dist/types/src/components/ChatPrompt/index.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/ChatThread.d.ts +13 -11
- package/dist/types/src/components/ChatThread/ChatThread.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +318 -56
- package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/Link.d.ts +9 -0
- package/dist/types/src/components/ChatThread/Link.d.ts.map +1 -0
- package/dist/types/src/components/ChatThread/registry.d.ts +11 -0
- package/dist/types/src/components/ChatThread/registry.d.ts.map +1 -0
- package/dist/types/src/components/ChatThread/sync.d.ts +42 -0
- package/dist/types/src/components/ChatThread/sync.d.ts.map +1 -0
- package/dist/types/src/components/ChatThread/sync.test.d.ts +2 -0
- package/dist/types/src/components/ChatThread/sync.test.d.ts.map +1 -0
- package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts +2 -6
- package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
- package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts +437 -7
- package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +12 -2
- package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
- package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts +434 -2
- package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts.map +1 -1
- package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts +12 -0
- package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts.map +1 -0
- package/dist/types/src/components/TemplateEditor/extensions/index.d.ts +3 -0
- package/dist/types/src/components/TemplateEditor/extensions/index.d.ts.map +1 -0
- package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts +8 -0
- package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts.map +1 -0
- package/dist/types/src/components/ToolBlock/ToolBlock.d.ts +21 -0
- package/dist/types/src/components/ToolBlock/ToolBlock.d.ts.map +1 -0
- package/dist/types/src/components/ToolBlock/ToolBlockWidget.d.ts +2 -0
- package/dist/types/src/components/ToolBlock/ToolBlockWidget.d.ts.map +1 -0
- package/dist/types/src/components/ToolBlock/index.d.ts +3 -0
- package/dist/types/src/components/ToolBlock/index.d.ts.map +1 -0
- package/dist/types/src/components/Toolbox/Toolbox.d.ts +10 -16
- package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
- package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts +438 -5
- package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts.map +1 -1
- package/dist/types/src/components/Typewriter/AssistantToolbar.d.ts +12 -0
- package/dist/types/src/components/Typewriter/AssistantToolbar.d.ts.map +1 -0
- package/dist/types/src/components/Typewriter/Typewriter.d.ts +11 -0
- package/dist/types/src/components/Typewriter/Typewriter.d.ts.map +1 -0
- package/dist/types/src/components/Typewriter/Typewriter.stories.d.ts +7 -0
- package/dist/types/src/components/Typewriter/Typewriter.stories.d.ts.map +1 -0
- package/dist/types/src/components/Typewriter/assistant-extension.d.ts +5 -0
- package/dist/types/src/components/Typewriter/assistant-extension.d.ts.map +1 -0
- package/dist/types/src/components/Typewriter/index.d.ts +2 -0
- package/dist/types/src/components/Typewriter/index.d.ts.map +1 -0
- package/dist/types/src/components/index.d.ts +0 -8
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/containers/AssistantSettings/AssistantSettings.d.ts +8 -0
- package/dist/types/src/containers/AssistantSettings/AssistantSettings.d.ts.map +1 -0
- package/dist/types/src/containers/AssistantSettings/index.d.ts +3 -0
- package/dist/types/src/containers/AssistantSettings/index.d.ts.map +1 -0
- package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts +6 -0
- package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts.map +1 -0
- package/dist/types/src/containers/BlueprintArticle/index.d.ts +3 -0
- package/dist/types/src/containers/BlueprintArticle/index.d.ts.map +1 -0
- package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts +12 -0
- package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts.map +1 -0
- package/dist/types/src/containers/ChatCompanion/index.d.ts +3 -0
- package/dist/types/src/containers/ChatCompanion/index.d.ts.map +1 -0
- package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts +19 -0
- package/dist/types/src/containers/ChatContainer/ChatContainer.d.ts.map +1 -0
- package/dist/types/src/containers/ChatContainer/index.d.ts +3 -0
- package/dist/types/src/containers/ChatContainer/index.d.ts.map +1 -0
- package/dist/types/src/{components → containers/ChatDialog}/ChatDialog.d.ts +2 -3
- package/dist/types/src/containers/ChatDialog/ChatDialog.d.ts.map +1 -0
- package/dist/types/src/containers/ChatDialog/index.d.ts +3 -0
- package/dist/types/src/containers/ChatDialog/index.d.ts.map +1 -0
- package/dist/types/src/containers/Project/ProjectArticle.d.ts +7 -0
- package/dist/types/src/containers/Project/ProjectArticle.d.ts.map +1 -0
- package/dist/types/src/containers/Project/ProjectSettings.d.ts +6 -0
- package/dist/types/src/containers/Project/ProjectSettings.d.ts.map +1 -0
- package/dist/types/src/containers/Project/index.d.ts +7 -0
- package/dist/types/src/containers/Project/index.d.ts.map +1 -0
- package/dist/types/src/containers/Project/triggers.d.ts +6 -0
- package/dist/types/src/containers/Project/triggers.d.ts.map +1 -0
- package/dist/types/src/containers/PromptArticle/PromptArticle.d.ts +6 -0
- package/dist/types/src/containers/PromptArticle/PromptArticle.d.ts.map +1 -0
- package/dist/types/src/containers/PromptArticle/index.d.ts +3 -0
- package/dist/types/src/containers/PromptArticle/index.d.ts.map +1 -0
- package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts +4 -0
- package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts.map +1 -0
- package/dist/types/src/containers/TriggerStatus/index.d.ts +3 -0
- package/dist/types/src/containers/TriggerStatus/index.d.ts.map +1 -0
- package/dist/types/src/containers/index.d.ts +10 -0
- package/dist/types/src/containers/index.d.ts.map +1 -0
- package/dist/types/src/hooks/index.d.ts +8 -3
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useBlueprintRegistry.d.ts +25 -0
- package/dist/types/src/hooks/useBlueprintRegistry.d.ts.map +1 -0
- package/dist/types/src/hooks/useChatProcessor.d.ts +10 -20
- package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
- package/dist/types/src/hooks/useChatServices.d.ts +7 -8
- package/dist/types/src/hooks/useChatServices.d.ts.map +1 -1
- package/dist/types/src/hooks/useChatToolbarActions.d.ts +8 -0
- package/dist/types/src/hooks/useChatToolbarActions.d.ts.map +1 -0
- package/dist/types/src/hooks/useContextBinder.d.ts +4 -0
- package/dist/types/src/hooks/useContextBinder.d.ts.map +1 -0
- package/dist/types/src/hooks/useContextObjects.d.ts +15 -0
- package/dist/types/src/hooks/useContextObjects.d.ts.map +1 -0
- package/dist/types/src/hooks/useFilteredTypes.d.ts +3 -0
- package/dist/types/src/hooks/useFilteredTypes.d.ts.map +1 -0
- package/dist/types/src/hooks/useFlush.d.ts +6 -0
- package/dist/types/src/hooks/useFlush.d.ts.map +1 -0
- package/dist/types/src/hooks/useOnline.d.ts +3 -0
- package/dist/types/src/hooks/useOnline.d.ts.map +1 -0
- package/dist/types/src/hooks/usePresets.d.ts +7 -0
- package/dist/types/src/hooks/usePresets.d.ts.map +1 -0
- package/dist/types/src/hooks/useReferencesProvider.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +3 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +3 -4
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/processor/index.d.ts +4 -0
- package/dist/types/src/processor/index.d.ts.map +1 -0
- package/dist/types/src/{hooks → processor}/presets.d.ts +3 -3
- package/dist/types/src/processor/presets.d.ts.map +1 -0
- package/dist/types/src/processor/processor.d.ts +79 -0
- package/dist/types/src/processor/processor.d.ts.map +1 -0
- package/dist/types/src/processor/processor.test.d.ts +2 -0
- package/dist/types/src/processor/processor.test.d.ts.map +1 -0
- package/dist/types/src/processor/update-name.d.ts +10 -0
- package/dist/types/src/processor/update-name.d.ts.map +1 -0
- package/dist/types/src/queue-logger.d.ts.map +1 -1
- 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/testing/test-generator.d.ts +8 -0
- package/dist/types/src/testing/test-generator.d.ts.map +1 -0
- package/dist/types/src/testing/test-sequence.d.ts +0 -4
- package/dist/types/src/testing/test-sequence.d.ts.map +1 -1
- package/dist/types/src/testing/test-services.d.ts +2 -2
- package/dist/types/src/testing/test-services.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +382 -28
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Assistant.d.ts +20 -0
- package/dist/types/src/types/Assistant.d.ts.map +1 -0
- package/dist/types/src/types/AssistantAction.d.ts +93 -0
- package/dist/types/src/types/AssistantAction.d.ts.map +1 -0
- package/dist/types/src/types/capabilities.d.ts +33 -0
- package/dist/types/src/types/capabilities.d.ts.map +1 -0
- package/dist/types/src/types/defs.d.ts +2 -0
- package/dist/types/src/types/defs.d.ts.map +1 -0
- package/dist/types/src/types/events.d.ts +5 -0
- package/dist/types/src/types/events.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +6 -1
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/service.d.ts +14 -213
- package/dist/types/src/types/service.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +127 -100
- package/src/AssistantPlugin.tsx +153 -113
- package/src/blueprints/assistant/blueprint.conversations.json +1 -0
- package/src/blueprints/assistant/blueprint.test.ts +48 -0
- package/src/blueprints/assistant/blueprint.ts +27 -0
- package/src/blueprints/assistant/index.ts +5 -0
- package/src/{components/SequenceEditor → blueprints}/index.ts +1 -1
- package/src/capabilities/ai-service/ai-service.ts +30 -0
- package/src/capabilities/ai-service/index.ts +7 -0
- package/src/capabilities/app-graph-builder/app-graph-builder.ts +197 -0
- package/src/capabilities/app-graph-builder/index.ts +7 -0
- package/src/capabilities/blueprint-definition/blueprint-definition.ts +50 -0
- package/src/capabilities/blueprint-definition/index.ts +7 -0
- package/src/capabilities/edge-model-resolver/edge-model-resolver.ts +33 -0
- package/src/capabilities/edge-model-resolver/index.ts +7 -0
- package/src/capabilities/index.ts +10 -6
- package/src/capabilities/local-model-resolver/index.ts +7 -0
- package/src/capabilities/local-model-resolver/local-model-resolver.ts +38 -0
- package/src/capabilities/operation-resolver/index.ts +7 -0
- package/src/capabilities/operation-resolver/operation-resolver.ts +113 -0
- package/src/capabilities/react-surface/index.ts +7 -0
- package/src/capabilities/react-surface/react-surface.tsx +119 -0
- package/src/capabilities/settings/index.ts +7 -0
- package/src/capabilities/settings/settings.ts +31 -0
- package/src/capabilities/state/index.ts +7 -0
- package/src/capabilities/state/state.ts +27 -0
- package/src/capabilities/toolkit/index.ts +7 -0
- package/src/capabilities/toolkit/toolkit.ts +15 -0
- package/src/components/Chat/Chat.tsx +278 -198
- package/src/components/Chat/events.ts +14 -1
- package/src/components/ChatProgress/ChatProgress.tsx +53 -0
- package/src/components/ChatProgress/index.ts +5 -0
- package/src/components/ChatPrompt/ChatActions.tsx +20 -28
- package/src/components/ChatPrompt/ChatOptions.tsx +258 -0
- package/src/components/ChatPrompt/ChatPresets.tsx +1 -0
- package/src/components/ChatPrompt/ChatReferences.tsx +42 -38
- package/src/components/ChatPrompt/ChatStatusIndicator.tsx +25 -22
- package/src/components/ChatPrompt/index.ts +1 -1
- package/src/components/ChatThread/ChatThread.stories.tsx +123 -116
- package/src/components/ChatThread/ChatThread.tsx +75 -36
- package/src/components/ChatThread/Link.tsx +26 -0
- package/src/components/ChatThread/registry.tsx +207 -0
- package/src/components/ChatThread/sync.test.ts +99 -0
- package/src/components/ChatThread/sync.ts +160 -0
- package/src/components/ChatThread/testing/thread.md +37 -0
- package/src/components/TemplateEditor/TemplateEditor.stories.tsx +39 -18
- package/src/components/TemplateEditor/TemplateEditor.tsx +33 -54
- package/src/components/TemplateEditor/TemplateForm.stories.tsx +28 -15
- package/src/components/TemplateEditor/TemplateForm.tsx +84 -36
- package/src/components/TemplateEditor/extensions/handlebars-extension.ts +274 -0
- package/src/components/TemplateEditor/extensions/index.ts +6 -0
- package/src/components/TemplateEditor/extensions/xml-extension.ts +64 -0
- package/src/components/ToolBlock/ToolBlock.tsx +143 -0
- package/src/components/ToolBlock/ToolBlockWidget.tsx +5 -0
- package/src/components/ToolBlock/index.ts +6 -0
- package/src/components/Toolbox/Toolbox.stories.tsx +19 -29
- package/src/components/Toolbox/Toolbox.tsx +74 -104
- package/src/components/Typewriter/AssistantToolbar.tsx +161 -0
- package/src/components/Typewriter/Typewriter.stories.tsx +86 -0
- package/src/components/Typewriter/Typewriter.tsx +54 -0
- package/src/components/Typewriter/assistant-extension.tsx +142 -0
- package/src/components/Typewriter/index.ts +5 -0
- package/src/components/index.ts +0 -13
- package/src/containers/AssistantSettings/AssistantSettings.tsx +120 -0
- package/src/containers/AssistantSettings/index.ts +7 -0
- package/src/containers/BlueprintArticle/BlueprintArticle.tsx +29 -0
- package/src/containers/BlueprintArticle/index.ts +7 -0
- package/src/containers/ChatCompanion/ChatCompanion.tsx +225 -0
- package/src/containers/ChatCompanion/index.ts +7 -0
- package/src/containers/ChatContainer/ChatContainer.tsx +69 -0
- package/src/containers/ChatContainer/index.ts +7 -0
- package/src/containers/ChatDialog/ChatDialog.tsx +72 -0
- package/src/containers/ChatDialog/index.ts +7 -0
- package/src/containers/Project/ProjectArticle.tsx +117 -0
- package/src/containers/Project/ProjectSettings.tsx +134 -0
- package/src/containers/Project/index.ts +16 -0
- package/src/containers/Project/triggers.ts +149 -0
- package/src/containers/PromptArticle/PromptArticle.tsx +59 -0
- package/src/containers/PromptArticle/index.ts +7 -0
- package/src/containers/TriggerStatus/TriggerStatus.tsx +140 -0
- package/src/containers/TriggerStatus/index.ts +7 -0
- package/src/containers/index.ts +15 -0
- package/src/hooks/index.ts +8 -4
- package/src/hooks/useBlueprintRegistry.ts +108 -0
- package/src/hooks/useChatProcessor.ts +40 -105
- package/src/hooks/useChatServices.ts +31 -51
- package/src/hooks/useChatToolbarActions.ts +122 -0
- package/src/hooks/useContextBinder.ts +32 -0
- package/src/hooks/useContextObjects.ts +46 -0
- package/src/hooks/useFilteredTypes.ts +37 -0
- package/src/hooks/useFlush.ts +35 -0
- package/src/hooks/useOnline.ts +10 -0
- package/src/hooks/usePresets.ts +44 -0
- package/src/hooks/useReferencesProvider.ts +12 -13
- package/src/index.ts +3 -1
- package/src/meta.ts +11 -8
- package/src/processor/index.ts +7 -0
- package/src/{hooks → processor}/presets.ts +16 -8
- package/src/processor/processor.test.ts +73 -0
- package/src/processor/processor.ts +296 -0
- package/src/processor/update-name.ts +58 -0
- package/src/queue-logger.ts +17 -18
- package/src/testing/index.ts +1 -1
- package/src/testing/test-generator.ts +262 -0
- package/src/testing/test-sequence.ts +5 -30
- package/src/testing/test-services.ts +10 -14
- package/src/translations.ts +77 -20
- package/src/types/Assistant.ts +28 -0
- package/src/types/AssistantAction.ts +76 -0
- package/src/types/capabilities.ts +27 -0
- package/src/types/defs.ts +5 -0
- package/src/types/events.ts +11 -0
- package/src/types/index.ts +9 -1
- package/src/types/service.ts +27 -16
- package/src/vite-env.d.ts +30 -0
- package/dist/lib/browser/BlueprintContainer-IZ4AK5EO.mjs +0 -28
- package/dist/lib/browser/BlueprintContainer-IZ4AK5EO.mjs.map +0 -7
- package/dist/lib/browser/ChatContainer-RP3QEXYX.mjs +0 -54
- package/dist/lib/browser/ChatContainer-RP3QEXYX.mjs.map +0 -7
- package/dist/lib/browser/ChatDialog-ZVLXFHEY.mjs +0 -72
- package/dist/lib/browser/ChatDialog-ZVLXFHEY.mjs.map +0 -7
- package/dist/lib/browser/SequenceContainer-3UDVKWPA.mjs +0 -162
- package/dist/lib/browser/SequenceContainer-3UDVKWPA.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-XSEOKJLG.mjs +0 -164
- package/dist/lib/browser/app-graph-builder-XSEOKJLG.mjs.map +0 -7
- package/dist/lib/browser/chunk-63GG6U6D.mjs +0 -2226
- package/dist/lib/browser/chunk-63GG6U6D.mjs.map +0 -7
- package/dist/lib/browser/chunk-7W7LHTRH.mjs +0 -171
- package/dist/lib/browser/chunk-7W7LHTRH.mjs.map +0 -7
- package/dist/lib/browser/chunk-FDCJSQYF.mjs +0 -40
- package/dist/lib/browser/chunk-FDCJSQYF.mjs.map +0 -7
- package/dist/lib/browser/chunk-KFXSBNZR.mjs +0 -89
- package/dist/lib/browser/chunk-KFXSBNZR.mjs.map +0 -7
- package/dist/lib/browser/chunk-LERGF5YG.mjs +0 -108
- package/dist/lib/browser/chunk-LERGF5YG.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-MV3VSZLS.mjs +0 -75
- package/dist/lib/browser/intent-resolver-MV3VSZLS.mjs.map +0 -7
- package/dist/lib/browser/react-surface-3GYEHQRP.mjs +0 -150
- package/dist/lib/browser/react-surface-3GYEHQRP.mjs.map +0 -7
- package/dist/lib/browser/settings-5GTTCVGD.mjs +0 -22
- package/dist/lib/browser/settings-5GTTCVGD.mjs.map +0 -7
- package/dist/lib/node-esm/BlueprintContainer-RGTMNLNX.mjs +0 -29
- package/dist/lib/node-esm/BlueprintContainer-RGTMNLNX.mjs.map +0 -7
- package/dist/lib/node-esm/ChatContainer-W3W6FWV3.mjs +0 -55
- package/dist/lib/node-esm/ChatContainer-W3W6FWV3.mjs.map +0 -7
- package/dist/lib/node-esm/ChatDialog-QW4JRKVO.mjs +0 -73
- package/dist/lib/node-esm/ChatDialog-QW4JRKVO.mjs.map +0 -7
- package/dist/lib/node-esm/SequenceContainer-RQQH5XOC.mjs +0 -163
- package/dist/lib/node-esm/SequenceContainer-RQQH5XOC.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-PANCJUHV.mjs +0 -165
- package/dist/lib/node-esm/app-graph-builder-PANCJUHV.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-BFO3KHYL.mjs +0 -2227
- package/dist/lib/node-esm/chunk-BFO3KHYL.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-MS3PJARN.mjs +0 -109
- package/dist/lib/node-esm/chunk-MS3PJARN.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-QN2H2EHV.mjs +0 -41
- package/dist/lib/node-esm/chunk-QN2H2EHV.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-VIIMA3XQ.mjs +0 -90
- package/dist/lib/node-esm/chunk-VIIMA3XQ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-Z7PUODRT.mjs +0 -172
- package/dist/lib/node-esm/chunk-Z7PUODRT.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-3FMC3GHC.mjs +0 -76
- package/dist/lib/node-esm/intent-resolver-3FMC3GHC.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-QDQWJ7FZ.mjs +0 -151
- package/dist/lib/node-esm/react-surface-QDQWJ7FZ.mjs.map +0 -7
- package/dist/lib/node-esm/settings-J2EXEM5H.mjs +0 -23
- package/dist/lib/node-esm/settings-J2EXEM5H.mjs.map +0 -7
- package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
- package/dist/types/src/capabilities/app-graph-builder.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-surface.d.ts +0 -4
- package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
- package/dist/types/src/capabilities/settings.d.ts +0 -4
- package/dist/types/src/capabilities/settings.d.ts.map +0 -1
- package/dist/types/src/capability-definitions.d.ts +0 -7
- package/dist/types/src/capability-definitions.d.ts.map +0 -1
- package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts +0 -6
- package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +0 -1
- package/dist/types/src/components/AssistantSettings/index.d.ts +0 -2
- package/dist/types/src/components/AssistantSettings/index.d.ts.map +0 -1
- package/dist/types/src/components/BlueprintContainer.d.ts +0 -8
- package/dist/types/src/components/BlueprintContainer.d.ts.map +0 -1
- package/dist/types/src/components/ChatContainer.d.ts +0 -11
- package/dist/types/src/components/ChatContainer.d.ts.map +0 -1
- package/dist/types/src/components/ChatDialog.d.ts.map +0 -1
- package/dist/types/src/components/ChatPrompt/ChatOptionsMenu.d.ts +0 -9
- package/dist/types/src/components/ChatPrompt/ChatOptionsMenu.d.ts.map +0 -1
- package/dist/types/src/components/ChatThread/ChatMessage.d.ts +0 -17
- package/dist/types/src/components/ChatThread/ChatMessage.d.ts.map +0 -1
- package/dist/types/src/components/ChatThread/ToolBlock.d.ts +0 -19
- package/dist/types/src/components/ChatThread/ToolBlock.d.ts.map +0 -1
- package/dist/types/src/components/ChatThread/reducer.d.ts +0 -12
- package/dist/types/src/components/ChatThread/reducer.d.ts.map +0 -1
- package/dist/types/src/components/PromptSettings.d.ts +0 -6
- package/dist/types/src/components/PromptSettings.d.ts.map +0 -1
- package/dist/types/src/components/SequenceContainer.d.ts +0 -8
- package/dist/types/src/components/SequenceContainer.d.ts.map +0 -1
- package/dist/types/src/components/SequenceEditor/SequenceEditor.d.ts +0 -13
- package/dist/types/src/components/SequenceEditor/SequenceEditor.d.ts.map +0 -1
- package/dist/types/src/components/SequenceEditor/SequenceEditor.stories.d.ts +0 -8
- package/dist/types/src/components/SequenceEditor/SequenceEditor.stories.d.ts.map +0 -1
- package/dist/types/src/components/SequenceEditor/index.d.ts +0 -2
- package/dist/types/src/components/SequenceEditor/index.d.ts.map +0 -1
- package/dist/types/src/events.d.ts +0 -4
- package/dist/types/src/events.d.ts.map +0 -1
- package/dist/types/src/hooks/chat-processor.d.ts +0 -86
- package/dist/types/src/hooks/chat-processor.d.ts.map +0 -1
- package/dist/types/src/hooks/chat-processor.test.d.ts +0 -2
- package/dist/types/src/hooks/chat-processor.test.d.ts.map +0 -1
- package/dist/types/src/hooks/presets.d.ts.map +0 -1
- package/dist/types/src/hooks/useBlueprints.d.ts +0 -9
- package/dist/types/src/hooks/useBlueprints.d.ts.map +0 -1
- package/dist/types/src/parser/filter-generator.d.ts +0 -4
- package/dist/types/src/parser/filter-generator.d.ts.map +0 -1
- package/dist/types/src/parser/filter-generator.test.d.ts +0 -2
- package/dist/types/src/parser/filter-generator.test.d.ts.map +0 -1
- package/dist/types/src/parser/index.d.ts +0 -4
- package/dist/types/src/parser/index.d.ts.map +0 -1
- package/dist/types/src/parser/query-parser.d.ts +0 -15
- package/dist/types/src/parser/query-parser.d.ts.map +0 -1
- package/dist/types/src/parser/query-parser.test.d.ts +0 -2
- package/dist/types/src/parser/query-parser.test.d.ts.map +0 -1
- package/dist/types/src/parser/types.d.ts +0 -24
- package/dist/types/src/parser/types.d.ts.map +0 -1
- package/dist/types/src/stories/Chat.stories.d.ts +0 -207
- package/dist/types/src/stories/Chat.stories.d.ts.map +0 -1
- package/dist/types/src/testing/test-functions.d.ts +0 -3
- package/dist/types/src/testing/test-functions.d.ts.map +0 -1
- package/dist/types/src/tools/function.d.ts +0 -5
- package/dist/types/src/tools/function.d.ts.map +0 -1
- package/dist/types/src/tools/index.d.ts +0 -3
- package/dist/types/src/tools/index.d.ts.map +0 -1
- package/dist/types/src/tools/openapi.d.ts +0 -10
- package/dist/types/src/tools/openapi.d.ts.map +0 -1
- package/dist/types/src/tools/openapi.test.d.ts +0 -2
- package/dist/types/src/tools/openapi.test.d.ts.map +0 -1
- package/dist/types/src/types/schema.d.ts +0 -120
- package/dist/types/src/types/schema.d.ts.map +0 -1
- package/src/capabilities/app-graph-builder.ts +0 -169
- package/src/capabilities/intent-resolver.ts +0 -72
- package/src/capabilities/react-surface.tsx +0 -138
- package/src/capabilities/settings.ts +0 -19
- package/src/capability-definitions.ts +0 -15
- package/src/components/AssistantSettings/AssistantSettings.tsx +0 -105
- package/src/components/AssistantSettings/index.ts +0 -5
- package/src/components/BlueprintContainer.tsx +0 -24
- package/src/components/ChatContainer.tsx +0 -45
- package/src/components/ChatDialog.tsx +0 -64
- package/src/components/ChatPrompt/ChatOptionsMenu.tsx +0 -52
- package/src/components/ChatThread/ChatMessage.tsx +0 -268
- package/src/components/ChatThread/ToolBlock.tsx +0 -121
- package/src/components/ChatThread/reducer.ts +0 -52
- package/src/components/PromptSettings.tsx +0 -89
- package/src/components/SequenceContainer.tsx +0 -132
- package/src/components/SequenceEditor/SequenceEditor.stories.tsx +0 -32
- package/src/components/SequenceEditor/SequenceEditor.tsx +0 -50
- package/src/events.ts +0 -11
- package/src/hooks/chat-processor.test.ts +0 -16
- package/src/hooks/chat-processor.ts +0 -314
- package/src/hooks/useBlueprints.ts +0 -57
- package/src/parser/filter-generator.test.ts +0 -32
- package/src/parser/filter-generator.ts +0 -81
- package/src/parser/index.ts +0 -7
- package/src/parser/query-parser.test.ts +0 -139
- package/src/parser/query-parser.ts +0 -199
- package/src/parser/types.ts +0 -34
- package/src/shims.d.ts +0 -8
- package/src/stories/Chat.stories.tsx +0 -371
- package/src/testing/test-functions.ts +0 -11
- package/src/tools/function.ts +0 -46
- package/src/tools/index.ts +0 -6
- package/src/tools/openapi.test.ts +0 -217
- package/src/tools/openapi.ts +0 -338
- package/src/types/schema.ts +0 -108
- package/src/typings.d.ts +0 -9
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/containers/Project/ProjectArticle.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport { Atom, useAtomValue } from '@effect-atom/atom-react';\nimport * as Option from 'effect/Option';\nimport React, { forwardRef, useMemo, useState } from 'react';\n\nimport { Surface } from '@dxos/app-framework/ui';\nimport { type SurfaceComponentProps, useObjectMenuItems, useObjectNavigate } from '@dxos/app-toolkit/ui';\nimport { type Project } from '@dxos/assistant-toolkit';\nimport { Filter, Obj, Query } from '@dxos/echo';\nimport { AtomObj, AtomRef } from '@dxos/echo-atom';\nimport { useQuery } from '@dxos/react-client/echo';\nimport { Card, Panel, ScrollArea, Toolbar } from '@dxos/react-ui';\nimport { Menu } from '@dxos/react-ui-menu';\nimport { Focus, Mosaic, type MosaicTileProps } from '@dxos/react-ui-mosaic';\nimport { isNonNullable } from '@dxos/util';\n\nexport type ProjectArticleProps = SurfaceComponentProps<Project.Project>;\n\nexport const ProjectArticle = ({ subject: project }: ProjectArticleProps) => {\n const inputQueue = useAtomValue(\n AtomObj.make(project).pipe((_) =>\n Atom.make((get) =>\n Option.fromNullable(get(_).queue).pipe(Option.map(AtomRef.make), Option.map(get), Option.getOrUndefined),\n ),\n ),\n );\n\n const inputQueueItems: Obj.Unknown[] = useQuery(inputQueue, Query.select(Filter.everything()));\n\n const artifacts = useAtomValue(\n useMemo(\n () =>\n AtomObj.make(project).pipe((project) =>\n Atom.make((get) => {\n return get(project).artifacts.map((artifact) => get(AtomRef.make(artifact.data)) as Obj.Unknown);\n }),\n ),\n [project],\n ),\n );\n\n const [viewport, setViewport] = useState<HTMLElement | null>(null);\n\n const stackObjects = [...artifacts, ...inputQueueItems].filter(isNonNullable);\n\n return (\n <Panel.Root className='dx-article'>\n <Panel.Content>\n {/* TODO(burdon): Factor out. */}\n {stackObjects.length === 0 && (\n <div className='text-subdued'>\n Project has no objects associated with it.\n <br />\n <br />\n To get started:\n <br />- Write the initative spec: what is the goal of the project?\n <br />- subscribe project to your email.\n <br />- Chat with the agent.\n </div>\n )}\n\n {stackObjects.length > 0 && (\n <Focus.Group asChild>\n <Mosaic.Container asChild withFocus autoScroll={viewport}>\n <ScrollArea.Root orientation='vertical'>\n <ScrollArea.Viewport classNames='p-2' ref={setViewport}>\n <Mosaic.Stack items={stackObjects} getId={(item) => item.id} draggable={false} Tile={StackTile} />\n </ScrollArea.Viewport>\n </ScrollArea.Root>\n </Mosaic.Container>\n </Focus.Group>\n )}\n </Panel.Content>\n </Panel.Root>\n );\n};\n\nconst StackTile = forwardRef<HTMLDivElement, MosaicTileProps<Obj.Unknown>>(\n ({ data, location, debug }, forwardedRef) => {\n const objectMenuItems = useObjectMenuItems(data);\n const handleNavigate = useObjectNavigate(data);\n\n return (\n <Mosaic.Tile asChild id={data.id} data={data} location={location} debug={debug}>\n <Focus.Group asChild>\n <Menu.Root>\n <Card.Root ref={forwardedRef} data-testid='board-item'>\n <Card.Toolbar>\n <Card.IconBlock></Card.IconBlock>\n <Card.Title onClick={handleNavigate}>{Obj.getLabel(data)}</Card.Title>\n {/* TODO(wittjosiah): Reconcile with Card.Menu. */}\n <Menu.Trigger asChild disabled={!objectMenuItems?.length}>\n <Toolbar.IconButton\n iconOnly\n variant='ghost'\n icon='ph--dots-three-vertical--regular'\n label='Actions'\n />\n </Menu.Trigger>\n <Menu.Content items={objectMenuItems} />\n </Card.Toolbar>\n <Card.Content>\n <Surface.Surface role='card--content' limit={1} data={{ subject: data }} />\n </Card.Content>\n </Card.Root>\n </Menu.Root>\n </Focus.Group>\n </Mosaic.Tile>\n );\n },\n);\nStackTile.displayName = 'StackTile';\n\nexport default ProjectArticle;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Atom", "useAtomValue", "Option", "React", "forwardRef", "useMemo", "useState", "Surface", "useObjectMenuItems", "useObjectNavigate", "Filter", "Obj", "Query", "AtomObj", "AtomRef", "useQuery", "Card", "Panel", "ScrollArea", "Toolbar", "Menu", "Focus", "Mosaic", "isNonNullable", "ProjectArticle", "subject", "project", "inputQueue", "useAtomValue", "AtomObj", "make", "pipe", "_", "Atom", "get", "fromNullable", "queue", "map", "AtomRef", "getOrUndefined", "inputQueueItems", "useQuery", "Query", "select", "Filter", "everything", "artifacts", "useMemo", "artifact", "data", "viewport", "setViewport", "useState", "stackObjects", "filter", "isNonNullable", "Panel", "Root", "className", "Content", "length", "div", "br", "Focus", "Group", "asChild", "Mosaic", "Container", "withFocus", "autoScroll", "ScrollArea", "orientation", "Viewport", "classNames", "ref", "Stack", "items", "getId", "item", "id", "draggable", "Tile", "StackTile", "forwardRef", "location", "debug", "forwardedRef", "objectMenuItems", "useObjectMenuItems", "handleNavigate", "useObjectNavigate", "Menu", "Card", "data-testid", "Toolbar", "IconBlock", "Title", "onClick", "Obj", "getLabel", "Trigger", "disabled", "IconButton", "iconOnly", "variant", "icon", "label", "Surface", "role", "limit", "displayName"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/containers/Project/ProjectSettings.tsx
|
|
4
|
+
import { Atom } from "@effect-atom/atom";
|
|
5
|
+
import { useAtomValue } from "@effect-atom/atom-react";
|
|
6
|
+
import * as Effect from "effect/Effect";
|
|
7
|
+
import * as Option2 from "effect/Option";
|
|
8
|
+
import React, { useCallback, useEffect, useMemo } from "react";
|
|
9
|
+
import { useCapability } from "@dxos/app-framework/ui";
|
|
10
|
+
import { Project } from "@dxos/assistant-toolkit";
|
|
11
|
+
import { DXN, Obj as Obj2, Ref as Ref2 } from "@dxos/echo";
|
|
12
|
+
import { AtomObj, AtomRef } from "@dxos/echo-atom";
|
|
13
|
+
import { QueueService } from "@dxos/functions";
|
|
14
|
+
import { AutomationCapabilities } from "@dxos/plugin-automation/types";
|
|
15
|
+
import { MarkdownEditor } from "@dxos/plugin-markdown";
|
|
16
|
+
import { Filter as Filter2, useQuery } from "@dxos/react-client/echo";
|
|
17
|
+
import { useObject } from "@dxos/react-client/echo";
|
|
18
|
+
import { Button } from "@dxos/react-ui";
|
|
19
|
+
import { ButtonGroup, Input } from "@dxos/react-ui";
|
|
20
|
+
import { FeedAnnotation as FeedAnnotation2 } from "@dxos/schema";
|
|
21
|
+
|
|
22
|
+
// src/containers/Project/triggers.ts
|
|
23
|
+
import * as Option from "effect/Option";
|
|
24
|
+
import { ProjectFunctions } from "@dxos/assistant-toolkit";
|
|
25
|
+
import { Feed, Obj, Ref } from "@dxos/echo";
|
|
26
|
+
import { FunctionDefinition, Trigger } from "@dxos/functions";
|
|
27
|
+
import { Filter } from "@dxos/react-client/echo";
|
|
28
|
+
import { FeedAnnotation } from "@dxos/schema";
|
|
29
|
+
var PROJECT_TRIGGER_EXTENSION_KEY = "org.dxos.extension.ProjectTrigger";
|
|
30
|
+
var PROJECT_TRIGGER_TARGET_EXTENSION_KEY = "org.dxos.extension.ProjectTriggerTarget";
|
|
31
|
+
var hasFeedAnnotation = (obj) => {
|
|
32
|
+
const schema = Obj.getSchema(obj);
|
|
33
|
+
if (!schema) {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
const annotation = FeedAnnotation.get(schema);
|
|
37
|
+
return Option.isSome(annotation) && annotation.value === true;
|
|
38
|
+
};
|
|
39
|
+
var syncTriggers = async (project) => {
|
|
40
|
+
const db = Obj.getDatabase(project);
|
|
41
|
+
if (!db) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const triggers = await db.query(Filter.foreignKeys(Trigger.Trigger, [
|
|
45
|
+
{
|
|
46
|
+
source: PROJECT_TRIGGER_EXTENSION_KEY,
|
|
47
|
+
id: project.id
|
|
48
|
+
}
|
|
49
|
+
])).run();
|
|
50
|
+
for (const trigger of triggers) {
|
|
51
|
+
const target = Obj.getKeys(trigger, PROJECT_TRIGGER_TARGET_EXTENSION_KEY).at(0)?.id;
|
|
52
|
+
const exists = project.subscriptions.find((subscription) => subscription.dxn.toString() === target);
|
|
53
|
+
if (!exists && !(project.useQualifyingAgent && target === Obj.getDXN(project)?.toString())) {
|
|
54
|
+
db.remove(trigger);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
for (const subscription of project.subscriptions) {
|
|
58
|
+
const relevantTrigger = triggers.find((trigger) => Obj.getKeys(trigger, PROJECT_TRIGGER_TARGET_EXTENSION_KEY).some((key) => key.id === subscription.dxn.toString()));
|
|
59
|
+
if (relevantTrigger) {
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
const target = await subscription.tryLoad();
|
|
63
|
+
if (!target) {
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
let feedObj;
|
|
67
|
+
if (Obj.instanceOf(Feed.Feed, target)) {
|
|
68
|
+
feedObj = target;
|
|
69
|
+
} else if (hasFeedAnnotation(target)) {
|
|
70
|
+
feedObj = await target.feed?.tryLoad();
|
|
71
|
+
}
|
|
72
|
+
const queueDxn = Option.fromNullable(feedObj).pipe(Option.filter(Obj.instanceOf(Feed.Feed)), Option.map(Feed.getQueueDxn), Option.getOrUndefined);
|
|
73
|
+
if (!queueDxn) {
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
db.add(Trigger.make({
|
|
77
|
+
[Obj.Parent]: project,
|
|
78
|
+
[Obj.Meta]: {
|
|
79
|
+
keys: [
|
|
80
|
+
// TODO(dmaretskyi): Query by parent instead of manually adding keys.
|
|
81
|
+
{
|
|
82
|
+
source: PROJECT_TRIGGER_EXTENSION_KEY,
|
|
83
|
+
id: project.id
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
source: PROJECT_TRIGGER_TARGET_EXTENSION_KEY,
|
|
87
|
+
id: subscription.dxn.toString()
|
|
88
|
+
}
|
|
89
|
+
]
|
|
90
|
+
},
|
|
91
|
+
enabled: true,
|
|
92
|
+
spec: {
|
|
93
|
+
kind: "queue",
|
|
94
|
+
queue: queueDxn.toString()
|
|
95
|
+
},
|
|
96
|
+
function: Ref.make(FunctionDefinition.serialize(project.useQualifyingAgent ? ProjectFunctions.Qualifier : ProjectFunctions.Agent)),
|
|
97
|
+
input: {
|
|
98
|
+
project: Ref.make(project),
|
|
99
|
+
event: "{{event}}"
|
|
100
|
+
},
|
|
101
|
+
concurrency: project.useQualifyingAgent ? 5 : void 0
|
|
102
|
+
}));
|
|
103
|
+
}
|
|
104
|
+
if (project.useQualifyingAgent) {
|
|
105
|
+
const qualifierTrigger = triggers.find((trigger) => Obj.getKeys(trigger, PROJECT_TRIGGER_TARGET_EXTENSION_KEY).some((key) => key.id === Obj.getDXN(project)?.toString()));
|
|
106
|
+
if (!qualifierTrigger && project.queue) {
|
|
107
|
+
db.add(Trigger.make({
|
|
108
|
+
[Obj.Parent]: project,
|
|
109
|
+
[Obj.Meta]: {
|
|
110
|
+
keys: [
|
|
111
|
+
{
|
|
112
|
+
source: PROJECT_TRIGGER_EXTENSION_KEY,
|
|
113
|
+
id: project.id
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
source: PROJECT_TRIGGER_TARGET_EXTENSION_KEY,
|
|
117
|
+
id: Obj.getDXN(project)?.toString() ?? ""
|
|
118
|
+
}
|
|
119
|
+
]
|
|
120
|
+
},
|
|
121
|
+
function: Ref.make(FunctionDefinition.serialize(ProjectFunctions.Agent)),
|
|
122
|
+
enabled: true,
|
|
123
|
+
spec: {
|
|
124
|
+
kind: "queue",
|
|
125
|
+
queue: project.queue.dxn.toString()
|
|
126
|
+
},
|
|
127
|
+
input: {
|
|
128
|
+
project: Ref.make(project),
|
|
129
|
+
event: "{{event}}"
|
|
130
|
+
}
|
|
131
|
+
}));
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
await db.flush({
|
|
135
|
+
indexes: true
|
|
136
|
+
});
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
// src/containers/Project/ProjectSettings.tsx
|
|
140
|
+
var ProjectSettings = ({ subject: project }) => {
|
|
141
|
+
const computeRuntime = useCapability(AutomationCapabilities.ComputeRuntime);
|
|
142
|
+
const handleResetHistory = useCallback(async () => {
|
|
143
|
+
const runtime = computeRuntime.getRuntime(Obj2.getDatabase(project).spaceId);
|
|
144
|
+
await runtime.runPromise(Project.resetChatHistory(project));
|
|
145
|
+
if (!project.queue) {
|
|
146
|
+
await runtime.runPromise(Effect.gen(function* () {
|
|
147
|
+
const queue = yield* QueueService.createQueue();
|
|
148
|
+
Obj2.change(project, (project2) => {
|
|
149
|
+
project2.queue = Ref2.fromDXN(queue.dxn);
|
|
150
|
+
});
|
|
151
|
+
}));
|
|
152
|
+
}
|
|
153
|
+
}, [
|
|
154
|
+
project,
|
|
155
|
+
computeRuntime
|
|
156
|
+
]);
|
|
157
|
+
const spec = useAtomValue(AtomRef.make(project.spec));
|
|
158
|
+
const [specInitialValue] = useObject(spec, "content");
|
|
159
|
+
useEffect(() => {
|
|
160
|
+
return Obj2.subscribe(project, () => {
|
|
161
|
+
queueMicrotask(() => syncTriggers(project));
|
|
162
|
+
});
|
|
163
|
+
}, [
|
|
164
|
+
project
|
|
165
|
+
]);
|
|
166
|
+
const db = Obj2.getDatabase(project);
|
|
167
|
+
const feedFilter = useMemo(() => {
|
|
168
|
+
if (!db) {
|
|
169
|
+
return Filter2.nothing();
|
|
170
|
+
}
|
|
171
|
+
const schemas = db.schemaRegistry.query({
|
|
172
|
+
location: [
|
|
173
|
+
"database",
|
|
174
|
+
"runtime"
|
|
175
|
+
]
|
|
176
|
+
}).runSync();
|
|
177
|
+
const feedSchemas = schemas.filter((schema) => {
|
|
178
|
+
const annotation = FeedAnnotation2.get(schema);
|
|
179
|
+
return Option2.isSome(annotation) && annotation.value === true;
|
|
180
|
+
});
|
|
181
|
+
if (feedSchemas.length === 0) {
|
|
182
|
+
return Filter2.nothing();
|
|
183
|
+
}
|
|
184
|
+
return Filter2.or(...feedSchemas.map((schema) => Filter2.type(schema)));
|
|
185
|
+
}, [
|
|
186
|
+
db
|
|
187
|
+
]);
|
|
188
|
+
const subscribableObjects = useQuery(db, feedFilter);
|
|
189
|
+
const existingSubscripts = useAtomValue(useMemo(() => AtomObj.make(project).pipe((_) => Atom.make((get) => {
|
|
190
|
+
const project2 = get(_);
|
|
191
|
+
const selectedSubscriptions = subscribableObjects.filter((object) => project2.subscriptions.some((subscription) => DXN.equals(subscription.dxn, Obj2.getDXN(object))));
|
|
192
|
+
return selectedSubscriptions;
|
|
193
|
+
})), [
|
|
194
|
+
project,
|
|
195
|
+
subscribableObjects
|
|
196
|
+
]));
|
|
197
|
+
return /* @__PURE__ */ React.createElement("div", {
|
|
198
|
+
className: "flex flex-col gap-4"
|
|
199
|
+
}, /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement(Input.Label, null, "Spec (what is the goal of the project?)"), /* @__PURE__ */ React.createElement(MarkdownEditor.Root, {
|
|
200
|
+
id: spec?.id ?? "",
|
|
201
|
+
object: spec
|
|
202
|
+
}, /* @__PURE__ */ React.createElement(MarkdownEditor.Content, {
|
|
203
|
+
initialValue: specInitialValue
|
|
204
|
+
}))), /* @__PURE__ */ React.createElement(ButtonGroup, {
|
|
205
|
+
classNames: "h-10"
|
|
206
|
+
}, /* @__PURE__ */ React.createElement(Button, {
|
|
207
|
+
onClick: handleResetHistory
|
|
208
|
+
}, "Reset Chat History")), /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("h2", {
|
|
209
|
+
className: "text-lg font-bold"
|
|
210
|
+
}, "Subscriptions"), subscribableObjects.length > 0 && /* @__PURE__ */ React.createElement("div", null, subscribableObjects.map((object) => /* @__PURE__ */ React.createElement(Input.Root, {
|
|
211
|
+
key: object.id
|
|
212
|
+
}, /* @__PURE__ */ React.createElement(Input.Checkbox, {
|
|
213
|
+
checked: existingSubscripts.includes(object),
|
|
214
|
+
onCheckedChange: (checked) => {
|
|
215
|
+
Obj2.change(project, (project2) => {
|
|
216
|
+
if (checked) {
|
|
217
|
+
project2.subscriptions.push(Ref2.fromDXN(Obj2.getDXN(object)));
|
|
218
|
+
} else {
|
|
219
|
+
project2.subscriptions = project2.subscriptions.filter((subscription) => !DXN.equals(subscription.dxn, Obj2.getDXN(object)));
|
|
220
|
+
}
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
}), /* @__PURE__ */ React.createElement(Input.Label, null, Obj2.getLabel(object))))), subscribableObjects.length === 0 && /* @__PURE__ */ React.createElement("div", {
|
|
224
|
+
className: "text-sm text-description"
|
|
225
|
+
}, "Space has no feeds to subscribe to.")));
|
|
226
|
+
};
|
|
227
|
+
var ProjectSettings_default = ProjectSettings;
|
|
228
|
+
export {
|
|
229
|
+
ProjectSettings,
|
|
230
|
+
ProjectSettings_default as default
|
|
231
|
+
};
|
|
232
|
+
//# sourceMappingURL=ProjectSettings-L5MCDUXK.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/containers/Project/ProjectSettings.tsx", "../../../src/containers/Project/triggers.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom } from '@effect-atom/atom';\nimport { useAtomValue } from '@effect-atom/atom-react';\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\nimport React, { useCallback, useEffect, useMemo } from 'react';\n\nimport { useCapability } from '@dxos/app-framework/ui';\nimport { type SurfaceComponentProps } from '@dxos/app-toolkit/ui';\nimport { Project } from '@dxos/assistant-toolkit';\nimport { DXN, Obj, Ref } from '@dxos/echo';\nimport { AtomObj, AtomRef } from '@dxos/echo-atom';\nimport { QueueService } from '@dxos/functions';\nimport { AutomationCapabilities } from '@dxos/plugin-automation/types';\nimport { MarkdownEditor } from '@dxos/plugin-markdown';\nimport { Filter, useQuery } from '@dxos/react-client/echo';\nimport { useObject } from '@dxos/react-client/echo';\nimport { Button } from '@dxos/react-ui';\nimport { ButtonGroup, Input } from '@dxos/react-ui';\nimport { FeedAnnotation } from '@dxos/schema';\n\nimport { syncTriggers } from './triggers';\n\nexport const ProjectSettings = ({ subject: project }: SurfaceComponentProps<Project.Project>) => {\n const computeRuntime = useCapability(AutomationCapabilities.ComputeRuntime);\n\n const handleResetHistory = useCallback(async () => {\n const runtime = computeRuntime.getRuntime(Obj.getDatabase(project)!.spaceId);\n\n await runtime.runPromise(Project.resetChatHistory(project));\n\n if (!project.queue) {\n await runtime.runPromise(\n Effect.gen(function* () {\n const queue = yield* QueueService.createQueue();\n Obj.change(project, (project) => {\n project.queue = Ref.fromDXN(queue.dxn);\n });\n }),\n );\n }\n }, [project, computeRuntime]);\n\n const spec = useAtomValue(AtomRef.make(project.spec));\n const [specInitialValue] = useObject(spec, 'content');\n\n useEffect(() => {\n return Obj.subscribe(project, () => {\n queueMicrotask(() => syncTriggers(project));\n });\n }, [project]);\n\n const db = Obj.getDatabase(project);\n const feedFilter = useMemo(() => {\n if (!db) {\n return Filter.nothing();\n }\n const schemas = db.schemaRegistry.query({ location: ['database', 'runtime'] }).runSync();\n const feedSchemas = schemas.filter((schema) => {\n const annotation = FeedAnnotation.get(schema);\n return Option.isSome(annotation) && annotation.value === true;\n });\n if (feedSchemas.length === 0) {\n return Filter.nothing();\n }\n return Filter.or(...feedSchemas.map((schema) => Filter.type(schema)));\n }, [db]);\n const subscribableObjects = useQuery(db, feedFilter);\n\n const existingSubscripts = useAtomValue(\n useMemo(\n () =>\n AtomObj.make(project).pipe((_) =>\n Atom.make((get) => {\n const project = get(_);\n const selectedSubscriptions: Obj.Unknown[] = subscribableObjects.filter((object) =>\n project.subscriptions.some((subscription) => DXN.equals(subscription.dxn, Obj.getDXN(object))),\n );\n\n return selectedSubscriptions;\n }),\n ),\n [project, subscribableObjects],\n ),\n );\n\n return (\n <div className='flex flex-col gap-4'>\n <Input.Root>\n <Input.Label>Spec (what is the goal of the project?)</Input.Label>\n <MarkdownEditor.Root id={spec?.id ?? ''} object={spec}>\n <MarkdownEditor.Content initialValue={specInitialValue} />\n </MarkdownEditor.Root>\n </Input.Root>\n <ButtonGroup classNames='h-10'>\n <Button onClick={handleResetHistory}>Reset Chat History</Button>\n </ButtonGroup>\n <div>\n <h2 className='text-lg font-bold'>Subscriptions</h2>\n {subscribableObjects.length > 0 && (\n <div>\n {subscribableObjects.map((object) => (\n <Input.Root key={object.id}>\n <Input.Checkbox\n checked={existingSubscripts.includes(object)}\n onCheckedChange={(checked) => {\n Obj.change(project, (project) => {\n if (checked) {\n project.subscriptions.push(Ref.fromDXN(Obj.getDXN(object)));\n } else {\n project.subscriptions = project.subscriptions.filter(\n (subscription) => !DXN.equals(subscription.dxn, Obj.getDXN(object)),\n );\n }\n });\n }}\n />\n <Input.Label>{Obj.getLabel(object)}</Input.Label>\n </Input.Root>\n ))}\n </div>\n )}\n {subscribableObjects.length === 0 && (\n <div className='text-sm text-description'>Space has no feeds to subscribe to.</div>\n )}\n </div>\n </div>\n );\n};\n\nexport default ProjectSettings;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Option from 'effect/Option';\n\nimport { type Project, ProjectFunctions } from '@dxos/assistant-toolkit';\nimport { Feed, Obj, Ref } from '@dxos/echo';\nimport { FunctionDefinition, Trigger } from '@dxos/functions';\nimport { Filter } from '@dxos/react-client/echo';\nimport { FeedAnnotation } from '@dxos/schema';\n\n// TODO(dmaretskyi): Perhaps the association is better done with a relation.\n\n/**\n * Foreign key {@link PROJECT_TRIGGER_EXTENSION_KEY} => <initative id : ObjectId>\n */\nconst PROJECT_TRIGGER_EXTENSION_KEY = 'org.dxos.extension.ProjectTrigger';\n\n/**\n * Foreign key {@link PROJECT_TRIGGER_EXTENSION_KEY} => <dxn string of subscription target>\n */\nconst PROJECT_TRIGGER_TARGET_EXTENSION_KEY = 'org.dxos.extension.ProjectTriggerTarget';\n\n/** Checks if an object's schema has the FeedAnnotation. */\nconst hasFeedAnnotation = (obj: Obj.Unknown): boolean => {\n const schema = Obj.getSchema(obj);\n if (!schema) {\n return false;\n }\n const annotation = FeedAnnotation.get(schema);\n return Option.isSome(annotation) && annotation.value === true;\n};\n\n/**\n * Syncs triggers in the database with the project subscriptions.\n */\nexport const syncTriggers = async (project: Project.Project) => {\n const db = Obj.getDatabase(project);\n if (!db) {\n return;\n }\n\n const triggers = await db\n .query(Filter.foreignKeys(Trigger.Trigger, [{ source: PROJECT_TRIGGER_EXTENSION_KEY, id: project.id }]))\n .run();\n\n // Delete triggers that are not in subscriptions.\n for (const trigger of triggers) {\n const target = Obj.getKeys(trigger, PROJECT_TRIGGER_TARGET_EXTENSION_KEY).at(0)?.id;\n\n const exists = project.subscriptions.find((subscription) => subscription.dxn.toString() === target);\n if (!exists && !(project.useQualifyingAgent && target === Obj.getDXN(project)?.toString())) {\n db.remove(trigger);\n }\n }\n\n // Add triggers that are not in the database.\n for (const subscription of project.subscriptions) {\n const relevantTrigger = triggers.find((trigger) =>\n Obj.getKeys(trigger, PROJECT_TRIGGER_TARGET_EXTENSION_KEY).some((key) => key.id === subscription.dxn.toString()),\n );\n if (relevantTrigger) {\n continue;\n }\n\n const target = await subscription.tryLoad();\n if (!target) {\n continue;\n }\n\n let feedObj: Feed.Feed | undefined;\n if (Obj.instanceOf(Feed.Feed, target)) {\n feedObj = target;\n } else if (hasFeedAnnotation(target)) {\n feedObj = await (target as any).feed?.tryLoad();\n }\n\n const queueDxn = Option.fromNullable(feedObj).pipe(\n Option.filter(Obj.instanceOf(Feed.Feed)),\n Option.map(Feed.getQueueDxn),\n Option.getOrUndefined,\n );\n if (!queueDxn) {\n continue;\n }\n\n db.add(\n Trigger.make({\n [Obj.Parent]: project,\n [Obj.Meta]: {\n keys: [\n // TODO(dmaretskyi): Query by parent instead of manually adding keys.\n { source: PROJECT_TRIGGER_EXTENSION_KEY, id: project.id },\n { source: PROJECT_TRIGGER_TARGET_EXTENSION_KEY, id: subscription.dxn.toString() },\n ],\n },\n enabled: true,\n spec: {\n kind: 'queue',\n queue: queueDxn.toString(),\n },\n function: Ref.make(\n FunctionDefinition.serialize(\n project.useQualifyingAgent ? ProjectFunctions.Qualifier : ProjectFunctions.Agent,\n ),\n ),\n input: {\n project: Ref.make(project),\n event: '{{event}}',\n },\n concurrency: project.useQualifyingAgent ? 5 : undefined,\n }),\n );\n }\n\n if (project.useQualifyingAgent) {\n const qualifierTrigger = triggers.find((trigger) =>\n Obj.getKeys(trigger, PROJECT_TRIGGER_TARGET_EXTENSION_KEY).some(\n (key) => key.id === Obj.getDXN(project)?.toString(),\n ),\n );\n if (!qualifierTrigger && project.queue) {\n db.add(\n Trigger.make({\n [Obj.Parent]: project,\n [Obj.Meta]: {\n keys: [\n { source: PROJECT_TRIGGER_EXTENSION_KEY, id: project.id },\n { source: PROJECT_TRIGGER_TARGET_EXTENSION_KEY, id: Obj.getDXN(project)?.toString() ?? '' },\n ],\n },\n function: Ref.make(FunctionDefinition.serialize(ProjectFunctions.Agent)),\n enabled: true,\n spec: {\n kind: 'queue',\n queue: project.queue.dxn.toString(),\n },\n input: {\n project: Ref.make(project),\n event: '{{event}}',\n },\n }),\n );\n }\n }\n\n await db.flush({ indexes: true });\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Atom", "useAtomValue", "Effect", "Option", "React", "useCallback", "useEffect", "useMemo", "useCapability", "Project", "DXN", "Obj", "Ref", "AtomObj", "AtomRef", "QueueService", "AutomationCapabilities", "MarkdownEditor", "Filter", "useQuery", "useObject", "Button", "ButtonGroup", "Input", "FeedAnnotation", "Option", "ProjectFunctions", "Feed", "Obj", "Ref", "FunctionDefinition", "Trigger", "Filter", "FeedAnnotation", "PROJECT_TRIGGER_EXTENSION_KEY", "PROJECT_TRIGGER_TARGET_EXTENSION_KEY", "hasFeedAnnotation", "obj", "schema", "Obj", "getSchema", "annotation", "FeedAnnotation", "get", "isSome", "value", "syncTriggers", "project", "db", "getDatabase", "triggers", "query", "Filter", "foreignKeys", "Trigger", "source", "id", "run", "trigger", "target", "getKeys", "at", "exists", "subscriptions", "find", "subscription", "dxn", "toString", "useQualifyingAgent", "getDXN", "remove", "relevantTrigger", "some", "key", "tryLoad", "feedObj", "instanceOf", "Feed", "feed", "queueDxn", "fromNullable", "pipe", "filter", "map", "getQueueDxn", "getOrUndefined", "add", "make", "Parent", "Meta", "keys", "enabled", "spec", "kind", "queue", "function", "Ref", "FunctionDefinition", "serialize", "ProjectFunctions", "Qualifier", "Agent", "input", "event", "concurrency", "undefined", "qualifierTrigger", "flush", "indexes", "ProjectSettings", "subject", "project", "computeRuntime", "useCapability", "AutomationCapabilities", "ComputeRuntime", "handleResetHistory", "useCallback", "runtime", "getRuntime", "Obj", "getDatabase", "spaceId", "runPromise", "Project", "resetChatHistory", "queue", "gen", "QueueService", "createQueue", "change", "Ref", "fromDXN", "dxn", "spec", "useAtomValue", "AtomRef", "make", "specInitialValue", "useObject", "useEffect", "subscribe", "queueMicrotask", "syncTriggers", "db", "feedFilter", "useMemo", "Filter", "nothing", "schemas", "schemaRegistry", "query", "location", "runSync", "feedSchemas", "filter", "schema", "annotation", "FeedAnnotation", "get", "isSome", "value", "length", "or", "map", "type", "subscribableObjects", "useQuery", "existingSubscripts", "AtomObj", "pipe", "_", "Atom", "selectedSubscriptions", "object", "subscriptions", "some", "subscription", "DXN", "equals", "getDXN", "div", "className", "Input", "Root", "Label", "MarkdownEditor", "id", "Content", "initialValue", "ButtonGroup", "classNames", "Button", "onClick", "h2", "key", "Checkbox", "checked", "includes", "onCheckedChange", "push", "getLabel"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import {
|
|
2
|
+
TemplateEditor
|
|
3
|
+
} from "./chunk-A346P45I.mjs";
|
|
4
|
+
import "./chunk-JYY5AD65.mjs";
|
|
5
|
+
import "./chunk-734CB3XG.mjs";
|
|
6
|
+
import {
|
|
7
|
+
meta
|
|
8
|
+
} from "./chunk-2VIEX4RA.mjs";
|
|
9
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
10
|
+
|
|
11
|
+
// src/containers/PromptArticle/PromptArticle.tsx
|
|
12
|
+
import React, { useMemo } from "react";
|
|
13
|
+
import { AgentFunctions } from "@dxos/assistant-toolkit";
|
|
14
|
+
import { Obj } from "@dxos/echo";
|
|
15
|
+
import { invariant } from "@dxos/invariant";
|
|
16
|
+
import { invokeFunctionWithTracing, useComputeRuntimeCallback } from "@dxos/plugin-automation";
|
|
17
|
+
import { Panel, Toolbar, useTranslation } from "@dxos/react-ui";
|
|
18
|
+
import { useAttention } from "@dxos/react-ui-attention";
|
|
19
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-assistant/src/containers/PromptArticle/PromptArticle.tsx";
|
|
20
|
+
var PromptArticle = ({ role, attendableId, subject }) => {
|
|
21
|
+
const { t } = useTranslation(meta.id);
|
|
22
|
+
const { hasAttention } = useAttention(attendableId);
|
|
23
|
+
const db = Obj.getDatabase(subject);
|
|
24
|
+
const inputData = useMemo(() => subject && db ? {
|
|
25
|
+
prompt: db.makeRef(Obj.getDXN(subject)),
|
|
26
|
+
input: {}
|
|
27
|
+
} : void 0, [
|
|
28
|
+
subject,
|
|
29
|
+
db
|
|
30
|
+
]);
|
|
31
|
+
const handleRun = useComputeRuntimeCallback(db?.spaceId, () => {
|
|
32
|
+
invariant(inputData, void 0, {
|
|
33
|
+
F: __dxlog_file,
|
|
34
|
+
L: 41,
|
|
35
|
+
S: void 0,
|
|
36
|
+
A: [
|
|
37
|
+
"inputData",
|
|
38
|
+
""
|
|
39
|
+
]
|
|
40
|
+
});
|
|
41
|
+
return invokeFunctionWithTracing(AgentFunctions.Prompt, inputData);
|
|
42
|
+
}, [
|
|
43
|
+
inputData
|
|
44
|
+
]);
|
|
45
|
+
return /* @__PURE__ */ React.createElement(Panel.Root, {
|
|
46
|
+
role,
|
|
47
|
+
className: "dx-article"
|
|
48
|
+
}, /* @__PURE__ */ React.createElement(Panel.Toolbar, {
|
|
49
|
+
asChild: true
|
|
50
|
+
}, /* @__PURE__ */ React.createElement(Toolbar.Root, {
|
|
51
|
+
disabled: !hasAttention,
|
|
52
|
+
onClick: handleRun
|
|
53
|
+
}, /* @__PURE__ */ React.createElement(Toolbar.IconButton, {
|
|
54
|
+
iconOnly: true,
|
|
55
|
+
icon: "ph--play--regular",
|
|
56
|
+
label: t("run prompt label"),
|
|
57
|
+
onClick: handleRun
|
|
58
|
+
}))), /* @__PURE__ */ React.createElement(Panel.Content, {
|
|
59
|
+
asChild: true
|
|
60
|
+
}, /* @__PURE__ */ React.createElement(TemplateEditor, {
|
|
61
|
+
id: subject.id,
|
|
62
|
+
template: subject.instructions
|
|
63
|
+
})));
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
// src/containers/PromptArticle/index.ts
|
|
67
|
+
var PromptArticle_default = PromptArticle;
|
|
68
|
+
export {
|
|
69
|
+
PromptArticle_default as default
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=PromptArticle-G5YSAEGK.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/containers/PromptArticle/PromptArticle.tsx", "../../../src/containers/PromptArticle/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useMemo } from 'react';\n\nimport { type SurfaceComponentProps } from '@dxos/app-toolkit/ui';\nimport { AgentFunctions } from '@dxos/assistant-toolkit';\nimport { type Prompt } from '@dxos/blueprints';\nimport { Obj } from '@dxos/echo';\nimport { type FunctionDefinition } from '@dxos/functions';\nimport { invariant } from '@dxos/invariant';\nimport { invokeFunctionWithTracing, useComputeRuntimeCallback } from '@dxos/plugin-automation';\nimport { Panel, Toolbar, useTranslation } from '@dxos/react-ui';\nimport { useAttention } from '@dxos/react-ui-attention';\n\nimport { TemplateEditor } from '../../components';\nimport { meta } from '../../meta';\n\nexport type PromptArticleProps = SurfaceComponentProps<Prompt.Prompt>;\n\nexport const PromptArticle = ({ role, attendableId, subject }: PromptArticleProps) => {\n const { t } = useTranslation(meta.id);\n const { hasAttention } = useAttention(attendableId);\n const db = Obj.getDatabase(subject);\n\n const inputData = useMemo<FunctionDefinition.Input<typeof AgentFunctions.Prompt> | undefined>(\n () =>\n subject && db\n ? {\n prompt: db.makeRef(Obj.getDXN(subject)),\n input: {},\n }\n : undefined,\n [subject, db],\n );\n\n const handleRun = useComputeRuntimeCallback(\n db?.spaceId,\n () => {\n invariant(inputData);\n return invokeFunctionWithTracing(AgentFunctions.Prompt, inputData);\n },\n [inputData],\n );\n\n return (\n <Panel.Root role={role} className='dx-article'>\n <Panel.Toolbar asChild>\n <Toolbar.Root disabled={!hasAttention} onClick={handleRun}>\n <Toolbar.IconButton iconOnly icon='ph--play--regular' label={t('run prompt label')} onClick={handleRun} />\n </Toolbar.Root>\n </Panel.Toolbar>\n <Panel.Content asChild>\n <TemplateEditor id={subject.id} template={subject.instructions} />\n </Panel.Content>\n </Panel.Root>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { PromptArticle } from './PromptArticle';\n\nexport default PromptArticle;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;AAIA,OAAOA,SAASC,eAAe;AAG/B,SAASC,sBAAsB;AAE/B,SAASC,WAAW;AAEpB,SAASC,iBAAiB;AAC1B,SAASC,2BAA2BC,iCAAiC;AACrE,SAASC,OAAOC,SAASC,sBAAsB;AAC/C,SAASC,oBAAoB;;AAOtB,IAAMC,gBAAgB,CAAC,EAAEC,MAAMC,cAAcC,QAAO,MAAsB;AAC/E,QAAM,EAAEC,EAAC,IAAKC,eAAeC,KAAKC,EAAE;AACpC,QAAM,EAAEC,aAAY,IAAKC,aAAaP,YAAAA;AACtC,QAAMQ,KAAKC,IAAIC,YAAYT,OAAAA;AAE3B,QAAMU,YAAYC,QAChB,MACEX,WAAWO,KACP;IACEK,QAAQL,GAAGM,QAAQL,IAAIM,OAAOd,OAAAA,CAAAA;IAC9Be,OAAO,CAAC;EACV,IACAC,QACN;IAAChB;IAASO;GAAG;AAGf,QAAMU,YAAYC,0BAChBX,IAAIY,SACJ,MAAA;AACEC,cAAUV,WAAAA,QAAAA;;;;;;;;;AACV,WAAOW,0BAA0BC,eAAeC,QAAQb,SAAAA;EAC1D,GACA;IAACA;GAAU;AAGb,SACE,sBAAA,cAACc,MAAMC,MAAI;IAAC3B;IAAY4B,WAAU;KAChC,sBAAA,cAACF,MAAMG,SAAO;IAACC,SAAAA;KACb,sBAAA,cAACD,QAAQF,MAAI;IAACI,UAAU,CAACxB;IAAcyB,SAASb;KAC9C,sBAAA,cAACU,QAAQI,YAAU;IAACC,UAAAA;IAASC,MAAK;IAAoBC,OAAOjC,EAAE,kBAAA;IAAqB6B,SAASb;QAGjG,sBAAA,cAACO,MAAMW,SAAO;IAACP,SAAAA;KACb,sBAAA,cAACQ,gBAAAA;IAAehC,IAAIJ,QAAQI;IAAIiC,UAAUrC,QAAQsC;;AAI1D;;;ACpDA,IAAA,wBAAeC;",
|
|
6
|
+
"names": ["React", "useMemo", "AgentFunctions", "Obj", "invariant", "invokeFunctionWithTracing", "useComputeRuntimeCallback", "Panel", "Toolbar", "useTranslation", "useAttention", "PromptArticle", "role", "attendableId", "subject", "t", "useTranslation", "meta", "id", "hasAttention", "useAttention", "db", "Obj", "getDatabase", "inputData", "useMemo", "prompt", "makeRef", "getDXN", "input", "undefined", "handleRun", "useComputeRuntimeCallback", "spaceId", "invariant", "invokeFunctionWithTracing", "AgentFunctions", "Prompt", "Panel", "Root", "className", "Toolbar", "asChild", "disabled", "onClick", "IconButton", "iconOnly", "icon", "label", "Content", "TemplateEditor", "template", "instructions", "PromptArticle"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import {
|
|
2
|
+
meta
|
|
3
|
+
} from "./chunk-2VIEX4RA.mjs";
|
|
4
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
5
|
+
|
|
6
|
+
// src/containers/TriggerStatus/TriggerStatus.tsx
|
|
7
|
+
import React, { useMemo } from "react";
|
|
8
|
+
import { useTriggerRuntimeControls } from "@dxos/plugin-automation";
|
|
9
|
+
import { useActiveSpace } from "@dxos/plugin-space";
|
|
10
|
+
import { StatusBar } from "@dxos/plugin-status-bar";
|
|
11
|
+
import { Icon, Input, Popover, useTranslation } from "@dxos/react-ui";
|
|
12
|
+
import { Settings } from "@dxos/react-ui-form";
|
|
13
|
+
import { mx } from "@dxos/ui-theme";
|
|
14
|
+
var getIcon = (state) => {
|
|
15
|
+
switch (state) {
|
|
16
|
+
case "disabled":
|
|
17
|
+
return "ph--lightning-slash--regular";
|
|
18
|
+
case "idle":
|
|
19
|
+
return "ph--lightning--regular";
|
|
20
|
+
case "running":
|
|
21
|
+
return "ph--lightning--fill";
|
|
22
|
+
case "error":
|
|
23
|
+
return "ph--warning--regular";
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
var getIconClassNames = (state) => {
|
|
27
|
+
switch (state) {
|
|
28
|
+
case "running":
|
|
29
|
+
return "animate-pulse text-accent-text";
|
|
30
|
+
case "error":
|
|
31
|
+
return "text-error-text";
|
|
32
|
+
default:
|
|
33
|
+
return void 0;
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
var TriggerStatus = () => {
|
|
37
|
+
const space = useActiveSpace();
|
|
38
|
+
const db = space?.db;
|
|
39
|
+
if (!db) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
return /* @__PURE__ */ React.createElement(SpaceStatusMain, {
|
|
43
|
+
db
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
var SpaceStatusMain = ({ db }) => {
|
|
47
|
+
const { state, start, stop } = useTriggerRuntimeControls(db);
|
|
48
|
+
const isRunning = state?.enabled ?? false;
|
|
49
|
+
const triggerState = useMemo(() => {
|
|
50
|
+
if (!isRunning) {
|
|
51
|
+
return "disabled";
|
|
52
|
+
}
|
|
53
|
+
const hasPending = state?.invocations.some((invocation) => invocation.result === null);
|
|
54
|
+
if (hasPending) {
|
|
55
|
+
return "running";
|
|
56
|
+
}
|
|
57
|
+
const lastInvocation = state?.invocations.at(-1);
|
|
58
|
+
if (lastInvocation?.result?._tag === "Failure") {
|
|
59
|
+
return "error";
|
|
60
|
+
}
|
|
61
|
+
return "idle";
|
|
62
|
+
}, [
|
|
63
|
+
isRunning,
|
|
64
|
+
state?.invocations
|
|
65
|
+
]);
|
|
66
|
+
const { t } = useTranslation(meta.id);
|
|
67
|
+
const title = t(`trigger status ${triggerState} label`);
|
|
68
|
+
const icon = /* @__PURE__ */ React.createElement(Icon, {
|
|
69
|
+
icon: getIcon(triggerState),
|
|
70
|
+
classNames: getIconClassNames(triggerState)
|
|
71
|
+
});
|
|
72
|
+
return /* @__PURE__ */ React.createElement(Popover.Root, null, /* @__PURE__ */ React.createElement(Popover.Trigger, {
|
|
73
|
+
asChild: true
|
|
74
|
+
}, /* @__PURE__ */ React.createElement(StatusBar.Item, {
|
|
75
|
+
title
|
|
76
|
+
}, icon)), /* @__PURE__ */ React.createElement(Popover.Portal, null, /* @__PURE__ */ React.createElement(Popover.Content, null, /* @__PURE__ */ React.createElement(TriggerStatusPopover, {
|
|
77
|
+
isRunning,
|
|
78
|
+
state: triggerState,
|
|
79
|
+
currentFunctionName: state?.invocations.at(-1)?.function?.name ?? state?.invocations.at(-1)?.function?.key,
|
|
80
|
+
lastInvocation: state?.invocations.at(-1),
|
|
81
|
+
onToggle: isRunning ? stop : start
|
|
82
|
+
}), /* @__PURE__ */ React.createElement(Popover.Arrow, null))));
|
|
83
|
+
};
|
|
84
|
+
var TriggerStatusPopover = ({ isRunning, state, currentFunctionName, lastInvocation, onToggle }) => {
|
|
85
|
+
const { t } = useTranslation(meta.id);
|
|
86
|
+
return /* @__PURE__ */ React.createElement("div", {
|
|
87
|
+
className: "min-w-[240px] p-2 space-y-3"
|
|
88
|
+
}, /* @__PURE__ */ React.createElement(Settings.ItemInput, {
|
|
89
|
+
title: t("trigger runtime label"),
|
|
90
|
+
description: t("trigger runtime description")
|
|
91
|
+
}, /* @__PURE__ */ React.createElement(Input.Switch, {
|
|
92
|
+
classNames: "justify-self-end",
|
|
93
|
+
checked: isRunning,
|
|
94
|
+
onCheckedChange: onToggle
|
|
95
|
+
})), /* @__PURE__ */ React.createElement("div", {
|
|
96
|
+
className: "flex items-center gap-2 pt-2 border-t border-separator"
|
|
97
|
+
}, /* @__PURE__ */ React.createElement(Icon, {
|
|
98
|
+
icon: getIcon(state),
|
|
99
|
+
classNames: mx(getIconClassNames(state), "shrink-0")
|
|
100
|
+
}), /* @__PURE__ */ React.createElement("span", {
|
|
101
|
+
className: "text-sm"
|
|
102
|
+
}, t(`trigger status ${state} label`)), currentFunctionName && state === "running" && /* @__PURE__ */ React.createElement("span", {
|
|
103
|
+
className: "text-xs text-description"
|
|
104
|
+
}, currentFunctionName)));
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
// src/containers/TriggerStatus/index.ts
|
|
108
|
+
var TriggerStatus_default = TriggerStatus;
|
|
109
|
+
export {
|
|
110
|
+
TriggerStatus_default as default
|
|
111
|
+
};
|
|
112
|
+
//# sourceMappingURL=TriggerStatus-X35WDCK5.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/containers/TriggerStatus/TriggerStatus.tsx", "../../../src/containers/TriggerStatus/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useMemo } from 'react';\n\nimport { type InvocationsState } from '@dxos/functions-runtime';\nimport { useTriggerRuntimeControls } from '@dxos/plugin-automation';\nimport { useActiveSpace } from '@dxos/plugin-space';\nimport { StatusBar } from '@dxos/plugin-status-bar';\nimport { type Database } from '@dxos/react-client/echo';\nimport { Icon, Input, Popover, useTranslation } from '@dxos/react-ui';\nimport { Settings } from '@dxos/react-ui-form';\nimport { mx } from '@dxos/ui-theme';\n\nimport { meta } from '../../meta';\n\ntype TriggerStatusState = 'disabled' | 'idle' | 'running' | 'error';\n\nconst getIcon = (state: TriggerStatusState): string => {\n switch (state) {\n case 'disabled':\n return 'ph--lightning-slash--regular';\n case 'idle':\n return 'ph--lightning--regular';\n case 'running':\n return 'ph--lightning--fill';\n case 'error':\n return 'ph--warning--regular';\n }\n};\n\nconst getIconClassNames = (state: TriggerStatusState): string | undefined => {\n switch (state) {\n case 'running':\n return 'animate-pulse text-accent-text';\n case 'error':\n return 'text-error-text';\n default:\n return undefined;\n }\n};\n\nexport const TriggerStatus = () => {\n const space = useActiveSpace();\n const db = space?.db;\n if (!db) {\n return null;\n }\n\n return <SpaceStatusMain db={db} />;\n};\n\nconst SpaceStatusMain = ({ db }: { db: Database.Database }) => {\n const { state, start, stop } = useTriggerRuntimeControls(db);\n const isRunning = state?.enabled ?? false;\n\n // Determine the current trigger status state.\n const triggerState: TriggerStatusState = useMemo(() => {\n if (!isRunning) {\n return 'disabled';\n }\n\n // Check if there's any pending invocation.\n const hasPending = state?.invocations.some((invocation) => invocation.result === null);\n if (hasPending) {\n return 'running';\n }\n\n // Check if the last invocation failed.\n const lastInvocation = state?.invocations.at(-1);\n if (lastInvocation?.result?._tag === 'Failure') {\n return 'error';\n }\n\n return 'idle';\n }, [isRunning, state?.invocations]);\n\n const { t } = useTranslation(meta.id);\n const title = t(`trigger status ${triggerState} label`);\n const icon = <Icon icon={getIcon(triggerState)} classNames={getIconClassNames(triggerState)} />;\n\n return (\n <Popover.Root>\n <Popover.Trigger asChild>\n <StatusBar.Item title={title}>{icon}</StatusBar.Item>\n </Popover.Trigger>\n <Popover.Portal>\n <Popover.Content>\n <TriggerStatusPopover\n isRunning={isRunning}\n state={triggerState}\n currentFunctionName={state?.invocations.at(-1)?.function?.name ?? state?.invocations.at(-1)?.function?.key}\n lastInvocation={state?.invocations.at(-1)}\n onToggle={isRunning ? stop : start}\n />\n <Popover.Arrow />\n </Popover.Content>\n </Popover.Portal>\n </Popover.Root>\n );\n};\n\ninterface TriggerStatusPopoverProps {\n isRunning: boolean;\n state: TriggerStatusState;\n currentFunctionName?: string;\n lastInvocation?: InvocationsState;\n onToggle: () => void;\n}\n\nconst TriggerStatusPopover = ({\n isRunning,\n state,\n currentFunctionName,\n lastInvocation,\n onToggle,\n}: TriggerStatusPopoverProps) => {\n const { t } = useTranslation(meta.id);\n\n return (\n <div className='min-w-[240px] p-2 space-y-3'>\n {/* Runtime Toggle */}\n <Settings.ItemInput title={t('trigger runtime label')} description={t('trigger runtime description')}>\n <Input.Switch classNames='justify-self-end' checked={isRunning} onCheckedChange={onToggle} />\n </Settings.ItemInput>\n\n {/* Status Indicator */}\n <div className='flex items-center gap-2 pt-2 border-t border-separator'>\n <Icon icon={getIcon(state)} classNames={mx(getIconClassNames(state), 'shrink-0')} />\n <span className='text-sm'>{t(`trigger status ${state} label`)}</span>\n {currentFunctionName && state === 'running' && (\n <span className='text-xs text-description'>{currentFunctionName}</span>\n )}\n </div>\n </div>\n );\n};\n\nexport default TriggerStatus;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { TriggerStatus } from './TriggerStatus';\n\nexport default TriggerStatus;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["React", "useMemo", "useTriggerRuntimeControls", "useActiveSpace", "StatusBar", "Icon", "Input", "Popover", "useTranslation", "Settings", "mx", "getIcon", "state", "getIconClassNames", "undefined", "TriggerStatus", "space", "useActiveSpace", "db", "SpaceStatusMain", "start", "stop", "useTriggerRuntimeControls", "isRunning", "enabled", "triggerState", "useMemo", "hasPending", "invocations", "some", "invocation", "result", "lastInvocation", "at", "_tag", "t", "useTranslation", "meta", "id", "title", "icon", "Icon", "classNames", "Popover", "Root", "Trigger", "asChild", "StatusBar", "Item", "Portal", "Content", "TriggerStatusPopover", "currentFunctionName", "function", "name", "key", "onToggle", "Arrow", "div", "className", "Settings", "ItemInput", "description", "Input", "Switch", "checked", "onCheckedChange", "mx", "span", "TriggerStatus"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/capabilities/ai-service/ai-service.ts
|
|
4
|
+
import * as Effect from "effect/Effect";
|
|
5
|
+
import * as Layer from "effect/Layer";
|
|
6
|
+
import { AiModelResolver } from "@dxos/ai";
|
|
7
|
+
import { Capability } from "@dxos/app-framework";
|
|
8
|
+
import { AppCapabilities } from "@dxos/app-toolkit";
|
|
9
|
+
var ai_service_default = Capability.makeModule(Effect.fnUntraced(function* () {
|
|
10
|
+
const resolvers = yield* Capability.getAll(AppCapabilities.AiModelResolver);
|
|
11
|
+
const combinedLayer = resolvers.reduce((acc, resolver) => resolver.pipe(Layer.provide(acc)), AiModelResolver.AiModelResolver.fromModelMap({
|
|
12
|
+
name: "Fallback"
|
|
13
|
+
}, Effect.succeed({})));
|
|
14
|
+
return [
|
|
15
|
+
// TODO(dmaretskyi): Read config from settings.
|
|
16
|
+
Capability.contributes(AppCapabilities.AiServiceLayer, AiModelResolver.AiModelResolver.buildAiService.pipe(Layer.provide(combinedLayer)))
|
|
17
|
+
];
|
|
18
|
+
}));
|
|
19
|
+
export {
|
|
20
|
+
ai_service_default as default
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=ai-service-CY2BYPH6.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/ai-service/ai-service.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Layer from 'effect/Layer';\n\nimport { AiModelResolver } from '@dxos/ai';\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const resolvers = yield* Capability.getAll(AppCapabilities.AiModelResolver);\n\n // TODO(dmaretskyi): Extract function to reduce them.\n const combinedLayer = resolvers.reduce(\n (acc, resolver) => resolver.pipe(Layer.provide(acc)),\n AiModelResolver.AiModelResolver.fromModelMap({ name: 'Fallback' }, Effect.succeed({})), // Empty resolver as fallback.\n );\n\n return [\n // TODO(dmaretskyi): Read config from settings.\n Capability.contributes(\n AppCapabilities.AiServiceLayer,\n AiModelResolver.AiModelResolver.buildAiService.pipe(Layer.provide(combinedLayer)),\n ),\n ];\n }),\n);\n"],
|
|
5
|
+
"mappings": ";;;AAIA,YAAYA,YAAY;AACxB,YAAYC,WAAW;AAEvB,SAASC,uBAAuB;AAChC,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAEhC,IAAA,qBAAeC,WAAWC,WACjBC,kBAAW,aAAA;AAChB,QAAMC,YAAY,OAAOH,WAAWI,OAAOC,gBAAgBC,eAAe;AAG1E,QAAMC,gBAAgBJ,UAAUK,OAC9B,CAACC,KAAKC,aAAaA,SAASC,KAAWC,cAAQH,GAAAA,CAAAA,GAC/CH,gBAAgBA,gBAAgBO,aAAa;IAAEC,MAAM;EAAW,GAAUC,eAAQ,CAAC,CAAA,CAAA,CAAA;AAGrF,SAAO;;IAELf,WAAWgB,YACTX,gBAAgBY,gBAChBX,gBAAgBA,gBAAgBY,eAAeP,KAAWC,cAAQL,aAAAA,CAAAA,CAAAA;;AAGxE,CAAA,CAAA;",
|
|
6
|
+
"names": ["Effect", "Layer", "AiModelResolver", "Capability", "AppCapabilities", "Capability", "makeModule", "fnUntraced", "resolvers", "getAll", "AppCapabilities", "AiModelResolver", "combinedLayer", "reduce", "acc", "resolver", "pipe", "provide", "fromModelMap", "name", "succeed", "contributes", "AiServiceLayer", "buildAiService"]
|
|
7
|
+
}
|