@dxos/plugin-assistant 0.8.4-main.67995b8 → 0.8.4-main.72ec0f3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/browser/BlueprintArticle-IMCR3642.mjs +36 -0
- package/dist/lib/browser/BlueprintArticle-IMCR3642.mjs.map +7 -0
- package/dist/lib/browser/ChatCompanion-JYD2RIBJ.mjs +158 -0
- package/dist/lib/browser/ChatCompanion-JYD2RIBJ.mjs.map +7 -0
- package/dist/lib/browser/ChatContainer-XCPBWYIR.mjs +77 -0
- package/dist/lib/browser/ChatContainer-XCPBWYIR.mjs.map +7 -0
- package/dist/lib/browser/{ChatDialog-ZVLXFHEY.mjs → ChatDialog-DT7KFCRL.mjs} +30 -12
- package/dist/lib/browser/ChatDialog-DT7KFCRL.mjs.map +7 -0
- package/dist/lib/browser/PromptArticle-45QX25Y5.mjs +59 -0
- package/dist/lib/browser/PromptArticle-45QX25Y5.mjs.map +7 -0
- package/dist/lib/browser/ai-service-ERTZBTP3.mjs +19 -0
- package/dist/lib/browser/ai-service-ERTZBTP3.mjs.map +7 -0
- package/dist/lib/browser/app-graph-builder-VZEXMDTY.mjs +199 -0
- package/dist/lib/browser/app-graph-builder-VZEXMDTY.mjs.map +7 -0
- package/dist/lib/browser/blueprint-definition-5FT5JGPY.mjs +12 -0
- package/dist/lib/browser/blueprint-definition-5FT5JGPY.mjs.map +7 -0
- package/dist/lib/browser/chunk-2BOE3OTW.mjs +262 -0
- package/dist/lib/browser/chunk-2BOE3OTW.mjs.map +7 -0
- package/dist/lib/browser/chunk-BNTPFZ7O.mjs +229 -0
- package/dist/lib/browser/chunk-BNTPFZ7O.mjs.map +7 -0
- package/dist/lib/browser/chunk-FJQ4ZRYJ.mjs +335 -0
- package/dist/lib/browser/chunk-FJQ4ZRYJ.mjs.map +7 -0
- package/dist/lib/browser/chunk-IXIIS4QA.mjs +176 -0
- package/dist/lib/browser/chunk-IXIIS4QA.mjs.map +7 -0
- package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
- package/dist/lib/browser/chunk-J5LGTIGS.mjs.map +7 -0
- package/dist/lib/browser/chunk-LRE4VEZV.mjs +16 -0
- package/dist/lib/browser/chunk-LRE4VEZV.mjs.map +7 -0
- package/dist/lib/browser/chunk-U62BTGDF.mjs +1929 -0
- package/dist/lib/browser/chunk-U62BTGDF.mjs.map +7 -0
- package/dist/lib/browser/chunk-WBG5PTSX.mjs +23 -0
- package/dist/lib/browser/chunk-WBG5PTSX.mjs.map +7 -0
- package/dist/lib/browser/edge-model-resolver-O6OFYIO2.mjs +18 -0
- package/dist/lib/browser/edge-model-resolver-O6OFYIO2.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +209 -87
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/intent-resolver-AK5O4GUW.mjs +143 -0
- package/dist/lib/browser/intent-resolver-AK5O4GUW.mjs.map +7 -0
- package/dist/lib/browser/local-model-resolver-34MVHRKD.mjs +17 -0
- package/dist/lib/browser/local-model-resolver-34MVHRKD.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/react-surface-YCSR2MSR.mjs +98 -0
- package/dist/lib/browser/react-surface-YCSR2MSR.mjs.map +7 -0
- package/dist/lib/browser/{settings-5GTTCVGD.mjs → settings-NYJGNQ5I.mjs} +8 -7
- package/dist/lib/{node-esm/settings-J2EXEM5H.mjs.map → browser/settings-NYJGNQ5I.mjs.map} +1 -1
- package/dist/lib/browser/state-GG7Z3NB7.mjs +25 -0
- package/dist/lib/browser/state-GG7Z3NB7.mjs.map +7 -0
- package/dist/lib/browser/toolkit-VYDAWNE4.mjs +17 -0
- package/dist/lib/browser/toolkit-VYDAWNE4.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +7 -4
- package/dist/lib/node-esm/BlueprintArticle-OL2HUY6Q.mjs +37 -0
- package/dist/lib/node-esm/BlueprintArticle-OL2HUY6Q.mjs.map +7 -0
- package/dist/lib/node-esm/ChatCompanion-AHKJS25S.mjs +159 -0
- package/dist/lib/node-esm/ChatCompanion-AHKJS25S.mjs.map +7 -0
- package/dist/lib/node-esm/{ChatContainer-W3W6FWV3.mjs → ChatContainer-K7OGPE3G.mjs} +38 -15
- package/dist/lib/node-esm/ChatContainer-K7OGPE3G.mjs.map +7 -0
- package/dist/lib/node-esm/{ChatDialog-QW4JRKVO.mjs → ChatDialog-QT6ZBX45.mjs} +30 -12
- package/dist/lib/node-esm/ChatDialog-QT6ZBX45.mjs.map +7 -0
- package/dist/lib/node-esm/PromptArticle-OUKFSJQV.mjs +60 -0
- package/dist/lib/node-esm/PromptArticle-OUKFSJQV.mjs.map +7 -0
- package/dist/lib/node-esm/ai-service-MUYLV3NT.mjs +20 -0
- package/dist/lib/node-esm/ai-service-MUYLV3NT.mjs.map +7 -0
- package/dist/lib/node-esm/app-graph-builder-VRN6ESRR.mjs +200 -0
- package/dist/lib/node-esm/app-graph-builder-VRN6ESRR.mjs.map +7 -0
- package/dist/lib/node-esm/blueprint-definition-XW6QQVLV.mjs +13 -0
- package/dist/lib/node-esm/blueprint-definition-XW6QQVLV.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-3Q22TTXW.mjs +264 -0
- package/dist/lib/node-esm/chunk-3Q22TTXW.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-AB74FOA2.mjs +230 -0
- package/dist/lib/node-esm/chunk-AB74FOA2.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-BHS747K7.mjs +1930 -0
- package/dist/lib/node-esm/chunk-BHS747K7.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-KJGD4EBJ.mjs +336 -0
- package/dist/lib/node-esm/chunk-KJGD4EBJ.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-UXTUHH24.mjs +178 -0
- package/dist/lib/node-esm/chunk-UXTUHH24.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-WE6KTH72.mjs +25 -0
- package/dist/lib/node-esm/chunk-WE6KTH72.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-YWFWT57N.mjs +17 -0
- package/dist/lib/node-esm/chunk-YWFWT57N.mjs.map +7 -0
- package/dist/lib/node-esm/edge-model-resolver-2ARXDOYS.mjs +19 -0
- package/dist/lib/node-esm/edge-model-resolver-2ARXDOYS.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +209 -87
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/intent-resolver-L2F3N45L.mjs +144 -0
- package/dist/lib/node-esm/intent-resolver-L2F3N45L.mjs.map +7 -0
- package/dist/lib/node-esm/local-model-resolver-TP2NTSAX.mjs +18 -0
- package/dist/lib/node-esm/local-model-resolver-TP2NTSAX.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/react-surface-CTW44GEM.mjs +99 -0
- package/dist/lib/node-esm/react-surface-CTW44GEM.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-J2EXEM5H.mjs → settings-RRHYI5KO.mjs} +8 -7
- package/dist/lib/{browser/settings-5GTTCVGD.mjs.map → node-esm/settings-RRHYI5KO.mjs.map} +1 -1
- package/dist/lib/node-esm/state-FSUHFMDM.mjs +26 -0
- package/dist/lib/node-esm/state-FSUHFMDM.mjs.map +7 -0
- package/dist/lib/node-esm/toolkit-HFJZLVIR.mjs +18 -0
- package/dist/lib/node-esm/toolkit-HFJZLVIR.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +7 -4
- package/dist/types/src/AssistantPlugin.d.ts +1 -1
- package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/ai-service.d.ts +4 -0
- package/dist/types/src/capabilities/ai-service.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder.d.ts +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/blueprint-definition.d.ts +7 -0
- package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
- package/dist/types/src/capabilities/capabilities.d.ts +10 -0
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -0
- package/dist/types/src/capabilities/edge-model-resolver.d.ts +4 -0
- package/dist/types/src/capabilities/edge-model-resolver.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +11 -3
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/local-model-resolver.d.ts +10 -0
- package/dist/types/src/capabilities/local-model-resolver.d.ts.map +1 -0
- 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/state.d.ts +4 -0
- package/dist/types/src/capabilities/state.d.ts.map +1 -0
- package/dist/types/src/capabilities/toolkit.d.ts +4 -0
- package/dist/types/src/capabilities/toolkit.d.ts.map +1 -0
- package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +1 -1
- package/dist/types/src/components/BlueprintArticle.d.ts +7 -0
- package/dist/types/src/components/BlueprintArticle.d.ts.map +1 -0
- package/dist/types/src/components/Chat/Chat.d.ts +35 -21
- package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
- package/dist/types/src/components/Chat/events.d.ts +9 -0
- package/dist/types/src/components/Chat/events.d.ts.map +1 -1
- package/dist/types/src/components/ChatCompanion.d.ts +13 -0
- package/dist/types/src/components/ChatCompanion.d.ts.map +1 -0
- package/dist/types/src/components/ChatContainer.d.ts +9 -6
- package/dist/types/src/components/ChatContainer.d.ts.map +1 -1
- package/dist/types/src/components/ChatDialog.d.ts.map +1 -1
- package/dist/types/src/components/ChatProgress/ChatProgress.d.ts +7 -0
- package/dist/types/src/components/ChatProgress/ChatProgress.d.ts.map +1 -0
- package/dist/types/src/components/ChatProgress/index.d.ts +2 -0
- package/dist/types/src/components/ChatProgress/index.d.ts.map +1 -0
- package/dist/types/src/components/ChatPrompt/ChatActions.d.ts.map +1 -1
- package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts +20 -0
- package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts.map +1 -0
- package/dist/types/src/components/ChatPrompt/ChatPresets.d.ts.map +1 -1
- package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts +4 -5
- package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts.map +1 -1
- package/dist/types/src/components/ChatPrompt/ChatStatusIndicator.d.ts +6 -4
- package/dist/types/src/components/ChatPrompt/ChatStatusIndicator.d.ts.map +1 -1
- package/dist/types/src/components/ChatPrompt/index.d.ts +1 -1
- package/dist/types/src/components/ChatPrompt/index.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/ChatThread.d.ts +12 -10
- package/dist/types/src/components/ChatThread/ChatThread.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +191 -55
- package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/Link.d.ts +9 -0
- package/dist/types/src/components/ChatThread/Link.d.ts.map +1 -0
- package/dist/types/src/components/ChatThread/reducers.d.ts +40 -0
- package/dist/types/src/components/ChatThread/reducers.d.ts.map +1 -0
- package/dist/types/src/components/ChatThread/registry.d.ts +11 -0
- package/dist/types/src/components/ChatThread/registry.d.ts.map +1 -0
- package/dist/types/src/components/ChatThread/sync.d.ts +42 -0
- package/dist/types/src/components/ChatThread/sync.d.ts.map +1 -0
- package/dist/types/src/components/ChatThread/sync.test.d.ts +2 -0
- package/dist/types/src/components/ChatThread/sync.test.d.ts.map +1 -0
- package/dist/types/src/components/PromptArticle.d.ts +7 -0
- package/dist/types/src/components/PromptArticle.d.ts.map +1 -0
- package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts +2 -6
- package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
- package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts +312 -7
- package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +1 -1
- package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
- package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts +309 -2
- package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts.map +1 -1
- package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts +12 -0
- package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts.map +1 -0
- package/dist/types/src/components/TemplateEditor/extensions/index.d.ts +3 -0
- package/dist/types/src/components/TemplateEditor/extensions/index.d.ts.map +1 -0
- package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts +8 -0
- package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts.map +1 -0
- package/dist/types/src/components/ToolBlock/ToolBlock.d.ts +21 -0
- package/dist/types/src/components/ToolBlock/ToolBlock.d.ts.map +1 -0
- package/dist/types/src/components/ToolBlock/ToolBlockWidget.d.ts +2 -0
- package/dist/types/src/components/ToolBlock/ToolBlockWidget.d.ts.map +1 -0
- package/dist/types/src/components/ToolBlock/index.d.ts +3 -0
- package/dist/types/src/components/ToolBlock/index.d.ts.map +1 -0
- package/dist/types/src/components/Toolbox/Toolbox.d.ts +6 -11
- package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
- package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts +313 -5
- package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +4 -6
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/events.d.ts +1 -1
- package/dist/types/src/events.d.ts.map +1 -1
- package/dist/types/src/functions/analysis.d.ts +5 -0
- package/dist/types/src/functions/analysis.d.ts.map +1 -0
- package/dist/types/src/functions/index.d.ts +4 -0
- package/dist/types/src/functions/index.d.ts.map +1 -0
- package/dist/types/src/functions/object-list.d.ts +10 -0
- package/dist/types/src/functions/object-list.d.ts.map +1 -0
- package/dist/types/src/functions/object-load.d.ts +8 -0
- package/dist/types/src/functions/object-load.d.ts.map +1 -0
- package/dist/types/src/hooks/index.d.ts +8 -3
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useBlueprintRegistry.d.ts +25 -0
- package/dist/types/src/hooks/useBlueprintRegistry.d.ts.map +1 -0
- package/dist/types/src/hooks/useChatProcessor.d.ts +8 -19
- package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
- package/dist/types/src/hooks/useChatServices.d.ts +5 -6
- package/dist/types/src/hooks/useChatServices.d.ts.map +1 -1
- package/dist/types/src/hooks/useChatToolbarActions.d.ts +8 -0
- package/dist/types/src/hooks/useChatToolbarActions.d.ts.map +1 -0
- package/dist/types/src/hooks/useContextBinder.d.ts +4 -0
- package/dist/types/src/hooks/useContextBinder.d.ts.map +1 -0
- package/dist/types/src/hooks/useContextObjects.d.ts +15 -0
- package/dist/types/src/hooks/useContextObjects.d.ts.map +1 -0
- package/dist/types/src/hooks/useFlush.d.ts +6 -0
- package/dist/types/src/hooks/useFlush.d.ts.map +1 -0
- package/dist/types/src/hooks/useItemTypes.d.ts +4 -0
- package/dist/types/src/hooks/useItemTypes.d.ts.map +1 -0
- package/dist/types/src/hooks/useOnline.d.ts +3 -0
- package/dist/types/src/hooks/useOnline.d.ts.map +1 -0
- package/dist/types/src/hooks/usePresets.d.ts +7 -0
- package/dist/types/src/hooks/usePresets.d.ts.map +1 -0
- package/dist/types/src/hooks/useReferencesProvider.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +2 -0
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +1 -2
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/processor/index.d.ts +4 -0
- package/dist/types/src/processor/index.d.ts.map +1 -0
- package/dist/types/src/{hooks → processor}/presets.d.ts +3 -3
- package/dist/types/src/processor/presets.d.ts.map +1 -0
- package/dist/types/src/processor/processor.d.ts +74 -0
- package/dist/types/src/processor/processor.d.ts.map +1 -0
- package/dist/types/src/processor/processor.test.d.ts +2 -0
- package/dist/types/src/processor/processor.test.d.ts.map +1 -0
- package/dist/types/src/processor/update-name.d.ts +10 -0
- package/dist/types/src/processor/update-name.d.ts.map +1 -0
- package/dist/types/src/queue-logger.d.ts.map +1 -1
- package/dist/types/src/testing/index.d.ts +1 -1
- package/dist/types/src/testing/index.d.ts.map +1 -1
- package/dist/types/src/testing/test-generator.d.ts +7 -0
- package/dist/types/src/testing/test-generator.d.ts.map +1 -0
- package/dist/types/src/testing/test-sequence.d.ts +0 -4
- package/dist/types/src/testing/test-sequence.d.ts.map +1 -1
- package/dist/types/src/testing/test-services.d.ts +2 -2
- package/dist/types/src/testing/test-services.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +257 -28
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Assistant.d.ts +48 -0
- package/dist/types/src/types/Assistant.d.ts.map +1 -0
- package/dist/types/src/types/AssistantAction.d.ts +132 -0
- package/dist/types/src/types/AssistantAction.d.ts.map +1 -0
- package/dist/types/src/types/defs.d.ts +2 -0
- package/dist/types/src/types/defs.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +3 -1
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/service.d.ts +27 -18
- package/dist/types/src/types/service.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +100 -97
- package/src/AssistantPlugin.tsx +168 -107
- package/src/capabilities/ai-service.ts +27 -0
- package/src/capabilities/app-graph-builder.ts +101 -60
- package/src/capabilities/blueprint-definition.ts +66 -0
- package/src/capabilities/capabilities.ts +17 -0
- package/src/capabilities/edge-model-resolver.ts +25 -0
- package/src/capabilities/index.ts +9 -0
- package/src/capabilities/intent-resolver.ts +97 -22
- package/src/capabilities/local-model-resolver.ts +30 -0
- package/src/capabilities/react-surface.tsx +24 -75
- package/src/capabilities/state.ts +22 -0
- package/src/capabilities/toolkit.ts +17 -0
- package/src/components/AssistantSettings/AssistantSettings.tsx +83 -76
- package/src/components/BlueprintArticle.tsx +29 -0
- package/src/components/Chat/Chat.tsx +260 -217
- package/src/components/Chat/events.ts +13 -0
- package/src/components/ChatCompanion.tsx +155 -0
- package/src/components/ChatContainer.tsx +36 -20
- package/src/components/ChatDialog.tsx +25 -14
- package/src/components/ChatProgress/ChatProgress.tsx +67 -0
- package/src/components/{SequenceEditor → ChatProgress}/index.ts +1 -1
- package/src/components/ChatPrompt/ChatActions.tsx +10 -26
- package/src/components/ChatPrompt/ChatOptions.tsx +228 -0
- package/src/components/ChatPrompt/ChatPresets.tsx +1 -0
- package/src/components/ChatPrompt/ChatReferences.tsx +31 -36
- package/src/components/ChatPrompt/ChatStatusIndicator.tsx +25 -22
- package/src/components/ChatPrompt/index.ts +1 -1
- package/src/components/ChatThread/ChatThread.stories.tsx +120 -115
- package/src/components/ChatThread/ChatThread.tsx +65 -35
- package/src/components/ChatThread/Link.tsx +26 -0
- package/src/components/ChatThread/reducers.ts +151 -0
- package/src/components/ChatThread/registry.tsx +174 -0
- package/src/components/ChatThread/sync.test.ts +89 -0
- package/src/components/ChatThread/sync.ts +148 -0
- package/src/components/ChatThread/testing/thread.md +37 -0
- package/src/components/PromptArticle.tsx +51 -0
- package/src/components/TemplateEditor/TemplateEditor.stories.tsx +38 -17
- package/src/components/TemplateEditor/TemplateEditor.tsx +29 -53
- package/src/components/TemplateEditor/TemplateForm.stories.tsx +16 -11
- package/src/components/TemplateEditor/TemplateForm.tsx +5 -3
- package/src/components/TemplateEditor/extensions/handlebars-extension.ts +269 -0
- package/src/components/TemplateEditor/extensions/index.ts +6 -0
- package/src/components/TemplateEditor/extensions/xml-extension.ts +64 -0
- package/src/components/ToolBlock/ToolBlock.tsx +143 -0
- package/src/components/ToolBlock/ToolBlockWidget.tsx +5 -0
- package/src/components/ToolBlock/index.ts +6 -0
- package/src/components/Toolbox/Toolbox.stories.tsx +14 -23
- package/src/components/Toolbox/Toolbox.tsx +25 -55
- package/src/components/index.ts +3 -7
- package/src/events.ts +2 -2
- package/src/functions/analysis.ts +22 -0
- package/src/functions/index.ts +7 -0
- package/src/functions/object-list.ts +48 -0
- package/src/functions/object-load.ts +45 -0
- package/src/hooks/index.ts +8 -4
- package/src/hooks/useBlueprintRegistry.ts +95 -0
- package/src/hooks/useChatProcessor.ts +35 -104
- package/src/hooks/useChatServices.ts +33 -49
- package/src/hooks/useChatToolbarActions.ts +122 -0
- package/src/hooks/useContextBinder.ts +30 -0
- package/src/hooks/useContextObjects.ts +58 -0
- package/src/hooks/useFlush.ts +35 -0
- package/src/hooks/useItemTypes.ts +37 -0
- package/src/hooks/useOnline.ts +10 -0
- package/src/hooks/usePresets.ts +44 -0
- package/src/hooks/useReferencesProvider.ts +13 -10
- package/src/index.ts +2 -0
- package/src/meta.ts +9 -6
- package/src/processor/index.ts +7 -0
- package/src/{hooks → processor}/presets.ts +16 -8
- package/src/processor/processor.test.ts +71 -0
- package/src/processor/processor.ts +277 -0
- package/src/processor/update-name.ts +56 -0
- package/src/queue-logger.ts +13 -17
- package/src/testing/index.ts +1 -1
- package/src/testing/test-generator.ts +261 -0
- package/src/testing/test-sequence.ts +2 -27
- package/src/testing/test-services.ts +2 -8
- package/src/translations.ts +45 -18
- package/src/types/Assistant.ts +63 -0
- package/src/types/AssistantAction.ts +79 -0
- package/src/types/defs.ts +5 -0
- package/src/types/index.ts +4 -1
- package/src/types/service.ts +17 -9
- package/src/vite-env.d.ts +30 -0
- package/dist/lib/browser/BlueprintContainer-IZ4AK5EO.mjs +0 -28
- package/dist/lib/browser/BlueprintContainer-IZ4AK5EO.mjs.map +0 -7
- package/dist/lib/browser/ChatContainer-RP3QEXYX.mjs +0 -54
- package/dist/lib/browser/ChatContainer-RP3QEXYX.mjs.map +0 -7
- package/dist/lib/browser/ChatDialog-ZVLXFHEY.mjs.map +0 -7
- package/dist/lib/browser/SequenceContainer-3UDVKWPA.mjs +0 -162
- package/dist/lib/browser/SequenceContainer-3UDVKWPA.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-XSEOKJLG.mjs +0 -164
- package/dist/lib/browser/app-graph-builder-XSEOKJLG.mjs.map +0 -7
- package/dist/lib/browser/chunk-63GG6U6D.mjs +0 -2226
- package/dist/lib/browser/chunk-63GG6U6D.mjs.map +0 -7
- package/dist/lib/browser/chunk-7W7LHTRH.mjs +0 -171
- package/dist/lib/browser/chunk-7W7LHTRH.mjs.map +0 -7
- package/dist/lib/browser/chunk-FDCJSQYF.mjs +0 -40
- package/dist/lib/browser/chunk-FDCJSQYF.mjs.map +0 -7
- package/dist/lib/browser/chunk-KFXSBNZR.mjs +0 -89
- package/dist/lib/browser/chunk-KFXSBNZR.mjs.map +0 -7
- package/dist/lib/browser/chunk-LERGF5YG.mjs +0 -108
- package/dist/lib/browser/chunk-LERGF5YG.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-MV3VSZLS.mjs +0 -75
- package/dist/lib/browser/intent-resolver-MV3VSZLS.mjs.map +0 -7
- package/dist/lib/browser/react-surface-3GYEHQRP.mjs +0 -150
- package/dist/lib/browser/react-surface-3GYEHQRP.mjs.map +0 -7
- package/dist/lib/node-esm/BlueprintContainer-RGTMNLNX.mjs +0 -29
- package/dist/lib/node-esm/BlueprintContainer-RGTMNLNX.mjs.map +0 -7
- package/dist/lib/node-esm/ChatContainer-W3W6FWV3.mjs.map +0 -7
- package/dist/lib/node-esm/ChatDialog-QW4JRKVO.mjs.map +0 -7
- package/dist/lib/node-esm/SequenceContainer-RQQH5XOC.mjs +0 -163
- package/dist/lib/node-esm/SequenceContainer-RQQH5XOC.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-PANCJUHV.mjs +0 -165
- package/dist/lib/node-esm/app-graph-builder-PANCJUHV.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-BFO3KHYL.mjs +0 -2227
- package/dist/lib/node-esm/chunk-BFO3KHYL.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-MS3PJARN.mjs +0 -109
- package/dist/lib/node-esm/chunk-MS3PJARN.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-QN2H2EHV.mjs +0 -41
- package/dist/lib/node-esm/chunk-QN2H2EHV.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-VIIMA3XQ.mjs +0 -90
- package/dist/lib/node-esm/chunk-VIIMA3XQ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-Z7PUODRT.mjs +0 -172
- package/dist/lib/node-esm/chunk-Z7PUODRT.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-3FMC3GHC.mjs +0 -76
- package/dist/lib/node-esm/intent-resolver-3FMC3GHC.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-QDQWJ7FZ.mjs +0 -151
- package/dist/lib/node-esm/react-surface-QDQWJ7FZ.mjs.map +0 -7
- package/dist/types/src/capability-definitions.d.ts +0 -7
- package/dist/types/src/capability-definitions.d.ts.map +0 -1
- package/dist/types/src/components/BlueprintContainer.d.ts +0 -8
- package/dist/types/src/components/BlueprintContainer.d.ts.map +0 -1
- package/dist/types/src/components/ChatPrompt/ChatOptionsMenu.d.ts +0 -9
- package/dist/types/src/components/ChatPrompt/ChatOptionsMenu.d.ts.map +0 -1
- package/dist/types/src/components/ChatThread/ChatMessage.d.ts +0 -17
- package/dist/types/src/components/ChatThread/ChatMessage.d.ts.map +0 -1
- package/dist/types/src/components/ChatThread/ToolBlock.d.ts +0 -19
- package/dist/types/src/components/ChatThread/ToolBlock.d.ts.map +0 -1
- package/dist/types/src/components/ChatThread/reducer.d.ts +0 -12
- package/dist/types/src/components/ChatThread/reducer.d.ts.map +0 -1
- package/dist/types/src/components/PromptSettings.d.ts +0 -6
- package/dist/types/src/components/PromptSettings.d.ts.map +0 -1
- package/dist/types/src/components/SequenceContainer.d.ts +0 -8
- package/dist/types/src/components/SequenceContainer.d.ts.map +0 -1
- package/dist/types/src/components/SequenceEditor/SequenceEditor.d.ts +0 -13
- package/dist/types/src/components/SequenceEditor/SequenceEditor.d.ts.map +0 -1
- package/dist/types/src/components/SequenceEditor/SequenceEditor.stories.d.ts +0 -8
- package/dist/types/src/components/SequenceEditor/SequenceEditor.stories.d.ts.map +0 -1
- package/dist/types/src/components/SequenceEditor/index.d.ts +0 -2
- package/dist/types/src/components/SequenceEditor/index.d.ts.map +0 -1
- package/dist/types/src/hooks/chat-processor.d.ts +0 -86
- package/dist/types/src/hooks/chat-processor.d.ts.map +0 -1
- package/dist/types/src/hooks/chat-processor.test.d.ts +0 -2
- package/dist/types/src/hooks/chat-processor.test.d.ts.map +0 -1
- package/dist/types/src/hooks/presets.d.ts.map +0 -1
- package/dist/types/src/hooks/useBlueprints.d.ts +0 -9
- package/dist/types/src/hooks/useBlueprints.d.ts.map +0 -1
- package/dist/types/src/parser/filter-generator.d.ts +0 -4
- package/dist/types/src/parser/filter-generator.d.ts.map +0 -1
- package/dist/types/src/parser/filter-generator.test.d.ts +0 -2
- package/dist/types/src/parser/filter-generator.test.d.ts.map +0 -1
- package/dist/types/src/parser/index.d.ts +0 -4
- package/dist/types/src/parser/index.d.ts.map +0 -1
- package/dist/types/src/parser/query-parser.d.ts +0 -15
- package/dist/types/src/parser/query-parser.d.ts.map +0 -1
- package/dist/types/src/parser/query-parser.test.d.ts +0 -2
- package/dist/types/src/parser/query-parser.test.d.ts.map +0 -1
- package/dist/types/src/parser/types.d.ts +0 -24
- package/dist/types/src/parser/types.d.ts.map +0 -1
- package/dist/types/src/stories/Chat.stories.d.ts +0 -207
- package/dist/types/src/stories/Chat.stories.d.ts.map +0 -1
- package/dist/types/src/testing/test-functions.d.ts +0 -3
- package/dist/types/src/testing/test-functions.d.ts.map +0 -1
- package/dist/types/src/tools/function.d.ts +0 -5
- package/dist/types/src/tools/function.d.ts.map +0 -1
- package/dist/types/src/tools/index.d.ts +0 -3
- package/dist/types/src/tools/index.d.ts.map +0 -1
- package/dist/types/src/tools/openapi.d.ts +0 -10
- package/dist/types/src/tools/openapi.d.ts.map +0 -1
- package/dist/types/src/tools/openapi.test.d.ts +0 -2
- package/dist/types/src/tools/openapi.test.d.ts.map +0 -1
- package/dist/types/src/types/schema.d.ts +0 -120
- package/dist/types/src/types/schema.d.ts.map +0 -1
- package/src/capability-definitions.ts +0 -15
- package/src/components/BlueprintContainer.tsx +0 -24
- package/src/components/ChatPrompt/ChatOptionsMenu.tsx +0 -52
- package/src/components/ChatThread/ChatMessage.tsx +0 -268
- package/src/components/ChatThread/ToolBlock.tsx +0 -121
- package/src/components/ChatThread/reducer.ts +0 -52
- package/src/components/PromptSettings.tsx +0 -89
- package/src/components/SequenceContainer.tsx +0 -132
- package/src/components/SequenceEditor/SequenceEditor.stories.tsx +0 -32
- package/src/components/SequenceEditor/SequenceEditor.tsx +0 -50
- package/src/hooks/chat-processor.test.ts +0 -16
- package/src/hooks/chat-processor.ts +0 -314
- package/src/hooks/useBlueprints.ts +0 -57
- package/src/parser/filter-generator.test.ts +0 -32
- package/src/parser/filter-generator.ts +0 -81
- package/src/parser/index.ts +0 -7
- package/src/parser/query-parser.test.ts +0 -139
- package/src/parser/query-parser.ts +0 -199
- package/src/parser/types.ts +0 -34
- package/src/shims.d.ts +0 -8
- package/src/stories/Chat.stories.tsx +0 -371
- package/src/testing/test-functions.ts +0 -11
- package/src/tools/function.ts +0 -46
- package/src/tools/index.ts +0 -6
- package/src/tools/openapi.test.ts +0 -217
- package/src/tools/openapi.ts +0 -338
- package/src/types/schema.ts +0 -108
- package/src/typings.d.ts +0 -9
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
|
|
3
|
+
// src/processor/update-name.ts
|
|
4
|
+
import * as Effect from "effect/Effect";
|
|
5
|
+
import * as Exit from "effect/Exit";
|
|
6
|
+
import * as Fiber from "effect/Fiber";
|
|
7
|
+
import * as Runtime from "effect/Runtime";
|
|
8
|
+
import { AiService, DEFAULT_EDGE_MODEL } from "@dxos/ai";
|
|
9
|
+
import { AiSession } from "@dxos/assistant";
|
|
10
|
+
import { throwCause } from "@dxos/effect";
|
|
11
|
+
import { trim } from "@dxos/util";
|
|
12
|
+
var updateName = async (runtime, conversation, chat, model = DEFAULT_EDGE_MODEL) => {
|
|
13
|
+
const history = await conversation.getHistory();
|
|
14
|
+
const system = trim`
|
|
15
|
+
It is extremely important that you respond only with the title and nothing else.
|
|
16
|
+
If you cannot do this effectively respond with "New Chat".
|
|
17
|
+
`;
|
|
18
|
+
const prompt = "Suggest a name for this chat";
|
|
19
|
+
const fiber = Effect.gen(void 0, function* () {
|
|
20
|
+
const session = new AiSession();
|
|
21
|
+
return yield* session.run({
|
|
22
|
+
system,
|
|
23
|
+
prompt,
|
|
24
|
+
history
|
|
25
|
+
});
|
|
26
|
+
}).pipe(Effect.provide(AiService.model(model)), Effect.tap((messages) => {
|
|
27
|
+
const message = messages.find((message2) => message2.sender.role === "assistant");
|
|
28
|
+
const title = message?.blocks.find((block) => block._tag === "text")?.text;
|
|
29
|
+
if (title) {
|
|
30
|
+
chat.name = title;
|
|
31
|
+
}
|
|
32
|
+
}), Runtime.runFork(runtime));
|
|
33
|
+
const response = await fiber.pipe(Fiber.join, Effect.runPromiseExit);
|
|
34
|
+
if (!Exit.isSuccess(response)) {
|
|
35
|
+
throwCause(response.cause);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
// src/processor/presets.ts
|
|
40
|
+
import * as Schema from "effect/Schema";
|
|
41
|
+
var ModelProviders = [
|
|
42
|
+
"dxos-local",
|
|
43
|
+
"dxos-remote",
|
|
44
|
+
"lm-studio"
|
|
45
|
+
];
|
|
46
|
+
var ModelProvider = Schema.Literal(...ModelProviders);
|
|
47
|
+
var createModelLabel = (model) => {
|
|
48
|
+
const parts = model.split("/");
|
|
49
|
+
return parts[parts.length - 1];
|
|
50
|
+
};
|
|
51
|
+
var AiServicePresets = [
|
|
52
|
+
{
|
|
53
|
+
provider: "dxos-remote",
|
|
54
|
+
model: "@anthropic/claude-opus-4-0"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
provider: "dxos-remote",
|
|
58
|
+
model: "@anthropic/claude-sonnet-4-0"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
provider: "dxos-remote",
|
|
62
|
+
model: "@anthropic/claude-3-5-haiku-20241022"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
provider: "lm-studio",
|
|
66
|
+
model: "@google/gemma-3-27b"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
provider: "lm-studio",
|
|
70
|
+
model: "@meta/llama-3.2-3b-instruct"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
model: "deepseek-r1:latest",
|
|
74
|
+
provider: "dxos-local"
|
|
75
|
+
}
|
|
76
|
+
].map(({ model, provider }, i) => ({
|
|
77
|
+
id: `preset-${i}`,
|
|
78
|
+
provider,
|
|
79
|
+
model,
|
|
80
|
+
label: createModelLabel(model)
|
|
81
|
+
}));
|
|
82
|
+
|
|
83
|
+
// src/processor/processor.ts
|
|
84
|
+
import { Atom, Registry } from "@effect-atom/atom-react";
|
|
85
|
+
import * as Cause from "effect/Cause";
|
|
86
|
+
import * as Effect2 from "effect/Effect";
|
|
87
|
+
import * as Exit2 from "effect/Exit";
|
|
88
|
+
import * as Fiber2 from "effect/Fiber";
|
|
89
|
+
import * as Option from "effect/Option";
|
|
90
|
+
import * as Runtime2 from "effect/Runtime";
|
|
91
|
+
import { AiService as AiService2, DEFAULT_EDGE_MODEL as DEFAULT_EDGE_MODEL2 } from "@dxos/ai";
|
|
92
|
+
import { ArtifactDiffResolver, GenerationObserver, createSystemPrompt } from "@dxos/assistant";
|
|
93
|
+
import { Obj } from "@dxos/echo";
|
|
94
|
+
import { throwCause as throwCause2 } from "@dxos/effect";
|
|
95
|
+
import { log } from "@dxos/log";
|
|
96
|
+
import { Message } from "@dxos/types";
|
|
97
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-assistant/src/processor/processor.ts";
|
|
98
|
+
var defaultOptions = {
|
|
99
|
+
model: DEFAULT_EDGE_MODEL2
|
|
100
|
+
};
|
|
101
|
+
var AiChatProcessor = class {
|
|
102
|
+
_conversation;
|
|
103
|
+
_services;
|
|
104
|
+
_options;
|
|
105
|
+
_registry;
|
|
106
|
+
/** External observer. */
|
|
107
|
+
_observer;
|
|
108
|
+
/** Currently active request fiber. */
|
|
109
|
+
_fiber;
|
|
110
|
+
/** Last request (for retries). */
|
|
111
|
+
_lastRequest;
|
|
112
|
+
/** Pending messages (incl. the current user request). */
|
|
113
|
+
_pending = Atom.make([]);
|
|
114
|
+
/** Currently streaming message (from the AI service). */
|
|
115
|
+
_streaming = Atom.make(Option.none());
|
|
116
|
+
/** Streaming state. */
|
|
117
|
+
streaming = Atom.make((get) => Option.isSome(get(this._streaming)));
|
|
118
|
+
/** Active state. */
|
|
119
|
+
active = Atom.make(false);
|
|
120
|
+
/** Array of Messages (incl. the current message being streamed). */
|
|
121
|
+
messages = Atom.make((get) => Option.match(get(this._streaming), {
|
|
122
|
+
onNone: () => get(this._pending),
|
|
123
|
+
onSome: (streaming) => [
|
|
124
|
+
...get(this._pending),
|
|
125
|
+
streaming
|
|
126
|
+
]
|
|
127
|
+
}));
|
|
128
|
+
/** Last error. */
|
|
129
|
+
error = Atom.make(Option.none());
|
|
130
|
+
constructor(_conversation, _services, _options = defaultOptions) {
|
|
131
|
+
this._conversation = _conversation;
|
|
132
|
+
this._services = _services;
|
|
133
|
+
this._options = _options;
|
|
134
|
+
this._registry = this._options.observableRegistry ?? Registry.make();
|
|
135
|
+
this._observer = GenerationObserver.make({
|
|
136
|
+
onBlock: this._onBlock,
|
|
137
|
+
onMessage: this._onMessage
|
|
138
|
+
});
|
|
139
|
+
if (this._options.model && !this._options.system) {
|
|
140
|
+
const capabilities = this._options.modelRegistry?.getCapabilities(this._options.model) ?? {};
|
|
141
|
+
this._options.system = createSystemPrompt(capabilities);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
get context() {
|
|
145
|
+
return this._conversation.context;
|
|
146
|
+
}
|
|
147
|
+
get conversation() {
|
|
148
|
+
return this._conversation;
|
|
149
|
+
}
|
|
150
|
+
get blueprintRegistry() {
|
|
151
|
+
return this._options.blueprintRegistry;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Initiates a new request.
|
|
155
|
+
*/
|
|
156
|
+
async request(requestParam) {
|
|
157
|
+
if (this._fiber) {
|
|
158
|
+
await this.cancel();
|
|
159
|
+
}
|
|
160
|
+
try {
|
|
161
|
+
this._lastRequest = requestParam;
|
|
162
|
+
this._registry.set(this.error, Option.none());
|
|
163
|
+
this._registry.set(this.active, true);
|
|
164
|
+
const request = this._conversation.createRequest({
|
|
165
|
+
system: this._options.system,
|
|
166
|
+
prompt: requestParam.message,
|
|
167
|
+
observer: this._observer
|
|
168
|
+
});
|
|
169
|
+
const runtime = await this._services();
|
|
170
|
+
this._fiber = request.pipe(
|
|
171
|
+
Effect2.provide(AiService2.model(this._options.model ?? DEFAULT_EDGE_MODEL2)),
|
|
172
|
+
// TODO(dmaretskyi): Move ArtifactDiffResolver upstream.
|
|
173
|
+
Effect2.provideService(ArtifactDiffResolver, this._artifactDiffResolver),
|
|
174
|
+
Effect2.asVoid,
|
|
175
|
+
Runtime2.runFork(runtime)
|
|
176
|
+
);
|
|
177
|
+
const response = await this._fiber.pipe(Fiber2.join, Effect2.runPromiseExit);
|
|
178
|
+
if (!Exit2.isSuccess(response) && !Cause.isInterruptedOnly(response.cause)) {
|
|
179
|
+
throwCause2(response.cause);
|
|
180
|
+
}
|
|
181
|
+
this._registry.set(this.error, Option.none());
|
|
182
|
+
this._lastRequest = void 0;
|
|
183
|
+
this._fiber = void 0;
|
|
184
|
+
} catch (error) {
|
|
185
|
+
log.error("request failed", {
|
|
186
|
+
error
|
|
187
|
+
}, {
|
|
188
|
+
F: __dxlog_file,
|
|
189
|
+
L: 187,
|
|
190
|
+
S: this,
|
|
191
|
+
C: (f, a) => f(...a)
|
|
192
|
+
});
|
|
193
|
+
this._registry.set(this.error, Option.some(new Error("AI service error", {
|
|
194
|
+
cause: error
|
|
195
|
+
})));
|
|
196
|
+
} finally {
|
|
197
|
+
this._fiber = void 0;
|
|
198
|
+
this._registry.set(this.active, false);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Cancels the current request.
|
|
203
|
+
*/
|
|
204
|
+
async cancel() {
|
|
205
|
+
await Effect2.runPromise(Effect2.gen(this, function* () {
|
|
206
|
+
if (this._fiber) {
|
|
207
|
+
yield* this._fiber.pipe(Fiber2.interrupt);
|
|
208
|
+
}
|
|
209
|
+
}));
|
|
210
|
+
this._fiber = void 0;
|
|
211
|
+
this._registry.set(this.active, false);
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Retry last failed request.
|
|
215
|
+
*/
|
|
216
|
+
async retry() {
|
|
217
|
+
if (this._lastRequest) {
|
|
218
|
+
return this.request(this._lastRequest);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Update the current chat's name.
|
|
223
|
+
*/
|
|
224
|
+
async updateName(chat) {
|
|
225
|
+
const runtime = await this._services();
|
|
226
|
+
await updateName(runtime, this._conversation, chat, this._options.model);
|
|
227
|
+
}
|
|
228
|
+
// TODO(burdon): Fix/factor out.
|
|
229
|
+
_artifactDiffResolver = {
|
|
230
|
+
resolve: async (_artifacts) => {
|
|
231
|
+
const versions = /* @__PURE__ */ new Map();
|
|
232
|
+
return versions;
|
|
233
|
+
}
|
|
234
|
+
};
|
|
235
|
+
_onMessage = Effect2.fn((function* (message) {
|
|
236
|
+
this._registry.set(this._streaming, Option.none());
|
|
237
|
+
this._registry.update(this._pending, (pending) => [
|
|
238
|
+
...pending,
|
|
239
|
+
message
|
|
240
|
+
]);
|
|
241
|
+
}).bind(this));
|
|
242
|
+
_onBlock = Effect2.fn((function* (block) {
|
|
243
|
+
this._registry.update(this._streaming, (streaming) => {
|
|
244
|
+
const blocks = streaming.pipe(Option.map((streaming2) => streaming2.blocks.filter((b) => !b.pending)), Option.getOrElse(() => []));
|
|
245
|
+
return Option.some(Obj.make(Message.Message, {
|
|
246
|
+
created: (/* @__PURE__ */ new Date()).toISOString(),
|
|
247
|
+
sender: {
|
|
248
|
+
role: "assistant"
|
|
249
|
+
},
|
|
250
|
+
blocks: [
|
|
251
|
+
...blocks,
|
|
252
|
+
block
|
|
253
|
+
]
|
|
254
|
+
}));
|
|
255
|
+
});
|
|
256
|
+
}).bind(this));
|
|
257
|
+
};
|
|
258
|
+
|
|
259
|
+
export {
|
|
260
|
+
AiServicePresets,
|
|
261
|
+
updateName,
|
|
262
|
+
AiChatProcessor
|
|
263
|
+
};
|
|
264
|
+
//# sourceMappingURL=chunk-3Q22TTXW.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/processor/update-name.ts", "../../../src/processor/presets.ts", "../../../src/processor/processor.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Exit from 'effect/Exit';\nimport * as Fiber from 'effect/Fiber';\nimport * as Runtime from 'effect/Runtime';\n\nimport { AiService, DEFAULT_EDGE_MODEL, type ModelName } from '@dxos/ai';\nimport { type AiConversation, AiSession } from '@dxos/assistant';\nimport { throwCause } from '@dxos/effect';\nimport { trim } from '@dxos/util';\n\nimport { type Assistant } from '../types';\n\nimport { type AiChatServices } from './processor';\n\n/**\n * Update the current chat's name.\n */\n// TODO(burdon): Convert this into a plugin tool.\nexport const updateName = async (\n runtime: Runtime.Runtime<AiChatServices>,\n conversation: AiConversation,\n chat: Assistant.Chat,\n model: ModelName = DEFAULT_EDGE_MODEL,\n): Promise<void> => {\n const history = await conversation.getHistory();\n const system = trim`\n It is extremely important that you respond only with the title and nothing else.\n If you cannot do this effectively respond with \"New Chat\".\n `;\n const prompt = 'Suggest a name for this chat';\n\n const fiber = Effect.gen(this, function* () {\n const session = new AiSession();\n return yield* session.run({ system, prompt, history });\n }).pipe(\n Effect.provide(AiService.model(model)),\n Effect.tap((messages) => {\n // TODO(burdon): Parse response (should update via tool).\n const message = messages.find((message) => message.sender.role === 'assistant');\n const title = message?.blocks.find((block) => block._tag === 'text')?.text;\n if (title) {\n chat.name = title;\n }\n }),\n Runtime.runFork(runtime), // Run in the background.\n );\n\n const response = await fiber.pipe(Fiber.join, Effect.runPromiseExit);\n if (!Exit.isSuccess(response)) {\n throwCause(response.cause);\n }\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { type ModelName } from '@dxos/ai';\n\nconst ModelProviders = ['dxos-local', 'dxos-remote', 'lm-studio'] as const;\n\nconst ModelProvider = Schema.Literal(...ModelProviders);\ntype ModelProvider = Schema.Schema.Type<typeof ModelProvider>;\n\nexport type AiServicePreset = {\n id: string;\n provider: ModelProvider;\n model: ModelName;\n label?: string;\n};\n\nconst createModelLabel = (model: ModelName) => {\n const parts = model.split('/');\n return parts[parts.length - 1];\n};\n\n// TODO(burdon): Users should be able to create and edit presets.\nexport const AiServicePresets: AiServicePreset[] = [\n {\n provider: 'dxos-remote' as const,\n model: '@anthropic/claude-opus-4-0' as const,\n },\n {\n provider: 'dxos-remote' as const,\n model: '@anthropic/claude-sonnet-4-0' as const,\n },\n {\n provider: 'dxos-remote' as const,\n model: '@anthropic/claude-3-5-haiku-20241022' as const,\n },\n {\n provider: 'lm-studio' as const,\n model: '@google/gemma-3-27b' as const,\n },\n {\n provider: 'lm-studio' as const,\n model: '@meta/llama-3.2-3b-instruct' as const,\n },\n {\n model: 'deepseek-r1:latest' as const,\n provider: 'dxos-local' as const,\n },\n].map(\n ({ model, provider }, i) =>\n ({\n id: `preset-${i}`,\n provider,\n model,\n label: createModelLabel(model),\n }) satisfies AiServicePreset,\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom, Registry } from '@effect-atom/atom-react';\nimport * as Cause from 'effect/Cause';\nimport * as Effect from 'effect/Effect';\nimport * as Exit from 'effect/Exit';\nimport * as Fiber from 'effect/Fiber';\nimport * as Option from 'effect/Option';\nimport * as Runtime from 'effect/Runtime';\n\nimport {\n AiService,\n DEFAULT_EDGE_MODEL,\n type ModelName,\n type ModelRegistry,\n type ToolExecutionService,\n type ToolResolverService,\n} from '@dxos/ai';\nimport {\n type AiConversation,\n type AiConversationRunParams,\n ArtifactDiffResolver,\n GenerationObserver,\n createSystemPrompt,\n} from '@dxos/assistant';\nimport { type Blueprint } from '@dxos/blueprints';\nimport { Obj } from '@dxos/echo';\nimport { throwCause } from '@dxos/effect';\nimport {\n type CredentialsService,\n type DatabaseService,\n type FunctionInvocationService,\n type QueueService,\n type TracingService,\n} from '@dxos/functions';\nimport { log } from '@dxos/log';\nimport { type ContentBlock, Message } from '@dxos/types';\n\nimport { type Assistant } from '../types';\n\nimport { updateName } from './update-name';\n\nexport type AiChatServices =\n | CredentialsService\n | DatabaseService\n | QueueService\n | FunctionInvocationService\n | AiService.AiService\n | ToolExecutionService\n | ToolResolverService\n | TracingService;\n\nexport type AiChatProcessorOptions = {\n model?: ModelName;\n modelRegistry?: ModelRegistry;\n blueprintRegistry?: Blueprint.Registry;\n observableRegistry?: Registry.Registry;\n extensions?: ToolContextExtensions;\n} & Pick<AiConversationRunParams, 'system'>;\n\nconst defaultOptions: Partial<AiChatProcessorOptions> = {\n model: DEFAULT_EDGE_MODEL,\n};\n\n// TODO(burdon): Retry, timeout?\nexport type AiRequestOptions = {};\n\nexport type AiRequest = {\n message: string;\n options?: AiRequestOptions;\n};\n\n/**\n * Handles interactions with the AI service.\n * Handles streaming responses from the conversation.\n */\nexport class AiChatProcessor {\n private readonly _registry: Registry.Registry;\n\n /** External observer. */\n private readonly _observer: GenerationObserver;\n\n /** Currently active request fiber. */\n private _fiber: Fiber.Fiber<void, any> | undefined;\n\n /** Last request (for retries). */\n private _lastRequest: AiRequest | undefined;\n\n /** Pending messages (incl. the current user request). */\n private readonly _pending = Atom.make<Message.Message[]>([]);\n\n /** Currently streaming message (from the AI service). */\n private readonly _streaming = Atom.make<Option.Option<Message.Message>>(Option.none());\n\n /** Streaming state. */\n public readonly streaming = Atom.make<boolean>((get) => Option.isSome(get(this._streaming)));\n\n /** Active state. */\n public readonly active = Atom.make(false);\n\n /** Array of Messages (incl. the current message being streamed). */\n public readonly messages = Atom.make<Message.Message[]>((get) =>\n Option.match(get(this._streaming), {\n onNone: () => get(this._pending),\n onSome: (streaming) => [...get(this._pending), streaming],\n }),\n );\n\n /** Last error. */\n public readonly error = Atom.make<Option.Option<Error>>(Option.none());\n\n constructor(\n private readonly _conversation: AiConversation,\n // TODO(dmaretskyi): Replace this with effect's ManagedRuntime wrapping this layer.\n private readonly _services: () => Promise<Runtime.Runtime<AiChatServices>>,\n private readonly _options: AiChatProcessorOptions = defaultOptions,\n ) {\n // Initialize registries and defaults before using in other logic.\n this._registry = this._options.observableRegistry ?? Registry.make();\n this._observer = GenerationObserver.make({\n onBlock: this._onBlock,\n onMessage: this._onMessage,\n });\n if (this._options.model && !this._options.system) {\n const capabilities = this._options.modelRegistry?.getCapabilities(this._options.model) ?? {};\n this._options.system = createSystemPrompt(capabilities);\n }\n }\n\n get context() {\n return this._conversation.context;\n }\n\n get conversation() {\n return this._conversation;\n }\n\n get blueprintRegistry() {\n return this._options.blueprintRegistry;\n }\n\n /**\n * Initiates a new request.\n */\n async request(requestParam: AiRequest): Promise<void> {\n if (this._fiber) {\n await this.cancel();\n }\n\n try {\n this._lastRequest = requestParam;\n this._registry.set(this.error, Option.none());\n this._registry.set(this.active, true);\n\n // Create request.\n const request = this._conversation.createRequest({\n system: this._options.system,\n prompt: requestParam.message,\n observer: this._observer,\n });\n\n const runtime = await this._services();\n\n // Create fiber.\n this._fiber = request.pipe(\n Effect.provide(AiService.model(this._options.model ?? DEFAULT_EDGE_MODEL)),\n\n // TODO(dmaretskyi): Move ArtifactDiffResolver upstream.\n Effect.provideService(ArtifactDiffResolver, this._artifactDiffResolver),\n\n Effect.asVoid,\n Runtime.runFork(runtime), // Runs in the background.\n );\n\n // Execute request.\n const response = await this._fiber.pipe(Fiber.join, Effect.runPromiseExit);\n if (!Exit.isSuccess(response) && !Cause.isInterruptedOnly(response.cause)) {\n throwCause(response.cause);\n }\n\n this._registry.set(this.error, Option.none());\n this._lastRequest = undefined;\n this._fiber = undefined;\n } catch (error) {\n log.error('request failed', { error });\n this._registry.set(this.error, Option.some(new Error('AI service error', { cause: error })));\n } finally {\n this._fiber = undefined;\n this._registry.set(this.active, false);\n }\n }\n\n /**\n * Cancels the current request.\n */\n async cancel(): Promise<void> {\n await Effect.runPromise(\n Effect.gen(this, function* () {\n if (this._fiber) {\n yield* this._fiber.pipe(Fiber.interrupt);\n }\n }),\n );\n\n this._fiber = undefined;\n this._registry.set(this.active, false);\n }\n\n /**\n * Retry last failed request.\n */\n async retry(): Promise<void> {\n if (this._lastRequest) {\n return this.request(this._lastRequest);\n }\n }\n\n /**\n * Update the current chat's name.\n */\n async updateName(chat: Assistant.Chat): Promise<void> {\n const runtime = await this._services();\n await updateName(runtime, this._conversation, chat, this._options.model);\n }\n\n // TODO(burdon): Fix/factor out.\n private _artifactDiffResolver: ArtifactDiffResolver.Service = {\n resolve: async (_artifacts) => {\n const versions = new Map();\n // await Promise.all(\n // artifacts.map(async (artifact) => {\n // const {\n // objects: [object],\n // } = await space.db.query(Filter.ids(artifact.id)).run();\n // if (!object) {\n // return;\n // }\n\n // versions.set(artifact.id, {\n // version: getVersion(object),\n // diff: `Current state: ${JSON.stringify(object)}`,\n // });\n // }),\n // );\n\n return versions;\n },\n };\n\n private _onMessage = Effect.fn(\n function* (this: AiChatProcessor, message: Message.Message) {\n this._registry.set(this._streaming, Option.none());\n this._registry.update(this._pending, (pending) => [...pending, message]);\n }.bind(this),\n );\n\n private _onBlock = Effect.fn(\n function* (this: AiChatProcessor, block: ContentBlock.Any) {\n this._registry.update(this._streaming, (streaming) => {\n const blocks = streaming.pipe(\n Option.map((streaming) => streaming.blocks.filter((b: ContentBlock.Any) => !b.pending)),\n Option.getOrElse(() => []),\n );\n\n return Option.some(\n Obj.make(Message.Message, {\n created: new Date().toISOString(),\n sender: { role: 'assistant' },\n blocks: [...blocks, block],\n }),\n );\n });\n }.bind(this),\n );\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Effect", "Exit", "Fiber", "Runtime", "AiService", "DEFAULT_EDGE_MODEL", "AiSession", "throwCause", "trim", "updateName", "runtime", "conversation", "chat", "model", "DEFAULT_EDGE_MODEL", "history", "getHistory", "system", "trim", "prompt", "fiber", "gen", "session", "AiSession", "run", "pipe", "provide", "AiService", "tap", "messages", "message", "find", "sender", "role", "title", "blocks", "block", "_tag", "text", "name", "runFork", "response", "join", "runPromiseExit", "isSuccess", "throwCause", "cause", "Schema", "ModelProviders", "ModelProvider", "Literal", "createModelLabel", "model", "parts", "split", "length", "AiServicePresets", "provider", "map", "i", "id", "label", "Atom", "Registry", "Cause", "Effect", "Exit", "Fiber", "Option", "Runtime", "AiService", "DEFAULT_EDGE_MODEL", "ArtifactDiffResolver", "GenerationObserver", "createSystemPrompt", "Obj", "throwCause", "log", "Message", "defaultOptions", "model", "DEFAULT_EDGE_MODEL", "AiChatProcessor", "_registry", "_observer", "_fiber", "_lastRequest", "_pending", "Atom", "make", "_streaming", "none", "streaming", "get", "isSome", "active", "messages", "match", "onNone", "onSome", "error", "_conversation", "_services", "_options", "observableRegistry", "Registry", "GenerationObserver", "onBlock", "_onBlock", "onMessage", "_onMessage", "system", "capabilities", "modelRegistry", "getCapabilities", "createSystemPrompt", "context", "conversation", "blueprintRegistry", "request", "requestParam", "cancel", "set", "createRequest", "prompt", "message", "observer", "runtime", "pipe", "provide", "AiService", "provideService", "ArtifactDiffResolver", "_artifactDiffResolver", "asVoid", "runFork", "response", "join", "runPromiseExit", "isSuccess", "isInterruptedOnly", "cause", "throwCause", "undefined", "log", "some", "Error", "runPromise", "gen", "interrupt", "retry", "updateName", "chat", "resolve", "_artifacts", "versions", "Map", "fn", "update", "pending", "bind", "block", "blocks", "map", "filter", "b", "getOrElse", "Obj", "Message", "created", "Date", "toISOString", "sender", "role"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
meta
|
|
4
|
+
} from "./chunk-WE6KTH72.mjs";
|
|
5
|
+
import {
|
|
6
|
+
__export
|
|
7
|
+
} from "./chunk-HSLMI22Q.mjs";
|
|
8
|
+
|
|
9
|
+
// src/types/Assistant.ts
|
|
10
|
+
var Assistant_exports = {};
|
|
11
|
+
__export(Assistant_exports, {
|
|
12
|
+
Chat: () => Chat,
|
|
13
|
+
CompanionTo: () => CompanionTo,
|
|
14
|
+
Settings: () => Settings,
|
|
15
|
+
makeChat: () => makeChat
|
|
16
|
+
});
|
|
17
|
+
import * as Schema from "effect/Schema";
|
|
18
|
+
import { Obj, Ref, Type } from "@dxos/echo";
|
|
19
|
+
import { FormAnnotation, LabelAnnotation } from "@dxos/echo/internal";
|
|
20
|
+
import { Queue } from "@dxos/echo-db";
|
|
21
|
+
|
|
22
|
+
// src/types/defs.ts
|
|
23
|
+
var LLM_PROVIDERS = [
|
|
24
|
+
"edge",
|
|
25
|
+
"ollama",
|
|
26
|
+
"lmstudio"
|
|
27
|
+
];
|
|
28
|
+
|
|
29
|
+
// src/types/Assistant.ts
|
|
30
|
+
var Chat = Schema.Struct({
|
|
31
|
+
name: Schema.String.pipe(Schema.optional),
|
|
32
|
+
queue: Type.Ref(Queue).pipe(FormAnnotation.set(false)),
|
|
33
|
+
// TODO(dmaretskyi): Eventually this and the message queue will be the same.
|
|
34
|
+
traceQueue: Type.Ref(Queue).pipe(FormAnnotation.set(false), Schema.optional)
|
|
35
|
+
}).pipe(Type.Obj({
|
|
36
|
+
typename: "dxos.org/type/assistant/Chat",
|
|
37
|
+
version: "0.2.0"
|
|
38
|
+
}), LabelAnnotation.set([
|
|
39
|
+
"name"
|
|
40
|
+
]));
|
|
41
|
+
var makeChat = ({ name, queue }) => Obj.make(Chat, {
|
|
42
|
+
name,
|
|
43
|
+
queue: Ref.fromDXN(queue.dxn)
|
|
44
|
+
});
|
|
45
|
+
var CompanionTo = Schema.Struct({
|
|
46
|
+
id: Type.ObjectId
|
|
47
|
+
}).pipe(Type.Relation({
|
|
48
|
+
typename: "dxos.org/relation/assistant/CompanionTo",
|
|
49
|
+
version: "0.1.0",
|
|
50
|
+
source: Chat,
|
|
51
|
+
target: Type.Expando
|
|
52
|
+
}));
|
|
53
|
+
var Settings = Schema.mutable(Schema.Struct({
|
|
54
|
+
llmProvider: Schema.optional(Schema.Literal(...LLM_PROVIDERS)),
|
|
55
|
+
edgeModel: Schema.optional(Schema.String),
|
|
56
|
+
ollamaModel: Schema.optional(Schema.String),
|
|
57
|
+
lmstudioModel: Schema.optional(Schema.String),
|
|
58
|
+
customPrompts: Schema.optional(Schema.Boolean)
|
|
59
|
+
}));
|
|
60
|
+
|
|
61
|
+
// src/types/AssistantAction.ts
|
|
62
|
+
var AssistantAction_exports = {};
|
|
63
|
+
__export(AssistantAction_exports, {
|
|
64
|
+
BlueprintForm: () => BlueprintForm,
|
|
65
|
+
CreateBlueprint: () => CreateBlueprint,
|
|
66
|
+
CreateChat: () => CreateChat,
|
|
67
|
+
CreatePrompt: () => CreatePrompt,
|
|
68
|
+
CreateSequence: () => CreateSequence,
|
|
69
|
+
SetCurrentChat: () => SetCurrentChat,
|
|
70
|
+
UpdateChatName: () => UpdateChatName,
|
|
71
|
+
onCreateSpace: () => onCreateSpace
|
|
72
|
+
});
|
|
73
|
+
import * as Schema2 from "effect/Schema";
|
|
74
|
+
import { Blueprint, Prompt } from "@dxos/blueprints";
|
|
75
|
+
import { EchoObjectSchema, SpaceSchema } from "@dxos/client/echo";
|
|
76
|
+
import { Sequence } from "@dxos/conductor";
|
|
77
|
+
import { Collection } from "@dxos/schema";
|
|
78
|
+
var onCreateSpace = class extends Schema2.TaggedClass()(`${meta.id}/on-space-created`, {
|
|
79
|
+
input: Schema2.Struct({
|
|
80
|
+
space: SpaceSchema,
|
|
81
|
+
rootCollection: Collection.Collection
|
|
82
|
+
}),
|
|
83
|
+
output: Schema2.Void
|
|
84
|
+
}) {
|
|
85
|
+
};
|
|
86
|
+
var CreateChat = class extends Schema2.TaggedClass()(`${meta.id}/action/create-chat`, {
|
|
87
|
+
input: Schema2.Struct({
|
|
88
|
+
space: SpaceSchema,
|
|
89
|
+
name: Schema2.optional(Schema2.String)
|
|
90
|
+
}),
|
|
91
|
+
output: Schema2.Struct({
|
|
92
|
+
object: Chat
|
|
93
|
+
})
|
|
94
|
+
}) {
|
|
95
|
+
};
|
|
96
|
+
var UpdateChatName = class extends Schema2.TaggedClass()(`${meta.id}/action/update-name`, {
|
|
97
|
+
input: Schema2.Struct({
|
|
98
|
+
chat: Chat
|
|
99
|
+
}),
|
|
100
|
+
output: Schema2.Void
|
|
101
|
+
}) {
|
|
102
|
+
};
|
|
103
|
+
var BlueprintForm = Schema2.Struct({
|
|
104
|
+
key: Schema2.String,
|
|
105
|
+
name: Schema2.String,
|
|
106
|
+
description: Schema2.optional(Schema2.String)
|
|
107
|
+
});
|
|
108
|
+
var CreateBlueprint = class extends Schema2.TaggedClass()(`${meta.id}/action/create-blueprint`, {
|
|
109
|
+
input: BlueprintForm,
|
|
110
|
+
output: Schema2.Struct({
|
|
111
|
+
object: Blueprint.Blueprint
|
|
112
|
+
})
|
|
113
|
+
}) {
|
|
114
|
+
};
|
|
115
|
+
var CreatePrompt = class extends Schema2.TaggedClass()(`${meta.id}/action/create-prompt`, {
|
|
116
|
+
input: Schema2.Struct({
|
|
117
|
+
name: Schema2.optional(Schema2.String)
|
|
118
|
+
}),
|
|
119
|
+
output: Schema2.Struct({
|
|
120
|
+
object: Prompt.Prompt
|
|
121
|
+
})
|
|
122
|
+
}) {
|
|
123
|
+
};
|
|
124
|
+
var CreateSequence = class extends Schema2.TaggedClass()(`${meta.id}/action/create-sequence`, {
|
|
125
|
+
input: Schema2.Struct({
|
|
126
|
+
name: Schema2.optional(Schema2.String)
|
|
127
|
+
}),
|
|
128
|
+
output: Schema2.Struct({
|
|
129
|
+
object: Sequence
|
|
130
|
+
})
|
|
131
|
+
}) {
|
|
132
|
+
};
|
|
133
|
+
var SetCurrentChat = class extends Schema2.TaggedClass()(`${meta.id}/action/set-current-chat`, {
|
|
134
|
+
input: Schema2.Struct({
|
|
135
|
+
companionTo: EchoObjectSchema,
|
|
136
|
+
chat: Chat.pipe(Schema2.optional)
|
|
137
|
+
}),
|
|
138
|
+
output: Schema2.Void
|
|
139
|
+
}) {
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
// src/types/service.ts
|
|
143
|
+
import * as Schema3 from "effect/Schema";
|
|
144
|
+
import { ComputeGraph } from "@dxos/conductor";
|
|
145
|
+
import { Type as Type2 } from "@dxos/echo";
|
|
146
|
+
import { TypedObject } from "@dxos/echo/internal";
|
|
147
|
+
import { Function } from "@dxos/functions";
|
|
148
|
+
var ApiAuthorizationKey = Schema3.Struct({
|
|
149
|
+
type: Schema3.Literal("api-key"),
|
|
150
|
+
key: Schema3.String,
|
|
151
|
+
placement: Schema3.Union(Schema3.Struct({
|
|
152
|
+
type: Schema3.Literal("authorization-header")
|
|
153
|
+
}), Schema3.Struct({
|
|
154
|
+
type: Schema3.Literal("query"),
|
|
155
|
+
name: Schema3.String
|
|
156
|
+
}))
|
|
157
|
+
});
|
|
158
|
+
var ApiAuthorizationOauth = Schema3.Struct({
|
|
159
|
+
type: Schema3.Literal("oauth"),
|
|
160
|
+
clientId: Schema3.String,
|
|
161
|
+
clientSecret: Schema3.String,
|
|
162
|
+
tokenUrl: Schema3.String,
|
|
163
|
+
grantType: Schema3.String
|
|
164
|
+
});
|
|
165
|
+
var ApiAuthorization = Schema3.Union(ApiAuthorizationKey, ApiAuthorizationOauth);
|
|
166
|
+
var ServiceInterfaceFunction = Schema3.Struct({
|
|
167
|
+
kind: Schema3.Literal("function"),
|
|
168
|
+
fn: Type2.Ref(Function.Function)
|
|
169
|
+
});
|
|
170
|
+
var ServiceInterfaceWorkflow = Schema3.Struct({
|
|
171
|
+
kind: Schema3.Literal("workflow"),
|
|
172
|
+
workflow: Type2.Ref(ComputeGraph)
|
|
173
|
+
});
|
|
174
|
+
var ServiceInterfaceApi = Schema3.Struct({
|
|
175
|
+
kind: Schema3.Literal("api"),
|
|
176
|
+
/**
|
|
177
|
+
* URL to fetch the openapi schema.
|
|
178
|
+
*/
|
|
179
|
+
schemaUrl: Schema3.optional(Schema3.String),
|
|
180
|
+
/**
|
|
181
|
+
* Inlined openapi schema.
|
|
182
|
+
*/
|
|
183
|
+
schema: Schema3.optional(Schema3.Any),
|
|
184
|
+
/**
|
|
185
|
+
* Authorization configuration if required.
|
|
186
|
+
*/
|
|
187
|
+
authorization: Schema3.optional(ApiAuthorization)
|
|
188
|
+
});
|
|
189
|
+
var ServiceInterface = Schema3.Union(
|
|
190
|
+
// Service types.
|
|
191
|
+
ServiceInterfaceFunction,
|
|
192
|
+
ServiceInterfaceWorkflow,
|
|
193
|
+
ServiceInterfaceApi
|
|
194
|
+
);
|
|
195
|
+
var ServiceType = class extends TypedObject({
|
|
196
|
+
typename: "dxos.org/type/ServiceType",
|
|
197
|
+
version: "0.1.0"
|
|
198
|
+
})({
|
|
199
|
+
serviceId: Schema3.String,
|
|
200
|
+
name: Schema3.optional(Schema3.String),
|
|
201
|
+
description: Schema3.optional(Schema3.String),
|
|
202
|
+
category: Schema3.optional(Schema3.String),
|
|
203
|
+
enabled: Schema3.optional(Schema3.Boolean),
|
|
204
|
+
/**
|
|
205
|
+
* Entries exposed: functions, workflows, and APIs.
|
|
206
|
+
*/
|
|
207
|
+
interfaces: Schema3.optional(Schema3.Array(ServiceInterface))
|
|
208
|
+
}) {
|
|
209
|
+
};
|
|
210
|
+
var categoryIcons = {
|
|
211
|
+
finance: "ph--bank--regular",
|
|
212
|
+
health: "ph--heart--regular",
|
|
213
|
+
geolocation: "ph--globe-simple--regular",
|
|
214
|
+
education: "ph--books--regular",
|
|
215
|
+
entertainment: "ph--music-notes--regular",
|
|
216
|
+
shopping: "ph--shopping-cart--regular",
|
|
217
|
+
travel: "ph--airplane-takeoff--regular",
|
|
218
|
+
utilities: "ph--lightning--regular",
|
|
219
|
+
weather: "ph--cloud-rain--regular"
|
|
220
|
+
};
|
|
221
|
+
|
|
222
|
+
export {
|
|
223
|
+
LLM_PROVIDERS,
|
|
224
|
+
Assistant_exports,
|
|
225
|
+
AssistantAction_exports,
|
|
226
|
+
ApiAuthorization,
|
|
227
|
+
ServiceType,
|
|
228
|
+
categoryIcons
|
|
229
|
+
};
|
|
230
|
+
//# sourceMappingURL=chunk-AB74FOA2.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/types/Assistant.ts", "../../../src/types/defs.ts", "../../../src/types/AssistantAction.ts", "../../../src/types/service.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Obj, Ref, Type } from '@dxos/echo';\nimport { FormAnnotation, LabelAnnotation } from '@dxos/echo/internal';\nimport { Queue } from '@dxos/echo-db';\n\nimport { LLM_PROVIDERS } from './defs';\n\n/**\n * AI chat.\n */\nexport const Chat = Schema.Struct({\n name: Schema.String.pipe(Schema.optional),\n queue: Type.Ref(Queue).pipe(FormAnnotation.set(false)),\n // TODO(dmaretskyi): Eventually this and the message queue will be the same.\n traceQueue: Type.Ref(Queue).pipe(FormAnnotation.set(false), Schema.optional),\n}).pipe(\n Type.Obj({\n typename: 'dxos.org/type/assistant/Chat',\n version: '0.2.0',\n }),\n LabelAnnotation.set(['name']),\n);\n\nexport interface Chat extends Schema.Schema.Type<typeof Chat> {}\n\nexport const makeChat = ({ name, queue }: { name?: string; queue: Queue }) =>\n Obj.make(Chat, { name, queue: Ref.fromDXN(queue.dxn) });\n\n/**\n * Relation between a Chat and companion objects (e.g., artifacts).\n */\nexport const CompanionTo = Schema.Struct({\n id: Type.ObjectId,\n}).pipe(\n Type.Relation({\n typename: 'dxos.org/relation/assistant/CompanionTo',\n version: '0.1.0',\n source: Chat,\n target: Type.Expando,\n }),\n);\n\nexport interface CompanionTo extends Schema.Schema.Type<typeof CompanionTo> {}\n\n/**\n * Plugin settings.\n */\nexport const Settings = Schema.mutable(\n Schema.Struct({\n llmProvider: Schema.optional(Schema.Literal(...LLM_PROVIDERS)),\n edgeModel: Schema.optional(Schema.String),\n ollamaModel: Schema.optional(Schema.String),\n lmstudioModel: Schema.optional(Schema.String),\n customPrompts: Schema.optional(Schema.Boolean),\n }),\n);\n\nexport type Settings = Schema.Schema.Type<typeof Settings>;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nexport const LLM_PROVIDERS = ['edge', 'ollama', 'lmstudio'] as const;\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Blueprint, Prompt } from '@dxos/blueprints';\nimport { EchoObjectSchema, SpaceSchema } from '@dxos/client/echo';\nimport { Sequence } from '@dxos/conductor';\nimport { Collection } from '@dxos/schema';\n\nimport { meta } from '../meta';\n\nimport { Chat } from './Assistant';\n\n// TODO(burdon): Name?\nexport class onCreateSpace extends Schema.TaggedClass<onCreateSpace>()(`${meta.id}/on-space-created`, {\n input: Schema.Struct({\n space: SpaceSchema,\n rootCollection: Collection.Collection,\n }),\n output: Schema.Void,\n}) {}\n\nexport class CreateChat extends Schema.TaggedClass<CreateChat>()(`${meta.id}/action/create-chat`, {\n input: Schema.Struct({\n space: SpaceSchema,\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: Chat,\n }),\n}) {}\n\nexport class UpdateChatName extends Schema.TaggedClass<UpdateChatName>()(`${meta.id}/action/update-name`, {\n input: Schema.Struct({\n chat: Chat,\n }),\n output: Schema.Void,\n}) {}\n\nexport const BlueprintForm = Schema.Struct({\n key: Schema.String,\n name: Schema.String,\n description: Schema.optional(Schema.String),\n});\n\nexport class CreateBlueprint extends Schema.TaggedClass<CreateBlueprint>()(`${meta.id}/action/create-blueprint`, {\n input: BlueprintForm,\n output: Schema.Struct({\n object: Blueprint.Blueprint,\n }),\n}) {}\n\nexport class CreatePrompt extends Schema.TaggedClass<CreatePrompt>()(`${meta.id}/action/create-prompt`, {\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: Prompt.Prompt,\n }),\n}) {}\n\nexport class CreateSequence extends Schema.TaggedClass<CreateSequence>()(`${meta.id}/action/create-sequence`, {\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: Sequence,\n }),\n}) {}\n\nexport class SetCurrentChat extends Schema.TaggedClass<SetCurrentChat>()(`${meta.id}/action/set-current-chat`, {\n input: Schema.Struct({\n companionTo: EchoObjectSchema,\n chat: Chat.pipe(Schema.optional),\n }),\n output: Schema.Void,\n}) {}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { ComputeGraph } from '@dxos/conductor';\nimport { Type } from '@dxos/echo';\nimport { TypedObject } from '@dxos/echo/internal';\nimport { Function } from '@dxos/functions';\n\n// TODO(burdon): Factor out and reconcile with https://github.com/dxos/dxos/blob/main/packages/plugins/plugin-token-manager/src/defs/presets.ts#L7\n\nconst ApiAuthorizationKey = Schema.Struct({\n type: Schema.Literal('api-key'),\n key: Schema.String,\n placement: Schema.Union(\n Schema.Struct({\n type: Schema.Literal('authorization-header'),\n }),\n Schema.Struct({\n type: Schema.Literal('query'),\n name: Schema.String,\n }),\n ),\n});\n\nconst ApiAuthorizationOauth = Schema.Struct({\n type: Schema.Literal('oauth'),\n clientId: Schema.String,\n clientSecret: Schema.String,\n tokenUrl: Schema.String,\n grantType: Schema.String,\n});\n\nexport const ApiAuthorization = Schema.Union(ApiAuthorizationKey, ApiAuthorizationOauth);\nexport type ApiAuthorization = Schema.Schema.Type<typeof ApiAuthorization>;\n\nconst ServiceInterfaceFunction = Schema.Struct({\n kind: Schema.Literal('function'),\n fn: Type.Ref(Function.Function),\n});\n\nconst ServiceInterfaceWorkflow = Schema.Struct({\n kind: Schema.Literal('workflow'),\n workflow: Type.Ref(ComputeGraph),\n});\n\nconst ServiceInterfaceApi = Schema.Struct({\n kind: Schema.Literal('api'),\n\n /**\n * URL to fetch the openapi schema.\n */\n schemaUrl: Schema.optional(Schema.String),\n\n /**\n * Inlined openapi schema.\n */\n schema: Schema.optional(Schema.Any),\n\n /**\n * Authorization configuration if required.\n */\n authorization: Schema.optional(ApiAuthorization),\n});\n\nconst ServiceInterface = Schema.Union(\n // Service types.\n ServiceInterfaceFunction,\n ServiceInterfaceWorkflow,\n ServiceInterfaceApi,\n);\n\nexport type ServiceInterface = Schema.Schema.Type<typeof ServiceInterface>;\n\nexport class ServiceType extends TypedObject({\n typename: 'dxos.org/type/ServiceType',\n version: '0.1.0',\n})({\n serviceId: Schema.String,\n name: Schema.optional(Schema.String),\n description: Schema.optional(Schema.String),\n category: Schema.optional(Schema.String),\n enabled: Schema.optional(Schema.Boolean),\n\n /**\n * Entries exposed: functions, workflows, and APIs.\n */\n interfaces: Schema.optional(Schema.Array(ServiceInterface)),\n}) {}\n\n//\n// Service Registry\n//\n\nexport interface BaseServiceRegistry {\n queryServices(query?: ServiceQuery): Promise<ServiceType[]>;\n}\n\nexport type ServiceQuery = {\n name?: string;\n category?: string;\n};\n\nexport const categoryIcons: Record<string, string> = {\n finance: 'ph--bank--regular',\n health: 'ph--heart--regular',\n geolocation: 'ph--globe-simple--regular',\n education: 'ph--books--regular',\n entertainment: 'ph--music-notes--regular',\n shopping: 'ph--shopping-cart--regular',\n travel: 'ph--airplane-takeoff--regular',\n utilities: 'ph--lightning--regular',\n weather: 'ph--cloud-rain--regular',\n} as const;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Schema", "Obj", "Ref", "Type", "FormAnnotation", "LabelAnnotation", "Queue", "LLM_PROVIDERS", "Chat", "Struct", "name", "String", "pipe", "optional", "queue", "Type", "Ref", "Queue", "FormAnnotation", "set", "traceQueue", "Obj", "typename", "version", "LabelAnnotation", "makeChat", "make", "fromDXN", "dxn", "CompanionTo", "id", "ObjectId", "Relation", "source", "target", "Expando", "Settings", "mutable", "llmProvider", "Literal", "LLM_PROVIDERS", "edgeModel", "ollamaModel", "lmstudioModel", "customPrompts", "Boolean", "Schema", "Blueprint", "Prompt", "EchoObjectSchema", "SpaceSchema", "Sequence", "Collection", "onCreateSpace", "TaggedClass", "meta", "id", "input", "Struct", "space", "SpaceSchema", "rootCollection", "Collection", "output", "Void", "CreateChat", "name", "optional", "String", "object", "Chat", "UpdateChatName", "chat", "BlueprintForm", "key", "description", "CreateBlueprint", "Blueprint", "CreatePrompt", "Prompt", "CreateSequence", "Sequence", "SetCurrentChat", "companionTo", "EchoObjectSchema", "pipe", "Schema", "ComputeGraph", "Type", "TypedObject", "Function", "ApiAuthorizationKey", "Struct", "type", "Literal", "key", "String", "placement", "Union", "name", "ApiAuthorizationOauth", "clientId", "clientSecret", "tokenUrl", "grantType", "ApiAuthorization", "ServiceInterfaceFunction", "kind", "fn", "Type", "Ref", "Function", "ServiceInterfaceWorkflow", "workflow", "ComputeGraph", "ServiceInterfaceApi", "schemaUrl", "optional", "schema", "Any", "authorization", "ServiceInterface", "ServiceType", "TypedObject", "typename", "version", "serviceId", "description", "category", "enabled", "Boolean", "interfaces", "Array", "categoryIcons", "finance", "health", "geolocation", "education", "entertainment", "shopping", "travel", "utilities", "weather"]
|
|
7
|
+
}
|