@dxos/assistant-toolkit 0.10.0 → 0.11.0

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 @@
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../src/skills/agent-wizard/skill.ts","../../src/skills/alarm/skill.ts","../../src/skills/automation/skill.ts","../../src/skills/skill-manager/skill.ts","../../src/skills/browser/skill.ts","../../src/skills/connectors/skill.ts","../../src/skills/database/skill.ts","../../src/skills/delegation/skill.ts","../../src/skills/discord/skill.ts","../../src/skills/discord/operations/index.ts","../../src/skills/linear/skill.ts","../../src/skills/linear/operations/index.ts","../../src/skills/memory/skill.ts","../../src/skills/planning/skill.ts","../../src/skills/project/skill.ts","../../src/skills/project/operations/index.ts","../../src/skills/websearch/toolkit.ts","../../src/skills/websearch/skill.ts","../../src/skills/websearch/operations/index.ts","../../src/supervisor/delegation-strategy.ts"],"sourcesContent":["//\n// Copyright 2026 DXOS.org\n//\n\nimport { Skill, Template } from '@dxos/compute';\nimport { trim } from '@dxos/util';\n\nimport { AgentRules, CreateAgent, SyncAutomation } from './operations/definitions';\n\nconst SKILL_KEY = 'org.dxos.skill.agentWizard';\n\n/**\n * Creates the Agent Wizard skill. This is a function to avoid circular dependency issues.\n */\n// TODO(dmaretskyi): Combine with Agent Skill.\nconst make = () =>\n Skill.make({\n key: SKILL_KEY,\n name: 'Agent Wizard',\n description: 'Help the user create a new agent (subscriptions and optional cron compile to routines).',\n agentCanEnable: true,\n instructions: Template.make({\n source: trim`\n You are a wizard that helps the user create a new agent.\n\n Agents are goal oriented and autonomously driven.\n Each agent has instructions - the goal of the agent.\n The instructions also typically describe what actions to perform in reaction to events (emails).\n Agents can subscribe to emails, and durable work products belong to a project's artifacts.\n\n Automation (subscriptions and an optional cron schedule) is compiled into routines, not stored\n on the agent: pass subscriptions when creating the agent, and use the sync-automation tool with\n the FULL desired config to change automation later (a cron expression schedules periodic wakes,\n e.g. \\`0 9 * * *\\` for daily at 09:00; \\`enabled\\` on the agent is applied to every trigger).\n\n The agent itself is an ECHO object and can be edited like any other object using the database skill.\n You can edit the agent's instructions, name, and other properties directly.\n If you edit the agent's \\`enabled\\` field, you MUST call sync-automation afterward so triggers pick it up.\n\n IMPORTANT: Before attempting to create an agent call the [agent-rules] tool to get the rules for creating an agent.\n `,\n }),\n tools: Skill.toolDefinitions({ operations: [AgentRules, CreateAgent, SyncAutomation] }),\n });\n\nconst skill: Skill.Definition = {\n key: SKILL_KEY,\n make,\n};\n\nexport default skill;\n","//\n// Copyright 2026 DXOS.org\n//\n\nimport { Skill } from '@dxos/compute';\nimport { Ref } from '@dxos/echo';\nimport { Text } from '@dxos/schema';\nimport { trim } from '@dxos/util';\n\nimport { GetCurrentDate, SetAlarm } from './operations/definitions';\n\nconst SKILL_KEY = 'org.dxos.skill.alarm';\n\nconst instructions = trim`\n You can schedule an alarm to wake yourself up in the future and continue working.\n When the alarm fires you receive a prompt carrying any reminder you set.\n Read the current time before computing an absolute wake time.\n`;\n\nconst make = () =>\n Skill.make({\n key: SKILL_KEY,\n name: 'Alarm',\n description: 'Schedule a self-wake and inspect the current time.',\n agentCanEnable: true,\n instructions: {\n source: Ref.make(Text.make({ content: instructions })),\n },\n tools: Skill.toolDefinitions({ operations: [SetAlarm, GetCurrentDate] }),\n });\n\nconst skill: Skill.Definition = {\n key: SKILL_KEY,\n make,\n};\n\nexport default skill;\n","//\n// Copyright 2026 DXOS.org\n//\n\nimport { Operation, Skill, Trigger } from '@dxos/compute';\nimport { Ref, Type } from '@dxos/echo';\nimport { Text } from '@dxos/schema';\nimport { trim } from '@dxos/util';\n\nconst SKILL_KEY = 'org.dxos.skill.automation';\n\nconst instructions = trim`\n Automation allows you to automatically initiate actions based on events.\n Automations are configured by creating a trigger that references a function.\n Whenever event that matches the trigger occurs, the function is invoked.\n\n ## Configuration\n\n Triggers are configured by the properties of the Trigger object.\n - enabled: Must be true for trigger to run.\n - spec: Events that the trigger matches.\n - function: Ref to a ${Type.getTypename(Operation.PersistentOperation)} object that will be invoked. Query the functions present in the space first, and reference them in the trigger.\n - input: The spec of the input data that will be passed to the function.\n\n ## Input patterns\n\n Input to the invoked function is defined by the input property of the Trigger object.\n It's an object that supports constants or template strings.\n\n Example:\n\n {\n item: '{{event.item}}',\n instructions: 'Summarize and perform entity-extraction'\n mailbox: { '/': 'echo://AAA/ZZZ' }\n }\n\n ## Trigger kinds\n\n - Timer: Triggered by a cron schedule.\n - Queue: Subscribes and processes items begginging to end.\n Note: queues are the same as feeds. The queue EID should be of form: echo://<space-id>/<queue-id>.\n - Subscription: Subscribes and processes database items based on a query.\n\n Avoid: email and webhook triggers.\n\n ## Editing triggers\n\n Triggers are represented as objects of type ${Type.getTypename(Trigger.Trigger)}.\n You need access to the Database skill to manipulate triggers.\n Read trigger schema before manipulating triggers.\n Having a Trigger object in the database is enough to setup an automation. \n\n ## Examples\n\n Timer:\n\n {\n \"function\": { \"/\": \"echo://AAA/ZZZ\" },\n \"enabled\": true,\n \"spec\": {\n \"kind\": \"timer\",\n \"cron\": \"*/5 * * * *\"\n }\n }\n\n Queue:\n\n {\n \"function\": { \"/\": \"echo://AAA/ZZZ\" },\n \"enabled\": true,\n \"spec\": {\n \"kind\": \"queue\",\n \"queue\": \"echo://XXX/YYY\"\n }\n }\n\n Subscription:\n\n {\n \"function\": { \"/\": \"echo://AAA/ZZZ\" },\n \"enabled\": true,\n \"spec\": {\n \"kind\": \"subscription\",\n \"query\": { \"ast\": { \"type\": \"select\", \"filter\": { \"type\": \"object\", \"typename\": \"dxn:org.dxos.type.person\" } } }\n }\n }\n`;\n\nconst make = () =>\n Skill.make({\n key: SKILL_KEY,\n name: 'Triggers',\n description: 'Trigger management and automation.',\n instructions: {\n source: Ref.make(Text.make({ content: instructions })),\n },\n });\n\nconst skill: Skill.Definition = {\n key: SKILL_KEY,\n make,\n};\n\nexport default skill;\n","//\n// Copyright 2026 DXOS.org\n//\n\nimport { Skill, Template } from '@dxos/compute';\nimport { DXN } from '@dxos/keys';\nimport { trim } from '@dxos/util';\n\nimport { EnableSkills, QuerySkills } from './operations/definitions';\n\nconst SKILL_KEY = 'org.dxos.skill.skillManager';\n\nconst make = () =>\n Skill.make({\n key: SKILL_KEY,\n name: 'Skill Manager',\n description: 'Query and enable skills in the current conversation.',\n instructions: Template.make({\n source: trim`\n The list below is the current set of available skills — it is rendered fresh into this prompt,\n so do NOT call [query-skills] to obtain it. Call [enable-skills] directly with the keys you\n need; only skills marked [agent-can-enable] can be enabled by the agent.\n Reach for [query-skills] only to re-read the list after something has changed it.\n\n <available_skills>\n {{#each skills}}\n - {{key}} \"{{name}}\"{{#if description}} -- {{description}}{{/if}}{{#if agentCanEnable}} [agent-can-enable]{{/if}}\n {{/each}}\n </available_skills>\n\n NOTE: A skill's tools only appear once it is enabled. Skills already enabled in this\n conversation expose their tools to you directly — do not re-enable a skill whose tools you\n can already see.\n `,\n inputs: [\n {\n name: 'skills',\n kind: 'operation',\n operation: DXN.getName(QuerySkills.meta.key),\n },\n ],\n }),\n tools: Skill.toolDefinitions({ operations: [QuerySkills, EnableSkills] }),\n });\n\nconst skill: Skill.Definition = {\n key: SKILL_KEY,\n make,\n};\n\nexport default skill;\n","//\n// Copyright 2025 DXOS.org\n//\n\nimport { Skill } from '@dxos/compute';\nimport { Ref } from '@dxos/echo';\nimport { Text } from '@dxos/schema';\nimport { trim } from '@dxos/util';\n\nconst SKILL_KEY = 'org.dxos.skill.browser';\n\nconst instructions = trim`\n You are able to connect and use a virtual browser with persistent session.\n Browser tools are provided via MCP.\n`;\n\nconst make = () =>\n Skill.make({\n key: SKILL_KEY,\n name: 'Browser',\n description: 'Access to a real isolated browser.',\n agentCanEnable: true,\n instructions: {\n source: Ref.make(Text.make({ content: instructions })),\n },\n mcpServers: [\n {\n // https://dash.cloudflare.com/950816f3f59b079880a1ae33fb0ec320/workers/services/view/playwright-mcp-example/production\n url: 'https://playwright-mcp-example.dxos.workers.dev/sse',\n protocol: 'sse',\n },\n ],\n });\n\nconst skill: Skill.Definition = {\n key: SKILL_KEY,\n make,\n};\n\nexport default skill;\n","//\n// Copyright 2026 DXOS.org\n//\n\nimport { Skill } from '@dxos/compute';\nimport { Ref } from '@dxos/echo';\nimport { Text } from '@dxos/schema';\nimport { trim } from '@dxos/util';\n\nconst SKILL_KEY = 'org.dxos.skill.connectors';\n\n/**\n * Instructs the model to surface a connector prompt when a request needs a service the user has not\n * connected, rather than failing silently. The prompt is rendered inline in the conversation by the\n * `integration-prompt` surface, which offers to authenticate the matching connector.\n */\nconst instructions = trim`\n Users connect external services (such as Gmail, Slack, GitHub, Linear, and Discord) through connectors.\n A service is available to you only when a connection to it already exists in the current space.\n\n When a request needs a service that is not connected, DO NOT fail, refuse, or apologize. Instead, render\n a connector prompt so the user can connect it inline. Emit a self-closing surface tag with the\n 'integration-prompt' role and the service's domain:\n\n <surface role='integration-prompt' data='{\"service\":\"gmail.com\"}' />\n\n Use the service's domain as the 'service' value (for example 'gmail.com', 'slack.com', 'github.com').\n Emit the surface once, then briefly tell the user that connecting the service will let you continue.\n`;\n\nconst make = () =>\n Skill.make({\n key: SKILL_KEY,\n name: 'Connectors',\n description: 'Prompt the user to connect external services when a connector is required but unavailable.',\n agentCanEnable: true,\n instructions: {\n source: Ref.make(Text.make({ content: instructions })),\n },\n });\n\nconst skill: Skill.Definition = {\n key: SKILL_KEY,\n make,\n};\n\nexport default skill;\n","//\n// Copyright 2025 DXOS.org\n//\n\nimport { Skill } from '@dxos/compute';\nimport { Ref } from '@dxos/echo';\nimport { Text } from '@dxos/schema';\nimport { trim } from '@dxos/util';\n\nimport {\n ContextAdd,\n ContextRemove,\n Load,\n ObjectCreate,\n ObjectDelete,\n ObjectUpdate,\n Query,\n RelationCreate,\n RelationDelete,\n SchemaAdd,\n SchemaList,\n TagAdd,\n TagRemove,\n} from './operations/definitions';\n\nconst SKILL_KEY = 'org.dxos.skill.database';\n\nconst instructions = trim`\n You can query, create, update, and delete objects in ECHO.\n You can manage schemas, relations, tags, and add objects to the chat context.\n`;\n\nconst make = () =>\n Skill.make({\n key: SKILL_KEY,\n name: 'Database',\n description: 'Query and manipulate objects in the ECHO database.',\n agentCanEnable: true,\n instructions: {\n source: Ref.make(Text.make({ content: instructions })),\n },\n tools: Skill.toolDefinitions({\n operations: [\n ContextAdd,\n ContextRemove,\n Load,\n ObjectCreate,\n ObjectDelete,\n ObjectUpdate,\n Query,\n RelationCreate,\n RelationDelete,\n SchemaAdd,\n SchemaList,\n TagAdd,\n TagRemove,\n ],\n }),\n });\n\nconst skill: Skill.Definition = {\n key: SKILL_KEY,\n make,\n};\n\nexport default skill;\n","//\n// Copyright 2026 DXOS.org\n//\n\nimport { Skill } from '@dxos/compute';\n\nimport { DelegateTask } from './operations/delegate-task';\n\nconst SKILL_KEY = 'org.dxos.skill.delegation';\n\nconst make = () =>\n Skill.make({\n key: SKILL_KEY,\n name: 'Delegation',\n description: 'Delegates work to sub-agents and tracks it as plan tasks.',\n tools: Skill.toolDefinitions({ operations: [DelegateTask] }),\n });\n\nconst skill: Skill.Definition = {\n key: SKILL_KEY,\n make,\n};\n\nexport default skill;\n","//\n// Copyright 2025 DXOS.org\n//\n\nimport { Skill } from '@dxos/compute';\nimport { Ref } from '@dxos/echo';\nimport { Text } from '@dxos/schema';\nimport { trim } from '@dxos/util';\n\nimport { FetchMessages } from './operations/definitions';\n\nconst SKILL_KEY = 'org.dxos.skill.discord';\n\n/**\n * Agent prompt instructions for managing hierarchical task lists.\n */\nconst instructions = trim`\n You are able to fetch messages from Discord servers.\n\n Known servers:\n\n DXOS serverId: 837138313172353095\n`;\n\nconst make = () =>\n Skill.make({\n key: SKILL_KEY,\n name: 'Discord',\n description: 'Discord integration.',\n instructions: {\n source: Ref.make(Text.make({ content: instructions })),\n },\n tools: Skill.toolDefinitions({ operations: [FetchMessages] }),\n });\n\nconst skill: Skill.Definition = {\n key: SKILL_KEY,\n make,\n};\n\nexport default skill;\n","//\n// Copyright 2025 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport * as DiscordOperations from './definitions';\n\nexport const DiscordHandlers = OperationHandlerSet.lazy(() => import('./fetch-messages'));\n","//\n// Copyright 2025 DXOS.org\n//\n\nimport { Skill } from '@dxos/compute';\nimport { Ref } from '@dxos/echo';\nimport { Text } from '@dxos/schema';\nimport { trim } from '@dxos/util';\n\nimport { SyncIssues } from './operations/definitions';\n\nconst SKILL_KEY = 'org.dxos.skill.linear';\n\n/**\n * Agent prompt instructions for managing hierarchical task lists.\n */\nconst instructions = trim`\n You are able to sync Linear workspaces.\n Sometimes sync does not complete in one go and you need to call the function again.\n\n Known workspaces:\n\n DXOS teamId: 1127c63a-6f77-4725-9229-50f6cd47321c\n`;\n\nconst make = () =>\n Skill.make({\n key: SKILL_KEY,\n name: 'Linear',\n description: 'Syncs Linear workspaces.',\n instructions: {\n source: Ref.make(Text.make({ content: instructions })),\n },\n tools: Skill.toolDefinitions({ operations: [SyncIssues] }),\n });\n\nconst skill: Skill.Definition = {\n key: SKILL_KEY,\n make,\n};\n\nexport default skill;\n","//\n// Copyright 2025 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport * as LinearOperations from './definitions';\n\nexport const LinearHandlers = OperationHandlerSet.lazy(() => import('./sync-issues'));\n","//\n// Copyright 2026 DXOS.org\n//\n\nimport { Skill } from '@dxos/compute';\nimport { Ref } from '@dxos/echo';\nimport { Text } from '@dxos/schema';\nimport { trim } from '@dxos/util';\n\nimport { DeleteMemory, QueryMemories, SaveMemory } from './operations/definitions';\n\nconst SKILL_KEY = 'org.dxos.skill.memory';\n\nconst instructions = trim`\n You have the ability to save and recall memories.\n Memories are persistent knowledge units stored in the database.\n Use memories to remember facts, user preferences, decisions, and any knowledge that should persist across conversations.\n\n When the user asks you to remember something, save it as a memory with a descriptive title.\n When the user asks about something you might have stored, query your memories first.\n You can also delete outdated or incorrect memories.\n`;\n\nconst make = () =>\n Skill.make({\n key: SKILL_KEY,\n name: 'Memory',\n description: 'Persistent memory storage and retrieval.',\n agentCanEnable: true,\n instructions: {\n source: Ref.make(Text.make({ content: instructions })),\n },\n tools: Skill.toolDefinitions({ operations: [SaveMemory, QueryMemories, DeleteMemory] }),\n });\n\nconst skill: Skill.Definition = {\n key: SKILL_KEY,\n make,\n};\n\nexport default skill;\n","//\n// Copyright 2026 DXOS.org\n//\n\nimport { Operation, Skill } from '@dxos/compute';\nimport { Ref } from '@dxos/echo';\n\nimport { PlanReminder, UpdateTasks } from './operations/definitions';\n\nconst SKILL_KEY = 'org.dxos.skill.planning';\n\nconst make = () =>\n Skill.make({\n key: SKILL_KEY,\n name: 'Planning',\n description: 'Plans and tracks complex tasks using artifacts.',\n agentCanEnable: true,\n tools: Skill.toolDefinitions({ operations: [UpdateTasks] }),\n // At the end of every request, remind the agent to keep working while its plan has open tasks.\n // The reminder enqueues onto the owning host (Tier B), which keeps the process alive.\n hooks: [\n {\n spec: { _tag: 'end-request' },\n function: Ref.make(Operation.serialize(PlanReminder)),\n },\n ],\n });\n\nconst skill: Skill.Definition = {\n key: SKILL_KEY,\n make,\n};\n\nexport default skill;\n","//\n// Copyright 2026 DXOS.org\n//\n\nimport { Skill } from '@dxos/compute';\nimport { Ref } from '@dxos/echo';\nimport { Text } from '@dxos/schema';\nimport { trim } from '@dxos/util';\n\nimport { ArtifactAdd, ArtifactList } from './operations/definitions';\n\nconst SKILL_KEY = 'org.dxos.skill.project';\n\nconst instructions = trim`\n You are working in the context of a project (its reference is bound into this chat).\n The project owns a collection of artifacts: the durable work products of this project.\n When you create an object the user asked for (a document, outline, sheet, contact, …), file it\n into the project's artifacts with the add-artifact tool so the project owns it.\n When looking for the project's existing material, list its artifacts first rather than searching\n the whole space.\n`;\n\nconst make = () =>\n Skill.make({\n key: SKILL_KEY,\n name: 'Project',\n description: \"Manage a project's artifacts: file created objects and find existing ones.\",\n agentCanEnable: true,\n instructions: {\n source: Ref.make(Text.make({ content: instructions })),\n },\n tools: Skill.toolDefinitions({\n operations: [ArtifactAdd, ArtifactList],\n }),\n });\n\nconst skill: Skill.Definition = {\n key: SKILL_KEY,\n make,\n};\n\nexport default skill;\n","//\n// Copyright 2026 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport * as ProjectOperations from './definitions';\n\nexport const ProjectHandlers = OperationHandlerSet.lazy(\n () => import('./artifact-add'),\n () => import('./artifact-list'),\n);\n","//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Toolkit from '@effect/ai/Toolkit';\nimport * as Layer from 'effect/Layer';\n\nimport { AnthropicWebSearchTool, OpaqueToolkit } from '@dxos/ai';\n\nexport const WebSearchToolkit = Toolkit.make(AnthropicWebSearchTool);\n\nexport const WebSearchToolkitOpaque = OpaqueToolkit.make(WebSearchToolkit, Layer.empty);\n","//\n// Copyright 2025 DXOS.org\n//\n\nimport { Skill } from '@dxos/compute';\nimport { Ref } from '@dxos/echo';\nimport { Text } from '@dxos/schema';\n\nimport { Fetch } from './operations/definitions';\nimport { WebSearchToolkit } from './toolkit';\n\nconst SKILL_KEY = 'org.dxos.skill.webSearch';\n\nconst make = () =>\n Skill.make({\n key: SKILL_KEY,\n name: 'Web Search',\n description: 'Search the web.',\n agentCanEnable: true,\n instructions: {\n source: Ref.make(Text.make()),\n },\n tools: Skill.toolDefinitions({ operations: [Fetch], tools: [WebSearchToolkit.tools.AnthropicWebSearch.name] }),\n });\n\nconst skill: Skill.Definition = {\n key: SKILL_KEY,\n make,\n};\n\nexport default skill;\n","//\n// Copyright 2025 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport * as WebSearchOperations from './definitions';\n\nexport const WebSearchHandlers = OperationHandlerSet.lazy(() => import('./fetch'));\n","//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Cause from 'effect/Cause';\nimport * as Effect from 'effect/Effect';\nimport * as Exit from 'effect/Exit';\n\nimport { type Delegation, type DelegationStrategy } from '@dxos/agent-runtime';\nimport { AiContext } from '@dxos/assistant';\nimport { Instructions } from '@dxos/compute';\nimport { ProcessManager } from '@dxos/compute-runtime';\nimport { Database, Feed, Filter, Obj, Query, Ref } from '@dxos/echo';\nimport { EffectEx } from '@dxos/effect';\nimport { EID, EntityId } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport { Message, Outline, Task } from '@dxos/types';\nimport { trim } from '@dxos/util';\n\nimport { RunInstructions } from '../operations';\nimport { DelegationSkill } from '../skills';\nimport { Agent, Chat } from '../types';\n\n/**\n * Resolves the chat backed by the given conversation feed, if any.\n */\nconst findChatForFeed = (feed: Feed.Feed): Effect.Effect<Chat.Chat | undefined, never, Database.Service> =>\n Effect.gen(function* () {\n const chats = yield* Database.query(Filter.type(Chat.Chat)).run;\n for (const chat of chats) {\n const matches = yield* Effect.gen(function* () {\n const chatFeed = yield* Database.load(chat.feed);\n return chatFeed.id === feed.id;\n }).pipe(Effect.orElseSucceed(() => false));\n if (matches) {\n return chat;\n }\n }\n return undefined;\n });\n\n/**\n * Resolves the agent whose chat is backed by the given conversation feed, if any.\n * Plain (agentless) chats yield `undefined`.\n */\nconst findAgentForFeed = (feed: Feed.Feed): Effect.Effect<Agent.Agent | undefined, never, Database.Service> =>\n Effect.gen(function* () {\n const chat = yield* findChatForFeed(feed);\n return chat ? yield* Agent.loadForChat(chat) : undefined;\n });\n\n/**\n * Normalizes an LLM-reported artifact reference (bare entity id or full ECHO URI) to a\n * fully-qualified ref in the current space. Not resolved here — it resolves lazily when read.\n */\nconst resolveArtifactRef = (id: string): Effect.Effect<Ref.Ref<Obj.Unknown>, Error, Database.Service> =>\n Effect.gen(function* () {\n const parsed = EID.tryParse(id);\n const candidate = (parsed ? EID.getEntityId(parsed) : undefined) ?? id;\n if (!EntityId.isValid(candidate)) {\n // Malformed LLM-reported id: fail so the caller's `orElseSucceed` drops it.\n return yield* Effect.fail(new Error(`Invalid artifact id: ${id}`));\n }\n const { db } = yield* Database.Service;\n return db.makeRef<Obj.Unknown>(EID.make({ spaceId: db.spaceId, entityId: candidate }));\n });\n\n/**\n * Renders a sub-agent result for inclusion in a notification message.\n */\nconst formatResult = (value: unknown): string => (typeof value === 'string' ? value : JSON.stringify(value));\n\n/**\n * Extracts artifact ids a sub-agent reported in its result (see the synthesized instructions\n * instructions). Tolerates the result being a string, or an object with `artifactIds`/`artifactId`.\n */\nconst extractArtifactIds = (value: unknown): string[] => {\n if (typeof value !== 'object' || value === null) {\n return [];\n }\n\n const record = value as { artifactIds?: unknown; artifactId?: unknown };\n const ids = Array.isArray(record.artifactIds)\n ? record.artifactIds\n : typeof record.artifactId === 'string'\n ? [record.artifactId]\n : [];\n return ids.filter((id): id is string => typeof id === 'string');\n};\n\n/**\n * The durable agent tasks awaiting a sub-agent for this conversation: in-progress children of the\n * working outline's task set whose assignee is an agent. Ordinary checklist items (markdown) are\n * never spawned — delegation happens only through the promotion the delegate-task tool performs.\n */\nconst findPendingTasks = (\n chat: Chat.Chat,\n activeIds: ReadonlySet<string>,\n): Effect.Effect<Task.Task[], never, Database.Service> =>\n Effect.gen(function* () {\n const outlineRef = Chat.peekOutlineRef(chat);\n const outline = outlineRef\n ? yield* Database.load(outlineRef).pipe(Effect.orElseSucceed(() => undefined))\n : undefined;\n const taskSet = outline?.taskSet\n ? yield* Database.load(outline.taskSet).pipe(Effect.orElseSucceed(() => undefined))\n : undefined;\n if (!taskSet) {\n return [];\n }\n const children = yield* Database.query(Query.select(Filter.id(taskSet.id)).children()).run.pipe(\n Effect.orElseSucceed(() => []),\n );\n return children.filter(\n (child): child is Task.Task =>\n Obj.instanceOf(Task.Task, child) &&\n child.assignee?.role === 'assistant' &&\n child.status === 'in-progress' &&\n !activeIds.has(child.id),\n );\n });\n\n/**\n * Supervisor behaviour for the conversational agent: after each turn, every in-progress agent\n * task not already running is run by a sub-agent (a synthesized minimal `Routine` executed via\n * `RunInstructions`); on completion the task status is updated, the checklist line is checked\n * off, and a templated message is posted back to the conversation.\n */\nexport const makeDelegationStrategy = (): DelegationStrategy => ({\n reconcile: (feed, activeIds) =>\n Effect.gen(function* () {\n const chat = yield* findChatForFeed(feed);\n if (!chat) {\n return [];\n }\n\n const pending = yield* findPendingTasks(chat, activeIds);\n if (pending.length === 0) {\n return [];\n }\n\n // Sub-agents inherit the supervisor's bound skills (so they have the same tools/\n // capabilities), minus the delegation skill itself — otherwise a sub-agent could\n // recursively delegate. Resolved from the conversation's AiContext bindings.\n const inheritedSkills = yield* Effect.gen(function* () {\n const runtime = yield* Effect.runtime<Database.Service>();\n const binder = yield* EffectEx.acquireReleaseResource(() => new AiContext.Binder({ feed, runtime }));\n return binder.getSkills().filter((skill) => Obj.getMeta(skill).key !== DelegationSkill.key);\n }).pipe(Effect.scoped);\n const skills = inheritedSkills.map((skill) => Ref.make(skill));\n\n const delegations: Delegation[] = [];\n for (const task of pending) {\n // Synthesize a minimal instructions whose goal is the task; the sub-agent runs it via RunInstructions\n // with the inherited skills bound.\n const instructions = yield* Database.add(\n Instructions.make({\n name: task.title,\n text: trim`\n Complete the following task and report the result concisely.\n\n If you create any documents or artifacts, call completeJob with a JSON object of the\n form { \"summary\": string, \"artifactIds\": string[] }, where artifactIds are the exact\n ids returned by the tools that created them. Otherwise return a short summary string.\n\n Task: ${task.title}\n `,\n skills,\n }),\n );\n\n delegations.push({\n id: task.id,\n spawn: Effect.gen(function* () {\n const invoker = yield* ProcessManager.ProcessOperationInvoker.Service;\n // The task ↔ process mapping lives runtime-side (the supervisor's activeIds keyed by\n // task id) — nothing is stamped on the durable task.\n const fiber = yield* invoker.invokeFiber(RunInstructions, {\n instructions: Ref.make(instructions),\n input: {},\n });\n return fiber.pid;\n }),\n });\n }\n return delegations;\n }),\n\n onComplete: (feed, id, exit) =>\n Effect.gen(function* () {\n const chat = yield* findChatForFeed(feed);\n // Reuse the chat just resolved rather than re-scanning every chat for the same feed.\n const agent = chat ? yield* Agent.loadForChat(chat) : undefined;\n\n // Resolve the durable task by its id and record the outcome; on success the checklist line\n // is checked off so the markdown mirror follows the durable state.\n let title = id;\n const tasks = yield* Database.query(Query.select(Filter.id(id))).run.pipe(Effect.orElseSucceed(() => []));\n const task = tasks.find((candidate): candidate is Task.Task => Obj.instanceOf(Task.Task, candidate));\n if (task) {\n Obj.update(task, (task) => {\n task.status = Exit.isSuccess(exit) ? 'done' : 'failed';\n });\n title = task.title;\n\n if (chat && Exit.isSuccess(exit)) {\n const outlineRef = Chat.peekOutlineRef(chat);\n const outline = outlineRef\n ? yield* Database.load(outlineRef).pipe(Effect.orElseSucceed(() => undefined))\n : undefined;\n const text = outline\n ? yield* Database.load(outline.content).pipe(Effect.orElseSucceed(() => undefined))\n : undefined;\n if (text) {\n Obj.update(text, (text) => {\n text.content = Outline.upsertChecklistItems(text.content, [{ title: task.title, done: true }]);\n });\n }\n }\n }\n\n // Surface any artifacts the sub-agent produced as inline reference blocks in the notification\n // message, so follow-up turns can reference them (durable filing belongs to the project's\n // collection — the agent stores no artifacts).\n const artifactRefs: Ref.Ref<Obj.Unknown>[] = [];\n if (agent && Exit.isSuccess(exit)) {\n for (const artifactId of extractArtifactIds(exit.value)) {\n const ref = yield* resolveArtifactRef(artifactId).pipe(Effect.orElseSucceed(() => undefined));\n if (ref) {\n artifactRefs.push(ref);\n }\n }\n }\n\n // Surface the actual failure cause (not just \"failed\") so delegation errors are debuggable.\n const failureCause = Exit.isFailure(exit) ? Cause.pretty(exit.cause) : undefined;\n if (failureCause) {\n log.warn('sub-agent failed', { taskId: id, title, cause: failureCause });\n }\n\n const text = Exit.isSuccess(exit)\n ? `The sub-agent completed \"${title}\".${artifactRefs.length === 0 ? ` ${formatResult(exit.value)}` : ''}`\n : `The sub-agent failed to complete \"${title}\": ${failureCause ?? 'unknown error'}`;\n\n // Embed each produced artifact as a `reference` block — the chat renders these as a dx-anchor\n // tag with an inline object preview, rather than a raw `echo://` URI in the text.\n const blocks = [\n { _tag: 'text' as const, text },\n ...artifactRefs.map((reference) => ({ _tag: 'reference' as const, reference })),\n ];\n\n yield* Feed.append(feed, [Message.make({ sender: 'assistant', blocks })]);\n }),\n});\n"],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ import { r as CompanionTo, t as Chat } from "./chunk-Chat.mjs";
2
+ import { n as Agent } from "./chunk-types.mjs";
3
+ import { t as Memory } from "./chunk-Memory.mjs";
4
+ import { A as SkillManagerHandlers, P as AlarmHandlers, R as AgentWizardHandlers, U as AgentSkillHandlers, f as DelegationHandlers, h as DatabaseHandlers, r as PlanningHandlers, s as MemoryHandlers, t as AgentHandlers } from "./chunk-operations.mjs";
5
+ import { Instructions, OperationHandlerSet, Routine, Skill, Trigger } from "@dxos/compute";
6
+ import { Position } from "@dxos/util";
7
+ import * as Schema from "effect/Schema";
8
+ import { ConsolePrinter } from "@dxos/ai";
9
+ import { AiContext, GenerationObserver, Harness } from "@dxos/assistant";
10
+ import { Collection, DXN, Database, Feed, Format, Ref, Tag, Type } from "@dxos/echo";
11
+ import * as Effect from "effect/Effect";
12
+ import { Employer, Organization, Outline, Person, Task, TaskSet } from "@dxos/types";
13
+ import { Text } from "@dxos/schema";
14
+ import { log } from "@dxos/log";
15
+ import * as Arr from "effect/Array";
16
+ import { pipe } from "effect/Function";
17
+ import { AssistantTestLayerWithTriggers } from "@dxos/agent-runtime/testing";
18
+ import { SpaceProperties } from "@dxos/client-protocol";
19
+ import "react";
20
+ import { Capabilities, Capability } from "@dxos/app-framework";
21
+ import { Surface } from "@dxos/app-framework/ui";
22
+ import { AppSurface } from "@dxos/app-toolkit/ui";
23
+ import { Card } from "@dxos/react-ui";
24
+ import { Syntax } from "@dxos/react-ui-syntax-highlighter";
25
+ import { jsx, jsxs } from "react/jsx-runtime";
26
+ //#region src/skills/testing.ts
27
+ var __dxlog_file = "/__w/dxos/dxos/packages/core/compute/assistant-toolkit/src/skills/testing.ts";
28
+ /**
29
+ * Runs the prompt steps, calling the test function after each step.
30
+ */
31
+ var runSteps = Effect.fn(function* (session, steps) {
32
+ for (const { test, ...props } of steps) {
33
+ yield* session.createRequest({
34
+ ...props,
35
+ observer: GenerationObserver.fromPrinter(new ConsolePrinter({ mode: "json" }))
36
+ });
37
+ const messages = yield* Effect.promise(() => session.getHistory());
38
+ log.info("conversation", { messages }, {
39
+ "~LogMeta": "~LogMeta",
40
+ F: __dxlog_file,
41
+ L: 35,
42
+ S: this
43
+ });
44
+ if (test) yield* Effect.promise(() => test());
45
+ }
46
+ });
47
+ /**
48
+ * Binds skills from the skill definitions.
49
+ */
50
+ var addSkills = Effect.fnUntraced(function* (skills) {
51
+ const skillRefs = yield* pipe(skills, Arr.map((skill) => skill.make()), Effect.forEach(Database.add), Effect.map(Arr.map(Ref.make)));
52
+ yield* Harness.bindContext({ skills: skillRefs });
53
+ });
54
+ //#endregion
55
+ //#region src/testing/operations.ts
56
+ /**
57
+ * Shared layer for operation tests: every handler in the package plus the types those handlers
58
+ * touch, with no language model. Defined once so a `.test.ts` per handler does not restate it —
59
+ * handler sets are lazy, so registering all of them costs nothing until one is invoked.
60
+ */
61
+ var OperationTestLayer = AssistantTestLayerWithTriggers({
62
+ operationHandlers: OperationHandlerSet.merge(AgentHandlers, AgentSkillHandlers, AgentWizardHandlers, AlarmHandlers, DatabaseHandlers, DelegationHandlers, MemoryHandlers, PlanningHandlers, SkillManagerHandlers),
63
+ types: [
64
+ Agent,
65
+ AiContext.Binding,
66
+ Chat,
67
+ CompanionTo,
68
+ Collection.Collection,
69
+ Employer.Employer,
70
+ Feed.Feed,
71
+ Instructions.Instructions,
72
+ Memory,
73
+ Organization.Organization,
74
+ Person.Person,
75
+ Outline.Outline,
76
+ Routine.Routine,
77
+ Task.Task,
78
+ TaskSet.TaskSet,
79
+ Skill.Skill,
80
+ SpaceProperties,
81
+ Tag.Tag,
82
+ Text.Text,
83
+ Trigger.Trigger
84
+ ],
85
+ disableLlmMemoization: true
86
+ });
87
+ //#endregion
88
+ //#region src/testing/plugins.tsx
89
+ var MapSchema = Schema.Struct({ coordinates: Format.GeoPoint }).pipe(Type.makeObject(DXN.make("com.example.type.map", "0.1.0")));
90
+ var capabilities = [Capability.contributes(Capabilities.ReactSurface, Surface.create({
91
+ id: "pluginDefault",
92
+ filter: Surface.makeFilter(AppSurface.CardContent),
93
+ position: Position.last,
94
+ component: ({ data }) => /* @__PURE__ */ jsx(Card.Body, { children: /* @__PURE__ */ jsx(Syntax.Root, {
95
+ data,
96
+ children: /* @__PURE__ */ jsxs(Syntax.Content, { children: [/* @__PURE__ */ jsx(Syntax.Filter, {}), /* @__PURE__ */ jsx(Syntax.Viewport, { children: /* @__PURE__ */ jsx(Syntax.Code, {}) })] })
97
+ }) })
98
+ }))];
99
+ //#endregion
100
+ export { MapSchema, OperationTestLayer, addSkills, capabilities, runSteps };
101
+
102
+ //# sourceMappingURL=testing.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testing.mjs","names":[],"sources":["../../src/skills/testing.ts","../../src/testing/operations.ts","../../src/testing/plugins.tsx"],"sourcesContent":["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Arr from 'effect/Array';\nimport * as Effect from 'effect/Effect';\nimport { pipe } from 'effect/Function';\n\nimport { ConsolePrinter } from '@dxos/ai';\nimport { AiRequest, AiSession, GenerationObserver, Harness } from '@dxos/assistant';\nimport type { Skill } from '@dxos/compute';\nimport { Database, Ref } from '@dxos/echo';\nimport { log } from '@dxos/log';\n\nexport type TestStep = Pick<AiSession.RunProps, 'prompt' | 'system'> & {\n test?: () => Promise<void>;\n};\n\n/**\n * Runs the prompt steps, calling the test function after each step.\n */\nexport const runSteps: (\n session: AiSession.Session,\n steps: TestStep[],\n) => Effect.Effect<void, AiRequest.RunError, AiRequest.RunRequirements> = Effect.fn(function* (\n session: AiSession.Session,\n steps: TestStep[],\n) {\n for (const { test, ...props } of steps) {\n yield* session.createRequest({\n ...props,\n observer: GenerationObserver.fromPrinter(new ConsolePrinter({ mode: 'json' })),\n });\n const messages = yield* Effect.promise(() => session.getHistory());\n log.info('conversation', { messages });\n if (test) {\n yield* Effect.promise(() => test());\n }\n }\n});\n\n/**\n * Binds skills from the skill definitions.\n */\n// TODO(dmaretskyi): Potentially the agent will auto-bind the skills.\nexport const addSkills = Effect.fnUntraced(function* (skills: Skill.Definition[]) {\n const skillRefs = yield* pipe(\n skills,\n Arr.map((skill) => skill.make()),\n Effect.forEach(Database.add),\n Effect.map(Arr.map(Ref.make)),\n );\n yield* Harness.bindContext({ skills: skillRefs });\n});\n","//\n// Copyright 2026 DXOS.org\n//\n\nimport { AssistantTestLayerWithTriggers } from '@dxos/agent-runtime/testing';\nimport { AiContext } from '@dxos/assistant';\nimport { SpaceProperties } from '@dxos/client-protocol';\nimport { Instructions, OperationHandlerSet, Routine, Skill, Trigger } from '@dxos/compute';\nimport { Collection, Feed, Tag } from '@dxos/echo';\nimport { Text } from '@dxos/schema';\nimport { Employer, Organization, Outline, Person, Task, TaskSet } from '@dxos/types';\n\nimport { AgentHandlers } from '../operations';\nimport { AgentWizardHandlers } from '../skills/agent-wizard/operations';\nimport { AgentSkillHandlers } from '../skills/agent/operations';\nimport { AlarmHandlers } from '../skills/alarm/operations';\nimport { DatabaseHandlers } from '../skills/database/operations';\nimport { DelegationHandlers } from '../skills/delegation/operations';\nimport { MemoryHandlers } from '../skills/memory/operations';\nimport { PlanningHandlers } from '../skills/planning/operations';\nimport { SkillManagerHandlers } from '../skills/skill-manager/operations';\nimport { Agent, Chat } from '../types';\nimport { Memory } from '../types/Memory';\n\n/**\n * Shared layer for operation tests: every handler in the package plus the types those handlers\n * touch, with no language model. Defined once so a `.test.ts` per handler does not restate it —\n * handler sets are lazy, so registering all of them costs nothing until one is invoked.\n */\nexport const OperationTestLayer = AssistantTestLayerWithTriggers({\n operationHandlers: OperationHandlerSet.merge(\n AgentHandlers,\n AgentSkillHandlers,\n AgentWizardHandlers,\n AlarmHandlers,\n DatabaseHandlers,\n DelegationHandlers,\n MemoryHandlers,\n PlanningHandlers,\n SkillManagerHandlers,\n ),\n types: [\n Agent.Agent,\n AiContext.Binding,\n Chat.Chat,\n Chat.CompanionTo,\n Collection.Collection,\n Employer.Employer,\n Feed.Feed,\n Instructions.Instructions,\n Memory,\n Organization.Organization,\n Person.Person,\n Outline.Outline,\n Routine.Routine,\n Task.Task,\n TaskSet.TaskSet,\n Skill.Skill,\n SpaceProperties,\n Tag.Tag,\n Text.Text,\n Trigger.Trigger,\n ],\n disableLlmMemoization: true,\n});\n","//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\nimport React from 'react';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { Surface } from '@dxos/app-framework/ui';\nimport { AppSurface } from '@dxos/app-toolkit/ui';\nimport { DXN, Format, type Obj, Type } from '@dxos/echo';\nimport { Card } from '@dxos/react-ui';\nimport { Syntax } from '@dxos/react-ui-syntax-highlighter';\nimport { Position } from '@dxos/util';\n\nexport const MapSchema = Schema.Struct({\n coordinates: Format.GeoPoint,\n}).pipe(Type.makeObject(DXN.make('com.example.type.map', '0.1.0')));\n\nexport type MapSchema = Type.InstanceType<typeof MapSchema>;\n\n// TODO(burdon): Move to ECHO def.\nexport type ArtifactsContext = {\n items: Obj.Unknown[];\n getArtifacts: () => Obj.Unknown[];\n addArtifact: (artifact: Obj.Unknown) => void;\n};\n\ndeclare global {\n interface ToolContextExtensions {\n artifacts?: ArtifactsContext;\n }\n}\n\nexport const capabilities: Capability.Any[] = [\n Capability.contributes(\n Capabilities.ReactSurface,\n Surface.create({\n id: 'pluginDefault',\n filter: Surface.makeFilter(AppSurface.CardContent),\n position: Position.last,\n component: ({ data }) => (\n <Card.Body>\n <Syntax.Root data={data}>\n <Syntax.Content>\n <Syntax.Filter />\n <Syntax.Viewport>\n <Syntax.Code />\n </Syntax.Viewport>\n </Syntax.Content>\n </Syntax.Root>\n </Card.Body>\n ),\n }),\n ),\n];\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,IAAa,WAG6D,OAAO,GAAG,WAClF,SACA,OACA;CACA,KAAK,MAAM,EAAE,MAAM,GAAG,WAAW,OAAO;EACtC,OAAO,QAAQ,cAAc;GAC3B,GAAG;GACH,UAAU,mBAAmB,YAAY,IAAI,eAAe,EAAE,MAAM,OAAO,CAAC,CAAC;EAC/E,CAAC;EACD,MAAM,WAAW,OAAO,OAAO,cAAc,QAAQ,WAAW,CAAC;EACjE,IAAI,KAAK,gBAAgB,EAAE,SAAS,GAAA;GAAA,YAAA;GAAA,GAAA;GAAA,GAAA;GAAA,GAAA;EAAA,CAAC;EACrC,IAAI,MACF,OAAO,OAAO,cAAc,KAAK,CAAC;CAEtC;AACF,CAAC;;;;AAMD,IAAa,YAAY,OAAO,WAAW,WAAW,QAA4B;CAChF,MAAM,YAAY,OAAO,KACvB,QACA,IAAI,KAAK,UAAU,MAAM,KAAK,CAAC,GAC/B,OAAO,QAAQ,SAAS,GAAG,GAC3B,OAAO,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,CAC9B;CACA,OAAO,QAAQ,YAAY,EAAE,QAAQ,UAAU,CAAC;AAClD,CAAC;;;;;;;;ACxBD,IAAa,qBAAqB,+BAA+B;CAC/D,mBAAmB,oBAAoB,MACrC,eACA,oBACA,qBACA,eACA,kBACA,oBACA,gBACA,kBACA,oBACF;CACA,OAAO;EACL;EACA,UAAU;EACV;EACA;EACA,WAAW;EACX,SAAS;EACT,KAAK;EACL,aAAa;EACb;EACA,aAAa;EACb,OAAO;EACP,QAAQ;EACR,QAAQ;EACR,KAAK;EACL,QAAQ;EACR,MAAM;EACN;EACA,IAAI;EACJ,KAAK;EACL,QAAQ;CACV;CACA,uBAAuB;AACzB,CAAC;;;ACjDD,IAAa,YAAY,OAAO,OAAO,EACrC,aAAa,OAAO,SACtB,CAAC,CAAC,CAAC,KAAK,KAAK,WAAW,IAAI,KAAK,wBAAwB,OAAO,CAAC,CAAC;AAiBlE,IAAa,eAAiC,CAC5C,WAAW,YACT,aAAa,cACb,QAAQ,OAAO;CACb,IAAI;CACJ,QAAQ,QAAQ,WAAW,WAAW,WAAW;CACjD,UAAU,SAAS;CACnB,YAAY,EAAE,WACZ,oBAAC,KAAK,MAAN,EAAA,UACE,oBAAC,OAAO,MAAR;EAAmB;YACjB,qBAAC,OAAO,SAAR,EAAA,UAAA,CACE,oBAAC,OAAO,QAAR,CAAgB,CAAA,GAChB,oBAAC,OAAO,UAAR,EAAA,UACE,oBAAC,OAAO,MAAR,CAAc,CAAA,EACC,CAAA,CACH,EAAA,CAAA;CACL,CAAA,EACJ,CAAA;AAEf,CAAC,CACH,CACF"}
@@ -1,11 +1,11 @@
1
- import { AiService, OpaqueToolkit } from '@dxos/ai';
1
+ import { AiService } from '@dxos/ai';
2
2
  import { Harness } from '@dxos/assistant';
