@dxos/plugin-assistant 0.8.2-main.5885341 → 0.8.2-main.600d381

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 (148) hide show
  1. package/dist/lib/browser/{AssistantDialog-I47GUXWR.mjs → AssistantDialog-BUHPFIHN.mjs} +3 -3
  2. package/dist/lib/browser/{ChatContainer-GAYN3FEF.mjs → ChatContainer-X7JBCLFK.mjs} +3 -3
  3. package/dist/lib/browser/{app-graph-builder-ZXKGE3H5.mjs → app-graph-builder-JJCBQZGC.mjs} +4 -4
  4. package/dist/lib/browser/{app-graph-builder-ZXKGE3H5.mjs.map → app-graph-builder-JJCBQZGC.mjs.map} +1 -1
  5. package/dist/lib/browser/chunk-5P7U35RJ.mjs +192 -0
  6. package/dist/lib/browser/chunk-5P7U35RJ.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-BGMQ2YYP.mjs → chunk-PFIXSSN2.mjs} +4 -4
  8. package/dist/lib/browser/{chunk-BGMQ2YYP.mjs.map → chunk-PFIXSSN2.mjs.map} +2 -2
  9. package/dist/lib/browser/{chunk-7CAHKTZQ.mjs → chunk-QGZETTI3.mjs} +61 -82
  10. package/dist/lib/browser/chunk-QGZETTI3.mjs.map +7 -0
  11. package/dist/lib/browser/index.mjs +3 -3
  12. package/dist/lib/browser/{intent-resolver-W6XREK5F.mjs → intent-resolver-54SA6LXM.mjs} +4 -4
  13. package/dist/lib/browser/intent-resolver-54SA6LXM.mjs.map +7 -0
  14. package/dist/lib/browser/meta.json +1 -1
  15. package/dist/lib/browser/{react-surface-QMI5KG4H.mjs → react-surface-JSHNKGXY.mjs} +9 -9
  16. package/dist/lib/browser/react-surface-JSHNKGXY.mjs.map +7 -0
  17. package/dist/lib/browser/{settings-LAJZQI4H.mjs → settings-OZX7J65A.mjs} +2 -2
  18. package/dist/lib/browser/types/index.mjs +1 -1
  19. package/dist/lib/node/{AssistantDialog-SDS2TE5L.cjs → AssistantDialog-XIAFCAGB.cjs} +7 -7
  20. package/dist/lib/node/{ChatContainer-U6AVMAHY.cjs → ChatContainer-MAGI5QD6.cjs} +7 -7
  21. package/dist/lib/node/{app-graph-builder-TXHPXIIC.cjs → app-graph-builder-7EJJHBRH.cjs} +13 -13
  22. package/dist/lib/node/{app-graph-builder-TXHPXIIC.cjs.map → app-graph-builder-7EJJHBRH.cjs.map} +1 -1
  23. package/dist/lib/node/{chunk-CWHFK36A.cjs → chunk-EWY6HDMS.cjs} +69 -84
  24. package/dist/lib/node/chunk-EWY6HDMS.cjs.map +7 -0
  25. package/dist/lib/node/{chunk-XBJO453B.cjs → chunk-V4WPZXN2.cjs} +9 -9
  26. package/dist/lib/node/{chunk-XBJO453B.cjs.map → chunk-V4WPZXN2.cjs.map} +2 -2
  27. package/dist/lib/node/{chunk-5UELRDHQ.cjs → chunk-VG2UQY4S.cjs} +74 -72
  28. package/dist/lib/node/chunk-VG2UQY4S.cjs.map +7 -0
  29. package/dist/lib/node/index.cjs +39 -39
  30. package/dist/lib/node/{intent-resolver-MUJMV7II.cjs → intent-resolver-UP5FPVWP.cjs} +11 -11
  31. package/dist/lib/node/intent-resolver-UP5FPVWP.cjs.map +7 -0
  32. package/dist/lib/node/meta.json +1 -1
  33. package/dist/lib/node/{react-surface-SAJF4XBB.cjs → react-surface-M3OXAXKR.cjs} +22 -22
  34. package/dist/lib/node/react-surface-M3OXAXKR.cjs.map +7 -0
  35. package/dist/lib/node/{settings-NPXTE6ND.cjs → settings-WLTC7XO5.cjs} +6 -6
  36. package/dist/lib/node/types/index.cjs +13 -13
  37. package/dist/lib/node/types/index.cjs.map +1 -1
  38. package/dist/lib/node-esm/{AssistantDialog-KGA5HBFO.mjs → AssistantDialog-SDGQK5TF.mjs} +3 -3
  39. package/dist/lib/node-esm/{ChatContainer-XPNXNPSW.mjs → ChatContainer-AM4BDTXU.mjs} +3 -3
  40. package/dist/lib/node-esm/{app-graph-builder-SV4WC2E2.mjs → app-graph-builder-ZDI7EVEN.mjs} +4 -4
  41. package/dist/lib/node-esm/{app-graph-builder-SV4WC2E2.mjs.map → app-graph-builder-ZDI7EVEN.mjs.map} +1 -1
  42. package/dist/lib/node-esm/{chunk-XFUXN5QU.mjs → chunk-RDU7QEFL.mjs} +61 -82
  43. package/dist/lib/node-esm/chunk-RDU7QEFL.mjs.map +7 -0
  44. package/dist/lib/node-esm/{chunk-R7Q3OHWG.mjs → chunk-RN3I3BVC.mjs} +4 -4
  45. package/dist/lib/node-esm/{chunk-R7Q3OHWG.mjs.map → chunk-RN3I3BVC.mjs.map} +2 -2
  46. package/dist/lib/node-esm/chunk-UZWYXNR5.mjs +193 -0
  47. package/dist/lib/node-esm/chunk-UZWYXNR5.mjs.map +7 -0
  48. package/dist/lib/node-esm/index.mjs +3 -3
  49. package/dist/lib/node-esm/{intent-resolver-DZY2O2DG.mjs → intent-resolver-JKWFZYLN.mjs} +4 -4
  50. package/dist/lib/node-esm/intent-resolver-JKWFZYLN.mjs.map +7 -0
  51. package/dist/lib/node-esm/meta.json +1 -1
  52. package/dist/lib/node-esm/{react-surface-R43NHNMC.mjs → react-surface-RZBDBP42.mjs} +9 -9
  53. package/dist/lib/node-esm/react-surface-RZBDBP42.mjs.map +7 -0
  54. package/dist/lib/node-esm/{settings-K3JDH2I5.mjs → settings-CLE57WEP.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/capabilities/index.d.ts.map +1 -1
  59. package/dist/types/src/components/AmbientDialog/AmbientDialog.d.ts.map +1 -1
  60. package/dist/types/src/components/AssistantSettings/AssistantSettings.d.ts.map +1 -1
  61. package/dist/types/src/components/Prompt/PromptBar.d.ts.map +1 -1
  62. package/dist/types/src/components/Prompt/autocomplete.d.ts.map +1 -1
  63. package/dist/types/src/components/Prompt/references.d.ts.map +1 -1
  64. package/dist/types/src/components/PromptSettings.d.ts.map +1 -1
  65. package/dist/types/src/components/TemplateContainer.d.ts.map +1 -1
  66. package/dist/types/src/components/TemplateEditor/TemplateEditor.d.ts.map +1 -1
  67. package/dist/types/src/components/TemplateEditor/TemplateEditor.stories.d.ts.map +1 -1
  68. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts +2 -2
  69. package/dist/types/src/components/TemplateEditor/TemplateForm.d.ts.map +1 -1
  70. package/dist/types/src/components/Thread/Thread.d.ts.map +1 -1
  71. package/dist/types/src/components/Thread/Thread.stories.d.ts.map +1 -1
  72. package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts +2 -2
  73. package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts.map +1 -1
  74. package/dist/types/src/components/Thread/ToolInvocations.d.ts.map +1 -1
  75. package/dist/types/src/components/Toolbox/Toolbox.d.ts +1 -1
  76. package/dist/types/src/components/Toolbox/Toolbox.d.ts.map +1 -1
  77. package/dist/types/src/hooks/index.d.ts +0 -1
  78. package/dist/types/src/hooks/index.d.ts.map +1 -1
  79. package/dist/types/src/hooks/useChatProcessor.d.ts.map +1 -1
  80. package/dist/types/src/hooks/useContextProvider.d.ts +1 -1
  81. package/dist/types/src/hooks/useContextProvider.d.ts.map +1 -1
  82. package/dist/types/src/hooks/useMessageQueue.d.ts.map +1 -1
  83. package/dist/types/src/hooks/useServices.d.ts.map +1 -1
  84. package/dist/types/src/hooks/useTextInputEvents.d.ts.map +1 -1
  85. package/dist/types/src/testing/test-functions.d.ts.map +1 -1
  86. package/dist/types/src/tools/function.d.ts +2 -2
  87. package/dist/types/src/tools/function.d.ts.map +1 -1
  88. package/dist/types/src/tools/openapi.d.ts.map +1 -1
  89. package/dist/types/src/translations.d.ts +6 -60
  90. package/dist/types/src/translations.d.ts.map +1 -1
  91. package/dist/types/src/types/service.d.ts +96 -95
  92. package/dist/types/src/types/service.d.ts.map +1 -1
  93. package/dist/types/src/types/template.d.ts +52 -52
  94. package/dist/types/src/types/template.d.ts.map +1 -1
  95. package/dist/types/src/types/types.d.ts +19 -19
  96. package/dist/types/src/types/types.d.ts.map +1 -1
  97. package/dist/types/tsconfig.tsbuildinfo +1 -1
  98. package/package.json +60 -57
  99. package/src/capabilities/app-graph-builder.ts +2 -2
  100. package/src/capabilities/intent-resolver.ts +2 -2
  101. package/src/capabilities/react-surface.tsx +5 -5
  102. package/src/components/AmbientDialog/AmbientDialog.stories.tsx +1 -1
  103. package/src/components/Prompt/Prompt.stories.tsx +1 -1
  104. package/src/components/Prompt/PromptBar.tsx +4 -12
  105. package/src/components/PromptSettings.tsx +2 -2
  106. package/src/components/TemplateEditor/TemplateForm.tsx +2 -2
  107. package/src/components/Thread/Thread.stories.tsx +12 -15
  108. package/src/components/Thread/ThreadContainer.stories.tsx +6 -6
  109. package/src/components/Thread/ThreadMessage.tsx +1 -1
  110. package/src/components/Toolbox/Toolbox.stories.tsx +1 -1
  111. package/src/components/Toolbox/Toolbox.tsx +1 -1
  112. package/src/hooks/index.ts +0 -1
  113. package/src/hooks/useChatProcessor.tsx +3 -3
  114. package/src/hooks/useContextProvider.ts +9 -9
  115. package/src/tools/function.ts +4 -6
  116. package/src/tools/openapi.ts +4 -3
  117. package/src/types/service.ts +39 -37
  118. package/src/types/template.ts +27 -25
  119. package/src/types/types.ts +18 -18
  120. package/dist/lib/browser/chunk-7CAHKTZQ.mjs.map +0 -7
  121. package/dist/lib/browser/chunk-E7BN4QKP.mjs +0 -190
  122. package/dist/lib/browser/chunk-E7BN4QKP.mjs.map +0 -7
  123. package/dist/lib/browser/intent-resolver-W6XREK5F.mjs.map +0 -7
  124. package/dist/lib/browser/react-surface-QMI5KG4H.mjs.map +0 -7
  125. package/dist/lib/node/chunk-5UELRDHQ.cjs.map +0 -7
  126. package/dist/lib/node/chunk-CWHFK36A.cjs.map +0 -7
  127. package/dist/lib/node/intent-resolver-MUJMV7II.cjs.map +0 -7
  128. package/dist/lib/node/react-surface-SAJF4XBB.cjs.map +0 -7
  129. package/dist/lib/node-esm/chunk-ECYNZYEG.mjs +0 -191
  130. package/dist/lib/node-esm/chunk-ECYNZYEG.mjs.map +0 -7
  131. package/dist/lib/node-esm/chunk-XFUXN5QU.mjs.map +0 -7
  132. package/dist/lib/node-esm/intent-resolver-DZY2O2DG.mjs.map +0 -7
  133. package/dist/lib/node-esm/react-surface-R43NHNMC.mjs.map +0 -7
  134. package/dist/types/src/hooks/invocation-handler.d.ts +0 -5
  135. package/dist/types/src/hooks/invocation-handler.d.ts.map +0 -1
  136. package/dist/types/src/hooks/useLocalTriggerManager.d.ts +0 -3
  137. package/dist/types/src/hooks/useLocalTriggerManager.d.ts.map +0 -1
  138. package/src/hooks/invocation-handler.ts +0 -107
  139. package/src/hooks/useLocalTriggerManager.ts +0 -82
  140. /package/dist/lib/browser/{AssistantDialog-I47GUXWR.mjs.map → AssistantDialog-BUHPFIHN.mjs.map} +0 -0
  141. /package/dist/lib/browser/{ChatContainer-GAYN3FEF.mjs.map → ChatContainer-X7JBCLFK.mjs.map} +0 -0
  142. /package/dist/lib/browser/{settings-LAJZQI4H.mjs.map → settings-OZX7J65A.mjs.map} +0 -0
  143. /package/dist/lib/node/{AssistantDialog-SDS2TE5L.cjs.map → AssistantDialog-XIAFCAGB.cjs.map} +0 -0
  144. /package/dist/lib/node/{ChatContainer-U6AVMAHY.cjs.map → ChatContainer-MAGI5QD6.cjs.map} +0 -0
  145. /package/dist/lib/node/{settings-NPXTE6ND.cjs.map → settings-WLTC7XO5.cjs.map} +0 -0
  146. /package/dist/lib/node-esm/{AssistantDialog-KGA5HBFO.mjs.map → AssistantDialog-SDGQK5TF.mjs.map} +0 -0
  147. /package/dist/lib/node-esm/{ChatContainer-XPNXNPSW.mjs.map → ChatContainer-AM4BDTXU.mjs.map} +0 -0
  148. /package/dist/lib/node-esm/{settings-K3JDH2I5.mjs.map → settings-CLE57WEP.mjs.map} +0 -0
@@ -18,21 +18,21 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var types_exports = {};
20
20
  __export(types_exports, {
21
- AIChatType: () => import_chunk_5UELRDHQ.AIChatType,
22
- ApiAuthorization: () => import_chunk_5UELRDHQ.ApiAuthorization,
23
- AssistantAction: () => import_chunk_5UELRDHQ.AssistantAction,
24
- AssistantSettingsSchema: () => import_chunk_5UELRDHQ.AssistantSettingsSchema,
25
- LLM_PROVIDERS: () => import_chunk_5UELRDHQ.LLM_PROVIDERS,
26
- ServiceType: () => import_chunk_5UELRDHQ.ServiceType,
27
- TemplateInputSchema: () => import_chunk_5UELRDHQ.TemplateInputSchema,
28
- TemplateInputType: () => import_chunk_5UELRDHQ.TemplateInputType,
29
- TemplateKindSchema: () => import_chunk_5UELRDHQ.TemplateKindSchema,
30
- TemplateKinds: () => import_chunk_5UELRDHQ.TemplateKinds,
31
- TemplateType: () => import_chunk_5UELRDHQ.TemplateType,
32
- categoryIcons: () => import_chunk_5UELRDHQ.categoryIcons
21
+ AIChatType: () => import_chunk_VG2UQY4S.AIChatType,
22
+ ApiAuthorization: () => import_chunk_VG2UQY4S.ApiAuthorization,
23
+ AssistantAction: () => import_chunk_VG2UQY4S.AssistantAction,
24
+ AssistantSettingsSchema: () => import_chunk_VG2UQY4S.AssistantSettingsSchema,
25
+ LLM_PROVIDERS: () => import_chunk_VG2UQY4S.LLM_PROVIDERS,
26
+ ServiceType: () => import_chunk_VG2UQY4S.ServiceType,
27
+ TemplateInputSchema: () => import_chunk_VG2UQY4S.TemplateInputSchema,
28
+ TemplateInputType: () => import_chunk_VG2UQY4S.TemplateInputType,
29
+ TemplateKindSchema: () => import_chunk_VG2UQY4S.TemplateKindSchema,
30
+ TemplateKinds: () => import_chunk_VG2UQY4S.TemplateKinds,
31
+ TemplateType: () => import_chunk_VG2UQY4S.TemplateType,
32
+ categoryIcons: () => import_chunk_VG2UQY4S.categoryIcons
33
33
  });
34
34
  module.exports = __toCommonJS(types_exports);
35
- var import_chunk_5UELRDHQ = require("../chunk-5UELRDHQ.cjs");
35
+ var import_chunk_VG2UQY4S = require("../chunk-VG2UQY4S.cjs");
36
36
  var import_chunk_Q5XWEMHB = require("../chunk-Q5XWEMHB.cjs");
37
37
  // Annotate the CommonJS export names for ESM import in node:
38
38
  0 && (module.exports = {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["index.cjs"],
4
- "sourcesContent": ["import {\n AIChatType,\n ApiAuthorization,\n AssistantAction,\n AssistantSettingsSchema,\n LLM_PROVIDERS,\n ServiceType,\n TemplateInputSchema,\n TemplateInputType,\n TemplateKindSchema,\n TemplateKinds,\n TemplateType,\n categoryIcons\n} from \"../chunk-5UELRDHQ.cjs\";\nimport \"../chunk-Q5XWEMHB.cjs\";\nexport {\n AIChatType,\n ApiAuthorization,\n AssistantAction,\n AssistantSettingsSchema,\n LLM_PROVIDERS,\n ServiceType,\n TemplateInputSchema,\n TemplateInputType,\n TemplateKindSchema,\n TemplateKinds,\n TemplateType,\n categoryIcons\n};\n//# sourceMappingURL=index.cjs.map\n"],
4
+ "sourcesContent": ["import {\n AIChatType,\n ApiAuthorization,\n AssistantAction,\n AssistantSettingsSchema,\n LLM_PROVIDERS,\n ServiceType,\n TemplateInputSchema,\n TemplateInputType,\n TemplateKindSchema,\n TemplateKinds,\n TemplateType,\n categoryIcons\n} from \"../chunk-VG2UQY4S.cjs\";\nimport \"../chunk-Q5XWEMHB.cjs\";\nexport {\n AIChatType,\n ApiAuthorization,\n AssistantAction,\n AssistantSettingsSchema,\n LLM_PROVIDERS,\n ServiceType,\n TemplateInputSchema,\n TemplateInputType,\n TemplateKindSchema,\n TemplateKinds,\n TemplateType,\n categoryIcons\n};\n//# sourceMappingURL=index.cjs.map\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAaO;AACP,4BAAO;",
6
6
  "names": []
7
7
  }
@@ -1,9 +1,9 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  ThreadContainer
4
- } from "./chunk-XFUXN5QU.mjs";
4
+ } from "./chunk-RDU7QEFL.mjs";
5
5
  import "./chunk-6JK5HEUQ.mjs";
6
- import "./chunk-ECYNZYEG.mjs";
6
+ import "./chunk-UZWYXNR5.mjs";
7
7
  import {
8
8
  ASSISTANT_PLUGIN
9
9
  } from "./chunk-ECRK6TUQ.mjs";
@@ -115,4 +115,4 @@ export {
115
115
  AssistantDialog,
116
116
  AssistantDialog_default as default
117
117
  };
118
- //# sourceMappingURL=AssistantDialog-KGA5HBFO.mjs.map
118
+ //# sourceMappingURL=AssistantDialog-SDGQK5TF.mjs.map
@@ -1,9 +1,9 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  ThreadContainer
4
- } from "./chunk-XFUXN5QU.mjs";
4
+ } from "./chunk-RDU7QEFL.mjs";
5
5
  import "./chunk-6JK5HEUQ.mjs";
