@dxos/plugin-assistant 0.8.0 → 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-TX6YYBUG.mjs → AssistantDialog-L5RHNMU4.mjs} +6 -5
- package/dist/lib/browser/{AssistantDialog-TX6YYBUG.mjs.map → AssistantDialog-L5RHNMU4.mjs.map} +3 -3
- package/dist/lib/browser/{ChatContainer-AT3OAUT3.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-G7B54APW.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-VZ4W6SHE.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-NFVIZS3B.mjs → chunk-XFUCWOMV.mjs} +287 -70
- 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-JLXNWOI6.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-U4GBPZD6.cjs → AssistantDialog-VIB7GPQN.cjs} +12 -11
- package/dist/lib/node/{AssistantDialog-U4GBPZD6.cjs.map → AssistantDialog-VIB7GPQN.cjs.map} +3 -3
- package/dist/lib/node/{ChatContainer-CVHXNHGA.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-YANJEPO3.cjs → ai-client-5ESLYXAV.cjs} +19 -8
- 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-XUTDR7HI.cjs → chunk-OJJ4F6KP.cjs} +291 -78
- 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-ZGH6F5YA.cjs → chunk-VRXFIS4X.cjs} +6 -6
- package/dist/lib/node/chunk-VRXFIS4X.cjs.map +7 -0
- package/dist/lib/node/{chunk-IXJCGW7U.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-BSUZQ3HZ.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-5AT5JAZL.mjs → AssistantDialog-R3EPF2KL.mjs} +6 -5
- package/dist/lib/node-esm/{AssistantDialog-5AT5JAZL.mjs.map → AssistantDialog-R3EPF2KL.mjs.map} +3 -3
- package/dist/lib/node-esm/{ChatContainer-VR766C4M.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-77ARTFBA.mjs → chunk-2CIYX3SD.mjs} +2 -2
- package/dist/lib/node-esm/chunk-2CIYX3SD.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-AMQMVQJO.mjs → chunk-6GBMQIW7.mjs} +34 -12
- package/dist/lib/node-esm/chunk-6GBMQIW7.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-7JENJTLB.mjs → chunk-AMTHOYNB.mjs} +287 -70
- 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-IGVYAOGL.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 -2
- 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 +3 -2
- 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/AmbientDialog/AmbientDialog.d.ts +2 -2
- package/dist/types/src/components/AmbientDialog/AmbientDialog.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 +2 -1
- package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +1 -1
- package/dist/types/src/components/ChatContainer.d.ts +2 -1
- package/dist/types/src/components/ChatContainer.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 +3 -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/ServiceRegistry/ServiceRegistry.d.ts +2 -1
- package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts.map +1 -1
- package/dist/types/src/components/TemplateContainer.d.ts +2 -1
- package/dist/types/src/components/TemplateContainer.d.ts.map +1 -1
- package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts +2 -1
- package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
- package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts +2 -1
- package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +3 -2
- package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
- package/dist/types/src/components/Thread/Thread.d.ts +12 -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 +2 -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 +4 -3
- package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +2 -2
- 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 +8 -5
- 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 -56
- package/src/AssistantPlugin.tsx +11 -2
- package/src/capabilities/ai-client.ts +23 -4
- package/src/capabilities/app-graph-builder.ts +48 -4
- package/src/capabilities/capabilities.ts +4 -2
- 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 +18 -7
- 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/TemplateEditor/TemplateForm.tsx +1 -1
- package/src/components/Thread/Thread.tsx +21 -0
- package/src/components/Thread/ThreadContainer.stories.tsx +5 -8
- 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 +18 -9
- 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/tools/openapi.test.ts +4 -4
- 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-RTCGRKZE.mjs +0 -22
- package/dist/lib/browser/ai-client-RTCGRKZE.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-G7B54APW.mjs.map +0 -7
- package/dist/lib/browser/chunk-NFVIZS3B.mjs.map +0 -7
- package/dist/lib/browser/chunk-VZ4W6SHE.mjs.map +0 -7
- package/dist/lib/browser/react-surface-JLXNWOI6.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-YANJEPO3.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-IXJCGW7U.cjs.map +0 -7
- package/dist/lib/node/chunk-XUTDR7HI.cjs.map +0 -7
- package/dist/lib/node/chunk-ZGH6F5YA.cjs.map +0 -7
- package/dist/lib/node/react-surface-BSUZQ3HZ.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-66IBZVCX.mjs +0 -23
- package/dist/lib/node-esm/ai-client-66IBZVCX.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-H2GC2AZA.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-77ARTFBA.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-7JENJTLB.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-AMQMVQJO.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-CJ4Y3QW5.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-IGVYAOGL.mjs.map +0 -7
- /package/dist/lib/browser/{ChatContainer-AT3OAUT3.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-CVHXNHGA.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-VR766C4M.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
|
@@ -26,8 +26,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
26
26
|
mod
|
|
27
27
|
));
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var
|
|
30
|
-
__export(
|
|
29
|
+
var chunk_OJJ4F6KP_exports = {};
|
|
30
|
+
__export(chunk_OJJ4F6KP_exports, {
|
|
31
31
|
AiClient: () => AiClient,
|
|
32
32
|
AppGraphBuilder: () => AppGraphBuilder,
|
|
33
33
|
AssistantSettings: () => AssistantSettings,
|
|
@@ -39,20 +39,20 @@ __export(chunk_XUTDR7HI_exports, {
|
|
|
39
39
|
ToolboxContainer: () => ToolboxContainer,
|
|
40
40
|
useServices: () => useServices
|
|
41
41
|
});
|
|
42
|
-
module.exports = __toCommonJS(
|
|
43
|
-
var
|
|
44
|
-
var
|
|
45
|
-
var
|
|
42
|
+
module.exports = __toCommonJS(chunk_OJJ4F6KP_exports);
|
|
43
|
+
var import_chunk_VRXFIS4X = require("./chunk-VRXFIS4X.cjs");
|
|
44
|
+
var import_chunk_KLSNCP34 = require("./chunk-KLSNCP34.cjs");
|
|
45
|
+
var import_chunk_U6J2GO7I = require("./chunk-U6J2GO7I.cjs");
|
|
46
46
|
var import_react = __toESM(require("react"));
|
|
47
47
|
var import_app_framework = require("@dxos/app-framework");
|
|
48
48
|
var import_artifact = require("@dxos/artifact");
|
|
49
|
-
var
|
|
49
|
+
var import_types = require("@dxos/functions/types");
|
|
50
50
|
var import_log = require("@dxos/log");
|
|
51
51
|
var import_echo = require("@dxos/react-client/echo");
|
|
52
52
|
var import_react_ui_theme = require("@dxos/react-ui-theme");
|
|
53
53
|
var import_artifact2 = require("@dxos/artifact");
|
|
54
54
|
var import_echo_schema = require("@dxos/echo-schema");
|
|
55
|
-
var
|
|
55
|
+
var import_types2 = require("@dxos/functions/types");
|
|
56
56
|
var import_log2 = require("@dxos/log");
|
|
57
57
|
var import_echo2 = require("@dxos/react-client/echo");
|
|
58
58
|
var import_jsonpointer = __toESM(require("jsonpointer"));
|
|
@@ -84,6 +84,10 @@ var import_react_ui_editor = require("@dxos/react-ui-editor");
|
|
|
84
84
|
var import_react_ui_theme4 = require("@dxos/react-ui-theme");
|
|
85
85
|
var import_state = require("@codemirror/state");
|
|
86
86
|
var import_view = require("@codemirror/view");
|
|
87
|
+
var import_autocomplete = require("@codemirror/autocomplete");
|
|
88
|
+
var import_state2 = require("@codemirror/state");
|
|
89
|
+
var import_view2 = require("@codemirror/view");
|
|
90
|
+
var import_async = require("@dxos/async");
|
|
87
91
|
var import_react6 = __toESM(require("react"));
|
|
88
92
|
var import_plugin_transcription = require("@dxos/plugin-transcription");
|
|
89
93
|
var import_react_ui3 = require("@dxos/react-ui");
|
|
@@ -103,46 +107,50 @@ var import_react8 = require("react");
|
|
|
103
107
|
var import_app_framework2 = require("@dxos/app-framework");
|
|
104
108
|
var import_artifact5 = require("@dxos/artifact");
|
|
105
109
|
var import_assistant2 = require("@dxos/assistant");
|
|
106
|
-
var
|
|
110
|
+
var import_types3 = require("@dxos/functions/types");
|
|
107
111
|
var import_log7 = require("@dxos/log");
|
|
108
112
|
var import_react_client = require("@dxos/react-client");
|
|
109
113
|
var import_echo4 = require("@dxos/react-client/echo");
|
|
110
114
|
var import_util5 = require("@dxos/util");
|
|
111
115
|
var import_app_framework3 = require("@dxos/app-framework");
|
|
112
116
|
var import_react9 = require("react");
|
|
113
|
-
var
|
|
117
|
+
var import_async2 = require("@dxos/async");
|
|
114
118
|
var import_context = require("@dxos/context");
|
|
115
|
-
var
|
|
116
|
-
var
|
|
119
|
+
var import_functions = require("@dxos/functions");
|
|
120
|
+
var import_types4 = require("@dxos/functions/types");
|
|
117
121
|
var import_invariant5 = require("@dxos/invariant");
|
|
118
122
|
var import_log8 = require("@dxos/log");
|
|
119
123
|
var import_react_client2 = require("@dxos/react-client");
|
|
120
124
|
var import_echo5 = require("@dxos/react-client/echo");
|
|
121
|
-
var
|
|
125
|
+
var import_async3 = require("@dxos/async");
|
|
122
126
|
var import_echo_db = require("@dxos/echo-db");
|
|
123
|
-
var
|
|
127
|
+
var import_types5 = require("@dxos/functions/types");
|
|
124
128
|
var import_invariant6 = require("@dxos/invariant");
|
|
125
129
|
var import_keys = require("@dxos/keys");
|
|
126
130
|
var import_log9 = require("@dxos/log");
|
|
127
131
|
var import_react10 = require("react");
|
|
128
132
|
var import_keys2 = require("@dxos/keys");
|
|
129
133
|
var import_echo6 = require("@dxos/react-client/echo");
|
|
130
|
-
var import_react_edge_client = require("@dxos/react-edge-client");
|
|
131
134
|
var import_react11 = require("react");
|
|
132
135
|
var import_artifact6 = require("@dxos/artifact");
|
|
133
136
|
var import_assistant3 = require("@dxos/assistant");
|
|
134
137
|
var import_echo_schema4 = require("@dxos/echo-schema");
|
|
135
138
|
var import_react12 = require("react");
|
|
139
|
+
var import_react13 = require("react");
|
|
140
|
+
var import_app_framework4 = require("@dxos/app-framework");
|
|
141
|
+
var import_echo_schema5 = require("@dxos/echo-schema");
|
|
142
|
+
var import_log10 = require("@dxos/log");
|
|
143
|
+
var import_echo7 = require("@dxos/react-client/echo");
|
|
136
144
|
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-assistant/src/tools/function.ts";
|
|
137
145
|
var covertFunctionToTool = (fn, edgeUrl, spaceId) => {
|
|
138
146
|
if (!fn.description || !fn.inputSchema) {
|
|
139
147
|
return void 0;
|
|
140
148
|
}
|
|
141
|
-
const existingFunctionUrl = (0,
|
|
149
|
+
const existingFunctionUrl = (0, import_types2.getUserFunctionUrlInMetadata)((0, import_echo2.getMeta)(fn));
|
|
142
150
|
if (!existingFunctionUrl) {
|
|
143
151
|
return void 0;
|
|
144
152
|
}
|
|
145
|
-
const url = (0,
|
|
153
|
+
const url = (0, import_types2.getInvocationUrl)(existingFunctionUrl, edgeUrl, {
|
|
146
154
|
spaceId
|
|
147
155
|
});
|
|
148
156
|
return (0, import_artifact2.defineTool)("user-function", {
|
|
@@ -609,7 +617,7 @@ var Section = ({ title, items, striped }) => {
|
|
|
609
617
|
};
|
|
610
618
|
var ToolboxContainer = ({ classNames, space }) => {
|
|
611
619
|
const artifactDefinitions = (0, import_app_framework.useCapabilities)(import_app_framework.Capabilities.ArtifactDefinition);
|
|
612
|
-
const services = (0, import_echo.useQuery)(space, import_echo.Filter.schema(
|
|
620
|
+
const services = (0, import_echo.useQuery)(space, import_echo.Filter.schema(import_chunk_KLSNCP34.ServiceType));
|
|
613
621
|
const [serviceTools, setServiceTools] = (0, import_react.useState)([]);
|
|
614
622
|
(0, import_react.useEffect)(() => {
|
|
615
623
|
(0, import_log.log)("creating service tools...", {
|
|
@@ -630,7 +638,7 @@ var ToolboxContainer = ({ classNames, space }) => {
|
|
|
630
638
|
}, [
|
|
631
639
|
services
|
|
632
640
|
]);
|
|
633
|
-
const functions = (0, import_echo.useQuery)(space, import_echo.Filter.schema(
|
|
641
|
+
const functions = (0, import_echo.useQuery)(space, import_echo.Filter.schema(import_types.FunctionType));
|
|
634
642
|
return /* @__PURE__ */ import_react.default.createElement(Toolbox, {
|
|
635
643
|
classNames,
|
|
636
644
|
artifacts: artifactDefinitions,
|
|
@@ -755,7 +763,7 @@ var ToolContainer = ({ classNames, items }) => {
|
|
|
755
763
|
};
|
|
756
764
|
var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-assistant/src/components/Thread/ThreadMessage.tsx";
|
|
757
765
|
var panelClassNames = "flex flex-col w-full px-2 bg-groupSurface rounded-md";
|
|
758
|
-
var userClassNames = "bg-[--user-fill]";
|
|
766
|
+
var userClassNames = "bg-[--user-fill] text-inverse";
|
|
759
767
|
var ToggleContainer2 = (props) => {
|
|
760
768
|
return /* @__PURE__ */ import_react3.default.createElement(import_react_ui_components2.ToggleContainer, {
|
|
761
769
|
...props,
|
|
@@ -780,7 +788,7 @@ var ThreadMessage = ({ classNames, space, message, tools, onPrompt }) => {
|
|
|
780
788
|
const { role, content = [] } = message;
|
|
781
789
|
if (isToolMessage(message)) {
|
|
782
790
|
return /* @__PURE__ */ import_react3.default.createElement(MessageContainer, {
|
|
783
|
-
classNames
|
|
791
|
+
classNames: (0, import_react_ui_theme3.mx)(classNames, "animate-[fadeIn_0.5s]")
|
|
784
792
|
}, /* @__PURE__ */ import_react3.default.createElement(ToolBlock, {
|
|
785
793
|
space,
|
|
786
794
|
classNames: panelClassNames,
|
|
@@ -795,7 +803,7 @@ var ThreadMessage = ({ classNames, space, message, tools, onPrompt }) => {
|
|
|
795
803
|
const Component = components[block.type] ?? components.default;
|
|
796
804
|
return /* @__PURE__ */ import_react3.default.createElement(MessageContainer, {
|
|
797
805
|
key: idx,
|
|
798
|
-
classNames,
|
|
806
|
+
classNames: (0, import_react_ui_theme3.mx)(classNames, "animate-[fadeIn_0.5s]"),
|
|
799
807
|
user: block.type === "text" && role === "user"
|
|
800
808
|
}, /* @__PURE__ */ import_react3.default.createElement(Component, {
|
|
801
809
|
space,
|
|
@@ -811,7 +819,7 @@ var components = {
|
|
|
811
819
|
["text"]: ({ block }) => {
|
|
812
820
|
(0, import_invariant2.invariant)(block.type === "text", void 0, {
|
|
813
821
|
F: __dxlog_file5,
|
|
814
|
-
L:
|
|
822
|
+
L: 90,
|
|
815
823
|
S: void 0,
|
|
816
824
|
A: [
|
|
817
825
|
"block.type === 'text'",
|
|
@@ -821,6 +829,7 @@ var components = {
|
|
|
821
829
|
const title = block.disposition ? titles[block.disposition] : void 0;
|
|
822
830
|
if (!title) {
|
|
823
831
|
return /* @__PURE__ */ import_react3.default.createElement(import_react_ui_components2.MarkdownViewer, {
|
|
832
|
+
classNames: "[&>p]:animate-[fadeIn_0.5s]",
|
|
824
833
|
content: block.text
|
|
825
834
|
});
|
|
826
835
|
}
|
|
@@ -847,7 +856,7 @@ var components = {
|
|
|
847
856
|
["json"]: ({ space, block, onPrompt }) => {
|
|
848
857
|
(0, import_invariant2.invariant)(block.type === "json", void 0, {
|
|
849
858
|
F: __dxlog_file5,
|
|
850
|
-
L:
|
|
859
|
+
L: 128,
|
|
851
860
|
S: void 0,
|
|
852
861
|
A: [
|
|
853
862
|
"block.type === 'json'",
|
|
@@ -874,7 +883,10 @@ var components = {
|
|
|
874
883
|
}
|
|
875
884
|
case "select": {
|
|
876
885
|
const { options = [] } = (0, import_util3.safeParseJson)(block.json ?? "{}") ?? {};
|
|
877
|
-
return /* @__PURE__ */ import_react3.default.createElement(
|
|
886
|
+
return /* @__PURE__ */ import_react3.default.createElement("div", {
|
|
887
|
+
className: "flex flex-wrap gap-1"
|
|
888
|
+
}, options.map((option, idx) => /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Button, {
|
|
889
|
+
classNames: "animate-[fadeIn_0.5s] rounded-2xl text-sm",
|
|
878
890
|
key: option,
|
|
879
891
|
onClick: () => onPrompt?.(option)
|
|
880
892
|
}, option)));
|
|
@@ -1109,9 +1121,120 @@ var InlineSuggestionWidget = class extends import_view.WidgetType {
|
|
|
1109
1121
|
return other.suffix === this.suffix;
|
|
1110
1122
|
}
|
|
1111
1123
|
};
|
|
1112
|
-
var
|
|
1124
|
+
var promptReferences = ({ provider, debug = false, triggerCharacter = "@" }) => {
|
|
1125
|
+
if (triggerCharacter.length !== 1) {
|
|
1126
|
+
throw new Error("triggerCharacter must be a single character");
|
|
1127
|
+
}
|
|
1128
|
+
const decorationField = import_view2.ViewPlugin.fromClass(class ReferenceView {
|
|
1129
|
+
constructor(view) {
|
|
1130
|
+
this._mutex = new import_async.Mutex();
|
|
1131
|
+
this.decorations = import_view2.Decoration.set([]);
|
|
1132
|
+
queueMicrotask(async () => {
|
|
1133
|
+
const guard = await this._mutex.acquire();
|
|
1134
|
+
try {
|
|
1135
|
+
this.decorations = await this._computeDecorations(view);
|
|
1136
|
+
} finally {
|
|
1137
|
+
guard.release();
|
|
1138
|
+
}
|
|
1139
|
+
});
|
|
1140
|
+
}
|
|
1141
|
+
update(update) {
|
|
1142
|
+
if (update.docChanged) {
|
|
1143
|
+
queueMicrotask(async () => {
|
|
1144
|
+
const guard = await this._mutex.acquire();
|
|
1145
|
+
try {
|
|
1146
|
+
this.decorations = await this._computeDecorations(update.view);
|
|
1147
|
+
} finally {
|
|
1148
|
+
guard.release();
|
|
1149
|
+
}
|
|
1150
|
+
});
|
|
1151
|
+
}
|
|
1152
|
+
}
|
|
1153
|
+
async _computeDecorations(view) {
|
|
1154
|
+
const text = view.state.doc.toString();
|
|
1155
|
+
const references = text.matchAll(new RegExp(`${triggerCharacter}[a-zA-Z0-9@:]+\\s`, "g"));
|
|
1156
|
+
const decorations = [];
|
|
1157
|
+
for (const match of references) {
|
|
1158
|
+
const reference = match[0];
|
|
1159
|
+
const uri = reference.slice(1, -1);
|
|
1160
|
+
const data = await provider.resolveReference({
|
|
1161
|
+
uri
|
|
1162
|
+
});
|
|
1163
|
+
if (data) {
|
|
1164
|
+
decorations.push(import_view2.Decoration.replace({
|
|
1165
|
+
widget: new ReferenceWidget(data)
|
|
1166
|
+
}).range(match.index, match.index + reference.length));
|
|
1167
|
+
}
|
|
1168
|
+
}
|
|
1169
|
+
return import_view2.Decoration.set(decorations);
|
|
1170
|
+
}
|
|
1171
|
+
}, {
|
|
1172
|
+
decorations: (v) => v.decorations,
|
|
1173
|
+
provide: (plugin) => [
|
|
1174
|
+
import_view2.EditorView.atomicRanges.of((view) => view.plugin(decorationField)?.decorations ?? import_state2.RangeSet.empty)
|
|
1175
|
+
]
|
|
1176
|
+
});
|
|
1177
|
+
return [
|
|
1178
|
+
decorationField,
|
|
1179
|
+
import_view2.EditorView.theme({
|
|
1180
|
+
".cm-reference-pill": {
|
|
1181
|
+
borderRadius: "0.25rem",
|
|
1182
|
+
borderWidth: "1px",
|
|
1183
|
+
marginRight: "0.25rem",
|
|
1184
|
+
marginLeft: "0.25rem"
|
|
1185
|
+
}
|
|
1186
|
+
}),
|
|
1187
|
+
(0, import_autocomplete.autocompletion)({
|
|
1188
|
+
activateOnTyping: true,
|
|
1189
|
+
override: [
|
|
1190
|
+
async (context) => {
|
|
1191
|
+
const match = context.matchBefore(new RegExp(`${triggerCharacter}[a-zA-Z0-9]+`));
|
|
1192
|
+
if (!match || match?.to === match?.from) {
|
|
1193
|
+
return null;
|
|
1194
|
+
}
|
|
1195
|
+
const query = match.text.slice(1);
|
|
1196
|
+
const references = await provider.getReferences({
|
|
1197
|
+
query
|
|
1198
|
+
});
|
|
1199
|
+
return {
|
|
1200
|
+
from: match.from,
|
|
1201
|
+
filter: false,
|
|
1202
|
+
options: references.map((reference) => ({
|
|
1203
|
+
label: reference.label,
|
|
1204
|
+
apply: `${triggerCharacter}${reference.uri} `
|
|
1205
|
+
}))
|
|
1206
|
+
};
|
|
1207
|
+
}
|
|
1208
|
+
],
|
|
1209
|
+
closeOnBlur: !debug,
|
|
1210
|
+
tooltipClass: () => "shadow rounded",
|
|
1211
|
+
aboveCursor: true
|
|
1212
|
+
}),
|
|
1213
|
+
import_view2.keymap.of(import_autocomplete.completionKeymap)
|
|
1214
|
+
];
|
|
1215
|
+
};
|
|
1216
|
+
var ReferenceWidget = class extends import_view2.WidgetType {
|
|
1217
|
+
constructor(data) {
|
|
1218
|
+
super();
|
|
1219
|
+
this.data = data;
|
|
1220
|
+
}
|
|
1221
|
+
toDOM() {
|
|
1222
|
+
const span = document.createElement("span");
|
|
1223
|
+
span.textContent = `@ ${this.data.label}`;
|
|
1224
|
+
span.className = "cm-reference-pill";
|
|
1225
|
+
return span;
|
|
1226
|
+
}
|
|
1227
|
+
eq(other) {
|
|
1228
|
+
return other.data.uri === this.data.uri;
|
|
1229
|
+
}
|
|
1230
|
+
ignoreEvent() {
|
|
1231
|
+
return true;
|
|
1232
|
+
}
|
|
1233
|
+
};
|
|
1234
|
+
var Prompt = /* @__PURE__ */ (0, import_react5.forwardRef)(({ classNames, autoFocus, lineWrapping = false, placeholder, onSubmit, onSuggest, onOpenChange, references }, forwardRef2) => {
|
|
1113
1235
|
const { themeMode } = (0, import_react_ui2.useThemeContext)();
|
|
1114
1236
|
const { parentRef, view } = (0, import_react_ui_editor.useTextEditor)({
|
|
1237
|
+
debug: true,
|
|
1115
1238
|
autoFocus,
|
|
1116
1239
|
extensions: [
|
|
1117
1240
|
(0, import_react_ui_editor.createBasicExtensions)({
|
|
@@ -1122,6 +1245,9 @@ var Prompt = /* @__PURE__ */ (0, import_react5.forwardRef)(({ classNames, autoFo
|
|
|
1122
1245
|
(0, import_react_ui_editor.createThemeExtensions)({
|
|
1123
1246
|
themeMode
|
|
1124
1247
|
}),
|
|
1248
|
+
references ? promptReferences({
|
|
1249
|
+
provider: references
|
|
1250
|
+
}) : [],
|
|
1125
1251
|
createAutocompleteExtension({
|
|
1126
1252
|
onSubmit,
|
|
1127
1253
|
onSuggest
|
|
@@ -1175,11 +1301,11 @@ var Prompt = /* @__PURE__ */ (0, import_react5.forwardRef)(({ classNames, autoFo
|
|
|
1175
1301
|
]);
|
|
1176
1302
|
return /* @__PURE__ */ import_react5.default.createElement("div", {
|
|
1177
1303
|
ref: parentRef,
|
|
1178
|
-
className: (0, import_react_ui_theme4.mx)("w-full
|
|
1304
|
+
className: (0, import_react_ui_theme4.mx)("w-full", classNames)
|
|
1179
1305
|
});
|
|
1180
1306
|
});
|
|
1181
|
-
var PromptBar = ({ classNames, placeholder, processing, error, microphone, onCancel, ...props }) => {
|
|
1182
|
-
const { t } = (0, import_react_ui3.useTranslation)(
|
|
1307
|
+
var PromptBar = ({ classNames, placeholder, processing, error, microphone, onCancel, references, ...props }) => {
|
|
1308
|
+
const { t } = (0, import_react_ui3.useTranslation)(import_chunk_U6J2GO7I.ASSISTANT_PLUGIN);
|
|
1183
1309
|
const promptRef = (0, import_react6.useRef)(null);
|
|
1184
1310
|
const [active, setActive] = (0, import_react6.useState)(false);
|
|
1185
1311
|
const { recording } = (0, import_plugin_transcription.useVoiceInput)({
|
|
@@ -1190,14 +1316,18 @@ var PromptBar = ({ classNames, placeholder, processing, error, microphone, onCan
|
|
|
1190
1316
|
}
|
|
1191
1317
|
});
|
|
1192
1318
|
return /* @__PURE__ */ import_react6.default.createElement("div", {
|
|
1193
|
-
className: (0, import_react_ui_theme5.mx)("
|
|
1319
|
+
className: (0, import_react_ui_theme5.mx)("shrink-0 w-full grid grid-cols-[var(--rail-action)_1fr_var(--rail-action)] overflow-hidden", classNames)
|
|
1194
1320
|
}, /* @__PURE__ */ import_react6.default.createElement("div", {
|
|
1195
1321
|
className: "flex w-[--rail-action] h-[--rail-action] items-center justify-center"
|
|
1196
|
-
}, error && /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.
|
|
1322
|
+
}, error && /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Tooltip.Root, {
|
|
1323
|
+
delayDuration: 0
|
|
1324
|
+
}, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Tooltip.Trigger, null, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Icon, {
|
|
1197
1325
|
icon: "ph--warning-circle--regular",
|
|
1198
1326
|
classNames: import_react_ui_theme5.errorText,
|
|
1199
1327
|
size: 5
|
|
1200
|
-
})
|
|
1328
|
+
})), /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Tooltip.Portal, null, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Tooltip.Content, null, /* @__PURE__ */ import_react6.default.createElement("div", {
|
|
1329
|
+
className: "text-sm text-error-500"
|
|
1330
|
+
}, error.message), /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Tooltip.Arrow, null)))) || /* @__PURE__ */ import_react6.default.createElement(import_react_ui_sfx.Spinner, {
|
|
1201
1331
|
active: processing
|
|
1202
1332
|
})), /* @__PURE__ */ import_react6.default.createElement(Prompt, {
|
|
1203
1333
|
ref: promptRef,
|
|
@@ -1205,6 +1335,7 @@ var PromptBar = ({ classNames, placeholder, processing, error, microphone, onCan
|
|
|
1205
1335
|
classNames: "pbs-2",
|
|
1206
1336
|
lineWrapping: true,
|
|
1207
1337
|
placeholder: placeholder ?? t("prompt placeholder"),
|
|
1338
|
+
references,
|
|
1208
1339
|
...props
|
|
1209
1340
|
}), (onCancel || microphone) && /* @__PURE__ */ import_react6.default.createElement("div", {
|
|
1210
1341
|
className: "flex w-[--rail-action] h-[--rail-action] items-center justify-center"
|
|
@@ -1230,7 +1361,7 @@ var PromptBar = ({ classNames, placeholder, processing, error, microphone, onCan
|
|
|
1230
1361
|
onTouchEnd: () => setActive(false)
|
|
1231
1362
|
})));
|
|
1232
1363
|
};
|
|
1233
|
-
var Thread = ({ classNames, space, messages, collapse = true, transcription, processing, error, onSubmit, onCancel, onOpenChange, ...props }) => {
|
|
1364
|
+
var Thread = ({ classNames, space, messages, collapse = true, transcription, processing, error, onSubmit, onCancel, onOpenChange, contextProvider, ...props }) => {
|
|
1234
1365
|
const scroller = (0, import_react2.useRef)(null);
|
|
1235
1366
|
const identity = (0, import_halo.useIdentity)();
|
|
1236
1367
|
const fallbackValue = (0, import_util2.keyToFallback)(identity.identityKey);
|
|
@@ -1256,6 +1387,21 @@ var Thread = ({ classNames, space, messages, collapse = true, transcription, pro
|
|
|
1256
1387
|
messages,
|
|
1257
1388
|
collapse
|
|
1258
1389
|
]);
|
|
1390
|
+
const references = (0, import_react2.useMemo)(() => {
|
|
1391
|
+
if (!contextProvider) {
|
|
1392
|
+
return void 0;
|
|
1393
|
+
}
|
|
1394
|
+
return {
|
|
1395
|
+
getReferences: async ({ query }) => contextProvider.query({
|
|
1396
|
+
query
|
|
1397
|
+
}),
|
|
1398
|
+
resolveReference: async ({ uri }) => contextProvider.resolveMetadata({
|
|
1399
|
+
uri
|
|
1400
|
+
})
|
|
1401
|
+
};
|
|
1402
|
+
}, [
|
|
1403
|
+
contextProvider
|
|
1404
|
+
]);
|
|
1259
1405
|
return /* @__PURE__ */ import_react2.default.createElement("div", {
|
|
1260
1406
|
role: "none",
|
|
1261
1407
|
className: (0, import_react_ui_theme2.mx)("flex flex-col grow overflow-hidden", classNames)
|
|
@@ -1280,17 +1426,18 @@ var Thread = ({ classNames, space, messages, collapse = true, transcription, pro
|
|
|
1280
1426
|
error,
|
|
1281
1427
|
onSubmit: handleSubmit,
|
|
1282
1428
|
onCancel,
|
|
1283
|
-
onOpenChange
|
|
1429
|
+
onOpenChange,
|
|
1430
|
+
references
|
|
1284
1431
|
}));
|
|
1285
1432
|
};
|
|
1286
1433
|
var __dxlog_file6 = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-assistant/src/hooks/processor.ts";
|
|
1287
1434
|
var defaultOptions = {
|
|
1288
|
-
model: import_assistant.
|
|
1435
|
+
model: import_assistant.DEFAULT_EDGE_MODEL,
|
|
1289
1436
|
systemPrompt: "you are a helpful assistant"
|
|
1290
1437
|
};
|
|
1291
1438
|
var ChatProcessor = class {
|
|
1292
|
-
constructor(
|
|
1293
|
-
this.
|
|
1439
|
+
constructor(_ai, _tools, _extensions, _options = defaultOptions) {
|
|
1440
|
+
this._ai = _ai;
|
|
1294
1441
|
this._tools = _tools;
|
|
1295
1442
|
this._extensions = _extensions;
|
|
1296
1443
|
this._options = _options;
|
|
@@ -1415,7 +1562,7 @@ var ChatProcessor = class {
|
|
|
1415
1562
|
S: this,
|
|
1416
1563
|
C: (f, a) => f(...a)
|
|
1417
1564
|
});
|
|
1418
|
-
this._stream = await this.
|
|
1565
|
+
this._stream = await this._ai.exec({
|
|
1419
1566
|
...this._options,
|
|
1420
1567
|
// TODO(burdon): Rename messages or separate history/message.
|
|
1421
1568
|
history: [
|
|
@@ -1485,31 +1632,43 @@ var ChatProcessor = class {
|
|
|
1485
1632
|
S: this,
|
|
1486
1633
|
C: (f, a) => f(...a)
|
|
1487
1634
|
});
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1635
|
+
if (err instanceof Error && err.message.includes("Overloaded")) {
|
|
1636
|
+
this.error.value = new AIServiecOverloadedError("AI service overloaded", {
|
|
1637
|
+
cause: err
|
|
1638
|
+
});
|
|
1639
|
+
} else {
|
|
1640
|
+
this.error.value = new Error("AI service error", {
|
|
1641
|
+
cause: err
|
|
1642
|
+
});
|
|
1643
|
+
}
|
|
1491
1644
|
} finally {
|
|
1492
1645
|
this._stream = void 0;
|
|
1493
1646
|
}
|
|
1494
1647
|
}
|
|
1495
1648
|
};
|
|
1496
|
-
var
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1649
|
+
var AIServiecOverloadedError = class extends Error {
|
|
1650
|
+
constructor() {
|
|
1651
|
+
super(...arguments);
|
|
1652
|
+
this.code = "AI_SERVICE_OVERLOADED";
|
|
1653
|
+
}
|
|
1654
|
+
};
|
|
1655
|
+
var AiClient = (0, import_app_framework3.lazy)(() => import("./ai-client-5ESLYXAV.cjs"));
|
|
1656
|
+
var AppGraphBuilder = (0, import_app_framework3.lazy)(() => import("./app-graph-builder-3P6WSON2.cjs"));
|
|
1657
|
+
var IntentResolver = (0, import_app_framework3.lazy)(() => import("./intent-resolver-YIFAMM3B.cjs"));
|
|
1658
|
+
var ReactSurface = (0, import_app_framework3.lazy)(() => import("./react-surface-REI6G6B3.cjs"));
|
|
1659
|
+
var AssistantSettings = (0, import_app_framework3.lazy)(() => import("./settings-2FEYGLYU.cjs"));
|
|
1501
1660
|
var __dxlog_file7 = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-assistant/src/hooks/useChatProcessor.tsx";
|
|
1502
|
-
var useChatProcessor = (space, settings) => {
|
|
1503
|
-
const aiClient = (0, import_app_framework2.useCapability)(
|
|
1661
|
+
var useChatProcessor = ({ chat, space, settings, part = "deck" }) => {
|
|
1662
|
+
const aiClient = (0, import_app_framework2.useCapability)(import_chunk_VRXFIS4X.AssistantCapabilities.AiClient);
|
|
1504
1663
|
const globalTools = (0, import_app_framework2.useCapabilities)(import_app_framework2.Capabilities.Tools);
|
|
1505
1664
|
const artifactDefinitions = (0, import_app_framework2.useCapabilities)(import_app_framework2.Capabilities.ArtifactDefinition);
|
|
1506
1665
|
const { dispatchPromise: dispatch } = (0, import_app_framework2.useIntentDispatcher)();
|
|
1507
|
-
const services = (0, import_echo4.useQuery)(space, import_echo4.Filter.schema(
|
|
1666
|
+
const services = (0, import_echo4.useQuery)(space, import_echo4.Filter.schema(import_chunk_KLSNCP34.ServiceType));
|
|
1508
1667
|
const [serviceTools, setServiceTools] = (0, import_react8.useState)([]);
|
|
1509
1668
|
(0, import_react8.useEffect)(() => {
|
|
1510
1669
|
(0, import_log7.log)("creating service tools...", void 0, {
|
|
1511
1670
|
F: __dxlog_file7,
|
|
1512
|
-
L:
|
|
1671
|
+
L: 41,
|
|
1513
1672
|
S: void 0,
|
|
1514
1673
|
C: (f, a) => f(...a)
|
|
1515
1674
|
});
|
|
@@ -1521,11 +1680,14 @@ var useChatProcessor = (space, settings) => {
|
|
|
1521
1680
|
services
|
|
1522
1681
|
]);
|
|
1523
1682
|
const config = (0, import_react_client.useConfig)();
|
|
1524
|
-
const functions = (0, import_echo4.useQuery)(space, import_echo4.Filter.schema(
|
|
1683
|
+
const functions = (0, import_echo4.useQuery)(space, import_echo4.Filter.schema(import_types3.FunctionType));
|
|
1684
|
+
const chatId = (0, import_react8.useMemo)(() => chat ? (0, import_echo4.fullyQualifiedId)(chat) : void 0, [
|
|
1685
|
+
chat
|
|
1686
|
+
]);
|
|
1525
1687
|
const [tools, extensions] = (0, import_react8.useMemo)(() => {
|
|
1526
1688
|
(0, import_log7.log)("creating tools...", void 0, {
|
|
1527
1689
|
F: __dxlog_file7,
|
|
1528
|
-
L:
|
|
1690
|
+
L: 53,
|
|
1529
1691
|
S: void 0,
|
|
1530
1692
|
C: (f, a) => f(...a)
|
|
1531
1693
|
});
|
|
@@ -1537,7 +1699,9 @@ var useChatProcessor = (space, settings) => {
|
|
|
1537
1699
|
];
|
|
1538
1700
|
const extensions2 = {
|
|
1539
1701
|
space,
|
|
1540
|
-
dispatch
|
|
1702
|
+
dispatch,
|
|
1703
|
+
pivotId: chatId,
|
|
1704
|
+
part
|
|
1541
1705
|
};
|
|
1542
1706
|
return [
|
|
1543
1707
|
tools2,
|
|
@@ -1548,6 +1712,7 @@ var useChatProcessor = (space, settings) => {
|
|
|
1548
1712
|
globalTools,
|
|
1549
1713
|
artifactDefinitions,
|
|
1550
1714
|
space,
|
|
1715
|
+
chatId,
|
|
1551
1716
|
serviceTools,
|
|
1552
1717
|
functions
|
|
1553
1718
|
]);
|
|
@@ -1556,31 +1721,30 @@ var useChatProcessor = (space, settings) => {
|
|
|
1556
1721
|
}), [
|
|
1557
1722
|
artifactDefinitions
|
|
1558
1723
|
]);
|
|
1724
|
+
const model = settings?.llmProvider === "ollama" ? settings?.ollamaModel ?? import_assistant2.DEFAULT_OLLAMA_MODEL : settings?.edgeModel ?? import_assistant2.DEFAULT_EDGE_MODEL;
|
|
1559
1725
|
const processor = (0, import_react8.useMemo)(() => {
|
|
1560
1726
|
(0, import_log7.log)("creating processor...", {
|
|
1561
1727
|
settings
|
|
1562
1728
|
}, {
|
|
1563
1729
|
F: __dxlog_file7,
|
|
1564
|
-
L:
|
|
1730
|
+
L: 84,
|
|
1565
1731
|
S: void 0,
|
|
1566
1732
|
C: (f, a) => f(...a)
|
|
1567
1733
|
});
|
|
1568
|
-
return new ChatProcessor(aiClient, tools, extensions, {
|
|
1569
|
-
|
|
1570
|
-
model: settings?.llmModel ?? import_assistant2.DEFAULT_LLM_MODEL,
|
|
1571
|
-
// TOOD(burdon): Query.
|
|
1734
|
+
return new ChatProcessor(aiClient.value, tools, extensions, {
|
|
1735
|
+
model,
|
|
1572
1736
|
systemPrompt
|
|
1573
1737
|
});
|
|
1574
1738
|
}, [
|
|
1575
|
-
aiClient,
|
|
1739
|
+
aiClient.value,
|
|
1576
1740
|
tools,
|
|
1577
1741
|
extensions,
|
|
1578
|
-
|
|
1579
|
-
|
|
1742
|
+
model,
|
|
1743
|
+
systemPrompt
|
|
1580
1744
|
]);
|
|
1581
1745
|
return processor;
|
|
1582
1746
|
};
|
|
1583
|
-
var registerTriggersMutex = new
|
|
1747
|
+
var registerTriggersMutex = new import_async2.Mutex();
|
|
1584
1748
|
var useMessageQueue = (chat) => {
|
|
1585
1749
|
const space = (0, import_echo6.getSpace)(chat);
|
|
1586
1750
|
const queueDxn = (0, import_react10.useMemo)(() => {
|
|
@@ -1594,8 +1758,7 @@ var useMessageQueue = (chat) => {
|
|
|
1594
1758
|
space,
|
|
1595
1759
|
chat?.queue.dxn
|
|
1596
1760
|
]);
|
|
1597
|
-
|
|
1598
|
-
return (0, import_react_edge_client.useQueue)(edgeClient, queueDxn);
|
|
1761
|
+
return (0, import_echo6.useQueue)(queueDxn);
|
|
1599
1762
|
};
|
|
1600
1763
|
var MockServiceRegistry = class {
|
|
1601
1764
|
async queryServices(query) {
|
|
@@ -1618,7 +1781,7 @@ var VISUAL_CROSSING_CREDENTIALS = {
|
|
|
1618
1781
|
}
|
|
1619
1782
|
};
|
|
1620
1783
|
var TEST_SERVICES = [
|
|
1621
|
-
(0, import_echo_schema4.createStatic)(
|
|
1784
|
+
(0, import_echo_schema4.createStatic)(import_chunk_KLSNCP34.ServiceType, {
|
|
1622
1785
|
serviceId: "amadeus.com/service/FlightSearch",
|
|
1623
1786
|
name: "Amadeus Flight Search",
|
|
1624
1787
|
description: "Search for local and international flights.",
|
|
@@ -1631,7 +1794,7 @@ var TEST_SERVICES = [
|
|
|
1631
1794
|
}
|
|
1632
1795
|
]
|
|
1633
1796
|
}),
|
|
1634
|
-
(0, import_echo_schema4.createStatic)(
|
|
1797
|
+
(0, import_echo_schema4.createStatic)(import_chunk_KLSNCP34.ServiceType, {
|
|
1635
1798
|
serviceId: "amadeus.com/service/HotelSearch",
|
|
1636
1799
|
name: "Amadeus Hotel Search",
|
|
1637
1800
|
description: "Search for local and international hotels.",
|
|
@@ -1644,7 +1807,7 @@ var TEST_SERVICES = [
|
|
|
1644
1807
|
}
|
|
1645
1808
|
]
|
|
1646
1809
|
}),
|
|
1647
|
-
(0, import_echo_schema4.createStatic)(
|
|
1810
|
+
(0, import_echo_schema4.createStatic)(import_chunk_KLSNCP34.ServiceType, {
|
|
1648
1811
|
serviceId: "visualcrossing.com/service/Weather",
|
|
1649
1812
|
name: "Visual Crossing Weather",
|
|
1650
1813
|
description: "Search for global weather forecasts.",
|
|
@@ -1658,7 +1821,7 @@ var TEST_SERVICES = [
|
|
|
1658
1821
|
]
|
|
1659
1822
|
}),
|
|
1660
1823
|
// TODO(burdon): Needs auth.
|
|
1661
|
-
(0, import_echo_schema4.createStatic)(
|
|
1824
|
+
(0, import_echo_schema4.createStatic)(import_chunk_KLSNCP34.ServiceType, {
|
|
1662
1825
|
serviceId: "abstractapi.com/service/GeoLocation",
|
|
1663
1826
|
name: "Abstract GeoLocation",
|
|
1664
1827
|
description: "Get the location of any IP address.",
|
|
@@ -1675,11 +1838,11 @@ var TEST_SERVICES = [
|
|
|
1675
1838
|
//
|
|
1676
1839
|
...Array.from({
|
|
1677
1840
|
length: 20
|
|
1678
|
-
}, (_, i) => (0, import_echo_schema4.createStatic)(
|
|
1841
|
+
}, (_, i) => (0, import_echo_schema4.createStatic)(import_chunk_KLSNCP34.ServiceType, {
|
|
1679
1842
|
serviceId: `example.com/service/test-${i}`,
|
|
1680
1843
|
name: `Test ${i}`,
|
|
1681
1844
|
description: `Test ${i}`,
|
|
1682
|
-
category: Object.keys(
|
|
1845
|
+
category: Object.keys(import_chunk_KLSNCP34.categoryIcons)[Math.floor(Math.random() * Object.keys(import_chunk_KLSNCP34.categoryIcons).length)],
|
|
1683
1846
|
interfaces: [
|
|
1684
1847
|
{
|
|
1685
1848
|
kind: "api",
|
|
@@ -1703,10 +1866,59 @@ var useServices = (space, query) => {
|
|
|
1703
1866
|
]);
|
|
1704
1867
|
return services;
|
|
1705
1868
|
};
|
|
1706
|
-
var __dxlog_file8 = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-assistant/src/
|
|
1707
|
-
var
|
|
1869
|
+
var __dxlog_file8 = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-assistant/src/hooks/useContextProvider.ts";
|
|
1870
|
+
var stringMatch = (query, label) => label.toLowerCase().startsWith(query.toLowerCase());
|
|
1871
|
+
var useContextProvider = (space) => {
|
|
1872
|
+
const artifactDefinitions = (0, import_app_framework4.useCapabilities)(import_app_framework4.Capabilities.ArtifactDefinition);
|
|
1873
|
+
return (0, import_react13.useMemo)(() => {
|
|
1874
|
+
if (!space) {
|
|
1875
|
+
return void 0;
|
|
1876
|
+
}
|
|
1877
|
+
return {
|
|
1878
|
+
query: async ({ query }) => {
|
|
1879
|
+
const artifactSchemas = artifactDefinitions.map((artifact) => artifact.schema);
|
|
1880
|
+
const { objects } = await space.db.query(import_echo7.Filter.or(...artifactSchemas.map((schema) => import_echo7.Filter.schema(schema)))).run();
|
|
1881
|
+
return objects.map((object) => {
|
|
1882
|
+
import_log10.log.info("object", {
|
|
1883
|
+
object,
|
|
1884
|
+
label: (0, import_echo_schema5.getLabel)((0, import_echo_schema5.getSchema)(object), object)
|
|
1885
|
+
}, {
|
|
1886
|
+
F: __dxlog_file8,
|
|
1887
|
+
L: 36,
|
|
1888
|
+
S: void 0,
|
|
1889
|
+
C: (f, a) => f(...a)
|
|
1890
|
+
});
|
|
1891
|
+
return object;
|
|
1892
|
+
}).filter((object) => stringMatch(query, (0, import_echo_schema5.getLabel)((0, import_echo_schema5.getSchema)(object), object) ?? "")).filter((object) => !!(0, import_echo_schema5.getDXN)(object)).map((object) => ({
|
|
1893
|
+
uri: (0, import_echo_schema5.getDXN)(object).toString(),
|
|
1894
|
+
label: (0, import_echo_schema5.getLabel)((0, import_echo_schema5.getSchema)(object), object) ?? ""
|
|
1895
|
+
}));
|
|
1896
|
+
},
|
|
1897
|
+
resolveMetadata: async ({ uri }) => {
|
|
1898
|
+
const object = await space.db.query({
|
|
1899
|
+
id: uri
|
|
1900
|
+
}).first();
|
|
1901
|
+
return {
|
|
1902
|
+
uri,
|
|
1903
|
+
label: (0, import_echo_schema5.getLabel)((0, import_echo_schema5.getSchema)(object), object) ?? ""
|
|
1904
|
+
};
|
|
1905
|
+
}
|
|
1906
|
+
};
|
|
1907
|
+
}, [
|
|
1908
|
+
space,
|
|
1909
|
+
artifactDefinitions
|
|
1910
|
+
]);
|
|
1911
|
+
};
|
|
1912
|
+
var __dxlog_file9 = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-assistant/src/components/Thread/ThreadContainer.tsx";
|
|
1913
|
+
var ThreadContainer = ({ classNames, chat, settings, part, onOpenChange, ...props }) => {
|
|
1708
1914
|
const space = (0, import_echo3.getSpace)(chat);
|
|
1709
|
-
const
|
|
1915
|
+
const contextProvider = useContextProvider(space);
|
|
1916
|
+
const processor = useChatProcessor({
|
|
1917
|
+
chat,
|
|
1918
|
+
space,
|
|
1919
|
+
settings,
|
|
1920
|
+
part
|
|
1921
|
+
});
|
|
1710
1922
|
const messageQueue = useMessageQueue(chat);
|
|
1711
1923
|
const messages = [
|
|
1712
1924
|
...messageQueue?.items ?? [],
|
|
@@ -1715,8 +1927,8 @@ var ThreadContainer = ({ classNames, chat, settings, onOpenChange, ...props }) =
|
|
|
1715
1927
|
const handleSubmit = (0, import_react7.useCallback)((text) => {
|
|
1716
1928
|
if (processor.streaming.value) {
|
|
1717
1929
|
import_log5.log.warn("ignoring submit; still processing.", void 0, {
|
|
1718
|
-
F:
|
|
1719
|
-
L:
|
|
1930
|
+
F: __dxlog_file9,
|
|
1931
|
+
L: 41,
|
|
1720
1932
|
S: void 0,
|
|
1721
1933
|
C: (f, a) => f(...a)
|
|
1722
1934
|
});
|
|
@@ -1724,8 +1936,8 @@ var ThreadContainer = ({ classNames, chat, settings, onOpenChange, ...props }) =
|
|
|
1724
1936
|
}
|
|
1725
1937
|
onOpenChange?.(true);
|
|
1726
1938
|
(0, import_invariant3.invariant)(messageQueue, void 0, {
|
|
1727
|
-
F:
|
|
1728
|
-
L:
|
|
1939
|
+
F: __dxlog_file9,
|
|
1940
|
+
L: 47,
|
|
1729
1941
|
S: void 0,
|
|
1730
1942
|
A: [
|
|
1731
1943
|
"messageQueue",
|
|
@@ -1762,6 +1974,7 @@ var ThreadContainer = ({ classNames, chat, settings, onOpenChange, ...props }) =
|
|
|
1762
1974
|
onCancel: handleCancel,
|
|
1763
1975
|
onPrompt: handleSubmit,
|
|
1764
1976
|
onOpenChange,
|
|
1977
|
+
contextProvider,
|
|
1765
1978
|
...props
|
|
1766
1979
|
});
|
|
1767
1980
|
};
|
|
@@ -1778,4 +1991,4 @@ var ThreadContainer = ({ classNames, chat, settings, onOpenChange, ...props }) =
|
|
|
1778
1991
|
ToolboxContainer,
|
|
1779
1992
|
useServices
|
|
1780
1993
|
});
|
|
1781
|
-
//# sourceMappingURL=chunk-
|
|
1994
|
+
//# sourceMappingURL=chunk-OJJ4F6KP.cjs.map
|