pi-agent-browser-native 0.9.5 → 0.9.7

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 (398) hide show
  1. package/CHANGELOG.md +114 -1
  2. package/README.md +17 -6
  3. package/dist/extensions/agent-browser/index.js +2482 -925
  4. package/dist/packaged/lib/browser-session-conversion.js +2946 -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 +728 -0
  8. package/dist/packaged/lib/results/snapshot.js +2800 -0
  9. package/dist/packaged/lib/runtime.js +3075 -0
  10. package/docs/ARCHITECTURE.md +29 -10
  11. package/docs/CODE_QUALITY.md +32 -5
  12. package/docs/COMMAND_REFERENCE.md +156 -40
  13. package/docs/ELECTRON.md +1 -1
  14. package/docs/PERFORMANCE.md +252 -0
  15. package/docs/REFERENCE.md +15 -15
  16. package/docs/RELEASE.md +41 -18
  17. package/docs/REQUIREMENTS.md +6 -0
  18. package/docs/SESSION_STORAGE.md +13 -5
  19. package/docs/SUPPORT_MATRIX.md +31 -25
  20. package/docs/TOOL_CONTRACT.md +41 -18
  21. package/docs/performance/2026-10-12.json +7257 -0
  22. package/docs/platform-smoke.md +18 -14
  23. package/package.json +18 -4
  24. package/platform-smoke.config.mjs +3 -2
  25. package/scripts/agent-browser-capability-baseline.mjs +16 -2
  26. package/scripts/agent-browser-target.mjs +1 -1
  27. package/scripts/build.mjs +16 -5
  28. package/scripts/capability-options.mjs +20 -0
  29. package/scripts/capability-samples.mjs +23 -10
  30. package/scripts/config.mjs +1 -1
  31. package/scripts/convert-browser-session.mjs +1 -1
  32. package/scripts/platform-smoke/commands.mjs +30 -4
  33. package/scripts/platform-smoke/doctor-support.mjs +11 -2
  34. package/scripts/platform-smoke/doctor-windows.mjs +1 -1
  35. package/scripts/platform-smoke/doctor.mjs +26 -11
  36. package/scripts/platform-smoke/linux-image/Dockerfile +6 -3
  37. package/scripts/platform-smoke/platform-build-windows.ps1 +23 -3
  38. package/scripts/platform-smoke/suite-checks.mjs +11 -1
  39. package/scripts/platform-smoke/targets.mjs +4 -3
  40. package/scripts/platform-smoke.mjs +68 -25
  41. package/dist/extensions/agent-browser/lib/argv-descriptor.js +0 -123
  42. package/dist/extensions/agent-browser/lib/argv-grammar.js +0 -320
  43. package/dist/extensions/agent-browser/lib/bash-guard.js +0 -193
  44. package/dist/extensions/agent-browser/lib/batch-lifecycle.js +0 -131
  45. package/dist/extensions/agent-browser/lib/browser-execution-claim-codec.js +0 -61
  46. package/dist/extensions/agent-browser/lib/browser-execution-claim-storage.js +0 -232
  47. package/dist/extensions/agent-browser/lib/browser-execution-claims.js +0 -202
  48. package/dist/extensions/agent-browser/lib/browser-execution-identity.js +0 -77
  49. package/dist/extensions/agent-browser/lib/browser-journal-branch.js +0 -98
  50. package/dist/extensions/agent-browser/lib/browser-journal-contracts.js +0 -1
  51. package/dist/extensions/agent-browser/lib/browser-journal-projection.js +0 -221
  52. package/dist/extensions/agent-browser/lib/browser-journal-reader.js +0 -89
  53. package/dist/extensions/agent-browser/lib/browser-journal-replay.js +0 -246
  54. package/dist/extensions/agent-browser/lib/browser-journal.js +0 -148
  55. package/dist/extensions/agent-browser/lib/browser-legacy-pages.js +0 -220
  56. package/dist/extensions/agent-browser/lib/browser-legacy-projection.js +0 -282
  57. package/dist/extensions/agent-browser/lib/browser-legacy-types.js +0 -1
  58. package/dist/extensions/agent-browser/lib/browser-session-conversion-stream.js +0 -217
  59. package/dist/extensions/agent-browser/lib/browser-session-conversion.js +0 -126
  60. package/dist/extensions/agent-browser/lib/browser-transcript-contracts.js +0 -35
  61. package/dist/extensions/agent-browser/lib/browser-transcript-validation.js +0 -166
  62. package/dist/extensions/agent-browser/lib/browser-transcript.js +0 -189
  63. package/dist/extensions/agent-browser/lib/browser-value-parsing.js +0 -15
  64. package/dist/extensions/agent-browser/lib/command-capabilities.js +0 -340
  65. package/dist/extensions/agent-browser/lib/command-policy.js +0 -155
  66. package/dist/extensions/agent-browser/lib/command-taxonomy.js +0 -105
  67. package/dist/extensions/agent-browser/lib/config-policy.js +0 -450
  68. package/dist/extensions/agent-browser/lib/config-providers.js +0 -71
  69. package/dist/extensions/agent-browser/lib/config-validation.js +0 -231
  70. package/dist/extensions/agent-browser/lib/config.js +0 -69
  71. package/dist/extensions/agent-browser/lib/electron/cdp.js +0 -62
  72. package/dist/extensions/agent-browser/lib/electron/cleanup.js +0 -274
  73. package/dist/extensions/agent-browser/lib/electron/discovery-darwin.js +0 -109
  74. package/dist/extensions/agent-browser/lib/electron/discovery-desktop.js +0 -136
  75. package/dist/extensions/agent-browser/lib/electron/discovery-evidence.js +0 -90
  76. package/dist/extensions/agent-browser/lib/electron/discovery-linux.js +0 -93
  77. package/dist/extensions/agent-browser/lib/electron/discovery-packages.js +0 -162
  78. package/dist/extensions/agent-browser/lib/electron/discovery-types.js +0 -2
  79. package/dist/extensions/agent-browser/lib/electron/discovery.js +0 -217
  80. package/dist/extensions/agent-browser/lib/electron/launch-monitor.js +0 -102
  81. package/dist/extensions/agent-browser/lib/electron/launch-process.js +0 -209
  82. package/dist/extensions/agent-browser/lib/electron/launch-types.js +0 -2
  83. package/dist/extensions/agent-browser/lib/electron/launch.js +0 -340
  84. package/dist/extensions/agent-browser/lib/executable-path.js +0 -29
  85. package/dist/extensions/agent-browser/lib/execution-cwd.js +0 -67
  86. package/dist/extensions/agent-browser/lib/fs-utils.js +0 -10
  87. package/dist/extensions/agent-browser/lib/input-modes/electron.js +0 -201
  88. package/dist/extensions/agent-browser/lib/input-modes/job.js +0 -198
  89. package/dist/extensions/agent-browser/lib/input-modes/lookup-network-evidence.js +0 -116
  90. package/dist/extensions/agent-browser/lib/input-modes/lookup-plan.js +0 -132
  91. package/dist/extensions/agent-browser/lib/input-modes/lookup-redaction.js +0 -57
  92. package/dist/extensions/agent-browser/lib/input-modes/lookup-source-evidence.js +0 -151
  93. package/dist/extensions/agent-browser/lib/input-modes/lookup-workspace.js +0 -142
  94. package/dist/extensions/agent-browser/lib/input-modes/lookups.js +0 -84
  95. package/dist/extensions/agent-browser/lib/input-modes/params.js +0 -195
  96. package/dist/extensions/agent-browser/lib/input-modes/qa-analysis.js +0 -268
  97. package/dist/extensions/agent-browser/lib/input-modes/qa-presentation.js +0 -117
  98. package/dist/extensions/agent-browser/lib/input-modes/script-child.js +0 -396
  99. package/dist/extensions/agent-browser/lib/input-modes/script-protocol.js +0 -86
  100. package/dist/extensions/agent-browser/lib/input-modes/script-types.js +0 -1
  101. package/dist/extensions/agent-browser/lib/input-modes/script-validation.js +0 -60
  102. package/dist/extensions/agent-browser/lib/input-modes/script.js +0 -108
  103. package/dist/extensions/agent-browser/lib/input-modes/semantic-action.js +0 -243
  104. package/dist/extensions/agent-browser/lib/input-modes/shared.js +0 -48
  105. package/dist/extensions/agent-browser/lib/input-modes/types.js +0 -65
  106. package/dist/extensions/agent-browser/lib/json-schema.js +0 -65
  107. package/dist/extensions/agent-browser/lib/launch-scoped-flags.js +0 -212
  108. package/dist/extensions/agent-browser/lib/managed-session-policy-lock.js +0 -165
  109. package/dist/extensions/agent-browser/lib/managed-session-posix-storage.js +0 -58
  110. package/dist/extensions/agent-browser/lib/managed-session-project-identity.js +0 -244
  111. package/dist/extensions/agent-browser/lib/managed-session-restore-context.js +0 -84
  112. package/dist/extensions/agent-browser/lib/managed-session-restore-policy.js +0 -119
  113. package/dist/extensions/agent-browser/lib/managed-session-restore-state.js +0 -83
  114. package/dist/extensions/agent-browser/lib/managed-session-restore.js +0 -212
  115. package/dist/extensions/agent-browser/lib/managed-session-snapshot-records.js +0 -277
  116. package/dist/extensions/agent-browser/lib/managed-session-snapshots.js +0 -181
  117. package/dist/extensions/agent-browser/lib/managed-session-storage.js +0 -126
  118. package/dist/extensions/agent-browser/lib/native-confirmation.js +0 -140
  119. package/dist/extensions/agent-browser/lib/native-output.js +0 -81
  120. package/dist/extensions/agent-browser/lib/orchestration/batch-stdin.js +0 -182
  121. package/dist/extensions/agent-browser/lib/orchestration/browser-run/artifact-merge.js +0 -30
  122. package/dist/extensions/agent-browser/lib/orchestration/browser-run/artifact-paths.js +0 -188
  123. package/dist/extensions/agent-browser/lib/orchestration/browser-run/browser-observation-result.js +0 -82
  124. package/dist/extensions/agent-browser/lib/orchestration/browser-run/click-dispatch.js +0 -406
  125. package/dist/extensions/agent-browser/lib/orchestration/browser-run/diagnostic-values.js +0 -31
  126. package/dist/extensions/agent-browser/lib/orchestration/browser-run/diagnostics.js +0 -240
  127. package/dist/extensions/agent-browser/lib/orchestration/browser-run/electron-observation.js +0 -203
  128. package/dist/extensions/agent-browser/lib/orchestration/browser-run/electron-text-diagnostics.js +0 -109
  129. package/dist/extensions/agent-browser/lib/orchestration/browser-run/fill-diagnostics.js +0 -119
  130. package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result-action-recovery.js +0 -147
  131. package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result-actions.js +0 -144
  132. package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result-content.js +0 -123
  133. package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result-contracts.js +0 -1
  134. package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result-details.js +0 -156
  135. package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result-electron.js +0 -187
  136. package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result-evidence.js +0 -39
  137. package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result-missing-binary.js +0 -89
  138. package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result-recovery.js +0 -97
  139. package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result-redaction.js +0 -106
  140. package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result-timeout.js +0 -110
  141. package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result.js +0 -53
  142. package/dist/extensions/agent-browser/lib/orchestration/browser-run/index.js +0 -224
  143. package/dist/extensions/agent-browser/lib/orchestration/browser-run/interaction-diagnostics.js +0 -290
  144. package/dist/extensions/agent-browser/lib/orchestration/browser-run/managed-session-close.js +0 -167
  145. package/dist/extensions/agent-browser/lib/orchestration/browser-run/managed-session-daemon-inspection.js +0 -108
  146. package/dist/extensions/agent-browser/lib/orchestration/browser-run/managed-session-daemon-policy.js +0 -174
  147. package/dist/extensions/agent-browser/lib/orchestration/browser-run/native-helper-observation.js +0 -65
  148. package/dist/extensions/agent-browser/lib/orchestration/browser-run/observation-types.js +0 -1
  149. package/dist/extensions/agent-browser/lib/orchestration/browser-run/overlay-diagnostics.js +0 -120
  150. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare/network-page-filter.js +0 -192
  151. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare/scroll-shims.js +0 -225
  152. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare/snapshot-filter-data.js +0 -150
  153. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare/snapshot-filter.js +0 -174
  154. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare/snapshot-rendered-text.js +0 -147
  155. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare/wait-timeouts.js +0 -145
  156. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-artifacts.js +0 -159
  157. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-command.js +0 -131
  158. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-contracts.js +0 -1
  159. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-daemon.js +0 -93
  160. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-failure.js +0 -42
  161. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-guards.js +0 -242
  162. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-input.js +0 -75
  163. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-observations.js +0 -92
  164. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-page-selection.js +0 -254
  165. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-page-state.js +0 -121
  166. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-refs.js +0 -130
  167. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-resources.js +0 -114
  168. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-semantic.js +0 -121
  169. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-session-plan.js +0 -222
  170. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-timeouts.js +0 -68
  171. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare.js +0 -202
  172. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-analysis.js +0 -191
  173. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-confirmation.js +0 -152
  174. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-diagnostics.js +0 -182
  175. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-electron.js +0 -150
  176. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-lifecycle-contracts.js +0 -1
  177. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-lifecycle-phase-contracts.js +0 -1
  178. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-lifecycle-phase.js +0 -115
  179. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-lifecycle.js +0 -256
  180. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-managed-contracts.js +0 -1
  181. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-managed.js +0 -256
  182. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-native-phase-contracts.js +0 -1
  183. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-native-phase.js +0 -93
  184. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-native.js +0 -113
  185. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-navigation-contracts.js +0 -1
  186. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-navigation.js +0 -316
  187. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-ownership.js +0 -28
  188. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-page-phase-contracts.js +0 -1
  189. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-page-phase.js +0 -142
  190. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-presentation-contracts.js +0 -1
  191. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-presentation.js +0 -333
  192. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-publication-phase-contracts.js +0 -1
  193. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-publication-phase.js +0 -71
  194. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-publication.js +0 -201
  195. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-receipts.js +0 -183
  196. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-refs.js +0 -200
  197. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-tabs.js +0 -142
  198. package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output.js +0 -25
  199. package/dist/extensions/agent-browser/lib/orchestration/browser-run/prompt-guards.js +0 -50
  200. package/dist/extensions/agent-browser/lib/orchestration/browser-run/recording-receipt-reconciliation.js +0 -198
  201. package/dist/extensions/agent-browser/lib/orchestration/browser-run/recording-recovery-contracts.js +0 -1
  202. package/dist/extensions/agent-browser/lib/orchestration/browser-run/recording-recovery-presentation.js +0 -154
  203. package/dist/extensions/agent-browser/lib/orchestration/browser-run/recording-recovery.js +0 -80
  204. package/dist/extensions/agent-browser/lib/orchestration/browser-run/screenshot-capture.js +0 -14
  205. package/dist/extensions/agent-browser/lib/orchestration/browser-run/screenshot-observation.js +0 -206
  206. package/dist/extensions/agent-browser/lib/orchestration/browser-run/session-state-commands.js +0 -130
  207. package/dist/extensions/agent-browser/lib/orchestration/browser-run/session-state-electron.js +0 -212
  208. package/dist/extensions/agent-browser/lib/orchestration/browser-run/session-state-observations.js +0 -61
  209. package/dist/extensions/agent-browser/lib/orchestration/browser-run/session-state-outcomes.js +0 -187
  210. package/dist/extensions/agent-browser/lib/orchestration/browser-run/session-state-refs.js +0 -169
  211. package/dist/extensions/agent-browser/lib/orchestration/browser-run/session-state-tabs.js +0 -228
  212. package/dist/extensions/agent-browser/lib/orchestration/browser-run/session-state.js +0 -117
  213. package/dist/extensions/agent-browser/lib/orchestration/browser-run/text-visibility-diagnostics.js +0 -182
  214. package/dist/extensions/agent-browser/lib/orchestration/browser-run/timeout-diagnostics.js +0 -256
  215. package/dist/extensions/agent-browser/lib/orchestration/browser-run/timeout-progress.js +0 -108
  216. package/dist/extensions/agent-browser/lib/orchestration/browser-run/types.js +0 -1
  217. package/dist/extensions/agent-browser/lib/orchestration/code-artifact-observation.js +0 -39
  218. package/dist/extensions/agent-browser/lib/orchestration/code-image-observation.js +0 -119
  219. package/dist/extensions/agent-browser/lib/orchestration/electron-host/branch.js +0 -93
  220. package/dist/extensions/agent-browser/lib/orchestration/electron-host/cleanup-result.js +0 -58
  221. package/dist/extensions/agent-browser/lib/orchestration/electron-host/cleanup.js +0 -78
  222. package/dist/extensions/agent-browser/lib/orchestration/electron-host/contracts.js +0 -1
  223. package/dist/extensions/agent-browser/lib/orchestration/electron-host/discovery.js +0 -106
  224. package/dist/extensions/agent-browser/lib/orchestration/electron-host/index.js +0 -60
  225. package/dist/extensions/agent-browser/lib/orchestration/electron-host/policy.js +0 -86
  226. package/dist/extensions/agent-browser/lib/orchestration/electron-host/probe-collection.js +0 -68
  227. package/dist/extensions/agent-browser/lib/orchestration/electron-host/probe-data.js +0 -169
  228. package/dist/extensions/agent-browser/lib/orchestration/electron-host/probe-presentation.js +0 -182
  229. package/dist/extensions/agent-browser/lib/orchestration/electron-host/probe.js +0 -161
  230. package/dist/extensions/agent-browser/lib/orchestration/electron-host/status.js +0 -167
  231. package/dist/extensions/agent-browser/lib/orchestration/execution-queue.js +0 -98
  232. package/dist/extensions/agent-browser/lib/orchestration/extension-artifact-preflight.js +0 -211
  233. package/dist/extensions/agent-browser/lib/orchestration/extension-artifacts.js +0 -23
  234. package/dist/extensions/agent-browser/lib/orchestration/extension-attachment-replay.js +0 -99
  235. package/dist/extensions/agent-browser/lib/orchestration/extension-branch-restore.js +0 -275
  236. package/dist/extensions/agent-browser/lib/orchestration/extension-code.js +0 -280
  237. package/dist/extensions/agent-browser/lib/orchestration/extension-command-admission.js +0 -303
  238. package/dist/extensions/agent-browser/lib/orchestration/extension-command-output.js +0 -36
  239. package/dist/extensions/agent-browser/lib/orchestration/extension-command-result.js +0 -335
  240. package/dist/extensions/agent-browser/lib/orchestration/extension-command-run.js +0 -227
  241. package/dist/extensions/agent-browser/lib/orchestration/extension-command-state.js +0 -1
  242. package/dist/extensions/agent-browser/lib/orchestration/extension-electron-ownership.js +0 -204
  243. package/dist/extensions/agent-browser/lib/orchestration/extension-execution-locks.js +0 -139
  244. package/dist/extensions/agent-browser/lib/orchestration/extension-execution-queue.js +0 -24
  245. package/dist/extensions/agent-browser/lib/orchestration/extension-host-coordination.js +0 -98
  246. package/dist/extensions/agent-browser/lib/orchestration/extension-host-run.js +0 -295
  247. package/dist/extensions/agent-browser/lib/orchestration/extension-intent-replay.js +0 -41
  248. package/dist/extensions/agent-browser/lib/orchestration/extension-invocation.js +0 -7
  249. package/dist/extensions/agent-browser/lib/orchestration/extension-lifecycle.js +0 -102
  250. package/dist/extensions/agent-browser/lib/orchestration/extension-managed-ownership.js +0 -133
  251. package/dist/extensions/agent-browser/lib/orchestration/extension-observation.js +0 -120
  252. package/dist/extensions/agent-browser/lib/orchestration/extension-prompt.js +0 -180
  253. package/dist/extensions/agent-browser/lib/orchestration/extension-recording.js +0 -290
  254. package/dist/extensions/agent-browser/lib/orchestration/extension-resource-contracts.js +0 -1
  255. package/dist/extensions/agent-browser/lib/orchestration/extension-resource-replay.js +0 -269
  256. package/dist/extensions/agent-browser/lib/orchestration/extension-result-state.js +0 -113
  257. package/dist/extensions/agent-browser/lib/orchestration/extension-runtime.js +0 -146
  258. package/dist/extensions/agent-browser/lib/orchestration/extension-script-leases.js +0 -58
  259. package/dist/extensions/agent-browser/lib/orchestration/extension-tool-boundary.js +0 -62
  260. package/dist/extensions/agent-browser/lib/orchestration/extension-version-check.js +0 -54
  261. package/dist/extensions/agent-browser/lib/orchestration/input-plan-types.js +0 -1
  262. package/dist/extensions/agent-browser/lib/orchestration/input-plan.js +0 -313
  263. package/dist/extensions/agent-browser/lib/orchestration/input-redaction.js +0 -62
  264. package/dist/extensions/agent-browser/lib/orchestration/native-config.js +0 -144
  265. package/dist/extensions/agent-browser/lib/orchestration/native-root-launch.js +0 -77
  266. package/dist/extensions/agent-browser/lib/orchestration/native-session-defaults.js +0 -231
  267. package/dist/extensions/agent-browser/lib/orchestration/operation-paths.js +0 -142
  268. package/dist/extensions/agent-browser/lib/orchestration/output-file.js +0 -276
  269. package/dist/extensions/agent-browser/lib/orchestration/script-mode.js +0 -220
  270. package/dist/extensions/agent-browser/lib/owned-managed-session-context.js +0 -55
  271. package/dist/extensions/agent-browser/lib/page-target-batch.js +0 -118
  272. package/dist/extensions/agent-browser/lib/page-target-guards.js +0 -50
  273. package/dist/extensions/agent-browser/lib/page-target-navigation.js +0 -104
  274. package/dist/extensions/agent-browser/lib/page-target-validation.js +0 -90
  275. package/dist/extensions/agent-browser/lib/parsing.js +0 -30
  276. package/dist/extensions/agent-browser/lib/pi-tool-rendering.js +0 -343
  277. package/dist/extensions/agent-browser/lib/playbook.js +0 -146
  278. package/dist/extensions/agent-browser/lib/process-child.js +0 -284
  279. package/dist/extensions/agent-browser/lib/process-environment.js +0 -48
  280. package/dist/extensions/agent-browser/lib/process-errors.js +0 -23
  281. package/dist/extensions/agent-browser/lib/process-identity.js +0 -127
  282. package/dist/extensions/agent-browser/lib/process-socket-storage.js +0 -256
  283. package/dist/extensions/agent-browser/lib/process-stdout.js +0 -74
  284. package/dist/extensions/agent-browser/lib/process.js +0 -216
  285. package/dist/extensions/agent-browser/lib/prompt-artifacts.js +0 -287
  286. package/dist/extensions/agent-browser/lib/prompt-policy.js +0 -54
  287. package/dist/extensions/agent-browser/lib/read-command.js +0 -41
  288. package/dist/extensions/agent-browser/lib/read-confirmation.js +0 -162
  289. package/dist/extensions/agent-browser/lib/recording-reservations.js +0 -208
  290. package/dist/extensions/agent-browser/lib/redaction-fields.js +0 -75
  291. package/dist/extensions/agent-browser/lib/redaction-json.js +0 -149
  292. package/dist/extensions/agent-browser/lib/redaction-url.js +0 -88
  293. package/dist/extensions/agent-browser/lib/results/action-contracts.js +0 -1
  294. package/dist/extensions/agent-browser/lib/results/action-recommendations.js +0 -38
  295. package/dist/extensions/agent-browser/lib/results/artifact-contracts.js +0 -1
  296. package/dist/extensions/agent-browser/lib/results/artifact-manifest-validation.js +0 -133
  297. package/dist/extensions/agent-browser/lib/results/artifact-manifest.js +0 -173
  298. package/dist/extensions/agent-browser/lib/results/artifact-recommendations.js +0 -73
  299. package/dist/extensions/agent-browser/lib/results/categories.js +0 -152
  300. package/dist/extensions/agent-browser/lib/results/confirmation.js +0 -75
  301. package/dist/extensions/agent-browser/lib/results/contracts.js +0 -1
  302. package/dist/extensions/agent-browser/lib/results/editable-ref-evidence.js +0 -99
  303. package/dist/extensions/agent-browser/lib/results/electron-recommendations.js +0 -83
  304. package/dist/extensions/agent-browser/lib/results/envelope-decoding.js +0 -48
  305. package/dist/extensions/agent-browser/lib/results/envelope.js +0 -198
  306. package/dist/extensions/agent-browser/lib/results/evidence-contracts.js +0 -1
  307. package/dist/extensions/agent-browser/lib/results/failure-recommendations.js +0 -180
  308. package/dist/extensions/agent-browser/lib/results/network-routes.js +0 -133
  309. package/dist/extensions/agent-browser/lib/results/network.js +0 -89
  310. package/dist/extensions/agent-browser/lib/results/next-actions.js +0 -111
  311. package/dist/extensions/agent-browser/lib/results/presentation/artifact-files.js +0 -320
  312. package/dist/extensions/agent-browser/lib/results/presentation/artifact-format.js +0 -138
  313. package/dist/extensions/agent-browser/lib/results/presentation/artifact-images.js +0 -113
  314. package/dist/extensions/agent-browser/lib/results/presentation/artifact-verification.js +0 -145
  315. package/dist/extensions/agent-browser/lib/results/presentation/artifacts.js +0 -165
  316. package/dist/extensions/agent-browser/lib/results/presentation/batch-contracts.js +0 -1
  317. package/dist/extensions/agent-browser/lib/results/presentation/batch-recording.js +0 -118
  318. package/dist/extensions/agent-browser/lib/results/presentation/batch-redaction.js +0 -68
  319. package/dist/extensions/agent-browser/lib/results/presentation/batch-rendering.js +0 -135
  320. package/dist/extensions/agent-browser/lib/results/presentation/batch-step.js +0 -227
  321. package/dist/extensions/agent-browser/lib/results/presentation/batch-summary.js +0 -91
  322. package/dist/extensions/agent-browser/lib/results/presentation/batch.js +0 -123
  323. package/dist/extensions/agent-browser/lib/results/presentation/browser-profile-recovery.js +0 -54
  324. package/dist/extensions/agent-browser/lib/results/presentation/command-presenters.js +0 -216
  325. package/dist/extensions/agent-browser/lib/results/presentation/common.js +0 -81
  326. package/dist/extensions/agent-browser/lib/results/presentation/content.js +0 -119
  327. package/dist/extensions/agent-browser/lib/results/presentation/diagnostic-a11y.js +0 -67
  328. package/dist/extensions/agent-browser/lib/results/presentation/diagnostic-health.js +0 -79
  329. package/dist/extensions/agent-browser/lib/results/presentation/diagnostic-identity.js +0 -199
  330. package/dist/extensions/agent-browser/lib/results/presentation/diagnostic-logs.js +0 -75
  331. package/dist/extensions/agent-browser/lib/results/presentation/diagnostic-network-actions.js +0 -216
  332. package/dist/extensions/agent-browser/lib/results/presentation/diagnostic-network.js +0 -124
  333. package/dist/extensions/agent-browser/lib/results/presentation/diagnostic-redaction.js +0 -64
  334. package/dist/extensions/agent-browser/lib/results/presentation/diagnostic-storage.js +0 -209
  335. package/dist/extensions/agent-browser/lib/results/presentation/diagnostic-stream.js +0 -69
  336. package/dist/extensions/agent-browser/lib/results/presentation/diagnostic-summary.js +0 -222
  337. package/dist/extensions/agent-browser/lib/results/presentation/diagnostics.js +0 -124
  338. package/dist/extensions/agent-browser/lib/results/presentation/early-result.js +0 -70
  339. package/dist/extensions/agent-browser/lib/results/presentation/errors.js +0 -285
  340. package/dist/extensions/agent-browser/lib/results/presentation/input-contracts.js +0 -1
  341. package/dist/extensions/agent-browser/lib/results/presentation/large-output.js +0 -117
  342. package/dist/extensions/agent-browser/lib/results/presentation/navigation.js +0 -231
  343. package/dist/extensions/agent-browser/lib/results/presentation/notices.js +0 -75
  344. package/dist/extensions/agent-browser/lib/results/presentation/observation-contracts.js +0 -1
  345. package/dist/extensions/agent-browser/lib/results/presentation/observation-rendering.js +0 -127
  346. package/dist/extensions/agent-browser/lib/results/presentation/outcomes.js +0 -120
  347. package/dist/extensions/agent-browser/lib/results/presentation/output-completion.js +0 -77
  348. package/dist/extensions/agent-browser/lib/results/presentation/output-spill.js +0 -51
  349. package/dist/extensions/agent-browser/lib/results/presentation/registry.js +0 -145
  350. package/dist/extensions/agent-browser/lib/results/presentation/semantic-action.js +0 -104
  351. package/dist/extensions/agent-browser/lib/results/presentation/skills.js +0 -183
  352. package/dist/extensions/agent-browser/lib/results/presentation/source.js +0 -109
  353. package/dist/extensions/agent-browser/lib/results/presentation.js +0 -19
  354. package/dist/extensions/agent-browser/lib/results/recommendation-contracts.js +0 -1
  355. package/dist/extensions/agent-browser/lib/results/recording.js +0 -88
  356. package/dist/extensions/agent-browser/lib/results/recovery-actions.js +0 -118
  357. package/dist/extensions/agent-browser/lib/results/recovery-next-actions.js +0 -60
  358. package/dist/extensions/agent-browser/lib/results/selector-recovery-target.js +0 -83
  359. package/dist/extensions/agent-browser/lib/results/selector-recovery.js +0 -261
  360. package/dist/extensions/agent-browser/lib/results/snapshot-compact.js +0 -266
  361. package/dist/extensions/agent-browser/lib/results/snapshot-content.js +0 -32
  362. package/dist/extensions/agent-browser/lib/results/snapshot-high-value-controls.js +0 -240
  363. package/dist/extensions/agent-browser/lib/results/snapshot-refs.js +0 -103
  364. package/dist/extensions/agent-browser/lib/results/snapshot-segments.js +0 -383
  365. package/dist/extensions/agent-browser/lib/results/snapshot-spill.js +0 -53
  366. package/dist/extensions/agent-browser/lib/results/snapshot.js +0 -44
  367. package/dist/extensions/agent-browser/lib/results/text.js +0 -44
  368. package/dist/extensions/agent-browser/lib/runtime-args-validation.js +0 -133
  369. package/dist/extensions/agent-browser/lib/runtime-compatibility.js +0 -81
  370. package/dist/extensions/agent-browser/lib/runtime-contracts.js +0 -1
  371. package/dist/extensions/agent-browser/lib/runtime-redaction.js +0 -118
  372. package/dist/extensions/agent-browser/lib/runtime-replay-events.js +0 -144
  373. package/dist/extensions/agent-browser/lib/runtime-session-identity.js +0 -76
  374. package/dist/extensions/agent-browser/lib/runtime-session-plan.js +0 -114
  375. package/dist/extensions/agent-browser/lib/runtime-session-replay.js +0 -123
  376. package/dist/extensions/agent-browser/lib/runtime-tab-correction.js +0 -65
  377. package/dist/extensions/agent-browser/lib/runtime-timeouts.js +0 -28
  378. package/dist/extensions/agent-browser/lib/runtime.js +0 -163
  379. package/dist/extensions/agent-browser/lib/session-identity.js +0 -51
  380. package/dist/extensions/agent-browser/lib/session-page-observation.js +0 -357
  381. package/dist/extensions/agent-browser/lib/session-page-state.js +0 -353
  382. package/dist/extensions/agent-browser/lib/session-page-types.js +0 -1
  383. package/dist/extensions/agent-browser/lib/string-enum-schema.js +0 -8
  384. package/dist/extensions/agent-browser/lib/temp-artifact-budget.js +0 -81
  385. package/dist/extensions/agent-browser/lib/temp-mutation-queue.js +0 -7
  386. package/dist/extensions/agent-browser/lib/temp-root-ownership.js +0 -234
  387. package/dist/extensions/agent-browser/lib/temp-root.js +0 -211
  388. package/dist/extensions/agent-browser/lib/temp.js +0 -91
  389. package/dist/extensions/agent-browser/lib/tool-surface.js +0 -239
  390. package/dist/extensions/agent-browser/lib/upstream-version.js +0 -15
  391. package/dist/extensions/agent-browser/lib/web-search-providers.js +0 -193
  392. package/dist/extensions/agent-browser/lib/web-search-request.js +0 -102
  393. package/dist/extensions/agent-browser/lib/web-search-results.js +0 -281
  394. package/dist/extensions/agent-browser/lib/web-search-schema.js +0 -82
  395. package/dist/extensions/agent-browser/lib/web-search.js +0 -167
  396. package/dist/extensions/agent-browser/lib/webmcp-observation.js +0 -35
  397. package/dist/extensions/agent-browser/lib/windows-stock-launcher.js +0 -96
  398. package/dist/scripts/agent-browser-target.mjs +0 -23
