@dxos/plugin-assistant 0.9.1-main.c7dcc2e112 → 0.10.0
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 +18 -24
- package/dist/lib/neutral/{AgentArticle-2BEPWUMN.mjs → AgentArticle-GV6EEW3I.mjs} +1 -2
- package/dist/lib/neutral/AgentArticle-GV6EEW3I.mjs.map +7 -0
- package/dist/lib/neutral/AssistantPlugin.mjs +1 -1
- package/dist/lib/neutral/AssistantPlugin.node.mjs +6 -6
- package/dist/lib/neutral/AssistantPlugin.node.mjs.map +3 -3
- package/dist/lib/neutral/AssistantPlugin.workerd.mjs +7 -34
- package/dist/lib/neutral/AssistantPlugin.workerd.mjs.map +4 -4
- package/dist/lib/neutral/AssistantSettings-3N5M5VCN.mjs +302 -0
- package/dist/lib/neutral/AssistantSettings-3N5M5VCN.mjs.map +7 -0
- package/dist/lib/neutral/{ChatArticle-KT46SUFU.mjs → ChatArticle-OO7GGEFW.mjs} +2 -2
- package/dist/lib/neutral/{ChatCompanion-YHC43RYQ.mjs → ChatCompanion-GIFJRY6I.mjs} +27 -27
- package/dist/lib/neutral/ChatCompanion-GIFJRY6I.mjs.map +7 -0
- package/dist/lib/neutral/{ChatDialog-YZDZLIQA.mjs → ChatDialog-5MXN4MXS.mjs} +5 -5
- package/dist/lib/neutral/ChatDialog-5MXN4MXS.mjs.map +7 -0
- package/dist/lib/neutral/IntegrationPrompt-2HJQFYJE.mjs +72 -0
- package/dist/lib/neutral/IntegrationPrompt-2HJQFYJE.mjs.map +7 -0
- package/dist/lib/neutral/{SpaceHomePrompt-HTWQKLGI.mjs → SpaceHomePrompt-ISAB76LD.mjs} +8 -7
- package/dist/lib/neutral/SpaceHomePrompt-ISAB76LD.mjs.map +7 -0
- package/dist/lib/neutral/SpaceHomeSuggestions-IDH77QQR.mjs +63 -0
- package/dist/lib/neutral/SpaceHomeSuggestions-IDH77QQR.mjs.map +7 -0
- package/dist/lib/neutral/{TracePanel-T552TAOH.mjs → TracePanel-JKNWADJ4.mjs} +2 -2
- package/dist/lib/neutral/{TriggerStatus-RBOHHDOK.mjs → TriggerStatus-FURRBHYA.mjs} +7 -5
- package/dist/lib/neutral/TriggerStatus-FURRBHYA.mjs.map +7 -0
- package/dist/lib/neutral/{agent-hydrator-PJBYVMBW.mjs → agent-hydrator-OBO3RHLO.mjs} +3 -4
- package/dist/lib/neutral/agent-hydrator-OBO3RHLO.mjs.map +7 -0
- package/dist/lib/neutral/{agent-service-WV5CSHAG.mjs → agent-service-XFJ4VQMT.mjs} +7 -9
- package/dist/lib/neutral/agent-service-XFJ4VQMT.mjs.map +7 -0
- package/dist/lib/neutral/ai-context-LIKJYMIN.mjs +14 -0
- package/dist/lib/neutral/ai-context-LIKJYMIN.mjs.map +7 -0
- package/dist/lib/neutral/{ai-service-AADUIKBY.mjs → ai-service-DM6YXWUC.mjs} +9 -5
- package/dist/lib/neutral/ai-service-DM6YXWUC.mjs.map +7 -0
- package/dist/lib/neutral/{app-graph-builder-PTSRZXRN.mjs → app-graph-builder-OPVOEQY7.mjs} +36 -19
- package/dist/lib/neutral/app-graph-builder-OPVOEQY7.mjs.map +7 -0
- package/dist/lib/neutral/automation-templates-MADJLXGJ.mjs +97 -0
- package/dist/lib/neutral/automation-templates-MADJLXGJ.mjs.map +7 -0
- package/dist/lib/neutral/capabilities/index.mjs +20 -18
- package/dist/lib/neutral/capabilities/index.mjs.map +3 -3
- package/dist/lib/neutral/{chunk-KLYLW4WH.mjs → chunk-5IHQ52KJ.mjs} +1 -1
- package/dist/lib/neutral/chunk-5IHQ52KJ.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-5KB2WRI2.mjs → chunk-6Q4OBGIK.mjs} +83 -55
- package/dist/lib/neutral/chunk-6Q4OBGIK.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-54W7N6M6.mjs → chunk-BXI2R4OO.mjs} +49 -84
- package/dist/lib/neutral/chunk-BXI2R4OO.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-5H6UJHLF.mjs → chunk-CMPLPDYE.mjs} +12 -12
- package/dist/lib/neutral/chunk-CMPLPDYE.mjs.map +7 -0
- package/dist/lib/neutral/chunk-GPHT3HYS.mjs +8 -0
- package/dist/lib/neutral/{chunk-7FQT4XMI.mjs.map → chunk-GPHT3HYS.mjs.map} +2 -2
- package/dist/lib/neutral/{markdown-extension-IJ5RQMQ4.mjs → chunk-HKLSFB5I.mjs} +2 -38
- package/dist/lib/neutral/chunk-HKLSFB5I.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-ZNDQVYUN.mjs → chunk-L7AR4VTA.mjs} +3 -3
- package/dist/lib/neutral/{chunk-ZNDQVYUN.mjs.map → chunk-L7AR4VTA.mjs.map} +1 -1
- package/dist/lib/neutral/chunk-LS72HWMM.mjs +42 -0
- package/dist/lib/neutral/chunk-LS72HWMM.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-35EL65O4.mjs → chunk-OZWZGIV2.mjs} +4 -2
- package/dist/lib/neutral/{chunk-35EL65O4.mjs.map → chunk-OZWZGIV2.mjs.map} +3 -3
- package/dist/lib/neutral/{toolkit-GVWXPDLJ.mjs → chunk-QOKLFHUS.mjs} +3 -4
- package/dist/lib/neutral/{toolkit-GVWXPDLJ.mjs.map → chunk-QOKLFHUS.mjs.map} +1 -1
- package/dist/lib/neutral/{chunk-5LKNH7FD.mjs → chunk-SCTHQVIJ.mjs} +8 -5
- package/dist/lib/neutral/{chunk-5LKNH7FD.mjs.map → chunk-SCTHQVIJ.mjs.map} +3 -3
- package/dist/lib/neutral/chunk-U4LTLBAX.mjs +56 -0
- package/dist/lib/neutral/chunk-U4LTLBAX.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-H77JTXAN.mjs → chunk-UPKFUZ6V.mjs} +7 -10
- package/dist/lib/neutral/chunk-UPKFUZ6V.mjs.map +7 -0
- package/dist/lib/neutral/{operation-handler-SF36MOB5.mjs → chunk-V2Y4XE3O.mjs} +3 -4
- package/dist/lib/neutral/{operation-handler-SF36MOB5.mjs.map → chunk-V2Y4XE3O.mjs.map} +1 -1
- package/dist/lib/neutral/chunk-VTK5R4H3.mjs +9 -0
- package/dist/lib/neutral/chunk-VTK5R4H3.mjs.map +7 -0
- package/dist/lib/neutral/chunk-XVGEJWJX.mjs +133 -0
- package/dist/lib/neutral/chunk-XVGEJWJX.mjs.map +7 -0
- package/dist/lib/neutral/{companion-chat-provisioner-YZZ73P6E.mjs → companion-chat-provisioner-IQV5VIVE.mjs} +14 -8
- package/dist/lib/neutral/companion-chat-provisioner-IQV5VIVE.mjs.map +7 -0
- package/dist/lib/neutral/components/index.mjs +509 -579
- package/dist/lib/neutral/components/index.mjs.map +4 -4
- package/dist/lib/neutral/{integration-provider-RBD3AFJU.mjs → connector-ITLLTBPZ.mjs} +13 -14
- package/dist/lib/neutral/connector-ITLLTBPZ.mjs.map +7 -0
- package/dist/lib/neutral/containers/index.mjs +12 -14
- package/dist/lib/neutral/containers/index.mjs.map +3 -3
- package/dist/lib/neutral/{create-chat-Z3FNA6OJ.mjs → create-chat-YGVZZYGP.mjs} +18 -16
- package/dist/lib/neutral/create-chat-YGVZZYGP.mjs.map +7 -0
- package/dist/lib/neutral/{create-object-BJUDDKQQ.mjs → create-object-5PAEJ6KM.mjs} +11 -27
- package/dist/lib/neutral/create-object-5PAEJ6KM.mjs.map +7 -0
- package/dist/lib/neutral/{edge-model-resolver-BBVOJBGJ.mjs → edge-model-resolver-WDJWDZTT.mjs} +2 -2
- package/dist/lib/neutral/execution-graph/index.mjs +182 -64
- package/dist/lib/neutral/execution-graph/index.mjs.map +3 -3
- package/dist/lib/neutral/extensions/index.mjs +8 -0
- package/dist/lib/neutral/{fork-chat-UYXYT6BT.mjs → fork-chat-RMAAYYQF.mjs} +15 -18
- package/dist/lib/neutral/fork-chat-RMAAYYQF.mjs.map +7 -0
- package/dist/lib/neutral/generate-home-suggestions-6MM2XWPV.mjs +93 -0
- package/dist/lib/neutral/generate-home-suggestions-6MM2XWPV.mjs.map +7 -0
- package/dist/lib/neutral/hooks/index.mjs +195 -105
- package/dist/lib/neutral/hooks/index.mjs.map +4 -4
- package/dist/lib/neutral/index.mjs +14 -10
- package/dist/lib/neutral/markdown-extension-R4TKDTIF.mjs +41 -0
- package/dist/lib/neutral/markdown-extension-R4TKDTIF.mjs.map +7 -0
- package/dist/lib/neutral/meta.json +1 -1
- package/dist/lib/neutral/meta.mjs +1 -1
- package/dist/lib/neutral/navigation-resolver-PYGP2DAW.mjs +18 -0
- package/dist/lib/neutral/navigation-resolver-PYGP2DAW.mjs.map +7 -0
- package/dist/lib/neutral/operation-handler-2LEN45GP.mjs +8 -0
- package/dist/lib/neutral/operation-handler-2LEN45GP.mjs.map +7 -0
- package/dist/lib/neutral/operations/index.mjs +1 -1
- package/dist/lib/neutral/plugin.mjs +2 -2
- package/dist/lib/neutral/plugin.workerd.mjs +13 -0
- package/dist/lib/neutral/plugin.workerd.mjs.map +7 -0
- package/dist/lib/neutral/{react-surface-ES7UHZ65.mjs → react-surface-HEJEK44F.mjs} +20 -35
- package/dist/lib/neutral/react-surface-HEJEK44F.mjs.map +7 -0
- package/dist/lib/neutral/resolve-navigation-targets-PBQ3OLUE.mjs +28 -0
- package/dist/lib/neutral/resolve-navigation-targets-PBQ3OLUE.mjs.map +7 -0
- package/dist/lib/neutral/{run-prompt-in-new-chat-NIAGCKQV.mjs → run-prompt-in-new-chat-RNUJE2FM.mjs} +28 -31
- package/dist/lib/neutral/run-prompt-in-new-chat-RNUJE2FM.mjs.map +7 -0
- package/dist/lib/neutral/skill-definition-553MQRTR.mjs +8 -0
- package/dist/lib/neutral/skill-definition-553MQRTR.mjs.map +7 -0
- package/dist/lib/neutral/skills/index.mjs +8 -0
- package/dist/lib/neutral/skills/index.mjs.map +7 -0
- package/dist/lib/neutral/{state-XO2UYSSG.mjs → state-4LGAKSSD.mjs} +8 -2
- package/dist/lib/neutral/{state-XO2UYSSG.mjs.map → state-4LGAKSSD.mjs.map} +3 -3
- package/dist/lib/neutral/testing.mjs +1 -1
- package/dist/lib/neutral/toolkit-ETWLG5NT.mjs +8 -0
- package/dist/lib/neutral/toolkit-ETWLG5NT.mjs.map +7 -0
- package/dist/lib/neutral/translations.mjs +64 -33
- package/dist/lib/neutral/translations.mjs.map +3 -3
- package/dist/lib/neutral/types/index.mjs +5 -1
- package/dist/lib/neutral/{update-chat-name-Y7JWIP64.mjs → update-chat-name-IJJELRR6.mjs} +3 -3
- package/dist/lib/neutral/{update-chat-name-Y7JWIP64.mjs.map → update-chat-name-IJJELRR6.mjs.map} +2 -2
- package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
- package/dist/types/src/AssistantPlugin.workerd.d.ts.map +1 -1
- package/dist/types/src/capabilities/agent-hydrator.d.ts +1 -1
- package/dist/types/src/capabilities/agent-service.d.ts +1 -2
- package/dist/types/src/capabilities/agent-service.d.ts.map +1 -1
- package/dist/types/src/capabilities/ai-context.d.ts +1 -2
- package/dist/types/src/capabilities/ai-context.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts +1 -3
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/automation-templates.d.ts +1 -2
- package/dist/types/src/capabilities/automation-templates.d.ts.map +1 -1
- package/dist/types/src/capabilities/companion-chat-provisioner.d.ts +1 -1
- package/dist/types/src/capabilities/companion-chat-provisioner.d.ts.map +1 -1
- package/dist/types/src/capabilities/{integration-provider.d.ts → connector.d.ts} +2 -2
- package/dist/types/src/capabilities/connector.d.ts.map +1 -0
- package/dist/types/src/capabilities/create-object.d.ts +1 -27
- package/dist/types/src/capabilities/create-object.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +3 -2
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/markdown-extension.d.ts +1 -1
- package/dist/types/src/capabilities/migrations.d.ts +1 -2
- package/dist/types/src/capabilities/migrations.d.ts.map +1 -1
- package/dist/types/src/capabilities/navigation-resolver.d.ts +5 -0
- package/dist/types/src/capabilities/navigation-resolver.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface.d.ts +1 -1
- package/dist/types/src/capabilities/settings.d.ts +1 -2
- package/dist/types/src/capabilities/settings.d.ts.map +1 -1
- package/dist/types/src/capabilities/skill-definition.d.ts +5 -0
- package/dist/types/src/capabilities/skill-definition.d.ts.map +1 -0
- package/dist/types/src/capabilities/state.d.ts +1 -17
- package/dist/types/src/capabilities/state.d.ts.map +1 -1
- package/dist/types/src/capabilities/toolkit.d.ts +1 -2
- package/dist/types/src/capabilities/toolkit.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 +4 -5
- package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
- package/dist/types/src/components/Chat/events.d.ts +0 -4
- package/dist/types/src/components/Chat/events.d.ts.map +1 -1
- package/dist/types/src/components/ChatPrompt/ChatActions.d.ts +2 -2
- package/dist/types/src/components/ChatPrompt/ChatActions.d.ts.map +1 -1
- package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts.map +1 -1
- package/dist/types/src/components/ChatPrompt/ChatOptions.stories.d.ts +2 -2
- package/dist/types/src/components/ChatPrompt/ChatOptions.stories.d.ts.map +1 -1
- package/dist/types/src/components/ChatPrompt/ChatPrompt.d.ts +5 -5
- package/dist/types/src/components/ChatPrompt/ChatPrompt.d.ts.map +1 -1
- package/dist/types/src/components/ChatPrompt/useChatVoiceInput.d.ts +9 -0
- package/dist/types/src/components/ChatPrompt/useChatVoiceInput.d.ts.map +1 -0
- package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +4 -4
- package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/MarkdownStream.stories.d.ts +2 -2
- package/dist/types/src/components/ChatThread/MarkdownStream.stories.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/registry.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.stories.d.ts +2 -2
- package/dist/types/src/components/ChatThread/widgets/ReasoningWidget.stories.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/widgets/SurfaceWidget.d.ts +11 -0
- package/dist/types/src/components/ChatThread/widgets/SurfaceWidget.d.ts.map +1 -0
- package/dist/types/src/components/ChatThread/widgets/index.d.ts +1 -0
- package/dist/types/src/components/ChatThread/widgets/index.d.ts.map +1 -1
- package/dist/types/src/components/ProcessTree/ProcessTree.d.ts.map +1 -1
- package/dist/types/src/components/TaskList/TaskList.stories.d.ts +2 -2
- package/dist/types/src/components/TaskList/TaskList.stories.d.ts.map +1 -1
- package/dist/types/src/components/Toolbox/Toolbox.d.ts +3 -3
- package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +0 -4
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/constants.d.ts +1 -1
- package/dist/types/src/constants.d.ts.map +1 -1
- package/dist/types/src/containers/AgentArticle/AgentArticle.stories.d.ts +2 -2
- package/dist/types/src/containers/AgentArticle/AgentArticle.stories.d.ts.map +1 -1
- package/dist/types/src/{components → containers}/AssistantSettings/AssistantSettings.d.ts +1 -1
- package/dist/types/src/containers/AssistantSettings/AssistantSettings.d.ts.map +1 -0
- package/dist/types/src/{components → containers}/AssistantSettings/AssistantSettings.stories.d.ts.map +1 -1
- package/dist/types/src/containers/AssistantSettings/OllamaModels.d.ts +12 -0
- package/dist/types/src/containers/AssistantSettings/OllamaModels.d.ts.map +1 -0
- package/dist/types/src/{components/TemplateEditor/TemplateEditor.stories.d.ts → containers/AssistantSettings/OllamaModels.stories.d.ts} +9 -7
- package/dist/types/src/containers/AssistantSettings/OllamaModels.stories.d.ts.map +1 -0
- package/dist/types/src/{components → containers}/AssistantSettings/index.d.ts.map +1 -1
- package/dist/types/src/containers/ChatArticle/ChatArticle.d.ts +2 -9
- package/dist/types/src/containers/ChatArticle/ChatArticle.d.ts.map +1 -1
- package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts +3 -10
- package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts.map +1 -1
- package/dist/types/src/containers/ChatDialog/ChatDialog.d.ts.map +1 -1
- package/dist/types/src/containers/IntegrationPrompt/IntegrationPrompt.d.ts +13 -0
- package/dist/types/src/containers/IntegrationPrompt/IntegrationPrompt.d.ts.map +1 -0
- package/dist/types/src/containers/IntegrationPrompt/index.d.ts +2 -0
- package/dist/types/src/{components/RoutineProperties → containers/IntegrationPrompt}/index.d.ts.map +1 -1
- package/dist/types/src/containers/SpaceHomePrompt/SpaceHomePrompt.d.ts.map +1 -1
- package/dist/types/src/containers/SpaceHomeSuggestions/SpaceHomeSuggestions.d.ts +1 -1
- package/dist/types/src/containers/SpaceHomeSuggestions/SpaceHomeSuggestions.d.ts.map +1 -1
- package/dist/types/src/containers/TracePanel/TracePanel.stories.d.ts.map +1 -1
- package/dist/types/src/containers/TracePanel/testing/simulated-agent.d.ts +1 -1
- package/dist/types/src/containers/TracePanel/testing/simulated-agent.d.ts.map +1 -1
- package/dist/types/src/containers/TriggerStatus/TriggerStatus.d.ts.map +1 -1
- package/dist/types/src/containers/index.d.ts +2 -3
- package/dist/types/src/containers/index.d.ts.map +1 -1
- package/dist/types/src/execution-graph/execution-graph.d.ts +2 -1
- package/dist/types/src/execution-graph/execution-graph.d.ts.map +1 -1
- package/dist/types/src/execution-graph/index.d.ts +3 -3
- package/dist/types/src/execution-graph/index.d.ts.map +1 -1
- package/dist/types/src/execution-graph/span-tree.d.ts +13 -0
- package/dist/types/src/execution-graph/span-tree.d.ts.map +1 -1
- package/dist/types/src/extensions/index.d.ts +1 -1
- package/dist/types/src/extensions/index.d.ts.map +1 -1
- package/dist/types/src/extensions/prompt-extension.d.ts.map +1 -1
- package/dist/types/src/hooks/index.d.ts +2 -2
- 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/useContextBinder.d.ts.map +1 -1
- package/dist/types/src/hooks/useHomeSuggestions.d.ts +8 -0
- package/dist/types/src/hooks/useHomeSuggestions.d.ts.map +1 -0
- package/dist/types/src/hooks/usePresets.d.ts +6 -2
- package/dist/types/src/hooks/usePresets.d.ts.map +1 -1
- package/dist/types/src/hooks/useSkillRegistry.d.ts +21 -0
- package/dist/types/src/hooks/useSkillRegistry.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +1 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +4 -0
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/operations/create-chat.d.ts.map +1 -1
- package/dist/types/src/operations/fork-chat.d.ts.map +1 -1
- package/dist/types/src/operations/generate-home-suggestions.d.ts +5 -0
- package/dist/types/src/operations/generate-home-suggestions.d.ts.map +1 -0
- package/dist/types/src/operations/generate-home-suggestions.test.d.ts +2 -0
- package/dist/types/src/operations/generate-home-suggestions.test.d.ts.map +1 -0
- package/dist/types/src/operations/index.d.ts.map +1 -1
- package/dist/types/src/operations/resolve-navigation-targets.d.ts +3 -15
- package/dist/types/src/operations/resolve-navigation-targets.d.ts.map +1 -1
- package/dist/types/src/operations/run-prompt-in-new-chat.d.ts +2 -2
- package/dist/types/src/operations/run-prompt-in-new-chat.d.ts.map +1 -1
- package/dist/types/src/paths.d.ts +1 -1
- package/dist/types/src/paths.d.ts.map +1 -1
- package/dist/types/src/plugin.workerd.d.ts +2 -0
- package/dist/types/src/plugin.workerd.d.ts.map +1 -0
- package/dist/types/src/processor/presets.d.ts +20 -9
- package/dist/types/src/processor/presets.d.ts.map +1 -1
- package/dist/types/src/processor/processor.d.ts +10 -209
- package/dist/types/src/processor/processor.d.ts.map +1 -1
- package/dist/types/src/skills/assistant/index.d.ts +2 -0
- package/dist/types/src/skills/assistant/index.d.ts.map +1 -0
- package/dist/types/src/skills/assistant/skill.d.ts +4 -0
- package/dist/types/src/skills/assistant/skill.d.ts.map +1 -0
- package/dist/types/src/skills/assistant/skill.node.test.d.ts +2 -0
- package/dist/types/src/skills/assistant/skill.node.test.d.ts.map +1 -0
- package/dist/types/src/skills/index.d.ts.map +1 -0
- package/dist/types/src/templates/daily-digest.d.ts +2 -2
- package/dist/types/src/templates/daily-digest.d.ts.map +1 -1
- package/dist/types/src/templates/index.d.ts +3 -3
- package/dist/types/src/templates/index.d.ts.map +1 -1
- package/dist/types/src/templates/research-brief.d.ts +2 -2
- package/dist/types/src/templates/research-brief.d.ts.map +1 -1
- package/dist/types/src/templates/routine-templates.test.d.ts +2 -0
- package/dist/types/src/templates/routine-templates.test.d.ts.map +1 -0
- package/dist/types/src/templates/scaffold.d.ts +9 -9
- package/dist/types/src/templates/scaffold.d.ts.map +1 -1
- package/dist/types/src/testing/test-generator.d.ts +1 -1
- package/dist/types/src/testing/test-generator.d.ts.map +1 -1
- package/dist/types/src/testing/test-sequence.d.ts +1 -8
- package/dist/types/src/testing/test-sequence.d.ts.map +1 -1
- package/dist/types/src/testing/test-trace.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Assistant.d.ts +5 -12
- package/dist/types/src/types/Assistant.d.ts.map +1 -1
- package/dist/types/src/types/AssistantCapabilities.d.ts +21 -0
- package/dist/types/src/types/AssistantCapabilities.d.ts.map +1 -1
- package/dist/types/src/types/AssistantOperation.d.ts +17 -110
- package/dist/types/src/types/AssistantOperation.d.ts.map +1 -1
- package/dist/types/src/types/ChatSurface.d.ts +12 -0
- package/dist/types/src/types/ChatSurface.d.ts.map +1 -0
- package/dist/types/src/types/Ollama.d.ts +44 -0
- package/dist/types/src/types/Ollama.d.ts.map +1 -0
- package/dist/types/src/types/Settings.d.ts +5 -4
- package/dist/types/src/types/Settings.d.ts.map +1 -1
- package/dist/types/src/types/index.d.ts +2 -0
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/service.d.ts +4 -3
- package/dist/types/src/types/service.d.ts.map +1 -1
- package/dist/types/src/util/suggestions.d.ts +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dx.config.ts +2 -2
- package/package.json +102 -90
- package/src/AssistantPlugin.conversations.json +1 -1
- package/src/AssistantPlugin.node.ts +5 -5
- package/src/AssistantPlugin.test.ts +26 -40
- package/src/AssistantPlugin.ts +12 -10
- package/src/AssistantPlugin.workerd.ts +15 -6
- package/src/capabilities/agent-hydrator.ts +1 -2
- package/src/capabilities/agent-service.ts +5 -7
- package/src/capabilities/ai-context.ts +7 -32
- package/src/capabilities/ai-service.ts +3 -2
- package/src/capabilities/app-graph-builder.ts +38 -18
- package/src/capabilities/automation-templates.ts +3 -3
- package/src/capabilities/companion-chat-provisioner.ts +22 -6
- package/src/capabilities/{integration-provider.ts → connector.ts} +7 -12
- package/src/capabilities/create-object.ts +9 -26
- package/src/capabilities/index.ts +3 -5
- package/src/capabilities/markdown-extension.ts +2 -3
- package/src/capabilities/navigation-resolver.ts +20 -0
- package/src/capabilities/react-surface.tsx +21 -33
- package/src/capabilities/skill-definition.ts +72 -0
- package/src/capabilities/state.ts +7 -0
- package/src/components/AgentProperties/AgentProperties.stories.tsx +1 -2
- package/src/components/Chat/Chat.tsx +28 -10
- package/src/components/Chat/events.ts +0 -6
- package/src/components/ChatPrompt/ChatActions.tsx +181 -18
- package/src/components/ChatPrompt/ChatOptions.stories.tsx +3 -3
- package/src/components/ChatPrompt/ChatOptions.tsx +17 -21
- package/src/components/ChatPrompt/ChatPrompt.tsx +30 -46
- package/src/components/ChatPrompt/useChatVoiceInput.ts +103 -0
- package/src/components/ChatThread/ChatThread.stories.tsx +7 -16
- package/src/components/ChatThread/MarkdownStream.stories.tsx +3 -3
- package/src/components/ChatThread/registry.tsx +43 -17
- package/src/components/ChatThread/widgets/ReasoningWidget.stories.tsx +2 -2
- package/src/components/ChatThread/widgets/SurfaceWidget.tsx +41 -0
- package/src/components/ChatThread/widgets/index.ts +1 -0
- package/src/components/ProcessTree/ProcessTree.tsx +2 -10
- package/src/components/TaskList/TaskList.stories.tsx +2 -2
- package/src/components/TaskList/TaskList.tsx +2 -2
- package/src/components/Toolbox/Toolbox.tsx +11 -11
- package/src/components/index.ts +0 -6
- package/src/constants.ts +1 -1
- package/src/containers/AgentArticle/AgentArticle.stories.tsx +8 -9
- package/src/containers/AgentArticle/AgentArticle.tsx +1 -1
- package/src/{components → containers}/AssistantSettings/AssistantSettings.stories.tsx +3 -2
- package/src/containers/AssistantSettings/AssistantSettings.tsx +90 -0
- package/src/containers/AssistantSettings/OllamaModels.stories.tsx +108 -0
- package/src/containers/AssistantSettings/OllamaModels.tsx +255 -0
- package/src/containers/ChatArticle/ChatArticle.stories.tsx +3 -3
- package/src/containers/ChatArticle/ChatArticle.tsx +8 -19
- package/src/containers/ChatCompanion/ChatCompanion.tsx +26 -26
- package/src/containers/ChatDialog/ChatDialog.tsx +5 -4
- package/src/containers/IntegrationPrompt/IntegrationPrompt.tsx +79 -0
- package/src/containers/IntegrationPrompt/index.ts +5 -0
- package/src/containers/SpaceHomePrompt/SpaceHomePrompt.tsx +8 -6
- package/src/containers/SpaceHomeSuggestions/SpaceHomeSuggestions.tsx +46 -32
- package/src/containers/TracePanel/TracePanel.stories.tsx +89 -47
- package/src/containers/TracePanel/TracePanel.tsx +13 -8
- package/src/containers/TracePanel/dxn-extractor.test.ts +2 -2
- package/src/containers/TriggerStatus/TriggerStatus.tsx +8 -4
- package/src/containers/index.ts +2 -3
- package/src/execution-graph/SPEC.md +1 -1
- package/src/execution-graph/execution-graph.test.ts +213 -25
- package/src/execution-graph/execution-graph.ts +209 -72
- package/src/execution-graph/index.ts +8 -8
- package/src/execution-graph/span-tree.test.ts +33 -1
- package/src/execution-graph/span-tree.ts +43 -2
- package/src/execution-graph/sub-agent-delegation.test.ts +19 -19
- package/src/extensions/index.ts +1 -1
- package/src/extensions/prompt-extension.ts +1 -1
- package/src/feed-logger.ts +4 -4
- package/src/functions/services.test.ts +4 -4
- package/src/hooks/index.ts +2 -2
- package/src/hooks/useChatProcessor.ts +12 -16
- package/src/hooks/useContextBinder.ts +2 -4
- package/src/hooks/useDebug.ts +2 -2
- package/src/hooks/useHomeSuggestions.ts +55 -0
- package/src/hooks/usePresets.ts +80 -11
- package/src/hooks/useProcessEphemeralStatus.ts +1 -1
- package/src/hooks/useReferencesProvider.ts +1 -1
- package/src/hooks/useSkillRegistry.ts +125 -0
- package/src/index.ts +1 -1
- package/src/operations/create-chat.ts +11 -12
- package/src/operations/fork-chat.ts +14 -19
- package/src/operations/generate-home-suggestions.test.ts +103 -0
- package/src/operations/generate-home-suggestions.ts +116 -0
- package/src/operations/index.ts +1 -0
- package/src/operations/prompt.node.test.ts +14 -17
- package/src/operations/resolve-navigation-targets.ts +32 -19
- package/src/operations/run-prompt-in-new-chat.ts +30 -33
- package/src/operations/update-chat-name.ts +2 -2
- package/src/paths.ts +4 -2
- package/src/plugin.workerd.ts +5 -0
- package/src/processor/presets.ts +38 -61
- package/src/processor/processor.node.test.ts +1 -1
- package/src/processor/processor.ts +34 -20
- package/src/skills/assistant/index.ts +5 -0
- package/src/{blueprints/assistant/blueprint.node.test.ts → skills/assistant/skill.node.test.ts} +8 -8
- package/src/{blueprints/assistant/blueprint.ts → skills/assistant/skill.ts} +9 -9
- package/src/templates/daily-digest.ts +10 -12
- package/src/templates/index.ts +3 -3
- package/src/templates/research-brief.ts +15 -13
- package/src/templates/routine-templates.test.ts +55 -0
- package/src/templates/scaffold.ts +22 -57
- 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 +3430 -1092
- package/src/testing/test-generator.test.ts +26 -22
- package/src/testing/test-generator.ts +4 -8
- package/src/testing/test-trace.ts +2 -1
- package/src/testing/trace-timeline.node.test.ts +14 -14
- package/src/translations.ts +68 -33
- package/src/types/Assistant.ts +3 -1
- package/src/types/AssistantCapabilities.ts +21 -0
- package/src/types/AssistantOperation.ts +21 -32
- package/src/types/ChatSurface.ts +16 -0
- package/src/types/Ollama.ts +59 -0
- package/src/types/Settings.ts +12 -10
- package/src/types/index.ts +3 -0
- package/src/types/service.ts +14 -14
- package/src/util/suggestions.ts +1 -1
- package/dist/lib/neutral/AgentArticle-2BEPWUMN.mjs.map +0 -7
- package/dist/lib/neutral/AssistantSettings-7ALY4BMS.mjs +0 -40
- package/dist/lib/neutral/AssistantSettings-7ALY4BMS.mjs.map +0 -7
- package/dist/lib/neutral/BlueprintArticle-ZBOZNZM7.mjs +0 -27
- package/dist/lib/neutral/BlueprintArticle-ZBOZNZM7.mjs.map +0 -7
- package/dist/lib/neutral/ChatCompanion-YHC43RYQ.mjs.map +0 -7
- package/dist/lib/neutral/ChatDialog-YZDZLIQA.mjs.map +0 -7
- package/dist/lib/neutral/RoutineArticle-FK5BXQN5.mjs +0 -119
- package/dist/lib/neutral/RoutineArticle-FK5BXQN5.mjs.map +0 -7
- package/dist/lib/neutral/RoutineList-SO5ETHNT.mjs +0 -48
- package/dist/lib/neutral/RoutineList-SO5ETHNT.mjs.map +0 -7
- package/dist/lib/neutral/RoutineProperties-FISLMW2R.mjs +0 -17
- package/dist/lib/neutral/RoutineProperties-FISLMW2R.mjs.map +0 -7
- package/dist/lib/neutral/SpaceHomePrompt-HTWQKLGI.mjs.map +0 -7
- package/dist/lib/neutral/SpaceHomeSuggestions-6G4E7GNJ.mjs +0 -50
- package/dist/lib/neutral/SpaceHomeSuggestions-6G4E7GNJ.mjs.map +0 -7
- package/dist/lib/neutral/TriggerStatus-RBOHHDOK.mjs.map +0 -7
- package/dist/lib/neutral/agent-hydrator-PJBYVMBW.mjs.map +0 -7
- package/dist/lib/neutral/agent-service-WV5CSHAG.mjs.map +0 -7
- package/dist/lib/neutral/ai-context-7WRHWYXY.mjs +0 -42
- package/dist/lib/neutral/ai-context-7WRHWYXY.mjs.map +0 -7
- package/dist/lib/neutral/ai-service-AADUIKBY.mjs.map +0 -7
- package/dist/lib/neutral/app-graph-builder-PTSRZXRN.mjs.map +0 -7
- package/dist/lib/neutral/automation-templates-M2XQWGR6.mjs +0 -115
- package/dist/lib/neutral/automation-templates-M2XQWGR6.mjs.map +0 -7
- package/dist/lib/neutral/blueprint-definition-2XPYI35X.mjs +0 -40
- package/dist/lib/neutral/blueprint-definition-2XPYI35X.mjs.map +0 -7
- package/dist/lib/neutral/blueprints/index.mjs +0 -8
- package/dist/lib/neutral/chunk-54W7N6M6.mjs.map +0 -7
- package/dist/lib/neutral/chunk-5H6UJHLF.mjs.map +0 -7
- package/dist/lib/neutral/chunk-5KB2WRI2.mjs.map +0 -7
- package/dist/lib/neutral/chunk-7FQT4XMI.mjs +0 -8
- package/dist/lib/neutral/chunk-H77JTXAN.mjs.map +0 -7
- package/dist/lib/neutral/chunk-IQZJ5TTM.mjs +0 -130
- package/dist/lib/neutral/chunk-IQZJ5TTM.mjs.map +0 -7
- package/dist/lib/neutral/chunk-KLYLW4WH.mjs.map +0 -7
- package/dist/lib/neutral/companion-chat-provisioner-YZZ73P6E.mjs.map +0 -7
- package/dist/lib/neutral/create-chat-Z3FNA6OJ.mjs.map +0 -7
- package/dist/lib/neutral/create-object-BJUDDKQQ.mjs.map +0 -7
- package/dist/lib/neutral/fork-chat-UYXYT6BT.mjs.map +0 -7
- package/dist/lib/neutral/integration-provider-RBD3AFJU.mjs.map +0 -7
- package/dist/lib/neutral/markdown-extension-IJ5RQMQ4.mjs.map +0 -7
- package/dist/lib/neutral/react-surface-ES7UHZ65.mjs.map +0 -7
- package/dist/lib/neutral/resolve-navigation-targets-ZHIMMH7L.mjs +0 -22
- package/dist/lib/neutral/resolve-navigation-targets-ZHIMMH7L.mjs.map +0 -7
- package/dist/lib/neutral/run-prompt-in-new-chat-NIAGCKQV.mjs.map +0 -7
- package/dist/types/src/blueprints/assistant/blueprint.d.ts +0 -4
- package/dist/types/src/blueprints/assistant/blueprint.d.ts.map +0 -1
- package/dist/types/src/blueprints/assistant/blueprint.node.test.d.ts +0 -2
- package/dist/types/src/blueprints/assistant/blueprint.node.test.d.ts.map +0 -1
- package/dist/types/src/blueprints/assistant/index.d.ts +0 -2
- package/dist/types/src/blueprints/assistant/index.d.ts.map +0 -1
- package/dist/types/src/blueprints/index.d.ts.map +0 -1
- package/dist/types/src/capabilities/blueprint-definition.d.ts +0 -5
- package/dist/types/src/capabilities/blueprint-definition.d.ts.map +0 -1
- package/dist/types/src/capabilities/integration-provider.d.ts.map +0 -1
- package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +0 -1
- package/dist/types/src/components/RoutineProperties/RoutineProperties.d.ts +0 -7
- package/dist/types/src/components/RoutineProperties/RoutineProperties.d.ts.map +0 -1
- package/dist/types/src/components/RoutineProperties/RoutineProperties.stories.d.ts +0 -15
- package/dist/types/src/components/RoutineProperties/RoutineProperties.stories.d.ts.map +0 -1
- package/dist/types/src/components/RoutineProperties/index.d.ts +0 -2
- package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts +0 -13
- package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +0 -1
- package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +0 -1
- package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +0 -21
- package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +0 -1
- package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts +0 -16
- package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts.map +0 -1
- package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts +0 -12
- package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts.map +0 -1
- package/dist/types/src/components/TemplateEditor/extensions/index.d.ts +0 -3
- package/dist/types/src/components/TemplateEditor/extensions/index.d.ts.map +0 -1
- package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts +0 -8
- package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts.map +0 -1
- package/dist/types/src/components/TemplateEditor/index.d.ts +0 -2
- package/dist/types/src/components/TemplateEditor/index.d.ts.map +0 -1
- package/dist/types/src/components/TemplateEditor/types.d.ts +0 -18
- package/dist/types/src/components/TemplateEditor/types.d.ts.map +0 -1
- package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts +0 -6
- package/dist/types/src/containers/BlueprintArticle/BlueprintArticle.d.ts.map +0 -1
- package/dist/types/src/containers/BlueprintArticle/index.d.ts +0 -2
- package/dist/types/src/containers/BlueprintArticle/index.d.ts.map +0 -1
- package/dist/types/src/containers/RoutineArticle/RoutineArticle.d.ts +0 -6
- package/dist/types/src/containers/RoutineArticle/RoutineArticle.d.ts.map +0 -1
- package/dist/types/src/containers/RoutineArticle/RoutineArticle.stories.d.ts +0 -15
- package/dist/types/src/containers/RoutineArticle/RoutineArticle.stories.d.ts.map +0 -1
- package/dist/types/src/containers/RoutineArticle/index.d.ts +0 -2
- package/dist/types/src/containers/RoutineArticle/index.d.ts.map +0 -1
- package/dist/types/src/containers/RoutineList/RoutineList.d.ts +0 -6
- package/dist/types/src/containers/RoutineList/RoutineList.d.ts.map +0 -1
- package/dist/types/src/containers/RoutineList/RoutineList.stories.d.ts +0 -21
- package/dist/types/src/containers/RoutineList/RoutineList.stories.d.ts.map +0 -1
- package/dist/types/src/containers/RoutineList/index.d.ts +0 -2
- package/dist/types/src/containers/RoutineList/index.d.ts.map +0 -1
- package/dist/types/src/hooks/useBlueprintRegistry.d.ts +0 -66
- package/dist/types/src/hooks/useBlueprintRegistry.d.ts.map +0 -1
- package/dist/types/src/hooks/useOnline.d.ts +0 -3
- package/dist/types/src/hooks/useOnline.d.ts.map +0 -1
- package/dist/types/src/templates/automation-templates.test.d.ts +0 -2
- package/dist/types/src/templates/automation-templates.test.d.ts.map +0 -1
- package/src/blueprints/assistant/index.ts +0 -5
- package/src/capabilities/blueprint-definition.ts +0 -67
- package/src/components/AssistantSettings/AssistantSettings.tsx +0 -43
- package/src/components/RoutineProperties/RoutineProperties.stories.tsx +0 -59
- package/src/components/RoutineProperties/RoutineProperties.tsx +0 -23
- package/src/components/RoutineProperties/index.ts +0 -5
- package/src/components/TemplateEditor/TemplateEditor.stories.tsx +0 -95
- package/src/components/TemplateEditor/TemplateEditor.tsx +0 -80
- package/src/components/TemplateEditor/TemplateForm.stories.tsx +0 -76
- package/src/components/TemplateEditor/TemplateForm.tsx +0 -204
- package/src/components/TemplateEditor/extensions/handlebars-extension.ts +0 -274
- package/src/components/TemplateEditor/extensions/index.ts +0 -6
- package/src/components/TemplateEditor/extensions/xml-extension.ts +0 -64
- package/src/components/TemplateEditor/index.ts +0 -5
- package/src/components/TemplateEditor/types.tsx +0 -28
- package/src/containers/BlueprintArticle/BlueprintArticle.tsx +0 -29
- package/src/containers/BlueprintArticle/index.ts +0 -5
- package/src/containers/RoutineArticle/RoutineArticle.stories.tsx +0 -75
- package/src/containers/RoutineArticle/RoutineArticle.tsx +0 -109
- package/src/containers/RoutineArticle/index.ts +0 -5
- package/src/containers/RoutineList/RoutineList.stories.tsx +0 -130
- package/src/containers/RoutineList/RoutineList.tsx +0 -50
- package/src/containers/RoutineList/index.ts +0 -5
- package/src/hooks/useBlueprintRegistry.ts +0 -125
- package/src/hooks/useOnline.ts +0 -10
- package/src/templates/automation-templates.test.ts +0 -66
- /package/dist/lib/neutral/{ChatArticle-KT46SUFU.mjs.map → ChatArticle-OO7GGEFW.mjs.map} +0 -0
- /package/dist/lib/neutral/{TracePanel-T552TAOH.mjs.map → TracePanel-JKNWADJ4.mjs.map} +0 -0
- /package/dist/lib/neutral/{edge-model-resolver-BBVOJBGJ.mjs.map → edge-model-resolver-WDJWDZTT.mjs.map} +0 -0
- /package/dist/lib/neutral/{blueprints → extensions}/index.mjs.map +0 -0
- /package/dist/types/src/{components → containers}/AssistantSettings/AssistantSettings.stories.d.ts +0 -0
- /package/dist/types/src/{components → containers}/AssistantSettings/index.d.ts +0 -0
- /package/dist/types/src/{blueprints → skills}/index.d.ts +0 -0
- /package/src/{components → containers}/AssistantSettings/index.ts +0 -0
- /package/src/{blueprints → skills}/index.ts +0 -0
|
@@ -6,7 +6,7 @@ import { ActivationEvents, Capability, Plugin } from '@dxos/app-framework';
|
|
|
6
6
|
import { AppPlugin } from '@dxos/app-toolkit';
|
|
7
7
|
import { AiContext } from '@dxos/assistant';
|
|
8
8
|
import { Agent, Chat, McpServer, Memory, Plan } from '@dxos/assistant-toolkit';
|
|
9
|
-
import {
|
|
9
|
+
import { Instructions, Skill } from '@dxos/compute';
|
|
10
10
|
import { Sequence } from '@dxos/conductor';
|
|
11
11
|
import { Feed } from '@dxos/echo';
|
|
12
12
|
import { Text } from '@dxos/schema';
|
|
@@ -18,11 +18,11 @@ import {
|
|
|
18
18
|
AiContext as AiContextCapability,
|
|
19
19
|
AiService,
|
|
20
20
|
AppGraphBuilder,
|
|
21
|
-
BlueprintDefinition,
|
|
22
21
|
CreateObject,
|
|
23
22
|
EdgeModelResolver,
|
|
24
23
|
LocalModelResolver,
|
|
25
24
|
OperationHandler,
|
|
25
|
+
SkillDefinition,
|
|
26
26
|
Toolkit,
|
|
27
27
|
} from '#capabilities';
|
|
28
28
|
import { meta } from '#meta';
|
|
@@ -31,19 +31,19 @@ import { AssistantEvents, type AssistantPluginOptions } from '#types';
|
|
|
31
31
|
export const AssistantPlugin = Plugin.define<AssistantPluginOptions | void>(meta)
|
|
32
32
|
.pipe(
|
|
33
33
|
AppPlugin.addAppGraphModule({ activate: AppGraphBuilder }),
|
|
34
|
-
AppPlugin.
|
|
34
|
+
AppPlugin.addSkillDefinitionModule({ activate: SkillDefinition }),
|
|
35
35
|
AppPlugin.addCreateObjectModule({ activate: CreateObject }),
|
|
36
36
|
AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),
|
|
37
37
|
AppPlugin.addSchemaModule({
|
|
38
38
|
schema: [
|
|
39
39
|
Chat.Chat,
|
|
40
40
|
Chat.CompanionTo,
|
|
41
|
-
|
|
41
|
+
Skill.Skill,
|
|
42
42
|
AiContext.Binding,
|
|
43
43
|
Feed.Feed,
|
|
44
44
|
HasSubject.HasSubject,
|
|
45
45
|
Message.Message,
|
|
46
|
-
|
|
46
|
+
Instructions.Instructions,
|
|
47
47
|
Agent.Agent,
|
|
48
48
|
McpServer.McpServer,
|
|
49
49
|
Plan.Plan,
|
|
@@ -6,34 +6,28 @@ import * as LanguageModel from '@effect/ai/LanguageModel';
|
|
|
6
6
|
import { type TestContext } from '@effect/vitest';
|
|
7
7
|
import * as Effect from 'effect/Effect';
|
|
8
8
|
import * as Layer from 'effect/Layer';
|
|
9
|
-
import * as Schema from 'effect/Schema';
|
|
10
9
|
import { describe, test } from 'vitest';
|
|
11
10
|
|
|
12
11
|
import { AiService } from '@dxos/ai';
|
|
13
12
|
import { TestAiService } from '@dxos/ai/testing';
|
|
14
13
|
import { AppActivationEvents } from '@dxos/app-toolkit';
|
|
15
|
-
import {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
BlueprintManagerBlueprint,
|
|
19
|
-
DatabaseBlueprint,
|
|
20
|
-
} from '@dxos/assistant-toolkit';
|
|
21
|
-
import { Blueprint, Operation, Routine, ServiceResolver } from '@dxos/compute';
|
|
22
|
-
import { Database, Feed, Ref, Registry } from '@dxos/echo';
|
|
14
|
+
import { AgentWizardSkill, DatabaseSkill, RunInstructions, SkillManagerSkill } from '@dxos/assistant-toolkit';
|
|
15
|
+
import { AgentService, Instructions, Operation, ServiceResolver, Skill } from '@dxos/compute';
|
|
16
|
+
import { Database, Ref, Registry } from '@dxos/echo';
|
|
23
17
|
import { EffectEx } from '@dxos/effect';
|
|
24
18
|
import { TestContextService } from '@dxos/effect/testing';
|
|
25
|
-
import { AgentService } from '@dxos/functions-runtime';
|
|
26
|
-
import { EntityId } from '@dxos/keys';
|
|
27
|
-
import { AutomationPlugin } from '@dxos/plugin-automation/plugin';
|
|
19
|
+
import { AgentService as AgentServiceRuntime } from '@dxos/functions-runtime';
|
|
20
|
+
import { DXN, EntityId } from '@dxos/keys';
|
|
28
21
|
import { ClientCapabilities } from '@dxos/plugin-client';
|
|
29
22
|
import { ClientPlugin } from '@dxos/plugin-client/plugin';
|
|
30
23
|
import { initializeIdentity } from '@dxos/plugin-client/testing';
|
|
24
|
+
import { RoutinePlugin } from '@dxos/plugin-routine/plugin';
|
|
31
25
|
import { createComposerTestApp } from '@dxos/plugin-testing/harness';
|
|
32
26
|
|
|
33
27
|
import { AssistantPlugin } from '#plugin';
|
|
34
28
|
|
|
35
|
-
import { AssistantBlueprint } from './blueprints/assistant';
|
|
36
29
|
import { meta } from './meta';
|
|
30
|
+
import { AssistantSkill } from './skills/assistant';
|
|
37
31
|
|
|
38
32
|
EntityId.dangerouslyDisableRandomness();
|
|
39
33
|
|
|
@@ -50,9 +44,9 @@ describe('AssistantPlugin', () => {
|
|
|
50
44
|
expect.arrayContaining([moduleId('AppGraphBuilder'), moduleId('CreateObject'), moduleId('schema')]),
|
|
51
45
|
);
|
|
52
46
|
|
|
53
|
-
// AssistantPlugin fires SetupArtifactDefinition itself, so it can test its own
|
|
47
|
+
// AssistantPlugin fires SetupArtifactDefinition itself, so it can test its own skill.
|
|
54
48
|
await harness.fire(AppActivationEvents.SetupArtifactDefinition);
|
|
55
|
-
expect(harness.manager.getActive()).toContain(moduleId('
|
|
49
|
+
expect(harness.manager.getActive()).toContain(moduleId('SkillDefinition'));
|
|
56
50
|
|
|
57
51
|
// OperationHandler auto-cascades from ProcessManagerPlugin.
|
|
58
52
|
expect(harness.manager.getActive()).toContain(moduleId('OperationHandler'));
|
|
@@ -96,7 +90,7 @@ describe('AssistantPlugin', () => {
|
|
|
96
90
|
expect(text.toLocaleLowerCase()).toContain('paris');
|
|
97
91
|
}).pipe(
|
|
98
92
|
Effect.provide(
|
|
99
|
-
AiService.model('
|
|
93
|
+
AiService.model('com.anthropic.model.claude-haiku-4-5.default').pipe(
|
|
100
94
|
Layer.provideMerge(ServiceResolver.provide({ space: personalSpace.id }, AiService.AiService)),
|
|
101
95
|
),
|
|
102
96
|
),
|
|
@@ -104,7 +98,7 @@ describe('AssistantPlugin', () => {
|
|
|
104
98
|
);
|
|
105
99
|
});
|
|
106
100
|
|
|
107
|
-
test('can run memoized
|
|
101
|
+
test('can run memoized instructions', { timeout: 120_000 }, async (ctx) => {
|
|
108
102
|
const { expect } = ctx;
|
|
109
103
|
await using harness = await createComposerTestApp({
|
|
110
104
|
plugins: [
|
|
@@ -112,7 +106,7 @@ describe('AssistantPlugin', () => {
|
|
|
112
106
|
AssistantPlugin({
|
|
113
107
|
aiServiceMiddleware: await makeMemoizedAiServiceMiddleware(ctx),
|
|
114
108
|
}),
|
|
115
|
-
|
|
109
|
+
RoutinePlugin(),
|
|
116
110
|
],
|
|
117
111
|
});
|
|
118
112
|
|
|
@@ -124,38 +118,31 @@ describe('AssistantPlugin', () => {
|
|
|
124
118
|
|
|
125
119
|
await harness.runPromise(
|
|
126
120
|
Effect.gen(function* () {
|
|
127
|
-
const
|
|
128
|
-
|
|
121
|
+
const instructions = yield* Database.add(
|
|
122
|
+
Instructions.make({
|
|
129
123
|
name: 'capital-test',
|
|
130
|
-
|
|
131
|
-
'Call completeJob with success set to a JSON object { "capital": "<lowercase country capital>" } for the country in input.',
|
|
132
|
-
input: Schema.Struct({
|
|
133
|
-
country: Schema.String,
|
|
134
|
-
}),
|
|
135
|
-
output: Schema.Struct({
|
|
136
|
-
capital: Schema.String,
|
|
137
|
-
}),
|
|
124
|
+
text: 'Call completeJob with success set to a JSON object { "capital": "<lowercase country capital>" } for the country in input.',
|
|
138
125
|
}),
|
|
139
126
|
);
|
|
140
127
|
yield* Database.flush();
|
|
141
128
|
|
|
142
129
|
const result = yield* Operation.invoke(
|
|
143
|
-
|
|
130
|
+
RunInstructions,
|
|
144
131
|
{
|
|
145
|
-
|
|
132
|
+
instructions: Ref.make(instructions),
|
|
146
133
|
input: {
|
|
147
134
|
country: 'France',
|
|
148
135
|
},
|
|
149
|
-
model: '
|
|
136
|
+
model: DXN.make('com.anthropic.model.claude-haiku-4-5.default'),
|
|
150
137
|
},
|
|
151
138
|
{ spaceId: personalSpace.id },
|
|
152
139
|
);
|
|
153
140
|
expect(result).toEqual({ capital: 'paris' });
|
|
154
|
-
}).pipe(Effect.provide(ServiceResolver.provide({ space: personalSpace.id }, Database.Service
|
|
141
|
+
}).pipe(Effect.provide(ServiceResolver.provide({ space: personalSpace.id }, Database.Service))),
|
|
155
142
|
);
|
|
156
143
|
});
|
|
157
144
|
|
|
158
|
-
test('smoke test for agent service with standard
|
|
145
|
+
test('smoke test for agent service with standard skills', { timeout: 120_000 }, async (ctx) => {
|
|
159
146
|
const { expect } = ctx;
|
|
160
147
|
await using harness = await createComposerTestApp({
|
|
161
148
|
plugins: [
|
|
@@ -163,7 +150,7 @@ describe('AssistantPlugin', () => {
|
|
|
163
150
|
AssistantPlugin({
|
|
164
151
|
aiServiceMiddleware: await makeMemoizedAiServiceMiddleware(ctx),
|
|
165
152
|
}),
|
|
166
|
-
|
|
153
|
+
RoutinePlugin(),
|
|
167
154
|
],
|
|
168
155
|
});
|
|
169
156
|
|
|
@@ -175,13 +162,13 @@ describe('AssistantPlugin', () => {
|
|
|
175
162
|
|
|
176
163
|
await harness.runPromise(
|
|
177
164
|
Effect.gen(function* () {
|
|
178
|
-
const
|
|
179
|
-
[
|
|
180
|
-
(_) =>
|
|
165
|
+
const skills = yield* Effect.forEach(
|
|
166
|
+
[DatabaseSkill, AssistantSkill, SkillManagerSkill, AgentWizardSkill],
|
|
167
|
+
(_) => Skill.resolve(_.key),
|
|
181
168
|
);
|
|
182
169
|
|
|
183
|
-
const agent = yield*
|
|
184
|
-
|
|
170
|
+
const agent = yield* AgentServiceRuntime.createSession({
|
|
171
|
+
skills,
|
|
185
172
|
});
|
|
186
173
|
yield* agent.submitPrompt('Hello');
|
|
187
174
|
yield* agent.waitForCompletion();
|
|
@@ -190,7 +177,6 @@ describe('AssistantPlugin', () => {
|
|
|
190
177
|
ServiceResolver.provide(
|
|
191
178
|
{ space: personalSpace.id },
|
|
192
179
|
Database.Service,
|
|
193
|
-
Feed.FeedService,
|
|
194
180
|
AgentService.AgentService,
|
|
195
181
|
Registry.Service,
|
|
196
182
|
),
|
package/src/AssistantPlugin.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { ActivationEvent, ActivationEvents, Capability, Plugin } from '@dxos/app
|
|
|
6
6
|
import { AppActivationEvents, AppPlugin } from '@dxos/app-toolkit';
|
|
7
7
|
import { AiContext } from '@dxos/assistant';
|
|
8
8
|
import { Agent, Chat, McpServer, Memory, Plan } from '@dxos/assistant-toolkit';
|
|
9
|
-
import {
|
|
9
|
+
import { Instructions, Skill } from '@dxos/compute';
|
|
10
10
|
import { Sequence } from '@dxos/conductor';
|
|
11
11
|
import { Feed } from '@dxos/echo';
|
|
12
12
|
import { ClientEvents } from '@dxos/plugin-client';
|
|
@@ -20,20 +20,21 @@ import {
|
|
|
20
20
|
AgentRuntime,
|
|
21
21
|
AiContext as AiContextCapability,
|
|
22
22
|
AiService,
|
|
23
|
-
IntegrationProvider,
|
|
24
23
|
AppGraphBuilder,
|
|
25
|
-
AutomationTemplates,
|
|
26
24
|
AssistantState,
|
|
27
|
-
|
|
25
|
+
AutomationTemplates,
|
|
28
26
|
CompanionChatProvisioner,
|
|
27
|
+
Connector,
|
|
29
28
|
CreateObject,
|
|
30
29
|
EdgeModelResolver,
|
|
31
30
|
LocalModelResolver,
|
|
32
31
|
MarkdownExtension,
|
|
33
32
|
Migrations,
|
|
33
|
+
NavigationResolver,
|
|
34
34
|
OperationHandler,
|
|
35
35
|
ReactSurface,
|
|
36
36
|
Settings,
|
|
37
|
+
SkillDefinition,
|
|
37
38
|
Toolkit,
|
|
38
39
|
} from '#capabilities';
|
|
39
40
|
import { meta } from '#meta';
|
|
@@ -48,19 +49,20 @@ const StateReady = AppActivationEvents.createStateEvent(meta.profile.key);
|
|
|
48
49
|
export const AssistantPlugin = Plugin.define<AssistantPluginOptions | void>(meta)
|
|
49
50
|
.pipe(
|
|
50
51
|
AppPlugin.addAppGraphModule({ activate: AppGraphBuilder }),
|
|
51
|
-
AppPlugin.
|
|
52
|
+
AppPlugin.addNavigationResolverModule({ activatesOn: ClientEvents.ClientReady, activate: NavigationResolver }),
|
|
53
|
+
AppPlugin.addSkillDefinitionModule({ activate: SkillDefinition }),
|
|
52
54
|
AppPlugin.addCreateObjectModule({ activate: CreateObject }),
|
|
53
55
|
AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),
|
|
54
56
|
AppPlugin.addSchemaModule({
|
|
55
57
|
schema: [
|
|
56
58
|
Chat.Chat,
|
|
57
59
|
Chat.CompanionTo,
|
|
58
|
-
|
|
60
|
+
Skill.Skill,
|
|
59
61
|
AiContext.Binding,
|
|
60
62
|
Feed.Feed,
|
|
61
63
|
HasSubject.HasSubject,
|
|
62
64
|
Message.Message,
|
|
63
|
-
|
|
65
|
+
Instructions.Instructions,
|
|
64
66
|
Agent.Agent,
|
|
65
67
|
McpServer.McpServer,
|
|
66
68
|
Plan.Plan,
|
|
@@ -109,7 +111,7 @@ export const AssistantPlugin = Plugin.define<AssistantPluginOptions | void>(meta
|
|
|
109
111
|
activate: () => AiService(options),
|
|
110
112
|
})),
|
|
111
113
|
Plugin.addModule({
|
|
112
|
-
// Process-affinity `
|
|
114
|
+
// Process-affinity `Harness.HarnessService` LayerSpec — needed so operations
|
|
113
115
|
// dispatched as their own processes (e.g. via `Operation.invoke` from
|
|
114
116
|
// `AiSession.createRequest` or `TriggerDispatcher`) can resolve
|
|
115
117
|
// conversation-scoped services without an inline `Effect.provideService`
|
|
@@ -146,8 +148,8 @@ export const AssistantPlugin = Plugin.define<AssistantPluginOptions | void>(meta
|
|
|
146
148
|
activate: Migrations,
|
|
147
149
|
}),
|
|
148
150
|
Plugin.addModule({
|
|
149
|
-
activatesOn: AppActivationEvents.
|
|
150
|
-
activate:
|
|
151
|
+
activatesOn: AppActivationEvents.SetupConnectors,
|
|
152
|
+
activate: Connector,
|
|
151
153
|
}),
|
|
152
154
|
AppPlugin.addPluginAssetModule({
|
|
153
155
|
asset: { pluginId: meta.profile.key, path: 'PLUGIN.mdl', content: pluginSpec, mimeType: 'application/x-mdl' },
|
|
@@ -2,31 +2,40 @@
|
|
|
2
2
|
// Copyright 2023 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import { Plugin } from '@dxos/app-framework';
|
|
5
|
+
import { ActivationEvents, Plugin } from '@dxos/app-framework';
|
|
6
6
|
import { AppPlugin } from '@dxos/app-toolkit';
|
|
7
7
|
import { AiContext } from '@dxos/assistant';
|
|
8
8
|
import { Agent, Chat, McpServer, Memory, Plan } from '@dxos/assistant-toolkit';
|
|
9
|
-
import {
|
|
9
|
+
import { Instructions, Skill } from '@dxos/compute';
|
|
10
10
|
import { Sequence } from '@dxos/conductor';
|
|
11
11
|
import { Feed } from '@dxos/echo';
|
|
12
12
|
import { Text } from '@dxos/schema';
|
|
13
13
|
import { HasSubject, Message } from '@dxos/types';
|
|
14
14
|
|
|
15
|
-
import { OperationHandler } from '#capabilities';
|
|
16
15
|
import { meta } from '#meta';
|
|
17
16
|
|
|
17
|
+
import OperationHandler from './capabilities/operation-handler';
|
|
18
|
+
import SkillDefinition from './capabilities/skill-definition';
|
|
19
|
+
import Toolkit from './capabilities/toolkit';
|
|
20
|
+
|
|
18
21
|
export const AssistantPlugin = Plugin.define(meta).pipe(
|
|
19
|
-
AppPlugin.
|
|
22
|
+
AppPlugin.addSkillDefinitionModule({ id: 'skill-definition', activate: SkillDefinition }),
|
|
23
|
+
AppPlugin.addOperationHandlerModule({ id: 'operation-handler', activate: OperationHandler }),
|
|
24
|
+
Plugin.addModule({
|
|
25
|
+
id: 'toolkit',
|
|
26
|
+
activatesOn: ActivationEvents.Startup,
|
|
27
|
+
activate: Toolkit,
|
|
28
|
+
}),
|
|
20
29
|
AppPlugin.addSchemaModule({
|
|
21
30
|
schema: [
|
|
22
31
|
Chat.Chat,
|
|
23
32
|
Chat.CompanionTo,
|
|
24
|
-
|
|
33
|
+
Skill.Skill,
|
|
25
34
|
AiContext.Binding,
|
|
26
35
|
Feed.Feed,
|
|
27
36
|
HasSubject.HasSubject,
|
|
28
37
|
Message.Message,
|
|
29
|
-
|
|
38
|
+
Instructions.Instructions,
|
|
30
39
|
Agent.Agent,
|
|
31
40
|
McpServer.McpServer,
|
|
32
41
|
Plan.Plan,
|
|
@@ -6,8 +6,7 @@ import * as Cause from 'effect/Cause';
|
|
|
6
6
|
import * as Effect from 'effect/Effect';
|
|
7
7
|
|
|
8
8
|
import { Capabilities, Capability } from '@dxos/app-framework';
|
|
9
|
-
import { ServiceResolver } from '@dxos/compute';
|
|
10
|
-
import { AgentService } from '@dxos/functions-runtime';
|
|
9
|
+
import { AgentService, ServiceResolver } from '@dxos/compute';
|
|
11
10
|
import { log } from '@dxos/log';
|
|
12
11
|
|
|
13
12
|
//
|
|
@@ -6,10 +6,10 @@ import * as Effect from 'effect/Effect';
|
|
|
6
6
|
import * as Layer from 'effect/Layer';
|
|
7
7
|
|
|
8
8
|
import { Capabilities, Capability } from '@dxos/app-framework';
|
|
9
|
-
import { LayerSpec } from '@dxos/compute';
|
|
9
|
+
import { AgentService, LayerSpec } from '@dxos/compute';
|
|
10
10
|
import { ProcessManager } from '@dxos/compute-runtime';
|
|
11
|
-
import { AgentService } from '@dxos/functions-runtime';
|
|
12
|
-
import {
|
|
11
|
+
import { AgentService as AgentServiceRuntime } from '@dxos/functions-runtime';
|
|
12
|
+
import { RoutineCapabilities } from '@dxos/plugin-routine';
|
|
13
13
|
|
|
14
14
|
//
|
|
15
15
|
// Capability Module
|
|
@@ -27,11 +27,9 @@ const AgentServiceSpec = LayerSpec.make(
|
|
|
27
27
|
Layer.unwrapEffect(
|
|
28
28
|
Effect.gen(function* () {
|
|
29
29
|
// Optional supervisor behaviour, contributed by a plugin that knows the agent/plan model.
|
|
30
|
-
const strategies = yield* Capability.getAll(
|
|
31
|
-
|
|
32
|
-
return AgentService.layer({
|
|
30
|
+
const strategies = yield* Capability.getAll(RoutineCapabilities.AgentDelegationStrategy);
|
|
31
|
+
return AgentServiceRuntime.layer({
|
|
33
32
|
delegationStrategy: strategies[0],
|
|
34
|
-
completionGuard: completionGuards[0],
|
|
35
33
|
});
|
|
36
34
|
}),
|
|
37
35
|
),
|
|
@@ -3,46 +3,21 @@
|
|
|
3
3
|
//
|
|
4
4
|
|
|
5
5
|
import * as Effect from 'effect/Effect';
|
|
6
|
-
import * as Layer from 'effect/Layer';
|
|
7
6
|
|
|
8
7
|
import { Capabilities, Capability } from '@dxos/app-framework';
|
|
9
|
-
import {
|
|
10
|
-
import { LayerSpec
|
|
11
|
-
import { Database, EID, Feed } from '@dxos/echo';
|
|
12
|
-
import { EffectEx } from '@dxos/effect';
|
|
8
|
+
import { Harness } from '@dxos/assistant';
|
|
9
|
+
import { type LayerSpec } from '@dxos/compute';
|
|
13
10
|
|
|
14
11
|
//
|
|
15
12
|
// Capability Module
|
|
16
13
|
//
|
|
17
|
-
// Contributes
|
|
18
|
-
// {@link
|
|
14
|
+
// Contributes the process-affinity `LayerSpec` that materialises
|
|
15
|
+
// {@link Harness.HarnessService} from the resolution context's `conversation` DXN.
|
|
19
16
|
//
|
|
20
17
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
affinity: 'process',
|
|
24
|
-
requires: [Database.Service, Feed.FeedService],
|
|
25
|
-
provides: [AiContext.Service],
|
|
26
|
-
},
|
|
27
|
-
(context) =>
|
|
28
|
-
Layer.scoped(
|
|
29
|
-
AiContext.Service,
|
|
30
|
-
Effect.gen(function* () {
|
|
31
|
-
if (!context.conversation) {
|
|
32
|
-
return yield* Effect.die(
|
|
33
|
-
new ServiceNotAvailableError(AiContext.Service.key, {
|
|
34
|
-
message: `Service not available: ${AiContext.Service.key} — process spawn is missing 'conversation' in environment (set via Operation.withInvocationOptions or ProcessManager.spawn environment)`,
|
|
35
|
-
}),
|
|
36
|
-
);
|
|
37
|
-
}
|
|
38
|
-
const feed = yield* Database.resolve(EID.parse(context.conversation), Feed.Feed).pipe(Effect.orDie);
|
|
39
|
-
const runtime = yield* Effect.runtime<Feed.FeedService>();
|
|
40
|
-
const binder = yield* EffectEx.acquireReleaseResource(() => new AiContext.Binder({ feed, runtime }));
|
|
41
|
-
return { binder };
|
|
42
|
-
}),
|
|
43
|
-
),
|
|
44
|
-
);
|
|
18
|
+
// Annotated so the contributed `LayerSpec` type is nameable in the emitted declaration.
|
|
19
|
+
const harnessSpec: LayerSpec.LayerSpec = Harness.layerSpec;
|
|
45
20
|
|
|
46
21
|
export default Capability.makeModule(() =>
|
|
47
|
-
Effect.succeed([Capability.contributes(Capabilities.LayerSpec,
|
|
22
|
+
Effect.succeed([Capability.contributes(Capabilities.LayerSpec, harnessSpec)]),
|
|
48
23
|
);
|
|
@@ -6,7 +6,7 @@ import * as Context from 'effect/Context';
|
|
|
6
6
|
import * as Effect from 'effect/Effect';
|
|
7
7
|
import * as Layer from 'effect/Layer';
|
|
8
8
|
|
|
9
|
-
import { AiModelResolver, AiService } from '@dxos/ai';
|
|
9
|
+
import { AiModelResolver, AiService, Provider } from '@dxos/ai';
|
|
10
10
|
import { Capabilities, Capability } from '@dxos/app-framework';
|
|
11
11
|
import { AppCapabilities } from '@dxos/app-toolkit';
|
|
12
12
|
import { Credential, LayerSpec } from '@dxos/compute';
|
|
@@ -20,7 +20,8 @@ export default Capability.makeModule<AssistantPluginOptions | void, Capability.A
|
|
|
20
20
|
// TODO(dmaretskyi): Extract function to reduce them.
|
|
21
21
|
const combinedLayer = resolvers.reduce(
|
|
22
22
|
(acc, resolver) => resolver.pipe(Layer.provide(acc)),
|
|
23
|
-
|
|
23
|
+
// Empty resolver as the terminal fallback (provider is irrelevant — the map is empty).
|
|
24
|
+
AiModelResolver.AiModelResolver.fromModelMap({ name: 'Fallback' }, Provider.edge.id, Effect.succeed({})),
|
|
24
25
|
);
|
|
25
26
|
|
|
26
27
|
let aiServiceLayer: Layer.Layer<AiService.AiService, never, Credential.CredentialsService> =
|
|
@@ -7,17 +7,26 @@ import { pipe } from 'effect/Function';
|
|
|
7
7
|
import * as Option from 'effect/Option';
|
|
8
8
|
|
|
9
9
|
import { Capability } from '@dxos/app-framework';
|
|
10
|
-
import {
|
|
11
|
-
|
|
10
|
+
import {
|
|
11
|
+
AppCapabilities,
|
|
12
|
+
AppNode,
|
|
13
|
+
AppNodeMatcher,
|
|
14
|
+
AppSpace,
|
|
15
|
+
LayoutOperation,
|
|
16
|
+
Paths,
|
|
17
|
+
TypeSection,
|
|
18
|
+
} from '@dxos/app-toolkit';
|
|
19
|
+
import { Chat, RunInstructions } from '@dxos/assistant-toolkit';
|
|
12
20
|
import { isSpace } from '@dxos/client/echo';
|
|
13
|
-
import {
|
|
21
|
+
import { Instructions, Operation } from '@dxos/compute';
|
|
14
22
|
import { Sequence } from '@dxos/conductor';
|
|
15
|
-
import {
|
|
23
|
+
import { Database, DXN, Filter, Obj, Query, type Ref, Type } from '@dxos/echo';
|
|
16
24
|
import { invariant } from '@dxos/invariant';
|
|
17
25
|
import { ClientCapabilities } from '@dxos/plugin-client';
|
|
18
26
|
import { GraphBuilder, Node, NodeMatcher } from '@dxos/plugin-graph';
|
|
19
27
|
import { SpaceOperation } from '@dxos/plugin-space';
|
|
20
28
|
import { linkedSegment } from '@dxos/react-ui-attention';
|
|
29
|
+
import { Position } from '@dxos/util';
|
|
21
30
|
|
|
22
31
|
import { ASSISTANT_COMPANION_VARIANT, meta } from '#meta';
|
|
23
32
|
import { AssistantCapabilities, AssistantOperation } from '#types';
|
|
@@ -25,7 +34,7 @@ import { AssistantCapabilities, AssistantOperation } from '#types';
|
|
|
25
34
|
import { getChatsPath } from '../paths';
|
|
26
35
|
|
|
27
36
|
/** Operation definitions to seed as `PersistentOperation` records for automation / triggers. */
|
|
28
|
-
const computeOperationsToImport = [
|
|
37
|
+
const computeOperationsToImport = [RunInstructions] as const;
|
|
29
38
|
|
|
30
39
|
/** Match ECHO objects that are NOT chats. */
|
|
31
40
|
const whenNonChatObject = NodeMatcher.whenAll(
|
|
@@ -38,6 +47,22 @@ export default Capability.makeModule(
|
|
|
38
47
|
const capabilities = yield* Capability.Service;
|
|
39
48
|
|
|
40
49
|
const extensions = yield* Effect.all([
|
|
50
|
+
// AI section group — created here so it shows only when the assistant plugin is active.
|
|
51
|
+
GraphBuilder.createExtension({
|
|
52
|
+
id: Paths.GroupSegments.ai,
|
|
53
|
+
match: AppNodeMatcher.whenSpace,
|
|
54
|
+
connector: (space) =>
|
|
55
|
+
Effect.succeed([
|
|
56
|
+
AppNode.makeGroup({
|
|
57
|
+
id: Paths.GroupSegments.ai,
|
|
58
|
+
type: Paths.GroupTypes.ai,
|
|
59
|
+
label: ['nav-tree-group-ai.label', { ns: meta.profile.key }],
|
|
60
|
+
space,
|
|
61
|
+
position: 300,
|
|
62
|
+
}),
|
|
63
|
+
]),
|
|
64
|
+
}),
|
|
65
|
+
|
|
41
66
|
GraphBuilder.createTypeExtension({
|
|
42
67
|
id: 'root',
|
|
43
68
|
type: Chat.Chat,
|
|
@@ -134,17 +159,17 @@ export default Capability.makeModule(
|
|
|
134
159
|
label: ['assistant-chat.label', { ns: meta.profile.key }],
|
|
135
160
|
icon: 'ph--sparkle--regular',
|
|
136
161
|
data: chat,
|
|
137
|
-
position:
|
|
162
|
+
position: Position.first,
|
|
138
163
|
}),
|
|
139
164
|
];
|
|
140
|
-
}),
|
|
165
|
+
}).pipe(Effect.orDie),
|
|
141
166
|
}),
|
|
142
167
|
|
|
143
168
|
GraphBuilder.createExtension({
|
|
144
169
|
id: 'invocations',
|
|
145
170
|
match: NodeMatcher.whenAny(
|
|
146
171
|
NodeMatcher.whenEchoTypeMatches(Sequence.Sequence),
|
|
147
|
-
NodeMatcher.whenEchoTypeMatches(
|
|
172
|
+
NodeMatcher.whenEchoTypeMatches(Instructions.Instructions),
|
|
148
173
|
),
|
|
149
174
|
connector: () =>
|
|
150
175
|
Effect.succeed([
|
|
@@ -167,12 +192,12 @@ export default Capability.makeModule(
|
|
|
167
192
|
label: ['trace.label', { ns: meta.profile.key }],
|
|
168
193
|
icon: 'ph--line-segments--regular',
|
|
169
194
|
data: 'trace',
|
|
170
|
-
position:
|
|
195
|
+
position: Position.last,
|
|
171
196
|
}),
|
|
172
197
|
]),
|
|
173
198
|
}),
|
|
174
199
|
|
|
175
|
-
// Section node: standalone Chat.Chat objects per
|
|
200
|
+
// Section node: standalone Chat.Chat objects per AI group (companions are excluded).
|
|
176
201
|
TypeSection.createTypeSectionExtension(Chat.Chat, {
|
|
177
202
|
// Exclude chats that are the source of a CompanionTo relation; those belong to
|
|
178
203
|
// their primary object's companion panel and should not appear in the top-level list.
|
|
@@ -180,6 +205,7 @@ export default Capability.makeModule(
|
|
|
180
205
|
Query.select(Filter.type(Chat.Chat)),
|
|
181
206
|
Query.select(Filter.type(Chat.Chat)).sourceOf(Chat.CompanionTo).source(),
|
|
182
207
|
),
|
|
208
|
+
match: AppNodeMatcher.whenNavTreeGroup(Paths.GroupTypes.ai),
|
|
183
209
|
}),
|
|
184
210
|
|
|
185
211
|
// Create-chat action on the Chats section header.
|
|
@@ -202,7 +228,7 @@ export default Capability.makeModule(
|
|
|
202
228
|
);
|
|
203
229
|
const { subject } = yield* Operation.invoke(
|
|
204
230
|
SpaceOperation.AddObject,
|
|
205
|
-
{ object: chat, target: space.db,
|
|
231
|
+
{ object: chat, target: space.db, targetNodeId: getChatsPath(space.db.spaceId) },
|
|
206
232
|
{ spaceId: space.db.spaceId },
|
|
207
233
|
);
|
|
208
234
|
yield* Operation.invoke(
|
|
@@ -221,12 +247,6 @@ export default Capability.makeModule(
|
|
|
221
247
|
}),
|
|
222
248
|
]);
|
|
223
249
|
|
|
224
|
-
return
|
|
225
|
-
Capability.contributes(AppCapabilities.AppGraphBuilder, extensions),
|
|
226
|
-
Capability.contributes(
|
|
227
|
-
AppCapabilities.NavigationPathResolver,
|
|
228
|
-
TypeSection.createTypeSectionPathResolver(Chat.Chat),
|
|
229
|
-
),
|
|
230
|
-
];
|
|
250
|
+
return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);
|
|
231
251
|
}),
|
|
232
252
|
);
|
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
import * as Effect from 'effect/Effect';
|
|
6
6
|
|
|
7
7
|
import { Capability } from '@dxos/app-framework';
|
|
8
|
-
import {
|
|
8
|
+
import { RoutineCapabilities } from '@dxos/plugin-routine';
|
|
9
9
|
|
|
10
|
-
import {
|
|
10
|
+
import { routineTemplates } from '../templates';
|
|
11
11
|
|
|
12
12
|
export default Capability.makeModule(
|
|
13
13
|
Effect.fnUntraced(function* () {
|
|
14
|
-
return
|
|
14
|
+
return routineTemplates.map((template) => Capability.contributes(RoutineCapabilities.Template, template));
|
|
15
15
|
}),
|
|
16
16
|
);
|