@dxos/plugin-assistant 0.8.1 → 0.8.2-main.f081794
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-YSHMAHW5.mjs → AssistantDialog-77B4BSXR.mjs} +2 -2
- package/dist/lib/browser/{ChatContainer-V5GP7DYF.mjs → ChatContainer-4AMJKO3T.mjs} +2 -2
- package/dist/lib/browser/ChatContainer-4AMJKO3T.mjs.map +7 -0
- package/dist/lib/browser/TemplateContainer-WKU5XFSO.mjs +22 -0
- package/dist/lib/browser/TemplateContainer-WKU5XFSO.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-builder-MF5EVDWW.mjs → app-graph-builder-GU6ZWSP4.mjs} +7 -7
- package/dist/lib/browser/app-graph-builder-GU6ZWSP4.mjs.map +7 -0
- package/dist/lib/browser/{chunk-FMB7RGMP.mjs → chunk-FQ4L5NYW.mjs} +43 -18
- package/dist/lib/browser/{chunk-FMB7RGMP.mjs.map → chunk-FQ4L5NYW.mjs.map} +3 -3
- package/dist/lib/browser/{chunk-KYMKVE6M.mjs → chunk-SBFJKCVU.mjs} +78 -18
- package/dist/lib/browser/chunk-SBFJKCVU.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +8 -5
- package/dist/lib/browser/index.mjs.map +2 -2
- package/dist/lib/browser/{intent-resolver-WJGLKKVO.mjs → intent-resolver-YAQELTFQ.mjs} +4 -4
- package/dist/lib/browser/intent-resolver-YAQELTFQ.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-57VRDOQT.mjs → react-surface-JOATHBJ4.mjs} +17 -8
- package/dist/lib/browser/react-surface-JOATHBJ4.mjs.map +7 -0
- package/dist/lib/browser/{settings-U6UFQX32.mjs → settings-PAJLJEVW.mjs} +3 -3
- package/dist/lib/browser/settings-PAJLJEVW.mjs.map +7 -0
- package/dist/lib/node/{AssistantDialog-YI2BSGSX.cjs → AssistantDialog-7V7RRSIL.cjs} +6 -6
- package/dist/lib/node/{ChatContainer-ZJ5JXF6A.cjs → ChatContainer-UWYNOALW.cjs} +6 -6
- package/dist/lib/node/ChatContainer-UWYNOALW.cjs.map +7 -0
- package/dist/lib/node/TemplateContainer-EQXKHWTF.cjs +52 -0
- package/dist/lib/node/TemplateContainer-EQXKHWTF.cjs.map +7 -0
- package/dist/lib/node/{app-graph-builder-N5ZUUI2Z.cjs → app-graph-builder-CEMLCKAF.cjs} +8 -8
- package/dist/lib/node/app-graph-builder-CEMLCKAF.cjs.map +7 -0
- package/dist/lib/node/{chunk-RPBKMP2E.cjs → chunk-ENBPNIJZ.cjs} +57 -32
- package/dist/lib/node/chunk-ENBPNIJZ.cjs.map +7 -0
- package/dist/lib/node/{chunk-ZKOC4ZFY.cjs → chunk-KWBQ5P7D.cjs} +81 -23
- package/dist/lib/node/chunk-KWBQ5P7D.cjs.map +7 -0
- package/dist/lib/node/index.cjs +22 -19
- package/dist/lib/node/index.cjs.map +2 -2
- package/dist/lib/node/{intent-resolver-R3OSTIMH.cjs → intent-resolver-RNMYSJ3E.cjs} +6 -6
- package/dist/lib/node/intent-resolver-RNMYSJ3E.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-surface-NUQTM6MS.cjs → react-surface-7RIXMLMN.cjs} +23 -15
- package/dist/lib/node/react-surface-7RIXMLMN.cjs.map +7 -0
- package/dist/lib/node/{settings-TXGRCYAL.cjs → settings-JBEYMZ4S.cjs} +5 -5
- package/dist/lib/node/settings-JBEYMZ4S.cjs.map +7 -0
- package/dist/lib/node-esm/{AssistantDialog-U2FQX5TD.mjs → AssistantDialog-N24M73FW.mjs} +2 -2
- package/dist/lib/node-esm/{ChatContainer-QW3OOXTT.mjs → ChatContainer-KPWY5UK4.mjs} +2 -2
- package/dist/lib/node-esm/ChatContainer-KPWY5UK4.mjs.map +7 -0
- package/dist/lib/node-esm/TemplateContainer-3LEBT5ZC.mjs +23 -0
- package/dist/lib/node-esm/TemplateContainer-3LEBT5ZC.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-builder-DWBNIMHM.mjs → app-graph-builder-Y45WYAWL.mjs} +7 -7
- package/dist/lib/node-esm/app-graph-builder-Y45WYAWL.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-MVDAY3CZ.mjs → chunk-JE47GNTB.mjs} +43 -18
- package/dist/lib/node-esm/{chunk-MVDAY3CZ.mjs.map → chunk-JE47GNTB.mjs.map} +3 -3
- package/dist/lib/node-esm/{chunk-GBBXIW5F.mjs → chunk-PFWTW22U.mjs} +78 -18
- package/dist/lib/node-esm/chunk-PFWTW22U.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +8 -5
- package/dist/lib/node-esm/index.mjs.map +2 -2
- package/dist/lib/node-esm/{intent-resolver-H32TL4X6.mjs → intent-resolver-V2ZFI5C4.mjs} +4 -4
- package/dist/lib/node-esm/intent-resolver-V2ZFI5C4.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-JBVZF6CP.mjs → react-surface-UUHNOYST.mjs} +17 -8
- package/dist/lib/node-esm/react-surface-UUHNOYST.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-DZU5PNXM.mjs → settings-KAMA6RIY.mjs} +3 -3
- package/dist/lib/node-esm/settings-KAMA6RIY.mjs.map +7 -0
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/components/ChatContainer.d.ts +4 -3
- package/dist/types/src/components/ChatContainer.d.ts.map +1 -1
- package/dist/types/src/components/PromptSettings.d.ts +6 -0
- package/dist/types/src/components/PromptSettings.d.ts.map +1 -0
- package/dist/types/src/components/TemplateContainer.d.ts.map +1 -1
- 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/index.d.ts +2 -5
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/hooks/processor.d.ts.map +1 -1
- package/dist/types/src/hooks/useMessageQueue.d.ts +0 -3
- package/dist/types/src/hooks/useMessageQueue.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +3 -0
- package/dist/types/src/translations.d.ts.map +1 -1
- package/package.json +57 -57
- package/src/capabilities/app-graph-builder.ts +5 -13
- package/src/capabilities/intent-resolver.ts +3 -3
- package/src/capabilities/react-surface.tsx +20 -5
- package/src/capabilities/settings.ts +2 -2
- package/src/components/ChatContainer.tsx +6 -8
- package/src/components/PromptSettings.tsx +91 -0
- package/src/components/TemplateContainer.tsx +3 -79
- package/src/components/TemplateEditor/TemplateEditor.stories.tsx +2 -2
- package/src/components/TemplateEditor/TemplateForm.stories.tsx +2 -2
- package/src/components/Thread/ThreadContainer.stories.tsx +9 -18
- package/src/components/Thread/ThreadContainer.tsx +24 -2
- package/src/components/Toolbox/Toolbox.stories.tsx +1 -1
- package/src/components/index.ts +1 -0
- package/src/hooks/processor.ts +1 -2
- package/src/hooks/useChatProcessor.tsx +1 -1
- package/src/testing/test-services.ts +6 -6
- package/src/translations.ts +4 -3
- package/dist/lib/browser/ChatContainer-V5GP7DYF.mjs.map +0 -7
- package/dist/lib/browser/TemplateContainer-K4EJNGIL.mjs +0 -78
- package/dist/lib/browser/TemplateContainer-K4EJNGIL.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-MF5EVDWW.mjs.map +0 -7
- package/dist/lib/browser/chunk-KYMKVE6M.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-WJGLKKVO.mjs.map +0 -7
- package/dist/lib/browser/react-surface-57VRDOQT.mjs.map +0 -7
- package/dist/lib/browser/settings-U6UFQX32.mjs.map +0 -7
- package/dist/lib/node/ChatContainer-ZJ5JXF6A.cjs.map +0 -7
- package/dist/lib/node/TemplateContainer-XWFYJB4T.cjs +0 -104
- package/dist/lib/node/TemplateContainer-XWFYJB4T.cjs.map +0 -7
- package/dist/lib/node/app-graph-builder-N5ZUUI2Z.cjs.map +0 -7
- package/dist/lib/node/chunk-RPBKMP2E.cjs.map +0 -7
- package/dist/lib/node/chunk-ZKOC4ZFY.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-R3OSTIMH.cjs.map +0 -7
- package/dist/lib/node/react-surface-NUQTM6MS.cjs.map +0 -7
- package/dist/lib/node/settings-TXGRCYAL.cjs.map +0 -7
- package/dist/lib/node-esm/ChatContainer-QW3OOXTT.mjs.map +0 -7
- package/dist/lib/node-esm/TemplateContainer-EUM2X65J.mjs +0 -79
- package/dist/lib/node-esm/TemplateContainer-EUM2X65J.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-DWBNIMHM.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-GBBXIW5F.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-H32TL4X6.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-JBVZF6CP.mjs.map +0 -7
- package/dist/lib/node-esm/settings-DZU5PNXM.mjs.map +0 -7
- /package/dist/lib/browser/{AssistantDialog-YSHMAHW5.mjs.map → AssistantDialog-77B4BSXR.mjs.map} +0 -0
- /package/dist/lib/node/{AssistantDialog-YI2BSGSX.cjs.map → AssistantDialog-7V7RRSIL.cjs.map} +0 -0
- /package/dist/lib/node-esm/{AssistantDialog-U2FQX5TD.mjs.map → AssistantDialog-N24M73FW.mjs.map} +0 -0
|
@@ -16,21 +16,21 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var
|
|
20
|
-
__export(
|
|
19
|
+
var settings_JBEYMZ4S_exports = {};
|
|
20
|
+
__export(settings_JBEYMZ4S_exports, {
|
|
21
21
|
default: () => settings_default
|
|
22
22
|
});
|
|
23
|
-
module.exports = __toCommonJS(
|
|
23
|
+
module.exports = __toCommonJS(settings_JBEYMZ4S_exports);
|
|
24
24
|
var import_chunk_APRU3QWK = require("./chunk-APRU3QWK.cjs");
|
|
25
25
|
var import_chunk_Q5XWEMHB = require("./chunk-Q5XWEMHB.cjs");
|
|
26
26
|
var import_app_framework = require("@dxos/app-framework");
|
|
27
27
|
var import_live_object = require("@dxos/live-object");
|
|
28
28
|
var settings_default = () => {
|
|
29
|
-
const settings = (0, import_live_object.
|
|
29
|
+
const settings = (0, import_live_object.live)({});
|
|
30
30
|
return (0, import_app_framework.contributes)(import_app_framework.Capabilities.Settings, {
|
|
31
31
|
schema: import_chunk_APRU3QWK.AssistantSettingsSchema,
|
|
32
32
|
prefix: import_chunk_Q5XWEMHB.ASSISTANT_PLUGIN,
|
|
33
33
|
value: settings
|
|
34
34
|
});
|
|
35
35
|
};
|
|
36
|
-
//# sourceMappingURL=settings-
|
|
36
|
+
//# sourceMappingURL=settings-JBEYMZ4S.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/settings.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes } from '@dxos/app-framework';\nimport { live } from '@dxos/live-object';\n\nimport { ASSISTANT_PLUGIN } from '../meta';\nimport { type AssistantSettingsProps, AssistantSettingsSchema } from '../types';\n\nexport default () => {\n const settings = live<AssistantSettingsProps>({});\n\n return contributes(Capabilities.Settings, {\n schema: AssistantSettingsSchema,\n prefix: ASSISTANT_PLUGIN,\n value: settings,\n });\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAA0C;AAC1C,yBAAqB;AAKrB,IAAA,mBAAe,MAAA;AACb,QAAMA,eAAWC,yBAA6B,CAAC,CAAA;AAE/C,aAAOC,kCAAYC,kCAAaC,UAAU;IACxCC,QAAQC;IACRC,QAAQC;IACRC,OAAOT;EACT,CAAA;AACF;",
|
|
6
|
+
"names": ["settings", "live", "contributes", "Capabilities", "Settings", "schema", "AssistantSettingsSchema", "prefix", "ASSISTANT_PLUGIN", "value"]
|
|
7
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
ThreadContainer
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-JE47GNTB.mjs";
|
|
5
5
|
import "./chunk-6JK5HEUQ.mjs";
|
|
6
6
|
import "./chunk-MXK2EANZ.mjs";
|
|
7
7
|
import {
|
|
@@ -115,4 +115,4 @@ export {
|
|
|
115
115
|
AssistantDialog,
|
|
116
116
|
AssistantDialog_default as default
|
|
117
117
|
};
|
|
118
|
-
//# sourceMappingURL=AssistantDialog-
|
|
118
|
+
//# sourceMappingURL=AssistantDialog-N24M73FW.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
ThreadContainer
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-JE47GNTB.mjs";
|
|
5
5
|
import "./chunk-6JK5HEUQ.mjs";
|
|
6
6
|
import "./chunk-MXK2EANZ.mjs";
|
|
7
7
|
import {
|
|
@@ -31,4 +31,4 @@ export {
|
|
|
31
31
|
ChatContainer,
|
|
32
32
|
ChatContainer_default as default
|
|
33
33
|
};
|
|
34
|
-
//# sourceMappingURL=ChatContainer-
|
|
34
|
+
//# sourceMappingURL=ChatContainer-KPWY5UK4.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/ChatContainer.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { type FC } from 'react';\n\nimport { Capabilities, useCapabilities, useCapability } from '@dxos/app-framework';\nimport { type AssociatedArtifact } from '@dxos/artifact';\nimport { TranscriptionCapabilities } from '@dxos/plugin-transcription';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport { ThreadContainer } from './Thread';\nimport { ASSISTANT_PLUGIN } from '../meta';\nimport { type AssistantSettingsProps, type AIChatType } from '../types';\n\nexport type ChatContainerProps = {\n role: string;\n chat: AIChatType;\n associatedArtifact?: AssociatedArtifact;\n};\n\n// TODO(burdon): Attention.\nexport const ChatContainer: FC<ChatContainerProps> = ({ role, chat, associatedArtifact }) => {\n const transcription = useCapabilities(TranscriptionCapabilities.Transcriber).length > 0;\n const settings = useCapability(Capabilities.SettingsStore).getStore<AssistantSettingsProps>(ASSISTANT_PLUGIN)?.value;\n\n return (\n <StackItem.Content role={role} classNames='container-max-width'>\n <ThreadContainer\n chat={chat}\n settings={settings}\n transcription={transcription}\n associatedArtifact={associatedArtifact}\n />\n </StackItem.Content>\n );\n};\n\nexport default ChatContainer;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;AAIA,OAAOA,WAAwB;AAE/B,SAASC,cAAcC,iBAAiBC,qBAAqB;AAE7D,SAASC,iCAAiC;AAC1C,SAASC,iBAAiB;AAanB,IAAMC,gBAAwC,CAAC,EAAEC,MAAMC,MAAMC,mBAAkB,MAAE;AACtF,QAAMC,gBAAgBC,gBAAgBC,0BAA0BC,WAAW,EAAEC,SAAS;AACtF,QAAMC,WAAWC,cAAcC,aAAaC,aAAa,EAAEC,SAAiCC,gBAAAA,GAAmBC;AAE/G,SACE,sBAAA,cAACC,UAAUC,SAAO;IAAChB;IAAYiB,YAAW;KACxC,sBAAA,cAACC,iBAAAA;IACCjB;IACAO;IACAL;IACAD;;AAIR;AAEA,IAAA,wBAAeH;",
|
|
6
|
+
"names": ["React", "Capabilities", "useCapabilities", "useCapability", "TranscriptionCapabilities", "StackItem", "ChatContainer", "role", "chat", "associatedArtifact", "transcription", "useCapabilities", "TranscriptionCapabilities", "Transcriber", "length", "settings", "useCapability", "Capabilities", "SettingsStore", "getStore", "ASSISTANT_PLUGIN", "value", "StackItem", "Content", "classNames", "ThreadContainer"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
TemplateEditor
|
|
4
|
+
} from "./chunk-PBZA7XJR.mjs";
|
|
5
|
+
import "./chunk-ECRK6TUQ.mjs";
|
|
6
|
+
|
|
7
|
+
// packages/plugins/plugin-assistant/src/components/TemplateContainer.tsx
|
|
8
|
+
import React from "react";
|
|
9
|
+
import { StackItem } from "@dxos/react-ui-stack";
|
|
10
|
+
var TemplateContainer = ({ template, role }) => {
|
|
11
|
+
return /* @__PURE__ */ React.createElement(StackItem.Content, {
|
|
12
|
+
role,
|
|
13
|
+
classNames: "container-max-width"
|
|
14
|
+
}, /* @__PURE__ */ React.createElement(TemplateEditor, {
|
|
15
|
+
template
|
|
16
|
+
}));
|
|
17
|
+
};
|
|
18
|
+
var TemplateContainer_default = TemplateContainer;
|
|
19
|
+
export {
|
|
20
|
+
TemplateContainer,
|
|
21
|
+
TemplateContainer_default as default
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=TemplateContainer-3LEBT5ZC.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/TemplateContainer.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport { TemplateEditor } from './TemplateEditor';\nimport { type TemplateType } from '../types';\n\nexport const TemplateContainer = ({ template, role }: { template: TemplateType; role: string }) => {\n return (\n <StackItem.Content role={role} classNames='container-max-width'>\n <TemplateEditor template={template} />\n </StackItem.Content>\n );\n};\n\nexport default TemplateContainer;\n"],
|
|
5
|
+
"mappings": ";;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,iBAAiB;AAKnB,IAAMC,oBAAoB,CAAC,EAAEC,UAAUC,KAAI,MAA4C;AAC5F,SACE,sBAAA,cAACC,UAAUC,SAAO;IAACF;IAAYG,YAAW;KACxC,sBAAA,cAACC,gBAAAA;IAAeL;;AAGtB;AAEA,IAAA,4BAAeD;",
|
|
6
|
+
"names": ["React", "StackItem", "TemplateContainer", "template", "role", "StackItem", "Content", "classNames", "TemplateEditor"]
|
|
7
|
+
}
|
|
@@ -16,8 +16,8 @@ import { ClientCapabilities } from "@dxos/plugin-client";
|
|
|
16
16
|
import { PLANK_COMPANION_TYPE, ATTENDABLE_PATH_SEPARATOR, DECK_COMPANION_TYPE } from "@dxos/plugin-deck/types";
|
|
17
17
|
import { createExtension, ROOT_ID } from "@dxos/plugin-graph";
|
|
18
18
|
import { memoizeQuery } from "@dxos/plugin-space";
|
|
19
|
-
import { SpaceAction } from "@dxos/plugin-space/types";
|
|
20
|
-
import { Filter, fullyQualifiedId, getSpace,
|
|
19
|
+
import { SPACE_TYPE, SpaceAction } from "@dxos/plugin-space/types";
|
|
20
|
+
import { Filter, fullyQualifiedId, getSpace, isLiveObject, parseId } from "@dxos/react-client/echo";
|
|
21
21
|
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assistant/src/capabilities/app-graph-builder.ts";
|
|
22
22
|
var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBuilder, [
|
|
23
23
|
createExtension({
|
|
@@ -109,7 +109,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
|
|
|
109
109
|
}),
|
|
110
110
|
createExtension({
|
|
111
111
|
id: `${ASSISTANT_PLUGIN}/object-chat-companion`,
|
|
112
|
-
filter: (node) =>
|
|
112
|
+
filter: (node) => isLiveObject(node.data) && node.data.assistantChatQueue && node.data.type !== AIChatType.typename,
|
|
113
113
|
connector: ({ node }) => [
|
|
114
114
|
{
|
|
115
115
|
id: [
|
|
@@ -133,7 +133,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
|
|
|
133
133
|
}),
|
|
134
134
|
createExtension({
|
|
135
135
|
id: `${ASSISTANT_PLUGIN}/root`,
|
|
136
|
-
filter: (node) =>
|
|
136
|
+
filter: (node) => node.type === SPACE_TYPE,
|
|
137
137
|
connector: ({ node }) => {
|
|
138
138
|
const templates = memoizeQuery(node.data, Filter.schema(TemplateType));
|
|
139
139
|
return templates.length > 0 ? [
|
|
@@ -170,7 +170,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
|
|
|
170
170
|
data: template,
|
|
171
171
|
properties: {
|
|
172
172
|
label: template.name ?? [
|
|
173
|
-
"
|
|
173
|
+
"object placeholder",
|
|
174
174
|
{
|
|
175
175
|
ns: ASSISTANT_PLUGIN
|
|
176
176
|
}
|
|
@@ -191,7 +191,7 @@ var getOrCreateChat = async (dispatch, space) => {
|
|
|
191
191
|
}));
|
|
192
192
|
invariant(data?.object instanceof AIChatType, void 0, {
|
|
193
193
|
F: __dxlog_file,
|
|
194
|
-
L:
|
|
194
|
+
L: 184,
|
|
195
195
|
S: void 0,
|
|
196
196
|
A: [
|
|
197
197
|
"data?.object instanceof AIChatType",
|
|
@@ -207,4 +207,4 @@ var getOrCreateChat = async (dispatch, space) => {
|
|
|
207
207
|
export {
|
|
208
208
|
app_graph_builder_default as default
|
|
209
209
|
};
|
|
210
|
-
//# sourceMappingURL=app-graph-builder-
|
|
210
|
+
//# sourceMappingURL=app-graph-builder-Y45WYAWL.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/app-graph-builder.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport {\n Capabilities,\n contributes,\n createIntent,\n LayoutAction,\n type PromiseIntentDispatcher,\n type PluginsContext,\n} from '@dxos/app-framework';\nimport { invariant } from '@dxos/invariant';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { PLANK_COMPANION_TYPE, ATTENDABLE_PATH_SEPARATOR, DECK_COMPANION_TYPE } from '@dxos/plugin-deck/types';\nimport { createExtension, type Node, ROOT_ID } from '@dxos/plugin-graph';\nimport { memoizeQuery } from '@dxos/plugin-space';\nimport { SPACE_TYPE, SpaceAction } from '@dxos/plugin-space/types';\nimport { type Space, Filter, fullyQualifiedId, getSpace, isLiveObject, parseId } from '@dxos/react-client/echo';\n\nimport { ASSISTANT_DIALOG, ASSISTANT_PLUGIN } from '../meta';\nimport { AIChatType, AssistantAction, TemplateType } from '../types';\n\nexport default (context: PluginsContext) =>\n contributes(Capabilities.AppGraphBuilder, [\n createExtension({\n id: `${ASSISTANT_PLUGIN}/assistant`,\n filter: (node): node is Node<null> => node.id === ROOT_ID,\n actions: () => [\n {\n id: `${LayoutAction.UpdateDialog._tag}/assistant/open`,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const client = context.requestCapability(ClientCapabilities.Client);\n const layout = context.requestCapability(Capabilities.Layout);\n const { graph } = context.requestCapability(Capabilities.AppGraph);\n\n // TODO(burdon): Get space from workspace.\n // TODO(burdon): If need to create chat, then add to dispatch stack below.\n let chat: AIChatType | undefined;\n if (layout.active.length > 0) {\n const node = graph.findNode(layout.active[0]);\n if (node) {\n const space = getSpace(node.data);\n if (space) {\n chat = await getOrCreateChat(dispatch, space);\n }\n }\n } else {\n const space = client.spaces.default;\n chat = await getOrCreateChat(dispatch, space);\n }\n\n if (!chat) {\n return;\n }\n\n await dispatch(\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n subject: ASSISTANT_DIALOG,\n options: {\n state: true,\n blockAlign: 'end',\n props: {\n chat,\n },\n },\n }),\n );\n },\n properties: {\n label: ['open assistant label', { ns: ASSISTANT_PLUGIN }],\n icon: 'ph--star-four--regular',\n disposition: 'pin-end',\n position: 'hoist',\n keyBinding: {\n macos: 'shift+meta+k',\n windows: 'shift+ctrl+k',\n },\n },\n },\n ],\n }),\n\n createExtension({\n id: `${ASSISTANT_PLUGIN}/service-registry`,\n filter: (node): node is Node<null> => node.id === 'root',\n connector: ({ node }) => {\n const layout = context.requestCapability(Capabilities.Layout);\n const client = context.requestCapability(ClientCapabilities.Client);\n const { spaceId } = parseId(layout.workspace);\n const space = spaceId ? client.spaces.get(spaceId) : null;\n\n return [\n {\n id: [node.id, 'service-registry'].join(ATTENDABLE_PATH_SEPARATOR),\n type: DECK_COMPANION_TYPE,\n data: space,\n properties: {\n label: ['service registry label', { ns: ASSISTANT_PLUGIN }],\n icon: 'ph--plugs--regular',\n disposition: 'hidden',\n },\n },\n ];\n },\n }),\n\n createExtension({\n id: `${ASSISTANT_PLUGIN}/object-chat-companion`,\n filter: (node): node is Node<AIChatType> =>\n isLiveObject(node.data) && node.data.assistantChatQueue && node.data.type !== AIChatType.typename,\n connector: ({ node }) => [\n {\n id: [node.id, 'assistant-chat'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'assistant-chat',\n properties: {\n label: ['assistant chat label', { ns: ASSISTANT_PLUGIN }],\n icon: 'ph--star-four--regular',\n position: 'hoist',\n },\n },\n ],\n }),\n\n createExtension({\n id: `${ASSISTANT_PLUGIN}/root`,\n filter: (node): node is Node<Space> => node.type === SPACE_TYPE,\n connector: ({ node }) => {\n const templates = memoizeQuery(node.data, Filter.schema(TemplateType));\n return templates.length > 0\n ? [\n {\n id: `${ASSISTANT_PLUGIN}/templates`,\n type: `${ASSISTANT_PLUGIN}/templates`,\n data: null,\n properties: {\n label: ['templates label', { ns: ASSISTANT_PLUGIN }],\n icon: 'ph--file-code--regular',\n space: node.data,\n },\n },\n ]\n : [];\n },\n }),\n\n createExtension({\n id: `${ASSISTANT_PLUGIN}/templates`,\n filter: (node): node is Node<null, { space: Space }> => node.id === `${ASSISTANT_PLUGIN}/templates`,\n connector: ({ node }) => {\n const templates = memoizeQuery(node.properties.space, Filter.schema(TemplateType));\n return templates\n .toSorted((a, b) => {\n const nameA = a.name ?? '';\n const nameB = b.name ?? '';\n return nameA.localeCompare(nameB);\n })\n .map((template) => ({\n id: fullyQualifiedId(template),\n type: `${ASSISTANT_PLUGIN}/template`,\n data: template,\n properties: {\n label: template.name ?? ['object placeholder', { ns: ASSISTANT_PLUGIN }],\n icon: 'ph--file-code--regular',\n },\n }));\n },\n }),\n ]);\n\n// TODO(burdon): Factor out.\nconst getOrCreateChat = async (dispatch: PromiseIntentDispatcher, space: Space): Promise<AIChatType | undefined> => {\n const { objects } = await space.db.query(Filter.schema(AIChatType)).run();\n // console.log('objects', JSON.stringify(objects, null, 2));\n if (objects.length > 0) {\n // TODO(burdon): Is this the most recent?\n return objects[objects.length - 1];\n }\n\n const { data } = await dispatch(createIntent(AssistantAction.CreateChat, { spaceId: space.id }));\n invariant(data?.object instanceof AIChatType);\n await dispatch(createIntent(SpaceAction.AddObject, { target: space, object: data.object }));\n return data.object;\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Capabilities", "contributes", "createIntent", "LayoutAction", "invariant", "ClientCapabilities", "PLANK_COMPANION_TYPE", "ATTENDABLE_PATH_SEPARATOR", "DECK_COMPANION_TYPE", "createExtension", "ROOT_ID", "memoizeQuery", "SPACE_TYPE", "SpaceAction", "Filter", "fullyQualifiedId", "getSpace", "isLiveObject", "parseId", "context", "contributes", "Capabilities", "AppGraphBuilder", "createExtension", "id", "ASSISTANT_PLUGIN", "filter", "node", "ROOT_ID", "actions", "LayoutAction", "UpdateDialog", "_tag", "data", "dispatchPromise", "dispatch", "requestCapability", "IntentDispatcher", "client", "ClientCapabilities", "Client", "layout", "Layout", "graph", "AppGraph", "chat", "active", "length", "findNode", "space", "getSpace", "getOrCreateChat", "spaces", "default", "createIntent", "part", "subject", "ASSISTANT_DIALOG", "options", "state", "blockAlign", "props", "properties", "label", "ns", "icon", "disposition", "position", "keyBinding", "macos", "windows", "connector", "spaceId", "parseId", "workspace", "get", "join", "ATTENDABLE_PATH_SEPARATOR", "type", "DECK_COMPANION_TYPE", "isLiveObject", "assistantChatQueue", "AIChatType", "typename", "PLANK_COMPANION_TYPE", "SPACE_TYPE", "templates", "memoizeQuery", "Filter", "schema", "TemplateType", "toSorted", "a", "b", "nameA", "name", "nameB", "localeCompare", "map", "template", "fullyQualifiedId", "objects", "db", "query", "run", "AssistantAction", "CreateChat", "invariant", "object", "SpaceAction", "AddObject", "target"]
|
|
7
|
+
}
|
|
@@ -1381,8 +1381,11 @@ var Thread = ({ classNames, space, messages, collapse = true, transcription, pro
|
|
|
1381
1381
|
};
|
|
1382
1382
|
|
|
1383
1383
|
// packages/plugins/plugin-assistant/src/components/Thread/ThreadContainer.tsx
|
|
1384
|
-
import React7, { useCallback as useCallback3 } from "react";
|
|
1384
|
+
import React7, { useCallback as useCallback3, useEffect as useEffect6 } from "react";
|
|
1385
|
+
import { CollaborationActions, createIntent, useIntentDispatcher as useIntentDispatcher2 } from "@dxos/app-framework";
|
|
1385
1386
|
import { invariant as invariant6 } from "@dxos/invariant";
|
|
1387
|
+
import { DXN as DXN3 } from "@dxos/keys";
|
|
1388
|
+
import { makeRef, refFromDXN } from "@dxos/live-object";
|
|
1386
1389
|
import { log as log10 } from "@dxos/log";
|
|
1387
1390
|
import { getSpace as getSpace2 } from "@dxos/react-client/echo";
|
|
1388
1391
|
|
|
@@ -1484,7 +1487,7 @@ var ChatProcessor = class {
|
|
|
1484
1487
|
model: this._options.model
|
|
1485
1488
|
}
|
|
1486
1489
|
});
|
|
1487
|
-
log5
|
|
1490
|
+
log5("completed", {
|
|
1488
1491
|
messages
|
|
1489
1492
|
}, {
|
|
1490
1493
|
F: __dxlog_file6,
|
|
@@ -1496,7 +1499,7 @@ var ChatProcessor = class {
|
|
|
1496
1499
|
} catch (err) {
|
|
1497
1500
|
log5.catch(err, void 0, {
|
|
1498
1501
|
F: __dxlog_file6,
|
|
1499
|
-
L:
|
|
1502
|
+
L: 140,
|
|
1500
1503
|
S: this,
|
|
1501
1504
|
C: (f, a) => f(...a)
|
|
1502
1505
|
});
|
|
@@ -1521,7 +1524,7 @@ var ChatProcessor = class {
|
|
|
1521
1524
|
async cancel() {
|
|
1522
1525
|
log5.info("cancelling...", void 0, {
|
|
1523
1526
|
F: __dxlog_file6,
|
|
1524
|
-
L:
|
|
1527
|
+
L: 158,
|
|
1525
1528
|
S: this,
|
|
1526
1529
|
C: (f, a) => f(...a)
|
|
1527
1530
|
});
|
|
@@ -1558,10 +1561,10 @@ import { isNonNullable as isNonNullable2 } from "@dxos/util";
|
|
|
1558
1561
|
// packages/plugins/plugin-assistant/src/capabilities/index.ts
|
|
1559
1562
|
import { lazy } from "@dxos/app-framework";
|
|
1560
1563
|
var AiClient = lazy(() => import("./ai-client-WMHS5EGV.mjs"));
|
|
1561
|
-
var AppGraphBuilder = lazy(() => import("./app-graph-builder-
|
|
1562
|
-
var IntentResolver = lazy(() => import("./intent-resolver-
|
|
1563
|
-
var ReactSurface = lazy(() => import("./react-surface-
|
|
1564
|
-
var AssistantSettings = lazy(() => import("./settings-
|
|
1564
|
+
var AppGraphBuilder = lazy(() => import("./app-graph-builder-Y45WYAWL.mjs"));
|
|
1565
|
+
var IntentResolver = lazy(() => import("./intent-resolver-V2ZFI5C4.mjs"));
|
|
1566
|
+
var ReactSurface = lazy(() => import("./react-surface-UUHNOYST.mjs"));
|
|
1567
|
+
var AssistantSettings = lazy(() => import("./settings-KAMA6RIY.mjs"));
|
|
1565
1568
|
|
|
1566
1569
|
// packages/plugins/plugin-assistant/src/hooks/useChatProcessor.tsx
|
|
1567
1570
|
var __dxlog_file7 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assistant/src/hooks/useChatProcessor.tsx";
|
|
@@ -1646,6 +1649,7 @@ ${definition.instructions}`),
|
|
|
1646
1649
|
}, [
|
|
1647
1650
|
aiClient.value,
|
|
1648
1651
|
tools,
|
|
1652
|
+
artifactDefinitions,
|
|
1649
1653
|
extensions,
|
|
1650
1654
|
model,
|
|
1651
1655
|
systemPrompt
|
|
@@ -1703,7 +1707,7 @@ import { createSystemPrompt as createSystemPrompt2 } from "@dxos/artifact";
|
|
|
1703
1707
|
import { DEFAULT_EDGE_MODEL as DEFAULT_EDGE_MODEL3 } from "@dxos/assistant";
|
|
1704
1708
|
|
|
1705
1709
|
// packages/plugins/plugin-assistant/src/testing/test-services.ts
|
|
1706
|
-
import {
|
|
1710
|
+
import { create } from "@dxos/echo-schema";
|
|
1707
1711
|
var MockServiceRegistry = class {
|
|
1708
1712
|
async queryServices(query) {
|
|
1709
1713
|
return TEST_SERVICES;
|
|
@@ -1725,7 +1729,7 @@ var VISUAL_CROSSING_CREDENTIALS = {
|
|
|
1725
1729
|
}
|
|
1726
1730
|
};
|
|
1727
1731
|
var TEST_SERVICES = [
|
|
1728
|
-
|
|
1732
|
+
create(ServiceType, {
|
|
1729
1733
|
serviceId: "amadeus.com/service/FlightSearch",
|
|
1730
1734
|
name: "Amadeus Flight Search",
|
|
1731
1735
|
description: "Search for local and international flights.",
|
|
@@ -1738,7 +1742,7 @@ var TEST_SERVICES = [
|
|
|
1738
1742
|
}
|
|
1739
1743
|
]
|
|
1740
1744
|
}),
|
|
1741
|
-
|
|
1745
|
+
create(ServiceType, {
|
|
1742
1746
|
serviceId: "amadeus.com/service/HotelSearch",
|
|
1743
1747
|
name: "Amadeus Hotel Search",
|
|
1744
1748
|
description: "Search for local and international hotels.",
|
|
@@ -1751,7 +1755,7 @@ var TEST_SERVICES = [
|
|
|
1751
1755
|
}
|
|
1752
1756
|
]
|
|
1753
1757
|
}),
|
|
1754
|
-
|
|
1758
|
+
create(ServiceType, {
|
|
1755
1759
|
serviceId: "visualcrossing.com/service/Weather",
|
|
1756
1760
|
name: "Visual Crossing Weather",
|
|
1757
1761
|
description: "Search for global weather forecasts.",
|
|
@@ -1765,7 +1769,7 @@ var TEST_SERVICES = [
|
|
|
1765
1769
|
]
|
|
1766
1770
|
}),
|
|
1767
1771
|
// TODO(burdon): Needs auth.
|
|
1768
|
-
|
|
1772
|
+
create(ServiceType, {
|
|
1769
1773
|
serviceId: "abstractapi.com/service/GeoLocation",
|
|
1770
1774
|
name: "Abstract GeoLocation",
|
|
1771
1775
|
description: "Get the location of any IP address.",
|
|
@@ -1782,7 +1786,7 @@ var TEST_SERVICES = [
|
|
|
1782
1786
|
//
|
|
1783
1787
|
...Array.from({
|
|
1784
1788
|
length: 20
|
|
1785
|
-
}, (_, i) =>
|
|
1789
|
+
}, (_, i) => create(ServiceType, {
|
|
1786
1790
|
serviceId: `example.com/service/test-${i}`,
|
|
1787
1791
|
name: `Test ${i}`,
|
|
1788
1792
|
description: `Test ${i}`,
|
|
@@ -1879,15 +1883,36 @@ var ThreadContainer = ({ classNames, chat, settings, part, associatedArtifact, o
|
|
|
1879
1883
|
associatedArtifact
|
|
1880
1884
|
});
|
|
1881
1885
|
const messageQueue = useMessageQueue(chat);
|
|
1886
|
+
const { dispatchPromise: dispatch } = useIntentDispatcher2();
|
|
1882
1887
|
const messages = [
|
|
1883
1888
|
...messageQueue?.items ?? [],
|
|
1884
1889
|
...processor.messages.value
|
|
1885
1890
|
];
|
|
1891
|
+
useEffect6(() => {
|
|
1892
|
+
if (!processor.streaming.value && messageQueue?.items) {
|
|
1893
|
+
const message = messageQueue.items[messageQueue.items.length - 1];
|
|
1894
|
+
if (space && chat && message && dispatch && associatedArtifact) {
|
|
1895
|
+
void dispatch(createIntent(CollaborationActions.InsertContent, {
|
|
1896
|
+
spaceId: space.id,
|
|
1897
|
+
target: makeRef(associatedArtifact),
|
|
1898
|
+
object: refFromDXN(new DXN3(DXN3.kind.QUEUE, [
|
|
1899
|
+
...chat.assistantChatQueue.dxn.parts,
|
|
1900
|
+
message.id
|
|
1901
|
+
])),
|
|
1902
|
+
label: "View proposal"
|
|
1903
|
+
}));
|
|
1904
|
+
}
|
|
1905
|
+
}
|
|
1906
|
+
}, [
|
|
1907
|
+
messageQueue,
|
|
1908
|
+
associatedArtifact,
|
|
1909
|
+
processor.streaming.value
|
|
1910
|
+
]);
|
|
1886
1911
|
const handleSubmit = useCallback3((text) => {
|
|
1887
1912
|
if (processor.streaming.value) {
|
|
1888
1913
|
log10.warn("ignoring submit; still processing.", void 0, {
|
|
1889
1914
|
F: __dxlog_file9,
|
|
1890
|
-
L:
|
|
1915
|
+
L: 66,
|
|
1891
1916
|
S: void 0,
|
|
1892
1917
|
C: (f, a) => f(...a)
|
|
1893
1918
|
});
|
|
@@ -1896,7 +1921,7 @@ var ThreadContainer = ({ classNames, chat, settings, part, associatedArtifact, o
|
|
|
1896
1921
|
onOpenChange?.(true);
|
|
1897
1922
|
invariant6(messageQueue, void 0, {
|
|
1898
1923
|
F: __dxlog_file9,
|
|
1899
|
-
L:
|
|
1924
|
+
L: 72,
|
|
1900
1925
|
S: void 0,
|
|
1901
1926
|
A: [
|
|
1902
1927
|
"messageQueue",
|
|
@@ -1929,11 +1954,11 @@ var ThreadContainer = ({ classNames, chat, settings, part, associatedArtifact, o
|
|
|
1929
1954
|
processing: processor.streaming.value,
|
|
1930
1955
|
error: processor.error.value,
|
|
1931
1956
|
tools: processor.tools,
|
|
1957
|
+
contextProvider,
|
|
1932
1958
|
onSubmit: handleSubmit,
|
|
1933
1959
|
onCancel: handleCancel,
|
|
1934
1960
|
onPrompt: handleSubmit,
|
|
1935
1961
|
onOpenChange,
|
|
1936
|
-
contextProvider,
|
|
1937
1962
|
...props
|
|
1938
1963
|
});
|
|
1939
1964
|
};
|
|
@@ -1950,4 +1975,4 @@ export {
|
|
|
1950
1975
|
Thread,
|
|
1951
1976
|
ThreadContainer
|
|
1952
1977
|
};
|
|
1953
|
-
//# sourceMappingURL=chunk-
|
|
1978
|
+
//# sourceMappingURL=chunk-JE47GNTB.mjs.map
|