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.
- package/CHANGELOG.md +48 -0
- package/README.md +60 -812
- package/dist/extensions/agent-browser/index.js +2381 -1706
- package/dist/packaged/lib/browser-session-conversion.js +2810 -0
- package/dist/packaged/lib/config-policy.js +599 -0
- package/dist/packaged/lib/parsing.js +34 -0
- package/dist/packaged/lib/playbook.js +694 -0
- package/dist/packaged/lib/results/snapshot.js +2671 -0
- package/dist/packaged/lib/runtime.js +3027 -0
- package/docs/ARCHITECTURE.md +14 -3
- package/docs/CODE_QUALITY.md +39 -3
- package/docs/COMMAND_REFERENCE.md +22 -22
- package/docs/ELECTRON.md +24 -2
- package/docs/PERFORMANCE.md +243 -0
- package/docs/REFERENCE.md +869 -0
- package/docs/RELEASE.md +9 -9
- package/docs/REQUIREMENTS.md +1 -1
- package/docs/SESSION_STORAGE.md +11 -3
- package/docs/SUPPORT_MATRIX.md +16 -11
- package/docs/TOOL_CONTRACT.md +17 -13
- package/docs/performance/2026-10-12.json +7257 -0
- package/docs/platform-smoke.md +3 -3
- package/package.json +15 -3
- package/scripts/build.mjs +16 -5
- package/scripts/config.mjs +24 -20
- package/scripts/convert-browser-session.mjs +1 -1
- package/scripts/doctor.mjs +2 -2
- package/scripts/platform-smoke/lease-evidence.mjs +2 -4
- package/scripts/platform-smoke/linux-image/Dockerfile +8 -2
- package/scripts/platform-smoke/targets.mjs +1 -5
- package/dist/extensions/agent-browser/lib/argv-descriptor.js +0 -123
- package/dist/extensions/agent-browser/lib/argv-grammar.js +0 -320
- package/dist/extensions/agent-browser/lib/bash-guard.js +0 -193
- package/dist/extensions/agent-browser/lib/batch-lifecycle.js +0 -131
- package/dist/extensions/agent-browser/lib/browser-execution-claim-codec.js +0 -61
- package/dist/extensions/agent-browser/lib/browser-execution-claim-storage.js +0 -232
- package/dist/extensions/agent-browser/lib/browser-execution-claims.js +0 -202
- package/dist/extensions/agent-browser/lib/browser-execution-identity.js +0 -77
- package/dist/extensions/agent-browser/lib/browser-journal-branch.js +0 -98
- package/dist/extensions/agent-browser/lib/browser-journal-contracts.js +0 -1
- package/dist/extensions/agent-browser/lib/browser-journal-projection.js +0 -221
- package/dist/extensions/agent-browser/lib/browser-journal-reader.js +0 -89
- package/dist/extensions/agent-browser/lib/browser-journal-replay.js +0 -246
- package/dist/extensions/agent-browser/lib/browser-journal.js +0 -148
- package/dist/extensions/agent-browser/lib/browser-legacy-pages.js +0 -220
- package/dist/extensions/agent-browser/lib/browser-legacy-projection.js +0 -282
- package/dist/extensions/agent-browser/lib/browser-legacy-types.js +0 -1
- package/dist/extensions/agent-browser/lib/browser-session-conversion-stream.js +0 -217
- package/dist/extensions/agent-browser/lib/browser-session-conversion.js +0 -126
- package/dist/extensions/agent-browser/lib/browser-transcript-contracts.js +0 -35
- package/dist/extensions/agent-browser/lib/browser-transcript-validation.js +0 -166
- package/dist/extensions/agent-browser/lib/browser-transcript.js +0 -189
- package/dist/extensions/agent-browser/lib/browser-value-parsing.js +0 -15
- package/dist/extensions/agent-browser/lib/command-capabilities.js +0 -340
- package/dist/extensions/agent-browser/lib/command-policy.js +0 -155
- package/dist/extensions/agent-browser/lib/command-taxonomy.js +0 -105
- package/dist/extensions/agent-browser/lib/config-policy.js +0 -450
- package/dist/extensions/agent-browser/lib/config-providers.js +0 -71
- package/dist/extensions/agent-browser/lib/config-validation.js +0 -218
- package/dist/extensions/agent-browser/lib/config.js +0 -69
- package/dist/extensions/agent-browser/lib/electron/cdp.js +0 -58
- package/dist/extensions/agent-browser/lib/electron/cleanup.js +0 -308
- package/dist/extensions/agent-browser/lib/electron/discovery-darwin.js +0 -109
- package/dist/extensions/agent-browser/lib/electron/discovery-desktop.js +0 -136
- package/dist/extensions/agent-browser/lib/electron/discovery-evidence.js +0 -89
- package/dist/extensions/agent-browser/lib/electron/discovery-linux.js +0 -93
- package/dist/extensions/agent-browser/lib/electron/discovery-packages.js +0 -162
- package/dist/extensions/agent-browser/lib/electron/discovery-types.js +0 -2
- package/dist/extensions/agent-browser/lib/electron/discovery.js +0 -217
- package/dist/extensions/agent-browser/lib/electron/launch-monitor.js +0 -102
- package/dist/extensions/agent-browser/lib/electron/launch-process.js +0 -209
- package/dist/extensions/agent-browser/lib/electron/launch-types.js +0 -2
- package/dist/extensions/agent-browser/lib/electron/launch.js +0 -329
- package/dist/extensions/agent-browser/lib/executable-path.js +0 -29
- package/dist/extensions/agent-browser/lib/execution-cwd.js +0 -67
- package/dist/extensions/agent-browser/lib/fs-utils.js +0 -18
- package/dist/extensions/agent-browser/lib/input-modes/electron.js +0 -201
- package/dist/extensions/agent-browser/lib/input-modes/job.js +0 -195
- package/dist/extensions/agent-browser/lib/input-modes/lookup-network-evidence.js +0 -104
- package/dist/extensions/agent-browser/lib/input-modes/lookup-plan.js +0 -132
- package/dist/extensions/agent-browser/lib/input-modes/lookup-redaction.js +0 -57
- package/dist/extensions/agent-browser/lib/input-modes/lookup-source-evidence.js +0 -151
- package/dist/extensions/agent-browser/lib/input-modes/lookup-workspace.js +0 -142
- package/dist/extensions/agent-browser/lib/input-modes/lookups.js +0 -83
- package/dist/extensions/agent-browser/lib/input-modes/params.js +0 -195
- package/dist/extensions/agent-browser/lib/input-modes/qa-analysis.js +0 -268
- package/dist/extensions/agent-browser/lib/input-modes/qa-presentation.js +0 -117
- package/dist/extensions/agent-browser/lib/input-modes/script-child.js +0 -396
- package/dist/extensions/agent-browser/lib/input-modes/script-protocol.js +0 -86
- package/dist/extensions/agent-browser/lib/input-modes/script-types.js +0 -1
- package/dist/extensions/agent-browser/lib/input-modes/script-validation.js +0 -60
- package/dist/extensions/agent-browser/lib/input-modes/script.js +0 -108
- package/dist/extensions/agent-browser/lib/input-modes/semantic-action.js +0 -243
- package/dist/extensions/agent-browser/lib/input-modes/shared.js +0 -48
- package/dist/extensions/agent-browser/lib/input-modes/types.js +0 -65
- package/dist/extensions/agent-browser/lib/json-schema.js +0 -65
- package/dist/extensions/agent-browser/lib/launch-scoped-flags.js +0 -212
- package/dist/extensions/agent-browser/lib/managed-session-policy-lock.js +0 -165
- package/dist/extensions/agent-browser/lib/managed-session-posix-storage.js +0 -58
- package/dist/extensions/agent-browser/lib/managed-session-project-identity.js +0 -244
- package/dist/extensions/agent-browser/lib/managed-session-restore-context.js +0 -84
- package/dist/extensions/agent-browser/lib/managed-session-restore-policy.js +0 -119
- package/dist/extensions/agent-browser/lib/managed-session-restore-state.js +0 -83
- package/dist/extensions/agent-browser/lib/managed-session-restore.js +0 -212
- package/dist/extensions/agent-browser/lib/managed-session-snapshot-records.js +0 -277
- package/dist/extensions/agent-browser/lib/managed-session-snapshots.js +0 -181
- package/dist/extensions/agent-browser/lib/managed-session-storage.js +0 -126
- package/dist/extensions/agent-browser/lib/native-confirmation.js +0 -140
- package/dist/extensions/agent-browser/lib/native-output.js +0 -81
- package/dist/extensions/agent-browser/lib/orchestration/batch-stdin.js +0 -182
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/artifact-merge.js +0 -30
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/artifact-paths.js +0 -188
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/browser-observation-result.js +0 -82
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/click-dispatch.js +0 -406
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/diagnostic-values.js +0 -31
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/diagnostics.js +0 -240
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/electron-observation.js +0 -202
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/electron-text-diagnostics.js +0 -109
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/fill-diagnostics.js +0 -119
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result-action-recovery.js +0 -147
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result-actions.js +0 -144
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result-content.js +0 -123
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result-contracts.js +0 -1
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result-details.js +0 -156
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result-electron.js +0 -179
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result-evidence.js +0 -39
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result-missing-binary.js +0 -89
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result-recovery.js +0 -97
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result-redaction.js +0 -106
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result-timeout.js +0 -110
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result.js +0 -53
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/index.js +0 -224
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/interaction-diagnostics.js +0 -290
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/managed-session-close.js +0 -167
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/managed-session-daemon-inspection.js +0 -108
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/managed-session-daemon-policy.js +0 -174
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/native-helper-observation.js +0 -65
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/observation-types.js +0 -1
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/overlay-diagnostics.js +0 -120
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare/network-page-filter.js +0 -192
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare/scroll-shims.js +0 -225
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare/snapshot-filter-data.js +0 -150
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare/snapshot-filter.js +0 -165
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare/snapshot-rendered-text.js +0 -147
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare/wait-timeouts.js +0 -145
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-artifacts.js +0 -159
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-command.js +0 -131
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-contracts.js +0 -1
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-daemon.js +0 -93
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-failure.js +0 -42
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-guards.js +0 -242
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-input.js +0 -75
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-observations.js +0 -92
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-page-selection.js +0 -254
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-page-state.js +0 -121
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-refs.js +0 -130
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-resources.js +0 -114
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-semantic.js +0 -121
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-session-plan.js +0 -222
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare-timeouts.js +0 -68
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare.js +0 -202
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-analysis.js +0 -191
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-confirmation.js +0 -152
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-diagnostics.js +0 -182
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-electron.js +0 -150
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-lifecycle-contracts.js +0 -1
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-lifecycle-phase-contracts.js +0 -1
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-lifecycle-phase.js +0 -115
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-lifecycle.js +0 -256
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-managed-contracts.js +0 -1
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-managed.js +0 -256
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-native-phase-contracts.js +0 -1
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-native-phase.js +0 -93
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-native.js +0 -113
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-navigation-contracts.js +0 -1
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-navigation.js +0 -316
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-ownership.js +0 -28
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-page-phase-contracts.js +0 -1
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-page-phase.js +0 -142
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-presentation-contracts.js +0 -1
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-presentation.js +0 -333
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-publication-phase-contracts.js +0 -1
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-publication-phase.js +0 -71
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-publication.js +0 -201
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-receipts.js +0 -183
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-refs.js +0 -200
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output-tabs.js +0 -142
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/process-output.js +0 -25
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/prompt-guards.js +0 -50
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/recording-receipt-reconciliation.js +0 -198
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/recording-recovery-contracts.js +0 -1
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/recording-recovery-presentation.js +0 -154
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/recording-recovery.js +0 -80
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/screenshot-capture.js +0 -14
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/screenshot-observation.js +0 -206
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/session-state-commands.js +0 -130
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/session-state-electron.js +0 -210
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/session-state-observations.js +0 -61
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/session-state-outcomes.js +0 -187
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/session-state-refs.js +0 -171
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/session-state-tabs.js +0 -228
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/session-state.js +0 -117
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/text-visibility-diagnostics.js +0 -182
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/timeout-diagnostics.js +0 -256
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/timeout-progress.js +0 -108
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/types.js +0 -1
- package/dist/extensions/agent-browser/lib/orchestration/code-artifact-observation.js +0 -39
- package/dist/extensions/agent-browser/lib/orchestration/code-image-observation.js +0 -119
- package/dist/extensions/agent-browser/lib/orchestration/electron-host/branch.js +0 -92
- package/dist/extensions/agent-browser/lib/orchestration/electron-host/cleanup-result.js +0 -58
- package/dist/extensions/agent-browser/lib/orchestration/electron-host/cleanup.js +0 -78
- package/dist/extensions/agent-browser/lib/orchestration/electron-host/contracts.js +0 -1
- package/dist/extensions/agent-browser/lib/orchestration/electron-host/discovery.js +0 -106
- package/dist/extensions/agent-browser/lib/orchestration/electron-host/index.js +0 -60
- package/dist/extensions/agent-browser/lib/orchestration/electron-host/policy.js +0 -86
- package/dist/extensions/agent-browser/lib/orchestration/electron-host/probe-collection.js +0 -69
- package/dist/extensions/agent-browser/lib/orchestration/electron-host/probe-data.js +0 -167
- package/dist/extensions/agent-browser/lib/orchestration/electron-host/probe-presentation.js +0 -164
- package/dist/extensions/agent-browser/lib/orchestration/electron-host/probe.js +0 -161
- package/dist/extensions/agent-browser/lib/orchestration/electron-host/status.js +0 -165
- package/dist/extensions/agent-browser/lib/orchestration/execution-queue.js +0 -98
- package/dist/extensions/agent-browser/lib/orchestration/extension-artifact-preflight.js +0 -211
- package/dist/extensions/agent-browser/lib/orchestration/extension-artifacts.js +0 -23
- package/dist/extensions/agent-browser/lib/orchestration/extension-attachment-replay.js +0 -99
- package/dist/extensions/agent-browser/lib/orchestration/extension-branch-restore.js +0 -275
- package/dist/extensions/agent-browser/lib/orchestration/extension-code.js +0 -280
- package/dist/extensions/agent-browser/lib/orchestration/extension-command-admission.js +0 -303
- package/dist/extensions/agent-browser/lib/orchestration/extension-command-output.js +0 -36
- package/dist/extensions/agent-browser/lib/orchestration/extension-command-result.js +0 -335
- package/dist/extensions/agent-browser/lib/orchestration/extension-command-run.js +0 -227
- package/dist/extensions/agent-browser/lib/orchestration/extension-command-state.js +0 -1
- package/dist/extensions/agent-browser/lib/orchestration/extension-electron-ownership.js +0 -204
- package/dist/extensions/agent-browser/lib/orchestration/extension-execution-locks.js +0 -139
- package/dist/extensions/agent-browser/lib/orchestration/extension-execution-queue.js +0 -24
- package/dist/extensions/agent-browser/lib/orchestration/extension-host-coordination.js +0 -98
- package/dist/extensions/agent-browser/lib/orchestration/extension-host-run.js +0 -295
- package/dist/extensions/agent-browser/lib/orchestration/extension-intent-replay.js +0 -41
- package/dist/extensions/agent-browser/lib/orchestration/extension-invocation.js +0 -7
- package/dist/extensions/agent-browser/lib/orchestration/extension-lifecycle.js +0 -102
- package/dist/extensions/agent-browser/lib/orchestration/extension-managed-ownership.js +0 -133
- package/dist/extensions/agent-browser/lib/orchestration/extension-observation.js +0 -120
- package/dist/extensions/agent-browser/lib/orchestration/extension-prompt.js +0 -180
- package/dist/extensions/agent-browser/lib/orchestration/extension-recording.js +0 -290
- package/dist/extensions/agent-browser/lib/orchestration/extension-resource-contracts.js +0 -1
- package/dist/extensions/agent-browser/lib/orchestration/extension-resource-replay.js +0 -269
- package/dist/extensions/agent-browser/lib/orchestration/extension-result-state.js +0 -113
- package/dist/extensions/agent-browser/lib/orchestration/extension-runtime.js +0 -146
- package/dist/extensions/agent-browser/lib/orchestration/extension-script-leases.js +0 -58
- package/dist/extensions/agent-browser/lib/orchestration/extension-tool-boundary.js +0 -62
- package/dist/extensions/agent-browser/lib/orchestration/extension-version-check.js +0 -54
- package/dist/extensions/agent-browser/lib/orchestration/input-plan-types.js +0 -1
- package/dist/extensions/agent-browser/lib/orchestration/input-plan.js +0 -313
- package/dist/extensions/agent-browser/lib/orchestration/input-redaction.js +0 -62
- package/dist/extensions/agent-browser/lib/orchestration/native-config.js +0 -144
- package/dist/extensions/agent-browser/lib/orchestration/native-root-launch.js +0 -77
- package/dist/extensions/agent-browser/lib/orchestration/native-session-defaults.js +0 -231
- package/dist/extensions/agent-browser/lib/orchestration/operation-paths.js +0 -142
- package/dist/extensions/agent-browser/lib/orchestration/output-file.js +0 -276
- package/dist/extensions/agent-browser/lib/orchestration/script-mode.js +0 -220
- package/dist/extensions/agent-browser/lib/owned-managed-session-context.js +0 -55
- package/dist/extensions/agent-browser/lib/page-target-batch.js +0 -118
- package/dist/extensions/agent-browser/lib/page-target-guards.js +0 -50
- package/dist/extensions/agent-browser/lib/page-target-navigation.js +0 -104
- package/dist/extensions/agent-browser/lib/page-target-validation.js +0 -90
- package/dist/extensions/agent-browser/lib/parsing.js +0 -30
- package/dist/extensions/agent-browser/lib/pi-tool-rendering.js +0 -343
- package/dist/extensions/agent-browser/lib/playbook.js +0 -146
- package/dist/extensions/agent-browser/lib/process-child.js +0 -284
- package/dist/extensions/agent-browser/lib/process-environment.js +0 -48
- package/dist/extensions/agent-browser/lib/process-errors.js +0 -23
- package/dist/extensions/agent-browser/lib/process-identity.js +0 -127
- package/dist/extensions/agent-browser/lib/process-socket-storage.js +0 -256
- package/dist/extensions/agent-browser/lib/process-stdout.js +0 -74
- package/dist/extensions/agent-browser/lib/process.js +0 -216
- package/dist/extensions/agent-browser/lib/prompt-artifacts.js +0 -287
- package/dist/extensions/agent-browser/lib/prompt-policy.js +0 -54
- package/dist/extensions/agent-browser/lib/read-command.js +0 -41
- package/dist/extensions/agent-browser/lib/read-confirmation.js +0 -162
- package/dist/extensions/agent-browser/lib/recording-reservations.js +0 -208
- package/dist/extensions/agent-browser/lib/redaction-fields.js +0 -75
- package/dist/extensions/agent-browser/lib/redaction-json.js +0 -149
- package/dist/extensions/agent-browser/lib/redaction-url.js +0 -88
- package/dist/extensions/agent-browser/lib/results/action-contracts.js +0 -1
- package/dist/extensions/agent-browser/lib/results/action-recommendations.js +0 -38
- package/dist/extensions/agent-browser/lib/results/artifact-contracts.js +0 -1
- package/dist/extensions/agent-browser/lib/results/artifact-manifest-validation.js +0 -133
- package/dist/extensions/agent-browser/lib/results/artifact-manifest.js +0 -173
- package/dist/extensions/agent-browser/lib/results/artifact-recommendations.js +0 -73
- package/dist/extensions/agent-browser/lib/results/categories.js +0 -152
- package/dist/extensions/agent-browser/lib/results/confirmation.js +0 -75
- package/dist/extensions/agent-browser/lib/results/contracts.js +0 -1
- package/dist/extensions/agent-browser/lib/results/editable-ref-evidence.js +0 -99
- package/dist/extensions/agent-browser/lib/results/electron-recommendations.js +0 -83
- package/dist/extensions/agent-browser/lib/results/envelope-decoding.js +0 -48
- package/dist/extensions/agent-browser/lib/results/envelope.js +0 -198
- package/dist/extensions/agent-browser/lib/results/evidence-contracts.js +0 -1
- package/dist/extensions/agent-browser/lib/results/failure-recommendations.js +0 -180
- package/dist/extensions/agent-browser/lib/results/network-routes.js +0 -133
- package/dist/extensions/agent-browser/lib/results/network.js +0 -89
- package/dist/extensions/agent-browser/lib/results/next-actions.js +0 -111
- package/dist/extensions/agent-browser/lib/results/presentation/artifact-files.js +0 -320
- package/dist/extensions/agent-browser/lib/results/presentation/artifact-format.js +0 -138
- package/dist/extensions/agent-browser/lib/results/presentation/artifact-images.js +0 -113
- package/dist/extensions/agent-browser/lib/results/presentation/artifact-verification.js +0 -145
- package/dist/extensions/agent-browser/lib/results/presentation/artifacts.js +0 -165
- package/dist/extensions/agent-browser/lib/results/presentation/batch-contracts.js +0 -1
- package/dist/extensions/agent-browser/lib/results/presentation/batch-recording.js +0 -118
- package/dist/extensions/agent-browser/lib/results/presentation/batch-redaction.js +0 -68
- package/dist/extensions/agent-browser/lib/results/presentation/batch-rendering.js +0 -135
- package/dist/extensions/agent-browser/lib/results/presentation/batch-step.js +0 -227
- package/dist/extensions/agent-browser/lib/results/presentation/batch-summary.js +0 -91
- package/dist/extensions/agent-browser/lib/results/presentation/batch.js +0 -123
- package/dist/extensions/agent-browser/lib/results/presentation/browser-profile-recovery.js +0 -54
- package/dist/extensions/agent-browser/lib/results/presentation/command-presenters.js +0 -216
- package/dist/extensions/agent-browser/lib/results/presentation/common.js +0 -81
- package/dist/extensions/agent-browser/lib/results/presentation/content.js +0 -119
- package/dist/extensions/agent-browser/lib/results/presentation/diagnostic-a11y.js +0 -67
- package/dist/extensions/agent-browser/lib/results/presentation/diagnostic-health.js +0 -79
- package/dist/extensions/agent-browser/lib/results/presentation/diagnostic-identity.js +0 -199
- package/dist/extensions/agent-browser/lib/results/presentation/diagnostic-logs.js +0 -75
- package/dist/extensions/agent-browser/lib/results/presentation/diagnostic-network-actions.js +0 -216
- package/dist/extensions/agent-browser/lib/results/presentation/diagnostic-network.js +0 -124
- package/dist/extensions/agent-browser/lib/results/presentation/diagnostic-redaction.js +0 -64
- package/dist/extensions/agent-browser/lib/results/presentation/diagnostic-storage.js +0 -209
- package/dist/extensions/agent-browser/lib/results/presentation/diagnostic-stream.js +0 -69
- package/dist/extensions/agent-browser/lib/results/presentation/diagnostic-summary.js +0 -222
- package/dist/extensions/agent-browser/lib/results/presentation/diagnostics.js +0 -124
- package/dist/extensions/agent-browser/lib/results/presentation/early-result.js +0 -70
- package/dist/extensions/agent-browser/lib/results/presentation/errors.js +0 -285
- package/dist/extensions/agent-browser/lib/results/presentation/input-contracts.js +0 -1
- package/dist/extensions/agent-browser/lib/results/presentation/large-output.js +0 -117
- package/dist/extensions/agent-browser/lib/results/presentation/navigation.js +0 -231
- package/dist/extensions/agent-browser/lib/results/presentation/notices.js +0 -75
- package/dist/extensions/agent-browser/lib/results/presentation/observation-contracts.js +0 -1
- package/dist/extensions/agent-browser/lib/results/presentation/observation-rendering.js +0 -127
- package/dist/extensions/agent-browser/lib/results/presentation/outcomes.js +0 -120
- package/dist/extensions/agent-browser/lib/results/presentation/output-completion.js +0 -77
- package/dist/extensions/agent-browser/lib/results/presentation/output-spill.js +0 -51
- package/dist/extensions/agent-browser/lib/results/presentation/registry.js +0 -145
- package/dist/extensions/agent-browser/lib/results/presentation/semantic-action.js +0 -104
- package/dist/extensions/agent-browser/lib/results/presentation/skills.js +0 -178
- package/dist/extensions/agent-browser/lib/results/presentation/source.js +0 -109
- package/dist/extensions/agent-browser/lib/results/presentation.js +0 -19
- package/dist/extensions/agent-browser/lib/results/recommendation-contracts.js +0 -1
- package/dist/extensions/agent-browser/lib/results/recording.js +0 -88
- package/dist/extensions/agent-browser/lib/results/recovery-actions.js +0 -118
- package/dist/extensions/agent-browser/lib/results/recovery-next-actions.js +0 -60
- package/dist/extensions/agent-browser/lib/results/selector-recovery-target.js +0 -83
- package/dist/extensions/agent-browser/lib/results/selector-recovery.js +0 -261
- package/dist/extensions/agent-browser/lib/results/snapshot-compact.js +0 -266
- package/dist/extensions/agent-browser/lib/results/snapshot-content.js +0 -32
- package/dist/extensions/agent-browser/lib/results/snapshot-high-value-controls.js +0 -240
- package/dist/extensions/agent-browser/lib/results/snapshot-refs.js +0 -103
- package/dist/extensions/agent-browser/lib/results/snapshot-segments.js +0 -383
- package/dist/extensions/agent-browser/lib/results/snapshot-spill.js +0 -53
- package/dist/extensions/agent-browser/lib/results/snapshot.js +0 -44
- package/dist/extensions/agent-browser/lib/results/text.js +0 -44
- package/dist/extensions/agent-browser/lib/runtime-args-validation.js +0 -133
- package/dist/extensions/agent-browser/lib/runtime-compatibility.js +0 -81
- package/dist/extensions/agent-browser/lib/runtime-contracts.js +0 -1
- package/dist/extensions/agent-browser/lib/runtime-redaction.js +0 -118
- package/dist/extensions/agent-browser/lib/runtime-replay-events.js +0 -144
- package/dist/extensions/agent-browser/lib/runtime-session-identity.js +0 -76
- package/dist/extensions/agent-browser/lib/runtime-session-plan.js +0 -114
- package/dist/extensions/agent-browser/lib/runtime-session-replay.js +0 -123
- package/dist/extensions/agent-browser/lib/runtime-tab-correction.js +0 -65
- package/dist/extensions/agent-browser/lib/runtime-timeouts.js +0 -28
- package/dist/extensions/agent-browser/lib/runtime.js +0 -163
- package/dist/extensions/agent-browser/lib/session-identity.js +0 -51
- package/dist/extensions/agent-browser/lib/session-page-observation.js +0 -357
- package/dist/extensions/agent-browser/lib/session-page-state.js +0 -353
- package/dist/extensions/agent-browser/lib/session-page-types.js +0 -1
- package/dist/extensions/agent-browser/lib/string-enum-schema.js +0 -8
- package/dist/extensions/agent-browser/lib/temp-artifact-budget.js +0 -78
- package/dist/extensions/agent-browser/lib/temp-mutation-queue.js +0 -7
- package/dist/extensions/agent-browser/lib/temp-root-ownership.js +0 -234
- package/dist/extensions/agent-browser/lib/temp-root.js +0 -207
- package/dist/extensions/agent-browser/lib/temp.js +0 -91
- package/dist/extensions/agent-browser/lib/tool-surface.js +0 -239
- package/dist/extensions/agent-browser/lib/upstream-version.js +0 -15
- package/dist/extensions/agent-browser/lib/web-search-providers.js +0 -229
- package/dist/extensions/agent-browser/lib/web-search-request.js +0 -108
- package/dist/extensions/agent-browser/lib/web-search-results.js +0 -281
- package/dist/extensions/agent-browser/lib/web-search-schema.js +0 -82
- package/dist/extensions/agent-browser/lib/web-search.js +0 -149
- package/dist/extensions/agent-browser/lib/webmcp-observation.js +0 -35
- package/dist/extensions/agent-browser/lib/windows-stock-launcher.js +0 -96
- package/dist/scripts/agent-browser-target.mjs +0 -23
package/docs/platform-smoke.md
CHANGED
|
@@ -42,7 +42,7 @@ npm run verify -- platform-smoke run --target ubuntu --suite platform-build
|
|
|
42
42
|
|
|
43
43
|
With maintainer approval, local macOS execution can replace localhost SSH. Routine GitHub Actions has no Windows job; the separate Crabbox/Parallels release target remains as documented above. Record alternate native checks separately from Crabbox SSH or Parallels results. The default `release` and `prepublishOnly` commands still select the Crabbox matrix; record alternate suite evidence separately rather than reporting those commands as passed.
|
|
44
44
|
|
|
45
|
-
On macOS, run the unchanged commands returned by `buildPlatformBuildCommand('macos', 'pi-agent-browser-native', '24.21.0')` and `buildBrowserDogfoodCommand('macos', '0.38.1', true)` in [`scripts/platform-smoke/targets.mjs`](../scripts/platform-smoke/targets.mjs), serially in a clean private source copy. Use private HOME, npm and Pi settings, and headless browser profiles. No Remote Login or host security change is required.
|
|
45
|
+
On macOS, run the unchanged commands returned by `buildPlatformBuildCommand('macos', 'pi-agent-browser-native', '24.21.0')` and `buildBrowserDogfoodCommand('macos', '0.38.1', true)` in [`scripts/platform-smoke/targets.mjs`](../scripts/platform-smoke/targets.mjs), serially in a clean private source copy. Use private HOME, npm and Pi settings, and headless browser profiles, and clear inherited `PI_*` variables first: a shell started from Pi exports `PI_PACKAGE_DIR` and `PI_MANAGED_CLI`, which make the archived Pi CLI report the host package instead of the locked suite version. No Remote Login or host security change is required.
|
|
46
46
|
|
|
47
47
|
Retain the exact source head/tree, package and tool versions, native OS/architecture, generated commands, stdout/stderr, every `PLATFORM_*` exit marker, actual Pi registration output, dogfood JSON and verified screenshot. Check the suite assertions below and clean up only the run's processes and temporary files. These alternatives do not waive Ubuntu or any non-platform release check.
|
|
48
48
|
|
|
@@ -80,7 +80,7 @@ PLATFORM_SMOKE_WINDOWS_WORK_ROOT="C:\\crabbox\\pi-agent-browser-native"
|
|
|
80
80
|
PLATFORM_SMOKE_AUTH_ENV=""
|
|
81
81
|
```
|
|
82
82
|
|
|
83
|
-
The Ubuntu target image is derived from `node:24-bookworm`, installs the `agent-browser` version from [`scripts/agent-browser-capability-baseline.mjs`](../scripts/agent-browser-capability-baseline.mjs), installs Debian Chromium plus the upstream Linux WebGPU/Xvfb runtime packages (`libvulkan1`, `mesa-vulkan-drivers`, and `xvfb`) through apt, creates a non-root `circleci` user, and sets `AGENT_BROWSER_EXECUTABLE_PATH=/usr/bin/chromium`. Rebuild it after upstream rebaselining, or override `PLATFORM_SMOKE_UBUNTU_IMAGE` with an equivalent prepared local image. Do not install `agent-browser` ad hoc inside the Ubuntu smoke command; a missing tool is image/template drift.
|
|
83
|
+
The Ubuntu target image is derived from `node:24-bookworm`, installs the `agent-browser` version from [`scripts/agent-browser-capability-baseline.mjs`](../scripts/agent-browser-capability-baseline.mjs), installs Debian Chromium plus the upstream Linux WebGPU/Xvfb runtime packages (`libvulkan1`, `mesa-vulkan-drivers`, and `xvfb`) through apt, copies the official Go 1.27.1 toolchain onto `PATH` so `platform-target` can build the [corrected quality checker](CODE_QUALITY.md), creates a non-root `circleci` user, and sets `AGENT_BROWSER_EXECUTABLE_PATH=/usr/bin/chromium`. Rebuild it after upstream rebaselining, or override `PLATFORM_SMOKE_UBUNTU_IMAGE` with an equivalent prepared local image. Do not install `agent-browser` ad hoc inside the Ubuntu smoke command; a missing tool is image/template drift.
|
|
84
84
|
|
|
85
85
|
The configured upstream `agent-browser` baseline is imported from [`scripts/agent-browser-capability-baseline.mjs`](../scripts/agent-browser-capability-baseline.mjs). Target-local browser suites verify that exact `agent-browser` version before running. Bake the exact upstream CLI and browser runtime into the Windows template/snapshot for speed and reproducibility; missing or stale Windows `agent-browser` / browser readiness is a blocked setup, not something the smoke command repairs. The Windows browser suite checks the preinstalled browser cache and prewarms one short loopback HTTP URL before the extension harness runs.
|
|
86
86
|
|
|
@@ -89,7 +89,7 @@ The configured upstream `agent-browser` baseline is imported from [`scripts/agen
|
|
|
89
89
|
Crabbox does not install project runtime tools. The macOS host, Ubuntu image, and Windows template must already provide:
|
|
90
90
|
|
|
91
91
|
- Node/npm at or above the full Node version declared by `package.json` `engines.node` and used by [`platform-smoke.config.mjs`](../platform-smoke.config.mjs).
|
|
92
|
-
- Git and `
|
|
92
|
+
- Git, `tar`, and Go (the version `scripts/prepare-quality-checker.mjs` selects) for the `platform-target` corrected-checker build.
|
|
93
93
|
- Upstream `agent-browser` matching this wrapper’s capability baseline. The Ubuntu target gets it from [`scripts/platform-smoke/linux-image/Dockerfile`](../scripts/platform-smoke/linux-image/Dockerfile); the Windows template gets it from the shared `pi-extension-windows-template` snapshot named in [`platform-smoke.config.mjs`](../platform-smoke.config.mjs) (currently `crabbox-ready-ab-0.33.0`, a child of the shared `crabbox-ready` base used by other projects' linked clones).
|
|
94
94
|
- Browser/runtime dependencies needed by upstream `agent-browser`.
|
|
95
95
|
- Native PowerShell and OpenSSH Server on Windows.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-agent-browser-native",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.6",
|
|
4
4
|
"description": "pi extension that exposes agent-browser as a native tool for browser automation",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"author": "Mitch Fultz (https://github.com/fitchmultz)",
|
|
@@ -32,7 +32,14 @@
|
|
|
32
32
|
"pi-agent-browser-doctor": "scripts/doctor.mjs"
|
|
33
33
|
},
|
|
34
34
|
"files": [
|
|
35
|
-
"dist",
|
|
35
|
+
"dist/extensions/agent-browser/index.js",
|
|
36
|
+
"dist/extensions/agent-browser/script-worker.js",
|
|
37
|
+
"dist/packaged/lib/config-policy.js",
|
|
38
|
+
"dist/packaged/lib/browser-session-conversion.js",
|
|
39
|
+
"dist/packaged/lib/parsing.js",
|
|
40
|
+
"dist/packaged/lib/playbook.js",
|
|
41
|
+
"dist/packaged/lib/results/snapshot.js",
|
|
42
|
+
"dist/packaged/lib/runtime.js",
|
|
36
43
|
"platform-smoke.config.mjs",
|
|
37
44
|
"scripts/config.mjs",
|
|
38
45
|
"scripts/convert-browser-session.mjs",
|
|
@@ -53,9 +60,12 @@
|
|
|
53
60
|
"LICENSE",
|
|
54
61
|
"docs/ARCHITECTURE.md",
|
|
55
62
|
"docs/CODE_QUALITY.md",
|
|
63
|
+
"docs/PERFORMANCE.md",
|
|
64
|
+
"docs/performance/2026-10-12.json",
|
|
56
65
|
"docs/COMMAND_REFERENCE.md",
|
|
57
66
|
"docs/ELECTRON.md",
|
|
58
67
|
"docs/RELEASE.md",
|
|
68
|
+
"docs/REFERENCE.md",
|
|
59
69
|
"docs/SESSION_STORAGE.md",
|
|
60
70
|
"docs/platform-smoke.md",
|
|
61
71
|
"docs/REQUIREMENTS.md",
|
|
@@ -113,11 +123,12 @@
|
|
|
113
123
|
"smoke:platform:all": "npm run smoke:platform:doctor && node scripts/platform-smoke.mjs run --target macos,ubuntu,windows-native",
|
|
114
124
|
"check:compat": "node scripts/compat-host.mjs && npm run typecheck && npm test && node scripts/verify-package.mjs --smoke-pi",
|
|
115
125
|
"typecheck": "node ./scripts/project.mjs verify typecheck",
|
|
116
|
-
"test": "node ./scripts/build.mjs && tsx --test --test-reporter=tap --test-concurrency=1 \"test/**/*.test.ts\"",
|
|
126
|
+
"test": "node ./scripts/build.mjs && node ./scripts/prepare-quality-checker.mjs && tsx --test --test-reporter=tap \"test/**/!(*.serial).test.ts\" && tsx --test --test-reporter=tap --test-concurrency=1 \"test/**/*.serial.test.ts\"",
|
|
117
127
|
"verify": "node ./scripts/project.mjs verify",
|
|
118
128
|
"prepublishOnly": "npm run verify -- release && npm pack --dry-run",
|
|
119
129
|
"build": "node ./scripts/build.mjs",
|
|
120
130
|
"startup-profile": "node ./scripts/profile-startup.mjs",
|
|
131
|
+
"performance-profile": "node --expose-gc ./scripts/profile-performance.mjs",
|
|
121
132
|
"prepare": "node ./scripts/prepare.mjs"
|
|
122
133
|
},
|
|
123
134
|
"packageManager": "npm@12.2.0",
|
|
@@ -138,6 +149,7 @@
|
|
|
138
149
|
"dependencies": {
|
|
139
150
|
"cross-spawn": "7.0.6",
|
|
140
151
|
"path-key": "3.1.1",
|
|
152
|
+
"stream-chain": "4.2.6",
|
|
141
153
|
"stream-json": "3.7.0",
|
|
142
154
|
"strip-json-comments": "5.0.3",
|
|
143
155
|
"which": "2.0.2"
|
package/scripts/build.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
3
|
* Purpose: Produce the compiled runtime files that the published Pi package loads.
|
|
4
|
-
* Responsibilities: Remove stale dist output, emit runtime assets, bundle the
|
|
4
|
+
* Responsibilities: Remove stale dist output, emit all checkout runtime assets, bundle the packaged entrypoints, and fail with clear build output.
|
|
5
5
|
* Scope: Maintainer/package build only; runtime behavior remains in extensions/agent-browser TypeScript sources.
|
|
6
6
|
* Usage: `npm run build` before package verification, lifecycle validation, and npm pack/publish.
|
|
7
7
|
* Invariants/Assumptions: `node_modules` provides `typescript` and `esbuild`; Termux supplies Android-native `tsgo` on PATH. `dist/` is generated output.
|
|
@@ -51,14 +51,25 @@ async function main() {
|
|
|
51
51
|
}
|
|
52
52
|
throw error;
|
|
53
53
|
}
|
|
54
|
-
//
|
|
55
|
-
const
|
|
54
|
+
// Raw checkout libraries share module-owned state; package-only bundles must not overwrite them.
|
|
55
|
+
const distDirectory = join(process.cwd(), "dist");
|
|
56
|
+
const runtimeDirectory = join(process.cwd(), "dist", "extensions", "agent-browser");
|
|
56
57
|
await build({
|
|
57
58
|
allowOverwrite: true,
|
|
58
59
|
bundle: true,
|
|
59
|
-
entryPoints: [
|
|
60
|
+
entryPoints: [
|
|
61
|
+
{ in: join(runtimeDirectory, "index.js"), out: "extensions/agent-browser/index" },
|
|
62
|
+
...[
|
|
63
|
+
"lib/config-policy",
|
|
64
|
+
"lib/browser-session-conversion",
|
|
65
|
+
"lib/parsing",
|
|
66
|
+
"lib/playbook",
|
|
67
|
+
"lib/results/snapshot",
|
|
68
|
+
"lib/runtime",
|
|
69
|
+
].map((path) => ({ in: join(runtimeDirectory, `${path}.js`), out: `packaged/${path}` })),
|
|
70
|
+
],
|
|
60
71
|
format: "esm",
|
|
61
|
-
|
|
72
|
+
outdir: distDirectory,
|
|
62
73
|
packages: "external",
|
|
63
74
|
platform: "node",
|
|
64
75
|
target: "node24.21",
|
package/scripts/config.mjs
CHANGED
|
@@ -17,7 +17,7 @@ async function loadConfigPolicyModule() {
|
|
|
17
17
|
if (existsSync(sourcePolicyUrl)) {
|
|
18
18
|
return import(sourcePolicyUrl.href);
|
|
19
19
|
}
|
|
20
|
-
return import("../dist/
|
|
20
|
+
return import("../dist/packaged/lib/config-policy.js");
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
const {
|
|
@@ -35,6 +35,7 @@ const {
|
|
|
35
35
|
getWebSearchProviderLabel,
|
|
36
36
|
isWebSearchProvider,
|
|
37
37
|
loadAgentBrowserConfigStateSync,
|
|
38
|
+
parseAgentBrowserConfigJson,
|
|
38
39
|
summarizeConfigFiles,
|
|
39
40
|
} = await loadConfigPolicyModule();
|
|
40
41
|
|
|
@@ -51,22 +52,22 @@ function usage() {
|
|
|
51
52
|
return `pi-agent-browser-native config helper
|
|
52
53
|
|
|
53
54
|
Usage through npm exec:
|
|
54
|
-
npm exec --yes --package pi-agent-browser-native
|
|
55
|
-
npm exec --yes --package pi-agent-browser-native
|
|
56
|
-
npm exec --yes --package pi-agent-browser-native
|
|
57
|
-
npm exec --yes --package pi-agent-browser-native
|
|
58
|
-
npm exec --yes --package pi-agent-browser-native
|
|
59
|
-
npm exec --yes --package pi-agent-browser-native
|
|
60
|
-
npm exec --yes --package pi-agent-browser-native
|
|
61
|
-
npm exec --yes --package pi-agent-browser-native
|
|
62
|
-
npm exec --yes --package pi-agent-browser-native
|
|
63
|
-
npm exec --yes --package pi-agent-browser-native
|
|
64
|
-
npm exec --yes --package pi-agent-browser-native
|
|
65
|
-
npm exec --yes --package pi-agent-browser-native
|
|
66
|
-
npm exec --yes --package pi-agent-browser-native
|
|
67
|
-
npm exec --yes --package pi-agent-browser-native
|
|
68
|
-
npm exec --yes --package pi-agent-browser-native
|
|
69
|
-
npm exec --yes --package pi-agent-browser-native
|
|
55
|
+
npm exec --yes --package pi-agent-browser-native -- pi-agent-browser-config paths
|
|
56
|
+
npm exec --yes --package pi-agent-browser-native -- pi-agent-browser-config show
|
|
57
|
+
npm exec --yes --package pi-agent-browser-native -- pi-agent-browser-config web-search status
|
|
58
|
+
npm exec --yes --package pi-agent-browser-native -- pi-agent-browser-config web-search set-key --stdin --provider <exa|brave> [--global|--project]
|
|
59
|
+
npm exec --yes --package pi-agent-browser-native -- pi-agent-browser-config web-search set-env <ENV_VAR> [--provider brave|exa] [--global|--project]
|
|
60
|
+
npm exec --yes --package pi-agent-browser-native -- pi-agent-browser-config web-search set-command <command> --provider <exa|brave> [--global|--project]
|
|
61
|
+
npm exec --yes --package pi-agent-browser-native -- pi-agent-browser-config web-search clear --provider <exa|brave|all> [--global|--project]
|
|
62
|
+
npm exec --yes --package pi-agent-browser-native -- pi-agent-browser-config web-search prefer <exa|brave|auto> [--global|--project]
|
|
63
|
+
npm exec --yes --package pi-agent-browser-native -- pi-agent-browser-config web-search enable [--global|--project]
|
|
64
|
+
npm exec --yes --package pi-agent-browser-native -- pi-agent-browser-config web-search disable [--global|--project]
|
|
65
|
+
npm exec --yes --package pi-agent-browser-native -- pi-agent-browser-config browser profile status
|
|
66
|
+
npm exec --yes --package pi-agent-browser-native -- pi-agent-browser-config browser profile set <name|path> [--policy explicit-only|authenticated-only|always] [--global|--project]
|
|
67
|
+
npm exec --yes --package pi-agent-browser-native -- pi-agent-browser-config browser profile clear [--global|--project]
|
|
68
|
+
npm exec --yes --package pi-agent-browser-native -- pi-agent-browser-config browser executable status
|
|
69
|
+
npm exec --yes --package pi-agent-browser-native -- pi-agent-browser-config browser executable set <path> [--global|--project]
|
|
70
|
+
npm exec --yes --package pi-agent-browser-native -- pi-agent-browser-config browser executable clear [--global|--project]
|
|
70
71
|
|
|
71
72
|
Notes:
|
|
72
73
|
Global config: ~/.pi/config/pi-agent-browser-native/config.json
|
|
@@ -111,11 +112,14 @@ function readConfig(path) {
|
|
|
111
112
|
if (!existsSync(path)) {
|
|
112
113
|
return { ...DEFAULT_CONFIG };
|
|
113
114
|
}
|
|
114
|
-
const parsed =
|
|
115
|
-
if (!parsed
|
|
115
|
+
const parsed = parseAgentBrowserConfigJson(readFileSync(path, "utf8"));
|
|
116
|
+
if (!parsed.ok) {
|
|
117
|
+
throw new Error(`${path}: ${parsed.error}`);
|
|
118
|
+
}
|
|
119
|
+
if (!parsed.value || typeof parsed.value !== "object" || Array.isArray(parsed.value)) {
|
|
116
120
|
throw new Error(`${path} must contain a JSON object.`);
|
|
117
121
|
}
|
|
118
|
-
return { ...DEFAULT_CONFIG, ...parsed };
|
|
122
|
+
return { ...DEFAULT_CONFIG, ...parsed.value };
|
|
119
123
|
}
|
|
120
124
|
|
|
121
125
|
function writeConfig(path, config) {
|
|
@@ -23,7 +23,7 @@ if (values.help) {
|
|
|
23
23
|
);
|
|
24
24
|
}
|
|
25
25
|
const { convertBrowserSession } =
|
|
26
|
-
await import("../dist/
|
|
26
|
+
await import("../dist/packaged/lib/browser-session-conversion.js");
|
|
27
27
|
const receipt = await convertBrowserSession({
|
|
28
28
|
source: values.source,
|
|
29
29
|
destination: values.output,
|
package/scripts/doctor.mjs
CHANGED
|
@@ -33,13 +33,13 @@ const DEFAULT_AGENT_DIR = resolve(homedir(), ".pi/agent");
|
|
|
33
33
|
/** @typedef {{readonly checks: readonly DoctorCheck[], readonly failures: readonly DoctorCheck[], readonly warnings: readonly string[]}} DoctorReport */
|
|
34
34
|
/** @typedef {{readonly cwd?: string, readonly agentDir?: string, readonly settingsPaths?: readonly string[], readonly skipSourceCheck?: boolean, readonly readText?: (path: string) => Promise<string | undefined>, readonly pathExists?: (path: string) => Promise<boolean>, readonly runAgentBrowser?: (args: readonly string[]) => Promise<string>, readonly runPi?: (args: readonly string[]) => Promise<string>}} DoctorOptions */
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
function normalizeAgentBrowserVersion(output) {
|
|
37
37
|
return String(output ?? "")
|
|
38
38
|
.trim()
|
|
39
39
|
.replace(/^agent-browser\s+/, "");
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
function normalizePiVersion(output) {
|
|
43
43
|
return String(output ?? "")
|
|
44
44
|
.trim()
|
|
45
45
|
.replace(/^pi\s+/, "");
|
|
@@ -13,6 +13,8 @@ import {
|
|
|
13
13
|
} from "./suite-evidence.mjs";
|
|
14
14
|
import { resolve } from "node:path";
|
|
15
15
|
|
|
16
|
+
/** @typedef {{readonly code: number | null, readonly signal: string | null, readonly stdout?: string, readonly stderr?: string}} ProcessReceipt */
|
|
17
|
+
/** @param {{readonly config: {readonly artifactRoot: string, readonly packageName: string, readonly [key: string]: unknown}, readonly targetName: string, readonly leaseId: string, readonly stopResult: ProcessReceipt, readonly staleCleanupResult?: ProcessReceipt | null, readonly runId?: string}} options */
|
|
16
18
|
export function createLeaseCleanupResult({
|
|
17
19
|
config,
|
|
18
20
|
targetName,
|
|
@@ -83,10 +85,6 @@ export function createLeaseCleanupResult({
|
|
|
83
85
|
return { ok: assertions.ok, suiteDir, assertions };
|
|
84
86
|
}
|
|
85
87
|
|
|
86
|
-
export function createLeaseCleanupFailureResult(options) {
|
|
87
|
-
return createLeaseCleanupResult({ ...options, staleCleanupResult: null });
|
|
88
|
-
}
|
|
89
|
-
|
|
90
88
|
export function createLeaseWarmupFailureResult(
|
|
91
89
|
config,
|
|
92
90
|
targetName,
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
# Local Crabbox Ubuntu/Linux target image for pi-agent-browser-native platform smoke.
|
|
2
2
|
# Build with npm run smoke:platform:ubuntu-image so the agent-browser version
|
|
3
|
-
# comes from scripts/agent-browser-capability-baseline.mjs.
|
|
3
|
+
# comes from scripts/agent-browser-capability-baseline.mjs. The Go toolchain
|
|
4
|
+
# matches the version scripts/prepare-quality-checker.mjs selects for the
|
|
5
|
+
# corrected quality checker that platform-target builds.
|
|
6
|
+
|
|
7
|
+
FROM golang:1.27.1-bookworm AS go
|
|
4
8
|
|
|
5
9
|
FROM node:24-bookworm
|
|
6
10
|
|
|
7
11
|
ARG AGENT_BROWSER_VERSION
|
|
8
12
|
|
|
9
13
|
USER root
|
|
10
|
-
|
|
14
|
+
COPY --from=go /usr/local/go /usr/local/go
|
|
15
|
+
RUN ln -s /usr/local/go/bin/go /usr/local/go/bin/gofmt /usr/local/bin/ \
|
|
16
|
+
&& apt-get update \
|
|
11
17
|
&& apt-get install -y --no-install-recommends ca-certificates chromium fonts-liberation git libvulkan1 mesa-vulkan-drivers openssh-client tar xvfb \
|
|
12
18
|
&& npm install -g "agent-browser@${AGENT_BROWSER_VERSION}" \
|
|
13
19
|
&& groupadd -g 1002 circleci \
|
|
@@ -21,11 +21,7 @@ import {
|
|
|
21
21
|
} from "./suite-evidence.mjs";
|
|
22
22
|
|
|
23
23
|
export { buildBrowserDogfoodCommand, buildPlatformBuildCommand } from "./commands.mjs";
|
|
24
|
-
export {
|
|
25
|
-
createLeaseCleanupFailureResult,
|
|
26
|
-
createLeaseCleanupResult,
|
|
27
|
-
createLeaseWarmupFailureResult,
|
|
28
|
-
} from "./lease-evidence.mjs";
|
|
24
|
+
export { createLeaseCleanupResult, createLeaseWarmupFailureResult } from "./lease-evidence.mjs";
|
|
29
25
|
export { nodeVersionAtLeast } from "./suite-checks.mjs";
|
|
30
26
|
export { platformFor } from "./suite-evidence.mjs";
|
|
31
27
|
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
import { GLOBAL_BOOLEAN_FLAGS_WITH_OPTIONAL_VALUES, VALUE_FLAGS, optionalGlobalValueFlagConsumesNext, stripUpstreamGlobalFlags, } from "./argv-grammar.js";
|
|
2
|
-
import { isOpenNavigationCommand } from "./command-taxonomy.js";
|
|
3
|
-
function isBooleanLiteral(token) {
|
|
4
|
-
const normalized = token?.trim().toLowerCase();
|
|
5
|
-
return normalized === "true" || normalized === "false";
|
|
6
|
-
}
|
|
7
|
-
function flagConsumesFollowingToken(token, nextToken) {
|
|
8
|
-
const normalizedToken = token.split("=", 1).at(0) ?? token;
|
|
9
|
-
if (optionalGlobalValueFlagConsumesNext(normalizedToken, nextToken)) {
|
|
10
|
-
return true;
|
|
11
|
-
}
|
|
12
|
-
if (token.includes("=")) {
|
|
13
|
-
return false;
|
|
14
|
-
}
|
|
15
|
-
return (VALUE_FLAGS.has(normalizedToken) ||
|
|
16
|
-
(GLOBAL_BOOLEAN_FLAGS_WITH_OPTIONAL_VALUES.has(normalizedToken) && isBooleanLiteral(nextToken)));
|
|
17
|
-
}
|
|
18
|
-
export function findCommandStartIndex(args) {
|
|
19
|
-
for (let index = 0; index < args.length; index += 1) {
|
|
20
|
-
const token = args[index];
|
|
21
|
-
if (token.startsWith("--session=") ||
|
|
22
|
-
token.startsWith("--namespace=") ||
|
|
23
|
-
token.startsWith("--restore=")) {
|
|
24
|
-
continue;
|
|
25
|
-
}
|
|
26
|
-
if (token.startsWith("-")) {
|
|
27
|
-
if (flagConsumesFollowingToken(token, args[index + 1])) {
|
|
28
|
-
index += 1;
|
|
29
|
-
}
|
|
30
|
-
continue;
|
|
31
|
-
}
|
|
32
|
-
return index;
|
|
33
|
-
}
|
|
34
|
-
return undefined;
|
|
35
|
-
}
|
|
36
|
-
export function extractCommandTokens(args) {
|
|
37
|
-
const commandStartIndex = findCommandStartIndex(args);
|
|
38
|
-
return commandStartIndex === undefined ? [] : args.slice(commandStartIndex);
|
|
39
|
-
}
|
|
40
|
-
export function extractUpstreamCommandTokens(args) {
|
|
41
|
-
return stripUpstreamGlobalFlags(extractCommandTokens(args));
|
|
42
|
-
}
|
|
43
|
-
function waitDownloadShape(considered, downloadIndex) {
|
|
44
|
-
const next = considered.at(downloadIndex + 1);
|
|
45
|
-
const candidate = next?.token.startsWith("--") === false ? next : undefined;
|
|
46
|
-
return {
|
|
47
|
-
downloadPath: candidate?.token,
|
|
48
|
-
downloadPathIndex: candidate?.index,
|
|
49
|
-
subcommand: considered[downloadIndex].token,
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
export function parseWaitCommandTokens(commandTokens) {
|
|
53
|
-
if (commandTokens[0] !== "wait") {
|
|
54
|
-
return {};
|
|
55
|
-
}
|
|
56
|
-
const considered = commandTokens.slice(1).map((token, offset) => ({ index: offset + 1, token }));
|
|
57
|
-
const timeoutIndex = considered.findIndex((entry) => entry.token === "--timeout");
|
|
58
|
-
if (timeoutIndex >= 0) {
|
|
59
|
-
considered.splice(timeoutIndex, Math.min(2, considered.length - timeoutIndex));
|
|
60
|
-
}
|
|
61
|
-
for (const flags of [
|
|
62
|
-
["--url", "-u"],
|
|
63
|
-
["--load", "-l"],
|
|
64
|
-
["--fn", "-f"],
|
|
65
|
-
["--text", "-t"],
|
|
66
|
-
]) {
|
|
67
|
-
const match = considered.find((entry) => flags.some((flag) => flag === entry.token));
|
|
68
|
-
if (match) {
|
|
69
|
-
return { subcommand: match.token };
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
const downloadIndex = considered.findIndex((entry) => entry.token === "--download" || entry.token === "-d");
|
|
73
|
-
if (downloadIndex >= 0) {
|
|
74
|
-
return waitDownloadShape(considered, downloadIndex);
|
|
75
|
-
}
|
|
76
|
-
return { subcommand: considered[0]?.token };
|
|
77
|
-
}
|
|
78
|
-
function getOpenCommandTarget(commandTokens) {
|
|
79
|
-
for (let index = 1; index < commandTokens.length; index += 1) {
|
|
80
|
-
const token = commandTokens[index];
|
|
81
|
-
if (token === "--init-script" || token === "--enable") {
|
|
82
|
-
index += 1;
|
|
83
|
-
continue;
|
|
84
|
-
}
|
|
85
|
-
if (token.startsWith("--init-script=") || token.startsWith("--enable=")) {
|
|
86
|
-
continue;
|
|
87
|
-
}
|
|
88
|
-
if (token.startsWith("-")) {
|
|
89
|
-
continue;
|
|
90
|
-
}
|
|
91
|
-
return token;
|
|
92
|
-
}
|
|
93
|
-
return undefined;
|
|
94
|
-
}
|
|
95
|
-
function getCommandSubcommand(tokens) {
|
|
96
|
-
if (isOpenNavigationCommand(tokens.at(0))) {
|
|
97
|
-
return getOpenCommandTarget(tokens);
|
|
98
|
-
}
|
|
99
|
-
if (tokens.at(0) === "wait") {
|
|
100
|
-
return parseWaitCommandTokens(tokens).subcommand;
|
|
101
|
-
}
|
|
102
|
-
return tokens.at(1);
|
|
103
|
-
}
|
|
104
|
-
function parseCommandInfoFromTokens(commandTokens) {
|
|
105
|
-
const upstreamCommandTokens = stripUpstreamGlobalFlags(commandTokens);
|
|
106
|
-
const command = upstreamCommandTokens[0];
|
|
107
|
-
return {
|
|
108
|
-
command,
|
|
109
|
-
subcommand: getCommandSubcommand(upstreamCommandTokens),
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
export function parseCommandInfo(args) {
|
|
113
|
-
return parseCommandInfoFromTokens(extractCommandTokens(args));
|
|
114
|
-
}
|
|
115
|
-
export function parseArgvDescriptor(args) {
|
|
116
|
-
const commandTokens = extractCommandTokens(args);
|
|
117
|
-
const upstreamCommandTokens = stripUpstreamGlobalFlags(commandTokens);
|
|
118
|
-
return {
|
|
119
|
-
commandInfo: parseCommandInfoFromTokens(commandTokens),
|
|
120
|
-
commandTokens,
|
|
121
|
-
upstreamCommandTokens,
|
|
122
|
-
};
|
|
123
|
-
}
|