@dxos/plugin-assistant 0.8.1-main.ba2dec9 → 0.8.1-staging.391c573

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.
Files changed (61) hide show
  1. package/dist/lib/browser/{AssistantDialog-AMON6O2T.mjs → AssistantDialog-CM33SOCT.mjs} +2 -2
  2. package/dist/lib/browser/{ChatContainer-SPZK5ZHX.mjs → ChatContainer-VW73VNUY.mjs} +2 -2
  3. package/dist/lib/browser/{ai-client-PORKRZXM.mjs → ai-client-HZPB7E6M.mjs} +1 -12
  4. package/dist/lib/browser/ai-client-HZPB7E6M.mjs.map +7 -0
  5. package/dist/lib/browser/{app-graph-builder-36SKR7CX.mjs → app-graph-builder-4DIOTGOG.mjs} +2 -9
  6. package/dist/lib/browser/app-graph-builder-4DIOTGOG.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-FR7IEJ7N.mjs → chunk-M2SADJVS.mjs} +4 -4
  8. package/dist/lib/browser/{chunk-FR7IEJ7N.mjs.map → chunk-M2SADJVS.mjs.map} +2 -2
  9. package/dist/lib/browser/{chunk-HI564NSX.mjs → chunk-WVME6K4X.mjs} +4 -4
  10. package/dist/lib/browser/index.mjs +2 -2
  11. package/dist/lib/browser/meta.json +1 -1
  12. package/dist/lib/browser/{react-surface-GLNUJX7O.mjs → react-surface-ZT6EQ7FJ.mjs} +3 -3
  13. package/dist/lib/node/{AssistantDialog-DS7OCVMV.cjs → AssistantDialog-5PVOCPE2.cjs} +6 -6
  14. package/dist/lib/node/{ChatContainer-7MNRJL6Q.cjs → ChatContainer-I45I3ICI.cjs} +6 -6
  15. package/dist/lib/node/{ai-client-RBDOGK6W.cjs → ai-client-6CY35ZIR.cjs} +4 -15
  16. package/dist/lib/node/ai-client-6CY35ZIR.cjs.map +7 -0
  17. package/dist/lib/node/{app-graph-builder-V5JKKIY5.cjs → app-graph-builder-7O4U4RXH.cjs} +5 -12
  18. package/dist/lib/node/app-graph-builder-7O4U4RXH.cjs.map +7 -0
  19. package/dist/lib/node/{chunk-PYTGHFKZ.cjs → chunk-HFOUAFOW.cjs} +8 -8
  20. package/dist/lib/node/{chunk-PYTGHFKZ.cjs.map → chunk-HFOUAFOW.cjs.map} +2 -2
  21. package/dist/lib/node/{chunk-3HNLL6MY.cjs → chunk-JWUHUQ56.cjs} +7 -7
  22. package/dist/lib/node/index.cjs +16 -16
  23. package/dist/lib/node/meta.json +1 -1
  24. package/dist/lib/node/{react-surface-PYGRBZY7.cjs → react-surface-KFXP3GGK.cjs} +11 -11
  25. package/dist/lib/node-esm/{AssistantDialog-TSVUYKUL.mjs → AssistantDialog-Q2ZBOHOV.mjs} +2 -2
  26. package/dist/lib/node-esm/{ChatContainer-H4X734PB.mjs → ChatContainer-5ULBF3GW.mjs} +2 -2
  27. package/dist/lib/node-esm/{ai-client-OTZVBDUH.mjs → ai-client-GSA67EIB.mjs} +1 -12
  28. package/dist/lib/node-esm/ai-client-GSA67EIB.mjs.map +7 -0
  29. package/dist/lib/node-esm/{app-graph-builder-DCAP6QAV.mjs → app-graph-builder-SX3SREXF.mjs} +2 -9
  30. package/dist/lib/node-esm/app-graph-builder-SX3SREXF.mjs.map +7 -0
  31. package/dist/lib/node-esm/{chunk-JRP4BQT4.mjs → chunk-2OUUYMBT.mjs} +4 -4
  32. package/dist/lib/node-esm/{chunk-JRP4BQT4.mjs.map → chunk-2OUUYMBT.mjs.map} +2 -2
  33. package/dist/lib/node-esm/{chunk-E44GXXNE.mjs → chunk-ASMI7PQ2.mjs} +4 -4
  34. package/dist/lib/node-esm/index.mjs +2 -2
  35. package/dist/lib/node-esm/meta.json +1 -1
  36. package/dist/lib/node-esm/{react-surface-PEQD6IJS.mjs → react-surface-NZNNP2QI.mjs} +3 -3
  37. package/dist/types/src/capabilities/ai-client.d.ts.map +1 -1
  38. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  39. package/dist/types/src/components/index.d.ts.map +1 -1
  40. package/package.json +55 -55
  41. package/src/capabilities/ai-client.ts +0 -2
  42. package/src/capabilities/app-graph-builder.ts +0 -2
  43. package/src/components/index.ts +3 -0
  44. package/dist/lib/browser/ai-client-PORKRZXM.mjs.map +0 -7
  45. package/dist/lib/browser/app-graph-builder-36SKR7CX.mjs.map +0 -7
  46. package/dist/lib/node/ai-client-RBDOGK6W.cjs.map +0 -7
  47. package/dist/lib/node/app-graph-builder-V5JKKIY5.cjs.map +0 -7
  48. package/dist/lib/node-esm/ai-client-OTZVBDUH.mjs.map +0 -7
  49. package/dist/lib/node-esm/app-graph-builder-DCAP6QAV.mjs.map +0 -7
  50. /package/dist/lib/browser/{AssistantDialog-AMON6O2T.mjs.map → AssistantDialog-CM33SOCT.mjs.map} +0 -0
  51. /package/dist/lib/browser/{ChatContainer-SPZK5ZHX.mjs.map → ChatContainer-VW73VNUY.mjs.map} +0 -0
  52. /package/dist/lib/browser/{chunk-HI564NSX.mjs.map → chunk-WVME6K4X.mjs.map} +0 -0
  53. /package/dist/lib/browser/{react-surface-GLNUJX7O.mjs.map → react-surface-ZT6EQ7FJ.mjs.map} +0 -0
  54. /package/dist/lib/node/{AssistantDialog-DS7OCVMV.cjs.map → AssistantDialog-5PVOCPE2.cjs.map} +0 -0
  55. /package/dist/lib/node/{ChatContainer-7MNRJL6Q.cjs.map → ChatContainer-I45I3ICI.cjs.map} +0 -0
  56. /package/dist/lib/node/{chunk-3HNLL6MY.cjs.map → chunk-JWUHUQ56.cjs.map} +0 -0
  57. /package/dist/lib/node/{react-surface-PYGRBZY7.cjs.map → react-surface-KFXP3GGK.cjs.map} +0 -0
  58. /package/dist/lib/node-esm/{AssistantDialog-TSVUYKUL.mjs.map → AssistantDialog-Q2ZBOHOV.mjs.map} +0 -0
  59. /package/dist/lib/node-esm/{ChatContainer-H4X734PB.mjs.map → ChatContainer-5ULBF3GW.mjs.map} +0 -0
  60. /package/dist/lib/node-esm/{chunk-E44GXXNE.mjs.map → chunk-ASMI7PQ2.mjs.map} +0 -0
  61. /package/dist/lib/node-esm/{react-surface-PEQD6IJS.mjs.map → react-surface-NZNNP2QI.mjs.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ThreadContainer
3
- } from "./chunk-HI564NSX.mjs";
3
+ } from "./chunk-WVME6K4X.mjs";
4
4
  import "./chunk-NTLTGYYS.mjs";
