@dxos/assistant-toolkit 0.9.1-main.c7dcc2e112 → 0.9.1-staging.ee54ba693a

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 (687) hide show
  1. package/dist/lib/neutral/{add-artifact-QEQP6T7Z.mjs → add-artifact-5JNUYLCA.mjs} +6 -6
  2. package/dist/lib/neutral/{add-artifact-QEQP6T7Z.mjs.map → add-artifact-5JNUYLCA.mjs.map} +1 -1
  3. package/dist/lib/neutral/{agent-BU6PB7J6.mjs → agent-BFAYIBJI.mjs} +8 -8
  4. package/dist/lib/neutral/agent-BFAYIBJI.mjs.map +7 -0
  5. package/dist/lib/neutral/{agent-rules-L3AHRSR4.mjs → agent-rules-KWCBKJ5W.mjs} +14 -14
  6. package/dist/lib/neutral/agent-rules-KWCBKJ5W.mjs.map +7 -0
  7. package/dist/lib/neutral/{chunk-ABOAU3NN.mjs → chunk-3KA66YBF.mjs} +30 -44
  8. package/dist/lib/neutral/chunk-3KA66YBF.mjs.map +7 -0
  9. package/dist/lib/neutral/{chunk-ZQDWSV26.mjs → chunk-6SGNFL6I.mjs} +3 -3
  10. package/dist/lib/neutral/{chunk-ZQDWSV26.mjs.map → chunk-6SGNFL6I.mjs.map} +4 -4
  11. package/dist/lib/neutral/{chunk-CUT6GB2W.mjs → chunk-BDTGFPM7.mjs} +9 -11
  12. package/dist/lib/neutral/chunk-BDTGFPM7.mjs.map +7 -0
  13. package/dist/lib/neutral/{chunk-SYUTQPSB.mjs → chunk-EPQCDGIV.mjs} +5 -4
  14. package/dist/lib/neutral/chunk-EPQCDGIV.mjs.map +7 -0
  15. package/dist/lib/neutral/chunk-H4W22FFJ.mjs +232 -0
  16. package/dist/lib/neutral/chunk-H4W22FFJ.mjs.map +7 -0
  17. package/dist/lib/neutral/chunk-JBTXZQ5G.mjs +60 -0
  18. package/dist/lib/neutral/chunk-JBTXZQ5G.mjs.map +7 -0
  19. package/dist/lib/neutral/{chunk-ZA5WZL4H.mjs → chunk-JKOOA5OS.mjs} +8 -8
  20. package/dist/lib/neutral/chunk-JKOOA5OS.mjs.map +7 -0
  21. package/dist/lib/neutral/chunk-JTEBE7KA.mjs +66 -0
  22. package/dist/lib/neutral/chunk-JTEBE7KA.mjs.map +7 -0
  23. package/dist/lib/neutral/{chunk-FQNZX2SH.mjs → chunk-KLFXJ2Z3.mjs} +2 -2
  24. package/dist/lib/neutral/{chunk-FQNZX2SH.mjs.map → chunk-KLFXJ2Z3.mjs.map} +1 -1
  25. package/dist/lib/neutral/{chunk-DLVIJSH6.mjs → chunk-LBA5UOLF.mjs} +3 -3
  26. package/dist/lib/neutral/{chunk-DLVIJSH6.mjs.map → chunk-LBA5UOLF.mjs.map} +1 -1
  27. package/dist/lib/neutral/{chunk-24L572PJ.mjs → chunk-LL3MOQUZ.mjs} +2 -2
  28. package/dist/lib/neutral/{chunk-24L572PJ.mjs.map → chunk-LL3MOQUZ.mjs.map} +1 -1
  29. package/dist/lib/neutral/{chunk-OK3P6URP.mjs → chunk-MFVIGJBW.mjs} +16 -16
  30. package/dist/lib/neutral/chunk-MFVIGJBW.mjs.map +7 -0
  31. package/dist/lib/neutral/{chunk-KZDQGI3S.mjs → chunk-PBARVBNJ.mjs} +9 -10
  32. package/dist/lib/neutral/chunk-PBARVBNJ.mjs.map +7 -0
  33. package/dist/lib/neutral/{chunk-WTUY5UCA.mjs → chunk-VJ5QBYM5.mjs} +20 -21
  34. package/dist/lib/neutral/chunk-VJ5QBYM5.mjs.map +7 -0
  35. package/dist/lib/neutral/{chunk-4LFE5PQ3.mjs → chunk-YQSQRSXG.mjs} +5 -5
  36. package/dist/lib/neutral/chunk-YQSQRSXG.mjs.map +7 -0
  37. package/dist/lib/neutral/chunk-Z2HFOZXK.mjs +191 -0
  38. package/dist/lib/neutral/chunk-Z2HFOZXK.mjs.map +7 -0
  39. package/dist/lib/neutral/{context-add-KWEKPGMI.mjs → context-add-DZTPB3FK.mjs} +7 -7
  40. package/dist/lib/neutral/context-add-DZTPB3FK.mjs.map +7 -0
  41. package/dist/lib/neutral/{context-remove-HIQFSVHW.mjs → context-remove-XSBOM4VJ.mjs} +7 -7
  42. package/dist/lib/neutral/context-remove-XSBOM4VJ.mjs.map +7 -0
  43. package/dist/lib/neutral/create-agent-5WTOFIEK.mjs +35 -0
  44. package/dist/lib/neutral/create-agent-5WTOFIEK.mjs.map +7 -0
  45. package/dist/lib/neutral/definitions-VRR5OGXI.mjs +17 -0
  46. package/dist/lib/neutral/delegate-task-UX64NK4M.mjs +13 -0
  47. package/dist/lib/neutral/{delete-QHGM7N23.mjs → delete-IU7HPU3K.mjs} +4 -4
  48. package/dist/lib/neutral/{delete-QHGM7N23.mjs.map → delete-IU7HPU3K.mjs.map} +1 -1
  49. package/dist/lib/neutral/enable-skills-FHEJXQVB.mjs +47 -0
  50. package/dist/lib/neutral/enable-skills-FHEJXQVB.mjs.map +7 -0
  51. package/dist/lib/neutral/{fetch-O6G46HJH.mjs → fetch-5LY25EBR.mjs} +3 -3
  52. package/dist/lib/neutral/{fetch-O6G46HJH.mjs.map → fetch-5LY25EBR.mjs.map} +3 -3
  53. package/dist/lib/neutral/{fetch-messages-4EVGVEQK.mjs → fetch-messages-CQMDI36G.mjs} +5 -5
  54. package/dist/lib/neutral/{fetch-messages-4EVGVEQK.mjs.map → fetch-messages-CQMDI36G.mjs.map} +4 -4
  55. package/dist/lib/neutral/get-context-Q4YY6DRV.mjs +77 -0
  56. package/dist/lib/neutral/get-context-Q4YY6DRV.mjs.map +7 -0
  57. package/dist/lib/neutral/get-current-date-JR5F7ZS3.mjs +17 -0
  58. package/dist/lib/neutral/get-current-date-JR5F7ZS3.mjs.map +7 -0
  59. package/dist/lib/neutral/index.mjs +403 -638
  60. package/dist/lib/neutral/index.mjs.map +4 -4
  61. package/dist/lib/neutral/{load-C4OPO7RD.mjs → load-S6HC5TGX.mjs} +3 -3
  62. package/dist/lib/neutral/{load-C4OPO7RD.mjs.map → load-S6HC5TGX.mjs.map} +1 -1
  63. package/dist/lib/neutral/meta.json +1 -1
  64. package/dist/lib/neutral/{object-create-F7R7IRW5.mjs → object-create-PVDQ62CG.mjs} +4 -4
  65. package/dist/lib/neutral/{object-create-F7R7IRW5.mjs.map → object-create-PVDQ62CG.mjs.map} +1 -1
  66. package/dist/lib/neutral/{object-delete-3TJ3XMLN.mjs → object-delete-3CSL6XI6.mjs} +3 -3
  67. package/dist/lib/neutral/{object-delete-3TJ3XMLN.mjs.map → object-delete-3CSL6XI6.mjs.map} +1 -1
  68. package/dist/lib/neutral/{object-update-EBRM5AKN.mjs → object-update-NIGMZINM.mjs} +3 -3
  69. package/dist/lib/neutral/{object-update-EBRM5AKN.mjs.map → object-update-NIGMZINM.mjs.map} +1 -1
  70. package/dist/lib/neutral/plan-reminder-N4X6JPBI.mjs +88 -0
  71. package/dist/lib/neutral/plan-reminder-N4X6JPBI.mjs.map +7 -0
  72. package/dist/lib/neutral/{qualifier-DHPHY3YH.mjs → qualifier-5CIRZYX5.mjs} +13 -11
  73. package/dist/lib/neutral/qualifier-5CIRZYX5.mjs.map +7 -0
  74. package/dist/lib/neutral/{query-6XCQIIZC.mjs → query-K4R7UHLU.mjs} +4 -4
  75. package/dist/lib/neutral/{query-6XCQIIZC.mjs.map → query-K4R7UHLU.mjs.map} +1 -1
  76. package/dist/lib/neutral/{query-QGSHZMCD.mjs → query-NCTCRYTD.mjs} +4 -4
  77. package/dist/lib/neutral/{query-QGSHZMCD.mjs.map → query-NCTCRYTD.mjs.map} +4 -4
  78. package/dist/lib/neutral/query-skills-7GQFSU4V.mjs +17 -0
  79. package/dist/lib/neutral/query-skills-7GQFSU4V.mjs.map +7 -0
  80. package/dist/lib/neutral/{relation-create-WA2DM76W.mjs → relation-create-QKXHTL7G.mjs} +10 -7
  81. package/dist/lib/neutral/relation-create-QKXHTL7G.mjs.map +7 -0
  82. package/dist/lib/neutral/{relation-delete-66XP7KL7.mjs → relation-delete-PDIWT2JX.mjs} +3 -3
  83. package/dist/lib/neutral/{relation-delete-66XP7KL7.mjs.map → relation-delete-PDIWT2JX.mjs.map} +1 -1
  84. package/dist/lib/neutral/{prompt-37GJGKNM.mjs → run-instructions-72ASH5EZ.mjs} +38 -40
  85. package/dist/lib/neutral/run-instructions-72ASH5EZ.mjs.map +7 -0
  86. package/dist/lib/neutral/{save-HQY35ACW.mjs → save-UYVRA4RS.mjs} +4 -4
  87. package/dist/lib/neutral/{save-HQY35ACW.mjs.map → save-UYVRA4RS.mjs.map} +1 -1
  88. package/dist/lib/neutral/{schema-add-2AWYVGOC.mjs → schema-add-5NOK2RWE.mjs} +3 -3
  89. package/dist/lib/neutral/{schema-add-2AWYVGOC.mjs.map → schema-add-5NOK2RWE.mjs.map} +1 -1
  90. package/dist/lib/neutral/{schema-list-74CQW2N3.mjs → schema-list-BZUR5KMX.mjs} +6 -6
  91. package/dist/lib/neutral/schema-list-BZUR5KMX.mjs.map +7 -0
  92. package/dist/lib/neutral/set-alarm-BD3NEYSU.mjs +65 -0
  93. package/dist/lib/neutral/set-alarm-BD3NEYSU.mjs.map +7 -0
  94. package/dist/lib/neutral/{sync-issues-VUX4OWPO.mjs → sync-issues-O76MCMD3.mjs} +5 -5
  95. package/dist/lib/neutral/{sync-issues-VUX4OWPO.mjs.map → sync-issues-O76MCMD3.mjs.map} +1 -1
  96. package/dist/lib/neutral/{sync-triggers-CI6ECSZX.mjs → sync-triggers-YBTLPCUB.mjs} +11 -11
  97. package/dist/lib/neutral/{sync-triggers-CI6ECSZX.mjs.map → sync-triggers-YBTLPCUB.mjs.map} +4 -4
  98. package/dist/lib/neutral/{tag-add-6EGIY2CC.mjs → tag-add-L5WNOBYY.mjs} +3 -3
  99. package/dist/lib/neutral/{tag-add-6EGIY2CC.mjs.map → tag-add-L5WNOBYY.mjs.map} +1 -1
  100. package/dist/lib/neutral/{tag-remove-XVTYJRI7.mjs → tag-remove-WV5RPE5W.mjs} +3 -3
  101. package/dist/lib/neutral/{tag-remove-XVTYJRI7.mjs.map → tag-remove-WV5RPE5W.mjs.map} +1 -1
  102. package/dist/lib/neutral/testing/index.mjs +10 -8
  103. package/dist/lib/neutral/testing/index.mjs.map +4 -4
  104. package/dist/lib/neutral/update-tasks-HX4ILWOU.mjs +46 -0
  105. package/dist/lib/neutral/update-tasks-HX4ILWOU.mjs.map +7 -0
  106. package/dist/types/src/errors.d.ts +36 -0
  107. package/dist/types/src/errors.d.ts.map +1 -1
  108. package/dist/types/src/index.d.ts +2 -4
  109. package/dist/types/src/index.d.ts.map +1 -1
  110. package/dist/types/src/operations/definitions.d.ts +13 -0
  111. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  112. package/dist/types/src/operations/index.d.ts.map +1 -0
  113. package/dist/types/src/{functions/agent/prompt.d.ts → operations/run-instructions.d.ts} +1 -1
  114. package/dist/types/src/operations/run-instructions.d.ts.map +1 -0
  115. package/dist/types/src/operations/run-instructions.test.d.ts +2 -0
  116. package/dist/types/src/operations/run-instructions.test.d.ts.map +1 -0
  117. package/dist/types/src/operations/skill-resolution.test.d.ts +2 -0
  118. package/dist/types/src/operations/skill-resolution.test.d.ts.map +1 -0
  119. package/dist/types/src/skills/agent/index.d.ts +3 -0
  120. package/dist/types/src/skills/agent/index.d.ts.map +1 -0
  121. package/dist/types/src/skills/agent/operations/add-artifact.d.ts.map +1 -0
  122. package/dist/types/src/skills/agent/operations/agent.d.ts.map +1 -0
  123. package/dist/types/src/skills/agent/operations/definitions.d.ts +76 -0
  124. package/dist/types/src/skills/agent/operations/definitions.d.ts.map +1 -0
  125. package/dist/types/src/skills/agent/operations/get-context.d.ts.map +1 -0
  126. package/dist/types/src/skills/agent/operations/index.d.ts +4 -0
  127. package/dist/types/src/skills/agent/operations/index.d.ts.map +1 -0
  128. package/dist/types/src/skills/agent/operations/qualifier.d.ts.map +1 -0
  129. package/dist/types/src/skills/agent/skill.d.ts +4 -0
  130. package/dist/types/src/skills/agent/skill.d.ts.map +1 -0
  131. package/dist/types/src/skills/agent/skill.test.d.ts +2 -0
  132. package/dist/types/src/skills/agent/skill.test.d.ts.map +1 -0
  133. package/dist/types/src/skills/agent-wizard/index.d.ts +3 -0
  134. package/dist/types/src/skills/agent-wizard/index.d.ts.map +1 -0
  135. package/dist/types/src/skills/agent-wizard/operations/agent-rules.d.ts.map +1 -0
  136. package/dist/types/src/skills/agent-wizard/operations/create-agent.d.ts +11 -0
  137. package/dist/types/src/skills/agent-wizard/operations/create-agent.d.ts.map +1 -0
  138. package/dist/types/src/skills/agent-wizard/operations/definitions.d.ts +14 -0
  139. package/dist/types/src/skills/agent-wizard/operations/definitions.d.ts.map +1 -0
  140. package/dist/types/src/skills/agent-wizard/operations/index.d.ts.map +1 -0
  141. package/dist/types/src/skills/agent-wizard/operations/sync-triggers.d.ts +8 -0
  142. package/dist/types/src/skills/agent-wizard/operations/sync-triggers.d.ts.map +1 -0
  143. package/dist/types/src/skills/agent-wizard/skill.d.ts +4 -0
  144. package/dist/types/src/skills/agent-wizard/skill.d.ts.map +1 -0
  145. package/dist/types/src/skills/alarm/index.d.ts +3 -0
  146. package/dist/types/src/skills/alarm/index.d.ts.map +1 -0
  147. package/dist/types/src/skills/alarm/operations/definitions.d.ts +9 -0
  148. package/dist/types/src/skills/alarm/operations/definitions.d.ts.map +1 -0
  149. package/dist/types/src/skills/alarm/operations/get-current-date.d.ts +8 -0
  150. package/dist/types/src/skills/alarm/operations/get-current-date.d.ts.map +1 -0
  151. package/dist/types/src/skills/alarm/operations/index.d.ts +4 -0
  152. package/dist/types/src/skills/alarm/operations/index.d.ts.map +1 -0
  153. package/dist/types/src/skills/alarm/operations/resolve-wake-at.d.ts +14 -0
  154. package/dist/types/src/skills/alarm/operations/resolve-wake-at.d.ts.map +1 -0
  155. package/dist/types/src/skills/alarm/operations/set-alarm.d.ts +13 -0
  156. package/dist/types/src/skills/alarm/operations/set-alarm.d.ts.map +1 -0
  157. package/dist/types/src/skills/alarm/skill.d.ts +4 -0
  158. package/dist/types/src/skills/alarm/skill.d.ts.map +1 -0
  159. package/dist/types/src/skills/alarm/skill.test.d.ts +2 -0
  160. package/dist/types/src/skills/alarm/skill.test.d.ts.map +1 -0
  161. package/dist/types/src/skills/automation/index.d.ts +2 -0
  162. package/dist/types/src/skills/automation/index.d.ts.map +1 -0
  163. package/dist/types/src/skills/automation/skill.d.ts +4 -0
  164. package/dist/types/src/skills/automation/skill.d.ts.map +1 -0
  165. package/dist/types/src/skills/browser/index.d.ts +2 -0
  166. package/dist/types/src/skills/browser/index.d.ts.map +1 -0
  167. package/dist/types/src/skills/browser/skill.d.ts +4 -0
  168. package/dist/types/src/skills/browser/skill.d.ts.map +1 -0
  169. package/dist/types/src/skills/browser/skill.test.d.ts +2 -0
  170. package/dist/types/src/skills/browser/skill.test.d.ts.map +1 -0
  171. package/dist/types/src/skills/connectors/index.d.ts +2 -0
  172. package/dist/types/src/skills/connectors/index.d.ts.map +1 -0
  173. package/dist/types/src/skills/connectors/skill.d.ts +4 -0
  174. package/dist/types/src/skills/connectors/skill.d.ts.map +1 -0
  175. package/dist/types/src/skills/database/index.d.ts +3 -0
  176. package/dist/types/src/skills/database/index.d.ts.map +1 -0
  177. package/dist/types/src/{blueprints → skills}/database/operations/context-add.d.ts +2 -2
  178. package/dist/types/src/skills/database/operations/context-add.d.ts.map +1 -0
  179. package/dist/types/src/{blueprints → skills}/database/operations/context-remove.d.ts +2 -2
  180. package/dist/types/src/skills/database/operations/context-remove.d.ts.map +1 -0
  181. package/dist/types/src/{blueprints → skills}/database/operations/definitions.d.ts +6 -12
  182. package/dist/types/src/skills/database/operations/definitions.d.ts.map +1 -0
  183. package/dist/types/src/skills/database/operations/index.d.ts.map +1 -0
  184. package/dist/types/src/skills/database/operations/load.d.ts.map +1 -0
  185. package/dist/types/src/skills/database/operations/object-create.d.ts.map +1 -0
  186. package/dist/types/src/skills/database/operations/object-delete.d.ts.map +1 -0
  187. package/dist/types/src/skills/database/operations/object-update.d.ts.map +1 -0
  188. package/dist/types/src/skills/database/operations/query.d.ts.map +1 -0
  189. package/dist/types/src/skills/database/operations/relation-create.d.ts.map +1 -0
  190. package/dist/types/src/skills/database/operations/relation-delete.d.ts.map +1 -0
  191. package/dist/types/src/skills/database/operations/schema-add.d.ts.map +1 -0
  192. package/dist/types/src/skills/database/operations/schema-list.d.ts.map +1 -0
  193. package/dist/types/src/{blueprints → skills}/database/operations/tag-add.d.ts +1 -4
  194. package/dist/types/src/skills/database/operations/tag-add.d.ts.map +1 -0
  195. package/dist/types/src/{blueprints → skills}/database/operations/tag-remove.d.ts +1 -4
  196. package/dist/types/src/skills/database/operations/tag-remove.d.ts.map +1 -0
  197. package/dist/types/src/skills/database/skill.d.ts +4 -0
  198. package/dist/types/src/skills/database/skill.d.ts.map +1 -0
  199. package/dist/types/src/skills/database/skill.test.d.ts +2 -0
  200. package/dist/types/src/skills/database/skill.test.d.ts.map +1 -0
  201. package/dist/types/src/skills/delegation/index.d.ts +3 -0
  202. package/dist/types/src/skills/delegation/index.d.ts.map +1 -0
  203. package/dist/types/src/{blueprints → skills}/delegation/operations/delegate-task.d.ts +4 -4
  204. package/dist/types/src/skills/delegation/operations/delegate-task.d.ts.map +1 -0
  205. package/dist/types/src/skills/delegation/operations/delegate-task.test.d.ts.map +1 -0
  206. package/dist/types/src/skills/delegation/operations/index.d.ts.map +1 -0
  207. package/dist/types/src/skills/delegation/skill.d.ts +4 -0
  208. package/dist/types/src/skills/delegation/skill.d.ts.map +1 -0
  209. package/dist/types/src/skills/discord/index.d.ts +3 -0
  210. package/dist/types/src/skills/discord/index.d.ts.map +1 -0
  211. package/dist/types/src/{blueprints → skills}/discord/operations/definitions.d.ts +1 -1
  212. package/dist/types/src/skills/discord/operations/definitions.d.ts.map +1 -0
  213. package/dist/types/src/{blueprints → skills}/discord/operations/fetch-messages.d.ts +1 -1
  214. package/dist/types/src/skills/discord/operations/fetch-messages.d.ts.map +1 -0
  215. package/dist/types/src/skills/discord/operations/fetch-messages.test.d.ts.map +1 -0
  216. package/dist/types/src/skills/discord/operations/index.d.ts.map +1 -0
  217. package/dist/types/src/skills/discord/skill.d.ts +4 -0
  218. package/dist/types/src/skills/discord/skill.d.ts.map +1 -0
  219. package/dist/types/src/skills/github/index.d.ts.map +1 -0
  220. package/dist/types/src/skills/github/operations/definitions.d.ts.map +1 -0
  221. package/dist/types/src/skills/github/operations/fetch-prs.d.ts.map +1 -0
  222. package/dist/types/src/skills/github/operations/index.d.ts.map +1 -0
  223. package/dist/types/src/{blueprints → skills}/index.d.ts +3 -1
  224. package/dist/types/src/skills/index.d.ts.map +1 -0
  225. package/dist/types/src/skills/linear/index.d.ts +3 -0
  226. package/dist/types/src/skills/linear/index.d.ts.map +1 -0
  227. package/dist/types/src/skills/linear/operations/definitions.d.ts.map +1 -0
  228. package/dist/types/src/skills/linear/operations/index.d.ts.map +1 -0
  229. package/dist/types/src/skills/linear/operations/linear.test.d.ts.map +1 -0
  230. package/dist/types/src/skills/linear/operations/sync-issues.d.ts.map +1 -0
  231. package/dist/types/src/skills/linear/skill.d.ts +4 -0
  232. package/dist/types/src/skills/linear/skill.d.ts.map +1 -0
  233. package/dist/types/src/skills/memory/index.d.ts +3 -0
  234. package/dist/types/src/skills/memory/index.d.ts.map +1 -0
  235. package/dist/types/src/{blueprints → skills}/memory/operations/definitions.d.ts +2 -4
  236. package/dist/types/src/skills/memory/operations/definitions.d.ts.map +1 -0
  237. package/dist/types/src/skills/memory/operations/delete.d.ts +7 -0
  238. package/dist/types/src/skills/memory/operations/delete.d.ts.map +1 -0
  239. package/dist/types/src/skills/memory/operations/index.d.ts.map +1 -0
  240. package/dist/types/src/skills/memory/operations/query.d.ts.map +1 -0
  241. package/dist/types/src/skills/memory/operations/save.d.ts.map +1 -0
  242. package/dist/types/src/skills/memory/skill.d.ts +4 -0
  243. package/dist/types/src/skills/memory/skill.d.ts.map +1 -0
  244. package/dist/types/src/skills/memory/skill.test.d.ts +2 -0
  245. package/dist/types/src/skills/memory/skill.test.d.ts.map +1 -0
  246. package/dist/types/src/skills/planning/index.d.ts +3 -0
  247. package/dist/types/src/skills/planning/index.d.ts.map +1 -0
  248. package/dist/types/src/skills/planning/operations/definitions.d.ts +14 -0
  249. package/dist/types/src/skills/planning/operations/definitions.d.ts.map +1 -0
  250. package/dist/types/src/{blueprints → skills}/planning/operations/index.d.ts +1 -1
  251. package/dist/types/src/skills/planning/operations/index.d.ts.map +1 -0
  252. package/dist/types/src/skills/planning/operations/plan-reminder.d.ts +15 -0
  253. package/dist/types/src/skills/planning/operations/plan-reminder.d.ts.map +1 -0
  254. package/dist/types/src/skills/planning/operations/update-tasks.d.ts +7 -0
  255. package/dist/types/src/skills/planning/operations/update-tasks.d.ts.map +1 -0
  256. package/dist/types/src/skills/planning/operations/update-tasks.test.d.ts.map +1 -0
  257. package/dist/types/src/skills/planning/skill.d.ts +4 -0
  258. package/dist/types/src/skills/planning/skill.d.ts.map +1 -0
  259. package/dist/types/src/skills/planning/skill.test.d.ts +2 -0
  260. package/dist/types/src/skills/planning/skill.test.d.ts.map +1 -0
  261. package/dist/types/src/skills/skill-manager/index.d.ts +3 -0
  262. package/dist/types/src/skills/skill-manager/index.d.ts.map +1 -0
  263. package/dist/types/src/skills/skill-manager/operations/definitions.d.ts +14 -0
  264. package/dist/types/src/skills/skill-manager/operations/definitions.d.ts.map +1 -0
  265. package/dist/types/src/skills/skill-manager/operations/enable-skills.d.ts +13 -0
  266. package/dist/types/src/skills/skill-manager/operations/enable-skills.d.ts.map +1 -0
  267. package/dist/types/src/skills/skill-manager/operations/index.d.ts +4 -0
  268. package/dist/types/src/skills/skill-manager/operations/index.d.ts.map +1 -0
  269. package/dist/types/src/skills/skill-manager/operations/query-skills.d.ts +5 -0
  270. package/dist/types/src/skills/skill-manager/operations/query-skills.d.ts.map +1 -0
  271. package/dist/types/src/skills/skill-manager/skill.d.ts +4 -0
  272. package/dist/types/src/skills/skill-manager/skill.d.ts.map +1 -0
  273. package/dist/types/src/skills/skill-manager/skill.test.d.ts +2 -0
  274. package/dist/types/src/skills/skill-manager/skill.test.d.ts.map +1 -0
  275. package/dist/types/src/{blueprints → skills}/testing.d.ts +4 -4
  276. package/dist/types/src/skills/testing.d.ts.map +1 -0
  277. package/dist/types/src/{blueprints → skills}/websearch/index.d.ts +1 -1
  278. package/dist/types/src/skills/websearch/index.d.ts.map +1 -0
  279. package/dist/types/src/skills/websearch/operations/definitions.d.ts.map +1 -0
  280. package/dist/types/src/skills/websearch/operations/fetch.d.ts.map +1 -0
  281. package/dist/types/src/skills/websearch/operations/index.d.ts.map +1 -0
  282. package/dist/types/src/skills/websearch/skill.d.ts +4 -0
  283. package/dist/types/src/skills/websearch/skill.d.ts.map +1 -0
  284. package/dist/types/src/skills/websearch/skill.test.d.ts +2 -0
  285. package/dist/types/src/skills/websearch/skill.test.d.ts.map +1 -0
  286. package/dist/types/src/{blueprints → skills}/websearch/toolkit.d.ts +6 -4
  287. package/dist/types/src/skills/websearch/toolkit.d.ts.map +1 -0
  288. package/dist/types/src/supervisor/delegation-strategy.d.ts +1 -1
  289. package/dist/types/src/supervisor/delegation-strategy.d.ts.map +1 -1
  290. package/dist/types/src/supervisor/index.d.ts +0 -1
  291. package/dist/types/src/supervisor/index.d.ts.map +1 -1
  292. package/dist/types/src/testing/index.d.ts +1 -1
  293. package/dist/types/src/testing/index.d.ts.map +1 -1
  294. package/dist/types/src/testing/plugins.d.ts +2 -3
  295. package/dist/types/src/testing/plugins.d.ts.map +1 -1
  296. package/dist/types/src/types/Agent.d.ts +24 -54
  297. package/dist/types/src/types/Agent.d.ts.map +1 -1
  298. package/dist/types/src/types/Chat.d.ts +34 -44
  299. package/dist/types/src/types/Chat.d.ts.map +1 -1
  300. package/dist/types/src/types/McpServer.d.ts +10 -9
  301. package/dist/types/src/types/McpServer.d.ts.map +1 -1
  302. package/dist/types/src/types/Memory.d.ts +7 -6
  303. package/dist/types/src/types/Memory.d.ts.map +1 -1
  304. package/dist/types/src/types/Plan.d.ts +15 -38
  305. package/dist/types/src/types/Plan.d.ts.map +1 -1
  306. package/dist/types/tsconfig.tsbuildinfo +1 -1
  307. package/package.json +34 -34
  308. package/src/errors.ts +12 -0
  309. package/src/index.ts +2 -4
  310. package/src/{functions/agent → operations}/definitions.ts +16 -18
  311. package/src/{functions/agent → operations}/index.ts +1 -1
  312. package/src/operations/run-instructions.conversations.json +1 -0
  313. package/src/operations/run-instructions.test.ts +118 -0
  314. package/src/{functions/agent/prompt.ts → operations/run-instructions.ts} +34 -24
  315. package/src/{functions/agent/blueprint-resolution.test.ts → operations/skill-resolution.test.ts} +39 -39
  316. package/src/skills/AGENTS.md +13 -0
  317. package/src/skills/agent/index.ts +6 -0
  318. package/src/{blueprints → skills}/agent/operations/agent.ts +3 -3
  319. package/src/{blueprints → skills}/agent/operations/definitions.ts +6 -7
  320. package/src/skills/agent/operations/get-context.ts +87 -0
  321. package/src/{blueprints → skills}/agent/operations/index.ts +2 -2
  322. package/src/{blueprints → skills}/agent/operations/qualifier.ts +10 -4
  323. package/src/skills/agent/skill.conversations.json +1 -0
  324. package/src/{blueprints/agent/blueprint.test.ts → skills/agent/skill.test.ts} +41 -32
  325. package/src/{blueprints/agent/blueprint.ts → skills/agent/skill.ts} +10 -10
  326. package/src/{blueprints → skills}/agent-wizard/index.ts +1 -1
  327. package/src/{blueprints → skills}/agent-wizard/operations/agent-rules.ts +8 -8
  328. package/src/{blueprints → skills}/agent-wizard/operations/create-agent.ts +5 -7
  329. package/src/{blueprints → skills}/agent-wizard/operations/definitions.ts +5 -5
  330. package/src/{blueprints → skills}/agent-wizard/operations/sync-triggers.ts +4 -4
  331. package/src/{blueprints/agent-wizard/blueprint.ts → skills/agent-wizard/skill.ts} +11 -11
  332. package/src/skills/alarm/index.ts +6 -0
  333. package/src/skills/alarm/operations/definitions.ts +54 -0
  334. package/src/skills/alarm/operations/get-current-date.ts +23 -0
  335. package/src/skills/alarm/operations/index.ts +12 -0
  336. package/src/skills/alarm/operations/resolve-wake-at.ts +46 -0
  337. package/src/skills/alarm/operations/set-alarm.ts +33 -0
  338. package/src/skills/alarm/skill.test.ts +128 -0
  339. package/src/skills/alarm/skill.ts +37 -0
  340. package/src/skills/automation/index.ts +5 -0
  341. package/src/{blueprints/automation/blueprint.ts → skills/automation/skill.ts} +8 -8
  342. package/src/skills/browser/index.ts +5 -0
  343. package/src/{blueprints/browser/blueprint.test.ts → skills/browser/skill.test.ts} +7 -7
  344. package/src/{blueprints/browser/blueprint.ts → skills/browser/skill.ts} +7 -7
  345. package/src/skills/connectors/index.ts +5 -0
  346. package/src/skills/connectors/skill.ts +47 -0
  347. package/src/{blueprints → skills}/database/index.ts +1 -1
  348. package/src/{blueprints → skills}/database/operations/context-add.ts +4 -4
  349. package/src/{blueprints → skills}/database/operations/context-remove.ts +5 -5
  350. package/src/{blueprints → skills}/database/operations/definitions.ts +3 -3
  351. package/src/{blueprints → skills}/database/operations/query.ts +1 -1
  352. package/src/{blueprints → skills}/database/operations/relation-create.ts +9 -1
  353. package/src/{blueprints → skills}/database/operations/schema-list.ts +2 -2
  354. package/src/skills/database/skill.conversations.json +1 -0
  355. package/src/{blueprints/database/blueprint.test.ts → skills/database/skill.test.ts} +22 -22
  356. package/src/{blueprints/database/blueprint.ts → skills/database/skill.ts} +14 -14
  357. package/src/{blueprints → skills}/delegation/index.ts +1 -1
  358. package/src/{blueprints → skills}/delegation/operations/delegate-task.test.ts +13 -10
  359. package/src/{blueprints → skills}/delegation/operations/delegate-task.ts +6 -6
  360. package/src/skills/delegation/skill.ts +24 -0
  361. package/src/{blueprints → skills}/discord/index.ts +1 -1
  362. package/src/{blueprints → skills}/discord/operations/definitions.ts +1 -1
  363. package/src/{blueprints → skills}/discord/operations/fetch-messages.ts +1 -1
  364. package/src/{blueprints/discord/blueprint.ts → skills/discord/skill.ts} +8 -8
  365. package/src/{blueprints → skills}/index.ts +3 -1
  366. package/src/{blueprints → skills}/linear/index.ts +1 -1
  367. package/src/{blueprints/linear/blueprint.ts → skills/linear/skill.ts} +8 -8
  368. package/src/{blueprints → skills}/memory/index.ts +1 -1
  369. package/src/skills/memory/skill.conversations.json +1 -0
  370. package/src/{blueprints/memory/blueprint.test.ts → skills/memory/skill.test.ts} +11 -11
  371. package/src/{blueprints/memory/blueprint.ts → skills/memory/skill.ts} +9 -9
  372. package/src/{blueprints → skills}/planning/index.ts +1 -1
  373. package/src/skills/planning/operations/definitions.ts +44 -0
  374. package/src/skills/planning/operations/index.ts +12 -0
  375. package/src/skills/planning/operations/plan-reminder.ts +98 -0
  376. package/src/skills/planning/operations/update-tasks.test.ts +79 -0
  377. package/src/skills/planning/operations/update-tasks.ts +51 -0
  378. package/src/skills/planning/skill.conversations.json +1 -0
  379. package/src/skills/planning/skill.test.ts +123 -0
  380. package/src/skills/planning/skill.ts +34 -0
  381. package/src/skills/skill-manager/index.ts +6 -0
  382. package/src/skills/skill-manager/operations/definitions.ts +48 -0
  383. package/src/skills/skill-manager/operations/enable-skills.ts +46 -0
  384. package/src/skills/skill-manager/operations/index.ts +12 -0
  385. package/src/skills/skill-manager/operations/query-skills.ts +19 -0
  386. package/src/skills/skill-manager/skill.test.ts +174 -0
  387. package/src/skills/skill-manager/skill.ts +49 -0
  388. package/src/{blueprints → skills}/testing.ts +12 -13
  389. package/src/{blueprints → skills}/websearch/index.ts +1 -1
  390. package/src/{blueprints → skills}/websearch/operations/fetch.ts +1 -0
  391. package/src/{blueprints/websearch/blueprint.test.ts → skills/websearch/skill.test.ts} +4 -4
  392. package/src/skills/websearch/skill.ts +31 -0
  393. package/src/{blueprints → skills}/websearch/toolkit.ts +2 -3
  394. package/src/supervisor/delegation-strategy.ts +47 -24
  395. package/src/supervisor/index.ts +0 -1
  396. package/src/testing/index.ts +1 -1
  397. package/src/testing/plugins.tsx +2 -1
  398. package/src/types/Agent.test.ts +3 -3
  399. package/src/types/Agent.ts +121 -113
  400. package/src/types/Chat.ts +79 -31
  401. package/src/types/McpServer.ts +10 -11
  402. package/src/types/Memory.ts +11 -12
  403. package/src/types/Plan.ts +15 -13
  404. package/dist/lib/neutral/agent-BU6PB7J6.mjs.map +0 -7
  405. package/dist/lib/neutral/agent-rules-L3AHRSR4.mjs.map +0 -7
  406. package/dist/lib/neutral/chunk-4LFE5PQ3.mjs.map +0 -7
  407. package/dist/lib/neutral/chunk-5HANNHZZ.mjs +0 -316
  408. package/dist/lib/neutral/chunk-5HANNHZZ.mjs.map +0 -7
  409. package/dist/lib/neutral/chunk-ABOAU3NN.mjs.map +0 -7
  410. package/dist/lib/neutral/chunk-CUT6GB2W.mjs.map +0 -7
  411. package/dist/lib/neutral/chunk-JZHXJBSM.mjs +0 -48
  412. package/dist/lib/neutral/chunk-JZHXJBSM.mjs.map +0 -7
  413. package/dist/lib/neutral/chunk-KZDQGI3S.mjs.map +0 -7
  414. package/dist/lib/neutral/chunk-NSAUN2IX.mjs +0 -66
  415. package/dist/lib/neutral/chunk-NSAUN2IX.mjs.map +0 -7
  416. package/dist/lib/neutral/chunk-OK3P6URP.mjs.map +0 -7
  417. package/dist/lib/neutral/chunk-SYUTQPSB.mjs.map +0 -7
  418. package/dist/lib/neutral/chunk-WTUY5UCA.mjs.map +0 -7
  419. package/dist/lib/neutral/chunk-ZA5WZL4H.mjs.map +0 -7
  420. package/dist/lib/neutral/context-add-KWEKPGMI.mjs.map +0 -7
  421. package/dist/lib/neutral/context-remove-HIQFSVHW.mjs.map +0 -7
  422. package/dist/lib/neutral/create-agent-7PBQFYHF.mjs +0 -35
  423. package/dist/lib/neutral/create-agent-7PBQFYHF.mjs.map +0 -7
  424. package/dist/lib/neutral/definitions-BHRGH45G.mjs +0 -17
  425. package/dist/lib/neutral/delegate-task-IQJSRLN3.mjs +0 -13
  426. package/dist/lib/neutral/enable-blueprints-OGYSQ7HD.mjs +0 -47
  427. package/dist/lib/neutral/enable-blueprints-OGYSQ7HD.mjs.map +0 -7
  428. package/dist/lib/neutral/get-context-6SZ7HOV4.mjs +0 -49
  429. package/dist/lib/neutral/get-context-6SZ7HOV4.mjs.map +0 -7
  430. package/dist/lib/neutral/prompt-37GJGKNM.mjs.map +0 -7
  431. package/dist/lib/neutral/qualifier-DHPHY3YH.mjs.map +0 -7
  432. package/dist/lib/neutral/query-blueprints-7NDHHM7U.mjs +0 -17
  433. package/dist/lib/neutral/query-blueprints-7NDHHM7U.mjs.map +0 -7
  434. package/dist/lib/neutral/relation-create-WA2DM76W.mjs.map +0 -7
  435. package/dist/lib/neutral/schema-list-74CQW2N3.mjs.map +0 -7
  436. package/dist/lib/neutral/update-tasks-R5YXESZ6.mjs +0 -13
  437. package/dist/lib/neutral/update-tasks-R5YXESZ6.mjs.map +0 -7
  438. package/dist/types/src/blueprints/agent/blueprint.d.ts +0 -4
  439. package/dist/types/src/blueprints/agent/blueprint.d.ts.map +0 -1
  440. package/dist/types/src/blueprints/agent/blueprint.test.d.ts +0 -2
  441. package/dist/types/src/blueprints/agent/blueprint.test.d.ts.map +0 -1
  442. package/dist/types/src/blueprints/agent/index.d.ts +0 -3
  443. package/dist/types/src/blueprints/agent/index.d.ts.map +0 -1
  444. package/dist/types/src/blueprints/agent/operations/add-artifact.d.ts.map +0 -1
  445. package/dist/types/src/blueprints/agent/operations/agent.d.ts.map +0 -1
  446. package/dist/types/src/blueprints/agent/operations/definitions.d.ts +0 -177
  447. package/dist/types/src/blueprints/agent/operations/definitions.d.ts.map +0 -1
  448. package/dist/types/src/blueprints/agent/operations/get-context.d.ts.map +0 -1
  449. package/dist/types/src/blueprints/agent/operations/index.d.ts +0 -4
  450. package/dist/types/src/blueprints/agent/operations/index.d.ts.map +0 -1
  451. package/dist/types/src/blueprints/agent/operations/qualifier.d.ts.map +0 -1
  452. package/dist/types/src/blueprints/agent-wizard/blueprint.d.ts +0 -4
  453. package/dist/types/src/blueprints/agent-wizard/blueprint.d.ts.map +0 -1
  454. package/dist/types/src/blueprints/agent-wizard/index.d.ts +0 -3
  455. package/dist/types/src/blueprints/agent-wizard/index.d.ts.map +0 -1
  456. package/dist/types/src/blueprints/agent-wizard/operations/agent-rules.d.ts.map +0 -1
  457. package/dist/types/src/blueprints/agent-wizard/operations/create-agent.d.ts +0 -57
  458. package/dist/types/src/blueprints/agent-wizard/operations/create-agent.d.ts.map +0 -1
  459. package/dist/types/src/blueprints/agent-wizard/operations/definitions.d.ts +0 -107
  460. package/dist/types/src/blueprints/agent-wizard/operations/definitions.d.ts.map +0 -1
  461. package/dist/types/src/blueprints/agent-wizard/operations/index.d.ts.map +0 -1
  462. package/dist/types/src/blueprints/agent-wizard/operations/sync-triggers.d.ts +0 -54
  463. package/dist/types/src/blueprints/agent-wizard/operations/sync-triggers.d.ts.map +0 -1
  464. package/dist/types/src/blueprints/automation/blueprint.d.ts +0 -4
  465. package/dist/types/src/blueprints/automation/blueprint.d.ts.map +0 -1
  466. package/dist/types/src/blueprints/automation/index.d.ts +0 -2
  467. package/dist/types/src/blueprints/automation/index.d.ts.map +0 -1
  468. package/dist/types/src/blueprints/blueprint-manager/blueprint.d.ts +0 -4
  469. package/dist/types/src/blueprints/blueprint-manager/blueprint.d.ts.map +0 -1
  470. package/dist/types/src/blueprints/blueprint-manager/blueprint.test.d.ts +0 -2
  471. package/dist/types/src/blueprints/blueprint-manager/blueprint.test.d.ts.map +0 -1
  472. package/dist/types/src/blueprints/blueprint-manager/index.d.ts +0 -3
  473. package/dist/types/src/blueprints/blueprint-manager/index.d.ts.map +0 -1
  474. package/dist/types/src/blueprints/blueprint-manager/operations/definitions.d.ts +0 -60
  475. package/dist/types/src/blueprints/blueprint-manager/operations/definitions.d.ts.map +0 -1
  476. package/dist/types/src/blueprints/blueprint-manager/operations/enable-blueprints.d.ts +0 -36
  477. package/dist/types/src/blueprints/blueprint-manager/operations/enable-blueprints.d.ts.map +0 -1
  478. package/dist/types/src/blueprints/blueprint-manager/operations/index.d.ts +0 -4
  479. package/dist/types/src/blueprints/blueprint-manager/operations/index.d.ts.map +0 -1
  480. package/dist/types/src/blueprints/blueprint-manager/operations/query-blueprints.d.ts +0 -28
  481. package/dist/types/src/blueprints/blueprint-manager/operations/query-blueprints.d.ts.map +0 -1
  482. package/dist/types/src/blueprints/browser/blueprint.d.ts +0 -4
  483. package/dist/types/src/blueprints/browser/blueprint.d.ts.map +0 -1
  484. package/dist/types/src/blueprints/browser/blueprint.test.d.ts +0 -2
  485. package/dist/types/src/blueprints/browser/blueprint.test.d.ts.map +0 -1
  486. package/dist/types/src/blueprints/browser/index.d.ts +0 -2
  487. package/dist/types/src/blueprints/browser/index.d.ts.map +0 -1
  488. package/dist/types/src/blueprints/database/blueprint.d.ts +0 -4
  489. package/dist/types/src/blueprints/database/blueprint.d.ts.map +0 -1
  490. package/dist/types/src/blueprints/database/blueprint.test.d.ts +0 -2
  491. package/dist/types/src/blueprints/database/blueprint.test.d.ts.map +0 -1
  492. package/dist/types/src/blueprints/database/index.d.ts +0 -3
  493. package/dist/types/src/blueprints/database/index.d.ts.map +0 -1
  494. package/dist/types/src/blueprints/database/operations/context-add.d.ts.map +0 -1
  495. package/dist/types/src/blueprints/database/operations/context-remove.d.ts.map +0 -1
  496. package/dist/types/src/blueprints/database/operations/definitions.d.ts.map +0 -1
  497. package/dist/types/src/blueprints/database/operations/index.d.ts.map +0 -1
  498. package/dist/types/src/blueprints/database/operations/load.d.ts.map +0 -1
  499. package/dist/types/src/blueprints/database/operations/object-create.d.ts.map +0 -1
  500. package/dist/types/src/blueprints/database/operations/object-delete.d.ts.map +0 -1
  501. package/dist/types/src/blueprints/database/operations/object-update.d.ts.map +0 -1
  502. package/dist/types/src/blueprints/database/operations/query.d.ts.map +0 -1
  503. package/dist/types/src/blueprints/database/operations/relation-create.d.ts.map +0 -1
  504. package/dist/types/src/blueprints/database/operations/relation-delete.d.ts.map +0 -1
  505. package/dist/types/src/blueprints/database/operations/schema-add.d.ts.map +0 -1
  506. package/dist/types/src/blueprints/database/operations/schema-list.d.ts.map +0 -1
  507. package/dist/types/src/blueprints/database/operations/tag-add.d.ts.map +0 -1
  508. package/dist/types/src/blueprints/database/operations/tag-remove.d.ts.map +0 -1
  509. package/dist/types/src/blueprints/delegation/blueprint.d.ts +0 -4
  510. package/dist/types/src/blueprints/delegation/blueprint.d.ts.map +0 -1
  511. package/dist/types/src/blueprints/delegation/index.d.ts +0 -3
  512. package/dist/types/src/blueprints/delegation/index.d.ts.map +0 -1
  513. package/dist/types/src/blueprints/delegation/operations/delegate-task.d.ts.map +0 -1
  514. package/dist/types/src/blueprints/delegation/operations/delegate-task.test.d.ts.map +0 -1
  515. package/dist/types/src/blueprints/delegation/operations/index.d.ts.map +0 -1
  516. package/dist/types/src/blueprints/discord/blueprint.d.ts +0 -4
  517. package/dist/types/src/blueprints/discord/blueprint.d.ts.map +0 -1
  518. package/dist/types/src/blueprints/discord/index.d.ts +0 -3
  519. package/dist/types/src/blueprints/discord/index.d.ts.map +0 -1
  520. package/dist/types/src/blueprints/discord/operations/definitions.d.ts.map +0 -1
  521. package/dist/types/src/blueprints/discord/operations/fetch-messages.d.ts.map +0 -1
  522. package/dist/types/src/blueprints/discord/operations/fetch-messages.test.d.ts.map +0 -1
  523. package/dist/types/src/blueprints/discord/operations/index.d.ts.map +0 -1
  524. package/dist/types/src/blueprints/github/index.d.ts.map +0 -1
  525. package/dist/types/src/blueprints/github/operations/definitions.d.ts.map +0 -1
  526. package/dist/types/src/blueprints/github/operations/fetch-prs.d.ts.map +0 -1
  527. package/dist/types/src/blueprints/github/operations/index.d.ts.map +0 -1
  528. package/dist/types/src/blueprints/index.d.ts.map +0 -1
  529. package/dist/types/src/blueprints/linear/blueprint.d.ts +0 -4
  530. package/dist/types/src/blueprints/linear/blueprint.d.ts.map +0 -1
  531. package/dist/types/src/blueprints/linear/index.d.ts +0 -3
  532. package/dist/types/src/blueprints/linear/index.d.ts.map +0 -1
  533. package/dist/types/src/blueprints/linear/operations/definitions.d.ts.map +0 -1
  534. package/dist/types/src/blueprints/linear/operations/index.d.ts.map +0 -1
  535. package/dist/types/src/blueprints/linear/operations/linear.test.d.ts.map +0 -1
  536. package/dist/types/src/blueprints/linear/operations/sync-issues.d.ts.map +0 -1
  537. package/dist/types/src/blueprints/memory/blueprint.d.ts +0 -4
  538. package/dist/types/src/blueprints/memory/blueprint.d.ts.map +0 -1
  539. package/dist/types/src/blueprints/memory/blueprint.test.d.ts +0 -2
  540. package/dist/types/src/blueprints/memory/blueprint.test.d.ts.map +0 -1
  541. package/dist/types/src/blueprints/memory/index.d.ts +0 -3
  542. package/dist/types/src/blueprints/memory/index.d.ts.map +0 -1
  543. package/dist/types/src/blueprints/memory/operations/definitions.d.ts.map +0 -1
  544. package/dist/types/src/blueprints/memory/operations/delete.d.ts +0 -10
  545. package/dist/types/src/blueprints/memory/operations/delete.d.ts.map +0 -1
  546. package/dist/types/src/blueprints/memory/operations/index.d.ts.map +0 -1
  547. package/dist/types/src/blueprints/memory/operations/query.d.ts.map +0 -1
  548. package/dist/types/src/blueprints/memory/operations/save.d.ts.map +0 -1
  549. package/dist/types/src/blueprints/planning/blueprint.d.ts +0 -4
  550. package/dist/types/src/blueprints/planning/blueprint.d.ts.map +0 -1
  551. package/dist/types/src/blueprints/planning/index.d.ts +0 -3
  552. package/dist/types/src/blueprints/planning/index.d.ts.map +0 -1
  553. package/dist/types/src/blueprints/planning/operations/index.d.ts.map +0 -1
  554. package/dist/types/src/blueprints/planning/operations/update-tasks.d.ts +0 -24
  555. package/dist/types/src/blueprints/planning/operations/update-tasks.d.ts.map +0 -1
  556. package/dist/types/src/blueprints/planning/operations/update-tasks.test.d.ts.map +0 -1
  557. package/dist/types/src/blueprints/testing.d.ts.map +0 -1
  558. package/dist/types/src/blueprints/websearch/blueprint.d.ts +0 -4
  559. package/dist/types/src/blueprints/websearch/blueprint.d.ts.map +0 -1
  560. package/dist/types/src/blueprints/websearch/blueprint.test.d.ts +0 -2
  561. package/dist/types/src/blueprints/websearch/blueprint.test.d.ts.map +0 -1
  562. package/dist/types/src/blueprints/websearch/index.d.ts.map +0 -1
  563. package/dist/types/src/blueprints/websearch/operations/definitions.d.ts.map +0 -1
  564. package/dist/types/src/blueprints/websearch/operations/fetch.d.ts.map +0 -1
  565. package/dist/types/src/blueprints/websearch/operations/index.d.ts.map +0 -1
  566. package/dist/types/src/blueprints/websearch/toolkit.d.ts.map +0 -1
  567. package/dist/types/src/crud/graph.d.ts +0 -64
  568. package/dist/types/src/crud/graph.d.ts.map +0 -1
  569. package/dist/types/src/crud/graph.test.d.ts +0 -2
  570. package/dist/types/src/crud/graph.test.d.ts.map +0 -1
  571. package/dist/types/src/crud/index.d.ts +0 -2
  572. package/dist/types/src/crud/index.d.ts.map +0 -1
  573. package/dist/types/src/functions/agent/blueprint-resolution.test.d.ts +0 -2
  574. package/dist/types/src/functions/agent/blueprint-resolution.test.d.ts.map +0 -1
  575. package/dist/types/src/functions/agent/definitions.d.ts +0 -53
  576. package/dist/types/src/functions/agent/definitions.d.ts.map +0 -1
  577. package/dist/types/src/functions/agent/index.d.ts.map +0 -1
  578. package/dist/types/src/functions/agent/prompt.d.ts.map +0 -1
  579. package/dist/types/src/functions/agent/prompt.test.d.ts +0 -2
  580. package/dist/types/src/functions/agent/prompt.test.d.ts.map +0 -1
  581. package/dist/types/src/functions/index.d.ts +0 -2
  582. package/dist/types/src/functions/index.d.ts.map +0 -1
  583. package/dist/types/src/supervisor/plan-completion-guard.d.ts +0 -6
  584. package/dist/types/src/supervisor/plan-completion-guard.d.ts.map +0 -1
  585. package/dist/types/src/toolkits/WebToolkit.d.ts +0 -38
  586. package/dist/types/src/toolkits/WebToolkit.d.ts.map +0 -1
  587. package/dist/types/src/toolkits/index.d.ts +0 -2
  588. package/dist/types/src/toolkits/index.d.ts.map +0 -1
  589. package/src/blueprints/AGENTS.md +0 -13
  590. package/src/blueprints/agent/blueprint.conversations.json +0 -1
  591. package/src/blueprints/agent/index.ts +0 -6
  592. package/src/blueprints/agent/operations/get-context.ts +0 -58
  593. package/src/blueprints/automation/index.ts +0 -5
  594. package/src/blueprints/blueprint-manager/blueprint.test.ts +0 -156
  595. package/src/blueprints/blueprint-manager/blueprint.ts +0 -49
  596. package/src/blueprints/blueprint-manager/index.ts +0 -6
  597. package/src/blueprints/blueprint-manager/operations/definitions.ts +0 -48
  598. package/src/blueprints/blueprint-manager/operations/enable-blueprints.ts +0 -46
  599. package/src/blueprints/blueprint-manager/operations/index.ts +0 -12
  600. package/src/blueprints/blueprint-manager/operations/query-blueprints.ts +0 -19
  601. package/src/blueprints/browser/index.ts +0 -5
  602. package/src/blueprints/database/blueprint.conversations.json +0 -1
  603. package/src/blueprints/delegation/blueprint.ts +0 -24
  604. package/src/blueprints/memory/blueprint.conversations.json +0 -1
  605. package/src/blueprints/planning/blueprint.ts +0 -24
  606. package/src/blueprints/planning/operations/index.ts +0 -9
  607. package/src/blueprints/planning/operations/update-tasks.test.ts +0 -55
  608. package/src/blueprints/planning/operations/update-tasks.ts +0 -72
  609. package/src/blueprints/websearch/blueprint.ts +0 -30
  610. package/src/crud/graph.test.ts +0 -44
  611. package/src/crud/graph.ts +0 -364
  612. package/src/crud/index.ts +0 -5
  613. package/src/functions/READ_THIS.md +0 -5
  614. package/src/functions/agent/prompt.conversations.json +0 -1
  615. package/src/functions/agent/prompt.test.ts +0 -78
  616. package/src/functions/index.ts +0 -5
  617. package/src/supervisor/plan-completion-guard.ts +0 -50
  618. package/src/toolkits/WebToolkit.ts +0 -44
  619. package/src/toolkits/index.ts +0 -5
  620. /package/dist/lib/neutral/{definitions-BHRGH45G.mjs.map → definitions-VRR5OGXI.mjs.map} +0 -0
  621. /package/dist/lib/neutral/{delegate-task-IQJSRLN3.mjs.map → delegate-task-UX64NK4M.mjs.map} +0 -0
  622. /package/dist/types/src/{functions/agent → operations}/index.d.ts +0 -0
  623. /package/dist/types/src/{blueprints → skills}/agent/operations/add-artifact.d.ts +0 -0
  624. /package/dist/types/src/{blueprints → skills}/agent/operations/agent.d.ts +0 -0
  625. /package/dist/types/src/{blueprints → skills}/agent/operations/get-context.d.ts +0 -0
  626. /package/dist/types/src/{blueprints → skills}/agent/operations/qualifier.d.ts +0 -0
  627. /package/dist/types/src/{blueprints → skills}/agent-wizard/operations/agent-rules.d.ts +0 -0
  628. /package/dist/types/src/{blueprints → skills}/agent-wizard/operations/index.d.ts +0 -0
  629. /package/dist/types/src/{blueprints → skills}/database/operations/index.d.ts +0 -0
  630. /package/dist/types/src/{blueprints → skills}/database/operations/load.d.ts +0 -0
  631. /package/dist/types/src/{blueprints → skills}/database/operations/object-create.d.ts +0 -0
  632. /package/dist/types/src/{blueprints → skills}/database/operations/object-delete.d.ts +0 -0
  633. /package/dist/types/src/{blueprints → skills}/database/operations/object-update.d.ts +0 -0
  634. /package/dist/types/src/{blueprints → skills}/database/operations/query.d.ts +0 -0
  635. /package/dist/types/src/{blueprints → skills}/database/operations/relation-create.d.ts +0 -0
  636. /package/dist/types/src/{blueprints → skills}/database/operations/relation-delete.d.ts +0 -0
  637. /package/dist/types/src/{blueprints → skills}/database/operations/schema-add.d.ts +0 -0
  638. /package/dist/types/src/{blueprints → skills}/database/operations/schema-list.d.ts +0 -0
  639. /package/dist/types/src/{blueprints → skills}/delegation/operations/delegate-task.test.d.ts +0 -0
  640. /package/dist/types/src/{blueprints → skills}/delegation/operations/index.d.ts +0 -0
  641. /package/dist/types/src/{blueprints → skills}/discord/operations/fetch-messages.test.d.ts +0 -0
  642. /package/dist/types/src/{blueprints → skills}/discord/operations/index.d.ts +0 -0
  643. /package/dist/types/src/{blueprints → skills}/github/index.d.ts +0 -0
  644. /package/dist/types/src/{blueprints → skills}/github/operations/definitions.d.ts +0 -0
  645. /package/dist/types/src/{blueprints → skills}/github/operations/fetch-prs.d.ts +0 -0
  646. /package/dist/types/src/{blueprints → skills}/github/operations/index.d.ts +0 -0
  647. /package/dist/types/src/{blueprints → skills}/linear/operations/definitions.d.ts +0 -0
  648. /package/dist/types/src/{blueprints → skills}/linear/operations/index.d.ts +0 -0
  649. /package/dist/types/src/{blueprints → skills}/linear/operations/linear.test.d.ts +0 -0
  650. /package/dist/types/src/{blueprints → skills}/linear/operations/sync-issues.d.ts +0 -0
  651. /package/dist/types/src/{blueprints → skills}/memory/operations/index.d.ts +0 -0
  652. /package/dist/types/src/{blueprints → skills}/memory/operations/query.d.ts +0 -0
  653. /package/dist/types/src/{blueprints → skills}/memory/operations/save.d.ts +0 -0
  654. /package/dist/types/src/{blueprints → skills}/planning/operations/update-tasks.test.d.ts +0 -0
  655. /package/dist/types/src/{blueprints → skills}/websearch/operations/definitions.d.ts +0 -0
  656. /package/dist/types/src/{blueprints → skills}/websearch/operations/fetch.d.ts +0 -0
  657. /package/dist/types/src/{blueprints → skills}/websearch/operations/index.d.ts +0 -0
  658. /package/src/{blueprints → skills}/agent/operations/add-artifact.ts +0 -0
  659. /package/src/{blueprints → skills}/agent-wizard/operations/index.ts +0 -0
  660. /package/src/{blueprints → skills}/database/operations/index.ts +0 -0
  661. /package/src/{blueprints → skills}/database/operations/load.ts +0 -0
  662. /package/src/{blueprints → skills}/database/operations/object-create.ts +0 -0
  663. /package/src/{blueprints → skills}/database/operations/object-delete.ts +0 -0
  664. /package/src/{blueprints → skills}/database/operations/object-update.ts +0 -0
  665. /package/src/{blueprints → skills}/database/operations/relation-delete.ts +0 -0
  666. /package/src/{blueprints → skills}/database/operations/schema-add.ts +0 -0
  667. /package/src/{blueprints → skills}/database/operations/tag-add.ts +0 -0
  668. /package/src/{blueprints → skills}/database/operations/tag-remove.ts +0 -0
  669. /package/src/{blueprints → skills}/delegation/operations/index.ts +0 -0
  670. /package/src/{blueprints → skills}/discord/operations/fetch-messages.test.ts +0 -0
  671. /package/src/{blueprints → skills}/discord/operations/index.ts +0 -0
  672. /package/src/{blueprints → skills}/github/index.ts +0 -0
  673. /package/src/{blueprints → skills}/github/operations/definitions.ts +0 -0
  674. /package/src/{blueprints → skills}/github/operations/fetch-prs.ts +0 -0
  675. /package/src/{blueprints → skills}/github/operations/index.ts +0 -0
  676. /package/src/{blueprints → skills}/linear/operations/definitions.ts +0 -0
  677. /package/src/{blueprints → skills}/linear/operations/index.ts +0 -0
  678. /package/src/{blueprints → skills}/linear/operations/linear.test.ts +0 -0
  679. /package/src/{blueprints → skills}/linear/operations/sync-issues.ts +0 -0
  680. /package/src/{blueprints → skills}/memory/operations/definitions.ts +0 -0
  681. /package/src/{blueprints → skills}/memory/operations/delete.ts +0 -0
  682. /package/src/{blueprints → skills}/memory/operations/index.ts +0 -0
  683. /package/src/{blueprints → skills}/memory/operations/query.ts +0 -0
  684. /package/src/{blueprints → skills}/memory/operations/save.ts +0 -0
  685. /package/src/{blueprints → skills}/planning/operations/update-tasks.md +0 -0
  686. /package/src/{blueprints → skills}/websearch/operations/definitions.ts +0 -0
  687. /package/src/{blueprints → skills}/websearch/operations/index.ts +0 -0
