@dxos/plugin-assistant 0.8.4-staging.60fe92afc8 → 0.9.1-main.c7dcc2e112

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 (254) hide show
  1. package/dist/lib/neutral/{AgentArticle-K7XM46OQ.mjs → AgentArticle-2BEPWUMN.mjs} +9 -7
  2. package/dist/lib/neutral/AgentArticle-2BEPWUMN.mjs.map +7 -0
  3. package/dist/lib/neutral/AssistantPlugin.mjs +1 -1
  4. package/dist/lib/neutral/{AssistantSettings-GG52BLKS.mjs → AssistantSettings-7ALY4BMS.mjs} +3 -3
  5. package/dist/lib/neutral/AssistantSettings-7ALY4BMS.mjs.map +7 -0
  6. package/dist/lib/neutral/{ChatArticle-VNVZCDUR.mjs → ChatArticle-KT46SUFU.mjs} +2 -2
  7. package/dist/lib/neutral/{ChatCompanion-LBUHYWQG.mjs → ChatCompanion-YHC43RYQ.mjs} +4 -4
  8. package/dist/lib/neutral/ChatCompanion-YHC43RYQ.mjs.map +7 -0
  9. package/dist/lib/neutral/{ChatDialog-DCA6FLOV.mjs → ChatDialog-YZDZLIQA.mjs} +5 -4
  10. package/dist/lib/neutral/ChatDialog-YZDZLIQA.mjs.map +7 -0
  11. package/dist/lib/neutral/{PlanArticle-TS5ULWYS.mjs → PlanArticle-VPK2IYWU.mjs} +8 -2
  12. package/dist/lib/neutral/PlanArticle-VPK2IYWU.mjs.map +7 -0
  13. package/dist/lib/neutral/{RoutineArticle-5NYXHRG6.mjs → RoutineArticle-FK5BXQN5.mjs} +3 -3
  14. package/dist/lib/neutral/RoutineArticle-FK5BXQN5.mjs.map +7 -0
  15. package/dist/lib/neutral/SpaceHomePrompt-HTWQKLGI.mjs +113 -0
  16. package/dist/lib/neutral/SpaceHomePrompt-HTWQKLGI.mjs.map +7 -0
  17. package/dist/lib/neutral/SpaceHomeSuggestions-6G4E7GNJ.mjs +50 -0
  18. package/dist/lib/neutral/SpaceHomeSuggestions-6G4E7GNJ.mjs.map +7 -0
  19. package/dist/lib/neutral/TracePanel-T552TAOH.mjs +12 -0
  20. package/dist/lib/neutral/TracePanel-T552TAOH.mjs.map +7 -0
  21. package/dist/lib/neutral/{TriggerStatus-X7Y5JFZJ.mjs → TriggerStatus-RBOHHDOK.mjs} +3 -3
  22. package/dist/lib/neutral/TriggerStatus-RBOHHDOK.mjs.map +7 -0
  23. package/dist/lib/neutral/{agent-service-WCAP5MLI.mjs → agent-service-WV5CSHAG.mjs} +4 -2
  24. package/dist/lib/neutral/{agent-service-WCAP5MLI.mjs.map → agent-service-WV5CSHAG.mjs.map} +3 -3
  25. package/dist/lib/neutral/{app-graph-builder-WUFHQH3Y.mjs → app-graph-builder-PTSRZXRN.mjs} +13 -13
  26. package/dist/lib/neutral/app-graph-builder-PTSRZXRN.mjs.map +7 -0
  27. package/dist/lib/neutral/{blueprint-definition-MH2QLYQH.mjs → blueprint-definition-2XPYI35X.mjs} +4 -3
  28. package/dist/lib/neutral/blueprint-definition-2XPYI35X.mjs.map +7 -0
  29. package/dist/lib/neutral/capabilities/index.mjs +8 -8
  30. package/dist/lib/neutral/capabilities/index.mjs.map +2 -2
  31. package/dist/lib/neutral/{chunk-HLANPOBA.mjs → chunk-35EL65O4.mjs} +3 -3
  32. package/dist/lib/neutral/chunk-35EL65O4.mjs.map +7 -0
  33. package/dist/lib/neutral/chunk-54W7N6M6.mjs +445 -0
  34. package/dist/lib/neutral/chunk-54W7N6M6.mjs.map +7 -0
  35. package/dist/lib/neutral/{chunk-YXRGZYYH.mjs → chunk-5KB2WRI2.mjs} +6 -6
  36. package/dist/lib/neutral/chunk-5KB2WRI2.mjs.map +7 -0
  37. package/dist/lib/neutral/{TracePanel-KTZJ6JNR.mjs → chunk-5LKNH7FD.mjs} +5 -20
  38. package/dist/lib/neutral/chunk-5LKNH7FD.mjs.map +7 -0
  39. package/dist/lib/neutral/{chunk-SMFJD7BP.mjs → chunk-7FQT4XMI.mjs} +2 -2
  40. package/dist/lib/neutral/{chunk-RKVVK3R3.mjs → chunk-H77JTXAN.mjs} +17 -9
  41. package/dist/lib/neutral/chunk-H77JTXAN.mjs.map +7 -0
  42. package/dist/lib/neutral/{chunk-QAZMOFPI.mjs → chunk-IQZJ5TTM.mjs} +4 -4
  43. package/dist/lib/neutral/chunk-IQZJ5TTM.mjs.map +7 -0
  44. package/dist/lib/neutral/chunk-ZNDQVYUN.mjs +53 -0
  45. package/dist/lib/neutral/chunk-ZNDQVYUN.mjs.map +7 -0
  46. package/dist/lib/neutral/components/index.mjs +296 -109
  47. package/dist/lib/neutral/components/index.mjs.map +3 -3
  48. package/dist/lib/neutral/containers/index.mjs +12 -8
  49. package/dist/lib/neutral/containers/index.mjs.map +3 -3
  50. package/dist/lib/neutral/{create-chat-SGGQ6HVN.mjs → create-chat-Z3FNA6OJ.mjs} +2 -2
  51. package/dist/lib/neutral/{create-chat-SGGQ6HVN.mjs.map → create-chat-Z3FNA6OJ.mjs.map} +2 -2
  52. package/dist/lib/neutral/{create-object-U2SOFZLR.mjs → create-object-BJUDDKQQ.mjs} +2 -2
  53. package/dist/lib/neutral/execution-graph/index.mjs +156 -0
  54. package/dist/lib/neutral/execution-graph/index.mjs.map +4 -4
  55. package/dist/lib/neutral/{fork-chat-34KEF4ZJ.mjs → fork-chat-UYXYT6BT.mjs} +4 -4
  56. package/dist/lib/neutral/fork-chat-UYXYT6BT.mjs.map +7 -0
  57. package/dist/lib/neutral/hooks/index.mjs +233 -438
  58. package/dist/lib/neutral/hooks/index.mjs.map +4 -4
  59. package/dist/lib/neutral/index.mjs +3 -3
  60. package/dist/lib/neutral/markdown-extension-IJ5RQMQ4.mjs +126 -0
  61. package/dist/lib/neutral/markdown-extension-IJ5RQMQ4.mjs.map +7 -0
  62. package/dist/lib/neutral/meta.json +1 -1
  63. package/dist/lib/neutral/meta.mjs +1 -1
  64. package/dist/lib/neutral/operations/index.mjs +1 -1
  65. package/dist/lib/neutral/plugin.mjs +2 -2
  66. package/dist/lib/neutral/{react-surface-XRTBW5OJ.mjs → react-surface-ES7UHZ65.mjs} +29 -17
  67. package/dist/lib/neutral/react-surface-ES7UHZ65.mjs.map +7 -0
  68. package/dist/lib/neutral/{run-prompt-in-new-chat-D5IIE2C7.mjs → run-prompt-in-new-chat-NIAGCKQV.mjs} +11 -8
  69. package/dist/lib/neutral/run-prompt-in-new-chat-NIAGCKQV.mjs.map +7 -0
  70. package/dist/lib/neutral/{settings-W4BLWQ53.mjs → settings-7Q3RITIT.mjs} +3 -3
  71. package/dist/lib/neutral/{settings-W4BLWQ53.mjs.map → settings-7Q3RITIT.mjs.map} +3 -3
  72. package/dist/lib/neutral/{state-H3G7QCU6.mjs → state-XO2UYSSG.mjs} +2 -2
  73. package/dist/lib/neutral/{state-H3G7QCU6.mjs.map → state-XO2UYSSG.mjs.map} +3 -3
  74. package/dist/lib/neutral/testing.mjs +1 -1
  75. package/dist/lib/neutral/translations.mjs +18 -11
  76. package/dist/lib/neutral/translations.mjs.map +3 -3
  77. package/dist/lib/neutral/types/index.mjs +1 -1
  78. package/dist/types/dx.config.d.ts +28 -0
  79. package/dist/types/dx.config.d.ts.map +1 -0
  80. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  81. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
  82. package/dist/types/src/capabilities/index.d.ts +17 -57
  83. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  84. package/dist/types/src/capabilities/react-surface.d.ts +2 -2
  85. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  86. package/dist/types/src/components/Chat/Chat.d.ts +6 -3
  87. package/dist/types/src/components/Chat/Chat.d.ts.map +1 -1
  88. package/dist/types/src/components/Chat/Chat.stories.d.ts +32 -0
  89. package/dist/types/src/components/Chat/Chat.stories.d.ts.map +1 -0
  90. package/dist/types/src/components/ChatPrompt/ChatActions.d.ts.map +1 -1
  91. package/dist/types/src/components/ChatPrompt/ChatOptions.d.ts.map +1 -1
  92. package/dist/types/src/components/ProcessTree/ProcessTree.d.ts +6 -0
  93. package/dist/types/src/components/ProcessTree/ProcessTree.d.ts.map +1 -1
  94. package/dist/types/src/components/ProcessTree/ProcessTree.stories.d.ts +1 -0
  95. package/dist/types/src/components/ProcessTree/ProcessTree.stories.d.ts.map +1 -1
  96. package/dist/types/src/components/TaskList/TaskList.d.ts +8 -0
  97. package/dist/types/src/components/TaskList/TaskList.d.ts.map +1 -1
  98. package/dist/types/src/components/TaskList/TaskList.stories.d.ts +3 -0
  99. package/dist/types/src/components/TaskList/TaskList.stories.d.ts.map +1 -1
  100. package/dist/types/src/components/index.d.ts +1 -0
  101. package/dist/types/src/components/index.d.ts.map +1 -1
  102. package/dist/types/src/containers/ChatArticle/ChatArticle.d.ts +2 -2
  103. package/dist/types/src/containers/ChatArticle/ChatArticle.d.ts.map +1 -1
  104. package/dist/types/src/containers/ChatCompanion/ChatCompanion.d.ts +2 -2
  105. package/dist/types/src/containers/ChatDialog/ChatDialog.d.ts.map +1 -1
  106. package/dist/types/src/containers/PlanArticle/PlanArticle.d.ts.map +1 -1
  107. package/dist/types/src/containers/SpaceHomePrompt/SpaceHomePrompt.d.ts +15 -0
  108. package/dist/types/src/containers/SpaceHomePrompt/SpaceHomePrompt.d.ts.map +1 -0
  109. package/dist/types/src/containers/SpaceHomePrompt/index.d.ts +2 -0
  110. package/dist/types/src/containers/SpaceHomePrompt/index.d.ts.map +1 -0
  111. package/dist/types/src/containers/SpaceHomeSuggestions/SpaceHomeSuggestions.d.ts +13 -0
  112. package/dist/types/src/containers/SpaceHomeSuggestions/SpaceHomeSuggestions.d.ts.map +1 -0
  113. package/dist/types/src/containers/SpaceHomeSuggestions/index.d.ts +2 -0
  114. package/dist/types/src/containers/SpaceHomeSuggestions/index.d.ts.map +1 -0
  115. package/dist/types/src/containers/TracePanel/TracePanel.d.ts.map +1 -1
  116. package/dist/types/src/containers/index.d.ts +2 -0
  117. package/dist/types/src/containers/index.d.ts.map +1 -1
  118. package/dist/types/src/execution-graph/execution-graph.d.ts +18 -0
  119. package/dist/types/src/execution-graph/execution-graph.d.ts.map +1 -1
  120. package/dist/types/src/execution-graph/index.d.ts +2 -1
  121. package/dist/types/src/execution-graph/index.d.ts.map +1 -1
  122. package/dist/types/src/execution-graph/pending-block-status.d.ts +26 -0
  123. package/dist/types/src/execution-graph/pending-block-status.d.ts.map +1 -0
  124. package/dist/types/src/execution-graph/pending-block-status.test.d.ts +2 -0
  125. package/dist/types/src/execution-graph/pending-block-status.test.d.ts.map +1 -0
  126. package/dist/types/src/extensions/prompt-extension.d.ts +1 -1
  127. package/dist/types/src/extensions/prompt-extension.d.ts.map +1 -1
  128. package/dist/types/src/feed-logger.d.ts +3 -2
  129. package/dist/types/src/feed-logger.d.ts.map +1 -1
  130. package/dist/types/src/hooks/index.d.ts +2 -0
  131. package/dist/types/src/hooks/index.d.ts.map +1 -1
  132. package/dist/types/src/hooks/useProcessEphemeralStatus.d.ts +10 -0
  133. package/dist/types/src/hooks/useProcessEphemeralStatus.d.ts.map +1 -0
  134. package/dist/types/src/hooks/useTraceMessages.d.ts +12 -0
  135. package/dist/types/src/hooks/useTraceMessages.d.ts.map +1 -0
  136. package/dist/types/src/meta.d.ts +28 -2
  137. package/dist/types/src/meta.d.ts.map +1 -1
  138. package/dist/types/src/operations/run-prompt-in-new-chat.d.ts.map +1 -1
  139. package/dist/types/src/paths.d.ts.map +1 -1
  140. package/dist/types/src/processor/processor.d.ts +23 -0
  141. package/dist/types/src/processor/processor.d.ts.map +1 -1
  142. package/dist/types/src/translations.d.ts.map +1 -1
  143. package/dist/types/src/types/Assistant.d.ts +1 -1
  144. package/dist/types/src/types/AssistantCapabilities.d.ts.map +1 -1
  145. package/dist/types/src/types/AssistantEvents.d.ts.map +1 -1
  146. package/dist/types/src/types/AssistantOperation.d.ts +7 -7
  147. package/dist/types/src/util/error-cause.d.ts +3 -0
  148. package/dist/types/src/util/error-cause.d.ts.map +1 -0
  149. package/dist/types/tsconfig.tsbuildinfo +1 -1
  150. package/dx.config.ts +38 -0
  151. package/package.json +71 -70
  152. package/src/AssistantPlugin.conversations.json +1 -1
  153. package/src/AssistantPlugin.test.ts +1 -1
  154. package/src/AssistantPlugin.ts +2 -2
  155. package/src/capabilities/agent-service.ts +5 -1
  156. package/src/capabilities/app-graph-builder.ts +15 -20
  157. package/src/capabilities/blueprint-definition.ts +2 -0
  158. package/src/capabilities/index.ts +1 -7
  159. package/src/capabilities/markdown-extension.ts +5 -1
  160. package/src/capabilities/react-surface.tsx +38 -23
  161. package/src/capabilities/settings.ts +2 -2
  162. package/src/capabilities/state.ts +1 -1
  163. package/src/components/AgentProperties/AgentProperties.tsx +1 -1
  164. package/src/components/AssistantSettings/AssistantSettings.tsx +2 -2
  165. package/src/components/Chat/Chat.stories.tsx +94 -0
  166. package/src/components/Chat/Chat.tsx +39 -6
  167. package/src/components/ChatPrompt/ChatActions.tsx +4 -2
  168. package/src/components/ChatPrompt/ChatMcpErrors.tsx +1 -1
  169. package/src/components/ChatPrompt/ChatOptions.tsx +26 -29
  170. package/src/components/ChatPrompt/ChatPrompt.tsx +1 -1
  171. package/src/components/ChatPrompt/ChatReferences.tsx +1 -1
  172. package/src/components/ChatThread/Anchor.stories.tsx +1 -1
  173. package/src/components/ChatThread/ChatThread.stories.tsx +1 -1
  174. package/src/components/ChatThread/DEBUG.md +23 -0
  175. package/src/components/ChatThread/widgets/SummaryWidget.tsx +1 -1
  176. package/src/components/ChatThread/widgets/ToolWidget.tsx +1 -1
  177. package/src/components/ProcessTree/ProcessTree.stories.tsx +7 -0
  178. package/src/components/ProcessTree/ProcessTree.tsx +191 -88
  179. package/src/components/TaskList/TaskList.stories.tsx +23 -2
  180. package/src/components/TaskList/TaskList.tsx +122 -28
  181. package/src/components/TemplateEditor/TemplateEditor.tsx +1 -1
  182. package/src/components/TemplateEditor/TemplateForm.tsx +1 -1
  183. package/src/components/ToolBlock/ToolBlock.tsx +1 -1
  184. package/src/components/index.ts +1 -0
  185. package/src/containers/AgentArticle/AgentArticle.stories.tsx +4 -4
  186. package/src/containers/AgentArticle/AgentArticle.tsx +9 -9
  187. package/src/containers/ChatArticle/ChatArticle.tsx +18 -10
  188. package/src/containers/ChatCompanion/ChatCompanion.tsx +2 -2
  189. package/src/containers/ChatDialog/ChatDialog.tsx +5 -3
  190. package/src/containers/PlanArticle/PlanArticle.tsx +5 -1
  191. package/src/containers/RoutineArticle/RoutineArticle.tsx +2 -2
  192. package/src/containers/SpaceHomePrompt/SpaceHomePrompt.tsx +105 -0
  193. package/src/containers/SpaceHomePrompt/index.ts +5 -0
  194. package/src/containers/SpaceHomeSuggestions/SpaceHomeSuggestions.tsx +69 -0
  195. package/src/containers/SpaceHomeSuggestions/index.ts +5 -0
  196. package/src/containers/TracePanel/TracePanel.tsx +3 -30
  197. package/src/containers/TriggerStatus/TriggerStatus.tsx +2 -2
  198. package/src/containers/index.ts +2 -0
  199. package/src/execution-graph/execution-graph.ts +130 -0
  200. package/src/execution-graph/index.ts +10 -0
  201. package/src/execution-graph/pending-block-status.test.ts +114 -0
  202. package/src/execution-graph/pending-block-status.ts +88 -0
  203. package/src/execution-graph/sub-agent-delegation.test.ts +16 -1
  204. package/src/extensions/prompt-extension.ts +102 -73
  205. package/src/feed-logger.ts +21 -19
  206. package/src/hooks/index.ts +2 -0
  207. package/src/hooks/useChatProcessor.ts +1 -1
  208. package/src/hooks/useChatServices.ts +2 -2
  209. package/src/hooks/useChatToolbarActions.ts +5 -5
  210. package/src/hooks/useContextBinder.ts +1 -1
  211. package/src/hooks/useProcessEphemeralStatus.ts +192 -0
  212. package/src/hooks/useTraceMessages.ts +41 -0
  213. package/src/meta.ts +3 -31
  214. package/src/operations/create-chat.ts +1 -1
  215. package/src/operations/fork-chat.ts +3 -3
  216. package/src/operations/run-prompt-in-new-chat.ts +5 -3
  217. package/src/paths.ts +2 -2
  218. package/src/processor/processor.node.test.ts +71 -1
  219. package/src/processor/processor.ts +58 -2
  220. package/src/testing/data/trace-timeline-multiple.dx.json +1 -1
  221. package/src/testing/data/trace-timeline-remote.dx.json +1 -1
  222. package/src/testing/data/trace-timeline.dx.json +0 -1
  223. package/src/translations.ts +18 -10
  224. package/src/types/AssistantCapabilities.ts +3 -3
  225. package/src/types/AssistantEvents.ts +1 -1
  226. package/src/types/AssistantOperation.ts +1 -1
  227. package/src/util/error-cause.ts +21 -0
  228. package/dist/lib/neutral/AgentArticle-K7XM46OQ.mjs.map +0 -7
  229. package/dist/lib/neutral/AssistantSettings-GG52BLKS.mjs.map +0 -7
  230. package/dist/lib/neutral/ChatCompanion-LBUHYWQG.mjs.map +0 -7
  231. package/dist/lib/neutral/ChatDialog-DCA6FLOV.mjs.map +0 -7
  232. package/dist/lib/neutral/PlanArticle-TS5ULWYS.mjs.map +0 -7
  233. package/dist/lib/neutral/RoutineArticle-5NYXHRG6.mjs.map +0 -7
  234. package/dist/lib/neutral/TracePanel-KTZJ6JNR.mjs.map +0 -7
  235. package/dist/lib/neutral/TriggerStatus-X7Y5JFZJ.mjs.map +0 -7
  236. package/dist/lib/neutral/app-graph-builder-WUFHQH3Y.mjs.map +0 -7
  237. package/dist/lib/neutral/blueprint-definition-MH2QLYQH.mjs.map +0 -7
  238. package/dist/lib/neutral/chunk-HLANPOBA.mjs.map +0 -7
  239. package/dist/lib/neutral/chunk-QAZMOFPI.mjs.map +0 -7
  240. package/dist/lib/neutral/chunk-RKVVK3R3.mjs.map +0 -7
  241. package/dist/lib/neutral/chunk-VTK5R4H3.mjs +0 -9
  242. package/dist/lib/neutral/chunk-VTK5R4H3.mjs.map +0 -7
  243. package/dist/lib/neutral/chunk-XYHPOGTK.mjs +0 -43
  244. package/dist/lib/neutral/chunk-XYHPOGTK.mjs.map +0 -7
  245. package/dist/lib/neutral/chunk-YXRGZYYH.mjs.map +0 -7
  246. package/dist/lib/neutral/fork-chat-34KEF4ZJ.mjs.map +0 -7
  247. package/dist/lib/neutral/markdown-extension-YMIFDMYF.mjs +0 -110
  248. package/dist/lib/neutral/markdown-extension-YMIFDMYF.mjs.map +0 -7
  249. package/dist/lib/neutral/react-surface-XRTBW5OJ.mjs.map +0 -7
  250. package/dist/lib/neutral/run-prompt-in-new-chat-D5IIE2C7.mjs.map +0 -7
  251. package/src/testing/trace-timeline.node.conversations.json +0 -1
  252. /package/dist/lib/neutral/{ChatArticle-VNVZCDUR.mjs.map → ChatArticle-KT46SUFU.mjs.map} +0 -0
  253. /package/dist/lib/neutral/{chunk-SMFJD7BP.mjs.map → chunk-7FQT4XMI.mjs.map} +0 -0
  254. /package/dist/lib/neutral/{create-object-U2SOFZLR.mjs.map → create-object-BJUDDKQQ.mjs.map} +0 -0
