pi-agent-browser-native 0.9.4 → 0.9.6

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 (388) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/README.md +60 -812
  3. package/dist/extensions/agent-browser/index.js +2381 -1706
  4. package/dist/packaged/lib/browser-session-conversion.js +2810 -0
  5. package/dist/packaged/lib/config-policy.js +599 -0
  6. package/dist/packaged/lib/parsing.js +34 -0
  7. package/dist/packaged/lib/playbook.js +694 -0
  8. package/dist/packaged/lib/results/snapshot.js +2671 -0
  9. package/dist/packaged/lib/runtime.js +3027 -0
  10. package/docs/ARCHITECTURE.md +14 -3
  11. package/docs/CODE_QUALITY.md +39 -3
  12. package/docs/COMMAND_REFERENCE.md +22 -22
  13. package/docs/ELECTRON.md +24 -2
  14. package/docs/PERFORMANCE.md +243 -0
  15. package/docs/REFERENCE.md +869 -0
  16. package/docs/RELEASE.md +9 -9
  17. package/docs/REQUIREMENTS.md +1 -1
  18. package/docs/SESSION_STORAGE.md +11 -3
  19. package/docs/SUPPORT_MATRIX.md +16 -11
  20. package/docs/TOOL_CONTRACT.md +17 -13
  21. package/docs/performance/2026-10-12.json +7257 -0
  22. package/docs/platform-smoke.md +3 -3
  23. package/package.json +15 -3
  24. package/scripts/build.mjs +16 -5
  25. package/scripts/config.mjs +24 -20
  26. package/scripts/convert-browser-session.mjs +1 -1
  27. package/scripts/doctor.mjs +2 -2
  28. package/scripts/platform-smoke/lease-evidence.mjs +2 -4
  29. package/scripts/platform-smoke/linux-image/Dockerfile +8 -2
  30. package/scripts/platform-smoke/targets.mjs +1 -5
  31. package/dist/extensions/agent-browser/lib/argv-descriptor.js +0 -123
  32. package/dist/extensions/agent-browser/lib/argv-grammar.js +0 -320
  33. package/dist/extensions/agent-browser/lib/bash-guard.js +0 -193
  34. package/dist/extensions/agent-browser/lib/batch-lifecycle.js +0 -131
  35. package/dist/extensions/agent-browser/lib/browser-execution-claim-codec.js +0 -61
  36. package/dist/extensions/agent-browser/lib/browser-execution-claim-storage.js +0 -232
  37. package/dist/extensions/agent-browser/lib/browser-execution-claims.js +0 -202
  38. package/dist/extensions/agent-browser/lib/browser-execution-identity.js +0 -77
  39. package/dist/extensions/agent-browser/lib/browser-journal-branch.js +0 -98
  40. package/dist/extensions/agent-browser/lib/browser-journal-contracts.js +0 -1
  41. package/dist/extensions/agent-browser/lib/browser-journal-projection.js +0 -221
  42. package/dist/extensions/agent-browser/lib/browser-journal-reader.js +0 -89
  43. package/dist/extensions/agent-browser/lib/browser-journal-replay.js +0 -246
  44. package/dist/extensions/agent-browser/lib/browser-journal.js +0 -148
  45. package/dist/extensions/agent-browser/lib/browser-legacy-pages.js +0 -220
  46. package/dist/extensions/agent-browser/lib/browser-legacy-projection.js +0 -282
  47. package/dist/extensions/agent-browser/lib/browser-legacy-types.js +0 -1
  48. package/dist/extensions/agent-browser/lib/browser-session-conversion-stream.js +0 -217
  49. package/dist/extensions/agent-browser/lib/browser-session-conversion.js +0 -126
  50. package/dist/extensions/agent-browser/lib/browser-transcript-contracts.js +0 -35
  51. package/dist/extensions/agent-browser/lib/browser-transcript-validation.js +0 -166
  52. package/dist/extensions/agent-browser/lib/browser-transcript.js +0 -189
  53. package/dist/extensions/agent-browser/lib/browser-value-parsing.js +0 -15
  54. package/dist/extensions/agent-browser/lib/command-capabilities.js +0 -340
  55. package/dist/extensions/agent-browser/lib/command-policy.js +0 -155
  56. package/dist/extensions/agent-browser/lib/command-taxonomy.js +0 -105
  57. package/dist/extensions/agent-browser/lib/config-policy.js +0 -450
  58. package/dist/extensions/agent-browser/lib/config-providers.js +0 -71
  59. package/dist/extensions/agent-browser/lib/config-validation.js +0 -218
  60. package/dist/extensions/agent-browser/lib/config.js +0 -69
  61. package/dist/extensions/agent-browser/lib/electron/cdp.js +0 -58
  62. package/dist/extensions/agent-browser/lib/electron/cleanup.js +0 -308
  63. package/dist/extensions/agent-browser/lib/electron/discovery-darwin.js +0 -109
  64. package/dist/extensions/agent-browser/lib/electron/discovery-desktop.js +0 -136
  65. package/dist/extensions/agent-browser/lib/electron/discovery-evidence.js +0 -89
  66. package/dist/extensions/agent-browser/lib/electron/discovery-linux.js +0 -93
  67. package/dist/extensions/agent-browser/lib/electron/discovery-packages.js +0 -162
  68. package/dist/extensions/agent-browser/lib/electron/discovery-types.js +0 -2
  69. package/dist/extensions/agent-browser/lib/electron/discovery.js +0 -217
  70. package/dist/extensions/agent-browser/lib/electron/launch-monitor.js +0 -102
  71. package/dist/extensions/agent-browser/lib/electron/launch-process.js +0 -209
  72. package/dist/extensions/agent-browser/lib/electron/launch-types.js +0 -2
  73. package/dist/extensions/agent-browser/lib/electron/launch.js +0 -329
  74. package/dist/extensions/agent-browser/lib/executable-path.js +0 -29
  75. package/dist/extensions/agent-browser/lib/execution-cwd.js +0 -67
  76. package/dist/extensions/agent-browser/lib/fs-utils.js +0 -18
  77. package/dist/extensions/agent-browser/lib/input-modes/electron.js +0 -201
  78. package/dist/extensions/agent-browser/lib/input-modes/job.js +0 -195
  79. package/dist/extensions/agent-browser/lib/input-modes/lookup-network-evidence.js +0 -104
  80. package/dist/extensions/agent-browser/lib/input-modes/lookup-plan.js +0 -132
  81. package/dist/extensions/agent-browser/lib/input-modes/lookup-redaction.js +0 -57
  82. package/dist/extensions/agent-browser/lib/input-modes/lookup-source-evidence.js +0 -151
  83. package/dist/extensions/agent-browser/lib/input-modes/lookup-workspace.js +0 -142
  84. package/dist/extensions/agent-browser/lib/input-modes/lookups.js +0 -83
  85. package/dist/extensions/agent-browser/lib/input-modes/params.js +0 -195
  86. package/dist/extensions/agent-browser/lib/input-modes/qa-analysis.js +0 -268
  87. package/dist/extensions/agent-browser/lib/input-modes/qa-presentation.js +0 -117
  88. package/dist/extensions/agent-browser/lib/input-modes/script-child.js +0 -396
  89. package/dist/extensions/agent-browser/lib/input-modes/script-protocol.js +0 -86
  90. package/dist/extensions/agent-browser/lib/input-modes/script-types.js +0 -1
  91. package/dist/extensions/agent-browser/lib/input-modes/script-validation.js +0 -60
  92. package/dist/extensions/agent-browser/lib/input-modes/script.js +0 -108
  93. package/dist/extensions/agent-browser/lib/input-modes/semantic-action.js +0 -243
  94. package/dist/extensions/agent-browser/lib/input-modes/shared.js +0 -48
  95. package/dist/extensions/agent-browser/lib/input-modes/types.js +0 -65
  96. package/dist/extensions/agent-browser/lib/json-schema.js +0 -65
  97. package/dist/extensions/agent-browser/lib/launch-scoped-flags.js +0 -212
  98. package/dist/extensions/agent-browser/lib/managed-session-policy-lock.js +0 -165
  99. package/dist/extensions/agent-browser/lib/managed-session-posix-storage.js +0 -58
  100. package/dist/extensions/agent-browser/lib/managed-session-project-identity.js +0 -244
  101. package/dist/extensions/agent-browser/lib/managed-session-restore-context.js +0 -84
  102. package/dist/extensions/agent-browser/lib/managed-session-restore-policy.js +0 -119
  103. package/dist/extensions/agent-browser/lib/managed-session-restore-state.js +0 -83
  104. package/dist/extensions/agent-browser/lib/managed-session-restore.js +0 -212
  105. package/dist/extensions/agent-browser/lib/managed-session-snapshot-records.js +0 -277
  106. package/dist/extensions/agent-browser/lib/managed-session-snapshots.js +0 -181
  107. package/dist/extensions/agent-browser/lib/managed-session-storage.js +0 -126
  108. package/dist/extensions/agent-browser/lib/native-confirmation.js +0 -140
  109. package/dist/extensions/agent-browser/lib/native-output.js +0 -81
  110. package/dist/extensions/agent-browser/lib/orchestration/batch-stdin.js +0 -182
  111. package/dist/extensions/agent-browser/lib/orchestration/browser-run/artifact-merge.js +0 -30
  112. package/dist/extensions/agent-browser/lib/orchestration/browser-run/artifact-paths.js +0 -188
  113. package/dist/extensions/agent-browser/lib/orchestration/browser-run/browser-observation-result.js +0 -82
  114. package/dist/extensions/agent-browser/lib/orchestration/browser-run/click-dispatch.js +0 -406
  115. package/dist/extensions/agent-browser/lib/orchestration/browser-run/diagnostic-values.js +0 -31
  116. package/dist/extensions/agent-browser/lib/orchestration/browser-run/diagnostics.js +0 -240
  117. package/dist/extensions/agent-browser/lib/orchestration/browser-run/electron-observation.js +0 -202
  118. package/dist/extensions/agent-browser/lib/orchestration/browser-run/electron-text-diagnostics.js +0 -109
  119. package/dist/extensions/agent-browser/lib/orchestration/browser-run/fill-diagnostics.js +0 -119
  120. package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result-action-recovery.js +0 -147
  121. package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result-actions.js +0 -144
  122. package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result-content.js +0 -123
  123. package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result-contracts.js +0 -1
  124. package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result-details.js +0 -156
  125. package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result-electron.js +0 -179
  126. package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result-evidence.js +0 -39
  127. package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result-missing-binary.js +0 -89
  128. package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result-recovery.js +0 -97
  129. package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result-redaction.js +0 -106
  130. package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result-timeout.js +0 -110
  131. package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result.js +0 -53
  132. package/dist/extensions/agent-browser/lib/orchestration/browser-run/index.js +0 -224
  133. package/dist/extensions/agent-browser/lib/orchestration/browser-run/interaction-diagnostics.js +0 -290
  134. package/dist/extensions/agent-browser/lib/orchestration/browser-run/managed-session-close.js +0 -167
  135. package/dist/extensions/agent-browser/lib/orchestration/browser-run/managed-session-daemon-inspection.js +0 -108
  136. package/dist/extensions/agent-browser/lib/orchestration/browser-run/managed-session-daemon-policy.js +0 -174
  137. package/dist/extensions/agent-browser/lib/orchestration/browser-run/native-helper-observation.js +0 -65
  138. package/dist/extensions/agent-browser/lib/orchestration/browser-run/observation-types.js +0 -1
  139. package/dist/extensions/agent-browser/lib/orchestration/browser-run/overlay-diagnostics.js +0 -120
  140. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare/network-page-filter.js +0 -192
  141. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare/scroll-shims.js +0 -225
  142. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare/snapshot-filter-data.js +0 -150
  143. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare/snapshot-filter.js +0 -165
  144. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare/snapshot-rendered-text.js +0 -147
  145. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare/wait-timeouts.js +0 -145
  146. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-artifacts.js +0 -159
  147. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-command.js +0 -131
  148. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-contracts.js +0 -1
  149. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-daemon.js +0 -93
  150. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-failure.js +0 -42
  151. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-guards.js +0 -242
  152. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-input.js +0 -75
  153. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-observations.js +0 -92
  154. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-page-selection.js +0 -254
  155. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-page-state.js +0 -121
  156. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-refs.js +0 -130
  157. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-resources.js +0 -114
  158. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-semantic.js +0 -121
  159. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-session-plan.js +0 -222
  160. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-timeouts.js +0 -68
  161. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare.js +0 -202
  162. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-analysis.js +0 -191
  163. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-confirmation.js +0 -152
  164. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-diagnostics.js +0 -182
  165. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-electron.js +0 -150
  166. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-lifecycle-contracts.js +0 -1
  167. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-lifecycle-phase-contracts.js +0 -1
  168. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-lifecycle-phase.js +0 -115
  169. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-lifecycle.js +0 -256
  170. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-managed-contracts.js +0 -1
  171. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-managed.js +0 -256
  172. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-native-phase-contracts.js +0 -1
  173. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-native-phase.js +0 -93
  174. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-native.js +0 -113
  175. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-navigation-contracts.js +0 -1
  176. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-navigation.js +0 -316
  177. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-ownership.js +0 -28
  178. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-page-phase-contracts.js +0 -1
  179. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-page-phase.js +0 -142
  180. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-presentation-contracts.js +0 -1
  181. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-presentation.js +0 -333
  182. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-publication-phase-contracts.js +0 -1
  183. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-publication-phase.js +0 -71
  184. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-publication.js +0 -201
  185. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-receipts.js +0 -183
  186. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-refs.js +0 -200
  187. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-tabs.js +0 -142
  188. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output.js +0 -25
  189. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prompt-guards.js +0 -50
  190. package/dist/extensions/agent-browser/lib/orchestration/browser-run/recording-receipt-reconciliation.js +0 -198
  191. package/dist/extensions/agent-browser/lib/orchestration/browser-run/recording-recovery-contracts.js +0 -1
  192. package/dist/extensions/agent-browser/lib/orchestration/browser-run/recording-recovery-presentation.js +0 -154
  193. package/dist/extensions/agent-browser/lib/orchestration/browser-run/recording-recovery.js +0 -80
  194. package/dist/extensions/agent-browser/lib/orchestration/browser-run/screenshot-capture.js +0 -14
  195. package/dist/extensions/agent-browser/lib/orchestration/browser-run/screenshot-observation.js +0 -206
  196. package/dist/extensions/agent-browser/lib/orchestration/browser-run/session-state-commands.js +0 -130
  197. package/dist/extensions/agent-browser/lib/orchestration/browser-run/session-state-electron.js +0 -210
  198. package/dist/extensions/agent-browser/lib/orchestration/browser-run/session-state-observations.js +0 -61
  199. package/dist/extensions/agent-browser/lib/orchestration/browser-run/session-state-outcomes.js +0 -187
  200. package/dist/extensions/agent-browser/lib/orchestration/browser-run/session-state-refs.js +0 -171
  201. package/dist/extensions/agent-browser/lib/orchestration/browser-run/session-state-tabs.js +0 -228
  202. package/dist/extensions/agent-browser/lib/orchestration/browser-run/session-state.js +0 -117
  203. package/dist/extensions/agent-browser/lib/orchestration/browser-run/text-visibility-diagnostics.js +0 -182
  204. package/dist/extensions/agent-browser/lib/orchestration/browser-run/timeout-diagnostics.js +0 -256
  205. package/dist/extensions/agent-browser/lib/orchestration/browser-run/timeout-progress.js +0 -108
  206. package/dist/extensions/agent-browser/lib/orchestration/browser-run/types.js +0 -1
  207. package/dist/extensions/agent-browser/lib/orchestration/code-artifact-observation.js +0 -39
  208. package/dist/extensions/agent-browser/lib/orchestration/code-image-observation.js +0 -119
  209. package/dist/extensions/agent-browser/lib/orchestration/electron-host/branch.js +0 -92
  210. package/dist/extensions/agent-browser/lib/orchestration/electron-host/cleanup-result.js +0 -58
  211. package/dist/extensions/agent-browser/lib/orchestration/electron-host/cleanup.js +0 -78
  212. package/dist/extensions/agent-browser/lib/orchestration/electron-host/contracts.js +0 -1
  213. package/dist/extensions/agent-browser/lib/orchestration/electron-host/discovery.js +0 -106
  214. package/dist/extensions/agent-browser/lib/orchestration/electron-host/index.js +0 -60
  215. package/dist/extensions/agent-browser/lib/orchestration/electron-host/policy.js +0 -86
  216. package/dist/extensions/agent-browser/lib/orchestration/electron-host/probe-collection.js +0 -69
  217. package/dist/extensions/agent-browser/lib/orchestration/electron-host/probe-data.js +0 -167
  218. package/dist/extensions/agent-browser/lib/orchestration/electron-host/probe-presentation.js +0 -164
  219. package/dist/extensions/agent-browser/lib/orchestration/electron-host/probe.js +0 -161
  220. package/dist/extensions/agent-browser/lib/orchestration/electron-host/status.js +0 -165
  221. package/dist/extensions/agent-browser/lib/orchestration/execution-queue.js +0 -98
  222. package/dist/extensions/agent-browser/lib/orchestration/extension-artifact-preflight.js +0 -211
  223. package/dist/extensions/agent-browser/lib/orchestration/extension-artifacts.js +0 -23
  224. package/dist/extensions/agent-browser/lib/orchestration/extension-attachment-replay.js +0 -99
  225. package/dist/extensions/agent-browser/lib/orchestration/extension-branch-restore.js +0 -275
  226. package/dist/extensions/agent-browser/lib/orchestration/extension-code.js +0 -280
  227. package/dist/extensions/agent-browser/lib/orchestration/extension-command-admission.js +0 -303
  228. package/dist/extensions/agent-browser/lib/orchestration/extension-command-output.js +0 -36
  229. package/dist/extensions/agent-browser/lib/orchestration/extension-command-result.js +0 -335
  230. package/dist/extensions/agent-browser/lib/orchestration/extension-command-run.js +0 -227
  231. package/dist/extensions/agent-browser/lib/orchestration/extension-command-state.js +0 -1
  232. package/dist/extensions/agent-browser/lib/orchestration/extension-electron-ownership.js +0 -204
  233. package/dist/extensions/agent-browser/lib/orchestration/extension-execution-locks.js +0 -139
  234. package/dist/extensions/agent-browser/lib/orchestration/extension-execution-queue.js +0 -24
  235. package/dist/extensions/agent-browser/lib/orchestration/extension-host-coordination.js +0 -98
  236. package/dist/extensions/agent-browser/lib/orchestration/extension-host-run.js +0 -295
  237. package/dist/extensions/agent-browser/lib/orchestration/extension-intent-replay.js +0 -41
  238. package/dist/extensions/agent-browser/lib/orchestration/extension-invocation.js +0 -7
  239. package/dist/extensions/agent-browser/lib/orchestration/extension-lifecycle.js +0 -102
  240. package/dist/extensions/agent-browser/lib/orchestration/extension-managed-ownership.js +0 -133
  241. package/dist/extensions/agent-browser/lib/orchestration/extension-observation.js +0 -120
  242. package/dist/extensions/agent-browser/lib/orchestration/extension-prompt.js +0 -180
  243. package/dist/extensions/agent-browser/lib/orchestration/extension-recording.js +0 -290
  244. package/dist/extensions/agent-browser/lib/orchestration/extension-resource-contracts.js +0 -1
  245. package/dist/extensions/agent-browser/lib/orchestration/extension-resource-replay.js +0 -269
  246. package/dist/extensions/agent-browser/lib/orchestration/extension-result-state.js +0 -113
  247. package/dist/extensions/agent-browser/lib/orchestration/extension-runtime.js +0 -146
  248. package/dist/extensions/agent-browser/lib/orchestration/extension-script-leases.js +0 -58
  249. package/dist/extensions/agent-browser/lib/orchestration/extension-tool-boundary.js +0 -62
  250. package/dist/extensions/agent-browser/lib/orchestration/extension-version-check.js +0 -54
  251. package/dist/extensions/agent-browser/lib/orchestration/input-plan-types.js +0 -1
  252. package/dist/extensions/agent-browser/lib/orchestration/input-plan.js +0 -313
  253. package/dist/extensions/agent-browser/lib/orchestration/input-redaction.js +0 -62
  254. package/dist/extensions/agent-browser/lib/orchestration/native-config.js +0 -144
  255. package/dist/extensions/agent-browser/lib/orchestration/native-root-launch.js +0 -77
  256. package/dist/extensions/agent-browser/lib/orchestration/native-session-defaults.js +0 -231
  257. package/dist/extensions/agent-browser/lib/orchestration/operation-paths.js +0 -142
  258. package/dist/extensions/agent-browser/lib/orchestration/output-file.js +0 -276
  259. package/dist/extensions/agent-browser/lib/orchestration/script-mode.js +0 -220
  260. package/dist/extensions/agent-browser/lib/owned-managed-session-context.js +0 -55
  261. package/dist/extensions/agent-browser/lib/page-target-batch.js +0 -118
  262. package/dist/extensions/agent-browser/lib/page-target-guards.js +0 -50
  263. package/dist/extensions/agent-browser/lib/page-target-navigation.js +0 -104
  264. package/dist/extensions/agent-browser/lib/page-target-validation.js +0 -90
  265. package/dist/extensions/agent-browser/lib/parsing.js +0 -30
  266. package/dist/extensions/agent-browser/lib/pi-tool-rendering.js +0 -343
  267. package/dist/extensions/agent-browser/lib/playbook.js +0 -146
  268. package/dist/extensions/agent-browser/lib/process-child.js +0 -284
  269. package/dist/extensions/agent-browser/lib/process-environment.js +0 -48
  270. package/dist/extensions/agent-browser/lib/process-errors.js +0 -23
  271. package/dist/extensions/agent-browser/lib/process-identity.js +0 -127
  272. package/dist/extensions/agent-browser/lib/process-socket-storage.js +0 -256
  273. package/dist/extensions/agent-browser/lib/process-stdout.js +0 -74
  274. package/dist/extensions/agent-browser/lib/process.js +0 -216
  275. package/dist/extensions/agent-browser/lib/prompt-artifacts.js +0 -287
  276. package/dist/extensions/agent-browser/lib/prompt-policy.js +0 -54
  277. package/dist/extensions/agent-browser/lib/read-command.js +0 -41
  278. package/dist/extensions/agent-browser/lib/read-confirmation.js +0 -162
  279. package/dist/extensions/agent-browser/lib/recording-reservations.js +0 -208
  280. package/dist/extensions/agent-browser/lib/redaction-fields.js +0 -75
  281. package/dist/extensions/agent-browser/lib/redaction-json.js +0 -149
  282. package/dist/extensions/agent-browser/lib/redaction-url.js +0 -88
  283. package/dist/extensions/agent-browser/lib/results/action-contracts.js +0 -1
  284. package/dist/extensions/agent-browser/lib/results/action-recommendations.js +0 -38
  285. package/dist/extensions/agent-browser/lib/results/artifact-contracts.js +0 -1
  286. package/dist/extensions/agent-browser/lib/results/artifact-manifest-validation.js +0 -133
  287. package/dist/extensions/agent-browser/lib/results/artifact-manifest.js +0 -173
  288. package/dist/extensions/agent-browser/lib/results/artifact-recommendations.js +0 -73
  289. package/dist/extensions/agent-browser/lib/results/categories.js +0 -152
  290. package/dist/extensions/agent-browser/lib/results/confirmation.js +0 -75
  291. package/dist/extensions/agent-browser/lib/results/contracts.js +0 -1
  292. package/dist/extensions/agent-browser/lib/results/editable-ref-evidence.js +0 -99
  293. package/dist/extensions/agent-browser/lib/results/electron-recommendations.js +0 -83
  294. package/dist/extensions/agent-browser/lib/results/envelope-decoding.js +0 -48
  295. package/dist/extensions/agent-browser/lib/results/envelope.js +0 -198
  296. package/dist/extensions/agent-browser/lib/results/evidence-contracts.js +0 -1
  297. package/dist/extensions/agent-browser/lib/results/failure-recommendations.js +0 -180
  298. package/dist/extensions/agent-browser/lib/results/network-routes.js +0 -133
  299. package/dist/extensions/agent-browser/lib/results/network.js +0 -89
  300. package/dist/extensions/agent-browser/lib/results/next-actions.js +0 -111
  301. package/dist/extensions/agent-browser/lib/results/presentation/artifact-files.js +0 -320
  302. package/dist/extensions/agent-browser/lib/results/presentation/artifact-format.js +0 -138
  303. package/dist/extensions/agent-browser/lib/results/presentation/artifact-images.js +0 -113
  304. package/dist/extensions/agent-browser/lib/results/presentation/artifact-verification.js +0 -145
  305. package/dist/extensions/agent-browser/lib/results/presentation/artifacts.js +0 -165
  306. package/dist/extensions/agent-browser/lib/results/presentation/batch-contracts.js +0 -1
  307. package/dist/extensions/agent-browser/lib/results/presentation/batch-recording.js +0 -118
  308. package/dist/extensions/agent-browser/lib/results/presentation/batch-redaction.js +0 -68
  309. package/dist/extensions/agent-browser/lib/results/presentation/batch-rendering.js +0 -135
  310. package/dist/extensions/agent-browser/lib/results/presentation/batch-step.js +0 -227
  311. package/dist/extensions/agent-browser/lib/results/presentation/batch-summary.js +0 -91
  312. package/dist/extensions/agent-browser/lib/results/presentation/batch.js +0 -123
  313. package/dist/extensions/agent-browser/lib/results/presentation/browser-profile-recovery.js +0 -54
  314. package/dist/extensions/agent-browser/lib/results/presentation/command-presenters.js +0 -216
  315. package/dist/extensions/agent-browser/lib/results/presentation/common.js +0 -81
  316. package/dist/extensions/agent-browser/lib/results/presentation/content.js +0 -119
  317. package/dist/extensions/agent-browser/lib/results/presentation/diagnostic-a11y.js +0 -67
  318. package/dist/extensions/agent-browser/lib/results/presentation/diagnostic-health.js +0 -79
  319. package/dist/extensions/agent-browser/lib/results/presentation/diagnostic-identity.js +0 -199
  320. package/dist/extensions/agent-browser/lib/results/presentation/diagnostic-logs.js +0 -75
  321. package/dist/extensions/agent-browser/lib/results/presentation/diagnostic-network-actions.js +0 -216
  322. package/dist/extensions/agent-browser/lib/results/presentation/diagnostic-network.js +0 -124
  323. package/dist/extensions/agent-browser/lib/results/presentation/diagnostic-redaction.js +0 -64
  324. package/dist/extensions/agent-browser/lib/results/presentation/diagnostic-storage.js +0 -209
  325. package/dist/extensions/agent-browser/lib/results/presentation/diagnostic-stream.js +0 -69
  326. package/dist/extensions/agent-browser/lib/results/presentation/diagnostic-summary.js +0 -222
  327. package/dist/extensions/agent-browser/lib/results/presentation/diagnostics.js +0 -124
  328. package/dist/extensions/agent-browser/lib/results/presentation/early-result.js +0 -70
  329. package/dist/extensions/agent-browser/lib/results/presentation/errors.js +0 -285
  330. package/dist/extensions/agent-browser/lib/results/presentation/input-contracts.js +0 -1
  331. package/dist/extensions/agent-browser/lib/results/presentation/large-output.js +0 -117
  332. package/dist/extensions/agent-browser/lib/results/presentation/navigation.js +0 -231
  333. package/dist/extensions/agent-browser/lib/results/presentation/notices.js +0 -75
  334. package/dist/extensions/agent-browser/lib/results/presentation/observation-contracts.js +0 -1
  335. package/dist/extensions/agent-browser/lib/results/presentation/observation-rendering.js +0 -127
  336. package/dist/extensions/agent-browser/lib/results/presentation/outcomes.js +0 -120
  337. package/dist/extensions/agent-browser/lib/results/presentation/output-completion.js +0 -77
  338. package/dist/extensions/agent-browser/lib/results/presentation/output-spill.js +0 -51
  339. package/dist/extensions/agent-browser/lib/results/presentation/registry.js +0 -145
  340. package/dist/extensions/agent-browser/lib/results/presentation/semantic-action.js +0 -104
  341. package/dist/extensions/agent-browser/lib/results/presentation/skills.js +0 -178
  342. package/dist/extensions/agent-browser/lib/results/presentation/source.js +0 -109
  343. package/dist/extensions/agent-browser/lib/results/presentation.js +0 -19
  344. package/dist/extensions/agent-browser/lib/results/recommendation-contracts.js +0 -1
  345. package/dist/extensions/agent-browser/lib/results/recording.js +0 -88
  346. package/dist/extensions/agent-browser/lib/results/recovery-actions.js +0 -118
  347. package/dist/extensions/agent-browser/lib/results/recovery-next-actions.js +0 -60
  348. package/dist/extensions/agent-browser/lib/results/selector-recovery-target.js +0 -83
  349. package/dist/extensions/agent-browser/lib/results/selector-recovery.js +0 -261
  350. package/dist/extensions/agent-browser/lib/results/snapshot-compact.js +0 -266
  351. package/dist/extensions/agent-browser/lib/results/snapshot-content.js +0 -32
  352. package/dist/extensions/agent-browser/lib/results/snapshot-high-value-controls.js +0 -240
  353. package/dist/extensions/agent-browser/lib/results/snapshot-refs.js +0 -103
  354. package/dist/extensions/agent-browser/lib/results/snapshot-segments.js +0 -383
  355. package/dist/extensions/agent-browser/lib/results/snapshot-spill.js +0 -53
  356. package/dist/extensions/agent-browser/lib/results/snapshot.js +0 -44
  357. package/dist/extensions/agent-browser/lib/results/text.js +0 -44
  358. package/dist/extensions/agent-browser/lib/runtime-args-validation.js +0 -133
  359. package/dist/extensions/agent-browser/lib/runtime-compatibility.js +0 -81
  360. package/dist/extensions/agent-browser/lib/runtime-contracts.js +0 -1
  361. package/dist/extensions/agent-browser/lib/runtime-redaction.js +0 -118
  362. package/dist/extensions/agent-browser/lib/runtime-replay-events.js +0 -144
  363. package/dist/extensions/agent-browser/lib/runtime-session-identity.js +0 -76
  364. package/dist/extensions/agent-browser/lib/runtime-session-plan.js +0 -114
  365. package/dist/extensions/agent-browser/lib/runtime-session-replay.js +0 -123
  366. package/dist/extensions/agent-browser/lib/runtime-tab-correction.js +0 -65
  367. package/dist/extensions/agent-browser/lib/runtime-timeouts.js +0 -28
  368. package/dist/extensions/agent-browser/lib/runtime.js +0 -163
  369. package/dist/extensions/agent-browser/lib/session-identity.js +0 -51
  370. package/dist/extensions/agent-browser/lib/session-page-observation.js +0 -357
  371. package/dist/extensions/agent-browser/lib/session-page-state.js +0 -353
  372. package/dist/extensions/agent-browser/lib/session-page-types.js +0 -1
  373. package/dist/extensions/agent-browser/lib/string-enum-schema.js +0 -8
  374. package/dist/extensions/agent-browser/lib/temp-artifact-budget.js +0 -78
  375. package/dist/extensions/agent-browser/lib/temp-mutation-queue.js +0 -7
  376. package/dist/extensions/agent-browser/lib/temp-root-ownership.js +0 -234
  377. package/dist/extensions/agent-browser/lib/temp-root.js +0 -207
  378. package/dist/extensions/agent-browser/lib/temp.js +0 -91
  379. package/dist/extensions/agent-browser/lib/tool-surface.js +0 -239
  380. package/dist/extensions/agent-browser/lib/upstream-version.js +0 -15
  381. package/dist/extensions/agent-browser/lib/web-search-providers.js +0 -229
  382. package/dist/extensions/agent-browser/lib/web-search-request.js +0 -108
  383. package/dist/extensions/agent-browser/lib/web-search-results.js +0 -281
  384. package/dist/extensions/agent-browser/lib/web-search-schema.js +0 -82
  385. package/dist/extensions/agent-browser/lib/web-search.js +0 -149
  386. package/dist/extensions/agent-browser/lib/webmcp-observation.js +0 -35
  387. package/dist/extensions/agent-browser/lib/windows-stock-launcher.js +0 -96
  388. package/dist/scripts/agent-browser-target.mjs +0 -23
