@dxos/plugin-assistant 0.8.1-main.303c73a → 0.8.1-main.81238a8
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-T5OJUIIV.mjs → AssistantDialog-L5RHNMU4.mjs} +6 -5
- package/dist/lib/browser/{AssistantDialog-T5OJUIIV.mjs.map → AssistantDialog-L5RHNMU4.mjs.map} +3 -3
- package/dist/lib/browser/{ChatContainer-FEZ323HB.mjs → ChatContainer-EEEVE62F.mjs} +5 -5
- package/dist/lib/browser/TemplateContainer-7IQ6V5AD.mjs +78 -0
- package/dist/lib/browser/TemplateContainer-7IQ6V5AD.mjs.map +7 -0
- package/dist/lib/browser/ai-client-BAPVMSNX.mjs +35 -0
- package/dist/lib/browser/ai-client-BAPVMSNX.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-builder-AXAIFOGV.mjs → app-graph-builder-DTCUWBKB.mjs} +57 -13
- package/dist/lib/browser/app-graph-builder-DTCUWBKB.mjs.map +7 -0
- package/dist/lib/browser/{chunk-TCAE72QU.mjs → chunk-5RMJYOT7.mjs} +34 -12
- package/dist/lib/browser/chunk-5RMJYOT7.mjs.map +7 -0
- package/dist/lib/browser/{chunk-EUMPBC4T.mjs → chunk-6FTPLBSC.mjs} +2 -2
- package/dist/lib/browser/{chunk-NV7SVHMV.mjs → chunk-AF7VQAKS.mjs} +1 -1
- package/dist/lib/browser/{chunk-NV7SVHMV.mjs.map → chunk-AF7VQAKS.mjs.map} +2 -2
- package/dist/lib/browser/{chunk-NTLTGYYS.mjs → chunk-SVUCJXGN.mjs} +2 -2
- package/dist/lib/browser/chunk-SVUCJXGN.mjs.map +7 -0
- package/dist/lib/browser/{chunk-FRIKXDDQ.mjs → chunk-X6ALDUA5.mjs} +26 -4
- package/dist/lib/browser/chunk-X6ALDUA5.mjs.map +7 -0
- package/dist/lib/browser/{chunk-SUUECBDM.mjs → chunk-XFUCWOMV.mjs} +261 -60
- package/dist/lib/browser/chunk-XFUCWOMV.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +21 -11
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-QRVRZL6K.mjs → intent-resolver-U57FXP3I.mjs} +6 -3
- package/dist/lib/browser/{intent-resolver-QRVRZL6K.mjs.map → intent-resolver-U57FXP3I.mjs.map} +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-B463WHMD.mjs → react-surface-KFLHNDNR.mjs} +10 -9
- package/dist/lib/browser/react-surface-KFLHNDNR.mjs.map +7 -0
- package/dist/lib/browser/{settings-JTT62IHD.mjs → settings-VAW6UWFL.mjs} +3 -3
- package/dist/lib/browser/types/index.mjs +6 -2
- package/dist/lib/node/{AssistantDialog-EZ5RBGPX.cjs → AssistantDialog-VIB7GPQN.cjs} +12 -11
- package/dist/lib/node/{AssistantDialog-EZ5RBGPX.cjs.map → AssistantDialog-VIB7GPQN.cjs.map} +3 -3
- package/dist/lib/node/{ChatContainer-FNYVBPZZ.cjs → ChatContainer-BPI3GEZS.cjs} +10 -10
- package/dist/lib/node/TemplateContainer-VPAZRFQA.cjs +104 -0
- package/dist/lib/node/TemplateContainer-VPAZRFQA.cjs.map +7 -0
- package/dist/lib/node/{ai-client-RBDOGK6W.cjs → ai-client-5ESLYXAV.cjs} +19 -19
- package/dist/lib/node/ai-client-5ESLYXAV.cjs.map +7 -0
- package/dist/lib/node/{app-graph-builder-D7SHQTZS.cjs → app-graph-builder-3P6WSON2.cjs} +63 -20
- package/dist/lib/node/app-graph-builder-3P6WSON2.cjs.map +7 -0
- package/dist/lib/node/{chunk-37GI4NYH.cjs → chunk-KLSNCP34.cjs} +33 -9
- package/dist/lib/node/chunk-KLSNCP34.cjs.map +7 -0
- package/dist/lib/node/{chunk-NV4TQQSU.cjs → chunk-N3SW6DJ6.cjs} +6 -6
- package/dist/lib/node/{chunk-RWY7LVFJ.cjs → chunk-OJJ4F6KP.cjs} +266 -69
- package/dist/lib/node/chunk-OJJ4F6KP.cjs.map +7 -0
- package/dist/lib/node/{chunk-GNPXCHFT.cjs → chunk-U6J2GO7I.cjs} +4 -4
- package/dist/lib/node/{chunk-GNPXCHFT.cjs.map → chunk-U6J2GO7I.cjs.map} +2 -2
- package/dist/lib/node/{chunk-3WXG6WA6.cjs → chunk-VRXFIS4X.cjs} +6 -6
- package/dist/lib/node/chunk-VRXFIS4X.cjs.map +7 -0
- package/dist/lib/node/{chunk-PMA7XUWM.cjs → chunk-WFVOWPKV.cjs} +40 -18
- package/dist/lib/node/chunk-WFVOWPKV.cjs.map +7 -0
- package/dist/lib/node/index.cjs +73 -63
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/{intent-resolver-YMMAFVOB.cjs → intent-resolver-YIFAMM3B.cjs} +13 -10
- package/dist/lib/node/{intent-resolver-YMMAFVOB.cjs.map → intent-resolver-YIFAMM3B.cjs.map} +3 -3
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-surface-RTYCL4GP.cjs → react-surface-REI6G6B3.cjs} +25 -24
- package/dist/lib/node/react-surface-REI6G6B3.cjs.map +7 -0
- package/dist/lib/node/{settings-4YEO7KXF.cjs → settings-2FEYGLYU.cjs} +8 -8
- package/dist/lib/node/types/index.cjs +15 -11
- package/dist/lib/node/types/index.cjs.map +2 -2
- package/dist/lib/node-esm/{AssistantDialog-57ZCJNSL.mjs → AssistantDialog-R3EPF2KL.mjs} +6 -5
- package/dist/lib/node-esm/{AssistantDialog-57ZCJNSL.mjs.map → AssistantDialog-R3EPF2KL.mjs.map} +3 -3
- package/dist/lib/node-esm/{ChatContainer-XYNXFPFT.mjs → ChatContainer-UJ7MV7GU.mjs} +5 -5
- package/dist/lib/node-esm/TemplateContainer-YLA6BJY6.mjs +79 -0
- package/dist/lib/node-esm/TemplateContainer-YLA6BJY6.mjs.map +7 -0
- package/dist/lib/node-esm/ai-client-XYZ5N7CR.mjs +36 -0
- package/dist/lib/node-esm/ai-client-XYZ5N7CR.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-builder-H2GC2AZA.mjs → app-graph-builder-PMAQLTTN.mjs} +57 -13
- package/dist/lib/node-esm/app-graph-builder-PMAQLTTN.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-ICQN3TDS.mjs → chunk-2CIYX3SD.mjs} +2 -2
- package/dist/lib/node-esm/chunk-2CIYX3SD.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-YVEPFSWR.mjs → chunk-6GBMQIW7.mjs} +34 -12
- package/dist/lib/node-esm/chunk-6GBMQIW7.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-3HFSWIA5.mjs → chunk-AMTHOYNB.mjs} +261 -60
- package/dist/lib/node-esm/chunk-AMTHOYNB.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-LBQGJE5T.mjs → chunk-J63VQFQO.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-7SV6X6XU.mjs → chunk-N6BVC2C2.mjs} +1 -1
- package/dist/lib/node-esm/{chunk-7SV6X6XU.mjs.map → chunk-N6BVC2C2.mjs.map} +2 -2
- package/dist/lib/node-esm/{chunk-CJ4Y3QW5.mjs → chunk-NMMRHHAR.mjs} +26 -4
- package/dist/lib/node-esm/chunk-NMMRHHAR.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +21 -11
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-MR7BOKEW.mjs → intent-resolver-SQ4HLL5L.mjs} +6 -3
- package/dist/lib/node-esm/{intent-resolver-MR7BOKEW.mjs.map → intent-resolver-SQ4HLL5L.mjs.map} +3 -3
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-Y4RK56TT.mjs → react-surface-LE57AGPI.mjs} +10 -9
- package/dist/lib/node-esm/react-surface-LE57AGPI.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-S7P5RWQI.mjs → settings-VHR5KT4J.mjs} +3 -3
- 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 +2 -1
- package/dist/types/src/capabilities/ai-client.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts +2 -1
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +1 -1
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/components/AssistantDialog.d.ts.map +1 -1
- package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +1 -1
- package/dist/types/src/components/Prompt/Prompt.d.ts +3 -0
- package/dist/types/src/components/Prompt/Prompt.d.ts.map +1 -1
- package/dist/types/src/components/Prompt/Prompt.stories.d.ts +1 -0
- package/dist/types/src/components/Prompt/Prompt.stories.d.ts.map +1 -1
- package/dist/types/src/components/Prompt/PromptBar.d.ts +2 -2
- package/dist/types/src/components/Prompt/PromptBar.d.ts.map +1 -1
- package/dist/types/src/components/Prompt/references.d.ts +30 -0
- package/dist/types/src/components/Prompt/references.d.ts.map +1 -0
- package/dist/types/src/components/TemplateContainer.d.ts.map +1 -1
- package/dist/types/src/components/Thread/Thread.d.ts +11 -1
- package/dist/types/src/components/Thread/Thread.d.ts.map +1 -1
- package/dist/types/src/components/Thread/ThreadContainer.d.ts +1 -0
- package/dist/types/src/components/Thread/ThreadContainer.d.ts.map +1 -1
- package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/Thread/ThreadMessage.d.ts.map +1 -1
- package/dist/types/src/components/Toolbox/Toolbox.d.ts +1 -1
- package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/hooks/index.d.ts +1 -0
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/invocation-handler.d.ts +1 -1
- package/dist/types/src/hooks/invocation-handler.d.ts.map +1 -1
- package/dist/types/src/hooks/processor.d.ts +2 -2
- package/dist/types/src/hooks/processor.d.ts.map +1 -1
- package/dist/types/src/hooks/useChatProcessor.d.ts +9 -2
- package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
- package/dist/types/src/hooks/useContextProvider.d.ts +17 -0
- package/dist/types/src/hooks/useContextProvider.d.ts.map +1 -0
- package/dist/types/src/hooks/useMessageQueue.d.ts +4 -4
- package/dist/types/src/hooks/useMessageQueue.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +2 -8
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/testing/test-functions.d.ts.map +1 -1
- package/dist/types/src/tools/function.d.ts +1 -1
- package/dist/types/src/tools/function.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +21 -6
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/service.d.ts +1 -1
- package/dist/types/src/types/service.d.ts.map +1 -1
- package/dist/types/src/types/template.d.ts +36 -0
- package/dist/types/src/types/template.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +3 -1
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/package.json +56 -55
- package/src/AssistantPlugin.tsx +11 -2
- package/src/capabilities/ai-client.ts +23 -7
- package/src/capabilities/app-graph-builder.ts +48 -4
- package/src/capabilities/capabilities.ts +3 -1
- package/src/capabilities/intent-resolver.ts +1 -1
- package/src/capabilities/react-surface.tsx +3 -2
- package/src/components/AssistantDialog.tsx +7 -1
- package/src/components/AssistantSettings/AssistantSettings.tsx +39 -5
- package/src/components/Prompt/Prompt.stories.tsx +34 -0
- package/src/components/Prompt/Prompt.tsx +9 -2
- package/src/components/Prompt/PromptBar.tsx +3 -1
- package/src/components/Prompt/references.ts +180 -0
- package/src/components/TemplateContainer.tsx +79 -4
- package/src/components/TemplateEditor/TemplateEditor.stories.tsx +1 -1
- package/src/components/TemplateEditor/TemplateForm.stories.tsx +1 -1
- package/src/components/Thread/Thread.tsx +21 -0
- package/src/components/Thread/ThreadContainer.stories.tsx +3 -6
- package/src/components/Thread/ThreadContainer.tsx +7 -4
- package/src/components/Thread/ThreadMessage.tsx +17 -9
- package/src/components/Toolbox/Toolbox.tsx +1 -1
- package/src/components/index.ts +3 -0
- package/src/hooks/index.ts +1 -0
- package/src/hooks/invocation-handler.ts +3 -5
- package/src/hooks/processor.ts +5 -5
- package/src/hooks/useChatProcessor.tsx +24 -15
- package/src/hooks/useContextProvider.ts +55 -0
- package/src/hooks/useLocalTriggerManager.ts +1 -1
- package/src/hooks/useMessageQueue.ts +2 -4
- package/src/meta.ts +2 -2
- package/src/testing/test-functions.ts +2 -2
- package/src/tools/function.ts +2 -2
- package/src/translations.ts +8 -3
- package/src/types/service.ts +1 -1
- package/src/types/template.ts +22 -0
- package/src/types/types.ts +3 -1
- package/dist/lib/browser/TemplateContainer-B7MQNUPY.mjs +0 -23
- package/dist/lib/browser/TemplateContainer-B7MQNUPY.mjs.map +0 -7
- package/dist/lib/browser/ai-client-PORKRZXM.mjs +0 -33
- package/dist/lib/browser/ai-client-PORKRZXM.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-AXAIFOGV.mjs.map +0 -7
- package/dist/lib/browser/chunk-FRIKXDDQ.mjs.map +0 -7
- package/dist/lib/browser/chunk-NTLTGYYS.mjs.map +0 -7
- package/dist/lib/browser/chunk-SUUECBDM.mjs.map +0 -7
- package/dist/lib/browser/chunk-TCAE72QU.mjs.map +0 -7
- package/dist/lib/browser/react-surface-B463WHMD.mjs.map +0 -7
- package/dist/lib/node/TemplateContainer-R4BZZP3E.cjs +0 -53
- package/dist/lib/node/TemplateContainer-R4BZZP3E.cjs.map +0 -7
- package/dist/lib/node/ai-client-RBDOGK6W.cjs.map +0 -7
- package/dist/lib/node/app-graph-builder-D7SHQTZS.cjs.map +0 -7
- package/dist/lib/node/chunk-37GI4NYH.cjs.map +0 -7
- package/dist/lib/node/chunk-3WXG6WA6.cjs.map +0 -7
- package/dist/lib/node/chunk-PMA7XUWM.cjs.map +0 -7
- package/dist/lib/node/chunk-RWY7LVFJ.cjs.map +0 -7
- package/dist/lib/node/react-surface-RTYCL4GP.cjs.map +0 -7
- package/dist/lib/node-esm/TemplateContainer-WSHTZBB5.mjs +0 -24
- package/dist/lib/node-esm/TemplateContainer-WSHTZBB5.mjs.map +0 -7
- package/dist/lib/node-esm/ai-client-OTZVBDUH.mjs +0 -34
- package/dist/lib/node-esm/ai-client-OTZVBDUH.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-H2GC2AZA.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-3HFSWIA5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-CJ4Y3QW5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-ICQN3TDS.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-YVEPFSWR.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-Y4RK56TT.mjs.map +0 -7
- /package/dist/lib/browser/{ChatContainer-FEZ323HB.mjs.map → ChatContainer-EEEVE62F.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-EUMPBC4T.mjs.map → chunk-6FTPLBSC.mjs.map} +0 -0
- /package/dist/lib/browser/{settings-JTT62IHD.mjs.map → settings-VAW6UWFL.mjs.map} +0 -0
- /package/dist/lib/node/{ChatContainer-FNYVBPZZ.cjs.map → ChatContainer-BPI3GEZS.cjs.map} +0 -0
- /package/dist/lib/node/{chunk-NV4TQQSU.cjs.map → chunk-N3SW6DJ6.cjs.map} +0 -0
- /package/dist/lib/node/{settings-4YEO7KXF.cjs.map → settings-2FEYGLYU.cjs.map} +0 -0
- /package/dist/lib/node-esm/{ChatContainer-XYNXFPFT.mjs.map → ChatContainer-UJ7MV7GU.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-LBQGJE5T.mjs.map → chunk-J63VQFQO.mjs.map} +0 -0
- /package/dist/lib/node-esm/{settings-S7P5RWQI.mjs.map → settings-VHR5KT4J.mjs.map} +0 -0
|
@@ -3,6 +3,7 @@ declare const _default: {
|
|
|
3
3
|
[x: string]: {
|
|
4
4
|
'typename label': string;
|
|
5
5
|
'chat title placeholder'?: undefined;
|
|
6
|
+
'templates label'?: undefined;
|
|
6
7
|
'template title placeholder'?: undefined;
|
|
7
8
|
'open ambient chat label'?: undefined;
|
|
8
9
|
'plugin name'?: undefined;
|
|
@@ -13,6 +14,8 @@ declare const _default: {
|
|
|
13
14
|
'command placeholder'?: undefined;
|
|
14
15
|
'template placeholder'?: undefined;
|
|
15
16
|
'value placeholder'?: undefined;
|
|
17
|
+
'typename placeholder'?: undefined;
|
|
18
|
+
'description placeholder'?: undefined;
|
|
16
19
|
'select preset template placeholder'?: undefined;
|
|
17
20
|
'service registry label'?: undefined;
|
|
18
21
|
'assistant dialog title'?: undefined;
|
|
@@ -22,11 +25,14 @@ declare const _default: {
|
|
|
22
25
|
'prompt placeholder'?: undefined;
|
|
23
26
|
'microphone button'?: undefined;
|
|
24
27
|
'cancel processing button'?: undefined;
|
|
28
|
+
'settings default label'?: undefined;
|
|
25
29
|
'settings custom prompts label'?: undefined;
|
|
26
|
-
'settings llm
|
|
27
|
-
'settings
|
|
30
|
+
'settings llm provider label'?: undefined;
|
|
31
|
+
'settings edge llm model label'?: undefined;
|
|
32
|
+
'settings ollama llm model label'?: undefined;
|
|
28
33
|
} | {
|
|
29
34
|
'chat title placeholder': string;
|
|
35
|
+
'templates label': string;
|
|
30
36
|
'template title placeholder': string;
|
|
31
37
|
'open ambient chat label': string;
|
|
32
38
|
'plugin name': string;
|
|
@@ -37,6 +43,8 @@ declare const _default: {
|
|
|
37
43
|
'command placeholder': string;
|
|
38
44
|
'template placeholder': string;
|
|
39
45
|
'value placeholder': string;
|
|
46
|
+
'typename placeholder': string;
|
|
47
|
+
'description placeholder': string;
|
|
40
48
|
'select preset template placeholder': string;
|
|
41
49
|
'service registry label': string;
|
|
42
50
|
'assistant dialog title': string;
|
|
@@ -46,13 +54,16 @@ declare const _default: {
|
|
|
46
54
|
'prompt placeholder': string;
|
|
47
55
|
'microphone button': string;
|
|
48
56
|
'cancel processing button': string;
|
|
57
|
+
'settings default label': string;
|
|
49
58
|
'settings custom prompts label': string;
|
|
50
|
-
'settings llm
|
|
51
|
-
'settings
|
|
59
|
+
'settings llm provider label': string;
|
|
60
|
+
'settings edge llm model label': string;
|
|
61
|
+
'settings ollama llm model label': string;
|
|
52
62
|
'typename label'?: undefined;
|
|
53
63
|
};
|
|
54
64
|
"dxos.org/plugin/assistant": {
|
|
55
65
|
'chat title placeholder': string;
|
|
66
|
+
'templates label': string;
|
|
56
67
|
'template title placeholder': string;
|
|
57
68
|
'open ambient chat label': string;
|
|
58
69
|
'plugin name': string;
|
|
@@ -63,6 +74,8 @@ declare const _default: {
|
|
|
63
74
|
'command placeholder': string;
|
|
64
75
|
'template placeholder': string;
|
|
65
76
|
'value placeholder': string;
|
|
77
|
+
'typename placeholder': string;
|
|
78
|
+
'description placeholder': string;
|
|
66
79
|
'select preset template placeholder': string;
|
|
67
80
|
'service registry label': string;
|
|
68
81
|
'assistant dialog title': string;
|
|
@@ -72,9 +85,11 @@ declare const _default: {
|
|
|
72
85
|
'prompt placeholder': string;
|
|
73
86
|
'microphone button': string;
|
|
74
87
|
'cancel processing button': string;
|
|
88
|
+
'settings default label': string;
|
|
75
89
|
'settings custom prompts label': string;
|
|
76
|
-
'settings llm
|
|
77
|
-
'settings
|
|
90
|
+
'settings llm provider label': string;
|
|
91
|
+
'settings edge llm model label': string;
|
|
92
|
+
'settings ollama llm model label': string;
|
|
78
93
|
};
|
|
79
94
|
};
|
|
80
95
|
}[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,wBA8CE"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ComputeGraph } from '@dxos/conductor';
|
|
2
2
|
import { S, type Ref$ } from '@dxos/echo-schema';
|
|
3
|
-
import { FunctionType } from '@dxos/functions';
|
|
3
|
+
import { FunctionType } from '@dxos/functions/types';
|
|
4
4
|
export declare const ApiAuthorization: S.Union<[S.Struct<{
|
|
5
5
|
type: S.Literal<["api-key"]>;
|
|
6
6
|
key: typeof S.String;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/types/service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAO,CAAC,EAAe,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/types/service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAO,CAAC,EAAe,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAwBrD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;IAAsD,CAAC;AACpF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,gBAAgB,CAAC,CAAC;AA+BtE,QAAA,MAAM,gBAAgB;;QA3BK,IAAI,CAAC,YAAY,CAAC;;;cAKZ,IAAI,CAAC,YAAY,CAAC;;;IAMjD;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;;;;;;;;;;;;;;;;IAIoG,CAAC;AAC1G,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,gBAAgB,CAAC,CAAC;;;;;;;IASpE;;OAEG;;;YAvCsB,IAAI,CAAC,YAAY,CAAC;;;kBAKZ,IAAI,CAAC,YAAY,CAAC;;;QAMjD;;WAEG;;QAGH;;WAEG;;QAGH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;IAcH;;OAEG;;;YAvCsB,IAAI,CAAC,YAAY,CAAC;;;kBAKZ,IAAI,CAAC,YAAY,CAAC;;;QAMjD;;WAEG;;QAGH;;WAEG;;QAGH;;WAEG;;;;;;;;;;;;;;;;;;;AAOL,qBAAa,WAAY,SAAQ,gBAW/B;CAAG;AAML,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,aAAa,CAAC,KAAK,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;CAC7D;AAED,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAUvC,CAAC"}
|
|
@@ -15,8 +15,33 @@ export declare const TemplateInputSchema: S.mutable<S.Struct<{
|
|
|
15
15
|
value: S.optional<typeof S.String>;
|
|
16
16
|
}>>;
|
|
17
17
|
export type TemplateInput = S.Schema.Type<typeof TemplateInputSchema>;
|
|
18
|
+
export declare const TemplateKinds: readonly ["always", "schema-matching", "automatically", "manual"];
|
|
19
|
+
export type TemplateKind = (typeof TemplateKinds)[number];
|
|
20
|
+
export declare const TemplateKindSchema: S.Union<[S.Struct<{
|
|
21
|
+
include: S.Literal<["always"]>;
|
|
22
|
+
}>, S.Struct<{
|
|
23
|
+
include: S.Literal<["schema-matching"]>;
|
|
24
|
+
typename: typeof S.String;
|
|
25
|
+
}>, S.Struct<{
|
|
26
|
+
include: S.Literal<["automatically"]>;
|
|
27
|
+
description: typeof S.String;
|
|
28
|
+
}>, S.Struct<{
|
|
29
|
+
include: S.Literal<["manual"]>;
|
|
30
|
+
}>]>;
|
|
31
|
+
export type TemplateKindType = S.Schema.Type<typeof TemplateKindSchema>;
|
|
18
32
|
declare const TemplateType_base: import("@dxos/echo-schema").TypedObjectPrototype<import("@dxos/echo-schema").TypedObjectFields<{
|
|
19
33
|
name: S.optional<typeof S.String>;
|
|
34
|
+
kind: S.mutable<S.Union<[S.Struct<{
|
|
35
|
+
include: S.Literal<["always"]>;
|
|
36
|
+
}>, S.Struct<{
|
|
37
|
+
include: S.Literal<["schema-matching"]>;
|
|
38
|
+
typename: typeof S.String;
|
|
39
|
+
}>, S.Struct<{
|
|
40
|
+
include: S.Literal<["automatically"]>;
|
|
41
|
+
description: typeof S.String;
|
|
42
|
+
}>, S.Struct<{
|
|
43
|
+
include: S.Literal<["manual"]>;
|
|
44
|
+
}>]>>;
|
|
20
45
|
source: typeof S.String;
|
|
21
46
|
inputs: S.optional<S.mutable<S.Array$<S.mutable<S.Struct<{
|
|
22
47
|
name: typeof S.String;
|
|
@@ -26,6 +51,17 @@ declare const TemplateType_base: import("@dxos/echo-schema").TypedObjectPrototyp
|
|
|
26
51
|
command: S.optional<typeof S.String>;
|
|
27
52
|
}, import("@dxos/echo-schema").TypedObjectOptions>, S.Struct.Encoded<{
|
|
28
53
|
name: S.optional<typeof S.String>;
|
|
54
|
+
kind: S.mutable<S.Union<[S.Struct<{
|
|
55
|
+
include: S.Literal<["always"]>;
|
|
56
|
+
}>, S.Struct<{
|
|
57
|
+
include: S.Literal<["schema-matching"]>;
|
|
58
|
+
typename: typeof S.String;
|
|
59
|
+
}>, S.Struct<{
|
|
60
|
+
include: S.Literal<["automatically"]>;
|
|
61
|
+
description: typeof S.String;
|
|
62
|
+
}>, S.Struct<{
|
|
63
|
+
include: S.Literal<["manual"]>;
|
|
64
|
+
}>]>>;
|
|
29
65
|
source: typeof S.String;
|
|
30
66
|
inputs: S.optional<S.mutable<S.Array$<S.mutable<S.Struct<{
|
|
31
67
|
name: typeof S.String;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../../../src/types/template.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAe,MAAM,mBAAmB,CAAC;AAGnD,oBAAY,iBAAiB;IAC3B,KAAK,IAAI;IACT,YAAY,IAAI;IAChB,SAAS,IAAI;IACb,QAAQ,IAAI;IACZ,KAAK,IAAI;IACT,QAAQ,IAAI;IACZ,OAAO,IAAI;IACX,MAAM,IAAI;CACX;AAED,eAAO,MAAM,mBAAmB;;;;GAM/B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,mBAAmB,CAAC,CAAC
|
|
1
|
+
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../../../src/types/template.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAe,MAAM,mBAAmB,CAAC;AAGnD,oBAAY,iBAAiB;IAC3B,KAAK,IAAI;IACT,YAAY,IAAI;IAChB,SAAS,IAAI;IACb,QAAQ,IAAI;IACZ,KAAK,IAAI;IACT,QAAQ,IAAI;IACZ,OAAO,IAAI;IACX,MAAM,IAAI;CACX;AAED,eAAO,MAAM,mBAAmB;;;;GAM/B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEtE,eAAO,MAAM,aAAa,mEAAoE,CAAC;AAC/F,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1D,eAAO,MAAM,kBAAkB;;;;;;;;;;IAe9B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,kBAAkB,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACxE,qBAAa,YAAa,SAAQ,iBAMhC;CAAG"}
|
|
@@ -30,7 +30,9 @@ export declare namespace AssistantAction {
|
|
|
30
30
|
export {};
|
|
31
31
|
}
|
|
32
32
|
export declare const AssistantSettingsSchema: S.mutable<S.Struct<{
|
|
33
|
-
|
|
33
|
+
llmProvider: S.optional<S.Literal<["edge", "ollama"]>>;
|
|
34
|
+
edgeModel: S.optional<typeof S.String>;
|
|
35
|
+
ollamaModel: S.optional<typeof S.String>;
|
|
34
36
|
customPrompts: S.optional<typeof S.Boolean>;
|
|
35
37
|
}>>;
|
|
36
38
|
export type AssistantSettingsProps = S.Schema.Type<typeof AssistantSettingsSchema>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,yBAAiB,eAAe,CAAC;;;;;;;;;;;;IAG/B,MAAM,OAAO,UAAW,SAAQ,eAQ9B;KAAG;;;;;;;;;;;IAEL,MAAM,OAAO,cAAe,SAAQ,mBAOlC;KAAG;;CACN;AAED,eAAO,MAAM,uBAAuB
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,yBAAiB,eAAe,CAAC;;;;;;;;;;;;IAG/B,MAAM,OAAO,UAAW,SAAQ,eAQ9B;KAAG;;;;;;;;;;;IAEL,MAAM,OAAO,cAAe,SAAQ,mBAOlC;KAAG;;CACN;AAED,eAAO,MAAM,uBAAuB;;;;;GAOnC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/plugin-assistant",
|
|
3
|
-
"version": "0.8.1-main.
|
|
3
|
+
"version": "0.8.1-main.81238a8",
|
|
4
4
|
"description": "Assistant plugin",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -42,51 +42,52 @@
|
|
|
42
42
|
"@lezer/highlight": "^1.2.1",
|
|
43
43
|
"@preact/signals-core": "^1.6.0",
|
|
44
44
|
"@xiechao/codemirror-lang-handlebars": "1.0.4",
|
|
45
|
+
"effect": "3.13.3",
|
|
45
46
|
"jsonpointer": "^5.0.1",
|
|
46
47
|
"lodash.get": "^4.4.2",
|
|
47
48
|
"unified": "^11.0.0",
|
|
48
|
-
"@dxos/
|
|
49
|
-
"@dxos/
|
|
50
|
-
"@dxos/
|
|
51
|
-
"@dxos/async": "0.8.1-main.
|
|
52
|
-
"@dxos/
|
|
53
|
-
"@dxos/client": "0.8.1-main.
|
|
54
|
-
"@dxos/
|
|
55
|
-
"@dxos/
|
|
56
|
-
"@dxos/echo-db": "0.8.1-main.
|
|
57
|
-
"@dxos/
|
|
58
|
-
"@dxos/
|
|
59
|
-
"@dxos/keys": "0.8.1-main.
|
|
60
|
-
"@dxos/
|
|
61
|
-
"@dxos/local-storage": "0.8.1-main.
|
|
62
|
-
"@dxos/
|
|
63
|
-
"@dxos/
|
|
64
|
-
"@dxos/
|
|
65
|
-
"@dxos/
|
|
66
|
-
"@dxos/plugin-deck": "0.8.1-main.
|
|
67
|
-
"@dxos/plugin-
|
|
68
|
-
"@dxos/plugin-
|
|
69
|
-
"@dxos/plugin-
|
|
70
|
-
"@dxos/plugin-sketch": "0.8.1-main.
|
|
71
|
-
"@dxos/plugin-
|
|
72
|
-
"@dxos/plugin-
|
|
73
|
-
"@dxos/plugin-
|
|
74
|
-
"@dxos/plugin-
|
|
75
|
-
"@dxos/plugin-wnfs": "0.8.1-main.
|
|
76
|
-
"@dxos/react-client": "0.8.1-main.
|
|
77
|
-
"@dxos/react-edge-client": "0.8.1-main.
|
|
78
|
-
"@dxos/react-ui-canvas-
|
|
79
|
-
"@dxos/react-ui-canvas-
|
|
80
|
-
"@dxos/react-ui-dnd": "0.8.1-main.
|
|
81
|
-
"@dxos/react-ui-
|
|
82
|
-
"@dxos/react-ui-
|
|
83
|
-
"@dxos/react-ui-
|
|
84
|
-
"@dxos/react-ui-
|
|
85
|
-
"@dxos/react-ui-sfx": "0.8.1-main.
|
|
86
|
-
"@dxos/react-ui-syntax-highlighter": "0.8.1-main.
|
|
87
|
-
"@dxos/react-ui-stack": "0.8.1-main.
|
|
88
|
-
"@dxos/
|
|
89
|
-
"@dxos/
|
|
49
|
+
"@dxos/app-framework": "0.8.1-main.81238a8",
|
|
50
|
+
"@dxos/artifact": "0.8.1-main.81238a8",
|
|
51
|
+
"@dxos/assistant": "0.8.1-main.81238a8",
|
|
52
|
+
"@dxos/async": "0.8.1-main.81238a8",
|
|
53
|
+
"@dxos/compute": "0.8.1-main.81238a8",
|
|
54
|
+
"@dxos/client": "0.8.1-main.81238a8",
|
|
55
|
+
"@dxos/context": "0.8.1-main.81238a8",
|
|
56
|
+
"@dxos/conductor": "0.8.1-main.81238a8",
|
|
57
|
+
"@dxos/echo-db": "0.8.1-main.81238a8",
|
|
58
|
+
"@dxos/echo-schema": "0.8.1-main.81238a8",
|
|
59
|
+
"@dxos/edge-client": "0.8.1-main.81238a8",
|
|
60
|
+
"@dxos/keys": "0.8.1-main.81238a8",
|
|
61
|
+
"@dxos/functions": "0.8.1-main.81238a8",
|
|
62
|
+
"@dxos/local-storage": "0.8.1-main.81238a8",
|
|
63
|
+
"@dxos/live-object": "0.8.1-main.81238a8",
|
|
64
|
+
"@dxos/log": "0.8.1-main.81238a8",
|
|
65
|
+
"@dxos/plugin-client": "0.8.1-main.81238a8",
|
|
66
|
+
"@dxos/invariant": "0.8.1-main.81238a8",
|
|
67
|
+
"@dxos/plugin-deck": "0.8.1-main.81238a8",
|
|
68
|
+
"@dxos/plugin-graph": "0.8.1-main.81238a8",
|
|
69
|
+
"@dxos/plugin-inbox": "0.8.1-main.81238a8",
|
|
70
|
+
"@dxos/plugin-markdown": "0.8.1-main.81238a8",
|
|
71
|
+
"@dxos/plugin-sketch": "0.8.1-main.81238a8",
|
|
72
|
+
"@dxos/plugin-space": "0.8.1-main.81238a8",
|
|
73
|
+
"@dxos/plugin-transcription": "0.8.1-main.81238a8",
|
|
74
|
+
"@dxos/plugin-script": "0.8.1-main.81238a8",
|
|
75
|
+
"@dxos/plugin-stack": "0.8.1-main.81238a8",
|
|
76
|
+
"@dxos/plugin-wnfs": "0.8.1-main.81238a8",
|
|
77
|
+
"@dxos/react-client": "0.8.1-main.81238a8",
|
|
78
|
+
"@dxos/react-edge-client": "0.8.1-main.81238a8",
|
|
79
|
+
"@dxos/react-ui-canvas-compute": "0.8.1-main.81238a8",
|
|
80
|
+
"@dxos/react-ui-canvas-editor": "0.8.1-main.81238a8",
|
|
81
|
+
"@dxos/react-ui-dnd": "0.8.1-main.81238a8",
|
|
82
|
+
"@dxos/react-ui-components": "0.8.1-main.81238a8",
|
|
83
|
+
"@dxos/react-ui-editor": "0.8.1-main.81238a8",
|
|
84
|
+
"@dxos/react-ui-form": "0.8.1-main.81238a8",
|
|
85
|
+
"@dxos/react-ui-list": "0.8.1-main.81238a8",
|
|
86
|
+
"@dxos/react-ui-sfx": "0.8.1-main.81238a8",
|
|
87
|
+
"@dxos/react-ui-syntax-highlighter": "0.8.1-main.81238a8",
|
|
88
|
+
"@dxos/react-ui-stack": "0.8.1-main.81238a8",
|
|
89
|
+
"@dxos/schema": "0.8.1-main.81238a8",
|
|
90
|
+
"@dxos/util": "0.8.1-main.81238a8"
|
|
90
91
|
},
|
|
91
92
|
"devDependencies": {
|
|
92
93
|
"@types/lodash.get": "^4.4.7",
|
|
@@ -96,22 +97,22 @@
|
|
|
96
97
|
"react": "~18.2.0",
|
|
97
98
|
"react-dom": "~18.2.0",
|
|
98
99
|
"vite": "5.4.7",
|
|
99
|
-
"@dxos/
|
|
100
|
-
"@dxos/
|
|
101
|
-
"@dxos/plugin-chess": "0.8.1-main.
|
|
102
|
-
"@dxos/plugin-inbox": "0.8.1-main.
|
|
103
|
-
"@dxos/plugin-
|
|
104
|
-
"@dxos/
|
|
105
|
-
"@dxos/
|
|
106
|
-
"@dxos/react-ui": "0.8.1-main.
|
|
107
|
-
"@dxos/
|
|
108
|
-
"@dxos/
|
|
100
|
+
"@dxos/artifact-testing": "0.8.1-main.81238a8",
|
|
101
|
+
"@dxos/echo-db": "0.8.1-main.81238a8",
|
|
102
|
+
"@dxos/plugin-chess": "0.8.1-main.81238a8",
|
|
103
|
+
"@dxos/plugin-inbox": "0.8.1-main.81238a8",
|
|
104
|
+
"@dxos/plugin-map": "0.8.1-main.81238a8",
|
|
105
|
+
"@dxos/plugin-table": "0.8.1-main.81238a8",
|
|
106
|
+
"@dxos/random": "0.8.1-main.81238a8",
|
|
107
|
+
"@dxos/react-ui": "0.8.1-main.81238a8",
|
|
108
|
+
"@dxos/react-ui-theme": "0.8.1-main.81238a8",
|
|
109
|
+
"@dxos/storybook-utils": "0.8.1-main.81238a8"
|
|
109
110
|
},
|
|
110
111
|
"peerDependencies": {
|
|
111
112
|
"react": "~18.2.0",
|
|
112
113
|
"react-dom": "~18.2.0",
|
|
113
|
-
"@dxos/react-ui": "0.8.1-main.
|
|
114
|
-
"@dxos/react-ui-theme": "0.8.1-main.
|
|
114
|
+
"@dxos/react-ui": "0.8.1-main.81238a8",
|
|
115
|
+
"@dxos/react-ui-theme": "0.8.1-main.81238a8"
|
|
115
116
|
},
|
|
116
117
|
"publishConfig": {
|
|
117
118
|
"access": "public"
|
package/src/AssistantPlugin.tsx
CHANGED
|
@@ -2,7 +2,15 @@
|
|
|
2
2
|
// Copyright 2023 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import {
|
|
6
|
+
allOf,
|
|
7
|
+
Capabilities,
|
|
8
|
+
contributes,
|
|
9
|
+
createIntent,
|
|
10
|
+
defineModule,
|
|
11
|
+
definePlugin,
|
|
12
|
+
Events,
|
|
13
|
+
} from '@dxos/app-framework';
|
|
6
14
|
import { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';
|
|
7
15
|
import { DeckCapabilities, DeckEvents } from '@dxos/plugin-deck';
|
|
8
16
|
import { SpaceCapabilities } from '@dxos/plugin-space';
|
|
@@ -60,6 +68,7 @@ export const AssistantPlugin = () =>
|
|
|
60
68
|
SpaceCapabilities.ObjectForm,
|
|
61
69
|
defineObjectForm({
|
|
62
70
|
objectSchema: TemplateType,
|
|
71
|
+
hidden: true,
|
|
63
72
|
getIntent: () => createIntent(AssistantAction.CreateTemplate),
|
|
64
73
|
}),
|
|
65
74
|
),
|
|
@@ -99,7 +108,7 @@ export const AssistantPlugin = () =>
|
|
|
99
108
|
}),
|
|
100
109
|
defineModule({
|
|
101
110
|
id: `${meta.id}/module/ai-client`,
|
|
102
|
-
activatesOn: ClientEvents.ClientReady,
|
|
111
|
+
activatesOn: allOf(ClientEvents.ClientReady, Events.SettingsReady),
|
|
103
112
|
activate: AiClient,
|
|
104
113
|
}),
|
|
105
114
|
]);
|
|
@@ -2,12 +2,15 @@
|
|
|
2
2
|
// Copyright 2025 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
import {
|
|
5
|
+
import { effect, signal } from '@preact/signals-core';
|
|
6
|
+
|
|
7
|
+
import { Capabilities, contributes, type PluginsContext } from '@dxos/app-framework';
|
|
8
|
+
import { type AIServiceClient, AIServiceEdgeClient, OllamaClient } from '@dxos/assistant';
|
|
8
9
|
import { ClientCapabilities } from '@dxos/plugin-client';
|
|
9
10
|
|
|
10
11
|
import { AssistantCapabilities } from './capabilities';
|
|
12
|
+
import { ASSISTANT_PLUGIN } from '../meta';
|
|
13
|
+
import { type AssistantSettingsProps } from '../types';
|
|
11
14
|
|
|
12
15
|
// TODO(wittjosiah): Factor out.
|
|
13
16
|
const DEFAULT_AI_SERVICE_URL = 'http://localhost:8788';
|
|
@@ -15,8 +18,21 @@ const DEFAULT_AI_SERVICE_URL = 'http://localhost:8788';
|
|
|
15
18
|
export default (context: PluginsContext) => {
|
|
16
19
|
const client = context.requestCapability(ClientCapabilities.Client);
|
|
17
20
|
const endpoint = client.config.values.runtime?.services?.ai?.server ?? DEFAULT_AI_SERVICE_URL;
|
|
18
|
-
|
|
19
|
-
const ai = new AIServiceEdgeClient({ endpoint });
|
|
20
|
-
|
|
21
|
-
|
|
21
|
+
|
|
22
|
+
const ai = signal<AIServiceClient>(new AIServiceEdgeClient({ endpoint }));
|
|
23
|
+
|
|
24
|
+
const unsubscribe = effect(() => {
|
|
25
|
+
// TODO(burdon): Could be undefined.
|
|
26
|
+
const settings = context
|
|
27
|
+
.requestCapability(Capabilities.SettingsStore)
|
|
28
|
+
.getStore<AssistantSettingsProps>(ASSISTANT_PLUGIN)?.value;
|
|
29
|
+
|
|
30
|
+
if (settings?.llmProvider === 'ollama') {
|
|
31
|
+
ai.value = new OllamaClient();
|
|
32
|
+
} else {
|
|
33
|
+
ai.value = new AIServiceEdgeClient({ endpoint });
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
return contributes(AssistantCapabilities.AiClient, ai, () => unsubscribe());
|
|
22
38
|
};
|
|
@@ -11,14 +11,14 @@ import {
|
|
|
11
11
|
type PluginsContext,
|
|
12
12
|
} from '@dxos/app-framework';
|
|
13
13
|
import { invariant } from '@dxos/invariant';
|
|
14
|
-
import { log } from '@dxos/log';
|
|
15
14
|
import { ClientCapabilities } from '@dxos/plugin-client';
|
|
16
15
|
import { createExtension, type Node, ROOT_ID } from '@dxos/plugin-graph';
|
|
16
|
+
import { memoizeQuery } from '@dxos/plugin-space';
|
|
17
17
|
import { SpaceAction } from '@dxos/plugin-space/types';
|
|
18
|
-
import { type Space, Filter, getSpace } from '@dxos/react-client/echo';
|
|
18
|
+
import { type Space, Filter, fullyQualifiedId, getSpace, isSpace } from '@dxos/react-client/echo';
|
|
19
19
|
|
|
20
20
|
import { ASSISTANT_DIALOG, ASSISTANT_PLUGIN } from '../meta';
|
|
21
|
-
import { AIChatType, AssistantAction } from '../types';
|
|
21
|
+
import { AIChatType, AssistantAction, TemplateType } from '../types';
|
|
22
22
|
|
|
23
23
|
export default (context: PluginsContext) =>
|
|
24
24
|
contributes(Capabilities.AppGraphBuilder, [
|
|
@@ -51,7 +51,6 @@ export default (context: PluginsContext) =>
|
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
if (!chat) {
|
|
54
|
-
log.warn('no chat found');
|
|
55
54
|
return;
|
|
56
55
|
}
|
|
57
56
|
|
|
@@ -82,6 +81,51 @@ export default (context: PluginsContext) =>
|
|
|
82
81
|
},
|
|
83
82
|
],
|
|
84
83
|
}),
|
|
84
|
+
|
|
85
|
+
createExtension({
|
|
86
|
+
id: `${ASSISTANT_PLUGIN}/root`,
|
|
87
|
+
filter: (node): node is Node<Space> => isSpace(node.data),
|
|
88
|
+
connector: ({ node }) => {
|
|
89
|
+
const templates = memoizeQuery(node.data, Filter.schema(TemplateType));
|
|
90
|
+
return templates.length > 0
|
|
91
|
+
? [
|
|
92
|
+
{
|
|
93
|
+
id: `${ASSISTANT_PLUGIN}/templates`,
|
|
94
|
+
type: `${ASSISTANT_PLUGIN}/templates`,
|
|
95
|
+
data: null,
|
|
96
|
+
properties: {
|
|
97
|
+
label: ['templates label', { ns: ASSISTANT_PLUGIN }],
|
|
98
|
+
icon: 'ph--file-code--regular',
|
|
99
|
+
space: node.data,
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
]
|
|
103
|
+
: [];
|
|
104
|
+
},
|
|
105
|
+
}),
|
|
106
|
+
|
|
107
|
+
createExtension({
|
|
108
|
+
id: `${ASSISTANT_PLUGIN}/templates`,
|
|
109
|
+
filter: (node): node is Node<null, { space: Space }> => node.id === `${ASSISTANT_PLUGIN}/templates`,
|
|
110
|
+
connector: ({ node }) => {
|
|
111
|
+
const templates = memoizeQuery(node.properties.space, Filter.schema(TemplateType));
|
|
112
|
+
return templates
|
|
113
|
+
.toSorted((a, b) => {
|
|
114
|
+
const nameA = a.name ?? '';
|
|
115
|
+
const nameB = b.name ?? '';
|
|
116
|
+
return nameA.localeCompare(nameB);
|
|
117
|
+
})
|
|
118
|
+
.map((template) => ({
|
|
119
|
+
id: fullyQualifiedId(template),
|
|
120
|
+
type: `${ASSISTANT_PLUGIN}/template`,
|
|
121
|
+
data: template,
|
|
122
|
+
properties: {
|
|
123
|
+
label: template.name ?? ['template title placeholder', { ns: ASSISTANT_PLUGIN }],
|
|
124
|
+
icon: 'ph--file-code--regular',
|
|
125
|
+
},
|
|
126
|
+
}));
|
|
127
|
+
},
|
|
128
|
+
}),
|
|
85
129
|
]);
|
|
86
130
|
|
|
87
131
|
// TODO(burdon): Factor out.
|
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
// Copyright 2025 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
+
import { type ReadonlySignal } from '@preact/signals-core';
|
|
6
|
+
|
|
5
7
|
import { defineCapability } from '@dxos/app-framework';
|
|
6
8
|
import { type AIServiceClient } from '@dxos/assistant';
|
|
7
9
|
|
|
8
10
|
import { ASSISTANT_PLUGIN } from '../meta';
|
|
9
11
|
|
|
10
12
|
export namespace AssistantCapabilities {
|
|
11
|
-
export const AiClient = defineCapability<AIServiceClient
|
|
13
|
+
export const AiClient = defineCapability<ReadonlySignal<AIServiceClient>>(`${ASSISTANT_PLUGIN}/capability/ai-client`);
|
|
12
14
|
}
|
|
@@ -30,7 +30,7 @@ export default () => [
|
|
|
30
30
|
intent: AssistantAction.CreateTemplate,
|
|
31
31
|
resolve: ({ name }) => ({
|
|
32
32
|
data: {
|
|
33
|
-
object: create(TemplateType, { name, source: '{{! Template }}' }),
|
|
33
|
+
object: create(TemplateType, { name, kind: { include: 'manual' }, source: '{{! Template }}' }),
|
|
34
34
|
},
|
|
35
35
|
}),
|
|
36
36
|
}),
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import React from 'react';
|
|
6
6
|
|
|
7
7
|
import { Capabilities, contributes, createSurface } from '@dxos/app-framework';
|
|
8
|
+
import { isInstanceOf } from '@dxos/echo-schema';
|
|
8
9
|
import { SettingsStore } from '@dxos/local-storage';
|
|
9
10
|
import { getSpace, isSpace } from '@dxos/react-client/echo';
|
|
10
11
|
|
|
@@ -30,13 +31,13 @@ export default () =>
|
|
|
30
31
|
createSurface({
|
|
31
32
|
id: `${ASSISTANT_PLUGIN}/chat`,
|
|
32
33
|
role: 'article',
|
|
33
|
-
filter: (data): data is { subject: AIChatType } => data.subject
|
|
34
|
+
filter: (data): data is { subject: AIChatType } => isInstanceOf(AIChatType, data.subject),
|
|
34
35
|
component: ({ data, role }) => <ChatContainer role={role} chat={data.subject} />,
|
|
35
36
|
}),
|
|
36
37
|
createSurface({
|
|
37
38
|
id: `${ASSISTANT_PLUGIN}/template`,
|
|
38
39
|
role: 'article',
|
|
39
|
-
filter: (data): data is { subject: TemplateType } => data.subject
|
|
40
|
+
filter: (data): data is { subject: TemplateType } => isInstanceOf(TemplateType, data.subject),
|
|
40
41
|
component: ({ data, role }) => <TemplateContainer role={role} template={data.subject} />,
|
|
41
42
|
}),
|
|
42
43
|
createSurface({
|
|
@@ -23,7 +23,13 @@ export const AssistantDialog: FC<{ chat?: AIChatType }> = ({ chat }) => {
|
|
|
23
23
|
|
|
24
24
|
return (
|
|
25
25
|
<AmbientDialog open={open} onOpenChange={setOpen} title={t('assistant dialog title')}>
|
|
26
|
-
<ThreadContainer
|
|
26
|
+
<ThreadContainer
|
|
27
|
+
chat={chat}
|
|
28
|
+
onOpenChange={setOpen}
|
|
29
|
+
settings={settings}
|
|
30
|
+
part={'dialog'}
|
|
31
|
+
transcription={transcription}
|
|
32
|
+
/>
|
|
27
33
|
</AmbientDialog>
|
|
28
34
|
);
|
|
29
35
|
};
|
|
@@ -4,13 +4,16 @@
|
|
|
4
4
|
|
|
5
5
|
import React from 'react';
|
|
6
6
|
|
|
7
|
-
import {
|
|
7
|
+
import { DEFAULT_EDGE_MODELS, DEFAULT_OLLAMA_MODELS } from '@dxos/assistant';
|
|
8
8
|
import { Input, Select, useTranslation } from '@dxos/react-ui';
|
|
9
9
|
import { DeprecatedFormContainer, DeprecatedFormInput } from '@dxos/react-ui-form';
|
|
10
10
|
|
|
11
11
|
import { ASSISTANT_PLUGIN } from '../../meta';
|
|
12
12
|
import { type AssistantSettingsProps } from '../../types';
|
|
13
13
|
|
|
14
|
+
// TODO(burdon): Factor out.
|
|
15
|
+
const DEFAULT_VALUE = '__default';
|
|
16
|
+
|
|
14
17
|
export const AssistantSettings = ({ settings }: { settings: AssistantSettingsProps }) => {
|
|
15
18
|
const { t } = useTranslation(ASSISTANT_PLUGIN);
|
|
16
19
|
|
|
@@ -23,18 +26,49 @@ export const AssistantSettings = ({ settings }: { settings: AssistantSettingsPro
|
|
|
23
26
|
/>
|
|
24
27
|
</DeprecatedFormInput>
|
|
25
28
|
|
|
26
|
-
<DeprecatedFormInput label={t('settings llm
|
|
29
|
+
<DeprecatedFormInput label={t('settings llm provider label')}>
|
|
30
|
+
<Input.Switch
|
|
31
|
+
checked={!!settings.llmProvider}
|
|
32
|
+
onCheckedChange={(checked) => (settings.llmProvider = checked ? 'ollama' : 'edge')}
|
|
33
|
+
/>
|
|
34
|
+
</DeprecatedFormInput>
|
|
35
|
+
|
|
36
|
+
<DeprecatedFormInput label={t('settings edge llm model label')}>
|
|
37
|
+
<Select.Root
|
|
38
|
+
value={settings.edgeModel ?? DEFAULT_VALUE}
|
|
39
|
+
onValueChange={(value) => {
|
|
40
|
+
settings.edgeModel = value === DEFAULT_VALUE ? undefined : value;
|
|
41
|
+
}}
|
|
42
|
+
>
|
|
43
|
+
<Select.TriggerButton placeholder={t('settings default llm model label')} />
|
|
44
|
+
<Select.Portal>
|
|
45
|
+
<Select.Content>
|
|
46
|
+
<Select.Viewport>
|
|
47
|
+
<Select.Option value={DEFAULT_VALUE}>{t('settings default label')}</Select.Option>
|
|
48
|
+
{DEFAULT_EDGE_MODELS.map((model) => (
|
|
49
|
+
<Select.Option key={model} value={model}>
|
|
50
|
+
{model}
|
|
51
|
+
</Select.Option>
|
|
52
|
+
))}
|
|
53
|
+
</Select.Viewport>
|
|
54
|
+
</Select.Content>
|
|
55
|
+
</Select.Portal>
|
|
56
|
+
</Select.Root>
|
|
57
|
+
</DeprecatedFormInput>
|
|
58
|
+
|
|
59
|
+
<DeprecatedFormInput label={t('settings ollama llm model label')}>
|
|
27
60
|
<Select.Root
|
|
28
|
-
value={settings.
|
|
61
|
+
value={settings.ollamaModel ?? DEFAULT_VALUE}
|
|
29
62
|
onValueChange={(value) => {
|
|
30
|
-
settings.
|
|
63
|
+
settings.ollamaModel = value === DEFAULT_VALUE ? undefined : value;
|
|
31
64
|
}}
|
|
32
65
|
>
|
|
33
66
|
<Select.TriggerButton placeholder={t('settings default llm model label')} />
|
|
34
67
|
<Select.Portal>
|
|
35
68
|
<Select.Content>
|
|
36
69
|
<Select.Viewport>
|
|
37
|
-
{
|
|
70
|
+
<Select.Option value={DEFAULT_VALUE}>{t('settings default label')}</Select.Option>
|
|
71
|
+
{DEFAULT_OLLAMA_MODELS.map((model) => (
|
|
38
72
|
<Select.Option key={model} value={model}>
|
|
39
73
|
{model}
|
|
40
74
|
</Select.Option>
|