@@ -2,7 +2,7 @@ import {
2
2
  ASSISTANT_COMPANION_VARIANT,
3
3
  ASSISTANT_DIALOG,
4
4
  meta
5
- } from "./chunk-XYHPOGTK.mjs";
5
+ } from "./chunk-ZNDQVYUN.mjs";
6
6
  import "./chunk-J5LGTIGS.mjs";
7
7
  export {
8
8
  ASSISTANT_COMPANION_VARIANT,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  AssistantOperationHandlerSet
3
- } from "../chunk-SMFJD7BP.mjs";
3
+ } from "../chunk-7FQT4XMI.mjs";
4
4
  import "../chunk-J5LGTIGS.mjs";
5
5
  export {
6
6
  AssistantOperationHandlerSet
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  AssistantOperationHandlerSet
3
- } from "./chunk-SMFJD7BP.mjs";
3
+ } from "./chunk-7FQT4XMI.mjs";
4
4
  import {
5
5
  meta
6
- } from "./chunk-XYHPOGTK.mjs";
6
+ } from "./chunk-ZNDQVYUN.mjs";
7
7
  import "./chunk-J5LGTIGS.mjs";
8
8
 
9
9
  // src/plugin.ts
@@ -13,15 +13,17 @@ import { Sequence } from "@dxos/conductor";
13
13
  import { InvocationTraceContainer } from "@dxos/devtools";
