@dxos/plugin-assistant 0.8.4-main.ae835ea → 0.8.4-main.bc2380dfbc
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/AgentArticle-5XDDEXMP.mjs +169 -0
- package/dist/lib/neutral/AgentArticle-5XDDEXMP.mjs.map +7 -0
- package/dist/lib/neutral/AgentProperties-CNH4JMDZ.mjs +100 -0
- package/dist/lib/neutral/AgentProperties-CNH4JMDZ.mjs.map +7 -0
- package/dist/lib/neutral/AssistantPlugin.mjs +10 -0
- package/dist/lib/neutral/AssistantPlugin.node.mjs +46 -0
- package/dist/lib/neutral/AssistantPlugin.node.mjs.map +7 -0
- package/dist/lib/neutral/AssistantPlugin.workerd.mjs +40 -0
- package/dist/lib/neutral/AssistantPlugin.workerd.mjs.map +7 -0
- package/dist/lib/neutral/AssistantSettings-GG52BLKS.mjs +40 -0
- package/dist/lib/neutral/AssistantSettings-GG52BLKS.mjs.map +7 -0
- package/dist/lib/neutral/BlueprintArticle-U7LUBFOS.mjs +27 -0
- package/dist/lib/neutral/BlueprintArticle-U7LUBFOS.mjs.map +7 -0
- package/dist/lib/neutral/ChatArticle-WVAFZPVI.mjs +8 -0
- package/dist/lib/neutral/ChatCompanion-DFRMRUK3.mjs +133 -0
- package/dist/lib/neutral/ChatCompanion-DFRMRUK3.mjs.map +7 -0
- package/dist/lib/neutral/ChatDialog-QKZLG7SQ.mjs +72 -0
- package/dist/lib/neutral/ChatDialog-QKZLG7SQ.mjs.map +7 -0
- package/dist/lib/neutral/PlanArticle-TS5ULWYS.mjs +28 -0
- package/dist/lib/neutral/PlanArticle-TS5ULWYS.mjs.map +7 -0
- package/dist/lib/neutral/RoutineArticle-H7ECM7AH.mjs +116 -0
- package/dist/lib/neutral/RoutineArticle-H7ECM7AH.mjs.map +7 -0
- package/dist/lib/neutral/RoutineList-CLDXGQUD.mjs +48 -0
- package/dist/lib/neutral/RoutineList-CLDXGQUD.mjs.map +7 -0
- package/dist/lib/neutral/TracePanel-C77SPEIS.mjs +672 -0
- package/dist/lib/neutral/TracePanel-C77SPEIS.mjs.map +7 -0
- package/dist/lib/neutral/TriggerStatus-WTFYUIG5.mjs +92 -0
- package/dist/lib/neutral/TriggerStatus-WTFYUIG5.mjs.map +7 -0
- package/dist/lib/neutral/ai-service-GJXMI5OI.mjs +22 -0
- package/dist/lib/neutral/ai-service-GJXMI5OI.mjs.map +7 -0
- package/dist/lib/neutral/app-graph-builder-5QBICPYP.mjs +200 -0
- package/dist/lib/neutral/app-graph-builder-5QBICPYP.mjs.map +7 -0
- package/dist/lib/neutral/blueprint-definition-VXJYQ5AE.mjs +32 -0
- package/dist/lib/neutral/blueprint-definition-VXJYQ5AE.mjs.map +7 -0
- package/dist/lib/neutral/blueprints/index.mjs +8 -0
- package/dist/lib/neutral/capabilities/index.mjs +35 -0
- package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
- package/dist/lib/neutral/chunk-3FIV362Z.mjs +8 -0
- package/dist/lib/neutral/chunk-3FIV362Z.mjs.map +7 -0
- package/dist/lib/{browser/chunk-WBG5PTSX.mjs → neutral/chunk-4CQZCMRP.mjs} +7 -5
- package/dist/lib/neutral/chunk-4CQZCMRP.mjs.map +7 -0
- package/dist/lib/neutral/chunk-5H6UJHLF.mjs +30 -0
- package/dist/lib/neutral/chunk-5H6UJHLF.mjs.map +7 -0
- package/dist/lib/neutral/chunk-ITJX2YZZ.mjs +98 -0
- package/dist/lib/neutral/chunk-ITJX2YZZ.mjs.map +7 -0
- package/dist/lib/neutral/chunk-IZQWGJNG.mjs +380 -0
- package/dist/lib/neutral/chunk-IZQWGJNG.mjs.map +7 -0
- package/dist/lib/neutral/chunk-SLIPV6NN.mjs +106 -0
- package/dist/lib/neutral/chunk-SLIPV6NN.mjs.map +7 -0
- package/dist/lib/neutral/companion-chat-provisioner-2Y6PRSDK.mjs +116 -0
- package/dist/lib/neutral/companion-chat-provisioner-2Y6PRSDK.mjs.map +7 -0
- package/dist/lib/neutral/components/index.mjs +2298 -0
- package/dist/lib/neutral/components/index.mjs.map +7 -0
- package/dist/lib/neutral/containers/index.mjs +29 -0
- package/dist/lib/neutral/containers/index.mjs.map +7 -0
- package/dist/lib/neutral/create-chat-QQZURUBW.mjs +71 -0
- package/dist/lib/neutral/create-chat-QQZURUBW.mjs.map +7 -0
- package/dist/lib/neutral/create-object-UZCJCPWM.mjs +93 -0
- package/dist/lib/neutral/create-object-UZCJCPWM.mjs.map +7 -0
- package/dist/lib/neutral/edge-model-resolver-XDNBZ3US.mjs +21 -0
- package/dist/lib/neutral/edge-model-resolver-XDNBZ3US.mjs.map +7 -0
- package/dist/lib/neutral/ensure-companion-chat-5S4LZM2H.mjs +58 -0
- package/dist/lib/neutral/ensure-companion-chat-5S4LZM2H.mjs.map +7 -0
- package/dist/lib/neutral/hooks/index.mjs +927 -0
- package/dist/lib/neutral/hooks/index.mjs.map +7 -0
- package/dist/lib/neutral/index.mjs +32 -0
- package/dist/lib/neutral/local-model-resolver-I2BENFFS.mjs +24 -0
- package/dist/lib/neutral/local-model-resolver-I2BENFFS.mjs.map +7 -0
- package/dist/lib/neutral/markdown-KTBFOMFM.mjs +110 -0
- package/dist/lib/neutral/markdown-KTBFOMFM.mjs.map +7 -0
- package/dist/lib/neutral/meta.json +1 -0
- package/dist/lib/neutral/meta.mjs +12 -0
- package/dist/lib/neutral/migrations-7DEMVBOG.mjs +28 -0
- package/dist/lib/neutral/migrations-7DEMVBOG.mjs.map +7 -0
- package/dist/lib/neutral/on-create-space-Q2R7OSP6.mjs +19 -0
- package/dist/lib/neutral/on-create-space-Q2R7OSP6.mjs.map +7 -0
- package/dist/lib/neutral/operation-handler-SF36MOB5.mjs +13 -0
- package/dist/lib/neutral/operation-handler-SF36MOB5.mjs.map +7 -0
- package/dist/lib/neutral/operations/index.mjs +8 -0
- package/dist/lib/neutral/operations/index.mjs.map +7 -0
- package/dist/lib/neutral/plugin.mjs +16 -0
- package/dist/lib/neutral/plugin.mjs.map +7 -0
- package/dist/lib/neutral/react-surface-T4R65UJU.mjs +174 -0
- package/dist/lib/neutral/react-surface-T4R65UJU.mjs.map +7 -0
- package/dist/lib/neutral/resolve-navigation-targets-VXBSWV5L.mjs +20 -0
- package/dist/lib/neutral/resolve-navigation-targets-VXBSWV5L.mjs.map +7 -0
- package/dist/lib/neutral/run-prompt-in-new-chat-VJXXZ6SI.mjs +103 -0
- package/dist/lib/neutral/run-prompt-in-new-chat-VJXXZ6SI.mjs.map +7 -0
- package/dist/lib/neutral/set-current-chat-ZFDCYK5I.mjs +48 -0
- package/dist/lib/neutral/set-current-chat-ZFDCYK5I.mjs.map +7 -0
- package/dist/lib/neutral/settings-W4BLWQ53.mjs +28 -0
- package/dist/lib/neutral/settings-W4BLWQ53.mjs.map +7 -0
- package/dist/lib/neutral/state-H3G7QCU6.mjs +28 -0
- package/dist/lib/neutral/state-H3G7QCU6.mjs.map +7 -0
- package/dist/lib/neutral/testing.mjs +8 -0
- package/dist/lib/neutral/testing.mjs.map +7 -0
- package/dist/lib/neutral/toggle-trace-panel-debug-JGTB6KVJ.mjs +21 -0
- package/dist/lib/neutral/toggle-trace-panel-debug-JGTB6KVJ.mjs.map +7 -0
- package/dist/lib/neutral/toolkit-GVWXPDLJ.mjs +14 -0
- package/dist/lib/neutral/toolkit-GVWXPDLJ.mjs.map +7 -0
- package/dist/lib/neutral/translations.mjs +175 -0
- package/dist/lib/neutral/translations.mjs.map +7 -0
- package/dist/lib/neutral/types/index.mjs +20 -0
- package/dist/lib/neutral/types/index.mjs.map +7 -0
- package/dist/lib/neutral/update-chat-name-ENXRUMDJ.mjs +54 -0
- package/dist/lib/neutral/update-chat-name-ENXRUMDJ.mjs.map +7 -0
- package/dist/types/src/AssistantPlugin.d.ts +3 -1
- package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
- package/dist/types/src/AssistantPlugin.node.d.ts +4 -0
- package/dist/types/src/AssistantPlugin.node.d.ts.map +1 -0
- package/dist/types/src/AssistantPlugin.test.d.ts +2 -0
- package/dist/types/src/AssistantPlugin.test.d.ts.map +1 -0
- package/dist/types/src/AssistantPlugin.workerd.d.ts +4 -0
- package/dist/types/src/AssistantPlugin.workerd.d.ts.map +1 -0
- 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.d.ts +4 -2
- package/dist/types/src/capabilities/ai-service.d.ts.map +1 -1
- 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 +4 -6
- package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
- package/dist/types/src/capabilities/companion-chat-provisioner.d.ts +9 -0
- package/dist/types/src/capabilities/companion-chat-provisioner.d.ts.map +1 -0
- package/dist/types/src/capabilities/create-object.d.ts +31 -0
- package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
- package/dist/types/src/capabilities/edge-model-resolver.d.ts +6 -3
- package/dist/types/src/capabilities/edge-model-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +55 -12
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/local-model-resolver.d.ts +9 -3
- package/dist/types/src/capabilities/local-model-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/markdown.d.ts +5 -0
- package/dist/types/src/capabilities/markdown.d.ts.map +1 -0
- package/dist/types/src/capabilities/migrations.d.ts +6 -0
- package/dist/types/src/capabilities/migrations.d.ts.map +1 -0
- 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 +4 -2
- package/dist/types/src/capabilities/settings.d.ts.map +1 -1
- package/dist/types/src/capabilities/state.d.ts +19 -2
- package/dist/types/src/capabilities/state.d.ts.map +1 -1
- package/dist/types/src/capabilities/toolkit.d.ts +4 -2
- package/dist/types/src/capabilities/toolkit.d.ts.map +1 -1
- package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts +4 -4
- package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +1 -1
- package/dist/types/src/components/AssistantSettings/AssistantSettings.stories.d.ts +15 -0
- package/dist/types/src/components/AssistantSettings/AssistantSettings.stories.d.ts.map +1 -0
- package/dist/types/src/components/AssistantSettings/index.d.ts +1 -1
- package/dist/types/src/components/AssistantSettings/index.d.ts.map +1 -1
- package/dist/types/src/components/Chat/Chat.d.ts +42 -33
- package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
- package/dist/types/src/components/Chat/context.d.ts +29 -0
- package/dist/types/src/components/Chat/context.d.ts.map +1 -0
- package/dist/types/src/components/Chat/events.d.ts +5 -1
- package/dist/types/src/components/Chat/events.d.ts.map +1 -1
- package/dist/types/src/components/ChatPrompt/ChatActions.d.ts +2 -1
- package/dist/types/src/components/ChatPrompt/ChatActions.d.ts.map +1 -1
- package/dist/types/src/components/ChatPrompt/ChatMcpErrors.d.ts +12 -0
- package/dist/types/src/components/ChatPrompt/ChatMcpErrors.d.ts.map +1 -0
- package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts +10 -6
- package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts.map +1 -1
- package/dist/types/src/components/ChatPrompt/ChatOptions.stories.d.ts +19 -0
- package/dist/types/src/components/ChatPrompt/ChatOptions.stories.d.ts.map +1 -0
- package/dist/types/src/components/ChatPrompt/ChatPresets.d.ts.map +1 -1
- package/dist/types/src/components/ChatPrompt/ChatPrompt.d.ts +28 -0
- package/dist/types/src/components/ChatPrompt/ChatPrompt.d.ts.map +1 -0
- package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts +5 -5
- package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts.map +1 -1
- package/dist/types/src/components/ChatPrompt/ChatStatus.d.ts +20 -0
- package/dist/types/src/components/ChatPrompt/ChatStatus.d.ts.map +1 -0
- package/dist/types/src/components/ChatPrompt/ChatStatusIndicator.d.ts.map +1 -1
- package/dist/types/src/components/ChatPrompt/index.d.ts +3 -0
- package/dist/types/src/components/ChatPrompt/index.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/Anchor.stories.d.ts +14 -0
- package/dist/types/src/components/ChatThread/Anchor.stories.d.ts.map +1 -0
- package/dist/types/src/components/ChatThread/ChatThread.d.ts +11 -11
- package/dist/types/src/components/ChatThread/ChatThread.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +15 -266
- package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/Link.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/MarkdownStream.stories.d.ts +42 -0
- package/dist/types/src/components/ChatThread/MarkdownStream.stories.d.ts.map +1 -0
- package/dist/types/src/components/ChatThread/registry.d.ts +19 -1
- package/dist/types/src/components/ChatThread/registry.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/sync.d.ts +51 -18
- package/dist/types/src/components/ChatThread/sync.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/tool-widget-state.d.ts +18 -0
- package/dist/types/src/components/ChatThread/tool-widget-state.d.ts.map +1 -0
- package/dist/types/src/components/ChatThread/tool-widget-state.test.d.ts +2 -0
- package/dist/types/src/components/ChatThread/tool-widget-state.test.d.ts.map +1 -0
- package/dist/types/src/components/ChatThread/widgets/FallbackWidget.d.ts +8 -0
- package/dist/types/src/components/ChatThread/widgets/FallbackWidget.d.ts.map +1 -0
- package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.d.ts +25 -0
- package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.d.ts.map +1 -0
- package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.stories.d.ts +18 -0
- package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.stories.d.ts.map +1 -0
- package/dist/types/src/components/ChatThread/widgets/ReferenceWidget.d.ts +9 -0
- package/dist/types/src/components/ChatThread/widgets/ReferenceWidget.d.ts.map +1 -0
- package/dist/types/src/components/ChatThread/widgets/SelectWidget.d.ts +14 -0
- package/dist/types/src/components/ChatThread/widgets/SelectWidget.d.ts.map +1 -0
- package/dist/types/src/components/ChatThread/widgets/StatsWidget.d.ts +12 -0
- package/dist/types/src/components/ChatThread/widgets/StatsWidget.d.ts.map +1 -0
- package/dist/types/src/components/ChatThread/widgets/StatusWidget.d.ts +12 -0
- package/dist/types/src/components/ChatThread/widgets/StatusWidget.d.ts.map +1 -0
- package/dist/types/src/components/ChatThread/widgets/SuggestionWidget.d.ts +11 -0
- package/dist/types/src/components/ChatThread/widgets/SuggestionWidget.d.ts.map +1 -0
- package/dist/types/src/components/ChatThread/widgets/SummaryWidget.d.ts +5 -0
- package/dist/types/src/components/ChatThread/widgets/SummaryWidget.d.ts.map +1 -0
- package/dist/types/src/components/ChatThread/widgets/ToolWidget.d.ts +9 -0
- package/dist/types/src/components/ChatThread/widgets/ToolWidget.d.ts.map +1 -0
- package/dist/types/src/components/ChatThread/widgets/ToolWidget.stories.d.ts +15 -0
- package/dist/types/src/components/ChatThread/widgets/ToolWidget.stories.d.ts.map +1 -0
- package/dist/types/src/components/ChatThread/widgets/defaults.d.ts +5 -0
- package/dist/types/src/components/ChatThread/widgets/defaults.d.ts.map +1 -0
- package/dist/types/src/components/ChatThread/widgets/index.d.ts +10 -0
- package/dist/types/src/components/ChatThread/widgets/index.d.ts.map +1 -0
- package/dist/types/src/components/ProcessTree/ProcessTree.d.ts +11 -0
- package/dist/types/src/components/ProcessTree/ProcessTree.d.ts.map +1 -0
- package/dist/types/src/components/ProcessTree/ProcessTree.stories.d.ts +7 -0
- package/dist/types/src/components/ProcessTree/ProcessTree.stories.d.ts.map +1 -0
- package/dist/types/src/components/ProcessTree/index.d.ts +2 -0
- package/dist/types/src/components/ProcessTree/index.d.ts.map +1 -0
- package/dist/types/src/components/TaskList/TaskList.d.ts +10 -0
- package/dist/types/src/components/TaskList/TaskList.d.ts.map +1 -0
- package/dist/types/src/components/TaskList/TaskList.stories.d.ts +16 -0
- package/dist/types/src/components/TaskList/TaskList.stories.d.ts.map +1 -0
- package/dist/types/src/components/TaskList/index.d.ts +2 -0
- package/dist/types/src/components/TaskList/index.d.ts.map +1 -0
- package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts +6 -5
- package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
- package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts +1 -253
- package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +12 -3
- package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
- package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts +2 -254
- package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts.map +1 -1
- 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 +9 -16
- package/dist/types/src/components/ToolBlock/ToolBlock.d.ts.map +1 -1
- package/dist/types/src/components/Toolbox/Toolbox.d.ts +14 -13
- package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
- package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts +1 -253
- package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +4 -7
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/containers/AgentArticle/AgentArticle.d.ts +6 -0
- package/dist/types/src/containers/AgentArticle/AgentArticle.d.ts.map +1 -0
- package/dist/types/src/containers/AgentArticle/AgentArticle.stories.d.ts +21 -0
- package/dist/types/src/containers/AgentArticle/AgentArticle.stories.d.ts.map +1 -0
- package/dist/types/src/containers/AgentArticle/index.d.ts +2 -0
- package/dist/types/src/containers/AgentArticle/index.d.ts.map +1 -0
- package/dist/types/src/containers/AgentProperties/AgentProperties.d.ts +6 -0
- package/dist/types/src/containers/AgentProperties/AgentProperties.d.ts.map +1 -0
- package/dist/types/src/containers/AgentProperties/AgentProperties.stories.d.ts +16 -0
- package/dist/types/src/containers/AgentProperties/AgentProperties.stories.d.ts.map +1 -0
- package/dist/types/src/containers/AgentProperties/index.d.ts +2 -0
- package/dist/types/src/containers/AgentProperties/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 +2 -0
- package/dist/types/src/containers/BlueprintArticle/index.d.ts.map +1 -0
- package/dist/types/src/containers/ChatArticle/ChatArticle.d.ts +12 -0
- package/dist/types/src/containers/ChatArticle/ChatArticle.d.ts.map +1 -0
- package/dist/types/src/containers/ChatArticle/index.d.ts +2 -0
- package/dist/types/src/containers/ChatArticle/index.d.ts.map +1 -0
- package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts +18 -0
- package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts.map +1 -0
- package/dist/types/src/containers/ChatCompanion/index.d.ts +2 -0
- package/dist/types/src/containers/ChatCompanion/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 +2 -0
- package/dist/types/src/containers/ChatDialog/index.d.ts.map +1 -0
- package/dist/types/src/containers/PlanArticle/PlanArticle.d.ts +6 -0
- package/dist/types/src/containers/PlanArticle/PlanArticle.d.ts.map +1 -0
- package/dist/types/src/containers/PlanArticle/index.d.ts +2 -0
- package/dist/types/src/containers/PlanArticle/index.d.ts.map +1 -0
- package/dist/types/src/containers/RoutineArticle/RoutineArticle.d.ts +6 -0
- package/dist/types/src/containers/RoutineArticle/RoutineArticle.d.ts.map +1 -0
- package/dist/types/src/containers/RoutineArticle/RoutineArticle.stories.d.ts +15 -0
- package/dist/types/src/containers/RoutineArticle/RoutineArticle.stories.d.ts.map +1 -0
- package/dist/types/src/containers/RoutineArticle/index.d.ts +2 -0
- package/dist/types/src/containers/RoutineArticle/index.d.ts.map +1 -0
- package/dist/types/src/containers/RoutineList/RoutineList.d.ts +6 -0
- package/dist/types/src/containers/RoutineList/RoutineList.d.ts.map +1 -0
- package/dist/types/src/containers/RoutineList/RoutineList.stories.d.ts +21 -0
- package/dist/types/src/containers/RoutineList/RoutineList.stories.d.ts.map +1 -0
- package/dist/types/src/containers/RoutineList/index.d.ts +2 -0
- package/dist/types/src/containers/RoutineList/index.d.ts.map +1 -0
- package/dist/types/src/containers/TracePanel/TracePanel.d.ts +8 -0
- package/dist/types/src/containers/TracePanel/TracePanel.d.ts.map +1 -0
- package/dist/types/src/containers/TracePanel/TracePanel.stories.d.ts +13 -0
- package/dist/types/src/containers/TracePanel/TracePanel.stories.d.ts.map +1 -0
- package/dist/types/src/containers/TracePanel/dxn-extractor.d.ts +19 -0
- package/dist/types/src/containers/TracePanel/dxn-extractor.d.ts.map +1 -0
- package/dist/types/src/containers/TracePanel/dxn-extractor.test.d.ts +2 -0
- package/dist/types/src/containers/TracePanel/dxn-extractor.test.d.ts.map +1 -0
- package/dist/types/src/containers/TracePanel/execution-graph.d.ts +106 -0
- package/dist/types/src/containers/TracePanel/execution-graph.d.ts.map +1 -0
- package/dist/types/src/containers/TracePanel/execution-graph.test.d.ts +2 -0
- package/dist/types/src/containers/TracePanel/execution-graph.test.d.ts.map +1 -0
- package/dist/types/src/containers/TracePanel/index.d.ts +4 -0
- package/dist/types/src/containers/TracePanel/index.d.ts.map +1 -0
- package/dist/types/src/containers/TracePanel/span-tree.d.ts +73 -0
- package/dist/types/src/containers/TracePanel/span-tree.d.ts.map +1 -0
- package/dist/types/src/containers/TracePanel/span-tree.test.d.ts +2 -0
- package/dist/types/src/containers/TracePanel/span-tree.test.d.ts.map +1 -0
- package/dist/types/src/containers/TracePanel/testing/index.d.ts +3 -0
- package/dist/types/src/containers/TracePanel/testing/index.d.ts.map +1 -0
- package/dist/types/src/containers/TracePanel/testing/simulated-agent.d.ts +14 -0
- package/dist/types/src/containers/TracePanel/testing/simulated-agent.d.ts.map +1 -0
- package/dist/types/src/containers/TracePanel/testing/snapshot-playback.d.ts +12 -0
- package/dist/types/src/containers/TracePanel/testing/snapshot-playback.d.ts.map +1 -0
- package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts +5 -0
- package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts.map +1 -0
- package/dist/types/src/containers/TriggerStatus/index.d.ts +2 -0
- package/dist/types/src/containers/TriggerStatus/index.d.ts.map +1 -0
- package/dist/types/src/containers/index.d.ts +13 -0
- package/dist/types/src/containers/index.d.ts.map +1 -0
- package/dist/types/src/extensions/index.d.ts +2 -0
- package/dist/types/src/extensions/index.d.ts.map +1 -0
- package/dist/types/src/extensions/prompt-extension.d.ts +10 -0
- package/dist/types/src/extensions/prompt-extension.d.ts.map +1 -0
- package/dist/types/src/feed-logger.d.ts +13 -0
- package/dist/types/src/feed-logger.d.ts.map +1 -0
- package/dist/types/src/hooks/index.d.ts +4 -1
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useBlueprintRegistry.d.ts +9 -9
- package/dist/types/src/hooks/useBlueprintRegistry.d.ts.map +1 -1
- package/dist/types/src/hooks/useChatKeymap.d.ts +12 -0
- package/dist/types/src/hooks/useChatKeymap.d.ts.map +1 -0
- package/dist/types/src/hooks/useChatProcessor.d.ts +10 -7
- package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
- package/dist/types/src/hooks/useChatServices.d.ts +5 -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 -3
- package/dist/types/src/hooks/useContextBinder.d.ts.map +1 -1
- package/dist/types/src/hooks/useContextObjects.d.ts +8 -8
- package/dist/types/src/hooks/useContextObjects.d.ts.map +1 -1
- package/dist/types/src/hooks/useDebug.d.ts +10 -0
- package/dist/types/src/hooks/useDebug.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 +1 -1
- package/dist/types/src/hooks/useFlush.d.ts.map +1 -1
- package/dist/types/src/hooks/usePresets.d.ts +1 -1
- package/dist/types/src/hooks/usePresets.d.ts.map +1 -1
- package/dist/types/src/hooks/useReferencesProvider.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -6
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +4 -2
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/operations/create-chat.d.ts +5 -0
- package/dist/types/src/operations/create-chat.d.ts.map +1 -0
- package/dist/types/src/operations/ensure-companion-chat.d.ts +5 -0
- package/dist/types/src/operations/ensure-companion-chat.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/prompt.test.d.ts +2 -0
- package/dist/types/src/operations/prompt.test.d.ts.map +1 -0
- package/dist/types/src/operations/resolve-navigation-targets.d.ts +15 -0
- package/dist/types/src/operations/resolve-navigation-targets.d.ts.map +1 -0
- package/dist/types/src/operations/run-prompt-in-new-chat.d.ts +5 -0
- package/dist/types/src/operations/run-prompt-in-new-chat.d.ts.map +1 -0
- package/dist/types/src/operations/set-current-chat.d.ts +5 -0
- package/dist/types/src/operations/set-current-chat.d.ts.map +1 -0
- package/dist/types/src/operations/toggle-trace-panel-debug.d.ts +5 -0
- package/dist/types/src/operations/toggle-trace-panel-debug.d.ts.map +1 -0
- package/dist/types/src/operations/update-chat-name.d.ts +5 -0
- package/dist/types/src/operations/update-chat-name.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/processor/index.d.ts +0 -1
- package/dist/types/src/processor/index.d.ts.map +1 -1
- package/dist/types/src/processor/presets.d.ts +1 -1
- package/dist/types/src/processor/presets.d.ts.map +1 -1
- package/dist/types/src/processor/processor.d.ts +64 -40
- package/dist/types/src/processor/processor.d.ts.map +1 -1
- package/dist/types/src/testing/index.d.ts +1 -0
- package/dist/types/src/testing/index.d.ts.map +1 -1
- package/dist/types/src/testing/test-generator.d.ts +4 -4
- package/dist/types/src/testing/test-generator.d.ts.map +1 -1
- package/dist/types/src/testing/test-generator.test.d.ts +2 -0
- package/dist/types/src/testing/test-generator.test.d.ts.map +1 -0
- package/dist/types/src/testing/test-sequence.d.ts +3 -3
- package/dist/types/src/testing/test-sequence.d.ts.map +1 -1
- package/dist/types/src/testing/test-services.d.ts +1 -1
- package/dist/types/src/testing/test-services.d.ts.map +1 -1
- package/dist/types/src/testing/test-trace.d.ts +5 -0
- package/dist/types/src/testing/test-trace.d.ts.map +1 -0
- package/dist/types/src/testing/trace-timeline.test.d.ts +2 -0
- package/dist/types/src/testing/trace-timeline.test.d.ts.map +1 -0
- package/dist/types/src/testing.d.ts +2 -0
- package/dist/types/src/testing.d.ts.map +1 -0
- package/dist/types/src/translations.d.ts +2 -88
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Assistant.d.ts +34 -45
- package/dist/types/src/types/Assistant.d.ts.map +1 -1
- package/dist/types/src/types/AssistantCapabilities.d.ts +30 -0
- package/dist/types/src/types/AssistantCapabilities.d.ts.map +1 -0
- package/dist/types/src/types/AssistantEvents.d.ts +3 -0
- package/dist/types/src/types/AssistantEvents.d.ts.map +1 -0
- package/dist/types/src/types/AssistantOperation.d.ts +144 -0
- package/dist/types/src/types/AssistantOperation.d.ts.map +1 -0
- package/dist/types/src/types/Settings.d.ts +27 -0
- package/dist/types/src/types/Settings.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +4 -2
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/service.d.ts +10 -212
- package/dist/types/src/types/service.d.ts.map +1 -1
- package/dist/types/src/util/suggestions.d.ts +9 -0
- package/dist/types/src/util/suggestions.d.ts.map +1 -0
- package/dist/types/src/util/suggestions.test.d.ts +2 -0
- package/dist/types/src/util/suggestions.test.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +196 -107
- package/src/AssistantPlugin.node.ts +44 -0
- package/src/AssistantPlugin.test.ts +35 -0
- package/src/AssistantPlugin.ts +126 -0
- package/src/AssistantPlugin.workerd.ts +41 -0
- package/src/blueprints/assistant/blueprint.test.ts +46 -0
- package/src/blueprints/assistant/blueprint.ts +31 -0
- package/src/blueprints/assistant/index.ts +5 -0
- package/src/{components/ChatToolbar → blueprints}/index.ts +1 -1
- package/src/capabilities/ai-service.ts +20 -17
- package/src/capabilities/app-graph-builder.ts +177 -171
- package/src/capabilities/blueprint-definition.ts +47 -57
- package/src/capabilities/companion-chat-provisioner.ts +163 -0
- package/src/capabilities/create-object.ts +107 -0
- package/src/capabilities/edge-model-resolver.ts +22 -14
- package/src/capabilities/index.ts +23 -14
- package/src/capabilities/local-model-resolver.ts +31 -13
- package/src/capabilities/markdown.ts +40 -0
- package/src/capabilities/migrations.ts +28 -0
- package/src/capabilities/operation-handler.ts +16 -0
- package/src/capabilities/react-surface.tsx +165 -61
- package/src/capabilities/settings.ts +24 -12
- package/src/capabilities/state.ts +27 -12
- package/src/capabilities/toolkit.ts +7 -13
- package/src/components/AssistantSettings/AssistantSettings.stories.tsx +35 -0
- package/src/components/AssistantSettings/AssistantSettings.tsx +30 -99
- package/src/components/AssistantSettings/index.ts +2 -2
- package/src/components/Chat/Chat.tsx +162 -258
- package/src/components/Chat/context.ts +39 -0
- package/src/components/Chat/events.ts +7 -1
- package/src/components/ChatPrompt/ChatActions.tsx +34 -16
- package/src/components/ChatPrompt/ChatMcpErrors.tsx +50 -0
- package/src/components/ChatPrompt/ChatOptions.stories.tsx +136 -0
- package/src/components/ChatPrompt/ChatOptions.tsx +310 -90
- package/src/components/ChatPrompt/ChatPrompt.tsx +182 -0
- package/src/components/ChatPrompt/ChatReferences.tsx +25 -16
- package/src/components/ChatPrompt/ChatStatus.tsx +123 -0
- package/src/components/ChatPrompt/ChatStatusIndicator.tsx +2 -2
- package/src/components/ChatPrompt/index.ts +3 -0
- package/src/components/ChatThread/Anchor.stories.tsx +95 -0
- package/src/components/ChatThread/ChatThread.stories.tsx +81 -71
- package/src/components/ChatThread/ChatThread.tsx +62 -46
- package/src/components/ChatThread/DEBUG.md +41 -0
- package/src/components/ChatThread/Link.tsx +4 -4
- package/src/components/ChatThread/MarkdownStream.stories.tsx +281 -0
- package/src/components/ChatThread/registry.tsx +184 -78
- package/src/components/ChatThread/sync.test.ts +201 -25
- package/src/components/ChatThread/sync.ts +105 -68
- package/src/components/ChatThread/testing/reasoning.md +25 -0
- package/src/components/ChatThread/testing/thinking.md +21 -0
- package/src/components/ChatThread/testing/thread-1.md +30 -0
- package/src/components/ChatThread/testing/thread-2.md +56 -0
- package/src/components/ChatThread/testing/thread-widgets.md +79 -0
- package/src/components/ChatThread/tool-widget-state.test.ts +34 -0
- package/src/components/ChatThread/tool-widget-state.ts +48 -0
- package/src/components/ChatThread/widgets/FallbackWidget.tsx +26 -0
- package/src/components/ChatThread/widgets/ReasoningWidget.stories.tsx +68 -0
- package/src/components/ChatThread/widgets/ReasoningWidget.ts +133 -0
- package/src/components/ChatThread/widgets/ReferenceWidget.ts +33 -0
- package/src/components/ChatThread/widgets/SelectWidget.ts +39 -0
- package/src/components/ChatThread/widgets/StatsWidget.ts +31 -0
- package/src/components/ChatThread/widgets/StatusWidget.ts +53 -0
- package/src/components/ChatThread/widgets/SuggestionWidget.ts +41 -0
- package/src/components/ChatThread/widgets/SummaryWidget.tsx +27 -0
- package/src/components/ChatThread/widgets/ToolWidget.stories.tsx +55 -0
- package/src/components/ChatThread/widgets/ToolWidget.tsx +156 -0
- package/src/components/ChatThread/widgets/defaults.ts +8 -0
- package/src/components/ChatThread/widgets/index.ts +13 -0
- package/src/components/ProcessTree/ProcessTree.stories.tsx +83 -0
- package/src/components/ProcessTree/ProcessTree.tsx +119 -0
- package/src/components/ProcessTree/index.ts +5 -0
- package/src/components/TaskList/TaskList.stories.tsx +44 -0
- package/src/components/TaskList/TaskList.tsx +45 -0
- package/src/components/TaskList/index.ts +5 -0
- package/src/components/TemplateEditor/TemplateEditor.stories.tsx +18 -14
- package/src/components/TemplateEditor/TemplateEditor.tsx +55 -43
- package/src/components/TemplateEditor/TemplateForm.stories.tsx +21 -15
- package/src/components/TemplateEditor/TemplateForm.tsx +111 -86
- 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 +46 -54
- package/src/components/Toolbox/Toolbox.stories.tsx +16 -18
- package/src/components/Toolbox/Toolbox.tsx +71 -66
- package/src/components/index.ts +4 -8
- package/src/containers/AgentArticle/AgentArticle.stories.tsx +120 -0
- package/src/containers/AgentArticle/AgentArticle.tsx +204 -0
- package/src/containers/AgentArticle/index.ts +5 -0
- package/src/containers/AgentProperties/AgentProperties.stories.tsx +101 -0
- package/src/containers/AgentProperties/AgentProperties.tsx +127 -0
- package/src/containers/AgentProperties/index.ts +5 -0
- package/src/containers/BlueprintArticle/BlueprintArticle.tsx +29 -0
- package/src/containers/BlueprintArticle/index.ts +5 -0
- package/src/containers/ChatArticle/ChatArticle.tsx +107 -0
- package/src/containers/ChatArticle/index.ts +5 -0
- package/src/containers/ChatCompanion/ChatCompanion.tsx +133 -0
- package/src/containers/ChatCompanion/index.ts +5 -0
- package/src/{components → containers/ChatDialog}/ChatDialog.tsx +14 -16
- package/src/containers/ChatDialog/index.ts +5 -0
- package/src/containers/PlanArticle/PlanArticle.tsx +33 -0
- package/src/containers/PlanArticle/index.ts +5 -0
- package/src/containers/RoutineArticle/RoutineArticle.stories.tsx +75 -0
- package/src/containers/RoutineArticle/RoutineArticle.tsx +109 -0
- package/src/containers/RoutineArticle/index.ts +5 -0
- package/src/containers/RoutineList/RoutineList.stories.tsx +130 -0
- package/src/containers/RoutineList/RoutineList.tsx +50 -0
- package/src/containers/RoutineList/index.ts +5 -0
- package/src/containers/TracePanel/TracePanel.stories.tsx +285 -0
- package/src/containers/TracePanel/TracePanel.tsx +177 -0
- package/src/containers/TracePanel/dxn-extractor.test.ts +153 -0
- package/src/containers/TracePanel/dxn-extractor.ts +178 -0
- package/src/containers/TracePanel/execution-graph.test.ts +387 -0
- package/src/containers/TracePanel/execution-graph.ts +624 -0
- package/src/containers/TracePanel/index.ts +9 -0
- package/src/containers/TracePanel/span-tree.test.ts +166 -0
- package/src/containers/TracePanel/span-tree.ts +214 -0
- package/src/containers/TracePanel/testing/index.ts +6 -0
- package/src/containers/TracePanel/testing/simulated-agent.ts +114 -0
- package/src/containers/TracePanel/testing/snapshot-playback.ts +45 -0
- package/src/containers/TriggerStatus/TriggerStatus.tsx +129 -0
- package/src/containers/TriggerStatus/index.ts +5 -0
- package/src/containers/index.ts +17 -0
- package/src/extensions/index.ts +5 -0
- package/src/extensions/prompt-extension.ts +111 -0
- package/src/feed-logger.ts +145 -0
- package/src/hooks/index.ts +4 -1
- package/src/hooks/useBlueprintRegistry.ts +48 -27
- package/src/hooks/useChatKeymap.ts +52 -0
- package/src/hooks/useChatProcessor.ts +45 -29
- package/src/hooks/useChatServices.ts +8 -30
- package/src/hooks/useChatToolbarActions.ts +120 -0
- package/src/hooks/useContextBinder.ts +23 -10
- package/src/hooks/useContextObjects.ts +17 -25
- package/src/hooks/useDebug.ts +38 -0
- package/src/hooks/useFilteredTypes.ts +37 -0
- package/src/hooks/usePresets.ts +2 -1
- package/src/hooks/useReferencesProvider.ts +5 -8
- package/src/index.ts +1 -7
- package/src/meta.ts +8 -5
- package/src/operations/create-chat.ts +84 -0
- package/src/operations/ensure-companion-chat.ts +63 -0
- package/src/operations/index.ts +16 -0
- package/src/operations/on-create-space.ts +24 -0
- package/src/operations/prompt.test.ts +77 -0
- package/src/operations/resolve-navigation-targets.ts +26 -0
- package/src/operations/run-prompt-in-new-chat.ts +113 -0
- package/src/operations/set-current-chat.ts +49 -0
- package/src/operations/toggle-trace-panel-debug.ts +27 -0
- package/src/operations/update-chat-name.ts +61 -0
- package/src/plugin.ts +11 -0
- package/src/processor/index.ts +0 -1
- package/src/processor/presets.ts +12 -4
- package/src/processor/processor.test.ts +20 -61
- package/src/processor/processor.ts +238 -163
- package/src/testing/data/trace-timeline.dx.json +4657 -0
- package/src/testing/index.ts +1 -0
- package/src/testing/test-generator.test.ts +70 -0
- package/src/testing/test-generator.ts +217 -194
- package/src/testing/test-sequence.ts +6 -6
- package/src/testing/test-services.ts +9 -7
- package/src/testing/test-trace.ts +20 -0
- package/src/testing/trace-timeline.conversations.json +1 -0
- package/src/testing/trace-timeline.test.ts +247 -0
- package/src/testing.ts +7 -0
- package/src/translations.ts +161 -81
- package/src/types/Assistant.ts +17 -54
- package/src/types/AssistantCapabilities.ts +35 -0
- package/src/types/AssistantEvents.ts +11 -0
- package/src/types/AssistantOperation.ts +141 -0
- package/src/types/Settings.ts +82 -0
- package/src/types/index.ts +8 -2
- package/src/types/service.ts +14 -11
- package/src/util/suggestions.test.ts +52 -0
- package/src/util/suggestions.ts +42 -0
- package/dist/lib/browser/BlueprintContainer-GMSYKGSO.mjs +0 -36
- package/dist/lib/browser/BlueprintContainer-GMSYKGSO.mjs.map +0 -7
- package/dist/lib/browser/ChatCompanion-M3FDKTQM.mjs +0 -151
- package/dist/lib/browser/ChatCompanion-M3FDKTQM.mjs.map +0 -7
- package/dist/lib/browser/ChatContainer-KAH7XITI.mjs +0 -74
- package/dist/lib/browser/ChatContainer-KAH7XITI.mjs.map +0 -7
- package/dist/lib/browser/ChatDialog-ZWRGABW6.mjs +0 -87
- package/dist/lib/browser/ChatDialog-ZWRGABW6.mjs.map +0 -7
- package/dist/lib/browser/ai-service-ERTZBTP3.mjs +0 -19
- package/dist/lib/browser/ai-service-ERTZBTP3.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-R5T7BJPC.mjs +0 -183
- package/dist/lib/browser/app-graph-builder-R5T7BJPC.mjs.map +0 -7
- package/dist/lib/browser/blueprint-definition-AGTDXTXO.mjs +0 -13
- package/dist/lib/browser/chunk-357IHWQL.mjs +0 -1519
- package/dist/lib/browser/chunk-357IHWQL.mjs.map +0 -7
- package/dist/lib/browser/chunk-A2NVNXPL.mjs +0 -170
- package/dist/lib/browser/chunk-A2NVNXPL.mjs.map +0 -7
- package/dist/lib/browser/chunk-CQW6UPJM.mjs +0 -199
- package/dist/lib/browser/chunk-CQW6UPJM.mjs.map +0 -7
- package/dist/lib/browser/chunk-GNI6HL6G.mjs +0 -219
- package/dist/lib/browser/chunk-GNI6HL6G.mjs.map +0 -7
- package/dist/lib/browser/chunk-GXHZTOWJ.mjs +0 -378
- package/dist/lib/browser/chunk-GXHZTOWJ.mjs.map +0 -7
- package/dist/lib/browser/chunk-L5OA5OGS.mjs +0 -262
- package/dist/lib/browser/chunk-L5OA5OGS.mjs.map +0 -7
- package/dist/lib/browser/chunk-MEN5WTLA.mjs +0 -182
- package/dist/lib/browser/chunk-MEN5WTLA.mjs.map +0 -7
- package/dist/lib/browser/chunk-PUG24BEC.mjs +0 -277
- package/dist/lib/browser/chunk-PUG24BEC.mjs.map +0 -7
- package/dist/lib/browser/chunk-SJJV3HEX.mjs +0 -16
- package/dist/lib/browser/chunk-SJJV3HEX.mjs.map +0 -7
- package/dist/lib/browser/chunk-WBG5PTSX.mjs.map +0 -7
- package/dist/lib/browser/edge-model-resolver-O6OFYIO2.mjs +0 -18
- package/dist/lib/browser/edge-model-resolver-O6OFYIO2.mjs.map +0 -7
- package/dist/lib/browser/index.mjs +0 -369
- package/dist/lib/browser/index.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-3C5TABOX.mjs +0 -136
- package/dist/lib/browser/intent-resolver-3C5TABOX.mjs.map +0 -7
- package/dist/lib/browser/local-model-resolver-GO6ZEMLL.mjs +0 -17
- package/dist/lib/browser/local-model-resolver-GO6ZEMLL.mjs.map +0 -7
- package/dist/lib/browser/meta.json +0 -1
- package/dist/lib/browser/react-surface-EYKA5IFU.mjs +0 -90
- package/dist/lib/browser/react-surface-EYKA5IFU.mjs.map +0 -7
- package/dist/lib/browser/settings-VMVBYZLN.mjs +0 -23
- package/dist/lib/browser/settings-VMVBYZLN.mjs.map +0 -7
- package/dist/lib/browser/state-CFREPBB6.mjs +0 -21
- package/dist/lib/browser/state-CFREPBB6.mjs.map +0 -7
- package/dist/lib/browser/toolkit-F3NQ7TSI.mjs +0 -21
- package/dist/lib/browser/toolkit-F3NQ7TSI.mjs.map +0 -7
- package/dist/lib/browser/types/index.mjs +0 -19
- package/dist/lib/node-esm/BlueprintContainer-6GBLMK4Z.mjs +0 -37
- package/dist/lib/node-esm/BlueprintContainer-6GBLMK4Z.mjs.map +0 -7
- package/dist/lib/node-esm/ChatCompanion-OV426GCP.mjs +0 -152
- package/dist/lib/node-esm/ChatCompanion-OV426GCP.mjs.map +0 -7
- package/dist/lib/node-esm/ChatContainer-UKY7NHFY.mjs +0 -75
- package/dist/lib/node-esm/ChatContainer-UKY7NHFY.mjs.map +0 -7
- package/dist/lib/node-esm/ChatDialog-2BDQIEXH.mjs +0 -88
- package/dist/lib/node-esm/ChatDialog-2BDQIEXH.mjs.map +0 -7
- package/dist/lib/node-esm/ai-service-MUYLV3NT.mjs +0 -20
- package/dist/lib/node-esm/ai-service-MUYLV3NT.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-I52RYVWH.mjs +0 -184
- package/dist/lib/node-esm/app-graph-builder-I52RYVWH.mjs.map +0 -7
- package/dist/lib/node-esm/blueprint-definition-CFCUD2VC.mjs +0 -14
- package/dist/lib/node-esm/chunk-2CAETDW2.mjs +0 -183
- package/dist/lib/node-esm/chunk-2CAETDW2.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-4J5FYNNM.mjs +0 -171
- package/dist/lib/node-esm/chunk-4J5FYNNM.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-5ARE4R2I.mjs +0 -220
- package/dist/lib/node-esm/chunk-5ARE4R2I.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-7ZYOYW7F.mjs +0 -264
- package/dist/lib/node-esm/chunk-7ZYOYW7F.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HJPIYMWD.mjs +0 -1520
- package/dist/lib/node-esm/chunk-HJPIYMWD.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
- package/dist/lib/node-esm/chunk-O36P4LN5.mjs +0 -200
- package/dist/lib/node-esm/chunk-O36P4LN5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-WE6KTH72.mjs +0 -25
- package/dist/lib/node-esm/chunk-WE6KTH72.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-XM4BVQQR.mjs +0 -278
- package/dist/lib/node-esm/chunk-XM4BVQQR.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-XQBL2SBL.mjs +0 -17
- package/dist/lib/node-esm/chunk-XQBL2SBL.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-YIO5MEPR.mjs +0 -380
- package/dist/lib/node-esm/chunk-YIO5MEPR.mjs.map +0 -7
- package/dist/lib/node-esm/edge-model-resolver-2ARXDOYS.mjs +0 -19
- package/dist/lib/node-esm/edge-model-resolver-2ARXDOYS.mjs.map +0 -7
- package/dist/lib/node-esm/index.mjs +0 -370
- package/dist/lib/node-esm/index.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-HQ27YALS.mjs +0 -137
- package/dist/lib/node-esm/intent-resolver-HQ27YALS.mjs.map +0 -7
- package/dist/lib/node-esm/local-model-resolver-WOQ2D2R2.mjs +0 -18
- package/dist/lib/node-esm/local-model-resolver-WOQ2D2R2.mjs.map +0 -7
- package/dist/lib/node-esm/meta.json +0 -1
- package/dist/lib/node-esm/react-surface-UOC3CBPH.mjs +0 -91
- package/dist/lib/node-esm/react-surface-UOC3CBPH.mjs.map +0 -7
- package/dist/lib/node-esm/settings-7AUVNDM2.mjs +0 -24
- package/dist/lib/node-esm/settings-7AUVNDM2.mjs.map +0 -7
- package/dist/lib/node-esm/state-XXND44OW.mjs +0 -22
- package/dist/lib/node-esm/state-XXND44OW.mjs.map +0 -7
- package/dist/lib/node-esm/toolkit-7CH5UNSQ.mjs +0 -22
- package/dist/lib/node-esm/toolkit-7CH5UNSQ.mjs.map +0 -7
- package/dist/lib/node-esm/types/index.mjs +0 -20
- package/dist/types/src/capabilities/capabilities.d.ts +0 -11
- 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/components/BlueprintContainer.d.ts +0 -8
- package/dist/types/src/components/BlueprintContainer.d.ts.map +0 -1
- package/dist/types/src/components/ChatCompanion.d.ts +0 -13
- package/dist/types/src/components/ChatCompanion.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/ChatProgress/ChatProgress.d.ts +0 -7
- package/dist/types/src/components/ChatProgress/ChatProgress.d.ts.map +0 -1
- package/dist/types/src/components/ChatProgress/index.d.ts +0 -2
- package/dist/types/src/components/ChatProgress/index.d.ts.map +0 -1
- package/dist/types/src/components/ChatThread/reducers.d.ts +0 -40
- package/dist/types/src/components/ChatThread/reducers.d.ts.map +0 -1
- package/dist/types/src/components/ChatToolbar/ChatToolbar.d.ts +0 -6
- package/dist/types/src/components/ChatToolbar/ChatToolbar.d.ts.map +0 -1
- package/dist/types/src/components/ChatToolbar/index.d.ts +0 -2
- package/dist/types/src/components/ChatToolbar/index.d.ts.map +0 -1
- package/dist/types/src/components/ChatToolbar/useChatToolbarActions.d.ts +0 -9
- package/dist/types/src/components/ChatToolbar/useChatToolbarActions.d.ts.map +0 -1
- package/dist/types/src/components/TemplateEditor/handlebars-extension.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/functions/analysis.d.ts +0 -5
- package/dist/types/src/functions/analysis.d.ts.map +0 -1
- package/dist/types/src/functions/index.d.ts +0 -4
- package/dist/types/src/functions/index.d.ts.map +0 -1
- package/dist/types/src/functions/object-list.d.ts +0 -10
- package/dist/types/src/functions/object-list.d.ts.map +0 -1
- package/dist/types/src/functions/object-load.d.ts +0 -8
- package/dist/types/src/functions/object-load.d.ts.map +0 -1
- package/dist/types/src/hooks/useItemTypes.d.ts +0 -4
- package/dist/types/src/hooks/useItemTypes.d.ts.map +0 -1
- package/dist/types/src/processor/update-name.d.ts +0 -10
- package/dist/types/src/processor/update-name.d.ts.map +0 -1
- package/dist/types/src/queue-logger.d.ts +0 -11
- package/dist/types/src/queue-logger.d.ts.map +0 -1
- package/dist/types/src/toolkits/AssistantToolkit.d.ts +0 -21
- package/dist/types/src/toolkits/AssistantToolkit.d.ts.map +0 -1
- package/dist/types/src/toolkits/SystemToolkit.d.ts +0 -69
- package/dist/types/src/toolkits/SystemToolkit.d.ts.map +0 -1
- package/dist/types/src/toolkits/index.d.ts +0 -3
- package/dist/types/src/toolkits/index.d.ts.map +0 -1
- package/dist/types/src/types/AssistantAction.d.ts +0 -119
- package/dist/types/src/types/AssistantAction.d.ts.map +0 -1
- package/dist/types/src/types/defs.d.ts +0 -2
- package/dist/types/src/types/defs.d.ts.map +0 -1
- package/src/AssistantPlugin.tsx +0 -171
- package/src/capabilities/capabilities.ts +0 -18
- package/src/capabilities/intent-resolver.ts +0 -121
- package/src/components/BlueprintContainer.tsx +0 -30
- package/src/components/ChatCompanion.tsx +0 -136
- package/src/components/ChatContainer.tsx +0 -51
- package/src/components/ChatProgress/ChatProgress.tsx +0 -67
- package/src/components/ChatProgress/index.ts +0 -5
- package/src/components/ChatThread/reducers.ts +0 -151
- package/src/components/ChatToolbar/ChatToolbar.tsx +0 -23
- package/src/components/ChatToolbar/useChatToolbarActions.ts +0 -126
- package/src/components/TemplateEditor/handlebars-extension.ts +0 -166
- package/src/events.ts +0 -11
- package/src/functions/analysis.ts +0 -22
- package/src/functions/index.ts +0 -7
- package/src/functions/object-list.ts +0 -48
- package/src/functions/object-load.ts +0 -45
- package/src/hooks/useItemTypes.ts +0 -37
- package/src/processor/update-name.ts +0 -57
- package/src/queue-logger.ts +0 -125
- package/src/toolkits/AssistantToolkit.ts +0 -55
- package/src/toolkits/SystemToolkit.ts +0 -292
- package/src/toolkits/index.ts +0 -6
- package/src/types/AssistantAction.ts +0 -70
- package/src/types/defs.ts +0 -5
- /package/dist/lib/{browser/blueprint-definition-AGTDXTXO.mjs.map → neutral/AssistantPlugin.mjs.map} +0 -0
- /package/dist/lib/{browser/chunk-J5LGTIGS.mjs.map → neutral/ChatArticle-WVAFZPVI.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/{node-esm/blueprint-definition-CFCUD2VC.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
- /package/dist/lib/{node-esm/types → neutral}/index.mjs.map +0 -0
- /package/dist/lib/{node-esm/chunk-HSLMI22Q.mjs.map → neutral/meta.mjs.map} +0 -0
- /package/dist/types/src/components/TemplateEditor/{handlebars-extension.d.ts → extensions/handlebars-extension.d.ts} +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/containers/TracePanel/TracePanel.tsx", "../../../src/containers/TracePanel/execution-graph.ts", "../../../src/containers/TracePanel/span-tree.ts", "../../../src/containers/TracePanel/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom } from '@effect-atom/atom';\nimport { useAtomValue } from '@effect-atom/atom-react';\nimport { pipe } from 'effect/Function';\nimport React, { useCallback, useMemo, useState } from 'react';\n\nimport { useAtomCapability, useOperationInvoker } from '@dxos/app-framework/ui';\nimport { LayoutOperation } from '@dxos/app-toolkit';\nimport { type AppSurface } from '@dxos/app-toolkit/ui';\nimport { Trace } from '@dxos/compute';\nimport { Filter, Query } from '@dxos/echo';\nimport { AtomQuery } from '@dxos/echo-atom';\nimport { FeedTraceSink, Process } from '@dxos/functions-runtime';\nimport { DXN } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport { useComputeRuntimeService } from '@dxos/plugin-automation/hooks';\nimport { type Space } from '@dxos/react-client/echo';\nimport { ScrollContainer } from '@dxos/react-ui';\nimport { useAttentionAttributes } from '@dxos/react-ui-attention';\nimport { Timeline, type Commit } from '@dxos/react-ui-components';\nimport { Syntax } from '@dxos/react-ui-syntax-highlighter';\nimport { composable, composableProps, mx } from '@dxos/ui-theme';\n\nimport { ProcessTree, ProcessTreeProps } from '#components';\nimport { AssistantCapabilities } from '#types';\n\nimport { buildExecutionGraph, type ExecutionGraph } from './execution-graph';\n\nexport type TracePanelProps = AppSurface.SpaceArticleProps<Pick<ProcessTreeProps, 'onProcessTerminate'>>;\n\nexport const TracePanel = composable<HTMLDivElement, TracePanelProps>(\n ({ space, attendableId, onProcessTerminate, ...props }, forwardedRef) => {\n const attentionAttrs = useAttentionAttributes(attendableId);\n const { invokePromise } = useOperationInvoker();\n const settings = useAtomCapability(AssistantCapabilities.Settings);\n const tracePanelDebug = settings.tracePanelDebug ?? false;\n const { branches, commits, spanTree } = useExecutionGraph(space);\n const runtime = useComputeRuntimeService(Process.ProcessMonitorService, space.id);\n const processes = useAtomValue(runtime?.processTreeAtom ?? atomEmpty);\n\n const [selectedCommit, setSelectedCommit] = useState<Commit | undefined>();\n const handleCommitSelect = useCallback(\n (commit: Commit | undefined) => {\n setSelectedCommit(commit);\n if (commit?.link) {\n const dxn = DXN.tryParse(commit.link)?.asEchoDXN();\n if (dxn?.spaceId && dxn.echoId) {\n // TODO(dmaretskyi): Navigates, but fails to open.\n void invokePromise(LayoutOperation.Open, {\n subject: [`${dxn.spaceId}:${dxn.echoId}`],\n });\n }\n }\n },\n [invokePromise, setSelectedCommit],\n );\n\n // Select current branch.\n const [currentBranch, setCurrentBranch] = useState<string | null>(null);\n const handleProcessSelect = useCallback(\n (process: Process.Info) => {\n const branch = branches.find((branch) => branch === process.pid.toString());\n if (branch) {\n setCurrentBranch(branch);\n }\n },\n [branches],\n );\n\n return (\n <div\n {...composableProps(props, {\n ...attentionAttrs,\n classNames: mx(\n 'h-full grid divide-y divide-separator',\n !tracePanelDebug && selectedCommit\n ? 'grid-rows-[minmax(0,4lh)_1fr_minmax(0,206px)]'\n : 'grid-rows-[minmax(0,4lh)_1fr]',\n ),\n })}\n ref={forwardedRef}\n >\n <ProcessTree\n processes={processes}\n onProcessSelect={handleProcessSelect}\n onProcessTerminate={onProcessTerminate}\n />\n\n <ScrollContainer.Root pin>\n <ScrollContainer.Content thin>\n <ScrollContainer.Fade />\n <ScrollContainer.Viewport>\n {tracePanelDebug ? (\n <Syntax.Root data={spanTree}>\n <Syntax.Content>\n <Syntax.Viewport>\n <Syntax.Code className='text-xs' />\n </Syntax.Viewport>\n </Syntax.Content>\n </Syntax.Root>\n ) : (\n <Timeline\n compact\n commits={commits}\n branches={branches}\n currentBranch={currentBranch}\n onSelect={handleCommitSelect}\n />\n )}\n </ScrollContainer.Viewport>\n <ScrollContainer.ScrollDownButton />\n </ScrollContainer.Content>\n </ScrollContainer.Root>\n\n {!tracePanelDebug && selectedCommit && (\n <Syntax.Root data={selectedCommit}>\n <Syntax.Content>\n <Syntax.Viewport>\n <Syntax.Code className='text-xs' />\n </Syntax.Viewport>\n </Syntax.Content>\n </Syntax.Root>\n )}\n </div>\n );\n },\n);\n\n// Stable ref.\nconst atomEmpty = Atom.make(() => [] as const);\n\ntype UseExecutionGraphOptions = {\n eventLimit?: number;\n};\n\nconst useExecutionGraph = (space: Space, { eventLimit }: UseExecutionGraphOptions = {}): ExecutionGraph => {\n const runtime = useComputeRuntimeService(Process.ProcessMonitorService, space.id);\n const activeProcesses = useAtomValue(runtime?.processTreeAtom ?? atomEmpty);\n const atom = useMemo(\n () => getExecutionGraph(space, activeProcesses, { eventLimit }),\n [space, activeProcesses, eventLimit],\n );\n\n return useAtomValue(atom);\n};\n\nconst getExecutionGraph = (\n space: Space,\n activeProcesses: readonly Process.Info[] = [],\n { eventLimit = 300 }: UseExecutionGraphOptions = {},\n): Atom.Atom<ExecutionGraph> => {\n return pipe(\n AtomQuery.make(space.db, FeedTraceSink.query),\n Atom.map((feeds) => {\n log('trace panel query trace feeds', { spaceId: space.id, feedCount: feeds.length });\n // TODO(dmaretskyi): This should be possible in a single query with properly working limit(1) and feed > feed contents traversal.\n return AtomQuery.make(\n space.db,\n feeds.length > 0\n ? Query.type(Trace.Message).from(feeds[0])\n : (Query.select(Filter.nothing()) as Query.Query<never>),\n );\n }),\n (_) => Atom.make((get) => get(get(_))),\n (_) =>\n Atom.make((get) =>\n buildExecutionGraph({\n traceMessages: [...get(_)],\n activeProcesses,\n eventLimit,\n }),\n ),\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Array from 'effect/Array';\nimport * as Either from 'effect/Either';\nimport { pipe } from 'effect/Function';\nimport * as Pipeable from 'effect/Pipeable';\nimport * as Schema from 'effect/Schema';\nimport * as Struct from 'effect/Struct';\n\nimport { AgentRequestBegin, AgentRequestEnd, CompleteBlock } from '@dxos/assistant';\nimport { Trace } from '@dxos/compute';\nimport { AGENT_PROCESS_KEY, Process } from '@dxos/functions-runtime';\nimport { LogLevel, log } from '@dxos/log';\nimport { type Commit } from '@dxos/react-ui-components';\n\nimport { ROOT_SPAN_ID, type Span, buildSpanTree, isSpanBeginEvent, isSpanEndEvent, walkSpanTree } from './span-tree';\n\n/**\n * Branch name for top-level operation invocations.\n */\nconst MAIN_BRANCH = 'main';\n\nconst ICONS = {\n agentRequestBegin: {\n icon: 'ph--atom--regular',\n level: LogLevel.VERBOSE,\n },\n agentRequestEnd: {\n icon: 'ph--atom--regular',\n level: LogLevel.INFO,\n },\n userMessage: {\n icon: 'ph--user--regular',\n level: LogLevel.VERBOSE,\n },\n statusMessage: {\n icon: 'ph--info--regular',\n level: LogLevel.VERBOSE,\n },\n operationStart: {\n icon: 'ph--function--regular',\n level: LogLevel.VERBOSE,\n },\n operationEndSuccess: {\n icon: 'ph--function--regular',\n level: LogLevel.INFO,\n },\n operationEndError: {\n icon: 'ph--function--regular',\n level: LogLevel.ERROR,\n },\n agentRequestRunning: {\n icon: 'ph--spinner-gap--regular',\n level: LogLevel.VERBOSE,\n },\n processRunning: {\n icon: 'ph--spinner-gap--regular',\n level: LogLevel.VERBOSE,\n },\n} as const;\n\nexport interface BuildExecutionGraphParams {\n traceMessages: Trace.Message[];\n activeProcesses?: readonly Process.Info[];\n eventLimit?: number;\n}\n\n/**\n * Builds a Timeline-compatible execution graph from trace messages and active processes.\n *\n * The conversion runs in two stages:\n * 1. `buildSpanTree` converts the flat list of trace messages into a hierarchical\n * tree of spans grouped by process id (pid). See `./span-tree.ts`.\n * 2. `spanTreeToCommits` walks the tree and emits one commit per event, using the\n * tree structure to decide which branch each commit belongs to and how to wire parents.\n *\n * Pure function — no signals or atoms.\n */\nexport type ExecutionGraph = {\n branches: string[];\n commits: Commit[];\n spanTree: Span;\n};\n\nexport const buildExecutionGraph = ({\n traceMessages,\n activeProcesses = [],\n eventLimit = 500,\n}: BuildExecutionGraphParams): ExecutionGraph => {\n const spanTree = buildSpanTree(traceMessages, { eventLimit });\n const built = spanTreeToCommits(spanTree, activeProcesses);\n log('trace execution graph', {\n traceMessages: traceMessages.length,\n commits: built.commits.length,\n branches: built.branches.length,\n activeProcesses: activeProcesses.length,\n });\n return { ...built, spanTree };\n};\n\n/**\n * Visual representation of a single trace event — icon, log level, message string.\n * `undefined` indicates that the event should not produce a commit.\n */\ninterface EventPresentation {\n icon: string;\n level: LogLevel;\n message: string;\n idSuffix?: string;\n}\n\nconst presentEvent = (event: Trace.FlatEvent): EventPresentation | undefined => {\n if (Trace.isOfType(AgentRequestBegin, event)) {\n if (Either.isLeft(Schema.validateEither(AgentRequestBegin.schema)(event.data))) {\n log('invalid trace event', { type: event.type });\n return undefined;\n }\n return {\n icon: ICONS.agentRequestBegin.icon,\n level: ICONS.agentRequestBegin.level,\n message: 'Agent processing request...',\n };\n }\n if (Trace.isOfType(AgentRequestEnd, event)) {\n if (Either.isLeft(Schema.validateEither(AgentRequestEnd.schema)(event.data))) {\n log('invalid trace event', { type: event.type });\n return undefined;\n }\n return {\n icon: ICONS.agentRequestEnd.icon,\n level: ICONS.agentRequestEnd.level,\n message: 'Agent completed request',\n };\n }\n if (Trace.isOfType(CompleteBlock, event)) {\n if (Either.isLeft(Schema.validateEither(CompleteBlock.schema)(event.data))) {\n log('invalid trace event', { type: event.type });\n return undefined;\n }\n switch (event.data.block._tag) {\n case 'text':\n return event.data.role === 'user'\n ? {\n icon: ICONS.userMessage.icon,\n level: ICONS.userMessage.level,\n message: trimText(event.data.block.text),\n }\n : undefined;\n case 'status':\n return {\n icon: ICONS.statusMessage.icon,\n level: ICONS.statusMessage.level,\n message: trimText(event.data.block.statusText),\n };\n default:\n return undefined;\n }\n }\n if (Trace.isOfType(Trace.OperationStart, event)) {\n if (Either.isLeft(Schema.validateEither(Trace.OperationStart.schema)(event.data))) {\n log('invalid trace event', { type: event.type });\n return undefined;\n }\n return {\n icon: ICONS.operationStart.icon,\n level: ICONS.operationStart.level,\n message: event.data.name ?? event.data.key,\n idSuffix: `${event.data.key}:start`,\n };\n }\n if (Trace.isOfType(Trace.OperationEnd, event)) {\n if (Either.isLeft(Schema.validateEither(Trace.OperationEnd.schema)(event.data))) {\n log('invalid trace event', { type: event.type });\n return undefined;\n }\n const success = event.data.outcome === 'success';\n return {\n icon: success ? ICONS.operationEndSuccess.icon : ICONS.operationEndError.icon,\n level: success ? ICONS.operationEndSuccess.level : ICONS.operationEndError.level,\n message: `${event.data.name ?? event.data.key} - ${success ? 'Success' : 'Error'}`,\n idSuffix: `${event.data.key}:end`,\n };\n }\n return undefined;\n};\n\n/**\n * A span is \"collapsible\" when it would otherwise render as an empty fork-and-merge:\n * exactly two events that form a begin/end pair and no child sub-spans. In that case\n * we emit a single commit for the end event on the parent branch.\n *\n * A *pending* span (one whose end event has not yet been recorded) is never collapsed:\n * its trailing events should keep rendering as middle commits on the span's own branch\n * — never as a fake \"end\" commit on the parent branch.\n *\n * Both nested spans and top-level spans (whose parent is the synthetic root) are eligible\n * once they have completed: a span with no inner activity is collapsed regardless of where\n * it sits in the tree.\n */\nconst isCollapsibleSpan = (span: Span, parent: Span | null): boolean => {\n if (span.id === ROOT_SPAN_ID) {\n return false;\n }\n if (span.events.length !== 2) {\n return false;\n }\n if (span.children.length > 0) {\n return false;\n }\n const firstEvent = span.events[0];\n const lastEvent = span.events[span.events.length - 1];\n if (!isSpanBeginEvent(firstEvent) || !isSpanEndEvent(lastEvent)) {\n return false;\n }\n return parent !== null;\n};\n\n/**\n * Converts a span tree into a flat list of commits + branches suitable for `Timeline` rendering.\n *\n * For every span the algorithm:\n * - emits the **first** event as a \"begin\" commit on the parent span's branch (fork);\n * - emits **middle** events as commits on the span's own branch;\n * - emits the **last** event as an \"end\" commit on the parent span's branch with two parents\n * (the begin commit and the last commit on the span's own branch — a merge).\n *\n * Collapsible spans (`isCollapsibleSpan`) emit only the end commit on the parent branch with\n * a single parent — a tidier rendering for sub-operations that have no inner detail.\n *\n * Events are processed in global chronological order so that sub-operations of a span interleave\n * naturally with the span's own middle events.\n */\nconst spanTreeToCommits = (\n root: Span,\n activeProcesses: readonly Process.Info[],\n): { branches: string[]; commits: Commit[] } => {\n const builder = new GraphBuilder();\n builder.addBranch(MAIN_BRANCH);\n\n // Build a child → parent lookup using the tree's own structure (already correctly parented\n // when the tree was constructed, including sequential spans of the same process).\n const parentBySpan = new Map<Span, Span | null>();\n parentBySpan.set(root, null);\n const indexParents = (span: Span): void => {\n for (const child of span.children) {\n parentBySpan.set(child, span);\n indexParents(child);\n }\n };\n indexParents(root);\n\n const findParentSpan = (span: Span): Span | null => parentBySpan.get(span) ?? null;\n\n // The branch name for a span is its pid — multiple sequential spans of the same process\n // (e.g. successive agent requests in one session) share a branch so they reuse a single lane.\n const branchOf = (span: Span | null): string => {\n if (!span || span.id === ROOT_SPAN_ID) {\n return MAIN_BRANCH;\n }\n return span.meta.pid ?? span.id;\n };\n\n // Selector that returns the most recent commit walking up the ancestor chain of `span`,\n // starting from `span`'s own branch and falling back through parent branches up to main.\n // Used when a commit emitted on a parent/ancestor branch needs to attach to something\n // that hasn't been written to yet (e.g. the first child sub-span begins before any\n // middle event has landed on the parent branch).\n const lastInAncestorChain = (span: Span | null): CommitSelector => {\n const branches: string[] = [];\n const seen = new Set<string>();\n let current = span;\n while (current) {\n const branch = branchOf(current);\n if (!seen.has(branch)) {\n seen.add(branch);\n branches.push(branch);\n }\n current = findParentSpan(current);\n }\n if (!seen.has(MAIN_BRANCH)) {\n branches.push(MAIN_BRANCH);\n }\n return CommitSelector.firstOf(\n ...branches.map((branch) => CommitSelector.branch(branch).pipe(CommitSelector.compose(CommitSelector.last()))),\n );\n };\n\n // Flatten the tree into a chronological stream, recording each event's position within its span\n // so we can detect begin/end events.\n interface EventCursor {\n span: Span;\n event: Trace.FlatEvent;\n eventIndex: number;\n globalIndex: number;\n }\n const stream: EventCursor[] = [];\n walkSpanTree(root, (span) => {\n span.events.forEach((event, eventIndex) => {\n stream.push({ span, event, eventIndex, globalIndex: stream.length });\n });\n });\n stream.sort((a, b) => a.event.timestamp - b.event.timestamp || a.globalIndex - b.globalIndex);\n\n // Track the id of the begin commit for each non-collapsible span so the end commit can merge into it.\n const beginCommitIdBySpan = new Map<string, string>();\n\n for (const { span, event, globalIndex } of stream) {\n const presentation = presentEvent(event);\n if (!presentation) {\n continue;\n }\n\n // Classify based on event TYPE, not array index. A pending span's trailing\n // middle event (e.g. a user message awaiting an agent response) must not be\n // mistaken for the span's end event — otherwise it would render on the\n // parent branch instead of the span's own branch.\n const isBeginEvent = isSpanBeginEvent(event);\n const isEndEvent = isSpanEndEvent(event);\n const parentSpan = findParentSpan(span);\n const collapsible = isCollapsibleSpan(span, parentSpan);\n\n // Collapsed spans: skip the begin event entirely; only the end event renders.\n if (collapsible && isBeginEvent) {\n continue;\n }\n\n const parentBranch = branchOf(parentSpan);\n const ownBranch = branchOf(span);\n\n let branch: string;\n let parents: string[];\n\n if (span.id === ROOT_SPAN_ID) {\n // Root-level events (no pid) attach sequentially to main.\n branch = MAIN_BRANCH;\n parents = builder.computeParents(\n CommitSelector.branch(MAIN_BRANCH).pipe(CommitSelector.compose(CommitSelector.last())),\n );\n } else if (collapsible) {\n // Only the end event reaches here for collapsible spans.\n // Walk the ancestor chain so the commit attaches to the most recent ancestor\n // even when the immediate parent branch has not received a commit yet.\n branch = parentBranch;\n parents = builder.computeParents(lastInAncestorChain(parentSpan));\n } else if (isBeginEvent) {\n // Begin commit: fork off the parent branch.\n // Walk the ancestor chain to find the most recent ancestor commit to fork from.\n branch = parentBranch;\n parents = builder.computeParents(lastInAncestorChain(parentSpan));\n } else if (isEndEvent) {\n // End commit: merge from the span's own branch back into the parent branch.\n branch = parentBranch;\n const beginId = beginCommitIdBySpan.get(span.id);\n parents = builder.computeParents(\n CommitSelector.unionAll(\n beginId ? CommitSelector.id(beginId) : lastInAncestorChain(parentSpan),\n CommitSelector.branch(ownBranch).pipe(CommitSelector.compose(CommitSelector.last())),\n ),\n );\n } else {\n // Middle event: continue the span's own branch.\n branch = ownBranch;\n parents = builder.computeParents(\n CommitSelector.branch(ownBranch).pipe(\n CommitSelector.compose(CommitSelector.last()),\n CommitSelector.orElse(lastInAncestorChain(parentSpan)),\n ),\n );\n }\n\n const commitId = formatCommitId(span, globalIndex, presentation.idSuffix);\n const commit: Commit = {\n id: commitId,\n branch,\n parents,\n timestamp: new Date(event.timestamp),\n icon: presentation.icon,\n level: presentation.level,\n message: presentation.message,\n };\n builder.addCommit(commit);\n\n // Record begin commit so a later end event can merge into it.\n if (isBeginEvent && !collapsible && span.id !== ROOT_SPAN_ID) {\n beginCommitIdBySpan.set(span.id, commitId);\n }\n }\n\n // Append \"running\" indicators for processes that are still active.\n for (const process of activeProcesses) {\n if (\n process.key === AGENT_PROCESS_KEY &&\n process.params.target &&\n (process.state === Process.State.RUNNING || process.state === Process.State.HYBERNATING)\n ) {\n builder.addCommit({\n id: `running:${process.pid}`,\n branch: process.pid,\n parents: builder.computeParents(\n CommitSelector.branch(process.pid).pipe(CommitSelector.compose(CommitSelector.last())),\n ),\n icon: ICONS.agentRequestRunning.icon,\n level: ICONS.agentRequestRunning.level,\n message: 'Generating...',\n timestamp: new Date(),\n });\n } else if (process.state === Process.State.RUNNING && builder.hasBranch(process.pid)) {\n builder.addCommit({\n id: `running:${process.pid}`,\n branch: process.pid,\n parents: builder.computeParents(\n CommitSelector.branch(process.pid).pipe(CommitSelector.compose(CommitSelector.last())),\n ),\n icon: ICONS.processRunning.icon,\n level: ICONS.processRunning.level,\n message: 'Running...',\n timestamp: new Date(),\n });\n }\n }\n\n return builder.build();\n};\n\nconst formatCommitId = (span: Span, globalIndex: number, suffix?: string): string => {\n const base = `${span.id}:${globalIndex}`;\n return suffix ? `${base}:${suffix}` : base;\n};\n\nconst trimText = (text: string) => text.slice(0, 100).trim().split('\\n')[0];\n\ntype Falsy = false | null | undefined;\n\nexport interface CommitSelector extends Pipeable.Pipeable {\n select: (commits: Commit[]) => Commit[];\n}\n\nexport const CommitSelector = {\n make: (select: CommitSelector['select']): CommitSelector => ({\n select,\n pipe(...args: any) {\n return Pipeable.pipeArguments(this, args);\n },\n }),\n\n identity: (): CommitSelector => CommitSelector.make((commits) => commits),\n\n /**\n * Selects commits that match the given predicate.\n */\n filter: (predicate: (commit: Commit) => unknown): CommitSelector =>\n CommitSelector.make((commits) => commits.filter(predicate)),\n\n /**\n * Selects commits by id.\n */\n id: (id: string): CommitSelector => CommitSelector.filter((commit) => commit.id === id),\n /**\n * Selects commits by tag.\n */\n tag: (tag: string | Falsy): CommitSelector => CommitSelector.filter((commit) => tag && commit.tags?.includes(tag)),\n /**\n * Selects commits by if any of the given tags are present.\n */\n anyTags: (tags: (string | Falsy)[]): CommitSelector =>\n CommitSelector.filter((commit) => tags.some((tag) => tag && commit.tags?.includes(tag))),\n /**\n * Selects commits by branch.\n */\n branch: (branch: string | Falsy): CommitSelector =>\n CommitSelector.filter((commit) => branch && commit.branch === branch),\n\n /**\n * Chains two selectors together, applying the second selector to the result of the first.\n *\n * Example:\n *\n * ```\n * CommitSelector.tag('tag').pipe(CommitSelector.compose(CommitSelector.branch('main')));\n * ```\n */\n compose:\n (next: CommitSelector) =>\n (prev: CommitSelector): CommitSelector =>\n CommitSelector.make((commits) => next.select(prev.select(commits))),\n\n /**\n * If `prev` selector matches no commits, return `next` selector, otherwise return `prev` selector.\n * Same as `CommitSelector.firstOf(prev, next)`.\n *\n * Example:\n *\n * ```\n * CommitSelector.tag('tag').pipe(CommitSelector.orElse(CommitSelector.branch('main')));\n * ```\n */\n orElse:\n (next: CommitSelector) =>\n (prev: CommitSelector): CommitSelector =>\n CommitSelector.make((commits) => {\n const selected = prev.select(commits);\n if (selected.length > 0) {\n return selected;\n }\n return next.select(commits);\n }),\n\n /**\n * Selects commits that match either of the given selectors.\n */\n andAlso:\n (next: CommitSelector) =>\n (prev: CommitSelector): CommitSelector =>\n CommitSelector.unionAll(prev, next),\n\n /**\n * Selects the first n commits.\n */\n first: (n: number = 1): CommitSelector => CommitSelector.make((commits) => commits.slice(0, n)),\n /**\n * Selects the last n commits (reverses the order of the commits).\n */\n last: (n: number = 1): CommitSelector => CommitSelector.make((commits) => commits.toReversed().slice(0, n)),\n /**\n * Selects commits that do not match the given selector.\n */\n not: (selector: CommitSelector): CommitSelector =>\n CommitSelector.make((commits) => {\n const selected = selector.select(commits);\n return commits.filter((commit) => !selected.includes(commit));\n }),\n\n /**\n * Selects commits that match any of the given selectors.\n */\n unionAll: (...selectors: CommitSelector[]): CommitSelector =>\n CommitSelector.make((commits) => {\n return Array.dedupeWith(\n selectors.flatMap((selector) => selector.select(commits)),\n (a, b) => a.id === b.id,\n );\n }),\n\n /**\n * Selects commits that match all of the given selectors.\n */\n intersectAll: (...selectors: CommitSelector[]): CommitSelector =>\n CommitSelector.make((commits) => {\n const selected = selectors.map((selector) => selector.select(commits));\n if (selected.length === 0) {\n return [];\n }\n return selected[0].filter((commit) => selected.every((selected) => selected.some((c) => c.id === commit.id)));\n }),\n\n /**\n * Returns the result of the first selector that matches any commits.\n */\n firstOf: (...selectors: CommitSelector[]): CommitSelector =>\n CommitSelector.make((commits) => {\n for (const selector of selectors) {\n const selected = selector.select(commits);\n if (selected.length > 0) {\n return selected;\n }\n }\n return [];\n }),\n};\n\nclass GraphBuilder {\n #commits: Commit[] = [];\n #branches = new Set<string>();\n\n findCommits(selector: CommitSelector): Commit[] {\n return selector.select(this.#commits);\n }\n\n hasBranch(branch: string): boolean {\n return this.#branches.has(branch);\n }\n\n addCommit(commit: Commit) {\n this.addBranch(commit.branch);\n this.#commits.push(commit);\n }\n\n /**\n * Computes parents — picks first matching commit's id.\n */\n computeParents(selector: CommitSelector): string[] {\n return Array.dedupe(selector.select(this.#commits).map((commit) => commit.id));\n }\n\n addBranch(branch: string) {\n this.#branches.add(branch);\n }\n\n /**\n * Removes duplicate commits and dangling parents.\n */\n doctor() {\n this.#commits = pipe(\n this.#commits,\n Array.dedupeWith((a, b) => a.id === b.id),\n Array.map(\n Struct.evolve({\n parents: (parents) =>\n parents ? Array.filter(parents, (id) => this.#commits.some((commit) => commit.id === id)) : undefined,\n }),\n ),\n );\n }\n\n build() {\n this.doctor();\n return {\n commits: this.#commits,\n branches: [...this.#branches],\n };\n }\n}\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { AgentRequestBegin, AgentRequestEnd } from '@dxos/assistant';\nimport { Trace } from '@dxos/compute';\n\n/**\n * Synthetic id assigned to the root span.\n * The root is a virtual container for top-level spans (those without a parent in the captured trace).\n */\nexport const ROOT_SPAN_ID = '<main>';\n\n/**\n * Computed metadata for a span.\n * Derived from the meta of the begin event that opened the span.\n */\nexport interface SpanMeta {\n readonly pid?: string;\n readonly parentPid?: string;\n readonly processName?: string;\n readonly conversationId?: string;\n readonly triggerId?: string;\n readonly toolCallId?: string;\n readonly runtimeName?: string;\n}\n\n/**\n * A span in the trace hierarchy.\n *\n * Each span represents a single bounded unit of work — an operation invocation or an\n * agent request. Spans are opened by `OperationStart` / `AgentRequestBegin` events and\n * closed by their matching `OperationEnd` / `AgentRequestEnd` events. A single process\n * (pid) may produce multiple sequential spans (for example, an agent session that serves\n * three prompts produces three sibling spans sharing the agent's pid).\n *\n * `events` contains the bounded events for this span only — child spans' events are not\n * duplicated here. `children` contains sub-spans that opened while this span was active.\n */\nexport interface Span {\n readonly id: string;\n readonly meta: SpanMeta;\n readonly events: Trace.FlatEvent[];\n readonly children: Span[];\n}\n\nexport const BEGIN_EVENT_TYPES = new Set<string>([Trace.OperationStart.key, AgentRequestBegin.key]);\nexport const END_EVENT_TYPES = new Set<string>([Trace.OperationEnd.key, AgentRequestEnd.key]);\n\nexport const isSpanBeginEvent = (event: Trace.FlatEvent): boolean => BEGIN_EVENT_TYPES.has(event.type);\nexport const isSpanEndEvent = (event: Trace.FlatEvent): boolean => END_EVENT_TYPES.has(event.type);\n\nconst computeMeta = (rawMeta: Trace.Meta): SpanMeta => ({\n pid: rawMeta.pid,\n parentPid: rawMeta.parentPid,\n processName: rawMeta.processName,\n conversationId: rawMeta.conversationId,\n triggerId: rawMeta.triggerId,\n toolCallId: rawMeta.toolCallId,\n runtimeName: rawMeta.runtimeName,\n});\n\ninterface MutableSpan {\n id: string;\n meta: SpanMeta;\n events: Trace.FlatEvent[];\n children: MutableSpan[];\n firstTimestamp: number;\n}\n\nconst makeMutableSpan = (id: string, meta: SpanMeta): MutableSpan => ({\n id,\n meta,\n events: [],\n children: [],\n firstTimestamp: Number.POSITIVE_INFINITY,\n});\n\nconst freezeSpan = (span: MutableSpan): Span => ({\n id: span.id,\n meta: span.meta,\n events: span.events,\n children: span.children.map(freezeSpan),\n});\n\nexport interface BuildSpanTreeOptions {\n /**\n * If provided, only the last `eventLimit` flat events (after flattening and chronological sort)\n * are placed into the tree. Spans with no remaining events are dropped from the result.\n */\n eventLimit?: number;\n}\n\n/**\n * Builds a hierarchical span tree from a list of trace messages.\n *\n * Algorithm:\n * 1. Flatten messages into events and sort them chronologically.\n * 2. For each event:\n * - Begin events (`OperationStart`, `AgentRequestBegin`) open a new span whose parent\n * is the currently-open span of the event's `meta.parentPid`, or the root if there is\n * none. The begin event itself becomes the first event of the new span.\n * - End events (`OperationEnd`, `AgentRequestEnd`) close the currently-open span for\n * the event's `meta.pid` and become its last event.\n * - Other events attach to the currently-open span for their `meta.pid`, or to the\n * root span if no span is currently open for that pid (or the event has no pid).\n * 3. Sort each span's children by their earliest event timestamp.\n */\nexport const buildSpanTree = (messages: Trace.Message[], options: BuildSpanTreeOptions = {}): Span => {\n const allEvents = messages.flatMap((message) => Trace.flatten(message));\n allEvents.sort((a, b) => a.timestamp - b.timestamp);\n\n const events =\n options.eventLimit !== undefined && allEvents.length > options.eventLimit\n ? allEvents.slice(-options.eventLimit)\n : allEvents;\n\n const root = makeMutableSpan(ROOT_SPAN_ID, {});\n\n // Currently-open span for each pid.\n // A process may host multiple sequential spans (e.g. successive agent requests), so we\n // track the active one and start a new span on the next begin event.\n const openSpans = new Map<string, MutableSpan>();\n\n let spanCounter = 0;\n const allocSpanId = (pid: string): string => {\n const id = `${pid}#${spanCounter}`;\n spanCounter += 1;\n return id;\n };\n\n const noteTimestamp = (span: MutableSpan, timestamp: number): void => {\n if (timestamp < span.firstTimestamp) {\n span.firstTimestamp = timestamp;\n }\n };\n\n for (const event of events) {\n const pid = event.meta.pid;\n\n if (!pid) {\n // Events without a pid attach to the root.\n root.events.push(event);\n noteTimestamp(root, event.timestamp);\n continue;\n }\n\n if (BEGIN_EVENT_TYPES.has(event.type)) {\n const parentPid = event.meta.parentPid;\n const parent = (parentPid && openSpans.get(parentPid)) || root;\n const span = makeMutableSpan(allocSpanId(pid), computeMeta(event.meta));\n span.events.push(event);\n noteTimestamp(span, event.timestamp);\n parent.children.push(span);\n // The new span supersedes any previously-open span for this pid.\n openSpans.set(pid, span);\n continue;\n }\n\n if (END_EVENT_TYPES.has(event.type)) {\n const span = openSpans.get(pid);\n if (span) {\n span.events.push(event);\n noteTimestamp(span, event.timestamp);\n openSpans.delete(pid);\n } else {\n // End event without a matching begin — attach to root so the event isn't lost.\n root.events.push(event);\n noteTimestamp(root, event.timestamp);\n }\n continue;\n }\n\n // Non-boundary event: attach to the currently-open span for this pid if any.\n const open = openSpans.get(pid);\n if (open) {\n open.events.push(event);\n noteTimestamp(open, event.timestamp);\n } else {\n root.events.push(event);\n noteTimestamp(root, event.timestamp);\n }\n }\n\n // Sort children chronologically for deterministic output.\n const sortChildren = (span: MutableSpan): void => {\n span.children.sort((a, b) => a.firstTimestamp - b.firstTimestamp);\n for (const child of span.children) {\n sortChildren(child);\n }\n };\n sortChildren(root);\n\n return freezeSpan(root);\n};\n\n/**\n * Walks the span tree in depth-first pre-order, invoking `visit` for each span (root included).\n */\nexport const walkSpanTree = (root: Span, visit: (span: Span, depth: number) => void, depth = 0): void => {\n visit(root, depth);\n for (const child of root.children) {\n walkSpanTree(child, visit, depth + 1);\n }\n};\n\n/**\n * Returns all spans in the tree in depth-first pre-order, root first.\n */\nexport const flattenSpanTree = (root: Span): Span[] => {\n const result: Span[] = [];\n walkSpanTree(root, (span) => result.push(span));\n return result;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { TracePanel } from './TracePanel';\n\nexport * from './TracePanel';\n\nexport default TracePanel;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Atom", "useAtomValue", "pipe", "React", "useCallback", "useMemo", "useState", "useAtomCapability", "useOperationInvoker", "LayoutOperation", "Trace", "Filter", "Query", "AtomQuery", "FeedTraceSink", "Process", "DXN", "log", "useComputeRuntimeService", "ScrollContainer", "useAttentionAttributes", "Timeline", "Syntax", "composable", "composableProps", "mx", "ProcessTree", "AssistantCapabilities", "Array", "Either", "pipe", "Pipeable", "Schema", "Struct", "AgentRequestBegin", "AgentRequestEnd", "CompleteBlock", "Trace", "AGENT_PROCESS_KEY", "Process", "LogLevel", "log", "AgentRequestBegin", "AgentRequestEnd", "Trace", "ROOT_SPAN_ID", "BEGIN_EVENT_TYPES", "Set", "OperationStart", "key", "END_EVENT_TYPES", "OperationEnd", "isSpanBeginEvent", "event", "has", "type", "isSpanEndEvent", "computeMeta", "rawMeta", "pid", "parentPid", "processName", "conversationId", "triggerId", "toolCallId", "runtimeName", "makeMutableSpan", "id", "meta", "events", "children", "firstTimestamp", "Number", "POSITIVE_INFINITY", "freezeSpan", "span", "map", "buildSpanTree", "messages", "options", "allEvents", "flatMap", "message", "flatten", "sort", "a", "b", "timestamp", "eventLimit", "undefined", "length", "slice", "root", "openSpans", "Map", "spanCounter", "allocSpanId", "noteTimestamp", "push", "parent", "get", "set", "delete", "open", "sortChildren", "child", "walkSpanTree", "visit", "depth", "agentRequestBegin", "LogLevel", "agentRequestEnd", "userMessage", "statusMessage", "operationStart", "operationEndSuccess", "INFO", "operationEndError", "agentRequestRunning", "VERBOSE", "processRunning", "eventLimit", "log", "traceMessages", "commits", "length", "branches", "built", "activeProcesses", "spanTree", "isLeft", "Schema", "AgentRequestBegin", "type", "undefined", "level", "message", "Trace", "AgentRequestEnd", "event", "data", "role", "ICONS", "trimText", "idSuffix", "success", "icon", "key", "span", "events", "children", "firstEvent", "isSpanBeginEvent", "parent", "builder", "MAIN_BRANCH", "indexParents", "child", "set", "Set", "current", "branch", "has", "seen", "push", "findParentSpan", "CommitSelector", "stream", "walkSpanTree", "forEach", "eventIndex", "globalIndex", "beginCommitIdBySpan", "Map", "presentEvent", "presentation", "parentSpan", "collapsible", "isCollapsibleSpan", "isBeginEvent", "parents", "isEndEvent", "parentBranch", "commitId", "formatCommitId", "id", "timestamp", "addCommit", "commit", "process", "computeParents", "Date", "state", "base", "text", "slice", "make", "select", "args", "identity", "selected", "next", "includes", "GraphBuilder", "findCommits", "selector", "hasBranch", "addBranch", "build", "__dxlog_file", "TracePanel", "invokePromise", "useOperationInvoker", "settings", "useAtomCapability", "AssistantCapabilities", "Settings", "tracePanelDebug", "useExecutionGraph", "space", "runtime", "useComputeRuntimeService", "ProcessMonitorService", "processes", "useAtomValue", "processTreeAtom", "atomEmpty", "selectedCommit", "Process", "useState", "handleCommitSelect", "useCallback", "commit", "setSelectedCommit", "DXN", "tryParse", "dxn", "spaceId", "LayoutOperation", "echoId", "branches", "branch", "process", "setCurrentBranch", "attentionAttrs", "ref", "forwardedRef", "onProcessSelect", "handleProcessSelect", "onProcessTerminate", "pin", "ScrollContainer", "Content", "thin", "Fade", "data", "spanTree", "Syntax", "Viewport", "className", "Timeline", "compact", "commits", "currentBranch", "onSelect", "activeProcesses", "atom", "useMemo", "getExecutionGraph", "eventLimit", "feedCount", "AtomQuery", "length", "Query", "traceMessages", "Trace", "get", "_", "TracePanel"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/containers/TriggerStatus/TriggerStatus.tsx
|
|
4
|
+
import React, { useMemo } from "react";
|
|
5
|
+
import { useTriggerRuntimeControls } from "@dxos/plugin-automation/hooks";
|
|
6
|
+
import { StatusBar } from "@dxos/plugin-status-bar/components";
|
|
7
|
+
import { useObject } from "@dxos/react-client/echo";
|
|
8
|
+
import { IconButton, Popover, useTranslation } from "@dxos/react-ui";
|
|
9
|
+
import { meta } from "#meta";
|
|
10
|
+
var getIcon = (state) => {
|
|
11
|
+
switch (state) {
|
|
12
|
+
case "disabled":
|
|
13
|
+
return "ph--lightning-slash--regular";
|
|
14
|
+
case "idle":
|
|
15
|
+
return "ph--lightning--regular";
|
|
16
|
+
case "edge":
|
|
17
|
+
return "ph--lightning--regular";
|
|
18
|
+
case "running":
|
|
19
|
+
return "ph--lightning--fill";
|
|
20
|
+
case "error":
|
|
21
|
+
return "ph--warning--regular";
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
var getIconClassNames = (state) => {
|
|
25
|
+
switch (state) {
|
|
26
|
+
case "running":
|
|
27
|
+
return "animate-pulse text-accent-text";
|
|
28
|
+
case "error":
|
|
29
|
+
return "text-error-text";
|
|
30
|
+
default:
|
|
31
|
+
return void 0;
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
var SpaceStatus = ({ space }) => {
|
|
35
|
+
const { t } = useTranslation(meta.id);
|
|
36
|
+
const { state } = useTriggerRuntimeControls(space.db);
|
|
37
|
+
const isEnabled = state?.enabled ?? false;
|
|
38
|
+
const [properties] = useObject(space.properties);
|
|
39
|
+
const computeEnvironment = properties.computeEnvironment ?? "local";
|
|
40
|
+
const triggerState = useMemo(() => {
|
|
41
|
+
if (computeEnvironment === "edge") {
|
|
42
|
+
return "edge";
|
|
43
|
+
}
|
|
44
|
+
if (!isEnabled) {
|
|
45
|
+
return "disabled";
|
|
46
|
+
}
|
|
47
|
+
const hasPending = state?.invocations.some((invocation) => invocation.result === null);
|
|
48
|
+
if (hasPending) {
|
|
49
|
+
return "running";
|
|
50
|
+
}
|
|
51
|
+
const lastInvocation = state?.invocations.at(-1);
|
|
52
|
+
if (lastInvocation?.result?._tag === "Failure") {
|
|
53
|
+
return "error";
|
|
54
|
+
}
|
|
55
|
+
return "idle";
|
|
56
|
+
}, [
|
|
57
|
+
computeEnvironment,
|
|
58
|
+
isEnabled,
|
|
59
|
+
state?.invocations
|
|
60
|
+
]);
|
|
61
|
+
return /* @__PURE__ */ React.createElement(Popover.Root, null, /* @__PURE__ */ React.createElement(Popover.Trigger, {
|
|
62
|
+
asChild: true
|
|
63
|
+
}, /* @__PURE__ */ React.createElement(StatusBar.Item, null, /* @__PURE__ */ React.createElement(IconButton, {
|
|
64
|
+
icon: getIcon(triggerState),
|
|
65
|
+
iconOnly: true,
|
|
66
|
+
label: t(`trigger-status-${triggerState}.label`),
|
|
67
|
+
classNames: getIconClassNames(triggerState)
|
|
68
|
+
}))), /* @__PURE__ */ React.createElement(Popover.Portal, null, /* @__PURE__ */ React.createElement(Popover.Content, {
|
|
69
|
+
side: "left"
|
|
70
|
+
}, /* @__PURE__ */ React.createElement(TriggerStatusPopover, {
|
|
71
|
+
state: triggerState,
|
|
72
|
+
currentFunctionName: state?.invocations.at(-1)?.function?.meta.name ?? state?.invocations.at(-1)?.function?.meta.key,
|
|
73
|
+
lastInvocation: state?.invocations.at(-1)
|
|
74
|
+
}), /* @__PURE__ */ React.createElement(Popover.Arrow, null))));
|
|
75
|
+
};
|
|
76
|
+
var TriggerStatusPopover = ({ state, currentFunctionName, lastInvocation }) => {
|
|
77
|
+
const { t } = useTranslation(meta.id);
|
|
78
|
+
return /* @__PURE__ */ React.createElement("div", {
|
|
79
|
+
className: "flex flex-col gap-2 p-2 w-[240px]"
|
|
80
|
+
}, /* @__PURE__ */ React.createElement("div", {
|
|
81
|
+
className: "flex flex-col gap-1"
|
|
82
|
+
}, /* @__PURE__ */ React.createElement("div", {
|
|
83
|
+
className: "text-sm"
|
|
84
|
+
}, t(`trigger-status-${state}.label`)), currentFunctionName && state === "running" && /* @__PURE__ */ React.createElement("div", {
|
|
85
|
+
className: "text-xs text-description"
|
|
86
|
+
}, currentFunctionName)));
|
|
87
|
+
};
|
|
88
|
+
export {
|
|
89
|
+
SpaceStatus,
|
|
90
|
+
SpaceStatus as default
|
|
91
|
+
};
|
|
92
|
+
//# sourceMappingURL=TriggerStatus-WTFYUIG5.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/containers/TriggerStatus/TriggerStatus.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useMemo } from 'react';\n\nimport { AppSurface } from '@dxos/app-toolkit/ui';\nimport { type InvocationsState } from '@dxos/functions-runtime';\nimport { useTriggerRuntimeControls } from '@dxos/plugin-automation/hooks';\nimport { StatusBar } from '@dxos/plugin-status-bar/components';\nimport { useObject } from '@dxos/react-client/echo';\nimport { IconButton, Popover, useTranslation } from '@dxos/react-ui';\n\nimport { meta } from '#meta';\n\ntype TriggerStatusState = 'disabled' | 'idle' | 'running' | 'edge' | '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 'edge':\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 type SpaceStatusProps = AppSurface.SpaceArticleProps;\n\nexport const SpaceStatus = ({ space }: SpaceStatusProps) => {\n const { t } = useTranslation(meta.id);\n const { state } = useTriggerRuntimeControls(space.db);\n const isEnabled = state?.enabled ?? false;\n const [properties] = useObject(space.properties);\n const computeEnvironment = properties.computeEnvironment ?? 'local';\n\n // Determine the current trigger status state.\n const triggerState: TriggerStatusState = useMemo(() => {\n if (computeEnvironment === 'edge') {\n return 'edge';\n }\n\n if (!isEnabled) {\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 }, [computeEnvironment, isEnabled, state?.invocations]);\n\n return (\n <Popover.Root>\n <Popover.Trigger asChild>\n <StatusBar.Item>\n <IconButton\n icon={getIcon(triggerState)}\n iconOnly\n label={t(`trigger-status-${triggerState}.label`)}\n classNames={getIconClassNames(triggerState)}\n />\n </StatusBar.Item>\n </Popover.Trigger>\n <Popover.Portal>\n <Popover.Content side='left'>\n <TriggerStatusPopover\n state={triggerState}\n currentFunctionName={\n state?.invocations.at(-1)?.function?.meta.name ?? state?.invocations.at(-1)?.function?.meta.key\n }\n lastInvocation={state?.invocations.at(-1)}\n />\n <Popover.Arrow />\n </Popover.Content>\n </Popover.Portal>\n </Popover.Root>\n );\n};\n\ntype TriggerStatusPopoverProps = {\n state: TriggerStatusState;\n currentFunctionName?: string;\n lastInvocation?: InvocationsState;\n};\n\nconst TriggerStatusPopover = ({\n state,\n currentFunctionName,\n lastInvocation, // TODO(burdon): Show.\n}: TriggerStatusPopoverProps) => {\n const { t } = useTranslation(meta.id);\n\n return (\n <div className='flex flex-col gap-2 p-2 w-[240px]'>\n <div className='flex flex-col gap-1'>\n <div className='text-sm'>{t(`trigger-status-${state}.label`)}</div>\n {currentFunctionName && state === 'running' && (\n <div className='text-xs text-description'>{currentFunctionName}</div>\n )}\n </div>\n </div>\n );\n};\n"],
|
|
5
|
+
"mappings": ";;;AAIA,OAAOA,SAASC,eAAe;AAI/B,SAASC,iCAAiC;AAC1C,SAASC,iBAAiB;AAC1B,SAASC,iBAAiB;AAC1B,SAASC,YAAYC,SAASC,sBAAsB;AAEpD,SAASC,YAAY;AAIrB,IAAMC,UAAU,CAACC,UAAAA;AACf,UAAQA,OAAAA;IACN,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;EACX;AACF;AAEA,IAAMC,oBAAoB,CAACD,UAAAA;AACzB,UAAQA,OAAAA;IACN,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT;AACE,aAAOE;EACX;AACF;AAIO,IAAMC,cAAc,CAAC,EAAEC,MAAK,MAAoB;AACrD,QAAM,EAAEC,EAAC,IAAKR,eAAeC,KAAKQ,EAAE;AACpC,QAAM,EAAEN,MAAK,IAAKR,0BAA0BY,MAAMG,EAAE;AACpD,QAAMC,YAAYR,OAAOS,WAAW;AACpC,QAAM,CAACC,UAAAA,IAAchB,UAAUU,MAAMM,UAAU;AAC/C,QAAMC,qBAAqBD,WAAWC,sBAAsB;AAG5D,QAAMC,eAAmCrB,QAAQ,MAAA;AAC/C,QAAIoB,uBAAuB,QAAQ;AACjC,aAAO;IACT;AAEA,QAAI,CAACH,WAAW;AACd,aAAO;IACT;AAGA,UAAMK,aAAab,OAAOc,YAAYC,KAAK,CAACC,eAAeA,WAAWC,WAAW,IAAA;AACjF,QAAIJ,YAAY;AACd,aAAO;IACT;AAGA,UAAMK,iBAAiBlB,OAAOc,YAAYK,GAAG,EAAC;AAC9C,QAAID,gBAAgBD,QAAQG,SAAS,WAAW;AAC9C,aAAO;IACT;AAEA,WAAO;EACT,GAAG;IAACT;IAAoBH;IAAWR,OAAOc;GAAY;AAEtD,SACE,sBAAA,cAAClB,QAAQyB,MAAI,MACX,sBAAA,cAACzB,QAAQ0B,SAAO;IAACC,SAAAA;KACf,sBAAA,cAAC9B,UAAU+B,MAAI,MACb,sBAAA,cAAC7B,YAAAA;IACC8B,MAAM1B,QAAQa,YAAAA;IACdc,UAAAA;IACAC,OAAOtB,EAAE,kBAAkBO,YAAAA,QAAoB;IAC/CgB,YAAY3B,kBAAkBW,YAAAA;QAIpC,sBAAA,cAAChB,QAAQiC,QAAM,MACb,sBAAA,cAACjC,QAAQkC,SAAO;IAACC,MAAK;KACpB,sBAAA,cAACC,sBAAAA;IACChC,OAAOY;IACPqB,qBACEjC,OAAOc,YAAYK,GAAG,EAAC,GAAIe,UAAUpC,KAAKqC,QAAQnC,OAAOc,YAAYK,GAAG,EAAC,GAAIe,UAAUpC,KAAKsC;IAE9FlB,gBAAgBlB,OAAOc,YAAYK,GAAG,EAAC;MAEzC,sBAAA,cAACvB,QAAQyC,OAAK,IAAA,CAAA,CAAA,CAAA;AAKxB;AAQA,IAAML,uBAAuB,CAAC,EAC5BhC,OACAiC,qBACAf,eAAc,MACY;AAC1B,QAAM,EAAEb,EAAC,IAAKR,eAAeC,KAAKQ,EAAE;AAEpC,SACE,sBAAA,cAACgC,OAAAA;IAAIC,WAAU;KACb,sBAAA,cAACD,OAAAA;IAAIC,WAAU;KACb,sBAAA,cAACD,OAAAA;IAAIC,WAAU;KAAWlC,EAAE,kBAAkBL,KAAAA,QAAa,CAAA,GAC1DiC,uBAAuBjC,UAAU,aAChC,sBAAA,cAACsC,OAAAA;IAAIC,WAAU;KAA4BN,mBAAAA,CAAAA,CAAAA;AAKrD;",
|
|
6
|
+
"names": ["React", "useMemo", "useTriggerRuntimeControls", "StatusBar", "useObject", "IconButton", "Popover", "useTranslation", "meta", "getIcon", "state", "getIconClassNames", "undefined", "SpaceStatus", "space", "t", "id", "db", "isEnabled", "enabled", "properties", "computeEnvironment", "triggerState", "hasPending", "invocations", "some", "invocation", "result", "lastInvocation", "at", "_tag", "Root", "Trigger", "asChild", "Item", "icon", "iconOnly", "label", "classNames", "Portal", "Content", "side", "TriggerStatusPopover", "currentFunctionName", "function", "name", "key", "Arrow", "div", "className"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/capabilities/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-GJXMI5OI.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/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,qBAAeD,WAAWE,WACjBC,kBAAW,aAAA;AAChB,QAAMC,YAAY,OAAOJ,WAAWK,OAAOJ,gBAAgBF,eAAe;AAG1E,QAAMO,gBAAgBF,UAAUG,OAC9B,CAACC,KAAKC,aAAaA,SAASC,KAAWC,cAAQH,GAAAA,CAAAA,GAC/CT,gBAAgBA,gBAAgBa,aAAa;IAAEC,MAAM;EAAW,GAAUC,eAAQ,CAAC,CAAA,CAAA,CAAA;AAGrF,SAAO;;IAELd,WAAWe,YACTd,gBAAgBe,gBAChBjB,gBAAgBA,gBAAgBkB,eAAeP,KAAWC,cAAQL,aAAAA,CAAAA,CAAAA;;AAGxE,CAAA,CAAA;",
|
|
6
|
+
"names": ["Effect", "Layer", "AiModelResolver", "Capability", "AppCapabilities", "makeModule", "fnUntraced", "resolvers", "getAll", "combinedLayer", "reduce", "acc", "resolver", "pipe", "provide", "fromModelMap", "name", "succeed", "contributes", "AiServiceLayer", "buildAiService"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/capabilities/app-graph-builder.ts
|
|
4
|
+
import * as Effect from "effect/Effect";
|
|
5
|
+
import { pipe } from "effect/Function";
|
|
6
|
+
import * as Option from "effect/Option";
|
|
7
|
+
import { Capability } from "@dxos/app-framework";
|
|
8
|
+
import { AppCapabilities, AppNode, getActiveSpace, getPersonalSpace } from "@dxos/app-toolkit";
|
|
9
|
+
import { AgentPrompt, Chat } from "@dxos/assistant-toolkit";
|
|
10
|
+
import { Blueprint, Routine, Operation } from "@dxos/compute";
|
|
11
|
+
import { Sequence } from "@dxos/conductor";
|
|
12
|
+
import { DXN, Database, Filter, Obj } from "@dxos/echo";
|
|
13
|
+
import { AtomObj } from "@dxos/echo-atom";
|
|
14
|
+
import { invariant } from "@dxos/invariant";
|
|
15
|
+
import { AutomationCapabilities } from "@dxos/plugin-automation";
|
|
16
|
+
import { ClientCapabilities } from "@dxos/plugin-client";
|
|
17
|
+
import { GraphBuilder, Node, NodeMatcher } from "@dxos/plugin-graph";
|
|
18
|
+
import { linkedSegment } from "@dxos/react-ui-attention";
|
|
19
|
+
import { ASSISTANT_COMPANION_VARIANT, meta } from "#meta";
|
|
20
|
+
import { AssistantCapabilities, AssistantOperation } from "#types";
|
|
21
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-assistant/src/capabilities/app-graph-builder.ts";
|
|
22
|
+
var computeOperationsToImport = [
|
|
23
|
+
AgentPrompt
|
|
24
|
+
];
|
|
25
|
+
var whenNonChatObject = NodeMatcher.whenAll(NodeMatcher.whenEchoObject, NodeMatcher.whenNot(NodeMatcher.whenEchoTypeMatches(Chat.Chat)));
|
|
26
|
+
var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function* () {
|
|
27
|
+
const capabilities = yield* Capability.Service;
|
|
28
|
+
const extensions = yield* Effect.all([
|
|
29
|
+
GraphBuilder.createTypeExtension({
|
|
30
|
+
id: "root",
|
|
31
|
+
type: Chat.Chat,
|
|
32
|
+
actions: (chat) => {
|
|
33
|
+
return Effect.succeed([
|
|
34
|
+
Node.makeAction({
|
|
35
|
+
id: AssistantOperation.UpdateChatName.meta.key,
|
|
36
|
+
data: () => Effect.gen(function* () {
|
|
37
|
+
const computeRuntime = yield* Capability.get(AutomationCapabilities.ComputeRuntime);
|
|
38
|
+
const db = Obj.getDatabase(chat);
|
|
39
|
+
invariant(db, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 39, S: this, A: ["db", ""] });
|
|
40
|
+
const runtime = yield* computeRuntime.getRuntime(db.spaceId).runtimeEffect;
|
|
41
|
+
yield* Operation.invoke(AssistantOperation.UpdateChatName, {
|
|
42
|
+
chat
|
|
43
|
+
}).pipe(Effect.provide(runtime));
|
|
44
|
+
}),
|
|
45
|
+
properties: {
|
|
46
|
+
label: [
|
|
47
|
+
"chat-update-name.label",
|
|
48
|
+
{
|
|
49
|
+
ns: meta.id
|
|
50
|
+
}
|
|
51
|
+
],
|
|
52
|
+
icon: "ph--magic-wand--regular",
|
|
53
|
+
disposition: "list-item"
|
|
54
|
+
}
|
|
55
|
+
})
|
|
56
|
+
]);
|
|
57
|
+
}
|
|
58
|
+
}),
|
|
59
|
+
GraphBuilder.createExtension({
|
|
60
|
+
id: "assistant",
|
|
61
|
+
match: NodeMatcher.whenRoot,
|
|
62
|
+
actions: () => Effect.succeed([
|
|
63
|
+
Node.makeAction({
|
|
64
|
+
id: "import-compute-operations",
|
|
65
|
+
data: Effect.fnUntraced(function* () {
|
|
66
|
+
const capabilities2 = yield* Capability.Service;
|
|
67
|
+
const client = yield* Capability.get(ClientCapabilities.Client);
|
|
68
|
+
const space = getActiveSpace(client, capabilities2) ?? getPersonalSpace(client);
|
|
69
|
+
if (!space) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
for (const definition of computeOperationsToImport) {
|
|
73
|
+
const key = definition.meta.key;
|
|
74
|
+
if (!key) {
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
const existing = yield* Effect.promise(() => space.db.query(Filter.and(Filter.type(Operation.PersistentOperation), Filter.key(key))).run());
|
|
78
|
+
if (existing.length === 0) {
|
|
79
|
+
space.db.add(Operation.serialize(definition));
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
yield* Database.flush();
|
|
83
|
+
}),
|
|
84
|
+
properties: {
|
|
85
|
+
label: [
|
|
86
|
+
"import-compute-operations.label",
|
|
87
|
+
{
|
|
88
|
+
ns: meta.id
|
|
89
|
+
}
|
|
90
|
+
],
|
|
91
|
+
icon: "ph--download-simple--regular"
|
|
92
|
+
}
|
|
93
|
+
}),
|
|
94
|
+
Node.makeAction({
|
|
95
|
+
id: AssistantOperation.ToggleTracePanelDebug.meta.key,
|
|
96
|
+
data: () => Operation.invoke(AssistantOperation.ToggleTracePanelDebug, {}),
|
|
97
|
+
properties: {
|
|
98
|
+
label: [
|
|
99
|
+
"toggle-trace-panel-debug.label",
|
|
100
|
+
{
|
|
101
|
+
ns: meta.id
|
|
102
|
+
}
|
|
103
|
+
],
|
|
104
|
+
icon: "ph--brackets-curly--regular"
|
|
105
|
+
}
|
|
106
|
+
}),
|
|
107
|
+
Node.makeAction({
|
|
108
|
+
id: "reset-blueprints",
|
|
109
|
+
data: Effect.fnUntraced(function* () {
|
|
110
|
+
const capabilities2 = yield* Capability.Service;
|
|
111
|
+
const client = yield* Capability.get(ClientCapabilities.Client);
|
|
112
|
+
const space = getActiveSpace(client, capabilities2) ?? getPersonalSpace(client);
|
|
113
|
+
if (!space) {
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
const blueprints = yield* Effect.promise(() => space.db.query(Filter.type(Blueprint.Blueprint)).run());
|
|
117
|
+
for (const blueprint of blueprints) {
|
|
118
|
+
space.db.remove(blueprint);
|
|
119
|
+
}
|
|
120
|
+
yield* Database.flush();
|
|
121
|
+
}),
|
|
122
|
+
properties: {
|
|
123
|
+
label: [
|
|
124
|
+
"reset-blueprints.label",
|
|
125
|
+
{
|
|
126
|
+
ns: meta.id
|
|
127
|
+
}
|
|
128
|
+
],
|
|
129
|
+
icon: "ph--arrow-clockwise--regular"
|
|
130
|
+
}
|
|
131
|
+
})
|
|
132
|
+
])
|
|
133
|
+
}),
|
|
134
|
+
// Don't show assistant companion when a chat is already the primary object.
|
|
135
|
+
GraphBuilder.createExtension({
|
|
136
|
+
id: "companion-chat",
|
|
137
|
+
match: whenNonChatObject,
|
|
138
|
+
connector: (object, get) => Effect.gen(function* () {
|
|
139
|
+
const state = get(yield* Capability.get(AssistantCapabilities.State));
|
|
140
|
+
const cache = get(yield* Capability.get(AssistantCapabilities.CompanionChatCache));
|
|
141
|
+
const objectDXN = Obj.getDXN(object).toString();
|
|
142
|
+
const chat = pipe(Option.fromNullable(state.currentChat[objectDXN]), Option.flatMap((dxnStr) => Option.fromNullable(DXN.tryParse(dxnStr))), Option.flatMap((dxn) => Option.fromNullable(Obj.getDatabase(object)?.makeRef(dxn))), Option.map((ref) => get(AtomObj.make(ref))), Option.filter(Obj.isObject), Option.orElse(() => pipe(Option.fromNullable(cache[objectDXN]), Option.filter(Obj.isObject))), Option.getOrNull);
|
|
143
|
+
return [
|
|
144
|
+
AppNode.makeCompanion({
|
|
145
|
+
id: linkedSegment(ASSISTANT_COMPANION_VARIANT),
|
|
146
|
+
label: [
|
|
147
|
+
"assistant-chat.label",
|
|
148
|
+
{
|
|
149
|
+
ns: meta.id
|
|
150
|
+
}
|
|
151
|
+
],
|
|
152
|
+
icon: "ph--sparkle--regular",
|
|
153
|
+
data: chat,
|
|
154
|
+
position: "hoist"
|
|
155
|
+
})
|
|
156
|
+
];
|
|
157
|
+
})
|
|
158
|
+
}),
|
|
159
|
+
GraphBuilder.createExtension({
|
|
160
|
+
id: "invocations",
|
|
161
|
+
match: NodeMatcher.whenAny(NodeMatcher.whenEchoTypeMatches(Sequence.Sequence), NodeMatcher.whenEchoTypeMatches(Routine.Routine)),
|
|
162
|
+
connector: () => Effect.succeed([
|
|
163
|
+
AppNode.makeCompanion({
|
|
164
|
+
id: "invocations",
|
|
165
|
+
label: [
|
|
166
|
+
"invocations.label",
|
|
167
|
+
{
|
|
168
|
+
ns: meta.id
|
|
169
|
+
}
|
|
170
|
+
],
|
|
171
|
+
icon: "ph--clock-countdown--regular",
|
|
172
|
+
data: "invocations"
|
|
173
|
+
})
|
|
174
|
+
])
|
|
175
|
+
}),
|
|
176
|
+
GraphBuilder.createExtension({
|
|
177
|
+
id: "trace",
|
|
178
|
+
match: NodeMatcher.whenRoot,
|
|
179
|
+
connector: () => Effect.succeed([
|
|
180
|
+
AppNode.makeDeckCompanion({
|
|
181
|
+
id: linkedSegment("trace"),
|
|
182
|
+
label: [
|
|
183
|
+
"trace.label",
|
|
184
|
+
{
|
|
185
|
+
ns: meta.id
|
|
186
|
+
}
|
|
187
|
+
],
|
|
188
|
+
icon: "ph--line-segments--regular",
|
|
189
|
+
data: "trace",
|
|
190
|
+
position: "fallback"
|
|
191
|
+
})
|
|
192
|
+
])
|
|
193
|
+
})
|
|
194
|
+
]);
|
|
195
|
+
return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);
|
|
196
|
+
}));
|
|
197
|
+
export {
|
|
198
|
+
app_graph_builder_default as default
|
|
199
|
+
};
|
|
200
|
+
//# sourceMappingURL=app-graph-builder-5QBICPYP.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/app-graph-builder.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport { pipe } from 'effect/Function';\nimport * as Option from 'effect/Option';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities, AppNode, getActiveSpace, getPersonalSpace } from '@dxos/app-toolkit';\nimport { AgentPrompt, Chat } from '@dxos/assistant-toolkit';\nimport { Blueprint, Routine, Operation } from '@dxos/compute';\nimport { Sequence } from '@dxos/conductor';\nimport { DXN, Database, Filter, Obj, type Ref } from '@dxos/echo';\nimport { AtomObj } from '@dxos/echo-atom';\nimport { invariant } from '@dxos/invariant';\nimport { AutomationCapabilities } from '@dxos/plugin-automation';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { GraphBuilder, Node, NodeMatcher } from '@dxos/plugin-graph';\nimport { linkedSegment } from '@dxos/react-ui-attention';\n\nimport { ASSISTANT_COMPANION_VARIANT, meta } from '#meta';\nimport { AssistantCapabilities, AssistantOperation } from '#types';\n\n/** Operation definitions to seed as `PersistentOperation` records for automation / triggers. */\nconst computeOperationsToImport = [AgentPrompt] as const;\n\n/** Match ECHO objects that are NOT chats. */\nconst whenNonChatObject = NodeMatcher.whenAll(\n NodeMatcher.whenEchoObject,\n NodeMatcher.whenNot(NodeMatcher.whenEchoTypeMatches(Chat.Chat)),\n);\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const capabilities = yield* Capability.Service;\n\n const extensions = yield* Effect.all([\n GraphBuilder.createTypeExtension({\n id: 'root',\n type: Chat.Chat,\n actions: (chat) => {\n return Effect.succeed([\n Node.makeAction({\n id: AssistantOperation.UpdateChatName.meta.key,\n data: () =>\n Effect.gen(function* () {\n // TODO(dmaretskyi): This goes away when composer will have unified operation invocations.\n const computeRuntime = yield* Capability.get(AutomationCapabilities.ComputeRuntime);\n const db = Obj.getDatabase(chat);\n invariant(db);\n const runtime = yield* computeRuntime.getRuntime(db.spaceId).runtimeEffect;\n yield* Operation.invoke(AssistantOperation.UpdateChatName, { chat }).pipe(Effect.provide(runtime));\n }),\n properties: {\n label: ['chat-update-name.label', { ns: meta.id }],\n icon: 'ph--magic-wand--regular',\n disposition: 'list-item',\n },\n }),\n ]);\n },\n }),\n\n GraphBuilder.createExtension({\n id: 'assistant',\n match: NodeMatcher.whenRoot,\n actions: () =>\n Effect.succeed([\n Node.makeAction({\n id: 'import-compute-operations',\n data: Effect.fnUntraced(function* () {\n const capabilities = yield* Capability.Service;\n const client = yield* Capability.get(ClientCapabilities.Client);\n const space = getActiveSpace(client, capabilities) ?? getPersonalSpace(client);\n if (!space) {\n return;\n }\n for (const definition of computeOperationsToImport) {\n const key = definition.meta.key;\n if (!key) {\n continue;\n }\n const existing = yield* Effect.promise(\n (): Promise<Operation.PersistentOperation[]> =>\n space.db.query(Filter.and(Filter.type(Operation.PersistentOperation), Filter.key(key))).run(),\n );\n if (existing.length === 0) {\n space.db.add(Operation.serialize(definition));\n }\n }\n yield* Database.flush();\n }),\n properties: {\n label: ['import-compute-operations.label', { ns: meta.id }],\n icon: 'ph--download-simple--regular',\n },\n }),\n Node.makeAction({\n id: AssistantOperation.ToggleTracePanelDebug.meta.key,\n data: () => Operation.invoke(AssistantOperation.ToggleTracePanelDebug, {}),\n properties: {\n label: ['toggle-trace-panel-debug.label', { ns: meta.id }],\n icon: 'ph--brackets-curly--regular',\n },\n }),\n Node.makeAction({\n id: 'reset-blueprints',\n data: Effect.fnUntraced(function* () {\n const capabilities = yield* Capability.Service;\n const client = yield* Capability.get(ClientCapabilities.Client);\n const space = getActiveSpace(client, capabilities) ?? getPersonalSpace(client);\n if (!space) {\n return;\n }\n const blueprints = yield* Effect.promise(\n (): Promise<Blueprint.Blueprint[]> => space.db.query(Filter.type(Blueprint.Blueprint)).run(),\n );\n for (const blueprint of blueprints) {\n space.db.remove(blueprint);\n }\n yield* Database.flush();\n }),\n properties: {\n label: ['reset-blueprints.label', { ns: meta.id }],\n icon: 'ph--arrow-clockwise--regular',\n },\n }),\n ]),\n }),\n\n // Don't show assistant companion when a chat is already the primary object.\n GraphBuilder.createExtension({\n id: 'companion-chat',\n match: whenNonChatObject,\n connector: (object, get) =>\n Effect.gen(function* () {\n const state = get(yield* Capability.get(AssistantCapabilities.State));\n const cache = get(yield* Capability.get(AssistantCapabilities.CompanionChatCache));\n const objectDXN = Obj.getDXN(object).toString();\n\n // Resolve chat from persisted state or transient cache.\n const chat = pipe(\n Option.fromNullable(state.currentChat[objectDXN]),\n Option.flatMap((dxnStr) => Option.fromNullable(DXN.tryParse(dxnStr))),\n Option.flatMap((dxn) => Option.fromNullable(Obj.getDatabase(object)?.makeRef(dxn))),\n Option.map((ref) => get(AtomObj.make(ref as Ref.Ref<Obj.Unknown>))),\n Option.filter(Obj.isObject),\n Option.orElse(() => pipe(Option.fromNullable(cache[objectDXN]), Option.filter(Obj.isObject))),\n Option.getOrNull,\n );\n\n return [\n AppNode.makeCompanion({\n id: linkedSegment(ASSISTANT_COMPANION_VARIANT),\n label: ['assistant-chat.label', { ns: meta.id }],\n icon: 'ph--sparkle--regular',\n data: chat,\n position: 'hoist',\n }),\n ];\n }),\n }),\n\n GraphBuilder.createExtension({\n id: 'invocations',\n match: NodeMatcher.whenAny(\n NodeMatcher.whenEchoTypeMatches(Sequence.Sequence),\n NodeMatcher.whenEchoTypeMatches(Routine.Routine),\n ),\n connector: () =>\n Effect.succeed([\n AppNode.makeCompanion({\n id: 'invocations',\n label: ['invocations.label', { ns: meta.id }],\n icon: 'ph--clock-countdown--regular',\n data: 'invocations',\n }),\n ]),\n }),\n\n GraphBuilder.createExtension({\n id: 'trace',\n match: NodeMatcher.whenRoot,\n connector: () =>\n Effect.succeed([\n AppNode.makeDeckCompanion({\n id: linkedSegment('trace'),\n label: ['trace.label', { ns: meta.id }],\n icon: 'ph--line-segments--regular',\n data: 'trace' as const,\n position: 'fallback',\n }),\n ]),\n }),\n ]);\n\n return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);\n }),\n);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Effect", "pipe", "Option", "Capability", "AppCapabilities", "AppNode", "getActiveSpace", "getPersonalSpace", "AgentPrompt", "Chat", "Blueprint", "Routine", "Operation", "Sequence", "DXN", "Database", "Filter", "Obj", "AtomObj", "invariant", "AutomationCapabilities", "ClientCapabilities", "GraphBuilder", "Node", "NodeMatcher", "linkedSegment", "ASSISTANT_COMPANION_VARIANT", "meta", "AssistantCapabilities", "AssistantOperation", "Service", "extensions", "createTypeExtension", "actions", "makeAction", "data", "computeRuntime", "db", "runtime", "invoke", "UpdateChatName", "chat", "provide", "properties", "label", "icon", "disposition", "whenRoot", "client", "space", "capabilities", "key", "serialize", "definition", "blueprint", "flush", "whenNonChatObject", "connector", "cache", "objectDXN", "getDXN", "toString", "fromNullable", "currentChat", "makeCompanion", "position", "whenAny", "makeDeckCompanion"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/capabilities/blueprint-definition.ts
|
|
4
|
+
import * as Effect from "effect/Effect";
|
|
5
|
+
import { Capabilities, Capability } from "@dxos/app-framework";
|
|
6
|
+
import { AppCapabilities } from "@dxos/app-toolkit";
|
|
7
|
+
import { AgentBlueprint, AgentBlueprintHandlers, AgentHandlers, AgentWizardBlueprint, AgentWizardHandlers, BlueprintManagerBlueprint, BlueprintManagerHandlers, BrowserBlueprint, DatabaseBlueprint, DatabaseHandlers, DiscordBlueprint, LinearBlueprint, PlanningBlueprint, WebSearchBlueprint, MemoryBlueprint, AutomationBlueprint } from "@dxos/assistant-toolkit";
|
|
8
|
+
import { AssistantBlueprint } from "#blueprints";
|
|
9
|
+
var blueprintDefinition = Capability.makeModule(() => Effect.succeed([
|
|
10
|
+
Capability.contributes(AppCapabilities.BlueprintDefinition, AssistantBlueprint),
|
|
11
|
+
Capability.contributes(AppCapabilities.BlueprintDefinition, BrowserBlueprint),
|
|
12
|
+
Capability.contributes(AppCapabilities.BlueprintDefinition, DatabaseBlueprint),
|
|
13
|
+
Capability.contributes(AppCapabilities.BlueprintDefinition, WebSearchBlueprint),
|
|
14
|
+
Capability.contributes(AppCapabilities.BlueprintDefinition, DiscordBlueprint),
|
|
15
|
+
Capability.contributes(AppCapabilities.BlueprintDefinition, LinearBlueprint),
|
|
16
|
+
Capability.contributes(AppCapabilities.BlueprintDefinition, AgentBlueprint),
|
|
17
|
+
Capability.contributes(AppCapabilities.BlueprintDefinition, PlanningBlueprint),
|
|
18
|
+
Capability.contributes(AppCapabilities.BlueprintDefinition, MemoryBlueprint),
|
|
19
|
+
Capability.contributes(AppCapabilities.BlueprintDefinition, AutomationBlueprint),
|
|
20
|
+
Capability.contributes(AppCapabilities.BlueprintDefinition, BlueprintManagerBlueprint),
|
|
21
|
+
Capability.contributes(AppCapabilities.BlueprintDefinition, AgentWizardBlueprint),
|
|
22
|
+
Capability.contributes(Capabilities.OperationHandler, AgentHandlers),
|
|
23
|
+
Capability.contributes(Capabilities.OperationHandler, AgentBlueprintHandlers),
|
|
24
|
+
Capability.contributes(Capabilities.OperationHandler, BlueprintManagerHandlers),
|
|
25
|
+
Capability.contributes(Capabilities.OperationHandler, DatabaseHandlers),
|
|
26
|
+
Capability.contributes(Capabilities.OperationHandler, AgentWizardHandlers)
|
|
27
|
+
]));
|
|
28
|
+
var blueprint_definition_default = blueprintDefinition;
|
|
29
|
+
export {
|
|
30
|
+
blueprint_definition_default as default
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=blueprint-definition-VXJYQ5AE.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/blueprint-definition.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport {\n AgentBlueprint,\n AgentBlueprintHandlers,\n AgentHandlers,\n AgentWizardBlueprint,\n AgentWizardHandlers,\n BlueprintManagerBlueprint,\n BlueprintManagerHandlers,\n BrowserBlueprint,\n DatabaseBlueprint,\n DatabaseHandlers,\n DiscordBlueprint,\n LinearBlueprint,\n PlanningBlueprint,\n WebSearchBlueprint,\n MemoryBlueprint,\n AutomationBlueprint,\n} from '@dxos/assistant-toolkit';\n// eslint-disable-next-line unused-imports/no-unused-imports\nimport type { Blueprint } from '@dxos/compute';\n\nimport { AssistantBlueprint } from '#blueprints';\n\n// TODO(dmaretskyi): Force this type for all Capability.makeModule calls.\nconst blueprintDefinition: () => Effect.Effect<Capability.Capability<unknown>[]> = Capability.makeModule(() =>\n Effect.succeed([\n Capability.contributes(AppCapabilities.BlueprintDefinition, AssistantBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, BrowserBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, DatabaseBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, WebSearchBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, DiscordBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, LinearBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, AgentBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, PlanningBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, MemoryBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, AutomationBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, BlueprintManagerBlueprint),\n Capability.contributes(AppCapabilities.BlueprintDefinition, AgentWizardBlueprint),\n\n Capability.contributes(Capabilities.OperationHandler, AgentHandlers),\n Capability.contributes(Capabilities.OperationHandler, AgentBlueprintHandlers),\n Capability.contributes(Capabilities.OperationHandler, BlueprintManagerHandlers),\n Capability.contributes(Capabilities.OperationHandler, DatabaseHandlers),\n Capability.contributes(Capabilities.OperationHandler, AgentWizardHandlers),\n ]),\n);\n\nexport default blueprintDefinition;\n"],
|
|
5
|
+
"mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,uBAAuB;AAChC,SACEC,gBACAC,wBACAC,eACAC,sBACAC,qBACAC,2BACAC,0BACAC,kBACAC,mBACAC,kBACAC,kBACAC,iBACAC,mBACAC,oBACAC,iBACAC,2BACK;AAIP,SAASC,0BAA0B;AAGnC,IAAMC,sBAA6EnB,WAAWoB,WAAW,MAChGC,eAAQ;EACbrB,WAAWsB,YAAYrB,gBAAgBsB,qBAAqBL,kBAAAA;EAC5DlB,WAAWsB,YAAYrB,gBAAgBsB,qBAAqBd,gBAAAA;EAC5DT,WAAWsB,YAAYrB,gBAAgBsB,qBAAqBb,iBAAAA;EAC5DV,WAAWsB,YAAYrB,gBAAgBsB,qBAAqBR,kBAAAA;EAC5Df,WAAWsB,YAAYrB,gBAAgBsB,qBAAqBX,gBAAAA;EAC5DZ,WAAWsB,YAAYrB,gBAAgBsB,qBAAqBV,eAAAA;EAC5Db,WAAWsB,YAAYrB,gBAAgBsB,qBAAqBrB,cAAAA;EAC5DF,WAAWsB,YAAYrB,gBAAgBsB,qBAAqBT,iBAAAA;EAC5Dd,WAAWsB,YAAYrB,gBAAgBsB,qBAAqBP,eAAAA;EAC5DhB,WAAWsB,YAAYrB,gBAAgBsB,qBAAqBN,mBAAAA;EAC5DjB,WAAWsB,YAAYrB,gBAAgBsB,qBAAqBhB,yBAAAA;EAC5DP,WAAWsB,YAAYrB,gBAAgBsB,qBAAqBlB,oBAAAA;EAE5DL,WAAWsB,YAAYvB,aAAayB,kBAAkBpB,aAAAA;EACtDJ,WAAWsB,YAAYvB,aAAayB,kBAAkBrB,sBAAAA;EACtDH,WAAWsB,YAAYvB,aAAayB,kBAAkBhB,wBAAAA;EACtDR,WAAWsB,YAAYvB,aAAayB,kBAAkBb,gBAAAA;EACtDX,WAAWsB,YAAYvB,aAAayB,kBAAkBlB,mBAAAA;CACvD,CAAA;AAGH,IAAA,+BAAea;",
|
|
6
|
+
"names": ["Effect", "Capabilities", "Capability", "AppCapabilities", "AgentBlueprint", "AgentBlueprintHandlers", "AgentHandlers", "AgentWizardBlueprint", "AgentWizardHandlers", "BlueprintManagerBlueprint", "BlueprintManagerHandlers", "BrowserBlueprint", "DatabaseBlueprint", "DatabaseHandlers", "DiscordBlueprint", "LinearBlueprint", "PlanningBlueprint", "WebSearchBlueprint", "MemoryBlueprint", "AutomationBlueprint", "AssistantBlueprint", "blueprintDefinition", "makeModule", "succeed", "contributes", "BlueprintDefinition", "OperationHandler"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import "../chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/capabilities/index.ts
|
|
4
|
+
import { Capability } from "@dxos/app-framework";
|
|
5
|
+
var AiService = Capability.lazy("AiService", () => import("../ai-service-GJXMI5OI.mjs"));
|
|
6
|
+
var AppGraphBuilder = Capability.lazy("AppGraphBuilder", () => import("../app-graph-builder-5QBICPYP.mjs"));
|
|
7
|
+
var BlueprintDefinition = Capability.lazy("BlueprintDefinition", () => import("../blueprint-definition-VXJYQ5AE.mjs"));
|
|
8
|
+
var CompanionChatProvisioner = Capability.lazy("CompanionChatProvisioner", () => import("../companion-chat-provisioner-2Y6PRSDK.mjs"));
|
|
9
|
+
var CreateObject = Capability.lazy("CreateObject", () => import("../create-object-UZCJCPWM.mjs"));
|
|
10
|
+
var EdgeModelResolver = Capability.lazy("EdgeModelResolver", () => import("../edge-model-resolver-XDNBZ3US.mjs"));
|
|
11
|
+
var LocalModelResolver = Capability.lazy("LocalModelResolver", () => import("../local-model-resolver-I2BENFFS.mjs"));
|
|
12
|
+
var MarkdownExtension = Capability.lazy("MarkdownExtension", () => import("../markdown-KTBFOMFM.mjs"));
|
|
13
|
+
var Migrations = Capability.lazy("AssistantMigrations", () => import("../migrations-7DEMVBOG.mjs"));
|
|
14
|
+
var OperationHandler = Capability.lazy("OperationHandler", () => import("../operation-handler-SF36MOB5.mjs"));
|
|
15
|
+
var ReactSurface = Capability.lazy("ReactSurface", () => import("../react-surface-T4R65UJU.mjs"));
|
|
16
|
+
var Settings = Capability.lazy("Settings", () => import("../settings-W4BLWQ53.mjs"));
|
|
17
|
+
var AssistantState = Capability.lazy("AssistantState", () => import("../state-H3G7QCU6.mjs"));
|
|
18
|
+
var Toolkit = Capability.lazy("Toolkit", () => import("../toolkit-GVWXPDLJ.mjs"));
|
|
19
|
+
export {
|
|
20
|
+
AiService,
|
|
21
|
+
AppGraphBuilder,
|
|
22
|
+
AssistantState,
|
|
23
|
+
BlueprintDefinition,
|
|
24
|
+
CompanionChatProvisioner,
|
|
25
|
+
CreateObject,
|
|
26
|
+
EdgeModelResolver,
|
|
27
|
+
LocalModelResolver,
|
|
28
|
+
MarkdownExtension,
|
|
29
|
+
Migrations,
|
|
30
|
+
OperationHandler,
|
|
31
|
+
ReactSurface,
|
|
32
|
+
Settings,
|
|
33
|
+
Toolkit
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=index.mjs.map
|