@amaster.ai/pi-computer-use 0.1.2-beta.4 → 0.1.2-beta.41
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/README.md +46 -30
- package/bin/darwin-arm64/.version +2 -0
- package/bin/darwin-arm64/CuaDriver.app/Contents/CodeResources +0 -0
- package/bin/darwin-arm64/CuaDriver.app/Contents/Info.plist +32 -0
- package/bin/darwin-arm64/{cua-driver → CuaDriver.app/Contents/MacOS/cua-driver} +0 -0
- package/bin/darwin-arm64/CuaDriver.app/Contents/Resources/Skills/cua-driver/README.md +140 -0
- package/bin/darwin-arm64/CuaDriver.app/Contents/Resources/Skills/cua-driver/RECORDING.md +113 -0
- package/bin/darwin-arm64/CuaDriver.app/Contents/Resources/Skills/cua-driver/SKILL.md +887 -0
- package/bin/darwin-arm64/CuaDriver.app/Contents/Resources/Skills/cua-driver/TESTS.md +232 -0
- package/bin/darwin-arm64/CuaDriver.app/Contents/Resources/Skills/cua-driver/WEB_APPS.md +471 -0
- package/bin/darwin-arm64/CuaDriver.app/Contents/_CodeSignature/CodeResources +172 -0
- package/bin/darwin-x64/.version +2 -0
- package/bin/darwin-x64/CuaDriver.app/Contents/CodeResources +0 -0
- package/bin/darwin-x64/CuaDriver.app/Contents/Info.plist +32 -0
- package/bin/darwin-x64/{cua-driver → CuaDriver.app/Contents/MacOS/cua-driver} +0 -0
- package/bin/darwin-x64/CuaDriver.app/Contents/Resources/Skills/cua-driver/README.md +140 -0
- package/bin/darwin-x64/CuaDriver.app/Contents/Resources/Skills/cua-driver/RECORDING.md +113 -0
- package/bin/darwin-x64/CuaDriver.app/Contents/Resources/Skills/cua-driver/SKILL.md +887 -0
- package/bin/darwin-x64/CuaDriver.app/Contents/Resources/Skills/cua-driver/TESTS.md +232 -0
- package/bin/darwin-x64/CuaDriver.app/Contents/Resources/Skills/cua-driver/WEB_APPS.md +471 -0
- package/bin/darwin-x64/CuaDriver.app/Contents/_CodeSignature/CodeResources +172 -0
- package/bin/linux-x64/.version +2 -0
- package/bin/linux-x64/cua-driver +0 -0
- package/bin/win32-arm64/.version +2 -0
- package/bin/win32-arm64/cua-driver-uia.exe +0 -0
- package/bin/win32-arm64/cua-driver.exe +0 -0
- package/bin/win32-x64/.version +2 -0
- package/bin/win32-x64/cua-driver-uia.exe +0 -0
- package/bin/win32-x64/cua-driver.exe +0 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +0 -2
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +442 -42
- package/dist/index.js.map +1 -1
- package/dist/mcp-client.d.ts.map +1 -1
- package/dist/mcp-client.js +23 -3
- package/dist/mcp-client.js.map +1 -1
- package/dist/vision.d.ts.map +1 -1
- package/dist/vision.js +22 -1
- package/dist/vision.js.map +1 -1
- package/package.json +10 -6
- package/preview.png +0 -0
- package/scripts/postinstall.js +29 -0
package/dist/mcp-client.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { existsSync } from 'node:fs';
|
|
1
|
+
import { accessSync, chmodSync, constants, existsSync } from 'node:fs';
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import { fileURLToPath } from 'node:url';
|
|
4
4
|
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
@@ -59,12 +59,32 @@ export class CuaDriverClient {
|
|
|
59
59
|
return this.config.binaryPath;
|
|
60
60
|
}
|
|
61
61
|
const platform = process.platform === 'win32' ? 'win32-x64' : `${process.platform}-${process.arch}`;
|
|
62
|
-
const
|
|
63
|
-
|
|
62
|
+
const binDir = path.resolve(__dirname, '..', 'bin', platform);
|
|
63
|
+
let binPath;
|
|
64
|
+
if (process.platform === 'darwin') {
|
|
65
|
+
binPath = path.join(binDir, 'CuaDriver.app', 'Contents', 'MacOS', 'cua-driver');
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
const ext = process.platform === 'win32' ? '.exe' : '';
|
|
69
|
+
binPath = path.join(binDir, `cua-driver${ext}`);
|
|
70
|
+
}
|
|
64
71
|
if (!existsSync(binPath)) {
|
|
65
72
|
throw new Error(`[pi-computer-use] cua-driver binary not found at ${binPath}. ` +
|
|
66
73
|
`Platform "${platform}" may not be supported, or set mode: "path" with binaryPath in config.`);
|
|
67
74
|
}
|
|
75
|
+
try {
|
|
76
|
+
accessSync(binPath, constants.X_OK);
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
try {
|
|
80
|
+
chmodSync(binPath, 0o755);
|
|
81
|
+
}
|
|
82
|
+
catch (chmodErr) {
|
|
83
|
+
throw new Error(`[pi-computer-use] cua-driver binary at ${binPath} is not executable. ` +
|
|
84
|
+
`Auto-fix failed (${chmodErr instanceof Error ? chmodErr.message : String(chmodErr)}). ` +
|
|
85
|
+
`Run: sudo chmod +x "${binPath}"`);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
68
88
|
return binPath;
|
|
69
89
|
}
|
|
70
90
|
}
|
package/dist/mcp-client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-client.js","sourceRoot":"","sources":["../src/mcp-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-client.js","sourceRoot":"","sources":["../src/mcp-client.ts"],"names":[],"mappings":"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"}
|
package/dist/vision.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vision.d.ts","sourceRoot":"","sources":["../src/vision.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vision.d.ts","sourceRoot":"","sources":["../src/vision.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,eAAO,MAAM,oBAAoB,21BAc8B,CAAC;AAEhE,MAAM,MAAM,YAAY,GAAG,CACzB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,KACb,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,iBAAiB,EAC/B,GAAG,EAAE,gBAAgB,GACpB,YAAY,CA4Ed"}
|
package/dist/vision.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { complete } from '@earendil-works/pi-ai';
|
|
1
|
+
import { complete } from '@earendil-works/pi-ai/compat';
|
|
2
2
|
export const VISUAL_SYSTEM_PROMPT = `You are a Visual Analysis Agent for computer-use automation.
|
|
3
3
|
You receive screenshots of a desktop and instructions about what to identify or analyze.
|
|
4
4
|
|
|
@@ -48,6 +48,27 @@ export function createPiVisionCaller(visionConfig, ctx) {
|
|
|
48
48
|
},
|
|
49
49
|
],
|
|
50
50
|
}, options);
|
|
51
|
+
if (process.env.DEBUG?.includes('pi-computer-use')) {
|
|
52
|
+
const contentShape = result.content.map((c) => {
|
|
53
|
+
const block = c;
|
|
54
|
+
const type = typeof block.type === 'string' ? block.type : 'unknown';
|
|
55
|
+
const text = typeof block.text === 'string' ? block.text : undefined;
|
|
56
|
+
return {
|
|
57
|
+
type,
|
|
58
|
+
textLength: text?.length,
|
|
59
|
+
textPreview: text ? text.slice(0, 200) : undefined,
|
|
60
|
+
keys: Object.keys(block),
|
|
61
|
+
};
|
|
62
|
+
});
|
|
63
|
+
console.error('[pi-computer-use vision] complete() returned', JSON.stringify({
|
|
64
|
+
provider: visionConfig.provider,
|
|
65
|
+
model: visionConfig.model,
|
|
66
|
+
imageBase64Length: imageBase64.length,
|
|
67
|
+
mimeType,
|
|
68
|
+
blockCount: result.content.length,
|
|
69
|
+
contentShape,
|
|
70
|
+
}, null, 2));
|
|
71
|
+
}
|
|
51
72
|
return result.content
|
|
52
73
|
.filter((c) => c.type === 'text')
|
|
53
74
|
.map((c) => c.text)
|
package/dist/vision.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vision.js","sourceRoot":"","sources":["../src/vision.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vision.js","sourceRoot":"","sources":["../src/vision.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@amaster.ai/pi-computer-use",
|
|
3
|
-
"version": "0.1.2-beta.
|
|
3
|
+
"version": "0.1.2-beta.41",
|
|
4
4
|
"description": "Pi extension for desktop automation via cua-driver-rs with computer_use_ prefixed tools",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pi-package",
|
|
@@ -29,9 +29,12 @@
|
|
|
29
29
|
"files": [
|
|
30
30
|
"dist",
|
|
31
31
|
"bin",
|
|
32
|
+
"scripts",
|
|
33
|
+
"preview.png",
|
|
32
34
|
"README.md"
|
|
33
35
|
],
|
|
34
36
|
"pi": {
|
|
37
|
+
"image": "https://raw.githubusercontent.com/TGYD-helige/pi/master/packages/pi-computer-use/preview.png",
|
|
35
38
|
"extensions": [
|
|
36
39
|
"./dist/index.js"
|
|
37
40
|
]
|
|
@@ -46,16 +49,16 @@
|
|
|
46
49
|
},
|
|
47
50
|
"dependencies": {
|
|
48
51
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
49
|
-
"@amaster.ai/pi-shared": "0.1.2-beta.
|
|
52
|
+
"@amaster.ai/pi-shared": "0.1.2-beta.41"
|
|
50
53
|
},
|
|
51
54
|
"peerDependencies": {
|
|
52
|
-
"@earendil-works/pi-ai": ">=0.
|
|
55
|
+
"@earendil-works/pi-ai": ">=0.80.3",
|
|
53
56
|
"@earendil-works/pi-coding-agent": ">=0.74.0",
|
|
54
57
|
"typebox": "*"
|
|
55
58
|
},
|
|
56
59
|
"devDependencies": {
|
|
57
|
-
"@earendil-works/pi-ai": "0.
|
|
58
|
-
"@earendil-works/pi-coding-agent": "0.
|
|
60
|
+
"@earendil-works/pi-ai": "0.80.3",
|
|
61
|
+
"@earendil-works/pi-coding-agent": "0.80.3",
|
|
59
62
|
"tsup": "^8.4.0",
|
|
60
63
|
"typebox": "*",
|
|
61
64
|
"vitest": "^4.0.0"
|
|
@@ -63,6 +66,7 @@
|
|
|
63
66
|
"scripts": {
|
|
64
67
|
"build": "tsup",
|
|
65
68
|
"typecheck": "tsc -b --pretty false",
|
|
66
|
-
"test": "vitest run src"
|
|
69
|
+
"test": "vitest run src",
|
|
70
|
+
"postinstall": "node scripts/postinstall.js"
|
|
67
71
|
}
|
|
68
72
|
}
|
package/preview.png
ADDED
|
Binary file
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { chmodSync, existsSync } from 'node:fs';
|
|
3
|
+
import { join, dirname } from 'node:path';
|
|
4
|
+
import { fileURLToPath } from 'node:url';
|
|
5
|
+
|
|
6
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
7
|
+
const binDir = join(__dirname, '..', 'bin');
|
|
8
|
+
|
|
9
|
+
const platform = process.platform === 'win32' ? 'win32-x64' : `${process.platform}-${process.arch}`;
|
|
10
|
+
const platformDir = join(binDir, platform);
|
|
11
|
+
|
|
12
|
+
if (process.platform === 'win32') {
|
|
13
|
+
process.exit(0);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
let binPath;
|
|
17
|
+
if (process.platform === 'darwin') {
|
|
18
|
+
binPath = join(platformDir, 'CuaDriver.app', 'Contents', 'MacOS', 'cua-driver');
|
|
19
|
+
} else {
|
|
20
|
+
binPath = join(platformDir, 'cua-driver');
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
if (existsSync(binPath)) {
|
|
24
|
+
try {
|
|
25
|
+
chmodSync(binPath, 0o755);
|
|
26
|
+
} catch {
|
|
27
|
+
// Non-fatal: runtime will retry or prompt user
|
|
28
|
+
}
|
|
29
|
+
}
|