@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,144 @@
1
+ import { t as __exportAll } from "./chunk-rolldown-runtime.mjs";
2
+ import { Instructions, Project } from "@dxos/compute";
3
+ import * as Schema from "effect/Schema";
4
+ import { Harness } from "@dxos/assistant";
5
+ import { Annotation, DXN, Database, Feed, Filter, Obj, Ref, Type } from "@dxos/echo";
6
+ import * as Effect from "effect/Effect";
7
+ import { BaseError } from "@dxos/errors";
8
+ import { FormInputAnnotation, LabelAnnotation } from "@dxos/echo/Annotation";
9
+ import { Outline } from "@dxos/types";
10
+ //#region src/errors.ts
11
+ /**
12
+ * Agent could not execute prompt.
13
+ */
14
+ var PromptError = class extends BaseError.extend("PromptError") {
15
+ constructor(message, context) {
16
+ super({
17
+ message,
18
+ context
19
+ });
20
+ }
21
+ };
22
+ /**
23
+ * Exactly-one invariant violated for an object bound to the harness conversation context.
24
+ */
25
+ var HarnessContextError = class extends BaseError.extend("HarnessContextError", "Harness context invariant violated") {
26
+ constructor(context) {
27
+ super({
28
+ message: `There should be exactly one ${context.type} in context. Got: ${context.count}.`,
29
+ context
30
+ });
31
+ }
32
+ };
33
+ //#endregion
34
+ //#region src/types/Chat.ts
35
+ var Chat_exports = /* @__PURE__ */ __exportAll({
36
+ Chat: () => Chat,
37
+ CompanionTo: () => CompanionTo,
38
+ ensureOutline: () => ensureOutline,
39
+ ensureOutlineText: () => ensureOutlineText,
40
+ formatChecklist: () => formatChecklist,
41
+ getFromContext: () => getFromContext,
42
+ make: () => make,
43
+ peekOutlineRef: () => peekOutlineRef
44
+ });
45
+ /**
46
+ * AI chat session.
47
+ */
48
+ var Chat = class extends Type.makeObject(DXN.make("org.dxos.type.assistant.chat", "0.1.0"))(Schema.Struct({
49
+ name: Schema.String.pipe(Schema.optional),
50
+ viewType: Schema.String.pipe(Schema.optional),
51
+ /**
52
+ * Message feed.
53
+ */
54
+ feed: Ref.Ref(Feed.Feed).pipe(FormInputAnnotation.set(false)),
55
+ /**
56
+ * Instructions steering this conversation, rendered into the system prompt at request time.
57
+ * Held by reference (never copied), so a project's chats follow edits to its instructions.
58
+ */
59
+ instructions: Schema.optional(Ref.Ref(Instructions.Instructions).pipe(FormInputAnnotation.set(false))),
60
+ /**
61
+ * Scratch checklist for a standalone chat, created lazily when the first item is recorded.
62
+ * A project chat leaves this unset and writes the project's outline instead — see
63
+ * {@link ensureOutline}.
64
+ */
65
+ outline: Schema.optional(Ref.Ref(Outline.Outline).pipe(FormInputAnnotation.set(false)))
66
+ }).pipe(LabelAnnotation.set(["name"]), Annotation.IconAnnotation.set({
67
+ icon: "ph--sparkle--regular",
68
+ hue: "amber"
69
+ }))) {};
70
+ var make = (props) => Obj.make(Chat, props);
71
+ /**
72
+ * Returns the conversation's working outline, creating one lazily: a project chat (parented to a
73
+ * `Project`) resolves — and if needed creates — the PROJECT's outline, so all of a project's
74
+ * chats share one scratch surface; a standalone chat owns its own.
75
+ */
76
+ var ensureOutline = (chat) => Effect.gen(function* () {
77
+ const parent = Obj.getParent(chat);
78
+ if (parent && Obj.instanceOf(Project.Project, parent)) {
79
+ const project = parent;
80
+ if (project.outline) return yield* Database.load(project.outline);
81
+ const outline = yield* Database.add(Outline.make({ name: project.name }));
82
+ Obj.update(project, (project) => {
83
+ project.outline = Ref.make(outline);
84
+ });
85
+ yield* Database.flush();
86
+ return outline;
87
+ }
88
+ if (chat.outline) return yield* Database.load(chat.outline);
89
+ const outline = yield* Database.add(Outline.make({ name: chat.name }));
90
+ Obj.update(chat, (chat) => {
91
+ chat.outline = Ref.make(outline);
92
+ });
93
+ yield* Database.flush();
94
+ return outline;
95
+ });
96
+ /**
97
+ * Loads the markdown text object behind the conversation's working outline.
98
+ */
99
+ var ensureOutlineText = (chat) => Effect.gen(function* () {
100
+ const outline = yield* ensureOutline(chat);
101
+ return {
102
+ outline,
103
+ text: yield* Database.load(outline.content)
104
+ };
105
+ });
106
+ /**
107
+ * The conversation's working-outline ref if one already exists (the parent project's, else the
108
+ * chat's own) — never creates. See {@link ensureOutline} for the creating variant.
109
+ */
110
+ var peekOutlineRef = (chat) => {
111
+ const parent = Obj.getParent(chat);
112
+ if (parent && Obj.instanceOf(Project.Project, parent)) return parent.outline;
113
+ return chat.outline;
114
+ };
115
+ /** The conversation's checklist markdown, or a placeholder when none exists. Never creates. */
116
+ var formatChecklist = (chat) => Effect.gen(function* () {
117
+ const ref = peekOutlineRef(chat);
118
+ const outline = ref ? yield* Database.load(ref).pipe(Effect.orElseSucceed(() => void 0)) : void 0;
119
+ return (outline ? yield* Database.load(outline.content).pipe(Effect.orElseSucceed(() => void 0)) : void 0)?.content ?? "No checklist found.";
120
+ });
121
+ /**
122
+ * Resolves the bound session {@link Chat} for the current conversation.
123
+ * Planning and other session-scoped tools require exactly one chat in harness context.
124
+ */
125
+ var getFromContext = Effect.gen(function* () {
126
+ const chats = yield* Harness.queryContext(Filter.type(Chat));
127
+ if (chats.length !== 1) return yield* Effect.fail(new HarnessContextError({
128
+ type: "chat",
129
+ count: chats.length
130
+ }));
131
+ return chats[0];
132
+ });
133
+ /**
134
+ * Relation between a Chat and companion objects (e.g., artifacts, or the agent identity the
135
+ * conversation runs as — see `Agent.loadForChat`).
136
+ */
137
+ var CompanionTo = class extends Type.makeRelation(DXN.make("org.dxos.relation.assistant.companionTo", "0.1.0"))({
138
+ source: Chat,
139
+ target: Obj.Unknown
140
+ })(Schema.Struct({ id: Obj.ID })) {};
141
+ //#endregion
142
+ export { formatChecklist as a, peekOutlineRef as c, ensureOutlineText as i, HarnessContextError as l, Chat_exports as n, getFromContext as o, CompanionTo as r, make as s, Chat as t, PromptError as u };
143
+
144
+ //# sourceMappingURL=chunk-Chat.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-Chat.mjs","names":[],"sources":["../../src/errors.ts","../../src/types/Chat.ts"],"sourcesContent":["//\n// Copyright 2026 DXOS.org\n//\n\nimport { BaseError } from '@dxos/errors';\nimport { type EID } from '@dxos/keys';\n\n/**\n * Agent could not execute prompt.\n */\nexport class PromptError extends BaseError.extend('PromptError') {\n constructor(\n message: string,\n context: {\n description?: string;\n prompt?: EID.EID;\n chat?: EID.EID;\n },\n ) {\n super({\n message,\n context,\n });\n }\n}\n\n/**\n * Exactly-one invariant violated for an object bound to the harness conversation context.\n */\nexport class HarnessContextError extends BaseError.extend('HarnessContextError', 'Harness context invariant violated') {\n constructor(context: { type: string; count: number }) {\n super({\n message: `There should be exactly one ${context.type} in context. Got: ${context.count}.`,\n context,\n });\n }\n}\n","//\n// Copyright 2024 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\n\nimport { Harness } from '@dxos/assistant';\nimport { Instructions, Project } from '@dxos/compute';\nimport { Annotation, Database, DXN, Feed, Filter, Obj, Ref, Type } from '@dxos/echo';\nimport { FormInputAnnotation, LabelAnnotation } from '@dxos/echo/Annotation';\nimport { type EntityNotFoundError } from '@dxos/echo/Err';\nimport { type Text } from '@dxos/schema';\nimport { Outline } from '@dxos/types';\n\nimport { HarnessContextError } from '../errors';\n\n/**\n * AI chat session.\n */\nexport class Chat extends Type.makeObject<Chat>(DXN.make('org.dxos.type.assistant.chat', '0.1.0'))(\n Schema.Struct({\n name: Schema.String.pipe(Schema.optional),\n viewType: Schema.String.pipe(Schema.optional),\n\n /**\n * Message feed.\n */\n feed: Ref.Ref(Feed.Feed).pipe(FormInputAnnotation.set(false)),\n\n /**\n * Instructions steering this conversation, rendered into the system prompt at request time.\n * Held by reference (never copied), so a project's chats follow edits to its instructions.\n */\n instructions: Schema.optional(Ref.Ref(Instructions.Instructions).pipe(FormInputAnnotation.set(false))),\n\n /**\n * Scratch checklist for a standalone chat, created lazily when the first item is recorded.\n * A project chat leaves this unset and writes the project's outline instead — see\n * {@link ensureOutline}.\n */\n outline: Schema.optional(Ref.Ref(Outline.Outline).pipe(FormInputAnnotation.set(false))),\n }).pipe(\n LabelAnnotation.set(['name']),\n Annotation.IconAnnotation.set({\n icon: 'ph--sparkle--regular',\n hue: 'amber',\n }),\n ),\n) {}\n\nexport const make = (props: Obj.MakeProps<typeof Chat>) => Obj.make(Chat, props);\n\n/**\n * Returns the conversation's working outline, creating one lazily: a project chat (parented to a\n * `Project`) resolves — and if needed creates — the PROJECT's outline, so all of a project's\n * chats share one scratch surface; a standalone chat owns its own.\n */\nexport const ensureOutline = (chat: Chat): Effect.Effect<Outline.Outline, EntityNotFoundError, Database.Service> =>\n Effect.gen(function* () {\n const parent = Obj.getParent(chat);\n if (parent && Obj.instanceOf(Project.Project, parent)) {\n const project = parent;\n if (project.outline) {\n return yield* Database.load(project.outline);\n }\n const outline = yield* Database.add(Outline.make({ name: project.name }));\n Obj.update(project, (project) => {\n project.outline = Ref.make(outline);\n });\n yield* Database.flush();\n return outline;\n }\n\n if (chat.outline) {\n return yield* Database.load(chat.outline);\n }\n\n const outline = yield* Database.add(Outline.make({ name: chat.name }));\n Obj.update(chat, (chat) => {\n chat.outline = Ref.make(outline);\n });\n\n yield* Database.flush();\n return outline;\n });\n\n/**\n * Loads the markdown text object behind the conversation's working outline.\n */\nexport const ensureOutlineText = (\n chat: Chat,\n): Effect.Effect<{ outline: Outline.Outline; text: Text.Text }, EntityNotFoundError, Database.Service> =>\n Effect.gen(function* () {\n const outline = yield* ensureOutline(chat);\n const text = yield* Database.load(outline.content);\n return { outline, text };\n });\n\n/**\n * The conversation's working-outline ref if one already exists (the parent project's, else the\n * chat's own) — never creates. See {@link ensureOutline} for the creating variant.\n */\nexport const peekOutlineRef = (chat: Chat): Ref.Ref<Outline.Outline> | undefined => {\n const parent = Obj.getParent(chat);\n if (parent && Obj.instanceOf(Project.Project, parent)) {\n return parent.outline;\n }\n return chat.outline;\n};\n\n/** The conversation's checklist markdown, or a placeholder when none exists. Never creates. */\nexport const formatChecklist = (chat: Chat): Effect.Effect<string, never, Database.Service> =>\n Effect.gen(function* () {\n const ref = peekOutlineRef(chat);\n const outline = ref ? yield* Database.load(ref).pipe(Effect.orElseSucceed(() => undefined)) : undefined;\n const text = outline\n ? yield* Database.load(outline.content).pipe(Effect.orElseSucceed(() => undefined))\n : undefined;\n return text?.content ?? 'No checklist found.';\n });\n\n/**\n * Resolves the bound session {@link Chat} for the current conversation.\n * Planning and other session-scoped tools require exactly one chat in harness context.\n */\nexport const getFromContext: Effect.Effect<\n Chat,\n HarnessContextError | Harness.NotSupportedError,\n Harness.HarnessService\n> = Effect.gen(function* () {\n const chats = yield* Harness.queryContext(Filter.type(Chat));\n if (chats.length !== 1) {\n return yield* Effect.fail(new HarnessContextError({ type: 'chat', count: chats.length }));\n }\n\n return chats[0];\n});\n\n/**\n * Relation between a Chat and companion objects (e.g., artifacts, or the agent identity the\n * conversation runs as — see `Agent.loadForChat`).\n */\nexport class CompanionTo extends Type.makeRelation<CompanionTo>(\n DXN.make('org.dxos.relation.assistant.companionTo', '0.1.0'),\n)({\n source: Chat,\n target: Obj.Unknown,\n})(\n Schema.Struct({\n id: Obj.ID,\n }),\n) {}\n"],"mappings":";;;;;;;;;;;;;AAUA,IAAa,cAAb,cAAiC,UAAU,OAAO,aAAa,CAAC,CAAC;CAC/D,YACE,SACA,SAKA;EACA,MAAM;GACJ;GACA;EACF,CAAC;CACH;AACF;;;;AAKA,IAAa,sBAAb,cAAyC,UAAU,OAAO,uBAAuB,oCAAoC,CAAC,CAAC;CACrH,YAAY,SAA0C;EACpD,MAAM;GACJ,SAAS,+BAA+B,QAAQ,KAAK,oBAAoB,QAAQ,MAAM;GACvF;EACF,CAAC;CACH;AACF;;;;;;;;;;;;;;;;ACdA,IAAa,OAAb,cAA0B,KAAK,WAAiB,IAAI,KAAK,gCAAgC,OAAO,CAAC,CAAC,CAChG,OAAO,OAAO;CACZ,MAAM,OAAO,OAAO,KAAK,OAAO,QAAQ;CACxC,UAAU,OAAO,OAAO,KAAK,OAAO,QAAQ;;;;CAK5C,MAAM,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,KAAK,oBAAoB,IAAI,KAAK,CAAC;;;;;CAM5D,cAAc,OAAO,SAAS,IAAI,IAAI,aAAa,YAAY,CAAC,CAAC,KAAK,oBAAoB,IAAI,KAAK,CAAC,CAAC;;;;;;CAOrG,SAAS,OAAO,SAAS,IAAI,IAAI,QAAQ,OAAO,CAAC,CAAC,KAAK,oBAAoB,IAAI,KAAK,CAAC,CAAC;AACxF,CAAC,CAAC,CAAC,KACD,gBAAgB,IAAI,CAAC,MAAM,CAAC,GAC5B,WAAW,eAAe,IAAI;CAC5B,MAAM;CACN,KAAK;AACP,CAAC,CACH,CACF,CAAC,CAAC,CAAC;AAEH,IAAa,QAAQ,UAAsC,IAAI,KAAK,MAAM,KAAK;;;;;;AAO/E,IAAa,iBAAiB,SAC5B,OAAO,IAAI,aAAa;CACtB,MAAM,SAAS,IAAI,UAAU,IAAI;CACjC,IAAI,UAAU,IAAI,WAAW,QAAQ,SAAS,MAAM,GAAG;EACrD,MAAM,UAAU;EAChB,IAAI,QAAQ,SACV,OAAO,OAAO,SAAS,KAAK,QAAQ,OAAO;EAE7C,MAAM,UAAU,OAAO,SAAS,IAAI,QAAQ,KAAK,EAAE,MAAM,QAAQ,KAAK,CAAC,CAAC;EACxE,IAAI,OAAO,UAAU,YAAY;GAC/B,QAAQ,UAAU,IAAI,KAAK,OAAO;EACpC,CAAC;EACD,OAAO,SAAS,MAAM;EACtB,OAAO;CACT;CAEA,IAAI,KAAK,SACP,OAAO,OAAO,SAAS,KAAK,KAAK,OAAO;CAG1C,MAAM,UAAU,OAAO,SAAS,IAAI,QAAQ,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,CAAC;CACrE,IAAI,OAAO,OAAO,SAAS;EACzB,KAAK,UAAU,IAAI,KAAK,OAAO;CACjC,CAAC;CAED,OAAO,SAAS,MAAM;CACtB,OAAO;AACT,CAAC;;;;AAKH,IAAa,qBACX,SAEA,OAAO,IAAI,aAAa;CACtB,MAAM,UAAU,OAAO,cAAc,IAAI;CAEzC,OAAO;EAAE;EAAS,MAAA,OADE,SAAS,KAAK,QAAQ,OAAO;CAC1B;AACzB,CAAC;;;;;AAMH,IAAa,kBAAkB,SAAqD;CAClF,MAAM,SAAS,IAAI,UAAU,IAAI;CACjC,IAAI,UAAU,IAAI,WAAW,QAAQ,SAAS,MAAM,GAClD,OAAO,OAAO;CAEhB,OAAO,KAAK;AACd;;AAGA,IAAa,mBAAmB,SAC9B,OAAO,IAAI,aAAa;CACtB,MAAM,MAAM,eAAe,IAAI;CAC/B,MAAM,UAAU,MAAM,OAAO,SAAS,KAAK,GAAG,CAAC,CAAC,KAAK,OAAO,oBAAoB,KAAA,CAAS,CAAC,IAAI,KAAA;CAI9F,QAHa,UACT,OAAO,SAAS,KAAK,QAAQ,OAAO,CAAC,CAAC,KAAK,OAAO,oBAAoB,KAAA,CAAS,CAAC,IAChF,KAAA,EAAA,EACS,WAAW;AAC1B,CAAC;;;;;AAMH,IAAa,iBAIT,OAAO,IAAI,aAAa;CAC1B,MAAM,QAAQ,OAAO,QAAQ,aAAa,OAAO,KAAK,IAAI,CAAC;CAC3D,IAAI,MAAM,WAAW,GACnB,OAAO,OAAO,OAAO,KAAK,IAAI,oBAAoB;EAAE,MAAM;EAAQ,OAAO,MAAM;CAAO,CAAC,CAAC;CAG1F,OAAO,MAAM;AACf,CAAC;;;;;AAMD,IAAa,cAAb,cAAiC,KAAK,aACpC,IAAI,KAAK,2CAA2C,OAAO,CAC7D,CAAC,CAAC;CACA,QAAQ;CACR,QAAQ,IAAI;AACd,CAAC,CAAC,CACA,OAAO,OAAO,EACZ,IAAI,IAAI,GACV,CAAC,CACH,CAAC,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { t as __exportAll } from "./chunk-rolldown-runtime.mjs";
2
+ import * as Schema from "effect/Schema";
3
+ import { Annotation, DXN, Type } from "@dxos/echo";
4
+ //#region src/types/Memory.ts
5
+ var Memory_exports = /* @__PURE__ */ __exportAll({ Memory: () => Memory });
6
+ /**
7
+ * Unit of knowledge generated by an agent.
8
+ */
9
+ var Memory = class extends Type.makeObject(DXN.make("org.dxos.type.memory", "0.1.0"))(Schema.Struct({
10
+ title: Schema.String,
11
+ content: Schema.String
12
+ }).pipe(Annotation.LabelAnnotation.set(["title"]), Annotation.IconAnnotation.set({
13
+ icon: "ph--brain--regular",
14
+ hue: "pink"
15
+ }), Annotation.HiddenAnnotation.set(true))) {};
16
+ //#endregion
17
+ export { Memory_exports as n, Memory as t };
18
+
19
+ //# sourceMappingURL=chunk-Memory.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-Memory.mjs","names":[],"sources":["../../src/types/Memory.ts"],"sourcesContent":["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Annotation, DXN, Type } from '@dxos/echo';\n\n/**\n * Unit of knowledge generated by an agent.\n */\nexport class Memory extends Type.makeObject<Memory>(DXN.make('org.dxos.type.memory', '0.1.0'))(\n Schema.Struct({\n title: Schema.String,\n content: Schema.String,\n }).pipe(\n Annotation.LabelAnnotation.set(['title']),\n Annotation.IconAnnotation.set({ icon: 'ph--brain--regular', hue: 'pink' }),\n Annotation.HiddenAnnotation.set(true),\n ),\n) {}\n"],"mappings":";;;;;;;;AAWA,IAAa,SAAb,cAA4B,KAAK,WAAmB,IAAI,KAAK,wBAAwB,OAAO,CAAC,CAAC,CAC5F,OAAO,OAAO;CACZ,OAAO,OAAO;CACd,SAAS,OAAO;AAClB,CAAC,CAAC,CAAC,KACD,WAAW,gBAAgB,IAAI,CAAC,OAAO,CAAC,GACxC,WAAW,eAAe,IAAI;CAAE,MAAM;CAAsB,KAAK;AAAO,CAAC,GACzE,WAAW,iBAAiB,IAAI,IAAI,CACtC,CACF,CAAC,CAAC,CAAC"}
@@ -1,17 +1,10 @@
1
- import {
2
- AgentRules
3
- } from "./chunk-PBARVBNJ.mjs";
4
- import "./chunk-H4W22FFJ.mjs";
5
- import "./chunk-Z2HFOZXK.mjs";
6
- import "./chunk-EPQCDGIV.mjs";
7
- import "./chunk-J5LGTIGS.mjs";
8
-
9
- // src/skills/agent-wizard/operations/agent-rules.ts
10
- import * as Effect from "effect/Effect";
1
+ import { z as AgentRules } from "./chunk-operations.mjs";
11
2
  import { Operation } from "@dxos/compute";
