@dxos/plugin-assistant 0.8.3-main.672df60 → 0.8.3-main.7f5a14c

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (203) hide show
  1. package/dist/lib/browser/{AssistantDialog-UAZSN6GT.mjs → AssistantDialog-YCPMFK7Y.mjs} +5 -4
  2. package/dist/lib/browser/BlueprintContainer-4MEK52NT.mjs +204 -0
  3. package/dist/lib/browser/BlueprintContainer-4MEK52NT.mjs.map +7 -0
  4. package/dist/lib/browser/{ChatContainer-UTN3AO5U.mjs → ChatContainer-RYFYYEWI.mjs} +5 -4
  5. package/dist/lib/browser/{TemplateContainer-AKUYL4AV.mjs → TemplateContainer-QQHVOTSI.mjs} +2 -2
  6. package/dist/lib/browser/TemplateContainer-QQHVOTSI.mjs.map +7 -0
  7. package/dist/lib/browser/{ai-client-COXVUC6V.mjs → ai-client-MTCTMJ5N.mjs} +11 -7
  8. package/dist/lib/browser/ai-client-MTCTMJ5N.mjs.map +7 -0
  9. package/dist/lib/browser/{app-graph-builder-56OZ5RW4.mjs → app-graph-builder-DBCVARVI.mjs} +20 -14
  10. package/dist/lib/browser/app-graph-builder-DBCVARVI.mjs.map +7 -0
  11. package/dist/lib/browser/{chunk-3F44MBHU.mjs → chunk-3TIEETB2.mjs} +1 -1
  12. package/dist/lib/browser/{chunk-3F44MBHU.mjs.map → chunk-3TIEETB2.mjs.map} +2 -2
  13. package/dist/lib/browser/chunk-AKYSTUBJ.mjs +16 -0
  14. package/dist/lib/browser/chunk-AKYSTUBJ.mjs.map +7 -0
  15. package/dist/lib/browser/{chunk-Q6XE3O3E.mjs → chunk-DLWFPGZE.mjs} +41 -70
  16. package/dist/lib/browser/chunk-DLWFPGZE.mjs.map +7 -0
  17. package/dist/lib/browser/{chunk-6SD7S7W5.mjs → chunk-WFZ4EPPI.mjs} +7 -7
  18. package/dist/lib/browser/{chunk-6SD7S7W5.mjs.map → chunk-WFZ4EPPI.mjs.map} +3 -3
  19. package/dist/lib/browser/{chunk-NBSPGIHL.mjs → chunk-ZVHA24BL.mjs} +8 -8
  20. package/dist/lib/browser/chunk-ZVHA24BL.mjs.map +7 -0
  21. package/dist/lib/browser/index.mjs +29 -18
  22. package/dist/lib/browser/index.mjs.map +3 -3
  23. package/dist/lib/browser/{intent-resolver-GWELYIX2.mjs → intent-resolver-ID5NOIIJ.mjs} +12 -8
  24. package/dist/lib/browser/intent-resolver-ID5NOIIJ.mjs.map +7 -0
  25. package/dist/lib/browser/meta.json +1 -1
  26. package/dist/lib/browser/{react-surface-DGS34EON.mjs → react-surface-OD23FVUD.mjs} +13 -15
  27. package/dist/lib/browser/react-surface-OD23FVUD.mjs.map +7 -0
  28. package/dist/lib/browser/{settings-BTFB7IQ6.mjs → settings-FUYUBGSQ.mjs} +4 -4
  29. package/dist/lib/browser/settings-FUYUBGSQ.mjs.map +7 -0
  30. package/dist/lib/browser/types/index.mjs +1 -1
  31. package/dist/lib/node/{AssistantDialog-RTB5Q7FP.cjs → AssistantDialog-B5YKJOAF.cjs} +9 -8
  32. package/dist/lib/node/{AssistantDialog-RTB5Q7FP.cjs.map → AssistantDialog-B5YKJOAF.cjs.map} +1 -1
  33. package/dist/lib/node/BlueprintContainer-VD6EIWH7.cjs +229 -0
  34. package/dist/lib/node/BlueprintContainer-VD6EIWH7.cjs.map +7 -0
  35. package/dist/lib/node/{ChatContainer-P3JL4VZ7.cjs → ChatContainer-WFLTSAFA.cjs} +9 -8
  36. package/dist/lib/node/{ChatContainer-P3JL4VZ7.cjs.map → ChatContainer-WFLTSAFA.cjs.map} +1 -1
  37. package/dist/lib/node/{TemplateContainer-CTG2MB4W.cjs → TemplateContainer-JZF2DCCG.cjs} +5 -5
  38. package/dist/lib/node/TemplateContainer-JZF2DCCG.cjs.map +7 -0
  39. package/dist/lib/node/{ai-client-R2CGEYZW.cjs → ai-client-3XNIFMJX.cjs} +14 -10
  40. package/dist/lib/node/ai-client-3XNIFMJX.cjs.map +7 -0
  41. package/dist/lib/node/{app-graph-builder-QLF353LH.cjs → app-graph-builder-VEPLBTML.cjs} +34 -28
  42. package/dist/lib/node/app-graph-builder-VEPLBTML.cjs.map +7 -0
  43. package/dist/lib/node/{chunk-UNVDZOLA.cjs → chunk-7TQAIKE2.cjs} +21 -21
  44. package/dist/lib/node/chunk-7TQAIKE2.cjs.map +7 -0
  45. package/dist/lib/node/chunk-BGRQNE3L.cjs +52 -0
  46. package/dist/lib/node/chunk-BGRQNE3L.cjs.map +7 -0
  47. package/dist/lib/node/{chunk-BWL5A3O5.cjs → chunk-DXBAFX6M.cjs} +13 -13
  48. package/dist/lib/node/{chunk-BWL5A3O5.cjs.map → chunk-DXBAFX6M.cjs.map} +3 -3
  49. package/dist/lib/node/{chunk-PG7YNQ4R.cjs → chunk-WR5L3TVB.cjs} +63 -93
  50. package/dist/lib/node/chunk-WR5L3TVB.cjs.map +7 -0
  51. package/dist/lib/node/{chunk-TS3H5OSX.cjs → chunk-ZP732NHS.cjs} +4 -4
  52. package/dist/lib/node/{chunk-TS3H5OSX.cjs.map → chunk-ZP732NHS.cjs.map} +2 -2
  53. package/dist/lib/node/index.cjs +62 -48
  54. package/dist/lib/node/index.cjs.map +3 -3
  55. package/dist/lib/node/{intent-resolver-U7663JU7.cjs → intent-resolver-SDO4YKJK.cjs} +17 -13
  56. package/dist/lib/node/intent-resolver-SDO4YKJK.cjs.map +7 -0
  57. package/dist/lib/node/meta.json +1 -1
  58. package/dist/lib/node/{react-surface-QXZTILW6.cjs → react-surface-FANQXIRI.cjs} +25 -27
  59. package/dist/lib/node/react-surface-FANQXIRI.cjs.map +7 -0
  60. package/dist/lib/node/{settings-LBJMT6YB.cjs → settings-PXPIPYJN.cjs} +7 -7
  61. package/dist/lib/node/settings-PXPIPYJN.cjs.map +7 -0
  62. package/dist/lib/node/types/index.cjs +14 -14
  63. package/dist/lib/node/types/index.cjs.map +1 -1
  64. package/dist/lib/node-esm/{AssistantDialog-DONAO6SA.mjs → AssistantDialog-KPZZD7XC.mjs} +5 -4
  65. package/dist/lib/{browser/AssistantDialog-UAZSN6GT.mjs.map → node-esm/AssistantDialog-KPZZD7XC.mjs.map} +1 -1
  66. package/dist/lib/node-esm/BlueprintContainer-SVOKCRCP.mjs +205 -0
  67. package/dist/lib/node-esm/BlueprintContainer-SVOKCRCP.mjs.map +7 -0
  68. package/dist/lib/node-esm/{ChatContainer-FVIGCDIG.mjs → ChatContainer-WSMKUGS6.mjs} +5 -4
  69. package/dist/lib/{browser/ChatContainer-UTN3AO5U.mjs.map → node-esm/ChatContainer-WSMKUGS6.mjs.map} +1 -1
  70. package/dist/lib/node-esm/{TemplateContainer-IVDQ4XQG.mjs → TemplateContainer-SOEWY2ZN.mjs} +2 -2
  71. package/dist/lib/node-esm/TemplateContainer-SOEWY2ZN.mjs.map +7 -0
  72. package/dist/lib/node-esm/{ai-client-I5LXHMOZ.mjs → ai-client-YIP44I4D.mjs} +11 -7
  73. package/dist/lib/node-esm/ai-client-YIP44I4D.mjs.map +7 -0
  74. package/dist/lib/node-esm/{app-graph-builder-5YX5TKKT.mjs → app-graph-builder-WJXDXLBQ.mjs} +20 -14
  75. package/dist/lib/node-esm/app-graph-builder-WJXDXLBQ.mjs.map +7 -0
  76. package/dist/lib/node-esm/{chunk-TQYSF2GS.mjs → chunk-24LIHQST.mjs} +8 -8
  77. package/dist/lib/node-esm/chunk-24LIHQST.mjs.map +7 -0
  78. package/dist/lib/node-esm/{chunk-GJE4WCUJ.mjs → chunk-QFX6SFFZ.mjs} +7 -7
  79. package/dist/lib/node-esm/{chunk-GJE4WCUJ.mjs.map → chunk-QFX6SFFZ.mjs.map} +3 -3
  80. package/dist/lib/node-esm/{chunk-MNH6E6EB.mjs → chunk-TTSMEWR6.mjs} +41 -70
  81. package/dist/lib/node-esm/chunk-TTSMEWR6.mjs.map +7 -0
  82. package/dist/lib/node-esm/{chunk-HLPGKJ7N.mjs → chunk-VXGO6Q2L.mjs} +1 -1
  83. package/dist/lib/node-esm/{chunk-HLPGKJ7N.mjs.map → chunk-VXGO6Q2L.mjs.map} +2 -2
  84. package/dist/lib/node-esm/chunk-ZKTIHNT7.mjs +18 -0
  85. package/dist/lib/node-esm/chunk-ZKTIHNT7.mjs.map +7 -0
  86. package/dist/lib/node-esm/index.mjs +29 -18
  87. package/dist/lib/node-esm/index.mjs.map +3 -3
  88. package/dist/lib/node-esm/{intent-resolver-N5TM3RTL.mjs → intent-resolver-75REJDDQ.mjs} +12 -8
  89. package/dist/lib/node-esm/intent-resolver-75REJDDQ.mjs.map +7 -0
  90. package/dist/lib/node-esm/meta.json +1 -1
  91. package/dist/lib/node-esm/{react-surface-FTKGQQD2.mjs → react-surface-NAN4SDCE.mjs} +13 -15
  92. package/dist/lib/node-esm/react-surface-NAN4SDCE.mjs.map +7 -0
  93. package/dist/lib/node-esm/{settings-TGCCAH5D.mjs → settings-JHMKX3UV.mjs} +4 -4
  94. package/dist/lib/node-esm/settings-JHMKX3UV.mjs.map +7 -0
  95. package/dist/lib/node-esm/types/index.mjs +1 -1
  96. package/dist/types/src/capabilities/ai-client.d.ts.map +1 -1
  97. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  98. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  99. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  100. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  101. package/dist/types/src/components/AmbientDialog/AmbientDialog.stories.d.ts.map +1 -1
  102. package/dist/types/src/components/BlueprintContainer.d.ts +9 -0
  103. package/dist/types/src/components/BlueprintContainer.d.ts.map +1 -0
  104. package/dist/types/src/components/BlueprintEditor/BlueprintEditor.d.ts +8 -3
  105. package/dist/types/src/components/BlueprintEditor/BlueprintEditor.d.ts.map +1 -1
  106. package/dist/types/src/components/BlueprintEditor/index.d.ts +1 -2
  107. package/dist/types/src/components/BlueprintEditor/index.d.ts.map +1 -1
  108. package/dist/types/src/components/TemplateContainer.d.ts +2 -2
  109. package/dist/types/src/components/TemplateContainer.d.ts.map +1 -1
  110. package/dist/types/src/components/Thread/ThreadContainer.d.ts.map +1 -1
  111. package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts +1 -1
  112. package/dist/types/src/components/Thread/ThreadContainer.stories.d.ts.map +1 -1
  113. package/dist/types/src/components/index.d.ts +4 -3
  114. package/dist/types/src/components/index.d.ts.map +1 -1
  115. package/dist/types/src/hooks/useContextProvider.d.ts.map +1 -1
  116. package/dist/types/src/hooks/useMessageQueue.d.ts +6 -6
  117. package/dist/types/src/hooks/useMessageQueue.d.ts.map +1 -1
  118. package/dist/types/src/index.d.ts +1 -0
  119. package/dist/types/src/index.d.ts.map +1 -1
  120. package/dist/types/src/parser/filter-generator.d.ts +1 -1
  121. package/dist/types/src/parser/filter-generator.d.ts.map +1 -1
  122. package/dist/types/src/stories/Query.stories.d.ts.map +1 -1
  123. package/dist/types/src/stories/Research.stories.d.ts +1 -1
  124. package/dist/types/src/stories/Research.stories.d.ts.map +1 -1
  125. package/dist/types/src/testing/test-blueprint.d.ts +4 -10
  126. package/dist/types/src/testing/test-blueprint.d.ts.map +1 -1
  127. package/dist/types/src/tools/openapi.d.ts.map +1 -1
  128. package/dist/types/src/translations.d.ts +13 -62
  129. package/dist/types/src/translations.d.ts.map +1 -1
  130. package/dist/types/src/types/chat.d.ts +3 -3
  131. package/dist/types/src/types/chat.d.ts.map +1 -1
  132. package/dist/types/src/types/service.d.ts +139 -9
  133. package/dist/types/src/types/service.d.ts.map +1 -1
  134. package/dist/types/src/types/template.d.ts.map +1 -1
  135. package/dist/types/src/types/types.d.ts +2 -2
  136. package/package.json +70 -68
  137. package/src/AssistantPlugin.tsx +5 -5
  138. package/src/capabilities/ai-client.ts +10 -5
  139. package/src/capabilities/app-graph-builder.ts +38 -35
  140. package/src/capabilities/capabilities.ts +1 -0
  141. package/src/capabilities/intent-resolver.ts +12 -5
  142. package/src/capabilities/react-surface.tsx +8 -20
  143. package/src/capabilities/settings.ts +2 -2
  144. package/src/components/AmbientDialog/AmbientDialog.stories.tsx +1 -0
  145. package/src/components/BlueprintContainer.tsx +160 -0
  146. package/src/components/BlueprintEditor/BlueprintEditor.stories.tsx +2 -2
  147. package/src/components/BlueprintEditor/BlueprintEditor.tsx +31 -21
  148. package/src/components/BlueprintEditor/index.ts +1 -3
  149. package/src/components/TemplateContainer.tsx +5 -2
  150. package/src/components/TemplateEditor/TemplateEditor.stories.tsx +2 -2
  151. package/src/components/TemplateEditor/TemplateForm.stories.tsx +2 -2
  152. package/src/components/Thread/ThreadContainer.stories.tsx +7 -8
  153. package/src/components/Thread/ThreadContainer.tsx +2 -3
  154. package/src/components/index.ts +1 -1
  155. package/src/hooks/useContextProvider.ts +13 -16
  156. package/src/hooks/useMessageQueue.ts +3 -2
  157. package/src/index.ts +1 -0
  158. package/src/parser/filter-generator.test.ts +1 -1
  159. package/src/parser/filter-generator.ts +1 -1
  160. package/src/stories/Query.stories.tsx +24 -25
  161. package/src/stories/Research.stories.tsx +25 -39
  162. package/src/stories/test-data.ts +9 -9
  163. package/src/testing/test-blueprint.ts +13 -5
  164. package/src/testing/test-services.ts +6 -6
  165. package/src/tools/function.ts +2 -2
  166. package/src/tools/openapi.test.ts +6 -12
  167. package/src/tools/openapi.ts +5 -5
  168. package/src/translations.ts +5 -3
  169. package/src/types/chat.ts +3 -4
  170. package/src/types/service.ts +8 -4
  171. package/src/types/template.ts +4 -1
  172. package/dist/lib/browser/BlueprintEditor-DGV4KJDM.mjs +0 -45
  173. package/dist/lib/browser/BlueprintEditor-DGV4KJDM.mjs.map +0 -7
  174. package/dist/lib/browser/TemplateContainer-AKUYL4AV.mjs.map +0 -7
  175. package/dist/lib/browser/ai-client-COXVUC6V.mjs.map +0 -7
  176. package/dist/lib/browser/app-graph-builder-56OZ5RW4.mjs.map +0 -7
  177. package/dist/lib/browser/chunk-NBSPGIHL.mjs.map +0 -7
  178. package/dist/lib/browser/chunk-Q6XE3O3E.mjs.map +0 -7
  179. package/dist/lib/browser/intent-resolver-GWELYIX2.mjs.map +0 -7
  180. package/dist/lib/browser/react-surface-DGS34EON.mjs.map +0 -7
  181. package/dist/lib/browser/settings-BTFB7IQ6.mjs.map +0 -7
  182. package/dist/lib/node/BlueprintEditor-43VM3XPO.cjs +0 -72
  183. package/dist/lib/node/BlueprintEditor-43VM3XPO.cjs.map +0 -7
  184. package/dist/lib/node/TemplateContainer-CTG2MB4W.cjs.map +0 -7
  185. package/dist/lib/node/ai-client-R2CGEYZW.cjs.map +0 -7
  186. package/dist/lib/node/app-graph-builder-QLF353LH.cjs.map +0 -7
  187. package/dist/lib/node/chunk-PG7YNQ4R.cjs.map +0 -7
  188. package/dist/lib/node/chunk-UNVDZOLA.cjs.map +0 -7
  189. package/dist/lib/node/intent-resolver-U7663JU7.cjs.map +0 -7
  190. package/dist/lib/node/react-surface-QXZTILW6.cjs.map +0 -7
  191. package/dist/lib/node/settings-LBJMT6YB.cjs.map +0 -7
  192. package/dist/lib/node-esm/BlueprintEditor-CTARB2FO.mjs +0 -47
  193. package/dist/lib/node-esm/BlueprintEditor-CTARB2FO.mjs.map +0 -7
  194. package/dist/lib/node-esm/TemplateContainer-IVDQ4XQG.mjs.map +0 -7
  195. package/dist/lib/node-esm/ai-client-I5LXHMOZ.mjs.map +0 -7
  196. package/dist/lib/node-esm/app-graph-builder-5YX5TKKT.mjs.map +0 -7
  197. package/dist/lib/node-esm/chunk-MNH6E6EB.mjs.map +0 -7
  198. package/dist/lib/node-esm/chunk-TQYSF2GS.mjs.map +0 -7
  199. package/dist/lib/node-esm/intent-resolver-N5TM3RTL.mjs.map +0 -7
  200. package/dist/lib/node-esm/react-surface-FTKGQQD2.mjs.map +0 -7
  201. package/dist/lib/node-esm/settings-TGCCAH5D.mjs.map +0 -7
  202. /package/dist/lib/{node-esm/AssistantDialog-DONAO6SA.mjs.map → browser/AssistantDialog-YCPMFK7Y.mjs.map} +0 -0
  203. /package/dist/lib/{node-esm/ChatContainer-FVIGCDIG.mjs.map → browser/ChatContainer-RYFYYEWI.mjs.map} +0 -0
