@dxos/assistant-toolkit 0.10.0 → 0.11.1

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 (397) hide show
  1. package/dist/lib/chunk-Chat.mjs +144 -0
  2. package/dist/lib/chunk-Chat.mjs.map +1 -0
  3. package/dist/lib/chunk-Memory.mjs +19 -0
  4. package/dist/lib/chunk-Memory.mjs.map +1 -0
  5. package/dist/lib/{neutral/agent-rules-KWCBKJ5W.mjs → chunk-agent-rules.mjs} +8 -15
  6. package/dist/lib/chunk-agent-rules.mjs.map +1 -0
  7. package/dist/lib/chunk-agent.mjs +45 -0
  8. package/dist/lib/chunk-agent.mjs.map +1 -0
  9. package/dist/lib/chunk-artifact-add.mjs +31 -0
  10. package/dist/lib/chunk-artifact-add.mjs.map +1 -0
  11. package/dist/lib/chunk-artifact-list.mjs +23 -0
  12. package/dist/lib/chunk-artifact-list.mjs.map +1 -0
  13. package/dist/lib/chunk-context-add.mjs +16 -0
  14. package/dist/lib/chunk-context-add.mjs.map +1 -0
  15. package/dist/lib/chunk-context-remove.mjs +16 -0
  16. package/dist/lib/chunk-context-remove.mjs.map +1 -0
  17. package/dist/lib/chunk-create-agent.mjs +23 -0
  18. package/dist/lib/chunk-create-agent.mjs.map +1 -0
  19. package/dist/lib/chunk-definitions.mjs +52 -0
  20. package/dist/lib/chunk-definitions.mjs.map +1 -0
  21. package/dist/lib/chunk-definitions2.mjs +56 -0
  22. package/dist/lib/chunk-definitions2.mjs.map +1 -0
  23. package/dist/lib/chunk-definitions3.mjs +24 -0
  24. package/dist/lib/chunk-definitions3.mjs.map +1 -0
  25. package/dist/lib/chunk-delete.mjs +14 -0
  26. package/dist/lib/chunk-delete.mjs.map +1 -0
  27. package/dist/lib/chunk-enable-skills.mjs +39 -0
  28. package/dist/lib/chunk-enable-skills.mjs.map +1 -0
  29. package/dist/lib/chunk-fetch-messages.mjs +113 -0
  30. package/dist/lib/chunk-fetch-messages.mjs.map +1 -0
  31. package/dist/lib/chunk-fetch.mjs +20 -0
  32. package/dist/lib/chunk-fetch.mjs.map +1 -0
  33. package/dist/lib/chunk-get-context.mjs +55 -0
  34. package/dist/lib/chunk-get-context.mjs.map +1 -0
  35. package/dist/lib/chunk-get-current-date.mjs +17 -0
  36. package/dist/lib/chunk-get-current-date.mjs.map +1 -0
  37. package/dist/lib/chunk-load.mjs +13 -0
  38. package/dist/lib/chunk-load.mjs.map +1 -0
  39. package/dist/lib/chunk-object-create.mjs +42 -0
  40. package/dist/lib/chunk-object-create.mjs.map +1 -0
  41. package/dist/lib/chunk-object-delete.mjs +14 -0
  42. package/dist/lib/chunk-object-delete.mjs.map +1 -0
  43. package/dist/lib/chunk-object-update.mjs +19 -0
  44. package/dist/lib/chunk-object-update.mjs.map +1 -0
  45. package/dist/lib/chunk-operations.mjs +714 -0
  46. package/dist/lib/chunk-operations.mjs.map +1 -0
  47. package/dist/lib/chunk-plan-reminder.mjs +80 -0
  48. package/dist/lib/chunk-plan-reminder.mjs.map +1 -0
  49. package/dist/lib/chunk-query-skills.mjs +12 -0
  50. package/dist/lib/chunk-query-skills.mjs.map +1 -0
  51. package/dist/lib/chunk-query.mjs +36 -0
  52. package/dist/lib/chunk-query.mjs.map +1 -0
  53. package/dist/lib/chunk-query2.mjs +18 -0
  54. package/dist/lib/chunk-query2.mjs.map +1 -0
  55. package/dist/lib/chunk-relation-create.mjs +41 -0
  56. package/dist/lib/chunk-relation-create.mjs.map +1 -0
  57. package/dist/lib/chunk-relation-delete.mjs +14 -0
  58. package/dist/lib/chunk-relation-delete.mjs.map +1 -0
  59. package/dist/lib/chunk-relay.mjs +76 -0
  60. package/dist/lib/chunk-relay.mjs.map +1 -0
  61. package/dist/lib/chunk-rolldown-runtime.mjs +13 -0
  62. package/dist/lib/chunk-run-instructions.mjs +145 -0
  63. package/dist/lib/chunk-run-instructions.mjs.map +1 -0
  64. package/dist/lib/chunk-save.mjs +17 -0
  65. package/dist/lib/chunk-save.mjs.map +1 -0
  66. package/dist/lib/chunk-schema-add.mjs +19 -0
  67. package/dist/lib/chunk-schema-add.mjs.map +1 -0
  68. package/dist/lib/chunk-schema-list.mjs +29 -0
  69. package/dist/lib/chunk-schema-list.mjs.map +1 -0
  70. package/dist/lib/chunk-set-alarm.mjs +55 -0
  71. package/dist/lib/chunk-set-alarm.mjs.map +1 -0
  72. package/dist/lib/chunk-sync-automation.mjs +130 -0
  73. package/dist/lib/chunk-sync-automation.mjs.map +1 -0
  74. package/dist/lib/chunk-sync-issues.mjs +127 -0
  75. package/dist/lib/chunk-sync-issues.mjs.map +1 -0
  76. package/dist/lib/chunk-sync.mjs +91 -0
  77. package/dist/lib/chunk-sync.mjs.map +1 -0
  78. package/dist/lib/chunk-tag-add.mjs +14 -0
  79. package/dist/lib/chunk-tag-add.mjs.map +1 -0
  80. package/dist/lib/chunk-tag-remove.mjs +14 -0
  81. package/dist/lib/chunk-tag-remove.mjs.map +1 -0
  82. package/dist/lib/chunk-types.mjs +198 -0
  83. package/dist/lib/chunk-types.mjs.map +1 -0
  84. package/dist/lib/chunk-update-tasks.mjs +34 -0
  85. package/dist/lib/chunk-update-tasks.mjs.map +1 -0
  86. package/dist/lib/index.mjs +614 -0
  87. package/dist/lib/index.mjs.map +1 -0
  88. package/dist/lib/testing.mjs +102 -0
  89. package/dist/lib/testing.mjs.map +1 -0
  90. package/dist/types/src/skills/agent/operations/definitions.d.ts +16 -46
  91. package/dist/types/src/skills/agent/operations/definitions.d.ts.map +1 -1
  92. package/dist/types/src/skills/agent/operations/get-context.test.d.ts +2 -0
  93. package/dist/types/src/skills/agent/operations/get-context.test.d.ts.map +1 -0
  94. package/dist/types/src/skills/agent/operations/index.d.ts.map +1 -1
  95. package/dist/types/src/skills/agent/operations/relay.d.ts +11 -0
  96. package/dist/types/src/skills/agent/operations/relay.d.ts.map +1 -0
  97. package/dist/types/src/skills/agent/operations/relay.test.d.ts +2 -0
  98. package/dist/types/src/skills/agent/operations/relay.test.d.ts.map +1 -0
  99. package/dist/types/src/skills/agent/skill.d.ts.map +1 -1
  100. package/dist/types/src/skills/agent-wizard/operations/definitions.d.ts +4 -1
  101. package/dist/types/src/skills/agent-wizard/operations/definitions.d.ts.map +1 -1
  102. package/dist/types/src/skills/agent-wizard/operations/sync-automation.d.ts +26 -0
  103. package/dist/types/src/skills/agent-wizard/operations/sync-automation.d.ts.map +1 -0
  104. package/dist/types/src/skills/agent-wizard/operations/sync-automation.test.d.ts +2 -0
  105. package/dist/types/src/skills/agent-wizard/operations/sync-automation.test.d.ts.map +1 -0
  106. package/dist/types/src/skills/agent-wizard/skill.d.ts.map +1 -1
  107. package/dist/types/src/skills/database/operations/context-add.test.d.ts +2 -0
  108. package/dist/types/src/skills/database/operations/context-add.test.d.ts.map +1 -0
  109. package/dist/types/src/skills/database/operations/context-remove.test.d.ts +2 -0
  110. package/dist/types/src/skills/database/operations/context-remove.test.d.ts.map +1 -0
  111. package/dist/types/src/skills/database/operations/definitions.d.ts +7 -2
  112. package/dist/types/src/skills/database/operations/definitions.d.ts.map +1 -1
  113. package/dist/types/src/skills/database/operations/load.test.d.ts +2 -0
  114. package/dist/types/src/skills/database/operations/load.test.d.ts.map +1 -0
  115. package/dist/types/src/skills/database/operations/object-create.d.ts +4 -1
  116. package/dist/types/src/skills/database/operations/object-create.d.ts.map +1 -1
  117. package/dist/types/src/skills/database/operations/object-create.test.d.ts +2 -0
  118. package/dist/types/src/skills/database/operations/object-create.test.d.ts.map +1 -0
  119. package/dist/types/src/skills/database/operations/object-delete.test.d.ts +2 -0
  120. package/dist/types/src/skills/database/operations/object-delete.test.d.ts.map +1 -0
  121. package/dist/types/src/skills/database/operations/object-update.test.d.ts +2 -0
  122. package/dist/types/src/skills/database/operations/object-update.test.d.ts.map +1 -0
  123. package/dist/types/src/skills/database/operations/query.test.d.ts +2 -0
  124. package/dist/types/src/skills/database/operations/query.test.d.ts.map +1 -0
  125. package/dist/types/src/skills/database/operations/relation-create.test.d.ts +2 -0
  126. package/dist/types/src/skills/database/operations/relation-create.test.d.ts.map +1 -0
  127. package/dist/types/src/skills/database/operations/schema-add.d.ts +3 -1
  128. package/dist/types/src/skills/database/operations/schema-add.test.d.ts +2 -0
  129. package/dist/types/src/skills/database/operations/schema-add.test.d.ts.map +1 -0
  130. package/dist/types/src/skills/database/operations/schema-list.test.d.ts +2 -0
  131. package/dist/types/src/skills/database/operations/schema-list.test.d.ts.map +1 -0
  132. package/dist/types/src/skills/database/operations/tag-add.test.d.ts +2 -0
  133. package/dist/types/src/skills/database/operations/tag-add.test.d.ts.map +1 -0
  134. package/dist/types/src/skills/database/operations/tag-remove.test.d.ts +2 -0
  135. package/dist/types/src/skills/database/operations/tag-remove.test.d.ts.map +1 -0
  136. package/dist/types/src/skills/delegation/operations/delegate-task.d.ts +6 -5
  137. package/dist/types/src/skills/delegation/operations/delegate-task.d.ts.map +1 -1
  138. package/dist/types/src/skills/index.d.ts +1 -0
  139. package/dist/types/src/skills/index.d.ts.map +1 -1
  140. package/dist/types/src/skills/linear/operations/sync-issues.d.ts.map +1 -1
  141. package/dist/types/src/skills/memory/operations/delete.test.d.ts +2 -0
  142. package/dist/types/src/skills/memory/operations/delete.test.d.ts.map +1 -0
  143. package/dist/types/src/skills/memory/operations/query.test.d.ts +2 -0
  144. package/dist/types/src/skills/memory/operations/query.test.d.ts.map +1 -0
  145. package/dist/types/src/skills/memory/operations/save.test.d.ts +2 -0
  146. package/dist/types/src/skills/memory/operations/save.test.d.ts.map +1 -0
  147. package/dist/types/src/skills/planning/operations/definitions.d.ts +1 -3
  148. package/dist/types/src/skills/planning/operations/definitions.d.ts.map +1 -1
  149. package/dist/types/src/skills/planning/operations/plan-reminder.d.ts +7 -6
  150. package/dist/types/src/skills/planning/operations/plan-reminder.d.ts.map +1 -1
  151. package/dist/types/src/skills/planning/operations/plan-reminder.test.d.ts +2 -0
  152. package/dist/types/src/skills/planning/operations/plan-reminder.test.d.ts.map +1 -0
  153. package/dist/types/src/skills/planning/operations/update-tasks.d.ts +3 -1
  154. package/dist/types/src/skills/planning/operations/update-tasks.d.ts.map +1 -1
  155. package/dist/types/src/skills/project/index.d.ts +3 -0
  156. package/dist/types/src/skills/project/index.d.ts.map +1 -0
  157. package/dist/types/src/skills/project/operations/artifact-add.d.ts +5 -0
  158. package/dist/types/src/skills/project/operations/artifact-add.d.ts.map +1 -0
  159. package/dist/types/src/skills/project/operations/artifact-list.d.ts +5 -0
  160. package/dist/types/src/skills/project/operations/artifact-list.d.ts.map +1 -0
  161. package/dist/types/src/skills/project/operations/definitions.d.ts +23 -0
  162. package/dist/types/src/skills/project/operations/definitions.d.ts.map +1 -0
  163. package/dist/types/src/skills/project/operations/index.d.ts +4 -0
  164. package/dist/types/src/skills/project/operations/index.d.ts.map +1 -0
  165. package/dist/types/src/skills/project/skill.d.ts +4 -0
  166. package/dist/types/src/skills/project/skill.d.ts.map +1 -0
  167. package/dist/types/src/skills/project/skill.test.d.ts.map +1 -0
  168. package/dist/types/src/skills/skill-manager/skill.d.ts.map +1 -1
  169. package/dist/types/src/supervisor/delegation-strategy.d.ts +5 -5
  170. package/dist/types/src/supervisor/delegation-strategy.d.ts.map +1 -1
  171. package/dist/types/src/supervisor/delegation-strategy.test.d.ts +2 -0
  172. package/dist/types/src/supervisor/delegation-strategy.test.d.ts.map +1 -0
  173. package/dist/types/src/sync/sync.test.d.ts +2 -0
  174. package/dist/types/src/sync/sync.test.d.ts.map +1 -0
  175. package/dist/types/src/testing/index.d.ts +1 -0
  176. package/dist/types/src/testing/index.d.ts.map +1 -1
  177. package/dist/types/src/testing/operations.d.ts +7 -0
  178. package/dist/types/src/testing/operations.d.ts.map +1 -0
  179. package/dist/types/src/types/Agent.d.ts +28 -31
  180. package/dist/types/src/types/Agent.d.ts.map +1 -1
  181. package/dist/types/src/types/Chat.d.ts +28 -14
  182. package/dist/types/src/types/Chat.d.ts.map +1 -1
  183. package/dist/types/src/types/Chat.test.d.ts +2 -0
  184. package/dist/types/src/types/Chat.test.d.ts.map +1 -0
  185. package/dist/types/src/types/index.d.ts +1 -2
  186. package/dist/types/src/types/index.d.ts.map +1 -1
  187. package/dist/types/tsconfig.tsbuildinfo +1 -1
  188. package/package.json +30 -29
  189. package/src/operations/run-instructions.test.ts +26 -34
  190. package/src/operations/skill-resolution.test.ts +6 -1
  191. package/src/skills/agent/operations/definitions.ts +18 -62
  192. package/src/skills/agent/operations/get-context.test.ts +81 -0
  193. package/src/skills/agent/operations/get-context.ts +9 -36
  194. package/src/skills/agent/operations/index.ts +1 -3
  195. package/src/skills/agent/operations/relay.test.ts +63 -0
  196. package/src/skills/agent/operations/relay.ts +124 -0
  197. package/src/skills/agent/skill.ts +3 -15
  198. package/src/skills/agent-wizard/operations/create-agent.ts +3 -3
  199. package/src/skills/agent-wizard/operations/definitions.ts +19 -4
  200. package/src/skills/agent-wizard/operations/index.ts +1 -1
  201. package/src/skills/agent-wizard/operations/sync-automation.test.ts +103 -0
  202. package/src/skills/agent-wizard/operations/sync-automation.ts +205 -0
  203. package/src/skills/agent-wizard/skill.ts +9 -10
  204. package/src/skills/alarm/skill.test.ts +2 -2
  205. package/src/skills/browser/skill.test.ts +4 -4
  206. package/src/skills/database/operations/context-add.test.ts +46 -0
  207. package/src/skills/database/operations/context-remove.test.ts +46 -0
  208. package/src/skills/database/operations/definitions.ts +23 -7
  209. package/src/skills/database/operations/load.test.ts +38 -0
  210. package/src/skills/database/operations/object-create.test.ts +116 -0
  211. package/src/skills/database/operations/object-create.ts +13 -2
  212. package/src/skills/database/operations/object-delete.test.ts +37 -0
  213. package/src/skills/database/operations/object-update.test.ts +39 -0
  214. package/src/skills/database/operations/query.test.ts +128 -0
  215. package/src/skills/database/operations/relation-create.test.ts +46 -0
  216. package/src/skills/database/operations/schema-add.test.ts +79 -0
  217. package/src/skills/database/operations/schema-list.test.ts +42 -0
  218. package/src/skills/database/operations/tag-add.test.ts +41 -0
  219. package/src/skills/database/operations/tag-remove.test.ts +43 -0
  220. package/src/skills/delegation/operations/delegate-task.test.ts +51 -36
  221. package/src/skills/delegation/operations/delegate-task.ts +31 -48
  222. package/src/skills/discord/operations/fetch-messages.test.ts +2 -2
  223. package/src/skills/github/operations/fetch-prs.ts +1 -1
  224. package/src/skills/index.ts +1 -0
  225. package/src/skills/linear/operations/linear.test.ts +1 -1
  226. package/src/skills/linear/operations/sync-issues.ts +6 -23
  227. package/src/skills/memory/operations/delete.test.ts +37 -0
  228. package/src/skills/memory/operations/query.test.ts +76 -0
  229. package/src/skills/memory/operations/save.test.ts +43 -0
  230. package/src/skills/planning/operations/definitions.ts +9 -6
  231. package/src/skills/planning/operations/plan-reminder.test.ts +123 -0
  232. package/src/skills/planning/operations/plan-reminder.ts +49 -31
  233. package/src/skills/planning/operations/update-tasks.md +23 -22
  234. package/src/skills/planning/operations/update-tasks.test.ts +31 -17
  235. package/src/skills/planning/operations/update-tasks.ts +17 -25
  236. package/src/skills/project/index.ts +6 -0
  237. package/src/skills/project/operations/artifact-add.ts +47 -0
  238. package/src/skills/project/operations/artifact-list.ts +41 -0
  239. package/src/skills/project/operations/definitions.ts +63 -0
  240. package/src/skills/project/operations/index.ts +12 -0
  241. package/src/skills/project/skill.test.ts +78 -0
  242. package/src/skills/project/skill.ts +42 -0
  243. package/src/skills/skill-manager/operations/definitions.ts +1 -1
  244. package/src/skills/skill-manager/skill.test.ts +1 -1
  245. package/src/skills/skill-manager/skill.ts +7 -5
  246. package/src/skills/websearch/skill.test.ts +2 -2
  247. package/src/supervisor/delegation-strategy.test.ts +129 -0
  248. package/src/supervisor/delegation-strategy.ts +92 -56
  249. package/src/sync/sync.test.ts +95 -0
  250. package/src/sync/sync.ts +5 -3
  251. package/src/testing/index.ts +1 -0
  252. package/src/testing/operations.ts +65 -0
  253. package/src/types/Agent.test.ts +36 -66
  254. package/src/types/Agent.ts +108 -137
  255. package/src/types/Chat.test.ts +234 -0
  256. package/src/types/Chat.ts +80 -26
  257. package/src/types/index.ts +1 -2
  258. package/dist/lib/neutral/add-artifact-5JNUYLCA.mjs +0 -24
  259. package/dist/lib/neutral/add-artifact-5JNUYLCA.mjs.map +0 -7
  260. package/dist/lib/neutral/agent-BFAYIBJI.mjs +0 -65
  261. package/dist/lib/neutral/agent-BFAYIBJI.mjs.map +0 -7
  262. package/dist/lib/neutral/agent-rules-KWCBKJ5W.mjs.map +0 -7
  263. package/dist/lib/neutral/chunk-3KA66YBF.mjs +0 -62
  264. package/dist/lib/neutral/chunk-3KA66YBF.mjs.map +0 -7
  265. package/dist/lib/neutral/chunk-6SGNFL6I.mjs +0 -85
  266. package/dist/lib/neutral/chunk-6SGNFL6I.mjs.map +0 -7
  267. package/dist/lib/neutral/chunk-BDTGFPM7.mjs +0 -113
  268. package/dist/lib/neutral/chunk-BDTGFPM7.mjs.map +0 -7
  269. package/dist/lib/neutral/chunk-EPQCDGIV.mjs +0 -27
  270. package/dist/lib/neutral/chunk-EPQCDGIV.mjs.map +0 -7
  271. package/dist/lib/neutral/chunk-H4W22FFJ.mjs +0 -232
  272. package/dist/lib/neutral/chunk-H4W22FFJ.mjs.map +0 -7
  273. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +0 -10
  274. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +0 -7
  275. package/dist/lib/neutral/chunk-JBTXZQ5G.mjs +0 -60
  276. package/dist/lib/neutral/chunk-JBTXZQ5G.mjs.map +0 -7
  277. package/dist/lib/neutral/chunk-JKOOA5OS.mjs +0 -97
  278. package/dist/lib/neutral/chunk-JKOOA5OS.mjs.map +0 -7
  279. package/dist/lib/neutral/chunk-JTEBE7KA.mjs +0 -66
  280. package/dist/lib/neutral/chunk-JTEBE7KA.mjs.map +0 -7
  281. package/dist/lib/neutral/chunk-KLFXJ2Z3.mjs +0 -36
  282. package/dist/lib/neutral/chunk-KLFXJ2Z3.mjs.map +0 -7
  283. package/dist/lib/neutral/chunk-LBA5UOLF.mjs +0 -87
  284. package/dist/lib/neutral/chunk-LBA5UOLF.mjs.map +0 -7
  285. package/dist/lib/neutral/chunk-LL3MOQUZ.mjs +0 -120
  286. package/dist/lib/neutral/chunk-LL3MOQUZ.mjs.map +0 -7
  287. package/dist/lib/neutral/chunk-MFVIGJBW.mjs +0 -68
  288. package/dist/lib/neutral/chunk-MFVIGJBW.mjs.map +0 -7
  289. package/dist/lib/neutral/chunk-PBARVBNJ.mjs +0 -86
  290. package/dist/lib/neutral/chunk-PBARVBNJ.mjs.map +0 -7
  291. package/dist/lib/neutral/chunk-VJ5QBYM5.mjs +0 -61
  292. package/dist/lib/neutral/chunk-VJ5QBYM5.mjs.map +0 -7
  293. package/dist/lib/neutral/chunk-YQSQRSXG.mjs +0 -367
  294. package/dist/lib/neutral/chunk-YQSQRSXG.mjs.map +0 -7
  295. package/dist/lib/neutral/chunk-Z2HFOZXK.mjs +0 -191
  296. package/dist/lib/neutral/chunk-Z2HFOZXK.mjs.map +0 -7
  297. package/dist/lib/neutral/context-add-DZTPB3FK.mjs +0 -22
  298. package/dist/lib/neutral/context-add-DZTPB3FK.mjs.map +0 -7
  299. package/dist/lib/neutral/context-remove-XSBOM4VJ.mjs +0 -22
  300. package/dist/lib/neutral/context-remove-XSBOM4VJ.mjs.map +0 -7
  301. package/dist/lib/neutral/create-agent-5WTOFIEK.mjs +0 -35
  302. package/dist/lib/neutral/create-agent-5WTOFIEK.mjs.map +0 -7
  303. package/dist/lib/neutral/definitions-VRR5OGXI.mjs +0 -17
  304. package/dist/lib/neutral/definitions-VRR5OGXI.mjs.map +0 -7
  305. package/dist/lib/neutral/delegate-task-UX64NK4M.mjs +0 -13
  306. package/dist/lib/neutral/delegate-task-UX64NK4M.mjs.map +0 -7
  307. package/dist/lib/neutral/delete-IU7HPU3K.mjs +0 -19
  308. package/dist/lib/neutral/delete-IU7HPU3K.mjs.map +0 -7
  309. package/dist/lib/neutral/enable-skills-FHEJXQVB.mjs +0 -47
  310. package/dist/lib/neutral/enable-skills-FHEJXQVB.mjs.map +0 -7
  311. package/dist/lib/neutral/fetch-5LY25EBR.mjs +0 -24
  312. package/dist/lib/neutral/fetch-5LY25EBR.mjs.map +0 -7
  313. package/dist/lib/neutral/fetch-messages-CQMDI36G.mjs +0 -139
  314. package/dist/lib/neutral/fetch-messages-CQMDI36G.mjs.map +0 -7
  315. package/dist/lib/neutral/get-context-Q4YY6DRV.mjs +0 -77
  316. package/dist/lib/neutral/get-context-Q4YY6DRV.mjs.map +0 -7
  317. package/dist/lib/neutral/get-current-date-JR5F7ZS3.mjs +0 -17
  318. package/dist/lib/neutral/get-current-date-JR5F7ZS3.mjs.map +0 -7
  319. package/dist/lib/neutral/index.mjs +0 -875
  320. package/dist/lib/neutral/index.mjs.map +0 -7
  321. package/dist/lib/neutral/load-S6HC5TGX.mjs +0 -17
  322. package/dist/lib/neutral/load-S6HC5TGX.mjs.map +0 -7
  323. package/dist/lib/neutral/meta.json +0 -1
  324. package/dist/lib/neutral/object-create-PVDQ62CG.mjs +0 -32
  325. package/dist/lib/neutral/object-create-PVDQ62CG.mjs.map +0 -7
  326. package/dist/lib/neutral/object-delete-3CSL6XI6.mjs +0 -18
  327. package/dist/lib/neutral/object-delete-3CSL6XI6.mjs.map +0 -7
  328. package/dist/lib/neutral/object-update-NIGMZINM.mjs +0 -28
  329. package/dist/lib/neutral/object-update-NIGMZINM.mjs.map +0 -7
  330. package/dist/lib/neutral/plan-reminder-N4X6JPBI.mjs +0 -88
  331. package/dist/lib/neutral/plan-reminder-N4X6JPBI.mjs.map +0 -7
  332. package/dist/lib/neutral/qualifier-5CIRZYX5.mjs +0 -91
  333. package/dist/lib/neutral/qualifier-5CIRZYX5.mjs.map +0 -7
  334. package/dist/lib/neutral/query-K4R7UHLU.mjs +0 -32
  335. package/dist/lib/neutral/query-K4R7UHLU.mjs.map +0 -7
  336. package/dist/lib/neutral/query-NCTCRYTD.mjs +0 -59
  337. package/dist/lib/neutral/query-NCTCRYTD.mjs.map +0 -7
  338. package/dist/lib/neutral/query-skills-7GQFSU4V.mjs +0 -17
  339. package/dist/lib/neutral/query-skills-7GQFSU4V.mjs.map +0 -7
  340. package/dist/lib/neutral/relation-create-QKXHTL7G.mjs +0 -34
  341. package/dist/lib/neutral/relation-create-QKXHTL7G.mjs.map +0 -7
  342. package/dist/lib/neutral/relation-delete-PDIWT2JX.mjs +0 -18
  343. package/dist/lib/neutral/relation-delete-PDIWT2JX.mjs.map +0 -7
  344. package/dist/lib/neutral/run-instructions-72ASH5EZ.mjs +0 -165
  345. package/dist/lib/neutral/run-instructions-72ASH5EZ.mjs.map +0 -7
  346. package/dist/lib/neutral/save-UYVRA4RS.mjs +0 -23
  347. package/dist/lib/neutral/save-UYVRA4RS.mjs.map +0 -7
  348. package/dist/lib/neutral/schema-add-5NOK2RWE.mjs +0 -25
  349. package/dist/lib/neutral/schema-add-5NOK2RWE.mjs.map +0 -7
  350. package/dist/lib/neutral/schema-list-BZUR5KMX.mjs +0 -37
  351. package/dist/lib/neutral/schema-list-BZUR5KMX.mjs.map +0 -7
  352. package/dist/lib/neutral/set-alarm-BD3NEYSU.mjs +0 -65
  353. package/dist/lib/neutral/set-alarm-BD3NEYSU.mjs.map +0 -7
  354. package/dist/lib/neutral/sync-issues-O76MCMD3.mjs +0 -166
  355. package/dist/lib/neutral/sync-issues-O76MCMD3.mjs.map +0 -7
  356. package/dist/lib/neutral/sync-triggers-YBTLPCUB.mjs +0 -138
  357. package/dist/lib/neutral/sync-triggers-YBTLPCUB.mjs.map +0 -7
  358. package/dist/lib/neutral/tag-add-L5WNOBYY.mjs +0 -18
  359. package/dist/lib/neutral/tag-add-L5WNOBYY.mjs.map +0 -7
  360. package/dist/lib/neutral/tag-remove-WV5RPE5W.mjs +0 -18
  361. package/dist/lib/neutral/tag-remove-WV5RPE5W.mjs.map +0 -7
  362. package/dist/lib/neutral/testing/index.mjs +0 -65
  363. package/dist/lib/neutral/testing/index.mjs.map +0 -7
  364. package/dist/lib/neutral/update-tasks-HX4ILWOU.mjs +0 -46
  365. package/dist/lib/neutral/update-tasks-HX4ILWOU.mjs.map +0 -7
  366. package/dist/types/src/skills/agent/operations/add-artifact.d.ts +0 -4
  367. package/dist/types/src/skills/agent/operations/add-artifact.d.ts.map +0 -1
  368. package/dist/types/src/skills/agent/operations/agent.d.ts +0 -4
  369. package/dist/types/src/skills/agent/operations/agent.d.ts.map +0 -1
  370. package/dist/types/src/skills/agent/operations/qualifier.d.ts +0 -5
  371. package/dist/types/src/skills/agent/operations/qualifier.d.ts.map +0 -1
  372. package/dist/types/src/skills/agent/skill.test.d.ts.map +0 -1
  373. package/dist/types/src/skills/agent-wizard/operations/sync-triggers.d.ts +0 -8
  374. package/dist/types/src/skills/agent-wizard/operations/sync-triggers.d.ts.map +0 -1
  375. package/dist/types/src/skills/database/skill.test.d.ts +0 -2
  376. package/dist/types/src/skills/database/skill.test.d.ts.map +0 -1
  377. package/dist/types/src/skills/memory/skill.test.d.ts +0 -2
  378. package/dist/types/src/skills/memory/skill.test.d.ts.map +0 -1
  379. package/dist/types/src/skills/planning/skill.test.d.ts +0 -2
  380. package/dist/types/src/skills/planning/skill.test.d.ts.map +0 -1
  381. package/dist/types/src/types/Plan.d.ts +0 -80
  382. package/dist/types/src/types/Plan.d.ts.map +0 -1
  383. package/src/operations/run-instructions.conversations.json +0 -1
  384. package/src/skills/agent/operations/add-artifact.ts +0 -20
  385. package/src/skills/agent/operations/agent.ts +0 -69
  386. package/src/skills/agent/operations/qualifier.ts +0 -97
  387. package/src/skills/agent/skill.conversations.json +0 -1
  388. package/src/skills/agent/skill.test.ts +0 -728
  389. package/src/skills/agent-wizard/operations/sync-triggers.ts +0 -169
  390. package/src/skills/database/skill.conversations.json +0 -1
  391. package/src/skills/database/skill.test.ts +0 -531
  392. package/src/skills/memory/skill.conversations.json +0 -1
  393. package/src/skills/memory/skill.test.ts +0 -138
  394. package/src/skills/planning/skill.conversations.json +0 -1
  395. package/src/skills/planning/skill.test.ts +0 -123
  396. package/src/types/Plan.ts +0 -123
  397. /package/dist/types/src/skills/{agent → project}/skill.test.d.ts +0 -0