5
5
  import "./chunk-FPXC3LKK.mjs";
6
6
  import {
@@ -113,4 +113,4 @@ export {
113
113
  AssistantDialog,
114
114
  AssistantDialog_default as default
115
115
  };
116
- //# sourceMappingURL=AssistantDialog-AMON6O2T.mjs.map
116
+ //# sourceMappingURL=AssistantDialog-CM33SOCT.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ThreadContainer
3
- } from "./chunk-HI564NSX.mjs";
3
+ } from "./chunk-WVME6K4X.mjs";
4
4
  import "./chunk-NTLTGYYS.mjs";
5
5
  import "./chunk-FPXC3LKK.mjs";
6
6
  import {
@@ -30,4 +30,4 @@ export {
30
30
  ChatContainer,
31
31
  ChatContainer_default as default
32
32
  };
33
- //# sourceMappingURL=ChatContainer-SPZK5ZHX.mjs.map
33
+ //# sourceMappingURL=ChatContainer-VW73VNUY.mjs.map
@@ -6,9 +6,7 @@ import "./chunk-NV7SVHMV.mjs";
6
6
  // packages/plugins/experimental/plugin-assistant/src/capabilities/ai-client.ts
7
7
  import { contributes } from "@dxos/app-framework";
8
8
  import { AIServiceEdgeClient } from "@dxos/assistant";
9
- import { log } from "@dxos/log";
10
9
  import { ClientCapabilities } from "@dxos/plugin-client";
11
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-assistant/src/capabilities/ai-client.ts";
12
10
  var DEFAULT_AI_SERVICE_URL = "http://localhost:8788";
13
11
  var ai_client_default = (context) => {
14
12
  const client = context.requestCapability(ClientCapabilities.Client);
@@ -16,18 +14,9 @@ var ai_client_default = (context) => {
16
14
  const ai = new AIServiceEdgeClient({
17
15
  endpoint
18
16
  });
19
- log.info("ai", {
20
- endpoint,
21
- context
22
- }, {
23
- F: __dxlog_file,
24
- L: 20,
25
- S: void 0,
26
- C: (f, a) => f(...a)
27
- });
28
17
  return contributes(AssistantCapabilities.AiClient, ai);
29
18
  };
30
19
  export {
31
20
  ai_client_default as default
32
21
  };
33
- //# sourceMappingURL=ai-client-PORKRZXM.mjs.map
22
+ //# sourceMappingURL=ai-client-HZPB7E6M.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/ai-client.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { contributes, type PluginsContext } from '@dxos/app-framework';\nimport { AIServiceEdgeClient } from '@dxos/assistant';\nimport { ClientCapabilities } from '@dxos/plugin-client';\n\nimport { AssistantCapabilities } from './capabilities';\n\n// TODO(wittjosiah): Factor out.\nconst DEFAULT_AI_SERVICE_URL = 'http://localhost:8788';\n\nexport default (context: PluginsContext) => {\n const client = context.requestCapability(ClientCapabilities.Client);\n const endpoint = client.config.values.runtime?.services?.ai?.server ?? DEFAULT_AI_SERVICE_URL;\n // TODO(burdon): Use prefs.\n const ai = new AIServiceEdgeClient({ endpoint });\n return contributes(AssistantCapabilities.AiClient, ai);\n};\n"],
5
+ "mappings": ";;;;;;AAIA,SAASA,mBAAwC;AACjD,SAASC,2BAA2B;AACpC,SAASC,0BAA0B;AAKnC,IAAMC,yBAAyB;AAE/B,IAAA,oBAAe,CAACC,YAAAA;AACd,QAAMC,SAASD,QAAQE,kBAAkBC,mBAAmBC,MAAM;AAClE,QAAMC,WAAWJ,OAAOK,OAAOC,OAAOC,SAASC,UAAUC,IAAIC,UAAUZ;AAEvE,QAAMW,KAAK,IAAIE,oBAAoB;IAAEP;EAAS,CAAA;AAC9C,SAAOQ,YAAYC,sBAAsBC,UAAUL,EAAAA;AACrD;",
6
+ "names": ["contributes", "AIServiceEdgeClient", "ClientCapabilities", "DEFAULT_AI_SERVICE_URL", "context", "client", "requestCapability", "ClientCapabilities", "Client", "endpoint", "config", "values", "runtime", "services", "ai", "server", "AIServiceEdgeClient", "contributes", "AssistantCapabilities", "AiClient"]
7
+ }
@@ -10,7 +10,6 @@ import {
10
10
  // packages/plugins/experimental/plugin-assistant/src/capabilities/app-graph-builder.ts
11
11
  import { Capabilities, contributes, createIntent, LayoutAction } from "@dxos/app-framework";
12
12
  import { invariant } from "@dxos/invariant";
13
- import { log } from "@dxos/log";
14
13
  import { ClientCapabilities } from "@dxos/plugin-client";
15
14
  import { createExtension, ROOT_ID } from "@dxos/plugin-graph";
16
15
  import { SpaceAction } from "@dxos/plugin-space/types";
@@ -42,12 +41,6 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
42
41
  chat = await getOrCreateChat(dispatch, space);
43
42
  }
44
43
  if (!chat) {
45
- log.warn("no chat found", void 0, {
46
- F: __dxlog_file,
47
- L: 54,
48
- S: void 0,
49
- C: (f, a) => f(...a)
50
- });
51
44
  return;
52
45
  }
53
46
  await dispatch(createIntent(LayoutAction.UpdateDialog, {
@@ -91,7 +84,7 @@ var getOrCreateChat = async (dispatch, space) => {
91
84
  }));
92
85
  invariant(data?.object instanceof AIChatType, void 0, {
93
86
  F: __dxlog_file,
94
- L: 97,
87
+ L: 95,
95
88
  S: void 0,
96
89
  A: [
97
90
  "data?.object instanceof AIChatType",
@@ -107,4 +100,4 @@ var getOrCreateChat = async (dispatch, space) => {
107
100
  export {
108
101
  app_graph_builder_default as default
109
102
  };
110
- //# sourceMappingURL=app-graph-builder-36SKR7CX.mjs.map
103
+ //# sourceMappingURL=app-graph-builder-4DIOTGOG.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/app-graph-builder.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport {\n Capabilities,\n contributes,\n createIntent,\n LayoutAction,\n type PromiseIntentDispatcher,\n type PluginsContext,\n} from '@dxos/app-framework';\nimport { invariant } from '@dxos/invariant';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { createExtension, type Node, ROOT_ID } from '@dxos/plugin-graph';\nimport { SpaceAction } from '@dxos/plugin-space/types';\nimport { type Space, Filter, getSpace } from '@dxos/react-client/echo';\n\nimport { ASSISTANT_DIALOG, ASSISTANT_PLUGIN } from '../meta';\nimport { AIChatType, AssistantAction } from '../types';\n\nexport default (context: PluginsContext) =>\n contributes(Capabilities.AppGraphBuilder, [\n createExtension({\n id: `${ASSISTANT_PLUGIN}/assistant`,\n filter: (node): node is Node<null> => node.id === ROOT_ID,\n actions: () => [\n {\n id: `${LayoutAction.UpdateDialog._tag}/assistant/open`,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const client = context.requestCapability(ClientCapabilities.Client);\n const layout = context.requestCapability(Capabilities.Layout);\n const { graph } = context.requestCapability(Capabilities.AppGraph);\n\n // TODO(burdon): Get space from workspace.\n // TODO(burdon): If need to create chat, then add to dispatch stack below.\n let chat: AIChatType | undefined;\n if (layout.active.length > 0) {\n const node = graph.findNode(layout.active[0]);\n if (node) {\n const space = getSpace(node.data);\n if (space) {\n chat = await getOrCreateChat(dispatch, space);\n }\n }\n } else {\n const space = client.spaces.default;\n chat = await getOrCreateChat(dispatch, space);\n }\n\n if (!chat) {\n return;\n }\n\n await dispatch(\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n subject: ASSISTANT_DIALOG,\n options: {\n state: true,\n blockAlign: 'end',\n props: {\n chat,\n },\n },\n }),\n );\n },\n properties: {\n label: ['open assistant label', { ns: ASSISTANT_PLUGIN }],\n icon: 'ph--chat-centered-text--regular',\n disposition: 'pin-end',\n position: 'hoist',\n keyBinding: {\n macos: 'shift+meta+k',\n windows: 'shift+ctrl+k',\n },\n },\n },\n ],\n }),\n ]);\n\n// TODO(burdon): Factor out.\nconst getOrCreateChat = async (dispatch: PromiseIntentDispatcher, space: Space): Promise<AIChatType | undefined> => {\n const { objects } = await space.db.query(Filter.schema(AIChatType)).run();\n // console.log('objects', JSON.stringify(objects, null, 2));\n if (objects.length > 0) {\n // TODO(burdon): Is this the most recent?\n return objects[objects.length - 1];\n }\n\n const { data } = await dispatch(createIntent(AssistantAction.CreateChat, { spaceId: space.id }));\n invariant(data?.object instanceof AIChatType);\n await dispatch(createIntent(SpaceAction.AddObject, { target: space, object: data.object }));\n return data.object;\n};\n"],
5
+ "mappings": ";;;;;;;;;;AAIA,SACEA,cACAC,aACAC,cACAC,oBAGK;AACP,SAASC,iBAAiB;AAC1B,SAASC,0BAA0B;AACnC,SAASC,iBAA4BC,eAAe;AACpD,SAASC,mBAAmB;AAC5B,SAAqBC,QAAQC,gBAAgB;;AAK7C,IAAA,4BAAe,CAACC,YACdC,YAAYC,aAAaC,iBAAiB;EACxCC,gBAAgB;IACdC,IAAI,GAAGC,gBAAAA;IACPC,QAAQ,CAACC,SAA6BA,KAAKH,OAAOI;IAClDC,SAAS,MAAM;MACb;QACEL,IAAI,GAAGM,aAAaC,aAAaC,IAAI;QACrCC,MAAM,YAAA;AACJ,gBAAM,EAAEC,iBAAiBC,SAAQ,IAAKhB,QAAQiB,kBAAkBf,aAAagB,gBAAgB;AAC7F,gBAAMC,SAASnB,QAAQiB,kBAAkBG,mBAAmBC,MAAM;AAClE,gBAAMC,SAAStB,QAAQiB,kBAAkBf,aAAaqB,MAAM;AAC5D,gBAAM,EAAEC,MAAK,IAAKxB,QAAQiB,kBAAkBf,aAAauB,QAAQ;AAIjE,cAAIC;AACJ,cAAIJ,OAAOK,OAAOC,SAAS,GAAG;AAC5B,kBAAMpB,OAAOgB,MAAMK,SAASP,OAAOK,OAAO,CAAA,CAAE;AAC5C,gBAAInB,MAAM;AACR,oBAAMsB,QAAQC,SAASvB,KAAKM,IAAI;AAChC,kBAAIgB,OAAO;AACTJ,uBAAO,MAAMM,gBAAgBhB,UAAUc,KAAAA;cACzC;YACF;UACF,OAAO;AACL,kBAAMA,QAAQX,OAAOc,OAAOC;AAC5BR,mBAAO,MAAMM,gBAAgBhB,UAAUc,KAAAA;UACzC;AAEA,cAAI,CAACJ,MAAM;AACT;UACF;AAEA,gBAAMV,SACJmB,aAAaxB,aAAaC,cAAc;YACtCwB,MAAM;YACNC,SAASC;YACTC,SAAS;cACPC,OAAO;cACPC,YAAY;cACZC,OAAO;gBACLhB;cACF;YACF;UACF,CAAA,CAAA;QAEJ;QACAiB,YAAY;UACVC,OAAO;YAAC;YAAwB;cAAEC,IAAIvC;YAAiB;;UACvDwC,MAAM;UACNC,aAAa;UACbC,UAAU;UACVC,YAAY;YACVC,OAAO;YACPC,SAAS;UACX;QACF;MACF;;EAEJ,CAAA;CACD;AAGH,IAAMnB,kBAAkB,OAAOhB,UAAmCc,UAAAA;AAChE,QAAM,EAAEsB,QAAO,IAAK,MAAMtB,MAAMuB,GAAGC,MAAMC,OAAOC,OAAOC,UAAAA,CAAAA,EAAaC,IAAG;AAEvE,MAAIN,QAAQxB,SAAS,GAAG;AAEtB,WAAOwB,QAAQA,QAAQxB,SAAS,CAAA;EAClC;AAEA,QAAM,EAAEd,KAAI,IAAK,MAAME,SAASmB,aAAawB,gBAAgBC,YAAY;IAAEC,SAAS/B,MAAMzB;EAAG,CAAA,CAAA;AAC7FyD,YAAUhD,MAAMiD,kBAAkBN,YAAAA,QAAAA;;;;;;;;;AAClC,QAAMzC,SAASmB,aAAa6B,YAAYC,WAAW;IAAEC,QAAQpC;IAAOiC,QAAQjD,KAAKiD;EAAO,CAAA,CAAA;AACxF,SAAOjD,KAAKiD;AACd;",
6
+ "names": ["Capabilities", "contributes", "createIntent", "LayoutAction", "invariant", "ClientCapabilities", "createExtension", "ROOT_ID", "SpaceAction", "Filter", "getSpace", "context", "contributes", "Capabilities", "AppGraphBuilder", "createExtension", "id", "ASSISTANT_PLUGIN", "filter", "node", "ROOT_ID", "actions", "LayoutAction", "UpdateDialog", "_tag", "data", "dispatchPromise", "dispatch", "requestCapability", "IntentDispatcher", "client", "ClientCapabilities", "Client", "layout", "Layout", "graph", "AppGraph", "chat", "active", "length", "findNode", "space", "getSpace", "getOrCreateChat", "spaces", "default", "createIntent", "part", "subject", "ASSISTANT_DIALOG", "options", "state", "blockAlign", "props", "properties", "label", "ns", "icon", "disposition", "position", "keyBinding", "macos", "windows", "objects", "db", "query", "Filter", "schema", "AIChatType", "run", "AssistantAction", "CreateChat", "spaceId", "invariant", "object", "SpaceAction", "AddObject", "target"]
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  useServices
3
- } from "./chunk-HI564NSX.mjs";
3
+ } from "./chunk-WVME6K4X.mjs";
4
4
  import {
5
5
  ServiceType,
6
6
  categoryIcons
@@ -92,8 +92,8 @@ var ServiceItem = ({ service, enabled, setEnabled }) => {
92
92
 
93
93
  // packages/plugins/experimental/plugin-assistant/src/components/index.ts
94
94
  import { lazy } from "react";
95
- var AssistantDialog = lazy(() => import("./AssistantDialog-AMON6O2T.mjs"));
96
- var ChatContainer = lazy(() => import("./ChatContainer-SPZK5ZHX.mjs"));
95
+ var AssistantDialog = lazy(() => import("./AssistantDialog-CM33SOCT.mjs"));
96
+ var ChatContainer = lazy(() => import("./ChatContainer-VW73VNUY.mjs"));
97
97
  var TemplateContainer = lazy(() => import("./TemplateContainer-B7MQNUPY.mjs"));
98
98
 
99
99
  export {
@@ -103,4 +103,4 @@ export {
103
103
  ChatContainer,
104
104
  TemplateContainer
105
105
  };
106
- //# sourceMappingURL=chunk-FR7IEJ7N.mjs.map
106
+ //# sourceMappingURL=chunk-M2SADJVS.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/AssistantSettings/AssistantSettings.tsx", "../../../src/components/ServiceRegistry/ServiceRegistry.tsx", "../../../src/components/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { DEFAULT_LLM_MODELS } from '@dxos/assistant';\nimport { Input, Select, useTranslation } from '@dxos/react-ui';\nimport { DeprecatedFormContainer, DeprecatedFormInput } from '@dxos/react-ui-form';\n\nimport { ASSISTANT_PLUGIN } from '../../meta';\nimport { type AssistantSettingsProps } from '../../types';\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 model label')}>\n <Select.Root\n value={settings.llmModel ?? 'default'}\n onValueChange={(value) => {\n settings.llmModel = value;\n }}\n >\n <Select.TriggerButton placeholder={t('settings default llm model label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {DEFAULT_LLM_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 React, { useMemo } from 'react';\n\nimport { Filter, type Space } from '@dxos/client/echo';\nimport { useQuery } from '@dxos/react-client/echo';\nimport { Icon, Input, List, ListItem } from '@dxos/react-ui';\n\nimport { useServices } from '../../hooks';\nimport { categoryIcons, ServiceType } from '../../types';\n\n// TODO(burdon): Option to show all/enabled/filter.\nexport const ServiceRegistry = ({ space }: { space: Space }) => {\n const matchingServices = useServices(space);\n const enabledServices = useQuery(space, Filter.schema(ServiceType));\n\n // Join matching services with enabled services.\n const services = useMemo(() => {\n return matchingServices.map((service) => enabledServices.find((s) => s.serviceId === service.serviceId) ?? service);\n }, [matchingServices, enabledServices]);\n\n // TODO(burdon): Reaplce with SpacePlugin intent.\n const handleSetEnabled = (service: ServiceType, enabled: boolean) => {\n if (enabled) {\n space.db.add(service);\n } else {\n // TODO(burdon): Remove or disable?\n space.db.remove(service);\n }\n };\n\n return (\n <List classNames='h-full grid auto-rows-[5rem] gap-2 p-2 pis-2 pie-2 overflow-y-auto scrollbar-thin'>\n {services.map((service) => (\n <ServiceItem\n key={service.serviceId}\n service={service}\n enabled={service.enabled}\n setEnabled={(enabled) => handleSetEnabled(service, enabled)}\n />\n ))}\n </List>\n );\n};\n\nconst ServiceItem = ({\n service,\n enabled,\n setEnabled,\n}: {\n service: ServiceType;\n enabled?: boolean;\n setEnabled?: (enabled: boolean) => void;\n}) => {\n return (\n <ListItem.Root classNames='flex flex-col gap-1 p-1 overflow-hidden rounded-md border border-separator'>\n <div className='grid grid-cols-[40px_1fr_40px]'>\n <div className='flex gow justify-center items-center'>\n <Icon icon={categoryIcons[service.category ?? 'default'] ?? 'ph--placeholder--regular'} size={6} />\n </div>\n <div className='grow items-center truncate mie-2'>{service.name}</div>\n <div className='flex gow justify-center items-center'>\n <Input.Root>\n <Input.Switch checked={enabled} onClick={() => setEnabled?.(!enabled)} />\n </Input.Root>\n </div>\n </div>\n <div className='grid grid-cols-[40px_1fr]'>\n <div />\n <div className='text-sm text-subdued line-clamp-2 mie-1'>{service.description}</div>\n </div>\n </ListItem.Root>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport * from './AssistantSettings';\nexport * from './ServiceRegistry';\nexport * from './TemplateEditor';\nexport * from './Thread';\nexport * from './Toolbox';\n\nexport const AssistantDialog = lazy(() => import('./AssistantDialog'));\nexport const ChatContainer = lazy(() => import('./ChatContainer'));\nexport const TemplateContainer = lazy(() => import('./TemplateContainer'));\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { DEFAULT_LLM_MODELS } from '@dxos/assistant';\nimport { Input, Select, useTranslation } from '@dxos/react-ui';\nimport { DeprecatedFormContainer, DeprecatedFormInput } from '@dxos/react-ui-form';\n\nimport { ASSISTANT_PLUGIN } from '../../meta';\nimport { type AssistantSettingsProps } from '../../types';\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 model label')}>\n <Select.Root\n value={settings.llmModel ?? 'default'}\n onValueChange={(value) => {\n settings.llmModel = value;\n }}\n >\n <Select.TriggerButton placeholder={t('settings default llm model label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {DEFAULT_LLM_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 React, { useMemo } from 'react';\n\nimport { Filter, type Space } from '@dxos/client/echo';\nimport { useQuery } from '@dxos/react-client/echo';\nimport { Icon, Input, List, ListItem } from '@dxos/react-ui';\n\nimport { useServices } from '../../hooks';\nimport { categoryIcons, ServiceType } from '../../types';\n\n// TODO(burdon): Option to show all/enabled/filter.\nexport const ServiceRegistry = ({ space }: { space: Space }) => {\n const matchingServices = useServices(space);\n const enabledServices = useQuery(space, Filter.schema(ServiceType));\n\n // Join matching services with enabled services.\n const services = useMemo(() => {\n return matchingServices.map((service) => enabledServices.find((s) => s.serviceId === service.serviceId) ?? service);\n }, [matchingServices, enabledServices]);\n\n // TODO(burdon): Reaplce with SpacePlugin intent.\n const handleSetEnabled = (service: ServiceType, enabled: boolean) => {\n if (enabled) {\n space.db.add(service);\n } else {\n // TODO(burdon): Remove or disable?\n space.db.remove(service);\n }\n };\n\n return (\n <List classNames='h-full grid auto-rows-[5rem] gap-2 p-2 pis-2 pie-2 overflow-y-auto scrollbar-thin'>\n {services.map((service) => (\n <ServiceItem\n key={service.serviceId}\n service={service}\n enabled={service.enabled}\n setEnabled={(enabled) => handleSetEnabled(service, enabled)}\n />\n ))}\n </List>\n );\n};\n\nconst ServiceItem = ({\n service,\n enabled,\n setEnabled,\n}: {\n service: ServiceType;\n enabled?: boolean;\n setEnabled?: (enabled: boolean) => void;\n}) => {\n return (\n <ListItem.Root classNames='flex flex-col gap-1 p-1 overflow-hidden rounded-md border border-separator'>\n <div className='grid grid-cols-[40px_1fr_40px]'>\n <div className='flex gow justify-center items-center'>\n <Icon icon={categoryIcons[service.category ?? 'default'] ?? 'ph--placeholder--regular'} size={6} />\n </div>\n <div className='grow items-center truncate mie-2'>{service.name}</div>\n <div className='flex gow justify-center items-center'>\n <Input.Root>\n <Input.Switch checked={enabled} onClick={() => setEnabled?.(!enabled)} />\n </Input.Root>\n </div>\n </div>\n <div className='grid grid-cols-[40px_1fr]'>\n <div />\n <div className='text-sm text-subdued line-clamp-2 mie-1'>{service.description}</div>\n </div>\n </ListItem.Root>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport * from './AssistantSettings';\nexport * from './ServiceRegistry';\nexport * from './TemplateEditor';\nexport * from './Thread';\nexport * from './Toolbox';\n\n// TODO(burdon): Lazy loading causes issues with Tabster.\n// Repro: open assistant dialog then close.\n// https://github.com/microsoft/fluentui/issues/34020\nexport const AssistantDialog = lazy(() => import('./AssistantDialog'));\nexport const ChatContainer = lazy(() => import('./ChatContainer'));\nexport const TemplateContainer = lazy(() => import('./TemplateContainer'));\n"],
5
+ "mappings": "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",
6
6
  "names": ["React", "DEFAULT_LLM_MODELS", "Input", "Select", "useTranslation", "DeprecatedFormContainer", "DeprecatedFormInput", "AssistantSettings", "settings", "t", "useTranslation", "ASSISTANT_PLUGIN", "DeprecatedFormContainer", "DeprecatedFormInput", "label", "Input", "Switch", "checked", "customPrompts", "onCheckedChange", "Select", "Root", "value", "llmModel", "onValueChange", "TriggerButton", "placeholder", "Portal", "Content", "Viewport", "DEFAULT_LLM_MODELS", "map", "model", "Option", "key", "React", "useMemo", "Filter", "useQuery", "Icon", "Input", "List", "ListItem", "ServiceRegistry", "space", "matchingServices", "useServices", "enabledServices", "useQuery", "Filter", "schema", "ServiceType", "services", "useMemo", "map", "service", "find", "s", "serviceId", "handleSetEnabled", "enabled", "db", "add", "remove", "React", "List", "classNames", "ServiceItem", "key", "setEnabled", "ListItem", "Root", "div", "className", "Icon", "icon", "categoryIcons", "category", "size", "name", "Input", "Switch", "checked", "onClick", "description", "lazy", "AssistantDialog", "lazy", "ChatContainer", "TemplateContainer"]
7
7
  }
@@ -1486,10 +1486,10 @@ import { isNonNullable as isNonNullable2 } from "@dxos/util";
1486
1486
 
1487
1487
  // packages/plugins/experimental/plugin-assistant/src/capabilities/index.ts
1488
1488
  import { lazy } from "@dxos/app-framework";
1489
- var AiClient = lazy(() => import("./ai-client-PORKRZXM.mjs"));
1490
- var AppGraphBuilder = lazy(() => import("./app-graph-builder-36SKR7CX.mjs"));
1489
+ var AiClient = lazy(() => import("./ai-client-HZPB7E6M.mjs"));
1490
+ var AppGraphBuilder = lazy(() => import("./app-graph-builder-4DIOTGOG.mjs"));
1491
1491
  var IntentResolver = lazy(() => import("./intent-resolver-FQRN6747.mjs"));
1492
- var ReactSurface = lazy(() => import("./react-surface-GLNUJX7O.mjs"));
1492
+ var ReactSurface = lazy(() => import("./react-surface-ZT6EQ7FJ.mjs"));
1493
1493
  var AssistantSettings = lazy(() => import("./settings-VVQUGG56.mjs"));
1494
1494
 
1495
1495
  // packages/plugins/experimental/plugin-assistant/src/hooks/useChatProcessor.tsx
@@ -1817,4 +1817,4 @@ export {
1817
1817
  Thread,
1818
1818
  ThreadContainer
1819
1819
  };
1820
- //# sourceMappingURL=chunk-HI564NSX.mjs.map
1820
+ //# sourceMappingURL=chunk-WVME6K4X.mjs.map
@@ -4,7 +4,7 @@ import {
4
4
  ChatContainer,
5
5
  ServiceRegistry,
6
6
  TemplateContainer
7
- } from "./chunk-FR7IEJ7N.mjs";
7
+ } from "./chunk-M2SADJVS.mjs";
8
8
  import {
9
9
  TemplateEditor,
10
10
  handlebarsHighlightStyle
@@ -19,7 +19,7 @@ import {
19
19
  ThreadContainer,
20
20
  Toolbox,
21
21
  ToolboxContainer
22
- } from "./chunk-HI564NSX.mjs";
22
+ } from "./chunk-WVME6K4X.mjs";
23
23
  import "./chunk-NTLTGYYS.mjs";
24
24
  import {
25
25
  AIChatType,