experimental-ash 0.1.0-alpha.1

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 (764) hide show
  1. package/bin/ash.d.ts +59 -0
  2. package/bin/ash.js +124 -0
  3. package/dist/src/cli/commands/info.d.ts +9 -0
  4. package/dist/src/cli/commands/info.d.ts.map +1 -0
  5. package/dist/src/cli/commands/info.js +200 -0
  6. package/dist/src/cli/commands/info.js.map +1 -0
  7. package/dist/src/cli/dev/environment.d.ts +11 -0
  8. package/dist/src/cli/dev/environment.d.ts.map +1 -0
  9. package/dist/src/cli/dev/environment.js +31 -0
  10. package/dist/src/cli/dev/environment.js.map +1 -0
  11. package/dist/src/cli/dev/input.d.ts +20 -0
  12. package/dist/src/cli/dev/input.d.ts.map +1 -0
  13. package/dist/src/cli/dev/input.js +31 -0
  14. package/dist/src/cli/dev/input.js.map +1 -0
  15. package/dist/src/cli/dev/live-stream.d.ts +2 -0
  16. package/dist/src/cli/dev/live-stream.d.ts.map +1 -0
  17. package/dist/src/cli/dev/live-stream.js +2 -0
  18. package/dist/src/cli/dev/live-stream.js.map +1 -0
  19. package/dist/src/cli/dev/repl.d.ts +8 -0
  20. package/dist/src/cli/dev/repl.d.ts.map +1 -0
  21. package/dist/src/cli/dev/repl.js +327 -0
  22. package/dist/src/cli/dev/repl.js.map +1 -0
  23. package/dist/src/cli/dev/request-headers.d.ts +2 -0
  24. package/dist/src/cli/dev/request-headers.d.ts.map +1 -0
  25. package/dist/src/cli/dev/request-headers.js +2 -0
  26. package/dist/src/cli/dev/request-headers.js.map +1 -0
  27. package/dist/src/cli/dev/send-message.d.ts +2 -0
  28. package/dist/src/cli/dev/send-message.d.ts.map +1 -0
  29. package/dist/src/cli/dev/send-message.js +2 -0
  30. package/dist/src/cli/dev/send-message.js.map +1 -0
  31. package/dist/src/cli/dev/session.d.ts +2 -0
  32. package/dist/src/cli/dev/session.d.ts.map +1 -0
  33. package/dist/src/cli/dev/session.js +2 -0
  34. package/dist/src/cli/dev/session.js.map +1 -0
  35. package/dist/src/cli/dev/stream.d.ts +2 -0
  36. package/dist/src/cli/dev/stream.d.ts.map +1 -0
  37. package/dist/src/cli/dev/stream.js +2 -0
  38. package/dist/src/cli/dev/stream.js.map +1 -0
  39. package/dist/src/cli/dev/terminal.d.ts +20 -0
  40. package/dist/src/cli/dev/terminal.d.ts.map +1 -0
  41. package/dist/src/cli/dev/terminal.js +114 -0
  42. package/dist/src/cli/dev/terminal.js.map +1 -0
  43. package/dist/src/cli/dev/url.d.ts +6 -0
  44. package/dist/src/cli/dev/url.d.ts.map +1 -0
  45. package/dist/src/cli/dev/url.js +28 -0
  46. package/dist/src/cli/dev/url.js.map +1 -0
  47. package/dist/src/cli/run.d.ts +16 -0
  48. package/dist/src/cli/run.d.ts.map +1 -0
  49. package/dist/src/cli/run.js +209 -0
  50. package/dist/src/cli/run.js.map +1 -0
  51. package/dist/src/cli/ui/output.d.ts +62 -0
  52. package/dist/src/cli/ui/output.d.ts.map +1 -0
  53. package/dist/src/cli/ui/output.js +84 -0
  54. package/dist/src/cli/ui/output.js.map +1 -0
  55. package/dist/src/compiler/artifacts.d.ts +124 -0
  56. package/dist/src/compiler/artifacts.d.ts.map +1 -0
  57. package/dist/src/compiler/artifacts.js +180 -0
  58. package/dist/src/compiler/artifacts.js.map +1 -0
  59. package/dist/src/compiler/compile-agent.d.ts +40 -0
  60. package/dist/src/compiler/compile-agent.d.ts.map +1 -0
  61. package/dist/src/compiler/compile-agent.js +47 -0
  62. package/dist/src/compiler/compile-agent.js.map +1 -0
  63. package/dist/src/compiler/context.d.ts +85 -0
  64. package/dist/src/compiler/context.d.ts.map +1 -0
  65. package/dist/src/compiler/context.js +128 -0
  66. package/dist/src/compiler/context.js.map +1 -0
  67. package/dist/src/compiler/json-schema.d.ts +2 -0
  68. package/dist/src/compiler/json-schema.d.ts.map +1 -0
  69. package/dist/src/compiler/json-schema.js +2 -0
  70. package/dist/src/compiler/json-schema.js.map +1 -0
  71. package/dist/src/compiler/manifest.d.ts +196 -0
  72. package/dist/src/compiler/manifest.d.ts.map +1 -0
  73. package/dist/src/compiler/manifest.js +246 -0
  74. package/dist/src/compiler/manifest.js.map +1 -0
  75. package/dist/src/compiler/module-map.d.ts +37 -0
  76. package/dist/src/compiler/module-map.d.ts.map +1 -0
  77. package/dist/src/compiler/module-map.js +148 -0
  78. package/dist/src/compiler/module-map.js.map +1 -0
  79. package/dist/src/compiler/normalize-manifest.d.ts +20 -0
  80. package/dist/src/compiler/normalize-manifest.d.ts.map +1 -0
  81. package/dist/src/compiler/normalize-manifest.js +315 -0
  82. package/dist/src/compiler/normalize-manifest.js.map +1 -0
  83. package/dist/src/compiler/resource-files.d.ts +20 -0
  84. package/dist/src/compiler/resource-files.d.ts.map +1 -0
  85. package/dist/src/compiler/resource-files.js +29 -0
  86. package/dist/src/compiler/resource-files.js.map +1 -0
  87. package/dist/src/compiler/workspace.d.ts +58 -0
  88. package/dist/src/compiler/workspace.d.ts.map +1 -0
  89. package/dist/src/compiler/workspace.js +70 -0
  90. package/dist/src/compiler/workspace.js.map +1 -0
  91. package/dist/src/discover/context.d.ts +35 -0
  92. package/dist/src/discover/context.d.ts.map +1 -0
  93. package/dist/src/discover/context.js +88 -0
  94. package/dist/src/discover/context.js.map +1 -0
  95. package/dist/src/discover/diagnostics.d.ts +74 -0
  96. package/dist/src/discover/diagnostics.d.ts.map +1 -0
  97. package/dist/src/discover/diagnostics.js +98 -0
  98. package/dist/src/discover/diagnostics.js.map +1 -0
  99. package/dist/src/discover/discover-agent.d.ts +29 -0
  100. package/dist/src/discover/discover-agent.d.ts.map +1 -0
  101. package/dist/src/discover/discover-agent.js +175 -0
  102. package/dist/src/discover/discover-agent.js.map +1 -0
  103. package/dist/src/discover/discover-subagent.d.ts +31 -0
  104. package/dist/src/discover/discover-subagent.d.ts.map +1 -0
  105. package/dist/src/discover/discover-subagent.js +175 -0
  106. package/dist/src/discover/discover-subagent.js.map +1 -0
  107. package/dist/src/discover/discover-worker.d.ts +31 -0
  108. package/dist/src/discover/discover-worker.d.ts.map +1 -0
  109. package/dist/src/discover/discover-worker.js +376 -0
  110. package/dist/src/discover/discover-worker.js.map +1 -0
  111. package/dist/src/discover/filesystem.d.ts +108 -0
  112. package/dist/src/discover/filesystem.d.ts.map +1 -0
  113. package/dist/src/discover/filesystem.js +270 -0
  114. package/dist/src/discover/filesystem.js.map +1 -0
  115. package/dist/src/discover/grammar.d.ts +104 -0
  116. package/dist/src/discover/grammar.d.ts.map +1 -0
  117. package/dist/src/discover/grammar.js +261 -0
  118. package/dist/src/discover/grammar.js.map +1 -0
  119. package/dist/src/discover/lib.d.ts +35 -0
  120. package/dist/src/discover/lib.d.ts.map +1 -0
  121. package/dist/src/discover/lib.js +81 -0
  122. package/dist/src/discover/lib.js.map +1 -0
  123. package/dist/src/discover/manifest.d.ts +217 -0
  124. package/dist/src/discover/manifest.d.ts.map +1 -0
  125. package/dist/src/discover/manifest.js +155 -0
  126. package/dist/src/discover/manifest.js.map +1 -0
  127. package/dist/src/discover/markdown.d.ts +17 -0
  128. package/dist/src/discover/markdown.d.ts.map +1 -0
  129. package/dist/src/discover/markdown.js +19 -0
  130. package/dist/src/discover/markdown.js.map +1 -0
  131. package/dist/src/discover/project.d.ts +25 -0
  132. package/dist/src/discover/project.d.ts.map +1 -0
  133. package/dist/src/discover/project.js +115 -0
  134. package/dist/src/discover/project.js.map +1 -0
  135. package/dist/src/discover/resource-tree.d.ts +18 -0
  136. package/dist/src/discover/resource-tree.d.ts.map +1 -0
  137. package/dist/src/discover/resource-tree.js +43 -0
  138. package/dist/src/discover/resource-tree.js.map +1 -0
  139. package/dist/src/discover/skills.d.ts +32 -0
  140. package/dist/src/discover/skills.d.ts.map +1 -0
  141. package/dist/src/discover/skills.js +323 -0
  142. package/dist/src/discover/skills.js.map +1 -0
  143. package/dist/src/discover/slots.d.ts +30 -0
  144. package/dist/src/discover/slots.d.ts.map +1 -0
  145. package/dist/src/discover/slots.js +69 -0
  146. package/dist/src/discover/slots.js.map +1 -0
  147. package/dist/src/discover/workspace.d.ts +35 -0
  148. package/dist/src/discover/workspace.d.ts.map +1 -0
  149. package/dist/src/discover/workspace.js +61 -0
  150. package/dist/src/discover/workspace.js.map +1 -0
  151. package/dist/src/index.d.ts +2 -0
  152. package/dist/src/index.d.ts.map +1 -0
  153. package/dist/src/index.js +2 -0
  154. package/dist/src/index.js.map +1 -0
  155. package/dist/src/internal/application/compiled-artifacts.d.ts +23 -0
  156. package/dist/src/internal/application/compiled-artifacts.d.ts.map +1 -0
  157. package/dist/src/internal/application/compiled-artifacts.js +152 -0
  158. package/dist/src/internal/application/compiled-artifacts.js.map +1 -0
  159. package/dist/src/internal/application/package.d.ts +19 -0
  160. package/dist/src/internal/application/package.d.ts.map +1 -0
  161. package/dist/src/internal/application/package.js +110 -0
  162. package/dist/src/internal/application/package.js.map +1 -0
  163. package/dist/src/internal/application/paths.d.ts +33 -0
  164. package/dist/src/internal/application/paths.d.ts.map +1 -0
  165. package/dist/src/internal/application/paths.js +57 -0
  166. package/dist/src/internal/application/paths.js.map +1 -0
  167. package/dist/src/internal/authored-definition/core.d.ts +30 -0
  168. package/dist/src/internal/authored-definition/core.d.ts.map +1 -0
  169. package/dist/src/internal/authored-definition/core.js +105 -0
  170. package/dist/src/internal/authored-definition/core.js.map +1 -0
  171. package/dist/src/internal/authored-definition/sandbox.d.ts +10 -0
  172. package/dist/src/internal/authored-definition/sandbox.d.ts.map +1 -0
  173. package/dist/src/internal/authored-definition/sandbox.js +22 -0
  174. package/dist/src/internal/authored-definition/sandbox.js.map +1 -0
  175. package/dist/src/internal/authored-definition/schema-backed.d.ts +20 -0
  176. package/dist/src/internal/authored-definition/schema-backed.d.ts.map +1 -0
  177. package/dist/src/internal/authored-definition/schema-backed.js +41 -0
  178. package/dist/src/internal/authored-definition/schema-backed.js.map +1 -0
  179. package/dist/src/internal/authored-module.d.ts +42 -0
  180. package/dist/src/internal/authored-module.d.ts.map +1 -0
  181. package/dist/src/internal/authored-module.js +88 -0
  182. package/dist/src/internal/authored-module.js.map +1 -0
  183. package/dist/src/internal/json-schema.d.ts +6 -0
  184. package/dist/src/internal/json-schema.d.ts.map +1 -0
  185. package/dist/src/internal/json-schema.js +14 -0
  186. package/dist/src/internal/json-schema.js.map +1 -0
  187. package/dist/src/internal/logical-paths.d.ts +14 -0
  188. package/dist/src/internal/logical-paths.d.ts.map +1 -0
  189. package/dist/src/internal/logical-paths.js +26 -0
  190. package/dist/src/internal/logical-paths.js.map +1 -0
  191. package/dist/src/internal/message/builder.d.ts +28 -0
  192. package/dist/src/internal/message/builder.d.ts.map +1 -0
  193. package/dist/src/internal/message/builder.js +200 -0
  194. package/dist/src/internal/message/builder.js.map +1 -0
  195. package/dist/src/internal/message/handler.d.ts +9 -0
  196. package/dist/src/internal/message/handler.d.ts.map +1 -0
  197. package/dist/src/internal/message/handler.js +192 -0
  198. package/dist/src/internal/message/handler.js.map +1 -0
  199. package/dist/src/internal/message/health.d.ts +5 -0
  200. package/dist/src/internal/message/health.d.ts.map +1 -0
  201. package/dist/src/internal/message/health.js +13 -0
  202. package/dist/src/internal/message/health.js.map +1 -0
  203. package/dist/src/internal/message/nitro-route-shims.d.ts +6 -0
  204. package/dist/src/internal/message/nitro-route-shims.d.ts.map +1 -0
  205. package/dist/src/internal/message/nitro-route-shims.js +38 -0
  206. package/dist/src/internal/message/nitro-route-shims.js.map +1 -0
  207. package/dist/src/internal/message/reference.d.ts +24 -0
  208. package/dist/src/internal/message/reference.d.ts.map +1 -0
  209. package/dist/src/internal/message/reference.js +34 -0
  210. package/dist/src/internal/message/reference.js.map +1 -0
  211. package/dist/src/internal/message/rewrite-generated-imports.d.ts +15 -0
  212. package/dist/src/internal/message/rewrite-generated-imports.d.ts.map +1 -0
  213. package/dist/src/internal/message/rewrite-generated-imports.js +59 -0
  214. package/dist/src/internal/message/rewrite-generated-imports.js.map +1 -0
  215. package/dist/src/internal/message/routes.d.ts +2 -0
  216. package/dist/src/internal/message/routes.d.ts.map +1 -0
  217. package/dist/src/internal/message/routes.js +2 -0
  218. package/dist/src/internal/message/routes.js.map +1 -0
  219. package/dist/src/internal/message/vercel-workflow-output.d.ts +24 -0
  220. package/dist/src/internal/message/vercel-workflow-output.d.ts.map +1 -0
  221. package/dist/src/internal/message/vercel-workflow-output.js +82 -0
  222. package/dist/src/internal/message/vercel-workflow-output.js.map +1 -0
  223. package/dist/src/internal/message/workflow/action-step-types.d.ts +11 -0
  224. package/dist/src/internal/message/workflow/action-step-types.d.ts.map +1 -0
  225. package/dist/src/internal/message/workflow/action-step-types.js +2 -0
  226. package/dist/src/internal/message/workflow/action-step-types.js.map +1 -0
  227. package/dist/src/internal/message/workflow/action-steps.d.ts +28 -0
  228. package/dist/src/internal/message/workflow/action-steps.d.ts.map +1 -0
  229. package/dist/src/internal/message/workflow/action-steps.js +136 -0
  230. package/dist/src/internal/message/workflow/action-steps.js.map +1 -0
  231. package/dist/src/internal/message/workflow/handle-message.d.ts +14 -0
  232. package/dist/src/internal/message/workflow/handle-message.d.ts.map +1 -0
  233. package/dist/src/internal/message/workflow/handle-message.js +84 -0
  234. package/dist/src/internal/message/workflow/handle-message.js.map +1 -0
  235. package/dist/src/internal/message/workflow/handle-schedule.d.ts +23 -0
  236. package/dist/src/internal/message/workflow/handle-schedule.d.ts.map +1 -0
  237. package/dist/src/internal/message/workflow/handle-schedule.js +62 -0
  238. package/dist/src/internal/message/workflow/handle-schedule.js.map +1 -0
  239. package/dist/src/internal/message/workflow/handle-subagent.d.ts +7 -0
  240. package/dist/src/internal/message/workflow/handle-subagent.d.ts.map +1 -0
  241. package/dist/src/internal/message/workflow/handle-subagent.js +161 -0
  242. package/dist/src/internal/message/workflow/handle-subagent.js.map +1 -0
  243. package/dist/src/internal/message/workflow/session-callbacks.d.ts +11 -0
  244. package/dist/src/internal/message/workflow/session-callbacks.d.ts.map +1 -0
  245. package/dist/src/internal/message/workflow/session-callbacks.js +127 -0
  246. package/dist/src/internal/message/workflow/session-callbacks.js.map +1 -0
  247. package/dist/src/internal/message/workflow/session.d.ts +59 -0
  248. package/dist/src/internal/message/workflow/session.d.ts.map +1 -0
  249. package/dist/src/internal/message/workflow/session.js +40 -0
  250. package/dist/src/internal/message/workflow/session.js.map +1 -0
  251. package/dist/src/internal/message/workflow/step-diagnostics.d.ts +14 -0
  252. package/dist/src/internal/message/workflow/step-diagnostics.d.ts.map +1 -0
  253. package/dist/src/internal/message/workflow/step-diagnostics.js +79 -0
  254. package/dist/src/internal/message/workflow/step-diagnostics.js.map +1 -0
  255. package/dist/src/internal/message/workflow/steps.d.ts +7 -0
  256. package/dist/src/internal/message/workflow/steps.d.ts.map +1 -0
  257. package/dist/src/internal/message/workflow/steps.js +4 -0
  258. package/dist/src/internal/message/workflow/steps.js.map +1 -0
  259. package/dist/src/internal/message/workflow/stream-callbacks.d.ts +10 -0
  260. package/dist/src/internal/message/workflow/stream-callbacks.d.ts.map +1 -0
  261. package/dist/src/internal/message/workflow/stream-callbacks.js +58 -0
  262. package/dist/src/internal/message/workflow/stream-callbacks.js.map +1 -0
  263. package/dist/src/internal/message/workflow/stream-events.d.ts +97 -0
  264. package/dist/src/internal/message/workflow/stream-events.d.ts.map +1 -0
  265. package/dist/src/internal/message/workflow/stream-events.js +233 -0
  266. package/dist/src/internal/message/workflow/stream-events.js.map +1 -0
  267. package/dist/src/internal/message/workflow/stream.d.ts +2 -0
  268. package/dist/src/internal/message/workflow/stream.d.ts.map +1 -0
  269. package/dist/src/internal/message/workflow/stream.js +2 -0
  270. package/dist/src/internal/message/workflow/stream.js.map +1 -0
  271. package/dist/src/internal/message/workflow/subagent-steps.d.ts +43 -0
  272. package/dist/src/internal/message/workflow/subagent-steps.d.ts.map +1 -0
  273. package/dist/src/internal/message/workflow/subagent-steps.js +119 -0
  274. package/dist/src/internal/message/workflow/subagent-steps.js.map +1 -0
  275. package/dist/src/internal/message/workflow/subagent.d.ts +44 -0
  276. package/dist/src/internal/message/workflow/subagent.d.ts.map +1 -0
  277. package/dist/src/internal/message/workflow/subagent.js +2 -0
  278. package/dist/src/internal/message/workflow/subagent.js.map +1 -0
  279. package/dist/src/internal/message/workflow/turn-steps.d.ts +39 -0
  280. package/dist/src/internal/message/workflow/turn-steps.d.ts.map +1 -0
  281. package/dist/src/internal/message/workflow/turn-steps.js +134 -0
  282. package/dist/src/internal/message/workflow/turn-steps.js.map +1 -0
  283. package/dist/src/internal/message/workflow/workspace-merge.d.ts +9 -0
  284. package/dist/src/internal/message/workflow/workspace-merge.d.ts.map +1 -0
  285. package/dist/src/internal/message/workflow/workspace-merge.js +44 -0
  286. package/dist/src/internal/message/workflow/workspace-merge.js.map +1 -0
  287. package/dist/src/internal/message/workflow/workspace-step.d.ts +11 -0
  288. package/dist/src/internal/message/workflow/workspace-step.d.ts.map +1 -0
  289. package/dist/src/internal/message/workflow/workspace-step.js +13 -0
  290. package/dist/src/internal/message/workflow/workspace-step.js.map +1 -0
  291. package/dist/src/internal/nitro/host/build-application.d.ts +5 -0
  292. package/dist/src/internal/nitro/host/build-application.d.ts.map +1 -0
  293. package/dist/src/internal/nitro/host/build-application.js +67 -0
  294. package/dist/src/internal/nitro/host/build-application.js.map +1 -0
  295. package/dist/src/internal/nitro/host/configure-message-routes.d.ts +8 -0
  296. package/dist/src/internal/nitro/host/configure-message-routes.d.ts.map +1 -0
  297. package/dist/src/internal/nitro/host/configure-message-routes.js +75 -0
  298. package/dist/src/internal/nitro/host/configure-message-routes.js.map +1 -0
  299. package/dist/src/internal/nitro/host/create-application-nitro.d.ts +8 -0
  300. package/dist/src/internal/nitro/host/create-application-nitro.d.ts.map +1 -0
  301. package/dist/src/internal/nitro/host/create-application-nitro.js +81 -0
  302. package/dist/src/internal/nitro/host/create-application-nitro.js.map +1 -0
  303. package/dist/src/internal/nitro/host/prepare-application-host.d.ts +7 -0
  304. package/dist/src/internal/nitro/host/prepare-application-host.d.ts.map +1 -0
  305. package/dist/src/internal/nitro/host/prepare-application-host.js +33 -0
  306. package/dist/src/internal/nitro/host/prepare-application-host.js.map +1 -0
  307. package/dist/src/internal/nitro/host/prewarm-vercel-sandboxes.d.ts +33 -0
  308. package/dist/src/internal/nitro/host/prewarm-vercel-sandboxes.d.ts.map +1 -0
  309. package/dist/src/internal/nitro/host/prewarm-vercel-sandboxes.js +105 -0
  310. package/dist/src/internal/nitro/host/prewarm-vercel-sandboxes.js.map +1 -0
  311. package/dist/src/internal/nitro/host/start-development-server.d.ts +9 -0
  312. package/dist/src/internal/nitro/host/start-development-server.d.ts.map +1 -0
  313. package/dist/src/internal/nitro/host/start-development-server.js +32 -0
  314. package/dist/src/internal/nitro/host/start-development-server.js.map +1 -0
  315. package/dist/src/internal/nitro/host/types.d.ts +20 -0
  316. package/dist/src/internal/nitro/host/types.d.ts.map +1 -0
  317. package/dist/src/internal/nitro/host/types.js +2 -0
  318. package/dist/src/internal/nitro/host/types.js.map +1 -0
  319. package/dist/src/internal/nitro/host.d.ts +4 -0
  320. package/dist/src/internal/nitro/host.d.ts.map +1 -0
  321. package/dist/src/internal/nitro/host.js +3 -0
  322. package/dist/src/internal/nitro/host.js.map +1 -0
  323. package/dist/src/internal/nitro/routes/health.d.ts +9 -0
  324. package/dist/src/internal/nitro/routes/health.d.ts.map +1 -0
  325. package/dist/src/internal/nitro/routes/health.js +8 -0
  326. package/dist/src/internal/nitro/routes/health.js.map +1 -0
  327. package/dist/src/internal/nitro/routes/home-page/build-home-page-view-model.d.ts +11 -0
  328. package/dist/src/internal/nitro/routes/home-page/build-home-page-view-model.d.ts.map +1 -0
  329. package/dist/src/internal/nitro/routes/home-page/build-home-page-view-model.js +303 -0
  330. package/dist/src/internal/nitro/routes/home-page/build-home-page-view-model.js.map +1 -0
  331. package/dist/src/internal/nitro/routes/home-page/load-home-page-data.d.ts +27 -0
  332. package/dist/src/internal/nitro/routes/home-page/load-home-page-data.d.ts.map +1 -0
  333. package/dist/src/internal/nitro/routes/home-page/load-home-page-data.js +55 -0
  334. package/dist/src/internal/nitro/routes/home-page/load-home-page-data.js.map +1 -0
  335. package/dist/src/internal/nitro/routes/home-page/render-home-page.d.ts +9 -0
  336. package/dist/src/internal/nitro/routes/home-page/render-home-page.d.ts.map +1 -0
  337. package/dist/src/internal/nitro/routes/home-page/render-home-page.js +15 -0
  338. package/dist/src/internal/nitro/routes/home-page/render-home-page.js.map +1 -0
  339. package/dist/src/internal/nitro/routes/index.d.ts +12 -0
  340. package/dist/src/internal/nitro/routes/index.d.ts.map +1 -0
  341. package/dist/src/internal/nitro/routes/index.html +548 -0
  342. package/dist/src/internal/nitro/routes/index.js +45 -0
  343. package/dist/src/internal/nitro/routes/index.js.map +1 -0
  344. package/dist/src/internal/nitro/routes/message.d.ts +9 -0
  345. package/dist/src/internal/nitro/routes/message.d.ts.map +1 -0
  346. package/dist/src/internal/nitro/routes/message.js +8 -0
  347. package/dist/src/internal/nitro/routes/message.js.map +1 -0
  348. package/dist/src/internal/nitro/routes/run-stream.d.ts +14 -0
  349. package/dist/src/internal/nitro/routes/run-stream.d.ts.map +1 -0
  350. package/dist/src/internal/nitro/routes/run-stream.js +15 -0
  351. package/dist/src/internal/nitro/routes/run-stream.js.map +1 -0
  352. package/dist/src/internal/nitro/shims/schedule-task-handler.d.ts +16 -0
  353. package/dist/src/internal/nitro/shims/schedule-task-handler.d.ts.map +1 -0
  354. package/dist/src/internal/nitro/shims/schedule-task-handler.js +39 -0
  355. package/dist/src/internal/nitro/shims/schedule-task-handler.js.map +1 -0
  356. package/dist/src/internal/object.d.ts +18 -0
  357. package/dist/src/internal/object.d.ts.map +1 -0
  358. package/dist/src/internal/object.js +17 -0
  359. package/dist/src/internal/object.js.map +1 -0
  360. package/dist/src/internal/runtime-model.d.ts +6 -0
  361. package/dist/src/internal/runtime-model.d.ts.map +1 -0
  362. package/dist/src/internal/runtime-model.js +6 -0
  363. package/dist/src/internal/runtime-model.js.map +1 -0
  364. package/dist/src/internal/source-ref.d.ts +48 -0
  365. package/dist/src/internal/source-ref.d.ts.map +1 -0
  366. package/dist/src/internal/source-ref.js +2 -0
  367. package/dist/src/internal/source-ref.js.map +1 -0
  368. package/dist/src/protocol/message.d.ts +356 -0
  369. package/dist/src/protocol/message.d.ts.map +1 -0
  370. package/dist/src/protocol/message.js +233 -0
  371. package/dist/src/protocol/message.js.map +1 -0
  372. package/dist/src/protocol/routes.d.ts +22 -0
  373. package/dist/src/protocol/routes.d.ts.map +1 -0
  374. package/dist/src/protocol/routes.js +24 -0
  375. package/dist/src/protocol/routes.js.map +1 -0
  376. package/dist/src/public/agent.d.ts +2 -0
  377. package/dist/src/public/agent.d.ts.map +1 -0
  378. package/dist/src/public/agent.js +2 -0
  379. package/dist/src/public/agent.js.map +1 -0
  380. package/dist/src/public/definitions/agent.d.ts +18 -0
  381. package/dist/src/public/definitions/agent.d.ts.map +1 -0
  382. package/dist/src/public/definitions/agent.js +7 -0
  383. package/dist/src/public/definitions/agent.js.map +1 -0
  384. package/dist/src/public/definitions/context.d.ts +16 -0
  385. package/dist/src/public/definitions/context.d.ts.map +1 -0
  386. package/dist/src/public/definitions/context.js +8 -0
  387. package/dist/src/public/definitions/context.js.map +1 -0
  388. package/dist/src/public/definitions/memory.d.ts +20 -0
  389. package/dist/src/public/definitions/memory.d.ts.map +1 -0
  390. package/dist/src/public/definitions/memory.js +8 -0
  391. package/dist/src/public/definitions/memory.js.map +1 -0
  392. package/dist/src/public/definitions/sandbox.d.ts +33 -0
  393. package/dist/src/public/definitions/sandbox.d.ts.map +1 -0
  394. package/dist/src/public/definitions/sandbox.js +7 -0
  395. package/dist/src/public/definitions/sandbox.js.map +1 -0
  396. package/dist/src/public/definitions/schedule.d.ts +14 -0
  397. package/dist/src/public/definitions/schedule.d.ts.map +1 -0
  398. package/dist/src/public/definitions/schedule.js +8 -0
  399. package/dist/src/public/definitions/schedule.js.map +1 -0
  400. package/dist/src/public/definitions/skill.d.ts +18 -0
  401. package/dist/src/public/definitions/skill.d.ts.map +1 -0
  402. package/dist/src/public/definitions/skill.js +8 -0
  403. package/dist/src/public/definitions/skill.js.map +1 -0
  404. package/dist/src/public/definitions/soul.d.ts +20 -0
  405. package/dist/src/public/definitions/soul.d.ts.map +1 -0
  406. package/dist/src/public/definitions/soul.js +8 -0
  407. package/dist/src/public/definitions/soul.js.map +1 -0
  408. package/dist/src/public/definitions/source.d.ts +9 -0
  409. package/dist/src/public/definitions/source.d.ts.map +1 -0
  410. package/dist/src/public/definitions/source.js +2 -0
  411. package/dist/src/public/definitions/source.js.map +1 -0
  412. package/dist/src/public/definitions/standard-json-schema.d.ts +15 -0
  413. package/dist/src/public/definitions/standard-json-schema.d.ts.map +1 -0
  414. package/dist/src/public/definitions/standard-json-schema.js +2 -0
  415. package/dist/src/public/definitions/standard-json-schema.js.map +1 -0
  416. package/dist/src/public/definitions/standard-schema.d.ts +69 -0
  417. package/dist/src/public/definitions/standard-schema.d.ts.map +1 -0
  418. package/dist/src/public/definitions/standard-schema.js +197 -0
  419. package/dist/src/public/definitions/standard-schema.js.map +1 -0
  420. package/dist/src/public/definitions/subagent.d.ts +16 -0
  421. package/dist/src/public/definitions/subagent.d.ts.map +1 -0
  422. package/dist/src/public/definitions/subagent.js +7 -0
  423. package/dist/src/public/definitions/subagent.js.map +1 -0
  424. package/dist/src/public/definitions/system.d.ts +13 -0
  425. package/dist/src/public/definitions/system.d.ts.map +1 -0
  426. package/dist/src/public/definitions/system.js +8 -0
  427. package/dist/src/public/definitions/system.js.map +1 -0
  428. package/dist/src/public/definitions/tool.d.ts +21 -0
  429. package/dist/src/public/definitions/tool.d.ts.map +1 -0
  430. package/dist/src/public/definitions/tool.js +4 -0
  431. package/dist/src/public/definitions/tool.js.map +1 -0
  432. package/dist/src/public/definitions/worker.d.ts +171 -0
  433. package/dist/src/public/definitions/worker.d.ts.map +1 -0
  434. package/dist/src/public/definitions/worker.js +13 -0
  435. package/dist/src/public/definitions/worker.js.map +1 -0
  436. package/dist/src/public/helpers/markdown.d.ts +55 -0
  437. package/dist/src/public/helpers/markdown.d.ts.map +1 -0
  438. package/dist/src/public/helpers/markdown.js +193 -0
  439. package/dist/src/public/helpers/markdown.js.map +1 -0
  440. package/dist/src/public/index.d.ts +12 -0
  441. package/dist/src/public/index.d.ts.map +1 -0
  442. package/dist/src/public/index.js +11 -0
  443. package/dist/src/public/index.js.map +1 -0
  444. package/dist/src/runtime/actions/activate-skill.d.ts +19 -0
  445. package/dist/src/runtime/actions/activate-skill.d.ts.map +1 -0
  446. package/dist/src/runtime/actions/activate-skill.js +74 -0
  447. package/dist/src/runtime/actions/activate-skill.js.map +1 -0
  448. package/dist/src/runtime/actions/execute-action.d.ts +34 -0
  449. package/dist/src/runtime/actions/execute-action.d.ts.map +1 -0
  450. package/dist/src/runtime/actions/execute-action.js +42 -0
  451. package/dist/src/runtime/actions/execute-action.js.map +1 -0
  452. package/dist/src/runtime/actions/types.d.ts +251 -0
  453. package/dist/src/runtime/actions/types.d.ts.map +1 -0
  454. package/dist/src/runtime/actions/types.js +210 -0
  455. package/dist/src/runtime/actions/types.js.map +1 -0
  456. package/dist/src/runtime/agent/bootstrap-model.d.ts +8 -0
  457. package/dist/src/runtime/agent/bootstrap-model.d.ts.map +1 -0
  458. package/dist/src/runtime/agent/bootstrap-model.js +106 -0
  459. package/dist/src/runtime/agent/bootstrap-model.js.map +1 -0
  460. package/dist/src/runtime/agent/bootstrap.d.ts +71 -0
  461. package/dist/src/runtime/agent/bootstrap.d.ts.map +1 -0
  462. package/dist/src/runtime/agent/bootstrap.js +130 -0
  463. package/dist/src/runtime/agent/bootstrap.js.map +1 -0
  464. package/dist/src/runtime/agent/mock-model-adapter.d.ts +22 -0
  465. package/dist/src/runtime/agent/mock-model-adapter.d.ts.map +1 -0
  466. package/dist/src/runtime/agent/mock-model-adapter.js +403 -0
  467. package/dist/src/runtime/agent/mock-model-adapter.js.map +1 -0
  468. package/dist/src/runtime/agent/resolve-model.d.ts +12 -0
  469. package/dist/src/runtime/agent/resolve-model.d.ts.map +1 -0
  470. package/dist/src/runtime/agent/resolve-model.js +49 -0
  471. package/dist/src/runtime/agent/resolve-model.js.map +1 -0
  472. package/dist/src/runtime/compiled-artifacts-source.d.ts +35 -0
  473. package/dist/src/runtime/compiled-artifacts-source.d.ts.map +1 -0
  474. package/dist/src/runtime/compiled-artifacts-source.js +30 -0
  475. package/dist/src/runtime/compiled-artifacts-source.js.map +1 -0
  476. package/dist/src/runtime/graph.d.ts +34 -0
  477. package/dist/src/runtime/graph.d.ts.map +1 -0
  478. package/dist/src/runtime/graph.js +18 -0
  479. package/dist/src/runtime/graph.js.map +1 -0
  480. package/dist/src/runtime/harness/contracts.d.ts +173 -0
  481. package/dist/src/runtime/harness/contracts.d.ts.map +1 -0
  482. package/dist/src/runtime/harness/contracts.js +121 -0
  483. package/dist/src/runtime/harness/contracts.js.map +1 -0
  484. package/dist/src/runtime/harness/hosts/json-protocol.d.ts +50 -0
  485. package/dist/src/runtime/harness/hosts/json-protocol.d.ts.map +1 -0
  486. package/dist/src/runtime/harness/hosts/json-protocol.js +42 -0
  487. package/dist/src/runtime/harness/hosts/json-protocol.js.map +1 -0
  488. package/dist/src/runtime/harness/hosts/tool-loop.d.ts +8 -0
  489. package/dist/src/runtime/harness/hosts/tool-loop.d.ts.map +1 -0
  490. package/dist/src/runtime/harness/hosts/tool-loop.js +17 -0
  491. package/dist/src/runtime/harness/hosts/tool-loop.js.map +1 -0
  492. package/dist/src/runtime/harness/hosts/types.d.ts +14 -0
  493. package/dist/src/runtime/harness/hosts/types.d.ts.map +1 -0
  494. package/dist/src/runtime/harness/hosts/types.js +2 -0
  495. package/dist/src/runtime/harness/hosts/types.js.map +1 -0
  496. package/dist/src/runtime/harness/run-turn.d.ts +111 -0
  497. package/dist/src/runtime/harness/run-turn.d.ts.map +1 -0
  498. package/dist/src/runtime/harness/run-turn.js +92 -0
  499. package/dist/src/runtime/harness/run-turn.js.map +1 -0
  500. package/dist/src/runtime/harness/tool-loop/create-harness.d.ts +31 -0
  501. package/dist/src/runtime/harness/tool-loop/create-harness.d.ts.map +1 -0
  502. package/dist/src/runtime/harness/tool-loop/create-harness.js +276 -0
  503. package/dist/src/runtime/harness/tool-loop/create-harness.js.map +1 -0
  504. package/dist/src/runtime/harness/tool-loop/internal/action-results.d.ts +12 -0
  505. package/dist/src/runtime/harness/tool-loop/internal/action-results.d.ts.map +1 -0
  506. package/dist/src/runtime/harness/tool-loop/internal/action-results.js +68 -0
  507. package/dist/src/runtime/harness/tool-loop/internal/action-results.js.map +1 -0
  508. package/dist/src/runtime/harness/tool-loop/internal/generate-with-retries.d.ts +16 -0
  509. package/dist/src/runtime/harness/tool-loop/internal/generate-with-retries.d.ts.map +1 -0
  510. package/dist/src/runtime/harness/tool-loop/internal/generate-with-retries.js +115 -0
  511. package/dist/src/runtime/harness/tool-loop/internal/generate-with-retries.js.map +1 -0
  512. package/dist/src/runtime/harness/tool-loop/internal/model-messages.d.ts +5 -0
  513. package/dist/src/runtime/harness/tool-loop/internal/model-messages.d.ts.map +1 -0
  514. package/dist/src/runtime/harness/tool-loop/internal/model-messages.js +5 -0
  515. package/dist/src/runtime/harness/tool-loop/internal/model-messages.js.map +1 -0
  516. package/dist/src/runtime/harness/tool-loop/internal/provider-messages.d.ts +13 -0
  517. package/dist/src/runtime/harness/tool-loop/internal/provider-messages.d.ts.map +1 -0
  518. package/dist/src/runtime/harness/tool-loop/internal/provider-messages.js +190 -0
  519. package/dist/src/runtime/harness/tool-loop/internal/provider-messages.js.map +1 -0
  520. package/dist/src/runtime/harness/tool-loop/internal/runtime-bash-files.d.ts +19 -0
  521. package/dist/src/runtime/harness/tool-loop/internal/runtime-bash-files.d.ts.map +1 -0
  522. package/dist/src/runtime/harness/tool-loop/internal/runtime-bash-files.js +117 -0
  523. package/dist/src/runtime/harness/tool-loop/internal/runtime-bash-files.js.map +1 -0
  524. package/dist/src/runtime/harness/tool-loop/internal/runtime-history.d.ts +12 -0
  525. package/dist/src/runtime/harness/tool-loop/internal/runtime-history.d.ts.map +1 -0
  526. package/dist/src/runtime/harness/tool-loop/internal/runtime-history.js +58 -0
  527. package/dist/src/runtime/harness/tool-loop/internal/runtime-history.js.map +1 -0
  528. package/dist/src/runtime/harness/tool-loop/internal/runtime-skills.d.ts +23 -0
  529. package/dist/src/runtime/harness/tool-loop/internal/runtime-skills.d.ts.map +1 -0
  530. package/dist/src/runtime/harness/tool-loop/internal/runtime-skills.js +67 -0
  531. package/dist/src/runtime/harness/tool-loop/internal/runtime-skills.js.map +1 -0
  532. package/dist/src/runtime/harness/tool-loop/internal/runtime-tools.d.ts +31 -0
  533. package/dist/src/runtime/harness/tool-loop/internal/runtime-tools.d.ts.map +1 -0
  534. package/dist/src/runtime/harness/tool-loop/internal/runtime-tools.js +86 -0
  535. package/dist/src/runtime/harness/tool-loop/internal/runtime-tools.js.map +1 -0
  536. package/dist/src/runtime/harness/tool-loop/internal/state.d.ts +47 -0
  537. package/dist/src/runtime/harness/tool-loop/internal/state.d.ts.map +1 -0
  538. package/dist/src/runtime/harness/tool-loop/internal/state.js +71 -0
  539. package/dist/src/runtime/harness/tool-loop/internal/state.js.map +1 -0
  540. package/dist/src/runtime/harness/tool-loop/internal/stream-result.d.ts +36 -0
  541. package/dist/src/runtime/harness/tool-loop/internal/stream-result.d.ts.map +1 -0
  542. package/dist/src/runtime/harness/tool-loop/internal/stream-result.js +70 -0
  543. package/dist/src/runtime/harness/tool-loop/internal/stream-result.js.map +1 -0
  544. package/dist/src/runtime/harness/tool-loop/internal/transcript.d.ts +94 -0
  545. package/dist/src/runtime/harness/tool-loop/internal/transcript.d.ts.map +1 -0
  546. package/dist/src/runtime/harness/tool-loop/internal/transcript.js +107 -0
  547. package/dist/src/runtime/harness/tool-loop/internal/transcript.js.map +1 -0
  548. package/dist/src/runtime/harness/types.d.ts +36 -0
  549. package/dist/src/runtime/harness/types.d.ts.map +1 -0
  550. package/dist/src/runtime/harness/types.js +2 -0
  551. package/dist/src/runtime/harness/types.js.map +1 -0
  552. package/dist/src/runtime/harness/workspace/ensure.d.ts +33 -0
  553. package/dist/src/runtime/harness/workspace/ensure.d.ts.map +1 -0
  554. package/dist/src/runtime/harness/workspace/ensure.js +280 -0
  555. package/dist/src/runtime/harness/workspace/ensure.js.map +1 -0
  556. package/dist/src/runtime/harness/workspace/project-workspace-overlay.d.ts +19 -0
  557. package/dist/src/runtime/harness/workspace/project-workspace-overlay.d.ts.map +1 -0
  558. package/dist/src/runtime/harness/workspace/project-workspace-overlay.js +219 -0
  559. package/dist/src/runtime/harness/workspace/project-workspace-overlay.js.map +1 -0
  560. package/dist/src/runtime/harness/workspace/spec.d.ts +59 -0
  561. package/dist/src/runtime/harness/workspace/spec.d.ts.map +1 -0
  562. package/dist/src/runtime/harness/workspace/spec.js +133 -0
  563. package/dist/src/runtime/harness/workspace/spec.js.map +1 -0
  564. package/dist/src/runtime/harness/workspace/state.d.ts +27 -0
  565. package/dist/src/runtime/harness/workspace/state.d.ts.map +1 -0
  566. package/dist/src/runtime/harness/workspace/state.js +144 -0
  567. package/dist/src/runtime/harness/workspace/state.js.map +1 -0
  568. package/dist/src/runtime/harness/workspace/types.d.ts +134 -0
  569. package/dist/src/runtime/harness/workspace/types.d.ts.map +1 -0
  570. package/dist/src/runtime/harness/workspace/types.js +19 -0
  571. package/dist/src/runtime/harness/workspace/types.js.map +1 -0
  572. package/dist/src/runtime/json.d.ts +36 -0
  573. package/dist/src/runtime/json.d.ts.map +1 -0
  574. package/dist/src/runtime/json.js +55 -0
  575. package/dist/src/runtime/json.js.map +1 -0
  576. package/dist/src/runtime/loaders/bundled-artifacts.d.ts +35 -0
  577. package/dist/src/runtime/loaders/bundled-artifacts.d.ts.map +1 -0
  578. package/dist/src/runtime/loaders/bundled-artifacts.js +20 -0
  579. package/dist/src/runtime/loaders/bundled-artifacts.js.map +1 -0
  580. package/dist/src/runtime/loaders/compile-metadata.d.ts +22 -0
  581. package/dist/src/runtime/loaders/compile-metadata.d.ts.map +1 -0
  582. package/dist/src/runtime/loaders/compile-metadata.js +94 -0
  583. package/dist/src/runtime/loaders/compile-metadata.js.map +1 -0
  584. package/dist/src/runtime/loaders/context.d.ts +36 -0
  585. package/dist/src/runtime/loaders/context.d.ts.map +1 -0
  586. package/dist/src/runtime/loaders/context.js +116 -0
  587. package/dist/src/runtime/loaders/context.js.map +1 -0
  588. package/dist/src/runtime/loaders/manifest.d.ts +22 -0
  589. package/dist/src/runtime/loaders/manifest.d.ts.map +1 -0
  590. package/dist/src/runtime/loaders/manifest.js +57 -0
  591. package/dist/src/runtime/loaders/manifest.js.map +1 -0
  592. package/dist/src/runtime/loaders/module-map.d.ts +22 -0
  593. package/dist/src/runtime/loaders/module-map.d.ts.map +1 -0
  594. package/dist/src/runtime/loaders/module-map.js +56 -0
  595. package/dist/src/runtime/loaders/module-map.js.map +1 -0
  596. package/dist/src/runtime/loaders/resolved-agent.d.ts +28 -0
  597. package/dist/src/runtime/loaders/resolved-agent.d.ts.map +1 -0
  598. package/dist/src/runtime/loaders/resolved-agent.js +39 -0
  599. package/dist/src/runtime/loaders/resolved-agent.js.map +1 -0
  600. package/dist/src/runtime/loaders/workspace.d.ts +37 -0
  601. package/dist/src/runtime/loaders/workspace.d.ts.map +1 -0
  602. package/dist/src/runtime/loaders/workspace.js +104 -0
  603. package/dist/src/runtime/loaders/workspace.js.map +1 -0
  604. package/dist/src/runtime/prompt/compose.d.ts +17 -0
  605. package/dist/src/runtime/prompt/compose.d.ts.map +1 -0
  606. package/dist/src/runtime/prompt/compose.js +42 -0
  607. package/dist/src/runtime/prompt/compose.js.map +1 -0
  608. package/dist/src/runtime/resolve-agent-graph.d.ts +34 -0
  609. package/dist/src/runtime/resolve-agent-graph.d.ts.map +1 -0
  610. package/dist/src/runtime/resolve-agent-graph.js +181 -0
  611. package/dist/src/runtime/resolve-agent-graph.js.map +1 -0
  612. package/dist/src/runtime/resolve-agent.d.ts +30 -0
  613. package/dist/src/runtime/resolve-agent.d.ts.map +1 -0
  614. package/dist/src/runtime/resolve-agent.js +169 -0
  615. package/dist/src/runtime/resolve-agent.js.map +1 -0
  616. package/dist/src/runtime/sandboxes/bindings/local.d.ts +8 -0
  617. package/dist/src/runtime/sandboxes/bindings/local.d.ts.map +1 -0
  618. package/dist/src/runtime/sandboxes/bindings/local.js +209 -0
  619. package/dist/src/runtime/sandboxes/bindings/local.js.map +1 -0
  620. package/dist/src/runtime/sandboxes/bindings/vercel.d.ts +11 -0
  621. package/dist/src/runtime/sandboxes/bindings/vercel.d.ts.map +1 -0
  622. package/dist/src/runtime/sandboxes/bindings/vercel.js +147 -0
  623. package/dist/src/runtime/sandboxes/bindings/vercel.js.map +1 -0
  624. package/dist/src/runtime/sandboxes/ensure.d.ts +36 -0
  625. package/dist/src/runtime/sandboxes/ensure.d.ts.map +1 -0
  626. package/dist/src/runtime/sandboxes/ensure.js +288 -0
  627. package/dist/src/runtime/sandboxes/ensure.js.map +1 -0
  628. package/dist/src/runtime/sandboxes/keys.d.ts +30 -0
  629. package/dist/src/runtime/sandboxes/keys.d.ts.map +1 -0
  630. package/dist/src/runtime/sandboxes/keys.js +61 -0
  631. package/dist/src/runtime/sandboxes/keys.js.map +1 -0
  632. package/dist/src/runtime/sandboxes/registry.d.ts +44 -0
  633. package/dist/src/runtime/sandboxes/registry.d.ts.map +1 -0
  634. package/dist/src/runtime/sandboxes/registry.js +87 -0
  635. package/dist/src/runtime/sandboxes/registry.js.map +1 -0
  636. package/dist/src/runtime/sandboxes/tool-name.d.ts +6 -0
  637. package/dist/src/runtime/sandboxes/tool-name.d.ts.map +1 -0
  638. package/dist/src/runtime/sandboxes/tool-name.js +15 -0
  639. package/dist/src/runtime/sandboxes/tool-name.js.map +1 -0
  640. package/dist/src/runtime/sandboxes/types.d.ts +136 -0
  641. package/dist/src/runtime/sandboxes/types.d.ts.map +1 -0
  642. package/dist/src/runtime/sandboxes/types.js +2 -0
  643. package/dist/src/runtime/sandboxes/types.js.map +1 -0
  644. package/dist/src/runtime/schedules/register.d.ts +45 -0
  645. package/dist/src/runtime/schedules/register.d.ts.map +1 -0
  646. package/dist/src/runtime/schedules/register.js +94 -0
  647. package/dist/src/runtime/schedules/register.js.map +1 -0
  648. package/dist/src/runtime/schedules/resolve-schedule.d.ts +41 -0
  649. package/dist/src/runtime/schedules/resolve-schedule.d.ts.map +1 -0
  650. package/dist/src/runtime/schedules/resolve-schedule.js +61 -0
  651. package/dist/src/runtime/schedules/resolve-schedule.js.map +1 -0
  652. package/dist/src/runtime/session-context.d.ts +40 -0
  653. package/dist/src/runtime/session-context.d.ts.map +1 -0
  654. package/dist/src/runtime/session-context.js +55 -0
  655. package/dist/src/runtime/session-context.js.map +1 -0
  656. package/dist/src/runtime/sessions/compiled-agent-cache.d.ts +25 -0
  657. package/dist/src/runtime/sessions/compiled-agent-cache.d.ts.map +1 -0
  658. package/dist/src/runtime/sessions/compiled-agent-cache.js +48 -0
  659. package/dist/src/runtime/sessions/compiled-agent-cache.js.map +1 -0
  660. package/dist/src/runtime/sessions/messages.d.ts +90 -0
  661. package/dist/src/runtime/sessions/messages.d.ts.map +1 -0
  662. package/dist/src/runtime/sessions/messages.js +91 -0
  663. package/dist/src/runtime/sessions/messages.js.map +1 -0
  664. package/dist/src/runtime/sessions/prepare-turn.d.ts +60 -0
  665. package/dist/src/runtime/sessions/prepare-turn.d.ts.map +1 -0
  666. package/dist/src/runtime/sessions/prepare-turn.js +85 -0
  667. package/dist/src/runtime/sessions/prepare-turn.js.map +1 -0
  668. package/dist/src/runtime/sessions/run-session.d.ts +191 -0
  669. package/dist/src/runtime/sessions/run-session.d.ts.map +1 -0
  670. package/dist/src/runtime/sessions/run-session.js +297 -0
  671. package/dist/src/runtime/sessions/run-session.js.map +1 -0
  672. package/dist/src/runtime/sessions/turn.d.ts +94 -0
  673. package/dist/src/runtime/sessions/turn.d.ts.map +1 -0
  674. package/dist/src/runtime/sessions/turn.js +2 -0
  675. package/dist/src/runtime/sessions/turn.js.map +1 -0
  676. package/dist/src/runtime/sessions/types.d.ts +72 -0
  677. package/dist/src/runtime/sessions/types.d.ts.map +1 -0
  678. package/dist/src/runtime/sessions/types.js +28 -0
  679. package/dist/src/runtime/sessions/types.js.map +1 -0
  680. package/dist/src/runtime/skills/fragment-context.d.ts +26 -0
  681. package/dist/src/runtime/skills/fragment-context.d.ts.map +1 -0
  682. package/dist/src/runtime/skills/fragment-context.js +94 -0
  683. package/dist/src/runtime/skills/fragment-context.js.map +1 -0
  684. package/dist/src/runtime/skills/load-skill-content.d.ts +15 -0
  685. package/dist/src/runtime/skills/load-skill-content.d.ts.map +1 -0
  686. package/dist/src/runtime/skills/load-skill-content.js +29 -0
  687. package/dist/src/runtime/skills/load-skill-content.js.map +1 -0
  688. package/dist/src/runtime/skills/load-skills.d.ts +22 -0
  689. package/dist/src/runtime/skills/load-skills.d.ts.map +1 -0
  690. package/dist/src/runtime/skills/load-skills.js +47 -0
  691. package/dist/src/runtime/skills/load-skills.js.map +1 -0
  692. package/dist/src/runtime/skills/types.d.ts +8 -0
  693. package/dist/src/runtime/skills/types.d.ts.map +1 -0
  694. package/dist/src/runtime/skills/types.js +2 -0
  695. package/dist/src/runtime/skills/types.js.map +1 -0
  696. package/dist/src/runtime/subagents/definitions.d.ts +11 -0
  697. package/dist/src/runtime/subagents/definitions.d.ts.map +1 -0
  698. package/dist/src/runtime/subagents/definitions.js +15 -0
  699. package/dist/src/runtime/subagents/definitions.js.map +1 -0
  700. package/dist/src/runtime/subagents/execute-subagent.d.ts +23 -0
  701. package/dist/src/runtime/subagents/execute-subagent.d.ts.map +1 -0
  702. package/dist/src/runtime/subagents/execute-subagent.js +26 -0
  703. package/dist/src/runtime/subagents/execute-subagent.js.map +1 -0
  704. package/dist/src/runtime/subagents/invocation.d.ts +11 -0
  705. package/dist/src/runtime/subagents/invocation.d.ts.map +1 -0
  706. package/dist/src/runtime/subagents/invocation.js +16 -0
  707. package/dist/src/runtime/subagents/invocation.js.map +1 -0
  708. package/dist/src/runtime/subagents/registry.d.ts +44 -0
  709. package/dist/src/runtime/subagents/registry.d.ts.map +1 -0
  710. package/dist/src/runtime/subagents/registry.js +107 -0
  711. package/dist/src/runtime/subagents/registry.js.map +1 -0
  712. package/dist/src/runtime/tools/execute-tool.d.ts +28 -0
  713. package/dist/src/runtime/tools/execute-tool.d.ts.map +1 -0
  714. package/dist/src/runtime/tools/execute-tool.js +75 -0
  715. package/dist/src/runtime/tools/execute-tool.js.map +1 -0
  716. package/dist/src/runtime/tools/registry.d.ts +42 -0
  717. package/dist/src/runtime/tools/registry.d.ts.map +1 -0
  718. package/dist/src/runtime/tools/registry.js +79 -0
  719. package/dist/src/runtime/tools/registry.js.map +1 -0
  720. package/dist/src/runtime/types.d.ts +160 -0
  721. package/dist/src/runtime/types.d.ts.map +1 -0
  722. package/dist/src/runtime/types.js +2 -0
  723. package/dist/src/runtime/types.js.map +1 -0
  724. package/dist/src/runtime/validation.d.ts +6 -0
  725. package/dist/src/runtime/validation.d.ts.map +1 -0
  726. package/dist/src/runtime/validation.js +8 -0
  727. package/dist/src/runtime/validation.js.map +1 -0
  728. package/dist/src/services/dev-client/live-stream.d.ts +36 -0
  729. package/dist/src/services/dev-client/live-stream.d.ts.map +1 -0
  730. package/dist/src/services/dev-client/live-stream.js +158 -0
  731. package/dist/src/services/dev-client/live-stream.js.map +1 -0
  732. package/dist/src/services/dev-client/request-headers.d.ts +15 -0
  733. package/dist/src/services/dev-client/request-headers.d.ts.map +1 -0
  734. package/dist/src/services/dev-client/request-headers.js +23 -0
  735. package/dist/src/services/dev-client/request-headers.js.map +1 -0
  736. package/dist/src/services/dev-client/send-message.d.ts +20 -0
  737. package/dist/src/services/dev-client/send-message.d.ts.map +1 -0
  738. package/dist/src/services/dev-client/send-message.js +260 -0
  739. package/dist/src/services/dev-client/send-message.js.map +1 -0
  740. package/dist/src/services/dev-client/session.d.ts +54 -0
  741. package/dist/src/services/dev-client/session.d.ts.map +1 -0
  742. package/dist/src/services/dev-client/session.js +71 -0
  743. package/dist/src/services/dev-client/session.js.map +1 -0
  744. package/dist/src/services/dev-client/stream.d.ts +25 -0
  745. package/dist/src/services/dev-client/stream.d.ts.map +1 -0
  746. package/dist/src/services/dev-client/stream.js +42 -0
  747. package/dist/src/services/dev-client/stream.js.map +1 -0
  748. package/dist/src/services/dev-client/url.d.ts +16 -0
  749. package/dist/src/services/dev-client/url.d.ts.map +1 -0
  750. package/dist/src/services/dev-client/url.js +32 -0
  751. package/dist/src/services/dev-client/url.js.map +1 -0
  752. package/dist/src/services/dev-client.d.ts +49 -0
  753. package/dist/src/services/dev-client.d.ts.map +1 -0
  754. package/dist/src/services/dev-client.js +52 -0
  755. package/dist/src/services/dev-client.js.map +1 -0
  756. package/dist/src/services/host.d.ts +14 -0
  757. package/dist/src/services/host.d.ts.map +1 -0
  758. package/dist/src/services/host.js +14 -0
  759. package/dist/src/services/host.js.map +1 -0
  760. package/dist/src/services/inspect-application.d.ts +25 -0
  761. package/dist/src/services/inspect-application.d.ts.map +1 -0
  762. package/dist/src/services/inspect-application.js +39 -0
  763. package/dist/src/services/inspect-application.js.map +1 -0
  764. package/package.json +58 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transcript.js","sourceRoot":"","sources":["../../../../../../src/runtime/harness/tool-loop/internal/transcript.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import type { RuntimeToolCallActionRequest, RuntimeToolResultActionResult } from "../actions/types.js";
