@mastra/core 1.2.1-alpha.0 → 1.3.0-alpha.2

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 (403) hide show
  1. package/CHANGELOG.md +341 -0
  2. package/dist/_types/@internal_ai-sdk-v5/dist/index.d.ts +2093 -262
  3. package/dist/agent/agent-legacy.d.ts.map +1 -1
  4. package/dist/agent/agent.d.ts +12 -3
  5. package/dist/agent/agent.d.ts.map +1 -1
  6. package/dist/agent/index.cjs +13 -13
  7. package/dist/agent/index.js +2 -2
  8. package/dist/agent/message-list/index.cjs +18 -18
  9. package/dist/agent/message-list/index.js +1 -1
  10. package/dist/agent/message-list/message-list.d.ts.map +1 -1
  11. package/dist/agent/types.d.ts +6 -1
  12. package/dist/agent/types.d.ts.map +1 -1
  13. package/dist/agent/workflows/prepare-stream/index.d.ts +3 -1
  14. package/dist/agent/workflows/prepare-stream/index.d.ts.map +1 -1
  15. package/dist/agent/workflows/prepare-stream/map-results-step.d.ts.map +1 -1
  16. package/dist/agent/workflows/prepare-stream/stream-step.d.ts +3 -1
  17. package/dist/agent/workflows/prepare-stream/stream-step.d.ts.map +1 -1
  18. package/dist/base.cjs +2 -2
  19. package/dist/base.d.ts +13 -1
  20. package/dist/base.d.ts.map +1 -1
  21. package/dist/base.js +1 -1
  22. package/dist/bundler/index.cjs +2 -2
  23. package/dist/bundler/index.js +1 -1
  24. package/dist/cache/index.cjs +3 -3
  25. package/dist/cache/index.js +1 -1
  26. package/dist/{chunk-ENCTSDWC.js → chunk-2GWTJFVM.js} +2410 -1402
  27. package/dist/chunk-2GWTJFVM.js.map +1 -0
  28. package/dist/{chunk-OB4V67IX.cjs → chunk-2K5PNW2U.cjs} +4 -4
  29. package/dist/{chunk-OB4V67IX.cjs.map → chunk-2K5PNW2U.cjs.map} +1 -1
  30. package/dist/{chunk-VZXYBFCX.cjs → chunk-2P6DD7M5.cjs} +10 -10
  31. package/dist/{chunk-VZXYBFCX.cjs.map → chunk-2P6DD7M5.cjs.map} +1 -1
  32. package/dist/{chunk-Q2D7LERO.cjs → chunk-2VD5OGOT.cjs} +4 -4
  33. package/dist/{chunk-Q2D7LERO.cjs.map → chunk-2VD5OGOT.cjs.map} +1 -1
  34. package/dist/{chunk-2DMSFLJY.cjs → chunk-6TZKQI4R.cjs} +8 -8
  35. package/dist/chunk-6TZKQI4R.cjs.map +1 -0
  36. package/dist/{chunk-4NG7CKEG.js → chunk-6VGCVSP4.js} +3 -3
  37. package/dist/{chunk-4NG7CKEG.js.map → chunk-6VGCVSP4.js.map} +1 -1
  38. package/dist/{chunk-IIZF4W7B.cjs → chunk-7UWHFWST.cjs} +52 -5
  39. package/dist/chunk-7UWHFWST.cjs.map +1 -0
  40. package/dist/{chunk-VW7YQWDW.cjs → chunk-BFIOQFGF.cjs} +28 -2
  41. package/dist/chunk-BFIOQFGF.cjs.map +1 -0
  42. package/dist/{chunk-E3VFKTIA.js → chunk-BXLLXTT4.js} +2245 -179
  43. package/dist/chunk-BXLLXTT4.js.map +1 -0
  44. package/dist/{chunk-HMCXNOF6.cjs → chunk-CGPH7CMG.cjs} +2431 -1417
  45. package/dist/chunk-CGPH7CMG.cjs.map +1 -0
  46. package/dist/{chunk-GVLPTDJA.cjs → chunk-D5JZT6EK.cjs} +236 -63
  47. package/dist/chunk-D5JZT6EK.cjs.map +1 -0
  48. package/dist/{chunk-5SOS47PH.cjs → chunk-FLHFB23E.cjs} +454 -222
  49. package/dist/chunk-FLHFB23E.cjs.map +1 -0
  50. package/dist/{chunk-XCPEEIHI.cjs → chunk-GCTAD6B7.cjs} +3012 -927
  51. package/dist/chunk-GCTAD6B7.cjs.map +1 -0
  52. package/dist/{chunk-W3AQUG66.js → chunk-GIY5BINT.js} +4 -4
  53. package/dist/{chunk-W3AQUG66.js.map → chunk-GIY5BINT.js.map} +1 -1
  54. package/dist/{chunk-M6VFJX5A.js → chunk-GMSAGYTB.js} +3 -3
  55. package/dist/{chunk-M6VFJX5A.js.map → chunk-GMSAGYTB.js.map} +1 -1
  56. package/dist/{chunk-JRJJ5VQE.cjs → chunk-GZD6443M.cjs} +99 -55
  57. package/dist/chunk-GZD6443M.cjs.map +1 -0
  58. package/dist/{chunk-Z6NRYYOH.js → chunk-ILQXPZCD.js} +9 -4
  59. package/dist/chunk-ILQXPZCD.js.map +1 -0
  60. package/dist/{chunk-5YVR7B4R.js → chunk-JQNREL64.js} +29 -9
  61. package/dist/chunk-JQNREL64.js.map +1 -0
  62. package/dist/{chunk-QOFI2WBM.cjs → chunk-JU6K7UDX.cjs} +991 -229
  63. package/dist/chunk-JU6K7UDX.cjs.map +1 -0
  64. package/dist/{chunk-HN2MSTR6.cjs → chunk-KAJNBNWP.cjs} +283 -38
  65. package/dist/chunk-KAJNBNWP.cjs.map +1 -0
  66. package/dist/{chunk-MSWXEOZC.js → chunk-KL2JPSRX.js} +5 -5
  67. package/dist/chunk-KL2JPSRX.js.map +1 -0
  68. package/dist/{chunk-MQB7XFXP.js → chunk-LHRHOPUC.js} +3 -3
  69. package/dist/{chunk-MQB7XFXP.js.map → chunk-LHRHOPUC.js.map} +1 -1
  70. package/dist/{chunk-VX7UA3SO.js → chunk-MOOJ3H3C.js} +974 -217
  71. package/dist/chunk-MOOJ3H3C.js.map +1 -0
  72. package/dist/{chunk-HU2ONA2W.cjs → chunk-ON2KVIUJ.cjs} +17 -17
  73. package/dist/{chunk-HU2ONA2W.cjs.map → chunk-ON2KVIUJ.cjs.map} +1 -1
  74. package/dist/{chunk-I66TMZJ3.cjs → chunk-OOCEAC6U.cjs} +21 -18
  75. package/dist/chunk-OOCEAC6U.cjs.map +1 -0
  76. package/dist/{chunk-MNWW2R3U.js → chunk-OV7OOUUR.js} +90 -54
  77. package/dist/chunk-OV7OOUUR.js.map +1 -0
  78. package/dist/{chunk-C4WWWQHT.cjs → chunk-RO47SMI7.cjs} +23 -3
  79. package/dist/chunk-RO47SMI7.cjs.map +1 -0
  80. package/dist/{chunk-6FG6FU5Y.cjs → chunk-RQ56ZSIR.cjs} +4 -4
  81. package/dist/{chunk-6FG6FU5Y.cjs.map → chunk-RQ56ZSIR.cjs.map} +1 -1
  82. package/dist/{chunk-IW3BNL7A.js → chunk-RS6CZXGA.js} +50 -3
  83. package/dist/chunk-RS6CZXGA.js.map +1 -0
  84. package/dist/{chunk-AIJLACR2.js → chunk-S53FKKVL.js} +27 -3
  85. package/dist/chunk-S53FKKVL.js.map +1 -0
  86. package/dist/{chunk-G6E3QNJC.js → chunk-SBPPGJL6.js} +4078 -4333
  87. package/dist/chunk-SBPPGJL6.js.map +1 -0
  88. package/dist/{chunk-UZL4H5P2.cjs → chunk-SH4PCZ3X.cjs} +5375 -5648
  89. package/dist/chunk-SH4PCZ3X.cjs.map +1 -0
  90. package/dist/{chunk-ZWM2CAIM.js → chunk-STKNQDVA.js} +4 -4
  91. package/dist/{chunk-ZWM2CAIM.js.map → chunk-STKNQDVA.js.map} +1 -1
  92. package/dist/{chunk-A5QFWX67.cjs → chunk-U2CABSMC.cjs} +79 -59
  93. package/dist/chunk-U2CABSMC.cjs.map +1 -0
  94. package/dist/{chunk-7MDVYPWX.cjs → chunk-UE2G2LRP.cjs} +9 -4
  95. package/dist/chunk-UE2G2LRP.cjs.map +1 -0
  96. package/dist/{chunk-AUF6U2BL.js → chunk-VM25PDSW.js} +5 -5
  97. package/dist/{chunk-AUF6U2BL.js.map → chunk-VM25PDSW.js.map} +1 -1
  98. package/dist/{chunk-RXD5EGQF.js → chunk-VVD56FI4.js} +228 -55
  99. package/dist/chunk-VVD56FI4.js.map +1 -0
  100. package/dist/{chunk-JIT2OY3X.js → chunk-WCAFTXGK.js} +23 -3
  101. package/dist/chunk-WCAFTXGK.js.map +1 -0
  102. package/dist/{chunk-P62OJXQ4.js → chunk-WL3AW3YA.js} +282 -37
  103. package/dist/chunk-WL3AW3YA.js.map +1 -0
  104. package/dist/{chunk-YLODOPYM.cjs → chunk-XDD5V446.cjs} +4163 -5352
  105. package/dist/chunk-XDD5V446.cjs.map +1 -0
  106. package/dist/{chunk-B4M33FCS.cjs → chunk-XQVYEOI7.cjs} +7 -7
  107. package/dist/{chunk-B4M33FCS.cjs.map → chunk-XQVYEOI7.cjs.map} +1 -1
  108. package/dist/{chunk-BP2TSCBW.js → chunk-ZATLLPIH.js} +4391 -5561
  109. package/dist/chunk-ZATLLPIH.js.map +1 -0
  110. package/dist/{chunk-T6PRRKMW.js → chunk-ZHFM7HCQ.js} +9 -6
  111. package/dist/chunk-ZHFM7HCQ.js.map +1 -0
  112. package/dist/{chunk-WFUNLRQX.js → chunk-ZRUTE56J.js} +366 -134
  113. package/dist/chunk-ZRUTE56J.js.map +1 -0
  114. package/dist/deployer/index.cjs +2 -2
  115. package/dist/deployer/index.js +1 -1
  116. package/dist/docs/SKILL.md +2 -9
  117. package/dist/docs/assets/SOURCE_MAP.json +399 -342
  118. package/dist/docs/references/docs-agents-agent-memory.md +45 -1
  119. package/dist/docs/references/docs-agents-network-approval.md +1 -1
  120. package/dist/docs/references/docs-agents-networks.md +3 -3
  121. package/dist/docs/references/docs-agents-overview.md +8 -0
  122. package/dist/docs/references/docs-agents-using-tools.md +82 -72
  123. package/dist/docs/references/docs-memory-observational-memory.md +11 -8
  124. package/dist/docs/references/docs-observability-overview.md +1 -1
  125. package/dist/docs/references/docs-observability-tracing-exporters-langsmith.md +70 -0
  126. package/dist/docs/references/docs-observability-tracing-overview.md +1 -1
  127. package/dist/docs/references/docs-server-middleware.md +0 -2
  128. package/dist/docs/references/docs-server-request-context.md +17 -0
  129. package/dist/docs/references/docs-workflows-agents-and-tools.md +2 -2
  130. package/dist/docs/references/docs-workflows-overview.md +1 -1
  131. package/dist/docs/references/docs-workspace-filesystem.md +2 -0
  132. package/dist/docs/references/docs-workspace-overview.md +3 -1
  133. package/dist/docs/references/docs-workspace-sandbox.md +2 -0
  134. package/dist/docs/references/docs-workspace-search.md +2 -0
  135. package/dist/docs/references/docs-workspace-skills.md +3 -1
  136. package/dist/docs/references/reference-agents-getTools.md +1 -6
  137. package/dist/docs/references/reference-agents-listAgents.md +1 -1
  138. package/dist/docs/references/reference-agents-network.md +0 -2
  139. package/dist/docs/references/reference-cli-mastra.md +29 -4
  140. package/dist/docs/references/reference-client-js-agents.md +1 -1
  141. package/dist/docs/references/reference-configuration.md +1 -1
  142. package/dist/docs/references/reference-core-getStoredAgentById.md +2 -2
  143. package/dist/docs/references/reference-core-listStoredAgents.md +1 -1
  144. package/dist/docs/references/reference-memory-observational-memory.md +2 -0
  145. package/dist/docs/references/reference-tools-mcp-client.md +0 -2
  146. package/dist/docs/references/reference-workflows-step.md +2 -0
  147. package/dist/docs/references/reference-workflows-workflow-methods-map.md +2 -2
  148. package/dist/docs/references/reference-workspace-filesystem.md +2 -0
  149. package/dist/docs/references/reference-workspace-local-filesystem.md +2 -0
  150. package/dist/docs/references/reference-workspace-local-sandbox.md +2 -0
  151. package/dist/docs/references/reference-workspace-sandbox.md +2 -0
  152. package/dist/docs/references/reference-workspace-workspace-class.md +2 -0
  153. package/dist/docs/references/reference.md +7 -2
  154. package/dist/editor/index.d.ts +1 -1
  155. package/dist/editor/index.d.ts.map +1 -1
  156. package/dist/editor/types.d.ts +53 -48
  157. package/dist/editor/types.d.ts.map +1 -1
  158. package/dist/evals/base.d.ts +15 -0
  159. package/dist/evals/base.d.ts.map +1 -1
  160. package/dist/evals/index.cjs +20 -20
  161. package/dist/evals/index.js +3 -3
  162. package/dist/evals/run/index.d.ts +3 -3
  163. package/dist/evals/run/index.d.ts.map +1 -1
  164. package/dist/evals/scoreTraces/index.cjs +5 -5
  165. package/dist/evals/scoreTraces/index.js +2 -2
  166. package/dist/features/index.cjs +1 -1
  167. package/dist/features/index.cjs.map +1 -1
  168. package/dist/features/index.d.ts.map +1 -1
  169. package/dist/features/index.js +1 -1
  170. package/dist/features/index.js.map +1 -1
  171. package/dist/index.cjs +4 -4
  172. package/dist/index.d.ts +3 -3
  173. package/dist/index.d.ts.map +1 -1
  174. package/dist/index.js +2 -2
  175. package/dist/integration/index.cjs +2 -2
  176. package/dist/integration/index.js +1 -1
  177. package/dist/llm/index.cjs +16 -16
  178. package/dist/llm/index.js +5 -5
  179. package/dist/llm/model/gateways/constants.d.ts.map +1 -1
  180. package/dist/llm/model/gateways/models-dev.d.ts.map +1 -1
  181. package/dist/llm/model/model.loop.d.ts +1 -1
  182. package/dist/llm/model/model.loop.d.ts.map +1 -1
  183. package/dist/llm/model/provider-types.generated.d.ts +128 -10
  184. package/dist/llm/model/resolve-model.d.ts.map +1 -1
  185. package/dist/loop/index.cjs +12 -12
  186. package/dist/loop/index.js +1 -1
  187. package/dist/loop/network/index.d.ts +3 -3
  188. package/dist/loop/network/index.d.ts.map +1 -1
  189. package/dist/loop/network/run-command-tool.d.ts +1 -1
  190. package/dist/loop/types.d.ts +13 -0
  191. package/dist/loop/types.d.ts.map +1 -1
  192. package/dist/loop/workflows/agentic-execution/index.d.ts +9 -9
  193. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts +7 -7
  194. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts.map +1 -1
  195. package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts +3 -3
  196. package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts.map +1 -1
  197. package/dist/loop/workflows/agentic-loop/index.d.ts +9 -9
  198. package/dist/loop/workflows/schema.d.ts +12 -12
  199. package/dist/mastra/index.cjs +2 -2
  200. package/dist/mastra/index.d.ts +91 -5
  201. package/dist/mastra/index.d.ts.map +1 -1
  202. package/dist/mastra/index.js +1 -1
  203. package/dist/mcp/index.cjs +2 -2
  204. package/dist/mcp/index.js +1 -1
  205. package/dist/memory/index.cjs +14 -14
  206. package/dist/memory/index.js +1 -1
  207. package/dist/memory/mock.d.ts.map +1 -1
  208. package/dist/memory/types.d.ts +128 -0
  209. package/dist/memory/types.d.ts.map +1 -1
  210. package/dist/models-dev-FQVUTQ7L.js +3 -0
  211. package/dist/{models-dev-Z45JSLWD.js.map → models-dev-FQVUTQ7L.js.map} +1 -1
  212. package/dist/models-dev-PPIXUUCU.cjs +12 -0
  213. package/dist/{models-dev-OQKVMEIT.cjs.map → models-dev-PPIXUUCU.cjs.map} +1 -1
  214. package/dist/netlify-4RIKF7Y3.js +3 -0
  215. package/dist/{netlify-SSWMYSAX.js.map → netlify-4RIKF7Y3.js.map} +1 -1
  216. package/dist/netlify-V5F7JEJH.cjs +12 -0
  217. package/dist/{netlify-TXZZCT6N.cjs.map → netlify-V5F7JEJH.cjs.map} +1 -1
  218. package/dist/processors/index.cjs +41 -41
  219. package/dist/processors/index.js +1 -1
  220. package/dist/processors/step-schema.d.ts +44 -44
  221. package/dist/provider-registry-C6XCYX44.cjs +40 -0
  222. package/dist/{provider-registry-NR7FXV2Q.cjs.map → provider-registry-C6XCYX44.cjs.map} +1 -1
  223. package/dist/provider-registry-NWU4YFQW.js +3 -0
  224. package/dist/{provider-registry-RPOTQNHI.js.map → provider-registry-NWU4YFQW.js.map} +1 -1
  225. package/dist/provider-registry.json +278 -33
  226. package/dist/relevance/index.cjs +3 -3
  227. package/dist/relevance/index.js +1 -1
  228. package/dist/server/index.cjs +3 -3
  229. package/dist/server/index.js +1 -1
  230. package/dist/storage/base.d.ts +3 -1
  231. package/dist/storage/base.d.ts.map +1 -1
  232. package/dist/storage/constants.cjs +51 -19
  233. package/dist/storage/constants.d.ts +10 -2
  234. package/dist/storage/constants.d.ts.map +1 -1
  235. package/dist/storage/constants.js +1 -1
  236. package/dist/storage/domains/agents/base.d.ts +13 -164
  237. package/dist/storage/domains/agents/base.d.ts.map +1 -1
  238. package/dist/storage/domains/agents/index.d.ts +0 -1
  239. package/dist/storage/domains/agents/index.d.ts.map +1 -1
  240. package/dist/storage/domains/agents/inmemory.d.ts +6 -10
  241. package/dist/storage/domains/agents/inmemory.d.ts.map +1 -1
  242. package/dist/storage/domains/index.d.ts +3 -0
  243. package/dist/storage/domains/index.d.ts.map +1 -1
  244. package/dist/storage/domains/inmemory-db.d.ts +7 -1
  245. package/dist/storage/domains/inmemory-db.d.ts.map +1 -1
  246. package/dist/storage/domains/memory/base.d.ts +45 -5
  247. package/dist/storage/domains/memory/base.d.ts.map +1 -1
  248. package/dist/storage/domains/memory/inmemory.d.ts +7 -7
  249. package/dist/storage/domains/memory/inmemory.d.ts.map +1 -1
  250. package/dist/storage/domains/observability/types.d.ts +62 -62
  251. package/dist/storage/domains/operations/inmemory.d.ts.map +1 -1
  252. package/dist/storage/domains/prompt-blocks/base.d.ts +47 -0
  253. package/dist/storage/domains/prompt-blocks/base.d.ts.map +1 -0
  254. package/dist/storage/domains/prompt-blocks/index.d.ts +3 -0
  255. package/dist/storage/domains/prompt-blocks/index.d.ts.map +1 -0
  256. package/dist/storage/domains/prompt-blocks/inmemory.d.ts +31 -0
  257. package/dist/storage/domains/prompt-blocks/inmemory.d.ts.map +1 -0
  258. package/dist/storage/domains/scorer-definitions/base.d.ts +47 -0
  259. package/dist/storage/domains/scorer-definitions/base.d.ts.map +1 -0
  260. package/dist/storage/domains/scorer-definitions/index.d.ts +3 -0
  261. package/dist/storage/domains/scorer-definitions/index.d.ts.map +1 -0
  262. package/dist/storage/domains/scorer-definitions/inmemory.d.ts +31 -0
  263. package/dist/storage/domains/scorer-definitions/inmemory.d.ts.map +1 -0
  264. package/dist/storage/domains/versioned.d.ts +136 -0
  265. package/dist/storage/domains/versioned.d.ts.map +1 -0
  266. package/dist/storage/index.cjs +156 -104
  267. package/dist/storage/index.js +2 -2
  268. package/dist/storage/mock.d.ts.map +1 -1
  269. package/dist/storage/types.d.ts +481 -27
  270. package/dist/storage/types.d.ts.map +1 -1
  271. package/dist/stream/MastraAgentNetworkStream.d.ts +1 -1
  272. package/dist/stream/MastraWorkflowStream.d.ts +1 -1
  273. package/dist/stream/RunOutput.d.ts +1 -1
  274. package/dist/stream/RunOutput.d.ts.map +1 -1
  275. package/dist/stream/base/output.d.ts +4 -0
  276. package/dist/stream/base/output.d.ts.map +1 -1
  277. package/dist/stream/index.cjs +11 -11
  278. package/dist/stream/index.js +2 -2
  279. package/dist/test-utils/llm-mock.cjs +4 -4
  280. package/dist/test-utils/llm-mock.js +1 -1
  281. package/dist/tool-loop-agent/index.cjs +4 -4
  282. package/dist/tool-loop-agent/index.js +1 -1
  283. package/dist/tools/index.cjs +4 -4
  284. package/dist/tools/index.js +1 -1
  285. package/dist/tools/is-vercel-tool.cjs +2 -2
  286. package/dist/tools/is-vercel-tool.js +1 -1
  287. package/dist/tools/tool-builder/builder.d.ts.map +1 -1
  288. package/dist/tools/types.d.ts +15 -0
  289. package/dist/tools/types.d.ts.map +1 -1
  290. package/dist/tools/validation.d.ts.map +1 -1
  291. package/dist/tts/index.cjs +2 -2
  292. package/dist/tts/index.js +1 -1
  293. package/dist/types/zod-compat.d.ts +2 -2
  294. package/dist/types/zod-compat.d.ts.map +1 -1
  295. package/dist/utils/zod-utils.d.ts +19 -0
  296. package/dist/utils/zod-utils.d.ts.map +1 -1
  297. package/dist/utils.cjs +28 -28
  298. package/dist/utils.d.ts +7 -1
  299. package/dist/utils.d.ts.map +1 -1
  300. package/dist/utils.js +2 -2
  301. package/dist/vector/index.cjs +9 -9
  302. package/dist/vector/index.js +2 -2
  303. package/dist/voice/index.cjs +6 -6
  304. package/dist/voice/index.js +1 -1
  305. package/dist/workflows/evented/index.cjs +10 -10
  306. package/dist/workflows/evented/index.js +1 -1
  307. package/dist/workflows/evented/step-executor.d.ts.map +1 -1
  308. package/dist/workflows/evented/workflow.d.ts +3 -1
  309. package/dist/workflows/evented/workflow.d.ts.map +1 -1
  310. package/dist/workflows/execution-engine.d.ts.map +1 -1
  311. package/dist/workflows/index.cjs +25 -25
  312. package/dist/workflows/index.js +1 -1
  313. package/dist/workflows/step.d.ts +4 -3
  314. package/dist/workflows/step.d.ts.map +1 -1
  315. package/dist/workflows/types.d.ts +2 -1
  316. package/dist/workflows/types.d.ts.map +1 -1
  317. package/dist/workflows/workflow.d.ts +12 -4
  318. package/dist/workflows/workflow.d.ts.map +1 -1
  319. package/dist/workspace/errors.d.ts +6 -0
  320. package/dist/workspace/errors.d.ts.map +1 -1
  321. package/dist/workspace/filesystem/composite-filesystem.d.ts +93 -0
  322. package/dist/workspace/filesystem/composite-filesystem.d.ts.map +1 -0
  323. package/dist/workspace/filesystem/filesystem.d.ts +35 -0
  324. package/dist/workspace/filesystem/filesystem.d.ts.map +1 -1
  325. package/dist/workspace/filesystem/index.d.ts +2 -0
  326. package/dist/workspace/filesystem/index.d.ts.map +1 -1
  327. package/dist/workspace/filesystem/local-filesystem.d.ts +9 -1
  328. package/dist/workspace/filesystem/local-filesystem.d.ts.map +1 -1
  329. package/dist/workspace/filesystem/mastra-filesystem.d.ts +92 -3
  330. package/dist/workspace/filesystem/mastra-filesystem.d.ts.map +1 -1
  331. package/dist/workspace/filesystem/mount.d.ts +34 -0
  332. package/dist/workspace/filesystem/mount.d.ts.map +1 -0
  333. package/dist/workspace/index.cjs +62 -34
  334. package/dist/workspace/index.d.ts +6 -2
  335. package/dist/workspace/index.d.ts.map +1 -1
  336. package/dist/workspace/index.js +1 -1
  337. package/dist/workspace/lifecycle.d.ts +29 -0
  338. package/dist/workspace/lifecycle.d.ts.map +1 -1
  339. package/dist/workspace/sandbox/errors.d.ts +50 -0
  340. package/dist/workspace/sandbox/errors.d.ts.map +1 -0
  341. package/dist/workspace/sandbox/index.d.ts +3 -0
  342. package/dist/workspace/sandbox/index.d.ts.map +1 -1
  343. package/dist/workspace/sandbox/local-sandbox.d.ts +17 -2
  344. package/dist/workspace/sandbox/local-sandbox.d.ts.map +1 -1
  345. package/dist/workspace/sandbox/mastra-sandbox.d.ts +153 -6
  346. package/dist/workspace/sandbox/mastra-sandbox.d.ts.map +1 -1
  347. package/dist/workspace/sandbox/mount-manager.d.ts +195 -0
  348. package/dist/workspace/sandbox/mount-manager.d.ts.map +1 -0
  349. package/dist/workspace/sandbox/sandbox.d.ts +37 -84
  350. package/dist/workspace/sandbox/sandbox.d.ts.map +1 -1
  351. package/dist/workspace/sandbox/types.d.ts +92 -0
  352. package/dist/workspace/sandbox/types.d.ts.map +1 -0
  353. package/dist/workspace/tools/tools.d.ts.map +1 -1
  354. package/dist/workspace/tools/tree-formatter.d.ts.map +1 -1
  355. package/dist/workspace/workspace.d.ts +73 -3
  356. package/dist/workspace/workspace.d.ts.map +1 -1
  357. package/package.json +16 -16
  358. package/src/llm/model/provider-types.generated.d.ts +128 -10
  359. package/dist/chunk-2DMSFLJY.cjs.map +0 -1
  360. package/dist/chunk-5SOS47PH.cjs.map +0 -1
  361. package/dist/chunk-5YVR7B4R.js.map +0 -1
  362. package/dist/chunk-7MDVYPWX.cjs.map +0 -1
  363. package/dist/chunk-A5QFWX67.cjs.map +0 -1
  364. package/dist/chunk-AIJLACR2.js.map +0 -1
  365. package/dist/chunk-BP2TSCBW.js.map +0 -1
  366. package/dist/chunk-C4WWWQHT.cjs.map +0 -1
  367. package/dist/chunk-E3VFKTIA.js.map +0 -1
  368. package/dist/chunk-ENCTSDWC.js.map +0 -1
  369. package/dist/chunk-G6E3QNJC.js.map +0 -1
  370. package/dist/chunk-GVLPTDJA.cjs.map +0 -1
  371. package/dist/chunk-HMCXNOF6.cjs.map +0 -1
  372. package/dist/chunk-HN2MSTR6.cjs.map +0 -1
  373. package/dist/chunk-I66TMZJ3.cjs.map +0 -1
  374. package/dist/chunk-IIZF4W7B.cjs.map +0 -1
  375. package/dist/chunk-IW3BNL7A.js.map +0 -1
  376. package/dist/chunk-JIT2OY3X.js.map +0 -1
  377. package/dist/chunk-JRJJ5VQE.cjs.map +0 -1
  378. package/dist/chunk-MNWW2R3U.js.map +0 -1
  379. package/dist/chunk-MSWXEOZC.js.map +0 -1
  380. package/dist/chunk-P62OJXQ4.js.map +0 -1
  381. package/dist/chunk-QOFI2WBM.cjs.map +0 -1
  382. package/dist/chunk-RXD5EGQF.js.map +0 -1
  383. package/dist/chunk-T6PRRKMW.js.map +0 -1
  384. package/dist/chunk-UZL4H5P2.cjs.map +0 -1
  385. package/dist/chunk-VW7YQWDW.cjs.map +0 -1
  386. package/dist/chunk-VX7UA3SO.js.map +0 -1
  387. package/dist/chunk-WFUNLRQX.js.map +0 -1
  388. package/dist/chunk-XCPEEIHI.cjs.map +0 -1
  389. package/dist/chunk-YLODOPYM.cjs.map +0 -1
  390. package/dist/chunk-Z6NRYYOH.js.map +0 -1
  391. package/dist/docs/references/docs-tools-mcp-advanced-usage.md +0 -143
  392. package/dist/docs/references/docs-tools-mcp-mcp-overview.md +0 -383
  393. package/dist/docs/references/docs-tools-mcp-overview.md +0 -78
  394. package/dist/docs/references/docs-workflows-input-data-mapping.md +0 -102
  395. package/dist/docs/references/reference-deployer-netlify.md +0 -14
  396. package/dist/docs/references/reference-deployer-vercel.md +0 -39
  397. package/dist/docs/references/reference-tools-client.md +0 -228
  398. package/dist/models-dev-OQKVMEIT.cjs +0 -12
  399. package/dist/models-dev-Z45JSLWD.js +0 -3
  400. package/dist/netlify-SSWMYSAX.js +0 -3
  401. package/dist/netlify-TXZZCT6N.cjs +0 -12
  402. package/dist/provider-registry-NR7FXV2Q.cjs +0 -40
  403. package/dist/provider-registry-RPOTQNHI.js +0 -3