12
3
  import { trim } from "@dxos/util";
4
+ import * as Effect from "effect/Effect";
5
+ //#region src/skills/agent-wizard/operations/agent-rules.ts
13
6
  var agent_rules_default = AgentRules.pipe(Operation.withHandler(Effect.fnUntraced(function* () {
14
- return trim`
7
+ return trim`
15
8
  You can ask the user for qualifying questions about the agents.
16
9
  If agents should actively read incoming emails, query for mailboxes and add a subscription to them.
17
10
  If the user wants the agent to run on a schedule (e.g. "every morning", "every 5 minutes"), set the agent's \`cron\` field to a standard cron expression (e.g. \`0 9 * * *\` for daily at 09:00, \`*/5 * * * *\` for every 5 minutes). Timer triggers bypass the qualifier and invoke the agent worker directly on the schedule.
@@ -72,7 +65,7 @@ var agent_rules_default = AgentRules.pipe(Operation.withHandler(Effect.fnUntrace
72
65
  </example_agent>
73
66
  `;
74
67
  })));
75
- export {
76
- agent_rules_default as default
77
- };
78
- //# sourceMappingURL=agent-rules-KWCBKJ5W.mjs.map
68
+ //#endregion
69
+ export { agent_rules_default as default };
70
+
71
+ //# sourceMappingURL=chunk-agent-rules.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-agent-rules.mjs","names":[],"sources":["../../src/skills/agent-wizard/operations/agent-rules.ts"],"sourcesContent":["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Operation } from '@dxos/compute';\nimport { trim } from '@dxos/util';\n\nimport { AgentRules } from './definitions';\n\nexport default AgentRules.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* () {\n return trim`\n You can ask the user for qualifying questions about the agents.\n If agents should actively read incoming emails, query for mailboxes and add a subscription to them.\n If the user wants the agent to run on a schedule (e.g. \"every morning\", \"every 5 minutes\"), set the agent's \\`cron\\` field to a standard cron expression (e.g. \\`0 9 * * *\\` for daily at 09:00, \\`*/5 * * * *\\` for every 5 minutes). Timer triggers bypass the qualifier and invoke the agent worker directly on the schedule.\n Use [query-skills] from the Skill Manager to query for available skills and their keys.\n Use [create-agent] function to create a new agent.\n\n Notable skills (query to get their keys):\n\n - Skill Manger - allows agent to self-enable skills (always include this one).\n - Database -- CRUD on objects in the ECHO database.\n - Markdown -- Create and edit markdown documents.\n - Websearch -- Search the web for information.\n - Browser -- Virtual browser via playwright when simple WebSearch is not enough.\n - Memory -- Memory to store and retrieve information.\n\n Experimental skills that are discouraged:\n\n - Research\n - Design\n - Agent (not wizard) -- those are agent internals, they are auto-added to every new agent.\n\n <example_agent>\n ## CRM from your inbox\n\n Skills: database, websearch, browser\n\n Subscribe to your inboxes.\n Spec says that on every email we should extract People and Organizations and save them to the database, but first query the database for existing people and organizations to avoid duplicates.\n Also run a quick research on the web to find more information about the person or organization and save it to the database.\n </example_agent>\n\n <example_agent>\n ## Parcel tracking\n\n Skills: database\n\n Based on emails from vendors (amazon, fedex, etc.) track the status of the parcels ordered online and keep a table of orders.\n\n Before creating an agent, use the Database skill to create an Order schema:\n - seller\n - name\n - price\n - status (enum of: pending, shipped, waiting for pickup, delivered, cancelled, returned)\n - tracking numbers/notes\n - date of delivery\n - shipping address\n </example_agent>\n\n <example_agent>\n ## Comms assistant\n\n Skills: database, markdown, inbox\n\n Helps user maintain comms with external parites via email.\n Ask user specifically who they want to communicate with and on what topic.\n Agent should keep a markdown document in artifacts outlining the current state of the comms.\n Agent should propose drafts to follow up on the comms. Only propose sensible drafts, do not propose drafts that are not relevant or actionable.\n </example_agent>\n `;\n }),\n ),\n);\n"],"mappings":";;;;;AAWA,IAAA,sBAAe,WAAW,KACxB,UAAU,YACR,OAAO,WAAW,aAAa;CAC7B,OAAO,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4Db,CAAC,CACH,CACF"}
@@ -0,0 +1,45 @@
1
+ import "./chunk-operations.mjs";
2
+ import { Skill, Template } from "@dxos/compute";
3
+ import { trim } from "@dxos/util";
4
+ //#region src/skills/agent/skill.ts
5
+ var SKILL_KEY = "org.dxos.skill.agent";
6
+ /**
7
+ * Creates the Agent skill. This is a function to avoid circular dependency issues.
8
+ */
9
+ var make = () => Skill.make({
10
+ key: SKILL_KEY,
11
+ name: "Agent skill",
12
+ instructions: Template.make({
13
+ source: trim`
14
+ You work on an agent. Each agent has instructions - the goal of the agent.
15
+ The agent plan shows the current progress of the agent.
16
+ Durable work products belong to the agent's project: when you create an object the agent
17
+ should keep, file it into the project's artifacts (the add-artifact tool of the Project
18
+ skill) rather than leaving it loose in the space.
19
+
20
+ {{#with agent}}
21
+ <agent id="{{id}}" name="{{name}}">
22
+ <instructions>
23
+ {{instructions}}
24
+ </instructions>
25
+ <plan>
26
+ {{plan}}
27
+ </plan>
28
+ </agent>
29
+ {{/with}}
30
+ `,
31
+ inputs: [{
32
+ name: "agent",
33
+ kind: "operation",
34
+ operation: "org.dxos.function.agent.getContext"
35
+ }]
36
+ })
37
+ });
38
+ var skill = {
39
+ key: SKILL_KEY,
40
+ make
41
+ };
42
+ //#endregion
43
+ export { skill as t };
44
+
45
+ //# sourceMappingURL=chunk-agent.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-agent.mjs","names":[],"sources":["../../src/skills/agent/skill.ts"],"sourcesContent":["//\n// Copyright 2026 DXOS.org\n//\n\nimport { Skill, Template } from '@dxos/compute';\nimport { trim } from '@dxos/util';\n\nconst SKILL_KEY = 'org.dxos.skill.agent';\n\n/**\n * Creates the Agent skill. This is a function to avoid circular dependency issues.\n */\n// TODO(dmaretskyi): Combine with Agent Wizard.\nconst make = () =>\n Skill.make({\n key: SKILL_KEY,\n name: 'Agent skill',\n instructions: Template.make({\n source: trim`\n You work on an agent. Each agent has instructions - the goal of the agent.\n The agent plan shows the current progress of the agent.\n Durable work products belong to the agent's project: when you create an object the agent\n should keep, file it into the project's artifacts (the add-artifact tool of the Project\n skill) rather than leaving it loose in the space.\n\n {{#with agent}}\n <agent id=\"{{id}}\" name=\"{{name}}\">\n <instructions>\n {{instructions}}\n </instructions>\n <plan>\n {{plan}}\n </plan>\n </agent>\n {{/with}}\n `,\n inputs: [\n {\n name: 'agent',\n kind: 'operation',\n operation: 'org.dxos.function.agent.getContext',\n },\n ],\n }),\n });\n\nconst skill: Skill.Definition = {\n key: SKILL_KEY,\n make,\n};\n\nexport default skill;\n"],"mappings":";;;;AAOA,IAAM,YAAY;;;;AAMlB,IAAM,aACJ,MAAM,KAAK;CACT,KAAK;CACL,MAAM;CACN,cAAc,SAAS,KAAK;EAC1B,QAAQ,IAAI;;;;;;;;;;;;;;;;;;EAkBZ,QAAQ,CACN;GACE,MAAM;GACN,MAAM;GACN,WAAW;EACb,CACF;CACF,CAAC;AACH,CAAC;AAEH,IAAM,QAA0B;CAC9B,KAAK;CACL;AACF"}
@@ -0,0 +1,31 @@
1
+ import { t as ArtifactAdd } from "./chunk-definitions2.mjs";
2
+ import { Operation } from "@dxos/compute";
3
+ import { Collection, Database, Obj, Ref } from "@dxos/echo";
4
+ import { EID } from "@dxos/keys";
5
+ import * as Effect from "effect/Effect";
6
+ //#region src/skills/project/operations/artifact-add.ts
7
+ /** Compare refs by entity id when possible — space-qualified and local URIs may name the same object. */
8
+ var refKey = (ref) => {
9
+ const eid = EID.tryParse(ref.uri);
10
+ return (eid && EID.getEntityId(eid)) ?? ref.uri;
11
+ };
12
+ var handler = ArtifactAdd.pipe(Operation.withHandler(Effect.fn(function* ({ project: projectRef, object: objectRef }) {
13
+ const project = yield* Database.load(projectRef);
14
+ let collection;
15
+ if (project.artifacts) collection = yield* Database.load(project.artifacts);
16
+ else {
17
+ collection = yield* Database.add(Collection.make());
18
+ Obj.setParent(collection, project);
19
+ Obj.update(project, (project) => {
20
+ project.artifacts = Ref.make(collection);
21
+ });
22
+ }
23
+ if (!collection.objects.some((ref) => refKey(ref) === refKey(objectRef))) Obj.update(collection, (collection) => {
24
+ collection.objects.push(objectRef);
25
+ });
26
+ yield* Database.flush();
27
+ })));
28
+ //#endregion
29
+ export { handler as default };
30
+
31
+ //# sourceMappingURL=chunk-artifact-add.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-artifact-add.mjs","names":[],"sources":["../../src/skills/project/operations/artifact-add.ts"],"sourcesContent":["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Operation } from '@dxos/compute';\nimport { Collection, Database, Obj, Ref } from '@dxos/echo';\nimport { EID } from '@dxos/keys';\n\nimport { ArtifactAdd } from './definitions';\n\n/** Compare refs by entity id when possible — space-qualified and local URIs may name the same object. */\nconst refKey = (ref: Ref.Ref<Obj.Unknown>): string => {\n const eid = EID.tryParse(ref.uri);\n return (eid && EID.getEntityId(eid)) ?? ref.uri;\n};\n\nconst handler: Operation.WithHandler<typeof ArtifactAdd> = ArtifactAdd.pipe(\n Operation.withHandler(\n Effect.fn(function* ({ project: projectRef, object: objectRef }) {\n const project = yield* Database.load(projectRef);\n\n // Projects normally own an artifacts collection from creation; materialize one for those that don't.\n let collection: Collection.Collection;\n if (project.artifacts) {\n collection = yield* Database.load(project.artifacts);\n } else {\n collection = yield* Database.add(Collection.make());\n Obj.setParent(collection, project);\n Obj.update(project, (project) => {\n project.artifacts = Ref.make(collection);\n });\n }\n\n if (!collection.objects.some((ref) => refKey(ref) === refKey(objectRef))) {\n Obj.update(collection, (collection) => {\n collection.objects.push(objectRef);\n });\n }\n\n yield* Database.flush();\n }),\n ),\n);\n\nexport default handler;\n"],"mappings":";;;;;;;AAaA,IAAM,UAAU,QAAsC;CACpD,MAAM,MAAM,IAAI,SAAS,IAAI,GAAG;CAChC,QAAQ,OAAO,IAAI,YAAY,GAAG,MAAM,IAAI;AAC9C;AAEA,IAAM,UAAqD,YAAY,KACrE,UAAU,YACR,OAAO,GAAG,WAAW,EAAE,SAAS,YAAY,QAAQ,aAAa;CAC/D,MAAM,UAAU,OAAO,SAAS,KAAK,UAAU;CAG/C,IAAI;CACJ,IAAI,QAAQ,WACV,aAAa,OAAO,SAAS,KAAK,QAAQ,SAAS;MAC9C;EACL,aAAa,OAAO,SAAS,IAAI,WAAW,KAAK,CAAC;EAClD,IAAI,UAAU,YAAY,OAAO;EACjC,IAAI,OAAO,UAAU,YAAY;GAC/B,QAAQ,YAAY,IAAI,KAAK,UAAU;EACzC,CAAC;CACH;CAEA,IAAI,CAAC,WAAW,QAAQ,MAAM,QAAQ,OAAO,GAAG,MAAM,OAAO,SAAS,CAAC,GACrE,IAAI,OAAO,aAAa,eAAe;EACrC,WAAW,QAAQ,KAAK,SAAS;CACnC,CAAC;CAGH,OAAO,SAAS,MAAM;AACxB,CAAC,CACH,CACF"}
@@ -0,0 +1,23 @@
1
+ import { n as ArtifactList } from "./chunk-definitions2.mjs";
2
+ import { Operation } from "@dxos/compute";
3
+ import { Database, Obj } from "@dxos/echo";
4
+ import * as Effect from "effect/Effect";
5
+ //#region src/skills/project/operations/artifact-list.ts
6
+ var handler = ArtifactList.pipe(Operation.withHandler(Effect.fn(function* ({ project: projectRef }) {
7
+ const project = yield* Database.load(projectRef);
8
+ if (!project.artifacts) return { artifacts: [] };
9
+ const collection = yield* Database.load(project.artifacts);
10
+ return { artifacts: yield* Effect.forEach(collection.objects, (ref) => Database.load(ref).pipe(Effect.map((object) => ({
11
+ dxn: Obj.getURI(object),
12
+ typename: Obj.getTypename(object),
13
+ label: Obj.getLabel(object)
14
+ })), Effect.catchTag("EntityNotFoundError", () => Effect.succeed({
15
+ dxn: ref.uri,
16
+ typename: void 0,
17
+ label: void 0
18
+ })))) };
19
+ })));
20
+ //#endregion
21
+ export { handler as default };
22
+
23
+ //# sourceMappingURL=chunk-artifact-list.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-artifact-list.mjs","names":[],"sources":["../../src/skills/project/operations/artifact-list.ts"],"sourcesContent":["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Operation } from '@dxos/compute';\nimport { Database, Obj } from '@dxos/echo';\n\nimport { ArtifactList } from './definitions';\n\nconst handler: Operation.WithHandler<typeof ArtifactList> = ArtifactList.pipe(\n Operation.withHandler(\n Effect.fn(function* ({ project: projectRef }) {\n const project = yield* Database.load(projectRef);\n if (!project.artifacts) {\n return { artifacts: [] };\n }\n\n const collection = yield* Database.load(project.artifacts);\n const artifacts = yield* Effect.forEach(collection.objects, (ref) =>\n Database.load(ref).pipe(\n Effect.map((object) => ({\n dxn: Obj.getURI(object),\n typename: Obj.getTypename(object),\n label: Obj.getLabel(object),\n })),\n // A broken ref yields a placeholder row rather than failing the whole listing; other\n // load failures (transport, decoding) still propagate.\n Effect.catchTag('EntityNotFoundError', () =>\n Effect.succeed({ dxn: ref.uri, typename: undefined, label: undefined }),\n ),\n ),\n );\n\n return { artifacts };\n }),\n ),\n);\n\nexport default handler;\n"],"mappings":";;;;;AAWA,IAAM,UAAsD,aAAa,KACvE,UAAU,YACR,OAAO,GAAG,WAAW,EAAE,SAAS,cAAc;CAC5C,MAAM,UAAU,OAAO,SAAS,KAAK,UAAU;CAC/C,IAAI,CAAC,QAAQ,WACX,OAAO,EAAE,WAAW,CAAC,EAAE;CAGzB,MAAM,aAAa,OAAO,SAAS,KAAK,QAAQ,SAAS;CAgBzD,OAAO,EAAE,WAAA,OAfgB,OAAO,QAAQ,WAAW,UAAU,QAC3D,SAAS,KAAK,GAAG,CAAC,CAAC,KACjB,OAAO,KAAK,YAAY;EACtB,KAAK,IAAI,OAAO,MAAM;EACtB,UAAU,IAAI,YAAY,MAAM;EAChC,OAAO,IAAI,SAAS,MAAM;CAC5B,EAAE,GAGF,OAAO,SAAS,6BACd,OAAO,QAAQ;EAAE,KAAK,IAAI;EAAK,UAAU,KAAA;EAAW,OAAO,KAAA;CAAU,CAAC,CACxE,CACF,CACF,EAEmB;AACrB,CAAC,CACH,CACF"}
@@ -0,0 +1,16 @@
1
+ import { g as ContextAdd } from "./chunk-operations.mjs";
2
+ import { Operation } from "@dxos/compute";
3
+ import { Harness } from "@dxos/assistant";
4
+ import * as Effect from "effect/Effect";
5
+ //#region src/skills/database/operations/context-add.ts
6
+ var context_add_default = ContextAdd.pipe(Operation.withHandler(Effect.fn(function* ({ obj }) {
7
+ const sessionBinder = yield* Harness.binder;
8
+ yield* Effect.promise(() => sessionBinder.bind({
9
+ skills: [],
10
+ objects: [obj]
11
+ }));
12
+ })));
13
+ //#endregion
14
+ export { context_add_default as default };
15
+
16
+ //# sourceMappingURL=chunk-context-add.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-context-add.mjs","names":[],"sources":["../../src/skills/database/operations/context-add.ts"],"sourcesContent":["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Harness } from '@dxos/assistant';\nimport { Operation } from '@dxos/compute';\n\nimport { ContextAdd } from './definitions';\n\nexport default ContextAdd.pipe(\n Operation.withHandler(\n Effect.fn(function* ({ obj }) {\n const sessionBinder = yield* Harness.binder;\n yield* Effect.promise(() =>\n sessionBinder.bind({\n skills: [],\n objects: [obj],\n }),\n );\n }),\n ),\n);\n"],"mappings":";;;;;AAWA,IAAA,sBAAe,WAAW,KACxB,UAAU,YACR,OAAO,GAAG,WAAW,EAAE,OAAO;CAC5B,MAAM,gBAAgB,OAAO,QAAQ;CACrC,OAAO,OAAO,cACZ,cAAc,KAAK;EACjB,QAAQ,CAAC;EACT,SAAS,CAAC,GAAG;CACf,CAAC,CACH;AACF,CAAC,CACH,CACF"}
@@ -0,0 +1,16 @@
1
+ import { _ as ContextRemove } from "./chunk-operations.mjs";
2
+ import { Operation } from "@dxos/compute";
3
+ import { Harness } from "@dxos/assistant";
4
+ import * as Effect from "effect/Effect";
5
+ //#region src/skills/database/operations/context-remove.ts
6
+ var context_remove_default = ContextRemove.pipe(Operation.withHandler(Effect.fn(function* ({ obj }) {
7
+ const sessionBinder = yield* Harness.binder;
8
+ yield* Effect.promise(() => sessionBinder.unbind({
9
+ skills: [],
10
+ objects: [obj]
11
+ }));
12
+ })));
13
+ //#endregion
14
+ export { context_remove_default as default };
15
+
16
+ //# sourceMappingURL=chunk-context-remove.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-context-remove.mjs","names":[],"sources":["../../src/skills/database/operations/context-remove.ts"],"sourcesContent":["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Harness } from '@dxos/assistant';\nimport { Operation } from '@dxos/compute';\n\nimport { ContextRemove } from './definitions';\n\nexport default ContextRemove.pipe(\n Operation.withHandler(\n Effect.fn(function* ({ obj }) {\n const sessionBinder = yield* Harness.binder;\n yield* Effect.promise(() =>\n sessionBinder.unbind({\n skills: [],\n objects: [obj],\n }),\n );\n }),\n ),\n);\n"],"mappings":";;;;;AAWA,IAAA,yBAAe,cAAc,KAC3B,UAAU,YACR,OAAO,GAAG,WAAW,EAAE,OAAO;CAC5B,MAAM,gBAAgB,OAAO,QAAQ;CACrC,OAAO,OAAO,cACZ,cAAc,OAAO;EACnB,QAAQ,CAAC;EACT,SAAS,CAAC,GAAG;CACf,CAAC,CACH;AACF,CAAC,CACH,CACF"}
@@ -0,0 +1,23 @@
1
+ import { t as skill } from "./chunk-agent.mjs";
2
+ import { s as makeInitialized } from "./chunk-types.mjs";
3
+ import { B as CreateAgent, V as SyncAutomation } from "./chunk-operations.mjs";
4
+ import { Operation, Skill } from "@dxos/compute";
5
+ import { Obj, Ref } from "@dxos/echo";
6
+ import * as Effect from "effect/Effect";
7
+ //#region src/skills/agent-wizard/operations/create-agent.ts
8
+ var create_agent_default = CreateAgent.pipe(Operation.withHandler(Effect.fnUntraced(function* ({ name, instructions, skills, subscriptions }) {
9
+ const agent = yield* makeInitialized({
10
+ name,
11
+ instructions,
12
+ skills: yield* Effect.forEach(skills, (key) => Skill.upsert(key).pipe(Effect.map(Ref.make), Effect.orDie))
13
+ }, Obj.clone(skill.make()));
14
+ yield* Operation.invoke(SyncAutomation, {
15
+ agent: Ref.make(agent),
16
+ subscriptions
17
+ });
18
+ return agent;
19
+ })));
20
+ //#endregion
21
+ export { create_agent_default as default };
22
+
23
+ //# sourceMappingURL=chunk-create-agent.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-create-agent.mjs","names":[],"sources":["../../src/skills/agent-wizard/operations/create-agent.ts"],"sourcesContent":["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Operation, Skill } from '@dxos/compute';\nimport { Obj, Ref } from '@dxos/echo';\n\nimport { Agent } from '../../../types';\nimport { AgentSkill } from '../../agent';\nimport { CreateAgent, SyncAutomation } from './definitions';\n\nexport default CreateAgent.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* ({ name, instructions, skills, subscriptions }) {\n const agent = yield* Agent.makeInitialized(\n {\n name,\n instructions,\n skills: yield* Effect.forEach(skills, (key) => Skill.upsert(key).pipe(Effect.map(Ref.make), Effect.orDie)),\n },\n Obj.clone(AgentSkill.make()),\n );\n // Subscriptions compile straight to Routines (the agent stores no automation fields).\n yield* Operation.invoke(SyncAutomation, { agent: Ref.make(agent), subscriptions });\n return agent;\n }),\n ),\n);\n"],"mappings":";;;;;;;AAaA,IAAA,uBAAe,YAAY,KACzB,UAAU,YACR,OAAO,WAAW,WAAW,EAAE,MAAM,cAAc,QAAQ,iBAAiB;CAC1E,MAAM,QAAQ,OAAO,gBACnB;EACE;EACA;EACA,QAAQ,OAAO,OAAO,QAAQ,SAAS,QAAQ,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,OAAO,IAAI,IAAI,IAAI,GAAG,OAAO,KAAK,CAAC;CAC3G,GACA,IAAI,MAAM,MAAW,KAAK,CAAC,CAC7B;CAEA,OAAO,UAAU,OAAO,gBAAgB;EAAE,OAAO,IAAI,KAAK,KAAK;EAAG;CAAc,CAAC;CACjF,OAAO;AACT,CAAC,CACH,CACF"}
@@ -0,0 +1,52 @@
1
+ import { t as __exportAll } from "./chunk-rolldown-runtime.mjs";
2
+ import { Credential, Operation, Trace } from "@dxos/compute";
3
+ import * as Schema from "effect/Schema";
4
+ import { DXN } from "@dxos/keys";
5
+ //#region src/skills/discord/operations/definitions.ts
6
+ var definitions_exports = /* @__PURE__ */ __exportAll({
7
+ FetchMessages: () => FetchMessages,
8
+ TimeRange: () => TimeRange
9
+ });
10
+ var TimeRangeSchema = Schema.String.pipe(Schema.pattern(/\d+(s|m|h|d)/)).annotations({
11
+ description: "Time range. 1d - 1 day, 2h - 2 hours, 30m - 30 minutes, 15s - 15 seconds.",
12
+ examples: [
13
+ "1d",
14
+ "2h",
15
+ "30m",
16
+ "15s"
17
+ ]
18
+ });
19
+ var TimeRange = Object.assign(TimeRangeSchema, { toSeconds(timeRange) {
20
+ const match = timeRange.match(/(\d+)(s|m|h|d)/);
21
+ if (!match) throw new Error(`Invalid time range: ${timeRange}`);
22
+ const [_, amount, unit] = match;
23
+ switch (unit) {
24
+ case "s": return Number(amount);
25
+ case "m": return Number(amount) * 60;
26
+ case "h": return Number(amount) * 60 * 60;
27
+ case "d": return Number(amount) * 24 * 60 * 60;
28
+ default: throw new Error(`Invalid time range unit: ${unit}`);
29
+ }
30
+ } });
31
+ var FetchMessages = Operation.make({
32
+ meta: {
33
+ key: DXN.make("org.dxos.function.discord.fetchDiscordMessages"),
34
+ name: "Sync Discord messages",
35
+ icon: "ph--hash--regular"
36
+ },
37
+ input: Schema.Struct({
38
+ serverId: Schema.String.annotations({ description: "The ID of the server to fetch messages from." }),
39
+ channelId: Schema.optional(Schema.String).annotations({ description: "The ID of the channel to fetch messages from. Will crawl all channels from the server if not specified." }),
40
+ after: Schema.optional(Schema.Number).annotations({ description: "Fetch messages that were sent after a given date. Unix timestamp in seconds. Exclusive with `last`." }),
41
+ last: TimeRange.annotations({ description: "Time range to fetch most recent messages. Specifies the range in the past, from now. \"1d\" would fetch messages from the last 24 hours." }),
42
+ limit: Schema.optional(Schema.Number).annotations({ description: "The maximum number of messages to fetch." }),
43
+ pageSize: Schema.optional(Schema.Number).annotations({ description: "The number of messages to fetch per page." }),
44
+ ignoreUsernames: Schema.optional(Schema.Array(Schema.String)).annotations({ description: "Exclude messages from these usernames." })
45
+ }),
46
+ output: Schema.Any,
47
+ services: [Credential.CredentialsService, Trace.TraceService]
48
+ });
49
+ //#endregion
50
+ export { TimeRange as n, definitions_exports as r, FetchMessages as t };
51
+
52
+ //# sourceMappingURL=chunk-definitions.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-definitions.mjs","names":[],"sources":["../../src/skills/discord/operations/definitions.ts"],"sourcesContent":["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Credential, Operation, Trace } from '@dxos/compute';\nimport { DXN } from '@dxos/keys';\n\n// TODO(dmaretskyi): Extract.\nconst TimeRangeSchema = Schema.String.pipe(Schema.pattern(/\\d+(s|m|h|d)/)).annotations({\n description: 'Time range. 1d - 1 day, 2h - 2 hours, 30m - 30 minutes, 15s - 15 seconds.',\n examples: ['1d', '2h', '30m', '15s'],\n});\n\nexport const TimeRange = Object.assign(TimeRangeSchema, {\n toSeconds(timeRange: string) {\n const match = timeRange.match(/(\\d+)(s|m|h|d)/);\n if (!match) {\n throw new Error(`Invalid time range: ${timeRange}`);\n }\n const [_, amount, unit] = match;\n switch (unit) {\n case 's':\n return Number(amount);\n case 'm':\n return Number(amount) * 60;\n case 'h':\n return Number(amount) * 60 * 60;\n case 'd':\n return Number(amount) * 24 * 60 * 60;\n default:\n throw new Error(`Invalid time range unit: ${unit}`);\n }\n },\n});\n\nexport const FetchMessages = Operation.make({\n meta: {\n key: DXN.make('org.dxos.function.discord.fetchDiscordMessages'),\n name: 'Sync Discord messages',\n icon: 'ph--hash--regular',\n },\n input: Schema.Struct({\n serverId: Schema.String.annotations({\n description: 'The ID of the server to fetch messages from.',\n }),\n channelId: Schema.optional(Schema.String).annotations({\n description:\n 'The ID of the channel to fetch messages from. Will crawl all channels from the server if not specified.',\n }),\n after: Schema.optional(Schema.Number).annotations({\n description:\n 'Fetch messages that were sent after a given date. Unix timestamp in seconds. Exclusive with `last`.',\n }),\n last: TimeRange.annotations({\n description:\n 'Time range to fetch most recent messages. Specifies the range in the past, from now. \"1d\" would fetch messages from the last 24 hours.',\n }),\n limit: Schema.optional(Schema.Number).annotations({\n description: 'The maximum number of messages to fetch.',\n }),\n pageSize: Schema.optional(Schema.Number).annotations({\n description: 'The number of messages to fetch per page.',\n }),\n ignoreUsernames: Schema.optional(Schema.Array(Schema.String)).annotations({\n description: 'Exclude messages from these usernames.',\n }),\n }),\n output: Schema.Any,\n services: [Credential.CredentialsService, Trace.TraceService],\n});\n"],"mappings":";;;;;;;;;AAUA,IAAM,kBAAkB,OAAO,OAAO,KAAK,OAAO,QAAQ,cAAc,CAAC,CAAC,CAAC,YAAY;CACrF,aAAa;CACb,UAAU;EAAC;EAAM;EAAM;EAAO;CAAK;AACrC,CAAC;AAED,IAAa,YAAY,OAAO,OAAO,iBAAiB,EACtD,UAAU,WAAmB;CAC3B,MAAM,QAAQ,UAAU,MAAM,gBAAgB;CAC9C,IAAI,CAAC,OACH,MAAM,IAAI,MAAM,uBAAuB,WAAW;CAEpD,MAAM,CAAC,GAAG,QAAQ,QAAQ;CAC1B,QAAQ,MAAR;EACE,KAAK,KACH,OAAO,OAAO,MAAM;EACtB,KAAK,KACH,OAAO,OAAO,MAAM,IAAI;EAC1B,KAAK,KACH,OAAO,OAAO,MAAM,IAAI,KAAK;EAC/B,KAAK,KACH,OAAO,OAAO,MAAM,IAAI,KAAK,KAAK;EACpC,SACE,MAAM,IAAI,MAAM,4BAA4B,MAAM;CACtD;AACF,EACF,CAAC;AAED,IAAa,gBAAgB,UAAU,KAAK;CAC1C,MAAM;EACJ,KAAK,IAAI,KAAK,gDAAgD;EAC9D,MAAM;EACN,MAAM;CACR;CACA,OAAO,OAAO,OAAO;EACnB,UAAU,OAAO,OAAO,YAAY,EAClC,aAAa,+CACf,CAAC;EACD,WAAW,OAAO,SAAS,OAAO,MAAM,CAAC,CAAC,YAAY,EACpD,aACE,0GACJ,CAAC;EACD,OAAO,OAAO,SAAS,OAAO,MAAM,CAAC,CAAC,YAAY,EAChD,aACE,sGACJ,CAAC;EACD,MAAM,UAAU,YAAY,EAC1B,aACE,2IACJ,CAAC;EACD,OAAO,OAAO,SAAS,OAAO,MAAM,CAAC,CAAC,YAAY,EAChD,aAAa,2CACf,CAAC;EACD,UAAU,OAAO,SAAS,OAAO,MAAM,CAAC,CAAC,YAAY,EACnD,aAAa,4CACf,CAAC;EACD,iBAAiB,OAAO,SAAS,OAAO,MAAM,OAAO,MAAM,CAAC,CAAC,CAAC,YAAY,EACxE,aAAa,yCACf,CAAC;CACH,CAAC;CACD,QAAQ,OAAO;CACf,UAAU,CAAC,WAAW,oBAAoB,MAAM,YAAY;AAC9D,CAAC"}
@@ -0,0 +1,56 @@
1
+ import { t as __exportAll } from "./chunk-rolldown-runtime.mjs";
2
+ import { Operation, Project } from "@dxos/compute";
3
+ import { trim } from "@dxos/util";
4
+ import * as Schema from "effect/Schema";
5
+ import { Database, Obj, Ref } from "@dxos/echo";
6
+ import { DXN as DXN$1 } from "@dxos/keys";
7
+ //#region src/skills/project/operations/definitions.ts
8
+ var definitions_exports = /* @__PURE__ */ __exportAll({
9
+ ArtifactAdd: () => ArtifactAdd,
10
+ ArtifactInfo: () => ArtifactInfo,
11
+ ArtifactList: () => ArtifactList
12
+ });
13
+ var ArtifactAdd = Operation.make({
14
+ meta: {
15
+ key: DXN$1.make("org.dxos.function.project.artifactAdd"),
16
+ name: "Add project artifact",
17
+ icon: "ph--stack-plus--regular",
18
+ description: trim`
19
+ Files an object into a project's artifacts collection.
20
+ Use this after creating an object (document, outline, sheet, contact, …) while working in a
21
+ project's context, so the project owns it and it appears in the project's artifacts list.
22
+ Adding the same object twice is a no-op.
23
+ `
24
+ },
25
+ input: Schema.Struct({
26
+ project: Ref.Ref(Project.Project).annotations({ description: "The project to file into (its reference is in the chat context)." }),
27
+ object: Ref.Ref(Obj.Unknown).annotations({ description: "The object to file as an artifact." })
28
+ }),
29
+ output: Schema.Void,
30
+ services: [Database.Service]
31
+ });
32
+ /** One artifact row: enough to identify and load the object, without inlining its content. */
33
+ var ArtifactInfo = Schema.Struct({
34
+ dxn: Schema.String,
35
+ typename: Schema.optional(Schema.String),
36
+ label: Schema.optional(Schema.String)
37
+ });
38
+ var ArtifactList = Operation.make({
39
+ meta: {
40
+ key: DXN$1.make("org.dxos.function.project.artifactList"),
41
+ name: "List project artifacts",
42
+ icon: "ph--stack--regular",
43
+ description: trim`
44
+ Lists the objects in a project's artifacts collection (DXN, type, and label per artifact).
45
+ Use this to find what the project already holds before searching the whole space; load an
46
+ artifact's content with the load tool when needed.
47
+ `
48
+ },
49
+ input: Schema.Struct({ project: Ref.Ref(Project.Project).annotations({ description: "The project whose artifacts to list (its reference is in the chat context)." }) }),
50
+ output: Schema.Struct({ artifacts: Schema.Array(ArtifactInfo) }),
51
+ services: [Database.Service]
52
+ });
53
+ //#endregion
54
+ export { ArtifactList as n, definitions_exports as r, ArtifactAdd as t };
55
+
56
+ //# sourceMappingURL=chunk-definitions2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-definitions2.mjs","names":[],"sources":["../../src/skills/project/operations/definitions.ts"],"sourcesContent":["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Operation, Project } from '@dxos/compute';\nimport { Database, Obj, Ref } from '@dxos/echo';\nimport { DXN } from '@dxos/keys';\nimport { trim } from '@dxos/util';\n\nexport const ArtifactAdd = Operation.make({\n meta: {\n key: DXN.make('org.dxos.function.project.artifactAdd'),\n name: 'Add project artifact',\n icon: 'ph--stack-plus--regular',\n description: trim`\n Files an object into a project's artifacts collection.\n Use this after creating an object (document, outline, sheet, contact, …) while working in a\n project's context, so the project owns it and it appears in the project's artifacts list.\n Adding the same object twice is a no-op.\n `,\n },\n input: Schema.Struct({\n project: Ref.Ref(Project.Project).annotations({\n description: 'The project to file into (its reference is in the chat context).',\n }),\n object: Ref.Ref(Obj.Unknown).annotations({\n description: 'The object to file as an artifact.',\n }),\n }),\n output: Schema.Void,\n services: [Database.Service],\n});\n\n/** One artifact row: enough to identify and load the object, without inlining its content. */\nexport const ArtifactInfo = Schema.Struct({\n dxn: Schema.String,\n typename: Schema.optional(Schema.String),\n label: Schema.optional(Schema.String),\n});\n\nexport const ArtifactList = Operation.make({\n meta: {\n key: DXN.make('org.dxos.function.project.artifactList'),\n name: 'List project artifacts',\n icon: 'ph--stack--regular',\n description: trim`\n Lists the objects in a project's artifacts collection (DXN, type, and label per artifact).\n Use this to find what the project already holds before searching the whole space; load an\n artifact's content with the load tool when needed.\n `,\n },\n input: Schema.Struct({\n project: Ref.Ref(Project.Project).annotations({\n description: 'The project whose artifacts to list (its reference is in the chat context).',\n }),\n }),\n output: Schema.Struct({\n artifacts: Schema.Array(ArtifactInfo),\n }),\n services: [Database.Service],\n});\n"],"mappings":";;;;;;;;;;;;AAWA,IAAa,cAAc,UAAU,KAAK;CACxC,MAAM;EACJ,KAAK,MAAI,KAAK,uCAAuC;EACrD,MAAM;EACN,MAAM;EACN,aAAa,IAAI;;;;;;CAMnB;CACA,OAAO,OAAO,OAAO;EACnB,SAAS,IAAI,IAAI,QAAQ,OAAO,CAAC,CAAC,YAAY,EAC5C,aAAa,mEACf,CAAC;EACD,QAAQ,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,YAAY,EACvC,aAAa,qCACf,CAAC;CACH,CAAC;CACD,QAAQ,OAAO;CACf,UAAU,CAAC,SAAS,OAAO;AAC7B,CAAC;;AAGD,IAAa,eAAe,OAAO,OAAO;CACxC,KAAK,OAAO;CACZ,UAAU,OAAO,SAAS,OAAO,MAAM;CACvC,OAAO,OAAO,SAAS,OAAO,MAAM;AACtC,CAAC;AAED,IAAa,eAAe,UAAU,KAAK;CACzC,MAAM;EACJ,KAAK,MAAI,KAAK,wCAAwC;EACtD,MAAM;EACN,MAAM;EACN,aAAa,IAAI;;;;;CAKnB;CACA,OAAO,OAAO,OAAO,EACnB,SAAS,IAAI,IAAI,QAAQ,OAAO,CAAC,CAAC,YAAY,EAC5C,aAAa,8EACf,CAAC,EACH,CAAC;CACD,QAAQ,OAAO,OAAO,EACpB,WAAW,OAAO,MAAM,YAAY,EACtC,CAAC;CACD,UAAU,CAAC,SAAS,OAAO;AAC7B,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { t as __exportAll } from "./chunk-rolldown-runtime.mjs";
2
+ import { Operation } from "@dxos/compute";
3
+ import { trim } from "@dxos/util";
4
+ import * as Schema from "effect/Schema";
5
+ import { DXN } from "@dxos/keys";
6
+ //#region src/skills/websearch/operations/definitions.ts
7
+ var definitions_exports = /* @__PURE__ */ __exportAll({ Fetch: () => Fetch });
8
+ var Fetch = Operation.make({
9
+ meta: {
10
+ key: DXN.make("org.dxos.function.web-search.fetch"),
11
+ name: "Fetch web page",
12
+ icon: "ph--globe-simple--regular",
13
+ description: trim`
14
+ Fetches the content of a web page and returns the HTML.
15
+ Use this to get the content of a web page.
16
+ `
17
+ },
18
+ input: Schema.Struct({ url: Schema.String.annotations({ description: "The URL of the web page to fetch." }) }),
19
+ output: Schema.String
20
+ });
21
+ //#endregion
22
+ export { definitions_exports as n, Fetch as t };
23
+
24
+ //# sourceMappingURL=chunk-definitions3.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-definitions3.mjs","names":[],"sources":["../../src/skills/websearch/operations/definitions.ts"],"sourcesContent":["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Operation } from '@dxos/compute';\nimport { DXN } from '@dxos/keys';\nimport { trim } from '@dxos/util';\n\nexport const Fetch = Operation.make({\n meta: {\n key: DXN.make('org.dxos.function.web-search.fetch'),\n name: 'Fetch web page',\n icon: 'ph--globe-simple--regular',\n description: trim`\n Fetches the content of a web page and returns the HTML. \n Use this to get the content of a web page.\n `,\n },\n input: Schema.Struct({\n url: Schema.String.annotations({\n description: 'The URL of the web page to fetch.',\n }),\n }),\n output: Schema.String,\n});\n"],"mappings":";;;;;;;AAUA,IAAa,QAAQ,UAAU,KAAK;CAClC,MAAM;EACJ,KAAK,IAAI,KAAK,oCAAoC;EAClD,MAAM;EACN,MAAM;EACN,aAAa,IAAI;;;;CAInB;CACA,OAAO,OAAO,OAAO,EACnB,KAAK,OAAO,OAAO,YAAY,EAC7B,aAAa,oCACf,CAAC,EACH,CAAC;CACD,QAAQ,OAAO;AACjB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { c as DeleteMemory } from "./chunk-operations.mjs";
2
+ import { Operation } from "@dxos/compute";
3
+ import { Database } from "@dxos/echo";
4
+ import * as Effect from "effect/Effect";
5
+ //#region src/skills/memory/operations/delete.ts
6
+ var delete_default = DeleteMemory.pipe(Operation.withHandler(Effect.fn(function* ({ memory }) {
7
+ const memoryObj = yield* Database.load(memory);
8
+ yield* Database.remove(memoryObj);
9
+ yield* Database.flush();
10
+ })));
11
+ //#endregion
12
+ export { delete_default as default };
13
+
14
+ //# sourceMappingURL=chunk-delete.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-delete.mjs","names":[],"sources":["../../src/skills/memory/operations/delete.ts"],"sourcesContent":["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Operation } from '@dxos/compute';\nimport { Database } from '@dxos/echo';\n\nimport { DeleteMemory } from './definitions';\n\nexport default DeleteMemory.pipe(\n Operation.withHandler(\n Effect.fn(function* ({ memory }) {\n const memoryObj = yield* Database.load(memory);\n yield* Database.remove(memoryObj);\n yield* Database.flush();\n }),\n ),\n);\n"],"mappings":";;;;;AAWA,IAAA,iBAAe,aAAa,KAC1B,UAAU,YACR,OAAO,GAAG,WAAW,EAAE,UAAU;CAC/B,MAAM,YAAY,OAAO,SAAS,KAAK,MAAM;CAC7C,OAAO,SAAS,OAAO,SAAS;CAChC,OAAO,SAAS,MAAM;AACxB,CAAC,CACH,CACF"}