6
- import "./chunk-ECYNZYEG.mjs";
6
+ import "./chunk-UZWYXNR5.mjs";
7
7
  import {
8
8
  ASSISTANT_PLUGIN
9
9
  } from "./chunk-ECRK6TUQ.mjs";
@@ -31,4 +31,4 @@ export {
31
31
  ChatContainer,
32
32
  ChatContainer_default as default
33
33
  };
34
- //# sourceMappingURL=ChatContainer-XPNXNPSW.mjs.map
34
+ //# sourceMappingURL=ChatContainer-AM4BDTXU.mjs.map
@@ -3,7 +3,7 @@ import {
3
3
  AIChatType,
4
4
  AssistantAction,
5
5
  TemplateType
6
- } from "./chunk-ECYNZYEG.mjs";
6
+ } from "./chunk-UZWYXNR5.mjs";
7
7
  import {
8
8
  ASSISTANT_DIALOG,
9
9
  ASSISTANT_PLUGIN
@@ -66,7 +66,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
66
66
  ns: ASSISTANT_PLUGIN
67
67
  }
68
68
  ],
69
- icon: "ph--star-four--regular",
69
+ icon: "ph--sparkle--regular",
70
70
  disposition: "pin-end",
71
71
  position: "hoist",
72
72
  keyBinding: {
@@ -95,7 +95,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
95
95
  ns: ASSISTANT_PLUGIN
96
96
  }
