humanish 0.104.3 → 0.106.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 (1407) hide show
  1. package/AGENTS.md +89 -94
  2. package/ARCHITECTURE.md +146 -0
  3. package/CHANGELOG.md +502 -0
  4. package/CONTEXT.md +51 -0
  5. package/CONTRIBUTING.md +111 -9
  6. package/README.md +213 -124
  7. package/SECURITY.md +1 -1
  8. package/TELEMETRY.md +112 -0
  9. package/dist/actors/affordance.d.ts +56 -0
  10. package/dist/actors/affordance.js +155 -0
  11. package/dist/actors/agent-session.js +42 -0
  12. package/dist/actors/codex/app-server-actor-trace.d.ts +11 -0
  13. package/dist/actors/codex/app-server-actor-trace.js +211 -0
  14. package/dist/actors/codex/app-server-client.d.ts +39 -0
  15. package/dist/actors/codex/app-server-client.js +116 -0
  16. package/dist/actors/codex/app-server-trace.d.ts +154 -0
  17. package/dist/actors/codex/app-server-trace.js +424 -0
  18. package/dist/actors/codex/app-server-ui.d.ts +40 -0
  19. package/dist/actors/codex/app-server-ui.js +328 -0
  20. package/dist/actors/codex/app-server.d.ts +44 -0
  21. package/dist/actors/codex/app-server.js +268 -0
  22. package/dist/actors/codex/qualified-versions.d.ts +45 -0
  23. package/dist/actors/codex/qualified-versions.js +87 -0
  24. package/dist/actors/codex/restricted-executable.d.ts +17 -0
  25. package/dist/actors/codex/restricted-executable.js +147 -0
  26. package/dist/actors/codex/restricted-launch.d.ts +116 -0
  27. package/dist/actors/codex/restricted-launch.js +222 -0
  28. package/dist/actors/codex/restricted-participant-policy.d.ts +46 -0
  29. package/dist/actors/codex/restricted-participant-policy.js +82 -0
  30. package/dist/actors/codex/restricted-participant.d.ts +20 -0
  31. package/dist/actors/codex/restricted-participant.js +432 -0
  32. package/dist/actors/codex/restricted-policy.d.ts +70 -0
  33. package/dist/actors/codex/restricted-policy.js +326 -0
  34. package/dist/actors/codex/restricted-session.d.ts +65 -0
  35. package/dist/actors/codex/restricted-session.js +432 -0
  36. package/dist/actors/codex/restricted-transport.d.ts +73 -0
  37. package/dist/actors/codex/restricted-transport.js +335 -0
  38. package/dist/actors/codex/restricted-turn.d.ts +62 -0
  39. package/dist/actors/codex/restricted-turn.js +284 -0
  40. package/dist/actors/computer-use/actor.d.ts +77 -0
  41. package/dist/actors/computer-use/actor.js +78 -0
  42. package/dist/actors/computer-use/admission-limit.d.ts +12 -0
  43. package/dist/actors/computer-use/admission-limit.js +19 -0
  44. package/dist/actors/computer-use/executor-error.js +48 -0
  45. package/dist/actors/computer-use/loop/actions.d.ts +26 -0
  46. package/dist/actors/computer-use/loop/actions.js +245 -0
  47. package/dist/actors/computer-use/loop/backstop.d.ts +42 -0
  48. package/dist/actors/computer-use/loop/backstop.js +202 -0
  49. package/dist/actors/computer-use/loop/debrief.d.ts +19 -0
  50. package/dist/actors/computer-use/loop/debrief.js +164 -0
  51. package/dist/actors/computer-use/loop/ending.d.ts +86 -0
  52. package/dist/actors/computer-use/loop/ending.js +316 -0
  53. package/dist/actors/computer-use/loop/observation.d.ts +55 -0
  54. package/dist/actors/computer-use/loop/observation.js +246 -0
  55. package/dist/actors/computer-use/loop/output-limit.d.ts +11 -0
  56. package/dist/actors/computer-use/loop/output-limit.js +21 -0
  57. package/dist/actors/computer-use/loop/provider-call.d.ts +19 -0
  58. package/dist/actors/computer-use/loop/provider-call.js +208 -0
  59. package/dist/actors/computer-use/loop/race.d.ts +34 -0
  60. package/dist/actors/computer-use/loop/race.js +79 -0
  61. package/dist/actors/computer-use/loop/session.d.ts +77 -0
  62. package/dist/actors/computer-use/loop/session.js +135 -0
  63. package/dist/actors/computer-use/loop/spend.d.ts +30 -0
  64. package/dist/actors/computer-use/loop/spend.js +85 -0
  65. package/dist/actors/computer-use/loop/trace.d.ts +35 -0
  66. package/dist/actors/computer-use/loop/trace.js +140 -0
  67. package/dist/actors/computer-use/loop/types.d.ts +404 -0
  68. package/dist/actors/computer-use/loop/types.js +1 -0
  69. package/dist/actors/computer-use/loop/usage.d.ts +102 -0
  70. package/dist/actors/computer-use/loop/usage.js +355 -0
  71. package/dist/actors/computer-use/loop.d.ts +11 -0
  72. package/dist/actors/computer-use/loop.js +248 -0
  73. package/dist/actors/computer-use/openai-provider.d.ts +107 -0
  74. package/dist/actors/computer-use/openai-provider.js +472 -0
  75. package/dist/actors/computer-use/openai-requests.d.ts +35 -0
  76. package/dist/actors/computer-use/openai-requests.js +74 -0
  77. package/dist/actors/computer-use/openai-wire.d.ts +67 -0
  78. package/dist/actors/computer-use/openai-wire.js +365 -0
  79. package/dist/actors/computer-use/provider-error.d.ts +27 -0
  80. package/dist/actors/computer-use/provider-error.js +86 -0
  81. package/dist/actors/computer-use/speech.js +6 -0
  82. package/dist/actors/contract.d.ts +315 -0
  83. package/dist/actors/contract.js +201 -0
  84. package/dist/actors/goal-source.js +38 -0
  85. package/dist/actors/local-agent/claude-session.d.ts +43 -0
  86. package/dist/actors/local-agent/claude-session.js +370 -0
  87. package/dist/actors/local-agent/cli.d.ts +115 -0
  88. package/dist/actors/local-agent/cli.js +413 -0
  89. package/dist/actors/local-agent/readiness.d.ts +31 -0
  90. package/dist/actors/local-agent/readiness.js +45 -0
  91. package/dist/actors/openai-endpoint.d.ts +2 -0
  92. package/dist/actors/openai-endpoint.js +2 -0
  93. package/dist/actors/output-token-limit.js +4 -0
  94. package/dist/actors/reasoning-effort.js +33 -0
  95. package/dist/actors/registry.d.ts +59 -0
  96. package/dist/actors/registry.js +89 -0
  97. package/dist/actors/scripted-browser/actor.d.ts +49 -0
  98. package/dist/actors/scripted-browser/actor.js +428 -0
  99. package/dist/actors/scripted-browser/browser-command.d.ts +1 -0
  100. package/dist/actors/scripted-browser/browser-command.js +48 -0
  101. package/dist/actors/scripted-browser/journey.d.ts +9 -0
  102. package/dist/actors/scripted-browser/journey.js +171 -0
  103. package/dist/actors/scripted-browser/steps.d.ts +60 -0
  104. package/dist/actors/scripted-browser/steps.js +384 -0
  105. package/dist/actors/scripted-browser/types.d.ts +135 -0
  106. package/dist/actors/scripted-browser/types.js +26 -0
  107. package/dist/actors/stop-cause.d.ts +9 -0
  108. package/dist/actors/stop-cause.js +42 -0
  109. package/dist/actors/stop-conditions.d.ts +40 -0
  110. package/dist/actors/stop-conditions.js +65 -0
  111. package/dist/analysis/automatic-completion.d.ts +38 -0
  112. package/dist/analysis/automatic-completion.js +90 -0
  113. package/dist/analysis/automatic-config.d.ts +41 -0
  114. package/dist/analysis/automatic-config.js +135 -0
  115. package/dist/analysis/automatic.d.ts +17 -0
  116. package/dist/analysis/automatic.js +279 -0
  117. package/dist/analysis/codex-config.d.ts +8 -0
  118. package/dist/analysis/codex-config.js +69 -0
  119. package/dist/analysis/evidence-sources.d.ts +23 -0
  120. package/dist/analysis/evidence-sources.js +251 -0
  121. package/dist/analysis/evidence.d.ts +18 -0
  122. package/dist/analysis/evidence.js +482 -0
  123. package/dist/analysis/execute.d.ts +52 -0
  124. package/dist/analysis/execute.js +504 -0
  125. package/dist/analysis/image-tokens.d.ts +1 -0
  126. package/dist/analysis/image-tokens.js +41 -0
  127. package/dist/analysis/job.d.ts +97 -0
  128. package/dist/analysis/job.js +311 -0
  129. package/dist/analysis/load.d.ts +3 -0
  130. package/dist/analysis/load.js +11 -0
  131. package/dist/analysis/provider.d.ts +57 -0
  132. package/dist/analysis/provider.js +227 -0
  133. package/dist/analysis/restricted-codex.d.ts +19 -0
  134. package/dist/analysis/restricted-codex.js +23 -0
  135. package/dist/analysis/service.d.ts +72 -0
  136. package/dist/analysis/service.js +399 -0
  137. package/dist/analysis/sharing.d.ts +11 -0
  138. package/dist/analysis/sharing.js +44 -0
  139. package/dist/analysis/store-executions.d.ts +27 -0
  140. package/dist/analysis/store-executions.js +224 -0
  141. package/dist/analysis/store.d.ts +31 -0
  142. package/dist/analysis/store.js +315 -0
  143. package/dist/analysis/types.d.ts +217 -0
  144. package/dist/analysis/types.js +12 -0
  145. package/dist/analysis/validation.d.ts +225 -0
  146. package/dist/analysis/validation.js +562 -0
  147. package/dist/browser-control/client.d.ts +18 -0
  148. package/dist/browser-control/client.js +239 -0
  149. package/dist/browser-control/dispatcher.d.ts +19 -0
  150. package/dist/browser-control/dispatcher.js +221 -0
  151. package/dist/browser-control/protocol.d.ts +492 -0
  152. package/dist/browser-control/protocol.js +360 -0
  153. package/dist/browser-control/recording-transfer.d.ts +3 -0
  154. package/dist/browser-control/recording-transfer.js +48 -0
  155. package/dist/browser-control/transport.d.ts +27 -0
  156. package/dist/browser-control/transport.js +189 -0
  157. package/dist/cli/commands/analysis-signals.d.ts +7 -0
  158. package/dist/cli/commands/analysis-signals.js +25 -0
  159. package/dist/cli/commands/analyze.d.ts +3 -0
  160. package/dist/cli/commands/analyze.js +212 -0
  161. package/dist/cli/commands/codex.d.ts +3 -0
  162. package/dist/cli/commands/codex.js +145 -0
  163. package/dist/cli/commands/comms.d.ts +3 -0
  164. package/dist/cli/commands/comms.js +225 -0
  165. package/dist/cli/commands/feedback.d.ts +3 -0
  166. package/dist/cli/commands/feedback.js +138 -0
  167. package/dist/cli/commands/lab-format.d.ts +8 -0
  168. package/dist/cli/commands/lab-format.js +105 -0
  169. package/dist/cli/commands/lab-route-computer-use.d.ts +20 -0
  170. package/dist/cli/commands/lab-route-computer-use.js +251 -0
  171. package/dist/cli/commands/lab-route-open.d.ts +27 -0
  172. package/dist/cli/commands/lab-route-open.js +37 -0
  173. package/dist/cli/commands/lab-route-preview.d.ts +20 -0
  174. package/dist/cli/commands/lab-route-preview.js +74 -0
  175. package/dist/cli/commands/lab-route-run.d.ts +17 -0
  176. package/dist/cli/commands/lab-route-run.js +31 -0
  177. package/dist/cli/commands/lab-route-scripted.d.ts +19 -0
  178. package/dist/cli/commands/lab-route-scripted.js +50 -0
  179. package/dist/cli/commands/lab-route-shared-world.d.ts +20 -0
  180. package/dist/cli/commands/lab-route-shared-world.js +135 -0
  181. package/dist/cli/commands/lab-route-terminal.d.ts +19 -0
  182. package/dist/cli/commands/lab-route-terminal.js +49 -0
  183. package/dist/cli/commands/lab-run.d.ts +9 -0
  184. package/dist/cli/commands/lab-run.js +166 -0
  185. package/dist/cli/commands/lab-scorer.d.ts +30 -0
  186. package/dist/cli/commands/lab-scorer.js +17 -0
  187. package/dist/cli/commands/lab.d.ts +3 -0
  188. package/dist/cli/commands/lab.js +193 -0
  189. package/dist/cli/commands/observe.d.ts +4 -0
  190. package/dist/cli/commands/observe.js +345 -0
  191. package/dist/cli/commands/runs.d.ts +11 -0
  192. package/dist/cli/commands/runs.js +314 -0
  193. package/dist/cli/commands/setup.d.ts +11 -0
  194. package/dist/cli/commands/setup.js +325 -0
  195. package/dist/cli/commands/tui.d.ts +32 -0
  196. package/dist/cli/commands/tui.js +305 -0
  197. package/dist/cli/commands/watch.d.ts +3 -0
  198. package/dist/cli/commands/watch.js +245 -0
  199. package/dist/cli/doctor.d.ts +39 -0
  200. package/dist/cli/doctor.js +263 -0
  201. package/dist/cli/first-run-path.d.ts +67 -0
  202. package/dist/cli/first-run-path.js +150 -0
  203. package/dist/cli/io.d.ts +85 -0
  204. package/dist/cli/io.js +232 -0
  205. package/dist/cli/observer-follow.d.ts +56 -0
  206. package/dist/cli/observer-follow.js +160 -0
  207. package/dist/cli/orientation.d.ts +30 -0
  208. package/dist/cli/orientation.js +114 -0
  209. package/dist/cli/program.d.ts +15 -0
  210. package/dist/cli/program.js +338 -0
  211. package/dist/cli/secret-prompt.js +39 -0
  212. package/dist/cli/telemetry.js +351 -0
  213. package/dist/cli.js +2 -4
  214. package/dist/comms/agentmail.d.ts +29 -0
  215. package/dist/comms/agentmail.js +568 -0
  216. package/dist/comms/capture-surface.d.ts +54 -0
  217. package/dist/comms/capture-surface.js +468 -0
  218. package/dist/comms/catch-host.d.ts +52 -0
  219. package/dist/comms/catch-host.js +192 -0
  220. package/dist/comms/connections.d.ts +20 -0
  221. package/dist/comms/connections.js +116 -0
  222. package/dist/comms/email-catch.d.ts +49 -0
  223. package/dist/comms/email-catch.js +236 -0
  224. package/dist/comms/extract.d.ts +7 -0
  225. package/dist/comms/extract.js +65 -0
  226. package/dist/comms/fake-inbox.d.ts +39 -0
  227. package/dist/comms/fake-inbox.js +136 -0
  228. package/dist/comms/images.d.ts +7 -0
  229. package/dist/comms/images.js +53 -0
  230. package/dist/comms/lease-store.d.ts +91 -0
  231. package/dist/comms/lease-store.js +600 -0
  232. package/dist/comms/providers.d.ts +30 -0
  233. package/dist/comms/providers.js +24 -0
  234. package/dist/comms/receiving-common.d.ts +17 -0
  235. package/dist/comms/receiving-common.js +82 -0
  236. package/dist/comms/receiving-evidence.d.ts +4 -0
  237. package/dist/comms/receiving-evidence.js +59 -0
  238. package/dist/comms/receiving-recovery.d.ts +22 -0
  239. package/dist/comms/receiving-recovery.js +100 -0
  240. package/dist/comms/receiving-render.d.ts +16 -0
  241. package/dist/comms/receiving-render.js +409 -0
  242. package/dist/comms/receiving-runtime.d.ts +41 -0
  243. package/dist/comms/receiving-runtime.js +66 -0
  244. package/dist/comms/receiving-surface.d.ts +8 -0
  245. package/dist/comms/receiving-surface.js +156 -0
  246. package/dist/comms/receiving-types.d.ts +122 -0
  247. package/dist/comms/receiving-types.js +3 -0
  248. package/dist/comms/receiving.d.ts +33 -0
  249. package/dist/comms/receiving.js +508 -0
  250. package/dist/comms/sandbox-catch-script.d.ts +16 -0
  251. package/dist/comms/sandbox-catch-script.js +331 -0
  252. package/dist/comms/sandbox-catch.d.ts +214 -0
  253. package/dist/comms/sandbox-catch.js +451 -0
  254. package/dist/comms/setup.d.ts +65 -0
  255. package/dist/comms/setup.js +259 -0
  256. package/dist/comms/thread-evidence.d.ts +28 -0
  257. package/dist/comms/thread-evidence.js +30 -0
  258. package/dist/comms/types.d.ts +76 -0
  259. package/dist/comms/types.js +8 -0
  260. package/dist/deprecated.d.ts +90 -0
  261. package/dist/deprecated.js +106 -0
  262. package/dist/evidence/browser-hygiene.js +42 -0
  263. package/dist/evidence/desktop-recorder.d.ts +39 -0
  264. package/dist/evidence/desktop-recorder.js +340 -0
  265. package/dist/evidence/desktop-recording-artifact.d.ts +5 -0
  266. package/dist/evidence/desktop-recording-artifact.js +53 -0
  267. package/dist/evidence/desktop-recording-types.d.ts +27 -0
  268. package/dist/evidence/desktop-recording-types.js +16 -0
  269. package/dist/evidence/encoded-text.d.ts +27 -0
  270. package/dist/evidence/encoded-text.js +243 -0
  271. package/dist/evidence/frame-signature.d.ts +17 -0
  272. package/dist/evidence/frame-signature.js +111 -0
  273. package/dist/evidence/image.d.ts +24 -0
  274. package/dist/evidence/image.js +170 -0
  275. package/dist/evidence/plain-text.d.ts +8 -0
  276. package/dist/evidence/plain-text.js +16 -0
  277. package/dist/evidence/redaction.d.ts +110 -0
  278. package/dist/evidence/redaction.js +329 -0
  279. package/dist/feedback/draft.d.ts +58 -0
  280. package/dist/feedback/draft.js +309 -0
  281. package/dist/feedback/export-bundle.d.ts +6 -0
  282. package/dist/feedback/export-bundle.js +585 -0
  283. package/dist/feedback/export.d.ts +50 -0
  284. package/dist/feedback/export.js +392 -0
  285. package/dist/feedback/feedback.d.ts +37 -0
  286. package/dist/feedback/feedback.js +282 -0
  287. package/dist/feedback/proof.d.ts +8 -0
  288. package/dist/feedback/proof.js +56 -0
  289. package/dist/guest/bootstrap.d.ts +55 -0
  290. package/dist/guest/bootstrap.js +348 -0
  291. package/dist/guest/browser-tools.d.ts +8 -0
  292. package/dist/guest/browser-tools.js +72 -0
  293. package/dist/guest/chromium-text.d.ts +62 -0
  294. package/dist/guest/chromium-text.js +386 -0
  295. package/dist/guest/desktop-executor.d.ts +57 -0
  296. package/dist/guest/desktop-executor.js +256 -0
  297. package/dist/guest/desktop-keys.d.ts +8 -0
  298. package/dist/guest/desktop-keys.js +89 -0
  299. package/dist/guest/desktop-media.d.ts +70 -0
  300. package/dist/guest/desktop-media.js +385 -0
  301. package/dist/guest/desktop-native.d.ts +14 -0
  302. package/dist/guest/desktop-native.js +156 -0
  303. package/dist/guest/media-config.d.ts +15 -0
  304. package/dist/guest/media-config.js +16 -0
  305. package/dist/guest/runtime-desktop.d.ts +45 -0
  306. package/dist/guest/runtime-desktop.js +420 -0
  307. package/dist/guest/runtime-processes.d.ts +28 -0
  308. package/dist/guest/runtime-processes.js +94 -0
  309. package/dist/guest/runtime.d.ts +31 -0
  310. package/dist/guest/runtime.js +124 -0
  311. package/dist/guest-media-worker.js +184 -48
  312. package/dist/guest-runtime-main.js +23 -10
  313. package/dist/guest-runtime-revision.js +1 -1
  314. package/dist/index.d.ts +32 -83
  315. package/dist/index.js +21 -42
  316. package/dist/keys/env-file.d.ts +15 -0
  317. package/dist/keys/env-file.js +109 -0
  318. package/dist/keys/key-resolution.d.ts +58 -0
  319. package/dist/keys/key-resolution.js +389 -0
  320. package/dist/lab/adapter-extension.d.ts +75 -0
  321. package/dist/lab/adapter-extension.js +253 -0
  322. package/dist/lab/adapter-scorer-loader.d.ts +43 -0
  323. package/dist/lab/adapter-scorer-loader.js +130 -0
  324. package/dist/lab/bag-overrides.d.ts +18 -0
  325. package/dist/lab/bag-overrides.js +121 -0
  326. package/dist/lab/composition-rules.d.ts +5 -0
  327. package/dist/lab/composition-rules.js +283 -0
  328. package/dist/lab/config.d.ts +7 -0
  329. package/dist/lab/config.js +208 -0
  330. package/dist/lab/device-presets.d.ts +97 -0
  331. package/dist/lab/device-presets.js +87 -0
  332. package/dist/lab/discover.d.ts +65 -0
  333. package/dist/lab/discover.js +422 -0
  334. package/dist/lab/doctor.d.ts +39 -0
  335. package/dist/lab/doctor.js +233 -0
  336. package/dist/lab/init-paths.d.ts +5 -0
  337. package/dist/lab/init-paths.js +89 -0
  338. package/dist/lab/init-plan.d.ts +20 -0
  339. package/dist/lab/init-plan.js +163 -0
  340. package/dist/lab/init-templates.d.ts +28 -0
  341. package/dist/lab/init-templates.js +416 -0
  342. package/dist/lab/init.d.ts +39 -0
  343. package/dist/lab/init.js +287 -0
  344. package/dist/lab/keys.d.ts +2 -0
  345. package/dist/lab/keys.js +264 -0
  346. package/dist/lab/parse/actors.d.ts +14 -0
  347. package/dist/lab/parse/actors.js +453 -0
  348. package/dist/lab/parse/comms.d.ts +12 -0
  349. package/dist/lab/parse/comms.js +246 -0
  350. package/dist/lab/parse/execution.d.ts +19 -0
  351. package/dist/lab/parse/execution.js +356 -0
  352. package/dist/lab/parse/subject-state.d.ts +30 -0
  353. package/dist/lab/parse/subject-state.js +179 -0
  354. package/dist/lab/parse/subject.d.ts +9 -0
  355. package/dist/lab/parse/subject.js +420 -0
  356. package/dist/lab/parse/values.d.ts +17 -0
  357. package/dist/lab/parse/values.js +65 -0
  358. package/dist/lab/participant-assignment.d.ts +12 -0
  359. package/dist/lab/participant-assignment.js +19 -0
  360. package/dist/lab/persona-resolve.d.ts +39 -0
  361. package/dist/lab/persona-resolve.js +118 -0
  362. package/dist/lab/persona.d.ts +39 -0
  363. package/dist/lab/persona.js +192 -0
  364. package/dist/lab/plan-base.d.ts +24 -0
  365. package/dist/lab/plan-base.js +113 -0
  366. package/dist/lab/plan-participants.d.ts +81 -0
  367. package/dist/lab/plan-participants.js +92 -0
  368. package/dist/lab/plan-types.d.ts +269 -0
  369. package/dist/lab/plan-types.js +5 -0
  370. package/dist/lab/plan.d.ts +27 -0
  371. package/dist/lab/plan.js +156 -0
  372. package/dist/lab/preflight-probes.d.ts +3 -0
  373. package/dist/lab/preflight-probes.js +312 -0
  374. package/dist/lab/preflight-result.d.ts +7 -0
  375. package/dist/lab/preflight-result.js +43 -0
  376. package/dist/lab/preflight.d.ts +95 -0
  377. package/dist/lab/preflight.js +117 -0
  378. package/dist/lab/route-inputs.d.ts +17 -0
  379. package/dist/lab/route-inputs.js +95 -0
  380. package/dist/lab/routing.d.ts +81 -0
  381. package/dist/lab/routing.js +214 -0
  382. package/dist/lab/run-lab-events.d.ts +69 -0
  383. package/dist/lab/run-lab-events.js +95 -0
  384. package/dist/lab/run-lab-options.d.ts +82 -0
  385. package/dist/lab/run-lab-options.js +399 -0
  386. package/dist/lab/summary.d.ts +60 -0
  387. package/dist/lab/summary.js +168 -0
  388. package/dist/lab/tasks.d.ts +91 -0
  389. package/dist/lab/tasks.js +139 -0
  390. package/dist/lab/types.d.ts +813 -0
  391. package/dist/lab/types.js +6 -0
  392. package/dist/lab/validation.d.ts +67 -0
  393. package/dist/lab/validation.js +387 -0
  394. package/dist/lab/warnings.d.ts +2 -0
  395. package/dist/lab/warnings.js +338 -0
  396. package/dist/observer/artifact.d.ts +23 -0
  397. package/dist/observer/artifact.js +235 -0
  398. package/dist/observer/data.d.ts +115 -0
  399. package/dist/observer/data.js +258 -0
  400. package/dist/observer/exposure.d.ts +64 -0
  401. package/dist/observer/exposure.js +143 -0
  402. package/dist/observer/http.js +50 -0
  403. package/dist/observer/library.js +190 -0
  404. package/dist/observer/listen.js +85 -0
  405. package/dist/observer/live.d.ts +9 -0
  406. package/dist/observer/live.js +25 -0
  407. package/dist/observer/pinned-files.d.ts +30 -0
  408. package/dist/observer/pinned-files.js +160 -0
  409. package/dist/observer/render.d.ts +69 -0
  410. package/dist/observer/render.js +350 -0
  411. package/dist/observer/run-inventory.d.ts +35 -0
  412. package/dist/observer/run-inventory.js +95 -0
  413. package/dist/observer/run-routes.d.ts +37 -0
  414. package/dist/observer/run-routes.js +373 -0
  415. package/dist/observer/serve.d.ts +97 -0
  416. package/dist/observer/serve.js +305 -0
  417. package/dist/observer/static.js +369 -0
  418. package/dist/observer/tunnel.js +112 -0
  419. package/dist/observer-app.html +9 -20
  420. package/dist/routes/computer-use/bundle-parts.d.ts +50 -0
  421. package/dist/routes/computer-use/bundle-parts.js +177 -0
  422. package/dist/routes/computer-use/bundle.d.ts +56 -0
  423. package/dist/routes/computer-use/bundle.js +184 -0
  424. package/dist/routes/computer-use/diagnostics.d.ts +38 -0
  425. package/dist/routes/computer-use/diagnostics.js +94 -0
  426. package/dist/routes/computer-use/e2b-desktop/comms.d.ts +65 -0
  427. package/dist/routes/computer-use/e2b-desktop/comms.js +225 -0
  428. package/dist/routes/computer-use/e2b-desktop/desktop.d.ts +3 -0
  429. package/dist/routes/computer-use/e2b-desktop/desktop.js +91 -0
  430. package/dist/routes/computer-use/e2b-desktop/fidelity.d.ts +65 -0
  431. package/dist/routes/computer-use/e2b-desktop/fidelity.js +156 -0
  432. package/dist/routes/computer-use/e2b-desktop/prepare.d.ts +18 -0
  433. package/dist/routes/computer-use/e2b-desktop/prepare.js +198 -0
  434. package/dist/routes/computer-use/e2b-desktop/start.d.ts +14 -0
  435. package/dist/routes/computer-use/e2b-desktop/start.js +193 -0
  436. package/dist/routes/computer-use/e2b-desktop/state.d.ts +65 -0
  437. package/dist/routes/computer-use/e2b-desktop/state.js +69 -0
  438. package/dist/routes/computer-use/e2b-desktop/teardown.d.ts +6 -0
  439. package/dist/routes/computer-use/e2b-desktop/teardown.js +152 -0
  440. package/dist/routes/computer-use/external-comms.d.ts +20 -0
  441. package/dist/routes/computer-use/external-comms.js +55 -0
  442. package/dist/routes/computer-use/fanout-bundle.d.ts +11 -0
  443. package/dist/routes/computer-use/fanout-bundle.js +274 -0
  444. package/dist/routes/computer-use/fanout-lanes.d.ts +15 -0
  445. package/dist/routes/computer-use/fanout-lanes.js +302 -0
  446. package/dist/routes/computer-use/in-process-desktop.d.ts +17 -0
  447. package/dist/routes/computer-use/in-process-desktop.js +40 -0
  448. package/dist/routes/computer-use/lanes.d.ts +35 -0
  449. package/dist/routes/computer-use/lanes.js +321 -0
  450. package/dist/routes/computer-use/legacy-lane-spec.d.ts +62 -0
  451. package/dist/routes/computer-use/legacy-lane-spec.js +39 -0
  452. package/dist/routes/computer-use/live-flush.d.ts +42 -0
  453. package/dist/routes/computer-use/live-flush.js +154 -0
  454. package/dist/routes/computer-use/local-tree-pack.d.ts +27 -0
  455. package/dist/routes/computer-use/local-tree-pack.js +47 -0
  456. package/dist/routes/computer-use/local-vm.d.ts +20 -0
  457. package/dist/routes/computer-use/local-vm.js +218 -0
  458. package/dist/routes/computer-use/participant-desktop.d.ts +63 -0
  459. package/dist/routes/computer-use/participant-desktop.js +33 -0
  460. package/dist/routes/computer-use/participant-facts.d.ts +6 -0
  461. package/dist/routes/computer-use/participant-facts.js +22 -0
  462. package/dist/routes/computer-use/participant-model.d.ts +30 -0
  463. package/dist/routes/computer-use/participant-model.js +222 -0
  464. package/dist/routes/computer-use/participant-prompt.d.ts +53 -0
  465. package/dist/routes/computer-use/participant-prompt.js +87 -0
  466. package/dist/routes/computer-use/participant-runs.d.ts +67 -0
  467. package/dist/routes/computer-use/participant-runs.js +255 -0
  468. package/dist/routes/computer-use/plan.d.ts +56 -0
  469. package/dist/routes/computer-use/plan.js +308 -0
  470. package/dist/routes/computer-use/preflight.d.ts +26 -0
  471. package/dist/routes/computer-use/preflight.js +85 -0
  472. package/dist/routes/computer-use/rerun-selection.d.ts +19 -0
  473. package/dist/routes/computer-use/rerun-selection.js +121 -0
  474. package/dist/routes/computer-use/result.d.ts +7 -0
  475. package/dist/routes/computer-use/result.js +292 -0
  476. package/dist/routes/computer-use/route.d.ts +33 -0
  477. package/dist/routes/computer-use/route.js +145 -0
  478. package/dist/routes/computer-use/run-lanes.d.ts +59 -0
  479. package/dist/routes/computer-use/run-lanes.js +135 -0
  480. package/dist/routes/computer-use/self-report.d.ts +21 -0
  481. package/dist/routes/computer-use/self-report.js +231 -0
  482. package/dist/routes/computer-use/setup.d.ts +136 -0
  483. package/dist/routes/computer-use/setup.js +371 -0
  484. package/dist/routes/computer-use/single-bundle.d.ts +97 -0
  485. package/dist/routes/computer-use/single-bundle.js +393 -0
  486. package/dist/routes/computer-use/subject-projection.d.ts +51 -0
  487. package/dist/routes/computer-use/subject-projection.js +159 -0
  488. package/dist/routes/computer-use/types.d.ts +539 -0
  489. package/dist/routes/computer-use/types.js +37 -0
  490. package/dist/routes/preview.d.ts +13 -0
  491. package/dist/routes/preview.js +36 -0
  492. package/dist/routes/scripted/bundle.d.ts +47 -0
  493. package/dist/routes/scripted/bundle.js +195 -0
  494. package/dist/routes/scripted/plan.d.ts +30 -0
  495. package/dist/routes/scripted/plan.js +95 -0
  496. package/dist/routes/scripted/result.d.ts +48 -0
  497. package/dist/routes/scripted/result.js +176 -0
  498. package/dist/routes/scripted/route.d.ts +28 -0
  499. package/dist/routes/scripted/route.js +218 -0
  500. package/dist/routes/scripted/scenario.d.ts +21 -0
  501. package/dist/routes/scripted/scenario.js +102 -0
  502. package/dist/routes/scripted/session-result.d.ts +8 -0
  503. package/dist/routes/scripted/session-result.js +60 -0
  504. package/dist/routes/scripted/setup.d.ts +45 -0
  505. package/dist/routes/scripted/setup.js +126 -0
  506. package/dist/routes/scripted/subject.d.ts +49 -0
  507. package/dist/routes/scripted/subject.js +156 -0
  508. package/dist/routes/scripted/surface-records.d.ts +26 -0
  509. package/dist/routes/scripted/surface-records.js +88 -0
  510. package/dist/routes/scripted/surface-sessions.d.ts +13 -0
  511. package/dist/routes/scripted/surface-sessions.js +40 -0
  512. package/dist/routes/scripted/types.d.ts +88 -0
  513. package/dist/routes/scripted/types.js +3 -0
  514. package/dist/routes/shared-world/bundle.d.ts +20 -0
  515. package/dist/routes/shared-world/bundle.js +446 -0
  516. package/dist/routes/shared-world/checkpoints.d.ts +25 -0
  517. package/dist/routes/shared-world/checkpoints.js +46 -0
  518. package/dist/routes/shared-world/comms.d.ts +68 -0
  519. package/dist/routes/shared-world/comms.js +176 -0
  520. package/dist/routes/shared-world/external-public.d.ts +21 -0
  521. package/dist/routes/shared-world/external-public.js +130 -0
  522. package/dist/routes/shared-world/handoff.d.ts +62 -0
  523. package/dist/routes/shared-world/handoff.js +348 -0
  524. package/dist/routes/shared-world/lobby-code.d.ts +25 -0
  525. package/dist/routes/shared-world/lobby-code.js +152 -0
  526. package/dist/routes/shared-world/plan.d.ts +27 -0
  527. package/dist/routes/shared-world/plan.js +174 -0
  528. package/dist/routes/shared-world/provenance.d.ts +27 -0
  529. package/dist/routes/shared-world/provenance.js +65 -0
  530. package/dist/routes/shared-world/provisioned.d.ts +57 -0
  531. package/dist/routes/shared-world/provisioned.js +505 -0
  532. package/dist/routes/shared-world/result.d.ts +18 -0
  533. package/dist/routes/shared-world/result.js +327 -0
  534. package/dist/routes/shared-world/route.d.ts +21 -0
  535. package/dist/routes/shared-world/route.js +277 -0
  536. package/dist/routes/shared-world/seat-records.d.ts +20 -0
  537. package/dist/routes/shared-world/seat-records.js +213 -0
  538. package/dist/routes/shared-world/seats.d.ts +38 -0
  539. package/dist/routes/shared-world/seats.js +208 -0
  540. package/dist/routes/shared-world/setup.d.ts +48 -0
  541. package/dist/routes/shared-world/setup.js +200 -0
  542. package/dist/routes/shared-world/types.d.ts +354 -0
  543. package/dist/routes/shared-world/types.js +29 -0
  544. package/dist/routes/terminal/adapter.d.ts +37 -0
  545. package/dist/routes/terminal/adapter.js +201 -0
  546. package/dist/routes/terminal/bundle.d.ts +79 -0
  547. package/dist/routes/terminal/bundle.js +305 -0
  548. package/dist/routes/terminal/credentials.d.ts +34 -0
  549. package/dist/routes/terminal/credentials.js +102 -0
  550. package/dist/routes/terminal/dry-run.d.ts +24 -0
  551. package/dist/routes/terminal/dry-run.js +157 -0
  552. package/dist/routes/terminal/encoding.js +79 -0
  553. package/dist/routes/terminal/ledger.d.ts +49 -0
  554. package/dist/routes/terminal/ledger.js +170 -0
  555. package/dist/routes/terminal/lifetime.d.ts +10 -0
  556. package/dist/routes/terminal/lifetime.js +22 -0
  557. package/dist/routes/terminal/live-finish.d.ts +31 -0
  558. package/dist/routes/terminal/live-finish.js +215 -0
  559. package/dist/routes/terminal/live-sandbox.d.ts +69 -0
  560. package/dist/routes/terminal/live-sandbox.js +452 -0
  561. package/dist/routes/terminal/persona.d.ts +20 -0
  562. package/dist/routes/terminal/persona.js +34 -0
  563. package/dist/routes/terminal/plan.d.ts +21 -0
  564. package/dist/routes/terminal/plan.js +115 -0
  565. package/dist/routes/terminal/recorder.d.ts +23 -0
  566. package/dist/routes/terminal/recorder.js +77 -0
  567. package/dist/routes/terminal/result.d.ts +47 -0
  568. package/dist/routes/terminal/result.js +114 -0
  569. package/dist/routes/terminal/route.d.ts +23 -0
  570. package/dist/routes/terminal/route.js +170 -0
  571. package/dist/routes/terminal/runtime-auth.d.ts +12 -0
  572. package/dist/routes/terminal/runtime-auth.js +23 -0
  573. package/dist/routes/terminal/runtime.d.ts +14 -0
  574. package/dist/routes/terminal/runtime.js +47 -0
  575. package/dist/routes/terminal/sandbox.d.ts +35 -0
  576. package/dist/routes/terminal/sandbox.js +126 -0
  577. package/dist/routes/terminal/session.d.ts +25 -0
  578. package/dist/routes/terminal/session.js +199 -0
  579. package/dist/routes/terminal/token-usage.d.ts +15 -0
  580. package/dist/routes/terminal/token-usage.js +93 -0
  581. package/dist/routes/terminal/trace.d.ts +40 -0
  582. package/dist/routes/terminal/trace.js +172 -0
  583. package/dist/routes/terminal/types.d.ts +342 -0
  584. package/dist/routes/terminal/types.js +31 -0
  585. package/dist/run/bundle-shape.d.ts +7 -0
  586. package/dist/run/bundle-shape.js +369 -0
  587. package/dist/run/bundle.d.ts +547 -0
  588. package/dist/run/bundle.js +44 -0
  589. package/dist/run/concurrency.js +24 -0
  590. package/dist/run/contained-output.d.ts +50 -0
  591. package/dist/run/contained-output.js +351 -0
  592. package/dist/run/cost-summary.d.ts +28 -0
  593. package/dist/run/cost-summary.js +213 -0
  594. package/dist/run/costs.js +140 -0
  595. package/dist/run/detail.d.ts +62 -0
  596. package/dist/run/detail.js +139 -0
  597. package/dist/run/dry-run-inputs.d.ts +9 -0
  598. package/dist/run/dry-run-inputs.js +90 -0
  599. package/dist/run/dry-run.d.ts +6 -0
  600. package/dist/run/dry-run.js +362 -0
  601. package/dist/run/feedback-shape.d.ts +7 -0
  602. package/dist/run/feedback-shape.js +89 -0
  603. package/dist/run/git-state.d.ts +35 -0
  604. package/dist/run/git-state.js +316 -0
  605. package/dist/run/git-workspace.d.ts +32 -0
  606. package/dist/run/git-workspace.js +450 -0
  607. package/dist/run/judge.d.ts +210 -0
  608. package/dist/run/judge.js +240 -0
  609. package/dist/run/locate.d.ts +22 -0
  610. package/dist/run/locate.js +122 -0
  611. package/dist/run/outcomes.d.ts +31 -0
  612. package/dist/run/outcomes.js +210 -0
  613. package/dist/run/participant-records.d.ts +28 -0
  614. package/dist/run/participant-records.js +63 -0
  615. package/dist/run/participant.d.ts +29 -0
  616. package/dist/run/participant.js +12 -0
  617. package/dist/run/paths.d.ts +79 -0
  618. package/dist/run/paths.js +356 -0
  619. package/dist/run/preflight-receipts.d.ts +46 -0
  620. package/dist/run/preflight-receipts.js +173 -0
  621. package/dist/run/pricing.d.ts +124 -0
  622. package/dist/run/pricing.js +298 -0
  623. package/dist/run/project.d.ts +8 -0
  624. package/dist/run/project.js +103 -0
  625. package/dist/run/projection.d.ts +184 -0
  626. package/dist/run/projection.js +356 -0
  627. package/dist/run/reclaim.d.ts +41 -0
  628. package/dist/run/reclaim.js +183 -0
  629. package/dist/run/results.d.ts +88 -0
  630. package/dist/run/results.js +3 -0
  631. package/dist/run/run-index.d.ts +107 -0
  632. package/dist/run/run-index.js +243 -0
  633. package/dist/run/run.d.ts +103 -0
  634. package/dist/run/run.js +199 -0
  635. package/dist/run/sandbox-receipts.d.ts +31 -0
  636. package/dist/run/sandbox-receipts.js +49 -0
  637. package/dist/run/shared-world-evidence.d.ts +220 -0
  638. package/dist/run/shared-world-evidence.js +49 -0
  639. package/dist/run/shared-world-shape.d.ts +26 -0
  640. package/dist/run/shared-world-shape.js +181 -0
  641. package/dist/run/stats.d.ts +82 -0
  642. package/dist/run/stats.js +258 -0
  643. package/dist/run/status.d.ts +111 -0
  644. package/dist/run/status.js +176 -0
  645. package/dist/run/stored-runs.d.ts +38 -0
  646. package/dist/run/stored-runs.js +273 -0
  647. package/dist/run/stream-shape.d.ts +4 -0
  648. package/dist/run/stream-shape.js +160 -0
  649. package/dist/run/streams.d.ts +257 -0
  650. package/dist/run/streams.js +12 -0
  651. package/dist/run/study-files.d.ts +35 -0
  652. package/dist/run/study-files.js +164 -0
  653. package/dist/run/terminal-contract.d.ts +25 -0
  654. package/dist/run/terminal-contract.js +47 -0
  655. package/dist/run/text.d.ts +2 -0
  656. package/dist/run/text.js +4 -0
  657. package/dist/run/transient-comms-secrets.js +72 -0
  658. package/dist/run/type-guards.d.ts +6 -0
  659. package/dist/run/type-guards.js +18 -0
  660. package/dist/run-lab.d.ts +110 -0
  661. package/dist/run-lab.js +148 -0
  662. package/dist/subject/clone.d.ts +37 -0
  663. package/dist/subject/clone.js +62 -0
  664. package/dist/subject/desktop-cli.d.ts +17 -0
  665. package/dist/subject/desktop-cli.js +51 -0
  666. package/dist/subject/local-tree-archive.d.ts +82 -0
  667. package/dist/subject/local-tree-archive.js +431 -0
  668. package/dist/subject/local-tree.d.ts +28 -0
  669. package/dist/subject/local-tree.js +58 -0
  670. package/dist/subject/node-bootstrap.d.ts +12 -0
  671. package/dist/subject/node-bootstrap.js +66 -0
  672. package/dist/subject/runtime.d.ts +13 -0
  673. package/dist/subject/runtime.js +50 -0
  674. package/dist/subject/serve.d.ts +39 -0
  675. package/dist/subject/serve.js +249 -0
  676. package/dist/subject/state.d.ts +23 -0
  677. package/dist/subject/state.js +58 -0
  678. package/dist/subject/steps.d.ts +37 -0
  679. package/dist/subject/steps.js +39 -0
  680. package/dist/substrates/command-failure.d.ts +23 -0
  681. package/dist/substrates/command-failure.js +45 -0
  682. package/dist/substrates/desktop-session.d.ts +41 -0
  683. package/dist/substrates/desktop-session.js +59 -0
  684. package/dist/substrates/detached.d.ts +55 -0
  685. package/dist/substrates/detached.js +139 -0
  686. package/dist/substrates/e2b/cdp-probe.d.ts +99 -0
  687. package/dist/substrates/e2b/cdp-probe.js +556 -0
  688. package/dist/substrates/e2b/desktop-browser.d.ts +81 -0
  689. package/dist/substrates/e2b/desktop-browser.js +410 -0
  690. package/dist/substrates/e2b/desktop-cdp.d.ts +77 -0
  691. package/dist/substrates/e2b/desktop-cdp.js +211 -0
  692. package/dist/substrates/e2b/desktop-executor.d.ts +92 -0
  693. package/dist/substrates/e2b/desktop-executor.js +302 -0
  694. package/dist/substrates/e2b/desktop-geometry.d.ts +83 -0
  695. package/dist/substrates/e2b/desktop-geometry.js +331 -0
  696. package/dist/substrates/e2b/desktop-media.d.ts +29 -0
  697. package/dist/substrates/e2b/desktop-media.js +151 -0
  698. package/dist/substrates/e2b/desktop-recording.d.ts +18 -0
  699. package/dist/substrates/e2b/desktop-recording.js +238 -0
  700. package/dist/substrates/e2b/desktop-resources.d.ts +11 -0
  701. package/dist/substrates/e2b/desktop-resources.js +35 -0
  702. package/dist/substrates/e2b/desktop-screenshot-cleanup.d.ts +15 -0
  703. package/dist/substrates/e2b/desktop-screenshot-cleanup.js +66 -0
  704. package/dist/substrates/e2b/lifetime.d.ts +12 -0
  705. package/dist/substrates/e2b/lifetime.js +18 -0
  706. package/dist/substrates/e2b/sandbox.d.ts +102 -0
  707. package/dist/substrates/e2b/sandbox.js +202 -0
  708. package/dist/substrates/e2b/sdk.d.ts +194 -0
  709. package/dist/substrates/e2b/sdk.js +168 -0
  710. package/dist/substrates/e2b/shell.d.ts +10 -0
  711. package/dist/substrates/e2b/shell.js +61 -0
  712. package/dist/substrates/local/captured-inbox.d.ts +6 -0
  713. package/dist/substrates/local/captured-inbox.js +87 -0
  714. package/dist/substrates/local/firecracker-desktop.d.ts +25 -0
  715. package/dist/substrates/local/firecracker-desktop.js +315 -0
  716. package/dist/substrates/local/runtime-config.d.ts +6 -0
  717. package/dist/substrates/local/runtime-config.js +91 -0
  718. package/dist/substrates/local/runtime-host.d.ts +30 -0
  719. package/dist/substrates/local/runtime-host.js +143 -0
  720. package/dist/substrates/local/runtime-release.d.ts +5 -0
  721. package/dist/substrates/local/runtime-release.js +32 -0
  722. package/dist/substrates/local/runtime-ssh.d.ts +9 -0
  723. package/dist/substrates/local/runtime-ssh.js +129 -0
  724. package/dist/substrates/local/runtime.d.ts +25 -0
  725. package/dist/substrates/local/runtime.js +190 -0
  726. package/dist/substrates/shell.d.ts +44 -0
  727. package/dist/substrates/shell.js +22 -0
  728. package/dist/tui/actions.d.ts +39 -0
  729. package/dist/tui/actions.js +203 -0
  730. package/dist/tui/contract.d.ts +144 -0
  731. package/dist/tui/contract.js +52 -0
  732. package/dist/tui/launch.js +172 -0
  733. package/dist/tui/project.d.ts +10 -0
  734. package/dist/tui/project.js +17 -0
  735. package/dist/tui-app.js +125 -125
  736. package/dist/verify/actor.d.ts +27 -0
  737. package/dist/verify/actor.js +292 -0
  738. package/dist/verify/artifacts.d.ts +47 -0
  739. package/dist/verify/artifacts.js +373 -0
  740. package/dist/verify/costs.d.ts +30 -0
  741. package/dist/verify/costs.js +129 -0
  742. package/dist/verify/liveness.d.ts +7 -0
  743. package/dist/verify/liveness.js +72 -0
  744. package/dist/verify/rerun.d.ts +3 -0
  745. package/dist/verify/rerun.js +46 -0
  746. package/dist/verify/shared-world-concurrent.d.ts +11 -0
  747. package/dist/verify/shared-world-concurrent.js +346 -0
  748. package/dist/verify/shared-world.d.ts +8 -0
  749. package/dist/verify/shared-world.js +295 -0
  750. package/dist/verify/subject.d.ts +17 -0
  751. package/dist/verify/subject.js +123 -0
  752. package/dist/verify/verify.d.ts +34 -0
  753. package/dist/verify/verify.js +333 -0
  754. package/docs/README.md +67 -0
  755. package/docs/architecture/actor-contract.md +215 -174
  756. package/docs/architecture/browser-control.md +51 -37
  757. package/docs/architecture/comms-inbox.md +8 -8
  758. package/docs/architecture/desktop-recording.md +2 -2
  759. package/docs/architecture/desktop-sessions.md +33 -21
  760. package/docs/architecture/external-public-shared-world.md +80 -64
  761. package/docs/architecture/github-feedback-loop.md +40 -27
  762. package/docs/architecture/guest-desktop.md +22 -10
  763. package/docs/architecture/local-browser-runtime.md +30 -21
  764. package/docs/architecture/observer-review.md +9 -9
  765. package/docs/architecture/observer.md +53 -57
  766. package/docs/architecture/participant-media.md +3 -3
  767. package/docs/architecture/project-layout.md +33 -137
  768. package/docs/architecture/real-email-receiving.md +7 -6
  769. package/docs/architecture/restricted-codex-analysis.md +211 -25
  770. package/docs/architecture/serve.md +89 -87
  771. package/docs/architecture/state-driven-executor.md +79 -64
  772. package/docs/architecture/task-protocol-support.md +18 -18
  773. package/docs/architecture/terminal-product-lane.md +92 -86
  774. package/docs/contracts/adapter-admission.md +8 -4
  775. package/docs/contracts/adapter-fixtures.md +6 -6
  776. package/docs/contracts/core.md +22 -24
  777. package/docs/contracts/feedback.md +33 -23
  778. package/docs/contracts/policy.md +28 -31
  779. package/docs/contracts/run-bundle.md +168 -82
  780. package/docs/contracts/schemas.md +594 -379
  781. package/docs/contracts/study-analysis.md +2 -2
  782. package/docs/contracts/study-costs.md +12 -12
  783. package/docs/decisions/0001-run-bundle-is-the-source-of-truth.md +36 -0
  784. package/docs/decisions/0002-observer-is-one-self-contained-file.md +30 -0
  785. package/docs/decisions/0003-contained-paths-and-cleanup-authority.md +35 -0
  786. package/docs/decisions/0004-participant-desktops-stay-in-the-route.md +31 -0
  787. package/docs/decisions/README.md +16 -0
  788. package/docs/goals/current.md +22 -46
  789. package/docs/principles/actor-fidelity.md +51 -63
  790. package/docs/principles/engineering.md +81 -0
  791. package/docs/principles/invariants-and-defaults.md +48 -45
  792. package/docs/principles/self-driving-harness.md +11 -10
  793. package/docs/principles/three-roles.md +12 -13
  794. package/docs/product/automatic-analysis.md +39 -9
  795. package/docs/product/lobby-trivia-3player-external-public.md +14 -13
  796. package/docs/product/open-source-install-experience.md +34 -38
  797. package/docs/ramp/README.md +91 -213
  798. package/docs/release/open-source-readiness.md +5 -2
  799. package/docs/release/public-readiness-standard.md +1 -1
  800. package/examples/README.md +11 -0
  801. package/examples/participant/README.md +80 -0
  802. package/examples/participant/app.mjs +55 -0
  803. package/examples/participant/run.mjs +116 -0
  804. package/examples/scorer/README.md +29 -0
  805. package/examples/scorer/run.mjs +63 -0
  806. package/examples/scorer/scorer.mjs +20 -0
  807. package/package.json +61 -57
  808. package/skills/humanish/SKILL.md +112 -83
  809. package/skills/humanish/agents/openai.yaml +2 -2
  810. package/dist/actor-contract.d.ts +0 -288
  811. package/dist/actor-contract.js +0 -340
  812. package/dist/actor-contract.js.map +0 -1
  813. package/dist/actor-goal-source.js +0 -32
  814. package/dist/actor-goal-source.js.map +0 -1
  815. package/dist/actor-registry.d.ts +0 -77
  816. package/dist/actor-registry.js +0 -106
  817. package/dist/actor-registry.js.map +0 -1
  818. package/dist/actor-stop-cause.d.ts +0 -9
  819. package/dist/actor-stop-cause.js +0 -42
  820. package/dist/actor-stop-cause.js.map +0 -1
  821. package/dist/adapter-extension.d.ts +0 -76
  822. package/dist/adapter-extension.js +0 -273
  823. package/dist/adapter-extension.js.map +0 -1
  824. package/dist/adapter-scorer-loader.d.ts +0 -42
  825. package/dist/adapter-scorer-loader.js +0 -129
  826. package/dist/adapter-scorer-loader.js.map +0 -1
  827. package/dist/affordance.d.ts +0 -53
  828. package/dist/affordance.js +0 -145
  829. package/dist/affordance.js.map +0 -1
  830. package/dist/agent-session.js +0 -43
  831. package/dist/agent-session.js.map +0 -1
  832. package/dist/argv.d.ts +0 -1
  833. package/dist/argv.js +0 -8
  834. package/dist/argv.js.map +0 -1
  835. package/dist/artifact-reference.d.ts +0 -22
  836. package/dist/artifact-reference.js +0 -47
  837. package/dist/artifact-reference.js.map +0 -1
  838. package/dist/automatic-analysis-completion.d.ts +0 -25
  839. package/dist/automatic-analysis-completion.js +0 -56
  840. package/dist/automatic-analysis-completion.js.map +0 -1
  841. package/dist/automatic-analysis-config.d.ts +0 -38
  842. package/dist/automatic-analysis-config.js +0 -68
  843. package/dist/automatic-analysis-config.js.map +0 -1
  844. package/dist/automatic-study-analysis.d.ts +0 -17
  845. package/dist/automatic-study-analysis.js +0 -195
  846. package/dist/automatic-study-analysis.js.map +0 -1
  847. package/dist/browser-control-client.d.ts +0 -18
  848. package/dist/browser-control-client.js +0 -176
  849. package/dist/browser-control-client.js.map +0 -1
  850. package/dist/browser-control-dispatcher.d.ts +0 -19
  851. package/dist/browser-control-dispatcher.js +0 -147
  852. package/dist/browser-control-dispatcher.js.map +0 -1
  853. package/dist/browser-control-protocol.d.ts +0 -472
  854. package/dist/browser-control-protocol.js +0 -185
  855. package/dist/browser-control-protocol.js.map +0 -1
  856. package/dist/browser-control-recording-transfer.d.ts +0 -4
  857. package/dist/browser-control-recording-transfer.js +0 -42
  858. package/dist/browser-control-recording-transfer.js.map +0 -1
  859. package/dist/browser-control-transport.d.ts +0 -27
  860. package/dist/browser-control-transport.js +0 -177
  861. package/dist/browser-control-transport.js.map +0 -1
  862. package/dist/browser-evidence-hygiene.js +0 -43
  863. package/dist/browser-evidence-hygiene.js.map +0 -1
  864. package/dist/chrome-cdp-probe.d.ts +0 -97
  865. package/dist/chrome-cdp-probe.js +0 -536
  866. package/dist/chrome-cdp-probe.js.map +0 -1
  867. package/dist/claude-agent-sdk.d.ts +0 -94
  868. package/dist/claude-agent-sdk.js +0 -367
  869. package/dist/claude-agent-sdk.js.map +0 -1
  870. package/dist/cli.js.map +0 -1
  871. package/dist/codex-app-server-ui.d.ts +0 -39
  872. package/dist/codex-app-server-ui.js +0 -357
  873. package/dist/codex-app-server-ui.js.map +0 -1
  874. package/dist/codex-app-server.d.ts +0 -144
  875. package/dist/codex-app-server.js +0 -754
  876. package/dist/codex-app-server.js.map +0 -1
  877. package/dist/command-failure.d.ts +0 -43
  878. package/dist/command-failure.js +0 -73
  879. package/dist/command-failure.js.map +0 -1
  880. package/dist/comms-agentmail.d.ts +0 -25
  881. package/dist/comms-agentmail.js +0 -418
  882. package/dist/comms-agentmail.js.map +0 -1
  883. package/dist/comms-catch-host.d.ts +0 -52
  884. package/dist/comms-catch-host.js +0 -178
  885. package/dist/comms-catch-host.js.map +0 -1
  886. package/dist/comms-connections.d.ts +0 -52
  887. package/dist/comms-connections.js +0 -123
  888. package/dist/comms-connections.js.map +0 -1
  889. package/dist/comms-email-catch.d.ts +0 -54
  890. package/dist/comms-email-catch.js +0 -212
  891. package/dist/comms-email-catch.js.map +0 -1
  892. package/dist/comms-evidence.d.ts +0 -27
  893. package/dist/comms-evidence.js +0 -31
  894. package/dist/comms-evidence.js.map +0 -1
  895. package/dist/comms-fake-inbox.d.ts +0 -45
  896. package/dist/comms-fake-inbox.js +0 -184
  897. package/dist/comms-fake-inbox.js.map +0 -1
  898. package/dist/comms-images.d.ts +0 -7
  899. package/dist/comms-images.js +0 -39
  900. package/dist/comms-images.js.map +0 -1
  901. package/dist/comms-inbox.d.ts +0 -66
  902. package/dist/comms-inbox.js +0 -389
  903. package/dist/comms-inbox.js.map +0 -1
  904. package/dist/comms-lease-store.d.ts +0 -91
  905. package/dist/comms-lease-store.js +0 -495
  906. package/dist/comms-lease-store.js.map +0 -1
  907. package/dist/comms-receiving-evidence.d.ts +0 -46
  908. package/dist/comms-receiving-evidence.js +0 -35
  909. package/dist/comms-receiving-evidence.js.map +0 -1
  910. package/dist/comms-receiving-inbox.d.ts +0 -16
  911. package/dist/comms-receiving-inbox.js +0 -410
  912. package/dist/comms-receiving-inbox.js.map +0 -1
  913. package/dist/comms-receiving-runtime.d.ts +0 -25
  914. package/dist/comms-receiving-runtime.js +0 -45
  915. package/dist/comms-receiving-runtime.js.map +0 -1
  916. package/dist/comms-receiving-types.d.ts +0 -98
  917. package/dist/comms-receiving-types.js +0 -2
  918. package/dist/comms-receiving-types.js.map +0 -1
  919. package/dist/comms-receiving.d.ts +0 -58
  920. package/dist/comms-receiving.js +0 -554
  921. package/dist/comms-receiving.js.map +0 -1
  922. package/dist/comms-sandbox-catch.d.ts +0 -229
  923. package/dist/comms-sandbox-catch.js +0 -737
  924. package/dist/comms-sandbox-catch.js.map +0 -1
  925. package/dist/comms-setup.d.ts +0 -40
  926. package/dist/comms-setup.js +0 -121
  927. package/dist/comms-setup.js.map +0 -1
  928. package/dist/comms-types.d.ts +0 -72
  929. package/dist/comms-types.js +0 -10
  930. package/dist/comms-types.js.map +0 -1
  931. package/dist/computer-use-actor.d.ts +0 -76
  932. package/dist/computer-use-actor.js +0 -68
  933. package/dist/computer-use-actor.js.map +0 -1
  934. package/dist/computer-use.d.ts +0 -429
  935. package/dist/computer-use.js +0 -1749
  936. package/dist/computer-use.js.map +0 -1
  937. package/dist/concurrency.js +0 -27
  938. package/dist/concurrency.js.map +0 -1
  939. package/dist/concurrent-shared-world-lab.d.ts +0 -186
  940. package/dist/concurrent-shared-world-lab.js +0 -2179
  941. package/dist/concurrent-shared-world-lab.js.map +0 -1
  942. package/dist/core/git-state.d.ts +0 -33
  943. package/dist/core/git-state.js +0 -277
  944. package/dist/core/git-state.js.map +0 -1
  945. package/dist/core/git-workspace.d.ts +0 -31
  946. package/dist/core/git-workspace.js +0 -447
  947. package/dist/core/git-workspace.js.map +0 -1
  948. package/dist/core/index.d.ts +0 -4
  949. package/dist/core/index.js +0 -3
  950. package/dist/core/index.js.map +0 -1
  951. package/dist/core/run-primitives.d.ts +0 -66
  952. package/dist/core/run-primitives.js +0 -120
  953. package/dist/core/run-primitives.js.map +0 -1
  954. package/dist/cua-actor-lab.d.ts +0 -855
  955. package/dist/cua-actor-lab.js +0 -3545
  956. package/dist/cua-actor-lab.js.map +0 -1
  957. package/dist/cua-admission-limit.d.ts +0 -12
  958. package/dist/cua-admission-limit.js +0 -20
  959. package/dist/cua-admission-limit.js.map +0 -1
  960. package/dist/cua-desktop-lane.d.ts +0 -35
  961. package/dist/cua-desktop-lane.js +0 -13
  962. package/dist/cua-desktop-lane.js.map +0 -1
  963. package/dist/cua-diagnostics.d.ts +0 -38
  964. package/dist/cua-diagnostics.js +0 -68
  965. package/dist/cua-diagnostics.js.map +0 -1
  966. package/dist/cua-executor-error.js +0 -48
  967. package/dist/cua-executor-error.js.map +0 -1
  968. package/dist/cua-provider-error.d.ts +0 -16
  969. package/dist/cua-provider-error.js +0 -35
  970. package/dist/cua-provider-error.js.map +0 -1
  971. package/dist/cua-speech.js +0 -2
  972. package/dist/cua-speech.js.map +0 -1
  973. package/dist/desktop-recorder.d.ts +0 -39
  974. package/dist/desktop-recorder.js +0 -226
  975. package/dist/desktop-recorder.js.map +0 -1
  976. package/dist/desktop-recording-artifact.d.ts +0 -5
  977. package/dist/desktop-recording-artifact.js +0 -54
  978. package/dist/desktop-recording-artifact.js.map +0 -1
  979. package/dist/desktop-recording-types.d.ts +0 -24
  980. package/dist/desktop-recording-types.js +0 -14
  981. package/dist/desktop-recording-types.js.map +0 -1
  982. package/dist/desktop-session.d.ts +0 -41
  983. package/dist/desktop-session.js +0 -47
  984. package/dist/desktop-session.js.map +0 -1
  985. package/dist/device-presets.d.ts +0 -67
  986. package/dist/device-presets.js +0 -55
  987. package/dist/device-presets.js.map +0 -1
  988. package/dist/doctor-lab.d.ts +0 -38
  989. package/dist/doctor-lab.js +0 -126
  990. package/dist/doctor-lab.js.map +0 -1
  991. package/dist/e2b-cua-desktop.d.ts +0 -3
  992. package/dist/e2b-cua-desktop.js +0 -708
  993. package/dist/e2b-cua-desktop.js.map +0 -1
  994. package/dist/e2b-cua-provisioning.d.ts +0 -314
  995. package/dist/e2b-cua-provisioning.js +0 -1219
  996. package/dist/e2b-cua-provisioning.js.map +0 -1
  997. package/dist/e2b-desktop-executor.d.ts +0 -101
  998. package/dist/e2b-desktop-executor.js +0 -297
  999. package/dist/e2b-desktop-executor.js.map +0 -1
  1000. package/dist/e2b-desktop-launch.d.ts +0 -243
  1001. package/dist/e2b-desktop-launch.js +0 -234
  1002. package/dist/e2b-desktop-launch.js.map +0 -1
  1003. package/dist/e2b-desktop-media.d.ts +0 -14
  1004. package/dist/e2b-desktop-media.js +0 -58
  1005. package/dist/e2b-desktop-media.js.map +0 -1
  1006. package/dist/e2b-desktop-recording.d.ts +0 -16
  1007. package/dist/e2b-desktop-recording.js +0 -162
  1008. package/dist/e2b-desktop-recording.js.map +0 -1
  1009. package/dist/e2b-desktop-resources.d.ts +0 -11
  1010. package/dist/e2b-desktop-resources.js +0 -33
  1011. package/dist/e2b-desktop-resources.js.map +0 -1
  1012. package/dist/e2b-desktop-screenshot-cleanup.d.ts +0 -15
  1013. package/dist/e2b-desktop-screenshot-cleanup.js +0 -67
  1014. package/dist/e2b-desktop-screenshot-cleanup.js.map +0 -1
  1015. package/dist/e2b-desktop-session.d.ts +0 -7
  1016. package/dist/e2b-desktop-session.js +0 -29
  1017. package/dist/e2b-desktop-session.js.map +0 -1
  1018. package/dist/e2b-detached.d.ts +0 -53
  1019. package/dist/e2b-detached.js +0 -130
  1020. package/dist/e2b-detached.js.map +0 -1
  1021. package/dist/e2b-terminal-lab.d.ts +0 -395
  1022. package/dist/e2b-terminal-lab.js +0 -2041
  1023. package/dist/e2b-terminal-lab.js.map +0 -1
  1024. package/dist/env-file.d.ts +0 -14
  1025. package/dist/env-file.js +0 -108
  1026. package/dist/env-file.js.map +0 -1
  1027. package/dist/export-bundle.d.ts +0 -7
  1028. package/dist/export-bundle.js +0 -441
  1029. package/dist/export-bundle.js.map +0 -1
  1030. package/dist/export.d.ts +0 -49
  1031. package/dist/export.js +0 -308
  1032. package/dist/export.js.map +0 -1
  1033. package/dist/feedback-proof.d.ts +0 -8
  1034. package/dist/feedback-proof.js +0 -44
  1035. package/dist/feedback-proof.js.map +0 -1
  1036. package/dist/feedback.d.ts +0 -76
  1037. package/dist/feedback.js +0 -496
  1038. package/dist/feedback.js.map +0 -1
  1039. package/dist/first-run-path.d.ts +0 -55
  1040. package/dist/first-run-path.js +0 -136
  1041. package/dist/first-run-path.js.map +0 -1
  1042. package/dist/frame-signature.d.ts +0 -24
  1043. package/dist/frame-signature.js +0 -128
  1044. package/dist/frame-signature.js.map +0 -1
  1045. package/dist/guest-bootstrap.d.ts +0 -55
  1046. package/dist/guest-bootstrap.js +0 -285
  1047. package/dist/guest-bootstrap.js.map +0 -1
  1048. package/dist/guest-browser-tools.d.ts +0 -8
  1049. package/dist/guest-browser-tools.js +0 -66
  1050. package/dist/guest-browser-tools.js.map +0 -1
  1051. package/dist/guest-chromium-text.d.ts +0 -27
  1052. package/dist/guest-chromium-text.js +0 -281
  1053. package/dist/guest-chromium-text.js.map +0 -1
  1054. package/dist/guest-desktop-executor.d.ts +0 -22
  1055. package/dist/guest-desktop-executor.js +0 -178
  1056. package/dist/guest-desktop-executor.js.map +0 -1
  1057. package/dist/guest-desktop-media.d.ts +0 -33
  1058. package/dist/guest-desktop-media.js +0 -281
  1059. package/dist/guest-desktop-media.js.map +0 -1
  1060. package/dist/guest-desktop-native.d.ts +0 -14
  1061. package/dist/guest-desktop-native.js +0 -131
  1062. package/dist/guest-desktop-native.js.map +0 -1
  1063. package/dist/guest-media-config.d.ts +0 -15
  1064. package/dist/guest-media-config.js +0 -8
  1065. package/dist/guest-media-config.js.map +0 -1
  1066. package/dist/guest-media-worker.js.map +0 -1
  1067. package/dist/guest-runtime-desktop.d.ts +0 -42
  1068. package/dist/guest-runtime-desktop.js +0 -314
  1069. package/dist/guest-runtime-desktop.js.map +0 -1
  1070. package/dist/guest-runtime-main.js.map +0 -1
  1071. package/dist/guest-runtime-revision.js.map +0 -1
  1072. package/dist/guest-runtime.d.ts +0 -31
  1073. package/dist/guest-runtime.js +0 -99
  1074. package/dist/guest-runtime.js.map +0 -1
  1075. package/dist/image-evidence.d.ts +0 -2
  1076. package/dist/image-evidence.js +0 -47
  1077. package/dist/image-evidence.js.map +0 -1
  1078. package/dist/index.js.map +0 -1
  1079. package/dist/init-templates.d.ts +0 -25
  1080. package/dist/init-templates.js +0 -542
  1081. package/dist/init-templates.js.map +0 -1
  1082. package/dist/init.d.ts +0 -38
  1083. package/dist/init.js +0 -532
  1084. package/dist/init.js.map +0 -1
  1085. package/dist/key-resolution.d.ts +0 -67
  1086. package/dist/key-resolution.js +0 -375
  1087. package/dist/key-resolution.js.map +0 -1
  1088. package/dist/lab-app-runner.d.ts +0 -78
  1089. package/dist/lab-app-runner.js +0 -403
  1090. package/dist/lab-app-runner.js.map +0 -1
  1091. package/dist/lab-config.d.ts +0 -968
  1092. package/dist/lab-config.js +0 -2714
  1093. package/dist/lab-config.js.map +0 -1
  1094. package/dist/lab-engine.d.ts +0 -97
  1095. package/dist/lab-engine.js +0 -285
  1096. package/dist/lab-engine.js.map +0 -1
  1097. package/dist/lab-preflight.d.ts +0 -70
  1098. package/dist/lab-preflight.js +0 -388
  1099. package/dist/lab-preflight.js.map +0 -1
  1100. package/dist/lab-summary.d.ts +0 -57
  1101. package/dist/lab-summary.js +0 -126
  1102. package/dist/lab-summary.js.map +0 -1
  1103. package/dist/labs.d.ts +0 -59
  1104. package/dist/labs.js +0 -385
  1105. package/dist/labs.js.map +0 -1
  1106. package/dist/listen.js +0 -84
  1107. package/dist/listen.js.map +0 -1
  1108. package/dist/local-agent-claude-session.d.ts +0 -45
  1109. package/dist/local-agent-claude-session.js +0 -203
  1110. package/dist/local-agent-claude-session.js.map +0 -1
  1111. package/dist/local-agent-cli.d.ts +0 -121
  1112. package/dist/local-agent-cli.js +0 -427
  1113. package/dist/local-agent-cli.js.map +0 -1
  1114. package/dist/local-captured-inbox.d.ts +0 -6
  1115. package/dist/local-captured-inbox.js +0 -65
  1116. package/dist/local-captured-inbox.js.map +0 -1
  1117. package/dist/local-firecracker-desktop.d.ts +0 -23
  1118. package/dist/local-firecracker-desktop.js +0 -191
  1119. package/dist/local-firecracker-desktop.js.map +0 -1
  1120. package/dist/local-firecracker-study.d.ts +0 -9
  1121. package/dist/local-firecracker-study.js +0 -135
  1122. package/dist/local-firecracker-study.js.map +0 -1
  1123. package/dist/local-runtime-config.d.ts +0 -6
  1124. package/dist/local-runtime-config.js +0 -60
  1125. package/dist/local-runtime-config.js.map +0 -1
  1126. package/dist/local-runtime-host.d.ts +0 -31
  1127. package/dist/local-runtime-host.js +0 -128
  1128. package/dist/local-runtime-host.js.map +0 -1
  1129. package/dist/local-runtime-release.d.ts +0 -7
  1130. package/dist/local-runtime-release.js +0 -33
  1131. package/dist/local-runtime-release.js.map +0 -1
  1132. package/dist/local-runtime-ssh.d.ts +0 -27
  1133. package/dist/local-runtime-ssh.js +0 -91
  1134. package/dist/local-runtime-ssh.js.map +0 -1
  1135. package/dist/local-runtime.d.ts +0 -25
  1136. package/dist/local-runtime.js +0 -133
  1137. package/dist/local-runtime.js.map +0 -1
  1138. package/dist/observer-data.d.ts +0 -114
  1139. package/dist/observer-data.js +0 -224
  1140. package/dist/observer-data.js.map +0 -1
  1141. package/dist/observer-library.js +0 -191
  1142. package/dist/observer-library.js.map +0 -1
  1143. package/dist/observer-serve.d.ts +0 -99
  1144. package/dist/observer-serve.js +0 -284
  1145. package/dist/observer-serve.js.map +0 -1
  1146. package/dist/observer-static.js +0 -357
  1147. package/dist/observer-static.js.map +0 -1
  1148. package/dist/observer.d.ts +0 -118
  1149. package/dist/observer.js +0 -947
  1150. package/dist/observer.js.map +0 -1
  1151. package/dist/openai-responses-cu.d.ts +0 -158
  1152. package/dist/openai-responses-cu.js +0 -714
  1153. package/dist/openai-responses-cu.js.map +0 -1
  1154. package/dist/orientation.d.ts +0 -29
  1155. package/dist/orientation.js +0 -95
  1156. package/dist/orientation.js.map +0 -1
  1157. package/dist/oss-lab.d.ts +0 -55
  1158. package/dist/oss-lab.js +0 -344
  1159. package/dist/oss-lab.js.map +0 -1
  1160. package/dist/oss-meta-lab-scoring.d.ts +0 -15
  1161. package/dist/oss-meta-lab-scoring.js +0 -145
  1162. package/dist/oss-meta-lab-scoring.js.map +0 -1
  1163. package/dist/oss-meta-lab.d.ts +0 -287
  1164. package/dist/oss-meta-lab.js +0 -4551
  1165. package/dist/oss-meta-lab.js.map +0 -1
  1166. package/dist/oss-remote-telemetry.d.ts +0 -77
  1167. package/dist/oss-remote-telemetry.js +0 -403
  1168. package/dist/oss-remote-telemetry.js.map +0 -1
  1169. package/dist/output-token-limit.js +0 -5
  1170. package/dist/output-token-limit.js.map +0 -1
  1171. package/dist/participant-assignment.d.ts +0 -12
  1172. package/dist/participant-assignment.js +0 -15
  1173. package/dist/participant-assignment.js.map +0 -1
  1174. package/dist/persona-resolve.d.ts +0 -44
  1175. package/dist/persona-resolve.js +0 -109
  1176. package/dist/persona-resolve.js.map +0 -1
  1177. package/dist/persona.d.ts +0 -35
  1178. package/dist/persona.js +0 -141
  1179. package/dist/persona.js.map +0 -1
  1180. package/dist/pi-agent-core.d.ts +0 -77
  1181. package/dist/pi-agent-core.js +0 -207
  1182. package/dist/pi-agent-core.js.map +0 -1
  1183. package/dist/pricing.d.ts +0 -145
  1184. package/dist/pricing.js +0 -277
  1185. package/dist/pricing.js.map +0 -1
  1186. package/dist/program.d.ts +0 -96
  1187. package/dist/program.js +0 -4029
  1188. package/dist/program.js.map +0 -1
  1189. package/dist/reasoning-effort.js +0 -26
  1190. package/dist/reasoning-effort.js.map +0 -1
  1191. package/dist/reclaim.d.ts +0 -31
  1192. package/dist/reclaim.js +0 -90
  1193. package/dist/reclaim.js.map +0 -1
  1194. package/dist/redaction.d.ts +0 -90
  1195. package/dist/redaction.js +0 -294
  1196. package/dist/redaction.js.map +0 -1
  1197. package/dist/restricted-codex-analysis.d.ts +0 -15
  1198. package/dist/restricted-codex-analysis.js +0 -13
  1199. package/dist/restricted-codex-analysis.js.map +0 -1
  1200. package/dist/restricted-codex-participant-policy.d.ts +0 -44
  1201. package/dist/restricted-codex-participant-policy.js +0 -43
  1202. package/dist/restricted-codex-participant-policy.js.map +0 -1
  1203. package/dist/restricted-codex-participant-run.d.ts +0 -20
  1204. package/dist/restricted-codex-participant-run.js +0 -79
  1205. package/dist/restricted-codex-participant-run.js.map +0 -1
  1206. package/dist/restricted-codex-participant.d.ts +0 -20
  1207. package/dist/restricted-codex-participant.js +0 -250
  1208. package/dist/restricted-codex-participant.js.map +0 -1
  1209. package/dist/restricted-codex-policy.d.ts +0 -64
  1210. package/dist/restricted-codex-policy.js +0 -176
  1211. package/dist/restricted-codex-policy.js.map +0 -1
  1212. package/dist/restricted-codex-session.d.ts +0 -44
  1213. package/dist/restricted-codex-session.js +0 -657
  1214. package/dist/restricted-codex-session.js.map +0 -1
  1215. package/dist/restricted-codex-transport.d.ts +0 -69
  1216. package/dist/restricted-codex-transport.js +0 -296
  1217. package/dist/restricted-codex-transport.js.map +0 -1
  1218. package/dist/run-detail.d.ts +0 -61
  1219. package/dist/run-detail.js +0 -137
  1220. package/dist/run-detail.js.map +0 -1
  1221. package/dist/run-index.d.ts +0 -71
  1222. package/dist/run-index.js +0 -206
  1223. package/dist/run-index.js.map +0 -1
  1224. package/dist/run-narration-secrets.js +0 -68
  1225. package/dist/run-narration-secrets.js.map +0 -1
  1226. package/dist/run-paths.d.ts +0 -56
  1227. package/dist/run-paths.js +0 -355
  1228. package/dist/run-paths.js.map +0 -1
  1229. package/dist/run-projection.d.ts +0 -186
  1230. package/dist/run-projection.js +0 -350
  1231. package/dist/run-projection.js.map +0 -1
  1232. package/dist/run-status.d.ts +0 -139
  1233. package/dist/run-status.js +0 -218
  1234. package/dist/run-status.js.map +0 -1
  1235. package/dist/run.d.ts +0 -1255
  1236. package/dist/run.js +0 -5947
  1237. package/dist/run.js.map +0 -1
  1238. package/dist/sandbox-receipts.d.ts +0 -19
  1239. package/dist/sandbox-receipts.js +0 -51
  1240. package/dist/sandbox-receipts.js.map +0 -1
  1241. package/dist/screenshot-image.d.ts +0 -11
  1242. package/dist/screenshot-image.js +0 -26
  1243. package/dist/screenshot-image.js.map +0 -1
  1244. package/dist/scripted-browser-actor.d.ts +0 -297
  1245. package/dist/scripted-browser-actor.js +0 -1399
  1246. package/dist/scripted-browser-actor.js.map +0 -1
  1247. package/dist/scripted-browser-lab.d.ts +0 -121
  1248. package/dist/scripted-browser-lab.js +0 -852
  1249. package/dist/scripted-browser-lab.js.map +0 -1
  1250. package/dist/secret-prompt.js +0 -36
  1251. package/dist/secret-prompt.js.map +0 -1
  1252. package/dist/selected-output-paths.d.ts +0 -52
  1253. package/dist/selected-output-paths.js +0 -366
  1254. package/dist/selected-output-paths.js.map +0 -1
  1255. package/dist/serve-exposure.d.ts +0 -62
  1256. package/dist/serve-exposure.js +0 -129
  1257. package/dist/serve-exposure.js.map +0 -1
  1258. package/dist/serve-http.js +0 -45
  1259. package/dist/serve-http.js.map +0 -1
  1260. package/dist/serve-tunnel.js +0 -113
  1261. package/dist/serve-tunnel.js.map +0 -1
  1262. package/dist/shared-world-lab.d.ts +0 -269
  1263. package/dist/shared-world-lab.js +0 -1422
  1264. package/dist/shared-world-lab.js.map +0 -1
  1265. package/dist/source-archive.d.ts +0 -82
  1266. package/dist/source-archive.js +0 -408
  1267. package/dist/source-archive.js.map +0 -1
  1268. package/dist/stats.d.ts +0 -82
  1269. package/dist/stats.js +0 -219
  1270. package/dist/stats.js.map +0 -1
  1271. package/dist/stop-conditions.d.ts +0 -39
  1272. package/dist/stop-conditions.js +0 -66
  1273. package/dist/stop-conditions.js.map +0 -1
  1274. package/dist/study-analysis-codex-config.d.ts +0 -11
  1275. package/dist/study-analysis-codex-config.js +0 -34
  1276. package/dist/study-analysis-codex-config.js.map +0 -1
  1277. package/dist/study-analysis-engine.d.ts +0 -47
  1278. package/dist/study-analysis-engine.js +0 -327
  1279. package/dist/study-analysis-engine.js.map +0 -1
  1280. package/dist/study-analysis-evidence.d.ts +0 -27
  1281. package/dist/study-analysis-evidence.js +0 -660
  1282. package/dist/study-analysis-evidence.js.map +0 -1
  1283. package/dist/study-analysis-job.d.ts +0 -97
  1284. package/dist/study-analysis-job.js +0 -214
  1285. package/dist/study-analysis-job.js.map +0 -1
  1286. package/dist/study-analysis-provider.d.ts +0 -40
  1287. package/dist/study-analysis-provider.js +0 -170
  1288. package/dist/study-analysis-provider.js.map +0 -1
  1289. package/dist/study-analysis-service.d.ts +0 -59
  1290. package/dist/study-analysis-service.js +0 -257
  1291. package/dist/study-analysis-service.js.map +0 -1
  1292. package/dist/study-analysis-sharing.d.ts +0 -11
  1293. package/dist/study-analysis-sharing.js +0 -35
  1294. package/dist/study-analysis-sharing.js.map +0 -1
  1295. package/dist/study-analysis-store.d.ts +0 -47
  1296. package/dist/study-analysis-store.js +0 -493
  1297. package/dist/study-analysis-store.js.map +0 -1
  1298. package/dist/study-analysis-validation.d.ts +0 -618
  1299. package/dist/study-analysis-validation.js +0 -384
  1300. package/dist/study-analysis-validation.js.map +0 -1
  1301. package/dist/study-analysis.d.ts +0 -206
  1302. package/dist/study-analysis.js +0 -4
  1303. package/dist/study-analysis.js.map +0 -1
  1304. package/dist/study-costs.js +0 -114
  1305. package/dist/study-costs.js.map +0 -1
  1306. package/dist/subject-runtime.d.ts +0 -23
  1307. package/dist/subject-runtime.js +0 -70
  1308. package/dist/subject-runtime.js.map +0 -1
  1309. package/dist/tasks.d.ts +0 -90
  1310. package/dist/tasks.js +0 -144
  1311. package/dist/tasks.js.map +0 -1
  1312. package/dist/telemetry.js +0 -324
  1313. package/dist/telemetry.js.map +0 -1
  1314. package/dist/terminal-agent-actor.d.ts +0 -41
  1315. package/dist/terminal-agent-actor.js +0 -25
  1316. package/dist/terminal-agent-actor.js.map +0 -1
  1317. package/dist/terminal-encoding.js +0 -80
  1318. package/dist/terminal-encoding.js.map +0 -1
  1319. package/dist/terminal-node-bootstrap.d.ts +0 -4
  1320. package/dist/terminal-node-bootstrap.js +0 -58
  1321. package/dist/terminal-node-bootstrap.js.map +0 -1
  1322. package/dist/terminal-participant-activity.d.ts +0 -6
  1323. package/dist/terminal-participant-activity.js +0 -34
  1324. package/dist/terminal-participant-activity.js.map +0 -1
  1325. package/dist/terminal-runtime-auth.d.ts +0 -13
  1326. package/dist/terminal-runtime-auth.js +0 -24
  1327. package/dist/terminal-runtime-auth.js.map +0 -1
  1328. package/dist/terminal-runtime.d.ts +0 -16
  1329. package/dist/terminal-runtime.js +0 -42
  1330. package/dist/terminal-runtime.js.map +0 -1
  1331. package/dist/terminal-token-usage.d.ts +0 -15
  1332. package/dist/terminal-token-usage.js +0 -94
  1333. package/dist/terminal-token-usage.js.map +0 -1
  1334. package/dist/tui-actions.d.ts +0 -39
  1335. package/dist/tui-actions.js +0 -178
  1336. package/dist/tui-actions.js.map +0 -1
  1337. package/dist/tui-contract.d.ts +0 -141
  1338. package/dist/tui-contract.js +0 -54
  1339. package/dist/tui-contract.js.map +0 -1
  1340. package/dist/tui-launch.js +0 -167
  1341. package/dist/tui-launch.js.map +0 -1
  1342. package/dist/tui-project.d.ts +0 -9
  1343. package/dist/tui-project.js +0 -18
  1344. package/dist/tui-project.js.map +0 -1
  1345. package/docs/architecture/examples/state-driven-local-app/README.md +0 -80
  1346. package/docs/architecture/examples/state-driven-local-app/app.mjs +0 -48
  1347. package/docs/architecture/examples/state-driven-local-app/runner.mjs +0 -105
  1348. package/docs/architecture/local-codex-tui-actor.md +0 -213
  1349. package/docs/architecture/oss-lab-poc.md +0 -250
  1350. package/docs/architecture/runtime-broker-core.md +0 -30
  1351. package/docs/release/0.100.0-local-setup.md +0 -31
  1352. package/docs/release/0.100.1-participant-continuity.md +0 -20
  1353. package/docs/release/0.101.0-codex-ui-tools.md +0 -28
  1354. package/docs/release/0.102.0-participant-media.md +0 -43
  1355. package/docs/release/0.103.0-desktop-recording.md +0 -29
  1356. package/docs/release/0.103.1-analysis-capture-allocation.md +0 -18
  1357. package/docs/release/0.103.2-analysis-ending-context.md +0 -21
  1358. package/docs/release/0.104.0-local-captured-inboxes.md +0 -29
  1359. package/docs/release/0.104.1-recording-startup.md +0 -24
  1360. package/docs/release/0.104.2-recording-timestamps.md +0 -32
  1361. package/docs/release/0.104.3-local-smtp-catch.md +0 -15
  1362. package/docs/release/0.20.0-external-public-shared-world.md +0 -43
  1363. package/docs/release/0.84.0-redacted-evidence.md +0 -42
  1364. package/docs/release/0.84.1-portable-feedback.md +0 -20
  1365. package/docs/release/0.85.0-observer-review.md +0 -56
  1366. package/docs/release/0.85.1-observer-continuity.md +0 -20
  1367. package/docs/release/0.86.0-participant-evidence.md +0 -50
  1368. package/docs/release/0.86.1-task-preflight-saved-recordings.md +0 -40
  1369. package/docs/release/0.87.0-participant-endings-and-phone-review.md +0 -64
  1370. package/docs/release/0.88.0-study-diagnostics.md +0 -43
  1371. package/docs/release/0.88.1-completion-evidence-and-local-app.md +0 -79
  1372. package/docs/release/0.88.2-sequential-study-budgets.md +0 -57
  1373. package/docs/release/0.89.0-study-findings.md +0 -79
  1374. package/docs/release/0.89.1-analysis-finished-notice.md +0 -24
  1375. package/docs/release/0.90.0-automatic-analysis.md +0 -21
  1376. package/docs/release/0.91.0-analysis-quality-and-defaults.md +0 -33
  1377. package/docs/release/0.91.1-study-review-polish.md +0 -28
  1378. package/docs/release/0.92.0-grid-playback.md +0 -22
  1379. package/docs/release/0.93.0-global-playback.md +0 -26
  1380. package/docs/release/0.93.1-observer-review-controls.md +0 -24
  1381. package/docs/release/0.94.0-reliability.md +0 -48
  1382. package/docs/release/0.95.0-connections-setup.md +0 -38
  1383. package/docs/release/0.96.0-real-email-receiving.md +0 -47
  1384. package/docs/release/0.96.1-browser-navigation.md +0 -22
  1385. package/docs/release/0.97.0-codex-account-analysis.md +0 -45
  1386. package/docs/release/0.98.0-local-browser-studies.md +0 -31
  1387. package/docs/release/0.99.0-local-browser-mac.md +0 -34
  1388. package/docs/release/0.99.1-action-recovery.md +0 -19
  1389. /package/dist/{agent-session.d.ts → actors/agent-session.d.ts} +0 -0
  1390. /package/dist/{cua-executor-error.d.ts → actors/computer-use/executor-error.d.ts} +0 -0
  1391. /package/dist/{cua-speech.d.ts → actors/computer-use/speech.d.ts} +0 -0
  1392. /package/dist/{actor-goal-source.d.ts → actors/goal-source.d.ts} +0 -0
  1393. /package/dist/{output-token-limit.d.ts → actors/output-token-limit.d.ts} +0 -0
  1394. /package/dist/{reasoning-effort.d.ts → actors/reasoning-effort.d.ts} +0 -0
  1395. /package/dist/{secret-prompt.d.ts → cli/secret-prompt.d.ts} +0 -0
  1396. /package/dist/{telemetry.d.ts → cli/telemetry.d.ts} +0 -0
  1397. /package/dist/{browser-evidence-hygiene.d.ts → evidence/browser-hygiene.d.ts} +0 -0
  1398. /package/dist/{serve-http.d.ts → observer/http.d.ts} +0 -0
  1399. /package/dist/{observer-library.d.ts → observer/library.d.ts} +0 -0
  1400. /package/dist/{listen.d.ts → observer/listen.d.ts} +0 -0
  1401. /package/dist/{observer-static.d.ts → observer/static.d.ts} +0 -0
  1402. /package/dist/{serve-tunnel.d.ts → observer/tunnel.d.ts} +0 -0
  1403. /package/dist/{terminal-encoding.d.ts → routes/terminal/encoding.d.ts} +0 -0
  1404. /package/dist/{concurrency.d.ts → run/concurrency.d.ts} +0 -0
  1405. /package/dist/{study-costs.d.ts → run/costs.d.ts} +0 -0
  1406. /package/dist/{run-narration-secrets.d.ts → run/transient-comms-secrets.d.ts} +0 -0
  1407. /package/dist/{tui-launch.d.ts → tui/launch.d.ts} +0 -0
