@dxos/assistant-toolkit 0.8.4-main.bc674ce → 0.8.4-main.c85a9c8dae

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (397) hide show
  1. package/dist/lib/{browser → neutral}/index.mjs +3244 -2496
  2. package/dist/lib/neutral/index.mjs.map +7 -0
  3. package/dist/lib/neutral/meta.json +1 -0
  4. package/dist/lib/neutral/testing/index.mjs +81 -0
  5. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  6. package/dist/types/src/blueprints/browser/blueprint.d.ts +4 -0
  7. package/dist/types/src/blueprints/browser/blueprint.d.ts.map +1 -0
  8. package/dist/types/src/blueprints/browser/blueprint.test.d.ts +2 -0
  9. package/dist/types/src/blueprints/browser/blueprint.test.d.ts.map +1 -0
  10. package/dist/types/src/blueprints/browser/index.d.ts +2 -0
  11. package/dist/types/src/blueprints/browser/index.d.ts.map +1 -0
  12. package/dist/types/src/blueprints/database/blueprint.d.ts +4 -0
  13. package/dist/types/src/blueprints/database/blueprint.d.ts.map +1 -0
  14. package/dist/types/src/blueprints/database/blueprint.test.d.ts +2 -0
  15. package/dist/types/src/blueprints/database/blueprint.test.d.ts.map +1 -0
  16. package/dist/types/src/blueprints/database/functions/context-add.d.ts +6 -0
  17. package/dist/types/src/blueprints/database/functions/context-add.d.ts.map +1 -0
  18. package/dist/types/src/blueprints/database/functions/context-remove.d.ts +6 -0
  19. package/dist/types/src/blueprints/database/functions/context-remove.d.ts.map +1 -0
  20. package/dist/types/src/blueprints/database/functions/index.d.ts +57 -0
  21. package/dist/types/src/blueprints/database/functions/index.d.ts.map +1 -0
  22. package/dist/types/src/blueprints/database/functions/load.d.ts +6 -0
  23. package/dist/types/src/blueprints/database/functions/load.d.ts.map +1 -0
  24. package/dist/types/src/blueprints/database/functions/object-create.d.ts +6 -0
  25. package/dist/types/src/blueprints/database/functions/object-create.d.ts.map +1 -0
  26. package/dist/types/src/blueprints/database/functions/object-delete.d.ts +6 -0
  27. package/dist/types/src/blueprints/database/functions/object-delete.d.ts.map +1 -0
  28. package/dist/types/src/blueprints/database/functions/object-update.d.ts +9 -0
  29. package/dist/types/src/blueprints/database/functions/object-update.d.ts.map +1 -0
  30. package/dist/types/src/blueprints/database/functions/query.d.ts +9 -0
  31. package/dist/types/src/blueprints/database/functions/query.d.ts.map +1 -0
  32. package/dist/types/src/blueprints/database/functions/relation-create.d.ts +9 -0
  33. package/dist/types/src/blueprints/database/functions/relation-create.d.ts.map +1 -0
  34. package/dist/types/src/blueprints/database/functions/relation-delete.d.ts +6 -0
  35. package/dist/types/src/blueprints/database/functions/relation-delete.d.ts.map +1 -0
  36. package/dist/types/src/{initiative/functions/update.d.ts → blueprints/database/functions/schema-add.d.ts} +3 -3
  37. package/dist/types/src/blueprints/database/functions/schema-add.d.ts.map +1 -0
  38. package/dist/types/src/blueprints/database/functions/schema-list.d.ts +5 -0
  39. package/dist/types/src/blueprints/database/functions/schema-list.d.ts.map +1 -0
  40. package/dist/types/src/blueprints/database/functions/tag-add.d.ts +7 -0
  41. package/dist/types/src/blueprints/database/functions/tag-add.d.ts.map +1 -0
  42. package/dist/types/src/blueprints/database/functions/tag-remove.d.ts +7 -0
  43. package/dist/types/src/blueprints/database/functions/tag-remove.d.ts.map +1 -0
  44. package/dist/types/src/blueprints/database/index.d.ts +3 -0
  45. package/dist/types/src/blueprints/database/index.d.ts.map +1 -0
  46. package/dist/types/src/blueprints/design/blueprint.d.ts +4 -0
  47. package/dist/types/src/blueprints/design/blueprint.d.ts.map +1 -0
  48. package/dist/types/src/blueprints/design/blueprint.test.d.ts +2 -0
  49. package/dist/types/src/blueprints/design/blueprint.test.d.ts.map +1 -0
  50. package/dist/types/src/blueprints/design/index.d.ts +1 -2
  51. package/dist/types/src/blueprints/design/index.d.ts.map +1 -1
  52. package/dist/types/src/blueprints/discord/blueprint.d.ts +4 -0
  53. package/dist/types/src/blueprints/discord/blueprint.d.ts.map +1 -0
  54. package/dist/types/src/blueprints/discord/functions/fetch-messages.d.ts.map +1 -0
  55. package/dist/types/src/blueprints/discord/functions/fetch-messages.test.d.ts.map +1 -0
  56. package/dist/types/src/{functions/discord → blueprints/discord/functions}/index.d.ts +3 -3
  57. package/dist/types/src/blueprints/discord/functions/index.d.ts.map +1 -0
  58. package/dist/types/src/blueprints/discord/index.d.ts +1 -2
  59. package/dist/types/src/blueprints/discord/index.d.ts.map +1 -1
  60. package/dist/types/src/blueprints/github/functions/fetch-prs.d.ts.map +1 -0
  61. package/dist/types/src/blueprints/github/functions/index.d.ts +7 -0
  62. package/dist/types/src/blueprints/github/functions/index.d.ts.map +1 -0
  63. package/dist/types/src/blueprints/github/index.d.ts.map +1 -0
  64. package/dist/types/src/blueprints/index.d.ts +10 -6
  65. package/dist/types/src/blueprints/index.d.ts.map +1 -1
  66. package/dist/types/src/blueprints/linear/blueprint.d.ts +4 -0
  67. package/dist/types/src/blueprints/linear/blueprint.d.ts.map +1 -0
  68. package/dist/types/src/{functions/linear → blueprints/linear/functions}/index.d.ts +3 -3
  69. package/dist/types/src/blueprints/linear/functions/index.d.ts.map +1 -0
  70. package/dist/types/src/blueprints/linear/functions/linear.test.d.ts.map +1 -0
  71. package/dist/types/src/blueprints/linear/functions/sync-issues.d.ts.map +1 -0
  72. package/dist/types/src/blueprints/linear/index.d.ts +1 -2
  73. package/dist/types/src/blueprints/linear/index.d.ts.map +1 -1
  74. package/dist/types/src/blueprints/markdown/blueprint.d.ts +4 -0
  75. package/dist/types/src/blueprints/markdown/blueprint.d.ts.map +1 -0
  76. package/dist/types/src/{functions/document/update.d.ts → blueprints/markdown/functions/create.d.ts} +2 -2
  77. package/dist/types/src/blueprints/markdown/functions/create.d.ts.map +1 -0
  78. package/dist/types/src/blueprints/markdown/functions/index.d.ts +30 -0
  79. package/dist/types/src/blueprints/markdown/functions/index.d.ts.map +1 -0
  80. package/dist/types/src/blueprints/markdown/functions/read.d.ts +14 -0
  81. package/dist/types/src/blueprints/markdown/functions/read.d.ts.map +1 -0
  82. package/dist/types/src/blueprints/markdown/functions/update.d.ts +13 -0
  83. package/dist/types/src/blueprints/markdown/functions/update.d.ts.map +1 -0
  84. package/dist/types/src/blueprints/markdown/index.d.ts +3 -0
  85. package/dist/types/src/blueprints/markdown/index.d.ts.map +1 -0
  86. package/dist/types/src/blueprints/planning/blueprint.d.ts +4 -0
  87. package/dist/types/src/blueprints/planning/blueprint.d.ts.map +1 -0
  88. package/dist/types/src/blueprints/planning/functions/index.d.ts +10 -0
  89. package/dist/types/src/blueprints/planning/functions/index.d.ts.map +1 -0
  90. package/dist/types/src/blueprints/planning/functions/update-tasks.d.ts +9 -0
  91. package/dist/types/src/blueprints/planning/functions/update-tasks.d.ts.map +1 -0
  92. package/dist/types/src/blueprints/planning/index.d.ts +1 -2
  93. package/dist/types/src/blueprints/planning/index.d.ts.map +1 -1
  94. package/dist/types/src/blueprints/planning-old/blueprint.d.ts +4 -0
  95. package/dist/types/src/blueprints/planning-old/blueprint.d.ts.map +1 -0
  96. package/dist/types/src/blueprints/planning-old/blueprint.test.d.ts +2 -0
  97. package/dist/types/src/blueprints/planning-old/blueprint.test.d.ts.map +1 -0
  98. package/dist/types/src/blueprints/planning-old/functions/index.d.ts +29 -0
  99. package/dist/types/src/blueprints/planning-old/functions/index.d.ts.map +1 -0
  100. package/dist/types/src/blueprints/planning-old/functions/read.d.ts +14 -0
  101. package/dist/types/src/blueprints/planning-old/functions/read.d.ts.map +1 -0
  102. package/dist/types/src/blueprints/planning-old/functions/task-list.d.ts.map +1 -0
  103. package/dist/types/src/blueprints/planning-old/functions/task-list.test.d.ts.map +1 -0
  104. package/dist/types/src/blueprints/planning-old/functions/update.d.ts +16 -0
  105. package/dist/types/src/blueprints/planning-old/functions/update.d.ts.map +1 -0
  106. package/dist/types/src/blueprints/planning-old/index.d.ts +2 -0
  107. package/dist/types/src/blueprints/planning-old/index.d.ts.map +1 -0
  108. package/dist/types/src/blueprints/project/blueprint.d.ts +4 -0
  109. package/dist/types/src/blueprints/project/blueprint.d.ts.map +1 -0
  110. package/dist/types/src/blueprints/project/blueprint.test.d.ts +2 -0
  111. package/dist/types/src/blueprints/project/blueprint.test.d.ts.map +1 -0
  112. package/dist/types/src/blueprints/project/functions/add-artifact.d.ts +7 -0
  113. package/dist/types/src/blueprints/project/functions/add-artifact.d.ts.map +1 -0
  114. package/dist/types/src/blueprints/project/functions/agent.d.ts +62 -0
  115. package/dist/types/src/blueprints/project/functions/agent.d.ts.map +1 -0
  116. package/dist/types/src/blueprints/project/functions/get-context.d.ts +13 -0
  117. package/dist/types/src/blueprints/project/functions/get-context.d.ts.map +1 -0
  118. package/dist/types/src/blueprints/project/functions/index.d.ts +133 -0
  119. package/dist/types/src/blueprints/project/functions/index.d.ts.map +1 -0
  120. package/dist/types/src/blueprints/project/functions/qualifier.d.ts +60 -0
  121. package/dist/types/src/blueprints/project/functions/qualifier.d.ts.map +1 -0
  122. package/dist/types/src/blueprints/project/index.d.ts +3 -0
  123. package/dist/types/src/blueprints/project/index.d.ts.map +1 -0
  124. package/dist/types/src/blueprints/research/blueprint.d.ts +4 -0
  125. package/dist/types/src/blueprints/research/blueprint.d.ts.map +1 -0
  126. package/dist/types/src/blueprints/research/blueprint.test.d.ts +2 -0
  127. package/dist/types/src/blueprints/research/blueprint.test.d.ts.map +1 -0
  128. package/dist/types/src/{functions/research → blueprints/research/functions}/document-create.d.ts +2 -1
  129. package/dist/types/src/blueprints/research/functions/document-create.d.ts.map +1 -0
  130. package/dist/types/src/{functions/research → blueprints/research/functions}/index.d.ts +6 -8
  131. package/dist/types/src/blueprints/research/functions/index.d.ts.map +1 -0
  132. package/dist/types/src/{functions/research → blueprints/research/functions}/research.d.ts +1 -1
  133. package/dist/types/src/blueprints/research/functions/research.d.ts.map +1 -0
  134. package/dist/types/src/blueprints/research/functions/research.test.d.ts.map +1 -0
  135. package/dist/types/src/blueprints/research/index.d.ts +2 -2
  136. package/dist/types/src/blueprints/research/index.d.ts.map +1 -1
  137. package/dist/types/src/{functions/research/research-graph.d.ts → blueprints/research/types/ResearchGraph.d.ts} +5 -6
  138. package/dist/types/src/blueprints/research/types/ResearchGraph.d.ts.map +1 -0
  139. package/dist/types/src/blueprints/research/types/index.d.ts +7 -0
  140. package/dist/types/src/blueprints/research/types/index.d.ts.map +1 -0
  141. package/dist/types/src/blueprints/testing.d.ts +17 -3
  142. package/dist/types/src/blueprints/testing.d.ts.map +1 -1
  143. package/dist/types/src/blueprints/websearch/blueprint.d.ts +4 -0
  144. package/dist/types/src/blueprints/websearch/blueprint.d.ts.map +1 -0
  145. package/dist/types/src/blueprints/websearch/index.d.ts +2 -3
  146. package/dist/types/src/blueprints/websearch/index.d.ts.map +1 -1
  147. package/dist/types/src/blueprints/websearch/{websearch-toolkit.d.ts → toolkit.d.ts} +1 -1
  148. package/dist/types/src/blueprints/websearch/toolkit.d.ts.map +1 -0
  149. package/dist/types/src/crud/graph.d.ts +6 -6
  150. package/dist/types/src/crud/graph.d.ts.map +1 -1
  151. package/dist/types/src/functions/agent/index.d.ts +84 -4
  152. package/dist/types/src/functions/agent/index.d.ts.map +1 -1
  153. package/dist/types/src/functions/agent/prompt.d.ts +9 -1
  154. package/dist/types/src/functions/agent/prompt.d.ts.map +1 -1
  155. package/dist/types/src/functions/entity-extraction/entity-extraction.d.ts +8 -3
  156. package/dist/types/src/functions/entity-extraction/entity-extraction.d.ts.map +1 -1
  157. package/dist/types/src/functions/entity-extraction/index.d.ts +10 -6
  158. package/dist/types/src/functions/entity-extraction/index.d.ts.map +1 -1
  159. package/dist/types/src/functions/exa/index.d.ts +8 -2
  160. package/dist/types/src/functions/exa/index.d.ts.map +1 -1
  161. package/dist/types/src/functions/index.d.ts +1 -5
  162. package/dist/types/src/functions/index.d.ts.map +1 -1
  163. package/dist/types/src/index.d.ts +2 -1
  164. package/dist/types/src/index.d.ts.map +1 -1
  165. package/dist/types/src/testing/index.d.ts +1 -0
  166. package/dist/types/src/testing/index.d.ts.map +1 -1
  167. package/dist/types/src/testing/plugins.d.ts.map +1 -1
  168. package/dist/types/src/toolkits/WebToolkit.d.ts +38 -0
  169. package/dist/types/src/toolkits/WebToolkit.d.ts.map +1 -0
  170. package/dist/types/src/toolkits/index.d.ts +1 -2
  171. package/dist/types/src/toolkits/index.d.ts.map +1 -1
  172. package/dist/types/src/types/Chat.d.ts +31 -0
  173. package/dist/types/src/types/Chat.d.ts.map +1 -0
  174. package/dist/types/src/types/Plan.d.ts +77 -0
  175. package/dist/types/src/types/Plan.d.ts.map +1 -0
  176. package/dist/types/src/types/Project.d.ts +67 -0
  177. package/dist/types/src/types/Project.d.ts.map +1 -0
  178. package/dist/types/src/types/index.d.ts +4 -0
  179. package/dist/types/src/types/index.d.ts.map +1 -0
  180. package/dist/types/tsconfig.tsbuildinfo +1 -1
  181. package/package.json +38 -43
  182. package/src/blueprints/browser/blueprint.conversations.json +1 -0
  183. package/src/blueprints/browser/blueprint.test.ts +70 -0
  184. package/src/blueprints/browser/blueprint.ts +41 -0
  185. package/src/blueprints/browser/index.ts +5 -0
  186. package/src/blueprints/database/blueprint.conversations.json +1 -0
  187. package/src/blueprints/database/blueprint.test.ts +321 -0
  188. package/src/blueprints/database/blueprint.ts +39 -0
  189. package/src/blueprints/database/functions/context-add.ts +35 -0
  190. package/src/blueprints/database/functions/context-remove.ts +35 -0
  191. package/src/blueprints/database/functions/index.ts +33 -0
  192. package/src/blueprints/database/functions/load.ts +31 -0
  193. package/src/blueprints/database/functions/object-create.ts +35 -0
  194. package/src/blueprints/database/functions/object-delete.ts +27 -0
  195. package/src/blueprints/database/functions/object-update.ts +32 -0
  196. package/src/blueprints/database/functions/query.ts +126 -0
  197. package/src/blueprints/database/functions/relation-create.ts +47 -0
  198. package/src/blueprints/database/functions/relation-delete.ts +28 -0
  199. package/src/blueprints/database/functions/schema-add.ts +40 -0
  200. package/src/blueprints/database/functions/schema-list.ts +34 -0
  201. package/src/blueprints/database/functions/tag-add.ts +31 -0
  202. package/src/blueprints/database/functions/tag-remove.ts +30 -0
  203. package/src/blueprints/database/index.ts +6 -0
  204. package/src/blueprints/design/{design-blueprint.test.ts → blueprint.test.ts} +12 -21
  205. package/src/blueprints/design/{design-blueprint.ts → blueprint.ts} +25 -10
  206. package/src/blueprints/design/index.ts +1 -3
  207. package/src/blueprints/discord/blueprint.ts +46 -0
  208. package/src/{functions/discord → blueprints/discord/functions}/fetch-messages.test.ts +4 -7
  209. package/src/blueprints/discord/functions/index.ts +9 -0
  210. package/src/blueprints/discord/index.ts +1 -3
  211. package/src/blueprints/github/functions/index.ts +9 -0
  212. package/src/blueprints/index.ts +10 -6
  213. package/src/blueprints/linear/blueprint.ts +47 -0
  214. package/src/blueprints/linear/functions/index.ts +9 -0
  215. package/src/blueprints/linear/functions/linear.test.ts +58 -0
  216. package/src/{functions/linear → blueprints/linear/functions}/sync-issues.ts +6 -6
  217. package/src/blueprints/linear/index.ts +1 -3
  218. package/src/blueprints/markdown/blueprint.ts +38 -0
  219. package/src/blueprints/markdown/functions/create.ts +29 -0
  220. package/src/blueprints/markdown/functions/index.ts +13 -0
  221. package/src/blueprints/markdown/functions/read.ts +32 -0
  222. package/src/{functions/document → blueprints/markdown/functions}/update.ts +5 -6
  223. package/src/blueprints/markdown/index.ts +6 -0
  224. package/src/blueprints/planning/blueprint.ts +28 -0
  225. package/src/blueprints/planning/functions/index.ts +9 -0
  226. package/src/blueprints/planning/functions/update-tasks.ts +168 -0
  227. package/src/blueprints/planning/index.ts +2 -4
  228. package/src/blueprints/{planning/planning-blueprint.test.ts → planning-old/blueprint.test.ts} +12 -16
  229. package/src/blueprints/{planning/planning-blueprint.ts → planning-old/blueprint.ts} +24 -10
  230. package/src/blueprints/planning-old/functions/index.ts +11 -0
  231. package/src/{functions/tasks → blueprints/planning-old/functions}/read.ts +5 -6
  232. package/src/{functions/tasks → blueprints/planning-old/functions}/update.ts +5 -6
  233. package/src/blueprints/planning-old/index.ts +5 -0
  234. package/src/{initiative/initiative.test.ts → blueprints/project/blueprint.test.ts} +138 -44
  235. package/src/blueprints/project/blueprint.ts +68 -0
  236. package/src/blueprints/project/functions/add-artifact.ts +41 -0
  237. package/src/blueprints/project/functions/agent.ts +72 -0
  238. package/src/blueprints/project/functions/get-context.ts +63 -0
  239. package/src/blueprints/project/functions/index.ts +15 -0
  240. package/src/blueprints/project/functions/qualifier.ts +96 -0
  241. package/src/blueprints/project/index.ts +6 -0
  242. package/src/blueprints/research/{research-blueprint.ts → blueprint.ts} +25 -11
  243. package/src/{functions/research → blueprints/research/functions}/document-create.ts +8 -11
  244. package/src/blueprints/research/functions/index.ts +11 -0
  245. package/src/blueprints/research/functions/research.conversations.json +1 -0
  246. package/src/{functions/research → blueprints/research/functions}/research.test.ts +33 -55
  247. package/src/{functions/research → blueprints/research/functions}/research.ts +13 -27
  248. package/src/blueprints/research/index.ts +2 -3
  249. package/src/blueprints/research/types/ResearchGraph.ts +49 -0
  250. package/src/{functions/research/types.ts → blueprints/research/types/index.ts} +12 -6
  251. package/src/blueprints/testing.ts +35 -4
  252. package/src/blueprints/websearch/blueprint.ts +32 -0
  253. package/src/blueprints/websearch/index.ts +2 -5
  254. package/src/crud/graph.test.ts +2 -2
  255. package/src/crud/graph.ts +9 -9
  256. package/src/functions/READ_THIS.md +5 -0
  257. package/src/functions/agent/index.ts +4 -6
  258. package/src/functions/agent/prompt.ts +15 -25
  259. package/src/functions/entity-extraction/entity-extraction.conversations.json +1 -6597
  260. package/src/functions/entity-extraction/entity-extraction.test.ts +11 -30
  261. package/src/functions/entity-extraction/entity-extraction.ts +12 -14
  262. package/src/functions/entity-extraction/index.ts +4 -4
  263. package/src/functions/exa/exa.ts +2 -2
  264. package/src/functions/exa/index.ts +7 -2
  265. package/src/functions/index.ts +1 -5
  266. package/src/index.ts +2 -1
  267. package/src/sync/sync.ts +2 -2
  268. package/src/testing/index.ts +1 -0
  269. package/src/testing/plugins.tsx +21 -17
  270. package/src/toolkits/WebToolkit.ts +33 -0
  271. package/src/toolkits/index.ts +1 -2
  272. package/src/types/Chat.ts +49 -0
  273. package/src/types/Plan.ts +107 -0
  274. package/src/types/Project.ts +196 -0
  275. package/src/types/index.ts +7 -0
  276. package/dist/lib/browser/index.mjs.map +0 -7
  277. package/dist/lib/browser/meta.json +0 -1
  278. package/dist/lib/browser/testing/index.mjs +0 -43
  279. package/dist/lib/browser/testing/index.mjs.map +0 -7
  280. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
  281. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +0 -7
  282. package/dist/lib/node-esm/index.mjs +0 -2881
  283. package/dist/lib/node-esm/index.mjs.map +0 -7
  284. package/dist/lib/node-esm/meta.json +0 -1
  285. package/dist/lib/node-esm/testing/index.mjs +0 -44
  286. package/dist/lib/node-esm/testing/index.mjs.map +0 -7
  287. package/dist/types/src/blueprints/design/design-blueprint.d.ts +0 -18
  288. package/dist/types/src/blueprints/design/design-blueprint.d.ts.map +0 -1
  289. package/dist/types/src/blueprints/design/design-blueprint.test.d.ts +0 -2
  290. package/dist/types/src/blueprints/design/design-blueprint.test.d.ts.map +0 -1
  291. package/dist/types/src/blueprints/discord/discord-blueprint.d.ts +0 -18
  292. package/dist/types/src/blueprints/discord/discord-blueprint.d.ts.map +0 -1
  293. package/dist/types/src/blueprints/linear/linear-blueprint.d.ts +0 -18
  294. package/dist/types/src/blueprints/linear/linear-blueprint.d.ts.map +0 -1
  295. package/dist/types/src/blueprints/planning/planning-blueprint.d.ts +0 -18
  296. package/dist/types/src/blueprints/planning/planning-blueprint.d.ts.map +0 -1
  297. package/dist/types/src/blueprints/planning/planning-blueprint.test.d.ts +0 -2
  298. package/dist/types/src/blueprints/planning/planning-blueprint.test.d.ts.map +0 -1
  299. package/dist/types/src/blueprints/research/research-blueprint.d.ts +0 -18
  300. package/dist/types/src/blueprints/research/research-blueprint.d.ts.map +0 -1
  301. package/dist/types/src/blueprints/research/research-blueprint.test.d.ts +0 -2
  302. package/dist/types/src/blueprints/research/research-blueprint.test.d.ts.map +0 -1
  303. package/dist/types/src/blueprints/websearch/websearch-blueprint.d.ts +0 -18
  304. package/dist/types/src/blueprints/websearch/websearch-blueprint.d.ts.map +0 -1
  305. package/dist/types/src/blueprints/websearch/websearch-toolkit.d.ts.map +0 -1
  306. package/dist/types/src/experimental/feed.test.d.ts +0 -2
  307. package/dist/types/src/experimental/feed.test.d.ts.map +0 -1
  308. package/dist/types/src/functions/discord/fetch-messages.d.ts.map +0 -1
  309. package/dist/types/src/functions/discord/fetch-messages.test.d.ts.map +0 -1
  310. package/dist/types/src/functions/discord/index.d.ts.map +0 -1
  311. package/dist/types/src/functions/document/index.d.ts +0 -13
  312. package/dist/types/src/functions/document/index.d.ts.map +0 -1
  313. package/dist/types/src/functions/document/read.d.ts +0 -7
  314. package/dist/types/src/functions/document/read.d.ts.map +0 -1
  315. package/dist/types/src/functions/document/update.d.ts.map +0 -1
  316. package/dist/types/src/functions/github/fetch-prs.d.ts.map +0 -1
  317. package/dist/types/src/functions/linear/index.d.ts.map +0 -1
  318. package/dist/types/src/functions/linear/linear.test.d.ts.map +0 -1
  319. package/dist/types/src/functions/linear/sync-issues.d.ts.map +0 -1
  320. package/dist/types/src/functions/research/document-create.d.ts.map +0 -1
  321. package/dist/types/src/functions/research/index.d.ts.map +0 -1
  322. package/dist/types/src/functions/research/research-graph.d.ts.map +0 -1
  323. package/dist/types/src/functions/research/research.d.ts.map +0 -1
  324. package/dist/types/src/functions/research/research.test.d.ts.map +0 -1
  325. package/dist/types/src/functions/research/types.d.ts +0 -6
  326. package/dist/types/src/functions/research/types.d.ts.map +0 -1
  327. package/dist/types/src/functions/tasks/index.d.ts +0 -15
  328. package/dist/types/src/functions/tasks/index.d.ts.map +0 -1
  329. package/dist/types/src/functions/tasks/read.d.ts +0 -7
  330. package/dist/types/src/functions/tasks/read.d.ts.map +0 -1
  331. package/dist/types/src/functions/tasks/task-list.d.ts.map +0 -1
  332. package/dist/types/src/functions/tasks/task-list.test.d.ts.map +0 -1
  333. package/dist/types/src/functions/tasks/update.d.ts +0 -9
  334. package/dist/types/src/functions/tasks/update.d.ts.map +0 -1
  335. package/dist/types/src/initiative/Initiative.d.ts +0 -84
  336. package/dist/types/src/initiative/Initiative.d.ts.map +0 -1
  337. package/dist/types/src/initiative/InitiativeSchema.d.ts +0 -19
  338. package/dist/types/src/initiative/InitiativeSchema.d.ts.map +0 -1
  339. package/dist/types/src/initiative/functions/agent.d.ts +0 -37
  340. package/dist/types/src/initiative/functions/agent.d.ts.map +0 -1
  341. package/dist/types/src/initiative/functions/getContext.d.ts +0 -17
  342. package/dist/types/src/initiative/functions/getContext.d.ts.map +0 -1
  343. package/dist/types/src/initiative/functions/index.d.ts +0 -4
  344. package/dist/types/src/initiative/functions/index.d.ts.map +0 -1
  345. package/dist/types/src/initiative/functions/update.d.ts.map +0 -1
  346. package/dist/types/src/initiative/index.d.ts.map +0 -1
  347. package/dist/types/src/initiative/initiative.test.d.ts +0 -2
  348. package/dist/types/src/initiative/initiative.test.d.ts.map +0 -1
  349. package/dist/types/src/toolkits/AssistantToolkit.d.ts +0 -43
  350. package/dist/types/src/toolkits/AssistantToolkit.d.ts.map +0 -1
  351. package/dist/types/src/toolkits/AssistantToolkit.test.d.ts +0 -2
  352. package/dist/types/src/toolkits/AssistantToolkit.test.d.ts.map +0 -1
  353. package/dist/types/src/toolkits/SystemToolkit.d.ts +0 -99
  354. package/dist/types/src/toolkits/SystemToolkit.d.ts.map +0 -1
  355. package/src/blueprints/discord/discord-blueprint.ts +0 -32
  356. package/src/blueprints/linear/linear-blueprint.ts +0 -33
  357. package/src/blueprints/websearch/websearch-blueprint.ts +0 -18
  358. package/src/experimental/feed.test.ts +0 -111
  359. package/src/functions/discord/index.ts +0 -9
  360. package/src/functions/document/index.ts +0 -12
  361. package/src/functions/document/read.ts +0 -30
  362. package/src/functions/linear/index.ts +0 -9
  363. package/src/functions/linear/linear.test.ts +0 -84
  364. package/src/functions/research/index.ts +0 -14
  365. package/src/functions/research/research-graph.ts +0 -49
  366. package/src/functions/research/research.conversations.json +0 -1
  367. package/src/functions/tasks/index.ts +0 -11
  368. package/src/initiative/Initiative.ts +0 -99
  369. package/src/initiative/InitiativeSchema.ts +0 -37
  370. package/src/initiative/functions/agent.ts +0 -57
  371. package/src/initiative/functions/getContext.ts +0 -74
  372. package/src/initiative/functions/index.ts +0 -7
  373. package/src/initiative/functions/update.ts +0 -63
  374. package/src/initiative/initiative.conversations.json +0 -1
  375. package/src/toolkits/AssistantToolkit.conversations.json +0 -1
  376. package/src/toolkits/AssistantToolkit.test.ts +0 -94
  377. package/src/toolkits/AssistantToolkit.ts +0 -70
  378. package/src/toolkits/SystemToolkit.ts +0 -299
  379. /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs +0 -0
  380. /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs.map +0 -0
  381. /package/dist/types/src/{functions/discord → blueprints/discord/functions}/fetch-messages.d.ts +0 -0
  382. /package/dist/types/src/{functions/discord → blueprints/discord/functions}/fetch-messages.test.d.ts +0 -0
  383. /package/dist/types/src/{functions/github → blueprints/github/functions}/fetch-prs.d.ts +0 -0
  384. /package/dist/types/src/{initiative → blueprints/github}/index.d.ts +0 -0
  385. /package/dist/types/src/{functions/linear → blueprints/linear/functions}/linear.test.d.ts +0 -0
  386. /package/dist/types/src/{functions/linear → blueprints/linear/functions}/sync-issues.d.ts +0 -0
  387. /package/dist/types/src/{functions/tasks → blueprints/planning-old/functions}/task-list.d.ts +0 -0
  388. /package/dist/types/src/{functions/tasks → blueprints/planning-old/functions}/task-list.test.d.ts +0 -0
  389. /package/dist/types/src/{functions/research → blueprints/research/functions}/research.test.d.ts +0 -0
  390. /package/src/{functions/discord → blueprints/discord/functions}/fetch-messages.ts +0 -0
  391. /package/src/{functions/github → blueprints/github/functions}/fetch-prs.ts +0 -0
  392. /package/src/{initiative → blueprints/github}/index.ts +0 -0
  393. /package/src/{functions/tasks → blueprints/planning-old/functions}/task-list.test.ts +0 -0
  394. /package/src/{functions/tasks → blueprints/planning-old/functions}/task-list.ts +0 -0
  395. /package/src/blueprints/research/{research-blueprint.test.ts → blueprint.test.ts} +0 -0
  396. /package/src/{functions/research → blueprints/research/functions}/research-instructions.tpl +0 -0
  397. /package/src/blueprints/websearch/{websearch-toolkit.ts → toolkit.ts} +0 -0
