@andorra-labs/code 0.0.0-stage → 0.1.5

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 (1847) hide show
  1. package/LICENSE.md +38 -0
  2. package/README.md +231 -3
  3. package/THIRD_PARTY_NOTICES.md +56 -0
  4. package/dist/src/account-presentation.d.ts +53 -0
  5. package/dist/src/account-presentation.js +99 -0
  6. package/dist/src/activity.d.ts +41 -0
  7. package/dist/src/activity.js +79 -0
  8. package/dist/src/agent-definitions.d.ts +61 -0
  9. package/dist/src/agent-definitions.js +303 -0
  10. package/dist/src/agent-execution.d.ts +4 -0
  11. package/dist/src/agent-execution.js +1198 -0
  12. package/dist/src/agent-mcp.d.ts +105 -0
  13. package/dist/src/agent-mcp.js +859 -0
  14. package/dist/src/agent-modifiers.d.ts +8 -0
  15. package/dist/src/agent-modifiers.js +333 -0
  16. package/dist/src/analytics.d.ts +81 -0
  17. package/dist/src/analytics.js +81 -0
  18. package/dist/src/anthropic-console-auth.d.ts +68 -0
  19. package/dist/src/anthropic-console-auth.js +318 -0
  20. package/dist/src/anthropic-credentials.d.ts +41 -0
  21. package/dist/src/anthropic-credentials.js +107 -0
  22. package/dist/src/app-server/protocol.d.ts +500 -0
  23. package/dist/src/app-server/protocol.js +106 -0
  24. package/dist/src/app-server/reasoning.d.ts +43 -0
  25. package/dist/src/app-server/reasoning.js +173 -0
  26. package/dist/src/app-server/terminal.d.ts +77 -0
  27. package/dist/src/app-server/terminal.js +177 -0
  28. package/dist/src/app-server/workspace.d.ts +247 -0
  29. package/dist/src/app-server/workspace.js +1098 -0
  30. package/dist/src/app-server.d.ts +1039 -0
  31. package/dist/src/app-server.js +6594 -0
  32. package/dist/src/artifacts.d.ts +27 -0
  33. package/dist/src/artifacts.js +103 -0
  34. package/dist/src/attachments.d.ts +158 -0
  35. package/dist/src/attachments.js +466 -0
  36. package/dist/src/auth/AuthManager.d.ts +110 -0
  37. package/dist/src/auth/AuthManager.js +435 -0
  38. package/dist/src/auth/callback.d.ts +10 -0
  39. package/dist/src/auth/callback.js +96 -0
  40. package/dist/src/auth/deployment.d.ts +18 -0
  41. package/dist/src/auth/deployment.js +18 -0
  42. package/dist/src/auth/index.d.ts +31 -0
  43. package/dist/src/auth/index.js +27 -0
  44. package/dist/src/auth/lock.d.ts +2 -0
  45. package/dist/src/auth/lock.js +29 -0
  46. package/dist/src/auth/store.d.ts +20 -0
  47. package/dist/src/auth/store.js +93 -0
  48. package/dist/src/auth/types.d.ts +24 -0
  49. package/dist/src/auth/types.js +8 -0
  50. package/dist/src/auth-commands.d.ts +5 -0
  51. package/dist/src/auth-commands.js +28 -0
  52. package/dist/src/automation-runner.d.ts +7 -0
  53. package/dist/src/automation-runner.js +113 -0
  54. package/dist/src/automation-service.d.ts +28 -0
  55. package/dist/src/automation-service.js +299 -0
  56. package/dist/src/automation-tool.d.ts +2 -0
  57. package/dist/src/automation-tool.js +49 -0
  58. package/dist/src/automation-worker-shutdown.d.ts +3 -0
  59. package/dist/src/automation-worker-shutdown.js +13 -0
  60. package/dist/src/automations.d.ts +63 -0
  61. package/dist/src/automations.js +265 -0
  62. package/dist/src/boot-trace.d.ts +15 -0
  63. package/dist/src/boot-trace.js +25 -0
  64. package/dist/src/browser-activity.d.ts +4 -0
  65. package/dist/src/browser-activity.js +18 -0
  66. package/dist/src/browser-bridge.d.ts +56 -0
  67. package/dist/src/browser-bridge.js +372 -0
  68. package/dist/src/browser-observation.d.ts +24 -0
  69. package/dist/src/browser-observation.js +104 -0
  70. package/dist/src/browser-panel-tool.d.ts +39 -0
  71. package/dist/src/browser-panel-tool.js +227 -0
  72. package/dist/src/browser-runner.d.ts +16 -0
  73. package/dist/src/browser-runner.js +302 -0
  74. package/dist/src/browser-server.d.ts +31 -0
  75. package/dist/src/browser-server.js +1189 -0
  76. package/dist/src/browser-session.d.ts +19 -0
  77. package/dist/src/browser-session.js +649 -0
  78. package/dist/src/browser-ui/andorra-logo.png +0 -0
  79. package/dist/src/browser-ui/app.js +419 -0
  80. package/dist/src/browser-ui/index.html +13 -0
  81. package/dist/src/browser-ui/style.css +243 -0
  82. package/dist/src/browser-view.d.ts +348 -0
  83. package/dist/src/browser-view.js +1487 -0
  84. package/dist/src/capabilities.d.ts +9 -0
  85. package/dist/src/capabilities.js +135 -0
  86. package/dist/src/clarification-ui.d.ts +23 -0
  87. package/dist/src/clarification-ui.js +59 -0
  88. package/dist/src/claude-executable.d.ts +6 -0
  89. package/dist/src/claude-executable.js +56 -0
  90. package/dist/src/claude-provider.d.ts +35 -0
  91. package/dist/src/claude-provider.js +391 -0
  92. package/dist/src/cli.d.ts +85 -0
  93. package/dist/src/cli.js +2564 -0
  94. package/dist/src/code-intelligence/CodeIntelligenceManager.d.ts +108 -0
  95. package/dist/src/code-intelligence/CodeIntelligenceManager.js +616 -0
  96. package/dist/src/code-intelligence/ContextLedger.d.ts +32 -0
  97. package/dist/src/code-intelligence/ContextLedger.js +77 -0
  98. package/dist/src/code-intelligence/ContextRouter.d.ts +8 -0
  99. package/dist/src/code-intelligence/ContextRouter.js +18 -0
  100. package/dist/src/code-intelligence/codegraph/CodeGraphProjectSession.d.ts +82 -0
  101. package/dist/src/code-intelligence/codegraph/CodeGraphProjectSession.js +444 -0
  102. package/dist/src/code-intelligence/codegraph/CodeGraphProvider.d.ts +40 -0
  103. package/dist/src/code-intelligence/codegraph/CodeGraphProvider.js +84 -0
  104. package/dist/src/code-intelligence/codegraph/CodeGraphSyncBarrier.d.ts +22 -0
  105. package/dist/src/code-intelligence/codegraph/CodeGraphSyncBarrier.js +71 -0
  106. package/dist/src/code-intelligence/codegraph/repoExploreTool.d.ts +9 -0
  107. package/dist/src/code-intelligence/codegraph/repoExploreTool.js +26 -0
  108. package/dist/src/code-intelligence/repository.d.ts +13 -0
  109. package/dist/src/code-intelligence/repository.js +48 -0
  110. package/dist/src/code-intelligence/types.d.ts +78 -0
  111. package/dist/src/code-intelligence/types.js +3 -0
  112. package/dist/src/codex-auth.d.ts +83 -0
  113. package/dist/src/codex-auth.js +168 -0
  114. package/dist/src/codex-browser-auth.d.ts +74 -0
  115. package/dist/src/codex-browser-auth.js +429 -0
  116. package/dist/src/codex-errors.d.ts +3 -0
  117. package/dist/src/codex-errors.js +50 -0
  118. package/dist/src/codex-executable.d.ts +12 -0
  119. package/dist/src/codex-executable.js +154 -0
  120. package/dist/src/codex-provider.d.ts +25 -0
  121. package/dist/src/codex-provider.js +211 -0
  122. package/dist/src/codex-rpc.d.ts +43 -0
  123. package/dist/src/codex-rpc.js +136 -0
  124. package/dist/src/coding-tools.d.ts +19 -0
  125. package/dist/src/coding-tools.js +875 -0
  126. package/dist/src/command-metrics.d.ts +17 -0
  127. package/dist/src/command-metrics.js +34 -0
  128. package/dist/src/command-screens.d.ts +44 -0
  129. package/dist/src/command-screens.js +601 -0
  130. package/dist/src/commands.d.ts +111 -0
  131. package/dist/src/commands.js +550 -0
  132. package/dist/src/completion.d.ts +45 -0
  133. package/dist/src/completion.js +195 -0
  134. package/dist/src/config.d.ts +163 -0
  135. package/dist/src/config.js +663 -0
  136. package/dist/src/context-budget.d.ts +32 -0
  137. package/dist/src/context-budget.js +151 -0
  138. package/dist/src/context-compaction.d.ts +43 -0
  139. package/dist/src/context-compaction.js +269 -0
  140. package/dist/src/context-selection.d.ts +65 -0
  141. package/dist/src/context-selection.js +130 -0
  142. package/dist/src/dashboard-view.d.ts +37 -0
  143. package/dist/src/dashboard-view.js +254 -0
  144. package/dist/src/dashboard.d.ts +41 -0
  145. package/dist/src/dashboard.js +160 -0
  146. package/dist/src/deadline.d.ts +55 -0
  147. package/dist/src/deadline.js +164 -0
  148. package/dist/src/decision/ContinuationAdapter.d.ts +6 -0
  149. package/dist/src/decision/ContinuationAdapter.js +11 -0
  150. package/dist/src/decision/DecisionEngine.d.ts +23 -0
  151. package/dist/src/decision/DecisionEngine.js +1 -0
  152. package/dist/src/decision/DecisionManager.d.ts +47 -0
  153. package/dist/src/decision/DecisionManager.js +280 -0
  154. package/dist/src/decision/DecisionPolicy.d.ts +8 -0
  155. package/dist/src/decision/DecisionPolicy.js +54 -0
  156. package/dist/src/decision/FactContinuations.d.ts +147 -0
  157. package/dist/src/decision/FactContinuations.js +472 -0
  158. package/dist/src/decision/FactServiceGate.d.ts +12 -0
  159. package/dist/src/decision/FactServiceGate.js +37 -0
  160. package/dist/src/decision/PreparedSteps.d.ts +51 -0
  161. package/dist/src/decision/PreparedSteps.js +147 -0
  162. package/dist/src/decision/applyToolMenu.d.ts +3 -0
  163. package/dist/src/decision/applyToolMenu.js +61 -0
  164. package/dist/src/decision/checks.d.ts +13 -0
  165. package/dist/src/decision/checks.js +104 -0
  166. package/dist/src/decision/facts.d.ts +64 -0
  167. package/dist/src/decision/facts.js +90 -0
  168. package/dist/src/decision/guidancePolicy.d.ts +3 -0
  169. package/dist/src/decision/guidancePolicy.js +10 -0
  170. package/dist/src/decision/hostedPolicy.d.ts +14 -0
  171. package/dist/src/decision/hostedPolicy.js +21 -0
  172. package/dist/src/decision/index.d.ts +6 -0
  173. package/dist/src/decision/index.js +6 -0
  174. package/dist/src/decision/optimizationPolicy.d.ts +26 -0
  175. package/dist/src/decision/optimizationPolicy.js +38 -0
  176. package/dist/src/decision/providers/AndorraDecisionProvider.d.ts +17 -0
  177. package/dist/src/decision/providers/AndorraDecisionProvider.js +251 -0
  178. package/dist/src/decision/providers/HttpDecisionProvider.d.ts +16 -0
  179. package/dist/src/decision/providers/HttpDecisionProvider.js +105 -0
  180. package/dist/src/decision/providers/NoOpDecisionProvider.d.ts +4 -0
  181. package/dist/src/decision/providers/NoOpDecisionProvider.js +3 -0
  182. package/dist/src/decision/providers/index.d.ts +3 -0
  183. package/dist/src/decision/providers/index.js +13 -0
  184. package/dist/src/decision/providers/questions.d.ts +3 -0
  185. package/dist/src/decision/providers/questions.js +31 -0
  186. package/dist/src/decision/routeTools.d.ts +59 -0
  187. package/dist/src/decision/routeTools.js +131 -0
  188. package/dist/src/decision/toolFamilies.d.ts +7 -0
  189. package/dist/src/decision/toolFamilies.js +55 -0
  190. package/dist/src/decision/toolMenu.d.ts +35 -0
  191. package/dist/src/decision/toolMenu.js +73 -0
  192. package/dist/src/decision/types.d.ts +99 -0
  193. package/dist/src/decision/types.js +1 -0
  194. package/dist/src/diff-preview.d.ts +6 -0
  195. package/dist/src/diff-preview.js +120 -0
  196. package/dist/src/duration.d.ts +44 -0
  197. package/dist/src/duration.js +72 -0
  198. package/dist/src/efficiency.d.ts +101 -0
  199. package/dist/src/efficiency.js +104 -0
  200. package/dist/src/engine/protocol.d.ts +11 -0
  201. package/dist/src/engine/protocol.js +51 -0
  202. package/dist/src/extensions.d.ts +46 -0
  203. package/dist/src/extensions.js +846 -0
  204. package/dist/src/favicons.d.ts +37 -0
  205. package/dist/src/favicons.js +216 -0
  206. package/dist/src/file-read-state.d.ts +8 -0
  207. package/dist/src/file-read-state.js +31 -0
  208. package/dist/src/git-summary.d.ts +67 -0
  209. package/dist/src/git-summary.js +461 -0
  210. package/dist/src/goal-completion-verification.d.ts +18 -0
  211. package/dist/src/goal-completion-verification.js +43 -0
  212. package/dist/src/graph-account.d.ts +31 -0
  213. package/dist/src/graph-account.js +57 -0
  214. package/dist/src/graph-editor-session.d.ts +15 -0
  215. package/dist/src/graph-editor-session.js +70 -0
  216. package/dist/src/graph-health.d.ts +88 -0
  217. package/dist/src/graph-health.js +243 -0
  218. package/dist/src/graph-provider-portability.d.ts +30 -0
  219. package/dist/src/graph-provider-portability.js +197 -0
  220. package/dist/src/graph-quota.d.ts +55 -0
  221. package/dist/src/graph-quota.js +131 -0
  222. package/dist/src/graph-runner.d.ts +4 -0
  223. package/dist/src/graph-runner.js +1356 -0
  224. package/dist/src/graph-selection.d.ts +17 -0
  225. package/dist/src/graph-selection.js +31 -0
  226. package/dist/src/graph-server.d.ts +13 -0
  227. package/dist/src/graph-server.js +483 -0
  228. package/dist/src/graph-studio-features.d.ts +61 -0
  229. package/dist/src/graph-studio-features.js +348 -0
  230. package/dist/src/graph-sync.d.ts +76 -0
  231. package/dist/src/graph-sync.js +619 -0
  232. package/dist/src/graph-ui/andorra-logo.png +0 -0
  233. package/dist/src/graph-ui/app.js +1803 -0
  234. package/dist/src/graph-ui/compat.js +43 -0
  235. package/dist/src/graph-ui/controls.css +190 -0
  236. package/dist/src/graph-ui/controls.js +567 -0
  237. package/dist/src/graph-ui/edge-router.js +117 -0
  238. package/dist/src/graph-ui/embed.js +324 -0
  239. package/dist/src/graph-ui/fonts/geist-mono-latin-400-normal.woff2 +0 -0
  240. package/dist/src/graph-ui/fonts/geist-sans-latin-400-normal.woff2 +0 -0
  241. package/dist/src/graph-ui/fonts/geist-sans-latin-500-normal.woff2 +0 -0
  242. package/dist/src/graph-ui/icons.js +117 -0
  243. package/dist/src/graph-ui/index.html +7 -0
  244. package/dist/src/graph-ui/library.css +26 -0
  245. package/dist/src/graph-ui/sidebar.js +61 -0
  246. package/dist/src/graph-ui/studio-canvas.js +454 -0
  247. package/dist/src/graph-ui/studio.css +110 -0
  248. package/dist/src/graph-ui/studio.js +720 -0
  249. package/dist/src/graph-ui/style.css +477 -0
  250. package/dist/src/graph-ui/theme.js +92 -0
  251. package/dist/src/graph-ui/tokens.css +187 -0
  252. package/dist/src/graphs.d.ts +270 -0
  253. package/dist/src/graphs.js +1102 -0
  254. package/dist/src/grep-regex-worker.d.ts +1 -0
  255. package/dist/src/grep-regex-worker.js +20 -0
  256. package/dist/src/grep-regex.d.ts +11 -0
  257. package/dist/src/grep-regex.js +64 -0
  258. package/dist/src/handoffs.d.ts +34 -0
  259. package/dist/src/handoffs.js +229 -0
  260. package/dist/src/hardened-runtime.d.ts +14 -0
  261. package/dist/src/hardened-runtime.js +264 -0
  262. package/dist/src/limits.d.ts +77 -0
  263. package/dist/src/limits.js +88 -0
  264. package/dist/src/markdown.d.ts +31 -0
  265. package/dist/src/markdown.js +553 -0
  266. package/dist/src/mcp.d.ts +11 -0
  267. package/dist/src/mcp.js +175 -0
  268. package/dist/src/membership-errors.d.ts +4 -0
  269. package/dist/src/membership-errors.js +4 -0
  270. package/dist/src/membership.d.ts +81 -0
  271. package/dist/src/membership.js +247 -0
  272. package/dist/src/memory/LocalToolMemory.d.ts +20 -0
  273. package/dist/src/memory/LocalToolMemory.js +114 -0
  274. package/dist/src/memory/MemoryDistiller.d.ts +35 -0
  275. package/dist/src/memory/MemoryDistiller.js +216 -0
  276. package/dist/src/memory/MemoryManager.d.ts +76 -0
  277. package/dist/src/memory/MemoryManager.js +386 -0
  278. package/dist/src/memory/MemoryPolicy.d.ts +30 -0
  279. package/dist/src/memory/MemoryPolicy.js +96 -0
  280. package/dist/src/memory/MemoryProvider.d.ts +18 -0
  281. package/dist/src/memory/MemoryProvider.js +1 -0
  282. package/dist/src/memory/MemoryRetriever.d.ts +27 -0
  283. package/dist/src/memory/MemoryRetriever.js +149 -0
  284. package/dist/src/memory/PermissionMemoryProvider.d.ts +22 -0
  285. package/dist/src/memory/PermissionMemoryProvider.js +50 -0
  286. package/dist/src/memory/ToolFailureLessons.d.ts +39 -0
  287. package/dist/src/memory/ToolFailureLessons.js +167 -0
  288. package/dist/src/memory/index.d.ts +12 -0
  289. package/dist/src/memory/index.js +11 -0
  290. package/dist/src/memory/providers/NoOpMemoryProvider.d.ts +13 -0
  291. package/dist/src/memory/providers/NoOpMemoryProvider.js +15 -0
  292. package/dist/src/memory/providers/graphiti/GraphitiClient.d.ts +27 -0
  293. package/dist/src/memory/providers/graphiti/GraphitiClient.js +76 -0
  294. package/dist/src/memory/providers/graphiti/GraphitiMapper.d.ts +6 -0
  295. package/dist/src/memory/providers/graphiti/GraphitiMapper.js +116 -0
  296. package/dist/src/memory/providers/graphiti/GraphitiMemoryProvider.d.ts +27 -0
  297. package/dist/src/memory/providers/graphiti/GraphitiMemoryProvider.js +137 -0
  298. package/dist/src/memory/providers/graphiti/GraphitiTypes.d.ts +57 -0
  299. package/dist/src/memory/providers/graphiti/GraphitiTypes.js +2 -0
  300. package/dist/src/memory/redaction.d.ts +11 -0
  301. package/dist/src/memory/redaction.js +58 -0
  302. package/dist/src/memory/repository.d.ts +11 -0
  303. package/dist/src/memory/repository.js +74 -0
  304. package/dist/src/memory/tools/memorySearchTool.d.ts +4 -0
  305. package/dist/src/memory/tools/memorySearchTool.js +77 -0
  306. package/dist/src/memory/types.d.ts +112 -0
  307. package/dist/src/memory/types.js +7 -0
  308. package/dist/src/model-metadata.d.ts +28 -0
  309. package/dist/src/model-metadata.js +274 -0
  310. package/dist/src/model-override.d.ts +60 -0
  311. package/dist/src/model-override.js +146 -0
  312. package/dist/src/model-tiers.d.ts +61 -0
  313. package/dist/src/model-tiers.js +109 -0
  314. package/dist/src/opencode-catalog.d.ts +16 -0
  315. package/dist/src/opencode-catalog.js +135 -0
  316. package/dist/src/opencode-provider.d.ts +10 -0
  317. package/dist/src/opencode-provider.js +525 -0
  318. package/dist/src/paged-transcript.d.ts +58 -0
  319. package/dist/src/paged-transcript.js +205 -0
  320. package/dist/src/palette.d.ts +61 -0
  321. package/dist/src/palette.js +63 -0
  322. package/dist/src/permissions.d.ts +36 -0
  323. package/dist/src/permissions.js +93 -0
  324. package/dist/src/powershell-pool.d.ts +26 -0
  325. package/dist/src/powershell-pool.js +235 -0
  326. package/dist/src/profile.d.ts +80 -0
  327. package/dist/src/profile.js +200 -0
  328. package/dist/src/provider-connection.d.ts +36 -0
  329. package/dist/src/provider-connection.js +222 -0
  330. package/dist/src/provider-engine.d.ts +37 -0
  331. package/dist/src/provider-engine.js +401 -0
  332. package/dist/src/provider-import.d.ts +68 -0
  333. package/dist/src/provider-import.js +355 -0
  334. package/dist/src/provider-settings.d.ts +8 -0
  335. package/dist/src/provider-settings.js +451 -0
  336. package/dist/src/providers.d.ts +219 -0
  337. package/dist/src/providers.js +1230 -0
  338. package/dist/src/pull-requests.d.ts +195 -0
  339. package/dist/src/pull-requests.js +514 -0
  340. package/dist/src/qa/api/http-runner.d.ts +3 -0
  341. package/dist/src/qa/api/http-runner.js +47 -0
  342. package/dist/src/qa/browser/PlaywrightRunner.d.ts +21 -0
  343. package/dist/src/qa/browser/PlaywrightRunner.js +190 -0
  344. package/dist/src/qa/command-policy.d.ts +28 -0
  345. package/dist/src/qa/command-policy.js +122 -0
  346. package/dist/src/qa/git/ChangeDetector.d.ts +26 -0
  347. package/dist/src/qa/git/ChangeDetector.js +177 -0
  348. package/dist/src/qa/git/DiffReviewer.d.ts +28 -0
  349. package/dist/src/qa/git/DiffReviewer.js +115 -0
  350. package/dist/src/qa/index.d.ts +11 -0
  351. package/dist/src/qa/index.js +19 -0
  352. package/dist/src/qa/orchestrator/ChangeClassifier.d.ts +14 -0
  353. package/dist/src/qa/orchestrator/ChangeClassifier.js +28 -0
  354. package/dist/src/qa/orchestrator/MergeGate.d.ts +14 -0
  355. package/dist/src/qa/orchestrator/MergeGate.js +40 -0
  356. package/dist/src/qa/orchestrator/QaOrchestrator.d.ts +79 -0
  357. package/dist/src/qa/orchestrator/QaOrchestrator.js +373 -0
  358. package/dist/src/qa/profile/ProjectInspector.d.ts +9 -0
  359. package/dist/src/qa/profile/ProjectInspector.js +295 -0
  360. package/dist/src/qa/profile/QaConfigLoader.d.ts +43 -0
  361. package/dist/src/qa/profile/QaConfigLoader.js +261 -0
  362. package/dist/src/qa/profile/QaProfile.d.ts +17 -0
  363. package/dist/src/qa/profile/QaProfile.js +15 -0
  364. package/dist/src/qa/profile/yaml.d.ts +12 -0
  365. package/dist/src/qa/profile/yaml.js +203 -0
  366. package/dist/src/qa/qa-authorize.d.ts +25 -0
  367. package/dist/src/qa/qa-authorize.js +82 -0
  368. package/dist/src/qa/runners/CommandRunner.d.ts +22 -0
  369. package/dist/src/qa/runners/CommandRunner.js +96 -0
  370. package/dist/src/qa/runners/TestRunner.d.ts +21 -0
  371. package/dist/src/qa/runners/TestRunner.js +66 -0
  372. package/dist/src/qa/runtime/ProcessManager.d.ts +53 -0
  373. package/dist/src/qa/runtime/ProcessManager.js +225 -0
  374. package/dist/src/qa/runtime/PtyManager.d.ts +57 -0
  375. package/dist/src/qa/runtime/PtyManager.js +338 -0
  376. package/dist/src/qa/runtime/RuntimeSmoke.d.ts +11 -0
  377. package/dist/src/qa/runtime/RuntimeSmoke.js +78 -0
  378. package/dist/src/qa/runtime-detect.d.ts +10 -0
  379. package/dist/src/qa/runtime-detect.js +72 -0
  380. package/dist/src/qa/security/DependencyScanner.d.ts +19 -0
  381. package/dist/src/qa/security/DependencyScanner.js +167 -0
  382. package/dist/src/qa/security/SecretScanner.d.ts +3 -0
  383. package/dist/src/qa/security/SecretScanner.js +55 -0
  384. package/dist/src/qa/tools.d.ts +3 -0
  385. package/dist/src/qa/tools.js +301 -0
  386. package/dist/src/qa/types.d.ts +134 -0
  387. package/dist/src/qa/types.js +3 -0
  388. package/dist/src/react-runtime.d.ts +53 -0
  389. package/dist/src/react-runtime.js +1753 -0
  390. package/dist/src/remote/cert.d.ts +29 -0
  391. package/dist/src/remote/cert.js +136 -0
  392. package/dist/src/remote/client.d.ts +189 -0
  393. package/dist/src/remote/client.js +659 -0
  394. package/dist/src/remote/command.d.ts +4 -0
  395. package/dist/src/remote/command.js +211 -0
  396. package/dist/src/remote/engine-pool.d.ts +230 -0
  397. package/dist/src/remote/engine-pool.js +1160 -0
  398. package/dist/src/remote/errors.d.ts +26 -0
  399. package/dist/src/remote/errors.js +21 -0
  400. package/dist/src/remote/network.d.ts +48 -0
  401. package/dist/src/remote/network.js +135 -0
  402. package/dist/src/remote/pairing.d.ts +98 -0
  403. package/dist/src/remote/pairing.js +306 -0
  404. package/dist/src/remote/roots.d.ts +29 -0
  405. package/dist/src/remote/roots.js +44 -0
  406. package/dist/src/remote/serve.d.ts +115 -0
  407. package/dist/src/remote/serve.js +274 -0
  408. package/dist/src/remote/server.d.ts +35 -0
  409. package/dist/src/remote/server.js +484 -0
  410. package/dist/src/remote/types.d.ts +86 -0
  411. package/dist/src/remote/types.js +11 -0
  412. package/dist/src/run-control.d.ts +17 -0
  413. package/dist/src/run-control.js +52 -0
  414. package/dist/src/run-progress.d.ts +226 -0
  415. package/dist/src/run-progress.js +724 -0
  416. package/dist/src/run-records.d.ts +500 -0
  417. package/dist/src/run-records.js +1678 -0
  418. package/dist/src/runtime.d.ts +418 -0
  419. package/dist/src/runtime.js +247 -0
  420. package/dist/src/sandbox-child.d.ts +1 -0
  421. package/dist/src/sandbox-child.js +14 -0
  422. package/dist/src/save-lock.d.ts +9 -0
  423. package/dist/src/save-lock.js +186 -0
  424. package/dist/src/session-monitor.d.ts +98 -0
  425. package/dist/src/session-monitor.js +323 -0
  426. package/dist/src/session-reaper.d.ts +23 -0
  427. package/dist/src/session-reaper.js +33 -0
  428. package/dist/src/session-summary.d.ts +27 -0
  429. package/dist/src/session-summary.js +66 -0
  430. package/dist/src/session-title.d.ts +18 -0
  431. package/dist/src/session-title.js +54 -0
  432. package/dist/src/sessions.d.ts +211 -0
  433. package/dist/src/sessions.js +620 -0
  434. package/dist/src/shell.d.ts +40 -0
  435. package/dist/src/shell.js +504 -0
  436. package/dist/src/side-panel.d.ts +144 -0
  437. package/dist/src/side-panel.js +366 -0
  438. package/dist/src/skill-commands.d.ts +1 -0
  439. package/dist/src/skill-commands.js +11 -0
  440. package/dist/src/skills/bundled/ai-elements/SKILL.md +155 -0
  441. package/dist/src/skills/bundled/ai-elements/references/agent.md +138 -0
  442. package/dist/src/skills/bundled/ai-elements/references/artifact.md +91 -0
  443. package/dist/src/skills/bundled/ai-elements/references/attachments.md +197 -0
  444. package/dist/src/skills/bundled/ai-elements/references/audio-player.md +141 -0
  445. package/dist/src/skills/bundled/ai-elements/references/canvas.md +39 -0
  446. package/dist/src/skills/bundled/ai-elements/references/chain-of-thought.md +88 -0
  447. package/dist/src/skills/bundled/ai-elements/references/checkpoint.md +171 -0
  448. package/dist/src/skills/bundled/ai-elements/references/code-block.md +177 -0
  449. package/dist/src/skills/bundled/ai-elements/references/commit.md +184 -0
  450. package/dist/src/skills/bundled/ai-elements/references/confirmation.md +268 -0
  451. package/dist/src/skills/bundled/ai-elements/references/connection.md +39 -0
  452. package/dist/src/skills/bundled/ai-elements/references/context.md +133 -0
  453. package/dist/src/skills/bundled/ai-elements/references/controls.md +37 -0
  454. package/dist/src/skills/bundled/ai-elements/references/conversation.md +224 -0
  455. package/dist/src/skills/bundled/ai-elements/references/edge.md +57 -0
  456. package/dist/src/skills/bundled/ai-elements/references/environment-variables.md +109 -0
  457. package/dist/src/skills/bundled/ai-elements/references/file-tree.md +79 -0
  458. package/dist/src/skills/bundled/ai-elements/references/image.md +150 -0
  459. package/dist/src/skills/bundled/ai-elements/references/inline-citation.md +300 -0
  460. package/dist/src/skills/bundled/ai-elements/references/jsx-preview.md +108 -0
  461. package/dist/src/skills/bundled/ai-elements/references/message.md +231 -0
  462. package/dist/src/skills/bundled/ai-elements/references/mic-selector.md +193 -0
  463. package/dist/src/skills/bundled/ai-elements/references/model-selector.md +119 -0
  464. package/dist/src/skills/bundled/ai-elements/references/node.md +78 -0
  465. package/dist/src/skills/bundled/ai-elements/references/open-in-chat.md +74 -0
  466. package/dist/src/skills/bundled/ai-elements/references/package-info.md +102 -0
  467. package/dist/src/skills/bundled/ai-elements/references/panel.md +38 -0
  468. package/dist/src/skills/bundled/ai-elements/references/persona.md +173 -0
  469. package/dist/src/skills/bundled/ai-elements/references/plan.md +86 -0
  470. package/dist/src/skills/bundled/ai-elements/references/prompt-input.md +572 -0
  471. package/dist/src/skills/bundled/ai-elements/references/queue.md +179 -0
  472. package/dist/src/skills/bundled/ai-elements/references/reasoning.md +226 -0
  473. package/dist/src/skills/bundled/ai-elements/references/sandbox.md +133 -0
  474. package/dist/src/skills/bundled/ai-elements/references/schema-display.md +109 -0
  475. package/dist/src/skills/bundled/ai-elements/references/shimmer.md +55 -0
  476. package/dist/src/skills/bundled/ai-elements/references/snippet.md +71 -0
  477. package/dist/src/skills/bundled/ai-elements/references/sources.md +200 -0
  478. package/dist/src/skills/bundled/ai-elements/references/speech-input.md +167 -0
  479. package/dist/src/skills/bundled/ai-elements/references/stack-trace.md +225 -0
  480. package/dist/src/skills/bundled/ai-elements/references/suggestion.md +128 -0
  481. package/dist/src/skills/bundled/ai-elements/references/task.md +222 -0
  482. package/dist/src/skills/bundled/ai-elements/references/terminal.md +110 -0
  483. package/dist/src/skills/bundled/ai-elements/references/test-results.md +164 -0
  484. package/dist/src/skills/bundled/ai-elements/references/tool.md +282 -0
  485. package/dist/src/skills/bundled/ai-elements/references/toolbar.md +37 -0
  486. package/dist/src/skills/bundled/ai-elements/references/transcription.md +127 -0
  487. package/dist/src/skills/bundled/ai-elements/references/voice-selector.md +248 -0
  488. package/dist/src/skills/bundled/ai-elements/references/web-preview.md +204 -0
  489. package/dist/src/skills/bundled/ai-elements/scripts/agent.tsx +67 -0
  490. package/dist/src/skills/bundled/ai-elements/scripts/artifact.tsx +117 -0
  491. package/dist/src/skills/bundled/ai-elements/scripts/attachments-inline.tsx +123 -0
  492. package/dist/src/skills/bundled/ai-elements/scripts/attachments-list.tsx +94 -0
  493. package/dist/src/skills/bundled/ai-elements/scripts/attachments.tsx +84 -0
  494. package/dist/src/skills/bundled/ai-elements/scripts/audio-player-remote.tsx +35 -0
  495. package/dist/src/skills/bundled/ai-elements/scripts/audio-player.tsx +74 -0
  496. package/dist/src/skills/bundled/ai-elements/scripts/chain-of-thought.tsx +80 -0
  497. package/dist/src/skills/bundled/ai-elements/scripts/checkpoint.tsx +96 -0
  498. package/dist/src/skills/bundled/ai-elements/scripts/code-block-dark.tsx +46 -0
  499. package/dist/src/skills/bundled/ai-elements/scripts/code-block.tsx +120 -0
  500. package/dist/src/skills/bundled/ai-elements/scripts/commit.tsx +94 -0
  501. package/dist/src/skills/bundled/ai-elements/scripts/confirmation-accepted.tsx +41 -0
  502. package/dist/src/skills/bundled/ai-elements/scripts/confirmation-rejected.tsx +41 -0
  503. package/dist/src/skills/bundled/ai-elements/scripts/confirmation-request.tsx +54 -0
  504. package/dist/src/skills/bundled/ai-elements/scripts/confirmation.tsx +59 -0
  505. package/dist/src/skills/bundled/ai-elements/scripts/context.tsx +45 -0
  506. package/dist/src/skills/bundled/ai-elements/scripts/conversation.tsx +182 -0
  507. package/dist/src/skills/bundled/ai-elements/scripts/environment-variables.tsx +61 -0
  508. package/dist/src/skills/bundled/ai-elements/scripts/file-tree-basic.tsx +20 -0
  509. package/dist/src/skills/bundled/ai-elements/scripts/file-tree-expanded.tsx +23 -0
  510. package/dist/src/skills/bundled/ai-elements/scripts/file-tree-selection.tsx +26 -0
  511. package/dist/src/skills/bundled/ai-elements/scripts/file-tree.tsx +44 -0
  512. package/dist/src/skills/bundled/ai-elements/scripts/image.tsx +20 -0
  513. package/dist/src/skills/bundled/ai-elements/scripts/inline-citation.tsx +101 -0
  514. package/dist/src/skills/bundled/ai-elements/scripts/jsx-preview.tsx +105 -0
  515. package/dist/src/skills/bundled/ai-elements/scripts/message.tsx +330 -0
  516. package/dist/src/skills/bundled/ai-elements/scripts/mic-selector.tsx +52 -0
  517. package/dist/src/skills/bundled/ai-elements/scripts/model-selector.tsx +368 -0
  518. package/dist/src/skills/bundled/ai-elements/scripts/open-in-chat.tsx +33 -0
  519. package/dist/src/skills/bundled/ai-elements/scripts/package-info.tsx +52 -0
  520. package/dist/src/skills/bundled/ai-elements/scripts/persona-command.tsx +101 -0
  521. package/dist/src/skills/bundled/ai-elements/scripts/persona-glint.tsx +101 -0
  522. package/dist/src/skills/bundled/ai-elements/scripts/persona-halo.tsx +101 -0
  523. package/dist/src/skills/bundled/ai-elements/scripts/persona-mana.tsx +101 -0
  524. package/dist/src/skills/bundled/ai-elements/scripts/persona-obsidian.tsx +101 -0
  525. package/dist/src/skills/bundled/ai-elements/scripts/persona-opal.tsx +101 -0
  526. package/dist/src/skills/bundled/ai-elements/scripts/plan.tsx +69 -0
  527. package/dist/src/skills/bundled/ai-elements/scripts/prompt-input-cursor.tsx +462 -0
  528. package/dist/src/skills/bundled/ai-elements/scripts/prompt-input-tooltip.tsx +46 -0
  529. package/dist/src/skills/bundled/ai-elements/scripts/prompt-input.tsx +254 -0
  530. package/dist/src/skills/bundled/ai-elements/scripts/queue-prompt-input.tsx +372 -0
  531. package/dist/src/skills/bundled/ai-elements/scripts/queue.tsx +281 -0
  532. package/dist/src/skills/bundled/ai-elements/scripts/reasoning.tsx +73 -0
  533. package/dist/src/skills/bundled/ai-elements/scripts/sandbox.tsx +171 -0
  534. package/dist/src/skills/bundled/ai-elements/scripts/schema-display-basic.tsx +13 -0
  535. package/dist/src/skills/bundled/ai-elements/scripts/schema-display-body.tsx +20 -0
  536. package/dist/src/skills/bundled/ai-elements/scripts/schema-display-nested.tsx +23 -0
  537. package/dist/src/skills/bundled/ai-elements/scripts/schema-display-params.tsx +16 -0
  538. package/dist/src/skills/bundled/ai-elements/scripts/schema-display.tsx +110 -0
  539. package/dist/src/skills/bundled/ai-elements/scripts/shimmer-duration.tsx +35 -0
  540. package/dist/src/skills/bundled/ai-elements/scripts/shimmer-elements.tsx +45 -0
  541. package/dist/src/skills/bundled/ai-elements/scripts/shimmer.tsx +17 -0
  542. package/dist/src/skills/bundled/ai-elements/scripts/snippet-plain.tsx +19 -0
  543. package/dist/src/skills/bundled/ai-elements/scripts/snippet.tsx +25 -0
  544. package/dist/src/skills/bundled/ai-elements/scripts/sources-custom.tsx +40 -0
  545. package/dist/src/skills/bundled/ai-elements/scripts/sources.tsx +33 -0
  546. package/dist/src/skills/bundled/ai-elements/scripts/speech-input.tsx +85 -0
  547. package/dist/src/skills/bundled/ai-elements/scripts/stack-trace-collapsed.tsx +39 -0
  548. package/dist/src/skills/bundled/ai-elements/scripts/stack-trace-no-internal.tsx +41 -0
  549. package/dist/src/skills/bundled/ai-elements/scripts/stack-trace.tsx +60 -0
  550. package/dist/src/skills/bundled/ai-elements/scripts/suggestion-input.tsx +142 -0
  551. package/dist/src/skills/bundled/ai-elements/scripts/suggestion.tsx +34 -0
  552. package/dist/src/skills/bundled/ai-elements/scripts/task.tsx +59 -0
  553. package/dist/src/skills/bundled/ai-elements/scripts/terminal-basic.tsx +7 -0
  554. package/dist/src/skills/bundled/ai-elements/scripts/terminal-clear.tsx +19 -0
  555. package/dist/src/skills/bundled/ai-elements/scripts/terminal-streaming.tsx +38 -0
  556. package/dist/src/skills/bundled/ai-elements/scripts/terminal.tsx +83 -0
  557. package/dist/src/skills/bundled/ai-elements/scripts/test-results-basic.tsx +27 -0
  558. package/dist/src/skills/bundled/ai-elements/scripts/test-results-errors.tsx +51 -0
  559. package/dist/src/skills/bundled/ai-elements/scripts/test-results-suites.tsx +40 -0
  560. package/dist/src/skills/bundled/ai-elements/scripts/test-results.tsx +84 -0
  561. package/dist/src/skills/bundled/ai-elements/scripts/tool-input-available.tsx +31 -0
  562. package/dist/src/skills/bundled/ai-elements/scripts/tool-input-streaming.tsx +30 -0
  563. package/dist/src/skills/bundled/ai-elements/scripts/tool-output-available.tsx +81 -0
  564. package/dist/src/skills/bundled/ai-elements/scripts/tool-output-error.tsx +50 -0
  565. package/dist/src/skills/bundled/ai-elements/scripts/tool.tsx +210 -0
  566. package/dist/src/skills/bundled/ai-elements/scripts/transcription.tsx +289 -0
  567. package/dist/src/skills/bundled/ai-elements/scripts/voice-selector.tsx +233 -0
  568. package/dist/src/skills/bundled/ai-elements/scripts/web-preview.tsx +105 -0
  569. package/dist/src/skills/bundled/control-browser/SKILL.md +21 -0
  570. package/dist/src/skills/bundled/dynamic-workflows/SKILL.md +1520 -0
  571. package/dist/src/skills/bundled/dynamic-workflows/examples.md +801 -0
  572. package/dist/src/skills/bundled/dynamic-workflows/patterns.md +460 -0
  573. package/dist/src/skills/bundled/provenance.json +684 -0
  574. package/dist/src/skills/bundled/web-gui-tester/SKILL.md +159 -0
  575. package/dist/src/skills/project-skills.d.ts +11 -0
  576. package/dist/src/skills/project-skills.js +132 -0
  577. package/dist/src/skills/runtime-skills.d.ts +10 -0
  578. package/dist/src/skills/runtime-skills.js +237 -0
  579. package/dist/src/subagent-run.d.ts +278 -0
  580. package/dist/src/subagent-run.js +930 -0
  581. package/dist/src/telemetry/aggregate.d.ts +80 -0
  582. package/dist/src/telemetry/aggregate.js +217 -0
  583. package/dist/src/telemetry/capture-core.d.ts +190 -0
  584. package/dist/src/telemetry/capture-core.js +374 -0
  585. package/dist/src/telemetry/capture.d.ts +5 -0
  586. package/dist/src/telemetry/capture.js +16 -0
  587. package/dist/src/telemetry/classify.d.ts +102 -0
  588. package/dist/src/telemetry/classify.js +252 -0
  589. package/dist/src/telemetry/decision-capture.d.ts +13 -0
  590. package/dist/src/telemetry/decision-capture.js +40 -0
  591. package/dist/src/telemetry/emitter.d.ts +77 -0
  592. package/dist/src/telemetry/emitter.js +279 -0
  593. package/dist/src/telemetry/gate.d.ts +48 -0
  594. package/dist/src/telemetry/gate.js +55 -0
  595. package/dist/src/telemetry/identity.d.ts +19 -0
  596. package/dist/src/telemetry/identity.js +109 -0
  597. package/dist/src/telemetry/outbox.d.ts +91 -0
  598. package/dist/src/telemetry/outbox.js +356 -0
  599. package/dist/src/telemetry/schema.d.ts +184 -0
  600. package/dist/src/telemetry/schema.js +492 -0
  601. package/dist/src/telemetry/state.d.ts +90 -0
  602. package/dist/src/telemetry/state.js +195 -0
  603. package/dist/src/telemetry/surface.d.ts +76 -0
  604. package/dist/src/telemetry/surface.js +116 -0
  605. package/dist/src/telemetry/uploader.d.ts +29 -0
  606. package/dist/src/telemetry/uploader.js +151 -0
  607. package/dist/src/telemetry/uploads.d.ts +13 -0
  608. package/dist/src/telemetry/uploads.js +19 -0
  609. package/dist/src/telemetry/version.d.ts +5 -0
  610. package/dist/src/telemetry/version.js +25 -0
  611. package/dist/src/telemetry/workspace.d.ts +14 -0
  612. package/dist/src/telemetry/workspace.js +93 -0
  613. package/dist/src/terminal-ui.d.ts +744 -0
  614. package/dist/src/terminal-ui.js +3012 -0
  615. package/dist/src/text.d.ts +2 -0
  616. package/dist/src/text.js +8 -0
  617. package/dist/src/timers.d.ts +189 -0
  618. package/dist/src/timers.js +244 -0
  619. package/dist/src/todos.d.ts +12 -0
  620. package/dist/src/todos.js +33 -0
  621. package/dist/src/token-rate.d.ts +119 -0
  622. package/dist/src/token-rate.js +287 -0
  623. package/dist/src/tool-activity.d.ts +20 -0
  624. package/dist/src/tool-activity.js +76 -0
  625. package/dist/src/tool-call-clock.d.ts +32 -0
  626. package/dist/src/tool-call-clock.js +157 -0
  627. package/dist/src/tool-catalog.d.ts +40 -0
  628. package/dist/src/tool-catalog.js +100 -0
  629. package/dist/src/tool-dependencies.d.ts +23 -0
  630. package/dist/src/tool-dependencies.js +36 -0
  631. package/dist/src/tool-diff-stats.d.ts +24 -0
  632. package/dist/src/tool-diff-stats.js +122 -0
  633. package/dist/src/tool-errors.d.ts +12 -0
  634. package/dist/src/tool-errors.js +13 -0
  635. package/dist/src/tool-failure-tracker.d.ts +17 -0
  636. package/dist/src/tool-failure-tracker.js +71 -0
  637. package/dist/src/tool-names.d.ts +16 -0
  638. package/dist/src/tool-names.js +75 -0
  639. package/dist/src/tool-result-filter.d.ts +65 -0
  640. package/dist/src/tool-result-filter.js +447 -0
  641. package/dist/src/tool-schema-compatibility.d.ts +2 -0
  642. package/dist/src/tool-schema-compatibility.js +42 -0
  643. package/dist/src/tools.d.ts +3 -0
  644. package/dist/src/tools.js +663 -0
  645. package/dist/src/trajectory.d.ts +34 -0
  646. package/dist/src/trajectory.js +426 -0
  647. package/dist/src/transcript.d.ts +45 -0
  648. package/dist/src/transcript.js +228 -0
  649. package/dist/src/types.d.ts +248 -0
  650. package/dist/src/types.js +1 -0
  651. package/dist/src/update.d.ts +58 -0
  652. package/dist/src/update.js +571 -0
  653. package/dist/src/usage-analytics.d.ts +48 -0
  654. package/dist/src/usage-analytics.js +663 -0
  655. package/dist/src/widgets.d.ts +45 -0
  656. package/dist/src/widgets.js +71 -0
  657. package/dist/src/workspace-facts.d.ts +35 -0
  658. package/dist/src/workspace-facts.js +85 -0
  659. package/dist/src/workspace-git-metadata.d.ts +6 -0
  660. package/dist/src/workspace-git-metadata.js +114 -0
  661. package/dist/src/workspace-instructions.d.ts +7 -0
  662. package/dist/src/workspace-instructions.js +46 -0
  663. package/dist/vendor/engine/LICENSE.upstream +21 -0
  664. package/dist/vendor/engine/provenance.json +17923 -0
  665. package/dist/vendor/engine/runtime/agent/agent-loop.d.ts +23 -0
  666. package/dist/vendor/engine/runtime/agent/agent-loop.js +601 -0
  667. package/dist/vendor/engine/runtime/agent/agent.d.ts +130 -0
  668. package/dist/vendor/engine/runtime/agent/agent.js +430 -0
  669. package/dist/vendor/engine/runtime/agent/harness/agent-harness.d.ts +715 -0
  670. package/dist/vendor/engine/runtime/agent/harness/agent-harness.js +5 -0
  671. package/dist/vendor/engine/runtime/agent/harness/compaction/branch-summarization.d.ts +67 -0
  672. package/dist/vendor/engine/runtime/agent/harness/compaction/branch-summarization.js +175 -0
  673. package/dist/vendor/engine/runtime/agent/harness/compaction/compaction.d.ts +125 -0
  674. package/dist/vendor/engine/runtime/agent/harness/compaction/compaction.js +559 -0
  675. package/dist/vendor/engine/runtime/agent/harness/compaction/utils.d.ts +24 -0
  676. package/dist/vendor/engine/runtime/agent/harness/compaction/utils.js +119 -0
  677. package/dist/vendor/engine/runtime/agent/harness/config.d.ts +8 -0
  678. package/dist/vendor/engine/runtime/agent/harness/config.js +34 -0
  679. package/dist/vendor/engine/runtime/agent/harness/context.d.ts +8 -0
  680. package/dist/vendor/engine/runtime/agent/harness/context.js +12 -0
  681. package/dist/vendor/engine/runtime/agent/harness/events.d.ts +24 -0
  682. package/dist/vendor/engine/runtime/agent/harness/events.js +249 -0
  683. package/dist/vendor/engine/runtime/agent/harness/execution/assistant.d.ts +41 -0
  684. package/dist/vendor/engine/runtime/agent/harness/execution/assistant.js +81 -0
  685. package/dist/vendor/engine/runtime/agent/harness/execution/effect-gate.d.ts +21 -0
  686. package/dist/vendor/engine/runtime/agent/harness/execution/effect-gate.js +48 -0
  687. package/dist/vendor/engine/runtime/agent/harness/execution/tools.d.ts +66 -0
  688. package/dist/vendor/engine/runtime/agent/harness/execution/tools.js +118 -0
  689. package/dist/vendor/engine/runtime/agent/harness/hooks.d.ts +37 -0
  690. package/dist/vendor/engine/runtime/agent/harness/hooks.js +405 -0
  691. package/dist/vendor/engine/runtime/agent/harness/messages.d.ts +50 -0
  692. package/dist/vendor/engine/runtime/agent/harness/messages.js +102 -0
  693. package/dist/vendor/engine/runtime/agent/harness/prompt-templates.d.ts +48 -0
  694. package/dist/vendor/engine/runtime/agent/harness/prompt-templates.js +224 -0
  695. package/dist/vendor/engine/runtime/agent/harness/result.d.ts +132 -0
  696. package/dist/vendor/engine/runtime/agent/harness/result.js +80 -0
  697. package/dist/vendor/engine/runtime/agent/harness/runtime/drive/boundary.d.ts +27 -0
  698. package/dist/vendor/engine/runtime/agent/harness/runtime/drive/boundary.js +172 -0
  699. package/dist/vendor/engine/runtime/agent/harness/runtime/drive/checkpoint.d.ts +7 -0
  700. package/dist/vendor/engine/runtime/agent/harness/runtime/drive/checkpoint.js +132 -0
  701. package/dist/vendor/engine/runtime/agent/harness/runtime/drive/deferred.d.ts +14 -0
  702. package/dist/vendor/engine/runtime/agent/harness/runtime/drive/deferred.js +178 -0
  703. package/dist/vendor/engine/runtime/agent/harness/runtime/drive/generation.d.ts +7 -0
  704. package/dist/vendor/engine/runtime/agent/harness/runtime/drive/generation.js +204 -0
  705. package/dist/vendor/engine/runtime/agent/harness/runtime/drive/reconcile.d.ts +4 -0
  706. package/dist/vendor/engine/runtime/agent/harness/runtime/drive/reconcile.js +139 -0
  707. package/dist/vendor/engine/runtime/agent/harness/runtime/drive/recovery.d.ts +7 -0
  708. package/dist/vendor/engine/runtime/agent/harness/runtime/drive/recovery.js +84 -0
  709. package/dist/vendor/engine/runtime/agent/harness/runtime/drive/response.d.ts +22 -0
  710. package/dist/vendor/engine/runtime/agent/harness/runtime/drive/response.js +393 -0
  711. package/dist/vendor/engine/runtime/agent/harness/runtime/drive/retry.d.ts +3 -0
  712. package/dist/vendor/engine/runtime/agent/harness/runtime/drive/retry.js +33 -0
  713. package/dist/vendor/engine/runtime/agent/harness/runtime/drive/structural.d.ts +31 -0
  714. package/dist/vendor/engine/runtime/agent/harness/runtime/drive/structural.js +928 -0
  715. package/dist/vendor/engine/runtime/agent/harness/runtime/drive/terminal.d.ts +6 -0
  716. package/dist/vendor/engine/runtime/agent/harness/runtime/drive/terminal.js +48 -0
  717. package/dist/vendor/engine/runtime/agent/harness/runtime/drive/tool-placement.d.ts +13 -0
  718. package/dist/vendor/engine/runtime/agent/harness/runtime/drive/tool-placement.js +218 -0
  719. package/dist/vendor/engine/runtime/agent/harness/runtime/drive/tools.d.ts +5 -0
  720. package/dist/vendor/engine/runtime/agent/harness/runtime/drive/tools.js +448 -0
  721. package/dist/vendor/engine/runtime/agent/harness/runtime/drive.d.ts +5 -0
  722. package/dist/vendor/engine/runtime/agent/harness/runtime/drive.js +92 -0
  723. package/dist/vendor/engine/runtime/agent/harness/runtime/harness.d.ts +58 -0
  724. package/dist/vendor/engine/runtime/agent/harness/runtime/harness.js +310 -0
  725. package/dist/vendor/engine/runtime/agent/harness/runtime/lane.d.ts +117 -0
  726. package/dist/vendor/engine/runtime/agent/harness/runtime/lane.js +1574 -0
  727. package/dist/vendor/engine/runtime/agent/harness/runtime/progress.d.ts +14 -0
  728. package/dist/vendor/engine/runtime/agent/harness/runtime/progress.js +65 -0
  729. package/dist/vendor/engine/runtime/agent/harness/runtime/reducer.d.ts +4 -0
  730. package/dist/vendor/engine/runtime/agent/harness/runtime/reducer.js +239 -0
  731. package/dist/vendor/engine/runtime/agent/harness/runtime/restore.d.ts +23 -0
  732. package/dist/vendor/engine/runtime/agent/harness/runtime/restore.js +116 -0
  733. package/dist/vendor/engine/runtime/agent/harness/runtime/transcript.d.ts +20 -0
  734. package/dist/vendor/engine/runtime/agent/harness/runtime/transcript.js +71 -0
  735. package/dist/vendor/engine/runtime/agent/harness/runtime/types.d.ts +104 -0
  736. package/dist/vendor/engine/runtime/agent/harness/runtime/types.js +60 -0
  737. package/dist/vendor/engine/runtime/agent/harness/session/commit.d.ts +52 -0
  738. package/dist/vendor/engine/runtime/agent/harness/session/commit.js +56 -0
  739. package/dist/vendor/engine/runtime/agent/harness/session/context.d.ts +9 -0
  740. package/dist/vendor/engine/runtime/agent/harness/session/context.js +48 -0
  741. package/dist/vendor/engine/runtime/agent/harness/session/fork-policy.d.ts +20 -0
  742. package/dist/vendor/engine/runtime/agent/harness/session/fork-policy.js +54 -0
  743. package/dist/vendor/engine/runtime/agent/harness/session/fork.d.ts +15 -0
  744. package/dist/vendor/engine/runtime/agent/harness/session/fork.js +78 -0
  745. package/dist/vendor/engine/runtime/agent/harness/session/in-memory-storage-state.d.ts +38 -0
  746. package/dist/vendor/engine/runtime/agent/harness/session/in-memory-storage-state.js +275 -0
  747. package/dist/vendor/engine/runtime/agent/harness/session/index.d.ts +10 -0
  748. package/dist/vendor/engine/runtime/agent/harness/session/index.js +8 -0
  749. package/dist/vendor/engine/runtime/agent/harness/session/jsonl/codec.d.ts +20 -0
  750. package/dist/vendor/engine/runtime/agent/harness/session/jsonl/codec.js +44 -0
  751. package/dist/vendor/engine/runtime/agent/harness/session/jsonl/fork.d.ts +37 -0
  752. package/dist/vendor/engine/runtime/agent/harness/session/jsonl/fork.js +263 -0
  753. package/dist/vendor/engine/runtime/agent/harness/session/jsonl/index.d.ts +3 -0
  754. package/dist/vendor/engine/runtime/agent/harness/session/jsonl/index.js +3 -0
  755. package/dist/vendor/engine/runtime/agent/harness/session/jsonl/io.d.ts +13 -0
  756. package/dist/vendor/engine/runtime/agent/harness/session/jsonl/io.js +85 -0
  757. package/dist/vendor/engine/runtime/agent/harness/session/jsonl/legacy-v3.d.ts +43 -0
  758. package/dist/vendor/engine/runtime/agent/harness/session/jsonl/legacy-v3.js +461 -0
  759. package/dist/vendor/engine/runtime/agent/harness/session/jsonl/repo.d.ts +34 -0
  760. package/dist/vendor/engine/runtime/agent/harness/session/jsonl/repo.js +300 -0
  761. package/dist/vendor/engine/runtime/agent/harness/session/jsonl/storage.d.ts +40 -0
  762. package/dist/vendor/engine/runtime/agent/harness/session/jsonl/storage.js +199 -0
  763. package/dist/vendor/engine/runtime/agent/harness/session/jsonl/types.d.ts +38 -0
  764. package/dist/vendor/engine/runtime/agent/harness/session/jsonl/types.js +2 -0
  765. package/dist/vendor/engine/runtime/agent/harness/session/memory.d.ts +47 -0
  766. package/dist/vendor/engine/runtime/agent/harness/session/memory.js +368 -0
  767. package/dist/vendor/engine/runtime/agent/harness/session/mutation-line.d.ts +7 -0
  768. package/dist/vendor/engine/runtime/agent/harness/session/mutation-line.js +20 -0
  769. package/dist/vendor/engine/runtime/agent/harness/session/session.d.ts +81 -0
  770. package/dist/vendor/engine/runtime/agent/harness/session/session.js +360 -0
  771. package/dist/vendor/engine/runtime/agent/harness/session/types.d.ts +511 -0
  772. package/dist/vendor/engine/runtime/agent/harness/session/types.js +8 -0
  773. package/dist/vendor/engine/runtime/agent/harness/session/values.d.ts +94 -0
  774. package/dist/vendor/engine/runtime/agent/harness/session/values.js +80 -0
  775. package/dist/vendor/engine/runtime/agent/harness/skills.d.ts +45 -0
  776. package/dist/vendor/engine/runtime/agent/harness/skills.js +325 -0
  777. package/dist/vendor/engine/runtime/agent/harness/system-prompt.d.ts +2 -0
  778. package/dist/vendor/engine/runtime/agent/harness/system-prompt.js +29 -0
  779. package/dist/vendor/engine/runtime/agent/harness/telemetry.d.ts +1241 -0
  780. package/dist/vendor/engine/runtime/agent/harness/telemetry.js +526 -0
  781. package/dist/vendor/engine/runtime/agent/harness/tools/bash.d.ts +26 -0
  782. package/dist/vendor/engine/runtime/agent/harness/tools/bash.js +104 -0
  783. package/dist/vendor/engine/runtime/agent/harness/tools/edit-diff.d.ts +88 -0
  784. package/dist/vendor/engine/runtime/agent/harness/tools/edit-diff.js +385 -0
  785. package/dist/vendor/engine/runtime/agent/harness/tools/edit.d.ts +18 -0
  786. package/dist/vendor/engine/runtime/agent/harness/tools/edit.js +107 -0
  787. package/dist/vendor/engine/runtime/agent/harness/tools/file-mutation-queue.d.ts +4 -0
  788. package/dist/vendor/engine/runtime/agent/harness/tools/file-mutation-queue.js +45 -0
  789. package/dist/vendor/engine/runtime/agent/harness/tools/image.d.ts +2 -0
  790. package/dist/vendor/engine/runtime/agent/harness/tools/image.js +105 -0
  791. package/dist/vendor/engine/runtime/agent/harness/tools/index.d.ts +5 -0
  792. package/dist/vendor/engine/runtime/agent/harness/tools/index.js +4 -0
  793. package/dist/vendor/engine/runtime/agent/harness/tools/path-utils.d.ts +4 -0
  794. package/dist/vendor/engine/runtime/agent/harness/tools/path-utils.js +25 -0
  795. package/dist/vendor/engine/runtime/agent/harness/tools/read.d.ts +34 -0
  796. package/dist/vendor/engine/runtime/agent/harness/tools/read.js +107 -0
  797. package/dist/vendor/engine/runtime/agent/harness/tools/tool-context.d.ts +5 -0
  798. package/dist/vendor/engine/runtime/agent/harness/tools/tool-context.js +1 -0
  799. package/dist/vendor/engine/runtime/agent/harness/tools/write.d.ts +10 -0
  800. package/dist/vendor/engine/runtime/agent/harness/tools/write.js +30 -0
  801. package/dist/vendor/engine/runtime/agent/harness/types.d.ts +304 -0
  802. package/dist/vendor/engine/runtime/agent/harness/types.js +74 -0
  803. package/dist/vendor/engine/runtime/agent/harness/utils/adaptive-publisher.d.ts +23 -0
  804. package/dist/vendor/engine/runtime/agent/harness/utils/adaptive-publisher.js +78 -0
  805. package/dist/vendor/engine/runtime/agent/harness/utils/output-capture.d.ts +30 -0
  806. package/dist/vendor/engine/runtime/agent/harness/utils/output-capture.js +216 -0
  807. package/dist/vendor/engine/runtime/agent/harness/utils/shell-output.d.ts +28 -0
  808. package/dist/vendor/engine/runtime/agent/harness/utils/shell-output.js +70 -0
  809. package/dist/vendor/engine/runtime/agent/harness/utils/truncate.d.ts +70 -0
  810. package/dist/vendor/engine/runtime/agent/harness/utils/truncate.js +295 -0
  811. package/dist/vendor/engine/runtime/agent/harness/utils/usage.d.ts +3 -0
  812. package/dist/vendor/engine/runtime/agent/harness/utils/usage.js +32 -0
  813. package/dist/vendor/engine/runtime/agent/index.d.ts +27 -0
  814. package/dist/vendor/engine/runtime/agent/index.js +25 -0
  815. package/dist/vendor/engine/runtime/agent/proxy.d.ts +71 -0
  816. package/dist/vendor/engine/runtime/agent/proxy.js +309 -0
  817. package/dist/vendor/engine/runtime/agent/search/index.d.ts +28 -0
  818. package/dist/vendor/engine/runtime/agent/search/index.js +1 -0
  819. package/dist/vendor/engine/runtime/agent/stream-fn.d.ts +9 -0
  820. package/dist/vendor/engine/runtime/agent/stream-fn.js +16 -0
  821. package/dist/vendor/engine/runtime/agent/types.d.ts +431 -0
  822. package/dist/vendor/engine/runtime/agent/types.js +1 -0
  823. package/dist/vendor/engine/runtime/ai/api/anthropic-messages.d.ts +70 -0
  824. package/dist/vendor/engine/runtime/ai/api/anthropic-messages.js +1204 -0
  825. package/dist/vendor/engine/runtime/ai/api/anthropic-messages.lazy.d.ts +2 -0
  826. package/dist/vendor/engine/runtime/ai/api/anthropic-messages.lazy.js +2 -0
  827. package/dist/vendor/engine/runtime/ai/api/azure-openai-responses.d.ts +16 -0
  828. package/dist/vendor/engine/runtime/ai/api/azure-openai-responses.js +260 -0
  829. package/dist/vendor/engine/runtime/ai/api/azure-openai-responses.lazy.d.ts +2 -0
  830. package/dist/vendor/engine/runtime/ai/api/azure-openai-responses.lazy.js +2 -0
  831. package/dist/vendor/engine/runtime/ai/api/bedrock-converse-stream.d.ts +37 -0
  832. package/dist/vendor/engine/runtime/ai/api/bedrock-converse-stream.js +1091 -0
  833. package/dist/vendor/engine/runtime/ai/api/bedrock-converse-stream.lazy.d.ts +9 -0
  834. package/dist/vendor/engine/runtime/ai/api/bedrock-converse-stream.lazy.js +21 -0
  835. package/dist/vendor/engine/runtime/ai/api/constrained-sampling.d.ts +19 -0
  836. package/dist/vendor/engine/runtime/ai/api/constrained-sampling.js +221 -0
  837. package/dist/vendor/engine/runtime/ai/api/github-copilot-headers.d.ts +7 -0
  838. package/dist/vendor/engine/runtime/ai/api/github-copilot-headers.js +28 -0
  839. package/dist/vendor/engine/runtime/ai/api/google-generative-ai.d.ts +12 -0
  840. package/dist/vendor/engine/runtime/ai/api/google-generative-ai.js +368 -0
  841. package/dist/vendor/engine/runtime/ai/api/google-generative-ai.lazy.d.ts +2 -0
  842. package/dist/vendor/engine/runtime/ai/api/google-generative-ai.lazy.js +2 -0
  843. package/dist/vendor/engine/runtime/ai/api/google-shared.d.ts +92 -0
  844. package/dist/vendor/engine/runtime/ai/api/google-shared.js +450 -0
  845. package/dist/vendor/engine/runtime/ai/api/google-vertex.d.ts +14 -0
  846. package/dist/vendor/engine/runtime/ai/api/google-vertex.js +429 -0
  847. package/dist/vendor/engine/runtime/ai/api/google-vertex.lazy.d.ts +2 -0
  848. package/dist/vendor/engine/runtime/ai/api/google-vertex.lazy.js +2 -0
  849. package/dist/vendor/engine/runtime/ai/api/lazy.d.ts +24 -0
  850. package/dist/vendor/engine/runtime/ai/api/lazy.js +69 -0
  851. package/dist/vendor/engine/runtime/ai/api/mistral-conversations.d.ts +24 -0
  852. package/dist/vendor/engine/runtime/ai/api/mistral-conversations.js +747 -0
  853. package/dist/vendor/engine/runtime/ai/api/mistral-conversations.lazy.d.ts +2 -0
  854. package/dist/vendor/engine/runtime/ai/api/mistral-conversations.lazy.js +2 -0
  855. package/dist/vendor/engine/runtime/ai/api/openai-codex-responses.d.ts +30 -0
  856. package/dist/vendor/engine/runtime/ai/api/openai-codex-responses.js +1302 -0
  857. package/dist/vendor/engine/runtime/ai/api/openai-codex-responses.lazy.d.ts +2 -0
  858. package/dist/vendor/engine/runtime/ai/api/openai-codex-responses.lazy.js +2 -0
  859. package/dist/vendor/engine/runtime/ai/api/openai-completions.d.ts +25 -0
  860. package/dist/vendor/engine/runtime/ai/api/openai-completions.js +1339 -0
  861. package/dist/vendor/engine/runtime/ai/api/openai-completions.lazy.d.ts +2 -0
  862. package/dist/vendor/engine/runtime/ai/api/openai-completions.lazy.js +2 -0
  863. package/dist/vendor/engine/runtime/ai/api/openai-prompt-cache.d.ts +2 -0
  864. package/dist/vendor/engine/runtime/ai/api/openai-prompt-cache.js +9 -0
  865. package/dist/vendor/engine/runtime/ai/api/openai-responses-shared.d.ts +27 -0
  866. package/dist/vendor/engine/runtime/ai/api/openai-responses-shared.js +688 -0
  867. package/dist/vendor/engine/runtime/ai/api/openai-responses.d.ts +13 -0
  868. package/dist/vendor/engine/runtime/ai/api/openai-responses.js +292 -0
  869. package/dist/vendor/engine/runtime/ai/api/openai-responses.lazy.d.ts +2 -0
  870. package/dist/vendor/engine/runtime/ai/api/openai-responses.lazy.js +2 -0
  871. package/dist/vendor/engine/runtime/ai/api/openrouter-images.d.ts +2 -0
  872. package/dist/vendor/engine/runtime/ai/api/openrouter-images.js +131 -0
  873. package/dist/vendor/engine/runtime/ai/api/openrouter-images.lazy.d.ts +2 -0
  874. package/dist/vendor/engine/runtime/ai/api/openrouter-images.lazy.js +3 -0
  875. package/dist/vendor/engine/runtime/ai/api/pi-messages.d.ts +98 -0
  876. package/dist/vendor/engine/runtime/ai/api/pi-messages.js +312 -0
  877. package/dist/vendor/engine/runtime/ai/api/pi-messages.lazy.d.ts +2 -0
  878. package/dist/vendor/engine/runtime/ai/api/pi-messages.lazy.js +2 -0
  879. package/dist/vendor/engine/runtime/ai/api/simple-options.d.ts +14 -0
  880. package/dist/vendor/engine/runtime/ai/api/simple-options.js +65 -0
  881. package/dist/vendor/engine/runtime/ai/api/transform-messages.d.ts +7 -0
  882. package/dist/vendor/engine/runtime/ai/api/transform-messages.js +200 -0
  883. package/dist/vendor/engine/runtime/ai/auth/context.d.ts +6 -0
  884. package/dist/vendor/engine/runtime/ai/auth/context.js +33 -0
  885. package/dist/vendor/engine/runtime/ai/auth/credential-store.d.ts +16 -0
  886. package/dist/vendor/engine/runtime/ai/auth/credential-store.js +50 -0
  887. package/dist/vendor/engine/runtime/ai/auth/helpers.d.ts +21 -0
  888. package/dist/vendor/engine/runtime/ai/auth/helpers.js +52 -0
  889. package/dist/vendor/engine/runtime/ai/auth/oauth/load.d.ts +28 -0
  890. package/dist/vendor/engine/runtime/ai/auth/oauth/load.js +55 -0
  891. package/dist/vendor/engine/runtime/ai/auth/resolve.d.ts +26 -0
  892. package/dist/vendor/engine/runtime/ai/auth/resolve.js +131 -0
  893. package/dist/vendor/engine/runtime/ai/auth/types.d.ts +230 -0
  894. package/dist/vendor/engine/runtime/ai/auth/types.js +1 -0
  895. package/dist/vendor/engine/runtime/ai/compat/extension-oauth-types.d.ts +38 -0
  896. package/dist/vendor/engine/runtime/ai/compat/extension-oauth-types.js +1 -0
  897. package/dist/vendor/engine/runtime/ai/compat.d.ts +66 -0
  898. package/dist/vendor/engine/runtime/ai/compat.js +201 -0
  899. package/dist/vendor/engine/runtime/ai/env-api-keys.d.ts +20 -0
  900. package/dist/vendor/engine/runtime/ai/env-api-keys.js +148 -0
  901. package/dist/vendor/engine/runtime/ai/image-models.d.ts +9 -0
  902. package/dist/vendor/engine/runtime/ai/image-models.generated.d.ts +814 -0
  903. package/dist/vendor/engine/runtime/ai/image-models.generated.js +816 -0
  904. package/dist/vendor/engine/runtime/ai/image-models.js +22 -0
  905. package/dist/vendor/engine/runtime/ai/images-api-registry.d.ts +13 -0
  906. package/dist/vendor/engine/runtime/ai/images-api-registry.js +21 -0
  907. package/dist/vendor/engine/runtime/ai/images-models.d.ts +94 -0
  908. package/dist/vendor/engine/runtime/ai/images-models.js +142 -0
  909. package/dist/vendor/engine/runtime/ai/images.d.ts +3 -0
  910. package/dist/vendor/engine/runtime/ai/images.js +13 -0
  911. package/dist/vendor/engine/runtime/ai/index.d.ts +36 -0
  912. package/dist/vendor/engine/runtime/ai/index.js +23 -0
  913. package/dist/vendor/engine/runtime/ai/legacy-api-aliases.d.ts +41 -0
  914. package/dist/vendor/engine/runtime/ai/legacy-api-aliases.js +48 -0
  915. package/dist/vendor/engine/runtime/ai/model-catalog.d.ts +16 -0
  916. package/dist/vendor/engine/runtime/ai/model-catalog.js +3 -0
  917. package/dist/vendor/engine/runtime/ai/models-store.d.ts +28 -0
  918. package/dist/vendor/engine/runtime/ai/models-store.js +16 -0
  919. package/dist/vendor/engine/runtime/ai/models.d.ts +201 -0
  920. package/dist/vendor/engine/runtime/ai/models.generated.d.ts +84 -0
  921. package/dist/vendor/engine/runtime/ai/models.generated.js +86 -0
  922. package/dist/vendor/engine/runtime/ai/models.js +593 -0
  923. package/dist/vendor/engine/runtime/ai/oauth.d.ts +2 -0
  924. package/dist/vendor/engine/runtime/ai/oauth.js +1 -0
  925. package/dist/vendor/engine/runtime/ai/providers/all.d.ts +27 -0
  926. package/dist/vendor/engine/runtime/ai/providers/all.js +132 -0
  927. package/dist/vendor/engine/runtime/ai/providers/amazon-bedrock.d.ts +2 -0
  928. package/dist/vendor/engine/runtime/ai/providers/amazon-bedrock.js +92 -0
  929. package/dist/vendor/engine/runtime/ai/providers/amazon-bedrock.models.d.ts +3 -0
  930. package/dist/vendor/engine/runtime/ai/providers/amazon-bedrock.models.js +5 -0
  931. package/dist/vendor/engine/runtime/ai/providers/ant-ling.d.ts +2 -0
  932. package/dist/vendor/engine/runtime/ai/providers/ant-ling.js +14 -0
  933. package/dist/vendor/engine/runtime/ai/providers/ant-ling.models.d.ts +3 -0
  934. package/dist/vendor/engine/runtime/ai/providers/ant-ling.models.js +5 -0
  935. package/dist/vendor/engine/runtime/ai/providers/anthropic.d.ts +2 -0
  936. package/dist/vendor/engine/runtime/ai/providers/anthropic.js +55 -0
  937. package/dist/vendor/engine/runtime/ai/providers/anthropic.models.d.ts +3 -0
  938. package/dist/vendor/engine/runtime/ai/providers/anthropic.models.js +5 -0
  939. package/dist/vendor/engine/runtime/ai/providers/azure-openai-responses.d.ts +2 -0
  940. package/dist/vendor/engine/runtime/ai/providers/azure-openai-responses.js +13 -0
  941. package/dist/vendor/engine/runtime/ai/providers/azure-openai-responses.models.d.ts +3 -0
  942. package/dist/vendor/engine/runtime/ai/providers/azure-openai-responses.models.js +5 -0
  943. package/dist/vendor/engine/runtime/ai/providers/baseten.d.ts +2 -0
  944. package/dist/vendor/engine/runtime/ai/providers/baseten.js +14 -0
  945. package/dist/vendor/engine/runtime/ai/providers/baseten.models.d.ts +3 -0
  946. package/dist/vendor/engine/runtime/ai/providers/baseten.models.js +5 -0
  947. package/dist/vendor/engine/runtime/ai/providers/cerebras.d.ts +2 -0
  948. package/dist/vendor/engine/runtime/ai/providers/cerebras.js +14 -0
  949. package/dist/vendor/engine/runtime/ai/providers/cerebras.models.d.ts +3 -0
  950. package/dist/vendor/engine/runtime/ai/providers/cerebras.models.js +5 -0
  951. package/dist/vendor/engine/runtime/ai/providers/cloudflare-ai-gateway.d.ts +4 -0
  952. package/dist/vendor/engine/runtime/ai/providers/cloudflare-ai-gateway.js +24 -0
  953. package/dist/vendor/engine/runtime/ai/providers/cloudflare-ai-gateway.models.d.ts +3 -0
  954. package/dist/vendor/engine/runtime/ai/providers/cloudflare-ai-gateway.models.js +5 -0
  955. package/dist/vendor/engine/runtime/ai/providers/cloudflare-auth.d.ts +3 -0
  956. package/dist/vendor/engine/runtime/ai/providers/cloudflare-auth.js +85 -0
  957. package/dist/vendor/engine/runtime/ai/providers/cloudflare-stream.d.ts +7 -0
  958. package/dist/vendor/engine/runtime/ai/providers/cloudflare-stream.js +20 -0
  959. package/dist/vendor/engine/runtime/ai/providers/cloudflare-workers-ai.d.ts +2 -0
  960. package/dist/vendor/engine/runtime/ai/providers/cloudflare-workers-ai.js +14 -0
  961. package/dist/vendor/engine/runtime/ai/providers/cloudflare-workers-ai.models.d.ts +3 -0
  962. package/dist/vendor/engine/runtime/ai/providers/cloudflare-workers-ai.models.js +5 -0
  963. package/dist/vendor/engine/runtime/ai/providers/data/.manifest.json +1 -0
  964. package/dist/vendor/engine/runtime/ai/providers/data/amazon-bedrock.json +1 -0
  965. package/dist/vendor/engine/runtime/ai/providers/data/ant-ling.json +1 -0
  966. package/dist/vendor/engine/runtime/ai/providers/data/anthropic.json +1 -0
  967. package/dist/vendor/engine/runtime/ai/providers/data/azure-openai-responses.json +1 -0
  968. package/dist/vendor/engine/runtime/ai/providers/data/baseten.json +1 -0
  969. package/dist/vendor/engine/runtime/ai/providers/data/cerebras.json +1 -0
  970. package/dist/vendor/engine/runtime/ai/providers/data/cloudflare-ai-gateway.json +1 -0
  971. package/dist/vendor/engine/runtime/ai/providers/data/cloudflare-workers-ai.json +1 -0
  972. package/dist/vendor/engine/runtime/ai/providers/data/deepseek.json +1 -0
  973. package/dist/vendor/engine/runtime/ai/providers/data/fireworks.json +1 -0
  974. package/dist/vendor/engine/runtime/ai/providers/data/github-copilot.json +1 -0
  975. package/dist/vendor/engine/runtime/ai/providers/data/google-vertex.json +1 -0
  976. package/dist/vendor/engine/runtime/ai/providers/data/google.json +1 -0
  977. package/dist/vendor/engine/runtime/ai/providers/data/groq.json +1 -0
  978. package/dist/vendor/engine/runtime/ai/providers/data/huggingface.json +1 -0
  979. package/dist/vendor/engine/runtime/ai/providers/data/kimi-coding.json +1 -0
  980. package/dist/vendor/engine/runtime/ai/providers/data/meta.json +1 -0
  981. package/dist/vendor/engine/runtime/ai/providers/data/minimax-cn.json +1 -0
  982. package/dist/vendor/engine/runtime/ai/providers/data/minimax.json +1 -0
  983. package/dist/vendor/engine/runtime/ai/providers/data/mistral.json +1 -0
  984. package/dist/vendor/engine/runtime/ai/providers/data/moonshotai-cn.json +1 -0
  985. package/dist/vendor/engine/runtime/ai/providers/data/moonshotai.json +1 -0
  986. package/dist/vendor/engine/runtime/ai/providers/data/nvidia.json +1 -0
  987. package/dist/vendor/engine/runtime/ai/providers/data/openai-codex.json +1 -0
  988. package/dist/vendor/engine/runtime/ai/providers/data/openai.json +1 -0
  989. package/dist/vendor/engine/runtime/ai/providers/data/opencode-go.json +1 -0
  990. package/dist/vendor/engine/runtime/ai/providers/data/opencode.json +1 -0
  991. package/dist/vendor/engine/runtime/ai/providers/data/openrouter.json +1 -0
  992. package/dist/vendor/engine/runtime/ai/providers/data/qwen-token-plan-cn.json +1 -0
  993. package/dist/vendor/engine/runtime/ai/providers/data/qwen-token-plan-individual.json +1 -0
  994. package/dist/vendor/engine/runtime/ai/providers/data/qwen-token-plan.json +1 -0
  995. package/dist/vendor/engine/runtime/ai/providers/data/radius.json +1 -0
  996. package/dist/vendor/engine/runtime/ai/providers/data/together.json +1 -0
  997. package/dist/vendor/engine/runtime/ai/providers/data/vercel-ai-gateway.json +1 -0
  998. package/dist/vendor/engine/runtime/ai/providers/data/xai.json +1 -0
  999. package/dist/vendor/engine/runtime/ai/providers/data/xiaomi-token-plan-ams.json +1 -0
  1000. package/dist/vendor/engine/runtime/ai/providers/data/xiaomi-token-plan-cn.json +1 -0
  1001. package/dist/vendor/engine/runtime/ai/providers/data/xiaomi-token-plan-sgp.json +1 -0
  1002. package/dist/vendor/engine/runtime/ai/providers/data/xiaomi.json +1 -0
  1003. package/dist/vendor/engine/runtime/ai/providers/data/zai-coding-cn.json +1 -0
  1004. package/dist/vendor/engine/runtime/ai/providers/data/zai.json +1 -0
  1005. package/dist/vendor/engine/runtime/ai/providers/deepseek.d.ts +2 -0
  1006. package/dist/vendor/engine/runtime/ai/providers/deepseek.js +14 -0
  1007. package/dist/vendor/engine/runtime/ai/providers/deepseek.models.d.ts +3 -0
  1008. package/dist/vendor/engine/runtime/ai/providers/deepseek.models.js +5 -0
  1009. package/dist/vendor/engine/runtime/ai/providers/faux.d.ts +102 -0
  1010. package/dist/vendor/engine/runtime/ai/providers/faux.js +488 -0
  1011. package/dist/vendor/engine/runtime/ai/providers/fireworks.d.ts +2 -0
  1012. package/dist/vendor/engine/runtime/ai/providers/fireworks.js +18 -0
  1013. package/dist/vendor/engine/runtime/ai/providers/fireworks.models.d.ts +3 -0
  1014. package/dist/vendor/engine/runtime/ai/providers/fireworks.models.js +5 -0
  1015. package/dist/vendor/engine/runtime/ai/providers/github-copilot.d.ts +2 -0
  1016. package/dist/vendor/engine/runtime/ai/providers/github-copilot.js +34 -0
  1017. package/dist/vendor/engine/runtime/ai/providers/github-copilot.models.d.ts +3 -0
  1018. package/dist/vendor/engine/runtime/ai/providers/github-copilot.models.js +5 -0
  1019. package/dist/vendor/engine/runtime/ai/providers/google-vertex.d.ts +2 -0
  1020. package/dist/vendor/engine/runtime/ai/providers/google-vertex.js +93 -0
  1021. package/dist/vendor/engine/runtime/ai/providers/google-vertex.models.d.ts +3 -0
  1022. package/dist/vendor/engine/runtime/ai/providers/google-vertex.models.js +5 -0
  1023. package/dist/vendor/engine/runtime/ai/providers/google.d.ts +2 -0
  1024. package/dist/vendor/engine/runtime/ai/providers/google.js +14 -0
  1025. package/dist/vendor/engine/runtime/ai/providers/google.models.d.ts +3 -0
  1026. package/dist/vendor/engine/runtime/ai/providers/google.models.js +5 -0
  1027. package/dist/vendor/engine/runtime/ai/providers/groq.d.ts +2 -0
  1028. package/dist/vendor/engine/runtime/ai/providers/groq.js +14 -0
  1029. package/dist/vendor/engine/runtime/ai/providers/groq.models.d.ts +3 -0
  1030. package/dist/vendor/engine/runtime/ai/providers/groq.models.js +5 -0
  1031. package/dist/vendor/engine/runtime/ai/providers/huggingface.d.ts +2 -0
  1032. package/dist/vendor/engine/runtime/ai/providers/huggingface.js +14 -0
  1033. package/dist/vendor/engine/runtime/ai/providers/huggingface.models.d.ts +3 -0
  1034. package/dist/vendor/engine/runtime/ai/providers/huggingface.models.js +5 -0
  1035. package/dist/vendor/engine/runtime/ai/providers/images/register-builtins.d.ts +3 -0
  1036. package/dist/vendor/engine/runtime/ai/providers/images/register-builtins.js +33 -0
  1037. package/dist/vendor/engine/runtime/ai/providers/kimi-coding.d.ts +2 -0
  1038. package/dist/vendor/engine/runtime/ai/providers/kimi-coding.js +23 -0
  1039. package/dist/vendor/engine/runtime/ai/providers/kimi-coding.models.d.ts +3 -0
  1040. package/dist/vendor/engine/runtime/ai/providers/kimi-coding.models.js +5 -0
  1041. package/dist/vendor/engine/runtime/ai/providers/meta.d.ts +2 -0
  1042. package/dist/vendor/engine/runtime/ai/providers/meta.js +23 -0
  1043. package/dist/vendor/engine/runtime/ai/providers/meta.models.d.ts +3 -0
  1044. package/dist/vendor/engine/runtime/ai/providers/meta.models.js +5 -0
  1045. package/dist/vendor/engine/runtime/ai/providers/minimax-cn.d.ts +2 -0
  1046. package/dist/vendor/engine/runtime/ai/providers/minimax-cn.js +14 -0
  1047. package/dist/vendor/engine/runtime/ai/providers/minimax-cn.models.d.ts +3 -0
  1048. package/dist/vendor/engine/runtime/ai/providers/minimax-cn.models.js +5 -0
  1049. package/dist/vendor/engine/runtime/ai/providers/minimax.d.ts +2 -0
  1050. package/dist/vendor/engine/runtime/ai/providers/minimax.js +14 -0
  1051. package/dist/vendor/engine/runtime/ai/providers/minimax.models.d.ts +3 -0
  1052. package/dist/vendor/engine/runtime/ai/providers/minimax.models.js +5 -0
  1053. package/dist/vendor/engine/runtime/ai/providers/mistral.d.ts +2 -0
  1054. package/dist/vendor/engine/runtime/ai/providers/mistral.js +14 -0
  1055. package/dist/vendor/engine/runtime/ai/providers/mistral.models.d.ts +3 -0
  1056. package/dist/vendor/engine/runtime/ai/providers/mistral.models.js +5 -0
  1057. package/dist/vendor/engine/runtime/ai/providers/moonshotai-cn.d.ts +2 -0
  1058. package/dist/vendor/engine/runtime/ai/providers/moonshotai-cn.js +14 -0
  1059. package/dist/vendor/engine/runtime/ai/providers/moonshotai-cn.models.d.ts +3 -0
  1060. package/dist/vendor/engine/runtime/ai/providers/moonshotai-cn.models.js +5 -0
  1061. package/dist/vendor/engine/runtime/ai/providers/moonshotai.d.ts +2 -0
  1062. package/dist/vendor/engine/runtime/ai/providers/moonshotai.js +14 -0
  1063. package/dist/vendor/engine/runtime/ai/providers/moonshotai.models.d.ts +3 -0
  1064. package/dist/vendor/engine/runtime/ai/providers/moonshotai.models.js +5 -0
  1065. package/dist/vendor/engine/runtime/ai/providers/nvidia.d.ts +2 -0
  1066. package/dist/vendor/engine/runtime/ai/providers/nvidia.js +14 -0
  1067. package/dist/vendor/engine/runtime/ai/providers/nvidia.models.d.ts +3 -0
  1068. package/dist/vendor/engine/runtime/ai/providers/nvidia.models.js +5 -0
  1069. package/dist/vendor/engine/runtime/ai/providers/openai-codex.d.ts +2 -0
  1070. package/dist/vendor/engine/runtime/ai/providers/openai-codex.js +21 -0
  1071. package/dist/vendor/engine/runtime/ai/providers/openai-codex.models.d.ts +3 -0
  1072. package/dist/vendor/engine/runtime/ai/providers/openai-codex.models.js +5 -0
  1073. package/dist/vendor/engine/runtime/ai/providers/openai.d.ts +2 -0
  1074. package/dist/vendor/engine/runtime/ai/providers/openai.js +14 -0
  1075. package/dist/vendor/engine/runtime/ai/providers/openai.models.d.ts +3 -0
  1076. package/dist/vendor/engine/runtime/ai/providers/openai.models.js +5 -0
  1077. package/dist/vendor/engine/runtime/ai/providers/opencode-go.d.ts +2 -0
  1078. package/dist/vendor/engine/runtime/ai/providers/opencode-go.js +20 -0
  1079. package/dist/vendor/engine/runtime/ai/providers/opencode-go.models.d.ts +3 -0
  1080. package/dist/vendor/engine/runtime/ai/providers/opencode-go.models.js +5 -0
  1081. package/dist/vendor/engine/runtime/ai/providers/opencode-headers.d.ts +3 -0
  1082. package/dist/vendor/engine/runtime/ai/providers/opencode-headers.js +21 -0
  1083. package/dist/vendor/engine/runtime/ai/providers/opencode.d.ts +2 -0
  1084. package/dist/vendor/engine/runtime/ai/providers/opencode.js +22 -0
  1085. package/dist/vendor/engine/runtime/ai/providers/opencode.models.d.ts +3 -0
  1086. package/dist/vendor/engine/runtime/ai/providers/opencode.models.js +5 -0
  1087. package/dist/vendor/engine/runtime/ai/providers/openrouter-images.d.ts +2 -0
  1088. package/dist/vendor/engine/runtime/ai/providers/openrouter-images.js +21 -0
  1089. package/dist/vendor/engine/runtime/ai/providers/openrouter.d.ts +2 -0
  1090. package/dist/vendor/engine/runtime/ai/providers/openrouter.js +26 -0
  1091. package/dist/vendor/engine/runtime/ai/providers/openrouter.models.d.ts +3 -0
  1092. package/dist/vendor/engine/runtime/ai/providers/openrouter.models.js +5 -0
  1093. package/dist/vendor/engine/runtime/ai/providers/qwen-token-plan-cn.d.ts +2 -0
  1094. package/dist/vendor/engine/runtime/ai/providers/qwen-token-plan-cn.js +14 -0
  1095. package/dist/vendor/engine/runtime/ai/providers/qwen-token-plan-cn.models.d.ts +3 -0
  1096. package/dist/vendor/engine/runtime/ai/providers/qwen-token-plan-cn.models.js +5 -0
  1097. package/dist/vendor/engine/runtime/ai/providers/qwen-token-plan-individual.d.ts +2 -0
  1098. package/dist/vendor/engine/runtime/ai/providers/qwen-token-plan-individual.js +14 -0
  1099. package/dist/vendor/engine/runtime/ai/providers/qwen-token-plan-individual.models.d.ts +3 -0
  1100. package/dist/vendor/engine/runtime/ai/providers/qwen-token-plan-individual.models.js +5 -0
  1101. package/dist/vendor/engine/runtime/ai/providers/qwen-token-plan.d.ts +2 -0
  1102. package/dist/vendor/engine/runtime/ai/providers/qwen-token-plan.js +14 -0
  1103. package/dist/vendor/engine/runtime/ai/providers/qwen-token-plan.models.d.ts +3 -0
  1104. package/dist/vendor/engine/runtime/ai/providers/qwen-token-plan.models.js +5 -0
  1105. package/dist/vendor/engine/runtime/ai/providers/radius-config.d.ts +25 -0
  1106. package/dist/vendor/engine/runtime/ai/providers/radius-config.js +62 -0
  1107. package/dist/vendor/engine/runtime/ai/providers/radius.d.ts +8 -0
  1108. package/dist/vendor/engine/runtime/ai/providers/radius.js +77 -0
  1109. package/dist/vendor/engine/runtime/ai/providers/radius.models.d.ts +3 -0
  1110. package/dist/vendor/engine/runtime/ai/providers/radius.models.js +5 -0
  1111. package/dist/vendor/engine/runtime/ai/providers/together.d.ts +2 -0
  1112. package/dist/vendor/engine/runtime/ai/providers/together.js +14 -0
  1113. package/dist/vendor/engine/runtime/ai/providers/together.models.d.ts +3 -0
  1114. package/dist/vendor/engine/runtime/ai/providers/together.models.js +5 -0
  1115. package/dist/vendor/engine/runtime/ai/providers/vercel-ai-gateway.d.ts +2 -0
  1116. package/dist/vendor/engine/runtime/ai/providers/vercel-ai-gateway.js +14 -0
  1117. package/dist/vendor/engine/runtime/ai/providers/vercel-ai-gateway.models.d.ts +3 -0
  1118. package/dist/vendor/engine/runtime/ai/providers/vercel-ai-gateway.models.js +5 -0
  1119. package/dist/vendor/engine/runtime/ai/providers/xai.d.ts +2 -0
  1120. package/dist/vendor/engine/runtime/ai/providers/xai.js +23 -0
  1121. package/dist/vendor/engine/runtime/ai/providers/xai.models.d.ts +3 -0
  1122. package/dist/vendor/engine/runtime/ai/providers/xai.models.js +5 -0
  1123. package/dist/vendor/engine/runtime/ai/providers/xiaomi-token-plan-ams.d.ts +2 -0
  1124. package/dist/vendor/engine/runtime/ai/providers/xiaomi-token-plan-ams.js +14 -0
  1125. package/dist/vendor/engine/runtime/ai/providers/xiaomi-token-plan-ams.models.d.ts +3 -0
  1126. package/dist/vendor/engine/runtime/ai/providers/xiaomi-token-plan-ams.models.js +5 -0
  1127. package/dist/vendor/engine/runtime/ai/providers/xiaomi-token-plan-cn.d.ts +2 -0
  1128. package/dist/vendor/engine/runtime/ai/providers/xiaomi-token-plan-cn.js +14 -0
  1129. package/dist/vendor/engine/runtime/ai/providers/xiaomi-token-plan-cn.models.d.ts +3 -0
  1130. package/dist/vendor/engine/runtime/ai/providers/xiaomi-token-plan-cn.models.js +5 -0
  1131. package/dist/vendor/engine/runtime/ai/providers/xiaomi-token-plan-sgp.d.ts +2 -0
  1132. package/dist/vendor/engine/runtime/ai/providers/xiaomi-token-plan-sgp.js +14 -0
  1133. package/dist/vendor/engine/runtime/ai/providers/xiaomi-token-plan-sgp.models.d.ts +3 -0
  1134. package/dist/vendor/engine/runtime/ai/providers/xiaomi-token-plan-sgp.models.js +5 -0
  1135. package/dist/vendor/engine/runtime/ai/providers/xiaomi.d.ts +2 -0
  1136. package/dist/vendor/engine/runtime/ai/providers/xiaomi.js +14 -0
  1137. package/dist/vendor/engine/runtime/ai/providers/xiaomi.models.d.ts +3 -0
  1138. package/dist/vendor/engine/runtime/ai/providers/xiaomi.models.js +5 -0
  1139. package/dist/vendor/engine/runtime/ai/providers/zai-coding-cn.d.ts +2 -0
  1140. package/dist/vendor/engine/runtime/ai/providers/zai-coding-cn.js +14 -0
  1141. package/dist/vendor/engine/runtime/ai/providers/zai-coding-cn.models.d.ts +3 -0
  1142. package/dist/vendor/engine/runtime/ai/providers/zai-coding-cn.models.js +5 -0
  1143. package/dist/vendor/engine/runtime/ai/providers/zai.d.ts +2 -0
  1144. package/dist/vendor/engine/runtime/ai/providers/zai.js +14 -0
  1145. package/dist/vendor/engine/runtime/ai/providers/zai.models.d.ts +3 -0
  1146. package/dist/vendor/engine/runtime/ai/providers/zai.models.js +5 -0
  1147. package/dist/vendor/engine/runtime/ai/session-resources.d.ts +3 -0
  1148. package/dist/vendor/engine/runtime/ai/session-resources.js +21 -0
  1149. package/dist/vendor/engine/runtime/ai/types.d.ts +835 -0
  1150. package/dist/vendor/engine/runtime/ai/types.js +1 -0
  1151. package/dist/vendor/engine/runtime/ai/utils/abort-signals.d.ts +5 -0
  1152. package/dist/vendor/engine/runtime/ai/utils/abort-signals.js +33 -0
  1153. package/dist/vendor/engine/runtime/ai/utils/abort.d.ts +7 -0
  1154. package/dist/vendor/engine/runtime/ai/utils/abort.js +48 -0
  1155. package/dist/vendor/engine/runtime/ai/utils/assistant-message-frame.d.ts +76 -0
  1156. package/dist/vendor/engine/runtime/ai/utils/assistant-message-frame.js +424 -0
  1157. package/dist/vendor/engine/runtime/ai/utils/diagnostics.d.ts +19 -0
  1158. package/dist/vendor/engine/runtime/ai/utils/diagnostics.js +24 -0
  1159. package/dist/vendor/engine/runtime/ai/utils/error-body.d.ts +24 -0
  1160. package/dist/vendor/engine/runtime/ai/utils/error-body.js +132 -0
  1161. package/dist/vendor/engine/runtime/ai/utils/estimate.d.ts +16 -0
  1162. package/dist/vendor/engine/runtime/ai/utils/estimate.js +94 -0
  1163. package/dist/vendor/engine/runtime/ai/utils/event-stream.d.ts +20 -0
  1164. package/dist/vendor/engine/runtime/ai/utils/event-stream.js +98 -0
  1165. package/dist/vendor/engine/runtime/ai/utils/hash.d.ts +2 -0
  1166. package/dist/vendor/engine/runtime/ai/utils/hash.js +13 -0
  1167. package/dist/vendor/engine/runtime/ai/utils/headers.d.ts +3 -0
  1168. package/dist/vendor/engine/runtime/ai/utils/headers.js +17 -0
  1169. package/dist/vendor/engine/runtime/ai/utils/json-parse.d.ts +15 -0
  1170. package/dist/vendor/engine/runtime/ai/utils/json-parse.js +112 -0
  1171. package/dist/vendor/engine/runtime/ai/utils/node-http-proxy.d.ts +3 -0
  1172. package/dist/vendor/engine/runtime/ai/utils/node-http-proxy.js +132 -0
  1173. package/dist/vendor/engine/runtime/ai/utils/overflow.d.ts +68 -0
  1174. package/dist/vendor/engine/runtime/ai/utils/overflow.js +177 -0
  1175. package/dist/vendor/engine/runtime/ai/utils/pi-user-agent.d.ts +1 -0
  1176. package/dist/vendor/engine/runtime/ai/utils/pi-user-agent.js +11 -0
  1177. package/dist/vendor/engine/runtime/ai/utils/provider-env.d.ts +6 -0
  1178. package/dist/vendor/engine/runtime/ai/utils/provider-env.js +43 -0
  1179. package/dist/vendor/engine/runtime/ai/utils/provider-retry.d.ts +15 -0
  1180. package/dist/vendor/engine/runtime/ai/utils/provider-retry.js +93 -0
  1181. package/dist/vendor/engine/runtime/ai/utils/retry.d.ts +57 -0
  1182. package/dist/vendor/engine/runtime/ai/utils/retry.js +182 -0
  1183. package/dist/vendor/engine/runtime/ai/utils/sanitize-unicode.d.ts +21 -0
  1184. package/dist/vendor/engine/runtime/ai/utils/sanitize-unicode.js +25 -0
  1185. package/dist/vendor/engine/runtime/ai/utils/text.d.ts +13 -0
  1186. package/dist/vendor/engine/runtime/ai/utils/text.js +35 -0
  1187. package/dist/vendor/engine/runtime/ai/utils/transcript.d.ts +83 -0
  1188. package/dist/vendor/engine/runtime/ai/utils/transcript.js +203 -0
  1189. package/dist/vendor/engine/runtime/ai/utils/typebox-helpers.d.ts +16 -0
  1190. package/dist/vendor/engine/runtime/ai/utils/typebox-helpers.js +20 -0
  1191. package/dist/vendor/engine/runtime/ai/utils/uuid.d.ts +2 -0
  1192. package/dist/vendor/engine/runtime/ai/utils/uuid.js +41 -0
  1193. package/dist/vendor/engine/runtime/ai/utils/validation.d.ts +17 -0
  1194. package/dist/vendor/engine/runtime/ai/utils/validation.js +308 -0
  1195. package/dist/vendor/engine/runtime/chord/api.d.ts +14 -0
  1196. package/dist/vendor/engine/runtime/chord/api.js +71 -0
  1197. package/dist/vendor/engine/runtime/chord/context/index.d.ts +23 -0
  1198. package/dist/vendor/engine/runtime/chord/context/index.js +96 -0
  1199. package/dist/vendor/engine/runtime/chord/delta/index.d.ts +118 -0
  1200. package/dist/vendor/engine/runtime/chord/delta/index.js +1903 -0
  1201. package/dist/vendor/engine/runtime/chord/facets/host.d.ts +11 -0
  1202. package/dist/vendor/engine/runtime/chord/facets/host.js +762 -0
  1203. package/dist/vendor/engine/runtime/chord/facets/loader.d.ts +2 -0
  1204. package/dist/vendor/engine/runtime/chord/facets/loader.js +4 -0
  1205. package/dist/vendor/engine/runtime/chord/index.d.ts +10 -0
  1206. package/dist/vendor/engine/runtime/chord/index.js +9 -0
  1207. package/dist/vendor/engine/runtime/chord/json.d.ts +3 -0
  1208. package/dist/vendor/engine/runtime/chord/json.js +56 -0
  1209. package/dist/vendor/engine/runtime/chord/services/consumer.d.ts +10 -0
  1210. package/dist/vendor/engine/runtime/chord/services/consumer.js +536 -0
  1211. package/dist/vendor/engine/runtime/chord/services/errors.d.ts +7 -0
  1212. package/dist/vendor/engine/runtime/chord/services/errors.js +21 -0
  1213. package/dist/vendor/engine/runtime/chord/services/handle.d.ts +14 -0
  1214. package/dist/vendor/engine/runtime/chord/services/handle.js +100 -0
  1215. package/dist/vendor/engine/runtime/chord/services/instances.d.ts +24 -0
  1216. package/dist/vendor/engine/runtime/chord/services/instances.js +136 -0
  1217. package/dist/vendor/engine/runtime/chord/services/loopback.d.ts +4 -0
  1218. package/dist/vendor/engine/runtime/chord/services/loopback.js +14 -0
  1219. package/dist/vendor/engine/runtime/chord/services/provider.d.ts +36 -0
  1220. package/dist/vendor/engine/runtime/chord/services/provider.js +471 -0
  1221. package/dist/vendor/engine/runtime/chord/services/state-codec.d.ts +14 -0
  1222. package/dist/vendor/engine/runtime/chord/services/state-codec.js +114 -0
  1223. package/dist/vendor/engine/runtime/chord/services/state-internals.d.ts +10 -0
  1224. package/dist/vendor/engine/runtime/chord/services/state-internals.js +9 -0
  1225. package/dist/vendor/engine/runtime/chord/services/state.d.ts +22 -0
  1226. package/dist/vendor/engine/runtime/chord/services/state.js +123 -0
  1227. package/dist/vendor/engine/runtime/chord/services/wire.d.ts +59 -0
  1228. package/dist/vendor/engine/runtime/chord/services/wire.js +172 -0
  1229. package/dist/vendor/engine/runtime/chord/types.d.ts +202 -0
  1230. package/dist/vendor/engine/runtime/chord/types.js +1 -0
  1231. package/dist/vendor/engine/runtime/coding-agent/cli/args.d.ts +60 -0
  1232. package/dist/vendor/engine/runtime/coding-agent/cli/args.js +439 -0
  1233. package/dist/vendor/engine/runtime/coding-agent/cli/auth-check.d.ts +18 -0
  1234. package/dist/vendor/engine/runtime/coding-agent/cli/auth-check.js +49 -0
  1235. package/dist/vendor/engine/runtime/coding-agent/cli/auth-command.d.ts +23 -0
  1236. package/dist/vendor/engine/runtime/coding-agent/cli/auth-command.js +102 -0
  1237. package/dist/vendor/engine/runtime/coding-agent/cli/config-selector.d.ts +15 -0
  1238. package/dist/vendor/engine/runtime/coding-agent/cli/config-selector.js +31 -0
  1239. package/dist/vendor/engine/runtime/coding-agent/cli/credential-print.d.ts +12 -0
  1240. package/dist/vendor/engine/runtime/coding-agent/cli/credential-print.js +75 -0
  1241. package/dist/vendor/engine/runtime/coding-agent/cli/file-processor.d.ts +14 -0
  1242. package/dist/vendor/engine/runtime/coding-agent/cli/file-processor.js +70 -0
  1243. package/dist/vendor/engine/runtime/coding-agent/cli/initial-message.d.ts +17 -0
  1244. package/dist/vendor/engine/runtime/coding-agent/cli/initial-message.js +21 -0
  1245. package/dist/vendor/engine/runtime/coding-agent/cli/list-models.d.ts +8 -0
  1246. package/dist/vendor/engine/runtime/coding-agent/cli/list-models.js +97 -0
  1247. package/dist/vendor/engine/runtime/coding-agent/cli/project-trust.d.ts +9 -0
  1248. package/dist/vendor/engine/runtime/coding-agent/cli/project-trust.js +47 -0
  1249. package/dist/vendor/engine/runtime/coding-agent/cli/session-picker.d.ts +9 -0
  1250. package/dist/vendor/engine/runtime/coding-agent/cli/session-picker.js +35 -0
  1251. package/dist/vendor/engine/runtime/coding-agent/cli/startup-ui.d.ts +19 -0
  1252. package/dist/vendor/engine/runtime/coding-agent/cli/startup-ui.js +184 -0
  1253. package/dist/vendor/engine/runtime/coding-agent/config.d.ts +97 -0
  1254. package/dist/vendor/engine/runtime/coding-agent/config.js +463 -0
  1255. package/dist/vendor/engine/runtime/coding-agent/core/agent-session-runtime.d.ts +118 -0
  1256. package/dist/vendor/engine/runtime/coding-agent/core/agent-session-runtime.js +316 -0
  1257. package/dist/vendor/engine/runtime/coding-agent/core/agent-session-services.d.ts +85 -0
  1258. package/dist/vendor/engine/runtime/coding-agent/core/agent-session-services.js +133 -0
  1259. package/dist/vendor/engine/runtime/coding-agent/core/agent-session.d.ts +771 -0
  1260. package/dist/vendor/engine/runtime/coding-agent/core/agent-session.js +2990 -0
  1261. package/dist/vendor/engine/runtime/coding-agent/core/auth-guidance.d.ts +4 -0
  1262. package/dist/vendor/engine/runtime/coding-agent/core/auth-guidance.js +20 -0
  1263. package/dist/vendor/engine/runtime/coding-agent/core/auth-storage.d.ts +71 -0
  1264. package/dist/vendor/engine/runtime/coding-agent/core/auth-storage.js +425 -0
  1265. package/dist/vendor/engine/runtime/coding-agent/core/bash-executor.d.ts +31 -0
  1266. package/dist/vendor/engine/runtime/coding-agent/core/bash-executor.js +110 -0
  1267. package/dist/vendor/engine/runtime/coding-agent/core/bug-report-upload.d.ts +11 -0
  1268. package/dist/vendor/engine/runtime/coding-agent/core/bug-report-upload.js +21 -0
  1269. package/dist/vendor/engine/runtime/coding-agent/core/bug-report.d.ts +175 -0
  1270. package/dist/vendor/engine/runtime/coding-agent/core/bug-report.js +291 -0
  1271. package/dist/vendor/engine/runtime/coding-agent/core/cache-stats.d.ts +48 -0
  1272. package/dist/vendor/engine/runtime/coding-agent/core/cache-stats.js +111 -0
  1273. package/dist/vendor/engine/runtime/coding-agent/core/cache-warmer.d.ts +102 -0
  1274. package/dist/vendor/engine/runtime/coding-agent/core/cache-warmer.js +355 -0
  1275. package/dist/vendor/engine/runtime/coding-agent/core/compaction/branch-summarization.d.ts +97 -0
  1276. package/dist/vendor/engine/runtime/coding-agent/core/compaction/branch-summarization.js +250 -0
  1277. package/dist/vendor/engine/runtime/coding-agent/core/compaction/compaction.d.ts +142 -0
  1278. package/dist/vendor/engine/runtime/coding-agent/core/compaction/compaction.js +666 -0
  1279. package/dist/vendor/engine/runtime/coding-agent/core/compaction/index.d.ts +6 -0
  1280. package/dist/vendor/engine/runtime/coding-agent/core/compaction/index.js +6 -0
  1281. package/dist/vendor/engine/runtime/coding-agent/core/compaction/utils.d.ts +37 -0
  1282. package/dist/vendor/engine/runtime/coding-agent/core/compaction/utils.js +141 -0
  1283. package/dist/vendor/engine/runtime/coding-agent/core/crash-log.d.ts +26 -0
  1284. package/dist/vendor/engine/runtime/coding-agent/core/crash-log.js +138 -0
  1285. package/dist/vendor/engine/runtime/coding-agent/core/defaults.d.ts +3 -0
  1286. package/dist/vendor/engine/runtime/coding-agent/core/defaults.js +10 -0
  1287. package/dist/vendor/engine/runtime/coding-agent/core/diagnostics.d.ts +14 -0
  1288. package/dist/vendor/engine/runtime/coding-agent/core/diagnostics.js +1 -0
  1289. package/dist/vendor/engine/runtime/coding-agent/core/event-bus.d.ts +8 -0
  1290. package/dist/vendor/engine/runtime/coding-agent/core/event-bus.js +24 -0
  1291. package/dist/vendor/engine/runtime/coding-agent/core/exec.d.ts +28 -0
  1292. package/dist/vendor/engine/runtime/coding-agent/core/exec.js +74 -0
  1293. package/dist/vendor/engine/runtime/coding-agent/core/experimental.d.ts +1 -0
  1294. package/dist/vendor/engine/runtime/coding-agent/core/experimental.js +3 -0
  1295. package/dist/vendor/engine/runtime/coding-agent/core/export-html/ansi-to-html.d.ts +21 -0
  1296. package/dist/vendor/engine/runtime/coding-agent/core/export-html/ansi-to-html.js +248 -0
  1297. package/dist/vendor/engine/runtime/coding-agent/core/export-html/index.d.ts +36 -0
  1298. package/dist/vendor/engine/runtime/coding-agent/core/export-html/index.js +225 -0
  1299. package/dist/vendor/engine/runtime/coding-agent/core/export-html/template.css +1066 -0
  1300. package/dist/vendor/engine/runtime/coding-agent/core/export-html/template.html +55 -0
  1301. package/dist/vendor/engine/runtime/coding-agent/core/export-html/template.js +1864 -0
  1302. package/dist/vendor/engine/runtime/coding-agent/core/export-html/tool-renderer.d.ts +33 -0
  1303. package/dist/vendor/engine/runtime/coding-agent/core/export-html/tool-renderer.js +107 -0
  1304. package/dist/vendor/engine/runtime/coding-agent/core/export-html/vendor/highlight.min.js +1213 -0
  1305. package/dist/vendor/engine/runtime/coding-agent/core/export-html/vendor/marked.min.js +78 -0
  1306. package/dist/vendor/engine/runtime/coding-agent/core/extensions/index.d.ts +11 -0
  1307. package/dist/vendor/engine/runtime/coding-agent/core/extensions/index.js +8 -0
  1308. package/dist/vendor/engine/runtime/coding-agent/core/extensions/jiti-loader.d.ts +1 -0
  1309. package/dist/vendor/engine/runtime/coding-agent/core/extensions/jiti-loader.js +3 -0
  1310. package/dist/vendor/engine/runtime/coding-agent/core/extensions/jiti-static-loader.d.ts +1 -0
  1311. package/dist/vendor/engine/runtime/coding-agent/core/extensions/jiti-static-loader.js +3 -0
  1312. package/dist/vendor/engine/runtime/coding-agent/core/extensions/loader.d.ts +22 -0
  1313. package/dist/vendor/engine/runtime/coding-agent/core/extensions/loader.js +633 -0
  1314. package/dist/vendor/engine/runtime/coding-agent/core/extensions/runner.d.ts +180 -0
  1315. package/dist/vendor/engine/runtime/coding-agent/core/extensions/runner.js +1028 -0
  1316. package/dist/vendor/engine/runtime/coding-agent/core/extensions/types.d.ts +1362 -0
  1317. package/dist/vendor/engine/runtime/coding-agent/core/extensions/types.js +47 -0
  1318. package/dist/vendor/engine/runtime/coding-agent/core/extensions/virtual-modules.d.ts +2 -0
  1319. package/dist/vendor/engine/runtime/coding-agent/core/extensions/virtual-modules.js +37 -0
  1320. package/dist/vendor/engine/runtime/coding-agent/core/extensions/wrapper.d.ts +19 -0
  1321. package/dist/vendor/engine/runtime/coding-agent/core/extensions/wrapper.js +21 -0
  1322. package/dist/vendor/engine/runtime/coding-agent/core/footer-data-provider.d.ts +63 -0
  1323. package/dist/vendor/engine/runtime/coding-agent/core/footer-data-provider.js +337 -0
  1324. package/dist/vendor/engine/runtime/coding-agent/core/http-dispatcher.d.ts +21 -0
  1325. package/dist/vendor/engine/runtime/coding-agent/core/http-dispatcher.js +97 -0
  1326. package/dist/vendor/engine/runtime/coding-agent/core/keybindings.d.ts +427 -0
  1327. package/dist/vendor/engine/runtime/coding-agent/core/keybindings.js +320 -0
  1328. package/dist/vendor/engine/runtime/coding-agent/core/messages.d.ts +76 -0
  1329. package/dist/vendor/engine/runtime/coding-agent/core/messages.js +123 -0
  1330. package/dist/vendor/engine/runtime/coding-agent/core/model-config.d.ts +723 -0
  1331. package/dist/vendor/engine/runtime/coding-agent/core/model-config.js +281 -0
  1332. package/dist/vendor/engine/runtime/coding-agent/core/model-registry.d.ts +48 -0
  1333. package/dist/vendor/engine/runtime/coding-agent/core/model-registry.js +114 -0
  1334. package/dist/vendor/engine/runtime/coding-agent/core/model-resolver.d.ts +123 -0
  1335. package/dist/vendor/engine/runtime/coding-agent/core/model-resolver.js +589 -0
  1336. package/dist/vendor/engine/runtime/coding-agent/core/model-runtime.d.ts +100 -0
  1337. package/dist/vendor/engine/runtime/coding-agent/core/model-runtime.js +603 -0
  1338. package/dist/vendor/engine/runtime/coding-agent/core/models-store.d.ts +21 -0
  1339. package/dist/vendor/engine/runtime/coding-agent/core/models-store.js +114 -0
  1340. package/dist/vendor/engine/runtime/coding-agent/core/output-guard.d.ts +6 -0
  1341. package/dist/vendor/engine/runtime/coding-agent/core/output-guard.js +88 -0
  1342. package/dist/vendor/engine/runtime/coding-agent/core/package-manager.d.ts +212 -0
  1343. package/dist/vendor/engine/runtime/coding-agent/core/package-manager.js +2176 -0
  1344. package/dist/vendor/engine/runtime/coding-agent/core/pi-manifest.d.ts +7 -0
  1345. package/dist/vendor/engine/runtime/coding-agent/core/pi-manifest.js +25 -0
  1346. package/dist/vendor/engine/runtime/coding-agent/core/project-trust.d.ts +14 -0
  1347. package/dist/vendor/engine/runtime/coding-agent/core/project-trust.js +58 -0
  1348. package/dist/vendor/engine/runtime/coding-agent/core/prompt-templates.d.ts +53 -0
  1349. package/dist/vendor/engine/runtime/coding-agent/core/prompt-templates.js +235 -0
  1350. package/dist/vendor/engine/runtime/coding-agent/core/provider-attribution.d.ts +3 -0
  1351. package/dist/vendor/engine/runtime/coding-agent/core/provider-attribution.js +71 -0
  1352. package/dist/vendor/engine/runtime/coding-agent/core/provider-composer.d.ts +59 -0
  1353. package/dist/vendor/engine/runtime/coding-agent/core/provider-composer.js +422 -0
  1354. package/dist/vendor/engine/runtime/coding-agent/core/radius.d.ts +4 -0
  1355. package/dist/vendor/engine/runtime/coding-agent/core/radius.js +7 -0
  1356. package/dist/vendor/engine/runtime/coding-agent/core/remote-catalog-provider.d.ts +4 -0
  1357. package/dist/vendor/engine/runtime/coding-agent/core/remote-catalog-provider.js +121 -0
  1358. package/dist/vendor/engine/runtime/coding-agent/core/resolve-config-value.d.ts +29 -0
  1359. package/dist/vendor/engine/runtime/coding-agent/core/resolve-config-value.js +246 -0
  1360. package/dist/vendor/engine/runtime/coding-agent/core/resource-loader.d.ts +220 -0
  1361. package/dist/vendor/engine/runtime/coding-agent/core/resource-loader.js +874 -0
  1362. package/dist/vendor/engine/runtime/coding-agent/core/runtime-credentials.d.ts +14 -0
  1363. package/dist/vendor/engine/runtime/coding-agent/core/runtime-credentials.js +38 -0
  1364. package/dist/vendor/engine/runtime/coding-agent/core/sdk.d.ts +107 -0
  1365. package/dist/vendor/engine/runtime/coding-agent/core/sdk.js +296 -0
  1366. package/dist/vendor/engine/runtime/coding-agent/core/session-cwd.d.ts +18 -0
  1367. package/dist/vendor/engine/runtime/coding-agent/core/session-cwd.js +37 -0
  1368. package/dist/vendor/engine/runtime/coding-agent/core/session-export.d.ts +7 -0
  1369. package/dist/vendor/engine/runtime/coding-agent/core/session-export.js +32 -0
  1370. package/dist/vendor/engine/runtime/coding-agent/core/session-manager.d.ts +379 -0
  1371. package/dist/vendor/engine/runtime/coding-agent/core/session-manager.js +1432 -0
  1372. package/dist/vendor/engine/runtime/coding-agent/core/settings-diagnostics.d.ts +8 -0
  1373. package/dist/vendor/engine/runtime/coding-agent/core/settings-diagnostics.js +20 -0
  1374. package/dist/vendor/engine/runtime/coding-agent/core/settings-manager.d.ts +346 -0
  1375. package/dist/vendor/engine/runtime/coding-agent/core/settings-manager.js +1032 -0
  1376. package/dist/vendor/engine/runtime/coding-agent/core/skills.d.ts +59 -0
  1377. package/dist/vendor/engine/runtime/coding-agent/core/skills.js +406 -0
  1378. package/dist/vendor/engine/runtime/coding-agent/core/slash-commands.d.ts +14 -0
  1379. package/dist/vendor/engine/runtime/coding-agent/core/slash-commands.js +27 -0
  1380. package/dist/vendor/engine/runtime/coding-agent/core/source-info.d.ts +17 -0
  1381. package/dist/vendor/engine/runtime/coding-agent/core/source-info.js +18 -0
  1382. package/dist/vendor/engine/runtime/coding-agent/core/system-prompt.d.ts +70 -0
  1383. package/dist/vendor/engine/runtime/coding-agent/core/system-prompt.js +146 -0
  1384. package/dist/vendor/engine/runtime/coding-agent/core/telemetry.d.ts +2 -0
  1385. package/dist/vendor/engine/runtime/coding-agent/core/telemetry.js +8 -0
  1386. package/dist/vendor/engine/runtime/coding-agent/core/timings.d.ts +9 -0
  1387. package/dist/vendor/engine/runtime/coding-agent/core/timings.js +40 -0
  1388. package/dist/vendor/engine/runtime/coding-agent/core/tools/bash.d.ts +89 -0
  1389. package/dist/vendor/engine/runtime/coding-agent/core/tools/bash.js +303 -0
  1390. package/dist/vendor/engine/runtime/coding-agent/core/tools/edit-diff.d.ts +100 -0
  1391. package/dist/vendor/engine/runtime/coding-agent/core/tools/edit-diff.js +420 -0
  1392. package/dist/vendor/engine/runtime/coding-agent/core/tools/edit.d.ts +43 -0
  1393. package/dist/vendor/engine/runtime/coding-agent/core/tools/edit.js +146 -0
  1394. package/dist/vendor/engine/runtime/coding-agent/core/tools/file-mutation-queue.d.ts +5 -0
  1395. package/dist/vendor/engine/runtime/coding-agent/core/tools/file-mutation-queue.js +51 -0
  1396. package/dist/vendor/engine/runtime/coding-agent/core/tools/find.d.ts +41 -0
  1397. package/dist/vendor/engine/runtime/coding-agent/core/tools/find.js +250 -0
  1398. package/dist/vendor/engine/runtime/coding-agent/core/tools/grep.d.ts +40 -0
  1399. package/dist/vendor/engine/runtime/coding-agent/core/tools/grep.js +251 -0
  1400. package/dist/vendor/engine/runtime/coding-agent/core/tools/index.d.ts +42 -0
  1401. package/dist/vendor/engine/runtime/coding-agent/core/tools/index.js +128 -0
  1402. package/dist/vendor/engine/runtime/coding-agent/core/tools/ls.d.ts +40 -0
  1403. package/dist/vendor/engine/runtime/coding-agent/core/tools/ls.js +125 -0
  1404. package/dist/vendor/engine/runtime/coding-agent/core/tools/output-accumulator.d.ts +54 -0
  1405. package/dist/vendor/engine/runtime/coding-agent/core/tools/output-accumulator.js +189 -0
  1406. package/dist/vendor/engine/runtime/coding-agent/core/tools/path-utils.d.ts +9 -0
  1407. package/dist/vendor/engine/runtime/coding-agent/core/tools/path-utils.js +98 -0
  1408. package/dist/vendor/engine/runtime/coding-agent/core/tools/powershell.d.ts +15 -0
  1409. package/dist/vendor/engine/runtime/coding-agent/core/tools/powershell.js +38 -0
  1410. package/dist/vendor/engine/runtime/coding-agent/core/tools/read.d.ts +41 -0
  1411. package/dist/vendor/engine/runtime/coding-agent/core/tools/read.js +168 -0
  1412. package/dist/vendor/engine/runtime/coding-agent/core/tools/render-utils.d.ts +23 -0
  1413. package/dist/vendor/engine/runtime/coding-agent/core/tools/render-utils.js +64 -0
  1414. package/dist/vendor/engine/runtime/coding-agent/core/tools/renderers/bash.d.ts +11 -0
  1415. package/dist/vendor/engine/runtime/coding-agent/core/tools/renderers/bash.js +137 -0
  1416. package/dist/vendor/engine/runtime/coding-agent/core/tools/renderers/edit.d.ts +22 -0
  1417. package/dist/vendor/engine/runtime/coding-agent/core/tools/renderers/edit.js +166 -0
  1418. package/dist/vendor/engine/runtime/coding-agent/core/tools/renderers/find.d.ts +9 -0
  1419. package/dist/vendor/engine/runtime/coding-agent/core/tools/renderers/find.js +63 -0
  1420. package/dist/vendor/engine/runtime/coding-agent/core/tools/renderers/grep.d.ts +9 -0
  1421. package/dist/vendor/engine/runtime/coding-agent/core/tools/renderers/grep.js +68 -0
  1422. package/dist/vendor/engine/runtime/coding-agent/core/tools/renderers/index.d.ts +27 -0
  1423. package/dist/vendor/engine/runtime/coding-agent/core/tools/renderers/index.js +46 -0
  1424. package/dist/vendor/engine/runtime/coding-agent/core/tools/renderers/ls.d.ts +9 -0
  1425. package/dist/vendor/engine/runtime/coding-agent/core/tools/renderers/ls.js +57 -0
  1426. package/dist/vendor/engine/runtime/coding-agent/core/tools/renderers/read.d.ts +10 -0
  1427. package/dist/vendor/engine/runtime/coding-agent/core/tools/renderers/read.js +128 -0
  1428. package/dist/vendor/engine/runtime/coding-agent/core/tools/renderers/write.d.ts +9 -0
  1429. package/dist/vendor/engine/runtime/coding-agent/core/tools/renderers/write.js +152 -0
  1430. package/dist/vendor/engine/runtime/coding-agent/core/tools/tool-definition-wrapper.d.ts +13 -0
  1431. package/dist/vendor/engine/runtime/coding-agent/core/tools/tool-definition-wrapper.js +35 -0
  1432. package/dist/vendor/engine/runtime/coding-agent/core/tools/truncate.d.ts +69 -0
  1433. package/dist/vendor/engine/runtime/coding-agent/core/tools/truncate.js +214 -0
  1434. package/dist/vendor/engine/runtime/coding-agent/core/tools/write.d.ts +29 -0
  1435. package/dist/vendor/engine/runtime/coding-agent/core/tools/write.js +60 -0
  1436. package/dist/vendor/engine/runtime/coding-agent/core/trust-manager.d.ts +35 -0
  1437. package/dist/vendor/engine/runtime/coding-agent/core/trust-manager.js +202 -0
  1438. package/dist/vendor/engine/runtime/coding-agent/core/usage-totals.d.ts +18 -0
  1439. package/dist/vendor/engine/runtime/coding-agent/core/usage-totals.js +55 -0
  1440. package/dist/vendor/engine/runtime/coding-agent/extensions/index.d.ts +2 -0
  1441. package/dist/vendor/engine/runtime/coding-agent/extensions/index.js +2 -0
  1442. package/dist/vendor/engine/runtime/coding-agent/extensions/llama/client.d.ts +68 -0
  1443. package/dist/vendor/engine/runtime/coding-agent/extensions/llama/client.js +312 -0
  1444. package/dist/vendor/engine/runtime/coding-agent/extensions/llama/huggingface.d.ts +22 -0
  1445. package/dist/vendor/engine/runtime/coding-agent/extensions/llama/huggingface.js +140 -0
  1446. package/dist/vendor/engine/runtime/coding-agent/extensions/llama/index.d.ts +2 -0
  1447. package/dist/vendor/engine/runtime/coding-agent/extensions/llama/index.js +218 -0
  1448. package/dist/vendor/engine/runtime/coding-agent/extensions/llama/provider.d.ts +11 -0
  1449. package/dist/vendor/engine/runtime/coding-agent/extensions/llama/provider.js +160 -0
  1450. package/dist/vendor/engine/runtime/coding-agent/extensions/llama/ui.d.ts +41 -0
  1451. package/dist/vendor/engine/runtime/coding-agent/extensions/llama/ui.js +415 -0
  1452. package/dist/vendor/engine/runtime/coding-agent/index.d.ts +36 -0
  1453. package/dist/vendor/engine/runtime/coding-agent/index.js +47 -0
  1454. package/dist/vendor/engine/runtime/coding-agent/main.d.ts +15 -0
  1455. package/dist/vendor/engine/runtime/coding-agent/main.js +808 -0
  1456. package/dist/vendor/engine/runtime/coding-agent/migrations.d.ts +32 -0
  1457. package/dist/vendor/engine/runtime/coding-agent/migrations.js +281 -0
  1458. package/dist/vendor/engine/runtime/coding-agent/modes/index.d.ts +9 -0
  1459. package/dist/vendor/engine/runtime/coding-agent/modes/index.js +7 -0
  1460. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/bug-report.d.ts +15 -0
  1461. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/bug-report.js +209 -0
  1462. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/chat-viewport.d.ts +19 -0
  1463. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/chat-viewport.js +27 -0
  1464. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/armin.d.ts +33 -0
  1465. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/armin.js +332 -0
  1466. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/assistant-message.d.ts +25 -0
  1467. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/assistant-message.js +157 -0
  1468. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/bash-execution.d.ts +33 -0
  1469. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/bash-execution.js +174 -0
  1470. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/bordered-loader.d.ts +15 -0
  1471. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/bordered-loader.js +53 -0
  1472. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/branch-summary-message.d.ts +15 -0
  1473. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/branch-summary-message.js +50 -0
  1474. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/compaction-summary-message.d.ts +15 -0
  1475. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/compaction-summary-message.js +51 -0
  1476. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/config-selector.d.ts +101 -0
  1477. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/config-selector.js +760 -0
  1478. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/countdown-timer.d.ts +13 -0
  1479. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/countdown-timer.js +32 -0
  1480. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/custom-editor.d.ts +29 -0
  1481. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/custom-editor.js +114 -0
  1482. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/custom-entry.d.ts +18 -0
  1483. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/custom-entry.js +51 -0
  1484. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/custom-message.d.ts +21 -0
  1485. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/custom-message.js +86 -0
  1486. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/daxnuts.d.ts +22 -0
  1487. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/daxnuts.js +139 -0
  1488. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/diff.d.ts +11 -0
  1489. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/diff.js +132 -0
  1490. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/dynamic-border.d.ts +14 -0
  1491. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/dynamic-border.js +20 -0
  1492. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/earendil-announcement.d.ts +4 -0
  1493. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/earendil-announcement.js +39 -0
  1494. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/extension-editor.d.ts +23 -0
  1495. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/extension-editor.js +102 -0
  1496. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/extension-input.d.ts +24 -0
  1497. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/extension-input.js +66 -0
  1498. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/extension-selector.d.ts +26 -0
  1499. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/extension-selector.js +86 -0
  1500. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/first-time-setup.d.ts +24 -0
  1501. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/first-time-setup.js +102 -0
  1502. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/footer.d.ts +31 -0
  1503. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/footer.js +224 -0
  1504. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/index.d.ts +33 -0
  1505. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/index.js +34 -0
  1506. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/keybinding-hints.d.ts +12 -0
  1507. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/keybinding-hints.js +35 -0
  1508. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/login-dialog.d.ts +51 -0
  1509. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/login-dialog.js +187 -0
  1510. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/markdown-transform.d.ts +2 -0
  1511. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/markdown-transform.js +18 -0
  1512. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/mermaid.d.ts +10 -0
  1513. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/mermaid.js +74 -0
  1514. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/model-selector.d.ts +59 -0
  1515. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/model-selector.js +360 -0
  1516. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/oauth-selector.d.ts +32 -0
  1517. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/oauth-selector.js +162 -0
  1518. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/scoped-models-selector.d.ts +45 -0
  1519. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/scoped-models-selector.js +325 -0
  1520. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/session-selector-search.d.ts +22 -0
  1521. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/session-selector-search.js +154 -0
  1522. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/session-selector.d.ts +94 -0
  1523. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/session-selector.js +892 -0
  1524. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/settings-selector.d.ts +93 -0
  1525. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/settings-selector.js +719 -0
  1526. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/settings-submenu.d.ts +71 -0
  1527. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/settings-submenu.js +164 -0
  1528. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/show-images-selector.d.ts +9 -0
  1529. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/show-images-selector.js +38 -0
  1530. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/skill-invocation-message.d.ts +16 -0
  1531. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/skill-invocation-message.js +53 -0
  1532. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/status-indicator.d.ts +29 -0
  1533. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/status-indicator.js +66 -0
  1534. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/theme-selector.d.ts +10 -0
  1535. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/theme-selector.js +49 -0
  1536. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/thinking-selector.d.ts +22 -0
  1537. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/thinking-selector.js +108 -0
  1538. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/tool-execution.d.ts +79 -0
  1539. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/tool-execution.js +336 -0
  1540. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/tree-selector.d.ts +93 -0
  1541. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/tree-selector.js +1246 -0
  1542. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/trust-selector.d.ts +22 -0
  1543. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/trust-selector.js +90 -0
  1544. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/user-message-selector.d.ts +29 -0
  1545. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/user-message-selector.js +113 -0
  1546. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/user-message.d.ts +15 -0
  1547. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/user-message.js +48 -0
  1548. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/visual-truncate.d.ts +23 -0
  1549. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/components/visual-truncate.js +32 -0
  1550. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/external-editor.d.ts +11 -0
  1551. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/external-editor.js +37 -0
  1552. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/interactive-mode.d.ts +467 -0
  1553. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/interactive-mode.js +5720 -0
  1554. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/model-catalog-refresh.d.ts +6 -0
  1555. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/model-catalog-refresh.js +33 -0
  1556. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/model-search.d.ts +11 -0
  1557. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/model-search.js +14 -0
  1558. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/session-share.d.ts +17 -0
  1559. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/session-share.js +187 -0
  1560. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/theme/dark.json +91 -0
  1561. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/theme/light.json +90 -0
  1562. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/theme/theme-controller.d.ts +40 -0
  1563. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/theme/theme-controller.js +129 -0
  1564. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/theme/theme-json.d.ts +83 -0
  1565. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/theme/theme-json.js +129 -0
  1566. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/theme/theme-schema.json +356 -0
  1567. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/theme/theme.d.ts +130 -0
  1568. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/theme/theme.js +990 -0
  1569. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/tui-renderer.d.ts +20 -0
  1570. package/dist/vendor/engine/runtime/coding-agent/modes/interactive/tui-renderer.js +65 -0
  1571. package/dist/vendor/engine/runtime/coding-agent/modes/json-event.d.ts +33 -0
  1572. package/dist/vendor/engine/runtime/coding-agent/modes/json-event.js +28 -0
  1573. package/dist/vendor/engine/runtime/coding-agent/modes/print-mode.d.ts +27 -0
  1574. package/dist/vendor/engine/runtime/coding-agent/modes/print-mode.js +141 -0
  1575. package/dist/vendor/engine/runtime/coding-agent/modes/rpc/jsonl.d.ts +16 -0
  1576. package/dist/vendor/engine/runtime/coding-agent/modes/rpc/jsonl.js +48 -0
  1577. package/dist/vendor/engine/runtime/coding-agent/modes/rpc/rpc-client.d.ts +253 -0
  1578. package/dist/vendor/engine/runtime/coding-agent/modes/rpc/rpc-client.js +494 -0
  1579. package/dist/vendor/engine/runtime/coding-agent/modes/rpc/rpc-mode.d.ts +19 -0
  1580. package/dist/vendor/engine/runtime/coding-agent/modes/rpc/rpc-mode.js +656 -0
  1581. package/dist/vendor/engine/runtime/coding-agent/modes/rpc/rpc-types.d.ts +468 -0
  1582. package/dist/vendor/engine/runtime/coding-agent/modes/rpc/rpc-types.js +7 -0
  1583. package/dist/vendor/engine/runtime/coding-agent/package-manager-cli.d.ts +8 -0
  1584. package/dist/vendor/engine/runtime/coding-agent/package-manager-cli.js +960 -0
  1585. package/dist/vendor/engine/runtime/coding-agent/utils/abort.d.ts +4 -0
  1586. package/dist/vendor/engine/runtime/coding-agent/utils/abort.js +47 -0
  1587. package/dist/vendor/engine/runtime/coding-agent/utils/ansi.d.ts +1 -0
  1588. package/dist/vendor/engine/runtime/coding-agent/utils/ansi.js +51 -0
  1589. package/dist/vendor/engine/runtime/coding-agent/utils/changelog.d.ts +21 -0
  1590. package/dist/vendor/engine/runtime/coding-agent/utils/changelog.js +164 -0
  1591. package/dist/vendor/engine/runtime/coding-agent/utils/child-process.d.ts +17 -0
  1592. package/dist/vendor/engine/runtime/coding-agent/utils/child-process.js +105 -0
  1593. package/dist/vendor/engine/runtime/coding-agent/utils/clipboard-command.d.ts +6 -0
  1594. package/dist/vendor/engine/runtime/coding-agent/utils/clipboard-command.js +44 -0
  1595. package/dist/vendor/engine/runtime/coding-agent/utils/clipboard-image.d.ts +10 -0
  1596. package/dist/vendor/engine/runtime/coding-agent/utils/clipboard-image.js +216 -0
  1597. package/dist/vendor/engine/runtime/coding-agent/utils/clipboard.d.ts +3 -0
  1598. package/dist/vendor/engine/runtime/coding-agent/utils/clipboard.js +150 -0
  1599. package/dist/vendor/engine/runtime/coding-agent/utils/exif-orientation.d.ts +4 -0
  1600. package/dist/vendor/engine/runtime/coding-agent/utils/exif-orientation.js +156 -0
  1601. package/dist/vendor/engine/runtime/coding-agent/utils/frontmatter.d.ts +7 -0
  1602. package/dist/vendor/engine/runtime/coding-agent/utils/frontmatter.js +26 -0
  1603. package/dist/vendor/engine/runtime/coding-agent/utils/fs-watch.d.ts +4 -0
  1604. package/dist/vendor/engine/runtime/coding-agent/utils/fs-watch.js +24 -0
  1605. package/dist/vendor/engine/runtime/coding-agent/utils/git.d.ts +25 -0
  1606. package/dist/vendor/engine/runtime/coding-agent/utils/git.js +194 -0
  1607. package/dist/vendor/engine/runtime/coding-agent/utils/html.d.ts +6 -0
  1608. package/dist/vendor/engine/runtime/coding-agent/utils/html.js +39 -0
  1609. package/dist/vendor/engine/runtime/coding-agent/utils/image-convert.d.ts +9 -0
  1610. package/dist/vendor/engine/runtime/coding-agent/utils/image-convert.js +44 -0
  1611. package/dist/vendor/engine/runtime/coding-agent/utils/image-process.d.ts +17 -0
  1612. package/dist/vendor/engine/runtime/coding-agent/utils/image-process.js +82 -0
  1613. package/dist/vendor/engine/runtime/coding-agent/utils/image-resize-core.d.ts +29 -0
  1614. package/dist/vendor/engine/runtime/coding-agent/utils/image-resize-core.js +123 -0
  1615. package/dist/vendor/engine/runtime/coding-agent/utils/image-resize-worker.d.ts +1 -0
  1616. package/dist/vendor/engine/runtime/coding-agent/utils/image-resize-worker.js +30 -0
  1617. package/dist/vendor/engine/runtime/coding-agent/utils/image-resize.d.ts +15 -0
  1618. package/dist/vendor/engine/runtime/coding-agent/utils/image-resize.js +96 -0
  1619. package/dist/vendor/engine/runtime/coding-agent/utils/json.d.ts +2 -0
  1620. package/dist/vendor/engine/runtime/coding-agent/utils/json.js +6 -0
  1621. package/dist/vendor/engine/runtime/coding-agent/utils/management-http.d.ts +24 -0
  1622. package/dist/vendor/engine/runtime/coding-agent/utils/management-http.js +53 -0
  1623. package/dist/vendor/engine/runtime/coding-agent/utils/mime.d.ts +2 -0
  1624. package/dist/vendor/engine/runtime/coding-agent/utils/mime.js +109 -0
  1625. package/dist/vendor/engine/runtime/coding-agent/utils/open-browser.d.ts +8 -0
  1626. package/dist/vendor/engine/runtime/coding-agent/utils/open-browser.js +21 -0
  1627. package/dist/vendor/engine/runtime/coding-agent/utils/paths.d.ts +33 -0
  1628. package/dist/vendor/engine/runtime/coding-agent/utils/paths.js +113 -0
  1629. package/dist/vendor/engine/runtime/coding-agent/utils/photon.d.ts +20 -0
  1630. package/dist/vendor/engine/runtime/coding-agent/utils/photon.js +120 -0
  1631. package/dist/vendor/engine/runtime/coding-agent/utils/pi-user-agent.d.ts +1 -0
  1632. package/dist/vendor/engine/runtime/coding-agent/utils/pi-user-agent.js +4 -0
  1633. package/dist/vendor/engine/runtime/coding-agent/utils/shell.d.ts +33 -0
  1634. package/dist/vendor/engine/runtime/coding-agent/utils/shell.js +215 -0
  1635. package/dist/vendor/engine/runtime/coding-agent/utils/sleep.d.ts +4 -0
  1636. package/dist/vendor/engine/runtime/coding-agent/utils/sleep.js +16 -0
  1637. package/dist/vendor/engine/runtime/coding-agent/utils/syntax-highlight.d.ts +12 -0
  1638. package/dist/vendor/engine/runtime/coding-agent/utils/syntax-highlight.js +176 -0
  1639. package/dist/vendor/engine/runtime/coding-agent/utils/text.d.ts +7 -0
  1640. package/dist/vendor/engine/runtime/coding-agent/utils/text.js +8 -0
  1641. package/dist/vendor/engine/runtime/coding-agent/utils/tool-result-images.d.ts +20 -0
  1642. package/dist/vendor/engine/runtime/coding-agent/utils/tool-result-images.js +47 -0
  1643. package/dist/vendor/engine/runtime/coding-agent/utils/tools-manager.d.ts +12 -0
  1644. package/dist/vendor/engine/runtime/coding-agent/utils/tools-manager.js +308 -0
  1645. package/dist/vendor/engine/runtime/coding-agent/utils/version-check.d.ts +18 -0
  1646. package/dist/vendor/engine/runtime/coding-agent/utils/version-check.js +78 -0
  1647. package/dist/vendor/engine/runtime/coding-agent/utils/windows-self-update.d.ts +2 -0
  1648. package/dist/vendor/engine/runtime/coding-agent/utils/windows-self-update.js +76 -0
  1649. package/dist/vendor/engine/runtime/coding-agent/utils/wsl.d.ts +2 -0
  1650. package/dist/vendor/engine/runtime/coding-agent/utils/wsl.js +14 -0
  1651. package/dist/vendor/engine/runtime/coding-agent/utils/zip.d.ts +6 -0
  1652. package/dist/vendor/engine/runtime/coding-agent/utils/zip.js +59 -0
  1653. package/dist/vendor/engine/runtime/package.json +9 -0
  1654. package/dist/vendor/engine/runtime/telemetry/index.d.ts +193 -0
  1655. package/dist/vendor/engine/runtime/telemetry/index.js +17 -0
  1656. package/dist/vendor/engine/runtime/telemetry/memory.d.ts +25 -0
  1657. package/dist/vendor/engine/runtime/telemetry/memory.js +153 -0
  1658. package/dist/vendor/engine/runtime/telemetry/noop.d.ts +3 -0
  1659. package/dist/vendor/engine/runtime/telemetry/noop.js +17 -0
  1660. package/dist/vendor/engine/runtime/tui/alt-screen-search.d.ts +45 -0
  1661. package/dist/vendor/engine/runtime/tui/alt-screen-search.js +281 -0
  1662. package/dist/vendor/engine/runtime/tui/autocomplete.d.ts +56 -0
  1663. package/dist/vendor/engine/runtime/tui/autocomplete.js +671 -0
  1664. package/dist/vendor/engine/runtime/tui/components/alt-screen-flash.d.ts +12 -0
  1665. package/dist/vendor/engine/runtime/tui/components/alt-screen-flash.js +36 -0
  1666. package/dist/vendor/engine/runtime/tui/components/box.d.ts +23 -0
  1667. package/dist/vendor/engine/runtime/tui/components/box.js +132 -0
  1668. package/dist/vendor/engine/runtime/tui/components/cancellable-loader.d.ts +21 -0
  1669. package/dist/vendor/engine/runtime/tui/components/cancellable-loader.js +34 -0
  1670. package/dist/vendor/engine/runtime/tui/components/editor.d.ts +259 -0
  1671. package/dist/vendor/engine/runtime/tui/components/editor.js +2041 -0
  1672. package/dist/vendor/engine/runtime/tui/components/h-stack.d.ts +6 -0
  1673. package/dist/vendor/engine/runtime/tui/components/h-stack.js +42 -0
  1674. package/dist/vendor/engine/runtime/tui/components/image.d.ts +27 -0
  1675. package/dist/vendor/engine/runtime/tui/components/image.js +89 -0
  1676. package/dist/vendor/engine/runtime/tui/components/input.d.ts +47 -0
  1677. package/dist/vendor/engine/runtime/tui/components/input.js +416 -0
  1678. package/dist/vendor/engine/runtime/tui/components/loader.d.ts +32 -0
  1679. package/dist/vendor/engine/runtime/tui/components/loader.js +75 -0
  1680. package/dist/vendor/engine/runtime/tui/components/markdown.d.ts +102 -0
  1681. package/dist/vendor/engine/runtime/tui/components/markdown.js +810 -0
  1682. package/dist/vendor/engine/runtime/tui/components/mouse-region.d.ts +11 -0
  1683. package/dist/vendor/engine/runtime/tui/components/mouse-region.js +20 -0
  1684. package/dist/vendor/engine/runtime/tui/components/scroll-view.d.ts +58 -0
  1685. package/dist/vendor/engine/runtime/tui/components/scroll-view.js +194 -0
  1686. package/dist/vendor/engine/runtime/tui/components/select-list.d.ts +52 -0
  1687. package/dist/vendor/engine/runtime/tui/components/select-list.js +205 -0
  1688. package/dist/vendor/engine/runtime/tui/components/settings-list.d.ts +59 -0
  1689. package/dist/vendor/engine/runtime/tui/components/settings-list.js +251 -0
  1690. package/dist/vendor/engine/runtime/tui/components/spacer.d.ts +11 -0
  1691. package/dist/vendor/engine/runtime/tui/components/spacer.js +22 -0
  1692. package/dist/vendor/engine/runtime/tui/components/stack.d.ts +31 -0
  1693. package/dist/vendor/engine/runtime/tui/components/stack.js +110 -0
  1694. package/dist/vendor/engine/runtime/tui/components/text.d.ts +18 -0
  1695. package/dist/vendor/engine/runtime/tui/components/text.js +89 -0
  1696. package/dist/vendor/engine/runtime/tui/components/truncated-text.d.ts +12 -0
  1697. package/dist/vendor/engine/runtime/tui/components/truncated-text.js +50 -0
  1698. package/dist/vendor/engine/runtime/tui/components/v-stack.d.ts +7 -0
  1699. package/dist/vendor/engine/runtime/tui/components/v-stack.js +25 -0
  1700. package/dist/vendor/engine/runtime/tui/editor-component.d.ts +38 -0
  1701. package/dist/vendor/engine/runtime/tui/editor-component.js +1 -0
  1702. package/dist/vendor/engine/runtime/tui/fuzzy.d.ts +15 -0
  1703. package/dist/vendor/engine/runtime/tui/fuzzy.js +110 -0
  1704. package/dist/vendor/engine/runtime/tui/index.d.ts +32 -0
  1705. package/dist/vendor/engine/runtime/tui/index.js +44 -0
  1706. package/dist/vendor/engine/runtime/tui/keybindings.d.ts +272 -0
  1707. package/dist/vendor/engine/runtime/tui/keybindings.js +232 -0
  1708. package/dist/vendor/engine/runtime/tui/keys.d.ts +183 -0
  1709. package/dist/vendor/engine/runtime/tui/keys.js +1173 -0
  1710. package/dist/vendor/engine/runtime/tui/kill-ring.d.ts +27 -0
  1711. package/dist/vendor/engine/runtime/tui/kill-ring.js +43 -0
  1712. package/dist/vendor/engine/runtime/tui/latex.d.ts +9 -0
  1713. package/dist/vendor/engine/runtime/tui/latex.js +1377 -0
  1714. package/dist/vendor/engine/runtime/tui/layout-node.d.ts +39 -0
  1715. package/dist/vendor/engine/runtime/tui/layout-node.js +5 -0
  1716. package/dist/vendor/engine/runtime/tui/layout.d.ts +41 -0
  1717. package/dist/vendor/engine/runtime/tui/layout.js +343 -0
  1718. package/dist/vendor/engine/runtime/tui/native-modifiers.d.ts +3 -0
  1719. package/dist/vendor/engine/runtime/tui/native-modifiers.js +12 -0
  1720. package/dist/vendor/engine/runtime/tui/native-module-path.d.ts +6 -0
  1721. package/dist/vendor/engine/runtime/tui/native-module-path.js +18 -0
  1722. package/dist/vendor/engine/runtime/tui/native-platform.d.ts +17 -0
  1723. package/dist/vendor/engine/runtime/tui/native-platform.js +41 -0
  1724. package/dist/vendor/engine/runtime/tui/stdin-buffer.d.ts +55 -0
  1725. package/dist/vendor/engine/runtime/tui/stdin-buffer.js +365 -0
  1726. package/dist/vendor/engine/runtime/tui/terminal-colors.d.ts +9 -0
  1727. package/dist/vendor/engine/runtime/tui/terminal-colors.js +58 -0
  1728. package/dist/vendor/engine/runtime/tui/terminal-image.d.ts +117 -0
  1729. package/dist/vendor/engine/runtime/tui/terminal-image.js +549 -0
  1730. package/dist/vendor/engine/runtime/tui/terminal.d.ts +122 -0
  1731. package/dist/vendor/engine/runtime/tui/terminal.js +441 -0
  1732. package/dist/vendor/engine/runtime/tui/tui-alt-screen.d.ts +159 -0
  1733. package/dist/vendor/engine/runtime/tui/tui-alt-screen.js +1507 -0
  1734. package/dist/vendor/engine/runtime/tui/tui-main-screen.d.ts +38 -0
  1735. package/dist/vendor/engine/runtime/tui/tui-main-screen.js +593 -0
  1736. package/dist/vendor/engine/runtime/tui/tui.d.ts +385 -0
  1737. package/dist/vendor/engine/runtime/tui/tui.js +1054 -0
  1738. package/dist/vendor/engine/runtime/tui/undo-stack.d.ts +16 -0
  1739. package/dist/vendor/engine/runtime/tui/undo-stack.js +24 -0
  1740. package/dist/vendor/engine/runtime/tui/utils.d.ts +100 -0
  1741. package/dist/vendor/engine/runtime/tui/utils.js +1203 -0
  1742. package/dist/vendor/engine/runtime/tui/word-navigation.d.ts +24 -0
  1743. package/dist/vendor/engine/runtime/tui/word-navigation.js +95 -0
  1744. package/dist/vendor/zcode/LICENSE.upstream +202 -0
  1745. package/dist/vendor/zcode/provenance.json +141 -0
  1746. package/dist/vendor/zcode/source/agent/turn-machine.d.ts +56 -0
  1747. package/dist/vendor/zcode/source/agent/turn-machine.js +214 -0
  1748. package/dist/vendor/zcode/source/agent/turn-state.d.ts +118 -0
  1749. package/dist/vendor/zcode/source/agent/turn-state.js +93 -0
  1750. package/dist/vendor/zcode/source/compact/manual.d.ts +11 -0
  1751. package/dist/vendor/zcode/source/compact/manual.js +38 -0
  1752. package/dist/vendor/zcode/source/compact/microcompact.d.ts +47 -0
  1753. package/dist/vendor/zcode/source/compact/microcompact.js +194 -0
  1754. package/dist/vendor/zcode/source/compact/policy.d.ts +59 -0
  1755. package/dist/vendor/zcode/source/compact/policy.js +89 -0
  1756. package/dist/vendor/zcode/source/compact/selection.d.ts +6 -0
  1757. package/dist/vendor/zcode/source/compact/selection.js +12 -0
  1758. package/dist/vendor/zcode/source/contracts.d.ts +52 -0
  1759. package/dist/vendor/zcode/source/contracts.js +9 -0
  1760. package/dist/vendor/zcode/source/runtime/goal-completion-verification.d.ts +17 -0
  1761. package/dist/vendor/zcode/source/runtime/goal-completion-verification.js +138 -0
  1762. package/dist/vendor/zcode/source/runtime/turn-loop.d.ts +3 -0
  1763. package/dist/vendor/zcode/source/runtime/turn-loop.js +21 -0
  1764. package/dist/vendor/zcode/source/runtime/turn-model-step.d.ts +54 -0
  1765. package/dist/vendor/zcode/source/runtime/turn-model-step.js +97 -0
  1766. package/dist/vendor/zcode/source/runtime/turn-output-token-continuation.d.ts +8 -0
  1767. package/dist/vendor/zcode/source/runtime/turn-output-token-continuation.js +15 -0
  1768. package/dist/vendor/zcode/source/runtime/turn-stop.d.ts +6 -0
  1769. package/dist/vendor/zcode/source/runtime/turn-stop.js +18 -0
  1770. package/dist/vendor/zcode/source/tool/executor/validation.d.ts +6 -0
  1771. package/dist/vendor/zcode/source/tool/executor/validation.js +76 -0
  1772. package/dist/vendor/zcode/source/tool/input-normalization.d.ts +16 -0
  1773. package/dist/vendor/zcode/source/tool/input-normalization.js +62 -0
  1774. package/dist/vendor/zcode/source/tool/input-validation-model-content.d.ts +4 -0
  1775. package/dist/vendor/zcode/source/tool/input-validation-model-content.js +263 -0
  1776. package/dist/vendor/zcode/source/tool/json-schema.d.ts +9 -0
  1777. package/dist/vendor/zcode/source/tool/json-schema.js +230 -0
  1778. package/dist/vendor/zcode/source/tool/scheduler.d.ts +43 -0
  1779. package/dist/vendor/zcode/source/tool/scheduler.js +167 -0
  1780. package/dist/vendor/zcode/source/tool/tool-input-validation-issues.d.ts +76 -0
  1781. package/dist/vendor/zcode/source/tool/tool-input-validation-issues.js +148 -0
  1782. package/dist/vendor/zcode/source/tool/validation-contracts.d.ts +27 -0
  1783. package/dist/vendor/zcode/source/tool/validation-contracts.js +8 -0
  1784. package/docs/README.md +36 -0
  1785. package/docs/agents/README.md +62 -0
  1786. package/docs/agents/install-for-agents.md +55 -0
  1787. package/docs/agents/mcp-server.md +187 -0
  1788. package/docs/agents/subagent-mode.md +146 -0
  1789. package/docs/concepts/README.md +47 -0
  1790. package/docs/concepts/jev-actionable-routing.md +113 -0
  1791. package/docs/concepts/jev-decision-thresholds.md +412 -0
  1792. package/docs/concepts/jev-efficiency.md +216 -0
  1793. package/docs/concepts/jev-eval-2026-11-01.md +78 -0
  1794. package/docs/concepts/limits.md +43 -0
  1795. package/docs/concepts/memory.md +30 -0
  1796. package/docs/concepts/security.md +40 -0
  1797. package/docs/concepts/workspace-instructions.md +28 -0
  1798. package/docs/getting-started/README.md +82 -0
  1799. package/docs/getting-started/accounts.md +67 -0
  1800. package/docs/getting-started/configure-providers.md +103 -0
  1801. package/docs/guides/README.md +12 -0
  1802. package/docs/guides/browser.md +15 -0
  1803. package/docs/guides/desktop-app.md +354 -0
  1804. package/docs/guides/extensions.md +100 -0
  1805. package/docs/guides/graph-builder.md +93 -0
  1806. package/docs/guides/headless.md +45 -0
  1807. package/docs/guides/tui.md +75 -0
  1808. package/docs/guides/update.md +68 -0
  1809. package/docs/guides/windows-code-signing.md +316 -0
  1810. package/docs/llms.txt +45 -0
  1811. package/docs/reference/README.md +7 -0
  1812. package/docs/reference/cli.md +70 -0
  1813. package/docs/reference/config.md +85 -0
  1814. package/docs/reference/slash-commands.md +54 -0
  1815. package/docs/superpowers/plans/2026-11-01-claude-console-sign-in.md +111 -0
  1816. package/docs/superpowers/plans/2026-11-01-jev-node-opt-in.md +910 -0
  1817. package/docs/superpowers/plans/2026-11-02-workflow-pane.md +398 -0
  1818. package/docs/superpowers/specs/2026-10-31-work-line-summary-design.md +50 -0
  1819. package/docs/superpowers/specs/2026-11-01-claude-console-sign-in-design.md +176 -0
  1820. package/docs/superpowers/specs/2026-11-01-jev-node-opt-in-design.md +164 -0
  1821. package/docs/superpowers/specs/2026-11-01-pr-section-design.md +104 -0
  1822. package/docs/superpowers/specs/2026-11-02-workflow-pane-design.md +130 -0
  1823. package/licenses/GEIST-OFL-1.1.txt +92 -0
  1824. package/licenses/ZCODE-APACHE-2.0.txt +202 -0
  1825. package/package.json +118 -6
  1826. package/scripts/jev-efficiency-eval.mjs +187 -0
  1827. package/scripts/jev-efficiency-live.mjs +193 -0
  1828. package/scripts/zcode-engine-replay.mjs +223 -0
  1829. package/tests/agent-centric-mcp-test-plan.md +208 -0
  1830. package/tests/analytics-settings-test-plan.md +165 -0
  1831. package/tests/browser-cli-smoke.mjs +276 -0
  1832. package/tests/browser-test-plan.md +280 -0
  1833. package/tests/chat-side-panel-test-plan.md +309 -0
  1834. package/tests/decision-engine-test-plan.md +163 -0
  1835. package/tests/default-active-jev-test-plan.md +85 -0
  1836. package/tests/graphiti-test-plan.md +359 -0
  1837. package/tests/harness-extensions-test-plan.md +110 -0
  1838. package/tests/jev-all-decisions-test-plan.md +156 -0
  1839. package/tests/jev-efficiency/criteria.json +158 -0
  1840. package/tests/jev-efficiency/workloads.mjs +242 -0
  1841. package/tests/jev-efficiency-test-plan.md +198 -0
  1842. package/tests/mock-graphiti.mjs +106 -0
  1843. package/tests/permissions-sandbox-probe.mjs +74 -0
  1844. package/tests/permissions-test-plan.md +190 -0
  1845. package/tests/product-telemetry-test-plan.md +536 -0
  1846. package/tests/thinking-stream-preview-test-plan.md +136 -0
  1847. package/tests/zcode-react-engine-test-plan.md +396 -0
