patchwork-os 1.2.0-beta.3.canary.920 → 1.2.0-beta.3.canary.921

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,10 +1,16 @@
1
1
  import { execFile } from "node:child_process";
2
- import { promisify } from "node:util";
3
2
  import { ExtensionTimeoutError, } from "../extensionClient.js";
4
3
  import { error, successStructured } from "./utils.js";
5
- const execFileAsync = promisify(execFile);
6
4
  const MAX_CLIPBOARD_BYTES = 100 * 1024; // 100 KB
7
5
  const MAX_WRITE_BYTES = 1024 * 1024; // 1 MB (documented limit for writeClipboard)
6
+ /**
7
+ * Upper bound on one native clipboard command. Without it a child that never
8
+ * exits (a cold or wedged PowerShell on a loaded Windows host, a clipboard
9
+ * held open by another process) left the tool call pending forever, so the
10
+ * MCP client got no reply at all. Linux may try two tools, so the worst case
11
+ * is twice this.
12
+ */
13
+ export const NATIVE_CLIPBOARD_TIMEOUT_MS = 3_000;
8
14
  /**
9
15
  * Truncate a string so that its UTF-8 byte length does not exceed `maxBytes`.
10
16
  * String.slice() counts UTF-16 code units, not bytes, so for content with
@@ -23,17 +29,41 @@ function truncateToBytes(str, maxBytes) {
23
29
  }
24
30
  return str.slice(0, len);
25
31
  }
32
+ /**
33
+ * Run a native clipboard command, optionally piping `input` to stdin.
34
+ * Rejects (and kills the child) after NATIVE_CLIPBOARD_TIMEOUT_MS. The bound
35
+ * is our own timer rather than execFile's `timeout` option, because that
36
+ * option only settles once the killed child actually exits.
37
+ */
38
+ function runNative(cmd, args, input) {
39
+ return new Promise((resolve, reject) => {
40
+ let timer;
41
+ const proc = execFile(cmd, args, { windowsHide: true }, (err, stdout) => {
42
+ clearTimeout(timer);
43
+ if (err)
44
+ reject(err);
45
+ else
46
+ resolve(String(stdout));
47
+ });
48
+ timer = setTimeout(() => {
49
+ proc.kill();
50
+ reject(new Error(`${cmd} timed out`));
51
+ }, NATIVE_CLIPBOARD_TIMEOUT_MS);
52
+ if (input !== undefined)
53
+ proc.stdin?.end(input);
54
+ });
55
+ }
26
56
  /** Read clipboard text using platform-native CLI tools. */