@@ -1,12 +1,13 @@
1
1
  import {
2
- AgentPrompt
3
- } from "./chunk-WTUY5UCA.mjs";
2
+ RunInstructions
3
+ } from "./chunk-VJ5QBYM5.mjs";
4
4
  import {
5
- Chat
6
- } from "./chunk-JZHXJBSM.mjs";
5
+ Chat,
6
+ PromptError
7
+ } from "./chunk-Z2HFOZXK.mjs";
7
8
  import "./chunk-J5LGTIGS.mjs";
8
9
 
9
- // src/functions/agent/prompt.ts
10
+ // src/operations/run-instructions.ts
10
11
  import * as Tool from "@effect/ai/Tool";
11
12
  import * as Toolkit from "@effect/ai/Toolkit";
12
13
  import * as Deferred from "effect/Deferred";
@@ -16,43 +17,37 @@ import * as Option from "effect/Option";
16
17
  import * as Schema from "effect/Schema";
17
18
  import { AiService, OpaqueToolkit } from "@dxos/ai";
18
19
  import { AiSession, getOperationFromTool, makeToolExecutionService, makeToolResolverFromOperations } from "@dxos/assistant";
19
- import { Template, Trace, Operation } from "@dxos/compute";
20
- import { Database, Feed, Obj, Ref } from "@dxos/echo";
20
+ import { Operation, Template, Trace } from "@dxos/compute";
21
+ import { Database, Feed, JsonSchema, Obj, Ref } from "@dxos/echo";
21
22
  import { EffectEx } from "@dxos/effect";