14
14
  import { Feed, Obj } from "@dxos/echo";
15
15
  import { log } from "@dxos/log";
16
+ import { SpaceHomeContent, SpaceHomePinBottom } from "@dxos/plugin-space";
17
+ import { Prompts } from "@dxos/plugin-space";
16
18
  import { Panel } from "@dxos/react-ui";
17
19
  import { AssistantSettings } from "#components";
18
- import { BlueprintArticle, ChatCompanion, ChatArticle, ChatDialog, AgentArticle, AgentProperties, PlanArticle, RoutineArticle, RoutineList, TracePanel, TriggerStatus } from "#containers";
20
+ import { BlueprintArticle, ChatCompanion, ChatArticle, ChatDialog, AgentArticle, AgentProperties, PlanArticle, RoutineArticle, RoutineList, SpaceHomePrompt, SpaceHomeSuggestions, TracePanel, TriggerStatus } from "#containers";
19
21
  import { ASSISTANT_COMPANION_VARIANT, ASSISTANT_DIALOG, meta } from "#meta";
20
22
  var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-assistant/src/capabilities/react-surface.tsx";
21
23
  var react_surface_default = Capability.makeModule(() => Effect.succeed(Capability.contributes(Capabilities.ReactSurface, [
22
24
  Surface.create({
23
25
  id: "pluginSettings",
24
- filter: AppSurface.settings(AppSurface.Article, meta.id),
26
+ filter: AppSurface.settings(AppSurface.Article, meta.profile.key),
25
27
  component: ({ data: { subject } }) => {
26
28
  const { settings, updateSettings } = useSettingsState(subject.atom);
27
29
  return /* @__PURE__ */ React.createElement(AssistantSettings, {
@@ -30,10 +32,24 @@ var react_surface_default = Capability.makeModule(() => Effect.succeed(Capabilit
30
32
  });
31
33
  }
32
34
  }),
35
+ Surface.create({
36
+ id: "spaceHomePrompt",
37
+ filter: Surface.makeFilter(SpaceHomePinBottom),
38
+ component: ({ data }) => /* @__PURE__ */ React.createElement(SpaceHomePrompt, {
39
+ space: data.space
40
+ })
41
+ }),
42
+ Surface.create({
43
+ id: "spaceHomeSuggestions",
44
+ filter: Surface.makeFilter(SpaceHomeContent),
45
+ position: "last",
46
+ component: ({ data }) => /* @__PURE__ */ React.createElement(SpaceHomeSuggestions, {
47
+ space: data.space
48
+ })
49
+ }),
33
50
  Surface.create({
34
51
  id: "chat",
35
- role: "article",
36
- filter: (data) => typeof data.attendableId === "string" && Obj.instanceOf(Chat.Chat, data.subject) && data.variant !== ASSISTANT_COMPANION_VARIANT,
52
+ filter: AppSurface.object(AppSurface.Article, Chat.Chat, (data) => data.variant !== ASSISTANT_COMPANION_VARIANT),
37
53
  component: ({ data, role, ref }) => {
38
54
  return /* @__PURE__ */ React.createElement(ChatArticle, {
39
55
  role,
@@ -53,7 +69,7 @@ var react_surface_default = Capability.makeModule(() => Effect.succeed(Capabilit
53
69
  })
54
70
  }),
55
71
  Surface.create({
56
- id: "agentProperties",
72
+ id: "objectProperties",
57
73
  filter: AppSurface.object(AppSurface.ObjectProperties, Agent.Agent),
58
74
  component: ({ data }) => /* @__PURE__ */ React.createElement(AgentProperties, {
59
75
  subject: data.subject
@@ -61,8 +77,7 @@ var react_surface_default = Capability.makeModule(() => Effect.succeed(Capabilit
61
77
  }),
62
78
  Surface.create({
63
79
  id: "companionChat",
64
- role: "article",
65
- filter: (data) => typeof data.attendableId === "string" && Obj.isObject(data.companionTo) && (Obj.instanceOf(Chat.Chat, data.subject) || data.subject === null),
80
+ filter: Surface.makeFilter(AppSurface.Article, (data) => Obj.isObject(data.companionTo) && (Obj.instanceOf(Chat.Chat, data.subject) || data.subject === null)),
66
81
  component: ({ data: { subject, attendableId, companionTo }, role, ref }) => /* @__PURE__ */ React.createElement(ChatCompanion, {
67
82
  role,
68
83
  subject,
@@ -73,8 +88,7 @@ var react_surface_default = Capability.makeModule(() => Effect.succeed(Capabilit
73
88
  }),
74
89
  Surface.create({
75
90
  id: "companionInvocations",
76
- role: "article",
77
- filter: (data) => (Obj.instanceOf(Sequence.Sequence, data.companionTo) || Obj.instanceOf(Routine.Routine, data.companionTo)) && data.subject === "invocations",
91
+ filter: AppSurface.allOf(AppSurface.literal(AppSurface.Article, "invocations"), AppSurface.oneOf(AppSurface.companion(AppSurface.Article, Sequence.Sequence), AppSurface.companion(AppSurface.Article, Routine.Routine))),
78
92
  component: ({ data, role }) => {
79
93
  const space = getSpace(data.companionTo);
80
94
  const feed = space?.properties.invocationTraceFeed?.target;
@@ -83,9 +97,7 @@ var react_surface_default = Capability.makeModule(() => Effect.succeed(Capabilit
83
97
  return /* @__PURE__ */ React.createElement(Panel.Root, {
84
98
  role,
85
99
  className: "dx-document"
86
- }, /* @__PURE__ */ React.createElement(Panel.Content, {
87
- asChild: true
88
- }, /* @__PURE__ */ React.createElement(InvocationTraceContainer, {
100
+ }, /* @__PURE__ */ React.createElement(Panel.Content, null, /* @__PURE__ */ React.createElement(InvocationTraceContainer, {
89
101
  db: space?.db,
90
102
  feedDXN,
91
103
  target,
@@ -127,14 +139,14 @@ var react_surface_default = Capability.makeModule(() => Effect.succeed(Capabilit
127
139
  }),
128
140
  Surface.create({
129
141
  id: "trace",
130
- filter: AppSurface.literal(Surface.makeType("deck-companion--trace"), "trace"),
142
+ filter: Surface.makeFilter(AppSurface.deckCompanion("trace")),
131
143
  component: () => {
132
144
  const space = useActiveSpace();
133
145
  useEffect(() => {
134
146
  log("trace panel surface", {
135
147
  hasSpace: Boolean(space),
136
148
  spaceId: space?.id
137
- }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 134, S: void 0 });
149
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 146, S: void 0 });
138
150
  }, [
139
151
  space?.id
140
152
  ]);
@@ -148,7 +160,7 @@ var react_surface_default = Capability.makeModule(() => Effect.succeed(Capabilit
148
160
  }),
149
161
  Surface.create({
150
162
  id: "triggerStatus",
151
- role: "status-indicator",
163
+ filter: Surface.makeFilter(AppSurface.StatusIndicator),
152
164
  component: () => {
153
165
  const space = useActiveSpace();
154
166
  if (!space) {
@@ -162,7 +174,7 @@ var react_surface_default = Capability.makeModule(() => Effect.succeed(Capabilit
162
174
  }),
163
175
  Surface.create({
164
176
  id: "prompts",
165
- filter: AppSurface.subject(Surface.makeType("prompts"), Obj.isObject),
177
+ filter: AppSurface.subject(Prompts, Obj.isObject),
166
178
  component: ({ data }) => /* @__PURE__ */ React.createElement(RoutineList, {
167
179
  subject: data.subject
168
180
  })
@@ -171,4 +183,4 @@ var react_surface_default = Capability.makeModule(() => Effect.succeed(Capabilit
171
183
  export {
172
184
  react_surface_default as default
173
185
  };
174
- //# sourceMappingURL=react-surface-XRTBW5OJ.mjs.map
186
+ //# sourceMappingURL=react-surface-ES7UHZ65.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/react-surface.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport React, { type ComponentProps, useEffect } from 'react';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { Surface, useSettingsState } from '@dxos/app-framework/ui';\nimport { AppSurface, useActiveSpace } from '@dxos/app-toolkit/ui';\nimport { Chat, Agent, Plan } from '@dxos/assistant-toolkit';\nimport { getSpace } from '@dxos/client/echo';\nimport { Blueprint, Routine } from '@dxos/compute';\nimport { Sequence } from '@dxos/conductor';\nimport { InvocationTraceContainer } from '@dxos/devtools';\nimport { Feed, Obj } from '@dxos/echo';\nimport { log } from '@dxos/log';\nimport { SpaceHomeContent, SpaceHomePinBottom } from '@dxos/plugin-space';\nimport { Prompts } from '@dxos/plugin-space';\nimport { Panel } from '@dxos/react-ui';\n\nimport { AssistantSettings } from '#components';\nimport {\n BlueprintArticle,\n ChatCompanion,\n ChatArticle,\n ChatDialog,\n AgentArticle,\n AgentProperties,\n PlanArticle,\n RoutineArticle,\n RoutineList,\n SpaceHomePrompt,\n SpaceHomeSuggestions,\n TracePanel,\n TriggerStatus,\n} from '#containers';\nimport { ASSISTANT_COMPANION_VARIANT, ASSISTANT_DIALOG, meta } from '#meta';\nimport { type Assistant } from '#types';\n\nexport default Capability.makeModule(() =>\n Effect.succeed(\n Capability.contributes(Capabilities.ReactSurface, [\n Surface.create({\n id: 'pluginSettings',\n filter: AppSurface.settings(AppSurface.Article, meta.profile.key),\n component: ({ data: { subject } }) => {\n const { settings, updateSettings } = useSettingsState<Assistant.Settings>(subject.atom);\n return <AssistantSettings settings={settings} onSettingsChange={updateSettings} />;\n },\n }),\n Surface.create({\n id: 'spaceHomePrompt',\n filter: Surface.makeFilter(SpaceHomePinBottom),\n component: ({ data }) => <SpaceHomePrompt space={data.space} />,\n }),\n Surface.create({\n id: 'spaceHomeSuggestions',\n filter: Surface.makeFilter(SpaceHomeContent),\n position: 'last',\n component: ({ data }) => <SpaceHomeSuggestions space={data.space} />,\n }),\n Surface.create({\n id: 'chat',\n filter: AppSurface.object(\n AppSurface.Article,\n Chat.Chat,\n (data) => data.variant !== ASSISTANT_COMPANION_VARIANT,\n ),\n component: ({ data, role, ref }) => {\n return <ChatArticle role={role} subject={data.subject} attendableId={data.attendableId} ref={ref} />;\n },\n }),\n Surface.create({\n id: 'agent',\n filter: AppSurface.object(AppSurface.Article, Agent.Agent),\n component: ({ data, role }) => (\n <AgentArticle role={role} subject={data.subject} attendableId={data.attendableId} />\n ),\n }),\n Surface.create({\n id: 'objectProperties',\n filter: AppSurface.object(AppSurface.ObjectProperties, Agent.Agent),\n component: ({ data }) => <AgentProperties subject={data.subject} />,\n }),\n Surface.create({\n id: 'companionChat',\n filter: Surface.makeFilter(\n AppSurface.Article,\n (data) =>\n Obj.isObject(data.companionTo) && (Obj.instanceOf(Chat.Chat, data.subject) || data.subject === null),\n ),\n component: ({ data: { subject, attendableId, companionTo }, role, ref }) => (\n <ChatCompanion\n role={role}\n subject={subject}\n attendableId={attendableId}\n companionTo={companionTo}\n ref={ref}\n />\n ),\n }),\n Surface.create({\n id: 'companionInvocations',\n filter: AppSurface.allOf(\n AppSurface.literal(AppSurface.Article, 'invocations'),\n AppSurface.oneOf(\n AppSurface.companion(AppSurface.Article, Sequence.Sequence),\n AppSurface.companion(AppSurface.Article, Routine.Routine),\n ),\n ),\n component: ({ data, role }) => {\n const space = getSpace(data.companionTo);\n const feed = space?.properties.invocationTraceFeed?.target;\n const feedDXN = feed ? Feed.getQueueUri(feed) : undefined;\n // TODO(wittjosiah): Support invocation filtering for prompts.\n const target = Obj.instanceOf(Routine.Routine, data.companionTo) ? undefined : data.companionTo;\n\n return (\n <Panel.Root role={role} className='dx-document'>\n <Panel.Content>\n <InvocationTraceContainer db={space?.db} feedDXN={feedDXN} target={target} detailAxis='block' />\n </Panel.Content>\n </Panel.Root>\n );\n },\n }),\n Surface.create({\n id: 'blueprint',\n filter: AppSurface.object(AppSurface.Article, Blueprint.Blueprint),\n component: ({ data, role }) => (\n <BlueprintArticle role={role} subject={data.subject} attendableId={data.attendableId} />\n ),\n }),\n Surface.create({\n id: 'prompt',\n filter: AppSurface.object(AppSurface.Article, Routine.Routine),\n component: ({ data, role }) => (\n <RoutineArticle role={role} subject={data.subject} attendableId={data.attendableId} />\n ),\n }),\n Surface.create({\n id: 'plan',\n filter: AppSurface.object(AppSurface.Article, Plan.Plan),\n component: ({ data, role }) => (\n <PlanArticle role={role} subject={data.subject} attendableId={data.attendableId} />\n ),\n }),\n Surface.create({\n id: ASSISTANT_DIALOG,\n filter: AppSurface.component<ComponentProps<typeof ChatDialog>>(AppSurface.Dialog, ASSISTANT_DIALOG),\n component: ({ data }) => <ChatDialog {...data.props} />,\n }),\n Surface.create({\n id: 'trace',\n filter: Surface.makeFilter(AppSurface.deckCompanion('trace')),\n component: () => {\n const space = useActiveSpace();\n useEffect(() => {\n log('trace panel surface', { hasSpace: Boolean(space), spaceId: space?.id });\n }, [space?.id]);\n\n if (!space) {\n return null;\n }\n\n return <TracePanel space={space} />;\n },\n }),\n Surface.create({\n id: 'triggerStatus',\n filter: Surface.makeFilter(AppSurface.StatusIndicator),\n component: () => {\n const space = useActiveSpace();\n if (!space) {\n return null;\n }\n\n return <TriggerStatus role='status-indicator' space={space} />;\n },\n }),\n Surface.create({\n id: 'prompts',\n filter: AppSurface.subject(Prompts, Obj.isObject),\n component: ({ data }) => <RoutineList subject={data.subject} />,\n }),\n ]),\n ),\n);\n"],
5
+ "mappings": "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",
6
+ "names": ["Effect", "React", "useEffect", "Capabilities", "Capability", "Surface", "useSettingsState", "AppSurface", "useActiveSpace", "Chat", "Agent", "Plan", "getSpace", "Blueprint", "Routine", "Sequence", "InvocationTraceContainer", "Feed", "Obj", "log", "SpaceHomeContent", "SpaceHomePinBottom", "Prompts", "Panel", "AssistantSettings", "BlueprintArticle", "ChatCompanion", "ChatArticle", "ChatDialog", "AgentArticle", "AgentProperties", "PlanArticle", "RoutineArticle", "RoutineList", "SpaceHomePrompt", "SpaceHomeSuggestions", "TracePanel", "TriggerStatus", "ASSISTANT_COMPANION_VARIANT", "ASSISTANT_DIALOG", "meta", "id", "filter", "component", "settings", "updateSettings", "subject", "onSettingsChange", "space", "data", "create", "position", "role", "attendableId", "ref", "companionTo", "feed", "properties", "feedDXN", "getQueueUri", "target", "instanceOf", "db", "detailAxis", "hasSpace", "spaceId"]
7
+ }
@@ -1,9 +1,12 @@
1
+ import {
2
+ getChatPath
3
+ } from "./chunk-35EL65O4.mjs";
1
4
  import "./chunk-J5LGTIGS.mjs";
2
5
 
3
6
  // src/operations/run-prompt-in-new-chat.ts
4
7
  import * as Effect from "effect/Effect";
5
8
  import { Capabilities, Capability } from "@dxos/app-framework";
6
- import { getObjectPathFromObject, LayoutOperation } from "@dxos/app-toolkit";
9
+ import { LayoutOperation } from "@dxos/app-toolkit";
7
10
  import { AiContext } from "@dxos/assistant";
8
11
  import { AgentPrompt } from "@dxos/assistant-toolkit";
9
12
  import { Blueprint, Operation, Routine, Template } from "@dxos/compute";
@@ -22,11 +25,11 @@ var handler = AssistantOperation.RunPromptInNewChat.pipe(Operation.withHandler(E
22
25
  });
23
26
  if (objects && objects.length > 0 || blueprints && blueprints.length > 0) {
24
27
  const feedTarget = chat.feed.target;
25
- invariant(feedTarget, "Chat feed not found.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 24, S: this, A: ["feedTarget", "'Chat feed not found.'"] });
28
+ invariant(feedTarget, "Chat feed not found.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 25, S: this, A: ["feedTarget", "'Chat feed not found.'"] });
26
29
  const client = yield* Capability.get(ClientCapabilities.Client);
27
30
  const space = client.spaces.get(db.spaceId);
28
- invariant(space, "Space not found.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 27, S: this, A: ["space", "'Space not found.'"] });
29
- const feedServiceLayer = createFeedServiceLayer(space.queues);
31
+ invariant(space, "Space not found.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 28, S: this, A: ["space", "'Space not found.'"] });
32
+ const feedServiceLayer = createFeedServiceLayer(space.db);
30
33
  const runtime2 = yield* Effect.runtime().pipe(Effect.provide(feedServiceLayer));
31
34
  const binder = new AiContext.Binder({
32
35
  feed: feedTarget,
@@ -65,18 +68,18 @@ var handler = AssistantOperation.RunPromptInNewChat.pipe(Operation.withHandler(E
65
68
  }, {
66
69
  spaceId: db.spaceId
67
70
  }).pipe(Effect.catchAll((error) => {
68
- log.catch(error, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 67, S: this });
71
+ log.catch(error, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 68, S: this });
69
72
  return Effect.void;
70
73
  }));
71
74
  return {
72
75
  object: chat
73
76
  };
74
77
  }
75
- const chatPath = getObjectPathFromObject(chat);
78
+ const chatPath = getChatPath(db.spaceId, chat.id);
76
79
  const pendingPromptText = typeof prompt === "string" ? prompt : yield* Effect.gen(function* () {
77
80
  const promptObj = yield* Effect.promise(() => prompt.load());
78
81
  const source = yield* Effect.promise(() => promptObj.instructions.load());
79
- invariant(Obj.instanceOf(Text.Text, source), "Prompt instructions must be Text.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 78, S: this, A: ["Obj.instanceOf(Text.Text, source)", "'Prompt instructions must be Text.'"] });
82
+ invariant(Obj.instanceOf(Text.Text, source), "Prompt instructions must be Text.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 79, S: this, A: ["Obj.instanceOf(Text.Text, source)", "'Prompt instructions must be Text.'"] });
80
83
  return Template.process(source.content ?? "");
81
84
  });
82
85
  yield* Capabilities.updateAtomValue(AssistantCapabilities.State, (current) => ({
@@ -99,4 +102,4 @@ var run_prompt_in_new_chat_default = handler;
99
102
  export {
100
103
  run_prompt_in_new_chat_default as default
101
104
  };
102
- //# sourceMappingURL=run-prompt-in-new-chat-D5IIE2C7.mjs.map
105
+ //# sourceMappingURL=run-prompt-in-new-chat-NIAGCKQV.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/operations/run-prompt-in-new-chat.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { LayoutOperation } from '@dxos/app-toolkit';\nimport { AiContext } from '@dxos/assistant';\nimport { AgentPrompt } from '@dxos/assistant-toolkit';\nimport { Blueprint, Operation, Routine, Template } from '@dxos/compute';\nimport { Database, Feed, Filter, Obj, Ref } from '@dxos/echo';\nimport { createFeedServiceLayer } from '@dxos/echo-client';\nimport { invariant } from '@dxos/invariant';\nimport { log } from '@dxos/log';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { Text } from '@dxos/schema';\n\nimport { AssistantCapabilities, AssistantOperation } from '#types';\n\nimport { getChatPath } from '../paths';\n\nconst handler: Operation.WithHandler<typeof AssistantOperation.RunPromptInNewChat> =\n AssistantOperation.RunPromptInNewChat.pipe(\n Operation.withHandler(\n Effect.fnUntraced(\n function* ({ db, prompt, objects, blueprints, background }) {\n const registry = yield* Capability.get(Capabilities.AtomRegistry);\n const { object: chat } = yield* Operation.invoke(AssistantOperation.CreateChat, { db });\n\n if ((objects && objects.length > 0) || (blueprints && blueprints.length > 0)) {\n const feedTarget = chat.feed.target;\n invariant(feedTarget, 'Chat feed not found.');\n const client = yield* Capability.get(ClientCapabilities.Client);\n const space = client.spaces.get(db.spaceId);\n invariant(space, 'Space not found.');\n const feedServiceLayer = createFeedServiceLayer(space.db);\n const runtime = yield* Effect.runtime<Feed.FeedService>().pipe(Effect.provide(feedServiceLayer));\n const binder = new AiContext.Binder({ feed: feedTarget, runtime, registry });\n yield* Effect.promise(() =>\n binder.use(async (b: AiContext.Binder) => {\n const bindingProps: Parameters<AiContext.Binder['bind']>[0] = {};\n\n if (objects && objects.length > 0) {\n bindingProps.objects = objects.map((obj) => Ref.make(obj));\n }\n\n if (blueprints && blueprints.length > 0) {\n const allBlueprints = await db.query(Filter.type(Blueprint.Blueprint)).run();\n const matchedBlueprints = allBlueprints.filter((blueprint) => {\n const blueprintKey = Obj.getMeta(blueprint).key;\n return blueprintKey !== undefined && blueprints.includes(blueprintKey);\n });\n if (matchedBlueprints.length > 0) {\n bindingProps.blueprints = matchedBlueprints.map((blueprint) => Ref.make(blueprint));\n }\n }\n\n await b.bind(bindingProps);\n }),\n );\n }\n\n if (background) {\n const promptRef =\n typeof prompt === 'string'\n ? Ref.make(\n Routine.make({\n instructions: prompt,\n blueprints: [],\n context: [],\n }),\n )\n : prompt;\n yield* Database.flush();\n yield* Operation.invoke(\n AgentPrompt,\n {\n prompt: promptRef,\n input: {},\n chat: Ref.make(chat),\n },\n { spaceId: db.spaceId },\n ).pipe(\n Effect.catchAll((error) => {\n log.catch(error);\n return Effect.void;\n }),\n );\n return { object: chat };\n }\n\n const chatPath = getChatPath(db.spaceId, chat.id);\n const pendingPromptText =\n typeof prompt === 'string'\n ? prompt\n : yield* Effect.gen(function* () {\n const promptObj = yield* Effect.promise(() => prompt.load());\n const source = yield* Effect.promise(() => promptObj.instructions.load());\n invariant(Obj.instanceOf(Text.Text, source), 'Prompt instructions must be Text.');\n return Template.process(source.content ?? '');\n });\n yield* Capabilities.updateAtomValue(AssistantCapabilities.State, (current) => ({\n ...current,\n pendingPrompts: { ...current.pendingPrompts, [chatPath]: pendingPromptText },\n }));\n yield* Operation.invoke(LayoutOperation.Open, { subject: [chatPath] });\n return { object: chat };\n },\n (effect, { db }) => effect.pipe(Effect.provide(Database.layer(db))),\n ),\n ),\n );\n\nexport default handler;\n"],
5
+ "mappings": "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",
6
+ "names": ["Effect", "Capabilities", "Capability", "LayoutOperation", "AiContext", "AgentPrompt", "Blueprint", "Operation", "Routine", "Template", "Database", "Filter", "Obj", "Ref", "createFeedServiceLayer", "invariant", "log", "ClientCapabilities", "Text", "AssistantCapabilities", "AssistantOperation", "AssistantOperation", "object", "db", "objects", "invariant", "feedTarget", "client", "Capability", "space", "spaces", "feedServiceLayer", "createFeedServiceLayer", "runtime", "Effect", "binder", "AiContext", "feed", "registry", "length", "bindingProps", "blueprints", "matchedBlueprints", "allBlueprints", "blueprintKey", "Obj", "getMeta", "blueprint", "key", "undefined", "background", "instructions", "context", "prompt", "Database", "promptRef", "input", "chat", "Ref", "spaceId", "pipe", "log", "error", "promptObj", "promise", "instanceOf", "Text", "source", "Template", "content", "Capabilities", "updateAtomValue", "AssistantCapabilities", "pendingPrompts", "pendingPromptText", "Operation", "subject", "chatPath", "effect"]
7
+ }
@@ -9,14 +9,14 @@ import { meta } from "#meta";
9
9
  import { Assistant, AssistantCapabilities } from "#types";
10
10
  var settings_default = Capability.makeModule(() => Effect.sync(() => {
11
11
  const settingsAtom = createKvsStore({
12
- key: meta.id,
12
+ key: meta.profile.key,
13
13
  schema: Assistant.Settings,
14
14
  defaultValue: () => ({})
15
15
  });
16
16
  return [
17
17
  Capability.contributes(AssistantCapabilities.Settings, settingsAtom),
18
18
  Capability.contributes(AppCapabilities.Settings, {
19
- prefix: meta.id,
19
+ prefix: meta.profile.key,
20
20
  schema: Assistant.Settings,
21
21
  atom: settingsAtom
22
22
  })
@@ -25,4 +25,4 @@ var settings_default = Capability.makeModule(() => Effect.sync(() => {
25
25
  export {
26
26
  settings_default as default
27
27
  };
28
- //# sourceMappingURL=settings-W4BLWQ53.mjs.map
28
+ //# sourceMappingURL=settings-7Q3RITIT.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/capabilities/settings.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { createKvsStore } from '@dxos/effect';\n\nimport { meta } from '#meta';\nimport { Assistant, AssistantCapabilities } from '#types';\n\nexport default Capability.makeModule(() =>\n Effect.sync(() => {\n const settingsAtom = createKvsStore({\n key: meta.id,\n schema: Assistant.Settings,\n defaultValue: () => ({}),\n });\n\n return [\n Capability.contributes(AssistantCapabilities.Settings, settingsAtom),\n Capability.contributes(AppCapabilities.Settings, {\n prefix: meta.id,\n schema: Assistant.Settings,\n atom: settingsAtom,\n }),\n ];\n }),\n);\n"],
5
- "mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAChC,SAASC,sBAAsB;AAE/B,SAASC,YAAY;AACrB,SAASC,WAAWC,6BAA6B;AAEjD,IAAA,mBAAeL,WAAWM,WAAW,MAC5BC,YAAK,MAAA;AACV,QAAMC,eAAeN,eAAe;IAClCO,KAAKN,KAAKO;IACVC,QAAQP,UAAUQ;IAClBC,cAAc,OAAO,CAAC;EACxB,CAAA;AAEA,SAAO;IACLb,WAAWc,YAAYT,sBAAsBO,UAAUJ,YAAAA;IACvDR,WAAWc,YAAYb,gBAAgBW,UAAU;MAC/CG,QAAQZ,KAAKO;MACbC,QAAQP,UAAUQ;MAClBI,MAAMR;IACR,CAAA;;AAEJ,CAAA,CAAA;",
6
- "names": ["Effect", "Capability", "AppCapabilities", "createKvsStore", "meta", "Assistant", "AssistantCapabilities", "makeModule", "sync", "settingsAtom", "key", "id", "schema", "Settings", "defaultValue", "contributes", "prefix", "atom"]
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { createKvsStore } from '@dxos/effect';\n\nimport { meta } from '#meta';\nimport { Assistant, AssistantCapabilities } from '#types';\n\nexport default Capability.makeModule(() =>\n Effect.sync(() => {\n const settingsAtom = createKvsStore({\n key: meta.profile.key,\n schema: Assistant.Settings,\n defaultValue: () => ({}),\n });\n\n return [\n Capability.contributes(AssistantCapabilities.Settings, settingsAtom),\n Capability.contributes(AppCapabilities.Settings, {\n prefix: meta.profile.key,\n schema: Assistant.Settings,\n atom: settingsAtom,\n }),\n ];\n }),\n);\n"],
5
+ "mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAChC,SAASC,sBAAsB;AAE/B,SAASC,YAAY;AACrB,SAASC,WAAWC,6BAA6B;AAEjD,IAAA,mBAAeL,WAAWM,WAAW,MAC5BC,YAAK,MAAA;AACV,QAAMC,eAAeN,eAAe;IAClCO,KAAKN,KAAKO,QAAQD;IAClBE,QAAQP,UAAUQ;IAClBC,cAAc,OAAO,CAAC;EACxB,CAAA;AAEA,SAAO;IACLb,WAAWc,YAAYT,sBAAsBO,UAAUJ,YAAAA;IACvDR,WAAWc,YAAYb,gBAAgBW,UAAU;MAC/CG,QAAQZ,KAAKO,QAAQD;MACrBE,QAAQP,UAAUQ;MAClBI,MAAMR;IACR,CAAA;;AAEJ,CAAA,CAAA;",
6
+ "names": ["Effect", "Capability", "AppCapabilities", "createKvsStore", "meta", "Assistant", "AssistantCapabilities", "makeModule", "sync", "settingsAtom", "key", "profile", "schema", "Settings", "defaultValue", "contributes", "prefix", "atom"]
7
7
  }
@@ -9,7 +9,7 @@ import { meta } from "#meta";
9
9
  import { AssistantCapabilities } from "#types";
10
10
  var state_default = Capability.makeModule(() => Effect.sync(() => {
11
11
  const stateAtom = createKvsStore({
12
- key: meta.id,
12
+ key: meta.profile.key,
13
13
  schema: AssistantCapabilities.StateSchema,
14
14
  defaultValue: () => ({
15
15
  currentChat: {},
@@ -25,4 +25,4 @@ var state_default = Capability.makeModule(() => Effect.sync(() => {
25
25
  export {
26
26
  state_default as default
27
27
  };
28
- //# sourceMappingURL=state-H3G7QCU6.mjs.map
28
+ //# sourceMappingURL=state-XO2UYSSG.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/capabilities/state.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom } from '@effect-atom/atom-react';\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { type Obj } from '@dxos/echo';\nimport { createKvsStore } from '@dxos/effect';\n\nimport { meta } from '#meta';\nimport { AssistantCapabilities } from '#types';\n\nexport default Capability.makeModule(() =>\n Effect.sync(() => {\n // NOTE: This needs to be a chat object rather than a string id to avoid a query race.\n // TODO(wittjosiah): Handle serialization and hydration for this so it can be cached.\n const stateAtom = createKvsStore({\n key: meta.id,\n schema: AssistantCapabilities.StateSchema,\n defaultValue: () => ({\n currentChat: {},\n pendingPrompts: {},\n }),\n });\n\n const companionChatCacheAtom = Atom.make<Record<string, Obj.Unknown | undefined>>({}).pipe(Atom.keepAlive);\n\n return [\n Capability.contributes(AssistantCapabilities.State, stateAtom),\n Capability.contributes(AssistantCapabilities.CompanionChatCache, companionChatCacheAtom),\n ];\n }),\n);\n"],
5
- "mappings": ";;;AAIA,SAASA,YAAY;AACrB,YAAYC,YAAY;AAExB,SAASC,kBAAkB;AAE3B,SAASC,sBAAsB;AAE/B,SAASC,YAAY;AACrB,SAASC,6BAA6B;AAEtC,IAAA,gBAAeH,WAAWI,WAAW,MAC5BC,YAAK,MAAA;AAGV,QAAMC,YAAYL,eAAe;IAC/BM,KAAKL,KAAKM;IACVC,QAAQN,sBAAsBO;IAC9BC,cAAc,OAAO;MACnBC,aAAa,CAAC;MACdC,gBAAgB,CAAC;IACnB;EACF,CAAA;AAEA,QAAMC,yBAAyBhB,KAAKiB,KAA8C,CAAC,CAAA,EAAGC,KAAKlB,KAAKmB,SAAS;AAEzG,SAAO;IACLjB,WAAWkB,YAAYf,sBAAsBgB,OAAOb,SAAAA;IACpDN,WAAWkB,YAAYf,sBAAsBiB,oBAAoBN,sBAAAA;;AAErE,CAAA,CAAA;",
6
- "names": ["Atom", "Effect", "Capability", "createKvsStore", "meta", "AssistantCapabilities", "makeModule", "sync", "stateAtom", "key", "id", "schema", "StateSchema", "defaultValue", "currentChat", "pendingPrompts", "companionChatCacheAtom", "make", "pipe", "keepAlive", "contributes", "State", "CompanionChatCache"]
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom } from '@effect-atom/atom-react';\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { type Obj } from '@dxos/echo';\nimport { createKvsStore } from '@dxos/effect';\n\nimport { meta } from '#meta';\nimport { AssistantCapabilities } from '#types';\n\nexport default Capability.makeModule(() =>\n Effect.sync(() => {\n // NOTE: This needs to be a chat object rather than a string id to avoid a query race.\n // TODO(wittjosiah): Handle serialization and hydration for this so it can be cached.\n const stateAtom = createKvsStore({\n key: meta.profile.key,\n schema: AssistantCapabilities.StateSchema,\n defaultValue: () => ({\n currentChat: {},\n pendingPrompts: {},\n }),\n });\n\n const companionChatCacheAtom = Atom.make<Record<string, Obj.Unknown | undefined>>({}).pipe(Atom.keepAlive);\n\n return [\n Capability.contributes(AssistantCapabilities.State, stateAtom),\n Capability.contributes(AssistantCapabilities.CompanionChatCache, companionChatCacheAtom),\n ];\n }),\n);\n"],
5
+ "mappings": ";;;AAIA,SAASA,YAAY;AACrB,YAAYC,YAAY;AAExB,SAASC,kBAAkB;AAE3B,SAASC,sBAAsB;AAE/B,SAASC,YAAY;AACrB,SAASC,6BAA6B;AAEtC,IAAA,gBAAeH,WAAWI,WAAW,MAC5BC,YAAK,MAAA;AAGV,QAAMC,YAAYL,eAAe;IAC/BM,KAAKL,KAAKM,QAAQD;IAClBE,QAAQN,sBAAsBO;IAC9BC,cAAc,OAAO;MACnBC,aAAa,CAAC;MACdC,gBAAgB,CAAC;IACnB;EACF,CAAA;AAEA,QAAMC,yBAAyBhB,KAAKiB,KAA8C,CAAC,CAAA,EAAGC,KAAKlB,KAAKmB,SAAS;AAEzG,SAAO;IACLjB,WAAWkB,YAAYf,sBAAsBgB,OAAOb,SAAAA;IACpDN,WAAWkB,YAAYf,sBAAsBiB,oBAAoBN,sBAAAA;;AAErE,CAAA,CAAA;",
6
+ "names": ["Atom", "Effect", "Capability", "createKvsStore", "meta", "AssistantCapabilities", "makeModule", "sync", "stateAtom", "key", "profile", "schema", "StateSchema", "defaultValue", "currentChat", "pendingPrompts", "companionChatCacheAtom", "make", "pipe", "keepAlive", "contributes", "State", "CompanionChatCache"]
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  AssistantPlugin
3
- } from "./chunk-QAZMOFPI.mjs";
3
+ } from "./chunk-IQZJ5TTM.mjs";
4
4
  import "./chunk-J5LGTIGS.mjs";
5
5
  export {
6
6
  AssistantPlugin
@@ -47,15 +47,15 @@ var translations = [
47
47
  "object-deleted.label": "Sequence deleted"
48
48
  },
49
49
  [Type.getTypename(Chat.Chat)]: {
50
- "typename.label": "AI Chat",
51
- "typename.label_zero": "AI Chats",
52
- "typename.label_one": "AI Chat",
53
- "typename.label_other": "AI Chats",
54
- "object-name.placeholder": "New AI Chat",
55
- "add-object.label": "Add AI chat",
56
- "rename-object.label": "Rename AI Chat",
57
- "delete-object.label": "Delete AI Chat",
58
- "object-deleted.label": "AI Chat deleted"
50
+ "typename.label": "AI Conversation",
51
+ "typename.label_zero": "AI Conversations",
52
+ "typename.label_one": "AI Conversation",
53
+ "typename.label_other": "AI Conversations",
54
+ "object-name.placeholder": "New AI conversation",
55
+ "add-object.label": "Add AI conversation",
56
+ "rename-object.label": "Rename AI conversation",
57
+ "delete-object.label": "Delete AI conversation",
58
+ "object-deleted.label": "AI conversation deleted"
59
59
  },
60
60
  [Type.getTypename(McpServer.McpServer)]: {
61
61
  "typename.label": "MCP Server",
@@ -75,7 +75,7 @@ var translations = [
75
75
  "object-deleted.label": "Agent deleted"
76
76
  },
77
77
  // TODO(burdon): Reconcile with react-ui-chat.
78
- [meta.id]: {
78
+ [meta.profile.key]: {
79
79
  "templates.label": "Templates",
80
80
  "open-ambient-chat.label": "Open Assistant",
81
81
  "assistant-chat.label": "Assistant",
@@ -143,6 +143,7 @@ var translations = [
143
143
  "mcp-server-api-key.placeholder": "API key (optional)",
144
144
  "mcp-server-error.label": "MCP server unavailable",
145
145
  "ai-service-error.label": "AI service error",
146
+ "view-usage.label": "View usage",
146
147
  "debug.button": "Debug",
147
148
  "online-switch.label": "Online",
148
149
  "run-prompt.label": "Run prompt",
@@ -168,7 +169,13 @@ var translations = [
168
169
  "instructions.label": "Instructions",
169
170
  "instructions.placeholder": "Enter instructions, goals, and constraints for the assistant.",
170
171
  "reset-history.button": "Reset",
171
- "subscriptions.label": "Subscriptions"
172
+ "subscriptions.label": "Subscriptions",
173
+ // Per-space Home article: starter-prompt cards + the pinned assistant prompt.
174
+ "space-home.suggestions.heading": "Get started",
175
+ "space-home.suggestion-draft-doc.label": "Draft a new document",
176
+ "space-home.suggestion-data-type.label": "Create a new data type",
177
+ "space-home.suggestion-ideas.label": "Suggest some ideas to work on",
178
+ "space-home.prompt.placeholder": "Ask the assistant anything\u2026"
172
179
  }
173
180
  }
174
181
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/translations.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Chat, Agent, McpServer } from '@dxos/assistant-toolkit';\nimport { Blueprint, Routine } from '@dxos/compute';\nimport { Sequence } from '@dxos/conductor';\nimport { Type } from '@dxos/echo';\nimport { type Resource } from '@dxos/react-ui';\nimport { translations as componentsTranslations } from '@dxos/react-ui-components/translations';\nimport { translations as formTranslations } from '@dxos/react-ui-form/translations';\n\nimport { meta } from '#meta';\n\n// TODO(burdon): Standardize translation names.\nexport const translations: Resource[] = [\n ...componentsTranslations,\n ...formTranslations,\n {\n 'en-US': {\n [Type.getTypename(Blueprint.Blueprint)]: {\n 'typename.label': 'Blueprint',\n 'typename.label_zero': 'Blueprints',\n 'typename.label_one': 'Blueprint',\n 'typename.label_other': 'Blueprints',\n 'object-name.placeholder': 'New blueprint',\n 'add-object.label': 'Add blueprint',\n 'rename-object.label': 'Rename blueprint',\n 'delete-object.label': 'Delete blueprint',\n 'object-deleted.label': 'Blueprint deleted',\n },\n [Type.getTypename(Routine.Routine)]: {\n 'typename.label': 'Routine',\n 'typename.label_zero': 'Routines',\n 'typename.label_one': 'Routine',\n 'typename.label_other': 'Routines',\n 'object-name.placeholder': 'New routine',\n 'add-object.label': 'Add routine',\n 'rename-object.label': 'Rename routine',\n 'delete-object.label': 'Delete routine',\n 'object-deleted.label': 'Routine deleted',\n },\n [Type.getTypename(Sequence.Sequence)]: {\n 'typename.label': 'Sequence',\n 'typename.label_zero': 'Sequences',\n 'typename.label_one': 'Sequence',\n 'typename.label_other': 'Sequences',\n 'object-name.placeholder': 'New sequence',\n 'add-object.label': 'Add sequence',\n 'rename-object.label': 'Rename sequence',\n 'delete-object.label': 'Delete sequence',\n 'object-deleted.label': 'Sequence deleted',\n },\n [Type.getTypename(Chat.Chat)]: {\n 'typename.label': 'AI Chat',\n 'typename.label_zero': 'AI Chats',\n 'typename.label_one': 'AI Chat',\n 'typename.label_other': 'AI Chats',\n 'object-name.placeholder': 'New AI Chat',\n 'add-object.label': 'Add AI chat',\n 'rename-object.label': 'Rename AI Chat',\n 'delete-object.label': 'Delete AI Chat',\n 'object-deleted.label': 'AI Chat deleted',\n },\n [Type.getTypename(McpServer.McpServer)]: {\n 'typename.label': 'MCP Server',\n 'typename.label_zero': 'MCP Servers',\n 'typename.label_one': 'MCP Server',\n 'typename.label_other': 'MCP Servers',\n },\n [Type.getTypename(Agent.Agent)]: {\n 'typename.label': 'Agent',\n 'typename.label_zero': 'Agents',\n 'typename.label_one': 'Agent',\n 'typename.label_other': 'Agents',\n 'object-name.placeholder': 'New agent',\n 'add-object.label': 'Add agent',\n 'rename-object.label': 'Rename agent',\n 'delete-object.label': 'Delete agent',\n 'object-deleted.label': 'Agent deleted',\n },\n // TODO(burdon): Reconcile with react-ui-chat.\n [meta.id]: {\n 'templates.label': 'Templates',\n 'open-ambient-chat.label': 'Open Assistant',\n 'assistant-chat.label': 'Assistant',\n 'plugin.name': 'Assistant',\n 'settings.title': 'Assistant settings',\n 'object.placeholder': 'New prompt',\n 'create-object.label': 'Create prompt',\n 'create-trigger.label': 'Create trigger',\n 'create-stack-section.label': 'Create prompt',\n 'command.placeholder': 'Enter slash command...',\n 'template.placeholder': 'Enter template...',\n 'value.placeholder': 'Enter value...',\n 'prompt-rules.label': 'Prompt Rules',\n 'typename.placeholder': 'Enter typename of objects which this template is for',\n 'description.placeholder': 'Enter description of when this template should be used',\n 'select-preset-template.placeholder': 'Select preset',\n 'service-registry.label': 'Service Registry',\n 'type-filter.placeholder': 'Type',\n 'any-type-filter.label': 'Any',\n 'no-blueprint.message': 'No active blueprints',\n 'tool-call.label': 'Calling',\n 'tool-result.label': 'Success',\n 'tool-error.label': 'Tool call failed',\n\n 'invocations.label': 'Invocations',\n 'trace.label': 'Trace',\n\n 'assistant-dialog.title': 'Assistant',\n 'open-assistant.label': 'Open assistant',\n 'import-compute-operations.label': 'Import compute operations',\n 'toggle-trace-panel-debug.label': 'Toggle trace panel debug view',\n\n 'no-results.message': 'No results',\n\n 'cancel.button': 'Cancel',\n 'save.button': 'Save',\n 'new-thread.button': 'New Chat',\n 'rename-thread.button': 'Rename Chat',\n 'chat-history.label': 'Chat History',\n 'chat-update-name.label': 'Update AI Chat name',\n 'create-chat.label': 'New AI Chat',\n\n 'toolkit.label': 'Toolkit',\n 'stats.label': 'Stats',\n 'summary.label': 'Summary',\n 'thinking.label': 'Thinking',\n\n 'search.placeholder': 'Search...',\n 'prompt.placeholder': 'Enter question or command...',\n 'context-objects.button': 'Add to context',\n 'context-settings.button': 'Chat settings',\n 'microphone.button': 'Click to speak',\n 'cancel-processing.button': 'Stop processing',\n\n 'options.blueprints.title': 'Skills',\n 'options.mcp.title': 'MCP',\n 'options.chat-model.title': 'Models',\n 'remove-object.label': 'Remove object',\n\n 'chat-view.title': 'View',\n 'chat-view.normal.label': 'Normal',\n 'chat-view.summary.label': 'Summary',\n 'chat-view.thinking.label': 'Thinking',\n 'chat-view.debug.label': 'Debug',\n 'mcp-server-add.label': 'Add MCP server',\n 'mcp-server-remove.label': 'Remove MCP server',\n 'mcp-server-name.label': 'Server name',\n 'mcp-server-name.placeholder': 'Name',\n 'mcp-server-url.label': 'Server URL',\n 'mcp-server-url.placeholder': 'https://...',\n 'mcp-server-protocol.label': 'Protocol',\n 'mcp-server-api-key.label': 'API key',\n 'mcp-server-api-key.placeholder': 'API key (optional)',\n 'mcp-server-error.label': 'MCP server unavailable',\n 'ai-service-error.label': 'AI service error',\n\n 'debug.button': 'Debug',\n 'online-switch.label': 'Online',\n 'run-prompt.label': 'Run prompt',\n 'routine-running.label': 'Running…',\n 'typename.label': 'Typename',\n 'branch-thread.menu': 'Branch chat',\n 'chat-toolbar.title': 'Chat toolbar',\n\n // Trigger status\n 'trigger-status-disabled.label': 'Triggers disabled',\n 'trigger-status-idle.label': 'Triggers idle',\n 'trigger-status-edge.label': 'Triggers will run on EDGE',\n 'trigger-status-running.label': 'Trigger running',\n 'trigger-status-error.label': 'Trigger error',\n 'trigger-runtime.label': 'Auto trigger execution',\n 'trigger-last-invocation.label': 'Last run',\n 'trigger-duration.label': 'Duration',\n\n // AgentArticle.\n 'project-empty-spec.message': 'Open the Properties companion to configure the agent.',\n 'project-empty-spec.description': 'Open the Assistant companion to interact with the agent.',\n 'artifacts.label': 'Artifacts',\n 'inputs.label': 'Inputs',\n\n // AgentProperties.\n 'instructions.label': 'Instructions',\n 'instructions.placeholder': 'Enter instructions, goals, and constraints for the assistant.',\n 'reset-history.button': 'Reset',\n 'subscriptions.label': 'Subscriptions',\n },\n },\n },\n];\n"],
5
- "mappings": "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",
6
- "names": ["Chat", "Agent", "McpServer", "Blueprint", "Routine", "Sequence", "Type", "translations", "componentsTranslations", "formTranslations", "meta", "getTypename", "id"]
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Chat, Agent, McpServer } from '@dxos/assistant-toolkit';\nimport { Blueprint, Routine } from '@dxos/compute';\nimport { Sequence } from '@dxos/conductor';\nimport { Type } from '@dxos/echo';\nimport { type Resource } from '@dxos/react-ui';\nimport { translations as componentsTranslations } from '@dxos/react-ui-components/translations';\nimport { translations as formTranslations } from '@dxos/react-ui-form/translations';\n\nimport { meta } from '#meta';\n\n// TODO(burdon): Standardize translation names.\nexport const translations: Resource[] = [\n ...componentsTranslations,\n ...formTranslations,\n {\n 'en-US': {\n [Type.getTypename(Blueprint.Blueprint)]: {\n 'typename.label': 'Blueprint',\n 'typename.label_zero': 'Blueprints',\n 'typename.label_one': 'Blueprint',\n 'typename.label_other': 'Blueprints',\n 'object-name.placeholder': 'New blueprint',\n 'add-object.label': 'Add blueprint',\n 'rename-object.label': 'Rename blueprint',\n 'delete-object.label': 'Delete blueprint',\n 'object-deleted.label': 'Blueprint deleted',\n },\n [Type.getTypename(Routine.Routine)]: {\n 'typename.label': 'Routine',\n 'typename.label_zero': 'Routines',\n 'typename.label_one': 'Routine',\n 'typename.label_other': 'Routines',\n 'object-name.placeholder': 'New routine',\n 'add-object.label': 'Add routine',\n 'rename-object.label': 'Rename routine',\n 'delete-object.label': 'Delete routine',\n 'object-deleted.label': 'Routine deleted',\n },\n [Type.getTypename(Sequence.Sequence)]: {\n 'typename.label': 'Sequence',\n 'typename.label_zero': 'Sequences',\n 'typename.label_one': 'Sequence',\n 'typename.label_other': 'Sequences',\n 'object-name.placeholder': 'New sequence',\n 'add-object.label': 'Add sequence',\n 'rename-object.label': 'Rename sequence',\n 'delete-object.label': 'Delete sequence',\n 'object-deleted.label': 'Sequence deleted',\n },\n [Type.getTypename(Chat.Chat)]: {\n 'typename.label': 'AI Conversation',\n 'typename.label_zero': 'AI Conversations',\n 'typename.label_one': 'AI Conversation',\n 'typename.label_other': 'AI Conversations',\n 'object-name.placeholder': 'New AI conversation',\n 'add-object.label': 'Add AI conversation',\n 'rename-object.label': 'Rename AI conversation',\n 'delete-object.label': 'Delete AI conversation',\n 'object-deleted.label': 'AI conversation deleted',\n },\n [Type.getTypename(McpServer.McpServer)]: {\n 'typename.label': 'MCP Server',\n 'typename.label_zero': 'MCP Servers',\n 'typename.label_one': 'MCP Server',\n 'typename.label_other': 'MCP Servers',\n },\n [Type.getTypename(Agent.Agent)]: {\n 'typename.label': 'Agent',\n 'typename.label_zero': 'Agents',\n 'typename.label_one': 'Agent',\n 'typename.label_other': 'Agents',\n 'object-name.placeholder': 'New agent',\n 'add-object.label': 'Add agent',\n 'rename-object.label': 'Rename agent',\n 'delete-object.label': 'Delete agent',\n 'object-deleted.label': 'Agent deleted',\n },\n // TODO(burdon): Reconcile with react-ui-chat.\n [meta.profile.key]: {\n 'templates.label': 'Templates',\n 'open-ambient-chat.label': 'Open Assistant',\n 'assistant-chat.label': 'Assistant',\n 'plugin.name': 'Assistant',\n 'settings.title': 'Assistant settings',\n 'object.placeholder': 'New prompt',\n 'create-object.label': 'Create prompt',\n 'create-trigger.label': 'Create trigger',\n 'create-stack-section.label': 'Create prompt',\n 'command.placeholder': 'Enter slash command...',\n 'template.placeholder': 'Enter template...',\n 'value.placeholder': 'Enter value...',\n 'prompt-rules.label': 'Prompt Rules',\n 'typename.placeholder': 'Enter typename of objects which this template is for',\n 'description.placeholder': 'Enter description of when this template should be used',\n 'select-preset-template.placeholder': 'Select preset',\n 'service-registry.label': 'Service Registry',\n 'type-filter.placeholder': 'Type',\n 'any-type-filter.label': 'Any',\n 'no-blueprint.message': 'No active blueprints',\n 'tool-call.label': 'Calling',\n 'tool-result.label': 'Success',\n 'tool-error.label': 'Tool call failed',\n\n 'invocations.label': 'Invocations',\n 'trace.label': 'Trace',\n\n 'assistant-dialog.title': 'Assistant',\n 'open-assistant.label': 'Open assistant',\n 'import-compute-operations.label': 'Import compute operations',\n 'toggle-trace-panel-debug.label': 'Toggle trace panel debug view',\n\n 'no-results.message': 'No results',\n\n 'cancel.button': 'Cancel',\n 'save.button': 'Save',\n 'new-thread.button': 'New Chat',\n 'rename-thread.button': 'Rename Chat',\n 'chat-history.label': 'Chat History',\n 'chat-update-name.label': 'Update AI Chat name',\n 'create-chat.label': 'New AI Chat',\n\n 'toolkit.label': 'Toolkit',\n 'stats.label': 'Stats',\n 'summary.label': 'Summary',\n 'thinking.label': 'Thinking',\n\n 'search.placeholder': 'Search...',\n 'prompt.placeholder': 'Enter question or command...',\n 'context-objects.button': 'Add to context',\n 'context-settings.button': 'Chat settings',\n 'microphone.button': 'Click to speak',\n 'cancel-processing.button': 'Stop processing',\n\n 'options.blueprints.title': 'Skills',\n 'options.mcp.title': 'MCP',\n 'options.chat-model.title': 'Models',\n 'remove-object.label': 'Remove object',\n\n 'chat-view.title': 'View',\n 'chat-view.normal.label': 'Normal',\n 'chat-view.summary.label': 'Summary',\n 'chat-view.thinking.label': 'Thinking',\n 'chat-view.debug.label': 'Debug',\n 'mcp-server-add.label': 'Add MCP server',\n 'mcp-server-remove.label': 'Remove MCP server',\n 'mcp-server-name.label': 'Server name',\n 'mcp-server-name.placeholder': 'Name',\n 'mcp-server-url.label': 'Server URL',\n 'mcp-server-url.placeholder': 'https://...',\n 'mcp-server-protocol.label': 'Protocol',\n 'mcp-server-api-key.label': 'API key',\n 'mcp-server-api-key.placeholder': 'API key (optional)',\n 'mcp-server-error.label': 'MCP server unavailable',\n 'ai-service-error.label': 'AI service error',\n 'view-usage.label': 'View usage',\n\n 'debug.button': 'Debug',\n 'online-switch.label': 'Online',\n 'run-prompt.label': 'Run prompt',\n 'routine-running.label': 'Running…',\n 'typename.label': 'Typename',\n 'branch-thread.menu': 'Branch chat',\n 'chat-toolbar.title': 'Chat toolbar',\n\n // Trigger status\n 'trigger-status-disabled.label': 'Triggers disabled',\n 'trigger-status-idle.label': 'Triggers idle',\n 'trigger-status-edge.label': 'Triggers will run on EDGE',\n 'trigger-status-running.label': 'Trigger running',\n 'trigger-status-error.label': 'Trigger error',\n 'trigger-runtime.label': 'Auto trigger execution',\n 'trigger-last-invocation.label': 'Last run',\n 'trigger-duration.label': 'Duration',\n\n // AgentArticle.\n 'project-empty-spec.message': 'Open the Properties companion to configure the agent.',\n 'project-empty-spec.description': 'Open the Assistant companion to interact with the agent.',\n 'artifacts.label': 'Artifacts',\n 'inputs.label': 'Inputs',\n\n // AgentProperties.\n 'instructions.label': 'Instructions',\n 'instructions.placeholder': 'Enter instructions, goals, and constraints for the assistant.',\n 'reset-history.button': 'Reset',\n 'subscriptions.label': 'Subscriptions',\n\n // Per-space Home article: starter-prompt cards + the pinned assistant prompt.\n 'space-home.suggestions.heading': 'Get started',\n 'space-home.suggestion-draft-doc.label': 'Draft a new document',\n 'space-home.suggestion-data-type.label': 'Create a new data type',\n 'space-home.suggestion-ideas.label': 'Suggest some ideas to work on',\n 'space-home.prompt.placeholder': 'Ask the assistant anything…',\n },\n },\n },\n];\n"],
5
+ "mappings": "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",
6
+ "names": ["Chat", "Agent", "McpServer", "Blueprint", "Routine", "Sequence", "Type", "translations", "componentsTranslations", "formTranslations", "meta", "getTypename", "profile", "key"]
7
7
  }
@@ -6,7 +6,7 @@ import {
6
6
  Assistant_exports,
7
7
  ServiceType,
8
8
  categoryIcons
9
- } from "../chunk-YXRGZYYH.mjs";
9
+ } from "../chunk-5KB2WRI2.mjs";
10
10
  import "../chunk-J5LGTIGS.mjs";
11
11
  export {
12
12
  ApiAuthorization,
@@ -0,0 +1,28 @@
1
+ declare const _default: {
2
+ readonly plugin: {
3
+ readonly key: string;
4
+ readonly name: string;
5
+ readonly description?: string | undefined;
6
+ readonly author?: string | undefined;
7
+ readonly homePage?: string | undefined;
8
+ readonly source?: string | undefined;
9
+ readonly screenshots?: readonly {
10
+ readonly light?: string | undefined;
11
+ readonly dark?: string | undefined;
12
+ }[] | undefined;
13
+ readonly tags?: readonly string[] | undefined;
14
+ readonly icon?: {
15
+ readonly key: string;
16
+ readonly hue?: string | undefined;
17
+ } | undefined;
18
+ readonly spec?: string | undefined;
19
+ readonly dependsOn?: readonly string[] | undefined;
20
+ };
21
+ readonly publish?: {
22
+ readonly buildCommand?: string | undefined;
23
+ readonly outputDirectory?: string | undefined;
24
+ readonly assetBaseUrl?: string | undefined;
25
+ } | undefined;
26
+ };
27
+ export default _default;
28
+ //# sourceMappingURL=dx.config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dx.config.d.ts","sourceRoot":"","sources":["../../dx.config.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"app-graph-builder.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/app-graph-builder.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EACL,eAAe,EAOhB,MAAM,mBAAmB,CAAC;AAQ3B,OAAO,EAAE,YAAY,EAAqB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"app-graph-builder.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/app-graph-builder.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAmD,MAAM,mBAAmB,CAAC;AAQrG,OAAO,EAAE,YAAY,EAAqB,MAAM,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"blueprint-definition.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/blueprint-definition.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAgB,UAAU,EAAE,MAAM,qBAAqB,CAAC;AA6B/D,QAAA,MAAM,mBAAmB,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CA2B3E,CAAC;eAEU,mBAAmB"}
1
+ {"version":3,"file":"blueprint-definition.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/blueprint-definition.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAgB,UAAU,EAAE,MAAM,qBAAqB,CAAC;AA8B/D,QAAA,MAAM,mBAAmB,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CA4B3E,CAAC;eAEU,mBAAmB"}