@dxos/assistant-toolkit 0.8.4-main.e8ec1fe → 0.8.4-main.fcc0d83b33

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 (570) hide show
  1. package/dist/lib/neutral/add-artifact-XDFUXRY5.mjs +30 -0
  2. package/dist/lib/neutral/add-artifact-XDFUXRY5.mjs.map +7 -0
  3. package/dist/lib/neutral/agent-6OHUAIA2.mjs +65 -0
  4. package/dist/lib/neutral/agent-6OHUAIA2.mjs.map +7 -0
  5. package/dist/lib/neutral/chunk-4T3LJGXI.mjs +76 -0
  6. package/dist/lib/neutral/chunk-4T3LJGXI.mjs.map +7 -0
  7. package/dist/lib/neutral/chunk-CVUA23QI.mjs +332 -0
  8. package/dist/lib/neutral/chunk-CVUA23QI.mjs.map +7 -0
  9. package/dist/lib/neutral/chunk-EJAQUAKM.mjs +73 -0
  10. package/dist/lib/neutral/chunk-EJAQUAKM.mjs.map +7 -0
  11. package/dist/lib/neutral/chunk-GSG4JGIY.mjs +100 -0
  12. package/dist/lib/neutral/chunk-GSG4JGIY.mjs.map +7 -0
  13. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  14. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +7 -0
  15. package/dist/lib/neutral/chunk-JN4GARRQ.mjs +53 -0
  16. package/dist/lib/neutral/chunk-JN4GARRQ.mjs.map +7 -0
  17. package/dist/lib/neutral/chunk-KGU725LW.mjs +29 -0
  18. package/dist/lib/neutral/chunk-KGU725LW.mjs.map +7 -0
  19. package/dist/lib/neutral/chunk-NR3GTWRC.mjs +53 -0
  20. package/dist/lib/neutral/chunk-NR3GTWRC.mjs.map +7 -0
  21. package/dist/lib/neutral/chunk-P5LAPHCG.mjs +140 -0
  22. package/dist/lib/neutral/chunk-P5LAPHCG.mjs.map +7 -0
  23. package/dist/lib/neutral/chunk-SVI25Z2Y.mjs +293 -0
  24. package/dist/lib/neutral/chunk-SVI25Z2Y.mjs.map +7 -0
  25. package/dist/lib/neutral/chunk-VSDP6SRY.mjs +74 -0
  26. package/dist/lib/neutral/chunk-VSDP6SRY.mjs.map +7 -0
  27. package/dist/lib/neutral/chunk-WIV7ZVRS.mjs +109 -0
  28. package/dist/lib/neutral/chunk-WIV7ZVRS.mjs.map +7 -0
  29. package/dist/lib/neutral/chunk-WLR3BGO4.mjs +25 -0
  30. package/dist/lib/neutral/chunk-WLR3BGO4.mjs.map +7 -0
  31. package/dist/lib/neutral/chunk-YSYNXOZA.mjs +68 -0
  32. package/dist/lib/neutral/chunk-YSYNXOZA.mjs.map +7 -0
  33. package/dist/lib/neutral/chunk-YXOVSRFU.mjs +70 -0
  34. package/dist/lib/neutral/chunk-YXOVSRFU.mjs.map +7 -0
  35. package/dist/lib/neutral/context-add-IIDPRRVB.mjs +22 -0
  36. package/dist/lib/neutral/context-add-IIDPRRVB.mjs.map +7 -0
  37. package/dist/lib/neutral/context-remove-RDYV4PD4.mjs +22 -0
  38. package/dist/lib/neutral/context-remove-RDYV4PD4.mjs.map +7 -0
  39. package/dist/lib/neutral/create-project-MPAMKQ3T.mjs +36 -0
  40. package/dist/lib/neutral/create-project-MPAMKQ3T.mjs.map +7 -0
  41. package/dist/lib/neutral/delete-J3PMWP7Z.mjs +19 -0
  42. package/dist/lib/neutral/delete-J3PMWP7Z.mjs.map +7 -0
  43. package/dist/lib/neutral/enable-blueprints-LELPQHY5.mjs +48 -0
  44. package/dist/lib/neutral/enable-blueprints-LELPQHY5.mjs.map +7 -0
  45. package/dist/lib/neutral/fetch-KHMHV7JR.mjs +16 -0
  46. package/dist/lib/neutral/fetch-KHMHV7JR.mjs.map +7 -0
  47. package/dist/lib/neutral/fetch-messages-OS74FP76.mjs +140 -0
  48. package/dist/lib/neutral/fetch-messages-OS74FP76.mjs.map +7 -0
  49. package/dist/lib/neutral/get-context-JRTOOA5O.mjs +35 -0
  50. package/dist/lib/neutral/get-context-JRTOOA5O.mjs.map +7 -0
  51. package/dist/lib/neutral/index.mjs +906 -0
  52. package/dist/lib/neutral/index.mjs.map +7 -0
  53. package/dist/lib/neutral/load-LI7HHVD6.mjs +17 -0
  54. package/dist/lib/neutral/load-LI7HHVD6.mjs.map +7 -0
  55. package/dist/lib/neutral/meta.json +1 -0
  56. package/dist/lib/neutral/object-create-52Z7YKIA.mjs +35 -0
  57. package/dist/lib/neutral/object-create-52Z7YKIA.mjs.map +7 -0
  58. package/dist/lib/neutral/object-delete-I266YAXI.mjs +18 -0
  59. package/dist/lib/neutral/object-delete-I266YAXI.mjs.map +7 -0
  60. package/dist/lib/neutral/object-update-HY4GI7LA.mjs +28 -0
  61. package/dist/lib/neutral/object-update-HY4GI7LA.mjs.map +7 -0
  62. package/dist/lib/neutral/project-JAU3A7AX.mjs +23 -0
  63. package/dist/lib/neutral/project-JAU3A7AX.mjs.map +7 -0
  64. package/dist/lib/neutral/project-rules-FLUQQRPB.mjs +78 -0
  65. package/dist/lib/neutral/project-rules-FLUQQRPB.mjs.map +7 -0
  66. package/dist/lib/neutral/prompt-4UMXX6QU.mjs +169 -0
  67. package/dist/lib/neutral/prompt-4UMXX6QU.mjs.map +7 -0
  68. package/dist/lib/neutral/qualifier-7BUCOEKK.mjs +88 -0
  69. package/dist/lib/neutral/qualifier-7BUCOEKK.mjs.map +7 -0
  70. package/dist/lib/neutral/query-B3NOYFCK.mjs +70 -0
  71. package/dist/lib/neutral/query-B3NOYFCK.mjs.map +7 -0
  72. package/dist/lib/neutral/query-U56GNEV6.mjs +32 -0
  73. package/dist/lib/neutral/query-U56GNEV6.mjs.map +7 -0
  74. package/dist/lib/neutral/query-blueprints-Z576ABT5.mjs +17 -0
  75. package/dist/lib/neutral/query-blueprints-Z576ABT5.mjs.map +7 -0
  76. package/dist/lib/neutral/relation-create-Z3NGW4VU.mjs +34 -0
  77. package/dist/lib/neutral/relation-create-Z3NGW4VU.mjs.map +7 -0
  78. package/dist/lib/neutral/relation-delete-LXY7W2YO.mjs +18 -0
  79. package/dist/lib/neutral/relation-delete-LXY7W2YO.mjs.map +7 -0
  80. package/dist/lib/neutral/save-GWAPLT3Z.mjs +23 -0
  81. package/dist/lib/neutral/save-GWAPLT3Z.mjs.map +7 -0
  82. package/dist/lib/neutral/schema-add-4TXJO2V7.mjs +24 -0
  83. package/dist/lib/neutral/schema-add-4TXJO2V7.mjs.map +7 -0
  84. package/dist/lib/neutral/schema-list-Q7HRRKGR.mjs +39 -0
  85. package/dist/lib/neutral/schema-list-Q7HRRKGR.mjs.map +7 -0
  86. package/dist/lib/neutral/sync-issues-A2RJNPEF.mjs +167 -0
  87. package/dist/lib/neutral/sync-issues-A2RJNPEF.mjs.map +7 -0
  88. package/dist/lib/neutral/sync-triggers-NV4JCRN5.mjs +137 -0
  89. package/dist/lib/neutral/sync-triggers-NV4JCRN5.mjs.map +7 -0
  90. package/dist/lib/neutral/tag-add-5NOHUTIE.mjs +19 -0
  91. package/dist/lib/neutral/tag-add-5NOHUTIE.mjs.map +7 -0
  92. package/dist/lib/neutral/tag-remove-QTKYDJAW.mjs +19 -0
  93. package/dist/lib/neutral/tag-remove-QTKYDJAW.mjs.map +7 -0
  94. package/dist/lib/neutral/testing/index.mjs +76 -0
  95. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  96. package/dist/lib/neutral/update-blueprints-K7A5SHBZ.mjs +17 -0
  97. package/dist/lib/neutral/update-blueprints-K7A5SHBZ.mjs.map +7 -0
  98. package/dist/lib/neutral/update-tasks-UGGHWXT5.mjs +46 -0
  99. package/dist/lib/neutral/update-tasks-UGGHWXT5.mjs.map +7 -0
  100. package/dist/types/src/blueprints/automation/blueprint.d.ts +4 -0
  101. package/dist/types/src/blueprints/automation/blueprint.d.ts.map +1 -0
  102. package/dist/types/src/blueprints/automation/index.d.ts +2 -0
  103. package/dist/types/src/blueprints/automation/index.d.ts.map +1 -0
  104. package/dist/types/src/blueprints/blueprint-manager/blueprint.d.ts +4 -0
  105. package/dist/types/src/blueprints/blueprint-manager/blueprint.d.ts.map +1 -0
  106. package/dist/types/src/blueprints/blueprint-manager/blueprint.test.d.ts +2 -0
  107. package/dist/types/src/blueprints/blueprint-manager/blueprint.test.d.ts.map +1 -0
  108. package/dist/types/src/blueprints/blueprint-manager/functions/definitions.d.ts +60 -0
  109. package/dist/types/src/blueprints/blueprint-manager/functions/definitions.d.ts.map +1 -0
  110. package/dist/types/src/blueprints/blueprint-manager/functions/enable-blueprints.d.ts +36 -0
  111. package/dist/types/src/blueprints/blueprint-manager/functions/enable-blueprints.d.ts.map +1 -0
  112. package/dist/types/src/blueprints/blueprint-manager/functions/index.d.ts +4 -0
  113. package/dist/types/src/blueprints/blueprint-manager/functions/index.d.ts.map +1 -0
  114. package/dist/types/src/blueprints/blueprint-manager/functions/query-blueprints.d.ts +27 -0
  115. package/dist/types/src/blueprints/blueprint-manager/functions/query-blueprints.d.ts.map +1 -0
  116. package/dist/types/src/blueprints/blueprint-manager/functions/update-blueprints.d.ts +5 -0
  117. package/dist/types/src/blueprints/blueprint-manager/functions/update-blueprints.d.ts.map +1 -0
  118. package/dist/types/src/blueprints/blueprint-manager/index.d.ts +3 -0
  119. package/dist/types/src/blueprints/blueprint-manager/index.d.ts.map +1 -0
  120. package/dist/types/src/blueprints/browser/blueprint.d.ts +4 -0
  121. package/dist/types/src/blueprints/browser/blueprint.d.ts.map +1 -0
  122. package/dist/types/src/blueprints/browser/blueprint.test.d.ts +2 -0
  123. package/dist/types/src/blueprints/browser/blueprint.test.d.ts.map +1 -0
  124. package/dist/types/src/blueprints/browser/index.d.ts +2 -0
  125. package/dist/types/src/blueprints/browser/index.d.ts.map +1 -0
  126. package/dist/types/src/blueprints/database/blueprint.d.ts +4 -0
  127. package/dist/types/src/blueprints/database/blueprint.d.ts.map +1 -0
  128. package/dist/types/src/blueprints/database/blueprint.test.d.ts +2 -0
  129. package/dist/types/src/blueprints/database/blueprint.test.d.ts.map +1 -0
  130. package/dist/types/src/blueprints/database/functions/context-add.d.ts +7 -0
  131. package/dist/types/src/blueprints/database/functions/context-add.d.ts.map +1 -0
  132. package/dist/types/src/blueprints/database/functions/context-remove.d.ts +7 -0
  133. package/dist/types/src/blueprints/database/functions/context-remove.d.ts.map +1 -0
  134. package/dist/types/src/blueprints/database/functions/definitions.d.ts +59 -0
  135. package/dist/types/src/blueprints/database/functions/definitions.d.ts.map +1 -0
  136. package/dist/types/src/blueprints/database/functions/index.d.ts +4 -0
  137. package/dist/types/src/blueprints/database/functions/index.d.ts.map +1 -0
  138. package/dist/types/src/blueprints/database/functions/load.d.ts +7 -0
  139. package/dist/types/src/blueprints/database/functions/load.d.ts.map +1 -0
  140. package/dist/types/src/blueprints/database/functions/object-create.d.ts +8 -0
  141. package/dist/types/src/blueprints/database/functions/object-create.d.ts.map +1 -0
  142. package/dist/types/src/blueprints/database/functions/object-delete.d.ts +7 -0
  143. package/dist/types/src/blueprints/database/functions/object-delete.d.ts.map +1 -0
  144. package/dist/types/src/blueprints/database/functions/object-update.d.ts +10 -0
  145. package/dist/types/src/blueprints/database/functions/object-update.d.ts.map +1 -0
  146. package/dist/types/src/blueprints/database/functions/query.d.ts +13 -0
  147. package/dist/types/src/blueprints/database/functions/query.d.ts.map +1 -0
  148. package/dist/types/src/blueprints/database/functions/relation-create.d.ts +10 -0
  149. package/dist/types/src/blueprints/database/functions/relation-create.d.ts.map +1 -0
  150. package/dist/types/src/blueprints/database/functions/relation-delete.d.ts +7 -0
  151. package/dist/types/src/blueprints/database/functions/relation-delete.d.ts.map +1 -0
  152. package/dist/types/src/blueprints/database/functions/schema-add.d.ts +9 -0
  153. package/dist/types/src/blueprints/database/functions/schema-add.d.ts.map +1 -0
  154. package/dist/types/src/blueprints/database/functions/schema-list.d.ts +7 -0
  155. package/dist/types/src/blueprints/database/functions/schema-list.d.ts.map +1 -0
  156. package/dist/types/src/blueprints/database/functions/tag-add.d.ts +8 -0
  157. package/dist/types/src/blueprints/database/functions/tag-add.d.ts.map +1 -0
  158. package/dist/types/src/blueprints/database/functions/tag-remove.d.ts +8 -0
  159. package/dist/types/src/blueprints/database/functions/tag-remove.d.ts.map +1 -0
  160. package/dist/types/src/blueprints/database/index.d.ts +3 -0
  161. package/dist/types/src/blueprints/database/index.d.ts.map +1 -0
  162. package/dist/types/src/blueprints/discord/blueprint.d.ts +4 -0
  163. package/dist/types/src/blueprints/discord/blueprint.d.ts.map +1 -0
  164. package/dist/types/src/blueprints/discord/functions/definitions.d.ts +16 -0
  165. package/dist/types/src/blueprints/discord/functions/definitions.d.ts.map +1 -0
  166. package/dist/types/src/{functions/discord → blueprints/discord/functions}/fetch-messages.d.ts +4 -2
  167. package/dist/types/src/blueprints/discord/functions/fetch-messages.d.ts.map +1 -0
  168. package/dist/types/src/blueprints/discord/functions/fetch-messages.test.d.ts.map +1 -0
  169. package/dist/types/src/blueprints/discord/functions/index.d.ts +4 -0
  170. package/dist/types/src/blueprints/discord/functions/index.d.ts.map +1 -0
  171. package/dist/types/src/blueprints/discord/index.d.ts +2 -2
  172. package/dist/types/src/blueprints/discord/index.d.ts.map +1 -1
  173. package/dist/types/src/blueprints/github/functions/definitions.d.ts +8 -0
  174. package/dist/types/src/blueprints/github/functions/definitions.d.ts.map +1 -0
  175. package/dist/types/src/blueprints/github/functions/fetch-prs.d.ts +9 -0
  176. package/dist/types/src/blueprints/github/functions/fetch-prs.d.ts.map +1 -0
  177. package/dist/types/src/blueprints/github/functions/index.d.ts +4 -0
  178. package/dist/types/src/blueprints/github/functions/index.d.ts.map +1 -0
  179. package/dist/types/src/blueprints/github/index.d.ts +2 -0
  180. package/dist/types/src/blueprints/github/index.d.ts.map +1 -0
  181. package/dist/types/src/blueprints/index.d.ts +11 -6
  182. package/dist/types/src/blueprints/index.d.ts.map +1 -1
  183. package/dist/types/src/blueprints/linear/blueprint.d.ts +4 -0
  184. package/dist/types/src/blueprints/linear/blueprint.d.ts.map +1 -0
  185. package/dist/types/src/blueprints/linear/functions/definitions.d.ts +7 -0
  186. package/dist/types/src/blueprints/linear/functions/definitions.d.ts.map +1 -0
  187. package/dist/types/src/blueprints/linear/functions/index.d.ts +4 -0
  188. package/dist/types/src/blueprints/linear/functions/index.d.ts.map +1 -0
  189. package/dist/types/src/blueprints/linear/functions/linear.test.d.ts.map +1 -0
  190. package/dist/types/src/blueprints/linear/functions/sync-issues.d.ts +11 -0
  191. package/dist/types/src/blueprints/linear/functions/sync-issues.d.ts.map +1 -0
  192. package/dist/types/src/blueprints/linear/index.d.ts +2 -2
  193. package/dist/types/src/blueprints/linear/index.d.ts.map +1 -1
  194. package/dist/types/src/blueprints/memory/blueprint.d.ts +4 -0
  195. package/dist/types/src/blueprints/memory/blueprint.d.ts.map +1 -0
  196. package/dist/types/src/blueprints/memory/blueprint.test.d.ts +2 -0
  197. package/dist/types/src/blueprints/memory/blueprint.test.d.ts.map +1 -0
  198. package/dist/types/src/blueprints/memory/functions/definitions.d.ts +17 -0
  199. package/dist/types/src/blueprints/memory/functions/definitions.d.ts.map +1 -0
  200. package/dist/types/src/blueprints/memory/functions/delete.d.ts +10 -0
  201. package/dist/types/src/blueprints/memory/functions/delete.d.ts.map +1 -0
  202. package/dist/types/src/blueprints/memory/functions/index.d.ts +4 -0
  203. package/dist/types/src/blueprints/memory/functions/index.d.ts.map +1 -0
  204. package/dist/types/src/blueprints/memory/functions/query.d.ts +8 -0
  205. package/dist/types/src/blueprints/memory/functions/query.d.ts.map +1 -0
  206. package/dist/types/src/blueprints/memory/functions/save.d.ts +8 -0
  207. package/dist/types/src/blueprints/memory/functions/save.d.ts.map +1 -0
  208. package/dist/types/src/blueprints/memory/index.d.ts +3 -0
  209. package/dist/types/src/blueprints/memory/index.d.ts.map +1 -0
  210. package/dist/types/src/blueprints/planning/blueprint.d.ts +4 -0
  211. package/dist/types/src/blueprints/planning/blueprint.d.ts.map +1 -0
  212. package/dist/types/src/blueprints/planning/functions/definitions.d.ts +11 -0
  213. package/dist/types/src/blueprints/planning/functions/definitions.d.ts.map +1 -0
  214. package/dist/types/src/blueprints/planning/functions/index.d.ts +4 -0
  215. package/dist/types/src/blueprints/planning/functions/index.d.ts.map +1 -0
  216. package/dist/types/src/blueprints/planning/functions/update-tasks.d.ts +11 -0
  217. package/dist/types/src/blueprints/planning/functions/update-tasks.d.ts.map +1 -0
  218. package/dist/types/src/blueprints/planning/index.d.ts +2 -2
  219. package/dist/types/src/blueprints/planning/index.d.ts.map +1 -1
  220. package/dist/types/src/blueprints/project/blueprint.d.ts +4 -0
  221. package/dist/types/src/blueprints/project/blueprint.d.ts.map +1 -0
  222. package/dist/types/src/blueprints/project/blueprint.test.d.ts +2 -0
  223. package/dist/types/src/blueprints/project/blueprint.test.d.ts.map +1 -0
  224. package/dist/types/src/blueprints/project/functions/add-artifact.d.ts +8 -0
  225. package/dist/types/src/blueprints/project/functions/add-artifact.d.ts.map +1 -0
  226. package/dist/types/src/blueprints/project/functions/agent.d.ts +4 -0
  227. package/dist/types/src/blueprints/project/functions/agent.d.ts.map +1 -0
  228. package/dist/types/src/blueprints/project/functions/definitions.d.ts +158 -0
  229. package/dist/types/src/blueprints/project/functions/definitions.d.ts.map +1 -0
  230. package/dist/types/src/blueprints/project/functions/get-context.d.ts +15 -0
  231. package/dist/types/src/blueprints/project/functions/get-context.d.ts.map +1 -0
  232. package/dist/types/src/blueprints/project/functions/index.d.ts +4 -0
  233. package/dist/types/src/blueprints/project/functions/index.d.ts.map +1 -0
  234. package/dist/types/src/blueprints/project/functions/qualifier.d.ts +73 -0
  235. package/dist/types/src/blueprints/project/functions/qualifier.d.ts.map +1 -0
  236. package/dist/types/src/blueprints/project/index.d.ts +3 -0
  237. package/dist/types/src/blueprints/project/index.d.ts.map +1 -0
  238. package/dist/types/src/blueprints/project-wizard/blueprint.d.ts +4 -0
  239. package/dist/types/src/blueprints/project-wizard/blueprint.d.ts.map +1 -0
  240. package/dist/types/src/blueprints/project-wizard/functions/create-project.d.ts +52 -0
  241. package/dist/types/src/blueprints/project-wizard/functions/create-project.d.ts.map +1 -0
  242. package/dist/types/src/blueprints/project-wizard/functions/definitions.d.ts +97 -0
  243. package/dist/types/src/blueprints/project-wizard/functions/definitions.d.ts.map +1 -0
  244. package/dist/types/src/blueprints/project-wizard/functions/index.d.ts +4 -0
  245. package/dist/types/src/blueprints/project-wizard/functions/index.d.ts.map +1 -0
  246. package/dist/types/src/blueprints/project-wizard/functions/project-rules.d.ts +4 -0
  247. package/dist/types/src/blueprints/project-wizard/functions/project-rules.d.ts.map +1 -0
  248. package/dist/types/src/blueprints/project-wizard/functions/sync-triggers.d.ts +48 -0
  249. package/dist/types/src/blueprints/project-wizard/functions/sync-triggers.d.ts.map +1 -0
  250. package/dist/types/src/blueprints/project-wizard/index.d.ts +3 -0
  251. package/dist/types/src/blueprints/project-wizard/index.d.ts.map +1 -0
  252. package/dist/types/src/blueprints/testing.d.ts +9 -5
  253. package/dist/types/src/blueprints/testing.d.ts.map +1 -1
  254. package/dist/types/src/blueprints/websearch/blueprint.d.ts +4 -0
  255. package/dist/types/src/blueprints/websearch/blueprint.d.ts.map +1 -0
  256. package/dist/types/src/blueprints/websearch/blueprint.test.d.ts +2 -0
  257. package/dist/types/src/blueprints/websearch/blueprint.test.d.ts.map +1 -0
  258. package/dist/types/src/blueprints/websearch/functions/definitions.d.ts +5 -0
  259. package/dist/types/src/blueprints/websearch/functions/definitions.d.ts.map +1 -0
  260. package/dist/types/src/blueprints/websearch/functions/fetch.d.ts +6 -0
  261. package/dist/types/src/blueprints/websearch/functions/fetch.d.ts.map +1 -0
  262. package/dist/types/src/blueprints/websearch/functions/index.d.ts +4 -0
  263. package/dist/types/src/blueprints/websearch/functions/index.d.ts.map +1 -0
  264. package/dist/types/src/blueprints/websearch/index.d.ts +3 -3
  265. package/dist/types/src/blueprints/websearch/index.d.ts.map +1 -1
  266. package/dist/types/src/blueprints/websearch/{websearch-toolkit.d.ts → toolkit.d.ts} +3 -1
  267. package/dist/types/src/blueprints/websearch/toolkit.d.ts.map +1 -0
  268. package/dist/types/src/crud/graph.d.ts +14 -11
  269. package/dist/types/src/crud/graph.d.ts.map +1 -1
  270. package/dist/types/src/errors.d.ts +41 -0
  271. package/dist/types/src/errors.d.ts.map +1 -0
  272. package/dist/types/src/functions/agent/definitions.d.ts +61 -0
  273. package/dist/types/src/functions/agent/definitions.d.ts.map +1 -0
  274. package/dist/types/src/functions/agent/index.d.ts +3 -4
  275. package/dist/types/src/functions/agent/index.d.ts.map +1 -1
  276. package/dist/types/src/functions/agent/prompt.d.ts +2 -7
  277. package/dist/types/src/functions/agent/prompt.d.ts.map +1 -1
  278. package/dist/types/src/functions/agent/prompt.test.d.ts +2 -0
  279. package/dist/types/src/functions/agent/prompt.test.d.ts.map +1 -0
  280. package/dist/types/src/functions/index.d.ts +0 -6
  281. package/dist/types/src/functions/index.d.ts.map +1 -1
  282. package/dist/types/src/index.d.ts +2 -2
  283. package/dist/types/src/index.d.ts.map +1 -1
  284. package/dist/types/src/sync/sync.d.ts +3 -3
  285. package/dist/types/src/sync/sync.d.ts.map +1 -1
  286. package/dist/types/src/testing/index.d.ts +2 -1
  287. package/dist/types/src/testing/index.d.ts.map +1 -1
  288. package/dist/types/src/testing/plugins.d.ts +19 -0
  289. package/dist/types/src/testing/plugins.d.ts.map +1 -0
  290. package/dist/types/src/toolkits/WebToolkit.d.ts +38 -0
  291. package/dist/types/src/toolkits/WebToolkit.d.ts.map +1 -0
  292. package/dist/types/src/toolkits/index.d.ts +1 -2
  293. package/dist/types/src/toolkits/index.d.ts.map +1 -1
  294. package/dist/types/src/types/Agent.d.ts +77 -0
  295. package/dist/types/src/types/Agent.d.ts.map +1 -0
  296. package/dist/types/src/types/Chat.d.ts +56 -0
  297. package/dist/types/src/types/Chat.d.ts.map +1 -0
  298. package/dist/types/src/types/McpServer.d.ts +18 -0
  299. package/dist/types/src/types/McpServer.d.ts.map +1 -0
  300. package/dist/types/src/types/Memory.d.ts +12 -0
  301. package/dist/types/src/types/Memory.d.ts.map +1 -0
  302. package/dist/types/src/types/Plan.d.ts +89 -0
  303. package/dist/types/src/types/Plan.d.ts.map +1 -0
  304. package/dist/types/src/types/index.d.ts +6 -0
  305. package/dist/types/src/types/index.d.ts.map +1 -0
  306. package/dist/types/src/util/graphql.d.ts.map +1 -1
  307. package/dist/types/tsconfig.tsbuildinfo +1 -1
  308. package/package.json +44 -40
  309. package/src/blueprints/automation/blueprint.ts +107 -0
  310. package/src/blueprints/automation/index.ts +5 -0
  311. package/src/blueprints/blueprint-manager/blueprint.conversations.json +1 -0
  312. package/src/blueprints/blueprint-manager/blueprint.test.ts +199 -0
  313. package/src/blueprints/blueprint-manager/blueprint.ts +49 -0
  314. package/src/blueprints/blueprint-manager/functions/definitions.ts +58 -0
  315. package/src/blueprints/blueprint-manager/functions/enable-blueprints.ts +44 -0
  316. package/src/blueprints/blueprint-manager/functions/index.ts +13 -0
  317. package/src/blueprints/blueprint-manager/functions/query-blueprints.ts +19 -0
  318. package/src/blueprints/blueprint-manager/functions/update-blueprints.ts +19 -0
  319. package/src/blueprints/blueprint-manager/index.ts +6 -0
  320. package/src/blueprints/browser/blueprint.test.ts +62 -0
  321. package/src/blueprints/browser/blueprint.ts +40 -0
  322. package/src/blueprints/browser/index.ts +5 -0
  323. package/src/blueprints/database/blueprint.conversations.json +1 -0
  324. package/src/blueprints/database/blueprint.test.ts +532 -0
  325. package/src/blueprints/database/blueprint.ts +66 -0
  326. package/src/blueprints/database/functions/context-add.ts +24 -0
  327. package/src/blueprints/database/functions/context-remove.ts +24 -0
  328. package/src/blueprints/database/functions/definitions.ts +318 -0
  329. package/src/blueprints/database/functions/index.ts +23 -0
  330. package/src/blueprints/database/functions/load.ts +19 -0
  331. package/src/blueprints/database/functions/object-create.ts +38 -0
  332. package/src/blueprints/database/functions/object-delete.ts +20 -0
  333. package/src/blueprints/database/functions/object-update.ts +30 -0
  334. package/src/blueprints/database/functions/query.ts +64 -0
  335. package/src/blueprints/database/functions/relation-create.ts +34 -0
  336. package/src/blueprints/database/functions/relation-delete.ts +21 -0
  337. package/src/blueprints/database/functions/schema-add.ts +28 -0
  338. package/src/blueprints/database/functions/schema-list.ts +34 -0
  339. package/src/blueprints/database/functions/tag-add.ts +21 -0
  340. package/src/blueprints/database/functions/tag-remove.ts +21 -0
  341. package/src/blueprints/database/index.ts +21 -0
  342. package/src/blueprints/discord/blueprint.ts +41 -0
  343. package/src/blueprints/discord/functions/definitions.ts +71 -0
  344. package/src/blueprints/discord/functions/fetch-messages.test.ts +45 -0
  345. package/src/blueprints/discord/functions/fetch-messages.ts +199 -0
  346. package/src/blueprints/discord/functions/index.ts +9 -0
  347. package/src/blueprints/discord/index.ts +2 -3
  348. package/src/blueprints/github/functions/definitions.ts +27 -0
  349. package/src/blueprints/github/functions/fetch-prs.ts +24 -0
  350. package/src/blueprints/github/functions/index.ts +9 -0
  351. package/src/blueprints/github/index.ts +5 -0
  352. package/src/blueprints/index.ts +11 -6
  353. package/src/blueprints/linear/blueprint.ts +42 -0
  354. package/src/blueprints/linear/functions/definitions.ts +24 -0
  355. package/src/blueprints/linear/functions/index.ts +9 -0
  356. package/src/blueprints/linear/functions/linear.test.ts +59 -0
  357. package/src/{functions/linear → blueprints/linear/functions}/sync-issues.ts +40 -46
  358. package/src/blueprints/linear/index.ts +2 -3
  359. package/src/blueprints/memory/blueprint.conversations.json +1 -0
  360. package/src/blueprints/memory/blueprint.test.ts +139 -0
  361. package/src/blueprints/memory/blueprint.ts +41 -0
  362. package/src/blueprints/memory/functions/definitions.ts +68 -0
  363. package/src/blueprints/memory/functions/delete.ts +20 -0
  364. package/src/blueprints/memory/functions/index.ts +13 -0
  365. package/src/blueprints/memory/functions/query.ts +32 -0
  366. package/src/blueprints/memory/functions/save.ts +20 -0
  367. package/src/blueprints/memory/index.ts +6 -0
  368. package/src/blueprints/planning/blueprint.ts +24 -0
  369. package/src/blueprints/planning/functions/definitions.ts +137 -0
  370. package/src/blueprints/planning/functions/index.ts +9 -0
  371. package/src/blueprints/planning/functions/update-tasks.ts +45 -0
  372. package/src/blueprints/planning/index.ts +3 -4
  373. package/src/blueprints/project/blueprint.conversations.json +1 -0
  374. package/src/blueprints/project/blueprint.test.ts +715 -0
  375. package/src/blueprints/project/blueprint.ts +64 -0
  376. package/src/blueprints/project/functions/add-artifact.ts +30 -0
  377. package/src/blueprints/project/functions/agent.ts +69 -0
  378. package/src/blueprints/project/functions/definitions.ts +92 -0
  379. package/src/blueprints/project/functions/get-context.ts +46 -0
  380. package/src/blueprints/project/functions/index.ts +14 -0
  381. package/src/blueprints/project/functions/qualifier.ts +90 -0
  382. package/src/blueprints/project/index.ts +6 -0
  383. package/src/blueprints/project-wizard/blueprint.ts +52 -0
  384. package/src/blueprints/project-wizard/functions/create-project.ts +33 -0
  385. package/src/blueprints/project-wizard/functions/definitions.ts +64 -0
  386. package/src/blueprints/project-wizard/functions/index.ts +13 -0
  387. package/src/blueprints/project-wizard/functions/project-rules.ts +77 -0
  388. package/src/blueprints/project-wizard/functions/sync-triggers.ts +159 -0
  389. package/src/blueprints/project-wizard/index.ts +6 -0
  390. package/src/blueprints/testing.ts +23 -8
  391. package/src/blueprints/websearch/blueprint.conversations.json +1 -0
  392. package/src/blueprints/websearch/blueprint.test.ts +39 -0
  393. package/src/blueprints/websearch/blueprint.ts +30 -0
  394. package/src/blueprints/websearch/functions/definitions.ts +25 -0
  395. package/src/blueprints/websearch/functions/fetch.ts +18 -0
  396. package/src/blueprints/websearch/functions/index.ts +9 -0
  397. package/src/blueprints/websearch/index.ts +3 -4
  398. package/src/blueprints/websearch/{websearch-toolkit.ts → toolkit.ts} +6 -1
  399. package/src/crud/graph.test.ts +13 -38
  400. package/src/crud/graph.ts +33 -41
  401. package/src/errors.ts +25 -0
  402. package/src/functions/READ_THIS.md +5 -0
  403. package/src/functions/agent/definitions.ts +53 -0
  404. package/src/functions/agent/index.ts +3 -5
  405. package/src/functions/agent/prompt.conversations.json +1 -0
  406. package/src/functions/agent/prompt.test.ts +83 -0
  407. package/src/functions/agent/prompt.ts +211 -102
  408. package/src/functions/index.ts +0 -6
  409. package/src/index.ts +2 -2
  410. package/src/sync/sync.ts +52 -33
  411. package/src/testing/index.ts +2 -1
  412. package/src/testing/plugins.tsx +79 -0
  413. package/src/toolkits/WebToolkit.ts +33 -0
  414. package/src/toolkits/index.ts +1 -2
  415. package/src/types/Agent.ts +239 -0
  416. package/src/types/Chat.ts +63 -0
  417. package/src/types/McpServer.ts +37 -0
  418. package/src/types/Memory.ts +24 -0
  419. package/src/types/Plan.ts +110 -0
  420. package/src/types/index.ts +9 -0
  421. package/dist/lib/browser/index.mjs +0 -2777
  422. package/dist/lib/browser/index.mjs.map +0 -7
  423. package/dist/lib/browser/meta.json +0 -1
  424. package/dist/lib/node-esm/index.mjs +0 -2778
  425. package/dist/lib/node-esm/index.mjs.map +0 -7
  426. package/dist/lib/node-esm/meta.json +0 -1
  427. package/dist/types/src/blueprints/design/design-blueprint.d.ts +0 -4
  428. package/dist/types/src/blueprints/design/design-blueprint.d.ts.map +0 -1
  429. package/dist/types/src/blueprints/design/design-blueprint.test.d.ts +0 -2
  430. package/dist/types/src/blueprints/design/design-blueprint.test.d.ts.map +0 -1
  431. package/dist/types/src/blueprints/design/index.d.ts +0 -3
  432. package/dist/types/src/blueprints/design/index.d.ts.map +0 -1
  433. package/dist/types/src/blueprints/discord/discord-blueprint.d.ts +0 -18
  434. package/dist/types/src/blueprints/discord/discord-blueprint.d.ts.map +0 -1
  435. package/dist/types/src/blueprints/linear/linear-blueprint.d.ts +0 -18
  436. package/dist/types/src/blueprints/linear/linear-blueprint.d.ts.map +0 -1
  437. package/dist/types/src/blueprints/planning/planning-blueprint.d.ts +0 -4
  438. package/dist/types/src/blueprints/planning/planning-blueprint.d.ts.map +0 -1
  439. package/dist/types/src/blueprints/planning/planning-blueprint.test.d.ts +0 -2
  440. package/dist/types/src/blueprints/planning/planning-blueprint.test.d.ts.map +0 -1
  441. package/dist/types/src/blueprints/research/index.d.ts +0 -3
  442. package/dist/types/src/blueprints/research/index.d.ts.map +0 -1
  443. package/dist/types/src/blueprints/research/research-blueprint.d.ts +0 -4
  444. package/dist/types/src/blueprints/research/research-blueprint.d.ts.map +0 -1
  445. package/dist/types/src/blueprints/research/research-blueprint.test.d.ts +0 -2
  446. package/dist/types/src/blueprints/research/research-blueprint.test.d.ts.map +0 -1
  447. package/dist/types/src/blueprints/websearch/websearch-blueprint.d.ts +0 -4
  448. package/dist/types/src/blueprints/websearch/websearch-blueprint.d.ts.map +0 -1
  449. package/dist/types/src/blueprints/websearch/websearch-toolkit.d.ts.map +0 -1
  450. package/dist/types/src/experimental/feed.test.d.ts +0 -2
  451. package/dist/types/src/experimental/feed.test.d.ts.map +0 -1
  452. package/dist/types/src/functions/discord/fetch-messages.d.ts.map +0 -1
  453. package/dist/types/src/functions/discord/fetch-messages.test.d.ts.map +0 -1
  454. package/dist/types/src/functions/discord/index.d.ts +0 -12
  455. package/dist/types/src/functions/discord/index.d.ts.map +0 -1
  456. package/dist/types/src/functions/document/index.d.ts +0 -13
  457. package/dist/types/src/functions/document/index.d.ts.map +0 -1
  458. package/dist/types/src/functions/document/read.d.ts +0 -7
  459. package/dist/types/src/functions/document/read.d.ts.map +0 -1
  460. package/dist/types/src/functions/document/update.d.ts +0 -6
  461. package/dist/types/src/functions/document/update.d.ts.map +0 -1
  462. package/dist/types/src/functions/entity-extraction/entity-extraction.d.ts +0 -173
  463. package/dist/types/src/functions/entity-extraction/entity-extraction.d.ts.map +0 -1
  464. package/dist/types/src/functions/entity-extraction/entity-extraction.test.d.ts +0 -2
  465. package/dist/types/src/functions/entity-extraction/entity-extraction.test.d.ts.map +0 -1
  466. package/dist/types/src/functions/entity-extraction/index.d.ts +0 -174
  467. package/dist/types/src/functions/entity-extraction/index.d.ts.map +0 -1
  468. package/dist/types/src/functions/exa/exa.d.ts +0 -5
  469. package/dist/types/src/functions/exa/exa.d.ts.map +0 -1
  470. package/dist/types/src/functions/exa/index.d.ts +0 -3
  471. package/dist/types/src/functions/exa/index.d.ts.map +0 -1
  472. package/dist/types/src/functions/exa/mock.d.ts +0 -5
  473. package/dist/types/src/functions/exa/mock.d.ts.map +0 -1
  474. package/dist/types/src/functions/github/fetch-prs.d.ts +0 -6
  475. package/dist/types/src/functions/github/fetch-prs.d.ts.map +0 -1
  476. package/dist/types/src/functions/linear/index.d.ts +0 -9
  477. package/dist/types/src/functions/linear/index.d.ts.map +0 -1
  478. package/dist/types/src/functions/linear/linear.test.d.ts.map +0 -1
  479. package/dist/types/src/functions/linear/sync-issues.d.ts +0 -12
  480. package/dist/types/src/functions/linear/sync-issues.d.ts.map +0 -1
  481. package/dist/types/src/functions/research/document-create.d.ts +0 -9
  482. package/dist/types/src/functions/research/document-create.d.ts.map +0 -1
  483. package/dist/types/src/functions/research/index.d.ts +0 -21
  484. package/dist/types/src/functions/research/index.d.ts.map +0 -1
  485. package/dist/types/src/functions/research/research-graph.d.ts +0 -18
  486. package/dist/types/src/functions/research/research-graph.d.ts.map +0 -1
  487. package/dist/types/src/functions/research/research.d.ts +0 -14
  488. package/dist/types/src/functions/research/research.d.ts.map +0 -1
  489. package/dist/types/src/functions/research/research.test.d.ts +0 -2
  490. package/dist/types/src/functions/research/research.test.d.ts.map +0 -1
  491. package/dist/types/src/functions/research/types.d.ts +0 -6
  492. package/dist/types/src/functions/research/types.d.ts.map +0 -1
  493. package/dist/types/src/functions/tasks/index.d.ts +0 -15
  494. package/dist/types/src/functions/tasks/index.d.ts.map +0 -1
  495. package/dist/types/src/functions/tasks/read.d.ts +0 -7
  496. package/dist/types/src/functions/tasks/read.d.ts.map +0 -1
  497. package/dist/types/src/functions/tasks/task-list.d.ts +0 -74
  498. package/dist/types/src/functions/tasks/task-list.d.ts.map +0 -1
  499. package/dist/types/src/functions/tasks/task-list.test.d.ts +0 -2
  500. package/dist/types/src/functions/tasks/task-list.test.d.ts.map +0 -1
  501. package/dist/types/src/functions/tasks/update.d.ts +0 -9
  502. package/dist/types/src/functions/tasks/update.d.ts.map +0 -1
  503. package/dist/types/src/plugins.d.ts +0 -19
  504. package/dist/types/src/plugins.d.ts.map +0 -1
  505. package/dist/types/src/testing/data/exa-search-1748337321991.d.ts +0 -38
  506. package/dist/types/src/testing/data/exa-search-1748337321991.d.ts.map +0 -1
  507. package/dist/types/src/testing/data/exa-search-1748337331526.d.ts +0 -37
  508. package/dist/types/src/testing/data/exa-search-1748337331526.d.ts.map +0 -1
  509. package/dist/types/src/testing/data/exa-search-1748337344119.d.ts +0 -58
  510. package/dist/types/src/testing/data/exa-search-1748337344119.d.ts.map +0 -1
  511. package/dist/types/src/testing/data/index.d.ts +0 -3
  512. package/dist/types/src/testing/data/index.d.ts.map +0 -1
  513. package/dist/types/src/toolkits/AssistantToolkit.d.ts +0 -17
  514. package/dist/types/src/toolkits/AssistantToolkit.d.ts.map +0 -1
  515. package/dist/types/src/toolkits/AssistantToolkit.test.d.ts +0 -2
  516. package/dist/types/src/toolkits/AssistantToolkit.test.d.ts.map +0 -1
  517. package/dist/types/src/toolkits/SystemToolkit.d.ts +0 -67
  518. package/dist/types/src/toolkits/SystemToolkit.d.ts.map +0 -1
  519. package/src/blueprints/design/design-blueprint.test.ts +0 -103
  520. package/src/blueprints/design/design-blueprint.ts +0 -33
  521. package/src/blueprints/design/index.ts +0 -7
  522. package/src/blueprints/discord/discord-blueprint.ts +0 -34
  523. package/src/blueprints/linear/linear-blueprint.ts +0 -35
  524. package/src/blueprints/planning/planning-blueprint.test.ts +0 -124
  525. package/src/blueprints/planning/planning-blueprint.ts +0 -98
  526. package/src/blueprints/research/index.ts +0 -7
  527. package/src/blueprints/research/research-blueprint.test.ts +0 -7
  528. package/src/blueprints/research/research-blueprint.ts +0 -53
  529. package/src/blueprints/websearch/websearch-blueprint.ts +0 -20
  530. package/src/experimental/feed.test.ts +0 -111
  531. package/src/functions/discord/fetch-messages.test.ts +0 -58
  532. package/src/functions/discord/fetch-messages.ts +0 -252
  533. package/src/functions/discord/index.ts +0 -9
  534. package/src/functions/document/index.ts +0 -12
  535. package/src/functions/document/read.ts +0 -29
  536. package/src/functions/document/update.ts +0 -30
  537. package/src/functions/entity-extraction/entity-extraction.conversations.json +0 -1
  538. package/src/functions/entity-extraction/entity-extraction.test.ts +0 -92
  539. package/src/functions/entity-extraction/entity-extraction.ts +0 -165
  540. package/src/functions/entity-extraction/index.ts +0 -9
  541. package/src/functions/exa/exa.ts +0 -37
  542. package/src/functions/exa/index.ts +0 -6
  543. package/src/functions/exa/mock.ts +0 -71
  544. package/src/functions/github/fetch-prs.ts +0 -30
  545. package/src/functions/linear/index.ts +0 -9
  546. package/src/functions/linear/linear.test.ts +0 -83
  547. package/src/functions/research/document-create.ts +0 -75
  548. package/src/functions/research/index.ts +0 -14
  549. package/src/functions/research/research-graph.ts +0 -47
  550. package/src/functions/research/research-instructions.tpl +0 -106
  551. package/src/functions/research/research.conversations.json +0 -1
  552. package/src/functions/research/research.test.ts +0 -179
  553. package/src/functions/research/research.ts +0 -190
  554. package/src/functions/research/types.ts +0 -26
  555. package/src/functions/tasks/index.ts +0 -11
  556. package/src/functions/tasks/read.ts +0 -34
  557. package/src/functions/tasks/task-list.test.ts +0 -99
  558. package/src/functions/tasks/task-list.ts +0 -165
  559. package/src/functions/tasks/update.ts +0 -52
  560. package/src/plugins.tsx +0 -68
  561. package/src/testing/data/exa-search-1748337321991.ts +0 -131
  562. package/src/testing/data/exa-search-1748337331526.ts +0 -144
  563. package/src/testing/data/exa-search-1748337344119.ts +0 -133
  564. package/src/testing/data/index.ts +0 -11
  565. package/src/toolkits/AssistantToolkit.conversations.json +0 -1
  566. package/src/toolkits/AssistantToolkit.test.ts +0 -88
  567. package/src/toolkits/AssistantToolkit.ts +0 -47
  568. package/src/toolkits/SystemToolkit.ts +0 -231
  569. /package/dist/types/src/{functions/discord → blueprints/discord/functions}/fetch-messages.test.d.ts +0 -0
  570. /package/dist/types/src/{functions/linear → blueprints/linear/functions}/linear.test.d.ts +0 -0