@@ -1 +0,0 @@
1
- {"conversations":[{"parameters":{"model":"@anthropic/claude-opus-4-0","stream":true,"tools":[]},"prompt":{"content":[{"role":"user","content":"Add to context: {\"id\":\"01JGFJJZ00G0WKQSJGMAKCNT87\",\"@type\":\"dxn:type:dxos.org/type/Organization:0.1.0\",\"@meta\":{\"keys\":[]},\"name\":\"Cyberdyne Systems\",\"website\":\"https://cyberdyne.com\"}","options":{}}]},"response":[{"type":"response-metadata","id":"msg_01HNLR7j62QCthmzukeZc38d","modelId":"claude-opus-4-20250514","timestamp":"1970-01-01T00:00:00.000Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"I've","metadata":{}},{"type":"text-delta","id":"0","delta":" note","metadata":{}},{"type":"text-delta","id":"0","delta":"d the","metadata":{}},{"type":"text-delta","id":"0","delta":" context","metadata":{}},{"type":"text-delta","id":"0","delta":" about","metadata":{}},{"type":"text-delta","id":"0","delta":" Cyberdyne Systems. This","metadata":{}},{"type":"text-delta","id":"0","delta":" appears to be an","metadata":{}},{"type":"text-delta","id":"0","delta":" organization","metadata":{}},{"type":"text-delta","id":"0","delta":" object","metadata":{}},{"type":"text-delta","id":"0","delta":" with:","metadata":{}},{"type":"text-delta","id":"0","delta":"\n- Name","metadata":{}},{"type":"text-delta","id":"0","delta":":","metadata":{}},{"type":"text-delta","id":"0","delta":" Cyberdyne Systems\n- Website:","metadata":{}},{"type":"text-delta","id":"0","delta":" https://cyberdyne.com","metadata":{}},{"type":"text-delta","id":"0","delta":"\n- Type: Organization","metadata":{}},{"type":"text-delta","id":"0","delta":" (version","metadata":{}},{"type":"text-delta","id":"0","delta":" 0.1.0)","metadata":{}},{"type":"text-delta","id":"0","delta":"\n- A","metadata":{}},{"type":"text-delta","id":"0","delta":" unique","metadata":{}},{"type":"text-delta","id":"0","delta":" ID","metadata":{}},{"type":"text-delta","id":"0","delta":"\n\nHow","metadata":{}},{"type":"text-delta","id":"0","delta":" can","metadata":{}},{"type":"text-delta","id":"0","delta":" I help you with this organization information","metadata":{}},{"type":"text-delta","id":"0","delta":"?","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":87,"outputTokens":74,"totalTokens":161},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"input_tokens":87,"output_tokens":2,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-0","stream":true,"tools":[]},"prompt":{"content":[{"role":"user","content":"Add to context: {\"id\":\"01JGFJJZ00G0WKQSJGMAKCNT89\",\"@type\":\"dxn:type:dxos.org/type/Organization:0.1.0\",\"@meta\":{\"keys\":[]},\"name\":\"Cyberdyne Systems\",\"website\":\"https://cyberdyne.com\"}","options":{}}]},"response":[{"type":"response-metadata","id":"msg_01LgdR7kxSvEaKHNaFxG3hgZ","modelId":"claude-opus-4-20250514","timestamp":"1970-01-01T00:00:00.000Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"I've","metadata":{}},{"type":"text-delta","id":"0","delta":" adde","metadata":{}},{"type":"text-delta","id":"0","delta":"d the","metadata":{}},{"type":"text-delta","id":"0","delta":" Cyberdyne Systems organization","metadata":{}},{"type":"text-delta","id":"0","delta":" to my","metadata":{}},{"type":"text-delta","id":"0","delta":" context. This","metadata":{}},{"type":"text-delta","id":"0","delta":" appears to be a reference","metadata":{}},{"type":"text-delta","id":"0","delta":" to the fictional","metadata":{}},{"type":"text-delta","id":"0","delta":" company","metadata":{}},{"type":"text-delta","id":"0","delta":" from the Terminator franchise","metadata":{}},{"type":"text-delta","id":"0","delta":", known","metadata":{}},{"type":"text-delta","id":"0","delta":" for creating","metadata":{}},{"type":"text-delta","id":"0","delta":" Skynet and advance","metadata":{}},{"type":"text-delta","id":"0","delta":"d AI/","metadata":{}},{"type":"text-delta","id":"0","delta":"robotics technology. The organization has","metadata":{}},{"type":"text-delta","id":"0","delta":" been","metadata":{}},{"type":"text-delta","id":"0","delta":" store","metadata":{}},{"type":"text-delta","id":"0","delta":"d with","metadata":{}},{"type":"text-delta","id":"0","delta":" its","metadata":{}},{"type":"text-delta","id":"0","delta":" website","metadata":{}},{"type":"text-delta","id":"0","delta":" URL","metadata":{}},{"type":"text-delta","id":"0","delta":".\n\nIs","metadata":{}},{"type":"text-delta","id":"0","delta":" there anything specific you","metadata":{}},{"type":"text-delta","id":"0","delta":"'d like me to help","metadata":{}},{"type":"text-delta","id":"0","delta":" you with regarding this organization, or","metadata":{}},{"type":"text-delta","id":"0","delta":" would you like to","metadata":{}},{"type":"text-delta","id":"0","delta":" add more","metadata":{}},{"type":"text-delta","id":"0","delta":" information","metadata":{}},{"type":"text-delta","id":"0","delta":" to the context?","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":87,"outputTokens":87,"totalTokens":174},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"input_tokens":87,"output_tokens":2,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-0","stream":true,"tools":[]},"prompt":{"content":[{"role":"user","content":"Add to context: {\"id\":\"01JGFJJZ00G0WKQSJGMAKCNT8A\",\"@type\":\"dxn:type:dxos.org/type/Organization:0.1.0\",\"@meta\":{\"keys\":[]},\"name\":\"Cyberdyne Systems\",\"website\":\"https://cyberdyne.com\"}","options":{}}]},"response":[{"type":"response-metadata","id":"msg_01DCJT6bMkLDRaePpdgZaMLs","modelId":"claude-opus-4-20250514","timestamp":"1970-01-01T00:00:00.000Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"I've","metadata":{}},{"type":"text-delta","id":"0","delta":" note","metadata":{}},{"type":"text-delta","id":"0","delta":"d the context","metadata":{}},{"type":"text-delta","id":"0","delta":" about","metadata":{}},{"type":"text-delta","id":"0","delta":" Cyberdyne Systems.","metadata":{}},{"type":"text-delta","id":"0","delta":" This appears to be an","metadata":{}},{"type":"text-delta","id":"0","delta":" organization object","metadata":{}},{"type":"text-delta","id":"0","delta":" with","metadata":{}},{"type":"text-delta","id":"0","delta":":","metadata":{}},{"type":"text-delta","id":"0","delta":"\n- Name","metadata":{}},{"type":"text-delta","id":"0","delta":": Cyberdyne Systems\n-","metadata":{}},{"type":"text-delta","id":"0","delta":" Website: https://cyberdyne.","metadata":{}},{"type":"text-delta","id":"0","delta":"com\n- Type","metadata":{}},{"type":"text-delta","id":"0","delta":": Organization","metadata":{}},{"type":"text-delta","id":"0","delta":" (","metadata":{}},{"type":"text-delta","id":"0","delta":"version","metadata":{}},{"type":"text-delta","id":"0","delta":" 0.1.0)","metadata":{}},{"type":"text-delta","id":"0","delta":"\n- ID","metadata":{}},{"type":"text-delta","id":"0","delta":": 01JGFJJ","metadata":{}},{"type":"text-delta","id":"0","delta":"Z00G0WKQ","metadata":{}},{"type":"text-delta","id":"0","delta":"SJGMAKCNT8A","metadata":{}},{"type":"text-delta","id":"0","delta":"\n\nIs","metadata":{}},{"type":"text-delta","id":"0","delta":" there","metadata":{}},{"type":"text-delta","id":"0","delta":" something","metadata":{}},{"type":"text-delta","id":"0","delta":" specific you'd like to know","metadata":{}},{"type":"text-delta","id":"0","delta":" about or","metadata":{}},{"type":"text-delta","id":"0","delta":" do with this organization data","metadata":{}},{"type":"text-delta","id":"0","delta":"?","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":88,"outputTokens":102,"totalTokens":190},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"input_tokens":88,"output_tokens":2,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-0","stream":true,"tools":[]},"prompt":{"content":[{"role":"user","content":"Add to context: {\"id\":\"01JGFJJZ00G0WKQSJGMAKCNT8C\",\"@type\":\"dxn:type:dxos.org/type/Organization:0.1.0\",\"@meta\":{\"keys\":[]},\"name\":\"Cyberdyne Systems\",\"website\":\"https://cyberdyne.com\"}","options":{}}]},"response":[{"type":"response-metadata","id":"msg_012T8q2F93Aisj5BJGyKntH5","modelId":"claude-opus-4-20250514","timestamp":"1970-01-01T00:00:00.000Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"I'll","metadata":{}},{"type":"text-delta","id":"0","delta":" help you add to","metadata":{}},{"type":"text-delta","id":"0","delta":" the context. However, I need more","metadata":{}},{"type":"text-delta","id":"0","delta":" information about what you","metadata":{}},{"type":"text-delta","id":"0","delta":"'d like to add to","metadata":{}},{"type":"text-delta","id":"0","delta":" this","metadata":{}},{"type":"text-delta","id":"0","delta":" organization","metadata":{}},{"type":"text-delta","id":"0","delta":" recor","metadata":{}},{"type":"text-delta","id":"0","delta":"d. ","metadata":{}},{"type":"text-delta","id":"0","delta":"\n\nThe","metadata":{}},{"type":"text-delta","id":"0","delta":" current context shows a","metadata":{}},{"type":"text-delta","id":"0","delta":" Cyberdyne Systems organization entry","metadata":{}},{"type":"text-delta","id":"0","delta":".","metadata":{}},{"type":"text-delta","id":"0","delta":" What woul","metadata":{}},{"type":"text-delta","id":"0","delta":"d you like to add?","metadata":{}},{"type":"text-delta","id":"0","delta":" For","metadata":{}},{"type":"text-delta","id":"0","delta":" example:","metadata":{}},{"type":"text-delta","id":"0","delta":"\n- Additional","metadata":{}},{"type":"text-delta","id":"0","delta":" contact","metadata":{}},{"type":"text-delta","id":"0","delta":" information?","metadata":{}},{"type":"text-delta","id":"0","delta":"\n- Description","metadata":{}},{"type":"text-delta","id":"0","delta":" or","metadata":{}},{"type":"text-delta","id":"0","delta":" mission","metadata":{}},{"type":"text-delta","id":"0","delta":" statement?\n- Address","metadata":{}},{"type":"text-delta","id":"0","delta":" or location details","metadata":{}},{"type":"text-delta","id":"0","delta":"?\n- Social media links?","metadata":{}},{"type":"text-delta","id":"0","delta":"\n- Other","metadata":{}},{"type":"text-delta","id":"0","delta":" organizational details","metadata":{}},{"type":"text-delta","id":"0","delta":"?\n\nPlease let","metadata":{}},{"type":"text-delta","id":"0","delta":" me know what specific information you'd like","metadata":{}},{"type":"text-delta","id":"0","delta":" to ad","metadata":{}},{"type":"text-delta","id":"0","delta":"d to","metadata":{}},{"type":"text-delta","id":"0","delta":" this context","metadata":{}},{"type":"text-delta","id":"0","delta":".","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":88,"outputTokens":104,"totalTokens":192},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"input_tokens":88,"output_tokens":2,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-0","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"The ID of the document to read.","examples":["dxn:echo:@:XXXXX","@dxn:echo:@:XXXXX","spaceID:objectID","XXXXX"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n \n</blueprint>","options":{}},{"role":"user","content":"Add to context: {\"id\":\"01JGFJJZ00G0WKQSJGMAKCNT8D\",\"@type\":\"dxn:type:dxos.org/type/Organization:0.1.0\",\"@meta\":{\"keys\":[]},\"name\":\"Cyberdyne Systems\",\"website\":\"https://cyberdyne.com\"}","options":{}}]},"response":[{"type":"response-metadata","id":"msg_017B1LQZEJPzaFfwptn7WVrs","modelId":"claude-opus-4-20250514","timestamp":"1970-01-01T00:00:00.000Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"I'll","metadata":{}},{"type":"text-delta","id":"0","delta":" add that","metadata":{}},{"type":"text-delta","id":"0","delta":" Organization","metadata":{}},{"type":"text-delta","id":"0","delta":" object","metadata":{}},{"type":"text-delta","id":"0","delta":" to the context for you.","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"tool-params-start","id":"toolu_016GndoqtEHmNSFuY516JkJB","name":"add-to-context","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_016GndoqtEHmNSFuY516JkJB","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_016GndoqtEHmNSFuY516JkJB","delta":"{\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_016GndoqtEHmNSFuY516JkJB","delta":"id\": \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_016GndoqtEHmNSFuY516JkJB","delta":"01JGFJJZ","metadata":{}},{"type":"tool-params-delta","id":"toolu_016GndoqtEHmNSFuY516JkJB","delta":"00G","metadata":{}},{"type":"tool-params-delta","id":"toolu_016GndoqtEHmNSFuY516JkJB","delta":"0WKQSJG","metadata":{}},{"type":"tool-params-delta","id":"toolu_016GndoqtEHmNSFuY516JkJB","delta":"MAKCNT8D\"}","metadata":{}},{"type":"tool-params-end","id":"toolu_016GndoqtEHmNSFuY516JkJB","metadata":{}},{"type":"tool-call","id":"toolu_016GndoqtEHmNSFuY516JkJB","name":"add-to-context","params":{"id":"01JGFJJZ00G0WKQSJGMAKCNT8D"},"providerExecuted":false,"metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":538,"outputTokens":88,"totalTokens":626},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"input_tokens":538,"output_tokens":2,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-0","stream":true,"tools":[{"name":"add-to-context","description":"Adds the object to the chat context.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"The ID of the document to read.","examples":["dxn:echo:@:XXXXX","@dxn:echo:@:XXXXX","spaceID:objectID","XXXXX"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n \n</blueprint>","options":{}},{"role":"user","content":"Add to context: {\"id\":\"01JGFJJZ00G0WKQSJGMAKCNT8D\",\"@type\":\"dxn:type:dxos.org/type/Organization:0.1.0\",\"@meta\":{\"keys\":[]},\"name\":\"Cyberdyne Systems\",\"website\":\"https://cyberdyne.com\"}","options":{}},{"role":"assistant","content":[{"type":"text","text":"I'll add that Organization object to the context for you.","options":{}},{"type":"tool-call","id":"toolu_016GndoqtEHmNSFuY516JkJB","name":"add-to-context","params":{"id":"01JGFJJZ00G0WKQSJGMAKCNT8D"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_016GndoqtEHmNSFuY516JkJB","name":"add-to-context","isFailure":false,"result":{},"options":{}}],"options":{}}]},"response":[{"type":"response-metadata","id":"msg_01UjUAP2ewUVeX3dNu2atnMj","modelId":"claude-opus-4-20250514","timestamp":"1970-01-01T00:00:00.000Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"I","metadata":{}},{"type":"text-delta","id":"0","delta":"'ve successfully added the Cyberdyne","metadata":{}},{"type":"text-delta","id":"0","delta":" Systems organization to the context. The object","metadata":{}},{"type":"text-delta","id":"0","delta":" includes","metadata":{}},{"type":"text-delta","id":"0","delta":":","metadata":{}},{"type":"text-delta","id":"0","delta":"\n- Name","metadata":{}},{"type":"text-delta","id":"0","delta":": Cyberdyne Systems\n-","metadata":{}},{"type":"text-delta","id":"0","delta":" Website: https://cyberdyne.","metadata":{}},{"type":"text-delta","id":"0","delta":"com\n- Type","metadata":{}},{"type":"text-delta","id":"0","delta":": Organization","metadata":{}},{"type":"text-delta","id":"0","delta":" (","metadata":{}},{"type":"text-delta","id":"0","delta":"dxn:type:dxos","metadata":{}},{"type":"text-delta","id":"0","delta":".org/type/Organization:0","metadata":{}},{"type":"text-delta","id":"0","delta":".1.0)\n- ID","metadata":{}},{"type":"text-delta","id":"0","delta":": 01JGFJJ","metadata":{}},{"type":"text-delta","id":"0","delta":"Z00G0WKQ","metadata":{}},{"type":"text-delta","id":"0","delta":"SJGMAKCNT8D","metadata":{}},{"type":"text-delta","id":"0","delta":"\n\nThe organization","metadata":{}},{"type":"text-delta","id":"0","delta":" is","metadata":{}},{"type":"text-delta","id":"0","delta":" now available in the","metadata":{}},{"type":"text-delta","id":"0","delta":" chat","metadata":{}},{"type":"text-delta","id":"0","delta":" context for reference","metadata":{}},{"type":"text-delta","id":"0","delta":" in","metadata":{}},{"type":"text-delta","id":"0","delta":" our","metadata":{}},{"type":"text-delta","id":"0","delta":" conversation.","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":638,"outputTokens":112,"totalTokens":750},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"input_tokens":638,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-0","stream":true,"tools":[{"name":"context-add","description":"Adds the object to the chat context.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"The ID of the document to add.","examples":["dxn:echo:@:XXXXX","@dxn:echo:@:XXXXX","spaceID:objectID","XXXXX"]}},"additionalProperties":false}},{"name":"context-remove","description":"Removes the object from the chat context.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"The ID of the document to remove.","examples":["dxn:echo:@:XXXXX","@dxn:echo:@:XXXXX","spaceID:objectID","XXXXX"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n \n</blueprint>","options":{}},{"role":"user","content":"Add to context: {\"id\":\"01JGFJJZ00G0WKQSJGMAKCNT8D\",\"@type\":\"dxn:type:dxos.org/type/Organization:0.1.0\",\"@meta\":{\"keys\":[]},\"name\":\"Cyberdyne Systems\",\"website\":\"https://cyberdyne.com\"}","options":{}}]},"response":[{"type":"response-metadata","id":"msg_01Nqi3ZEPyWzCwjQQd5EAJCC","modelId":"claude-opus-4-20250514","timestamp":"1970-01-01T00:00:00.000Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"I'll add the","metadata":{}},{"type":"text-delta","id":"0","delta":" Cyberdyne Systems organization object","metadata":{}},{"type":"text-delta","id":"0","delta":" to the context.","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"tool-params-start","id":"toolu_019GiCx3ifBGJgV44hUJUuG1","name":"context-add","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_019GiCx3ifBGJgV44hUJUuG1","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_019GiCx3ifBGJgV44hUJUuG1","delta":"{\"id\": \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_019GiCx3ifBGJgV44hUJUuG1","delta":"01JGF","metadata":{}},{"type":"tool-params-delta","id":"toolu_019GiCx3ifBGJgV44hUJUuG1","delta":"JJZ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019GiCx3ifBGJgV44hUJUuG1","delta":"00G0WK","metadata":{}},{"type":"tool-params-delta","id":"toolu_019GiCx3ifBGJgV44hUJUuG1","delta":"QSJGMAKCNT8","metadata":{}},{"type":"tool-params-delta","id":"toolu_019GiCx3ifBGJgV44hUJUuG1","delta":"D\"}","metadata":{}},{"type":"tool-params-end","id":"toolu_019GiCx3ifBGJgV44hUJUuG1","metadata":{}},{"type":"tool-call","id":"toolu_019GiCx3ifBGJgV44hUJUuG1","name":"context-add","params":{"id":"01JGFJJZ00G0WKQSJGMAKCNT8D"},"providerExecuted":false,"metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":653,"outputTokens":89,"totalTokens":742},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"input_tokens":653,"output_tokens":5,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-0","stream":true,"tools":[{"name":"context-add","description":"Adds the object to the chat context.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"The ID of the document to add.","examples":["dxn:echo:@:XXXXX","@dxn:echo:@:XXXXX","spaceID:objectID","XXXXX"]}},"additionalProperties":false}},{"name":"context-remove","description":"Removes the object from the chat context.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"The ID of the document to remove.","examples":["dxn:echo:@:XXXXX","@dxn:echo:@:XXXXX","spaceID:objectID","XXXXX"]}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n \n</blueprint>","options":{}},{"role":"user","content":"Add to context: {\"id\":\"01JGFJJZ00G0WKQSJGMAKCNT8D\",\"@type\":\"dxn:type:dxos.org/type/Organization:0.1.0\",\"@meta\":{\"keys\":[]},\"name\":\"Cyberdyne Systems\",\"website\":\"https://cyberdyne.com\"}","options":{}},{"role":"assistant","content":[{"type":"text","text":"I'll add the Cyberdyne Systems organization object to the context.","options":{}},{"type":"tool-call","id":"toolu_019GiCx3ifBGJgV44hUJUuG1","name":"context-add","params":{"id":"01JGFJJZ00G0WKQSJGMAKCNT8D"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_019GiCx3ifBGJgV44hUJUuG1","name":"context-add","isFailure":false,"result":{},"options":{}}],"options":{}}]},"response":[{"type":"response-metadata","id":"msg_01SyKchWCk59XXyPFyPw6JKC","modelId":"claude-opus-4-20250514","timestamp":"1970-01-01T00:00:00.000Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"The","metadata":{}},{"type":"text-delta","id":"0","delta":" Cyberdyne Systems organization has","metadata":{}},{"type":"text-delta","id":"0","delta":" been successfully added to the context. This","metadata":{}},{"type":"text-delta","id":"0","delta":" organization object","metadata":{}},{"type":"text-delta","id":"0","delta":" includes:","metadata":{}},{"type":"text-delta","id":"0","delta":"\n- Name","metadata":{}},{"type":"text-delta","id":"0","delta":": Cyberdyne Systems\n-","metadata":{}},{"type":"text-delta","id":"0","delta":" Website: https://cyberdyne.","metadata":{}},{"type":"text-delta","id":"0","delta":"com\n- Type: dxn","metadata":{}},{"type":"text-delta","id":"0","delta":":type:dxos.org","metadata":{}},{"type":"text-delta","id":"0","delta":"/type/Organization:0.1","metadata":{}},{"type":"text-delta","id":"0","delta":".0\n\nYou","metadata":{}},{"type":"text-delta","id":"0","delta":" can now reference","metadata":{}},{"type":"text-delta","id":"0","delta":" this organization in our","metadata":{}},{"type":"text-delta","id":"0","delta":" conversation or","metadata":{}},{"type":"text-delta","id":"0","delta":" perform","metadata":{}},{"type":"text-delta","id":"0","delta":" operations with","metadata":{}},{"type":"text-delta","id":"0","delta":" it.","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":754,"outputTokens":84,"totalTokens":838},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"input_tokens":754,"output_tokens":2,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-0","stream":true,"tools":[]},"prompt":{"content":[{"role":"user","content":"Add to context: {\"id\":\"01JGFJJZ00G0WKQSJGMAKCNT8D\",\"@type\":\"dxn:type:dxos.org/type/Organization:0.1.0\",\"@meta\":{\"keys\":[]},\"name\":\"Cyberdyne Systems\",\"website\":\"https://cyberdyne.com\"}","options":{}}]},"response":[{"type":"response-metadata","id":"msg_01DSRvVzMeFZ1XiRtJHLzT6B","modelId":"claude-opus-4-20250514","timestamp":"1970-01-01T00:00:00.000Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"I've","metadata":{}},{"type":"text-delta","id":"0","delta":" note","metadata":{}},{"type":"text-delta","id":"0","delta":"d the","metadata":{}},{"type":"text-delta","id":"0","delta":" context","metadata":{}},{"type":"text-delta","id":"0","delta":" about","metadata":{}},{"type":"text-delta","id":"0","delta":" Cyberdyne Systems.","metadata":{}},{"type":"text-delta","id":"0","delta":" This appears to be an","metadata":{}},{"type":"text-delta","id":"0","delta":" organization recor","metadata":{}},{"type":"text-delta","id":"0","delta":"d with:\n- Name: Cyb","metadata":{}},{"type":"text-delta","id":"0","delta":"erdyne Systems\n- Website: https","metadata":{}},{"type":"text-delta","id":"0","delta":"://cyberdyne.com","metadata":{}},{"type":"text-delta","id":"0","delta":"\n- Type: dxos","metadata":{}},{"type":"text-delta","id":"0","delta":".org Organization","metadata":{}},{"type":"text-delta","id":"0","delta":" type (","metadata":{}},{"type":"text-delta","id":"0","delta":"version","metadata":{}},{"type":"text-delta","id":"0","delta":" 0.1.0)","metadata":{}},{"type":"text-delta","id":"0","delta":"\n- ID","metadata":{}},{"type":"text-delta","id":"0","delta":": 01JGFJJ","metadata":{}},{"type":"text-delta","id":"0","delta":"Z00G0WKQ","metadata":{}},{"type":"text-delta","id":"0","delta":"SJGMAKCNT8D","metadata":{}},{"type":"text-delta","id":"0","delta":"\n\nIs there something specific you'd like to","metadata":{}},{"type":"text-delta","id":"0","delta":" know","metadata":{}},{"type":"text-delta","id":"0","delta":" about this organization or woul","metadata":{}},{"type":"text-delta","id":"0","delta":"d you like me to help with something","metadata":{}},{"type":"text-delta","id":"0","delta":" related to this","metadata":{}},{"type":"text-delta","id":"0","delta":" data","metadata":{}},{"type":"text-delta","id":"0","delta":"?","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":88,"outputTokens":117,"totalTokens":205},"metadata":{"anthropic":{"usage":{"cache_creation":{"ephemeral_1h_input_tokens":0,"ephemeral_5m_input_tokens":0},"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"input_tokens":88,"output_tokens":2,"server_tool_use":null,"service_tier":"standard"}}}}]}]}
@@ -1,94 +0,0 @@
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 Layer from 'effect/Layer';
8
-
9
- import { AiService, ConsolePrinter } from '@dxos/ai';
10
- import { MemoizedAiService, TestAiService } from '@dxos/ai/testing';
11
- import {
12
- AiConversation,
13
- type ContextBinding,
14
- GenerationObserver,
15
- makeToolExecutionServiceFromFunctions,
16
- makeToolResolverFromFunctions,
17
- } from '@dxos/assistant';
18
- import { Blueprint, Template } from '@dxos/blueprints';
19
- import { Database, Obj, Ref } from '@dxos/echo';
20
- import { acquireReleaseResource } from '@dxos/effect';
21
- import { TestHelpers } from '@dxos/effect/testing';
22
- import { CredentialsService, QueueService, TracingService } from '@dxos/functions';
23
- import { FunctionInvocationServiceLayerTest, TestDatabaseLayer } from '@dxos/functions-runtime/testing';
24
- import { ObjectId } from '@dxos/keys';
25
- import { Message, Organization, Person } from '@dxos/types';
26
-
27
- import * as AssistantToolkit from './AssistantToolkit';
28
-
29
- ObjectId.dangerouslyDisableRandomness();
30
-
31
- const TestLayer = Layer.mergeAll(
32
- AiService.model('@anthropic/claude-opus-4-0'),
33
- makeToolResolverFromFunctions([], AssistantToolkit.AssistantToolkit),
34
- makeToolExecutionServiceFromFunctions(AssistantToolkit.AssistantToolkit, AssistantToolkit.layer()),
35
- ).pipe(
36
- Layer.provideMerge(FunctionInvocationServiceLayerTest()),
37
- Layer.provideMerge(
38
- Layer.mergeAll(
39
- TestAiService(),
40
- TestDatabaseLayer({
41
- spaceKey: 'fixed',
42
- indexing: { vector: true },
43
- types: [Blueprint.Blueprint, Message.Message, Person.Person, Organization.Organization],
44
- }),
45
- CredentialsService.configuredLayer([]),
46
- TracingService.layerNoop,
47
- ),
48
- ),
49
- );
50
-
51
- const blueprint = Blueprint.make({
52
- key: 'dxos.org/blueprint/assistant',
53
- name: 'Assistant',
54
- tools: Blueprint.toolDefinitions({ tools: AssistantToolkit.tools }),
55
- instructions: Template.make(),
56
- });
57
-
58
- describe('AssistantToolkit', () => {
59
- it.scoped(
60
- 'can add to context',
61
- Effect.fnUntraced(
62
- function* (_) {
63
- const { db } = yield* Database.Service;
64
- const queue = yield* QueueService.createQueue<Message.Message | ContextBinding>();
65
- const conversation = yield* acquireReleaseResource(() => new AiConversation({ queue }));
66
- const observer = GenerationObserver.fromPrinter(new ConsolePrinter());
67
-
68
- yield* Effect.promise(() =>
69
- conversation.context.bind({
70
- blueprints: [Ref.make(db.add(blueprint))],
71
- }),
72
- );
73
-
74
- const organization = yield* Database.Service.add(
75
- Obj.make(Organization.Organization, {
76
- name: 'Cyberdyne Systems',
77
- website: 'https://cyberdyne.com',
78
- }),
79
- );
80
-
81
- yield* conversation.createRequest({
82
- prompt: `Add to context: ${JSON.stringify(organization)}`,
83
- observer,
84
- });
85
-
86
- expect(conversation.context.getBlueprints()).toEqual([blueprint]);
87
- expect(conversation.context.getObjects()).toEqual([organization]);
88
- },
89
- Effect.provide(TestLayer),
90
- TestHelpers.provideTestContext,
91
- ),
92
- MemoizedAiService.isGenerationEnabled() ? 60_000 : undefined,
93
- );
94
- });
@@ -1,70 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import * as Tool from '@effect/ai/Tool';
6
- import * as Toolkit from '@effect/ai/Toolkit';
7
- import * as Effect from 'effect/Effect';
8
- import * as Record from 'effect/Record';
9
- import * as Schema from 'effect/Schema';
10
-
11
- import { AiContextService, ArtifactId } from '@dxos/assistant';
12
- import { Database, type Ref } from '@dxos/echo';
13
- import { trim } from '@dxos/util';
14
-
15
- export const AssistantToolkit = Toolkit.make(
16
- Tool.make('context-add', {
17
- description: trim`
18
- Adds the object to the chat context.
19
- `,
20
- parameters: {
21
- id: ArtifactId.annotations({
22
- description: 'The ID of the document to add.',
23
- }),
24
- },
25
- success: Schema.Void,
26
- failure: Schema.Never,
27
- dependencies: [AiContextService, Database.Service],
28
- }),
29
- Tool.make('context-remove', {
30
- description: trim`
31
- Removes the object from the chat context.
32
- `,
33
- parameters: {
34
- id: ArtifactId.annotations({
35
- description: 'The ID of the document to remove.',
36
- }),
37
- },
38
- success: Schema.Void,
39
- failure: Schema.Never,
40
- dependencies: [AiContextService, Database.Service],
41
- }),
42
- );
43
-
44
- export const tools = Record.keys(AssistantToolkit.tools);
45
-
46
- export const layer = () =>
47
- AssistantToolkit.toLayer({
48
- ['context-add' as const]: Effect.fnUntraced(function* ({ id }) {
49
- const { binder } = yield* AiContextService;
50
- const { db } = yield* Database.Service;
51
- const ref = db.makeRef(ArtifactId.toDXN(id, db.spaceId)) as Ref.Ref<any>;
52
- yield* Effect.promise(() =>
53
- binder.bind({
54
- blueprints: [],
55
- objects: [ref],
56
- }),
57
- );
58
- }),
59
- ['context-remove' as const]: Effect.fnUntraced(function* ({ id }) {
60
- const { binder } = yield* AiContextService;
61
- const { db } = yield* Database.Service;
62
- const ref = db.makeRef(ArtifactId.toDXN(id, db.spaceId)) as Ref.Ref<any>;
63
- yield* Effect.promise(() =>
64
- binder.unbind({
65
- blueprints: [],
66
- objects: [ref],
67
- }),
68
- );
69
- }),
70
- });
@@ -1,299 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import * as Tool from '@effect/ai/Tool';
6
- import * as Toolkit from '@effect/ai/Toolkit';
7
- import * as Effect from 'effect/Effect';
8
- import type * as Layer from 'effect/Layer';
9
- import * as Record from 'effect/Record';
10
- import * as Schema from 'effect/Schema';
11
-
12
- import { ArtifactId } from '@dxos/assistant';
13
- import { DXN, Database, Entity, Filter, Obj, Relation, Tag, Type } from '@dxos/echo';
14
- import { invariant } from '@dxos/invariant';
15
- import { trim } from '@dxos/util';
16
-
17
- export const SystemToolkit = Toolkit.make(
18
- //
19
- // Schema
20
- //
21
-
22
- Tool.make('schema-list', {
23
- description: trim`
24
- Lists schemas definitions.
25
- `,
26
- parameters: {
27
- // TODO(wittjosiah): Remove this once parameter-less tools are fixed.
28
- limit: Schema.Number,
29
- },
30
- // TODO(dmaretskyi): Effect returns ({ result, encodedResult })
31
- success: Schema.Any,
32
- failure: Schema.Never,
33
- dependencies: [Database.Service],
34
- }),
35
-
36
- Tool.make('schema-add', {
37
- description: trim`
38
- Adds a schema to the space.
39
- The name will be used when displayed to the user.
40
- The typename must be in the format of "example.com/type/Type".
41
- `,
42
- parameters: {
43
- name: Schema.String,
44
- typename: Schema.String,
45
- jsonSchema: Schema.Any,
46
- },
47
- success: Schema.Any,
48
- failure: Schema.Never,
49
- dependencies: [Database.Service],
50
- }),
51
-
52
- //
53
- // Query
54
- //
55
-
56
- Tool.make('query', {
57
- description: trim`
58
- Queries objects in the space.
59
- Get the typename from the schema-list tool.
60
- `,
61
- parameters: {
62
- typename: Schema.String,
63
- },
64
- success: Schema.Any,
65
- failure: Schema.Never,
66
- dependencies: [Database.Service],
67
- }),
68
-
69
- //
70
- // Objects
71
- //
72
-
73
- Tool.make('object-create', {
74
- description: trim`
75
- Creates a new object and adds it to the current space.
76
- Get the schema from the schema-list tool and ensure that the data matches the corresponding schema.
77
- `,
78
- parameters: {
79
- typename: Schema.String,
80
- data: Schema.Any,
81
- },
82
- success: Schema.Any,
83
- failure: Schema.Never, // TODO(burdon): Error handing?
84
- dependencies: [Database.Service],
85
- }),
86
-
87
- Tool.make('object-delete', {
88
- description: trim`
89
- Deletes the object.
90
- `,
91
- parameters: {
92
- id: ArtifactId.annotations({
93
- description: 'The ID of the object.',
94
- }),
95
- },
96
- success: Schema.Any,
97
- failure: Schema.Never,
98
- dependencies: [Database.Service],
99
- }),
100
-
101
- Tool.make('object-update', {
102
- description: trim`
103
- Updates the object properties.
104
- `,
105
- parameters: {
106
- id: ArtifactId.annotations({
107
- description: 'The ID of the object.',
108
- }),
109
- properties: Schema.Record({ key: Schema.String, value: Schema.Any }),
110
- },
111
- success: Schema.Any,
112
- failure: Schema.Never,
113
- dependencies: [Database.Service],
114
- }),
115
-
116
- //
117
- // Relations
118
- //
119
-
120
- Tool.make('relation-create', {
121
- description: trim`
122
- Creates a new relation and adds it to the current space.
123
- Get the schema from the schema-list tool and ensure that the data matches the corresponding schema.
124
- `,
125
- parameters: {
126
- typename: Schema.String,
127
- source: ArtifactId.annotations({
128
- description: 'The ID of the source object.',
129
- }),
130
- target: ArtifactId.annotations({
131
- description: 'The ID of the target object.',
132
- }),
133
- data: Schema.Any.annotations({
134
- description: 'The data to be stored in the relation.',
135
- }),
136
- },
137
- success: Schema.Any,
138
- failure: Schema.Never,
139
- dependencies: [Database.Service],
140
- }),
141
-
142
- Tool.make('relation-delete', {
143
- description: trim`
144
- Deletes the relation.
145
- `,
146
- parameters: {
147
- id: ArtifactId.annotations({
148
- description: 'The ID of the relation.',
149
- }),
150
- },
151
- success: Schema.Any,
152
- failure: Schema.Never,
153
- dependencies: [Database.Service],
154
- }),
155
-
156
- //
157
- // Tags
158
- //
159
-
160
- Tool.make('tag-add', {
161
- description: trim`
162
- Adds a tag to an object.
163
- Tags are objects of type ${Tag.Tag.typename}.
164
- `,
165
- parameters: {
166
- tagId: ArtifactId.annotations({
167
- description: 'The ID of the tag.',
168
- }),
169
- objectId: ArtifactId.annotations({
170
- description: 'The ID of the object.',
171
- }),
172
- },
173
- success: Schema.Any,
174
- failure: Schema.Never,
175
- dependencies: [Database.Service],
176
- }),
177
-
178
- Tool.make('tag-remove', {
179
- description: trim`
180
- Removes a tag from an object.
181
- Tags are objects of type ${Tag.Tag.typename}.
182
- `,
183
- parameters: {
184
- tagId: ArtifactId.annotations({
185
- description: 'The ID of the tag.',
186
- }),
187
- objectId: ArtifactId.annotations({
188
- description: 'The ID of the object.',
189
- }),
190
- },
191
- success: Schema.Any,
192
- failure: Schema.Never,
193
- dependencies: [Database.Service],
194
- }),
195
- );
196
-
197
- export const tools = Record.keys(SystemToolkit.tools);
198
-
199
- export const layer = (): Layer.Layer<Tool.Handler<any>, never, never> =>
200
- SystemToolkit.toLayer({
201
- ['schema-list' as const]: Effect.fnUntraced(function* () {
202
- const { db } = yield* Database.Service;
203
- const schema = yield* Effect.promise(() => db.schemaRegistry.query({ location: ['database', 'runtime'] }).run());
204
- return schema.map((schema) => {
205
- const meta = Type.getMeta(schema);
206
- return {
207
- typename: Type.getTypename(schema),
208
- jsonSchema: Type.toJsonSchema(schema),
209
- kind: meta?.sourceSchema ? 'relation' : 'record',
210
- };
211
- });
212
- }),
213
-
214
- ['schema-add' as const]: Effect.fnUntraced(function* ({ name, typename, jsonSchema }) {
215
- const { db } = yield* Database.Service;
216
- yield* Effect.promise(() =>
217
- db.schemaRegistry.register([
218
- {
219
- typename,
220
- version: '0.1.0',
221
- jsonSchema,
222
- name,
223
- },
224
- ]),
225
- );
226
- }),
227
-
228
- ['query' as const]: Effect.fnUntraced(function* ({ typename }) {
229
- const objects = yield* Database.Service.runQuery(Filter.typename(typename));
230
- return objects;
231
- }),
232
-
233
- ['object-create' as const]: Effect.fnUntraced(function* ({ typename, data }) {
234
- const { db } = yield* Database.Service;
235
- const schema = yield* Effect.promise(() =>
236
- db.schemaRegistry.query({ typename, location: ['database', 'runtime'] }).first(),
237
- );
238
- invariant(Type.isObjectSchema(schema), 'Schema is not an object schema');
239
-
240
- // TODO(dmaretskyi): How to add object to a collection?
241
- const object = db.add(Obj.make(schema, data));
242
- return object;
243
- }),
244
-
245
- ['object-delete' as const]: Effect.fnUntraced(function* ({ id }) {
246
- const { db } = yield* Database.Service;
247
- const object = yield* Database.Service.resolve(DXN.parse(id));
248
- db.remove(object);
249
- return object;
250
- }),
251
-
252
- ['object-update' as const]: Effect.fnUntraced(function* ({ id, properties }) {
253
- const object = yield* Database.Service.resolve(DXN.parse(id));
254
- Entity.change(object as Entity.Any, (obj) => {
255
- for (const [key, value] of Object.entries(properties)) {
256
- obj[key] = value;
257
- }
258
- });
259
- return object;
260
- }),
261
-
262
- ['relation-create' as const]: Effect.fnUntraced(function* ({ typename, source, target, data }) {
263
- const { db } = yield* Database.Service;
264
- const schema = yield* Effect.promise(() =>
265
- db.schemaRegistry.query({ typename, location: ['database', 'runtime'] }).first(),
266
- );
267
- invariant(Type.isRelationSchema(schema), 'Schema is not a relation schema');
268
-
269
- const sourceObj = yield* Database.Service.resolve(DXN.parse(source));
270
- const targetObj = yield* Database.Service.resolve(DXN.parse(target));
271
- const relation = db.add(
272
- Relation.make(schema, {
273
- [Relation.Source]: sourceObj,
274
- [Relation.Target]: targetObj,
275
- ...data,
276
- }),
277
- );
278
- return relation;
279
- }),
280
-
281
- ['relation-delete' as const]: Effect.fnUntraced(function* ({ id }) {
282
- const { db } = yield* Database.Service;
283
- const relation = yield* Database.Service.resolve(DXN.parse(id));
284
- db.remove(relation);
285
- return relation;
286
- }),
287
-
288
- ['tag-add' as const]: Effect.fnUntraced(function* ({ tagId, objectId }) {
289
- const object = yield* Database.Service.resolve(DXN.parse(objectId));
290
- Entity.change(object, (obj) => Entity.addTag(obj, DXN.parse(tagId).toString()));
291
- return object;
292
- }),
293
-
294
- ['tag-remove' as const]: Effect.fnUntraced(function* ({ tagId, objectId }) {
295
- const object = yield* Database.Service.resolve(DXN.parse(objectId));
296
- Entity.change(object, (obj) => Entity.removeTag(obj, DXN.parse(tagId).toString()));
297
- return object;
298
- }),
299
- });
File without changes