@dxos/plugin-assistant 0.8.2 → 0.8.3-main.672df60
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-K6POM23O.mjs → AssistantDialog-UAZSN6GT.mjs} +3 -3
- package/dist/lib/browser/BlueprintEditor-DGV4KJDM.mjs +45 -0
- package/dist/lib/browser/BlueprintEditor-DGV4KJDM.mjs.map +7 -0
- package/dist/lib/browser/{ChatContainer-QTO4LE2C.mjs → ChatContainer-UTN3AO5U.mjs} +3 -3
- package/dist/lib/browser/{app-graph-builder-YH4EGNBC.mjs → app-graph-builder-56OZ5RW4.mjs} +2 -2
- package/dist/lib/browser/{chunk-USJBRB3H.mjs → chunk-6SD7S7W5.mjs} +6 -4
- package/dist/lib/browser/{chunk-USJBRB3H.mjs.map → chunk-6SD7S7W5.mjs.map} +3 -3
- package/dist/lib/browser/{chunk-IHEBFO5O.mjs → chunk-NBSPGIHL.mjs} +5 -4
- package/dist/lib/browser/{chunk-IHEBFO5O.mjs.map → chunk-NBSPGIHL.mjs.map} +3 -3
- package/dist/lib/browser/{chunk-QTW7KVDO.mjs → chunk-Q6XE3O3E.mjs} +36 -12
- package/dist/lib/browser/{chunk-QTW7KVDO.mjs.map → chunk-Q6XE3O3E.mjs.map} +4 -4
- package/dist/lib/browser/index.mjs +15 -8
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-63EAHENI.mjs → intent-resolver-GWELYIX2.mjs} +7 -10
- package/dist/lib/browser/intent-resolver-GWELYIX2.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-XCV6NR75.mjs → react-surface-DGS34EON.mjs} +23 -10
- package/dist/lib/browser/react-surface-DGS34EON.mjs.map +7 -0
- package/dist/lib/browser/{settings-SHNQ4XXP.mjs → settings-BTFB7IQ6.mjs} +2 -2
- package/dist/lib/browser/types/index.mjs +1 -1
- package/dist/lib/node/{AssistantDialog-FDATKYE5.cjs → AssistantDialog-RTB5Q7FP.cjs} +7 -7
- package/dist/lib/node/BlueprintEditor-43VM3XPO.cjs +72 -0
- package/dist/lib/node/BlueprintEditor-43VM3XPO.cjs.map +7 -0
- package/dist/lib/node/{ChatContainer-5CLHJOIQ.cjs → ChatContainer-P3JL4VZ7.cjs} +7 -7
- package/dist/lib/node/{app-graph-builder-PSHIOW3Q.cjs → app-graph-builder-QLF353LH.cjs} +11 -11
- package/dist/lib/node/{chunk-FLJWJ35M.cjs → chunk-BWL5A3O5.cjs} +12 -9
- package/dist/lib/node/{chunk-FLJWJ35M.cjs.map → chunk-BWL5A3O5.cjs.map} +3 -3
- package/dist/lib/node/{chunk-H4A42LNR.cjs → chunk-PG7YNQ4R.cjs} +45 -21
- package/dist/lib/node/chunk-PG7YNQ4R.cjs.map +7 -0
- package/dist/lib/node/{chunk-RXPA2C2A.cjs → chunk-UNVDZOLA.cjs} +8 -7
- package/dist/lib/node/{chunk-RXPA2C2A.cjs.map → chunk-UNVDZOLA.cjs.map} +3 -3
- package/dist/lib/node/index.cjs +52 -45
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/{intent-resolver-66F7WLW6.cjs → intent-resolver-U7663JU7.cjs} +11 -13
- package/dist/lib/node/intent-resolver-U7663JU7.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-surface-TASAPRPQ.cjs → react-surface-QXZTILW6.cjs} +37 -25
- package/dist/lib/node/react-surface-QXZTILW6.cjs.map +7 -0
- package/dist/lib/node/{settings-ERKLO6IO.cjs → settings-LBJMT6YB.cjs} +6 -6
- package/dist/lib/node/types/index.cjs +14 -14
- package/dist/lib/node/types/index.cjs.map +1 -1
- package/dist/lib/node-esm/{AssistantDialog-PIMYK774.mjs → AssistantDialog-DONAO6SA.mjs} +3 -3
- package/dist/lib/node-esm/BlueprintEditor-CTARB2FO.mjs +47 -0
- package/dist/lib/node-esm/BlueprintEditor-CTARB2FO.mjs.map +7 -0
- package/dist/lib/node-esm/{ChatContainer-QTC5NYE2.mjs → ChatContainer-FVIGCDIG.mjs} +3 -3
- package/dist/lib/node-esm/{app-graph-builder-Z3GMMJMD.mjs → app-graph-builder-5YX5TKKT.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-QU626JMR.mjs → chunk-GJE4WCUJ.mjs} +6 -4
- package/dist/lib/node-esm/{chunk-QU626JMR.mjs.map → chunk-GJE4WCUJ.mjs.map} +3 -3
- package/dist/lib/node-esm/{chunk-SI5LOQEO.mjs → chunk-MNH6E6EB.mjs} +36 -12
- package/dist/lib/node-esm/{chunk-SI5LOQEO.mjs.map → chunk-MNH6E6EB.mjs.map} +4 -4
- package/dist/lib/node-esm/{chunk-ZKBACPIW.mjs → chunk-TQYSF2GS.mjs} +5 -4
- package/dist/lib/node-esm/{chunk-ZKBACPIW.mjs.map → chunk-TQYSF2GS.mjs.map} +3 -3
- package/dist/lib/node-esm/index.mjs +15 -8
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-X3PWH7KM.mjs → intent-resolver-N5TM3RTL.mjs} +7 -10
- package/dist/lib/node-esm/intent-resolver-N5TM3RTL.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-QMIQCXUM.mjs → react-surface-FTKGQQD2.mjs} +23 -10
- package/dist/lib/node-esm/react-surface-FTKGQQD2.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-IVQRZUCU.mjs → settings-TGCCAH5D.mjs} +2 -2
- package/dist/lib/node-esm/types/index.mjs +1 -1
- package/dist/types/src/AssistantPlugin.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/BlueprintEditor/BlueprintEditor.d.ts +2 -2
- package/dist/types/src/components/BlueprintEditor/BlueprintEditor.d.ts.map +1 -1
- package/dist/types/src/components/BlueprintEditor/index.d.ts +2 -1
- package/dist/types/src/components/BlueprintEditor/index.d.ts.map +1 -1
- package/dist/types/src/components/Prompt/Prompt.stories.d.ts.map +1 -1
- package/dist/types/src/components/Prompt/PromptBar.stories.d.ts.map +1 -1
- package/dist/types/src/components/Thread/ThreadMessage.d.ts +2 -2
- package/dist/types/src/components/Thread/ThreadMessage.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +1 -0
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useContextProvider.d.ts.map +1 -1
- package/dist/types/src/stories/Prompt.stories.d.ts.map +1 -1
- package/dist/types/src/stories/Query.stories.d.ts.map +1 -1
- package/dist/types/src/stories/Research.stories.d.ts.map +1 -1
- package/dist/types/src/stories/testing.d.ts.map +1 -1
- package/dist/types/src/testing/index.d.ts +1 -1
- package/dist/types/src/testing/index.d.ts.map +1 -1
- package/dist/types/src/testing/test-blueprint.d.ts +14 -0
- package/dist/types/src/testing/test-blueprint.d.ts.map +1 -0
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +11 -5
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/package.json +68 -68
- package/src/AssistantPlugin.tsx +5 -5
- package/src/capabilities/intent-resolver.ts +4 -3
- package/src/capabilities/react-surface.tsx +26 -7
- package/src/components/BlueprintEditor/BlueprintEditor.tsx +3 -4
- package/src/components/BlueprintEditor/index.ts +3 -1
- package/src/components/Prompt/Prompt.stories.tsx +1 -0
- package/src/components/Prompt/PromptBar.stories.tsx +1 -0
- package/src/components/Thread/ThreadMessage.tsx +3 -3
- package/src/components/index.ts +1 -0
- package/src/hooks/useContextProvider.ts +5 -6
- package/src/stories/Prompt.stories.tsx +1 -0
- package/src/stories/Query.stories.tsx +107 -40
- package/src/stories/Research.stories.tsx +1 -0
- package/src/stories/testing.ts +1 -5
- package/src/testing/index.ts +1 -1
- package/src/testing/{blueprint.ts → test-blueprint.ts} +21 -18
- package/src/translations.ts +5 -0
- package/src/types/types.ts +3 -3
- package/dist/lib/browser/intent-resolver-63EAHENI.mjs.map +0 -7
- package/dist/lib/browser/react-surface-XCV6NR75.mjs.map +0 -7
- package/dist/lib/node/chunk-H4A42LNR.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-66F7WLW6.cjs.map +0 -7
- package/dist/lib/node/react-surface-TASAPRPQ.cjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-X3PWH7KM.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-QMIQCXUM.mjs.map +0 -7
- package/dist/types/src/testing/blueprint.d.ts +0 -7
- package/dist/types/src/testing/blueprint.d.ts.map +0 -1
- /package/dist/lib/browser/{AssistantDialog-K6POM23O.mjs.map → AssistantDialog-UAZSN6GT.mjs.map} +0 -0
- /package/dist/lib/browser/{ChatContainer-QTO4LE2C.mjs.map → ChatContainer-UTN3AO5U.mjs.map} +0 -0
- /package/dist/lib/browser/{app-graph-builder-YH4EGNBC.mjs.map → app-graph-builder-56OZ5RW4.mjs.map} +0 -0
- /package/dist/lib/browser/{settings-SHNQ4XXP.mjs.map → settings-BTFB7IQ6.mjs.map} +0 -0
- /package/dist/lib/node/{AssistantDialog-FDATKYE5.cjs.map → AssistantDialog-RTB5Q7FP.cjs.map} +0 -0
- /package/dist/lib/node/{ChatContainer-5CLHJOIQ.cjs.map → ChatContainer-P3JL4VZ7.cjs.map} +0 -0
- /package/dist/lib/node/{app-graph-builder-PSHIOW3Q.cjs.map → app-graph-builder-QLF353LH.cjs.map} +0 -0
- /package/dist/lib/node/{settings-ERKLO6IO.cjs.map → settings-LBJMT6YB.cjs.map} +0 -0
- /package/dist/lib/node-esm/{AssistantDialog-PIMYK774.mjs.map → AssistantDialog-DONAO6SA.mjs.map} +0 -0
- /package/dist/lib/node-esm/{ChatContainer-QTC5NYE2.mjs.map → ChatContainer-FVIGCDIG.mjs.map} +0 -0
- /package/dist/lib/node-esm/{app-graph-builder-Z3GMMJMD.mjs.map → app-graph-builder-5YX5TKKT.mjs.map} +0 -0
- /package/dist/lib/node-esm/{settings-IVQRZUCU.mjs.map → settings-TGCCAH5D.mjs.map} +0 -0
|
@@ -26,46 +26,42 @@ 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 react_surface_QXZTILW6_exports = {};
|
|
30
|
+
__export(react_surface_QXZTILW6_exports, {
|
|
31
31
|
default: () => react_surface_default
|
|
32
32
|
});
|
|
33
|
-
module.exports = __toCommonJS(
|
|
34
|
-
var
|
|
33
|
+
module.exports = __toCommonJS(react_surface_QXZTILW6_exports);
|
|
34
|
+
var import_chunk_BWL5A3O5 = require("./chunk-BWL5A3O5.cjs");
|
|
35
35
|
var import_chunk_4EEWTDQK = require("./chunk-4EEWTDQK.cjs");
|
|
36
36
|
var import_chunk_HRNIUYVQ = require("./chunk-HRNIUYVQ.cjs");
|
|
37
|
-
var
|
|
37
|
+
var import_chunk_PG7YNQ4R = require("./chunk-PG7YNQ4R.cjs");
|
|
38
38
|
var import_chunk_TS3H5OSX = require("./chunk-TS3H5OSX.cjs");
|
|
39
|
-
var
|
|
39
|
+
var import_chunk_UNVDZOLA = require("./chunk-UNVDZOLA.cjs");
|
|
40
40
|
var import_chunk_P74TWGMG = require("./chunk-P74TWGMG.cjs");
|
|
41
41
|
var import_effect = require("effect");
|
|
42
42
|
var import_react = __toESM(require("react"));
|
|
43
43
|
var import_app_framework = require("@dxos/app-framework");
|
|
44
|
+
var import_assistant = require("@dxos/assistant");
|
|
44
45
|
var import_echo = require("@dxos/echo");
|
|
45
46
|
var import_echo_schema = require("@dxos/echo-schema");
|
|
46
47
|
var import_local_storage = require("@dxos/local-storage");
|
|
47
48
|
var import_types = require("@dxos/plugin-space/types");
|
|
48
49
|
var import_echo2 = require("@dxos/react-client/echo");
|
|
50
|
+
var import_react_ui_stack = require("@dxos/react-ui-stack");
|
|
49
51
|
var react_surface_default = () => (0, import_app_framework.contributes)(import_app_framework.Capabilities.ReactSurface, [
|
|
50
52
|
(0, import_app_framework.createSurface)({
|
|
51
53
|
id: `${import_chunk_P74TWGMG.ASSISTANT_PLUGIN}/plugin-settings`,
|
|
52
54
|
role: "article",
|
|
53
55
|
filter: (data) => data.subject instanceof import_local_storage.SettingsStore && data.subject.prefix === import_chunk_P74TWGMG.ASSISTANT_PLUGIN,
|
|
54
|
-
component: ({ data: { subject } }) => /* @__PURE__ */ import_react.default.createElement(
|
|
56
|
+
component: ({ data: { subject } }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_BWL5A3O5.AssistantSettings, {
|
|
55
57
|
settings: subject.value
|
|
56
58
|
})
|
|
57
59
|
}),
|
|
58
|
-
(0, import_app_framework.createSurface)({
|
|
59
|
-
id: import_chunk_P74TWGMG.ASSISTANT_DIALOG,
|
|
60
|
-
role: "dialog",
|
|
61
|
-
filter: (data) => data.component === import_chunk_P74TWGMG.ASSISTANT_DIALOG,
|
|
62
|
-
component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_FLJWJ35M.AssistantDialog, data.props)
|
|
63
|
-
}),
|
|
64
60
|
(0, import_app_framework.createSurface)({
|
|
65
61
|
id: `${import_chunk_P74TWGMG.ASSISTANT_PLUGIN}/chat`,
|
|
66
62
|
role: "article",
|
|
67
|
-
filter: (data) => import_echo.Obj.instanceOf(
|
|
68
|
-
component: ({ data, role }) => /* @__PURE__ */ import_react.default.createElement(
|
|
63
|
+
filter: (data) => import_echo.Obj.instanceOf(import_chunk_UNVDZOLA.AIChatType, data.subject) && data.variant !== "assistant-chat",
|
|
64
|
+
component: ({ data, role }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_BWL5A3O5.ChatContainer, {
|
|
69
65
|
role,
|
|
70
66
|
chat: data.subject
|
|
71
67
|
})
|
|
@@ -73,7 +69,7 @@ var react_surface_default = () => (0, import_app_framework.contributes)(import_a
|
|
|
73
69
|
(0, import_app_framework.createSurface)({
|
|
74
70
|
id: `${import_chunk_P74TWGMG.ASSISTANT_PLUGIN}/object-chat`,
|
|
75
71
|
role: "article",
|
|
76
|
-
filter: (data) => (0, import_echo2.isEchoObject)(data.companionTo) && ((0, import_echo_schema.isInstanceOf)(
|
|
72
|
+
filter: (data) => (0, import_echo2.isEchoObject)(data.companionTo) && ((0, import_echo_schema.isInstanceOf)(import_chunk_UNVDZOLA.AIChatType, data.subject) || data.subject === "assistant-chat"),
|
|
77
73
|
component: ({ data, role }) => {
|
|
78
74
|
const { dispatch } = (0, import_app_framework.useIntentDispatcher)();
|
|
79
75
|
const associatedArtifact = (0, import_react.useMemo)(() => ({
|
|
@@ -87,12 +83,12 @@ var react_surface_default = () => (0, import_app_framework.contributes)(import_a
|
|
|
87
83
|
const timeout = setTimeout(async () => {
|
|
88
84
|
const space = (0, import_echo2.getSpace)(data.companionTo);
|
|
89
85
|
if (space && data.subject === "assistant-chat") {
|
|
90
|
-
const result = await space.db.query(import_echo_schema.Query.select(import_echo_schema.Filter.ids(data.companionTo.id)).targetOf(
|
|
86
|
+
const result = await space.db.query(import_echo_schema.Query.select(import_echo_schema.Filter.ids(data.companionTo.id)).targetOf(import_chunk_UNVDZOLA.CompanionTo).source()).run();
|
|
91
87
|
if (result.objects.length > 0) {
|
|
92
88
|
return;
|
|
93
89
|
}
|
|
94
90
|
const program = import_effect.Effect.gen(function* () {
|
|
95
|
-
const { object } = yield* dispatch((0, import_app_framework.createIntent)(
|
|
91
|
+
const { object } = yield* dispatch((0, import_app_framework.createIntent)(import_chunk_UNVDZOLA.AssistantAction.CreateChat, {
|
|
96
92
|
space
|
|
97
93
|
}));
|
|
98
94
|
yield* dispatch((0, import_app_framework.createIntent)(import_types.SpaceAction.AddObject, {
|
|
@@ -102,7 +98,7 @@ var react_surface_default = () => (0, import_app_framework.contributes)(import_a
|
|
|
102
98
|
}));
|
|
103
99
|
yield* dispatch((0, import_app_framework.createIntent)(import_types.SpaceAction.AddRelation, {
|
|
104
100
|
space,
|
|
105
|
-
schema:
|
|
101
|
+
schema: import_chunk_UNVDZOLA.CompanionTo,
|
|
106
102
|
source: object,
|
|
107
103
|
target: data.companionTo
|
|
108
104
|
}));
|
|
@@ -117,29 +113,45 @@ var react_surface_default = () => (0, import_app_framework.contributes)(import_a
|
|
|
117
113
|
if (data.subject === "assistant-chat") {
|
|
118
114
|
return null;
|
|
119
115
|
}
|
|
120
|
-
return /* @__PURE__ */ import_react.default.createElement(
|
|
116
|
+
return /* @__PURE__ */ import_react.default.createElement(import_chunk_BWL5A3O5.ChatContainer, {
|
|
121
117
|
role,
|
|
122
118
|
chat: data.subject,
|
|
123
119
|
associatedArtifact
|
|
124
120
|
});
|
|
125
121
|
}
|
|
126
122
|
}),
|
|
123
|
+
(0, import_app_framework.createSurface)({
|
|
124
|
+
id: `${import_chunk_P74TWGMG.ASSISTANT_PLUGIN}/blueprint`,
|
|
125
|
+
role: "article",
|
|
126
|
+
filter: (data) => import_echo.Obj.instanceOf(import_assistant.Blueprint, data.subject),
|
|
127
|
+
component: ({ data, role }) => /* @__PURE__ */ import_react.default.createElement(import_react_ui_stack.StackItem.Content, {
|
|
128
|
+
role
|
|
129
|
+
}, /* @__PURE__ */ import_react.default.createElement(import_chunk_BWL5A3O5.BlueprintEditor, {
|
|
130
|
+
blueprint: data.subject
|
|
131
|
+
}))
|
|
132
|
+
}),
|
|
127
133
|
(0, import_app_framework.createSurface)({
|
|
128
134
|
id: `${import_chunk_P74TWGMG.ASSISTANT_PLUGIN}/template`,
|
|
129
135
|
role: "article",
|
|
130
|
-
filter: (data) => import_echo.Obj.instanceOf(
|
|
131
|
-
component: ({ data, role }) => /* @__PURE__ */ import_react.default.createElement(
|
|
136
|
+
filter: (data) => import_echo.Obj.instanceOf(import_chunk_UNVDZOLA.TemplateType, data.subject),
|
|
137
|
+
component: ({ data, role }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_BWL5A3O5.TemplateContainer, {
|
|
132
138
|
role,
|
|
133
139
|
template: data.subject
|
|
134
140
|
})
|
|
135
141
|
}),
|
|
142
|
+
(0, import_app_framework.createSurface)({
|
|
143
|
+
id: import_chunk_P74TWGMG.ASSISTANT_DIALOG,
|
|
144
|
+
role: "dialog",
|
|
145
|
+
filter: (data) => data.component === import_chunk_P74TWGMG.ASSISTANT_DIALOG,
|
|
146
|
+
component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_BWL5A3O5.AssistantDialog, data.props)
|
|
147
|
+
}),
|
|
136
148
|
(0, import_app_framework.createSurface)({
|
|
137
149
|
id: `${import_chunk_P74TWGMG.ASSISTANT_PLUGIN}/prompt-settings`,
|
|
138
150
|
role: "object-settings",
|
|
139
|
-
filter: (data) => import_echo.Obj.instanceOf(
|
|
140
|
-
component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(
|
|
151
|
+
filter: (data) => import_echo.Obj.instanceOf(import_chunk_UNVDZOLA.TemplateType, data.subject),
|
|
152
|
+
component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_BWL5A3O5.PromptSettings, {
|
|
141
153
|
template: data.subject
|
|
142
154
|
})
|
|
143
155
|
})
|
|
144
156
|
]);
|
|
145
|
-
//# sourceMappingURL=react-surface-
|
|
157
|
+
//# sourceMappingURL=react-surface-QXZTILW6.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/react-surface.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Effect } from 'effect';\nimport React, { useEffect, useMemo } from 'react';\n\nimport { Capabilities, contributes, createIntent, createSurface, useIntentDispatcher } from '@dxos/app-framework';\nimport { Blueprint } from '@dxos/assistant';\nimport { Obj } from '@dxos/echo';\nimport { Filter, isInstanceOf, Query } from '@dxos/echo-schema';\nimport { SettingsStore } from '@dxos/local-storage';\nimport { SpaceAction } from '@dxos/plugin-space/types';\nimport {\n type AnyLiveObject,\n fullyQualifiedId,\n getSpace,\n getTypename,\n isEchoObject,\n type SpaceId,\n} from '@dxos/react-client/echo';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport {\n AssistantDialog,\n AssistantSettings,\n BlueprintEditor,\n ChatContainer,\n PromptSettings,\n TemplateContainer,\n} from '../components';\nimport { ASSISTANT_PLUGIN, ASSISTANT_DIALOG } from '../meta';\nimport { AIChatType, AssistantAction, type AssistantSettingsProps, CompanionTo, TemplateType } from '../types';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${ASSISTANT_PLUGIN}/plugin-settings`,\n role: 'article',\n filter: (data): data is { subject: SettingsStore<AssistantSettingsProps> } =>\n data.subject instanceof SettingsStore && data.subject.prefix === ASSISTANT_PLUGIN,\n component: ({ data: { subject } }) => <AssistantSettings settings={subject.value} />,\n }),\n createSurface({\n id: `${ASSISTANT_PLUGIN}/chat`,\n role: 'article',\n filter: (data): data is { subject: AIChatType; variant: undefined } =>\n Obj.instanceOf(AIChatType, data.subject) && data.variant !== 'assistant-chat',\n component: ({ data, role }) => <ChatContainer role={role} chat={data.subject} />,\n }),\n createSurface({\n id: `${ASSISTANT_PLUGIN}/object-chat`,\n role: 'article',\n filter: (data): data is { companionTo: AnyLiveObject<any>; subject: AIChatType | 'assistant-chat' } =>\n isEchoObject(data.companionTo) && (isInstanceOf(AIChatType, data.subject) || data.subject === 'assistant-chat'),\n component: ({ data, role }) => {\n const { dispatch } = useIntentDispatcher();\n const associatedArtifact = useMemo(\n () => ({\n id: fullyQualifiedId(data.companionTo),\n typename: getTypename(data.companionTo) ?? 'unknown',\n spaceId: (getSpace(data.companionTo)?.id ?? 'unknown') as SpaceId,\n }),\n [data.companionTo],\n );\n\n // TODO(wittjosiah): Factor out to container.\n useEffect(() => {\n const timeout = setTimeout(async () => {\n const space = getSpace(data.companionTo);\n if (space && data.subject === 'assistant-chat') {\n const result = await space.db\n .query(Query.select(Filter.ids(data.companionTo.id)).targetOf(CompanionTo).source())\n .run();\n if (result.objects.length > 0) {\n return;\n }\n\n const program = Effect.gen(function* () {\n const { object } = yield* dispatch(createIntent(AssistantAction.CreateChat, { space }));\n yield* dispatch(createIntent(SpaceAction.AddObject, { object, target: space, hidden: true }));\n yield* dispatch(\n createIntent(SpaceAction.AddRelation, {\n space,\n schema: CompanionTo,\n source: object,\n target: data.companionTo,\n }),\n );\n });\n void Effect.runPromise(program);\n }\n });\n\n return () => clearTimeout(timeout);\n }, [data.subject]);\n\n if (data.subject === 'assistant-chat') {\n return null;\n }\n\n return <ChatContainer role={role} chat={data.subject} associatedArtifact={associatedArtifact} />;\n },\n }),\n createSurface({\n id: `${ASSISTANT_PLUGIN}/blueprint`,\n role: 'article',\n filter: (data): data is { subject: Blueprint } => Obj.instanceOf(Blueprint, data.subject),\n component: ({ data, role }) => (\n <StackItem.Content role={role}>\n <BlueprintEditor blueprint={data.subject} />\n </StackItem.Content>\n ),\n }),\n createSurface({\n id: `${ASSISTANT_PLUGIN}/template`,\n role: 'article',\n filter: (data): data is { subject: TemplateType } => Obj.instanceOf(TemplateType, data.subject),\n component: ({ data, role }) => <TemplateContainer role={role} template={data.subject} />,\n }),\n createSurface({\n id: ASSISTANT_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: { chat: AIChatType } } => data.component === ASSISTANT_DIALOG,\n component: ({ data }) => <AssistantDialog {...data.props} />,\n }),\n createSurface({\n id: `${ASSISTANT_PLUGIN}/prompt-settings`,\n role: 'object-settings',\n filter: (data): data is { subject: TemplateType } => Obj.instanceOf(TemplateType, data.subject),\n component: ({ data }) => <PromptSettings template={data.subject} />,\n }),\n ]);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_echo", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "ASSISTANT_PLUGIN", "role", "filter", "data", "subject", "SettingsStore", "prefix", "component", "React", "AssistantSettings", "settings", "value", "Obj", "instanceOf", "AIChatType", "variant", "ChatContainer", "chat", "isEchoObject", "companionTo", "isInstanceOf", "dispatch", "useIntentDispatcher", "associatedArtifact", "useMemo", "fullyQualifiedId", "typename", "getTypename", "spaceId", "getSpace", "useEffect", "timeout", "setTimeout", "space", "result", "db", "query", "Query", "select", "Filter", "ids", "targetOf", "CompanionTo", "source", "run", "objects", "length", "program", "Effect", "gen", "object", "createIntent", "AssistantAction", "CreateChat", "SpaceAction", "AddObject", "target", "hidden", "AddRelation", "schema", "runPromise", "clearTimeout", "Blueprint", "StackItem", "Content", "BlueprintEditor", "blueprint", "TemplateType", "TemplateContainer", "template", "ASSISTANT_DIALOG", "AssistantDialog", "props", "PromptSettings"]
|
|
7
|
+
}
|
|
@@ -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_LBJMT6YB_exports = {};
|
|
20
|
+
__export(settings_LBJMT6YB_exports, {
|
|
21
21
|
default: () => settings_default
|
|
22
22
|
});
|
|
23
|
-
module.exports = __toCommonJS(
|
|
24
|
-
var
|
|
23
|
+
module.exports = __toCommonJS(settings_LBJMT6YB_exports);
|
|
24
|
+
var import_chunk_UNVDZOLA = require("./chunk-UNVDZOLA.cjs");
|
|
25
25
|
var import_chunk_P74TWGMG = require("./chunk-P74TWGMG.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
29
|
const settings = (0, import_live_object.live)({});
|
|
30
30
|
return (0, import_app_framework.contributes)(import_app_framework.Capabilities.Settings, {
|
|
31
|
-
schema:
|
|
31
|
+
schema: import_chunk_UNVDZOLA.AssistantSettingsSchema,
|
|
32
32
|
prefix: import_chunk_P74TWGMG.ASSISTANT_PLUGIN,
|
|
33
33
|
value: settings
|
|
34
34
|
});
|
|
35
35
|
};
|
|
36
|
-
//# sourceMappingURL=settings-
|
|
36
|
+
//# sourceMappingURL=settings-LBJMT6YB.cjs.map
|
|
@@ -18,22 +18,22 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var types_exports = {};
|
|
20
20
|
__export(types_exports, {
|
|
21
|
-
AIChatType: () =>
|
|
22
|
-
ApiAuthorization: () =>
|
|
23
|
-
AssistantAction: () =>
|
|
24
|
-
AssistantSettingsSchema: () =>
|
|
25
|
-
CompanionTo: () =>
|
|
26
|
-
LLM_PROVIDERS: () =>
|
|
27
|
-
ServiceType: () =>
|
|
28
|
-
TemplateInputSchema: () =>
|
|
29
|
-
TemplateInputType: () =>
|
|
30
|
-
TemplateKindSchema: () =>
|
|
31
|
-
TemplateKinds: () =>
|
|
32
|
-
TemplateType: () =>
|
|
33
|
-
categoryIcons: () =>
|
|
21
|
+
AIChatType: () => import_chunk_UNVDZOLA.AIChatType,
|
|
22
|
+
ApiAuthorization: () => import_chunk_UNVDZOLA.ApiAuthorization,
|
|
23
|
+
AssistantAction: () => import_chunk_UNVDZOLA.AssistantAction,
|
|
24
|
+
AssistantSettingsSchema: () => import_chunk_UNVDZOLA.AssistantSettingsSchema,
|
|
25
|
+
CompanionTo: () => import_chunk_UNVDZOLA.CompanionTo,
|
|
26
|
+
LLM_PROVIDERS: () => import_chunk_UNVDZOLA.LLM_PROVIDERS,
|
|
27
|
+
ServiceType: () => import_chunk_UNVDZOLA.ServiceType,
|
|
28
|
+
TemplateInputSchema: () => import_chunk_UNVDZOLA.TemplateInputSchema,
|
|
29
|
+
TemplateInputType: () => import_chunk_UNVDZOLA.TemplateInputType,
|
|
30
|
+
TemplateKindSchema: () => import_chunk_UNVDZOLA.TemplateKindSchema,
|
|
31
|
+
TemplateKinds: () => import_chunk_UNVDZOLA.TemplateKinds,
|
|
32
|
+
TemplateType: () => import_chunk_UNVDZOLA.TemplateType,
|
|
33
|
+
categoryIcons: () => import_chunk_UNVDZOLA.categoryIcons
|
|
34
34
|
});
|
|
35
35
|
module.exports = __toCommonJS(types_exports);
|
|
36
|
-
var
|
|
36
|
+
var import_chunk_UNVDZOLA = require("../chunk-UNVDZOLA.cjs");
|
|
37
37
|
var import_chunk_P74TWGMG = require("../chunk-P74TWGMG.cjs");
|
|
38
38
|
// Annotate the CommonJS export names for ESM import in node:
|
|
39
39
|
0 && (module.exports = {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["index.cjs"],
|
|
4
|
-
"sourcesContent": ["import {\n AIChatType,\n ApiAuthorization,\n AssistantAction,\n AssistantSettingsSchema,\n CompanionTo,\n LLM_PROVIDERS,\n ServiceType,\n TemplateInputSchema,\n TemplateInputType,\n TemplateKindSchema,\n TemplateKinds,\n TemplateType,\n categoryIcons\n} from \"../chunk-
|
|
4
|
+
"sourcesContent": ["import {\n AIChatType,\n ApiAuthorization,\n AssistantAction,\n AssistantSettingsSchema,\n CompanionTo,\n LLM_PROVIDERS,\n ServiceType,\n TemplateInputSchema,\n TemplateInputType,\n TemplateKindSchema,\n TemplateKinds,\n TemplateType,\n categoryIcons\n} from \"../chunk-UNVDZOLA.cjs\";\nimport \"../chunk-P74TWGMG.cjs\";\nexport {\n AIChatType,\n ApiAuthorization,\n AssistantAction,\n AssistantSettingsSchema,\n CompanionTo,\n LLM_PROVIDERS,\n ServiceType,\n TemplateInputSchema,\n TemplateInputType,\n TemplateKindSchema,\n TemplateKinds,\n TemplateType,\n categoryIcons\n};\n//# sourceMappingURL=index.cjs.map\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAcO;AACP,4BAAO;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -4,9 +4,9 @@ import {
|
|
|
4
4
|
} from "./chunk-CDAILLCU.mjs";
|
|
5
5
|
import {
|
|
6
6
|
ThreadContainer
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-MNH6E6EB.mjs";
|
|
8
8
|
import "./chunk-HLPGKJ7N.mjs";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-TQYSF2GS.mjs";
|
|
10
10
|
import {
|
|
11
11
|
ASSISTANT_PLUGIN
|
|
12
12
|
} from "./chunk-BB2TAT4P.mjs";
|
|
@@ -44,4 +44,4 @@ export {
|
|
|
44
44
|
AssistantDialog,
|
|
45
45
|
AssistantDialog_default as default
|
|
46
46
|
};
|
|
47
|
-
//# sourceMappingURL=AssistantDialog-
|
|
47
|
+
//# sourceMappingURL=AssistantDialog-DONAO6SA.mjs.map
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
|
|
3
|
+
// packages/plugins/plugin-assistant/src/components/BlueprintEditor/BlueprintEditor.tsx
|
|
4
|
+
import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
|
|
5
|
+
import React from "react";
|
|
6
|
+
import { Blueprint } from "@dxos/assistant";
|
|
7
|
+
import { toJsonSchema } from "@dxos/echo-schema";
|
|
8
|
+
import { useThemeContext } from "@dxos/react-ui";
|
|
9
|
+
import { createBasicExtensions, createJsonExtensions, createThemeExtensions, editorMonospace, useTextEditor } from "@dxos/react-ui-editor";
|
|
10
|
+
import { mx } from "@dxos/react-ui-theme";
|
|
11
|
+
var BlueprintEditor = ({ classNames, blueprint }) => {
|
|
12
|
+
var _effect = _useSignals();
|
|
13
|
+
try {
|
|
14
|
+
const { themeMode } = useThemeContext();
|
|
15
|
+
const { parentRef } = useTextEditor({
|
|
16
|
+
initialValue: JSON.stringify(blueprint, null, 2),
|
|
17
|
+
extensions: [
|
|
18
|
+
createBasicExtensions({
|
|
19
|
+
lineWrapping: false
|
|
20
|
+
}),
|
|
21
|
+
createThemeExtensions({
|
|
22
|
+
themeMode,
|
|
23
|
+
syntaxHighlighting: true
|
|
24
|
+
}),
|
|
25
|
+
createJsonExtensions({
|
|
26
|
+
schema: toJsonSchema(Blueprint, {
|
|
27
|
+
strict: true
|
|
28
|
+
})
|
|
29
|
+
}),
|
|
30
|
+
editorMonospace
|
|
31
|
+
]
|
|
32
|
+
});
|
|
33
|
+
return /* @__PURE__ */ React.createElement("div", {
|
|
34
|
+
ref: parentRef,
|
|
35
|
+
className: mx("flex w-full pli-2 overflow-x-scroll border-x border-separator", classNames)
|
|
36
|
+
});
|
|
37
|
+
} finally {
|
|
38
|
+
_effect.f();
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
// packages/plugins/plugin-assistant/src/components/BlueprintEditor/index.ts
|
|
43
|
+
var BlueprintEditor_default = BlueprintEditor;
|
|
44
|
+
export {
|
|
45
|
+
BlueprintEditor_default as default
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=BlueprintEditor-CTARB2FO.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/BlueprintEditor/BlueprintEditor.tsx", "../../../src/components/BlueprintEditor/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Blueprint } from '@dxos/assistant';\nimport { toJsonSchema } from '@dxos/echo-schema';\nimport { useThemeContext, type ThemedClassName } from '@dxos/react-ui';\nimport {\n createBasicExtensions,\n createJsonExtensions,\n createThemeExtensions,\n editorMonospace,\n useTextEditor,\n} from '@dxos/react-ui-editor';\nimport { mx } from '@dxos/react-ui-theme';\n\nexport type BlueprintEditorProps = ThemedClassName<{\n blueprint: Blueprint;\n}>;\n\n// TODO(burdon): Factor out JsonEditor.\n// TODO(burdon): Make editable.\nexport const BlueprintEditor = ({ classNames, blueprint }: BlueprintEditorProps) => {\n const { themeMode } = useThemeContext();\n const { parentRef } = useTextEditor({\n initialValue: JSON.stringify(blueprint, null, 2),\n extensions: [\n createBasicExtensions({ lineWrapping: false }),\n createThemeExtensions({ themeMode, syntaxHighlighting: true }),\n createJsonExtensions({ schema: toJsonSchema(Blueprint, { strict: true }) }),\n editorMonospace,\n ],\n });\n\n return (\n <div ref={parentRef} className={mx('flex w-full pli-2 overflow-x-scroll border-x border-separator', classNames)} />\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { BlueprintEditor } from './BlueprintEditor';\n\nexport default BlueprintEditor;\n"],
|
|
5
|
+
"mappings": ";;;;AAIA,OAAOA,WAAW;AAElB,SAASC,iBAAiB;AAC1B,SAASC,oBAAoB;AAC7B,SAASC,uBAA6C;AACtD,SACEC,uBACAC,sBACAC,uBACAC,iBACAC,qBACK;AACP,SAASC,UAAU;AAQZ,IAAMC,kBAAkB,CAAC,EAAEC,YAAYC,UAAS,MAAwB;;;AAC7E,UAAM,EAAEC,UAAS,IAAKC,gBAAAA;AACtB,UAAM,EAAEC,UAAS,IAAKC,cAAc;MAClCC,cAAcC,KAAKC,UAAUP,WAAW,MAAM,CAAA;MAC9CQ,YAAY;QACVC,sBAAsB;UAAEC,cAAc;QAAM,CAAA;QAC5CC,sBAAsB;UAAEV;UAAWW,oBAAoB;QAAK,CAAA;QAC5DC,qBAAqB;UAAEC,QAAQC,aAAaC,WAAW;YAAEC,QAAQ;UAAK,CAAA;QAAG,CAAA;QACzEC;;IAEJ,CAAA;AAEA,WACE,sBAAA,cAACC,OAAAA;MAAIC,KAAKjB;MAAWkB,WAAWC,GAAG,iEAAiEvB,UAAAA;;;;;AAExG;;;ACjCA,IAAA,0BAAewB;",
|
|
6
|
+
"names": ["React", "Blueprint", "toJsonSchema", "useThemeContext", "createBasicExtensions", "createJsonExtensions", "createThemeExtensions", "editorMonospace", "useTextEditor", "mx", "BlueprintEditor", "classNames", "blueprint", "themeMode", "useThemeContext", "parentRef", "useTextEditor", "initialValue", "JSON", "stringify", "extensions", "createBasicExtensions", "lineWrapping", "createThemeExtensions", "syntaxHighlighting", "createJsonExtensions", "schema", "toJsonSchema", "Blueprint", "strict", "editorMonospace", "div", "ref", "className", "mx", "BlueprintEditor"]
|
|
7
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
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-MNH6E6EB.mjs";
|
|
5
5
|
import "./chunk-HLPGKJ7N.mjs";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-TQYSF2GS.mjs";
|
|
7
7
|
import {
|
|
8
8
|
ASSISTANT_PLUGIN
|
|
9
9
|
} from "./chunk-BB2TAT4P.mjs";
|
|
@@ -37,4 +37,4 @@ export {
|
|
|
37
37
|
ChatContainer,
|
|
38
38
|
ChatContainer_default as default
|
|
39
39
|
};
|
|
40
|
-
//# sourceMappingURL=ChatContainer-
|
|
40
|
+
//# sourceMappingURL=ChatContainer-FVIGCDIG.mjs.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
AssistantAction,
|
|
5
5
|
CompanionTo,
|
|
6
6
|
TemplateType
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-TQYSF2GS.mjs";
|
|
8
8
|
import {
|
|
9
9
|
ASSISTANT_DIALOG,
|
|
10
10
|
ASSISTANT_PLUGIN
|
|
@@ -204,4 +204,4 @@ var getOrCreateChat = async (dispatch, space) => {
|
|
|
204
204
|
export {
|
|
205
205
|
app_graph_builder_default as default
|
|
206
206
|
};
|
|
207
|
-
//# sourceMappingURL=app-graph-builder-
|
|
207
|
+
//# sourceMappingURL=app-graph-builder-5YX5TKKT.mjs.map
|
|
@@ -2,7 +2,7 @@ import { createRequire } from 'node:module';const require = createRequire(import
|
|
|
2
2
|
import {
|
|
3
3
|
LLM_PROVIDERS,
|
|
4
4
|
TemplateKinds
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-TQYSF2GS.mjs";
|
|
6
6
|
import {
|
|
7
7
|
ASSISTANT_PLUGIN
|
|
8
8
|
} from "./chunk-BB2TAT4P.mjs";
|
|
@@ -142,15 +142,17 @@ var PromptSettings = ({ template }) => {
|
|
|
142
142
|
|
|
143
143
|
// packages/plugins/plugin-assistant/src/components/index.ts
|
|
144
144
|
import { lazy } from "react";
|
|
145
|
-
var AssistantDialog = lazy(() => import("./AssistantDialog-
|
|
146
|
-
var
|
|
145
|
+
var AssistantDialog = lazy(() => import("./AssistantDialog-DONAO6SA.mjs"));
|
|
146
|
+
var BlueprintEditor = lazy(() => import("./BlueprintEditor-CTARB2FO.mjs"));
|
|
147
|
+
var ChatContainer = lazy(() => import("./ChatContainer-FVIGCDIG.mjs"));
|
|
147
148
|
var TemplateContainer = lazy(() => import("./TemplateContainer-IVDQ4XQG.mjs"));
|
|
148
149
|
|
|
149
150
|
export {
|
|
150
151
|
AssistantSettings,
|
|
151
152
|
PromptSettings,
|
|
152
153
|
AssistantDialog,
|
|
154
|
+
BlueprintEditor,
|
|
153
155
|
ChatContainer,
|
|
154
156
|
TemplateContainer
|
|
155
157
|
};
|
|
156
|
-
//# sourceMappingURL=chunk-
|
|
158
|
+
//# sourceMappingURL=chunk-GJE4WCUJ.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/AssistantSettings/AssistantSettings.tsx", "../../../src/components/PromptSettings.tsx", "../../../src/components/index.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { DEFAULT_EDGE_MODELS, DEFAULT_OLLAMA_MODELS } from '@dxos/ai';\nimport { Input, Select, useTranslation } from '@dxos/react-ui';\nimport { DeprecatedFormContainer, DeprecatedFormInput } from '@dxos/react-ui-form';\n\nimport { ASSISTANT_PLUGIN } from '../../meta';\nimport { LLM_PROVIDERS, type AssistantSettingsProps } from '../../types';\n\n// TODO(burdon): Factor out default Selector.\nconst DEFAULT_VALUE = '__default';\n\nconst LLM_PROVIDER_LABELS = {\n edge: 'DXOS',\n ollama: 'Ollama',\n lmstudio: 'LM Studio',\n} as const;\n\nexport const AssistantSettings = ({ settings }: { settings: AssistantSettingsProps }) => {\n const { t } = useTranslation(ASSISTANT_PLUGIN);\n\n return (\n <DeprecatedFormContainer>\n <DeprecatedFormInput label={t('settings custom prompts label')}>\n <Input.Switch\n checked={!!settings.customPrompts}\n onCheckedChange={(checked) => (settings.customPrompts = checked)}\n />\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings llm provider label')}>\n <Select.Root\n value={settings.llmProvider ?? 'edge'}\n onValueChange={(value) => {\n settings.llmProvider = value === DEFAULT_VALUE ? undefined : (value as any);\n }}\n >\n <Select.TriggerButton placeholder={t('settings llm provider label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n <Select.Option value={DEFAULT_VALUE}>{t('settings default label')}</Select.Option>\n {LLM_PROVIDERS.map((model) => (\n <Select.Option key={model} value={model}>\n {LLM_PROVIDER_LABELS[model]}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings edge llm model label')}>\n <Select.Root\n value={settings.edgeModel ?? DEFAULT_VALUE}\n onValueChange={(value) => {\n settings.edgeModel = value === DEFAULT_VALUE ? undefined : value;\n }}\n >\n <Select.TriggerButton placeholder={t('settings default llm model label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n <Select.Option value={DEFAULT_VALUE}>{t('settings default label')}</Select.Option>\n {DEFAULT_EDGE_MODELS.map((model) => (\n <Select.Option key={model} value={model}>\n {model}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings ollama llm model label')}>\n <Select.Root\n value={settings.ollamaModel ?? DEFAULT_VALUE}\n onValueChange={(value) => {\n settings.ollamaModel = value === DEFAULT_VALUE ? undefined : value;\n }}\n >\n <Select.TriggerButton placeholder={t('settings default llm model label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n <Select.Option value={DEFAULT_VALUE}>{t('settings default label')}</Select.Option>\n {DEFAULT_OLLAMA_MODELS.map((model) => (\n <Select.Option key={model} value={model}>\n {model}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n </DeprecatedFormContainer>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Match, type Schema } from 'effect';\nimport React, { type ChangeEvent, useCallback } from 'react';\n\nimport { debounce } from '@dxos/async';\nimport { Input, Select, Toolbar, useTranslation } from '@dxos/react-ui';\n\nimport { ASSISTANT_PLUGIN } from '../meta';\nimport { TemplateKinds, type TemplateType, type TemplateKindSchema } from '../types';\n\nexport const PromptSettings = ({ template }: { template: TemplateType }) => {\n const { t } = useTranslation(ASSISTANT_PLUGIN);\n\n const handleKindChange = useCallback(\n (value: string) => {\n const kind = Match.type<string>().pipe(\n Match.withReturnType<Schema.Schema.Type<typeof TemplateKindSchema>>(),\n Match.when('always', () => ({ include: 'always' })),\n Match.when('schema-matching', () => ({ include: 'schema-matching', typename: '' })),\n Match.when('automatically', () => ({ include: 'automatically', description: '' })),\n Match.orElse(() => ({ include: 'manual' })),\n )(value);\n\n template.kind = kind;\n },\n [template],\n );\n\n const handleTypenameChange = useCallback(\n debounce((event: ChangeEvent<HTMLInputElement>) => {\n if (template.kind.include === 'schema-matching') {\n template.kind.typename = event.target.value;\n }\n }, 300),\n [template.kind.include],\n );\n\n const handleDescriptionChange = useCallback(\n debounce((event: ChangeEvent<HTMLInputElement>) => {\n if (template.kind.include === 'automatically') {\n template.kind.description = event.target.value;\n }\n }, 300),\n [template.kind.include],\n );\n\n return (\n <div className='p-2 flex flex-col gap-4'>\n <h2>{t('prompt rules label')}</h2>\n <Toolbar.Root>\n <Select.Root value={template.kind.include} onValueChange={handleKindChange}>\n <Toolbar.Button asChild>\n <Select.TriggerButton />\n </Toolbar.Button>\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {TemplateKinds.map((kind) => (\n <Select.Option key={kind} value={kind}>\n {kind}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n {template.kind.include === 'schema-matching' && (\n <Input.Root>\n <Input.TextInput\n placeholder={t('typename placeholder')}\n defaultValue={template.kind.typename}\n onChange={handleTypenameChange}\n />\n </Input.Root>\n )}\n {template.kind.include === 'automatically' && (\n <Input.Root>\n <Input.TextInput\n placeholder={t('description placeholder')}\n defaultValue={template.kind.description}\n onChange={handleDescriptionChange}\n />\n </Input.Root>\n )}\n </Toolbar.Root>\n </div>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport * from './AmbientDialog';\nexport * from './AssistantSettings';\nexport * from './Prompt';\nexport * from './PromptSettings';\nexport * from './TemplateEditor';\nexport * from './Thread';\nexport * from './Toolbox';\n\n// TODO(burdon): Lazy loading causes issues with Tabster.\n// Repro: open assistant dialog then close.\n// https://github.com/microsoft/fluentui/issues/34020\nexport const AssistantDialog = lazy(() => import('./AssistantDialog'));\nexport const ChatContainer = lazy(() => import('./ChatContainer'));\nexport const TemplateContainer = lazy(() => import('./TemplateContainer'));\n"],
|
|
5
|
-
"mappings": "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
|
|
6
|
-
"names": ["React", "DEFAULT_EDGE_MODELS", "DEFAULT_OLLAMA_MODELS", "Input", "Select", "useTranslation", "DeprecatedFormContainer", "DeprecatedFormInput", "DEFAULT_VALUE", "LLM_PROVIDER_LABELS", "edge", "ollama", "lmstudio", "AssistantSettings", "settings", "t", "useTranslation", "ASSISTANT_PLUGIN", "DeprecatedFormContainer", "DeprecatedFormInput", "label", "Input", "Switch", "checked", "customPrompts", "onCheckedChange", "Select", "Root", "value", "llmProvider", "onValueChange", "undefined", "TriggerButton", "placeholder", "Portal", "Content", "Viewport", "Option", "LLM_PROVIDERS", "map", "model", "key", "edgeModel", "DEFAULT_EDGE_MODELS", "ollamaModel", "DEFAULT_OLLAMA_MODELS", "Match", "React", "useCallback", "debounce", "Input", "Select", "Toolbar", "useTranslation", "PromptSettings", "template", "t", "useTranslation", "ASSISTANT_PLUGIN", "handleKindChange", "useCallback", "value", "kind", "Match", "type", "pipe", "withReturnType", "when", "include", "typename", "description", "orElse", "handleTypenameChange", "debounce", "event", "target", "handleDescriptionChange", "React", "div", "className", "h2", "Toolbar", "Root", "Select", "onValueChange", "Button", "asChild", "TriggerButton", "Portal", "Content", "Viewport", "TemplateKinds", "map", "Option", "key", "Input", "TextInput", "placeholder", "defaultValue", "onChange", "lazy", "AssistantDialog", "lazy", "ChatContainer", "TemplateContainer"]
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { DEFAULT_EDGE_MODELS, DEFAULT_OLLAMA_MODELS } from '@dxos/ai';\nimport { Input, Select, useTranslation } from '@dxos/react-ui';\nimport { DeprecatedFormContainer, DeprecatedFormInput } from '@dxos/react-ui-form';\n\nimport { ASSISTANT_PLUGIN } from '../../meta';\nimport { LLM_PROVIDERS, type AssistantSettingsProps } from '../../types';\n\n// TODO(burdon): Factor out default Selector.\nconst DEFAULT_VALUE = '__default';\n\nconst LLM_PROVIDER_LABELS = {\n edge: 'DXOS',\n ollama: 'Ollama',\n lmstudio: 'LM Studio',\n} as const;\n\nexport const AssistantSettings = ({ settings }: { settings: AssistantSettingsProps }) => {\n const { t } = useTranslation(ASSISTANT_PLUGIN);\n\n return (\n <DeprecatedFormContainer>\n <DeprecatedFormInput label={t('settings custom prompts label')}>\n <Input.Switch\n checked={!!settings.customPrompts}\n onCheckedChange={(checked) => (settings.customPrompts = checked)}\n />\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings llm provider label')}>\n <Select.Root\n value={settings.llmProvider ?? 'edge'}\n onValueChange={(value) => {\n settings.llmProvider = value === DEFAULT_VALUE ? undefined : (value as any);\n }}\n >\n <Select.TriggerButton placeholder={t('settings llm provider label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n <Select.Option value={DEFAULT_VALUE}>{t('settings default label')}</Select.Option>\n {LLM_PROVIDERS.map((model) => (\n <Select.Option key={model} value={model}>\n {LLM_PROVIDER_LABELS[model]}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings edge llm model label')}>\n <Select.Root\n value={settings.edgeModel ?? DEFAULT_VALUE}\n onValueChange={(value) => {\n settings.edgeModel = value === DEFAULT_VALUE ? undefined : value;\n }}\n >\n <Select.TriggerButton placeholder={t('settings default llm model label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n <Select.Option value={DEFAULT_VALUE}>{t('settings default label')}</Select.Option>\n {DEFAULT_EDGE_MODELS.map((model) => (\n <Select.Option key={model} value={model}>\n {model}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings ollama llm model label')}>\n <Select.Root\n value={settings.ollamaModel ?? DEFAULT_VALUE}\n onValueChange={(value) => {\n settings.ollamaModel = value === DEFAULT_VALUE ? undefined : value;\n }}\n >\n <Select.TriggerButton placeholder={t('settings default llm model label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n <Select.Option value={DEFAULT_VALUE}>{t('settings default label')}</Select.Option>\n {DEFAULT_OLLAMA_MODELS.map((model) => (\n <Select.Option key={model} value={model}>\n {model}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n </DeprecatedFormContainer>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Match, type Schema } from 'effect';\nimport React, { type ChangeEvent, useCallback } from 'react';\n\nimport { debounce } from '@dxos/async';\nimport { Input, Select, Toolbar, useTranslation } from '@dxos/react-ui';\n\nimport { ASSISTANT_PLUGIN } from '../meta';\nimport { TemplateKinds, type TemplateType, type TemplateKindSchema } from '../types';\n\nexport const PromptSettings = ({ template }: { template: TemplateType }) => {\n const { t } = useTranslation(ASSISTANT_PLUGIN);\n\n const handleKindChange = useCallback(\n (value: string) => {\n const kind = Match.type<string>().pipe(\n Match.withReturnType<Schema.Schema.Type<typeof TemplateKindSchema>>(),\n Match.when('always', () => ({ include: 'always' })),\n Match.when('schema-matching', () => ({ include: 'schema-matching', typename: '' })),\n Match.when('automatically', () => ({ include: 'automatically', description: '' })),\n Match.orElse(() => ({ include: 'manual' })),\n )(value);\n\n template.kind = kind;\n },\n [template],\n );\n\n const handleTypenameChange = useCallback(\n debounce((event: ChangeEvent<HTMLInputElement>) => {\n if (template.kind.include === 'schema-matching') {\n template.kind.typename = event.target.value;\n }\n }, 300),\n [template.kind.include],\n );\n\n const handleDescriptionChange = useCallback(\n debounce((event: ChangeEvent<HTMLInputElement>) => {\n if (template.kind.include === 'automatically') {\n template.kind.description = event.target.value;\n }\n }, 300),\n [template.kind.include],\n );\n\n return (\n <div className='p-2 flex flex-col gap-4'>\n <h2>{t('prompt rules label')}</h2>\n <Toolbar.Root>\n <Select.Root value={template.kind.include} onValueChange={handleKindChange}>\n <Toolbar.Button asChild>\n <Select.TriggerButton />\n </Toolbar.Button>\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {TemplateKinds.map((kind) => (\n <Select.Option key={kind} value={kind}>\n {kind}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n {template.kind.include === 'schema-matching' && (\n <Input.Root>\n <Input.TextInput\n placeholder={t('typename placeholder')}\n defaultValue={template.kind.typename}\n onChange={handleTypenameChange}\n />\n </Input.Root>\n )}\n {template.kind.include === 'automatically' && (\n <Input.Root>\n <Input.TextInput\n placeholder={t('description placeholder')}\n defaultValue={template.kind.description}\n onChange={handleDescriptionChange}\n />\n </Input.Root>\n )}\n </Toolbar.Root>\n </div>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport * from './AmbientDialog';\nexport * from './AssistantSettings';\nexport * from './Prompt';\nexport * from './PromptSettings';\nexport * from './TemplateEditor';\nexport * from './Thread';\nexport * from './Toolbox';\n\n// TODO(burdon): Lazy loading causes issues with Tabster.\n// Repro: open assistant dialog then close.\n// https://github.com/microsoft/fluentui/issues/34020\nexport const AssistantDialog = lazy(() => import('./AssistantDialog'));\nexport const BlueprintEditor = lazy(() => import('./BlueprintEditor'));\nexport const ChatContainer = lazy(() => import('./ChatContainer'));\nexport const TemplateContainer = lazy(() => import('./TemplateContainer'));\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["React", "DEFAULT_EDGE_MODELS", "DEFAULT_OLLAMA_MODELS", "Input", "Select", "useTranslation", "DeprecatedFormContainer", "DeprecatedFormInput", "DEFAULT_VALUE", "LLM_PROVIDER_LABELS", "edge", "ollama", "lmstudio", "AssistantSettings", "settings", "t", "useTranslation", "ASSISTANT_PLUGIN", "DeprecatedFormContainer", "DeprecatedFormInput", "label", "Input", "Switch", "checked", "customPrompts", "onCheckedChange", "Select", "Root", "value", "llmProvider", "onValueChange", "undefined", "TriggerButton", "placeholder", "Portal", "Content", "Viewport", "Option", "LLM_PROVIDERS", "map", "model", "key", "edgeModel", "DEFAULT_EDGE_MODELS", "ollamaModel", "DEFAULT_OLLAMA_MODELS", "Match", "React", "useCallback", "debounce", "Input", "Select", "Toolbar", "useTranslation", "PromptSettings", "template", "t", "useTranslation", "ASSISTANT_PLUGIN", "handleKindChange", "useCallback", "value", "kind", "Match", "type", "pipe", "withReturnType", "when", "include", "typename", "description", "orElse", "handleTypenameChange", "debounce", "event", "target", "handleDescriptionChange", "React", "div", "className", "h2", "Toolbar", "Root", "Select", "onValueChange", "Button", "asChild", "TriggerButton", "Portal", "Content", "Viewport", "TemplateKinds", "map", "Option", "key", "Input", "TextInput", "placeholder", "defaultValue", "onChange", "lazy", "AssistantDialog", "lazy", "BlueprintEditor", "ChatContainer", "TemplateContainer"]
|
|
7
7
|
}
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
ServiceType,
|
|
7
7
|
categoryIcons
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-TQYSF2GS.mjs";
|
|
9
9
|
import {
|
|
10
10
|
ASSISTANT_PLUGIN
|
|
11
11
|
} from "./chunk-BB2TAT4P.mjs";
|
|
@@ -1715,10 +1715,10 @@ import { isNonNullable as isNonNullable3 } from "@dxos/util";
|
|
|
1715
1715
|
// packages/plugins/plugin-assistant/src/capabilities/index.ts
|
|
1716
1716
|
import { lazy } from "@dxos/app-framework";
|
|
1717
1717
|
var AiClient = lazy(() => import("./ai-client-I5LXHMOZ.mjs"));
|
|
1718
|
-
var AppGraphBuilder = lazy(() => import("./app-graph-builder-
|
|
1719
|
-
var IntentResolver = lazy(() => import("./intent-resolver-
|
|
1720
|
-
var ReactSurface = lazy(() => import("./react-surface-
|
|
1721
|
-
var Settings = lazy(() => import("./settings-
|
|
1718
|
+
var AppGraphBuilder = lazy(() => import("./app-graph-builder-5YX5TKKT.mjs"));
|
|
1719
|
+
var IntentResolver = lazy(() => import("./intent-resolver-N5TM3RTL.mjs"));
|
|
1720
|
+
var ReactSurface = lazy(() => import("./react-surface-FTKGQQD2.mjs"));
|
|
1721
|
+
var Settings = lazy(() => import("./settings-TGCCAH5D.mjs"));
|
|
1722
1722
|
|
|
1723
1723
|
// packages/plugins/plugin-assistant/src/hooks/useChatProcessor.tsx
|
|
1724
1724
|
var __dxlog_file7 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assistant/src/hooks/useChatProcessor.tsx";
|
|
@@ -1842,11 +1842,35 @@ var useMessageQueue = (chat) => {
|
|
|
1842
1842
|
// packages/plugins/plugin-assistant/src/hooks/useServices.ts
|
|
1843
1843
|
import { useEffect as useEffect4, useMemo as useMemo5, useState as useState5 } from "react";
|
|
1844
1844
|
|
|
1845
|
-
// packages/plugins/plugin-assistant/src/testing/blueprint.ts
|
|
1845
|
+
// packages/plugins/plugin-assistant/src/testing/test-blueprint.ts
|
|
1846
|
+
import { ToolRegistry } from "@dxos/ai";
|
|
1846
1847
|
import { EXA_API_KEY } from "@dxos/ai/testing";
|
|
1847
|
-
import { createExaTool, createGraphWriterTool, createLocalSearchTool } from "@dxos/assistant";
|
|
1848
|
+
import { BlueprintParser, createExaTool, createGraphWriterTool, createLocalSearchTool } from "@dxos/assistant";
|
|
1848
1849
|
import { DataTypes } from "@dxos/schema";
|
|
1849
1850
|
import { isNonNullable as isNonNullable4 } from "@dxos/util";
|
|
1851
|
+
var RESEARCH_BLUEPRINT = BlueprintParser.create().parse({
|
|
1852
|
+
steps: [
|
|
1853
|
+
{
|
|
1854
|
+
instructions: "Research information and entities related to the selected objects.",
|
|
1855
|
+
tools: [
|
|
1856
|
+
"search/web_search"
|
|
1857
|
+
]
|
|
1858
|
+
},
|
|
1859
|
+
{
|
|
1860
|
+
instructions: "Based on your research find matching entires that are already in the graph. Do exaustive research.",
|
|
1861
|
+
tools: [
|
|
1862
|
+
"search/local_search"
|
|
1863
|
+
]
|
|
1864
|
+
},
|
|
1865
|
+
{
|
|
1866
|
+
instructions: "Add researched data to the graph. Make connections to existing objects.",
|
|
1867
|
+
tools: [
|
|
1868
|
+
"search/local_search",
|
|
1869
|
+
"graph/writer"
|
|
1870
|
+
]
|
|
1871
|
+
}
|
|
1872
|
+
]
|
|
1873
|
+
});
|
|
1850
1874
|
|
|
1851
1875
|
// packages/plugins/plugin-assistant/src/testing/test-functions.ts
|
|
1852
1876
|
import { DEFAULT_EDGE_MODEL as DEFAULT_EDGE_MODEL3 } from "@dxos/ai";
|
|
@@ -1950,7 +1974,7 @@ import { useMemo as useMemo6 } from "react";
|
|
|
1950
1974
|
import { Capabilities as Capabilities3, useCapabilities as useCapabilities3 } from "@dxos/app-framework";
|
|
1951
1975
|
import { Filter as Filter4 } from "@dxos/client/echo";
|
|
1952
1976
|
import { Obj } from "@dxos/echo";
|
|
1953
|
-
import {
|
|
1977
|
+
import { getObjectDXN, getLabel } from "@dxos/echo-schema";
|
|
1954
1978
|
import { log as log7 } from "@dxos/log";
|
|
1955
1979
|
var __dxlog_file8 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assistant/src/hooks/useContextProvider.ts";
|
|
1956
1980
|
var stringMatch = (query, label) => label.toLowerCase().startsWith(query.toLowerCase());
|
|
@@ -1970,13 +1994,13 @@ var useContextProvider = (space) => {
|
|
|
1970
1994
|
label: getLabel(Obj.getSchema(object), object)
|
|
1971
1995
|
}, {
|
|
1972
1996
|
F: __dxlog_file8,
|
|
1973
|
-
L:
|
|
1997
|
+
L: 37,
|
|
1974
1998
|
S: void 0,
|
|
1975
1999
|
C: (f, a) => f(...a)
|
|
1976
2000
|
});
|
|
1977
2001
|
return object;
|
|
1978
|
-
}).filter((object) => stringMatch(query, getLabel(Obj.getSchema(object), object) ?? "")).filter((object) => !!
|
|
1979
|
-
uri:
|
|
2002
|
+
}).filter((object) => stringMatch(query, getLabel(Obj.getSchema(object), object) ?? "")).filter((object) => !!getObjectDXN(object)).map((object) => ({
|
|
2003
|
+
uri: getObjectDXN(object).toString(),
|
|
1980
2004
|
label: getLabel(Obj.getSchema(object), object) ?? ""
|
|
1981
2005
|
}));
|
|
1982
2006
|
},
|
|
@@ -2104,4 +2128,4 @@ export {
|
|
|
2104
2128
|
Settings,
|
|
2105
2129
|
ThreadContainer
|
|
2106
2130
|
};
|
|
2107
|
-
//# sourceMappingURL=chunk-
|
|
2131
|
+
//# sourceMappingURL=chunk-MNH6E6EB.mjs.map
|