@dxos/plugin-assistant 0.8.2-staging.7ac8446 → 0.8.3-main.672df60
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/AssistantDialog-UAZSN6GT.mjs +46 -0
- package/dist/lib/browser/AssistantDialog-UAZSN6GT.mjs.map +7 -0
- package/dist/lib/browser/BlueprintEditor-DGV4KJDM.mjs +45 -0
- package/dist/lib/browser/BlueprintEditor-DGV4KJDM.mjs.map +7 -0
- package/dist/lib/browser/ChatContainer-UTN3AO5U.mjs +39 -0
- package/dist/lib/browser/ChatContainer-UTN3AO5U.mjs.map +7 -0
- package/dist/lib/browser/TemplateContainer-AKUYL4AV.mjs +28 -0
- package/dist/lib/browser/TemplateContainer-AKUYL4AV.mjs.map +7 -0
- package/dist/lib/browser/{ai-client-CDZLSNXE.mjs → ai-client-COXVUC6V.mjs} +6 -6
- package/dist/lib/browser/ai-client-COXVUC6V.mjs.map +7 -0
- package/dist/lib/browser/app-graph-builder-56OZ5RW4.mjs +206 -0
- package/dist/lib/browser/app-graph-builder-56OZ5RW4.mjs.map +7 -0
- package/dist/lib/browser/{chunk-TXJWGWJ7.mjs → chunk-3F44MBHU.mjs} +3 -3
- package/dist/lib/browser/chunk-3F44MBHU.mjs.map +7 -0
- package/dist/lib/browser/chunk-6SD7S7W5.mjs +157 -0
- package/dist/lib/browser/chunk-6SD7S7W5.mjs.map +7 -0
- package/dist/lib/browser/chunk-JQFUME3B.mjs +87 -0
- package/dist/lib/{node-esm/chunk-PBZA7XJR.mjs.map → browser/chunk-JQFUME3B.mjs.map} +1 -1
- package/dist/lib/browser/chunk-NBSPGIHL.mjs +206 -0
- package/dist/lib/browser/chunk-NBSPGIHL.mjs.map +7 -0
- package/dist/lib/browser/chunk-Q6UZ4F3H.mjs +96 -0
- package/dist/lib/browser/chunk-Q6UZ4F3H.mjs.map +7 -0
- package/dist/lib/browser/{chunk-FMB7RGMP.mjs → chunk-Q6XE3O3E.mjs} +1714 -1536
- package/dist/lib/browser/chunk-Q6XE3O3E.mjs.map +7 -0
- package/dist/lib/browser/{chunk-3HCI5FIL.mjs → chunk-XOZ7YMO3.mjs} +3 -3
- package/dist/lib/browser/{chunk-3HCI5FIL.mjs.map → chunk-XOZ7YMO3.mjs.map} +1 -1
- package/dist/lib/browser/index.mjs +47 -23
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/intent-resolver-GWELYIX2.mjs +39 -0
- package/dist/lib/browser/intent-resolver-GWELYIX2.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/react-surface-DGS34EON.mjs +144 -0
- package/dist/lib/browser/react-surface-DGS34EON.mjs.map +7 -0
- package/dist/lib/browser/{settings-U6UFQX32.mjs → settings-BTFB7IQ6.mjs} +5 -5
- package/dist/lib/browser/settings-BTFB7IQ6.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +6 -2
- package/dist/lib/node/AssistantDialog-RTB5Q7FP.cjs +72 -0
- package/dist/lib/node/AssistantDialog-RTB5Q7FP.cjs.map +7 -0
- package/dist/lib/node/BlueprintEditor-43VM3XPO.cjs +72 -0
- package/dist/lib/node/BlueprintEditor-43VM3XPO.cjs.map +7 -0
- package/dist/lib/node/{ChatContainer-ZJ5JXF6A.cjs → ChatContainer-P3JL4VZ7.cjs} +25 -19
- package/dist/lib/node/ChatContainer-P3JL4VZ7.cjs.map +7 -0
- package/dist/lib/node/TemplateContainer-CTG2MB4W.cjs +58 -0
- package/dist/lib/node/TemplateContainer-CTG2MB4W.cjs.map +7 -0
- package/dist/lib/node/{ai-client-URCCYU6B.cjs → ai-client-R2CGEYZW.cjs} +13 -13
- package/dist/lib/node/ai-client-R2CGEYZW.cjs.map +7 -0
- package/dist/lib/node/app-graph-builder-QLF353LH.cjs +216 -0
- package/dist/lib/node/app-graph-builder-QLF353LH.cjs.map +7 -0
- package/dist/lib/node/{chunk-XI2ARIEO.cjs → chunk-4EEWTDQK.cjs} +45 -39
- package/dist/lib/node/{chunk-XI2ARIEO.cjs.map → chunk-4EEWTDQK.cjs.map} +1 -1
- package/dist/lib/node/chunk-BWL5A3O5.cjs +184 -0
- package/dist/lib/node/chunk-BWL5A3O5.cjs.map +7 -0
- package/dist/lib/node/chunk-HRNIUYVQ.cjs +128 -0
- package/dist/lib/node/chunk-HRNIUYVQ.cjs.map +7 -0
- package/dist/lib/node/{chunk-Q5XWEMHB.cjs → chunk-P74TWGMG.cjs} +6 -6
- package/dist/lib/node/{chunk-Q5XWEMHB.cjs.map → chunk-P74TWGMG.cjs.map} +1 -1
- package/dist/lib/node/{chunk-RPBKMP2E.cjs → chunk-PG7YNQ4R.cjs} +1523 -1338
- package/dist/lib/node/chunk-PG7YNQ4R.cjs.map +7 -0
- package/dist/lib/node/{chunk-GBUNQ257.cjs → chunk-TS3H5OSX.cjs} +7 -7
- package/dist/lib/node/chunk-TS3H5OSX.cjs.map +7 -0
- package/dist/lib/node/chunk-UNVDZOLA.cjs +231 -0
- package/dist/lib/node/chunk-UNVDZOLA.cjs.map +7 -0
- package/dist/lib/node/index.cjs +88 -65
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/{intent-resolver-R3OSTIMH.cjs → intent-resolver-U7663JU7.cjs} +15 -21
- package/dist/lib/node/intent-resolver-U7663JU7.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/react-surface-QXZTILW6.cjs +157 -0
- package/dist/lib/node/react-surface-QXZTILW6.cjs.map +7 -0
- package/dist/lib/node/{settings-TXGRCYAL.cjs → settings-LBJMT6YB.cjs} +9 -9
- package/dist/lib/node/settings-LBJMT6YB.cjs.map +7 -0
- package/dist/lib/node/types/index.cjs +17 -13
- package/dist/lib/node/types/index.cjs.map +2 -2
- package/dist/lib/node-esm/AssistantDialog-DONAO6SA.mjs +47 -0
- package/dist/lib/node-esm/AssistantDialog-DONAO6SA.mjs.map +7 -0
- package/dist/lib/node-esm/BlueprintEditor-CTARB2FO.mjs +47 -0
- package/dist/lib/node-esm/BlueprintEditor-CTARB2FO.mjs.map +7 -0
- package/dist/lib/node-esm/ChatContainer-FVIGCDIG.mjs +40 -0
- package/dist/lib/node-esm/ChatContainer-FVIGCDIG.mjs.map +7 -0
- package/dist/lib/node-esm/TemplateContainer-IVDQ4XQG.mjs +29 -0
- package/dist/lib/node-esm/TemplateContainer-IVDQ4XQG.mjs.map +7 -0
- package/dist/lib/node-esm/{ai-client-WMHS5EGV.mjs → ai-client-I5LXHMOZ.mjs} +6 -6
- package/dist/lib/node-esm/ai-client-I5LXHMOZ.mjs.map +7 -0
- package/dist/lib/node-esm/app-graph-builder-5YX5TKKT.mjs +207 -0
- package/dist/lib/node-esm/app-graph-builder-5YX5TKKT.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-ECRK6TUQ.mjs → chunk-BB2TAT4P.mjs} +3 -3
- package/dist/lib/node-esm/{chunk-ECRK6TUQ.mjs.map → chunk-BB2TAT4P.mjs.map} +1 -1
- package/dist/lib/node-esm/chunk-CDAILLCU.mjs +98 -0
- package/dist/lib/node-esm/chunk-CDAILLCU.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-GJE4WCUJ.mjs +158 -0
- package/dist/lib/node-esm/chunk-GJE4WCUJ.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-6JK5HEUQ.mjs → chunk-HLPGKJ7N.mjs} +3 -3
- package/dist/lib/node-esm/chunk-HLPGKJ7N.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-MVDAY3CZ.mjs → chunk-MNH6E6EB.mjs} +1714 -1536
- package/dist/lib/node-esm/chunk-MNH6E6EB.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-PBZA7XJR.mjs → chunk-OYN6HLXZ.mjs} +42 -36
- package/dist/lib/{browser/chunk-NFUHCW2J.mjs.map → node-esm/chunk-OYN6HLXZ.mjs.map} +1 -1
- package/dist/lib/node-esm/chunk-TQYSF2GS.mjs +207 -0
- package/dist/lib/node-esm/chunk-TQYSF2GS.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +47 -23
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/intent-resolver-N5TM3RTL.mjs +40 -0
- package/dist/lib/node-esm/intent-resolver-N5TM3RTL.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/react-surface-FTKGQQD2.mjs +145 -0
- package/dist/lib/node-esm/react-surface-FTKGQQD2.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-DZU5PNXM.mjs → settings-TGCCAH5D.mjs} +5 -5
- package/dist/lib/node-esm/settings-TGCCAH5D.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +6 -2
- package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/ai-client.d.ts +3 -3
- package/dist/types/src/capabilities/ai-client.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts +2 -179
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +3 -179
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/components/AmbientDialog/AmbientDialog.d.ts +3 -1
- package/dist/types/src/components/AmbientDialog/AmbientDialog.d.ts.map +1 -1
- package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +1 -1
- package/dist/types/src/components/BlueprintEditor/BlueprintEditor.d.ts +8 -0
- package/dist/types/src/components/BlueprintEditor/BlueprintEditor.d.ts.map +1 -0
- package/dist/types/src/components/BlueprintEditor/BlueprintEditor.stories.d.ts +8 -0
- package/dist/types/src/components/BlueprintEditor/BlueprintEditor.stories.d.ts.map +1 -0
- package/dist/types/src/components/BlueprintEditor/index.d.ts +3 -0
- package/dist/types/src/components/BlueprintEditor/index.d.ts.map +1 -0
- package/dist/types/src/components/ChatContainer.d.ts +4 -3
- package/dist/types/src/components/ChatContainer.d.ts.map +1 -1
- package/dist/types/src/components/Prompt/Prompt.d.ts +5 -2
- package/dist/types/src/components/Prompt/Prompt.d.ts.map +1 -1
- package/dist/types/src/components/Prompt/Prompt.stories.d.ts +6 -3
- package/dist/types/src/components/Prompt/Prompt.stories.d.ts.map +1 -1
- package/dist/types/src/components/Prompt/PromptBar.d.ts +9 -4
- package/dist/types/src/components/Prompt/PromptBar.d.ts.map +1 -1
- package/dist/types/src/components/Prompt/PromptBar.stories.d.ts +9 -0
- package/dist/types/src/components/Prompt/PromptBar.stories.d.ts.map +1 -0
- package/dist/types/src/components/Prompt/autocomplete.d.ts +5 -1
- package/dist/types/src/components/Prompt/autocomplete.d.ts.map +1 -1
- package/dist/types/src/components/Prompt/references.d.ts.map +1 -1
- package/dist/types/src/components/PromptSettings.d.ts +6 -0
- package/dist/types/src/components/PromptSettings.d.ts.map +1 -0
- package/dist/types/src/components/TemplateContainer.d.ts.map +1 -1
- package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
- package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +2 -2
- package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
- package/dist/types/src/components/Thread/Thread.d.ts +2 -2
- package/dist/types/src/components/Thread/Thread.d.ts.map +1 -1
- package/dist/types/src/components/Thread/Thread.stories.d.ts.map +1 -1
- package/dist/types/src/components/Thread/ThreadContainer.d.ts +1 -1
- package/dist/types/src/components/Thread/ThreadContainer.d.ts.map +1 -1
- package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts +2 -2
- package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/Thread/ThreadMessage.d.ts +4 -2
- package/dist/types/src/components/Thread/ThreadMessage.d.ts.map +1 -1
- package/dist/types/src/components/Thread/ToolInvocations.d.ts +1 -1
- package/dist/types/src/components/Thread/ToolInvocations.d.ts.map +1 -1
- package/dist/types/src/components/Thread/reducer.d.ts +1 -1
- package/dist/types/src/components/Thread/reducer.d.ts.map +1 -1
- package/dist/types/src/components/Toolbox/Toolbox.d.ts +3 -2
- package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +5 -6
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/experimental/transcription/index.d.ts +1 -0
- package/dist/types/src/experimental/transcription/index.d.ts.map +1 -0
- package/dist/types/src/hooks/index.d.ts +0 -1
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/processor.d.ts +6 -5
- package/dist/types/src/hooks/processor.d.ts.map +1 -1
- package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
- package/dist/types/src/hooks/useContextProvider.d.ts +1 -1
- package/dist/types/src/hooks/useContextProvider.d.ts.map +1 -1
- package/dist/types/src/hooks/useMessageQueue.d.ts +11 -10
- package/dist/types/src/hooks/useMessageQueue.d.ts.map +1 -1
- package/dist/types/src/hooks/useServices.d.ts.map +1 -1
- package/dist/types/src/hooks/useTextInputEvents.d.ts.map +1 -1
- package/dist/types/src/parser/filter-generator.d.ts +4 -0
- package/dist/types/src/parser/filter-generator.d.ts.map +1 -0
- package/dist/types/src/parser/filter-generator.test.d.ts +2 -0
- package/dist/types/src/parser/filter-generator.test.d.ts.map +1 -0
- package/dist/types/src/parser/index.d.ts +4 -0
- package/dist/types/src/parser/index.d.ts.map +1 -0
- package/dist/types/src/parser/query-parser.d.ts +15 -0
- package/dist/types/src/parser/query-parser.d.ts.map +1 -0
- package/dist/types/src/parser/query-parser.test.d.ts +2 -0
- package/dist/types/src/parser/query-parser.test.d.ts.map +1 -0
- package/dist/types/src/parser/types.d.ts +24 -0
- package/dist/types/src/parser/types.d.ts.map +1 -0
- package/dist/types/src/stories/Prompt.stories.d.ts +8 -0
- package/dist/types/src/stories/Prompt.stories.d.ts.map +1 -0
- package/dist/types/src/stories/Query.stories.d.ts +19 -0
- package/dist/types/src/stories/Query.stories.d.ts.map +1 -0
- package/dist/types/src/stories/Research.stories.d.ts +15 -0
- package/dist/types/src/stories/Research.stories.d.ts.map +1 -0
- package/dist/types/src/stories/test-data.d.ts +3 -0
- package/dist/types/src/stories/test-data.d.ts.map +1 -0
- package/dist/types/src/stories/testing.d.ts +12 -0
- package/dist/types/src/stories/testing.d.ts.map +1 -0
- package/dist/types/src/testing/index.d.ts +1 -0
- package/dist/types/src/testing/index.d.ts.map +1 -1
- package/dist/types/src/testing/test-blueprint.d.ts +14 -0
- package/dist/types/src/testing/test-blueprint.d.ts.map +1 -0
- package/dist/types/src/testing/test-functions.d.ts +1 -1
- package/dist/types/src/testing/test-functions.d.ts.map +1 -1
- package/dist/types/src/tools/function.d.ts +4 -4
- package/dist/types/src/tools/function.d.ts.map +1 -1
- package/dist/types/src/tools/openapi.d.ts +3 -3
- package/dist/types/src/tools/openapi.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +6 -0
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/chat.d.ts +18 -8
- package/dist/types/src/types/chat.d.ts.map +1 -1
- package/dist/types/src/types/service.d.ts +96 -95
- package/dist/types/src/types/service.d.ts.map +1 -1
- package/dist/types/src/types/template.d.ts +52 -52
- package/dist/types/src/types/template.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +34 -23
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +79 -61
- package/src/AssistantPlugin.tsx +12 -11
- package/src/capabilities/ai-client.ts +5 -6
- package/src/capabilities/app-graph-builder.ts +173 -135
- package/src/capabilities/capabilities.ts +1 -1
- package/src/capabilities/index.ts +1 -1
- package/src/capabilities/intent-resolver.ts +10 -11
- package/src/capabilities/react-surface.tsx +88 -22
- package/src/capabilities/settings.ts +2 -2
- package/src/components/AmbientDialog/AmbientDialog.stories.tsx +2 -2
- package/src/components/AmbientDialog/AmbientDialog.tsx +27 -13
- package/src/components/AssistantDialog.tsx +1 -1
- package/src/components/AssistantSettings/AssistantSettings.tsx +29 -7
- package/src/components/BlueprintEditor/BlueprintEditor.stories.tsx +32 -0
- package/src/components/BlueprintEditor/BlueprintEditor.tsx +40 -0
- package/src/components/BlueprintEditor/index.ts +7 -0
- package/src/components/ChatContainer.tsx +6 -8
- package/src/components/Prompt/Prompt.stories.tsx +60 -52
- package/src/components/Prompt/Prompt.tsx +24 -10
- package/src/components/Prompt/PromptBar.stories.tsx +69 -0
- package/src/components/Prompt/PromptBar.tsx +82 -88
- package/src/components/Prompt/autocomplete.ts +14 -8
- package/src/components/Prompt/references.ts +3 -3
- package/src/components/PromptSettings.tsx +91 -0
- package/src/components/TemplateContainer.tsx +3 -79
- package/src/components/TemplateEditor/TemplateEditor.stories.tsx +4 -4
- package/src/components/TemplateEditor/TemplateForm.stories.tsx +3 -3
- package/src/components/TemplateEditor/TemplateForm.tsx +2 -2
- package/src/components/Thread/Thread.stories.tsx +14 -17
- package/src/components/Thread/Thread.tsx +2 -2
- package/src/components/Thread/ThreadContainer.stories.tsx +83 -62
- package/src/components/Thread/ThreadContainer.tsx +26 -5
- package/src/components/Thread/ThreadMessage.tsx +49 -11
- package/src/components/Thread/ToolInvocations.tsx +9 -7
- package/src/components/Thread/reducer.ts +1 -1
- package/src/components/Toolbox/Toolbox.stories.tsx +4 -4
- package/src/components/Toolbox/Toolbox.tsx +5 -4
- package/src/components/index.ts +4 -1
- package/src/experimental/transcription/index.ts +3 -0
- package/src/hooks/index.ts +0 -1
- package/src/hooks/processor.ts +68 -8
- package/src/hooks/useChatProcessor.tsx +12 -11
- package/src/hooks/useContextProvider.ts +20 -17
- package/src/hooks/useMessageQueue.ts +5 -5
- package/src/meta.ts +2 -2
- package/src/parser/filter-generator.test.ts +32 -0
- package/src/parser/filter-generator.ts +81 -0
- package/src/parser/index.ts +7 -0
- package/src/parser/query-parser.test.ts +139 -0
- package/src/parser/query-parser.ts +199 -0
- package/src/parser/types.ts +34 -0
- package/src/shims.d.ts +8 -0
- package/src/stories/Prompt.stories.tsx +60 -0
- package/src/stories/Query.stories.tsx +515 -0
- package/src/stories/Research.stories.tsx +496 -0
- package/src/stories/test-data.ts +128 -0
- package/src/stories/testing.ts +60 -0
- package/src/testing/index.ts +1 -0
- package/src/testing/test-blueprint.ts +50 -0
- package/src/testing/test-functions.ts +1 -1
- package/src/testing/test-services.ts +6 -6
- package/src/tools/function.ts +11 -12
- package/src/tools/openapi.test.ts +18 -19
- package/src/tools/openapi.ts +24 -17
- package/src/translations.ts +14 -6
- package/src/types/chat.ts +27 -4
- package/src/types/service.ts +39 -37
- package/src/types/template.ts +27 -25
- package/src/types/types.ts +24 -19
- package/dist/lib/browser/AssistantDialog-YSHMAHW5.mjs +0 -117
- package/dist/lib/browser/AssistantDialog-YSHMAHW5.mjs.map +0 -7
- package/dist/lib/browser/ChatContainer-V5GP7DYF.mjs +0 -33
- package/dist/lib/browser/ChatContainer-V5GP7DYF.mjs.map +0 -7
- package/dist/lib/browser/TemplateContainer-K4EJNGIL.mjs +0 -78
- package/dist/lib/browser/TemplateContainer-K4EJNGIL.mjs.map +0 -7
- package/dist/lib/browser/ai-client-CDZLSNXE.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-MF5EVDWW.mjs +0 -209
- package/dist/lib/browser/app-graph-builder-MF5EVDWW.mjs.map +0 -7
- package/dist/lib/browser/chunk-FMB7RGMP.mjs.map +0 -7
- package/dist/lib/browser/chunk-IAMR2FAE.mjs +0 -183
- package/dist/lib/browser/chunk-IAMR2FAE.mjs.map +0 -7
- package/dist/lib/browser/chunk-KYMKVE6M.mjs +0 -128
- package/dist/lib/browser/chunk-KYMKVE6M.mjs.map +0 -7
- package/dist/lib/browser/chunk-NFUHCW2J.mjs +0 -81
- package/dist/lib/browser/chunk-TXJWGWJ7.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-WJGLKKVO.mjs +0 -46
- package/dist/lib/browser/intent-resolver-WJGLKKVO.mjs.map +0 -7
- package/dist/lib/browser/react-surface-57VRDOQT.mjs +0 -90
- package/dist/lib/browser/react-surface-57VRDOQT.mjs.map +0 -7
- package/dist/lib/browser/settings-U6UFQX32.mjs.map +0 -7
- package/dist/lib/node/AssistantDialog-YI2BSGSX.cjs +0 -141
- package/dist/lib/node/AssistantDialog-YI2BSGSX.cjs.map +0 -7
- package/dist/lib/node/ChatContainer-ZJ5JXF6A.cjs.map +0 -7
- package/dist/lib/node/TemplateContainer-XWFYJB4T.cjs +0 -104
- package/dist/lib/node/TemplateContainer-XWFYJB4T.cjs.map +0 -7
- package/dist/lib/node/ai-client-URCCYU6B.cjs.map +0 -7
- package/dist/lib/node/app-graph-builder-N5ZUUI2Z.cjs +0 -220
- package/dist/lib/node/app-graph-builder-N5ZUUI2Z.cjs.map +0 -7
- package/dist/lib/node/chunk-APRU3QWK.cjs +0 -206
- package/dist/lib/node/chunk-APRU3QWK.cjs.map +0 -7
- package/dist/lib/node/chunk-GBUNQ257.cjs.map +0 -7
- package/dist/lib/node/chunk-RPBKMP2E.cjs.map +0 -7
- package/dist/lib/node/chunk-ZKOC4ZFY.cjs +0 -152
- package/dist/lib/node/chunk-ZKOC4ZFY.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-R3OSTIMH.cjs.map +0 -7
- package/dist/lib/node/react-surface-NUQTM6MS.cjs +0 -106
- package/dist/lib/node/react-surface-NUQTM6MS.cjs.map +0 -7
- package/dist/lib/node/settings-TXGRCYAL.cjs.map +0 -7
- package/dist/lib/node-esm/AssistantDialog-U2FQX5TD.mjs +0 -118
- package/dist/lib/node-esm/AssistantDialog-U2FQX5TD.mjs.map +0 -7
- package/dist/lib/node-esm/ChatContainer-QW3OOXTT.mjs +0 -34
- package/dist/lib/node-esm/ChatContainer-QW3OOXTT.mjs.map +0 -7
- package/dist/lib/node-esm/TemplateContainer-EUM2X65J.mjs +0 -79
- package/dist/lib/node-esm/TemplateContainer-EUM2X65J.mjs.map +0 -7
- package/dist/lib/node-esm/ai-client-WMHS5EGV.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-DWBNIMHM.mjs +0 -210
- package/dist/lib/node-esm/app-graph-builder-DWBNIMHM.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-6JK5HEUQ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-GBBXIW5F.mjs +0 -129
- package/dist/lib/node-esm/chunk-GBBXIW5F.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-MVDAY3CZ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-MXK2EANZ.mjs +0 -184
- package/dist/lib/node-esm/chunk-MXK2EANZ.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-H32TL4X6.mjs +0 -47
- package/dist/lib/node-esm/intent-resolver-H32TL4X6.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-JBVZF6CP.mjs +0 -91
- package/dist/lib/node-esm/react-surface-JBVZF6CP.mjs.map +0 -7
- package/dist/lib/node-esm/settings-DZU5PNXM.mjs.map +0 -7
- package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts +0 -6
- package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts.map +0 -1
- package/dist/types/src/components/ServiceRegistry/ServiceRegistry.stories.d.ts +0 -8
- package/dist/types/src/components/ServiceRegistry/ServiceRegistry.stories.d.ts.map +0 -1
- package/dist/types/src/components/ServiceRegistry/index.d.ts +0 -2
- package/dist/types/src/components/ServiceRegistry/index.d.ts.map +0 -1
- package/dist/types/src/hooks/invocation-handler.d.ts +0 -5
- package/dist/types/src/hooks/invocation-handler.d.ts.map +0 -1
- package/dist/types/src/hooks/useLocalTriggerManager.d.ts +0 -3
- package/dist/types/src/hooks/useLocalTriggerManager.d.ts.map +0 -1
- package/src/components/ServiceRegistry/ServiceRegistry.stories.tsx +0 -49
- package/src/components/ServiceRegistry/ServiceRegistry.tsx +0 -76
- package/src/components/ServiceRegistry/index.ts +0 -5
- package/src/hooks/invocation-handler.ts +0 -107
- package/src/hooks/useLocalTriggerManager.ts +0 -82
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
AIChatType,
|
|
4
|
+
AssistantAction,
|
|
5
|
+
CompanionTo,
|
|
6
|
+
TemplateType
|
|
7
|
+
} from "./chunk-TQYSF2GS.mjs";
|
|
8
|
+
import {
|
|
9
|
+
ASSISTANT_DIALOG,
|
|
10
|
+
ASSISTANT_PLUGIN
|
|
11
|
+
} from "./chunk-BB2TAT4P.mjs";
|
|
12
|
+
|
|
13
|
+
// packages/plugins/plugin-assistant/src/capabilities/app-graph-builder.ts
|
|
14
|
+
import { Rx } from "@effect-rx/rx-react";
|
|
15
|
+
import { Option, pipe } from "effect";
|
|
16
|
+
import { Capabilities, contributes, createIntent, LayoutAction } from "@dxos/app-framework";
|
|
17
|
+
import { isInstanceOf } from "@dxos/echo-schema";
|
|
18
|
+
import { invariant } from "@dxos/invariant";
|
|
19
|
+
import { ClientCapabilities } from "@dxos/plugin-client";
|
|
20
|
+
import { PLANK_COMPANION_TYPE, ATTENDABLE_PATH_SEPARATOR } from "@dxos/plugin-deck/types";
|
|
21
|
+
import { createExtension, ROOT_ID } from "@dxos/plugin-graph";
|
|
22
|
+
import { rxFromQuery } from "@dxos/plugin-space";
|
|
23
|
+
import { SPACE_TYPE, SpaceAction } from "@dxos/plugin-space/types";
|
|
24
|
+
import { Filter, fullyQualifiedId, getSpace, isSpace, Query, isEchoObject } from "@dxos/react-client/echo";
|
|
25
|
+
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assistant/src/capabilities/app-graph-builder.ts";
|
|
26
|
+
var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBuilder, [
|
|
27
|
+
createExtension({
|
|
28
|
+
id: `${ASSISTANT_PLUGIN}/assistant`,
|
|
29
|
+
actions: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID ? Option.some(node2) : Option.none()), Option.map(() => [
|
|
30
|
+
{
|
|
31
|
+
id: `${LayoutAction.UpdateDialog._tag}/assistant/open`,
|
|
32
|
+
data: async () => {
|
|
33
|
+
const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
|
|
34
|
+
const client = context.getCapability(ClientCapabilities.Client);
|
|
35
|
+
const layout = context.getCapability(Capabilities.Layout);
|
|
36
|
+
const { graph } = context.getCapability(Capabilities.AppGraph);
|
|
37
|
+
let chat;
|
|
38
|
+
if (layout.active.length > 0) {
|
|
39
|
+
const node2 = graph.getNode(layout.active[0]).pipe(Option.getOrNull);
|
|
40
|
+
if (node2) {
|
|
41
|
+
const space = getSpace(node2.data);
|
|
42
|
+
if (space) {
|
|
43
|
+
chat = await getOrCreateChat(dispatch, space);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
} else {
|
|
47
|
+
const space = client.spaces.default;
|
|
48
|
+
chat = await getOrCreateChat(dispatch, space);
|
|
49
|
+
}
|
|
50
|
+
if (!chat) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
await dispatch(createIntent(LayoutAction.UpdateDialog, {
|
|
54
|
+
part: "dialog",
|
|
55
|
+
subject: ASSISTANT_DIALOG,
|
|
56
|
+
options: {
|
|
57
|
+
state: true,
|
|
58
|
+
blockAlign: "end",
|
|
59
|
+
props: {
|
|
60
|
+
chat
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}));
|
|
64
|
+
},
|
|
65
|
+
properties: {
|
|
66
|
+
label: [
|
|
67
|
+
"open assistant label",
|
|
68
|
+
{
|
|
69
|
+
ns: ASSISTANT_PLUGIN
|
|
70
|
+
}
|
|
71
|
+
],
|
|
72
|
+
icon: "ph--sparkle--regular",
|
|
73
|
+
disposition: "pin-end",
|
|
74
|
+
position: "hoist",
|
|
75
|
+
keyBinding: {
|
|
76
|
+
macos: "shift+meta+k",
|
|
77
|
+
windows: "shift+ctrl+k"
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
]), Option.getOrElse(() => [])))
|
|
82
|
+
}),
|
|
83
|
+
createExtension({
|
|
84
|
+
id: `${ASSISTANT_PLUGIN}/object-chat-companion`,
|
|
85
|
+
connector: (node) => {
|
|
86
|
+
let query;
|
|
87
|
+
return Rx.make((get) => pipe(get(node), Option.flatMap((node2) => isEchoObject(node2.data) ? Option.some(node2.data) : Option.none()), Option.flatMap((object) => {
|
|
88
|
+
const space = getSpace(object);
|
|
89
|
+
return space ? Option.some({
|
|
90
|
+
space,
|
|
91
|
+
object
|
|
92
|
+
}) : Option.none();
|
|
93
|
+
}), Option.map(({ space, object }) => {
|
|
94
|
+
if (!query) {
|
|
95
|
+
query = space.db.query(Query.select(Filter.ids(object.id)).targetOf(CompanionTo).source());
|
|
96
|
+
}
|
|
97
|
+
const chat = get(rxFromQuery(query))[0];
|
|
98
|
+
return [
|
|
99
|
+
{
|
|
100
|
+
id: [
|
|
101
|
+
fullyQualifiedId(object),
|
|
102
|
+
"assistant-chat"
|
|
103
|
+
].join(ATTENDABLE_PATH_SEPARATOR),
|
|
104
|
+
type: PLANK_COMPANION_TYPE,
|
|
105
|
+
data: chat ?? "assistant-chat",
|
|
106
|
+
properties: {
|
|
107
|
+
label: [
|
|
108
|
+
"assistant chat label",
|
|
109
|
+
{
|
|
110
|
+
ns: ASSISTANT_PLUGIN
|
|
111
|
+
}
|
|
112
|
+
],
|
|
113
|
+
icon: "ph--sparkle--regular",
|
|
114
|
+
position: "hoist",
|
|
115
|
+
disposition: "hidden"
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
];
|
|
119
|
+
}), Option.getOrElse(() => [])));
|
|
120
|
+
}
|
|
121
|
+
}),
|
|
122
|
+
createExtension({
|
|
123
|
+
id: `${ASSISTANT_PLUGIN}/root`,
|
|
124
|
+
connector: (node) => {
|
|
125
|
+
let query;
|
|
126
|
+
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) => {
|
|
127
|
+
if (!query) {
|
|
128
|
+
query = space.db.query(Query.type(TemplateType));
|
|
129
|
+
}
|
|
130
|
+
const templates = get(rxFromQuery(query));
|
|
131
|
+
return templates.length > 0 ? [
|
|
132
|
+
{
|
|
133
|
+
id: `${ASSISTANT_PLUGIN}/templates`,
|
|
134
|
+
type: `${ASSISTANT_PLUGIN}/templates`,
|
|
135
|
+
data: null,
|
|
136
|
+
properties: {
|
|
137
|
+
label: [
|
|
138
|
+
"templates label",
|
|
139
|
+
{
|
|
140
|
+
ns: ASSISTANT_PLUGIN
|
|
141
|
+
}
|
|
142
|
+
],
|
|
143
|
+
icon: "ph--file-code--regular",
|
|
144
|
+
space
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
] : [];
|
|
148
|
+
}), Option.getOrElse(() => [])));
|
|
149
|
+
}
|
|
150
|
+
}),
|
|
151
|
+
createExtension({
|
|
152
|
+
id: `${ASSISTANT_PLUGIN}/templates`,
|
|
153
|
+
connector: (node) => {
|
|
154
|
+
let query;
|
|
155
|
+
return Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.id === `${ASSISTANT_PLUGIN}/templates` && isSpace(node2.properties.space) ? Option.some(node2.properties.space) : Option.none()), Option.map((space) => {
|
|
156
|
+
if (!query) {
|
|
157
|
+
query = space.db.query(Query.type(TemplateType));
|
|
158
|
+
}
|
|
159
|
+
return get(rxFromQuery(query)).toSorted((a, b) => {
|
|
160
|
+
const nameA = a.name ?? "";
|
|
161
|
+
const nameB = b.name ?? "";
|
|
162
|
+
return nameA.localeCompare(nameB);
|
|
163
|
+
}).map((template) => ({
|
|
164
|
+
id: fullyQualifiedId(template),
|
|
165
|
+
type: `${ASSISTANT_PLUGIN}/template`,
|
|
166
|
+
data: template,
|
|
167
|
+
properties: {
|
|
168
|
+
label: template.name ?? [
|
|
169
|
+
"object placeholder",
|
|
170
|
+
{
|
|
171
|
+
ns: ASSISTANT_PLUGIN
|
|
172
|
+
}
|
|
173
|
+
],
|
|
174
|
+
icon: "ph--file-code--regular"
|
|
175
|
+
}
|
|
176
|
+
}));
|
|
177
|
+
}), Option.getOrElse(() => [])));
|
|
178
|
+
}
|
|
179
|
+
})
|
|
180
|
+
]);
|
|
181
|
+
var getOrCreateChat = async (dispatch, space) => {
|
|
182
|
+
const { objects } = await space.db.query(Filter.type(AIChatType)).run();
|
|
183
|
+
if (objects.length > 0) {
|
|
184
|
+
return objects[objects.length - 1];
|
|
185
|
+
}
|
|
186
|
+
const { data } = await dispatch(createIntent(AssistantAction.CreateChat, {
|
|
187
|
+
space
|
|
188
|
+
}));
|
|
189
|
+
invariant(isInstanceOf(AIChatType, data?.object), void 0, {
|
|
190
|
+
F: __dxlog_file,
|
|
191
|
+
L: 230,
|
|
192
|
+
S: void 0,
|
|
193
|
+
A: [
|
|
194
|
+
"isInstanceOf(AIChatType, data?.object)",
|
|
195
|
+
""
|
|
196
|
+
]
|
|
197
|
+
});
|
|
198
|
+
await dispatch(createIntent(SpaceAction.AddObject, {
|
|
199
|
+
target: space,
|
|
200
|
+
object: data.object
|
|
201
|
+
}));
|
|
202
|
+
return data.object;
|
|
203
|
+
};
|
|
204
|
+
export {
|
|
205
|
+
app_graph_builder_default as default
|
|
206
|
+
};
|
|
207
|
+
//# sourceMappingURL=app-graph-builder-5YX5TKKT.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 contributes,\n createIntent,\n LayoutAction,\n type PromiseIntentDispatcher,\n type PluginContext,\n} from '@dxos/app-framework';\nimport { isInstanceOf } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { PLANK_COMPANION_TYPE, ATTENDABLE_PATH_SEPARATOR } from '@dxos/plugin-deck/types';\nimport { createExtension, ROOT_ID } from '@dxos/plugin-graph';\nimport { rxFromQuery } from '@dxos/plugin-space';\nimport { SPACE_TYPE, SpaceAction } from '@dxos/plugin-space/types';\nimport {\n type Space,\n Filter,\n fullyQualifiedId,\n getSpace,\n isSpace,\n Query,\n type QueryResult,\n isEchoObject,\n} from '@dxos/react-client/echo';\n\nimport { ASSISTANT_DIALOG, ASSISTANT_PLUGIN } from '../meta';\nimport { AIChatType, AssistantAction, CompanionTo, TemplateType } from '../types';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.AppGraphBuilder, [\n createExtension({\n id: `${ASSISTANT_PLUGIN}/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 layout = context.getCapability(Capabilities.Layout);\n const { graph } = context.getCapability(Capabilities.AppGraph);\n\n // TODO(burdon): Get space from workspace.\n // TODO(burdon): If need to create chat, then add to dispatch stack below.\n let chat: AIChatType | undefined;\n if (layout.active.length > 0) {\n const node = graph.getNode(layout.active[0]).pipe(Option.getOrNull);\n if (node) {\n const space = getSpace(node.data);\n if (space) {\n chat = await getOrCreateChat(dispatch, space);\n }\n }\n } else {\n const space = client.spaces.default;\n chat = await getOrCreateChat(dispatch, space);\n }\n\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: ASSISTANT_PLUGIN }],\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: `${ASSISTANT_PLUGIN}/object-chat-companion`,\n connector: (node) => {\n let query: QueryResult<AIChatType> | undefined;\n return Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (isEchoObject(node.data) ? Option.some(node.data) : Option.none())),\n Option.flatMap((object) => {\n const space = getSpace(object);\n return space ? Option.some({ space, object }) : Option.none();\n }),\n Option.map(({ space, object }) => {\n if (!query) {\n query = space.db.query(Query.select(Filter.ids(object.id)).targetOf(CompanionTo).source());\n }\n\n const chat = get(rxFromQuery(query))[0];\n return [\n {\n id: [fullyQualifiedId(object), 'assistant-chat'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: chat ?? 'assistant-chat',\n properties: {\n label: ['assistant chat label', { ns: ASSISTANT_PLUGIN }],\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: `${ASSISTANT_PLUGIN}/root`,\n connector: (node) => {\n let query: QueryResult<TemplateType> | undefined;\n return Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) =>\n node.type === SPACE_TYPE && isSpace(node.data) ? Option.some(node.data) : Option.none(),\n ),\n Option.map((space) => {\n if (!query) {\n query = space.db.query(Query.type(TemplateType));\n }\n\n const templates = get(rxFromQuery(query));\n return templates.length > 0\n ? [\n {\n id: `${ASSISTANT_PLUGIN}/templates`,\n type: `${ASSISTANT_PLUGIN}/templates`,\n data: null,\n properties: {\n label: ['templates label', { ns: ASSISTANT_PLUGIN }],\n icon: 'ph--file-code--regular',\n space,\n },\n },\n ]\n : [];\n }),\n Option.getOrElse(() => []),\n ),\n );\n },\n }),\n\n createExtension({\n id: `${ASSISTANT_PLUGIN}/templates`,\n connector: (node) => {\n let query: QueryResult<TemplateType> | undefined;\n return Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) =>\n node.id === `${ASSISTANT_PLUGIN}/templates` && isSpace(node.properties.space)\n ? Option.some(node.properties.space)\n : Option.none(),\n ),\n Option.map((space) => {\n if (!query) {\n query = space.db.query(Query.type(TemplateType));\n }\n return get(rxFromQuery(query))\n .toSorted((a, b) => {\n const nameA = a.name ?? '';\n const nameB = b.name ?? '';\n return nameA.localeCompare(nameB);\n })\n .map((template) => ({\n id: fullyQualifiedId(template),\n type: `${ASSISTANT_PLUGIN}/template`,\n data: template,\n properties: {\n label: template.name ?? ['object placeholder', { ns: ASSISTANT_PLUGIN }],\n icon: 'ph--file-code--regular',\n },\n }));\n }),\n Option.getOrElse(() => []),\n ),\n );\n },\n }),\n ]);\n\n// TODO(burdon): Factor out.\nconst getOrCreateChat = async (dispatch: PromiseIntentDispatcher, space: Space): Promise<AIChatType | undefined> => {\n const { objects } = await space.db.query(Filter.type(AIChatType)).run();\n // console.log('objects', JSON.stringify(objects, null, 2));\n if (objects.length > 0) {\n // TODO(burdon): Is this the most recent?\n return objects[objects.length - 1];\n }\n\n const { data } = await dispatch(createIntent(AssistantAction.CreateChat, { space }));\n invariant(isInstanceOf(AIChatType, 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", "contributes", "createIntent", "LayoutAction", "isInstanceOf", "invariant", "ClientCapabilities", "PLANK_COMPANION_TYPE", "ATTENDABLE_PATH_SEPARATOR", "createExtension", "ROOT_ID", "rxFromQuery", "SPACE_TYPE", "SpaceAction", "Filter", "fullyQualifiedId", "getSpace", "isSpace", "Query", "isEchoObject", "context", "contributes", "Capabilities", "AppGraphBuilder", "createExtension", "id", "ASSISTANT_PLUGIN", "actions", "node", "Rx", "make", "get", "pipe", "Option", "flatMap", "ROOT_ID", "some", "none", "map", "LayoutAction", "UpdateDialog", "_tag", "data", "dispatchPromise", "dispatch", "getCapability", "IntentDispatcher", "client", "ClientCapabilities", "Client", "layout", "Layout", "graph", "AppGraph", "chat", "active", "length", "getNode", "getOrNull", "space", "getSpace", "getOrCreateChat", "spaces", "default", "createIntent", "part", "subject", "ASSISTANT_DIALOG", "options", "state", "blockAlign", "props", "properties", "label", "ns", "icon", "disposition", "position", "keyBinding", "macos", "windows", "getOrElse", "connector", "query", "isEchoObject", "object", "db", "Query", "select", "Filter", "ids", "targetOf", "CompanionTo", "source", "rxFromQuery", "fullyQualifiedId", "join", "ATTENDABLE_PATH_SEPARATOR", "type", "PLANK_COMPANION_TYPE", "SPACE_TYPE", "isSpace", "TemplateType", "templates", "toSorted", "a", "b", "nameA", "name", "nameB", "localeCompare", "template", "objects", "AIChatType", "run", "AssistantAction", "CreateChat", "invariant", "isInstanceOf", "SpaceAction", "AddObject", "target"]
|
|
7
|
+
}
|
|
@@ -8,9 +8,9 @@ var meta = {
|
|
|
8
8
|
name: "Assistant",
|
|
9
9
|
description: "The Assistant tab allows you to chat with your spaces inside of Composer.",
|
|
10
10
|
icon: "ph--atom--regular",
|
|
11
|
-
source: "https://github.com/dxos/dxos/tree/main/packages/plugins/
|
|
11
|
+
source: "https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-assistant",
|
|
12
12
|
tags: [
|
|
13
|
-
"
|
|
13
|
+
"labs"
|
|
14
14
|
]
|
|
15
15
|
};
|
|
16
16
|
|
|
@@ -19,4 +19,4 @@ export {
|
|
|
19
19
|
ASSISTANT_DIALOG,
|
|
20
20
|
meta
|
|
21
21
|
};
|
|
22
|
-
//# sourceMappingURL=chunk-
|
|
22
|
+
//# sourceMappingURL=chunk-BB2TAT4P.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/meta.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\n\nexport const ASSISTANT_PLUGIN = 'dxos.org/plugin/assistant';\n\nexport const ASSISTANT_DIALOG = `${ASSISTANT_PLUGIN}/assistant/dialog`;\n\nexport const meta: PluginMeta = {\n id: ASSISTANT_PLUGIN,\n name: 'Assistant',\n description: 'The Assistant tab allows you to chat with your spaces inside of Composer.',\n icon: 'ph--atom--regular',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\n\nexport const ASSISTANT_PLUGIN = 'dxos.org/plugin/assistant';\n\nexport const ASSISTANT_DIALOG = `${ASSISTANT_PLUGIN}/assistant/dialog`;\n\nexport const meta: PluginMeta = {\n id: ASSISTANT_PLUGIN,\n name: 'Assistant',\n description: 'The Assistant tab allows you to chat with your spaces inside of Composer.',\n icon: 'ph--atom--regular',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-assistant',\n tags: ['labs'],\n};\n"],
|
|
5
5
|
"mappings": ";;;AAMO,IAAMA,mBAAmB;AAEzB,IAAMC,mBAAmB,GAAGD,gBAAAA;AAE5B,IAAME,OAAmB;EAC9BC,IAAIH;EACJI,MAAM;EACNC,aAAa;EACbC,MAAM;EACNC,QAAQ;EACRC,MAAM;IAAC;;AACT;",
|
|
6
6
|
"names": ["ASSISTANT_PLUGIN", "ASSISTANT_DIALOG", "meta", "id", "name", "description", "icon", "source", "tags"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
|
|
3
|
+
// packages/plugins/plugin-assistant/src/components/AmbientDialog/AmbientDialog.tsx
|
|
4
|
+
import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
|
|
5
|
+
import React, { useCallback, useEffect, useState } from "react";
|
|
6
|
+
import { Dialog, Icon, IconButton } from "@dxos/react-ui";
|
|
7
|
+
import { resizeAttributes, ResizeHandle, sizeStyle } from "@dxos/react-ui-dnd";
|
|
8
|
+
import { mx } from "@dxos/react-ui-theme";
|
|
9
|
+
var preventDefault = (event) => event.preventDefault();
|
|
10
|
+
var minSize = 5;
|
|
11
|
+
var AmbientDialog = ({ children, open: controlledOpen, title, resizeable = true, onOpenChange, onEscape }) => {
|
|
12
|
+
var _effect = _useSignals();
|
|
13
|
+
try {
|
|
14
|
+
const [resizeKey, setReizeKey] = useState(0);
|
|
15
|
+
const [size, setSize] = useState("min-content");
|
|
16
|
+
const [open, setOpen] = useState(controlledOpen);
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
setOpen(controlledOpen);
|
|
19
|
+
}, [
|
|
20
|
+
controlledOpen
|
|
21
|
+
]);
|
|
22
|
+
useEffect(() => {
|
|
23
|
+
setSize(open ? "min-content" : minSize);
|
|
24
|
+
setReizeKey((key) => key + 1);
|
|
25
|
+
}, [
|
|
26
|
+
open
|
|
27
|
+
]);
|
|
28
|
+
const handleToggle = useCallback(() => {
|
|
29
|
+
setOpen((open2) => {
|
|
30
|
+
onOpenChange?.(!open2);
|
|
31
|
+
return !open2;
|
|
32
|
+
});
|
|
33
|
+
}, []);
|
|
34
|
+
return /* @__PURE__ */ React.createElement("div", {
|
|
35
|
+
role: "none",
|
|
36
|
+
className: "dx-dialog__overlay bg-transparent pointer-events-none",
|
|
37
|
+
"data-block-align": "end"
|
|
38
|
+
}, /* @__PURE__ */ React.createElement(Dialog.Content, {
|
|
39
|
+
classNames: 'relative box-content p-0 md:is-[35rem] md:max-is-none overflow-hidden pointer-events-auto transition-[block-size] ease-in-out duration-0 [&:not([data-dx-resizing="true"])]:duration-200',
|
|
40
|
+
inOverlayLayout: true,
|
|
41
|
+
...resizeAttributes,
|
|
42
|
+
style: {
|
|
43
|
+
...resizeable ? sizeStyle(size, "vertical", true) : {},
|
|
44
|
+
maxBlockSize: "calc(100dvh - env(safe-area-inset-bottom) - env(safe-area-inset-top) - 9rem)"
|
|
45
|
+
},
|
|
46
|
+
onEscapeKeyDown: onEscape,
|
|
47
|
+
onInteractOutside: preventDefault
|
|
48
|
+
}, resizeable && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(ResizeHandle, {
|
|
49
|
+
key: resizeKey,
|
|
50
|
+
side: "block-start",
|
|
51
|
+
defaultSize: "min-content",
|
|
52
|
+
minSize,
|
|
53
|
+
fallbackSize: minSize,
|
|
54
|
+
iconPosition: "center",
|
|
55
|
+
onSizeChange: setSize
|
|
56
|
+
}), /* @__PURE__ */ React.createElement(DialogHeader, {
|
|
57
|
+
open,
|
|
58
|
+
title,
|
|
59
|
+
onToggle: handleToggle
|
|
60
|
+
})) || /* @__PURE__ */ React.createElement(Dialog.Title, {
|
|
61
|
+
srOnly: true
|
|
62
|
+
}), children));
|
|
63
|
+
} finally {
|
|
64
|
+
_effect.f();
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
var DialogHeader = ({ open, title, onToggle }) => {
|
|
68
|
+
var _effect = _useSignals();
|
|
69
|
+
try {
|
|
70
|
+
return /* @__PURE__ */ React.createElement("div", {
|
|
71
|
+
className: "flex shrink-0 w-full grid grid-cols-[var(--rail-action)_1fr_var(--rail-action)] items-center overflow-hidden"
|
|
72
|
+
}, /* @__PURE__ */ React.createElement("div", {
|
|
73
|
+
className: "flex w-[--rail-action] h-[--rail-action] items-center justify-center"
|
|
74
|
+
}, /* @__PURE__ */ React.createElement(Dialog.Close, null, /* @__PURE__ */ React.createElement(Icon, {
|
|
75
|
+
icon: "ph--x--regular"
|
|
76
|
+
}))), /* @__PURE__ */ React.createElement("div", {
|
|
77
|
+
className: "grow"
|
|
78
|
+
}, /* @__PURE__ */ React.createElement(Dialog.Title, {
|
|
79
|
+
classNames: "flex justify-center text-xs text-subdued"
|
|
80
|
+
}, title)), /* @__PURE__ */ React.createElement("div", {
|
|
81
|
+
className: "flex w-[--rail-action] h-[--rail-action] items-center justify-center"
|
|
82
|
+
}, /* @__PURE__ */ React.createElement(IconButton, {
|
|
83
|
+
variant: "ghost",
|
|
84
|
+
icon: "ph--caret-up--regular",
|
|
85
|
+
classNames: mx("[&>svg]:transition [&>svg]:duration-200", open && "[&>svg]:rotate-180"),
|
|
86
|
+
iconOnly: true,
|
|
87
|
+
label: "Shrink",
|
|
88
|
+
onClick: onToggle
|
|
89
|
+
})));
|
|
90
|
+
} finally {
|
|
91
|
+
_effect.f();
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
export {
|
|
96
|
+
AmbientDialog
|
|
97
|
+
};
|
|
98
|
+
//# sourceMappingURL=chunk-CDAILLCU.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/AmbientDialog/AmbientDialog.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { type PropsWithChildren, useCallback, useEffect, useState } from 'react';\n\nimport { Dialog, Icon, IconButton } from '@dxos/react-ui';\nimport { resizeAttributes, ResizeHandle, type Size, sizeStyle } from '@dxos/react-ui-dnd';\nimport { mx } from '@dxos/react-ui-theme';\n\nconst preventDefault = (event: Event) => event.preventDefault();\n\nconst minSize = 5;\n\nexport type AmbientDialogProps = PropsWithChildren<{\n open?: boolean;\n title?: string;\n resizeable?: boolean;\n onOpenChange?: (open: boolean) => void;\n onEscape?: () => void;\n}>;\n\nexport const AmbientDialog = ({\n children,\n open: controlledOpen,\n title,\n resizeable = true,\n onOpenChange,\n onEscape,\n}: AmbientDialogProps) => {\n const [resizeKey, setReizeKey] = useState(0);\n const [size, setSize] = useState<Size>('min-content');\n const [open, setOpen] = useState(controlledOpen);\n\n // Update controlled value.\n useEffect(() => {\n setOpen(controlledOpen);\n }, [controlledOpen]);\n\n // Update size and key.\n useEffect(() => {\n setSize(open ? 'min-content' : minSize);\n setReizeKey((key) => key + 1);\n }, [open]);\n\n // TODO(burdon): Animate open/close.\n // NOTE: We set the min size to 5rem (80px), and the header and prompt bar to 40px (i.e., the rail-size) each.\n // The dialog has no vertical padding and has box-content so that when closed it collapses to the size of the header and prompt bar.\n const handleToggle = useCallback(() => {\n setOpen((open) => {\n onOpenChange?.(!open);\n return !open;\n });\n }, []);\n\n return (\n <div role='none' className='dx-dialog__overlay bg-transparent pointer-events-none' data-block-align='end'>\n <Dialog.Content\n classNames='relative box-content p-0 md:is-[35rem] md:max-is-none overflow-hidden pointer-events-auto transition-[block-size] ease-in-out duration-0 [&:not([data-dx-resizing=\"true\"])]:duration-200'\n inOverlayLayout\n {...resizeAttributes}\n style={{\n ...(resizeable ? sizeStyle(size, 'vertical', true) : {}),\n maxBlockSize: 'calc(100dvh - env(safe-area-inset-bottom) - env(safe-area-inset-top) - 9rem)',\n }}\n onEscapeKeyDown={onEscape}\n onInteractOutside={preventDefault}\n >\n {(resizeable && (\n <>\n <ResizeHandle\n key={resizeKey}\n side='block-start'\n defaultSize='min-content'\n minSize={minSize}\n fallbackSize={minSize}\n iconPosition='center'\n onSizeChange={setSize}\n />\n\n <DialogHeader open={open} title={title} onToggle={handleToggle} />\n </>\n )) || <Dialog.Title srOnly />}\n\n {children}\n </Dialog.Content>\n </div>\n );\n};\n\n/**\n * Matches same layout grid as PromptBar.\n */\nconst DialogHeader = ({ open, title, onToggle }: { open?: boolean; title?: string; onToggle: () => void }) => {\n return (\n <div className='flex shrink-0 w-full grid grid-cols-[var(--rail-action)_1fr_var(--rail-action)] items-center overflow-hidden'>\n <div className='flex w-[--rail-action] h-[--rail-action] items-center justify-center'>\n <Dialog.Close>\n <Icon icon='ph--x--regular' />\n </Dialog.Close>\n </div>\n <div className='grow'>\n <Dialog.Title classNames='flex justify-center text-xs text-subdued'>{title}</Dialog.Title>\n </div>\n <div className='flex w-[--rail-action] h-[--rail-action] items-center justify-center'>\n <IconButton\n variant='ghost'\n icon={'ph--caret-up--regular'}\n classNames={mx('[&>svg]:transition [&>svg]:duration-200', open && '[&>svg]:rotate-180')}\n iconOnly\n label='Shrink'\n onClick={onToggle}\n />\n </div>\n </div>\n );\n};\n"],
|
|
5
|
+
"mappings": ";;;;AAIA,OAAOA,SAAiCC,aAAaC,WAAWC,gBAAgB;AAEhF,SAASC,QAAQC,MAAMC,kBAAkB;AACzC,SAASC,kBAAkBC,cAAyBC,iBAAiB;AACrE,SAASC,UAAU;AAEnB,IAAMC,iBAAiB,CAACC,UAAiBA,MAAMD,eAAc;AAE7D,IAAME,UAAU;AAUT,IAAMC,gBAAgB,CAAC,EAC5BC,UACAC,MAAMC,gBACNC,OACAC,aAAa,MACbC,cACAC,SAAQ,MACW;;;AACnB,UAAM,CAACC,WAAWC,WAAAA,IAAeC,SAAS,CAAA;AAC1C,UAAM,CAACC,MAAMC,OAAAA,IAAWF,SAAe,aAAA;AACvC,UAAM,CAACR,MAAMW,OAAAA,IAAWH,SAASP,cAAAA;AAGjCW,cAAU,MAAA;AACRD,cAAQV,cAAAA;IACV,GAAG;MAACA;KAAe;AAGnBW,cAAU,MAAA;AACRF,cAAQV,OAAO,gBAAgBH,OAAAA;AAC/BU,kBAAY,CAACM,QAAQA,MAAM,CAAA;IAC7B,GAAG;MAACb;KAAK;AAKT,UAAMc,eAAeC,YAAY,MAAA;AAC/BJ,cAAQ,CAACX,UAAAA;AACPI,uBAAe,CAACJ,KAAAA;AAChB,eAAO,CAACA;MACV,CAAA;IACF,GAAG,CAAA,CAAE;AAEL,WACE,sBAAA,cAACgB,OAAAA;MAAIC,MAAK;MAAOC,WAAU;MAAwDC,oBAAiB;OAClG,sBAAA,cAACC,OAAOC,SAAO;MACbC,YAAW;MACXC,iBAAAA;MACC,GAAGC;MACJC,OAAO;QACL,GAAItB,aAAauB,UAAUjB,MAAM,YAAY,IAAA,IAAQ,CAAC;QACtDkB,cAAc;MAChB;MACAC,iBAAiBvB;MACjBwB,mBAAmBlC;OAEjBQ,cACA,sBAAA,cAAA,MAAA,UAAA,MACE,sBAAA,cAAC2B,cAAAA;MACCjB,KAAKP;MACLyB,MAAK;MACLC,aAAY;MACZnC;MACAoC,cAAcpC;MACdqC,cAAa;MACbC,cAAczB;QAGhB,sBAAA,cAAC0B,cAAAA;MAAapC;MAAYE;MAAcmC,UAAUvB;WAEhD,sBAAA,cAACM,OAAOkB,OAAK;MAACC,QAAAA;QAEnBxC,QAAAA,CAAAA;;;;AAIT;AAKA,IAAMqC,eAAe,CAAC,EAAEpC,MAAME,OAAOmC,SAAQ,MAA4D;;;AACvG,WACE,sBAAA,cAACrB,OAAAA;MAAIE,WAAU;OACb,sBAAA,cAACF,OAAAA;MAAIE,WAAU;OACb,sBAAA,cAACE,OAAOoB,OAAK,MACX,sBAAA,cAACC,MAAAA;MAAKC,MAAK;UAGf,sBAAA,cAAC1B,OAAAA;MAAIE,WAAU;OACb,sBAAA,cAACE,OAAOkB,OAAK;MAAChB,YAAW;OAA4CpB,KAAAA,CAAAA,GAEvE,sBAAA,cAACc,OAAAA;MAAIE,WAAU;OACb,sBAAA,cAACyB,YAAAA;MACCC,SAAQ;MACRF,MAAM;MACNpB,YAAYuB,GAAG,2CAA2C7C,QAAQ,oBAAA;MAClE8C,UAAAA;MACAC,OAAM;MACNC,SAASX;;;;;AAKnB;",
|
|
6
|
+
"names": ["React", "useCallback", "useEffect", "useState", "Dialog", "Icon", "IconButton", "resizeAttributes", "ResizeHandle", "sizeStyle", "mx", "preventDefault", "event", "minSize", "AmbientDialog", "children", "open", "controlledOpen", "title", "resizeable", "onOpenChange", "onEscape", "resizeKey", "setReizeKey", "useState", "size", "setSize", "setOpen", "useEffect", "key", "handleToggle", "useCallback", "div", "role", "className", "data-block-align", "Dialog", "Content", "classNames", "inOverlayLayout", "resizeAttributes", "style", "sizeStyle", "maxBlockSize", "onEscapeKeyDown", "onInteractOutside", "ResizeHandle", "side", "defaultSize", "fallbackSize", "iconPosition", "onSizeChange", "DialogHeader", "onToggle", "Title", "srOnly", "Close", "Icon", "icon", "IconButton", "variant", "mx", "iconOnly", "label", "onClick"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
LLM_PROVIDERS,
|
|
4
|
+
TemplateKinds
|
|
5
|
+
} from "./chunk-TQYSF2GS.mjs";
|
|
6
|
+
import {
|
|
7
|
+
ASSISTANT_PLUGIN
|
|
8
|
+
} from "./chunk-BB2TAT4P.mjs";
|
|
9
|
+
|
|
10
|
+
// packages/plugins/plugin-assistant/src/components/AssistantSettings/AssistantSettings.tsx
|
|
11
|
+
import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
|
|
12
|
+
import React from "react";
|
|
13
|
+
import { DEFAULT_EDGE_MODELS, DEFAULT_OLLAMA_MODELS } from "@dxos/ai";
|
|
14
|
+
import { Input, Select, useTranslation } from "@dxos/react-ui";
|
|
15
|
+
import { DeprecatedFormContainer, DeprecatedFormInput } from "@dxos/react-ui-form";
|
|
16
|
+
var DEFAULT_VALUE = "__default";
|
|
17
|
+
var LLM_PROVIDER_LABELS = {
|
|
18
|
+
edge: "DXOS",
|
|
19
|
+
ollama: "Ollama",
|
|
20
|
+
lmstudio: "LM Studio"
|
|
21
|
+
};
|
|
22
|
+
var AssistantSettings = ({ settings }) => {
|
|
23
|
+
var _effect = _useSignals();
|
|
24
|
+
try {
|
|
25
|
+
const { t } = useTranslation(ASSISTANT_PLUGIN);
|
|
26
|
+
return /* @__PURE__ */ React.createElement(DeprecatedFormContainer, null, /* @__PURE__ */ React.createElement(DeprecatedFormInput, {
|
|
27
|
+
label: t("settings custom prompts label")
|
|
28
|
+
}, /* @__PURE__ */ React.createElement(Input.Switch, {
|
|
29
|
+
checked: !!settings.customPrompts,
|
|
30
|
+
onCheckedChange: (checked) => settings.customPrompts = checked
|
|
31
|
+
})), /* @__PURE__ */ React.createElement(DeprecatedFormInput, {
|
|
32
|
+
label: t("settings llm provider label")
|
|
33
|
+
}, /* @__PURE__ */ React.createElement(Select.Root, {
|
|
34
|
+
value: settings.llmProvider ?? "edge",
|
|
35
|
+
onValueChange: (value) => {
|
|
36
|
+
settings.llmProvider = value === DEFAULT_VALUE ? void 0 : value;
|
|
37
|
+
}
|
|
38
|
+
}, /* @__PURE__ */ React.createElement(Select.TriggerButton, {
|
|
39
|
+
placeholder: t("settings llm provider label")
|
|
40
|
+
}), /* @__PURE__ */ React.createElement(Select.Portal, null, /* @__PURE__ */ React.createElement(Select.Content, null, /* @__PURE__ */ React.createElement(Select.Viewport, null, /* @__PURE__ */ React.createElement(Select.Option, {
|
|
41
|
+
value: DEFAULT_VALUE
|
|
42
|
+
}, t("settings default label")), LLM_PROVIDERS.map((model) => /* @__PURE__ */ React.createElement(Select.Option, {
|
|
43
|
+
key: model,
|
|
44
|
+
value: model
|
|
45
|
+
}, LLM_PROVIDER_LABELS[model]))))))), /* @__PURE__ */ React.createElement(DeprecatedFormInput, {
|
|
46
|
+
label: t("settings edge llm model label")
|
|
47
|
+
}, /* @__PURE__ */ React.createElement(Select.Root, {
|
|
48
|
+
value: settings.edgeModel ?? DEFAULT_VALUE,
|
|
49
|
+
onValueChange: (value) => {
|
|
50
|
+
settings.edgeModel = value === DEFAULT_VALUE ? void 0 : value;
|
|
51
|
+
}
|
|
52
|
+
}, /* @__PURE__ */ React.createElement(Select.TriggerButton, {
|
|
53
|
+
placeholder: t("settings default llm model label")
|
|
54
|
+
}), /* @__PURE__ */ React.createElement(Select.Portal, null, /* @__PURE__ */ React.createElement(Select.Content, null, /* @__PURE__ */ React.createElement(Select.Viewport, null, /* @__PURE__ */ React.createElement(Select.Option, {
|
|
55
|
+
value: DEFAULT_VALUE
|
|
56
|
+
}, t("settings default label")), DEFAULT_EDGE_MODELS.map((model) => /* @__PURE__ */ React.createElement(Select.Option, {
|
|
57
|
+
key: model,
|
|
58
|
+
value: model
|
|
59
|
+
}, model))))))), /* @__PURE__ */ React.createElement(DeprecatedFormInput, {
|
|
60
|
+
label: t("settings ollama llm model label")
|
|
61
|
+
}, /* @__PURE__ */ React.createElement(Select.Root, {
|
|
62
|
+
value: settings.ollamaModel ?? DEFAULT_VALUE,
|
|
63
|
+
onValueChange: (value) => {
|
|
64
|
+
settings.ollamaModel = value === DEFAULT_VALUE ? void 0 : value;
|
|
65
|
+
}
|
|
66
|
+
}, /* @__PURE__ */ React.createElement(Select.TriggerButton, {
|
|
67
|
+
placeholder: t("settings default llm model label")
|
|
68
|
+
}), /* @__PURE__ */ React.createElement(Select.Portal, null, /* @__PURE__ */ React.createElement(Select.Content, null, /* @__PURE__ */ React.createElement(Select.Viewport, null, /* @__PURE__ */ React.createElement(Select.Option, {
|
|
69
|
+
value: DEFAULT_VALUE
|
|
70
|
+
}, t("settings default label")), DEFAULT_OLLAMA_MODELS.map((model) => /* @__PURE__ */ React.createElement(Select.Option, {
|
|
71
|
+
key: model,
|
|
72
|
+
value: model
|
|
73
|
+
}, model))))))));
|
|
74
|
+
} finally {
|
|
75
|
+
_effect.f();
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
// packages/plugins/plugin-assistant/src/components/PromptSettings.tsx
|
|
80
|
+
import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
|
|
81
|
+
import { Match } from "effect";
|
|
82
|
+
import React2, { useCallback } from "react";
|
|
83
|
+
import { debounce } from "@dxos/async";
|
|
84
|
+
import { Input as Input2, Select as Select2, Toolbar, useTranslation as useTranslation2 } from "@dxos/react-ui";
|
|
85
|
+
var PromptSettings = ({ template }) => {
|
|
86
|
+
var _effect = _useSignals2();
|
|
87
|
+
try {
|
|
88
|
+
const { t } = useTranslation2(ASSISTANT_PLUGIN);
|
|
89
|
+
const handleKindChange = useCallback((value) => {
|
|
90
|
+
const kind = Match.type().pipe(Match.withReturnType(), Match.when("always", () => ({
|
|
91
|
+
include: "always"
|
|
92
|
+
})), Match.when("schema-matching", () => ({
|
|
93
|
+
include: "schema-matching",
|
|
94
|
+
typename: ""
|
|
95
|
+
})), Match.when("automatically", () => ({
|
|
96
|
+
include: "automatically",
|
|
97
|
+
description: ""
|
|
98
|
+
})), Match.orElse(() => ({
|
|
99
|
+
include: "manual"
|
|
100
|
+
})))(value);
|
|
101
|
+
template.kind = kind;
|
|
102
|
+
}, [
|
|
103
|
+
template
|
|
104
|
+
]);
|
|
105
|
+
const handleTypenameChange = useCallback(debounce((event) => {
|
|
106
|
+
if (template.kind.include === "schema-matching") {
|
|
107
|
+
template.kind.typename = event.target.value;
|
|
108
|
+
}
|
|
109
|
+
}, 300), [
|
|
110
|
+
template.kind.include
|
|
111
|
+
]);
|
|
112
|
+
const handleDescriptionChange = useCallback(debounce((event) => {
|
|
113
|
+
if (template.kind.include === "automatically") {
|
|
114
|
+
template.kind.description = event.target.value;
|
|
115
|
+
}
|
|
116
|
+
}, 300), [
|
|
117
|
+
template.kind.include
|
|
118
|
+
]);
|
|
119
|
+
return /* @__PURE__ */ React2.createElement("div", {
|
|
120
|
+
className: "p-2 flex flex-col gap-4"
|
|
121
|
+
}, /* @__PURE__ */ React2.createElement("h2", null, t("prompt rules label")), /* @__PURE__ */ React2.createElement(Toolbar.Root, null, /* @__PURE__ */ React2.createElement(Select2.Root, {
|
|
122
|
+
value: template.kind.include,
|
|
123
|
+
onValueChange: handleKindChange
|
|
124
|
+
}, /* @__PURE__ */ React2.createElement(Toolbar.Button, {
|
|
125
|
+
asChild: true
|
|
126
|
+
}, /* @__PURE__ */ React2.createElement(Select2.TriggerButton, null)), /* @__PURE__ */ React2.createElement(Select2.Portal, null, /* @__PURE__ */ React2.createElement(Select2.Content, null, /* @__PURE__ */ React2.createElement(Select2.Viewport, null, TemplateKinds.map((kind) => /* @__PURE__ */ React2.createElement(Select2.Option, {
|
|
127
|
+
key: kind,
|
|
128
|
+
value: kind
|
|
129
|
+
}, kind)))))), template.kind.include === "schema-matching" && /* @__PURE__ */ React2.createElement(Input2.Root, null, /* @__PURE__ */ React2.createElement(Input2.TextInput, {
|
|
130
|
+
placeholder: t("typename placeholder"),
|
|
131
|
+
defaultValue: template.kind.typename,
|
|
132
|
+
onChange: handleTypenameChange
|
|
133
|
+
})), template.kind.include === "automatically" && /* @__PURE__ */ React2.createElement(Input2.Root, null, /* @__PURE__ */ React2.createElement(Input2.TextInput, {
|
|
134
|
+
placeholder: t("description placeholder"),
|
|
135
|
+
defaultValue: template.kind.description,
|
|
136
|
+
onChange: handleDescriptionChange
|
|
137
|
+
}))));
|
|
138
|
+
} finally {
|
|
139
|
+
_effect.f();
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
|
|
143
|
+
// packages/plugins/plugin-assistant/src/components/index.ts
|
|
144
|
+
import { lazy } from "react";
|
|
145
|
+
var AssistantDialog = lazy(() => import("./AssistantDialog-DONAO6SA.mjs"));
|
|
146
|
+
var BlueprintEditor = lazy(() => import("./BlueprintEditor-CTARB2FO.mjs"));
|
|
147
|
+
var ChatContainer = lazy(() => import("./ChatContainer-FVIGCDIG.mjs"));
|
|
148
|
+
var TemplateContainer = lazy(() => import("./TemplateContainer-IVDQ4XQG.mjs"));
|
|
149
|
+
|
|
150
|
+
export {
|
|
151
|
+
AssistantSettings,
|
|
152
|
+
PromptSettings,
|
|
153
|
+
AssistantDialog,
|
|
154
|
+
BlueprintEditor,
|
|
155
|
+
ChatContainer,
|
|
156
|
+
TemplateContainer
|
|
157
|
+
};
|
|
158
|
+
//# sourceMappingURL=chunk-GJE4WCUJ.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/AssistantSettings/AssistantSettings.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 { DeprecatedFormContainer, DeprecatedFormInput } from '@dxos/react-ui-form';\n\nimport { ASSISTANT_PLUGIN } from '../../meta';\nimport { LLM_PROVIDERS, type AssistantSettingsProps } 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: AssistantSettingsProps }) => {\n const { t } = useTranslation(ASSISTANT_PLUGIN);\n\n return (\n <DeprecatedFormContainer>\n <DeprecatedFormInput label={t('settings custom prompts label')}>\n <Input.Switch\n checked={!!settings.customPrompts}\n onCheckedChange={(checked) => (settings.customPrompts = checked)}\n />\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={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.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={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.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={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.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n </DeprecatedFormContainer>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Match, type Schema } from 'effect';\nimport React, { type ChangeEvent, useCallback } from 'react';\n\nimport { debounce } from '@dxos/async';\nimport { Input, Select, Toolbar, useTranslation } from '@dxos/react-ui';\n\nimport { ASSISTANT_PLUGIN } from '../meta';\nimport { TemplateKinds, type TemplateType, type TemplateKindSchema } from '../types';\n\nexport const PromptSettings = ({ template }: { template: TemplateType }) => {\n const { t } = useTranslation(ASSISTANT_PLUGIN);\n\n const handleKindChange = useCallback(\n (value: string) => {\n const kind = Match.type<string>().pipe(\n Match.withReturnType<Schema.Schema.Type<typeof TemplateKindSchema>>(),\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='p-2 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 {TemplateKinds.map((kind) => (\n <Select.Option key={kind} value={kind}>\n {kind}\n </Select.Option>\n ))}\n </Select.Viewport>\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 './AmbientDialog';\nexport * from './AssistantSettings';\nexport * from './Prompt';\nexport * from './PromptSettings';\nexport * from './TemplateEditor';\nexport * from './Thread';\nexport * from './Toolbox';\n\n// TODO(burdon): Lazy loading causes issues with Tabster.\n// Repro: open assistant dialog then close.\n// https://github.com/microsoft/fluentui/issues/34020\nexport const AssistantDialog = lazy(() => import('./AssistantDialog'));\nexport const BlueprintEditor = lazy(() => import('./BlueprintEditor'));\nexport const ChatContainer = lazy(() => import('./ChatContainer'));\nexport const TemplateContainer = lazy(() => import('./TemplateContainer'));\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["React", "DEFAULT_EDGE_MODELS", "DEFAULT_OLLAMA_MODELS", "Input", "Select", "useTranslation", "DeprecatedFormContainer", "DeprecatedFormInput", "DEFAULT_VALUE", "LLM_PROVIDER_LABELS", "edge", "ollama", "lmstudio", "AssistantSettings", "settings", "t", "useTranslation", "ASSISTANT_PLUGIN", "DeprecatedFormContainer", "DeprecatedFormInput", "label", "Input", "Switch", "checked", "customPrompts", "onCheckedChange", "Select", "Root", "value", "llmProvider", "onValueChange", "undefined", "TriggerButton", "placeholder", "Portal", "Content", "Viewport", "Option", "LLM_PROVIDERS", "map", "model", "key", "edgeModel", "DEFAULT_EDGE_MODELS", "ollamaModel", "DEFAULT_OLLAMA_MODELS", "Match", "React", "useCallback", "debounce", "Input", "Select", "Toolbar", "useTranslation", "PromptSettings", "template", "t", "useTranslation", "ASSISTANT_PLUGIN", "handleKindChange", "useCallback", "value", "kind", "Match", "type", "pipe", "withReturnType", "when", "include", "typename", "description", "orElse", "handleTypenameChange", "debounce", "event", "target", "handleDescriptionChange", "React", "div", "className", "h2", "Toolbar", "Root", "Select", "onValueChange", "Button", "asChild", "TriggerButton", "Portal", "Content", "Viewport", "TemplateKinds", "map", "Option", "key", "Input", "TextInput", "placeholder", "defaultValue", "onChange", "lazy", "AssistantDialog", "lazy", "BlueprintEditor", "ChatContainer", "TemplateContainer"]
|
|
7
|
+
}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
ASSISTANT_PLUGIN
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-BB2TAT4P.mjs";
|
|
5
5
|
|
|
6
6
|
// packages/plugins/plugin-assistant/src/capabilities/capabilities.ts
|
|
7
7
|
import { defineCapability } from "@dxos/app-framework";
|
|
8
|
-
var AssistantCapabilities;
|
|
9
8
|
(function(AssistantCapabilities2) {
|
|
10
9
|
AssistantCapabilities2.AiClient = defineCapability(`${ASSISTANT_PLUGIN}/capability/ai-client`);
|
|
11
10
|
})(AssistantCapabilities || (AssistantCapabilities = {}));
|
|
11
|
+
var AssistantCapabilities;
|
|
12
12
|
|
|
13
13
|
export {
|
|
14
14
|
AssistantCapabilities
|
|
15
15
|
};
|
|
16
|
-
//# sourceMappingURL=chunk-
|
|
16
|
+
//# sourceMappingURL=chunk-HLPGKJ7N.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/capabilities.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type ReadonlySignal } from '@preact/signals-core';\n\nimport { type AIServiceClient } from '@dxos/ai';\nimport { defineCapability } from '@dxos/app-framework';\n\nimport { ASSISTANT_PLUGIN } from '../meta';\n\nexport namespace AssistantCapabilities {\n export const AiClient = defineCapability<ReadonlySignal<AIServiceClient>>(`${ASSISTANT_PLUGIN}/capability/ai-client`);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;AAOA,SAASA,wBAAwB;UAIhBC,wBAAAA;yBACFC,WAAWC,iBAAkD,GAAGC,gBAAAA,uBAAuC;AACtH,GAFiBH,0BAAAA,wBAAAA,CAAAA,EAAAA;;",
|
|
6
|
+
"names": ["defineCapability", "AssistantCapabilities", "AiClient", "defineCapability", "ASSISTANT_PLUGIN"]
|
|
7
|
+
}
|