22
23
  import { invariant } from "@dxos/invariant";
24
+ import { DXN } from "@dxos/keys";
23
25
  import { log } from "@dxos/log";
24
26
  import { trim } from "@dxos/util";
25
-
26
- // src/errors.ts
27
- import { BaseError } from "@dxos/errors";
28
- var PromptError = class extends BaseError.extend("PromptError") {
29
- constructor(message, context) {
30
- super({
31
- message,
32
- context
33
- });
27
+ var __dxlog_file = "/__w/dxos/dxos/packages/core/compute/assistant-toolkit/src/operations/run-instructions.ts";
28
+ var DEFAULT_MODEL = DXN.make("com.anthropic.model.claude-opus-4-8.default");
29
+ var routineOutputSchema = (output) => {
30
+ if ("$id" in output && output.$id === "/schemas/unknown") {
31
+ return Schema.Any;
34
32
  }
33
+ return JsonSchema.toEffectSchema(output);
35
34
  };
36
-
37
- // src/functions/agent/prompt.ts
38
- var __dxlog_file = "/__w/dxos/dxos/packages/core/compute/assistant-toolkit/src/functions/agent/prompt.ts";
39
- var DEFAULT_MODEL = "ai.claude.model.claude-opus-4-8";
40
- var prompt_default = AgentPrompt.pipe(Operation.withHandler(Effect.fnUntraced(function* (data) {
35
+ var run_instructions_default = RunInstructions.pipe(Operation.withHandler(Effect.fnUntraced(function* (data) {
41
36
  log.info("processing input", {
42
37
  input: data.input
43
- }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 24, S: this });
38
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 32, S: this });
44
39
  const input = yield* Ref.isRef(data.input) ? Database.load(data.input).pipe(Effect.map(Obj.toJSON)) : Effect.succeed(data.input);
45
40
  yield* Database.flush();
46
- const prompt = yield* Database.load(data.prompt);
47
- yield* Trace.emitStatus(`Running ${prompt.id}`);
41
+ const instructions = yield* Database.load(data.instructions);
42
+ yield* Trace.emitStatus(`Running ${instructions.id}`);
48
43
  log.info("starting agent", {
49
- prompt: prompt.id,
44
+ instructions: instructions.id,
50
45
  input
51
- }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 31, S: this });
52
- const blueprintRefs = yield* Effect.filter(prompt.blueprints, (ref) => Database.load(ref).pipe(Effect.as(true), Effect.catchTag("EntityNotFoundError", () => Effect.succeed(false))));
53
- const objectRefs = yield* Effect.filter(prompt.context, (ref) => Database.load(ref).pipe(Effect.as(true), Effect.catchTag("EntityNotFoundError", () => Effect.succeed(false))));
54
- const promptInstructions = yield* Database.load(prompt.instructions);
55
- let promptText = Template.process(promptInstructions.content, input);
46
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 39, S: this });
47
+ const skillRefs = yield* Effect.filter(instructions.skills, (ref) => Database.load(ref).pipe(Effect.as(true), Effect.catchTag("EntityNotFoundError", () => Effect.succeed(false))));
48
+ const objectRefs = yield* Effect.filter(instructions.objects ?? [], (ref) => Database.load(ref).pipe(Effect.as(true), Effect.catchTag("EntityNotFoundError", () => Effect.succeed(false))));
49
+ const textDoc = yield* Database.load(instructions.text);
50
+ let promptText = Template.process(textDoc.content, input);
56
51
  if (input !== void 0) {
57
52
  promptText += `
58
53
  <input>${JSON.stringify(input)}</input>`;
@@ -70,18 +65,18 @@ var prompt_default = AgentPrompt.pipe(Operation.withHandler(Effect.fnUntraced(fu
70
65
  systemText += `
71
66
  ${data.systemInstructions}`;
72
67
  }
73
- const modelLayer = AiService.model(data.model ?? DEFAULT_MODEL);
68
+ const modelLayer = AiService.model(DXN.getName(data.model ?? DEFAULT_MODEL));
74
69
  let feed;
75
70
  if (data.chat) {
76
71
  const chat = yield* Database.load(data.chat);
77
- invariant(Obj.instanceOf(Chat, chat), "Expected Chat object.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 62, S: this, A: ["Obj.instanceOf(Chat.Chat, chat)", "'Expected Chat object.'"] });
72
+ invariant(Obj.instanceOf(Chat, chat), "Expected Chat object.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 71, S: this, A: ["Obj.instanceOf(Chat.Chat, chat)", "'Expected Chat object.'"] });
78
73
  feed = yield* Database.load(chat.feed);
79
74
  } else {
80
75
  feed = yield* Database.add(Feed.make());
81
76
  }
82
77
  const resultSink = yield* Deferred.make();
83
78
  const promptToolkit = makePromptAgentToolkit({
84
- output: Schema.Any,
79
+ output: routineOutputSchema(instructions.output),
85
80
  resultSink
86
81
  });
87
82
  const runtime2 = yield* Effect.runtime();
@@ -90,8 +85,11 @@ ${data.systemInstructions}`;
90
85
  runtime: runtime2
91
86
  }));
92
87
  yield* Effect.promise(() => session.context.bind({
93
- blueprints: blueprintRefs,
94
- objects: objectRefs
88
+ skills: skillRefs,
89
+ objects: data.chat ? [
90
+ ...objectRefs,
91
+ data.chat
92
+ ] : objectRefs
95
93
  }));
96
94
  yield* session.createRequest({
97
95
  prompt: promptText,
@@ -117,7 +115,7 @@ ${data.systemInstructions}`;
117
115
  var makePromptAgentToolkit = (options) => {
118
116
  class PromptAgentToolkit extends Toolkit.make(Tool.make("completeJob", {
119
117
  parameters: {
120
- success: Schema.optional(Schema.Any),
118
+ success: Schema.optional(options.output),
121
119
  failure: Schema.optional(Schema.Struct({
122
120
  message: Schema.String.annotations({
123
121
  description: "Short message describing the error."
@@ -150,18 +148,18 @@ var ToolExecutionService = ({ feed }) => Layer.unwrapEffect(Effect.gen(function*
150
148
  log("invoking operation", {
151
149
  operationDef,
152
150
  input
153
- }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 135, S: this });
151
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 147, S: this });
154
152
  const result = yield* operationInvoker.invoke(operationDef, input, {
155
153
  conversation: Obj.getURI(feed)
156
154
  }).pipe(Effect.orDie);
157
155
  log("result", {
158
156
  result
159
- }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 142, S: this });
157
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 154, S: this });
160
158
  return result;
161
159
  })
162
160
  });
163
161
  }));
164
162
  export {
165
- prompt_default as default
163
+ run_instructions_default as default
166
164
  };
167
- //# sourceMappingURL=prompt-37GJGKNM.mjs.map
165
+ //# sourceMappingURL=run-instructions-72ASH5EZ.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/operations/run-instructions.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Tool from '@effect/ai/Tool';\nimport * as Toolkit from '@effect/ai/Toolkit';\nimport * as Deferred from 'effect/Deferred';\nimport * as Effect from 'effect/Effect';\nimport * as Layer from 'effect/Layer';\nimport * as Option from 'effect/Option';\nimport * as Schema from 'effect/Schema';\n\nimport { AiService, OpaqueToolkit } from '@dxos/ai';\nimport {\n AiSession,\n getOperationFromTool,\n makeToolExecutionService,\n makeToolResolverFromOperations,\n} from '@dxos/assistant';\nimport { Operation, Template, Trace } from '@dxos/compute';\nimport { Database, Feed, JsonSchema, Obj, Ref } from '@dxos/echo';\nimport { EffectEx } from '@dxos/effect';\nimport { invariant } from '@dxos/invariant';\nimport { DXN } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport { trim } from '@dxos/util';\n\nimport { PromptError } from '../errors';\nimport * as Chat from '../types/Chat';\nimport { RunInstructions } from './definitions';\n\nconst DEFAULT_MODEL: DXN.DXN = DXN.make('com.anthropic.model.claude-opus-4-8.default');\n\nconst routineOutputSchema = (output: JsonSchema.JsonSchema): Schema.Schema.All => {\n // Routines default to Void output; completeJob still needs to accept arbitrary success payloads.\n if ('$id' in output && output.$id === '/schemas/unknown') {\n return Schema.Any;\n }\n return JsonSchema.toEffectSchema(output);\n};\n\nexport default RunInstructions.pipe(\n Operation.withHandler(\n Effect.fnUntraced(\n function* (data) {\n log.info('processing input', { input: data.input });\n\n const input = yield* Ref.isRef(data.input)\n ? Database.load(data.input).pipe(Effect.map(Obj.toJSON))\n : Effect.succeed(data.input);\n\n yield* Database.flush();\n const instructions = yield* Database.load(data.instructions);\n yield* Trace.emitStatus(`Running ${instructions.id}`);\n\n log.info('starting agent', { instructions: instructions.id, input });\n\n // Bind the instructions' own refs, dropping any that no longer resolve. The refs must be\n // bound as-is (not re-wrapped via `Ref.make`) to preserve their registry DXN: bindings\n // are persisted to the conversation feed, and registry-only skills have no space-DB\n // identity, so an EID ref would not resolve when the binding is re-read.\n const skillRefs = yield* Effect.filter(instructions.skills, (ref) =>\n Database.load(ref).pipe(\n Effect.as(true),\n Effect.catchTag('EntityNotFoundError', () => Effect.succeed(false)),\n ),\n );\n\n // Bind the instructions' context objects (sibling of skills), dropping any that no longer resolve.\n const objectRefs = yield* Effect.filter(instructions.objects ?? [], (ref) =>\n Database.load(ref).pipe(\n Effect.as(true),\n Effect.catchTag('EntityNotFoundError', () => Effect.succeed(false)),\n ),\n );\n\n const textDoc = yield* Database.load(instructions.text);\n let promptText = Template.process(textDoc.content, input);\n\n if (input !== undefined) {\n promptText += `\\n<input>${JSON.stringify(input)}</input>`;\n }\n\n let systemText = trim`\n You are an agent running in the non-interactive mode.\n The user is unable to see what you are doing, and cannot answer any questions.\n Do not ask questions.\n Complete the task before you, and at the end call [completeJob] with the output.\n If you are unable to complete the task, call [completeJob] with the failure reason.\n If no output is required, call [completeJob] with an empty object: {}\n Do not stop until you call [completeJob].\n `;\n if (data.systemInstructions) {\n systemText += `\\n${data.systemInstructions}`;\n }\n\n const modelLayer = AiService.model(DXN.getName(data.model ?? DEFAULT_MODEL));\n\n let feed: Feed.Feed;\n if (data.chat) {\n const chat = yield* Database.load(data.chat);\n invariant(Obj.instanceOf(Chat.Chat, chat), 'Expected Chat object.');\n feed = yield* Database.load(chat.feed);\n } else {\n feed = yield* Database.add(Feed.make());\n }\n\n const resultSink = yield* Deferred.make<unknown, PromptError>();\n const promptToolkit = makePromptAgentToolkit({\n output: routineOutputSchema(instructions.output),\n resultSink,\n });\n\n const runtime = yield* Effect.runtime<Database.Service>();\n const session = yield* EffectEx.acquireReleaseResource(() => new AiSession.Session({ feed, runtime }));\n\n yield* Effect.promise(() =>\n session.context.bind({\n skills: skillRefs,\n objects: data.chat ? [...objectRefs, data.chat] : objectRefs,\n }),\n );\n\n yield* session\n .createRequest({\n prompt: promptText,\n system: systemText,\n toolkit: promptToolkit,\n })\n .pipe(\n Effect.provide(\n Layer.mergeAll(modelLayer, ToolExecutionService({ feed }), makeToolResolverFromOperations()),\n ),\n );\n\n return yield* Deferred.poll(resultSink).pipe(\n Effect.flatten,\n Effect.flatten,\n Effect.catchTag('NoSuchElementException', () =>\n Effect.gen(function* () {\n yield* session\n .createRequest({\n prompt: 'You must signal task completion by calling [completeJob] with the output or failure reason.',\n system: systemText,\n toolkit: promptToolkit,\n })\n .pipe(\n Effect.provide(\n Layer.mergeAll(modelLayer, ToolExecutionService({ feed }), makeToolResolverFromOperations()),\n ),\n );\n\n return yield* Deferred.poll(resultSink).pipe(\n Effect.flatten,\n Effect.flatten,\n Effect.catchTag('NoSuchElementException', () =>\n Effect.fail(new PromptError('Agent did not signal task completion.', {})),\n ),\n );\n }),\n ),\n );\n },\n Effect.tapBoth({\n onSuccess: () => Database.flush(),\n onFailure: () => Database.flush(),\n }),\n Effect.scoped,\n ),\n ),\n Operation.opaqueHandler,\n);\n\nconst makePromptAgentToolkit = (options: {\n output: Schema.Schema.All;\n resultSink: Deferred.Deferred<unknown, PromptError>;\n}) => {\n class PromptAgentToolkit extends Toolkit.make(\n Tool.make('completeJob', {\n parameters: {\n success: Schema.optional(options.output),\n failure: Schema.optional(\n Schema.Struct({\n message: Schema.String.annotations({\n description: 'Short message describing the error.',\n }),\n description: Schema.optional(Schema.String).annotations({\n description: 'Optional longer message describing in detail what went wrong',\n }),\n }),\n ),\n },\n }),\n ) {}\n const layer = PromptAgentToolkit.toLayer({\n completeJob: Effect.fnUntraced(function* (result) {\n if (result.failure) {\n yield* Deferred.fail(\n options.resultSink,\n new PromptError(result.failure.message, {\n description: result.failure.description,\n }),\n );\n } else {\n yield* Deferred.succeed(options.resultSink, result.success);\n }\n }),\n });\n\n return OpaqueToolkit.make(PromptAgentToolkit, layer);\n};\n\ninterface ToolExecutionServiceOptions {\n feed: Feed.Feed;\n}\n\nconst ToolExecutionService = ({ feed }: ToolExecutionServiceOptions) =>\n Layer.unwrapEffect(\n Effect.gen(function* () {\n const operationInvoker = yield* Operation.Service;\n return makeToolExecutionService({\n invoke: (tool, input) =>\n Effect.gen(function* () {\n const operationDef = getOperationFromTool(tool).pipe(Option.getOrThrow);\n log('invoking operation', { operationDef, input });\n const result = yield* operationInvoker\n .invoke(operationDef, input, {\n conversation: Obj.getURI(feed),\n })\n .pipe(Effect.orDie);\n log('result', { result });\n return result;\n }),\n });\n }),\n );\n"],
5
+ "mappings": "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",
6
+ "names": ["Tool", "Toolkit", "Deferred", "Effect", "Layer", "Option", "Schema", "AiService", "OpaqueToolkit", "AiSession", "getOperationFromTool", "makeToolExecutionService", "makeToolResolverFromOperations", "Operation", "Template", "Trace", "Database", "Feed", "JsonSchema", "Obj", "Ref", "EffectEx", "invariant", "DXN", "log", "trim", "DEFAULT_MODEL", "output", "toEffectSchema", "RunInstructions", "Operation", "data", "input", "Database", "instructions", "Trace", "emitStatus", "log", "info", "objectRefs", "Effect", "load", "catchTag", "succeed", "promptText", "Template", "textDoc", "undefined", "JSON", "stringify", "systemText", "trim", "modelLayer", "AiService", "invariant", "Obj", "feed", "chat", "add", "Feed", "make", "resultSink", "Deferred", "routineOutputSchema", "runtime", "objects", "session", "prompt", "system", "toolkit", "pipe", "makeToolResolverFromOperations", "createRequest", "tapBoth", "onSuccess", "onFailure", "scoped", "opaqueHandler", "makePromptAgentToolkit", "options", "PromptAgentToolkit", "Toolkit", "failure", "Schema", "String", "annotations", "description", "result", "ToolExecutionService", "unwrapEffect", "makeToolExecutionService", "invoke", "operationDef", "conversation", "getURI", "orDie"]
7
+ }
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  SaveMemory
3
- } from "./chunk-DLVIJSH6.mjs";
3
+ } from "./chunk-LBA5UOLF.mjs";
4
4
  import {
5
5
  Memory
6
- } from "./chunk-SYUTQPSB.mjs";
6
+ } from "./chunk-EPQCDGIV.mjs";
7
7
  import "./chunk-J5LGTIGS.mjs";
8
8
 
9
- // src/blueprints/memory/operations/save.ts
9
+ // src/skills/memory/operations/save.ts
10
10
  import * as Effect from "effect/Effect";
11
11
  import { Operation } from "@dxos/compute";
12
12
  import { Database, Entity, Obj } from "@dxos/echo";
@@ -20,4 +20,4 @@ var save_default = SaveMemory.pipe(Operation.withHandler(Effect.fn(function* ({
20
20
  export {
21
21
  save_default as default
22
22
  };
23
- //# sourceMappingURL=save-HQY35ACW.mjs.map
23
+ //# sourceMappingURL=save-UYVRA4RS.mjs.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/blueprints/memory/operations/save.ts"],
3
+ "sources": ["../../../src/skills/memory/operations/save.ts"],
4
4
  "sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Operation } from '@dxos/compute';\nimport { Database, Entity, Obj } from '@dxos/echo';\n\nimport { Memory } from '../../../types/Memory';\nimport { SaveMemory } from './definitions';\n\nexport default SaveMemory.pipe(\n Operation.withHandler(\n Effect.fn(function* ({ title, content }) {\n const memory = yield* Database.add(Obj.make(Memory, { title, content }));\n return Entity.toJSON(memory);\n }),\n ),\n);\n"],
5
5
  "mappings": ";;;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,iBAAiB;AAC1B,SAASC,UAAUC,QAAQC,WAAW;AAKtC,IAAA,eAAeC,WAAWC,KACxBC,UAAUC,YACDC,UAAG,WAAW,EAAEC,OAAOC,QAAO,GAAE;AACrC,QAAMC,SAAS,OAAOC,SAASC,IAAIC,IAAIC,KAAKC,QAAQ;IAAEP;IAAOC;EAAQ,CAAA,CAAA;AACrE,SAAOO,OAAOC,OAAOP,MAAAA;AACvB,CAAA,CAAA,CAAA;",
6
6
  "names": ["Effect", "Operation", "Database", "Entity", "Obj", "SaveMemory", "pipe", "Operation", "withHandler", "fn", "title", "content", "memory", "Database", "add", "Obj", "make", "Memory", "Entity", "toJSON"]
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  SchemaAdd
3
- } from "./chunk-4LFE5PQ3.mjs";
3
+ } from "./chunk-YQSQRSXG.mjs";
4
4
  import "./chunk-J5LGTIGS.mjs";
5
5
 
6
- // src/blueprints/database/operations/schema-add.ts
6
+ // src/skills/database/operations/schema-add.ts
7
7
  import * as Effect from "effect/Effect";
8
8
  import { Operation } from "@dxos/compute";
9
9
  import { Database, Type } from "@dxos/echo";
@@ -22,4 +22,4 @@ var schema_add_default = SchemaAdd.pipe(Operation.withHandler(Effect.fn(function
22
22
  export {
23
23
  schema_add_default as default
24
24
  };
25
- //# sourceMappingURL=schema-add-2AWYVGOC.mjs.map
25
+ //# sourceMappingURL=schema-add-5NOK2RWE.mjs.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/blueprints/database/operations/schema-add.ts"],
3
+ "sources": ["../../../src/skills/database/operations/schema-add.ts"],
4
4
  "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Operation } from '@dxos/compute';\nimport { Database, Type } from '@dxos/echo';\n\nimport { SchemaAdd } from './definitions';\n\nexport default SchemaAdd.pipe(\n Operation.withHandler(\n Effect.fn(function* ({ name, typename, jsonSchema }) {\n const schema = yield* Database.addType(Type.makeObjectFromJsonSchema({ typename, version: '0.1.0', jsonSchema }));\n if (name) {\n Type.update(schema, (draft) => {\n draft.name = name;\n });\n }\n }),\n ),\n);\n"],
5
5
  "mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,iBAAiB;AAC1B,SAASC,UAAUC,YAAY;AAI/B,IAAA,qBAAeC,UAAUC,KACvBC,UAAUC,YACDC,UAAG,WAAW,EAAEC,MAAMC,UAAUC,WAAU,GAAE;AACjD,QAAMC,SAAS,OAAOC,SAASC,QAAQC,KAAKC,yBAAyB;IAAEN;IAAUO,SAAS;IAASN;EAAW,CAAA,CAAA;AAC9G,MAAIF,MAAM;AACRM,SAAKG,OAAON,QAAQ,CAACO,UAAAA;AACnBA,YAAMV,OAAOA;IACf,CAAA;EACF;AACF,CAAA,CAAA,CAAA;",
6
6
  "names": ["Effect", "Operation", "Database", "Type", "SchemaAdd", "pipe", "Operation", "withHandler", "fn", "name", "typename", "jsonSchema", "schema", "Database", "addType", "Type", "makeObjectFromJsonSchema", "version", "update", "draft"]
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  SchemaList
3
- } from "./chunk-4LFE5PQ3.mjs";
3
+ } from "./chunk-YQSQRSXG.mjs";
4
4
  import "./chunk-J5LGTIGS.mjs";
5
5
 
6
- // src/blueprints/database/operations/schema-list.ts
6
+ // src/skills/database/operations/schema-list.ts
7
7
  import * as Effect from "effect/Effect";
8
- import { Routine, Blueprint, Operation } from "@dxos/compute";
8
+ import { Instructions, Operation, Skill } from "@dxos/compute";
9
9
  import { Database, Feed, Filter, JsonSchema, Query, Scope, Type, View } from "@dxos/echo";
10
10
  var EXCLUDED_TYPES = [
11
11
  Type.Type,
12
12
  View.View,
13
- Routine.Routine,
14
- Blueprint.Blueprint,
13
+ Instructions.Instructions,
14
+ Skill.Skill,
15
15
  Feed.Feed
16
16
  ];
17
17
  var excludedTypenames = EXCLUDED_TYPES.map((type) => Type.getTypename(type));
@@ -34,4 +34,4 @@ var schema_list_default = SchemaList.pipe(Operation.withHandler(Effect.fn(functi
34
34
  export {
35
35
  schema_list_default as default
36
36
  };
37
- //# sourceMappingURL=schema-list-74CQW2N3.mjs.map
37
+ //# sourceMappingURL=schema-list-BZUR5KMX.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/skills/database/operations/schema-list.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Instructions, Operation, Skill } from '@dxos/compute';\nimport { Database, Feed, Filter, JsonSchema, Query, Scope, Type, View } from '@dxos/echo';\n\nimport { SchemaList } from './definitions';\n\n// TODO(dmaretskyi): This is a balance between not filling the agent's context with too many types and not excluding important types.\nconst EXCLUDED_TYPES = [Type.Type, View.View, Instructions.Instructions, Skill.Skill, Feed.Feed];\nconst excludedTypenames = EXCLUDED_TYPES.map((type) => Type.getTypename(type));\n\nexport default SchemaList.pipe(\n Operation.withHandler(\n Effect.fn(function* () {\n const types = yield* Database.query(Query.select(Filter.type(Type.Type)).from(Scope.space(), Scope.registry()))\n .run;\n return [...types]\n .filter((schema) => !excludedTypenames.includes(Type.getTypename(schema)))\n .sort((a, b) => {\n const aKey = `${Type.getTypename(a)}:${Type.getVersion(a)}`;\n const bKey = `${Type.getTypename(b)}:${Type.getVersion(b)}`;\n return aKey.localeCompare(bKey);\n })\n .map((schema) => {\n return {\n typename: Type.getTypename(schema),\n jsonSchema: JsonSchema.toJsonSchema(schema),\n kind: Type.isRelation(schema) ? 'relation' : 'record',\n };\n });\n }),\n ),\n);\n"],
5
+ "mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,cAAcC,WAAWC,aAAa;AAC/C,SAASC,UAAUC,MAAMC,QAAQC,YAAYC,OAAOC,OAAOC,MAAMC,YAAY;AAK7E,IAAMC,iBAAiB;EAACC,KAAKA;EAAMC,KAAKA;EAAMC,aAAaA;EAAcC,MAAMA;EAAOC,KAAKA;;AAC3F,IAAMC,oBAAoBN,eAAeO,IAAI,CAACC,SAASP,KAAKQ,YAAYD,IAAAA,CAAAA;AAExE,IAAA,sBAAeE,WAAWC,KACxBC,UAAUC,YACDC,UAAG,aAAA;AACR,QAAMC,QAAQ,OAAOC,SAASC,MAAMC,MAAMC,OAAOC,OAAOZ,KAAKP,KAAKA,IAAI,CAAA,EAAGoB,KAAKC,MAAMC,MAAK,GAAID,MAAME,SAAQ,CAAA,CAAA,EACxGC;AACH,SAAO;OAAIV;IACRW,OAAO,CAACC,WAAW,CAACrB,kBAAkBsB,SAAS3B,KAAKQ,YAAYkB,MAAAA,CAAAA,CAAAA,EAChEE,KAAK,CAACC,GAAGC,MAAAA;AACR,UAAMC,OAAO,GAAG/B,KAAKQ,YAAYqB,CAAAA,CAAAA,IAAM7B,KAAKgC,WAAWH,CAAAA,CAAAA;AACvD,UAAMI,OAAO,GAAGjC,KAAKQ,YAAYsB,CAAAA,CAAAA,IAAM9B,KAAKgC,WAAWF,CAAAA,CAAAA;AACvD,WAAOC,KAAKG,cAAcD,IAAAA;EAC5B,CAAA,EACC3B,IAAI,CAACoB,WAAAA;AACJ,WAAO;MACLS,UAAUnC,KAAKQ,YAAYkB,MAAAA;MAC3BU,YAAYC,WAAWC,aAAaZ,MAAAA;MACpCa,MAAMvC,KAAKwC,WAAWd,MAAAA,IAAU,aAAa;IAC/C;EACF,CAAA;AACJ,CAAA,CAAA,CAAA;",
6
+ "names": ["Effect", "Instructions", "Operation", "Skill", "Database", "Feed", "Filter", "JsonSchema", "Query", "Scope", "Type", "View", "EXCLUDED_TYPES", "Type", "View", "Instructions", "Skill", "Feed", "excludedTypenames", "map", "type", "getTypename", "SchemaList", "pipe", "Operation", "withHandler", "fn", "types", "Database", "query", "Query", "select", "Filter", "from", "Scope", "space", "registry", "run", "filter", "schema", "includes", "sort", "a", "b", "aKey", "getVersion", "bKey", "localeCompare", "typename", "jsonSchema", "JsonSchema", "toJsonSchema", "kind", "isRelation"]
7
+ }
@@ -0,0 +1,65 @@
1
+ import {
2
+ SetAlarm
3
+ } from "./chunk-JBTXZQ5G.mjs";
4
+ import "./chunk-J5LGTIGS.mjs";
5
+
6
+ // src/skills/alarm/operations/set-alarm.ts
7
+ import * as Clock from "effect/Clock";
8
+ import * as DateTime from "effect/DateTime";
9
+ import * as Effect from "effect/Effect";
10
+ import * as Either2 from "effect/Either";
11
+ import { Harness } from "@dxos/assistant";
12
+ import { Operation } from "@dxos/compute";
13
+
14
+ // src/skills/alarm/operations/resolve-wake-at.ts
15
+ import * as Duration from "effect/Duration";
16
+ import * as Either from "effect/Either";
17
+ import * as Option from "effect/Option";
18
+ var DURATION_PATTERN = /^(\d+(?:\.\d+)?)\s+(\S+)$/;
19
+ var resolveWakeAt = (input, now) => {
20
+ const { in: inDuration, at } = input;
21
+ if (inDuration != null && at != null) {
22
+ return Either.left('Specify either "in" or "at", not both.');
23
+ }
24
+ if (at != null) {
25
+ const timestamp = new Date(at).getTime();
26
+ if (Number.isNaN(timestamp)) {
27
+ return Either.left(`Invalid "at" timestamp: "${at}". Provide an ISO-8601 date-time string.`);
28
+ }
29
+ return Either.right(timestamp);
30
+ }
31
+ if (inDuration != null) {
32
+ const match = inDuration.trim().match(DURATION_PATTERN);
33
+ if (!match) {
34
+ return Either.left(`Invalid "in" duration: "${inDuration}". Use a value like "30 seconds" or "5 minutes".`);
35
+ }
36
+ const duration = Duration.decodeUnknown(inDuration.trim());
37
+ if (Option.isNone(duration)) {
38
+ return Either.left(`Invalid "in" duration: "${inDuration}". Use a value like "30 seconds" or "5 minutes".`);
39
+ }
40
+ return Either.right(now + Duration.toMillis(duration.value));
41
+ }
42
+ return Either.left('Specify either "in" (a duration from now) or "at" (an absolute time).');
43
+ };
44
+
45
+ // src/skills/alarm/operations/set-alarm.ts
46
+ var set_alarm_default = SetAlarm.pipe(Operation.withHandler(Effect.fn(function* ({ in: inDuration, at, message }) {
47
+ const now = yield* Clock.currentTimeMillis;
48
+ const resolved = resolveWakeAt({
49
+ in: inDuration,
50
+ at
51
+ }, now);
52
+ if (Either2.isLeft(resolved)) {
53
+ return resolved.left;
54
+ }
55
+ const wakeAt = DateTime.unsafeMake(resolved.right);
56
+ yield* Harness.setAlarm({
57
+ at: wakeAt,
58
+ message: message ?? null
59
+ });
60
+ return `Alarm scheduled to wake you at ${new Date(resolved.right).toISOString()}.`;
61
+ })));
62
+ export {
63
+ set_alarm_default as default
64
+ };
65
+ //# sourceMappingURL=set-alarm-BD3NEYSU.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/skills/alarm/operations/set-alarm.ts", "../../../src/skills/alarm/operations/resolve-wake-at.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Clock from 'effect/Clock';\nimport * as DateTime from 'effect/DateTime';\nimport * as Effect from 'effect/Effect';\nimport * as Either from 'effect/Either';\n\nimport { Harness } from '@dxos/assistant';\nimport { Operation } from '@dxos/compute';\n\nimport { SetAlarm } from './definitions';\nimport { resolveWakeAt } from './resolve-wake-at';\n\n/**\n * Schedules a self-wake on the owning host via {@link Harness.setAlarm}. The host delivers the\n * (optional) reminder message when the alarm fires.\n */\nexport default SetAlarm.pipe(\n Operation.withHandler(\n Effect.fn(function* ({ in: inDuration, at, message }) {\n const now = yield* Clock.currentTimeMillis;\n const resolved = resolveWakeAt({ in: inDuration, at }, now);\n if (Either.isLeft(resolved)) {\n return resolved.left;\n }\n const wakeAt = DateTime.unsafeMake(resolved.right);\n yield* Harness.setAlarm({ at: wakeAt, message: message ?? null });\n return `Alarm scheduled to wake you at ${new Date(resolved.right).toISOString()}.`;\n }),\n ),\n);\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Duration from 'effect/Duration';\nimport * as Either from 'effect/Either';\nimport * as Option from 'effect/Option';\n\ninterface ResolveAlarmInput {\n /** Duration from now, e.g. `'30 seconds'`, `'5 minutes'`, `'1 hour'`. */\n in?: string;\n /** Absolute ISO-8601 timestamp, e.g. `'2026-06-04T18:00:00.000Z'`. */\n at?: string;\n}\n\nconst DURATION_PATTERN = /^(\\d+(?:\\.\\d+)?)\\s+(\\S+)$/;\n\n/**\n * Resolves an alarm specification into an absolute UNIX timestamp (ms).\n * Returns a {@link Either.left} with a human-readable message describing invalid input.\n */\nexport const resolveWakeAt = (input: ResolveAlarmInput, now: number): Either.Either<number, string> => {\n const { in: inDuration, at } = input;\n if (inDuration != null && at != null) {\n return Either.left('Specify either \"in\" or \"at\", not both.');\n }\n if (at != null) {\n const timestamp = new Date(at).getTime();\n if (Number.isNaN(timestamp)) {\n return Either.left(`Invalid \"at\" timestamp: \"${at}\". Provide an ISO-8601 date-time string.`);\n }\n return Either.right(timestamp);\n }\n if (inDuration != null) {\n const match = inDuration.trim().match(DURATION_PATTERN);\n if (!match) {\n return Either.left(`Invalid \"in\" duration: \"${inDuration}\". Use a value like \"30 seconds\" or \"5 minutes\".`);\n }\n const duration = Duration.decodeUnknown(inDuration.trim());\n if (Option.isNone(duration)) {\n return Either.left(`Invalid \"in\" duration: \"${inDuration}\". Use a value like \"30 seconds\" or \"5 minutes\".`);\n }\n return Either.right(now + Duration.toMillis(duration.value));\n }\n return Either.left('Specify either \"in\" (a duration from now) or \"at\" (an absolute time).');\n};\n"],
5
+ "mappings": ";;;;;;AAIA,YAAYA,WAAW;AACvB,YAAYC,cAAc;AAC1B,YAAYC,YAAY;AACxB,YAAYC,aAAY;AAExB,SAASC,eAAe;AACxB,SAASC,iBAAiB;;;ACN1B,YAAYC,cAAc;AAC1B,YAAYC,YAAY;AACxB,YAAYC,YAAY;AASxB,IAAMC,mBAAmB;AAMlB,IAAMC,gBAAgB,CAACC,OAA0BC,QAAAA;AACtD,QAAM,EAAEC,IAAIC,YAAYC,GAAE,IAAKJ;AAC/B,MAAIG,cAAc,QAAQC,MAAM,MAAM;AACpC,WAAcC,YAAK,wCAAA;EACrB;AACA,MAAID,MAAM,MAAM;AACd,UAAME,YAAY,IAAIC,KAAKH,EAAAA,EAAII,QAAO;AACtC,QAAIC,OAAOC,MAAMJ,SAAAA,GAAY;AAC3B,aAAcD,YAAK,4BAA4BD,EAAAA,0CAA4C;IAC7F;AACA,WAAcO,aAAML,SAAAA;EACtB;AACA,MAAIH,cAAc,MAAM;AACtB,UAAMS,QAAQT,WAAWU,KAAI,EAAGD,MAAMd,gBAAAA;AACtC,QAAI,CAACc,OAAO;AACV,aAAcP,YAAK,2BAA2BF,UAAAA,kDAA4D;IAC5G;AACA,UAAMW,WAAoBC,uBAAcZ,WAAWU,KAAI,CAAA;AACvD,QAAWG,cAAOF,QAAAA,GAAW;AAC3B,aAAcT,YAAK,2BAA2BF,UAAAA,kDAA4D;IAC5G;AACA,WAAcQ,aAAMV,MAAegB,kBAASH,SAASI,KAAK,CAAA;EAC5D;AACA,SAAcb,YAAK,uEAAA;AACrB;;;AD1BA,IAAA,oBAAec,SAASC,KACtBC,UAAUC,YACDC,UAAG,WAAW,EAAEC,IAAIC,YAAYC,IAAIC,QAAO,GAAE;AAClD,QAAMC,MAAM,OAAaC;AACzB,QAAMC,WAAWC,cAAc;IAAEP,IAAIC;IAAYC;EAAG,GAAGE,GAAAA;AACvD,MAAWI,eAAOF,QAAAA,GAAW;AAC3B,WAAOA,SAASG;EAClB;AACA,QAAMC,SAAkBC,oBAAWL,SAASM,KAAK;AACjD,SAAOC,QAAQC,SAAS;IAAEZ,IAAIQ;IAAQP,SAASA,WAAW;EAAK,CAAA;AAC/D,SAAO,kCAAkC,IAAIY,KAAKT,SAASM,KAAK,EAAEI,YAAW,CAAA;AAC/E,CAAA,CAAA,CAAA;",
6
+ "names": ["Clock", "DateTime", "Effect", "Either", "Harness", "Operation", "Duration", "Either", "Option", "DURATION_PATTERN", "resolveWakeAt", "input", "now", "in", "inDuration", "at", "left", "timestamp", "Date", "getTime", "Number", "isNaN", "right", "match", "trim", "duration", "decodeUnknown", "isNone", "toMillis", "value", "SetAlarm", "pipe", "Operation", "withHandler", "fn", "in", "inDuration", "at", "message", "now", "currentTimeMillis", "resolved", "resolveWakeAt", "isLeft", "left", "wakeAt", "unsafeMake", "right", "Harness", "setAlarm", "Date", "toISOString"]
7
+ }
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  SyncIssues,
3
3
  syncObjects
4
- } from "./chunk-24L572PJ.mjs";
4
+ } from "./chunk-LL3MOQUZ.mjs";
5
5
  import "./chunk-J5LGTIGS.mjs";
6
6
 
7
- // src/blueprints/linear/operations/sync-issues.ts
7
+ // src/skills/linear/operations/sync-issues.ts
8
8
  import * as FetchHttpClient from "@effect/platform/FetchHttpClient";
9
9
  import * as HttpClient from "@effect/platform/HttpClient";
10
10
  import * as Array from "effect/Array";
@@ -23,8 +23,8 @@ var graphqlRequestBody = (query, variables = {}) => HttpBody.json({
23
23
  variables
24
24
  });
25
25
 
26
- // src/blueprints/linear/operations/sync-issues.ts
27
- var __dxlog_file = "/__w/dxos/dxos/packages/core/compute/assistant-toolkit/src/blueprints/linear/operations/sync-issues.ts";
26
+ // src/skills/linear/operations/sync-issues.ts
27
+ var __dxlog_file = "/__w/dxos/dxos/packages/core/compute/assistant-toolkit/src/skills/linear/operations/sync-issues.ts";
28
28
  var queryIssues = `
29
29
  query Issues($teamId: String!, $after: DateTimeOrDuration!) {
30
30
  team(id: $teamId) {
@@ -163,4 +163,4 @@ export {
163
163
  LINEAR_UPDATED_AT_KEY,
164
164
  sync_issues_default as default
165
165
  };
166
- //# sourceMappingURL=sync-issues-VUX4OWPO.mjs.map
166
+ //# sourceMappingURL=sync-issues-O76MCMD3.mjs.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/blueprints/linear/operations/sync-issues.ts", "../../../src/util/graphql.ts"],
3
+ "sources": ["../../../src/skills/linear/operations/sync-issues.ts", "../../../src/util/graphql.ts"],
4
4
  "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as FetchHttpClient from '@effect/platform/FetchHttpClient';\nimport * as HttpClient from '@effect/platform/HttpClient';\nimport * as Array from 'effect/Array';\nimport * as Effect from 'effect/Effect';\nimport * as Function from 'effect/Function';\n\nimport { Credential, Operation } from '@dxos/compute';\nimport { Database, Filter, Obj, Query, Ref, type Type } from '@dxos/echo';\nimport { withAuthorization } from '@dxos/functions';\nimport { log } from '@dxos/log';\nimport { Person, Pipeline, Task } from '@dxos/types';\n\nimport { syncObjects } from '../../../sync';\nimport { graphqlRequestBody } from '../../../util';\nimport { SyncIssues } from './definitions';\n\nconst queryIssues = `\nquery Issues($teamId: String!, $after: DateTimeOrDuration!) {\n team(id: $teamId) {\n id\n name\n\n\n issues(last: 150, orderBy: updatedAt, filter: {\n updatedAt: { gt: $after }\n }) {\n edges {\n node {\n id\n title\n createdAt\n updatedAt\n description\n assignee { id, name }\n state {\n name\n }\n project {\n id\n name\n }\n }\n cursor\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n }\n}\n`;\n\ntype LinearIssue = {\n id: string;\n title: string;\n createdAt: string;\n updatedAt: string;\n description: string;\n assignee: LinearPerson;\n state: { name: string };\n project: { id: string; name: string };\n};\n\ntype LinearPerson = {\n id: string;\n name: string;\n};\n\nexport const LINEAR_ID_KEY = 'linear.app/id';\nexport const LINEAR_TEAM_ID_KEY = 'linear.app/teamId';\nexport const LINEAR_UPDATED_AT_KEY = 'linear.app/updatedAt';\n\nexport default SyncIssues.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* ({ team }) {\n const credential = yield* Credential.CredentialsService.getCredential({ service: 'linear.app' });\n const client = yield* HttpClient.HttpClient.pipe(Effect.map(withAuthorization(credential.apiKey!)));\n\n const after = yield* getLatestUpdateTimestamp(team, Task.Task);\n log.info('will fetch', { after });\n\n const response = yield* client.post('https://api.linear.app/graphql', {\n body: yield* graphqlRequestBody(queryIssues, {\n teamId: team,\n after,\n }),\n });\n const json: any = yield* response.json;\n const tasks = (json.data.team.issues.edges as any[]).map((edge: any) =>\n mapLinearIssue(edge.node as LinearIssue, { teamId: team }),\n );\n log.info('Fetched tasks', { count: tasks.length });\n\n return {\n objects: yield* syncObjects(tasks, { foreignKeyId: LINEAR_ID_KEY }),\n syncComplete: tasks.length < 150,\n };\n }, Effect.provide(FetchHttpClient.layer)),\n ),\n);\n\nconst getLatestUpdateTimestamp: (\n teamId: string,\n dataType: Type.AnyObj,\n) => Effect.Effect<string, never, Database.Service> = Effect.fnUntraced(function* (teamId, dataType) {\n const existingTasks = yield* Database.query(\n Query.type(dataType).select(Filter.foreignKeys(dataType, [{ source: LINEAR_TEAM_ID_KEY, id: teamId }])),\n ).run;\n return Function.pipe(\n existingTasks,\n Array.map((task) => Obj.getKeys(task, LINEAR_UPDATED_AT_KEY).at(0)?.id),\n Array.filter((x) => x !== undefined),\n Array.reduce('2025-01-01T00:00:00.000Z', (acc: string, x: string) => (x > acc ? x : acc)),\n );\n});\n\nconst mapLinearPerson = (person: LinearPerson, { teamId }: { teamId: string }): Person.Person =>\n Obj.make(Person.Person, {\n [Obj.Meta]: {\n keys: [\n {\n id: person.id,\n source: LINEAR_ID_KEY,\n },\n {\n id: teamId,\n source: LINEAR_TEAM_ID_KEY,\n },\n ],\n },\n nickname: person.name,\n });\n\nconst mapLinearIssue = (issue: LinearIssue, { teamId }: { teamId: string }): Task.Task =>\n Obj.make(Task.Task, {\n [Obj.Meta]: {\n keys: [\n {\n id: issue.id,\n source: LINEAR_ID_KEY,\n },\n {\n id: issue.updatedAt,\n source: LINEAR_UPDATED_AT_KEY,\n },\n {\n id: teamId,\n source: LINEAR_TEAM_ID_KEY,\n },\n ],\n },\n title: issue.title ?? undefined,\n description: issue.description ?? undefined,\n assigned: !issue.assignee ? undefined : Ref.make(mapLinearPerson(issue.assignee, { teamId })),\n // TODO(dmaretskyi): Sync those (+ linear team as org?).\n // state: issue.state.name,\n\n project: !issue.project\n ? undefined\n : Ref.make(\n Pipeline.make({\n [Obj.Meta]: {\n keys: [\n {\n id: issue.project.id,\n source: LINEAR_ID_KEY,\n },\n {\n id: teamId,\n source: LINEAR_TEAM_ID_KEY,\n },\n ],\n },\n name: issue.project.name,\n }),\n ),\n });\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as HttpBody from '@effect/platform/HttpBody';\n\n/**\n * Template tag literal to get syntax highlighting for the query.\n *\n * @example\n * ```ts\n * const query = gql`\n * query Team($teamId: String!) {\n * team(id: $teamId) {\n * id\n * name\n * }\n * }\n * `;\n * ```\n */\nexport const gql = (query: string) => query;\n\n/**\n * @returns JSON body for the graphql request.\n */\nexport const graphqlRequestBody = (query: string, variables: Record<string, any> = {}) =>\n HttpBody.json({\n query,\n variables,\n });\n"],
5
5
  "mappings": "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",
6
6
  "names": ["FetchHttpClient", "HttpClient", "Array", "Effect", "Function", "Credential", "Operation", "Database", "Filter", "Obj", "Query", "Ref", "withAuthorization", "log", "Person", "Pipeline", "Task", "HttpBody", "graphqlRequestBody", "query", "variables", "json", "queryIssues", "LINEAR_UPDATED_AT_KEY", "Operation", "credential", "Credential", "service", "client", "log", "info", "after", "graphqlRequestBody", "team", "teamId", "json", "count", "syncObjects", "syncComplete", "tasks", "Effect", "FetchHttpClient", "layer", "existingTasks", "Database", "query", "LINEAR_TEAM_ID_KEY", "mapLinearPerson", "person", "Obj", "make", "Person", "nickname", "mapLinearIssue", "issue", "title", "description", "assigned", "assignee", "keys", "name"]
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  SyncTriggers
3
- } from "./chunk-KZDQGI3S.mjs";
4
- import "./chunk-5HANNHZZ.mjs";
5
- import "./chunk-JZHXJBSM.mjs";
6
- import "./chunk-SYUTQPSB.mjs";
3
+ } from "./chunk-PBARVBNJ.mjs";
4
+ import "./chunk-H4W22FFJ.mjs";
5
+ import "./chunk-Z2HFOZXK.mjs";
6
+ import "./chunk-EPQCDGIV.mjs";
7
7
  import "./chunk-J5LGTIGS.mjs";
8
8
 
9
- // src/blueprints/agent-wizard/operations/sync-triggers.ts
9
+ // src/skills/agent-wizard/operations/sync-triggers.ts
10
10
  import * as Effect from "effect/Effect";
11
11
  import * as Option from "effect/Option";
12
- import { Trigger, Operation } from "@dxos/compute";
12
+ import { Operation, Trigger } from "@dxos/compute";
13
13
  import { Database, Feed, Filter, Obj, Ref, Type } from "@dxos/echo";
14
14
  import { FeedAnnotation } from "@dxos/schema";
15
15
  var sync_triggers_default = SyncTriggers.pipe(Operation.withHandler(Effect.fn(function* ({ agent: agentRef }) {
@@ -37,7 +37,7 @@ var syncAgentTriggers = (agent) => Effect.gen(function* () {
37
37
  yield* Database.remove(trigger);
38
38
  }
39
39
  const triggersEnabled = agent.enabled ?? true;
40
- const { Qualifier, AgentWorker } = yield* Effect.promise(() => import("./definitions-BHRGH45G.mjs"));
40
+ const { Qualifier, AgentWorker } = yield* Effect.promise(() => import("./definitions-VRR5OGXI.mjs"));
41
41
  for (const subscription of agent.subscriptions) {
42
42
  const targetOption = yield* Database.load(subscription).pipe(Effect.map(Option.some), Effect.catchTag("EntityNotFoundError", () => Effect.succeed(Option.none())));
43
43
  if (Option.isNone(targetOption)) {
@@ -71,7 +71,7 @@ var syncAgentTriggers = (agent) => Effect.gen(function* () {
71
71
  },
72
72
  enabled: triggersEnabled,
73
73
  spec: Trigger.specFeed(feedObj),
74
- function: Ref.make(Operation.serialize(filterEvents ? Qualifier : AgentWorker)),
74
+ runnable: Ref.make(Operation.serialize(filterEvents ? Qualifier : AgentWorker)),
75
75
  input: {
76
76
  agent: Ref.make(agent),
77
77
  event: "{{event}}"
@@ -96,7 +96,7 @@ var syncAgentTriggers = (agent) => Effect.gen(function* () {
96
96
  }
97
97
  ]
98
98
  },
99
- function: Ref.make(Operation.serialize(AgentWorker)),
99
+ runnable: Ref.make(Operation.serialize(AgentWorker)),
100
100
  enabled: triggersEnabled,
101
101
  spec: Trigger.specFeed(agentFeedOption.value),
102
102
  input: {
@@ -123,7 +123,7 @@ var syncAgentTriggers = (agent) => Effect.gen(function* () {
123
123
  },
124
124
  enabled: triggersEnabled,
125
125
  spec: Trigger.specTimer(agent.cron),
126
- function: Ref.make(Operation.serialize(AgentWorker)),
126
+ runnable: Ref.make(Operation.serialize(AgentWorker)),
127
127
  input: {
128
128
  agent: Ref.make(agent),
129
129
  event: "{{event}}"
@@ -135,4 +135,4 @@ var syncAgentTriggers = (agent) => Effect.gen(function* () {
135
135
  export {
136
136
  sync_triggers_default as default
137
137
  };
138
- //# sourceMappingURL=sync-triggers-CI6ECSZX.mjs.map
138
+ //# sourceMappingURL=sync-triggers-YBTLPCUB.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/blueprints/agent-wizard/operations/sync-triggers.ts"],
4
- "sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\n\nimport { Trigger, Operation } from '@dxos/compute';\nimport { Database, Feed, Filter, Obj, Ref, Type } from '@dxos/echo';\nimport { FeedAnnotation } from '@dxos/schema';\n\nimport { Agent } from '../../../types';\nimport { SyncTriggers } from './definitions';\n\nexport default SyncTriggers.pipe(\n Operation.withHandler(\n Effect.fn(function* ({ agent: agentRef }) {\n const agent = yield* Database.load(agentRef);\n yield* syncAgentTriggers(agent);\n }),\n ),\n);\n\n/**\n * Foreign key {@link AGENT_TRIGGER_EXTENSION_KEY} => <agent id : EntityId>.\n */\nconst AGENT_TRIGGER_EXTENSION_KEY = 'org.dxos.extension.AgentTrigger';\n\n/**\n * Foreign key {@link AGENT_TRIGGER_TARGET_EXTENSION_KEY} => <dxn string of subscription target>.\n */\nconst AGENT_TRIGGER_TARGET_EXTENSION_KEY = 'org.dxos.extension.AgentTriggerTarget';\n\n/** Checks if an object's schema has the FeedAnnotation. */\nconst hasFeedAnnotation = (obj: Obj.Unknown): boolean => {\n const type = Obj.getType(obj);\n if (!type) {\n return false;\n }\n const annotation = FeedAnnotation.get(Type.getSchema(type));\n return Option.isSome(annotation) && annotation.value === true;\n};\n\n/**\n * Syncs triggers in the database with the agent subscriptions.\n */\nconst syncAgentTriggers = (agent: Agent.Agent): Effect.Effect<void, never, Database.Service> =>\n Effect.gen(function* () {\n const triggers = yield* Database.query(\n Filter.foreignKeys(Trigger.Trigger, [{ source: AGENT_TRIGGER_EXTENSION_KEY, id: agent.id }]),\n ).run;\n\n // Remove all existing triggers — they will be recreated with the current config.\n // This ensures operation, concurrency, and enabled stay in sync when agent fields change.\n for (const trigger of triggers) {\n yield* Database.remove(trigger);\n }\n\n const triggersEnabled = agent.enabled ?? true;\n\n // Lazy import to avoid circular dependency issues.\n const { Qualifier, AgentWorker } = yield* Effect.promise(() => import('../../agent/operations/definitions'));\n\n for (const subscription of agent.subscriptions) {\n const targetOption = yield* Database.load(subscription).pipe(\n Effect.map(Option.some),\n Effect.catchTag('EntityNotFoundError', () => Effect.succeed(Option.none())),\n );\n if (Option.isNone(targetOption)) {\n continue;\n }\n const target = targetOption.value;\n\n let feedObj: Feed.Feed | undefined;\n if (Obj.instanceOf(Feed.Feed, target)) {\n feedObj = target;\n } else if (hasFeedAnnotation(target)) {\n const feedRef = (target as Obj.Unknown & { feed?: Ref.Ref<Feed.Feed> }).feed;\n feedObj = feedRef\n ? Option.getOrUndefined(\n yield* Database.load(feedRef).pipe(\n Effect.map(Option.some),\n Effect.catchTag('EntityNotFoundError', () => Effect.succeed(Option.none())),\n ),\n )\n : undefined;\n }\n\n if (!feedObj || !Obj.instanceOf(Feed.Feed, feedObj) || !Feed.getQueueUri(feedObj)) {\n continue;\n }\n\n const filterEvents = agent.filterEvents ?? true;\n\n yield* Database.add(\n Trigger.make({\n [Obj.Parent]: agent,\n [Obj.Meta]: {\n keys: [\n { source: AGENT_TRIGGER_EXTENSION_KEY, id: agent.id },\n { source: AGENT_TRIGGER_TARGET_EXTENSION_KEY, id: subscription.uri },\n ],\n },\n enabled: triggersEnabled,\n spec: Trigger.specFeed(feedObj),\n function: Ref.make(Operation.serialize(filterEvents ? Qualifier : AgentWorker)),\n input: {\n agent: Ref.make(agent),\n event: '{{event}}',\n },\n concurrency: filterEvents ? 5 : undefined,\n }),\n );\n }\n\n if ((agent.filterEvents ?? true) && agent.feed) {\n const agentFeedOption = yield* Database.load(agent.feed).pipe(\n Effect.map(Option.some),\n Effect.catchTag('EntityNotFoundError', () => Effect.succeed(Option.none())),\n );\n if (Option.isSome(agentFeedOption) && Feed.getQueueUri(agentFeedOption.value)) {\n yield* Database.add(\n Trigger.make({\n [Obj.Parent]: agent,\n [Obj.Meta]: {\n keys: [\n { source: AGENT_TRIGGER_EXTENSION_KEY, id: agent.id },\n {\n source: AGENT_TRIGGER_TARGET_EXTENSION_KEY,\n id: Obj.getURI(agent) ?? '',\n },\n ],\n },\n function: Ref.make(Operation.serialize(AgentWorker)),\n enabled: triggersEnabled,\n spec: Trigger.specFeed(agentFeedOption.value),\n input: {\n agent: Ref.make(agent),\n event: '{{event}}',\n },\n }),\n );\n }\n }\n\n // Timer trigger bypasses the qualifier and invokes the agent worker directly on a schedule.\n if (agent.cron) {\n yield* Database.add(\n Trigger.make({\n [Obj.Parent]: agent,\n [Obj.Meta]: {\n keys: [\n { source: AGENT_TRIGGER_EXTENSION_KEY, id: agent.id },\n { source: AGENT_TRIGGER_TARGET_EXTENSION_KEY, id: `timer:${agent.cron}` },\n ],\n },\n enabled: triggersEnabled,\n spec: Trigger.specTimer(agent.cron),\n function: Ref.make(Operation.serialize(AgentWorker)),\n input: {\n agent: Ref.make(agent),\n event: '{{event}}',\n },\n }),\n );\n }\n\n yield* Database.flush();\n });\n"],
5
- "mappings": "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",
6
- "names": ["Effect", "Option", "Trigger", "Operation", "Database", "Feed", "Filter", "Obj", "Ref", "Type", "FeedAnnotation", "SyncTriggers", "pipe", "Operation", "withHandler", "fn", "agent", "agentRef", "Database", "load", "syncAgentTriggers", "AGENT_TRIGGER_EXTENSION_KEY", "AGENT_TRIGGER_TARGET_EXTENSION_KEY", "hasFeedAnnotation", "obj", "type", "Obj", "getType", "annotation", "FeedAnnotation", "get", "Type", "getSchema", "isSome", "value", "gen", "triggers", "query", "Filter", "foreignKeys", "Trigger", "source", "id", "run", "trigger", "remove", "triggersEnabled", "enabled", "Qualifier", "AgentWorker", "promise", "subscription", "subscriptions", "targetOption", "map", "some", "catchTag", "succeed", "none", "isNone", "target", "feedObj", "instanceOf", "Feed", "feedRef", "feed", "getOrUndefined", "undefined", "getQueueUri", "filterEvents", "add", "make", "Parent", "Meta", "keys", "uri", "spec", "specFeed", "function", "Ref", "serialize", "input", "event", "concurrency", "agentFeedOption", "getURI", "cron", "specTimer", "flush"]
3
+ "sources": ["../../../src/skills/agent-wizard/operations/sync-triggers.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\n\nimport { Operation, Trigger } from '@dxos/compute';\nimport { Database, Feed, Filter, Obj, Ref, Type } from '@dxos/echo';\nimport { FeedAnnotation } from '@dxos/schema';\n\nimport { Agent } from '../../../types';\nimport { SyncTriggers } from './definitions';\n\nexport default SyncTriggers.pipe(\n Operation.withHandler(\n Effect.fn(function* ({ agent: agentRef }) {\n const agent = yield* Database.load(agentRef);\n yield* syncAgentTriggers(agent);\n }),\n ),\n);\n\n/**\n * Foreign key {@link AGENT_TRIGGER_EXTENSION_KEY} => <agent id : EntityId>.\n */\nconst AGENT_TRIGGER_EXTENSION_KEY = 'org.dxos.extension.AgentTrigger';\n\n/**\n * Foreign key {@link AGENT_TRIGGER_TARGET_EXTENSION_KEY} => <dxn string of subscription target>.\n */\nconst AGENT_TRIGGER_TARGET_EXTENSION_KEY = 'org.dxos.extension.AgentTriggerTarget';\n\n/** Checks if an object's schema has the FeedAnnotation. */\nconst hasFeedAnnotation = (obj: Obj.Unknown): boolean => {\n const type = Obj.getType(obj);\n if (!type) {\n return false;\n }\n const annotation = FeedAnnotation.get(Type.getSchema(type));\n return Option.isSome(annotation) && annotation.value === true;\n};\n\n/**\n * Syncs triggers in the database with the agent subscriptions.\n */\nconst syncAgentTriggers = (agent: Agent.Agent): Effect.Effect<void, never, Database.Service> =>\n Effect.gen(function* () {\n const triggers = yield* Database.query(\n Filter.foreignKeys(Trigger.Trigger, [{ source: AGENT_TRIGGER_EXTENSION_KEY, id: agent.id }]),\n ).run;\n\n // Remove all existing triggers — they will be recreated with the current config.\n // This ensures operation, concurrency, and enabled stay in sync when agent fields change.\n for (const trigger of triggers) {\n yield* Database.remove(trigger);\n }\n\n const triggersEnabled = agent.enabled ?? true;\n\n // Lazy import to avoid circular dependency issues.\n const { Qualifier, AgentWorker } = yield* Effect.promise(() => import('../../agent/operations/definitions'));\n\n for (const subscription of agent.subscriptions) {\n const targetOption = yield* Database.load(subscription).pipe(\n Effect.map(Option.some),\n Effect.catchTag('EntityNotFoundError', () => Effect.succeed(Option.none())),\n );\n if (Option.isNone(targetOption)) {\n continue;\n }\n const target = targetOption.value;\n\n let feedObj: Feed.Feed | undefined;\n if (Obj.instanceOf(Feed.Feed, target)) {\n feedObj = target;\n } else if (hasFeedAnnotation(target)) {\n const feedRef = (target as Obj.Unknown & { feed?: Ref.Ref<Feed.Feed> }).feed;\n feedObj = feedRef\n ? Option.getOrUndefined(\n yield* Database.load(feedRef).pipe(\n Effect.map(Option.some),\n Effect.catchTag('EntityNotFoundError', () => Effect.succeed(Option.none())),\n ),\n )\n : undefined;\n }\n\n if (!feedObj || !Obj.instanceOf(Feed.Feed, feedObj) || !Feed.getQueueUri(feedObj)) {\n continue;\n }\n\n const filterEvents = agent.filterEvents ?? true;\n\n yield* Database.add(\n Trigger.make({\n [Obj.Parent]: agent,\n [Obj.Meta]: {\n keys: [\n { source: AGENT_TRIGGER_EXTENSION_KEY, id: agent.id },\n { source: AGENT_TRIGGER_TARGET_EXTENSION_KEY, id: subscription.uri },\n ],\n },\n enabled: triggersEnabled,\n spec: Trigger.specFeed(feedObj),\n runnable: Ref.make(Operation.serialize(filterEvents ? Qualifier : AgentWorker)),\n input: {\n agent: Ref.make(agent),\n event: '{{event}}',\n },\n concurrency: filterEvents ? 5 : undefined,\n }),\n );\n }\n\n if ((agent.filterEvents ?? true) && agent.feed) {\n const agentFeedOption = yield* Database.load(agent.feed).pipe(\n Effect.map(Option.some),\n Effect.catchTag('EntityNotFoundError', () => Effect.succeed(Option.none())),\n );\n if (Option.isSome(agentFeedOption) && Feed.getQueueUri(agentFeedOption.value)) {\n yield* Database.add(\n Trigger.make({\n [Obj.Parent]: agent,\n [Obj.Meta]: {\n keys: [\n { source: AGENT_TRIGGER_EXTENSION_KEY, id: agent.id },\n {\n source: AGENT_TRIGGER_TARGET_EXTENSION_KEY,\n id: Obj.getURI(agent) ?? '',\n },\n ],\n },\n runnable: Ref.make(Operation.serialize(AgentWorker)),\n enabled: triggersEnabled,\n spec: Trigger.specFeed(agentFeedOption.value),\n input: {\n agent: Ref.make(agent),\n event: '{{event}}',\n },\n }),\n );\n }\n }\n\n // Timer trigger bypasses the qualifier and invokes the agent worker directly on a schedule.\n if (agent.cron) {\n yield* Database.add(\n Trigger.make({\n [Obj.Parent]: agent,\n [Obj.Meta]: {\n keys: [\n { source: AGENT_TRIGGER_EXTENSION_KEY, id: agent.id },\n { source: AGENT_TRIGGER_TARGET_EXTENSION_KEY, id: `timer:${agent.cron}` },\n ],\n },\n enabled: triggersEnabled,\n spec: Trigger.specTimer(agent.cron),\n runnable: Ref.make(Operation.serialize(AgentWorker)),\n input: {\n agent: Ref.make(agent),\n event: '{{event}}',\n },\n }),\n );\n }\n\n yield* Database.flush();\n });\n"],
5
+ "mappings": "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",
6
+ "names": ["Effect", "Option", "Operation", "Trigger", "Database", "Feed", "Filter", "Obj", "Ref", "Type", "FeedAnnotation", "SyncTriggers", "pipe", "Operation", "withHandler", "fn", "agent", "agentRef", "Database", "load", "syncAgentTriggers", "AGENT_TRIGGER_EXTENSION_KEY", "AGENT_TRIGGER_TARGET_EXTENSION_KEY", "hasFeedAnnotation", "obj", "type", "Obj", "getType", "annotation", "FeedAnnotation", "get", "Type", "getSchema", "isSome", "value", "gen", "triggers", "query", "Filter", "foreignKeys", "Trigger", "source", "id", "run", "trigger", "remove", "triggersEnabled", "enabled", "Qualifier", "AgentWorker", "promise", "subscription", "subscriptions", "targetOption", "map", "some", "catchTag", "succeed", "none", "isNone", "target", "feedObj", "instanceOf", "Feed", "feedRef", "feed", "getOrUndefined", "undefined", "getQueueUri", "filterEvents", "add", "make", "Parent", "Meta", "keys", "uri", "spec", "specFeed", "runnable", "Ref", "serialize", "input", "event", "concurrency", "agentFeedOption", "getURI", "cron", "specTimer", "flush"]
7
7
  }
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  TagAdd
3
- } from "./chunk-4LFE5PQ3.mjs";
3
+ } from "./chunk-YQSQRSXG.mjs";
4
4
  import "./chunk-J5LGTIGS.mjs";
5
5
 
6
- // src/blueprints/database/operations/tag-add.ts
6
+ // src/skills/database/operations/tag-add.ts
7
7
  import * as Effect from "effect/Effect";
8
8
  import { Operation } from "@dxos/compute";
9
9
  import { Database, Entity } from "@dxos/echo";
@@ -15,4 +15,4 @@ var tag_add_default = TagAdd.pipe(Operation.withHandler(Effect.fn(function* ({ t
15
15
  export {
16
16
  tag_add_default as default
17
17
  };
18
- //# sourceMappingURL=tag-add-6EGIY2CC.mjs.map
18
+ //# sourceMappingURL=tag-add-L5WNOBYY.mjs.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/blueprints/database/operations/tag-add.ts"],
3
+ "sources": ["../../../src/skills/database/operations/tag-add.ts"],
4
4
  "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Operation } from '@dxos/compute';\nimport { Database, Entity } from '@dxos/echo';\n\nimport { TagAdd } from './definitions';\n\nexport default TagAdd.pipe(\n Operation.withHandler(\n Effect.fn(function* ({ tag, obj }) {\n const object = yield* Database.load(obj);\n Entity.update(object, (object) => Entity.addTag(object, tag));\n return Entity.toJSON(object);\n }),\n ),\n);\n"],
5
5
  "mappings": ";;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,iBAAiB;AAC1B,SAASC,UAAUC,cAAc;AAIjC,IAAA,kBAAeC,OAAOC,KACpBC,UAAUC,YACDC,UAAG,WAAW,EAAEC,KAAKC,IAAG,GAAE;AAC/B,QAAMC,SAAS,OAAOC,SAASC,KAAKH,GAAAA;AACpCI,SAAOC,OAAOJ,QAAQ,CAACA,YAAWG,OAAOE,OAAOL,SAAQF,GAAAA,CAAAA;AACxD,SAAOK,OAAOG,OAAON,MAAAA;AACvB,CAAA,CAAA,CAAA;",
6
6
  "names": ["Effect", "Operation", "Database", "Entity", "TagAdd", "pipe", "Operation", "withHandler", "fn", "tag", "obj", "object", "Database", "load", "Entity", "update", "addTag", "toJSON"]
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  TagRemove
3
- } from "./chunk-4LFE5PQ3.mjs";
3
+ } from "./chunk-YQSQRSXG.mjs";
4
4
  import "./chunk-J5LGTIGS.mjs";
5
5
 
6
- // src/blueprints/database/operations/tag-remove.ts
6
+ // src/skills/database/operations/tag-remove.ts
7
7
  import * as Effect from "effect/Effect";
8
8
  import { Operation } from "@dxos/compute";
9
9
  import { Database, Entity } from "@dxos/echo";
@@ -15,4 +15,4 @@ var tag_remove_default = TagRemove.pipe(Operation.withHandler(Effect.fn(function
15
15
  export {
16
16
  tag_remove_default as default
17
17
  };
18
- //# sourceMappingURL=tag-remove-XVTYJRI7.mjs.map
18
+ //# sourceMappingURL=tag-remove-WV5RPE5W.mjs.map