@@ -0,0 +1,198 @@
1
+ import { t as __exportAll } from "./chunk-rolldown-runtime.mjs";
2
+ import { l as HarnessContextError, r as CompanionTo, s as make, t as Chat } from "./chunk-Chat.mjs";
3
+ import "./chunk-Memory.mjs";
4
+ import { Instructions, McpServer } from "@dxos/compute";
5
+ import * as Schema from "effect/Schema";
6
+ import { AiContext, Harness } from "@dxos/assistant";
7
+ import { Annotation, DXN, Database, Feed, Filter, Obj, Query, Ref, Relation, Type } from "@dxos/echo";
8
+ import { IdentityDid } from "@dxos/keys";
9
+ import * as Effect from "effect/Effect";
10
+ import { EffectEx } from "@dxos/effect";
11
+ import { LabelAnnotation } from "@dxos/echo/Annotation";
12
+ //#region src/types/Agent.ts
13
+ var Agent_exports = /* @__PURE__ */ __exportAll({
14
+ Agent: () => Agent,
15
+ getFromChatContext: () => getFromChatContext,
16
+ loadChat: () => loadChat,
17
+ loadForChat: () => loadForChat,
18
+ loadInstructions: () => loadInstructions,
19
+ makeInitialized: () => makeInitialized,
20
+ resetChatHistory: () => resetChatHistory
21
+ });
22
+ /**
23
+ * An agent identity: a personality (attribution DID) plus its preset payload (instructions with
24
+ * text, skills, objects, and commands). Owns no conversation state — a chat is linked to the agent
25
+ * it runs as by a `CompanionTo` relation, and durable work products live on a Project
26
+ * (plugin-projects DESIGN.md, "Agent ↔ Project convergence").
27
+ */
28
+ var Agent = class extends Type.makeObject(DXN.make("org.dxos.type.agent", "0.2.0"))(Schema.Struct({
29
+ name: Schema.optional(Schema.String),
30
+ /**
31
+ * Stable identity DID for the agent, used to attribute content it authors (e.g. suggestion
32
+ * branches) as its own author — distinct from any human or other agent. Provisioned
33
+ * externally, never minted by {@link makeInitialized} (see the note there); the slot a real
34
+ * HALO identity DID takes once agents get first-class identities. Optional because nothing
35
+ * populates it yet.
36
+ */
37
+ did: Schema.optional(IdentityDid).annotations({
38
+ title: "DID",
39
+ description: "The agent's identity DID; attributes content the agent authors."
40
+ }),
41
+ /**
42
+ * Master switch for the agent's automation (propagated onto its compiled routine triggers).
43
+ */
44
+ enabled: Schema.optional(Schema.Boolean).annotations({
45
+ title: "Enabled",
46
+ description: "Master switch for agent automation; propagated to all triggers on sync."
47
+ }),
48
+ /**
49
+ * Instructions for the agent — the preset payload (text, skills, objects, commands) a chat
50
+ * receives when the agent is applied to it.
51
+ */
52
+ instructions: Ref.Ref(Instructions.Instructions).pipe(Schema.annotations({ title: "Instructions" }))
53
+ }).pipe(Annotation.LabelAnnotation.set(["name"]), Annotation.IconAnnotation.set({
54
+ icon: "ph--drone--regular",
55
+ hue: "sky"
56
+ }))) {};
57
+ /**
58
+ * Resolves the agent's instructions and their markdown text.
59
+ */
60
+ var loadInstructions = (agent) => Effect.gen(function* () {
61
+ const instructions = yield* Database.load(agent.instructions);
62
+ return {
63
+ text: yield* Database.load(instructions.text).pipe(Effect.map((doc) => doc.content), Effect.catchTag("EntityNotFoundError", () => Effect.succeed(""))),
64
+ instructions
65
+ };
66
+ });
67
+ /**
68
+ * Resolves the agent's primary chat (the agent holds no chat ref).
69
+ */
70
+ var loadChat = (agent) => Effect.gen(function* () {
71
+ const [chat] = (yield* Database.query(Query.select(Filter.id(agent.id)).targetOf(CompanionTo).source()).run).filter(Obj.instanceOf(Chat));
72
+ return chat;
73
+ }).pipe(Effect.orDie);
74
+ /**
75
+ * Resolves the agent a chat runs as, if any. Plain (agentless) chats yield `undefined`.
76
+ * Companion targets are untyped, so the agent is the one target of that type.
77
+ */
78
+ var loadForChat = (chat) => Effect.gen(function* () {
79
+ return (yield* Database.query(Query.select(Filter.id(chat.id)).sourceOf(CompanionTo).target()).run).find(Obj.instanceOf(Agent));
80
+ }).pipe(Effect.orDie);
81
+ /**
82
+ * Creates a fully initialized Agent with its first chat and context bindings.
83
+ *
84
+ * @param props - Agent properties including spec, skills, and context objects.
85
+ * @param skill - The skill to use for the agent context.
86
+ * @returns An Effect that yields the initialized Agent.
87
+ */
88
+ var makeInitialized = (props, skill) => Effect.gen(function* () {
89
+ const { skills: propsSkills, contextObjects, ...agentProps } = props;
90
+ const persistedPropsSkills = yield* Effect.all((propsSkills ?? []).map((ref) => ref.target !== void 0 ? Database.add(ref.target).pipe(Effect.map((persisted) => Ref.make(persisted))) : Effect.succeed(ref)));
91
+ const instructions = yield* Database.add(Instructions.make({
92
+ text: props.instructions,
93
+ skills: persistedPropsSkills
94
+ }));
95
+ const agent = yield* Database.add(Obj.make(Agent, {
96
+ ...agentProps,
97
+ instructions: Ref.make(instructions),
98
+ enabled: props.enabled ?? true
99
+ }));
100
+ Obj.setParent(instructions, agent);
101
+ const feed = yield* Database.add(Feed.make());
102
+ const runtime = yield* Effect.runtime();
103
+ const contextBinder = yield* EffectEx.acquireReleaseResource(() => new AiContext.Binder({
104
+ feed,
105
+ runtime
106
+ }));
107
+ const agentSkill = yield* Database.add(Obj.clone(skill, { deep: "all" }));
108
+ const chat = yield* Database.add(make({
109
+ [Obj.Parent]: agent,
110
+ feed: Ref.make(feed),
111
+ instructions: Ref.make(instructions)
112
+ }));
113
+ Obj.setParent(feed, chat);
114
+ yield* Effect.promise(() => contextBinder.bind({
115
+ skills: [Ref.make(agentSkill), ...persistedPropsSkills],
116
+ objects: [
117
+ Ref.make(agent),
118
+ Ref.make(chat),
119
+ ...contextObjects ?? []
120
+ ]
121
+ }));
122
+ yield* Database.add(Relation.make(CompanionTo, {
123
+ [Relation.Source]: chat,
124
+ [Relation.Target]: agent
125
+ }));
126
+ return agent;
127
+ }).pipe(Effect.scoped);
128
+ /**
129
+ * Resets the agent's chat history by rebuilding the chat context.
130
+ * Preserves the existing skills and objects from the current chat context.
131
+ *
132
+ * @param agent - The agent whose chat history should be reset. Must have an existing chat.
133
+ * @returns An Effect that resets the chat history.
134
+ */
135
+ var resetChatHistory = (agent) => Effect.gen(function* () {
136
+ const existingChat = yield* loadChat(agent);
137
+ if (!existingChat) return yield* Effect.dieMessage("Agent must have an existing chat to reset.");
138
+ const existingFeed = yield* Database.load(existingChat.feed);
139
+ const runtime = yield* Effect.runtime();
140
+ const existingContextBinder = yield* EffectEx.acquireReleaseResource(() => new AiContext.Binder({
141
+ feed: existingFeed,
142
+ runtime
143
+ }));
144
+ const skills = existingContextBinder.getSkills().map((skill) => Ref.make(skill));
145
+ const objects = existingContextBinder.getObjects().filter((object) => !Obj.instanceOf(Chat, object)).map((object) => Ref.make(object));
146
+ const feed = yield* Database.add(Feed.make());
147
+ const contextBinder = yield* EffectEx.acquireReleaseResource(() => new AiContext.Binder({
148
+ feed,
149
+ runtime
150
+ }));
151
+ const chat = yield* Database.add(make({
152
+ [Obj.Parent]: agent,
153
+ feed: Ref.make(feed),
154
+ instructions: agent.instructions
155
+ }));
156
+ Obj.setParent(feed, chat);
157
+ yield* Effect.promise(() => contextBinder.bind({
158
+ skills,
159
+ objects: [...objects, Ref.make(chat)]
160
+ }));
161
+ const relations = yield* Database.query(Query.select(Filter.id(agent.id)).targetOf(CompanionTo)).run.pipe(Effect.orDie);
162
+ for (const relation of relations) if (Relation.getSource(relation).id === existingChat.id) yield* Database.remove(relation);
163
+ yield* Database.add(Relation.make(CompanionTo, {
164
+ [Relation.Source]: chat,
165
+ [Relation.Target]: agent
166
+ }));
167
+ }).pipe(Effect.scoped);
168
+ var getFromChatContext = Effect.gen(function* () {
169
+ const agents = yield* Harness.queryContext(Filter.type(Agent));
170
+ if (agents.length !== 1) return yield* Effect.fail(new HarnessContextError({
171
+ type: "agent",
172
+ count: agents.length
173
+ }));
174
+ return agents[0];
175
+ });
176
+ //#endregion
177
+ //#region src/types/McpServer.ts
178
+ var McpServer_exports = /* @__PURE__ */ __exportAll({ McpServer: () => McpServer$1 });
179
+ /**
180
+ * MCP server configuration stored as a space-level ECHO object.
181
+ *
182
+ * Composes the canonical connection spec from `@dxos/compute` (`url`, `protocol`, `apiKey`)
183
+ * and adds instance-level fields (`name`, `enabled`) plus ECHO annotations.
184
+ *
185
+ * NOTE: `apiKey` is stored in plaintext and replicated to all peers with access to the space.
186
+ * A future iteration should move secrets to per-device credential storage or use envelope encryption.
187
+ */
188
+ var McpServer$1 = class extends Type.makeObject(DXN.make("org.dxos.type.assistant.mcpServer", "0.1.0"))(Schema.Struct({
189
+ ...McpServer.McpServer.fields,
190
+ enabled: Schema.optional(Schema.Boolean)
191
+ }).pipe(LabelAnnotation.set(["name"]), Annotation.IconAnnotation.set({
192
+ icon: "ph--plugs-connected--regular",
193
+ hue: "sky"
194
+ }))) {};
195
+ //#endregion
196
+ export { loadForChat as a, loadChat as i, Agent as n, loadInstructions as o, Agent_exports as r, makeInitialized as s, McpServer_exports as t };
197
+
198
+ //# sourceMappingURL=chunk-types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-types.mjs","names":[],"sources":["../../src/types/Agent.ts","../../src/types/McpServer.ts"],"sourcesContent":["//\n// Copyright 2026 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\n\nimport { AiContext, Harness } from '@dxos/assistant';\nimport { Instructions, type Skill } from '@dxos/compute';\nimport { Annotation, Database, DXN, Feed, Filter, Obj, Query, Ref, Relation, Type } from '@dxos/echo';\nimport { type EntityNotFoundError } from '@dxos/echo/Err';\nimport { EffectEx } from '@dxos/effect';\nimport { IdentityDid } from '@dxos/keys';\n\nimport { HarnessContextError } from '../errors';\nimport * as Chat from './Chat';\n\n/**\n * An agent identity: a personality (attribution DID) plus its preset payload (instructions with\n * text, skills, objects, and commands). Owns no conversation state — a chat is linked to the agent\n * it runs as by a `CompanionTo` relation, and durable work products live on a Project\n * (plugin-projects DESIGN.md, \"Agent ↔ Project convergence\").\n */\nexport class Agent extends Type.makeObject<Agent>(DXN.make('org.dxos.type.agent', '0.2.0'))(\n Schema.Struct({\n name: Schema.optional(Schema.String),\n\n /**\n * Stable identity DID for the agent, used to attribute content it authors (e.g. suggestion\n * branches) as its own author — distinct from any human or other agent. Provisioned\n * externally, never minted by {@link makeInitialized} (see the note there); the slot a real\n * HALO identity DID takes once agents get first-class identities. Optional because nothing\n * populates it yet.\n */\n did: Schema.optional(IdentityDid).annotations({\n title: 'DID',\n description: \"The agent's identity DID; attributes content the agent authors.\",\n }),\n\n /**\n * Master switch for the agent's automation (propagated onto its compiled routine triggers).\n */\n enabled: Schema.optional(Schema.Boolean).annotations({\n title: 'Enabled',\n description: 'Master switch for agent automation; propagated to all triggers on sync.',\n }),\n\n /**\n * Instructions for the agent — the preset payload (text, skills, objects, commands) a chat\n * receives when the agent is applied to it.\n */\n instructions: Ref.Ref(Instructions.Instructions).pipe(Schema.annotations({ title: 'Instructions' })),\n }).pipe(\n Annotation.LabelAnnotation.set(['name']),\n Annotation.IconAnnotation.set({ icon: 'ph--drone--regular', hue: 'sky' }),\n ),\n) {}\n\n/**\n * Resolves the agent's instructions and their markdown text.\n */\nexport const loadInstructions = (\n agent: Agent,\n): Effect.Effect<{ text: string; instructions: Instructions.Instructions }, EntityNotFoundError, Database.Service> =>\n Effect.gen(function* () {\n const instructions = yield* Database.load(agent.instructions);\n const text = yield* Database.load(instructions.text).pipe(\n Effect.map((doc) => doc.content),\n Effect.catchTag('EntityNotFoundError', () => Effect.succeed('')),\n );\n return { text, instructions };\n });\n\n/**\n * Resolves the agent's primary chat (the agent holds no chat ref).\n */\nexport const loadChat = (agent: Agent): Effect.Effect<Chat.Chat | undefined, never, Database.Service> =>\n Effect.gen(function* () {\n const chats = yield* Database.query(Query.select(Filter.id(agent.id)).targetOf(Chat.CompanionTo).source()).run;\n const [chat] = chats.filter(Obj.instanceOf(Chat.Chat));\n return chat;\n }).pipe(Effect.orDie);\n\n/**\n * Resolves the agent a chat runs as, if any. Plain (agentless) chats yield `undefined`.\n * Companion targets are untyped, so the agent is the one target of that type.\n */\nexport const loadForChat = (chat: Chat.Chat): Effect.Effect<Agent | undefined, never, Database.Service> =>\n Effect.gen(function* () {\n const targets = yield* Database.query(Query.select(Filter.id(chat.id)).sourceOf(Chat.CompanionTo).target()).run;\n return targets.find(Obj.instanceOf(Agent));\n }).pipe(Effect.orDie);\n\nexport type MakeProps = Omit<Obj.MakeProps<typeof Agent>, 'instructions'> & {\n instructions: string;\n skills?: Ref.Ref<Skill.Skill>[];\n contextObjects?: Ref.Ref<Obj.Any>[];\n};\n\n/**\n * Creates a fully initialized Agent with its first chat and context bindings.\n *\n * @param props - Agent properties including spec, skills, and context objects.\n * @param skill - The skill to use for the agent context.\n * @returns An Effect that yields the initialized Agent.\n */\nexport const makeInitialized = (\n props: MakeProps,\n // TODO(burdon): Reconcile with props.skills.\n skill: Skill.Skill,\n): Effect.Effect<Agent, never, Database.Service> =>\n Effect.gen(function* () {\n const { skills: propsSkills, contextObjects, ...agentProps } = props;\n\n // Persist any inline (transient) skills so their refs are resolvable from feed bindings later.\n // Refs created with Ref.make(obj) carry an inline target, but when stored in ECHO and read back\n // by a new AiSession, the target is lost and must be found in the DB via tryLoad().\n const persistedPropsSkills = yield* Effect.all(\n (propsSkills ?? []).map((ref) =>\n ref.target !== undefined\n ? Database.add(ref.target).pipe(Effect.map((persisted) => Ref.make(persisted)))\n : Effect.succeed(ref),\n ),\n );\n\n // The typed Instructions is the agent's preset payload: text plus skill set.\n const instructions = yield* Database.add(\n Instructions.make({ text: props.instructions, skills: persistedPropsSkills }),\n );\n const agent = yield* Database.add(\n Obj.make(Agent, {\n // `did` (if provided) flows through via agentProps. Not auto-minted here: `IdentityDid.random()`\n // uses uncontrolled `randomBytes`, which would make agent creation non-deterministic and break\n // memoized-LLM tests. Minting is deferred to the runtime-identity provision (see agent-identity\n // spec), where it can be deterministic or a real HALO DID.\n ...agentProps,\n instructions: Ref.make(instructions),\n enabled: props.enabled ?? true,\n }),\n );\n Obj.setParent(instructions, agent);\n const feed = yield* Database.add(Feed.make());\n const runtime = yield* Effect.runtime<Database.Service>();\n const contextBinder = yield* EffectEx.acquireReleaseResource(() => new AiContext.Binder({ feed, runtime }));\n // TODO(dmaretskyi): Skill registry.\n const agentSkill = yield* Database.add(Obj.clone(skill, { deep: 'all' }));\n\n const chat = yield* Database.add(\n Chat.make({\n [Obj.Parent]: agent,\n feed: Ref.make(feed),\n // Steered through the chat's own channel: instructions render into the system prompt.\n // Identity/attribution comes from the CompanionTo relation below.\n instructions: Ref.make(instructions),\n }),\n );\n Obj.setParent(feed, chat);\n yield* Effect.promise(() =>\n contextBinder.bind({\n skills: [Ref.make(agentSkill), ...persistedPropsSkills],\n objects: [Ref.make(agent), Ref.make(chat), ...(contextObjects ?? [])],\n }),\n );\n yield* Database.add(\n Relation.make(Chat.CompanionTo, {\n [Relation.Source]: chat,\n [Relation.Target]: agent,\n }),\n );\n\n return agent;\n }).pipe(Effect.scoped);\n\n/**\n * Resets the agent's chat history by rebuilding the chat context.\n * Preserves the existing skills and objects from the current chat context.\n *\n * @param agent - The agent whose chat history should be reset. Must have an existing chat.\n * @returns An Effect that resets the chat history.\n */\nexport const resetChatHistory = (agent: Agent): Effect.Effect<void, EntityNotFoundError, Database.Service> =>\n Effect.gen(function* () {\n const existingChat = yield* loadChat(agent);\n if (!existingChat) {\n return yield* Effect.dieMessage('Agent must have an existing chat to reset.');\n }\n\n const existingFeed = yield* Database.load(existingChat.feed);\n const runtime = yield* Effect.runtime<Database.Service>();\n const existingContextBinder = yield* EffectEx.acquireReleaseResource(\n () =>\n new AiContext.Binder({\n feed: existingFeed,\n runtime,\n }),\n );\n const skills = existingContextBinder.getSkills().map((skill) => Ref.make(skill));\n const objects = existingContextBinder\n .getObjects()\n .filter((object) => !Obj.instanceOf(Chat.Chat, object))\n .map((object) => Ref.make(object));\n\n const feed = yield* Database.add(Feed.make());\n const contextBinder = yield* EffectEx.acquireReleaseResource(() => new AiContext.Binder({ feed, runtime }));\n\n const chat = yield* Database.add(\n Chat.make({\n [Obj.Parent]: agent,\n feed: Ref.make(feed),\n instructions: agent.instructions,\n }),\n );\n Obj.setParent(feed, chat);\n yield* Effect.promise(() =>\n contextBinder.bind({\n skills,\n objects: [...objects, Ref.make(chat)],\n }),\n );\n\n // Retire the old companion link; the new chat becomes the primary.\n const relations = yield* Database.query(Query.select(Filter.id(agent.id)).targetOf(Chat.CompanionTo)).run.pipe(\n Effect.orDie,\n );\n for (const relation of relations) {\n // Compare by id: the two query paths may resolve distinct proxy instances for the same chat.\n if (Relation.getSource(relation).id === existingChat.id) {\n yield* Database.remove(relation);\n }\n }\n yield* Database.add(\n Relation.make(Chat.CompanionTo, {\n [Relation.Source]: chat,\n [Relation.Target]: agent,\n }),\n );\n }).pipe(Effect.scoped);\n\nexport const getFromChatContext: Effect.Effect<\n Agent,\n HarnessContextError | Harness.NotSupportedError,\n Harness.HarnessService\n> = Effect.gen(function* () {\n const agents = yield* Harness.queryContext(Filter.type(Agent));\n if (agents.length !== 1) {\n return yield* Effect.fail(new HarnessContextError({ type: 'agent', count: agents.length }));\n }\n\n const agent = agents[0];\n return agent;\n});\n","//\n// Copyright 2026 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nimport { McpServer as McpServerSpec } from '@dxos/compute';\nimport { Annotation, DXN, Type } from '@dxos/echo';\nimport { LabelAnnotation } from '@dxos/echo/Annotation';\n\n/**\n * MCP server configuration stored as a space-level ECHO object.\n *\n * Composes the canonical connection spec from `@dxos/compute` (`url`, `protocol`, `apiKey`)\n * and adds instance-level fields (`name`, `enabled`) plus ECHO annotations.\n *\n * NOTE: `apiKey` is stored in plaintext and replicated to all peers with access to the space.\n * A future iteration should move secrets to per-device credential storage or use envelope encryption.\n */\nexport class McpServer extends Type.makeObject<McpServer>(DXN.make('org.dxos.type.assistant.mcpServer', '0.1.0'))(\n Schema.Struct({\n ...McpServerSpec.McpServer.fields,\n enabled: Schema.optional(Schema.Boolean),\n }).pipe(\n LabelAnnotation.set(['name']),\n Annotation.IconAnnotation.set({ icon: 'ph--plugs-connected--regular', hue: 'sky' }),\n ),\n) {}\n"],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { i as ensureOutlineText, o as getFromContext } from "./chunk-Chat.mjs";
2
+ import "./chunk-types.mjs";
3
+ import { a as UpdateTasks } from "./chunk-operations.mjs";
4
+ import { Operation } from "@dxos/compute";
5
+ import { trim } from "@dxos/util";
6
+ import { Obj } from "@dxos/echo";
7
+ import * as Effect from "effect/Effect";
8
+ import { Outline } from "@dxos/types";
9
+ //#region src/skills/planning/operations/update-tasks.ts
10
+ /**
11
+ * Upserts checklist items into the conversation's working outline (markdown `- [ ]` lines,
12
+ * matched by title). The outline is the cheap, fluid form of work — durable Task objects are
13
+ * created by promotion/delegation, not here.
14
+ */
15
+ var update_tasks_default = UpdateTasks.pipe(Operation.withHandler(Effect.fnUntraced(function* ({ tasks }) {
16
+ const { text } = yield* ensureOutlineText(yield* getFromContext);
17
+ Obj.update(text, (text) => {
18
+ text.content = Outline.upsertChecklistItems(text.content, tasks.map(({ title, status }) => ({
19
+ title,
20
+ done: status === "done"
21
+ })));
22
+ });
23
+ return trim`
24
+ You must update a task to 'done' when complete, and keep exactly one task in progress.
25
+ Current checklist:
26
+ <checklist>
27
+ ${text.content}
28
+ </checklist>
29
+ `;
30
+ })), Operation.opaqueHandler);
31
+ //#endregion
32
+ export { update_tasks_default as default };
33
+
34
+ //# sourceMappingURL=chunk-update-tasks.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-update-tasks.mjs","names":[],"sources":["../../src/skills/planning/operations/update-tasks.ts"],"sourcesContent":["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Operation } from '@dxos/compute';\nimport { Obj } from '@dxos/echo';\nimport { Outline } from '@dxos/types';\nimport { trim } from '@dxos/util';\n\nimport { Chat } from '../../../types';\nimport { UpdateTasks } from './definitions';\n\n/**\n * Upserts checklist items into the conversation's working outline (markdown `- [ ]` lines,\n * matched by title). The outline is the cheap, fluid form of work — durable Task objects are\n * created by promotion/delegation, not here.\n */\nexport default UpdateTasks.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* ({ tasks }) {\n const chat = yield* Chat.getFromContext;\n const { text } = yield* Chat.ensureOutlineText(chat);\n\n Obj.update(text, (text) => {\n text.content = Outline.upsertChecklistItems(\n text.content,\n tasks.map(({ title, status }) => ({ title, done: status === 'done' })),\n );\n });\n\n return trim`\n You must update a task to 'done' when complete, and keep exactly one task in progress.\n Current checklist:\n <checklist>\n ${text.content}\n </checklist>\n `;\n }),\n ),\n Operation.opaqueHandler,\n);\n"],"mappings":";;;;;;;;;;;;;;AAmBA,IAAA,uBAAe,YAAY,KACzB,UAAU,YACR,OAAO,WAAW,WAAW,EAAE,SAAS;CAEtC,MAAM,EAAE,SAAS,OAAO,kBAAuB,OAD3B,cAC+B;CAEnD,IAAI,OAAO,OAAO,SAAS;EACzB,KAAK,UAAU,QAAQ,qBACrB,KAAK,SACL,MAAM,KAAK,EAAE,OAAO,cAAc;GAAE;GAAO,MAAM,WAAW;EAAO,EAAE,CACvE;CACF,CAAC;CAED,OAAO,IAAI;;;;YAIL,KAAK,QAAO;;;AAGpB,CAAC,CACH,GACA,UAAU,aACZ"}