e2e 0.15.2 → 0.16.0

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 (979) hide show
  1. package/dist/.build.json +1 -1
  2. package/dist/agent/act-validation.d.ts +10 -1
  3. package/dist/agent/act-validation.js +48 -1
  4. package/dist/agent/act.d.ts +1 -2
  5. package/dist/agent/act.js +22 -5
  6. package/dist/agent/action-dispatcher.d.ts +0 -1
  7. package/dist/agent/action-dispatcher.js +0 -1
  8. package/dist/agent/action-names.d.ts +0 -1
  9. package/dist/agent/action-names.js +0 -1
  10. package/dist/agent/actions.d.ts +0 -1
  11. package/dist/agent/actions.js +0 -1
  12. package/dist/agent/agent-brand.d.ts +0 -1
  13. package/dist/agent/agent-brand.js +0 -1
  14. package/dist/agent/ai-sdk.d.ts +7 -1
  15. package/dist/agent/ai-sdk.js +11 -1
  16. package/dist/agent/call-options.d.ts +0 -1
  17. package/dist/agent/call-options.js +0 -1
  18. package/dist/agent/default-agent.d.ts +0 -1
  19. package/dist/agent/default-agent.js +0 -1
  20. package/dist/agent/derived.d.ts +0 -1
  21. package/dist/agent/derived.js +0 -1
  22. package/dist/agent/error.d.ts +0 -1
  23. package/dist/agent/error.js +0 -1
  24. package/dist/agent/executor.d.ts +0 -1
  25. package/dist/agent/executor.js +0 -1
  26. package/dist/agent/index.d.ts +0 -1
  27. package/dist/agent/index.js +0 -1
  28. package/dist/agent/interactive-step.d.ts +0 -1
  29. package/dist/agent/interactive-step.js +0 -1
  30. package/dist/agent/invocation.d.ts +0 -1
  31. package/dist/agent/invocation.js +10 -5
  32. package/dist/agent/ledger.d.ts +0 -1
  33. package/dist/agent/ledger.js +0 -1
  34. package/dist/agent/loop-guards.d.ts +0 -1
  35. package/dist/agent/loop-guards.js +0 -1
  36. package/dist/agent/model/adapter.d.ts +0 -1
  37. package/dist/agent/model/adapter.js +0 -1
  38. package/dist/agent/model/overflow.d.ts +0 -1
  39. package/dist/agent/model/overflow.js +0 -1
  40. package/dist/agent/model/provider-hints.d.ts +0 -1
  41. package/dist/agent/model/provider-hints.js +0 -1
  42. package/dist/agent/model/schema.d.ts +0 -1
  43. package/dist/agent/model/schema.js +0 -1
  44. package/dist/agent/model/sdk.d.ts +0 -1
  45. package/dist/agent/model/sdk.js +0 -1
  46. package/dist/agent/model/stall.d.ts +0 -1
  47. package/dist/agent/model/stall.js +0 -1
  48. package/dist/agent/model/tool-choice.d.ts +0 -1
  49. package/dist/agent/model/tool-choice.js +0 -1
  50. package/dist/agent/observation-budget.d.ts +0 -1
  51. package/dist/agent/observation-budget.js +0 -1
  52. package/dist/agent/observation-feed.d.ts +0 -1
  53. package/dist/agent/observation-feed.js +0 -1
  54. package/dist/agent/observation.d.ts +0 -1
  55. package/dist/agent/observation.js +0 -1
  56. package/dist/agent/operation-queue.d.ts +0 -1
  57. package/dist/agent/operation-queue.js +0 -1
  58. package/dist/agent/phases.d.ts +0 -1
  59. package/dist/agent/phases.js +0 -1
  60. package/dist/agent/pixels.d.ts +0 -1
  61. package/dist/agent/pixels.js +0 -1
  62. package/dist/agent/point-tap.d.ts +0 -1
  63. package/dist/agent/point-tap.js +0 -1
  64. package/dist/agent/primitives.d.ts +6 -1
  65. package/dist/agent/primitives.js +4 -2
  66. package/dist/agent/prompts.d.ts +0 -1
  67. package/dist/agent/prompts.js +0 -1
  68. package/dist/agent/protocol.d.ts +0 -1
  69. package/dist/agent/protocol.js +0 -1
  70. package/dist/agent/public.d.ts +0 -1
  71. package/dist/agent/public.js +0 -1
  72. package/dist/agent/reading.d.ts +0 -1
  73. package/dist/agent/reading.js +0 -1
  74. package/dist/agent/replay.d.ts +0 -1
  75. package/dist/agent/replay.js +0 -1
  76. package/dist/agent/screen-update.d.ts +0 -1
  77. package/dist/agent/screen-update.js +0 -1
  78. package/dist/agent/scroll-target.d.ts +0 -1
  79. package/dist/agent/scroll-target.js +0 -1
  80. package/dist/agent/secrets.d.ts +0 -1
  81. package/dist/agent/secrets.js +0 -1
  82. package/dist/agent/settle-policy.d.ts +0 -1
  83. package/dist/agent/settle-policy.js +0 -1
  84. package/dist/agent/step-accounting.d.ts +0 -1
  85. package/dist/agent/step-accounting.js +0 -1
  86. package/dist/agent/step-cache.d.ts +0 -1
  87. package/dist/agent/step-cache.js +0 -1
  88. package/dist/agent/tool-loop.d.ts +0 -1
  89. package/dist/agent/tool-loop.js +0 -1
  90. package/dist/agent/tool-output.d.ts +0 -1
  91. package/dist/agent/tool-output.js +0 -1
  92. package/dist/agent/tool.d.ts +0 -1
  93. package/dist/agent/tool.js +0 -1
  94. package/dist/agent/transcript-compaction.d.ts +0 -1
  95. package/dist/agent/transcript-compaction.js +0 -1
  96. package/dist/agent/upload-paths.d.ts +0 -1
  97. package/dist/agent/upload-paths.js +0 -1
  98. package/dist/agent/usage.d.ts +0 -1
  99. package/dist/agent/usage.js +0 -1
  100. package/dist/cache/anchors.d.ts +0 -1
  101. package/dist/cache/anchors.js +0 -1
  102. package/dist/cache/context.d.ts +0 -1
  103. package/dist/cache/context.js +0 -1
  104. package/dist/cache/decide.d.ts +0 -1
  105. package/dist/cache/decide.js +0 -1
  106. package/dist/cache/identity.d.ts +0 -1
  107. package/dist/cache/identity.js +0 -1
  108. package/dist/cache/recorder.d.ts +0 -1
  109. package/dist/cache/recorder.js +0 -1
  110. package/dist/cache/relocate.d.ts +0 -1
  111. package/dist/cache/relocate.js +0 -1
  112. package/dist/cache/route.d.ts +0 -1
  113. package/dist/cache/route.js +0 -1
  114. package/dist/cache/store.d.ts +0 -1
  115. package/dist/cache/store.js +0 -1
  116. package/dist/cache/template.d.ts +0 -1
  117. package/dist/cache/template.js +0 -1
  118. package/dist/cache/trace.d.ts +0 -1
  119. package/dist/cache/trace.js +0 -1
  120. package/dist/cli/bin.d.ts +0 -1
  121. package/dist/cli/bin.js +0 -1
  122. package/dist/cli/cache.d.ts +0 -1
  123. package/dist/cli/cache.js +0 -1
  124. package/dist/cli/docs-url.d.ts +0 -1
  125. package/dist/cli/docs-url.js +0 -1
  126. package/dist/cli/feedback.d.ts +0 -1
  127. package/dist/cli/feedback.js +0 -1
  128. package/dist/cli/guide.d.ts +0 -1
  129. package/dist/cli/guide.js +0 -1
  130. package/dist/cli/index.d.ts +0 -1
  131. package/dist/cli/index.js +2 -3
  132. package/dist/cli/init/agent-skill.d.ts +0 -1
  133. package/dist/cli/init/agent-skill.js +0 -1
  134. package/dist/cli/init/engines.d.ts +0 -1
  135. package/dist/cli/init/engines.js +0 -1
  136. package/dist/cli/init/gateways.d.ts +0 -1
  137. package/dist/cli/init/gateways.js +0 -1
  138. package/dist/cli/init/mcp-config.d.ts +0 -1
  139. package/dist/cli/init/mcp-config.js +0 -1
  140. package/dist/cli/init/package.d.ts +0 -1
  141. package/dist/cli/init/package.js +0 -1
  142. package/dist/cli/init/scaffold.d.ts +0 -1
  143. package/dist/cli/init/scaffold.js +0 -1
  144. package/dist/cli/init/sibling-versions.json +1 -1
  145. package/dist/cli/init/versions.d.ts +0 -1
  146. package/dist/cli/init/versions.js +0 -1
  147. package/dist/cli/init.d.ts +0 -1
  148. package/dist/cli/init.js +0 -1
  149. package/dist/cli/mcp.d.ts +9 -2
  150. package/dist/cli/mcp.js +14 -2
  151. package/dist/cli/signals.d.ts +0 -1
  152. package/dist/cli/signals.js +0 -1
  153. package/dist/cli/skill.d.ts +0 -1
  154. package/dist/cli/skill.js +0 -1
  155. package/dist/cli/telemetry.d.ts +0 -1
  156. package/dist/cli/telemetry.js +1 -2
  157. package/dist/cli/wordmark.d.ts +0 -1
  158. package/dist/cli/wordmark.js +0 -1
  159. package/dist/collect/collect.d.ts +0 -1
  160. package/dist/collect/collect.js +3 -2
  161. package/dist/collect/registry.d.ts +6 -3
  162. package/dist/collect/registry.js +31 -14
  163. package/dist/collect/select.d.ts +0 -1
  164. package/dist/collect/select.js +0 -1
  165. package/dist/config/agent.d.ts +0 -1
  166. package/dist/config/agent.js +0 -1
  167. package/dist/config/app.d.ts +0 -1
  168. package/dist/config/app.js +0 -1
  169. package/dist/config/command.d.ts +0 -1
  170. package/dist/config/command.js +0 -1
  171. package/dist/config/diagnose.d.ts +0 -1
  172. package/dist/config/diagnose.js +0 -1
  173. package/dist/config/esm-hooks.d.ts +0 -1
  174. package/dist/config/esm-hooks.js +0 -1
  175. package/dist/config/load.d.ts +0 -1
  176. package/dist/config/load.js +0 -1
  177. package/dist/config/resolve.d.ts +0 -1
  178. package/dist/config/resolve.js +0 -1
  179. package/dist/config/secrets.d.ts +0 -1
  180. package/dist/config/secrets.js +0 -1
  181. package/dist/config/targets.d.ts +0 -1
  182. package/dist/config/targets.js +0 -1
  183. package/dist/config/validate.d.ts +0 -1
  184. package/dist/config/validate.js +0 -1
  185. package/dist/engine/contract.d.ts +0 -1
  186. package/dist/engine/contract.js +0 -1
  187. package/dist/engine/index.d.ts +1 -2
  188. package/dist/engine/index.js +4 -4
  189. package/dist/engine/manifest.d.ts +0 -1
  190. package/dist/engine/manifest.js +0 -1
  191. package/dist/engine/recording.d.ts +0 -1
  192. package/dist/engine/recording.js +0 -1
  193. package/dist/engine/resolve.d.ts +0 -1
  194. package/dist/engine/resolve.js +0 -1
  195. package/dist/engine/session.d.ts +0 -1
  196. package/dist/engine/session.js +0 -1
  197. package/dist/engine/surface.d.ts +0 -1
  198. package/dist/engine/surface.js +0 -1
  199. package/dist/engine/timing.d.ts +0 -1
  200. package/dist/engine/timing.js +0 -1
  201. package/dist/expect/async.d.ts +0 -1
  202. package/dist/expect/async.js +99 -58
  203. package/dist/expect/attempt.d.ts +0 -1
  204. package/dist/expect/attempt.js +0 -1
  205. package/dist/expect/index.d.ts +0 -1
  206. package/dist/expect/index.js +0 -1
  207. package/dist/expect/poll.d.ts +0 -1
  208. package/dist/expect/poll.js +0 -1
  209. package/dist/expect/soft.d.ts +0 -1
  210. package/dist/expect/soft.js +0 -1
  211. package/dist/expect/values.d.ts +0 -1
  212. package/dist/expect/values.js +0 -1
  213. package/dist/explore/body.d.ts +0 -1
  214. package/dist/explore/body.js +0 -1
  215. package/dist/explore/executor.d.ts +0 -1
  216. package/dist/explore/executor.js +0 -1
  217. package/dist/explore/index.d.ts +0 -1
  218. package/dist/explore/index.js +16 -2
  219. package/dist/explore/plan.d.ts +0 -1
  220. package/dist/explore/plan.js +0 -1
  221. package/dist/explore/progress.d.ts +0 -1
  222. package/dist/explore/progress.js +0 -1
  223. package/dist/explore/state.d.ts +0 -1
  224. package/dist/explore/state.js +0 -1
  225. package/dist/index.d.ts +0 -1
  226. package/dist/index.js +0 -1
  227. package/dist/internal/ai-trace.d.ts +0 -1
  228. package/dist/internal/ai-trace.js +0 -1
  229. package/dist/internal/atomic-write.d.ts +0 -1
  230. package/dist/internal/atomic-write.js +0 -1
  231. package/dist/internal/brands.d.ts +0 -1
  232. package/dist/internal/brands.js +0 -1
  233. package/dist/internal/debug.d.ts +0 -1
  234. package/dist/internal/debug.js +0 -1
  235. package/dist/internal/env.d.ts +0 -1
  236. package/dist/internal/env.js +0 -1
  237. package/dist/internal/errors.d.ts +0 -1
  238. package/dist/internal/errors.js +0 -1
  239. package/dist/internal/geometry.d.ts +0 -1
  240. package/dist/internal/geometry.js +0 -1
  241. package/dist/internal/git.d.ts +0 -1
  242. package/dist/internal/git.js +0 -1
  243. package/dist/internal/globs.d.ts +0 -1
  244. package/dist/internal/globs.js +0 -1
  245. package/dist/internal/ids.d.ts +0 -1
  246. package/dist/internal/ids.js +0 -1
  247. package/dist/internal/json-value.d.ts +0 -1
  248. package/dist/internal/json-value.js +0 -1
  249. package/dist/internal/keys.d.ts +0 -1
  250. package/dist/internal/keys.js +0 -1
  251. package/dist/internal/node-version.d.ts +0 -1
  252. package/dist/internal/node-version.js +0 -1
  253. package/dist/internal/objects.d.ts +0 -1
  254. package/dist/internal/objects.js +0 -1
  255. package/dist/internal/options.d.ts +0 -1
  256. package/dist/internal/options.js +0 -1
  257. package/dist/internal/package-manager.d.ts +0 -1
  258. package/dist/internal/package-manager.js +0 -1
  259. package/dist/internal/package-version.d.ts +0 -1
  260. package/dist/internal/package-version.js +0 -1
  261. package/dist/internal/paths.d.ts +0 -1
  262. package/dist/internal/paths.js +0 -1
  263. package/dist/internal/realm-slot.d.ts +0 -1
  264. package/dist/internal/realm-slot.js +0 -1
  265. package/dist/internal/recording-modes.d.ts +0 -1
  266. package/dist/internal/recording-modes.js +0 -1
  267. package/dist/internal/redact.d.ts +0 -1
  268. package/dist/internal/redact.js +0 -1
  269. package/dist/internal/regexp.d.ts +0 -1
  270. package/dist/internal/regexp.js +0 -1
  271. package/dist/internal/roles.d.ts +0 -1
  272. package/dist/internal/roles.js +0 -1
  273. package/dist/internal/skip.d.ts +0 -1
  274. package/dist/internal/skip.js +0 -1
  275. package/dist/internal/source.d.ts +0 -1
  276. package/dist/internal/source.js +0 -1
  277. package/dist/internal/standard-schema.d.ts +0 -1
  278. package/dist/internal/standard-schema.js +0 -1
  279. package/dist/internal/suggest.d.ts +0 -1
  280. package/dist/internal/suggest.js +0 -1
  281. package/dist/internal/text.d.ts +8 -1
  282. package/dist/internal/text.js +13 -2
  283. package/dist/internal/time.d.ts +0 -1
  284. package/dist/internal/time.js +0 -1
  285. package/dist/internal/urls.d.ts +0 -1
  286. package/dist/internal/urls.js +0 -1
  287. package/dist/internal/vcs.d.ts +0 -1
  288. package/dist/internal/vcs.js +0 -1
  289. package/dist/internal/zip.d.ts +0 -1
  290. package/dist/internal/zip.js +0 -1
  291. package/dist/locator/engine.d.ts +0 -1
  292. package/dist/locator/engine.js +0 -1
  293. package/dist/locator/expression.d.ts +0 -1
  294. package/dist/locator/expression.js +0 -1
  295. package/dist/locator/screen.d.ts +0 -1
  296. package/dist/locator/screen.js +0 -1
  297. package/dist/mcp/catalog.d.ts +4 -1
  298. package/dist/mcp/catalog.js +2 -3
  299. package/dist/mcp/config.d.ts +0 -1
  300. package/dist/mcp/config.js +0 -1
  301. package/dist/mcp/recording.d.ts +0 -1
  302. package/dist/mcp/recording.js +0 -1
  303. package/dist/mcp/server.d.ts +8 -1
  304. package/dist/mcp/server.js +8 -5
  305. package/dist/mcp/session.d.ts +4 -2
  306. package/dist/mcp/session.js +43 -21
  307. package/dist/mcp/sessions.d.ts +2 -1
  308. package/dist/mcp/sessions.js +5 -2
  309. package/dist/mcp/tools.d.ts +7 -6
  310. package/dist/mcp/tools.js +36 -11
  311. package/dist/mcp/usage.d.ts +61 -0
  312. package/dist/mcp/usage.js +73 -0
  313. package/dist/oauth/callback-server.d.ts +0 -1
  314. package/dist/oauth/callback-server.js +0 -1
  315. package/dist/oauth/chatgpt.d.ts +0 -1
  316. package/dist/oauth/chatgpt.js +0 -1
  317. package/dist/oauth/cli.d.ts +0 -1
  318. package/dist/oauth/cli.js +0 -1
  319. package/dist/oauth/copilot.d.ts +0 -1
  320. package/dist/oauth/copilot.js +0 -1
  321. package/dist/oauth/device-code.d.ts +0 -1
  322. package/dist/oauth/device-code.js +0 -1
  323. package/dist/oauth/errors.d.ts +0 -1
  324. package/dist/oauth/errors.js +0 -1
  325. package/dist/oauth/fetch.d.ts +0 -1
  326. package/dist/oauth/fetch.js +0 -1
  327. package/dist/oauth/grok.d.ts +0 -1
  328. package/dist/oauth/grok.js +0 -1
  329. package/dist/oauth/jwt.d.ts +0 -1
  330. package/dist/oauth/jwt.js +0 -1
  331. package/dist/oauth/login.d.ts +0 -1
  332. package/dist/oauth/login.js +0 -1
  333. package/dist/oauth/models.d.ts +0 -1
  334. package/dist/oauth/models.js +0 -1
  335. package/dist/oauth/pkce.d.ts +0 -1
  336. package/dist/oauth/pkce.js +0 -1
  337. package/dist/oauth/providers/github-copilot.d.ts +0 -1
  338. package/dist/oauth/providers/github-copilot.js +10 -3
  339. package/dist/oauth/providers/openai.d.ts +0 -1
  340. package/dist/oauth/providers/openai.js +1 -2
  341. package/dist/oauth/providers/xai.d.ts +0 -1
  342. package/dist/oauth/providers/xai.js +0 -1
  343. package/dist/oauth/providers.d.ts +0 -1
  344. package/dist/oauth/providers.js +0 -1
  345. package/dist/oauth/sse.d.ts +0 -1
  346. package/dist/oauth/sse.js +0 -1
  347. package/dist/oauth/store.d.ts +0 -1
  348. package/dist/oauth/store.js +0 -1
  349. package/dist/oauth/token-endpoint.d.ts +0 -1
  350. package/dist/oauth/token-endpoint.js +0 -1
  351. package/dist/oauth/types.d.ts +0 -1
  352. package/dist/oauth/types.js +0 -1
  353. package/dist/params.d.ts +0 -1
  354. package/dist/params.js +0 -1
  355. package/dist/report/build.d.ts +0 -1
  356. package/dist/report/build.js +0 -1
  357. package/dist/report/builtin.d.ts +0 -1
  358. package/dist/report/builtin.js +0 -1
  359. package/dist/report/code-frame.d.ts +0 -1
  360. package/dist/report/code-frame.js +0 -1
  361. package/dist/report/debug-steps.d.ts +0 -1
  362. package/dist/report/debug-steps.js +0 -1
  363. package/dist/report/explore-text.d.ts +0 -1
  364. package/dist/report/explore-text.js +0 -1
  365. package/dist/report/failure-text.d.ts +0 -1
  366. package/dist/report/failure-text.js +0 -1
  367. package/dist/report/format.d.ts +0 -1
  368. package/dist/report/format.js +0 -1
  369. package/dist/report/json.d.ts +0 -1
  370. package/dist/report/json.js +0 -1
  371. package/dist/report/junit.d.ts +0 -1
  372. package/dist/report/junit.js +0 -1
  373. package/dist/report/list-explore.d.ts +0 -1
  374. package/dist/report/list-explore.js +0 -1
  375. package/dist/report/list-model.d.ts +0 -1
  376. package/dist/report/list-model.js +0 -1
  377. package/dist/report/list-steps.d.ts +0 -1
  378. package/dist/report/list-steps.js +0 -1
  379. package/dist/report/list.d.ts +0 -1
  380. package/dist/report/list.js +0 -1
  381. package/dist/report/live-window.d.ts +0 -1
  382. package/dist/report/live-window.js +0 -1
  383. package/dist/report/markdown-text.d.ts +0 -1
  384. package/dist/report/markdown-text.js +0 -1
  385. package/dist/report/markdown.d.ts +0 -1
  386. package/dist/report/markdown.js +0 -1
  387. package/dist/report/outcome.d.ts +0 -1
  388. package/dist/report/outcome.js +0 -1
  389. package/dist/report/repeats.d.ts +0 -1
  390. package/dist/report/repeats.js +0 -1
  391. package/dist/report/running-tree.d.ts +0 -1
  392. package/dist/report/running-tree.js +0 -1
  393. package/dist/report/write.d.ts +0 -1
  394. package/dist/report/write.js +0 -1
  395. package/dist/run/app-ports.d.ts +0 -1
  396. package/dist/run/app-ports.js +0 -1
  397. package/dist/run/artifacts.d.ts +0 -1
  398. package/dist/run/artifacts.js +0 -1
  399. package/dist/run/budget.d.ts +0 -1
  400. package/dist/run/budget.js +0 -1
  401. package/dist/run/declared-processes.d.ts +0 -1
  402. package/dist/run/declared-processes.js +0 -1
  403. package/dist/run/events.d.ts +0 -1
  404. package/dist/run/events.js +0 -1
  405. package/dist/run/execute.d.ts +0 -1
  406. package/dist/run/execute.js +6 -5
  407. package/dist/run/extended-fixtures.d.ts +0 -1
  408. package/dist/run/extended-fixtures.js +0 -1
  409. package/dist/run/failure-evidence.d.ts +0 -1
  410. package/dist/run/failure-evidence.js +0 -1
  411. package/dist/run/fixture-recording.d.ts +0 -1
  412. package/dist/run/fixture-recording.js +0 -1
  413. package/dist/run/fixtures.d.ts +0 -1
  414. package/dist/run/fixtures.js +0 -1
  415. package/dist/run/in-process.d.ts +0 -1
  416. package/dist/run/in-process.js +0 -1
  417. package/dist/run/last-run.d.ts +0 -1
  418. package/dist/run/last-run.js +0 -1
  419. package/dist/run/managed-process.d.ts +0 -1
  420. package/dist/run/managed-process.js +0 -1
  421. package/dist/run/output.d.ts +0 -1
  422. package/dist/run/output.js +0 -1
  423. package/dist/run/process-pool.d.ts +0 -1
  424. package/dist/run/process-pool.js +0 -1
  425. package/dist/run/provision.d.ts +0 -1
  426. package/dist/run/provision.js +0 -1
  427. package/dist/run/realm.d.ts +2 -1
  428. package/dist/run/realm.js +1 -2
  429. package/dist/run/records.d.ts +0 -1
  430. package/dist/run/records.js +0 -1
  431. package/dist/run/retry.d.ts +0 -1
  432. package/dist/run/retry.js +0 -1
  433. package/dist/run/runner.d.ts +2 -1
  434. package/dist/run/runner.js +1 -2
  435. package/dist/run/scheduler.d.ts +0 -1
  436. package/dist/run/scheduler.js +0 -1
  437. package/dist/run/secrecy.d.ts +15 -1
  438. package/dist/run/secrecy.js +27 -2
  439. package/dist/run/serial.d.ts +0 -1
  440. package/dist/run/serial.js +0 -1
  441. package/dist/run/sessions.d.ts +0 -1
  442. package/dist/run/sessions.js +0 -1
  443. package/dist/run/standalone.d.ts +0 -1
  444. package/dist/run/standalone.js +3 -3
  445. package/dist/run/steps.d.ts +2 -3
  446. package/dist/run/steps.js +4 -2
  447. package/dist/run/trace-redaction.d.ts +0 -1
  448. package/dist/run/trace-redaction.js +0 -1
  449. package/dist/run/unit-runner.d.ts +0 -1
  450. package/dist/run/unit-runner.js +0 -1
  451. package/dist/run/units.d.ts +0 -1
  452. package/dist/run/units.js +0 -1
  453. package/dist/run/worker/entry.d.ts +0 -1
  454. package/dist/run/worker/entry.js +2 -3
  455. package/dist/run/worker/handle.d.ts +0 -1
  456. package/dist/run/worker/handle.js +0 -1
  457. package/dist/run/worker/protocol.d.ts +0 -1
  458. package/dist/run/worker/protocol.js +0 -1
  459. package/dist/run/worker/session.d.ts +0 -1
  460. package/dist/run/worker/session.js +0 -1
  461. package/dist/run/worker-models.d.ts +0 -1
  462. package/dist/run/worker-models.js +0 -1
  463. package/dist/secrets.d.ts +0 -1
  464. package/dist/secrets.js +0 -1
  465. package/dist/telemetry/checkout.d.ts +0 -1
  466. package/dist/telemetry/checkout.js +0 -1
  467. package/dist/telemetry/environment.d.ts +0 -1
  468. package/dist/telemetry/environment.js +0 -1
  469. package/dist/telemetry/events.d.ts +26 -10
  470. package/dist/telemetry/events.js +107 -13
  471. package/dist/telemetry/failure-kind.d.ts +0 -1
  472. package/dist/telemetry/failure-kind.js +0 -1
  473. package/dist/telemetry/posthog.d.ts +0 -1
  474. package/dist/telemetry/posthog.js +0 -1
  475. package/dist/telemetry/project.d.ts +0 -1
  476. package/dist/telemetry/project.js +0 -1
  477. package/dist/telemetry/store.d.ts +0 -1
  478. package/dist/telemetry/store.js +0 -1
  479. package/dist/telemetry/telemetry.d.ts +19 -8
  480. package/dist/telemetry/telemetry.js +26 -9
  481. package/dist/telemetry/token.d.ts +0 -1
  482. package/dist/telemetry/token.js +0 -1
  483. package/dist/types.d.ts +25 -23
  484. package/dist/types.js +0 -1
  485. package/docs/executors.mdx +1 -1
  486. package/docs/migrate/playwright.mdx +4 -1
  487. package/docs/mobile.mdx +40 -0
  488. package/docs/reference/cli.mdx +3 -1
  489. package/docs/reference/engine.mdx +1 -0
  490. package/docs/reference/expect.mdx +48 -15
  491. package/docs/reference/mcp.mdx +3 -0
  492. package/docs/reference/web.mdx +6 -2
  493. package/docs/security.mdx +19 -3
  494. package/docs/subscriptions.mdx +9 -0
  495. package/docs/telemetry.mdx +47 -5
  496. package/package.json +4 -3
  497. package/skills/e2e/references/mcp.md +3 -0
  498. package/skills/e2e/references/setup.md +6 -0
  499. package/skills/e2e/references/writing-tests.md +11 -0
  500. package/dist/agent/act-validation.d.ts.map +0 -1
  501. package/dist/agent/act-validation.js.map +0 -1
  502. package/dist/agent/act.d.ts.map +0 -1
  503. package/dist/agent/act.js.map +0 -1
  504. package/dist/agent/action-dispatcher.d.ts.map +0 -1
  505. package/dist/agent/action-dispatcher.js.map +0 -1
  506. package/dist/agent/action-names.d.ts.map +0 -1
  507. package/dist/agent/action-names.js.map +0 -1
  508. package/dist/agent/actions.d.ts.map +0 -1
  509. package/dist/agent/actions.js.map +0 -1
  510. package/dist/agent/agent-brand.d.ts.map +0 -1
  511. package/dist/agent/agent-brand.js.map +0 -1
  512. package/dist/agent/ai-sdk.d.ts.map +0 -1
  513. package/dist/agent/ai-sdk.js.map +0 -1
  514. package/dist/agent/call-options.d.ts.map +0 -1
  515. package/dist/agent/call-options.js.map +0 -1
  516. package/dist/agent/default-agent.d.ts.map +0 -1
  517. package/dist/agent/default-agent.js.map +0 -1
  518. package/dist/agent/derived.d.ts.map +0 -1
  519. package/dist/agent/derived.js.map +0 -1
  520. package/dist/agent/error.d.ts.map +0 -1
  521. package/dist/agent/error.js.map +0 -1
  522. package/dist/agent/executor.d.ts.map +0 -1
  523. package/dist/agent/executor.js.map +0 -1
  524. package/dist/agent/index.d.ts.map +0 -1
  525. package/dist/agent/index.js.map +0 -1
  526. package/dist/agent/interactive-step.d.ts.map +0 -1
  527. package/dist/agent/interactive-step.js.map +0 -1
  528. package/dist/agent/invocation.d.ts.map +0 -1
  529. package/dist/agent/invocation.js.map +0 -1
  530. package/dist/agent/ledger.d.ts.map +0 -1
  531. package/dist/agent/ledger.js.map +0 -1
  532. package/dist/agent/loop-guards.d.ts.map +0 -1
  533. package/dist/agent/loop-guards.js.map +0 -1
  534. package/dist/agent/model/adapter.d.ts.map +0 -1
  535. package/dist/agent/model/adapter.js.map +0 -1
  536. package/dist/agent/model/overflow.d.ts.map +0 -1
  537. package/dist/agent/model/overflow.js.map +0 -1
  538. package/dist/agent/model/provider-hints.d.ts.map +0 -1
  539. package/dist/agent/model/provider-hints.js.map +0 -1
  540. package/dist/agent/model/schema.d.ts.map +0 -1
  541. package/dist/agent/model/schema.js.map +0 -1
  542. package/dist/agent/model/sdk.d.ts.map +0 -1
  543. package/dist/agent/model/sdk.js.map +0 -1
  544. package/dist/agent/model/stall.d.ts.map +0 -1
  545. package/dist/agent/model/stall.js.map +0 -1
  546. package/dist/agent/model/tool-choice.d.ts.map +0 -1
  547. package/dist/agent/model/tool-choice.js.map +0 -1
  548. package/dist/agent/observation-budget.d.ts.map +0 -1
  549. package/dist/agent/observation-budget.js.map +0 -1
  550. package/dist/agent/observation-feed.d.ts.map +0 -1
  551. package/dist/agent/observation-feed.js.map +0 -1
  552. package/dist/agent/observation.d.ts.map +0 -1
  553. package/dist/agent/observation.js.map +0 -1
  554. package/dist/agent/operation-queue.d.ts.map +0 -1
  555. package/dist/agent/operation-queue.js.map +0 -1
  556. package/dist/agent/phases.d.ts.map +0 -1
  557. package/dist/agent/phases.js.map +0 -1
  558. package/dist/agent/pixels.d.ts.map +0 -1
  559. package/dist/agent/pixels.js.map +0 -1
  560. package/dist/agent/point-tap.d.ts.map +0 -1
  561. package/dist/agent/point-tap.js.map +0 -1
  562. package/dist/agent/primitives.d.ts.map +0 -1
  563. package/dist/agent/primitives.js.map +0 -1
  564. package/dist/agent/prompts.d.ts.map +0 -1
  565. package/dist/agent/prompts.js.map +0 -1
  566. package/dist/agent/protocol.d.ts.map +0 -1
  567. package/dist/agent/protocol.js.map +0 -1
  568. package/dist/agent/public.d.ts.map +0 -1
  569. package/dist/agent/public.js.map +0 -1
  570. package/dist/agent/reading.d.ts.map +0 -1
  571. package/dist/agent/reading.js.map +0 -1
  572. package/dist/agent/replay.d.ts.map +0 -1
  573. package/dist/agent/replay.js.map +0 -1
  574. package/dist/agent/screen-update.d.ts.map +0 -1
  575. package/dist/agent/screen-update.js.map +0 -1
  576. package/dist/agent/scroll-target.d.ts.map +0 -1
  577. package/dist/agent/scroll-target.js.map +0 -1
  578. package/dist/agent/secrets.d.ts.map +0 -1
  579. package/dist/agent/secrets.js.map +0 -1
  580. package/dist/agent/settle-policy.d.ts.map +0 -1
  581. package/dist/agent/settle-policy.js.map +0 -1
  582. package/dist/agent/step-accounting.d.ts.map +0 -1
  583. package/dist/agent/step-accounting.js.map +0 -1
  584. package/dist/agent/step-cache.d.ts.map +0 -1
  585. package/dist/agent/step-cache.js.map +0 -1
  586. package/dist/agent/tool-loop.d.ts.map +0 -1
  587. package/dist/agent/tool-loop.js.map +0 -1
  588. package/dist/agent/tool-output.d.ts.map +0 -1
  589. package/dist/agent/tool-output.js.map +0 -1
  590. package/dist/agent/tool.d.ts.map +0 -1
  591. package/dist/agent/tool.js.map +0 -1
  592. package/dist/agent/transcript-compaction.d.ts.map +0 -1
  593. package/dist/agent/transcript-compaction.js.map +0 -1
  594. package/dist/agent/upload-paths.d.ts.map +0 -1
  595. package/dist/agent/upload-paths.js.map +0 -1
  596. package/dist/agent/usage.d.ts.map +0 -1
  597. package/dist/agent/usage.js.map +0 -1
  598. package/dist/cache/anchors.d.ts.map +0 -1
  599. package/dist/cache/anchors.js.map +0 -1
  600. package/dist/cache/context.d.ts.map +0 -1
  601. package/dist/cache/context.js.map +0 -1
  602. package/dist/cache/decide.d.ts.map +0 -1
  603. package/dist/cache/decide.js.map +0 -1
  604. package/dist/cache/identity.d.ts.map +0 -1
  605. package/dist/cache/identity.js.map +0 -1
  606. package/dist/cache/recorder.d.ts.map +0 -1
  607. package/dist/cache/recorder.js.map +0 -1
  608. package/dist/cache/relocate.d.ts.map +0 -1
  609. package/dist/cache/relocate.js.map +0 -1
  610. package/dist/cache/route.d.ts.map +0 -1
  611. package/dist/cache/route.js.map +0 -1
  612. package/dist/cache/store.d.ts.map +0 -1
  613. package/dist/cache/store.js.map +0 -1
  614. package/dist/cache/template.d.ts.map +0 -1
  615. package/dist/cache/template.js.map +0 -1
  616. package/dist/cache/trace.d.ts.map +0 -1
  617. package/dist/cache/trace.js.map +0 -1
  618. package/dist/cli/bin.d.ts.map +0 -1
  619. package/dist/cli/bin.js.map +0 -1
  620. package/dist/cli/cache.d.ts.map +0 -1
  621. package/dist/cli/cache.js.map +0 -1
  622. package/dist/cli/docs-url.d.ts.map +0 -1
  623. package/dist/cli/docs-url.js.map +0 -1
  624. package/dist/cli/feedback.d.ts.map +0 -1
  625. package/dist/cli/feedback.js.map +0 -1
  626. package/dist/cli/guide.d.ts.map +0 -1
  627. package/dist/cli/guide.js.map +0 -1
  628. package/dist/cli/index.d.ts.map +0 -1
  629. package/dist/cli/index.js.map +0 -1
  630. package/dist/cli/init/agent-skill.d.ts.map +0 -1
  631. package/dist/cli/init/agent-skill.js.map +0 -1
  632. package/dist/cli/init/engines.d.ts.map +0 -1
  633. package/dist/cli/init/engines.js.map +0 -1
  634. package/dist/cli/init/gateways.d.ts.map +0 -1
  635. package/dist/cli/init/gateways.js.map +0 -1
  636. package/dist/cli/init/mcp-config.d.ts.map +0 -1
  637. package/dist/cli/init/mcp-config.js.map +0 -1
  638. package/dist/cli/init/package.d.ts.map +0 -1
  639. package/dist/cli/init/package.js.map +0 -1
  640. package/dist/cli/init/scaffold.d.ts.map +0 -1
  641. package/dist/cli/init/scaffold.js.map +0 -1
  642. package/dist/cli/init/versions.d.ts.map +0 -1
  643. package/dist/cli/init/versions.js.map +0 -1
  644. package/dist/cli/init.d.ts.map +0 -1
  645. package/dist/cli/init.js.map +0 -1
  646. package/dist/cli/mcp.d.ts.map +0 -1
  647. package/dist/cli/mcp.js.map +0 -1
  648. package/dist/cli/signals.d.ts.map +0 -1
  649. package/dist/cli/signals.js.map +0 -1
  650. package/dist/cli/skill.d.ts.map +0 -1
  651. package/dist/cli/skill.js.map +0 -1
  652. package/dist/cli/telemetry.d.ts.map +0 -1
  653. package/dist/cli/telemetry.js.map +0 -1
  654. package/dist/cli/wordmark.d.ts.map +0 -1
  655. package/dist/cli/wordmark.js.map +0 -1
  656. package/dist/collect/collect.d.ts.map +0 -1
  657. package/dist/collect/collect.js.map +0 -1
  658. package/dist/collect/registry.d.ts.map +0 -1
  659. package/dist/collect/registry.js.map +0 -1
  660. package/dist/collect/select.d.ts.map +0 -1
  661. package/dist/collect/select.js.map +0 -1
  662. package/dist/config/agent.d.ts.map +0 -1
  663. package/dist/config/agent.js.map +0 -1
  664. package/dist/config/app.d.ts.map +0 -1
  665. package/dist/config/app.js.map +0 -1
  666. package/dist/config/command.d.ts.map +0 -1
  667. package/dist/config/command.js.map +0 -1
  668. package/dist/config/diagnose.d.ts.map +0 -1
  669. package/dist/config/diagnose.js.map +0 -1
  670. package/dist/config/esm-hooks.d.ts.map +0 -1
  671. package/dist/config/esm-hooks.js.map +0 -1
  672. package/dist/config/load.d.ts.map +0 -1
  673. package/dist/config/load.js.map +0 -1
  674. package/dist/config/resolve.d.ts.map +0 -1
  675. package/dist/config/resolve.js.map +0 -1
  676. package/dist/config/secrets.d.ts.map +0 -1
  677. package/dist/config/secrets.js.map +0 -1
  678. package/dist/config/targets.d.ts.map +0 -1
  679. package/dist/config/targets.js.map +0 -1
  680. package/dist/config/validate.d.ts.map +0 -1
  681. package/dist/config/validate.js.map +0 -1
  682. package/dist/engine/contract.d.ts.map +0 -1
  683. package/dist/engine/contract.js.map +0 -1
  684. package/dist/engine/index.d.ts.map +0 -1
  685. package/dist/engine/index.js.map +0 -1
  686. package/dist/engine/manifest.d.ts.map +0 -1
  687. package/dist/engine/manifest.js.map +0 -1
  688. package/dist/engine/recording.d.ts.map +0 -1
  689. package/dist/engine/recording.js.map +0 -1
  690. package/dist/engine/resolve.d.ts.map +0 -1
  691. package/dist/engine/resolve.js.map +0 -1
  692. package/dist/engine/session.d.ts.map +0 -1
  693. package/dist/engine/session.js.map +0 -1
  694. package/dist/engine/surface.d.ts.map +0 -1
  695. package/dist/engine/surface.js.map +0 -1
  696. package/dist/engine/timing.d.ts.map +0 -1
  697. package/dist/engine/timing.js.map +0 -1
  698. package/dist/expect/async.d.ts.map +0 -1
  699. package/dist/expect/async.js.map +0 -1
  700. package/dist/expect/attempt.d.ts.map +0 -1
  701. package/dist/expect/attempt.js.map +0 -1
  702. package/dist/expect/index.d.ts.map +0 -1
  703. package/dist/expect/index.js.map +0 -1
  704. package/dist/expect/poll.d.ts.map +0 -1
  705. package/dist/expect/poll.js.map +0 -1
  706. package/dist/expect/soft.d.ts.map +0 -1
  707. package/dist/expect/soft.js.map +0 -1
  708. package/dist/expect/values.d.ts.map +0 -1
  709. package/dist/expect/values.js.map +0 -1
  710. package/dist/explore/body.d.ts.map +0 -1
  711. package/dist/explore/body.js.map +0 -1
  712. package/dist/explore/executor.d.ts.map +0 -1
  713. package/dist/explore/executor.js.map +0 -1
  714. package/dist/explore/index.d.ts.map +0 -1
  715. package/dist/explore/index.js.map +0 -1
  716. package/dist/explore/plan.d.ts.map +0 -1
  717. package/dist/explore/plan.js.map +0 -1
  718. package/dist/explore/progress.d.ts.map +0 -1
  719. package/dist/explore/progress.js.map +0 -1
  720. package/dist/explore/state.d.ts.map +0 -1
  721. package/dist/explore/state.js.map +0 -1
  722. package/dist/index.d.ts.map +0 -1
  723. package/dist/index.js.map +0 -1
  724. package/dist/internal/ai-trace.d.ts.map +0 -1
  725. package/dist/internal/ai-trace.js.map +0 -1
  726. package/dist/internal/atomic-write.d.ts.map +0 -1
  727. package/dist/internal/atomic-write.js.map +0 -1
  728. package/dist/internal/brands.d.ts.map +0 -1
  729. package/dist/internal/brands.js.map +0 -1
  730. package/dist/internal/debug.d.ts.map +0 -1
  731. package/dist/internal/debug.js.map +0 -1
  732. package/dist/internal/env.d.ts.map +0 -1
  733. package/dist/internal/env.js.map +0 -1
  734. package/dist/internal/errors.d.ts.map +0 -1
  735. package/dist/internal/errors.js.map +0 -1
  736. package/dist/internal/geometry.d.ts.map +0 -1
  737. package/dist/internal/geometry.js.map +0 -1
  738. package/dist/internal/git.d.ts.map +0 -1
  739. package/dist/internal/git.js.map +0 -1
  740. package/dist/internal/globs.d.ts.map +0 -1
  741. package/dist/internal/globs.js.map +0 -1
  742. package/dist/internal/ids.d.ts.map +0 -1
  743. package/dist/internal/ids.js.map +0 -1
  744. package/dist/internal/json-value.d.ts.map +0 -1
  745. package/dist/internal/json-value.js.map +0 -1
  746. package/dist/internal/keys.d.ts.map +0 -1
  747. package/dist/internal/keys.js.map +0 -1
  748. package/dist/internal/node-version.d.ts.map +0 -1
  749. package/dist/internal/node-version.js.map +0 -1
  750. package/dist/internal/objects.d.ts.map +0 -1
  751. package/dist/internal/objects.js.map +0 -1
  752. package/dist/internal/options.d.ts.map +0 -1
  753. package/dist/internal/options.js.map +0 -1
  754. package/dist/internal/package-manager.d.ts.map +0 -1
  755. package/dist/internal/package-manager.js.map +0 -1
  756. package/dist/internal/package-version.d.ts.map +0 -1
  757. package/dist/internal/package-version.js.map +0 -1
  758. package/dist/internal/paths.d.ts.map +0 -1
  759. package/dist/internal/paths.js.map +0 -1
  760. package/dist/internal/realm-slot.d.ts.map +0 -1
  761. package/dist/internal/realm-slot.js.map +0 -1
  762. package/dist/internal/recording-modes.d.ts.map +0 -1
  763. package/dist/internal/recording-modes.js.map +0 -1
  764. package/dist/internal/redact.d.ts.map +0 -1
  765. package/dist/internal/redact.js.map +0 -1
  766. package/dist/internal/regexp.d.ts.map +0 -1
  767. package/dist/internal/regexp.js.map +0 -1
  768. package/dist/internal/roles.d.ts.map +0 -1
  769. package/dist/internal/roles.js.map +0 -1
  770. package/dist/internal/skip.d.ts.map +0 -1
  771. package/dist/internal/skip.js.map +0 -1
  772. package/dist/internal/source.d.ts.map +0 -1
  773. package/dist/internal/source.js.map +0 -1
  774. package/dist/internal/standard-schema.d.ts.map +0 -1
  775. package/dist/internal/standard-schema.js.map +0 -1
  776. package/dist/internal/suggest.d.ts.map +0 -1
  777. package/dist/internal/suggest.js.map +0 -1
  778. package/dist/internal/text.d.ts.map +0 -1
  779. package/dist/internal/text.js.map +0 -1
  780. package/dist/internal/time.d.ts.map +0 -1
  781. package/dist/internal/time.js.map +0 -1
  782. package/dist/internal/urls.d.ts.map +0 -1
  783. package/dist/internal/urls.js.map +0 -1
  784. package/dist/internal/vcs.d.ts.map +0 -1
  785. package/dist/internal/vcs.js.map +0 -1
  786. package/dist/internal/zip.d.ts.map +0 -1
  787. package/dist/internal/zip.js.map +0 -1
  788. package/dist/locator/engine.d.ts.map +0 -1
  789. package/dist/locator/engine.js.map +0 -1
  790. package/dist/locator/expression.d.ts.map +0 -1
  791. package/dist/locator/expression.js.map +0 -1
  792. package/dist/locator/screen.d.ts.map +0 -1
  793. package/dist/locator/screen.js.map +0 -1
  794. package/dist/mcp/catalog.d.ts.map +0 -1
  795. package/dist/mcp/catalog.js.map +0 -1
  796. package/dist/mcp/config.d.ts.map +0 -1
  797. package/dist/mcp/config.js.map +0 -1
  798. package/dist/mcp/recording.d.ts.map +0 -1
  799. package/dist/mcp/recording.js.map +0 -1
  800. package/dist/mcp/server.d.ts.map +0 -1
  801. package/dist/mcp/server.js.map +0 -1
  802. package/dist/mcp/session.d.ts.map +0 -1
  803. package/dist/mcp/session.js.map +0 -1
  804. package/dist/mcp/sessions.d.ts.map +0 -1
  805. package/dist/mcp/sessions.js.map +0 -1
  806. package/dist/mcp/tools.d.ts.map +0 -1
  807. package/dist/mcp/tools.js.map +0 -1
  808. package/dist/oauth/callback-server.d.ts.map +0 -1
  809. package/dist/oauth/callback-server.js.map +0 -1
  810. package/dist/oauth/chatgpt.d.ts.map +0 -1
  811. package/dist/oauth/chatgpt.js.map +0 -1
  812. package/dist/oauth/cli.d.ts.map +0 -1
  813. package/dist/oauth/cli.js.map +0 -1
  814. package/dist/oauth/copilot.d.ts.map +0 -1
  815. package/dist/oauth/copilot.js.map +0 -1
  816. package/dist/oauth/device-code.d.ts.map +0 -1
  817. package/dist/oauth/device-code.js.map +0 -1
  818. package/dist/oauth/errors.d.ts.map +0 -1
  819. package/dist/oauth/errors.js.map +0 -1
  820. package/dist/oauth/fetch.d.ts.map +0 -1
  821. package/dist/oauth/fetch.js.map +0 -1
  822. package/dist/oauth/grok.d.ts.map +0 -1
  823. package/dist/oauth/grok.js.map +0 -1
  824. package/dist/oauth/jwt.d.ts.map +0 -1
  825. package/dist/oauth/jwt.js.map +0 -1
  826. package/dist/oauth/login.d.ts.map +0 -1
  827. package/dist/oauth/login.js.map +0 -1
  828. package/dist/oauth/models.d.ts.map +0 -1
  829. package/dist/oauth/models.js.map +0 -1
  830. package/dist/oauth/pkce.d.ts.map +0 -1
  831. package/dist/oauth/pkce.js.map +0 -1
  832. package/dist/oauth/providers/github-copilot.d.ts.map +0 -1
  833. package/dist/oauth/providers/github-copilot.js.map +0 -1
  834. package/dist/oauth/providers/openai.d.ts.map +0 -1
  835. package/dist/oauth/providers/openai.js.map +0 -1
  836. package/dist/oauth/providers/xai.d.ts.map +0 -1
  837. package/dist/oauth/providers/xai.js.map +0 -1
  838. package/dist/oauth/providers.d.ts.map +0 -1
  839. package/dist/oauth/providers.js.map +0 -1
  840. package/dist/oauth/sse.d.ts.map +0 -1
  841. package/dist/oauth/sse.js.map +0 -1
  842. package/dist/oauth/store.d.ts.map +0 -1
  843. package/dist/oauth/store.js.map +0 -1
  844. package/dist/oauth/token-endpoint.d.ts.map +0 -1
  845. package/dist/oauth/token-endpoint.js.map +0 -1
  846. package/dist/oauth/types.d.ts.map +0 -1
  847. package/dist/oauth/types.js.map +0 -1
  848. package/dist/params.d.ts.map +0 -1
  849. package/dist/params.js.map +0 -1
  850. package/dist/report/build.d.ts.map +0 -1
  851. package/dist/report/build.js.map +0 -1
  852. package/dist/report/builtin.d.ts.map +0 -1
  853. package/dist/report/builtin.js.map +0 -1
  854. package/dist/report/code-frame.d.ts.map +0 -1
  855. package/dist/report/code-frame.js.map +0 -1
  856. package/dist/report/debug-steps.d.ts.map +0 -1
  857. package/dist/report/debug-steps.js.map +0 -1
  858. package/dist/report/explore-text.d.ts.map +0 -1
  859. package/dist/report/explore-text.js.map +0 -1
  860. package/dist/report/failure-text.d.ts.map +0 -1
  861. package/dist/report/failure-text.js.map +0 -1
  862. package/dist/report/format.d.ts.map +0 -1
  863. package/dist/report/format.js.map +0 -1
  864. package/dist/report/json.d.ts.map +0 -1
  865. package/dist/report/json.js.map +0 -1
  866. package/dist/report/junit.d.ts.map +0 -1
  867. package/dist/report/junit.js.map +0 -1
  868. package/dist/report/list-explore.d.ts.map +0 -1
  869. package/dist/report/list-explore.js.map +0 -1
  870. package/dist/report/list-model.d.ts.map +0 -1
  871. package/dist/report/list-model.js.map +0 -1
  872. package/dist/report/list-steps.d.ts.map +0 -1
  873. package/dist/report/list-steps.js.map +0 -1
  874. package/dist/report/list.d.ts.map +0 -1
  875. package/dist/report/list.js.map +0 -1
  876. package/dist/report/live-window.d.ts.map +0 -1
  877. package/dist/report/live-window.js.map +0 -1
  878. package/dist/report/markdown-text.d.ts.map +0 -1
  879. package/dist/report/markdown-text.js.map +0 -1
  880. package/dist/report/markdown.d.ts.map +0 -1
  881. package/dist/report/markdown.js.map +0 -1
  882. package/dist/report/outcome.d.ts.map +0 -1
  883. package/dist/report/outcome.js.map +0 -1
  884. package/dist/report/repeats.d.ts.map +0 -1
  885. package/dist/report/repeats.js.map +0 -1
  886. package/dist/report/running-tree.d.ts.map +0 -1
  887. package/dist/report/running-tree.js.map +0 -1
  888. package/dist/report/write.d.ts.map +0 -1
  889. package/dist/report/write.js.map +0 -1
  890. package/dist/run/app-ports.d.ts.map +0 -1
  891. package/dist/run/app-ports.js.map +0 -1
  892. package/dist/run/artifacts.d.ts.map +0 -1
  893. package/dist/run/artifacts.js.map +0 -1
  894. package/dist/run/budget.d.ts.map +0 -1
  895. package/dist/run/budget.js.map +0 -1
  896. package/dist/run/declared-processes.d.ts.map +0 -1
  897. package/dist/run/declared-processes.js.map +0 -1
  898. package/dist/run/events.d.ts.map +0 -1
  899. package/dist/run/events.js.map +0 -1
  900. package/dist/run/execute.d.ts.map +0 -1
  901. package/dist/run/execute.js.map +0 -1
  902. package/dist/run/extended-fixtures.d.ts.map +0 -1
  903. package/dist/run/extended-fixtures.js.map +0 -1
  904. package/dist/run/failure-evidence.d.ts.map +0 -1
  905. package/dist/run/failure-evidence.js.map +0 -1
  906. package/dist/run/fixture-recording.d.ts.map +0 -1
  907. package/dist/run/fixture-recording.js.map +0 -1
  908. package/dist/run/fixtures.d.ts.map +0 -1
  909. package/dist/run/fixtures.js.map +0 -1
  910. package/dist/run/in-process.d.ts.map +0 -1
  911. package/dist/run/in-process.js.map +0 -1
  912. package/dist/run/last-run.d.ts.map +0 -1
  913. package/dist/run/last-run.js.map +0 -1
  914. package/dist/run/managed-process.d.ts.map +0 -1
  915. package/dist/run/managed-process.js.map +0 -1
  916. package/dist/run/output.d.ts.map +0 -1
  917. package/dist/run/output.js.map +0 -1
  918. package/dist/run/process-pool.d.ts.map +0 -1
  919. package/dist/run/process-pool.js.map +0 -1
  920. package/dist/run/provision.d.ts.map +0 -1
  921. package/dist/run/provision.js.map +0 -1
  922. package/dist/run/realm.d.ts.map +0 -1
  923. package/dist/run/realm.js.map +0 -1
  924. package/dist/run/records.d.ts.map +0 -1
  925. package/dist/run/records.js.map +0 -1
  926. package/dist/run/retry.d.ts.map +0 -1
  927. package/dist/run/retry.js.map +0 -1
  928. package/dist/run/runner.d.ts.map +0 -1
  929. package/dist/run/runner.js.map +0 -1
  930. package/dist/run/scheduler.d.ts.map +0 -1
  931. package/dist/run/scheduler.js.map +0 -1
  932. package/dist/run/secrecy.d.ts.map +0 -1
  933. package/dist/run/secrecy.js.map +0 -1
  934. package/dist/run/serial.d.ts.map +0 -1
  935. package/dist/run/serial.js.map +0 -1
  936. package/dist/run/sessions.d.ts.map +0 -1
  937. package/dist/run/sessions.js.map +0 -1
  938. package/dist/run/standalone.d.ts.map +0 -1
  939. package/dist/run/standalone.js.map +0 -1
  940. package/dist/run/steps.d.ts.map +0 -1
  941. package/dist/run/steps.js.map +0 -1
  942. package/dist/run/trace-redaction.d.ts.map +0 -1
  943. package/dist/run/trace-redaction.js.map +0 -1
  944. package/dist/run/unit-runner.d.ts.map +0 -1
  945. package/dist/run/unit-runner.js.map +0 -1
  946. package/dist/run/units.d.ts.map +0 -1
  947. package/dist/run/units.js.map +0 -1
  948. package/dist/run/worker/entry.d.ts.map +0 -1
  949. package/dist/run/worker/entry.js.map +0 -1
  950. package/dist/run/worker/handle.d.ts.map +0 -1
  951. package/dist/run/worker/handle.js.map +0 -1
  952. package/dist/run/worker/protocol.d.ts.map +0 -1
  953. package/dist/run/worker/protocol.js.map +0 -1
  954. package/dist/run/worker/session.d.ts.map +0 -1
  955. package/dist/run/worker/session.js.map +0 -1
  956. package/dist/run/worker-models.d.ts.map +0 -1
  957. package/dist/run/worker-models.js.map +0 -1
  958. package/dist/secrets.d.ts.map +0 -1
  959. package/dist/secrets.js.map +0 -1
  960. package/dist/telemetry/checkout.d.ts.map +0 -1
  961. package/dist/telemetry/checkout.js.map +0 -1
  962. package/dist/telemetry/environment.d.ts.map +0 -1
  963. package/dist/telemetry/environment.js.map +0 -1
  964. package/dist/telemetry/events.d.ts.map +0 -1
  965. package/dist/telemetry/events.js.map +0 -1
  966. package/dist/telemetry/failure-kind.d.ts.map +0 -1
  967. package/dist/telemetry/failure-kind.js.map +0 -1
  968. package/dist/telemetry/posthog.d.ts.map +0 -1
  969. package/dist/telemetry/posthog.js.map +0 -1
  970. package/dist/telemetry/project.d.ts.map +0 -1
  971. package/dist/telemetry/project.js.map +0 -1
  972. package/dist/telemetry/store.d.ts.map +0 -1
  973. package/dist/telemetry/store.js.map +0 -1
  974. package/dist/telemetry/telemetry.d.ts.map +0 -1
  975. package/dist/telemetry/telemetry.js.map +0 -1
  976. package/dist/telemetry/token.d.ts.map +0 -1
  977. package/dist/telemetry/token.js.map +0 -1
  978. package/dist/types.d.ts.map +0 -1
  979. package/dist/types.js.map +0 -1