@@ -0,0 +1,715 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { describe, expect, it } from '@effect/vitest';
6
+ import * as Effect from 'effect/Effect';
7
+ import * as Exit from 'effect/Exit';
8
+
9
+ import { MemoizedAiService } from '@dxos/ai/testing';
10
+ import { AiSession } from '@dxos/assistant';
11
+ import { SpaceProperties } from '@dxos/client-protocol';
12
+ import { Blueprint } from '@dxos/compute';
13
+ import { QueueService, Trigger } from '@dxos/compute';
14
+ import { Operation, OperationHandlerSet } from '@dxos/compute';
15
+ import { Database, Feed, Filter, Obj, Query, Ref } from '@dxos/echo';
16
+ import { Collection } from '@dxos/echo';
17
+ import { acquireReleaseResource } from '@dxos/effect';
18
+ import { TestHelpers } from '@dxos/effect/testing';
19
+ import { TriggerDispatcher } from '@dxos/functions-runtime';
20
+ import { AssistantTestLayerWithTriggers } from '@dxos/functions-runtime/testing';
21
+ import { invariant } from '@dxos/invariant';
22
+ import { ObjectId } from '@dxos/keys';
23
+ import { MarkdownBlueprint } from '@dxos/plugin-markdown/blueprints';
24
+ import { MarkdownOperationHandlerSet } from '@dxos/plugin-markdown/operations';
25
+ import { WithProperties } from '@dxos/plugin-markdown/testing';
26
+ import { Markdown } from '@dxos/plugin-markdown/types';
27
+ import { Text } from '@dxos/schema';
28
+ import { Message } from '@dxos/types';
29
+ import { trim } from '@dxos/util';
30
+
31
+ import { Chat, Plan, Agent } from '../../types';
32
+ import { PlanningBlueprint, PlanningHandlers } from '../planning';
33
+ import { AgentWizardHandlers, SyncTriggers } from '../project-wizard';
34
+ import AgentBlueprintDef from './blueprint';
35
+ import { AgentWorker, AgentBlueprintHandlers } from './functions';
36
+
37
+ ObjectId.dangerouslyDisableRandomness();
38
+
39
+ const TestLayer = AssistantTestLayerWithTriggers({
40
+ aiServicePreset: 'edge-remote',
41
+ operationHandlers: OperationHandlerSet.merge(
42
+ AgentBlueprintHandlers,
43
+ AgentWizardHandlers,
44
+ MarkdownOperationHandlerSet,
45
+ PlanningHandlers,
46
+ ),
47
+ types: [
48
+ Agent.Agent,
49
+ Plan.Plan,
50
+ Chat.CompanionTo,
51
+ Chat.Chat,
52
+ SpaceProperties,
53
+ Blueprint.Blueprint,
54
+ Trigger.Trigger,
55
+ Text.Text,
56
+ Markdown.Document,
57
+ Collection.Collection,
58
+ ],
59
+ tracing: 'pretty',
60
+ });
61
+
62
+ const SYSTEM = trim`
63
+ You are a helpful assistant that can help with tasks in the outside world.
64
+ Be transparent about what you are doing and what you are not doing.
65
+ If you do not have tools to complete the task, inform the user.
66
+ DO NOT PRETEND TO DO SOMETHING YOU CAN'T DO.
67
+ `;
68
+
69
+ describe('Agent', () => {
70
+ const blueprint = AgentBlueprintDef.make();
71
+
72
+ it.scoped(
73
+ 'agent adds artifact to agent',
74
+ Effect.fnUntraced(
75
+ function* (_) {
76
+ const agent = yield* Agent.makeInitialized(
77
+ {
78
+ name: 'Test Project',
79
+ instructions: 'A test project for adding artifacts.',
80
+ blueprints: [Ref.make(MarkdownBlueprint.make())],
81
+ },
82
+ blueprint,
83
+ );
84
+ yield* Database.flush();
85
+
86
+ const document = yield* Database.add(
87
+ Obj.make(Markdown.Document, {
88
+ name: 'Test Document',
89
+ content: Ref.make(Text.make('This is a test document with some content.')),
90
+ }),
91
+ );
92
+ yield* Database.flush();
93
+
94
+ expect(agent.artifacts).toHaveLength(0);
95
+
96
+ const chatFeed = agent.chat?.target?.feed?.target;
97
+ invariant(chatFeed, 'Agent chat feed not found.');
98
+ const runtime = yield* Effect.runtime<Feed.FeedService>();
99
+ const session = yield* acquireReleaseResource(() => new AiSession({ feed: chatFeed, runtime }));
100
+ yield* Effect.promise(() => session.context.open());
101
+
102
+ const documentDxn = Obj.getDXN(document);
103
+ yield* session
104
+ .createRequest({
105
+ system: SYSTEM,
106
+ prompt: `Please add the document ${documentDxn} as an artifact named "My Test Document" to this agent.`,
107
+ })
108
+ .pipe(Effect.provide(session.makeToolExecutionServices()));
109
+
110
+ expect(agent.artifacts).toHaveLength(1);
111
+ expect(agent.artifacts[0].name).toBe('My Test Document');
112
+ const artifactData = yield* agent.artifacts[0].data.pipe(Database.load);
113
+ expect(Obj.instanceOf(Markdown.Document, artifactData)).toBe(true);
114
+ },
115
+ Effect.provide(TestLayer),
116
+ TestHelpers.provideTestContext,
117
+ ),
118
+ MemoizedAiService.isGenerationEnabled() ? 240_000 : 30_000,
119
+ );
120
+
121
+ it.scoped(
122
+ 'shopping list',
123
+ Effect.fnUntraced(
124
+ function* (_) {
125
+ const agent = yield* Agent.makeInitialized(
126
+ {
127
+ name: 'Shopping list',
128
+ instructions: 'Keep a shopping list of items to buy.',
129
+ blueprints: [Ref.make(MarkdownBlueprint.make())],
130
+ },
131
+ blueprint,
132
+ );
133
+ const chatFeed = agent.chat?.target?.feed?.target;
134
+ invariant(chatFeed, 'Agent chat feed not found.');
135
+ yield* Database.flush();
136
+ const runtime = yield* Effect.runtime<Feed.FeedService>();
137
+ const session = yield* acquireReleaseResource(() => new AiSession({ feed: chatFeed, runtime }));
138
+ yield* Effect.promise(() => session.context.open());
139
+
140
+ yield* session
141
+ .createRequest({
142
+ system: SYSTEM,
143
+ prompt: `List ingredients for a scrambled eggs on a toast breakfast.`,
144
+ })
145
+ .pipe(Effect.provide(session.makeToolExecutionServices()));
146
+
147
+ console.log(yield* Effect.promise(() => dumpAgent(agent)));
148
+ },
149
+ Effect.provide(TestLayer),
150
+ TestHelpers.provideTestContext,
151
+ ),
152
+ MemoizedAiService.isGenerationEnabled() ? 240_000 : 30_000,
153
+ );
154
+
155
+ it.scoped(
156
+ 'expense tracking list',
157
+ Effect.fnUntraced(
158
+ function* (_) {
159
+ const agent = yield* Agent.makeInitialized(
160
+ {
161
+ name: 'Expense tracking',
162
+ instructions: trim`
163
+ Keep a list of expenses in a markdown document (create artifact "Expenses").
164
+ Process incoming emails, add the relevant ones to the list.
165
+
166
+ Format:
167
+
168
+ ## Expenses
169
+ - Flight to London (2026-02-01): £100
170
+ - Hotel in London (2026-02-01): £100
171
+ `,
172
+ blueprints: [Ref.make(MarkdownBlueprint.make())],
173
+ },
174
+ blueprint,
175
+ );
176
+ yield* Database.flush();
177
+
178
+ const inboxQueue = yield* QueueService.createQueue();
179
+ yield* Database.add(
180
+ Trigger.make({
181
+ enabled: true,
182
+ spec: Trigger.specQueue(inboxQueue.dxn.toString()),
183
+ function: Ref.make(Operation.serialize(AgentWorker)),
184
+ input: {
185
+ agent: Ref.make(agent),
186
+ event: '{{event}}',
187
+ },
188
+ }),
189
+ );
190
+
191
+ yield* QueueService.append(
192
+ inboxQueue,
193
+ TEST_MESSAGES.map((message) => Obj.clone(message)),
194
+ );
195
+
196
+ const dispatcher = yield* TriggerDispatcher;
197
+ const invocations = yield* dispatcher.invokeScheduledTriggers({ kinds: ['queue'], untilExhausted: true });
198
+ expect(invocations.every((invocation) => Exit.isSuccess(invocation.result))).toBe(true);
199
+
200
+ console.log(yield* Effect.promise(() => dumpAgent(agent)));
201
+ },
202
+ WithProperties,
203
+ Effect.provide(TestLayer),
204
+ TestHelpers.provideTestContext,
205
+ ),
206
+ MemoizedAiService.isGenerationEnabled() ? 240_000 : 30_000,
207
+ );
208
+
209
+ it.scoped(
210
+ 'cron field creates a timer trigger that invokes the agent worker',
211
+ Effect.fnUntraced(
212
+ function* ({ expect }) {
213
+ const cron = '*/5 * * * *';
214
+ const agent = yield* Agent.makeInitialized(
215
+ {
216
+ name: 'Scheduled agent',
217
+ instructions: 'A scheduled agent that runs on a timer.',
218
+ blueprints: [Ref.make(MarkdownBlueprint.make())],
219
+ cron,
220
+ },
221
+ blueprint,
222
+ );
223
+ yield* Database.flush();
224
+
225
+ yield* Operation.invoke(SyncTriggers, { agent: Ref.make(agent) });
226
+
227
+ const triggers = yield* Database.runQuery(
228
+ Query.select(Filter.type(Trigger.Trigger)).debugLabel('assistant-toolkit.blueprint.test.timer'),
229
+ );
230
+ const timerTriggers = triggers.filter(
231
+ (trigger) => trigger.spec?.kind === 'timer' && trigger.spec.cron === cron,
232
+ );
233
+ expect(timerTriggers).toHaveLength(1);
234
+
235
+ const timerTrigger = timerTriggers[0];
236
+ invariant(timerTrigger.spec?.kind === 'timer');
237
+ expect(timerTrigger.spec.cron).toBe(cron);
238
+ expect(timerTrigger.enabled).toBe(true);
239
+
240
+ // Timer trigger bypasses the qualifier and points to the agent worker.
241
+ invariant(timerTrigger.function);
242
+ const operation = yield* Database.load(timerTrigger.function);
243
+ invariant(Obj.instanceOf(Operation.PersistentOperation, operation));
244
+ expect(operation.key).toBe(AgentWorker.meta.key);
245
+ },
246
+ Effect.provide(TestLayer),
247
+ TestHelpers.provideTestContext,
248
+ ),
249
+ );
250
+
251
+ it.scoped(
252
+ 'planning',
253
+ Effect.fnUntraced(
254
+ function* (_) {
255
+ const agent = yield* Agent.makeInitialized(
256
+ {
257
+ name: 'Egg making',
258
+ instructions: trim`
259
+ I'm testing how planning (task management) works.
260
+ Create tasks to make scrambled eggs.
261
+
262
+ Then simulate this plan execution in a markdown document.
263
+ The document should reflect the state of all objects involved in the cooking process.
264
+ The document should also have the log of actions taken.
265
+
266
+ Important: simualte actions one by one, in the order they are listed.
267
+ Simlate by updating the local document.
268
+
269
+ <example>
270
+ # State
271
+
272
+ - 2 raw eggs
273
+ - 1 frying pan
274
+
275
+ # Action log
276
+
277
+ - Taken 2 raw eggs out of the fridge.
278
+ </example>
279
+ `,
280
+ blueprints: [Ref.make(MarkdownBlueprint.make()), Ref.make(Obj.clone(PlanningBlueprint.make()))],
281
+ },
282
+ blueprint,
283
+ );
284
+ yield* Database.flush();
285
+
286
+ const chatFeed = agent.chat?.target?.feed?.target;
287
+ invariant(chatFeed, 'Agent chat feed not found.');
288
+ yield* Database.flush();
289
+ const runtime = yield* Effect.runtime<Feed.FeedService>();
290
+ const session = yield* acquireReleaseResource(() => new AiSession({ feed: chatFeed, runtime }));
291
+ yield* Effect.promise(() => session.context.open());
292
+
293
+ yield* session
294
+ .createRequest({
295
+ system: SYSTEM,
296
+ prompt: `Go`,
297
+ })
298
+ .pipe(Effect.provide(session.makeToolExecutionServices()));
299
+
300
+ console.log(yield* Effect.promise(() => dumpAgent(agent)));
301
+ },
302
+ WithProperties,
303
+ Effect.provide(TestLayer),
304
+ TestHelpers.provideTestContext,
305
+ ),
306
+ MemoizedAiService.isGenerationEnabled() ? 240_000 : 30_000,
307
+ );
308
+
309
+ it.scoped(
310
+ 'sync-triggers sets trigger enabled from agent.enabled',
311
+ Effect.fnUntraced(
312
+ function* ({ expect }) {
313
+ const agent = yield* Agent.makeInitialized(
314
+ {
315
+ name: 'Toggle agent',
316
+ instructions: 'Test enabled propagation.',
317
+ blueprints: [Ref.make(MarkdownBlueprint.make())],
318
+ enabled: false,
319
+ cron: '0 9 * * *',
320
+ },
321
+ blueprint,
322
+ );
323
+ yield* Database.flush();
324
+
325
+ yield* Operation.invoke(SyncTriggers, { agent: Ref.make(agent) });
326
+
327
+ const triggers = yield* Database.runQuery(
328
+ Query.select(Filter.type(Trigger.Trigger)).debugLabel('assistant-toolkit.blueprint.test.toggle-enabled'),
329
+ );
330
+ expect(triggers.every((trigger) => trigger.enabled === false)).toBe(true);
331
+
332
+ Obj.update(agent, (agent) => {
333
+ agent.enabled = true;
334
+ });
335
+ yield* Database.flush();
336
+ yield* Operation.invoke(SyncTriggers, { agent: Ref.make(agent) });
337
+
338
+ const triggersAfter = yield* Database.runQuery(
339
+ Query.select(Filter.type(Trigger.Trigger)).debugLabel('assistant-toolkit.blueprint.test.after'),
340
+ );
341
+ expect(triggersAfter).toHaveLength(triggers.length);
342
+ expect(triggersAfter.every((trigger) => trigger.enabled === true)).toBe(true);
343
+ },
344
+ Effect.provide(TestLayer),
345
+ TestHelpers.provideTestContext,
346
+ ),
347
+ );
348
+ });
349
+
350
+ const dumpAgent = async (agent: Agent.Agent) => {
351
+ let text = '';
352
+ text += `============== Agent: ${agent.name} ==============\n\n`;
353
+ text += `============== Instructions ==============\n\n`;
354
+ text += `${await agent.instructions.load().then((_) => _.content)}\n`;
355
+ text += `============== Plan ==============\n\n`;
356
+ text += `${await agent.plan?.load().then((_) => Plan.formatPlan(_))}\n`;
357
+ text += `============== Artifacts ==============\n\n`;
358
+ for (const artifact of agent.artifacts) {
359
+ const data = await artifact.data.load();
360
+ text += `============== ${artifact.name} (${Obj.getTypename(data)}) ==============\n`;
361
+ if (Obj.instanceOf(Markdown.Document, data)) {
362
+ text += `# ${Obj.getLabel(data)}\n\n${await data.content.load().then((_) => _.content)}\n`;
363
+ } else {
364
+ text += ` ${JSON.stringify(data, null, 2)}\n`;
365
+ }
366
+ text += '\n';
367
+ }
368
+ return text;
369
+ };
370
+
371
+ const TEST_MESSAGES = [
372
+ // Expense-related emails
373
+ Obj.make(Message.Message, {
374
+ created: new Date('2026-01-28T10:15:00Z').toISOString(),
375
+ sender: { email: 'receipts@britishairways.com' },
376
+ blocks: [
377
+ {
378
+ _tag: 'text',
379
+ text: trim`
380
+ From: receipts@britishairways.com
381
+ Subject: Your British Airways booking confirmation - BA287
382
+
383
+ Dear Mr. Smith,
384
+
385
+ Thank you for booking with British Airways. Your flight reservation is confirmed.
386
+
387
+ BOOKING REFERENCE: XK7M2P
388
+
389
+ FLIGHT DETAILS
390
+ ─────────────────────────────────────
391
+ Flight: BA287
392
+ Date: 15 February 2026
393
+ Route: San Francisco (SFO) → London Heathrow (LHR)
394
+ Departure: 17:45 PST
395
+ Arrival: 12:15 GMT (+1 day)
396
+ Class: Economy
397
+
398
+ PASSENGER
399
+ ─────────────────────────────────────
400
+ John Smith
401
+
402
+ PAYMENT SUMMARY
403
+ ─────────────────────────────────────
404
+ Base fare: £485.00
405
+ Taxes and fees: £127.50
406
+ ─────────────────────────────────────
407
+ TOTAL PAID: £612.50
408
+
409
+ Payment method: Visa ending in 4521
410
+ Transaction date: 28 January 2026
411
+
412
+ Please keep this email for your records.
413
+
414
+ Kind regards,
415
+ British Airways
416
+ `,
417
+ },
418
+ ],
419
+ }),
420
+ Obj.make(Message.Message, {
421
+ created: new Date('2026-01-29T14:30:00Z').toISOString(),
422
+ sender: { email: 'noreply@booking.com' },
423
+ blocks: [
424
+ {
425
+ _tag: 'text',
426
+ text: trim`
427
+ From: noreply@booking.com
428
+ Subject: Booking Confirmation - The Savoy London
429
+
430
+ Booking Confirmation
431
+
432
+ Dear John Smith,
433
+
434
+ Your booking is confirmed!
435
+
436
+ Hotel: The Savoy London
437
+ Address: Strand, London WC2R 0EU, United Kingdom
438
+ Check-in: 15 February 2026, 15:00
439
+ Check-out: 18 February 2026, 11:00
440
+ Guests: 1 adult
441
+ Room: Deluxe King Room
442
+
443
+ Total amount: £450.00
444
+ Payment: Paid via credit card ending in 4521
445
+ Booking reference: BK-789456123
446
+
447
+ We look forward to welcoming you!
448
+
449
+ Best regards,
450
+ Booking.com
451
+ `,
452
+ },
453
+ ],
454
+ }),
455
+ Obj.make(Message.Message, {
456
+ created: new Date('2026-02-15T19:45:00Z').toISOString(),
457
+ sender: { email: 'receipt@uber.com' },
458
+ blocks: [
459
+ {
460
+ _tag: 'text',
461
+ text: trim`
462
+ From: receipt@uber.com
463
+ Subject: Your trip receipt
464
+
465
+ Trip Receipt
466
+
467
+ Trip Date: February 15, 2026 at 7:30 PM
468
+ Trip ID: 1A2B3C4D5E
469
+
470
+ Route: London Heathrow Airport → The Savoy London
471
+ Distance: 18.2 miles
472
+ Duration: 45 minutes
473
+
474
+ Fare breakdown:
475
+ Base fare: £12.50
476
+ Distance: £18.20
477
+ Time: £11.25
478
+ Booking fee: £2.50
479
+ ─────────────────────────────────────
480
+ Subtotal: £44.45
481
+ VAT (20%): £8.89
482
+ ─────────────────────────────────────
483
+ Total: £53.34
484
+
485
+ Payment method: Visa •••• 4521
486
+
487
+ Thank you for riding with Uber!
488
+ `,
489
+ },
490
+ ],
491
+ }),
492
+ Obj.make(Message.Message, {
493
+ created: new Date('2026-02-16T20:15:00Z').toISOString(),
494
+ sender: { email: 'receipts@opentable.com' },
495
+ blocks: [
496
+ {
497
+ _tag: 'text',
498
+ text: trim`
499
+ From: receipts@opentable.com
500
+ Subject: Your receipt from The Ivy
501
+
502
+ Receipt
503
+
504
+ Restaurant: The Ivy
505
+ Address: 1-5 West Street, London WC2H 9NQ
506
+ Date: February 16, 2026
507
+ Time: 8:00 PM
508
+ Table: 12
509
+ Guests: 2
510
+
511
+ Order Summary:
512
+ ─────────────────────────────────────
513
+ Starter - Scallops £18.00
514
+ Main - Ribeye Steak £32.00
515
+ Main - Sea Bass £28.00
516
+ Side - Truffle Fries £8.50
517
+ Wine - Chardonnay (bottle) £45.00
518
+ Dessert - Chocolate Soufflé £12.00
519
+ ─────────────────────────────────────
520
+ Subtotal: £143.50
521
+ Service charge (12.5%): £17.94
522
+ ─────────────────────────────────────
523
+ Total: £161.44
524
+
525
+ Payment: Card ending in 4521
526
+ Reservation ID: OT-987654321
527
+
528
+ Thank you for dining with us!
529
+ `,
530
+ },
531
+ ],
532
+ }),
533
+ Obj.make(Message.Message, {
534
+ created: new Date('2026-02-17T09:00:00Z').toISOString(),
535
+ sender: { email: 'receipts@amazon.co.uk' },
536
+ blocks: [
537
+ {
538
+ _tag: 'text',
539
+ text: trim`
540
+ From: receipts@amazon.co.uk
541
+ Subject: Your Amazon.co.uk order #123-4567890-1234567
542
+
543
+ Order Confirmation
544
+
545
+ Hello John Smith,
546
+
547
+ We've received your order and will send a confirmation when it ships.
548
+
549
+ Order #123-4567890-1234567
550
+ Order Date: February 17, 2026
551
+
552
+ Items Ordered:
553
+ ─────────────────────────────────────
554
+ 1x London Travel Guide 2026 £12.99
555
+ 1x Universal Travel Adapter £8.50
556
+ ─────────────────────────────────────
557
+ Items: £21.49
558
+ Shipping & Handling: £4.99
559
+ ─────────────────────────────────────
560
+ Order Total: £26.48
561
+
562
+ Payment method: Visa ending in 4521
563
+ Shipping to: The Savoy London, Strand, London WC2R 0EU
564
+
565
+ Estimated delivery: February 18, 2026
566
+
567
+ Thank you for your order!
568
+ `,
569
+ },
570
+ ],
571
+ }),
572
+ // Unrelated emails
573
+ Obj.make(Message.Message, {
574
+ created: new Date('2026-01-30T08:00:00Z').toISOString(),
575
+ sender: { email: 'newsletter@techcrunch.com' },
576
+ blocks: [
577
+ {
578
+ _tag: 'text',
579
+ text: trim`
580
+ From: newsletter@techcrunch.com
581
+ Subject: Weekly Tech Roundup - AI Breakthroughs & Startup News
582
+
583
+ TechCrunch Weekly Newsletter
584
+
585
+ This week in tech:
586
+
587
+ • OpenAI announces GPT-5 with enhanced reasoning capabilities
588
+ • New quantum computing milestone achieved by IBM
589
+ • 5 startups that raised over $100M this week
590
+ • The future of autonomous vehicles: what's next?
591
+
592
+ Read the full stories: https://techcrunch.com/weekly
593
+
594
+ Unsubscribe | Manage preferences
595
+ `,
596
+ },
597
+ ],
598
+ }),
599
+ Obj.make(Message.Message, {
600
+ created: new Date('2026-02-01T12:00:00Z').toISOString(),
601
+ sender: { email: 'sarah.johnson@gmail.com' },
602
+ blocks: [
603
+ {
604
+ _tag: 'text',
605
+ text: trim`
606
+ From: sarah.johnson@gmail.com
607
+ Subject: Re: Coffee next week?
608
+
609
+ Hey John,
610
+
611
+ Sounds great! How about Tuesday at 2pm? The usual place?
612
+
613
+ Let me know if that works for you.
614
+
615
+ Cheers,
616
+ Sarah
617
+ `,
618
+ },
619
+ ],
620
+ }),
621
+ Obj.make(Message.Message, {
622
+ created: new Date('2026-02-10T10:30:00Z').toISOString(),
623
+ sender: { email: 'promotions@nike.com' },
624
+ blocks: [
625
+ {
626
+ _tag: 'text',
627
+ text: trim`
628
+ From: promotions@nike.com
629
+ Subject: 🏃‍♂️ 30% Off Running Shoes - Limited Time!
630
+
631
+ Don't miss out!
632
+
633
+ Get 30% off all running shoes this week only. Use code RUN30 at checkout.
634
+
635
+ Shop now: https://nike.com/sale
636
+
637
+ Valid until February 17, 2026.
638
+
639
+ Unsubscribe | View in browser
640
+ `,
641
+ },
642
+ ],
643
+ }),
644
+ Obj.make(Message.Message, {
645
+ created: new Date('2026-02-14T16:20:00Z').toISOString(),
646
+ sender: { email: 'notifications@github.com' },
647
+ blocks: [
648
+ {
649
+ _tag: 'text',
650
+ text: trim`
651
+ From: notifications@github.com
652
+ Subject: [dxos/dxos] New pull request: feat: add expense tracking
653
+
654
+ johnsmith opened a pull request in dxos/dxos
655
+
656
+ Title: feat: add expense tracking
657
+ Branch: feature/expense-tracking → main
658
+
659
+ This PR adds a new expense tracking feature to the assistant toolkit.
660
+
661
+ Review it here: https://github.com/dxos/dxos/pull/1234
662
+
663
+ You're receiving this because you're watching this repository.
664
+ `,
665
+ },
666
+ ],
667
+ }),
668
+ Obj.make(Message.Message, {
669
+ created: new Date('2026-02-18T11:00:00Z').toISOString(),
670
+ sender: { email: 'receipts@britishairways.com' },
671
+ blocks: [
672
+ {
673
+ _tag: 'text',
674
+ text: trim`
675
+ From: receipts@britishairways.com
676
+ Subject: Your British Airways booking confirmation - BA288
677
+
678
+ Dear Mr. Smith,
679
+
680
+ Thank you for booking with British Airways. Your return flight reservation is confirmed.
681
+
682
+ BOOKING REFERENCE: YK8N3Q
683
+
684
+ FLIGHT DETAILS
685
+ ─────────────────────────────────────
686
+ Flight: BA288
687
+ Date: 20 February 2026
688
+ Route: London Heathrow (LHR) → San Francisco (SFO)
689
+ Departure: 10:30 GMT
690
+ Arrival: 13:15 PST
691
+ Class: Economy
692
+
693
+ PASSENGER
694
+ ─────────────────────────────────────
695
+ John Smith
696
+
697
+ PAYMENT SUMMARY
698
+ ─────────────────────────────────────
699
+ Base fare: £520.00
700
+ Taxes and fees: £135.00
701
+ ─────────────────────────────────────
702
+ TOTAL PAID: £655.00
703
+
704
+ Payment method: Visa ending in 4521
705
+ Transaction date: 18 February 2026
706
+
707
+ Please keep this email for your records.
708
+
709
+ Kind regards,
710
+ British Airways
711
+ `,
712
+ },
713
+ ],
714
+ }),
715
+ ];