@@ -4,35 +4,81 @@
4
4
  * Abstract base class for sandbox providers that want automatic logger integration.
5
5
  * Extends MastraBase to receive the Mastra logger when registered with a Mastra instance.
6
6
  *
7
+ * MountManager is automatically created if the subclass implements `mount()`.
8
+ * Use `declare readonly mounts: MountManager` to get non-optional typing.
9
+ *
10
+ * ## Lifecycle Management
11
+ *
12
+ * The base class provides race-condition-safe lifecycle wrappers:
13
+ * - `_start()` - Handles concurrent calls, status management, and mount processing
14
+ * - `_stop()` - Handles concurrent calls and status management
15
+ * - `_destroy()` - Handles concurrent calls and status management
16
+ *
17
+ * Subclasses override the plain `start()`, `stop()`, and `destroy()` methods
18
+ * to provide their implementation. Callers use the `_`-prefixed wrappers
19
+ * (or `callLifecycle()`) which add status tracking and race-condition safety.
20
+ *
7
21
  * External providers can extend this class to get logger support, or implement
8
22
  * the WorkspaceSandbox interface directly if they don't need logging.
9
23
  */
10
24
  import { MastraBase } from '../../base.js';
25
+ import type { IMastraLogger } from '../../logger/index.js';
26
+ import type { WorkspaceFilesystem } from '../filesystem/filesystem.js';
27
+ import type { MountResult } from '../filesystem/mount.js';
11
28
  import type { ProviderStatus } from '../lifecycle.js';