@@ -16,24 +16,24 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var app_graph_builder_QLF353LH_exports = {};
20
- __export(app_graph_builder_QLF353LH_exports, {
19
+ var app_graph_builder_VEPLBTML_exports = {};
20
+ __export(app_graph_builder_VEPLBTML_exports, {
21
21
  default: () => app_graph_builder_default
22
22
  });
23
- module.exports = __toCommonJS(app_graph_builder_QLF353LH_exports);
24
- var import_chunk_UNVDZOLA = require("./chunk-UNVDZOLA.cjs");
23
+ module.exports = __toCommonJS(app_graph_builder_VEPLBTML_exports);
24
+ var import_chunk_7TQAIKE2 = require("./chunk-7TQAIKE2.cjs");
25
25
  var import_chunk_P74TWGMG = require("./chunk-P74TWGMG.cjs");
26
26
  var import_rx_react = require("@effect-rx/rx-react");
27
27
  var import_effect = require("effect");
28
28
  var import_app_framework = require("@dxos/app-framework");
29
- var import_echo_schema = require("@dxos/echo-schema");
29
+ var import_echo = require("@dxos/echo");
30
30
  var import_invariant = require("@dxos/invariant");
31
31
  var import_plugin_client = require("@dxos/plugin-client");
32
32
  var import_types = require("@dxos/plugin-deck/types");
33
33
  var import_plugin_graph = require("@dxos/plugin-graph");
34
34
  var import_plugin_space = require("@dxos/plugin-space");
35
35
  var import_types2 = require("@dxos/plugin-space/types");
36
- var import_echo = require("@dxos/react-client/echo");
36
+ var import_echo2 = require("@dxos/react-client/echo");
37
37
  var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-assistant/src/capabilities/app-graph-builder.ts";
38
38
  var app_graph_builder_default = (context) => (0, import_app_framework.contributes)(import_app_framework.Capabilities.AppGraphBuilder, [
39
39
  (0, import_plugin_graph.createExtension)({
@@ -50,7 +50,7 @@ var app_graph_builder_default = (context) => (0, import_app_framework.contribute
50
50
  if (layout.active.length > 0) {
51
51
  const node2 = graph.getNode(layout.active[0]).pipe(import_effect.Option.getOrNull);
52
52
  if (node2) {
53
- const space = (0, import_echo.getSpace)(node2.data);
53
+ const space = (0, import_echo2.getSpace)(node2.data);
54
54
  if (space) {
55
55
  chat = await getOrCreateChat(dispatch, space);
56
56
  }
@@ -96,21 +96,27 @@ var app_graph_builder_default = (context) => (0, import_app_framework.contribute
96
96
  id: `${import_chunk_P74TWGMG.ASSISTANT_PLUGIN}/object-chat-companion`,
97
97
  connector: (node) => {
98
98
  let query;
99
- return import_rx_react.Rx.make((get) => (0, import_effect.pipe)(get(node), import_effect.Option.flatMap((node2) => (0, import_echo.isEchoObject)(node2.data) ? import_effect.Option.some(node2.data) : import_effect.Option.none()), import_effect.Option.flatMap((object) => {
100
- const space = (0, import_echo.getSpace)(object);
101
- return space ? import_effect.Option.some({
102
- space,
103
- object
104
- }) : import_effect.Option.none();
105
- }), import_effect.Option.map(({ space, object }) => {
99
+ return import_rx_react.Rx.make((get) => {
100
+ const nodeOption = get(node);
101
+ if (import_effect.Option.isNone(nodeOption)) {
102
+ return [];
103
+ }
104
+ const object = nodeOption.value.data;
105
+ if (!import_echo.Obj.isObject(object)) {
106
+ return [];
107
+ }
108
+ const space = (0, import_echo2.getSpace)(object);
109
+ if (!space) {
110
+ return [];
111
+ }
106
112
  if (!query) {
107
- query = space.db.query(import_echo.Query.select(import_echo.Filter.ids(object.id)).targetOf(import_chunk_UNVDZOLA.CompanionTo).source());
113
+ query = space.db.query(import_echo2.Query.select(import_echo2.Filter.ids(object.id)).targetOf(import_chunk_7TQAIKE2.CompanionTo).source());
108
114
  }
109
115
  const chat = get((0, import_plugin_space.rxFromQuery)(query))[0];
110
116
  return [
111
117
  {
112
118
  id: [
113
- (0, import_echo.fullyQualifiedId)(object),
119
+ (0, import_echo2.fullyQualifiedId)(object),
114
120
  "assistant-chat"
115
121
  ].join(import_types.ATTENDABLE_PATH_SEPARATOR),
116
122
  type: import_types.PLANK_COMPANION_TYPE,
@@ -128,16 +134,16 @@ var app_graph_builder_default = (context) => (0, import_app_framework.contribute
128
134
  }
129
135
  }
130
136
  ];
131
- }), import_effect.Option.getOrElse(() => [])));
137
+ });
132
138
  }
133
139
  }),
134
140
  (0, import_plugin_graph.createExtension)({
135
141
  id: `${import_chunk_P74TWGMG.ASSISTANT_PLUGIN}/root`,
136
142
  connector: (node) => {
137
143
  let query;
138
- return import_rx_react.Rx.make((get) => (0, import_effect.pipe)(get(node), import_effect.Option.flatMap((node2) => node2.type === import_types2.SPACE_TYPE && (0, import_echo.isSpace)(node2.data) ? import_effect.Option.some(node2.data) : import_effect.Option.none()), import_effect.Option.map((space) => {
144
+ return import_rx_react.Rx.make((get) => (0, import_effect.pipe)(get(node), import_effect.Option.flatMap((node2) => node2.type === import_types2.SPACE_TYPE && (0, import_echo2.isSpace)(node2.data) ? import_effect.Option.some(node2.data) : import_effect.Option.none()), import_effect.Option.map((space) => {
139
145
  if (!query) {
140
- query = space.db.query(import_echo.Query.type(import_chunk_UNVDZOLA.TemplateType));
146
+ query = space.db.query(import_echo2.Query.type(import_chunk_7TQAIKE2.TemplateType));
141
147
  }
142
148
  const templates = get((0, import_plugin_space.rxFromQuery)(query));
143
149
  return templates.length > 0 ? [
@@ -164,16 +170,16 @@ var app_graph_builder_default = (context) => (0, import_app_framework.contribute
164
170
  id: `${import_chunk_P74TWGMG.ASSISTANT_PLUGIN}/templates`,
165
171
  connector: (node) => {
166
172
  let query;
167
- return import_rx_react.Rx.make((get) => (0, import_effect.pipe)(get(node), import_effect.Option.flatMap((node2) => node2.id === `${import_chunk_P74TWGMG.ASSISTANT_PLUGIN}/templates` && (0, import_echo.isSpace)(node2.properties.space) ? import_effect.Option.some(node2.properties.space) : import_effect.Option.none()), import_effect.Option.map((space) => {
173
+ return import_rx_react.Rx.make((get) => (0, import_effect.pipe)(get(node), import_effect.Option.flatMap((node2) => node2.id === `${import_chunk_P74TWGMG.ASSISTANT_PLUGIN}/templates` && (0, import_echo2.isSpace)(node2.properties.space) ? import_effect.Option.some(node2.properties.space) : import_effect.Option.none()), import_effect.Option.map((space) => {
168
174
  if (!query) {
169
- query = space.db.query(import_echo.Query.type(import_chunk_UNVDZOLA.TemplateType));
175
+ query = space.db.query(import_echo2.Query.type(import_chunk_7TQAIKE2.TemplateType));
170
176
  }
171
177
  return get((0, import_plugin_space.rxFromQuery)(query)).toSorted((a, b) => {
172
178
  const nameA = a.name ?? "";
173
179
  const nameB = b.name ?? "";
174
180
  return nameA.localeCompare(nameB);
175
181
  }).map((template) => ({
176
- id: (0, import_echo.fullyQualifiedId)(template),
182
+ id: (0, import_echo2.fullyQualifiedId)(template),
177
183
  type: `${import_chunk_P74TWGMG.ASSISTANT_PLUGIN}/template`,
178
184
  data: template,
179
185
  properties: {
@@ -191,19 +197,19 @@ var app_graph_builder_default = (context) => (0, import_app_framework.contribute
191
197
  })
192
198
  ]);
193
199
  var getOrCreateChat = async (dispatch, space) => {
194
- const { objects } = await space.db.query(import_echo.Filter.type(import_chunk_UNVDZOLA.AIChatType)).run();
200
+ const { objects } = await space.db.query(import_echo2.Filter.type(import_chunk_7TQAIKE2.AIChatType)).run();
195
201
  if (objects.length > 0) {
196
202
  return objects[objects.length - 1];
197
203
  }
198
- const { data } = await dispatch((0, import_app_framework.createIntent)(import_chunk_UNVDZOLA.AssistantAction.CreateChat, {
204
+ const { data } = await dispatch((0, import_app_framework.createIntent)(import_chunk_7TQAIKE2.AssistantAction.CreateChat, {
199
205
  space
200
206
  }));
201
- (0, import_invariant.invariant)((0, import_echo_schema.isInstanceOf)(import_chunk_UNVDZOLA.AIChatType, data?.object), void 0, {
207
+ (0, import_invariant.invariant)(import_echo.Obj.instanceOf(import_chunk_7TQAIKE2.AIChatType, data?.object), void 0, {
202
208
  F: __dxlog_file,
203
- L: 230,
209
+ L: 233,
204
210
  S: void 0,
205
211
  A: [
206
- "isInstanceOf(AIChatType, data?.object)",
212
+ "Obj.instanceOf(AIChatType, data?.object)",
207
213
  ""
208
214
  ]
209
215
  });
@@ -213,4 +219,4 @@ var getOrCreateChat = async (dispatch, space) => {
213
219
  }));
214
220
  return data.object;
215
221
  };
216
- //# sourceMappingURL=app-graph-builder-QLF353LH.cjs.map
222
+ //# sourceMappingURL=app-graph-builder-VEPLBTML.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/app-graph-builder.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Rx } from '@effect-rx/rx-react';\nimport { Option, pipe } from 'effect';\n\nimport {\n Capabilities,\n contributes,\n createIntent,\n LayoutAction,\n type PromiseIntentDispatcher,\n type PluginContext,\n} from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\nimport { invariant } from '@dxos/invariant';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { PLANK_COMPANION_TYPE, ATTENDABLE_PATH_SEPARATOR } from '@dxos/plugin-deck/types';\nimport { createExtension, ROOT_ID } from '@dxos/plugin-graph';\nimport { rxFromQuery } from '@dxos/plugin-space';\nimport { SPACE_TYPE, SpaceAction } from '@dxos/plugin-space/types';\nimport {\n type Space,\n Filter,\n Query,\n type QueryResult,\n fullyQualifiedId,\n getSpace,\n isSpace,\n} from '@dxos/react-client/echo';\n\nimport { ASSISTANT_DIALOG, ASSISTANT_PLUGIN } from '../meta';\nimport { AIChatType, AssistantAction, CompanionTo, TemplateType } from '../types';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.AppGraphBuilder, [\n createExtension({\n id: `${ASSISTANT_PLUGIN}/assistant`,\n actions: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),\n Option.map(() => [\n {\n id: `${LayoutAction.UpdateDialog._tag}/assistant/open`,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const client = context.getCapability(ClientCapabilities.Client);\n const layout = context.getCapability(Capabilities.Layout);\n const { graph } = context.getCapability(Capabilities.AppGraph);\n\n // TODO(burdon): Get space from workspace.\n // TODO(burdon): If need to create chat, then add to dispatch stack below.\n let chat: AIChatType | undefined;\n if (layout.active.length > 0) {\n const node = graph.getNode(layout.active[0]).pipe(Option.getOrNull);\n if (node) {\n const space = getSpace(node.data);\n if (space) {\n chat = await getOrCreateChat(dispatch, space);\n }\n }\n } else {\n const space = client.spaces.default;\n chat = await getOrCreateChat(dispatch, space);\n }\n\n if (!chat) {\n return;\n }\n\n await dispatch(\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n subject: ASSISTANT_DIALOG,\n options: {\n state: true,\n blockAlign: 'end',\n props: {\n chat,\n },\n },\n }),\n );\n },\n properties: {\n label: ['open assistant label', { ns: ASSISTANT_PLUGIN }],\n icon: 'ph--sparkle--regular',\n disposition: 'pin-end',\n position: 'hoist',\n keyBinding: {\n macos: 'shift+meta+k',\n windows: 'shift+ctrl+k',\n },\n },\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n\n createExtension({\n id: `${ASSISTANT_PLUGIN}/object-chat-companion`,\n connector: (node) => {\n let query: QueryResult<AIChatType> | undefined;\n return Rx.make((get) => {\n const nodeOption = get(node);\n if (Option.isNone(nodeOption)) {\n return [];\n }\n\n const object = nodeOption.value.data;\n if (!Obj.isObject(object)) {\n return [];\n }\n\n const space = getSpace(object);\n if (!space) {\n return [];\n }\n\n if (!query) {\n query = space.db.query(Query.select(Filter.ids(object.id)).targetOf(CompanionTo).source());\n }\n\n const chat = get(rxFromQuery(query))[0];\n return [\n {\n id: [fullyQualifiedId(object), 'assistant-chat'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: chat ?? 'assistant-chat',\n properties: {\n label: ['assistant chat label', { ns: ASSISTANT_PLUGIN }],\n icon: 'ph--sparkle--regular',\n position: 'hoist',\n disposition: 'hidden',\n },\n },\n ];\n });\n },\n }),\n\n createExtension({\n id: `${ASSISTANT_PLUGIN}/root`,\n connector: (node) => {\n let query: QueryResult<TemplateType> | undefined;\n return Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) =>\n node.type === SPACE_TYPE && isSpace(node.data) ? Option.some(node.data) : Option.none(),\n ),\n Option.map((space) => {\n if (!query) {\n query = space.db.query(Query.type(TemplateType));\n }\n\n const templates = get(rxFromQuery(query));\n return templates.length > 0\n ? [\n {\n id: `${ASSISTANT_PLUGIN}/templates`,\n type: `${ASSISTANT_PLUGIN}/templates`,\n data: null,\n properties: {\n label: ['templates label', { ns: ASSISTANT_PLUGIN }],\n icon: 'ph--file-code--regular',\n space,\n },\n },\n ]\n : [];\n }),\n Option.getOrElse(() => []),\n ),\n );\n },\n }),\n\n createExtension({\n id: `${ASSISTANT_PLUGIN}/templates`,\n connector: (node) => {\n let query: QueryResult<TemplateType> | undefined;\n return Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) =>\n node.id === `${ASSISTANT_PLUGIN}/templates` && isSpace(node.properties.space)\n ? Option.some(node.properties.space)\n : Option.none(),\n ),\n Option.map((space) => {\n if (!query) {\n query = space.db.query(Query.type(TemplateType));\n }\n return get(rxFromQuery(query))\n .toSorted((a, b) => {\n const nameA = a.name ?? '';\n const nameB = b.name ?? '';\n return nameA.localeCompare(nameB);\n })\n .map((template) => ({\n id: fullyQualifiedId(template),\n type: `${ASSISTANT_PLUGIN}/template`,\n data: template,\n properties: {\n label: template.name ?? ['object placeholder', { ns: ASSISTANT_PLUGIN }],\n icon: 'ph--file-code--regular',\n },\n }));\n }),\n Option.getOrElse(() => []),\n ),\n );\n },\n }),\n ]);\n\n// TODO(burdon): Factor out.\nconst getOrCreateChat = async (dispatch: PromiseIntentDispatcher, space: Space): Promise<AIChatType | undefined> => {\n const { objects } = await space.db.query(Filter.type(AIChatType)).run();\n // console.log('objects', JSON.stringify(objects, null, 2));\n if (objects.length > 0) {\n // TODO(burdon): Is this the most recent?\n return objects[objects.length - 1];\n }\n\n const { data } = await dispatch(createIntent(AssistantAction.CreateChat, { space }));\n invariant(Obj.instanceOf(AIChatType, data?.object));\n await dispatch(createIntent(SpaceAction.AddObject, { target: space, object: data.object }));\n return data.object;\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAIA,sBAAmB;AACnB,oBAA6B;AAE7B,2BAOO;AACP,kBAAoB;AACpB,uBAA0B;AAC1B,2BAAmC;AACnC,mBAAgE;AAChE,0BAAyC;AACzC,0BAA4B;AAC5B,IAAAA,gBAAwC;AACxC,IAAAC,eAQO;;AAKP,IAAA,4BAAe,CAACC,gBACdC,kCAAYC,kCAAaC,iBAAiB;MACxCC,qCAAgB;IACdC,IAAI,GAAGC,sCAAAA;IACPC,SAAS,CAACC,SACRC,mBAAGC,KAAK,CAACC,YACPC,oBACED,IAAIH,IAAAA,GACJK,qBAAOC,QAAQ,CAACN,UAAUA,MAAKH,OAAOU,8BAAUF,qBAAOG,KAAKR,KAAAA,IAAQK,qBAAOI,KAAI,CAAA,GAC/EJ,qBAAOK,IAAI,MAAM;MACf;QACEb,IAAI,GAAGc,kCAAaC,aAAaC,IAAI;QACrCC,MAAM,YAAA;AACJ,gBAAM,EAAEC,iBAAiBC,SAAQ,IAAKxB,QAAQyB,cAAcvB,kCAAawB,gBAAgB;AACzF,gBAAMC,SAAS3B,QAAQyB,cAAcG,wCAAmBC,MAAM;AAC9D,gBAAMC,SAAS9B,QAAQyB,cAAcvB,kCAAa6B,MAAM;AACxD,gBAAM,EAAEC,MAAK,IAAKhC,QAAQyB,cAAcvB,kCAAa+B,QAAQ;AAI7D,cAAIC;AACJ,cAAIJ,OAAOK,OAAOC,SAAS,GAAG;AAC5B,kBAAM5B,QAAOwB,MAAMK,QAAQP,OAAOK,OAAO,CAAA,CAAE,EAAEvB,KAAKC,qBAAOyB,SAAS;AAClE,gBAAI9B,OAAM;AACR,oBAAM+B,YAAQC,uBAAShC,MAAKc,IAAI;AAChC,kBAAIiB,OAAO;AACTL,uBAAO,MAAMO,gBAAgBjB,UAAUe,KAAAA;cACzC;YACF;UACF,OAAO;AACL,kBAAMA,QAAQZ,OAAOe,OAAOC;AAC5BT,mBAAO,MAAMO,gBAAgBjB,UAAUe,KAAAA;UACzC;AAEA,cAAI,CAACL,MAAM;AACT;UACF;AAEA,gBAAMV,aACJoB,mCAAazB,kCAAaC,cAAc;YACtCyB,MAAM;YACNC,SAASC;YACTC,SAAS;cACPC,OAAO;cACPC,YAAY;cACZC,OAAO;gBACLjB;cACF;YACF;UACF,CAAA,CAAA;QAEJ;QACAkB,YAAY;UACVC,OAAO;YAAC;YAAwB;cAAEC,IAAIhD;YAAiB;;UACvDiD,MAAM;UACNC,aAAa;UACbC,UAAU;UACVC,YAAY;YACVC,OAAO;YACPC,SAAS;UACX;QACF;MACF;KACD,GACD/C,qBAAOgD,UAAU,MAAM,CAAA,CAAE,CAAA,CAAA;EAGjC,CAAA;MAEAzD,qCAAgB;IACdC,IAAI,GAAGC,sCAAAA;IACPwD,WAAW,CAACtD,SAAAA;AACV,UAAIuD;AACJ,aAAOtD,mBAAGC,KAAK,CAACC,QAAAA;AACd,cAAMqD,aAAarD,IAAIH,IAAAA;AACvB,YAAIK,qBAAOoD,OAAOD,UAAAA,GAAa;AAC7B,iBAAO,CAAA;QACT;AAEA,cAAME,SAASF,WAAWG,MAAM7C;AAChC,YAAI,CAAC8C,gBAAIC,SAASH,MAAAA,GAAS;AACzB,iBAAO,CAAA;QACT;AAEA,cAAM3B,YAAQC,uBAAS0B,MAAAA;AACvB,YAAI,CAAC3B,OAAO;AACV,iBAAO,CAAA;QACT;AAEA,YAAI,CAACwB,OAAO;AACVA,kBAAQxB,MAAM+B,GAAGP,MAAMQ,mBAAMC,OAAOC,oBAAOC,IAAIR,OAAO7D,EAAE,CAAA,EAAGsE,SAASC,iCAAAA,EAAaC,OAAM,CAAA;QACzF;AAEA,cAAM3C,OAAOvB,QAAImE,iCAAYf,KAAAA,CAAAA,EAAQ,CAAA;AACrC,eAAO;UACL;YACE1D,IAAI;kBAAC0E,+BAAiBb,MAAAA;cAAS;cAAkBc,KAAKC,sCAAAA;YACtDC,MAAMC;YACN7D,MAAMY,QAAQ;YACdkB,YAAY;cACVC,OAAO;gBAAC;gBAAwB;kBAAEC,IAAIhD;gBAAiB;;cACvDiD,MAAM;cACNE,UAAU;cACVD,aAAa;YACf;UACF;;MAEJ,CAAA;IACF;EACF,CAAA;MAEApD,qCAAgB;IACdC,IAAI,GAAGC,sCAAAA;IACPwD,WAAW,CAACtD,SAAAA;AACV,UAAIuD;AACJ,aAAOtD,mBAAGC,KAAK,CAACC,YACdC,oBACED,IAAIH,IAAAA,GACJK,qBAAOC,QAAQ,CAACN,UACdA,MAAK0E,SAASE,gCAAcC,sBAAQ7E,MAAKc,IAAI,IAAIT,qBAAOG,KAAKR,MAAKc,IAAI,IAAIT,qBAAOI,KAAI,CAAA,GAEvFJ,qBAAOK,IAAI,CAACqB,UAAAA;AACV,YAAI,CAACwB,OAAO;AACVA,kBAAQxB,MAAM+B,GAAGP,MAAMQ,mBAAMW,KAAKI,kCAAAA,CAAAA;QACpC;AAEA,cAAMC,YAAY5E,QAAImE,iCAAYf,KAAAA,CAAAA;AAClC,eAAOwB,UAAUnD,SAAS,IACtB;UACE;YACE/B,IAAI,GAAGC,sCAAAA;YACP4E,MAAM,GAAG5E,sCAAAA;YACTgB,MAAM;YACN8B,YAAY;cACVC,OAAO;gBAAC;gBAAmB;kBAAEC,IAAIhD;gBAAiB;;cAClDiD,MAAM;cACNhB;YACF;UACF;YAEF,CAAA;MACN,CAAA,GACA1B,qBAAOgD,UAAU,MAAM,CAAA,CAAE,CAAA,CAAA;IAG/B;EACF,CAAA;MAEAzD,qCAAgB;IACdC,IAAI,GAAGC,sCAAAA;IACPwD,WAAW,CAACtD,SAAAA;AACV,UAAIuD;AACJ,aAAOtD,mBAAGC,KAAK,CAACC,YACdC,oBACED,IAAIH,IAAAA,GACJK,qBAAOC,QAAQ,CAACN,UACdA,MAAKH,OAAO,GAAGC,sCAAAA,oBAAgC+E,sBAAQ7E,MAAK4C,WAAWb,KAAK,IACxE1B,qBAAOG,KAAKR,MAAK4C,WAAWb,KAAK,IACjC1B,qBAAOI,KAAI,CAAA,GAEjBJ,qBAAOK,IAAI,CAACqB,UAAAA;AACV,YAAI,CAACwB,OAAO;AACVA,kBAAQxB,MAAM+B,GAAGP,MAAMQ,mBAAMW,KAAKI,kCAAAA,CAAAA;QACpC;AACA,eAAO3E,QAAImE,iCAAYf,KAAAA,CAAAA,EACpByB,SAAS,CAACC,GAAGC,MAAAA;AACZ,gBAAMC,QAAQF,EAAEG,QAAQ;AACxB,gBAAMC,QAAQH,EAAEE,QAAQ;AACxB,iBAAOD,MAAMG,cAAcD,KAAAA;QAC7B,CAAA,EACC3E,IAAI,CAAC6E,cAAc;UAClB1F,QAAI0E,+BAAiBgB,QAAAA;UACrBb,MAAM,GAAG5E,sCAAAA;UACTgB,MAAMyE;UACN3C,YAAY;YACVC,OAAO0C,SAASH,QAAQ;cAAC;cAAsB;gBAAEtC,IAAIhD;cAAiB;;YACtEiD,MAAM;UACR;QACF,EAAA;MACJ,CAAA,GACA1C,qBAAOgD,UAAU,MAAM,CAAA,CAAE,CAAA,CAAA;IAG/B;EACF,CAAA;CACD;AAGH,IAAMpB,kBAAkB,OAAOjB,UAAmCe,UAAAA;AAChE,QAAM,EAAEyD,QAAO,IAAK,MAAMzD,MAAM+B,GAAGP,MAAMU,oBAAOS,KAAKe,gCAAAA,CAAAA,EAAaC,IAAG;AAErE,MAAIF,QAAQ5D,SAAS,GAAG;AAEtB,WAAO4D,QAAQA,QAAQ5D,SAAS,CAAA;EAClC;AAEA,QAAM,EAAEd,KAAI,IAAK,MAAME,aAASoB,mCAAauD,sCAAgBC,YAAY;IAAE7D;EAAM,CAAA,CAAA;AACjF8D,kCAAUjC,gBAAIkC,WAAWL,kCAAY3E,MAAM4C,MAAAA,GAAAA,QAAAA;;;;;;;;;AAC3C,QAAM1C,aAASoB,mCAAa2D,0BAAYC,WAAW;IAAEC,QAAQlE;IAAO2B,QAAQ5C,KAAK4C;EAAO,CAAA,CAAA;AACxF,SAAO5C,KAAK4C;AACd;",
6
+ "names": ["import_types", "import_echo", "context", "contributes", "Capabilities", "AppGraphBuilder", "createExtension", "id", "ASSISTANT_PLUGIN", "actions", "node", "Rx", "make", "get", "pipe", "Option", "flatMap", "ROOT_ID", "some", "none", "map", "LayoutAction", "UpdateDialog", "_tag", "data", "dispatchPromise", "dispatch", "getCapability", "IntentDispatcher", "client", "ClientCapabilities", "Client", "layout", "Layout", "graph", "AppGraph", "chat", "active", "length", "getNode", "getOrNull", "space", "getSpace", "getOrCreateChat", "spaces", "default", "createIntent", "part", "subject", "ASSISTANT_DIALOG", "options", "state", "blockAlign", "props", "properties", "label", "ns", "icon", "disposition", "position", "keyBinding", "macos", "windows", "getOrElse", "connector", "query", "nodeOption", "isNone", "object", "value", "Obj", "isObject", "db", "Query", "select", "Filter", "ids", "targetOf", "CompanionTo", "source", "rxFromQuery", "fullyQualifiedId", "join", "ATTENDABLE_PATH_SEPARATOR", "type", "PLANK_COMPANION_TYPE", "SPACE_TYPE", "isSpace", "TemplateType", "templates", "toSorted", "a", "b", "nameA", "name", "nameB", "localeCompare", "template", "objects", "AIChatType", "run", "AssistantAction", "CreateChat", "invariant", "instanceOf", "SpaceAction", "AddObject", "target"]
7
+ }
@@ -16,8 +16,8 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var chunk_UNVDZOLA_exports = {};
20
- __export(chunk_UNVDZOLA_exports, {
19
+ var chunk_7TQAIKE2_exports = {};
20
+ __export(chunk_7TQAIKE2_exports, {
21
21
  AIChatType: () => AIChatType,
22
22
  ApiAuthorization: () => ApiAuthorization,
23
23
  AssistantAction: () => AssistantAction,
@@ -32,36 +32,36 @@ __export(chunk_UNVDZOLA_exports, {
32
32
  TemplateType: () => TemplateType,
33
33
  categoryIcons: () => categoryIcons
34
34
  });
35
- module.exports = __toCommonJS(chunk_UNVDZOLA_exports);
35
+ module.exports = __toCommonJS(chunk_7TQAIKE2_exports);
36
36
  var import_chunk_P74TWGMG = require("./chunk-P74TWGMG.cjs");
37
37
  var import_effect = require("effect");
38
- var import_echo = require("@dxos/echo");
39
- var import_echo_schema = require("@dxos/echo-schema");
38
+ var import_echo = require("@dxos/client/echo");
39
+ var import_echo2 = require("@dxos/echo");
40
40
  var import_effect2 = require("effect");
41
41
  var import_conductor = require("@dxos/conductor");
42
- var import_echo_schema2 = require("@dxos/echo-schema");
42
+ var import_echo3 = require("@dxos/echo");
43
+ var import_echo_schema = require("@dxos/echo-schema");
43
44
  var import_functions = require("@dxos/functions");
44
45
  var import_effect3 = require("effect");
45
- var import_echo_schema3 = require("@dxos/echo-schema");
46
+ var import_echo_schema2 = require("@dxos/echo-schema");
46
47
  var import_effect4 = require("effect");
47
48
  var import_assistant = require("@dxos/assistant");
48
- var import_echo2 = require("@dxos/react-client/echo");
49
+ var import_echo4 = require("@dxos/react-client/echo");
49
50
  var AIChatType = import_effect.Schema.Struct({
50
- id: import_echo.Type.ObjectId,
51
+ id: import_echo2.Type.ObjectId,
51
52
  name: import_effect.Schema.optional(import_effect.Schema.String),
52
- // TODO(wittjosiah): Should be a ref to a Queue.
53
- queue: (0, import_echo_schema.Ref)(import_echo_schema.Expando)
54
- }).pipe(import_echo.Type.Obj({
53
+ queue: import_echo2.Type.Ref(import_echo.Queue)
54
+ }).pipe(import_echo2.Type.Obj({
55
55
  typename: "dxos.org/type/AIChat",
56
56
  version: "0.2.0"
57
57
  }));
58
58
  var CompanionTo = import_effect.Schema.Struct({
59
- id: import_echo.Type.ObjectId
60
- }).pipe(import_echo.Type.Relation({
59
+ id: import_echo2.Type.ObjectId
60
+ }).pipe(import_echo2.Type.Relation({
61
61
  typename: "dxos.org/relation/CompanionTo",
62
62
  version: "0.1.0",
63
63
  source: AIChatType,
64
- target: import_echo_schema.Expando
64
+ target: import_echo2.Type.Expando
65
65
  }));
66
66
  var ApiAuthorizationKey = import_effect2.Schema.Struct({
67
67
  type: import_effect2.Schema.Literal("api-key"),
@@ -83,11 +83,11 @@ var ApiAuthorizationOauth = import_effect2.Schema.Struct({
83
83
  var ApiAuthorization = import_effect2.Schema.Union(ApiAuthorizationKey, ApiAuthorizationOauth);
84
84
  var ServiceInterfaceFunction = import_effect2.Schema.Struct({
85
85
  kind: import_effect2.Schema.Literal("function"),
86
- fn: (0, import_echo_schema2.Ref)(import_functions.FunctionType)
86
+ fn: import_echo3.Type.Ref(import_functions.FunctionType)
87
87
  });
88
88
  var ServiceInterfaceWorkflow = import_effect2.Schema.Struct({
89
89
  kind: import_effect2.Schema.Literal("workflow"),
90
- workflow: (0, import_echo_schema2.Ref)(import_conductor.ComputeGraph)
90
+ workflow: import_echo3.Type.Ref(import_conductor.ComputeGraph)
91
91
  });
92
92
  var ServiceInterfaceApi = import_effect2.Schema.Struct({
93
93
  kind: import_effect2.Schema.Literal("api"),
@@ -105,7 +105,7 @@ var ServiceInterfaceApi = import_effect2.Schema.Struct({
105
105
  authorization: import_effect2.Schema.optional(ApiAuthorization)
106
106
  });
107
107
  var ServiceInterface = import_effect2.Schema.Union(ServiceInterfaceFunction, ServiceInterfaceWorkflow, ServiceInterfaceApi);
108
- var ServiceType = class extends (0, import_echo_schema2.TypedObject)({
108
+ var ServiceType = class extends (0, import_echo_schema.TypedObject)({
109
109
  typename: "dxos.org/type/ServiceType",
110
110
  version: "0.1.0"
111
111
  })({
@@ -164,7 +164,7 @@ var TemplateKindSchema = import_effect3.Schema.Union(import_effect3.Schema.Struc
164
164
  }), import_effect3.Schema.Struct({
165
165
  include: import_effect3.Schema.Literal("manual")
166
166
  }));
167
- var TemplateType = class extends (0, import_echo_schema3.TypedObject)({
167
+ var TemplateType = class extends (0, import_echo_schema2.TypedObject)({
168
168
  typename: "dxos.org/type/Template",
169
169
  version: "0.1.0"
170
170
  })({
@@ -179,7 +179,7 @@ var TemplateType = class extends (0, import_echo_schema3.TypedObject)({
179
179
  const ASSISTANT_ACTION = `${import_chunk_P74TWGMG.ASSISTANT_PLUGIN}/action`;
180
180
  class CreateChat extends import_effect4.Schema.TaggedClass()(`${ASSISTANT_ACTION}/create-chat`, {
181
181
  input: import_effect4.Schema.Struct({
182
- space: import_echo2.SpaceSchema,
182
+ space: import_echo4.SpaceSchema,
183
183
  name: import_effect4.Schema.optional(import_effect4.Schema.String)
184
184
  }),
185
185
  output: import_effect4.Schema.Struct({
@@ -228,4 +228,4 @@ var AssistantAction;
228
228
  TemplateType,
229
229
  categoryIcons
230
230
  });
231
- //# sourceMappingURL=chunk-UNVDZOLA.cjs.map
231
+ //# sourceMappingURL=chunk-7TQAIKE2.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types/chat.ts", "../../../src/types/service.ts", "../../../src/types/template.ts", "../../../src/types/types.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Queue } from '@dxos/client/echo';\nimport { Type } from '@dxos/echo';\n\nexport const AIChatType = Schema.Struct({\n id: Type.ObjectId,\n name: Schema.optional(Schema.String),\n queue: Type.Ref(Queue),\n}).pipe(\n Type.Obj({\n typename: 'dxos.org/type/AIChat',\n version: '0.2.0',\n }),\n);\nexport interface AIChatType extends Schema.Schema.Type<typeof AIChatType> {}\n\nexport const CompanionTo = Schema.Struct({\n id: Type.ObjectId,\n}).pipe(\n Type.Relation({\n typename: 'dxos.org/relation/CompanionTo',\n version: '0.1.0',\n source: AIChatType,\n target: Type.Expando,\n }),\n);\nexport interface CompanionTo extends Schema.Schema.Type<typeof CompanionTo> {}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { ComputeGraph } from '@dxos/conductor';\nimport { Type } from '@dxos/echo';\nimport { TypedObject } from '@dxos/echo-schema';\nimport { FunctionType } from '@dxos/functions';\n\nconst ApiAuthorizationKey = Schema.Struct({\n type: Schema.Literal('api-key'),\n key: Schema.String,\n placement: Schema.Union(\n Schema.Struct({\n type: Schema.Literal('authorization-header'),\n }),\n Schema.Struct({\n type: Schema.Literal('query'),\n name: Schema.String,\n }),\n ),\n});\n\nconst ApiAuthorizationOauth = Schema.Struct({\n type: Schema.Literal('oauth'),\n clientId: Schema.String,\n clientSecret: Schema.String,\n tokenUrl: Schema.String,\n grantType: Schema.String,\n});\n\nexport const ApiAuthorization = Schema.Union(ApiAuthorizationKey, ApiAuthorizationOauth);\nexport type ApiAuthorization = Schema.Schema.Type<typeof ApiAuthorization>;\n\nconst ServiceInterfaceFunction = Schema.Struct({\n kind: Schema.Literal('function'),\n fn: Type.Ref(FunctionType),\n});\n\nconst ServiceInterfaceWorkflow = Schema.Struct({\n kind: Schema.Literal('workflow'),\n workflow: Type.Ref(ComputeGraph),\n});\n\nconst ServiceInterfaceApi = Schema.Struct({\n kind: Schema.Literal('api'),\n\n /**\n * URL to fetch the openapi schema.\n */\n schemaUrl: Schema.optional(Schema.String),\n\n /**\n * Inlined openapi schema.\n */\n schema: Schema.optional(Schema.Any),\n\n /**\n * Authorization configuration if required.\n */\n authorization: Schema.optional(ApiAuthorization),\n});\n\nconst ServiceInterface = Schema.Union(ServiceInterfaceFunction, ServiceInterfaceWorkflow, ServiceInterfaceApi);\nexport type ServiceInterface = Schema.Schema.Type<typeof ServiceInterface>;\n\nexport class ServiceType extends TypedObject({\n typename: 'dxos.org/type/ServiceType',\n version: '0.1.0',\n})({\n serviceId: Schema.String,\n name: Schema.optional(Schema.String),\n description: Schema.optional(Schema.String),\n category: Schema.optional(Schema.String),\n enabled: Schema.optional(Schema.Boolean),\n\n /**\n * Entries exposed: functions, workflows, and APIs.\n */\n interfaces: Schema.optional(Schema.Array(ServiceInterface)),\n}) {}\n\n//\n// Service Registry\n//\n\nexport type ServiceQuery = {\n name?: string;\n category?: string;\n};\n\nexport interface BaseServiceRegistry {\n queryServices(query?: ServiceQuery): Promise<ServiceType[]>;\n}\n\nexport const categoryIcons: Record<string, string> = {\n finance: 'ph--bank--regular',\n health: 'ph--heart--regular',\n geolocation: 'ph--globe-simple--regular',\n education: 'ph--books--regular',\n entertainment: 'ph--music-notes--regular',\n shopping: 'ph--shopping-cart--regular',\n travel: 'ph--airplane-takeoff--regular',\n utilities: 'ph--lightning--regular',\n weather: 'ph--cloud-rain--regular',\n} as const;\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { TypedObject } from '@dxos/echo-schema';\n\n// TODO(burdon): Change to Schema.Literal (and discriminated union).\nexport enum TemplateInputType {\n VALUE = 0,\n PASS_THROUGH = 1,\n RETRIEVER = 2,\n FUNCTION = 3,\n QUERY = 4,\n RESOLVER = 5,\n CONTEXT = 6,\n SCHEMA = 7,\n}\n\nexport const TemplateInputSchema = Schema.mutable(\n Schema.Struct({\n name: Schema.String,\n type: Schema.optional(Schema.Enums(TemplateInputType)),\n value: Schema.optional(Schema.String),\n }),\n);\n\nexport type TemplateInput = Schema.Schema.Type<typeof TemplateInputSchema>;\n\nexport const TemplateKinds = ['always', 'schema-matching', 'automatically', 'manual'] as const;\nexport type TemplateKind = (typeof TemplateKinds)[number];\n\nexport const TemplateKindSchema = Schema.Union(\n Schema.Struct({\n include: Schema.Literal('always'),\n }),\n Schema.Struct({\n include: Schema.Literal('schema-matching'),\n typename: Schema.String,\n }),\n Schema.Struct({\n include: Schema.Literal('automatically'),\n description: Schema.String,\n }),\n Schema.Struct({\n include: Schema.Literal('manual'),\n }),\n);\n\nexport type TemplateKindType = Schema.Schema.Type<typeof TemplateKindSchema>;\nexport class TemplateType extends TypedObject({\n typename: 'dxos.org/type/Template',\n version: '0.1.0',\n})({\n name: Schema.optional(Schema.String),\n kind: Schema.mutable(TemplateKindSchema),\n source: Schema.String,\n inputs: Schema.optional(Schema.mutable(Schema.Array(TemplateInputSchema))),\n command: Schema.optional(Schema.String),\n}) {}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Blueprint } from '@dxos/assistant';\nimport { SpaceSchema } from '@dxos/react-client/echo';\n\nimport { AIChatType } from './chat';\nimport { ASSISTANT_PLUGIN } from '../meta';\n\nexport namespace AssistantAction {\n const ASSISTANT_ACTION = `${ASSISTANT_PLUGIN}/action`;\n\n export class CreateChat extends Schema.TaggedClass<CreateChat>()(`${ASSISTANT_ACTION}/create-chat`, {\n input: Schema.Struct({\n space: SpaceSchema,\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: AIChatType,\n }),\n }) {}\n\n export class CreateBlueprint extends Schema.TaggedClass<CreateBlueprint>()(`${ASSISTANT_ACTION}/create-blueprint`, {\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: Blueprint,\n }),\n }) {}\n}\n\nexport const LLM_PROVIDERS = ['edge', 'ollama', 'lmstudio'] as const;\n\nexport const AssistantSettingsSchema = Schema.mutable(\n Schema.Struct({\n llmProvider: Schema.optional(Schema.Literal(...LLM_PROVIDERS)),\n edgeModel: Schema.optional(Schema.String),\n ollamaModel: Schema.optional(Schema.String),\n lmstudioModel: Schema.optional(Schema.String),\n customPrompts: Schema.optional(Schema.Boolean),\n }),\n);\n\nexport type AssistantSettingsProps = Schema.Schema.Type<typeof AssistantSettingsSchema>;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,oBAAuB;AAEvB,kBAAsB;AACtB,IAAAA,eAAqB;ACHrB,IAAAC,iBAAuB;AAEvB,uBAA6B;AAC7B,IAAAD,eAAqB;AACrB,yBAA4B;AAC5B,uBAA6B;ACL7B,IAAAC,iBAAuB;AAEvB,IAAAC,sBAA4B;ACF5B,IAAAD,iBAAuB;AAEvB,uBAA0B;AAC1B,IAAAD,eAA4B;AHErB,IAAMG,aAAaC,qBAAOC,OAAO;EACtCC,IAAIC,kBAAKC;EACTC,MAAML,qBAAOM,SAASN,qBAAOO,MAAM;EACnCC,OAAOL,kBAAKM,IAAIC,iBAAAA;AAClB,CAAA,EAAGC,KACDR,kBAAKS,IAAI;EACPC,UAAU;EACVC,SAAS;AACX,CAAA,CAAA;AAIK,IAAMC,cAAcf,qBAAOC,OAAO;EACvCC,IAAIC,kBAAKC;AACX,CAAA,EAAGO,KACDR,kBAAKa,SAAS;EACZH,UAAU;EACVC,SAAS;EACTG,QAAQlB;EACRmB,QAAQf,kBAAKgB;AACf,CAAA,CAAA;AClBF,IAAMC,sBAAsBpB,eAAAA,OAAOC,OAAO;EACxCoB,MAAMrB,eAAAA,OAAOsB,QAAQ,SAAA;EACrBC,KAAKvB,eAAAA,OAAOO;EACZiB,WAAWxB,eAAAA,OAAOyB,MAChBzB,eAAAA,OAAOC,OAAO;IACZoB,MAAMrB,eAAAA,OAAOsB,QAAQ,sBAAA;EACvB,CAAA,GACAtB,eAAAA,OAAOC,OAAO;IACZoB,MAAMrB,eAAAA,OAAOsB,QAAQ,OAAA;IACrBjB,MAAML,eAAAA,OAAOO;EACf,CAAA,CAAA;AAEJ,CAAA;AAEA,IAAMmB,wBAAwB1B,eAAAA,OAAOC,OAAO;EAC1CoB,MAAMrB,eAAAA,OAAOsB,QAAQ,OAAA;EACrBK,UAAU3B,eAAAA,OAAOO;EACjBqB,cAAc5B,eAAAA,OAAOO;EACrBsB,UAAU7B,eAAAA,OAAOO;EACjBuB,WAAW9B,eAAAA,OAAOO;AACpB,CAAA;AAEO,IAAMwB,mBAAmB/B,eAAAA,OAAOyB,MAAML,qBAAqBM,qBAAAA;AAGlE,IAAMM,2BAA2BhC,eAAAA,OAAOC,OAAO;EAC7CgC,MAAMjC,eAAAA,OAAOsB,QAAQ,UAAA;EACrBY,IAAI/B,aAAAA,KAAKM,IAAI0B,6BAAAA;AACf,CAAA;AAEA,IAAMC,2BAA2BpC,eAAAA,OAAOC,OAAO;EAC7CgC,MAAMjC,eAAAA,OAAOsB,QAAQ,UAAA;EACrBe,UAAUlC,aAAAA,KAAKM,IAAI6B,6BAAAA;AACrB,CAAA;AAEA,IAAMC,sBAAsBvC,eAAAA,OAAOC,OAAO;EACxCgC,MAAMjC,eAAAA,OAAOsB,QAAQ,KAAA;;;;EAKrBkB,WAAWxC,eAAAA,OAAOM,SAASN,eAAAA,OAAOO,MAAM;;;;EAKxCkC,QAAQzC,eAAAA,OAAOM,SAASN,eAAAA,OAAO0C,GAAG;;;;EAKlCC,eAAe3C,eAAAA,OAAOM,SAASyB,gBAAAA;AACjC,CAAA;AAEA,IAAMa,mBAAmB5C,eAAAA,OAAOyB,MAAMO,0BAA0BI,0BAA0BG,mBAAAA;AAGnF,IAAMM,cAAN,kBAA0BC,gCAAY;EAC3CjC,UAAU;EACVC,SAAS;AACX,CAAA,EAAG;EACDiC,WAAW/C,eAAAA,OAAOO;EAClBF,MAAML,eAAAA,OAAOM,SAASN,eAAAA,OAAOO,MAAM;EACnCyC,aAAahD,eAAAA,OAAOM,SAASN,eAAAA,OAAOO,MAAM;EAC1C0C,UAAUjD,eAAAA,OAAOM,SAASN,eAAAA,OAAOO,MAAM;EACvC2C,SAASlD,eAAAA,OAAOM,SAASN,eAAAA,OAAOmD,OAAO;;;;EAKvCC,YAAYpD,eAAAA,OAAOM,SAASN,eAAAA,OAAOqD,MAAMT,gBAAAA,CAAAA;AAC3C,CAAA,EAAA;AAAI;AAeG,IAAMU,gBAAwC;EACnDC,SAAS;EACTC,QAAQ;EACRC,aAAa;EACbC,WAAW;EACXC,eAAe;EACfC,UAAU;EACVC,QAAQ;EACRC,WAAW;EACXC,SAAS;AACX;AClGO,IAAKC,oBAAAA,yBAAAA,oBAAAA;;;;;;;;;SAAAA;;AAWL,IAAMC,sBAAsBjE,eAAAA,OAAOkE,QACxClE,eAAAA,OAAOC,OAAO;EACZI,MAAML,eAAAA,OAAOO;EACbc,MAAMrB,eAAAA,OAAOM,SAASN,eAAAA,OAAOmE,MAAMH,iBAAAA,CAAAA;EACnCI,OAAOpE,eAAAA,OAAOM,SAASN,eAAAA,OAAOO,MAAM;AACtC,CAAA,CAAA;AAKK,IAAM8D,gBAAgB;EAAC;EAAU;EAAmB;EAAiB;;AAGrE,IAAMC,qBAAqBtE,eAAAA,OAAOyB,MACvCzB,eAAAA,OAAOC,OAAO;EACZsE,SAASvE,eAAAA,OAAOsB,QAAQ,QAAA;AAC1B,CAAA,GACAtB,eAAAA,OAAOC,OAAO;EACZsE,SAASvE,eAAAA,OAAOsB,QAAQ,iBAAA;EACxBT,UAAUb,eAAAA,OAAOO;AACnB,CAAA,GACAP,eAAAA,OAAOC,OAAO;EACZsE,SAASvE,eAAAA,OAAOsB,QAAQ,eAAA;EACxB0B,aAAahD,eAAAA,OAAOO;AACtB,CAAA,GACAP,eAAAA,OAAOC,OAAO;EACZsE,SAASvE,eAAAA,OAAOsB,QAAQ,QAAA;AAC1B,CAAA,CAAA;AAIK,IAAMkD,eAAN,kBAA2B1B,oBAAAA,aAAY;EAC5CjC,UAAU;EACVC,SAAS;AACX,CAAA,EAAG;EACDT,MAAML,eAAAA,OAAOM,SAASN,eAAAA,OAAOO,MAAM;EACnC0B,MAAMjC,eAAAA,OAAOkE,QAAQI,kBAAAA;EACrBrD,QAAQjB,eAAAA,OAAOO;EACfkE,QAAQzE,eAAAA,OAAOM,SAASN,eAAAA,OAAOkE,QAAQlE,eAAAA,OAAOqD,MAAMY,mBAAAA,CAAAA,CAAAA;EACpDS,SAAS1E,eAAAA,OAAOM,SAASN,eAAAA,OAAOO,MAAM;AACxC,CAAA,EAAA;AAAI;UChDaoE,kBAAAA;AACf,QAAMC,mBAAmB,GAAGC,sCAAAA;EAErB,MAAMC,mBAAmB9E,eAAAA,OAAO+E,YAAW,EAAe,GAAGH,gBAAAA,gBAAgC;IAClGI,OAAOhF,eAAAA,OAAOC,OAAO;MACnBgF,OAAOC;MACP7E,MAAML,eAAAA,OAAOM,SAASN,eAAAA,OAAOO,MAAM;IACrC,CAAA;IACA4E,QAAQnF,eAAAA,OAAOC,OAAO;MACpBmF,QAAQrF;IACV,CAAA;EACF,CAAA,EAAA;EAAI;mBARS+E,aAAAA;EAUN,MAAMO,wBAAwBrF,eAAAA,OAAO+E,YAAW,EAAoB,GAAGH,gBAAAA,qBAAqC;IACjHI,OAAOhF,eAAAA,OAAOC,OAAO;MACnBI,MAAML,eAAAA,OAAOM,SAASN,eAAAA,OAAOO,MAAM;IACrC,CAAA;IACA4E,QAAQnF,eAAAA,OAAOC,OAAO;MACpBmF,QAAQE;IACV,CAAA;EACF,CAAA,EAAA;EAAI;mBAPSD,kBAAAA;AAQf,GArBiBV,oBAAAA,kBAAAA,CAAAA,EAAAA;AAuBV,IAAMY,gBAAgB;EAAC;EAAQ;EAAU;;AAEzC,IAAMC,0BAA0BxF,eAAAA,OAAOkE,QAC5ClE,eAAAA,OAAOC,OAAO;EACZwF,aAAazF,eAAAA,OAAOM,SAASN,eAAAA,OAAOsB,QAAO,GAAIiE,aAAAA,CAAAA;EAC/CG,WAAW1F,eAAAA,OAAOM,SAASN,eAAAA,OAAOO,MAAM;EACxCoF,aAAa3F,eAAAA,OAAOM,SAASN,eAAAA,OAAOO,MAAM;EAC1CqF,eAAe5F,eAAAA,OAAOM,SAASN,eAAAA,OAAOO,MAAM;EAC5CsF,eAAe7F,eAAAA,OAAOM,SAASN,eAAAA,OAAOmD,OAAO;AAC/C,CAAA,CAAA;;",
6
+ "names": ["import_echo", "import_effect", "import_echo_schema", "AIChatType", "Schema", "Struct", "id", "Type", "ObjectId", "name", "optional", "String", "queue", "Ref", "Queue", "pipe", "Obj", "typename", "version", "CompanionTo", "Relation", "source", "target", "Expando", "ApiAuthorizationKey", "type", "Literal", "key", "placement", "Union", "ApiAuthorizationOauth", "clientId", "clientSecret", "tokenUrl", "grantType", "ApiAuthorization", "ServiceInterfaceFunction", "kind", "fn", "FunctionType", "ServiceInterfaceWorkflow", "workflow", "ComputeGraph", "ServiceInterfaceApi", "schemaUrl", "schema", "Any", "authorization", "ServiceInterface", "ServiceType", "TypedObject", "serviceId", "description", "category", "enabled", "Boolean", "interfaces", "Array", "categoryIcons", "finance", "health", "geolocation", "education", "entertainment", "shopping", "travel", "utilities", "weather", "TemplateInputType", "TemplateInputSchema", "mutable", "Enums", "value", "TemplateKinds", "TemplateKindSchema", "include", "TemplateType", "inputs", "command", "AssistantAction", "ASSISTANT_ACTION", "ASSISTANT_PLUGIN", "CreateChat", "TaggedClass", "input", "space", "SpaceSchema", "output", "object", "CreateBlueprint", "Blueprint", "LLM_PROVIDERS", "AssistantSettingsSchema", "llmProvider", "edgeModel", "ollamaModel", "lmstudioModel", "customPrompts"]
7
+ }
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var chunk_BGRQNE3L_exports = {};
30
+ __export(chunk_BGRQNE3L_exports, {
31
+ AiClient: () => AiClient,
32
+ AppGraphBuilder: () => AppGraphBuilder,
33
+ IntentResolver: () => IntentResolver,
34
+ ReactSurface: () => ReactSurface,
35
+ Settings: () => Settings
36
+ });
37
+ module.exports = __toCommonJS(chunk_BGRQNE3L_exports);
38
+ var import_app_framework = require("@dxos/app-framework");
39
+ var AiClient = (0, import_app_framework.lazy)(() => import("./ai-client-3XNIFMJX.cjs"));
40
+ var AppGraphBuilder = (0, import_app_framework.lazy)(() => import("./app-graph-builder-VEPLBTML.cjs"));
41
+ var IntentResolver = (0, import_app_framework.lazy)(() => import("./intent-resolver-SDO4YKJK.cjs"));
42
+ var ReactSurface = (0, import_app_framework.lazy)(() => import("./react-surface-FANQXIRI.cjs"));
43
+ var Settings = (0, import_app_framework.lazy)(() => import("./settings-PXPIPYJN.cjs"));
44
+ // Annotate the CommonJS export names for ESM import in node:
45
+ 0 && (module.exports = {
46
+ AiClient,
47
+ AppGraphBuilder,
48
+ IntentResolver,
49
+ ReactSurface,
50
+ Settings
51
+ });
52
+ //# sourceMappingURL=chunk-BGRQNE3L.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const AiClient = lazy(() => import('./ai-client'));\nexport const AppGraphBuilder = lazy(() => import('./app-graph-builder'));\nexport const IntentResolver = lazy(() => import('./intent-resolver'));\nexport const ReactSurface = lazy(() => import('./react-surface'));\nexport const Settings = lazy(() => import('./settings'));\n\nexport * from './capabilities';\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAAqB;AAEd,IAAMA,eAAWC,2BAAK,MAAM,OAAO,0BAAA,CAAA;AACnC,IAAMC,sBAAkBD,2BAAK,MAAM,OAAO,kCAAA,CAAA;AAC1C,IAAME,qBAAiBF,2BAAK,MAAM,OAAO,gCAAA,CAAA;AACzC,IAAMG,mBAAeH,2BAAK,MAAM,OAAO,8BAAA,CAAA;AACvC,IAAMI,eAAWJ,2BAAK,MAAM,OAAO,yBAAA,CAAA;",
6
+ "names": ["AiClient", "lazy", "AppGraphBuilder", "IntentResolver", "ReactSurface", "Settings"]
7
+ }
@@ -26,17 +26,17 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var chunk_BWL5A3O5_exports = {};
30
- __export(chunk_BWL5A3O5_exports, {
29
+ var chunk_DXBAFX6M_exports = {};
30
+ __export(chunk_DXBAFX6M_exports, {
31
31
  AssistantDialog: () => AssistantDialog,
32
32
  AssistantSettings: () => AssistantSettings,
33
- BlueprintEditor: () => BlueprintEditor,
33
+ BlueprintContainer: () => BlueprintContainer,
34
34
  ChatContainer: () => ChatContainer,
35
35
  PromptSettings: () => PromptSettings,
36
36
  TemplateContainer: () => TemplateContainer
37
37
  });
38
- module.exports = __toCommonJS(chunk_BWL5A3O5_exports);
39
- var import_chunk_UNVDZOLA = require("./chunk-UNVDZOLA.cjs");
38
+ module.exports = __toCommonJS(chunk_DXBAFX6M_exports);
39
+ var import_chunk_7TQAIKE2 = require("./chunk-7TQAIKE2.cjs");
40
40
  var import_chunk_P74TWGMG = require("./chunk-P74TWGMG.cjs");
41
41
  var import_tracking = require("@preact-signals/safe-react/tracking");
42
42
  var import_react = __toESM(require("react"));
@@ -75,7 +75,7 @@ var AssistantSettings = ({ settings }) => {
75
75
  placeholder: t("settings llm provider label")
76
76
  }), /* @__PURE__ */ import_react.default.createElement(import_react_ui.Select.Portal, null, /* @__PURE__ */ import_react.default.createElement(import_react_ui.Select.Content, null, /* @__PURE__ */ import_react.default.createElement(import_react_ui.Select.Viewport, null, /* @__PURE__ */ import_react.default.createElement(import_react_ui.Select.Option, {
77
77
  value: DEFAULT_VALUE
78
- }, t("settings default label")), import_chunk_UNVDZOLA.LLM_PROVIDERS.map((model) => /* @__PURE__ */ import_react.default.createElement(import_react_ui.Select.Option, {
78
+ }, t("settings default label")), import_chunk_7TQAIKE2.LLM_PROVIDERS.map((model) => /* @__PURE__ */ import_react.default.createElement(import_react_ui.Select.Option, {
79
79
  key: model,
80
80
  value: model
81
81
  }, LLM_PROVIDER_LABELS[model]))))))), /* @__PURE__ */ import_react.default.createElement(import_react_ui_form.DeprecatedFormInput, {
@@ -152,7 +152,7 @@ var PromptSettings = ({ template }) => {
152
152
  onValueChange: handleKindChange
153
153
  }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Toolbar.Button, {
154
154
  asChild: true
155
- }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Select.TriggerButton, null)), /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Select.Portal, null, /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Select.Content, null, /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Select.Viewport, null, import_chunk_UNVDZOLA.TemplateKinds.map((kind) => /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Select.Option, {
155
+ }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Select.TriggerButton, null)), /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Select.Portal, null, /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Select.Content, null, /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Select.Viewport, null, import_chunk_7TQAIKE2.TemplateKinds.map((kind) => /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Select.Option, {
156
156
  key: kind,
157
157
  value: kind
158
158
  }, kind)))))), template.kind.include === "schema-matching" && /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Input.Root, null, /* @__PURE__ */ import_react2.default.createElement(import_react_ui2.Input.TextInput, {
@@ -168,17 +168,17 @@ var PromptSettings = ({ template }) => {
168
168
  _effect.f();
169
169
  }
170
170
  };
171
- var AssistantDialog = (0, import_react3.lazy)(() => import("./AssistantDialog-RTB5Q7FP.cjs"));
172
- var BlueprintEditor = (0, import_react3.lazy)(() => import("./BlueprintEditor-43VM3XPO.cjs"));
173
- var ChatContainer = (0, import_react3.lazy)(() => import("./ChatContainer-P3JL4VZ7.cjs"));
174
- var TemplateContainer = (0, import_react3.lazy)(() => import("./TemplateContainer-CTG2MB4W.cjs"));
171
+ var AssistantDialog = (0, import_react3.lazy)(() => import("./AssistantDialog-B5YKJOAF.cjs"));
172
+ var BlueprintContainer = (0, import_react3.lazy)(() => import("./BlueprintContainer-VD6EIWH7.cjs"));
173
+ var ChatContainer = (0, import_react3.lazy)(() => import("./ChatContainer-WFLTSAFA.cjs"));
174
+ var TemplateContainer = (0, import_react3.lazy)(() => import("./TemplateContainer-JZF2DCCG.cjs"));
175
175
  // Annotate the CommonJS export names for ESM import in node:
176
176
  0 && (module.exports = {
177
177
  AssistantDialog,
178
178
  AssistantSettings,
179
- BlueprintEditor,
179
+ BlueprintContainer,
180
180
  ChatContainer,
181
181
  PromptSettings,
182
182
  TemplateContainer
183
183
  });
184
- //# sourceMappingURL=chunk-BWL5A3O5.cjs.map
184
+ //# sourceMappingURL=chunk-DXBAFX6M.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/AssistantSettings/AssistantSettings.tsx", "../../../src/components/PromptSettings.tsx", "../../../src/components/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { DEFAULT_EDGE_MODELS, DEFAULT_OLLAMA_MODELS } from '@dxos/ai';\nimport { Input, Select, useTranslation } from '@dxos/react-ui';\nimport { DeprecatedFormContainer, DeprecatedFormInput } from '@dxos/react-ui-form';\n\nimport { ASSISTANT_PLUGIN } from '../../meta';\nimport { LLM_PROVIDERS, type AssistantSettingsProps } from '../../types';\n\n// TODO(burdon): Factor out default Selector.\nconst DEFAULT_VALUE = '__default';\n\nconst LLM_PROVIDER_LABELS = {\n edge: 'DXOS',\n ollama: 'Ollama',\n lmstudio: 'LM Studio',\n} as const;\n\nexport const AssistantSettings = ({ settings }: { settings: AssistantSettingsProps }) => {\n const { t } = useTranslation(ASSISTANT_PLUGIN);\n\n return (\n <DeprecatedFormContainer>\n <DeprecatedFormInput label={t('settings custom prompts label')}>\n <Input.Switch\n checked={!!settings.customPrompts}\n onCheckedChange={(checked) => (settings.customPrompts = checked)}\n />\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings llm provider label')}>\n <Select.Root\n value={settings.llmProvider ?? 'edge'}\n onValueChange={(value) => {\n settings.llmProvider = value === DEFAULT_VALUE ? undefined : (value as any);\n }}\n >\n <Select.TriggerButton placeholder={t('settings llm provider label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n <Select.Option value={DEFAULT_VALUE}>{t('settings default label')}</Select.Option>\n {LLM_PROVIDERS.map((model) => (\n <Select.Option key={model} value={model}>\n {LLM_PROVIDER_LABELS[model]}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings edge llm model label')}>\n <Select.Root\n value={settings.edgeModel ?? DEFAULT_VALUE}\n onValueChange={(value) => {\n settings.edgeModel = value === DEFAULT_VALUE ? undefined : value;\n }}\n >\n <Select.TriggerButton placeholder={t('settings default llm model label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n <Select.Option value={DEFAULT_VALUE}>{t('settings default label')}</Select.Option>\n {DEFAULT_EDGE_MODELS.map((model) => (\n <Select.Option key={model} value={model}>\n {model}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings ollama llm model label')}>\n <Select.Root\n value={settings.ollamaModel ?? DEFAULT_VALUE}\n onValueChange={(value) => {\n settings.ollamaModel = value === DEFAULT_VALUE ? undefined : value;\n }}\n >\n <Select.TriggerButton placeholder={t('settings default llm model label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n <Select.Option value={DEFAULT_VALUE}>{t('settings default label')}</Select.Option>\n {DEFAULT_OLLAMA_MODELS.map((model) => (\n <Select.Option key={model} value={model}>\n {model}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n </DeprecatedFormContainer>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Match, type Schema } from 'effect';\nimport React, { type ChangeEvent, useCallback } from 'react';\n\nimport { debounce } from '@dxos/async';\nimport { Input, Select, Toolbar, useTranslation } from '@dxos/react-ui';\n\nimport { ASSISTANT_PLUGIN } from '../meta';\nimport { TemplateKinds, type TemplateType, type TemplateKindSchema } from '../types';\n\nexport const PromptSettings = ({ template }: { template: TemplateType }) => {\n const { t } = useTranslation(ASSISTANT_PLUGIN);\n\n const handleKindChange = useCallback(\n (value: string) => {\n const kind = Match.type<string>().pipe(\n Match.withReturnType<Schema.Schema.Type<typeof TemplateKindSchema>>(),\n Match.when('always', () => ({ include: 'always' })),\n Match.when('schema-matching', () => ({ include: 'schema-matching', typename: '' })),\n Match.when('automatically', () => ({ include: 'automatically', description: '' })),\n Match.orElse(() => ({ include: 'manual' })),\n )(value);\n\n template.kind = kind;\n },\n [template],\n );\n\n const handleTypenameChange = useCallback(\n debounce((event: ChangeEvent<HTMLInputElement>) => {\n if (template.kind.include === 'schema-matching') {\n template.kind.typename = event.target.value;\n }\n }, 300),\n [template.kind.include],\n );\n\n const handleDescriptionChange = useCallback(\n debounce((event: ChangeEvent<HTMLInputElement>) => {\n if (template.kind.include === 'automatically') {\n template.kind.description = event.target.value;\n }\n }, 300),\n [template.kind.include],\n );\n\n return (\n <div className='p-2 flex flex-col gap-4'>\n <h2>{t('prompt rules label')}</h2>\n <Toolbar.Root>\n <Select.Root value={template.kind.include} onValueChange={handleKindChange}>\n <Toolbar.Button asChild>\n <Select.TriggerButton />\n </Toolbar.Button>\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {TemplateKinds.map((kind) => (\n <Select.Option key={kind} value={kind}>\n {kind}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n {template.kind.include === 'schema-matching' && (\n <Input.Root>\n <Input.TextInput\n placeholder={t('typename placeholder')}\n defaultValue={template.kind.typename}\n onChange={handleTypenameChange}\n />\n </Input.Root>\n )}\n {template.kind.include === 'automatically' && (\n <Input.Root>\n <Input.TextInput\n placeholder={t('description placeholder')}\n defaultValue={template.kind.description}\n onChange={handleDescriptionChange}\n />\n </Input.Root>\n )}\n </Toolbar.Root>\n </div>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport * from './AmbientDialog';\nexport * from './AssistantSettings';\nexport * from './Prompt';\nexport * from './PromptSettings';\nexport * from './TemplateEditor';\nexport * from './Thread';\nexport * from './Toolbox';\n\n// TODO(burdon): Lazy loading causes issues with Tabster.\n// Repro: open assistant dialog then close.\n// https://github.com/microsoft/fluentui/issues/34020\nexport const AssistantDialog = lazy(() => import('./AssistantDialog'));\nexport const BlueprintEditor = lazy(() => import('./BlueprintEditor'));\nexport const ChatContainer = lazy(() => import('./ChatContainer'));\nexport const TemplateContainer = lazy(() => import('./TemplateContainer'));\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,mBAAkB;AAElB,gBAA2D;AAC3D,sBAA8C;AAC9C,2BAA6D;;ACJ7D,oBAAmC;AACnC,IAAAA,gBAAqD;AAErD,mBAAyB;AACzB,IAAAC,mBAAuD;ACJvD,IAAAD,gBAAqB;AFUrB,IAAME,gBAAgB;AAEtB,IAAMC,sBAAsB;EAC1BC,MAAM;EACNC,QAAQ;EACRC,UAAU;AACZ;AAEO,IAAMC,oBAAoB,CAAC,EAAEC,SAAQ,MAAwC;;;AAClF,UAAM,EAAEC,EAAC,QAAKC,gCAAeC,sCAAAA;AAE7B,WACE,6BAAAC,QAAA,cAACC,8CAAAA,MACC,6BAAAD,QAAA,cAACE,0CAAAA;MAAoBC,OAAON,EAAE,+BAAA;OAC5B,6BAAAG,QAAA,cAACI,sBAAMC,QAAM;MACXC,SAAS,CAAC,CAACV,SAASW;MACpBC,iBAAiB,CAACF,YAAaV,SAASW,gBAAgBD;SAI5D,6BAAAN,QAAA,cAACE,0CAAAA;MAAoBC,OAAON,EAAE,6BAAA;OAC5B,6BAAAG,QAAA,cAACS,uBAAOC,MAAI;MACVC,OAAOf,SAASgB,eAAe;MAC/BC,eAAe,CAACF,UAAAA;AACdf,iBAASgB,cAAcD,UAAUrB,gBAAgBwB,SAAaH;MAChE;OAEA,6BAAAX,QAAA,cAACS,uBAAOM,eAAa;MAACC,aAAanB,EAAE,6BAAA;QACrC,6BAAAG,QAAA,cAACS,uBAAOQ,QAAM,MACZ,6BAAAjB,QAAA,cAACS,uBAAOS,SAAO,MACb,6BAAAlB,QAAA,cAACS,uBAAOU,UAAQ,MACd,6BAAAnB,QAAA,cAACS,uBAAOW,QAAM;MAACT,OAAOrB;OAAgBO,EAAE,wBAAA,CAAA,GACvCwB,oCAAcC,IAAI,CAACC,UAClB,6BAAAvB,QAAA,cAACS,uBAAOW,QAAM;MAACI,KAAKD;MAAOZ,OAAOY;OAC/BhC,oBAAoBgC,KAAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GASzC,6BAAAvB,QAAA,cAACE,0CAAAA;MAAoBC,OAAON,EAAE,+BAAA;OAC5B,6BAAAG,QAAA,cAACS,uBAAOC,MAAI;MACVC,OAAOf,SAAS6B,aAAanC;MAC7BuB,eAAe,CAACF,UAAAA;AACdf,iBAAS6B,YAAYd,UAAUrB,gBAAgBwB,SAAYH;MAC7D;OAEA,6BAAAX,QAAA,cAACS,uBAAOM,eAAa;MAACC,aAAanB,EAAE,kCAAA;QACrC,6BAAAG,QAAA,cAACS,uBAAOQ,QAAM,MACZ,6BAAAjB,QAAA,cAACS,uBAAOS,SAAO,MACb,6BAAAlB,QAAA,cAACS,uBAAOU,UAAQ,MACd,6BAAAnB,QAAA,cAACS,uBAAOW,QAAM;MAACT,OAAOrB;OAAgBO,EAAE,wBAAA,CAAA,GACvC6B,8BAAoBJ,IAAI,CAACC,UACxB,6BAAAvB,QAAA,cAACS,uBAAOW,QAAM;MAACI,KAAKD;MAAOZ,OAAOY;OAC/BA,KAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GASf,6BAAAvB,QAAA,cAACE,0CAAAA;MAAoBC,OAAON,EAAE,iCAAA;OAC5B,6BAAAG,QAAA,cAACS,uBAAOC,MAAI;MACVC,OAAOf,SAAS+B,eAAerC;MAC/BuB,eAAe,CAACF,UAAAA;AACdf,iBAAS+B,cAAchB,UAAUrB,gBAAgBwB,SAAYH;MAC/D;OAEA,6BAAAX,QAAA,cAACS,uBAAOM,eAAa;MAACC,aAAanB,EAAE,kCAAA;QACrC,6BAAAG,QAAA,cAACS,uBAAOQ,QAAM,MACZ,6BAAAjB,QAAA,cAACS,uBAAOS,SAAO,MACb,6BAAAlB,QAAA,cAACS,uBAAOU,UAAQ,MACd,6BAAAnB,QAAA,cAACS,uBAAOW,QAAM;MAACT,OAAOrB;OAAgBO,EAAE,wBAAA,CAAA,GACvC+B,gCAAsBN,IAAI,CAACC,UAC1B,6BAAAvB,QAAA,cAACS,uBAAOW,QAAM;MAACI,KAAKD;MAAOZ,OAAOY;OAC/BA,KAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;;;;AAUrB;AC3FO,IAAMM,iBAAiB,CAAC,EAAEC,SAAQ,MAA8B;;;AACrE,UAAM,EAAEjC,EAAC,QAAKC,iBAAAA,gBAAeC,sCAAAA;AAE7B,UAAMgC,uBAAmBC,2BACvB,CAACrB,UAAAA;AACC,YAAMsB,OAAOC,oBAAMC,KAAI,EAAWC,KAChCF,oBAAMG,eAAc,GACpBH,oBAAMI,KAAK,UAAU,OAAO;QAAEC,SAAS;MAAS,EAAA,GAChDL,oBAAMI,KAAK,mBAAmB,OAAO;QAAEC,SAAS;QAAmBC,UAAU;MAAG,EAAA,GAChFN,oBAAMI,KAAK,iBAAiB,OAAO;QAAEC,SAAS;QAAiBE,aAAa;MAAG,EAAA,GAC/EP,oBAAMQ,OAAO,OAAO;QAAEH,SAAS;MAAS,EAAA,CAAA,EACxC5B,KAAAA;AAEFmB,eAASG,OAAOA;IAClB,GACA;MAACH;KAAS;AAGZ,UAAMa,2BAAuBX,+BAC3BY,uBAAS,CAACC,UAAAA;AACR,UAAIf,SAASG,KAAKM,YAAY,mBAAmB;AAC/CT,iBAASG,KAAKO,WAAWK,MAAMC,OAAOnC;MACxC;IACF,GAAG,GAAA,GACH;MAACmB,SAASG,KAAKM;KAAQ;AAGzB,UAAMQ,8BAA0Bf,+BAC9BY,uBAAS,CAACC,UAAAA;AACR,UAAIf,SAASG,KAAKM,YAAY,iBAAiB;AAC7CT,iBAASG,KAAKQ,cAAcI,MAAMC,OAAOnC;MAC3C;IACF,GAAG,GAAA,GACH;MAACmB,SAASG,KAAKM;KAAQ;AAGzB,WACEvC,8BAAAA,QAAA,cAACgD,OAAAA;MAAIC,WAAU;OACbjD,8BAAAA,QAAA,cAACkD,MAAAA,MAAIrD,EAAE,oBAAA,CAAA,GACPG,8BAAAA,QAAA,cAACmD,yBAAQzC,MAAI,MACXV,8BAAAA,QAAA,cAACS,iBAAAA,OAAOC,MAAI;MAACC,OAAOmB,SAASG,KAAKM;MAAS1B,eAAekB;OACxD/B,8BAAAA,QAAA,cAACmD,yBAAQC,QAAM;MAACC,SAAAA;OACdrD,8BAAAA,QAAA,cAACS,iBAAAA,OAAOM,eAAa,IAAA,CAAA,GAEvBf,8BAAAA,QAAA,cAACS,iBAAAA,OAAOQ,QAAM,MACZjB,8BAAAA,QAAA,cAACS,iBAAAA,OAAOS,SAAO,MACblB,8BAAAA,QAAA,cAACS,iBAAAA,OAAOU,UAAQ,MACbmC,oCAAchC,IAAI,CAACW,SAClBjC,8BAAAA,QAAA,cAACS,iBAAAA,OAAOW,QAAM;MAACI,KAAKS;MAAMtB,OAAOsB;OAC9BA,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAOZH,SAASG,KAAKM,YAAY,qBACzBvC,8BAAAA,QAAA,cAACI,iBAAAA,MAAMM,MAAI,MACTV,8BAAAA,QAAA,cAACI,iBAAAA,MAAMmD,WAAS;MACdvC,aAAanB,EAAE,sBAAA;MACf2D,cAAc1B,SAASG,KAAKO;MAC5BiB,UAAUd;SAIfb,SAASG,KAAKM,YAAY,mBACzBvC,8BAAAA,QAAA,cAACI,iBAAAA,MAAMM,MAAI,MACTV,8BAAAA,QAAA,cAACI,iBAAAA,MAAMmD,WAAS;MACdvC,aAAanB,EAAE,yBAAA;MACf2D,cAAc1B,SAASG,KAAKQ;MAC5BgB,UAAUV;;;;;AAOxB;ACzEO,IAAMW,sBAAkBC,oBAAK,MAAM,OAAO,gCAAA,CAAA;AAC1C,IAAMC,sBAAkBD,oBAAK,MAAM,OAAO,gCAAA,CAAA;AAC1C,IAAME,oBAAgBF,oBAAK,MAAM,OAAO,8BAAA,CAAA;AACxC,IAAMG,wBAAoBH,oBAAK,MAAM,OAAO,kCAAA,CAAA;",
6
- "names": ["import_react", "import_react_ui", "DEFAULT_VALUE", "LLM_PROVIDER_LABELS", "edge", "ollama", "lmstudio", "AssistantSettings", "settings", "t", "useTranslation", "ASSISTANT_PLUGIN", "React", "DeprecatedFormContainer", "DeprecatedFormInput", "label", "Input", "Switch", "checked", "customPrompts", "onCheckedChange", "Select", "Root", "value", "llmProvider", "onValueChange", "undefined", "TriggerButton", "placeholder", "Portal", "Content", "Viewport", "Option", "LLM_PROVIDERS", "map", "model", "key", "edgeModel", "DEFAULT_EDGE_MODELS", "ollamaModel", "DEFAULT_OLLAMA_MODELS", "PromptSettings", "template", "handleKindChange", "useCallback", "kind", "Match", "type", "pipe", "withReturnType", "when", "include", "typename", "description", "orElse", "handleTypenameChange", "debounce", "event", "target", "handleDescriptionChange", "div", "className", "h2", "Toolbar", "Button", "asChild", "TemplateKinds", "TextInput", "defaultValue", "onChange", "AssistantDialog", "lazy", "BlueprintEditor", "ChatContainer", "TemplateContainer"]
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { DEFAULT_EDGE_MODELS, DEFAULT_OLLAMA_MODELS } from '@dxos/ai';\nimport { Input, Select, useTranslation } from '@dxos/react-ui';\nimport { DeprecatedFormContainer, DeprecatedFormInput } from '@dxos/react-ui-form';\n\nimport { ASSISTANT_PLUGIN } from '../../meta';\nimport { LLM_PROVIDERS, type AssistantSettingsProps } from '../../types';\n\n// TODO(burdon): Factor out default Selector.\nconst DEFAULT_VALUE = '__default';\n\nconst LLM_PROVIDER_LABELS = {\n edge: 'DXOS',\n ollama: 'Ollama',\n lmstudio: 'LM Studio',\n} as const;\n\nexport const AssistantSettings = ({ settings }: { settings: AssistantSettingsProps }) => {\n const { t } = useTranslation(ASSISTANT_PLUGIN);\n\n return (\n <DeprecatedFormContainer>\n <DeprecatedFormInput label={t('settings custom prompts label')}>\n <Input.Switch\n checked={!!settings.customPrompts}\n onCheckedChange={(checked) => (settings.customPrompts = checked)}\n />\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings llm provider label')}>\n <Select.Root\n value={settings.llmProvider ?? 'edge'}\n onValueChange={(value) => {\n settings.llmProvider = value === DEFAULT_VALUE ? undefined : (value as any);\n }}\n >\n <Select.TriggerButton placeholder={t('settings llm provider label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n <Select.Option value={DEFAULT_VALUE}>{t('settings default label')}</Select.Option>\n {LLM_PROVIDERS.map((model) => (\n <Select.Option key={model} value={model}>\n {LLM_PROVIDER_LABELS[model]}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings edge llm model label')}>\n <Select.Root\n value={settings.edgeModel ?? DEFAULT_VALUE}\n onValueChange={(value) => {\n settings.edgeModel = value === DEFAULT_VALUE ? undefined : value;\n }}\n >\n <Select.TriggerButton placeholder={t('settings default llm model label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n <Select.Option value={DEFAULT_VALUE}>{t('settings default label')}</Select.Option>\n {DEFAULT_EDGE_MODELS.map((model) => (\n <Select.Option key={model} value={model}>\n {model}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings ollama llm model label')}>\n <Select.Root\n value={settings.ollamaModel ?? DEFAULT_VALUE}\n onValueChange={(value) => {\n settings.ollamaModel = value === DEFAULT_VALUE ? undefined : value;\n }}\n >\n <Select.TriggerButton placeholder={t('settings default llm model label')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n <Select.Option value={DEFAULT_VALUE}>{t('settings default label')}</Select.Option>\n {DEFAULT_OLLAMA_MODELS.map((model) => (\n <Select.Option key={model} value={model}>\n {model}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n </DeprecatedFormContainer>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Match, type Schema } from 'effect';\nimport React, { type ChangeEvent, useCallback } from 'react';\n\nimport { debounce } from '@dxos/async';\nimport { Input, Select, Toolbar, useTranslation } from '@dxos/react-ui';\n\nimport { ASSISTANT_PLUGIN } from '../meta';\nimport { TemplateKinds, type TemplateType, type TemplateKindSchema } from '../types';\n\nexport const PromptSettings = ({ template }: { template: TemplateType }) => {\n const { t } = useTranslation(ASSISTANT_PLUGIN);\n\n const handleKindChange = useCallback(\n (value: string) => {\n const kind = Match.type<string>().pipe(\n Match.withReturnType<Schema.Schema.Type<typeof TemplateKindSchema>>(),\n Match.when('always', () => ({ include: 'always' })),\n Match.when('schema-matching', () => ({ include: 'schema-matching', typename: '' })),\n Match.when('automatically', () => ({ include: 'automatically', description: '' })),\n Match.orElse(() => ({ include: 'manual' })),\n )(value);\n\n template.kind = kind;\n },\n [template],\n );\n\n const handleTypenameChange = useCallback(\n debounce((event: ChangeEvent<HTMLInputElement>) => {\n if (template.kind.include === 'schema-matching') {\n template.kind.typename = event.target.value;\n }\n }, 300),\n [template.kind.include],\n );\n\n const handleDescriptionChange = useCallback(\n debounce((event: ChangeEvent<HTMLInputElement>) => {\n if (template.kind.include === 'automatically') {\n template.kind.description = event.target.value;\n }\n }, 300),\n [template.kind.include],\n );\n\n return (\n <div className='p-2 flex flex-col gap-4'>\n <h2>{t('prompt rules label')}</h2>\n <Toolbar.Root>\n <Select.Root value={template.kind.include} onValueChange={handleKindChange}>\n <Toolbar.Button asChild>\n <Select.TriggerButton />\n </Toolbar.Button>\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {TemplateKinds.map((kind) => (\n <Select.Option key={kind} value={kind}>\n {kind}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n {template.kind.include === 'schema-matching' && (\n <Input.Root>\n <Input.TextInput\n placeholder={t('typename placeholder')}\n defaultValue={template.kind.typename}\n onChange={handleTypenameChange}\n />\n </Input.Root>\n )}\n {template.kind.include === 'automatically' && (\n <Input.Root>\n <Input.TextInput\n placeholder={t('description placeholder')}\n defaultValue={template.kind.description}\n onChange={handleDescriptionChange}\n />\n </Input.Root>\n )}\n </Toolbar.Root>\n </div>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport * from './AmbientDialog';\nexport * from './AssistantSettings';\nexport * from './Prompt';\nexport * from './PromptSettings';\nexport * from './TemplateEditor';\nexport * from './Thread';\nexport * from './Toolbox';\n\n// TODO(burdon): Lazy loading causes issues with Tabster.\n// Repro: open assistant dialog then close.\n// https://github.com/microsoft/fluentui/issues/34020\nexport const AssistantDialog = lazy(() => import('./AssistantDialog'));\nexport const BlueprintContainer = lazy(() => import('./BlueprintContainer'));\nexport const ChatContainer = lazy(() => import('./ChatContainer'));\nexport const TemplateContainer = lazy(() => import('./TemplateContainer'));\n"],
5
+ "mappings": "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",
6
+ "names": ["import_react", "import_react_ui", "DEFAULT_VALUE", "LLM_PROVIDER_LABELS", "edge", "ollama", "lmstudio", "AssistantSettings", "settings", "t", "useTranslation", "ASSISTANT_PLUGIN", "React", "DeprecatedFormContainer", "DeprecatedFormInput", "label", "Input", "Switch", "checked", "customPrompts", "onCheckedChange", "Select", "Root", "value", "llmProvider", "onValueChange", "undefined", "TriggerButton", "placeholder", "Portal", "Content", "Viewport", "Option", "LLM_PROVIDERS", "map", "model", "key", "edgeModel", "DEFAULT_EDGE_MODELS", "ollamaModel", "DEFAULT_OLLAMA_MODELS", "PromptSettings", "template", "handleKindChange", "useCallback", "kind", "Match", "type", "pipe", "withReturnType", "when", "include", "typename", "description", "orElse", "handleTypenameChange", "debounce", "event", "target", "handleDescriptionChange", "div", "className", "h2", "Toolbar", "Button", "asChild", "TemplateKinds", "TextInput", "defaultValue", "onChange", "AssistantDialog", "lazy", "BlueprintContainer", "ChatContainer", "TemplateContainer"]
7
7
  }