@dxos/plugin-assistant 0.8.1-main.ae460ac → 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 (127) hide show
  1. package/dist/lib/browser/{AssistantDialog-6KB6INZE.mjs → AssistantDialog-CM33SOCT.mjs} +3 -3
  2. package/dist/lib/browser/{ChatContainer-DQNUNADE.mjs → ChatContainer-VW73VNUY.mjs} +3 -3
  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-AXAIFOGV.mjs → app-graph-builder-4DIOTGOG.mjs} +3 -10
  6. package/dist/lib/browser/app-graph-builder-4DIOTGOG.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-FRIKXDDQ.mjs → chunk-FPXC3LKK.mjs} +2 -2
  8. package/dist/lib/browser/{chunk-FRIKXDDQ.mjs.map → chunk-FPXC3LKK.mjs.map} +1 -1
  9. package/dist/lib/browser/{chunk-6F6FUSOV.mjs → chunk-M2SADJVS.mjs} +5 -5
  10. package/dist/lib/browser/{chunk-6F6FUSOV.mjs.map → chunk-M2SADJVS.mjs.map} +2 -2
  11. package/dist/lib/browser/{chunk-NIESO4DA.mjs → chunk-WVME6K4X.mjs} +35 -19
  12. package/dist/lib/browser/chunk-WVME6K4X.mjs.map +7 -0
  13. package/dist/lib/browser/index.mjs +3 -3
  14. package/dist/lib/browser/{intent-resolver-QRVRZL6K.mjs → intent-resolver-FQRN6747.mjs} +2 -2
  15. package/dist/lib/browser/meta.json +1 -1
  16. package/dist/lib/browser/{react-surface-UX6A7C24.mjs → react-surface-ZT6EQ7FJ.mjs} +4 -4
  17. package/dist/lib/browser/{settings-JTT62IHD.mjs → settings-VVQUGG56.mjs} +2 -2
  18. package/dist/lib/browser/types/index.mjs +1 -1
  19. package/dist/lib/node/{AssistantDialog-DSBHAWOS.cjs → AssistantDialog-5PVOCPE2.cjs} +7 -7
  20. package/dist/lib/node/{ChatContainer-3RAAOIWP.cjs → ChatContainer-I45I3ICI.cjs} +7 -7
  21. package/dist/lib/node/{ai-client-RBDOGK6W.cjs → ai-client-6CY35ZIR.cjs} +4 -15
  22. package/dist/lib/node/ai-client-6CY35ZIR.cjs.map +7 -0
  23. package/dist/lib/node/{app-graph-builder-D7SHQTZS.cjs → app-graph-builder-7O4U4RXH.cjs} +9 -16
  24. package/dist/lib/node/app-graph-builder-7O4U4RXH.cjs.map +7 -0
  25. package/dist/lib/node/{chunk-37GI4NYH.cjs → chunk-34WE2FD2.cjs} +6 -6
  26. package/dist/lib/node/{chunk-37GI4NYH.cjs.map → chunk-34WE2FD2.cjs.map} +2 -2
  27. package/dist/lib/node/{chunk-XANPLPBO.cjs → chunk-HFOUAFOW.cjs} +11 -11
  28. package/dist/lib/node/{chunk-XANPLPBO.cjs.map → chunk-HFOUAFOW.cjs.map} +2 -2
  29. package/dist/lib/node/{chunk-KOSGO3RY.cjs → chunk-JWUHUQ56.cjs} +50 -34
  30. package/dist/lib/node/chunk-JWUHUQ56.cjs.map +7 -0
  31. package/dist/lib/node/index.cjs +36 -36
  32. package/dist/lib/node/{intent-resolver-YMMAFVOB.cjs → intent-resolver-Z37RNNMC.cjs} +9 -9
  33. package/dist/lib/node/meta.json +1 -1
  34. package/dist/lib/node/{react-surface-HTFYCQUK.cjs → react-surface-KFXP3GGK.cjs} +14 -14
  35. package/dist/lib/node/{settings-4YEO7KXF.cjs → settings-TJHHVI6B.cjs} +6 -6
  36. package/dist/lib/node/types/index.cjs +10 -10
  37. package/dist/lib/node/types/index.cjs.map +1 -1
  38. package/dist/lib/node-esm/{AssistantDialog-Y2AN6UPH.mjs → AssistantDialog-Q2ZBOHOV.mjs} +3 -3
  39. package/dist/lib/node-esm/{ChatContainer-OZO2R4TX.mjs → ChatContainer-5ULBF3GW.mjs} +3 -3
  40. package/dist/lib/node-esm/{ai-client-OTZVBDUH.mjs → ai-client-GSA67EIB.mjs} +1 -12
  41. package/dist/lib/node-esm/ai-client-GSA67EIB.mjs.map +7 -0
  42. package/dist/lib/node-esm/{app-graph-builder-H2GC2AZA.mjs → app-graph-builder-SX3SREXF.mjs} +3 -10
  43. package/dist/lib/node-esm/app-graph-builder-SX3SREXF.mjs.map +7 -0
  44. package/dist/lib/node-esm/{chunk-KICG37HX.mjs → chunk-2OUUYMBT.mjs} +5 -5
  45. package/dist/lib/node-esm/{chunk-KICG37HX.mjs.map → chunk-2OUUYMBT.mjs.map} +2 -2
  46. package/dist/lib/node-esm/{chunk-GKBHTBON.mjs → chunk-ASMI7PQ2.mjs} +35 -19
  47. package/dist/lib/node-esm/chunk-ASMI7PQ2.mjs.map +7 -0
  48. package/dist/lib/node-esm/{chunk-CJ4Y3QW5.mjs → chunk-LELXJPGJ.mjs} +2 -2
  49. package/dist/lib/node-esm/{chunk-CJ4Y3QW5.mjs.map → chunk-LELXJPGJ.mjs.map} +1 -1
  50. package/dist/lib/node-esm/index.mjs +3 -3
  51. package/dist/lib/node-esm/{intent-resolver-MR7BOKEW.mjs → intent-resolver-LOTXWV4J.mjs} +2 -2
  52. package/dist/lib/node-esm/meta.json +1 -1
  53. package/dist/lib/node-esm/{react-surface-AMVW4HZ7.mjs → react-surface-NZNNP2QI.mjs} +4 -4
  54. package/dist/lib/node-esm/{settings-S7P5RWQI.mjs → settings-BVWR244C.mjs} +2 -2
  55. package/dist/lib/node-esm/types/index.mjs +1 -1
  56. package/dist/types/src/capabilities/ai-client.d.ts.map +1 -1
  57. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  58. package/dist/types/src/components/AmbientDialog/AmbientDialog.d.ts +2 -2
  59. package/dist/types/src/components/AmbientDialog/AmbientDialog.d.ts.map +1 -1
  60. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts +2 -1
  61. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +1 -1
  62. package/dist/types/src/components/ChatContainer.d.ts +2 -1
  63. package/dist/types/src/components/ChatContainer.d.ts.map +1 -1
  64. package/dist/types/src/components/Prompt/PromptBar.d.ts +2 -1
  65. package/dist/types/src/components/Prompt/PromptBar.d.ts.map +1 -1
  66. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts +2 -1
  67. package/dist/types/src/components/ServiceRegistry/ServiceRegistry.d.ts.map +1 -1
  68. package/dist/types/src/components/TemplateContainer.d.ts +2 -1
  69. package/dist/types/src/components/TemplateContainer.d.ts.map +1 -1
  70. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts +2 -1
  71. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
  72. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts +2 -1
  73. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
  74. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +2 -1
  75. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
  76. package/dist/types/src/components/Thread/Thread.d.ts +2 -1
  77. package/dist/types/src/components/Thread/Thread.d.ts.map +1 -1
  78. package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts +2 -1
  79. package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts.map +1 -1
  80. package/dist/types/src/components/Toolbox/Toolbox.d.ts +4 -3
  81. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
  82. package/dist/types/src/components/index.d.ts +2 -2
  83. package/dist/types/src/components/index.d.ts.map +1 -1
  84. package/dist/types/src/hooks/invocation-handler.d.ts +1 -1
  85. package/dist/types/src/hooks/invocation-handler.d.ts.map +1 -1
  86. package/dist/types/src/hooks/processor.d.ts +3 -0
  87. package/dist/types/src/hooks/processor.d.ts.map +1 -1
  88. package/dist/types/src/tools/function.d.ts +1 -1
  89. package/dist/types/src/tools/function.d.ts.map +1 -1
  90. package/dist/types/src/types/service.d.ts +1 -1
  91. package/dist/types/src/types/service.d.ts.map +1 -1
  92. package/package.json +55 -55
  93. package/src/capabilities/ai-client.ts +0 -2
  94. package/src/capabilities/app-graph-builder.ts +0 -2
  95. package/src/components/Prompt/PromptBar.tsx +15 -6
  96. package/src/components/Toolbox/Toolbox.tsx +1 -1
  97. package/src/components/index.ts +3 -0
  98. package/src/hooks/invocation-handler.ts +3 -5
  99. package/src/hooks/processor.ts +10 -1
  100. package/src/hooks/useChatProcessor.tsx +1 -1
  101. package/src/hooks/useLocalTriggerManager.ts +1 -1
  102. package/src/tools/function.ts +2 -2
  103. package/src/types/service.ts +1 -1
  104. package/dist/lib/browser/ai-client-PORKRZXM.mjs.map +0 -7
  105. package/dist/lib/browser/app-graph-builder-AXAIFOGV.mjs.map +0 -7
  106. package/dist/lib/browser/chunk-NIESO4DA.mjs.map +0 -7
  107. package/dist/lib/node/ai-client-RBDOGK6W.cjs.map +0 -7
  108. package/dist/lib/node/app-graph-builder-D7SHQTZS.cjs.map +0 -7
  109. package/dist/lib/node/chunk-KOSGO3RY.cjs.map +0 -7
  110. package/dist/lib/node-esm/ai-client-OTZVBDUH.mjs.map +0 -7
  111. package/dist/lib/node-esm/app-graph-builder-H2GC2AZA.mjs.map +0 -7
  112. package/dist/lib/node-esm/chunk-GKBHTBON.mjs.map +0 -7
  113. /package/dist/lib/browser/{AssistantDialog-6KB6INZE.mjs.map → AssistantDialog-CM33SOCT.mjs.map} +0 -0
  114. /package/dist/lib/browser/{ChatContainer-DQNUNADE.mjs.map → ChatContainer-VW73VNUY.mjs.map} +0 -0
  115. /package/dist/lib/browser/{intent-resolver-QRVRZL6K.mjs.map → intent-resolver-FQRN6747.mjs.map} +0 -0
  116. /package/dist/lib/browser/{react-surface-UX6A7C24.mjs.map → react-surface-ZT6EQ7FJ.mjs.map} +0 -0
  117. /package/dist/lib/browser/{settings-JTT62IHD.mjs.map → settings-VVQUGG56.mjs.map} +0 -0
  118. /package/dist/lib/node/{AssistantDialog-DSBHAWOS.cjs.map → AssistantDialog-5PVOCPE2.cjs.map} +0 -0
  119. /package/dist/lib/node/{ChatContainer-3RAAOIWP.cjs.map → ChatContainer-I45I3ICI.cjs.map} +0 -0
  120. /package/dist/lib/node/{intent-resolver-YMMAFVOB.cjs.map → intent-resolver-Z37RNNMC.cjs.map} +0 -0
  121. /package/dist/lib/node/{react-surface-HTFYCQUK.cjs.map → react-surface-KFXP3GGK.cjs.map} +0 -0
  122. /package/dist/lib/node/{settings-4YEO7KXF.cjs.map → settings-TJHHVI6B.cjs.map} +0 -0
  123. /package/dist/lib/node-esm/{AssistantDialog-Y2AN6UPH.mjs.map → AssistantDialog-Q2ZBOHOV.mjs.map} +0 -0
  124. /package/dist/lib/node-esm/{ChatContainer-OZO2R4TX.mjs.map → ChatContainer-5ULBF3GW.mjs.map} +0 -0
  125. /package/dist/lib/node-esm/{intent-resolver-MR7BOKEW.mjs.map → intent-resolver-LOTXWV4J.mjs.map} +0 -0
  126. /package/dist/lib/node-esm/{react-surface-AMVW4HZ7.mjs.map → react-surface-NZNNP2QI.mjs.map} +0 -0
  127. /package/dist/lib/node-esm/{settings-S7P5RWQI.mjs.map → settings-BVWR244C.mjs.map} +0 -0
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  ThreadContainer
3
- } from "./chunk-NIESO4DA.mjs";
3
+ } from "./chunk-WVME6K4X.mjs";
4
4
  import "./chunk-NTLTGYYS.mjs";
