@dxos/plugin-assistant 0.8.1-staging.391c573 → 0.8.1-staging.97aedb1
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-YSHMAHW5.mjs} +15 -14
- package/dist/lib/browser/AssistantDialog-YSHMAHW5.mjs.map +7 -0
- package/dist/lib/browser/{ChatContainer-VW73VNUY.mjs → ChatContainer-V5GP7DYF.mjs} +11 -11
- package/dist/lib/browser/ChatContainer-V5GP7DYF.mjs.map +7 -0
- package/dist/lib/browser/TemplateContainer-K4EJNGIL.mjs +78 -0
- package/dist/lib/browser/TemplateContainer-K4EJNGIL.mjs.map +7 -0
- package/dist/lib/browser/ai-client-CDZLSNXE.mjs +35 -0
- package/dist/lib/browser/ai-client-CDZLSNXE.mjs.map +7 -0
- package/dist/lib/browser/app-graph-builder-MF5EVDWW.mjs +209 -0
- package/dist/lib/browser/app-graph-builder-MF5EVDWW.mjs.map +7 -0
- package/dist/lib/browser/{chunk-NV7SVHMV.mjs → chunk-3HCI5FIL.mjs} +2 -2
- package/dist/lib/browser/{chunk-NV7SVHMV.mjs.map → chunk-3HCI5FIL.mjs.map} +2 -2
- package/dist/lib/browser/{chunk-WVME6K4X.mjs → chunk-FMB7RGMP.mjs} +379 -247
- package/dist/lib/browser/chunk-FMB7RGMP.mjs.map +7 -0
- package/dist/lib/browser/chunk-IAMR2FAE.mjs +183 -0
- package/dist/lib/browser/chunk-IAMR2FAE.mjs.map +7 -0
- package/dist/lib/browser/{chunk-M2SADJVS.mjs → chunk-KYMKVE6M.mjs} +37 -15
- package/dist/lib/browser/chunk-KYMKVE6M.mjs.map +7 -0
- package/dist/lib/browser/{chunk-EUMPBC4T.mjs → chunk-NFUHCW2J.mjs} +3 -3
- package/dist/lib/browser/{chunk-NTLTGYYS.mjs → chunk-TXJWGWJ7.mjs} +3 -3
- package/dist/lib/browser/chunk-TXJWGWJ7.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +37 -53
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-FQRN6747.mjs → intent-resolver-WJGLKKVO.mjs} +8 -6
- package/dist/lib/browser/{intent-resolver-FQRN6747.mjs.map → intent-resolver-WJGLKKVO.mjs.map} +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-ZT6EQ7FJ.mjs → react-surface-57VRDOQT.mjs} +36 -15
- package/dist/lib/browser/react-surface-57VRDOQT.mjs.map +7 -0
- package/dist/lib/browser/{settings-VVQUGG56.mjs → settings-U6UFQX32.mjs} +4 -4
- package/dist/lib/browser/types/index.mjs +6 -2
- package/dist/lib/node/{AssistantDialog-5PVOCPE2.cjs → AssistantDialog-YI2BSGSX.cjs} +18 -17
- package/dist/lib/node/AssistantDialog-YI2BSGSX.cjs.map +7 -0
- package/dist/lib/node/{ChatContainer-I45I3ICI.cjs → ChatContainer-ZJ5JXF6A.cjs} +15 -15
- package/dist/lib/node/ChatContainer-ZJ5JXF6A.cjs.map +7 -0
- package/dist/lib/node/TemplateContainer-XWFYJB4T.cjs +104 -0
- package/dist/lib/node/TemplateContainer-XWFYJB4T.cjs.map +7 -0
- package/dist/lib/node/{ai-client-6CY35ZIR.cjs → ai-client-URCCYU6B.cjs} +19 -8
- package/dist/lib/node/ai-client-URCCYU6B.cjs.map +7 -0
- package/dist/lib/node/app-graph-builder-N5ZUUI2Z.cjs +220 -0
- package/dist/lib/node/app-graph-builder-N5ZUUI2Z.cjs.map +7 -0
- package/dist/lib/node/{chunk-34WE2FD2.cjs → chunk-APRU3QWK.cjs} +32 -9
- package/dist/lib/node/chunk-APRU3QWK.cjs.map +7 -0
- package/dist/lib/node/{chunk-3WXG6WA6.cjs → chunk-GBUNQ257.cjs} +6 -6
- package/dist/lib/node/chunk-GBUNQ257.cjs.map +7 -0
- package/dist/lib/node/{chunk-GNPXCHFT.cjs → chunk-Q5XWEMHB.cjs} +4 -4
- package/dist/lib/node/{chunk-GNPXCHFT.cjs.map → chunk-Q5XWEMHB.cjs.map} +2 -2
- package/dist/lib/node/{chunk-JWUHUQ56.cjs → chunk-RPBKMP2E.cjs} +350 -222
- package/dist/lib/node/chunk-RPBKMP2E.cjs.map +7 -0
- package/dist/lib/node/{chunk-NV4TQQSU.cjs → chunk-XI2ARIEO.cjs} +6 -6
- package/dist/lib/node/{chunk-HFOUAFOW.cjs → chunk-ZKOC4ZFY.cjs} +40 -18
- package/dist/lib/node/chunk-ZKOC4ZFY.cjs.map +7 -0
- package/dist/lib/node/index.cjs +78 -94
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/{intent-resolver-Z37RNNMC.cjs → intent-resolver-R3OSTIMH.cjs} +14 -12
- package/dist/lib/node/intent-resolver-R3OSTIMH.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-surface-KFXP3GGK.cjs → react-surface-NUQTM6MS.cjs} +47 -26
- package/dist/lib/node/react-surface-NUQTM6MS.cjs.map +7 -0
- package/dist/lib/node/{settings-TJHHVI6B.cjs → settings-TXGRCYAL.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-U2FQX5TD.mjs} +15 -14
- package/dist/lib/node-esm/AssistantDialog-U2FQX5TD.mjs.map +7 -0
- package/dist/lib/node-esm/{ChatContainer-5ULBF3GW.mjs → ChatContainer-QW3OOXTT.mjs} +11 -11
- package/dist/lib/node-esm/ChatContainer-QW3OOXTT.mjs.map +7 -0
- package/dist/lib/node-esm/TemplateContainer-EUM2X65J.mjs +79 -0
- package/dist/lib/node-esm/TemplateContainer-EUM2X65J.mjs.map +7 -0
- package/dist/lib/node-esm/ai-client-WMHS5EGV.mjs +36 -0
- package/dist/lib/node-esm/ai-client-WMHS5EGV.mjs.map +7 -0
- package/dist/lib/node-esm/app-graph-builder-DWBNIMHM.mjs +210 -0
- package/dist/lib/node-esm/app-graph-builder-DWBNIMHM.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-ICQN3TDS.mjs → chunk-6JK5HEUQ.mjs} +3 -3
- package/dist/lib/node-esm/chunk-6JK5HEUQ.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-7SV6X6XU.mjs → chunk-ECRK6TUQ.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-7SV6X6XU.mjs.map → chunk-ECRK6TUQ.mjs.map} +2 -2
- package/dist/lib/node-esm/{chunk-2OUUYMBT.mjs → chunk-GBBXIW5F.mjs} +37 -15
- package/dist/lib/node-esm/chunk-GBBXIW5F.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-ASMI7PQ2.mjs → chunk-MVDAY3CZ.mjs} +379 -247
- package/dist/lib/node-esm/chunk-MVDAY3CZ.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-MXK2EANZ.mjs +184 -0
- package/dist/lib/node-esm/chunk-MXK2EANZ.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-LBQGJE5T.mjs → chunk-PBZA7XJR.mjs} +3 -3
- package/dist/lib/node-esm/index.mjs +37 -53
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-LOTXWV4J.mjs → intent-resolver-H32TL4X6.mjs} +8 -6
- package/dist/lib/node-esm/{intent-resolver-LOTXWV4J.mjs.map → intent-resolver-H32TL4X6.mjs.map} +3 -3
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-NZNNP2QI.mjs → react-surface-JBVZF6CP.mjs} +36 -15
- package/dist/lib/node-esm/react-surface-JBVZF6CP.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-BVWR244C.mjs → settings-DZU5PNXM.mjs} +4 -4
- 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/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/components/AmbientDialog/AmbientDialog.d.ts +4 -3
- package/dist/types/src/components/AmbientDialog/AmbientDialog.d.ts.map +1 -1
- package/dist/types/src/components/AmbientDialog/AmbientDialog.stories.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/ChatContainer.d.ts +4 -2
- 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 +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/TemplateEditor/TemplateEditor.stories.d.ts +3 -3
- package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.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 +3 -0
- package/dist/types/src/components/Thread/ThreadContainer.d.ts.map +1 -1
- package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts +3 -3
- 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/index.d.ts +3 -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/processor.d.ts +7 -15
- package/dist/types/src/hooks/processor.d.ts.map +1 -1
- package/dist/types/src/hooks/useChatProcessor.d.ts +11 -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 +3 -3
- 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 +26 -12
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/chat.d.ts +4 -6
- package/dist/types/src/types/chat.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 +58 -55
- package/src/AssistantPlugin.tsx +19 -23
- package/src/capabilities/ai-client.ts +23 -5
- package/src/capabilities/app-graph-builder.ts +100 -3
- package/src/capabilities/capabilities.ts +3 -1
- package/src/capabilities/intent-resolver.ts +4 -3
- package/src/capabilities/react-surface.tsx +27 -9
- package/src/components/AmbientDialog/AmbientDialog.stories.tsx +3 -1
- package/src/components/AmbientDialog/AmbientDialog.tsx +11 -11
- package/src/components/AssistantDialog.tsx +8 -2
- package/src/components/AssistantSettings/AssistantSettings.tsx +39 -5
- package/src/components/ChatContainer.tsx +18 -4
- package/src/components/Prompt/Prompt.stories.tsx +34 -0
- package/src/components/Prompt/Prompt.tsx +28 -18
- package/src/components/Prompt/PromptBar.tsx +5 -3
- package/src/components/Prompt/references.ts +180 -0
- package/src/components/TemplateContainer.tsx +79 -4
- package/src/components/TemplateEditor/TemplateEditor.stories.tsx +5 -5
- package/src/components/TemplateEditor/TemplateForm.stories.tsx +3 -3
- package/src/components/Thread/Thread.stories.tsx +3 -3
- package/src/components/Thread/Thread.tsx +21 -0
- package/src/components/Thread/ThreadContainer.stories.tsx +9 -14
- package/src/components/Thread/ThreadContainer.tsx +10 -4
- package/src/components/Thread/ThreadMessage.tsx +17 -9
- package/src/components/Toolbox/Toolbox.stories.tsx +2 -2
- package/src/hooks/index.ts +1 -0
- package/src/hooks/processor.ts +57 -116
- package/src/hooks/useChatProcessor.tsx +35 -19
- package/src/hooks/useContextProvider.ts +55 -0
- package/src/hooks/useMessageQueue.ts +4 -6
- package/src/meta.ts +2 -2
- package/src/testing/test-functions.ts +2 -2
- package/src/translations.ts +11 -5
- package/src/types/chat.ts +2 -3
- 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/ChatContainer-VW73VNUY.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 +0 -103
- package/dist/lib/browser/app-graph-builder-4DIOTGOG.mjs.map +0 -7
- package/dist/lib/browser/chunk-FPXC3LKK.mjs +0 -162
- package/dist/lib/browser/chunk-FPXC3LKK.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/ChatContainer-I45I3ICI.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 +0 -115
- 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/intent-resolver-Z37RNNMC.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/ChatContainer-5ULBF3GW.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 +0 -104
- 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/chunk-LELXJPGJ.mjs +0 -163
- package/dist/lib/node-esm/chunk-LELXJPGJ.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-NZNNP2QI.mjs.map +0 -7
- package/dist/types/src/hooks/email.d.ts +0 -4
- package/dist/types/src/hooks/email.d.ts.map +0 -1
- package/src/hooks/email.ts +0 -49
- /package/dist/lib/browser/{chunk-EUMPBC4T.mjs.map → chunk-NFUHCW2J.mjs.map} +0 -0
- /package/dist/lib/browser/{settings-VVQUGG56.mjs.map → settings-U6UFQX32.mjs.map} +0 -0
- /package/dist/lib/node/{chunk-NV4TQQSU.cjs.map → chunk-XI2ARIEO.cjs.map} +0 -0
- /package/dist/lib/node/{settings-TJHHVI6B.cjs.map → settings-TXGRCYAL.cjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-LBQGJE5T.mjs.map → chunk-PBZA7XJR.mjs.map} +0 -0
- /package/dist/lib/node-esm/{settings-BVWR244C.mjs.map → settings-DZU5PNXM.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_RPBKMP2E_exports = {};
|
|
30
|
+
__export(chunk_RPBKMP2E_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_RPBKMP2E_exports);
|
|
43
|
+
var import_chunk_GBUNQ257 = require("./chunk-GBUNQ257.cjs");
|
|
44
|
+
var import_chunk_APRU3QWK = require("./chunk-APRU3QWK.cjs");
|
|
45
|
+
var import_chunk_Q5XWEMHB = require("./chunk-Q5XWEMHB.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,13 +130,17 @@ 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");
|
|
136
|
-
var
|
|
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");
|
|
143
|
+
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assistant/src/tools/function.ts";
|
|
137
144
|
var covertFunctionToTool = (fn, edgeUrl, spaceId) => {
|
|
138
145
|
if (!fn.description || !fn.inputSchema) {
|
|
139
146
|
return void 0;
|
|
@@ -171,7 +178,7 @@ var covertFunctionToTool = (fn, edgeUrl, spaceId) => {
|
|
|
171
178
|
}
|
|
172
179
|
});
|
|
173
180
|
};
|
|
174
|
-
var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/
|
|
181
|
+
var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assistant/src/tools/openapi.ts";
|
|
175
182
|
var createToolsFromService = async (service) => {
|
|
176
183
|
(0, import_invariant.invariant)(service.interfaces?.length === 1 && service.interfaces[0].kind === "api", void 0, {
|
|
177
184
|
F: __dxlog_file2,
|
|
@@ -550,7 +557,7 @@ var resolveJsonSchema = (schema, base) => {
|
|
|
550
557
|
var isV3_1 = (document2) => {
|
|
551
558
|
return document2.openapi === "3.0.1";
|
|
552
559
|
};
|
|
553
|
-
var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/plugins/
|
|
560
|
+
var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assistant/src/components/Toolbox/Toolbox.tsx";
|
|
554
561
|
var Toolbox = ({ classNames, artifacts, functions, services, striped }) => {
|
|
555
562
|
return /* @__PURE__ */ import_react.default.createElement("div", {
|
|
556
563
|
className: (0, import_react_ui_theme.mx)("flex flex-col overflow-y-auto box-content", classNames)
|
|
@@ -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_APRU3QWK.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...", {
|
|
@@ -638,7 +645,7 @@ var ToolboxContainer = ({ classNames, space }) => {
|
|
|
638
645
|
functions
|
|
639
646
|
});
|
|
640
647
|
};
|
|
641
|
-
var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/plugins/
|
|
648
|
+
var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assistant/src/components/Thread/ToolInvocations.tsx";
|
|
642
649
|
var isToolMessage = (message) => {
|
|
643
650
|
return message.content.some((block) => block.type === "tool_use" || block.type === "tool_result");
|
|
644
651
|
};
|
|
@@ -753,9 +760,9 @@ var ToolContainer = ({ classNames, items }) => {
|
|
|
753
760
|
classNames: "!p-1 text-xs"
|
|
754
761
|
})));
|
|
755
762
|
};
|
|
756
|
-
var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/plugins/
|
|
763
|
+
var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/plugins/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_Q5XWEMHB.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)({
|
|
@@ -1200,7 +1325,7 @@ var PromptBar = ({ classNames, placeholder, processing, error, microphone, onCan
|
|
|
1200
1325
|
classNames: import_react_ui_theme5.errorText,
|
|
1201
1326
|
size: 5
|
|
1202
1327
|
})), /* @__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", {
|
|
1203
|
-
className: "text-sm
|
|
1328
|
+
className: (0, import_react_ui_theme5.mx)("text-sm", import_react_ui_theme5.errorMessageColors)
|
|
1204
1329
|
}, error.message), /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Tooltip.Arrow, null)))) || /* @__PURE__ */ import_react6.default.createElement(import_react_ui_sfx.Spinner, {
|
|
1205
1330
|
active: processing
|
|
1206
1331
|
})), /* @__PURE__ */ import_react6.default.createElement(Prompt, {
|
|
@@ -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
|
-
var __dxlog_file6 = "/home/runner/work/dxos/dxos/packages/plugins/
|
|
1432
|
+
var __dxlog_file6 = "/home/runner/work/dxos/dxos/packages/plugins/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
|
+
systemPrompt: this._options.systemPrompt,
|
|
1520
|
+
extensions: this._extensions,
|
|
1521
|
+
generationOptions: {
|
|
1522
|
+
model: this._options.model
|
|
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-
|
|
1517
|
-
var __dxlog_file7 = "/home/runner/work/dxos/dxos/packages/plugins/
|
|
1518
|
-
var useChatProcessor = (space, settings) => {
|
|
1519
|
-
const aiClient = (0, import_app_framework2.useCapability)(
|
|
1584
|
+
var AiClient = (0, import_app_framework3.lazy)(() => import("./ai-client-URCCYU6B.cjs"));
|
|
1585
|
+
var AppGraphBuilder = (0, import_app_framework3.lazy)(() => import("./app-graph-builder-N5ZUUI2Z.cjs"));
|
|
1586
|
+
var IntentResolver = (0, import_app_framework3.lazy)(() => import("./intent-resolver-R3OSTIMH.cjs"));
|
|
1587
|
+
var ReactSurface = (0, import_app_framework3.lazy)(() => import("./react-surface-NUQTM6MS.cjs"));
|
|
1588
|
+
var AssistantSettings = (0, import_app_framework3.lazy)(() => import("./settings-TXGRCYAL.cjs"));
|
|
1589
|
+
var __dxlog_file7 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assistant/src/hooks/useChatProcessor.tsx";
|
|
1590
|
+
var useChatProcessor = ({ chat, space, settings, part = "deck", associatedArtifact }) => {
|
|
1591
|
+
const aiClient = (0, import_app_framework2.useCapability)(import_chunk_GBUNQ257.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_APRU3QWK.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: 48,
|
|
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: 60,
|
|
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,45 +1638,47 @@ 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,
|
|
1571
|
-
artifacts: artifactDefinitions.map((definition) => definition.
|
|
1646
|
+
const systemPrompt = (0, import_react8.useMemo)(() => (0, import_artifact4.createSystemPrompt)({
|
|
1647
|
+
artifacts: artifactDefinitions.map((definition) => `${definition.name}
|
|
1648
|
+
${definition.instructions}`),
|
|
1649
|
+
associatedArtifact
|
|
1572
1650
|
}), [
|
|
1573
|
-
artifactDefinitions
|
|
1651
|
+
artifactDefinitions,
|
|
1652
|
+
associatedArtifact
|
|
1574
1653
|
]);
|
|
1654
|
+
const model = settings?.llmProvider === "ollama" ? settings?.ollamaModel ?? import_assistant2.DEFAULT_OLLAMA_MODEL : settings?.edgeModel ?? import_assistant2.DEFAULT_EDGE_MODEL;
|
|
1575
1655
|
const processor = (0, import_react8.useMemo)(() => {
|
|
1576
1656
|
(0, import_log7.log)("creating processor...", {
|
|
1577
1657
|
settings
|
|
1578
1658
|
}, {
|
|
1579
1659
|
F: __dxlog_file7,
|
|
1580
|
-
L:
|
|
1660
|
+
L: 91,
|
|
1581
1661
|
S: void 0,
|
|
1582
1662
|
C: (f, a) => f(...a)
|
|
1583
1663
|
});
|
|
1584
|
-
return new ChatProcessor(aiClient, tools, extensions, {
|
|
1585
|
-
|
|
1586
|
-
model: settings?.llmModel ?? import_assistant2.DEFAULT_LLM_MODEL,
|
|
1587
|
-
// TOOD(burdon): Query.
|
|
1664
|
+
return new ChatProcessor(aiClient.value, tools, artifactDefinitions, extensions, {
|
|
1665
|
+
model,
|
|
1588
1666
|
systemPrompt
|
|
1589
1667
|
});
|
|
1590
1668
|
}, [
|
|
1591
|
-
aiClient,
|
|
1669
|
+
aiClient.value,
|
|
1592
1670
|
tools,
|
|
1593
1671
|
extensions,
|
|
1594
|
-
|
|
1595
|
-
|
|
1672
|
+
model,
|
|
1673
|
+
systemPrompt
|
|
1596
1674
|
]);
|
|
1597
1675
|
return processor;
|
|
1598
1676
|
};
|
|
1599
|
-
var registerTriggersMutex = new
|
|
1677
|
+
var registerTriggersMutex = new import_async2.Mutex();
|
|
1600
1678
|
var useMessageQueue = (chat) => {
|
|
1601
1679
|
const space = (0, import_echo6.getSpace)(chat);
|
|
1602
1680
|
const queueDxn = (0, import_react10.useMemo)(() => {
|
|
1603
|
-
const dxn = space && chat?.
|
|
1681
|
+
const dxn = space && chat?.assistantChatQueue.dxn;
|
|
1604
1682
|
return dxn ? new import_keys2.DXN(import_keys2.DXN.kind.QUEUE, [
|
|
1605
1683
|
import_keys2.QueueSubspaceTags.DATA,
|
|
1606
1684
|
space.id,
|
|
@@ -1608,10 +1686,9 @@ var useMessageQueue = (chat) => {
|
|
|
1608
1686
|
]) : void 0;
|
|
1609
1687
|
}, [
|
|
1610
1688
|
space,
|
|
1611
|
-
chat?.
|
|
1689
|
+
chat?.assistantChatQueue.dxn
|
|
1612
1690
|
]);
|
|
1613
|
-
|
|
1614
|
-
return (0, import_react_edge_client.useQueue)(edgeClient, queueDxn);
|
|
1691
|
+
return (0, import_echo6.useQueue)(queueDxn);
|
|
1615
1692
|
};
|
|
1616
1693
|
var MockServiceRegistry = class {
|
|
1617
1694
|
async queryServices(query) {
|
|
@@ -1634,7 +1711,7 @@ var VISUAL_CROSSING_CREDENTIALS = {
|
|
|
1634
1711
|
}
|
|
1635
1712
|
};
|
|
1636
1713
|
var TEST_SERVICES = [
|
|
1637
|
-
(0,
|
|
1714
|
+
(0, import_echo_schema3.createStatic)(import_chunk_APRU3QWK.ServiceType, {
|
|
1638
1715
|
serviceId: "amadeus.com/service/FlightSearch",
|
|
1639
1716
|
name: "Amadeus Flight Search",
|
|
1640
1717
|
description: "Search for local and international flights.",
|
|
@@ -1647,7 +1724,7 @@ var TEST_SERVICES = [
|
|
|
1647
1724
|
}
|
|
1648
1725
|
]
|
|
1649
1726
|
}),
|
|
1650
|
-
(0,
|
|
1727
|
+
(0, import_echo_schema3.createStatic)(import_chunk_APRU3QWK.ServiceType, {
|
|
1651
1728
|
serviceId: "amadeus.com/service/HotelSearch",
|
|
1652
1729
|
name: "Amadeus Hotel Search",
|
|
1653
1730
|
description: "Search for local and international hotels.",
|
|
@@ -1660,7 +1737,7 @@ var TEST_SERVICES = [
|
|
|
1660
1737
|
}
|
|
1661
1738
|
]
|
|
1662
1739
|
}),
|
|
1663
|
-
(0,
|
|
1740
|
+
(0, import_echo_schema3.createStatic)(import_chunk_APRU3QWK.ServiceType, {
|
|
1664
1741
|
serviceId: "visualcrossing.com/service/Weather",
|
|
1665
1742
|
name: "Visual Crossing Weather",
|
|
1666
1743
|
description: "Search for global weather forecasts.",
|
|
@@ -1674,7 +1751,7 @@ var TEST_SERVICES = [
|
|
|
1674
1751
|
]
|
|
1675
1752
|
}),
|
|
1676
1753
|
// TODO(burdon): Needs auth.
|
|
1677
|
-
(0,
|
|
1754
|
+
(0, import_echo_schema3.createStatic)(import_chunk_APRU3QWK.ServiceType, {
|
|
1678
1755
|
serviceId: "abstractapi.com/service/GeoLocation",
|
|
1679
1756
|
name: "Abstract GeoLocation",
|
|
1680
1757
|
description: "Get the location of any IP address.",
|
|
@@ -1691,11 +1768,11 @@ var TEST_SERVICES = [
|
|
|
1691
1768
|
//
|
|
1692
1769
|
...Array.from({
|
|
1693
1770
|
length: 20
|
|
1694
|
-
}, (_, i) => (0,
|
|
1771
|
+
}, (_, i) => (0, import_echo_schema3.createStatic)(import_chunk_APRU3QWK.ServiceType, {
|
|
1695
1772
|
serviceId: `example.com/service/test-${i}`,
|
|
1696
1773
|
name: `Test ${i}`,
|
|
1697
1774
|
description: `Test ${i}`,
|
|
1698
|
-
category: Object.keys(
|
|
1775
|
+
category: Object.keys(import_chunk_APRU3QWK.categoryIcons)[Math.floor(Math.random() * Object.keys(import_chunk_APRU3QWK.categoryIcons).length)],
|
|
1699
1776
|
interfaces: [
|
|
1700
1777
|
{
|
|
1701
1778
|
kind: "api",
|
|
@@ -1719,10 +1796,60 @@ var useServices = (space, query) => {
|
|
|
1719
1796
|
]);
|
|
1720
1797
|
return services;
|
|
1721
1798
|
};
|
|
1722
|
-
var __dxlog_file8 = "/home/runner/work/dxos/dxos/packages/plugins/
|
|
1723
|
-
var
|
|
1799
|
+
var __dxlog_file8 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assistant/src/hooks/useContextProvider.ts";
|
|
1800
|
+
var stringMatch = (query, label) => label.toLowerCase().startsWith(query.toLowerCase());
|
|
1801
|
+
var useContextProvider = (space) => {
|
|
1802
|
+
const artifactDefinitions = (0, import_app_framework4.useCapabilities)(import_app_framework4.Capabilities.ArtifactDefinition);
|
|
1803
|
+
return (0, import_react13.useMemo)(() => {
|
|
1804
|
+
if (!space) {
|
|
1805
|
+
return void 0;
|
|
1806
|
+
}
|
|
1807
|
+
return {
|
|
1808
|
+
query: async ({ query }) => {
|
|
1809
|
+
const artifactSchemas = artifactDefinitions.map((artifact) => artifact.schema);
|
|
1810
|
+
const { objects } = await space.db.query(import_echo7.Filter.or(...artifactSchemas.map((schema) => import_echo7.Filter.schema(schema)))).run();
|
|
1811
|
+
return objects.map((object) => {
|
|
1812
|
+
import_log10.log.info("object", {
|
|
1813
|
+
object,
|
|
1814
|
+
label: (0, import_echo_schema4.getLabel)((0, import_echo_schema4.getSchema)(object), object)
|
|
1815
|
+
}, {
|
|
1816
|
+
F: __dxlog_file8,
|
|
1817
|
+
L: 36,
|
|
1818
|
+
S: void 0,
|
|
1819
|
+
C: (f, a) => f(...a)
|
|
1820
|
+
});
|
|
1821
|
+
return object;
|
|
1822
|
+
}).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) => ({
|
|
1823
|
+
uri: (0, import_echo_schema4.getDXN)(object).toString(),
|
|
1824
|
+
label: (0, import_echo_schema4.getLabel)((0, import_echo_schema4.getSchema)(object), object) ?? ""
|
|
1825
|
+
}));
|
|
1826
|
+
},
|
|
1827
|
+
resolveMetadata: async ({ uri }) => {
|
|
1828
|
+
const object = await space.db.query({
|
|
1829
|
+
id: uri
|
|
1830
|
+
}).first();
|
|
1831
|
+
return {
|
|
1832
|
+
uri,
|
|
1833
|
+
label: (0, import_echo_schema4.getLabel)((0, import_echo_schema4.getSchema)(object), object) ?? ""
|
|
1834
|
+
};
|
|
1835
|
+
}
|
|
1836
|
+
};
|
|
1837
|
+
}, [
|
|
1838
|
+
space,
|
|
1839
|
+
artifactDefinitions
|
|
1840
|
+
]);
|
|
1841
|
+
};
|
|
1842
|
+
var __dxlog_file9 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assistant/src/components/Thread/ThreadContainer.tsx";
|
|
1843
|
+
var ThreadContainer = ({ classNames, chat, settings, part, associatedArtifact, onOpenChange, ...props }) => {
|
|
1724
1844
|
const space = (0, import_echo3.getSpace)(chat);
|
|
1725
|
-
const
|
|
1845
|
+
const contextProvider = useContextProvider(space);
|
|
1846
|
+
const processor = useChatProcessor({
|
|
1847
|
+
chat,
|
|
1848
|
+
space,
|
|
1849
|
+
settings,
|
|
1850
|
+
part,
|
|
1851
|
+
associatedArtifact
|
|
1852
|
+
});
|
|
1726
1853
|
const messageQueue = useMessageQueue(chat);
|
|
1727
1854
|
const messages = [
|
|
1728
1855
|
...messageQueue?.items ?? [],
|
|
@@ -1731,8 +1858,8 @@ var ThreadContainer = ({ classNames, chat, settings, onOpenChange, ...props }) =
|
|
|
1731
1858
|
const handleSubmit = (0, import_react7.useCallback)((text) => {
|
|
1732
1859
|
if (processor.streaming.value) {
|
|
1733
1860
|
import_log5.log.warn("ignoring submit; still processing.", void 0, {
|
|
1734
|
-
F:
|
|
1735
|
-
L:
|
|
1861
|
+
F: __dxlog_file9,
|
|
1862
|
+
L: 44,
|
|
1736
1863
|
S: void 0,
|
|
1737
1864
|
C: (f, a) => f(...a)
|
|
1738
1865
|
});
|
|
@@ -1740,8 +1867,8 @@ var ThreadContainer = ({ classNames, chat, settings, onOpenChange, ...props }) =
|
|
|
1740
1867
|
}
|
|
1741
1868
|
onOpenChange?.(true);
|
|
1742
1869
|
(0, import_invariant3.invariant)(messageQueue, void 0, {
|
|
1743
|
-
F:
|
|
1744
|
-
L:
|
|
1870
|
+
F: __dxlog_file9,
|
|
1871
|
+
L: 50,
|
|
1745
1872
|
S: void 0,
|
|
1746
1873
|
A: [
|
|
1747
1874
|
"messageQueue",
|
|
@@ -1778,6 +1905,7 @@ var ThreadContainer = ({ classNames, chat, settings, onOpenChange, ...props }) =
|
|
|
1778
1905
|
onCancel: handleCancel,
|
|
1779
1906
|
onPrompt: handleSubmit,
|
|
1780
1907
|
onOpenChange,
|
|
1908
|
+
contextProvider,
|
|
1781
1909
|
...props
|
|
1782
1910
|
});
|
|
1783
1911
|
};
|
|
@@ -1794,4 +1922,4 @@ var ThreadContainer = ({ classNames, chat, settings, onOpenChange, ...props }) =
|
|
|
1794
1922
|
ToolboxContainer,
|
|
1795
1923
|
useServices
|
|
1796
1924
|
});
|
|
1797
|
-
//# sourceMappingURL=chunk-
|
|
1925
|
+
//# sourceMappingURL=chunk-RPBKMP2E.cjs.map
|