@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
@@ -0,0 +1,46 @@
1
+ //
2
+ // Copyright 2026 DXOS.org
3
+ //
4
+
5
+ import * as Effect from 'effect/Effect';
6
+ import * as Either from 'effect/Either';
7
+
8
+ import { Harness } from '@dxos/assistant';
9
+ import { Operation, Skill } from '@dxos/compute';
10
+ import { Ref } from '@dxos/echo';
11
+
12
+ import { EnableSkills } from './definitions';
13
+
14
+ export default EnableSkills.pipe(
15
+ Operation.withHandler(
16
+ Effect.fnUntraced(function* ({ keys }) {
17
+ const enabled: Skill.Skill[] = [];
18
+ const rejected: { key: string; reason: string }[] = [];
19
+
20
+ for (const key of keys) {
21
+ const result = yield* Skill.resolve(key).pipe(
22
+ Effect.mapError(() => ({ key, reason: 'Skill not found in registry.' })),
23
+ Effect.either,
24
+ );
25
+ if (Either.isLeft(result)) {
26
+ rejected.push(result.left);
27
+ continue;
28
+ }
29
+ if (!result.right.agentCanEnable) {
30
+ rejected.push({ key, reason: 'Skill does not allow agent auto-enable (agentCanEnable is not set).' });
31
+ continue;
32
+ }
33
+ const dbSkill = yield* Skill.upsert(key).pipe(Effect.orDie);
34
+ enabled.push(dbSkill);
35
+ }
36
+
37
+ if (enabled.length > 0) {
38
+ yield* Harness.bindContext({
39
+ skills: enabled.map(Ref.make),
40
+ });
41
+ }
42
+
43
+ return { enabled, rejected };
44
+ }),
45
+ ),
46
+ );
@@ -0,0 +1,12 @@
1
+ //
2
+ // Copyright 2026 DXOS.org
3
+ //
4
+
5
+ import { OperationHandlerSet } from '@dxos/compute';
6
+
7
+ export * as SkillManagerOperations from './definitions';
8
+
9
+ export const SkillManagerHandlers = OperationHandlerSet.lazy(
10
+ () => import('./query-skills'),
11
+ () => import('./enable-skills'),
12
+ );
@@ -0,0 +1,19 @@
1
+ //
2
+ // Copyright 2026 DXOS.org
3
+ //
4
+
5
+ import * as Effect from 'effect/Effect';
6
+
7
+ import { Operation, Skill } from '@dxos/compute';
8
+ import { Filter, Registry } from '@dxos/echo';
9
+
10
+ import { QuerySkills } from './definitions';
11
+
12
+ export default QuerySkills.pipe(
13
+ Operation.withHandler(
14
+ Effect.fnUntraced(function* () {
15
+ const skills = yield* Registry.runQuery(Filter.type(Skill.Skill));
16
+ return skills.slice().sort(({ name: a }, { name: b }) => a.localeCompare(b));
17
+ }),
18
+ ),
19
+ );
@@ -0,0 +1,174 @@
1
+ //
2
+ // Copyright 2026 DXOS.org
3
+ //
4
+
5
+ import { describe, expect, it } from '@effect/vitest';
6
+ import * as Context from 'effect/Context';
7
+ import * as Effect from 'effect/Effect';
8
+ import * as Layer from 'effect/Layer';
9
+
10
+ import { AiContext, Harness } from '@dxos/assistant';
11
+ import { Operation, Skill } from '@dxos/compute';
12
+ import { Database, Feed, Obj } from '@dxos/echo';
13
+ import { EffectEx } from '@dxos/effect';
14
+ import { TestHelpers } from '@dxos/effect/testing';
15
+ import { AssistantTestLayer } from '@dxos/functions-runtime/testing';
16
+ import { EntityId, type URI } from '@dxos/keys';
17
+
18
+ import { DatabaseSkill, DiscordSkill, MemorySkill } from '../index';
19
+ import { SkillManagerHandlers } from './operations';
20
+ import { EnableSkills, QuerySkills } from './operations/definitions';
21
+
22
+ EntityId.dangerouslyDisableRandomness();
23
+
24
+ const TestLayer = AssistantTestLayer({
25
+ aiServicePreset: 'edge-remote',
26
+ operationHandlers: SkillManagerHandlers,
27
+ types: [Skill.Skill],
28
+ skills: [DatabaseSkill.make(), MemorySkill.make(), DiscordSkill.make()],
29
+ tracing: 'pretty',
30
+ });
31
+
32
+ /** Conversation DXN for the scoped test harness feed. */
33
+ class TestConversation extends Context.Tag('@dxos/assistant-toolkit/TestConversation')<
34
+ TestConversation,
35
+ { conversation: URI.URI }
36
+ >() {}
37
+
38
+ const ConversationHarnessLayer = Layer.unwrapScoped(
39
+ Effect.gen(function* () {
40
+ const feed = yield* Database.add(Feed.make());
41
+ const conversation = Obj.getURI(feed);
42
+ const runtime = yield* Effect.runtime<Database.Service>();
43
+ const binder = yield* EffectEx.acquireReleaseResource(() => new AiContext.Binder({ feed, runtime }));
44
+ return Layer.mergeAll(
45
+ Layer.succeed(TestConversation, { conversation }),
46
+ Layer.succeed(Harness.HarnessService, Harness.fromBinder({ feed, runtime, binder })),
47
+ );
48
+ }),
49
+ );
50
+
51
+ const provideTestLayers = Effect.provide(ConversationHarnessLayer.pipe(Layer.provideMerge(TestLayer)));
52
+
53
+ const getConversationDXN = Effect.gen(function* () {
54
+ const { conversation } = yield* TestConversation;
55
+ return conversation;
56
+ });
57
+
58
+ const getBoundSkills = Effect.gen(function* () {
59
+ const binder = yield* Harness.binder;
60
+ yield* Effect.promise(() => binder.sync());
61
+ return binder.getSkills();
62
+ });
63
+
64
+ describe('Skill Manager', () => {
65
+ it.effect(
66
+ 'query-skills: returns all registered skills',
67
+ Effect.fnUntraced(
68
+ function* (_) {
69
+ const conversation = yield* getConversationDXN;
70
+ const result = yield* Operation.invoke(QuerySkills, {}, { conversation });
71
+ expect(result).toHaveLength(3);
72
+ const keys = result.map((skill: Skill.Skill) => Obj.getMeta(skill).key);
73
+ expect(keys).toContain('org.dxos.skill.database');
74
+ expect(keys).toContain('org.dxos.skill.memory');
75
+ expect(keys).toContain('org.dxos.skill.discord');
76
+ },
77
+ provideTestLayers,
78
+ TestHelpers.provideTestContext,
79
+ ),
80
+ { timeout: 30_000 },
81
+ );
82
+
83
+ it.effect(
84
+ 'enable-skills: enables skills with agentCanEnable=true',
85
+ Effect.fnUntraced(
86
+ function* (_) {
87
+ const conversation = yield* getConversationDXN;
88
+ const { enabled, rejected } = yield* Operation.invoke(
89
+ EnableSkills,
90
+ { keys: ['org.dxos.skill.database'] },
91
+ { conversation },
92
+ );
93
+ expect(enabled).toHaveLength(1);
94
+ expect(Obj.getMeta(enabled[0]).key).toBe('org.dxos.skill.database');
95
+ expect(rejected).toHaveLength(0);
96
+
97
+ const bound = yield* getBoundSkills;
98
+ expect(bound.some((bp: Skill.Skill) => Obj.getMeta(bp).key === 'org.dxos.skill.database')).toBe(true);
99
+ },
100
+ provideTestLayers,
101
+ TestHelpers.provideTestContext,
102
+ ),
103
+ { timeout: 30_000 },
104
+ );
105
+
106
+ it.effect(
107
+ 'enable-skills: rejects skills without agentCanEnable',
108
+ Effect.fnUntraced(
109
+ function* (_) {
110
+ const conversation = yield* getConversationDXN;
111
+ const { enabled, rejected } = yield* Operation.invoke(
112
+ EnableSkills,
113
+ { keys: ['org.dxos.skill.discord'] },
114
+ { conversation },
115
+ );
116
+ expect(enabled).toHaveLength(0);
117
+ expect(rejected).toHaveLength(1);
118
+ expect(rejected[0].key).toBe('org.dxos.skill.discord');
119
+
120
+ const bound = yield* getBoundSkills;
121
+ expect(bound.some((bp: Skill.Skill) => Obj.getMeta(bp).key === 'org.dxos.skill.discord')).toBe(false);
122
+ },
123
+ provideTestLayers,
124
+ TestHelpers.provideTestContext,
125
+ ),
126
+ { timeout: 30_000 },
127
+ );
128
+
129
+ it.effect(
130
+ 'enable-skills: mixed keys enables only allowed ones',
131
+ Effect.fnUntraced(
132
+ function* (_) {
133
+ const conversation = yield* getConversationDXN;
134
+ const { enabled, rejected } = yield* Operation.invoke(
135
+ EnableSkills,
136
+ {
137
+ keys: ['org.dxos.skill.database', 'org.dxos.skill.memory', 'org.dxos.skill.discord'],
138
+ },
139
+ { conversation },
140
+ );
141
+ expect(enabled).toHaveLength(2);
142
+ const enabledKeys = enabled.map((bp: Skill.Skill) => Obj.getMeta(bp).key);
143
+ expect(enabledKeys).toContain('org.dxos.skill.database');
144
+ expect(enabledKeys).toContain('org.dxos.skill.memory');
145
+ expect(rejected).toHaveLength(1);
146
+ expect(rejected[0].key).toBe('org.dxos.skill.discord');
147
+ },
148
+ provideTestLayers,
149
+ TestHelpers.provideTestContext,
150
+ ),
151
+ { timeout: 30_000 },
152
+ );
153
+
154
+ it.effect(
155
+ 'enable-skills: unknown keys are rejected with reason',
156
+ Effect.fnUntraced(
157
+ function* (_) {
158
+ const conversation = yield* getConversationDXN;
159
+ const { enabled, rejected } = yield* Operation.invoke(
160
+ EnableSkills,
161
+ { keys: ['org.dxos.skill.nonexistent'] },
162
+ { conversation },
163
+ );
164
+ expect(enabled).toHaveLength(0);
165
+ expect(rejected).toHaveLength(1);
166
+ expect(rejected[0].key).toBe('org.dxos.skill.nonexistent');
167
+ expect(rejected[0].reason).toContain('not found');
168
+ },
169
+ provideTestLayers,
170
+ TestHelpers.provideTestContext,
171
+ ),
172
+ { timeout: 30_000 },
173
+ );
174
+ });
@@ -0,0 +1,49 @@
1
+ //
2
+ // Copyright 2026 DXOS.org
3
+ //
4
+
5
+ import { Skill, Template } from '@dxos/compute';
6
+ import { DXN } from '@dxos/keys';
7
+ import { trim } from '@dxos/util';
8
+
9
+ import { EnableSkills, QuerySkills } from './operations/definitions';
10
+
11
+ const SKILL_KEY = 'org.dxos.skill.skillManager';
12
+
13
+ const make = () =>
14
+ Skill.make({
15
+ key: SKILL_KEY,
16
+ name: 'Skill Manager',
17
+ description: 'Query and enable skills in the current conversation.',
18
+ instructions: Template.make({
19
+ source: trim`
20
+ You can query available skills and enable them in the current conversation.
21
+ Use [query-skills] to refresh the list of available skills.
22
+ Use [enable-skills] to enable skills by their keys. Always call [query-skills] first.
23
+ Only skills with agentCanEnable=true can be enabled by the agent.
24
+
25
+ <available_skills>
26
+ {{#each skills}}
27
+ - {{key}} "{{name}}"{{#if description}} -- {{description}}{{/if}}{{#if agentCanEnable}} [agent-can-enable]{{/if}}
28
+ {{/each}}
29
+ </available_skills>
30
+
31
+ NOTE: You must enable the skill to use it, only then the tools from that skill will appear.
32
+ `,
33
+ inputs: [
34
+ {
35
+ name: 'skills',
36
+ kind: 'operation',
37
+ operation: DXN.getName(QuerySkills.meta.key),
38
+ },
39
+ ],
40
+ }),
41
+ tools: Skill.toolDefinitions({ operations: [QuerySkills, EnableSkills] }),
42
+ });
43
+
44
+ const skill: Skill.Definition = {
45
+ key: SKILL_KEY,
46
+ make,
47
+ };
48
+
49
+ export default skill;
@@ -7,8 +7,8 @@ import * as Effect from 'effect/Effect';
7
7
  import { pipe } from 'effect/Function';
