@namzu/sdk 0.1.5 → 0.1.6-rc.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 +16 -0
- package/README.md +314 -669
- package/dist/bridge/tools/connector/adapter.d.ts +2 -2
- package/dist/config/runtime.d.ts +52 -52
- package/dist/connector/builtins/webhook.d.ts +1 -1
- package/dist/contracts/a2a.d.ts +125 -125
- package/dist/contracts/schemas.d.ts +34 -34
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/tools/builtins/__tests__/computer-use.test.d.ts +2 -0
- package/dist/tools/builtins/__tests__/computer-use.test.d.ts.map +1 -0
- package/dist/tools/builtins/__tests__/computer-use.test.js +146 -0
- package/dist/tools/builtins/__tests__/computer-use.test.js.map +1 -0
- package/dist/tools/builtins/__tests__/structuredOutput.example.d.ts +10 -10
- package/dist/tools/builtins/computer-use.d.ts +185 -0
- package/dist/tools/builtins/computer-use.d.ts.map +1 -0
- package/dist/tools/builtins/computer-use.js +151 -0
- package/dist/tools/builtins/computer-use.js.map +1 -0
- package/dist/tools/builtins/index.d.ts +1 -0
- package/dist/tools/builtins/index.d.ts.map +1 -1
- package/dist/tools/builtins/index.js +1 -0
- package/dist/tools/builtins/index.js.map +1 -1
- package/dist/tools/builtins/ls.d.ts +1 -1
- package/dist/types/computer-use/index.d.ts +74 -0
- package/dist/types/computer-use/index.d.ts.map +1 -0
- package/dist/types/computer-use/index.js +35 -0
- package/dist/types/computer-use/index.js.map +1 -0
- package/dist/types/plugin/index.d.ts +14 -14
- package/dist/types/sandbox/index.d.ts +2 -2
- package/dist/types/verification/index.d.ts +18 -18
- package/package.json +19 -21
- package/src/index.ts +5 -0
- package/src/tools/builtins/__tests__/computer-use.test.ts +188 -0
- package/src/tools/builtins/computer-use.ts +165 -0
- package/src/tools/builtins/index.ts +1 -0
- package/src/types/computer-use/index.ts +126 -0
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { ComputerUseHost } from '../../types/computer-use/index.js';
|
|
3
|
+
import type { ToolDefinition } from '../../types/tool/index.js';
|
|
4
|
+
export declare const COMPUTER_USE_TOOL_NAME: "computer_use";
|
|
5
|
+
declare const actionSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
|
6
|
+
type: z.ZodLiteral<"screenshot">;
|
|
7
|
+
}, "strip", z.ZodTypeAny, {
|
|
8
|
+
type: "screenshot";
|
|
9
|
+
}, {
|
|
10
|
+
type: "screenshot";
|
|
11
|
+
}>, z.ZodObject<{
|
|
12
|
+
type: z.ZodLiteral<"cursor_position">;
|
|
13
|
+
}, "strip", z.ZodTypeAny, {
|
|
14
|
+
type: "cursor_position";
|
|
15
|
+
}, {
|
|
16
|
+
type: "cursor_position";
|
|
17
|
+
}>, z.ZodObject<{
|
|
18
|
+
type: z.ZodLiteral<"mouse_move">;
|
|
19
|
+
to: z.ZodObject<{
|
|
20
|
+
x: z.ZodNumber;
|
|
21
|
+
y: z.ZodNumber;
|
|
22
|
+
}, "strip", z.ZodTypeAny, {
|
|
23
|
+
x: number;
|
|
24
|
+
y: number;
|
|
25
|
+
}, {
|
|
26
|
+
x: number;
|
|
27
|
+
y: number;
|
|
28
|
+
}>;
|
|
29
|
+
}, "strip", z.ZodTypeAny, {
|
|
30
|
+
type: "mouse_move";
|
|
31
|
+
to: {
|
|
32
|
+
x: number;
|
|
33
|
+
y: number;
|
|
34
|
+
};
|
|
35
|
+
}, {
|
|
36
|
+
type: "mouse_move";
|
|
37
|
+
to: {
|
|
38
|
+
x: number;
|
|
39
|
+
y: number;
|
|
40
|
+
};
|
|
41
|
+
}>, z.ZodObject<{
|
|
42
|
+
type: z.ZodLiteral<"mouse_click">;
|
|
43
|
+
at: z.ZodObject<{
|
|
44
|
+
x: z.ZodNumber;
|
|
45
|
+
y: z.ZodNumber;
|
|
46
|
+
}, "strip", z.ZodTypeAny, {
|
|
47
|
+
x: number;
|
|
48
|
+
y: number;
|
|
49
|
+
}, {
|
|
50
|
+
x: number;
|
|
51
|
+
y: number;
|
|
52
|
+
}>;
|
|
53
|
+
button: z.ZodEnum<["left", "right", "middle"]>;
|
|
54
|
+
}, "strip", z.ZodTypeAny, {
|
|
55
|
+
type: "mouse_click";
|
|
56
|
+
at: {
|
|
57
|
+
x: number;
|
|
58
|
+
y: number;
|
|
59
|
+
};
|
|
60
|
+
button: "left" | "right" | "middle";
|
|
61
|
+
}, {
|
|
62
|
+
type: "mouse_click";
|
|
63
|
+
at: {
|
|
64
|
+
x: number;
|
|
65
|
+
y: number;
|
|
66
|
+
};
|
|
67
|
+
button: "left" | "right" | "middle";
|
|
68
|
+
}>, z.ZodObject<{
|
|
69
|
+
type: z.ZodLiteral<"mouse_drag">;
|
|
70
|
+
from: z.ZodObject<{
|
|
71
|
+
x: z.ZodNumber;
|
|
72
|
+
y: z.ZodNumber;
|
|
73
|
+
}, "strip", z.ZodTypeAny, {
|
|
74
|
+
x: number;
|
|
75
|
+
y: number;
|
|
76
|
+
}, {
|
|
77
|
+
x: number;
|
|
78
|
+
y: number;
|
|
79
|
+
}>;
|
|
80
|
+
to: z.ZodObject<{
|
|
81
|
+
x: z.ZodNumber;
|
|
82
|
+
y: z.ZodNumber;
|
|
83
|
+
}, "strip", z.ZodTypeAny, {
|
|
84
|
+
x: number;
|
|
85
|
+
y: number;
|
|
86
|
+
}, {
|
|
87
|
+
x: number;
|
|
88
|
+
y: number;
|
|
89
|
+
}>;
|
|
90
|
+
button: z.ZodEnum<["left", "right", "middle"]>;
|
|
91
|
+
}, "strip", z.ZodTypeAny, {
|
|
92
|
+
type: "mouse_drag";
|
|
93
|
+
from: {
|
|
94
|
+
x: number;
|
|
95
|
+
y: number;
|
|
96
|
+
};
|
|
97
|
+
to: {
|
|
98
|
+
x: number;
|
|
99
|
+
y: number;
|
|
100
|
+
};
|
|
101
|
+
button: "left" | "right" | "middle";
|
|
102
|
+
}, {
|
|
103
|
+
type: "mouse_drag";
|
|
104
|
+
from: {
|
|
105
|
+
x: number;
|
|
106
|
+
y: number;
|
|
107
|
+
};
|
|
108
|
+
to: {
|
|
109
|
+
x: number;
|
|
110
|
+
y: number;
|
|
111
|
+
};
|
|
112
|
+
button: "left" | "right" | "middle";
|
|
113
|
+
}>, z.ZodObject<{
|
|
114
|
+
type: z.ZodLiteral<"scroll">;
|
|
115
|
+
at: z.ZodObject<{
|
|
116
|
+
x: z.ZodNumber;
|
|
117
|
+
y: z.ZodNumber;
|
|
118
|
+
}, "strip", z.ZodTypeAny, {
|
|
119
|
+
x: number;
|
|
120
|
+
y: number;
|
|
121
|
+
}, {
|
|
122
|
+
x: number;
|
|
123
|
+
y: number;
|
|
124
|
+
}>;
|
|
125
|
+
direction: z.ZodEnum<["up", "down", "left", "right"]>;
|
|
126
|
+
amount: z.ZodNumber;
|
|
127
|
+
}, "strip", z.ZodTypeAny, {
|
|
128
|
+
type: "scroll";
|
|
129
|
+
at: {
|
|
130
|
+
x: number;
|
|
131
|
+
y: number;
|
|
132
|
+
};
|
|
133
|
+
direction: "left" | "right" | "up" | "down";
|
|
134
|
+
amount: number;
|
|
135
|
+
}, {
|
|
136
|
+
type: "scroll";
|
|
137
|
+
at: {
|
|
138
|
+
x: number;
|
|
139
|
+
y: number;
|
|
140
|
+
};
|
|
141
|
+
direction: "left" | "right" | "up" | "down";
|
|
142
|
+
amount: number;
|
|
143
|
+
}>, z.ZodObject<{
|
|
144
|
+
type: z.ZodLiteral<"type_text">;
|
|
145
|
+
text: z.ZodString;
|
|
146
|
+
}, "strip", z.ZodTypeAny, {
|
|
147
|
+
type: "type_text";
|
|
148
|
+
text: string;
|
|
149
|
+
}, {
|
|
150
|
+
type: "type_text";
|
|
151
|
+
text: string;
|
|
152
|
+
}>, z.ZodObject<{
|
|
153
|
+
type: z.ZodLiteral<"key">;
|
|
154
|
+
keys: z.ZodString;
|
|
155
|
+
}, "strip", z.ZodTypeAny, {
|
|
156
|
+
keys: string;
|
|
157
|
+
type: "key";
|
|
158
|
+
}, {
|
|
159
|
+
keys: string;
|
|
160
|
+
type: "key";
|
|
161
|
+
}>]>;
|
|
162
|
+
type ActionInput = z.infer<typeof actionSchema>;
|
|
163
|
+
/**
|
|
164
|
+
* Factory: given a ComputerUseHost (provided by the consumer — e.g.
|
|
165
|
+
* @namzu/computer-use's SubprocessComputerUseHost), returns a ToolDefinition
|
|
166
|
+
* that routes the discriminated action to the host and maps results back to
|
|
167
|
+
* the SDK's ToolResult shape.
|
|
168
|
+
*
|
|
169
|
+
* The tool's description reflects the host's frozen capabilities, and any
|
|
170
|
+
* action targeting an unavailable capability is rejected with a clear error
|
|
171
|
+
* rather than hanging or failing silently.
|
|
172
|
+
*
|
|
173
|
+
* @example
|
|
174
|
+
* ```ts
|
|
175
|
+
* import { SubprocessComputerUseHost } from '@namzu/computer-use'
|
|
176
|
+
* import { createComputerUseTool } from '@namzu/sdk'
|
|
177
|
+
*
|
|
178
|
+
* const host = new SubprocessComputerUseHost()
|
|
179
|
+
* await host.initialize?.()
|
|
180
|
+
* registry.register(createComputerUseTool(host))
|
|
181
|
+
* ```
|
|
182
|
+
*/
|
|
183
|
+
export declare function createComputerUseTool(host: ComputerUseHost): ToolDefinition<ActionInput>;
|
|
184
|
+
export {};
|
|
185
|
+
//# sourceMappingURL=computer-use.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"computer-use.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/computer-use.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,KAAK,EAGX,eAAe,EAEf,MAAM,mCAAmC,CAAA;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,2BAA2B,CAAA;AAG3E,eAAO,MAAM,sBAAsB,EAAG,cAAuB,CAAA;AAa7D,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmBhB,CAAA;AAEF,KAAK,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AA4E/C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,eAAe,GAAG,cAAc,CAAC,WAAW,CAAC,CAwBxF"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { defineTool } from '../defineTool.js';
|
|
3
|
+
export const COMPUTER_USE_TOOL_NAME = 'computer_use';
|
|
4
|
+
// ---------------------------------------------------------------------------
|
|
5
|
+
// Input schema — discriminated union matching ComputerUseAction
|
|
6
|
+
// ---------------------------------------------------------------------------
|
|
7
|
+
const pointSchema = z.object({
|
|
8
|
+
x: z.number().int(),
|
|
9
|
+
y: z.number().int(),
|
|
10
|
+
});
|
|
11
|
+
const mouseButtonSchema = z.enum(['left', 'right', 'middle']);
|
|
12
|
+
const actionSchema = z.discriminatedUnion('type', [
|
|
13
|
+
z.object({ type: z.literal('screenshot') }),
|
|
14
|
+
z.object({ type: z.literal('cursor_position') }),
|
|
15
|
+
z.object({ type: z.literal('mouse_move'), to: pointSchema }),
|
|
16
|
+
z.object({ type: z.literal('mouse_click'), at: pointSchema, button: mouseButtonSchema }),
|
|
17
|
+
z.object({
|
|
18
|
+
type: z.literal('mouse_drag'),
|
|
19
|
+
from: pointSchema,
|
|
20
|
+
to: pointSchema,
|
|
21
|
+
button: mouseButtonSchema,
|
|
22
|
+
}),
|
|
23
|
+
z.object({
|
|
24
|
+
type: z.literal('scroll'),
|
|
25
|
+
at: pointSchema,
|
|
26
|
+
direction: z.enum(['up', 'down', 'left', 'right']),
|
|
27
|
+
amount: z.number().int().positive(),
|
|
28
|
+
}),
|
|
29
|
+
z.object({ type: z.literal('type_text'), text: z.string() }),
|
|
30
|
+
z.object({ type: z.literal('key'), keys: z.string() }),
|
|
31
|
+
]);
|
|
32
|
+
const DESTRUCTIVE_ACTION_TYPES = new Set([
|
|
33
|
+
'mouse_click',
|
|
34
|
+
'mouse_drag',
|
|
35
|
+
'type_text',
|
|
36
|
+
'key',
|
|
37
|
+
'scroll',
|
|
38
|
+
]);
|
|
39
|
+
function requiredCapability(type) {
|
|
40
|
+
switch (type) {
|
|
41
|
+
case 'screenshot':
|
|
42
|
+
return 'screenshot';
|
|
43
|
+
case 'cursor_position':
|
|
44
|
+
return 'cursorPosition';
|
|
45
|
+
case 'mouse_move':
|
|
46
|
+
case 'mouse_click':
|
|
47
|
+
case 'mouse_drag':
|
|
48
|
+
case 'scroll':
|
|
49
|
+
return 'mouse';
|
|
50
|
+
case 'type_text':
|
|
51
|
+
case 'key':
|
|
52
|
+
return 'keyboard';
|
|
53
|
+
default:
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
function buildDescription(host) {
|
|
58
|
+
const caps = host.capabilities;
|
|
59
|
+
const available = [];
|
|
60
|
+
if (caps.screenshot)
|
|
61
|
+
available.push('screenshot');
|
|
62
|
+
if (caps.cursorPosition)
|
|
63
|
+
available.push('cursor_position');
|
|
64
|
+
if (caps.mouse)
|
|
65
|
+
available.push('mouse_move, mouse_click, mouse_drag, scroll');
|
|
66
|
+
if (caps.keyboard)
|
|
67
|
+
available.push('type_text, key');
|
|
68
|
+
const unavailable = [];
|
|
69
|
+
if (!caps.screenshot)
|
|
70
|
+
unavailable.push('screenshot');
|
|
71
|
+
if (!caps.cursorPosition)
|
|
72
|
+
unavailable.push('cursor_position');
|
|
73
|
+
if (!caps.mouse)
|
|
74
|
+
unavailable.push('mouse');
|
|
75
|
+
if (!caps.keyboard)
|
|
76
|
+
unavailable.push('keyboard');
|
|
77
|
+
const lines = [
|
|
78
|
+
`Controls the user's desktop on a ${caps.displayServer} host. Use to take screenshots and drive mouse/keyboard input for GUI tasks.`,
|
|
79
|
+
`Available actions: ${available.join('; ') || 'none'}.`,
|
|
80
|
+
];
|
|
81
|
+
if (unavailable.length > 0) {
|
|
82
|
+
lines.push(`Unavailable on this host: ${unavailable.join(', ')}.`);
|
|
83
|
+
}
|
|
84
|
+
lines.push('Coordinates are in logical pixels from the top-left of the primary display. Call getDisplayGeometry through screenshot output before clicking to confirm bounds.');
|
|
85
|
+
return lines.join(' ');
|
|
86
|
+
}
|
|
87
|
+
function resultToToolResult(result) {
|
|
88
|
+
switch (result.type) {
|
|
89
|
+
case 'screenshot': {
|
|
90
|
+
const { data, mimeType, width, height } = result.result;
|
|
91
|
+
return {
|
|
92
|
+
success: true,
|
|
93
|
+
output: data.toString('base64'),
|
|
94
|
+
data: { mimeType, width, height, encoding: 'base64' },
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
case 'cursor_position':
|
|
98
|
+
return {
|
|
99
|
+
success: true,
|
|
100
|
+
output: JSON.stringify(result.point),
|
|
101
|
+
data: result.point,
|
|
102
|
+
};
|
|
103
|
+
case 'ok':
|
|
104
|
+
return { success: true, output: 'ok' };
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Factory: given a ComputerUseHost (provided by the consumer — e.g.
|
|
109
|
+
* @namzu/computer-use's SubprocessComputerUseHost), returns a ToolDefinition
|
|
110
|
+
* that routes the discriminated action to the host and maps results back to
|
|
111
|
+
* the SDK's ToolResult shape.
|
|
112
|
+
*
|
|
113
|
+
* The tool's description reflects the host's frozen capabilities, and any
|
|
114
|
+
* action targeting an unavailable capability is rejected with a clear error
|
|
115
|
+
* rather than hanging or failing silently.
|
|
116
|
+
*
|
|
117
|
+
* @example
|
|
118
|
+
* ```ts
|
|
119
|
+
* import { SubprocessComputerUseHost } from '@namzu/computer-use'
|
|
120
|
+
* import { createComputerUseTool } from '@namzu/sdk'
|
|
121
|
+
*
|
|
122
|
+
* const host = new SubprocessComputerUseHost()
|
|
123
|
+
* await host.initialize?.()
|
|
124
|
+
* registry.register(createComputerUseTool(host))
|
|
125
|
+
* ```
|
|
126
|
+
*/
|
|
127
|
+
export function createComputerUseTool(host) {
|
|
128
|
+
return defineTool({
|
|
129
|
+
name: COMPUTER_USE_TOOL_NAME,
|
|
130
|
+
description: buildDescription(host),
|
|
131
|
+
inputSchema: actionSchema,
|
|
132
|
+
category: 'custom',
|
|
133
|
+
permissions: [],
|
|
134
|
+
readOnly: false,
|
|
135
|
+
destructive: (input) => DESTRUCTIVE_ACTION_TYPES.has(input.type),
|
|
136
|
+
concurrencySafe: false,
|
|
137
|
+
async execute(input, _context) {
|
|
138
|
+
const required = requiredCapability(input.type);
|
|
139
|
+
if (required !== null && host.capabilities[required] !== true) {
|
|
140
|
+
return {
|
|
141
|
+
success: false,
|
|
142
|
+
output: '',
|
|
143
|
+
error: `computer_use: action "${input.type}" requires capability "${required}" which is not available on this host (displayServer=${host.capabilities.displayServer}).`,
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
const result = await host.execute(input);
|
|
147
|
+
return resultToToolResult(result);
|
|
148
|
+
},
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=computer-use.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"computer-use.js","sourceRoot":"","sources":["../../../src/tools/builtins/computer-use.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ export { GrepTool } from './grep.js';
|
|
|
7
7
|
export { LsTool } from './ls.js';
|
|
8
8
|
export { SearchToolsTool } from './search-tools.js';
|
|
9
9
|
export { createStructuredOutputTool, STRUCTURED_OUTPUT_TOOL_NAME } from './structuredOutput.js';
|
|
10
|
+
export { createComputerUseTool, COMPUTER_USE_TOOL_NAME } from './computer-use.js';
|
|
10
11
|
import type { ToolDefinition } from '../../types/tool/index.js';
|
|
11
12
|
export declare function getBuiltinTools(): ToolDefinition[];
|
|
12
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAA;AAC/F,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAEjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAY/D,wBAAgB,eAAe,IAAI,cAAc,EAAE,CAWlD"}
|
|
@@ -7,6 +7,7 @@ export { GrepTool } from './grep.js';
|
|
|
7
7
|
export { LsTool } from './ls.js';
|
|
8
8
|
export { SearchToolsTool } from './search-tools.js';
|
|
9
9
|
export { createStructuredOutputTool, STRUCTURED_OUTPUT_TOOL_NAME } from './structuredOutput.js';
|
|
10
|
+
export { createComputerUseTool, COMPUTER_USE_TOOL_NAME } from './computer-use.js';
|
|
10
11
|
import { BashTool } from './bash.js';
|
|
11
12
|
import { EditTool } from './edit.js';
|
|
12
13
|
import { GlobTool } from './glob.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/builtins/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/builtins/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAA;AAC/F,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAGjF,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,wEAAwE;AACxE,qEAAqE;AAErE,MAAM,UAAU,eAAe;IAC9B,OAAO;QACN,YAAY;QACZ,aAAa;QACb,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,MAAM;QACN,eAAe;KACf,CAAA;AACF,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
export type DisplayServer = 'darwin' | 'win32' | 'x11' | 'wayland' | 'unknown';
|
|
2
|
+
export declare function assertDisplayServer(value: DisplayServer): void;
|
|
3
|
+
export interface ComputerUseCapabilities {
|
|
4
|
+
readonly displayServer: DisplayServer;
|
|
5
|
+
readonly screenshot: boolean;
|
|
6
|
+
readonly mouse: boolean;
|
|
7
|
+
readonly keyboard: boolean;
|
|
8
|
+
readonly cursorPosition: boolean;
|
|
9
|
+
readonly clipboard: boolean;
|
|
10
|
+
}
|
|
11
|
+
export interface DisplayGeometry {
|
|
12
|
+
readonly width: number;
|
|
13
|
+
readonly height: number;
|
|
14
|
+
readonly scaleFactor: number;
|
|
15
|
+
}
|
|
16
|
+
export interface ScreenshotResult {
|
|
17
|
+
readonly data: Buffer;
|
|
18
|
+
readonly mimeType: 'image/png';
|
|
19
|
+
readonly width: number;
|
|
20
|
+
readonly height: number;
|
|
21
|
+
}
|
|
22
|
+
export interface Point {
|
|
23
|
+
readonly x: number;
|
|
24
|
+
readonly y: number;
|
|
25
|
+
}
|
|
26
|
+
export type MouseButton = 'left' | 'right' | 'middle';
|
|
27
|
+
export type ScrollDirection = 'up' | 'down' | 'left' | 'right';
|
|
28
|
+
export type ComputerUseAction = {
|
|
29
|
+
readonly type: 'screenshot';
|
|
30
|
+
} | {
|
|
31
|
+
readonly type: 'cursor_position';
|
|
32
|
+
} | {
|
|
33
|
+
readonly type: 'mouse_move';
|
|
34
|
+
readonly to: Point;
|
|
35
|
+
} | {
|
|
36
|
+
readonly type: 'mouse_click';
|
|
37
|
+
readonly at: Point;
|
|
38
|
+
readonly button: MouseButton;
|
|
39
|
+
} | {
|
|
40
|
+
readonly type: 'mouse_drag';
|
|
41
|
+
readonly from: Point;
|
|
42
|
+
readonly to: Point;
|
|
43
|
+
readonly button: MouseButton;
|
|
44
|
+
} | {
|
|
45
|
+
readonly type: 'scroll';
|
|
46
|
+
readonly at: Point;
|
|
47
|
+
readonly direction: ScrollDirection;
|
|
48
|
+
readonly amount: number;
|
|
49
|
+
} | {
|
|
50
|
+
readonly type: 'type_text';
|
|
51
|
+
readonly text: string;
|
|
52
|
+
} | {
|
|
53
|
+
readonly type: 'key';
|
|
54
|
+
readonly keys: string;
|
|
55
|
+
};
|
|
56
|
+
export declare function assertComputerUseActionType(type: ComputerUseAction['type']): void;
|
|
57
|
+
export type ComputerUseResult = {
|
|
58
|
+
readonly type: 'screenshot';
|
|
59
|
+
readonly result: ScreenshotResult;
|
|
60
|
+
} | {
|
|
61
|
+
readonly type: 'cursor_position';
|
|
62
|
+
readonly point: Point;
|
|
63
|
+
} | {
|
|
64
|
+
readonly type: 'ok';
|
|
65
|
+
};
|
|
66
|
+
export interface ComputerUseHost {
|
|
67
|
+
readonly id: string;
|
|
68
|
+
readonly capabilities: ComputerUseCapabilities;
|
|
69
|
+
getDisplayGeometry(): Promise<DisplayGeometry>;
|
|
70
|
+
execute(action: ComputerUseAction): Promise<ComputerUseResult>;
|
|
71
|
+
initialize?(): Promise<void>;
|
|
72
|
+
dispose?(): Promise<void>;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/computer-use/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// Display server — the host environment's graphical stack
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
export function assertDisplayServer(value) {
|
|
5
|
+
switch (value) {
|
|
6
|
+
case 'darwin':
|
|
7
|
+
case 'win32':
|
|
8
|
+
case 'x11':
|
|
9
|
+
case 'wayland':
|
|
10
|
+
case 'unknown':
|
|
11
|
+
return;
|
|
12
|
+
default: {
|
|
13
|
+
const _exhaustive = value;
|
|
14
|
+
throw new Error(`Unknown DisplayServer: ${_exhaustive}`);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export function assertComputerUseActionType(type) {
|
|
19
|
+
switch (type) {
|
|
20
|
+
case 'screenshot':
|
|
21
|
+
case 'cursor_position':
|
|
22
|
+
case 'mouse_move':
|
|
23
|
+
case 'mouse_click':
|
|
24
|
+
case 'mouse_drag':
|
|
25
|
+
case 'scroll':
|
|
26
|
+
case 'type_text':
|
|
27
|
+
case 'key':
|
|
28
|
+
return;
|
|
29
|
+
default: {
|
|
30
|
+
const _exhaustive = type;
|
|
31
|
+
throw new Error(`Unknown ComputerUseAction type: ${_exhaustive}`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/computer-use/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,0DAA0D;AAC1D,8EAA8E;AAI9E,MAAM,UAAU,mBAAmB,CAAC,KAAoB;IACvD,QAAQ,KAAK,EAAE,CAAC;QACf,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO,CAAC;QACb,KAAK,KAAK,CAAC;QACX,KAAK,SAAS,CAAC;QACf,KAAK,SAAS;YACb,OAAM;QACP,OAAO,CAAC,CAAC,CAAC;YACT,MAAM,WAAW,GAAU,KAAK,CAAA;YAChC,MAAM,IAAI,KAAK,CAAC,0BAA0B,WAAW,EAAE,CAAC,CAAA;QACzD,CAAC;IACF,CAAC;AACF,CAAC;AAiED,MAAM,UAAU,2BAA2B,CAAC,IAA+B;IAC1E,QAAQ,IAAI,EAAE,CAAC;QACd,KAAK,YAAY,CAAC;QAClB,KAAK,iBAAiB,CAAC;QACvB,KAAK,YAAY,CAAC;QAClB,KAAK,aAAa,CAAC;QACnB,KAAK,YAAY,CAAC;QAClB,KAAK,QAAQ,CAAC;QACd,KAAK,WAAW,CAAC;QACjB,KAAK,KAAK;YACT,OAAM;QACP,OAAO,CAAC,CAAC,CAAC;YACT,MAAM,WAAW,GAAU,IAAI,CAAA;YAC/B,MAAM,IAAI,KAAK,CAAC,mCAAmC,WAAW,EAAE,CAAC,CAAA;QAClE,CAAC;IACF,CAAC;AACF,CAAC"}
|
|
@@ -66,13 +66,13 @@ export declare const PluginMCPServerConfigSchema: z.ZodObject<{
|
|
|
66
66
|
}, "strip", z.ZodTypeAny, {
|
|
67
67
|
name: string;
|
|
68
68
|
command: string;
|
|
69
|
-
env?: Record<string, string> | undefined;
|
|
70
69
|
args?: string[] | undefined;
|
|
70
|
+
env?: Record<string, string> | undefined;
|
|
71
71
|
}, {
|
|
72
72
|
name: string;
|
|
73
73
|
command: string;
|
|
74
|
-
env?: Record<string, string> | undefined;
|
|
75
74
|
args?: string[] | undefined;
|
|
75
|
+
env?: Record<string, string> | undefined;
|
|
76
76
|
}>;
|
|
77
77
|
export declare const PluginManifestSchema: z.ZodObject<{
|
|
78
78
|
name: z.ZodString;
|
|
@@ -90,13 +90,13 @@ export declare const PluginManifestSchema: z.ZodObject<{
|
|
|
90
90
|
}, "strip", z.ZodTypeAny, {
|
|
91
91
|
name: string;
|
|
92
92
|
command: string;
|
|
93
|
-
env?: Record<string, string> | undefined;
|
|
94
93
|
args?: string[] | undefined;
|
|
94
|
+
env?: Record<string, string> | undefined;
|
|
95
95
|
}, {
|
|
96
96
|
name: string;
|
|
97
97
|
command: string;
|
|
98
|
-
env?: Record<string, string> | undefined;
|
|
99
98
|
args?: string[] | undefined;
|
|
99
|
+
env?: Record<string, string> | undefined;
|
|
100
100
|
}>, "many">>;
|
|
101
101
|
connectors: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
102
102
|
personas: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
@@ -104,34 +104,34 @@ export declare const PluginManifestSchema: z.ZodObject<{
|
|
|
104
104
|
name: string;
|
|
105
105
|
version: string;
|
|
106
106
|
description: string;
|
|
107
|
-
skills?: string[] | undefined;
|
|
108
|
-
tools?: string[] | undefined;
|
|
109
|
-
connectors?: string[] | undefined;
|
|
110
|
-
personas?: string[] | undefined;
|
|
111
107
|
author?: string | undefined;
|
|
108
|
+
tools?: string[] | undefined;
|
|
109
|
+
skills?: string[] | undefined;
|
|
112
110
|
hooks?: string[] | undefined;
|
|
113
111
|
mcpServers?: {
|
|
114
112
|
name: string;
|
|
115
113
|
command: string;
|
|
116
|
-
env?: Record<string, string> | undefined;
|
|
117
114
|
args?: string[] | undefined;
|
|
115
|
+
env?: Record<string, string> | undefined;
|
|
118
116
|
}[] | undefined;
|
|
117
|
+
connectors?: string[] | undefined;
|
|
118
|
+
personas?: string[] | undefined;
|
|
119
119
|
}, {
|
|
120
120
|
name: string;
|
|
121
121
|
version: string;
|
|
122
122
|
description: string;
|
|
123
|
-
skills?: string[] | undefined;
|
|
124
|
-
tools?: string[] | undefined;
|
|
125
|
-
connectors?: string[] | undefined;
|
|
126
|
-
personas?: string[] | undefined;
|
|
127
123
|
author?: string | undefined;
|
|
124
|
+
tools?: string[] | undefined;
|
|
125
|
+
skills?: string[] | undefined;
|
|
128
126
|
hooks?: string[] | undefined;
|
|
129
127
|
mcpServers?: {
|
|
130
128
|
name: string;
|
|
131
129
|
command: string;
|
|
132
|
-
env?: Record<string, string> | undefined;
|
|
133
130
|
args?: string[] | undefined;
|
|
131
|
+
env?: Record<string, string> | undefined;
|
|
134
132
|
}[] | undefined;
|
|
133
|
+
connectors?: string[] | undefined;
|
|
134
|
+
personas?: string[] | undefined;
|
|
135
135
|
}>;
|
|
136
136
|
export interface PluginDefinition {
|
|
137
137
|
readonly id: PluginId;
|
|
@@ -48,16 +48,16 @@ export declare const SandboxConfigSchema: z.ZodObject<{
|
|
|
48
48
|
maxProcesses: z.ZodDefault<z.ZodNumber>;
|
|
49
49
|
cleanupOnDestroy: z.ZodDefault<z.ZodBoolean>;
|
|
50
50
|
}, "strip", z.ZodTypeAny, {
|
|
51
|
+
enabled: boolean;
|
|
51
52
|
provider: "local";
|
|
52
53
|
timeoutMs: number;
|
|
53
|
-
enabled: boolean;
|
|
54
54
|
memoryLimitMb: number;
|
|
55
55
|
maxProcesses: number;
|
|
56
56
|
cleanupOnDestroy: boolean;
|
|
57
57
|
}, {
|
|
58
|
+
enabled?: boolean | undefined;
|
|
58
59
|
provider?: "local" | undefined;
|
|
59
60
|
timeoutMs?: number | undefined;
|
|
60
|
-
enabled?: boolean | undefined;
|
|
61
61
|
memoryLimitMb?: number | undefined;
|
|
62
62
|
maxProcesses?: number | undefined;
|
|
63
63
|
cleanupOnDestroy?: boolean | undefined;
|