97
97
  ],
98
- icon: "ph--star-four--regular",
98
+ icon: "ph--sparkle--regular",
99
99
  position: "hoist"
100
100
  }
101
101
  }
@@ -177,4 +177,4 @@ var getOrCreateChat = async (dispatch, space) => {
177
177
  export {
178
178
  app_graph_builder_default as default
179
179
  };
180
- //# sourceMappingURL=app-graph-builder-SV4WC2E2.mjs.map
180
+ //# sourceMappingURL=app-graph-builder-ZDI7EVEN.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
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 { PLANK_COMPANION_TYPE, ATTENDABLE_PATH_SEPARATOR } from '@dxos/plugin-deck/types';\nimport { createExtension, type Node, ROOT_ID } from '@dxos/plugin-graph';\nimport { memoizeQuery } from '@dxos/plugin-space';\nimport { SPACE_TYPE, SpaceAction } from '@dxos/plugin-space/types';\nimport { type Space, Filter, fullyQualifiedId, getSpace, isLiveObject } from '@dxos/react-client/echo';\n\nimport { ASSISTANT_DIALOG, ASSISTANT_PLUGIN } from '../meta';\nimport { AIChatType, AssistantAction, TemplateType } 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--star-four--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 createExtension({\n id: `${ASSISTANT_PLUGIN}/object-chat-companion`,\n filter: (node): node is Node<AIChatType> =>\n isLiveObject(node.data) && node.data.assistantChatQueue && node.data.type !== AIChatType.typename,\n connector: ({ node }) => [\n {\n id: [node.id, 'assistant-chat'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'assistant-chat',\n properties: {\n label: ['assistant chat label', { ns: ASSISTANT_PLUGIN }],\n icon: 'ph--star-four--regular',\n position: 'hoist',\n },\n },\n ],\n }),\n\n createExtension({\n id: `${ASSISTANT_PLUGIN}/root`,\n filter: (node): node is Node<Space> => node.type === SPACE_TYPE,\n connector: ({ node }) => {\n const templates = memoizeQuery(node.data, Filter.schema(TemplateType));\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: node.data,\n },\n },\n ]\n : [];\n },\n }),\n\n createExtension({\n id: `${ASSISTANT_PLUGIN}/templates`,\n filter: (node): node is Node<null, { space: Space }> => node.id === `${ASSISTANT_PLUGIN}/templates`,\n connector: ({ node }) => {\n const templates = memoizeQuery(node.properties.space, Filter.schema(TemplateType));\n return templates\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 }),\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"],
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 { PLANK_COMPANION_TYPE, ATTENDABLE_PATH_SEPARATOR } from '@dxos/plugin-deck/types';\nimport { createExtension, type Node, ROOT_ID } from '@dxos/plugin-graph';\nimport { memoizeQuery } from '@dxos/plugin-space';\nimport { SPACE_TYPE, SpaceAction } from '@dxos/plugin-space/types';\nimport { type Space, Filter, fullyQualifiedId, getSpace, isLiveObject } from '@dxos/react-client/echo';\n\nimport { ASSISTANT_DIALOG, ASSISTANT_PLUGIN } from '../meta';\nimport { AIChatType, AssistantAction, TemplateType } 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--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 }),\n\n createExtension({\n id: `${ASSISTANT_PLUGIN}/object-chat-companion`,\n filter: (node): node is Node<AIChatType> =>\n isLiveObject(node.data) && node.data.assistantChatQueue && node.data.type !== AIChatType.typename,\n connector: ({ node }) => [\n {\n id: [node.id, 'assistant-chat'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'assistant-chat',\n properties: {\n label: ['assistant chat label', { ns: ASSISTANT_PLUGIN }],\n icon: 'ph--sparkle--regular',\n position: 'hoist',\n },\n },\n ],\n }),\n\n createExtension({\n id: `${ASSISTANT_PLUGIN}/root`,\n filter: (node): node is Node<Space> => node.type === SPACE_TYPE,\n connector: ({ node }) => {\n const templates = memoizeQuery(node.data, Filter.schema(TemplateType));\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: node.data,\n },\n },\n ]\n : [];\n },\n }),\n\n createExtension({\n id: `${ASSISTANT_PLUGIN}/templates`,\n filter: (node): node is Node<null, { space: Space }> => node.id === `${ASSISTANT_PLUGIN}/templates`,\n connector: ({ node }) => {\n const templates = memoizeQuery(node.properties.space, Filter.schema(TemplateType));\n return templates\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 }),\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
5
  "mappings": "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",
6
6
  "names": ["Capabilities", "contributes", "createIntent", "LayoutAction", "invariant", "ClientCapabilities", "PLANK_COMPANION_TYPE", "ATTENDABLE_PATH_SEPARATOR", "createExtension", "ROOT_ID", "memoizeQuery", "SPACE_TYPE", "SpaceAction", "Filter", "fullyQualifiedId", "getSpace", "isLiveObject", "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", "isLiveObject", "assistantChatQueue", "type", "AIChatType", "typename", "connector", "join", "ATTENDABLE_PATH_SEPARATOR", "PLANK_COMPANION_TYPE", "SPACE_TYPE", "templates", "memoizeQuery", "Filter", "schema", "TemplateType", "toSorted", "a", "b", "nameA", "name", "nameB", "localeCompare", "map", "template", "fullyQualifiedId", "objects", "db", "query", "run", "AssistantAction", "CreateChat", "spaceId", "invariant", "object", "SpaceAction", "AddObject", "target"]
7
7
  }
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  ServiceType,
7
7
  categoryIcons