5
- import "./chunk-FRIKXDDQ.mjs";
5
+ import "./chunk-FPXC3LKK.mjs";
6
6
  import {
7
7
  ASSISTANT_PLUGIN
8
8
  } from "./chunk-NV7SVHMV.mjs";
@@ -113,4 +113,4 @@ export {
113
113
  AssistantDialog,
114
114
  AssistantDialog_default as default
115
115
  };
116
- //# sourceMappingURL=AssistantDialog-6KB6INZE.mjs.map
116
+ //# sourceMappingURL=AssistantDialog-CM33SOCT.mjs.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  ThreadContainer
3
- } from "./chunk-NIESO4DA.mjs";
3
+ } from "./chunk-WVME6K4X.mjs";
4
4
  import "./chunk-NTLTGYYS.mjs";
5
- import "./chunk-FRIKXDDQ.mjs";
5
+ import "./chunk-FPXC3LKK.mjs";
6
6
  import {
7
7
  ASSISTANT_PLUGIN
8
8
  } from "./chunk-NV7SVHMV.mjs";
@@ -30,4 +30,4 @@ export {
30
30
  ChatContainer,
31
31
  ChatContainer_default as default
32
32
  };
33
- //# sourceMappingURL=ChatContainer-DQNUNADE.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
+ }
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  AIChatType,
3
3
  AssistantAction