package/dist/.build.json CHANGED
@@ -1 +1 @@
1
- {"version":"0.15.2"}
1
+ {"version":"0.16.0"}
@@ -35,6 +35,15 @@ export declare function validateParams(params: AgentParams | undefined): {
35
35
  secrets: ReadonlyMap<string, Secret>;
36
36
  templates: readonly ParamTemplate[];
37
37
  };
38
+ /**
39
+ * Projected params with `redact` applied to every string in them, object
40
+ * keys included, and their `unique()` templates moved with their leaves: a
41
+ * template's pointer follows the redacted keys and its value is redacted as
42
+ * the leaf is, so the trace cache slots what the params hold.
43
+ */
44
+ export declare function redactParams(params: Readonly<Record<string, JsonValue>>, templates: readonly ParamTemplate[], redact: (text: string) => string): {
45
+ params: Readonly<Record<string, JsonValue>>;
46
+ templates: readonly ParamTemplate[];
47
+ };
38
48
  /** Closes the verdict grammar: the executor cannot invent statuses or codes. */
39
49
  export declare function validateVerdict(verdict: unknown, executorName: string): StepVerdict;
40
- //# sourceMappingURL=act-validation.d.ts.map
@@ -90,6 +90,54 @@ export function validateParams(params) {
90
90
  templates: found.templates,
91
91
  };