3
- import { Operation, Trace } from '@dxos/compute';
4
- import { Database, Registry } from '@dxos/echo';
5
- import { Agent } from '../../../types';
6
- export declare const AgentWorker: Operation.Definition<{
7
- readonly agent: import("@dxos/echo/internal").Ref<Agent.Agent & import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & import("@dxos/echo/Obj").Unknown>;
8
- readonly prompt?: string | undefined;
3
+ import { Operation } from '@dxos/compute';
4
+ import { AgentService } from '@dxos/compute/AgentService';
5
+ import { Database } from '@dxos/echo';
6
+ import { Chat } from '../../../types';
7
+ export declare const Relay: Operation.Definition<{
8
+ readonly chat: import("@dxos/echo/internal").Ref<Chat.Chat & import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & import("@dxos/echo/Obj").Unknown>;
9
9
  readonly event?: {
10
10
  readonly from: string;
11
11
  readonly to: string;
@@ -17,34 +17,11 @@ export declare const AgentWorker: Operation.Definition<{
17
17
  readonly item: any;
18
18
  readonly cursor: string;
19
19
  } | {
20
- readonly type: string;
21
- readonly subject: import("@dxos/echo/internal").Ref<import("@dxos/echo/Obj").Unknown>;
22
- readonly changedObjectId?: string | undefined;
20
+ readonly data?: {
21
+ readonly [x: string]: any;
22
+ } | undefined;
23
23
  } | {
24
- readonly tick: number;
25
- } | {
26
- readonly url: string;
27
- readonly method: "GET" | "POST";
28
- readonly headers: {
29
- readonly [x: string]: string;
30
- };
31
- readonly bodyText: string;
32
- } | undefined;
33
- }, void, AiService.AiService | OpaqueToolkit.OpaqueToolkitProvider | Registry.Service | Database.Service | Trace.TraceService>;
34
- export declare const Qualifier: Operation.Definition<{
35
- readonly agent: import("@dxos/echo/internal").Ref<Agent.Agent & import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & import("@dxos/echo/Obj").Unknown>;
36
- readonly event: {
37
- readonly from: string;
38
- readonly to: string;
39
- readonly subject: string;
40
- readonly created: string;
41
- readonly body: string;
42
- } | {
43
- readonly feed: import("@dxos/echo/internal").Ref<import("@dxos/echo/Feed").Feed & import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & import("@dxos/echo/Obj").Unknown>;
44
- readonly item: any;
45
- readonly cursor: string;
46
- } | {
47
- readonly type: string;
24
+ readonly type: "created" | "deleted" | "updated";
48
25
  readonly subject: import("@dxos/echo/internal").Ref<import("@dxos/echo/Obj").Unknown>;
49
26
  readonly changedObjectId?: string | undefined;
50
27
  } | {
@@ -56,21 +33,14 @@ export declare const Qualifier: Operation.Definition<{
56
33
  readonly [x: string]: string;
57
34
  };
58
35
  readonly bodyText: string;
59
- };
60
- }, void, AiService.AiService | Database.Service>;
36
+ } | undefined;
37
+ readonly prompt?: string | undefined;
38
+ readonly qualify?: boolean | undefined;
39
+ }, void, AgentService | AiService.AiService | Database.Service>;
61
40
  export declare const GetContext: Operation.Definition<{}, {
62
41
  readonly id: string;
63
42
  readonly name: string;
64
43
  readonly instructions: string;
65
- readonly plan: string;
66
- readonly artifacts: readonly {
67
- readonly name: string;
68
- readonly type?: string | undefined;
69
- readonly dxn?: string | undefined;
70
- }[];
44
+ readonly checklist: string;
71
45
  }, Harness.HarnessService | Database.Service>;
