@dxos/plugin-assistant 0.8.4-main.2e9d522 → 0.8.4-main.67995b8
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/{TemplateContainer-RPJ2LBOB.mjs → BlueprintContainer-IZ4AK5EO.mjs} +9 -8
- package/dist/lib/browser/BlueprintContainer-IZ4AK5EO.mjs.map +7 -0
- package/dist/lib/browser/{ChatContainer-M3IHQLRS.mjs → ChatContainer-RP3QEXYX.mjs} +3 -3
- package/dist/lib/browser/{ChatDialog-X6VN6QZI.mjs → ChatDialog-ZVLXFHEY.mjs} +3 -3
- package/dist/lib/browser/{app-graph-builder-JTXBKE7O.mjs → app-graph-builder-XSEOKJLG.mjs} +5 -64
- package/dist/lib/browser/app-graph-builder-XSEOKJLG.mjs.map +7 -0
- package/dist/lib/browser/{chunk-OWY4CUQY.mjs → chunk-63GG6U6D.mjs} +18 -37
- package/dist/lib/browser/chunk-63GG6U6D.mjs.map +7 -0
- package/dist/lib/browser/{chunk-JQBVLTM5.mjs → chunk-7W7LHTRH.mjs} +14 -1
- package/dist/lib/browser/chunk-7W7LHTRH.mjs.map +7 -0
- package/dist/lib/browser/{chunk-AEAEKWOC.mjs → chunk-KFXSBNZR.mjs} +10 -19
- package/dist/lib/browser/chunk-KFXSBNZR.mjs.map +7 -0
- package/dist/lib/browser/{chunk-EQDW6BYQ.mjs → chunk-LERGF5YG.mjs} +7 -7
- package/dist/lib/browser/{chunk-EQDW6BYQ.mjs.map → chunk-LERGF5YG.mjs.map} +3 -3
- package/dist/lib/browser/index.mjs +42 -30
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-5RMMCMXG.mjs → intent-resolver-MV3VSZLS.mjs} +19 -4
- package/dist/lib/browser/intent-resolver-MV3VSZLS.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-66VY37YQ.mjs → react-surface-3GYEHQRP.mjs} +14 -14
- package/dist/lib/browser/react-surface-3GYEHQRP.mjs.map +7 -0
- package/dist/lib/browser/{settings-2DGP3UTS.mjs → settings-5GTTCVGD.mjs} +2 -2
- package/dist/lib/browser/types/index.mjs +1 -1
- package/dist/lib/node-esm/{TemplateContainer-A3NAQCZE.mjs → BlueprintContainer-RGTMNLNX.mjs} +9 -8
- package/dist/lib/node-esm/BlueprintContainer-RGTMNLNX.mjs.map +7 -0
- package/dist/lib/node-esm/{ChatContainer-VZT74PO2.mjs → ChatContainer-W3W6FWV3.mjs} +3 -3
- package/dist/lib/node-esm/{ChatDialog-RJ6FDX4Q.mjs → ChatDialog-QW4JRKVO.mjs} +3 -3
- package/dist/lib/node-esm/{app-graph-builder-OWSOXFTD.mjs → app-graph-builder-PANCJUHV.mjs} +5 -64
- package/dist/lib/node-esm/app-graph-builder-PANCJUHV.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-SENTQAEO.mjs → chunk-BFO3KHYL.mjs} +18 -37
- package/dist/lib/node-esm/chunk-BFO3KHYL.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-E33DNNDW.mjs → chunk-MS3PJARN.mjs} +7 -7
- package/dist/lib/node-esm/{chunk-E33DNNDW.mjs.map → chunk-MS3PJARN.mjs.map} +3 -3
- package/dist/lib/node-esm/{chunk-2XL6MNPE.mjs → chunk-VIIMA3XQ.mjs} +10 -19
- package/dist/lib/node-esm/chunk-VIIMA3XQ.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-BISJDTBK.mjs → chunk-Z7PUODRT.mjs} +14 -1
- package/dist/lib/node-esm/chunk-Z7PUODRT.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +42 -30
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-YPPYELY3.mjs → intent-resolver-3FMC3GHC.mjs} +19 -4
- package/dist/lib/node-esm/intent-resolver-3FMC3GHC.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-RJMRBR2M.mjs → react-surface-QDQWJ7FZ.mjs} +14 -14
- package/dist/lib/node-esm/react-surface-QDQWJ7FZ.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-47RYZOU4.mjs → settings-J2EXEM5H.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/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capability-definitions.d.ts +7 -0
- package/dist/types/src/capability-definitions.d.ts.map +1 -0
- package/dist/types/src/components/BlueprintContainer.d.ts +8 -0
- package/dist/types/src/components/BlueprintContainer.d.ts.map +1 -0
- package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts +0 -42
- package/dist/types/src/components/ChatThread/ChatThread.stories.d.ts.map +1 -1
- package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts +2 -1
- package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
- package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +2 -1
- package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +1 -1
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useChatServices.d.ts +2 -2
- package/dist/types/src/hooks/useChatServices.d.ts.map +1 -1
- package/dist/types/src/stories/Chat.stories.d.ts +2 -44
- package/dist/types/src/stories/Chat.stories.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +1 -10
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/schema.d.ts +32 -0
- package/dist/types/src/types/schema.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +75 -73
- package/src/AssistantPlugin.tsx +32 -6
- package/src/capabilities/app-graph-builder.ts +2 -86
- package/src/capabilities/intent-resolver.ts +16 -2
- package/src/capabilities/react-surface.tsx +7 -7
- package/src/capability-definitions.ts +15 -0
- package/src/components/BlueprintContainer.tsx +24 -0
- package/src/components/TemplateEditor/TemplateEditor.stories.tsx +4 -4
- package/src/components/TemplateEditor/TemplateEditor.tsx +12 -10
- package/src/components/TemplateEditor/TemplateForm.stories.tsx +4 -4
- package/src/components/TemplateEditor/TemplateForm.tsx +3 -2
- package/src/components/index.ts +1 -1
- package/src/hooks/useChatServices.ts +24 -48
- package/src/stories/Chat.stories.tsx +17 -24
- package/src/translations.ts +1 -10
- package/src/types/schema.ts +13 -0
- package/dist/lib/browser/TemplateContainer-RPJ2LBOB.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-JTXBKE7O.mjs.map +0 -7
- package/dist/lib/browser/chunk-AEAEKWOC.mjs.map +0 -7
- package/dist/lib/browser/chunk-JQBVLTM5.mjs.map +0 -7
- package/dist/lib/browser/chunk-OWY4CUQY.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-5RMMCMXG.mjs.map +0 -7
- package/dist/lib/browser/react-surface-66VY37YQ.mjs.map +0 -7
- package/dist/lib/node-esm/TemplateContainer-A3NAQCZE.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-OWSOXFTD.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-2XL6MNPE.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-BISJDTBK.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-SENTQAEO.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-YPPYELY3.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-RJMRBR2M.mjs.map +0 -7
- package/dist/types/src/components/TemplateContainer.d.ts +0 -8
- package/dist/types/src/components/TemplateContainer.d.ts.map +0 -1
- package/src/components/TemplateContainer.tsx +0 -24
- /package/dist/lib/browser/{ChatContainer-M3IHQLRS.mjs.map → ChatContainer-RP3QEXYX.mjs.map} +0 -0
- /package/dist/lib/browser/{ChatDialog-X6VN6QZI.mjs.map → ChatDialog-ZVLXFHEY.mjs.map} +0 -0
- /package/dist/lib/browser/{settings-2DGP3UTS.mjs.map → settings-5GTTCVGD.mjs.map} +0 -0
- /package/dist/lib/node-esm/{ChatContainer-VZT74PO2.mjs.map → ChatContainer-W3W6FWV3.mjs.map} +0 -0
- /package/dist/lib/node-esm/{ChatDialog-RJ6FDX4Q.mjs.map → ChatDialog-QW4JRKVO.mjs.map} +0 -0
- /package/dist/lib/node-esm/{settings-47RYZOU4.mjs.map → settings-J2EXEM5H.mjs.map} +0 -0
|
@@ -1,27 +1,28 @@
|
|
|
1
1
|
import {
|
|
2
2
|
TemplateEditor
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-KFXSBNZR.mjs";
|
|
4
4
|
import "./chunk-FDCJSQYF.mjs";
|
|
5
5
|
|
|
6
|
-
// src/components/
|
|
6
|
+
// src/components/BlueprintContainer.tsx
|
|
7
7
|
import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
|
|
8
8
|
import React from "react";
|
|
9
9
|
import { StackItem } from "@dxos/react-ui-stack";
|
|
10
|
-
var
|
|
10
|
+
var BlueprintContainer = ({ blueprint }) => {
|
|
11
11
|
var _effect = _useSignals();
|
|
12
12
|
try {
|
|
13
13
|
return /* @__PURE__ */ React.createElement(StackItem.Content, {
|
|
14
14
|
classNames: "container-max-width"
|
|
15
15
|
}, /* @__PURE__ */ React.createElement(TemplateEditor, {
|
|
16
|
-
|
|
16
|
+
id: blueprint.id,
|
|
17
|
+
template: blueprint.instructions
|
|
17
18
|
}));
|
|
18
19
|
} finally {
|
|
19
20
|
_effect.f();
|
|
20
21
|
}
|
|
21
22
|
};
|
|
22
|
-
var
|
|
23
|
+
var BlueprintContainer_default = BlueprintContainer;
|
|
23
24
|
export {
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
BlueprintContainer,
|
|
26
|
+
BlueprintContainer_default as default
|
|
26
27
|
};
|
|
27
|
-
//# sourceMappingURL=
|
|
28
|
+
//# sourceMappingURL=BlueprintContainer-IZ4AK5EO.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/BlueprintContainer.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type Blueprint } from '@dxos/blueprints';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport { TemplateEditor } from './TemplateEditor';\n\nexport type BlueprintContainerProps = {\n blueprint: Blueprint.Blueprint;\n};\n\nexport const BlueprintContainer = ({ blueprint }: BlueprintContainerProps) => {\n return (\n <StackItem.Content classNames='container-max-width'>\n <TemplateEditor id={blueprint.id} template={blueprint.instructions} />\n </StackItem.Content>\n );\n};\n\nexport default BlueprintContainer;\n"],
|
|
5
|
+
"mappings": ";;;;;;;AAIA,OAAOA,WAAW;AAGlB,SAASC,iBAAiB;AAQnB,IAAMC,qBAAqB,CAAC,EAAEC,UAAS,MAA2B;;;AACvE,WACE,sBAAA,cAACC,UAAUC,SAAO;MAACC,YAAW;OAC5B,sBAAA,cAACC,gBAAAA;MAAeC,IAAIL,UAAUK;MAAIC,UAAUN,UAAUO;;;;;AAG5D;AAEA,IAAA,6BAAeR;",
|
|
6
|
+
"names": ["React", "StackItem", "BlueprintContainer", "blueprint", "StackItem", "Content", "classNames", "TemplateEditor", "id", "template", "instructions"]
|
|
7
|
+
}
|
|
@@ -3,8 +3,8 @@ import {
|
|
|
3
3
|
hooks_exports,
|
|
4
4
|
useChatProcessor,
|
|
5
5
|
useChatServices
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-63GG6U6D.mjs";
|
|
7
|
+
import "./chunk-7W7LHTRH.mjs";
|
|
8
8
|
import {
|
|
9
9
|
meta
|
|
10
10
|
} from "./chunk-FDCJSQYF.mjs";
|
|
@@ -51,4 +51,4 @@ export {
|
|
|
51
51
|
ChatContainer,
|
|
52
52
|
ChatContainer_default as default
|
|
53
53
|
};
|
|
54
|
-
//# sourceMappingURL=ChatContainer-
|
|
54
|
+
//# sourceMappingURL=ChatContainer-RP3QEXYX.mjs.map
|
|
@@ -3,8 +3,8 @@ import {
|
|
|
3
3
|
hooks_exports,
|
|
4
4
|
useChatProcessor,
|
|
5
5
|
useChatServices
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-63GG6U6D.mjs";
|
|
7
|
+
import "./chunk-7W7LHTRH.mjs";
|
|
8
8
|
import {
|
|
9
9
|
meta
|
|
10
10
|
} from "./chunk-FDCJSQYF.mjs";
|
|
@@ -69,4 +69,4 @@ export {
|
|
|
69
69
|
ChatDialog,
|
|
70
70
|
ChatDialog_default as default
|
|
71
71
|
};
|
|
72
|
-
//# sourceMappingURL=ChatDialog-
|
|
72
|
+
//# sourceMappingURL=ChatDialog-ZVLXFHEY.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Assistant
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-7W7LHTRH.mjs";
|
|
4
4
|
import {
|
|
5
5
|
ASSISTANT_DIALOG,
|
|
6
6
|
meta
|
|
@@ -10,7 +10,6 @@ import {
|
|
|
10
10
|
import { Rx } from "@effect-rx/rx-react";
|
|
11
11
|
import { Option, pipe } from "effect";
|
|
12
12
|
import { Capabilities, contributes, createIntent, LayoutAction } from "@dxos/app-framework";
|
|
13
|
-
import { Template } from "@dxos/blueprints";
|
|
14
13
|
import { Sequence } from "@dxos/conductor";
|
|
15
14
|
import { Obj } from "@dxos/echo";
|
|
16
15
|
import { invariant } from "@dxos/invariant";
|
|
@@ -18,8 +17,8 @@ import { ClientCapabilities } from "@dxos/plugin-client";
|
|
|
18
17
|
import { PLANK_COMPANION_TYPE, ATTENDABLE_PATH_SEPARATOR } from "@dxos/plugin-deck/types";
|
|
19
18
|
import { createExtension, ROOT_ID } from "@dxos/plugin-graph";
|
|
20
19
|
import { getActiveSpace, rxFromQuery } from "@dxos/plugin-space";
|
|
21
|
-
import {
|
|
22
|
-
import { Filter, Query, fullyQualifiedId, getSpace
|
|
20
|
+
import { SpaceAction } from "@dxos/plugin-space/types";
|
|
21
|
+
import { Filter, Query, fullyQualifiedId, getSpace } from "@dxos/react-client/echo";
|
|
23
22
|
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-assistant/src/capabilities/app-graph-builder.ts";
|
|
24
23
|
var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBuilder, [
|
|
25
24
|
createExtension({
|
|
@@ -132,64 +131,6 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
|
|
|
132
131
|
}
|
|
133
132
|
}
|
|
134
133
|
]), Option.getOrElse(() => [])))
|
|
135
|
-
}),
|
|
136
|
-
createExtension({
|
|
137
|
-
id: `${meta.id}/root`,
|
|
138
|
-
connector: (node) => {
|
|
139
|
-
let query;
|
|
140
|
-
return Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.type === SPACE_TYPE && isSpace(node2.data) ? Option.some(node2.data) : Option.none()), Option.map((space) => {
|
|
141
|
-
if (!query) {
|
|
142
|
-
query = space.db.query(Query.type(Template.Template));
|
|
143
|
-
}
|
|
144
|
-
const templates = get(rxFromQuery(query));
|
|
145
|
-
return templates.length > 0 ? [
|
|
146
|
-
{
|
|
147
|
-
id: `${meta.id}/templates`,
|
|
148
|
-
type: `${meta.id}/templates`,
|
|
149
|
-
data: null,
|
|
150
|
-
properties: {
|
|
151
|
-
label: [
|
|
152
|
-
"templates label",
|
|
153
|
-
{
|
|
154
|
-
ns: meta.id
|
|
155
|
-
}
|
|
156
|
-
],
|
|
157
|
-
icon: "ph--file-code--regular",
|
|
158
|
-
space
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
] : [];
|
|
162
|
-
}), Option.getOrElse(() => [])));
|
|
163
|
-
}
|
|
164
|
-
}),
|
|
165
|
-
createExtension({
|
|
166
|
-
id: `${meta.id}/templates`,
|
|
167
|
-
connector: (node) => {
|
|
168
|
-
let query;
|
|
169
|
-
return Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.id === `${meta.id}/templates` && isSpace(node2.properties.space) ? Option.some(node2.properties.space) : Option.none()), Option.map((space) => {
|
|
170
|
-
if (!query) {
|
|
171
|
-
query = space.db.query(Query.type(Template.Template));
|
|
172
|
-
}
|
|
173
|
-
return get(rxFromQuery(query)).toSorted((a, b) => {
|
|
174
|
-
const nameA = a.name ?? "";
|
|
175
|
-
const nameB = b.name ?? "";
|
|
176
|
-
return nameA.localeCompare(nameB);
|
|
177
|
-
}).map((template) => ({
|
|
178
|
-
id: fullyQualifiedId(template),
|
|
179
|
-
type: `${meta.id}/template`,
|
|
180
|
-
data: template,
|
|
181
|
-
properties: {
|
|
182
|
-
label: template.name ?? [
|
|
183
|
-
"object placeholder",
|
|
184
|
-
{
|
|
185
|
-
ns: meta.id
|
|
186
|
-
}
|
|
187
|
-
],
|
|
188
|
-
icon: "ph--file-code--regular"
|
|
189
|
-
}
|
|
190
|
-
}));
|
|
191
|
-
}), Option.getOrElse(() => [])));
|
|
192
|
-
}
|
|
193
134
|
})
|
|
194
135
|
]);
|
|
195
136
|
var getOrCreateChat = async (dispatch, space) => {
|
|
@@ -204,7 +145,7 @@ var getOrCreateChat = async (dispatch, space) => {
|
|
|
204
145
|
}));
|
|
205
146
|
invariant(Obj.instanceOf(Assistant.Chat, data?.object), void 0, {
|
|
206
147
|
F: __dxlog_file,
|
|
207
|
-
L:
|
|
148
|
+
L: 166,
|
|
208
149
|
S: void 0,
|
|
209
150
|
A: [
|
|
210
151
|
"Obj.instanceOf(Assistant.Chat, data?.object)",
|
|
@@ -220,4 +161,4 @@ var getOrCreateChat = async (dispatch, space) => {
|
|
|
220
161
|
export {
|
|
221
162
|
app_graph_builder_default as default
|
|
222
163
|
};
|
|
223
|
-
//# sourceMappingURL=app-graph-builder-
|
|
164
|
+
//# sourceMappingURL=app-graph-builder-XSEOKJLG.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 { Rx } from '@effect-rx/rx-react';\nimport { Option, pipe } from 'effect';\n\nimport {\n Capabilities,\n contributes,\n createIntent,\n LayoutAction,\n type PromiseIntentDispatcher,\n type PluginContext,\n} from '@dxos/app-framework';\nimport { Sequence } from '@dxos/conductor';\nimport { Obj } from '@dxos/echo';\nimport { invariant } from '@dxos/invariant';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { PLANK_COMPANION_TYPE, ATTENDABLE_PATH_SEPARATOR } from '@dxos/plugin-deck/types';\nimport { createExtension, ROOT_ID } from '@dxos/plugin-graph';\nimport { getActiveSpace, rxFromQuery } from '@dxos/plugin-space';\nimport { SpaceAction } from '@dxos/plugin-space/types';\nimport { type Space, Filter, Query, type QueryResult, fullyQualifiedId, getSpace } from '@dxos/react-client/echo';\n\nimport { ASSISTANT_DIALOG, meta } from '../meta';\nimport { Assistant } from '../types';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.AppGraphBuilder, [\n createExtension({\n id: `${meta.id}/assistant`,\n actions: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),\n Option.map(() => [\n {\n id: `${LayoutAction.UpdateDialog._tag}/assistant/open`,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const client = context.getCapability(ClientCapabilities.Client);\n const space = getActiveSpace(context) ?? client.spaces.default;\n const chat = await getOrCreateChat(dispatch, space);\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: meta.id }],\n icon: 'ph--sparkle--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 Option.getOrElse(() => []),\n ),\n ),\n }),\n\n createExtension({\n id: `${meta.id}/object-chat-companion`,\n connector: (node) => {\n let query: QueryResult<Assistant.Chat> | undefined;\n return Rx.make((get) => {\n const nodeOption = get(node);\n if (Option.isNone(nodeOption)) {\n return [];\n }\n\n const object = nodeOption.value.data;\n if (!Obj.isObject(object)) {\n return [];\n }\n\n const space = getSpace(object);\n if (!space) {\n return [];\n }\n\n if (!query) {\n query = space.db.query(Query.select(Filter.ids(object.id)).targetOf(Assistant.CompanionTo).source());\n }\n\n const chat = get(rxFromQuery(query))[0];\n return [\n {\n id: [fullyQualifiedId(object), 'assistant-chat'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: chat ?? 'assistant-chat',\n properties: {\n label: ['assistant chat label', { ns: meta.id }],\n icon: 'ph--sparkle--regular',\n position: 'hoist',\n disposition: 'hidden',\n },\n },\n ];\n });\n },\n }),\n\n createExtension({\n id: `${meta.id}/sequence-logs`,\n connector: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (Obj.instanceOf(Sequence, node.data) ? Option.some(node) : Option.none())),\n Option.map((node) => [\n {\n id: [node.id, 'logs'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'logs',\n properties: {\n label: ['sequence logs label', { ns: meta.id }],\n icon: 'ph--clock-countdown--regular',\n disposition: 'hidden',\n },\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n ]);\n\n// TODO(burdon): Factor out.\nconst getOrCreateChat = async (\n dispatch: PromiseIntentDispatcher,\n space: Space,\n): Promise<Assistant.Chat | undefined> => {\n // TODO(wittjosiah): This should be possible with a single query.\n const { objects: allChats } = await space.db.query(Query.type(Assistant.Chat)).run();\n const { objects: relatedChats } = await space.db\n .query(Query.type(Assistant.Chat).sourceOf(Assistant.CompanionTo).source())\n .run();\n const chats = allChats.filter((chat) => !relatedChats.includes(chat));\n // console.log('objects', JSON.stringify(objects, null, 2));\n if (chats.length > 0) {\n // TODO(burdon): Is this the most recent?\n return chats[chats.length - 1];\n }\n\n const { data } = await dispatch(createIntent(Assistant.CreateChat, { space }));\n invariant(Obj.instanceOf(Assistant.Chat, data?.object));\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": ["Rx", "Option", "pipe", "Capabilities", "contributes", "createIntent", "LayoutAction", "Sequence", "Obj", "invariant", "ClientCapabilities", "PLANK_COMPANION_TYPE", "ATTENDABLE_PATH_SEPARATOR", "createExtension", "ROOT_ID", "getActiveSpace", "rxFromQuery", "SpaceAction", "Filter", "Query", "fullyQualifiedId", "getSpace", "context", "contributes", "Capabilities", "AppGraphBuilder", "createExtension", "id", "meta", "actions", "node", "Rx", "make", "get", "pipe", "Option", "flatMap", "ROOT_ID", "some", "none", "map", "LayoutAction", "UpdateDialog", "_tag", "data", "dispatchPromise", "dispatch", "getCapability", "IntentDispatcher", "client", "ClientCapabilities", "Client", "space", "getActiveSpace", "spaces", "default", "chat", "getOrCreateChat", "createIntent", "part", "subject", "ASSISTANT_DIALOG", "options", "state", "blockAlign", "props", "properties", "label", "ns", "icon", "disposition", "position", "keyBinding", "macos", "windows", "getOrElse", "connector", "query", "nodeOption", "isNone", "object", "value", "Obj", "isObject", "getSpace", "db", "Query", "select", "Filter", "ids", "targetOf", "Assistant", "CompanionTo", "source", "rxFromQuery", "fullyQualifiedId", "join", "ATTENDABLE_PATH_SEPARATOR", "type", "PLANK_COMPANION_TYPE", "instanceOf", "Sequence", "objects", "allChats", "Chat", "run", "relatedChats", "sourceOf", "chats", "filter", "includes", "length", "CreateChat", "invariant", "SpaceAction", "AddObject", "target"]
|
|
7
|
+
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ServiceType
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-7W7LHTRH.mjs";
|
|
4
4
|
import {
|
|
5
|
+
ASSISTANT_PLUGIN,
|
|
5
6
|
__export,
|
|
6
7
|
__reExport,
|
|
7
8
|
meta
|
|
@@ -462,54 +463,33 @@ var useChatServices_exports = {};
|
|
|
462
463
|
__export(useChatServices_exports, {
|
|
463
464
|
useChatServices: () => useChatServices
|
|
464
465
|
});
|
|
465
|
-
__reExport(useChatServices_exports, assistant_star);
|
|
466
466
|
import { Layer } from "effect";
|
|
467
467
|
import { useMemo } from "react";
|
|
468
468
|
import { useDeepCompareMemoize } from "use-deep-compare-effect";
|
|
469
|
-
import { ToolRegistry } from "@dxos/ai";
|
|
470
|
-
import { AiServiceTestingPreset } from "@dxos/ai/testing";
|
|
471
469
|
import { Capabilities, useCapabilities } from "@dxos/app-framework";
|
|
472
470
|
import { makeToolExecutionServiceFromFunctions, makeToolResolverFromFunctions } from "@dxos/assistant";
|
|
473
|
-
import {
|
|
471
|
+
import { ComputeEventLogger, CredentialsService, DatabaseService, LocalFunctionExecutionService, QueueService, RemoteFunctionExecutionService, TracingService } from "@dxos/functions";
|
|
472
|
+
|
|
473
|
+
// src/capability-definitions.ts
|
|
474
|
+
import { defineCapability } from "@dxos/app-framework";
|
|
475
|
+
(function(AssistantCapabilities2) {
|
|
476
|
+
AssistantCapabilities2.AiServiceLayer = defineCapability(`${ASSISTANT_PLUGIN}/capability/ai-service-factory`);
|
|
477
|
+
})(AssistantCapabilities || (AssistantCapabilities = {}));
|
|
478
|
+
var AssistantCapabilities;
|
|
479
|
+
|
|
480
|
+
// src/hooks/useChatServices.ts
|
|
481
|
+
__reExport(useChatServices_exports, assistant_star);
|
|
474
482
|
import * as assistant_star from "@dxos/assistant";
|
|
475
483
|
var useChatServices = ({ space }) => {
|
|
476
|
-
const
|
|
477
|
-
const
|
|
478
|
-
const toolExecutionService = useToolExecutionService();
|
|
484
|
+
const aiServiceLayer = useCapabilities(AssistantCapabilities.AiServiceLayer).at(0) ?? Layer.die("AiService not found");
|
|
485
|
+
const functions = useCapabilities(Capabilities.Functions).flat();
|
|
479
486
|
return useMemo(() => {
|
|
480
|
-
return Layer.mergeAll(
|
|
487
|
+
return Layer.mergeAll(aiServiceLayer, makeToolResolverFromFunctions(functions), makeToolExecutionServiceFromFunctions(functions), CredentialsService.configuredLayer([]), space ? DatabaseService.makeLayer(space.db) : DatabaseService.notAvailable, space ? QueueService.makeLayer(space.queues) : QueueService.notAvailable, ComputeEventLogger.layerFromTracing).pipe(Layer.provideMerge(TracingService.layerNoop), Layer.provideMerge(LocalFunctionExecutionService.layer), Layer.provideMerge(RemoteFunctionExecutionService.mockLayer));
|
|
481
488
|
}, [
|
|
482
489
|
space,
|
|
483
|
-
toolRegistry,
|
|
484
|
-
toolResolver
|
|
485
|
-
]);
|
|
486
|
-
};
|
|
487
|
-
var useToolResolver = () => {
|
|
488
|
-
const functions = useCapabilities(Capabilities.Functions).flat();
|
|
489
|
-
return useMemo(() => makeToolResolverFromFunctions(functions), [
|
|
490
490
|
useDeepCompareMemoize(functions.map((f) => f.name))
|
|
491
491
|
]);
|
|
492
492
|
};
|
|
493
|
-
var useToolExecutionService = () => {
|
|
494
|
-
const functions = useCapabilities(Capabilities.Functions).flat();
|
|
495
|
-
return useMemo(() => makeToolExecutionServiceFromFunctions(functions), [
|
|
496
|
-
useDeepCompareMemoize(functions.map((f) => f.name))
|
|
497
|
-
]);
|
|
498
|
-
};
|
|
499
|
-
var useToolRegistry = () => {
|
|
500
|
-
const tools = useCapabilities(Capabilities.Tools).flat();
|
|
501
|
-
return useMemo(() => {
|
|
502
|
-
const toolRegistry = new ToolRegistry([]);
|
|
503
|
-
for (const tool of tools) {
|
|
504
|
-
if (!toolRegistry.has(tool)) {
|
|
505
|
-
toolRegistry.register(tool);
|
|
506
|
-
}
|
|
507
|
-
}
|
|
508
|
-
return toolRegistry;
|
|
509
|
-
}, [
|
|
510
|
-
useDeepCompareMemoize(tools)
|
|
511
|
-
]);
|
|
512
|
-
};
|
|
513
493
|
|
|
514
494
|
// src/hooks/index.ts
|
|
515
495
|
__reExport(hooks_exports, useChatServices_exports);
|
|
@@ -2236,10 +2216,11 @@ var Chat = {
|
|
|
2236
2216
|
|
|
2237
2217
|
export {
|
|
2238
2218
|
useChatProcessor,
|
|
2219
|
+
AssistantCapabilities,
|
|
2239
2220
|
useChatServices,
|
|
2240
2221
|
hooks_exports,
|
|
2241
2222
|
Toolbox,
|
|
2242
2223
|
ToolboxContainer,
|
|
2243
2224
|
Chat
|
|
2244
2225
|
};
|
|
2245
|
-
//# sourceMappingURL=chunk-
|
|
2226
|
+
//# sourceMappingURL=chunk-63GG6U6D.mjs.map
|