2
+ import type { JsonObject } from "../json.js";
3
+ /**
4
+ * Serializable assistant output emitted by one harness turn.
5
+ */
6
+ export interface HarnessAssistantOutput {
7
+ readonly role: "assistant";
8
+ readonly text: string;
9
+ }
10
+ /**
11
+ * Serializable token accounting reported by a harness turn.
12
+ */
13
+ export interface HarnessTokenUsage {
14
+ readonly inputTokens?: number;
15
+ readonly outputTokens?: number;
16
+ readonly totalTokens?: number;
17
+ }
18
+ /**
19
+ * Serializable authored tool-call action requested by the harness while running
20
+ * a turn.
21
+ */
22
+ export type HarnessToolCall = RuntimeToolCallActionRequest;
23
+ /**
24
+ * Serializable authored tool-result action returned to the harness when
25
+ * resuming a paused turn.
26
+ */
27
+ export type HarnessToolResult = RuntimeToolResultActionResult;
28
+ /**
29
+ * Serializable harness session checkpoint persisted between step invocations.
30
+ */
31
+ export type HarnessSessionState = JsonObject;
32
+ /**
33
+ * Serializable harness continuation checkpoint persisted while waiting on runtime action results.
34
+ */
35
+ export type HarnessContinuationState = JsonObject;
36
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/runtime/harness/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,4BAA4B,EAC5B,6BAA6B,EAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,4BAA4B,CAAC;AAE3D;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,6BAA6B,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC;AAE7C;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/runtime/harness/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,33 @@
1
+ import { type HarnessWorkspaceSpec, type HarnessWorkspaceState, type ManagedHarnessWorkspace } from "./types.js";
2
+ /**
3
+ * Maximum number of live harness workspaces retained in-process before the
4
+ * oldest cached entry is evicted.
5
+ */
6
+ export declare const MAX_HARNESS_WORKSPACE_CACHE_SIZE = 16;
7
+ /**
8
+ * Creates or reattaches the live runtime-owned harness workspace for one
9
+ * workflow run.
10
+ */
11
+ export declare function ensureHarnessWorkspace(input: {
12
+ readonly runId: string;
13
+ readonly spec: HarnessWorkspaceSpec;
14
+ readonly state: HarnessWorkspaceState | null;
15
+ }): Promise<ManagedHarnessWorkspace>;
16
+ /**
17
+ * Releases one cached harness workspace using the most specific identifier
18
+ * available for the current run state.
19
+ */
20
+ export declare function disposeHarnessWorkspace(input: {
21
+ readonly runId?: string;
22
+ readonly state?: HarnessWorkspaceState | null;
23
+ readonly workspaceId?: string;
24
+ }): Promise<void>;
25
+ /**
26
+ * Clears every cached live harness workspace.
27
+ */
28
+ export declare function clearHarnessWorkspaceCache(): void;
29
+ /**
30
+ * Returns the number of live harness workspaces currently retained in process memory.
31
+ */
32
+ export declare function getHarnessWorkspaceCacheSize(): number;
33
+ //# sourceMappingURL=ensure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensure.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/harness/workspace/ensure.ts"],"names":[],"mappings":"AAMA,OAAO,EAOL,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAE1B,KAAK,uBAAuB,EAC7B,MAAM,YAAY,CAAC;AA+BpB;;;GAGG;AACH,eAAO,MAAM,gCAAgC,KAAK,CAAC;AAInD;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,KAAK,EAAE;IAClD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,qBAAqB,GAAG,IAAI,CAAC;CAC9C,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAuBnC;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAAC,KAAK,EAAE;IACnD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC9C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B,GAAG,OAAO,CAAC,IAAI,CAAC,CAehB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAOjD;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,MAAM,CAErD"}
@@ -0,0 +1,280 @@
1
+ import { readdir, readFile } from "node:fs/promises";
2
+ import { join, posix as pathPosix } from "node:path";
3
+ import { createHarnessWorkspaceExtraInstructions } from "./spec.js";
4
+ import { createHarnessWorkspaceStateId } from "./state.js";
5
+ import { HARNESS_PROJECT_ROOT, HARNESS_WORKSPACE_ROOT, HARNESS_WORKSPACE_STATE_VERSION, JUST_BASH_HARNESS_WORKSPACE_BACKEND, } from "./types.js";
6
+ /**
7
+ * Maximum number of live harness workspaces retained in-process before the
8
+ * oldest cached entry is evicted.
9
+ */
10
+ export const MAX_HARNESS_WORKSPACE_CACHE_SIZE = 16;
11
+ const harnessWorkspaceCache = new Map();
12
+ /**
13
+ * Creates or reattaches the live runtime-owned harness workspace for one
14
+ * workflow run.
15
+ */
16
+ export async function ensureHarnessWorkspace(input) {
17
+ const workspaceId = input.state?.workspaceId ?? createHarnessWorkspaceStateId(input.runId);
18
+ const cachedWorkspace = getCachedHarnessWorkspaceEntry(workspaceId);
19
+ if (cachedWorkspace !== undefined) {
20
+ return cachedWorkspace.promise;
21
+ }
22
+ const workspaceEntry = {
23
+ promise: createLiveHarnessWorkspace({
24
+ spec: input.spec,
25
+ state: input.state,
26
+ workspaceId,
27
+ }).catch((error) => {
28
+ harnessWorkspaceCache.delete(workspaceId);
29
+ throw error;
30
+ }),
31
+ };
32
+ harnessWorkspaceCache.set(workspaceId, workspaceEntry);
33
+ await evictExcessHarnessWorkspaces(workspaceId);
34
+ return workspaceEntry.promise;
35
+ }
36
+ /**
37
+ * Releases one cached harness workspace using the most specific identifier
38
+ * available for the current run state.
39
+ */
40
+ export async function disposeHarnessWorkspace(input) {
41
+ const workspaceId = resolveHarnessWorkspaceId(input);
42
+ if (workspaceId === null) {
43
+ return;
44
+ }
45
+ const cachedWorkspace = harnessWorkspaceCache.get(workspaceId);
46
+ if (cachedWorkspace === undefined) {
47
+ return;
48
+ }
49
+ harnessWorkspaceCache.delete(workspaceId);
50
+ await disposeCachedHarnessWorkspaceEntry(cachedWorkspace);
51
+ }
52
+ /**
53
+ * Clears every cached live harness workspace.
54
+ */
55
+ export function clearHarnessWorkspaceCache() {
56
+ const cachedWorkspaces = [...harnessWorkspaceCache.values()];
57
+ harnessWorkspaceCache.clear();
58
+ for (const cachedWorkspace of cachedWorkspaces) {
59
+ void disposeCachedHarnessWorkspaceEntry(cachedWorkspace);
60
+ }
61
+ }
62
+ /**
63
+ * Returns the number of live harness workspaces currently retained in process memory.
64
+ */
65
+ export function getHarnessWorkspaceCacheSize() {
66
+ return harnessWorkspaceCache.size;
67
+ }
68
+ async function createLiveHarnessWorkspace(input) {
69
+ const { Bash, InMemoryFs, MountableFs, OverlayFs } = await import("just-bash");
70
+ const baseFileSystem = new InMemoryFs(input.state !== null
71
+ ? createStateInitialFiles(input.state)
72
+ : await createSpecInitialFiles(input.spec));
73
+ await ensureBaseWorkspaceDirectories(baseFileSystem);
74
+ if (input.state !== null) {
75
+ await restoreWorkspaceDirectories(baseFileSystem, input.state.entries);
76
+ }
77
+ const filesystem = new MountableFs({
78
+ base: baseFileSystem,
79
+ });
80
+ if (input.spec.projectRootPath !== undefined) {
81
+ filesystem.mount(HARNESS_PROJECT_ROOT, new OverlayFs({
82
+ mountPoint: "/",
83
+ readOnly: true,
84
+ root: input.spec.projectRootPath,
85
+ }));
86
+ }
87
+ const bash = new Bash({
88
+ cwd: HARNESS_WORKSPACE_ROOT,
89
+ env: input.state?.env,
90
+ fs: filesystem,
91
+ network: {
92
+ dangerouslyAllowFullInternetAccess: true,
93
+ },
94
+ });
95
+ const extraInstructions = createHarnessWorkspaceExtraInstructions(input.spec);
96
+ const workspace = {
97
+ cwd: HARNESS_WORKSPACE_ROOT,
98
+ extraInstructions,
99
+ sandbox: bash,
100
+ };
101
+ return {
102
+ async captureState() {
103
+ return captureHarnessWorkspaceState({
104
+ baseFileSystem,
105
+ workspaceId: input.workspaceId,
106
+ workspaceSandbox: bash,
107
+ });
108
+ },
109
+ async dispose() {
110
+ const disposableBash = bash;
111
+ await disposableBash.dispose?.();
112
+ },
113
+ workspace,
114
+ };
115
+ }
116
+ function getCachedHarnessWorkspaceEntry(workspaceId) {
117
+ const cachedWorkspace = harnessWorkspaceCache.get(workspaceId);
118
+ if (cachedWorkspace === undefined) {
119
+ return undefined;
120
+ }
121
+ harnessWorkspaceCache.delete(workspaceId);
122
+ harnessWorkspaceCache.set(workspaceId, cachedWorkspace);
123
+ return cachedWorkspace;
124
+ }
125
+ async function evictExcessHarnessWorkspaces(keepWorkspaceId) {
126
+ while (harnessWorkspaceCache.size > MAX_HARNESS_WORKSPACE_CACHE_SIZE) {
127
+ const oldestEntry = harnessWorkspaceCache.entries().next().value;
128
+ if (oldestEntry === undefined) {
129
+ return;
130
+ }
131
+ const [workspaceId, cachedWorkspace] = oldestEntry;
132
+ if (workspaceId === keepWorkspaceId) {
133
+ return;
134
+ }
135
+ harnessWorkspaceCache.delete(workspaceId);
136
+ await disposeCachedHarnessWorkspaceEntry(cachedWorkspace);
137
+ }
138
+ }
139
+ async function disposeCachedHarnessWorkspaceEntry(cachedWorkspace) {
140
+ try {
141
+ const workspace = await cachedWorkspace.promise;
142
+ await workspace.dispose();
143
+ }
144
+ catch {
145
+ // Ignore creation or disposal failures while evicting retained process-local state.
146
+ }
147
+ }
148
+ async function captureHarnessWorkspaceState(input) {
149
+ return {
150
+ backend: JUST_BASH_HARNESS_WORKSPACE_BACKEND,
151
+ entries: await captureWorkspaceSnapshotEntries(input.baseFileSystem),
152
+ env: {
153
+ ...input.workspaceSandbox.getEnv(),
154
+ },
155
+ version: HARNESS_WORKSPACE_STATE_VERSION,
156
+ workspaceId: input.workspaceId,
157
+ };
158
+ }
159
+ function createStateInitialFiles(state) {
160
+ const files = {};
161
+ for (const entry of state.entries) {
162
+ if (entry.kind !== "file") {
163
+ continue;
164
+ }
165
+ files[entry.path] = Buffer.from(entry.contentBase64, "base64");
166
+ }
167
+ return files;
168
+ }
169
+ async function createSpecInitialFiles(spec) {
170
+ const files = {};
171
+ for (const source of spec.fileSources) {
172
+ switch (source.kind) {
173
+ case "inline":
174
+ files[toWorkspacePath(source.logicalPath)] = Buffer.from(source.contentBase64, "base64");
175
+ break;
176
+ case "disk-file":
177
+ files[toWorkspacePath(source.logicalPath)] = async () => readFile(source.sourcePath);
178
+ break;
179
+ case "disk-directory":
180
+ await addWorkspaceDirectoryFiles({
181
+ files,
182
+ logicalDirectoryPath: source.logicalDirectoryPath,
183
+ sourceDirectoryPath: source.sourcePath,
184
+ });
185
+ break;
186
+ }
187
+ }
188
+ return files;
189
+ }
190
+ async function captureWorkspaceSnapshotEntries(filesystem) {
191
+ const entries = [];
192
+ const workspacePaths = filesystem
193
+ .getAllPaths()
194
+ .filter((path) => isWorkspacePath(path))
195
+ .sort((left, right) => left.localeCompare(right));
196
+ for (const path of workspacePaths) {
197
+ const stat = await filesystem.stat(path);
198
+ if (stat.isSymbolicLink) {
199
+ continue;
200
+ }
201
+ if (stat.isDirectory) {
202
+ entries.push({
203
+ kind: "directory",
204
+ path,
205
+ });
206
+ continue;
207
+ }
208
+ if (!stat.isFile) {
209
+ continue;
210
+ }
211
+ const content = await filesystem.readFileBuffer(path);
212
+ entries.push({
213
+ contentBase64: Buffer.from(content).toString("base64"),
214
+ kind: "file",
215
+ path,
216
+ });
217
+ }
218
+ return entries;
219
+ }
220
+ async function addWorkspaceDirectoryFiles(input) {
221
+ const entries = await readdir(input.sourceDirectoryPath, {
222
+ withFileTypes: true,
223
+ });
224
+ for (const entry of entries) {
225
+ if (!entry.isDirectory() && !entry.isFile()) {
226
+ continue;
227
+ }
228
+ const sourcePath = join(input.sourceDirectoryPath, entry.name);
229
+ const logicalPath = pathPosix.join(input.logicalDirectoryPath, entry.name);
230
+ if (entry.isDirectory()) {
231
+ await addWorkspaceDirectoryFiles({
232
+ files: input.files,
233
+ logicalDirectoryPath: logicalPath,
234
+ sourceDirectoryPath: sourcePath,
235
+ });
236
+ continue;
237
+ }
238
+ input.files[toWorkspacePath(logicalPath)] = async () => readFile(sourcePath);
239
+ }
240
+ }
241
+ async function restoreWorkspaceDirectories(filesystem, entries) {
242
+ const directoryPaths = entries
243
+ .filter((entry) => entry.kind === "directory")
244
+ .map((entry) => entry.path)
245
+ .sort((left, right) => left.localeCompare(right));
246
+ for (const directoryPath of directoryPaths) {
247
+ if (directoryPath === HARNESS_WORKSPACE_ROOT) {
248
+ continue;
249
+ }
250
+ await filesystem.mkdir(directoryPath, {
251
+ recursive: true,
252
+ });
253
+ }
254
+ }
255
+ async function ensureBaseWorkspaceDirectories(filesystem) {
256
+ await filesystem.mkdir(HARNESS_WORKSPACE_ROOT, {
257
+ recursive: true,
258
+ });
259
+ }
260
+ function resolveHarnessWorkspaceId(input) {
261
+ if (input.workspaceId !== undefined) {
262
+ return input.workspaceId;
263
+ }
264
+ if (input.state !== null && input.state !== undefined) {
265
+ return input.state.workspaceId;
266
+ }
267
+ if (input.runId !== undefined) {
268
+ return createHarnessWorkspaceStateId(input.runId);
269
+ }
270
+ return null;
271
+ }
272
+ function isWorkspacePath(path) {
273
+ return (path !== HARNESS_PROJECT_ROOT &&
274
+ !path.startsWith(`${HARNESS_PROJECT_ROOT}/`) &&
275
+ (path === HARNESS_WORKSPACE_ROOT || path.startsWith(`${HARNESS_WORKSPACE_ROOT}/`)));
276
+ }
277
+ function toWorkspacePath(logicalPath) {
278
+ return pathPosix.join(HARNESS_WORKSPACE_ROOT, logicalPath);
279
+ }
280
+ //# sourceMappingURL=ensure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensure.js","sourceRoot":"","sources":["../../../../../src/runtime/harness/workspace/ensure.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { IFileSystem } from "just-bash";
2
+ import { type HarnessWorkspaceProjectWorkspaceState } from "./types.js";
3
+ /**
4
+ * Serializable mounted overlay plus its copy-on-write delta for the authored
5
+ * `workspace/` subtree.
6
+ */
7
+ export interface MountedProjectWorkspaceOverlay {
8
+ captureState(): HarnessWorkspaceProjectWorkspaceState | undefined;
9
+ readonly filesystem: IFileSystem;
10
+ }
11
+ /**
12
+ * Creates the copy-on-write overlay mounted at `project/workspace/` from the
13
+ * bundled compiled workspace root plus any previously serialized delta state.
14
+ */
15
+ export declare function createMountedProjectWorkspaceOverlay(input: {
16
+ readonly sourceRootPath: string;
17
+ readonly state?: HarnessWorkspaceProjectWorkspaceState;
18
+ }): Promise<MountedProjectWorkspaceOverlay>;
19
+ //# sourceMappingURL=project-workspace-overlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-workspace-overlay.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/harness/workspace/project-workspace-overlay.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAKV,WAAW,EAGZ,MAAM,WAAW,CAAC;AAGnB,OAAO,EAEL,KAAK,qCAAqC,EAE3C,MAAM,YAAY,CAAC;AAgBpB;;;GAGG;AACH,MAAM,WAAW,8BAA8B;IAC7C,YAAY,IAAI,qCAAqC,GAAG,SAAS,CAAC;IAClE,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;CAClC;AAED;;;GAGG;AACH,wBAAsB,oCAAoC,CAAC,KAAK,EAAE;IAChE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,qCAAqC,CAAC;CACxD,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAa1C"}
@@ -0,0 +1,219 @@
1
+ import { posix as pathPosix } from "node:path";
2
+ import { OverlayFs } from "just-bash";
3
+ import { HARNESS_PROJECT_WORKSPACE_ROOT, } from "./types.js";
4
+ /**
5
+ * Creates the copy-on-write overlay mounted at `project/workspace/` from the
6
+ * bundled compiled workspace root plus any previously serialized delta state.
7
+ */
8
+ export async function createMountedProjectWorkspaceOverlay(input) {
9
+ const filesystem = new ProjectWorkspaceOverlayFileSystem(input.sourceRootPath);
10
+ if (input.state !== undefined) {
11
+ await restoreProjectWorkspaceOverlayState(filesystem, input.state);
12
+ }
13
+ return {
14
+ captureState() {
15
+ return filesystem.captureState();
16
+ },
17
+ filesystem,
18
+ };
19
+ }
20
+ class ProjectWorkspaceOverlayFileSystem {
21
+ #overlay;
22
+ #entries = new Map();
23
+ #deletedPaths = new Set();
24
+ constructor(sourceRootPath) {
25
+ this.#overlay = new OverlayFs({
26
+ mountPoint: "/",
27
+ root: sourceRootPath,
28
+ });
29
+ }
30
+ captureState() {
31
+ const deletedPaths = [...this.#deletedPaths].sort((left, right) => left.localeCompare(right));
32
+ const entries = [...this.#entries.entries()]
33
+ .sort(([left], [right]) => left.localeCompare(right))
34
+ .map(([path, entry]) => {
35
+ if (entry.kind === "directory") {
36
+ return {
37
+ kind: "directory",
38
+ path,
39
+ };
40
+ }
41
+ return {
42
+ contentBase64: entry.contentBase64,
43
+ kind: "file",
44
+ path,
45
+ };
46
+ });
47
+ if (entries.length === 0 && deletedPaths.length === 0) {
48
+ return undefined;
49
+ }
50
+ return {
51
+ deletedPaths,
52
+ entries,
53
+ };
54
+ }
55
+ async readFile(path, options) {
56
+ return await this.#overlay.readFile(path, options);
57
+ }
58
+ async readFileBuffer(path) {
59
+ return await this.#overlay.readFileBuffer(path);
60
+ }
61
+ async writeFile(path, content, options) {
62
+ await this.#overlay.writeFile(path, content, options);
63
+ await this.#captureVisiblePath(path);
64
+ }
65
+ async appendFile(path, content, options) {
66
+ await this.#overlay.appendFile(path, content, options);
67
+ await this.#captureVisiblePath(path);
68
+ }
69
+ async exists(path) {
70
+ return await this.#overlay.exists(path);
71
+ }
72
+ async stat(path) {
73
+ return await this.#overlay.stat(path);
74
+ }
75
+ async lstat(path) {
76
+ return await this.#overlay.lstat(path);
77
+ }
78
+ async mkdir(path, options) {
79
+ await this.#overlay.mkdir(path, options);
80
+ this.#recordDirectory(path);
81
+ }
82
+ async readdir(path) {
83
+ return await this.#overlay.readdir(path);
84
+ }
85
+ async readdirWithFileTypes(path) {
86
+ return await this.#overlay.readdirWithFileTypes(path);
87
+ }
88
+ async rm(path, options) {
89
+ await this.#overlay.rm(path, options);
90
+ this.#recordDeletion(path);
91
+ }
92
+ async cp(src, dest, options) {
93
+ await this.#overlay.cp(src, dest, options);
94
+ await this.#captureVisiblePath(dest);
95
+ }
96
+ async mv(src, dest) {
97
+ await this.#overlay.mv(src, dest);
98
+ this.#recordDeletion(src);
99
+ await this.#captureVisiblePath(dest);
100
+ }
101
+ resolvePath(base, path) {
102
+ return this.#overlay.resolvePath(base, path);
103
+ }
104
+ getAllPaths() {
105
+ return this.#overlay.getAllPaths();
106
+ }
107
+ async chmod(path, mode) {
108
+ await this.#overlay.chmod(path, mode);
109
+ await this.#captureVisiblePath(path);
110
+ }
111
+ async symlink(target, linkPath) {
112
+ await this.#overlay.symlink(target, linkPath);
113
+ }
114
+ async link(existingPath, newPath) {
115
+ await this.#overlay.link(existingPath, newPath);
116
+ await this.#captureVisiblePath(newPath);
117
+ }
118
+ async readlink(path) {
119
+ return await this.#overlay.readlink(path);
120
+ }
121
+ async realpath(path) {
122
+ return await this.#overlay.realpath(path);
123
+ }
124
+ async utimes(path, atime, mtime) {
125
+ await this.#overlay.utimes(path, atime, mtime);
126
+ await this.#captureVisiblePath(path);
127
+ }
128
+ async #captureVisiblePath(path) {
129
+ const normalizedPath = normalizeOverlayRelativePath(path);
130
+ const absolutePath = toMountedAbsolutePath(normalizedPath);
131
+ const stat = await this.#overlay.stat(normalizedPath);
132
+ this.#clearDeletedForPath(absolutePath);
133
+ if (stat.isDirectory) {
134
+ this.#recordDirectory(normalizedPath);
135
+ const entries = await this.#overlay.readdirWithFileTypes(normalizedPath);
136
+ for (const entry of entries) {
137
+ await this.#captureVisiblePath(pathPosix.join(normalizedPath, entry.name));
138
+ }
139
+ return;
140
+ }
141
+ if (!stat.isFile) {
142
+ return;
143
+ }
144
+ const content = await this.#overlay.readFileBuffer(normalizedPath);
145
+ this.#entries.set(absolutePath, {
146
+ contentBase64: Buffer.from(content).toString("base64"),
147
+ kind: "file",
148
+ });
149
+ }
150
+ #recordDirectory(path) {
151
+ const normalizedPath = normalizeOverlayRelativePath(path);
152
+ const absolutePath = toMountedAbsolutePath(normalizedPath);
153
+ this.#clearDeletedForPath(absolutePath);
154
+ this.#entries.set(absolutePath, {
155
+ kind: "directory",
156
+ });
157
+ }
158
+ #recordDeletion(path) {
159
+ const normalizedPath = normalizeOverlayRelativePath(path);
160
+ const absolutePath = toMountedAbsolutePath(normalizedPath);
161
+ for (const entryPath of [...this.#entries.keys()]) {
162
+ if (entryPath === absolutePath || entryPath.startsWith(`${absolutePath}/`)) {
163
+ this.#entries.delete(entryPath);
164
+ }
165
+ }
166
+ for (const deletedPath of [...this.#deletedPaths]) {
167
+ if (deletedPath === absolutePath ||
168
+ deletedPath.startsWith(`${absolutePath}/`) ||
169
+ absolutePath.startsWith(`${deletedPath}/`)) {
170
+ this.#deletedPaths.delete(deletedPath);
171
+ }
172
+ }
173
+ this.#deletedPaths.add(absolutePath);
174
+ }
175
+ #clearDeletedForPath(absolutePath) {
176
+ for (const deletedPath of [...this.#deletedPaths]) {
177
+ if (deletedPath === absolutePath || absolutePath.startsWith(`${deletedPath}/`)) {
178
+ this.#deletedPaths.delete(deletedPath);
179
+ }
180
+ }
181
+ }
182
+ }
183
+ async function restoreProjectWorkspaceOverlayState(filesystem, state) {
184
+ const directoryEntries = state.entries
185
+ .filter((entry) => entry.kind === "directory")
186
+ .sort((left, right) => left.path.localeCompare(right.path));
187
+ const fileEntries = state.entries
188
+ .filter((entry) => entry.kind === "file")
189
+ .sort((left, right) => left.path.localeCompare(right.path));
190
+ for (const entry of directoryEntries) {
191
+ await filesystem.mkdir(toOverlayRelativePath(entry.path), {
192
+ recursive: true,
193
+ });
194
+ }
195
+ for (const entry of fileEntries) {
196
+ await filesystem.writeFile(toOverlayRelativePath(entry.path), Buffer.from(entry.contentBase64, "base64"));
197
+ }
198
+ for (const deletedPath of [...state.deletedPaths].sort((left, right) => left.localeCompare(right))) {
199
+ await filesystem.rm(toOverlayRelativePath(deletedPath), {
200
+ force: true,
201
+ recursive: true,
202
+ });
203
+ }
204
+ }
205
+ function normalizeOverlayRelativePath(path) {
206
+ return pathPosix.join("/", path);
207
+ }
208
+ function toMountedAbsolutePath(path) {
209
+ return path === "/"
210
+ ? HARNESS_PROJECT_WORKSPACE_ROOT
211
+ : pathPosix.join(HARNESS_PROJECT_WORKSPACE_ROOT, path);
212
+ }
213
+ function toOverlayRelativePath(path) {
214
+ if (path === HARNESS_PROJECT_WORKSPACE_ROOT) {
215
+ return "/";
216
+ }
217
+ return normalizeOverlayRelativePath(path.slice(HARNESS_PROJECT_WORKSPACE_ROOT.length));
218
+ }
219
+ //# sourceMappingURL=project-workspace-overlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-workspace-overlay.js","sourceRoot":"","sources":["../../../../../src/runtime/harness/workspace/project-workspace-overlay.ts"],"names":[],"mappings":"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"}