72
- export declare const AddArtifact: Operation.Definition<{
73
- readonly name: string;
74
- readonly artifact: string;
75
- }, void, Harness.HarnessService | Database.Service>;
76
46
  //# sourceMappingURL=definitions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../../../../../src/skills/agent/operations/definitions.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAO,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGrD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;8HAoBtB,CAAC;AAEH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;gDAcpB,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;;;;;6CAsBrB,CAAC;AAEH,eAAO,MAAM,WAAW;;;mDAkBtB,CAAC"}
1
+ {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../../../../../src/skills/agent/operations/definitions.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAgB,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAO,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+DAkBhB,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;6CAerB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=get-context.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-context.test.d.ts","sourceRoot":"","sources":["../../../../../../src/skills/agent/operations/get-context.test.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/skills/agent/operations/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,KAAK,oBAAoB,MAAM,eAAe,CAAC;AAEtD,eAAO,MAAM,kBAAkB,yCAK9B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/skills/agent/operations/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,KAAK,oBAAoB,MAAM,eAAe,CAAC;AAEtD,eAAO,MAAM,kBAAkB,yCAG9B,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { Operation } from '@dxos/compute';
2
+ import { Relay } from './definitions';
3
+ /**
4
+ * The relay pattern (plugin-projects PLAN.md phase C): one trigger per subscribed feed runs this
5
+ * relay, which qualifies the event with a cheap model and, when relevant, forwards it onto the
6
+ * chat's durable session (the process input queue) — multiplexing and filtering in one construct,
7
+ * with no intermediate staging feed.
8
+ */
9
+ declare const handler: Operation.WithHandler<typeof Relay>;
10
+ export default handler;
11
+ //# sourceMappingURL=relay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relay.d.ts","sourceRoot":"","sources":["../../../../../../src/skills/agent/operations/relay.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAO1C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC;;;;;GAKG;AACH,QAAA,MAAM,OAAO,EAAE,SAAS,CAAC,WAAW,CAAC,OAAO,KAAK,CAyChD,CAAC;eAyDa,OAAO"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=relay.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relay.test.d.ts","sourceRoot":"","sources":["../../../../../../src/skills/agent/operations/relay.test.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../../../../src/skills/agent/skill.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAY,MAAM,eAAe,CAAC;AAsDhD,QAAA,MAAM,KAAK,EAAE,KAAK,CAAC,UAGlB,CAAC;eAEa,KAAK"}
1
+ {"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../../../../src/skills/agent/skill.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAY,MAAM,eAAe,CAAC;AA0ChD,QAAA,MAAM,KAAK,EAAE,KAAK,CAAC,UAGlB,CAAC;eAEa,KAAK"}
@@ -8,7 +8,10 @@ export declare const CreateAgent: Operation.Definition<{
8
8
  readonly skills: readonly string[];
9
9
  readonly subscriptions: readonly import("@dxos/echo/internal").Ref<Obj.Unknown>[];
10
10
  }, Agent.Agent & import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object>, Registry.Service | Database.Service>;
11
- export declare const SyncTriggers: Operation.Definition<{
11
+ export declare const SyncAutomation: Operation.Definition<{
12
12
  readonly agent: import("@dxos/echo/internal").Ref<Agent.Agent & import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & Obj.Unknown>;
13
+ readonly subscriptions?: readonly import("@dxos/echo/internal").Ref<Obj.Unknown>[] | undefined;
14
+ readonly cron?: string | undefined;
15
+ readonly qualify?: boolean | undefined;
13
16
  }, void, Database.Service>;
14
17
  //# sourceMappingURL=definitions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../../../../../src/skills/agent-wizard/operations/definitions.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAO,QAAQ,EAAQ,MAAM,YAAY,CAAC;AAGhE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,eAAO,MAAM,UAAU,yCASrB,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;0IAyBtB,CAAC;AAEH,eAAO,MAAM,YAAY;;0BAevB,CAAC"}
1
+ {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../../../../../src/skills/agent-wizard/operations/definitions.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAO,QAAQ,EAAQ,MAAM,YAAY,CAAC;AAGhE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,eAAO,MAAM,UAAU,yCASrB,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;0IAyBtB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;0BA8BzB,CAAC"}
@@ -0,0 +1,26 @@
1
+ import * as Effect from 'effect/Effect';
2
+ import { Operation } from '@dxos/compute';
3
+ import { Database, Obj, Ref } from '@dxos/echo';
4
+ import { Agent } from '../../../types';
5
+ declare const _default: Operation.WithHandler<Operation.Definition<{
6
+ readonly agent: import("@dxos/echo/internal").Ref<Agent.Agent & import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & Obj.Unknown>;
7
+ readonly subscriptions?: readonly import("@dxos/echo/internal").Ref<Obj.Unknown>[] | undefined;
8
+ readonly cron?: string | undefined;
9
+ readonly qualify?: boolean | undefined;
10
+ }, void, Database.Service>>;
11
+ export default _default;
12
+ export type AutomationConfig = {
13
+ /** Omitted (vs empty) leaves existing subscription routines untouched. */
14
+ subscriptions?: readonly Ref.Ref<Obj.Unknown>[];
15
+ /** Omitted leaves an existing schedule routine untouched; empty string removes it. */
16
+ cron?: string;
17
+ /** Run the cheap-model relevance check before forwarding subscription events. */
18
+ qualify: boolean;
19
+ };
20
+ /**
21
+ * Compiles the agent's automation config into Routines whose triggers run the Relay: the relay
22
+ * qualifies each event with a cheap model and forwards relevant ones onto the chat's durable
23
+ * session. Re-running deletes and recreates the categories present in the config.
24
+ */
25
+ export declare const syncAgentAutomation: (agent: Agent.Agent, config: AutomationConfig) => Effect.Effect<void, never, Database.Service>;
26
+ //# sourceMappingURL=sync-automation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-automation.d.ts","sourceRoot":"","sources":["../../../../../../src/skills/agent-wizard/operations/sync-automation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,SAAS,EAAoB,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAgB,GAAG,EAAE,GAAG,EAAQ,MAAM,YAAY,CAAC;AAGpE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;;;;;;;;AA0CvC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,0EAA0E;IAC1E,aAAa,CAAC,EAAE,SAAS,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;IAChD,sFAAsF;IACtF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iFAAiF;IACjF,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAQF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,UACvB,KAAK,CAAC,KAAK,UACV,gBAAgB,KACvB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,CAgI1C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sync-automation.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-automation.test.d.ts","sourceRoot":"","sources":["../../../../../../src/skills/agent-wizard/operations/sync-automation.test.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../../../../src/skills/agent-wizard/skill.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAY,MAAM,eAAe,CAAC;AA0ChD,QAAA,MAAM,KAAK,EAAE,KAAK,CAAC,UAGlB,CAAC;eAEa,KAAK"}
1
+ {"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../../../../src/skills/agent-wizard/skill.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAY,MAAM,eAAe,CAAC;AAyChD,QAAA,MAAM,KAAK,EAAE,KAAK,CAAC,UAGlB,CAAC;eAEa,KAAK"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=context-add.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-add.test.d.ts","sourceRoot":"","sources":["../../../../../../src/skills/database/operations/context-add.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=context-remove.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-remove.test.d.ts","sourceRoot":"","sources":["../../../../../../src/skills/database/operations/context-remove.test.ts"],"names":[],"mappings":""}
@@ -14,7 +14,10 @@ export declare const Load: Operation.Definition<{
14
14
  }, unknown, Database.Service>;
15
15
  export declare const ObjectCreate: Operation.Definition<{
16
16
  readonly typename: string;
17
- readonly data: any;
17
+ readonly properties: {
18
+ readonly [x: string]: any;
19
+ };
20
+ readonly attach?: boolean | undefined;
18
21
  }, unknown, Database.Service>;
19
22
  export declare const ObjectUpdate: Operation.Definition<{
20
23
  readonly obj: import("@dxos/echo/internal").Ref<Obj.Unknown>;
@@ -28,7 +31,9 @@ export declare const ObjectDelete: Operation.Definition<{
28
31
  export declare const SchemaAdd: Operation.Definition<{
29
32
  readonly name: string;
30
33
  readonly typename: string;
31
- readonly jsonSchema: any;
34
+ readonly jsonSchema: {
35
+ readonly [x: string]: any;
36
+ };
32
37
  }, void, Database.Service>;
33
38
  export declare const SchemaList: Operation.Definition<{
34
39
  readonly limit?: number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../../../../../src/skills/database/operations/definitions.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAiB,GAAG,EAAQ,MAAM,YAAY,CAAC;AAIrE,eAAO,MAAM,KAAK;;;;;;;wCA6FhB,CAAC;AAEH,eAAO,MAAM,IAAI;;6BAmBf,CAAC;AAEH,eAAO,MAAM,YAAY;;;6BAkBvB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;6BAiBvB,CAAC;AAEH,eAAO,MAAM,YAAY;;0BAcvB,CAAC;AAEH,eAAO,MAAM,SAAS;;;;0BAmBpB,CAAC;AAEH,eAAO,MAAM,UAAU;;wCAcrB,CAAC;AAEH,eAAO,MAAM,UAAU;;gCAiBrB,CAAC;AAEH,eAAO,MAAM,aAAa;;gCAiBxB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;6BAoBzB,CAAC;AAEH,eAAO,MAAM,cAAc;;0BAczB,CAAC;AAEH,eAAO,MAAM,MAAM;;;6BAiBjB,CAAC;AAEH,eAAO,MAAM,SAAS;;;6BAgBpB,CAAC"}
1
+ {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../../../../../src/skills/database/operations/definitions.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAiB,GAAG,EAAQ,MAAM,YAAY,CAAC;AAIrE,eAAO,MAAM,KAAK;;;;;;;wCA6FhB,CAAC;AAEH,eAAO,MAAM,IAAI;;6BAmBf,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;6BA6BvB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;6BAiBvB,CAAC;AAEH,eAAO,MAAM,YAAY;;0BAcvB,CAAC;AAEH,eAAO,MAAM,SAAS;;;;;;0BAwBpB,CAAC;AAEH,eAAO,MAAM,UAAU;;wCAcrB,CAAC;AAEH,eAAO,MAAM,UAAU;;gCAiBrB,CAAC;AAEH,eAAO,MAAM,aAAa;;gCAiBxB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;6BAoBzB,CAAC;AAEH,eAAO,MAAM,cAAc;;0BAczB,CAAC;AAEH,eAAO,MAAM,MAAM;;;6BAiBjB,CAAC;AAEH,eAAO,MAAM,SAAS;;;6BAgBpB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=load.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load.test.d.ts","sourceRoot":"","sources":["../../../../../../src/skills/database/operations/load.test.ts"],"names":[],"mappings":""}
@@ -2,7 +2,10 @@ import { Operation } from '@dxos/compute';
2
2
  import { Database } from '@dxos/echo';
3
3
  declare const _default: Operation.WithHandler<Operation.Definition<{
4
4
  readonly typename: string;
5
- readonly data: any;
5
+ readonly properties: {
6
+ readonly [x: string]: any;
7
+ };
8
+ readonly attach?: boolean | undefined;
6
9
  }, unknown, Database.Service>>;
7
10
  export default _default;
8
11
  //# sourceMappingURL=object-create.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"object-create.d.ts","sourceRoot":"","sources":["../../../../../../src/skills/database/operations/object-create.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAA2C,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"object-create.d.ts","sourceRoot":"","sources":["../../../../../../src/skills/database/operations/object-create.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAA2C,MAAM,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=object-create.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object-create.test.d.ts","sourceRoot":"","sources":["../../../../../../src/skills/database/operations/object-create.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=object-delete.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object-delete.test.d.ts","sourceRoot":"","sources":["../../../../../../src/skills/database/operations/object-delete.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=object-update.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object-update.test.d.ts","sourceRoot":"","sources":["../../../../../../src/skills/database/operations/object-update.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=query.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.test.d.ts","sourceRoot":"","sources":["../../../../../../src/skills/database/operations/query.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=relation-create.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-create.test.d.ts","sourceRoot":"","sources":["../../../../../../src/skills/database/operations/relation-create.test.ts"],"names":[],"mappings":""}
@@ -3,7 +3,9 @@ import { Database } from '@dxos/echo';
3
3
  declare const _default: Operation.WithHandler<Operation.Definition<{
4
4
  readonly name: string;
5
5
  readonly typename: string;
6
- readonly jsonSchema: any;
6
+ readonly jsonSchema: {
7
+ readonly [x: string]: any;
8
+ };
7
9
  }, void, Database.Service>>;
8
10
  export default _default;
9
11
  //# sourceMappingURL=schema-add.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=schema-add.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-add.test.d.ts","sourceRoot":"","sources":["../../../../../../src/skills/database/operations/schema-add.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=schema-list.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-list.test.d.ts","sourceRoot":"","sources":["../../../../../../src/skills/database/operations/schema-list.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tag-add.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag-add.test.d.ts","sourceRoot":"","sources":["../../../../../../src/skills/database/operations/tag-add.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tag-remove.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag-remove.test.d.ts","sourceRoot":"","sources":["../../../../../../src/skills/database/operations/tag-remove.test.ts"],"names":[],"mappings":""}