package/CHANGELOG.md CHANGED
@@ -1,5 +1,118 @@
1
1
  # Changelog
2
2
 
3
+ ## Unreleased
4
+
5
+ ## 0.9.7 - 2026-11-01
6
+
7
+ <!-- npm-release:unreleased:start -->
8
+
9
+ ### Changed
10
+
11
+ - Preserve a retained npm candidate through package verification, configured-source lifecycle checks, and the required macOS and Ubuntu Crabbox suites.
12
+ - Run the retained candidate through reusable hosted release qualification for both supported Pi hosts and real browser sites.
13
+ - Recommend separately installed stock `agent-browser` 0.41.0 while retaining the stable 0.35.0 runtime floor and no upper cap. Refresh audited help/source metadata, generated guidance, fixtures, and native CI installation across 0.39.3–0.41.0. Document native download persistence, daemon `.config` cleanup, route CORS, config trust, restore skipped origins, and the current non-help MCP integration limitation. Updating metadata does not speed an installation already on 0.41.0.
14
+ - Read large session journals faster when restoring browser state on startup, resume, switch and tree navigation. Records are framed with native byte search, and records up to 1 MiB whose nesting and structure keep native parsing to a few MiB are validated with native JSON. Larger or denser records and every native rejection still use the token projector in file-read-sized chunks, so accepted records, first errors and ancestry checks are unchanged. Cold restores read the whole journal. Repeated restores on the same native manager/header and file reuse structural metadata or scan only the appended suffix, with full validation after ordinary source invalidation or errors. Selected event and winning ref bodies are always reread. On synthetic 40 MB and 285 MB journals whose records are all under 1 MiB, the journal replay read alone fell about 2.5x and 4.5x in median wall time with identical output; end-to-end restore and session switching were not measured (#303).
15
+ - Document CLI HTTPS trust, experimental Obscura limits, lost-response inspection before retry, stricter native click/ref/policy handling, preserved launch-argument values, and upstream provider changes without bundling or emulation.
16
+ - Wait for a busy shared browser without querying the holder's process identity every 10 ms. Outside native Windows, each browser execution claim owner listens on a local socket in the per-user coordination directory. A waiter that has just confirmed its holder alive, with a published ticket, connects once and sleeps until that connection closes on release or holder exit, then re-runs the normal arbitration. Claims still choosing a ticket, owners whose identity cannot be confirmed, unavailable endpoints (including socket paths over the platform limit) and native Windows keep the existing 10 ms polling with fresh identity checks.
17
+ - Validate the winning snapshot definitions of a restored journal without building and discarding their complete ref maps. Journal reads and branch restore still check every definition at the same point with the same errors, and restored refs, order, targets and generations are unchanged. On the large-journal proof's 34,683-ref definition, each validation fell from about 18.7 to 3.0 ms in median repeat time, with transient allocation down from at least 18.3 MB to 0.6 MB. Replay of captured real journals, whose definitions are small, showed no measurable change.
18
+ - Send about 2.6 KB less browser instruction text with every request that carries the full instructions (about 540 prompt tokens with gpt-6.1-terra and 930 with claude-sonnet-5-5, measured through Cloudflare AI Gateway). The full text no longer repeats the short orientation bullets that only the compact fallback needs and lists the launch-scoped flags once. Every rule, command and tool is still covered, and the compact fallback is unchanged.
19
+ - Let `npm run verify -- release` accept the lifecycle harness options (`--model`, `--timeout-ms`, `--verbose`, `--keep-artifacts`), check their values with the lifecycle parser before any step runs, and forward them only to its lifecycle step, so the complete release gate can run its lifecycle prompts on a chosen model. The lifecycle harness now runs Pi on its own tmux server, so that model's provider credentials come from the verify process environment rather than an already running tmux server, and removes that server's socket after shutdown. Release without options and its other steps are unchanged.
20
+
21
+ ### Fixed
22
+
23
+ - Inspect npm package-file output correctly in platform doctor, including npm 12 and Windows npm shims, and let native pack preparation finish before reporting repository hygiene.
24
+ - Run the permissioned `agent_browser_code` worker when the installed package path contains symlinks, including macOS temporary directories.
25
+ - Show the actual lint error when quality acceptance fails in CI. `npm run lint` now finishes writing its policy inventory line before Oxlint starts; through a pipe, Oxlint's first diagnostic could otherwise land partway through that line and disappear when `npm run quality:mutations` shortened long lines for the job log. The mutation controls now require each expected diagnostic to survive that shortening.
26
+ - Keep wrapper-owned fresh browsers, Electron apps, their isolated profiles, and in-progress recordings running across a managed fork `pi restart` or `/restart`. The fork reports `session_shutdown` reason `quit` with `disposition: "handoff"` (or `"provisional"` for an unready replacement that may roll back); the extension now treats it as an ownership transfer: it keeps every owned managed session and Electron launch that the replacement worker restores from the active branch, including non-current identities, and closes only owned resources it cannot restore. Live page JavaScript and forms survive the restart. Genuine quit (`release` or no disposition, including official Pi) and `/reload` cleanup are unchanged.
27
+ - Show native 0.40+ skipped restore origins in default text, so a partial storage restore is visible without `--json`: a nonempty `state load` `skippedOrigins` list follows `State loaded`, and `session info` runtime metadata includes `restoreSkippedOrigins`. Structured details and explicit `--json` output are unchanged.
28
+ - Preserve native indexed `batch --omit-command` results while retaining cookie/storage/error redaction, ordered close/reopen and snapshot state, and artifact verification. Match native indexes to the effective raw/stdin plan without losing skipped empty-row positions; public receipts and full spills keep command omission.
29
+ - Keep POSIX process identities stable across timezone and locale changes. Probe native `ps` in UTC/C while preserving the rest of its environment, distinguish qualified identities from unqualified persisted timestamps, and retain ambiguous live execution claims, temp roots, and restored Electron processes instead of treating them as reused PIDs. Incomparable saved daemon identities invalidate old refs without reloading a live managed page; restore-disabled sessions still require verified provenance and may refuse reuse until closed and freshly launched. Restart every Pi process that loads the extension when upgrading: older running releases read the new identities as reused PIDs and can remove the newer release's in-progress or long-held execution claims.
30
+ - Keep the requested `outputPath` receipt (`outputFile`: saved or failed, path, source, bytes or error) visible to the model when a large result is compacted, in explicit `--json` and `agent_browser_code` results, and in `structuredContent`. Previously only `details` kept it, so an agent could not confirm a saved file without reading the full spill.
31
+ - Share the root Pi browser with current pi-subagents delegated children again. Direct and code calls in a child resolve its main session from the equal `PI_INTERCOM_ROOT_SESSION_ID`/`PI_INTERCOM_PARENT_SESSION_ID` pair instead of launching a separate browser (where a bare read saw `about:blank`); older `PI_SUBAGENT_CHILD`/`PI_SUBAGENT_ROOT_SESSION_ID` launches still share their root.
32
+ - Run the maintainer npm facade correctly through symlinked paths, including macOS temporary directories, by using Node's native entrypoint detection instead of comparing noncanonical file URLs.
33
+ - Clear the development-only Undici audit findings (GHSA-xjj6-f33q-929c, GHSA-4qv8-2p9j-2685, GHSA-f72v-6w45-q472) by overriding the development Pi SDK's exact Undici 8.10.2 to 8.12.3 wherever this repository is the npm root project (checkouts and Git-source installs, which build with the development tree). Published npm-package installs, runtime dependencies and the Pi 1.0 floor are unchanged, and official Pi hosts still run their own Undici 8.10.2 (#302).
34
+ - Recognize native `--use-system-ca` optional boolean values during command discovery so `--use-system-ca false read <url>` remains a read command.
35
+ - Let a first page-dependent call on a caller-owned explicit session, such as `--session s1 --ignore-https-errors auth login <profile>`, start the browser with its own launch flags. When the call carries browser launch flags and native `session info` reports no running daemon, remembered-tab selection and the page-target probe no longer cold-start that browser without them, including after a transcript reload. Retire the stopped browser's tab identity and refs after dispatch, and observe the replacement page after success so ordinary follow-ups cannot reuse the old physical tab; failed or unobserved launches leave the target unknown. Replacement-page observation does not label a read-only command as a mutation or reopen the stopped caller-owned browser's remembered URL. Flagless calls and running browsers keep their checks (#294).
36
+ - Read Windows process-start generations through a fresh .NET process lookup and invariant UTC ticks, retaining the existing versioned identity format, native executable, cancellation and probe budgets.
37
+ - Avoid querying a browser execution predecessor's process identity after its immutable claim is confirmed gone, while retaining fresh generation checks for present or unresolved claims and rechecking presence after each query.
38
+ - Retry Windows `EPERM` failures when publishing a browser execution claim only within the original acquisition budget, revalidating the same immutable owner and scope before every retry; cancellation, unknown ownership, and single-attempt probes still fail closed.
39
+ - Time browser execution coordination waits with Node's monotonic `performance.now()` clock instead of the system wall clock. A system clock step (for example an NTP correction or VM resume) no longer makes a waiter give up early or wait past its budget: on Linux a +120 s step had ended a 30 s wait after about 1.5 s, and a −120 s step kept a 5 s wait going until its holder released. This covers polling and owner-endpoint waits, direct-call and code-cell coordination deadlines, and process-identity probe budgets. Persisted claim and file timestamps, including the stale-claim age check, remain wall-clock.
40
+ - Time Electron launch readiness, the 1 s SIGTERM grace after a failed launch, `electron.cleanup` process-exit windows, web-search request spacing, and the phase time in managed-session close timeout messages with the same monotonic clock. On a real Ubuntu guest, a +120 s system clock step failed a healthy stock Electron launch as a timeout within about 0.2 s; a −120 s step kept cleanup of an unresponsive app waiting past its 5 s window (still waiting at 15 s); after a failed launch of an app whose main thread was busy, a −120 s step was still delaying its SIGKILL at 11.6 s, while a +120 s step sent SIGKILL 0.35 s after SIGTERM, cutting the grace short; close timeouts reported −117019 ms or 122938 ms in their phase; and real Exa searches either skipped the 1.1 s request spacing after a +120 s step or held the next search for about two minutes after a −120 s step. Persisted launch timestamps remain wall-clock.
41
+ - Keep a live browser execution lock owner on Linux when the system clock steps. Linux process identity now uses the kernel boot ID and the boot-relative start ticks in `/proc/<pid>/stat` instead of wall-clock-derived `ps` start times, which made a held lock look abandoned and let a second caller acquire it. A recorded identity in a different or untagged format is unknown rather than proof of PID reuse.
42
+
43
+ <!-- npm-release:unreleased:end -->
44
+
45
+ - Automate qualified npm releases (#339) ([7420c31](https://github.com/fitchmultz/pi-agent-browser-native/commit/7420c31caf461730c4c148bac33801b63607173c))
46
+
47
+ ### What's Changed
48
+
49
+ - docs: establish proactive dependency maintenance policy by @fitchmultz in https://github.com/fitchmultz/pi-agent-browser-native/pull/290
50
+ - fix: allow compact prompt fallback on unmanaged Pi hosts (fixes #270) by @youki258 in https://github.com/fitchmultz/pi-agent-browser-native/pull/271
51
+ - Preserve browser CLI signals and empty-output failure diagnostics by @hara-seihun in https://github.com/fitchmultz/pi-agent-browser-native/pull/273
52
+ - fix(ci): restore blocking official/fork Windows qualification by @pi-durable[bot] in https://github.com/fitchmultz/pi-agent-browser-native/pull/291
53
+ - test: repair current-host Browser qualification fixtures by @pi-durable[bot] in https://github.com/fitchmultz/pi-agent-browser-native/pull/292
54
+ - Make native Windows best-effort (1/2) by @pi-durable[bot] in https://github.com/fitchmultz/pi-agent-browser-native/pull/295
55
+ - fix(build): scope checker compiler long-path support to native Git commands by @pi-durable[bot] in https://github.com/fitchmultz/pi-agent-browser-native/pull/293
56
+ - test(auth): verify global profiles and managed browser login by @pi-durable[bot] in https://github.com/fitchmultz/pi-agent-browser-native/pull/296
57
+ - perf: cache documentation paths per loaded extension instance by @pi-durable[bot] in https://github.com/fitchmultz/pi-agent-browser-native/pull/298
58
+ - fix: let cold caller-owned launches keep their flags by @fitchmultz in https://github.com/fitchmultz/pi-agent-browser-native/pull/299
59
+ - Refresh agent-browser baseline to 0.39.2 by @fitchmultz in https://github.com/fitchmultz/pi-agent-browser-native/pull/301
60
+ - deps(dev): override development Pi SDK Undici to 8.12.3 by @fitchmultz in https://github.com/fitchmultz/pi-agent-browser-native/pull/307
61
+ - perf(agent-browser): validate small journal records natively during replay by @fitchmultz in https://github.com/fitchmultz/pi-agent-browser-native/pull/306
62
+ - perf(browser): replay only appended session metadata by @fitchmultz in https://github.com/fitchmultz/pi-agent-browser-native/pull/308
63
+ - Speed up browser journal replay by @fitchmultz in https://github.com/fitchmultz/pi-agent-browser-native/pull/309
64
+ - Fix delegated browser session sharing by @fitchmultz in https://github.com/fitchmultz/pi-agent-browser-native/pull/310
65
+ - Wake browser execution waiters on holder release instead of polling by @fitchmultz in https://github.com/fitchmultz/pi-agent-browser-native/pull/312
66
+ - Require a Pi restart for coordinated package upgrades by @fitchmultz in https://github.com/fitchmultz/pi-agent-browser-native/pull/314
67
+ - Validate replayed snapshot definitions without rebuilding ref maps by @fitchmultz in https://github.com/fitchmultz/pi-agent-browser-native/pull/316
68
+ - Forward lifecycle options through the release gate by @fitchmultz in https://github.com/fitchmultz/pi-agent-browser-native/pull/317
69
+ - Isolate policy GC test fixtures from concurrent processes by @fitchmultz in https://github.com/fitchmultz/pi-agent-browser-native/pull/319
70
+ - Preserve native indexed batch redaction and replay (1/2) by @fitchmultz in https://github.com/fitchmultz/pi-agent-browser-native/pull/313
71
+ - Recommend agent-browser 0.41.0 (2/2) by @fitchmultz in https://github.com/fitchmultz/pi-agent-browser-native/pull/323
72
+ - Stop repeating browser orientation in full instructions by @fitchmultz in https://github.com/fitchmultz/pi-agent-browser-native/pull/321
73
+ - Keep outputPath receipts visible in compacted browser observations by @fitchmultz in https://github.com/fitchmultz/pi-agent-browser-native/pull/318
74
+ - Remove the lifecycle harness's private tmux socket after stopping its server by @fitchmultz in https://github.com/fitchmultz/pi-agent-browser-native/pull/322
75
+ - Fix timezone-dependent POSIX process identity (1/2) by @fitchmultz in https://github.com/fitchmultz/pi-agent-browser-native/pull/311
76
+ - Keep owned browsers across managed fork restarts by @fitchmultz in https://github.com/fitchmultz/pi-agent-browser-native/pull/325
77
+ - fix: keep Linux lock owners when the system clock steps (2/2) by @fitchmultz in https://github.com/fitchmultz/pi-agent-browser-native/pull/315
78
+ - Time browser execution waits on the monotonic clock (1/2) by @fitchmultz in https://github.com/fitchmultz/pi-agent-browser-native/pull/320
79
+ - Keep lint diagnostics visible in piped quality logs by @fitchmultz in https://github.com/fitchmultz/pi-agent-browser-native/pull/326
80
+ - Use the real start identity in the shared-directory policy-debug acquisition test by @fitchmultz in https://github.com/fitchmultz/pi-agent-browser-native/pull/327
81
+ - Stabilize code timeout fixture after emission by @fitchmultz in https://github.com/fitchmultz/pi-agent-browser-native/pull/328
82
+ - Time Electron launch and cleanup, close timeout messages and web-search spacing on the monotonic clock (2/2) by @fitchmultz in https://github.com/fitchmultz/pi-agent-browser-native/pull/324
83
+ - Prepare npm release automation by @fitchmultz in https://github.com/fitchmultz/pi-agent-browser-native/pull/333
84
+ - Use current upstream for release qualification by @fitchmultz in https://github.com/fitchmultz/pi-agent-browser-native/pull/334
85
+ - Fix code sandbox through symlinked installs by @fitchmultz in https://github.com/fitchmultz/pi-agent-browser-native/pull/335
86
+ - Fix platform doctor package inspection by @fitchmultz in https://github.com/fitchmultz/pi-agent-browser-native/pull/336
87
+ - Preserve the retained release candidate through verification (1/3) by @fitchmultz in https://github.com/fitchmultz/pi-agent-browser-native/pull/337
88
+ - Qualify the retained browser candidate on hosted runners (2/3) by @fitchmultz in https://github.com/fitchmultz/pi-agent-browser-native/pull/338
89
+ - Automate qualified browser releases (3/3) by @fitchmultz in https://github.com/fitchmultz/pi-agent-browser-native/pull/339
90
+
91
+ ### New Contributors
92
+
93
+ - @youki258 made their first contribution in https://github.com/fitchmultz/pi-agent-browser-native/pull/271
94
+ - @hara-seihun made their first contribution in https://github.com/fitchmultz/pi-agent-browser-native/pull/273
95
+ - @pi-durable[bot] made their first contribution in https://github.com/fitchmultz/pi-agent-browser-native/pull/291
96
+
97
+ **Full Changelog**: https://github.com/fitchmultz/pi-agent-browser-native/compare/v0.9.6...v0.9.7
98
+
99
+ ## 0.9.6 - 2026-10-14
100
+
101
+ ### Changed
102
+
103
+ - Reduce large-result redaction, snapshot-summary, batch-metadata, and artifact-manifest work without changing visible output or credential masking.
104
+ - Reuse an identity-qualified native daemon inspection within one helper-free preparation phase; keep live generation checks across calls, after captures, and after attachment verification.
105
+ - Overlap independent artifact observations after a timeout while retaining per-path retries, plan order, and unknown execution outcomes.
106
+ - Release offline conversion branch projections after their final source child and use the upstream raw JSON tokenizer without per-record Node stream pipelines. Preserve complete JSON/UTF-8 validation and separate-copy publication.
107
+ - Overlap bounded filesystem inspection for artifact retention, and skip Electron payload inspection when its required framework is absent.
108
+ - Publish only the compiled runtime entrypoints and worker while retaining complete checkout output. Run the existing strict quality policy once per facade invocation.
109
+ - Add an opt-in `npm run performance-profile` with checked workloads, raw measurements, and source/fixture identities; document captured baselines and measurement limits in `docs/PERFORMANCE.md`.
110
+
111
+ ### Fixed
112
+
113
+ - Resume historical browser-bearing conversations automatically at their original native journal path without conversion or rewritten bytes. Shared read-only normalization preserves mixed-format ancestry, confirmation settings/provenance and cleanup ownership while retaining canonical validation and native-generation guards.
114
+ - Report the current session name for bare `session` without first verifying the page target; the unneeded `get url` probe could launch native daemons that nothing closed.
115
+
3
116
  ## 0.9.5 - 2026-10-12
4
117
 
5
118
  ### Fixed
@@ -1010,7 +1123,7 @@ See the [migration guide](docs/TOOL_CONTRACT.md#07-migration). Restart participa
1010
1123
 
1011
1124
  ### Validation
1012
1125
 
1013
- - Reproduced the `pi install -l --approve https://github.com/fitchmultz/pi-agent-browser-native@v0.2.50` source-install failure, then verified production-dependency source builds, project-local GitHub install, project-local npm install, and release gates before publish.
1126
+ - Reproduced the GitHub source-install failure with `pi install -l --approve` against version `0.2.50`, then verified production-dependency source builds, project-local GitHub install, project-local npm install, and release gates before publish.
1014
1127
 
1015
1128
  ## 0.2.50 - 2026-06-11
1016
1129
 
package/README.md CHANGED
@@ -6,18 +6,18 @@ pi-agent-browser-native adds browser tools to [Pi](https://pi.dev). Use it to re
6
6
 
7
7
  ## Install and start
8
8
 
9
- Use Node 24.21.0 or later and Pi 1.0.0 or later. This extension requires a separate agent-browser installation.
9
+ Use supported Node.js and Pi releases. This extension requires a separate agent-browser installation. See the [runtime requirements](docs/REQUIREMENTS.md#runtime-requirements) for minimum versions.
10
10
 
11
- The recommended agent-browser version is 0.38.1. This extension accepts stable versions 0.35.0 or later.
11
+ The latest stable agent-browser release is recommended. Older stable releases are supported down to the [documented minimum](docs/REQUIREMENTS.md#runtime-requirements), with no upper version cap. See the [command guide](docs/COMMAND_REFERENCE.md) for native download fixes, daemon-file cleanup, indexed batch output, and the current MCP limitation.
12
12
 
13
13
  ```bash
14
- npm install -g agent-browser
14
+ npm install -g agent-browser --allow-scripts=agent-browser
15
15
  agent-browser install
16
16
  pi install npm:pi-agent-browser-native
17
17
  pi
18
18
  ```
19
19
 
20
- `agent-browser install` downloads Chrome for Testing. On Linux, use `agent-browser install --with-deps` if browser libraries are missing. Android users need the [Termux setup](docs/REFERENCE.md#android--termux).
20
+ The npm flag permits the browser CLI's install script. `agent-browser install` downloads Chrome for Testing. On Linux, use `agent-browser install --with-deps` if browser libraries are missing. Android users need the [Termux setup](docs/REFERENCE.md#android--termux).
21
21
 
22
22
  Ask Pi:
23
23
 
@@ -30,6 +30,8 @@ Close the browser when finished.
30
30
 
31
31
  After a package update, quit Pi fully. Start Pi again to load the new tools. `/reload` can retain the previous compiled code.
32
32
 
33
+ Existing browser-bearing conversations resume automatically at their original journal path, without rewriting history or running a converter. See [session storage](docs/SESSION_STORAGE.md#resuming-a-retained-legacy-journal) for replay and recovery limits.
34
+
33
35
  Read the [command reference](docs/COMMAND_REFERENCE.md) for your next browser task.
34
36
 
35
37
  ## Browser tools
@@ -70,6 +72,8 @@ Profile access exposes private page content to the model. That content can persi
70
72
 
71
73
  Credential-like values are redacted, but ordinary page text stays visible. Verify the signed-in page after you select a profile or restore browser state.
72
74
 
75
+ Native `batch --omit-command` keeps indexed results without echoed commands. Cookie/storage redaction, ordered close/reopen effects, snapshot refs, and artifact verification still apply, including when empty stdin rows are skipped.
76
+
73
77
  Ask for a headed browser if you need to watch a task or complete a login. Remote environments can keep the window off your desktop.
74
78
 
75
79
  See [profiles and sessions](docs/REFERENCE.md#authenticatedprofile-workflows) for profile selection, restore limits, and cleanup.
@@ -94,13 +98,19 @@ npm exec --package pi-agent-browser-native -- pi-agent-browser-doctor
94
98
 
95
99
  It checks the browser CLI, supported versions, and duplicate Pi package sources. It does not change settings.
96
100
 
97
- This is a pre-1.0 package. Windows has unresolved browser session-locking and restored Electron cleanup test failures. Release tests do not cover Android. Electron desktop tools do not apply to Android apps. See the [support matrix](docs/SUPPORT_MATRIX.md) for details.
101
+ For browser execution coordination failures, launch Pi with Node's standard `NODE_DEBUG=pi-agent-browser-policy` environment setting (PowerShell: `$env:NODE_DEBUG = 'pi-agent-browser-policy'`). This optional channel is silent by default and writes failure-stage breadcrumbs to stderr, not tool results. Lines carry Node's PID plus an opaque per-process attempt number and acquisition or release phase (cleanup has separate stage labels); standalone library inspections use attempt `0`. They contain fixed reasons and normalized native error codes/syscalls, never claim contents, paths, session names, or process-start identities. Normal choosing-state missing tickets and confirmed disappearing claims are quiet. A release/cleanup breadcrumb alone does not explain an acquisition failure. Unset `NODE_DEBUG` after collecting diagnostics; these observations do not change coordination policy or budgets.
102
+
103
+ This package is still early-stage; expect breaking changes as it evolves. **Native Windows is best-effort**, not a required PR or release qualification target. macOS/Linux and official/fork host/API qualification remain strict. Windows has unresolved browser session-locking and restored Electron cleanup test failures; a small nonblocking native CI smoke is not full qualification, and broader Windows suites are explicitly on demand. Release tests do not cover Android. Electron desktop tools do not apply to Android apps. See the [support matrix](docs/SUPPORT_MATRIX.md) for details.
98
104
 
99
105
  For recordings, install `ffmpeg` with the encoder for your WebM or MP4 output. Verify the completed file after you stop the recording.
100
106
 
107
+ Recent agent-browser releases support finite `mcp call` invocations, but this extension currently rejects every non-help `mcp` call. MCP session identity, cross-session coordination, credential presentation, and image handling are not integrated. Use the direct browser tools; see the [MCP boundary](docs/TOOL_CONTRACT.md#native-mcp-boundary).
108
+
101
109
  For remote browsers, use a URL that the browser host can reach. `localhost` refers to the browser host.
102
110
 
103
- For stale references or unexpected tabs, follow the returned recovery actions. Take a fresh snapshot before another interaction. A snapshot inside a batch does not protect refs used after a later page-changing step; add another snapshot after that step or split the batch.
111
+ Preparatory tab/page checks do not launch a stopped caller-owned explicit `--session` ahead of its launch-flagged command, including after resume. After dispatch, the old browser's tab identity and refs are retired. A successful command observes the replacement page before follow-ups; if it cannot be observed, the target stays unknown. Put launch flags on the launch command; an already-running browser may ignore them.
112
+
113
+ For stale references or unexpected tabs, follow the returned recovery actions. Take a fresh snapshot before another interaction. An incomparable saved process identity after an update invalidates old refs without reloading a still-live page. A snapshot inside a batch does not protect refs used after a later page-changing step; add another snapshot after that step or split the batch.
104
114
 
105
115
  ## More documentation
106
116
 
@@ -109,6 +119,7 @@ For stale references or unexpected tabs, follow the returned recovery actions. T
109
119
  - [Electron guide](docs/ELECTRON.md): desktop discovery, isolated launch, and cleanup.
110
120
  - [Session storage](docs/SESSION_STORAGE.md): replay, large histories, and session conversion.
111
121
  - [Architecture](docs/ARCHITECTURE.md): extension design.
122
+ - [Performance](docs/PERFORMANCE.md): measured baselines, improvements, and reproducible profiling.
112
123
  - [Code quality](docs/CODE_QUALITY.md) and [release process](docs/RELEASE.md): maintainer procedures.
113
124
 
114
125
  ## License