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.
- package/CHANGELOG.md +114 -1
- package/README.md +17 -6
- package/dist/extensions/agent-browser/index.js +2482 -925
- package/dist/packaged/lib/browser-session-conversion.js +2946 -0
- package/dist/packaged/lib/config-policy.js +599 -0
- package/dist/packaged/lib/parsing.js +34 -0
- package/dist/packaged/lib/playbook.js +728 -0
- package/dist/packaged/lib/results/snapshot.js +2800 -0
- package/dist/packaged/lib/runtime.js +3075 -0
- package/docs/ARCHITECTURE.md +29 -10
- package/docs/CODE_QUALITY.md +32 -5
- package/docs/COMMAND_REFERENCE.md +156 -40
- package/docs/ELECTRON.md +1 -1
- package/docs/PERFORMANCE.md +252 -0
- package/docs/REFERENCE.md +15 -15
- package/docs/RELEASE.md +41 -18
- package/docs/REQUIREMENTS.md +6 -0
- package/docs/SESSION_STORAGE.md +13 -5
- package/docs/SUPPORT_MATRIX.md +31 -25
- package/docs/TOOL_CONTRACT.md +41 -18
- package/docs/performance/2026-10-12.json +7257 -0
- package/docs/platform-smoke.md +18 -14
- package/package.json +18 -4
- package/platform-smoke.config.mjs +3 -2
- package/scripts/agent-browser-capability-baseline.mjs +16 -2
- package/scripts/agent-browser-target.mjs +1 -1
- package/scripts/build.mjs +16 -5
- package/scripts/capability-options.mjs +20 -0
- package/scripts/capability-samples.mjs +23 -10
- package/scripts/config.mjs +1 -1
- package/scripts/convert-browser-session.mjs +1 -1
- package/scripts/platform-smoke/commands.mjs +30 -4
- package/scripts/platform-smoke/doctor-support.mjs +11 -2
- package/scripts/platform-smoke/doctor-windows.mjs +1 -1
- package/scripts/platform-smoke/doctor.mjs +26 -11
- package/scripts/platform-smoke/linux-image/Dockerfile +6 -3
- package/scripts/platform-smoke/platform-build-windows.ps1 +23 -3
- package/scripts/platform-smoke/suite-checks.mjs +11 -1
- package/scripts/platform-smoke/targets.mjs +4 -3
- package/scripts/platform-smoke.mjs +68 -25
- 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 -231
- package/dist/extensions/agent-browser/lib/config.js +0 -69
- package/dist/extensions/agent-browser/lib/electron/cdp.js +0 -62
- package/dist/extensions/agent-browser/lib/electron/cleanup.js +0 -274
- 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 -90
- 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 -340
- 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 -10
- package/dist/extensions/agent-browser/lib/input-modes/electron.js +0 -201
- package/dist/extensions/agent-browser/lib/input-modes/job.js +0 -198
- package/dist/extensions/agent-browser/lib/input-modes/lookup-network-evidence.js +0 -116
- 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 -84
- 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 -203
- 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 -187
- 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 -174
- 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 -212
- 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 -169
- 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 -93
- 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 -68
- package/dist/extensions/agent-browser/lib/orchestration/electron-host/probe-data.js +0 -169
- package/dist/extensions/agent-browser/lib/orchestration/electron-host/probe-presentation.js +0 -182
- 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 -167
- 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 -183
- 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 -81
- 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 -211
- 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 -193
- package/dist/extensions/agent-browser/lib/web-search-request.js +0 -102
- 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 -167
- 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
|
@@ -1,243 +0,0 @@
|
|
|
1
|
-
import { isRecord } from "../parsing.js";
|
|
2
|
-
import { getSelectValues } from "./shared.js";
|
|
3
|
-
import { AGENT_BROWSER_SEMANTIC_ACTIONS, AGENT_BROWSER_SEMANTIC_LOCATORS, } from "./types.js";
|
|
4
|
-
export function getCompiledSemanticActionCommandIndex(compiled) {
|
|
5
|
-
return compiled.args[0] === "--session" ? 2 : 0;
|
|
6
|
-
}
|
|
7
|
-
export function getCompiledSemanticActionSessionPrefix(compiled) {
|
|
8
|
-
const commandIndex = getCompiledSemanticActionCommandIndex(compiled);
|
|
9
|
-
return commandIndex > 0 ? compiled.args.slice(0, commandIndex) : [];
|
|
10
|
-
}
|
|
11
|
-
export function isCompiledSemanticActionFindCommand(compiled) {
|
|
12
|
-
return (compiled !== undefined &&
|
|
13
|
-
compiled.action !== "select" &&
|
|
14
|
-
compiled.args[getCompiledSemanticActionCommandIndex(compiled)] === "find");
|
|
15
|
-
}
|
|
16
|
-
function sessionArgs(session, args) {
|
|
17
|
-
return typeof session === "string" ? ["--session", session, ...args] : [...args];
|
|
18
|
-
}
|
|
19
|
-
function textError(action, text) {
|
|
20
|
-
if (text !== undefined && typeof text !== "string") {
|
|
21
|
-
return "semanticAction.text must be a string when provided.";
|
|
22
|
-
}
|
|
23
|
-
if (action === "fill" && (typeof text !== "string" || text.length === 0)) {
|
|
24
|
-
return `semanticAction.text is required for ${action}.`;
|
|
25
|
-
}
|
|
26
|
-
if (action !== "fill" && text !== undefined) {
|
|
27
|
-
return "semanticAction.text is only supported for fill actions.";
|
|
28
|
-
}
|
|
29
|
-
return undefined;
|
|
30
|
-
}
|
|
31
|
-
function directAction(input, action, selector) {
|
|
32
|
-
if (input.locator !== undefined ||
|
|
33
|
-
input.value !== undefined ||
|
|
34
|
-
input.role !== undefined ||
|
|
35
|
-
input.name !== undefined) {
|
|
36
|
-
return {
|
|
37
|
-
error: "semanticAction.selector cannot be combined with locator, value, role, or name; use selector for a direct click/check/fill target or locator fields for find-based actions.",
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
const error = textError(action, input.text);
|
|
41
|
-
if (error !== undefined) {
|
|
42
|
-
return { error };
|
|
43
|
-
}
|
|
44
|
-
const args = sessionArgs(input.session, [action, selector]);
|
|
45
|
-
if (action === "fill" && typeof input.text === "string") {
|
|
46
|
-
args.push(input.text);
|
|
47
|
-
}
|
|
48
|
-
return { compiled: { action, selector, args } };
|
|
49
|
-
}
|
|
50
|
-
function roleSelect(input) {
|
|
51
|
-
const { role, name } = input;
|
|
52
|
-
if (typeof role !== "string" || !/^(?:combobox|listbox)$/i.test(role)) {
|
|
53
|
-
return { error: "semanticAction.role must be combobox or listbox for locator=role select." };
|
|
54
|
-
}
|
|
55
|
-
if (typeof name !== "string" || name.trim().length === 0) {
|
|
56
|
-
return { error: "semanticAction.name is required for locator=role select." };
|
|
57
|
-
}
|
|
58
|
-
const options = getSelectValues({ value: input.value, values: input.values }, "semanticAction");
|
|
59
|
-
if (options.error !== undefined) {
|
|
60
|
-
return { error: options.error };
|
|
61
|
-
}
|
|
62
|
-
return {
|
|
63
|
-
compiled: {
|
|
64
|
-
action: "select",
|
|
65
|
-
locator: "role",
|
|
66
|
-
values: options.values,
|
|
67
|
-
args: sessionArgs(input.session, [
|
|
68
|
-
"find",
|
|
69
|
-
"role",
|
|
70
|
-
role,
|
|
71
|
-
"select",
|
|
72
|
-
...options.values,
|
|
73
|
-
"--name",
|
|
74
|
-
name,
|
|
75
|
-
]),
|
|
76
|
-
},
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
function labelSelect(input) {
|
|
80
|
-
if (typeof input.value !== "string" || input.value.trim().length === 0) {
|
|
81
|
-
return {
|
|
82
|
-
error: "semanticAction.value must be the accessible label text for locator=label select.",
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
if (input.role !== undefined || input.name !== undefined) {
|
|
86
|
-
return { error: "semanticAction.role and name are only supported for locator=role select." };
|
|
87
|
-
}
|
|
88
|
-
const options = getSelectValues({ values: input.values }, "semanticAction");
|
|
89
|
-
if (options.error !== undefined) {
|
|
90
|
-
return {
|
|
91
|
-
error: options.error.includes("required")
|
|
92
|
-
? "semanticAction.values is required for locator=label select (value is the label text)."
|
|
93
|
-
: options.error,
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
return {
|
|
97
|
-
compiled: {
|
|
98
|
-
action: "select",
|
|
99
|
-
locator: "label",
|
|
100
|
-
values: options.values,
|
|
101
|
-
args: sessionArgs(input.session, ["find", "label", input.value, "select", ...options.values]),
|
|
102
|
-
},
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
function selectAction(input) {
|
|
106
|
-
if (input.text !== undefined) {
|
|
107
|
-
return {
|
|
108
|
-
error: "semanticAction.text is not supported for select; use value or values for option values.",
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
if (typeof input.selector === "string" && input.selector.trim().length > 0) {
|
|
112
|
-
return directSelect(input, input.selector);
|
|
113
|
-
}
|
|
114
|
-
if (input.selector !== undefined) {
|
|
115
|
-
return { error: "semanticAction.selector must be a non-empty string when provided." };
|
|
116
|
-
}
|
|
117
|
-
if (input.locator === undefined) {
|
|
118
|
-
return { error: "semanticAction.selector or semanticAction.locator is required for select." };
|
|
119
|
-
}
|
|
120
|
-
if (input.locator !== "role" && input.locator !== "label") {
|
|
121
|
-
return {
|
|
122
|
-
error: "semanticAction select locator must be role or label; use selector plus value/values for other targets.",
|
|
123
|
-
};
|
|
124
|
-
}
|
|
125
|
-
return input.locator === "role" ? roleSelect(input) : labelSelect(input);
|
|
126
|
-
}
|
|
127
|
-
function directSelect(input, selector) {
|
|
128
|
-
if (input.locator !== undefined || input.role !== undefined || input.name !== undefined) {
|
|
129
|
-
return {
|
|
130
|
-
error: "semanticAction.selector cannot be combined with locator, role, or name for select; use selector plus value/values, or locator fields plus values.",
|
|
131
|
-
};
|
|
132
|
-
}
|
|
133
|
-
const options = getSelectValues(input, "semanticAction");
|
|
134
|
-
if (options.error !== undefined) {
|
|
135
|
-
return { error: options.error };
|
|
136
|
-
}
|
|
137
|
-
return {
|
|
138
|
-
compiled: {
|
|
139
|
-
action: "select",
|
|
140
|
-
selector,
|
|
141
|
-
values: options.values,
|
|
142
|
-
args: sessionArgs(input.session, ["select", selector, ...options.values]),
|
|
143
|
-
},
|
|
144
|
-
};
|
|
145
|
-
}
|
|
146
|
-
function locatorValueError(input) {
|
|
147
|
-
if (input.value !== undefined &&
|
|
148
|
-
(typeof input.value !== "string" || input.value.trim().length === 0)) {
|
|
149
|
-
return "semanticAction.value must be a non-empty string when provided.";
|
|
150
|
-
}
|
|
151
|
-
if (input.role !== undefined &&
|
|
152
|
-
(typeof input.role !== "string" || input.role.trim().length === 0)) {
|
|
153
|
-
return "semanticAction.role must be a non-empty string when provided.";
|
|
154
|
-
}
|
|
155
|
-
return undefined;
|
|
156
|
-
}
|
|
157
|
-
function roleFieldsError(input, locator) {
|
|
158
|
-
if (input.role !== undefined && locator !== "role") {
|
|
159
|
-
return "semanticAction.role is only supported for locator=role.";
|
|
160
|
-
}
|
|
161
|
-
if (input.role !== undefined && input.value !== undefined && input.role !== input.value) {
|
|
162
|
-
return "semanticAction.role must match value when both are provided for locator=role.";
|
|
163
|
-
}
|
|
164
|
-
if (input.name !== undefined &&
|
|
165
|
-
(locator !== "role" || typeof input.name !== "string" || input.name.length === 0)) {
|
|
166
|
-
return "semanticAction.name is only supported as a non-empty string for locator=role.";
|
|
167
|
-
}
|
|
168
|
-
return undefined;
|
|
169
|
-
}
|
|
170
|
-
function findAction(input, action) {
|
|
171
|
-
const locator = AGENT_BROWSER_SEMANTIC_LOCATORS.find((value) => value === input.locator);
|
|
172
|
-
if (locator === undefined) {
|
|
173
|
-
return {
|
|
174
|
-
error: `semanticAction.locator must be one of: ${AGENT_BROWSER_SEMANTIC_LOCATORS.join(", ")}.`,
|
|
175
|
-
};
|
|
176
|
-
}
|
|
177
|
-
const valueError = locatorValueError(input);
|
|
178
|
-
if (valueError !== undefined) {
|
|
179
|
-
return { error: valueError };
|
|
180
|
-
}
|
|
181
|
-
const locatorValue = locator === "role" && typeof input.role === "string" ? input.role : input.value;
|
|
182
|
-
if (typeof locatorValue !== "string" || locatorValue.trim().length === 0) {
|
|
183
|
-
return {
|
|
184
|
-
error: locator === "role"
|
|
185
|
-
? "semanticAction.value or semanticAction.role must be a non-empty string for locator=role."
|
|
186
|
-
: "semanticAction.value must be a non-empty string.",
|
|
187
|
-
};
|
|
188
|
-
}
|
|
189
|
-
const error = textError(action, input.text) ?? roleFieldsError(input, locator);
|
|
190
|
-
if (error !== undefined) {
|
|
191
|
-
return { error };
|
|
192
|
-
}
|
|
193
|
-
return {
|
|
194
|
-
compiled: { action, locator, args: findActionArgs(input, { action, locator, locatorValue }) },
|
|
195
|
-
};
|
|
196
|
-
}
|
|
197
|
-
function findActionArgs(input, target) {
|
|
198
|
-
const args = sessionArgs(input.session, [
|
|
199
|
-
"find",
|
|
200
|
-
target.locator,
|
|
201
|
-
target.locatorValue,
|
|
202
|
-
target.action,
|
|
203
|
-
]);
|
|
204
|
-
if (target.action === "fill" && typeof input.text === "string") {
|
|
205
|
-
args.push(input.text);
|
|
206
|
-
}
|
|
207
|
-
if (target.locator === "role" && typeof input.name === "string") {
|
|
208
|
-
args.push("--name", input.name);
|
|
209
|
-
}
|
|
210
|
-
return args;
|
|
211
|
-
}
|
|
212
|
-
function nonSelectAction(input, action) {
|
|
213
|
-
if (input.values !== undefined) {
|
|
214
|
-
return { error: "semanticAction.values is only supported for select actions." };
|
|
215
|
-
}
|
|
216
|
-
if (input.selector === undefined) {
|
|
217
|
-
return findAction(input, action);
|
|
218
|
-
}
|
|
219
|
-
if (typeof input.selector !== "string" || input.selector.trim().length === 0) {
|
|
220
|
-
return { error: "semanticAction.selector must be a non-empty string when provided." };
|
|
221
|
-
}
|
|
222
|
-
return directAction(input, action, input.selector);
|
|
223
|
-
}
|
|
224
|
-
export function compileAgentBrowserSemanticAction(input) {
|
|
225
|
-
if (!isRecord(input)) {
|
|
226
|
-
return { error: "semanticAction must be an object." };
|
|
227
|
-
}
|
|
228
|
-
const action = AGENT_BROWSER_SEMANTIC_ACTIONS.find((value) => value === input.action);
|
|
229
|
-
if (action === undefined) {
|
|
230
|
-
return {
|
|
231
|
-
error: `semanticAction.action must be one of: ${AGENT_BROWSER_SEMANTIC_ACTIONS.join(", ")}.`,
|
|
232
|
-
};
|
|
233
|
-
}
|
|
234
|
-
if (input.session !== undefined &&
|
|
235
|
-
(typeof input.session !== "string" || input.session.trim().length === 0)) {
|
|
236
|
-
return { error: "semanticAction.session must be a non-empty string when provided." };
|
|
237
|
-
}
|
|
238
|
-
const normalized = {
|
|
239
|
-
...input,
|
|
240
|
-
name: typeof input.name === "string" && input.name.trim().length === 0 ? undefined : input.name,
|
|
241
|
-
};
|
|
242
|
-
return action === "select" ? selectAction(normalized) : nonSelectAction(normalized, action);
|
|
243
|
-
}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { isRecord } from "../parsing.js";
|
|
2
|
-
import { SOURCE_LOOKUP_DEFAULT_MAX_WORKSPACE_FILES, SOURCE_LOOKUP_MAX_WORKSPACE_FILES, } from "./types.js";
|
|
3
|
-
function isString(value) {
|
|
4
|
-
return typeof value === "string";
|
|
5
|
-
}
|
|
6
|
-
export function isStringArray(value) {
|
|
7
|
-
return Array.isArray(value) && value.every(isString);
|
|
8
|
-
}
|
|
9
|
-
export function getSelectValues(input, context) {
|
|
10
|
-
const rawValue = input.value;
|
|
11
|
-
const rawValues = input.values;
|
|
12
|
-
if (rawValue !== undefined && rawValues !== undefined) {
|
|
13
|
-
return { error: `${context}.value and ${context}.values cannot both be provided for select.` };
|
|
14
|
-
}
|
|
15
|
-
if (rawValues !== undefined) {
|
|
16
|
-
if (!isStringArray(rawValues) ||
|
|
17
|
-
rawValues.length === 0 ||
|
|
18
|
-
rawValues.some((value) => value.trim().length === 0)) {
|
|
19
|
-
return {
|
|
20
|
-
error: `${context}.values must be a non-empty array of non-empty strings for select.`,
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
return { values: rawValues };
|
|
24
|
-
}
|
|
25
|
-
if (typeof rawValue === "string" && rawValue.trim().length > 0) {
|
|
26
|
-
return { values: [rawValue] };
|
|
27
|
-
}
|
|
28
|
-
return { error: `${context}.value or ${context}.values is required for select.` };
|
|
29
|
-
}
|
|
30
|
-
export function getBatchResultItems(data) {
|
|
31
|
-
return Array.isArray(data) ? data.filter(isRecord) : [];
|
|
32
|
-
}
|
|
33
|
-
export function getCommandNameFromBatchItem(item) {
|
|
34
|
-
const command = item.command;
|
|
35
|
-
return Array.isArray(command) && typeof command[0] === "string" ? command[0] : undefined;
|
|
36
|
-
}
|
|
37
|
-
export function validateLookupMaxWorkspaceFiles(value, fieldName) {
|
|
38
|
-
if (value === undefined) {
|
|
39
|
-
return { value: SOURCE_LOOKUP_DEFAULT_MAX_WORKSPACE_FILES };
|
|
40
|
-
}
|
|
41
|
-
if (typeof value !== "number" || !Number.isInteger(value) || value <= 0) {
|
|
42
|
-
return { error: `${fieldName} must be a positive integer when provided.` };
|
|
43
|
-
}
|
|
44
|
-
if (value > SOURCE_LOOKUP_MAX_WORKSPACE_FILES) {
|
|
45
|
-
return { error: `${fieldName} must be ${SOURCE_LOOKUP_MAX_WORKSPACE_FILES} or less.` };
|
|
46
|
-
}
|
|
47
|
-
return { value };
|
|
48
|
-
}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
export const DEFAULT_SESSION_MODE = "auto";
|
|
2
|
-
export const AGENT_BROWSER_CODE_MAX_TIMEOUT_MS = 300_000;
|
|
3
|
-
export const AGENT_BROWSER_SEMANTIC_ACTIONS = ["check", "click", "fill", "select"];
|
|
4
|
-
export const AGENT_BROWSER_SEMANTIC_LOCATORS = [
|
|
5
|
-
"alt",
|
|
6
|
-
"label",
|
|
7
|
-
"placeholder",
|
|
8
|
-
"role",
|
|
9
|
-
"testid",
|
|
10
|
-
"text",
|
|
11
|
-
"title",
|
|
12
|
-
];
|
|
13
|
-
const AGENT_BROWSER_JOB_STEP_ACTIONS = [
|
|
14
|
-
"open",
|
|
15
|
-
"click",
|
|
16
|
-
"fill",
|
|
17
|
-
"type",
|
|
18
|
-
"select",
|
|
19
|
-
"wait",
|
|
20
|
-
"assertText",
|
|
21
|
-
"assertUrl",
|
|
22
|
-
"waitForDownload",
|
|
23
|
-
"screenshot",
|
|
24
|
-
"snapshot",
|
|
25
|
-
];
|
|
26
|
-
export const AGENT_BROWSER_QA_LOAD_STATES = ["domcontentloaded", "load", "networkidle"];
|
|
27
|
-
export const AGENT_BROWSER_ELECTRON_ACTIONS = [
|
|
28
|
-
"list",
|
|
29
|
-
"launch",
|
|
30
|
-
"status",
|
|
31
|
-
"cleanup",
|
|
32
|
-
"probe",
|
|
33
|
-
];
|
|
34
|
-
export const AGENT_BROWSER_ELECTRON_HANDOFFS = ["connect", "tabs", "snapshot"];
|
|
35
|
-
export const AGENT_BROWSER_ELECTRON_TARGET_TYPES = ["page", "webview", "any"];
|
|
36
|
-
export const AGENT_BROWSER_ELECTRON_LIST_FIELDS = [
|
|
37
|
-
"action",
|
|
38
|
-
"query",
|
|
39
|
-
"maxResults",
|
|
40
|
-
];
|
|
41
|
-
export const AGENT_BROWSER_ELECTRON_PROBE_FIELDS = [
|
|
42
|
-
"action",
|
|
43
|
-
"launchId",
|
|
44
|
-
"timeoutMs",
|
|
45
|
-
];
|
|
46
|
-
export const AGENT_BROWSER_ELECTRON_RESERVED_APP_ARGS = [
|
|
47
|
-
"--user-data-dir",
|
|
48
|
-
"--remote-debugging-port",
|
|
49
|
-
"--remote-debugging-address",
|
|
50
|
-
"--remote-debugging-pipe",
|
|
51
|
-
];
|
|
52
|
-
export const SOURCE_LOOKUP_WORKSPACE_EXTENSIONS = new Set([".ts", ".tsx", ".js", ".jsx"]);
|
|
53
|
-
export const SOURCE_LOOKUP_IGNORED_DIRECTORIES = new Set([
|
|
54
|
-
".git",
|
|
55
|
-
"node_modules",
|
|
56
|
-
"dist",
|
|
57
|
-
"build",
|
|
58
|
-
"coverage",
|
|
59
|
-
".next",
|
|
60
|
-
"out",
|
|
61
|
-
"tmp",
|
|
62
|
-
"temp",
|
|
63
|
-
]);
|
|
64
|
-
export const SOURCE_LOOKUP_DEFAULT_MAX_WORKSPACE_FILES = 2_000;
|
|
65
|
-
export const SOURCE_LOOKUP_MAX_WORKSPACE_FILES = 5_000;
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
const OPTIONAL_SCHEMA = Symbol("pi-agent-browser-optional-schema");
|
|
2
|
-
function withOptions(schema, options) {
|
|
3
|
-
return { ...schema, ...options };
|
|
4
|
-
}
|
|
5
|
-
function literalType(value) {
|
|
6
|
-
const valueType = typeof value;
|
|
7
|
-
return valueType === "string" || valueType === "number" || valueType === "boolean"
|
|
8
|
-
? valueType
|
|
9
|
-
: undefined;
|
|
10
|
-
}
|
|
11
|
-
function propertySchema(schema) {
|
|
12
|
-
const clone = { ...schema };
|
|
13
|
-
if (OPTIONAL_SCHEMA in clone) {
|
|
14
|
-
delete clone[OPTIONAL_SCHEMA];
|
|
15
|
-
}
|
|
16
|
-
return clone;
|
|
17
|
-
}
|
|
18
|
-
function isOptional(schema) {
|
|
19
|
-
return OPTIONAL_SCHEMA in schema && schema[OPTIONAL_SCHEMA] === true;
|
|
20
|
-
}
|
|
21
|
-
function unsafeSchema(schema) {
|
|
22
|
-
return schema;
|
|
23
|
-
}
|
|
24
|
-
const nativeJsonSchemaBuilder = {
|
|
25
|
-
Array(items, options) {
|
|
26
|
-
return withOptions({ type: "array", items }, options);
|
|
27
|
-
},
|
|
28
|
-
Boolean(options) {
|
|
29
|
-
return withOptions({ type: "boolean" }, options);
|
|
30
|
-
},
|
|
31
|
-
Integer(options) {
|
|
32
|
-
return withOptions({ type: "integer" }, options);
|
|
33
|
-
},
|
|
34
|
-
Literal(value, options) {
|
|
35
|
-
const type = literalType(value);
|
|
36
|
-
return withOptions(type !== undefined ? { type, const: value } : { const: value }, options);
|
|
37
|
-
},
|
|
38
|
-
Number(options) {
|
|
39
|
-
return withOptions({ type: "number" }, options);
|
|
40
|
-
},
|
|
41
|
-
Object(properties, options) {
|
|
42
|
-
const required = globalThis.Object.entries(properties)
|
|
43
|
-
.filter(([, schema]) => !isOptional(schema))
|
|
44
|
-
.map(([key]) => key);
|
|
45
|
-
return withOptions({
|
|
46
|
-
type: "object",
|
|
47
|
-
properties: globalThis.Object.fromEntries(globalThis.Object.entries(properties).map(([key, schema]) => [
|
|
48
|
-
key,
|
|
49
|
-
propertySchema(schema),
|
|
50
|
-
])),
|
|
51
|
-
...(required.length > 0 ? { required } : {}),
|
|
52
|
-
}, options);
|
|
53
|
-
},
|
|
54
|
-
Optional(schema) {
|
|
55
|
-
return { ...schema, [OPTIONAL_SCHEMA]: true };
|
|
56
|
-
},
|
|
57
|
-
String(options) {
|
|
58
|
-
return withOptions({ type: "string" }, options);
|
|
59
|
-
},
|
|
60
|
-
Union(types, options) {
|
|
61
|
-
return withOptions({ anyOf: types }, options);
|
|
62
|
-
},
|
|
63
|
-
Unsafe: unsafeSchema,
|
|
64
|
-
};
|
|
65
|
-
export const JsonSchema = nativeJsonSchemaBuilder;
|
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
import { findCommandStartIndex } from "./argv-descriptor.js";
|
|
2
|
-
import { isBooleanFlagEnabled } from "./argv-grammar.js";
|
|
3
|
-
export const LAUNCH_SCOPED_FLAG_DEFINITIONS = [
|
|
4
|
-
{
|
|
5
|
-
flag: "--auto-connect",
|
|
6
|
-
reason: "attaches to an already-running browser at launch time instead of reusing an existing named session",
|
|
7
|
-
},
|
|
8
|
-
{
|
|
9
|
-
flag: "--allowed-domains",
|
|
10
|
-
reason: "installs upstream network and WebRTC containment on a fresh controllable browser context",
|
|
11
|
-
},
|
|
12
|
-
{
|
|
13
|
-
flag: "--namespace",
|
|
14
|
-
reason: "selects the upstream daemon/socket and restore-state namespace before session lookup",
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
flag: "--cdp",
|
|
18
|
-
reason: "selects the browser/CDP endpoint used when an upstream session is launched",
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
flag: "--ca-cert",
|
|
22
|
-
reason: "selects isolated Chromium CA trust and may relaunch the browser",
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
flag: "--no-ca-cert",
|
|
26
|
-
reason: "clears retained isolated Chromium CA trust and may relaunch the browser",
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
flag: "--enable",
|
|
30
|
-
reason: "selects built-in page init scripts before the upstream browser session is launched",
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
flag: "--engine",
|
|
34
|
-
reason: "selects the browser engine used for the upstream launch",
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
flag: "--executable-path",
|
|
38
|
-
reason: "selects the browser executable used for the upstream launch",
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
flag: "--webgpu",
|
|
42
|
-
reason: "selects the platform-specific WebGPU browser launch preset",
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
flag: "--no-webmcp",
|
|
46
|
-
reason: "selects whether locally launched Chrome enables experimental WebMCP support",
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
flag: "--init-script",
|
|
50
|
-
reason: "registers page init scripts before the upstream browser session is launched",
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
flag: "--idle-timeout",
|
|
54
|
-
reason: "configures background browser lifecycle for the launched session",
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
flag: "--args",
|
|
58
|
-
reason: "selects raw Chrome arguments for the browser launch",
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
flag: "--user-agent",
|
|
62
|
-
reason: "selects the browser user agent at launch time",
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
flag: "--headed",
|
|
66
|
-
reason: "selects whether the launched browser has a visible window",
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
flag: "--device",
|
|
70
|
-
reason: "selects the provider device for the upstream launch",
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
flag: "--profile",
|
|
74
|
-
reason: "selects Chrome profile state for the upstream launch",
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
flag: "--provider",
|
|
78
|
-
reason: "selects the upstream browser provider for the launch",
|
|
79
|
-
},
|
|
80
|
-
{
|
|
81
|
-
flag: "-p",
|
|
82
|
-
reason: "selects the upstream browser provider for the launch",
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
flag: "--session-name",
|
|
86
|
-
reason: "selects upstream saved auth/session state for the launch",
|
|
87
|
-
},
|
|
88
|
-
{
|
|
89
|
-
flag: "--restore",
|
|
90
|
-
reason: "selects upstream saved auth/session restore state for the launch",
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
flag: "--restore-save",
|
|
94
|
-
reason: "configures upstream restore auto-save policy for the launched session",
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
flag: "--restore-check-url",
|
|
98
|
-
reason: "configures restore validation before the launched session can auto-save",
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
flag: "--restore-check-text",
|
|
102
|
-
reason: "configures restore validation before the launched session can auto-save",
|
|
103
|
-
},
|
|
104
|
-
{
|
|
105
|
-
flag: "--restore-check-fn",
|
|
106
|
-
reason: "configures restore validation before the launched session can auto-save",
|
|
107
|
-
},
|
|
108
|
-
{
|
|
109
|
-
flag: "--state",
|
|
110
|
-
reason: "loads persisted upstream browser/auth state at launch time",
|
|
111
|
-
},
|
|
112
|
-
];
|
|
113
|
-
export const LAUNCH_SCOPED_FLAGS = LAUNCH_SCOPED_FLAG_DEFINITIONS.map((definition) => definition.flag);
|
|
114
|
-
export const LAUNCH_SCOPED_FLAG_LABEL = LAUNCH_SCOPED_FLAGS.join(", ");
|
|
115
|
-
export const OPEN_RESULT_TAB_CORRECTION_FLAGS = new Set([
|
|
116
|
-
"--profile",
|
|
117
|
-
"--restore",
|
|
118
|
-
"--session-name",
|
|
119
|
-
"--state",
|
|
120
|
-
]);
|
|
121
|
-
/** Launch modes that must never be combined with wrapper-managed restore state. */
|
|
122
|
-
export const MANAGED_RESTORE_INCOMPATIBLE_FLAGS = [
|
|
123
|
-
"--restore",
|
|
124
|
-
"--restore-save",
|
|
125
|
-
"--restore-check-url",
|
|
126
|
-
"--restore-check-text",
|
|
127
|
-
"--restore-check-fn",
|
|
128
|
-
"--allowed-domains",
|
|
129
|
-
"--profile",
|
|
130
|
-
"--state",
|
|
131
|
-
"--cdp",
|
|
132
|
-
"--auto-connect",
|
|
133
|
-
"--session-name",
|
|
134
|
-
"--provider",
|
|
135
|
-
"-p",
|
|
136
|
-
"--executable-path",
|
|
137
|
-
"--extension",
|
|
138
|
-
"--init-script",
|
|
139
|
-
"--enable",
|
|
140
|
-
"--args",
|
|
141
|
-
"--user-agent",
|
|
142
|
-
"--proxy",
|
|
143
|
-
"--proxy-bypass",
|
|
144
|
-
"--ca-cert",
|
|
145
|
-
"--ignore-https-errors",
|
|
146
|
-
"--allow-file-access",
|
|
147
|
-
"--webgpu",
|
|
148
|
-
"--device",
|
|
149
|
-
"--engine",
|
|
150
|
-
];
|
|
151
|
-
/** Nonempty upstream env defaults that can replace or mutate the browser receiving restored state. */
|
|
152
|
-
export const MANAGED_RESTORE_INCOMPATIBLE_ENVS = [
|
|
153
|
-
"AGENT_BROWSER_RESTORE",
|
|
154
|
-
"AGENT_BROWSER_RESTORE_SAVE",
|
|
155
|
-
"AGENT_BROWSER_RESTORE_CHECK_URL",
|
|
156
|
-
"AGENT_BROWSER_RESTORE_CHECK_TEXT",
|
|
157
|
-
"AGENT_BROWSER_RESTORE_CHECK_FN",
|
|
158
|
-
"AGENT_BROWSER_ALLOWED_DOMAINS",
|
|
159
|
-
"AGENT_BROWSER_PROFILE",
|
|
160
|
-
"AGENT_BROWSER_STATE",
|
|
161
|
-
"AGENT_BROWSER_CDP",
|
|
162
|
-
"AGENT_BROWSER_SESSION_NAME",
|
|
163
|
-
"AGENT_BROWSER_PROVIDER",
|
|
164
|
-
"AGENT_BROWSER_EXECUTABLE_PATH",
|
|
165
|
-
"AGENT_BROWSER_EXTENSIONS",
|
|
166
|
-
"AGENT_BROWSER_INIT_SCRIPTS",
|
|
167
|
-
"AGENT_BROWSER_ENABLE",
|
|
168
|
-
"AGENT_BROWSER_ARGS",
|
|
169
|
-
"AGENT_BROWSER_USER_AGENT",
|
|
170
|
-
"AGENT_BROWSER_PROXY",
|
|
171
|
-
"AGENT_BROWSER_PROXY_BYPASS",
|
|
172
|
-
"AGENT_BROWSER_CA_CERT",
|
|
173
|
-
"AGENT_BROWSER_PLUGINS",
|
|
174
|
-
"AGENT_BROWSER_IOS_DEVICE",
|
|
175
|
-
"AGENT_BROWSER_IOS_UDID",
|
|
176
|
-
"AGENT_BROWSER_ENGINE",
|
|
177
|
-
"HTTP_PROXY",
|
|
178
|
-
"HTTPS_PROXY",
|
|
179
|
-
"ALL_PROXY",
|
|
180
|
-
"http_proxy",
|
|
181
|
-
"https_proxy",
|
|
182
|
-
"all_proxy",
|
|
183
|
-
];
|
|
184
|
-
/** Boolean launch mutators block restore only when enabled. */
|
|
185
|
-
export const MANAGED_RESTORE_INCOMPATIBLE_BOOLEAN_ENVS = [
|
|
186
|
-
"AGENT_BROWSER_AUTO_CONNECT",
|
|
187
|
-
"AGENT_BROWSER_IGNORE_HTTPS_ERRORS",
|
|
188
|
-
"AGENT_BROWSER_ALLOW_FILE_ACCESS",
|
|
189
|
-
"AGENT_BROWSER_WEBGPU",
|
|
190
|
-
];
|
|
191
|
-
export function hasLaunchScopedFlagToken(args, flag) {
|
|
192
|
-
const commandStartIndex = findCommandStartIndex(args);
|
|
193
|
-
const command = commandStartIndex === undefined ? undefined : args[commandStartIndex];
|
|
194
|
-
return args.some((token, index) => {
|
|
195
|
-
if (token.startsWith(`${flag}=`)) {
|
|
196
|
-
return flag === "--restore";
|
|
197
|
-
}
|
|
198
|
-
if (token !== flag) {
|
|
199
|
-
return false;
|
|
200
|
-
}
|
|
201
|
-
if (flag === "--auto-connect") {
|
|
202
|
-
return isBooleanFlagEnabled(args, flag);
|
|
203
|
-
}
|
|
204
|
-
if (flag === "--state" &&
|
|
205
|
-
command === "wait" &&
|
|
206
|
-
commandStartIndex !== undefined &&
|
|
207
|
-
index > commandStartIndex) {
|
|
208
|
-
return false;
|
|
209
|
-
}
|
|
210
|
-
return true;
|
|
211
|
-
});
|
|
212
|
-
}
|