@moxxy/plugin-computer-control 0.26.0 → 0.27.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"applescript.d.ts","sourceRoot":"","sources":["../../src/tools/applescript.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,8BAqC1B,CAAC"}
1
+ {"version":3,"file":"applescript.d.ts","sourceRoot":"","sources":["../../src/tools/applescript.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,8BAiD1B,CAAC"}
@@ -16,6 +16,18 @@ export const applescriptTool = defineTool({
16
16
  'For JavaScript for Automation, prefix with `#!/usr/bin/osascript -l JavaScript`'),
17
17
  }),
18
18
  permission: { action: 'prompt' },
19
+ // Arbitrary AppleScript is an escape hatch on par with a shell: the script
20
+ // can itself shell out (`do shell script`) and reach the network, so the
21
+ // honest bounds are subprocess + any net — a confining isolator must not
22
+ // assume osascript stays offline. Budget = the 30s child timeout + kill grace.
23
+ isolation: {
24
+ capabilities: {
25
+ subprocess: true,
26
+ commands: ['osascript'],
27
+ net: { mode: 'any' },
28
+ timeMs: 40_000,
29
+ },
30
+ },
19
31
  async handler({ script }, ctx) {
20
32
  ensureDarwin('computer_applescript');
21
33
  const proc = await runProcess('osascript', ['-e', script], {
@@ -1 +1 @@
1
- {"version":3,"file":"applescript.js","sourceRoot":"","sources":["../../src/tools/applescript.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzE,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;IACxC,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EACT,0EAA0E;QAC1E,0EAA0E;QAC1E,8EAA8E;QAC9E,0EAA0E;QAC1E,iCAAiC;IACnC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,IAAI,CAAC;aACT,QAAQ,CACP,0EAA0E;YACxE,iFAAiF,CACpF;KACJ,CAAC;IACF,UAAU,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;IAChC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG;QAC3B,YAAY,CAAC,sBAAsB,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;YACzD,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,SAAS,EAAE,MAAM;SAClB,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC7C,MAAM,IAAI,UAAU,CAAC;gBACnB,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,KAAK;oBACZ,CAAC,CAAC,aAAa,KAAK,EAAE;oBACtB,CAAC,CAAC,0BAA0B,IAAI,CAAC,QAAQ,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,oBAAoB,EAAE;gBAC7F,OAAO,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;aACpG,CAAC,CAAC;QACL,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;IAClD,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"applescript.js","sourceRoot":"","sources":["../../src/tools/applescript.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzE,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;IACxC,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EACT,0EAA0E;QAC1E,0EAA0E;QAC1E,8EAA8E;QAC9E,0EAA0E;QAC1E,iCAAiC;IACnC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,IAAI,CAAC;aACT,QAAQ,CACP,0EAA0E;YACxE,iFAAiF,CACpF;KACJ,CAAC;IACF,UAAU,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;IAChC,2EAA2E;IAC3E,yEAAyE;IACzE,yEAAyE;IACzE,+EAA+E;IAC/E,SAAS,EAAE;QACT,YAAY,EAAE;YACZ,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,CAAC,WAAW,CAAC;YACvB,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YACpB,MAAM,EAAE,MAAM;SACf;KACF;IACD,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG;QAC3B,YAAY,CAAC,sBAAsB,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;YACzD,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,SAAS,EAAE,MAAM;SAClB,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC7C,MAAM,IAAI,UAAU,CAAC;gBACnB,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,KAAK;oBACZ,CAAC,CAAC,aAAa,KAAK,EAAE;oBACtB,CAAC,CAAC,0BAA0B,IAAI,CAAC,QAAQ,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,oBAAoB,EAAE;gBAC7F,OAAO,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;aACpG,CAAC,CAAC;QACL,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;IAClD,CAAC;CACF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"click.d.ts","sourceRoot":"","sources":["../../src/tools/click.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,SAAS,8BAgDpB,CAAC"}
1
+ {"version":3,"file":"click.d.ts","sourceRoot":"","sources":["../../src/tools/click.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,SAAS,8BAwDpB,CAAC"}
@@ -18,6 +18,14 @@ export const clickTool = defineTool({
18
18
  .describe('Number of consecutive clicks. 1 = single, 2 = double, 3 = triple. Default 1.'),
19
19
  }),
20
20
  permission: { action: 'prompt' },
21
+ isolation: {
22
+ capabilities: {
23
+ subprocess: true,
24
+ commands: ['osascript'],
25
+ net: { mode: 'none' },
26
+ timeMs: 15_000,
27
+ },
28
+ },
21
29
  async handler({ x, y, count }, ctx) {
22
30
  ensureDarwin('computer_click');
23
31
  const n = count ?? 1;
@@ -1 +1 @@
1
- {"version":3,"file":"click.js","sourceRoot":"","sources":["../../src/tools/click.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzE,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAC;IAClC,IAAI,EAAE,gBAAgB;IACtB,WAAW,EACT,4EAA4E;QAC5E,8EAA8E;QAC9E,6EAA6E;QAC7E,4CAA4C;IAC9C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,2CAA2C,CAAC;QAChF,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,2CAA2C,CAAC;QAChF,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,EAAE;aACV,QAAQ,CAAC,8EAA8E,CAAC;KAC5F,CAAC;IACF,UAAU,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;IAChC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG;QAChC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QAC/B,MAAM,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;QACrB,8DAA8D;QAC9D,0DAA0D;QAC1D,8DAA8D;QAC9D,aAAa;QACb,MAAM,MAAM,GACV,oCAAoC;YACpC,YAAY,CAAC,UAAU;YACvB,iBAAiB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;YACrD,gBAAgB;YAChB,UAAU,CAAC;QACb,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;YACzD,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,SAAS,EAAE,MAAM;SAClB,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC7C,MAAM,IAAI,UAAU,CAAC;gBACnB,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,KAAK;oBACZ,CAAC,CAAC,SAAS,KAAK,EAAE;oBAClB,CAAC,CAAC,sBAAsB,IAAI,CAAC,QAAQ,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,0FAA0F,EAAE;gBAC/J,OAAO,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;aAC9F,CAAC,CAAC;QACL,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IACtC,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"click.js","sourceRoot":"","sources":["../../src/tools/click.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzE,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAC;IAClC,IAAI,EAAE,gBAAgB;IACtB,WAAW,EACT,4EAA4E;QAC5E,8EAA8E;QAC9E,6EAA6E;QAC7E,4CAA4C;IAC9C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,2CAA2C,CAAC;QAChF,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,2CAA2C,CAAC;QAChF,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,EAAE;aACV,QAAQ,CAAC,8EAA8E,CAAC;KAC5F,CAAC;IACF,UAAU,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;IAChC,SAAS,EAAE;QACT,YAAY,EAAE;YACZ,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,CAAC,WAAW,CAAC;YACvB,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACrB,MAAM,EAAE,MAAM;SACf;KACF;IACD,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG;QAChC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QAC/B,MAAM,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;QACrB,8DAA8D;QAC9D,0DAA0D;QAC1D,8DAA8D;QAC9D,aAAa;QACb,MAAM,MAAM,GACV,oCAAoC;YACpC,YAAY,CAAC,UAAU;YACvB,iBAAiB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;YACrD,gBAAgB;YAChB,UAAU,CAAC;QACb,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE;YACzD,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,SAAS,EAAE,MAAM;SAClB,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC7C,MAAM,IAAI,UAAU,CAAC;gBACnB,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,KAAK;oBACZ,CAAC,CAAC,SAAS,KAAK,EAAE;oBAClB,CAAC,CAAC,sBAAsB,IAAI,CAAC,QAAQ,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,0FAA0F,EAAE;gBAC/J,OAAO,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;aAC9F,CAAC,CAAC;QACL,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IACtC,CAAC;CACF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"clipboard.d.ts","sourceRoot":"","sources":["../../src/tools/clipboard.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,8BA2DxB,CAAC"}
1
+ {"version":3,"file":"clipboard.d.ts","sourceRoot":"","sources":["../../src/tools/clipboard.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,8BAmExB,CAAC"}
@@ -15,6 +15,14 @@ export const clipboardTool = defineTool({
15
15
  .describe('Text to put on the clipboard. Required when action="write".'),
16
16
  }),
17
17
  permission: { action: 'prompt' },
18
+ isolation: {
19
+ capabilities: {
20
+ subprocess: true,
21
+ commands: ['pbpaste', 'pbcopy'],
22
+ net: { mode: 'none' },
23
+ timeMs: 10_000,
24
+ },
25
+ },
18
26
  async handler({ action, text }, ctx) {
19
27
  ensureDarwin('computer_clipboard');
20
28
  if (action === 'read') {
@@ -1 +1 @@
1
- {"version":3,"file":"clipboard.js","sourceRoot":"","sources":["../../src/tools/clipboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clipboard.js","sourceRoot":"","sources":["../../src/tools/clipboard.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"key.d.ts","sourceRoot":"","sources":["../../src/tools/key.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,cAAc,gDAAiD,CAAC;AACtE,KAAK,QAAQ,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAoDhD,eAAO,MAAM,OAAO,8BA2ClB,CAAC;AAEH;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,MAAM,CAyBtF"}
1
+ {"version":3,"file":"key.d.ts","sourceRoot":"","sources":["../../src/tools/key.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,cAAc,gDAAiD,CAAC;AACtE,KAAK,QAAQ,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAoDhD,eAAO,MAAM,OAAO,8BAmDlB,CAAC;AAEH;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,MAAM,CAyBtF"}
package/dist/tools/key.js CHANGED
@@ -67,6 +67,14 @@ export const keyTool = defineTool({
67
67
  .describe('Held modifiers. Common combos: ["cmd"] for cmd+key, ["cmd","shift"], ["control","option"].'),
68
68
  }),
69
69
  permission: { action: 'prompt' },
70
+ isolation: {
71
+ capabilities: {
72
+ subprocess: true,
73
+ commands: ['osascript'],
74
+ net: { mode: 'none' },
75
+ timeMs: 15_000,
76
+ },
77
+ },
70
78
  async handler({ key, modifiers }, ctx) {
71
79
  ensureDarwin('computer_key');
72
80
  const mods = modifiers ?? [];
@@ -1 +1 @@
1
- {"version":3,"file":"key.js","sourceRoot":"","sources":["../../src/tools/key.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"key.js","sourceRoot":"","sources":["../../src/tools/key.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"open.d.ts","sourceRoot":"","sources":["../../src/tools/open.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,QAAQ,8BA6EnB,CAAC"}
1
+ {"version":3,"file":"open.d.ts","sourceRoot":"","sources":["../../src/tools/open.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,QAAQ,8BA2FnB,CAAC"}
@@ -21,6 +21,20 @@ export const openTool = defineTool({
21
21
  .optional(),
22
22
  }),
23
23
  permission: { action: 'prompt' },
24
+ // `open` only messages LaunchServices: the file read / URL navigation happens
25
+ // in the launched app, outside this process tree — hence net 'none'. The
26
+ // broad fs.read is honest for this tool: any user-approved path is a
27
+ // legitimate `target`, and the cap check validates path-shaped inputs
28
+ // against these globs.
29
+ isolation: {
30
+ capabilities: {
31
+ subprocess: true,
32
+ commands: ['open'],
33
+ fs: { read: ['/**'] },
34
+ net: { mode: 'none' },
35
+ timeMs: 15_000,
36
+ },
37
+ },
24
38
  async handler({ target, app }, ctx) {
25
39
  ensureDarwin('computer_open');
26
40
  if (!target && !app) {
@@ -1 +1 @@
1
- {"version":3,"file":"open.js","sourceRoot":"","sources":["../../src/tools/open.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"open.js","sourceRoot":"","sources":["../../src/tools/open.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../src/tools/screenshot.ts"],"names":[],"mappings":"AA4BA,eAAO,MAAM,cAAc,8BAwJzB,CAAC"}
1
+ {"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../src/tools/screenshot.ts"],"names":[],"mappings":"AA4BA,eAAO,MAAM,cAAc,8BAoKzB,CAAC"}
@@ -56,6 +56,18 @@ export const screenshotTool = defineTool({
56
56
  .describe(`JPEG quality (1-100). Default ${DEFAULT_JPEG_QUALITY}. Ignored for PNG output.`),
57
57
  }),
58
58
  permission: { action: 'prompt' },
59
+ // Capture + resize round-trips through temp files under os.tmpdir()
60
+ // (which is /var/folders/... on macOS, not /tmp). Budget covers the two
61
+ // 15s child stages plus encode/cleanup.
62
+ isolation: {
63
+ capabilities: {
64
+ subprocess: true,
65
+ commands: ['screencapture', 'sips'],
66
+ fs: { read: [`${os.tmpdir()}/**`], write: [`${os.tmpdir()}/**`] },
67
+ net: { mode: 'none' },
68
+ timeMs: 45_000,
69
+ },
70
+ },
59
71
  async handler({ region, maxDim, format, quality }, ctx) {
60
72
  ensureDarwin('computer_screenshot');
61
73
  const fmt = format ?? DEFAULT_FORMAT;
@@ -1 +1 @@
1
- {"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../src/tools/screenshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../src/tools/screenshot.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/tools/type.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,QAAQ,8BAwCnB,CAAC;AAEH;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CASrD"}
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/tools/type.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,QAAQ,8BAgDnB,CAAC;AAEH;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CASrD"}
@@ -13,6 +13,14 @@ export const typeTool = defineTool({
13
13
  'Pre-existing focus is the target — click first if needed.'),
14
14
  }),
15
15
  permission: { action: 'prompt' },
16
+ isolation: {
17
+ capabilities: {
18
+ subprocess: true,
19
+ commands: ['osascript'],
20
+ net: { mode: 'none' },
21
+ timeMs: 40_000,
22
+ },
23
+ },
16
24
  async handler({ text }, ctx) {
17
25
  ensureDarwin('computer_type');
18
26
  if (text.length === 0)
@@ -1 +1 @@
1
- {"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/tools/type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzE,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAC;IACjC,IAAI,EAAE,eAAe;IACrB,WAAW,EACT,yEAAyE;QACzE,6EAA6E;QAC7E,yEAAyE;IAC3E,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,GAAG,CAAC,IAAI,CAAC;aACT,QAAQ,CACP,+DAA+D;YAC7D,2DAA2D,CAC9D;KACJ,CAAC;IACF,UAAU,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;IAChC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,GAAG;QACzB,YAAY,CAAC,eAAe,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QACtD,oEAAoE;QACpE,gEAAgE;QAChE,8CAA8C;QAC9C,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,YAAY,GAAG,iDAAiD,OAAO,EAAE,CAAC;QAChF,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE;YAC/D,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,SAAS,EAAE,MAAM;SAClB,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC7C,MAAM,IAAI,UAAU,CAAC;gBACnB,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,KAAK;oBACZ,CAAC,CAAC,QAAQ,KAAK,EAAE;oBACjB,CAAC,CAAC,qBAAqB,IAAI,CAAC,QAAQ,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,kCAAkC,EAAE;gBACtG,OAAO,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;aAC7F,CAAC,CAAC;QACL,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IAC3C,CAAC;CACF,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,CAAS;IAC3C,mEAAmE;IACnE,qEAAqE;IACrE,gEAAgE;IAChE,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACjE,OAAO,IAAI,OAAO,GAAG,CAAC;IACxB,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/tools/type.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moxxy/plugin-computer-control",
3
- "version": "0.26.0",
3
+ "version": "0.27.0",
4
4
  "description": "Programmatic control of the host computer (macOS only for now): screenshot, click, type, key, open, clipboard, applescript. Every tool prompts for permission.",
5
5
  "keywords": [
6
6
  "moxxy",
@@ -47,7 +47,7 @@
47
47
  },
48
48
  "dependencies": {
49
49
  "zod": "^3.24.0",
50
- "@moxxy/sdk": "0.26.0"
50
+ "@moxxy/sdk": "0.27.0"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@types/node": "^22.10.0",
@@ -20,6 +20,18 @@ export const applescriptTool = defineTool({
20
20
  ),
21
21
  }),
22
22
  permission: { action: 'prompt' },
23
+ // Arbitrary AppleScript is an escape hatch on par with a shell: the script
24
+ // can itself shell out (`do shell script`) and reach the network, so the
25
+ // honest bounds are subprocess + any net — a confining isolator must not
26
+ // assume osascript stays offline. Budget = the 30s child timeout + kill grace.
27
+ isolation: {
28
+ capabilities: {
29
+ subprocess: true,
30
+ commands: ['osascript'],
31
+ net: { mode: 'any' },
32
+ timeMs: 40_000,
33
+ },
34
+ },
23
35
  async handler({ script }, ctx) {
24
36
  ensureDarwin('computer_applescript');
25
37
  const proc = await runProcess('osascript', ['-e', script], {
@@ -20,6 +20,14 @@ export const clickTool = defineTool({
20
20
  .describe('Number of consecutive clicks. 1 = single, 2 = double, 3 = triple. Default 1.'),
21
21
  }),
22
22
  permission: { action: 'prompt' },
23
+ isolation: {
24
+ capabilities: {
25
+ subprocess: true,
26
+ commands: ['osascript'],
27
+ net: { mode: 'none' },
28
+ timeMs: 15_000,
29
+ },
30
+ },
23
31
  async handler({ x, y, count }, ctx) {
24
32
  ensureDarwin('computer_click');
25
33
  const n = count ?? 1;
@@ -17,6 +17,14 @@ export const clipboardTool = defineTool({
17
17
  .describe('Text to put on the clipboard. Required when action="write".'),
18
18
  }),
19
19
  permission: { action: 'prompt' },
20
+ isolation: {
21
+ capabilities: {
22
+ subprocess: true,
23
+ commands: ['pbpaste', 'pbcopy'],
24
+ net: { mode: 'none' },
25
+ timeMs: 10_000,
26
+ },
27
+ },
20
28
  async handler({ action, text }, ctx) {
21
29
  ensureDarwin('computer_clipboard');
22
30
  if (action === 'read') {
package/src/tools/key.ts CHANGED
@@ -77,6 +77,14 @@ export const keyTool = defineTool({
77
77
  ),
78
78
  }),
79
79
  permission: { action: 'prompt' },
80
+ isolation: {
81
+ capabilities: {
82
+ subprocess: true,
83
+ commands: ['osascript'],
84
+ net: { mode: 'none' },
85
+ timeMs: 15_000,
86
+ },
87
+ },
80
88
  async handler({ key, modifiers }, ctx) {
81
89
  ensureDarwin('computer_key');
82
90
  const mods = modifiers ?? [];
package/src/tools/open.ts CHANGED
@@ -27,6 +27,20 @@ export const openTool = defineTool({
27
27
  .optional(),
28
28
  }),
29
29
  permission: { action: 'prompt' },
30
+ // `open` only messages LaunchServices: the file read / URL navigation happens
31
+ // in the launched app, outside this process tree — hence net 'none'. The
32
+ // broad fs.read is honest for this tool: any user-approved path is a
33
+ // legitimate `target`, and the cap check validates path-shaped inputs
34
+ // against these globs.
35
+ isolation: {
36
+ capabilities: {
37
+ subprocess: true,
38
+ commands: ['open'],
39
+ fs: { read: ['/**'] },
40
+ net: { mode: 'none' },
41
+ timeMs: 15_000,
42
+ },
43
+ },
30
44
  async handler({ target, app }, ctx) {
31
45
  ensureDarwin('computer_open');
32
46
  if (!target && !app) {
@@ -68,6 +68,18 @@ export const screenshotTool = defineTool({
68
68
  ),
69
69
  }),
70
70
  permission: { action: 'prompt' },
71
+ // Capture + resize round-trips through temp files under os.tmpdir()
72
+ // (which is /var/folders/... on macOS, not /tmp). Budget covers the two
73
+ // 15s child stages plus encode/cleanup.
74
+ isolation: {
75
+ capabilities: {
76
+ subprocess: true,
77
+ commands: ['screencapture', 'sips'],
78
+ fs: { read: [`${os.tmpdir()}/**`], write: [`${os.tmpdir()}/**`] },
79
+ net: { mode: 'none' },
80
+ timeMs: 45_000,
81
+ },
82
+ },
71
83
  async handler({ region, maxDim, format, quality }, ctx) {
72
84
  ensureDarwin('computer_screenshot');
73
85
  const fmt = format ?? DEFAULT_FORMAT;
package/src/tools/type.ts CHANGED
@@ -17,6 +17,14 @@ export const typeTool = defineTool({
17
17
  ),
18
18
  }),
19
19
  permission: { action: 'prompt' },
20
+ isolation: {
21
+ capabilities: {
22
+ subprocess: true,
23
+ commands: ['osascript'],
24
+ net: { mode: 'none' },
25
+ timeMs: 40_000,
26
+ },
27
+ },
20
28
  async handler({ text }, ctx) {
21
29
  ensureDarwin('computer_type');
22
30
  if (text.length === 0) return { ok: true, length: 0 };