pi-agent-browser-native 0.9.4 → 0.9.5
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 +29 -0
- package/README.md +58 -813
- package/dist/extensions/agent-browser/index.js +927 -883
- package/dist/extensions/agent-browser/lib/browser-execution-claims.js +5 -5
- package/dist/extensions/agent-browser/lib/config-policy.js +1 -1
- package/dist/extensions/agent-browser/lib/config-validation.js +21 -8
- package/dist/extensions/agent-browser/lib/config.js +1 -1
- package/dist/extensions/agent-browser/lib/electron/cdp.js +5 -1
- package/dist/extensions/agent-browser/lib/electron/cleanup.js +13 -47
- package/dist/extensions/agent-browser/lib/electron/discovery-evidence.js +1 -0
- package/dist/extensions/agent-browser/lib/electron/launch.js +12 -1
- package/dist/extensions/agent-browser/lib/fs-utils.js +1 -9
- package/dist/extensions/agent-browser/lib/input-modes/job.js +7 -4
- package/dist/extensions/agent-browser/lib/input-modes/lookup-network-evidence.js +15 -3
- package/dist/extensions/agent-browser/lib/input-modes/lookups.js +3 -2
- package/dist/extensions/agent-browser/lib/input-modes/params.js +23 -23
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/electron-observation.js +9 -8
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result-electron.js +8 -0
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare/scroll-shims.js +2 -2
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare/snapshot-filter.js +9 -0
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/session-state-electron.js +4 -2
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/session-state-refs.js +9 -11
- package/dist/extensions/agent-browser/lib/orchestration/electron-host/branch.js +1 -0
- package/dist/extensions/agent-browser/lib/orchestration/electron-host/probe-collection.js +5 -6
- package/dist/extensions/agent-browser/lib/orchestration/electron-host/probe-data.js +4 -2
- package/dist/extensions/agent-browser/lib/orchestration/electron-host/probe-presentation.js +20 -2
- package/dist/extensions/agent-browser/lib/orchestration/electron-host/status.js +4 -2
- package/dist/extensions/agent-browser/lib/orchestration/execution-queue.js +1 -1
- package/dist/extensions/agent-browser/lib/results/presentation/skills.js +7 -2
- package/dist/extensions/agent-browser/lib/temp-artifact-budget.js +4 -1
- package/dist/extensions/agent-browser/lib/temp-root.js +22 -18
- package/dist/extensions/agent-browser/lib/temp.js +1 -1
- package/dist/extensions/agent-browser/lib/web-search-providers.js +0 -36
- package/dist/extensions/agent-browser/lib/web-search-request.js +20 -26
- package/dist/extensions/agent-browser/lib/web-search-schema.js +5 -5
- package/dist/extensions/agent-browser/lib/web-search.js +22 -4
- package/docs/ARCHITECTURE.md +3 -2
- package/docs/CODE_QUALITY.md +28 -3
- package/docs/COMMAND_REFERENCE.md +20 -20
- package/docs/ELECTRON.md +24 -2
- package/docs/REFERENCE.md +869 -0
- package/docs/RELEASE.md +9 -9
- package/docs/REQUIREMENTS.md +1 -1
- package/docs/SUPPORT_MATRIX.md +9 -8
- package/docs/TOOL_CONTRACT.md +13 -9
- package/docs/platform-smoke.md +3 -3
- package/package.json +3 -2
- package/scripts/config.mjs +23 -19
- 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/scripts/config.mjs
CHANGED
|
@@ -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) {
|
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
|
|