@@ -0,0 +1,1520 @@
1
+ ---
2
+ name: dynamic-workflows
3
+ description: "Use when writing, debugging, or resubmitting a dynamic-workflow script for the CreateWorkflow tool: choosing subagent topology, typing subagent results, fanning out over files or git, gating loops on world.run commands, testing pieces with EvalWorkflowSnippet, planner-reviewer loops, confirming findings before reporting them, report() salvage, the report shape a run returns, publishing artifacts the user opens, and handling a backgrounded run."
4
+ when_to_use: "Only for CreateWorkflow scripts. A single delegation or a few independent lookups belong to the Agent tool instead."
5
+ ---
6
+
7
+ # Writing dynamic workflows
8
+
9
+ This skill is the whole authoring contract for `CreateWorkflow`. The tool descriptions are
10
+ short on purpose; the facade the compiler checks against, the rules a script must satisfy and
11
+ the fields each tool takes are in §16, and `CreateWorkflow`, `AmendWorkflow`, `SaveWorkflow`
12
+ and `EvalWorkflowSnippet` refuse to run until this skill has been loaded in the session. The
13
+ rest is the judgment layer: how many subagents a request deserves, which of them should share
14
+ a context, what each one should hand back, and how to keep the run's work from dying with the
15
+ run.
16
+
17
+ Two names collide in this codebase. `CreateWorkflow` is the dynamic-workflow tool and the
18
+ only one this skill is about. The legacy `Workflow` tool and `/expert` are a different,
19
+ older feature that happens to share the word.
20
+
21
+ ## The bar: first-class, expert-level work
22
+
23
+ A workflow exists to produce first-class, expert-level work — the deliverable a senior
24
+ practitioner would hand over after doing the job properly, not a faster draft of what one
25
+ reply could have said. A user who asks for a workflow is paying for that depth, and every
26
+ choice in this skill serves it: enough subagents to actually cover the ground, fresh eyes
27
+ on every plan and every draft (§3), an independent confirmation of every finding,
28
+ deterministic checks wherever a command can decide, and a report that says what was
29
+ verified, what was not, and what it all means.
30
+ Depth is measured by what is at stake, not by how many subagents re-read the same work:
31
+ verification is spent where a wrong claim would cost the user something, and each piece of
32
+ work gets the one check that decides it, not every check this skill knows.
33
+ When a shortcut and the expert's way disagree, take the expert's way. Trim the work only when
34
+ the task is genuinely small, never because thoroughness is inconvenient; trim the checking
35
+ when a wrong claim costs little or a command has already decided it.
36
+
37
+ ## 1. Is this the right tool, and how big should it be?
38
+
39
+ | The request | The tool |
40
+ | --- | --- |
41
+ | One thing delegated to one agent | `Agent` |
42
+ | A few independent lookups, nobody reading anybody's answer | `Agent`, in parallel |
43
+ | Anything else the user did not name a workflow for — however many steps or subagents it needs | `Agent`, or do it yourself |
44
+ | The user said "use a workflow" / "使用 workflow" / "用工作流" — any phrasing naming workflow as the means | `CreateWorkflow`, mandatory, even if `Agent` would have done or one reply could answer |
45
+
46
+ **Only an explicit request starts a workflow.** The request is the whole routing rule: a
47
+ workflow begins with `/workflow` or with the user naming workflow/工作流 as the means, never
48
+ with your own judgement that a task looks orchestration-shaped. Results feeding later steps,
49
+ a loop with a stopping condition, control flow branching on a typed result — none of these
50
+ are a reason to start one. Delegate with `Agent` or do the work yourself.
51
+
52
+ **An explicit request is binding.** When the user names workflow/工作流 as the way to do the
53
+ task, the routing question is closed: not `Agent`, not doing it inline, not "this is too small
54
+ for a workflow". The user picked the tool; what remains for you is only how big the script
55
+ should be, and the smallest task still gets a small workflow rather than something else.
56
+
57
+ Once a workflow has been requested, these are the shapes it is good at, and what the script
58
+ should reach for: results feeding later steps (pipelines, fan-out then fan-in), a loop with a
59
+ stopping condition, and control flow branching on a typed result. They describe how to build
60
+ the workflow the user asked for — they never decide that there should be one.
61
+
62
+ An explicit workflow request is a request for depth, and the bar above is the measure.
63
+ Default to the thorough shape — a fresh subagent per unit of work, a deterministic gate
64
+ wherever a command can decide, an independent confirmation of every finding the user will
65
+ act on as fact (§10) — and size the checking to the stakes: a bug the user will fix on your
66
+ word gets a confirmer; a poem, a brainstorm or a survey gets a reader at most. Cost still
67
+ counts: every task is a full model session with its own context, so put the sessions where
68
+ they raise confidence, not where they repeat each other. "Review the changed files" wants
69
+ one reviewer per changed file plus one confirmer per finding; a three-line question wants
70
+ neither; "write me twenty poems" wants twenty poets and no confirmers.
71
+
72
+ ## 2. Subagent topology
73
+
74
+ This is the decision that separates a good script from a bad one, and there are four parts
75
+ to it.
76
+
77
+ **Fresh subagent per item, or one shared subagent?** Every `agent()` call creates a new context.
78
+ Sharing a context means sharing the *variable*:
79
+
80
+ ```ts
81
+ // Independent: each judge sees only its own item. Runs concurrently.
82
+ items.map((i) => agent(`judge-${i.id}`).ask<Verdict>(`Judge ${i.id}`));
83
+
84
+ // Calibrated: one context sees every item in sequence, so its later verdicts are
85
+ // consistent with its earlier ones. Asks on one subagent queue FIFO — this serializes.
86
+ const judge = agent("judge", "You rank consistently across a whole batch.");
87
+ items.map((i) => judge.ask<Verdict>(`Judge ${i.id}`));
88
+ ```
89
+
90
+ Both are correct for different jobs. Independent is right when the items are unrelated and
91
+ you want parallelism; shared is right when the answers must be consistent with each other,
92
+ and you are paying serialization for that consistency. Choosing shared by accident — by
93
+ hoisting the `agent()` call out of a loop for tidiness — turns a parallel fan-out into a
94
+ queue. Nothing rejects that script; the run simply takes as long as every item in a row.
95
+
96
+ **A name is an identity, and it has to be unique.** Naming is optional, but no two subagents
97
+ in one run may share a non-empty name — a duplicate fails the whole run. Note what that
98
+ means for the first snippet above: one fixed name inside a fan-out is a duplicate once per
99
+ item, so it is written `` agent(`judge-${i.id}`) ``, per item. The compiler catches the
100
+ literal form (`agent("judge")` inside a `.map`/`for...of`) before you submit; a name built
101
+ at run time it cannot see, so that one costs you the run. Anonymous is always safe: drop
102
+ the name when you have nothing per-item to build one from.
103
+
104
+ Names are worth giving anyway, because they are how a **revised** re-run finds its cache
105
+ (§13): resubmitting a fixed script with `AmendWorkflow` imports, per named subagent, every ask
106
+ whose instructions did not change — at zero tokens, up to the first ask that has to run
107
+ live. Stable, meaningful names are what makes that hit. Anonymous subagents are legal
108
+ and simply always start with an empty context.
109
+
110
+ **Persona, frozen at creation.** A persona stacks on top of the harness's own workflow
111
+ subagent contract — citing `path:line`, never reporting a check it did not run, saying
112
+ plainly what it could not do, escalating instead of faking — so write the role and the
113
+ standard of judgement, and leave those rules out; they are already there. Every subagent
114
+ has the same tools — reading, searching, editing, running commands — and runs on the
115
+ session's model; there is no per-subagent tool profile or model choice. What a subagent may
116
+ do with its tools is said in the ask: a reviewer that must not touch the code is told "do not
117
+ edit any file", a judge of a string is handed the string and told to judge it as given. A
118
+ subagent asked to run a check runs it; one told not to edit does not. None of this can
119
+ change after `agent()` — there is no per-task override.
120
+
121
+ **Loops.** Bound every loop with a round cap, and carry the feedback forward:
122
+
123
+ ```ts
124
+ let feedback = "none";
125
+ for (let round = 0; round < 5; round++) {
126
+ const plan = await planner.ask<Plan>(`Plan the fix. Previous critique: ${feedback}`);
127
+ const review = await reviewer.ask<Review>(`Critique this plan: ${JSON.stringify(plan)}`);
128
+ if (review.approved) return plan;
129
+ feedback = review.feedback;
130
+ }
131
+ ```
132
+
133
+ Reuse the same two subagents across rounds — that is the point. A subagent asked more than once
134
+ keeps its accumulated context and gets long-lived caching, so round five is cheap. Creating
135
+ a fresh planner each round throws away everything it learned in round four. The one thing
136
+ reuse costs you is freshness: by round three the reviewer is anchored on its own earlier
137
+ critique. Keep the persistent reviewer for continuity and add an independent one at the end (§3).
138
+
139
+ **No nesting.** Subagents cannot call `CreateWorkflow`. If a task is big enough to want its own
140
+ workflow, model it as more subagents here.
141
+
142
+ ## 3. Fresh eyes
143
+
144
+ The author of a plan or a draft cannot see its gaps, because they filled them while
145
+ writing. A reader with a separate context has no such fill, so the gaps show. That is the
146
+ whole method, and it applies at every stage *inside* the workflow where something is
147
+ drafted — a plan, a fix, a finding, the final report. It pays most on plans, which are
148
+ cheap to critique and expensive to execute wrongly.
149
+
150
+ Four rules make the eyes actually fresh:
151
+
152
+ - **Separate context, not a second opinion from the same head.** An independent reader is a new
153
+ `agent()` that has seen nothing but the draft. Every planner–reviewer loop keeps a
154
+ persistent reviewer for continuity (§2), and then puts the final draft in front of a
155
+ reviewer that has never seen an earlier round.
156
+ - **Ask for failures, not approval.** "Is this good?" gets a yes. "What would break this?
157
+ What is missing? Restate the plan in your own words" gets findings. Write the ask so
158
+ that approving takes evidence and objecting is the easy move.
159
+ - **Give the eyes the same evidence.** A reviewer told to judge a plan about code from the
160
+ plan's text alone can only judge coherence. To judge correctness it must read the code:
161
+ tell plan reviewers to read the files the plan touches, and not to edit them.
162
+ - **Give a prose deliverable an independent read.** When the deliverable is text nothing else
163
+ checked — a guide, an analysis, a write-up — hand it, before the script returns, to a
164
+ reader-proxy subagent asked what is unclear, what the text itself fails to support, and
165
+ what the user will ask next — then fix those, not the prose. Say in the ask that it judges
166
+ the report as a reader would, from the text alone, so it does not wander off to verify it
167
+ against the repository. If you want claims checked, that is a confirmer that reads the
168
+ code, not an independent read. A report whose findings were each confirmed (§10) has
169
+ already had its eyes; do not add a reader on top of the confirmers.
170
+
171
+ Three cautions. Correlated reviewers add little — same model, same prompt, same blind
172
+ spots — so give each a distinct lens or a different task. Bound it: one deliverable gets one
173
+ mechanism — a plan gets a reviewer who reads the code, findings get a confirmer, prose gets a
174
+ reader. A draft that came out of a planner–reviewer loop and then passed a fresh final
175
+ reviewer has had its fresh eyes; a reader-proxy pass over the same text is a third session
176
+ re-reading work two have already read. Two mechanisms on one deliverable is the ceiling, and
177
+ it needs a reason you can say. And the rules above are about the subagents *inside* the
178
+ script, not a gate on submitting it: reading your own script once against the request is
179
+ normally enough, and the run confirmation already puts the plan in front of the user. An
180
+ independent read of the script by a fresh `Agent` is an option for a genuinely hard one — many
181
+ phases, subtle gates — not a routine step.
182
+
183
+ ## 4. Typed results
184
+
185
+ Pass a type argument to `ask` whenever your control flow will branch on the answer; leave it
186
+ off when you just want prose back. The type must be an interface or type alias you write in
187
+ the script.
188
+
189
+ **JSDoc on a property becomes the field description the subagent actually reads.** This is the
190
+ cheapest quality lever in the whole surface and the easiest to skip:
191
+
192
+ ```ts
193
+ interface Finding {
194
+ /** Workspace-relative path the problem is in. */
195
+ path: string;
196
+ /** One sentence: what is wrong, not how to fix it. */
197
+ problem: string;
198
+ /** How much it matters. Reserve "high" for data loss or a crash. */
199
+ severity: "low" | "medium" | "high";
200
+ }
201
+ ```
202
+
203
+ Without the comments you get whatever the subagent guessed `severity` meant. With them you get
204
+ a calibrated field, for the price of three lines.
205
+
206
+ Keep results narrow. A result crosses a schema boundary and gets interpolated into the
207
+ next prompt, so a wide one costs tokens twice. **Pass paths, not file contents** — a subagent
208
+ has its own file tools and can read what it needs; handing it a stringified 4000-line file
209
+ spends tokens to tell it something it could have fetched itself.
210
+
211
+ ## 5. Getting the world in
212
+
213
+ `files.glob` and `git.changedFiles` are how a script learns what to fan out over. Both are
214
+ executed by the harness, recorded, and replayed from the record on resume.
215
+
216
+ Caps **reject rather than truncate**: an over-wide `files.grep` fails that call instead of
217
+ handing you a silently partial view of the workspace to fan out over. Narrow the pattern or
218
+ add a glob filter. Reads are catchable, so a script that wants a coarser fallback writes one
219
+ — which is exactly what you need for `git`, since every `git` call rejects outside a
220
+ repository:
221
+
222
+ ```ts
223
+ let paths: string[];
224
+ try {
225
+ paths = await git.changedFiles("origin/main");
226
+ } catch {
227
+ paths = await files.glob("src/**/*.ts");
228
+ }
229
+ ```
230
+
231
+ Reach for `files.read` or `files.grep` only when the *script itself* must shard or branch on
232
+ content. Deciding which files to hand out is script work; reading them is subagent work.
233
+
234
+ **`world.run` is the deterministic gate.** When a check is fixed and machine-checkable — the
235
+ build passes, the proof checks, the tests are green — run it as code and branch on the exit
236
+ code, instead of asking a subagent to run it and trusting the claim:
237
+
238
+ ```ts
239
+ const check = await world.run("lake", ["build"], { timeoutMs: 1_800_000 });
240
+ if (check.exitCode !== 0) feedback = check.stderr;
241
+ ```
242
+
243
+ A nonzero exit code is a **value**, not an exception: the gating loop's normal case reads
244
+ `exitCode` and carries `stderr` forward as the next round's feedback, with no `catch` in
245
+ sight. Rejections are reserved for the world failing to answer — spawn failure, timeout
246
+ (default 300s, override per call, no cap), or output over the per-stream cap. The command
247
+ name must be a compile-time string literal, because the user approves the script's command
248
+ set at confirmation: interpolate paths, flags and round numbers into the **args array**,
249
+ never into the command. And keep the division of labor: open-ended editing belongs to a
250
+ subagent with tools; `world.run` is for checks whose outcome your control flow branches on.
251
+
252
+ **Choose the gate before you write it.** A gate decides exactly as much as the check it
253
+ runs, and the check the task needs is rarely the first one you would type from habit.
254
+ Before the first `world.run`, find out what checks the repository actually has — the
255
+ scripts in `package.json`, the targets in a `Makefile`, the CI config, the README's "run
256
+ this to verify" line — and rank them by how much they decide: a unit suite over fixtures
257
+ decides less than an integration or end-to-end suite, which decides less than the
258
+ acceptance command the README names, and none of them decides a performance request the
259
+ way the bench does. Then build the gate in two tiers. The fast tier may drive the rounds of
260
+ a loop. The **strongest** tier the request implies decides the exit, and it runs for real at
261
+ least once before the final `return` — even when the fast tier already said yes, because
262
+ the fast tier cannot see what it does not test. When the strong tier is slow, give it the
263
+ `timeoutMs` it needs; a faster substitute is a different check, not a cheaper version of
264
+ the same one.
265
+
266
+ ```ts
267
+ phase("Fix until the unit tests pass");
268
+ for (let round = 1; round <= 5; round++) {
269
+ const unit = await world.run("npm", ["test"]);
270
+ if (unit.exitCode === 0) break;
271
+ await fixer.ask(`The unit tests failed:\n${unit.stderr}\nFix them.`);
272
+ }
273
+
274
+ phase("Run the end-to-end suite once before handing over");
275
+ const e2e = await world.run("npm", ["run", "e2e"], { timeoutMs: 1_800_000 });
276
+ const verified = e2e.exitCode === 0;
277
+ ```
278
+
279
+ A check that exists in the repository and did not run is not "not covered"; it is
280
+ unverified work (§10).
281
+
282
+ ## 6. Test the pieces before you commit
283
+
284
+ A workflow script is final at submit. The fixed logic inside it does not have to be: run it
285
+ through the `EvalWorkflowSnippet` tool first, which compiles and executes a snippet against
286
+ the same compiler, sandbox and world-read path a real run uses, synchronously and without
287
+ persisting anything. What passed there pastes into the workflow verbatim. Send the snippet
288
+ as `code`, or as `path` to a file holding it when you have already written it out — the
289
+ second try then costs an `Edit` rather than the whole snippet again.
290
+
291
+ Snippet work is exactly the non-subagent part: what a glob really returns (workspace-relative,
292
+ sorted), whether a grep pattern overruns its cap, how `world.run("lean", ...)`'s stderr
293
+ parses, whether a gate predicate does what you meant. A snippet has `files.*`, `git.*`,
294
+ `world.run` and `log`, but no `agent()` — orchestration cannot be rehearsed, only the pieces
295
+ can. Testing a parse function by burning a full run is the expensive way to find a typo.
296
+ Once you know which check decides the result (§5), run it once here as well: that tells you
297
+ what its output looks like, whether it exits nonzero the way you assumed, and how long it
298
+ takes — which is the `timeoutMs` you write, not a guess.
299
+
300
+ ## 7. Keep the script analyzable, and join only where the data needs everyone
301
+
302
+ The harness recovers the dependency graph by reading your code before it runs, so write code
303
+ whose data flow is visible. Node results flowing through plain variables, template
304
+ interpolation, destructuring and small local helpers are all traced exactly. Stashing a
305
+ result into a container and fishing it out later, or routing it through a clever indirection,
306
+ earns an analyzability diagnostic instead.
307
+
308
+ `Promise.all` is a join, and a join is a barrier: nothing after it starts until the slowest
309
+ item before it has landed. Parallelism comes from *not awaiting yet*:
310
+
311
+ ```ts
312
+ // Concurrent: nothing is awaited until the join.
313
+ const all = await Promise.all(
314
+ paths.map((p) => agent(`reviewer-${p}`).ask<Review>(`Review ${p}`)),
315
+ );
316
+
317
+ // Serial: each await blocks the next call. Only write this when you mean it.
318
+ for (const p of paths) results.push(await agent(`reviewer-${p}`).ask<Review>(`Review ${p}`));
319
+ ```
320
+
321
+ **Join where the next step needs every item, and nowhere else.** When two stages map one to
322
+ one — a reviewer per file and a confirmer per finding, a migrator per file and a checker per
323
+ file — a barrier between them makes every confirmer wait for the slowest reviewer while the
324
+ concurrency slots sit idle. Chain the stages per item inside the fan-out instead, and join
325
+ once at the end:
326
+
327
+ ```ts
328
+ // ✗ Two barriers: no finding is confirmed until every file has been reviewed.
329
+ const reviews = await Promise.all(paths.map((p) => agent(`reviewer-${p}`).ask<Review>(`Review ${p}`)));
330
+ const confirmed = await Promise.all(
331
+ reviews.flatMap((r) => r.findings).map((f, i) => agent(`confirmer-${i}`).ask<Confirmation>(`Reproduce: ${JSON.stringify(f)}`)),
332
+ );
333
+
334
+ // ✓ One join: each file's findings go to their confirmers the moment its review lands.
335
+ const confirmed = (
336
+ await Promise.all(
337
+ paths.map(async (p) => {
338
+ const review = await agent(`reviewer-${p}`).ask<Review>(`Review ${p}`);
339
+ return Promise.all(
340
+ review.findings.map((f, i) => agent(`confirmer-${p}-${i}`).ask<Confirmation>(`Reproduce: ${JSON.stringify(f)}`)),
341
+ );
342
+ }),
343
+ )
344
+ ).flat();
345
+ ```
346
+
347
+ The stages that genuinely need everyone — a triage that ranks on one scale, a synthesis that
348
+ deduplicates across findings — are the legitimate barriers, and they are few. A shared,
349
+ calibrated subagent is not one of them: asks on it queue FIFO, so feeding it per item as
350
+ results land keeps it consistent *and* keeps the pipeline moving (§11).
351
+
352
+ One rejection inside `Promise.all` rejects the whole join and the sibling results with it.
353
+ When one bad item should cost one item, catch inside the callback (examples #3) or use
354
+ `Promise.allSettled` and read each outcome.
355
+
356
+ ## 8. Group the run into named phases
357
+
358
+ Phases are required, not a nice-to-have. The user experiences a workflow through its
359
+ phase graph: the confirmation dialog they approve is drawn one node per phase, and a
360
+ dialog with thirty step cards in it is a dialog nobody reads. Cover the whole script —
361
+ every stage gets a `phase("...")` marker at its head, and the arrows between the phases
362
+ are inferred from the same analysis:
363
+
364
+ <!-- compile -->
365
+ ```ts
366
+ interface Attempt {
367
+ /** One sentence: the optimization this round is trying. */
368
+ approach: string;
369
+ }
370
+
371
+ /** Total nanoseconds the bench reports, or Infinity when it printed none. */
372
+ function benchNanos(output: string): number {
373
+ const match = /time:\s*([\d.]+) ns/.exec(output);
374
+ return match?.[1] === undefined ? Number.POSITIVE_INFINITY : Number(match[1]);
375
+ }
376
+
377
+ phase("Measure today's baseline");
378
+ const baseline = await world.run("cargo", ["bench"], { timeoutMs: 1_800_000 });
379
+ const target = benchNanos(baseline.stdout);
380
+ const optimizer = agent("optimizer");
381
+
382
+ let winner = "none";
383
+ for (let round = 1; round <= 3; round++) {
384
+ phase("Make one improvement");
385
+ const plan = await optimizer.ask<Attempt>(
386
+ `Round ${round}. Baseline timings:\n${baseline.stdout}\nMake one improvement.`,
387
+ );
388
+
389
+ phase("Check that the tests still pass");
390
+ const check = await world.run("cargo", ["test"]);
391
+ if (check.exitCode !== 0) continue;
392
+
393
+ phase("Measure whether it is actually faster");
394
+ const bench = await world.run("cargo", ["bench"], { timeoutMs: 1_800_000 });
395
+ if (bench.exitCode === 0 && benchNanos(bench.stdout) < target) {
396
+ winner = plan.approach;
397
+ break;
398
+ }
399
+ }
400
+
401
+ phase("Collect the final numbers");
402
+ const head = await world.run("git", ["rev-parse", "HEAD"]);
403
+ return { approach: winner, commit: head.stdout.trim() };
404
+ ```
405
+
406
+ Five nodes — "Measure today's baseline" → "Make one improvement" → "Check that the tests
407
+ still pass" → "Measure whether it is actually faster" (and back to "Make one improvement")
408
+ → "Collect the final numbers" — and they stay five when the real version of this script
409
+ grows to thirty steps. That is the entire payoff: the user sees the story you had in your
410
+ head instead of a wall of cards.
411
+
412
+ Notice the two checks. The unit tests are the fast tier: they decide whether a round is
413
+ worth measuring. The bench is the check the request was about, and it runs every time a
414
+ round survives the tests — not once at the start to print a baseline and never again. A
415
+ loop that gates on `cargo test` alone would crown the first round that compiles (§5).
416
+
417
+ **Write the names for the user, not for the graph.** A phase name is a short natural
418
+ phrase saying what this stage accomplishes for the user, written in the language the
419
+ user is speaking in this session — "Research each changed file in parallel",
420
+ "汇总并产出最终报告". Orchestration vocabulary the user never chose ("fan-out",
421
+ "gate", "aggregate") names the machinery, not the work. Names must be compile-time
422
+ string literals, so you cannot number rounds by interpolation — and you should not
423
+ want to: two markers with the same name are one node, which is how a loop body stays
424
+ one box across all its rounds.
425
+
426
+ **Put the marker where the steps are.** A marker claims the rest of the block it sits
427
+ in, nested blocks and inlined helper calls included, so a marker inside an `if` covers
428
+ that branch and stops at its closing brace. Mark the block where the `ask` and
429
+ `world.run` calls actually live.
430
+
431
+ **Not inside a concurrent fan-out callback.** The run has one current phase, and every step
432
+ is stamped with it at birth. Twenty `map(async …)` callbacks each re-entering
433
+ `phase("Review")` and `phase("Confirm")` out of order would stamp each other's steps and
434
+ count every re-entry as a round. A per-item pipeline (§7) is one phase, named for what it
435
+ does to each item — "Review each changed file and confirm its findings as they land" — and
436
+ the markers stay at the top level around it.
437
+
438
+ **Every phase must contain at least one `ask` or one `world.run`.** A phase is a stage
439
+ the user watches progress through. Plain script logic — reading `args`, shaping a
440
+ prompt, sorting results, building the final `return` — runs in a flash and shows no
441
+ progress, so it is not a stage; a phase made only of it sits on the timeline as a step
442
+ that never does anything. Fold that logic into the phase before or after it. In
443
+ particular, do not open a phase for the setup at the top of the script or for the
444
+ `return` at the bottom; the first phase starts at the first ask, and the last phase is
445
+ the last stage that asks or runs something. The same goes for a branch that only
446
+ narrates: an `if` whose body is nothing but `report(...)` and `log(...)` does not get
447
+ its own marker.
448
+
449
+ ## 9. Write for the user
450
+
451
+ Six things you write are read by the user, not by the script: phase names, subagent names,
452
+ `log` lines, artifact titles and the markdown you publish, the four report fields, and any
453
+ question a subagent escalates. Write each one the way you would tell a colleague across the
454
+ desk what is happening: say what the work is, in the words the user would use, in the
455
+ language the user is speaking in this session. The machinery — fan-out, gate, node, stage,
456
+ pipeline — is yours, not theirs, and so is the numbering.
457
+
458
+ | Read by the user | Write | Not |
459
+ | --- | --- | --- |
460
+ | Phase name | Review each changed file / 逐个检查改动的文件 | Fan-out review stage / 文件评审阶段 |
461
+ | Phase name | Check that the tests still pass / 确认测试仍然通过 | Gate: test verification / 执行测试验证任务 |
462
+ | Subagent name | Code reviewer / 代码评审员 | reviewer_2 / 节点3 |
463
+ | Subagent name | Benchmark runner / 跑基准测试的人 | runner / 子代理A |
464
+ | Phase name | Independent review of the final plan / 请没看过方案的人再审一遍 | Cold read of the plan / 冷读方案 |
465
+ | Subagent name | Independent reviewer / 独立评审员 | cold-reviewer / 冷眼评审 |
466
+ | `log` line | Reviewing 12 changed files / 正在检查 12 个改动的文件 | Fan-out sized: n=12 / 扇出阶段初始化完成 |
467
+ | Report conclusion | Two of the twelve files have real bugs, both in the parser. / 12 个文件里有 2 个有真问题,都在解析器里。 | The workflow executed successfully and produced findings. / 工作流已成功执行并生成结果。 |
468
+ | Artifact title | Review report / 评审报告 | report-artifact-v1 / 产物输出 |
469
+ | Escalation question | Should the threshold be 94 rather than 96? / 阈值应该是 94 而不是 96 吗? | Requesting clarification regarding gate configuration parameters / 请求对门控配置参数进行澄清 |
470
+
471
+ The method names in this skill — fresh eyes, independent read — are English idioms for you,
472
+ not words for the user. Carry the idea across, not the words: in Chinese that is 独立复核 or
473
+ 换人复审, never a word-for-word rendering such as 冷读 or 冷眼, which are not Chinese.
474
+
475
+ The language travels through your asks. Findings, summaries and anything else the user will
476
+ read are written by subagents answering the ask you wrote, so write those asks in the user's
477
+ language, or say in the ask which language to answer in. Otherwise a Chinese report arrives
478
+ wrapping English findings.
479
+
480
+ ## 10. Verify, report, deliver
481
+
482
+ `log(...)` is narration for the human watching the run. Use it at the points where a reader
483
+ would otherwise wonder whether anything is happening — after a fan-out is sized, at the top
484
+ of each loop round.
485
+
486
+ **Verify before you report, in proportion to what a wrong claim costs.** Verification
487
+ exists to buy down the cost of the user acting on something false, so it goes where that cost
488
+ is real: a bug they will fix, a security claim, a number they will quote, a fact a decision
489
+ rests on. Each finding of that kind is confirmed independently before it reaches the user: a
490
+ second subagent that reproduces the finding from its evidence alone — reading the code,
491
+ running a check when one decides it, never editing — or a `world.run` command when one can
492
+ decide. The reviewer that found the problem does not get to confirm it; self-confirmation is
493
+ not confirmation. A finding that fails confirmation is **kept and labelled** `unconfirmed`,
494
+ never silently dropped — a real issue the confirmer could not reproduce is still worth a
495
+ human's eyes, and the label is what lets the user tell "seen" from "suspected".
496
+
497
+ Three things that look like verification and are waste. A confirmer on a finding a
498
+ `world.run` already decided: the exit code is the confirmation, so record the command in
499
+ `verified` and move on. A confirmer on work nobody will act on as fact — poems, brainstormed
500
+ options, a first-draft survey — which gets at most one independent read (§3). And a suite run
501
+ three times because the hunter ran it, the confirmer ran it and then the script gated on it:
502
+ a check the script runs as a gate is run once, by the script, and the asks say so ("the
503
+ script runs the full suite after you; do not run it yourself") so the subagents spend their
504
+ turns on what only they can do.
505
+
506
+ **Gate at the task's scale.** `verified` names the commands that actually decided the
507
+ result, and the reader will hold them against what they asked for. A unit suite in
508
+ `verified` and the end-to-end suite in `notCovered` is not a verified deliverable; it is an
509
+ unverified one with a disclosure attached. `notCovered` is for what *could not* be checked —
510
+ no test exists for it, the environment lacks the tool, the check needs something only the
511
+ user has — never for a check that exists in the repository and was skipped because it is
512
+ slow or because the fast tier already passed. If the strongest check the request implies
513
+ exists and did not run, the run is not done: run it, or say in `conclusion` that the work
514
+ is unverified and why (§5).
515
+
516
+ **Salvage by report.** `report(...)` is different from `log` and more important: reported
517
+ items are delivered with the completion notification **even when the run fails**. A
518
+ forty-task run that dies on task twelve still did eleven tasks' worth of work, and `report`
519
+ is the only thing that gets that work out. So report each finding at the moment it lands —
520
+ after its confirmation, with its status — rather than accumulating an array and returning it
521
+ at the end: the array is what you lose. Items are recorded, so a resumed run never shows the
522
+ same one twice.
523
+
524
+ Give open-ended work an explicit round cap in the script rather than an unbounded loop: the
525
+ harness enforces no node limit, so a loop that never goes dry only ends when the user cancels.
526
+
527
+ **Deliver a report.** The script's final `return` is the handoff the main agent presents,
528
+ in the order below; what the user themselves keep is the artifact of the next section.
529
+ Return this shape (copy the interfaces; they compile as-is) rather than a bare array:
530
+
531
+ <!-- compile -->
532
+ ```ts
533
+ interface Finding {
534
+ /** Workspace-relative path, with a line when it applies: "src/a.ts:42". */
535
+ where: string;
536
+ /** One sentence: what is wrong, or what was found. */
537
+ what: string;
538
+ /** What showed it: the lines read, or the command and the output that proved it. */
539
+ evidence: string;
540
+ /** "verified" when an independent subagent or a deterministic check confirmed it; "unconfirmed" when confirmation failed or was not attempted. */
541
+ status: "verified" | "unconfirmed";
542
+ /** How much it matters. Reserve "high" for data loss, a crash, or a wrong result. */
543
+ severity: "low" | "medium" | "high";
544
+ }
545
+ interface WorkflowReport {
546
+ /** Two or three sentences answering what the user asked for. */
547
+ conclusion: string;
548
+ findings: Finding[];
549
+ /** What the run checked and how: the commands it ran, the files it covered. */
550
+ verified: string[];
551
+ /** What the run did not look at or could not check, and why. */
552
+ notCovered: string[];
553
+ }
554
+
555
+ const result: WorkflowReport = {
556
+ conclusion: "Nothing was reviewed: this snippet only shows the shape.",
557
+ findings: [],
558
+ verified: [],
559
+ notCovered: ["everything — no subagent ran"],
560
+ };
561
+ return result;
562
+ ```
563
+
564
+ Before returning it, give it an independent read (§3): a reader-proxy subagent that has seen nothing else
565
+ tells you what is unclear, unsupported, or missing, while there is still time to fix it.
566
+
567
+ Each field has a reader. `conclusion` is the answer to what the user asked. `findings` carry
568
+ their evidence and their status, so the user can tell what was seen from what was suspected.
569
+ `verified` says what this run actually checked and how — the commands it ran, the files it
570
+ covered. `notCovered` says what it did not look at and why, which is the difference between
571
+ "we found nothing" and "we looked nowhere". Write all four in the language the user is
572
+ speaking in this session.
573
+
574
+ **Deliver artifacts.** The `return` is read by the main agent, which retells it. `artifact.*`
575
+ is the other channel: things the *user* opens, shown as cards beside the run while it is
576
+ still going and kept after it ends. Two habits:
577
+
578
+ - **Every run publishes its deliverable.** The deliverable is whatever the user asked for.
579
+ When that is a thing — a webpage, a PDF, a spreadsheet, a generated site — a subagent writes
580
+ it into the workspace with its own tools and returns the path, and the script publishes that
581
+ path with `artifact.file`. Until it does, nothing the run left in the workspace exists as far
582
+ as the user is concerned, which is why "write it to `out/…` and return the path" belongs in
583
+ the ask that produces it. When the user asked for an answer — findings, a review, an
584
+ analysis — the deliverable is a report, and the `return` alone is not it: the return is a
585
+ compact handoff the main agent retells, while the user deserves the long form of the same
586
+ facts, the findings with their evidence, what was checked and what was not. Markdown
587
+ composed from the same values the return is built from is the usual shape; a subagent-written
588
+ document is fine when the user asked for one. Publish it once, at the end, when the facts are
589
+ settled. The one exception is a run whose whole answer is a line: a verdict, a number, a yes
590
+ or no. A page that restates one sentence is noise, so let the return carry it alone.
591
+ When the run publishes more than one artifact, mark the deliverable `{ primary: true }`: the
592
+ completion card and the run pane lead with it (its `description` is shown beside the title),
593
+ and the notification the main agent reads lists it first. One id per run; a run whose only
594
+ artifact is the deliverable needs no flag.
595
+ - **A dashboard is for the person watching the run.** Its job is to answer "where is it, how
596
+ is it going" without opening anything. Declare one when the run has state worth watching
597
+ while it is still running: the key number after each round, which items are done and which
598
+ failed. Metrics or a chart when the watched thing is a number; a table or board when it is
599
+ a set of items with a status. Declare it once at the top, then tag the items you are
600
+ already reporting: `report(item, "perf")`. Nothing else is needed; the dashboard is a
601
+ projection of that stream, so it grows live and comes back identical after a resume. A run
602
+ that is over before anyone would look at it needs none.
603
+
604
+ **Show what matters.** More artifacts is not more delivery: every card competes with the
605
+ deliverable for the user's attention. Two tests decide what earns a card. Would the user open
606
+ it on its own? If not, it is a section of the deliverable. Does it repeat another artifact? A
607
+ CSV and a table of the same rows, a report and a copy of it, a chart and a metrics tile of the
608
+ same number — one of each pair is noise. The common run publishes one deliverable, one
609
+ dashboard when there is something to watch, and further files only when a subagent produced
610
+ something else a person opens.
611
+
612
+ Ids and the report tag are compile-time string literals. What a run can publish is therefore
613
+ fixed at the moment the user approves the script, and an id assembled at runtime is a compile
614
+ diagnostic rather than a surprise. Publishing an id a second time mints the next version and
615
+ keeps the old one, so a file worth republishing each round costs you nothing to name once.
616
+
617
+ **A rejected publish is a repair opportunity, not an error to swallow.** Content publishes
618
+ reject catchably — the file is missing, the path escaped the workspace, the bytes are over the
619
+ cap — and the honest response is to hand the gap back to a subagent and publish again, rather
620
+ than let a run end with nothing the user can open:
621
+
622
+ <!-- compile -->
623
+ ```ts
624
+ interface RoundOutcome {
625
+ /** 1-based round number. */
626
+ round: number;
627
+ /** Query latency in milliseconds, measured after this round's change. */
628
+ queryMs: number;
629
+ /** One sentence: what this round changed. */
630
+ change: string;
631
+ }
632
+
633
+ const TARGET_MS = 20;
634
+ artifact.chart("perf", {
635
+ title: "Query latency by round",
636
+ x: { field: "round", label: "Round" },
637
+ y: { field: "queryMs", label: "ms" },
638
+ baseline: { field: "target" },
639
+ });
640
+
641
+ phase("Optimize until the bench meets its target");
642
+ const optimizer = agent("optimizer", {
643
+ system:
644
+ "You speed up a JSONL query engine: change one thing, measure it, and write the profile " +
645
+ "of the query path to out/profile.html.",
646
+ });
647
+ const rounds: RoundOutcome[] = [];
648
+ for (let round = 1; round <= 3; round += 1) {
649
+ const outcome = await optimizer.ask<RoundOutcome>(
650
+ `Round ${round}: make the query faster, then measure it.`,
651
+ );
652
+ rounds.push(outcome);
653
+ report({ ...outcome, target: TARGET_MS }, "perf");
654
+ if (outcome.queryMs <= TARGET_MS) break;
655
+ }
656
+
657
+ phase("Hand the user the profile and the write-up");
658
+ try {
659
+ await artifact.file("profile", "out/profile.html", { title: "Query profile after the last round" });
660
+ } catch {
661
+ const profiler = agent("profiler");
662
+ await profiler.ask("out/profile.html is missing. Profile the query path as it stands and write the profile there.");
663
+ await artifact.file("profile", "out/profile.html", { title: "Query profile after the last round" });
664
+ }
665
+ const latest = rounds[rounds.length - 1]?.queryMs ?? 0;
666
+ await artifact.markdown(
667
+ "report",
668
+ [
669
+ `# Query latency: ${latest}ms against a ${TARGET_MS}ms target`,
670
+ "",
671
+ ...rounds.map((r) => `- Round ${r.round}: ${r.queryMs}ms — ${r.change}`),
672
+ ].join("\n"),
673
+ {
674
+ title: "Optimization report",
675
+ description: `What each of the ${rounds.length} rounds changed and what it bought.`,
676
+ primary: true,
677
+ },
678
+ );
679
+
680
+ return {
681
+ conclusion: `Latency landed at ${latest}ms against a ${TARGET_MS}ms target.`,
682
+ verified: ["each round's latency was measured by the subagent that made the change"],
683
+ notCovered: ["memory use; only query latency was measured"],
684
+ };
685
+ ```
686
+
687
+ One `report` call feeds both surfaces: the tagged item lands on the chart *and* in the run's
688
+ progressive results, so tagging costs nothing and adds a picture. Three cards, none repeating
689
+ another: the chart is what the user watched, the profile is what a person opens, the report
690
+ is what they keep. The CSV the bench also wrote stays in the workspace — its rows are the
691
+ chart's points, so a card for it would say nothing new.
692
+
693
+ ## 11. A complete example
694
+
695
+ The complete review workflow that used to sit here — a reviewer per changed file, triage
696
+ through one shared subagent that is fed as reviews land, a confirmer per kept finding chained
697
+ inside the same callback, one join for the cross-file deduplication — is
698
+ `${ZCODE_SKILL_DIR}/examples.md` §5. Read it when you want to see a whole script's arc; §7
699
+ and §10 already carry its rules.
700
+
701
+ ## 12. Anti-patterns
702
+
703
+ | What you wrote | What it costs you |
704
+ | --- | --- |
705
+ | Hoisted one subagent out of a fan-out for tidiness | The fan-out silently became a FIFO queue |
706
+ | Gave every subagent in a fan-out the same fixed name | Every name in a run must be unique: a literal one is rejected at compile time, a computed one kills the run at the second item. Name per item or stay anonymous |
707
+ | A fresh subagent each loop round | Round five re-learns everything round four knew, at full price |
708
+ | Accumulated findings in an array, returned at the end | A failure on the last task loses all of them; `report` as you go |
709
+ | Interpolated a whole file into the prompt | Paid tokens to tell a subagent something its own tools would have read |
710
+ | A wide `files.grep` with no glob | The call rejects; it does not quietly hand you a partial workspace |
711
+ | An unbounded `while` | The run dies on a cap instead of finishing |
712
+ | Asked a subagent to run the tests and report whether they passed | Paid a session for what `world.run` does as code — and trusted a pass/fail claim the subagent can fake |
713
+ | Built the `world.run` command name from a variable or template hole | Compile fails: the user approves the script's command set, so the command must be a literal; runtime values belong in the args array |
714
+ | Submitted a workflow to find out whether a parse function works | A full run spent on what `EvalWorkflowSnippet` answers synchronously |
715
+ | Dereferenced a `.find()` / `.match()` result or an optional property without a guard | Compile fails: `strict` keeps those `T \| undefined` / `null`; plain `items[i]` needs no guard (`noUncheckedIndexedAccess` is off) |
716
+ | `Date.now()` / `Math.random()` / `fetch` / `fs` | Rejected at compile time; a replayable run cannot contain them |
717
+ | Awaited each call in a loop that had no ordering requirement | Serial wall-clock for concurrent work |
718
+ | Interpolated a tunable constant (a threshold, a cap) into an ask message | Amending that one number rewrites every prompt that mentions it: an `AmendWorkflow` re-run misses cache at the first such ask and re-pays everything downstream |
719
+ | Named a phase or a subagent after the machinery, in either language ("fan-out", "文件评审阶段", "节点3"), or shipped the script with no markers at all | The user approves a graph whose stages say nothing about their work — or thirty cards with no story (§9) |
720
+ | Wrote a persona that says only "make the check pass" | Against a check it cannot pass, faking one is the obedient reading. Tell the subagent to escalate an impossible gate instead (§14) |
721
+ | Asked the reviewer "is this good?" | A reviewer asked for approval approves; ask what would break it and what is missing (§3) |
722
+ | Reported findings nobody confirmed | The user gets a list that cannot tell "seen" from "suspected"; confirm each finding independently and label the ones that failed (§10) |
723
+ | Gated the loop on the unit tests and never ran the integration suite, the end-to-end suite, or the bench the request was about | The work passed the check that was cheap, not the one that decides; the strongest check runs at least once before `return` (§5) |
724
+ | Wrote the gate from habit (`cargo test`, `node --test`) without reading the project's own scripts | The `package.json`, `Makefile` or README already named a stronger check, and the user knows it; survey the repository's checks before you gate (§5) |
725
+ | Put a check that exists into `notCovered` because it was slow | An honest-looking report of unverified work; `notCovered` is for what could not be checked (§10) |
726
+ | Returned a bare array as the run's result | The main agent has to improvise the deliverable, so the user gets a different shape every time; return the report shape (§10) |
727
+ | Returned the report and published nothing | The user gets the main agent's retelling and nothing to keep; publish the deliverable — the file they asked for, or the findings in long form (§10) |
728
+ | Published a CSV and a table of its rows, or a report and a copy of it | Two cards for one fact: the second is noise the user has to look past (§10) |
729
+ | Declared a dashboard for a run nobody watches | Three points on a chart for a run that was over before anyone looked; a dashboard is for the person watching (§10) |
730
+ | Stacked a reviewer loop, a fresh final reviewer, a per-finding confirmer and a reader-proxy read on one deliverable | Four sessions re-reading the same work; one deliverable gets one mechanism, two at most with a reason (§3) |
731
+ | Sent a confirmer after a finding a `world.run` already decided, or let the hunter, the confirmer and the gate each run the suite | The same check paid three times; the exit code is the confirmation, and the gate runs the suite once (§10) |
732
+ | `Promise.all` between two stages whose items map one to one (review every file, *then* confirm every finding) | The slowest reviewer gates every confirmer while the slots idle; chain the stages per item and join once (§7) |
733
+ | Waited for a run you already knew was wrong to finish, or stopped it and left it | Everything after the fix point is re-paid either way; call `AmendWorkflow` on it now, while it runs (§13) |
734
+ | Pasted a whole revised script inline after a diagnostic or an error, instead of editing the file the tool named | Twenty thousand tokens re-streamed to change one line, on a provider that may stall on the resubmit — and a script compaction has dropped is one you can no longer paste; the file is on disk, so the revision is an `Edit` and a `path` (§13) |
735
+
736
+ ## 13. After you submit
737
+
738
+ Compilation happens first. **Diagnostics mean nothing ran** — there is no partially-started
739
+ run to clean up — and they name the file your script is in. Every script you submit has one:
740
+ an inline `script` is written under `.zcode/workflow-drafts/` before it is even compiled and
741
+ the response hands you the path; a script you submitted by `path` is that file already. Each
742
+ diagnostic reads `{path}:L{line}:C{column} {message}`, counted in the file, so it addresses
743
+ an `Edit` as it stands.
744
+ **Edit that file and resubmit with `path`. Do not paste the script inline again**:
745
+ re-streaming twenty thousand tokens to change one line is slow enough that some providers
746
+ stall on it, while the `Edit` that fixes it costs a few lines. (If the response names no
747
+ file — a checkout the tool could not write to — then fix the script and resubmit it inline,
748
+ as before.)
749
+
750
+ On a clean compile the run starts in the background and you get a run ID. **Do not poll it.**
751
+ The completion notification arrives on its own and carries the final return value plus every
752
+ reported item. Go do other work, unless the user asked you to wait.
753
+
754
+ When you genuinely need to look at a run:
755
+
756
+ - `TaskOutput` blocks until a run *this session started* finishes. That is the waiting tool.
757
+ - `GetWorkflowRun` is an instant snapshot and never waits. Use it when you must not block,
758
+ or for a run another session owns — `TaskOutput` cannot see those.
759
+ - `ListWorkflowRuns` enumerates the project's runs, including other sessions'.
760
+
761
+ Read the terminal state precisely. A run ends in exactly one of three states:
762
+
763
+ - **completed** — the script returned.
764
+ - **errored** — the script itself failed (an uncaught throw, a cap it overran, an artifact
765
+ whose source file was missing). Replaying it would fail the same way, so
766
+ `ResumeWorkflowRun` refuses it; edit the run's script file, which the notification names,
767
+ and resubmit it with `AmendWorkflow` and `path`.
768
+ - **stopped** — the run was stopped and can be resumed as-is with `ResumeWorkflowRun`. The
769
+ notification's `<stop-reason>` says why: `user` (the user stopped it — leave it alone
770
+ unless they ask), `model` (you stopped it with TaskStop), `interrupted` (the process that
771
+ owned it exited; resume it), or `provider` (a subagent hit a deterministic model-side
772
+ error — sign-in expired, model not in the plan, quota cap; the `<error>` block names the
773
+ cause and the fix — resolve it with the user, then resume). A fifth reason, `superseded`,
774
+ never arrives as a notification: it is the state of a run you amended away, and the
775
+ `AmendWorkflow` result already told you. Such a run is not resumable; its successor is
776
+ the live one.
777
+
778
+ Reported items come back on errored and stopped runs too, so a dead run is still worth
779
+ reading. Model errors never reach the script: rate limits, overload, network errors,
780
+ timeouts and unknown provider errors are retried inside the run without limit while the
781
+ fan-out adapts to what the provider accepts, so a run that looks stalled with a "waiting for
782
+ provider" badge is waiting, not broken. If nothing succeeds for twenty minutes you get one
783
+ informational stall notification; the run is still running and needs nothing from you.
784
+
785
+ **When the script itself was wrong, do not start over.** Any run — errored, stopped,
786
+ completed, or still running — can be superseded: edit the run's script file and call
787
+ `AmendWorkflow` with `run_id: "<runId>"` and that `path`. That starts a new run which
788
+ imports the old one's finished work, matched per named subagent along its sequence of asks,
789
+ so every step you did not touch settles from cache at no token cost and only the changed
790
+ part actually runs — with one deliberate limit: the moment a live subagent writes to the
791
+ workspace (or a live `world.run` executes), the workspace may no longer be the one the old
792
+ results were computed against, so from that point every cached `world.run`, every cached
793
+ world read and every cached ask whose subagent had read or run something runs live even if
794
+ its text is unchanged; asks whose subagent only answered keep settling from the cache. A gate
795
+ command therefore always tests the code the amended run actually produced; the price is
796
+ that doing steps after the first live write are re-paid. The old run is left exactly as it
797
+ was. This is the move after a `ScriptError`, after a bad prompt
798
+ produced a useless result, and when a completed analysis needs one more stage — rewriting
799
+ the workflow from scratch throws away work that was already paid for. Two things make the
800
+ cache hit: names that stay the same across the revision, and asks whose instructions stay
801
+ byte-identical (an upstream change cascades — a changed result changes what interpolates
802
+ into everything downstream, which is what you want).
803
+
804
+ **Every run remembers its script file, so a revision is an `Edit`.** The terminal
805
+ notification names that path, and `GetWorkflowRun` reports it as `scriptPath` — which is why
806
+ you never have to keep the script in context: by the time a long run errors, compaction may
807
+ well have dropped the text you sent, while the file on disk has not moved. Edit it in place
808
+ and pass `path`; pass `script` only when what you are submitting is genuinely new. A `path`
809
+ whose bytes still equal what the run already ran is refused as `script_unchanged`, with
810
+ nothing stopped and nothing created — that refusal means your `Edit` did not land, not that
811
+ the run cannot be amended (changing only `max_concurrency` or `subagent_model` is a real
812
+ change and goes through).
813
+
814
+ **Editing a draft asks nothing.** `.zcode/workflow-drafts/` is machine-owned and
815
+ git-ignored, so an `Edit` or `Write` under it is pre-approved and opens no confirmation
816
+ window. Editing a script is not running one: the window still stands between the file and
817
+ the run, so fix the file freely and let the submission be the thing the user answers.
818
+
819
+ **Repair a run while it is still going.** The same call works before the run ends, and it
820
+ is cheaper the earlier you make it. When the user points at a run that is heading the wrong
821
+ way, or a reported item shows the script is wrong, do not wait for the completion
822
+ notification and do not stop the run first: call `AmendWorkflow` on it. The tool stops the
823
+ running predecessor, waits for it to settle, imports everything that settled before the
824
+ stop at zero cost, and starts the revision — one call, no `TaskStop`, no polling for the
825
+ stop. Nothing after the stop was ever paid for, and nothing the predecessor finished is paid
826
+ twice: the cache stays open until the revision's first write to the workspace, and asks whose
827
+ subagent only answered, without reading or running anything, keep replaying even after that. The
828
+ old run shows as "superseded" and sends no notification of its own; the result you get back
829
+ names both runs. A run you amended is not left for the user to ask about: the amend result
830
+ is the account of what happened to it.
831
+
832
+ That cascade rule has a converse that decides whether your revisions are cheap or ruinous.
833
+ Interpolating an upstream **result** into a prompt is safe: on resume the result replays
834
+ byte-identical, so the prompt does too. Interpolating a script **constant** is the
835
+ opposite bet — constants are exactly what an amendment tunes, and every ask whose text
836
+ mentions one is an ask whose cache you forfeit by tuning it, plus everything downstream of
837
+ it:
838
+
839
+ ```ts
840
+ // ✗ Couples every revision ask to a knob you will want to tune. Amending
841
+ // PASS_THRESHOLD (say 96 → 94) rewrites this text, so the resumed run misses
842
+ // cache at the first revision and re-pays every ask after it — to reproduce
843
+ // answers the old run already holds.
844
+ draft = await writer.ask<Draft>(
845
+ `Scored ${review.score}; passing needs ${PASS_THRESHOLD}. Revise: ${JSON.stringify(review.comments)}`,
846
+ );
847
+
848
+ // ✓ The prompt carries only replayed upstream values and the fact that the
849
+ // branch was taken; the threshold comparison already happened in script code.
850
+ // Amending the threshold now moves only where the loop exits — every round
851
+ // before that point settles from cache.
852
+ draft = await writer.ask<Draft>(
853
+ `The review did not pass. Address each comment: ${JSON.stringify(review.comments)}`,
854
+ );
855
+ ```
856
+
857
+ Keep the tunable knobs — thresholds, round caps — in the script's control flow,
858
+ where amending them is free, and out of ask text, where amending them is a cache purge.
859
+ A subagent almost never needs the number anyway; it needs the verdict and the feedback.
860
+
861
+ ## 14. When a subagent escalates
862
+
863
+ Every subagent can escalate a blocking question to you while the run is going. Nothing in the
864
+ script switches this on and no persona field controls it — the tool is injected the way
865
+ `submit_result` is. It exists for the one thing a script
866
+ cannot design its way around: a subagent walled in by something that is not its fault. A gate
867
+ it cannot pass (a check capped at 95 against a threshold of 96), two instructions no single
868
+ output satisfies, or a fact only whoever started the run knows. With no way to ask,
869
+ a walled-in subagent has two moves left and both are bad — grind until the round cap, or
870
+ fake its way past.
871
+
872
+ **What reaches you.** A notification arrives mid-run carrying the run, the subagent, the
873
+ question with whatever evidence the subagent attached, and a globally unique question id shaped
874
+ like `dwfq-...`. Only the subagent that asked is parked, and only on that one call: its
875
+ siblings, the script's control flow and the run's status all carry on unchanged. Nothing
876
+ times out on its behalf either — it waits until you answer or until the run is cancelled. So
877
+ you need not drop what you are doing, but you cannot leave it unanswered.
878
+
879
+ **Then decide which of two things is true.**
880
+
881
+ - The question **has an answer** — a clarification, one missing fact, a tradeoff only you can
882
+ call. Answer it with `ResolveWorkflowQuestion` and that `question_id`. Your text becomes
883
+ the result of the subagent's own call, verbatim, and it continues its turn from there. Not
884
+ sure? Read the run with `GetWorkflowRun`, or put the question to the user with
885
+ `AskUserQuestion` — then come back and answer, because nothing answers in your place.
886
+ - The **script** is what is broken — a gate no output can pass, control flow routing work to
887
+ the wrong subagent. No sentence fixes that. Edit the run's script file and call
888
+ `AmendWorkflow` on it with that `path` (§13); it stops the run for you. The escalation is
889
+ what makes that amendment cheap: the ask that escalated never settled, so it sits exactly
890
+ past the cache boundary — everything before it imports from the old run at no token cost,
891
+ and it re-runs against the fixed script.
892
+
893
+ **If the notification never arrives**, the question is still discoverable. `GetWorkflowRun`
894
+ lists what a run still owes an answer to under `pendingQuestions`, ids included. That
895
+ snapshot is the fallback when a notification is dropped, and the way to check on a run you
896
+ suspect is waiting on you.
897
+
898
+ **Write personas that make honesty the cheap move.** A subagent follows the instructions you
899
+ wrote, so a persona that says "make the check pass" and stops there leaves faking a pass as
900
+ the obedient reading. One sentence closes that off; adapt this one: *"If a check is
901
+ impossible to pass, or your instructions contradict each other, escalate and say so plainly
902
+ rather than working around it."*
903
+
904
+ One ask gets three escalations. The fourth comes back as an ordinary result telling the
905
+ subagent its escalation allowance is spent and to proceed on its own best judgement — a guard against
906
+ chatter, not an allowance to spend.
907
+
908
+ ## 15. Going deeper
909
+
910
+ - `${ZCODE_SKILL_DIR}/patterns.md` — the topology catalogue: fan-out/fan-in, review sweeps,
911
+ planner-reviewer loops, judge panels, staged pipelines, bounded discovery,
912
+ `world.run`-gated verifier loops. Read it
913
+ when you know the shape you want and want it written correctly.
914
+ - `${ZCODE_SKILL_DIR}/examples.md` — complete worked scripts, including a two-subagent
915
+ adversarial prove/disprove loop. Read one when you want to see a whole script's arc.
916
+
917
+ ## 16. Tool reference
918
+
919
+ The four authoring tools — `CreateWorkflow`, `AmendWorkflow`, `SaveWorkflow` and
920
+ `EvalWorkflowSnippet` — carry one-paragraph descriptions on purpose, and each of them refuses
921
+ to run until this skill has been loaded in the session. This section is the part of their
922
+ contract that the descriptions do not carry: the facade the compiler checks against, the
923
+ rules a script must satisfy, and the fields each tool takes. Read it before writing or
924
+ revising a script; the compiler holds you to it.
925
+
926
+ ### 16.1 `CreateWorkflow`
927
+
928
+ Typechecks the script; on a clean compile asks the user to confirm and starts the run in the
929
+ background; you are notified with the script's final `return` value when the run settles.
930
+ Compilation errors come back as diagnostics, counted in the script's file (§13).
931
+
932
+ **Three sources; pass exactly one.**
933
+
934
+ - `script`: a one-off workflow written inline. It is saved to a file under
935
+ `.zcode/workflow-drafts/` and the result names that file, whether the script compiled or
936
+ not; revise it by editing the file and resubmitting with `path`, never by pasting the
937
+ script again.
938
+ - `saved`: a workflow saved in this project or globally, by name —
939
+ `saved: { name: "pr-review", args: { pr: "123" } }`. Its arguments are validated against
940
+ its declaration (unknown keys, missing required values and wrong types are rejected)
941
+ before anything runs. Before writing a workflow from scratch, check `ListSavedWorkflows`:
942
+ a saved workflow the user reviewed and kept beats a rebuilt one. Running a saved workflow
943
+ is the one call that does not need this skill loaded.
944
+ - `path`: a script file on disk, relative to the working directory or absolute — normally
945
+ the file a previous result named. Pass `args` alongside it when the file declares
946
+ arguments in its `/* zcode-workflow` block.
947
+
948
+ Either way the user confirms the run, and the confirmation shows the actual script.
949
+
950
+ **Fields.**
951
+
952
+ - `name`: a short label for the run in the user's language ("PR review", "代码评审").
953
+ Always pass it for an inline script; it labels the run everywhere and names its draft
954
+ file. It defaults to the saved workflow's name.
955
+ - `max_concurrency`: an upper bound on how many subagents work at once. Set it only when
956
+ the user asks to limit parallelism — never on your own initiative and never as a
957
+ reaction to provider rate limits or errors, which the runtime already adapts to. A value
958
+ above the machine's ceiling is lowered to it. Otherwise how many subagents run at once is
959
+ the runtime's decision, not the script's.
960
+ - `subagent_model`: the model the subagents run on, as `providerId/modelId` or a bare
961
+ model id (optionally `$reasoningLevel`). Set it only when the user asks for a specific
962
+ model; pass the name the user used, and if the tool cannot resolve it, pick from the ids
963
+ it lists or call `ListModels`. You stay on the session model either way.
964
+
965
+ This tool starts a new run. To change a run that exists — errored, completed, stopped or
966
+ still running — call `AmendWorkflow` (§13, §16.4), never `CreateWorkflow` again.
967
+
968
+ ### 16.2 The facade
969
+
970
+ Every script and snippet is checked against these declarations. They are the same constant
971
+ the compiler is fed, so what you read here is what typechecks. The block uses `declare`
972
+ because it is the host's ambient API description — do not imitate it; your script defines
973
+ plain interfaces and never uses `declare`.
974
+
975
+ <!-- facade-dts:start -->
976
+ ```ts
977
+ /**
978
+ * A node: one task assigned to an actor, producing a typed result.
979
+ * Thenable — await it, or combine with Promise.all for joins.
980
+ */
981
+ declare interface Node<T> extends PromiseLike<T> {}
982
+
983
+ /**
984
+ * Persona of an actor: identity, fixed at creation (frozen for the actor's lifetime). Every
985
+ * actor has the regular working tools (reading, searching, editing, running commands); what
986
+ * it may do with them is said in the ask.
987
+ */
988
+ declare interface AgentPersona {
989
+ /** System prompt describing the actor's role. */
990
+ system?: string;
991
+ }
992
+
993
+ /**
994
+ * An actor: a persistent conversational context that executes tasks serially.
995
+ * Context accumulates across asks; concurrent asks on one actor queue FIFO.
996
+ */
997
+ declare interface Agent {
998
+ /**
999
+ * Assign one task. T is the task's output value: an interface you define in
1000
+ * this script with a plain "interface" declaration (no "declare" modifier; the
1001
+ * harness synthesizes its runtime schema from the type), or the final response
1002
+ * text when the type argument is omitted.
1003
+ */
1004
+ ask<T = string>(instructions: string): Node<T>;
1005
+ }
1006
+
1007
+ /**
1008
+ * Create a fresh actor. Every call creates a new context; sharing context means
1009
+ * sharing this reference.
1010
+ *
1011
+ * The name is optional, but a non-empty one is an identity, not a label. It must be
1012
+ * unique within the run: two actors under the same name fail the whole run. It is
1013
+ * also the key a revised re-run matches its cache on (AmendWorkflow imports the
1014
+ * finished work of each named actor), so stable, meaningful
1015
+ * names carry work across script revisions. Anonymous actors are legal and never
1016
+ * reuse imported work.
1017
+ *
1018
+ * In a fan-out or a loop each iteration is a separate actor, so a single static name
1019
+ * there is the duplicate case: give each one its own name (agent("reviewer-" + file))
1020
+ * or leave them all anonymous. A literal name in a loop is reported when the script
1021
+ * is compiled; a computed one fails at run time.
1022
+ */
1023
+ declare function agent(name?: string, persona?: string | AgentPersona): Agent;
1024
+
1025
+ /**
1026
+ * The run's arguments: the values supplied when this workflow was started.
1027
+ *
1028
+ * A workflow saved into the project declares its arguments (name, type, whether they
1029
+ * are required, defaults); the host validates the caller's values against that
1030
+ * declaration and fills in defaults before the run starts, so what lands here is
1031
+ * always a complete, checked bag. For an inline script — and inside a snippet — it is
1032
+ * simply empty.
1033
+ *
1034
+ * Always defined, so reading args.target is a plain property read rather than a crash.
1035
+ * The values are typed unknown on purpose: the compiler surface must not change from
1036
+ * one workflow to the next, so narrow them in the script -- String(args.target), or a
1037
+ * typeof guard -- exactly as you would any other external input.
1038
+ */
1039
+ declare const args: Readonly<Record<string, unknown>>;
1040
+
1041
+ /** Emit a progress message to the user. */
1042
+ declare function log(message: string): void;
1043
+
1044
+ /**
1045
+ * Publish one intermediate result while the run is still going. Like log() it
1046
+ * returns nothing and there is nothing to await — a finding has no reply.
1047
+ *
1048
+ * Unlike log() it is journaled: a resumed run never shows the same item twice, and
1049
+ * the items are delivered with the completion notification even when the run ends in
1050
+ * failure. That is the point of it — a run that dies on its twelfth of forty tasks
1051
+ * still did eleven tasks' worth of work, and reported items are how that work
1052
+ * survives.
1053
+ *
1054
+ * Two caps, and both fail the whole run rather than the call (there is no rejection
1055
+ * channel in a void return): at most 256 items per run, and at most 32KB per
1056
+ * serialized item. They are generous on purpose — report findings, not chatter.
1057
+ *
1058
+ * The item must be JSON-serializable: plain objects, arrays, strings, numbers,
1059
+ * booleans, null. Functions, class instances, Date and promises are rejected when
1060
+ * the script is compiled.
1061
+ *
1062
+ * The optional second argument routes the item to a dashboard artifact: pass the id
1063
+ * of a preset declared with artifact.chart / table / metrics / board, and this item
1064
+ * becomes one more point, row, tile value or card on it — the dashboard is nothing
1065
+ * but the items tagged with its id. The tag must be a compile-time string literal
1066
+ * naming a preset the script declares (anywhere in the text, but the declaration must
1067
+ * have executed by the time this call runs); a tag that names nothing, or names a
1068
+ * file/markdown artifact, fails the run. An untagged report is unchanged: it goes to
1069
+ * the run's Results, and a tagged one goes to both.
1070
+ */
1071
+ declare function report(item: unknown, artifactId?: string): void;
1072
+
1073
+ /** A published artifact version: the id it was published under, and which version this call minted. */
1074
+ declare interface ArtifactRef { id: string; version: number }
1075
+ /** Card metadata every artifact kind accepts. */
1076
+ declare interface ArtifactOptions {
1077
+ /** Shown as the card title; defaults to the id. In the user's language. */
1078
+ title?: string;
1079
+ /** A sentence or two, shown beside the title when this artifact leads the card. */
1080
+ description?: string;
1081
+ /** The run's deliverable: the card and the run pane lead with it. At most one id per run; once set it stays set for later versions. */
1082
+ primary?: boolean;
1083
+ }
1084
+ declare interface ArtifactFileOptions extends ArtifactOptions {
1085
+ /** Overrides the type sniffed from the extension ("application/pdf", "text/html", …). */
1086
+ contentType?: string;
1087
+ }
1088
+ /** One value taken from a reported item: a dot path into the item ("timing.after"). */
1089
+ declare interface ArtifactField { field: string; label?: string; unit?: string }
1090
+ declare interface ChartSpec extends ArtifactOptions {
1091
+ type?: "line" | "bar" | "scatter"; // default "line"
1092
+ x: ArtifactField;
1093
+ y: ArtifactField | ArtifactField[]; // several = several series
1094
+ scale?: "linear" | "log"; // y axis, default "linear"
1095
+ /** A reference value drawn as a horizontal rule, taken from the first item that has the field. */
1096
+ baseline?: ArtifactField;
1097
+ }
1098
+ declare interface TableSpec extends ArtifactOptions {
1099
+ columns: ArtifactField[];
1100
+ /** Field that identifies a row; a later item with the same key replaces the row. Absent = append-only. */
1101
+ key?: string;
1102
+ }
1103
+ declare interface MetricsSpec extends ArtifactOptions {
1104
+ /** Each tile shows the value from the latest item that has the field. */
1105
+ metrics: ArtifactField[];
1106
+ }
1107
+ declare interface BoardSpec extends ArtifactOptions {
1108
+ /** Field identifying a card; a later item with the same key moves/updates the card. */
1109
+ key: string;
1110
+ /** Field holding the card's column. */
1111
+ status: string;
1112
+ /** Column order. Items whose status is not listed land in a trailing "other" column. */
1113
+ columns: string[];
1114
+ /** Field for the card title (default: the key) and extra fields shown on the card. */
1115
+ cardTitle?: string;
1116
+ detail?: ArtifactField[];
1117
+ }
1118
+ /**
1119
+ * Publish what the user should see: the run's own deliverable surface, kept after it ends.
1120
+ * Two habits. (1) EVERY RUN PUBLISHES ITS DELIVERABLE, whatever the user asked for: a webpage
1121
+ * or PDF a subagent wrote goes out via file(); an answer (findings, a review) goes out as the
1122
+ * long form of the facts the return summarises, usually via markdown(). Once, at the end;
1123
+ * skip it only when the whole answer is one line. When the run publishes more than one
1124
+ * artifact, mark the deliverable { primary: true }. (2) A DASHBOARD IS FOR THE PERSON WATCHING
1125
+ * THE RUN: declare one when there is state worth watching mid-run (the key number per round,
1126
+ * which items are done) and none when the run is over before anyone looks. Two tests keep it
1127
+ * to what matters: would the user open it on its own? does it repeat another artifact? A CSV
1128
+ * and a table of its rows: one of them is noise.
1129
+ *
1130
+ * Every id is a compile-time string literal (non-empty, at most 64 characters of
1131
+ * [A-Za-z0-9_.-]); the set a run can publish is fixed at submit time, so the compiler
1132
+ * rejects a computed one. Within one run an id belongs to exactly one member.
1133
+ * The two families are deliberately asymmetric, and the asymmetry is the whole design:
1134
+ * - CONTENT (file, markdown) are EFFECTS: async, resolve to an ArtifactRef, and REJECT
1135
+ * catchably — missing file, not a file, path outside the workspace, over the size cap, no
1136
+ * store. try { await artifact.file("book", "out/book.pdf") } catch { …ask a subagent to
1137
+ * write it… } is the intended idiom. Bytes are copied at publish time, so later workspace
1138
+ * edits never rewrite a version; republishing an id mints the NEXT version and keeps the
1139
+ * old ones (at most 16 per id).
1140
+ * - PRESET (chart, table, metrics, board) are DECLARATIONS: synchronous, return nothing,
1141
+ * never touch a file; they say how items tagged with their id are drawn. Declare each ONCE,
1142
+ * at the top, then feed it with report(item, "<id>"). The same id with an identical spec is
1143
+ * a no-op; a DIFFERENT or malformed spec fails the whole run — a void return has no
1144
+ * rejection channel, exactly as with report().
1145
+ * Caps: 32 ids per run, 16 versions per id, 20 MiB per file, 256 KB per markdown, 120
1146
+ * characters of title and 500 of description.
1147
+ */
1148
+ declare const artifact: {
1149
+ /**
1150
+ * Publish a file from the workspace. path is workspace-relative, resolved by the same
1151
+ * resolver files.read() uses; the bytes are copied at publish time. The content type is
1152
+ * read off the extension unless opts.contentType overrides it. Rejects (catchably)
1153
+ * rather than publishing something empty.
1154
+ */
1155
+ file(id: string, path: string, opts?: ArtifactFileOptions): Promise<ArtifactRef>;
1156
+ /** Publish markdown text the script composed: the usual shape of a report deliverable, the long form of what the return summarises. */
1157
+ markdown(id: string, content: string, opts?: ArtifactOptions): Promise<ArtifactRef>;
1158
+ /** Declare a chart fed by report(item, id): each tagged item is one point. */
1159
+ chart(id: string, spec: ChartSpec): void;
1160
+ /** Declare a table fed by report(item, id): each tagged item is one row. */
1161
+ table(id: string, spec: TableSpec): void;
1162
+ /** Declare a metric tile row fed by report(item, id): each tile shows the newest value it has. */
1163
+ metrics(id: string, spec: MetricsSpec): void;
1164
+ /** Declare a board fed by report(item, id): each tagged item is a card, placed by its status field. */
1165
+ board(id: string, spec: BoardSpec): void;
1166
+ };
1167
+
1168
+ /**
1169
+ * Mark the start of a phase: a short, human-readable name for the group of steps that
1170
+ * follow, shown as one node on the workflow graph the user reads and approves.
1171
+ * Presentation only — it starts nothing, waits for nothing, returns nothing.
1172
+ *
1173
+ * Required in every script you submit, not optional: the phase graph is how the user
1174
+ * experiences the workflow. Without markers they face one card per step and no story;
1175
+ * group the whole script, top to bottom.
1176
+ *
1177
+ * Name phases for the user, in the language the user is speaking in this session: a short
1178
+ * natural phrase saying what the stage accomplishes ("Research each changed file in parallel",
1179
+ * "汇总并产出最终报告"). Graph-building vocabulary the user never chose — "fan-out", "gate",
1180
+ * "aggregate" — is not a name; the user approves stages by what they do. Say it the way you
1181
+ * would tell a colleague what is happening: "确认测试仍然通过", not "执行测试验证任务".
1182
+ *
1183
+ * The scope is the rest of the enclosing block: the marker claims every step issued
1184
+ * from it to the end of the block it stands in — nested blocks and inlined helper
1185
+ * calls included — and the enclosing phase resumes once that block ends. A marker
1186
+ * inside an if-branch therefore groups that branch and does not leak past it. Two
1187
+ * markers with the same name are one phase: repeating a name continues that phase,
1188
+ * which is the opposite of an actor's name — that one has to be unique.
1189
+ *
1190
+ * Two rules the compiler enforces. The name must be a compile-time string literal
1191
+ * ("review the diff" or a no-substitution template) and non-empty, because the phase
1192
+ * names label the graph the user confirms before anything runs. And the call must
1193
+ * stand alone as its own statement: a marker in expression position has no
1194
+ * rest-of-block to claim.
1195
+ *
1196
+ * Every phase must contain at least one subagent ask or one world.run. A phase is a
1197
+ * stage the user watches progress through; plain script logic between two asks (reading
1198
+ * args, shaping a prompt, building the return) runs in a flash and shows no progress, so
1199
+ * it is not a stage. Fold it into the phase before or after it; never open a phase for
1200
+ * the setup at the top or the return at the bottom.
1201
+ *
1202
+ * Idiom: one marker at the head of each stage that does work — name the loop body and
1203
+ * its check where they start, name the close-out that asks or runs after the loop.
1204
+ */
1205
+ declare function phase(name: string): void;
1206
+
1207
+ /** One matching line found by files.grep. */
1208
+ declare interface GrepMatch {
1209
+ /** Workspace-relative path of the file the match was found in. */
1210
+ path: string;
1211
+ /** One-based line number of the match. */
1212
+ line: number;
1213
+ /** The full text of the matching line. */
1214
+ text: string;
1215
+ }
1216
+
1217
+ /**
1218
+ * Journaled read-only observations of the workspace, executed by the harness.
1219
+ * Replay returns the journal-recorded value. Prefer passing paths to agents and
1220
+ * letting them read files with their own tools; read() and grep() are for when the
1221
+ * script itself must shard or branch on content. There is no write — writing to the
1222
+ * world is an agent task.
1223
+ */
1224
+ declare const files: {
1225
+ /**
1226
+ * List workspace files matching a glob pattern, as workspace-relative paths sorted
1227
+ * lexicographically. Capped at 2000 files: over the cap the call rejects instead of
1228
+ * returning a partial view — narrow the pattern.
1229
+ */
1230
+ glob(pattern: string): Promise<string[]>;
1231
+ /** Read one workspace file as UTF-8 text. Size-capped. */
1232
+ read(path: string): Promise<string>;
1233
+ /**
1234
+ * Search file contents with a ripgrep-compatible regular expression, optionally
1235
+ * narrowed to a glob over paths (the same syntax glob() takes: "*.ts", "src/**").
1236
+ * Returns one entry per matching line, with workspace-relative paths and one-based
1237
+ * line numbers.
1238
+ *
1239
+ * Capped at 2000 matches or 256KB of results, whichever comes first. Over the cap
1240
+ * the call rejects instead of returning a partial view — a silently truncated search
1241
+ * is the one result you cannot reason about — so narrow the pattern or add a glob.
1242
+ */
1243
+ grep(pattern: string, glob?: string): Promise<GrepMatch[]>;
1244
+ };
1245
+
1246
+ /** The working tree's status, as reported by git.status(). */
1247
+ declare interface GitStatus {
1248
+ /** Current branch name; absent when HEAD is detached. */
1249
+ branch?: string;
1250
+ /** True when nothing is staged, modified, or untracked. */
1251
+ clean: boolean;
1252
+ /** Workspace-relative paths staged for the next commit. */
1253
+ staged: string[];
1254
+ /** Workspace-relative paths modified in the working tree but not staged. */
1255
+ unstaged: string[];
1256
+ /** Workspace-relative paths git does not track (honouring .gitignore). */
1257
+ untracked: string[];
1258
+ }
1259
+
1260
+ /** One commit, as reported by git.log(). */
1261
+ declare interface GitCommit {
1262
+ /** Full commit hash. */
1263
+ hash: string;
1264
+ /** First line of the commit message. */
1265
+ subject: string;
1266
+ /** Author name. */
1267
+ author: string;
1268
+ /** Author date, ISO 8601. */
1269
+ date: string;
1270
+ }
1271
+
1272
+ /**
1273
+ * Journaled read-only git observations — the same bargain as files.*: executed by the
1274
+ * harness, recorded in the journal, and replayed from the record, so a resumed run
1275
+ * sees the repository as it was rather than as it is now.
1276
+ *
1277
+ * Read-only by construction rather than by permission: the harness builds a fixed
1278
+ * argument list for one allowlisted subcommand and never a shell string, so there is
1279
+ * no call this surface can express that writes. A base must name a single ref — no
1280
+ * ".." ranges in this version — and paths are workspace-relative.
1281
+ *
1282
+ * Observations are scoped to the workspace, which is the same world files.* observes:
1283
+ * every path you get back is relative to the workspace and safe to pass straight to
1284
+ * files.read(). If the workspace is a subdirectory of the repository, changes outside
1285
+ * it are not reported — the workspace is the world. git.log is the exception, because
1286
+ * commits are repository-wide objects rather than paths.
1287
+ *
1288
+ * Caps reject rather than truncate (diff at 512KB, log at 100 commits), for the same
1289
+ * reason grep does. Outside a git repository, or with no git available, every call
1290
+ * rejects with a catchable error, so the idiom is try/catch with a files.glob fallback.
1291
+ */
1292
+ declare const git: {
1293
+ /**
1294
+ * Workspace-relative paths that changed. With no base: files modified against HEAD
1295
+ * plus untracked files, because a brand-new file is a change to anyone reading. With
1296
+ * a base ref: files differing from that ref, tracked history only.
1297
+ */
1298
+ changedFiles(base?: string): Promise<string[]>;
1299
+ /**
1300
+ * Unified diff against base (default HEAD). Covers the whole workspace unless you
1301
+ * narrow it to one workspace-relative path.
1302
+ */
1303
+ diff(base?: string, path?: string): Promise<string>;
1304
+ /** The current working-tree status, for the workspace. */
1305
+ status(): Promise<GitStatus>;
1306
+ /**
1307
+ * The most recent commits, newest first. Default 20, maximum 100. Unlike the other
1308
+ * members this reads repository-wide history, not workspace paths.
1309
+ */
1310
+ log(count?: number): Promise<GitCommit[]>;
1311
+ };
1312
+
1313
+ /** The outcome of one world.run command, including nonzero exits. */
1314
+ declare interface WorldRunResult {
1315
+ /** The process exit code. Nonzero is a normal, returned outcome — branch on it. */
1316
+ exitCode: number;
1317
+ /** Captured stdout (UTF-8). Capped at 256KB; over the cap the call rejects. */
1318
+ stdout: string;
1319
+ /** Captured stderr (UTF-8). Same cap and rejection semantics as stdout. */
1320
+ stderr: string;
1321
+ }
1322
+
1323
+ /**
1324
+ * Journaled command execution — the effect primitive. Executed by the harness exactly
1325
+ * once per call site and iteration, recorded in the journal, and replayed from the
1326
+ * record on resume (resume is crash recovery, not re-verification).
1327
+ *
1328
+ * Deliberately unlike git.*: a completed process with a NONZERO exit code RESOLVES to
1329
+ * a WorldRunResult — a failing check is the gating loop's normal case and must not
1330
+ * travel exception control flow. The promise only rejects (catchably) when the
1331
+ * command could not run as an observation at all: spawn failure, or timeout (default
1332
+ * 300000ms, override per call via timeoutMs, no upper cap).
1333
+ *
1334
+ * cmd must be a compile-time string literal: the script's command set is shown to the
1335
+ * user when the run is confirmed, and only those commands are executable. Fixed argv,
1336
+ * never a shell — no pipes, no redirection, no variable expansion; compose with
1337
+ * multiple calls and plain code. cwd is the workspace. Idiom: model generates, code
1338
+ * gates — run the check here, parse its output with pure script logic, and hand
1339
+ * failures to an agent to fix. A helper that needs Node builtins can be inlined as
1340
+ * world.run("node", ["-e", code]) — the code string lives inside the script, so it is
1341
+ * pinned by the journal key like every other argument.
1342
+ */
1343
+ declare const world: {
1344
+ run(cmd: string, args?: string[], opts?: { timeoutMs?: number }): Promise<WorldRunResult>;
1345
+ };
1346
+ ```
1347
+ <!-- facade-dts:end -->
1348
+
1349
+ ### 16.3 Rules the compiler and the analyzer enforce
1350
+
1351
+ - Plain TypeScript. Define result types with a plain `interface Foo { ... }` or
1352
+ `type Foo = ...` and pass them as `ask<T>` type arguments.
1353
+ - Compiled under `strict` with `noUncheckedIndexedAccess` off: indexing an array or record
1354
+ (`items[i]`) needs no guard. `.find()`, `.match()`, `Map.get()` and optional properties
1355
+ still yield `T | undefined` / `null` and must be guarded before use.
1356
+ - Never use the `declare` modifier: the script is compiled inside a function body, where
1357
+ ambient declarations are illegal. No `export` statements — the workflow's output is its
1358
+ final `return`. No `import` statements.
1359
+ - Top-level `await` and a final `return <value>` are allowed; the returned value is exactly
1360
+ what the completion notification carries.
1361
+ - No Node or web APIs: `process`, `fetch`, `fs` do not exist and fail typechecking.
1362
+ - `world.run` executes a real command. Its first argument must be a compile-time string
1363
+ literal — the script's command set is shown to the user at confirmation — so interpolate
1364
+ runtime values into the args array, never into the command name. A nonzero exit code
1365
+ comes back as a value (`{ exitCode, stdout, stderr }`), not an exception: branch on
1366
+ `exitCode` for gate checks. Default timeout 300s; override per call with `timeoutMs` (no
1367
+ cap). Spawn failures and timeouts reject; stdout or stderr over 256KB rejects like any
1368
+ other over-cap world read.
1369
+ - Phases are required (§8): cover the whole script with `phase("...")` markers, one at the
1370
+ head of each stage. The name is a compile-time string literal and the call is a standalone
1371
+ statement; the marker claims the rest of its enclosing block, nested blocks and inlined
1372
+ helper calls included, so a marker inside an `if` covers that branch only. Two markers
1373
+ with the same name are one phase, which is how a retry loop stays two nodes instead of
1374
+ per-round sprawl. Every phase contains at least one subagent `ask` or one `world.run`;
1375
+ plain script logic between two asks is not a stage, so do not open a phase for the setup
1376
+ at the top or the `return` at the bottom.
1377
+ - Subagent names: the name you pass to `agent("...")` is the card the user sees, so write
1378
+ it for the user in the session's language (§9). It is also an identity: unique within the
1379
+ run, and the key an amended run matches its cached results by. Keep names stable across
1380
+ revisions of the same script, and give duplicates in a loop their own computed names.
1381
+ - Artifact ids and the `report` tag are compile-time literals; one id belongs to one
1382
+ artifact kind; at most one artifact carries `primary: true`; a preset artifact is declared
1383
+ at the top level, not inside a loop, callback or branch (§10). Publishing rejects
1384
+ catchably when the file is missing or too large.
1385
+ - Model-side errors never reach the script. Rate limits, concurrency limits, overload,
1386
+ network errors, timeouts and unknown provider errors are retried by the runtime without
1387
+ limit while it adapts the fan-out to what the provider accepts; a deterministic one
1388
+ (expired sign-in, model not in the plan, quota cap, invalid request) stops the whole run as
1389
+ `stopped` so the user can fix the cause and resume it. So do not write retry loops or
1390
+ `try`/`catch` for provider errors. Reserve them for logic failures — a subagent result
1391
+ that failed validation, a gate that did not pass, a world read over its cap, an artifact
1392
+ publish whose source file is missing, or a `ContextLimit` (the ask was too large for the
1393
+ model's context even after compaction: split the work or send less).
1394
+ - The final `return` is the model-facing result; artifacts are the user-facing deliverable.
1395
+ Never put the same content in both.
1396
+ - On diagnostics, edit the file the result names and call the tool again with `path`; never
1397
+ paste the script a second time.
1398
+
1399
+ ### 16.4 `AmendWorkflow`
1400
+
1401
+ Revises an existing run: it starts a new run that supersedes the old one and imports its
1402
+ finished work as a cache, so only what you changed is paid for again. §13 has the cache
1403
+ rules and the repair-while-running move. It works on any run of this project — completed,
1404
+ errored, stopped or still running; a running predecessor is stopped and superseded in the
1405
+ same call, so never `TaskStop` it first and never rewrite it from scratch with
1406
+ `CreateWorkflow`. To continue a stopped run unchanged, use `ResumeWorkflowRun` instead.
1407
+
1408
+ **Fields — every field you omit keeps the predecessor's value.**
1409
+
1410
+ - `run_id` (required): from a `CreateWorkflow` or `AmendWorkflow` result, a notification,
1411
+ `GetWorkflowRun` or `ListWorkflowRuns`.
1412
+ - `path` or `script`, never both. `path` is the usual form: the errored notification and
1413
+ `GetWorkflowRun` name the run's script file — edit it in place and pass the same path
1414
+ back, so a revision costs one `Edit` instead of a second copy of the whole script. A file
1415
+ whose bytes you did not change is refused (`script_unchanged`) unless the call also
1416
+ changes `max_concurrency` or `subagent_model`; nothing is stopped and nothing is created.
1417
+ `script` carries a whole revised script inline, written against the same facade and rules;
1418
+ it is saved to a draft file the result names, so the next revision can go back to `path`.
1419
+ Omit both to keep the predecessor's script byte for byte and change only the settings
1420
+ below; its finished work still replays from the cache.
1421
+ - `name`: a new display label; defaults to the predecessor's.
1422
+ - `max_concurrency`: omit to keep the predecessor's limit, pass `null` to remove it, pass a
1423
+ number to change it (only when the user asks). A call carrying nothing but `run_id` and
1424
+ `max_concurrency`, against a run that is still going, retunes that run in place instead of
1425
+ starting a new one: same run, nothing stopped, nothing re-run.
1426
+ - `subagent_model`: omit to keep the predecessor's choice, pass `null` to put the subagents
1427
+ back on the session model, pass a model id to change it (only when the user asks).
1428
+ `ListModels` lists the ids.
1429
+
1430
+ Changing only a setting on a running run still stops it; what it had in flight runs again in
1431
+ the new run, except that a named subagent whose unfinished ask you did not change picks that
1432
+ ask up where it left off instead of starting it over.
1433
+
1434
+ **How the cache works.** Named subagents are matched by name across the two scripts; each
1435
+ one's asks are matched in order by byte-identical instructions. A match settles from the
1436
+ recorded result at zero tokens; a changed or added ask runs live. The cache stays open until a
1437
+ live subagent makes its first write to the workspace (or a live `world.run` executes): from
1438
+ that moment, cached world reads and cached asks whose subagent had read or run something
1439
+ would describe a workspace that no longer exists, so they run live too. Asks that only
1440
+ answered keep settling from the cache. Editing an ask's text is how you force it to run
1441
+ again; keep names stable and keep tunable constants out of ask text (§13).
1442
+
1443
+ An inline `script` that does not compile comes back as diagnostics: fix the file the result
1444
+ names and call again with `path` — nothing was stopped and nothing was started.
1445
+
1446
+ **Confirmation.** A run this session started (through `CreateWorkflow`, a previous
1447
+ `AmendWorkflow` or the workflows hub) is amended without a confirmation window, even while
1448
+ it is running. A run the user stopped, or a run another session started, asks the user
1449
+ first. The result names the run that was superseded (if one was stopped) and the new run's
1450
+ id. The superseded run sends no notification of its own; the new run notifies when it
1451
+ settles. Do not wait for it or poll it with `TaskOutput`.
1452
+
1453
+ ### 16.5 `SaveWorkflow`
1454
+
1455
+ Saves a script with its metadata so it can be run again by name — through `CreateWorkflow`'s
1456
+ `saved` source, discovered with `ListSavedWorkflows`. Project definitions go in
1457
+ `.zcode/workflows/<name>.dwf.ts`, committed with the repository and visible only inside it;
1458
+ global definitions go in `~/.zcode/workflows/<name>.dwf.ts` and are available from every
1459
+ project on this machine.
1460
+
1461
+ **When to call it.**
1462
+
1463
+ - Never unsolicited. Saving writes a file into the user's repository; that is their
1464
+ decision, not yours.
1465
+ - When a workflow you just built looks reusable — it would plausibly run again with
1466
+ different inputs — suggest saving it in prose, one sentence naming what you would save and
1467
+ why, then stop and wait. Call `SaveWorkflow` only after the user agrees, or when the user
1468
+ asks directly ("save this workflow", "保存这个工作流"). A one-off script tailored to a
1469
+ single question is not worth suggesting; it wastes the user's attention and clutters the
1470
+ project.
1471
+
1472
+ **Fields.**
1473
+
1474
+ - `name`: a file-safe identifier (letters, digits, dot, dash and underscore). Saving over an
1475
+ existing name replaces that workflow; the confirmation tells the user whether this is a
1476
+ new file or an overwrite, so reuse a name to update a workflow and pick a new one to add a
1477
+ variant.
1478
+ - `description` (required) and `whenToUse`: written for a reader who has not seen this
1479
+ conversation. `description` shows up wherever the workflow is listed.
1480
+ - `scope` (required, no default): `project` when the script references this repository's
1481
+ files, commands, conventions or layout; `global` when it depends on nothing in the
1482
+ project.
1483
+ - `script` or `script_path`, never both. `script_path` saves a draft a `CreateWorkflow` or
1484
+ `AmendWorkflow` result named without re-emitting it; a `/* zcode-workflow` block in that
1485
+ file is dropped, because the metadata comes from this call's fields. `script` is the body
1486
+ only — no metadata block.
1487
+ - `args`: name exactly the values that would change between runs — a PR number, a
1488
+ directory, a depth — and no more; every declared argument is one more thing a future
1489
+ caller has to get right. Each declaration gives a `type` (`string`, `number`, `boolean`,
1490
+ or `json` for anything else), and optionally a `description`, `required: true` and a
1491
+ `default`. Declared arguments are the workflow's calling convention; every future call is
1492
+ validated against them.
1493
+
1494
+ The saved file is valid TypeScript: a `/* zcode-workflow` block of YAML metadata, then the
1495
+ script verbatim. The script is typechecked by the same compiler as `CreateWorkflow`, before
1496
+ the user is asked; diagnostics mean nothing was written. The rules in §16.3 apply, phases
1497
+ included — future callers did not see this conversation, so the phase names are all they
1498
+ get.
1499
+
1500
+ ### 16.6 `EvalWorkflowSnippet`
1501
+
1502
+ Compiles and runs a small snippet synchronously against the same compiler, sandbox and
1503
+ world-read execution path a real run uses, and returns the result in the tool call. Nothing
1504
+ persists: no journal rows, no background task, no run. It is the test bench for authoring
1505
+ (§6): before writing or revising a script, check a parser against real command output, see
1506
+ what a glob actually returns (workspace-relative sorted paths, cap rejections), or exercise a
1507
+ gate predicate on real repository state, instead of guessing. It is not for orchestration:
1508
+ there is no `agent()` here.
1509
+
1510
+ - `code` or `path`, never both: the snippet inline, or a file holding it, read whole with no
1511
+ metadata handling.
1512
+ - `timeoutMs`: the wall clock for the whole snippet in milliseconds; default 60000, at most
1513
+ 600000.
1514
+ - The snippet facade is the `args`, `log`, `files`/`git` and `world.run` parts of the block
1515
+ in §16.2; `agent()`, `report()`, `artifact.*` and the `phase` marker do not exist here and
1516
+ fail typechecking. The language rules are a script's: plain interfaces, top-level `await`, a
1517
+ final `return <value>`. The returned value is serialized into the result, so return a
1518
+ summary, not a dump; over 256KB fails the call. `log(...)` lines come back in order. A
1519
+ snippet that contains `world.run` asks the user for confirmation before running. On
1520
+ diagnostics nothing ran: fix the snippet and call again.