92
92
  }
93
+ /**
94
+ * Projected params with `redact` applied to every string in them, object
95
+ * keys included, and their `unique()` templates moved with their leaves: a
96
+ * template's pointer follows the redacted keys and its value is redacted as
97
+ * the leaf is, so the trace cache slots what the params hold.
98
+ */
99
+ export function redactParams(params, templates, redact) {
100
+ const pointers = new Map();
101
+ const redacted = redactJson(params, redact, { from: '', to: '' }, pointers);
102
+ return {
103
+ params: redacted,
104
+ templates: templates.map((template) => ({
105
+ pointer: pointers.get(template.pointer) ?? template.pointer,
106
+ value: redact(template.value),
107
+ })),
108
+ };
109
+ }
110
+ /**
111
+ * `value` with `redact` applied to every string in it, object keys included.
112
+ * Records in `pointers` where each node's pointer (`at.from`) lands once its
113
+ * keys are redacted (`at.to`). Two keys of one object that redact alike would
114
+ * leave one value standing for both, so that is `INVALID_ARGUMENT`.
115
+ */
116
+ function redactJson(value, redact, at, pointers) {
117
+ pointers.set(at.from, at.to);
118
+ if (typeof value === 'string')
119
+ return redact(value);
120
+ if (Array.isArray(value)) {
121
+ return value.map((entry, index) => redactJson(entry, redact, { from: paramPointer(at.from, index), to: paramPointer(at.to, index) }, pointers));
122
+ }
123
+ if (typeof value !== 'object' || value === null)
124
+ return value;
125
+ const out = {};
126
+ for (const [key, entry] of Object.entries(value)) {
127
+ const clean = redact(key);
128
+ if (Object.hasOwn(out, clean)) {
129
+ throw new TestError('INVALID_ARGUMENT', `agent.act params has two keys that read ${JSON.stringify(clean)} once secret values are redacted; a key cannot be told apart by a secret`);
130
+ }
131
+ // Defined, not assigned, so a `__proto__` key stays an own property.
132
+ Object.defineProperty(out, clean, {
133
+ value: redactJson(entry, redact, { from: paramPointer(at.from, key), to: paramPointer(at.to, clean) }, pointers),
134
+ enumerable: true,
135
+ writable: true,
136
+ configurable: true,
137
+ });
138
+ }
139
+ return out;
140
+ }
93
141
  /** Replaces every Secret leaf with its placeholder and every Unique leaf with its value, collecting both. */