@@ -1,93 +0,0 @@
1
- import { parseNativeOutput, repairOutputScreenshots, resolveDispatchedCommands, } from "./process-output-native.js";
2
- import { foldReadConfirmations } from "./process-output-confirmation.js";
3
- import { observeCloseLifecycle, redactNativeEnvelope, classifyNativeExecution, observeInterruptedMutation, applyCloseAndTraceLifecycle, } from "./process-output-lifecycle.js";
4
- function createNativeOutputPhase(input, ownership) {
5
- return {
6
- input,
7
- artifactManifest: ownership.artifactManifest,
8
- batchCommandSteps: [],
9
- batchScreenshotArtifactRequests: undefined,
10
- browserIndependentRead: false,
11
- closeAllApplied: false,
12
- confirmedCommand: undefined,
13
- confirmedData: undefined,
14
- confirmedEffects: [],
15
- destinationTransition: false,
16
- directClose: false,
17
- directCloseAllRequested: false,
18
- dispatchedCommands: [],
19
- inspectionText: undefined,
20
- nativeCommandMayHaveExecuted: false,
21
- nestedBatchClose: undefined,
22
- nestedBatchClosed: false,
23
- nestedBatchClosesAll: false,
24
- nestedBatchRemainsActive: false,
25
- networkRoutesBySession: ownership.networkRoutesBySession,
26
- parseError: undefined,
27
- parseFailureOutput: {},
28
- parseSucceeded: false,
29
- parsed: {},
30
- persistentArtifactStore: undefined,
31
- plainTextInspection: false,
32
- plainTextUpgrade: false,
33
- presentationEnvelope: undefined,
34
- processSucceeded: false,
35
- rawCloseStatePath: undefined,
36
- readConfirmation: undefined,
37
- readConfirmationEvent: undefined,
38
- recordingStopRecovery: undefined,
39
- screenshotArtifactRequest: undefined,
40
- sessionStateKey: undefined,
41
- succeeded: false,
42
- textOutput: false,
43
- unobservedMutation: false,
44
- };
45
- }
46
- export async function observeNativeEffects(input, ownership) {
47
- const draft = createNativeOutputPhase(input, ownership);
48
- await parseNativeOutput(draft);
49
- await repairOutputScreenshots(draft);
50
- resolveDispatchedCommands(draft);
51
- foldReadConfirmations(draft);
52
- observeCloseLifecycle(draft);
53
- redactNativeEnvelope(draft);
54
- classifyNativeExecution(draft);
55
- observeInterruptedMutation(draft);
56
- applyCloseAndTraceLifecycle(draft);
57
- return {
58
- artifactManifest: draft.artifactManifest,
59
- batchCommandSteps: draft.batchCommandSteps,
60
- batchScreenshotArtifactRequests: draft.batchScreenshotArtifactRequests,
61
- browserIndependentRead: draft.browserIndependentRead,
62
- closeAllApplied: draft.closeAllApplied,
63
- confirmedCommand: draft.confirmedCommand,
64
- confirmedData: draft.confirmedData,
65
- confirmedEffects: draft.confirmedEffects,
66
- destinationTransition: draft.destinationTransition,
67
- directClose: draft.directClose,
68
- dispatchedCommands: draft.dispatchedCommands,
69
- inspectionText: draft.inspectionText,
70
- nativeCommandMayHaveExecuted: draft.nativeCommandMayHaveExecuted,
71
- nestedBatchClose: draft.nestedBatchClose,
72
- nestedBatchClosed: draft.nestedBatchClosed,
73
- nestedBatchRemainsActive: draft.nestedBatchRemainsActive,
74
- networkRoutesBySession: draft.networkRoutesBySession,
75
- parseError: draft.parseError,
76
- parseFailureOutput: draft.parseFailureOutput,
77
- parseSucceeded: draft.parseSucceeded,
78
- persistentArtifactStore: draft.persistentArtifactStore,
79
- plainTextInspection: draft.plainTextInspection,
80
- plainTextUpgrade: draft.plainTextUpgrade,
81
- presentationEnvelope: draft.presentationEnvelope,
82
- processSucceeded: draft.processSucceeded,
83
- rawCloseStatePath: draft.rawCloseStatePath,
84
- readConfirmation: draft.readConfirmation,
85
- readConfirmationEvent: draft.readConfirmationEvent,
86
- recordingStopRecovery: draft.recordingStopRecovery,
87
- screenshotArtifactRequest: draft.screenshotArtifactRequest,
88
- sessionStateKey: draft.sessionStateKey,
89
- succeeded: draft.succeeded,
90
- textOutput: draft.textOutput,
91
- unobservedMutation: draft.unobservedMutation,
92
- };
93
- }
@@ -1,113 +0,0 @@
1
- import { observeNativeWebMcp } from "../../webmcp-observation.js";
2
- import { parseArgvDescriptor } from "../../argv-descriptor.js";
3
- import { needsManagedSession } from "../../command-policy.js";
4
- import { getAgentBrowserSessionIdentityKey, getBooleanFlagValue } from "../../argv-grammar.js";
5
- import { parseAgentBrowserEnvelope } from "../../results/envelope.js";
6
- import { isRecord } from "../../parsing.js";
7
- import { getUpstreamEffectiveBatchSteps } from "../batch-stdin.js";
8
- import { getPersistentSessionArtifactStore } from "./session-state.js";
9
- import { repairScreenshotData } from "./prepare.js";
10
- import { recoverRecordingStop } from "./recording-recovery.js";
11
- import { isStringArray } from "../../results/presentation/content.js";
12
- export async function parseNativeOutput(draft) {
13
- draft.persistentArtifactStore = getPersistentSessionArtifactStore(draft.input.ctx);
14
- draft.plainTextUpgrade =
15
- !draft.input.prepared.executionPlan.plainTextInspection &&
16
- draft.input.prepared.executionPlan.commandInfo.command === "upgrade" &&
17
- !needsManagedSession(parseArgvDescriptor(draft.input.prepared.runtimeToolArgs));
18
- draft.textOutput = getBooleanFlagValue(draft.input.prepared.processArgs, "--json") === false;
19
- draft.parsed = await parseAgentBrowserEnvelope({
20
- stdout: draft.input.processResult.stdout,
21
- stdoutPath: draft.input.processResult.stdoutSpillPath,
22
- plainText: draft.plainTextUpgrade,
23
- textOutput: draft.textOutput,
24
- });
25
- observeNativeWebMcp(draft.parsed.envelope?.data);
26
- draft.parseError = draft.parsed.parseError;
27
- draft.recordingStopRecovery = await recoverRecordingStop({
28
- modelVisible: draft.input.modelVisible,
29
- artifactManifest: draft.artifactManifest,
30
- artifactRunStartedAtMs: draft.input.artifactRunStartedAtMs,
31
- commandTokens: draft.input.prepared.commandTokens,
32
- cwd: draft.input.cwd,
33
- envelope: draft.parsed.envelope,
34
- namespace: draft.input.prepared.executionPlan.namespace,
35
- parseError: draft.parseError,
36
- processResult: draft.input.processResult,
37
- reservation: draft.input.prepared.executionPlan.sessionName !== undefined &&
38
- draft.input.prepared.executionPlan.sessionName.length > 0
39
- ? draft.input.state.activeRecordingReservations?.get(getAgentBrowserSessionIdentityKey(draft.input.prepared.executionPlan.sessionName, draft.input.prepared.executionPlan.namespace))
40
- : undefined,
41
- sessionName: draft.input.prepared.executionPlan.sessionName,
42
- signal: draft.input.signal,
43
- stdin: draft.input.prepared.runtimeToolStdin,
44
- });
45
- draft.presentationEnvelope = draft.recordingStopRecovery?.envelope ?? draft.parsed.envelope;
46
- }
47
- export async function repairOutputScreenshots(draft) {
48
- const repairedScreenshot = await repairScreenshotArtifact({
49
- cwd: draft.input.cwd,
50
- envelope: draft.presentationEnvelope,
51
- request: draft.input.prepared.preparedArgs.screenshotPathRequest,
52
- });
53
- draft.presentationEnvelope = repairedScreenshot.envelope;
54
- const repairedBatchScreenshots = await repairBatchScreenshotArtifacts({
55
- cwd: draft.input.cwd,
56
- envelope: draft.presentationEnvelope,
57
- requests: draft.input.prepared.preparedArgs.batchScreenshotPathRequests,
58
- });
59
- draft.presentationEnvelope = repairedBatchScreenshots.envelope;
60
- draft.screenshotArtifactRequest = repairedScreenshot.request;
61
- draft.batchScreenshotArtifactRequests = repairedBatchScreenshots.requests;
62
- }
63
- export function resolveDispatchedCommands(draft) {
64
- draft.batchCommandSteps =
65
- draft.input.prepared.executionPlan.commandInfo.command === "batch"
66
- ? getUpstreamEffectiveBatchSteps(draft.input.prepared.commandTokens, draft.input.prepared.runtimeToolStdin)
67
- : [];
68
- if (draft.input.prepared.executionPlan.commandInfo.command !== "batch") {
69
- draft.dispatchedCommands = [draft.input.prepared.commandTokens];
70
- return;
71
- }
72
- const data = draft.presentationEnvelope?.data;
73
- if (!Array.isArray(data)) {
74
- draft.dispatchedCommands = draft.batchCommandSteps;
75
- return;
76
- }
77
- draft.dispatchedCommands = data.flatMap((row, index) => {
78
- if (!isRecord(row)) {
79
- return [];
80
- }
81
- const command = isStringArray(row.command)
82
- ? row.command
83
- : (draft.batchCommandSteps[index] ?? []);
84
- return [command];
85
- });
86
- }
87
- async function repairScreenshotArtifact(options) {
88
- const { cwd, envelope, request } = options;
89
- if (!request || !envelope || !isRecord(envelope.data)) {
90
- return { envelope, request };
91
- }
92
- const repaired = await repairScreenshotData({ cwd, data: envelope.data, request });
93
- return { envelope: { ...envelope, data: repaired.data }, request: repaired.request };
94
- }
95
- async function repairBatchScreenshotArtifacts(options) {
96
- const { cwd, envelope, requests } = options;
97
- if (!envelope ||
98
- !Array.isArray(envelope.data) ||
99
- !(requests?.some((request) => request !== undefined) === true)) {
100
- return { envelope, requests };
101
- }
102
- const repairedRequests = [];
103
- const repairedData = await Promise.all(envelope.data.map(async (item, index) => {
104
- const request = requests[index];
105
- if (!request || !isRecord(item) || !isRecord(item.result)) {
106
- return item;
107
- }
108
- const repaired = await repairScreenshotData({ cwd, data: item.result, request });
109
- repairedRequests[index] = repaired.request;
110
- return { ...item, result: repaired.data };
111
- }));
112
- return { envelope: { ...envelope, data: repairedData }, requests: repairedRequests };
113
- }
@@ -1,316 +0,0 @@
1
- import { isStringArray } from "../../results/presentation/content.js";
2
- import { isNavigationObservableCommandName, isOpenNavigationCommand, isUnverifiedPageTransitionCommand, } from "../../command-taxonomy.js";
3
- import { OPEN_RESULT_TAB_CORRECTION_FLAGS } from "../../launch-scoped-flags.js";
4
- import { getResultingPageTargetState, commandRequiresLivePageVerification, } from "../../page-target-validation.js";
5
- import { detectConfirmationRequired } from "../../results/confirmation.js";
6
- import { shouldCaptureSemanticActionNavigationSummary } from "../../results/presentation/semantic-action.js";
7
- import { commandExplicitlyTargetsAboutBlank, deriveSessionTabTarget, extractSessionTabTargetFromBatchResults, extractSessionTabTargetFromCommandData, normalizeSessionTabTarget, } from "../../session-page-state.js";
8
- import { isRecord } from "../../parsing.js";
9
- import { extractUpstreamCommandTokens } from "../../argv-descriptor.js";
10
- import { applyOpenResultTabCorrection, collectOpenResultTabCorrection, collectSessionTabTarget, extractStringResultField, mergeNavigationSummaryIntoData, shouldCaptureNavigationSummary, } from "./session-state.js";
11
- import { collectClickDispatchDiagnostic } from "./click-dispatch.js";
12
- import { collectNavigationSummary } from "./diagnostics.js";
13
- export async function verifyClickDispatch(draft) {
14
- if (!draft.succeeded || !draft.input.prepared.clickDispatchProbe) {
15
- return;
16
- }
17
- draft.clickDispatchDiagnostic = await collectClickDispatchDiagnostic({
18
- cwd: draft.input.cwd,
19
- namespace: draft.input.prepared.executionPlan.namespace,
20
- probe: draft.input.prepared.clickDispatchProbe,
21
- sessionName: draft.input.prepared.executionPlan.sessionName,
22
- signal: draft.input.signal,
23
- });
24
- if (draft.clickDispatchDiagnostic) {
25
- draft.succeeded = false;
26
- draft.presentationEnvelope = {
27
- ...draft.presentationEnvelope,
28
- error: draft.clickDispatchDiagnostic.summary,
29
- success: false,
30
- };
31
- }
32
- }
33
- function resolveResultingPageState(draft) {
34
- const { prepared, state } = draft.input;
35
- draft.tabTransition =
36
- draft.confirmedEffects.some((effect) => effect.command === "tab") ||
37
- draft.dispatchedCommands.some((step) => {
38
- const tokens = extractUpstreamCommandTokens(step);
39
- const command = tokens[0];
40
- const subcommand = tokens.at(1);
41
- return command === "tab" && subcommand !== undefined && subcommand !== "list";
42
- });
43
- const preservePriorTarget = !draft.nativeCommandMayHaveExecuted ||
44
- detectConfirmationRequired(draft.presentationEnvelope?.data) !== undefined ||
45
- state.sessionPageState.get(draft.sessionStateKey).tabReopenPending === true;
46
- draft.resultingPageState = preservePriorTarget
47
- ? {
48
- currentPageUrl: prepared.priorSessionTabTarget?.url,
49
- pageTargetMayHaveChanged: false,
50
- pageUrlUnknown: prepared.priorSessionTabTargetUnknown === true,
51
- }
52
- : getResultingPageTargetState({
53
- args: prepared.executionPlan.effectiveArgs,
54
- executedBatchSteps: draft.dispatchedCommands,
55
- batchResults: draft.presentationEnvelope?.data,
56
- currentPageUrl: prepared.priorSessionTabTarget?.url,
57
- pageUrlUnknown: prepared.priorSessionTabTargetUnknown === true,
58
- });
59
- }
60
- function hasNativeNavigationEvidence(draft) {
61
- const { commandInfo } = draft.input.prepared.executionPlan;
62
- return (draft.confirmedEffects.some((effect) => shouldCaptureNavigationSummary(effect.command, effect.data)) ||
63
- shouldCaptureNavigationSummary(commandInfo.command, draft.presentationEnvelope?.data, commandInfo.subcommand) ||
64
- (commandInfo.command === "batch" &&
65
- draft.dispatchedCommands.some(([command, subcommand]) => isNavigationObservableCommandName(command, subcommand))));
66
- }
67
- function navigationObservationRequested(draft) {
68
- const { prepared } = draft.input;
69
- return (hasNativeNavigationEvidence(draft) ||
70
- shouldCaptureSemanticActionNavigationSummary(prepared.compiledSemanticAction, draft.presentationEnvelope?.data) ||
71
- commandRequiresLivePageVerification(prepared.executionPlan.effectiveArgs, prepared.runtimeToolStdin) ||
72
- draft.destinationTransition ||
73
- draft.tabTransition);
74
- }
75
- function canObserveSuccessfulNavigation(draft) {
76
- const observedSuccess = draft.succeeded ||
77
- (draft.processSucceeded && draft.confirmedEffects.some((effect) => effect.succeeded));
78
- return (observedSuccess &&
79
- draft.readConfirmation?.state !== "pending" &&
80
- !draft.nestedBatchClosed &&
81
- !draft.directClose);
82
- }
83
- function hasFailedPageTransition(draft) {
84
- return (draft.confirmedEffects.some((effect) => isUnverifiedPageTransitionCommand(effect.command)) ||
85
- draft.dispatchedCommands.some((step) => {
86
- const [command, subcommand] = extractUpstreamCommandTokens(step);
87
- return ((draft.input.prepared.executionPlan.commandInfo.command === "batch" &&
88
- isOpenNavigationCommand(command)) ||
89
- isUnverifiedPageTransitionCommand(command, subcommand));
90
- }));
91
- }
92
- function canReverifyFailedNavigation(draft) {
93
- if (draft.succeeded ||
94
- draft.navigationSummary !== undefined ||
95
- draft.readConfirmation?.state === "pending") {
96
- return false;
97
- }
98
- if (processCannotVerifyPage(draft)) {
99
- return false;
100
- }
101
- return !draft.nestedBatchClosed && !draft.directClose && hasFailedPageTransition(draft);
102
- }
103
- function mergeObservedNavigation(draft) {
104
- if (draft.textOutput || !draft.navigationSummary || !draft.presentationEnvelope) {
105
- return;
106
- }
107
- if (draft.input.prepared.executionPlan.commandInfo.command === "eval" ||
108
- Array.isArray(draft.presentationEnvelope.data)) {
109
- return;
110
- }
111
- draft.presentationEnvelope = {
112
- ...draft.presentationEnvelope,
113
- data: mergeNavigationSummaryIntoData(draft.presentationEnvelope.data, draft.navigationSummary),
114
- };
115
- }
116
- export async function observeNavigationTarget(draft) {
117
- resolveResultingPageState(draft);
118
- const { prepared, cwd, signal } = draft.input;
119
- if (canObserveSuccessfulNavigation(draft) && navigationObservationRequested(draft)) {
120
- draft.navigationSummary = await collectNavigationSummary({
121
- cwd,
122
- namespace: prepared.executionPlan.namespace,
123
- priorTarget: prepared.priorSessionTabTarget,
124
- reusePriorTitle: !draft.tabTransition,
125
- sessionName: prepared.executionPlan.sessionName,
126
- signal,
127
- });
128
- }
129
- // A failed transition may have changed the page. Its live URL cannot make prior refs valid.
130
- if (canReverifyFailedNavigation(draft)) {
131
- draft.navigationSummary = await collectNavigationSummary({
132
- cwd,
133
- namespace: prepared.executionPlan.namespace,
134
- priorTarget: prepared.priorSessionTabTarget,
135
- sessionName: prepared.executionPlan.sessionName,
136
- signal,
137
- });
138
- draft.failedTransitionReverification = draft.navigationSummary !== undefined;
139
- }
140
- mergeObservedNavigation(draft);
141
- }
142
- export async function correctRestoredOpenTab(draft) {
143
- const { prepared, cwd, signal } = draft.input;
144
- const sessionName = prepared.executionPlan.sessionName;
145
- if (!draft.succeeded || sessionName === undefined || sessionName.length === 0) {
146
- return;
147
- }
148
- if (!prepared.executionPlan.startupScopedFlags.some((flag) => OPEN_RESULT_TAB_CORRECTION_FLAGS.has(flag)) ||
149
- !isOpenNavigationCommand(prepared.executionPlan.commandInfo.command) ||
150
- commandExplicitlyTargetsAboutBlank(prepared.commandTokens)) {
151
- return;
152
- }
153
- const correction = await collectOpenResultTabCorrection({
154
- cwd,
155
- namespace: prepared.executionPlan.namespace,
156
- sessionName,
157
- signal,
158
- targetTitle: extractStringResultField(draft.presentationEnvelope?.data, "title"),
159
- targetUrl: extractStringResultField(draft.presentationEnvelope?.data, "url"),
160
- });
161
- if (correction) {
162
- draft.openResultTabCorrection = await applyOpenResultTabCorrection({
163
- correction,
164
- cwd,
165
- namespace: prepared.executionPlan.namespace,
166
- sessionName,
167
- signal,
168
- });
169
- }
170
- }
171
- function verifiesCurrentUrl(draft) {
172
- const { prepared } = draft.input;
173
- const { commandInfo } = prepared.executionPlan;
174
- return ((commandInfo.command === "get" && commandInfo.subcommand === "url") ||
175
- (draft.readConfirmationEvent?.state === "cleared" &&
176
- prepared.readConfirmation?.source === "native-guarded-action" &&
177
- extractSessionTabTargetFromCommandData(prepared.commandTokens, draft.presentationEnvelope?.data) !== undefined));
178
- }
179
- function hasFailedWebMcpSettlement(draft) {
180
- const { prepared } = draft.input;
181
- const { commandInfo } = prepared.executionPlan;
182
- return (prepared.priorSessionTabTargetUnknown === true &&
183
- ((!draft.succeeded && isWebMcpSettlementCommand(commandInfo.command, commandInfo.subcommand)) ||
184
- (commandInfo.command === "batch" &&
185
- batchHasFailedWebMcpSettlement(draft.presentationEnvelope?.data))));
186
- }
187
- export function observeWebMcpTarget(draft) {
188
- draft.trustsReportedPageTarget =
189
- !draft.resultingPageState.pageUrlUnknown || verifiesCurrentUrl(draft);
190
- const { commandInfo } = draft.input.prepared.executionPlan;
191
- const pending = isPendingWebMcpMutation(commandInfo.command, commandInfo.subcommand, draft.presentationEnvelope?.data) ||
192
- (commandInfo.command === "batch" &&
193
- batchHasPendingWebMcpMutation(draft.presentationEnvelope?.data));
194
- draft.unsettledWebMcpMutation = pending || hasFailedWebMcpSettlement(draft);
195
- }
196
- function observedPageTarget(draft, data) {
197
- if (draft.unsettledWebMcpMutation ||
198
- (draft.unobservedMutation && !draft.failedTransitionReverification)) {
199
- return;
200
- }
201
- const navigation = normalizeSessionTabTarget(draft.navigationSummary);
202
- if (navigation) {
203
- return navigation;
204
- }
205
- if (!draft.trustsReportedPageTarget) {
206
- return;
207
- }
208
- const batchTarget = extractSessionTabTargetFromBatchResults(data);
209
- if (batchTarget) {
210
- return batchTarget;
211
- }
212
- return draft.succeeded
213
- ? extractSessionTabTargetFromCommandData(draft.input.prepared.commandTokens, data)
214
- : undefined;
215
- }
216
- function reportedPageTarget(draft, data) {
217
- const { prepared } = draft.input;
218
- if (prepared.executionPlan.commandInfo.command === "batch") {
219
- return extractSessionTabTargetFromBatchResults(data);
220
- }
221
- if (prepared.commandTokens[0] === "tab" && prepared.commandTokens[1] === "close") {
222
- return;
223
- }
224
- return extractSessionTabTargetFromCommandData(prepared.commandTokens, data);
225
- }
226
- async function resolveObservedTargetIdentity(draft, data) {
227
- if (!draft.observedSessionTabTarget ||
228
- draft.readConfirmation?.state === "pending" ||
229
- draft.browserIndependentRead ||
230
- draft.nestedBatchClosed ||
231
- draft.directClose) {
232
- return;
233
- }
234
- const reported = reportedPageTarget(draft, data);
235
- if (reported?.targetId !== undefined && reported.targetId.length > 0) {
236
- draft.observedSessionTabTarget = {
237
- ...draft.observedSessionTabTarget,
238
- targetId: reported.targetId,
239
- };
240
- return;
241
- }
242
- draft.observedSessionTabTarget = await collectSessionTabTarget({
243
- cwd: draft.input.cwd,
244
- namespace: draft.input.prepared.executionPlan.namespace,
245
- sessionName: draft.input.prepared.executionPlan.sessionName,
246
- signal: draft.input.signal,
247
- target: draft.observedSessionTabTarget,
248
- });
249
- }
250
- function fallbackPageTarget(draft, data) {
251
- // Window/diff URL2 is intent, not redirect evidence.
252
- if (draft.resultingPageState.pageTargetMayHaveChanged) {
253
- return draft.succeeded && !draft.destinationTransition
254
- ? normalizeSessionTabTarget({ url: draft.resultingPageState.currentPageUrl })
255
- : undefined;
256
- }
257
- const { prepared } = draft.input;
258
- return deriveSessionTabTarget({
259
- command: draft.directClose ? "close" : prepared.executionPlan.commandInfo.command,
260
- data,
261
- navigationSummary: draft.navigationSummary,
262
- previousTarget: prepared.priorSessionTabTarget,
263
- subcommand: prepared.executionPlan.commandInfo.subcommand,
264
- });
265
- }
266
- export async function resolveObservedPageTarget(draft) {
267
- const data = draft.textOutput ? undefined : draft.presentationEnvelope?.data;
268
- draft.observedSessionTabTarget = observedPageTarget(draft, data);
269
- await resolveObservedTargetIdentity(draft, data);
270
- draft.currentSessionTabTarget = draft.observedSessionTabTarget;
271
- if (!draft.currentSessionTabTarget &&
272
- draft.nestedBatchClose === undefined &&
273
- !draft.unobservedMutation) {
274
- draft.currentSessionTabTarget = fallbackPageTarget(draft, data);
275
- }
276
- }
277
- function isPendingWebMcpMutation(command, subcommand, data) {
278
- return (command === "webmcp" &&
279
- ["invoke", "result"].includes(subcommand ?? "") &&
280
- isRecord(data) &&
281
- data.status === "pending");
282
- }
283
- function isWebMcpSettlementCommand(command, subcommand) {
284
- return command === "webmcp" && ["result", "cancel"].includes(subcommand ?? "");
285
- }
286
- function batchHasPendingWebMcpMutation(data) {
287
- if (!Array.isArray(data)) {
288
- return false;
289
- }
290
- return data.some((row) => {
291
- if (!isRecord(row) || row.success === false || !isStringArray(row.command)) {
292
- return false;
293
- }
294
- const [command, subcommand] = extractUpstreamCommandTokens(row.command);
295
- return isPendingWebMcpMutation(command, subcommand, row.result);
296
- });
297
- }
298
- function batchHasFailedWebMcpSettlement(data) {
299
- if (!Array.isArray(data)) {
300
- return false;
301
- }
302
- return data.some((row) => {
303
- if (!isRecord(row) || row.success !== false || !isStringArray(row.command)) {
304
- return false;
305
- }
306
- const [command, subcommand] = extractUpstreamCommandTokens(row.command);
307
- return isWebMcpSettlementCommand(command, subcommand);
308
- });
309
- }
310
- function processCannotVerifyPage(draft) {
311
- const { processResult } = draft.input;
312
- return (!processResult.agentBrowserStarted ||
313
- !draft.nativeCommandMayHaveExecuted ||
314
- processResult.aborted ||
315
- processResult.timedOut);
316
- }
@@ -1,28 +0,0 @@
1
- export function captureBrowserOutputOwnership(input) {
2
- return {
3
- artifactManifest: input.state.artifactManifest,
4
- freshSessionOrdinal: input.state.freshSessionOrdinal,
5
- managedSessionActive: input.state.managedSessionActive,
6
- managedSessionCompatibilityWorkaround: input.state.managedSessionCompatibilityWorkaround,
7
- managedSessionHeadedAutosaveDisabled: input.state.managedSessionHeadedAutosaveDisabled === true,
8
- managedSessionHeadedAutosaveInterval: input.state.managedSessionHeadedAutosaveInterval,
9
- managedSessionCwd: input.state.managedSessionCwd,
10
- managedSessionName: input.state.managedSessionName,
11
- managedSessionNamespace: input.state.managedSessionNamespace,
12
- networkRoutesBySession: input.state.networkRoutesBySession,
13
- };
14
- }
15
- export function buildOutputStatePatch(draft) {
16
- return {
17
- artifactManifest: draft.artifactManifest,
18
- freshSessionOrdinal: draft.freshSessionOrdinal,
19
- managedSessionActive: draft.managedSessionActive,
20
- managedSessionCompatibilityWorkaround: draft.managedSessionCompatibilityWorkaround,
21
- managedSessionHeadedAutosaveDisabled: draft.managedSessionHeadedAutosaveDisabled,
22
- managedSessionHeadedAutosaveInterval: draft.managedSessionHeadedAutosaveInterval,
23
- managedSessionCwd: draft.managedSessionCwd,
24
- managedSessionName: draft.managedSessionName,
25
- managedSessionNamespace: draft.managedSessionNamespace,
26
- networkRoutesBySession: draft.networkRoutesBySession,
27
- };
28
- }