@dxos/assistant-toolkit 0.8.4-main.72ec0f3 → 0.8.4-main.7996785055

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 (652) hide show
  1. package/dist/lib/neutral/add-artifact-3ZTVEYBL.mjs +30 -0
  2. package/dist/lib/neutral/add-artifact-3ZTVEYBL.mjs.map +7 -0
  3. package/dist/lib/neutral/agent-HFZIB25V.mjs +82 -0
  4. package/dist/lib/neutral/agent-HFZIB25V.mjs.map +7 -0
  5. package/dist/lib/neutral/chunk-2DRTPNFV.mjs +58 -0
  6. package/dist/lib/neutral/chunk-2DRTPNFV.mjs.map +7 -0
  7. package/dist/lib/neutral/chunk-4QBFNTXB.mjs +68 -0
  8. package/dist/lib/neutral/chunk-4QBFNTXB.mjs.map +7 -0
  9. package/dist/lib/neutral/chunk-6IAJ2JI5.mjs +54 -0
  10. package/dist/lib/neutral/chunk-6IAJ2JI5.mjs.map +7 -0
  11. package/dist/lib/neutral/chunk-6TWAJUVN.mjs +679 -0
  12. package/dist/lib/neutral/chunk-6TWAJUVN.mjs.map +7 -0
  13. package/dist/lib/neutral/chunk-AGG6OZNB.mjs +74 -0
  14. package/dist/lib/neutral/chunk-AGG6OZNB.mjs.map +7 -0
  15. package/dist/lib/neutral/chunk-AKMBURAD.mjs +320 -0
  16. package/dist/lib/neutral/chunk-AKMBURAD.mjs.map +7 -0
  17. package/dist/lib/neutral/chunk-CYMLF5QT.mjs +73 -0
  18. package/dist/lib/neutral/chunk-CYMLF5QT.mjs.map +7 -0
  19. package/dist/lib/neutral/chunk-DHNOQBPL.mjs +356 -0
  20. package/dist/lib/neutral/chunk-DHNOQBPL.mjs.map +7 -0
  21. package/dist/lib/neutral/chunk-FHRBPWX5.mjs +140 -0
  22. package/dist/lib/neutral/chunk-FHRBPWX5.mjs.map +7 -0
  23. package/dist/lib/neutral/chunk-FJFTNG32.mjs +102 -0
  24. package/dist/lib/neutral/chunk-FJFTNG32.mjs.map +7 -0
  25. package/dist/lib/neutral/chunk-HZM3HNAS.mjs +78 -0
  26. package/dist/lib/neutral/chunk-HZM3HNAS.mjs.map +7 -0
  27. package/dist/lib/neutral/chunk-ILZ2ODWC.mjs +95 -0
  28. package/dist/lib/neutral/chunk-ILZ2ODWC.mjs.map +7 -0
  29. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  30. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +7 -0
  31. package/dist/lib/neutral/chunk-LI6VMCJW.mjs +27 -0
  32. package/dist/lib/neutral/chunk-LI6VMCJW.mjs.map +7 -0
  33. package/dist/lib/neutral/chunk-MEZ4UFR6.mjs +25 -0
  34. package/dist/lib/neutral/chunk-MEZ4UFR6.mjs.map +7 -0
  35. package/dist/lib/neutral/chunk-RMHH7HYC.mjs +232 -0
  36. package/dist/lib/neutral/chunk-RMHH7HYC.mjs.map +7 -0
  37. package/dist/lib/neutral/chunk-SFWHVKPZ.mjs +52 -0
  38. package/dist/lib/neutral/chunk-SFWHVKPZ.mjs.map +7 -0
  39. package/dist/lib/neutral/chunk-VDEDVOS6.mjs +39 -0
  40. package/dist/lib/neutral/chunk-VDEDVOS6.mjs.map +7 -0
  41. package/dist/lib/neutral/chunk-YBTLIXQK.mjs +29 -0
  42. package/dist/lib/neutral/chunk-YBTLIXQK.mjs.map +7 -0
  43. package/dist/lib/neutral/chunk-ZC545VRY.mjs +44 -0
  44. package/dist/lib/neutral/chunk-ZC545VRY.mjs.map +7 -0
  45. package/dist/lib/neutral/chunk-ZEHD4WD7.mjs +184 -0
  46. package/dist/lib/neutral/chunk-ZEHD4WD7.mjs.map +7 -0
  47. package/dist/lib/neutral/context-add-U5LSEQLG.mjs +22 -0
  48. package/dist/lib/neutral/context-add-U5LSEQLG.mjs.map +7 -0
  49. package/dist/lib/neutral/context-remove-3YGXLVRA.mjs +22 -0
  50. package/dist/lib/neutral/context-remove-3YGXLVRA.mjs.map +7 -0
  51. package/dist/lib/neutral/create-7BFEVQQE.mjs +23 -0
  52. package/dist/lib/neutral/create-7BFEVQQE.mjs.map +7 -0
  53. package/dist/lib/neutral/create-project-6TCT6TL2.mjs +34 -0
  54. package/dist/lib/neutral/create-project-6TCT6TL2.mjs.map +7 -0
  55. package/dist/lib/neutral/delete-TTZPCJ4F.mjs +18 -0
  56. package/dist/lib/neutral/delete-TTZPCJ4F.mjs.map +7 -0
  57. package/dist/lib/neutral/document-create-53ZVNGFR.mjs +57 -0
  58. package/dist/lib/neutral/document-create-53ZVNGFR.mjs.map +7 -0
  59. package/dist/lib/neutral/enable-blueprints-Q5NXGX2G.mjs +48 -0
  60. package/dist/lib/neutral/enable-blueprints-Q5NXGX2G.mjs.map +7 -0
  61. package/dist/lib/neutral/entity-extraction-PAVYM3KN.mjs +196 -0
  62. package/dist/lib/neutral/entity-extraction-PAVYM3KN.mjs.map +7 -0
  63. package/dist/lib/neutral/exa-P4G3DCYB.mjs +28 -0
  64. package/dist/lib/neutral/exa-P4G3DCYB.mjs.map +7 -0
  65. package/dist/lib/neutral/fetch-TLKREIZA.mjs +16 -0
  66. package/dist/lib/neutral/fetch-TLKREIZA.mjs.map +7 -0
  67. package/dist/lib/neutral/fetch-messages-AFX7ZAVE.mjs +154 -0
  68. package/dist/lib/neutral/fetch-messages-AFX7ZAVE.mjs.map +7 -0
  69. package/dist/lib/neutral/get-context-6W5DFDCA.mjs +35 -0
  70. package/dist/lib/neutral/get-context-6W5DFDCA.mjs.map +7 -0
  71. package/dist/lib/neutral/index.mjs +246 -0
  72. package/dist/lib/neutral/index.mjs.map +7 -0
  73. package/dist/lib/neutral/load-KHLICMGJ.mjs +17 -0
  74. package/dist/lib/neutral/load-KHLICMGJ.mjs.map +7 -0
  75. package/dist/lib/neutral/meta.json +1 -0
  76. package/dist/lib/{browser/index.mjs → neutral/mock-JSY4GY77.mjs} +28 -2249
  77. package/dist/lib/neutral/mock-JSY4GY77.mjs.map +7 -0
  78. package/dist/lib/neutral/object-create-7J7D53FT.mjs +43 -0
  79. package/dist/lib/neutral/object-create-7J7D53FT.mjs.map +7 -0
  80. package/dist/lib/neutral/object-delete-QFXUHJ2D.mjs +18 -0
  81. package/dist/lib/neutral/object-delete-QFXUHJ2D.mjs.map +7 -0
  82. package/dist/lib/neutral/object-update-C73HRM5F.mjs +28 -0
  83. package/dist/lib/neutral/object-update-C73HRM5F.mjs.map +7 -0
  84. package/dist/lib/neutral/project-rules-VZB3F3MN.mjs +77 -0
  85. package/dist/lib/neutral/project-rules-VZB3F3MN.mjs.map +7 -0
  86. package/dist/lib/neutral/prompt-3CL6AMPP.mjs +127 -0
  87. package/dist/lib/neutral/prompt-3CL6AMPP.mjs.map +7 -0
  88. package/dist/lib/neutral/qualifier-4P5KG3UZ.mjs +104 -0
  89. package/dist/lib/neutral/qualifier-4P5KG3UZ.mjs.map +7 -0
  90. package/dist/lib/neutral/query-FUFKLAN2.mjs +66 -0
  91. package/dist/lib/neutral/query-FUFKLAN2.mjs.map +7 -0
  92. package/dist/lib/neutral/query-S6M7WRQW.mjs +32 -0
  93. package/dist/lib/neutral/query-S6M7WRQW.mjs.map +7 -0
  94. package/dist/lib/neutral/query-blueprints-Y5CXJLCT.mjs +17 -0
  95. package/dist/lib/neutral/query-blueprints-Y5CXJLCT.mjs.map +7 -0
  96. package/dist/lib/neutral/read-HZ3UTCFC.mjs +19 -0
  97. package/dist/lib/neutral/read-HZ3UTCFC.mjs.map +7 -0
  98. package/dist/lib/neutral/relation-create-YWV2TUKS.mjs +42 -0
  99. package/dist/lib/neutral/relation-create-YWV2TUKS.mjs.map +7 -0
  100. package/dist/lib/neutral/relation-delete-JGGA4CYQ.mjs +18 -0
  101. package/dist/lib/neutral/relation-delete-JGGA4CYQ.mjs.map +7 -0
  102. package/dist/lib/neutral/research-H4VN7FPV.mjs +109 -0
  103. package/dist/lib/neutral/research-H4VN7FPV.mjs.map +7 -0
  104. package/dist/lib/neutral/save-YW66SCFG.mjs +23 -0
  105. package/dist/lib/neutral/save-YW66SCFG.mjs.map +7 -0
  106. package/dist/lib/neutral/schema-add-7WKPPKW4.mjs +24 -0
  107. package/dist/lib/neutral/schema-add-7WKPPKW4.mjs.map +7 -0
  108. package/dist/lib/neutral/schema-list-MIAIKERK.mjs +30 -0
  109. package/dist/lib/neutral/schema-list-MIAIKERK.mjs.map +7 -0
  110. package/dist/lib/neutral/sync-issues-FIRE3XR6.mjs +179 -0
  111. package/dist/lib/neutral/sync-issues-FIRE3XR6.mjs.map +7 -0
  112. package/dist/lib/neutral/tag-add-IKD4ADDM.mjs +19 -0
  113. package/dist/lib/neutral/tag-add-IKD4ADDM.mjs.map +7 -0
  114. package/dist/lib/neutral/tag-remove-PCSKCFT2.mjs +19 -0
  115. package/dist/lib/neutral/tag-remove-PCSKCFT2.mjs.map +7 -0
  116. package/dist/lib/neutral/testing/index.mjs +81 -0
  117. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  118. package/dist/lib/neutral/update-CT4XSFNC.mjs +20 -0
  119. package/dist/lib/neutral/update-CT4XSFNC.mjs.map +7 -0
  120. package/dist/lib/neutral/update-tasks-AJWOYZZH.mjs +46 -0
  121. package/dist/lib/neutral/update-tasks-AJWOYZZH.mjs.map +7 -0
  122. package/dist/types/src/blueprints/automation/blueprint.d.ts +4 -0
  123. package/dist/types/src/blueprints/automation/blueprint.d.ts.map +1 -0
  124. package/dist/types/src/blueprints/automation/index.d.ts +2 -0
  125. package/dist/types/src/blueprints/automation/index.d.ts.map +1 -0
  126. package/dist/types/src/blueprints/blueprint-manager/blueprint.d.ts +4 -0
  127. package/dist/types/src/blueprints/blueprint-manager/blueprint.d.ts.map +1 -0
  128. package/dist/types/src/blueprints/blueprint-manager/blueprint.test.d.ts +2 -0
  129. package/dist/types/src/blueprints/blueprint-manager/blueprint.test.d.ts.map +1 -0
  130. package/dist/types/src/blueprints/blueprint-manager/functions/definitions.d.ts +57 -0
  131. package/dist/types/src/blueprints/blueprint-manager/functions/definitions.d.ts.map +1 -0
  132. package/dist/types/src/blueprints/blueprint-manager/functions/enable-blueprints.d.ts +35 -0
  133. package/dist/types/src/blueprints/blueprint-manager/functions/enable-blueprints.d.ts.map +1 -0
  134. package/dist/types/src/blueprints/blueprint-manager/functions/index.d.ts +4 -0
  135. package/dist/types/src/blueprints/blueprint-manager/functions/index.d.ts.map +1 -0
  136. package/dist/types/src/blueprints/blueprint-manager/functions/query-blueprints.d.ts +26 -0
  137. package/dist/types/src/blueprints/blueprint-manager/functions/query-blueprints.d.ts.map +1 -0
  138. package/dist/types/src/blueprints/blueprint-manager/index.d.ts +3 -0
  139. package/dist/types/src/blueprints/blueprint-manager/index.d.ts.map +1 -0
  140. package/dist/types/src/blueprints/browser/blueprint.d.ts +4 -0
  141. package/dist/types/src/blueprints/browser/blueprint.d.ts.map +1 -0
  142. package/dist/types/src/blueprints/browser/blueprint.test.d.ts +2 -0
  143. package/dist/types/src/blueprints/browser/blueprint.test.d.ts.map +1 -0
  144. package/dist/types/src/blueprints/browser/index.d.ts +2 -0
  145. package/dist/types/src/blueprints/browser/index.d.ts.map +1 -0
  146. package/dist/types/src/blueprints/database/blueprint.d.ts +4 -0
  147. package/dist/types/src/blueprints/database/blueprint.d.ts.map +1 -0
  148. package/dist/types/src/blueprints/database/blueprint.test.d.ts +2 -0
  149. package/dist/types/src/blueprints/database/blueprint.test.d.ts.map +1 -0
  150. package/dist/types/src/blueprints/database/functions/context-add.d.ts +7 -0
  151. package/dist/types/src/blueprints/database/functions/context-add.d.ts.map +1 -0
  152. package/dist/types/src/blueprints/database/functions/context-remove.d.ts +7 -0
  153. package/dist/types/src/blueprints/database/functions/context-remove.d.ts.map +1 -0
  154. package/dist/types/src/blueprints/database/functions/definitions.d.ts +58 -0
  155. package/dist/types/src/blueprints/database/functions/definitions.d.ts.map +1 -0
  156. package/dist/types/src/blueprints/database/functions/index.d.ts +4 -0
  157. package/dist/types/src/blueprints/database/functions/index.d.ts.map +1 -0
  158. package/dist/types/src/blueprints/database/functions/load.d.ts +7 -0
  159. package/dist/types/src/blueprints/database/functions/load.d.ts.map +1 -0
  160. package/dist/types/src/blueprints/database/functions/object-create.d.ts +8 -0
  161. package/dist/types/src/blueprints/database/functions/object-create.d.ts.map +1 -0
  162. package/dist/types/src/blueprints/database/functions/object-delete.d.ts +7 -0
  163. package/dist/types/src/blueprints/database/functions/object-delete.d.ts.map +1 -0
  164. package/dist/types/src/blueprints/database/functions/object-update.d.ts +10 -0
  165. package/dist/types/src/blueprints/database/functions/object-update.d.ts.map +1 -0
  166. package/dist/types/src/blueprints/database/functions/query.d.ts +11 -0
  167. package/dist/types/src/blueprints/database/functions/query.d.ts.map +1 -0
  168. package/dist/types/src/blueprints/database/functions/relation-create.d.ts +10 -0
  169. package/dist/types/src/blueprints/database/functions/relation-create.d.ts.map +1 -0
  170. package/dist/types/src/blueprints/database/functions/relation-delete.d.ts +7 -0
  171. package/dist/types/src/blueprints/database/functions/relation-delete.d.ts.map +1 -0
  172. package/dist/types/src/blueprints/database/functions/schema-add.d.ts +9 -0
  173. package/dist/types/src/blueprints/database/functions/schema-add.d.ts.map +1 -0
  174. package/dist/types/src/blueprints/database/functions/schema-list.d.ts +7 -0
  175. package/dist/types/src/blueprints/database/functions/schema-list.d.ts.map +1 -0
  176. package/dist/types/src/blueprints/database/functions/tag-add.d.ts +8 -0
  177. package/dist/types/src/blueprints/database/functions/tag-add.d.ts.map +1 -0
  178. package/dist/types/src/blueprints/database/functions/tag-remove.d.ts +8 -0
  179. package/dist/types/src/blueprints/database/functions/tag-remove.d.ts.map +1 -0
  180. package/dist/types/src/blueprints/database/index.d.ts +3 -0
  181. package/dist/types/src/blueprints/database/index.d.ts.map +1 -0
  182. package/dist/types/src/blueprints/design/blueprint.d.ts +4 -0
  183. package/dist/types/src/blueprints/design/blueprint.d.ts.map +1 -0
  184. package/dist/types/src/blueprints/design/blueprint.test.d.ts +2 -0
  185. package/dist/types/src/blueprints/design/blueprint.test.d.ts.map +1 -0
  186. package/dist/types/src/blueprints/design/index.d.ts +1 -2
  187. package/dist/types/src/blueprints/design/index.d.ts.map +1 -1
  188. package/dist/types/src/blueprints/discord/blueprint.d.ts +4 -0
  189. package/dist/types/src/blueprints/discord/blueprint.d.ts.map +1 -0
  190. package/dist/types/src/blueprints/discord/functions/definitions.d.ts +16 -0
  191. package/dist/types/src/blueprints/discord/functions/definitions.d.ts.map +1 -0
  192. package/dist/types/src/{functions/discord → blueprints/discord/functions}/fetch-messages.d.ts +4 -2
  193. package/dist/types/src/blueprints/discord/functions/fetch-messages.d.ts.map +1 -0
  194. package/dist/types/src/blueprints/discord/functions/fetch-messages.test.d.ts.map +1 -0
  195. package/dist/types/src/blueprints/discord/functions/index.d.ts +4 -0
  196. package/dist/types/src/blueprints/discord/functions/index.d.ts.map +1 -0
  197. package/dist/types/src/blueprints/discord/index.d.ts +2 -2
  198. package/dist/types/src/blueprints/discord/index.d.ts.map +1 -1
  199. package/dist/types/src/blueprints/github/functions/definitions.d.ts +8 -0
  200. package/dist/types/src/blueprints/github/functions/definitions.d.ts.map +1 -0
  201. package/dist/types/src/blueprints/github/functions/fetch-prs.d.ts +9 -0
  202. package/dist/types/src/blueprints/github/functions/fetch-prs.d.ts.map +1 -0
  203. package/dist/types/src/blueprints/github/functions/index.d.ts +4 -0
  204. package/dist/types/src/blueprints/github/functions/index.d.ts.map +1 -0
  205. package/dist/types/src/blueprints/github/index.d.ts +2 -0
  206. package/dist/types/src/blueprints/github/index.d.ts.map +1 -0
  207. package/dist/types/src/blueprints/index.d.ts +14 -6
  208. package/dist/types/src/blueprints/index.d.ts.map +1 -1
  209. package/dist/types/src/blueprints/linear/blueprint.d.ts +4 -0
  210. package/dist/types/src/blueprints/linear/blueprint.d.ts.map +1 -0
  211. package/dist/types/src/blueprints/linear/functions/definitions.d.ts +7 -0
  212. package/dist/types/src/blueprints/linear/functions/definitions.d.ts.map +1 -0
  213. package/dist/types/src/blueprints/linear/functions/index.d.ts +4 -0
  214. package/dist/types/src/blueprints/linear/functions/index.d.ts.map +1 -0
  215. package/dist/types/src/blueprints/linear/functions/linear.test.d.ts.map +1 -0
  216. package/dist/types/src/blueprints/linear/functions/sync-issues.d.ts +11 -0
  217. package/dist/types/src/blueprints/linear/functions/sync-issues.d.ts.map +1 -0
  218. package/dist/types/src/blueprints/linear/index.d.ts +2 -2
  219. package/dist/types/src/blueprints/linear/index.d.ts.map +1 -1
  220. package/dist/types/src/blueprints/markdown/blueprint.d.ts +4 -0
  221. package/dist/types/src/blueprints/markdown/blueprint.d.ts.map +1 -0
  222. package/dist/types/src/blueprints/markdown/functions/create.d.ts +8 -0
  223. package/dist/types/src/blueprints/markdown/functions/create.d.ts.map +1 -0
  224. package/dist/types/src/blueprints/markdown/functions/definitions.d.ts +30 -0
  225. package/dist/types/src/blueprints/markdown/functions/definitions.d.ts.map +1 -0
  226. package/dist/types/src/blueprints/markdown/functions/index.d.ts +4 -0
  227. package/dist/types/src/blueprints/markdown/functions/index.d.ts.map +1 -0
  228. package/dist/types/src/blueprints/markdown/functions/read.d.ts +16 -0
  229. package/dist/types/src/blueprints/markdown/functions/read.d.ts.map +1 -0
  230. package/dist/types/src/blueprints/markdown/functions/update.d.ts +15 -0
  231. package/dist/types/src/blueprints/markdown/functions/update.d.ts.map +1 -0
  232. package/dist/types/src/blueprints/markdown/index.d.ts +3 -0
  233. package/dist/types/src/blueprints/markdown/index.d.ts.map +1 -0
  234. package/dist/types/src/blueprints/memory/blueprint.d.ts +4 -0
  235. package/dist/types/src/blueprints/memory/blueprint.d.ts.map +1 -0
  236. package/dist/types/src/blueprints/memory/blueprint.test.d.ts +2 -0
  237. package/dist/types/src/blueprints/memory/blueprint.test.d.ts.map +1 -0
  238. package/dist/types/src/blueprints/memory/functions/definitions.d.ts +17 -0
  239. package/dist/types/src/blueprints/memory/functions/definitions.d.ts.map +1 -0
  240. package/dist/types/src/blueprints/memory/functions/delete.d.ts +10 -0
  241. package/dist/types/src/blueprints/memory/functions/delete.d.ts.map +1 -0
  242. package/dist/types/src/blueprints/memory/functions/index.d.ts +4 -0
  243. package/dist/types/src/blueprints/memory/functions/index.d.ts.map +1 -0
  244. package/dist/types/src/blueprints/memory/functions/query.d.ts +8 -0
  245. package/dist/types/src/blueprints/memory/functions/query.d.ts.map +1 -0
  246. package/dist/types/src/blueprints/memory/functions/save.d.ts +8 -0
  247. package/dist/types/src/blueprints/memory/functions/save.d.ts.map +1 -0
  248. package/dist/types/src/blueprints/memory/index.d.ts +3 -0
  249. package/dist/types/src/blueprints/memory/index.d.ts.map +1 -0
  250. package/dist/types/src/blueprints/planning/blueprint.d.ts +4 -0
  251. package/dist/types/src/blueprints/planning/blueprint.d.ts.map +1 -0
  252. package/dist/types/src/blueprints/planning/functions/definitions.d.ts +11 -0
  253. package/dist/types/src/blueprints/planning/functions/definitions.d.ts.map +1 -0
  254. package/dist/types/src/blueprints/planning/functions/index.d.ts +4 -0
  255. package/dist/types/src/blueprints/planning/functions/index.d.ts.map +1 -0
  256. package/dist/types/src/blueprints/planning/functions/update-tasks.d.ts +11 -0
  257. package/dist/types/src/blueprints/planning/functions/update-tasks.d.ts.map +1 -0
  258. package/dist/types/src/blueprints/planning/index.d.ts +2 -2
  259. package/dist/types/src/blueprints/planning/index.d.ts.map +1 -1
  260. package/dist/types/src/blueprints/planning-old/blueprint.d.ts +4 -0
  261. package/dist/types/src/blueprints/planning-old/blueprint.d.ts.map +1 -0
  262. package/dist/types/src/blueprints/planning-old/blueprint.test.d.ts +2 -0
  263. package/dist/types/src/blueprints/planning-old/blueprint.test.d.ts.map +1 -0
  264. package/dist/types/src/blueprints/planning-old/functions/definitions.d.ts +29 -0
  265. package/dist/types/src/blueprints/planning-old/functions/definitions.d.ts.map +1 -0
  266. package/dist/types/src/blueprints/planning-old/functions/index.d.ts +4 -0
  267. package/dist/types/src/blueprints/planning-old/functions/index.d.ts.map +1 -0
  268. package/dist/types/src/blueprints/planning-old/functions/read.d.ts +16 -0
  269. package/dist/types/src/blueprints/planning-old/functions/read.d.ts.map +1 -0
  270. package/dist/types/src/blueprints/planning-old/functions/task-list.d.ts.map +1 -0
  271. package/dist/types/src/blueprints/planning-old/functions/task-list.test.d.ts.map +1 -0
  272. package/dist/types/src/blueprints/planning-old/functions/update.d.ts +18 -0
  273. package/dist/types/src/blueprints/planning-old/functions/update.d.ts.map +1 -0
  274. package/dist/types/src/blueprints/planning-old/index.d.ts +3 -0
  275. package/dist/types/src/blueprints/planning-old/index.d.ts.map +1 -0
  276. package/dist/types/src/blueprints/project/blueprint.d.ts +4 -0
  277. package/dist/types/src/blueprints/project/blueprint.d.ts.map +1 -0
  278. package/dist/types/src/blueprints/project/blueprint.test.d.ts +2 -0
  279. package/dist/types/src/blueprints/project/blueprint.test.d.ts.map +1 -0
  280. package/dist/types/src/blueprints/project/functions/add-artifact.d.ts +8 -0
  281. package/dist/types/src/blueprints/project/functions/add-artifact.d.ts.map +1 -0
  282. package/dist/types/src/blueprints/project/functions/agent.d.ts +62 -0
  283. package/dist/types/src/blueprints/project/functions/agent.d.ts.map +1 -0
  284. package/dist/types/src/blueprints/project/functions/definitions.d.ts +132 -0
  285. package/dist/types/src/blueprints/project/functions/definitions.d.ts.map +1 -0
  286. package/dist/types/src/blueprints/project/functions/get-context.d.ts +15 -0
  287. package/dist/types/src/blueprints/project/functions/get-context.d.ts.map +1 -0
  288. package/dist/types/src/blueprints/project/functions/index.d.ts +4 -0
  289. package/dist/types/src/blueprints/project/functions/index.d.ts.map +1 -0
  290. package/dist/types/src/blueprints/project/functions/qualifier.d.ts +60 -0
  291. package/dist/types/src/blueprints/project/functions/qualifier.d.ts.map +1 -0
  292. package/dist/types/src/blueprints/project/index.d.ts +4 -0
  293. package/dist/types/src/blueprints/project/index.d.ts.map +1 -0
  294. package/dist/types/src/blueprints/project/sync-triggers.d.ts +11 -0
  295. package/dist/types/src/blueprints/project/sync-triggers.d.ts.map +1 -0
  296. package/dist/types/src/blueprints/project-wizard/blueprint.d.ts +4 -0
  297. package/dist/types/src/blueprints/project-wizard/blueprint.d.ts.map +1 -0
  298. package/dist/types/src/blueprints/project-wizard/functions/create-project.d.ts +39 -0
  299. package/dist/types/src/blueprints/project-wizard/functions/create-project.d.ts.map +1 -0
  300. package/dist/types/src/blueprints/project-wizard/functions/definitions.d.ts +40 -0
  301. package/dist/types/src/blueprints/project-wizard/functions/definitions.d.ts.map +1 -0
  302. package/dist/types/src/blueprints/project-wizard/functions/index.d.ts +4 -0
  303. package/dist/types/src/blueprints/project-wizard/functions/index.d.ts.map +1 -0
  304. package/dist/types/src/blueprints/project-wizard/functions/project-rules.d.ts +4 -0
  305. package/dist/types/src/blueprints/project-wizard/functions/project-rules.d.ts.map +1 -0
  306. package/dist/types/src/blueprints/project-wizard/index.d.ts +3 -0
  307. package/dist/types/src/blueprints/project-wizard/index.d.ts.map +1 -0
  308. package/dist/types/src/blueprints/research/blueprint.d.ts +4 -0
  309. package/dist/types/src/blueprints/research/blueprint.d.ts.map +1 -0
  310. package/dist/types/src/blueprints/research/blueprint.test.d.ts +2 -0
  311. package/dist/types/src/blueprints/research/blueprint.test.d.ts.map +1 -0
  312. package/dist/types/src/blueprints/research/functions/definitions.d.ts +21 -0
  313. package/dist/types/src/blueprints/research/functions/definitions.d.ts.map +1 -0
  314. package/dist/types/src/blueprints/research/functions/document-create.d.ts +12 -0
  315. package/dist/types/src/blueprints/research/functions/document-create.d.ts.map +1 -0
  316. package/dist/types/src/blueprints/research/functions/index.d.ts +4 -0
  317. package/dist/types/src/blueprints/research/functions/index.d.ts.map +1 -0
  318. package/dist/types/src/blueprints/research/functions/research.d.ts +18 -0
  319. package/dist/types/src/blueprints/research/functions/research.d.ts.map +1 -0
  320. package/dist/types/src/blueprints/research/functions/research.test.d.ts.map +1 -0
  321. package/dist/types/src/blueprints/research/index.d.ts +3 -2
  322. package/dist/types/src/blueprints/research/index.d.ts.map +1 -1
  323. package/dist/types/src/blueprints/research/types/ResearchGraph.d.ts +18 -0
  324. package/dist/types/src/blueprints/research/types/ResearchGraph.d.ts.map +1 -0
  325. package/dist/types/src/blueprints/research/types/index.d.ts +7 -0
  326. package/dist/types/src/blueprints/research/types/index.d.ts.map +1 -0
  327. package/dist/types/src/blueprints/testing.d.ts +16 -4
  328. package/dist/types/src/blueprints/testing.d.ts.map +1 -1
  329. package/dist/types/src/blueprints/websearch/blueprint.d.ts +4 -0
  330. package/dist/types/src/blueprints/websearch/blueprint.d.ts.map +1 -0
  331. package/dist/types/src/blueprints/websearch/functions/definitions.d.ts +5 -0
  332. package/dist/types/src/blueprints/websearch/functions/definitions.d.ts.map +1 -0
  333. package/dist/types/src/blueprints/websearch/functions/fetch.d.ts +6 -0
  334. package/dist/types/src/blueprints/websearch/functions/fetch.d.ts.map +1 -0
  335. package/dist/types/src/blueprints/websearch/functions/index.d.ts +4 -0
  336. package/dist/types/src/blueprints/websearch/functions/index.d.ts.map +1 -0
  337. package/dist/types/src/blueprints/websearch/index.d.ts +3 -3
  338. package/dist/types/src/blueprints/websearch/index.d.ts.map +1 -1
  339. package/dist/types/src/blueprints/websearch/{websearch-toolkit.d.ts → toolkit.d.ts} +1 -1
  340. package/dist/types/src/blueprints/websearch/toolkit.d.ts.map +1 -0
  341. package/dist/types/src/crud/graph.d.ts +14 -11
  342. package/dist/types/src/crud/graph.d.ts.map +1 -1
  343. package/dist/types/src/functions/agent/definitions.d.ts +93 -0
  344. package/dist/types/src/functions/agent/definitions.d.ts.map +1 -0
  345. package/dist/types/src/functions/agent/index.d.ts +3 -4
  346. package/dist/types/src/functions/agent/index.d.ts.map +1 -1
  347. package/dist/types/src/functions/agent/prompt.d.ts +92 -6
  348. package/dist/types/src/functions/agent/prompt.d.ts.map +1 -1
  349. package/dist/types/src/functions/agent/prompt.test.d.ts +2 -0
  350. package/dist/types/src/functions/agent/prompt.test.d.ts.map +1 -0
  351. package/dist/types/src/functions/entity-extraction/definitions.d.ts +181 -0
  352. package/dist/types/src/functions/entity-extraction/definitions.d.ts.map +1 -0
  353. package/dist/types/src/functions/entity-extraction/entity-extraction.d.ts +146 -137
  354. package/dist/types/src/functions/entity-extraction/entity-extraction.d.ts.map +1 -1
  355. package/dist/types/src/functions/entity-extraction/index.d.ts +3 -173
  356. package/dist/types/src/functions/entity-extraction/index.d.ts.map +1 -1
  357. package/dist/types/src/functions/exa/data/exa-search-1748337321991.d.ts.map +1 -0
  358. package/dist/types/src/functions/exa/data/exa-search-1748337331526.d.ts.map +1 -0
  359. package/dist/types/src/functions/exa/data/exa-search-1748337344119.d.ts.map +1 -0
  360. package/dist/types/src/functions/exa/data/index.d.ts.map +1 -0
  361. package/dist/types/src/functions/exa/definitions.d.ts +9 -0
  362. package/dist/types/src/functions/exa/definitions.d.ts.map +1 -0
  363. package/dist/types/src/functions/exa/exa.d.ts +4 -2
  364. package/dist/types/src/functions/exa/exa.d.ts.map +1 -1
  365. package/dist/types/src/functions/exa/index.d.ts +3 -2
  366. package/dist/types/src/functions/exa/index.d.ts.map +1 -1
  367. package/dist/types/src/functions/exa/mock.d.ts +3 -2
  368. package/dist/types/src/functions/exa/mock.d.ts.map +1 -1
  369. package/dist/types/src/functions/index.d.ts +1 -5
  370. package/dist/types/src/functions/index.d.ts.map +1 -1
  371. package/dist/types/src/index.d.ts +2 -2
  372. package/dist/types/src/index.d.ts.map +1 -1
  373. package/dist/types/src/sync/sync.d.ts +3 -3
  374. package/dist/types/src/sync/sync.d.ts.map +1 -1
  375. package/dist/types/src/testing/index.d.ts +2 -1
  376. package/dist/types/src/testing/index.d.ts.map +1 -1
  377. package/dist/types/src/testing/plugins.d.ts +19 -0
  378. package/dist/types/src/testing/plugins.d.ts.map +1 -0
  379. package/dist/types/src/toolkits/WebToolkit.d.ts +38 -0
  380. package/dist/types/src/toolkits/WebToolkit.d.ts.map +1 -0
  381. package/dist/types/src/toolkits/index.d.ts +1 -2
  382. package/dist/types/src/toolkits/index.d.ts.map +1 -1
  383. package/dist/types/src/types/Chat.d.ts +28 -0
  384. package/dist/types/src/types/Chat.d.ts.map +1 -0
  385. package/dist/types/src/types/Memory.d.ts +12 -0
  386. package/dist/types/src/types/Memory.d.ts.map +1 -0
  387. package/dist/types/src/types/Plan.d.ts +74 -0
  388. package/dist/types/src/types/Plan.d.ts.map +1 -0
  389. package/dist/types/src/types/Project.d.ts +64 -0
  390. package/dist/types/src/types/Project.d.ts.map +1 -0
  391. package/dist/types/src/types/index.d.ts +5 -0
  392. package/dist/types/src/types/index.d.ts.map +1 -0
  393. package/dist/types/tsconfig.tsbuildinfo +1 -1
  394. package/package.json +50 -40
  395. package/src/blueprints/automation/blueprint.ts +109 -0
  396. package/src/blueprints/automation/index.ts +5 -0
  397. package/src/blueprints/blueprint-manager/blueprint.test.ts +130 -0
  398. package/src/blueprints/blueprint-manager/blueprint.ts +49 -0
  399. package/src/blueprints/blueprint-manager/functions/definitions.ts +46 -0
  400. package/src/blueprints/blueprint-manager/functions/enable-blueprints.ts +44 -0
  401. package/src/blueprints/blueprint-manager/functions/index.ts +12 -0
  402. package/src/blueprints/blueprint-manager/functions/query-blueprints.ts +19 -0
  403. package/src/blueprints/blueprint-manager/index.ts +6 -0
  404. package/src/blueprints/browser/blueprint.conversations.json +1 -0
  405. package/src/blueprints/browser/blueprint.test.ts +72 -0
  406. package/src/blueprints/browser/blueprint.ts +41 -0
  407. package/src/blueprints/browser/index.ts +5 -0
  408. package/src/blueprints/database/blueprint.conversations.json +1 -0
  409. package/src/blueprints/database/blueprint.test.ts +341 -0
  410. package/src/blueprints/database/blueprint.ts +67 -0
  411. package/src/blueprints/database/functions/context-add.ts +24 -0
  412. package/src/blueprints/database/functions/context-remove.ts +24 -0
  413. package/src/blueprints/database/functions/definitions.ts +301 -0
  414. package/src/blueprints/database/functions/index.ts +23 -0
  415. package/src/blueprints/database/functions/load.ts +19 -0
  416. package/src/blueprints/database/functions/object-create.ts +38 -0
  417. package/src/blueprints/database/functions/object-delete.ts +20 -0
  418. package/src/blueprints/database/functions/object-update.ts +30 -0
  419. package/src/blueprints/database/functions/query.ts +56 -0
  420. package/src/blueprints/database/functions/relation-create.ts +34 -0
  421. package/src/blueprints/database/functions/relation-delete.ts +21 -0
  422. package/src/blueprints/database/functions/schema-add.ts +28 -0
  423. package/src/blueprints/database/functions/schema-list.ts +27 -0
  424. package/src/blueprints/database/functions/tag-add.ts +21 -0
  425. package/src/blueprints/database/functions/tag-remove.ts +21 -0
  426. package/src/blueprints/database/index.ts +21 -0
  427. package/src/blueprints/design/{design-blueprint.test.ts → blueprint.test.ts} +19 -26
  428. package/src/blueprints/design/{design-blueprint.ts → blueprint.ts} +20 -12
  429. package/src/blueprints/design/index.ts +1 -3
  430. package/src/blueprints/discord/blueprint.ts +42 -0
  431. package/src/blueprints/discord/functions/definitions.ts +71 -0
  432. package/src/{functions/discord → blueprints/discord/functions}/fetch-messages.test.ts +7 -9
  433. package/src/blueprints/discord/functions/fetch-messages.ts +199 -0
  434. package/src/blueprints/discord/functions/index.ts +9 -0
  435. package/src/blueprints/discord/index.ts +2 -3
  436. package/src/blueprints/github/functions/definitions.ts +27 -0
  437. package/src/blueprints/github/functions/fetch-prs.ts +24 -0
  438. package/src/blueprints/github/functions/index.ts +9 -0
  439. package/src/blueprints/github/index.ts +5 -0
  440. package/src/blueprints/index.ts +14 -6
  441. package/src/blueprints/linear/blueprint.ts +43 -0
  442. package/src/blueprints/linear/functions/definitions.ts +24 -0
  443. package/src/blueprints/linear/functions/index.ts +9 -0
  444. package/src/blueprints/linear/functions/linear.test.ts +60 -0
  445. package/src/{functions/linear → blueprints/linear/functions}/sync-issues.ts +40 -46
  446. package/src/blueprints/linear/index.ts +2 -3
  447. package/src/blueprints/markdown/blueprint.ts +36 -0
  448. package/src/blueprints/markdown/functions/create.ts +20 -0
  449. package/src/blueprints/markdown/functions/definitions.ts +63 -0
  450. package/src/blueprints/markdown/functions/index.ts +13 -0
  451. package/src/blueprints/markdown/functions/read.ts +22 -0
  452. package/src/blueprints/markdown/functions/update.ts +22 -0
  453. package/src/blueprints/markdown/index.ts +11 -0
  454. package/src/blueprints/memory/blueprint.conversations.json +1 -0
  455. package/src/blueprints/memory/blueprint.test.ts +135 -0
  456. package/src/blueprints/memory/blueprint.ts +42 -0
  457. package/src/blueprints/memory/functions/definitions.ts +68 -0
  458. package/src/blueprints/memory/functions/delete.ts +19 -0
  459. package/src/blueprints/memory/functions/index.ts +13 -0
  460. package/src/blueprints/memory/functions/query.ts +32 -0
  461. package/src/blueprints/memory/functions/save.ts +20 -0
  462. package/src/blueprints/memory/index.ts +6 -0
  463. package/src/blueprints/planning/blueprint.ts +25 -0
  464. package/src/blueprints/planning/functions/definitions.ts +137 -0
  465. package/src/blueprints/planning/functions/index.ts +9 -0
  466. package/src/blueprints/planning/functions/update-tasks.ts +45 -0
  467. package/src/blueprints/planning/index.ts +3 -4
  468. package/src/blueprints/{planning/planning-blueprint.test.ts → planning-old/blueprint.test.ts} +17 -19
  469. package/src/blueprints/{planning/planning-blueprint.ts → planning-old/blueprint.ts} +20 -12
  470. package/src/blueprints/planning-old/functions/definitions.ts +53 -0
  471. package/src/blueprints/planning-old/functions/index.ts +12 -0
  472. package/src/blueprints/planning-old/functions/read.ts +24 -0
  473. package/src/blueprints/planning-old/functions/update.ts +31 -0
  474. package/src/blueprints/planning-old/index.ts +6 -0
  475. package/src/blueprints/project/blueprint.test.ts +581 -0
  476. package/src/blueprints/project/blueprint.ts +65 -0
  477. package/src/blueprints/project/functions/add-artifact.ts +30 -0
  478. package/src/blueprints/project/functions/agent.ts +63 -0
  479. package/src/blueprints/project/functions/definitions.ts +94 -0
  480. package/src/blueprints/project/functions/get-context.ts +46 -0
  481. package/src/blueprints/project/functions/index.ts +14 -0
  482. package/src/blueprints/project/functions/qualifier.ts +90 -0
  483. package/src/blueprints/project/index.ts +7 -0
  484. package/src/blueprints/project/sync-triggers.ts +149 -0
  485. package/src/blueprints/project-wizard/blueprint.ts +43 -0
  486. package/src/blueprints/project-wizard/functions/create-project.ts +33 -0
  487. package/src/blueprints/project-wizard/functions/definitions.ts +48 -0
  488. package/src/blueprints/project-wizard/functions/index.ts +12 -0
  489. package/src/blueprints/project-wizard/functions/project-rules.ts +76 -0
  490. package/src/blueprints/project-wizard/index.ts +6 -0
  491. package/src/blueprints/research/{research-blueprint.ts → blueprint.ts} +21 -13
  492. package/src/blueprints/research/functions/definitions.ts +87 -0
  493. package/src/blueprints/research/functions/document-create.ts +50 -0
  494. package/src/blueprints/research/functions/index.ts +12 -0
  495. package/src/{functions/research → blueprints/research/functions}/research-instructions.tpl +5 -5
  496. package/src/blueprints/research/functions/research.conversations.json +1 -0
  497. package/src/blueprints/research/functions/research.test.ts +152 -0
  498. package/src/blueprints/research/functions/research.ts +137 -0
  499. package/src/blueprints/research/index.ts +3 -3
  500. package/src/blueprints/research/types/ResearchGraph.ts +49 -0
  501. package/src/{functions/research/types.ts → blueprints/research/types/index.ts} +12 -6
  502. package/src/blueprints/testing.ts +34 -5
  503. package/src/blueprints/websearch/blueprint.ts +31 -0
  504. package/src/blueprints/websearch/functions/definitions.ts +25 -0
  505. package/src/blueprints/websearch/functions/fetch.ts +18 -0
  506. package/src/blueprints/websearch/functions/index.ts +9 -0
  507. package/src/blueprints/websearch/index.ts +3 -4
  508. package/src/crud/graph.test.ts +6 -29
  509. package/src/crud/graph.ts +32 -40
  510. package/src/functions/READ_THIS.md +5 -0
  511. package/src/functions/agent/definitions.ts +52 -0
  512. package/src/functions/agent/index.ts +3 -5
  513. package/src/functions/agent/prompt.test.ts +134 -0
  514. package/src/functions/agent/prompt.ts +115 -100
  515. package/src/functions/entity-extraction/definitions.ts +36 -0
  516. package/src/functions/entity-extraction/entity-extraction.conversations.json +1 -1
  517. package/src/functions/entity-extraction/entity-extraction.test.ts +15 -31
  518. package/src/functions/entity-extraction/entity-extraction.ts +81 -88
  519. package/src/functions/entity-extraction/index.ts +4 -4
  520. package/src/functions/exa/definitions.ts +37 -0
  521. package/src/functions/exa/exa.ts +22 -27
  522. package/src/functions/exa/index.ts +8 -2
  523. package/src/functions/exa/mock.ts +26 -35
  524. package/src/functions/index.ts +1 -5
  525. package/src/index.ts +2 -2
  526. package/src/sync/sync.ts +38 -30
  527. package/src/testing/index.ts +2 -1
  528. package/src/testing/plugins.tsx +72 -0
  529. package/src/toolkits/WebToolkit.ts +33 -0
  530. package/src/toolkits/index.ts +1 -2
  531. package/src/types/Chat.ts +49 -0
  532. package/src/types/Memory.ts +23 -0
  533. package/src/types/Plan.ts +110 -0
  534. package/src/types/Project.ts +197 -0
  535. package/src/types/index.ts +8 -0
  536. package/dist/lib/browser/index.mjs.map +0 -7
  537. package/dist/lib/browser/meta.json +0 -1
  538. package/dist/lib/node-esm/index.mjs +0 -2778
  539. package/dist/lib/node-esm/index.mjs.map +0 -7
  540. package/dist/lib/node-esm/meta.json +0 -1
  541. package/dist/types/src/blueprints/design/design-blueprint.d.ts +0 -4
  542. package/dist/types/src/blueprints/design/design-blueprint.d.ts.map +0 -1
  543. package/dist/types/src/blueprints/design/design-blueprint.test.d.ts +0 -2
  544. package/dist/types/src/blueprints/design/design-blueprint.test.d.ts.map +0 -1
  545. package/dist/types/src/blueprints/discord/discord-blueprint.d.ts +0 -18
  546. package/dist/types/src/blueprints/discord/discord-blueprint.d.ts.map +0 -1
  547. package/dist/types/src/blueprints/linear/linear-blueprint.d.ts +0 -18
  548. package/dist/types/src/blueprints/linear/linear-blueprint.d.ts.map +0 -1
  549. package/dist/types/src/blueprints/planning/planning-blueprint.d.ts +0 -4
  550. package/dist/types/src/blueprints/planning/planning-blueprint.d.ts.map +0 -1
  551. package/dist/types/src/blueprints/planning/planning-blueprint.test.d.ts +0 -2
  552. package/dist/types/src/blueprints/planning/planning-blueprint.test.d.ts.map +0 -1
  553. package/dist/types/src/blueprints/research/research-blueprint.d.ts +0 -4
  554. package/dist/types/src/blueprints/research/research-blueprint.d.ts.map +0 -1
  555. package/dist/types/src/blueprints/research/research-blueprint.test.d.ts +0 -2
  556. package/dist/types/src/blueprints/research/research-blueprint.test.d.ts.map +0 -1
  557. package/dist/types/src/blueprints/websearch/websearch-blueprint.d.ts +0 -4
  558. package/dist/types/src/blueprints/websearch/websearch-blueprint.d.ts.map +0 -1
  559. package/dist/types/src/blueprints/websearch/websearch-toolkit.d.ts.map +0 -1
  560. package/dist/types/src/experimental/feed.test.d.ts +0 -2
  561. package/dist/types/src/experimental/feed.test.d.ts.map +0 -1
  562. package/dist/types/src/functions/discord/fetch-messages.d.ts.map +0 -1
  563. package/dist/types/src/functions/discord/fetch-messages.test.d.ts.map +0 -1
  564. package/dist/types/src/functions/discord/index.d.ts +0 -12
  565. package/dist/types/src/functions/discord/index.d.ts.map +0 -1
  566. package/dist/types/src/functions/document/index.d.ts +0 -13
  567. package/dist/types/src/functions/document/index.d.ts.map +0 -1
  568. package/dist/types/src/functions/document/read.d.ts +0 -7
  569. package/dist/types/src/functions/document/read.d.ts.map +0 -1
  570. package/dist/types/src/functions/document/update.d.ts +0 -6
  571. package/dist/types/src/functions/document/update.d.ts.map +0 -1
  572. package/dist/types/src/functions/github/fetch-prs.d.ts +0 -6
  573. package/dist/types/src/functions/github/fetch-prs.d.ts.map +0 -1
  574. package/dist/types/src/functions/linear/index.d.ts +0 -9
  575. package/dist/types/src/functions/linear/index.d.ts.map +0 -1
  576. package/dist/types/src/functions/linear/linear.test.d.ts.map +0 -1
  577. package/dist/types/src/functions/linear/sync-issues.d.ts +0 -12
  578. package/dist/types/src/functions/linear/sync-issues.d.ts.map +0 -1
  579. package/dist/types/src/functions/research/document-create.d.ts +0 -9
  580. package/dist/types/src/functions/research/document-create.d.ts.map +0 -1
  581. package/dist/types/src/functions/research/index.d.ts +0 -21
  582. package/dist/types/src/functions/research/index.d.ts.map +0 -1
  583. package/dist/types/src/functions/research/research-graph.d.ts +0 -18
  584. package/dist/types/src/functions/research/research-graph.d.ts.map +0 -1
  585. package/dist/types/src/functions/research/research.d.ts +0 -14
  586. package/dist/types/src/functions/research/research.d.ts.map +0 -1
  587. package/dist/types/src/functions/research/research.test.d.ts.map +0 -1
  588. package/dist/types/src/functions/research/types.d.ts +0 -6
  589. package/dist/types/src/functions/research/types.d.ts.map +0 -1
  590. package/dist/types/src/functions/tasks/index.d.ts +0 -15
  591. package/dist/types/src/functions/tasks/index.d.ts.map +0 -1
  592. package/dist/types/src/functions/tasks/read.d.ts +0 -7
  593. package/dist/types/src/functions/tasks/read.d.ts.map +0 -1
  594. package/dist/types/src/functions/tasks/task-list.d.ts.map +0 -1
  595. package/dist/types/src/functions/tasks/task-list.test.d.ts.map +0 -1
  596. package/dist/types/src/functions/tasks/update.d.ts +0 -9
  597. package/dist/types/src/functions/tasks/update.d.ts.map +0 -1
  598. package/dist/types/src/plugins.d.ts +0 -19
  599. package/dist/types/src/plugins.d.ts.map +0 -1
  600. package/dist/types/src/testing/data/exa-search-1748337321991.d.ts.map +0 -1
  601. package/dist/types/src/testing/data/exa-search-1748337331526.d.ts.map +0 -1
  602. package/dist/types/src/testing/data/exa-search-1748337344119.d.ts.map +0 -1
  603. package/dist/types/src/testing/data/index.d.ts.map +0 -1
  604. package/dist/types/src/toolkits/AssistantToolkit.d.ts +0 -17
  605. package/dist/types/src/toolkits/AssistantToolkit.d.ts.map +0 -1
  606. package/dist/types/src/toolkits/AssistantToolkit.test.d.ts +0 -2
  607. package/dist/types/src/toolkits/AssistantToolkit.test.d.ts.map +0 -1
  608. package/dist/types/src/toolkits/SystemToolkit.d.ts +0 -67
  609. package/dist/types/src/toolkits/SystemToolkit.d.ts.map +0 -1
  610. package/src/blueprints/discord/discord-blueprint.ts +0 -34
  611. package/src/blueprints/linear/linear-blueprint.ts +0 -35
  612. package/src/blueprints/websearch/websearch-blueprint.ts +0 -20
  613. package/src/experimental/feed.test.ts +0 -111
  614. package/src/functions/discord/fetch-messages.ts +0 -252
  615. package/src/functions/discord/index.ts +0 -9
  616. package/src/functions/document/index.ts +0 -12
  617. package/src/functions/document/read.ts +0 -29
  618. package/src/functions/document/update.ts +0 -30
  619. package/src/functions/github/fetch-prs.ts +0 -30
  620. package/src/functions/linear/index.ts +0 -9
  621. package/src/functions/linear/linear.test.ts +0 -83
  622. package/src/functions/research/document-create.ts +0 -75
  623. package/src/functions/research/index.ts +0 -14
  624. package/src/functions/research/research-graph.ts +0 -47
  625. package/src/functions/research/research.conversations.json +0 -1
  626. package/src/functions/research/research.test.ts +0 -179
  627. package/src/functions/research/research.ts +0 -190
  628. package/src/functions/tasks/index.ts +0 -11
  629. package/src/functions/tasks/read.ts +0 -34
  630. package/src/functions/tasks/update.ts +0 -52
  631. package/src/plugins.tsx +0 -68
  632. package/src/toolkits/AssistantToolkit.conversations.json +0 -1
  633. package/src/toolkits/AssistantToolkit.test.ts +0 -88
  634. package/src/toolkits/AssistantToolkit.ts +0 -47
  635. package/src/toolkits/SystemToolkit.ts +0 -231
  636. /package/dist/types/src/{functions/discord → blueprints/discord/functions}/fetch-messages.test.d.ts +0 -0
  637. /package/dist/types/src/{functions/linear → blueprints/linear/functions}/linear.test.d.ts +0 -0
  638. /package/dist/types/src/{functions/tasks → blueprints/planning-old/functions}/task-list.d.ts +0 -0
  639. /package/dist/types/src/{functions/tasks → blueprints/planning-old/functions}/task-list.test.d.ts +0 -0
  640. /package/dist/types/src/{functions/research → blueprints/research/functions}/research.test.d.ts +0 -0
  641. /package/dist/types/src/{testing → functions/exa}/data/exa-search-1748337321991.d.ts +0 -0
  642. /package/dist/types/src/{testing → functions/exa}/data/exa-search-1748337331526.d.ts +0 -0
  643. /package/dist/types/src/{testing → functions/exa}/data/exa-search-1748337344119.d.ts +0 -0
  644. /package/dist/types/src/{testing → functions/exa}/data/index.d.ts +0 -0
  645. /package/src/{functions/tasks → blueprints/planning-old/functions}/task-list.test.ts +0 -0
  646. /package/src/{functions/tasks → blueprints/planning-old/functions}/task-list.ts +0 -0
  647. /package/src/blueprints/research/{research-blueprint.test.ts → blueprint.test.ts} +0 -0
  648. /package/src/blueprints/websearch/{websearch-toolkit.ts → toolkit.ts} +0 -0
  649. /package/src/{testing → functions/exa}/data/exa-search-1748337321991.ts +0 -0
  650. /package/src/{testing → functions/exa}/data/exa-search-1748337331526.ts +0 -0
  651. /package/src/{testing → functions/exa}/data/exa-search-1748337344119.ts +0 -0
  652. /package/src/{testing → functions/exa}/data/index.ts +0 -0
