@dxos/plugin-assistant 0.8.4-main.7ace549 → 0.8.4-main.937b3ca
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-GFSJZTOT.mjs +153 -0
- package/dist/lib/browser/ChatCompanion-GFSJZTOT.mjs.map +7 -0
- package/dist/lib/browser/ChatContainer-IHAPBIZE.mjs +72 -0
- package/dist/lib/browser/ChatContainer-IHAPBIZE.mjs.map +7 -0
- package/dist/lib/browser/ChatDialog-EGRMPCTL.mjs +85 -0
- package/dist/lib/browser/ChatDialog-EGRMPCTL.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-A75V4MOQ.mjs +1832 -0
- package/dist/lib/browser/chunk-A75V4MOQ.mjs.map +7 -0
- package/dist/lib/browser/{chunk-7ZJIXQ2Y.mjs → chunk-DKQMSMBN.mjs} +54 -63
- 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-2BOE3OTW.mjs → chunk-ML3QCFKA.mjs} +23 -20
- 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 +156 -174
- 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-ECKZNDSU.mjs → react-surface-S7SBFOSW.mjs} +41 -30
- package/dist/lib/browser/react-surface-S7SBFOSW.mjs.map +7 -0
- package/dist/lib/browser/{repair-3MZXLUHO.mjs → repair-6QGAKOVM.mjs} +23 -13
- 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-UR7DXZ54.mjs +154 -0
- package/dist/lib/node-esm/ChatCompanion-UR7DXZ54.mjs.map +7 -0
- package/dist/lib/node-esm/ChatContainer-YMLLGOZK.mjs +73 -0
- package/dist/lib/node-esm/ChatContainer-YMLLGOZK.mjs.map +7 -0
- package/dist/lib/node-esm/ChatDialog-D24WJPK4.mjs +86 -0
- package/dist/lib/node-esm/ChatDialog-D24WJPK4.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-RDCLLIQH.mjs → blueprint-definition-SEMDEIYG.mjs} +6 -4
- 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-4BERCIES.mjs +1833 -0
- package/dist/lib/node-esm/chunk-4BERCIES.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-CKW4IYLY.mjs → chunk-75PHXBN3.mjs} +54 -63
- 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-3Q22TTXW.mjs → chunk-ZRIPP7YF.mjs} +23 -20
- 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 +156 -174
- 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-NLIG5VAI.mjs → react-surface-ZR6FXGLF.mjs} +41 -30
- package/dist/lib/node-esm/react-surface-ZR6FXGLF.mjs.map +7 -0
- package/dist/lib/node-esm/{repair-RER5H7Y6.mjs → repair-QJ7CQDKU.mjs} +23 -13
- 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 -12
- 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 +1 -1
- package/dist/types/src/components/BlueprintArticle.d.ts.map +1 -1
- package/dist/types/src/components/Chat/Chat.d.ts +9 -10
- package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
- package/dist/types/src/components/Chat/events.d.ts +1 -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 +10 -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/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 +1 -1
- package/dist/types/src/components/ChatThread/ChatThread.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +4 -3
- 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 +1 -1
- package/dist/types/src/components/ChatThread/sync.d.ts.map +1 -1
- package/dist/types/src/components/PromptArticle.d.ts +1 -1
- package/dist/types/src/components/PromptArticle.d.ts.map +1 -1
- package/dist/types/src/components/TemplateEditor/TemplateEditor.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 +1 -1
- 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 -1
- package/dist/types/src/components/ToolBlock/ToolBlock.d.ts +3 -3
- 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.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 -4
- 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 +1 -1
- package/dist/types/src/functions/object-list.d.ts.map +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/useBlueprintRegistry.d.ts +5 -5
- package/dist/types/src/hooks/useBlueprintRegistry.d.ts.map +1 -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 +1 -1
- package/dist/types/src/hooks/useChatToolbarActions.d.ts.map +1 -1
- 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 +2 -3
- package/dist/types/src/hooks/useFilteredTypes.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 +10 -9
- 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 +3 -2
- 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/types/Assistant.d.ts +16 -19
- package/dist/types/src/types/Assistant.d.ts.map +1 -1
- package/dist/types/src/types/AssistantAction.d.ts +88 -122
- 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 +11 -260
- package/dist/types/src/types/service.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +113 -92
- package/src/AssistantPlugin.tsx +62 -90
- 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 -15
- 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.ts → repair/repair.ts} +23 -9
- 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 +4 -4
- package/src/components/Chat/Chat.tsx +68 -68
- package/src/components/Chat/events.ts +1 -1
- package/src/components/ChatCompanion.tsx +125 -117
- package/src/components/ChatContainer.tsx +19 -19
- package/src/components/ChatDialog.tsx +6 -7
- package/src/components/ChatProgress/ChatProgress.tsx +3 -16
- package/src/components/ChatPrompt/ChatActions.tsx +1 -1
- package/src/components/ChatPrompt/ChatOptions.tsx +62 -58
- package/src/components/ChatPrompt/ChatReferences.tsx +5 -6
- package/src/components/ChatPrompt/ChatStatusIndicator.tsx +1 -1
- package/src/components/ChatThread/ChatThread.stories.tsx +10 -8
- package/src/components/ChatThread/ChatThread.tsx +1 -1
- package/src/components/ChatThread/Link.tsx +2 -2
- package/src/components/ChatThread/registry.tsx +2 -2
- package/src/components/ChatThread/sync.test.ts +12 -5
- package/src/components/ChatThread/sync.ts +8 -2
- package/src/components/PromptArticle.tsx +8 -9
- package/src/components/TemplateEditor/TemplateEditor.stories.tsx +2 -2
- package/src/components/TemplateEditor/TemplateEditor.tsx +7 -4
- package/src/components/TemplateEditor/TemplateForm.stories.tsx +14 -6
- package/src/components/TemplateEditor/TemplateForm.tsx +75 -28
- package/src/components/TemplateEditor/extensions/handlebars-extension.ts +10 -5
- package/src/components/ToolBlock/ToolBlock.tsx +6 -6
- package/src/components/Toolbox/Toolbox.stories.tsx +8 -9
- package/src/components/Toolbox/Toolbox.tsx +14 -15
- 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/functions/index.ts +1 -1
- package/src/functions/object-list.ts +4 -3
- package/src/functions/object-load.ts +6 -4
- package/src/functions/object-search.ts +46 -0
- package/src/hooks/useBlueprintRegistry.ts +30 -20
- package/src/hooks/useChatProcessor.ts +5 -2
- package/src/hooks/useChatServices.ts +11 -15
- package/src/hooks/useChatToolbarActions.ts +24 -25
- package/src/hooks/useContextBinder.ts +4 -2
- package/src/hooks/useContextObjects.ts +13 -25
- package/src/hooks/useFilteredTypes.ts +6 -7
- package/src/hooks/useReferencesProvider.ts +6 -6
- package/src/index.ts +0 -1
- package/src/meta.ts +2 -2
- package/src/processor/processor.test.ts +3 -2
- package/src/processor/processor.ts +23 -25
- package/src/processor/update-name.ts +4 -1
- package/src/queue-logger.ts +4 -1
- package/src/testing/test-generator.ts +4 -3
- package/src/testing/test-services.ts +8 -6
- package/src/types/Assistant.ts +5 -6
- package/src/types/AssistantAction.ts +58 -62
- 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/BlueprintArticle-BWSLH6LG.mjs +0 -36
- package/dist/lib/browser/BlueprintArticle-BWSLH6LG.mjs.map +0 -7
- package/dist/lib/browser/ChatCompanion-OSZZZSWV.mjs +0 -158
- package/dist/lib/browser/ChatCompanion-OSZZZSWV.mjs.map +0 -7
- package/dist/lib/browser/ChatContainer-2W6FNSJD.mjs +0 -77
- package/dist/lib/browser/ChatContainer-2W6FNSJD.mjs.map +0 -7
- package/dist/lib/browser/ChatDialog-XQ3KDYWE.mjs +0 -90
- package/dist/lib/browser/ChatDialog-XQ3KDYWE.mjs.map +0 -7
- package/dist/lib/browser/PromptArticle-Q7JYGFQV.mjs +0 -59
- package/dist/lib/browser/PromptArticle-Q7JYGFQV.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-LM6GVHQO.mjs +0 -199
- package/dist/lib/browser/app-graph-builder-LM6GVHQO.mjs.map +0 -7
- package/dist/lib/browser/blueprint-definition-VBEOXNBS.mjs +0 -12
- package/dist/lib/browser/chunk-2BOE3OTW.mjs.map +0 -7
- package/dist/lib/browser/chunk-5JZRYQZL.mjs +0 -229
- package/dist/lib/browser/chunk-5JZRYQZL.mjs.map +0 -7
- package/dist/lib/browser/chunk-7ZJIXQ2Y.mjs.map +0 -7
- package/dist/lib/browser/chunk-LRE4VEZV.mjs +0 -16
- package/dist/lib/browser/chunk-LRE4VEZV.mjs.map +0 -7
- package/dist/lib/browser/chunk-NC2QNMBF.mjs +0 -176
- package/dist/lib/browser/chunk-NC2QNMBF.mjs.map +0 -7
- package/dist/lib/browser/chunk-PWSTPQUY.mjs +0 -1929
- package/dist/lib/browser/chunk-PWSTPQUY.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-EEYS2GJF.mjs +0 -143
- package/dist/lib/browser/intent-resolver-EEYS2GJF.mjs.map +0 -7
- package/dist/lib/browser/local-model-resolver-34MVHRKD.mjs +0 -17
- package/dist/lib/browser/local-model-resolver-34MVHRKD.mjs.map +0 -7
- package/dist/lib/browser/react-surface-ECKZNDSU.mjs.map +0 -7
- package/dist/lib/browser/repair-3MZXLUHO.mjs.map +0 -7
- package/dist/lib/browser/settings-HD5WA24I.mjs +0 -23
- package/dist/lib/browser/settings-HD5WA24I.mjs.map +0 -7
- package/dist/lib/browser/state-GG7Z3NB7.mjs +0 -25
- package/dist/lib/browser/state-GG7Z3NB7.mjs.map +0 -7
- package/dist/lib/browser/toolkit-VYDAWNE4.mjs +0 -17
- package/dist/lib/browser/toolkit-VYDAWNE4.mjs.map +0 -7
- package/dist/lib/node-esm/BlueprintArticle-R2XYBRCK.mjs +0 -37
- package/dist/lib/node-esm/BlueprintArticle-R2XYBRCK.mjs.map +0 -7
- package/dist/lib/node-esm/ChatCompanion-IUMU7WRQ.mjs +0 -159
- package/dist/lib/node-esm/ChatCompanion-IUMU7WRQ.mjs.map +0 -7
- package/dist/lib/node-esm/ChatContainer-CTUNUEU3.mjs +0 -78
- package/dist/lib/node-esm/ChatContainer-CTUNUEU3.mjs.map +0 -7
- package/dist/lib/node-esm/ChatDialog-X42ASXQD.mjs +0 -91
- package/dist/lib/node-esm/ChatDialog-X42ASXQD.mjs.map +0 -7
- package/dist/lib/node-esm/PromptArticle-IV7O5UZ3.mjs +0 -60
- package/dist/lib/node-esm/PromptArticle-IV7O5UZ3.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-6XUAGTRS.mjs +0 -200
- package/dist/lib/node-esm/app-graph-builder-6XUAGTRS.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-25GMMNY5.mjs +0 -178
- package/dist/lib/node-esm/chunk-25GMMNY5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-3Q22TTXW.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-CKW4IYLY.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-E4JSYCWZ.mjs +0 -230
- package/dist/lib/node-esm/chunk-E4JSYCWZ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-WE6KTH72.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-YWFWT57N.mjs +0 -17
- package/dist/lib/node-esm/chunk-YWFWT57N.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-Z37USO4K.mjs +0 -1930
- package/dist/lib/node-esm/chunk-Z37USO4K.mjs.map +0 -7
- package/dist/lib/node-esm/edge-model-resolver-2ARXDOYS.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-4SRYLDK5.mjs +0 -144
- package/dist/lib/node-esm/intent-resolver-4SRYLDK5.mjs.map +0 -7
- package/dist/lib/node-esm/local-model-resolver-TP2NTSAX.mjs +0 -18
- package/dist/lib/node-esm/local-model-resolver-TP2NTSAX.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-NLIG5VAI.mjs.map +0 -7
- package/dist/lib/node-esm/repair-RER5H7Y6.mjs.map +0 -7
- package/dist/lib/node-esm/settings-YJQVKHH5.mjs +0 -24
- package/dist/lib/node-esm/settings-YJQVKHH5.mjs.map +0 -7
- package/dist/lib/node-esm/state-FSUHFMDM.mjs +0 -26
- package/dist/lib/node-esm/state-FSUHFMDM.mjs.map +0 -7
- package/dist/lib/node-esm/toolkit-HFJZLVIR.mjs +0 -18
- package/dist/lib/node-esm/toolkit-HFJZLVIR.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 -10
- 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/repair.d.ts +0 -4
- package/dist/types/src/capabilities/repair.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/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/src/capabilities/ai-service.ts +0 -27
- package/src/capabilities/app-graph-builder.ts +0 -210
- package/src/capabilities/blueprint-definition.ts +0 -66
- package/src/capabilities/capabilities.ts +0 -17
- package/src/capabilities/edge-model-resolver.ts +0 -25
- package/src/capabilities/intent-resolver.ts +0 -135
- package/src/capabilities/local-model-resolver.ts +0 -30
- package/src/capabilities/react-surface.tsx +0 -87
- package/src/capabilities/settings.ts +0 -19
- package/src/capabilities/state.ts +0 -22
- package/src/capabilities/toolkit.ts +0 -17
- package/src/events.ts +0 -11
- package/src/functions/analysis.ts +0 -22
- /package/dist/lib/browser/{blueprint-definition-VBEOXNBS.mjs.map → blueprint-definition-DGHH7MUU.mjs.map} +0 -0
- /package/dist/lib/{node-esm/blueprint-definition-RDCLLIQH.mjs.map → browser/blueprints/index.mjs.map} +0 -0
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
__export
|
|
4
|
+
} from "./chunk-HSLMI22Q.mjs";
|
|
5
|
+
|
|
6
|
+
// src/blueprints/assistant-blueprint.ts
|
|
7
|
+
var assistant_blueprint_exports = {};
|
|
8
|
+
__export(assistant_blueprint_exports, {
|
|
9
|
+
Key: () => Key,
|
|
10
|
+
blueprint: () => blueprint,
|
|
11
|
+
blueprints: () => blueprints,
|
|
12
|
+
deckTools: () => deckTools,
|
|
13
|
+
functions: () => functions,
|
|
14
|
+
functions$: () => functions$,
|
|
15
|
+
make: () => make,
|
|
16
|
+
tools: () => tools
|
|
17
|
+
});
|
|
18
|
+
import { templates } from "@dxos/assistant";
|
|
19
|
+
import { Agent, AssistantToolkit, Discord, DiscordBlueprint, EntityExtraction, Linear, LinearBlueprint, Research, ResearchBlueprint, SystemToolkit, WebSearchBlueprint } from "@dxos/assistant-toolkit";
|
|
20
|
+
import { Blueprint } from "@dxos/blueprints";
|
|
21
|
+
|
|
22
|
+
// src/functions/object-list.ts
|
|
23
|
+
import * as Effect from "effect/Effect";
|
|
24
|
+
import * as Schema from "effect/Schema";
|
|
25
|
+
import { Filter, Obj, Query } from "@dxos/echo";
|
|
26
|
+
import { Database } from "@dxos/echo";
|
|
27
|
+
import { defineFunction } from "@dxos/functions";
|
|
28
|
+
import { trim } from "@dxos/util";
|
|
29
|
+
var object_list_default = defineFunction({
|
|
30
|
+
key: "dxos.org/function/assistant/object-list",
|
|
31
|
+
name: "List objects",
|
|
32
|
+
description: (
|
|
33
|
+
// TODO(wittjosiah): Find a better way to prompt for looking up typenames before querying with them.
|
|
34
|
+
trim`
|
|
35
|
+
Lists the objects of the given type.
|
|
36
|
+
Check the get-schemas tool for available types before calling this function.
|
|
37
|
+
`
|
|
38
|
+
),
|
|
39
|
+
inputSchema: Schema.Struct({
|
|
40
|
+
typename: Schema.String.annotations({
|
|
41
|
+
description: "The typename of the objects to list."
|
|
42
|
+
})
|
|
43
|
+
}),
|
|
44
|
+
outputSchema: Schema.Struct({
|
|
45
|
+
results: Schema.Array(Schema.Struct({
|
|
46
|
+
dxn: Schema.String.annotations({
|
|
47
|
+
description: "The DXN of the object."
|
|
48
|
+
}),
|
|
49
|
+
label: Schema.optional(Schema.String.annotations({
|
|
50
|
+
description: "The label of the object."
|
|
51
|
+
}))
|
|
52
|
+
}))
|
|
53
|
+
}),
|
|
54
|
+
handler: Effect.fn(function* ({ data: { typename } }) {
|
|
55
|
+
const [schema] = yield* Database.Service.runSchemaQuery({
|
|
56
|
+
typename
|
|
57
|
+
});
|
|
58
|
+
const filter = schema ? Filter.type(schema) : Filter.typename(typename);
|
|
59
|
+
const objects = yield* Database.Service.runQuery(Query.select(filter));
|
|
60
|
+
const results = objects.map((object) => ({
|
|
61
|
+
dxn: Obj.getDXN(object).toString(),
|
|
62
|
+
label: Obj.getLabel(object)
|
|
63
|
+
}));
|
|
64
|
+
return {
|
|
65
|
+
results
|
|
66
|
+
};
|
|
67
|
+
})
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
// src/functions/object-load.ts
|
|
71
|
+
import * as Effect2 from "effect/Effect";
|
|
72
|
+
import * as Function from "effect/Function";
|
|
73
|
+
import * as Option from "effect/Option";
|
|
74
|
+
import * as Schema2 from "effect/Schema";
|
|
75
|
+
import { ArtifactId } from "@dxos/assistant";
|
|
76
|
+
import { Entity } from "@dxos/echo";
|
|
77
|
+
import { Database as Database2 } from "@dxos/echo";
|
|
78
|
+
import { defineFunction as defineFunction2 } from "@dxos/functions";
|
|
79
|
+
var object_load_default = defineFunction2({
|
|
80
|
+
key: "dxos.org/function/assistant/object-load",
|
|
81
|
+
name: "Load object",
|
|
82
|
+
description: "Loads the object.",
|
|
83
|
+
inputSchema: Schema2.Struct({
|
|
84
|
+
// TODO(dmaretskyi): Use Ref.
|
|
85
|
+
id: ArtifactId.annotations({
|
|
86
|
+
description: "The ID of the object."
|
|
87
|
+
}),
|
|
88
|
+
typename: Schema2.String.annotations({
|
|
89
|
+
description: "The typename of the object."
|
|
90
|
+
})
|
|
91
|
+
}),
|
|
92
|
+
outputSchema: Schema2.Struct({
|
|
93
|
+
// TODO(wittjosiah): Type.Entity.Any
|
|
94
|
+
object: Schema2.Any
|
|
95
|
+
}),
|
|
96
|
+
handler: Effect2.fn(function* ({ data: { id, typename } }) {
|
|
97
|
+
const object = yield* Database2.Service.resolve(ArtifactId.toDXN(id));
|
|
98
|
+
return yield* Function.pipe(Option.fromNullable(object), Option.flatMap((object2) => Entity.getTypename(object2) === typename ? Option.some(object2) : Option.none()), Option.match({
|
|
99
|
+
onNone: () => Effect2.fail("Object not found."),
|
|
100
|
+
onSome: (object2) => {
|
|
101
|
+
return Effect2.succeed({
|
|
102
|
+
object: object2
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
}));
|
|
106
|
+
})
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
// src/functions/object-search.ts
|
|
110
|
+
import * as Effect3 from "effect/Effect";
|
|
111
|
+
import * as Schema3 from "effect/Schema";
|
|
112
|
+
import { Filter as Filter2, Obj as Obj2, Query as Query2 } from "@dxos/echo";
|
|
113
|
+
import { Database as Database3 } from "@dxos/echo";
|
|
114
|
+
import { defineFunction as defineFunction3 } from "@dxos/functions";
|
|
115
|
+
import { trim as trim2 } from "@dxos/util";
|
|
116
|
+
var object_search_default = defineFunction3({
|
|
117
|
+
key: "dxos.org/function/assistant/object-search",
|
|
118
|
+
name: "Search objects",
|
|
119
|
+
description: (
|
|
120
|
+
// TODO(wittjosiah): Find a better way to prompt for looking up typenames before querying with them.
|
|
121
|
+
trim2`
|
|
122
|
+
Searches the objects using full-text search.
|
|
123
|
+
`
|
|
124
|
+
),
|
|
125
|
+
inputSchema: Schema3.Struct({
|
|
126
|
+
query: Schema3.String.annotations({
|
|
127
|
+
description: "The query to search for."
|
|
128
|
+
})
|
|
129
|
+
}),
|
|
130
|
+
outputSchema: Schema3.Struct({
|
|
131
|
+
results: Schema3.Array(Schema3.Struct({
|
|
132
|
+
dxn: Schema3.String.annotations({
|
|
133
|
+
description: "The DXN of the object."
|
|
134
|
+
}),
|
|
135
|
+
label: Schema3.optional(Schema3.String.annotations({
|
|
136
|
+
description: "The label of the object."
|
|
137
|
+
}))
|
|
138
|
+
}))
|
|
139
|
+
}),
|
|
140
|
+
handler: Effect3.fn(function* ({ data: { query } }) {
|
|
141
|
+
const objects = yield* Database3.Service.runQuery(Query2.select(Filter2.text(query, {
|
|
142
|
+
type: "full-text"
|
|
143
|
+
})).options({
|
|
144
|
+
allQueuesFromSpaces: true
|
|
145
|
+
}));
|
|
146
|
+
const results = objects.map((object) => ({
|
|
147
|
+
dxn: Obj2.getDXN(object).toString(),
|
|
148
|
+
label: Obj2.getLabel(object)
|
|
149
|
+
}));
|
|
150
|
+
return {
|
|
151
|
+
results
|
|
152
|
+
};
|
|
153
|
+
})
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
// src/blueprints/assistant-blueprint.ts
|
|
157
|
+
var deckTools = [
|
|
158
|
+
"open-item"
|
|
159
|
+
];
|
|
160
|
+
var functions$ = [
|
|
161
|
+
object_list_default,
|
|
162
|
+
object_load_default,
|
|
163
|
+
object_search_default
|
|
164
|
+
];
|
|
165
|
+
var functions = [
|
|
166
|
+
...functions$,
|
|
167
|
+
// Factor out.
|
|
168
|
+
Research.create,
|
|
169
|
+
Research.research,
|
|
170
|
+
Agent.prompt,
|
|
171
|
+
EntityExtraction.extract,
|
|
172
|
+
Discord.fetch,
|
|
173
|
+
Linear.sync
|
|
174
|
+
];
|
|
175
|
+
var tools = [
|
|
176
|
+
...AssistantToolkit.tools,
|
|
177
|
+
...SystemToolkit.tools,
|
|
178
|
+
...deckTools
|
|
179
|
+
];
|
|
180
|
+
var Key = "dxos.org/blueprint/assistant";
|
|
181
|
+
var make = () => Blueprint.make({
|
|
182
|
+
key: Key,
|
|
183
|
+
name: "Assistant",
|
|
184
|
+
tools: Blueprint.toolDefinitions({
|
|
185
|
+
functions,
|
|
186
|
+
tools
|
|
187
|
+
}),
|
|
188
|
+
instructions: templates.system
|
|
189
|
+
});
|
|
190
|
+
var blueprint = make();
|
|
191
|
+
var blueprints = [
|
|
192
|
+
blueprint,
|
|
193
|
+
// Factor out.
|
|
194
|
+
ResearchBlueprint,
|
|
195
|
+
WebSearchBlueprint,
|
|
196
|
+
DiscordBlueprint,
|
|
197
|
+
LinearBlueprint
|
|
198
|
+
];
|
|
199
|
+
|
|
200
|
+
// src/blueprints/index.ts
|
|
201
|
+
var blueprints2 = blueprints;
|
|
202
|
+
var functions2 = functions;
|
|
203
|
+
|
|
204
|
+
export {
|
|
205
|
+
assistant_blueprint_exports,
|
|
206
|
+
blueprints2 as blueprints,
|
|
207
|
+
functions2 as functions
|
|
208
|
+
};
|
|
209
|
+
//# sourceMappingURL=chunk-DCA5QWQT.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/blueprints/assistant-blueprint.ts", "../../../src/functions/object-list.ts", "../../../src/functions/object-load.ts", "../../../src/functions/object-search.ts", "../../../src/blueprints/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { templates } from '@dxos/assistant';\nimport {\n Agent,\n AssistantToolkit,\n Discord,\n DiscordBlueprint,\n EntityExtraction,\n Linear,\n LinearBlueprint,\n Research,\n ResearchBlueprint,\n SystemToolkit,\n WebSearchBlueprint,\n} from '@dxos/assistant-toolkit';\nimport { Blueprint } from '@dxos/blueprints';\nimport { type FunctionDefinition } from '@dxos/functions';\n\nimport { list, load, search } from '../functions';\n\n// TODO(burdon): Document plugin structure (blueprint, functions, toolkit.).\n// TODO(burdon): Test framework for developing functions. Error handling.\n// TODO(burdon): Function naming pattern (noun-verb); fully-qualified?\n\nexport const deckTools = ['open-item'];\n\nexport const functions$: FunctionDefinition[] = [list, load, search];\nexport const functions = [\n ...functions$,\n // Factor out.\n Research.create,\n Research.research,\n Agent.prompt,\n EntityExtraction.extract,\n Discord.fetch,\n Linear.sync,\n];\nexport const tools = [...AssistantToolkit.tools, ...SystemToolkit.tools, ...deckTools];\n\nexport const Key = 'dxos.org/blueprint/assistant';\n\nexport const make = (): Blueprint.Blueprint =>\n Blueprint.make({\n key: Key,\n name: 'Assistant',\n tools: Blueprint.toolDefinitions({ functions, tools }),\n instructions: templates.system,\n });\n\nexport const blueprint = make();\n\nexport const blueprints = [\n blueprint,\n // Factor out.\n ResearchBlueprint,\n WebSearchBlueprint,\n DiscordBlueprint,\n LinearBlueprint,\n];\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\n\nimport { Filter, Obj, Query } from '@dxos/echo';\nimport { Database } from '@dxos/echo';\nimport { defineFunction } from '@dxos/functions';\nimport { trim } from '@dxos/util';\n\n// TODO(burdon): Move to toolkit (i.e., tool not function).\nexport default defineFunction({\n key: 'dxos.org/function/assistant/object-list',\n name: 'List objects',\n description:\n // TODO(wittjosiah): Find a better way to prompt for looking up typenames before querying with them.\n trim`\n Lists the objects of the given type.\n Check the get-schemas tool for available types before calling this function.\n `,\n inputSchema: Schema.Struct({\n typename: Schema.String.annotations({\n description: 'The typename of the objects to list.',\n }),\n }),\n outputSchema: Schema.Struct({\n results: Schema.Array(\n Schema.Struct({\n dxn: Schema.String.annotations({ description: 'The DXN of the object.' }),\n label: Schema.optional(Schema.String.annotations({ description: 'The label of the object.' })),\n }),\n ),\n }),\n handler: Effect.fn(function* ({ data: { typename } }) {\n // TODO(wittjosiah): Typename query is not working for dynamic schemas.\n const [schema] = yield* Database.Service.runSchemaQuery({ typename });\n const filter = schema ? Filter.type(schema) : Filter.typename(typename);\n\n const objects = yield* Database.Service.runQuery(Query.select(filter));\n const results = objects.map((object) => ({\n dxn: Obj.getDXN(object).toString(),\n label: Obj.getLabel(object),\n }));\n\n return { results };\n }),\n});\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Function from 'effect/Function';\nimport * as Option from 'effect/Option';\nimport * as Schema from 'effect/Schema';\n\nimport { ArtifactId } from '@dxos/assistant';\nimport { Entity } from '@dxos/echo';\nimport { Database } from '@dxos/echo';\nimport { defineFunction } from '@dxos/functions';\n\n// TODO(burdon): Move to toolkit (i.e., tool not function).\nexport default defineFunction({\n key: 'dxos.org/function/assistant/object-load',\n name: 'Load object',\n description: 'Loads the object.',\n inputSchema: Schema.Struct({\n // TODO(dmaretskyi): Use Ref.\n id: ArtifactId.annotations({\n description: 'The ID of the object.',\n }),\n typename: Schema.String.annotations({\n description: 'The typename of the object.',\n }),\n }),\n outputSchema: Schema.Struct({\n // TODO(wittjosiah): Type.Entity.Any\n object: Schema.Any,\n }),\n handler: Effect.fn(function* ({ data: { id, typename } }) {\n const object = yield* Database.Service.resolve(ArtifactId.toDXN(id));\n return yield* Function.pipe(\n Option.fromNullable(object),\n Option.flatMap((object) => (Entity.getTypename(object) === typename ? Option.some(object) : Option.none())),\n Option.match({\n onNone: () => Effect.fail('Object not found.'),\n onSome: (object) => {\n // log.info('object', { object });\n return Effect.succeed({ object });\n },\n }),\n );\n }),\n});\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\n\nimport { Filter, Obj, Query } from '@dxos/echo';\nimport { Database } from '@dxos/echo';\nimport { defineFunction } from '@dxos/functions';\nimport { trim } from '@dxos/util';\n\n// TODO(burdon): Move to toolkit (i.e., tool not function).\nexport default defineFunction({\n key: 'dxos.org/function/assistant/object-search',\n name: 'Search objects',\n description:\n // TODO(wittjosiah): Find a better way to prompt for looking up typenames before querying with them.\n trim`\n Searches the objects using full-text search.\n `,\n inputSchema: Schema.Struct({\n query: Schema.String.annotations({\n description: 'The query to search for.',\n }),\n }),\n outputSchema: Schema.Struct({\n results: Schema.Array(\n Schema.Struct({\n dxn: Schema.String.annotations({ description: 'The DXN of the object.' }),\n label: Schema.optional(Schema.String.annotations({ description: 'The label of the object.' })),\n }),\n ),\n }),\n handler: Effect.fn(function* ({ data: { query } }) {\n const objects = yield* Database.Service.runQuery(\n Query.select(Filter.text(query, { type: 'full-text' })).options({ allQueuesFromSpaces: true }),\n );\n const results = objects.map((object) => ({\n dxn: Obj.getDXN(object).toString(),\n label: Obj.getLabel(object),\n }));\n\n return { results };\n }),\n});\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Blueprint } from '@dxos/blueprints';\nimport { type FunctionDefinition } from '@dxos/functions';\n\nimport * as AssistantBlueprint from './assistant-blueprint';\n\nexport { AssistantBlueprint };\nexport const blueprints: Blueprint.Blueprint[] = AssistantBlueprint.blueprints;\nexport const functions: FunctionDefinition[] = AssistantBlueprint.functions;\n"],
|
|
5
|
+
"mappings": ";;;;;;AAAA;;;;;;;;;;;AAIA,SAASA,iBAAiB;AAC1B,SACEC,OACAC,kBACAC,SACAC,kBACAC,kBACAC,QACAC,iBACAC,UACAC,mBACAC,eACAC,0BACK;AACP,SAASC,iBAAiB;;;ACd1B,YAAYC,YAAY;AACxB,YAAYC,YAAY;AAExB,SAASC,QAAQC,KAAKC,aAAa;AACnC,SAASC,gBAAgB;AACzB,SAASC,sBAAsB;AAC/B,SAASC,YAAY;AAGrB,IAAA,sBAAeC,eAAe;EAC5BC,KAAK;EACLC,MAAM;EACNC;;IAEEC;;;;;EAIFC,aAAoBC,cAAO;IACzBC,UAAiBC,cAAOC,YAAY;MAClCN,aAAa;IACf,CAAA;EACF,CAAA;EACAO,cAAqBJ,cAAO;IAC1BK,SAAgBC,aACPN,cAAO;MACZO,KAAYL,cAAOC,YAAY;QAAEN,aAAa;MAAyB,CAAA;MACvEW,OAAcC,gBAAgBP,cAAOC,YAAY;QAAEN,aAAa;MAA2B,CAAA,CAAA;IAC7F,CAAA,CAAA;EAEJ,CAAA;EACAa,SAAgBC,UAAG,WAAW,EAAEC,MAAM,EAAEX,SAAQ,EAAE,GAAE;AAElD,UAAM,CAACY,MAAAA,IAAU,OAAOC,SAASC,QAAQC,eAAe;MAAEf;IAAS,CAAA;AACnE,UAAMgB,SAASJ,SAASK,OAAOC,KAAKN,MAAAA,IAAUK,OAAOjB,SAASA,QAAAA;AAE9D,UAAMmB,UAAU,OAAON,SAASC,QAAQM,SAASC,MAAMC,OAAON,MAAAA,CAAAA;AAC9D,UAAMZ,UAAUe,QAAQI,IAAI,CAACC,YAAY;MACvClB,KAAKmB,IAAIC,OAAOF,MAAAA,EAAQG,SAAQ;MAChCpB,OAAOkB,IAAIG,SAASJ,MAAAA;IACtB,EAAA;AAEA,WAAO;MAAEpB;IAAQ;EACnB,CAAA;AACF,CAAA;;;AC5CA,YAAYyB,aAAY;AACxB,YAAYC,cAAc;AAC1B,YAAYC,YAAY;AACxB,YAAYC,aAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,cAAc;AACvB,SAASC,YAAAA,iBAAgB;AACzB,SAASC,kBAAAA,uBAAsB;AAG/B,IAAA,sBAAeC,gBAAe;EAC5BC,KAAK;EACLC,MAAM;EACNC,aAAa;EACbC,aAAoBC,eAAO;;IAEzBC,IAAIC,WAAWC,YAAY;MACzBL,aAAa;IACf,CAAA;IACAM,UAAiBC,eAAOF,YAAY;MAClCL,aAAa;IACf,CAAA;EACF,CAAA;EACAQ,cAAqBN,eAAO;;IAE1BO,QAAeC;EACjB,CAAA;EACAC,SAAgBC,WAAG,WAAW,EAAEC,MAAM,EAAEV,IAAIG,SAAQ,EAAE,GAAE;AACtD,UAAMG,SAAS,OAAOK,UAASC,QAAQC,QAAQZ,WAAWa,MAAMd,EAAAA,CAAAA;AAChE,WAAO,OAAgBe,cACdC,oBAAaV,MAAAA,GACbW,eAAQ,CAACX,YAAYY,OAAOC,YAAYb,OAAAA,MAAYH,WAAkBiB,YAAKd,OAAAA,IAAiBe,YAAI,CAAA,GAChGC,aAAM;MACXC,QAAQ,MAAaC,aAAK,mBAAA;MAC1BC,QAAQ,CAACnB,YAAAA;AAEP,eAAcoB,gBAAQ;UAAEpB,QAAAA;QAAO,CAAA;MACjC;IACF,CAAA,CAAA;EAEJ,CAAA;AACF,CAAA;;;AC1CA,YAAYqB,aAAY;AACxB,YAAYC,aAAY;AAExB,SAASC,UAAAA,SAAQC,OAAAA,MAAKC,SAAAA,cAAa;AACnC,SAASC,YAAAA,iBAAgB;AACzB,SAASC,kBAAAA,uBAAsB;AAC/B,SAASC,QAAAA,aAAY;AAGrB,IAAA,wBAAeC,gBAAe;EAC5BC,KAAK;EACLC,MAAM;EACNC;;IAEEC;;;;EAGFC,aAAoBC,eAAO;IACzBC,OAAcC,eAAOC,YAAY;MAC/BN,aAAa;IACf,CAAA;EACF,CAAA;EACAO,cAAqBJ,eAAO;IAC1BK,SAAgBC,cACPN,eAAO;MACZO,KAAYL,eAAOC,YAAY;QAAEN,aAAa;MAAyB,CAAA;MACvEW,OAAcC,iBAAgBP,eAAOC,YAAY;QAAEN,aAAa;MAA2B,CAAA,CAAA;IAC7F,CAAA,CAAA;EAEJ,CAAA;EACAa,SAAgBC,WAAG,WAAW,EAAEC,MAAM,EAAEX,MAAK,EAAE,GAAE;AAC/C,UAAMY,UAAU,OAAOC,UAASC,QAAQC,SACtCC,OAAMC,OAAOC,QAAOC,KAAKnB,OAAO;MAAEoB,MAAM;IAAY,CAAA,CAAA,EAAIC,QAAQ;MAAEC,qBAAqB;IAAK,CAAA,CAAA;AAE9F,UAAMlB,UAAUQ,QAAQW,IAAI,CAACC,YAAY;MACvClB,KAAKmB,KAAIC,OAAOF,MAAAA,EAAQG,SAAQ;MAChCpB,OAAOkB,KAAIG,SAASJ,MAAAA;IACtB,EAAA;AAEA,WAAO;MAAEpB;IAAQ;EACnB,CAAA;AACF,CAAA;;;AHlBO,IAAMyB,YAAY;EAAC;;AAEnB,IAAMC,aAAmC;EAACC;EAAMC;EAAMC;;AACtD,IAAMC,YAAY;KACpBJ;;EAEHK,SAASC;EACTD,SAASE;EACTC,MAAMC;EACNC,iBAAiBC;EACjBC,QAAQC;EACRC,OAAOC;;AAEF,IAAMC,QAAQ;KAAIC,iBAAiBD;KAAUE,cAAcF;KAAUjB;;AAErE,IAAMoB,MAAM;AAEZ,IAAMC,OAAO,MAClBC,UAAUD,KAAK;EACbE,KAAKH;EACLI,MAAM;EACNP,OAAOK,UAAUG,gBAAgB;IAAEpB;IAAWY;EAAM,CAAA;EACpDS,cAAcC,UAAUC;AAC1B,CAAA;AAEK,IAAMC,YAAYR,KAAAA;AAElB,IAAMS,aAAa;EACxBD;;EAEAE;EACAC;EACAC;EACAC;;;;AIlDK,IAAMC,cAAuDA;AAC7D,IAAMC,aAAqDA;",
|
|
6
|
+
"names": ["templates", "Agent", "AssistantToolkit", "Discord", "DiscordBlueprint", "EntityExtraction", "Linear", "LinearBlueprint", "Research", "ResearchBlueprint", "SystemToolkit", "WebSearchBlueprint", "Blueprint", "Effect", "Schema", "Filter", "Obj", "Query", "Database", "defineFunction", "trim", "defineFunction", "key", "name", "description", "trim", "inputSchema", "Struct", "typename", "String", "annotations", "outputSchema", "results", "Array", "dxn", "label", "optional", "handler", "fn", "data", "schema", "Database", "Service", "runSchemaQuery", "filter", "Filter", "type", "objects", "runQuery", "Query", "select", "map", "object", "Obj", "getDXN", "toString", "getLabel", "Effect", "Function", "Option", "Schema", "ArtifactId", "Entity", "Database", "defineFunction", "defineFunction", "key", "name", "description", "inputSchema", "Struct", "id", "ArtifactId", "annotations", "typename", "String", "outputSchema", "object", "Any", "handler", "fn", "data", "Database", "Service", "resolve", "toDXN", "pipe", "fromNullable", "flatMap", "Entity", "getTypename", "some", "none", "match", "onNone", "fail", "onSome", "succeed", "Effect", "Schema", "Filter", "Obj", "Query", "Database", "defineFunction", "trim", "defineFunction", "key", "name", "description", "trim", "inputSchema", "Struct", "query", "String", "annotations", "outputSchema", "results", "Array", "dxn", "label", "optional", "handler", "fn", "data", "objects", "Database", "Service", "runQuery", "Query", "select", "Filter", "text", "type", "options", "allQueuesFromSpaces", "map", "object", "Obj", "getDXN", "toString", "getLabel", "deckTools", "functions$", "list", "load", "search", "functions", "Research", "create", "research", "Agent", "prompt", "EntityExtraction", "extract", "Discord", "fetch", "Linear", "sync", "tools", "AssistantToolkit", "SystemToolkit", "Key", "make", "Blueprint", "key", "name", "toolDefinitions", "instructions", "templates", "system", "blueprint", "blueprints", "ResearchBlueprint", "WebSearchBlueprint", "DiscordBlueprint", "LinearBlueprint", "blueprints", "functions"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
assistant_blueprint_exports
|
|
4
|
+
} from "./chunk-DCA5QWQT.mjs";
|
|
5
|
+
|
|
6
|
+
// src/capabilities/blueprint-definition/blueprint-definition.ts
|
|
7
|
+
import * as Effect from "effect/Effect";
|
|
8
|
+
import { Capability, Common } from "@dxos/app-framework";
|
|
9
|
+
import { Agent, Discord, DiscordBlueprint, EntityExtraction, Linear, LinearBlueprint, Research, ResearchBlueprint, WebSearchBlueprint } from "@dxos/assistant-toolkit";
|
|
10
|
+
var createBlueprint = assistant_blueprint_exports.make;
|
|
11
|
+
var blueprint_definition_default = Capability.makeModule(() => Effect.succeed([
|
|
12
|
+
Capability.contributes(Common.Capability.Functions, assistant_blueprint_exports.functions$),
|
|
13
|
+
Capability.contributes(Common.Capability.BlueprintDefinition, assistant_blueprint_exports.blueprint),
|
|
14
|
+
// TODO(burdon): Factor out.
|
|
15
|
+
Capability.contributes(Common.Capability.Functions, [
|
|
16
|
+
Research.create,
|
|
17
|
+
Research.research
|
|
18
|
+
]),
|
|
19
|
+
Capability.contributes(Common.Capability.BlueprintDefinition, ResearchBlueprint),
|
|
20
|
+
// TODO(burdon): Factor out.
|
|
21
|
+
Capability.contributes(Common.Capability.Functions, [
|
|
22
|
+
Agent.prompt,
|
|
23
|
+
EntityExtraction.extract
|
|
24
|
+
]),
|
|
25
|
+
Capability.contributes(Common.Capability.BlueprintDefinition, WebSearchBlueprint),
|
|
26
|
+
// TODO(burdon): Factor out.
|
|
27
|
+
Capability.contributes(Common.Capability.Functions, [
|
|
28
|
+
Discord.fetch
|
|
29
|
+
]),
|
|
30
|
+
Capability.contributes(Common.Capability.BlueprintDefinition, DiscordBlueprint),
|
|
31
|
+
// TODO(burdon): Factor out.
|
|
32
|
+
Capability.contributes(Common.Capability.Functions, [
|
|
33
|
+
Linear.sync
|
|
34
|
+
]),
|
|
35
|
+
Capability.contributes(Common.Capability.BlueprintDefinition, LinearBlueprint)
|
|
36
|
+
]));
|
|
37
|
+
|
|
38
|
+
export {
|
|
39
|
+
createBlueprint,
|
|
40
|
+
blueprint_definition_default
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=chunk-MSBPC4RJ.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/blueprint-definition/blueprint-definition.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability, Common } from '@dxos/app-framework';\nimport {\n Agent,\n Discord,\n DiscordBlueprint,\n EntityExtraction,\n Linear,\n LinearBlueprint,\n Research,\n ResearchBlueprint,\n WebSearchBlueprint,\n} from '@dxos/assistant-toolkit';\nimport { type Blueprint } from '@dxos/blueprints';\n\nimport { AssistantBlueprint } from '../../blueprints';\n\nexport const createBlueprint: () => Blueprint.Blueprint = AssistantBlueprint.make;\nexport { AssistantBlueprint };\n\nexport type BlueprintCapabilities = [\n Capability.Capability<typeof Common.Capability.Functions>,\n Capability.Capability<typeof Common.Capability.BlueprintDefinition>,\n Capability.Capability<typeof Common.Capability.Functions>,\n Capability.Capability<typeof Common.Capability.BlueprintDefinition>,\n Capability.Capability<typeof Common.Capability.Functions>,\n Capability.Capability<typeof Common.Capability.BlueprintDefinition>,\n Capability.Capability<typeof Common.Capability.Functions>,\n Capability.Capability<typeof Common.Capability.BlueprintDefinition>,\n Capability.Capability<typeof Common.Capability.Functions>,\n Capability.Capability<typeof Common.Capability.BlueprintDefinition>,\n];\n\nexport default Capability.makeModule<[], BlueprintCapabilities>(() =>\n Effect.succeed([\n Capability.contributes(Common.Capability.Functions, AssistantBlueprint.functions$),\n Capability.contributes(Common.Capability.BlueprintDefinition, AssistantBlueprint.blueprint),\n\n // TODO(burdon): Factor out.\n Capability.contributes(Common.Capability.Functions, [Research.create, Research.research]),\n Capability.contributes(Common.Capability.BlueprintDefinition, ResearchBlueprint),\n\n // TODO(burdon): Factor out.\n Capability.contributes(Common.Capability.Functions, [Agent.prompt, EntityExtraction.extract]),\n Capability.contributes(Common.Capability.BlueprintDefinition, WebSearchBlueprint),\n\n // TODO(burdon): Factor out.\n Capability.contributes(Common.Capability.Functions, [Discord.fetch]),\n Capability.contributes(Common.Capability.BlueprintDefinition, DiscordBlueprint),\n\n // TODO(burdon): Factor out.\n Capability.contributes(Common.Capability.Functions, [Linear.sync]),\n Capability.contributes(Common.Capability.BlueprintDefinition, LinearBlueprint),\n ]),\n);\n"],
|
|
5
|
+
"mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,YAAYC,cAAc;AACnC,SACEC,OACAC,SACAC,kBACAC,kBACAC,QACAC,iBACAC,UACAC,mBACAC,0BACK;AAKA,IAAMC,kBAA6CC,4BAAmBC;AAgB7E,IAAA,+BAAeC,WAAWC,WAAsC,MACvDC,eAAQ;EACbF,WAAWG,YAAYC,OAAOJ,WAAWK,WAAWC,4BAAmBC,UAAU;EACjFP,WAAWG,YAAYC,OAAOJ,WAAWQ,qBAAqBF,4BAAmBG,SAAS;;EAG1FT,WAAWG,YAAYC,OAAOJ,WAAWK,WAAW;IAACK,SAASC;IAAQD,SAASE;GAAS;EACxFZ,WAAWG,YAAYC,OAAOJ,WAAWQ,qBAAqBK,iBAAAA;;EAG9Db,WAAWG,YAAYC,OAAOJ,WAAWK,WAAW;IAACS,MAAMC;IAAQC,iBAAiBC;GAAQ;EAC5FjB,WAAWG,YAAYC,OAAOJ,WAAWQ,qBAAqBU,kBAAAA;;EAG9DlB,WAAWG,YAAYC,OAAOJ,WAAWK,WAAW;IAACc,QAAQC;GAAM;EACnEpB,WAAWG,YAAYC,OAAOJ,WAAWQ,qBAAqBa,gBAAAA;;EAG9DrB,WAAWG,YAAYC,OAAOJ,WAAWK,WAAW;IAACiB,OAAOC;GAAK;EACjEvB,WAAWG,YAAYC,OAAOJ,WAAWQ,qBAAqBgB,eAAAA;CAC/D,CAAA;",
|
|
6
|
+
"names": ["Effect", "Capability", "Common", "Agent", "Discord", "DiscordBlueprint", "EntityExtraction", "Linear", "LinearBlueprint", "Research", "ResearchBlueprint", "WebSearchBlueprint", "createBlueprint", "AssistantBlueprint", "make", "Capability", "makeModule", "succeed", "contributes", "Common", "Functions", "AssistantBlueprint", "functions$", "BlueprintDefinition", "blueprint", "Research", "create", "research", "ResearchBlueprint", "Agent", "prompt", "EntityExtraction", "extract", "WebSearchBlueprint", "Discord", "fetch", "DiscordBlueprint", "Linear", "sync", "LinearBlueprint"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/meta.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: Plugin.Meta = {\n id: 'dxos.org/plugin/assistant',\n name: 'Assistant',\n description: trim`\n Intelligent AI assistant that can analyze and interact with objects across your spaces.\n Chat naturally to get insights, search content, and perform actions using AI-powered context awareness.\n `,\n icon: 'ph--atom--regular',\n iconHue: 'sky',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-assistant',\n tags: ['labs'],\n};\n\nexport const ASSISTANT_DIALOG = `${meta.id}/assistant/dialog`;\n"],
|
|
5
|
+
"mappings": ";;;AAKA,SAASA,YAAY;AAEd,IAAMC,OAAoB;EAC/BC,IAAI;EACJC,MAAM;EACNC,aAAaC;;;;EAIbC,MAAM;EACNC,SAAS;EACTC,QAAQ;EACRC,MAAM;IAAC;;AACT;AAEO,IAAMC,mBAAmB,GAAGT,KAAKC,EAAE;",
|
|
6
|
+
"names": ["trim", "meta", "id", "name", "description", "trim", "icon", "iconHue", "source", "tags", "ASSISTANT_DIALOG"]
|
|
7
|
+
}
|
|
@@ -7,6 +7,7 @@ import * as Fiber from "effect/Fiber";
|
|
|
7
7
|
import * as Runtime from "effect/Runtime";
|
|
8
8
|
import { AiService, DEFAULT_EDGE_MODEL } from "@dxos/ai";
|
|
9
9
|
import { AiSession } from "@dxos/assistant";
|
|
10
|
+
import { Obj } from "@dxos/echo";
|
|
10
11
|
import { throwCause } from "@dxos/effect";
|
|
11
12
|
import { trim } from "@dxos/util";
|
|
12
13
|
var updateName = async (runtime, conversation, chat, model = DEFAULT_EDGE_MODEL) => {
|
|
@@ -27,7 +28,9 @@ var updateName = async (runtime, conversation, chat, model = DEFAULT_EDGE_MODEL)
|
|
|
27
28
|
const message = messages.find((message2) => message2.sender.role === "assistant");
|
|
28
29
|
const title = message?.blocks.find((block) => block._tag === "text")?.text;
|
|
29
30
|
if (title) {
|
|
30
|
-
chat
|
|
31
|
+
Obj.change(chat, (c) => {
|
|
32
|
+
c.name = title;
|
|
33
|
+
});
|
|
31
34
|
}
|
|
32
35
|
}), Runtime.runFork(runtime));
|
|
33
36
|
const response = await fiber.pipe(Fiber.join, Effect.runPromiseExit);
|
|
@@ -90,8 +93,8 @@ import * as Option from "effect/Option";
|
|
|
90
93
|
import * as Runtime2 from "effect/Runtime";
|
|
91
94
|
import { AiService as AiService2, DEFAULT_EDGE_MODEL as DEFAULT_EDGE_MODEL2 } from "@dxos/ai";
|
|
92
95
|
import { ArtifactDiffResolver, GenerationObserver, createSystemPrompt } from "@dxos/assistant";
|
|
93
|
-
import { Obj } from "@dxos/echo";
|
|
94
|
-
import { throwCause as throwCause2 } from "@dxos/effect";
|
|
96
|
+
import { Obj as Obj2 } from "@dxos/echo";
|
|
97
|
+
import { runAndForwardErrors, throwCause as throwCause2 } from "@dxos/effect";
|
|
95
98
|
import { log } from "@dxos/log";
|
|
96
99
|
import { Message } from "@dxos/types";
|
|
97
100
|
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-assistant/src/processor/processor.ts";
|
|
@@ -105,14 +108,14 @@ var AiChatProcessor = class {
|
|
|
105
108
|
_registry;
|
|
106
109
|
/** External observer. */
|
|
107
110
|
_observer;
|
|
108
|
-
/** Currently active request fiber. */
|
|
109
|
-
_fiber;
|
|
110
|
-
/** Last request (for retries). */
|
|
111
|
-
_lastRequest;
|
|
112
111
|
/** Pending messages (incl. the current user request). */
|
|
113
112
|
_pending = Atom.make([]);
|
|
114
113
|
/** Currently streaming message (from the AI service). */
|
|
115
114
|
_streaming = Atom.make(Option.none());
|
|
115
|
+
/** Currently active request fiber. */
|
|
116
|
+
_fiber;
|
|
117
|
+
/** Last request (for retries). */
|
|
118
|
+
_lastRequest;
|
|
116
119
|
/** Streaming state. */
|
|
117
120
|
streaming = Atom.make((get) => Option.isSome(get(this._streaming)));
|
|
118
121
|
/** Active state. */
|
|
@@ -153,26 +156,26 @@ var AiChatProcessor = class {
|
|
|
153
156
|
/**
|
|
154
157
|
* Initiates a new request.
|
|
155
158
|
*/
|
|
156
|
-
async request(
|
|
159
|
+
async request(requestProp) {
|
|
157
160
|
if (this._fiber) {
|
|
158
161
|
await this.cancel();
|
|
159
162
|
}
|
|
160
163
|
try {
|
|
161
|
-
this._lastRequest =
|
|
164
|
+
this._lastRequest = requestProp;
|
|
162
165
|
this._registry.set(this.error, Option.none());
|
|
163
166
|
this._registry.set(this.active, true);
|
|
167
|
+
const services = await this._services();
|
|
164
168
|
const request = this._conversation.createRequest({
|
|
165
169
|
system: this._options.system,
|
|
166
|
-
prompt:
|
|
170
|
+
prompt: requestProp.message,
|
|
167
171
|
observer: this._observer
|
|
168
172
|
});
|
|
169
|
-
const runtime = await this._services();
|
|
170
173
|
this._fiber = request.pipe(
|
|
171
174
|
Effect2.provide(AiService2.model(this._options.model ?? DEFAULT_EDGE_MODEL2)),
|
|
172
175
|
// TODO(dmaretskyi): Move ArtifactDiffResolver upstream.
|
|
173
176
|
Effect2.provideService(ArtifactDiffResolver, this._artifactDiffResolver),
|
|
174
177
|
Effect2.asVoid,
|
|
175
|
-
Runtime2.runFork(
|
|
178
|
+
Runtime2.runFork(services)
|
|
176
179
|
);
|
|
177
180
|
const response = await this._fiber.pipe(Fiber2.join, Effect2.runPromiseExit);
|
|
178
181
|
if (!Exit2.isSuccess(response) && !Cause.isInterruptedOnly(response.cause)) {
|
|
@@ -181,28 +184,28 @@ var AiChatProcessor = class {
|
|
|
181
184
|
this._registry.set(this.error, Option.none());
|
|
182
185
|
this._lastRequest = void 0;
|
|
183
186
|
this._fiber = void 0;
|
|
184
|
-
} catch (
|
|
187
|
+
} catch (err) {
|
|
185
188
|
log.error("request failed", {
|
|
186
|
-
error
|
|
189
|
+
error: err
|
|
187
190
|
}, {
|
|
188
191
|
F: __dxlog_file,
|
|
189
|
-
L:
|
|
192
|
+
L: 185,
|
|
190
193
|
S: this,
|
|
191
194
|
C: (f, a) => f(...a)
|
|
192
195
|
});
|
|
193
196
|
this._registry.set(this.error, Option.some(new Error("AI service error", {
|
|
194
|
-
cause:
|
|
197
|
+
cause: err
|
|
195
198
|
})));
|
|
196
199
|
} finally {
|
|
197
|
-
this._fiber = void 0;
|
|
198
200
|
this._registry.set(this.active, false);
|
|
201
|
+
this._fiber = void 0;
|
|
199
202
|
}
|
|
200
203
|
}
|
|
201
204
|
/**
|
|
202
205
|
* Cancels the current request.
|
|
203
206
|
*/
|
|
204
207
|
async cancel() {
|
|
205
|
-
await
|
|
208
|
+
await runAndForwardErrors(Effect2.gen(this, function* () {
|
|
206
209
|
if (this._fiber) {
|
|
207
210
|
yield* this._fiber.pipe(Fiber2.interrupt);
|
|
208
211
|
}
|
|
@@ -242,7 +245,7 @@ var AiChatProcessor = class {
|
|
|
242
245
|
_onBlock = Effect2.fn((function* (block) {
|
|
243
246
|
this._registry.update(this._streaming, (streaming) => {
|
|
244
247
|
const blocks = streaming.pipe(Option.map((streaming2) => streaming2.blocks.filter((b) => !b.pending)), Option.getOrElse(() => []));
|
|
245
|
-
return Option.some(
|
|
248
|
+
return Option.some(Obj2.make(Message.Message, {
|
|
246
249
|
created: (/* @__PURE__ */ new Date()).toISOString(),
|
|
247
250
|
sender: {
|
|
248
251
|
role: "assistant"
|
|
@@ -261,4 +264,4 @@ export {
|
|
|
261
264
|
updateName,
|
|
262
265
|
AiChatProcessor
|
|
263
266
|
};
|
|
264
|
-
//# sourceMappingURL=chunk-
|
|
267
|
+
//# sourceMappingURL=chunk-ZRIPP7YF.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 { Obj } from '@dxos/echo';\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 Obj.change(chat, (c) => {\n c.name = title;\n });\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 AiConversationRunProps,\n ArtifactDiffResolver,\n GenerationObserver,\n createSystemPrompt,\n} from '@dxos/assistant';\nimport { type Blueprint } from '@dxos/blueprints';\nimport { Obj } from '@dxos/echo';\nimport { type Database } from '@dxos/echo';\nimport { runAndForwardErrors, throwCause } from '@dxos/effect';\nimport {\n type CredentialsService,\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 | Database.Service\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<AiConversationRunProps, '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 /** 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 /** 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 /** 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(requestProp: AiRequest): Promise<void> {\n if (this._fiber) {\n await this.cancel();\n }\n\n try {\n this._lastRequest = requestProp;\n this._registry.set(this.error, Option.none());\n this._registry.set(this.active, true);\n\n const services = await this._services();\n\n // Create request.\n const request = this._conversation.createRequest({\n system: this._options.system,\n prompt: requestProp.message,\n observer: this._observer,\n });\n\n // Create fiber.\n this._fiber = request.pipe(\n Effect.provide(AiService.model(this._options.model ?? DEFAULT_EDGE_MODEL)),\n // TODO(dmaretskyi): Move ArtifactDiffResolver upstream.\n Effect.provideService(ArtifactDiffResolver, this._artifactDiffResolver),\n Effect.asVoid,\n Runtime.runFork(services), // 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 (err) {\n log.error('request failed', { error: err });\n this._registry.set(this.error, Option.some(new Error('AI service error', { cause: err })));\n } finally {\n this._registry.set(this.active, false);\n this._fiber = undefined;\n }\n }\n\n /**\n * Cancels the current request.\n */\n async cancel(): Promise<void> {\n await runAndForwardErrors(\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.id(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", "Obj", "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", "Obj", "change", "c", "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", "runAndForwardErrors", "throwCause", "log", "Message", "defaultOptions", "model", "DEFAULT_EDGE_MODEL", "AiChatProcessor", "_registry", "_observer", "_pending", "Atom", "make", "_streaming", "none", "_fiber", "_lastRequest", "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", "requestProp", "cancel", "set", "services", "createRequest", "prompt", "message", "observer", "pipe", "provide", "AiService", "provideService", "ArtifactDiffResolver", "_artifactDiffResolver", "asVoid", "runFork", "response", "join", "runPromiseExit", "isSuccess", "isInterruptedOnly", "cause", "throwCause", "undefined", "err", "log", "some", "Error", "runAndForwardErrors", "gen", "interrupt", "retry", "updateName", "chat", "runtime", "resolve", "_artifacts", "versions", "Map", "fn", "update", "pending", "bind", "block", "blocks", "map", "filter", "b", "getOrElse", "Obj", "Message", "created", "Date", "toISOString", "sender", "role"]
|
|
7
|
+
}
|
package/dist/lib/node-esm/{edge-model-resolver-2ARXDOYS.mjs → edge-model-resolver-G5KMODPO.mjs}
RENAMED
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import "./chunk-HSLMI22Q.mjs";
|
|
3
3
|
|
|
4
|
-
// src/capabilities/edge-model-resolver.ts
|
|
4
|
+
// src/capabilities/edge-model-resolver/edge-model-resolver.ts
|
|
5
5
|
import * as AnthropicClient from "@effect/ai-anthropic/AnthropicClient";
|
|
6
6
|
import * as FetchHttpClient from "@effect/platform/FetchHttpClient";
|
|
7
|
+
import * as Effect from "effect/Effect";
|
|
7
8
|
import * as Layer from "effect/Layer";
|
|
8
|
-
import
|
|
9
|
-
import {
|
|
10
|
-
var
|
|
11
|
-
contributes(
|
|
9
|
+
import { AnthropicResolver } from "@dxos/ai/resolvers";
|
|
10
|
+
import { Capability, Common } from "@dxos/app-framework";
|
|
11
|
+
var edgeModelResolver = Capability.makeModule(() => Effect.succeed([
|
|
12
|
+
Capability.contributes(Common.Capability.AiModelResolver, AnthropicResolver.make().pipe(Layer.provide(AnthropicClient.layer({
|
|
12
13
|
// TODO(dmaretskyi): Read endpoint from config/settings.
|
|
13
14
|
apiUrl: "https://ai-service.dxos.workers.dev/provider/anthropic"
|
|
14
15
|
})), Layer.provide(FetchHttpClient.layer)))
|
|
15
|
-
]);
|
|
16
|
+
]));
|
|
17
|
+
var edge_model_resolver_default = edgeModelResolver;
|
|
16
18
|
export {
|
|
17
19
|
edge_model_resolver_default as default
|
|
18
20
|
};
|
|
19
|
-
//# sourceMappingURL=edge-model-resolver-
|
|
21
|
+
//# sourceMappingURL=edge-model-resolver-G5KMODPO.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/edge-model-resolver/edge-model-resolver.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as AnthropicClient from '@effect/ai-anthropic/AnthropicClient';\nimport * as FetchHttpClient from '@effect/platform/FetchHttpClient';\nimport * as Effect from 'effect/Effect';\nimport * as Layer from 'effect/Layer';\n\nimport { AnthropicResolver } from '@dxos/ai/resolvers';\nimport { Capability, Common } from '@dxos/app-framework';\n\nexport type EdgeModelResolverCapabilities = [Capability.Capability<typeof Common.Capability.AiModelResolver>];\n\nconst edgeModelResolver = Capability.makeModule<[], EdgeModelResolverCapabilities>(() =>\n Effect.succeed([\n Capability.contributes(\n Common.Capability.AiModelResolver,\n AnthropicResolver.make().pipe(\n Layer.provide(\n AnthropicClient.layer({\n // TODO(dmaretskyi): Read endpoint from config/settings.\n apiUrl: 'https://ai-service.dxos.workers.dev/provider/anthropic',\n }),\n ),\n Layer.provide(FetchHttpClient.layer),\n ),\n ),\n ]),\n);\n\nexport default edgeModelResolver;\n"],
|
|
5
|
+
"mappings": ";;;;AAIA,YAAYA,qBAAqB;AACjC,YAAYC,qBAAqB;AACjC,YAAYC,YAAY;AACxB,YAAYC,WAAW;AAEvB,SAASC,yBAAyB;AAClC,SAASC,YAAYC,cAAc;AAInC,IAAMC,oBAAoBC,WAAWC,WAA8C,MAC1EC,eAAQ;EACbF,WAAWG,YACTC,OAAOJ,WAAWK,iBAClBC,kBAAkBC,KAAI,EAAGC,KACjBC,cACYC,sBAAM;;IAEpBC,QAAQ;EACV,CAAA,CAAA,GAEIF,cAAwBC,qBAAK,CAAA,CAAA;CAGxC,CAAA;AAGH,IAAA,8BAAeX;",
|
|
6
|
+
"names": ["AnthropicClient", "FetchHttpClient", "Effect", "Layer", "AnthropicResolver", "Capability", "Common", "edgeModelResolver", "Capability", "makeModule", "succeed", "contributes", "Common", "AiModelResolver", "AnthropicResolver", "make", "pipe", "provide", "layer", "apiUrl"]
|
|
7
|
+
}
|