package/dist/run.d.ts DELETED
@@ -1,1255 +0,0 @@
1
- import type { CommsReceivingEvidence } from "./comms-receiving-types.js";
2
- import { type RunDesktopRecording } from "./desktop-recording-types.js";
3
- import { type CodexAppServerTrace } from "./codex-app-server.js";
4
- import { type ActorStatus, type ActorTrace, type ActorTraceItem } from "./actor-contract.js";
5
- import { type CuaGoalSource } from "./actor-goal-source.js";
6
- import type { TaskFunnel } from "./tasks.js";
7
- import { type CapturedGitState } from "./core/git-state.js";
8
- import type { E2BDesktopModule } from "./e2b-desktop-launch.js";
9
- import { type PreparedRunArtifactPaths } from "./run-paths.js";
10
- import { type RunLabProvenance } from "./run-status.js";
11
- import { type DetectLocalAgentsOptions } from "./local-agent-cli.js";
12
- export declare const RUN_BUNDLE_SCHEMA = "humanish.run-bundle.v1";
13
- export declare const SHARED_WORLD_SCHEMA = "humanish.shared-world.v1";
14
- export declare const REVIEW_SCHEMA = "humanish.review.v1";
15
- export declare const VERIFY_SCHEMA = "humanish.verify-result.v1";
16
- export declare const RUNS_SCHEMA = "humanish.runs-result.v1";
17
- export declare const DOCTOR_SCHEMA = "humanish.doctor-result.v1";
18
- export declare const CLEANUP_SCHEMA = "humanish.cleanup-result.v1";
19
- export declare const PUBLIC_TARGET_CWD = "[target-cwd]";
20
- export interface RunOptions {
21
- /** Which manifest produced this run (#455). */
22
- lab?: RunLabProvenance;
23
- cwd: string;
24
- actor?: string;
25
- actorCommand?: string[];
26
- appUrl?: string;
27
- dryRun?: boolean;
28
- runId?: string;
29
- simCount?: number;
30
- timeoutMs?: number;
31
- }
32
- export type RunStreamKind = "ui" | "browser" | "terminal" | "tui" | "codex-ui" | "artifact" | "summary";
33
- export type RunSimulationStatus = "queued" | "preparing" | "running" | "passed" | "abandoned" | "incomplete" | "complete" | "blocked" | "timed_out" | "failed" | "contract_proof_only";
34
- export interface RunStreamCompletion {
35
- actorLogPath?: string;
36
- actorLogTail?: string;
37
- actorLastMessageTail?: string;
38
- actorPid?: number;
39
- actorStatus?: "not_started" | "running" | "passed" | "failed" | "blocked" | "timed_out" | "suspended" | "unknown";
40
- appLogPath?: string;
41
- appPid?: number;
42
- appReason?: string;
43
- appStatus?: "not_started" | "running" | "blocked" | "failed" | "missing" | "unknown";
44
- appUrl?: string;
45
- checkedAt: string;
46
- exitCode?: number;
47
- logTail?: string;
48
- nestedObserverPresent?: boolean;
49
- nestedVerifyPassed?: boolean;
50
- reason: string;
51
- status: "running" | "passed" | "failed" | "blocked" | "timed_out";
52
- visualReason?: string;
53
- visualStatus?: "not_started" | "visible" | "blocked" | "unknown";
54
- visualWindowCount?: number;
55
- meaningfulUse?: RunMeaningfulUseScore;
56
- }
57
- export interface RunSetupQualitySnapshot {
58
- schema: "humanish.setup-quality.v1";
59
- generatedAt: string;
60
- redaction: {
61
- status: "passed";
62
- rawPreviews: "included" | "suppressed";
63
- notes: string;
64
- };
65
- summary: string;
66
- status: "passed" | "needs_review" | "blocked";
67
- checks: Array<{
68
- id: string;
69
- label: string;
70
- ok: boolean;
71
- detail: string;
72
- }>;
73
- tree: Array<{
74
- path: string;
75
- type: "file" | "directory";
76
- sizeBytes?: number;
77
- }>;
78
- previews: Array<{
79
- path: string;
80
- language: "json" | "yaml" | "typescript" | "markdown" | "text";
81
- truncated: boolean;
82
- text: string;
83
- }>;
84
- studyQuality?: {
85
- schema: "humanish.study-quality.v1";
86
- rating: "none" | "ceremonial" | "useful" | "high_leverage";
87
- summary: string;
88
- checks: Array<{
89
- id: string;
90
- label: string;
91
- ok: boolean;
92
- detail: string;
93
- }>;
94
- signals: {
95
- appUrlProofBlocked: boolean;
96
- appUrlProofMentioned: boolean;
97
- actorInsightCaptured: boolean;
98
- coverageCustomized: boolean;
99
- personaCustomized: boolean;
100
- scenarioCustomized: boolean;
101
- };
102
- };
103
- packageScripts: Record<string, string>;
104
- humanish: {
105
- configPresent: boolean;
106
- personaCount: number;
107
- scenarioCount: number;
108
- packageScriptPresent: boolean;
109
- gitignoreContainsRuntimeIgnore: boolean;
110
- };
111
- }
112
- /**
113
- * The CLOSED set of core meaningful-use scoring components. Closed by design: these are the generic
114
- * dimensions core itself meters (setup/filesystem/nested/actor/product/feedback). A product-specific
115
- * scorecard does NOT extend this enum (that would be closed-taxonomy rot — every adopter's nouns
116
- * leaking into core); it ships as a thin in-repo extension that emits a namespaced `RunAdapterScore`
117
- * via the lane's `score` hook, leaving its own component breakdown in that score's `data`. Exported
118
- * so a thin adapter can type against core's score shape without forking.
119
- */
120
- export type RunMeaningfulUseComponentId = "setup-correctness" | "filesystem-evidence" | "nested-humanish-evidence" | "actor-activity" | "product-surface" | "feedback-quality";
121
- export interface RunMeaningfulUseScore {
122
- schema: "humanish.meaningful-use-score.v1";
123
- status: "pass" | "partial" | "fail";
124
- score: number;
125
- summary: string;
126
- hardFailures: string[];
127
- components: Array<{
128
- id: RunMeaningfulUseComponentId;
129
- label: string;
130
- status: "pass" | "partial" | "fail";
131
- score: number;
132
- detail: string;
133
- }>;
134
- }
135
- /**
136
- * A namespaced, product-agnostic score a thin adapter attaches to the bundle via the terminal-product
137
- * lane's `score` hook (the layer-6 extension seam, issue #154 acceptance #8). Core never reads its
138
- * `data` and knows none of the adopter's nouns — the `namespace` (e.g. `"acme-pixelforge"`) scopes
139
- * the whole record so core schemas stay product-agnostic and a future inert-field audit does not
140
- * misfire on a noun core never owned. The adopter's real scorecard (component weights, product
141
- * rubric) lives in ITS repo and is summarized into the generic status/score/summary; everything
142
- * product-specific rides under `data`. This is NOT a built-in product scorer — it is the SEAM the
143
- * adopter's scorer plugs into without forking core.
144
- */
145
- export interface RunAdapterScore {
146
- schema: "humanish.adapter-score.v1";
147
- /** The adapter's namespace — non-core, product-scoped (e.g. an adopter slug). Required + non-empty. */
148
- namespace: string;
149
- status: "pass" | "partial" | "fail";
150
- /** A 0-100 summary the adapter derived from its own (off-core) rubric. */
151
- score: number;
152
- summary: string;
153
- /** Arbitrary product-specific payload (the adopter's component breakdown / nouns). Core never reads it. */
154
- data?: Record<string, unknown>;
155
- }
156
- export interface RunFeedbackCandidate {
157
- schema: "humanish.feedback-candidate.v1";
158
- id: string;
159
- run_id: string;
160
- stream_id?: string;
161
- adapter_id: string;
162
- scenario_id: string;
163
- persona_id: string;
164
- actor: "codex-tui" | "codex-exec" | "codex-app-server" | "computer-use" | "synthetic-dry-run" | "unknown";
165
- substrate: "e2b-desktop" | "local-desktop" | "e2b-terminal" | "local-filesystem" | "codex-app-server" | "unknown";
166
- failure_owner: "harness" | "target-app" | "actor" | "environment" | "unknown";
167
- summary: string;
168
- expected: string;
169
- actual: string;
170
- evidence: Array<{
171
- path: string;
172
- kind: "review" | "state" | "log" | "trace" | "screenshot" | "filesystem";
173
- note: string;
174
- }>;
175
- redaction: {
176
- status: "passed";
177
- notes: string;
178
- };
179
- idempotency_key: string;
180
- proposed_next_state: "watch" | "adapter-hardening" | "target-app-setup" | "actor-auth" | "setup-quality-review" | "study-quality-review";
181
- acceptance_proof: string[];
182
- /**
183
- * OPTIONAL, ADAPTER-NAMESPACED product-noun block (the layer-6 extension seam, issue #154
184
- * acceptance #8 + the "record product-specific concepts as NON-core nouns" list). A thin adapter
185
- * records product-specific concepts — public CLI/product command observed, hosted product
186
- * success-or-blocker, feedback id/draft observed, media/job/asset ids, explicit
187
- * no-media/no-provider-spend proof, defection/friction risk — WITHOUT making any of them core
188
- * primitives. They ride under a single namespaced field so core's feedback enums
189
- * (`evidence.kind`, `proposed_next_state`) stay product-agnostic and a future inert-field audit
190
- * never misfires on a noun core never owned. Core validates only the SHAPE (a non-empty
191
- * `namespace` + a `data` record); the keys inside `data` are the adapter's, never core's.
192
- */
193
- adapter?: {
194
- /** Non-core, product-scoped namespace (e.g. an adopter slug). Required + non-empty. */
195
- namespace: string;
196
- /** The adapter's product nouns. Core never reads these keys — it stays product-agnostic. */
197
- data: Record<string, unknown>;
198
- };
199
- }
200
- /**
201
- * Optional, adapter-namespaced artifact references. These let a thin in-repo
202
- * adapter attach product/state proof outputs to the Humanish evidence packet
203
- * without teaching core product nouns or inventing fake streams.
204
- */
205
- export interface RunAdapterArtifact {
206
- schema: "humanish.adapter-artifact.v1";
207
- namespace: string;
208
- label: string;
209
- path: string;
210
- kind: "state" | "review" | "log" | "trace" | "screenshot" | "filesystem" | "summary";
211
- note: string;
212
- }
213
- /**
214
- * Provenance for a CONFIG-DECLARED adopter scorer (#316): the repo-relative entry path and a digest
215
- * of its ENTRY-MODULE bytes, recorded so a `review.scorer.ref`/`--scorer` run honestly states which
216
- * out-of-tree judgment it attached. Core-computed (path + digest), never adopter-supplied. A LIBRARY
217
- * caller (hooks passed directly through RunLabOptions) has implicit provenance — their code IS their
218
- * provenance — so this block is ABSENT there and every pre-#316 bundle stays byte-stable + verifiable.
219
- *
220
- * The digest pins the entry file's IDENTITY, not its behavioral closure: a `export { score } from
221
- * "../outside.mjs"` re-export is not captured, and `import()` re-opens the path (a benign same-author
222
- * TOCTOU). Treat it as evidence-not-gate, and do NOT extend the loader to less-trusted config.
223
- */
224
- export interface RunScorerProvenance {
225
- schema: "humanish.scorer-provenance.v1";
226
- /** Repo-relative entry path (e.g. "scorers/example.mjs"), clamped inside the target cwd. */
227
- ref: string;
228
- /** digestText over the readContainedRegularFile ENTRY bytes — the entry module only, not a lockfile of the executed graph. */
229
- digest: string;
230
- /** Which door declared it: the committed manifest, or the CLI `--scorer` override. */
231
- source: "manifest" | "cli-flag";
232
- /** The whitelisted hooks actually wired from the module (costProbe is intentionally never loadable). */
233
- exports: ("score" | "deriveFeedback" | "deriveArtifacts")[];
234
- }
235
- export interface RunSimulation {
236
- id: string;
237
- index: number;
238
- personaId: string;
239
- scenarioId: string;
240
- status: RunSimulationStatus;
241
- streamKind: RunStreamKind;
242
- mode: "browser-sim" | "cli-sim" | "tui-sim" | "codex-app-sim";
243
- progress: number;
244
- currentStep: string;
245
- summary: string;
246
- streamIds: string[];
247
- startedAt: string;
248
- updatedAt: string;
249
- }
250
- export interface RunDesktopGeometry {
251
- /** E2B/X display geometry. Requested config and verified runtime evidence stay distinct. */
252
- screen: {
253
- requested: {
254
- width: number;
255
- height: number;
256
- };
257
- verified?: {
258
- width: number;
259
- height: number;
260
- source: "xdpyinfo";
261
- };
262
- /**
263
- * The device preset as DECLARED by the lab, present only when it differs from `requested`
264
- * because the rendered width was floored to MIN_DESKTOP_RENDER_WIDTH.
265
- *
266
- * Without this, a floored run is indistinguishable from a faithful one: `verified` compares
267
- * the floored number with itself and reports a match, so a reader of the bundle sees
268
- * requested 500 / verified 500 and reasonably concludes a 500-wide preset was asked for. A
269
- * `mobile` (414) and a `small-mobile` (360) seat both render at 500 and look identical here.
270
- * When this field is set, the preset width did NOT render; see #221.
271
- */
272
- declared?: {
273
- width: number;
274
- height: number;
275
- preset: string;
276
- };
277
- };
278
- /** Measured browser bounds after the fill attempt. X client bounds take precedence for
279
- * physical visibility; CDP page-reported outer bounds can reflect mobile emulation. */
280
- browserWindow?: {
281
- x: number;
282
- y: number;
283
- width: number;
284
- height: number;
285
- source: "cdp" | "xdotool" | "xwininfo";
286
- };
287
- /** Browser CSS layout viewport measured from the running page, never copied from config. */
288
- viewport?: {
289
- width: number;
290
- height: number;
291
- deviceScaleFactor: number;
292
- source: "cdp";
293
- };
294
- /**
295
- * Mobile fidelity beyond viewport size (#221), present only when the lab asked for it. `requested`
296
- * is what was applied through CDP; `resolved` is what the page reported about itself afterwards
297
- * and is the proof, never copied from the request. A run without this block is a
298
- * responsive-viewport study, whatever its preset is named.
299
- */
300
- fidelity?: {
301
- tier: "mobile-emulated";
302
- requested: {
303
- width: number;
304
- height: number;
305
- deviceScaleFactor: number;
306
- touch: boolean;
307
- userAgent: string;
308
- };
309
- applied: string[];
310
- resolved?: {
311
- userAgent: string;
312
- devicePixelRatio: number;
313
- innerWidth: number;
314
- innerHeight: number;
315
- maxTouchPoints: number;
316
- coarsePointer: boolean;
317
- source: "cdp";
318
- };
319
- /**
320
- * Page targets the participant drove AFTER the launch page (a link that opened in a new tab)
321
- * whose own read-back reported the requested viewport width (#623). Absent when the
322
- * participant never left the launch tab; a later tab that did NOT report the width is a lane
323
- * warning instead.
324
- */
325
- laterTargets?: {
326
- targetId: string;
327
- innerWidth: number;
328
- devicePixelRatio: number;
329
- maxTouchPoints: number;
330
- }[];
331
- /**
332
- * The emulation holder's log after its announce, one JSON line per later target it attached
333
- * to (`attached`, `sent`) and per reply that came back as an error (`replyError`), at most 50
334
- * lines. Absent when no later target appeared.
335
- */
336
- holderLog?: string[];
337
- };
338
- /** Public-safe geometry measurement/fill warnings retained with the stream evidence. */
339
- warnings?: string[];
340
- }
341
- /** The original participant-facing assignment, before runtime access/coordination details. */
342
- export interface RunParticipantAssignment {
343
- mission: string;
344
- focus?: string;
345
- tasks?: Array<{
346
- id: string;
347
- goal: string;
348
- }>;
349
- }
350
- export interface RunStream {
351
- id: string;
352
- simId: string;
353
- /** Adapter-owned lane id for fan-out / target-swarm runs. Safe categorical metadata only. */
354
- laneId?: string;
355
- /** Adapter-owned actor class for grouping lanes, e.g. viewer/reviewer/admin. */
356
- actorType?: string;
357
- /** Adapter-owned product surface label for grouping lanes without parsing URLs. */
358
- surface?: string;
359
- /** Adapter-owned scenario/case grouping label. */
360
- caseGroup?: string;
361
- /** Authored/default mission and lane focus, redacted before persistence. Missing on older
362
- * bundles and uninstrumented routes; never reconstructed from study context or narration. */
363
- assignment?: RunParticipantAssignment;
364
- kind: RunStreamKind;
365
- label: string;
366
- status: RunSimulationStatus;
367
- transport: "snapshot" | "polling" | "sse" | "pty" | "app-server";
368
- updatedAt: string;
369
- url?: string;
370
- embed?: {
371
- kind: "iframe" | "terminal" | "screenshot" | "placeholder";
372
- url?: string;
373
- title?: string;
374
- };
375
- /** Set by the attached watch server when the lane's sandbox is gone (#357): the injected
376
- * live URL would render a provider error page, so viewers fall back to recorded evidence.
377
- * Runtime-only — never persisted into bundles; declared here because the served
378
- * observer-data carries it and the client is typed against this contract. */
379
- liveEnded?: boolean;
380
- /**
381
- * Browser CSS layout viewport. Deterministic browser adapters may declare and render this
382
- * exactly; hosted-desktop CUA producers set it only from a runtime measurement. Historical
383
- * hosted CUA bundles may contain the requested screen size here instead.
384
- */
385
- viewport?: {
386
- width: number;
387
- height: number;
388
- deviceScaleFactor?: number;
389
- isMobile?: boolean;
390
- };
391
- /** Truthful screen/window/viewport evidence for hosted desktop browser lanes. */
392
- desktopGeometry?: RunDesktopGeometry;
393
- terminal?: {
394
- title: string;
395
- format: "ansi" | "plain";
396
- stdin: "disabled" | "planned" | "sent";
397
- tail: string;
398
- };
399
- ui?: {
400
- actorStatus?: string;
401
- appStatus?: string;
402
- appUrl?: string;
403
- route?: string;
404
- intent?: string;
405
- nestedObserverPath?: string;
406
- nestedObserverUrl?: string;
407
- screenshotUrl?: string;
408
- state?: string;
409
- visualStatus?: string;
410
- };
411
- codex?: {
412
- provider: "codex-app-server";
413
- eventCount?: number;
414
- experimentalApi?: boolean;
415
- model?: string;
416
- sessionId?: string;
417
- state: "not_connected" | "connecting" | "watching" | "running" | "completed" | "failed" | "blocked" | "timed_out";
418
- contract: string;
419
- threadId?: string;
420
- trace?: CodexAppServerTrace;
421
- tracePath?: string;
422
- turnId?: string;
423
- };
424
- actor?: ActorTrace;
425
- /**
426
- * Mid-run partial actor evidence (#441): the redacted trace items recorded SO FAR,
427
- * flushed while a live lane is still running so the attached Observer's timeline can
428
- * grow. Deliberately NOT an ActorTrace — a running lane has no honest status,
429
- * completionReason, or completedAt, and this shape cannot claim them. Present ONLY on
430
- * `inProgress` bundles; the final write replaces it with the real `actor` and never
431
- * carries it.
432
- */
433
- liveActor?: {
434
- schema: "humanish.live-actor.v1";
435
- executionProfile?: ActorTrace["executionProfile"];
436
- providerRequests?: ActorTrace["providerRequests"];
437
- historyTurnsOmitted?: number;
438
- tokenUsage?: ActorTrace["tokenUsage"];
439
- estimatedCost?: ActorTrace["estimatedCost"];
440
- ids?: ActorTrace["ids"];
441
- /** When this flush was written (ISO-8601). */
442
- updatedAt: string;
443
- items: ActorTraceItem[];
444
- };
445
- completion?: RunStreamCompletion;
446
- recording?: RunDesktopRecording;
447
- artifacts: Array<{
448
- label: string;
449
- path: string;
450
- kind: "bundle" | "review" | "observer" | "events" | "screenshot" | "trace" | "log" | "filesystem" | "recording";
451
- }>;
452
- }
453
- export interface RunEvent {
454
- id: string;
455
- at: string;
456
- level: "info" | "warn" | "error";
457
- type: string;
458
- message: string;
459
- simId?: string;
460
- streamId?: string;
461
- }
462
- /**
463
- * One executed (or declared) subject-state seed step. Live records carry execution fields
464
- * (ok/exitCode/timedOut/durationMs); dry-run "declared, not run" records carry only the
465
- * declaration (name, phase, command DIGEST). The command itself never persists — the digest
466
- * pins "same recipe" across bundles while the lab YAML in the consumer's repo stays the
467
- * plaintext source of truth (publish-safe by construction).
468
- */
469
- export interface RunSubjectStateStepRecord {
470
- name: string;
471
- when: "before-build" | "before-start" | "after-ready";
472
- /** sha256 hex of the exact command string, first 16 chars (the promptDigest convention). */
473
- commandDigest: string;
474
- /** Absent on declared-not-run records (dry-run; unreached steps are absent entirely). */
475
- ok?: boolean;
476
- exitCode?: number;
477
- timedOut?: boolean;
478
- durationMs?: number;
479
- }
480
- /**
481
- * Structured subject provenance (invariant 5): what the subject WAS — code pin (repo/commit,
482
- * or a local-tree archive digest) AND state story. Optional additive field on
483
- * humanish.run-bundle.v1; absent on bundles from backends that have not adopted it (and on all
484
- * pre-existing bundles).
485
- */
486
- export interface RunSubjectProvenance {
487
- source: "clone" | "app-url" | "local-tree";
488
- /** Clone-route only. Honors policies.redactRepos exactly as the provenance event does. */
489
- repo?: string;
490
- /** Clone-route: the cloned commit SHA. Local-tree route: the host-side HEAD at pack time,
491
- * when the packed root was a git work tree. */
492
- commit?: string;
493
- /**
494
- * Local-tree-route only (additive): 64 lowercase-hex sha256 over the sorted packed-entries
495
- * list (docs/contracts/schemas.md). This is the provenance PIN for the local-tree route: a
496
- * dirty working tree cannot be commit-pinned, so the archive content digest stands in for it.
497
- */
498
- archiveSha256?: string;
499
- /**
500
- * Local-tree-route only (additive): true when the host git work tree had uncommitted changes
501
- * at pack time. Absent when the packed root was not a git work tree at all.
502
- */
503
- dirty?: boolean;
504
- /** Declared env NAMES provisioned for the subject — names only, values never. */
505
- envNames?: string[];
506
- state: {
507
- /**
508
- * seeded: live run, steps declared, ALL ran ok, no external state declared.
509
- * unpinned: external state declared (seed records, if any, still attached — migrating
510
- * an external DB is still unpinned overall).
511
- * declared-not-run: steps declared but not (all) executed ok — dry-run contract bundles
512
- * and failed live provisioning.
513
- * undeclared: no subject.state block (stateless apps, app-url subjects) — the explicit
514
- * "absence declared" marker invariant 5 requires.
515
- * external-public: (#164 phase 2) an operator-DECLARED, operator-OWNED public deployment used
516
- * directly as the shared plane — humanish neither provisioned nor seeded it (no getHost, no
517
- * clone, no in-sandbox filesystem). NOT "seeded" (nothing was seeded), NOT "unpinned" (this is
518
- * an owned target, not an uncontrolled external DB). The honest marker for the external-public
519
- * plane class; verify asserts it in place of the getHost seeded gate.
520
- */
521
- provenance: "seeded" | "unpinned" | "declared-not-run" | "undeclared" | "external-public";
522
- seed?: RunSubjectStateStepRecord[];
523
- externalEnvNames?: string[];
524
- };
525
- }
526
- /**
527
- * How well a run attributed INTERACTION between actors — a new, ORTHOGONAL honesty axis to the
528
- * persona-sampling evidence classes (which answer "how representative is the actor?"). Absent ==
529
- * `isolated` (every existing bundle byte-stable). `shared-world` means N roles drove ONE mutable
530
- * plane and their per-role attribution is weaker (its ceiling is pinned in `sharedWorld.attributionLimits`).
531
- */
532
- export type RunAttributionClass = "isolated" | "shared-world";
533
- /** The ONE shared service-plane provenance for a shared-world run (#164): single commit + a
534
- * seed-recipe digest + the provisioned env NAMES (values never). */
535
- export interface SharedWorldPlane {
536
- /** The cloned commit SHA of the shared plane (when the clone resolved one). */
537
- commit?: string;
538
- /** sha256-16 over the ordered seed-step command digests — the seeded-state RECIPE identity
539
- * (not the runtime state). Pins "same seed recipe" across bundles. */
540
- seedDigest: string;
541
- /** Declared env NAMES provisioned for the shared plane (values never surface). */
542
- envNames: string[];
543
- /**
544
- * CONCURRENT route only (#164 phase 2): sha256-16 of the harness-minted `getHost` URL's ORIGIN
545
- * (the first-class provisioned-subject target every actor drove — invariant 2). A DIGEST, not the
546
- * raw URL: a getHost URL embeds the (live) sandbox id and matches the publish-safety e2b-URL
547
- * redaction, so — like the stream URL and like sandbox ids — it never lands raw in a published
548
- * bundle (the raw tokenless URL is surfaced only on the ephemeral lab result). The orchestrator
549
- * confirms the URL is TOKENLESS (no authKey — invariant 1) before digesting. verify proves every
550
- * actor drove this host by digest equality. Absent on the sequential route.
551
- */
552
- hostDigest?: string;
553
- /**
554
- * CONCURRENT route only: the author's REQUIRED attestation that the subject behind the
555
- * internet-reachable getHost URL is synthetic seeded data (FIX-3). This is author-trust + a
556
- * provenance gate, NOT a no-real-data guarantee. Verify fails closed if absent on the concurrent route.
557
- *
558
- * FORBIDDEN on the external-public plane class: claiming synthetic on a real public site the
559
- * harness neither provisioned nor exposed would be a lie (verify asserts it ABSENT there).
560
- */
561
- exposure?: "synthetic";
562
- /**
563
- * EXTERNAL-PUBLIC plane class only (#164 phase 2): sha256-16 of the OBSERVED origin the seats
564
- * CONVERGED on (the honest analog of hostDigest, but WEAKER and disclosed — the harness only
565
- * OBSERVES that each seat reached this origin; it never MINTED it). It is derived from what the
566
- * seats actually reached, NOT from the declared appUrl: verify proves every laneWindow.routeHostDigest
567
- * (that seat's CDP-observed final URL origin) equals it — inter-seat convergence on ONE OBSERVED
568
- * origin, not harness control of the plane. A digest, not the raw origin (kept consistent with
569
- * hostDigest hygiene). Absent on getHost.
570
- */
571
- publicOriginDigest?: string;
572
- /**
573
- * EXTERNAL-PUBLIC plane class only: sha256-16 of the operator-DECLARED origin (from subject.appUrl),
574
- * recorded for reference/evidence ONLY. It is NEVER asserted equal to publicOriginDigest: a normal
575
- * cross-origin redirect (apex->www, http->https) makes the OBSERVED origin differ from the declared
576
- * one, which is expected. Operator OWNERSHIP rests on the subject.publicTarget.authorized attestation
577
- * + the declared appUrl, NOT on digest equality. A digest, not the raw origin. Absent on getHost.
578
- */
579
- declaredOriginDigest?: string;
580
- }
581
- /**
582
- * CONCURRENT shape (#164 phase 2): one actor's harness-clocked activity window against the ONE
583
- * shared plane. OVERLAPPING windows mechanically prove ≥2 personas were active simultaneously.
584
- * `laneWindows` and `stateSeries` are INDEPENDENT series — there is deliberately NO per-delta→actor
585
- * field (causation under concurrency is structurally inexpressible — FIX-7).
586
- */
587
- export interface SharedWorldLaneWindow {
588
- roleId: string;
589
- actorType?: string;
590
- surface?: string;
591
- caseGroup?: string;
592
- /** Resolves to a real RunSimulation in this bundle. */
593
- simId: string;
594
- /** Resolves to a real RunStream (the actor's trace) in this bundle. */
595
- streamId: string;
596
- /** ms on the ONE harness clock — the wrapped [start,end] the orchestrator MEASURED (FIX-1). */
597
- startedAt: number;
598
- endedAt: number;
599
- /** The actor's terminal session verdict (per-persona). */
600
- verdict: string;
601
- /** sha256-16 of the ORIGIN of the getHost seat URL this actor drove. verify confirms it equals
602
- * plane.hostDigest — i.e. the actor drove EXACTLY the harness-minted host (invariant 2; FIX-2).
603
- * A digest, not the raw URL (a getHost URL is not publish-safe — see SharedWorldPlane.hostDigest). */
604
- routeHostDigest: string;
605
- /** The shared plane's commit this actor observed (omitted when unresolved). */
606
- commit?: string;
607
- /** The shared plane's seed-recipe digest this actor observed. */
608
- seedDigest: string;
609
- }
610
- /** CONCURRENT shape: one cadence checkpoint of the shared world under load. DIGEST-ONLY — the
611
- * allowed-keys tripwire (SHARED_WORLD_STATESERIES_KEYS) permits ONLY {timestamp, digest}. */
612
- export interface SharedWorldStateSnapshot {
613
- /** ms on the ONE harness clock. */
614
- timestamp: number;
615
- /** sha256-16 of the (scrubbed, redacted) combined probe output at this snapshot. */
616
- digest: string;
617
- }
618
- /** CONCURRENT shape: one persona's OUTCOME against the contended world (the "M of N" headline). */
619
- export interface SharedWorldOutcome {
620
- roleId: string;
621
- actorType?: string;
622
- surface?: string;
623
- caseGroup?: string;
624
- simId: string;
625
- streamId: string;
626
- /** Terminal session status. */
627
- status: string;
628
- completionReason?: string;
629
- /** Reached its goal (terminal, engaged, no harness error). */
630
- ok: boolean;
631
- }
632
- /** A timeline checkpoint: a read-only digest probe of the shared plane at one moment. Persisted
633
- * DIGEST-ONLY — `digest` is sha256-16(scrub+redact(stdout)); no raw value ever lands. */
634
- export interface SharedWorldCheckpoint {
635
- kind: "checkpoint";
636
- /** "cp-baseline" for the baseline snapshot; "cp-after-<roleId>" after each role's turn. */
637
- name: string;
638
- /** sha256-16 of the (scrubbed, redacted) combined probe output at this snapshot. */
639
- digest: string;
640
- /** True when this snapshot's digest differs from the previous checkpoint's — the observed
641
- * state changed across the intervening turn (delta attributed to the TURN, not an action). */
642
- deltaFromPrev: boolean;
643
- }
644
- /** A timeline turn: one role's seat session against the shared plane. Carries the plane
645
- * provenance it observed (identical across turns by construction — the single-plane proof). */
646
- export interface SharedWorldTurn {
647
- kind: "turn";
648
- roleId: string;
649
- /** Resolves to a real RunSimulation in this bundle. */
650
- simId: string;
651
- /** Resolves to a real RunStream (the role's actor trace) in this bundle. */
652
- streamId: string;
653
- /** The shared plane's commit the role observed (omitted when unresolved). */
654
- commit?: string;
655
- /** The shared plane's seed-recipe digest the role observed. */
656
- seedDigest: string;
657
- }
658
- export type SharedWorldTimelineEntry = SharedWorldCheckpoint | SharedWorldTurn;
659
- /** Declared seats that were never started after one executed sequential role stopped the run.
660
- * The executed timeline plus this ordered tail must account for every declared sim/stream. */
661
- export interface SharedWorldSkippedTail {
662
- afterRoleId: string;
663
- roles: Array<{
664
- roleId: string;
665
- simId: string;
666
- streamId: string;
667
- }>;
668
- cause: "harness_error" | "session_error" | "usage_unreported" | "study_spend_limit";
669
- /** Present only for a measured aggregate threshold; estimates, not provider billing. */
670
- maxTotalUsd?: number;
671
- estimatedTotalUsd?: number;
672
- }
673
- /**
674
- * The shared-world evidence block (`humanish.shared-world.v1`). TWO variants discriminated by
675
- * `topologyMode` (FIX-8 — renamed off `RunBundle.mode` to avoid the dry-run|live collision):
676
- *
677
- * - SEQUENTIAL (`topologyMode: "sequential"`, the PoC): `sequence` + an alternating `timeline`
678
- * (cp-baseline → turn → cp → … → cp); limits `sequential-only` etc.
679
- * - CONCURRENT (`topologyMode: "concurrent"`, #164 phase 2): `laneWindows` + `stateSeries` +
680
- * `outcomes`; limits `concurrent` etc. NO `timeline`.
681
- *
682
- * Additive + optional on `humanish.run-bundle.v1` — absent on every non-shared-world bundle.
683
- * The mandatory `attributionLimits` are verify-enforced (FAIL CLOSED on a missing required or a
684
- * present forbidden limit).
685
- */
686
- export interface SharedWorldEvidence {
687
- schema: typeof SHARED_WORLD_SCHEMA;
688
- topology: "shared-world";
689
- /** The substrate discriminator (FIX-8). Branched on FIRST by validateSharedWorldEvidence. */
690
- topologyMode: "sequential" | "concurrent";
691
- /**
692
- * CONCURRENT route only (#164 phase 2): the PLANE-class discriminator. Absent == the historical
693
- * "provisioned-getHost" plane (a clone/local-tree subject served + getHost-exposed in-sandbox — the
694
- * harness MINTED the host; synthetic-seeded attestation + authoritative in-sandbox checkpoint
695
- * stateSeries). "external-public" == a real operator-owned public deployment used directly as the
696
- * plane (NO getHost/clone/seed; operator-attested, not harness-controlled; NO authoritative
697
- * shared-state proof — concurrency evidenced by temporal co-occupancy + observed lobby convergence).
698
- * verify gates EVERY getHost-specific assertion on this discriminator; existing bundles omit it and
699
- * default to provisioned-getHost, byte-stable.
700
- */
701
- planeClass?: "provisioned-getHost" | "external-public";
702
- /** The DECLARED number of role seats. */
703
- roleCount: number;
704
- plane: SharedWorldPlane;
705
- /** The pinned, verify-enforced attribution ceiling (the set differs per topologyMode/planeClass). */
706
- attributionLimits: string[];
707
- /**
708
- * EXTERNAL-PUBLIC plane class only (#164 phase 2, optional-but-strong): sha256-16 of the shared
709
- * `/lobby/CODE` PATH every seat's CDP-observed URL converged on — the concrete "they were in ONE
710
- * shared world" proof, observation-derived and needing no subject change. Digest-only (the raw
711
- * 6-char CODE and full URLs are runtime-only and never land). Absent when seats did not converge.
712
- */
713
- lobbyConvergenceDigest?: string;
714
- /** The role ids that actually took a turn, in declared order. */
715
- sequence?: string[];
716
- timeline?: SharedWorldTimelineEntry[];
717
- /** Explicit unstarted suffix; absent on historical/full-execution bundles. */
718
- skippedTail?: SharedWorldSkippedTail;
719
- /** Per-actor harness-clocked windows (overlap proves simultaneity). */
720
- laneWindows?: SharedWorldLaneWindow[];
721
- /** Cadence digests of the shared world under load (baseline + periodic + final). */
722
- stateSeries?: SharedWorldStateSnapshot[];
723
- /** Per-persona outcomes (the "M of N succeeded" headline). */
724
- outcomes?: SharedWorldOutcome[];
725
- }
726
- export interface RunBundle {
727
- publication?: {
728
- restrictions: ["real-communications"];
729
- };
730
- commsReceiving?: CommsReceivingEvidence;
731
- schema: typeof RUN_BUNDLE_SCHEMA;
732
- runId: string;
733
- mode: "dry-run" | "live";
734
- simCount: number;
735
- createdAt: string;
736
- cwd: string;
737
- artifactRoot: string;
738
- source: {
739
- packageName: string | null;
740
- humanishSource: "present" | "missing";
741
- git: CapturedGitState;
742
- };
743
- persona: {
744
- id: string;
745
- name: string;
746
- source: string;
747
- sourceDigest: string;
748
- };
749
- scenario: {
750
- id: string;
751
- title: string;
752
- goal: string;
753
- source: string;
754
- sourceDigest: string;
755
- };
756
- lifecycle: Array<{
757
- at: string;
758
- event: string;
759
- message: string;
760
- }>;
761
- simulations: RunSimulation[];
762
- streams: RunStream[];
763
- events: RunEvent[];
764
- redaction: {
765
- status: "passed";
766
- notes: string;
767
- };
768
- artifacts: {
769
- run: string;
770
- reviewJson: string;
771
- reviewMarkdown: string;
772
- observerData: string;
773
- events: string;
774
- };
775
- review: ReviewSummary;
776
- feedbackCandidates: RunFeedbackCandidate[];
777
- /** Structured subject provenance (invariant 5). Optional and additive: emitted by the
778
- * computer-use backend; tolerated absent everywhere else. */
779
- subject?: RunSubjectProvenance;
780
- /**
781
- * The custom E2B desktop TEMPLATE (image) the run's sandbox(es) actually launched on, from
782
- * `execution.desktop.template` — so the evidence shows WHICH image ran (a subject needing
783
- * runtimes the stock `desktop` image lacks runs on an adopter's template). Optional + additive:
784
- * present only when a template was configured (absent == the stock `desktop` template, every
785
- * pre-existing bundle byte-stable). A template name is public-safe (not a secret).
786
- */
787
- desktopTemplate?: string;
788
- /**
789
- * Browser family requested for hosted desktop actor lanes and the in-sandbox command that opened
790
- * it, when explicitly configured. Optional + additive; absent means the historical default opener
791
- * path was used or the backend does not create a headed desktop.
792
- */
793
- desktopBrowser?: {
794
- requested: "default" | "chrome" | "chromium" | "firefox";
795
- resolved?: string;
796
- /**
797
- * Synthetic media devices the browser was launched with (#509): the camera feed's origin and
798
- * in-sandbox path, how the permission dialog is answered, and the exact flags.
799
- */
800
- media?: {
801
- camera?: {
802
- source: "synthetic" | "file";
803
- file: string;
804
- };
805
- microphone?: {
806
- source: "speech";
807
- };
808
- permission: "prompt" | "granted";
809
- flags: string[];
810
- };
811
- };
812
- /**
813
- * Optional lineage for a run that intentionally re-executes selected lanes from a prior
814
- * multi-lane run. This keeps retry-like workflows explicit: the new run is linked to the old
815
- * evidence, but it never mutates or silently "fixes" the original verdict.
816
- */
817
- rerun?: RunRerunLineage;
818
- /**
819
- * The interaction-attribution honesty axis (#164). Absent == `isolated` (every existing bundle
820
- * byte-stable). Set to `shared-world` by the shared-world backend, paired with `sharedWorld`.
821
- */
822
- attributionClass?: RunAttributionClass;
823
- /**
824
- * Shared-world evidence block (`humanish.shared-world.v1`). Optional + additive; present only on
825
- * shared-world runs. Verified fail-closed by validateSharedWorldEvidence.
826
- */
827
- sharedWorld?: SharedWorldEvidence;
828
- /**
829
- * OPTIONAL, ADAPTER-NAMESPACED product score (the layer-6 extension seam, issue #154 acceptance
830
- * #8). A thin adapter's `score` hook returns a `RunAdapterScore`; the lane attaches it here
831
- * WITHOUT core knowing any product noun (the score is namespaced + its breakdown lives in `data`).
832
- * The default mission-based verdict (`review`) is unchanged when no scorer hook is given.
833
- */
834
- adapterScore?: RunAdapterScore;
835
- /**
836
- * OPTIONAL provenance for a CONFIG-DECLARED scorer (#316). Present only when the scorer was loaded
837
- * from `review.scorer.ref` / `--scorer`; absent for library callers and every pre-#316 bundle
838
- * (tolerated-absent in isRunBundle so those still verify). Evidence, not a gate.
839
- */
840
- scorerProvenance?: RunScorerProvenance;
841
- /**
842
- * OPTIONAL, ADAPTER-NAMESPACED product/state proof artifacts. Core validates
843
- * shape and local relative artifact references, then verifies the referenced
844
- * files exist. The adapter owns the payload schema under `namespace`.
845
- */
846
- adapterArtifacts?: RunAdapterArtifact[];
847
- /**
848
- * Evidence about mutable provider resources observed during this run. Stored ids
849
- * are not cleanup authority: automatic provider mutation requires a verified
850
- * resource lease. Optional + additive; core never enumerates provider accounts.
851
- */
852
- providerResources?: RunProviderResource[];
853
- /**
854
- * Which lab manifest produced this run (#455). Optional + additive: absent on every bundle
855
- * written before this contract and on library callers who pass a LabConfig directly (the run is
856
- * then honestly lab-less rather than guessed). For older bundles a reader may fall back to
857
- * `inferLegacyLabId`, which reads only the historical `persona.source = "lab:<id>"` convention.
858
- */
859
- lab?: RunLabProvenance;
860
- /**
861
- * OPTIONAL, ADDITIVE run-level cost ESTIMATE (humanish.run-cost-summary.v1): the sum of every
862
- * lane's model-token estimate PLUS the E2B desktop-minute estimate, carrying the SAME
863
- * null-discipline the terminal cost ledger already ships. Absent on every pre-existing bundle
864
- * and on dry-runs that invent no spend (byte-stable). Every dollar figure here is an ESTIMATE,
865
- * never an authoritative charge; verify asserts its LABELING/provenance, never its magnitude.
866
- */
867
- cost?: RunCostSummary;
868
- }
869
- /**
870
- * One contributing cost line of a RunCostSummary. A line is PRESENT even when it cannot be priced
871
- * (records that we TRIED and could not) — an unpriceable line carries estimatedCostUsd: null + a
872
- * `reason` and contributes NOTHING to the summary total (invariant 5). `estimatedCostUsd` is NEVER
873
- * coerced to 0.
874
- */
875
- export interface RunCostLine {
876
- kind: "model-tokens" | "desktop-minutes";
877
- laneId?: string;
878
- modelId?: string;
879
- /** null = NOT MEASURED / no rate; never coerced to 0. */
880
- estimatedCostUsd: number | null;
881
- reason?: "no_rate_for_model" | "no_rate_for_desktop" | "no_token_usage" | "no_duration" | "closing_usage_unreported" | "interaction_usage_unreported" | "no_desktop_resources" | "desktop_lifetime_incomplete" | "account_billing_unknown";
882
- /** Pricing provenance date; non-null iff estimatedCostUsd is non-null. */
883
- ratesAsOf: string | null;
884
- source?: string;
885
- placeholder?: boolean;
886
- /** Optional allocation evidence on newer desktop lines; older aggregate lines remain valid. */
887
- desktop?: {
888
- minutes: number | null;
889
- durationBasis: "host-acquired-to-cleanup";
890
- resources?: {
891
- cpuCount: number;
892
- memoryMiB: number;
893
- };
894
- resourceSource?: "e2b.getInfo";
895
- resourceUnavailableReason?: "metadata_unavailable" | "metadata_invalid" | "metadata_timeout";
896
- usdPerSecond?: number;
897
- };
898
- }
899
- /**
900
- * The run-level cost ESTIMATE. `estimatedTotalUsd` is the rounded sum of ONLY the non-null
901
- * `breakdown` lines; it is null iff EVERY line is null (never 0-coerced). `fullyEstimated` is
902
- * false when any applicable line is null (the total is then a LOWER BOUND). Every non-null dollar
903
- * figure carries `ratesAsOf`; `placeholder` is true when any contributing rate is a stand-in.
904
- */
905
- export interface RunCostSummary {
906
- schema: "humanish.run-cost-summary.v1";
907
- currency: "usd";
908
- /** Sum of the KNOWN (non-null) lines; null iff every applicable line is null. */
909
- estimatedTotalUsd: number | null;
910
- /** Oldest asOf across contributing rates; null when nothing was priced. */
911
- ratesAsOf: string | null;
912
- /** false when any applicable line is null (the total is a lower bound). */
913
- fullyEstimated: boolean;
914
- /** true when any contributing rate is a placeholder (a stand-in, not a live sheet). */
915
- placeholder: boolean;
916
- breakdown: RunCostLine[];
917
- /** Missing account token counts remain absent; known counts may be partial. */
918
- tokenUsage: {
919
- input?: number;
920
- output?: number;
921
- total?: number;
922
- };
923
- /** Host-side create->teardown span in minutes; null when no sandbox was created. */
924
- desktopMinutes: number | null;
925
- /** Honest "estimated; <x> unmeasured" statement. */
926
- note: string;
927
- }
928
- export interface RunProviderResource {
929
- schema: "humanish.provider-resource.v1";
930
- provider: "e2b-desktop";
931
- kind: "sandbox";
932
- id: string;
933
- owner: "humanish";
934
- status: "running" | "killed" | "unknown";
935
- simId?: string;
936
- streamId?: string;
937
- laneId?: string;
938
- createdAt?: string;
939
- cleanup?: {
940
- killed: boolean;
941
- reason: string;
942
- };
943
- }
944
- export interface RunRerunLineage {
945
- sourceRunId: string;
946
- selectedLaneIds: string[];
947
- previous: Array<{
948
- laneId: string;
949
- streamId?: string;
950
- status: string;
951
- reason?: string;
952
- actorStatus?: string;
953
- completionReason?: string;
954
- }>;
955
- }
956
- /**
957
- * What happened to the PARTICIPANTS in a study, with the denominator attached.
958
- *
959
- * A stakeholder watching through the glass forms conclusions from vivid moments — that is the
960
- * classic failure of the viewing room, and it is why researchers synthesize rather than letting the
961
- * room decide. So anything shown to a stakeholder carries its count, or it becomes a machine for
962
- * manufacturing certainty from n=1 (docs/principles/three-roles.md).
963
- *
964
- * These are OUTCOMES, not scores. `abandoned` is the most valuable thing a usability study
965
- * produces, and `harnessFailed` is the only member that says the instrument, rather than the
966
- * product, is what went wrong.
967
- */
968
- export interface ParticipantOutcomes {
969
- /** Participants whose sessions reached a terminal state — the denominator for every count below. */
970
- total: number;
971
- /** Recorded successful sessions; completion provenance depends on the actor and its evidence. */
972
- reachedGoal: number;
973
- /** Stopped trying. A finding about the product. */
974
- abandoned: number;
975
- /** Interrupted before reaching the goal, including session, spend and provider limits. */
976
- ranOut: number;
977
- /** Needed an approval the run could not give. */
978
- blocked: number;
979
- /** The harness failed them: a dead sandbox, a provider error, a broken artifact. */
980
- harnessFailed: number;
981
- /**
982
- * Participants who reported friction or a defect on the way, whatever their outcome.
983
- *
984
- * This is NOT a failure count and it overlaps the others on purpose — someone can reach the goal
985
- * and still tell you the road there was broken. A live two-persona run made the case: both
986
- * participants signed in, so "2/2 reached the goal" was true, and the keyboard-first one also
987
- * reported that the signature step could not be completed without a mouse. Reporting only the
988
- * outcome would have buried the single most useful thing that run produced.
989
- */
990
- reportedFriction: number;
991
- }
992
- export interface ReviewSummary {
993
- schema: typeof REVIEW_SCHEMA;
994
- verdict: "contract_proof_only" | "pass" | "fail" | "blocked" | "timed_out";
995
- summary: string;
996
- gaps: string[];
997
- /**
998
- * The study result, separate from the verdict above.
999
- *
1000
- * `verdict` answers a gate-shaped question and has to collapse a run to one word. This answers
1001
- * the research question — what happened to the people in the study — and does not collapse: a run
1002
- * where two of three participants finished is not usefully "fail", and a run where the harness
1003
- * broke is a different thing from one where a persona gave up. Absent on a dry-run contract
1004
- * bundle, which has no participants.
1005
- */
1006
- participants?: ParticipantOutcomes;
1007
- /**
1008
- * The study's per-task completion rates (#414) — present only when the lab declared a protocol
1009
- * and at least one session produced a funnel. Absent means no protocol was measured, never that
1010
- * everyone finished.
1011
- */
1012
- tasks?: StudyTaskFunnel;
1013
- }
1014
- /** Tally participant outcomes from actor statuses. Statuses this does not recognise are counted in
1015
- * `total` but nowhere else, so the parts can never exceed the whole. */
1016
- export declare function tallyParticipantOutcomes(statuses: readonly ActorStatus[],
1017
- /** Per-participant: did this one report friction or a defect? Same order as `statuses`. */
1018
- reportedFriction?: readonly boolean[]): ParticipantOutcomes;
1019
- /**
1020
- * The study's task funnel: for each declared task, how many participants completed it, out of how
1021
- * many sessions produced a funnel. This is "where did people get stuck" as data — the number a
1022
- * researcher reads first — where the per-participant funnels answer it one journey at a time.
1023
- *
1024
- * Aggregated by task id in declaration order. Every lane in a run shares the actor's protocol, so
1025
- * ids line up across participants; a funnel missing a task id (a future mixed-protocol route)
1026
- * simply does not count toward that task's denominator.
1027
- */
1028
- export interface StudyTaskFunnel {
1029
- /** Sessions that produced a funnel — the denominator for every count below. */
1030
- sessions: number;
1031
- tasks: Array<{
1032
- id: string;
1033
- /** Participants whose sessions corroborated this task complete. */
1034
- completed: number;
1035
- /** Sessions whose protocol declared this task — its denominator. */
1036
- sessions: number;
1037
- /** False when the task declared no success criterion: asked for, never measurable. */
1038
- observable: boolean;
1039
- /** Sessions where this task's criteria were never evaluated, because the observations they
1040
- * read never arrived. Counted apart from failures: "0/3 completed" with 3 unmeasured is a
1041
- * statement about our instrument, not about the participants (#514). */
1042
- unmeasured: number;
1043
- }>;
1044
- }
1045
- /** Roll per-participant funnels up into the study funnel. Undefined when nothing measured one. */
1046
- export declare function aggregateTaskFunnels(funnels: readonly TaskFunnel[]): StudyTaskFunnel | undefined;
1047
- /** The funnel as one line, denominator on every number: `signup 2/2 · verify-email 1/2`. */
1048
- export declare function formatStudyTaskFunnel(funnel: StudyTaskFunnel): string;
1049
- type ParticipantOutcomeDetail = {
1050
- status: ActorStatus;
1051
- label?: string;
1052
- goalSource?: CuaGoalSource;
1053
- };
1054
- /** One line a stakeholder can read, with the denominator attached to every number. */
1055
- export declare function formatParticipantOutcomes(outcomes: ParticipantOutcomes, terminalCauses?: readonly ParticipantOutcomeDetail[]): string;
1056
- /** Presentation details tolerate optional legacy actor payloads without changing their tallies. */
1057
- export declare function participantOutcomeDetails(streams: readonly {
1058
- actor?: unknown;
1059
- status?: unknown;
1060
- }[]): ParticipantOutcomeDetail[];
1061
- /** Refresh a CUA completion claim from recorded traces, leaving original evidence and enums intact. */
1062
- export declare function withCuaReviewProvenance(review: ReviewSummary, streams: readonly {
1063
- actor?: unknown;
1064
- status?: unknown;
1065
- }[]): ReviewSummary;
1066
- export declare function buildRunSource(args: {
1067
- cwd: string;
1068
- capturedAt?: Date | string;
1069
- humanishSource: RunBundle["source"]["humanishSource"];
1070
- packageName: string | null;
1071
- }): Promise<RunBundle["source"]>;
1072
- export interface RunResult {
1073
- schema: "humanish.run-result.v1";
1074
- ok: boolean;
1075
- runId?: string;
1076
- mode?: "dry-run" | "live";
1077
- simCount?: number;
1078
- cwd: string;
1079
- artifactRoot?: string;
1080
- bundlePath?: string;
1081
- reviewPath?: string;
1082
- latestPath?: string;
1083
- warnings: string[];
1084
- error?: {
1085
- code: "HUMANISH_LAB_ANALYSIS_INVALID" | "HUMANISH_LAB_ANALYSIS_UNSUPPORTED" | "HUMANISH_LAB_TASKS_UNSUPPORTED" | "HUMANISH_LAB_COMMS_UNSUPPORTED" | "HUMANISH_ACTOR_FANOUT_UNIMPLEMENTED" | "HUMANISH_APP_URL_OPTION_CONFLICT" | "HUMANISH_BROWSER_APP_CAPTURE_FAILED" | "HUMANISH_CODEX_APP_SERVER_FAILED" | "HUMANISH_LIVE_RUN_UNIMPLEMENTED" | "HUMANISH_LOCAL_CODEX_EXEC_FAILED" | "HUMANISH_LOCAL_CODEX_TUI_FAILED" | "HUMANISH_INVALID_APP_URL" | "HUMANISH_INVALID_ACTOR_CONCURRENCY" | "HUMANISH_INVALID_CWD" | "HUMANISH_INVALID_SIM_COUNT" | "HUMANISH_INVALID_TIMEOUT" | "HUMANISH_INVALID_PORT" | "HUMANISH_UNSUPPORTED_ACTOR" | "HUMANISH_UNSUPPORTED_RERUN_FLAGS" | "HUMANISH_WATCH_OPTION_CONFLICT" | "HUMANISH_LAB_SCORER_BAD_REF" | "HUMANISH_LAB_SCORER_NOT_FOUND" | "HUMANISH_LAB_SCORER_LOAD_FAILED" | "HUMANISH_LAB_SCORER_NO_HOOKS" | "HUMANISH_LAB_SCORER_UNSUPPORTED_BACKEND";
1086
- message: string;
1087
- };
1088
- }
1089
- export interface VerifyResult {
1090
- schema: typeof VERIFY_SCHEMA;
1091
- ok: boolean;
1092
- /** Only present when source evidence verifies but derived analysis failed the public-safety scan. */
1093
- recordingOk?: boolean;
1094
- cwd: string;
1095
- run: string;
1096
- bundlePath?: string;
1097
- checks: Array<{
1098
- name: string;
1099
- ok: boolean;
1100
- message: string;
1101
- }>;
1102
- shareSafety: {
1103
- status: "share_ready" | "local_only" | "blocked";
1104
- reasons: Array<{
1105
- code: "VERIFY_FAILED" | "PUBLIC_SAFETY_FINDINGS" | "ANALYSIS_UNVERIFIED" | "RAW_SCREENSHOTS" | "CONTINUOUS_MEDIA" | "REAL_COMMUNICATIONS";
1106
- message: string;
1107
- }>;
1108
- };
1109
- warnings: string[];
1110
- error?: {
1111
- code: "HUMANISH_RUN_NOT_FOUND" | "HUMANISH_INVALID_RUN_BUNDLE";
1112
- message: string;
1113
- };
1114
- }
1115
- export interface CleanupResourceResult {
1116
- provider: RunProviderResource["provider"];
1117
- kind: RunProviderResource["kind"];
1118
- id: string;
1119
- status: "killed" | "already_clean" | "failed" | "skipped";
1120
- message: string;
1121
- }
1122
- export interface CleanupAdapterResult {
1123
- id: string;
1124
- ok: boolean;
1125
- message: string;
1126
- }
1127
- export interface CleanupResult {
1128
- schema: typeof CLEANUP_SCHEMA;
1129
- ok: boolean;
1130
- cwd: string;
1131
- run: string;
1132
- runId?: string;
1133
- bundlePath?: string;
1134
- cleanupPath?: string;
1135
- checkedAt: string;
1136
- summary: {
1137
- resources: number;
1138
- killed: number;
1139
- alreadyClean: number;
1140
- failed: number;
1141
- skipped: number;
1142
- };
1143
- resources: CleanupResourceResult[];
1144
- adapterResults: CleanupAdapterResult[];
1145
- warnings: string[];
1146
- error?: {
1147
- code: "HUMANISH_RUN_NOT_FOUND" | "HUMANISH_INVALID_RUN_BUNDLE";
1148
- message: string;
1149
- };
1150
- }
1151
- export interface RunCleanupHooks {
1152
- /** @deprecated Ignored. Stored provider ids are not authority to load or mutate a provider. */
1153
- loadDesktopModule?: () => Promise<E2BDesktopModule>;
1154
- cleanupAdapterResources?: (ctx: {
1155
- cwd: string;
1156
- runDir: string;
1157
- bundle: RunBundle;
1158
- }) => Promise<CleanupAdapterResult[]>;
1159
- now?: () => Date;
1160
- }
1161
- export interface RunsResult {
1162
- schema: typeof RUNS_SCHEMA;
1163
- ok: boolean;
1164
- cwd: string;
1165
- runs: Array<{
1166
- runId: string;
1167
- createdAt: string | null;
1168
- mode: string | null;
1169
- path: string;
1170
- }>;
1171
- latest: string | null;
1172
- error?: {
1173
- code: "HUMANISH_RUNS_UNAVAILABLE";
1174
- message: string;
1175
- };
1176
- }
1177
- export interface DoctorResult {
1178
- schema: typeof DOCTOR_SCHEMA;
1179
- ok: boolean;
1180
- cwd: string;
1181
- checks: Array<{
1182
- name: string;
1183
- ok: boolean;
1184
- message: string;
1185
- /**
1186
- * ADDITIVE + OPTIONAL. `false` means the check never ran — the directory could not be read, so
1187
- * there is nothing to report about it either way. Absent means it ran and `ok` is its verdict.
1188
- *
1189
- * It exists because a failed check and an unrun one used to render identically, and the unrun
1190
- * rows carried the SUCCESS text: a participant read `missing package.json: package.json is
1191
- * present and safe to read` off a real screen (labs/tui-self-study.yaml).
1192
- */
1193
- checked?: boolean;
1194
- }>;
1195
- }
1196
- /**
1197
- * The synthetic/local backends. The body runs inside a status scope so that returning from it —
1198
- * by any of its exits, including the fail-closed ones — finalizes whatever status records it
1199
- * opened. See `withRunStatusScope`.
1200
- */
1201
- export declare function runDryRun(options: RunOptions): Promise<RunResult>;
1202
- type LocalActorTerminalStatus = Extract<RunSimulationStatus, "passed" | "failed" | "blocked" | "timed_out">;
1203
- /**
1204
- * Strip ANSI/control noise from a captured terminal transcript into stable, scannable text.
1205
- * Pure (no IO). Exported so the terminal-product lane (src/e2b-terminal-lab.ts) normalizes its
1206
- * captured exec stream EXACTLY as the local-actor lanes do — the verdict-nonce scorer is only
1207
- * sound against the same normalization the marker is matched on, so the logic must not diverge.
1208
- */
1209
- export declare function normalizeLocalActorTranscript(transcript: string): string;
1210
- /**
1211
- * Extract the per-run verdict from a normalized transcript: the agent must print exactly
1212
- * `HUMANISH_ACTOR_VERDICT=<status> HUMANISH_ACTOR_NONCE=<nonce>`, and the nonce is mandatory so a
1213
- * bare marker (echoed or replayed from untrusted text) can never forge a verdict. Pure (no IO).
1214
- * Exported so the terminal-product lane scores its in-sandbox `codex exec` run by the SAME marker
1215
- * — divergent verdict logic would let the two lanes disagree about what "passed" means.
1216
- */
1217
- export declare function extractLocalActorVerdict(transcript: string, verdictNonce: string): LocalActorTerminalStatus | null;
1218
- export declare function verifyRun(cwdInput: string, runInput: string): Promise<VerifyResult>;
1219
- export declare function cleanupRun(cwdInput: string, runInput: string, hooks?: RunCleanupHooks): Promise<CleanupResult>;
1220
- export declare function loadRunBundle(cwdInput: string, runInput: string): Promise<{
1221
- bundle: RunBundle;
1222
- bundlePath: string;
1223
- runDir: string;
1224
- } | null>;
1225
- /** Internal continuity seam for callers that already bound one run identity. */
1226
- export declare function loadRunBundlePrepared(cwdInput: string, runPaths: PreparedRunArtifactPaths): Promise<{
1227
- bundle: RunBundle;
1228
- bundlePath: string;
1229
- runDir: string;
1230
- } | null>;
1231
- /** Internal continuity seam for callers that already bound one run identity. */
1232
- export declare function verifyRunPrepared(cwdInput: string, runInput: string, runPaths: PreparedRunArtifactPaths): Promise<VerifyResult>;
1233
- export declare function listRuns(cwdInput: string): Promise<RunsResult>;
1234
- export declare function readReview(cwdInput: string, runInput: string): Promise<VerifyResult | (ReviewSummary & {
1235
- path: string;
1236
- runId: string;
1237
- })>;
1238
- /**
1239
- * Version 2.3.1 stopped holding a launched background command's event stream open. Version 2.3.2
1240
- * also requires an e2b release whose background command handle supports sendStdin and closeStdin,
1241
- * which the optional speech transport needs. On older releases the CLI could stay alive minutes
1242
- * past a written result (#581, measured 2026-09-04 on 2.2.3: twelve minutes).
1243
- */
1244
- export declare const DESKTOP_SDK_FLOOR = "2.3.2";
1245
- /** The advisory `doctor` attaches to an installed desktop SDK older than the floor, else undefined. */
1246
- export declare function desktopSdkAdvisory(version: string | undefined): string | undefined;
1247
- export declare function doctor(cwdInput: string, options?: {
1248
- lab?: string;
1249
- env?: NodeJS.ProcessEnv;
1250
- localAgents?: DetectLocalAgentsOptions;
1251
- }): Promise<DoctorResult>;
1252
- /** Resolve "latest" or an explicit run id to its prepared artifact paths. Exported for the
1253
- * reclaim command (#358), which must locate a run WITHOUT trusting anything but the managed dir. */
1254
- export declare function resolveRunPath(cwd: string, runInput: string): Promise<PreparedRunArtifactPaths | null>;
1255
- export {};