humanish 0.105.0 → 0.106.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1408) hide show
  1. package/AGENTS.md +91 -94
  2. package/ARCHITECTURE.md +146 -0
  3. package/CHANGELOG.md +512 -0
  4. package/CONTEXT.md +51 -0
  5. package/CONTRIBUTING.md +113 -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 +207 -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 +7 -0
  327. package/dist/lab/composition-rules.js +292 -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 +30 -0
  365. package/dist/lab/plan-base.js +126 -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 +277 -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 +223 -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 +310 -0
  470. package/dist/routes/computer-use/preflight.d.ts +23 -0
  471. package/dist/routes/computer-use/preflight.js +89 -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 +133 -0
  483. package/dist/routes/computer-use/setup.js +359 -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 +538 -0
  489. package/dist/routes/computer-use/types.js +36 -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 +157 -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 +506 -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 +70 -0
  560. package/dist/routes/terminal/live-sandbox.js +456 -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 +37 -0
  576. package/dist/routes/terminal/sandbox.js +123 -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 +193 -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 +43 -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 +104 -0
  707. package/dist/substrates/e2b/sandbox.js +216 -0
  708. package/dist/substrates/e2b/sdk.d.ts +205 -0
  709. package/dist/substrates/e2b/sdk.js +189 -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 +213 -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 +563 -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 -50
  789. package/docs/principles/actor-fidelity.md +37 -40
  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 -218
  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 +72 -60
  809. package/skills/humanish/agents/openai.yaml +2 -2
  810. package/dist/actor-contract.d.ts +0 -296
  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 -1751
  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 -2181
  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 -3543
  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 -383
  1022. package/dist/e2b-terminal-lab.js +0 -2000
  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 -541
  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 -66
  1104. package/dist/labs.js +0 -401
  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 -99
  1176. package/dist/persona-resolve.js.map +0 -1
  1177. package/dist/persona.d.ts +0 -39
  1178. package/dist/persona.js +0 -144
  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 -4030
  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 -5949
  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 -1424
  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.105.0-participant-backgrounds.md +0 -50
  1363. package/docs/release/0.20.0-external-public-shared-world.md +0 -43
  1364. package/docs/release/0.84.0-redacted-evidence.md +0 -42
  1365. package/docs/release/0.84.1-portable-feedback.md +0 -20
  1366. package/docs/release/0.85.0-observer-review.md +0 -56
  1367. package/docs/release/0.85.1-observer-continuity.md +0 -20
  1368. package/docs/release/0.86.0-participant-evidence.md +0 -50
  1369. package/docs/release/0.86.1-task-preflight-saved-recordings.md +0 -40
  1370. package/docs/release/0.87.0-participant-endings-and-phone-review.md +0 -64
  1371. package/docs/release/0.88.0-study-diagnostics.md +0 -43
  1372. package/docs/release/0.88.1-completion-evidence-and-local-app.md +0 -79
  1373. package/docs/release/0.88.2-sequential-study-budgets.md +0 -57
  1374. package/docs/release/0.89.0-study-findings.md +0 -79
  1375. package/docs/release/0.89.1-analysis-finished-notice.md +0 -24
  1376. package/docs/release/0.90.0-automatic-analysis.md +0 -21
  1377. package/docs/release/0.91.0-analysis-quality-and-defaults.md +0 -33
  1378. package/docs/release/0.91.1-study-review-polish.md +0 -28
  1379. package/docs/release/0.92.0-grid-playback.md +0 -22
  1380. package/docs/release/0.93.0-global-playback.md +0 -26
  1381. package/docs/release/0.93.1-observer-review-controls.md +0 -24
  1382. package/docs/release/0.94.0-reliability.md +0 -48
  1383. package/docs/release/0.95.0-connections-setup.md +0 -38
  1384. package/docs/release/0.96.0-real-email-receiving.md +0 -47
  1385. package/docs/release/0.96.1-browser-navigation.md +0 -22
  1386. package/docs/release/0.97.0-codex-account-analysis.md +0 -45
  1387. package/docs/release/0.98.0-local-browser-studies.md +0 -31
  1388. package/docs/release/0.99.0-local-browser-mac.md +0 -34
  1389. package/docs/release/0.99.1-action-recovery.md +0 -19
  1390. /package/dist/{agent-session.d.ts → actors/agent-session.d.ts} +0 -0
  1391. /package/dist/{cua-executor-error.d.ts → actors/computer-use/executor-error.d.ts} +0 -0
  1392. /package/dist/{cua-speech.d.ts → actors/computer-use/speech.d.ts} +0 -0
  1393. /package/dist/{actor-goal-source.d.ts → actors/goal-source.d.ts} +0 -0
  1394. /package/dist/{output-token-limit.d.ts → actors/output-token-limit.d.ts} +0 -0
  1395. /package/dist/{reasoning-effort.d.ts → actors/reasoning-effort.d.ts} +0 -0
  1396. /package/dist/{secret-prompt.d.ts → cli/secret-prompt.d.ts} +0 -0
  1397. /package/dist/{telemetry.d.ts → cli/telemetry.d.ts} +0 -0
  1398. /package/dist/{browser-evidence-hygiene.d.ts → evidence/browser-hygiene.d.ts} +0 -0
  1399. /package/dist/{serve-http.d.ts → observer/http.d.ts} +0 -0
  1400. /package/dist/{observer-library.d.ts → observer/library.d.ts} +0 -0
  1401. /package/dist/{listen.d.ts → observer/listen.d.ts} +0 -0
  1402. /package/dist/{observer-static.d.ts → observer/static.d.ts} +0 -0
  1403. /package/dist/{serve-tunnel.d.ts → observer/tunnel.d.ts} +0 -0
  1404. /package/dist/{terminal-encoding.d.ts → routes/terminal/encoding.d.ts} +0 -0
  1405. /package/dist/{concurrency.d.ts → run/concurrency.d.ts} +0 -0
  1406. /package/dist/{study-costs.d.ts → run/costs.d.ts} +0 -0
  1407. /package/dist/{run-narration-secrets.d.ts → run/transient-comms-secrets.d.ts} +0 -0
  1408. /package/dist/{tui-launch.d.ts → tui/launch.d.ts} +0 -0
