@dxos/plugin-assistant 0.8.4-main.ae835ea → 0.8.4-main.bc674ce
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-WP3G5GLG.mjs +31 -0
- package/dist/lib/browser/BlueprintArticle-WP3G5GLG.mjs.map +7 -0
- package/dist/lib/browser/ChatCompanion-ECQYUQ2B.mjs +153 -0
- package/dist/lib/browser/ChatCompanion-ECQYUQ2B.mjs.map +7 -0
- package/dist/lib/browser/ChatContainer-QCCOFBUX.mjs +73 -0
- package/dist/lib/browser/ChatContainer-QCCOFBUX.mjs.map +7 -0
- package/dist/lib/browser/ChatDialog-SMK4RSZU.mjs +85 -0
- package/dist/lib/browser/ChatDialog-SMK4RSZU.mjs.map +7 -0
- package/dist/lib/browser/PromptArticle-K362ZPAE.mjs +53 -0
- package/dist/lib/browser/PromptArticle-K362ZPAE.mjs.map +7 -0
- package/dist/lib/browser/ai-service-5GUDOEWF.mjs +21 -0
- package/dist/lib/browser/ai-service-5GUDOEWF.mjs.map +7 -0
- package/dist/lib/browser/app-graph-builder-DSNH2OMY.mjs +212 -0
- package/dist/lib/browser/app-graph-builder-DSNH2OMY.mjs.map +7 -0
- package/dist/lib/browser/blueprint-definition-DGHH7MUU.mjs +14 -0
- package/dist/lib/browser/blueprints/index.mjs +12 -0
- package/dist/lib/browser/chunk-3JYPE2MM.mjs +1832 -0
- package/dist/lib/browser/chunk-3JYPE2MM.mjs.map +7 -0
- package/dist/lib/browser/chunk-DKQMSMBN.mjs +326 -0
- package/dist/lib/browser/chunk-DKQMSMBN.mjs.map +7 -0
- package/dist/lib/browser/{chunk-WBG5PTSX.mjs → chunk-EXVT7D4B.mjs} +1 -1
- package/dist/lib/browser/chunk-EXVT7D4B.mjs.map +7 -0
- package/dist/lib/browser/{chunk-L5OA5OGS.mjs → chunk-ML3QCFKA.mjs} +40 -37
- package/dist/lib/browser/chunk-ML3QCFKA.mjs.map +7 -0
- package/dist/lib/browser/chunk-MRJVYGLU.mjs +208 -0
- package/dist/lib/browser/chunk-MRJVYGLU.mjs.map +7 -0
- package/dist/lib/browser/chunk-V772AMZM.mjs +250 -0
- package/dist/lib/browser/chunk-V772AMZM.mjs.map +7 -0
- package/dist/lib/browser/chunk-WGQTU6UJ.mjs +41 -0
- package/dist/lib/browser/chunk-WGQTU6UJ.mjs.map +7 -0
- package/dist/lib/browser/edge-model-resolver-26BOY6HY.mjs +20 -0
- package/dist/lib/browser/edge-model-resolver-26BOY6HY.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +201 -214
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/local-model-resolver-ZFIM6GGV.mjs +19 -0
- package/dist/lib/browser/local-model-resolver-ZFIM6GGV.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/operation-resolver-7XJLBRQY.mjs +132 -0
- package/dist/lib/browser/operation-resolver-7XJLBRQY.mjs.map +7 -0
- package/dist/lib/browser/react-surface-NCITRSJJ.mjs +109 -0
- package/dist/lib/browser/react-surface-NCITRSJJ.mjs.map +7 -0
- package/dist/lib/browser/repair-6QGAKOVM.mjs +54 -0
- package/dist/lib/browser/repair-6QGAKOVM.mjs.map +7 -0
- package/dist/lib/browser/settings-4ZDLUMYE.mjs +32 -0
- package/dist/lib/browser/settings-4ZDLUMYE.mjs.map +7 -0
- package/dist/lib/browser/state-AN6336ZX.mjs +26 -0
- package/dist/lib/browser/state-AN6336ZX.mjs.map +7 -0
- package/dist/lib/browser/toolkit-7AVTEPMA.mjs +18 -0
- package/dist/lib/browser/toolkit-7AVTEPMA.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +8 -4
- package/dist/lib/node-esm/BlueprintArticle-WZ76E2C4.mjs +32 -0
- package/dist/lib/node-esm/BlueprintArticle-WZ76E2C4.mjs.map +7 -0
- package/dist/lib/node-esm/ChatCompanion-Q4FUZ2MW.mjs +154 -0
- package/dist/lib/node-esm/ChatCompanion-Q4FUZ2MW.mjs.map +7 -0
- package/dist/lib/node-esm/ChatContainer-AKI33HIB.mjs +74 -0
- package/dist/lib/node-esm/ChatContainer-AKI33HIB.mjs.map +7 -0
- package/dist/lib/node-esm/ChatDialog-AP45PVZR.mjs +86 -0
- package/dist/lib/node-esm/ChatDialog-AP45PVZR.mjs.map +7 -0
- package/dist/lib/node-esm/PromptArticle-D4HAIIC6.mjs +54 -0
- package/dist/lib/node-esm/PromptArticle-D4HAIIC6.mjs.map +7 -0
- package/dist/lib/node-esm/ai-service-PXKKCFIF.mjs +22 -0
- package/dist/lib/node-esm/ai-service-PXKKCFIF.mjs.map +7 -0
- package/dist/lib/node-esm/app-graph-builder-TJCUEXW5.mjs +213 -0
- package/dist/lib/node-esm/app-graph-builder-TJCUEXW5.mjs.map +7 -0
- package/dist/lib/node-esm/{blueprint-definition-CFCUD2VC.mjs → blueprint-definition-SEMDEIYG.mjs} +6 -5
- package/dist/lib/node-esm/blueprint-definition-SEMDEIYG.mjs.map +7 -0
- package/dist/lib/node-esm/blueprints/index.mjs +13 -0
- package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-355W5B27.mjs +251 -0
- package/dist/lib/node-esm/chunk-355W5B27.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-75PHXBN3.mjs +327 -0
- package/dist/lib/node-esm/chunk-75PHXBN3.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-DCA5QWQT.mjs +209 -0
- package/dist/lib/node-esm/chunk-DCA5QWQT.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-MSBPC4RJ.mjs +42 -0
- package/dist/lib/node-esm/chunk-MSBPC4RJ.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-WE6KTH72.mjs → chunk-POWB2BPC.mjs} +1 -1
- package/dist/lib/node-esm/chunk-POWB2BPC.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-XI5T3MJC.mjs +1833 -0
- package/dist/lib/node-esm/chunk-XI5T3MJC.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-7ZYOYW7F.mjs → chunk-ZRIPP7YF.mjs} +40 -37
- package/dist/lib/node-esm/chunk-ZRIPP7YF.mjs.map +7 -0
- package/dist/lib/node-esm/{edge-model-resolver-2ARXDOYS.mjs → edge-model-resolver-G5KMODPO.mjs} +9 -7
- package/dist/lib/node-esm/edge-model-resolver-G5KMODPO.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +201 -214
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/local-model-resolver-KDZLYI7Y.mjs +20 -0
- package/dist/lib/node-esm/local-model-resolver-KDZLYI7Y.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/operation-resolver-SX4WMNA7.mjs +133 -0
- package/dist/lib/node-esm/operation-resolver-SX4WMNA7.mjs.map +7 -0
- package/dist/lib/node-esm/react-surface-ST6V7LPE.mjs +110 -0
- package/dist/lib/node-esm/react-surface-ST6V7LPE.mjs.map +7 -0
- package/dist/lib/node-esm/repair-QJ7CQDKU.mjs +55 -0
- package/dist/lib/node-esm/repair-QJ7CQDKU.mjs.map +7 -0
- package/dist/lib/node-esm/settings-CQEOHR3R.mjs +33 -0
- package/dist/lib/node-esm/settings-CQEOHR3R.mjs.map +7 -0
- package/dist/lib/node-esm/state-HDON4REW.mjs +27 -0
- package/dist/lib/node-esm/state-HDON4REW.mjs.map +7 -0
- package/dist/lib/node-esm/toolkit-OWGCEKOO.mjs +19 -0
- package/dist/lib/node-esm/toolkit-OWGCEKOO.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +8 -4
- package/dist/types/src/AssistantPlugin.d.ts +2 -1
- package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
- package/dist/types/src/blueprints/assistant-blueprint.d.ts +209 -0
- package/dist/types/src/blueprints/assistant-blueprint.d.ts.map +1 -0
- package/dist/types/src/blueprints/index.d.ts +7 -0
- package/dist/types/src/blueprints/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/ai-service/ai-service.d.ts +5 -0
- package/dist/types/src/capabilities/ai-service/ai-service.d.ts.map +1 -0
- package/dist/types/src/capabilities/ai-service/index.d.ts +3 -0
- package/dist/types/src/capabilities/ai-service/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
- package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +21 -0
- package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -0
- package/dist/types/src/capabilities/blueprint-definition/index.d.ts +4 -0
- package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/edge-model-resolver/edge-model-resolver.d.ts +6 -0
- package/dist/types/src/capabilities/edge-model-resolver/edge-model-resolver.d.ts.map +1 -0
- package/dist/types/src/capabilities/edge-model-resolver/index.d.ts +3 -0
- package/dist/types/src/capabilities/edge-model-resolver/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +10 -11
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/local-model-resolver/index.d.ts +3 -0
- package/dist/types/src/capabilities/local-model-resolver/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/local-model-resolver/local-model-resolver.d.ts +12 -0
- package/dist/types/src/capabilities/local-model-resolver/local-model-resolver.d.ts.map +1 -0
- package/dist/types/src/capabilities/operation-resolver/index.d.ts +3 -0
- package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +5 -0
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
- package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
- package/dist/types/src/capabilities/repair/index.d.ts +3 -0
- package/dist/types/src/capabilities/repair/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/repair/repair.d.ts +6 -0
- package/dist/types/src/capabilities/repair/repair.d.ts.map +1 -0
- package/dist/types/src/capabilities/settings/index.d.ts +15 -0
- package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/settings/settings.d.ts +17 -0
- package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
- package/dist/types/src/capabilities/state/index.d.ts +11 -0
- package/dist/types/src/capabilities/state/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/state/state.d.ts +13 -0
- package/dist/types/src/capabilities/state/state.d.ts.map +1 -0
- package/dist/types/src/capabilities/toolkit/index.d.ts +3 -0
- package/dist/types/src/capabilities/toolkit/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/toolkit/toolkit.d.ts +5 -0
- package/dist/types/src/capabilities/toolkit/toolkit.d.ts.map +1 -0
- package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts +4 -2
- 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 +21 -12
- package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
- package/dist/types/src/components/Chat/events.d.ts +5 -1
- package/dist/types/src/components/Chat/events.d.ts.map +1 -1
- package/dist/types/src/components/ChatCompanion.d.ts +2 -2
- package/dist/types/src/components/ChatCompanion.d.ts.map +1 -1
- package/dist/types/src/components/ChatContainer.d.ts +13 -5
- 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.map +1 -1
- package/dist/types/src/components/ChatPrompt/ChatActions.d.ts.map +1 -1
- package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts +3 -3
- package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts.map +1 -1
- package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts +3 -3
- package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/ChatThread.d.ts +7 -10
- package/dist/types/src/components/ChatThread/ChatThread.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +128 -73
- package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/registry.d.ts +1 -1
- package/dist/types/src/components/ChatThread/registry.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/sync.d.ts +12 -6
- package/dist/types/src/components/ChatThread/sync.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts +112 -60
- package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +11 -1
- package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
- package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts +113 -61
- package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts.map +1 -1
- package/dist/types/src/components/TemplateEditor/extensions/handlebars-extension.d.ts.map +1 -0
- package/dist/types/src/components/TemplateEditor/extensions/index.d.ts +3 -0
- package/dist/types/src/components/TemplateEditor/extensions/index.d.ts.map +1 -0
- package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts +8 -0
- package/dist/types/src/components/TemplateEditor/extensions/xml-extension.d.ts.map +1 -0
- package/dist/types/src/components/ToolBlock/ToolBlock.d.ts +10 -8
- package/dist/types/src/components/ToolBlock/ToolBlock.d.ts.map +1 -1
- package/dist/types/src/components/Toolbox/Toolbox.d.ts +4 -5
- package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
- package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts +112 -60
- package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts.map +1 -1
- package/dist/types/src/components/Typewriter/AssistantToolbar.d.ts +12 -0
- package/dist/types/src/components/Typewriter/AssistantToolbar.d.ts.map +1 -0
- package/dist/types/src/components/Typewriter/Typewriter.d.ts +11 -0
- package/dist/types/src/components/Typewriter/Typewriter.d.ts.map +1 -0
- package/dist/types/src/components/Typewriter/Typewriter.stories.d.ts +7 -0
- package/dist/types/src/components/Typewriter/Typewriter.stories.d.ts.map +1 -0
- package/dist/types/src/components/Typewriter/assistant-extension.d.ts +5 -0
- package/dist/types/src/components/Typewriter/assistant-extension.d.ts.map +1 -0
- package/dist/types/src/components/Typewriter/index.d.ts +2 -0
- package/dist/types/src/components/Typewriter/index.d.ts.map +1 -0
- package/dist/types/src/components/index.d.ts +10 -5
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/functions/index.d.ts +1 -1
- package/dist/types/src/functions/index.d.ts.map +1 -1
- package/dist/types/src/functions/object-list.d.ts +2 -2
- package/dist/types/src/functions/object-list.d.ts.map +1 -1
- package/dist/types/src/functions/object-load.d.ts +1 -1
- package/dist/types/src/functions/object-load.d.ts.map +1 -1
- package/dist/types/src/functions/object-search.d.ts +10 -0
- package/dist/types/src/functions/object-search.d.ts.map +1 -0
- package/dist/types/src/hooks/index.d.ts +2 -1
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useBlueprintRegistry.d.ts +5 -5
- package/dist/types/src/hooks/useBlueprintRegistry.d.ts.map +1 -1
- package/dist/types/src/hooks/useChatProcessor.d.ts +3 -1
- package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
- package/dist/types/src/hooks/useChatServices.d.ts +3 -3
- 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 +2 -2
- package/dist/types/src/hooks/useContextBinder.d.ts.map +1 -1
- package/dist/types/src/hooks/useContextObjects.d.ts +7 -7
- package/dist/types/src/hooks/useContextObjects.d.ts.map +1 -1
- package/dist/types/src/hooks/useFilteredTypes.d.ts +3 -0
- package/dist/types/src/hooks/useFilteredTypes.d.ts.map +1 -0
- package/dist/types/src/hooks/useReferencesProvider.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +0 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +2 -2
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/processor/processor.d.ts +17 -16
- package/dist/types/src/processor/processor.d.ts.map +1 -1
- package/dist/types/src/processor/update-name.d.ts.map +1 -1
- package/dist/types/src/queue-logger.d.ts.map +1 -1
- package/dist/types/src/testing/test-generator.d.ts +5 -4
- package/dist/types/src/testing/test-generator.d.ts.map +1 -1
- package/dist/types/src/testing/test-services.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +243 -26
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Assistant.d.ts +16 -22
- package/dist/types/src/types/Assistant.d.ts.map +1 -1
- package/dist/types/src/types/AssistantAction.d.ts +88 -112
- package/dist/types/src/types/AssistantAction.d.ts.map +1 -1
- package/dist/types/src/types/capabilities.d.ts +33 -0
- package/dist/types/src/types/capabilities.d.ts.map +1 -0
- package/dist/types/src/types/events.d.ts +5 -0
- package/dist/types/src/types/events.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 +10 -212
- package/dist/types/src/types/service.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +113 -90
- package/src/AssistantPlugin.tsx +70 -105
- package/src/blueprints/assistant-blueprint.ts +62 -0
- package/src/blueprints/index.ts +12 -0
- package/src/capabilities/ai-service/ai-service.ts +29 -0
- package/src/capabilities/ai-service/index.ts +7 -0
- package/src/capabilities/app-graph-builder/app-graph-builder.ts +180 -0
- package/src/capabilities/app-graph-builder/index.ts +7 -0
- package/src/capabilities/blueprint-definition/blueprint-definition.ts +60 -0
- package/src/capabilities/blueprint-definition/index.ts +8 -0
- package/src/capabilities/edge-model-resolver/edge-model-resolver.ts +32 -0
- package/src/capabilities/edge-model-resolver/index.ts +7 -0
- package/src/capabilities/index.ts +10 -14
- package/src/capabilities/local-model-resolver/index.ts +7 -0
- package/src/capabilities/local-model-resolver/local-model-resolver.ts +37 -0
- package/src/capabilities/operation-resolver/index.ts +7 -0
- package/src/capabilities/operation-resolver/operation-resolver.ts +110 -0
- package/src/capabilities/react-surface/index.ts +7 -0
- package/src/capabilities/react-surface/react-surface.tsx +95 -0
- package/src/capabilities/repair/index.ts +7 -0
- package/src/capabilities/repair/repair.ts +63 -0
- package/src/capabilities/settings/index.ts +7 -0
- package/src/capabilities/settings/settings.ts +30 -0
- package/src/capabilities/state/index.ts +7 -0
- package/src/capabilities/state/state.ts +27 -0
- package/src/capabilities/toolkit/index.ts +7 -0
- package/src/capabilities/toolkit/toolkit.ts +26 -0
- package/src/components/AssistantSettings/AssistantSettings.tsx +13 -5
- package/src/components/BlueprintArticle.tsx +29 -0
- package/src/components/Chat/Chat.tsx +160 -125
- package/src/components/Chat/events.ts +7 -1
- package/src/components/ChatCompanion.tsx +132 -105
- package/src/components/ChatContainer.tsx +40 -30
- package/src/components/ChatDialog.tsx +13 -7
- package/src/components/ChatProgress/ChatProgress.tsx +4 -17
- package/src/components/ChatPrompt/ChatActions.tsx +3 -5
- package/src/components/ChatPrompt/ChatOptions.tsx +93 -80
- package/src/components/ChatPrompt/ChatReferences.tsx +7 -8
- package/src/components/ChatPrompt/ChatStatusIndicator.tsx +1 -1
- package/src/components/ChatThread/ChatThread.stories.tsx +57 -36
- package/src/components/ChatThread/ChatThread.tsx +26 -36
- package/src/components/ChatThread/Link.tsx +3 -3
- package/src/components/ChatThread/registry.tsx +25 -35
- package/src/components/ChatThread/sync.test.ts +33 -17
- package/src/components/ChatThread/sync.ts +53 -12
- package/src/components/ChatThread/testing/thread.md +37 -0
- package/src/components/PromptArticle.tsx +50 -0
- package/src/components/TemplateEditor/TemplateEditor.stories.tsx +12 -4
- package/src/components/TemplateEditor/TemplateEditor.tsx +14 -10
- package/src/components/TemplateEditor/TemplateForm.stories.tsx +15 -7
- package/src/components/TemplateEditor/TemplateForm.tsx +76 -29
- package/src/components/TemplateEditor/extensions/handlebars-extension.ts +274 -0
- package/src/components/TemplateEditor/extensions/index.ts +6 -0
- package/src/components/TemplateEditor/extensions/xml-extension.ts +64 -0
- package/src/components/ToolBlock/ToolBlock.tsx +36 -45
- package/src/components/Toolbox/Toolbox.stories.tsx +9 -10
- package/src/components/Toolbox/Toolbox.tsx +16 -17
- package/src/components/Typewriter/AssistantToolbar.tsx +161 -0
- package/src/components/Typewriter/Typewriter.stories.tsx +83 -0
- package/src/components/Typewriter/Typewriter.tsx +54 -0
- package/src/components/Typewriter/assistant-extension.tsx +144 -0
- package/src/components/Typewriter/index.ts +5 -0
- package/src/components/index.ts +2 -3
- package/src/functions/index.ts +1 -1
- package/src/functions/object-list.ts +4 -3
- package/src/functions/object-load.ts +7 -5
- package/src/functions/object-search.ts +46 -0
- package/src/hooks/index.ts +2 -1
- package/src/hooks/useBlueprintRegistry.ts +31 -20
- package/src/hooks/useChatProcessor.ts +15 -12
- package/src/hooks/useChatServices.ts +13 -14
- package/src/hooks/useChatToolbarActions.ts +121 -0
- package/src/hooks/useContextBinder.ts +9 -7
- package/src/hooks/useContextObjects.ts +13 -25
- package/src/hooks/useFilteredTypes.ts +37 -0
- package/src/hooks/useReferencesProvider.ts +7 -6
- package/src/index.ts +0 -1
- package/src/meta.ts +2 -2
- package/src/processor/presets.ts +1 -1
- package/src/processor/processor.test.ts +8 -17
- package/src/processor/processor.ts +41 -43
- package/src/processor/update-name.ts +4 -2
- package/src/queue-logger.ts +8 -9
- package/src/testing/test-generator.ts +14 -13
- package/src/testing/test-services.ts +8 -6
- package/src/translations.ts +27 -16
- package/src/types/Assistant.ts +9 -10
- package/src/types/AssistantAction.ts +59 -54
- package/src/types/capabilities.ts +27 -0
- package/src/types/events.ts +11 -0
- package/src/types/index.ts +3 -1
- package/src/types/service.ts +10 -7
- package/dist/lib/browser/BlueprintContainer-GMSYKGSO.mjs +0 -36
- package/dist/lib/browser/BlueprintContainer-GMSYKGSO.mjs.map +0 -7
- package/dist/lib/browser/ChatCompanion-M3FDKTQM.mjs +0 -151
- package/dist/lib/browser/ChatCompanion-M3FDKTQM.mjs.map +0 -7
- package/dist/lib/browser/ChatContainer-KAH7XITI.mjs +0 -74
- package/dist/lib/browser/ChatContainer-KAH7XITI.mjs.map +0 -7
- package/dist/lib/browser/ChatDialog-ZWRGABW6.mjs +0 -87
- package/dist/lib/browser/ChatDialog-ZWRGABW6.mjs.map +0 -7
- package/dist/lib/browser/ai-service-ERTZBTP3.mjs +0 -19
- package/dist/lib/browser/ai-service-ERTZBTP3.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-R5T7BJPC.mjs +0 -183
- package/dist/lib/browser/app-graph-builder-R5T7BJPC.mjs.map +0 -7
- package/dist/lib/browser/blueprint-definition-AGTDXTXO.mjs +0 -13
- package/dist/lib/browser/chunk-357IHWQL.mjs +0 -1519
- package/dist/lib/browser/chunk-357IHWQL.mjs.map +0 -7
- package/dist/lib/browser/chunk-A2NVNXPL.mjs +0 -170
- package/dist/lib/browser/chunk-A2NVNXPL.mjs.map +0 -7
- package/dist/lib/browser/chunk-CQW6UPJM.mjs +0 -199
- package/dist/lib/browser/chunk-CQW6UPJM.mjs.map +0 -7
- package/dist/lib/browser/chunk-GNI6HL6G.mjs +0 -219
- package/dist/lib/browser/chunk-GNI6HL6G.mjs.map +0 -7
- package/dist/lib/browser/chunk-GXHZTOWJ.mjs +0 -378
- package/dist/lib/browser/chunk-GXHZTOWJ.mjs.map +0 -7
- package/dist/lib/browser/chunk-L5OA5OGS.mjs.map +0 -7
- package/dist/lib/browser/chunk-MEN5WTLA.mjs +0 -182
- package/dist/lib/browser/chunk-MEN5WTLA.mjs.map +0 -7
- package/dist/lib/browser/chunk-PUG24BEC.mjs +0 -277
- package/dist/lib/browser/chunk-PUG24BEC.mjs.map +0 -7
- package/dist/lib/browser/chunk-SJJV3HEX.mjs +0 -16
- package/dist/lib/browser/chunk-SJJV3HEX.mjs.map +0 -7
- package/dist/lib/browser/chunk-WBG5PTSX.mjs.map +0 -7
- package/dist/lib/browser/edge-model-resolver-O6OFYIO2.mjs +0 -18
- package/dist/lib/browser/edge-model-resolver-O6OFYIO2.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-3C5TABOX.mjs +0 -136
- package/dist/lib/browser/intent-resolver-3C5TABOX.mjs.map +0 -7
- package/dist/lib/browser/local-model-resolver-GO6ZEMLL.mjs +0 -17
- package/dist/lib/browser/local-model-resolver-GO6ZEMLL.mjs.map +0 -7
- package/dist/lib/browser/react-surface-EYKA5IFU.mjs +0 -90
- package/dist/lib/browser/react-surface-EYKA5IFU.mjs.map +0 -7
- package/dist/lib/browser/settings-VMVBYZLN.mjs +0 -23
- package/dist/lib/browser/settings-VMVBYZLN.mjs.map +0 -7
- package/dist/lib/browser/state-CFREPBB6.mjs +0 -21
- package/dist/lib/browser/state-CFREPBB6.mjs.map +0 -7
- package/dist/lib/browser/toolkit-F3NQ7TSI.mjs +0 -21
- package/dist/lib/browser/toolkit-F3NQ7TSI.mjs.map +0 -7
- package/dist/lib/node-esm/BlueprintContainer-6GBLMK4Z.mjs +0 -37
- package/dist/lib/node-esm/BlueprintContainer-6GBLMK4Z.mjs.map +0 -7
- package/dist/lib/node-esm/ChatCompanion-OV426GCP.mjs +0 -152
- package/dist/lib/node-esm/ChatCompanion-OV426GCP.mjs.map +0 -7
- package/dist/lib/node-esm/ChatContainer-UKY7NHFY.mjs +0 -75
- package/dist/lib/node-esm/ChatContainer-UKY7NHFY.mjs.map +0 -7
- package/dist/lib/node-esm/ChatDialog-2BDQIEXH.mjs +0 -88
- package/dist/lib/node-esm/ChatDialog-2BDQIEXH.mjs.map +0 -7
- package/dist/lib/node-esm/ai-service-MUYLV3NT.mjs +0 -20
- package/dist/lib/node-esm/ai-service-MUYLV3NT.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-I52RYVWH.mjs +0 -184
- package/dist/lib/node-esm/app-graph-builder-I52RYVWH.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-2CAETDW2.mjs +0 -183
- package/dist/lib/node-esm/chunk-2CAETDW2.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-4J5FYNNM.mjs +0 -171
- package/dist/lib/node-esm/chunk-4J5FYNNM.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-5ARE4R2I.mjs +0 -220
- package/dist/lib/node-esm/chunk-5ARE4R2I.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-7ZYOYW7F.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HJPIYMWD.mjs +0 -1520
- package/dist/lib/node-esm/chunk-HJPIYMWD.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-O36P4LN5.mjs +0 -200
- package/dist/lib/node-esm/chunk-O36P4LN5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-WE6KTH72.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-XM4BVQQR.mjs +0 -278
- package/dist/lib/node-esm/chunk-XM4BVQQR.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-XQBL2SBL.mjs +0 -17
- package/dist/lib/node-esm/chunk-XQBL2SBL.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-YIO5MEPR.mjs +0 -380
- package/dist/lib/node-esm/chunk-YIO5MEPR.mjs.map +0 -7
- package/dist/lib/node-esm/edge-model-resolver-2ARXDOYS.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-HQ27YALS.mjs +0 -137
- package/dist/lib/node-esm/intent-resolver-HQ27YALS.mjs.map +0 -7
- package/dist/lib/node-esm/local-model-resolver-WOQ2D2R2.mjs +0 -18
- package/dist/lib/node-esm/local-model-resolver-WOQ2D2R2.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-UOC3CBPH.mjs +0 -91
- package/dist/lib/node-esm/react-surface-UOC3CBPH.mjs.map +0 -7
- package/dist/lib/node-esm/settings-7AUVNDM2.mjs +0 -24
- package/dist/lib/node-esm/settings-7AUVNDM2.mjs.map +0 -7
- package/dist/lib/node-esm/state-XXND44OW.mjs +0 -22
- package/dist/lib/node-esm/state-XXND44OW.mjs.map +0 -7
- package/dist/lib/node-esm/toolkit-7CH5UNSQ.mjs +0 -22
- package/dist/lib/node-esm/toolkit-7CH5UNSQ.mjs.map +0 -7
- package/dist/types/src/capabilities/ai-service.d.ts +0 -4
- package/dist/types/src/capabilities/ai-service.d.ts.map +0 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
- package/dist/types/src/capabilities/blueprint-definition.d.ts +0 -7
- package/dist/types/src/capabilities/blueprint-definition.d.ts.map +0 -1
- package/dist/types/src/capabilities/capabilities.d.ts +0 -11
- package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
- package/dist/types/src/capabilities/edge-model-resolver.d.ts +0 -4
- package/dist/types/src/capabilities/edge-model-resolver.d.ts.map +0 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
- package/dist/types/src/capabilities/local-model-resolver.d.ts +0 -10
- package/dist/types/src/capabilities/local-model-resolver.d.ts.map +0 -1
- package/dist/types/src/capabilities/react-surface.d.ts +0 -4
- package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
- package/dist/types/src/capabilities/settings.d.ts +0 -4
- package/dist/types/src/capabilities/settings.d.ts.map +0 -1
- package/dist/types/src/capabilities/state.d.ts +0 -4
- package/dist/types/src/capabilities/state.d.ts.map +0 -1
- package/dist/types/src/capabilities/toolkit.d.ts +0 -4
- package/dist/types/src/capabilities/toolkit.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/ChatThread/reducers.d.ts +0 -40
- package/dist/types/src/components/ChatThread/reducers.d.ts.map +0 -1
- package/dist/types/src/components/ChatToolbar/ChatToolbar.d.ts +0 -6
- package/dist/types/src/components/ChatToolbar/ChatToolbar.d.ts.map +0 -1
- package/dist/types/src/components/ChatToolbar/index.d.ts +0 -2
- package/dist/types/src/components/ChatToolbar/index.d.ts.map +0 -1
- package/dist/types/src/components/ChatToolbar/useChatToolbarActions.d.ts +0 -9
- package/dist/types/src/components/ChatToolbar/useChatToolbarActions.d.ts.map +0 -1
- package/dist/types/src/components/TemplateEditor/handlebars-extension.d.ts.map +0 -1
- package/dist/types/src/events.d.ts +0 -4
- package/dist/types/src/events.d.ts.map +0 -1
- package/dist/types/src/functions/analysis.d.ts +0 -5
- package/dist/types/src/functions/analysis.d.ts.map +0 -1
- package/dist/types/src/hooks/useItemTypes.d.ts +0 -4
- package/dist/types/src/hooks/useItemTypes.d.ts.map +0 -1
- package/dist/types/src/toolkits/AssistantToolkit.d.ts +0 -21
- package/dist/types/src/toolkits/AssistantToolkit.d.ts.map +0 -1
- package/dist/types/src/toolkits/SystemToolkit.d.ts +0 -69
- package/dist/types/src/toolkits/SystemToolkit.d.ts.map +0 -1
- package/dist/types/src/toolkits/index.d.ts +0 -3
- package/dist/types/src/toolkits/index.d.ts.map +0 -1
- package/src/capabilities/ai-service.ts +0 -27
- package/src/capabilities/app-graph-builder.ts +0 -194
- package/src/capabilities/blueprint-definition.ts +0 -66
- package/src/capabilities/capabilities.ts +0 -18
- package/src/capabilities/edge-model-resolver.ts +0 -25
- package/src/capabilities/intent-resolver.ts +0 -121
- package/src/capabilities/local-model-resolver.ts +0 -30
- package/src/capabilities/react-surface.tsx +0 -71
- package/src/capabilities/settings.ts +0 -19
- package/src/capabilities/state.ts +0 -20
- package/src/capabilities/toolkit.ts +0 -19
- package/src/components/BlueprintContainer.tsx +0 -30
- package/src/components/ChatThread/reducers.ts +0 -151
- package/src/components/ChatToolbar/ChatToolbar.tsx +0 -23
- package/src/components/ChatToolbar/index.ts +0 -5
- package/src/components/ChatToolbar/useChatToolbarActions.ts +0 -126
- package/src/components/TemplateEditor/handlebars-extension.ts +0 -166
- package/src/events.ts +0 -11
- package/src/functions/analysis.ts +0 -22
- package/src/hooks/useItemTypes.ts +0 -37
- package/src/toolkits/AssistantToolkit.ts +0 -55
- package/src/toolkits/SystemToolkit.ts +0 -292
- package/src/toolkits/index.ts +0 -6
- /package/dist/lib/browser/{blueprint-definition-AGTDXTXO.mjs.map → blueprint-definition-DGHH7MUU.mjs.map} +0 -0
- /package/dist/lib/{node-esm/blueprint-definition-CFCUD2VC.mjs.map → browser/blueprints/index.mjs.map} +0 -0
- /package/dist/types/src/components/TemplateEditor/{handlebars-extension.d.ts → extensions/handlebars-extension.d.ts} +0 -0
|
@@ -12,16 +12,11 @@ import * as Schema from 'effect/Schema';
|
|
|
12
12
|
import { AiService } from '@dxos/ai';
|
|
13
13
|
import { AiServiceTestingPreset } from '@dxos/ai/testing';
|
|
14
14
|
import { AiConversation, makeToolExecutionServiceFromFunctions, makeToolResolverFromFunctions } from '@dxos/assistant';
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
QueueService,
|
|
21
|
-
TracingService,
|
|
22
|
-
} from '@dxos/functions';
|
|
23
|
-
import { TestDatabaseLayer } from '@dxos/functions/testing';
|
|
24
|
-
import { type DataType } from '@dxos/schema';
|
|
15
|
+
import { acquireReleaseResource } from '@dxos/effect';
|
|
16
|
+
import { TestHelpers } from '@dxos/effect/testing';
|
|
17
|
+
import { CredentialsService, QueueService, TracingService } from '@dxos/functions';
|
|
18
|
+
import { FunctionInvocationServiceLayerTestMocked, TestDatabaseLayer } from '@dxos/functions-runtime/testing';
|
|
19
|
+
import { type Message } from '@dxos/types';
|
|
25
20
|
|
|
26
21
|
import { AiChatProcessor, type AiChatServices } from './processor';
|
|
27
22
|
|
|
@@ -45,10 +40,7 @@ const TestServicesLayer = Layer.mergeAll(
|
|
|
45
40
|
// types: [],
|
|
46
41
|
}),
|
|
47
42
|
// CredentialsService.configuredLayer([{ service: 'exa.ai', apiKey: EXA_API_KEY }]),
|
|
48
|
-
|
|
49
|
-
Layer.provideMerge(ComputeEventLogger.layerFromTracing),
|
|
50
|
-
Layer.provideMerge(TracingService.layerNoop),
|
|
51
|
-
),
|
|
43
|
+
FunctionInvocationServiceLayerTestMocked({ functions: [] }).pipe(Layer.provideMerge(TracingService.layerNoop)),
|
|
52
44
|
);
|
|
53
45
|
|
|
54
46
|
const TestLayer: Layer.Layer<AiChatServices, never, never> = Layer.mergeAll(
|
|
@@ -56,7 +48,6 @@ const TestLayer: Layer.Layer<AiChatServices, never, never> = Layer.mergeAll(
|
|
|
56
48
|
makeToolResolverFromFunctions([], toolkit),
|
|
57
49
|
makeToolExecutionServiceFromFunctions(toolkit, toolkit.toLayer({}) as any),
|
|
58
50
|
CredentialsService.layerFromDatabase(),
|
|
59
|
-
ComputeEventLogger.layerFromTracing,
|
|
60
51
|
).pipe(Layer.provideMerge(TestServicesLayer), Layer.orDie);
|
|
61
52
|
|
|
62
53
|
// TODO(burdon): Create actual test with mock LLM.
|
|
@@ -66,8 +57,8 @@ describe('Chat processor', () => {
|
|
|
66
57
|
Effect.fn(
|
|
67
58
|
function* ({ expect }) {
|
|
68
59
|
const services = yield* Effect.runtime<AiChatServices>();
|
|
69
|
-
const queue = yield* QueueService.createQueue<
|
|
70
|
-
const conversation = yield* acquireReleaseResource(() => new AiConversation(queue));
|
|
60
|
+
const queue = yield* QueueService.createQueue<Message.Message>();
|
|
61
|
+
const conversation = yield* acquireReleaseResource(() => new AiConversation({ queue }));
|
|
71
62
|
const processor = new AiChatProcessor(conversation, async () => services);
|
|
72
63
|
const result = yield* Effect.promise(() => processor.request({ message: 'Hello' }));
|
|
73
64
|
void processor.cancel();
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Copyright 2025 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { Atom, Registry } from '@effect-atom/atom-react';
|
|
6
6
|
import * as Cause from 'effect/Cause';
|
|
7
7
|
import * as Effect from 'effect/Effect';
|
|
8
8
|
import * as Exit from 'effect/Exit';
|
|
@@ -20,23 +20,23 @@ import {
|
|
|
20
20
|
} from '@dxos/ai';
|
|
21
21
|
import {
|
|
22
22
|
type AiConversation,
|
|
23
|
-
type
|
|
23
|
+
type AiConversationRunProps,
|
|
24
24
|
ArtifactDiffResolver,
|
|
25
25
|
GenerationObserver,
|
|
26
26
|
createSystemPrompt,
|
|
27
27
|
} from '@dxos/assistant';
|
|
28
28
|
import { type Blueprint } from '@dxos/blueprints';
|
|
29
29
|
import { Obj } from '@dxos/echo';
|
|
30
|
-
import {
|
|
30
|
+
import { type Database } from '@dxos/echo';
|
|
31
|
+
import { runAndForwardErrors, throwCause } from '@dxos/effect';
|
|
31
32
|
import {
|
|
32
33
|
type CredentialsService,
|
|
33
|
-
type DatabaseService,
|
|
34
34
|
type FunctionInvocationService,
|
|
35
35
|
type QueueService,
|
|
36
36
|
type TracingService,
|
|
37
37
|
} from '@dxos/functions';
|
|
38
38
|
import { log } from '@dxos/log';
|
|
39
|
-
import { type ContentBlock,
|
|
39
|
+
import { type ContentBlock, Message } from '@dxos/types';
|
|
40
40
|
|
|
41
41
|
import { type Assistant } from '../types';
|
|
42
42
|
|
|
@@ -44,7 +44,7 @@ import { updateName } from './update-name';
|
|
|
44
44
|
|
|
45
45
|
export type AiChatServices =
|
|
46
46
|
| CredentialsService
|
|
47
|
-
|
|
|
47
|
+
| Database.Service
|
|
48
48
|
| QueueService
|
|
49
49
|
| FunctionInvocationService
|
|
50
50
|
| AiService.AiService
|
|
@@ -58,7 +58,7 @@ export type AiChatProcessorOptions = {
|
|
|
58
58
|
blueprintRegistry?: Blueprint.Registry;
|
|
59
59
|
observableRegistry?: Registry.Registry;
|
|
60
60
|
extensions?: ToolContextExtensions;
|
|
61
|
-
} & Pick<
|
|
61
|
+
} & Pick<AiConversationRunProps, 'system'>;
|
|
62
62
|
|
|
63
63
|
const defaultOptions: Partial<AiChatProcessorOptions> = {
|
|
64
64
|
model: DEFAULT_EDGE_MODEL,
|
|
@@ -77,31 +77,31 @@ export type AiRequest = {
|
|
|
77
77
|
* Handles streaming responses from the conversation.
|
|
78
78
|
*/
|
|
79
79
|
export class AiChatProcessor {
|
|
80
|
-
private readonly
|
|
80
|
+
private readonly _registry: Registry.Registry;
|
|
81
81
|
|
|
82
82
|
/** External observer. */
|
|
83
83
|
private readonly _observer: GenerationObserver;
|
|
84
84
|
|
|
85
|
+
/** Pending messages (incl. the current user request). */
|
|
86
|
+
private readonly _pending = Atom.make<Message.Message[]>([]);
|
|
87
|
+
|
|
88
|
+
/** Currently streaming message (from the AI service). */
|
|
89
|
+
private readonly _streaming = Atom.make<Option.Option<Message.Message>>(Option.none());
|
|
90
|
+
|
|
85
91
|
/** Currently active request fiber. */
|
|
86
92
|
private _fiber: Fiber.Fiber<void, any> | undefined;
|
|
87
93
|
|
|
88
94
|
/** Last request (for retries). */
|
|
89
95
|
private _lastRequest: AiRequest | undefined;
|
|
90
96
|
|
|
91
|
-
/** Pending messages (incl. the current user request). */
|
|
92
|
-
private readonly _pending = Rx.make<DataType.Message[]>([]);
|
|
93
|
-
|
|
94
|
-
/** Currently streaming message (from the AI service). */
|
|
95
|
-
private readonly _streaming = Rx.make<Option.Option<DataType.Message>>(Option.none());
|
|
96
|
-
|
|
97
97
|
/** Streaming state. */
|
|
98
|
-
public readonly streaming =
|
|
98
|
+
public readonly streaming = Atom.make<boolean>((get) => Option.isSome(get(this._streaming)));
|
|
99
99
|
|
|
100
100
|
/** Active state. */
|
|
101
|
-
public readonly active =
|
|
101
|
+
public readonly active = Atom.make(false);
|
|
102
102
|
|
|
103
103
|
/** Array of Messages (incl. the current message being streamed). */
|
|
104
|
-
public readonly messages =
|
|
104
|
+
public readonly messages = Atom.make<Message.Message[]>((get) =>
|
|
105
105
|
Option.match(get(this._streaming), {
|
|
106
106
|
onNone: () => get(this._pending),
|
|
107
107
|
onSome: (streaming) => [...get(this._pending), streaming],
|
|
@@ -109,7 +109,7 @@ export class AiChatProcessor {
|
|
|
109
109
|
);
|
|
110
110
|
|
|
111
111
|
/** Last error. */
|
|
112
|
-
public readonly error =
|
|
112
|
+
public readonly error = Atom.make<Option.Option<Error>>(Option.none());
|
|
113
113
|
|
|
114
114
|
constructor(
|
|
115
115
|
private readonly _conversation: AiConversation,
|
|
@@ -118,7 +118,7 @@ export class AiChatProcessor {
|
|
|
118
118
|
private readonly _options: AiChatProcessorOptions = defaultOptions,
|
|
119
119
|
) {
|
|
120
120
|
// Initialize registries and defaults before using in other logic.
|
|
121
|
-
this.
|
|
121
|
+
this._registry = this._options.observableRegistry ?? Registry.make();
|
|
122
122
|
this._observer = GenerationObserver.make({
|
|
123
123
|
onBlock: this._onBlock,
|
|
124
124
|
onMessage: this._onMessage,
|
|
@@ -144,34 +144,32 @@ export class AiChatProcessor {
|
|
|
144
144
|
/**
|
|
145
145
|
* Initiates a new request.
|
|
146
146
|
*/
|
|
147
|
-
async request(
|
|
147
|
+
async request(requestProp: AiRequest): Promise<void> {
|
|
148
148
|
if (this._fiber) {
|
|
149
149
|
await this.cancel();
|
|
150
150
|
}
|
|
151
151
|
|
|
152
152
|
try {
|
|
153
|
-
this._lastRequest =
|
|
154
|
-
this.
|
|
155
|
-
this.
|
|
153
|
+
this._lastRequest = requestProp;
|
|
154
|
+
this._registry.set(this.error, Option.none());
|
|
155
|
+
this._registry.set(this.active, true);
|
|
156
|
+
|
|
157
|
+
const services = await this._services();
|
|
156
158
|
|
|
157
159
|
// Create request.
|
|
158
160
|
const request = this._conversation.createRequest({
|
|
159
161
|
system: this._options.system,
|
|
160
|
-
prompt:
|
|
162
|
+
prompt: requestProp.message,
|
|
161
163
|
observer: this._observer,
|
|
162
164
|
});
|
|
163
165
|
|
|
164
|
-
const runtime = await this._services();
|
|
165
|
-
|
|
166
166
|
// Create fiber.
|
|
167
167
|
this._fiber = request.pipe(
|
|
168
168
|
Effect.provide(AiService.model(this._options.model ?? DEFAULT_EDGE_MODEL)),
|
|
169
|
-
|
|
170
169
|
// TODO(dmaretskyi): Move ArtifactDiffResolver upstream.
|
|
171
170
|
Effect.provideService(ArtifactDiffResolver, this._artifactDiffResolver),
|
|
172
|
-
|
|
173
171
|
Effect.asVoid,
|
|
174
|
-
Runtime.runFork(
|
|
172
|
+
Runtime.runFork(services), // Runs in the background.
|
|
175
173
|
);
|
|
176
174
|
|
|
177
175
|
// Execute request.
|
|
@@ -180,15 +178,15 @@ export class AiChatProcessor {
|
|
|
180
178
|
throwCause(response.cause);
|
|
181
179
|
}
|
|
182
180
|
|
|
183
|
-
this.
|
|
181
|
+
this._registry.set(this.error, Option.none());
|
|
184
182
|
this._lastRequest = undefined;
|
|
185
183
|
this._fiber = undefined;
|
|
186
|
-
} catch (
|
|
187
|
-
log.error('request failed', { error });
|
|
188
|
-
this.
|
|
184
|
+
} catch (err) {
|
|
185
|
+
log.error('request failed', { error: err });
|
|
186
|
+
this._registry.set(this.error, Option.some(new Error('AI service error', { cause: err })));
|
|
189
187
|
} finally {
|
|
188
|
+
this._registry.set(this.active, false);
|
|
190
189
|
this._fiber = undefined;
|
|
191
|
-
this._rx.set(this.active, false);
|
|
192
190
|
}
|
|
193
191
|
}
|
|
194
192
|
|
|
@@ -196,7 +194,7 @@ export class AiChatProcessor {
|
|
|
196
194
|
* Cancels the current request.
|
|
197
195
|
*/
|
|
198
196
|
async cancel(): Promise<void> {
|
|
199
|
-
await
|
|
197
|
+
await runAndForwardErrors(
|
|
200
198
|
Effect.gen(this, function* () {
|
|
201
199
|
if (this._fiber) {
|
|
202
200
|
yield* this._fiber.pipe(Fiber.interrupt);
|
|
@@ -205,7 +203,7 @@ export class AiChatProcessor {
|
|
|
205
203
|
);
|
|
206
204
|
|
|
207
205
|
this._fiber = undefined;
|
|
208
|
-
this.
|
|
206
|
+
this._registry.set(this.active, false);
|
|
209
207
|
}
|
|
210
208
|
|
|
211
209
|
/**
|
|
@@ -233,7 +231,7 @@ export class AiChatProcessor {
|
|
|
233
231
|
// artifacts.map(async (artifact) => {
|
|
234
232
|
// const {
|
|
235
233
|
// objects: [object],
|
|
236
|
-
// } = await space.db.query(Filter.
|
|
234
|
+
// } = await space.db.query(Filter.id(artifact.id)).run();
|
|
237
235
|
// if (!object) {
|
|
238
236
|
// return;
|
|
239
237
|
// }
|
|
@@ -250,22 +248,22 @@ export class AiChatProcessor {
|
|
|
250
248
|
};
|
|
251
249
|
|
|
252
250
|
private _onMessage = Effect.fn(
|
|
253
|
-
function* (this: AiChatProcessor, message:
|
|
254
|
-
this.
|
|
255
|
-
this.
|
|
251
|
+
function* (this: AiChatProcessor, message: Message.Message) {
|
|
252
|
+
this._registry.set(this._streaming, Option.none());
|
|
253
|
+
this._registry.update(this._pending, (pending) => [...pending, message]);
|
|
256
254
|
}.bind(this),
|
|
257
255
|
);
|
|
258
256
|
|
|
259
257
|
private _onBlock = Effect.fn(
|
|
260
258
|
function* (this: AiChatProcessor, block: ContentBlock.Any) {
|
|
261
|
-
this.
|
|
259
|
+
this._registry.update(this._streaming, (streaming) => {
|
|
262
260
|
const blocks = streaming.pipe(
|
|
263
|
-
Option.map((streaming) => streaming.blocks.filter((b) => !b.pending)),
|
|
261
|
+
Option.map((streaming) => streaming.blocks.filter((b: ContentBlock.Any) => !b.pending)),
|
|
264
262
|
Option.getOrElse(() => []),
|
|
265
263
|
);
|
|
266
264
|
|
|
267
265
|
return Option.some(
|
|
268
|
-
Obj.make(
|
|
266
|
+
Obj.make(Message.Message, {
|
|
269
267
|
created: new Date().toISOString(),
|
|
270
268
|
sender: { role: 'assistant' },
|
|
271
269
|
blocks: [...blocks, block],
|
|
@@ -9,6 +9,7 @@ import * as Runtime from 'effect/Runtime';
|
|
|
9
9
|
|
|
10
10
|
import { AiService, DEFAULT_EDGE_MODEL, type ModelName } from '@dxos/ai';
|
|
11
11
|
import { type AiConversation, AiSession } from '@dxos/assistant';
|
|
12
|
+
import { Obj } from '@dxos/echo';
|
|
12
13
|
import { throwCause } from '@dxos/effect';
|
|
13
14
|
import { trim } from '@dxos/util';
|
|
14
15
|
|
|
@@ -24,7 +25,6 @@ export const updateName = async (
|
|
|
24
25
|
runtime: Runtime.Runtime<AiChatServices>,
|
|
25
26
|
conversation: AiConversation,
|
|
26
27
|
chat: Assistant.Chat,
|
|
27
|
-
// TODO(burdon): Use simpler model.
|
|
28
28
|
model: ModelName = DEFAULT_EDGE_MODEL,
|
|
29
29
|
): Promise<void> => {
|
|
30
30
|
const history = await conversation.getHistory();
|
|
@@ -44,7 +44,9 @@ export const updateName = async (
|
|
|
44
44
|
const message = messages.find((message) => message.sender.role === 'assistant');
|
|
45
45
|
const title = message?.blocks.find((block) => block._tag === 'text')?.text;
|
|
46
46
|
if (title) {
|
|
47
|
-
chat
|
|
47
|
+
Obj.change(chat, (c) => {
|
|
48
|
+
c.name = title;
|
|
49
|
+
});
|
|
48
50
|
}
|
|
49
51
|
}),
|
|
50
52
|
Runtime.runFork(runtime), // Run in the background.
|
package/src/queue-logger.ts
CHANGED
|
@@ -5,14 +5,10 @@
|
|
|
5
5
|
import { type Queue, Ref, type Space, getSpace } from '@dxos/client/echo';
|
|
6
6
|
import { type Sequence, type SequenceEvent, type SequenceLogger } from '@dxos/conductor';
|
|
7
7
|
import { DXN, Key, Obj } from '@dxos/echo';
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
InvocationTraceEventType,
|
|
13
|
-
InvocationTraceStartEvent,
|
|
14
|
-
TraceEvent,
|
|
15
|
-
} from '@dxos/functions';
|
|
8
|
+
import { InvocationTraceEndEvent, InvocationTraceEventType, InvocationTraceStartEvent } from '@dxos/functions-runtime';
|
|
9
|
+
import { TraceEvent } from '@dxos/functions-runtime';
|
|
10
|
+
import { InvocationOutcome } from '@dxos/functions-runtime';
|
|
11
|
+
import { type InvocationTraceEvent } from '@dxos/functions-runtime';
|
|
16
12
|
import { invariant } from '@dxos/invariant';
|
|
17
13
|
import { QueueSubspaceTags } from '@dxos/keys';
|
|
18
14
|
|
|
@@ -27,7 +23,10 @@ export class QueueLogger implements SequenceLogger {
|
|
|
27
23
|
let dxn = this._space.properties.invocationTraceQueue?.dxn;
|
|
28
24
|
if (!dxn) {
|
|
29
25
|
dxn = DXN.fromQueue(QueueSubspaceTags.TRACE, this._space.id, Key.ObjectId.random());
|
|
30
|
-
|
|
26
|
+
const newDxn = dxn;
|
|
27
|
+
Obj.change(this._space.properties, (p) => {
|
|
28
|
+
p.invocationTraceQueue = Ref.fromDXN(newDxn);
|
|
29
|
+
});
|
|
31
30
|
}
|
|
32
31
|
this._invocationTraceQueue = this._space.queues.get(dxn);
|
|
33
32
|
}
|
|
@@ -5,21 +5,22 @@
|
|
|
5
5
|
import * as Effect from 'effect/Effect';
|
|
6
6
|
|
|
7
7
|
import { Obj } from '@dxos/echo';
|
|
8
|
-
import {
|
|
8
|
+
import { Database } from '@dxos/echo';
|
|
9
|
+
import { ContextQueueService } from '@dxos/functions';
|
|
9
10
|
import { faker } from '@dxos/random';
|
|
10
11
|
import { renderObjectLink } from '@dxos/react-ui-components';
|
|
11
|
-
import { type ContentBlock,
|
|
12
|
+
import { type Actor, type ContentBlock, Message, Organization } from '@dxos/types';
|
|
12
13
|
import { trim } from '@dxos/util';
|
|
13
14
|
|
|
14
|
-
export const createMessage = (role:
|
|
15
|
-
return Obj.make(
|
|
15
|
+
export const createMessage = (role: Actor.Role, blocks: ContentBlock.Any[]): Message.Message => {
|
|
16
|
+
return Obj.make(Message.Message, {
|
|
16
17
|
created: new Date().toISOString(),
|
|
17
18
|
sender: { role },
|
|
18
19
|
blocks,
|
|
19
20
|
});
|
|
20
21
|
};
|
|
21
22
|
|
|
22
|
-
export type MessageGenerator = Effect.Effect<void, never,
|
|
23
|
+
export type MessageGenerator = Effect.Effect<void, never, Database.Service | ContextQueueService>;
|
|
23
24
|
|
|
24
25
|
export const createMessageGenerator = (): MessageGenerator[] => [
|
|
25
26
|
Effect.gen(function* () {
|
|
@@ -70,9 +71,9 @@ export const createMessageGenerator = (): MessageGenerator[] => [
|
|
|
70
71
|
[
|
|
71
72
|
faker.lorem.paragraph(),
|
|
72
73
|
'',
|
|
73
|
-
...Array.from({
|
|
74
|
-
(
|
|
75
|
-
),
|
|
74
|
+
...Array.from({
|
|
75
|
+
length: faker.number.int({ min: 3, max: 5 }),
|
|
76
|
+
}).map((_, idx) => `${idx + 1}. ${faker.lorem.paragraph()}`),
|
|
76
77
|
].join('\n') + '\n',
|
|
77
78
|
},
|
|
78
79
|
]),
|
|
@@ -145,11 +146,11 @@ export const createMessageGenerator = (): MessageGenerator[] => [
|
|
|
145
146
|
|
|
146
147
|
Effect.gen(function* () {
|
|
147
148
|
const { queue } = yield* ContextQueueService;
|
|
148
|
-
const { db } = yield*
|
|
149
|
-
const obj1 = db.add(Obj.make(
|
|
150
|
-
// const obj2 = db.add(Obj.make(
|
|
151
|
-
// const obj3 = db.add(Obj.make(
|
|
152
|
-
// const obj4 = db.add(Obj.make(
|
|
149
|
+
const { db } = yield* Database.Service;
|
|
150
|
+
const obj1 = db.add(Obj.make(Organization.Organization, { name: 'DXOS' }));
|
|
151
|
+
// const obj2 = db.add(Obj.make(Person.Person, { fullName: 'Alice' }));
|
|
152
|
+
// const obj3 = db.add(Obj.make(Person.Person, { fullName: 'Bob' }));
|
|
153
|
+
// const obj4 = db.add(Obj.make(Person.Person, { fullName: 'Charlie' }));
|
|
153
154
|
yield* Effect.promise(() =>
|
|
154
155
|
queue.append([
|
|
155
156
|
createMessage('assistant', [
|
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
// Copyright 2025 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import { Obj } from '@dxos/echo';
|
|
5
|
+
import { Obj, type Type } from '@dxos/echo';
|
|
6
6
|
|
|
7
7
|
import { type ApiAuthorization, type BaseServiceRegistry, ServiceType, categoryIcons } from '../types';
|
|
8
8
|
|
|
9
|
+
const ServiceTypeSchema = ServiceType as unknown as Type.Obj.Any;
|
|
10
|
+
|
|
9
11
|
export class MockServiceRegistry implements BaseServiceRegistry {
|
|
10
12
|
async queryServices(): Promise<ServiceType[]> {
|
|
11
13
|
return TEST_SERVICES;
|
|
@@ -48,7 +50,7 @@ const VISUAL_CROSSING_CREDENTIALS: ApiAuthorization = {
|
|
|
48
50
|
// - e.g., https://github.com/konfig-sdks/openapi-examples/blob/main/xkcd/openapi.yaml
|
|
49
51
|
|
|
50
52
|
const TEST_SERVICES: ServiceType[] = [
|
|
51
|
-
Obj.make(
|
|
53
|
+
Obj.make(ServiceTypeSchema, {
|
|
52
54
|
serviceId: 'amadeus.com/service/FlightSearch',
|
|
53
55
|
name: 'Amadeus Flight Search',
|
|
54
56
|
description: 'Search for local and international flights.',
|
|
@@ -62,7 +64,7 @@ const TEST_SERVICES: ServiceType[] = [
|
|
|
62
64
|
],
|
|
63
65
|
}),
|
|
64
66
|
|
|
65
|
-
Obj.make(
|
|
67
|
+
Obj.make(ServiceTypeSchema, {
|
|
66
68
|
serviceId: 'amadeus.com/service/HotelSearch',
|
|
67
69
|
name: 'Amadeus Hotel Search',
|
|
68
70
|
description: 'Search for local and international hotels.',
|
|
@@ -76,7 +78,7 @@ const TEST_SERVICES: ServiceType[] = [
|
|
|
76
78
|
],
|
|
77
79
|
}),
|
|
78
80
|
|
|
79
|
-
Obj.make(
|
|
81
|
+
Obj.make(ServiceTypeSchema, {
|
|
80
82
|
serviceId: 'visualcrossing.com/service/Weather',
|
|
81
83
|
name: 'Visual Crossing Weather',
|
|
82
84
|
description: 'Search for global weather forecasts.',
|
|
@@ -91,7 +93,7 @@ const TEST_SERVICES: ServiceType[] = [
|
|
|
91
93
|
}),
|
|
92
94
|
|
|
93
95
|
// TODO(burdon): Needs auth.
|
|
94
|
-
Obj.make(
|
|
96
|
+
Obj.make(ServiceTypeSchema, {
|
|
95
97
|
serviceId: 'abstractapi.com/service/GeoLocation',
|
|
96
98
|
name: 'Abstract GeoLocation',
|
|
97
99
|
description: 'Get the location of any IP address.',
|
|
@@ -109,7 +111,7 @@ const TEST_SERVICES: ServiceType[] = [
|
|
|
109
111
|
//
|
|
110
112
|
|
|
111
113
|
...Array.from({ length: 20 }, (_, i) =>
|
|
112
|
-
Obj.make(
|
|
114
|
+
Obj.make(ServiceTypeSchema, {
|
|
113
115
|
serviceId: `example.com/service/test-${i}`,
|
|
114
116
|
name: `Test ${i}`,
|
|
115
117
|
description: `Test ${i}`,
|
package/src/translations.ts
CHANGED
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
// Copyright 2023 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import { Blueprint } from '@dxos/blueprints';
|
|
5
|
+
import { Blueprint, Prompt } from '@dxos/blueprints';
|
|
6
6
|
import { Sequence } from '@dxos/conductor';
|
|
7
|
+
import { Type } from '@dxos/echo';
|
|
7
8
|
import { type Resource } from '@dxos/react-ui';
|
|
8
9
|
|
|
9
10
|
import { meta } from './meta';
|
|
@@ -22,6 +23,17 @@ export const translations = [
|
|
|
22
23
|
'object name placeholder': 'New blueprint',
|
|
23
24
|
'rename object label': 'Rename blueprint',
|
|
24
25
|
'delete object label': 'Delete blueprint',
|
|
26
|
+
'object deleted label': 'Blueprint deleted',
|
|
27
|
+
},
|
|
28
|
+
[Type.getTypename(Prompt.Prompt)]: {
|
|
29
|
+
'typename label': 'Prompt',
|
|
30
|
+
'typename label_zero': 'Prompts',
|
|
31
|
+
'typename label_one': 'Prompt',
|
|
32
|
+
'typename label_other': 'Prompts',
|
|
33
|
+
'object name placeholder': 'New prompt',
|
|
34
|
+
'rename object label': 'Rename prompt',
|
|
35
|
+
'delete object label': 'Delete prompt',
|
|
36
|
+
'object deleted label': 'Prompt deleted',
|
|
25
37
|
},
|
|
26
38
|
// TODO(burdon): From conductor.
|
|
27
39
|
[Sequence.typename]: {
|
|
@@ -32,12 +44,14 @@ export const translations = [
|
|
|
32
44
|
'object name placeholder': 'New sequence',
|
|
33
45
|
'rename object label': 'Rename sequence',
|
|
34
46
|
'delete object label': 'Delete sequence',
|
|
47
|
+
'object deleted label': 'Sequence deleted',
|
|
35
48
|
},
|
|
36
49
|
[Assistant.Chat.typename]: {
|
|
37
50
|
'typename label': 'AI Chat',
|
|
38
51
|
'object name placeholder': 'New AI Chat',
|
|
39
52
|
'rename object label': 'Rename AI Chat',
|
|
40
53
|
'delete object label': 'Delete AI Chat',
|
|
54
|
+
'object deleted label': 'AI Chat deleted',
|
|
41
55
|
},
|
|
42
56
|
// TODO(burdon): Reconcile with react-ui-chat.
|
|
43
57
|
[meta.id]: {
|
|
@@ -61,11 +75,11 @@ export const translations = [
|
|
|
61
75
|
'type filter placeholder': 'Type',
|
|
62
76
|
'any type filter label': 'Any',
|
|
63
77
|
'no blueprint message': 'No active blueprints',
|
|
64
|
-
'
|
|
65
|
-
'
|
|
66
|
-
'error label': '
|
|
78
|
+
'tool call label': 'Calling tool...',
|
|
79
|
+
'tool result label': 'Success',
|
|
80
|
+
'tool error label': 'Tool call failed',
|
|
67
81
|
|
|
68
|
-
'
|
|
82
|
+
'invocations label': 'Invocations',
|
|
69
83
|
|
|
70
84
|
'assistant dialog title': 'Assistant',
|
|
71
85
|
'open assistant label': 'Open assistant',
|
|
@@ -73,13 +87,10 @@ export const translations = [
|
|
|
73
87
|
'no tools': 'No tools are configured',
|
|
74
88
|
'no results': 'No results',
|
|
75
89
|
|
|
76
|
-
'button
|
|
77
|
-
'button
|
|
78
|
-
'
|
|
79
|
-
'button
|
|
80
|
-
'button save': 'Save',
|
|
81
|
-
'button run': 'Run',
|
|
82
|
-
'button new thread': 'New Chat',
|
|
90
|
+
'cancel button': 'Cancel',
|
|
91
|
+
'save button': 'Save',
|
|
92
|
+
'new thread button': 'New Chat',
|
|
93
|
+
'rename thread button': 'Rename Chat',
|
|
83
94
|
'chat history label': 'Chat History',
|
|
84
95
|
'chat update name label': 'Update AI Chat name',
|
|
85
96
|
|
|
@@ -88,10 +99,10 @@ export const translations = [
|
|
|
88
99
|
|
|
89
100
|
'search placeholder': 'Search...',
|
|
90
101
|
'prompt placeholder': 'Enter question or command...',
|
|
91
|
-
'
|
|
92
|
-
'
|
|
93
|
-
'button
|
|
94
|
-
'
|
|
102
|
+
'context objects button': 'Add to context',
|
|
103
|
+
'context settings button': 'Chat settings',
|
|
104
|
+
'microphone button': 'Click to speak',
|
|
105
|
+
'cancel processing button': 'Stop processing',
|
|
95
106
|
'blueprints in context title': 'Blueprints',
|
|
96
107
|
'objects in context title': 'Content',
|
|
97
108
|
'remove object in context label': 'Remove document',
|
package/src/types/Assistant.ts
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
import * as Schema from 'effect/Schema';
|
|
6
6
|
|
|
7
|
-
import { Obj,
|
|
8
|
-
import {
|
|
7
|
+
import { Obj, Type } from '@dxos/echo';
|
|
8
|
+
import { FormInputAnnotation, LabelAnnotation } from '@dxos/echo/internal';
|
|
9
9
|
import { Queue } from '@dxos/echo-db';
|
|
10
10
|
|
|
11
11
|
import { LLM_PROVIDERS } from './defs';
|
|
@@ -15,11 +15,11 @@ import { LLM_PROVIDERS } from './defs';
|
|
|
15
15
|
*/
|
|
16
16
|
export const Chat = Schema.Struct({
|
|
17
17
|
name: Schema.String.pipe(Schema.optional),
|
|
18
|
-
queue: Type.Ref(Queue).pipe(
|
|
18
|
+
queue: Type.Ref(Queue).pipe(FormInputAnnotation.set(false)),
|
|
19
19
|
// TODO(dmaretskyi): Eventually this and the message queue will be the same.
|
|
20
|
-
traceQueue: Type.Ref(Queue).pipe(
|
|
20
|
+
traceQueue: Type.Ref(Queue).pipe(FormInputAnnotation.set(false), Schema.optional),
|
|
21
21
|
}).pipe(
|
|
22
|
-
Type.
|
|
22
|
+
Type.object({
|
|
23
23
|
typename: 'dxos.org/type/assistant/Chat',
|
|
24
24
|
version: '0.2.0',
|
|
25
25
|
}),
|
|
@@ -28,20 +28,19 @@ export const Chat = Schema.Struct({
|
|
|
28
28
|
|
|
29
29
|
export interface Chat extends Schema.Schema.Type<typeof Chat> {}
|
|
30
30
|
|
|
31
|
-
export const
|
|
32
|
-
Obj.make(Chat, { name, queue: Ref.fromDXN(queue.dxn) });
|
|
31
|
+
export const make = (props: Obj.MakeProps<typeof Chat>) => Obj.make(Chat, props);
|
|
33
32
|
|
|
34
33
|
/**
|
|
35
34
|
* Relation between a Chat and companion objects (e.g., artifacts).
|
|
36
35
|
*/
|
|
37
36
|
export const CompanionTo = Schema.Struct({
|
|
38
|
-
id:
|
|
37
|
+
id: Obj.ID,
|
|
39
38
|
}).pipe(
|
|
40
|
-
Type.
|
|
39
|
+
Type.relation({
|
|
41
40
|
typename: 'dxos.org/relation/assistant/CompanionTo',
|
|
42
41
|
version: '0.1.0',
|
|
43
42
|
source: Chat,
|
|
44
|
-
target: Type.
|
|
43
|
+
target: Type.Obj,
|
|
45
44
|
}),
|
|
46
45
|
);
|
|
47
46
|
|