29
+ import { MountManager } from './mount-manager.js';
12
30
  import type { WorkspaceSandbox } from './sandbox.js';
31
+ /**
32
+ * Lifecycle hook that fires during sandbox state transitions.
33
+ * Receives the sandbox instance so users can call `executeCommand`, read files, etc.
34
+ */
35
+ export type SandboxLifecycleHook = (args: {
36
+ sandbox: WorkspaceSandbox;
37
+ }) => void | Promise<void>;
38
+ /**
39
+ * Options for the MastraSandbox base class constructor.
40
+ * Providers extend this to add their own options while inheriting lifecycle hooks.
41
+ */
42
+ export interface MastraSandboxOptions {
43
+ name: string;
44
+ /** Called after the sandbox reaches 'running' status */
45
+ onStart?: SandboxLifecycleHook;
46
+ /** Called before the sandbox stops */
47
+ onStop?: SandboxLifecycleHook;
48
+ /** Called before the sandbox is destroyed */
49
+ onDestroy?: SandboxLifecycleHook;
50
+ }
13
51
  /**
14
52
  * Abstract base class for sandbox providers with logger support.
15
53
  *
16
54
  * Providers that extend this class automatically receive the Mastra logger
17
- * when the sandbox is used with a Mastra instance.
55
+ * when the sandbox is used with a Mastra instance. MountManager is also
56
+ * automatically created if the subclass implements `mount()`.
18
57
  *
19
58
  * @example
20
59
  * ```typescript
21
60
  * class MyCustomSandbox extends MastraSandbox {
61
+ * declare readonly mounts: MountManager; // Non-optional type
22
62
  * readonly id = 'my-sandbox';
23
63
  * readonly name = 'MyCustomSandbox';
24
64
  * readonly provider = 'custom';
25
- * status: ProviderStatus = 'stopped';
65
+ * status: ProviderStatus = 'pending';
26
66
  *
27
67
  * constructor() {
28
68
  * super({ name: 'MyCustomSandbox' });
29
69
  * }
30
70
  *
71
+ * // Override start() to provide startup logic
72
+ * async start(): Promise<void> {
73
+ * // Your startup logic here
74
+ * }
75
+ *
76
+ * async mount(filesystem, mountPath) { ... }
77
+ * async unmount(mountPath) { ... }
31
78
  * async executeCommand(command: string, args?: string[]): Promise<CommandResult> {
32
79
  * this.logger.debug('Executing command', { command, args });
33
80
  * // Implementation...
34
81
  * }
35
- * // ... implement other WorkspaceSandbox methods
36
82
  * }
37
83
  * ```
38
84
  */
