kith-coord 0.0.0-stage → 0.1.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.
- package/CHANGELOG.md +98 -0
- package/CODE_OF_CONDUCT.md +5 -0
- package/CONTRIBUTING.md +47 -0
- package/LICENSE +21 -0
- package/README.md +143 -2
- package/SECURITY.md +13 -0
- package/assets/brand/avatar.png +0 -0
- package/assets/brand/avatar.svg +1 -0
- package/assets/brand/lockup.png +0 -0
- package/assets/brand/lockup.svg +1 -0
- package/assets/brand/mark.svg +1 -0
- package/assets/brand/readme-header.png +0 -0
- package/assets/brand/readme-header.svg +1 -0
- package/assets/brand/social-preview.png +0 -0
- package/assets/brand/social-preview.svg +1 -0
- package/assets/brand/wordmark.png +0 -0
- package/assets/brand/wordmark.svg +1 -0
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.js +5022 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/command-worker.d.ts +2 -0
- package/dist/command-worker.js +30 -0
- package/dist/command-worker.js.map +1 -0
- package/dist/index.d.ts +983 -0
- package/dist/index.js +3708 -0
- package/dist/index.js.map +1 -0
- package/docs/architecture.md +37 -0
- package/docs/client-validation.md +51 -0
- package/docs/integrations.md +75 -0
- package/docs/path-and-scope-rules.md +45 -0
- package/docs/protocol/tools.v1.json +425 -0
- package/docs/protocol.md +35 -0
- package/docs/reliability.md +78 -0
- package/docs/roadmap.md +42 -0
- package/docs/sessions-and-mutexes.md +97 -0
- package/docs/usage.md +101 -0
- package/docs/validation/2026-10-19-claude-client-report.json +67 -0
- package/docs/validation/2026-10-19-claude-hook-report.json +33 -0
- package/docs/validation/2026-10-19-claude-hook-unavailable-report.json +20 -0
- package/docs/validation/2026-10-19-claude-mutex-report.json +34 -0
- package/docs/validation/2026-10-19-codex-client-report.json +55 -0
- package/docs/validation/2026-10-19-codex-mutex-report.json +33 -0
- package/docs/validation/2026-10-19-path-hardening-claude.json +32 -0
- package/docs/validation/2026-10-19-path-hardening-codex.json +30 -0
- package/docs/validation/2026-10-19-recovery-claude.json +35 -0
- package/docs/validation/2026-10-19-recovery-codex.json +33 -0
- package/docs/validation/2026-10-19-sqlite-runtime-report.json +50 -0
- package/docs/validation/2026-10-20-adoption-claude.json +35 -0
- package/docs/validation/2026-10-20-adoption-codex-first-attempt.json +20 -0
- package/docs/validation/2026-10-20-adoption-codex.json +73 -0
- package/docs/validation/2026-10-20-adoption-hook-failure.json +18 -0
- package/docs/validation/2026-10-20-subtraction-claude.json +35 -0
- package/docs/validation/2026-10-20-subtraction-codex.json +33 -0
- package/package.json +83 -4
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// src/core/command-worker.ts
|
|
2
|
+
import os from "os";
|
|
3
|
+
import { spawn } from "child_process";
|
|
4
|
+
var started = false;
|
|
5
|
+
process.on("disconnect", () => {
|
|
6
|
+
try {
|
|
7
|
+
process.kill(-process.pid, "SIGKILL");
|
|
8
|
+
} catch {
|
|
9
|
+
process.exit(1);
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
process.once("message", (message) => {
|
|
13
|
+
if (started) return;
|
|
14
|
+
started = true;
|
|
15
|
+
let finished = false;
|
|
16
|
+
const env = { ...process.env, ...message.mutexName === "package-install" ? { KITH_PACKAGE_INSTALL_GUARDED: "1" } : {} };
|
|
17
|
+
const child = Array.isArray(message.command) ? spawn(message.command[0], message.command.slice(1), { cwd: message.cwd, env, stdio: ["ignore", "inherit", "inherit"] }) : spawn(message.command, { cwd: message.cwd, env, stdio: ["ignore", "inherit", "inherit"], shell: true });
|
|
18
|
+
child.once("error", (err) => {
|
|
19
|
+
if (finished) return;
|
|
20
|
+
finished = true;
|
|
21
|
+
process.send?.({ error: err.message }, () => process.exit(1));
|
|
22
|
+
});
|
|
23
|
+
child.once("close", (code, signal) => {
|
|
24
|
+
if (finished) return;
|
|
25
|
+
finished = true;
|
|
26
|
+
if (process.connected) process.send?.({ exitCode: code ?? (signal ? 128 + (os.constants.signals[signal] ?? 1) : 1), signal }, () => process.exit(0));
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
process.send?.({ ready: true });
|
|
30
|
+
//# sourceMappingURL=command-worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/core/command-worker.ts"],"sourcesContent":["// A detached process-group leader. The command cannot start until its supervisor\n// has durably recorded this group and sent the start message over private IPC.\nimport os from 'node:os';\nimport { spawn } from 'node:child_process';\n\nlet started = false;\nprocess.on('disconnect', () => {\n try { process.kill(-process.pid, 'SIGKILL'); } catch { process.exit(1); }\n});\nprocess.once('message', (message: { command: string | string[]; cwd: string; mutexName: string }) => {\n if (started) return;\n started = true;\n let finished = false;\n const env = { ...process.env, ...(message.mutexName === 'package-install' ? { KITH_PACKAGE_INSTALL_GUARDED: '1' } : {}) };\n const child = Array.isArray(message.command)\n ? spawn(message.command[0], message.command.slice(1), { cwd: message.cwd, env, stdio: ['ignore', 'inherit', 'inherit'] })\n : spawn(message.command, { cwd: message.cwd, env, stdio: ['ignore', 'inherit', 'inherit'], shell: true });\n child.once('error', (err) => {\n if (finished) return;\n finished = true;\n process.send?.({ error: err.message }, () => process.exit(1));\n });\n child.once('close', (code, signal) => {\n if (finished) return;\n finished = true;\n if (process.connected) process.send?.({ exitCode: code ?? (signal ? 128 + (os.constants.signals[signal] ?? 1) : 1), signal }, () => process.exit(0));\n });\n});\nprocess.send?.({ ready: true });\n"],"mappings":";AAEA,OAAO,QAAQ;AACf,SAAS,aAAa;AAEtB,IAAI,UAAU;AACd,QAAQ,GAAG,cAAc,MAAM;AAC7B,MAAI;AAAE,YAAQ,KAAK,CAAC,QAAQ,KAAK,SAAS;AAAA,EAAG,QAAQ;AAAE,YAAQ,KAAK,CAAC;AAAA,EAAG;AAC1E,CAAC;AACD,QAAQ,KAAK,WAAW,CAAC,YAA4E;AACnG,MAAI,QAAS;AACb,YAAU;AACV,MAAI,WAAW;AACf,QAAM,MAAM,EAAE,GAAG,QAAQ,KAAK,GAAI,QAAQ,cAAc,oBAAoB,EAAE,8BAA8B,IAAI,IAAI,CAAC,EAAG;AACxH,QAAM,QAAQ,MAAM,QAAQ,QAAQ,OAAO,IACvC,MAAM,QAAQ,QAAQ,CAAC,GAAG,QAAQ,QAAQ,MAAM,CAAC,GAAG,EAAE,KAAK,QAAQ,KAAK,KAAK,OAAO,CAAC,UAAU,WAAW,SAAS,EAAE,CAAC,IACtH,MAAM,QAAQ,SAAS,EAAE,KAAK,QAAQ,KAAK,KAAK,OAAO,CAAC,UAAU,WAAW,SAAS,GAAG,OAAO,KAAK,CAAC;AAC1G,QAAM,KAAK,SAAS,CAAC,QAAQ;AAC3B,QAAI,SAAU;AACd,eAAW;AACX,YAAQ,OAAO,EAAE,OAAO,IAAI,QAAQ,GAAG,MAAM,QAAQ,KAAK,CAAC,CAAC;AAAA,EAC9D,CAAC;AACD,QAAM,KAAK,SAAS,CAAC,MAAM,WAAW;AACpC,QAAI,SAAU;AACd,eAAW;AACX,QAAI,QAAQ,UAAW,SAAQ,OAAO,EAAE,UAAU,SAAS,SAAS,OAAO,GAAG,UAAU,QAAQ,MAAM,KAAK,KAAK,IAAI,OAAO,GAAG,MAAM,QAAQ,KAAK,CAAC,CAAC;AAAA,EACrJ,CAAC;AACH,CAAC;AACD,QAAQ,OAAO,EAAE,OAAO,KAAK,CAAC;","names":[]}
|