8
8
 
9
9
  import { ConsolePrinter } from '@dxos/ai';
10
- import { AiContext, AiRequest, AiSession, GenerationObserver } from '@dxos/assistant';
11
- import type { Blueprint } from '@dxos/compute';
10
+ import { AiRequest, AiSession, GenerationObserver, Harness } from '@dxos/assistant';
11
+ import type { Skill } from '@dxos/compute';
12
12
  import { Database, Ref } from '@dxos/echo';
13
13
  import { log } from '@dxos/log';
14
14
 
@@ -40,16 +40,15 @@ export const runSteps: (
40
40
  });
41
41
 
42
42
  /**
43
- * Binds blueprints from the blueprint definitions.
43
+ * Binds skills from the skill definitions.
44
44
  */
45
- // TODO(dmaretskyi): Potentially the agent will auto-bind the blueprints.
46
- export const addBlueprints = Effect.fnUntraced(function* (blueprints: Blueprint.Definition[]) {
47
- yield* AiContext.Service.bindContext({
48
- blueprints: yield* pipe(
49
- blueprints,
50
- Arr.map((blueprint) => blueprint.make()),
51
- Effect.forEach(Database.add),
52
- Effect.map(Arr.map(Ref.make)),
53
- ),
54
- });
45
+ // TODO(dmaretskyi): Potentially the agent will auto-bind the skills.
46
+ export const addSkills = Effect.fnUntraced(function* (skills: Skill.Definition[]) {
47
+ const skillRefs = yield* pipe(
48
+ skills,
49
+ Arr.map((skill) => skill.make()),
50
+ Effect.forEach(Database.add),
51
+ Effect.map(Arr.map(Ref.make)),
52
+ );
53
+ yield* Harness.bindContext({ skills: skillRefs });
55
54
  });
@@ -2,6 +2,6 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- export { default as WebSearchBlueprint } from './blueprint';
5
+ export { default as WebSearchSkill } from './skill';
6
6
  export { WebSearchToolkit, WebSearchToolkitOpaque } from './toolkit';
7
7
  export { WebSearchHandlers, WebSearchOperations } from './operations';
@@ -16,6 +16,7 @@ export default Fetch.pipe(
16
16
  try: () => proxyFetchLegacy(new URL(url)),
17
17
  catch: (cause) => new Error(`Fetch failed: ${String(cause)}`),
18
18
  });
19
+ // TODO(dmaretskyi): Use browser rendering API.
19
20
  if (!response.ok) {
20
21
  const body = yield* Effect.promise(() => response.text());
21
22
  return yield* Effect.fail(new Error(`Fetch failed with status ${response.status}: ${body.slice(0, 256)}`));
@@ -9,25 +9,25 @@ import { TestHelpers } from '@dxos/effect/testing';
9
9
  import { AgentService } from '@dxos/functions-runtime';
10
10
  import { AssistantTestLayer } from '@dxos/functions-runtime/testing';
11
11
 
12
- import WebSearchBlueprint from './blueprint';
13
12
  import { WebSearchHandlers } from './operations';
13
+ import WebSearchSkill from './skill';
14
14
  import { WebSearchToolkitOpaque } from './toolkit';
15
15
 
16
16
  const TestLayer = AssistantTestLayer({
17
- blueprints: [WebSearchBlueprint.make()],
17
+ skills: [WebSearchSkill.make()],
18
18
  operationHandlers: [WebSearchHandlers],
19
19
  toolkits: [WebSearchToolkitOpaque],
20
20
  tracing: 'pretty',
21
21
  });
22
22
 
23
- describe('WebToolkit', () => {
23
+ describe('WebSearchSkill', () => {
24
24
  // Keep skipped, this test is flaky.
25
25
  it.effect.skip(
26
26
  'WebFetch handler returns response text',
27
27
  Effect.fnUntraced(
28
28
  function* ({ expect }) {
29
29
  const session = yield* AgentService.createSession({
30
- blueprints: [WebSearchBlueprint.make()],
30
+ skills: [WebSearchSkill.make()],
31
31
  });
32
32
  yield* session.submitPrompt('What is the capital of France? Make sure to use the web search tool.');
33
33
  yield* session.waitForCompletion();
@@ -0,0 +1,31 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { Skill } from '@dxos/compute';
6
+ import { Ref } from '@dxos/echo';
7
+ import { Text } from '@dxos/schema';
8
+
9
+ import { Fetch } from './operations/definitions';
10
+ import { WebSearchToolkit } from './toolkit';
11
+
12
+ const SKILL_KEY = 'org.dxos.skill.webSearch';
13
+
14
+ const make = () =>
15
+ Skill.make({
16
+ key: SKILL_KEY,
17
+ name: 'Web Search',
18
+ description: 'Search the web.',
19
+ agentCanEnable: true,
20
+ instructions: {
21
+ source: Ref.make(Text.make()),
22
+ },
23
+ tools: Skill.toolDefinitions({ operations: [Fetch], tools: [WebSearchToolkit.tools.AnthropicWebSearch.name] }),
24
+ });
25
+
26
+ const skill: Skill.Definition = {
27
+ key: SKILL_KEY,
28
+ make,
29
+ };
30
+
31
+ export default skill;
@@ -2,12 +2,11 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import * as AnthropicTool from '@effect/ai-anthropic/AnthropicTool';
6
5
  import * as Toolkit from '@effect/ai/Toolkit';
7
6
  import * as Layer from 'effect/Layer';
8
7
 
9
- import { OpaqueToolkit } from '@dxos/ai';
8
+ import { AnthropicWebSearchTool, OpaqueToolkit } from '@dxos/ai';
10
9
 
11
- export const WebSearchToolkit = Toolkit.make(AnthropicTool.WebSearch_20250305({}));
10
+ export const WebSearchToolkit = Toolkit.make(AnthropicWebSearchTool);
12
11
 
13
12
  export const WebSearchToolkitOpaque = OpaqueToolkit.make(WebSearchToolkit, Layer.empty);
@@ -7,7 +7,7 @@ import * as Effect from 'effect/Effect';
7
7
  import * as Exit from 'effect/Exit';
8
8
 
9
9
  import { AiContext } from '@dxos/assistant';
10
- import { Routine } from '@dxos/compute';
10
+ import { Instructions } from '@dxos/compute';
11
11
  import { ProcessManager } from '@dxos/compute-runtime';
12
12
  import { Database, Feed, Filter, Obj, Ref } from '@dxos/echo';
13
13
  import { EffectEx } from '@dxos/effect';
@@ -16,13 +16,31 @@ import { log } from '@dxos/log';
16
16
  import { Message } from '@dxos/types';
17
17
  import { trim } from '@dxos/util';
18
18
 
19
- import { DelegationBlueprint } from '../blueprints';
20
- import { AgentPrompt } from '../functions';
21
- import { Agent } from '../types';
19
+ import { RunInstructions } from '../operations';
20
+ import { DelegationSkill } from '../skills';
21
+ import { Agent, Chat } from '../types';
22
+
23
+ /**
24
+ * Resolves the chat backed by the given conversation feed, if any.
25
+ */
26
+ const findChatForFeed = (feed: Feed.Feed): Effect.Effect<Chat.Chat | undefined, never, Database.Service> =>
27
+ Effect.gen(function* () {
28
+ const chats = yield* Database.query(Filter.type(Chat.Chat)).run;
29
+ for (const chat of chats) {
30
+ const matches = yield* Effect.gen(function* () {
31
+ const chatFeed = yield* Database.load(chat.feed);
32
+ return chatFeed.id === feed.id;
33
+ }).pipe(Effect.orElseSucceed(() => false));
34
+ if (matches) {
35
+ return chat;
36
+ }
37
+ }
38
+ return undefined;
39
+ });
22
40
 
23
41
  /**
24
42
  * Resolves the agent whose chat is backed by the given conversation feed, if any. Plain (agentless)
25
- * chats yield `undefined`, so the strategy is a no-op for them.
43
+ * chats yield `undefined`, so artifact folding is skipped for them.
26
44
  */
27
45
  const findAgentForFeed = (feed: Feed.Feed): Effect.Effect<Agent.Agent | undefined, never, Database.Service> =>
28
46
  Effect.gen(function* () {
@@ -49,7 +67,7 @@ const findAgentForFeed = (feed: Feed.Feed): Effect.Effect<Agent.Agent | undefine
49
67
  const formatResult = (value: unknown): string => (typeof value === 'string' ? value : JSON.stringify(value));
50
68
 
51
69
  /**
52
- * Extracts artifact ids a sub-agent reported in its result (see the synthesized routine
70
+ * Extracts artifact ids a sub-agent reported in its result (see the synthesized instructions
53
71
  * instructions). Tolerates the result being a string, or an object with `artifactIds`/`artifactId`.
54
72
  */
55
73
  const extractArtifactIds = (value: unknown): string[] => {
@@ -69,17 +87,17 @@ const extractArtifactIds = (value: unknown): string[] => {
69
87
  /**
70
88
  * Supervisor behaviour for the conversational agent: after each turn, every in-progress plan task
71
89
  * not already delegated is run by a sub-agent (a synthesized minimal `Routine` executed via
72
- * `AgentPrompt`); on completion the task status is updated and a templated message is posted back to
90
+ * `RunInstructions`); on completion the task status is updated and a templated message is posted back to
73
91
  * the conversation.
74
92
  */
75
93
  export const makeDelegationStrategy = (): DelegationStrategy => ({
76
94
  reconcile: (feed, activeIds) =>
77
95
  Effect.gen(function* () {
78
- const agent = yield* findAgentForFeed(feed);
79
- if (!agent) {
96
+ const chat = yield* findChatForFeed(feed);
97
+ if (!chat) {
80
98
  return [];
81
99
  }
82
- const plan = yield* Database.load(agent.plan).pipe(Effect.orElseSucceed(() => undefined));
100
+ const plan = chat.plan ? yield* Database.load(chat.plan).pipe(Effect.orElseSucceed(() => undefined)) : undefined;
83
101
  if (!plan) {
84
102
  return [];
85
103
  }
@@ -93,24 +111,24 @@ export const makeDelegationStrategy = (): DelegationStrategy => ({
93
111
  return [];
94
112
  }
95
113
 
96
- // Sub-agents inherit the supervisor's bound blueprints (so they have the same tools/
97
- // capabilities), minus the delegation blueprint itself — otherwise a sub-agent could
114
+ // Sub-agents inherit the supervisor's bound skills (so they have the same tools/
115
+ // capabilities), minus the delegation skill itself — otherwise a sub-agent could
98
116
  // recursively delegate. Resolved from the conversation's AiContext bindings.
99
- const inheritedBlueprints = yield* Effect.gen(function* () {
100
- const runtime = yield* Effect.runtime<Feed.FeedService>();
117
+ const inheritedSkills = yield* Effect.gen(function* () {
118
+ const runtime = yield* Effect.runtime<Database.Service>();
101
119
  const binder = yield* EffectEx.acquireReleaseResource(() => new AiContext.Binder({ feed, runtime }));
102
- return binder.getBlueprints().filter((blueprint) => Obj.getMeta(blueprint).key !== DelegationBlueprint.key);
120
+ return binder.getSkills().filter((skill) => Obj.getMeta(skill).key !== DelegationSkill.key);
103
121
  }).pipe(Effect.scoped);
104
- const blueprints = inheritedBlueprints.map((blueprint) => Ref.make(blueprint));
122
+ const skills = inheritedSkills.map((skill) => Ref.make(skill));
105
123
 
106
124
  const delegations: Delegation[] = [];
107
125
  for (const task of pending) {
108
- // Synthesize a minimal routine whose goal is the task; the sub-agent runs it via AgentPrompt
109
- // with the inherited blueprints bound.
110
- const routine = yield* Database.add(
111
- Routine.make({
126
+ // Synthesize a minimal instructions whose goal is the task; the sub-agent runs it via RunInstructions
127
+ // with the inherited skills bound.
128
+ const instructions = yield* Database.add(
129
+ Instructions.make({
112
130
  name: task.title,
113
- instructions: trim`
131
+ text: trim`
114
132
  Complete the following task and report the result concisely.
115
133
 
116
134
  If you create any documents or artifacts, call completeJob with a JSON object of the
@@ -119,7 +137,7 @@ export const makeDelegationStrategy = (): DelegationStrategy => ({
119
137
 
120
138
  Task: ${task.title}
121
139
  `,
122
- blueprints,
140
+ skills,
123
141
  }),
124
142
  );
125
143
 
@@ -127,7 +145,10 @@ export const makeDelegationStrategy = (): DelegationStrategy => ({
127
145
  id: task.id,
128
146
  spawn: Effect.gen(function* () {
129
147
  const invoker = yield* ProcessManager.ProcessOperationInvoker.Service;
130
- const fiber = yield* invoker.invokeFiber(AgentPrompt, { prompt: Ref.make(routine), input: {} });
148
+ const fiber = yield* invoker.invokeFiber(RunInstructions, {
149
+ instructions: Ref.make(instructions),
150
+ input: {},
151
+ });
131
152
  const pid = fiber.pid;
132
153
  Obj.update(plan, (plan) => {
133
154
  const taskRecord = plan.tasks.find((taskRecord) => taskRecord.id === task.id);
@@ -144,8 +165,10 @@ export const makeDelegationStrategy = (): DelegationStrategy => ({
144
165
 
145
166
  onComplete: (feed, id, exit) =>
146
167
  Effect.gen(function* () {
168
+ const chat = yield* findChatForFeed(feed);
147
169
  const agent = yield* findAgentForFeed(feed);
148
- const plan = agent ? yield* Database.load(agent.plan).pipe(Effect.orElseSucceed(() => undefined)) : undefined;
170
+ const plan =
171
+ chat?.plan != null ? yield* Database.load(chat.plan).pipe(Effect.orElseSucceed(() => undefined)) : undefined;
149
172
 
150
173
  let title = id;
151
174
  if (plan) {
@@ -3,4 +3,3 @@
3
3
  //
4
4
 
5
5
  export * from './delegation-strategy';
6
- export * from './plan-completion-guard';
@@ -2,5 +2,5 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- export * from '../blueprints/testing';
5
+ export * from '../skills/testing';
6
6
  export * from './plugins';
@@ -11,6 +11,7 @@ import { AppSurface } from '@dxos/app-toolkit/ui';
11
11
  import { DXN, Format, type Obj, Type } from '@dxos/echo';
12
12
  import { Card } from '@dxos/react-ui';
13
13
  import { Syntax } from '@dxos/react-ui-syntax-highlighter';
14
+ import { Position } from '@dxos/util';
14
15
 
15
16
  export const MapSchema = Schema.Struct({
16
17
  coordinates: Format.GeoPoint,
@@ -37,7 +38,7 @@ export const capabilities: Capability.Any[] = [
37
38
  Surface.create({
38
39
  id: 'pluginDefault',
39
40
  filter: Surface.makeFilter(AppSurface.CardContent),
40
- position: 'last',
41
+ position: Position.last,
41
42
  component: ({ data }) => (
42
43
  <Card.Body>
43
44
  <Syntax.Root data={data}>
@@ -5,7 +5,7 @@
5
5
  import { describe, it } from '@effect/vitest';
6
6
  import * as Effect from 'effect/Effect';
7
7
 
8
- import { Blueprint } from '@dxos/compute';
8
+ import { Skill } from '@dxos/compute';
9
9
  import { Database, Feed, Obj } from '@dxos/echo';
10
10
  import { TestHelpers } from '@dxos/effect/testing';
11
11
  import { AssistantTestLayer } from '@dxos/functions-runtime/testing';
@@ -17,14 +17,14 @@ import { Agent, Chat, Plan } from '../types';
17
17
  EntityId.dangerouslyDisableRandomness();
18
18
 
19
19
  const TestLayer = AssistantTestLayer({
20
- types: [Agent.Agent, Plan.Plan, Chat.Chat, Chat.CompanionTo, Blueprint.Blueprint, Feed.Feed, Text.Text],
20
+ types: [Agent.Agent, Plan.Plan, Chat.Chat, Chat.CompanionTo, Skill.Skill, Feed.Feed, Text.Text],
21
21
  disableLlmMemoization: true,
22
22
  });
23
23
 
24
24
  const makeAgent = Effect.fnUntraced(function* () {
25
25
  return yield* Agent.makeInitialized(
26
26
  { name: 'Test', instructions: '' },
27
- Blueprint.make({ key: 'org.dxos.test.blueprint', name: 'Test' }),
27
+ Skill.make({ key: 'org.dxos.test.skill', name: 'Test' }),
28
28
  );
29
29
  });
30
30