@@ -0,0 +1,356 @@
1
+ import {
2
+ __export
3
+ } from "./chunk-J5LGTIGS.mjs";
4
+
5
+ // src/crud/graph.ts
6
+ import * as Tool from "@effect/ai/Tool";
7
+ import * as Toolkit from "@effect/ai/Toolkit";
8
+ import * as Context from "effect/Context";
9
+ import * as Effect from "effect/Effect";
10
+ import * as Function from "effect/Function";
11
+ import * as Option from "effect/Option";
12
+ import * as Schema from "effect/Schema";
13
+ import * as SchemaAST from "effect/SchemaAST";
14
+ import { Entity, Filter, Obj, Query, Type } from "@dxos/echo";
15
+ import { Database } from "@dxos/echo";
16
+ import { ReferenceAnnotationId, RelationSourceDXNId, RelationSourceId, RelationTargetDXNId, RelationTargetId, createObject, getTypeAnnotation, getTypeIdentifierAnnotation } from "@dxos/echo/internal";
17
+ import { isEncodedReference } from "@dxos/echo-protocol";
18
+ import { mapAst } from "@dxos/effect";
19
+ import { ContextQueueService } from "@dxos/functions";
20
+ import { DXN, ObjectId } from "@dxos/keys";
21
+ import { log } from "@dxos/log";
22
+ import { deepMapValues, isNonNullable, trim } from "@dxos/util";
23
+ var __dxlog_file = "/__w/dxos/dxos/packages/core/assistant-toolkit/src/crud/graph.ts";
24
+ var Subgraph = Schema.Struct({
25
+ /** Objects and relations. */
26
+ objects: Schema.Array(Schema.Any)
27
+ });
28
+ var findRelatedSchema = async (db, anchor) => {
29
+ const allSchemas = await db.graph.schemaRegistry.query().run();
30
+ return allSchemas.filter((schema) => {
31
+ if (getTypeAnnotation(schema)?.kind !== Entity.Kind.Relation) {
32
+ return false;
33
+ }
34
+ return isSchemaAddressableByDxn(anchor, DXN.parse(getTypeAnnotation(schema).sourceSchema)) || isSchemaAddressableByDxn(anchor, DXN.parse(getTypeAnnotation(schema).targetSchema));
35
+ }).map((schema) => ({
36
+ kind: "relation",
37
+ schema
38
+ }));
39
+ };
40
+ var isSchemaAddressableByDxn = (schema, dxn) => {
41
+ if (getTypeIdentifierAnnotation(schema) === dxn.toString()) {
42
+ return true;
43
+ }
44
+ const t = dxn.asTypeDXN();
45
+ if (t) {
46
+ return t.type === Type.getTypename(schema);
47
+ }
48
+ return false;
49
+ };
50
+ var LocalSearchToolkit = Toolkit.make(Tool.make("search_local_search", {
51
+ description: "Search the local database for information using a vector index",
52
+ parameters: {
53
+ query: Schema.String.annotations({
54
+ description: "The query to search for. Could be a question or a topic or a set of keywords."
55
+ })
56
+ },
57
+ success: Schema.Unknown,
58
+ failure: Schema.Never,
59
+ dependencies: [
60
+ Database.Service
61
+ ]
62
+ }));
63
+ var LocalSearchHandler = LocalSearchToolkit.toLayer({
64
+ search_local_search: Effect.fn(function* ({ query: query2 }) {
65
+ const objects = yield* Database.runQuery(Query.select(Filter.text(query2, {
66
+ type: "vector"
67
+ })));
68
+ const results = [
69
+ ...objects
70
+ ];
71
+ const option = yield* Effect.serviceOption(ContextQueueService);
72
+ if (Option.isSome(option)) {
73
+ const queueObjects = yield* Effect.promise(() => option.value.queue.queryObjects());
74
+ results.push(...queueObjects);
75
+ }
76
+ return trim`
77
+ <local_context>
78
+ ${JSON.stringify(results, null, 2)}
79
+ </local_context>
80
+ `;
81
+ })
82
+ });
83
+ var GraphWriterSchema = class extends Context.Tag("@dxos/assistant/GraphWriterSchema")() {
84
+ };
85
+ var makeGraphWriterToolkit = ({ schema }) => {
86
+ return Toolkit.make(Tool.make("graph_writer", {
87
+ description: "Write to the local graph database",
88
+ parameters: createExtractionSchema(schema).fields,
89
+ success: Schema.Unknown,
90
+ failure: Schema.Never,
91
+ dependencies: [
92
+ Database.Service,
93
+ ContextQueueService
94
+ ]
95
+ }).annotateContext(Context.make(GraphWriterSchema, {
96
+ schema
97
+ })));
98
+ };
99
+ var makeGraphWriterHandler = (toolkit, { onAppend } = {}) => {
100
+ const { schema } = Context.get(toolkit.tools.graph_writer.annotations, GraphWriterSchema);
101
+ return toolkit.toLayer({
102
+ graph_writer: Effect.fn(function* (input) {
103
+ const { db } = yield* Database.Service;
104
+ const { queue } = yield* ContextQueueService;
105
+ const data = yield* Effect.promise(() => sanitizeObjects(schema, input, db, queue));
106
+ yield* Effect.promise(() => queue.append(data));
107
+ const dxns = data.map((obj) => Obj.getDXN(obj));
108
+ onAppend?.(dxns);
109
+ return dxns;
110
+ })
111
+ });
112
+ };
113
+ var createExtractionSchema = (types) => {
114
+ return Schema.Struct({
115
+ ...Object.fromEntries(types.map(preprocessSchema).map((schema, index) => [
116
+ `objects_${getSanitizedSchemaName(types[index])}`,
117
+ Schema.optional(Schema.Array(schema)).annotations({
118
+ description: `The objects of type: ${Type.getDXN(types[index])?.asTypeDXN().type}. ${SchemaAST.getDescriptionAnnotation(types[index].ast).pipe(Option.getOrElse(() => ""))}`
119
+ })
120
+ ]))
121
+ });
122
+ };
123
+ var getSanitizedSchemaName = (schema) => {
124
+ return Type.getDXN(schema).asTypeDXN().type.replaceAll(/[^a-zA-Z0-9]+/g, "_");
125
+ };
126
+ var sanitizeObjects = async (types, data, db, queue) => {
127
+ const entries = types.map((type) => data[`objects_${getSanitizedSchemaName(type)}`]?.map((object) => ({
128
+ data: object,
129
+ schema: type
130
+ })) ?? []).flat();
131
+ const idMap = /* @__PURE__ */ new Map();
132
+ const existingIds = /* @__PURE__ */ new Set();
133
+ const enitties = /* @__PURE__ */ new Map();
134
+ const resolveId = (id) => {
135
+ if (ObjectId.isValid(id)) {
136
+ existingIds.add(id);
137
+ return DXN.fromLocalObjectId(id);
138
+ }
139
+ const mappedId = idMap.get(id);
140
+ if (mappedId) {
141
+ return DXN.fromLocalObjectId(mappedId);
142
+ }
143
+ return void 0;
144
+ };
145
+ const res = entries.map((entry) => {
146
+ if (ObjectId.isValid(entry.data.id)) {
147
+ return entry;
148
+ }
149
+ idMap.set(entry.data.id, ObjectId.random());
150
+ entry.data.id = idMap.get(entry.data.id);
151
+ return entry;
152
+ }).map((entry) => {
153
+ const data2 = deepMapValues(entry.data, (value, recurse) => {
154
+ if (isEncodedReference(value)) {
155
+ const ref = value["/"];
156
+ const id = resolveId(ref);
157
+ if (id) {
158
+ return {
159
+ "/": id.toString()
160
+ };
161
+ } else {
162
+ return {
163
+ "/": `search:?q=${encodeURIComponent(ref)}`
164
+ };
165
+ }
166
+ }
167
+ return recurse(value);
168
+ });
169
+ if (Entity.getKind(entry.schema) === "relation") {
170
+ const sourceDxn = resolveId(data2.source);
171
+ if (!sourceDxn) {
172
+ log.warn("source not found", {
173
+ source: data2.source
174
+ }, {
175
+ F: __dxlog_file,
176
+ L: 273,
177
+ S: void 0,
178
+ C: (f, a) => f(...a)
179
+ });
180
+ }
181
+ const targetDxn = resolveId(data2.target);
182
+ if (!targetDxn) {
183
+ log.warn("target not found", {
184
+ target: data2.target
185
+ }, {
186
+ F: __dxlog_file,
187
+ L: 277,
188
+ S: void 0,
189
+ C: (f, a) => f(...a)
190
+ });
191
+ }
192
+ delete data2.source;
193
+ delete data2.target;
194
+ data2[RelationSourceDXNId] = sourceDxn;
195
+ data2[RelationTargetDXNId] = targetDxn;
196
+ }
197
+ return {
198
+ data: data2,
199
+ schema: entry.schema
200
+ };
201
+ }).filter((object) => !existingIds.has(object.data.id));
202
+ const dbObjects = await db.query(Query.select(Filter.id(...existingIds))).run();
203
+ const queueObjects = await queue?.getObjectsById([
204
+ ...existingIds
205
+ ]) ?? [];
206
+ const objects = [
207
+ ...dbObjects,
208
+ ...queueObjects
209
+ ].filter(isNonNullable);
210
+ log.info("objects", {
211
+ dbObjects,
212
+ queueObjects,
213
+ existingIds
214
+ }, {
215
+ F: __dxlog_file,
216
+ L: 298,
217
+ S: void 0,
218
+ C: (f, a) => f(...a)
219
+ });
220
+ const missing = Array.from(existingIds).filter((id) => !objects.some((object) => object.id === id));
221
+ if (missing.length > 0) {
222
+ throw new Error(`Object IDs do not point to existing objects: ${missing.join(", ")}`);
223
+ }
224
+ return res.flatMap(({ data: data2, schema }) => {
225
+ let skip = false;
226
+ if (RelationSourceDXNId in data2) {
227
+ const id = data2[RelationSourceDXNId].asEchoDXN()?.echoId;
228
+ const obj = objects.find((object) => object.id === id) ?? enitties.get(id);
229
+ if (obj) {
230
+ delete data2[RelationSourceDXNId];
231
+ data2[RelationSourceId] = obj;
232
+ } else {
233
+ skip = true;
234
+ }
235
+ }
236
+ if (RelationTargetDXNId in data2) {
237
+ const id = data2[RelationTargetDXNId].asEchoDXN()?.echoId;
238
+ const obj = objects.find((object) => object.id === id) ?? enitties.get(id);
239
+ if (obj) {
240
+ delete data2[RelationTargetDXNId];
241
+ data2[RelationTargetId] = obj;
242
+ } else {
243
+ skip = true;
244
+ }
245
+ }
246
+ if (!skip) {
247
+ const obj = createObject(schema, data2);
248
+ enitties.set(obj.id, obj);
249
+ return [
250
+ obj
251
+ ];
252
+ }
253
+ return [];
254
+ });
255
+ };
256
+ var SoftRef = Schema.Struct({
257
+ "/": Schema.String
258
+ }).annotations({
259
+ description: "Reference to another object."
260
+ });
261
+ var preprocessSchema = (schema) => {
262
+ const isRelationSchema = Entity.getKind(schema) === "relation";
263
+ const go = (ast, visited = /* @__PURE__ */ new Set()) => {
264
+ if (visited.has(ast)) {
265
+ return ast;
266
+ }
267
+ visited.add(ast);
268
+ if (SchemaAST.getAnnotation(ast, ReferenceAnnotationId).pipe(Option.isSome)) {
269
+ return SoftRef.ast;
270
+ }
271
+ return mapAst(ast, (child) => go(child, visited));
272
+ };
273
+ return Schema.make(mapAst(schema.ast, (ast) => go(ast))).pipe(Schema.omit("id"), Schema.extend(Schema.Struct({
274
+ id: Schema.String.annotations({
275
+ description: "The id of this object. Come up with a unique id based on your judgement."
276
+ })
277
+ })), isRelationSchema ? Schema.extend(Schema.Struct({
278
+ source: Schema.String.annotations({
279
+ description: "The id of the source object for this relation."
280
+ }),
281
+ target: Schema.String.annotations({
282
+ description: "The id of the target object for this relation."
283
+ })
284
+ })) : Function.identity);
285
+ };
286
+
287
+ // src/blueprints/research/types/ResearchGraph.ts
288
+ var ResearchGraph_exports = {};
289
+ __export(ResearchGraph_exports, {
290
+ ResearchGraph: () => ResearchGraph,
291
+ contextQueueLayer: () => contextQueueLayer,
292
+ create: () => create,
293
+ query: () => query
294
+ });
295
+ import * as Effect2 from "effect/Effect";
296
+ import * as Layer from "effect/Layer";
297
+ import * as Schema2 from "effect/Schema";
298
+ import { Database as Database2, Obj as Obj2, Query as Query2, Ref, Type as Type2 } from "@dxos/echo";
299
+ import { SystemTypeAnnotation } from "@dxos/echo/internal";
300
+ import { Queue } from "@dxos/echo-db";
301
+ import { ContextQueueService as ContextQueueService2, QueueService } from "@dxos/functions";
302
+ var ResearchGraph = Schema2.Struct({
303
+ queue: Ref.Ref(Queue)
304
+ }).pipe(Type2.object({
305
+ typename: "org.dxos.type.research-graph",
306
+ version: "0.1.0"
307
+ }), SystemTypeAnnotation.set(true));
308
+ var create = Effect2.fn("createResearchGraph")(function* () {
309
+ const queue = yield* QueueService.createQueue();
310
+ return yield* Database2.add(Obj2.make(ResearchGraph, {
311
+ queue: Ref.fromDXN(queue.dxn)
312
+ }));
313
+ });
314
+ var query = Effect2.fn("queryResearchGraph")(function* () {
315
+ const objects = yield* Database2.runQuery(Query2.type(ResearchGraph));
316
+ return objects.at(0);
317
+ });
318
+ var contextQueueLayer = Layer.unwrapEffect(Effect2.gen(function* () {
319
+ const researchGraph = (yield* query()) ?? (yield* create());
320
+ const researchQueue = yield* Database2.load(researchGraph.queue);
321
+ return ContextQueueService2.layer(researchQueue);
322
+ }));
323
+
324
+ // src/blueprints/research/types/index.ts
325
+ import { Text } from "@dxos/schema";
326
+ import { Event, HasConnection, HasRelationship, LegacyOrganization, LegacyPerson, Pipeline, Task } from "@dxos/types";
327
+ var ResearchDataTypes = [
328
+ // Objects
329
+ Event.Event,
330
+ Task.Task,
331
+ Text.Text,
332
+ // TODO(wittjosiah): Until views (e.g., Table) support relations this needs to be expressed via organization ref.
333
+ // Employer.Employer,
334
+ // Organization.Organization,
335
+ LegacyPerson,
336
+ LegacyOrganization,
337
+ Pipeline.Pipeline,
338
+ // Relations
339
+ HasRelationship.HasRelationship,
340
+ HasConnection.HasConnection
341
+ ];
342
+
343
+ export {
344
+ Subgraph,
345
+ findRelatedSchema,
346
+ LocalSearchToolkit,
347
+ LocalSearchHandler,
348
+ makeGraphWriterToolkit,
349
+ makeGraphWriterHandler,
350
+ createExtractionSchema,
351
+ getSanitizedSchemaName,
352
+ sanitizeObjects,
353
+ ResearchGraph_exports,
354
+ ResearchDataTypes
355
+ };
356
+ //# sourceMappingURL=chunk-DHNOQBPL.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/crud/graph.ts", "../../../src/blueprints/research/types/ResearchGraph.ts", "../../../src/blueprints/research/types/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Tool from '@effect/ai/Tool';\nimport * as Toolkit from '@effect/ai/Toolkit';\nimport * as Context from 'effect/Context';\nimport * as Effect from 'effect/Effect';\nimport * as Function from 'effect/Function';\nimport * as Option from 'effect/Option';\nimport * as Schema from 'effect/Schema';\nimport * as SchemaAST from 'effect/SchemaAST';\n\nimport { Entity, Filter, Obj, Query, Type } from '@dxos/echo';\nimport { Database } from '@dxos/echo';\nimport {\n ReferenceAnnotationId,\n RelationSourceDXNId,\n RelationSourceId,\n RelationTargetDXNId,\n RelationTargetId,\n createObject,\n getTypeAnnotation,\n getTypeIdentifierAnnotation,\n} from '@dxos/echo/internal';\nimport { type Queue } from '@dxos/echo-db';\nimport { isEncodedReference } from '@dxos/echo-protocol';\nimport { mapAst } from '@dxos/effect';\nimport { ContextQueueService } from '@dxos/functions';\nimport { DXN, ObjectId } from '@dxos/keys';\nimport { log } from '@dxos/log';\nimport { deepMapValues, isNonNullable, trim } from '@dxos/util';\n\n// TODO(burdon): Unify with the graph schema.\nexport const Subgraph = Schema.Struct({\n /** Objects and relations. */\n objects: Schema.Array(Schema.Any),\n});\n\nexport interface Subgraph extends Schema.Schema.Type<typeof Subgraph> {}\n\nexport type RelatedSchema = {\n schema: Type.AnyEntity;\n kind: 'reference' | 'relation';\n};\n\n/**\n * Find all schemas that are related to the given schema.\n *\n * @param db\n * @param schema\n * @returns\n */\nexport const findRelatedSchema = async (db: Database.Database, anchor: Type.AnyEntity): Promise<RelatedSchema[]> => {\n // TODO(dmaretskyi): Query stored schemas.\n const allSchemas = await db.graph.schemaRegistry.query().run();\n\n // TODO(dmaretskyi): Also do references.\n return allSchemas\n .filter((schema) => {\n if (getTypeAnnotation(schema)?.kind !== Entity.Kind.Relation) {\n return false;\n }\n\n return (\n isSchemaAddressableByDxn(anchor, DXN.parse(getTypeAnnotation(schema)!.sourceSchema!)) ||\n isSchemaAddressableByDxn(anchor, DXN.parse(getTypeAnnotation(schema)!.targetSchema!))\n );\n })\n .map(\n (schema): RelatedSchema => ({\n kind: 'relation',\n schema,\n }),\n );\n};\n\n/**\n * Non-strict DXN comparison.\n * Returns true if the DXN could be resolved to the schema.\n */\nconst isSchemaAddressableByDxn = (schema: Type.AnyEntity, dxn: DXN): boolean => {\n if (getTypeIdentifierAnnotation(schema) === dxn.toString()) {\n return true;\n }\n\n const t = dxn.asTypeDXN();\n if (t) {\n return t.type === Type.getTypename(schema);\n }\n\n return false;\n};\n\n/**\n * Perform vector search in the local database.\n */\n// TODO(dmaretskyi): Rename `GraphReadToolkit`.\nexport const LocalSearchToolkit = Toolkit.make(\n Tool.make('search_local_search', {\n description: 'Search the local database for information using a vector index',\n parameters: {\n query: Schema.String.annotations({\n description: 'The query to search for. Could be a question or a topic or a set of keywords.',\n }),\n },\n success: Schema.Unknown,\n failure: Schema.Never,\n dependencies: [Database.Service],\n }),\n);\n\nexport const LocalSearchHandler = LocalSearchToolkit.toLayer({\n search_local_search: Effect.fn(function* ({ query }) {\n const objects = yield* Database.runQuery(Query.select(Filter.text(query, { type: 'vector' })));\n const results = [...objects];\n\n const option = yield* Effect.serviceOption(ContextQueueService);\n if (Option.isSome(option)) {\n const queueObjects = yield* Effect.promise(() => option.value.queue.queryObjects());\n // TODO(dmaretskyi): Text search on the queue.\n results.push(...queueObjects);\n }\n\n return trim`\n <local_context>\n ${JSON.stringify(results, null, 2)}\n </local_context>\n `;\n }),\n});\n\n/**\n * Attached as an annotation to the writer tool.\n */\nclass GraphWriterSchema extends Context.Tag('@dxos/assistant/GraphWriterSchema')<\n GraphWriterSchema,\n {\n schema: Type.AnyEntity[];\n }\n>() {}\n\n/**\n * Forms typed objects that can be written to the graph database.\n */\nexport const makeGraphWriterToolkit = ({ schema }: { schema: Type.AnyEntity[] }) => {\n return Toolkit.make(\n Tool.make('graph_writer', {\n description: 'Write to the local graph database',\n parameters: createExtractionSchema(schema).fields,\n success: Schema.Unknown,\n failure: Schema.Never,\n dependencies: [Database.Service, ContextQueueService],\n }).annotateContext(Context.make(GraphWriterSchema, { schema })),\n );\n};\n\nexport const makeGraphWriterHandler = (\n toolkit: ReturnType<typeof makeGraphWriterToolkit>,\n {\n onAppend,\n }: {\n onAppend?: (object: DXN[]) => void;\n } = {},\n) => {\n const { schema } = Context.get(\n toolkit.tools.graph_writer.annotations as Context.Context<GraphWriterSchema>,\n GraphWriterSchema,\n );\n\n return toolkit.toLayer({\n graph_writer: Effect.fn(function* (input) {\n const { db } = yield* Database.Service;\n const { queue } = yield* ContextQueueService;\n const data = yield* Effect.promise(() => sanitizeObjects(schema, input as any, db, queue));\n yield* Effect.promise(() => queue.append(data as Obj.Unknown[]));\n\n const dxns = data.map((obj) => Obj.getDXN(obj));\n onAppend?.(dxns);\n return dxns;\n }),\n });\n};\n\n/**\n * Create a schema for structured data extraction.\n */\nexport const createExtractionSchema = (types: Type.AnyEntity[]) => {\n return Schema.Struct({\n ...Object.fromEntries(\n types.map(preprocessSchema).map((schema, index) => [\n `objects_${getSanitizedSchemaName(types[index])}`,\n Schema.optional(Schema.Array(schema)).annotations({\n description: `The objects of type: ${Type.getDXN(types[index])?.asTypeDXN()!.type}. ${SchemaAST.getDescriptionAnnotation(types[index].ast).pipe(Option.getOrElse(() => ''))}`,\n }),\n ]),\n ),\n });\n};\n\nexport const getSanitizedSchemaName = (schema: Type.AnyEntity) => {\n return Type.getDXN(schema)!\n .asTypeDXN()!\n .type.replaceAll(/[^a-zA-Z0-9]+/g, '_');\n};\n\nexport const sanitizeObjects = async (\n types: Type.AnyEntity[],\n data: Record<string, readonly unknown[]>,\n db: Database.Database,\n queue?: Queue,\n): Promise<Obj.Unknown[]> => {\n const entries = types\n .map(\n (type) =>\n data[`objects_${getSanitizedSchemaName(type)}`]?.map((object: any) => ({\n data: object,\n schema: type,\n })) ?? [],\n )\n .flat();\n\n const idMap = new Map<string, string>();\n const existingIds = new Set<ObjectId>();\n const enitties = new Map<ObjectId, Entity.Unknown>();\n\n const resolveId = (id: string): DXN | undefined => {\n if (ObjectId.isValid(id)) {\n existingIds.add(id);\n return DXN.fromLocalObjectId(id);\n }\n\n const mappedId = idMap.get(id);\n if (mappedId) {\n return DXN.fromLocalObjectId(mappedId);\n }\n\n return undefined;\n };\n\n const res = entries\n .map((entry) => {\n // This entry mutates existing object.\n if (ObjectId.isValid(entry.data.id)) {\n return entry;\n }\n\n idMap.set(entry.data.id, ObjectId.random());\n entry.data.id = idMap.get(entry.data.id);\n return entry;\n })\n .map((entry) => {\n const data = deepMapValues(entry.data, (value, recurse) => {\n if (isEncodedReference(value)) {\n const ref = value['/'];\n const id = resolveId(ref);\n\n if (id) {\n // Link to an existing object.\n return { '/': id.toString() };\n } else {\n // Search URIs?\n return { '/': `search:?q=${encodeURIComponent(ref)}` };\n }\n }\n\n return recurse(value);\n });\n\n if (Entity.getKind(entry.schema) === 'relation') {\n const sourceDxn = resolveId(data.source);\n if (!sourceDxn) {\n log.warn('source not found', { source: data.source });\n }\n const targetDxn = resolveId(data.target);\n if (!targetDxn) {\n log.warn('target not found', { target: data.target });\n }\n delete data.source;\n delete data.target;\n data[RelationSourceDXNId] = sourceDxn;\n data[RelationTargetDXNId] = targetDxn;\n }\n\n return {\n data,\n schema: entry.schema,\n };\n })\n .filter((object) => !existingIds.has(object.data.id)); // TODO(dmaretskyi): This dissallows updating existing objects.\n\n // TODO(dmaretskyi): Use ref resolver.\n const dbObjects = await db.query(Query.select(Filter.id(...existingIds))).run();\n const queueObjects = (await queue?.getObjectsById([...existingIds])) ?? [];\n const objects = [...dbObjects, ...queueObjects].filter(isNonNullable);\n\n // TODO(dmaretskyi): Returns everything if IDs are empty!\n log.info('objects', { dbObjects, queueObjects, existingIds });\n const missing = Array.from(existingIds).filter((id) => !objects.some((object) => object.id === id));\n if (missing.length > 0) {\n throw new Error(`Object IDs do not point to existing objects: ${missing.join(', ')}`);\n }\n\n return res.flatMap(({ data, schema }) => {\n let skip = false;\n if (RelationSourceDXNId in data) {\n const id = (data[RelationSourceDXNId] as DXN).asEchoDXN()?.echoId;\n const obj = objects.find((object) => object.id === id) ?? enitties.get(id!);\n if (obj) {\n delete data[RelationSourceDXNId];\n data[RelationSourceId] = obj;\n } else {\n skip = true;\n }\n }\n if (RelationTargetDXNId in data) {\n const id = (data[RelationTargetDXNId] as DXN).asEchoDXN()?.echoId;\n const obj = objects.find((object) => object.id === id) ?? enitties.get(id!);\n if (obj) {\n delete data[RelationTargetDXNId];\n data[RelationTargetId] = obj;\n } else {\n skip = true;\n }\n }\n if (!skip) {\n const obj = createObject(schema, data);\n enitties.set(obj.id, obj);\n return [obj];\n }\n return [];\n });\n};\n\nconst SoftRef = Schema.Struct({\n '/': Schema.String,\n}).annotations({\n description: 'Reference to another object.',\n});\n\nconst preprocessSchema = (schema: Schema.Schema.AnyNoContext) => {\n const isRelationSchema = Entity.getKind(schema) === 'relation';\n\n const go = (ast: SchemaAST.AST, visited = new Set<SchemaAST.AST>()): SchemaAST.AST => {\n if (visited.has(ast)) {\n // Already visited this node, prevent infinite recursion.\n return ast;\n }\n visited.add(ast);\n\n if (SchemaAST.getAnnotation(ast, ReferenceAnnotationId).pipe(Option.isSome)) {\n return SoftRef.ast;\n }\n\n return mapAst(ast, (child) => go(child, visited));\n };\n\n return Schema.make<any, any, never>(mapAst(schema.ast, (ast) => go(ast))).pipe(\n Schema.omit('id'),\n Schema.extend(\n Schema.Struct({\n id: Schema.String.annotations({\n description: 'The id of this object. Come up with a unique id based on your judgement.',\n }),\n }),\n ),\n isRelationSchema\n ? Schema.extend(\n Schema.Struct({\n source: Schema.String.annotations({\n description: 'The id of the source object for this relation.',\n }),\n target: Schema.String.annotations({\n description: 'The id of the target object for this relation.',\n }),\n }),\n )\n : Function.identity<Schema.Schema.AnyNoContext>,\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Layer from 'effect/Layer';\nimport * as Schema from 'effect/Schema';\n\nimport { Database, Obj, Query, Ref, Type } from '@dxos/echo';\nimport { SystemTypeAnnotation } from '@dxos/echo/internal';\nimport { Queue } from '@dxos/echo-db';\nimport { ContextQueueService, QueueService } from '@dxos/functions';\n\n/**\n * Container for a set of ephemeral research results.\n */\nexport const ResearchGraph = Schema.Struct({\n queue: Ref.Ref(Queue),\n}).pipe(\n Type.object({\n typename: 'org.dxos.type.research-graph',\n version: '0.1.0',\n }),\n SystemTypeAnnotation.set(true),\n);\n\nexport interface ResearchGraph extends Schema.Schema.Type<typeof ResearchGraph> {}\n\nexport const create: () => Effect.Effect<ResearchGraph, never, Database.Service | QueueService> = Effect.fn(\n 'createResearchGraph',\n)(function* () {\n const queue = yield* QueueService.createQueue();\n return yield* Database.add(Obj.make(ResearchGraph, { queue: Ref.fromDXN(queue.dxn) }));\n});\n\nexport const query: () => Effect.Effect<ResearchGraph | undefined, never, Database.Service> = Effect.fn(\n 'queryResearchGraph',\n)(function* () {\n const objects = yield* Database.runQuery(Query.type(ResearchGraph));\n return objects.at(0);\n});\n\nexport const contextQueueLayer = Layer.unwrapEffect(\n Effect.gen(function* () {\n const researchGraph = (yield* query()) ?? (yield* create());\n const researchQueue = yield* Database.load(researchGraph.queue);\n return ContextQueueService.layer(researchQueue);\n }),\n);\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport { type Type } from '@dxos/echo';\nimport { Text } from '@dxos/schema';\nimport { Event, HasConnection, HasRelationship, LegacyOrganization, LegacyPerson, Pipeline, Task } from '@dxos/types';\n\nexport * as ResearchGraph from './ResearchGraph';\n\n/**\n * Data types for research.\n */\n// TODO(burdon): This should not be hardcoded.\nexport const ResearchDataTypes: Type.AnyEntity[] = [\n // Objects\n Event.Event,\n Task.Task,\n Text.Text,\n\n // TODO(wittjosiah): Until views (e.g., Table) support relations this needs to be expressed via organization ref.\n // Employer.Employer,\n // Organization.Organization,\n LegacyPerson,\n LegacyOrganization,\n\n Pipeline.Pipeline,\n\n // Relations\n HasRelationship.HasRelationship,\n HasConnection.HasConnection,\n];\n"],
5
+ "mappings": "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",
6
+ "names": ["Tool", "Toolkit", "Context", "Effect", "Function", "Option", "Schema", "SchemaAST", "Entity", "Filter", "Obj", "Query", "Type", "Database", "ReferenceAnnotationId", "RelationSourceDXNId", "RelationSourceId", "RelationTargetDXNId", "RelationTargetId", "createObject", "getTypeAnnotation", "getTypeIdentifierAnnotation", "isEncodedReference", "mapAst", "ContextQueueService", "DXN", "ObjectId", "log", "deepMapValues", "isNonNullable", "trim", "Subgraph", "Struct", "objects", "Array", "Any", "findRelatedSchema", "db", "anchor", "allSchemas", "graph", "schemaRegistry", "query", "run", "filter", "schema", "kind", "Kind", "Relation", "isSchemaAddressableByDxn", "parse", "sourceSchema", "targetSchema", "map", "dxn", "toString", "t", "asTypeDXN", "type", "getTypename", "LocalSearchToolkit", "make", "description", "parameters", "String", "annotations", "success", "Unknown", "failure", "Never", "dependencies", "Service", "LocalSearchHandler", "toLayer", "search_local_search", "fn", "runQuery", "select", "text", "results", "option", "serviceOption", "isSome", "queueObjects", "promise", "value", "queue", "queryObjects", "push", "JSON", "stringify", "GraphWriterSchema", "Tag", "makeGraphWriterToolkit", "createExtractionSchema", "fields", "annotateContext", "makeGraphWriterHandler", "toolkit", "onAppend", "get", "tools", "graph_writer", "input", "data", "sanitizeObjects", "append", "dxns", "obj", "getDXN", "types", "Object", "fromEntries", "preprocessSchema", "index", "getSanitizedSchemaName", "optional", "getDescriptionAnnotation", "ast", "pipe", "getOrElse", "replaceAll", "entries", "object", "flat", "idMap", "Map", "existingIds", "Set", "enitties", "resolveId", "id", "isValid", "add", "fromLocalObjectId", "mappedId", "undefined", "res", "entry", "set", "random", "recurse", "ref", "encodeURIComponent", "getKind", "sourceDxn", "source", "warn", "targetDxn", "target", "has", "dbObjects", "getObjectsById", "info", "missing", "from", "some", "length", "Error", "join", "flatMap", "skip", "asEchoDXN", "echoId", "find", "SoftRef", "isRelationSchema", "go", "visited", "getAnnotation", "child", "omit", "extend", "identity", "Effect", "Layer", "Schema", "Database", "Obj", "Query", "Ref", "Type", "SystemTypeAnnotation", "Queue", "ContextQueueService", "QueueService", "ResearchGraph", "Struct", "queue", "Ref", "Queue", "pipe", "Type", "object", "typename", "version", "SystemTypeAnnotation", "set", "create", "fn", "QueueService", "createQueue", "Database", "add", "Obj", "make", "fromDXN", "dxn", "query", "objects", "runQuery", "Query", "type", "at", "contextQueueLayer", "unwrapEffect", "gen", "researchGraph", "researchQueue", "load", "ContextQueueService", "layer", "Text", "Event", "HasConnection", "HasRelationship", "LegacyOrganization", "LegacyPerson", "Pipeline", "Task", "ResearchDataTypes", "Event", "Task", "Text", "LegacyPerson", "LegacyOrganization", "Pipeline", "HasRelationship", "HasConnection"]
7
+ }
@@ -0,0 +1,140 @@
1
+ import {
2
+ Plan_exports
3
+ } from "./chunk-RMHH7HYC.mjs";
4
+
5
+ // src/blueprints/planning/functions/definitions.ts
6
+ import * as Schema from "effect/Schema";
7
+ import { AiContextService } from "@dxos/assistant";
8
+ import { Database } from "@dxos/echo";
9
+ import { Operation } from "@dxos/operation";
10
+ import { trim } from "@dxos/util";
11
+ var INSTRUCTIONS = trim`
12
+ TASK MANAGEMENT TOOL - USAGE GUIDELINES
13
+
14
+ This tool maintains an organized task list during work sessions to track progress, break down objectives, and ensure thoroughness. After creating initial tasks, update them silently without announcing changes to the user.
15
+
16
+ === CORE USAGE PRINCIPLES ===
17
+
18
+ Create and manage tasks for: multi-step objectives requiring 3+ distinct actions, complex projects needing careful sequencing, user requests for task organization, multiple deliverables provided together, new instructions (capture as tasks immediately with new IDs), completed work (mark done and add follow-ups), and active work (mark as 'in-progress', limit one at a time).
19
+
20
+ Skip task management for: single straightforward actions, simple requests achievable in 1-2 steps, informational queries, quick lookups or clarifications, and avoid creating verification tasks unless requested.
21
+
22
+ === TOOL SPECIFICATION ===
23
+
24
+ update-tasks requires an array of task objects. Each task object contains:
25
+ - id (string, required): unique identifier like "task_1" or "research_sources"
26
+ - title (string, optional): update to clarify or refine task description
27
+ - status (string, optional): 'todo' | 'in-progress' | 'done'
28
+
29
+ Task status meanings: 'todo' means not yet started, 'in-progress' means currently being worked on, 'done' means completed successfully.
30
+
31
+ === OPERATIONAL GUIDELINES ===
32
+
33
+ Update tasks in real-time as work progresses. Mark tasks 'done' immediately upon completion. Maintain only ONE task with 'in-progress' status at a time. Complete current tasks before starting new ones. Use specific, actionable task titles. Break complex work into manageable logical pieces. Batch task updates with other actions when possible for efficiency.
34
+
35
+ === USAGE EXAMPLES ===
36
+
37
+ <example type="research_project">
38
+ <user_message>I need to research sustainable packaging options and write a report comparing costs and environmental impact.</user_message>
39
+ <assistant_action>
40
+ Creates tasks:
41
+ 1. {id: "research_materials", title: "Research sustainable packaging materials", status: "in-progress"}
42
+ 2. {id: "compare_costs", title: "Compile cost comparison data", status: "todo"}
43
+ 3. {id: "assess_impact", title: "Evaluate environmental impact metrics", status: "todo"}
44
+ 4. {id: "draft_report", title: "Write comparative analysis report", status: "todo"}
45
+
46
+ Begins research work immediately in same response.
47
+ </assistant_action>
48
+ <reasoning>Multi-phase project requiring systematic tracking across research, analysis, and writing stages.</reasoning>
49
+ </example>
50
+
51
+ <example type="event_planning">
52
+ <user_message>Help me plan a team retreat - venue, agenda, catering, and send invitations.</user_message>
53
+ <assistant_action>
54
+ Creates tasks:
55
+ 1. {id: "venue_options", title: "Research and recommend venues", status: "in-progress"}
56
+ 2. {id: "draft_agenda", title: "Create retreat agenda", status: "todo"}
57
+ 3. {id: "arrange_catering", title: "Coordinate catering options", status: "todo"}
58
+ 4. {id: "send_invites", title: "Draft and send invitations", status: "todo"}
59
+ </assistant_action>
60
+ <reasoning>Multiple distinct deliverables with dependencies requiring organized tracking.</reasoning>
61
+ </example>
62
+
63
+ <example type="document_analysis">
64
+ <user_message>Review this 30-page contract for key terms, risks, and negotiation points.</user_message>
65
+ <assistant_action>
66
+ Creates tasks:
67
+ 1. {id: "extract_key_terms", title: "Identify key contractual terms", status: "in-progress"}
68
+ 2. {id: "flag_risks", title: "Flag potential risks and liabilities", status: "todo"}
69
+ 3. {id: "negotiation_points", title: "Compile negotiation recommendations", status: "todo"}
70
+ 4. {id: "summary_doc", title: "Prepare executive summary", status: "todo"}
71
+ </assistant_action>
72
+ <reasoning>Substantial analysis work requiring methodical breakdown and systematic review.</reasoning>
73
+ </example>
74
+
75
+ <example type="multiple_deliverables">
76
+ <user_message>I need: 1) competitor analysis for three companies, 2) SWOT analysis, 3) market positioning recommendations.</user_message>
77
+ <assistant_action>
78
+ Creates tasks:
79
+ 1. {id: "competitor_research", title: "Research three competitor companies", status: "in-progress"}
80
+ 2. {id: "swot_analysis", title: "Develop SWOT analysis", status: "todo"}
81
+ 3. {id: "positioning_recs", title: "Create market positioning recommendations", status: "todo"}
82
+ </assistant_action>
83
+ <reasoning>User provided numbered list of distinct deliverables requiring separate effort.</reasoning>
84
+ </example>
85
+
86
+ <example type="skip_simple_question">
87
+ <user_message>What's the difference between renewable and sustainable energy?</user_message>
88
+ <assistant_action>Provides explanation directly without creating tasks.</assistant_action>
89
+ <reasoning>Informational request with no actionable work to complete or track.</reasoning>
90
+ </example>
91
+
92
+ <example type="skip_quick_lookup">
93
+ <user_message>Find the population of Tokyo.</user_message>
94
+ <assistant_action>Searches and provides answer without task tracking.</assistant_action>
95
+ <reasoning>Single straightforward lookup completable immediately.</reasoning>
96
+ </example>
97
+
98
+ <example type="skip_trivial_task">
99
+ <user_message>Summarize this 2-paragraph email.</user_message>
100
+ <assistant_action>Provides summary directly without creating tasks.</assistant_action>
101
+ <reasoning>Single simple action requiring no breakdown or progress tracking.</reasoning>
102
+ </example>
103
+
104
+ <example type="skip_single_action">
105
+ <user_message>Check if my flight is on time.</user_message>
106
+ <assistant_action>Performs lookup and reports status without task management.</assistant_action>
107
+ <reasoning>One-step action with immediate completion, no organizational benefit from tasks.</reasoning>
108
+ </example>
109
+
110
+ === BEST PRACTICES ===
111
+
112
+ For task creation: use descriptive unique IDs reflecting the work, start first task as 'in-progress', batch initial creation with beginning work. For progress tracking: update status immediately upon completion, keep only one 'in-progress' task unless parallel work is natural, add follow-up tasks as they emerge. For task breakdown: aim for reasonably-scoped tasks, group related small actions into logical units, split tasks requiring different approaches.
113
+
114
+ When uncertain whether to use task management, err on the side of creating tasks. Proactive organization demonstrates thoroughness and ensures comprehensive work completion.
115
+ `;
116
+ var TaskProps = Schema.Struct({
117
+ id: Plan_exports.TaskId,
118
+ title: Schema.String,
119
+ status: Schema.Literal("todo", "in-progress", "done")
120
+ });
121
+ var UpdateTasks = Operation.make({
122
+ meta: {
123
+ key: "org.dxos.function.planning.update-tasks",
124
+ name: "Update tasks",
125
+ description: INSTRUCTIONS
126
+ },
127
+ input: Schema.Struct({
128
+ tasks: Schema.Array(TaskProps)
129
+ }),
130
+ output: Schema.Any,
131
+ services: [
132
+ AiContextService,
133
+ Database.Service
134
+ ]
135
+ });
136
+
137
+ export {
138
+ UpdateTasks
139
+ };
140
+ //# sourceMappingURL=chunk-FHRBPWX5.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/blueprints/planning/functions/definitions.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { AiContextService } from '@dxos/assistant';\nimport { Database } from '@dxos/echo';\nimport { Operation } from '@dxos/operation';\nimport { trim } from '@dxos/util';\n\nimport { Plan } from '../../../types';\n\nconst INSTRUCTIONS = trim`\nTASK MANAGEMENT TOOL - USAGE GUIDELINES\n\nThis tool maintains an organized task list during work sessions to track progress, break down objectives, and ensure thoroughness. After creating initial tasks, update them silently without announcing changes to the user.\n\n=== CORE USAGE PRINCIPLES ===\n\nCreate and manage tasks for: multi-step objectives requiring 3+ distinct actions, complex projects needing careful sequencing, user requests for task organization, multiple deliverables provided together, new instructions (capture as tasks immediately with new IDs), completed work (mark done and add follow-ups), and active work (mark as 'in-progress', limit one at a time).\n\nSkip task management for: single straightforward actions, simple requests achievable in 1-2 steps, informational queries, quick lookups or clarifications, and avoid creating verification tasks unless requested.\n\n=== TOOL SPECIFICATION ===\n\nupdate-tasks requires an array of task objects. Each task object contains:\n- id (string, required): unique identifier like \"task_1\" or \"research_sources\"\n- title (string, optional): update to clarify or refine task description\n- status (string, optional): 'todo' | 'in-progress' | 'done'\n\nTask status meanings: 'todo' means not yet started, 'in-progress' means currently being worked on, 'done' means completed successfully.\n\n=== OPERATIONAL GUIDELINES ===\n\nUpdate tasks in real-time as work progresses. Mark tasks 'done' immediately upon completion. Maintain only ONE task with 'in-progress' status at a time. Complete current tasks before starting new ones. Use specific, actionable task titles. Break complex work into manageable logical pieces. Batch task updates with other actions when possible for efficiency.\n\n=== USAGE EXAMPLES ===\n\n<example type=\"research_project\">\n<user_message>I need to research sustainable packaging options and write a report comparing costs and environmental impact.</user_message>\n<assistant_action>\nCreates tasks:\n1. {id: \"research_materials\", title: \"Research sustainable packaging materials\", status: \"in-progress\"}\n2. {id: \"compare_costs\", title: \"Compile cost comparison data\", status: \"todo\"}\n3. {id: \"assess_impact\", title: \"Evaluate environmental impact metrics\", status: \"todo\"}\n4. {id: \"draft_report\", title: \"Write comparative analysis report\", status: \"todo\"}\n\nBegins research work immediately in same response.\n</assistant_action>\n<reasoning>Multi-phase project requiring systematic tracking across research, analysis, and writing stages.</reasoning>\n</example>\n\n<example type=\"event_planning\">\n<user_message>Help me plan a team retreat - venue, agenda, catering, and send invitations.</user_message>\n<assistant_action>\nCreates tasks:\n1. {id: \"venue_options\", title: \"Research and recommend venues\", status: \"in-progress\"}\n2. {id: \"draft_agenda\", title: \"Create retreat agenda\", status: \"todo\"}\n3. {id: \"arrange_catering\", title: \"Coordinate catering options\", status: \"todo\"}\n4. {id: \"send_invites\", title: \"Draft and send invitations\", status: \"todo\"}\n</assistant_action>\n<reasoning>Multiple distinct deliverables with dependencies requiring organized tracking.</reasoning>\n</example>\n\n<example type=\"document_analysis\">\n<user_message>Review this 30-page contract for key terms, risks, and negotiation points.</user_message>\n<assistant_action>\nCreates tasks:\n1. {id: \"extract_key_terms\", title: \"Identify key contractual terms\", status: \"in-progress\"}\n2. {id: \"flag_risks\", title: \"Flag potential risks and liabilities\", status: \"todo\"}\n3. {id: \"negotiation_points\", title: \"Compile negotiation recommendations\", status: \"todo\"}\n4. {id: \"summary_doc\", title: \"Prepare executive summary\", status: \"todo\"}\n</assistant_action>\n<reasoning>Substantial analysis work requiring methodical breakdown and systematic review.</reasoning>\n</example>\n\n<example type=\"multiple_deliverables\">\n<user_message>I need: 1) competitor analysis for three companies, 2) SWOT analysis, 3) market positioning recommendations.</user_message>\n<assistant_action>\nCreates tasks:\n1. {id: \"competitor_research\", title: \"Research three competitor companies\", status: \"in-progress\"}\n2. {id: \"swot_analysis\", title: \"Develop SWOT analysis\", status: \"todo\"}\n3. {id: \"positioning_recs\", title: \"Create market positioning recommendations\", status: \"todo\"}\n</assistant_action>\n<reasoning>User provided numbered list of distinct deliverables requiring separate effort.</reasoning>\n</example>\n\n<example type=\"skip_simple_question\">\n<user_message>What's the difference between renewable and sustainable energy?</user_message>\n<assistant_action>Provides explanation directly without creating tasks.</assistant_action>\n<reasoning>Informational request with no actionable work to complete or track.</reasoning>\n</example>\n\n<example type=\"skip_quick_lookup\">\n<user_message>Find the population of Tokyo.</user_message>\n<assistant_action>Searches and provides answer without task tracking.</assistant_action>\n<reasoning>Single straightforward lookup completable immediately.</reasoning>\n</example>\n\n<example type=\"skip_trivial_task\">\n<user_message>Summarize this 2-paragraph email.</user_message>\n<assistant_action>Provides summary directly without creating tasks.</assistant_action>\n<reasoning>Single simple action requiring no breakdown or progress tracking.</reasoning>\n</example>\n\n<example type=\"skip_single_action\">\n<user_message>Check if my flight is on time.</user_message>\n<assistant_action>Performs lookup and reports status without task management.</assistant_action>\n<reasoning>One-step action with immediate completion, no organizational benefit from tasks.</reasoning>\n</example>\n\n=== BEST PRACTICES ===\n\nFor task creation: use descriptive unique IDs reflecting the work, start first task as 'in-progress', batch initial creation with beginning work. For progress tracking: update status immediately upon completion, keep only one 'in-progress' task unless parallel work is natural, add follow-up tasks as they emerge. For task breakdown: aim for reasonably-scoped tasks, group related small actions into logical units, split tasks requiring different approaches.\n\nWhen uncertain whether to use task management, err on the side of creating tasks. Proactive organization demonstrates thoroughness and ensures comprehensive work completion.\n`;\n\nconst TaskProps = Schema.Struct({\n id: Plan.TaskId,\n title: Schema.String,\n status: Schema.Literal('todo', 'in-progress', 'done'),\n});\n\nexport const UpdateTasks = Operation.make({\n meta: {\n key: 'org.dxos.function.planning.update-tasks',\n name: 'Update tasks',\n description: INSTRUCTIONS,\n },\n input: Schema.Struct({\n tasks: Schema.Array(TaskProps),\n }),\n output: Schema.Any,\n services: [AiContextService, Database.Service],\n});\n"],
5
+ "mappings": ";;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,wBAAwB;AACjC,SAASC,gBAAgB;AACzB,SAASC,iBAAiB;AAC1B,SAASC,YAAY;AAIrB,IAAMC,eAAeC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0GrB,IAAMC,YAAmBC,cAAO;EAC9BC,IAAIC,aAAKC;EACTC,OAAcC;EACdC,QAAeC,eAAQ,QAAQ,eAAe,MAAA;AAChD,CAAA;AAEO,IAAMC,cAAcC,UAAUC,KAAK;EACxCC,MAAM;IACJC,KAAK;IACLC,MAAM;IACNC,aAAajB;EACf;EACAkB,OAAcf,cAAO;IACnBgB,OAAcC,aAAMlB,SAAAA;EACtB,CAAA;EACAmB,QAAeC;EACfC,UAAU;IAACC;IAAkBC,SAASC;;AACxC,CAAA;",
6
+ "names": ["Schema", "AiContextService", "Database", "Operation", "trim", "INSTRUCTIONS", "trim", "TaskProps", "Struct", "id", "Plan", "TaskId", "title", "String", "status", "Literal", "UpdateTasks", "Operation", "make", "meta", "key", "name", "description", "input", "tasks", "Array", "output", "Any", "services", "AiContextService", "Database", "Service"]
7
+ }