pi-agent-browser-native 0.8.3 → 0.9.1
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 +36 -0
- package/README.md +12 -11
- package/dist/extensions/agent-browser/index.js +96 -320
- package/dist/extensions/agent-browser/lib/argv-descriptor.js +1 -1
- package/dist/extensions/agent-browser/lib/argv-grammar.js +3 -3
- package/dist/extensions/agent-browser/lib/browser-journal.js +33 -12
- package/dist/extensions/agent-browser/lib/browser-transcript.js +1 -1
- package/dist/extensions/agent-browser/lib/command-taxonomy.js +0 -3
- package/dist/extensions/agent-browser/lib/config-policy.js +0 -13
- package/dist/extensions/agent-browser/lib/config.js +3 -48
- package/dist/extensions/agent-browser/lib/electron/launch.js +4 -4
- package/dist/extensions/agent-browser/lib/execution-cwd.js +0 -16
- package/dist/extensions/agent-browser/lib/input-modes/params.js +2 -3
- package/dist/extensions/agent-browser/lib/input-modes/script.js +28 -6
- package/dist/extensions/agent-browser/lib/input-modes/types.js +2 -2
- package/dist/extensions/agent-browser/lib/managed-session-restore.js +1 -4
- package/dist/extensions/agent-browser/lib/native-output.js +46 -0
- package/dist/extensions/agent-browser/lib/orchestration/batch-stdin.js +0 -9
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/artifact-merge.js +22 -0
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/diagnostics.js +1 -1
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/final-result.js +2 -2
- package/dist/extensions/agent-browser/lib/orchestration/browser-run/prepare.js +1 -1
- package/dist/extensions/agent-browser/lib/orchestration/execution-queue.js +86 -0
- package/dist/extensions/agent-browser/lib/pi-tool-rendering.js +31 -17
- package/dist/extensions/agent-browser/lib/process.js +0 -3
- package/dist/extensions/agent-browser/lib/prompt-policy.js +16 -12
- package/dist/extensions/agent-browser/lib/results/artifact-manifest.js +2 -2
- package/dist/extensions/agent-browser/lib/results/network-routes.js +1 -1
- package/dist/extensions/agent-browser/lib/results/network.js +1 -1
- package/dist/extensions/agent-browser/lib/results/presentation/batch.js +1 -1
- package/dist/extensions/agent-browser/lib/results/presentation/content.js +4 -0
- package/dist/extensions/agent-browser/lib/results/presentation/diagnostics.js +1 -1
- package/dist/extensions/agent-browser/lib/results/presentation/large-output.js +15 -8
- package/dist/extensions/agent-browser/lib/results/presentation/semantic-action.js +2 -2
- package/dist/extensions/agent-browser/lib/results/selector-recovery.js +1 -1
- package/dist/extensions/agent-browser/lib/runtime.js +4 -2
- package/dist/extensions/agent-browser/lib/session-page-state.js +1 -1
- package/dist/extensions/agent-browser/lib/tool-surface.js +39 -11
- package/dist/extensions/agent-browser/lib/web-search.js +100 -79
- package/docs/ARCHITECTURE.md +17 -19
- package/docs/COMMAND_REFERENCE.md +6 -2
- package/docs/RELEASE.md +26 -20
- package/docs/REQUIREMENTS.md +5 -5
- package/docs/SESSION_STORAGE.md +4 -4
- package/docs/SUPPORT_MATRIX.md +15 -13
- package/docs/TOOL_CONTRACT.md +12 -8
- package/package.json +6 -6
- package/scripts/doctor.mjs +12 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-agent-browser-native",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.1",
|
|
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)",
|
|
@@ -68,11 +68,11 @@
|
|
|
68
68
|
"typebox": "*"
|
|
69
69
|
},
|
|
70
70
|
"devDependencies": {
|
|
71
|
-
"@earendil-works/pi-ai": "0.
|
|
72
|
-
"@earendil-works/pi-coding-agent": "0.
|
|
73
|
-
"@earendil-works/pi-tui": "0.
|
|
71
|
+
"@earendil-works/pi-ai": "1.0.0",
|
|
72
|
+
"@earendil-works/pi-coding-agent": "1.0.0",
|
|
73
|
+
"@earendil-works/pi-tui": "1.0.0",
|
|
74
74
|
"@types/cross-spawn": "6.0.6",
|
|
75
|
-
"@types/node": "24.19.
|
|
75
|
+
"@types/node": "24.19.1",
|
|
76
76
|
"@types/which": "2.0.2",
|
|
77
77
|
"tsx": "4.23.15",
|
|
78
78
|
"typebox": "1.3.27",
|
|
@@ -98,7 +98,7 @@
|
|
|
98
98
|
"startup-profile": "node ./scripts/profile-startup.mjs",
|
|
99
99
|
"prepare": "node ./scripts/prepare.mjs"
|
|
100
100
|
},
|
|
101
|
-
"packageManager": "npm@12.
|
|
101
|
+
"packageManager": "npm@12.2.0",
|
|
102
102
|
"peerDependenciesMeta": {
|
|
103
103
|
"@earendil-works/pi-ai": {
|
|
104
104
|
"optional": true
|
package/scripts/doctor.mjs
CHANGED
|
@@ -26,7 +26,7 @@ const EXTENSION_ENTRYPOINTS = Object.freeze([
|
|
|
26
26
|
"dist/extensions/agent-browser/index.js",
|
|
27
27
|
]);
|
|
28
28
|
const RECOMMENDED_VERSION = TARGET_AGENT_BROWSER_VERSION;
|
|
29
|
-
export const MINIMUM_PI_VERSION = "0.
|
|
29
|
+
export const MINIMUM_PI_VERSION = "1.0.0";
|
|
30
30
|
const DEFAULT_AGENT_DIR = resolve(homedir(), ".pi/agent");
|
|
31
31
|
const THIS_PACKAGE_ROOT = resolve(dirname(fileURLToPath(import.meta.url)), "..");
|
|
32
32
|
|
|
@@ -44,7 +44,7 @@ function parseVersionParts(version) {
|
|
|
44
44
|
return match.slice(1).map((part) => Number.parseInt(part, 10));
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
function versionAtLeast(actual, minimum) {
|
|
47
|
+
export function versionAtLeast(actual, minimum) {
|
|
48
48
|
const actualParts = parseVersionParts(actual);
|
|
49
49
|
const minimumParts = parseVersionParts(minimum);
|
|
50
50
|
if (!actualParts || !minimumParts) return undefined;
|
|
@@ -124,15 +124,23 @@ export function parseCliArgs(argv = process.argv.slice(2)) {
|
|
|
124
124
|
}
|
|
125
125
|
|
|
126
126
|
async function defaultRunAgentBrowser(args) {
|
|
127
|
-
const { stdout, stderr } = await execFile("agent-browser", args, { maxBuffer: 1024 * 1024 });
|
|
127
|
+
const { stdout, stderr } = await execFile("agent-browser", args, { maxBuffer: 1024 * 1024, ...buildNpmShimExecOptions(process.platform) });
|
|
128
128
|
return `${stdout}${stderr}`;
|
|
129
129
|
}
|
|
130
130
|
|
|
131
131
|
async function defaultRunPi(args) {
|
|
132
|
-
const { stdout, stderr } = await execFile("pi", args, { maxBuffer: 1024 * 1024 });
|
|
132
|
+
const { stdout, stderr } = await execFile("pi", args, { maxBuffer: 1024 * 1024, ...buildNpmShimExecOptions(process.platform) });
|
|
133
133
|
return `${stdout}${stderr}`;
|
|
134
134
|
}
|
|
135
135
|
|
|
136
|
+
/**
|
|
137
|
+
* npm's global bin shims on Windows are `.cmd` files that `execFile` cannot launch without a
|
|
138
|
+
* shell. Doctor only passes fixed flag arrays here, so shell composition stays safe.
|
|
139
|
+
*/
|
|
140
|
+
export function buildNpmShimExecOptions(platform = process.platform) {
|
|
141
|
+
return platform === "win32" ? { shell: true } : {};
|
|
142
|
+
}
|
|
143
|
+
|
|
136
144
|
async function defaultPathExists(path) {
|
|
137
145
|
try {
|
|
138
146
|
await access(path);
|