94
142
  function projectParams(value, pointer, found, seen) {
95
143
  if (isSecret(value)) {
@@ -146,4 +194,3 @@ export function validateVerdict(verdict, executorName) {
146
194
  ...(code === undefined ? {} : { errorCode: code }),
147
195
  };
148
196
  }
149
- //# sourceMappingURL=act-validation.js.map
@@ -66,5 +66,4 @@ export declare function runAssertStep(runtime: AgentContext, assertion: string,
66
66
  * passing is what confirms the traces staged before it at attempt end
67
67
  * (cache/context.ts).
68
68
  */
69
- export declare function dispatchAgentStep(runtime: AgentContext, spec: DispatchSpec, agent?: DispatchAgent): Promise<ActResult>;
70
- //# sourceMappingURL=act.d.ts.map
69
+ export declare function dispatchAgentStep(runtime: AgentContext, raw: DispatchSpec, agent?: DispatchAgent): Promise<ActResult>;
package/dist/agent/act.js CHANGED
@@ -21,7 +21,7 @@ import { join } from 'node:path';
21
21
  import { ConfigurationError } from '../internal/errors.js';
22
22
  import { withAbort, withTimeout } from '../internal/time.js';
23
23
  import { AgentError, CATEGORY_BY_CODE, toAgentError } from './error.js';
24
- import { validateActOptions, validateInstruction, validateParams, validateVerdict } from './act-validation.js';
24
+ import { redactParams, validateActOptions, validateInstruction, validateParams, validateVerdict } from './act-validation.js';
25
25
  import { ActionDispatcher } from './action-dispatcher.js';
26
26
  import { resolveBoundedBudget, resolveTimeout } from './call-options.js';
27
27
  import { RUNTIME_CODES } from './executor.js';
@@ -88,12 +88,16 @@ export async function runAssertStep(runtime, assertion, options) {
88
88
  * passing is what confirms the traces staged before it at attempt end
89
89
  * (cache/context.ts).
90
90
  */
91
- export async function dispatchAgentStep(runtime, spec,
91
+ export async function dispatchAgentStep(runtime, raw,
92
92
  // Resolved before the step opens, so an unknown name fails the call, not a
93
93
  // recorded step, and the step carries the agent it ran with.
94
- agent = runtime.select(spec.agent)) {
94
+ agent = runtime.select(raw.agent)) {
95
+ const spec = redactSpec(raw, runtime.redact);
96
+ // Redacted per step, not once per agent: the ledger is live, so a value
97
+ // resolved since the agent was selected is covered too.
98
+ const context = agent.agentContext === undefined ? undefined : runtime.redact(agent.agentContext);
95
99
  return runtime.steps.run('agent', spec.api, spec.instruction, async () => {
96
- const dispatch = new ActDispatch(runtime, spec, agent);
100
+ const dispatch = new ActDispatch(runtime, spec, { ...agent, agentContext: context });
97
101
  try {
98
102
  let verdict;
99
103
  try {
@@ -116,6 +120,20 @@ agent = runtime.select(spec.agent)) {
116
120
  }
117
121
  }, { verifies: spec.kind === 'assert', agent: agent.name });
118
122
  }
123
+ /**
124
+ * The spec with every registered secret value the test spelled into the
125
+ * instruction or a param string (a key or a leaf) rewritten to its marker,
126
+ * before anything reads it: the executor, its model, the step label, the
127
+ * trace cache, and the prior-step ledger all see the same redacted step. A
128
+ * `Secret` handle is already a placeholder here and stays fillable through
129
+ * `typeSecret`.
130
+ */
131
+ function redactSpec(spec, redact) {
132
+ const instruction = redact(spec.instruction);
133
+ if (spec.params === undefined)
134
+ return { ...spec, instruction };
135
+ return { ...spec, instruction, ...redactParams(spec.params, spec.templates, redact) };
136
+ }
119
137
  /** One step's wiring: the collaborators, the executor's context, and the verdict mapping. */
120
138
  class ActDispatch {
121
139
  runtime;
@@ -465,4 +483,3 @@ function screenOf(observation) {
465
483
  ? { ...metadata, kind: 'semantic', nodes: observation.nodes }
466
484
  : { ...metadata, kind: 'pixels' };
467
485
  }
468
- //# sourceMappingURL=act.js.map
@@ -184,4 +184,3 @@ export declare class ActionDispatcher {
184
184
  /** The seam a policy records its decisions through, onto this step's events. */
185
185
  private policyHost;
186
186
  }
187
- //# sourceMappingURL=action-dispatcher.d.ts.map
@@ -598,4 +598,3 @@ function isInViewport(rect, viewport) {
598
598
  return true;
599
599
  return rect.x < viewport.width && rect.y < viewport.height && rect.x + rect.width > 0 && rect.y + rect.height > 0;
600
600
  }
601
- //# sourceMappingURL=action-dispatcher.js.map
@@ -25,4 +25,3 @@ export declare const HARNESS_TOOL_NAMES: ReadonlyMap<string, string>;
25
25
  * take one: it would be silently shadowed on one engine and live on another.
26
26
  */
27
27
  export declare const GRAMMAR_TOOL_NAMES: ReadonlySet<string>;
28
- //# sourceMappingURL=action-names.d.ts.map
@@ -78,4 +78,3 @@ export const GRAMMAR_TOOL_NAMES = new Set([
78
78
  'select_at',
79
79
  'dismiss_keyboard',
80
80
  ]);
81
- //# sourceMappingURL=action-names.js.map
@@ -134,4 +134,3 @@ export declare function describeAction(action: RecordableAction, redact: (text:
134
134
  * node is named, not what it contains.
135
135
  */
136
136
  export declare function describeTarget(node: SemanticNode, redact: (text: string) => string): TraceTargetDescriptor | undefined;
137
- //# sourceMappingURL=actions.d.ts.map
@@ -193,4 +193,3 @@ function describeWhere(target) {
193
193
  function quote(value) {
194
194
  return JSON.stringify(bound(value, 40));
195
195
  }
196
- //# sourceMappingURL=actions.js.map
@@ -11,4 +11,3 @@ export declare const BUILT_IN_AGENT: {
11
11
  readonly name: 'e2e-default-agent';
12
12
  readonly version: '2';
13
13
  };
14
- //# sourceMappingURL=agent-brand.d.ts.map
@@ -8,4 +8,3 @@
8
8
  * valid whatever options an agents entry sets.
9
9
  */
10
10
  export const BUILT_IN_AGENT = { name: 'e2e-default-agent', version: '2' };
11
- //# sourceMappingURL=agent-brand.js.map
@@ -19,9 +19,15 @@ export type SdkLanguageModel = Exclude<LanguageModel, string>;
19
19
  export declare function asSdkLanguageModel(instance: ModelInstance): SdkLanguageModel;
20
20
  /** Loads and caches the AI SDK, or fails with MODEL_UNAVAILABLE. */
21
21
  export declare function loadAiSdk(): Promise<AiSdk>;
22
+ /**
23
+ * The SDK when the optional peer is installed, else undefined: for the seams
24
+ * that have a way to do their job without it.
25
+ */
26
+ export declare function loadAiSdkIfInstalled(): Promise<AiSdk | undefined>;
27
+ /** The SDK when an earlier call loaded it, else undefined; never loads it. */
28
+ export declare function loadedAiSdk(): AiSdk | undefined;
22
29
  /**
23
30
  * The already-loaded SDK, for the few synchronous seams (error-class checks)
24
31
  * that run strictly after an async caller primed the cache.
25
32
  */
26
33
  export declare function aiSdk(): AiSdk;
27
- //# sourceMappingURL=ai-sdk.d.ts.map
@@ -53,6 +53,17 @@ export async function loadAiSdk() {
53
53
  throw missing(state.failure);
54
54
  }
55
55
  }
56
+ /**
57
+ * The SDK when the optional peer is installed, else undefined: for the seams
58
+ * that have a way to do their job without it.
59
+ */
60
+ export async function loadAiSdkIfInstalled() {
61
+ return loadAiSdk().catch(() => undefined);
62
+ }
63
+ /** The SDK when an earlier call loaded it, else undefined; never loads it. */
64
+ export function loadedAiSdk() {
65
+ return cache().loaded;
66
+ }
56
67
  /**
57
68
  * The already-loaded SDK, for the few synchronous seams (error-class checks)
58
69
  * that run strictly after an async caller primed the cache.
@@ -69,4 +80,3 @@ function missing(cause) {
69
80
  'peer dependency ai@^7 — install it, or configure an agent that brings ' +
70
81
  'its own model transport', { cause });
71
82
  }
72
- //# sourceMappingURL=ai-sdk.js.map
@@ -7,4 +7,3 @@
7
7
  export declare function resolveTimeout(requested: number | undefined, fallback: number): number;
8
8
  /** Resolves a per-call budget override, capped at the configured limit. */
9
9
  export declare function resolveBoundedBudget(requested: number | undefined, limit: number, label: string): number;
10
- //# sourceMappingURL=call-options.d.ts.map
@@ -25,4 +25,3 @@ export function resolveBoundedBudget(requested, limit, label) {
25
25
  }
26
26
  return requested;
27
27
  }
28
- //# sourceMappingURL=call-options.js.map
@@ -28,4 +28,3 @@ export declare function createBuiltInAgent(options?: BuiltInAgentOptions): StepE
28
28
  * and a host outside the loop reports them its own way.
29
29
  */
30
30
  export declare function projectTools(context: StepExecutorContext, tools: Readonly<Record<string, AgentTool>>): ToolSet;
31
- //# sourceMappingURL=default-agent.d.ts.map
@@ -170,4 +170,3 @@ function guardedTools(helpers, tools) {
170
170
  }
171
171
  return guarded;
172
172
  }
173
- //# sourceMappingURL=default-agent.js.map
@@ -57,4 +57,3 @@ export interface StepEvidence {
57
57
  * the model composed itself.
58
58
  */
59
59
  export declare function derivedReason(value: string, instruction: string, params: Readonly<Record<string, JsonValue>> | undefined, evidence?: StepEvidence): DerivedReason | undefined;
60
- //# sourceMappingURL=derived.d.ts.map
@@ -125,4 +125,3 @@ function paramStrings(params) {
125
125
  function normalize(text) {
126
126
  return text.toLowerCase().replace(/\s+/g, ' ').trim();
127
127
  }
128
- //# sourceMappingURL=derived.js.map
@@ -64,4 +64,3 @@ export declare function toAgentError(cause: unknown): AgentError;
64
64
  * keep honest names and `instanceof` never spans realms.
65
65
  */
66
66
  export declare function isAgentError(value: unknown): value is AgentError;
67
- //# sourceMappingURL=error.d.ts.map
@@ -118,4 +118,3 @@ export function isAgentError(value) {
118
118
  typeof value.code === 'string' &&
119
119
  value.code in CATEGORY_BY_CODE);
120
120
  }
121
- //# sourceMappingURL=error.js.map
@@ -495,4 +495,3 @@ export declare function isRuntimeHardStop(cause: unknown): cause is AgentError;
495
495
  export declare const BLOCKABLE_CODES: ReadonlySet<AgentErrorCode>;
496
496
  /** Structural executor check, mirroring how model instances are detected. */
497
497
  export declare function isStepExecutor(value: unknown): value is StepExecutor;
498
- //# sourceMappingURL=executor.d.ts.map
@@ -52,4 +52,3 @@ export function isStepExecutor(value) {
52
52
  candidate['name'] !== '' &&
53
53
  typeof candidate['runStep'] === 'function');
54
54
  }
55
- //# sourceMappingURL=executor.js.map
@@ -12,4 +12,3 @@ import type { Agent } from '../types.ts';
12
12
  import { type AgentContext } from './invocation.ts';
13
13
  /** Builds the agent fixture for one attempt. */
14
14
  export declare function createAgentFixture(runtime: AgentContext): Agent;
15
- //# sourceMappingURL=index.d.ts.map
@@ -350,4 +350,3 @@ function safeJson(value) {
350
350
  return undefined;
351
351
  }
352
352
  }
353
- //# sourceMappingURL=index.js.map
@@ -35,4 +35,3 @@ export interface InteractiveStep {
35
35
  * never resolved and the budgets a model loop needs do not apply.
36
36
  */
37
37
  export declare function openInteractiveStep(runtime: AgentContext, options: InteractiveStepOptions): Promise<InteractiveStep>;
38
- //# sourceMappingURL=interactive-step.d.ts.map
@@ -129,4 +129,3 @@ class HostExecutor {
129
129
  job.settle({ error: reason });
130
130
  }
131
131
  }
132
- //# sourceMappingURL=interactive-step.js.map
@@ -210,4 +210,3 @@ export declare class Invocation {
210
210
  private modelInfo;
211
211
  private consumeModelCall;
212
212
  }
213
- //# sourceMappingURL=invocation.d.ts.map
@@ -53,7 +53,7 @@ export class Invocation {
53
53
  this.agent = runtime.select(options.agent);
54
54
  this.deadline = runtime.engine.deadline(options.timeoutMs);
55
55
  this.pixelTier = options.vision === true || options.vision === 'only';
56
- this.system = buildSystem(options.task, this.agent.agentContext);
56
+ this.system = runtime.redact(buildSystem(options.task, this.agent.agentContext));
57
57
  this.systemBytes = tokenUpperBound(this.system);
58
58
  }
59
59
  get session() {
@@ -179,11 +179,17 @@ export class Invocation {
179
179
  for (;;) {
180
180
  this.checkDeadline();
181
181
  this.consumeModelCall();
182
- const prompt = buildPrompt({
182
+ // The observation is redacted already; the instruction is the test's
183
+ // own text, which may spell out a registered value. The repair's raw
184
+ // text is redacted before the prompt cuts it, so the cut never splits a
185
+ // value into a fragment whole-value matching would miss.
186
+ const prompt = this.runtime.redact(buildPrompt({
183
187
  ...request.prompt,
184
188
  ...(this.treeWithheld ? { withholdTree: true } : {}),
185
- ...(repair === undefined ? {} : { repair }),
186
- });
189
+ ...(repair === undefined
190
+ ? {}
191
+ : { repair: { ...repair, rawText: repair.rawText === undefined ? undefined : this.runtime.redact(repair.rawText) } }),
192
+ }));
187
193
  // Pixels travel with the observation they were captured for, so the
188
194
  // image and the tree in one request always describe one revision.
189
195
  const images = imagesFor(request.prompt.observation);
@@ -322,4 +328,3 @@ function imagesFor(observation) {
322
328
  },
323
329
  ];
324
330
  }
325
- //# sourceMappingURL=invocation.js.map
@@ -36,4 +36,3 @@ export interface LedgerContext {
36
36
  * handoff to the ledger's own line budget.
37
37
  */
38
38
  export declare function serializeLedger(steps: readonly PriorStep[], maxBytes: number): LedgerContext;
39
- //# sourceMappingURL=ledger.d.ts.map
@@ -72,4 +72,3 @@ function formatEntry(step, position) {
72
72
  const handoff = truncateUtf8(step.explanation, MAX_HANDOFF_BYTES);
73
73
  return `${head}\n observed: ${handoff}`;
74
74
  }
75
- //# sourceMappingURL=ledger.js.map
@@ -84,4 +84,3 @@ export declare function isFailedResult(toolName: string, text: string): boolean;
84
84
  * that the last id was. Warns first, then forces the conclusion.
85
85
  */
86
86
  export declare function checkFailureStreak(results: readonly GuardToolResult[], thresholds?: LoopGuardThresholds): LoopGuardVerdict;
87
- //# sourceMappingURL=loop-guards.d.ts.map
@@ -184,4 +184,3 @@ export function checkFailureStreak(results, thresholds = DEFAULT_LOOP_GUARD_THRE
184
184
  }
185
185
  return { kind: 'clear' };
186
186
  }
187
- //# sourceMappingURL=loop-guards.js.map
@@ -102,4 +102,3 @@ export declare function imageTokenUpperBound(image: {
102
102
  width: number;
103
103
  height: number;
104
104
  }): number;
105
- //# sourceMappingURL=adapter.d.ts.map
@@ -37,4 +37,3 @@ export function imageTokenUpperBound(image) {
37
37
  return (Math.ceil(Math.max(1, image.width) / IMAGE_TILE_PX) *
38
38
  Math.ceil(Math.max(1, image.height) / IMAGE_TILE_PX));
39
39
  }
40
- //# sourceMappingURL=adapter.js.map
@@ -17,4 +17,3 @@
17
17
  * provider's words.
18
18
  */
19
19
  export declare function isContextOverflow(error: unknown): boolean;
20
- //# sourceMappingURL=overflow.d.ts.map
@@ -79,4 +79,3 @@ function describesOverflow(error) {
79
79
  OVERFLOW_PATTERNS.some((pattern) => pattern.test(text)) &&
80
80
  !NON_OVERFLOW_PATTERNS.some((pattern) => pattern.test(text)));
81
81
  }
82
- //# sourceMappingURL=overflow.js.map
@@ -43,4 +43,3 @@ export interface ProviderHints {
43
43
  export declare function providerHints(model: ProviderModelRef | undefined): ProviderHints;
44
44
  /** A stable key for one system prompt, so every call sharing the prefix routes alike. */
45
45
  export declare function promptCacheKey(system: string): string;
46
- //# sourceMappingURL=provider-hints.d.ts.map
@@ -85,4 +85,3 @@ function withoutBreakpoint(message) {
85
85
  }
86
86
  return { ...message, providerOptions };
87
87
  }
88
- //# sourceMappingURL=provider-hints.js.map
@@ -17,4 +17,3 @@ import type { JSONSchema7 } from 'ai';
17
17
  import type { StandardSchemaV1 } from '../../types.ts';
18
18
  /** The caller schema's shape as JSON Schema, or undefined when it has no usable projection. */
19
19
  export declare function deriveJsonSchema(schema: StandardSchemaV1): Promise<JSONSchema7 | undefined>;
20
- //# sourceMappingURL=schema.d.ts.map
@@ -80,4 +80,3 @@ function refinesOnly(member, type) {
80
80
  function isSchemaObject(value) {
81
81
  return typeof value === 'object' && value !== null && !Array.isArray(value);
82
82
  }
83
- //# sourceMappingURL=schema.js.map
@@ -72,4 +72,3 @@ export declare function failureHint(cause: unknown): string;
72
72
  * the SDK to be loaded, which every caller has done by the time a call failed.
73
73
  */
74
74
  export declare function isAbort(cause: unknown): boolean;
75
- //# sourceMappingURL=sdk.d.ts.map
@@ -303,4 +303,3 @@ export function isAbort(cause) {
303
303
  return true;
304
304
  return cause instanceof Error && (cause.name === 'AbortError' || cause.name === 'TimeoutError');
305
305
  }
306
- //# sourceMappingURL=sdk.js.map
@@ -8,4 +8,3 @@ import type { AiSdk, SdkLanguageModel } from '../ai-sdk.ts';
8
8
  * The caller's cancellation is not a stall and passes through as it was.
9
9
  */
10
10
  export declare function withStallGuard(ai: AiSdk, model: SdkLanguageModel, onStall?: (stallMs: number) => void, stallMs?: number): SdkLanguageModel;
11
- //# sourceMappingURL=stall.d.ts.map
@@ -50,4 +50,3 @@ export function withStallGuard(ai, model, onStall = () => undefined, stallMs = M
50
50
  },
51
51
  });
52
52
  }
53
- //# sourceMappingURL=stall.js.map
@@ -41,4 +41,3 @@ export declare function isForcedToolCallSkipped(error: unknown): error is {
41
41
  * quoting the request never reads as a model limitation.
42
42
  */
43
43
  export declare function isForcedToolChoiceRejected(error: unknown): boolean;
44
- //# sourceMappingURL=tool-choice.d.ts.map
@@ -72,4 +72,3 @@ function describesRejection(error) {
72
72
  return false;
73
73
  return [record.message, record.responseBody].some((text) => typeof text === 'string' && FORCED_CHOICE_PATTERNS.some((pattern) => pattern.test(text)));
74
74
  }
75
- //# sourceMappingURL=tool-choice.js.map
@@ -24,4 +24,3 @@ export interface ObservationBudgetRequest {
24
24
  * than fail the adapter's pre-flight check.
25
25
  */
26
26
  export declare function observationByteBudget(limits: ObservationBudgetLimits, request: ObservationBudgetRequest): number;
27
- //# sourceMappingURL=observation-budget.d.ts.map
@@ -40,4 +40,3 @@ export function observationByteBudget(limits, request) {
40
40
  const withinTokenCeiling = Math.max(MIN_OBSERVATION_BYTES, limits.maxInputTokens - overhead);
41
41
  return Math.min(limits.maxObservationBytes, withinTokenCeiling);
42
42
  }
43
- //# sourceMappingURL=observation-budget.js.map
@@ -170,4 +170,3 @@ export declare class ObservationFeed {
170
170
  }
171
171
  /** The error for a target id the newest screen no longer lists. */
172
172
  export declare function nodeGone(id: string, latest: SemanticAgentObservation): AgentError;
173
- //# sourceMappingURL=observation-feed.d.ts.map
@@ -392,4 +392,3 @@ function echoesInput(node) {
392
392
  export function nodeGone(id, latest) {
393
393
  return new AgentError('LOCATOR_NOT_FOUND', `node #${id} is not on the current screen (observation ${latest.revision}); it was removed or never existed`);
394
394
  }
395
- //# sourceMappingURL=observation-feed.js.map
@@ -190,4 +190,3 @@ export declare function settleObservation<T>(capture: () => Promise<T>, shapeOf:
190
190
  */
191
191
  export declare function isTransitionalObservation(observation: AgentObservation): boolean;
192
192
  export {};
193
- //# sourceMappingURL=observation.d.ts.map
@@ -474,4 +474,3 @@ function indexNodes(node, into, parents) {
474
474
  indexNodes(child, into, parents);
475
475
  }
476
476
  }
477
- //# sourceMappingURL=observation.js.map
@@ -18,4 +18,3 @@ export declare class OperationQueue {
18
18
  /** Runs `body` after every operation queued before it, in call order. */
19
19
  run<T>(body: () => Promise<T>): Promise<T>;
20
20
  }
21
- //# sourceMappingURL=operation-queue.d.ts.map
@@ -24,4 +24,3 @@ export class OperationQueue {
24
24
  return run;
25
25
  }
26
26
  }
27
- //# sourceMappingURL=operation-queue.js.map
@@ -75,4 +75,3 @@ export declare function retryingObserve(options: {
75
75
  readonly signal: AbortSignal;
76
76
  readonly api: string;
77
77
  }): Promise<Observation>;
78
- //# sourceMappingURL=phases.d.ts.map
@@ -140,4 +140,3 @@ function phaseErrorCode(cause) {
140
140
  return engineError.code;
141
141
  return cause instanceof Error ? cause.name : 'ERROR';
142
142
  }
143
- //# sourceMappingURL=phases.js.map
@@ -18,4 +18,3 @@ export declare function sizeForModel<P extends ObservationPixels>(pixels: P): P;
18
18
  * the caller's pixels carry (a masked-region count) rides along unchanged.
19
19
  */
20
20
  export declare function downscalePixels<P extends ObservationPixels>(pixels: P, maxLongSide: number): P;
21
- //# sourceMappingURL=pixels.d.ts.map
@@ -82,4 +82,3 @@ function boxResample(source, sourceWidth, sourceHeight, target, targetWidth, tar
82
82
  }
83
83
  }
84
84
  }
85
- //# sourceMappingURL=pixels.js.map
@@ -63,4 +63,3 @@ export declare function describePointHit(input: PointProse & {
63
63
  readonly control: SemanticNode | undefined;
64
64
  readonly under: SemanticNode | undefined;
65
65
  }): string;
66
- //# sourceMappingURL=point-tap.d.ts.map
@@ -112,4 +112,3 @@ export function describePointHit(input) {
112
112
  function describeNode(prose, node) {
113
113
  return nodeLine(prose.observation, node.ref.id);
114
114
  }
115
- //# sourceMappingURL=point-tap.js.map
@@ -46,6 +46,12 @@ export interface GrammarToolOptions {
46
46
  * otherwise.
47
47
  */
48
48
  readonly screen?: ScreenPresenter;
49
+ /**
50
+ * Told the cause of every action that failed into a result rather than a
51
+ * throw, before it becomes the result's text: the one place its runner
52
+ * code is still structured.
53
+ */
54
+ readonly onActionFailed?: ((cause: unknown) => void) | undefined;
49
55
  }
50
56
  /**
51
57
  * AI SDK tools over the harness action grammar, limited to the verbs the
@@ -78,4 +84,3 @@ export declare function trackModelCalls(context: StepExecutorContext, model?: {
78
84
  readonly provider?: string;
79
85
  readonly modelId?: string;
80
86
  }): ModelCallTracker;
81
- //# sourceMappingURL=primitives.d.ts.map
@@ -666,7 +666,10 @@ function verbKit(context, options) {
666
666
  catch (cause) {
667
667
  if (isRuntimeHardStop(cause))
668
668
  throw cause;
669
- return present(failureLead(label, cause));
669
+ const failed = await present(failureLead(label, cause));
670
+ // After the look, so a look that throws fails the call once, as itself.
671
+ options.onActionFailed?.(cause);
672
+ return failed;
670
673
  }
671
674
  return present(outcome.lead, { expectChange: outcome.expectChange, ...update });
672
675
  });
@@ -717,4 +720,3 @@ export function trackModelCalls(context, model) {
717
720
  },
718
721
  };
719
722
  }
720
- //# sourceMappingURL=primitives.js.map
@@ -49,4 +49,3 @@ export declare const JUDGMENT_REQUEST: string;
49
49
  export declare const EXTRACT_REQUEST: string;
50
50
  /** The extraction's answer to a rejection the screen cannot satisfy: say so rather than change the data. */
51
51
  export declare const EXTRACT_REPAIR_OUTLET = "Correct a misread or a wrong shape. When the data the observation shows cannot satisfy the errors, respond with \"found\": false and say why in \"missing\" rather than change a value to fit.";
52
- //# sourceMappingURL=prompts.d.ts.map
@@ -118,4 +118,3 @@ export const EXTRACT_REQUEST = [
118
118
  ].join('\n');
119
119
  /** The extraction's answer to a rejection the screen cannot satisfy: say so rather than change the data. */
120
120
  export const EXTRACT_REPAIR_OUTLET = 'Correct a misread or a wrong shape. When the data the observation shows cannot satisfy the errors, respond with "found": false and say why in "missing" rather than change a value to fit.';
121
- //# sourceMappingURL=prompts.js.map
@@ -65,4 +65,3 @@ export declare function extractSchema(shape: JSONSchema7): JSONSchema7;
65
65
  */
66
66
  export declare function validateExtractResponse(value: unknown): ProtocolValidation<ExtractResponse>;
67
67
  export {};
68
- //# sourceMappingURL=protocol.d.ts.map