@dxos/plugin-assistant 0.8.2 → 0.8.3-main.7f5a14c
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-YCPMFK7Y.mjs} +5 -4
- package/dist/lib/browser/BlueprintContainer-4MEK52NT.mjs +204 -0
- package/dist/lib/browser/BlueprintContainer-4MEK52NT.mjs.map +7 -0
- package/dist/lib/browser/{ChatContainer-QTO4LE2C.mjs → ChatContainer-RYFYYEWI.mjs} +5 -4
- package/dist/lib/browser/{TemplateContainer-AKUYL4AV.mjs → TemplateContainer-QQHVOTSI.mjs} +2 -2
- package/dist/lib/browser/TemplateContainer-QQHVOTSI.mjs.map +7 -0
- package/dist/lib/browser/{ai-client-COXVUC6V.mjs → ai-client-MTCTMJ5N.mjs} +11 -7
- package/dist/lib/browser/ai-client-MTCTMJ5N.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-builder-YH4EGNBC.mjs → app-graph-builder-DBCVARVI.mjs} +20 -14
- package/dist/lib/browser/app-graph-builder-DBCVARVI.mjs.map +7 -0
- package/dist/lib/browser/{chunk-3F44MBHU.mjs → chunk-3TIEETB2.mjs} +1 -1
- package/dist/lib/browser/{chunk-3F44MBHU.mjs.map → chunk-3TIEETB2.mjs.map} +2 -2
- package/dist/lib/browser/chunk-AKYSTUBJ.mjs +16 -0
- package/dist/lib/browser/chunk-AKYSTUBJ.mjs.map +7 -0
- package/dist/lib/browser/{chunk-QTW7KVDO.mjs → chunk-DLWFPGZE.mjs} +65 -70
- package/dist/lib/browser/chunk-DLWFPGZE.mjs.map +7 -0
- package/dist/lib/browser/{chunk-USJBRB3H.mjs → chunk-WFZ4EPPI.mjs} +7 -5
- package/dist/lib/browser/{chunk-USJBRB3H.mjs.map → chunk-WFZ4EPPI.mjs.map} +3 -3
- package/dist/lib/browser/{chunk-IHEBFO5O.mjs → chunk-ZVHA24BL.mjs} +12 -11
- package/dist/lib/browser/chunk-ZVHA24BL.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +37 -19
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-63EAHENI.mjs → intent-resolver-ID5NOIIJ.mjs} +15 -14
- package/dist/lib/browser/intent-resolver-ID5NOIIJ.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-XCV6NR75.mjs → react-surface-OD23FVUD.mjs} +26 -15
- package/dist/lib/browser/react-surface-OD23FVUD.mjs.map +7 -0
- package/dist/lib/browser/{settings-SHNQ4XXP.mjs → settings-FUYUBGSQ.mjs} +4 -4
- package/dist/lib/browser/settings-FUYUBGSQ.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +1 -1
- package/dist/lib/node/{AssistantDialog-FDATKYE5.cjs → AssistantDialog-B5YKJOAF.cjs} +9 -8
- package/dist/lib/node/{AssistantDialog-FDATKYE5.cjs.map → AssistantDialog-B5YKJOAF.cjs.map} +1 -1
- package/dist/lib/node/BlueprintContainer-VD6EIWH7.cjs +229 -0
- package/dist/lib/node/BlueprintContainer-VD6EIWH7.cjs.map +7 -0
- package/dist/lib/node/{ChatContainer-5CLHJOIQ.cjs → ChatContainer-WFLTSAFA.cjs} +9 -8
- package/dist/lib/node/{ChatContainer-5CLHJOIQ.cjs.map → ChatContainer-WFLTSAFA.cjs.map} +1 -1
- package/dist/lib/node/{TemplateContainer-CTG2MB4W.cjs → TemplateContainer-JZF2DCCG.cjs} +5 -5
- package/dist/lib/node/TemplateContainer-JZF2DCCG.cjs.map +7 -0
- package/dist/lib/node/{ai-client-R2CGEYZW.cjs → ai-client-3XNIFMJX.cjs} +14 -10
- package/dist/lib/node/ai-client-3XNIFMJX.cjs.map +7 -0
- package/dist/lib/node/{app-graph-builder-PSHIOW3Q.cjs → app-graph-builder-VEPLBTML.cjs} +34 -28
- package/dist/lib/node/app-graph-builder-VEPLBTML.cjs.map +7 -0
- package/dist/lib/node/{chunk-RXPA2C2A.cjs → chunk-7TQAIKE2.cjs} +25 -24
- package/dist/lib/node/chunk-7TQAIKE2.cjs.map +7 -0
- package/dist/lib/node/chunk-BGRQNE3L.cjs +52 -0
- package/dist/lib/node/chunk-BGRQNE3L.cjs.map +7 -0
- package/dist/lib/node/{chunk-FLJWJ35M.cjs → chunk-DXBAFX6M.cjs} +13 -10
- package/dist/lib/node/{chunk-FLJWJ35M.cjs.map → chunk-DXBAFX6M.cjs.map} +3 -3
- package/dist/lib/node/{chunk-H4A42LNR.cjs → chunk-WR5L3TVB.cjs} +86 -92
- package/dist/lib/node/chunk-WR5L3TVB.cjs.map +7 -0
- package/dist/lib/node/{chunk-TS3H5OSX.cjs → chunk-ZP732NHS.cjs} +4 -4
- package/dist/lib/node/{chunk-TS3H5OSX.cjs.map → chunk-ZP732NHS.cjs.map} +2 -2
- package/dist/lib/node/index.cjs +69 -48
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/{intent-resolver-66F7WLW6.cjs → intent-resolver-SDO4YKJK.cjs} +18 -16
- package/dist/lib/node/intent-resolver-SDO4YKJK.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-surface-TASAPRPQ.cjs → react-surface-FANQXIRI.cjs} +37 -27
- package/dist/lib/node/react-surface-FANQXIRI.cjs.map +7 -0
- package/dist/lib/node/{settings-ERKLO6IO.cjs → settings-PXPIPYJN.cjs} +7 -7
- package/dist/lib/node/settings-PXPIPYJN.cjs.map +7 -0
- 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-KPZZD7XC.mjs} +5 -4
- package/dist/lib/{browser/AssistantDialog-K6POM23O.mjs.map → node-esm/AssistantDialog-KPZZD7XC.mjs.map} +1 -1
- package/dist/lib/node-esm/BlueprintContainer-SVOKCRCP.mjs +205 -0
- package/dist/lib/node-esm/BlueprintContainer-SVOKCRCP.mjs.map +7 -0
- package/dist/lib/node-esm/{ChatContainer-QTC5NYE2.mjs → ChatContainer-WSMKUGS6.mjs} +5 -4
- package/dist/lib/{browser/ChatContainer-QTO4LE2C.mjs.map → node-esm/ChatContainer-WSMKUGS6.mjs.map} +1 -1
- package/dist/lib/node-esm/{TemplateContainer-IVDQ4XQG.mjs → TemplateContainer-SOEWY2ZN.mjs} +2 -2
- package/dist/lib/node-esm/TemplateContainer-SOEWY2ZN.mjs.map +7 -0
- package/dist/lib/node-esm/{ai-client-I5LXHMOZ.mjs → ai-client-YIP44I4D.mjs} +11 -7
- package/dist/lib/node-esm/ai-client-YIP44I4D.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-builder-Z3GMMJMD.mjs → app-graph-builder-WJXDXLBQ.mjs} +20 -14
- package/dist/lib/node-esm/app-graph-builder-WJXDXLBQ.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-ZKBACPIW.mjs → chunk-24LIHQST.mjs} +12 -11
- package/dist/lib/node-esm/chunk-24LIHQST.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-QU626JMR.mjs → chunk-QFX6SFFZ.mjs} +7 -5
- package/dist/lib/node-esm/{chunk-QU626JMR.mjs.map → chunk-QFX6SFFZ.mjs.map} +3 -3
- package/dist/lib/node-esm/{chunk-SI5LOQEO.mjs → chunk-TTSMEWR6.mjs} +65 -70
- package/dist/lib/node-esm/chunk-TTSMEWR6.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-HLPGKJ7N.mjs → chunk-VXGO6Q2L.mjs} +1 -1
- package/dist/lib/node-esm/{chunk-HLPGKJ7N.mjs.map → chunk-VXGO6Q2L.mjs.map} +2 -2
- package/dist/lib/node-esm/chunk-ZKTIHNT7.mjs +18 -0
- package/dist/lib/node-esm/chunk-ZKTIHNT7.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +37 -19
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-X3PWH7KM.mjs → intent-resolver-75REJDDQ.mjs} +15 -14
- package/dist/lib/node-esm/intent-resolver-75REJDDQ.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-QMIQCXUM.mjs → react-surface-NAN4SDCE.mjs} +26 -15
- package/dist/lib/node-esm/react-surface-NAN4SDCE.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-IVQRZUCU.mjs → settings-JHMKX3UV.mjs} +4 -4
- package/dist/lib/node-esm/settings-JHMKX3UV.mjs.map +7 -0
- 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/ai-client.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/components/AmbientDialog/AmbientDialog.stories.d.ts.map +1 -1
- package/dist/types/src/components/BlueprintContainer.d.ts +9 -0
- package/dist/types/src/components/BlueprintContainer.d.ts.map +1 -0
- package/dist/types/src/components/BlueprintEditor/BlueprintEditor.d.ts +8 -3
- package/dist/types/src/components/BlueprintEditor/BlueprintEditor.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/TemplateContainer.d.ts +2 -2
- 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 +1 -1
- package/dist/types/src/components/Thread/ThreadContainer.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 +4 -2
- 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/hooks/useMessageQueue.d.ts +6 -6
- package/dist/types/src/hooks/useMessageQueue.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -0
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/parser/filter-generator.d.ts +1 -1
- package/dist/types/src/parser/filter-generator.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 +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 +8 -0
- package/dist/types/src/testing/test-blueprint.d.ts.map +1 -0
- package/dist/types/src/tools/openapi.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +13 -62
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/chat.d.ts +3 -3
- package/dist/types/src/types/chat.d.ts.map +1 -1
- package/dist/types/src/types/service.d.ts +139 -9
- package/dist/types/src/types/service.d.ts.map +1 -1
- package/dist/types/src/types/template.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +12 -6
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/package.json +70 -68
- package/src/AssistantPlugin.tsx +9 -9
- package/src/capabilities/ai-client.ts +10 -5
- package/src/capabilities/app-graph-builder.ts +38 -35
- package/src/capabilities/capabilities.ts +1 -0
- package/src/capabilities/intent-resolver.ts +15 -7
- package/src/capabilities/react-surface.tsx +27 -20
- package/src/capabilities/settings.ts +2 -2
- package/src/components/AmbientDialog/AmbientDialog.stories.tsx +1 -0
- package/src/components/BlueprintContainer.tsx +160 -0
- package/src/components/BlueprintEditor/BlueprintEditor.stories.tsx +2 -2
- package/src/components/BlueprintEditor/BlueprintEditor.tsx +31 -22
- package/src/components/Prompt/Prompt.stories.tsx +1 -0
- package/src/components/Prompt/PromptBar.stories.tsx +1 -0
- package/src/components/TemplateContainer.tsx +5 -2
- 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 +7 -8
- package/src/components/Thread/ThreadContainer.tsx +2 -3
- package/src/components/Thread/ThreadMessage.tsx +3 -3
- package/src/components/index.ts +1 -0
- package/src/hooks/useContextProvider.ts +14 -18
- package/src/hooks/useMessageQueue.ts +3 -2
- package/src/index.ts +1 -0
- package/src/parser/filter-generator.test.ts +1 -1
- package/src/parser/filter-generator.ts +1 -1
- package/src/stories/Prompt.stories.tsx +1 -0
- package/src/stories/Query.stories.tsx +116 -50
- package/src/stories/Research.stories.tsx +26 -39
- package/src/stories/test-data.ts +9 -9
- package/src/stories/testing.ts +1 -5
- package/src/testing/index.ts +1 -1
- package/src/testing/{blueprint.ts → test-blueprint.ts} +28 -17
- package/src/testing/test-services.ts +6 -6
- package/src/tools/function.ts +2 -2
- package/src/tools/openapi.test.ts +6 -12
- package/src/tools/openapi.ts +5 -5
- package/src/translations.ts +9 -2
- package/src/types/chat.ts +3 -4
- package/src/types/service.ts +8 -4
- package/src/types/template.ts +4 -1
- package/src/types/types.ts +3 -3
- package/dist/lib/browser/TemplateContainer-AKUYL4AV.mjs.map +0 -7
- package/dist/lib/browser/ai-client-COXVUC6V.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-YH4EGNBC.mjs.map +0 -7
- package/dist/lib/browser/chunk-IHEBFO5O.mjs.map +0 -7
- package/dist/lib/browser/chunk-QTW7KVDO.mjs.map +0 -7
- 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/browser/settings-SHNQ4XXP.mjs.map +0 -7
- package/dist/lib/node/TemplateContainer-CTG2MB4W.cjs.map +0 -7
- package/dist/lib/node/ai-client-R2CGEYZW.cjs.map +0 -7
- package/dist/lib/node/app-graph-builder-PSHIOW3Q.cjs.map +0 -7
- package/dist/lib/node/chunk-H4A42LNR.cjs.map +0 -7
- package/dist/lib/node/chunk-RXPA2C2A.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/settings-ERKLO6IO.cjs.map +0 -7
- package/dist/lib/node-esm/TemplateContainer-IVDQ4XQG.mjs.map +0 -7
- package/dist/lib/node-esm/ai-client-I5LXHMOZ.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-Z3GMMJMD.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-SI5LOQEO.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-ZKBACPIW.mjs.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/lib/node-esm/settings-IVQRZUCU.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/{node-esm/AssistantDialog-PIMYK774.mjs.map → browser/AssistantDialog-YCPMFK7Y.mjs.map} +0 -0
- /package/dist/lib/{node-esm/ChatContainer-QTC5NYE2.mjs.map → browser/ChatContainer-RYFYYEWI.mjs.map} +0 -0
|
@@ -16,24 +16,24 @@ 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 app_graph_builder_VEPLBTML_exports = {};
|
|
20
|
+
__export(app_graph_builder_VEPLBTML_exports, {
|
|
21
21
|
default: () => app_graph_builder_default
|
|
22
22
|
});
|
|
23
|
-
module.exports = __toCommonJS(
|
|
24
|
-
var
|
|
23
|
+
module.exports = __toCommonJS(app_graph_builder_VEPLBTML_exports);
|
|
24
|
+
var import_chunk_7TQAIKE2 = require("./chunk-7TQAIKE2.cjs");
|
|
25
25
|
var import_chunk_P74TWGMG = require("./chunk-P74TWGMG.cjs");
|
|
26
26
|
var import_rx_react = require("@effect-rx/rx-react");
|
|
27
27
|
var import_effect = require("effect");
|
|
28
28
|
var import_app_framework = require("@dxos/app-framework");
|
|
29
|
-
var
|
|
29
|
+
var import_echo = require("@dxos/echo");
|
|
30
30
|
var import_invariant = require("@dxos/invariant");
|
|
31
31
|
var import_plugin_client = require("@dxos/plugin-client");
|
|
32
32
|
var import_types = require("@dxos/plugin-deck/types");
|
|
33
33
|
var import_plugin_graph = require("@dxos/plugin-graph");
|
|
34
34
|
var import_plugin_space = require("@dxos/plugin-space");
|
|
35
35
|
var import_types2 = require("@dxos/plugin-space/types");
|
|
36
|
-
var
|
|
36
|
+
var import_echo2 = require("@dxos/react-client/echo");
|
|
37
37
|
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assistant/src/capabilities/app-graph-builder.ts";
|
|
38
38
|
var app_graph_builder_default = (context) => (0, import_app_framework.contributes)(import_app_framework.Capabilities.AppGraphBuilder, [
|
|
39
39
|
(0, import_plugin_graph.createExtension)({
|
|
@@ -50,7 +50,7 @@ var app_graph_builder_default = (context) => (0, import_app_framework.contribute
|
|
|
50
50
|
if (layout.active.length > 0) {
|
|
51
51
|
const node2 = graph.getNode(layout.active[0]).pipe(import_effect.Option.getOrNull);
|
|
52
52
|
if (node2) {
|
|
53
|
-
const space = (0,
|
|
53
|
+
const space = (0, import_echo2.getSpace)(node2.data);
|
|
54
54
|
if (space) {
|
|
55
55
|
chat = await getOrCreateChat(dispatch, space);
|
|
56
56
|
}
|
|
@@ -96,21 +96,27 @@ var app_graph_builder_default = (context) => (0, import_app_framework.contribute
|
|
|
96
96
|
id: `${import_chunk_P74TWGMG.ASSISTANT_PLUGIN}/object-chat-companion`,
|
|
97
97
|
connector: (node) => {
|
|
98
98
|
let query;
|
|
99
|
-
return import_rx_react.Rx.make((get) =>
|
|
100
|
-
const
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
99
|
+
return import_rx_react.Rx.make((get) => {
|
|
100
|
+
const nodeOption = get(node);
|
|
101
|
+
if (import_effect.Option.isNone(nodeOption)) {
|
|
102
|
+
return [];
|
|
103
|
+
}
|
|
104
|
+
const object = nodeOption.value.data;
|
|
105
|
+
if (!import_echo.Obj.isObject(object)) {
|
|
106
|
+
return [];
|
|
107
|
+
}
|
|
108
|
+
const space = (0, import_echo2.getSpace)(object);
|
|
109
|
+
if (!space) {
|
|
110
|
+
return [];
|
|
111
|
+
}
|
|
106
112
|
if (!query) {
|
|
107
|
-
query = space.db.query(
|
|
113
|
+
query = space.db.query(import_echo2.Query.select(import_echo2.Filter.ids(object.id)).targetOf(import_chunk_7TQAIKE2.CompanionTo).source());
|
|
108
114
|
}
|
|
109
115
|
const chat = get((0, import_plugin_space.rxFromQuery)(query))[0];
|
|
110
116
|
return [
|
|
111
117
|
{
|
|
112
118
|
id: [
|
|
113
|
-
(0,
|
|
119
|
+
(0, import_echo2.fullyQualifiedId)(object),
|
|
114
120
|
"assistant-chat"
|
|
115
121
|
].join(import_types.ATTENDABLE_PATH_SEPARATOR),
|
|
116
122
|
type: import_types.PLANK_COMPANION_TYPE,
|
|
@@ -128,16 +134,16 @@ var app_graph_builder_default = (context) => (0, import_app_framework.contribute
|
|
|
128
134
|
}
|
|
129
135
|
}
|
|
130
136
|
];
|
|
131
|
-
})
|
|
137
|
+
});
|
|
132
138
|
}
|
|
133
139
|
}),
|
|
134
140
|
(0, import_plugin_graph.createExtension)({
|
|
135
141
|
id: `${import_chunk_P74TWGMG.ASSISTANT_PLUGIN}/root`,
|
|
136
142
|
connector: (node) => {
|
|
137
143
|
let query;
|
|
138
|
-
return import_rx_react.Rx.make((get) => (0, import_effect.pipe)(get(node), import_effect.Option.flatMap((node2) => node2.type === import_types2.SPACE_TYPE && (0,
|
|
144
|
+
return import_rx_react.Rx.make((get) => (0, import_effect.pipe)(get(node), import_effect.Option.flatMap((node2) => node2.type === import_types2.SPACE_TYPE && (0, import_echo2.isSpace)(node2.data) ? import_effect.Option.some(node2.data) : import_effect.Option.none()), import_effect.Option.map((space) => {
|
|
139
145
|
if (!query) {
|
|
140
|
-
query = space.db.query(
|
|
146
|
+
query = space.db.query(import_echo2.Query.type(import_chunk_7TQAIKE2.TemplateType));
|
|
141
147
|
}
|
|
142
148
|
const templates = get((0, import_plugin_space.rxFromQuery)(query));
|
|
143
149
|
return templates.length > 0 ? [
|
|
@@ -164,16 +170,16 @@ var app_graph_builder_default = (context) => (0, import_app_framework.contribute
|
|
|
164
170
|
id: `${import_chunk_P74TWGMG.ASSISTANT_PLUGIN}/templates`,
|
|
165
171
|
connector: (node) => {
|
|
166
172
|
let query;
|
|
167
|
-
return import_rx_react.Rx.make((get) => (0, import_effect.pipe)(get(node), import_effect.Option.flatMap((node2) => node2.id === `${import_chunk_P74TWGMG.ASSISTANT_PLUGIN}/templates` && (0,
|
|
173
|
+
return import_rx_react.Rx.make((get) => (0, import_effect.pipe)(get(node), import_effect.Option.flatMap((node2) => node2.id === `${import_chunk_P74TWGMG.ASSISTANT_PLUGIN}/templates` && (0, import_echo2.isSpace)(node2.properties.space) ? import_effect.Option.some(node2.properties.space) : import_effect.Option.none()), import_effect.Option.map((space) => {
|
|
168
174
|
if (!query) {
|
|
169
|
-
query = space.db.query(
|
|
175
|
+
query = space.db.query(import_echo2.Query.type(import_chunk_7TQAIKE2.TemplateType));
|
|
170
176
|
}
|
|
171
177
|
return get((0, import_plugin_space.rxFromQuery)(query)).toSorted((a, b) => {
|
|
172
178
|
const nameA = a.name ?? "";
|
|
173
179
|
const nameB = b.name ?? "";
|
|
174
180
|
return nameA.localeCompare(nameB);
|
|
175
181
|
}).map((template) => ({
|
|
176
|
-
id: (0,
|
|
182
|
+
id: (0, import_echo2.fullyQualifiedId)(template),
|
|
177
183
|
type: `${import_chunk_P74TWGMG.ASSISTANT_PLUGIN}/template`,
|
|
178
184
|
data: template,
|
|
179
185
|
properties: {
|
|
@@ -191,19 +197,19 @@ var app_graph_builder_default = (context) => (0, import_app_framework.contribute
|
|
|
191
197
|
})
|
|
192
198
|
]);
|
|
193
199
|
var getOrCreateChat = async (dispatch, space) => {
|
|
194
|
-
const { objects } = await space.db.query(
|
|
200
|
+
const { objects } = await space.db.query(import_echo2.Filter.type(import_chunk_7TQAIKE2.AIChatType)).run();
|
|
195
201
|
if (objects.length > 0) {
|
|
196
202
|
return objects[objects.length - 1];
|
|
197
203
|
}
|
|
198
|
-
const { data } = await dispatch((0, import_app_framework.createIntent)(
|
|
204
|
+
const { data } = await dispatch((0, import_app_framework.createIntent)(import_chunk_7TQAIKE2.AssistantAction.CreateChat, {
|
|
199
205
|
space
|
|
200
206
|
}));
|
|
201
|
-
(0, import_invariant.invariant)(
|
|
207
|
+
(0, import_invariant.invariant)(import_echo.Obj.instanceOf(import_chunk_7TQAIKE2.AIChatType, data?.object), void 0, {
|
|
202
208
|
F: __dxlog_file,
|
|
203
|
-
L:
|
|
209
|
+
L: 233,
|
|
204
210
|
S: void 0,
|
|
205
211
|
A: [
|
|
206
|
-
"
|
|
212
|
+
"Obj.instanceOf(AIChatType, data?.object)",
|
|
207
213
|
""
|
|
208
214
|
]
|
|
209
215
|
});
|
|
@@ -213,4 +219,4 @@ var getOrCreateChat = async (dispatch, space) => {
|
|
|
213
219
|
}));
|
|
214
220
|
return data.object;
|
|
215
221
|
};
|
|
216
|
-
//# sourceMappingURL=app-graph-builder-
|
|
222
|
+
//# sourceMappingURL=app-graph-builder-VEPLBTML.cjs.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 { 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 { rxFromQuery } from '@dxos/plugin-space';\nimport { SPACE_TYPE, SpaceAction } from '@dxos/plugin-space/types';\nimport {\n type Space,\n Filter,\n Query,\n type QueryResult,\n fullyQualifiedId,\n getSpace,\n isSpace,\n} from '@dxos/react-client/echo';\n\nimport { ASSISTANT_DIALOG, ASSISTANT_PLUGIN } from '../meta';\nimport { AIChatType, AssistantAction, CompanionTo, TemplateType } from '../types';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.AppGraphBuilder, [\n createExtension({\n id: `${ASSISTANT_PLUGIN}/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 layout = context.getCapability(Capabilities.Layout);\n const { graph } = context.getCapability(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.getNode(layout.active[0]).pipe(Option.getOrNull);\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--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: `${ASSISTANT_PLUGIN}/object-chat-companion`,\n connector: (node) => {\n let query: QueryResult<AIChatType> | 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(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: ASSISTANT_PLUGIN }],\n icon: 'ph--sparkle--regular',\n position: 'hoist',\n disposition: 'hidden',\n },\n },\n ];\n });\n },\n }),\n\n createExtension({\n id: `${ASSISTANT_PLUGIN}/root`,\n connector: (node) => {\n let query: QueryResult<TemplateType> | undefined;\n return Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) =>\n node.type === SPACE_TYPE && isSpace(node.data) ? Option.some(node.data) : Option.none(),\n ),\n Option.map((space) => {\n if (!query) {\n query = space.db.query(Query.type(TemplateType));\n }\n\n const templates = get(rxFromQuery(query));\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,\n },\n },\n ]\n : [];\n }),\n Option.getOrElse(() => []),\n ),\n );\n },\n }),\n\n createExtension({\n id: `${ASSISTANT_PLUGIN}/templates`,\n connector: (node) => {\n let query: QueryResult<TemplateType> | undefined;\n return Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) =>\n node.id === `${ASSISTANT_PLUGIN}/templates` && isSpace(node.properties.space)\n ? Option.some(node.properties.space)\n : Option.none(),\n ),\n Option.map((space) => {\n if (!query) {\n query = space.db.query(Query.type(TemplateType));\n }\n return get(rxFromQuery(query))\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 Option.getOrElse(() => []),\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.type(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, { space }));\n invariant(Obj.instanceOf(AIChatType, 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": ["import_types", "import_echo", "context", "contributes", "Capabilities", "AppGraphBuilder", "createExtension", "id", "ASSISTANT_PLUGIN", "actions", "node", "Rx", "make", "get", "pipe", "Option", "flatMap", "ROOT_ID", "some", "none", "map", "LayoutAction", "UpdateDialog", "_tag", "data", "dispatchPromise", "dispatch", "getCapability", "IntentDispatcher", "client", "ClientCapabilities", "Client", "layout", "Layout", "graph", "AppGraph", "chat", "active", "length", "getNode", "getOrNull", "space", "getSpace", "getOrCreateChat", "spaces", "default", "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", "db", "Query", "select", "Filter", "ids", "targetOf", "CompanionTo", "source", "rxFromQuery", "fullyQualifiedId", "join", "ATTENDABLE_PATH_SEPARATOR", "type", "PLANK_COMPANION_TYPE", "SPACE_TYPE", "isSpace", "TemplateType", "templates", "toSorted", "a", "b", "nameA", "name", "nameB", "localeCompare", "template", "objects", "AIChatType", "run", "AssistantAction", "CreateChat", "invariant", "instanceOf", "SpaceAction", "AddObject", "target"]
|
|
7
|
+
}
|
|
@@ -16,8 +16,8 @@ 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 chunk_7TQAIKE2_exports = {};
|
|
20
|
+
__export(chunk_7TQAIKE2_exports, {
|
|
21
21
|
AIChatType: () => AIChatType,
|
|
22
22
|
ApiAuthorization: () => ApiAuthorization,
|
|
23
23
|
AssistantAction: () => AssistantAction,
|
|
@@ -32,35 +32,36 @@ __export(chunk_RXPA2C2A_exports, {
|
|
|
32
32
|
TemplateType: () => TemplateType,
|
|
33
33
|
categoryIcons: () => categoryIcons
|
|
34
34
|
});
|
|
35
|
-
module.exports = __toCommonJS(
|
|
35
|
+
module.exports = __toCommonJS(chunk_7TQAIKE2_exports);
|
|
36
36
|
var import_chunk_P74TWGMG = require("./chunk-P74TWGMG.cjs");
|
|
37
37
|
var import_effect = require("effect");
|
|
38
|
-
var import_echo = require("@dxos/echo");
|
|
39
|
-
var
|
|
38
|
+
var import_echo = require("@dxos/client/echo");
|
|
39
|
+
var import_echo2 = require("@dxos/echo");
|
|
40
40
|
var import_effect2 = require("effect");
|
|
41
41
|
var import_conductor = require("@dxos/conductor");
|
|
42
|
-
var
|
|
42
|
+
var import_echo3 = require("@dxos/echo");
|
|
43
|
+
var import_echo_schema = require("@dxos/echo-schema");
|
|
43
44
|
var import_functions = require("@dxos/functions");
|
|
44
45
|
var import_effect3 = require("effect");
|
|
45
|
-
var
|
|
46
|
+
var import_echo_schema2 = require("@dxos/echo-schema");
|
|
46
47
|
var import_effect4 = require("effect");
|
|
47
|
-
var
|
|
48
|
+
var import_assistant = require("@dxos/assistant");
|
|
49
|
+
var import_echo4 = require("@dxos/react-client/echo");
|
|
48
50
|
var AIChatType = import_effect.Schema.Struct({
|
|
49
|
-
id:
|
|
51
|
+
id: import_echo2.Type.ObjectId,
|
|
50
52
|
name: import_effect.Schema.optional(import_effect.Schema.String),
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}).pipe(import_echo.Type.Obj({
|
|
53
|
+
queue: import_echo2.Type.Ref(import_echo.Queue)
|
|
54
|
+
}).pipe(import_echo2.Type.Obj({
|
|
54
55
|
typename: "dxos.org/type/AIChat",
|
|
55
56
|
version: "0.2.0"
|
|
56
57
|
}));
|
|
57
58
|
var CompanionTo = import_effect.Schema.Struct({
|
|
58
|
-
id:
|
|
59
|
-
}).pipe(
|
|
59
|
+
id: import_echo2.Type.ObjectId
|
|
60
|
+
}).pipe(import_echo2.Type.Relation({
|
|
60
61
|
typename: "dxos.org/relation/CompanionTo",
|
|
61
62
|
version: "0.1.0",
|
|
62
63
|
source: AIChatType,
|
|
63
|
-
target:
|
|
64
|
+
target: import_echo2.Type.Expando
|
|
64
65
|
}));
|
|
65
66
|
var ApiAuthorizationKey = import_effect2.Schema.Struct({
|
|
66
67
|
type: import_effect2.Schema.Literal("api-key"),
|
|
@@ -82,11 +83,11 @@ var ApiAuthorizationOauth = import_effect2.Schema.Struct({
|
|
|
82
83
|
var ApiAuthorization = import_effect2.Schema.Union(ApiAuthorizationKey, ApiAuthorizationOauth);
|
|
83
84
|
var ServiceInterfaceFunction = import_effect2.Schema.Struct({
|
|
84
85
|
kind: import_effect2.Schema.Literal("function"),
|
|
85
|
-
fn:
|
|
86
|
+
fn: import_echo3.Type.Ref(import_functions.FunctionType)
|
|
86
87
|
});
|
|
87
88
|
var ServiceInterfaceWorkflow = import_effect2.Schema.Struct({
|
|
88
89
|
kind: import_effect2.Schema.Literal("workflow"),
|
|
89
|
-
workflow:
|
|
90
|
+
workflow: import_echo3.Type.Ref(import_conductor.ComputeGraph)
|
|
90
91
|
});
|
|
91
92
|
var ServiceInterfaceApi = import_effect2.Schema.Struct({
|
|
92
93
|
kind: import_effect2.Schema.Literal("api"),
|
|
@@ -104,7 +105,7 @@ var ServiceInterfaceApi = import_effect2.Schema.Struct({
|
|
|
104
105
|
authorization: import_effect2.Schema.optional(ApiAuthorization)
|
|
105
106
|
});
|
|
106
107
|
var ServiceInterface = import_effect2.Schema.Union(ServiceInterfaceFunction, ServiceInterfaceWorkflow, ServiceInterfaceApi);
|
|
107
|
-
var ServiceType = class extends (0,
|
|
108
|
+
var ServiceType = class extends (0, import_echo_schema.TypedObject)({
|
|
108
109
|
typename: "dxos.org/type/ServiceType",
|
|
109
110
|
version: "0.1.0"
|
|
110
111
|
})({
|
|
@@ -163,7 +164,7 @@ var TemplateKindSchema = import_effect3.Schema.Union(import_effect3.Schema.Struc
|
|
|
163
164
|
}), import_effect3.Schema.Struct({
|
|
164
165
|
include: import_effect3.Schema.Literal("manual")
|
|
165
166
|
}));
|
|
166
|
-
var TemplateType = class extends (0,
|
|
167
|
+
var TemplateType = class extends (0, import_echo_schema2.TypedObject)({
|
|
167
168
|
typename: "dxos.org/type/Template",
|
|
168
169
|
version: "0.1.0"
|
|
169
170
|
})({
|
|
@@ -178,7 +179,7 @@ var TemplateType = class extends (0, import_echo_schema3.TypedObject)({
|
|
|
178
179
|
const ASSISTANT_ACTION = `${import_chunk_P74TWGMG.ASSISTANT_PLUGIN}/action`;
|
|
179
180
|
class CreateChat extends import_effect4.Schema.TaggedClass()(`${ASSISTANT_ACTION}/create-chat`, {
|
|
180
181
|
input: import_effect4.Schema.Struct({
|
|
181
|
-
space:
|
|
182
|
+
space: import_echo4.SpaceSchema,
|
|
182
183
|
name: import_effect4.Schema.optional(import_effect4.Schema.String)
|
|
183
184
|
}),
|
|
184
185
|
output: import_effect4.Schema.Struct({
|
|
@@ -187,16 +188,16 @@ var TemplateType = class extends (0, import_echo_schema3.TypedObject)({
|
|
|
187
188
|
}) {
|
|
188
189
|
}
|
|
189
190
|
AssistantAction2.CreateChat = CreateChat;
|
|
190
|
-
class
|
|
191
|
+
class CreateBlueprint extends import_effect4.Schema.TaggedClass()(`${ASSISTANT_ACTION}/create-blueprint`, {
|
|
191
192
|
input: import_effect4.Schema.Struct({
|
|
192
193
|
name: import_effect4.Schema.optional(import_effect4.Schema.String)
|
|
193
194
|
}),
|
|
194
195
|
output: import_effect4.Schema.Struct({
|
|
195
|
-
object:
|
|
196
|
+
object: import_assistant.Blueprint
|
|
196
197
|
})
|
|
197
198
|
}) {
|
|
198
199
|
}
|
|
199
|
-
AssistantAction2.
|
|
200
|
+
AssistantAction2.CreateBlueprint = CreateBlueprint;
|
|
200
201
|
})(AssistantAction || (AssistantAction = {}));
|
|
201
202
|
var LLM_PROVIDERS = [
|
|
202
203
|
"edge",
|
|
@@ -227,4 +228,4 @@ var AssistantAction;
|
|
|
227
228
|
TemplateType,
|
|
228
229
|
categoryIcons
|
|
229
230
|
});
|
|
230
|
-
//# sourceMappingURL=chunk-
|
|
231
|
+
//# sourceMappingURL=chunk-7TQAIKE2.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/types/chat.ts", "../../../src/types/service.ts", "../../../src/types/template.ts", "../../../src/types/types.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Queue } from '@dxos/client/echo';\nimport { Type } from '@dxos/echo';\n\nexport const AIChatType = Schema.Struct({\n id: Type.ObjectId,\n name: Schema.optional(Schema.String),\n queue: Type.Ref(Queue),\n}).pipe(\n Type.Obj({\n typename: 'dxos.org/type/AIChat',\n version: '0.2.0',\n }),\n);\nexport interface AIChatType extends Schema.Schema.Type<typeof AIChatType> {}\n\nexport const CompanionTo = Schema.Struct({\n id: Type.ObjectId,\n}).pipe(\n Type.Relation({\n typename: 'dxos.org/relation/CompanionTo',\n version: '0.1.0',\n source: AIChatType,\n target: Type.Expando,\n }),\n);\nexport interface CompanionTo extends Schema.Schema.Type<typeof CompanionTo> {}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { ComputeGraph } from '@dxos/conductor';\nimport { Type } from '@dxos/echo';\nimport { TypedObject } from '@dxos/echo-schema';\nimport { FunctionType } from '@dxos/functions';\n\nconst ApiAuthorizationKey = Schema.Struct({\n type: Schema.Literal('api-key'),\n key: Schema.String,\n placement: Schema.Union(\n Schema.Struct({\n type: Schema.Literal('authorization-header'),\n }),\n Schema.Struct({\n type: Schema.Literal('query'),\n name: Schema.String,\n }),\n ),\n});\n\nconst ApiAuthorizationOauth = Schema.Struct({\n type: Schema.Literal('oauth'),\n clientId: Schema.String,\n clientSecret: Schema.String,\n tokenUrl: Schema.String,\n grantType: Schema.String,\n});\n\nexport const ApiAuthorization = Schema.Union(ApiAuthorizationKey, ApiAuthorizationOauth);\nexport type ApiAuthorization = Schema.Schema.Type<typeof ApiAuthorization>;\n\nconst ServiceInterfaceFunction = Schema.Struct({\n kind: Schema.Literal('function'),\n fn: Type.Ref(FunctionType),\n});\n\nconst ServiceInterfaceWorkflow = Schema.Struct({\n kind: Schema.Literal('workflow'),\n workflow: Type.Ref(ComputeGraph),\n});\n\nconst ServiceInterfaceApi = Schema.Struct({\n kind: Schema.Literal('api'),\n\n /**\n * URL to fetch the openapi schema.\n */\n schemaUrl: Schema.optional(Schema.String),\n\n /**\n * Inlined openapi schema.\n */\n schema: Schema.optional(Schema.Any),\n\n /**\n * Authorization configuration if required.\n */\n authorization: Schema.optional(ApiAuthorization),\n});\n\nconst ServiceInterface = Schema.Union(ServiceInterfaceFunction, ServiceInterfaceWorkflow, ServiceInterfaceApi);\nexport type ServiceInterface = Schema.Schema.Type<typeof ServiceInterface>;\n\nexport class ServiceType extends TypedObject({\n typename: 'dxos.org/type/ServiceType',\n version: '0.1.0',\n})({\n serviceId: Schema.String,\n name: Schema.optional(Schema.String),\n description: Schema.optional(Schema.String),\n category: Schema.optional(Schema.String),\n enabled: Schema.optional(Schema.Boolean),\n\n /**\n * Entries exposed: functions, workflows, and APIs.\n */\n interfaces: Schema.optional(Schema.Array(ServiceInterface)),\n}) {}\n\n//\n// Service Registry\n//\n\nexport type ServiceQuery = {\n name?: string;\n category?: string;\n};\n\nexport interface BaseServiceRegistry {\n queryServices(query?: ServiceQuery): Promise<ServiceType[]>;\n}\n\nexport const categoryIcons: Record<string, string> = {\n finance: 'ph--bank--regular',\n health: 'ph--heart--regular',\n geolocation: 'ph--globe-simple--regular',\n education: 'ph--books--regular',\n entertainment: 'ph--music-notes--regular',\n shopping: 'ph--shopping-cart--regular',\n travel: 'ph--airplane-takeoff--regular',\n utilities: 'ph--lightning--regular',\n weather: 'ph--cloud-rain--regular',\n} as const;\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { TypedObject } from '@dxos/echo-schema';\n\n// TODO(burdon): Change to Schema.Literal (and discriminated union).\nexport enum TemplateInputType {\n VALUE = 0,\n PASS_THROUGH = 1,\n RETRIEVER = 2,\n FUNCTION = 3,\n QUERY = 4,\n RESOLVER = 5,\n CONTEXT = 6,\n SCHEMA = 7,\n}\n\nexport const TemplateInputSchema = Schema.mutable(\n Schema.Struct({\n name: Schema.String,\n type: Schema.optional(Schema.Enums(TemplateInputType)),\n value: Schema.optional(Schema.String),\n }),\n);\n\nexport type TemplateInput = Schema.Schema.Type<typeof TemplateInputSchema>;\n\nexport const TemplateKinds = ['always', 'schema-matching', 'automatically', 'manual'] as const;\nexport type TemplateKind = (typeof TemplateKinds)[number];\n\nexport const TemplateKindSchema = Schema.Union(\n Schema.Struct({\n include: Schema.Literal('always'),\n }),\n Schema.Struct({\n include: Schema.Literal('schema-matching'),\n typename: Schema.String,\n }),\n Schema.Struct({\n include: Schema.Literal('automatically'),\n description: Schema.String,\n }),\n Schema.Struct({\n include: Schema.Literal('manual'),\n }),\n);\n\nexport type TemplateKindType = Schema.Schema.Type<typeof TemplateKindSchema>;\nexport class TemplateType extends TypedObject({\n typename: 'dxos.org/type/Template',\n version: '0.1.0',\n})({\n name: Schema.optional(Schema.String),\n kind: Schema.mutable(TemplateKindSchema),\n source: Schema.String,\n inputs: Schema.optional(Schema.mutable(Schema.Array(TemplateInputSchema))),\n command: Schema.optional(Schema.String),\n}) {}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Blueprint } from '@dxos/assistant';\nimport { SpaceSchema } from '@dxos/react-client/echo';\n\nimport { AIChatType } from './chat';\nimport { ASSISTANT_PLUGIN } from '../meta';\n\nexport namespace AssistantAction {\n const ASSISTANT_ACTION = `${ASSISTANT_PLUGIN}/action`;\n\n export class CreateChat extends Schema.TaggedClass<CreateChat>()(`${ASSISTANT_ACTION}/create-chat`, {\n input: Schema.Struct({\n space: SpaceSchema,\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: AIChatType,\n }),\n }) {}\n\n export class CreateBlueprint extends Schema.TaggedClass<CreateBlueprint>()(`${ASSISTANT_ACTION}/create-blueprint`, {\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: Blueprint,\n }),\n }) {}\n}\n\nexport const LLM_PROVIDERS = ['edge', 'ollama', 'lmstudio'] as const;\n\nexport const AssistantSettingsSchema = Schema.mutable(\n Schema.Struct({\n llmProvider: Schema.optional(Schema.Literal(...LLM_PROVIDERS)),\n edgeModel: Schema.optional(Schema.String),\n ollamaModel: Schema.optional(Schema.String),\n lmstudioModel: Schema.optional(Schema.String),\n customPrompts: Schema.optional(Schema.Boolean),\n }),\n);\n\nexport type AssistantSettingsProps = Schema.Schema.Type<typeof AssistantSettingsSchema>;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_echo", "import_effect", "import_echo_schema", "AIChatType", "Schema", "Struct", "id", "Type", "ObjectId", "name", "optional", "String", "queue", "Ref", "Queue", "pipe", "Obj", "typename", "version", "CompanionTo", "Relation", "source", "target", "Expando", "ApiAuthorizationKey", "type", "Literal", "key", "placement", "Union", "ApiAuthorizationOauth", "clientId", "clientSecret", "tokenUrl", "grantType", "ApiAuthorization", "ServiceInterfaceFunction", "kind", "fn", "FunctionType", "ServiceInterfaceWorkflow", "workflow", "ComputeGraph", "ServiceInterfaceApi", "schemaUrl", "schema", "Any", "authorization", "ServiceInterface", "ServiceType", "TypedObject", "serviceId", "description", "category", "enabled", "Boolean", "interfaces", "Array", "categoryIcons", "finance", "health", "geolocation", "education", "entertainment", "shopping", "travel", "utilities", "weather", "TemplateInputType", "TemplateInputSchema", "mutable", "Enums", "value", "TemplateKinds", "TemplateKindSchema", "include", "TemplateType", "inputs", "command", "AssistantAction", "ASSISTANT_ACTION", "ASSISTANT_PLUGIN", "CreateChat", "TaggedClass", "input", "space", "SpaceSchema", "output", "object", "CreateBlueprint", "Blueprint", "LLM_PROVIDERS", "AssistantSettingsSchema", "llmProvider", "edgeModel", "ollamaModel", "lmstudioModel", "customPrompts"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var chunk_BGRQNE3L_exports = {};
|
|
30
|
+
__export(chunk_BGRQNE3L_exports, {
|
|
31
|
+
AiClient: () => AiClient,
|
|
32
|
+
AppGraphBuilder: () => AppGraphBuilder,
|
|
33
|
+
IntentResolver: () => IntentResolver,
|
|
34
|
+
ReactSurface: () => ReactSurface,
|
|
35
|
+
Settings: () => Settings
|
|
36
|
+
});
|
|
37
|
+
module.exports = __toCommonJS(chunk_BGRQNE3L_exports);
|
|
38
|
+
var import_app_framework = require("@dxos/app-framework");
|
|
39
|
+
var AiClient = (0, import_app_framework.lazy)(() => import("./ai-client-3XNIFMJX.cjs"));
|
|
40
|
+
var AppGraphBuilder = (0, import_app_framework.lazy)(() => import("./app-graph-builder-VEPLBTML.cjs"));
|
|
41
|
+
var IntentResolver = (0, import_app_framework.lazy)(() => import("./intent-resolver-SDO4YKJK.cjs"));
|
|
42
|
+
var ReactSurface = (0, import_app_framework.lazy)(() => import("./react-surface-FANQXIRI.cjs"));
|
|
43
|
+
var Settings = (0, import_app_framework.lazy)(() => import("./settings-PXPIPYJN.cjs"));
|
|
44
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
45
|
+
0 && (module.exports = {
|
|
46
|
+
AiClient,
|
|
47
|
+
AppGraphBuilder,
|
|
48
|
+
IntentResolver,
|
|
49
|
+
ReactSurface,
|
|
50
|
+
Settings
|
|
51
|
+
});
|
|
52
|
+
//# sourceMappingURL=chunk-BGRQNE3L.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const AiClient = lazy(() => import('./ai-client'));\nexport const AppGraphBuilder = lazy(() => import('./app-graph-builder'));\nexport const IntentResolver = lazy(() => import('./intent-resolver'));\nexport const ReactSurface = lazy(() => import('./react-surface'));\nexport const Settings = lazy(() => import('./settings'));\n\nexport * from './capabilities';\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAAqB;AAEd,IAAMA,eAAWC,2BAAK,MAAM,OAAO,0BAAA,CAAA;AACnC,IAAMC,sBAAkBD,2BAAK,MAAM,OAAO,kCAAA,CAAA;AAC1C,IAAME,qBAAiBF,2BAAK,MAAM,OAAO,gCAAA,CAAA;AACzC,IAAMG,mBAAeH,2BAAK,MAAM,OAAO,8BAAA,CAAA;AACvC,IAAMI,eAAWJ,2BAAK,MAAM,OAAO,yBAAA,CAAA;",
|
|
6
|
+
"names": ["AiClient", "lazy", "AppGraphBuilder", "IntentResolver", "ReactSurface", "Settings"]
|
|
7
|
+
}
|
|
@@ -26,16 +26,17 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
26
26
|
mod
|
|
27
27
|
));
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var
|
|
30
|
-
__export(
|
|
29
|
+
var chunk_DXBAFX6M_exports = {};
|
|
30
|
+
__export(chunk_DXBAFX6M_exports, {
|
|
31
31
|
AssistantDialog: () => AssistantDialog,
|
|
32
32
|
AssistantSettings: () => AssistantSettings,
|
|
33
|
+
BlueprintContainer: () => BlueprintContainer,
|
|
33
34
|
ChatContainer: () => ChatContainer,
|
|
34
35
|
PromptSettings: () => PromptSettings,
|
|
35
36
|
TemplateContainer: () => TemplateContainer
|
|
36
37
|
});
|
|
37
|
-
module.exports = __toCommonJS(
|
|
38
|
-
var
|
|
38
|
+
module.exports = __toCommonJS(chunk_DXBAFX6M_exports);
|
|
39
|
+
var import_chunk_7TQAIKE2 = require("./chunk-7TQAIKE2.cjs");
|
|
39
40
|
var import_chunk_P74TWGMG = require("./chunk-P74TWGMG.cjs");
|
|
40
41
|
var import_tracking = require("@preact-signals/safe-react/tracking");
|
|
41
42
|
var import_react = __toESM(require("react"));
|
|
@@ -74,7 +75,7 @@ var AssistantSettings = ({ settings }) => {
|
|
|
74
75
|
placeholder: t("settings llm provider label")
|
|
75
76
|
}), /* @__PURE__ */ import_react.default.createElement(import_react_ui.Select.Portal, null, /* @__PURE__ */ import_react.default.createElement(import_react_ui.Select.Content, null, /* @__PURE__ */ import_react.default.createElement(import_react_ui.Select.Viewport, null, /* @__PURE__ */ import_react.default.createElement(import_react_ui.Select.Option, {
|
|
76
77
|
value: DEFAULT_VALUE
|
|
77
|
-
}, t("settings default label")),
|
|
78
|
+
}, t("settings default label")), import_chunk_7TQAIKE2.LLM_PROVIDERS.map((model) => /* @__PURE__ */ import_react.default.createElement(import_react_ui.Select.Option, {
|
|
78
79
|
key: model,
|
|
79
80
|
value: model
|
|
80
81
|
}, LLM_PROVIDER_LABELS[model]))))))), /* @__PURE__ */ import_react.default.createElement(import_react_ui_form.DeprecatedFormInput, {
|
|
@@ -151,7 +152,7 @@ var PromptSettings = ({ template }) => {
|
|
|
151
152
|
onValueChange: handleKindChange
|
|
152
153
|
}, /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Toolbar.Button, {
|
|
153
154
|
asChild: true
|
|
154
|
-
}, /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Select.TriggerButton, null)), /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Select.Portal, null, /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Select.Content, null, /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Select.Viewport, null,
|
|
155
|
+
}, /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Select.TriggerButton, null)), /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Select.Portal, null, /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Select.Content, null, /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Select.Viewport, null, import_chunk_7TQAIKE2.TemplateKinds.map((kind) => /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Select.Option, {
|
|
155
156
|
key: kind,
|
|
156
157
|
value: kind
|
|
157
158
|
}, kind)))))), template.kind.include === "schema-matching" && /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Input.Root, null, /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Input.TextInput, {
|
|
@@ -167,15 +168,17 @@ var PromptSettings = ({ template }) => {
|
|
|
167
168
|
_effect.f();
|
|
168
169
|
}
|
|
169
170
|
};
|
|
170
|
-
var AssistantDialog = (0, import_react3.lazy)(() => import("./AssistantDialog-
|
|
171
|
-
var
|
|
172
|
-
var
|
|
171
|
+
var AssistantDialog = (0, import_react3.lazy)(() => import("./AssistantDialog-B5YKJOAF.cjs"));
|
|
172
|
+
var BlueprintContainer = (0, import_react3.lazy)(() => import("./BlueprintContainer-VD6EIWH7.cjs"));
|
|
173
|
+
var ChatContainer = (0, import_react3.lazy)(() => import("./ChatContainer-WFLTSAFA.cjs"));
|
|
174
|
+
var TemplateContainer = (0, import_react3.lazy)(() => import("./TemplateContainer-JZF2DCCG.cjs"));
|
|
173
175
|
// Annotate the CommonJS export names for ESM import in node:
|
|
174
176
|
0 && (module.exports = {
|
|
175
177
|
AssistantDialog,
|
|
176
178
|
AssistantSettings,
|
|
179
|
+
BlueprintContainer,
|
|
177
180
|
ChatContainer,
|
|
178
181
|
PromptSettings,
|
|
179
182
|
TemplateContainer
|
|
180
183
|
});
|
|
181
|
-
//# sourceMappingURL=chunk-
|
|
184
|
+
//# sourceMappingURL=chunk-DXBAFX6M.cjs.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": "
|
|
6
|
-
"names": ["import_react", "import_react_ui", "DEFAULT_VALUE", "LLM_PROVIDER_LABELS", "edge", "ollama", "lmstudio", "AssistantSettings", "settings", "t", "useTranslation", "ASSISTANT_PLUGIN", "React", "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", "PromptSettings", "template", "handleKindChange", "useCallback", "kind", "Match", "type", "pipe", "withReturnType", "when", "include", "typename", "description", "orElse", "handleTypenameChange", "debounce", "event", "target", "handleDescriptionChange", "div", "className", "h2", "Toolbar", "Button", "asChild", "TemplateKinds", "TextInput", "defaultValue", "onChange", "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 BlueprintContainer = lazy(() => import('./BlueprintContainer'));\nexport const ChatContainer = lazy(() => import('./ChatContainer'));\nexport const TemplateContainer = lazy(() => import('./TemplateContainer'));\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,mBAAkB;AAElB,gBAA2D;AAC3D,sBAA8C;AAC9C,2BAA6D;;ACJ7D,oBAAmC;AACnC,IAAAA,gBAAqD;AAErD,mBAAyB;AACzB,IAAAC,mBAAuD;ACJvD,IAAAD,gBAAqB;AFUrB,IAAME,gBAAgB;AAEtB,IAAMC,sBAAsB;EAC1BC,MAAM;EACNC,QAAQ;EACRC,UAAU;AACZ;AAEO,IAAMC,oBAAoB,CAAC,EAAEC,SAAQ,MAAwC;;;AAClF,UAAM,EAAEC,EAAC,QAAKC,gCAAeC,sCAAAA;AAE7B,WACE,6BAAAC,QAAA,cAACC,8CAAAA,MACC,6BAAAD,QAAA,cAACE,0CAAAA;MAAoBC,OAAON,EAAE,+BAAA;OAC5B,6BAAAG,QAAA,cAACI,sBAAMC,QAAM;MACXC,SAAS,CAAC,CAACV,SAASW;MACpBC,iBAAiB,CAACF,YAAaV,SAASW,gBAAgBD;SAI5D,6BAAAN,QAAA,cAACE,0CAAAA;MAAoBC,OAAON,EAAE,6BAAA;OAC5B,6BAAAG,QAAA,cAACS,uBAAOC,MAAI;MACVC,OAAOf,SAASgB,eAAe;MAC/BC,eAAe,CAACF,UAAAA;AACdf,iBAASgB,cAAcD,UAAUrB,gBAAgBwB,SAAaH;MAChE;OAEA,6BAAAX,QAAA,cAACS,uBAAOM,eAAa;MAACC,aAAanB,EAAE,6BAAA;QACrC,6BAAAG,QAAA,cAACS,uBAAOQ,QAAM,MACZ,6BAAAjB,QAAA,cAACS,uBAAOS,SAAO,MACb,6BAAAlB,QAAA,cAACS,uBAAOU,UAAQ,MACd,6BAAAnB,QAAA,cAACS,uBAAOW,QAAM;MAACT,OAAOrB;OAAgBO,EAAE,wBAAA,CAAA,GACvCwB,oCAAcC,IAAI,CAACC,UAClB,6BAAAvB,QAAA,cAACS,uBAAOW,QAAM;MAACI,KAAKD;MAAOZ,OAAOY;OAC/BhC,oBAAoBgC,KAAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GASzC,6BAAAvB,QAAA,cAACE,0CAAAA;MAAoBC,OAAON,EAAE,+BAAA;OAC5B,6BAAAG,QAAA,cAACS,uBAAOC,MAAI;MACVC,OAAOf,SAAS6B,aAAanC;MAC7BuB,eAAe,CAACF,UAAAA;AACdf,iBAAS6B,YAAYd,UAAUrB,gBAAgBwB,SAAYH;MAC7D;OAEA,6BAAAX,QAAA,cAACS,uBAAOM,eAAa;MAACC,aAAanB,EAAE,kCAAA;QACrC,6BAAAG,QAAA,cAACS,uBAAOQ,QAAM,MACZ,6BAAAjB,QAAA,cAACS,uBAAOS,SAAO,MACb,6BAAAlB,QAAA,cAACS,uBAAOU,UAAQ,MACd,6BAAAnB,QAAA,cAACS,uBAAOW,QAAM;MAACT,OAAOrB;OAAgBO,EAAE,wBAAA,CAAA,GACvC6B,8BAAoBJ,IAAI,CAACC,UACxB,6BAAAvB,QAAA,cAACS,uBAAOW,QAAM;MAACI,KAAKD;MAAOZ,OAAOY;OAC/BA,KAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GASf,6BAAAvB,QAAA,cAACE,0CAAAA;MAAoBC,OAAON,EAAE,iCAAA;OAC5B,6BAAAG,QAAA,cAACS,uBAAOC,MAAI;MACVC,OAAOf,SAAS+B,eAAerC;MAC/BuB,eAAe,CAACF,UAAAA;AACdf,iBAAS+B,cAAchB,UAAUrB,gBAAgBwB,SAAYH;MAC/D;OAEA,6BAAAX,QAAA,cAACS,uBAAOM,eAAa;MAACC,aAAanB,EAAE,kCAAA;QACrC,6BAAAG,QAAA,cAACS,uBAAOQ,QAAM,MACZ,6BAAAjB,QAAA,cAACS,uBAAOS,SAAO,MACb,6BAAAlB,QAAA,cAACS,uBAAOU,UAAQ,MACd,6BAAAnB,QAAA,cAACS,uBAAOW,QAAM;MAACT,OAAOrB;OAAgBO,EAAE,wBAAA,CAAA,GACvC+B,gCAAsBN,IAAI,CAACC,UAC1B,6BAAAvB,QAAA,cAACS,uBAAOW,QAAM;MAACI,KAAKD;MAAOZ,OAAOY;OAC/BA,KAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;;;;AAUrB;AC3FO,IAAMM,iBAAiB,CAAC,EAAEC,SAAQ,MAA8B;;;AACrE,UAAM,EAAEjC,EAAC,QAAKC,iBAAAA,gBAAeC,sCAAAA;AAE7B,UAAMgC,uBAAmBC,2BACvB,CAACrB,UAAAA;AACC,YAAMsB,OAAOC,oBAAMC,KAAI,EAAWC,KAChCF,oBAAMG,eAAc,GACpBH,oBAAMI,KAAK,UAAU,OAAO;QAAEC,SAAS;MAAS,EAAA,GAChDL,oBAAMI,KAAK,mBAAmB,OAAO;QAAEC,SAAS;QAAmBC,UAAU;MAAG,EAAA,GAChFN,oBAAMI,KAAK,iBAAiB,OAAO;QAAEC,SAAS;QAAiBE,aAAa;MAAG,EAAA,GAC/EP,oBAAMQ,OAAO,OAAO;QAAEH,SAAS;MAAS,EAAA,CAAA,EACxC5B,KAAAA;AAEFmB,eAASG,OAAOA;IAClB,GACA;MAACH;KAAS;AAGZ,UAAMa,2BAAuBX,+BAC3BY,uBAAS,CAACC,UAAAA;AACR,UAAIf,SAASG,KAAKM,YAAY,mBAAmB;AAC/CT,iBAASG,KAAKO,WAAWK,MAAMC,OAAOnC;MACxC;IACF,GAAG,GAAA,GACH;MAACmB,SAASG,KAAKM;KAAQ;AAGzB,UAAMQ,8BAA0Bf,+BAC9BY,uBAAS,CAACC,UAAAA;AACR,UAAIf,SAASG,KAAKM,YAAY,iBAAiB;AAC7CT,iBAASG,KAAKQ,cAAcI,MAAMC,OAAOnC;MAC3C;IACF,GAAG,GAAA,GACH;MAACmB,SAASG,KAAKM;KAAQ;AAGzB,WACEvC,8BAAAA,QAAA,cAACgD,OAAAA;MAAIC,WAAU;OACbjD,8BAAAA,QAAA,cAACkD,MAAAA,MAAIrD,EAAE,oBAAA,CAAA,GACPG,8BAAAA,QAAA,cAACmD,yBAAQzC,MAAI,MACXV,8BAAAA,QAAA,cAACS,iBAAAA,OAAOC,MAAI;MAACC,OAAOmB,SAASG,KAAKM;MAAS1B,eAAekB;OACxD/B,8BAAAA,QAAA,cAACmD,yBAAQC,QAAM;MAACC,SAAAA;OACdrD,8BAAAA,QAAA,cAACS,iBAAAA,OAAOM,eAAa,IAAA,CAAA,GAEvBf,8BAAAA,QAAA,cAACS,iBAAAA,OAAOQ,QAAM,MACZjB,8BAAAA,QAAA,cAACS,iBAAAA,OAAOS,SAAO,MACblB,8BAAAA,QAAA,cAACS,iBAAAA,OAAOU,UAAQ,MACbmC,oCAAchC,IAAI,CAACW,SAClBjC,8BAAAA,QAAA,cAACS,iBAAAA,OAAOW,QAAM;MAACI,KAAKS;MAAMtB,OAAOsB;OAC9BA,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAOZH,SAASG,KAAKM,YAAY,qBACzBvC,8BAAAA,QAAA,cAACI,iBAAAA,MAAMM,MAAI,MACTV,8BAAAA,QAAA,cAACI,iBAAAA,MAAMmD,WAAS;MACdvC,aAAanB,EAAE,sBAAA;MACf2D,cAAc1B,SAASG,KAAKO;MAC5BiB,UAAUd;SAIfb,SAASG,KAAKM,YAAY,mBACzBvC,8BAAAA,QAAA,cAACI,iBAAAA,MAAMM,MAAI,MACTV,8BAAAA,QAAA,cAACI,iBAAAA,MAAMmD,WAAS;MACdvC,aAAanB,EAAE,yBAAA;MACf2D,cAAc1B,SAASG,KAAKQ;MAC5BgB,UAAUV;;;;;AAOxB;ACzEO,IAAMW,sBAAkBC,oBAAK,MAAM,OAAO,gCAAA,CAAA;AAC1C,IAAMC,yBAAqBD,oBAAK,MAAM,OAAO,mCAAA,CAAA;AAC7C,IAAME,oBAAgBF,oBAAK,MAAM,OAAO,8BAAA,CAAA;AACxC,IAAMG,wBAAoBH,oBAAK,MAAM,OAAO,kCAAA,CAAA;",
|
|
6
|
+
"names": ["import_react", "import_react_ui", "DEFAULT_VALUE", "LLM_PROVIDER_LABELS", "edge", "ollama", "lmstudio", "AssistantSettings", "settings", "t", "useTranslation", "ASSISTANT_PLUGIN", "React", "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", "PromptSettings", "template", "handleKindChange", "useCallback", "kind", "Match", "type", "pipe", "withReturnType", "when", "include", "typename", "description", "orElse", "handleTypenameChange", "debounce", "event", "target", "handleDescriptionChange", "div", "className", "h2", "Toolbar", "Button", "asChild", "TemplateKinds", "TextInput", "defaultValue", "onChange", "AssistantDialog", "lazy", "BlueprintContainer", "ChatContainer", "TemplateContainer"]
|
|
7
7
|
}
|