@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.
Files changed (38) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +314 -669
  3. package/dist/bridge/tools/connector/adapter.d.ts +2 -2
  4. package/dist/config/runtime.d.ts +52 -52
  5. package/dist/connector/builtins/webhook.d.ts +1 -1
  6. package/dist/contracts/a2a.d.ts +125 -125
  7. package/dist/contracts/schemas.d.ts +34 -34
  8. package/dist/index.d.ts +2 -0
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +2 -0
  11. package/dist/index.js.map +1 -1
  12. package/dist/tools/builtins/__tests__/computer-use.test.d.ts +2 -0
  13. package/dist/tools/builtins/__tests__/computer-use.test.d.ts.map +1 -0
  14. package/dist/tools/builtins/__tests__/computer-use.test.js +146 -0
  15. package/dist/tools/builtins/__tests__/computer-use.test.js.map +1 -0
  16. package/dist/tools/builtins/__tests__/structuredOutput.example.d.ts +10 -10
  17. package/dist/tools/builtins/computer-use.d.ts +185 -0
  18. package/dist/tools/builtins/computer-use.d.ts.map +1 -0
  19. package/dist/tools/builtins/computer-use.js +151 -0
  20. package/dist/tools/builtins/computer-use.js.map +1 -0
  21. package/dist/tools/builtins/index.d.ts +1 -0
  22. package/dist/tools/builtins/index.d.ts.map +1 -1
  23. package/dist/tools/builtins/index.js +1 -0
  24. package/dist/tools/builtins/index.js.map +1 -1
  25. package/dist/tools/builtins/ls.d.ts +1 -1
  26. package/dist/types/computer-use/index.d.ts +74 -0
  27. package/dist/types/computer-use/index.d.ts.map +1 -0
  28. package/dist/types/computer-use/index.js +35 -0
  29. package/dist/types/computer-use/index.js.map +1 -0
  30. package/dist/types/plugin/index.d.ts +14 -14
  31. package/dist/types/sandbox/index.d.ts +2 -2
  32. package/dist/types/verification/index.d.ts +18 -18
  33. package/package.json +19 -21
  34. package/src/index.ts +5 -0
  35. package/src/tools/builtins/__tests__/computer-use.test.ts +188 -0
  36. package/src/tools/builtins/computer-use.ts +165 -0
  37. package/src/tools/builtins/index.ts +1 -0
  38. 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;AAE/F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAY/D,wBAAgB,eAAe,IAAI,cAAc,EAAE,CAWlD"}
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;AAG/F,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"}
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"}
@@ -1,7 +1,7 @@
1
1
  export declare const LsTool: import("../../index.js").ToolDefinition<{
2
2
  path: string;
3
- all: boolean;
4
3
  recursive: boolean;
4
+ all: boolean;
5
5
  max_depth: number;
6
6
  }>;
7
7
  //# sourceMappingURL=ls.d.ts.map
@@ -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;