@bevel-software/platform-core-backend 0.13.3 → 0.13.5

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.
@@ -63,6 +63,16 @@ export declare const SAFE_IMPLICIT_FETCH_ARGS: readonly string[];
63
63
  * Returns the arguments rather than running them so each caller can use its own
64
64
  * git runner (the git service's mutex-aware wrapper, `git -C` from the
65
65
  * workspace service) — no process is spawned here.
66
+ *
67
+ * `gc.autoDetach=false` rides along because it is stamped in the same two
68
+ * places — on adopt, and before every pull — which is how clones already on
69
+ * disk pick it up. After a fetch or a commit git may decide to run
70
+ * `gc --auto`, and by default it forks that into the BACKGROUND, detached from
71
+ * the git command this process is waiting on. The detached gc reparents to
72
+ * PID 1 and, when it exits, stays a zombie unless PID 1 reaps it — a node
73
+ * server does not. One shared host was found carrying 1,500 zombie `git`
74
+ * processes under a single platform container. With auto-detach off the gc
75
+ * runs inside the command that triggered it, and that command's exit reaps it.
66
76
  */
67
77
  export declare function cloneTrackingConfigArgs(branch: string): string[][];
68
78
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"clone-config.d.ts","sourceRoot":"","sources":["../../../src/modules/kb-fs/clone-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,4EAA4E;AAC5E,eAAO,MAAM,oBAAoB,wCAAwC,CAAC;AAE1E;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAErD,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,CAMlE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiBxE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAGjE;AA2BD,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,CASzE"}
1
+ {"version":3,"file":"clone-config.d.ts","sourceRoot":"","sources":["../../../src/modules/kb-fs/clone-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,4EAA4E;AAC5E,eAAO,MAAM,oBAAoB,wCAAwC,CAAC;AAE1E;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAErD,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,CAOlE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiBxE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAGjE;AA2BD,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,CASzE"}
@@ -65,12 +65,23 @@ export const SAFE_IMPLICIT_FETCH_ARGS = [
65
65
  * Returns the arguments rather than running them so each caller can use its own
66
66
  * git runner (the git service's mutex-aware wrapper, `git -C` from the
67
67
  * workspace service) — no process is spawned here.
68
+ *
69
+ * `gc.autoDetach=false` rides along because it is stamped in the same two
70
+ * places — on adopt, and before every pull — which is how clones already on
71
+ * disk pick it up. After a fetch or a commit git may decide to run
72
+ * `gc --auto`, and by default it forks that into the BACKGROUND, detached from
73
+ * the git command this process is waiting on. The detached gc reparents to
74
+ * PID 1 and, when it exits, stays a zombie unless PID 1 reaps it — a node
75
+ * server does not. One shared host was found carrying 1,500 zombie `git`
76
+ * processes under a single platform container. With auto-detach off the gc
77
+ * runs inside the command that triggered it, and that command's exit reaps it.
68
78
  */
69
79
  export function cloneTrackingConfigArgs(branch) {
70
80
  return [
71
81
  ['config', '--replace-all', 'remote.origin.fetch', ORIGIN_FETCH_REFSPEC],
72
82
  ['config', '--replace-all', `branch.${branch}.remote`, 'origin'],
73
83
  ['config', '--replace-all', `branch.${branch}.merge`, `refs/heads/${branch}`],
84
+ ['config', '--replace-all', 'gc.autoDetach', 'false'],
74
85
  ];
75
86
  }
76
87
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"clone-config.js","sourceRoot":"","sources":["../../../src/modules/kb-fs/clone-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,4EAA4E;AAC5E,MAAM,CAAC,MAAM,oBAAoB,GAAG,qCAAqC,CAAC;AAE1E;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAsB;IACzD,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,QAAQ;CACtD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAc;IACpD,OAAO;QACL,CAAC,QAAQ,EAAE,eAAe,EAAE,qBAAqB,EAAE,oBAAoB,CAAC;QACxE,CAAC,QAAQ,EAAE,eAAe,EAAE,UAAU,MAAM,SAAS,EAAE,QAAQ,CAAC;QAChE,CAAC,QAAQ,EAAE,eAAe,EAAE,UAAU,MAAM,QAAQ,EAAE,cAAc,MAAM,EAAE,CAAC;KAC9E,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,qBAAqB,CAAC,WAAmB;IACvD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IAC3C,4EAA4E;IAC5E,0EAA0E;IAC1E,yEAAyE;IACzE,4EAA4E;IAC5E,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,iDAAiD,WAAW,GAAG,CAAC,CAAC;IACnF,CAAC;IACD,0EAA0E;IAC1E,2EAA2E;IAC3E,yEAAyE;IACzE,2EAA2E;IAC3E,+DAA+D;IAC/D,yEAAyE;IACzE,4DAA4D;IAC5D,OAAO,mCAAmC,WAAW,kCAAkC,CAAC;AAC1F,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACrD,MAAM,MAAM,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAClD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,qBAAqB,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACnE,CAAC;AAED;;;;;;;;;;;;GAYG;AACH;;;;;;;;;GASG;AACH,MAAM,wBAAwB,GAAG,0BAA0B,CAAC;AAE5D,MAAM,UAAU,yBAAyB,CAAC,WAAmB;IAC3D,MAAM,MAAM,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAClD,qEAAqE;IACrE,oEAAoE;IACpE,0EAA0E;IAC1E,uEAAuE;IACvE,OAAO,MAAM;QACX,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,EAAE,wBAAwB,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,aAAa,EAAE,mBAAmB,EAAE,wBAAwB,CAAC,CAAC,CAAC;AACjF,CAAC"}
1
+ {"version":3,"file":"clone-config.js","sourceRoot":"","sources":["../../../src/modules/kb-fs/clone-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,4EAA4E;AAC5E,MAAM,CAAC,MAAM,oBAAoB,GAAG,qCAAqC,CAAC;AAE1E;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAsB;IACzD,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,QAAQ;CACtD,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAc;IACpD,OAAO;QACL,CAAC,QAAQ,EAAE,eAAe,EAAE,qBAAqB,EAAE,oBAAoB,CAAC;QACxE,CAAC,QAAQ,EAAE,eAAe,EAAE,UAAU,MAAM,SAAS,EAAE,QAAQ,CAAC;QAChE,CAAC,QAAQ,EAAE,eAAe,EAAE,UAAU,MAAM,QAAQ,EAAE,cAAc,MAAM,EAAE,CAAC;QAC7E,CAAC,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,OAAO,CAAC;KACtD,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,qBAAqB,CAAC,WAAmB;IACvD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY;QAAE,OAAO,IAAI,CAAC;IAC3C,4EAA4E;IAC5E,0EAA0E;IAC1E,yEAAyE;IACzE,4EAA4E;IAC5E,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,iDAAiD,WAAW,GAAG,CAAC,CAAC;IACnF,CAAC;IACD,0EAA0E;IAC1E,2EAA2E;IAC3E,yEAAyE;IACzE,2EAA2E;IAC3E,+DAA+D;IAC/D,yEAAyE;IACzE,4DAA4D;IAC5D,OAAO,mCAAmC,WAAW,kCAAkC,CAAC;AAC1F,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACrD,MAAM,MAAM,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAClD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,qBAAqB,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACnE,CAAC;AAED;;;;;;;;;;;;GAYG;AACH;;;;;;;;;GASG;AACH,MAAM,wBAAwB,GAAG,0BAA0B,CAAC;AAE5D,MAAM,UAAU,yBAAyB,CAAC,WAAmB;IAC3D,MAAM,MAAM,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAClD,qEAAqE;IACrE,oEAAoE;IACpE,0EAA0E;IAC1E,uEAAuE;IACvE,OAAO,MAAM;QACX,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,EAAE,wBAAwB,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,aAAa,EAAE,mBAAmB,EAAE,wBAAwB,CAAC,CAAC,CAAC;AACjF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"extract-pdf.d.ts","sourceRoot":"","sources":["../../../../src/modules/workspace/file-readers/extract-pdf.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAwD5D,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAmGtE"}
1
+ {"version":3,"file":"extract-pdf.d.ts","sourceRoot":"","sources":["../../../../src/modules/workspace/file-readers/extract-pdf.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAwD5D,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CA+GtE"}
@@ -58,11 +58,24 @@ export async function extractPdf(bytes) {
58
58
  message: `could not be extracted as a PDF (the file is ${bytes.length} bytes — over the ${MAX_DOC_PART_BYTES}-byte (50 MB) extraction limit)`,
59
59
  };
60
60
  }
61
+ // The loading TASK is what gets destroyed at the end, not the document:
62
+ // pdf.js 6 dropped `PDFDocumentProxy.destroy()`, and destroying the task
63
+ // frees the document (and its pages) with it — the shape the viewer uses.
64
+ let task;
65
+ try {
66
+ task = await openPdf(bytes);
67
+ }
68
+ catch (err) {
69
+ return { ok: false, message: `could not be parsed as a PDF (${err.message})` };
70
+ }
61
71
  let doc;
62
72
  try {
63
- doc = await openPdf(bytes);
73
+ doc = await task.promise;
64
74
  }
65
75
  catch (err) {
76
+ // A task exists even when the document never will (malformed, truncated):
77
+ // destroy it, or its worker-side state outlives every failed extraction.
78
+ await task.destroy().catch(() => undefined);
66
79
  return { ok: false, message: `could not be parsed as a PDF (${err.message})` };
67
80
  }
68
81
  try {
@@ -151,7 +164,7 @@ export async function extractPdf(bytes) {
151
164
  return { ok: false, message: `could not extract the PDF's text (${err.message})` };
152
165
  }
153
166
  finally {
154
- await doc.destroy();
167
+ await task.destroy();
155
168
  }
156
169
  }
157
170
  let pdfjsPromise;
@@ -164,6 +177,8 @@ async function openPdf(bytes) {
164
177
  throw err;
165
178
  });
166
179
  const { getDocument } = await pdfjsPromise;
180
+ // Returns the loading task; the caller awaits `.promise` for the document
181
+ // and destroys the task when done (see `extractPdf`).
167
182
  return getDocument({
168
183
  // Copy into a fresh Uint8Array: pdf.js TRANSFERS the buffer it is given
169
184
  // (detaching it), and the caller's Buffer must stay usable for hashing.
@@ -171,6 +186,6 @@ async function openPdf(bytes) {
171
186
  // Server side: no font rendering — text content is all we consume.
172
187
  disableFontFace: true,
173
188
  useSystemFonts: true,
174
- }).promise;
189
+ });
175
190
  }
176
191
  //# sourceMappingURL=extract-pdf.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extract-pdf.js","sourceRoot":"","sources":["../../../../src/modules/workspace/file-readers/extract-pdf.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extract-pdf.js","sourceRoot":"","sources":["../../../../src/modules/workspace/file-readers/extract-pdf.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.tools.d.ts","sourceRoot":"","sources":["../../../src/modules/workspace/workspace.tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEtD,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,mCAAmC,CAAC;AAGnF,OAAO,EAML,KAAK,mBAAmB,EACzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAO1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAE5E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AA+P/E;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,kBAAkB,EAC/B,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,iBAAiB,EAC7B,aAAa,EAAE,cAAc,EAC7B,SAAS,EAAE,MAAM,EACjB,mBAAmB,EAAE,mBAAmB,EACxC,WAAW,EAAE,mBAAmB,EAChC,WAAW,EAAE,YAAY,GACxB,IAAI,CAgyBN"}
1
+ {"version":3,"file":"workspace.tools.d.ts","sourceRoot":"","sources":["../../../src/modules/workspace/workspace.tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEtD,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,mCAAmC,CAAC;AAGnF,OAAO,EAML,KAAK,mBAAmB,EACzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAO1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAE5E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AA+P/E;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,kBAAkB,EAC/B,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,iBAAiB,EAC7B,aAAa,EAAE,cAAc,EAC7B,SAAS,EAAE,MAAM,EACjB,mBAAmB,EAAE,mBAAmB,EACxC,WAAW,EAAE,mBAAmB,EAChC,WAAW,EAAE,YAAY,GACxB,IAAI,CAkzBN"}
@@ -922,14 +922,36 @@ export function registerWorkspaceTools(registry, router, toolAuth, toolHandler,
922
922
  }
923
923
  : process.env;
924
924
  return new Promise((resolve) => {
925
- const child = spawn(a.command, { cwd, shell: true, env });
925
+ // Own process group on POSIX, so a timeout or abort kills the WHOLE
926
+ // tree. `shell: true` puts an `sh` between us and the command; killing
927
+ // only that shell left whatever it had started running on — orphaned,
928
+ // unreaped, still holding the workspace and its memory. A self-hosted
929
+ // deployment leaked ~4,500 tasks that way before nothing could fork.
930
+ const detached = process.platform !== 'win32';
931
+ const child = spawn(a.command, { cwd, shell: true, env, detached });
926
932
  let stdout = '';
927
933
  let stderr = '';
928
- const timer = setTimeout(() => child.kill('SIGKILL'), timeoutMs);
929
- // If the caller disconnects (request aborted), kill the child instead of
934
+ const killTree = () => {
935
+ try {
936
+ if (detached && child.pid)
937
+ process.kill(-child.pid, 'SIGKILL');
938
+ else
939
+ child.kill('SIGKILL');
940
+ }
941
+ catch {
942
+ try {
943
+ child.kill('SIGKILL');
944
+ }
945
+ catch {
946
+ // Already gone.
947
+ }
948
+ }
949
+ };
950
+ const timer = setTimeout(killTree, timeoutMs);
951
+ // If the caller disconnects (request aborted), kill the tree instead of
930
952
  // letting it run to the timeout; the resulting `close`/`error` settles
931
953
  // the promise through `finish`.
932
- const onAbort = () => child.kill('SIGKILL');
954
+ const onAbort = killTree;
933
955
  ctx.abortSignal.addEventListener('abort', onAbort, { once: true });
934
956
  const finish = (value) => {
935
957
  clearTimeout(timer);
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.tools.js","sourceRoot":"","sources":["../../../src/modules/workspace/workspace.tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace.tools.js","sourceRoot":"","sources":["../../../src/modules/workspace/workspace.tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bevel-software/platform-core-backend",
3
- "version": "0.13.3",
3
+ "version": "0.13.5",
4
4
  "description": "Open-source core backend of the Bevel platform: git-backed knowledge workspace, workflow (branches/change requests/locks/SSE), skills, tools, secrets vault, access control and the remote MCP surface.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -46,14 +46,14 @@
46
46
  "htmlparser2": "^12.0.0",
47
47
  "ignore": "^7.0.5",
48
48
  "jsonwebtoken": "^9.0.3",
49
- "pdfjs-dist": "^5.4.624",
49
+ "pdfjs-dist": "^6.2.108",
50
50
  "pg": "^8.20.0",
51
51
  "postal-mime": "^3.0.0",
52
52
  "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz",
53
53
  "yaml": "^2.9.0",
54
54
  "zod": "^3.24.0",
55
- "@bevel-software/platform-mcp-core": "0.13.3",
56
- "@bevel-software/platform-shared": "0.13.3"
55
+ "@bevel-software/platform-mcp-core": "0.13.5",
56
+ "@bevel-software/platform-shared": "0.13.5"
57
57
  },
58
58
  "devDependencies": {
59
59
  "@types/adm-zip": "^0.5.8",
@@ -11,11 +11,14 @@ describe('cloneTrackingConfigArgs', () => {
11
11
  // A slashed draft name is the everyday case (`<email-localpart>/<slug>`), and
12
12
  // the branch lands verbatim inside the config KEY — pin the exact tuples so a
13
13
  // future quoting/encoding change can't silently re-point tracking.
14
- it('emits the three --replace-all tuples for a slashed branch', () => {
14
+ it('emits the tracking tuples for a slashed branch, and keeps gc in the foreground', () => {
15
15
  expect(cloneTrackingConfigArgs('feature/x')).toEqual([
16
16
  ['config', '--replace-all', 'remote.origin.fetch', ORIGIN_FETCH_REFSPEC],
17
17
  ['config', '--replace-all', 'branch.feature/x.remote', 'origin'],
18
18
  ['config', '--replace-all', 'branch.feature/x.merge', 'refs/heads/feature/x'],
19
+ // A detached `gc --auto` outlives the command this process waits on and
20
+ // is never reaped; stamped here so existing clones get it on next pull.
21
+ ['config', '--replace-all', 'gc.autoDetach', 'false'],
19
22
  ]);
20
23
  });
21
24
  });
@@ -68,12 +68,23 @@ export const SAFE_IMPLICIT_FETCH_ARGS: readonly string[] = [
68
68
  * Returns the arguments rather than running them so each caller can use its own
69
69
  * git runner (the git service's mutex-aware wrapper, `git -C` from the
70
70
  * workspace service) — no process is spawned here.
71
+ *
72
+ * `gc.autoDetach=false` rides along because it is stamped in the same two
73
+ * places — on adopt, and before every pull — which is how clones already on
74
+ * disk pick it up. After a fetch or a commit git may decide to run
75
+ * `gc --auto`, and by default it forks that into the BACKGROUND, detached from
76
+ * the git command this process is waiting on. The detached gc reparents to
77
+ * PID 1 and, when it exits, stays a zombie unless PID 1 reaps it — a node
78
+ * server does not. One shared host was found carrying 1,500 zombie `git`
79
+ * processes under a single platform container. With auto-detach off the gc
80
+ * runs inside the command that triggered it, and that command's exit reaps it.
71
81
  */
72
82
  export function cloneTrackingConfigArgs(branch: string): string[][] {
73
83
  return [
74
84
  ['config', '--replace-all', 'remote.origin.fetch', ORIGIN_FETCH_REFSPEC],
75
85
  ['config', '--replace-all', `branch.${branch}.remote`, 'origin'],
76
86
  ['config', '--replace-all', `branch.${branch}.merge`, `refs/heads/${branch}`],
87
+ ['config', '--replace-all', 'gc.autoDetach', 'false'],
77
88
  ];
78
89
  }
79
90
 
@@ -1,6 +1,6 @@
1
1
  import type { Server as HttpServer } from 'node:http';
2
2
  import { execFile } from 'node:child_process';
3
- import { mkdir, mkdtemp, rm } from 'node:fs/promises';
3
+ import { mkdir, mkdtemp, readFile, rm } from 'node:fs/promises';
4
4
  import { tmpdir } from 'node:os';
5
5
  import { join } from 'node:path';
6
6
  import { promisify } from 'node:util';
@@ -147,6 +147,25 @@ afterEach(async () => {
147
147
  }
148
148
  });
149
149
 
150
+ /**
151
+ * True once `pid` has been killed: either it is gone, or it is a zombie
152
+ * waiting on a reaper (Linux: `State:\tZ` in /proc). `kill(pid, 0)` alone
153
+ * cannot tell a zombie from a live process.
154
+ */
155
+ async function isDeadOrZombie(pid: number): Promise<boolean> {
156
+ try {
157
+ process.kill(pid, 0);
158
+ } catch {
159
+ return true;
160
+ }
161
+ try {
162
+ const status = await readFile(`/proc/${pid}/status`, 'utf8');
163
+ return /^State:\s*Z/m.test(status);
164
+ } catch {
165
+ return false; // no /proc (macOS): alive as far as the signal says
166
+ }
167
+ }
168
+
150
169
  describe('workspace file primitives', () => {
151
170
  it('read_file returns the content', async () => {
152
171
  const base = await start();
@@ -191,6 +210,40 @@ describe('workspace file primitives', () => {
191
210
  expect(res.exitCode).toBe(0);
192
211
  });
193
212
 
213
+ // The command runs under `sh -c`; a timeout used to SIGKILL that shell and
214
+ // leave what it had started running on as an orphan. The whole process
215
+ // group goes now. POSIX only: Windows has no process groups to kill.
216
+ it.skipIf(process.platform === 'win32')('execute_command kills what the command started, not just its shell, on timeout', async () => {
217
+ const base = await start();
218
+ // Print the grandchild's pid, then block on it so the timeout fires. The
219
+ // timeout is the schema's minimum — inside the tool's declared contract,
220
+ // and long enough that a slow spawn still prints the pid before it fires.
221
+ const res = (await (
222
+ await post(`${base}/api/agent/tools/execute_command`, {
223
+ branch: 'main',
224
+ command: 'sleep 30 & echo $!; wait',
225
+ timeout_ms: 1000,
226
+ })
227
+ ).json()) as { stdout: string; exitCode: number };
228
+ expect(res.exitCode).toBe(-1);
229
+ const grandchild = Number(res.stdout.trim());
230
+ expect(grandchild).toBeGreaterThan(0);
231
+ // Dead means killed, not reaped: a SIGKILLed process keeps its pid — and
232
+ // answers `kill(pid, 0)` as alive — until whoever inherited it reaps it,
233
+ // and on a host with no reaper (the very thing this guards) that is
234
+ // never. So where /proc exists, a zombie (`State: Z`) counts as dead; a
235
+ // vanished pid counts everywhere. Poll to a deadline rather than trust
236
+ // one fixed pause. Without the fix the grandchild is still sleeping at
237
+ // the deadline, so what fails is the deadline — never an early check.
238
+ const deadline = Date.now() + 3_000;
239
+ let dead = false;
240
+ while (!dead && Date.now() < deadline) {
241
+ dead = await isDeadOrZombie(grandchild);
242
+ if (!dead) await new Promise((r) => setTimeout(r, 50));
243
+ }
244
+ expect(dead).toBe(true);
245
+ });
246
+
194
247
  it('execute_command 400s when no branch is given AND no focused branch (external caller)', async () => {
195
248
  const base = await start();
196
249
  // No `branch` arg and no `ctx.focusedBranch` (an external caller carries no
@@ -64,12 +64,24 @@ export async function extractPdf(bytes: Buffer): Promise<ExtractResult> {
64
64
  message: `could not be extracted as a PDF (the file is ${bytes.length} bytes — over the ${MAX_DOC_PART_BYTES}-byte (50 MB) extraction limit)`,
65
65
  };
66
66
  }
67
- let doc: Awaited<ReturnType<typeof openPdf>>;
67
+ // The loading TASK is what gets destroyed at the end, not the document:
68
+ // pdf.js 6 dropped `PDFDocumentProxy.destroy()`, and destroying the task
69
+ // frees the document (and its pages) with it — the shape the viewer uses.
70
+ let task: Awaited<ReturnType<typeof openPdf>>;
68
71
  try {
69
- doc = await openPdf(bytes);
72
+ task = await openPdf(bytes);
70
73
  } catch (err) {
71
74
  return { ok: false, message: `could not be parsed as a PDF (${(err as Error).message})` };
72
75
  }
76
+ let doc: Awaited<typeof task.promise>;
77
+ try {
78
+ doc = await task.promise;
79
+ } catch (err) {
80
+ // A task exists even when the document never will (malformed, truncated):
81
+ // destroy it, or its worker-side state outlives every failed extraction.
82
+ await task.destroy().catch(() => undefined);
83
+ return { ok: false, message: `could not be parsed as a PDF (${(err as Error).message})` };
84
+ }
73
85
  try {
74
86
  if (doc.numPages > MAX_PDF_PAGES) {
75
87
  return {
@@ -151,7 +163,7 @@ export async function extractPdf(bytes: Buffer): Promise<ExtractResult> {
151
163
  } catch (err) {
152
164
  return { ok: false, message: `could not extract the PDF's text (${(err as Error).message})` };
153
165
  } finally {
154
- await doc.destroy();
166
+ await task.destroy();
155
167
  }
156
168
  }
157
169
 
@@ -167,6 +179,8 @@ async function openPdf(bytes: Buffer) {
167
179
  throw err;
168
180
  });
169
181
  const { getDocument } = await pdfjsPromise;
182
+ // Returns the loading task; the caller awaits `.promise` for the document
183
+ // and destroys the task when done (see `extractPdf`).
170
184
  return getDocument({
171
185
  // Copy into a fresh Uint8Array: pdf.js TRANSFERS the buffer it is given
172
186
  // (detaching it), and the caller's Buffer must stay usable for hashing.
@@ -174,5 +188,5 @@ async function openPdf(bytes: Buffer) {
174
188
  // Server side: no font rendering — text content is all we consume.
175
189
  disableFontFace: true,
176
190
  useSystemFonts: true,
177
- }).promise;
191
+ });
178
192
  }
@@ -1069,14 +1069,32 @@ export function registerWorkspaceTools(
1069
1069
  }
1070
1070
  : process.env;
1071
1071
  return new Promise((resolve) => {
1072
- const child = spawn(a.command as string, { cwd, shell: true, env });
1072
+ // Own process group on POSIX, so a timeout or abort kills the WHOLE
1073
+ // tree. `shell: true` puts an `sh` between us and the command; killing
1074
+ // only that shell left whatever it had started running on — orphaned,
1075
+ // unreaped, still holding the workspace and its memory. A self-hosted
1076
+ // deployment leaked ~4,500 tasks that way before nothing could fork.
1077
+ const detached = process.platform !== 'win32';
1078
+ const child = spawn(a.command as string, { cwd, shell: true, env, detached });
1073
1079
  let stdout = '';
1074
1080
  let stderr = '';
1075
- const timer = setTimeout(() => child.kill('SIGKILL'), timeoutMs);
1076
- // If the caller disconnects (request aborted), kill the child instead of
1081
+ const killTree = () => {
1082
+ try {
1083
+ if (detached && child.pid) process.kill(-child.pid, 'SIGKILL');
1084
+ else child.kill('SIGKILL');
1085
+ } catch {
1086
+ try {
1087
+ child.kill('SIGKILL');
1088
+ } catch {
1089
+ // Already gone.
1090
+ }
1091
+ }
1092
+ };
1093
+ const timer = setTimeout(killTree, timeoutMs);
1094
+ // If the caller disconnects (request aborted), kill the tree instead of
1077
1095
  // letting it run to the timeout; the resulting `close`/`error` settles
1078
1096
  // the promise through `finish`.
1079
- const onAbort = () => child.kill('SIGKILL');
1097
+ const onAbort = killTree;
1080
1098
  ctx.abortSignal.addEventListener('abort', onAbort, { once: true });
1081
1099
  const finish = (value: unknown) => {
1082
1100
  clearTimeout(timer);