@@ -0,0 +1,259 @@
1
+ import { createHash } from "node:crypto";
2
+ import { constants } from "node:fs";
3
+ import { lstat, open, unlink } from "node:fs/promises";
4
+ import path from "node:path";
5
+ import { parse, stringify } from "yaml";
6
+ import { COMMS_CONFIG_PATH, readCommsConnections } from "./connections.js";
7
+ import { discoverProviderKeys, listUserKeys, probeKeySources, } from "../keys/key-resolution.js";
8
+ import { COMMS_PROVIDERS, commsProviderLabel, DEFAULT_COMMS_PROVIDER, } from "./providers.js";
9
+ import { createReceivingAdapter } from "./receiving-runtime.js";
10
+ import { RECEIVING_SCOPE_UNSUPPORTED } from "./receiving-types.js";
11
+ import { parseLabConfig } from "../lab/config.js";
12
+ import { resolveLabManifest } from "../lab/discover.js";
13
+ import { assertPreparedSelectedOutputDirectory, prepareManagedHumanishOutputDirectory, prepareSelectedOutputDirectory, readContainedRegularFile, writeContainedOutputFile, } from "../run/contained-output.js";
14
+ export async function checkCommsConnection(args) {
15
+ const base = {
16
+ schema: "humanish.comms-check.v1",
17
+ ok: false,
18
+ connection: args.connection ?? DEFAULT_COMMS_PROVIDER.id,
19
+ online: args.online === true,
20
+ credentialPresent: false,
21
+ authenticated: null,
22
+ ready: null,
23
+ permissions: "unknown",
24
+ capacity: "unknown",
25
+ checkedAt: null,
26
+ code: "configuration_unavailable",
27
+ message: "Could not read this email connection. Check Connections or .humanish/local/comms.yaml.",
28
+ };
29
+ let adapter;
30
+ let label = DEFAULT_COMMS_PROVIDER.label;
31
+ try {
32
+ const connection = (await readCommsConnections(args.cwd)).connections[base.connection];
33
+ if (!connection)
34
+ return {
35
+ ...base,
36
+ ready: false,
37
+ code: "connection_missing",
38
+ message: `Save an ${DEFAULT_COMMS_PROVIDER.label} connection in Connections first.`,
39
+ };
40
+ label = commsProviderLabel(connection.provider);
41
+ const env = { ...args.env };
42
+ await discoverProviderKeys({
43
+ cwd: args.cwd,
44
+ env,
45
+ announce: () => { },
46
+ ...(args.keyDeps === undefined ? {} : { deps: args.keyDeps }),
47
+ });
48
+ const key = env[connection.apiKeyEnv]?.trim();
49
+ if (!key)
50
+ return {
51
+ ...base,
52
+ ready: false,
53
+ code: "credential_missing",
54
+ message: "The configured credential is missing. Add it in Connections or provide it with --env-file.",
55
+ };
56
+ base.credentialPresent = true;
57
+ if (!args.online)
58
+ return {
59
+ ...base,
60
+ ok: true,
61
+ code: "local_setup_present",
62
+ message: "Connection and key are present. Authentication, permissions, capacity and delivery are not checked. Use --online for a read-only authentication check.",
63
+ };
64
+ base.checkedAt = new Date().toISOString();
65
+ const makeAdapter = args.makeAdapter ?? ((apiKey) => createReceivingAdapter(connection, apiKey));
66
+ adapter = makeAdapter(key);
67
+ await adapter.authenticate({ timeoutMs: 8_000 });
68
+ return {
69
+ ...base,
70
+ ok: true,
71
+ authenticated: true,
72
+ code: "authenticated",
73
+ message: "Authentication passed. Inbox permissions, available capacity and delivery remain untested; this check created no resources.",
74
+ };
75
+ }
76
+ catch (error) {
77
+ // Only a code the adapter declares may reach the result; anything else stays generic.
78
+ const raw = typeof error === "object" && error !== null && "code" in error ? error.code : undefined;
79
+ const code = typeof raw === "string" && adapter?.codes.has(raw) === true ? raw : "check_unavailable";
80
+ // The adapter authenticated the key but rejected its scope.
81
+ if (code === RECEIVING_SCOPE_UNSUPPORTED)
82
+ return {
83
+ ...base,
84
+ ready: false,
85
+ authenticated: true,
86
+ code: "scope_unsupported",
87
+ message: "Authenticated, but this release requires an organization-scoped key to acquire fresh inboxes.",
88
+ };
89
+ const rejected = code === adapter?.authRejectedCode;
90
+ return {
91
+ ...base,
92
+ code,
93
+ ...(rejected ? { authenticated: false, ready: false } : {}),
94
+ message: rejected
95
+ ? `${label} rejected this credential or its permissions. Check the effective key source and replace it if needed. The saved key was kept.`
96
+ : "The connection check could not complete. The saved key was kept; retry when the provider is available.",
97
+ };
98
+ }
99
+ }
100
+ export async function receivingRequiredKey(cwd, connectionName) {
101
+ try {
102
+ return (await readCommsConnections(cwd)).connections[connectionName]?.apiKeyEnv ?? null;
103
+ }
104
+ catch {
105
+ return null;
106
+ }
107
+ }
108
+ /** Save a local copy, never rewrite a committed manifest or silently shadow it by handle. */
109
+ export async function configureCommsLab(args) {
110
+ const base = { schema: "humanish.comms-configure.v1", ok: false, applied: false };
111
+ try {
112
+ const connection = (await readCommsConnections(args.cwd)).connections[args.connection];
113
+ if (!connection)
114
+ return { ...base, message: "Save the selected connection first." };
115
+ const source = await resolveLabManifest(args.cwd, args.lab);
116
+ if (!source.ok)
117
+ return { ...base, message: "The selected lab could not be read safely." };
118
+ const root = await prepareSelectedOutputDirectory(args.cwd, args.cwd);
119
+ const rel = path
120
+ .relative(root.requestedPath, path.resolve(args.cwd, source.path))
121
+ .replace(/\\/g, "/");
122
+ const bytes = await readContainedRegularFile(root, rel);
123
+ if (!bytes || bytes.length > 1024 * 1024)
124
+ return { ...base, message: "The lab is missing or too large." };
125
+ const raw = parse(bytes.toString("utf8"));
126
+ if (!raw || typeof raw !== "object" || Array.isArray(raw))
127
+ return { ...base, message: "The lab must be a mapping." };
128
+ const lab = raw;
129
+ const existing = lab.comms;
130
+ if (existing?.email && existing.email.connection === undefined)
131
+ return {
132
+ ...base,
133
+ message: "This lab uses local capture. Preserve it or make a separate lab before selecting real email.",
134
+ };
135
+ lab.comms = { ...existing, email: { ...existing?.email, connection: args.connection } };
136
+ const validated = parseLabConfig(lab);
137
+ if (!validated.ok)
138
+ return {
139
+ ...base,
140
+ message: "This lab does not support real email receiving. Use a hosted computer-use app-url, clone or local-tree route; shared-world must be concurrent.",
141
+ };
142
+ const filename = path
143
+ .basename(source.path)
144
+ .replace(/\.ya?ml$/, "")
145
+ .replace(/-receiving$/, "") + "-receiving.yaml";
146
+ if (!/^[A-Za-z0-9_][A-Za-z0-9._-]{0,110}\.yaml$/.test(filename))
147
+ return { ...base, message: "Use a simple lab filename before configuring email." };
148
+ const destination = `.humanish/local/labs/${filename}`;
149
+ if (rel === destination)
150
+ return {
151
+ ...base,
152
+ message: "This is already the local receiving copy. Select its original lab to configure a separate copy, or edit this manifest directly.",
153
+ };
154
+ let prior;
155
+ try {
156
+ prior = await readContainedRegularFile(root, destination);
157
+ }
158
+ catch {
159
+ return { ...base, message: "The local destination could not be read safely." };
160
+ }
161
+ const content = stringify(lab);
162
+ const token = createHash("sha256")
163
+ .update(bytes)
164
+ .update("\0")
165
+ .update(prior ?? "missing")
166
+ .update("\0")
167
+ .update(destination)
168
+ .update("\0")
169
+ .update(args.connection)
170
+ .digest("hex");
171
+ const plan = {
172
+ ...base,
173
+ ok: true,
174
+ path: destination,
175
+ planToken: token,
176
+ connection: args.connection,
177
+ message: `Save ${destination} with fresh ${commsProviderLabel(connection.provider)} inboxes. Email is hosted; actor and analysis models may see content. Recordings require local review and cannot be automatically published. Provider charges are separate. Launch this exact path.`,
178
+ };
179
+ if (!args.apply)
180
+ return plan;
181
+ if (args.planToken !== undefined && args.planToken !== token)
182
+ return {
183
+ ...base,
184
+ message: "The lab or destination changed since preview. Preview again before saving.",
185
+ };
186
+ const directory = await prepareManagedHumanishOutputDirectory(args.cwd, "local", "labs");
187
+ const lockPath = path.join(directory.physicalPath, ".comms-configure.lock");
188
+ const lock = await open(lockPath, constants.O_CREAT | constants.O_EXCL | constants.O_WRONLY | constants.O_NOFOLLOW, 0o600);
189
+ const identity = await lock.stat();
190
+ try {
191
+ const currentSource = await readContainedRegularFile(root, rel);
192
+ const currentDestination = await readContainedRegularFile(root, destination);
193
+ if (!currentSource?.equals(bytes) ||
194
+ (prior === null ? currentDestination !== null : !currentDestination?.equals(prior)))
195
+ return { ...base, message: "Files changed while saving. Preview again." };
196
+ await writeContainedOutputFile(directory, filename, content, "utf8");
197
+ }
198
+ finally {
199
+ await lock.close();
200
+ await assertPreparedSelectedOutputDirectory(directory);
201
+ const current = await lstat(lockPath);
202
+ if (current.dev === identity.dev && current.ino === identity.ino)
203
+ await unlink(lockPath);
204
+ }
205
+ return {
206
+ ...plan,
207
+ applied: true,
208
+ message: `Saved ${destination}. Start that exact lab path; the original manifest was preserved.`,
209
+ };
210
+ }
211
+ catch {
212
+ return {
213
+ ...base,
214
+ message: "Could not configure this lab safely. Check configuration, paths and permissions; no provider resources were created.",
215
+ };
216
+ }
217
+ }
218
+ export async function readCommsSetup(cwd, env, deps) {
219
+ const base = {
220
+ schema: "humanish.comms-setup.v1",
221
+ configPath: COMMS_CONFIG_PATH,
222
+ providers: COMMS_PROVIDERS,
223
+ };
224
+ const keyEnv = DEFAULT_COMMS_PROVIDER.keyEnv;
225
+ const credential = {
226
+ present: false,
227
+ source: null,
228
+ stored: false,
229
+ strict: env.HUMANISH_STRICT_KEYS?.trim() === "1",
230
+ explicitlyEmpty: env[keyEnv] !== undefined && env[keyEnv].trim() === "",
231
+ };
232
+ try {
233
+ const config = await readCommsConnections(cwd);
234
+ const [probe] = await probeKeySources([keyEnv], {
235
+ cwd,
236
+ env,
237
+ ...(deps ? { deps } : {}),
238
+ });
239
+ credential.source = probe?.source ?? null;
240
+ credential.present = credential.source !== null;
241
+ credential.stored = listUserKeys(env, deps).includes(keyEnv);
242
+ return {
243
+ ...base,
244
+ ok: true,
245
+ connections: Object.entries(config.connections).map(([name, value]) => ({ name, ...value })),
246
+ credential,
247
+ message: "Checks are local. Authentication, permissions, capacity and delivery have not been verified.",
248
+ };
249
+ }
250
+ catch {
251
+ return {
252
+ ...base,
253
+ ok: false,
254
+ connections: [],
255
+ credential,
256
+ message: "Could not read connection setup. Check .humanish/local/comms.yaml and key-store permissions. No changes were made.",
257
+ };
258
+ }
259
+ }
@@ -0,0 +1,28 @@
1
+ import type { CommsMessage } from "./types.js";
2
+ declare const COMMS_THREAD_SCHEMA = "humanish.comms-thread.v1";
3
+ interface CommsThreadEntry {
4
+ id: string;
5
+ channel: CommsMessage["channel"];
6
+ /** sha256-16 of the raw sender address. */
7
+ fromDigest: string;
8
+ /** sha256-16 of each recipient inbox address. */
9
+ toDigests: string[];
10
+ /** sha256-16 of the subject (non-reversible for a PII subject; correlates identical subjects). */
11
+ subjectDigest?: string;
12
+ /** sha256-16 of each actionable link (high-entropy → non-reversible). */
13
+ linkDigests: string[];
14
+ /** COUNT ONLY — a short OTP's digest is reversible, so the code itself never lands here. */
15
+ codeCount: number;
16
+ sentAt: number;
17
+ deliveredAt: number;
18
+ }
19
+ export interface CommsThreadArtifact {
20
+ schema: typeof COMMS_THREAD_SCHEMA;
21
+ channel: CommsMessage["channel"];
22
+ count: number;
23
+ thread: CommsThreadEntry[];
24
+ }
25
+ /** Project polled inbox messages into the digest-only thread artifact. Pure; the caller writes it into
26
+ * the run dir and registers it as an adapter-artifact. */
27
+ export declare function buildCommsThreadArtifact(messages: CommsMessage[]): CommsThreadArtifact;
28
+ export {};
@@ -0,0 +1,30 @@
1
+ // Digest-only evidence for a captured comms thread (#297). Proves "the verification mail arrived and
2
+ // the persona could act on it" WITHOUT persisting raw PHI. Written as an adapter-artifact
3
+ // (humanish.comms-thread.v1), so it inherits the bundle's existence-verify + public-safety scan.
4
+ //
5
+ // Digest discipline (deliberate, see below): addresses + links are digested (high entropy → the digest
6
+ // is not reversible). The subject is DIGESTED too, not stored as text — redactText only scrubs
7
+ // secret-SHAPED tokens/paths, not free-form PII (the #108 gap), so a subject like "results for <name>"
8
+ // would pass through verbatim; a sha256-16 keeps a PII subject non-reversible while still letting you
9
+ // correlate identical subjects. OTP CODES are a COUNT ONLY, never digested — a sha256 of a 6-digit code
10
+ // has ~10^6 preimages and is trivially brute-forced back to the code, so a "code digest" would leak it.
11
+ // Net: NO raw address/subject/link/OTP text ever lands in the artifact. Same caution as the lobby code.
12
+ import { digestText } from "../evidence/redaction.js";
13
+ const COMMS_THREAD_SCHEMA = "humanish.comms-thread.v1";
14
+ /** Project polled inbox messages into the digest-only thread artifact. Pure; the caller writes it into
15
+ * the run dir and registers it as an adapter-artifact. */
16
+ export function buildCommsThreadArtifact(messages) {
17
+ const channel = messages[0]?.channel ?? "email";
18
+ const thread = messages.map((message) => ({
19
+ id: message.id,
20
+ channel: message.channel,
21
+ fromDigest: digestText(message.from, 16),
22
+ toDigests: message.to.map((address) => address.digest),
23
+ ...(message.subject === undefined ? {} : { subjectDigest: digestText(message.subject, 16) }),
24
+ linkDigests: message.links.map((link) => digestText(link, 16)),
25
+ codeCount: message.codes.length,
26
+ sentAt: message.sentAt,
27
+ deliveredAt: message.deliveredAt,
28
+ }));
29
+ return { schema: COMMS_THREAD_SCHEMA, channel, count: thread.length, thread };
30
+ }
@@ -0,0 +1,76 @@
1
+ export type CommsChannelKind = "email" | "sms";
2
+ /**
3
+ * One participant's inbox identity. `value` is runtime-only; `digest` is the only form meant to
4
+ * persist.
5
+ */
6
+ export interface CommsAddress {
7
+ channel: CommsChannelKind;
8
+ /** Which participant owns this inbox. */
9
+ participantId: string;
10
+ /** Runtime-only raw address, e.g. user-07@example.test | +15550137. */
11
+ value: string;
12
+ /** sha256-short(value) — the only form persisted (redaction.digestText). */
13
+ digest: string;
14
+ }
15
+ /** Runtime-only captured raster attachment. Bytes never enter digest-only evidence. */
16
+ export interface CommsInlineImage {
17
+ contentId: string;
18
+ contentType: string;
19
+ base64: string;
20
+ }
21
+ /** A message that arrived to (or was sent from) an inbox. Body/links/codes are runtime-only. */
22
+ export interface CommsMessage {
23
+ id: string;
24
+ channel: CommsChannelKind;
25
+ /** Raw sender — an app-under-test address, or another actor's address. Runtime-only. */
26
+ from: string;
27
+ /** Resolved recipient inboxes this message was delivered to. */
28
+ to: CommsAddress[];
29
+ subject?: string;
30
+ /** Runtime-only for real; local-only for fake (never a share path without redaction — #108). */
31
+ body: string;
32
+ inlineImages?: CommsInlineImage[];
33
+ /** Actionable links extracted from the body (magic-link / invite / reset). Runtime-only. */
34
+ links: string[];
35
+ /** OTP-shaped tokens extracted from the body. Runtime-only; literal-scrub targets. */
36
+ codes: string[];
37
+ sentAt: number;
38
+ deliveredAt: number;
39
+ }
40
+ /** An actor sending OUT (a reply/compose); recipients are known CommsAddresses. */
41
+ export interface OutboundMessage {
42
+ from: CommsAddress;
43
+ to: CommsAddress[];
44
+ subject?: string;
45
+ body: string;
46
+ inlineImages?: CommsInlineImage[];
47
+ }
48
+ /** A raw inbound from an INGRESS (the vendor-neutral email catch, an SMTP sink, …): recipients are
49
+ * raw address strings the bus resolves against its provisioned inboxes. */
50
+ export interface InboundRaw {
51
+ from: string;
52
+ to: string[];
53
+ subject?: string;
54
+ body: string;
55
+ inlineImages?: CommsInlineImage[];
56
+ }
57
+ /**
58
+ * The captured-mail port. Only the in-process FakeInbox implements it; real email goes through
59
+ * ReceivingAdapter (receiving-types.ts). It is async so a network adapter could fit without
60
+ * changing callers; the fake resolves immediately.
61
+ */
62
+ export interface CommsChannel {
63
+ readonly channel: CommsChannelKind;
64
+ readonly kind: "fake" | "real";
65
+ /** Mint an inbox for a participant (address generated). Idempotent per participant. */
66
+ provision(participantId: string): Promise<CommsAddress>;
67
+ /** Route a composed message from one actor to addressed inboxes. Returns the delivered record. */
68
+ send(message: OutboundMessage): Promise<CommsMessage>;
69
+ /** Route a raw ingress delivery (app-under-test → recipient strings). Returns the messages that
70
+ * matched a provisioned inbox (unmatched recipients are dropped — no inbox to deliver to). */
71
+ deliverRaw(inbound: InboundRaw): Promise<CommsMessage[]>;
72
+ /** New messages delivered to `address` since `since` (exclusive), oldest-first. Drives the surface. */
73
+ poll(address: CommsAddress, since?: number): Promise<CommsMessage[]>;
74
+ /** Release every provisioned inbox. */
75
+ teardown(): Promise<void>;
76
+ }
@@ -0,0 +1,8 @@
1
+ // The addressed message bus for captured mail (#297): the email or SMS a persona receives off the
2
+ // app, as a testable surface. One port, addressed by lane, so the inbox surface and the evidence
3
+ // writer read messages without knowing how they were captured.
4
+ //
5
+ // PUBLIC-SAFETY: raw address values, message bodies, links, and codes are RUNTIME-ONLY. Only the
6
+ // address DIGEST (sha256-short, via redaction.digestText) is ever meant to reach a persisted bundle;
7
+ // a verification link / OTP has "no secret shape" (like the lobby code) → literal-scrub + digest.
8
+ export {};
@@ -0,0 +1,90 @@
1
+ import { type CuaActorSessionOptions } from "./actors/computer-use/actor.js";
2
+ import type { CuaLoopResult } from "./actors/computer-use/loop.js";
3
+ import type { AutomaticAnalysisHooks as AnalysisHooks } from "./analysis/automatic-completion.js";
4
+ import type { BrowserLabAdapterHooks as BrowserAdapterHooks } from "./lab/adapter-extension.js";
5
+ import { type LabBackend as Backend } from "./lab/plan.js";
6
+ import type { LabConfig } from "./lab/types.js";
7
+ import type { CuaActorLabHooks as CuaHooks, CuaActorLabResult as CuaResult, RunCuaActorLabOptions as CuaOptions } from "./routes/computer-use/types.js";
8
+ import type { RunScriptedBrowserLabOptions as ScriptedOptions, ScriptedBrowserLabHooks as ScriptedHooks, ScriptedBrowserLabResult as ScriptedResult } from "./routes/scripted/types.js";
9
+ import type { ConcurrentSharedWorldLabResult as SharedWorldResult, RunConcurrentSharedWorldLabOptions as SharedWorldOptions, SharedWorldLabHooks as SharedWorldHooks } from "./routes/shared-world/types.js";
10
+ import type { RunTerminalProductLabOptions as TerminalOptions, TerminalProductLabHooks as TerminalHooks, TerminalProductLabResult as TerminalResult } from "./routes/terminal/types.js";
11
+ import type { RunOptions as PreviewOptions, RunResult as PreviewResult } from "./run/results.js";
12
+ import type { SubjectPhaseEvent as PhaseEvent } from "./subject/steps.js";
13
+ /**
14
+ * @deprecated Use `runComputerUseLoop` with `createOpenAiResponsesProvider({ singleDispatch: true })`,
15
+ * the strict-spend composition in docs/contracts/schemas.md.
16
+ */
17
+ export declare function runCuaActorSession(options: CuaActorSessionOptions): Promise<CuaLoopResult>;
18
+ /** @deprecated Use `runLab(config, options)`; its result is `LabResult<"computer-use">`. */
19
+ export declare function runCuaActorLab(options: CuaOptions): Promise<CuaResult>;
20
+ /** @deprecated Use `runLab(config, options)`; its result is `LabResult<"scripted">`. */
21
+ export declare function runScriptedBrowserLab(options: ScriptedOptions): Promise<ScriptedResult>;
22
+ /** @deprecated Use `runLab(config, options)`; its result is `LabResult<"terminal">`. */
23
+ export declare function runTerminalProductLab(options: TerminalOptions): Promise<TerminalResult>;
24
+ /** @deprecated Use `runLab(config, options)`; its result is `LabResult<"shared-world">`. */
25
+ export declare function runConcurrentSharedWorld(options: SharedWorldOptions): Promise<SharedWorldResult>;
26
+ /** @deprecated Use `runLab(config, options)` on a `this-repo` lab; its result is `LabResult<"preview">`. */
27
+ export declare function runDryRun(options: PreviewOptions): Promise<PreviewResult>;
28
+ /** @deprecated Use `routeOf(config)` on the lab. This goes in the next minor. */
29
+ export declare function actorResolvesToTerminal(type: string | undefined): boolean;
30
+ /**
31
+ * @deprecated Use the `plan` `LabEvent` from `RunLabOptions.onEvent`, which lists every
32
+ * participant. This goes in the next minor.
33
+ */
34
+ export declare function cuaLaneCount(config: LabConfig): number;
35
+ /**
36
+ * @deprecated Use `parseLabConfig`, which refuses a seat entry that is not same-origin loopback.
37
+ * This goes in the next minor.
38
+ */
39
+ export declare function resolveSeatUrl(serveUrl: string, entry: string | undefined): string | null;
40
+ /** @deprecated Use `parseLabConfig`, which returns the same reason. This goes in the next minor. */
41
+ export declare function cuaLaneValidationReason(config: LabConfig): string | null;
42
+ /** @deprecated Use `parseLabConfig`, which returns the same reason. This goes in the next minor. */
43
+ export declare function sharedWorldValidationReason(config: LabConfig): string | null;
44
+ /** @deprecated Use `parseLabConfig`, which returns the same reason. This goes in the next minor. */
45
+ export declare function concurrentSharedWorldValidationReason(config: LabConfig): string | null;
46
+ /** @deprecated Use `parseLabConfig`, which returns the same reason. This goes in the next minor. */
47
+ export declare function externalPublicSharedWorldValidationReason(config: LabConfig): string | null;
48
+ /**
49
+ * @deprecated Use `RunLabOptions.dryRun`; without it, `scenario.mode` decides. This goes in the
50
+ * next minor.
51
+ */
52
+ export declare function resolveLabDryRun(config: LabConfig, override: boolean | undefined, fallback: boolean | undefined): boolean | undefined;
53
+ /** @deprecated `parseLabConfig` refuses a roster larger than this. This goes in the next minor. */
54
+ export declare const MAX_CUA_LANES = 16;
55
+ /** @deprecated Use `LabRoute`. `LabOutcome.backend` and this type go in the next minor. */
56
+ export type LabBackend = Backend;
57
+ /** @deprecated Use `RunLabOptions` with `runLab`. */
58
+ export type RunCuaActorLabOptions = CuaOptions;
59
+ /** @deprecated Use `LabResult<"computer-use">`. */
60
+ export type CuaActorLabResult = CuaResult;
61
+ /** @deprecated Use `RunLabOptions` with `runLab`. */
62
+ export type RunScriptedBrowserLabOptions = ScriptedOptions;
63
+ /** @deprecated Use `LabResult<"scripted">`. */
64
+ export type ScriptedBrowserLabResult = ScriptedResult;
65
+ /** @deprecated Use `RunLabOptions` with `runLab`. */
66
+ export type RunTerminalProductLabOptions = TerminalOptions;
67
+ /** @deprecated Use `LabResult<"terminal">`. */
68
+ export type TerminalProductLabResult = TerminalResult;
69
+ /** @deprecated Use `RunLabOptions` with `runLab`. */
70
+ export type RunConcurrentSharedWorldLabOptions = SharedWorldOptions;
71
+ /** @deprecated Use `LabResult<"shared-world">`. */
72
+ export type ConcurrentSharedWorldLabResult = SharedWorldResult;
73
+ /** @deprecated Use `RunLabOptions` with `runLab`. */
74
+ export type RunOptions = PreviewOptions;
75
+ /** @deprecated Use `LabResult<"preview">`. */
76
+ export type RunResult = PreviewResult;
77
+ /** @deprecated Use the typed homes on `RunLabOptions` (`scorer`, `createProvider`, `inProcess`, `prepareDesktop`, `env`, `onEvent`, `onStream`). */
78
+ export type CuaActorLabHooks = CuaHooks;
79
+ /** @deprecated Use the typed homes on `RunLabOptions` (`prepareDesktop`, `env`). */
80
+ export type ScriptedBrowserLabHooks = ScriptedHooks;
81
+ /** @deprecated Use the typed homes on `RunLabOptions` (`scorer`, `env`). */
82
+ export type TerminalProductLabHooks = TerminalHooks;
83
+ /** @deprecated Use the typed homes on `RunLabOptions` (`scorer`, `prepareDesktop`, `env`, `onEvent`, `onStream`). */
84
+ export type SharedWorldLabHooks = SharedWorldHooks;
85
+ /** @deprecated Use `RunLabOptions.scorer`, an `AdapterScorerModule`. */
86
+ export type BrowserLabAdapterHooks = BrowserAdapterHooks;
87
+ /** @deprecated Use the `subject-phase` `LabEvent` through `RunLabOptions.onEvent`. */
88
+ export type SubjectPhaseEvent = PhaseEvent;
89
+ /** @deprecated Use `RunLabOptions.onEvent` (`analysis-started`, `analysis-finished`) and `analysisSignal`. */
90
+ export type AutomaticAnalysisHooks = AnalysisHooks;
@@ -0,0 +1,106 @@
1
+ // The exports this minor deprecates and the next minor removes (docs/contracts/schemas.md,
2
+ // "Library options"). Each function warns once per process and then runs unchanged. Each type is
3
+ // an alias of the type it always was, and each constant has the value it always had. Internal code
4
+ // calls the original functions, so only a package caller sees a warning.
5
+ import { runCuaActorSession as cuaActorSession, } from "./actors/computer-use/actor.js";
6
+ import { resolveLabDryRun as labDryRun } from "./lab/plan.js";
7
+ import { actorResolvesToTerminal as resolvesToTerminal, cuaLaneCount as laneCount, MAX_CUA_LANES as laneCap, resolveSeatUrl as seatUrl, } from "./lab/routing.js";
8
+ import { concurrentSharedWorldValidationReason as concurrentSharedWorldReason, cuaLaneValidationReason as laneRosterReason, externalPublicSharedWorldValidationReason as externalPublicSharedWorldReason, sharedWorldValidationReason as sharedWorldReason, } from "./lab/validation.js";
9
+ import { runCuaActorLab as cuaActorLab } from "./routes/computer-use/route.js";
10
+ import { runScriptedBrowserLab as scriptedBrowserLab } from "./routes/scripted/route.js";
11
+ import { runConcurrentSharedWorld as concurrentSharedWorld } from "./routes/shared-world/route.js";
12
+ import { runTerminalProductLab as terminalProductLab } from "./routes/terminal/route.js";
13
+ import { runDryRun as dryRun } from "./run/dry-run.js";
14
+ const warned = new Set();
15
+ function deprecated(name, replacement) {
16
+ if (warned.has(name))
17
+ return;
18
+ warned.add(name);
19
+ process.emitWarning(`${name} is deprecated and is removed in the next minor. Use ${replacement}.`, { type: "DeprecationWarning", code: "HUMANISH_DEPRECATED_EXPORT" });
20
+ }
21
+ const RUN_LAB = "runLab(config, options); its result is LabResult<route>";
22
+ /**
23
+ * @deprecated Use `runComputerUseLoop` with `createOpenAiResponsesProvider({ singleDispatch: true })`,
24
+ * the strict-spend composition in docs/contracts/schemas.md.
25
+ */
26
+ export function runCuaActorSession(options) {
27
+ deprecated("runCuaActorSession", "runComputerUseLoop with createOpenAiResponsesProvider({ singleDispatch: true }) (the strict-spend composition in docs/contracts/schemas.md)");
28
+ return cuaActorSession(options);
29
+ }
30
+ /** @deprecated Use `runLab(config, options)`; its result is `LabResult<"computer-use">`. */
31
+ export function runCuaActorLab(options) {
32
+ deprecated("runCuaActorLab", RUN_LAB);
33
+ return cuaActorLab(options);
34
+ }
35
+ /** @deprecated Use `runLab(config, options)`; its result is `LabResult<"scripted">`. */
36
+ export function runScriptedBrowserLab(options) {
37
+ deprecated("runScriptedBrowserLab", RUN_LAB);
38
+ return scriptedBrowserLab(options);
39
+ }
40
+ /** @deprecated Use `runLab(config, options)`; its result is `LabResult<"terminal">`. */
41
+ export function runTerminalProductLab(options) {
42
+ deprecated("runTerminalProductLab", RUN_LAB);
43
+ return terminalProductLab(options);
44
+ }
45
+ /** @deprecated Use `runLab(config, options)`; its result is `LabResult<"shared-world">`. */
46
+ export function runConcurrentSharedWorld(options) {
47
+ deprecated("runConcurrentSharedWorld", RUN_LAB);
48
+ return concurrentSharedWorld(options);
49
+ }
50
+ /** @deprecated Use `runLab(config, options)` on a `this-repo` lab; its result is `LabResult<"preview">`. */
51
+ export function runDryRun(options) {
52
+ deprecated("runDryRun", RUN_LAB);
53
+ return dryRun(options);
54
+ }
55
+ const PARSE_REASON = "parseLabConfig, which returns the same reason";
56
+ /** @deprecated Use `routeOf(config)` on the lab. This goes in the next minor. */
57
+ export function actorResolvesToTerminal(type) {
58
+ deprecated("actorResolvesToTerminal", "routeOf(config) on the lab");
59
+ return resolvesToTerminal(type);
60
+ }
61
+ /**
62
+ * @deprecated Use the `plan` `LabEvent` from `RunLabOptions.onEvent`, which lists every
63
+ * participant. This goes in the next minor.
64
+ */
65
+ export function cuaLaneCount(config) {
66
+ deprecated("cuaLaneCount", "the plan LabEvent from RunLabOptions.onEvent, which lists every participant");
67
+ return laneCount(config);
68
+ }
69
+ /**
70
+ * @deprecated Use `parseLabConfig`, which refuses a seat entry that is not same-origin loopback.
71
+ * This goes in the next minor.
72
+ */
73
+ export function resolveSeatUrl(serveUrl, entry) {
74
+ deprecated("resolveSeatUrl", "parseLabConfig, which refuses a participant entry that is not same-origin loopback");
75
+ return seatUrl(serveUrl, entry);
76
+ }
77
+ /** @deprecated Use `parseLabConfig`, which returns the same reason. This goes in the next minor. */
78
+ export function cuaLaneValidationReason(config) {
79
+ deprecated("cuaLaneValidationReason", PARSE_REASON);
80
+ return laneRosterReason(config);
81
+ }
82
+ /** @deprecated Use `parseLabConfig`, which returns the same reason. This goes in the next minor. */
83
+ export function sharedWorldValidationReason(config) {
84
+ deprecated("sharedWorldValidationReason", PARSE_REASON);
85
+ return sharedWorldReason(config);
86
+ }
87
+ /** @deprecated Use `parseLabConfig`, which returns the same reason. This goes in the next minor. */
88
+ export function concurrentSharedWorldValidationReason(config) {
89
+ deprecated("concurrentSharedWorldValidationReason", PARSE_REASON);
90
+ return concurrentSharedWorldReason(config);
91
+ }
92
+ /** @deprecated Use `parseLabConfig`, which returns the same reason. This goes in the next minor. */
93
+ export function externalPublicSharedWorldValidationReason(config) {
94
+ deprecated("externalPublicSharedWorldValidationReason", PARSE_REASON);
95
+ return externalPublicSharedWorldReason(config);
96
+ }
97
+ /**
98
+ * @deprecated Use `RunLabOptions.dryRun`; without it, `scenario.mode` decides. This goes in the
99
+ * next minor.
100
+ */
101
+ export function resolveLabDryRun(config, override, fallback) {
102
+ deprecated("resolveLabDryRun", "RunLabOptions.dryRun; without it, scenario.mode decides");
103
+ return labDryRun(config, override, fallback);
104
+ }
105
+ /** @deprecated `parseLabConfig` refuses a roster larger than this. This goes in the next minor. */
106
+ export const MAX_CUA_LANES = laneCap;
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Browser chrome that belongs to the host environment (update prompts, password
3
+ * save bubbles, first-run UI) pollutes product evidence. Keep these knobs in one
4
+ * place so browser-backed lanes can prefer product pixels over browser UI.
5
+ */
6
+ export const CHROMIUM_EVIDENCE_HYGIENE_FLAGS = [
7
+ "--disable-background-networking",
8
+ "--disable-component-update",
9
+ "--disable-default-apps",
10
+ "--disable-domain-reliability",
11
+ "--disable-extensions",
12
+ "--disable-sync",
13
+ "--no-default-browser-check",
14
+ "--no-first-run",
15
+ "--password-store=basic",
16
+ "--use-mock-keychain",
17
+ ];
18
+ const CHROMIUM_EVIDENCE_PROFILE_PREFERENCES = {
19
+ autofill: {
20
+ credit_card_enabled: false,
21
+ profile_enabled: false,
22
+ },
23
+ browser: {
24
+ check_default_browser: false,
25
+ // Linux CSD adds 8px to Chrome's minimum width. Use the window manager's
26
+ // frame so the 500px desktop floor can be physically contained.
27
+ custom_chrome_frame: false,
28
+ },
29
+ credentials_enable_service: false,
30
+ payments: {
31
+ can_make_payment_enabled: false,
32
+ },
33
+ profile: {
34
+ default_content_setting_values: {
35
+ notifications: 2,
36
+ },
37
+ password_manager_enabled: false,
38
+ },
39
+ };
40
+ export function chromiumEvidenceProfilePreferencesJson() {
41
+ return JSON.stringify(CHROMIUM_EVIDENCE_PROFILE_PREFERENCES);
42
+ }