@@ -45,8 +91,109 @@ export declare abstract class MastraSandbox extends MastraBase implements Worksp
45
91
  abstract readonly provider: string;
46
92
  /** Current status of the sandbox */
47
93
  abstract status: ProviderStatus;
48
- constructor(options: {
49
- name: string;
50
- });
94
+ /** Mount manager - automatically created if subclass implements mount() */
95
+ readonly mounts?: MountManager;
96
+ /** Optional mount method - implement to enable mounting support */
97
+ mount?(filesystem: WorkspaceFilesystem, mountPath: string): Promise<MountResult>;
98
+ /** Promise for _start() to prevent race conditions from concurrent calls */
99
+ protected _startPromise?: Promise<void>;
100
+ /** Promise for _stop() to prevent race conditions from concurrent calls */
101
+ protected _stopPromise?: Promise<void>;
102
+ /** Promise for _destroy() to prevent race conditions from concurrent calls */
103
+ protected _destroyPromise?: Promise<void>;
104
+ /** Lifecycle callbacks */
105
+ private readonly _onStart?;
106
+ private readonly _onStop?;
107
+ private readonly _onDestroy?;
108
+ constructor(options: MastraSandboxOptions);
109
+ /**
110
+ * Start the sandbox (wrapper with status management and race-condition safety).
111
+ *
112
+ * This method is race-condition-safe - concurrent calls will return the same promise.
113
+ * Handles status management and automatically processes pending mounts after startup.
114
+ *
115
+ * Subclasses override `start()` to provide their startup logic.
116
+ */
117
+ _start(): Promise<void>;
118
+ /**
119
+ * Internal start execution - handles status and mount processing.
120
+ */
121
+ private _executeStart;
122
+ /**
123
+ * Override this method to implement sandbox startup logic.
124
+ *
125
+ * Called by `_start()` after status is set to 'starting'.
126
+ * Status will be set to 'running' on success, 'error' on failure.
127
+ *
128
+ * @example
129
+ * ```typescript
130
+ * async start(): Promise<void> {
131
+ * this._sandbox = await Sandbox.create({ ... });
132
+ * }
133
+ * ```
134
+ */
135
+ start(): Promise<void>;
136
+ /**
137
+ * Ensure the sandbox is running.
138
+ *
139
+ * Calls `_start()` if status is not 'running'. Useful for lazy initialization
140
+ * where operations should automatically start the sandbox if needed.
141
+ *
142
+ * @throws {SandboxNotReadyError} if the sandbox fails to reach 'running' status
143
+ *
144
+ * @example
145
+ * ```typescript
146
+ * async executeCommand(command: string): Promise<CommandResult> {
147
+ * await this.ensureRunning();
148
+ * // Now safe to use the sandbox
149
+ * }
150
+ * ```
151
+ */
152
+ protected ensureRunning(): Promise<void>;
153
+ /**
154
+ * Stop the sandbox (wrapper with status management and race-condition safety).
155
+ *
156
+ * This method is race-condition-safe - concurrent calls will return the same promise.
157
+ * Handles status management.
158
+ *
159
+ * Subclasses override `stop()` to provide their stop logic.
160
+ */
161
+ _stop(): Promise<void>;
162
+ /**
163
+ * Internal stop execution - handles status.
164
+ */
165
+ private _executeStop;
166
+ /**
167
+ * Override this method to implement sandbox stop logic.
168
+ *
169
+ * Called by `_stop()` after status is set to 'stopping'.
170
+ * Status will be set to 'stopped' on success, 'error' on failure.
171
+ */
172
+ stop(): Promise<void>;
173
+ /**
174
+ * Destroy the sandbox and clean up all resources (wrapper with status management).
175
+ *
176
+ * This method is race-condition-safe - concurrent calls will return the same promise.
177
+ * Handles status management.
178
+ *
179
+ * Subclasses override `destroy()` to provide their destroy logic.
180
+ */
181
+ _destroy(): Promise<void>;
182
+ /**
183
+ * Internal destroy execution - handles status.
184
+ */
185
+ private _executeDestroy;
186
+ /**
187
+ * Override this method to implement sandbox destroy logic.
188
+ *
189
+ * Called by `_destroy()` after status is set to 'destroying'.
190
+ * Status will be set to 'destroyed' on success, 'error' on failure.
191
+ */
192
+ destroy(): Promise<void>;
193
+ /**
194
+ * Override to propagate logger to MountManager.
195
+ * @internal
196
+ */
197
+ __setLogger(logger: IMastraLogger): void;
51
198
  }