27
57
  async function nativeReadClipboard() {
28
58
  try {
29
59
  if (process.platform === "darwin") {
30
- const { stdout } = await execFileAsync("pbpaste");
60
+ const stdout = await runNative("pbpaste", []);
31
61
  return truncateToBytes(stdout, MAX_CLIPBOARD_BYTES);
32
62
  }
33
63
  if (process.platform === "linux") {
34
64
  // xclip preferred; fall back to xsel
35
65
  try {
36
- const { stdout } = await execFileAsync("xclip", [
66
+ const stdout = await runNative("xclip", [
37
67
  "-selection",
38
68
  "clipboard",
39
69
  "-o",
@@ -41,15 +71,12 @@ async function nativeReadClipboard() {
41
71
  return truncateToBytes(stdout, MAX_CLIPBOARD_BYTES);
42
72
  }
43
73
  catch {
44
- const { stdout } = await execFileAsync("xsel", [
45
- "--clipboard",
46
- "--output",
47
- ]);
74
+ const stdout = await runNative("xsel", ["--clipboard", "--output"]);
48
75
  return truncateToBytes(stdout, MAX_CLIPBOARD_BYTES);
49
76
  }
50
77
  }
51
78
  if (process.platform === "win32") {
52
- const { stdout } = await execFileAsync("powershell", [
79
+ const stdout = await runNative("powershell", [
53
80
  "-NoProfile",
54
81
  "-Command",
55
82
  "Get-Clipboard",
@@ -58,7 +85,7 @@ async function nativeReadClipboard() {
58
85
  }
59
86
  }
60
87
  catch {
61
- // tool not available or clipboard empty
88
+ // tool not available, clipboard empty, or timed out
62
89
  }
63
90
  return null;
64
91
  }
@@ -66,38 +93,26 @@ async function nativeReadClipboard() {
66
93
  async function nativeWriteClipboard(text) {
67
94
  try {
68
95
  if (process.platform === "darwin") {
69
- await new Promise((resolve, reject) => {
70
- const proc = execFile("pbcopy", (err) => err ? reject(err) : resolve());
71
- proc.stdin?.end(text);
72
- });
96
+ await runNative("pbcopy", [], text);
73
97
  return true;
74
98
  }
75
99
  if (process.platform === "linux") {
76
- const writeVia = async (cmd, args) => {
77
- await new Promise((resolve, reject) => {
78
- const proc = execFile(cmd, args, (err) => err ? reject(err) : resolve());
79
- proc.stdin?.end(text);
80
- });
81
- };
82
100
  try {
83
- await writeVia("xclip", ["-selection", "clipboard"]);
101
+ await runNative("xclip", ["-selection", "clipboard"], text);
84
102
  }
85
103
  catch {
86
- await writeVia("xsel", ["--clipboard", "--input"]);
104
+ await runNative("xsel", ["--clipboard", "--input"], text);
87
105
  }
88
106
  return true;
89
107
  }
90
108
  if (process.platform === "win32") {
91
- await new Promise((resolve, reject) => {
92
- // Use clip.exe — ships with all Windows versions
93
- const proc = execFile("clip", (err) => (err ? reject(err) : resolve()));
94
- proc.stdin?.end(text);
95
- });
109
+ // Use clip.exe — ships with all Windows versions
110
+ await runNative("clip", [], text);
96
111
  return true;
97
112
  }
98
113
  }
99
114
  catch {
100
- // tool not available
115
+ // tool not available or timed out
101
116
  }
102
117
  return false;
103
118
  }
@@ -1 +1 @@
1
- {"version":3,"file":"clipboard.js","sourceRoot":"","sources":["../../src/tools/clipboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAEL,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEtD,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,MAAM,mBAAmB,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,SAAS;AACjD,MAAM,eAAe,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,6CAA6C;AAElF;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,GAAW,EAAE,QAAgB;IACpD,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,QAAQ;QAAE,OAAO,GAAG,CAAC;IAC3D,qEAAqE;IACrE,gFAAgF;IAChF,IAAI,GAAG,GAAG,QAAQ,CAAC;IACnB,OAAO,GAAG,GAAG,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,QAAQ,EAAE,CAAC;QAC1E,GAAG,EAAE,CAAC;IACR,CAAC;IACD,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,2DAA2D;AAC3D,KAAK,UAAU,mBAAmB;IAChC,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC;YAClD,OAAO,eAAe,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,qCAAqC;YACrC,IAAI,CAAC;gBACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE;oBAC9C,YAAY;oBACZ,WAAW;oBACX,IAAI;iBACL,CAAC,CAAC;gBACH,OAAO,eAAe,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;YACtD,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE;oBAC7C,aAAa;oBACb,UAAU;iBACX,CAAC,CAAC;gBACH,OAAO,eAAe,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,YAAY,EAAE;gBACnD,YAAY;gBACZ,UAAU;gBACV,eAAe;aAChB,CAAC,CAAC;YACH,OAAO,eAAe,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,wCAAwC;IAC1C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,4DAA4D;AAC5D,KAAK,UAAU,oBAAoB,CAAC,IAAY;IAC9C,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CACtC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAC9B,CAAC;gBACF,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,KAAK,EAAE,GAAW,EAAE,IAAc,EAAE,EAAE;gBACrD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CACvC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAC9B,CAAC;oBACF,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBACxB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;YACvD,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC;YACrD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,iDAAiD;gBACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBACxE,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,qBAAqB;IACvB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,eAAgC;IACtE,OAAO;QACL,MAAM,EAAE;YACN,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,sDAAsD;YACnE,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;YACnC,WAAW,EAAE;gBACX,OAAO,EAAE,yCAAyC;gBAClD,IAAI,EAAE,QAAiB;gBACvB,oBAAoB,EAAE,KAAc;aACrC;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACzB;gBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;aACnB;SACF;QACD,KAAK,CAAC,OAAO;YACX,IAAI,eAAe,CAAC,WAAW,EAAE,EAAE,CAAC;gBAClC,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,aAAa,EAAE,CAAC;oBACrD,IAAI,MAAM,KAAK,IAAI;wBAAE,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBACxD,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,CAAC,GAAG,YAAY,qBAAqB,CAAC;wBAAE,MAAM,GAAG,CAAC;gBACzD,CAAC;YACH,CAAC;YACD,uDAAuD;YACvD,MAAM,MAAM,GAAG,MAAM,mBAAmB,EAAE,CAAC;YAC3C,IAAI,MAAM,KAAK,IAAI;gBACjB,OAAO,KAAK,CACV,4FAA4F,CAC7F,CAAC;YACJ,OAAO,iBAAiB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7C,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,eAAgC;IACvE,OAAO;QACL,MAAM,EAAE;YACN,IAAI,EAAE,gBAAgB;YACtB,WAAW,EAAE,2CAA2C;YACxD,WAAW,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE;YACrC,WAAW,EAAE;gBACX,OAAO,EAAE,yCAAyC;gBAClD,IAAI,EAAE,QAAiB;gBACvB,QAAQ,EAAE,CAAC,MAAM,CAAC;gBAClB,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAiB;wBACvB,WAAW,EAAE,4BAA4B;qBAC1C;iBACF;gBACD,oBAAoB,EAAE,KAAc;aACrC;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC7B;gBACD,QAAQ,EAAE,CAAC,SAAS,CAAC;aACtB;SACF;QACD,KAAK,CAAC,OAAO,CAAC,IAA6B;YACzC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAC/D,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,eAAe;gBACnD,OAAO,KAAK,CACV,gDAAgD,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CACzF,CAAC;YACJ,IAAI,eAAe,CAAC,WAAW,EAAE,EAAE,CAAC;gBAClC,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;oBAC1D,uDAAuD;oBACvD,8DAA8D;oBAC9D,oCAAoC;oBACpC,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;wBAClD,MAAM,CAAC,GAAG,MAAiC,CAAC;wBAC5C,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;4BACvB,OAAO,iBAAiB,CAAC;gCACvB,OAAO,EAAE,IAAI;gCACb,GAAG,CAAC,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,IAAI;oCACtC,UAAU,EAAE,CAAC,CAAC,UAAU;iCACzB,CAAC;6BACH,CAAC,CAAC;wBACL,CAAC;wBACD,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;4BACxB,OAAO,KAAK,CACV,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;gCACzB,CAAC,CAAC,CAAC,CAAC,KAAK;gCACT,CAAC,CAAC,wBAAwB,CAC7B,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,CAAC,GAAG,YAAY,qBAAqB,CAAC;wBAAE,MAAM,GAAG,CAAC;gBACzD,CAAC;YACH,CAAC;YACD,oDAAoD;YACpD,MAAM,EAAE,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,EAAE;gBACL,OAAO,KAAK,CACV,4FAA4F,CAC7F,CAAC;YACJ,OAAO,iBAAiB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"clipboard.js","sourceRoot":"","sources":["../../src/tools/clipboard.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "patchwork-os",
3
- "version": "1.2.0-beta.3.canary.920",
3
+ "version": "1.2.0-beta.3.canary.921",
4
4
  "description": "Your personal AI runtime, local-first. Patchwork OS gives any AI model a consistent set of tools, YAML recipes, a delegation policy with approval queue, and a durable trace memory — all on your machine, all under your policy.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",