@dxos/plugin-markdown 0.8.4-main.74a063c4e0 → 0.8.4-main.765dc60934

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 (313) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +1 -1
  3. package/dist/lib/neutral/EditableMarkdownCard-LXBXN3OW.mjs +32 -0
  4. package/dist/lib/neutral/EditableMarkdownCard-LXBXN3OW.mjs.map +7 -0
  5. package/dist/lib/neutral/MarkdownArticle-Z4QRU3WD.mjs +126 -0
  6. package/dist/lib/neutral/MarkdownArticle-Z4QRU3WD.mjs.map +7 -0
  7. package/dist/lib/neutral/MarkdownCard-INMBLUL4.mjs +102 -0
  8. package/dist/lib/neutral/MarkdownCard-INMBLUL4.mjs.map +7 -0
  9. package/dist/lib/neutral/MarkdownPlugin.mjs +10 -0
  10. package/dist/lib/neutral/MarkdownPlugin.node.mjs +25 -0
  11. package/dist/lib/neutral/MarkdownPlugin.node.mjs.map +7 -0
  12. package/dist/lib/neutral/MarkdownSettings-YCTZJL5V.mjs +32 -0
  13. package/dist/lib/neutral/MarkdownSettings-YCTZJL5V.mjs.map +7 -0
  14. package/dist/lib/neutral/anchor-sort-L4VCKDO6.mjs +32 -0
  15. package/dist/lib/neutral/anchor-sort-L4VCKDO6.mjs.map +7 -0
  16. package/dist/lib/neutral/app-graph-serializer-YI72EEVM.mjs +55 -0
  17. package/dist/lib/neutral/app-graph-serializer-YI72EEVM.mjs.map +7 -0
  18. package/dist/lib/neutral/blueprint-definition-33OK2KUL.mjs +15 -0
  19. package/dist/lib/neutral/blueprint-definition-33OK2KUL.mjs.map +7 -0
  20. package/dist/lib/neutral/blueprints/index.mjs +8 -0
  21. package/dist/lib/neutral/capabilities/index.mjs +25 -0
  22. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  23. package/dist/lib/neutral/capabilities/node.mjs +11 -0
  24. package/dist/lib/neutral/capabilities/node.mjs.map +7 -0
  25. package/dist/lib/neutral/chunk-6N7AD3IU.mjs +8 -0
  26. package/dist/lib/neutral/chunk-6N7AD3IU.mjs.map +7 -0
  27. package/dist/lib/neutral/chunk-KDN4GKG2.mjs +98 -0
  28. package/dist/lib/neutral/chunk-KDN4GKG2.mjs.map +7 -0
  29. package/dist/lib/{browser/blueprints/index.mjs → neutral/chunk-LXNSKCPD.mjs} +10 -17
  30. package/dist/lib/neutral/chunk-LXNSKCPD.mjs.map +7 -0
  31. package/dist/lib/neutral/chunk-LYUELXJH.mjs +57 -0
  32. package/dist/lib/neutral/chunk-LYUELXJH.mjs.map +7 -0
  33. package/dist/lib/neutral/chunk-SOLAMEK3.mjs +276 -0
  34. package/dist/lib/neutral/chunk-SOLAMEK3.mjs.map +7 -0
  35. package/dist/lib/neutral/chunk-YC2OAUM7.mjs +22 -0
  36. package/dist/lib/neutral/chunk-YC2OAUM7.mjs.map +7 -0
  37. package/dist/lib/neutral/comment-config-7VTHRUIZ.mjs +30 -0
  38. package/dist/lib/neutral/comment-config-7VTHRUIZ.mjs.map +7 -0
  39. package/dist/lib/neutral/components/index.mjs +370 -0
  40. package/dist/lib/neutral/components/index.mjs.map +7 -0
  41. package/dist/lib/neutral/containers/index.mjs +13 -0
  42. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  43. package/dist/lib/{browser/create-HSXPXCC5.mjs → neutral/create-3PGJ2NEK.mjs} +5 -7
  44. package/dist/lib/neutral/create-3PGJ2NEK.mjs.map +7 -0
  45. package/dist/lib/{browser/create-markdown-WB7DH3UF.mjs → neutral/create-markdown-5LS46GMH.mjs} +5 -7
  46. package/dist/lib/neutral/create-markdown-5LS46GMH.mjs.map +7 -0
  47. package/dist/lib/neutral/create-object-ZA6VXLJJ.mjs +27 -0
  48. package/dist/lib/neutral/create-object-ZA6VXLJJ.mjs.map +7 -0
  49. package/dist/lib/neutral/hooks/index.mjs +321 -0
  50. package/dist/lib/neutral/hooks/index.mjs.map +7 -0
  51. package/dist/lib/neutral/index.mjs +42 -0
  52. package/dist/lib/neutral/meta.json +1 -0
  53. package/dist/lib/neutral/meta.mjs +8 -0
  54. package/dist/lib/neutral/meta.mjs.map +7 -0
  55. package/dist/lib/{browser/open-N6PAX6DY.mjs → neutral/open-WCYGBLAG.mjs} +5 -6
  56. package/dist/lib/neutral/open-WCYGBLAG.mjs.map +7 -0
  57. package/dist/lib/neutral/operation-handler-2ARMPBGZ.mjs +13 -0
  58. package/dist/lib/neutral/operation-handler-2ARMPBGZ.mjs.map +7 -0
  59. package/dist/lib/neutral/operations/index.mjs +8 -0
  60. package/dist/lib/neutral/operations/index.mjs.map +7 -0
  61. package/dist/lib/neutral/plugin.mjs +16 -0
  62. package/dist/lib/neutral/plugin.mjs.map +7 -0
  63. package/dist/lib/neutral/react-surface-SCIL76V5.mjs +119 -0
  64. package/dist/lib/neutral/react-surface-SCIL76V5.mjs.map +7 -0
  65. package/dist/lib/{browser/scroll-to-anchor-5M4F24AB.mjs → neutral/scroll-to-anchor-6FIOKVKT.mjs} +7 -9
  66. package/dist/lib/neutral/scroll-to-anchor-6FIOKVKT.mjs.map +7 -0
  67. package/dist/lib/neutral/set-view-mode-37RSPFEN.mjs +24 -0
  68. package/dist/lib/neutral/set-view-mode-37RSPFEN.mjs.map +7 -0
  69. package/dist/lib/neutral/settings-TDGDLCUR.mjs +34 -0
  70. package/dist/lib/neutral/settings-TDGDLCUR.mjs.map +7 -0
  71. package/dist/lib/neutral/state-5COCF5PN.mjs +44 -0
  72. package/dist/lib/neutral/state-5COCF5PN.mjs.map +7 -0
  73. package/dist/lib/neutral/testing.mjs +22 -0
  74. package/dist/lib/neutral/testing.mjs.map +7 -0
  75. package/dist/lib/neutral/translations.mjs +43 -0
  76. package/dist/lib/neutral/translations.mjs.map +7 -0
  77. package/dist/lib/neutral/types/index.mjs +16 -0
  78. package/dist/lib/neutral/types/index.mjs.map +7 -0
  79. package/dist/lib/{browser/update-5QIRVGTL.mjs → neutral/update-markdown-5EDRD3SH.mjs} +8 -9
  80. package/dist/lib/neutral/update-markdown-5EDRD3SH.mjs.map +7 -0
  81. package/dist/types/src/MarkdownPlugin.d.ts +1 -0
  82. package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
  83. package/dist/types/src/{cli/plugin.d.ts → MarkdownPlugin.node.d.ts} +2 -1
  84. package/dist/types/src/MarkdownPlugin.node.d.ts.map +1 -0
  85. package/dist/types/src/MarkdownPlugin.test.d.ts +2 -0
  86. package/dist/types/src/MarkdownPlugin.test.d.ts.map +1 -0
  87. package/dist/types/src/blueprints/markdown-blueprint.d.ts +2 -2
  88. package/dist/types/src/blueprints/markdown-blueprint.d.ts.map +1 -1
  89. package/dist/types/src/capabilities/anchor-sort.d.ts.map +1 -1
  90. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  91. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  92. package/dist/types/src/capabilities/blueprint-definition.d.ts +2 -2
  93. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
  94. package/dist/types/src/capabilities/comment-config.d.ts +12 -0
  95. package/dist/types/src/capabilities/comment-config.d.ts.map +1 -0
  96. package/dist/types/src/capabilities/create-object.d.ts +11 -0
  97. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  98. package/dist/types/src/capabilities/index.d.ts +17 -22
  99. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  100. package/dist/types/src/capabilities/node.d.ts +7 -1
  101. package/dist/types/src/capabilities/node.d.ts.map +1 -1
  102. package/dist/types/src/capabilities/operation-handler.d.ts +1 -1
  103. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -1
  104. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  105. package/dist/types/src/capabilities/settings.d.ts +1 -19
  106. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  107. package/dist/types/src/capabilities/state.d.ts +2 -2
  108. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  109. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts +28 -22
  110. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.d.ts.map +1 -1
  111. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts +2 -2
  112. package/dist/types/src/components/MarkdownEditor/MarkdownEditor.stories.d.ts.map +1 -1
  113. package/dist/types/src/components/MarkdownEditor/MarkdownEditorContent.d.ts +2 -1
  114. package/dist/types/src/components/MarkdownEditor/MarkdownEditorContent.d.ts.map +1 -1
  115. package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts +2 -6
  116. package/dist/types/src/components/MarkdownEditor/MarkdownEditorToolbar.d.ts.map +1 -1
  117. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts +1 -1
  118. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.d.ts.map +1 -1
  119. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.stories.d.ts +46 -90
  120. package/dist/types/src/components/MarkdownSettings/MarkdownSettings.stories.d.ts.map +1 -1
  121. package/dist/types/src/containers/EditableMarkdownCard/EditableMarkdownCard.d.ts +15 -0
  122. package/dist/types/src/containers/EditableMarkdownCard/EditableMarkdownCard.d.ts.map +1 -0
  123. package/dist/types/src/containers/EditableMarkdownCard/index.d.ts +3 -0
  124. package/dist/types/src/containers/EditableMarkdownCard/index.d.ts.map +1 -0
  125. package/dist/types/src/containers/{MarkdownContainer/MarkdownContainer.d.ts → MarkdownArticle/MarkdownArticle.d.ts} +9 -9
  126. package/dist/types/src/containers/MarkdownArticle/MarkdownArticle.d.ts.map +1 -0
  127. package/dist/types/src/containers/MarkdownArticle/MarkdownArticle.stories.d.ts +97 -0
  128. package/dist/types/src/containers/MarkdownArticle/MarkdownArticle.stories.d.ts.map +1 -0
  129. package/dist/types/src/containers/MarkdownArticle/index.d.ts +3 -0
  130. package/dist/types/src/containers/MarkdownArticle/index.d.ts.map +1 -0
  131. package/dist/types/src/containers/MarkdownCard/MarkdownCard.d.ts.map +1 -1
  132. package/dist/types/src/containers/MarkdownCard/MarkdownCard.stories.d.ts +1 -1
  133. package/dist/types/src/containers/MarkdownCard/MarkdownCard.stories.d.ts.map +1 -1
  134. package/dist/types/src/containers/MarkdownCard/snippet.d.ts +7 -5
  135. package/dist/types/src/containers/MarkdownCard/snippet.d.ts.map +1 -1
  136. package/dist/types/src/containers/index.d.ts +3 -2
  137. package/dist/types/src/containers/index.d.ts.map +1 -1
  138. package/dist/types/src/hooks/useEditorMenuOptions.d.ts.map +1 -1
  139. package/dist/types/src/hooks/useExtensions.d.ts +3 -1
  140. package/dist/types/src/hooks/useExtensions.d.ts.map +1 -1
  141. package/dist/types/src/hooks/useLinkQuery.d.ts.map +1 -1
  142. package/dist/types/src/index.d.ts +2 -3
  143. package/dist/types/src/index.d.ts.map +1 -1
  144. package/dist/types/src/meta.d.ts.map +1 -1
  145. package/dist/types/src/operations/create-markdown.d.ts +3 -3
  146. package/dist/types/src/operations/create-markdown.d.ts.map +1 -1
  147. package/dist/types/src/operations/create.d.ts +3 -3
  148. package/dist/types/src/operations/create.d.ts.map +1 -1
  149. package/dist/types/src/operations/index.d.ts +1 -2
  150. package/dist/types/src/operations/index.d.ts.map +1 -1
  151. package/dist/types/src/operations/open.d.ts +3 -3
  152. package/dist/types/src/operations/open.d.ts.map +1 -1
  153. package/dist/types/src/operations/scroll-to-anchor.d.ts +3 -3
  154. package/dist/types/src/operations/scroll-to-anchor.d.ts.map +1 -1
  155. package/dist/types/src/operations/set-view-mode.d.ts +3 -3
  156. package/dist/types/src/operations/set-view-mode.d.ts.map +1 -1
  157. package/dist/types/src/operations/update-markdown.d.ts +5 -0
  158. package/dist/types/src/operations/update-markdown.d.ts.map +1 -0
  159. package/dist/types/src/plugin.d.ts +4 -0
  160. package/dist/types/src/plugin.d.ts.map +1 -0
  161. package/dist/types/src/testing.d.ts +1 -0
  162. package/dist/types/src/testing.d.ts.map +1 -1
  163. package/dist/types/src/translations.d.ts +70 -73
  164. package/dist/types/src/translations.d.ts.map +1 -1
  165. package/dist/types/src/types/Markdown.d.ts +9 -8
  166. package/dist/types/src/types/Markdown.d.ts.map +1 -1
  167. package/dist/types/src/types/MarkdownCapabilities.d.ts +32 -0
  168. package/dist/types/src/types/MarkdownCapabilities.d.ts.map +1 -0
  169. package/dist/types/src/types/MarkdownEvents.d.ts +3 -0
  170. package/dist/types/src/types/MarkdownEvents.d.ts.map +1 -0
  171. package/dist/types/src/{operations/definitions.d.ts → types/MarkdownOperation.d.ts} +3 -3
  172. package/dist/types/src/types/MarkdownOperation.d.ts.map +1 -0
  173. package/dist/types/src/types/Settings.d.ts +10 -9
  174. package/dist/types/src/types/Settings.d.ts.map +1 -1
  175. package/dist/types/src/types/index.d.ts +3 -2
  176. package/dist/types/src/types/index.d.ts.map +1 -1
  177. package/dist/types/src/types/types.d.ts +1 -0
  178. package/dist/types/src/types/types.d.ts.map +1 -1
  179. package/dist/types/src/util.d.ts +1 -1
  180. package/dist/types/src/util.d.ts.map +1 -1
  181. package/dist/types/tsconfig.tsbuildinfo +1 -1
  182. package/package.json +119 -104
  183. package/src/MarkdownPlugin.node.ts +20 -0
  184. package/src/MarkdownPlugin.test.ts +26 -0
  185. package/src/MarkdownPlugin.tsx +9 -53
  186. package/src/blueprints/markdown-blueprint.ts +8 -9
  187. package/src/capabilities/app-graph-serializer.ts +4 -6
  188. package/src/capabilities/artifact-definition.ts +3 -4
  189. package/src/capabilities/blueprint-definition.ts +2 -0
  190. package/src/capabilities/comment-config.ts +32 -0
  191. package/src/capabilities/create-object.ts +30 -0
  192. package/src/capabilities/index.ts +4 -1
  193. package/src/capabilities/node.ts +3 -1
  194. package/src/capabilities/operation-handler.ts +1 -1
  195. package/src/capabilities/react-surface.tsx +18 -11
  196. package/src/capabilities/state.ts +4 -4
  197. package/src/components/MarkdownEditor/MarkdownEditor.stories.tsx +22 -17
  198. package/src/components/MarkdownEditor/MarkdownEditor.tsx +99 -86
  199. package/src/components/MarkdownEditor/MarkdownEditorContent.tsx +5 -5
  200. package/src/components/MarkdownEditor/MarkdownEditorToolbar.tsx +5 -16
  201. package/src/components/MarkdownSettings/MarkdownSettings.stories.tsx +2 -1
  202. package/src/components/MarkdownSettings/MarkdownSettings.tsx +16 -119
  203. package/src/containers/EditableMarkdownCard/EditableMarkdownCard.tsx +42 -0
  204. package/src/containers/EditableMarkdownCard/index.ts +6 -0
  205. package/src/containers/{MarkdownContainer/MarkdownContainer.stories.tsx → MarkdownArticle/MarkdownArticle.stories.tsx} +9 -8
  206. package/src/containers/{MarkdownContainer/MarkdownContainer.tsx → MarkdownArticle/MarkdownArticle.tsx} +32 -21
  207. package/src/containers/MarkdownArticle/index.ts +6 -0
  208. package/src/containers/MarkdownCard/MarkdownCard.stories.tsx +5 -4
  209. package/src/containers/MarkdownCard/MarkdownCard.tsx +21 -11
  210. package/src/containers/MarkdownCard/snippet.ts +27 -51
  211. package/src/containers/index.ts +3 -2
  212. package/src/hooks/useExtensions.tsx +7 -8
  213. package/src/hooks/useLinkQuery.ts +9 -26
  214. package/src/index.ts +2 -6
  215. package/src/meta.ts +4 -1
  216. package/src/operations/create-markdown.ts +3 -4
  217. package/src/operations/create.conversations.json +1 -1
  218. package/src/operations/create.test.ts +7 -9
  219. package/src/operations/create.ts +3 -4
  220. package/src/operations/index.ts +2 -4
  221. package/src/operations/open.ts +3 -3
  222. package/src/operations/scroll-to-anchor.ts +3 -4
  223. package/src/operations/set-view-mode.ts +3 -4
  224. package/src/operations/{update.ts → update-markdown.ts} +3 -3
  225. package/src/operations/update.conversations.json +1 -1
  226. package/src/operations/update.test.ts +7 -9
  227. package/src/plugin.ts +11 -0
  228. package/src/testing.ts +5 -3
  229. package/src/translations.ts +2 -26
  230. package/src/types/Markdown.ts +5 -0
  231. package/src/types/MarkdownCapabilities.ts +51 -0
  232. package/src/types/MarkdownEvents.ts +14 -0
  233. package/src/{operations/definitions.ts → types/MarkdownOperation.ts} +4 -2
  234. package/src/types/Settings.ts +47 -10
  235. package/src/types/index.ts +3 -2
  236. package/src/types/types.ts +4 -1
  237. package/src/util.tsx +3 -3
  238. package/dist/lib/browser/MarkdownSettings-YZFNSJJY.mjs +0 -121
  239. package/dist/lib/browser/MarkdownSettings-YZFNSJJY.mjs.map +0 -7
  240. package/dist/lib/browser/blueprints/index.mjs.map +0 -7
  241. package/dist/lib/browser/chunk-46WIDM4R.mjs +0 -98
  242. package/dist/lib/browser/chunk-46WIDM4R.mjs.map +0 -7
  243. package/dist/lib/browser/chunk-XKUKZNUS.mjs +0 -158
  244. package/dist/lib/browser/chunk-XKUKZNUS.mjs.map +0 -7
  245. package/dist/lib/browser/cli/index.mjs +0 -39
  246. package/dist/lib/browser/cli/index.mjs.map +0 -7
  247. package/dist/lib/browser/create-HSXPXCC5.mjs.map +0 -7
  248. package/dist/lib/browser/create-markdown-WB7DH3UF.mjs.map +0 -7
  249. package/dist/lib/browser/index.mjs +0 -653
  250. package/dist/lib/browser/index.mjs.map +0 -7
  251. package/dist/lib/browser/meta.json +0 -1
  252. package/dist/lib/browser/open-N6PAX6DY.mjs.map +0 -7
  253. package/dist/lib/browser/operations/index.mjs +0 -14
  254. package/dist/lib/browser/operations/index.mjs.map +0 -7
  255. package/dist/lib/browser/scroll-to-anchor-5M4F24AB.mjs.map +0 -7
  256. package/dist/lib/browser/set-view-mode-NBNF2I5W.mjs +0 -26
  257. package/dist/lib/browser/set-view-mode-NBNF2I5W.mjs.map +0 -7
  258. package/dist/lib/browser/types/index.mjs +0 -16
  259. package/dist/lib/browser/update-5QIRVGTL.mjs.map +0 -7
  260. package/dist/lib/node-esm/MarkdownSettings-X6SDS35F.mjs +0 -122
  261. package/dist/lib/node-esm/MarkdownSettings-X6SDS35F.mjs.map +0 -7
  262. package/dist/lib/node-esm/blueprints/index.mjs +0 -52
  263. package/dist/lib/node-esm/blueprints/index.mjs.map +0 -7
  264. package/dist/lib/node-esm/chunk-4MSJO6IJ.mjs +0 -99
  265. package/dist/lib/node-esm/chunk-4MSJO6IJ.mjs.map +0 -7
  266. package/dist/lib/node-esm/chunk-E4BQCEXF.mjs +0 -159
  267. package/dist/lib/node-esm/chunk-E4BQCEXF.mjs.map +0 -7
  268. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
  269. package/dist/lib/node-esm/cli/index.mjs +0 -40
  270. package/dist/lib/node-esm/cli/index.mjs.map +0 -7
  271. package/dist/lib/node-esm/create-6Z2KYISY.mjs +0 -31
  272. package/dist/lib/node-esm/create-6Z2KYISY.mjs.map +0 -7
  273. package/dist/lib/node-esm/create-markdown-JWQZICKY.mjs +0 -23
  274. package/dist/lib/node-esm/create-markdown-JWQZICKY.mjs.map +0 -7
  275. package/dist/lib/node-esm/index.mjs +0 -654
  276. package/dist/lib/node-esm/index.mjs.map +0 -7
  277. package/dist/lib/node-esm/meta.json +0 -1
  278. package/dist/lib/node-esm/open-DSNFRSNZ.mjs +0 -22
  279. package/dist/lib/node-esm/open-DSNFRSNZ.mjs.map +0 -7
  280. package/dist/lib/node-esm/operations/index.mjs +0 -15
  281. package/dist/lib/node-esm/operations/index.mjs.map +0 -7
  282. package/dist/lib/node-esm/scroll-to-anchor-D6SHGU2R.mjs +0 -50
  283. package/dist/lib/node-esm/scroll-to-anchor-D6SHGU2R.mjs.map +0 -7
  284. package/dist/lib/node-esm/set-view-mode-REYB4L7J.mjs +0 -27
  285. package/dist/lib/node-esm/set-view-mode-REYB4L7J.mjs.map +0 -7
  286. package/dist/lib/node-esm/types/index.mjs +0 -17
  287. package/dist/lib/node-esm/update-YMQAIKOF.mjs +0 -46
  288. package/dist/lib/node-esm/update-YMQAIKOF.mjs.map +0 -7
  289. package/dist/types/src/cli/index.d.ts +0 -2
  290. package/dist/types/src/cli/index.d.ts.map +0 -1
  291. package/dist/types/src/cli/plugin.d.ts.map +0 -1
  292. package/dist/types/src/containers/MarkdownContainer/MarkdownContainer.d.ts.map +0 -1
  293. package/dist/types/src/containers/MarkdownContainer/MarkdownContainer.stories.d.ts +0 -99
  294. package/dist/types/src/containers/MarkdownContainer/MarkdownContainer.stories.d.ts.map +0 -1
  295. package/dist/types/src/containers/MarkdownContainer/index.d.ts +0 -3
  296. package/dist/types/src/containers/MarkdownContainer/index.d.ts.map +0 -1
  297. package/dist/types/src/operations/definitions.d.ts.map +0 -1
  298. package/dist/types/src/operations/update.d.ts +0 -5
  299. package/dist/types/src/operations/update.d.ts.map +0 -1
  300. package/dist/types/src/types/capabilities.d.ts +0 -51
  301. package/dist/types/src/types/capabilities.d.ts.map +0 -1
  302. package/dist/types/src/types/events.d.ts +0 -5
  303. package/dist/types/src/types/events.d.ts.map +0 -1
  304. package/src/cli/index.ts +0 -5
  305. package/src/cli/plugin.ts +0 -39
  306. package/src/containers/MarkdownContainer/index.ts +0 -6
  307. package/src/types/capabilities.ts +0 -50
  308. package/src/types/events.ts +0 -14
  309. /package/dist/lib/{browser/chunk-J5LGTIGS.mjs.map → neutral/MarkdownPlugin.mjs.map} +0 -0
  310. /package/dist/lib/{browser/types → neutral/blueprints}/index.mjs.map +0 -0
  311. /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs +0 -0
  312. /package/dist/lib/{node-esm/chunk-HSLMI22Q.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
  313. /package/dist/lib/{node-esm/types → neutral}/index.mjs.map +0 -0
@@ -5,11 +5,9 @@
5
5
  import * as Option from 'effect/Option';
6
6
  import { useCallback, useMemo } from 'react';
7
7
 
8
- import { usePluginManager } from '@dxos/app-framework/ui';
9
- import { AppCapabilities } from '@dxos/app-toolkit';
10
- import { type Database, Filter, Obj, Query, Type } from '@dxos/echo';
8
+ import { Annotation, type Database, Filter, Obj, Query, Type } from '@dxos/echo';
11
9
  import { EntityKind, SystemTypeAnnotation, getTypeAnnotation } from '@dxos/echo/internal';
12
- import { toLocalizedString, useTranslation } from '@dxos/react-ui';
10
+ import { type Label, toLocalizedString, useTranslation } from '@dxos/react-ui';
13
11
  import { type EditorMenuGroup, type EditorMenuItem } from '@dxos/react-ui-editor';
14
12
  import { insertAtCursor, insertAtLineStart } from '@dxos/ui-editor';
15
13
 
@@ -18,13 +16,6 @@ import { Markdown } from '../types';
18
16
  export const useLinkQuery = (db: Database.Database | undefined) => {
19
17
  const { t } = useTranslation();
20
18
 
21
- const manager = usePluginManager();
22
- const resolve = useCallback(
23
- (typename: string) =>
24
- manager.capabilities.getAll(AppCapabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {},
25
- [manager],
26
- );
27
-
28
19
  const filter = useMemo(
29
20
  () =>
30
21
  Filter.or(
@@ -42,30 +33,22 @@ export const useLinkQuery = (db: Database.Database | undefined) => {
42
33
  const name = query?.startsWith('@') ? query.slice(1).toLowerCase() : (query?.toLowerCase() ?? '');
43
34
  const results = await db?.query(Query.select(filter)).run();
44
35
 
45
- // TODO(wittjosiah): Use `Obj.Unknown` type.
46
- const getLabel = (object: any) => {
47
- const label = Obj.getLabel(object);
48
- if (label) {
49
- return label;
50
- }
51
-
52
- // TODO(wittjosiah): Remove metadata labels.
36
+ const getLabel = (object: Obj.Unknown): Label => {
53
37
  const type = Obj.getTypename(object)!;
54
- const metadata = resolve(type);
55
- return metadata.label?.(object) || ['object-name.placeholder', { ns: type, defaultValue: 'New object' }];
38
+ return Obj.getLabel(object) ?? ['object-name.placeholder', { ns: type, defaultValue: 'New object' }];
56
39
  };
57
40
 
58
41
  const items =
59
42
  results
60
43
  ?.filter((object) => toLocalizedString(getLabel(object), t).toLowerCase().includes(name))
61
- // TODO(wittjosiah): Remove `any` type.
62
- .map((object: any): EditorMenuItem => {
63
- const metadata = resolve(Obj.getTypename(object)!);
44
+ .map((object: Obj.Unknown): EditorMenuItem => {
45
+ const schema = Obj.getSchema(object);
46
+ const icon = schema ? Option.getOrUndefined(Annotation.IconAnnotation.get(schema))?.icon : undefined;
64
47
  const label = toLocalizedString(getLabel(object), t);
65
48
  return {
66
49
  id: object.id,
67
50
  label,
68
- icon: metadata.icon,
51
+ icon,
69
52
  onSelect: ({ view, head }) => {
70
53
  const link = `[${label}](${Obj.getDXN(object)})`;
71
54
  // "@@" inserts a block embed on its own line instead of an inline link.
@@ -101,7 +84,7 @@ export const useLinkQuery = (db: Database.Database | undefined) => {
101
84
  { id: 'create', items: [createItem] },
102
85
  ];
103
86
  },
104
- [db, filter, resolve, t],
87
+ [db, filter, t],
105
88
  );
106
89
 
107
90
  return handleLinkQuery;
package/src/index.ts CHANGED
@@ -2,12 +2,8 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- export { MarkdownCapabilities, MarkdownEvents } from './types';
6
-
5
+ export * from './blueprints';
7
6
  export * from './meta';
7
+ export * from './operations';
8
8
  export * from './types';
9
9
  export * from './util';
10
-
11
- export * from './MarkdownPlugin';
12
-
13
- export { MarkdownEditor } from './components';
package/src/meta.ts CHANGED
@@ -15,5 +15,8 @@ export const meta: Plugin.Meta = {
15
15
  icon: 'ph--text-aa--regular',
16
16
  iconHue: 'indigo',
17
17
  source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-markdown',
18
- screenshots: ['https://dxos.network/plugin-details-markdown-dark.png'],
18
+ screenshots: [
19
+ 'https://customer-5rxcjpyab08avpmn.cloudflarestream.com/cdf2656365bb1fd327c1fc2105d75e5a/iframe?poster=https%3A%2F%2Fcustomer-5rxcjpyab08avpmn.cloudflarestream.com%2Fcdf2656365bb1fd327c1fc2105d75e5a%2Fthumbnails%2Fthumbnail.jpg%3Ftime%3D%26height%3D600',
20
+ 'https://dxos.network/plugin-details-markdown-dark.png',
21
+ ],
19
22
  };
@@ -4,12 +4,11 @@
4
4
 
5
5
  import * as Effect from 'effect/Effect';
6
6
 
7
- import { Operation } from '@dxos/operation';
7
+ import { Operation } from '@dxos/compute';
8
8
 
9
- import { Markdown } from '../types';
10
- import { CreateMarkdown } from './definitions';
9
+ import { Markdown, MarkdownOperation } from '../types';
11
10
 
12
- const handler: Operation.WithHandler<typeof CreateMarkdown> = CreateMarkdown.pipe(
11
+ const handler: Operation.WithHandler<typeof MarkdownOperation.CreateMarkdown> = MarkdownOperation.CreateMarkdown.pipe(
13
12
  Operation.withHandler(({ name, content }) =>
14
13
  Effect.succeed({
15
14
  object: Markdown.make({ name, content }),
@@ -1 +1 @@
1
- {"conversations":[{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"create","description":"Creates a new markdown document and adds it to the space.","inputSchema":{"type":"object","required":["name","content"],"properties":{"name":{"type":"string"},"content":{"type":"string"}},"additionalProperties":false}},{"name":"open","description":"Opens and reads the contents of a new markdown document.","inputSchema":{"type":"object","required":["doc"],"properties":{"doc":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update","description":"Applies a set of edits to the markdown document.","inputSchema":{"type":"object","required":["doc","edits"],"properties":{"doc":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"edits":{"type":"array","items":{"type":"object","required":["oldString","newString"],"properties":{"oldString":{"type":"string","description":"The text to find in the document."},"newString":{"type":"string","description":"The text to replace it with."},"replaceAll":{"type":"boolean","description":"If true, replaces all occurrences. Defaults to false (first occurrence only)."}},"additionalProperties":false},"description":"The edits to apply to the document. Each edit finds oldString and replaces it with newString."}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can create, read and update markdown documents.\n When asked to edit or update documents return updates as a set of compact diff string pairs.\n For each diff, respond with the smallest possible matching span.\n \n Example:\n ```diff\n - \"There is a tyop in this sentence.\"\n + \"There is a typo in this sentence.\"\n - \"This id good.\"\n + \"This sentence is really good.\"\n ```\n</blueprint>","options":{}},{"role":"user","content":"Create a document with a cookie recipe.","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_012JxJX9c9zMwz1afCUkzwVu","modelId":"claude-opus-4-6","timestamp":"2026-03-31T10:31:34.891Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The user wants me to create a document","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" with a cookie recipe. Let","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" me create","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" a nice","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" markdown","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" document with a classic","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" cookie recipe.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"Er0CClkIDBgCKkAy43GfB0+dbRMkfoVt2xpO0Chn5/g7c7dPprx3PV9+Z7iiBGhoRS54CpYtz+0wxdGKZKXYjkv0fAS94B7ulrYlMg9jbGF1ZGUtb3B1cy00LTY4ABIMbxqP0jme3H2iac1PGgxv9n95hpdlHMu60CwiMPoqsrE1DUcrsluzqmyr09jJ9mefc6aAwO998x1oGDPfkQkUA22by5UICBxSV3wtDCqRAWBPEuk+djMIeKw56FmK1OEYvnnoo1/LyTyhyxISLgAamgvvuO1k3IL7ibrjHXX9HO45dTXJl/L+lAWaVPM/0vBEIe9RCAw6na5IKbiG+1rXOdXjEeUPk6ERWxOFZSGkCxZozY+sThT/fgpLe3bX1f1tMkg9cvrtF5EWMrXx47+JPiVFrhtX7ORr0fFqEORBMTcYAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"tool-params-start","id":"toolu_019Fv26pqURQCfheV1mPgnnx","name":"create","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"{\"name\": \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"Classic Ch","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"ocolate","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" Chip Cooki","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"es\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":", \"conten","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"t\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"# Classic ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"Chocolate Ch","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"ip Cookies\\","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"n\\nA time","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"less ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"recipe for ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"soft, chew","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"y ch","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"ocolat","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"e chip ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"cookies tha","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"t are ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"golden o","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"n t","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"he edges an","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"d gooe","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"y i","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"n ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"the c","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"enter.\\n\\n#","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"# In","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"gredien","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"ts\\n","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"\\n- 2 ¼ c","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"ups all-p","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"urpose fl","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"our\\n- 1 ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"tsp baking","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" soda\\n- 1","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" tsp sal","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"t\\n- 1 cup","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" (2 ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"sticks) uns","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"alted butt","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"er","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":", softened\\","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"n- ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"¾ cup granu","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"lated sugar\\","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"n- ¾ cup p","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"acked bro","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"wn ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"sugar\\n-","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" 2 large ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"eggs\\","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"n- 2 tsp v","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"anilla e","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"xtr","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"act\\n- 2","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" cups semi","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"-sweet choc","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"olate ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"chip","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"s\\n\\n##","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" Instructi","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"ons\\n\\n1. **","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"Preheat** y","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"our oven","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" to 375°F (1","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"90°C","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"). Line ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"baking ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"she","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"ets with par","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"chment paper","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":".\\n2. **Com","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"bine dry in","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"gr","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"edients:**","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" In a ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"mediu","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"m ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"bow","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"l, ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"whisk to","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"gether the f","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"lour, baki","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"ng sod","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"a,","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" and sa","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"lt. Set as","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"id","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"e.\\n3. ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"**Cream th","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"e butter ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"and suga","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"rs:*","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"* In a lar","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"ge bowl, ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"bea","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"t the ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"softene","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"d butter,","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" granu","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"lated su","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"gar, and b","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"rown su","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"gar to","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"ge","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"th","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"er until ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"light and ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"fl","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"uffy,","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" ab","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"out 3–4 m","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"inutes.\\n4.","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" **Add e","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"ggs a","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"nd ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"vanilla:*","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"* Beat","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" in ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"the eggs ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"one at a ti","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"me, then mi","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"x ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"in the v","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"ani","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"lla extrac","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"t ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"un","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"til well ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"combined.\\n","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"5. *","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"*Mix i","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"n dry ingr","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"edients:** G","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"radua","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"lly add the","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" flou","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"r mixture to","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" the ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"wet ing","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"redients,","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" mixing on l","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"ow","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" spe","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"ed until jus","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"t ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"combined.","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" Do not ove","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"rm","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"ix.","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"\\n6. **Fol","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"d in c","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"hocolate","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" chips","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":":** S","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"tir in the","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" chocolate","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" chips wit","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"h a spatul","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"a or woode","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"n spoon","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":".\\n7.","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" *","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"*S","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"coop t","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"he dough:** ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"Drop","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" rounded ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"table","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"spoons o","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"f dough o","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"nto the p","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"repared ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"baking sheet","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"s, spa","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"cing t","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"hem about ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"2 inches ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"apart","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":".\\n8. **Bak","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"e:** Bake fo","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"r ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"9–11 minute","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"s,","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" or until ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"the edges ar","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"e ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"go","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"lden","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" brown but","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" t","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"he center","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"s ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"still","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" l","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"ook slightl","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"y underdone.","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"\\n9. **Cool:","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"** Let the ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"cooki","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"es cool","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" on the","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" baking sh","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"eet ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"for ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"5 minu","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"tes, th","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"en transfe","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"r to","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" a wire rac","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"k to cool c","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"ompletely.\\n","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"\\n## Tips\\n\\","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"n- For","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" extra","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" flavo","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"r, use a ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"mix of semi-","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"sweet and d","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"ark choco","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"late chips.","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"\\n- ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"Chill t","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"he ","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"dough","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" for 30","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" minu","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"tes bef","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"ore baking","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" f","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"or thicker","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" cook","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"ies.","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"\\n- Store c","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"ookies in an","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" airtig","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"ht conta","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"iner at","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" room te","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"mperatu","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"re for u","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"p to 5 da","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"ys.\\n\\n*","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"*Yi","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"eld:** appr","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"ox","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"imate","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"ly 48 coo","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"kies\\","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"n**Prep Tim","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"e:** 15 minu","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"tes\\n**","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"Bake Ti","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"me:** 9–1","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"1 minut","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":"es per","metadata":{}},{"type":"tool-params-delta","id":"toolu_019Fv26pqURQCfheV1mPgnnx","delta":" batch\"}","metadata":{}},{"type":"tool-params-end","id":"toolu_019Fv26pqURQCfheV1mPgnnx","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1593,"outputTokens":644,"totalTokens":2237},"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":1593,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"create","description":"Creates a new markdown document and adds it to the space.","inputSchema":{"type":"object","required":["name","content"],"properties":{"name":{"type":"string"},"content":{"type":"string"}},"additionalProperties":false}},{"name":"open","description":"Opens and reads the contents of a new markdown document.","inputSchema":{"type":"object","required":["doc"],"properties":{"doc":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update","description":"Applies a set of edits to the markdown document.","inputSchema":{"type":"object","required":["doc","edits"],"properties":{"doc":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"edits":{"type":"array","items":{"type":"object","required":["oldString","newString"],"properties":{"oldString":{"type":"string","description":"The text to find in the document."},"newString":{"type":"string","description":"The text to replace it with."},"replaceAll":{"type":"boolean","description":"If true, replaces all occurrences. Defaults to false (first occurrence only)."}},"additionalProperties":false},"description":"The edits to apply to the document. Each edit finds oldString and replaces it with newString."}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can create, read and update markdown documents.\n When asked to edit or update documents return updates as a set of compact diff string pairs.\n For each diff, respond with the smallest possible matching span.\n \n Example:\n ```diff\n - \"There is a tyop in this sentence.\"\n + \"There is a typo in this sentence.\"\n - \"This id good.\"\n + \"This sentence is really good.\"\n ```\n</blueprint>","options":{}},{"role":"user","content":"Create a document with a cookie recipe.","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants me to create a document with a cookie recipe. Let me create a nice markdown document with a classic cookie recipe.","options":{}},{"type":"tool-call","id":"toolu_019Fv26pqURQCfheV1mPgnnx","name":"create","params":{"name":"Classic Chocolate Chip Cookies","content":"# Classic Chocolate Chip Cookies\n\nA timeless recipe for soft, chewy chocolate chip cookies that are golden on the edges and gooey in the center.\n\n## Ingredients\n\n- 2 ¼ cups all-purpose flour\n- 1 tsp baking soda\n- 1 tsp salt\n- 1 cup (2 sticks) unsalted butter, softened\n- ¾ cup granulated sugar\n- ¾ cup packed brown sugar\n- 2 large eggs\n- 2 tsp vanilla extract\n- 2 cups semi-sweet chocolate chips\n\n## Instructions\n\n1. **Preheat** your oven to 375°F (190°C). Line baking sheets with parchment paper.\n2. **Combine dry ingredients:** In a medium bowl, whisk together the flour, baking soda, and salt. Set aside.\n3. **Cream the butter and sugars:** In a large bowl, beat the softened butter, granulated sugar, and brown sugar together until light and fluffy, about 3–4 minutes.\n4. **Add eggs and vanilla:** Beat in the eggs one at a time, then mix in the vanilla extract until well combined.\n5. **Mix in dry ingredients:** Gradually add the flour mixture to the wet ingredients, mixing on low speed until just combined. Do not overmix.\n6. **Fold in chocolate chips:** Stir in the chocolate chips with a spatula or wooden spoon.\n7. **Scoop the dough:** Drop rounded tablespoons of dough onto the prepared baking sheets, spacing them about 2 inches apart.\n8. **Bake:** Bake for 9–11 minutes, or until the edges are golden brown but the centers still look slightly underdone.\n9. **Cool:** Let the cookies cool on the baking sheet for 5 minutes, then transfer to a wire rack to cool completely.\n\n## Tips\n\n- For extra flavor, use a mix of semi-sweet and dark chocolate chips.\n- Chill the dough for 30 minutes before baking for thicker cookies.\n- Store cookies in an airtight container at room temperature for up to 5 days.\n\n**Yield:** approximately 48 cookies\n**Prep Time:** 15 minutes\n**Bake Time:** 9–11 minutes per batch"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_019Fv26pqURQCfheV1mPgnnx","name":"create","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":{"id":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNT94"}},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_013yom4ounEqde4YvxGMXNNp","modelId":"claude-opus-4-6","timestamp":"2026-03-31T10:31:42.888Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"Your","metadata":{}},{"type":"text-delta","id":"0","delta":" chocolate chip cookie","metadata":{}},{"type":"text-delta","id":"0","delta":" recipe document","metadata":{}},{"type":"text-delta","id":"0","delta":" has been created","metadata":{}},{"type":"text-delta","id":"0","delta":"! ","metadata":{}},{"type":"text-delta","id":"0","delta":"🍪 ","metadata":{}},{"type":"text-delta","id":"0","delta":"Here","metadata":{}},{"type":"text-delta","id":"0","delta":"'s a","metadata":{}},{"type":"text-delta","id":"0","delta":" summary of what","metadata":{}},{"type":"text-delta","id":"0","delta":"'s","metadata":{}},{"type":"text-delta","id":"0","delta":" included","metadata":{}},{"type":"text-delta","id":"0","delta":":\n\n-","metadata":{}},{"type":"text-delta","id":"0","delta":" **Title","metadata":{}},{"type":"text-delta","id":"0","delta":":**","metadata":{}},{"type":"text-delta","id":"0","delta":" Classic Chocolate Chip Cookies","metadata":{}},{"type":"text-delta","id":"0","delta":"\n- **Ingredients:** A","metadata":{}},{"type":"text-delta","id":"0","delta":" full","metadata":{}},{"type":"text-delta","id":"0","delta":" list including","metadata":{}},{"type":"text-delta","id":"0","delta":" flour, butter","metadata":{}},{"type":"text-delta","id":"0","delta":", sug","metadata":{}},{"type":"text-delta","id":"0","delta":"ars, eggs, vanilla","metadata":{}},{"type":"text-delta","id":"0","delta":", and chocolate chips\n- **Instructions","metadata":{}},{"type":"text-delta","id":"0","delta":":** ","metadata":{}},{"type":"text-delta","id":"0","delta":"9","metadata":{}},{"type":"text-delta","id":"0","delta":" ","metadata":{}},{"type":"text-delta","id":"0","delta":"step","metadata":{}},{"type":"text-delta","id":"0","delta":"-by-step directions","metadata":{}},{"type":"text-delta","id":"0","delta":" from","metadata":{}},{"type":"text-delta","id":"0","delta":" pre","metadata":{}},{"type":"text-delta","id":"0","delta":"heating the","metadata":{}},{"type":"text-delta","id":"0","delta":" oven to cooling the cookies\n-","metadata":{}},{"type":"text-delta","id":"0","delta":" **Tips:** Helpful","metadata":{}},{"type":"text-delta","id":"0","delta":" suggestions","metadata":{}},{"type":"text-delta","id":"0","delta":" like","metadata":{}},{"type":"text-delta","id":"0","delta":" ch","metadata":{}},{"type":"text-delta","id":"0","delta":"illing the dough for th","metadata":{}},{"type":"text-delta","id":"0","delta":"icker cookies and mixing","metadata":{}},{"type":"text-delta","id":"0","delta":" chocolate","metadata":{}},{"type":"text-delta","id":"0","delta":" chip","metadata":{}},{"type":"text-delta","id":"0","delta":" varieties","metadata":{}},{"type":"text-delta","id":"0","delta":"\n- **Details","metadata":{}},{"type":"text-delta","id":"0","delta":":** Yields ~","metadata":{}},{"type":"text-delta","id":"0","delta":"48 cookies, ","metadata":{}},{"type":"text-delta","id":"0","delta":"15","metadata":{}},{"type":"text-delta","id":"0","delta":" min","metadata":{}},{"type":"text-delta","id":"0","delta":" prep, 9–","metadata":{}},{"type":"text-delta","id":"0","delta":"11 min bake time","metadata":{}},{"type":"text-delta","id":"0","delta":"\n\nLet","metadata":{}},{"type":"text-delta","id":"0","delta":" me know if you'd","metadata":{}},{"type":"text-delta","id":"0","delta":" like to","metadata":{}},{"type":"text-delta","id":"0","delta":" make","metadata":{}},{"type":"text-delta","id":"0","delta":" any changes or additions","metadata":{}},{"type":"text-delta","id":"0","delta":" to the recipe!","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":2258,"outputTokens":156,"totalTokens":2414},"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":2258,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"create","description":"Creates a new markdown document and adds it to the space.","inputSchema":{"type":"object","required":["name","content"],"properties":{"name":{"type":"string"},"content":{"type":"string"}},"additionalProperties":false}},{"name":"open","description":"Opens and reads the contents of a new markdown document.","inputSchema":{"type":"object","required":["doc"],"properties":{"doc":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update","description":"Applies a set of edits to the markdown document.","inputSchema":{"type":"object","required":["doc","edits"],"properties":{"doc":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"edits":{"type":"array","items":{"type":"object","required":["oldString","newString"],"properties":{"oldString":{"type":"string","description":"The text to find in the document."},"newString":{"type":"string","description":"The text to replace it with."},"replaceAll":{"type":"boolean","description":"If true, replaces all occurrences. Defaults to false (first occurrence only)."}},"additionalProperties":false},"description":"The edits to apply to the document. Each edit finds oldString and replaces it with newString."}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can create, read and update markdown documents.\n When asked to edit or update documents return updates as a set of compact diff string pairs.\n For each diff, respond with the smallest possible matching span.\n \n Example:\n ```diff\n - \"There is a tyop in this sentence.\"\n + \"There is a typo in this sentence.\"\n - \"This id good.\"\n + \"This sentence is really good.\"\n ```\n</blueprint>","options":{}},{"role":"user","content":"Create a document with a cookie recipe.","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants me to create a document with a cookie recipe. Let me create a nice markdown document with a classic cookie recipe.","options":{}},{"type":"tool-call","id":"toolu_019Fv26pqURQCfheV1mPgnnx","name":"create","params":{"name":"Classic Chocolate Chip Cookies","content":"# Classic Chocolate Chip Cookies\n\nA timeless recipe for soft, chewy chocolate chip cookies that are golden on the edges and gooey in the center.\n\n## Ingredients\n\n- 2 ¼ cups all-purpose flour\n- 1 tsp baking soda\n- 1 tsp salt\n- 1 cup (2 sticks) unsalted butter, softened\n- ¾ cup granulated sugar\n- ¾ cup packed brown sugar\n- 2 large eggs\n- 2 tsp vanilla extract\n- 2 cups semi-sweet chocolate chips\n\n## Instructions\n\n1. **Preheat** your oven to 375°F (190°C). Line baking sheets with parchment paper.\n2. **Combine dry ingredients:** In a medium bowl, whisk together the flour, baking soda, and salt. Set aside.\n3. **Cream the butter and sugars:** In a large bowl, beat the softened butter, granulated sugar, and brown sugar together until light and fluffy, about 3–4 minutes.\n4. **Add eggs and vanilla:** Beat in the eggs one at a time, then mix in the vanilla extract until well combined.\n5. **Mix in dry ingredients:** Gradually add the flour mixture to the wet ingredients, mixing on low speed until just combined. Do not overmix.\n6. **Fold in chocolate chips:** Stir in the chocolate chips with a spatula or wooden spoon.\n7. **Scoop the dough:** Drop rounded tablespoons of dough onto the prepared baking sheets, spacing them about 2 inches apart.\n8. **Bake:** Bake for 9–11 minutes, or until the edges are golden brown but the centers still look slightly underdone.\n9. **Cool:** Let the cookies cool on the baking sheet for 5 minutes, then transfer to a wire rack to cool completely.\n\n## Tips\n\n- For extra flavor, use a mix of semi-sweet and dark chocolate chips.\n- Chill the dough for 30 minutes before baking for thicker cookies.\n- Store cookies in an airtight container at room temperature for up to 5 days.\n\n**Yield:** approximately 48 cookies\n**Prep Time:** 15 minutes\n**Bake Time:** 9–11 minutes per batch"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_019Fv26pqURQCfheV1mPgnnx","name":"create","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":{"id":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTHQ"}},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_012W1fZgnVCvwo8eJYnfcwGd","modelId":"claude-opus-4-6","timestamp":"2026-04-03T15:09:59.241Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"Your","metadata":{}},{"type":"text-delta","id":"0","delta":" cookie recipe document has been created! 🍪 Here's a summary of what's inside:\n\n**Classic","metadata":{}},{"type":"text-delta","id":"0","delta":" Chocolate Chip Cookies**\n\n- A full list of **ingredients** including butter","metadata":{}},{"type":"text-delta","id":"0","delta":", sugars, flour, eggs, vanilla, and chocolate chips.\n- **Step-by-step instructions** covering everything from preheating the oven to cooling the cookies.\n-","metadata":{}},{"type":"text-delta","id":"0","delta":" Helpful **tips** like chilling the dough for thicker cookies and mixing chocolate chip varieties.\n- **","metadata":{}},{"type":"text-delta","id":"0","delta":"Yield:** ~48 cookies | **Prep:** 15 min | **Bake:** 9–11 min","metadata":{}},{"type":"text-delta","id":"0","delta":" per batch\n\nLet me know if you'd like to make any changes to the recipe!","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":2259,"outputTokens":156,"totalTokens":2415},"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":2259,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"create","description":"Creates a new markdown document and adds it to the space.","inputSchema":{"type":"object","required":["name","content"],"properties":{"name":{"type":"string"},"content":{"type":"string"}},"additionalProperties":false}},{"name":"open","description":"Opens and reads the contents of a new markdown document.","inputSchema":{"type":"object","required":["doc"],"properties":{"doc":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update","description":"Applies a set of edits to the markdown document.","inputSchema":{"type":"object","required":["doc","edits"],"properties":{"doc":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"edits":{"type":"array","items":{"type":"object","required":["oldString","newString"],"properties":{"oldString":{"type":"string","description":"The text to find in the document."},"newString":{"type":"string","description":"The text to replace it with."},"replaceAll":{"type":"boolean","description":"If true, replaces all occurrences. Defaults to false (first occurrence only)."}},"additionalProperties":false},"description":"The edits to apply to the document. Each edit finds oldString and replaces it with newString."}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can create, read and update markdown documents.\n When asked to edit or update documents return updates as a set of compact diff string pairs.\n For each diff, respond with the smallest possible matching span.\n \n Example:\n ```diff\n - \"There is a tyop in this sentence.\"\n + \"There is a typo in this sentence.\"\n - \"This id good.\"\n + \"This sentence is really good.\"\n ```\n</blueprint>","options":{}},{"role":"user","content":"Create a document with a cookie recipe.","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants me to create a document with a cookie recipe. Let me create a nice markdown document with a classic cookie recipe.","options":{}},{"type":"tool-call","id":"toolu_019Fv26pqURQCfheV1mPgnnx","name":"create","params":{"name":"Classic Chocolate Chip Cookies","content":"# Classic Chocolate Chip Cookies\n\nA timeless recipe for soft, chewy chocolate chip cookies that are golden on the edges and gooey in the center.\n\n## Ingredients\n\n- 2 ¼ cups all-purpose flour\n- 1 tsp baking soda\n- 1 tsp salt\n- 1 cup (2 sticks) unsalted butter, softened\n- ¾ cup granulated sugar\n- ¾ cup packed brown sugar\n- 2 large eggs\n- 2 tsp vanilla extract\n- 2 cups semi-sweet chocolate chips\n\n## Instructions\n\n1. **Preheat** your oven to 375°F (190°C). Line baking sheets with parchment paper.\n2. **Combine dry ingredients:** In a medium bowl, whisk together the flour, baking soda, and salt. Set aside.\n3. **Cream the butter and sugars:** In a large bowl, beat the softened butter, granulated sugar, and brown sugar together until light and fluffy, about 3–4 minutes.\n4. **Add eggs and vanilla:** Beat in the eggs one at a time, then mix in the vanilla extract until well combined.\n5. **Mix in dry ingredients:** Gradually add the flour mixture to the wet ingredients, mixing on low speed until just combined. Do not overmix.\n6. **Fold in chocolate chips:** Stir in the chocolate chips with a spatula or wooden spoon.\n7. **Scoop the dough:** Drop rounded tablespoons of dough onto the prepared baking sheets, spacing them about 2 inches apart.\n8. **Bake:** Bake for 9–11 minutes, or until the edges are golden brown but the centers still look slightly underdone.\n9. **Cool:** Let the cookies cool on the baking sheet for 5 minutes, then transfer to a wire rack to cool completely.\n\n## Tips\n\n- For extra flavor, use a mix of semi-sweet and dark chocolate chips.\n- Chill the dough for 30 minutes before baking for thicker cookies.\n- Store cookies in an airtight container at room temperature for up to 5 days.\n\n**Yield:** approximately 48 cookies\n**Prep Time:** 15 minutes\n**Bake Time:** 9–11 minutes per batch"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_019Fv26pqURQCfheV1mPgnnx","name":"create","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":{"id":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTHR"}},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01RyJMV8rExNGZTpissdBNXn","modelId":"claude-opus-4-6","timestamp":"2026-04-09T17:26:20.770Z","metadata":{}},{"type":"text-start","id":"0","metadata":{}},{"type":"text-delta","id":"0","delta":"Your","metadata":{}},{"type":"text-delta","id":"0","delta":" cookie recipe document has been created! 🍪 It includes:\n\n- **Title","metadata":{}},{"type":"text-delta","id":"0","delta":":** Classic Chocolate Chip Cookies\n- **Ingredients:** A full list including flour, butter, sugars, eggs, vanilla, and chocolate","metadata":{}},{"type":"text-delta","id":"0","delta":" chips\n- **Instructions:** 9 easy-to-follow steps from preheating the oven to cooling the cookies\n- **Tips:**","metadata":{}},{"type":"text-delta","id":"0","delta":" Helpful suggestions for extra flavor, thicker cookies, and storage\n- **Details:** Yield (48 cookies), prep time (15 min), and bake time (9–","metadata":{}},{"type":"text-delta","id":"0","delta":"11 min)\n\nLet me know if you'd like to make any changes or additions to the recipe!","metadata":{}},{"type":"text-end","id":"0","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":2258,"outputTokens":146,"totalTokens":2404},"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":2258,"output_tokens":1,"server_tool_use":null,"service_tier":"standard"}}}}]}]}
1
+ {"conversations":[{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"create","description":"Creates a new markdown document and adds it to the space.","inputSchema":{"type":"object","required":["name","content"],"properties":{"name":{"type":"string"},"content":{"type":"string"}},"additionalProperties":false}},{"name":"open","description":"Opens and reads the contents of a new markdown document.","inputSchema":{"type":"object","required":["doc"],"properties":{"doc":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update","description":"Applies a set of edits to the markdown document.","inputSchema":{"type":"object","required":["doc","edits"],"properties":{"doc":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"edits":{"type":"array","items":{"type":"object","required":["oldString","newString"],"properties":{"oldString":{"type":"string","description":"The text to find in the document."},"newString":{"type":"string","description":"The text to replace it with."},"replaceAll":{"type":"boolean","description":"If true, replaces all occurrences. Defaults to false (first occurrence only)."}},"additionalProperties":false},"description":"The edits to apply to the document. Each edit finds oldString and replaces it with newString."}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can create, read and update markdown documents.\n When asked to edit or update documents return updates as a set of compact diff string pairs.\n For each diff, respond with the smallest possible matching span.\n \n Example:\n ```diff\n - \"There is a tyop in this sentence.\"\n + \"There is a typo in this sentence.\"\n - \"This id good.\"\n + \"This sentence is really good.\"\n ```\n</blueprint>","options":{}},{"role":"user","content":"Create a document with a cookie recipe.","options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_01DDyRop7FEBm656UqibEhKG","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:06:36.978Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The user wants me to create a document with a cookie recipe. Let me create a nice markdown document with a classic","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" cookie recipe.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"Er0CClkIDRgCKkAy43GfB0+dbRMkfoVt2xpO0Chn5/g7c7dPprx3PV9+Z7iiBGhoRS54CpYtz+0wxdGKZKXYjkv0fAS94B7ulrYlMg9jbGF1ZGUtb3B1cy00LTY4ABIMJD+CkpL7m1aas9PbGgyhPAW2oyh4biJVA04iMElLTynC4QNH+OqyyoPH2JXCAJb9+0yIjkxA/miykrKwdRwiI1O2r9l6EWt9KxPCSiqRAaMgTFOI+CDBI71b1Aonqu2IMmEn2LpncphRgiYlTnV1xMhFg3wMEzBBkvVMq3oVSWJagX01uxKE1pIP6R3BUJUgjArRVLLyoCKCr+wSf3YUoxbtg6pEQkXyIR+Dcp7vd9pxiJ1CD1cGMV5yavBFRGMtCZ2vqPoazjj6ibUVP9Zj98PvepzoAVD6ZNtjkcHYmNEYAQ=="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"tool-params-start","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","name":"create","providerExecuted":false,"metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"{\"name\": \"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"Classic","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" Choco","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"late Chip ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"Cookies\"","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":", \"cont","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"ent\":","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" \"# Class","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"ic C","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"hocolate ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"Chip Cookies","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"\\n\\n","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"A timeless","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" recipe f","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"or ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"soft, c","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"hewy choco","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"late ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"chip cookie","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"s th","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"at ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"are golden","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" on t","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"he ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"edges an","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"d gooey i","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"n the center","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":".\\n\\n##","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" Ing","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"redients","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"\\n\\n-","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" 2 ¼ cups ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"all-","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"purpose flo","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"ur\\n- 1 tsp","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" baking s","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"oda\\n- ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"1 tsp sa","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"lt","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"\\n- 1 cu","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"p (2 sticks)","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" uns","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"alted butt","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"er,","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" s","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"oftene","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"d\\n- ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"¾ ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"cup granulat","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"ed suga","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"r\\n- ¾ c","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"up pa","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"cked brow","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"n sugar\\n-","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" 2 large ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"egg","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"s\\n- 2 t","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"sp vanilla","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" extrac","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"t\\n- 2 c","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"ups se","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"mi-sweet ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"chocolate ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"chips","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"\\n\\n## Inst","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"ructio","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"ns\\n\\n1. **","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"Preheat**","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" your oven ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"to 375°F ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"(19","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"0°C). Line ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"baking she","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"ets wit","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"h parc","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"hment ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"paper.\\","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"n2. **","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"Comb","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"ine ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"dry ingr","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"edients:** ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"In ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"a medium b","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"owl, ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"whisk","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" togethe","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"r ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"the ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"flour,","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" baking soda","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":", and salt. ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"Set aside","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":".\\","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"n3. *","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"*Cre","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"am t","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"he b","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"ut","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"ter and","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" su","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"gars:** ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"In ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"a large","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" bo","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"wl, beat t","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"he softened ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"butter, ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"gra","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"nulated suga","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"r, an","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"d br","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"own sugar ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"together un","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"til light","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" and f","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"luf","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"fy, about 3","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"–4 minutes.\\","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"n4. *","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"*Add eggs ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"and vanilla","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":":** B","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"eat in the e","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"ggs ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"one a","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"t a time","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":", then ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"mix in the","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" vanill","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"a ext","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"ract until w","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"ell ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"comb","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"ined.\\n5.","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" *","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"*Mix in ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"dry","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" ingredient","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"s:**","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" Gradually ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"add the fl","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"our mixtu","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"re to the ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"wet ingre","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"dients, mixi","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"ng on","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" low spe","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"ed until j","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"ust combine","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"d. Do ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"not overm","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"ix.\\n6. *","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"*Fold in","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" choc","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"olate","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" ch","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"ips","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":":**","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" Stir in","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" the choco","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"late chips ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"with a spat","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"ula or ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"wooden spoo","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"n.\\n7. **","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"Sco","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"op the","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" do","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"ugh:** Drop","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" rou","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"nded ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"table","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"spoons o","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"f d","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"ough ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"onto th","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"e pr","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"epa","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"red b","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"aking sheets","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":", spacing t","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"hem abou","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"t 2 inche","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"s apart.\\n8","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":". **","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"Bak","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"e:** Bake fo","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"r 9–1","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"1 min","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"ut","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"es, or unti","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"l t","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"he ed","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"ges a","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"re golden br","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"own bu","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"t the ce","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"nte","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"rs s","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"till look","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" slightly","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" underdone","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":".\\n9. **Co","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"ol:","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"** Let the c","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"oo","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"kies ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"cool","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" on","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" t","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"he baking ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"sheet","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" for ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"5 minutes, t","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"hen ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"transfe","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"r to ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"a wire ra","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"ck","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" to cool c","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"omplet","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"el","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"y.\\n\\n##","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" Ti","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"ps\\n\\","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"n- F","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"or extra fla","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"vo","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"r, use a ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"mix ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"of semi-swe","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"et and","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" dark c","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"hocolate ch","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"ips.","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"\\n-","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" Chil","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"l the do","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"ugh ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"for 30 minu","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"tes before b","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"aking ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"for thicker ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"cooki","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"es","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":".\\n- ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"Store in ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"an ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"airtight c","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"onta","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"iner a","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"t room temp","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"erat","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"ur","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"e fo","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"r up to 5","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" da","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"ys.\\n\\","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"n**","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"Yield:**","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" ~48 cook","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"ies |","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":" **P","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"rep Time","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":":** 15 min ","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"| **B","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"ake Time","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":":** 10 m","metadata":{}},{"type":"tool-params-delta","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","delta":"in\\n\"}","metadata":{}},{"type":"tool-params-end","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","metadata":{}},{"type":"finish","reason":"tool-calls","usage":{"inputTokens":1564,"outputTokens":647,"totalTokens":2211},"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":1564,"output_tokens":31,"server_tool_use":null,"service_tier":"standard"}}}}]},{"parameters":{"model":"@anthropic/claude-opus-4-6","stream":true,"tools":[{"name":"create","description":"Creates a new markdown document and adds it to the space.","inputSchema":{"type":"object","required":["name","content"],"properties":{"name":{"type":"string"},"content":{"type":"string"}},"additionalProperties":false}},{"name":"open","description":"Opens and reads the contents of a new markdown document.","inputSchema":{"type":"object","required":["doc"],"properties":{"doc":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]}},"additionalProperties":false}},{"name":"update","description":"Applies a set of edits to the markdown document.","inputSchema":{"type":"object","required":["doc","edits"],"properties":{"doc":{"type":"string","description":"The ID of the referenced object. Formats accepted:\n- DXN (dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4). DXNs can be prepended with an @ symbol for compatibility with in-text references.\n- space ID, object ID tuple (spaceID:objectID)\n- Only object ID that is assumed to be in the current space (01KG7R1ZXWFMWQ4DA1Q6TN1DG4)","examples":["dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","@dxn:echo:@:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","BM3FSHFOMJCHCG5QW7JTVKGYABD2GAA7G:01KG7R1ZXWFMWQ4DA1Q6TN1DG4","01KG7R1ZXWFMWQ4DA1Q6TN1DG4"]},"edits":{"type":"array","items":{"type":"object","required":["oldString","newString"],"properties":{"oldString":{"type":"string","description":"The text to find in the document."},"newString":{"type":"string","description":"The text to replace it with."},"replaceAll":{"type":"boolean","description":"If true, replaces all occurrences. Defaults to false (first occurrence only)."}},"additionalProperties":false},"description":"The edits to apply to the document. Each edit finds oldString and replaces it with newString."}},"additionalProperties":false}}]},"prompt":{"content":[{"role":"system","content":"## Blueprints Definitions\n\n<blueprint>\n You can create, read and update markdown documents.\n When asked to edit or update documents return updates as a set of compact diff string pairs.\n For each diff, respond with the smallest possible matching span.\n \n Example:\n ```diff\n - \"There is a tyop in this sentence.\"\n + \"There is a typo in this sentence.\"\n - \"This id good.\"\n + \"This sentence is really good.\"\n ```\n</blueprint>","options":{}},{"role":"user","content":"Create a document with a cookie recipe.","options":{}},{"role":"assistant","content":[{"type":"reasoning","text":"The user wants me to create a document with a cookie recipe. Let me create a nice markdown document with a classic cookie recipe.","options":{}},{"type":"tool-call","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","name":"create","params":{"name":"Classic Chocolate Chip Cookies","content":"# Classic Chocolate Chip Cookies\n\nA timeless recipe for soft, chewy chocolate chip cookies that are golden on the edges and gooey in the center.\n\n## Ingredients\n\n- 2 ¼ cups all-purpose flour\n- 1 tsp baking soda\n- 1 tsp salt\n- 1 cup (2 sticks) unsalted butter, softened\n- ¾ cup granulated sugar\n- ¾ cup packed brown sugar\n- 2 large eggs\n- 2 tsp vanilla extract\n- 2 cups semi-sweet chocolate chips\n\n## Instructions\n\n1. **Preheat** your oven to 375°F (190°C). Line baking sheets with parchment paper.\n2. **Combine dry ingredients:** In a medium bowl, whisk together the flour, baking soda, and salt. Set aside.\n3. **Cream the butter and sugars:** In a large bowl, beat the softened butter, granulated sugar, and brown sugar together until light and fluffy, about 3–4 minutes.\n4. **Add eggs and vanilla:** Beat in the eggs one at a time, then mix in the vanilla extract until well combined.\n5. **Mix in dry ingredients:** Gradually add the flour mixture to the wet ingredients, mixing on low speed until just combined. Do not overmix.\n6. **Fold in chocolate chips:** Stir in the chocolate chips with a spatula or wooden spoon.\n7. **Scoop the dough:** Drop rounded tablespoons of dough onto the prepared baking sheets, spacing them about 2 inches apart.\n8. **Bake:** Bake for 9–11 minutes, or until the edges are golden brown but the centers still look slightly underdone.\n9. **Cool:** Let the cookies cool on the baking sheet for 5 minutes, then transfer to a wire rack to cool completely.\n\n## Tips\n\n- For extra flavor, use a mix of semi-sweet and dark chocolate chips.\n- Chill the dough for 30 minutes before baking for thicker cookies.\n- Store in an airtight container at room temperature for up to 5 days.\n\n**Yield:** ~48 cookies | **Prep Time:** 15 min | **Bake Time:** 10 min\n"},"providerExecuted":false,"options":{}}],"options":{}},{"role":"tool","content":[{"type":"tool-result","id":"toolu_01EtanYXQPvZAbcu8KJZu5he","name":"create","isFailure":false,"result":{"_id":"Exit","_tag":"Success","value":{"id":"dxn:echo:BDJXMULPW5FB55UZ7KP5HLDHVTXUTHE2U:01JGFJJZ00G0WKQSJGMAKCNTHZ"}},"providerExecuted":false,"options":{}}],"options":{"anthropic":{"cacheControl":{"ttl":"5m","type":"ephemeral"}}}}]},"response":[{"type":"response-metadata","id":"msg_019uQpmJUSKBiH14HcEW3o9T","modelId":"claude-opus-4-6","timestamp":"2026-05-17T07:06:48.391Z","metadata":{}},{"type":"reasoning-start","id":"0","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"The","metadata":{}},{"type":"reasoning-delta","id":"0","delta":" document was created successfully.","metadata":{}},{"type":"reasoning-delta","id":"0","delta":"","metadata":{"anthropic":{"type":"thinking","signature":"EuEBClkIDRgCKkDYqIGzymGgehnxneo7UHzpnlm8a0tPpXlILeVnfXH6ESWFT2yPNAKo7VXEFmHMiD7GK+j83i4I8Ok4es2dgweUMg9jbGF1ZGUtb3B1cy00LTY4ABIMlOFiMOe38Kmj53OQGgx6+adcpYMjtLNTNDQiMByOI8QFQMciXIJKDvv69liroocXoAHYSjyMEFn+Gh4etUiSH5n0ie6ac4c+u5JpKSo21KUyco9zABEMVme00v2T08tcNQrIibktyVqj7m2vGm3XZStpwv6LhWlxAgYMfdLobpZMnlKcGAE="}}},{"type":"reasoning-end","id":"0","metadata":{}},{"type":"text-start","id":"1","metadata":{}},{"type":"text-delta","id":"1","delta":"I've created a **Classic Chocolate Chip Cookies** recipe document for you! 🍪 ","metadata":{}},{"type":"text-delta","id":"1","delta":"It includes:\n\n- **Ingredients** – a full list with measurements for a","metadata":{}},{"type":"text-delta","id":"1","delta":" classic batch\n- **Step-by-step instructions** – from preheating the oven to cooling the cookies\n- **Tips** – for extra flavor, th","metadata":{}},{"type":"text-delta","id":"1","delta":"icker cookies, and proper storage\n\nThe recipe yields about 48 cookies. Let me know if you'd like to make","metadata":{}},{"type":"text-delta","id":"1","delta":" any changes, such as adjusting ingredients, adding variations, or tweaking the instructions!","metadata":{}},{"type":"text-end","id":"1","metadata":{}},{"type":"finish","reason":"stop","usage":{"inputTokens":2254,"outputTokens":142,"totalTokens":2396},"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":2254,"output_tokens":8,"server_tool_use":null,"service_tier":"standard"}}}}]}]}
@@ -6,23 +6,21 @@ import { describe, expect, it } from '@effect/vitest';
6
6
  import * as Effect from 'effect/Effect';
7
7
 
8
8
  import { MemoizedAiService } from '@dxos/ai/testing';
9
- import { AgentService } from '@dxos/assistant';
10
- import { AssistantTestLayer } from '@dxos/assistant/testing';
11
- import { Blueprint } from '@dxos/blueprints';
12
9
  import { SpaceProperties } from '@dxos/client-protocol';
13
- import { DXN, Database, Feed, Obj, Query } from '@dxos/echo';
14
- import { Collection } from '@dxos/echo';
10
+ import { Blueprint, Operation } from '@dxos/compute';
11
+ import { Collection, Database, DXN, Feed, Obj, Query } from '@dxos/echo';
15
12
  import { TestHelpers } from '@dxos/effect/testing';
16
- import { FunctionInvocationService } from '@dxos/functions';
13
+ import { AgentService } from '@dxos/functions-runtime';
14
+ import { AssistantTestLayer } from '@dxos/functions-runtime/testing';
17
15
  import { invariant } from '@dxos/invariant';
18
16
  import { ObjectId } from '@dxos/keys';
19
- import { Markdown } from '@dxos/plugin-markdown/types';
17
+ import { Markdown } from '@dxos/plugin-markdown';
20
18
  import { HasSubject } from '@dxos/types';
21
19
 
22
20
  import { WithProperties } from '#testing';
23
21
 
24
22
  import MarkdownBlueprint from '../blueprints/markdown-blueprint';
25
- import { Create } from './definitions';
23
+ import { MarkdownOperation } from '../types';
26
24
  import { MarkdownOperationHandlerSet } from './index';
27
25
 
28
26
  ObjectId.dangerouslyDisableRandomness();
@@ -49,7 +47,7 @@ describe('create', () => {
49
47
  function* (_) {
50
48
  const name = 'BlueYard';
51
49
  const content = 'Founders and portfolio of BlueYard.';
52
- const result = yield* FunctionInvocationService.invokeFunction(Create, {
50
+ const result = yield* Operation.invoke(MarkdownOperation.Create, {
53
51
  name,
54
52
  content,
55
53
  });
@@ -4,14 +4,13 @@
4
4
 
5
5
  import * as Effect from 'effect/Effect';
6
6
 
7
+ import { Operation } from '@dxos/compute';
7
8
  import { Obj } from '@dxos/echo';
8
- import { Operation } from '@dxos/operation';
9
9
  import { CollectionModel } from '@dxos/schema';
10
10
 
11
- import { Markdown } from '../types';
12
- import { Create } from './definitions';
11
+ import { Markdown, MarkdownOperation } from '../types';
13
12
 
14
- const handler: Operation.WithHandler<typeof Create> = Create.pipe(
13
+ const handler: Operation.WithHandler<typeof MarkdownOperation.Create> = MarkdownOperation.Create.pipe(
15
14
  Operation.withHandler(
16
15
  Effect.fn(function* ({ name, content }) {
17
16
  const object = Markdown.make({ name, content });
@@ -2,9 +2,7 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { OperationHandlerSet } from '@dxos/operation';
6
-
7
- export * as MarkdownOperation from './definitions';
5
+ import { OperationHandlerSet } from '@dxos/compute';
8
6
 
9
7
  export const MarkdownOperationHandlerSet = OperationHandlerSet.lazy(
10
8
  () => import('./create'),
@@ -12,5 +10,5 @@ export const MarkdownOperationHandlerSet = OperationHandlerSet.lazy(
12
10
  () => import('./open'),
13
11
  () => import('./scroll-to-anchor'),
14
12
  () => import('./set-view-mode'),
15
- () => import('./update'),
13
+ () => import('./update-markdown'),
16
14
  );
@@ -4,12 +4,12 @@
4
4
 
5
5
  import * as Effect from 'effect/Effect';
6
6
 
7
+ import { Operation } from '@dxos/compute';
7
8
  import { Database } from '@dxos/echo';
8
- import { Operation } from '@dxos/operation';
9
9
 
10
- import { Open } from './definitions';
10
+ import { MarkdownOperation } from '../types';
11
11
 
12
- const handler: Operation.WithHandler<typeof Open> = Open.pipe(
12
+ const handler: Operation.WithHandler<typeof MarkdownOperation.Open> = MarkdownOperation.Open.pipe(
13
13
  Operation.withHandler(
14
14
  Effect.fn(function* ({ doc }) {
15
15
  const { content } = yield* doc.pipe(
@@ -6,13 +6,12 @@ import { EditorView } from '@codemirror/view';
6
6
  import * as Effect from 'effect/Effect';
7
7
 
8
8
  import { Capability } from '@dxos/app-framework';
9
- import { Operation } from '@dxos/operation';
9
+ import { Operation } from '@dxos/compute';
10
10
  import { Cursor, setSelection } from '@dxos/ui-editor';
11
11
 
12
- import { MarkdownCapabilities } from '../types';
13
- import { ScrollToAnchor } from './definitions';
12
+ import { MarkdownCapabilities, MarkdownOperation } from '../types';
14
13
 
15
- const handler: Operation.WithHandler<typeof ScrollToAnchor> = ScrollToAnchor.pipe(
14
+ const handler: Operation.WithHandler<typeof MarkdownOperation.ScrollToAnchor> = MarkdownOperation.ScrollToAnchor.pipe(
16
15
  Operation.withHandler(
17
16
  Effect.fnUntraced(function* ({ subject, cursor }) {
18
17
  const editorViews = yield* Capability.get(MarkdownCapabilities.EditorViews);
@@ -5,12 +5,11 @@
5
5
  import * as Effect from 'effect/Effect';
6
6
 
7
7
  import { Capabilities } from '@dxos/app-framework';
8
- import { Operation } from '@dxos/operation';
8
+ import { Operation } from '@dxos/compute';
9
9
 
10
- import { MarkdownCapabilities } from '../types';
11
- import { SetViewMode } from './definitions';
10
+ import { MarkdownCapabilities, MarkdownOperation } from '../types';
12
11
 
13
- const handler: Operation.WithHandler<typeof SetViewMode> = SetViewMode.pipe(
12
+ const handler: Operation.WithHandler<typeof MarkdownOperation.SetViewMode> = MarkdownOperation.SetViewMode.pipe(
14
13
  Operation.withHandler(
15
14
  Effect.fnUntraced(function* ({ id, viewMode }) {
16
15
  yield* Capabilities.updateAtomValue(MarkdownCapabilities.State, (current) => ({
@@ -5,13 +5,13 @@
5
5
  import { next as A, type Doc } from '@automerge/automerge';
6
6
  import * as Effect from 'effect/Effect';
7
7
 
8
+ import { Operation } from '@dxos/compute';
8
9
  import { Database } from '@dxos/echo';
9
10
  import { DocAccessor, createDocAccessor } from '@dxos/echo-db';
10
- import { Operation } from '@dxos/operation';
11
11
 
12
- import { Update } from './definitions';
12
+ import { MarkdownOperation } from '../types';
13
13
 
14
- const handler: Operation.WithHandler<typeof Update> = Update.pipe(
14
+ const handler: Operation.WithHandler<typeof MarkdownOperation.Update> = MarkdownOperation.Update.pipe(
15
15
  Operation.withHandler(
16
16
  Effect.fn(function* ({ doc, edits }) {
17
17
  const content = yield* doc.pipe(