52
199
  //# sourceMappingURL=mastra-sandbox.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mastra-sandbox.d.ts","sourceRoot":"","sources":["../../../src/workspace/sandbox/mastra-sandbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,8BAAsB,aAAc,SAAQ,UAAW,YAAW,gBAAgB;IAChF,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAE7B,0DAA0D;IAC1D,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAE/B,+BAA+B;IAC/B,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAEnC,oCAAoC;IACpC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;gBAEpB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;CAGtC"}
1
+ {"version":3,"file":"mastra-sandbox.d.ts","sourceRoot":"","sources":["../../../src/workspace/sandbox/mastra-sandbox.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,195 @@
1
+ /**
2
+ * Mount Manager
3
+ *
4
+ * Encapsulates all mount-related state and operations for sandboxes.
5
+ * Used by BaseSandbox to manage filesystem mounts.
6
+ */
7
+ import type { IMastraLogger } from '../../logger/index.js';
8
+ import type { WorkspaceFilesystem } from '../filesystem/filesystem.js';
9
+ import type { FilesystemMountConfig, MountResult } from '../filesystem/mount.js';
10
+ import type { Workspace } from '../workspace.js';
11
+ import type { WorkspaceSandbox } from './sandbox.js';
12
+ import type { MountEntry, MountState } from './types.js';
13
+ /**
14
+ * Mount function signature.
15
+ */
16
+ export type MountFn = (filesystem: WorkspaceFilesystem, mountPath: string) => Promise<MountResult>;
17
+ /**
18
+ * onMount hook result.
19
+ * - false: skip mount
20
+ * - { success, error? }: hook handled it
21
+ * - void: use default mount
22
+ */
23
+ export type OnMountResult = false | {
24
+ success: boolean;
25
+ error?: string;
26
+ } | void;
27
+ /**
28
+ * Arguments passed to the onMount hook.
29
+ */
30
+ export interface OnMountArgs {
31
+ /** The filesystem being mounted */
32
+ filesystem: WorkspaceFilesystem;
33
+ /** The mount path in the sandbox */
34
+ mountPath: string;
35
+ /** The mount configuration from filesystem.getMountConfig() (undefined if not supported) */
36
+ config: FilesystemMountConfig | undefined;
37
+ /** The sandbox instance for custom mount implementations */
38
+ sandbox: WorkspaceSandbox;
39
+ /** The workspace instance */
40
+ workspace: Workspace;
41
+ }
42
+ /**
43
+ * onMount hook function.
44
+ *
45
+ * Called for each filesystem before mounting into sandbox.
46
+ * Return value controls mounting behavior (see {@link OnMountResult}).
47
+ *
48
+ * @example Skip local filesystems
49
+ * ```typescript
50
+ * onMount: ({ filesystem }) => {
51
+ * if (filesystem.provider === 'local') return false;
52
+ * }
53
+ * ```
54
+ *
55
+ * @example Custom mount implementation
56
+ * ```typescript
57
+ * onMount: async ({ filesystem, mountPath, sandbox }) => {
58
+ * if (mountPath === '/custom') {
59
+ * await sandbox.executeCommand?.('my-mount-script', [mountPath]);
60
+ * return { success: true };
61
+ * }
62
+ * }
63
+ * ```
64
+ */
65
+ export type OnMountHook = (args: OnMountArgs) => Promise<OnMountResult> | OnMountResult;
66
+ /**
67
+ * MountManager configuration.
68
+ */
69
+ export interface MountManagerConfig {
70
+ /** The mount implementation from the sandbox */
71
+ mount: MountFn;
72
+ /** Logger instance */
73
+ logger: IMastraLogger;
74
+ }
75
+ /**
76
+ * Manages filesystem mounts for a sandbox.
77
+ *
78
+ * Provides methods for tracking mount state, updating entries,
79
+ * and processing pending mounts.
80
+ */
81
+ export declare class MountManager {
82
+ private _entries;
83
+ private _mountFn;
84
+ private _onMount?;
85
+ private _sandbox?;
86
+ private _workspace?;
87
+ private logger;
88
+ constructor(config: MountManagerConfig);
89
+ /**
90
+ * Set the sandbox and workspace references for onMount hook args.
91
+ * Called by Workspace during construction.
92
+ */
93
+ setContext(context: {
94
+ sandbox: WorkspaceSandbox;
95
+ workspace: Workspace;
96
+ }): void;
97
+ /**
98
+ * Set the onMount hook for custom mount handling.
99
+ * Called before each mount - can skip, handle, or defer to default.
100
+ */
101
+ setOnMount(hook: OnMountHook | undefined): void;
102
+ /**
103
+ * Update the logger instance.
104
+ * Called when the sandbox receives a logger from Mastra.
105
+ * @internal
106
+ */
107
+ __setLogger(logger: IMastraLogger): void;
108
+ /**
109
+ * Get all mount entries.
110
+ */
111
+ get entries(): ReadonlyMap<string, MountEntry>;
112
+ /**
113
+ * Get a mount entry by path.
114
+ */
115
+ get(path: string): MountEntry | undefined;
116
+ /**
117
+ * Check if a mount exists at the given path.
118
+ */
119
+ has(path: string): boolean;
120
+ /**
121
+ * Add pending mounts from workspace config.
122
+ * These will be processed when `processPending()` is called.
123
+ */
124
+ add(mounts: Record<string, WorkspaceFilesystem>): void;
125
+ /**
126
+ * Update a mount entry's state.
127
+ * Creates the entry if it doesn't exist.
128
+ */
129
+ set(path: string, updates: {
130
+ filesystem?: WorkspaceFilesystem;
131
+ state: MountState;
132
+ config?: FilesystemMountConfig;
133
+ error?: string;
134
+ }): void;
135
+ /**
136
+ * Delete a mount entry.
137
+ */
138
+ delete(path: string): boolean;
139
+ /**
140
+ * Clear all mount entries.
141
+ */
142
+ clear(): void;
143
+ /**
144
+ * Process all pending mounts.
145
+ * Call this after sandbox is ready (in start()).
146
+ */
147
+ processPending(): Promise<void>;
148
+ /**
149
+ * Generate a marker filename for a mount path.
150
+ * Used by sandboxes to store mount metadata for reconnection detection.
151
+ *
152
+ * @param mountPath - The mount path to generate a filename for
153
+ * @returns A safe filename like "mount-abc123"
154
+ */
155
+ markerFilename(mountPath: string): string;
156
+ /**
157
+ * Generate marker file content for a mount path.
158
+ * Format: "path|configHash" - used for detecting config changes on reconnect.
159
+ *
160
+ * @param mountPath - The mount path
161
+ * @returns Marker content string, or null if no config hash available
162
+ */
163
+ getMarkerContent(mountPath: string): string | null;
164
+ /**
165
+ * Parse marker file content.
166
+ *
167
+ * @param content - The marker file content (format: "path|configHash")
168
+ * @returns Parsed path and configHash, or null if invalid format
169
+ */
170
+ parseMarkerContent(content: string): {
171
+ path: string;
172
+ configHash: string;
173
+ } | null;
174
+ /**
175
+ * Check if a config hash matches the expected hash for a mount path.
176
+ *
177
+ * @param mountPath - The mount path to check
178
+ * @param storedHash - The hash from the marker file
179
+ * @returns true if the hashes match
180
+ */
181
+ isConfigMatching(mountPath: string, storedHash: string): boolean;
182
+ /**
183
+ * Compute a hash for a mount config. Used for comparing configs across mounts.
184
+ *
185
+ * @param config - The config to hash
186
+ * @returns A hash string suitable for comparison
187
+ */
188
+ computeConfigHash(config: FilesystemMountConfig): string;
189
+ /**
190
+ * Hash a mount config for comparison.
191
+ */
192
+ private hashConfig;
193
+ private sortKeysDeep;
194
+ }
195
+ //# sourceMappingURL=mount-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mount-manager.d.ts","sourceRoot":"","sources":["../../../src/workspace/sandbox/mount-manager.ts"],"names":[],"mappings":"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"}
@@ -23,41 +23,11 @@
23
23
  * });
