@dxos/plugin-assistant 0.8.4-main.2e9d522 → 0.8.4-main.5ea62a8
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/{TemplateContainer-RPJ2LBOB.mjs → BlueprintContainer-OWUSKPRK.mjs} +11 -9
- package/dist/lib/browser/BlueprintContainer-OWUSKPRK.mjs.map +7 -0
- package/dist/lib/browser/ChatCompanion-FRCVSLPP.mjs +126 -0
- package/dist/lib/browser/ChatCompanion-FRCVSLPP.mjs.map +7 -0
- package/dist/lib/browser/{ChatContainer-M3IHQLRS.mjs → ChatContainer-YBJBIVUZ.mjs} +34 -13
- package/dist/lib/browser/ChatContainer-YBJBIVUZ.mjs.map +7 -0
- package/dist/lib/browser/{ChatDialog-X6VN6QZI.mjs → ChatDialog-MTPJLEHM.mjs} +26 -9
- package/dist/lib/browser/ChatDialog-MTPJLEHM.mjs.map +7 -0
- package/dist/lib/browser/{SequenceContainer-3UDVKWPA.mjs → SequenceContainer-TF5QNXYM.mjs} +5 -17
- package/dist/lib/browser/SequenceContainer-TF5QNXYM.mjs.map +7 -0
- package/dist/lib/browser/ai-service-NRZPTUHO.mjs +22 -0
- package/dist/lib/browser/ai-service-NRZPTUHO.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-builder-JTXBKE7O.mjs → app-graph-builder-7AAWTWGA.mjs} +26 -96
- package/dist/lib/browser/app-graph-builder-7AAWTWGA.mjs.map +7 -0
- package/dist/lib/browser/blueprint-definition-CRZPIA5A.mjs +12 -0
- package/dist/lib/browser/blueprint-definition-CRZPIA5A.mjs.map +7 -0
- package/dist/lib/browser/chunk-6QMISAU6.mjs +167 -0
- package/dist/lib/browser/chunk-6QMISAU6.mjs.map +7 -0
- package/dist/lib/browser/chunk-CFXXQM25.mjs +182 -0
- package/dist/lib/browser/chunk-CFXXQM25.mjs.map +7 -0
- package/dist/lib/browser/chunk-IJAJRAR7.mjs +18 -0
- package/dist/lib/browser/chunk-IJAJRAR7.mjs.map +7 -0
- package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
- package/dist/lib/browser/chunk-J5LGTIGS.mjs.map +7 -0
- package/dist/lib/browser/chunk-O4LUJEDV.mjs +20 -0
- package/dist/lib/browser/{chunk-FDCJSQYF.mjs.map → chunk-O4LUJEDV.mjs.map} +2 -2
- package/dist/lib/browser/chunk-OYFQS7JM.mjs +157 -0
- package/dist/lib/browser/chunk-OYFQS7JM.mjs.map +7 -0
- package/dist/lib/browser/chunk-SMIVXXAI.mjs +202 -0
- package/dist/lib/browser/chunk-SMIVXXAI.mjs.map +7 -0
- package/dist/lib/browser/chunk-V5H5CCZA.mjs +218 -0
- package/dist/lib/browser/chunk-V5H5CCZA.mjs.map +7 -0
- package/dist/lib/browser/chunk-XL557TXF.mjs +2332 -0
- package/dist/lib/browser/chunk-XL557TXF.mjs.map +7 -0
- package/dist/lib/browser/edge-model-resolver-E5M3CC46.mjs +22 -0
- package/dist/lib/browser/edge-model-resolver-E5M3CC46.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +154 -67
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/intent-resolver-BQO5SVGI.mjs +112 -0
- package/dist/lib/browser/intent-resolver-BQO5SVGI.mjs.map +7 -0
- package/dist/lib/browser/local-model-resolver-VZ5WZQIC.mjs +21 -0
- package/dist/lib/browser/local-model-resolver-VZ5WZQIC.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/react-surface-VNCD2H7C.mjs +109 -0
- package/dist/lib/browser/react-surface-VNCD2H7C.mjs.map +7 -0
- package/dist/lib/browser/{settings-2DGP3UTS.mjs → settings-36V3VUMW.mjs} +6 -5
- package/dist/lib/{node-esm/settings-47RYZOU4.mjs.map → browser/settings-36V3VUMW.mjs.map} +1 -1
- package/dist/lib/browser/state-D5IVKNYG.mjs +21 -0
- package/dist/lib/browser/state-D5IVKNYG.mjs.map +7 -0
- package/dist/lib/browser/toolkit-Y5OYX5PO.mjs +191 -0
- package/dist/lib/browser/toolkit-Y5OYX5PO.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +7 -4
- package/dist/lib/node-esm/{TemplateContainer-A3NAQCZE.mjs → BlueprintContainer-UFVWCRN6.mjs} +11 -9
- package/dist/lib/node-esm/BlueprintContainer-UFVWCRN6.mjs.map +7 -0
- package/dist/lib/node-esm/ChatCompanion-ZNRZEKH5.mjs +127 -0
- package/dist/lib/node-esm/ChatCompanion-ZNRZEKH5.mjs.map +7 -0
- package/dist/lib/node-esm/{ChatContainer-VZT74PO2.mjs → ChatContainer-TUCITJJW.mjs} +34 -13
- package/dist/lib/node-esm/ChatContainer-TUCITJJW.mjs.map +7 -0
- package/dist/lib/node-esm/{ChatDialog-RJ6FDX4Q.mjs → ChatDialog-JLM7RDZQ.mjs} +26 -9
- package/dist/lib/node-esm/ChatDialog-JLM7RDZQ.mjs.map +7 -0
- package/dist/lib/node-esm/{SequenceContainer-RQQH5XOC.mjs → SequenceContainer-UXOVZPZO.mjs} +5 -17
- package/dist/lib/node-esm/SequenceContainer-UXOVZPZO.mjs.map +7 -0
- package/dist/lib/node-esm/ai-service-UDEPIPTO.mjs +23 -0
- package/dist/lib/node-esm/ai-service-UDEPIPTO.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-builder-OWSOXFTD.mjs → app-graph-builder-PNAFQUYT.mjs} +26 -96
- package/dist/lib/node-esm/app-graph-builder-PNAFQUYT.mjs.map +7 -0
- package/dist/lib/node-esm/blueprint-definition-275J3XL2.mjs +13 -0
- package/dist/lib/node-esm/blueprint-definition-275J3XL2.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-2X6VEO32.mjs +2333 -0
- package/dist/lib/node-esm/chunk-2X6VEO32.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-7YOGZI66.mjs +203 -0
- package/dist/lib/node-esm/chunk-7YOGZI66.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-CAQKGW3B.mjs +159 -0
- package/dist/lib/node-esm/chunk-CAQKGW3B.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-FNZJJL7G.mjs +183 -0
- package/dist/lib/node-esm/chunk-FNZJJL7G.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-RLBN4RNR.mjs +168 -0
- package/dist/lib/node-esm/chunk-RLBN4RNR.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-UWUUZQWJ.mjs +219 -0
- package/dist/lib/node-esm/chunk-UWUUZQWJ.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-VFY2JG62.mjs +22 -0
- package/dist/lib/node-esm/{chunk-QN2H2EHV.mjs.map → chunk-VFY2JG62.mjs.map} +2 -2
- package/dist/lib/node-esm/chunk-YPXEA46Q.mjs +19 -0
- package/dist/lib/node-esm/chunk-YPXEA46Q.mjs.map +7 -0
- package/dist/lib/node-esm/edge-model-resolver-SZHDLXCT.mjs +23 -0
- package/dist/lib/node-esm/edge-model-resolver-SZHDLXCT.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +154 -67
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/intent-resolver-FIS3T5KP.mjs +113 -0
- package/dist/lib/node-esm/intent-resolver-FIS3T5KP.mjs.map +7 -0
- package/dist/lib/node-esm/local-model-resolver-2KCBKMYA.mjs +22 -0
- package/dist/lib/node-esm/local-model-resolver-2KCBKMYA.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/react-surface-4NLRKNBU.mjs +110 -0
- package/dist/lib/node-esm/react-surface-4NLRKNBU.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-47RYZOU4.mjs → settings-7ZCZ6AS5.mjs} +6 -5
- package/dist/lib/{browser/settings-2DGP3UTS.mjs.map → node-esm/settings-7ZCZ6AS5.mjs.map} +1 -1
- package/dist/lib/node-esm/state-4VLKPLW3.mjs +22 -0
- package/dist/lib/node-esm/state-4VLKPLW3.mjs.map +7 -0
- package/dist/lib/node-esm/toolkit-2F2OL6WB.mjs +192 -0
- package/dist/lib/node-esm/toolkit-2F2OL6WB.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +7 -4
- package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/ai-service.d.ts +5 -0
- package/dist/types/src/capabilities/ai-service.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder.d.ts +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/blueprint-definition.d.ts +7 -0
- package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
- package/dist/types/src/capabilities/capabilities.d.ts +19 -0
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -0
- package/dist/types/src/capabilities/edge-model-resolver.d.ts +4 -0
- package/dist/types/src/capabilities/edge-model-resolver.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +11 -3
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/local-model-resolver.d.ts +10 -0
- package/dist/types/src/capabilities/local-model-resolver.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings.d.ts +1 -1
- package/dist/types/src/capabilities/state.d.ts +4 -0
- package/dist/types/src/capabilities/state.d.ts.map +1 -0
- package/dist/types/src/capabilities/toolkit.d.ts +4 -0
- package/dist/types/src/capabilities/toolkit.d.ts.map +1 -0
- package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +1 -1
- package/dist/types/src/components/BlueprintContainer.d.ts +8 -0
- package/dist/types/src/components/BlueprintContainer.d.ts.map +1 -0
- package/dist/types/src/components/Chat/Chat.d.ts +19 -16
- package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
- package/dist/types/src/components/Chat/events.d.ts +5 -0
- package/dist/types/src/components/Chat/events.d.ts.map +1 -1
- package/dist/types/src/components/ChatCompanion.d.ts +13 -0
- package/dist/types/src/components/ChatCompanion.d.ts.map +1 -0
- package/dist/types/src/components/ChatContainer.d.ts +4 -4
- package/dist/types/src/components/ChatContainer.d.ts.map +1 -1
- package/dist/types/src/components/ChatDialog.d.ts.map +1 -1
- package/dist/types/src/components/ChatProgress/ChatProgress.d.ts +7 -0
- package/dist/types/src/components/ChatProgress/ChatProgress.d.ts.map +1 -0
- package/dist/types/src/components/ChatProgress/index.d.ts +2 -0
- package/dist/types/src/components/ChatProgress/index.d.ts.map +1 -0
- package/dist/types/src/components/ChatPrompt/ChatActions.d.ts.map +1 -1
- package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts +20 -0
- package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts.map +1 -0
- package/dist/types/src/components/ChatPrompt/ChatPresets.d.ts.map +1 -1
- package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts +4 -5
- package/dist/types/src/components/ChatPrompt/ChatReferences.d.ts.map +1 -1
- package/dist/types/src/components/ChatPrompt/ChatStatusIndicator.d.ts +6 -4
- package/dist/types/src/components/ChatPrompt/ChatStatusIndicator.d.ts.map +1 -1
- package/dist/types/src/components/ChatPrompt/index.d.ts +1 -1
- package/dist/types/src/components/ChatPrompt/index.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/ChatMessage.d.ts +21 -5
- package/dist/types/src/components/ChatThread/ChatMessage.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/ChatThread.d.ts +4 -4
- package/dist/types/src/components/ChatThread/ChatThread.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +108 -72
- package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/Link.d.ts +9 -0
- package/dist/types/src/components/ChatThread/Link.d.ts.map +1 -0
- package/dist/types/src/components/ChatThread/ToolBlock.d.ts +12 -12
- package/dist/types/src/components/ChatThread/ToolBlock.d.ts.map +1 -1
- package/dist/types/src/components/ChatThread/reducers.d.ts +40 -0
- package/dist/types/src/components/ChatThread/reducers.d.ts.map +1 -0
- package/dist/types/src/components/PromptSettings.d.ts.map +1 -1
- package/dist/types/src/components/SequenceContainer.d.ts.map +1 -1
- package/dist/types/src/components/SequenceEditor/SequenceEditor.d.ts.map +1 -1
- package/dist/types/src/components/SequenceEditor/SequenceEditor.stories.d.ts +257 -2
- package/dist/types/src/components/SequenceEditor/SequenceEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts +2 -6
- package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
- package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts +257 -6
- package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +2 -1
- package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
- package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts +254 -1
- package/dist/types/src/components/TemplateEditor/TemplateForm.stories.d.ts.map +1 -1
- package/dist/types/src/components/TemplateEditor/handlebars-extension.d.ts +12 -0
- package/dist/types/src/components/TemplateEditor/handlebars-extension.d.ts.map +1 -0
- package/dist/types/src/components/Toolbar/Toolbar.d.ts +4 -0
- package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -0
- package/dist/types/src/components/Toolbar/index.d.ts +2 -0
- package/dist/types/src/components/Toolbar/index.d.ts.map +1 -0
- package/dist/types/src/components/Toolbar/useChatToolbarActions.d.ts +11 -0
- package/dist/types/src/components/Toolbar/useChatToolbarActions.d.ts.map +1 -0
- package/dist/types/src/components/Toolbox/Toolbox.d.ts +4 -9
- package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
- package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts +258 -4
- package/dist/types/src/components/Toolbox/Toolbox.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +5 -2
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/events.d.ts +1 -1
- package/dist/types/src/events.d.ts.map +1 -1
- package/dist/types/src/execution-graph/execution-graph.d.ts +21 -0
- package/dist/types/src/execution-graph/execution-graph.d.ts.map +1 -0
- package/dist/types/src/execution-graph/index.d.ts +2 -0
- package/dist/types/src/execution-graph/index.d.ts.map +1 -0
- package/dist/types/src/functions/analysis.d.ts +5 -0
- package/dist/types/src/functions/analysis.d.ts.map +1 -0
- package/dist/types/src/functions/index.d.ts +4 -0
- package/dist/types/src/functions/index.d.ts.map +1 -0
- package/dist/types/src/functions/list.d.ts +10 -0
- package/dist/types/src/functions/list.d.ts.map +1 -0
- package/dist/types/src/functions/load.d.ts +8 -0
- package/dist/types/src/functions/load.d.ts.map +1 -0
- package/dist/types/src/hooks/index.d.ts +10 -3
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useBlueprintRegistry.d.ts +24 -0
- package/dist/types/src/hooks/useBlueprintRegistry.d.ts.map +1 -0
- package/dist/types/src/hooks/useChatProcessor.d.ts +7 -20
- package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
- package/dist/types/src/hooks/useChatServices.d.ts +4 -5
- package/dist/types/src/hooks/useChatServices.d.ts.map +1 -1
- package/dist/types/src/hooks/useContextBinder.d.ts +4 -0
- package/dist/types/src/hooks/useContextBinder.d.ts.map +1 -0
- package/dist/types/src/hooks/useContextObjects.d.ts +15 -0
- package/dist/types/src/hooks/useContextObjects.d.ts.map +1 -0
- package/dist/types/src/hooks/useExecutionGraph.d.ts +7 -0
- package/dist/types/src/hooks/useExecutionGraph.d.ts.map +1 -0
- package/dist/types/src/hooks/useFlush.d.ts +6 -0
- package/dist/types/src/hooks/useFlush.d.ts.map +1 -0
- package/dist/types/src/hooks/useItemTypes.d.ts +4 -0
- package/dist/types/src/hooks/useItemTypes.d.ts.map +1 -0
- package/dist/types/src/hooks/useMatcherExtension.d.ts +3 -0
- package/dist/types/src/hooks/useMatcherExtension.d.ts.map +1 -0
- package/dist/types/src/hooks/useOnline.d.ts +3 -0
- package/dist/types/src/hooks/useOnline.d.ts.map +1 -0
- package/dist/types/src/hooks/usePresets.d.ts +7 -0
- package/dist/types/src/hooks/usePresets.d.ts.map +1 -0
- package/dist/types/src/hooks/useReferencesProvider.d.ts.map +1 -1
- package/dist/types/src/hooks/useResolveRef.d.ts +4 -0
- package/dist/types/src/hooks/useResolveRef.d.ts.map +1 -0
- package/dist/types/src/parser/filter-generator.d.ts.map +1 -1
- package/dist/types/src/parser/query-parser.d.ts.map +1 -1
- package/dist/types/src/parser/types.d.ts.map +1 -1
- package/dist/types/src/processor/index.d.ts +3 -0
- package/dist/types/src/processor/index.d.ts.map +1 -0
- package/dist/types/src/{hooks → processor}/presets.d.ts +2 -2
- package/dist/types/src/processor/presets.d.ts.map +1 -0
- package/dist/types/src/processor/processor.d.ts +80 -0
- package/dist/types/src/processor/processor.d.ts.map +1 -0
- package/dist/types/src/processor/processor.test.d.ts +2 -0
- package/dist/types/src/processor/processor.test.d.ts.map +1 -0
- package/dist/types/src/stories/Chat.stories.d.ts +23 -246
- package/dist/types/src/stories/Chat.stories.d.ts.map +1 -1
- package/dist/types/src/stories/components/BlueprintContainer.d.ts +4 -0
- package/dist/types/src/stories/components/BlueprintContainer.d.ts.map +1 -0
- package/dist/types/src/stories/components/ChatContainer.d.ts +4 -0
- package/dist/types/src/stories/components/ChatContainer.d.ts.map +1 -0
- package/dist/types/src/stories/components/CommentsContainer.d.ts +4 -0
- package/dist/types/src/stories/components/CommentsContainer.d.ts.map +1 -0
- package/dist/types/src/stories/components/GraphContainer.d.ts +6 -0
- package/dist/types/src/stories/components/GraphContainer.d.ts.map +1 -0
- package/dist/types/src/stories/components/LoggingContainer.d.ts +4 -0
- package/dist/types/src/stories/components/LoggingContainer.d.ts.map +1 -0
- package/dist/types/src/stories/components/MessageContainer.d.ts +4 -0
- package/dist/types/src/stories/components/MessageContainer.d.ts.map +1 -0
- package/dist/types/src/stories/components/SurfaceContainer.d.ts +8 -0
- package/dist/types/src/stories/components/SurfaceContainer.d.ts.map +1 -0
- package/dist/types/src/stories/components/TasksContainer.d.ts +4 -0
- package/dist/types/src/stories/components/TasksContainer.d.ts.map +1 -0
- package/dist/types/src/stories/components/TokenManagerContainer.d.ts +3 -0
- package/dist/types/src/stories/components/TokenManagerContainer.d.ts.map +1 -0
- package/dist/types/src/stories/components/index.d.ts +11 -0
- package/dist/types/src/stories/components/index.d.ts.map +1 -0
- package/dist/types/src/stories/components/types.d.ts +7 -0
- package/dist/types/src/stories/components/types.d.ts.map +1 -0
- package/dist/types/src/stories/testing/data.d.ts +5 -0
- package/dist/types/src/stories/testing/data.d.ts.map +1 -0
- package/dist/types/src/stories/testing/index.d.ts +3 -0
- package/dist/types/src/stories/testing/index.d.ts.map +1 -0
- package/dist/types/src/stories/testing/testing.d.ts +44 -0
- package/dist/types/src/stories/testing/testing.d.ts.map +1 -0
- package/dist/types/src/testing/index.d.ts +2 -1
- package/dist/types/src/testing/index.d.ts.map +1 -1
- package/dist/types/src/testing/test-data.d.ts +4 -0
- package/dist/types/src/testing/test-data.d.ts.map +1 -0
- package/dist/types/src/testing/test-functions.d.ts +5 -2
- package/dist/types/src/testing/test-functions.d.ts.map +1 -1
- package/dist/types/src/testing/test-sequence.d.ts +0 -4
- package/dist/types/src/testing/test-sequence.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +27 -21
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Assistant.d.ts +42 -0
- package/dist/types/src/types/Assistant.d.ts.map +1 -0
- package/dist/types/src/types/AssistantAction.d.ts +107 -0
- package/dist/types/src/types/AssistantAction.d.ts.map +1 -0
- package/dist/types/src/types/defs.d.ts +2 -0
- package/dist/types/src/types/defs.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +3 -1
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/service.d.ts +9 -6
- package/dist/types/src/types/service.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +97 -77
- package/src/AssistantPlugin.tsx +74 -12
- package/src/capabilities/ai-service.ts +28 -0
- package/src/capabilities/app-graph-builder.ts +43 -134
- package/src/capabilities/blueprint-definition.ts +42 -0
- package/src/capabilities/capabilities.ts +31 -0
- package/src/capabilities/edge-model-resolver.ts +27 -0
- package/src/capabilities/index.ts +9 -0
- package/src/capabilities/intent-resolver.ts +50 -14
- package/src/capabilities/local-model-resolver.ts +32 -0
- package/src/capabilities/react-surface.tsx +17 -64
- package/src/capabilities/state.ts +20 -0
- package/src/capabilities/toolkit.ts +163 -0
- package/src/components/AssistantSettings/AssistantSettings.tsx +83 -76
- package/src/components/BlueprintContainer.tsx +24 -0
- package/src/components/Chat/Chat.tsx +171 -165
- package/src/components/Chat/events.ts +7 -0
- package/src/components/ChatCompanion.tsx +111 -0
- package/src/components/ChatContainer.tsx +19 -13
- package/src/components/ChatDialog.tsx +11 -7
- package/src/components/ChatProgress/ChatProgress.tsx +68 -0
- package/src/components/ChatProgress/index.ts +5 -0
- package/src/components/ChatPrompt/ChatActions.tsx +10 -24
- package/src/components/ChatPrompt/ChatOptions.tsx +233 -0
- package/src/components/ChatPrompt/ChatPresets.tsx +1 -0
- package/src/components/ChatPrompt/ChatReferences.tsx +31 -36
- package/src/components/ChatPrompt/ChatStatusIndicator.tsx +25 -22
- package/src/components/ChatPrompt/index.ts +1 -1
- package/src/components/ChatThread/ChatMessage.tsx +214 -148
- package/src/components/ChatThread/ChatThread.stories.tsx +244 -104
- package/src/components/ChatThread/ChatThread.tsx +44 -22
- package/src/components/ChatThread/Link.tsx +23 -0
- package/src/components/ChatThread/ToolBlock.tsx +103 -77
- package/src/components/ChatThread/reducers.ts +151 -0
- package/src/components/PromptSettings.tsx +1 -0
- package/src/components/SequenceContainer.tsx +27 -28
- package/src/components/SequenceEditor/SequenceEditor.stories.tsx +5 -4
- package/src/components/SequenceEditor/SequenceEditor.tsx +1 -1
- package/src/components/TemplateEditor/TemplateEditor.stories.tsx +27 -14
- package/src/components/TemplateEditor/TemplateEditor.tsx +20 -51
- package/src/components/TemplateEditor/TemplateForm.stories.tsx +15 -8
- package/src/components/TemplateEditor/TemplateForm.tsx +6 -3
- package/src/components/TemplateEditor/handlebars-extension.ts +165 -0
- package/src/components/Toolbar/Toolbar.tsx +20 -0
- package/src/components/Toolbar/index.ts +5 -0
- package/src/components/Toolbar/useChatToolbarActions.ts +125 -0
- package/src/components/Toolbox/Toolbox.stories.tsx +10 -16
- package/src/components/Toolbox/Toolbox.tsx +21 -51
- package/src/components/index.ts +4 -5
- package/src/events.ts +2 -2
- package/src/execution-graph/execution-graph.ts +211 -0
- package/src/execution-graph/index.ts +5 -0
- package/src/functions/analysis.ts +20 -0
- package/src/functions/index.ts +7 -0
- package/src/functions/list.ts +46 -0
- package/src/functions/load.ts +43 -0
- package/src/hooks/index.ts +10 -4
- package/src/hooks/useBlueprintRegistry.ts +80 -0
- package/src/hooks/useChatProcessor.ts +20 -97
- package/src/hooks/useChatServices.ts +34 -61
- package/src/hooks/useContextBinder.ts +18 -0
- package/src/hooks/useContextObjects.ts +58 -0
- package/src/hooks/useExecutionGraph.ts +20 -0
- package/src/hooks/useFlush.ts +35 -0
- package/src/hooks/useItemTypes.ts +37 -0
- package/src/hooks/useMatcherExtension.ts +45 -0
- package/src/hooks/useOnline.ts +10 -0
- package/src/hooks/usePresets.ts +44 -0
- package/src/hooks/useReferencesProvider.ts +11 -9
- package/src/hooks/useResolveRef.ts +33 -0
- package/src/meta.ts +1 -1
- package/src/parser/filter-generator.ts +8 -13
- package/src/parser/query-parser.ts +1 -1
- package/src/parser/types.ts +2 -0
- package/src/processor/index.ts +6 -0
- package/src/{hooks → processor}/presets.ts +14 -6
- package/src/processor/processor.test.ts +77 -0
- package/src/processor/processor.ts +304 -0
- package/src/queue-logger.ts +5 -5
- package/src/stories/Chat.stories.tsx +389 -298
- package/src/stories/components/BlueprintContainer.tsx +32 -0
- package/src/stories/components/ChatContainer.tsx +57 -0
- package/src/stories/components/CommentsContainer.tsx +25 -0
- package/src/stories/components/GraphContainer.tsx +118 -0
- package/src/stories/components/LoggingContainer.tsx +21 -0
- package/src/stories/components/MessageContainer.tsx +27 -0
- package/src/stories/components/SurfaceContainer.tsx +52 -0
- package/src/stories/components/TasksContainer.tsx +49 -0
- package/src/stories/components/TokenManagerContainer.tsx +14 -0
- package/src/stories/components/index.ts +15 -0
- package/src/stories/components/types.ts +11 -0
- package/src/stories/testing/data.ts +142 -0
- package/src/stories/testing/index.ts +6 -0
- package/src/stories/testing/testing.tsx +254 -0
- package/src/testing/index.ts +2 -1
- package/src/testing/test-data.ts +109 -0
- package/src/testing/test-functions.ts +8 -3
- package/src/testing/test-sequence.ts +2 -27
- package/src/translations.ts +31 -21
- package/src/types/Assistant.ts +61 -0
- package/src/types/AssistantAction.ts +62 -0
- package/src/types/defs.ts +5 -0
- package/src/types/index.ts +4 -1
- package/src/vite-env.d.ts +30 -0
- package/dist/lib/browser/ChatContainer-M3IHQLRS.mjs.map +0 -7
- package/dist/lib/browser/ChatDialog-X6VN6QZI.mjs.map +0 -7
- package/dist/lib/browser/SequenceContainer-3UDVKWPA.mjs.map +0 -7
- package/dist/lib/browser/TemplateContainer-RPJ2LBOB.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-JTXBKE7O.mjs.map +0 -7
- package/dist/lib/browser/chunk-AEAEKWOC.mjs +0 -98
- package/dist/lib/browser/chunk-AEAEKWOC.mjs.map +0 -7
- package/dist/lib/browser/chunk-EQDW6BYQ.mjs +0 -108
- package/dist/lib/browser/chunk-EQDW6BYQ.mjs.map +0 -7
- package/dist/lib/browser/chunk-FDCJSQYF.mjs +0 -40
- package/dist/lib/browser/chunk-JQBVLTM5.mjs +0 -158
- package/dist/lib/browser/chunk-JQBVLTM5.mjs.map +0 -7
- package/dist/lib/browser/chunk-OWY4CUQY.mjs +0 -2245
- package/dist/lib/browser/chunk-OWY4CUQY.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-5RMMCMXG.mjs +0 -60
- package/dist/lib/browser/intent-resolver-5RMMCMXG.mjs.map +0 -7
- package/dist/lib/browser/react-surface-66VY37YQ.mjs +0 -150
- package/dist/lib/browser/react-surface-66VY37YQ.mjs.map +0 -7
- package/dist/lib/node-esm/ChatContainer-VZT74PO2.mjs.map +0 -7
- package/dist/lib/node-esm/ChatDialog-RJ6FDX4Q.mjs.map +0 -7
- package/dist/lib/node-esm/SequenceContainer-RQQH5XOC.mjs.map +0 -7
- package/dist/lib/node-esm/TemplateContainer-A3NAQCZE.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-OWSOXFTD.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-2XL6MNPE.mjs +0 -99
- package/dist/lib/node-esm/chunk-2XL6MNPE.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-BISJDTBK.mjs +0 -159
- package/dist/lib/node-esm/chunk-BISJDTBK.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-E33DNNDW.mjs +0 -109
- package/dist/lib/node-esm/chunk-E33DNNDW.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-QN2H2EHV.mjs +0 -41
- package/dist/lib/node-esm/chunk-SENTQAEO.mjs +0 -2246
- package/dist/lib/node-esm/chunk-SENTQAEO.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-YPPYELY3.mjs +0 -61
- package/dist/lib/node-esm/intent-resolver-YPPYELY3.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-RJMRBR2M.mjs +0 -151
- package/dist/lib/node-esm/react-surface-RJMRBR2M.mjs.map +0 -7
- package/dist/types/src/components/ChatPrompt/ChatOptionsMenu.d.ts +0 -9
- package/dist/types/src/components/ChatPrompt/ChatOptionsMenu.d.ts.map +0 -1
- package/dist/types/src/components/ChatThread/reducer.d.ts +0 -12
- package/dist/types/src/components/ChatThread/reducer.d.ts.map +0 -1
- package/dist/types/src/components/TemplateContainer.d.ts +0 -8
- package/dist/types/src/components/TemplateContainer.d.ts.map +0 -1
- package/dist/types/src/hooks/chat-processor.d.ts +0 -86
- package/dist/types/src/hooks/chat-processor.d.ts.map +0 -1
- package/dist/types/src/hooks/chat-processor.test.d.ts +0 -2
- package/dist/types/src/hooks/chat-processor.test.d.ts.map +0 -1
- package/dist/types/src/hooks/presets.d.ts.map +0 -1
- package/dist/types/src/hooks/useBlueprints.d.ts +0 -9
- package/dist/types/src/hooks/useBlueprints.d.ts.map +0 -1
- package/dist/types/src/tools/function.d.ts +0 -5
- package/dist/types/src/tools/function.d.ts.map +0 -1
- package/dist/types/src/tools/index.d.ts +0 -3
- package/dist/types/src/tools/index.d.ts.map +0 -1
- package/dist/types/src/tools/openapi.d.ts +0 -10
- package/dist/types/src/tools/openapi.d.ts.map +0 -1
- package/dist/types/src/tools/openapi.test.d.ts +0 -2
- package/dist/types/src/tools/openapi.test.d.ts.map +0 -1
- package/dist/types/src/types/schema.d.ts +0 -88
- package/dist/types/src/types/schema.d.ts.map +0 -1
- package/src/components/ChatPrompt/ChatOptionsMenu.tsx +0 -52
- package/src/components/ChatThread/reducer.ts +0 -52
- package/src/components/TemplateContainer.tsx +0 -24
- package/src/hooks/chat-processor.test.ts +0 -16
- package/src/hooks/chat-processor.ts +0 -314
- package/src/hooks/useBlueprints.ts +0 -57
- package/src/shims.d.ts +0 -8
- package/src/tools/function.ts +0 -46
- package/src/tools/index.ts +0 -6
- package/src/tools/openapi.test.ts +0 -217
- package/src/tools/openapi.ts +0 -338
- package/src/types/schema.ts +0 -95
- package/src/typings.d.ts +0 -9
|
@@ -1,25 +1,29 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
AssistantAction_exports,
|
|
3
|
+
Assistant_exports
|
|
4
|
+
} from "./chunk-SMIVXXAI.mjs";
|
|
5
|
+
import {
|
|
6
|
+
AssistantCapabilities
|
|
7
|
+
} from "./chunk-IJAJRAR7.mjs";
|
|
4
8
|
import {
|
|
5
9
|
ASSISTANT_DIALOG,
|
|
6
10
|
meta
|
|
7
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-O4LUJEDV.mjs";
|
|
12
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
8
13
|
|
|
9
14
|
// src/capabilities/app-graph-builder.ts
|
|
10
15
|
import { Rx } from "@effect-rx/rx-react";
|
|
11
16
|
import { Option, pipe } from "effect";
|
|
12
|
-
import { Capabilities, contributes, createIntent
|
|
13
|
-
import { Template } from "@dxos/blueprints";
|
|
17
|
+
import { Capabilities, LayoutAction, contributes, createIntent } from "@dxos/app-framework";
|
|
14
18
|
import { Sequence } from "@dxos/conductor";
|
|
15
19
|
import { Obj } from "@dxos/echo";
|
|
16
20
|
import { invariant } from "@dxos/invariant";
|
|
17
21
|
import { ClientCapabilities } from "@dxos/plugin-client";
|
|
18
|
-
import {
|
|
19
|
-
import { createExtension,
|
|
20
|
-
import { getActiveSpace
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
22
|
+
import { ATTENDABLE_PATH_SEPARATOR, PLANK_COMPANION_TYPE } from "@dxos/plugin-deck/types";
|
|
23
|
+
import { ROOT_ID, createExtension, rxFromSignal } from "@dxos/plugin-graph";
|
|
24
|
+
import { getActiveSpace } from "@dxos/plugin-space";
|
|
25
|
+
import { SpaceAction } from "@dxos/plugin-space/types";
|
|
26
|
+
import { Query, fullyQualifiedId } from "@dxos/react-client/echo";
|
|
23
27
|
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-assistant/src/capabilities/app-graph-builder.ts";
|
|
24
28
|
var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBuilder, [
|
|
25
29
|
createExtension({
|
|
@@ -66,26 +70,10 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
|
|
|
66
70
|
]), Option.getOrElse(() => [])))
|
|
67
71
|
}),
|
|
68
72
|
createExtension({
|
|
69
|
-
id: `${meta.id}/
|
|
73
|
+
id: `${meta.id}/companion-chat`,
|
|
70
74
|
connector: (node) => {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
const nodeOption = get(node);
|
|
74
|
-
if (Option.isNone(nodeOption)) {
|
|
75
|
-
return [];
|
|
76
|
-
}
|
|
77
|
-
const object = nodeOption.value.data;
|
|
78
|
-
if (!Obj.isObject(object)) {
|
|
79
|
-
return [];
|
|
80
|
-
}
|
|
81
|
-
const space = getSpace(object);
|
|
82
|
-
if (!space) {
|
|
83
|
-
return [];
|
|
84
|
-
}
|
|
85
|
-
if (!query) {
|
|
86
|
-
query = space.db.query(Query.select(Filter.ids(object.id)).targetOf(Assistant.CompanionTo).source());
|
|
87
|
-
}
|
|
88
|
-
const chat = get(rxFromQuery(query))[0];
|
|
75
|
+
return Rx.make((get) => pipe(get(node), Option.flatMap((node2) => Obj.isObject(node2.data) ? Option.some(node2.data) : Option.none()), Option.map((object) => {
|
|
76
|
+
const currentChat = get(rxFromSignal(() => context.getCapability(AssistantCapabilities.State).currentChat[fullyQualifiedId(object)]));
|
|
89
77
|
return [
|
|
90
78
|
{
|
|
91
79
|
id: [
|
|
@@ -93,7 +81,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
|
|
|
93
81
|
"assistant-chat"
|
|
94
82
|
].join(ATTENDABLE_PATH_SEPARATOR),
|
|
95
83
|
type: PLANK_COMPANION_TYPE,
|
|
96
|
-
data:
|
|
84
|
+
data: currentChat ?? "assistant-chat",
|
|
97
85
|
properties: {
|
|
98
86
|
label: [
|
|
99
87
|
"assistant chat label",
|
|
@@ -107,7 +95,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
|
|
|
107
95
|
}
|
|
108
96
|
}
|
|
109
97
|
];
|
|
110
|
-
});
|
|
98
|
+
}), Option.getOrElse(() => [])));
|
|
111
99
|
}
|
|
112
100
|
}),
|
|
113
101
|
createExtension({
|
|
@@ -132,79 +120,21 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
|
|
|
132
120
|
}
|
|
133
121
|
}
|
|
134
122
|
]), Option.getOrElse(() => [])))
|
|
135
|
-
}),
|
|
136
|
-
createExtension({
|
|
137
|
-
id: `${meta.id}/root`,
|
|
138
|
-
connector: (node) => {
|
|
139
|
-
let query;
|
|
140
|
-
return Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.type === SPACE_TYPE && isSpace(node2.data) ? Option.some(node2.data) : Option.none()), Option.map((space) => {
|
|
141
|
-
if (!query) {
|
|
142
|
-
query = space.db.query(Query.type(Template.Template));
|
|
143
|
-
}
|
|
144
|
-
const templates = get(rxFromQuery(query));
|
|
145
|
-
return templates.length > 0 ? [
|
|
146
|
-
{
|
|
147
|
-
id: `${meta.id}/templates`,
|
|
148
|
-
type: `${meta.id}/templates`,
|
|
149
|
-
data: null,
|
|
150
|
-
properties: {
|
|
151
|
-
label: [
|
|
152
|
-
"templates label",
|
|
153
|
-
{
|
|
154
|
-
ns: meta.id
|
|
155
|
-
}
|
|
156
|
-
],
|
|
157
|
-
icon: "ph--file-code--regular",
|
|
158
|
-
space
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
] : [];
|
|
162
|
-
}), Option.getOrElse(() => [])));
|
|
163
|
-
}
|
|
164
|
-
}),
|
|
165
|
-
createExtension({
|
|
166
|
-
id: `${meta.id}/templates`,
|
|
167
|
-
connector: (node) => {
|
|
168
|
-
let query;
|
|
169
|
-
return Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.id === `${meta.id}/templates` && isSpace(node2.properties.space) ? Option.some(node2.properties.space) : Option.none()), Option.map((space) => {
|
|
170
|
-
if (!query) {
|
|
171
|
-
query = space.db.query(Query.type(Template.Template));
|
|
172
|
-
}
|
|
173
|
-
return get(rxFromQuery(query)).toSorted((a, b) => {
|
|
174
|
-
const nameA = a.name ?? "";
|
|
175
|
-
const nameB = b.name ?? "";
|
|
176
|
-
return nameA.localeCompare(nameB);
|
|
177
|
-
}).map((template) => ({
|
|
178
|
-
id: fullyQualifiedId(template),
|
|
179
|
-
type: `${meta.id}/template`,
|
|
180
|
-
data: template,
|
|
181
|
-
properties: {
|
|
182
|
-
label: template.name ?? [
|
|
183
|
-
"object placeholder",
|
|
184
|
-
{
|
|
185
|
-
ns: meta.id
|
|
186
|
-
}
|
|
187
|
-
],
|
|
188
|
-
icon: "ph--file-code--regular"
|
|
189
|
-
}
|
|
190
|
-
}));
|
|
191
|
-
}), Option.getOrElse(() => [])));
|
|
192
|
-
}
|
|
193
123
|
})
|
|
194
124
|
]);
|
|
195
125
|
var getOrCreateChat = async (dispatch, space) => {
|
|
196
|
-
const { objects: allChats } = await space.db.query(Query.type(
|
|
197
|
-
const { objects: relatedChats } = await space.db.query(Query.type(
|
|
126
|
+
const { objects: allChats } = await space.db.query(Query.type(Assistant_exports.Chat)).run();
|
|
127
|
+
const { objects: relatedChats } = await space.db.query(Query.type(Assistant_exports.Chat).sourceOf(Assistant_exports.CompanionTo).source()).run();
|
|
198
128
|
const chats = allChats.filter((chat) => !relatedChats.includes(chat));
|
|
199
129
|
if (chats.length > 0) {
|
|
200
|
-
return chats
|
|
130
|
+
return chats.at(-1);
|
|
201
131
|
}
|
|
202
|
-
const { data } = await dispatch(createIntent(
|
|
132
|
+
const { data } = await dispatch(createIntent(AssistantAction_exports.CreateChat, {
|
|
203
133
|
space
|
|
204
134
|
}));
|
|
205
|
-
invariant(Obj.instanceOf(
|
|
135
|
+
invariant(Obj.instanceOf(Assistant_exports.Chat, data?.object), void 0, {
|
|
206
136
|
F: __dxlog_file,
|
|
207
|
-
L:
|
|
137
|
+
L: 159,
|
|
208
138
|
S: void 0,
|
|
209
139
|
A: [
|
|
210
140
|
"Obj.instanceOf(Assistant.Chat, data?.object)",
|
|
@@ -220,4 +150,4 @@ var getOrCreateChat = async (dispatch, space) => {
|
|
|
220
150
|
export {
|
|
221
151
|
app_graph_builder_default as default
|
|
222
152
|
};
|
|
223
|
-
//# sourceMappingURL=app-graph-builder-
|
|
153
|
+
//# sourceMappingURL=app-graph-builder-7AAWTWGA.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/app-graph-builder.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Rx } from '@effect-rx/rx-react';\nimport { Option, pipe } from 'effect';\n\nimport {\n Capabilities,\n LayoutAction,\n type PluginContext,\n type PromiseIntentDispatcher,\n contributes,\n createIntent,\n} from '@dxos/app-framework';\nimport { Sequence } from '@dxos/conductor';\nimport { Obj } from '@dxos/echo';\nimport { invariant } from '@dxos/invariant';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { ATTENDABLE_PATH_SEPARATOR, PLANK_COMPANION_TYPE } from '@dxos/plugin-deck/types';\nimport { ROOT_ID, createExtension, rxFromSignal } from '@dxos/plugin-graph';\nimport { getActiveSpace } from '@dxos/plugin-space';\nimport { SpaceAction } from '@dxos/plugin-space/types';\nimport { Query, type Space, fullyQualifiedId } from '@dxos/react-client/echo';\n\nimport { ASSISTANT_DIALOG, meta } from '../meta';\nimport { Assistant, AssistantAction } from '../types';\n\nimport { AssistantCapabilities } from './capabilities';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.AppGraphBuilder, [\n createExtension({\n id: `${meta.id}/assistant`,\n actions: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),\n Option.map(() => [\n {\n id: `${LayoutAction.UpdateDialog._tag}/assistant/open`,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const client = context.getCapability(ClientCapabilities.Client);\n const space = getActiveSpace(context) ?? client.spaces.default;\n const chat = await getOrCreateChat(dispatch, space);\n if (!chat) {\n return;\n }\n\n await dispatch(\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n subject: ASSISTANT_DIALOG,\n options: {\n state: true,\n blockAlign: 'end',\n props: {\n chat,\n },\n },\n }),\n );\n },\n properties: {\n label: ['open assistant label', { ns: meta.id }],\n icon: 'ph--sparkle--regular',\n disposition: 'pin-end',\n position: 'hoist',\n keyBinding: {\n macos: 'shift+meta+k',\n windows: 'shift+ctrl+k',\n },\n },\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n\n createExtension({\n id: `${meta.id}/companion-chat`,\n connector: (node) => {\n return Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (Obj.isObject(node.data) ? Option.some(node.data) : Option.none())),\n Option.map((object) => {\n const currentChat = get(\n rxFromSignal(\n () => context.getCapability(AssistantCapabilities.State).currentChat[fullyQualifiedId(object)],\n ),\n );\n\n return [\n {\n id: [fullyQualifiedId(object), 'assistant-chat'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: currentChat ?? 'assistant-chat',\n properties: {\n label: ['assistant chat label', { ns: meta.id }],\n icon: 'ph--sparkle--regular',\n position: 'hoist',\n disposition: 'hidden',\n },\n },\n ];\n }),\n Option.getOrElse(() => []),\n ),\n );\n },\n }),\n\n createExtension({\n id: `${meta.id}/sequence-logs`,\n connector: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (Obj.instanceOf(Sequence, node.data) ? Option.some(node) : Option.none())),\n Option.map((node) => [\n {\n id: [node.id, 'logs'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'logs',\n properties: {\n label: ['sequence logs label', { ns: meta.id }],\n icon: 'ph--clock-countdown--regular',\n disposition: 'hidden',\n },\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n ]);\n\n// TODO(burdon): Factor out.\nconst getOrCreateChat = async (\n dispatch: PromiseIntentDispatcher,\n space: Space,\n): Promise<Assistant.Chat | undefined> => {\n // TODO(wittjosiah): This should be possible with a single query.\n const { objects: allChats } = await space.db.query(Query.type(Assistant.Chat)).run();\n const { objects: relatedChats } = await space.db\n .query(Query.type(Assistant.Chat).sourceOf(Assistant.CompanionTo).source())\n .run();\n\n const chats = allChats.filter((chat) => !relatedChats.includes(chat));\n if (chats.length > 0) {\n return chats.at(-1);\n }\n\n const { data } = await dispatch(createIntent(AssistantAction.CreateChat, { space }));\n invariant(Obj.instanceOf(Assistant.Chat, data?.object));\n await dispatch(createIntent(SpaceAction.AddObject, { target: space, object: data.object }));\n return data.object;\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Rx", "Option", "pipe", "Capabilities", "LayoutAction", "contributes", "createIntent", "Sequence", "Obj", "invariant", "ClientCapabilities", "ATTENDABLE_PATH_SEPARATOR", "PLANK_COMPANION_TYPE", "ROOT_ID", "createExtension", "rxFromSignal", "getActiveSpace", "SpaceAction", "Query", "fullyQualifiedId", "context", "contributes", "Capabilities", "AppGraphBuilder", "createExtension", "id", "meta", "actions", "node", "Rx", "make", "get", "pipe", "Option", "flatMap", "ROOT_ID", "some", "none", "map", "LayoutAction", "UpdateDialog", "_tag", "data", "dispatchPromise", "dispatch", "getCapability", "IntentDispatcher", "client", "ClientCapabilities", "Client", "space", "getActiveSpace", "spaces", "default", "chat", "getOrCreateChat", "createIntent", "part", "subject", "ASSISTANT_DIALOG", "options", "state", "blockAlign", "props", "properties", "label", "ns", "icon", "disposition", "position", "keyBinding", "macos", "windows", "getOrElse", "connector", "Obj", "isObject", "object", "currentChat", "rxFromSignal", "AssistantCapabilities", "State", "fullyQualifiedId", "join", "ATTENDABLE_PATH_SEPARATOR", "type", "PLANK_COMPANION_TYPE", "instanceOf", "Sequence", "objects", "allChats", "db", "query", "Query", "Assistant", "Chat", "run", "relatedChats", "sourceOf", "CompanionTo", "source", "chats", "filter", "includes", "length", "at", "AssistantAction", "CreateChat", "invariant", "SpaceAction", "AddObject", "target"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import {
|
|
2
|
+
BLUEPRINT_KEY,
|
|
3
|
+
blueprint_definition_default,
|
|
4
|
+
createBlueprint
|
|
5
|
+
} from "./chunk-OYFQS7JM.mjs";
|
|
6
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
7
|
+
export {
|
|
8
|
+
BLUEPRINT_KEY,
|
|
9
|
+
createBlueprint,
|
|
10
|
+
blueprint_definition_default as default
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=blueprint-definition-CRZPIA5A.mjs.map
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AssistantAction_exports,
|
|
3
|
+
Assistant_exports
|
|
4
|
+
} from "./chunk-SMIVXXAI.mjs";
|
|
5
|
+
import {
|
|
6
|
+
meta
|
|
7
|
+
} from "./chunk-O4LUJEDV.mjs";
|
|
8
|
+
|
|
9
|
+
// src/components/Toolbar/Toolbar.tsx
|
|
10
|
+
import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
|
|
11
|
+
import React from "react";
|
|
12
|
+
import { fullyQualifiedId } from "@dxos/react-client/echo";
|
|
13
|
+
import { MenuProvider, ToolbarMenu } from "@dxos/react-ui-menu";
|
|
14
|
+
|
|
15
|
+
// src/components/Toolbar/useChatToolbarActions.ts
|
|
16
|
+
import { Rx } from "@effect-rx/rx-react";
|
|
17
|
+
import { Effect } from "effect";
|
|
18
|
+
import { useMemo } from "react";
|
|
19
|
+
import { createIntent, useIntentDispatcher } from "@dxos/app-framework";
|
|
20
|
+
import { Filter, Obj, Query } from "@dxos/echo";
|
|
21
|
+
import { invariant } from "@dxos/invariant";
|
|
22
|
+
import { SpaceAction } from "@dxos/plugin-space/types";
|
|
23
|
+
import { getSpace, useQuery } from "@dxos/react-client/echo";
|
|
24
|
+
import { MenuBuilder, useMenuActions } from "@dxos/react-ui-menu";
|
|
25
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-assistant/src/components/Toolbar/useChatToolbarActions.ts";
|
|
26
|
+
var useChatToolbarActions = ({ chat, companionTo, onReset }) => {
|
|
27
|
+
const { dispatch } = useIntentDispatcher();
|
|
28
|
+
const space = getSpace(chat);
|
|
29
|
+
const query = companionTo ? Query.select(Filter.ids(companionTo.id)).targetOf(Assistant_exports.CompanionTo).source() : Query.select(Filter.nothing());
|
|
30
|
+
const chats = useQuery(space, query);
|
|
31
|
+
return useMenuActions(useMemo(() => Rx.make(() => {
|
|
32
|
+
const builder = MenuBuilder.make().root({
|
|
33
|
+
label: [
|
|
34
|
+
"chat toolbar title",
|
|
35
|
+
{
|
|
36
|
+
ns: meta.id
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
}).action("new", {
|
|
40
|
+
label: [
|
|
41
|
+
"button new thread",
|
|
42
|
+
{
|
|
43
|
+
ns: meta.id
|
|
44
|
+
}
|
|
45
|
+
],
|
|
46
|
+
icon: "ph--plus--regular",
|
|
47
|
+
type: "new"
|
|
48
|
+
}, () => Effect.gen(function* () {
|
|
49
|
+
invariant(space, void 0, {
|
|
50
|
+
F: __dxlog_file,
|
|
51
|
+
L: 51,
|
|
52
|
+
S: this,
|
|
53
|
+
A: [
|
|
54
|
+
"space",
|
|
55
|
+
""
|
|
56
|
+
]
|
|
57
|
+
});
|
|
58
|
+
const { object } = yield* dispatch(createIntent(AssistantAction_exports.CreateChat, {
|
|
59
|
+
space
|
|
60
|
+
}));
|
|
61
|
+
yield* dispatch(createIntent(SpaceAction.AddObject, {
|
|
62
|
+
object,
|
|
63
|
+
target: space,
|
|
64
|
+
hidden: true
|
|
65
|
+
}));
|
|
66
|
+
if (companionTo) {
|
|
67
|
+
yield* dispatch(createIntent(SpaceAction.AddRelation, {
|
|
68
|
+
space,
|
|
69
|
+
schema: Assistant_exports.CompanionTo,
|
|
70
|
+
source: object,
|
|
71
|
+
target: companionTo
|
|
72
|
+
}));
|
|
73
|
+
yield* dispatch(createIntent(AssistantAction_exports.SetCurrentChat, {
|
|
74
|
+
companionTo,
|
|
75
|
+
chat: object
|
|
76
|
+
}));
|
|
77
|
+
}
|
|
78
|
+
}).pipe(Effect.runPromise)).action("branch", {
|
|
79
|
+
label: [
|
|
80
|
+
"button branch thread",
|
|
81
|
+
{
|
|
82
|
+
ns: meta.id
|
|
83
|
+
}
|
|
84
|
+
],
|
|
85
|
+
icon: "ph--git-branch--regular",
|
|
86
|
+
type: "branch",
|
|
87
|
+
disabled: true
|
|
88
|
+
}, () => {
|
|
89
|
+
});
|
|
90
|
+
if (chats.length > 0) {
|
|
91
|
+
builder.group("chats", {
|
|
92
|
+
label: [
|
|
93
|
+
"chat history label",
|
|
94
|
+
{
|
|
95
|
+
ns: meta.id
|
|
96
|
+
}
|
|
97
|
+
],
|
|
98
|
+
icon: "ph--clock-counter-clockwise--regular",
|
|
99
|
+
selectCardinality: "single",
|
|
100
|
+
variant: "dropdownMenu"
|
|
101
|
+
}, (builder2) => {
|
|
102
|
+
chats.toSorted((a, b) => a.id.localeCompare(b.id)).forEach((chat2) => {
|
|
103
|
+
builder2.action(chat2.id, {
|
|
104
|
+
label: Obj.getLabel(chat2) ?? [
|
|
105
|
+
"object name placeholder",
|
|
106
|
+
{
|
|
107
|
+
ns: Assistant_exports.Chat.typename
|
|
108
|
+
}
|
|
109
|
+
]
|
|
110
|
+
}, () => Effect.gen(function* () {
|
|
111
|
+
invariant(companionTo, void 0, {
|
|
112
|
+
F: __dxlog_file,
|
|
113
|
+
L: 99,
|
|
114
|
+
S: this,
|
|
115
|
+
A: [
|
|
116
|
+
"companionTo",
|
|
117
|
+
""
|
|
118
|
+
]
|
|
119
|
+
});
|
|
120
|
+
yield* dispatch(createIntent(AssistantAction_exports.SetCurrentChat, {
|
|
121
|
+
companionTo,
|
|
122
|
+
chat: chat2
|
|
123
|
+
}));
|
|
124
|
+
}).pipe(Effect.runPromise));
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
if (onReset) {
|
|
129
|
+
builder.action("reset", {
|
|
130
|
+
label: [
|
|
131
|
+
"button reset",
|
|
132
|
+
{
|
|
133
|
+
ns: meta.id
|
|
134
|
+
}
|
|
135
|
+
],
|
|
136
|
+
icon: "ph--trash--regular",
|
|
137
|
+
type: "reset"
|
|
138
|
+
}, onReset);
|
|
139
|
+
}
|
|
140
|
+
return builder.build();
|
|
141
|
+
}), [
|
|
142
|
+
chats
|
|
143
|
+
]));
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
// src/components/Toolbar/Toolbar.tsx
|
|
147
|
+
var Toolbar = ({ chat, companionTo, onReset }) => {
|
|
148
|
+
var _effect = _useSignals();
|
|
149
|
+
try {
|
|
150
|
+
const menu = useChatToolbarActions({
|
|
151
|
+
chat,
|
|
152
|
+
companionTo,
|
|
153
|
+
onReset
|
|
154
|
+
});
|
|
155
|
+
return /* @__PURE__ */ React.createElement(MenuProvider, {
|
|
156
|
+
...menu,
|
|
157
|
+
attendableId: companionTo ? fullyQualifiedId(companionTo) : fullyQualifiedId(chat)
|
|
158
|
+
}, /* @__PURE__ */ React.createElement(ToolbarMenu, null));
|
|
159
|
+
} finally {
|
|
160
|
+
_effect.f();
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
export {
|
|
165
|
+
Toolbar
|
|
166
|
+
};
|
|
167
|
+
//# sourceMappingURL=chunk-6QMISAU6.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/Toolbar/Toolbar.tsx", "../../../src/components/Toolbar/useChatToolbarActions.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { fullyQualifiedId } from '@dxos/react-client/echo';\nimport { MenuProvider, ToolbarMenu } from '@dxos/react-ui-menu';\n\nimport { type ChatToolbarActionsProps, useChatToolbarActions } from './useChatToolbarActions';\n\nexport const Toolbar = ({ chat, companionTo, onReset }: ChatToolbarActionsProps) => {\n const menu = useChatToolbarActions({ chat, companionTo, onReset });\n\n return (\n <MenuProvider {...menu} attendableId={companionTo ? fullyQualifiedId(companionTo) : fullyQualifiedId(chat)}>\n <ToolbarMenu />\n </MenuProvider>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Rx } from '@effect-rx/rx-react';\nimport { Effect } from 'effect';\nimport { useMemo } from 'react';\n\nimport { createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { Filter, Obj, Query } from '@dxos/echo';\nimport { invariant } from '@dxos/invariant';\nimport { SpaceAction } from '@dxos/plugin-space/types';\nimport { getSpace, useQuery } from '@dxos/react-client/echo';\nimport { MenuBuilder, useMenuActions } from '@dxos/react-ui-menu';\n\nimport { meta } from '../../meta';\nimport { Assistant, AssistantAction } from '../../types';\n\nexport type ChatToolbarActionsProps = {\n chat: Assistant.Chat;\n companionTo?: Obj.Any;\n onReset?: () => void;\n};\n\nexport const useChatToolbarActions = ({ chat, companionTo, onReset }: ChatToolbarActionsProps) => {\n const { dispatch } = useIntentDispatcher();\n const space = getSpace(chat);\n const query = companionTo\n ? Query.select(Filter.ids(companionTo.id)).targetOf(Assistant.CompanionTo).source()\n : Query.select(Filter.nothing());\n // TODO(wittjosiah): Query in react vs query in rx?\n const chats = useQuery(space, query);\n\n return useMenuActions(\n useMemo(\n () =>\n Rx.make(() => {\n const builder = MenuBuilder.make()\n .root({\n label: ['chat toolbar title', { ns: meta.id }],\n })\n .action(\n 'new',\n {\n label: ['button new thread', { ns: meta.id }],\n icon: 'ph--plus--regular',\n type: 'new',\n },\n () =>\n Effect.gen(function* () {\n invariant(space);\n const { object } = yield* dispatch(createIntent(AssistantAction.CreateChat, { space }));\n yield* dispatch(createIntent(SpaceAction.AddObject, { object, target: space, hidden: true }));\n if (companionTo) {\n yield* dispatch(\n createIntent(SpaceAction.AddRelation, {\n space,\n schema: Assistant.CompanionTo,\n source: object,\n target: companionTo,\n }),\n );\n yield* dispatch(createIntent(AssistantAction.SetCurrentChat, { companionTo, chat: object }));\n }\n }).pipe(Effect.runPromise),\n )\n .action(\n 'branch',\n {\n label: ['button branch thread', { ns: meta.id }],\n icon: 'ph--git-branch--regular',\n type: 'branch',\n disabled: true,\n },\n () => {},\n );\n\n if (chats.length > 0) {\n builder.group(\n 'chats',\n {\n label: ['chat history label', { ns: meta.id }],\n icon: 'ph--clock-counter-clockwise--regular',\n selectCardinality: 'single',\n variant: 'dropdownMenu',\n },\n (builder) => {\n chats\n // TODO(wittjosiah): This should be the default sort order.\n .toSorted((a, b) => a.id.localeCompare(b.id))\n .forEach((chat) => {\n builder.action(\n chat.id,\n {\n label: Obj.getLabel(chat) ?? ['object name placeholder', { ns: Assistant.Chat.typename }],\n },\n () =>\n Effect.gen(function* () {\n invariant(companionTo);\n yield* dispatch(createIntent(AssistantAction.SetCurrentChat, { companionTo, chat }));\n }).pipe(Effect.runPromise),\n );\n });\n },\n );\n }\n\n if (onReset) {\n builder.action(\n 'reset',\n {\n label: ['button reset', { ns: meta.id }],\n icon: 'ph--trash--regular',\n type: 'reset',\n },\n onReset,\n );\n }\n\n return builder.build();\n }),\n [chats],\n ),\n );\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["React", "fullyQualifiedId", "MenuProvider", "ToolbarMenu", "Rx", "Effect", "useMemo", "createIntent", "useIntentDispatcher", "Filter", "Obj", "Query", "invariant", "SpaceAction", "getSpace", "useQuery", "MenuBuilder", "useMenuActions", "useChatToolbarActions", "chat", "companionTo", "onReset", "dispatch", "useIntentDispatcher", "space", "getSpace", "query", "Query", "select", "Filter", "ids", "id", "targetOf", "Assistant", "CompanionTo", "source", "nothing", "chats", "useQuery", "useMenuActions", "useMemo", "Rx", "make", "builder", "MenuBuilder", "root", "label", "ns", "meta", "action", "icon", "type", "Effect", "gen", "invariant", "object", "createIntent", "AssistantAction", "CreateChat", "SpaceAction", "AddObject", "target", "hidden", "AddRelation", "schema", "SetCurrentChat", "pipe", "runPromise", "disabled", "length", "group", "selectCardinality", "variant", "toSorted", "a", "b", "localeCompare", "forEach", "Obj", "getLabel", "Chat", "typename", "build", "Toolbar", "chat", "companionTo", "onReset", "menu", "useChatToolbarActions", "MenuProvider", "attendableId", "fullyQualifiedId", "ToolbarMenu"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import {
|
|
2
|
+
useExecutionGraph
|
|
3
|
+
} from "./chunk-XL557TXF.mjs";
|
|
4
|
+
import {
|
|
5
|
+
LLM_PROVIDERS
|
|
6
|
+
} from "./chunk-SMIVXXAI.mjs";
|
|
7
|
+
import {
|
|
8
|
+
meta
|
|
9
|
+
} from "./chunk-O4LUJEDV.mjs";
|
|
10
|
+
|
|
11
|
+
// src/components/AssistantSettings/AssistantSettings.tsx
|
|
12
|
+
import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
|
|
13
|
+
import React from "react";
|
|
14
|
+
import { DEFAULT_EDGE_MODELS, DEFAULT_OLLAMA_MODELS } from "@dxos/ai";
|
|
15
|
+
import { Input, Select, useTranslation } from "@dxos/react-ui";
|
|
16
|
+
import { ControlGroup, ControlItemInput, ControlPage, ControlSection } from "@dxos/react-ui-form";
|
|
17
|
+
var DEFAULT_VALUE = "__default";
|
|
18
|
+
var LLM_PROVIDER_LABELS = {
|
|
19
|
+
edge: "DXOS",
|
|
20
|
+
ollama: "Ollama",
|
|
21
|
+
lmstudio: "LM Studio"
|
|
22
|
+
};
|
|
23
|
+
var AssistantSettings = ({ settings }) => {
|
|
24
|
+
var _effect = _useSignals();
|
|
25
|
+
try {
|
|
26
|
+
const { t } = useTranslation(meta.id);
|
|
27
|
+
return /* @__PURE__ */ React.createElement(ControlPage, null, /* @__PURE__ */ React.createElement(ControlSection, {
|
|
28
|
+
title: t("settings title", {
|
|
29
|
+
ns: meta.id
|
|
30
|
+
})
|
|
31
|
+
}, /* @__PURE__ */ React.createElement(ControlGroup, null, /* @__PURE__ */ React.createElement(ControlItemInput, {
|
|
32
|
+
title: t("settings custom prompts label")
|
|
33
|
+
}, /* @__PURE__ */ React.createElement(Input.Switch, {
|
|
34
|
+
checked: !!settings.customPrompts,
|
|
35
|
+
onCheckedChange: (checked) => settings.customPrompts = checked
|
|
36
|
+
})), /* @__PURE__ */ React.createElement(ControlItemInput, {
|
|
37
|
+
title: t("settings llm provider label")
|
|
38
|
+
}, /* @__PURE__ */ React.createElement(Select.Root, {
|
|
39
|
+
value: settings.llmProvider ?? "edge",
|
|
40
|
+
onValueChange: (value) => {
|
|
41
|
+
settings.llmProvider = value === DEFAULT_VALUE ? void 0 : value;
|
|
42
|
+
}
|
|
43
|
+
}, /* @__PURE__ */ React.createElement(Select.TriggerButton, {
|
|
44
|
+
placeholder: t("settings llm provider label")
|
|
45
|
+
}), /* @__PURE__ */ React.createElement(Select.Portal, null, /* @__PURE__ */ React.createElement(Select.Content, null, /* @__PURE__ */ React.createElement(Select.Viewport, null, /* @__PURE__ */ React.createElement(Select.Option, {
|
|
46
|
+
value: DEFAULT_VALUE
|
|
47
|
+
}, t("settings default label")), LLM_PROVIDERS.map((model) => /* @__PURE__ */ React.createElement(Select.Option, {
|
|
48
|
+
key: model,
|
|
49
|
+
value: model
|
|
50
|
+
}, LLM_PROVIDER_LABELS[model]))), /* @__PURE__ */ React.createElement(Select.Arrow, null))))), /* @__PURE__ */ React.createElement(ControlItemInput, {
|
|
51
|
+
title: t("settings edge llm model label")
|
|
52
|
+
}, /* @__PURE__ */ React.createElement(Select.Root, {
|
|
53
|
+
value: settings.edgeModel ?? DEFAULT_VALUE,
|
|
54
|
+
onValueChange: (value) => {
|
|
55
|
+
settings.edgeModel = value === DEFAULT_VALUE ? void 0 : value;
|
|
56
|
+
}
|
|
57
|
+
}, /* @__PURE__ */ React.createElement(Select.TriggerButton, {
|
|
58
|
+
placeholder: t("settings default llm model label")
|
|
59
|
+
}), /* @__PURE__ */ React.createElement(Select.Portal, null, /* @__PURE__ */ React.createElement(Select.Content, null, /* @__PURE__ */ React.createElement(Select.Viewport, null, /* @__PURE__ */ React.createElement(Select.Option, {
|
|
60
|
+
value: DEFAULT_VALUE
|
|
61
|
+
}, t("settings default label")), DEFAULT_EDGE_MODELS.map((model) => /* @__PURE__ */ React.createElement(Select.Option, {
|
|
62
|
+
key: model,
|
|
63
|
+
value: model
|
|
64
|
+
}, model))), /* @__PURE__ */ React.createElement(Select.Arrow, null))))), /* @__PURE__ */ React.createElement(ControlItemInput, {
|
|
65
|
+
title: t("settings ollama llm model label")
|
|
66
|
+
}, /* @__PURE__ */ React.createElement(Select.Root, {
|
|
67
|
+
value: settings.ollamaModel ?? DEFAULT_VALUE,
|
|
68
|
+
onValueChange: (value) => {
|
|
69
|
+
settings.ollamaModel = value === DEFAULT_VALUE ? void 0 : value;
|
|
70
|
+
}
|
|
71
|
+
}, /* @__PURE__ */ React.createElement(Select.TriggerButton, {
|
|
72
|
+
placeholder: t("settings default llm model label")
|
|
73
|
+
}), /* @__PURE__ */ React.createElement(Select.Portal, null, /* @__PURE__ */ React.createElement(Select.Content, null, /* @__PURE__ */ React.createElement(Select.Viewport, null, /* @__PURE__ */ React.createElement(Select.Option, {
|
|
74
|
+
value: DEFAULT_VALUE
|
|
75
|
+
}, t("settings default label")), DEFAULT_OLLAMA_MODELS.map((model) => /* @__PURE__ */ React.createElement(Select.Option, {
|
|
76
|
+
key: model,
|
|
77
|
+
value: model
|
|
78
|
+
}, model))), /* @__PURE__ */ React.createElement(Select.Arrow, null))))))));
|
|
79
|
+
} finally {
|
|
80
|
+
_effect.f();
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
// src/components/ChatProgress/ChatProgress.tsx
|
|
85
|
+
import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
|
|
86
|
+
import React2, { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
87
|
+
import { addEventListener } from "@dxos/async";
|
|
88
|
+
import { Flex, ProgressBar, TextCrawl } from "@dxos/react-ui-components";
|
|
89
|
+
var ChatProgress = ({ chat }) => {
|
|
90
|
+
var _effect = _useSignals2();
|
|
91
|
+
try {
|
|
92
|
+
const { commits } = useExecutionGraph(chat.traceQueue, true);
|
|
93
|
+
const nodes = useMemo(() => commits.map((commit) => ({
|
|
94
|
+
id: commit.id,
|
|
95
|
+
message: commit.message
|
|
96
|
+
})), [
|
|
97
|
+
commits
|
|
98
|
+
]);
|
|
99
|
+
const lines = useMemo(() => commits.map((commit) => commit.message), [
|
|
100
|
+
commits
|
|
101
|
+
]);
|
|
102
|
+
const [index, setIndex] = useState(void 0);
|
|
103
|
+
const handleSelect = useCallback(({ index: index2 }) => {
|
|
104
|
+
setIndex((current) => {
|
|
105
|
+
return current === index2 ? void 0 : index2;
|
|
106
|
+
});
|
|
107
|
+
}, []);
|
|
108
|
+
const ref = useRef(null);
|
|
109
|
+
useEffect(() => {
|
|
110
|
+
if (!ref.current) {
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
return addEventListener(ref.current, "keydown", (event) => {
|
|
114
|
+
switch (event.key) {
|
|
115
|
+
case "ArrowLeft": {
|
|
116
|
+
setIndex((current) => current === void 0 || current <= 0 ? 0 : current - 1);
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
case "ArrowRight": {
|
|
120
|
+
setIndex((current) => current === void 0 || current >= nodes.length ? nodes.length - 1 : current + 1);
|
|
121
|
+
break;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
}, [
|
|
126
|
+
nodes.length
|
|
127
|
+
]);
|
|
128
|
+
return /* @__PURE__ */ React2.createElement(Flex, {
|
|
129
|
+
column: true,
|
|
130
|
+
tabIndex: 0,
|
|
131
|
+
ref,
|
|
132
|
+
classNames: "outline-none"
|
|
133
|
+
}, /* @__PURE__ */ React2.createElement(ProgressBar, {
|
|
134
|
+
nodes,
|
|
135
|
+
index,
|
|
136
|
+
onSelect: handleSelect
|
|
137
|
+
}), /* @__PURE__ */ React2.createElement(TextCrawl, {
|
|
138
|
+
lines,
|
|
139
|
+
index,
|
|
140
|
+
autoAdvance: true,
|
|
141
|
+
classNames: "pis-4 text-sm text-subdued"
|
|
142
|
+
}));
|
|
143
|
+
} finally {
|
|
144
|
+
_effect.f();
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
// src/components/PromptSettings.tsx
|
|
149
|
+
import { useSignals as _useSignals3 } from "@preact-signals/safe-react/tracking";
|
|
150
|
+
import React3 from "react";
|
|
151
|
+
import { Toolbar, useTranslation as useTranslation2 } from "@dxos/react-ui";
|
|
152
|
+
var PromptSettings = ({ template }) => {
|
|
153
|
+
var _effect = _useSignals3();
|
|
154
|
+
try {
|
|
155
|
+
const { t } = useTranslation2(meta.id);
|
|
156
|
+
return /* @__PURE__ */ React3.createElement("div", {
|
|
157
|
+
className: "flex flex-col gap-4"
|
|
158
|
+
}, /* @__PURE__ */ React3.createElement("h2", null, t("prompt rules label")), /* @__PURE__ */ React3.createElement(Toolbar.Root, null));
|
|
159
|
+
} finally {
|
|
160
|
+
_effect.f();
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
// src/components/index.ts
|
|
165
|
+
import { lazy } from "react";
|
|
166
|
+
var BlueprintContainer = lazy(() => import("./BlueprintContainer-OWUSKPRK.mjs"));
|
|
167
|
+
var ChatCompanion = lazy(() => import("./ChatCompanion-FRCVSLPP.mjs"));
|
|
168
|
+
var ChatContainer = lazy(() => import("./ChatContainer-YBJBIVUZ.mjs"));
|
|
169
|
+
var ChatDialog = lazy(() => import("./ChatDialog-MTPJLEHM.mjs"));
|
|
170
|
+
var SequenceContainer = lazy(() => import("./SequenceContainer-TF5QNXYM.mjs"));
|
|
171
|
+
|
|
172
|
+
export {
|
|
173
|
+
AssistantSettings,
|
|
174
|
+
ChatProgress,
|
|
175
|
+
PromptSettings,
|
|
176
|
+
BlueprintContainer,
|
|
177
|
+
ChatCompanion,
|
|
178
|
+
ChatContainer,
|
|
179
|
+
ChatDialog,
|
|
180
|
+
SequenceContainer
|
|
181
|
+
};
|
|
182
|
+
//# sourceMappingURL=chunk-CFXXQM25.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/AssistantSettings/AssistantSettings.tsx", "../../../src/components/ChatProgress/ChatProgress.tsx", "../../../src/components/PromptSettings.tsx", "../../../src/components/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { DEFAULT_EDGE_MODELS, DEFAULT_OLLAMA_MODELS } from '@dxos/ai';\nimport { Input, Select, useTranslation } from '@dxos/react-ui';\nimport { ControlGroup, ControlItemInput, ControlPage, ControlSection } from '@dxos/react-ui-form';\n\nimport { meta } from '../../meta';\nimport { type Assistant, LLM_PROVIDERS } from '../../types';\n\n// TODO(burdon): Factor out default Selector.\nconst DEFAULT_VALUE = '__default';\n\nconst LLM_PROVIDER_LABELS = {\n edge: 'DXOS',\n ollama: 'Ollama',\n lmstudio: 'LM Studio',\n} as const;\n\nexport const AssistantSettings = ({ settings }: { settings: Assistant.Settings }) => {\n const { t } = useTranslation(meta.id);\n\n return (\n <ControlPage>\n <ControlSection title={t('settings title', { ns: meta.id })}>\n <ControlGroup>\n <ControlItemInput title={t('settings custom prompts label')}>\n <Input.Switch\n checked={!!settings.customPrompts}\n onCheckedChange={(checked) => (settings.customPrompts = checked)}\n />\n </ControlItemInput>\n\n <ControlItemInput title={t('settings llm provider label')}>\n <Select.Root\n value={settings.llmProvider ?? 'edge'}\n onValueChange={(value) => {\n settings.llmProvider = value === DEFAULT_VALUE ? undefined : (value as any);\n }}\n >\n <Select.TriggerButton placeholder={t('settings llm provider label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n <Select.Option value={DEFAULT_VALUE}>{t('settings default label')}</Select.Option>\n {LLM_PROVIDERS.map((model) => (\n <Select.Option key={model} value={model}>\n {LLM_PROVIDER_LABELS[model]}\n </Select.Option>\n ))}\n </Select.Viewport>\n <Select.Arrow />\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </ControlItemInput>\n\n <ControlItemInput title={t('settings edge llm model label')}>\n <Select.Root\n value={settings.edgeModel ?? DEFAULT_VALUE}\n onValueChange={(value) => {\n settings.edgeModel = value === DEFAULT_VALUE ? undefined : value;\n }}\n >\n <Select.TriggerButton placeholder={t('settings default llm model label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n <Select.Option value={DEFAULT_VALUE}>{t('settings default label')}</Select.Option>\n {DEFAULT_EDGE_MODELS.map((model) => (\n <Select.Option key={model} value={model}>\n {model}\n </Select.Option>\n ))}\n </Select.Viewport>\n <Select.Arrow />\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </ControlItemInput>\n\n <ControlItemInput title={t('settings ollama llm model label')}>\n <Select.Root\n value={settings.ollamaModel ?? DEFAULT_VALUE}\n onValueChange={(value) => {\n settings.ollamaModel = value === DEFAULT_VALUE ? undefined : value;\n }}\n >\n <Select.TriggerButton placeholder={t('settings default llm model label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n <Select.Option value={DEFAULT_VALUE}>{t('settings default label')}</Select.Option>\n {DEFAULT_OLLAMA_MODELS.map((model) => (\n <Select.Option key={model} value={model}>\n {model}\n </Select.Option>\n ))}\n </Select.Viewport>\n <Select.Arrow />\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </ControlItemInput>\n </ControlGroup>\n </ControlSection>\n </ControlPage>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { addEventListener } from '@dxos/async';\nimport { Flex, ProgressBar, type ProgressBarProps, TextCrawl } from '@dxos/react-ui-components';\n\nimport { useExecutionGraph } from '../../hooks';\nimport { type Assistant } from '../../types';\n\n// TODO(burdon): Reset after each session.\n// TODO(burdon): Show after delay.\n// TODO(burdon): Test with errors.\n// TODO(burdon): Filter out empty trace messages.\n\n// {\n// \"id\": \"01K3TE3C2VAXETP500QKDHK3C4_block_3\",\n// \"branch\": \"main\",\n// \"parents\": [],\n// \"icon\": \"ph--robot--regular\",\n// \"message\": \"\\n\"\n// }\n\nexport type ChatProgressProps = {\n chat: Assistant.Chat;\n};\n\nexport const ChatProgress = ({ chat }: ChatProgressProps) => {\n const { commits } = useExecutionGraph(chat.traceQueue, true);\n const nodes = useMemo(() => commits.map((commit) => ({ id: commit.id, message: commit.message })), [commits]);\n const lines = useMemo(() => commits.map((commit) => commit.message), [commits]);\n\n const [index, setIndex] = useState<number | undefined>(undefined);\n const handleSelect = useCallback<NonNullable<ProgressBarProps['onSelect']>>(({ index }) => {\n setIndex((current) => {\n return current === index ? undefined : index;\n });\n }, []);\n\n const ref = useRef<HTMLDivElement>(null);\n useEffect(() => {\n if (!ref.current) {\n return;\n }\n\n return addEventListener(ref.current, 'keydown', (event) => {\n switch (event.key) {\n case 'ArrowLeft': {\n setIndex((current) => (current === undefined || current <= 0 ? 0 : current - 1));\n break;\n }\n case 'ArrowRight': {\n setIndex((current) => (current === undefined || current >= nodes.length ? nodes.length - 1 : current + 1));\n break;\n }\n }\n });\n }, [nodes.length]);\n\n return (\n <Flex column tabIndex={0} ref={ref} classNames='outline-none'>\n <ProgressBar nodes={nodes} index={index} onSelect={handleSelect} />\n <TextCrawl lines={lines} index={index} autoAdvance classNames='pis-4 text-sm text-subdued' />\n </Flex>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type Template } from '@dxos/blueprints';\nimport { Toolbar, useTranslation } from '@dxos/react-ui';\n\nimport { meta } from '../meta';\n\nexport const PromptSettings = ({ template }: { template: Template.Template }) => {\n const { t } = useTranslation(meta.id);\n\n // const handleKindChange = useCallback(\n // (value: string) => {\n // const kind = Match.type<string>().pipe(\n // Match.withReturnType<Schema.Schema.Type<typeof Template.Template>>(),\n // Match.when('always', () => ({ include: 'always' })),\n // Match.when('schema-matching', () => ({ include: 'schema-matching', typename: '' })),\n // Match.when('automatically', () => ({ include: 'automatically', description: '' })),\n // Match.orElse(() => ({ include: 'manual' })),\n // )(value);\n //\n // template.kind = kind;\n // },\n // [template],\n // );\n\n // const handleTypenameChange = useCallback(\n // debounce((event: ChangeEvent<HTMLInputElement>) => {\n // if (template.kind.include === 'schema-matching') {\n // template.kind.typename = event.target.value;\n // }\n // }, 300),\n // [template.kind.include],\n // );\n\n // const handleDescriptionChange = useCallback(\n // debounce((event: ChangeEvent<HTMLInputElement>) => {\n // if (template.kind.include === 'automatically') {\n // template.kind.description = event.target.value;\n // }\n // }, 300),\n // [template.kind.include],\n // );\n\n return (\n <div className='flex flex-col gap-4'>\n <h2>{t('prompt rules label')}</h2>\n <Toolbar.Root>\n {/* <Select.Root value={template.kind.include} onValueChange={handleKindChange}>\n <Toolbar.Button asChild>\n <Select.TriggerButton />\n </Toolbar.Button>\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {Template.Kinds.map((kind) => (\n <Select.Option key={kind} value={kind}>\n {kind}\n </Select.Option>\n ))}\n </Select.Viewport>\n <Select.Arrow />\n </Select.Content>\n </Select.Portal>\n </Select.Root> */}\n {/* {template.kind.include === 'schema-matching' && (\n <Input.Root>\n <Input.TextInput\n placeholder={t('typename placeholder')}\n defaultValue={template.kind.typename}\n onChange={handleTypenameChange}\n />\n </Input.Root>\n )} */}\n {/* {template.kind.include === 'automatically' && (\n <Input.Root>\n <Input.TextInput\n placeholder={t('description placeholder')}\n defaultValue={template.kind.description}\n onChange={handleDescriptionChange}\n />\n </Input.Root>\n )} */}\n </Toolbar.Root>\n </div>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport * from './AssistantSettings';\nexport * from './Chat';\nexport * from './ChatProgress';\nexport * from './PromptSettings';\nexport * from './TemplateEditor';\nexport * from './Toolbar';\nexport * from './Toolbox';\n\nexport const BlueprintContainer = lazy(() => import('./BlueprintContainer'));\nexport const ChatCompanion = lazy(() => import('./ChatCompanion'));\nexport const ChatContainer = lazy(() => import('./ChatContainer'));\nexport const ChatDialog = lazy(() => import('./ChatDialog'));\nexport const SequenceContainer = lazy(() => import('./SequenceContainer'));\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["React", "DEFAULT_EDGE_MODELS", "DEFAULT_OLLAMA_MODELS", "Input", "Select", "useTranslation", "ControlGroup", "ControlItemInput", "ControlPage", "ControlSection", "DEFAULT_VALUE", "LLM_PROVIDER_LABELS", "edge", "ollama", "lmstudio", "AssistantSettings", "settings", "t", "useTranslation", "meta", "id", "ControlPage", "ControlSection", "title", "ns", "ControlGroup", "ControlItemInput", "Input", "Switch", "checked", "customPrompts", "onCheckedChange", "Select", "Root", "value", "llmProvider", "onValueChange", "undefined", "TriggerButton", "placeholder", "Portal", "Content", "Viewport", "Option", "LLM_PROVIDERS", "map", "model", "key", "Arrow", "edgeModel", "DEFAULT_EDGE_MODELS", "ollamaModel", "DEFAULT_OLLAMA_MODELS", "React", "useCallback", "useEffect", "useMemo", "useRef", "useState", "addEventListener", "Flex", "ProgressBar", "TextCrawl", "ChatProgress", "chat", "commits", "useExecutionGraph", "traceQueue", "nodes", "useMemo", "map", "commit", "id", "message", "lines", "index", "setIndex", "useState", "undefined", "handleSelect", "useCallback", "current", "ref", "useRef", "useEffect", "addEventListener", "event", "key", "length", "React", "Flex", "column", "tabIndex", "classNames", "ProgressBar", "onSelect", "TextCrawl", "autoAdvance", "React", "Toolbar", "useTranslation", "PromptSettings", "template", "t", "useTranslation", "meta", "id", "React", "div", "className", "h2", "Toolbar", "Root", "lazy", "BlueprintContainer", "lazy", "ChatCompanion", "ChatContainer", "ChatDialog", "SequenceContainer"]
|
|
7
|
+
}
|