8
- } from "./chunk-ECYNZYEG.mjs";
8
+ } from "./chunk-UZWYXNR5.mjs";
9
9
  import {
10
10
  ASSISTANT_PLUGIN
11
11
  } from "./chunk-ECRK6TUQ.mjs";
@@ -14,7 +14,7 @@ import {
14
14
  import React, { useState, useEffect, Fragment } from "react";
15
15
  import { Capabilities, useCapabilities } from "@dxos/app-framework";
16
16
  import { parseToolName } from "@dxos/artifact";
17
- import { FunctionType } from "@dxos/functions/types";
17
+ import { FunctionType } from "@dxos/functions";
18
18
  import { log as log3 } from "@dxos/log";
19
19
  import { Filter, useQuery } from "@dxos/react-client/echo";
20
20
  import { mx } from "@dxos/react-ui-theme";
@@ -22,11 +22,11 @@ import { mx } from "@dxos/react-ui-theme";
22
22
  // packages/plugins/plugin-assistant/src/tools/function.ts
23
23
  import { defineTool, ToolResult } from "@dxos/artifact";
24
24
  import { toEffectSchema } from "@dxos/echo-schema";
25
- import { getInvocationUrl, getUserFunctionUrlInMetadata } from "@dxos/functions/types";
25
+ import { getInvocationUrl, getUserFunctionUrlInMetadata } from "@dxos/functions";
26
26
  import { log } from "@dxos/log";
27
27
  import { getMeta } from "@dxos/react-client/echo";
28
28
  var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assistant/src/tools/function.ts";
29
- var covertFunctionToTool = (fn, edgeUrl, spaceId) => {
29
+ var convertFunctionToTool = (fn, edgeUrl, spaceId) => {
30
30
  if (!fn.description || !fn.inputSchema) {
31
31
  return void 0;
32
32
  }
@@ -48,7 +48,7 @@ var covertFunctionToTool = (fn, edgeUrl, spaceId) => {
48
48
  input
49
49
  }, {
50
50
  F: __dxlog_file,
51
- L: 36,
51
+ L: 34,
52
52
  S: void 0,
53
53
  C: (f, a) => f(...a)
54
54
  });
@@ -65,9 +65,10 @@ var covertFunctionToTool = (fn, edgeUrl, spaceId) => {
65
65
  };
66
66
 
67
67
  // packages/plugins/plugin-assistant/src/tools/openapi.ts
68
+ import { Schema } from "effect";
68
69
  import jsonpointer from "jsonpointer";
69
70
  import { ToolResult as ToolResult2 } from "@dxos/artifact";
70
- import { JsonSchemaType, normalizeSchema, S, toEffectSchema as toEffectSchema2 } from "@dxos/echo-schema";
71
+ import { JsonSchemaType, normalizeSchema, toEffectSchema as toEffectSchema2 } from "@dxos/echo-schema";
71
72
  import { invariant } from "@dxos/invariant";
72
73
  import { log as log2 } from "@dxos/log";
73
74
  import { deepMapValues } from "@dxos/util";
@@ -75,7 +76,7 @@ var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assista
75
76
  var createToolsFromService = async (service) => {
76
77
  invariant(service.interfaces?.length === 1 && service.interfaces[0].kind === "api", void 0, {
77
78
  F: __dxlog_file2,
78
- L: 22,
79
+ L: 23,
79
80
  S: void 0,
80
81
  A: [
81
82
  "service.interfaces?.length === 1 && service.interfaces[0].kind === 'api'",
@@ -85,7 +86,7 @@ var createToolsFromService = async (service) => {
85
86
  const iface = service.interfaces[0];
86
87
  invariant(iface.schemaUrl, void 0, {
87
88
  F: __dxlog_file2,
88
- L: 24,
89
+ L: 25,
89
90
  S: void 0,
90
91
  A: [
91
92
  "iface.schemaUrl",
@@ -94,7 +95,7 @@ var createToolsFromService = async (service) => {
94
95
  });
95
96
  invariant(iface.schemaUrl, void 0, {
96
97
  F: __dxlog_file2,
97
- L: 25,
98
+ L: 26,
98
99
  S: void 0,
99
100
  A: [
100
101
  "iface.schemaUrl",
@@ -112,7 +113,7 @@ var createToolsFromApi = async (url, options) => {
112
113
  spec
113
114
  }, {
114
115
  F: __dxlog_file2,
115
- L: 32,
116
+ L: 33,
116
117
  S: void 0,
117
118
  C: (f, a) => f(...a)
118
119
  });
@@ -130,7 +131,7 @@ var createToolsFromApi = async (url, options) => {
130
131
  methodItem
131
132
  }, {
132
133
  F: __dxlog_file2,
133
- L: 44,
134
+ L: 45,
134
135
  S: void 0,
135
136
  C: (f, a) => f(...a)
136
137
  });
@@ -148,7 +149,7 @@ var createToolsFromApi = async (url, options) => {
148
149
  parameter
149
150
  }, {
150
151
  F: __dxlog_file2,
151
- L: 59,
152
+ L: 60,
152
153
  S: void 0,
153
154
  C: (f, a) => f(...a)
154
155
  });
@@ -171,11 +172,11 @@ var createToolsFromApi = async (url, options) => {
171
172
  inputSchema
172
173
  }, {
173
174
  F: __dxlog_file2,
174
- L: 84,
175
+ L: 85,
175
176
  S: void 0,
176
177
  C: (f, a) => f(...a)
177
178
  });
178
- S.validateSync(JsonSchemaType)(inputSchema);
179
+ Schema.validateSync(JsonSchemaType)(inputSchema);
179
180
  const description = methodItem.description ?? methodItem.summary;
180
181
  if (!description) {
181
182
  log2.warn("no description", {
@@ -183,7 +184,7 @@ var createToolsFromApi = async (url, options) => {
183
184
  method
184
185
  }, {
185
186
  F: __dxlog_file2,
186
- L: 89,
187
+ L: 90,
187
188
  S: void 0,
188
189
  C: (f, a) => f(...a)
189
190
  });
@@ -259,7 +260,7 @@ var callApiEndpoint = async (endpoint, input) => {
259
260
  input
260
261
  }, {
261
262
  F: __dxlog_file2,
262
- L: 173,
263
+ L: 174,
263
264
  S: void 0,
264
265
  C: (f, a) => f(...a)
265
266
  });
@@ -288,7 +289,7 @@ var callApiEndpoint = async (endpoint, input) => {
288
289
  case "body": {
289
290
  const value = input[parameter.name];
290
291
  const effectSchema = toEffectSchema2(parameter.schema);
291
- S.validateSync(effectSchema)(value);
292
+ Schema.validateSync(effectSchema)(value);
292
293
  if (body) {
293
294
  throw new Error(`Duplicate body parameter: ${parameter.name}`);
294
295
  }
@@ -318,7 +319,7 @@ var callApiEndpoint = async (endpoint, input) => {
318
319
  request
319
320
  }, {
320
321
  F: __dxlog_file2,
321
- L: 236,
322
+ L: 237,
322
323
  S: void 0,
323
324
  C: (f, a) => f(...a)
324
325
  });
@@ -329,7 +330,7 @@ var callApiEndpoint = async (endpoint, input) => {
329
330
  statusText: response.statusText
330
331
  }, {
331
332
  F: __dxlog_file2,
332
- L: 239,
333
+ L: 240,
333
334
  S: void 0,
334
335
  C: (f, a) => f(...a)
335
336
  });
@@ -353,7 +354,7 @@ var callApiEndpoint = async (endpoint, input) => {
353
354
  error
354
355
  }, {
355
356
  F: __dxlog_file2,
356
- L: 257,
357
+ L: 258,
357
358
  S: void 0,
358
359
  C: (f, a) => f(...a)
359
360
  });
@@ -364,7 +365,7 @@ var callApiEndpoint = async (endpoint, input) => {
364
365
  error
365
366
  }, {
366
367
  F: __dxlog_file2,
367
- L: 261,
368
+ L: 262,
368
369
  S: void 0,
369
370
  C: (f, a) => f(...a)
370
371
  });
@@ -379,7 +380,7 @@ var getEndpointUrl = (endpoint) => {
379
380
  } else {
380
381
  invariant(!isV3_1(endpoint.document), void 0, {
381
382
  F: __dxlog_file2,
382
- L: 272,
383
+ L: 273,
383
384
  S: void 0,
384
385
  A: [
385
386
  "!isV3_1(endpoint.document)",
@@ -399,7 +400,7 @@ var resolveAuthorization = async (authorization) => {
399
400
  case "api-key": {
400
401
  invariant(authorization.placement.type === "authorization-header", void 0, {
401
402
  F: __dxlog_file2,
402
- L: 288,
403
+ L: 289,
403
404
  S: void 0,
404
405
  A: [
405
406
  "authorization.placement.type === 'authorization-header'",
@@ -437,7 +438,7 @@ var resolveJsonSchema = (schema, base) => {
437
438
  base
438
439
  }, {
439
440
  F: __dxlog_file2,
440
- L: 321,
441
+ L: 322,
441
442
  S: void 0,
442
443
  C: (f, a) => f(...a)
443
444
  });
@@ -682,7 +683,7 @@ var ToolContainer = ({ classNames, items }) => {
682
683
  // packages/plugins/plugin-assistant/src/components/Thread/ThreadMessage.tsx
683
684
  var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assistant/src/components/Thread/ThreadMessage.tsx";
684
685
  var panelClassNames = "flex flex-col w-full px-2 bg-groupSurface rounded-md";
685
- var userClassNames = "bg-[--user-fill] text-inverse";
686
+ var userClassNames = "bg-[--user-fill] text-accentSurfaceText";
686
687
  var ToggleContainer2 = (props) => {
687
688
  return /* @__PURE__ */ React3.createElement(NativeToggleContainer, {
688
689
  ...props,
@@ -1255,7 +1256,7 @@ import React5, { useRef as useRef2, useState as useState3 } from "react";
1255
1256
  import { useVoiceInput } from "@dxos/plugin-transcription";
1256
1257
  import { Icon as Icon2, IconButton as IconButton2, Tooltip, useTranslation } from "@dxos/react-ui";
1257
1258
  import { Spinner } from "@dxos/react-ui-sfx";
1258
- import { errorMessageColors, errorText, mx as mx4 } from "@dxos/react-ui-theme";
1259
+ import { errorText, mx as mx4 } from "@dxos/react-ui-theme";
1259
1260
  var PromptBar = ({ classNames, placeholder, processing, error, microphone, onCancel, references, ...props }) => {
1260
1261
  const { t } = useTranslation(ASSISTANT_PLUGIN);
1261
1262
  const promptRef = useRef2(null);
@@ -1271,15 +1272,14 @@ var PromptBar = ({ classNames, placeholder, processing, error, microphone, onCan
1271
1272
  className: mx4("shrink-0 w-full grid grid-cols-[var(--rail-action)_1fr_var(--rail-action)] overflow-hidden", classNames)
1272
1273
  }, /* @__PURE__ */ React5.createElement("div", {
1273
1274
  className: "flex w-[--rail-action] h-[--rail-action] items-center justify-center"
1274
- }, error && /* @__PURE__ */ React5.createElement(Tooltip.Root, {
1275
+ }, error && /* @__PURE__ */ React5.createElement(Tooltip.Trigger, {
1276
+ content: error.message,
1275
1277
  delayDuration: 0
1276
- }, /* @__PURE__ */ React5.createElement(Tooltip.Trigger, null, /* @__PURE__ */ React5.createElement(Icon2, {
1278
+ }, /* @__PURE__ */ React5.createElement(Icon2, {
1277
1279
  icon: "ph--warning-circle--regular",
1278
1280
  classNames: errorText,
1279
1281
  size: 5
1280
- })), /* @__PURE__ */ React5.createElement(Tooltip.Portal, null, /* @__PURE__ */ React5.createElement(Tooltip.Content, null, /* @__PURE__ */ React5.createElement("div", {
1281
- className: mx4("text-sm", errorMessageColors)
1282
- }, error.message), /* @__PURE__ */ React5.createElement(Tooltip.Arrow, null)))) || /* @__PURE__ */ React5.createElement(Spinner, {
1282
+ })) || /* @__PURE__ */ React5.createElement(Spinner, {
1283
1283
  active: processing
1284
1284
  })), /* @__PURE__ */ React5.createElement(Prompt, {
1285
1285
  ref: promptRef,
@@ -1386,12 +1386,12 @@ var Thread = ({ classNames, space, messages, collapse = true, transcription, pro
1386
1386
  };
1387
1387
 
1388
1388
  // packages/plugins/plugin-assistant/src/components/Thread/ThreadContainer.tsx
1389
- import React7, { useCallback as useCallback3, useEffect as useEffect6 } from "react";
1389
+ import React7, { useCallback as useCallback3, useEffect as useEffect5 } from "react";
1390
1390
  import { CollaborationActions, createIntent, useIntentDispatcher as useIntentDispatcher2 } from "@dxos/app-framework";
1391
- import { invariant as invariant6 } from "@dxos/invariant";
1392
- import { DXN as DXN3 } from "@dxos/keys";
1391
+ import { invariant as invariant4 } from "@dxos/invariant";
1392
+ import { DXN as DXN2 } from "@dxos/keys";
1393
1393
  import { makeRef, refFromDXN } from "@dxos/live-object";
1394
- import { log as log10 } from "@dxos/log";
1394
+ import { log as log8 } from "@dxos/log";
1395
1395
  import { getSpace as getSpace2 } from "@dxos/react-client/echo";
1396
1396
 
1397
1397
  // packages/plugins/plugin-assistant/src/hooks/processor.ts
@@ -1579,7 +1579,7 @@ import { useEffect as useEffect3, useMemo as useMemo3, useState as useState4 } f
1579
1579
  import { Capabilities as Capabilities2, useCapabilities as useCapabilities2, useCapability, useIntentDispatcher } from "@dxos/app-framework";
1580
1580
  import { createSystemPrompt } from "@dxos/artifact";
1581
1581
  import { DEFAULT_EDGE_MODEL as DEFAULT_EDGE_MODEL2, DEFAULT_OLLAMA_MODEL } from "@dxos/assistant";
1582
- import { FunctionType as FunctionType2 } from "@dxos/functions/types";
1582
+ import { FunctionType as FunctionType2 } from "@dxos/functions";
1583
1583
  import { log as log6 } from "@dxos/log";
1584
1584
  import { useConfig } from "@dxos/react-client";
1585
1585
  import { Filter as Filter2, fullyQualifiedId, useQuery as useQuery2 } from "@dxos/react-client/echo";
@@ -1588,10 +1588,10 @@ import { isNonNullable as isNonNullable2 } from "@dxos/util";
1588
1588
  // packages/plugins/plugin-assistant/src/capabilities/index.ts
1589
1589
  import { lazy } from "@dxos/app-framework";
1590
1590
  var AiClient = lazy(() => import("./ai-client-LYCBXZI7.mjs"));
1591
- var AppGraphBuilder = lazy(() => import("./app-graph-builder-SV4WC2E2.mjs"));
1592
- var IntentResolver = lazy(() => import("./intent-resolver-DZY2O2DG.mjs"));
1593
- var ReactSurface = lazy(() => import("./react-surface-R43NHNMC.mjs"));
1594
- var Settings = lazy(() => import("./settings-K3JDH2I5.mjs"));
1591
+ var AppGraphBuilder = lazy(() => import("./app-graph-builder-ZDI7EVEN.mjs"));
1592
+ var IntentResolver = lazy(() => import("./intent-resolver-JKWFZYLN.mjs"));
1593
+ var ReactSurface = lazy(() => import("./react-surface-RZBDBP42.mjs"));
1594
+ var Settings = lazy(() => import("./settings-CLE57WEP.mjs"));
1595
1595
 
1596
1596
  // packages/plugins/plugin-assistant/src/hooks/useChatProcessor.tsx
1597
1597
  var __dxlog_file7 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assistant/src/hooks/useChatProcessor.tsx";
@@ -1638,7 +1638,7 @@ var useChatProcessor = ({
1638
1638
  const tools2 = [
1639
1639
  ...globalTools.flat(),
1640
1640
  ...serviceTools,
1641
- ...functions.map((fn) => covertFunctionToTool(fn, config.values.runtime?.services?.edge?.url ?? "", space?.id)).filter(isNonNullable2)
1641
+ ...functions.map((fn) => convertFunctionToTool(fn, config.values.runtime?.services?.edge?.url ?? "", space?.id)).filter(isNonNullable2)
1642
1642
  ];
1643
1643
  const extensions2 = {
1644
1644
  space,
@@ -1691,37 +1691,15 @@ ${definition.instructions}`),
1691
1691
  return processor;
1692
1692
  };
1693
1693
 
1694
- // packages/plugins/plugin-assistant/src/hooks/useLocalTriggerManager.ts
1695
- import { useEffect as useEffect4, useState as useState5 } from "react";
1696
- import { Mutex as Mutex2 } from "@dxos/async";
1697
- import { Context } from "@dxos/context";
1698
- import { createSubscriptionTrigger } from "@dxos/functions";
1699
- import { FunctionTrigger } from "@dxos/functions/types";
1700
- import { invariant as invariant5 } from "@dxos/invariant";
1701
- import { log as log8 } from "@dxos/log";
1702
- import { useClient } from "@dxos/react-client";
1703
- import { Filter as Filter3, useQuery as useQuery3 } from "@dxos/react-client/echo";
1704
-
1705
- // packages/plugins/plugin-assistant/src/hooks/invocation-handler.ts
1706
- import { sleep } from "@dxos/async";
1707
- import { getObjectCore, ResultFormat } from "@dxos/echo-db";
1708
- import { FunctionType as FunctionType3, getUserFunctionUrlInMetadata as getUserFunctionUrlInMetadata2 } from "@dxos/functions/types";
1709
- import { invariant as invariant4 } from "@dxos/invariant";
1710
- import { DXN, LOCAL_SPACE_TAG } from "@dxos/keys";
1711
- import { log as log7 } from "@dxos/log";
1712
-
1713
- // packages/plugins/plugin-assistant/src/hooks/useLocalTriggerManager.ts
1714
- var registerTriggersMutex = new Mutex2();
1715
-
1716
1694
  // packages/plugins/plugin-assistant/src/hooks/useMessageQueue.ts
1717
1695
  import { useMemo as useMemo4 } from "react";
1718
- import { DXN as DXN2, QueueSubspaceTags } from "@dxos/keys";
1696
+ import { DXN, QueueSubspaceTags } from "@dxos/keys";
1719
1697
  import { getSpace, useQueue } from "@dxos/react-client/echo";
1720
1698
  var useMessageQueue = (chat) => {
1721
1699
  const space = getSpace(chat);
1722
1700
  const queueDxn = useMemo4(() => {
1723
1701
  const dxn = space && chat?.assistantChatQueue.dxn;
1724
- return dxn ? new DXN2(DXN2.kind.QUEUE, [
1702
+ return dxn ? new DXN(DXN.kind.QUEUE, [
1725
1703
  QueueSubspaceTags.DATA,
1726
1704
  space.id,
1727
1705
  dxn.parts.at(-1)
@@ -1734,7 +1712,7 @@ var useMessageQueue = (chat) => {
1734
1712
  };
1735
1713
 
1736
1714
  // packages/plugins/plugin-assistant/src/hooks/useServices.ts
1737
- import { useEffect as useEffect5, useMemo as useMemo5, useState as useState6 } from "react";
1715
+ import { useEffect as useEffect4, useMemo as useMemo5, useState as useState5 } from "react";
1738
1716
 
1739
1717
  // packages/plugins/plugin-assistant/src/testing/test-functions.ts
1740
1718
  import { createSystemPrompt as createSystemPrompt2 } from "@dxos/artifact";
@@ -1830,14 +1808,15 @@ var TEST_SERVICES = [
1830
1808
  ];
1831
1809
 
1832
1810
  // packages/plugins/plugin-assistant/src/hooks/useTextInputEvents.ts
1833
- import { useState as useState7, useCallback as useCallback2 } from "react";
1811
+ import { useState as useState6, useCallback as useCallback2 } from "react";
1834
1812
 
1835
1813
  // packages/plugins/plugin-assistant/src/hooks/useContextProvider.ts
1836
1814
  import { useMemo as useMemo6 } from "react";
1837
1815
  import { Capabilities as Capabilities3, useCapabilities as useCapabilities3 } from "@dxos/app-framework";
1838
- import { getDXN, getLabel, getSchema } from "@dxos/echo-schema";
1839
- import { log as log9 } from "@dxos/log";
1840
- import { Filter as Filter4 } from "@dxos/react-client/echo";
1816
+ import { Filter as Filter3 } from "@dxos/client/echo";
1817
+ import { Type } from "@dxos/echo";
1818
+ import { getLabel } from "@dxos/echo-schema";
1819
+ import { log as log7 } from "@dxos/log";
1841
1820
  var __dxlog_file8 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assistant/src/hooks/useContextProvider.ts";
1842
1821
  var stringMatch = (query, label) => label.toLowerCase().startsWith(query.toLowerCase());
1843
1822
  var useContextProvider = (space) => {
@@ -1849,11 +1828,11 @@ var useContextProvider = (space) => {
1849
1828
  return {
1850
1829
  query: async ({ query }) => {
1851
1830
  const artifactSchemas = artifactDefinitions.map((artifact) => artifact.schema);
1852
- const { objects } = await space.db.query(Filter4.or(...artifactSchemas.map((schema) => Filter4.schema(schema)))).run();
1831
+ const { objects } = await space.db.query(Filter3.or(...artifactSchemas.map((schema) => Filter3.schema(schema)))).run();
1853
1832
  return objects.map((object) => {
1854
- log9.info("object", {
1833
+ log7.info("object", {
1855
1834
  object,
1856
- label: getLabel(getSchema(object), object)
1835
+ label: getLabel(Type.getSchema(object), object)
1857
1836
  }, {
1858
1837
  F: __dxlog_file8,
1859
1838
  L: 36,
@@ -1861,9 +1840,9 @@ var useContextProvider = (space) => {
1861
1840
  C: (f, a) => f(...a)
1862
1841
  });
1863
1842
  return object;
1864
- }).filter((object) => stringMatch(query, getLabel(getSchema(object), object) ?? "")).filter((object) => !!getDXN(object)).map((object) => ({
1865
- uri: getDXN(object).toString(),
1866
- label: getLabel(getSchema(object), object) ?? ""
1843
+ }).filter((object) => stringMatch(query, getLabel(Type.getSchema(object), object) ?? "")).filter((object) => !!Type.getDXN(object)).map((object) => ({
1844
+ uri: Type.getDXN(object).toString(),
1845
+ label: getLabel(Type.getSchema(object), object) ?? ""
1867
1846
  }));
1868
1847
  },
1869
1848
  resolveMetadata: async ({ uri }) => {
@@ -1872,7 +1851,7 @@ var useContextProvider = (space) => {
1872
1851
  }).first();
1873
1852
  return {
1874
1853
  uri,
1875
- label: getLabel(getSchema(object), object) ?? ""
1854
+ label: getLabel(Type.getSchema(object), object) ?? ""
1876
1855
  };
1877
1856
  }
1878
1857
  };
@@ -1900,14 +1879,14 @@ var ThreadContainer = ({ classNames, chat, settings, part, associatedArtifact, o
1900
1879
  ...messageQueue?.items ?? [],
1901
1880
  ...processor.messages.value
1902
1881
  ];
1903
- useEffect6(() => {
1882
+ useEffect5(() => {
1904
1883
  if (!processor.streaming.value && messageQueue?.items) {
1905
1884
  const message = messageQueue.items[messageQueue.items.length - 1];
1906
1885
  if (space && chat && message && dispatch && associatedArtifact) {
1907
1886
  void dispatch(createIntent(CollaborationActions.InsertContent, {
1908
1887
  spaceId: space.id,
1909
1888
  target: makeRef(associatedArtifact),
1910
- object: refFromDXN(new DXN3(DXN3.kind.QUEUE, [
1889
+ object: refFromDXN(new DXN2(DXN2.kind.QUEUE, [
1911
1890
  ...chat.assistantChatQueue.dxn.parts,
1912
1891
  message.id
1913
1892
  ])),
@@ -1922,7 +1901,7 @@ var ThreadContainer = ({ classNames, chat, settings, part, associatedArtifact, o
1922
1901
  ]);
1923
1902
  const handleSubmit = useCallback3((text) => {
1924
1903
  if (processor.streaming.value) {
1925
- log10.warn("ignoring submit; still processing.", void 0, {
1904
+ log8.warn("ignoring submit; still processing.", void 0, {
1926
1905
  F: __dxlog_file9,
1927
1906
  L: 66,
1928
1907
  S: void 0,
@@ -1931,7 +1910,7 @@ var ThreadContainer = ({ classNames, chat, settings, part, associatedArtifact, o
1931
1910
  return false;
1932
1911
  }
1933
1912
  onOpenChange?.(true);
1934
- invariant6(messageQueue, void 0, {
1913
+ invariant4(messageQueue, void 0, {
1935
1914
  F: __dxlog_file9,
1936
1915
  L: 72,
1937
1916
  S: void 0,
@@ -1986,4 +1965,4 @@ export {
1986
1965
  Settings,
1987
1966
  ThreadContainer
1988
1967
  };
1989
- //# sourceMappingURL=chunk-XFUXN5QU.mjs.map
1968
+ //# sourceMappingURL=chunk-RDU7QEFL.mjs.map