@dxos/plugin-assistant 0.8.1-main.303c73a → 0.8.1-main.81238a8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/browser/{AssistantDialog-T5OJUIIV.mjs → AssistantDialog-L5RHNMU4.mjs} +6 -5
- package/dist/lib/browser/{AssistantDialog-T5OJUIIV.mjs.map → AssistantDialog-L5RHNMU4.mjs.map} +3 -3
- package/dist/lib/browser/{ChatContainer-FEZ323HB.mjs → ChatContainer-EEEVE62F.mjs} +5 -5
- package/dist/lib/browser/TemplateContainer-7IQ6V5AD.mjs +78 -0
- package/dist/lib/browser/TemplateContainer-7IQ6V5AD.mjs.map +7 -0
- package/dist/lib/browser/ai-client-BAPVMSNX.mjs +35 -0
- package/dist/lib/browser/ai-client-BAPVMSNX.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-builder-AXAIFOGV.mjs → app-graph-builder-DTCUWBKB.mjs} +57 -13
- package/dist/lib/browser/app-graph-builder-DTCUWBKB.mjs.map +7 -0
- package/dist/lib/browser/{chunk-TCAE72QU.mjs → chunk-5RMJYOT7.mjs} +34 -12
- package/dist/lib/browser/chunk-5RMJYOT7.mjs.map +7 -0
- package/dist/lib/browser/{chunk-EUMPBC4T.mjs → chunk-6FTPLBSC.mjs} +2 -2
- package/dist/lib/browser/{chunk-NV7SVHMV.mjs → chunk-AF7VQAKS.mjs} +1 -1
- package/dist/lib/browser/{chunk-NV7SVHMV.mjs.map → chunk-AF7VQAKS.mjs.map} +2 -2
- package/dist/lib/browser/{chunk-NTLTGYYS.mjs → chunk-SVUCJXGN.mjs} +2 -2
- package/dist/lib/browser/chunk-SVUCJXGN.mjs.map +7 -0
- package/dist/lib/browser/{chunk-FRIKXDDQ.mjs → chunk-X6ALDUA5.mjs} +26 -4
- package/dist/lib/browser/chunk-X6ALDUA5.mjs.map +7 -0
- package/dist/lib/browser/{chunk-SUUECBDM.mjs → chunk-XFUCWOMV.mjs} +261 -60
- package/dist/lib/browser/chunk-XFUCWOMV.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +21 -11
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-QRVRZL6K.mjs → intent-resolver-U57FXP3I.mjs} +6 -3
- package/dist/lib/browser/{intent-resolver-QRVRZL6K.mjs.map → intent-resolver-U57FXP3I.mjs.map} +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-B463WHMD.mjs → react-surface-KFLHNDNR.mjs} +10 -9
- package/dist/lib/browser/react-surface-KFLHNDNR.mjs.map +7 -0
- package/dist/lib/browser/{settings-JTT62IHD.mjs → settings-VAW6UWFL.mjs} +3 -3
- package/dist/lib/browser/types/index.mjs +6 -2
- package/dist/lib/node/{AssistantDialog-EZ5RBGPX.cjs → AssistantDialog-VIB7GPQN.cjs} +12 -11
- package/dist/lib/node/{AssistantDialog-EZ5RBGPX.cjs.map → AssistantDialog-VIB7GPQN.cjs.map} +3 -3
- package/dist/lib/node/{ChatContainer-FNYVBPZZ.cjs → ChatContainer-BPI3GEZS.cjs} +10 -10
- package/dist/lib/node/TemplateContainer-VPAZRFQA.cjs +104 -0
- package/dist/lib/node/TemplateContainer-VPAZRFQA.cjs.map +7 -0
- package/dist/lib/node/{ai-client-RBDOGK6W.cjs → ai-client-5ESLYXAV.cjs} +19 -19
- package/dist/lib/node/ai-client-5ESLYXAV.cjs.map +7 -0
- package/dist/lib/node/{app-graph-builder-D7SHQTZS.cjs → app-graph-builder-3P6WSON2.cjs} +63 -20
- package/dist/lib/node/app-graph-builder-3P6WSON2.cjs.map +7 -0
- package/dist/lib/node/{chunk-37GI4NYH.cjs → chunk-KLSNCP34.cjs} +33 -9
- package/dist/lib/node/chunk-KLSNCP34.cjs.map +7 -0
- package/dist/lib/node/{chunk-NV4TQQSU.cjs → chunk-N3SW6DJ6.cjs} +6 -6
- package/dist/lib/node/{chunk-RWY7LVFJ.cjs → chunk-OJJ4F6KP.cjs} +266 -69
- package/dist/lib/node/chunk-OJJ4F6KP.cjs.map +7 -0
- package/dist/lib/node/{chunk-GNPXCHFT.cjs → chunk-U6J2GO7I.cjs} +4 -4
- package/dist/lib/node/{chunk-GNPXCHFT.cjs.map → chunk-U6J2GO7I.cjs.map} +2 -2
- package/dist/lib/node/{chunk-3WXG6WA6.cjs → chunk-VRXFIS4X.cjs} +6 -6
- package/dist/lib/node/chunk-VRXFIS4X.cjs.map +7 -0
- package/dist/lib/node/{chunk-PMA7XUWM.cjs → chunk-WFVOWPKV.cjs} +40 -18
- package/dist/lib/node/chunk-WFVOWPKV.cjs.map +7 -0
- package/dist/lib/node/index.cjs +73 -63
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/{intent-resolver-YMMAFVOB.cjs → intent-resolver-YIFAMM3B.cjs} +13 -10
- package/dist/lib/node/{intent-resolver-YMMAFVOB.cjs.map → intent-resolver-YIFAMM3B.cjs.map} +3 -3
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-surface-RTYCL4GP.cjs → react-surface-REI6G6B3.cjs} +25 -24
- package/dist/lib/node/react-surface-REI6G6B3.cjs.map +7 -0
- package/dist/lib/node/{settings-4YEO7KXF.cjs → settings-2FEYGLYU.cjs} +8 -8
- package/dist/lib/node/types/index.cjs +15 -11
- package/dist/lib/node/types/index.cjs.map +2 -2
- package/dist/lib/node-esm/{AssistantDialog-57ZCJNSL.mjs → AssistantDialog-R3EPF2KL.mjs} +6 -5
- package/dist/lib/node-esm/{AssistantDialog-57ZCJNSL.mjs.map → AssistantDialog-R3EPF2KL.mjs.map} +3 -3
- package/dist/lib/node-esm/{ChatContainer-XYNXFPFT.mjs → ChatContainer-UJ7MV7GU.mjs} +5 -5
- package/dist/lib/node-esm/TemplateContainer-YLA6BJY6.mjs +79 -0
- package/dist/lib/node-esm/TemplateContainer-YLA6BJY6.mjs.map +7 -0
- package/dist/lib/node-esm/ai-client-XYZ5N7CR.mjs +36 -0
- package/dist/lib/node-esm/ai-client-XYZ5N7CR.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-builder-H2GC2AZA.mjs → app-graph-builder-PMAQLTTN.mjs} +57 -13
- package/dist/lib/node-esm/app-graph-builder-PMAQLTTN.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-ICQN3TDS.mjs → chunk-2CIYX3SD.mjs} +2 -2
- package/dist/lib/node-esm/chunk-2CIYX3SD.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-YVEPFSWR.mjs → chunk-6GBMQIW7.mjs} +34 -12
- package/dist/lib/node-esm/chunk-6GBMQIW7.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-3HFSWIA5.mjs → chunk-AMTHOYNB.mjs} +261 -60
- package/dist/lib/node-esm/chunk-AMTHOYNB.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-LBQGJE5T.mjs → chunk-J63VQFQO.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-7SV6X6XU.mjs → chunk-N6BVC2C2.mjs} +1 -1
- package/dist/lib/node-esm/{chunk-7SV6X6XU.mjs.map → chunk-N6BVC2C2.mjs.map} +2 -2
- package/dist/lib/node-esm/{chunk-CJ4Y3QW5.mjs → chunk-NMMRHHAR.mjs} +26 -4
- package/dist/lib/node-esm/chunk-NMMRHHAR.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +21 -11
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-MR7BOKEW.mjs → intent-resolver-SQ4HLL5L.mjs} +6 -3
- package/dist/lib/node-esm/{intent-resolver-MR7BOKEW.mjs.map → intent-resolver-SQ4HLL5L.mjs.map} +3 -3
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-Y4RK56TT.mjs → react-surface-LE57AGPI.mjs} +10 -9
- package/dist/lib/node-esm/react-surface-LE57AGPI.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-S7P5RWQI.mjs → settings-VHR5KT4J.mjs} +3 -3
- package/dist/lib/node-esm/types/index.mjs +6 -2
- package/dist/types/src/AssistantPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/ai-client.d.ts +2 -1
- package/dist/types/src/capabilities/ai-client.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts +2 -1
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +1 -1
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/components/AssistantDialog.d.ts.map +1 -1
- package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +1 -1
- package/dist/types/src/components/Prompt/Prompt.d.ts +3 -0
- package/dist/types/src/components/Prompt/Prompt.d.ts.map +1 -1
- package/dist/types/src/components/Prompt/Prompt.stories.d.ts +1 -0
- package/dist/types/src/components/Prompt/Prompt.stories.d.ts.map +1 -1
- package/dist/types/src/components/Prompt/PromptBar.d.ts +2 -2
- package/dist/types/src/components/Prompt/PromptBar.d.ts.map +1 -1
- package/dist/types/src/components/Prompt/references.d.ts +30 -0
- package/dist/types/src/components/Prompt/references.d.ts.map +1 -0
- package/dist/types/src/components/TemplateContainer.d.ts.map +1 -1
- package/dist/types/src/components/Thread/Thread.d.ts +11 -1
- package/dist/types/src/components/Thread/Thread.d.ts.map +1 -1
- package/dist/types/src/components/Thread/ThreadContainer.d.ts +1 -0
- package/dist/types/src/components/Thread/ThreadContainer.d.ts.map +1 -1
- package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/Thread/ThreadMessage.d.ts.map +1 -1
- package/dist/types/src/components/Toolbox/Toolbox.d.ts +1 -1
- package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/hooks/index.d.ts +1 -0
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/invocation-handler.d.ts +1 -1
- package/dist/types/src/hooks/invocation-handler.d.ts.map +1 -1
- package/dist/types/src/hooks/processor.d.ts +2 -2
- package/dist/types/src/hooks/processor.d.ts.map +1 -1
- package/dist/types/src/hooks/useChatProcessor.d.ts +9 -2
- package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
- package/dist/types/src/hooks/useContextProvider.d.ts +17 -0
- package/dist/types/src/hooks/useContextProvider.d.ts.map +1 -0
- package/dist/types/src/hooks/useMessageQueue.d.ts +4 -4
- package/dist/types/src/hooks/useMessageQueue.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +2 -8
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/testing/test-functions.d.ts.map +1 -1
- package/dist/types/src/tools/function.d.ts +1 -1
- package/dist/types/src/tools/function.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +21 -6
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/service.d.ts +1 -1
- package/dist/types/src/types/service.d.ts.map +1 -1
- package/dist/types/src/types/template.d.ts +36 -0
- package/dist/types/src/types/template.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +3 -1
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/package.json +56 -55
- package/src/AssistantPlugin.tsx +11 -2
- package/src/capabilities/ai-client.ts +23 -7
- package/src/capabilities/app-graph-builder.ts +48 -4
- package/src/capabilities/capabilities.ts +3 -1
- package/src/capabilities/intent-resolver.ts +1 -1
- package/src/capabilities/react-surface.tsx +3 -2
- package/src/components/AssistantDialog.tsx +7 -1
- package/src/components/AssistantSettings/AssistantSettings.tsx +39 -5
- package/src/components/Prompt/Prompt.stories.tsx +34 -0
- package/src/components/Prompt/Prompt.tsx +9 -2
- package/src/components/Prompt/PromptBar.tsx +3 -1
- package/src/components/Prompt/references.ts +180 -0
- package/src/components/TemplateContainer.tsx +79 -4
- package/src/components/TemplateEditor/TemplateEditor.stories.tsx +1 -1
- package/src/components/TemplateEditor/TemplateForm.stories.tsx +1 -1
- package/src/components/Thread/Thread.tsx +21 -0
- package/src/components/Thread/ThreadContainer.stories.tsx +3 -6
- package/src/components/Thread/ThreadContainer.tsx +7 -4
- package/src/components/Thread/ThreadMessage.tsx +17 -9
- package/src/components/Toolbox/Toolbox.tsx +1 -1
- package/src/components/index.ts +3 -0
- package/src/hooks/index.ts +1 -0
- package/src/hooks/invocation-handler.ts +3 -5
- package/src/hooks/processor.ts +5 -5
- package/src/hooks/useChatProcessor.tsx +24 -15
- package/src/hooks/useContextProvider.ts +55 -0
- package/src/hooks/useLocalTriggerManager.ts +1 -1
- package/src/hooks/useMessageQueue.ts +2 -4
- package/src/meta.ts +2 -2
- package/src/testing/test-functions.ts +2 -2
- package/src/tools/function.ts +2 -2
- package/src/translations.ts +8 -3
- package/src/types/service.ts +1 -1
- package/src/types/template.ts +22 -0
- package/src/types/types.ts +3 -1
- package/dist/lib/browser/TemplateContainer-B7MQNUPY.mjs +0 -23
- package/dist/lib/browser/TemplateContainer-B7MQNUPY.mjs.map +0 -7
- package/dist/lib/browser/ai-client-PORKRZXM.mjs +0 -33
- package/dist/lib/browser/ai-client-PORKRZXM.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-AXAIFOGV.mjs.map +0 -7
- package/dist/lib/browser/chunk-FRIKXDDQ.mjs.map +0 -7
- package/dist/lib/browser/chunk-NTLTGYYS.mjs.map +0 -7
- package/dist/lib/browser/chunk-SUUECBDM.mjs.map +0 -7
- package/dist/lib/browser/chunk-TCAE72QU.mjs.map +0 -7
- package/dist/lib/browser/react-surface-B463WHMD.mjs.map +0 -7
- package/dist/lib/node/TemplateContainer-R4BZZP3E.cjs +0 -53
- package/dist/lib/node/TemplateContainer-R4BZZP3E.cjs.map +0 -7
- package/dist/lib/node/ai-client-RBDOGK6W.cjs.map +0 -7
- package/dist/lib/node/app-graph-builder-D7SHQTZS.cjs.map +0 -7
- package/dist/lib/node/chunk-37GI4NYH.cjs.map +0 -7
- package/dist/lib/node/chunk-3WXG6WA6.cjs.map +0 -7
- package/dist/lib/node/chunk-PMA7XUWM.cjs.map +0 -7
- package/dist/lib/node/chunk-RWY7LVFJ.cjs.map +0 -7
- package/dist/lib/node/react-surface-RTYCL4GP.cjs.map +0 -7
- package/dist/lib/node-esm/TemplateContainer-WSHTZBB5.mjs +0 -24
- package/dist/lib/node-esm/TemplateContainer-WSHTZBB5.mjs.map +0 -7
- package/dist/lib/node-esm/ai-client-OTZVBDUH.mjs +0 -34
- package/dist/lib/node-esm/ai-client-OTZVBDUH.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-H2GC2AZA.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-3HFSWIA5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-CJ4Y3QW5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-ICQN3TDS.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-YVEPFSWR.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-Y4RK56TT.mjs.map +0 -7
- /package/dist/lib/browser/{ChatContainer-FEZ323HB.mjs.map → ChatContainer-EEEVE62F.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-EUMPBC4T.mjs.map → chunk-6FTPLBSC.mjs.map} +0 -0
- /package/dist/lib/browser/{settings-JTT62IHD.mjs.map → settings-VAW6UWFL.mjs.map} +0 -0
- /package/dist/lib/node/{ChatContainer-FNYVBPZZ.cjs.map → ChatContainer-BPI3GEZS.cjs.map} +0 -0
- /package/dist/lib/node/{chunk-NV4TQQSU.cjs.map → chunk-N3SW6DJ6.cjs.map} +0 -0
- /package/dist/lib/node/{settings-4YEO7KXF.cjs.map → settings-2FEYGLYU.cjs.map} +0 -0
- /package/dist/lib/node-esm/{ChatContainer-XYNXFPFT.mjs.map → ChatContainer-UJ7MV7GU.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-LBQGJE5T.mjs.map → chunk-J63VQFQO.mjs.map} +0 -0
- /package/dist/lib/node-esm/{settings-S7P5RWQI.mjs.map → settings-VHR5KT4J.mjs.map} +0 -0
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AssistantCapabilities
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-SVUCJXGN.mjs";
|
|
4
4
|
import {
|
|
5
5
|
ServiceType,
|
|
6
6
|
categoryIcons
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-X6ALDUA5.mjs";
|
|
8
8
|
import {
|
|
9
9
|
ASSISTANT_PLUGIN
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-AF7VQAKS.mjs";
|
|
11
11
|
|
|
12
12
|
// packages/plugins/experimental/plugin-assistant/src/components/Toolbox/Toolbox.tsx
|
|
13
13
|
import React, { useState, useEffect, Fragment } from "react";
|
|
14
14
|
import { Capabilities, useCapabilities } from "@dxos/app-framework";
|
|
15
15
|
import { parseToolName } from "@dxos/artifact";
|
|
16
|
-
import { FunctionType } from "@dxos/functions";
|
|
16
|
+
import { FunctionType } from "@dxos/functions/types";
|
|
17
17
|
import { log as log3 } from "@dxos/log";
|
|
18
18
|
import { Filter, useQuery } from "@dxos/react-client/echo";
|
|
19
19
|
import { mx } from "@dxos/react-ui-theme";
|
|
@@ -21,7 +21,7 @@ import { mx } from "@dxos/react-ui-theme";
|
|
|
21
21
|
// packages/plugins/experimental/plugin-assistant/src/tools/function.ts
|
|
22
22
|
import { defineTool, ToolResult } from "@dxos/artifact";
|
|
23
23
|
import { toEffectSchema } from "@dxos/echo-schema";
|
|
24
|
-
import { getInvocationUrl, getUserFunctionUrlInMetadata } from "@dxos/functions";
|
|
24
|
+
import { getInvocationUrl, getUserFunctionUrlInMetadata } from "@dxos/functions/types";
|
|
25
25
|
import { log } from "@dxos/log";
|
|
26
26
|
import { getMeta } from "@dxos/react-client/echo";
|
|
27
27
|
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-assistant/src/tools/function.ts";
|
|
@@ -550,7 +550,7 @@ import { keyToFallback } from "@dxos/util";
|
|
|
550
550
|
// packages/plugins/experimental/plugin-assistant/src/components/Thread/ThreadMessage.tsx
|
|
551
551
|
import React3 from "react";
|
|
552
552
|
import { invariant as invariant2 } from "@dxos/invariant";
|
|
553
|
-
import { Button,
|
|
553
|
+
import { Button, Icon, IconButton } from "@dxos/react-ui";
|
|
554
554
|
import { MarkdownViewer, ToggleContainer as NativeToggleContainer } from "@dxos/react-ui-components";
|
|
555
555
|
import { Json as Json2 } from "@dxos/react-ui-syntax-highlighter";
|
|
556
556
|
import { mx as mx2 } from "@dxos/react-ui-theme";
|
|
@@ -681,7 +681,7 @@ var ToolContainer = ({ classNames, items }) => {
|
|
|
681
681
|
// packages/plugins/experimental/plugin-assistant/src/components/Thread/ThreadMessage.tsx
|
|
682
682
|
var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-assistant/src/components/Thread/ThreadMessage.tsx";
|
|
683
683
|
var panelClassNames = "flex flex-col w-full px-2 bg-groupSurface rounded-md";
|
|
684
|
-
var userClassNames = "bg-[--user-fill]";
|
|
684
|
+
var userClassNames = "bg-[--user-fill] text-inverse";
|
|
685
685
|
var ToggleContainer2 = (props) => {
|
|
686
686
|
return /* @__PURE__ */ React3.createElement(NativeToggleContainer, {
|
|
687
687
|
...props,
|
|
@@ -706,7 +706,7 @@ var ThreadMessage = ({ classNames, space, message, tools, onPrompt }) => {
|
|
|
706
706
|
const { role, content = [] } = message;
|
|
707
707
|
if (isToolMessage(message)) {
|
|
708
708
|
return /* @__PURE__ */ React3.createElement(MessageContainer, {
|
|
709
|
-
classNames
|
|
709
|
+
classNames: mx2(classNames, "animate-[fadeIn_0.5s]")
|
|
710
710
|
}, /* @__PURE__ */ React3.createElement(ToolBlock, {
|
|
711
711
|
space,
|
|
712
712
|
classNames: panelClassNames,
|
|
@@ -721,7 +721,7 @@ var ThreadMessage = ({ classNames, space, message, tools, onPrompt }) => {
|
|
|
721
721
|
const Component = components[block.type] ?? components.default;
|
|
722
722
|
return /* @__PURE__ */ React3.createElement(MessageContainer, {
|
|
723
723
|
key: idx,
|
|
724
|
-
classNames,
|
|
724
|
+
classNames: mx2(classNames, "animate-[fadeIn_0.5s]"),
|
|
725
725
|
user: block.type === "text" && role === "user"
|
|
726
726
|
}, /* @__PURE__ */ React3.createElement(Component, {
|
|
727
727
|
space,
|
|
@@ -737,7 +737,7 @@ var components = {
|
|
|
737
737
|
["text"]: ({ block }) => {
|
|
738
738
|
invariant2(block.type === "text", void 0, {
|
|
739
739
|
F: __dxlog_file5,
|
|
740
|
-
L:
|
|
740
|
+
L: 90,
|
|
741
741
|
S: void 0,
|
|
742
742
|
A: [
|
|
743
743
|
"block.type === 'text'",
|
|
@@ -747,6 +747,7 @@ var components = {
|
|
|
747
747
|
const title = block.disposition ? titles[block.disposition] : void 0;
|
|
748
748
|
if (!title) {
|
|
749
749
|
return /* @__PURE__ */ React3.createElement(MarkdownViewer, {
|
|
750
|
+
classNames: "[&>p]:animate-[fadeIn_0.5s]",
|
|
750
751
|
content: block.text
|
|
751
752
|
});
|
|
752
753
|
}
|
|
@@ -773,7 +774,7 @@ var components = {
|
|
|
773
774
|
["json"]: ({ space, block, onPrompt }) => {
|
|
774
775
|
invariant2(block.type === "json", void 0, {
|
|
775
776
|
F: __dxlog_file5,
|
|
776
|
-
L:
|
|
777
|
+
L: 128,
|
|
777
778
|
S: void 0,
|
|
778
779
|
A: [
|
|
779
780
|
"block.type === 'json'",
|
|
@@ -800,7 +801,10 @@ var components = {
|
|
|
800
801
|
}
|
|
801
802
|
case "select": {
|
|
802
803
|
const { options = [] } = safeParseJson(block.json ?? "{}") ?? {};
|
|
803
|
-
return /* @__PURE__ */ React3.createElement(
|
|
804
|
+
return /* @__PURE__ */ React3.createElement("div", {
|
|
805
|
+
className: "flex flex-wrap gap-1"
|
|
806
|
+
}, options.map((option, idx) => /* @__PURE__ */ React3.createElement(Button, {
|
|
807
|
+
classNames: "animate-[fadeIn_0.5s] rounded-2xl text-sm",
|
|
804
808
|
key: option,
|
|
805
809
|
onClick: () => onPrompt?.(option)
|
|
806
810
|
}, option)));
|
|
@@ -891,7 +895,7 @@ var messageReducer = ({ current, messages }, message) => {
|
|
|
891
895
|
// packages/plugins/experimental/plugin-assistant/src/components/Prompt/Prompt.tsx
|
|
892
896
|
import React4, { forwardRef, useImperativeHandle } from "react";
|
|
893
897
|
import { useThemeContext } from "@dxos/react-ui";
|
|
894
|
-
import { createBasicExtensions, createThemeExtensions, keymap as
|
|
898
|
+
import { createBasicExtensions, createThemeExtensions, keymap as keymap3, useTextEditor } from "@dxos/react-ui-editor";
|
|
895
899
|
import { mx as mx3 } from "@dxos/react-ui-theme";
|
|
896
900
|
|
|
897
901
|
// packages/plugins/experimental/plugin-assistant/src/components/Prompt/autocomplete.ts
|
|
@@ -1048,10 +1052,127 @@ var InlineSuggestionWidget = class extends WidgetType {
|
|
|
1048
1052
|
}
|
|
1049
1053
|
};
|
|
1050
1054
|
|
|
1055
|
+
// packages/plugins/experimental/plugin-assistant/src/components/Prompt/references.ts
|
|
1056
|
+
import { autocompletion, completionKeymap } from "@codemirror/autocomplete";
|
|
1057
|
+
import { RangeSet } from "@codemirror/state";
|
|
1058
|
+
import { Decoration as Decoration2, EditorView as EditorView2, keymap as keymap2, ViewPlugin as ViewPlugin2, WidgetType as WidgetType2 } from "@codemirror/view";
|
|
1059
|
+
import { Mutex } from "@dxos/async";
|
|
1060
|
+
var promptReferences = ({ provider, debug = false, triggerCharacter = "@" }) => {
|
|
1061
|
+
if (triggerCharacter.length !== 1) {
|
|
1062
|
+
throw new Error("triggerCharacter must be a single character");
|
|
1063
|
+
}
|
|
1064
|
+
const decorationField = ViewPlugin2.fromClass(class ReferenceView {
|
|
1065
|
+
constructor(view) {
|
|
1066
|
+
this._mutex = new Mutex();
|
|
1067
|
+
this.decorations = Decoration2.set([]);
|
|
1068
|
+
queueMicrotask(async () => {
|
|
1069
|
+
const guard = await this._mutex.acquire();
|
|
1070
|
+
try {
|
|
1071
|
+
this.decorations = await this._computeDecorations(view);
|
|
1072
|
+
} finally {
|
|
1073
|
+
guard.release();
|
|
1074
|
+
}
|
|
1075
|
+
});
|
|
1076
|
+
}
|
|
1077
|
+
update(update) {
|
|
1078
|
+
if (update.docChanged) {
|
|
1079
|
+
queueMicrotask(async () => {
|
|
1080
|
+
const guard = await this._mutex.acquire();
|
|
1081
|
+
try {
|
|
1082
|
+
this.decorations = await this._computeDecorations(update.view);
|
|
1083
|
+
} finally {
|
|
1084
|
+
guard.release();
|
|
1085
|
+
}
|
|
1086
|
+
});
|
|
1087
|
+
}
|
|
1088
|
+
}
|
|
1089
|
+
async _computeDecorations(view) {
|
|
1090
|
+
const text = view.state.doc.toString();
|
|
1091
|
+
const references = text.matchAll(new RegExp(`${triggerCharacter}[a-zA-Z0-9@:]+\\s`, "g"));
|
|
1092
|
+
const decorations = [];
|
|
1093
|
+
for (const match of references) {
|
|
1094
|
+
const reference = match[0];
|
|
1095
|
+
const uri = reference.slice(1, -1);
|
|
1096
|
+
const data = await provider.resolveReference({
|
|
1097
|
+
uri
|
|
1098
|
+
});
|
|
1099
|
+
if (data) {
|
|
1100
|
+
decorations.push(Decoration2.replace({
|
|
1101
|
+
widget: new ReferenceWidget(data)
|
|
1102
|
+
}).range(match.index, match.index + reference.length));
|
|
1103
|
+
}
|
|
1104
|
+
}
|
|
1105
|
+
return Decoration2.set(decorations);
|
|
1106
|
+
}
|
|
1107
|
+
}, {
|
|
1108
|
+
decorations: (v) => v.decorations,
|
|
1109
|
+
provide: (plugin) => [
|
|
1110
|
+
EditorView2.atomicRanges.of((view) => view.plugin(decorationField)?.decorations ?? RangeSet.empty)
|
|
1111
|
+
]
|
|
1112
|
+
});
|
|
1113
|
+
return [
|
|
1114
|
+
decorationField,
|
|
1115
|
+
EditorView2.theme({
|
|
1116
|
+
".cm-reference-pill": {
|
|
1117
|
+
borderRadius: "0.25rem",
|
|
1118
|
+
borderWidth: "1px",
|
|
1119
|
+
marginRight: "0.25rem",
|
|
1120
|
+
marginLeft: "0.25rem"
|
|
1121
|
+
}
|
|
1122
|
+
}),
|
|
1123
|
+
autocompletion({
|
|
1124
|
+
activateOnTyping: true,
|
|
1125
|
+
override: [
|
|
1126
|
+
async (context) => {
|
|
1127
|
+
const match = context.matchBefore(new RegExp(`${triggerCharacter}[a-zA-Z0-9]+`));
|
|
1128
|
+
if (!match || match?.to === match?.from) {
|
|
1129
|
+
return null;
|
|
1130
|
+
}
|
|
1131
|
+
const query = match.text.slice(1);
|
|
1132
|
+
const references = await provider.getReferences({
|
|
1133
|
+
query
|
|
1134
|
+
});
|
|
1135
|
+
return {
|
|
1136
|
+
from: match.from,
|
|
1137
|
+
filter: false,
|
|
1138
|
+
options: references.map((reference) => ({
|
|
1139
|
+
label: reference.label,
|
|
1140
|
+
apply: `${triggerCharacter}${reference.uri} `
|
|
1141
|
+
}))
|
|
1142
|
+
};
|
|
1143
|
+
}
|
|
1144
|
+
],
|
|
1145
|
+
closeOnBlur: !debug,
|
|
1146
|
+
tooltipClass: () => "shadow rounded",
|
|
1147
|
+
aboveCursor: true
|
|
1148
|
+
}),
|
|
1149
|
+
keymap2.of(completionKeymap)
|
|
1150
|
+
];
|
|
1151
|
+
};
|
|
1152
|
+
var ReferenceWidget = class extends WidgetType2 {
|
|
1153
|
+
constructor(data) {
|
|
1154
|
+
super();
|
|
1155
|
+
this.data = data;
|
|
1156
|
+
}
|
|
1157
|
+
toDOM() {
|
|
1158
|
+
const span = document.createElement("span");
|
|
1159
|
+
span.textContent = `@ ${this.data.label}`;
|
|
1160
|
+
span.className = "cm-reference-pill";
|
|
1161
|
+
return span;
|
|
1162
|
+
}
|
|
1163
|
+
eq(other) {
|
|
1164
|
+
return other.data.uri === this.data.uri;
|
|
1165
|
+
}
|
|
1166
|
+
ignoreEvent() {
|
|
1167
|
+
return true;
|
|
1168
|
+
}
|
|
1169
|
+
};
|
|
1170
|
+
|
|
1051
1171
|
// packages/plugins/experimental/plugin-assistant/src/components/Prompt/Prompt.tsx
|
|
1052
|
-
var Prompt = /* @__PURE__ */ forwardRef(({ classNames, autoFocus, lineWrapping = false, placeholder, onSubmit, onSuggest, onOpenChange }, forwardRef2) => {
|
|
1172
|
+
var Prompt = /* @__PURE__ */ forwardRef(({ classNames, autoFocus, lineWrapping = false, placeholder, onSubmit, onSuggest, onOpenChange, references }, forwardRef2) => {
|
|
1053
1173
|
const { themeMode } = useThemeContext();
|
|
1054
1174
|
const { parentRef, view } = useTextEditor({
|
|
1175
|
+
debug: true,
|
|
1055
1176
|
autoFocus,
|
|
1056
1177
|
extensions: [
|
|
1057
1178
|
createBasicExtensions({
|
|
@@ -1062,11 +1183,14 @@ var Prompt = /* @__PURE__ */ forwardRef(({ classNames, autoFocus, lineWrapping =
|
|
|
1062
1183
|
createThemeExtensions({
|
|
1063
1184
|
themeMode
|
|
1064
1185
|
}),
|
|
1186
|
+
references ? promptReferences({
|
|
1187
|
+
provider: references
|
|
1188
|
+
}) : [],
|
|
1065
1189
|
createAutocompleteExtension({
|
|
1066
1190
|
onSubmit,
|
|
1067
1191
|
onSuggest
|
|
1068
1192
|
}),
|
|
1069
|
-
|
|
1193
|
+
keymap3.of([
|
|
1070
1194
|
{
|
|
1071
1195
|
key: "Alt-ArrowUp",
|
|
1072
1196
|
preventDefault: true,
|
|
@@ -1115,7 +1239,7 @@ var Prompt = /* @__PURE__ */ forwardRef(({ classNames, autoFocus, lineWrapping =
|
|
|
1115
1239
|
]);
|
|
1116
1240
|
return /* @__PURE__ */ React4.createElement("div", {
|
|
1117
1241
|
ref: parentRef,
|
|
1118
|
-
className: mx3("w-full
|
|
1242
|
+
className: mx3("w-full", classNames)
|
|
1119
1243
|
});
|
|
1120
1244
|
});
|
|
1121
1245
|
|
|
@@ -1125,7 +1249,7 @@ import { useVoiceInput } from "@dxos/plugin-transcription";
|
|
|
1125
1249
|
import { Icon as Icon2, IconButton as IconButton2, Tooltip, useTranslation } from "@dxos/react-ui";
|
|
1126
1250
|
import { Spinner } from "@dxos/react-ui-sfx";
|
|
1127
1251
|
import { errorText, mx as mx4 } from "@dxos/react-ui-theme";
|
|
1128
|
-
var PromptBar = ({ classNames, placeholder, processing, error, microphone, onCancel, ...props }) => {
|
|
1252
|
+
var PromptBar = ({ classNames, placeholder, processing, error, microphone, onCancel, references, ...props }) => {
|
|
1129
1253
|
const { t } = useTranslation(ASSISTANT_PLUGIN);
|
|
1130
1254
|
const promptRef = useRef2(null);
|
|
1131
1255
|
const [active, setActive] = useState3(false);
|
|
@@ -1156,6 +1280,7 @@ var PromptBar = ({ classNames, placeholder, processing, error, microphone, onCan
|
|
|
1156
1280
|
classNames: "pbs-2",
|
|
1157
1281
|
lineWrapping: true,
|
|
1158
1282
|
placeholder: placeholder ?? t("prompt placeholder"),
|
|
1283
|
+
references,
|
|
1159
1284
|
...props
|
|
1160
1285
|
}), (onCancel || microphone) && /* @__PURE__ */ React5.createElement("div", {
|
|
1161
1286
|
className: "flex w-[--rail-action] h-[--rail-action] items-center justify-center"
|
|
@@ -1183,7 +1308,7 @@ var PromptBar = ({ classNames, placeholder, processing, error, microphone, onCan
|
|
|
1183
1308
|
};
|
|
1184
1309
|
|
|
1185
1310
|
// packages/plugins/experimental/plugin-assistant/src/components/Thread/Thread.tsx
|
|
1186
|
-
var Thread = ({ classNames, space, messages, collapse = true, transcription, processing, error, onSubmit, onCancel, onOpenChange, ...props }) => {
|
|
1311
|
+
var Thread = ({ classNames, space, messages, collapse = true, transcription, processing, error, onSubmit, onCancel, onOpenChange, contextProvider, ...props }) => {
|
|
1187
1312
|
const scroller = useRef3(null);
|
|
1188
1313
|
const identity = useIdentity();
|
|
1189
1314
|
const fallbackValue = keyToFallback(identity.identityKey);
|
|
@@ -1209,6 +1334,21 @@ var Thread = ({ classNames, space, messages, collapse = true, transcription, pro
|
|
|
1209
1334
|
messages,
|
|
1210
1335
|
collapse
|
|
1211
1336
|
]);
|
|
1337
|
+
const references = useMemo2(() => {
|
|
1338
|
+
if (!contextProvider) {
|
|
1339
|
+
return void 0;
|
|
1340
|
+
}
|
|
1341
|
+
return {
|
|
1342
|
+
getReferences: async ({ query }) => contextProvider.query({
|
|
1343
|
+
query
|
|
1344
|
+
}),
|
|
1345
|
+
resolveReference: async ({ uri }) => contextProvider.resolveMetadata({
|
|
1346
|
+
uri
|
|
1347
|
+
})
|
|
1348
|
+
};
|
|
1349
|
+
}, [
|
|
1350
|
+
contextProvider
|
|
1351
|
+
]);
|
|
1212
1352
|
return /* @__PURE__ */ React6.createElement("div", {
|
|
1213
1353
|
role: "none",
|
|
1214
1354
|
className: mx5("flex flex-col grow overflow-hidden", classNames)
|
|
@@ -1233,26 +1373,27 @@ var Thread = ({ classNames, space, messages, collapse = true, transcription, pro
|
|
|
1233
1373
|
error,
|
|
1234
1374
|
onSubmit: handleSubmit,
|
|
1235
1375
|
onCancel,
|
|
1236
|
-
onOpenChange
|
|
1376
|
+
onOpenChange,
|
|
1377
|
+
references
|
|
1237
1378
|
}));
|
|
1238
1379
|
};
|
|
1239
1380
|
|
|
1240
1381
|
// packages/plugins/experimental/plugin-assistant/src/components/Thread/ThreadContainer.tsx
|
|
1241
1382
|
import React7, { useCallback as useCallback3 } from "react";
|
|
1242
1383
|
import { invariant as invariant6 } from "@dxos/invariant";
|
|
1243
|
-
import { log as
|
|
1384
|
+
import { log as log10 } from "@dxos/log";
|
|
1244
1385
|
import { getSpace as getSpace2 } from "@dxos/react-client/echo";
|
|
1245
1386
|
|
|
1246
1387
|
// packages/plugins/experimental/plugin-assistant/src/hooks/processor.ts
|
|
1247
1388
|
import { batch, computed, signal } from "@preact/signals-core";
|
|
1248
1389
|
import { Message } from "@dxos/artifact";
|
|
1249
|
-
import { isToolUse, runTools, MixedStreamParser,
|
|
1390
|
+
import { isToolUse, runTools, MixedStreamParser, DEFAULT_EDGE_MODEL } from "@dxos/assistant";
|
|
1250
1391
|
import { createStatic } from "@dxos/echo-schema";
|
|
1251
1392
|
import { invariant as invariant3 } from "@dxos/invariant";
|
|
1252
1393
|
import { log as log5 } from "@dxos/log";
|
|
1253
1394
|
var __dxlog_file6 = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-assistant/src/hooks/processor.ts";
|
|
1254
1395
|
var defaultOptions = {
|
|
1255
|
-
model:
|
|
1396
|
+
model: DEFAULT_EDGE_MODEL,
|
|
1256
1397
|
systemPrompt: "you are a helpful assistant"
|
|
1257
1398
|
};
|
|
1258
1399
|
var ChatProcessor = class {
|
|
@@ -1477,24 +1618,24 @@ var AIServiecOverloadedError = class extends Error {
|
|
|
1477
1618
|
import { useEffect as useEffect3, useMemo as useMemo3, useState as useState4 } from "react";
|
|
1478
1619
|
import { Capabilities as Capabilities2, useCapabilities as useCapabilities2, useCapability, useIntentDispatcher } from "@dxos/app-framework";
|
|
1479
1620
|
import { createSystemPrompt } from "@dxos/artifact";
|
|
1480
|
-
import {
|
|
1481
|
-
import { FunctionType as FunctionType2 } from "@dxos/functions";
|
|
1621
|
+
import { DEFAULT_EDGE_MODEL as DEFAULT_EDGE_MODEL2, DEFAULT_OLLAMA_MODEL } from "@dxos/assistant";
|
|
1622
|
+
import { FunctionType as FunctionType2 } from "@dxos/functions/types";
|
|
1482
1623
|
import { log as log6 } from "@dxos/log";
|
|
1483
1624
|
import { useConfig } from "@dxos/react-client";
|
|
1484
|
-
import { Filter as Filter2, useQuery as useQuery2 } from "@dxos/react-client/echo";
|
|
1625
|
+
import { Filter as Filter2, fullyQualifiedId, useQuery as useQuery2 } from "@dxos/react-client/echo";
|
|
1485
1626
|
import { isNonNullable as isNonNullable2 } from "@dxos/util";
|
|
1486
1627
|
|
|
1487
1628
|
// packages/plugins/experimental/plugin-assistant/src/capabilities/index.ts
|
|
1488
1629
|
import { lazy } from "@dxos/app-framework";
|
|
1489
|
-
var AiClient = lazy(() => import("./ai-client-
|
|
1490
|
-
var AppGraphBuilder = lazy(() => import("./app-graph-builder-
|
|
1491
|
-
var IntentResolver = lazy(() => import("./intent-resolver-
|
|
1492
|
-
var ReactSurface = lazy(() => import("./react-surface-
|
|
1493
|
-
var AssistantSettings = lazy(() => import("./settings-
|
|
1630
|
+
var AiClient = lazy(() => import("./ai-client-BAPVMSNX.mjs"));
|
|
1631
|
+
var AppGraphBuilder = lazy(() => import("./app-graph-builder-DTCUWBKB.mjs"));
|
|
1632
|
+
var IntentResolver = lazy(() => import("./intent-resolver-U57FXP3I.mjs"));
|
|
1633
|
+
var ReactSurface = lazy(() => import("./react-surface-KFLHNDNR.mjs"));
|
|
1634
|
+
var AssistantSettings = lazy(() => import("./settings-VAW6UWFL.mjs"));
|
|
1494
1635
|
|
|
1495
1636
|
// packages/plugins/experimental/plugin-assistant/src/hooks/useChatProcessor.tsx
|
|
1496
1637
|
var __dxlog_file7 = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-assistant/src/hooks/useChatProcessor.tsx";
|
|
1497
|
-
var useChatProcessor = (space, settings) => {
|
|
1638
|
+
var useChatProcessor = ({ chat, space, settings, part = "deck" }) => {
|
|
1498
1639
|
const aiClient = useCapability(AssistantCapabilities.AiClient);
|
|
1499
1640
|
const globalTools = useCapabilities2(Capabilities2.Tools);
|
|
1500
1641
|
const artifactDefinitions = useCapabilities2(Capabilities2.ArtifactDefinition);
|
|
@@ -1504,7 +1645,7 @@ var useChatProcessor = (space, settings) => {
|
|
|
1504
1645
|
useEffect3(() => {
|
|
1505
1646
|
log6("creating service tools...", void 0, {
|
|
1506
1647
|
F: __dxlog_file7,
|
|
1507
|
-
L:
|
|
1648
|
+
L: 41,
|
|
1508
1649
|
S: void 0,
|
|
1509
1650
|
C: (f, a) => f(...a)
|
|
1510
1651
|
});
|
|
@@ -1517,10 +1658,13 @@ var useChatProcessor = (space, settings) => {
|
|
|
1517
1658
|
]);
|
|
1518
1659
|
const config = useConfig();
|
|
1519
1660
|
const functions = useQuery2(space, Filter2.schema(FunctionType2));
|
|
1661
|
+
const chatId = useMemo3(() => chat ? fullyQualifiedId(chat) : void 0, [
|
|
1662
|
+
chat
|
|
1663
|
+
]);
|
|
1520
1664
|
const [tools, extensions] = useMemo3(() => {
|
|
1521
1665
|
log6("creating tools...", void 0, {
|
|
1522
1666
|
F: __dxlog_file7,
|
|
1523
|
-
L:
|
|
1667
|
+
L: 53,
|
|
1524
1668
|
S: void 0,
|
|
1525
1669
|
C: (f, a) => f(...a)
|
|
1526
1670
|
});
|
|
@@ -1532,7 +1676,9 @@ var useChatProcessor = (space, settings) => {
|
|
|
1532
1676
|
];
|
|
1533
1677
|
const extensions2 = {
|
|
1534
1678
|
space,
|
|
1535
|
-
dispatch
|
|
1679
|
+
dispatch,
|
|
1680
|
+
pivotId: chatId,
|
|
1681
|
+
part
|
|
1536
1682
|
};
|
|
1537
1683
|
return [
|
|
1538
1684
|
tools2,
|
|
@@ -1543,6 +1689,7 @@ var useChatProcessor = (space, settings) => {
|
|
|
1543
1689
|
globalTools,
|
|
1544
1690
|
artifactDefinitions,
|
|
1545
1691
|
space,
|
|
1692
|
+
chatId,
|
|
1546
1693
|
serviceTools,
|
|
1547
1694
|
functions
|
|
1548
1695
|
]);
|
|
@@ -1551,37 +1698,36 @@ var useChatProcessor = (space, settings) => {
|
|
|
1551
1698
|
}), [
|
|
1552
1699
|
artifactDefinitions
|
|
1553
1700
|
]);
|
|
1701
|
+
const model = settings?.llmProvider === "ollama" ? settings?.ollamaModel ?? DEFAULT_OLLAMA_MODEL : settings?.edgeModel ?? DEFAULT_EDGE_MODEL2;
|
|
1554
1702
|
const processor = useMemo3(() => {
|
|
1555
1703
|
log6("creating processor...", {
|
|
1556
1704
|
settings
|
|
1557
1705
|
}, {
|
|
1558
1706
|
F: __dxlog_file7,
|
|
1559
|
-
L:
|
|
1707
|
+
L: 84,
|
|
1560
1708
|
S: void 0,
|
|
1561
1709
|
C: (f, a) => f(...a)
|
|
1562
1710
|
});
|
|
1563
|
-
return new ChatProcessor(aiClient, tools, extensions, {
|
|
1564
|
-
|
|
1565
|
-
model: settings?.llmModel ?? DEFAULT_LLM_MODEL2,
|
|
1566
|
-
// TOOD(burdon): Query.
|
|
1711
|
+
return new ChatProcessor(aiClient.value, tools, extensions, {
|
|
1712
|
+
model,
|
|
1567
1713
|
systemPrompt
|
|
1568
1714
|
});
|
|
1569
1715
|
}, [
|
|
1570
|
-
aiClient,
|
|
1716
|
+
aiClient.value,
|
|
1571
1717
|
tools,
|
|
1572
1718
|
extensions,
|
|
1573
|
-
|
|
1574
|
-
|
|
1719
|
+
model,
|
|
1720
|
+
systemPrompt
|
|
1575
1721
|
]);
|
|
1576
1722
|
return processor;
|
|
1577
1723
|
};
|
|
1578
1724
|
|
|
1579
1725
|
// packages/plugins/experimental/plugin-assistant/src/hooks/useLocalTriggerManager.ts
|
|
1580
1726
|
import { useEffect as useEffect4, useState as useState5 } from "react";
|
|
1581
|
-
import { Mutex } from "@dxos/async";
|
|
1727
|
+
import { Mutex as Mutex2 } from "@dxos/async";
|
|
1582
1728
|
import { Context } from "@dxos/context";
|
|
1583
1729
|
import { createSubscriptionTrigger } from "@dxos/functions";
|
|
1584
|
-
import { FunctionTrigger } from "@dxos/functions";
|
|
1730
|
+
import { FunctionTrigger } from "@dxos/functions/types";
|
|
1585
1731
|
import { invariant as invariant5 } from "@dxos/invariant";
|
|
1586
1732
|
import { log as log8 } from "@dxos/log";
|
|
1587
1733
|
import { useClient } from "@dxos/react-client";
|
|
@@ -1590,19 +1736,18 @@ import { Filter as Filter3, useQuery as useQuery3 } from "@dxos/react-client/ech
|
|
|
1590
1736
|
// packages/plugins/experimental/plugin-assistant/src/hooks/invocation-handler.ts
|
|
1591
1737
|
import { sleep } from "@dxos/async";
|
|
1592
1738
|
import { getObjectCore, ResultFormat } from "@dxos/echo-db";
|
|
1593
|
-
import { FunctionType as FunctionType3 } from "@dxos/functions";
|
|
1739
|
+
import { FunctionType as FunctionType3, getUserFunctionUrlInMetadata as getUserFunctionUrlInMetadata2 } from "@dxos/functions/types";
|
|
1594
1740
|
import { invariant as invariant4 } from "@dxos/invariant";
|
|
1595
1741
|
import { DXN, LOCAL_SPACE_TAG } from "@dxos/keys";
|
|
1596
1742
|
import { log as log7 } from "@dxos/log";
|
|
1597
1743
|
|
|
1598
1744
|
// packages/plugins/experimental/plugin-assistant/src/hooks/useLocalTriggerManager.ts
|
|
1599
|
-
var registerTriggersMutex = new
|
|
1745
|
+
var registerTriggersMutex = new Mutex2();
|
|
1600
1746
|
|
|
1601
1747
|
// packages/plugins/experimental/plugin-assistant/src/hooks/useMessageQueue.ts
|
|
1602
1748
|
import { useMemo as useMemo4 } from "react";
|
|
1603
1749
|
import { DXN as DXN2, QueueSubspaceTags } from "@dxos/keys";
|
|
1604
|
-
import { getSpace } from "@dxos/react-client/echo";
|
|
1605
|
-
import { useEdgeClient, useQueue } from "@dxos/react-edge-client";
|
|
1750
|
+
import { getSpace, useQueue } from "@dxos/react-client/echo";
|
|
1606
1751
|
var useMessageQueue = (chat) => {
|
|
1607
1752
|
const space = getSpace(chat);
|
|
1608
1753
|
const queueDxn = useMemo4(() => {
|
|
@@ -1616,8 +1761,7 @@ var useMessageQueue = (chat) => {
|
|
|
1616
1761
|
space,
|
|
1617
1762
|
chat?.queue.dxn
|
|
1618
1763
|
]);
|
|
1619
|
-
|
|
1620
|
-
return useQueue(edgeClient, queueDxn);
|
|
1764
|
+
return useQueue(queueDxn);
|
|
1621
1765
|
};
|
|
1622
1766
|
|
|
1623
1767
|
// packages/plugins/experimental/plugin-assistant/src/hooks/useServices.ts
|
|
@@ -1625,7 +1769,7 @@ import { useEffect as useEffect5, useMemo as useMemo5, useState as useState6 } f
|
|
|
1625
1769
|
|
|
1626
1770
|
// packages/plugins/experimental/plugin-assistant/src/testing/test-functions.ts
|
|
1627
1771
|
import { createSystemPrompt as createSystemPrompt2 } from "@dxos/artifact";
|
|
1628
|
-
import {
|
|
1772
|
+
import { DEFAULT_EDGE_MODEL as DEFAULT_EDGE_MODEL3 } from "@dxos/assistant";
|
|
1629
1773
|
|
|
1630
1774
|
// packages/plugins/experimental/plugin-assistant/src/testing/test-services.ts
|
|
1631
1775
|
import { createStatic as createStatic2 } from "@dxos/echo-schema";
|
|
@@ -1741,11 +1885,67 @@ var useServices = (space, query) => {
|
|
|
1741
1885
|
// packages/plugins/experimental/plugin-assistant/src/hooks/useTextInputEvents.ts
|
|
1742
1886
|
import { useState as useState7, useCallback as useCallback2 } from "react";
|
|
1743
1887
|
|
|
1888
|
+
// packages/plugins/experimental/plugin-assistant/src/hooks/useContextProvider.ts
|
|
1889
|
+
import { useMemo as useMemo6 } from "react";
|
|
1890
|
+
import { Capabilities as Capabilities3, useCapabilities as useCapabilities3 } from "@dxos/app-framework";
|
|
1891
|
+
import { getDXN, getLabel, getSchema } from "@dxos/echo-schema";
|
|
1892
|
+
import { log as log9 } from "@dxos/log";
|
|
1893
|
+
import { Filter as Filter4 } from "@dxos/react-client/echo";
|
|
1894
|
+
var __dxlog_file8 = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-assistant/src/hooks/useContextProvider.ts";
|
|
1895
|
+
var stringMatch = (query, label) => label.toLowerCase().startsWith(query.toLowerCase());
|
|
1896
|
+
var useContextProvider = (space) => {
|
|
1897
|
+
const artifactDefinitions = useCapabilities3(Capabilities3.ArtifactDefinition);
|
|
1898
|
+
return useMemo6(() => {
|
|
1899
|
+
if (!space) {
|
|
1900
|
+
return void 0;
|
|
1901
|
+
}
|
|
1902
|
+
return {
|
|
1903
|
+
query: async ({ query }) => {
|
|
1904
|
+
const artifactSchemas = artifactDefinitions.map((artifact) => artifact.schema);
|
|
1905
|
+
const { objects } = await space.db.query(Filter4.or(...artifactSchemas.map((schema) => Filter4.schema(schema)))).run();
|
|
1906
|
+
return objects.map((object) => {
|
|
1907
|
+
log9.info("object", {
|
|
1908
|
+
object,
|
|
1909
|
+
label: getLabel(getSchema(object), object)
|
|
1910
|
+
}, {
|
|
1911
|
+
F: __dxlog_file8,
|
|
1912
|
+
L: 36,
|
|
1913
|
+
S: void 0,
|
|
1914
|
+
C: (f, a) => f(...a)
|
|
1915
|
+
});
|
|
1916
|
+
return object;
|
|
1917
|
+
}).filter((object) => stringMatch(query, getLabel(getSchema(object), object) ?? "")).filter((object) => !!getDXN(object)).map((object) => ({
|
|
1918
|
+
uri: getDXN(object).toString(),
|
|
1919
|
+
label: getLabel(getSchema(object), object) ?? ""
|
|
1920
|
+
}));
|
|
1921
|
+
},
|
|
1922
|
+
resolveMetadata: async ({ uri }) => {
|
|
1923
|
+
const object = await space.db.query({
|
|
1924
|
+
id: uri
|
|
1925
|
+
}).first();
|
|
1926
|
+
return {
|
|
1927
|
+
uri,
|
|
1928
|
+
label: getLabel(getSchema(object), object) ?? ""
|
|
1929
|
+
};
|
|
1930
|
+
}
|
|
1931
|
+
};
|
|
1932
|
+
}, [
|
|
1933
|
+
space,
|
|
1934
|
+
artifactDefinitions
|
|
1935
|
+
]);
|
|
1936
|
+
};
|
|
1937
|
+
|
|
1744
1938
|
// packages/plugins/experimental/plugin-assistant/src/components/Thread/ThreadContainer.tsx
|
|
1745
|
-
var
|
|
1746
|
-
var ThreadContainer = ({ classNames, chat, settings, onOpenChange, ...props }) => {
|
|
1939
|
+
var __dxlog_file9 = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-assistant/src/components/Thread/ThreadContainer.tsx";
|
|
1940
|
+
var ThreadContainer = ({ classNames, chat, settings, part, onOpenChange, ...props }) => {
|
|
1747
1941
|
const space = getSpace2(chat);
|
|
1748
|
-
const
|
|
1942
|
+
const contextProvider = useContextProvider(space);
|
|
1943
|
+
const processor = useChatProcessor({
|
|
1944
|
+
chat,
|
|
1945
|
+
space,
|
|
1946
|
+
settings,
|
|
1947
|
+
part
|
|
1948
|
+
});
|
|
1749
1949
|
const messageQueue = useMessageQueue(chat);
|
|
1750
1950
|
const messages = [
|
|
1751
1951
|
...messageQueue?.items ?? [],
|
|
@@ -1753,9 +1953,9 @@ var ThreadContainer = ({ classNames, chat, settings, onOpenChange, ...props }) =
|
|
|
1753
1953
|
];
|
|
1754
1954
|
const handleSubmit = useCallback3((text) => {
|
|
1755
1955
|
if (processor.streaming.value) {
|
|
1756
|
-
|
|
1757
|
-
F:
|
|
1758
|
-
L:
|
|
1956
|
+
log10.warn("ignoring submit; still processing.", void 0, {
|
|
1957
|
+
F: __dxlog_file9,
|
|
1958
|
+
L: 41,
|
|
1759
1959
|
S: void 0,
|
|
1760
1960
|
C: (f, a) => f(...a)
|
|
1761
1961
|
});
|
|
@@ -1763,8 +1963,8 @@ var ThreadContainer = ({ classNames, chat, settings, onOpenChange, ...props }) =
|
|
|
1763
1963
|
}
|
|
1764
1964
|
onOpenChange?.(true);
|
|
1765
1965
|
invariant6(messageQueue, void 0, {
|
|
1766
|
-
F:
|
|
1767
|
-
L:
|
|
1966
|
+
F: __dxlog_file9,
|
|
1967
|
+
L: 47,
|
|
1768
1968
|
S: void 0,
|
|
1769
1969
|
A: [
|
|
1770
1970
|
"messageQueue",
|
|
@@ -1801,6 +2001,7 @@ var ThreadContainer = ({ classNames, chat, settings, onOpenChange, ...props }) =
|
|
|
1801
2001
|
onCancel: handleCancel,
|
|
1802
2002
|
onPrompt: handleSubmit,
|
|
1803
2003
|
onOpenChange,
|
|
2004
|
+
contextProvider,
|
|
1804
2005
|
...props
|
|
1805
2006
|
});
|
|
1806
2007
|
};
|
|
@@ -1817,4 +2018,4 @@ export {
|
|
|
1817
2018
|
Thread,
|
|
1818
2019
|
ThreadContainer
|
|
1819
2020
|
};
|
|
1820
|
-
//# sourceMappingURL=chunk-
|
|
2021
|
+
//# sourceMappingURL=chunk-XFUCWOMV.mjs.map
|