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.
Files changed (54) hide show
  1. package/CHANGELOG.md +98 -0
  2. package/CODE_OF_CONDUCT.md +5 -0
  3. package/CONTRIBUTING.md +47 -0
  4. package/LICENSE +21 -0
  5. package/README.md +143 -2
  6. package/SECURITY.md +13 -0
  7. package/assets/brand/avatar.png +0 -0
  8. package/assets/brand/avatar.svg +1 -0
  9. package/assets/brand/lockup.png +0 -0
  10. package/assets/brand/lockup.svg +1 -0
  11. package/assets/brand/mark.svg +1 -0
  12. package/assets/brand/readme-header.png +0 -0
  13. package/assets/brand/readme-header.svg +1 -0
  14. package/assets/brand/social-preview.png +0 -0
  15. package/assets/brand/social-preview.svg +1 -0
  16. package/assets/brand/wordmark.png +0 -0
  17. package/assets/brand/wordmark.svg +1 -0
  18. package/dist/cli/index.d.ts +1 -0
  19. package/dist/cli/index.js +5022 -0
  20. package/dist/cli/index.js.map +1 -0
  21. package/dist/command-worker.d.ts +2 -0
  22. package/dist/command-worker.js +30 -0
  23. package/dist/command-worker.js.map +1 -0
  24. package/dist/index.d.ts +983 -0
  25. package/dist/index.js +3708 -0
  26. package/dist/index.js.map +1 -0
  27. package/docs/architecture.md +37 -0
  28. package/docs/client-validation.md +51 -0
  29. package/docs/integrations.md +75 -0
  30. package/docs/path-and-scope-rules.md +45 -0
  31. package/docs/protocol/tools.v1.json +425 -0
  32. package/docs/protocol.md +35 -0
  33. package/docs/reliability.md +78 -0
  34. package/docs/roadmap.md +42 -0
  35. package/docs/sessions-and-mutexes.md +97 -0
  36. package/docs/usage.md +101 -0
  37. package/docs/validation/2026-10-19-claude-client-report.json +67 -0
  38. package/docs/validation/2026-10-19-claude-hook-report.json +33 -0
  39. package/docs/validation/2026-10-19-claude-hook-unavailable-report.json +20 -0
  40. package/docs/validation/2026-10-19-claude-mutex-report.json +34 -0
  41. package/docs/validation/2026-10-19-codex-client-report.json +55 -0
  42. package/docs/validation/2026-10-19-codex-mutex-report.json +33 -0
  43. package/docs/validation/2026-10-19-path-hardening-claude.json +32 -0
  44. package/docs/validation/2026-10-19-path-hardening-codex.json +30 -0
  45. package/docs/validation/2026-10-19-recovery-claude.json +35 -0
  46. package/docs/validation/2026-10-19-recovery-codex.json +33 -0
  47. package/docs/validation/2026-10-19-sqlite-runtime-report.json +50 -0
  48. package/docs/validation/2026-10-20-adoption-claude.json +35 -0
  49. package/docs/validation/2026-10-20-adoption-codex-first-attempt.json +20 -0
  50. package/docs/validation/2026-10-20-adoption-codex.json +73 -0
  51. package/docs/validation/2026-10-20-adoption-hook-failure.json +18 -0
  52. package/docs/validation/2026-10-20-subtraction-claude.json +35 -0
  53. package/docs/validation/2026-10-20-subtraction-codex.json +33 -0
  54. package/package.json +83 -4
@@ -0,0 +1,2 @@
1
+
2
+ export { }
@@ -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":[]}