4
- } from "./chunk-FRIKXDDQ.mjs";
4
+ } from "./chunk-FPXC3LKK.mjs";
5
5
  import {
6
6
  ASSISTANT_DIALOG,
7
7
  ASSISTANT_PLUGIN
@@ -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-AXAIFOGV.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
+ }
@@ -17,7 +17,7 @@ var AIChatType = class extends TypedObject({
17
17
  // packages/plugins/experimental/plugin-assistant/src/types/service.ts
18
18
  import { ComputeGraph } from "@dxos/conductor";
19
19
  import { Ref as Ref2, S as S2, TypedObject as TypedObject2 } from "@dxos/echo-schema";
20
- import { FunctionType } from "@dxos/functions";
20
+ import { FunctionType } from "@dxos/functions/types";
21
21
  var ApiAuthorizationKey = S2.Struct({
22
22
  type: S2.Literal("api-key"),
23
23
  key: S2.String,
@@ -159,4 +159,4 @@ export {
159
159
  AssistantAction,
160
160
  AssistantSettingsSchema
161
161
  };
162
- //# sourceMappingURL=chunk-FRIKXDDQ.mjs.map
162
+ //# sourceMappingURL=chunk-FPXC3LKK.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
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 { Expando, Ref, S, TypedObject } from '@dxos/echo-schema';\n\nexport class AIChatType extends TypedObject({ typename: 'dxos.org/type/AIChat', version: '0.1.0' })({\n name: S.optional(S.String),\n // TODO(wittjosiah): Should be a ref to a Queue.\n queue: Ref(Expando),\n}) {}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { ComputeGraph } from '@dxos/conductor';\nimport { Ref, S, TypedObject, type Ref$ } from '@dxos/echo-schema';\nimport { FunctionType } from '@dxos/functions';\n\nconst ApiAuthorizationKey = S.Struct({\n type: S.Literal('api-key'),\n key: S.String,\n placement: S.Union(\n S.Struct({\n type: S.Literal('authorization-header'),\n }),\n S.Struct({\n type: S.Literal('query'),\n name: S.String,\n }),\n ),\n});\n\nconst ApiAuthorizationOauth = S.Struct({\n type: S.Literal('oauth'),\n clientId: S.String,\n clientSecret: S.String,\n tokenUrl: S.String,\n grantType: S.String,\n});\n\nexport const ApiAuthorization = S.Union(ApiAuthorizationKey, ApiAuthorizationOauth);\nexport type ApiAuthorization = S.Schema.Type<typeof ApiAuthorization>;\n\nconst ServiceInterfaceFunction = S.Struct({\n kind: S.Literal('function'),\n fn: Ref(FunctionType) as Ref$<FunctionType>,\n});\n\nconst ServiceInterfaceWorkflow = S.Struct({\n kind: S.Literal('workflow'),\n workflow: Ref(ComputeGraph) as Ref$<ComputeGraph>,\n});\n\nconst ServiceInterfaceApi = S.Struct({\n kind: S.Literal('api'),\n\n /**\n * URL to fetch the openapi schema.\n */\n schemaUrl: S.optional(S.String),\n\n /**\n * Inlined openapi schema.\n */\n schema: S.optional(S.Any),\n\n /**\n * Authorization configuration if required.\n */\n authorization: S.optional(ApiAuthorization),\n});\n\nconst ServiceInterface = S.Union(ServiceInterfaceFunction, ServiceInterfaceWorkflow, ServiceInterfaceApi);\nexport type ServiceInterface = S.Schema.Type<typeof ServiceInterface>;\n\nexport class ServiceType extends TypedObject({ typename: 'dxos.org/type/ServiceType', version: '0.1.0' })({\n serviceId: S.String,\n name: S.optional(S.String),\n description: S.optional(S.String),\n category: S.optional(S.String),\n enabled: S.optional(S.Boolean),\n\n /**\n * Entries exposed: functions, workflows, and APIs.\n */\n interfaces: S.optional(S.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 { S, TypedObject } from '@dxos/echo-schema';\n\n// TODO(burdon): Change to S.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 = S.mutable(\n S.Struct({\n name: S.String,\n type: S.optional(S.Enums(TemplateInputType)),\n value: S.optional(S.String),\n }),\n);\n\nexport type TemplateInput = S.Schema.Type<typeof TemplateInputSchema>;\n\nexport class TemplateType extends TypedObject({ typename: 'dxos.org/type/Template', version: '0.1.0' })({\n name: S.optional(S.String),\n source: S.String,\n inputs: S.optional(S.mutable(S.Array(TemplateInputSchema))),\n command: S.optional(S.String),\n}) {}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { S } from '@dxos/echo-schema';\n\nimport { AIChatType } from './chat';\nimport { TemplateType } from './template';\nimport { ASSISTANT_PLUGIN } from '../meta';\n\nexport namespace AssistantAction {\n const ASSISTANT_ACTION = `${ASSISTANT_PLUGIN}/action`;\n\n export class CreateChat extends S.TaggedClass<CreateChat>()(`${ASSISTANT_ACTION}/create-chat`, {\n input: S.Struct({\n spaceId: S.optional(S.String),\n name: S.optional(S.String),\n }),\n output: S.Struct({\n object: AIChatType,\n }),\n }) {}\n\n export class CreateTemplate extends S.TaggedClass<CreateTemplate>()(`${ASSISTANT_ACTION}/create-template`, {\n input: S.Struct({\n name: S.optional(S.String),\n }),\n output: S.Struct({\n object: TemplateType,\n }),\n }) {}\n}\n\nexport const AssistantSettingsSchema = S.mutable(\n S.Struct({\n llmModel: S.optional(S.String),\n customPrompts: S.optional(S.Boolean),\n }),\n);\n\nexport type AssistantSettingsProps = S.Schema.Type<typeof AssistantSettingsSchema>;\n"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Expando, Ref, S, TypedObject } from '@dxos/echo-schema';\n\nexport class AIChatType extends TypedObject({ typename: 'dxos.org/type/AIChat', version: '0.1.0' })({\n name: S.optional(S.String),\n // TODO(wittjosiah): Should be a ref to a Queue.\n queue: Ref(Expando),\n}) {}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { ComputeGraph } from '@dxos/conductor';\nimport { Ref, S, TypedObject, type Ref$ } from '@dxos/echo-schema';\nimport { FunctionType } from '@dxos/functions/types';\n\nconst ApiAuthorizationKey = S.Struct({\n type: S.Literal('api-key'),\n key: S.String,\n placement: S.Union(\n S.Struct({\n type: S.Literal('authorization-header'),\n }),\n S.Struct({\n type: S.Literal('query'),\n name: S.String,\n }),\n ),\n});\n\nconst ApiAuthorizationOauth = S.Struct({\n type: S.Literal('oauth'),\n clientId: S.String,\n clientSecret: S.String,\n tokenUrl: S.String,\n grantType: S.String,\n});\n\nexport const ApiAuthorization = S.Union(ApiAuthorizationKey, ApiAuthorizationOauth);\nexport type ApiAuthorization = S.Schema.Type<typeof ApiAuthorization>;\n\nconst ServiceInterfaceFunction = S.Struct({\n kind: S.Literal('function'),\n fn: Ref(FunctionType) as Ref$<FunctionType>,\n});\n\nconst ServiceInterfaceWorkflow = S.Struct({\n kind: S.Literal('workflow'),\n workflow: Ref(ComputeGraph) as Ref$<ComputeGraph>,\n});\n\nconst ServiceInterfaceApi = S.Struct({\n kind: S.Literal('api'),\n\n /**\n * URL to fetch the openapi schema.\n */\n schemaUrl: S.optional(S.String),\n\n /**\n * Inlined openapi schema.\n */\n schema: S.optional(S.Any),\n\n /**\n * Authorization configuration if required.\n */\n authorization: S.optional(ApiAuthorization),\n});\n\nconst ServiceInterface = S.Union(ServiceInterfaceFunction, ServiceInterfaceWorkflow, ServiceInterfaceApi);\nexport type ServiceInterface = S.Schema.Type<typeof ServiceInterface>;\n\nexport class ServiceType extends TypedObject({ typename: 'dxos.org/type/ServiceType', version: '0.1.0' })({\n serviceId: S.String,\n name: S.optional(S.String),\n description: S.optional(S.String),\n category: S.optional(S.String),\n enabled: S.optional(S.Boolean),\n\n /**\n * Entries exposed: functions, workflows, and APIs.\n */\n interfaces: S.optional(S.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 { S, TypedObject } from '@dxos/echo-schema';\n\n// TODO(burdon): Change to S.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 = S.mutable(\n S.Struct({\n name: S.String,\n type: S.optional(S.Enums(TemplateInputType)),\n value: S.optional(S.String),\n }),\n);\n\nexport type TemplateInput = S.Schema.Type<typeof TemplateInputSchema>;\n\nexport class TemplateType extends TypedObject({ typename: 'dxos.org/type/Template', version: '0.1.0' })({\n name: S.optional(S.String),\n source: S.String,\n inputs: S.optional(S.mutable(S.Array(TemplateInputSchema))),\n command: S.optional(S.String),\n}) {}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { S } from '@dxos/echo-schema';\n\nimport { AIChatType } from './chat';\nimport { TemplateType } from './template';\nimport { ASSISTANT_PLUGIN } from '../meta';\n\nexport namespace AssistantAction {\n const ASSISTANT_ACTION = `${ASSISTANT_PLUGIN}/action`;\n\n export class CreateChat extends S.TaggedClass<CreateChat>()(`${ASSISTANT_ACTION}/create-chat`, {\n input: S.Struct({\n spaceId: S.optional(S.String),\n name: S.optional(S.String),\n }),\n output: S.Struct({\n object: AIChatType,\n }),\n }) {}\n\n export class CreateTemplate extends S.TaggedClass<CreateTemplate>()(`${ASSISTANT_ACTION}/create-template`, {\n input: S.Struct({\n name: S.optional(S.String),\n }),\n output: S.Struct({\n object: TemplateType,\n }),\n }) {}\n}\n\nexport const AssistantSettingsSchema = S.mutable(\n S.Struct({\n llmModel: S.optional(S.String),\n customPrompts: S.optional(S.Boolean),\n }),\n);\n\nexport type AssistantSettingsProps = S.Schema.Type<typeof AssistantSettingsSchema>;\n"],
5
5
  "mappings": "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",
6
6
  "names": ["Expando", "Ref", "S", "TypedObject", "AIChatType", "TypedObject", "typename", "version", "name", "S", "optional", "String", "queue", "Ref", "Expando", "ComputeGraph", "Ref", "S", "TypedObject", "FunctionType", "ApiAuthorizationKey", "S", "Struct", "type", "Literal", "key", "String", "placement", "Union", "name", "ApiAuthorizationOauth", "clientId", "clientSecret", "tokenUrl", "grantType", "ApiAuthorization", "ServiceInterfaceFunction", "kind", "fn", "Ref", "FunctionType", "ServiceInterfaceWorkflow", "workflow", "ComputeGraph", "ServiceInterfaceApi", "schemaUrl", "optional", "schema", "Any", "authorization", "ServiceInterface", "ServiceType", "TypedObject", "typename", "version", "serviceId", "description", "category", "enabled", "Boolean", "interfaces", "Array", "categoryIcons", "finance", "health", "geolocation", "education", "entertainment", "shopping", "travel", "utilities", "weather", "S", "TypedObject", "TemplateInputType", "TemplateInputSchema", "S", "mutable", "Struct", "name", "String", "type", "optional", "Enums", "value", "TemplateType", "TypedObject", "typename", "version", "source", "inputs", "Array", "command", "S", "AssistantAction", "ASSISTANT_ACTION", "ASSISTANT_PLUGIN", "CreateChat", "S", "TaggedClass", "input", "Struct", "spaceId", "optional", "String", "name", "output", "object", "AIChatType", "CreateTemplate", "TemplateType", "AssistantSettingsSchema", "mutable", "llmModel", "customPrompts", "Boolean"]
7
7
  }
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  useServices
3
- } from "./chunk-NIESO4DA.mjs";
3
+ } from "./chunk-WVME6K4X.mjs";
4
4
  import {
5
5
  ServiceType,
6
6
  categoryIcons
7
- } from "./chunk-FRIKXDDQ.mjs";
7
+ } from "./chunk-FPXC3LKK.mjs";
8
8
  import {
9
9
  ASSISTANT_PLUGIN
10
10
  } from "./chunk-NV7SVHMV.mjs";
@@ -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-6KB6INZE.mjs"));
96
- var ChatContainer = lazy(() => import("./ChatContainer-DQNUNADE.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-6F6FUSOV.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": ";;;;;;;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,0BAA0B;AACnC,SAASC,OAAOC,QAAQC,sBAAsB;AAC9C,SAASC,yBAAyBC,2BAA2B;AAKtD,IAAMC,oBAAoB,CAAC,EAAEC,SAAQ,MAAwC;AAClF,QAAM,EAAEC,EAAC,IAAKC,eAAeC,gBAAAA;AAE7B,SACE,sBAAA,cAACC,yBAAAA,MACC,sBAAA,cAACC,qBAAAA;IAAoBC,OAAOL,EAAE,+BAAA;KAC5B,sBAAA,cAACM,MAAMC,QAAM;IACXC,SAAS,CAAC,CAACT,SAASU;IACpBC,iBAAiB,CAACF,YAAaT,SAASU,gBAAgBD;OAI5D,sBAAA,cAACJ,qBAAAA;IAAoBC,OAAOL,EAAE,0BAAA;KAC5B,sBAAA,cAACW,OAAOC,MAAI;IACVC,OAAOd,SAASe,YAAY;IAC5BC,eAAe,CAACF,UAAAA;AACdd,eAASe,WAAWD;IACtB;KAEA,sBAAA,cAACF,OAAOK,eAAa;IAACC,aAAajB,EAAE,kCAAA;MACrC,sBAAA,cAACW,OAAOO,QAAM,MACZ,sBAAA,cAACP,OAAOQ,SAAO,MACb,sBAAA,cAACR,OAAOS,UAAQ,MACbC,mBAAmBC,IAAI,CAACC,UACvB,sBAAA,cAACZ,OAAOa,QAAM;IAACC,KAAKF;IAAOV,OAAOU;KAC/BA,KAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAUrB;;;AC5CA,OAAOG,UAASC,eAAe;AAE/B,SAASC,cAA0B;AACnC,SAASC,gBAAgB;AACzB,SAASC,MAAMC,SAAAA,QAAOC,MAAMC,gBAAgB;AAMrC,IAAMC,kBAAkB,CAAC,EAAEC,MAAK,MAAoB;AACzD,QAAMC,mBAAmBC,YAAYF,KAAAA;AACrC,QAAMG,kBAAkBC,SAASJ,OAAOK,OAAOC,OAAOC,WAAAA,CAAAA;AAGtD,QAAMC,WAAWC,QAAQ,MAAA;AACvB,WAAOR,iBAAiBS,IAAI,CAACC,YAAYR,gBAAgBS,KAAK,CAACC,MAAMA,EAAEC,cAAcH,QAAQG,SAAS,KAAKH,OAAAA;EAC7G,GAAG;IAACV;IAAkBE;GAAgB;AAGtC,QAAMY,mBAAmB,CAACJ,SAAsBK,YAAAA;AAC9C,QAAIA,SAAS;AACXhB,YAAMiB,GAAGC,IAAIP,OAAAA;IACf,OAAO;AAELX,YAAMiB,GAAGE,OAAOR,OAAAA;IAClB;EACF;AAEA,SACE,gBAAAS,OAAA,cAACC,MAAAA;IAAKC,YAAW;KACdd,SAASE,IAAI,CAACC,YACb,gBAAAS,OAAA,cAACG,aAAAA;IACCC,KAAKb,QAAQG;IACbH;IACAK,SAASL,QAAQK;IACjBS,YAAY,CAACT,YAAYD,iBAAiBJ,SAASK,OAAAA;;AAK7D;AAEA,IAAMO,cAAc,CAAC,EACnBZ,SACAK,SACAS,WAAU,MAKX;AACC,SACE,gBAAAL,OAAA,cAACM,SAASC,MAAI;IAACL,YAAW;KACxB,gBAAAF,OAAA,cAACQ,OAAAA;IAAIC,WAAU;KACb,gBAAAT,OAAA,cAACQ,OAAAA;IAAIC,WAAU;KACb,gBAAAT,OAAA,cAACU,MAAAA;IAAKC,MAAMC,cAAcrB,QAAQsB,YAAY,SAAA,KAAc;IAA4BC,MAAM;OAEhG,gBAAAd,OAAA,cAACQ,OAAAA;IAAIC,WAAU;KAAoClB,QAAQwB,IAAI,GAC/D,gBAAAf,OAAA,cAACQ,OAAAA;IAAIC,WAAU;KACb,gBAAAT,OAAA,cAACgB,OAAMT,MAAI,MACT,gBAAAP,OAAA,cAACgB,OAAMC,QAAM;IAACC,SAAStB;IAASuB,SAAS,MAAMd,aAAa,CAACT,OAAAA;SAInE,gBAAAI,OAAA,cAACQ,OAAAA;IAAIC,WAAU;KACb,gBAAAT,OAAA,cAACQ,OAAAA,IAAAA,GACD,gBAAAR,OAAA,cAACQ,OAAAA;IAAIC,WAAU;KAA2ClB,QAAQ6B,WAAW,CAAA,CAAA;AAIrF;;;ACvEA,SAASC,YAAY;AAWd,IAAMC,kBAAkBC,KAAK,MAAM,OAAO,gCAAA,CAAA;AAC1C,IAAMC,gBAAgBD,KAAK,MAAM,OAAO,8BAAA,CAAA;AACxC,IAAME,oBAAoBF,KAAK,MAAM,OAAO,kCAAA,CAAA;",
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
  }
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  ServiceType,
6
6
  categoryIcons
7
- } from "./chunk-FRIKXDDQ.mjs";
7
+ } from "./chunk-FPXC3LKK.mjs";
8
8
  import {
9
9
  ASSISTANT_PLUGIN
10
10
  } from "./chunk-NV7SVHMV.mjs";
@@ -13,7 +13,7 @@ import {
13
13
  import React, { useState, useEffect, Fragment } from "react";
14
14
  import { Capabilities, useCapabilities } from "@dxos/app-framework";
15
15
  import { parseToolName } from "@dxos/artifact";
16
- import { FunctionType } from "@dxos/functions";
16
+ import { FunctionType } from "@dxos/functions/types";
17
17
  import { log as log3 } from "@dxos/log";
18
18
  import { Filter, useQuery } from "@dxos/react-client/echo";
19
19
  import { mx } from "@dxos/react-ui-theme";
@@ -21,7 +21,7 @@ import { mx } from "@dxos/react-ui-theme";
21
21
  // packages/plugins/experimental/plugin-assistant/src/tools/function.ts
22
22
  import { defineTool, ToolResult } from "@dxos/artifact";
23
23
  import { toEffectSchema } from "@dxos/echo-schema";
24
- import { getInvocationUrl, getUserFunctionUrlInMetadata } from "@dxos/functions";
24
+ import { getInvocationUrl, getUserFunctionUrlInMetadata } from "@dxos/functions/types";
25
25
  import { log } from "@dxos/log";
26
26
  import { getMeta } from "@dxos/react-client/echo";
27
27
  var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-assistant/src/tools/function.ts";
@@ -1122,7 +1122,7 @@ var Prompt = /* @__PURE__ */ forwardRef(({ classNames, autoFocus, lineWrapping =
1122
1122
  // packages/plugins/experimental/plugin-assistant/src/components/Prompt/PromptBar.tsx
1123
1123
  import React5, { useRef as useRef2, useState as useState3 } from "react";
1124
1124
  import { useVoiceInput } from "@dxos/plugin-transcription";
1125
- import { Icon as Icon2, IconButton as IconButton2, useTranslation } from "@dxos/react-ui";
1125
+ import { Icon as Icon2, IconButton as IconButton2, Tooltip, useTranslation } from "@dxos/react-ui";
1126
1126
  import { Spinner } from "@dxos/react-ui-sfx";
1127
1127
  import { errorText, mx as mx4 } from "@dxos/react-ui-theme";
1128
1128
  var PromptBar = ({ classNames, placeholder, processing, error, microphone, onCancel, ...props }) => {
@@ -1137,14 +1137,18 @@ var PromptBar = ({ classNames, placeholder, processing, error, microphone, onCan
1137
1137
  }
1138
1138
  });
1139
1139
  return /* @__PURE__ */ React5.createElement("div", {
1140
- className: mx4("flex shrink-0 w-full grid grid-cols-[var(--rail-action)_1fr_var(--rail-action)] overflow-hidden", classNames)
1140
+ className: mx4("shrink-0 w-full grid grid-cols-[var(--rail-action)_1fr_var(--rail-action)] overflow-hidden", classNames)
1141
1141
  }, /* @__PURE__ */ React5.createElement("div", {
1142
1142
  className: "flex w-[--rail-action] h-[--rail-action] items-center justify-center"
1143
- }, error && /* @__PURE__ */ React5.createElement(Icon2, {
1143
+ }, error && /* @__PURE__ */ React5.createElement(Tooltip.Root, {
1144
+ delayDuration: 0
1145
+ }, /* @__PURE__ */ React5.createElement(Tooltip.Trigger, null, /* @__PURE__ */ React5.createElement(Icon2, {
1144
1146
  icon: "ph--warning-circle--regular",
1145
1147
  classNames: errorText,
1146
1148
  size: 5
1147
- }) || /* @__PURE__ */ React5.createElement(Spinner, {
1149
+ })), /* @__PURE__ */ React5.createElement(Tooltip.Portal, null, /* @__PURE__ */ React5.createElement(Tooltip.Content, null, /* @__PURE__ */ React5.createElement("div", {
1150
+ className: "text-sm text-error-500"
1151
+ }, error.message), /* @__PURE__ */ React5.createElement(Tooltip.Arrow, null)))) || /* @__PURE__ */ React5.createElement(Spinner, {
1148
1152
  active: processing
1149
1153
  })), /* @__PURE__ */ React5.createElement(Prompt, {
1150
1154
  ref: promptRef,
@@ -1448,21 +1452,33 @@ var ChatProcessor = class {
1448
1452
  S: this,
1449
1453
  C: (f, a) => f(...a)
1450
1454
  });
1451
- this.error.value = new Error("AI service error", {
1452
- cause: err
1453
- });
1455
+ if (err instanceof Error && err.message.includes("Overloaded")) {
1456
+ this.error.value = new AIServiecOverloadedError("AI service overloaded", {
1457
+ cause: err
1458
+ });
1459
+ } else {
1460
+ this.error.value = new Error("AI service error", {
1461
+ cause: err
1462
+ });
1463
+ }
1454
1464
  } finally {
1455
1465
  this._stream = void 0;
1456
1466
  }
1457
1467
  }
1458
1468
  };
1469
+ var AIServiecOverloadedError = class extends Error {
1470
+ constructor() {
1471
+ super(...arguments);
1472
+ this.code = "AI_SERVICE_OVERLOADED";
1473
+ }
1474
+ };
1459
1475
 
1460
1476
  // packages/plugins/experimental/plugin-assistant/src/hooks/useChatProcessor.tsx
1461
1477
  import { useEffect as useEffect3, useMemo as useMemo3, useState as useState4 } from "react";
1462
1478
  import { Capabilities as Capabilities2, useCapabilities as useCapabilities2, useCapability, useIntentDispatcher } from "@dxos/app-framework";
1463
1479
  import { createSystemPrompt } from "@dxos/artifact";
1464
1480
  import { DEFAULT_LLM_MODEL as DEFAULT_LLM_MODEL2 } from "@dxos/assistant";
1465
- import { FunctionType as FunctionType2 } from "@dxos/functions";
1481
+ import { FunctionType as FunctionType2 } from "@dxos/functions/types";
1466
1482
  import { log as log6 } from "@dxos/log";
1467
1483
  import { useConfig } from "@dxos/react-client";
1468
1484
  import { Filter as Filter2, useQuery as useQuery2 } from "@dxos/react-client/echo";
@@ -1470,11 +1486,11 @@ import { isNonNullable as isNonNullable2 } from "@dxos/util";
1470
1486
 
1471
1487
  // packages/plugins/experimental/plugin-assistant/src/capabilities/index.ts
1472
1488
  import { lazy } from "@dxos/app-framework";
1473
- var AiClient = lazy(() => import("./ai-client-PORKRZXM.mjs"));
1474
- var AppGraphBuilder = lazy(() => import("./app-graph-builder-AXAIFOGV.mjs"));
1475
- var IntentResolver = lazy(() => import("./intent-resolver-QRVRZL6K.mjs"));
1476
- var ReactSurface = lazy(() => import("./react-surface-UX6A7C24.mjs"));
1477
- var AssistantSettings = lazy(() => import("./settings-JTT62IHD.mjs"));
1489
+ var AiClient = lazy(() => import("./ai-client-HZPB7E6M.mjs"));
1490
+ var AppGraphBuilder = lazy(() => import("./app-graph-builder-4DIOTGOG.mjs"));
1491
+ var IntentResolver = lazy(() => import("./intent-resolver-FQRN6747.mjs"));
1492
+ var ReactSurface = lazy(() => import("./react-surface-ZT6EQ7FJ.mjs"));
1493
+ var AssistantSettings = lazy(() => import("./settings-VVQUGG56.mjs"));
1478
1494
 
1479
1495
  // packages/plugins/experimental/plugin-assistant/src/hooks/useChatProcessor.tsx
1480
1496
  var __dxlog_file7 = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-assistant/src/hooks/useChatProcessor.tsx";
@@ -1565,7 +1581,7 @@ import { useEffect as useEffect4, useState as useState5 } from "react";
1565
1581
  import { Mutex } from "@dxos/async";
1566
1582
  import { Context } from "@dxos/context";
1567
1583
  import { createSubscriptionTrigger } from "@dxos/functions";
1568
- import { FunctionTrigger } from "@dxos/functions";
1584
+ import { FunctionTrigger } from "@dxos/functions/types";
1569
1585
  import { invariant as invariant5 } from "@dxos/invariant";
1570
1586
  import { log as log8 } from "@dxos/log";
1571
1587
  import { useClient } from "@dxos/react-client";
@@ -1574,7 +1590,7 @@ import { Filter as Filter3, useQuery as useQuery3 } from "@dxos/react-client/ech
1574
1590
  // packages/plugins/experimental/plugin-assistant/src/hooks/invocation-handler.ts
1575
1591
  import { sleep } from "@dxos/async";
1576
1592
  import { getObjectCore, ResultFormat } from "@dxos/echo-db";
1577
- import { FunctionType as FunctionType3 } from "@dxos/functions";
1593
+ import { FunctionType as FunctionType3, getUserFunctionUrlInMetadata as getUserFunctionUrlInMetadata2 } from "@dxos/functions/types";
1578
1594
  import { invariant as invariant4 } from "@dxos/invariant";
1579
1595
  import { DXN, LOCAL_SPACE_TAG } from "@dxos/keys";
1580
1596
  import { log as log7 } from "@dxos/log";
@@ -1801,4 +1817,4 @@ export {
1801
1817
  Thread,
1802
1818
  ThreadContainer
1803
1819
  };
1804
- //# sourceMappingURL=chunk-NIESO4DA.mjs.map
1820
+ //# sourceMappingURL=chunk-WVME6K4X.mjs.map