24
24
  * ```
25
25
  */
26
- import type { Lifecycle, ProviderStatus } from '../lifecycle.js';
27
- export interface ExecutionResult {
28
- /** Whether execution completed successfully (exitCode === 0) */
29
- success: boolean;
30
- /** Exit code (0 = success) */
31
- exitCode: number;
32
- /** Standard output */
33
- stdout: string;
34
- /** Standard error */
35
- stderr: string;
36
- /** Execution time in milliseconds */
37
- executionTimeMs: number;
38
- /** Whether execution timed out */
39
- timedOut?: boolean;
40
- /** Whether execution was killed */
41
- killed?: boolean;
42
- }
43
- export interface CommandResult extends ExecutionResult {
44
- /** The command that was executed */
45
- command?: string;
46
- /** Arguments passed to the command */
47
- args?: string[];
48
- }
49
- export interface ExecuteCommandOptions {
50
- /** Timeout in milliseconds */
51
- timeout?: number;
52
- /** Environment variables */
53
- env?: NodeJS.ProcessEnv;
54
- /** Working directory */
55
- cwd?: string;
56
- /** Callback for stdout chunks (enables streaming) */
57
- onStdout?: (data: string) => void;
58
- /** Callback for stderr chunks (enables streaming) */
59
- onStderr?: (data: string) => void;
60
- }
26
+ import type { WorkspaceFilesystem } from '../filesystem/filesystem.js';
27
+ import type { MountResult } from '../filesystem/mount.js';
28
+ import type { Lifecycle } from '../lifecycle.js';
29
+ import type { MountManager } from './mount-manager.js';
30
+ import type { CommandResult, ExecuteCommandOptions, SandboxInfo } from './types.js';
61
31
  /**
62
32
  * Abstract sandbox interface for code and command execution.
63
33
  *
@@ -101,54 +71,37 @@ export interface WorkspaceSandbox extends Lifecycle<SandboxInfo> {
101
71
  * @throws {SandboxTimeoutError} if command times out
102
72
  */
103
73
  executeCommand?(command: string, args?: string[], options?: ExecuteCommandOptions): Promise<CommandResult>;
104
- }
105
- export interface SandboxInfo {
106
- id: string;
107
- name: string;
108
- provider: string;
109
- status: ProviderStatus;
110
- /** When the sandbox was created */
111
- createdAt: Date;
112
- /** When the sandbox was last used */
113
- lastUsedAt?: Date;
114
- /** Time until auto-shutdown (if applicable) */
115
- timeoutAt?: Date;
116
- /** Resource info (if available) */
117
- resources?: {
118
- memoryMB?: number;
119
- memoryUsedMB?: number;
120
- cpuCores?: number;
121
- cpuPercent?: number;
122
- diskMB?: number;
123
- diskUsedMB?: number;
124
- };
125
- /** Provider-specific metadata */
126
- metadata?: Record<string, unknown>;
127
- }
128
- export declare class SandboxError extends Error {
129
- readonly code: string;
130
- readonly details?: Record<string, unknown> | undefined;
131
- constructor(message: string, code: string, details?: Record<string, unknown> | undefined);
132
- }
133
- export declare class SandboxExecutionError extends SandboxError {
134
- readonly exitCode: number;
135
- readonly stdout: string;
136
- readonly stderr: string;
137
- constructor(message: string, exitCode: number, stdout: string, stderr: string);
138
- }
139
- /** Sandbox operation types for timeout errors */
140
- export type SandboxOperation = 'command' | 'sync' | 'install';
141
- export declare class SandboxTimeoutError extends SandboxError {
142
- readonly timeoutMs: number;
143
- readonly operation: SandboxOperation;
144
- constructor(timeoutMs: number, operation: SandboxOperation);
145
- }
146
- export declare class SandboxNotReadyError extends SandboxError {
147
- constructor(idOrStatus: string);
148
- }
149
- export declare class IsolationUnavailableError extends SandboxError {
150
- readonly backend: string;
151
- readonly reason: string;
152
- constructor(backend: string, reason: string);
74
+ /**
75
+ * Mount manager for tracking and processing filesystem mounts.
76
+ * Only available if the sandbox implements mount().
77
+ *
78
+ * @example
79
+ * ```typescript
80
+ * // Add pending mounts
81
+ * sandbox.mounts?.add({ '/data': s3fs });
82
+ *
83
+ * // Check mount entries
84
+ * const entries = sandbox.mounts?.entries;
85
+ * ```
86
+ */
87
+ readonly mounts?: MountManager;
88
+ /**
89
+ * Mount a filesystem at a path in the sandbox.
90
+ * Uses FUSE tools (s3fs, gcsfuse) to mount cloud storage.
91
+ *
92
+ * @param filesystem - The filesystem to mount
93
+ * @param mountPath - Path in the sandbox where filesystem should be mounted
94
+ * @returns Mount result with success status and mount path
95
+ * @throws {MountError} if mount fails
96
+ * @throws {MountNotSupportedError} if sandbox doesn't support mounting
97
+ * @throws {FilesystemNotMountableError} if filesystem cannot be mounted
98
+ */
99
+ mount?(filesystem: WorkspaceFilesystem, mountPath: string): Promise<MountResult>;
100
+ /**
101
+ * Unmount a filesystem from a path in the sandbox.
102
+ *
103
+ * @param mountPath - Path to unmount
104
+ */
105
+ unmount?(mountPath: string): Promise<void>;
153
106
  }
154
107
  //# sourceMappingURL=sandbox.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../../src/workspace/sandbox/sandbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAM9D,MAAM,WAAW,eAAe;IAC9B,gEAAgE;IAChE,OAAO,EAAE,OAAO,CAAC;IACjB,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC;IACxB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mCAAmC;IACnC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,aAAc,SAAQ,eAAe;IACpD,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAMD,MAAM,WAAW,qBAAqB;IACpC,8BAA8B;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,wBAAwB;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,qDAAqD;IACrD,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,gBAAiB,SAAQ,SAAS,CAAC,WAAW,CAAC;IAC9D,kDAAkD;IAClD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,+BAA+B;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAEnC;;;;;OAKG;IACH,eAAe,CAAC,IAAI,MAAM,CAAC;IAM3B;;;;;OAKG;IACH,cAAc,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CAC5G;AAMD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,cAAc,CAAC;IACvB,mCAAmC;IACnC,SAAS,EAAE,IAAI,CAAC;IAChB,qCAAqC;IACrC,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,mCAAmC;IACnC,SAAS,CAAC,EAAE;QACV,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAMD,qBAAa,YAAa,SAAQ,KAAK;aAGnB,IAAI,EAAE,MAAM;aACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAFjD,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;CAKpD;AAED,qBAAa,qBAAsB,SAAQ,YAAY;aAGnC,QAAQ,EAAE,MAAM;aAChB,MAAM,EAAE,MAAM;aACd,MAAM,EAAE,MAAM;gBAH9B,OAAO,EAAE,MAAM,EACC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM;CAKjC;AAED,iDAAiD;AACjD,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAE9D,qBAAa,mBAAoB,SAAQ,YAAY;aAEjC,SAAS,EAAE,MAAM;aACjB,SAAS,EAAE,gBAAgB;gBAD3B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,gBAAgB;CAK9C;AAED,qBAAa,oBAAqB,SAAQ,YAAY;gBACxC,UAAU,EAAE,MAAM;CAI/B;AAED,qBAAa,yBAA0B,SAAQ,YAAY;aAEvC,OAAO,EAAE,MAAM;aACf,MAAM,EAAE,MAAM;gBADd,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM;CAKjC"}
1
+ {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../../src/workspace/sandbox/sandbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAMjF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,gBAAiB,SAAQ,SAAS,CAAC,WAAW,CAAC;IAC9D,kDAAkD;IAClD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,+BAA+B;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAEnC;;;;;OAKG;IACH,eAAe,CAAC,IAAI,MAAM,CAAC;IAM3B;;;;;OAKG;IACH,cAAc,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAM3G;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAE/B;;;;;;;;;;OAUG;IACH,KAAK,CAAC,CAAC,UAAU,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEjF;;;;OAIG;IACH,OAAO,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Sandbox Types
3
+ *
4
+ * Type definitions for sandbox state, execution results, and configuration.
5
+ */
6
+ import type { WorkspaceFilesystem } from '../filesystem/filesystem.js';
7
+ import type { FilesystemMountConfig } from '../filesystem/mount.js';
8
+ import type { ProviderStatus } from '../lifecycle.js';
9
+ /**
10
+ * State of a mount in the sandbox.
11
+ */
12
+ export type MountState = 'pending' | 'mounting' | 'mounted' | 'error' | 'unsupported';
13
+ /**
14
+ * Entry representing a mount in the sandbox.
15
+ */
16
+ export interface MountEntry {
17
+ /** The filesystem to mount */
18
+ filesystem: WorkspaceFilesystem;
19
+ /** Current state of the mount */
20
+ state: MountState;
21
+ /** Error message if state is 'error' */
22
+ error?: string;
23
+ /** Resolved mount config from filesystem.getMountConfig() */
24
+ config?: FilesystemMountConfig;
25
+ /** Hash of config for quick comparison */
26
+ configHash?: string;
27
+ }
28
+ export interface ExecutionResult {
29
+ /** Whether execution completed successfully (exitCode === 0) */
30
+ success: boolean;
31
+ /** Exit code (0 = success) */
32
+ exitCode: number;
33
+ /** Standard output */
34
+ stdout: string;
35
+ /** Standard error */
36
+ stderr: string;
37
+ /** Execution time in milliseconds */
38
+ executionTimeMs: number;
39
+ /** Whether execution timed out */
40
+ timedOut?: boolean;
41
+ /** Whether execution was killed */
42
+ killed?: boolean;
43
+ }
44
+ export interface CommandResult extends ExecutionResult {
45
+ /** The command that was executed */
46
+ command?: string;
47
+ /** Arguments passed to the command */
48
+ args?: string[];
49
+ }
50
+ export interface ExecuteCommandOptions {
51
+ /** Timeout in milliseconds */
52
+ timeout?: number;
53
+ /** Environment variables */
54
+ env?: NodeJS.ProcessEnv;
55
+ /** Working directory */
56
+ cwd?: string;
57
+ /** Callback for stdout chunks (enables streaming) */
58
+ onStdout?: (data: string) => void;
59
+ /** Callback for stderr chunks (enables streaming) */
60
+ onStderr?: (data: string) => void;
61
+ }
62
+ export interface SandboxInfo {
63
+ id: string;
64
+ name: string;
65
+ provider: string;
66
+ status: ProviderStatus;
67
+ /** When the sandbox was created */
68
+ createdAt: Date;
69
+ /** When the sandbox was last used */
70
+ lastUsedAt?: Date;
71
+ /** Time until auto-shutdown (if applicable) */
72
+ timeoutAt?: Date;
73
+ /** Current mounts in the sandbox */
74
+ mounts?: Array<{
75
+ path: string;
76
+ filesystem: string;
77
+ }>;
78
+ /** Resource info (if available) */
79
+ resources?: {
80
+ memoryMB?: number;
81
+ memoryUsedMB?: number;
82
+ cpuCores?: number;
83
+ cpuPercent?: number;
84
+ diskMB?: number;
85
+ diskUsedMB?: number;
86
+ };
87
+ /** Provider-specific metadata */
88
+ metadata?: Record<string, unknown>;
89
+ }
90
+ /** Sandbox operation types for timeout errors */
91
+ export type SandboxOperation = 'command' | 'sync' | 'install';
92
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/workspace/sandbox/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAMnD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,aAAa,CAAC;AAEtF;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,8BAA8B;IAC9B,UAAU,EAAE,mBAAmB,CAAC;IAChC,iCAAiC;IACjC,KAAK,EAAE,UAAU,CAAC;IAClB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAMD,MAAM,WAAW,eAAe;IAC9B,gEAAgE;IAChE,OAAO,EAAE,OAAO,CAAC;IACjB,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC;IACxB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mCAAmC;IACnC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,aAAc,SAAQ,eAAe;IACpD,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAMD,MAAM,WAAW,qBAAqB;IACpC,8BAA8B;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,wBAAwB;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,qDAAqD;IACrD,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAMD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,cAAc,CAAC;IACvB,mCAAmC;IACnC,SAAS,EAAE,IAAI,CAAC;IAChB,qCAAqC;IACrC,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,oCAAoC;IACpC,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrD,mCAAmC;IACnC,SAAS,CAAC,EAAE;QACV,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAMD,iDAAiD;AACjD,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/workspace/tools/tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAYtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEpD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,oBAAoB,GAAG,SAAS,EAC7C,QAAQ,EAAE,iBAAiB,GAC1B;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,eAAe,EAAE,OAAO,CAAC;IAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAAE,CA+BlF;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,SAAS,uBAuoBxD"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/workspace/tools/tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAYtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEpD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,oBAAoB,GAAG,SAAS,EAC7C,QAAQ,EAAE,iBAAiB,GAC1B;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,eAAe,EAAE,OAAO,CAAC;IAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAAE,CA+BlF;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,SAAS,uBAooBxD"}
@@ -1 +1 @@
1
- {"version":3,"file":"tree-formatter.d.ts","sourceRoot":"","sources":["../../../src/workspace/tools/tree-formatter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAa,MAAM,eAAe,CAAC;AAMpE,MAAM,WAAW,WAAW;IAC1B,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mGAAmG;IACnG,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yFAAyF;IACzF,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU;IACzB,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,SAAS,EAAE,OAAO,CAAC;CACpB;AAeD;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAAC,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAiHpH;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAA;CAAE,CAAC,GAAG,MAAM,CAyDxG"}
1
+ {"version":3,"file":"tree-formatter.d.ts","sourceRoot":"","sources":["../../../src/workspace/tools/tree-formatter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAa,MAAM,eAAe,CAAC;AAMpE,MAAM,WAAW,WAAW;IAC1B,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mGAAmG;IACnG,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yFAAyF;IACzF,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU;IACzB,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,SAAS,EAAE,OAAO,CAAC;CACpB;AAeD;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAAC,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAqHpH;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAA;CAAE,CAAC,GAAG,MAAM,CAyDxG"}