@dxos/plugin-assistant 0.10.0 → 0.11.1
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/PLUGIN.mdl +3 -28
- package/dist/lib/AssistantPlugin.mjs +2 -0
- package/dist/lib/AssistantPlugin.node.mjs +55 -0
- package/dist/lib/AssistantPlugin.node.mjs.map +1 -0
- package/dist/lib/AssistantPlugin.workerd.mjs +43 -0
- package/dist/lib/AssistantPlugin.workerd.mjs.map +1 -0
- package/dist/lib/capabilities.mjs +24 -0
- package/dist/lib/capabilities.mjs.map +1 -0
- package/dist/lib/chunk-AgentArticle.mjs +52 -0
- package/dist/lib/chunk-AgentArticle.mjs.map +1 -0
- package/dist/lib/chunk-AgentProperties.mjs +35 -0
- package/dist/lib/chunk-AgentProperties.mjs.map +1 -0
- package/dist/lib/chunk-AssistantPlugin.mjs +88 -0
- package/dist/lib/chunk-AssistantPlugin.mjs.map +1 -0
- package/dist/lib/chunk-AssistantSettings.mjs +285 -0
- package/dist/lib/chunk-AssistantSettings.mjs.map +1 -0
- package/dist/lib/chunk-ChatArticle.mjs +121 -0
- package/dist/lib/chunk-ChatArticle.mjs.map +1 -0
- package/dist/lib/chunk-ChatCompanion.mjs +116 -0
- package/dist/lib/chunk-ChatCompanion.mjs.map +1 -0
- package/dist/lib/chunk-ChatDialog.mjs +73 -0
- package/dist/lib/chunk-ChatDialog.mjs.map +1 -0
- package/dist/lib/chunk-IntegrationPrompt.mjs +73 -0
- package/dist/lib/chunk-IntegrationPrompt.mjs.map +1 -0
- package/dist/lib/chunk-SpaceHomePrompt.mjs +104 -0
- package/dist/lib/chunk-SpaceHomePrompt.mjs.map +1 -0
- package/dist/lib/chunk-SpaceHomeSuggestions.mjs +60 -0
- package/dist/lib/chunk-SpaceHomeSuggestions.mjs.map +1 -0
- package/dist/lib/chunk-TracePanel.mjs +127 -0
- package/dist/lib/chunk-TracePanel.mjs.map +1 -0
- package/dist/lib/chunk-TracePanel2.mjs +7 -0
- package/dist/lib/chunk-TracePanel2.mjs.map +1 -0
- package/dist/lib/chunk-TriggerStatus.mjs +72 -0
- package/dist/lib/chunk-TriggerStatus.mjs.map +1 -0
- package/dist/lib/chunk-agent-hydrator.mjs +22 -0
- package/dist/lib/chunk-agent-hydrator.mjs.map +1 -0
- package/dist/lib/chunk-agent-service.mjs +21 -0
- package/dist/lib/chunk-agent-service.mjs.map +1 -0
- package/dist/lib/{neutral/ai-context-LIKJYMIN.mjs → chunk-ai-context.mjs} +8 -12
- package/dist/lib/chunk-ai-context.mjs.map +1 -0
- package/dist/lib/chunk-ai-service.mjs +27 -0
- package/dist/lib/chunk-ai-service.mjs.map +1 -0
- package/dist/lib/chunk-app-graph-builder.mjs +179 -0
- package/dist/lib/chunk-app-graph-builder.mjs.map +1 -0
- package/dist/lib/chunk-automation-templates.mjs +99 -0
- package/dist/lib/chunk-automation-templates.mjs.map +1 -0
- package/dist/lib/chunk-companion-chat-provisioner.mjs +123 -0
- package/dist/lib/chunk-companion-chat-provisioner.mjs.map +1 -0
- package/dist/lib/chunk-connector.mjs +60 -0
- package/dist/lib/chunk-connector.mjs.map +1 -0
- package/dist/lib/chunk-constants.mjs +9 -0
- package/dist/lib/chunk-constants.mjs.map +1 -0
- package/dist/lib/chunk-context.mjs +7 -0
- package/dist/lib/chunk-context.mjs.map +1 -0
- package/dist/lib/chunk-create-chat.mjs +53 -0
- package/dist/lib/chunk-create-chat.mjs.map +1 -0
- package/dist/lib/chunk-create-object.mjs +70 -0
- package/dist/lib/chunk-create-object.mjs.map +1 -0
- package/dist/lib/chunk-edge-model-resolver.mjs +64 -0
- package/dist/lib/chunk-edge-model-resolver.mjs.map +1 -0
- package/dist/lib/chunk-ensure-companion-chat.mjs +49 -0
- package/dist/lib/chunk-ensure-companion-chat.mjs.map +1 -0
- package/dist/lib/chunk-extensions.mjs +78 -0
- package/dist/lib/chunk-extensions.mjs.map +1 -0
- package/dist/lib/chunk-fork-chat.mjs +83 -0
- package/dist/lib/chunk-fork-chat.mjs.map +1 -0
- package/dist/lib/chunk-generate-home-suggestions.mjs +71 -0
- package/dist/lib/chunk-generate-home-suggestions.mjs.map +1 -0
- package/dist/lib/chunk-local-model-resolver.mjs +25 -0
- package/dist/lib/chunk-local-model-resolver.mjs.map +1 -0
- package/dist/lib/chunk-markdown-extension.mjs +27 -0
- package/dist/lib/chunk-markdown-extension.mjs.map +1 -0
- package/dist/lib/{neutral/chunk-L7AR4VTA.mjs → chunk-meta.mjs} +20 -25
- package/dist/lib/chunk-meta.mjs.map +1 -0
- package/dist/lib/chunk-operation-handler.mjs +13 -0
- package/dist/lib/chunk-operation-handler.mjs.map +1 -0
- package/dist/lib/chunk-paths.mjs +8 -0
- package/dist/lib/chunk-paths.mjs.map +1 -0
- package/dist/lib/chunk-processor.mjs +432 -0
- package/dist/lib/chunk-processor.mjs.map +1 -0
- package/dist/lib/chunk-react-surface.mjs +177 -0
- package/dist/lib/chunk-react-surface.mjs.map +1 -0
- package/dist/lib/chunk-run-prompt-in-new-chat.mjs +96 -0
- package/dist/lib/chunk-run-prompt-in-new-chat.mjs.map +1 -0
- package/dist/lib/chunk-set-current-chat.mjs +43 -0
- package/dist/lib/chunk-set-current-chat.mjs.map +1 -0
- package/dist/lib/chunk-settings.mjs +23 -0
- package/dist/lib/chunk-settings.mjs.map +1 -0
- package/dist/lib/chunk-skill-definition.mjs +42 -0
- package/dist/lib/chunk-skill-definition.mjs.map +1 -0
- package/dist/lib/chunk-skills.mjs +19 -0
- package/dist/lib/chunk-skills.mjs.map +1 -0
- package/dist/lib/chunk-state.mjs +32 -0
- package/dist/lib/chunk-state.mjs.map +1 -0
- package/dist/lib/chunk-toggle-trace-panel-debug.mjs +18 -0
- package/dist/lib/chunk-toggle-trace-panel-debug.mjs.map +1 -0
- package/dist/lib/chunk-toolkit.mjs +12 -0
- package/dist/lib/chunk-toolkit.mjs.map +1 -0
- package/dist/lib/chunk-types.mjs +332 -0
- package/dist/lib/chunk-types.mjs.map +1 -0
- package/dist/lib/chunk-update-chat-name.mjs +63 -0
- package/dist/lib/chunk-update-chat-name.mjs.map +1 -0
- package/dist/lib/components.mjs +2616 -0
- package/dist/lib/components.mjs.map +1 -0
- package/dist/lib/containers.mjs +17 -0
- package/dist/lib/containers.mjs.map +1 -0
- package/dist/lib/execution-graph.mjs +961 -0
- package/dist/lib/execution-graph.mjs.map +1 -0
- package/dist/lib/extensions.mjs +2 -0
- package/dist/lib/hooks.mjs +674 -0
- package/dist/lib/hooks.mjs.map +1 -0
- package/dist/lib/index.mjs +5 -0
- package/dist/lib/meta.mjs +2 -0
- package/dist/lib/operations.mjs +7 -0
- package/dist/lib/operations.mjs.map +1 -0
- package/dist/lib/plugin.mjs +9 -0
- package/dist/lib/plugin.mjs.map +1 -0
- package/dist/lib/plugin.workerd.mjs +2 -0
- package/dist/lib/skills.mjs +2 -0
- package/dist/lib/testing.mjs +2 -0
- package/dist/lib/translations.mjs +207 -0
- package/dist/lib/translations.mjs.map +1 -0
- package/dist/lib/types.mjs +2 -0
- package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
- package/dist/types/src/AssistantPlugin.node.d.ts.map +1 -1
- package/dist/types/src/AssistantPlugin.workerd.d.ts.map +1 -1
- package/dist/types/src/capabilities/AssistantSurfaces.d.ts +22 -0
- package/dist/types/src/capabilities/AssistantSurfaces.d.ts.map +1 -0
- package/dist/types/src/capabilities/agent-hydrator.d.ts +1 -1
- package/dist/types/src/capabilities/agent-service.d.ts +1 -1
- package/dist/types/src/capabilities/agent-service.d.ts.map +1 -1
- package/dist/types/src/capabilities/ai-context.d.ts +1 -1
- package/dist/types/src/capabilities/ai-service.d.ts +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts +12 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/automation-templates.d.ts +1 -1
- package/dist/types/src/capabilities/companion-chat-provisioner.d.ts +1 -1
- package/dist/types/src/capabilities/connector.d.ts +1 -1
- package/dist/types/src/capabilities/create-object.d.ts +1 -1
- package/dist/types/src/capabilities/edge-model-resolver.d.ts +1 -1
- package/dist/types/src/capabilities/edge-model-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +0 -2
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/local-model-resolver.d.ts +1 -1
- package/dist/types/src/capabilities/local-model-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/markdown-extension.d.ts +1 -1
- package/dist/types/src/capabilities/operation-handler.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings.d.ts +1 -1
- package/dist/types/src/capabilities/skill-definition.d.ts.map +1 -1
- package/dist/types/src/capabilities/standalone-chats-query.test.d.ts +2 -0
- package/dist/types/src/capabilities/standalone-chats-query.test.d.ts.map +1 -0
- package/dist/types/src/capabilities/state.d.ts +1 -1
- package/dist/types/src/capabilities/toolkit.d.ts +1 -1
- package/dist/types/src/components/AgentProperties/AgentProperties.d.ts +4 -1
- package/dist/types/src/components/AgentProperties/AgentProperties.d.ts.map +1 -1
- package/dist/types/src/components/AgentProperties/AgentProperties.stories.d.ts.map +1 -1
- package/dist/types/src/components/Chat/Chat.d.ts +21 -8
- package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
- package/dist/types/src/components/Chat/{Chat.stories.d.ts → Error.stories.d.ts} +1 -1
- package/dist/types/src/components/Chat/Error.stories.d.ts.map +1 -0
- package/dist/types/src/components/Chat/context.d.ts +8 -0
- package/dist/types/src/components/Chat/context.d.ts.map +1 -1
- package/dist/types/src/components/Chat/events.d.ts +5 -0
- package/dist/types/src/components/Chat/events.d.ts.map +1 -1
- package/dist/types/src/components/Chat/thread.d.ts +42 -0
- package/dist/types/src/components/Chat/thread.d.ts.map +1 -0
- package/dist/types/src/components/Chat/thread.test.d.ts +2 -0
- package/dist/types/src/components/Chat/thread.test.d.ts.map +1 -0
- package/dist/types/src/components/ChatPrompt/ChatActions.d.ts.map +1 -1
- package/dist/types/src/components/ChatPrompt/ChatOptions.stories.d.ts.map +1 -1
- package/dist/types/src/components/ChatPrompt/ChatPrompt.d.ts +5 -3
- package/dist/types/src/components/ChatPrompt/ChatPrompt.d.ts.map +1 -1
- package/dist/types/src/components/ChatPrompt/index.d.ts +0 -1
- package/dist/types/src/components/ChatPrompt/index.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/Anchor.stories.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/ChatThread.d.ts +8 -3
- package/dist/types/src/components/ChatThread/ChatThread.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +30 -2
- 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/index.d.ts +1 -0
- package/dist/types/src/components/ChatThread/index.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/registry.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/sync/index.d.ts +3 -0
- package/dist/types/src/components/ChatThread/sync/index.d.ts.map +1 -0
- package/dist/types/src/components/ChatThread/{sync.d.ts → sync/sync.d.ts} +46 -2
- package/dist/types/src/components/ChatThread/sync/sync.d.ts.map +1 -0
- package/dist/types/src/components/ChatThread/sync/sync.test.d.ts.map +1 -0
- package/dist/types/src/components/ChatThread/sync/tool-widget-state.d.ts.map +1 -0
- package/dist/types/src/components/ChatThread/sync/tool-widget-state.test.d.ts.map +1 -0
- package/dist/types/src/components/ChatThread/widgets/BranchWidget.d.ts +15 -0
- package/dist/types/src/components/ChatThread/widgets/BranchWidget.d.ts.map +1 -0
- package/dist/types/src/components/ChatThread/widgets/BranchWidget.stories.d.ts +21 -0
- package/dist/types/src/components/ChatThread/widgets/BranchWidget.stories.d.ts.map +1 -0
- package/dist/types/src/components/ChatThread/widgets/BranchWidget.test.d.ts +2 -0
- package/dist/types/src/components/ChatThread/widgets/BranchWidget.test.d.ts.map +1 -0
- package/dist/types/src/components/ChatThread/widgets/ReferenceWidget.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/widgets/SuggestionWidget.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/widgets/ToolWidget.d.ts +1 -2
- package/dist/types/src/components/ChatThread/widgets/ToolWidget.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/widgets/defaults.d.ts +6 -0
- package/dist/types/src/components/ChatThread/widgets/defaults.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/widgets/format-time.d.ts +2 -0
- package/dist/types/src/components/ChatThread/widgets/format-time.d.ts.map +1 -0
- package/dist/types/src/components/ChatThread/widgets/index.d.ts +4 -1
- package/dist/types/src/components/ChatThread/widgets/index.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/widgets/is-tool-message.d.ts +3 -0
- package/dist/types/src/components/ChatThread/widgets/is-tool-message.d.ts.map +1 -0
- package/dist/types/src/components/ConnectorAuthMenu/ConnectorAuthMenu.d.ts +16 -0
- package/dist/types/src/components/ConnectorAuthMenu/ConnectorAuthMenu.d.ts.map +1 -0
- package/dist/types/src/components/ConnectorAuthMenu/ConnectorAuthMenu.stories.d.ts +210 -0
- package/dist/types/src/components/ConnectorAuthMenu/ConnectorAuthMenu.stories.d.ts.map +1 -0
- package/dist/types/src/components/ConnectorAuthMenu/index.d.ts +2 -0
- package/dist/types/src/components/ConnectorAuthMenu/index.d.ts.map +1 -0
- package/dist/types/src/components/ProcessTree/ProcessTree.d.ts +1 -1
- package/dist/types/src/components/ProcessTree/ProcessTree.d.ts.map +1 -1
- package/dist/types/src/components/TaskList/TaskList.d.ts +9 -11
- package/dist/types/src/components/TaskList/TaskList.d.ts.map +1 -1
- package/dist/types/src/components/TaskList/TaskList.stories.d.ts +3 -4
- package/dist/types/src/components/TaskList/TaskList.stories.d.ts.map +1 -1
- package/dist/types/src/components/ToolBlock/ToolBlock.d.ts +1 -2
- package/dist/types/src/components/ToolBlock/ToolBlock.d.ts.map +1 -1
- package/dist/types/src/components/ToolBlock/index.d.ts +1 -0
- package/dist/types/src/components/ToolBlock/index.d.ts.map +1 -1
- package/dist/types/src/components/ToolBlock/is-tool-message.d.ts +3 -0
- package/dist/types/src/components/ToolBlock/is-tool-message.d.ts.map +1 -0
- package/dist/types/src/components/Toolbox/Toolbox.d.ts +1 -1
- package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +1 -0
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/containers/AgentArticle/AgentArticle.d.ts +5 -2
- package/dist/types/src/containers/AgentArticle/AgentArticle.d.ts.map +1 -1
- package/dist/types/src/containers/AgentArticle/AgentArticle.stories.d.ts.map +1 -1
- package/dist/types/src/containers/AgentProperties/AgentProperties.d.ts +4 -1
- package/dist/types/src/containers/AgentProperties/AgentProperties.d.ts.map +1 -1
- package/dist/types/src/containers/AssistantSettings/AssistantSettings.d.ts +4 -1
- package/dist/types/src/containers/AssistantSettings/AssistantSettings.d.ts.map +1 -1
- package/dist/types/src/containers/AssistantSettings/AssistantSettings.stories.d.ts +4 -1
- package/dist/types/src/containers/AssistantSettings/AssistantSettings.stories.d.ts.map +1 -1
- package/dist/types/src/containers/AssistantSettings/OllamaModels.d.ts +4 -6
- package/dist/types/src/containers/AssistantSettings/OllamaModels.d.ts.map +1 -1
- package/dist/types/src/containers/ChatArticle/ChatArticle.d.ts.map +1 -1
- package/dist/types/src/containers/ChatArticle/ChatArticle.stories.d.ts +22 -1
- package/dist/types/src/containers/ChatArticle/ChatArticle.stories.d.ts.map +1 -1
- package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts.map +1 -1
- package/dist/types/src/containers/ChatDialog/ChatDialog.d.ts +4 -1
- package/dist/types/src/containers/ChatDialog/ChatDialog.d.ts.map +1 -1
- package/dist/types/src/containers/IntegrationPrompt/IntegrationPrompt.d.ts +4 -7
- package/dist/types/src/containers/IntegrationPrompt/IntegrationPrompt.d.ts.map +1 -1
- package/dist/types/src/containers/SpaceHomePrompt/SpaceHomePrompt.d.ts +4 -9
- package/dist/types/src/containers/SpaceHomePrompt/SpaceHomePrompt.d.ts.map +1 -1
- package/dist/types/src/containers/SpaceHomeSuggestions/SpaceHomeSuggestions.d.ts +5 -7
- package/dist/types/src/containers/SpaceHomeSuggestions/SpaceHomeSuggestions.d.ts.map +1 -1
- package/dist/types/src/containers/TracePanel/TracePanel.d.ts +1 -1
- package/dist/types/src/containers/TracePanel/TracePanel.d.ts.map +1 -1
- package/dist/types/src/containers/TracePanel/TracePanel.stories.d.ts.map +1 -1
- package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts +15 -1
- package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts.map +1 -1
- package/dist/types/src/containers/index.d.ts +0 -1
- package/dist/types/src/containers/index.d.ts.map +1 -1
- package/dist/types/src/execution-graph/execution-graph.d.ts +12 -1
- package/dist/types/src/execution-graph/execution-graph.d.ts.map +1 -1
- package/dist/types/src/execution-graph/index.d.ts +1 -1
- package/dist/types/src/execution-graph/index.d.ts.map +1 -1
- package/dist/types/src/execution-graph/pending-block-status.d.ts.map +1 -1
- package/dist/types/src/execution-graph/span-tree.d.ts +17 -0
- package/dist/types/src/execution-graph/span-tree.d.ts.map +1 -1
- package/dist/types/src/feed-logger.d.ts +1 -1
- package/dist/types/src/feed-logger.d.ts.map +1 -1
- package/dist/types/src/hooks/index.d.ts +1 -1
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
- package/dist/types/src/hooks/useChatToolbarActions.d.ts.map +1 -1
- package/dist/types/src/hooks/useContextObjects.d.ts +1 -1
- package/dist/types/src/hooks/useContextObjects.d.ts.map +1 -1
- package/dist/types/src/hooks/useSelectionContext.d.ts +13 -0
- package/dist/types/src/hooks/useSelectionContext.d.ts.map +1 -0
- package/dist/types/src/hooks/useSelectionContext.test.d.ts +2 -0
- package/dist/types/src/hooks/useSelectionContext.test.d.ts.map +1 -0
- package/dist/types/src/hooks/useTraceMessages.d.ts.map +1 -1
- package/dist/types/src/operations/index.d.ts.map +1 -1
- package/dist/types/src/processor/index.d.ts +1 -0
- package/dist/types/src/processor/index.d.ts.map +1 -1
- package/dist/types/src/processor/processor.d.ts +5 -2
- package/dist/types/src/processor/processor.d.ts.map +1 -1
- package/dist/types/src/processor/prompt.d.ts +18 -0
- package/dist/types/src/processor/prompt.d.ts.map +1 -0
- package/dist/types/src/processor/prompt.test.d.ts +2 -0
- package/dist/types/src/processor/prompt.test.d.ts.map +1 -0
- package/dist/types/src/processor/streaming.node.test.d.ts +2 -0
- package/dist/types/src/processor/streaming.node.test.d.ts.map +1 -0
- package/dist/types/src/skills/assistant/skill.d.ts.map +1 -1
- package/dist/types/src/templates/scaffold.d.ts +1 -1
- package/dist/types/src/templates/scaffold.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/AssistantCapabilities.d.ts +1 -1
- package/dist/types/src/types/AssistantCapabilities.d.ts.map +1 -1
- package/dist/types/src/types/AssistantOperation.d.ts +2 -13
- package/dist/types/src/types/AssistantOperation.d.ts.map +1 -1
- package/dist/types/src/types/ChatSurface.d.ts +2 -2
- package/dist/types/src/types/ChatSurface.d.ts.map +1 -1
- package/dist/types/src/types/Ollama.d.ts +1 -1
- package/dist/types/src/types/Ollama.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dx.config.ts +1 -0
- package/package.json +106 -105
- package/src/AssistantPlugin.node.ts +1 -2
- package/src/AssistantPlugin.test.ts +60 -62
- package/src/AssistantPlugin.ts +1 -10
- package/src/AssistantPlugin.workerd.ts +1 -2
- package/src/capabilities/AssistantSurfaces.tsx +86 -0
- package/src/capabilities/agent-service.ts +1 -1
- package/src/capabilities/app-graph-builder.ts +31 -17
- package/src/capabilities/companion-chat-provisioner.ts +12 -11
- package/src/capabilities/connector.ts +3 -3
- package/src/capabilities/edge-model-resolver.ts +5 -2
- package/src/capabilities/index.ts +0 -2
- package/src/capabilities/react-surface.ts +135 -0
- package/src/capabilities/skill-definition.ts +4 -0
- package/src/capabilities/standalone-chats-query.test.ts +51 -0
- package/src/capabilities/state.ts +1 -1
- package/src/components/AgentProperties/AgentProperties.stories.tsx +6 -7
- package/src/components/AgentProperties/AgentProperties.tsx +37 -30
- package/src/components/Chat/Chat.tsx +275 -59
- package/src/components/Chat/{Chat.stories.tsx → Error.stories.tsx} +1 -1
- package/src/components/Chat/context.ts +8 -0
- package/src/components/Chat/events.ts +5 -0
- package/src/components/Chat/thread.test.ts +127 -0
- package/src/components/Chat/thread.ts +87 -0
- package/src/components/ChatPrompt/ChatActions.tsx +8 -8
- package/src/components/ChatPrompt/ChatMcpErrors.tsx +2 -2
- package/src/components/ChatPrompt/ChatOptions.stories.tsx +2 -1
- package/src/components/ChatPrompt/ChatOptions.tsx +5 -5
- package/src/components/ChatPrompt/ChatPrompt.tsx +33 -6
- package/src/components/ChatPrompt/index.ts +0 -1
- package/src/components/ChatThread/Anchor.stories.tsx +2 -1
- package/src/components/ChatThread/ChatThread.stories.tsx +99 -4
- package/src/components/ChatThread/ChatThread.tsx +34 -6
- package/src/components/ChatThread/Link.tsx +1 -0
- package/src/components/ChatThread/index.ts +2 -0
- package/src/components/ChatThread/registry.tsx +28 -4
- package/src/components/ChatThread/sync/index.ts +6 -0
- package/src/components/ChatThread/{sync.test.ts → sync/sync.test.ts} +167 -7
- package/src/components/ChatThread/{sync.ts → sync/sync.ts} +97 -3
- package/src/components/ChatThread/{tool-widget-state.ts → sync/tool-widget-state.ts} +1 -3
- package/src/components/ChatThread/widgets/BranchWidget.stories.tsx +83 -0
- package/src/components/ChatThread/widgets/BranchWidget.test.ts +55 -0
- package/src/components/ChatThread/widgets/BranchWidget.tsx +61 -0
- package/src/components/ChatThread/widgets/FallbackWidget.tsx +2 -2
- package/src/components/ChatThread/widgets/ReasoningWidget.ts +1 -1
- package/src/components/ChatThread/widgets/ReferenceWidget.ts +1 -6
- package/src/components/ChatThread/widgets/SuggestionWidget.ts +12 -3
- package/src/components/ChatThread/widgets/SummaryWidget.tsx +1 -1
- package/src/components/ChatThread/widgets/ToolWidget.tsx +15 -9
- package/src/components/ChatThread/widgets/defaults.ts +7 -1
- package/src/components/ChatThread/widgets/format-time.ts +45 -0
- package/src/components/ChatThread/widgets/index.ts +4 -1
- package/src/components/ChatThread/widgets/is-tool-message.ts +13 -0
- package/src/components/ConnectorAuthMenu/ConnectorAuthMenu.stories.tsx +177 -0
- package/src/components/ConnectorAuthMenu/ConnectorAuthMenu.tsx +82 -0
- package/src/components/ConnectorAuthMenu/index.ts +5 -0
- package/src/components/ProcessTree/ProcessTree.stories.tsx +1 -1
- package/src/components/TaskList/TaskList.stories.tsx +19 -26
- package/src/components/TaskList/TaskList.tsx +32 -104
- package/src/components/ToolBlock/ToolBlock.tsx +1 -5
- package/src/components/ToolBlock/index.ts +1 -0
- package/src/components/ToolBlock/is-tool-message.ts +13 -0
- package/src/components/Toolbox/Toolbox.tsx +1 -1
- package/src/components/index.ts +1 -0
- package/src/containers/AgentArticle/AgentArticle.stories.tsx +18 -11
- package/src/containers/AgentArticle/AgentArticle.tsx +27 -151
- package/src/containers/AgentProperties/AgentProperties.tsx +21 -17
- package/src/containers/AssistantSettings/AssistantSettings.tsx +2 -0
- package/src/containers/AssistantSettings/OllamaModels.tsx +6 -4
- package/src/containers/ChatArticle/ChatArticle.stories.tsx +200 -27
- package/src/containers/ChatArticle/ChatArticle.tsx +25 -5
- package/src/containers/ChatCompanion/ChatCompanion.tsx +45 -10
- package/src/containers/ChatDialog/ChatDialog.tsx +4 -1
- package/src/containers/IntegrationPrompt/IntegrationPrompt.tsx +9 -6
- package/src/containers/SpaceHomePrompt/SpaceHomePrompt.tsx +2 -0
- package/src/containers/SpaceHomeSuggestions/SpaceHomeSuggestions.tsx +40 -39
- package/src/containers/TracePanel/TracePanel.stories.tsx +9 -4
- package/src/containers/TracePanel/TracePanel.tsx +22 -6
- package/src/containers/TriggerStatus/TriggerStatus.tsx +9 -16
- package/src/containers/index.ts +0 -1
- package/src/execution-graph/SPEC.md +60 -2
- package/src/execution-graph/execution-graph.ts +15 -2
- package/src/execution-graph/index.ts +1 -0
- package/src/execution-graph/pending-block-status.ts +3 -2
- package/src/execution-graph/span-tree.test.ts +87 -1
- package/src/execution-graph/span-tree.ts +95 -0
- package/src/feed-logger.ts +6 -6
- package/src/hooks/index.ts +1 -1
- package/src/hooks/useChatProcessor.ts +2 -1
- package/src/hooks/useChatToolbarActions.ts +22 -19
- package/src/hooks/useContextObjects.ts +9 -3
- package/src/hooks/useSelectionContext.test.ts +93 -0
- package/src/hooks/useSelectionContext.ts +72 -0
- package/src/hooks/useSkillRegistry.ts +1 -1
- package/src/hooks/useTraceMessages.ts +5 -3
- package/src/operations/create-chat.ts +2 -2
- package/src/operations/fork-chat.ts +2 -2
- package/src/operations/generate-home-suggestions.test.ts +2 -2
- package/src/operations/index.ts +0 -1
- package/src/operations/prompt.node.test.ts +1 -1
- package/src/paths.ts +3 -3
- package/src/processor/index.ts +1 -0
- package/src/processor/processor.node.test.ts +1 -1
- package/src/processor/processor.ts +33 -5
- package/src/processor/prompt.test.ts +37 -0
- package/src/processor/prompt.ts +42 -0
- package/src/processor/streaming.node.test.ts +196 -0
- package/src/skills/assistant/skill.node.test.ts +2 -2
- package/src/skills/assistant/skill.ts +3 -5
- package/src/templates/routine-templates.test.ts +1 -2
- package/src/templates/scaffold.ts +3 -3
- package/src/testing/data/trace-timeline-multiple.dx.json +1 -1
- package/src/testing/data/trace-timeline-remote.dx.json +1 -1
- package/src/testing/data/trace-timeline.dx.json +1 -2
- package/src/testing/trace-timeline.node.test.ts +3 -3
- package/src/translations.ts +11 -10
- package/src/types/AssistantCapabilities.ts +1 -1
- package/src/types/AssistantOperation.ts +8 -31
- package/src/types/ChatSurface.ts +3 -3
- package/src/types/Ollama.ts +1 -1
- package/dist/lib/neutral/AgentArticle-GV6EEW3I.mjs +0 -161
- package/dist/lib/neutral/AgentArticle-GV6EEW3I.mjs.map +0 -7
- package/dist/lib/neutral/AgentProperties-LFTEYJ54.mjs +0 -40
- package/dist/lib/neutral/AgentProperties-LFTEYJ54.mjs.map +0 -7
- package/dist/lib/neutral/AssistantPlugin.mjs +0 -10
- package/dist/lib/neutral/AssistantPlugin.mjs.map +0 -7
- package/dist/lib/neutral/AssistantPlugin.node.mjs +0 -72
- package/dist/lib/neutral/AssistantPlugin.node.mjs.map +0 -7
- package/dist/lib/neutral/AssistantPlugin.workerd.mjs +0 -13
- package/dist/lib/neutral/AssistantPlugin.workerd.mjs.map +0 -7
- package/dist/lib/neutral/AssistantSettings-3N5M5VCN.mjs +0 -302
- package/dist/lib/neutral/AssistantSettings-3N5M5VCN.mjs.map +0 -7
- package/dist/lib/neutral/ChatArticle-OO7GGEFW.mjs +0 -8
- package/dist/lib/neutral/ChatArticle-OO7GGEFW.mjs.map +0 -7
- package/dist/lib/neutral/ChatCompanion-GIFJRY6I.mjs +0 -128
- package/dist/lib/neutral/ChatCompanion-GIFJRY6I.mjs.map +0 -7
- package/dist/lib/neutral/ChatDialog-5MXN4MXS.mjs +0 -74
- package/dist/lib/neutral/ChatDialog-5MXN4MXS.mjs.map +0 -7
- package/dist/lib/neutral/IntegrationPrompt-2HJQFYJE.mjs +0 -72
- package/dist/lib/neutral/IntegrationPrompt-2HJQFYJE.mjs.map +0 -7
- package/dist/lib/neutral/PlanArticle-VPK2IYWU.mjs +0 -34
- package/dist/lib/neutral/PlanArticle-VPK2IYWU.mjs.map +0 -7
- package/dist/lib/neutral/SpaceHomePrompt-ISAB76LD.mjs +0 -114
- package/dist/lib/neutral/SpaceHomePrompt-ISAB76LD.mjs.map +0 -7
- package/dist/lib/neutral/SpaceHomeSuggestions-IDH77QQR.mjs +0 -63
- package/dist/lib/neutral/SpaceHomeSuggestions-IDH77QQR.mjs.map +0 -7
- package/dist/lib/neutral/TracePanel-JKNWADJ4.mjs +0 -12
- package/dist/lib/neutral/TracePanel-JKNWADJ4.mjs.map +0 -7
- package/dist/lib/neutral/TriggerStatus-FURRBHYA.mjs +0 -95
- package/dist/lib/neutral/TriggerStatus-FURRBHYA.mjs.map +0 -7
- package/dist/lib/neutral/agent-hydrator-OBO3RHLO.mjs +0 -23
- package/dist/lib/neutral/agent-hydrator-OBO3RHLO.mjs.map +0 -7
- package/dist/lib/neutral/agent-service-XFJ4VQMT.mjs +0 -32
- package/dist/lib/neutral/agent-service-XFJ4VQMT.mjs.map +0 -7
- package/dist/lib/neutral/ai-context-LIKJYMIN.mjs.map +0 -7
- package/dist/lib/neutral/ai-service-DM6YXWUC.mjs +0 -44
- package/dist/lib/neutral/ai-service-DM6YXWUC.mjs.map +0 -7
- package/dist/lib/neutral/app-graph-builder-OPVOEQY7.mjs +0 -249
- package/dist/lib/neutral/app-graph-builder-OPVOEQY7.mjs.map +0 -7
- package/dist/lib/neutral/automation-templates-MADJLXGJ.mjs +0 -97
- package/dist/lib/neutral/automation-templates-MADJLXGJ.mjs.map +0 -7
- package/dist/lib/neutral/capabilities/index.mjs +0 -47
- package/dist/lib/neutral/capabilities/index.mjs.map +0 -7
- package/dist/lib/neutral/chunk-5IHQ52KJ.mjs +0 -9
- package/dist/lib/neutral/chunk-5IHQ52KJ.mjs.map +0 -7
- package/dist/lib/neutral/chunk-6Q4OBGIK.mjs +0 -420
- package/dist/lib/neutral/chunk-6Q4OBGIK.mjs.map +0 -7
- package/dist/lib/neutral/chunk-BXI2R4OO.mjs +0 -410
- package/dist/lib/neutral/chunk-BXI2R4OO.mjs.map +0 -7
- package/dist/lib/neutral/chunk-CMPLPDYE.mjs +0 -30
- package/dist/lib/neutral/chunk-CMPLPDYE.mjs.map +0 -7
- package/dist/lib/neutral/chunk-GPHT3HYS.mjs +0 -8
- package/dist/lib/neutral/chunk-GPHT3HYS.mjs.map +0 -7
- package/dist/lib/neutral/chunk-HKLSFB5I.mjs +0 -90
- package/dist/lib/neutral/chunk-HKLSFB5I.mjs.map +0 -7
- package/dist/lib/neutral/chunk-J5LGTIGS.mjs +0 -10
- package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +0 -7
- package/dist/lib/neutral/chunk-L7AR4VTA.mjs.map +0 -7
- package/dist/lib/neutral/chunk-LS72HWMM.mjs +0 -42
- package/dist/lib/neutral/chunk-LS72HWMM.mjs.map +0 -7
- package/dist/lib/neutral/chunk-OZWZGIV2.mjs +0 -12
- package/dist/lib/neutral/chunk-OZWZGIV2.mjs.map +0 -7
- package/dist/lib/neutral/chunk-QOKLFHUS.mjs +0 -13
- package/dist/lib/neutral/chunk-QOKLFHUS.mjs.map +0 -7
- package/dist/lib/neutral/chunk-SCTHQVIJ.mjs +0 -155
- package/dist/lib/neutral/chunk-SCTHQVIJ.mjs.map +0 -7
- package/dist/lib/neutral/chunk-U4LTLBAX.mjs +0 -56
- package/dist/lib/neutral/chunk-U4LTLBAX.mjs.map +0 -7
- package/dist/lib/neutral/chunk-UPKFUZ6V.mjs +0 -115
- package/dist/lib/neutral/chunk-UPKFUZ6V.mjs.map +0 -7
- package/dist/lib/neutral/chunk-V2Y4XE3O.mjs +0 -12
- package/dist/lib/neutral/chunk-V2Y4XE3O.mjs.map +0 -7
- package/dist/lib/neutral/chunk-VTK5R4H3.mjs +0 -9
- package/dist/lib/neutral/chunk-VTK5R4H3.mjs.map +0 -7
- package/dist/lib/neutral/chunk-XVGEJWJX.mjs +0 -133
- package/dist/lib/neutral/chunk-XVGEJWJX.mjs.map +0 -7
- package/dist/lib/neutral/companion-chat-provisioner-IQV5VIVE.mjs +0 -126
- package/dist/lib/neutral/companion-chat-provisioner-IQV5VIVE.mjs.map +0 -7
- package/dist/lib/neutral/components/index.mjs +0 -2527
- package/dist/lib/neutral/components/index.mjs.map +0 -7
- package/dist/lib/neutral/connector-ITLLTBPZ.mjs +0 -70
- package/dist/lib/neutral/connector-ITLLTBPZ.mjs.map +0 -7
- package/dist/lib/neutral/containers/index.mjs +0 -31
- package/dist/lib/neutral/containers/index.mjs.map +0 -7
- package/dist/lib/neutral/create-chat-YGVZZYGP.mjs +0 -56
- package/dist/lib/neutral/create-chat-YGVZZYGP.mjs.map +0 -7
- package/dist/lib/neutral/create-object-5PAEJ6KM.mjs +0 -76
- package/dist/lib/neutral/create-object-5PAEJ6KM.mjs.map +0 -7
- package/dist/lib/neutral/edge-model-resolver-WDJWDZTT.mjs +0 -55
- package/dist/lib/neutral/edge-model-resolver-WDJWDZTT.mjs.map +0 -7
- package/dist/lib/neutral/ensure-companion-chat-AMOF3C66.mjs +0 -58
- package/dist/lib/neutral/ensure-companion-chat-AMOF3C66.mjs.map +0 -7
- package/dist/lib/neutral/execution-graph/index.mjs +0 -977
- package/dist/lib/neutral/execution-graph/index.mjs.map +0 -7
- package/dist/lib/neutral/extensions/index.mjs +0 -8
- package/dist/lib/neutral/extensions/index.mjs.map +0 -7
- package/dist/lib/neutral/fork-chat-RMAAYYQF.mjs +0 -92
- package/dist/lib/neutral/fork-chat-RMAAYYQF.mjs.map +0 -7
- package/dist/lib/neutral/generate-home-suggestions-6MM2XWPV.mjs +0 -93
- package/dist/lib/neutral/generate-home-suggestions-6MM2XWPV.mjs.map +0 -7
- package/dist/lib/neutral/hooks/index.mjs +0 -877
- package/dist/lib/neutral/hooks/index.mjs.map +0 -7
- package/dist/lib/neutral/index.mjs +0 -42
- package/dist/lib/neutral/index.mjs.map +0 -7
- package/dist/lib/neutral/local-model-resolver-I2BENFFS.mjs +0 -24
- package/dist/lib/neutral/local-model-resolver-I2BENFFS.mjs.map +0 -7
- package/dist/lib/neutral/markdown-extension-R4TKDTIF.mjs +0 -41
- package/dist/lib/neutral/markdown-extension-R4TKDTIF.mjs.map +0 -7
- package/dist/lib/neutral/meta.json +0 -1
- package/dist/lib/neutral/meta.mjs +0 -12
- package/dist/lib/neutral/meta.mjs.map +0 -7
- package/dist/lib/neutral/migrations-7DEMVBOG.mjs +0 -28
- package/dist/lib/neutral/migrations-7DEMVBOG.mjs.map +0 -7
- package/dist/lib/neutral/navigation-resolver-PYGP2DAW.mjs +0 -18
- package/dist/lib/neutral/navigation-resolver-PYGP2DAW.mjs.map +0 -7
- package/dist/lib/neutral/operation-handler-2LEN45GP.mjs +0 -8
- package/dist/lib/neutral/operation-handler-2LEN45GP.mjs.map +0 -7
- package/dist/lib/neutral/operations/index.mjs +0 -8
- package/dist/lib/neutral/operations/index.mjs.map +0 -7
- package/dist/lib/neutral/plugin.mjs +0 -16
- package/dist/lib/neutral/plugin.mjs.map +0 -7
- package/dist/lib/neutral/plugin.workerd.mjs +0 -13
- package/dist/lib/neutral/plugin.workerd.mjs.map +0 -7
- package/dist/lib/neutral/react-surface-HEJEK44F.mjs +0 -171
- package/dist/lib/neutral/react-surface-HEJEK44F.mjs.map +0 -7
- package/dist/lib/neutral/resolve-navigation-targets-PBQ3OLUE.mjs +0 -28
- package/dist/lib/neutral/resolve-navigation-targets-PBQ3OLUE.mjs.map +0 -7
- package/dist/lib/neutral/run-prompt-in-new-chat-RNUJE2FM.mjs +0 -102
- package/dist/lib/neutral/run-prompt-in-new-chat-RNUJE2FM.mjs.map +0 -7
- package/dist/lib/neutral/set-current-chat-VWBPSIMZ.mjs +0 -48
- package/dist/lib/neutral/set-current-chat-VWBPSIMZ.mjs.map +0 -7
- package/dist/lib/neutral/settings-7Q3RITIT.mjs +0 -28
- package/dist/lib/neutral/settings-7Q3RITIT.mjs.map +0 -7
- package/dist/lib/neutral/skill-definition-553MQRTR.mjs +0 -8
- package/dist/lib/neutral/skill-definition-553MQRTR.mjs.map +0 -7
- package/dist/lib/neutral/skills/index.mjs +0 -8
- package/dist/lib/neutral/skills/index.mjs.map +0 -7
- package/dist/lib/neutral/state-4LGAKSSD.mjs +0 -34
- package/dist/lib/neutral/state-4LGAKSSD.mjs.map +0 -7
- package/dist/lib/neutral/testing.mjs +0 -8
- package/dist/lib/neutral/testing.mjs.map +0 -7
- package/dist/lib/neutral/toggle-trace-panel-debug-JGTB6KVJ.mjs +0 -21
- package/dist/lib/neutral/toggle-trace-panel-debug-JGTB6KVJ.mjs.map +0 -7
- package/dist/lib/neutral/toolkit-ETWLG5NT.mjs +0 -8
- package/dist/lib/neutral/toolkit-ETWLG5NT.mjs.map +0 -7
- package/dist/lib/neutral/translations.mjs +0 -217
- package/dist/lib/neutral/translations.mjs.map +0 -7
- package/dist/lib/neutral/types/index.mjs +0 -24
- package/dist/lib/neutral/types/index.mjs.map +0 -7
- package/dist/lib/neutral/update-chat-name-IJJELRR6.mjs +0 -61
- package/dist/lib/neutral/update-chat-name-IJJELRR6.mjs.map +0 -7
- package/dist/types/src/capabilities/migrations.d.ts +0 -5
- package/dist/types/src/capabilities/migrations.d.ts.map +0 -1
- package/dist/types/src/capabilities/navigation-resolver.d.ts +0 -5
- package/dist/types/src/capabilities/navigation-resolver.d.ts.map +0 -1
- package/dist/types/src/components/Chat/Chat.stories.d.ts.map +0 -1
- package/dist/types/src/components/ChatPrompt/ChatStatusIndicator.d.ts +0 -10
- package/dist/types/src/components/ChatPrompt/ChatStatusIndicator.d.ts.map +0 -1
- package/dist/types/src/components/ChatThread/sync.d.ts.map +0 -1
- package/dist/types/src/components/ChatThread/sync.test.d.ts.map +0 -1
- package/dist/types/src/components/ChatThread/tool-widget-state.d.ts.map +0 -1
- package/dist/types/src/components/ChatThread/tool-widget-state.test.d.ts.map +0 -1
- package/dist/types/src/containers/PlanArticle/PlanArticle.d.ts +0 -6
- package/dist/types/src/containers/PlanArticle/PlanArticle.d.ts.map +0 -1
- package/dist/types/src/containers/PlanArticle/index.d.ts +0 -2
- package/dist/types/src/containers/PlanArticle/index.d.ts.map +0 -1
- package/dist/types/src/hooks/useFlush.d.ts +0 -6
- package/dist/types/src/hooks/useFlush.d.ts.map +0 -1
- package/dist/types/src/operations/resolve-navigation-targets.d.ts +0 -5
- package/dist/types/src/operations/resolve-navigation-targets.d.ts.map +0 -1
- package/src/AssistantPlugin.conversations.json +0 -1
- package/src/capabilities/migrations.ts +0 -28
- package/src/capabilities/navigation-resolver.ts +0 -20
- package/src/capabilities/react-surface.tsx +0 -177
- package/src/components/ChatPrompt/ChatStatusIndicator.tsx +0 -42
- package/src/components/ChatThread/DEBUG.md +0 -64
- package/src/containers/PlanArticle/PlanArticle.tsx +0 -37
- package/src/containers/PlanArticle/index.ts +0 -5
- package/src/hooks/useFlush.ts +0 -35
- package/src/operations/resolve-navigation-targets.ts +0 -44
- /package/dist/types/src/components/ChatThread/{sync.test.d.ts → sync/sync.test.d.ts} +0 -0
- /package/dist/types/src/components/ChatThread/{tool-widget-state.d.ts → sync/tool-widget-state.d.ts} +0 -0
- /package/dist/types/src/components/ChatThread/{tool-widget-state.test.d.ts → sync/tool-widget-state.test.d.ts} +0 -0
- /package/src/components/ChatThread/{tool-widget-state.test.ts → sync/tool-widget-state.test.ts} +0 -0
package/PLUGIN.mdl
CHANGED
|
@@ -67,14 +67,6 @@ type Message
|
|
|
67
67
|
timestamp: string
|
|
68
68
|
```
|
|
69
69
|
|
|
70
|
-
```mdl
|
|
71
|
-
type NavigationTarget
|
|
72
|
-
fields:
|
|
73
|
-
path: string
|
|
74
|
-
label: string
|
|
75
|
-
type: string
|
|
76
|
-
```
|
|
77
|
-
|
|
78
70
|
```mdl
|
|
79
71
|
type SkillForm
|
|
80
72
|
fields:
|
|
@@ -194,16 +186,6 @@ op EnsureCompanionChat
|
|
|
194
186
|
effects: [echo:write]
|
|
195
187
|
```
|
|
196
188
|
|
|
197
|
-
```mdl
|
|
198
|
-
op ResolveNavigationTargets
|
|
199
|
-
desc: Returns navigation paths for objects in the active space, optionally filtered by DXN.
|
|
200
|
-
input:
|
|
201
|
-
query?:
|
|
202
|
-
dxn?: DXN
|
|
203
|
-
output:
|
|
204
|
-
targets: NavigationTarget[]
|
|
205
|
-
```
|
|
206
|
-
|
|
207
189
|
```mdl
|
|
208
190
|
op OnCreateSpace
|
|
209
191
|
desc: Provisions initial assistant objects when a new space is created.
|
|
@@ -273,7 +255,9 @@ feat F-4: Multi-Provider LLM
|
|
|
273
255
|
```mdl
|
|
274
256
|
feat F-5: Tool Execution
|
|
275
257
|
|
|
276
|
-
req F-5.1: The assistant skill exposes LayoutOperation.Open and ResolveNavigationTargets
|
|
258
|
+
req F-5.1: The assistant skill exposes LayoutOperation.Open and NavigationOperation.ResolveNavigationTargets
|
|
259
|
+
as tools. Both are owned elsewhere — the assistant contributes no navigation operation of its
|
|
260
|
+
own, so an agent resolving an object to a path uses the same entry point the UI does.
|
|
277
261
|
req F-5.2: Web search tool is registered via WebSearchToolkit.
|
|
278
262
|
req F-5.3:
|
|
279
263
|
when: AI invokes a tool during a conversation
|
|
@@ -345,15 +329,6 @@ test T-5: Run prompt in background
|
|
|
345
329
|
- the prompt runs via compute runtime without opening the UI
|
|
346
330
|
```
|
|
347
331
|
|
|
348
|
-
```mdl
|
|
349
|
-
test T-6: Navigation target resolution
|
|
350
|
-
given: active space contains documents and collections
|
|
351
|
-
when: op:ResolveNavigationTargets is called with no query
|
|
352
|
-
then:
|
|
353
|
-
- returned targets include paths for all top-level navigable objects
|
|
354
|
-
- each target has a non-empty label and type
|
|
355
|
-
```
|
|
356
|
-
|
|
357
332
|
```mdl
|
|
358
333
|
test T-7: Trace panel debug toggle
|
|
359
334
|
given: trace panel is showing commit-graph view
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { AppPlugin } from "@dxos/app-toolkit";
|
|
2
|
+
import { AiContext } from "@dxos/assistant";
|
|
3
|
+
import { Instructions, Skill } from "@dxos/compute";
|
|
4
|
+
import { ActivationEvents, Capability, Plugin } from "@dxos/app-framework";
|
|
5
|
+
import { Agent, Chat, McpServer, Memory } from "@dxos/assistant-toolkit";
|
|
6
|
+
import { Feed } from "@dxos/echo";
|
|
7
|
+
import { meta } from "#meta";
|
|
8
|
+
import { Sequence } from "@dxos/conductor";
|
|
9
|
+
import { Text } from "@dxos/schema";
|
|
10
|
+
import { HasSubject, Message } from "@dxos/types";
|
|
11
|
+
import { AgentHydrator, AgentRuntime, AiContext as AiContext$1, AiService, AppGraphBuilder, CreateObject, EdgeModelResolver, LocalModelResolver, OperationHandler, SkillDefinition, Toolkit } from "#capabilities";
|
|
12
|
+
import { AssistantEvents } from "#types";
|
|
13
|
+
//#region src/AssistantPlugin.node.ts
|
|
14
|
+
var AssistantPlugin = Plugin.define(meta).pipe(AppPlugin.addAppGraphModule({ activate: AppGraphBuilder }), AppPlugin.addSkillDefinitionModule({ activate: SkillDefinition }), AppPlugin.addCreateObjectModule({ activate: CreateObject }), AppPlugin.addOperationHandlerModule({ activate: OperationHandler }), AppPlugin.addSchemaModule({ schema: [
|
|
15
|
+
Chat.Chat,
|
|
16
|
+
Chat.CompanionTo,
|
|
17
|
+
Skill.Skill,
|
|
18
|
+
AiContext.Binding,
|
|
19
|
+
Feed.Feed,
|
|
20
|
+
HasSubject.HasSubject,
|
|
21
|
+
Message.Message,
|
|
22
|
+
Instructions.Instructions,
|
|
23
|
+
Agent.Agent,
|
|
24
|
+
McpServer.McpServer,
|
|
25
|
+
Sequence.Sequence,
|
|
26
|
+
Memory.Memory,
|
|
27
|
+
Text.Text
|
|
28
|
+
] }), Plugin.addModule({
|
|
29
|
+
activatesOn: AssistantEvents.SetupAiServiceProviders,
|
|
30
|
+
activate: EdgeModelResolver
|
|
31
|
+
}), Plugin.addModule({
|
|
32
|
+
activatesOn: AssistantEvents.SetupAiServiceProviders,
|
|
33
|
+
activate: LocalModelResolver
|
|
34
|
+
}), Plugin.addModule((options) => ({
|
|
35
|
+
id: Capability.getModuleTag(AiService),
|
|
36
|
+
firesBeforeActivation: [AssistantEvents.SetupAiServiceProviders],
|
|
37
|
+
activatesOn: ActivationEvents.SetupProcessManager,
|
|
38
|
+
activate: () => AiService(options)
|
|
39
|
+
})), Plugin.addModule({
|
|
40
|
+
activatesOn: ActivationEvents.SetupProcessManager,
|
|
41
|
+
activate: AiContext$1
|
|
42
|
+
}), Plugin.addModule({
|
|
43
|
+
activatesOn: ActivationEvents.Startup,
|
|
44
|
+
activate: Toolkit
|
|
45
|
+
}), Plugin.addModule({
|
|
46
|
+
activatesOn: ActivationEvents.SetupProcessManager,
|
|
47
|
+
activate: AgentRuntime
|
|
48
|
+
})).pipe(Plugin.addModule({
|
|
49
|
+
activatesOn: ActivationEvents.ProcessManagerReady,
|
|
50
|
+
activate: AgentHydrator
|
|
51
|
+
}), Plugin.make);
|
|
52
|
+
//#endregion
|
|
53
|
+
export { AssistantPlugin, AssistantPlugin as default };
|
|
54
|
+
|
|
55
|
+
//# sourceMappingURL=AssistantPlugin.node.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssistantPlugin.node.mjs","names":[],"sources":["../../src/AssistantPlugin.node.ts"],"sourcesContent":["//\n// Copyright 2023 DXOS.org\n//\n\nimport { ActivationEvents, Capability, Plugin } from '@dxos/app-framework';\nimport { AppPlugin } from '@dxos/app-toolkit';\nimport { AiContext } from '@dxos/assistant';\nimport { Agent, Chat, McpServer, Memory } from '@dxos/assistant-toolkit';\nimport { Instructions, Skill } from '@dxos/compute';\nimport { Sequence } from '@dxos/conductor';\nimport { Feed } from '@dxos/echo';\nimport { Text } from '@dxos/schema';\nimport { HasSubject, Message } from '@dxos/types';\n\nimport {\n AgentHydrator,\n AgentRuntime,\n AiContext as AiContextCapability,\n AiService,\n AppGraphBuilder,\n CreateObject,\n EdgeModelResolver,\n LocalModelResolver,\n OperationHandler,\n SkillDefinition,\n Toolkit,\n} from '#capabilities';\nimport { meta } from '#meta';\nimport { AssistantEvents, type AssistantPluginOptions } from '#types';\n\nexport const AssistantPlugin = Plugin.define<AssistantPluginOptions | void>(meta)\n .pipe(\n AppPlugin.addAppGraphModule({ activate: AppGraphBuilder }),\n AppPlugin.addSkillDefinitionModule({ activate: SkillDefinition }),\n AppPlugin.addCreateObjectModule({ activate: CreateObject }),\n AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),\n AppPlugin.addSchemaModule({\n schema: [\n Chat.Chat,\n Chat.CompanionTo,\n Skill.Skill,\n AiContext.Binding,\n Feed.Feed,\n HasSubject.HasSubject,\n Message.Message,\n Instructions.Instructions,\n Agent.Agent,\n McpServer.McpServer,\n Sequence.Sequence,\n Memory.Memory,\n Text.Text,\n ],\n }),\n Plugin.addModule({\n activatesOn: AssistantEvents.SetupAiServiceProviders,\n activate: EdgeModelResolver,\n }),\n Plugin.addModule({\n activatesOn: AssistantEvents.SetupAiServiceProviders,\n activate: LocalModelResolver,\n }),\n Plugin.addModule((options) => ({\n id: Capability.getModuleTag(AiService),\n firesBeforeActivation: [AssistantEvents.SetupAiServiceProviders],\n activatesOn: ActivationEvents.SetupProcessManager,\n activate: () => AiService(options),\n })),\n Plugin.addModule({\n activatesOn: ActivationEvents.SetupProcessManager,\n activate: AiContextCapability,\n }),\n Plugin.addModule({\n activatesOn: ActivationEvents.Startup,\n activate: Toolkit,\n }),\n Plugin.addModule({\n activatesOn: ActivationEvents.SetupProcessManager,\n activate: AgentRuntime,\n }),\n )\n .pipe(\n Plugin.addModule({\n activatesOn: ActivationEvents.ProcessManagerReady,\n activate: AgentHydrator,\n }),\n Plugin.make,\n );\n\nexport default AssistantPlugin;\n"],"mappings":";;;;;;;;;;;;;AA8BA,IAAa,kBAAkB,OAAO,OAAsC,IAAI,CAAA,CAC7E,KACC,UAAU,kBAAkB,EAAE,UAAU,gBAAgB,CAAC,GACzD,UAAU,yBAAyB,EAAE,UAAU,gBAAgB,CAAC,GAChE,UAAU,sBAAsB,EAAE,UAAU,aAAa,CAAC,GAC1D,UAAU,0BAA0B,EAAE,UAAU,iBAAiB,CAAC,GAClE,UAAU,gBAAgB,EACxB,QAAQ;CACN,KAAK;CACL,KAAK;CACL,MAAM;CACN,UAAU;CACV,KAAK;CACL,WAAW;CACX,QAAQ;CACR,aAAa;CACb,MAAM;CACN,UAAU;CACV,SAAS;CACT,OAAO;CACP,KAAK;AACP,EACF,CAAC,GACD,OAAO,UAAU;CACf,aAAa,gBAAgB;CAC7B,UAAU;AACZ,CAAC,GACD,OAAO,UAAU;CACf,aAAa,gBAAgB;CAC7B,UAAU;AACZ,CAAC,GACD,OAAO,WAAW,aAAa;CAC7B,IAAI,WAAW,aAAa,SAAS;CACrC,uBAAuB,CAAC,gBAAgB,uBAAuB;CAC/D,aAAa,iBAAiB;CAC9B,gBAAgB,UAAU,OAAO;AACnC,EAAE,GACF,OAAO,UAAU;CACf,aAAa,iBAAiB;CAC9B,UAAU;AACZ,CAAC,GACD,OAAO,UAAU;CACf,aAAa,iBAAiB;CAC9B,UAAU;AACZ,CAAC,GACD,OAAO,UAAU;CACf,aAAa,iBAAiB;CAC9B,UAAU;AACZ,CAAC,CACH,CAAA,CACC,KACC,OAAO,UAAU;CACf,aAAa,iBAAiB;CAC9B,UAAU;AACZ,CAAC,GACD,OAAO,IACT"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { t as operation_handler_default } from "./chunk-operation-handler.mjs";
|
|
2
|
+
import { t as skillDefinition } from "./chunk-skill-definition.mjs";
|
|
3
|
+
import { t as toolkit_default } from "./chunk-toolkit.mjs";
|
|
4
|
+
import { AppPlugin } from "@dxos/app-toolkit";
|
|
5
|
+
import { AiContext } from "@dxos/assistant";
|
|
6
|
+
import { Instructions, Skill } from "@dxos/compute";
|
|
7
|
+
import { ActivationEvents, Plugin } from "@dxos/app-framework";
|
|
8
|
+
import { Agent, Chat, McpServer, Memory } from "@dxos/assistant-toolkit";
|
|
9
|
+
import { Feed } from "@dxos/echo";
|
|
10
|
+
import { meta } from "#meta";
|
|
11
|
+
import { Sequence } from "@dxos/conductor";
|
|
12
|
+
import { Text } from "@dxos/schema";
|
|
13
|
+
import { HasSubject, Message } from "@dxos/types";
|
|
14
|
+
//#region src/AssistantPlugin.workerd.ts
|
|
15
|
+
var AssistantPlugin = Plugin.define(meta).pipe(AppPlugin.addSkillDefinitionModule({
|
|
16
|
+
id: "skill-definition",
|
|
17
|
+
activate: skillDefinition
|
|
18
|
+
}), AppPlugin.addOperationHandlerModule({
|
|
19
|
+
id: "operation-handler",
|
|
20
|
+
activate: operation_handler_default
|
|
21
|
+
}), Plugin.addModule({
|
|
22
|
+
id: "toolkit",
|
|
23
|
+
activatesOn: ActivationEvents.Startup,
|
|
24
|
+
activate: toolkit_default
|
|
25
|
+
}), AppPlugin.addSchemaModule({ schema: [
|
|
26
|
+
Chat.Chat,
|
|
27
|
+
Chat.CompanionTo,
|
|
28
|
+
Skill.Skill,
|
|
29
|
+
AiContext.Binding,
|
|
30
|
+
Feed.Feed,
|
|
31
|
+
HasSubject.HasSubject,
|
|
32
|
+
Message.Message,
|
|
33
|
+
Instructions.Instructions,
|
|
34
|
+
Agent.Agent,
|
|
35
|
+
McpServer.McpServer,
|
|
36
|
+
Sequence.Sequence,
|
|
37
|
+
Memory.Memory,
|
|
38
|
+
Text.Text
|
|
39
|
+
] }), Plugin.make);
|
|
40
|
+
//#endregion
|
|
41
|
+
export { AssistantPlugin, AssistantPlugin as default };
|
|
42
|
+
|
|
43
|
+
//# sourceMappingURL=AssistantPlugin.workerd.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssistantPlugin.workerd.mjs","names":[],"sources":["../../src/AssistantPlugin.workerd.ts"],"sourcesContent":["//\n// Copyright 2023 DXOS.org\n//\n\nimport { ActivationEvents, Plugin } from '@dxos/app-framework';\nimport { AppPlugin } from '@dxos/app-toolkit';\nimport { AiContext } from '@dxos/assistant';\nimport { Agent, Chat, McpServer, Memory } from '@dxos/assistant-toolkit';\nimport { Instructions, Skill } from '@dxos/compute';\nimport { Sequence } from '@dxos/conductor';\nimport { Feed } from '@dxos/echo';\nimport { Text } from '@dxos/schema';\nimport { HasSubject, Message } from '@dxos/types';\n\nimport { meta } from '#meta';\n\nimport OperationHandler from './capabilities/operation-handler';\nimport SkillDefinition from './capabilities/skill-definition';\nimport Toolkit from './capabilities/toolkit';\n\nexport const AssistantPlugin = Plugin.define(meta).pipe(\n AppPlugin.addSkillDefinitionModule({ id: 'skill-definition', activate: SkillDefinition }),\n AppPlugin.addOperationHandlerModule({ id: 'operation-handler', activate: OperationHandler }),\n Plugin.addModule({\n id: 'toolkit',\n activatesOn: ActivationEvents.Startup,\n activate: Toolkit,\n }),\n AppPlugin.addSchemaModule({\n schema: [\n Chat.Chat,\n Chat.CompanionTo,\n Skill.Skill,\n AiContext.Binding,\n Feed.Feed,\n HasSubject.HasSubject,\n Message.Message,\n Instructions.Instructions,\n Agent.Agent,\n McpServer.McpServer,\n Sequence.Sequence,\n Memory.Memory,\n Text.Text,\n ],\n }),\n Plugin.make,\n);\n\nexport default AssistantPlugin;\n"],"mappings":";;;;;;;;;;;;;;AAoBA,IAAa,kBAAkB,OAAO,OAAO,IAAI,CAAC,CAAC,KACjD,UAAU,yBAAyB;CAAE,IAAI;CAAoB,UAAU;AAAgB,CAAC,GACxF,UAAU,0BAA0B;CAAE,IAAI;CAAqB,UAAU;AAAiB,CAAC,GAC3F,OAAO,UAAU;CACf,IAAI;CACJ,aAAa,iBAAiB;CAC9B,UAAU;AACZ,CAAC,GACD,UAAU,gBAAgB,EACxB,QAAQ;CACN,KAAK;CACL,KAAK;CACL,MAAM;CACN,UAAU;CACV,KAAK;CACL,WAAW;CACX,QAAQ;CACR,aAAa;CACb,MAAM;CACN,UAAU;CACV,SAAS;CACT,OAAO;CACP,KAAK;AACP,EACF,CAAC,GACD,OAAO,IACT"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Capability } from "@dxos/app-framework";
|
|
2
|
+
//#region src/capabilities/index.ts
|
|
3
|
+
var AgentHydrator = Capability.lazy("AgentHydrator", () => import("./chunk-agent-hydrator.mjs"));
|
|
4
|
+
var AgentRuntime = Capability.lazy("AgentRuntime", () => import("./chunk-agent-service.mjs"));
|
|
5
|
+
var AiContext = Capability.lazy("AiContext", () => import("./chunk-ai-context.mjs"));
|
|
6
|
+
var AiService = Capability.lazy("AiService", () => import("./chunk-ai-service.mjs"));
|
|
7
|
+
var Connector = Capability.lazy("AnthropicConnector", () => import("./chunk-connector.mjs"));
|
|
8
|
+
var AppGraphBuilder = Capability.lazy("AppGraphBuilder", () => import("./chunk-app-graph-builder.mjs"));
|
|
9
|
+
var AutomationTemplates = Capability.lazy("AutomationTemplates", () => import("./chunk-automation-templates.mjs"));
|
|
10
|
+
var SkillDefinition = Capability.lazy("SkillDefinition", () => import("./chunk-skill-definition.mjs").then((n) => n.n));
|
|
11
|
+
var CompanionChatProvisioner = Capability.lazy("CompanionChatProvisioner", () => import("./chunk-companion-chat-provisioner.mjs"));
|
|
12
|
+
var CreateObject = Capability.lazy("CreateObject", () => import("./chunk-create-object.mjs"));
|
|
13
|
+
var EdgeModelResolver = Capability.lazy("EdgeModelResolver", () => import("./chunk-edge-model-resolver.mjs"));
|
|
14
|
+
var LocalModelResolver = Capability.lazy("LocalModelResolver", () => import("./chunk-local-model-resolver.mjs"));
|
|
15
|
+
var MarkdownExtension = Capability.lazy("MarkdownExtension", () => import("./chunk-markdown-extension.mjs"));
|
|
16
|
+
var OperationHandler = Capability.lazy("OperationHandler", () => import("./chunk-operation-handler.mjs").then((n) => n.n));
|
|
17
|
+
var ReactSurface = Capability.lazy("ReactSurface", () => import("./chunk-react-surface.mjs"));
|
|
18
|
+
var Settings = Capability.lazy("Settings", () => import("./chunk-settings.mjs"));
|
|
19
|
+
var AssistantState = Capability.lazy("AssistantState", () => import("./chunk-state.mjs"));
|
|
20
|
+
var Toolkit = Capability.lazy("Toolkit", () => import("./chunk-toolkit.mjs").then((n) => n.n));
|
|
21
|
+
//#endregion
|
|
22
|
+
export { AgentHydrator, AgentRuntime, AiContext, AiService, AppGraphBuilder, AssistantState, AutomationTemplates, CompanionChatProvisioner, Connector, CreateObject, EdgeModelResolver, LocalModelResolver, MarkdownExtension, OperationHandler, ReactSurface, Settings, SkillDefinition, Toolkit };
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=capabilities.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.mjs","names":[],"sources":["../../src/capabilities/index.ts"],"sourcesContent":["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\nimport type { OperationHandlerSet } from '@dxos/compute';\n\nimport type { AssistantPluginOptions } from '#types';\n\nexport const AgentHydrator = Capability.lazy('AgentHydrator', () => import('./agent-hydrator'));\nexport const AgentRuntime = Capability.lazy<void, Capability.Any[]>('AgentRuntime', () => import('./agent-service'));\nexport const AiContext = Capability.lazy<void, Capability.Any[]>('AiContext', () => import('./ai-context'));\nexport const AiService = Capability.lazy<AssistantPluginOptions | void, Capability.Any[]>(\n 'AiService',\n () => import('./ai-service'),\n);\nexport const Connector = Capability.lazy('AnthropicConnector', () => import('./connector'));\nexport const AppGraphBuilder = Capability.lazy('AppGraphBuilder', () => import('./app-graph-builder'));\nexport const AutomationTemplates = Capability.lazy('AutomationTemplates', () => import('./automation-templates'));\nexport const SkillDefinition = Capability.lazy('SkillDefinition', () => import('./skill-definition'));\nexport const CompanionChatProvisioner = Capability.lazy(\n 'CompanionChatProvisioner',\n () => import('./companion-chat-provisioner'),\n);\nexport const CreateObject = Capability.lazy('CreateObject', () => import('./create-object'));\nexport const EdgeModelResolver = Capability.lazy('EdgeModelResolver', () => import('./edge-model-resolver'));\nexport const LocalModelResolver = Capability.lazy('LocalModelResolver', () => import('./local-model-resolver'));\nexport const MarkdownExtension = Capability.lazy('MarkdownExtension', () => import('./markdown-extension'));\nexport const OperationHandler = Capability.lazy<OperationHandlerSet.OperationHandlerSet>(\n 'OperationHandler',\n () => import('./operation-handler'),\n);\nexport const ReactSurface = Capability.lazy('ReactSurface', () => import('./react-surface'));\nexport const Settings = Capability.lazy('Settings', () => import('./settings'));\nexport const AssistantState = Capability.lazy('AssistantState', () => import('./state'));\nexport const Toolkit = Capability.lazy('Toolkit', () => import('./toolkit'));\n"],"mappings":";;AASA,IAAa,gBAAgB,WAAW,KAAK,uBAAuB,OAAO,6BAAmB;AAC9F,IAAa,eAAe,WAAW,KAA6B,sBAAsB,OAAO,4BAAkB;AACnH,IAAa,YAAY,WAAW,KAA6B,mBAAmB,OAAO,yBAAe;AAC1G,IAAa,YAAY,WAAW,KAClC,mBACM,OAAO,yBACf;AACA,IAAa,YAAY,WAAW,KAAK,4BAA4B,OAAO,wBAAc;AAC1F,IAAa,kBAAkB,WAAW,KAAK,yBAAyB,OAAO,gCAAsB;AACrG,IAAa,sBAAsB,WAAW,KAAK,6BAA6B,OAAO,mCAAyB;AAChH,IAAa,kBAAkB,WAAW,KAAK,yBAAyB,OAAO,+BAAqB,CAAA,MAAA,MAAA,EAAA,CAAA,CAAA;AACpG,IAAa,2BAA2B,WAAW,KACjD,kCACM,OAAO,yCACf;AACA,IAAa,eAAe,WAAW,KAAK,sBAAsB,OAAO,4BAAkB;AAC3F,IAAa,oBAAoB,WAAW,KAAK,2BAA2B,OAAO,kCAAwB;AAC3G,IAAa,qBAAqB,WAAW,KAAK,4BAA4B,OAAO,mCAAyB;AAC9G,IAAa,oBAAoB,WAAW,KAAK,2BAA2B,OAAO,iCAAuB;AAC1G,IAAa,mBAAmB,WAAW,KACzC,0BACM,OAAO,gCACf,CAAA,MAAA,MAAA,EAAA,CAAA,CAAA;AACA,IAAa,eAAe,WAAW,KAAK,sBAAsB,OAAO,4BAAkB;AAC3F,IAAa,WAAW,WAAW,KAAK,kBAAkB,OAAO,uBAAa;AAC9E,IAAa,iBAAiB,WAAW,KAAK,wBAAwB,OAAO,oBAAU;AACvF,IAAa,UAAU,WAAW,KAAK,iBAAiB,OAAO,sBAAY,CAAA,MAAA,MAAA,EAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Agent } from "@dxos/assistant-toolkit";
|
|
2
|
+
import { Database, Obj } from "@dxos/echo";
|
|
3
|
+
import { meta } from "#meta";
|
|
4
|
+
import * as Effect from "effect/Effect";
|
|
5
|
+
import { useCallback } from "react";
|
|
6
|
+
import { useObject } from "@dxos/echo-react";
|
|
7
|
+
import { Panel, Toolbar, useTranslation } from "@dxos/react-ui";
|
|
8
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
import { useSpaceCallback } from "@dxos/app-framework/ui";
|
|
10
|
+
import { InstructionsEditor } from "@dxos/plugin-routine/components";
|
|
11
|
+
//#region src/containers/AgentArticle/AgentArticle.tsx
|
|
12
|
+
/**
|
|
13
|
+
* Article surface for an {@link Agent} — the identity/preset: its instructions (text, skills,
|
|
14
|
+
* objects, commands) plus a reset for its conversation history. Durable artifacts live on a
|
|
15
|
+
* Project; automation (subscriptions/schedule) is edited in the properties panel.
|
|
16
|
+
*/
|
|
17
|
+
var AgentArticle = ({ role, subject: agent }) => {
|
|
18
|
+
const { t } = useTranslation(meta.profile.key);
|
|
19
|
+
const db = Obj.getDatabase(agent);
|
|
20
|
+
const [instructionsSnapshot] = useObject(agent.instructions);
|
|
21
|
+
const instructions = Obj.getReactiveOrUndefined(instructionsSnapshot);
|
|
22
|
+
const spaceId = db?.spaceId;
|
|
23
|
+
const resetHistory = useSpaceCallback(spaceId, [Database.Service], Effect.fnUntraced(function* () {
|
|
24
|
+
yield* Agent.resetChatHistory(agent);
|
|
25
|
+
}), [agent]);
|
|
26
|
+
const handleResetHistory = useCallback(async () => {
|
|
27
|
+
await resetHistory();
|
|
28
|
+
}, [resetHistory]);
|
|
29
|
+
if (!db) return null;
|
|
30
|
+
return /* @__PURE__ */ jsxs(Panel.Root, {
|
|
31
|
+
role,
|
|
32
|
+
children: [/* @__PURE__ */ jsx(Panel.Toolbar, {
|
|
33
|
+
asChild: true,
|
|
34
|
+
children: /* @__PURE__ */ jsxs(Toolbar.Root, { children: [/* @__PURE__ */ jsx(Toolbar.Separator, { variant: "gap" }), /* @__PURE__ */ jsx(Toolbar.IconButton, {
|
|
35
|
+
icon: "ph--trash--regular",
|
|
36
|
+
label: t("reset-history.button"),
|
|
37
|
+
onClick: handleResetHistory
|
|
38
|
+
})] })
|
|
39
|
+
}), /* @__PURE__ */ jsx(Panel.Content, {
|
|
40
|
+
classNames: "dx-container",
|
|
41
|
+
children: instructions && /* @__PURE__ */ jsx(InstructionsEditor, {
|
|
42
|
+
db,
|
|
43
|
+
instructions
|
|
44
|
+
})
|
|
45
|
+
})]
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
AgentArticle.displayName = "AgentArticle";
|
|
49
|
+
//#endregion
|
|
50
|
+
export { AgentArticle as default };
|
|
51
|
+
|
|
52
|
+
//# sourceMappingURL=chunk-AgentArticle.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-AgentArticle.mjs","names":[],"sources":["../../src/containers/AgentArticle/AgentArticle.tsx"],"sourcesContent":["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport React, { useCallback } from 'react';\n\nimport { useSpaceCallback } from '@dxos/app-framework/ui';\nimport { type AppSurface } from '@dxos/app-toolkit/ui';\nimport { Agent } from '@dxos/assistant-toolkit';\nimport { Database, Obj } from '@dxos/echo';\nimport { useObject } from '@dxos/echo-react';\nimport { InstructionsEditor } from '@dxos/plugin-routine/components';\nimport { Panel, Toolbar, useTranslation } from '@dxos/react-ui';\n\nimport { meta } from '#meta';\n\nexport type AgentArticleProps = AppSurface.ObjectArticleProps<Agent.Agent>;\n\n/**\n * Article surface for an {@link Agent} — the identity/preset: its instructions (text, skills,\n * objects, commands) plus a reset for its conversation history. Durable artifacts live on a\n * Project; automation (subscriptions/schedule) is edited in the properties panel.\n */\nexport const AgentArticle = ({ role, subject: agent }: AgentArticleProps) => {\n const { t } = useTranslation(meta.profile.key);\n const db = Obj.getDatabase(agent);\n // Resolve reactively: a sync `.target` read never resolves on a cold/deep-link load.\n const [instructionsSnapshot] = useObject(agent.instructions);\n const instructions = Obj.getReactiveOrUndefined(instructionsSnapshot);\n\n const spaceId = db?.spaceId;\n const resetHistory = useSpaceCallback(\n spaceId,\n [Database.Service],\n Effect.fnUntraced(function* () {\n yield* Agent.resetChatHistory(agent);\n }),\n [agent],\n );\n const handleResetHistory = useCallback(async () => {\n await resetHistory();\n }, [resetHistory]);\n\n if (!db) {\n return null;\n }\n\n return (\n <Panel.Root role={role}>\n <Panel.Toolbar asChild>\n <Toolbar.Root>\n <Toolbar.Separator variant='gap' />\n <Toolbar.IconButton\n icon='ph--trash--regular'\n label={t('reset-history.button')}\n onClick={handleResetHistory}\n />\n </Toolbar.Root>\n </Panel.Toolbar>\n <Panel.Content classNames='dx-container'>\n {instructions && <InstructionsEditor db={db} instructions={instructions} />}\n </Panel.Content>\n </Panel.Root>\n );\n};\n\nAgentArticle.displayName = 'AgentArticle';\n"],"mappings":";;;;;;;;;;;;;;;;AAwBA,IAAa,gBAAgB,EAAE,MAAM,SAAS,YAA+B;CAC3E,MAAM,EAAE,MAAM,eAAe,KAAK,QAAQ,GAAG;CAC7C,MAAM,KAAK,IAAI,YAAY,KAAK;CAEhC,MAAM,CAAC,wBAAwB,UAAU,MAAM,YAAY;CAC3D,MAAM,eAAe,IAAI,uBAAuB,oBAAoB;CAEpE,MAAM,UAAU,IAAI;CACpB,MAAM,eAAe,iBACnB,SACA,CAAC,SAAS,OAAO,GACjB,OAAO,WAAW,aAAa;EAC7B,OAAO,MAAM,iBAAiB,KAAK;CACrC,CAAC,GACD,CAAC,KAAK,CACR;CACA,MAAM,qBAAqB,YAAY,YAAY;EACjD,MAAM,aAAa;CACrB,GAAG,CAAC,YAAY,CAAC;CAEjB,IAAI,CAAC,IACH,OAAO;CAGT,OACE,qBAAC,MAAM,MAAP;EAAkB;YAAlB,CACE,oBAAC,MAAM,SAAP;GAAe,SAAA;aACb,qBAAC,QAAQ,MAAT,EAAA,UAAA,CACE,oBAAC,QAAQ,WAAT,EAAmB,SAAQ,MAAO,CAAA,GAClC,oBAAC,QAAQ,YAAT;IACE,MAAK;IACL,OAAO,EAAE,sBAAsB;IAC/B,SAAS;GACV,CAAA,CACW,EAAA,CAAA;EACD,CAAA,GACf,oBAAC,MAAM,SAAP;GAAe,YAAW;aACvB,gBAAgB,oBAAC,oBAAD;IAAwB;IAAkB;GAAe,CAAA;EAC7D,CAAA,CACL;;AAEhB;AAEA,aAAa,cAAc"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Operation } from "@dxos/compute";
|
|
2
|
+
import { AgentWizardOperations } from "@dxos/assistant-toolkit";
|
|
3
|
+
import { Obj, Ref } from "@dxos/echo";
|
|
4
|
+
import { useCallback, useRef } from "react";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
import { log } from "@dxos/log";
|
|
7
|
+
import { useSpaceCallback } from "@dxos/app-framework/ui";
|
|
8
|
+
import { AgentProperties as AgentProperties$1 } from "#components";
|
|
9
|
+
//#region src/containers/AgentProperties/AgentProperties.tsx
|
|
10
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-assistant/src/containers/AgentProperties/AgentProperties.tsx";
|
|
11
|
+
var AgentProperties = ({ subject: agent }) => {
|
|
12
|
+
const spaceId = Obj.getDatabase(agent)?.spaceId;
|
|
13
|
+
const pendingSubscriptions = useRef([]);
|
|
14
|
+
const syncAutomation = useSpaceCallback(spaceId, [], () => Operation.invoke(AgentWizardOperations.SyncAutomation, {
|
|
15
|
+
agent: Ref.make(agent),
|
|
16
|
+
subscriptions: pendingSubscriptions.current
|
|
17
|
+
}), [agent]);
|
|
18
|
+
return /* @__PURE__ */ jsx(AgentProperties$1, {
|
|
19
|
+
agent,
|
|
20
|
+
onSubscriptionsChanged: useCallback((subscriptions) => {
|
|
21
|
+
pendingSubscriptions.current = subscriptions;
|
|
22
|
+
syncAutomation().catch((err) => log.catch(err, void 0, {
|
|
23
|
+
"~LogMeta": "~LogMeta",
|
|
24
|
+
F: __dxlog_file,
|
|
25
|
+
L: 39,
|
|
26
|
+
S: void 0
|
|
27
|
+
}));
|
|
28
|
+
}, [syncAutomation])
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
AgentProperties.displayName = "AgentProperties";
|
|
32
|
+
//#endregion
|
|
33
|
+
export { AgentProperties as default };
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=chunk-AgentProperties.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-AgentProperties.mjs","names":[],"sources":["../../src/containers/AgentProperties/AgentProperties.tsx"],"sourcesContent":["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback, useRef } from 'react';\n\nimport { useSpaceCallback } from '@dxos/app-framework/ui';\nimport { type AppSurface } from '@dxos/app-toolkit/ui';\nimport { Agent, AgentWizardOperations } from '@dxos/assistant-toolkit';\nimport { Operation } from '@dxos/compute';\nimport { Obj, Ref } from '@dxos/echo';\nimport { log } from '@dxos/log';\n\nimport { AgentProperties as AgentPropertiesComponent } from '#components';\n\nexport type AgentPropertiesProps = AppSurface.ObjectPropertiesProps<Agent.Agent>;\n\nexport const AgentProperties = ({ subject: agent }: AgentPropertiesProps) => {\n const spaceId = Obj.getDatabase(agent)?.spaceId;\n\n // Subscriptions live on the compiled automation, so a toggle recompiles them (per-category\n // reconcile — the schedule routine is untouched). `useSpaceCallback` takes no arguments, so the\n // next set is staged on a ref.\n const pendingSubscriptions = useRef<Ref.Ref<Obj.Unknown>[]>([]);\n const syncAutomation = useSpaceCallback(\n spaceId,\n [] as const,\n () =>\n Operation.invoke(AgentWizardOperations.SyncAutomation, {\n agent: Ref.make(agent),\n subscriptions: pendingSubscriptions.current,\n }),\n [agent],\n );\n\n const handleSubscriptionsChanged = useCallback(\n (subscriptions: Ref.Ref<Obj.Unknown>[]) => {\n pendingSubscriptions.current = subscriptions;\n syncAutomation().catch((err) => log.catch(err));\n },\n [syncAutomation],\n );\n\n return <AgentPropertiesComponent agent={agent} onSubscriptionsChanged={handleSubscriptionsChanged} />;\n};\n\nAgentProperties.displayName = 'AgentProperties';\n"],"mappings":";;;;;;;;;;AAiBA,IAAa,mBAAmB,EAAE,SAAS,YAAkC;CAC3E,MAAM,UAAU,IAAI,YAAY,KAAK,CAAC,EAAE;CAKxC,MAAM,uBAAuB,OAA+B,CAAC,CAAC;CAC9D,MAAM,iBAAiB,iBACrB,SACA,CAAC,SAEC,UAAU,OAAO,sBAAsB,gBAAgB;EACrD,OAAO,IAAI,KAAK,KAAK;EACrB,eAAe,qBAAqB;CACtC,CAAC,GACH,CAAC,KAAK,CACR;CAUA,OAAO,oBAAC,mBAAD;EAAiC;EAAO,wBARZ,aAChC,kBAA0C;GACzC,qBAAqB,UAAU;GAC/B,eAAe,CAAC,CAAC,OAAO,QAAQ,IAAI,MAAM,KAAE,KAAA,GAAA;IAAA,YAAA;IAAA,GAAA;IAAA,GAAA;IAAA,GAAA,KAAA;GAAA,CAAC,CAAC;EAChD,GACA,CAAC,cAAc,CAGsD;CAA6B,CAAA;AACtG;AAEA,gBAAgB,cAAc"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { AppActivationEvents, AppPlugin } from "@dxos/app-toolkit";
|
|
2
|
+
import { AiContext } from "@dxos/assistant";
|
|
3
|
+
import { Instructions, Skill } from "@dxos/compute";
|
|
4
|
+
import { ActivationEvent, ActivationEvents, Capability, Plugin } from "@dxos/app-framework";
|
|
5
|
+
import { Agent, Chat, McpServer, Memory } from "@dxos/assistant-toolkit";
|
|
6
|
+
import { Feed } from "@dxos/echo";
|
|
7
|
+
import { meta } from "#meta";
|
|
8
|
+
import { Sequence } from "@dxos/conductor";
|
|
9
|
+
import { DeckEvents } from "@dxos/plugin-deck";
|
|
10
|
+
import { MarkdownEvents } from "@dxos/plugin-markdown";
|
|
11
|
+
import { Text } from "@dxos/schema";
|
|
12
|
+
import { HasSubject, Message } from "@dxos/types";
|
|
13
|
+
import { AgentHydrator, AgentRuntime, AiContext as AiContext$1, AiService, AppGraphBuilder, AssistantState, AutomationTemplates, CompanionChatProvisioner, Connector, CreateObject, EdgeModelResolver, LocalModelResolver, MarkdownExtension, OperationHandler, ReactSurface, Settings, SkillDefinition, Toolkit } from "#capabilities";
|
|
14
|
+
import { translations } from "#translations";
|
|
15
|
+
import { AssistantEvents } from "#types";
|
|
16
|
+
//#region PLUGIN.mdl?raw
|
|
17
|
+
var PLUGIN_default = "---\nid: org.dxos.plugin.assistant\nname: AssistantPlugin\nversion: 0.1.0\n---\n\nAn AI assistant plugin for DXOS Composer that provides conversational AI, skill-driven automation,\nmulti-provider LLM support, and deep ECHO integration.\n\n## Extensions\n\nThe following extension dialects are used in this document.\nEach extension is defined in the Appendix or resolved via its URI.\n\n| Term | URI |\n|-------------|-------------------------------|\n| `type` | `org.dxos.mdl.type@1.0` |\n| `feat` | `org.dxos.mdl.feat@1.0` |\n| `test` | `org.dxos.mdl.test@1.0` |\n| `component` | `org.dxos.mdl.component@1.0` |\n| `op` | `org.dxos.mdl.op@1.0` |\n\n## Types\n\n```mdl\ntype ModelProvider\n literals: edge | ollama | lmstudio\n```\n\n```mdl\ntype ChatView\n literals: normal | summary | thinking | debug\n```\n\n```mdl\ntype ModelDefaults\n fields:\n edge?: string\n ollama?: string\n lmstudio?: string\n```\n\n```mdl\ntype Settings\n fields:\n customPrompts?: boolean\n chatView?: ChatView\n modelProvider?: ModelProvider\n modelDefaults?: ModelDefaults\n tracePanelDebug?: boolean\n```\n\n```mdl\ntype Chat\n fields:\n id: string\n name?: string\n messages: Message[]\n```\n\n```mdl\ntype Message\n fields:\n id: string\n role: user | assistant | system\n content: string\n timestamp: string\n```\n\n```mdl\ntype SkillForm\n fields:\n key: string\n name: string\n description?: string\n```\n\n## Components\n\n```mdl\ncomponent ChatPanel\n desc: Main conversational interface for interacting with the AI assistant.\n props:\n chat: Chat\n companionTo?: Obj\n state:\n messages: Message[]\n pending: boolean\n view: ChatView\n slots:\n toolbar?: ReactNode\n empty?: ReactNode\n actions:\n sendMessage(content: string)\n clearHistory()\n switchView(view: ChatView)\n emits:\n onMessage(message: Message)\n layout: |\n ┌─────────────────────────┐\n │ [toolbar slot] │\n ├─────────────────────────┤\n │ │\n │ message list │\n │ [empty slot] │\n │ │\n ├─────────────────────────┤\n │ input + send │\n └─────────────────────────┘\n```\n\n```mdl\ncomponent TracePanel\n desc: Displays the execution trace of an AI operation as a commit graph or raw JSON.\n props:\n chat: Chat\n state:\n debug: boolean\n actions:\n toggleDebug()\n layout: |\n ┌─────────────────────────┐\n │ trace / span tree │\n └─────────────────────────┘\n```\n\n```mdl\ncomponent AssistantSettings\n desc: Settings panel for configuring the AI model provider, model defaults, and chat view.\n props:\n settings: Settings\n emits:\n onChange(settings: Settings)\n```\n\n## Operations\n\n```mdl\nop CreateChat\n desc: Creates a new Chat object and optionally adds it to the active space.\n input:\n db: Database\n name?: string\n addToSpace?: boolean\n output: Chat\n effects: [echo:write]\n```\n\n```mdl\nop UpdateChatName\n desc: Automatically derives and updates the name of a chat using the AI service.\n input:\n chat: Chat\n output: void\n effects: [echo:write, ai:infer]\n```\n\n```mdl\nop SetCurrentChat\n desc: Associates a primary object with a specific companion chat in session state.\n input:\n companionTo: Obj\n chat?: Chat\n output: void\n```\n\n```mdl\nop RunPromptInNewChat\n desc: Creates a new chat, binds context objects and skills, then runs a prompt.\n note: |\n Operation DEFINED in plugin-routine (RoutineOperation.RunPromptInNewChat)\n so Routine UI and downstream plugins can dispatch it without depending on\n plugin-assistant. The HANDLER (chat creation + AiContext binding) is contributed\n here; see operations/run-prompt-in-new-chat.ts.\n```\n\n```mdl\nop EnsureCompanionChat\n desc: Returns the companion chat for an object, creating one if none exists.\n input:\n db: Database\n companionTo: Obj\n output:\n chat: Chat\n persisted: boolean\n effects: [echo:write]\n```\n\n```mdl\nop OnCreateSpace\n desc: Provisions initial assistant objects when a new space is created.\n input:\n space: Space\n rootCollection: Collection\n output: void\n effects: [echo:write]\n```\n\n```mdl\nop ToggleTracePanelDebug\n desc: Toggles the trace panel between commit-graph and raw JSON debug view.\n input:\n state?: boolean\n output: boolean\n```\n\n## Features\n\n```mdl\nfeat F-1: AI Chat\n\n req F-1.1: User can create a new Chat object in any space.\n req F-1.2: User can type a message and receive a streamed AI response.\n req F-1.3: Chat history is persisted to ECHO and replicated to all peers.\n req F-1.4:\n when: chat has enough messages\n then: chat name is automatically derived from the conversation\n```\n\n```mdl\nfeat F-2: Companion Chat\n\n req F-2.1:\n when: user opens an object that supports companions\n then: a companion chat panel is shown alongside the object\n req F-2.2:\n when: companion chat does not yet exist\n then: op:EnsureCompanionChat creates one and optionally persists it\n req F-2.3:\n when: user sends a message in the companion chat\n then: the primary object is automatically bound as AI context\n```\n\n```mdl\nfeat F-3: Skill System\n\n req F-3.1: Skills define named AI configurations (instructions, tools, model).\n req F-3.2: Built-in skills include: Assistant, Browser, Database, WebSearch, Discord, Linear, Agent, Planning, Memory, Automation, SkillManager, AgentWizard.\n req F-3.3:\n when: user selects a skill for a chat\n then: chat uses that skill's instructions and tool set\n req F-3.4: op:RunPromptInNewChat accepts skill keys to bind before sending the prompt.\n```\n\n```mdl\nfeat F-4: Multi-Provider LLM\n\n req F-4.1: Supported providers: DXOS Edge (remote), Ollama (local), LM Studio (local).\n req F-4.2: User can configure the active provider and per-provider default model in Settings.\n req F-4.3:\n when: the active provider is unavailable\n then: AiService falls back to the next registered resolver\n```\n\n```mdl\nfeat F-5: Tool Execution\n\n req F-5.1: The assistant skill exposes LayoutOperation.Open and NavigationOperation.ResolveNavigationTargets\n as tools. Both are owned elsewhere — the assistant contributes no navigation operation of its\n own, so an agent resolving an object to a path uses the same entry point the UI does.\n req F-5.2: Web search tool is registered via WebSearchToolkit.\n req F-5.3:\n when: AI invokes a tool during a conversation\n then: operation is dispatched via the compute runtime and result returned to the model\n```\n\n```mdl\nfeat F-6: ECHO Integration\n\n req F-6.1: Chat, CompanionTo, Skill, Feed, Message, Memory, Plan, Routine, Agent, McpServer, and Sequence schemas are registered with ECHO.\n req F-6.2:\n when: a new space is created\n then: op:OnCreateSpace provisions default assistant objects\n req F-6.3: AiContext.Binding schema supports binding ECHO objects as named context variables in a conversation.\n```\n\n```mdl\nfeat F-7: Execution Trace\n\n req F-7.1: Every AI operation produces a structured span tree captured in the TracePanel.\n req F-7.2: User can toggle between commit-graph and raw JSON views via op:ToggleTracePanelDebug.\n```\n\n## Acceptance\n\n```mdl\ntest T-1: Create chat and send message\n given: a space is open and the assistant plugin is active\n when: user creates a new Chat and sends \"Hello\"\n then:\n - Chat object appears in the space\n - AI response is appended to Chat.messages\n - Chat is persisted to ECHO\n```\n\n```mdl\ntest T-2: Companion chat provisioning\n given: user opens a document with no companion chat\n when: companion panel initializes\n then:\n - op:EnsureCompanionChat creates a new Chat\n - persisted === false until user sends a message\n```\n\n```mdl\ntest T-3: Skill binding\n given: a chat exists\n when: user binds the \"WebSearch\" skill key\n then:\n - skill instructions are applied to the next AI request\n - web search tool is available in the tool list\n```\n\n```mdl\ntest T-4: Model provider switch\n given: assistant settings are open\n when: user switches provider from edge to ollama\n then:\n - Settings.modelProvider === ollama\n - next AI request is routed to the Ollama resolver\n```\n\n```mdl\ntest T-5: Run prompt in background\n given: a database and a prompt string are available\n when: op:RunPromptInNewChat is called with background: true\n then:\n - a new Chat is created and returned\n - the prompt runs via compute runtime without opening the UI\n```\n\n```mdl\ntest T-7: Trace panel debug toggle\n given: trace panel is showing commit-graph view\n when: op:ToggleTracePanelDebug is invoked with no argument\n then:\n - tracePanelDebug setting flips to true\n - trace panel switches to raw JSON view\n```\n\n---\n\n## Appendix: Extension Definitions\n\nExtension block types used in this document are defined below using\nthe core `ext` primitive — the only construct the base language provides.\n\n```mdl\next type\n uri: org.dxos.mdl.type@1.0\n desc: A named data structure with typed fields and optional literals.\n fields:\n desc?: Prose\n fields?: FieldMap\n literals?: UnionList\n extends?: TypeRef[]\n```\n\n```mdl\next feat\n uri: org.dxos.mdl.feat@1.0\n desc: A named feature grouping one or more requirements.\n fields:\n desc?: Prose\n req: RequirementList\n nesting: self\n```\n\n```mdl\next test\n uri: org.dxos.mdl.test@1.0\n desc: An acceptance scenario expressed as given / when / then steps.\n fields:\n given?: Step | Step[]\n when?: Step | Step[]\n then: Step | Step[]\n tags?: TagList\n```\n\n```mdl\next component\n uri: org.dxos.mdl.component@1.0\n desc: A UI component with props, internal state, slots, actions, and events.\n fields:\n desc?: Prose\n props?: FieldMap\n state?: FieldMap\n slots?: FieldMap\n actions?: ActionMap\n emits?: EventMap\n layout?: CodeBlock\n```\n\n```mdl\next op\n uri: org.dxos.mdl.op@1.0\n desc: |\n A named operation with typed inputs, outputs, and declared errors.\n Pure ops have no effects or requires. Effectful ops declare both.\n fields:\n desc?: Prose\n input?: FieldMap\n output?: TypeExpr\n errors?: ErrorMap\n effects?: EffectList\n requires?: ServiceList\n note?: Prose\n```\n";
|
|
18
|
+
//#endregion
|
|
19
|
+
//#region src/AssistantPlugin.ts
|
|
20
|
+
var StateReady = AppActivationEvents.createStateEvent(meta.profile.key);
|
|
21
|
+
var AssistantPlugin = Plugin.define(meta).pipe(AppPlugin.addAppGraphModule({ activate: AppGraphBuilder }), AppPlugin.addSkillDefinitionModule({ activate: SkillDefinition }), AppPlugin.addCreateObjectModule({ activate: CreateObject }), AppPlugin.addOperationHandlerModule({ activate: OperationHandler }), AppPlugin.addSchemaModule({ schema: [
|
|
22
|
+
Chat.Chat,
|
|
23
|
+
Chat.CompanionTo,
|
|
24
|
+
Skill.Skill,
|
|
25
|
+
AiContext.Binding,
|
|
26
|
+
Feed.Feed,
|
|
27
|
+
HasSubject.HasSubject,
|
|
28
|
+
Message.Message,
|
|
29
|
+
Instructions.Instructions,
|
|
30
|
+
Agent.Agent,
|
|
31
|
+
McpServer.McpServer,
|
|
32
|
+
Sequence.Sequence,
|
|
33
|
+
Memory.Memory,
|
|
34
|
+
Text.Text
|
|
35
|
+
] }), AppPlugin.addSettingsModule({ activate: Settings }), AppPlugin.addSurfaceModule({
|
|
36
|
+
activate: ReactSurface,
|
|
37
|
+
firesBeforeActivation: [AppActivationEvents.SetupArtifactDefinition]
|
|
38
|
+
}), AppPlugin.addTranslationsModule({ translations }), Plugin.addModule({
|
|
39
|
+
id: "automation-templates",
|
|
40
|
+
activatesOn: AppActivationEvents.SetupSchema,
|
|
41
|
+
activate: AutomationTemplates
|
|
42
|
+
}), Plugin.addModule({
|
|
43
|
+
id: "markdown",
|
|
44
|
+
activatesOn: MarkdownEvents.SetupExtensions,
|
|
45
|
+
activate: MarkdownExtension
|
|
46
|
+
}), Plugin.addModule({
|
|
47
|
+
activatesOn: AppActivationEvents.SetupSettings,
|
|
48
|
+
firesAfterActivation: [StateReady],
|
|
49
|
+
activate: AssistantState
|
|
50
|
+
}), Plugin.addModule({
|
|
51
|
+
activatesOn: AssistantEvents.SetupAiServiceProviders,
|
|
52
|
+
activate: EdgeModelResolver
|
|
53
|
+
}), Plugin.addModule({
|
|
54
|
+
activatesOn: AssistantEvents.SetupAiServiceProviders,
|
|
55
|
+
activate: LocalModelResolver
|
|
56
|
+
}), Plugin.addModule((options) => ({
|
|
57
|
+
id: Capability.getModuleTag(AiService),
|
|
58
|
+
firesBeforeActivation: [AssistantEvents.SetupAiServiceProviders],
|
|
59
|
+
activatesOn: ActivationEvents.SetupProcessManager,
|
|
60
|
+
activate: () => AiService(options)
|
|
61
|
+
})), Plugin.addModule({
|
|
62
|
+
activatesOn: ActivationEvents.SetupProcessManager,
|
|
63
|
+
activate: AiContext$1
|
|
64
|
+
}), Plugin.addModule({
|
|
65
|
+
activatesOn: ActivationEvents.SetupProcessManager,
|
|
66
|
+
activate: AgentRuntime
|
|
67
|
+
})).pipe(Plugin.addModule({
|
|
68
|
+
activatesOn: ActivationEvents.Startup,
|
|
69
|
+
activate: Toolkit
|
|
70
|
+
}), Plugin.addModule({
|
|
71
|
+
activatesOn: ActivationEvents.ProcessManagerReady,
|
|
72
|
+
activate: AgentHydrator
|
|
73
|
+
}), Plugin.addModule({
|
|
74
|
+
activatesOn: ActivationEvent.allOf(ActivationEvents.ProcessManagerReady, AppActivationEvents.AppGraphReady, DeckEvents.StateReady, StateReady),
|
|
75
|
+
activate: CompanionChatProvisioner
|
|
76
|
+
}), Plugin.addModule({
|
|
77
|
+
activatesOn: AppActivationEvents.SetupConnectors,
|
|
78
|
+
activate: Connector
|
|
79
|
+
}), AppPlugin.addPluginAssetModule({ asset: {
|
|
80
|
+
pluginId: meta.profile.key,
|
|
81
|
+
path: "PLUGIN.mdl",
|
|
82
|
+
content: PLUGIN_default,
|
|
83
|
+
mimeType: "application/x-mdl"
|
|
84
|
+
} }), Plugin.make);
|
|
85
|
+
//#endregion
|
|
86
|
+
export { AssistantPlugin as t };
|
|
87
|
+
|
|
88
|
+
//# sourceMappingURL=chunk-AssistantPlugin.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-AssistantPlugin.mjs","names":[],"sources":["../../src/AssistantPlugin.ts"],"sourcesContent":["//\n// Copyright 2023 DXOS.org\n//\n\nimport { ActivationEvent, ActivationEvents, Capability, Plugin } from '@dxos/app-framework';\nimport { AppActivationEvents, AppPlugin } from '@dxos/app-toolkit';\nimport { AiContext } from '@dxos/assistant';\nimport { Agent, Chat, McpServer, Memory } from '@dxos/assistant-toolkit';\nimport { Instructions, Skill } from '@dxos/compute';\nimport { Sequence } from '@dxos/conductor';\nimport { Feed } from '@dxos/echo';\nimport { DeckEvents } from '@dxos/plugin-deck';\nimport { MarkdownEvents } from '@dxos/plugin-markdown';\nimport { Text } from '@dxos/schema';\nimport { HasSubject, Message } from '@dxos/types';\n\nimport {\n AgentHydrator,\n AgentRuntime,\n AiContext as AiContextCapability,\n AiService,\n AppGraphBuilder,\n AssistantState,\n AutomationTemplates,\n CompanionChatProvisioner,\n Connector,\n CreateObject,\n EdgeModelResolver,\n LocalModelResolver,\n MarkdownExtension,\n OperationHandler,\n ReactSurface,\n Settings,\n SkillDefinition,\n Toolkit,\n} from '#capabilities';\nimport { meta } from '#meta';\nimport { translations } from '#translations';\nimport { AssistantEvents, type AssistantPluginOptions } from '#types';\n\n// eslint-disable-next-line import/no-relative-packages\nimport pluginSpec from '../PLUGIN.mdl?raw';\n\nconst StateReady = AppActivationEvents.createStateEvent(meta.profile.key);\n\nexport const AssistantPlugin = Plugin.define<AssistantPluginOptions | void>(meta)\n .pipe(\n AppPlugin.addAppGraphModule({ activate: AppGraphBuilder }),\n AppPlugin.addSkillDefinitionModule({ activate: SkillDefinition }),\n AppPlugin.addCreateObjectModule({ activate: CreateObject }),\n AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),\n AppPlugin.addSchemaModule({\n schema: [\n Chat.Chat,\n Chat.CompanionTo,\n Skill.Skill,\n AiContext.Binding,\n Feed.Feed,\n HasSubject.HasSubject,\n Message.Message,\n Instructions.Instructions,\n Agent.Agent,\n McpServer.McpServer,\n Sequence.Sequence,\n Memory.Memory,\n Text.Text,\n ],\n }),\n AppPlugin.addSettingsModule({ activate: Settings }),\n AppPlugin.addSurfaceModule({\n activate: ReactSurface,\n firesBeforeActivation: [AppActivationEvents.SetupArtifactDefinition],\n }),\n AppPlugin.addTranslationsModule({ translations }),\n Plugin.addModule({\n id: 'automation-templates',\n activatesOn: AppActivationEvents.SetupSchema,\n activate: AutomationTemplates,\n }),\n Plugin.addModule({\n id: 'markdown',\n activatesOn: MarkdownEvents.SetupExtensions,\n activate: MarkdownExtension,\n }),\n Plugin.addModule({\n // TODO(wittjosiah): Does not integrate with settings store.\n // Should this be a different event?\n // Should settings store be renamed to be more generic?\n activatesOn: AppActivationEvents.SetupSettings,\n firesAfterActivation: [StateReady],\n activate: AssistantState,\n }),\n Plugin.addModule({\n activatesOn: AssistantEvents.SetupAiServiceProviders,\n activate: EdgeModelResolver,\n }),\n Plugin.addModule({\n activatesOn: AssistantEvents.SetupAiServiceProviders,\n activate: LocalModelResolver,\n }),\n Plugin.addModule((options) => ({\n id: Capability.getModuleTag(AiService),\n firesBeforeActivation: [AssistantEvents.SetupAiServiceProviders],\n // TODO(dmaretskyi): This should activate lazily when the AI chat is used.\n activatesOn: ActivationEvents.SetupProcessManager,\n activate: () => AiService(options),\n })),\n Plugin.addModule({\n // Process-affinity `Harness.HarnessService` LayerSpec — needed so operations\n // dispatched as their own processes (e.g. via `Operation.invoke` from\n // `AiSession.createRequest` or `TriggerDispatcher`) can resolve\n // conversation-scoped services without an inline `Effect.provideService`\n // upstream. See `capabilities/ai-context.ts` for the rationale.\n activatesOn: ActivationEvents.SetupProcessManager,\n activate: AiContextCapability,\n }),\n Plugin.addModule({\n activatesOn: ActivationEvents.SetupProcessManager,\n activate: AgentRuntime,\n }),\n )\n .pipe(\n Plugin.addModule({\n // TODO(wittjosiah): Use a different event.\n activatesOn: ActivationEvents.Startup,\n activate: Toolkit,\n }),\n Plugin.addModule({\n activatesOn: ActivationEvents.ProcessManagerReady,\n activate: AgentHydrator,\n }),\n Plugin.addModule({\n activatesOn: ActivationEvent.allOf(\n ActivationEvents.ProcessManagerReady,\n AppActivationEvents.AppGraphReady,\n DeckEvents.StateReady,\n StateReady,\n ),\n activate: CompanionChatProvisioner,\n }),\n Plugin.addModule({\n activatesOn: AppActivationEvents.SetupConnectors,\n activate: Connector,\n }),\n AppPlugin.addPluginAssetModule({\n asset: { pluginId: meta.profile.key, path: 'PLUGIN.mdl', content: pluginSpec, mimeType: 'application/x-mdl' },\n }),\n Plugin.make,\n );\n\nexport default AssistantPlugin;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AA2CA,IAAM,aAAa,oBAAoB,iBAAiB,KAAK,QAAQ,GAAG;AAExE,IAAa,kBAAkB,OAAO,OAAsC,IAAI,CAAA,CAC7E,KACC,UAAU,kBAAkB,EAAE,UAAU,gBAAgB,CAAC,GACzD,UAAU,yBAAyB,EAAE,UAAU,gBAAgB,CAAC,GAChE,UAAU,sBAAsB,EAAE,UAAU,aAAa,CAAC,GAC1D,UAAU,0BAA0B,EAAE,UAAU,iBAAiB,CAAC,GAClE,UAAU,gBAAgB,EACxB,QAAQ;CACN,KAAK;CACL,KAAK;CACL,MAAM;CACN,UAAU;CACV,KAAK;CACL,WAAW;CACX,QAAQ;CACR,aAAa;CACb,MAAM;CACN,UAAU;CACV,SAAS;CACT,OAAO;CACP,KAAK;AACP,EACF,CAAC,GACD,UAAU,kBAAkB,EAAE,UAAU,SAAS,CAAC,GAClD,UAAU,iBAAiB;CACzB,UAAU;CACV,uBAAuB,CAAC,oBAAoB,uBAAuB;AACrE,CAAC,GACD,UAAU,sBAAsB,EAAE,aAAa,CAAC,GAChD,OAAO,UAAU;CACf,IAAI;CACJ,aAAa,oBAAoB;CACjC,UAAU;AACZ,CAAC,GACD,OAAO,UAAU;CACf,IAAI;CACJ,aAAa,eAAe;CAC5B,UAAU;AACZ,CAAC,GACD,OAAO,UAAU;CAIf,aAAa,oBAAoB;CACjC,sBAAsB,CAAC,UAAU;CACjC,UAAU;AACZ,CAAC,GACD,OAAO,UAAU;CACf,aAAa,gBAAgB;CAC7B,UAAU;AACZ,CAAC,GACD,OAAO,UAAU;CACf,aAAa,gBAAgB;CAC7B,UAAU;AACZ,CAAC,GACD,OAAO,WAAW,aAAa;CAC7B,IAAI,WAAW,aAAa,SAAS;CACrC,uBAAuB,CAAC,gBAAgB,uBAAuB;CAE/D,aAAa,iBAAiB;CAC9B,gBAAgB,UAAU,OAAO;AACnC,EAAE,GACF,OAAO,UAAU;CAMf,aAAa,iBAAiB;CAC9B,UAAU;AACZ,CAAC,GACD,OAAO,UAAU;CACf,aAAa,iBAAiB;CAC9B,UAAU;AACZ,CAAC,CACH,CAAA,CACC,KACC,OAAO,UAAU;CAEf,aAAa,iBAAiB;CAC9B,UAAU;AACZ,CAAC,GACD,OAAO,UAAU;CACf,aAAa,iBAAiB;CAC9B,UAAU;AACZ,CAAC,GACD,OAAO,UAAU;CACf,aAAa,gBAAgB,MAC3B,iBAAiB,qBACjB,oBAAoB,eACpB,WAAW,YACX,UACF;CACA,UAAU;AACZ,CAAC,GACD,OAAO,UAAU;CACf,aAAa,oBAAoB;CACjC,UAAU;AACZ,CAAC,GACD,UAAU,qBAAqB,EAC7B,OAAO;CAAE,UAAU,KAAK,QAAQ;CAAK,MAAM;CAAc,SAAS;CAAY,UAAU;AAAoB,EAC9G,CAAC,GACD,OAAO,IACT"}
|