@dxos/plugin-assistant 0.8.1-staging.391c573 → 0.8.1-staging.5be625a
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-CM33SOCT.mjs → AssistantDialog-EIUUSXDS.mjs} +11 -10
- package/dist/lib/browser/AssistantDialog-EIUUSXDS.mjs.map +7 -0
- package/dist/lib/browser/{ChatContainer-VW73VNUY.mjs → ChatContainer-NHHA6CSP.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-4DIOTGOG.mjs → app-graph-builder-DTCUWBKB.mjs} +57 -6
- package/dist/lib/browser/app-graph-builder-DTCUWBKB.mjs.map +7 -0
- package/dist/lib/browser/{chunk-M2SADJVS.mjs → chunk-25APJ3ZK.mjs} +34 -12
- package/dist/lib/browser/chunk-25APJ3ZK.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-WVME6K4X.mjs → chunk-KGIACFAX.mjs} +333 -205
- package/dist/lib/browser/chunk-KGIACFAX.mjs.map +7 -0
- 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-FPXC3LKK.mjs → chunk-X6ALDUA5.mjs} +25 -3
- package/dist/lib/browser/{chunk-FPXC3LKK.mjs.map → chunk-X6ALDUA5.mjs.map} +3 -3
- package/dist/lib/browser/index.mjs +25 -27
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-FQRN6747.mjs → intent-resolver-U57FXP3I.mjs} +6 -3
- package/dist/lib/browser/{intent-resolver-FQRN6747.mjs.map → intent-resolver-U57FXP3I.mjs.map} +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-ZT6EQ7FJ.mjs → react-surface-YNN5NYJW.mjs} +10 -9
- package/dist/lib/browser/react-surface-YNN5NYJW.mjs.map +7 -0
- package/dist/lib/browser/{settings-VVQUGG56.mjs → settings-VAW6UWFL.mjs} +3 -3
- package/dist/lib/browser/types/index.mjs +6 -2
- package/dist/lib/node/{AssistantDialog-5PVOCPE2.cjs → AssistantDialog-GT7R7MKH.cjs} +17 -16
- package/dist/lib/node/AssistantDialog-GT7R7MKH.cjs.map +7 -0
- package/dist/lib/node/{ChatContainer-I45I3ICI.cjs → ChatContainer-JUZOEZZ7.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-6CY35ZIR.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-7O4U4RXH.cjs → app-graph-builder-3P6WSON2.cjs} +63 -13
- package/dist/lib/node/app-graph-builder-3P6WSON2.cjs.map +7 -0
- package/dist/lib/node/{chunk-HFOUAFOW.cjs → chunk-G2HY3UJ4.cjs} +40 -18
- package/dist/lib/node/chunk-G2HY3UJ4.cjs.map +7 -0
- package/dist/lib/node/{chunk-JWUHUQ56.cjs → chunk-JAB6KLPP.cjs} +334 -210
- package/dist/lib/node/chunk-JAB6KLPP.cjs.map +7 -0
- package/dist/lib/node/{chunk-34WE2FD2.cjs → chunk-KLSNCP34.cjs} +31 -7
- 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-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/index.cjs +75 -77
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/{intent-resolver-Z37RNNMC.cjs → intent-resolver-YIFAMM3B.cjs} +13 -10
- package/dist/lib/node/{intent-resolver-Z37RNNMC.cjs.map → intent-resolver-YIFAMM3B.cjs.map} +3 -3
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-surface-KFXP3GGK.cjs → react-surface-IDGIN55C.cjs} +25 -24
- package/dist/lib/node/react-surface-IDGIN55C.cjs.map +7 -0
- package/dist/lib/node/{settings-TJHHVI6B.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-Q2ZBOHOV.mjs → AssistantDialog-JMBFM6QH.mjs} +11 -10
- package/dist/lib/node-esm/AssistantDialog-JMBFM6QH.mjs.map +7 -0
- package/dist/lib/node-esm/{ChatContainer-5ULBF3GW.mjs → ChatContainer-ZNN5CMVL.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-SX3SREXF.mjs → app-graph-builder-PMAQLTTN.mjs} +57 -6
- 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-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-LELXJPGJ.mjs → chunk-NMMRHHAR.mjs} +25 -3
- package/dist/lib/node-esm/{chunk-LELXJPGJ.mjs.map → chunk-NMMRHHAR.mjs.map} +3 -3
- package/dist/lib/node-esm/{chunk-ASMI7PQ2.mjs → chunk-PK5JCOYB.mjs} +333 -205
- package/dist/lib/node-esm/chunk-PK5JCOYB.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-2OUUYMBT.mjs → chunk-SMUINDXQ.mjs} +34 -12
- package/dist/lib/node-esm/chunk-SMUINDXQ.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +25 -27
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-LOTXWV4J.mjs → intent-resolver-SQ4HLL5L.mjs} +6 -3
- package/dist/lib/node-esm/{intent-resolver-LOTXWV4J.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-NZNNP2QI.mjs → react-surface-424JZTZ4.mjs} +10 -9
- package/dist/lib/node-esm/react-surface-424JZTZ4.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-BVWR244C.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/AmbientDialog/AmbientDialog.d.ts +4 -3
- 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.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/hooks/email.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/processor.d.ts +7 -15
- 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/translations.d.ts +23 -12
- package/dist/types/src/translations.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 -4
- package/src/capabilities/ai-client.ts +23 -5
- package/src/capabilities/app-graph-builder.ts +48 -2
- 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/AmbientDialog/AmbientDialog.tsx +11 -11
- 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 +28 -18
- 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 +5 -10
- package/src/components/Thread/ThreadContainer.tsx +7 -4
- package/src/components/Thread/ThreadMessage.tsx +17 -9
- package/src/hooks/email.ts +3 -3
- package/src/hooks/index.ts +1 -0
- package/src/hooks/processor.ts +57 -116
- package/src/hooks/useChatProcessor.tsx +24 -16
- package/src/hooks/useContextProvider.ts +55 -0
- package/src/hooks/useMessageQueue.ts +2 -4
- package/src/meta.ts +2 -2
- package/src/testing/test-functions.ts +2 -2
- package/src/translations.ts +10 -5
- package/src/types/template.ts +22 -0
- package/src/types/types.ts +3 -1
- package/dist/lib/browser/AssistantDialog-CM33SOCT.mjs.map +0 -7
- 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-HZPB7E6M.mjs +0 -22
- package/dist/lib/browser/ai-client-HZPB7E6M.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-4DIOTGOG.mjs.map +0 -7
- package/dist/lib/browser/chunk-M2SADJVS.mjs.map +0 -7
- package/dist/lib/browser/chunk-NTLTGYYS.mjs.map +0 -7
- package/dist/lib/browser/chunk-WVME6K4X.mjs.map +0 -7
- package/dist/lib/browser/react-surface-ZT6EQ7FJ.mjs.map +0 -7
- package/dist/lib/node/AssistantDialog-5PVOCPE2.cjs.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-6CY35ZIR.cjs.map +0 -7
- package/dist/lib/node/app-graph-builder-7O4U4RXH.cjs.map +0 -7
- package/dist/lib/node/chunk-34WE2FD2.cjs.map +0 -7
- package/dist/lib/node/chunk-3WXG6WA6.cjs.map +0 -7
- package/dist/lib/node/chunk-HFOUAFOW.cjs.map +0 -7
- package/dist/lib/node/chunk-JWUHUQ56.cjs.map +0 -7
- package/dist/lib/node/react-surface-KFXP3GGK.cjs.map +0 -7
- package/dist/lib/node-esm/AssistantDialog-Q2ZBOHOV.mjs.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-GSA67EIB.mjs +0 -23
- package/dist/lib/node-esm/ai-client-GSA67EIB.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-SX3SREXF.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-2OUUYMBT.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-ASMI7PQ2.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-ICQN3TDS.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-NZNNP2QI.mjs.map +0 -7
- /package/dist/lib/browser/{ChatContainer-VW73VNUY.mjs.map → ChatContainer-NHHA6CSP.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-EUMPBC4T.mjs.map → chunk-6FTPLBSC.mjs.map} +0 -0
- /package/dist/lib/browser/{settings-VVQUGG56.mjs.map → settings-VAW6UWFL.mjs.map} +0 -0
- /package/dist/lib/node/{ChatContainer-I45I3ICI.cjs.map → ChatContainer-JUZOEZZ7.cjs.map} +0 -0
- /package/dist/lib/node/{chunk-NV4TQQSU.cjs.map → chunk-N3SW6DJ6.cjs.map} +0 -0
- /package/dist/lib/node/{settings-TJHHVI6B.cjs.map → settings-2FEYGLYU.cjs.map} +0 -0
- /package/dist/lib/node-esm/{ChatContainer-5ULBF3GW.mjs.map → ChatContainer-ZNN5CMVL.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-BVWR244C.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_JAB6KLPP_exports = {};
|
|
30
|
+
__export(chunk_JAB6KLPP_exports, {
|
|
31
31
|
AiClient: () => AiClient,
|
|
32
32
|
AppGraphBuilder: () => AppGraphBuilder,
|
|
33
33
|
AssistantSettings: () => AssistantSettings,
|
|
@@ -39,10 +39,10 @@ __export(chunk_JWUHUQ56_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_JAB6KLPP_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");
|
|
@@ -78,12 +78,17 @@ var import_log4 = require("@dxos/log");
|
|
|
78
78
|
var import_react_ui_components3 = require("@dxos/react-ui-components");
|
|
79
79
|
var import_react_ui_syntax_highlighter2 = require("@dxos/react-ui-syntax-highlighter");
|
|
80
80
|
var import_util4 = require("@dxos/util");
|
|
81
|
+
var import_state = require("@codemirror/state");
|
|
81
82
|
var import_react5 = __toESM(require("react"));
|
|
82
83
|
var import_react_ui2 = require("@dxos/react-ui");
|
|
83
84
|
var import_react_ui_editor = require("@dxos/react-ui-editor");
|
|
84
85
|
var import_react_ui_theme4 = require("@dxos/react-ui-theme");
|
|
85
|
-
var
|
|
86
|
+
var import_state2 = require("@codemirror/state");
|
|
86
87
|
var import_view = require("@codemirror/view");
|
|
88
|
+
var import_autocomplete = require("@codemirror/autocomplete");
|
|
89
|
+
var import_state3 = require("@codemirror/state");
|
|
90
|
+
var import_view2 = require("@codemirror/view");
|
|
91
|
+
var import_async = require("@dxos/async");
|
|
87
92
|
var import_react6 = __toESM(require("react"));
|
|
88
93
|
var import_plugin_transcription = require("@dxos/plugin-transcription");
|
|
89
94
|
var import_react_ui3 = require("@dxos/react-ui");
|
|
@@ -94,14 +99,12 @@ var import_invariant3 = require("@dxos/invariant");
|
|
|
94
99
|
var import_log5 = require("@dxos/log");
|
|
95
100
|
var import_echo3 = require("@dxos/react-client/echo");
|
|
96
101
|
var import_signals_core = require("@preact/signals-core");
|
|
97
|
-
var import_artifact4 = require("@dxos/artifact");
|
|
98
102
|
var import_assistant = require("@dxos/assistant");
|
|
99
|
-
var import_echo_schema3 = require("@dxos/echo-schema");
|
|
100
103
|
var import_invariant4 = require("@dxos/invariant");
|
|
101
104
|
var import_log6 = require("@dxos/log");
|
|
102
105
|
var import_react8 = require("react");
|
|
103
106
|
var import_app_framework2 = require("@dxos/app-framework");
|
|
104
|
-
var
|
|
107
|
+
var import_artifact4 = require("@dxos/artifact");
|
|
105
108
|
var import_assistant2 = require("@dxos/assistant");
|
|
106
109
|
var import_types3 = require("@dxos/functions/types");
|
|
107
110
|
var import_log7 = require("@dxos/log");
|
|
@@ -110,7 +113,7 @@ var import_echo4 = require("@dxos/react-client/echo");
|
|
|
110
113
|
var import_util5 = require("@dxos/util");
|
|
111
114
|
var import_app_framework3 = require("@dxos/app-framework");
|
|
112
115
|
var import_react9 = require("react");
|
|
113
|
-
var
|
|
116
|
+
var import_async2 = require("@dxos/async");
|
|
114
117
|
var import_context = require("@dxos/context");
|
|
115
118
|
var import_functions = require("@dxos/functions");
|
|
116
119
|
var import_types4 = require("@dxos/functions/types");
|
|
@@ -118,7 +121,7 @@ var import_invariant5 = require("@dxos/invariant");
|
|
|
118
121
|
var import_log8 = require("@dxos/log");
|
|
119
122
|
var import_react_client2 = require("@dxos/react-client");
|
|
120
123
|
var import_echo5 = require("@dxos/react-client/echo");
|
|
121
|
-
var
|
|
124
|
+
var import_async3 = require("@dxos/async");
|
|
122
125
|
var import_echo_db = require("@dxos/echo-db");
|
|
123
126
|
var import_types5 = require("@dxos/functions/types");
|
|
124
127
|
var import_invariant6 = require("@dxos/invariant");
|
|
@@ -127,12 +130,16 @@ var import_log9 = require("@dxos/log");
|
|
|
127
130
|
var import_react10 = require("react");
|
|
128
131
|
var import_keys2 = require("@dxos/keys");
|
|
129
132
|
var import_echo6 = require("@dxos/react-client/echo");
|
|
130
|
-
var import_react_edge_client = require("@dxos/react-edge-client");
|
|
131
133
|
var import_react11 = require("react");
|
|
132
|
-
var
|
|
134
|
+
var import_artifact5 = require("@dxos/artifact");
|
|
133
135
|
var import_assistant3 = require("@dxos/assistant");
|
|
134
|
-
var
|
|
136
|
+
var import_echo_schema3 = require("@dxos/echo-schema");
|
|
135
137
|
var import_react12 = require("react");
|
|
138
|
+
var import_react13 = require("react");
|
|
139
|
+
var import_app_framework4 = require("@dxos/app-framework");
|
|
140
|
+
var import_echo_schema4 = require("@dxos/echo-schema");
|
|
141
|
+
var import_log10 = require("@dxos/log");
|
|
142
|
+
var import_echo7 = require("@dxos/react-client/echo");
|
|
136
143
|
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-assistant/src/tools/function.ts";
|
|
137
144
|
var covertFunctionToTool = (fn, edgeUrl, spaceId) => {
|
|
138
145
|
if (!fn.description || !fn.inputSchema) {
|
|
@@ -609,7 +616,7 @@ var Section = ({ title, items, striped }) => {
|
|
|
609
616
|
};
|
|
610
617
|
var ToolboxContainer = ({ classNames, space }) => {
|
|
611
618
|
const artifactDefinitions = (0, import_app_framework.useCapabilities)(import_app_framework.Capabilities.ArtifactDefinition);
|
|
612
|
-
const services = (0, import_echo.useQuery)(space, import_echo.Filter.schema(
|
|
619
|
+
const services = (0, import_echo.useQuery)(space, import_echo.Filter.schema(import_chunk_KLSNCP34.ServiceType));
|
|
613
620
|
const [serviceTools, setServiceTools] = (0, import_react.useState)([]);
|
|
614
621
|
(0, import_react.useEffect)(() => {
|
|
615
622
|
(0, import_log.log)("creating service tools...", {
|
|
@@ -755,7 +762,7 @@ var ToolContainer = ({ classNames, items }) => {
|
|
|
755
762
|
};
|
|
756
763
|
var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-assistant/src/components/Thread/ThreadMessage.tsx";
|
|
757
764
|
var panelClassNames = "flex flex-col w-full px-2 bg-groupSurface rounded-md";
|
|
758
|
-
var userClassNames = "bg-[--user-fill]";
|
|
765
|
+
var userClassNames = "bg-[--user-fill] text-inverse";
|
|
759
766
|
var ToggleContainer2 = (props) => {
|
|
760
767
|
return /* @__PURE__ */ import_react3.default.createElement(import_react_ui_components2.ToggleContainer, {
|
|
761
768
|
...props,
|
|
@@ -780,7 +787,7 @@ var ThreadMessage = ({ classNames, space, message, tools, onPrompt }) => {
|
|
|
780
787
|
const { role, content = [] } = message;
|
|
781
788
|
if (isToolMessage(message)) {
|
|
782
789
|
return /* @__PURE__ */ import_react3.default.createElement(MessageContainer, {
|
|
783
|
-
classNames
|
|
790
|
+
classNames: (0, import_react_ui_theme3.mx)(classNames, "animate-[fadeIn_0.5s]")
|
|
784
791
|
}, /* @__PURE__ */ import_react3.default.createElement(ToolBlock, {
|
|
785
792
|
space,
|
|
786
793
|
classNames: panelClassNames,
|
|
@@ -795,7 +802,7 @@ var ThreadMessage = ({ classNames, space, message, tools, onPrompt }) => {
|
|
|
795
802
|
const Component = components[block.type] ?? components.default;
|
|
796
803
|
return /* @__PURE__ */ import_react3.default.createElement(MessageContainer, {
|
|
797
804
|
key: idx,
|
|
798
|
-
classNames,
|
|
805
|
+
classNames: (0, import_react_ui_theme3.mx)(classNames, "animate-[fadeIn_0.5s]"),
|
|
799
806
|
user: block.type === "text" && role === "user"
|
|
800
807
|
}, /* @__PURE__ */ import_react3.default.createElement(Component, {
|
|
801
808
|
space,
|
|
@@ -811,7 +818,7 @@ var components = {
|
|
|
811
818
|
["text"]: ({ block }) => {
|
|
812
819
|
(0, import_invariant2.invariant)(block.type === "text", void 0, {
|
|
813
820
|
F: __dxlog_file5,
|
|
814
|
-
L:
|
|
821
|
+
L: 90,
|
|
815
822
|
S: void 0,
|
|
816
823
|
A: [
|
|
817
824
|
"block.type === 'text'",
|
|
@@ -821,6 +828,7 @@ var components = {
|
|
|
821
828
|
const title = block.disposition ? titles[block.disposition] : void 0;
|
|
822
829
|
if (!title) {
|
|
823
830
|
return /* @__PURE__ */ import_react3.default.createElement(import_react_ui_components2.MarkdownViewer, {
|
|
831
|
+
classNames: "[&>p]:animate-[fadeIn_0.5s]",
|
|
824
832
|
content: block.text
|
|
825
833
|
});
|
|
826
834
|
}
|
|
@@ -847,7 +855,7 @@ var components = {
|
|
|
847
855
|
["json"]: ({ space, block, onPrompt }) => {
|
|
848
856
|
(0, import_invariant2.invariant)(block.type === "json", void 0, {
|
|
849
857
|
F: __dxlog_file5,
|
|
850
|
-
L:
|
|
858
|
+
L: 128,
|
|
851
859
|
S: void 0,
|
|
852
860
|
A: [
|
|
853
861
|
"block.type === 'json'",
|
|
@@ -874,7 +882,10 @@ var components = {
|
|
|
874
882
|
}
|
|
875
883
|
case "select": {
|
|
876
884
|
const { options = [] } = (0, import_util3.safeParseJson)(block.json ?? "{}") ?? {};
|
|
877
|
-
return /* @__PURE__ */ import_react3.default.createElement(
|
|
885
|
+
return /* @__PURE__ */ import_react3.default.createElement("div", {
|
|
886
|
+
className: "flex flex-wrap gap-1"
|
|
887
|
+
}, options.map((option, idx) => /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Button, {
|
|
888
|
+
classNames: "animate-[fadeIn_0.5s] rounded-2xl text-sm",
|
|
878
889
|
key: option,
|
|
879
890
|
onClick: () => onPrompt?.(option)
|
|
880
891
|
}, option)));
|
|
@@ -1020,7 +1031,7 @@ var createAutocompleteExtension = ({ onSubmit, onSuggest }) => {
|
|
|
1020
1031
|
}
|
|
1021
1032
|
}),
|
|
1022
1033
|
// Accept the current suggestion.
|
|
1023
|
-
|
|
1034
|
+
import_state2.Prec.highest(import_view.keymap.of([
|
|
1024
1035
|
{
|
|
1025
1036
|
key: "Tab",
|
|
1026
1037
|
preventDefault: true,
|
|
@@ -1109,9 +1120,120 @@ var InlineSuggestionWidget = class extends import_view.WidgetType {
|
|
|
1109
1120
|
return other.suffix === this.suffix;
|
|
1110
1121
|
}
|
|
1111
1122
|
};
|
|
1112
|
-
var
|
|
1123
|
+
var promptReferences = ({ provider, debug = false, triggerCharacter = "@" }) => {
|
|
1124
|
+
if (triggerCharacter.length !== 1) {
|
|
1125
|
+
throw new Error("triggerCharacter must be a single character");
|
|
1126
|
+
}
|
|
1127
|
+
const decorationField = import_view2.ViewPlugin.fromClass(class ReferenceView {
|
|
1128
|
+
constructor(view) {
|
|
1129
|
+
this._mutex = new import_async.Mutex();
|
|
1130
|
+
this.decorations = import_view2.Decoration.set([]);
|
|
1131
|
+
queueMicrotask(async () => {
|
|
1132
|
+
const guard = await this._mutex.acquire();
|
|
1133
|
+
try {
|
|
1134
|
+
this.decorations = await this._computeDecorations(view);
|
|
1135
|
+
} finally {
|
|
1136
|
+
guard.release();
|
|
1137
|
+
}
|
|
1138
|
+
});
|
|
1139
|
+
}
|
|
1140
|
+
update(update) {
|
|
1141
|
+
if (update.docChanged) {
|
|
1142
|
+
queueMicrotask(async () => {
|
|
1143
|
+
const guard = await this._mutex.acquire();
|
|
1144
|
+
try {
|
|
1145
|
+
this.decorations = await this._computeDecorations(update.view);
|
|
1146
|
+
} finally {
|
|
1147
|
+
guard.release();
|
|
1148
|
+
}
|
|
1149
|
+
});
|
|
1150
|
+
}
|
|
1151
|
+
}
|
|
1152
|
+
async _computeDecorations(view) {
|
|
1153
|
+
const text = view.state.doc.toString();
|
|
1154
|
+
const references = text.matchAll(new RegExp(`${triggerCharacter}[a-zA-Z0-9@:]+\\s`, "g"));
|
|
1155
|
+
const decorations = [];
|
|
1156
|
+
for (const match of references) {
|
|
1157
|
+
const reference = match[0];
|
|
1158
|
+
const uri = reference.slice(1, -1);
|
|
1159
|
+
const data = await provider.resolveReference({
|
|
1160
|
+
uri
|
|
1161
|
+
});
|
|
1162
|
+
if (data) {
|
|
1163
|
+
decorations.push(import_view2.Decoration.replace({
|
|
1164
|
+
widget: new ReferenceWidget(data)
|
|
1165
|
+
}).range(match.index, match.index + reference.length));
|
|
1166
|
+
}
|
|
1167
|
+
}
|
|
1168
|
+
return import_view2.Decoration.set(decorations);
|
|
1169
|
+
}
|
|
1170
|
+
}, {
|
|
1171
|
+
decorations: (v) => v.decorations,
|
|
1172
|
+
provide: (plugin) => [
|
|
1173
|
+
import_view2.EditorView.atomicRanges.of((view) => view.plugin(decorationField)?.decorations ?? import_state3.RangeSet.empty)
|
|
1174
|
+
]
|
|
1175
|
+
});
|
|
1176
|
+
return [
|
|
1177
|
+
decorationField,
|
|
1178
|
+
import_view2.EditorView.theme({
|
|
1179
|
+
".cm-reference-pill": {
|
|
1180
|
+
borderRadius: "0.25rem",
|
|
1181
|
+
borderWidth: "1px",
|
|
1182
|
+
marginRight: "0.25rem",
|
|
1183
|
+
marginLeft: "0.25rem"
|
|
1184
|
+
}
|
|
1185
|
+
}),
|
|
1186
|
+
(0, import_autocomplete.autocompletion)({
|
|
1187
|
+
activateOnTyping: true,
|
|
1188
|
+
override: [
|
|
1189
|
+
async (context) => {
|
|
1190
|
+
const match = context.matchBefore(new RegExp(`${triggerCharacter}[a-zA-Z0-9]+`));
|
|
1191
|
+
if (!match || match?.to === match?.from) {
|
|
1192
|
+
return null;
|
|
1193
|
+
}
|
|
1194
|
+
const query = match.text.slice(1);
|
|
1195
|
+
const references = await provider.getReferences({
|
|
1196
|
+
query
|
|
1197
|
+
});
|
|
1198
|
+
return {
|
|
1199
|
+
from: match.from,
|
|
1200
|
+
filter: false,
|
|
1201
|
+
options: references.map((reference) => ({
|
|
1202
|
+
label: reference.label,
|
|
1203
|
+
apply: `${triggerCharacter}${reference.uri} `
|
|
1204
|
+
}))
|
|
1205
|
+
};
|
|
1206
|
+
}
|
|
1207
|
+
],
|
|
1208
|
+
closeOnBlur: !debug,
|
|
1209
|
+
tooltipClass: () => "shadow rounded",
|
|
1210
|
+
aboveCursor: true
|
|
1211
|
+
}),
|
|
1212
|
+
import_view2.keymap.of(import_autocomplete.completionKeymap)
|
|
1213
|
+
];
|
|
1214
|
+
};
|
|
1215
|
+
var ReferenceWidget = class extends import_view2.WidgetType {
|
|
1216
|
+
constructor(data) {
|
|
1217
|
+
super();
|
|
1218
|
+
this.data = data;
|
|
1219
|
+
}
|
|
1220
|
+
toDOM() {
|
|
1221
|
+
const span = document.createElement("span");
|
|
1222
|
+
span.textContent = `@ ${this.data.label}`;
|
|
1223
|
+
span.className = "cm-reference-pill";
|
|
1224
|
+
return span;
|
|
1225
|
+
}
|
|
1226
|
+
eq(other) {
|
|
1227
|
+
return other.data.uri === this.data.uri;
|
|
1228
|
+
}
|
|
1229
|
+
ignoreEvent() {
|
|
1230
|
+
return true;
|
|
1231
|
+
}
|
|
1232
|
+
};
|
|
1233
|
+
var Prompt = /* @__PURE__ */ (0, import_react5.forwardRef)(({ classNames, autoFocus, lineWrapping = false, placeholder, onSubmit, onSuggest, onOpenChange, references }, forwardRef2) => {
|
|
1113
1234
|
const { themeMode } = (0, import_react_ui2.useThemeContext)();
|
|
1114
1235
|
const { parentRef, view } = (0, import_react_ui_editor.useTextEditor)({
|
|
1236
|
+
debug: true,
|
|
1115
1237
|
autoFocus,
|
|
1116
1238
|
extensions: [
|
|
1117
1239
|
(0, import_react_ui_editor.createBasicExtensions)({
|
|
@@ -1122,13 +1244,16 @@ var Prompt = /* @__PURE__ */ (0, import_react5.forwardRef)(({ classNames, autoFo
|
|
|
1122
1244
|
(0, import_react_ui_editor.createThemeExtensions)({
|
|
1123
1245
|
themeMode
|
|
1124
1246
|
}),
|
|
1247
|
+
references ? promptReferences({
|
|
1248
|
+
provider: references
|
|
1249
|
+
}) : [],
|
|
1125
1250
|
createAutocompleteExtension({
|
|
1126
1251
|
onSubmit,
|
|
1127
1252
|
onSuggest
|
|
1128
1253
|
}),
|
|
1129
|
-
import_react_ui_editor.keymap.of([
|
|
1254
|
+
import_state.Prec.highest(import_react_ui_editor.keymap.of([
|
|
1130
1255
|
{
|
|
1131
|
-
key: "
|
|
1256
|
+
key: "cmd-ArrowUp",
|
|
1132
1257
|
preventDefault: true,
|
|
1133
1258
|
run: (view2) => {
|
|
1134
1259
|
onOpenChange?.(true);
|
|
@@ -1136,14 +1261,14 @@ var Prompt = /* @__PURE__ */ (0, import_react5.forwardRef)(({ classNames, autoFo
|
|
|
1136
1261
|
}
|
|
1137
1262
|
},
|
|
1138
1263
|
{
|
|
1139
|
-
key: "
|
|
1264
|
+
key: "cmd-ArrowDown",
|
|
1140
1265
|
preventDefault: true,
|
|
1141
1266
|
run: (view2) => {
|
|
1142
1267
|
onOpenChange?.(false);
|
|
1143
1268
|
return true;
|
|
1144
1269
|
}
|
|
1145
1270
|
}
|
|
1146
|
-
])
|
|
1271
|
+
]))
|
|
1147
1272
|
]
|
|
1148
1273
|
}, [
|
|
1149
1274
|
themeMode,
|
|
@@ -1175,11 +1300,11 @@ var Prompt = /* @__PURE__ */ (0, import_react5.forwardRef)(({ classNames, autoFo
|
|
|
1175
1300
|
]);
|
|
1176
1301
|
return /* @__PURE__ */ import_react5.default.createElement("div", {
|
|
1177
1302
|
ref: parentRef,
|
|
1178
|
-
className: (0, import_react_ui_theme4.mx)("w-full
|
|
1303
|
+
className: (0, import_react_ui_theme4.mx)("w-full", classNames)
|
|
1179
1304
|
});
|
|
1180
1305
|
});
|
|
1181
|
-
var PromptBar = ({ classNames, placeholder, processing, error, microphone, onCancel, ...props }) => {
|
|
1182
|
-
const { t } = (0, import_react_ui3.useTranslation)(
|
|
1306
|
+
var PromptBar = ({ classNames, placeholder, processing, error, microphone, onCancel, references, ...props }) => {
|
|
1307
|
+
const { t } = (0, import_react_ui3.useTranslation)(import_chunk_U6J2GO7I.ASSISTANT_PLUGIN);
|
|
1183
1308
|
const promptRef = (0, import_react6.useRef)(null);
|
|
1184
1309
|
const [active, setActive] = (0, import_react6.useState)(false);
|
|
1185
1310
|
const { recording } = (0, import_plugin_transcription.useVoiceInput)({
|
|
@@ -1209,6 +1334,7 @@ var PromptBar = ({ classNames, placeholder, processing, error, microphone, onCan
|
|
|
1209
1334
|
classNames: "pbs-2",
|
|
1210
1335
|
lineWrapping: true,
|
|
1211
1336
|
placeholder: placeholder ?? t("prompt placeholder"),
|
|
1337
|
+
references,
|
|
1212
1338
|
...props
|
|
1213
1339
|
}), (onCancel || microphone) && /* @__PURE__ */ import_react6.default.createElement("div", {
|
|
1214
1340
|
className: "flex w-[--rail-action] h-[--rail-action] items-center justify-center"
|
|
@@ -1234,7 +1360,7 @@ var PromptBar = ({ classNames, placeholder, processing, error, microphone, onCan
|
|
|
1234
1360
|
onTouchEnd: () => setActive(false)
|
|
1235
1361
|
})));
|
|
1236
1362
|
};
|
|
1237
|
-
var Thread = ({ classNames, space, messages, collapse = true, transcription, processing, error, onSubmit, onCancel, onOpenChange, ...props }) => {
|
|
1363
|
+
var Thread = ({ classNames, space, messages, collapse = true, transcription, processing, error, onSubmit, onCancel, onOpenChange, contextProvider, ...props }) => {
|
|
1238
1364
|
const scroller = (0, import_react2.useRef)(null);
|
|
1239
1365
|
const identity = (0, import_halo.useIdentity)();
|
|
1240
1366
|
const fallbackValue = (0, import_util2.keyToFallback)(identity.identityKey);
|
|
@@ -1260,6 +1386,21 @@ var Thread = ({ classNames, space, messages, collapse = true, transcription, pro
|
|
|
1260
1386
|
messages,
|
|
1261
1387
|
collapse
|
|
1262
1388
|
]);
|
|
1389
|
+
const references = (0, import_react2.useMemo)(() => {
|
|
1390
|
+
if (!contextProvider) {
|
|
1391
|
+
return void 0;
|
|
1392
|
+
}
|
|
1393
|
+
return {
|
|
1394
|
+
getReferences: async ({ query }) => contextProvider.query({
|
|
1395
|
+
query
|
|
1396
|
+
}),
|
|
1397
|
+
resolveReference: async ({ uri }) => contextProvider.resolveMetadata({
|
|
1398
|
+
uri
|
|
1399
|
+
})
|
|
1400
|
+
};
|
|
1401
|
+
}, [
|
|
1402
|
+
contextProvider
|
|
1403
|
+
]);
|
|
1263
1404
|
return /* @__PURE__ */ import_react2.default.createElement("div", {
|
|
1264
1405
|
role: "none",
|
|
1265
1406
|
className: (0, import_react_ui_theme2.mx)("flex flex-col grow overflow-hidden", classNames)
|
|
@@ -1284,24 +1425,24 @@ var Thread = ({ classNames, space, messages, collapse = true, transcription, pro
|
|
|
1284
1425
|
error,
|
|
1285
1426
|
onSubmit: handleSubmit,
|
|
1286
1427
|
onCancel,
|
|
1287
|
-
onOpenChange
|
|
1428
|
+
onOpenChange,
|
|
1429
|
+
references
|
|
1288
1430
|
}));
|
|
1289
1431
|
};
|
|
1290
1432
|
var __dxlog_file6 = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-assistant/src/hooks/processor.ts";
|
|
1291
1433
|
var defaultOptions = {
|
|
1292
|
-
model: import_assistant.
|
|
1434
|
+
model: import_assistant.DEFAULT_EDGE_MODEL,
|
|
1293
1435
|
systemPrompt: "you are a helpful assistant"
|
|
1294
1436
|
};
|
|
1295
1437
|
var ChatProcessor = class {
|
|
1296
|
-
constructor(_ai, _tools, _extensions, _options = defaultOptions) {
|
|
1438
|
+
constructor(_ai, _tools, _artifacts, _extensions, _options = defaultOptions) {
|
|
1297
1439
|
this._ai = _ai;
|
|
1298
1440
|
this._tools = _tools;
|
|
1441
|
+
this._artifacts = _artifacts;
|
|
1299
1442
|
this._extensions = _extensions;
|
|
1300
1443
|
this._options = _options;
|
|
1301
|
-
this._parser = new import_assistant.MixedStreamParser();
|
|
1302
1444
|
this._pending = (0, import_signals_core.signal)([]);
|
|
1303
1445
|
this._block = (0, import_signals_core.signal)(void 0);
|
|
1304
|
-
this._history = [];
|
|
1305
1446
|
this.streaming = (0, import_signals_core.computed)(() => this._block.value !== void 0);
|
|
1306
1447
|
this.error = (0, import_signals_core.signal)(void 0);
|
|
1307
1448
|
this.messages = (0, import_signals_core.computed)(() => {
|
|
@@ -1312,7 +1453,7 @@ var ChatProcessor = class {
|
|
|
1312
1453
|
const current = messages.pop();
|
|
1313
1454
|
(0, import_invariant4.invariant)(current, void 0, {
|
|
1314
1455
|
F: __dxlog_file6,
|
|
1315
|
-
L:
|
|
1456
|
+
L: 70,
|
|
1316
1457
|
S: this,
|
|
1317
1458
|
A: [
|
|
1318
1459
|
"current",
|
|
@@ -1331,20 +1472,6 @@ var ChatProcessor = class {
|
|
|
1331
1472
|
}
|
|
1332
1473
|
return messages;
|
|
1333
1474
|
});
|
|
1334
|
-
this._parser.message.on((message) => {
|
|
1335
|
-
(0, import_signals_core.batch)(() => {
|
|
1336
|
-
this._pending.value = [
|
|
1337
|
-
...this._pending.value,
|
|
1338
|
-
message
|
|
1339
|
-
];
|
|
1340
|
-
this._block.value = void 0;
|
|
1341
|
-
});
|
|
1342
|
-
});
|
|
1343
|
-
this._parser.update.on((block) => {
|
|
1344
|
-
(0, import_signals_core.batch)(() => {
|
|
1345
|
-
this._block.value = block;
|
|
1346
|
-
});
|
|
1347
|
-
});
|
|
1348
1475
|
}
|
|
1349
1476
|
get tools() {
|
|
1350
1477
|
return this._tools;
|
|
@@ -1359,23 +1486,70 @@ var ChatProcessor = class {
|
|
|
1359
1486
|
* Make GPT request.
|
|
1360
1487
|
*/
|
|
1361
1488
|
async request(message, options = {}) {
|
|
1362
|
-
|
|
1363
|
-
|
|
1489
|
+
this._session = new import_assistant.AISession({
|
|
1490
|
+
operationModel: "immediate"
|
|
1491
|
+
});
|
|
1492
|
+
this._session.message.on((message2) => {
|
|
1493
|
+
(0, import_signals_core.batch)(() => {
|
|
1494
|
+
this._pending.value = [
|
|
1495
|
+
...this._pending.value,
|
|
1496
|
+
message2
|
|
1497
|
+
];
|
|
1498
|
+
this._block.value = void 0;
|
|
1499
|
+
});
|
|
1500
|
+
});
|
|
1501
|
+
this._session.update.on((block) => {
|
|
1502
|
+
(0, import_signals_core.batch)(() => {
|
|
1503
|
+
this._block.value = block;
|
|
1504
|
+
});
|
|
1505
|
+
});
|
|
1506
|
+
this._session.userMessage.on((message2) => {
|
|
1364
1507
|
this._pending.value = [
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
content: [
|
|
1368
|
-
{
|
|
1369
|
-
type: "text",
|
|
1370
|
-
text: message
|
|
1371
|
-
}
|
|
1372
|
-
]
|
|
1373
|
-
})
|
|
1508
|
+
...this._pending.value,
|
|
1509
|
+
message2
|
|
1374
1510
|
];
|
|
1375
|
-
this._block.value = void 0;
|
|
1376
1511
|
});
|
|
1377
|
-
|
|
1378
|
-
|
|
1512
|
+
try {
|
|
1513
|
+
const messages = await this._session.run({
|
|
1514
|
+
client: this._ai,
|
|
1515
|
+
history: options.history ?? [],
|
|
1516
|
+
artifacts: this._artifacts ?? [],
|
|
1517
|
+
tools: this._tools ?? [],
|
|
1518
|
+
prompt: message,
|
|
1519
|
+
extensions: this._extensions,
|
|
1520
|
+
generationOptions: {
|
|
1521
|
+
model: this._options.model,
|
|
1522
|
+
systemPrompt: this._options.systemPrompt
|
|
1523
|
+
}
|
|
1524
|
+
});
|
|
1525
|
+
import_log6.log.info("completed", {
|
|
1526
|
+
messages
|
|
1527
|
+
}, {
|
|
1528
|
+
F: __dxlog_file6,
|
|
1529
|
+
L: 137,
|
|
1530
|
+
S: this,
|
|
1531
|
+
C: (f, a) => f(...a)
|
|
1532
|
+
});
|
|
1533
|
+
options.onComplete?.(this._pending.value);
|
|
1534
|
+
} catch (err) {
|
|
1535
|
+
import_log6.log.catch(err, void 0, {
|
|
1536
|
+
F: __dxlog_file6,
|
|
1537
|
+
L: 141,
|
|
1538
|
+
S: this,
|
|
1539
|
+
C: (f, a) => f(...a)
|
|
1540
|
+
});
|
|
1541
|
+
if (err instanceof Error && err.message.includes("Overloaded")) {
|
|
1542
|
+
this.error.value = new AIServiceOverloadedError("AI service overloaded", {
|
|
1543
|
+
cause: err
|
|
1544
|
+
});
|
|
1545
|
+
} else {
|
|
1546
|
+
this.error.value = new Error("AI service error", {
|
|
1547
|
+
cause: err
|
|
1548
|
+
});
|
|
1549
|
+
}
|
|
1550
|
+
} finally {
|
|
1551
|
+
this._session = void 0;
|
|
1552
|
+
}
|
|
1379
1553
|
return this._reset();
|
|
1380
1554
|
}
|
|
1381
1555
|
/**
|
|
@@ -1385,147 +1559,45 @@ var ChatProcessor = class {
|
|
|
1385
1559
|
async cancel() {
|
|
1386
1560
|
import_log6.log.info("cancelling...", void 0, {
|
|
1387
1561
|
F: __dxlog_file6,
|
|
1388
|
-
L:
|
|
1562
|
+
L: 159,
|
|
1389
1563
|
S: this,
|
|
1390
1564
|
C: (f, a) => f(...a)
|
|
1391
1565
|
});
|
|
1392
|
-
this.
|
|
1566
|
+
this._session?.abort();
|
|
1393
1567
|
return this._reset();
|
|
1394
1568
|
}
|
|
1395
1569
|
async _reset() {
|
|
1396
1570
|
const messages = this._pending.value;
|
|
1397
1571
|
(0, import_signals_core.batch)(() => {
|
|
1398
|
-
this._history = [];
|
|
1399
1572
|
this._pending.value = [];
|
|
1400
1573
|
this._block.value = void 0;
|
|
1401
1574
|
});
|
|
1402
1575
|
return messages;
|
|
1403
1576
|
}
|
|
1404
|
-
/**
|
|
1405
|
-
* Generate a response from the AI service.
|
|
1406
|
-
* Iterates over tool requests.
|
|
1407
|
-
*/
|
|
1408
|
-
async _request() {
|
|
1409
|
-
try {
|
|
1410
|
-
let more = false;
|
|
1411
|
-
do {
|
|
1412
|
-
(0, import_log6.log)("request", {
|
|
1413
|
-
pending: this._pending.value.length,
|
|
1414
|
-
history: this._history.length,
|
|
1415
|
-
tools: this._tools?.map((tool) => tool.name)
|
|
1416
|
-
}, {
|
|
1417
|
-
F: __dxlog_file6,
|
|
1418
|
-
L: 176,
|
|
1419
|
-
S: this,
|
|
1420
|
-
C: (f, a) => f(...a)
|
|
1421
|
-
});
|
|
1422
|
-
this._stream = await this._ai.exec({
|
|
1423
|
-
...this._options,
|
|
1424
|
-
// TODO(burdon): Rename messages or separate history/message.
|
|
1425
|
-
history: [
|
|
1426
|
-
...this._history,
|
|
1427
|
-
...this._pending.value
|
|
1428
|
-
],
|
|
1429
|
-
tools: this._tools
|
|
1430
|
-
});
|
|
1431
|
-
await this._parser.parse(this._stream);
|
|
1432
|
-
await this._stream.complete();
|
|
1433
|
-
(0, import_log6.log)("response", {
|
|
1434
|
-
pending: this._pending.value
|
|
1435
|
-
}, {
|
|
1436
|
-
F: __dxlog_file6,
|
|
1437
|
-
L: 195,
|
|
1438
|
-
S: this,
|
|
1439
|
-
C: (f, a) => f(...a)
|
|
1440
|
-
});
|
|
1441
|
-
more = false;
|
|
1442
|
-
const message = this._pending.value.at(-1);
|
|
1443
|
-
(0, import_invariant4.invariant)(message, void 0, {
|
|
1444
|
-
F: __dxlog_file6,
|
|
1445
|
-
L: 200,
|
|
1446
|
-
S: this,
|
|
1447
|
-
A: [
|
|
1448
|
-
"message",
|
|
1449
|
-
""
|
|
1450
|
-
]
|
|
1451
|
-
});
|
|
1452
|
-
if ((0, import_assistant.isToolUse)(message)) {
|
|
1453
|
-
(0, import_log6.log)("tool request...", void 0, {
|
|
1454
|
-
F: __dxlog_file6,
|
|
1455
|
-
L: 202,
|
|
1456
|
-
S: this,
|
|
1457
|
-
C: (f, a) => f(...a)
|
|
1458
|
-
});
|
|
1459
|
-
const response = await (0, import_assistant.runTools)({
|
|
1460
|
-
message: this._pending.value.at(-1),
|
|
1461
|
-
tools: this._tools ?? [],
|
|
1462
|
-
extensions: this._extensions
|
|
1463
|
-
});
|
|
1464
|
-
(0, import_log6.log)("tool response", {
|
|
1465
|
-
response
|
|
1466
|
-
}, {
|
|
1467
|
-
F: __dxlog_file6,
|
|
1468
|
-
L: 209,
|
|
1469
|
-
S: this,
|
|
1470
|
-
C: (f, a) => f(...a)
|
|
1471
|
-
});
|
|
1472
|
-
switch (response.type) {
|
|
1473
|
-
case "continue": {
|
|
1474
|
-
this._pending.value = [
|
|
1475
|
-
...this._pending.value,
|
|
1476
|
-
response.message
|
|
1477
|
-
];
|
|
1478
|
-
more = true;
|
|
1479
|
-
break;
|
|
1480
|
-
}
|
|
1481
|
-
}
|
|
1482
|
-
}
|
|
1483
|
-
} while (more);
|
|
1484
|
-
this.error.value = void 0;
|
|
1485
|
-
} catch (err) {
|
|
1486
|
-
import_log6.log.catch(err, void 0, {
|
|
1487
|
-
F: __dxlog_file6,
|
|
1488
|
-
L: 222,
|
|
1489
|
-
S: this,
|
|
1490
|
-
C: (f, a) => f(...a)
|
|
1491
|
-
});
|
|
1492
|
-
if (err instanceof Error && err.message.includes("Overloaded")) {
|
|
1493
|
-
this.error.value = new AIServiecOverloadedError("AI service overloaded", {
|
|
1494
|
-
cause: err
|
|
1495
|
-
});
|
|
1496
|
-
} else {
|
|
1497
|
-
this.error.value = new Error("AI service error", {
|
|
1498
|
-
cause: err
|
|
1499
|
-
});
|
|
1500
|
-
}
|
|
1501
|
-
} finally {
|
|
1502
|
-
this._stream = void 0;
|
|
1503
|
-
}
|
|
1504
|
-
}
|
|
1505
1577
|
};
|
|
1506
|
-
var
|
|
1578
|
+
var AIServiceOverloadedError = class extends Error {
|
|
1507
1579
|
constructor() {
|
|
1508
1580
|
super(...arguments);
|
|
1509
1581
|
this.code = "AI_SERVICE_OVERLOADED";
|
|
1510
1582
|
}
|
|
1511
1583
|
};
|
|
1512
|
-
var AiClient = (0, import_app_framework3.lazy)(() => import("./ai-client-
|
|
1513
|
-
var AppGraphBuilder = (0, import_app_framework3.lazy)(() => import("./app-graph-builder-
|
|
1514
|
-
var IntentResolver = (0, import_app_framework3.lazy)(() => import("./intent-resolver-
|
|
1515
|
-
var ReactSurface = (0, import_app_framework3.lazy)(() => import("./react-surface-
|
|
1516
|
-
var AssistantSettings = (0, import_app_framework3.lazy)(() => import("./settings-
|
|
1584
|
+
var AiClient = (0, import_app_framework3.lazy)(() => import("./ai-client-5ESLYXAV.cjs"));
|
|
1585
|
+
var AppGraphBuilder = (0, import_app_framework3.lazy)(() => import("./app-graph-builder-3P6WSON2.cjs"));
|
|
1586
|
+
var IntentResolver = (0, import_app_framework3.lazy)(() => import("./intent-resolver-YIFAMM3B.cjs"));
|
|
1587
|
+
var ReactSurface = (0, import_app_framework3.lazy)(() => import("./react-surface-IDGIN55C.cjs"));
|
|
1588
|
+
var AssistantSettings = (0, import_app_framework3.lazy)(() => import("./settings-2FEYGLYU.cjs"));
|
|
1517
1589
|
var __dxlog_file7 = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-assistant/src/hooks/useChatProcessor.tsx";
|
|
1518
|
-
var useChatProcessor = (space, settings) => {
|
|
1519
|
-
const aiClient = (0, import_app_framework2.useCapability)(
|
|
1590
|
+
var useChatProcessor = ({ chat, space, settings, part = "deck" }) => {
|
|
1591
|
+
const aiClient = (0, import_app_framework2.useCapability)(import_chunk_VRXFIS4X.AssistantCapabilities.AiClient);
|
|
1520
1592
|
const globalTools = (0, import_app_framework2.useCapabilities)(import_app_framework2.Capabilities.Tools);
|
|
1521
1593
|
const artifactDefinitions = (0, import_app_framework2.useCapabilities)(import_app_framework2.Capabilities.ArtifactDefinition);
|
|
1522
1594
|
const { dispatchPromise: dispatch } = (0, import_app_framework2.useIntentDispatcher)();
|
|
1523
|
-
const services = (0, import_echo4.useQuery)(space, import_echo4.Filter.schema(
|
|
1595
|
+
const services = (0, import_echo4.useQuery)(space, import_echo4.Filter.schema(import_chunk_KLSNCP34.ServiceType));
|
|
1524
1596
|
const [serviceTools, setServiceTools] = (0, import_react8.useState)([]);
|
|
1525
1597
|
(0, import_react8.useEffect)(() => {
|
|
1526
1598
|
(0, import_log7.log)("creating service tools...", void 0, {
|
|
1527
1599
|
F: __dxlog_file7,
|
|
1528
|
-
L:
|
|
1600
|
+
L: 41,
|
|
1529
1601
|
S: void 0,
|
|
1530
1602
|
C: (f, a) => f(...a)
|
|
1531
1603
|
});
|
|
@@ -1538,22 +1610,26 @@ var useChatProcessor = (space, settings) => {
|
|
|
1538
1610
|
]);
|
|
1539
1611
|
const config = (0, import_react_client.useConfig)();
|
|
1540
1612
|
const functions = (0, import_echo4.useQuery)(space, import_echo4.Filter.schema(import_types3.FunctionType));
|
|
1613
|
+
const chatId = (0, import_react8.useMemo)(() => chat ? (0, import_echo4.fullyQualifiedId)(chat) : void 0, [
|
|
1614
|
+
chat
|
|
1615
|
+
]);
|
|
1541
1616
|
const [tools, extensions] = (0, import_react8.useMemo)(() => {
|
|
1542
1617
|
(0, import_log7.log)("creating tools...", void 0, {
|
|
1543
1618
|
F: __dxlog_file7,
|
|
1544
|
-
L:
|
|
1619
|
+
L: 53,
|
|
1545
1620
|
S: void 0,
|
|
1546
1621
|
C: (f, a) => f(...a)
|
|
1547
1622
|
});
|
|
1548
1623
|
const tools2 = [
|
|
1549
1624
|
...globalTools.flat(),
|
|
1550
|
-
...artifactDefinitions.flatMap((definition) => definition.tools),
|
|
1551
1625
|
...serviceTools,
|
|
1552
1626
|
...functions.map((fn) => covertFunctionToTool(fn, config.values.runtime?.services?.edge?.url ?? "", space?.id)).filter(import_util5.isNonNullable)
|
|
1553
1627
|
];
|
|
1554
1628
|
const extensions2 = {
|
|
1555
1629
|
space,
|
|
1556
|
-
dispatch
|
|
1630
|
+
dispatch,
|
|
1631
|
+
pivotId: chatId,
|
|
1632
|
+
part
|
|
1557
1633
|
};
|
|
1558
1634
|
return [
|
|
1559
1635
|
tools2,
|
|
@@ -1562,41 +1638,40 @@ var useChatProcessor = (space, settings) => {
|
|
|
1562
1638
|
}, [
|
|
1563
1639
|
dispatch,
|
|
1564
1640
|
globalTools,
|
|
1565
|
-
artifactDefinitions,
|
|
1566
1641
|
space,
|
|
1642
|
+
chatId,
|
|
1567
1643
|
serviceTools,
|
|
1568
1644
|
functions
|
|
1569
1645
|
]);
|
|
1570
|
-
const systemPrompt = (0, import_react8.useMemo)(() => (0,
|
|
1646
|
+
const systemPrompt = (0, import_react8.useMemo)(() => (0, import_artifact4.createSystemPrompt)({
|
|
1571
1647
|
artifacts: artifactDefinitions.map((definition) => definition.instructions)
|
|
1572
1648
|
}), [
|
|
1573
1649
|
artifactDefinitions
|
|
1574
1650
|
]);
|
|
1651
|
+
const model = settings?.llmProvider === "ollama" ? settings?.ollamaModel ?? import_assistant2.DEFAULT_OLLAMA_MODEL : settings?.edgeModel ?? import_assistant2.DEFAULT_EDGE_MODEL;
|
|
1575
1652
|
const processor = (0, import_react8.useMemo)(() => {
|
|
1576
1653
|
(0, import_log7.log)("creating processor...", {
|
|
1577
1654
|
settings
|
|
1578
1655
|
}, {
|
|
1579
1656
|
F: __dxlog_file7,
|
|
1580
|
-
L:
|
|
1657
|
+
L: 83,
|
|
1581
1658
|
S: void 0,
|
|
1582
1659
|
C: (f, a) => f(...a)
|
|
1583
1660
|
});
|
|
1584
|
-
return new ChatProcessor(aiClient, tools, extensions, {
|
|
1585
|
-
|
|
1586
|
-
model: settings?.llmModel ?? import_assistant2.DEFAULT_LLM_MODEL,
|
|
1587
|
-
// TOOD(burdon): Query.
|
|
1661
|
+
return new ChatProcessor(aiClient.value, tools, artifactDefinitions, extensions, {
|
|
1662
|
+
model,
|
|
1588
1663
|
systemPrompt
|
|
1589
1664
|
});
|
|
1590
1665
|
}, [
|
|
1591
|
-
aiClient,
|
|
1666
|
+
aiClient.value,
|
|
1592
1667
|
tools,
|
|
1593
1668
|
extensions,
|
|
1594
|
-
|
|
1595
|
-
|
|
1669
|
+
model,
|
|
1670
|
+
systemPrompt
|
|
1596
1671
|
]);
|
|
1597
1672
|
return processor;
|
|
1598
1673
|
};
|
|
1599
|
-
var registerTriggersMutex = new
|
|
1674
|
+
var registerTriggersMutex = new import_async2.Mutex();
|
|
1600
1675
|
var useMessageQueue = (chat) => {
|
|
1601
1676
|
const space = (0, import_echo6.getSpace)(chat);
|
|
1602
1677
|
const queueDxn = (0, import_react10.useMemo)(() => {
|
|
@@ -1610,8 +1685,7 @@ var useMessageQueue = (chat) => {
|
|
|
1610
1685
|
space,
|
|
1611
1686
|
chat?.queue.dxn
|
|
1612
1687
|
]);
|
|
1613
|
-
|
|
1614
|
-
return (0, import_react_edge_client.useQueue)(edgeClient, queueDxn);
|
|
1688
|
+
return (0, import_echo6.useQueue)(queueDxn);
|
|
1615
1689
|
};
|
|
1616
1690
|
var MockServiceRegistry = class {
|
|
1617
1691
|
async queryServices(query) {
|
|
@@ -1634,7 +1708,7 @@ var VISUAL_CROSSING_CREDENTIALS = {
|
|
|
1634
1708
|
}
|
|
1635
1709
|
};
|
|
1636
1710
|
var TEST_SERVICES = [
|
|
1637
|
-
(0,
|
|
1711
|
+
(0, import_echo_schema3.createStatic)(import_chunk_KLSNCP34.ServiceType, {
|
|
1638
1712
|
serviceId: "amadeus.com/service/FlightSearch",
|
|
1639
1713
|
name: "Amadeus Flight Search",
|
|
1640
1714
|
description: "Search for local and international flights.",
|
|
@@ -1647,7 +1721,7 @@ var TEST_SERVICES = [
|
|
|
1647
1721
|
}
|
|
1648
1722
|
]
|
|
1649
1723
|
}),
|
|
1650
|
-
(0,
|
|
1724
|
+
(0, import_echo_schema3.createStatic)(import_chunk_KLSNCP34.ServiceType, {
|
|
1651
1725
|
serviceId: "amadeus.com/service/HotelSearch",
|
|
1652
1726
|
name: "Amadeus Hotel Search",
|
|
1653
1727
|
description: "Search for local and international hotels.",
|
|
@@ -1660,7 +1734,7 @@ var TEST_SERVICES = [
|
|
|
1660
1734
|
}
|
|
1661
1735
|
]
|
|
1662
1736
|
}),
|
|
1663
|
-
(0,
|
|
1737
|
+
(0, import_echo_schema3.createStatic)(import_chunk_KLSNCP34.ServiceType, {
|
|
1664
1738
|
serviceId: "visualcrossing.com/service/Weather",
|
|
1665
1739
|
name: "Visual Crossing Weather",
|
|
1666
1740
|
description: "Search for global weather forecasts.",
|
|
@@ -1674,7 +1748,7 @@ var TEST_SERVICES = [
|
|
|
1674
1748
|
]
|
|
1675
1749
|
}),
|
|
1676
1750
|
// TODO(burdon): Needs auth.
|
|
1677
|
-
(0,
|
|
1751
|
+
(0, import_echo_schema3.createStatic)(import_chunk_KLSNCP34.ServiceType, {
|
|
1678
1752
|
serviceId: "abstractapi.com/service/GeoLocation",
|
|
1679
1753
|
name: "Abstract GeoLocation",
|
|
1680
1754
|
description: "Get the location of any IP address.",
|
|
@@ -1691,11 +1765,11 @@ var TEST_SERVICES = [
|
|
|
1691
1765
|
//
|
|
1692
1766
|
...Array.from({
|
|
1693
1767
|
length: 20
|
|
1694
|
-
}, (_, i) => (0,
|
|
1768
|
+
}, (_, i) => (0, import_echo_schema3.createStatic)(import_chunk_KLSNCP34.ServiceType, {
|
|
1695
1769
|
serviceId: `example.com/service/test-${i}`,
|
|
1696
1770
|
name: `Test ${i}`,
|
|
1697
1771
|
description: `Test ${i}`,
|
|
1698
|
-
category: Object.keys(
|
|
1772
|
+
category: Object.keys(import_chunk_KLSNCP34.categoryIcons)[Math.floor(Math.random() * Object.keys(import_chunk_KLSNCP34.categoryIcons).length)],
|
|
1699
1773
|
interfaces: [
|
|
1700
1774
|
{
|
|
1701
1775
|
kind: "api",
|
|
@@ -1719,10 +1793,59 @@ var useServices = (space, query) => {
|
|
|
1719
1793
|
]);
|
|
1720
1794
|
return services;
|
|
1721
1795
|
};
|
|
1722
|
-
var __dxlog_file8 = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-assistant/src/
|
|
1723
|
-
var
|
|
1796
|
+
var __dxlog_file8 = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-assistant/src/hooks/useContextProvider.ts";
|
|
1797
|
+
var stringMatch = (query, label) => label.toLowerCase().startsWith(query.toLowerCase());
|
|
1798
|
+
var useContextProvider = (space) => {
|
|
1799
|
+
const artifactDefinitions = (0, import_app_framework4.useCapabilities)(import_app_framework4.Capabilities.ArtifactDefinition);
|
|
1800
|
+
return (0, import_react13.useMemo)(() => {
|
|
1801
|
+
if (!space) {
|
|
1802
|
+
return void 0;
|
|
1803
|
+
}
|
|
1804
|
+
return {
|
|
1805
|
+
query: async ({ query }) => {
|
|
1806
|
+
const artifactSchemas = artifactDefinitions.map((artifact) => artifact.schema);
|
|
1807
|
+
const { objects } = await space.db.query(import_echo7.Filter.or(...artifactSchemas.map((schema) => import_echo7.Filter.schema(schema)))).run();
|
|
1808
|
+
return objects.map((object) => {
|
|
1809
|
+
import_log10.log.info("object", {
|
|
1810
|
+
object,
|
|
1811
|
+
label: (0, import_echo_schema4.getLabel)((0, import_echo_schema4.getSchema)(object), object)
|
|
1812
|
+
}, {
|
|
1813
|
+
F: __dxlog_file8,
|
|
1814
|
+
L: 36,
|
|
1815
|
+
S: void 0,
|
|
1816
|
+
C: (f, a) => f(...a)
|
|
1817
|
+
});
|
|
1818
|
+
return object;
|
|
1819
|
+
}).filter((object) => stringMatch(query, (0, import_echo_schema4.getLabel)((0, import_echo_schema4.getSchema)(object), object) ?? "")).filter((object) => !!(0, import_echo_schema4.getDXN)(object)).map((object) => ({
|
|
1820
|
+
uri: (0, import_echo_schema4.getDXN)(object).toString(),
|
|
1821
|
+
label: (0, import_echo_schema4.getLabel)((0, import_echo_schema4.getSchema)(object), object) ?? ""
|
|
1822
|
+
}));
|
|
1823
|
+
},
|
|
1824
|
+
resolveMetadata: async ({ uri }) => {
|
|
1825
|
+
const object = await space.db.query({
|
|
1826
|
+
id: uri
|
|
1827
|
+
}).first();
|
|
1828
|
+
return {
|
|
1829
|
+
uri,
|
|
1830
|
+
label: (0, import_echo_schema4.getLabel)((0, import_echo_schema4.getSchema)(object), object) ?? ""
|
|
1831
|
+
};
|
|
1832
|
+
}
|
|
1833
|
+
};
|
|
1834
|
+
}, [
|
|
1835
|
+
space,
|
|
1836
|
+
artifactDefinitions
|
|
1837
|
+
]);
|
|
1838
|
+
};
|
|
1839
|
+
var __dxlog_file9 = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-assistant/src/components/Thread/ThreadContainer.tsx";
|
|
1840
|
+
var ThreadContainer = ({ classNames, chat, settings, part, onOpenChange, ...props }) => {
|
|
1724
1841
|
const space = (0, import_echo3.getSpace)(chat);
|
|
1725
|
-
const
|
|
1842
|
+
const contextProvider = useContextProvider(space);
|
|
1843
|
+
const processor = useChatProcessor({
|
|
1844
|
+
chat,
|
|
1845
|
+
space,
|
|
1846
|
+
settings,
|
|
1847
|
+
part
|
|
1848
|
+
});
|
|
1726
1849
|
const messageQueue = useMessageQueue(chat);
|
|
1727
1850
|
const messages = [
|
|
1728
1851
|
...messageQueue?.items ?? [],
|
|
@@ -1731,8 +1854,8 @@ var ThreadContainer = ({ classNames, chat, settings, onOpenChange, ...props }) =
|
|
|
1731
1854
|
const handleSubmit = (0, import_react7.useCallback)((text) => {
|
|
1732
1855
|
if (processor.streaming.value) {
|
|
1733
1856
|
import_log5.log.warn("ignoring submit; still processing.", void 0, {
|
|
1734
|
-
F:
|
|
1735
|
-
L:
|
|
1857
|
+
F: __dxlog_file9,
|
|
1858
|
+
L: 41,
|
|
1736
1859
|
S: void 0,
|
|
1737
1860
|
C: (f, a) => f(...a)
|
|
1738
1861
|
});
|
|
@@ -1740,8 +1863,8 @@ var ThreadContainer = ({ classNames, chat, settings, onOpenChange, ...props }) =
|
|
|
1740
1863
|
}
|
|
1741
1864
|
onOpenChange?.(true);
|
|
1742
1865
|
(0, import_invariant3.invariant)(messageQueue, void 0, {
|
|
1743
|
-
F:
|
|
1744
|
-
L:
|
|
1866
|
+
F: __dxlog_file9,
|
|
1867
|
+
L: 47,
|
|
1745
1868
|
S: void 0,
|
|
1746
1869
|
A: [
|
|
1747
1870
|
"messageQueue",
|
|
@@ -1778,6 +1901,7 @@ var ThreadContainer = ({ classNames, chat, settings, onOpenChange, ...props }) =
|
|
|
1778
1901
|
onCancel: handleCancel,
|
|
1779
1902
|
onPrompt: handleSubmit,
|
|
1780
1903
|
onOpenChange,
|
|
1904
|
+
contextProvider,
|
|
1781
1905
|
...props
|
|
1782
1906
|
});
|
|
1783
1907
|
};
|
|
@@ -1794,4 +1918,4 @@ var ThreadContainer = ({ classNames, chat, settings, onOpenChange, ...props }) =
|
|
|
1794
1918
|
ToolboxContainer,
|
|
1795
1919
|
useServices
|
|
1796
1920
|
});
|
|
1797
|
-
//# sourceMappingURL=chunk-
|
|
1921
|
+
//# sourceMappingURL=chunk-JAB6KLPP.cjs.map
|