@tokenfactory/acc-runner 0.25.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.
Files changed (162) hide show
  1. package/README.md +77 -4
  2. package/package.json +1 -1
  3. package/dist/anthropic-auth.d.ts +0 -53
  4. package/dist/anthropic-auth.d.ts.map +0 -1
  5. package/dist/anthropic-auth.js +0 -89
  6. package/dist/anthropic-auth.js.map +0 -1
  7. package/dist/bin-resolve.d.ts +0 -16
  8. package/dist/bin-resolve.d.ts.map +0 -1
  9. package/dist/bin-resolve.js +0 -35
  10. package/dist/bin-resolve.js.map +0 -1
  11. package/dist/cli.d.ts +0 -3
  12. package/dist/cli.d.ts.map +0 -1
  13. package/dist/cli.js +0 -128
  14. package/dist/cli.js.map +0 -1
  15. package/dist/config.d.ts +0 -121
  16. package/dist/config.d.ts.map +0 -1
  17. package/dist/config.js +0 -396
  18. package/dist/config.js.map +0 -1
  19. package/dist/cost-pricing.d.ts +0 -130
  20. package/dist/cost-pricing.d.ts.map +0 -1
  21. package/dist/cost-pricing.js +0 -191
  22. package/dist/cost-pricing.js.map +0 -1
  23. package/dist/doctor.d.ts +0 -37
  24. package/dist/doctor.d.ts.map +0 -1
  25. package/dist/doctor.js +0 -658
  26. package/dist/doctor.js.map +0 -1
  27. package/dist/failure-classifier.d.ts +0 -112
  28. package/dist/failure-classifier.d.ts.map +0 -1
  29. package/dist/failure-classifier.js +0 -353
  30. package/dist/failure-classifier.js.map +0 -1
  31. package/dist/gh.d.ts +0 -22
  32. package/dist/gh.d.ts.map +0 -1
  33. package/dist/gh.js +0 -48
  34. package/dist/gh.js.map +0 -1
  35. package/dist/git.d.ts +0 -50
  36. package/dist/git.d.ts.map +0 -1
  37. package/dist/git.js +0 -127
  38. package/dist/git.js.map +0 -1
  39. package/dist/github-client.d.ts +0 -133
  40. package/dist/github-client.d.ts.map +0 -1
  41. package/dist/github-client.js +0 -234
  42. package/dist/github-client.js.map +0 -1
  43. package/dist/keychain.d.ts +0 -21
  44. package/dist/keychain.d.ts.map +0 -1
  45. package/dist/keychain.js +0 -45
  46. package/dist/keychain.js.map +0 -1
  47. package/dist/login.d.ts +0 -12
  48. package/dist/login.d.ts.map +0 -1
  49. package/dist/login.js +0 -133
  50. package/dist/login.js.map +0 -1
  51. package/dist/logout.d.ts +0 -2
  52. package/dist/logout.d.ts.map +0 -1
  53. package/dist/logout.js +0 -31
  54. package/dist/logout.js.map +0 -1
  55. package/dist/mcp-spawn.d.ts +0 -30
  56. package/dist/mcp-spawn.d.ts.map +0 -1
  57. package/dist/mcp-spawn.js +0 -145
  58. package/dist/mcp-spawn.js.map +0 -1
  59. package/dist/messaging.d.ts +0 -49
  60. package/dist/messaging.d.ts.map +0 -1
  61. package/dist/messaging.js +0 -36
  62. package/dist/messaging.js.map +0 -1
  63. package/dist/pkg-version.d.ts +0 -3
  64. package/dist/pkg-version.d.ts.map +0 -1
  65. package/dist/pkg-version.js +0 -20
  66. package/dist/pkg-version.js.map +0 -1
  67. package/dist/profiles/designer-prompt.d.ts +0 -18
  68. package/dist/profiles/designer-prompt.d.ts.map +0 -1
  69. package/dist/profiles/designer-prompt.js +0 -172
  70. package/dist/profiles/designer-prompt.js.map +0 -1
  71. package/dist/profiles/developer-prompt.d.ts +0 -24
  72. package/dist/profiles/developer-prompt.d.ts.map +0 -1
  73. package/dist/profiles/developer-prompt.js +0 -24
  74. package/dist/profiles/developer-prompt.js.map +0 -1
  75. package/dist/profiles/manager-prompt.d.ts +0 -34
  76. package/dist/profiles/manager-prompt.d.ts.map +0 -1
  77. package/dist/profiles/manager-prompt.js +0 -93
  78. package/dist/profiles/manager-prompt.js.map +0 -1
  79. package/dist/profiles/tester-prompt.d.ts +0 -28
  80. package/dist/profiles/tester-prompt.d.ts.map +0 -1
  81. package/dist/profiles/tester-prompt.js +0 -165
  82. package/dist/profiles/tester-prompt.js.map +0 -1
  83. package/dist/prompt.d.ts +0 -38
  84. package/dist/prompt.d.ts.map +0 -1
  85. package/dist/prompt.js +0 -78
  86. package/dist/prompt.js.map +0 -1
  87. package/dist/runtime/cache-dir.d.ts +0 -2
  88. package/dist/runtime/cache-dir.d.ts.map +0 -1
  89. package/dist/runtime/cache-dir.js +0 -15
  90. package/dist/runtime/cache-dir.js.map +0 -1
  91. package/dist/runtime/conflict-resolver.d.ts +0 -65
  92. package/dist/runtime/conflict-resolver.d.ts.map +0 -1
  93. package/dist/runtime/conflict-resolver.js +0 -477
  94. package/dist/runtime/conflict-resolver.js.map +0 -1
  95. package/dist/runtime/expand-args.d.ts +0 -28
  96. package/dist/runtime/expand-args.d.ts.map +0 -1
  97. package/dist/runtime/expand-args.js +0 -50
  98. package/dist/runtime/expand-args.js.map +0 -1
  99. package/dist/runtime/locks.d.ts +0 -21
  100. package/dist/runtime/locks.d.ts.map +0 -1
  101. package/dist/runtime/locks.js +0 -97
  102. package/dist/runtime/locks.js.map +0 -1
  103. package/dist/runtime/provision-mutex.d.ts +0 -37
  104. package/dist/runtime/provision-mutex.d.ts.map +0 -1
  105. package/dist/runtime/provision-mutex.js +0 -67
  106. package/dist/runtime/provision-mutex.js.map +0 -1
  107. package/dist/runtime/quarantine.d.ts +0 -26
  108. package/dist/runtime/quarantine.d.ts.map +0 -1
  109. package/dist/runtime/quarantine.js +0 -50
  110. package/dist/runtime/quarantine.js.map +0 -1
  111. package/dist/runtime/resolution-integrity.d.ts +0 -86
  112. package/dist/runtime/resolution-integrity.d.ts.map +0 -1
  113. package/dist/runtime/resolution-integrity.js +0 -248
  114. package/dist/runtime/resolution-integrity.js.map +0 -1
  115. package/dist/runtime/reviewer.d.ts +0 -81
  116. package/dist/runtime/reviewer.d.ts.map +0 -1
  117. package/dist/runtime/reviewer.js +0 -374
  118. package/dist/runtime/reviewer.js.map +0 -1
  119. package/dist/runtime/rework.d.ts +0 -48
  120. package/dist/runtime/rework.d.ts.map +0 -1
  121. package/dist/runtime/rework.js +0 -136
  122. package/dist/runtime/rework.js.map +0 -1
  123. package/dist/runtime/singleton.d.ts +0 -47
  124. package/dist/runtime/singleton.d.ts.map +0 -1
  125. package/dist/runtime/singleton.js +0 -200
  126. package/dist/runtime/singleton.js.map +0 -1
  127. package/dist/runtime/version-drift.d.ts +0 -31
  128. package/dist/runtime/version-drift.d.ts.map +0 -1
  129. package/dist/runtime/version-drift.js +0 -114
  130. package/dist/runtime/version-drift.js.map +0 -1
  131. package/dist/runtime/worktree.d.ts +0 -74
  132. package/dist/runtime/worktree.d.ts.map +0 -1
  133. package/dist/runtime/worktree.js +0 -206
  134. package/dist/runtime/worktree.js.map +0 -1
  135. package/dist/secrets/inject.d.ts +0 -70
  136. package/dist/secrets/inject.d.ts.map +0 -1
  137. package/dist/secrets/inject.js +0 -102
  138. package/dist/secrets/inject.js.map +0 -1
  139. package/dist/supabase.d.ts +0 -4
  140. package/dist/supabase.d.ts.map +0 -1
  141. package/dist/supabase.js +0 -36
  142. package/dist/supabase.js.map +0 -1
  143. package/dist/task-runner.d.ts +0 -313
  144. package/dist/task-runner.d.ts.map +0 -1
  145. package/dist/task-runner.js +0 -1766
  146. package/dist/task-runner.js.map +0 -1
  147. package/dist/token-provider.d.ts +0 -50
  148. package/dist/token-provider.d.ts.map +0 -1
  149. package/dist/token-provider.js +0 -177
  150. package/dist/token-provider.js.map +0 -1
  151. package/dist/types.d.ts +0 -120
  152. package/dist/types.d.ts.map +0 -1
  153. package/dist/types.js +0 -16
  154. package/dist/types.js.map +0 -1
  155. package/dist/version-check.d.ts +0 -17
  156. package/dist/version-check.d.ts.map +0 -1
  157. package/dist/version-check.js +0 -56
  158. package/dist/version-check.js.map +0 -1
  159. package/dist/watch.d.ts +0 -295
  160. package/dist/watch.d.ts.map +0 -1
  161. package/dist/watch.js +0 -1532
  162. package/dist/watch.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"conflict-resolver.js","sourceRoot":"","sources":["../../src/runtime/conflict-resolver.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- /**
2
- * Walks an arbitrary JSON value tree, expanding `{{secret:NAME}}`
3
- * placeholders in any string leaf. Returns a structurally-identical
4
- * copy with secrets expanded. Never mutates the input.
5
- *
6
- * Side-effect: returns the deduplicated list of secret names consumed.
7
- * The caller logs the NAMES to telemetry, NOT the plaintexts.
8
- *
9
- * Integration point: the MCP dispatcher (added in v0.6-B) calls this
10
- * AFTER approval but BEFORE spawning the MCP server stdio. The
11
- * expanded args go to stdio; the pre-expansion args (still containing
12
- * literal `{{secret:…}}`) go to telemetry. There is a regression test
13
- * in packages/acc-runner/tests/expand-args.test.ts that asserts the
14
- * plaintext of a tripwire secret never appears in captured telemetry.
15
- */
16
- import { type SecretFetcher } from "../secrets/inject.js";
17
- export interface ExpandArgsResult {
18
- expanded: unknown;
19
- consumedSecrets: string[];
20
- }
21
- /**
22
- * @param args — the tool-call argument tree (any JSON-safe shape)
23
- * @param agentId — used as the v0.7-B grant + audit subject
24
- * @param fetcher — SecretFetcher; production uses makeHttpSecretFetcher
25
- * @param toolName — forwarded to fetch_secret_for_runtime for audit
26
- */
27
- export declare function expandSecretsInArgs(args: unknown, agentId: string, fetcher: SecretFetcher, toolName?: string): Promise<ExpandArgsResult>;
28
- //# sourceMappingURL=expand-args.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"expand-args.d.ts","sourceRoot":"","sources":["../../src/runtime/expand-args.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAyB,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEjF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,aAAa,EACtB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,gBAAgB,CAAC,CA4B3B"}
@@ -1,50 +0,0 @@
1
- /**
2
- * Walks an arbitrary JSON value tree, expanding `{{secret:NAME}}`
3
- * placeholders in any string leaf. Returns a structurally-identical
4
- * copy with secrets expanded. Never mutates the input.
5
- *
6
- * Side-effect: returns the deduplicated list of secret names consumed.
7
- * The caller logs the NAMES to telemetry, NOT the plaintexts.
8
- *
9
- * Integration point: the MCP dispatcher (added in v0.6-B) calls this
10
- * AFTER approval but BEFORE spawning the MCP server stdio. The
11
- * expanded args go to stdio; the pre-expansion args (still containing
12
- * literal `{{secret:…}}`) go to telemetry. There is a regression test
13
- * in packages/acc-runner/tests/expand-args.test.ts that asserts the
14
- * plaintext of a tripwire secret never appears in captured telemetry.
15
- */
16
- import { expandSecretsInString } from "../secrets/inject.js";
17
- /**
18
- * @param args — the tool-call argument tree (any JSON-safe shape)
19
- * @param agentId — used as the v0.7-B grant + audit subject
20
- * @param fetcher — SecretFetcher; production uses makeHttpSecretFetcher
21
- * @param toolName — forwarded to fetch_secret_for_runtime for audit
22
- */
23
- export async function expandSecretsInArgs(args, agentId, fetcher, toolName) {
24
- const consumed = new Set();
25
- const visit = async (v) => {
26
- if (typeof v === "string") {
27
- const { expanded, consumedSecrets } = await expandSecretsInString(v, agentId, fetcher, toolName);
28
- consumedSecrets.forEach((n) => consumed.add(n));
29
- return expanded;
30
- }
31
- if (Array.isArray(v)) {
32
- const out = [];
33
- for (const item of v) {
34
- out.push(await visit(item));
35
- }
36
- return out;
37
- }
38
- if (v && typeof v === "object") {
39
- const out = {};
40
- for (const k of Object.keys(v)) {
41
- out[k] = await visit(v[k]);
42
- }
43
- return out;
44
- }
45
- return v;
46
- };
47
- const expanded = await visit(args);
48
- return { expanded, consumedSecrets: [...consumed] };
49
- }
50
- //# sourceMappingURL=expand-args.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"expand-args.js","sourceRoot":"","sources":["../../src/runtime/expand-args.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,qBAAqB,EAAsB,MAAM,sBAAsB,CAAC;AAOjF;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAa,EACb,OAAe,EACf,OAAsB,EACtB,QAAiB;IAEjB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,MAAM,KAAK,GAAG,KAAK,EAAE,CAAU,EAAoB,EAAE;QACnD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,MAAM,qBAAqB,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YACjG,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,MAAM,GAAG,GAAc,EAAE,CAAC;YAC1B,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC;gBACrB,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9B,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QACD,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,GAAG,GAA4B,EAAE,CAAC;YACxC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAA4B,CAAC,EAAE,CAAC;gBAC1D,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,CAAE,CAA6B,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC;AACtD,CAAC"}
@@ -1,21 +0,0 @@
1
- export declare function locksDir(): string;
2
- export interface TaskLock {
3
- taskId: string;
4
- pidFile: string;
5
- release(): Promise<void>;
6
- }
7
- export declare class TaskLockHeldError extends Error {
8
- readonly taskId: string;
9
- readonly heldByPid: number;
10
- constructor(taskId: string, heldByPid: number);
11
- }
12
- export declare function lockPath(taskId: string): string;
13
- export declare function isProcessAlive(pid: number): boolean;
14
- export declare function acquireTaskLock(taskId: string, pid?: number): Promise<TaskLock>;
15
- export interface StaleLock {
16
- taskId: string;
17
- pidFile: string;
18
- pid: number | null;
19
- }
20
- export declare function listStaleLocks(): Promise<StaleLock[]>;
21
- //# sourceMappingURL=locks.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"locks.d.ts","sourceRoot":"","sources":["../../src/runtime/locks.ts"],"names":[],"mappings":"AAUA,wBAAgB,QAAQ,IAAI,MAAM,CAEjC;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,qBAAa,iBAAkB,SAAQ,KAAK;aACd,MAAM,EAAE,MAAM;aAAkB,SAAS,EAAE,MAAM;gBAAjD,MAAM,EAAE,MAAM,EAAkB,SAAS,EAAE,MAAM;CAI9E;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CASnD;AAaD,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,GAAG,GAAE,MAAoB,GACxB,OAAO,CAAC,QAAQ,CAAC,CAqBnB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAkB3D"}
@@ -1,97 +0,0 @@
1
- /**
2
- * Local PID lockfile at `~/.cache/acc-runner/locks/<task_id>.pid` so
3
- * two same-machine runner processes can't both enter the same task's
4
- * worktree. Held for the task lifetime, released in a finally.
5
- */
6
- import fs from "node:fs/promises";
7
- import os from "node:os";
8
- import path from "node:path";
9
- // Lazy so tests can override HOME between cases.
10
- export function locksDir() {
11
- return path.join(os.homedir(), ".cache", "acc-runner", "locks");
12
- }
13
- export class TaskLockHeldError extends Error {
14
- taskId;
15
- heldByPid;
16
- constructor(taskId, heldByPid) {
17
- super(`task ${taskId} lock held by pid ${heldByPid}`);
18
- this.taskId = taskId;
19
- this.heldByPid = heldByPid;
20
- this.name = "TaskLockHeldError";
21
- }
22
- }
23
- export function lockPath(taskId) {
24
- return path.join(locksDir(), `${taskId}.pid`);
25
- }
26
- export function isProcessAlive(pid) {
27
- if (!Number.isFinite(pid) || pid <= 0)
28
- return false;
29
- try {
30
- process.kill(pid, 0);
31
- return true;
32
- }
33
- catch (err) {
34
- // EPERM = exists but unsignalable — still alive.
35
- return err.code === "EPERM";
36
- }
37
- }
38
- async function readPid(file) {
39
- try {
40
- const text = await fs.readFile(file, "utf8");
41
- const pid = Number.parseInt(text.trim(), 10);
42
- return Number.isFinite(pid) && pid > 0 ? pid : null;
43
- }
44
- catch (err) {
45
- if (err.code === "ENOENT")
46
- return null;
47
- throw err;
48
- }
49
- }
50
- export async function acquireTaskLock(taskId, pid = process.pid) {
51
- await fs.mkdir(locksDir(), { recursive: true });
52
- const file = lockPath(taskId);
53
- const existing = await readPid(file);
54
- if (existing !== null && existing !== pid && isProcessAlive(existing)) {
55
- throw new TaskLockHeldError(taskId, existing);
56
- }
57
- await fs.writeFile(file, `${pid}\n`, "utf8");
58
- return {
59
- taskId,
60
- pidFile: file,
61
- async release() {
62
- try {
63
- // Only delete if we still own it — avoids stomping a recovered lock.
64
- const current = await readPid(file);
65
- if (current === pid)
66
- await fs.unlink(file);
67
- }
68
- catch (err) {
69
- if (err.code !== "ENOENT")
70
- throw err;
71
- }
72
- },
73
- };
74
- }
75
- export async function listStaleLocks() {
76
- let entries;
77
- try {
78
- entries = await fs.readdir(locksDir());
79
- }
80
- catch (err) {
81
- if (err.code === "ENOENT")
82
- return [];
83
- throw err;
84
- }
85
- const stale = [];
86
- for (const name of entries) {
87
- if (!name.endsWith(".pid"))
88
- continue;
89
- const file = path.join(locksDir(), name);
90
- const pid = await readPid(file);
91
- if (pid === null || !isProcessAlive(pid)) {
92
- stale.push({ taskId: name.slice(0, -4), pidFile: file, pid });
93
- }
94
- }
95
- return stale;
96
- }
97
- //# sourceMappingURL=locks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"locks.js","sourceRoot":"","sources":["../../src/runtime/locks.ts"],"names":[],"mappings":"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"}
@@ -1,37 +0,0 @@
1
- /**
2
- * v0.21 T-66-1 — in-process provisioning mutex.
3
- *
4
- * The runner runs up to `concurrencyLimit` tasks at once, but the per-task
5
- * worktree-provisioning critical section (`git fetch` + `git worktree
6
- * remove`/prune + `git worktree add`) all targets the SAME shared clone.
7
- * Two of those running concurrently collide on git's repo-global locks
8
- * (`.git/index.lock`, `HEAD.lock`, `packed-refs.lock`, `.git/worktrees/…`),
9
- * so the loser throws a git error in the pre-Claude phase and the task dies
10
- * (this is how T-65-2 failed in ~5s beside T-65-1; see
11
- * planning/T65-2_CONCURRENT_DISPATCH_ROOTCAUSE.md).
12
- *
13
- * `withProvisionLock` serializes ONLY that critical section, keyed by the
14
- * shared clone path. The long phases (the Claude run and the push) stay
15
- * concurrent up to `concurrencyLimit`, so the throughput benefit is
16
- * preserved — only the few seconds of git plumbing serialize. Serializing
17
- * the section also makes the v0.37-A stale-lock guard (`clearGitLocks`)
18
- * safe: it can no longer delete a `.git/*.lock` that a concurrent provision
19
- * is actively holding, because no concurrent provision against the same
20
- * clone can be in flight.
21
- *
22
- * The lock is a per-key promise chain: each caller appends its critical
23
- * section to the tail of the chain for its key and awaits the prior tail.
24
- * The chain advances in a `finally`, so a thrown critical section releases
25
- * the lock for the next waiter (no deadlock). Keys whose chain has drained
26
- * are dropped from the map so it can't grow unbounded.
27
- */
28
- /**
29
- * Run `fn` while holding the provisioning lock for `key` (the shared clone
30
- * path). Callers for the same key run strictly one-at-a-time, in arrival
31
- * order; callers for different keys never block each other. The resolved
32
- * value (or thrown error) of `fn` is passed straight through to the caller.
33
- */
34
- export declare function withProvisionLock<T>(key: string, fn: () => Promise<T>): Promise<T>;
35
- /** Test/diagnostic helper: number of clone keys with a live or pending chain. */
36
- export declare function activeProvisionKeys(): number;
37
- //# sourceMappingURL=provision-mutex.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"provision-mutex.d.ts","sourceRoot":"","sources":["../../src/runtime/provision-mutex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAMH;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EACvC,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CA2BZ;AAED,iFAAiF;AACjF,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C"}
@@ -1,67 +0,0 @@
1
- /**
2
- * v0.21 T-66-1 — in-process provisioning mutex.
3
- *
4
- * The runner runs up to `concurrencyLimit` tasks at once, but the per-task
5
- * worktree-provisioning critical section (`git fetch` + `git worktree
6
- * remove`/prune + `git worktree add`) all targets the SAME shared clone.
7
- * Two of those running concurrently collide on git's repo-global locks
8
- * (`.git/index.lock`, `HEAD.lock`, `packed-refs.lock`, `.git/worktrees/…`),
9
- * so the loser throws a git error in the pre-Claude phase and the task dies
10
- * (this is how T-65-2 failed in ~5s beside T-65-1; see
11
- * planning/T65-2_CONCURRENT_DISPATCH_ROOTCAUSE.md).
12
- *
13
- * `withProvisionLock` serializes ONLY that critical section, keyed by the
14
- * shared clone path. The long phases (the Claude run and the push) stay
15
- * concurrent up to `concurrencyLimit`, so the throughput benefit is
16
- * preserved — only the few seconds of git plumbing serialize. Serializing
17
- * the section also makes the v0.37-A stale-lock guard (`clearGitLocks`)
18
- * safe: it can no longer delete a `.git/*.lock` that a concurrent provision
19
- * is actively holding, because no concurrent provision against the same
20
- * clone can be in flight.
21
- *
22
- * The lock is a per-key promise chain: each caller appends its critical
23
- * section to the tail of the chain for its key and awaits the prior tail.
24
- * The chain advances in a `finally`, so a thrown critical section releases
25
- * the lock for the next waiter (no deadlock). Keys whose chain has drained
26
- * are dropped from the map so it can't grow unbounded.
27
- */
28
- // Per-key tail of the run queue. Resolves when the current holder's critical
29
- // section (and its release bookkeeping) has settled.
30
- const chains = new Map();
31
- /**
32
- * Run `fn` while holding the provisioning lock for `key` (the shared clone
33
- * path). Callers for the same key run strictly one-at-a-time, in arrival
34
- * order; callers for different keys never block each other. The resolved
35
- * value (or thrown error) of `fn` is passed straight through to the caller.
36
- */
37
- export async function withProvisionLock(key, fn) {
38
- // The predecessor we must wait behind (resolved/rejected — we don't care
39
- // which; we only need it to have finished touching the clone).
40
- const prior = chains.get(key) ?? Promise.resolve();
41
- // Our gate resolves when WE are done, letting the next waiter proceed.
42
- let release;
43
- const ours = new Promise((resolve) => {
44
- release = resolve;
45
- });
46
- // Append ourselves to the tail BEFORE awaiting, so a third caller queues
47
- // behind us, not behind our predecessor.
48
- chains.set(key, ours);
49
- // Wait for the predecessor to finish. `.catch` so a predecessor that threw
50
- // never rejects our wait — its failure is its own caller's problem.
51
- await prior.catch(() => undefined);
52
- try {
53
- return await fn();
54
- }
55
- finally {
56
- release();
57
- // Drop the key once our gate is the current tail (no one queued behind
58
- // us), so the map doesn't accumulate dead entries over the runner's life.
59
- if (chains.get(key) === ours)
60
- chains.delete(key);
61
- }
62
- }
63
- /** Test/diagnostic helper: number of clone keys with a live or pending chain. */
64
- export function activeProvisionKeys() {
65
- return chains.size;
66
- }
67
- //# sourceMappingURL=provision-mutex.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"provision-mutex.js","sourceRoot":"","sources":["../../src/runtime/provision-mutex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,6EAA6E;AAC7E,qDAAqD;AACrD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAW,EACX,EAAoB;IAEpB,yEAAyE;IACzE,+DAA+D;IAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAEnD,uEAAuE;IACvE,IAAI,OAAoB,CAAC;IACzB,MAAM,IAAI,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACzC,OAAO,GAAG,OAAO,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,yEAAyE;IACzE,yCAAyC;IACzC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAEtB,2EAA2E;IAC3E,oEAAoE;IACpE,MAAM,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAEnC,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,EAAE,CAAC;IACpB,CAAC;YAAS,CAAC;QACT,OAAO,EAAE,CAAC;QACV,uEAAuE;QACvE,0EAA0E;QAC1E,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI;YAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,mBAAmB;IACjC,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC"}
@@ -1,26 +0,0 @@
1
- import type { ClaudeExitClass } from "../failure-classifier.js";
2
- export interface QuarantineState {
3
- cause: ClaudeExitClass;
4
- classifiedAt: string;
5
- taskId: string;
6
- detail: string;
7
- /**
8
- * v0.53 T-53-4: how many consecutive instant-empty (heuristic) claude
9
- * exits triggered the quarantine. Cache-schema additive — older readers
10
- * ignore it; the keychain entry schema and the runner protocol message
11
- * shapes are untouched. Definitive machine failures (dyld, exit 127,
12
- * usage/auth patterns) record 1; a heuristic env_broken records 2 (the
13
- * task-runner only quarantines after the retry also exits instantly).
14
- * Optional so a state written by a pre-0.53 runner still parses.
15
- */
16
- consecutive?: number;
17
- }
18
- /** Path to the quarantine sentinel file. Configurable via ACC_RUNNER_CACHE_DIR for tests. */
19
- export declare function quarantineFile(): string;
20
- /** Returns the current quarantine state, or null when not quarantined. */
21
- export declare function getQuarantine(): Promise<QuarantineState | null>;
22
- /** Write the quarantine sentinel. Creates parent dirs if needed. */
23
- export declare function setQuarantine(state: QuarantineState): Promise<void>;
24
- /** Remove the quarantine sentinel. Safe to call when not quarantined. */
25
- export declare function clearQuarantine(): Promise<void>;
26
- //# sourceMappingURL=quarantine.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"quarantine.d.ts","sourceRoot":"","sources":["../../src/runtime/quarantine.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,eAAe,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,6FAA6F;AAC7F,wBAAgB,cAAc,IAAI,MAAM,CAMvC;AAED,0EAA0E;AAC1E,wBAAsB,aAAa,IAAI,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAQrE;AAED,oEAAoE;AACpE,wBAAsB,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAIzE;AAED,yEAAyE;AACzE,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAMrD"}
@@ -1,50 +0,0 @@
1
- /**
2
- * v0.48: per-runner quarantine state. Written to
3
- * ~/.cache/acc-runner/quarantine.json by the watch loop when the failure
4
- * classifier flags a machine-level failure (usage_limit | auth_expired |
5
- * env_broken). The presence of this file blocks pump() from claiming
6
- * new tasks so no further work is burned.
7
- *
8
- * Clearing the quarantine (after the operator resolves the underlying issue):
9
- * - Delete the file manually, OR
10
- * - Run `acc-runner quarantine clear` (wired in cli.ts).
11
- *
12
- * `acc-runner doctor` surfaces the quarantine state and its cause.
13
- */
14
- import fs from "node:fs/promises";
15
- import os from "node:os";
16
- import path from "node:path";
17
- /** Path to the quarantine sentinel file. Configurable via ACC_RUNNER_CACHE_DIR for tests. */
18
- export function quarantineFile() {
19
- return path.join(process.env.ACC_RUNNER_CACHE_DIR?.trim() ||
20
- path.join(os.homedir(), ".cache", "acc-runner"), "quarantine.json");
21
- }
22
- /** Returns the current quarantine state, or null when not quarantined. */
23
- export async function getQuarantine() {
24
- try {
25
- const raw = await fs.readFile(quarantineFile(), "utf8");
26
- return JSON.parse(raw);
27
- }
28
- catch (err) {
29
- if (err.code === "ENOENT")
30
- return null;
31
- throw err;
32
- }
33
- }
34
- /** Write the quarantine sentinel. Creates parent dirs if needed. */
35
- export async function setQuarantine(state) {
36
- const file = quarantineFile();
37
- await fs.mkdir(path.dirname(file), { recursive: true });
38
- await fs.writeFile(file, JSON.stringify(state, null, 2), "utf8");
39
- }
40
- /** Remove the quarantine sentinel. Safe to call when not quarantined. */
41
- export async function clearQuarantine() {
42
- try {
43
- await fs.unlink(quarantineFile());
44
- }
45
- catch (err) {
46
- if (err.code !== "ENOENT")
47
- throw err;
48
- }
49
- }
50
- //# sourceMappingURL=quarantine.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"quarantine.js","sourceRoot":"","sources":["../../src/runtime/quarantine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAoB7B,6FAA6F;AAC7F,MAAM,UAAU,cAAc;IAC5B,OAAO,IAAI,CAAC,IAAI,CACd,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,EAAE;QACtC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,YAAY,CAAC,EACjD,iBAAiB,CAClB,CAAC;AACJ,CAAC;AAED,0EAA0E;AAC1E,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAoB,CAAC;IAC5C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAClE,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,oEAAoE;AACpE,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAsB;IACxD,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;IAC9B,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACnE,CAAC;AAED,yEAAyE;AACzE,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,GAAG,CAAC;IAClE,CAAC;AACH,CAAC"}
@@ -1,86 +0,0 @@
1
- export type IntegrityAssertion = "conflict_markers" | "typecheck" | "version_regression" | "changelog_missing";
2
- export interface IntegrityFailure {
3
- assertion: IntegrityAssertion;
4
- /** Human-readable, log-safe (no secrets) explanation of the failure. */
5
- detail: string;
6
- /** Offending tracked files, when the assertion is file-scoped. */
7
- files?: string[];
8
- }
9
- export interface ResolutionIntegrityResult {
10
- ok: boolean;
11
- /** Assertions that actually ran (version checks skip when nothing changed). */
12
- checked: IntegrityAssertion[];
13
- failures: IntegrityFailure[];
14
- }
15
- /** A package.json / CHANGELOG.md pair to version-check, relative to workdir. */
16
- export interface VersionTarget {
17
- packageJsonPath: string;
18
- changelogPath: string;
19
- }
20
- export interface AssertResolutionOptions {
21
- /**
22
- * Base ref the resolution should not regress against (e.g. the integration
23
- * branch). When omitted, or when the base file can't be read, the version
24
- * assertion is skipped — never false-failed.
25
- */
26
- baseRef?: string;
27
- /** Typecheck command (defaults to `pnpm typecheck`). */
28
- typecheckCmd?: string;
29
- /**
30
- * package.json / CHANGELOG.md pairs to version-check. Defaults to the repo
31
- * root pair. The runner passes the acc-runner package pair (the #496 site).
32
- */
33
- versionTargets?: VersionTarget[];
34
- }
35
- export interface ResolutionIntegrityDeps {
36
- /** Tracked files still carrying a conflict marker. Default: `git grep`. */
37
- findConflictMarkers?: (workdir: string) => Promise<string[]>;
38
- /** Run the typecheck command. Default: spawn `pnpm typecheck` in workdir. */
39
- runTypecheck?: (workdir: string, cmd: string) => Promise<{
40
- ok: boolean;
41
- output: string;
42
- }>;
43
- /** Resolved (post-resolution, on-disk) version for a target, or null. */
44
- readResolvedVersion?: (workdir: string, target: VersionTarget) => Promise<string | null>;
45
- /** Base-ref version for a target, or null when unreadable (→ skip check). */
46
- readBaseVersion?: (workdir: string, baseRef: string, target: VersionTarget) => Promise<string | null>;
47
- /** CHANGELOG.md text for a target, or null when absent. */
48
- readChangelog?: (workdir: string, target: VersionTarget) => Promise<string | null>;
49
- }
50
- /**
51
- * Conflict-marker line shape: 7 of the same marker char at the start of a
52
- * line. `<<<<<<<` and `>>>>>>>` are unambiguous; the `=======` divider is
53
- * matched only as a whole line so a 7-equals markdown rule plus trailing text
54
- * does not trip it.
55
- */
56
- export declare const CONFLICT_MARKER_RE: RegExp;
57
- export declare function textHasConflictMarker(text: string): boolean;
58
- /** Semver compare (a-b sign); tolerant of pre-release/build suffixes. */
59
- export declare function cmpSemver(a: string, b: string): number;
60
- /**
61
- * True when `changelog` carries an entry for `version`. The version must
62
- * appear bounded by non-version characters so 0.14.0 does not match inside
63
- * 0.14.00 or 10.14.0.
64
- */
65
- export declare function changelogMentionsVersion(changelog: string, version: string): boolean;
66
- export declare const DEFAULT_VERSION_TARGET: VersionTarget;
67
- /**
68
- * Assert that a conflict resolution in `workdir` is shippable. Returns a
69
- * structured result; `ok === false` means the caller MUST reject the
70
- * resolution (do not push, do not mark resolved).
71
- */
72
- export declare function assertResolutionIntegrity(workdir: string, opts?: AssertResolutionOptions, deps?: ResolutionIntegrityDeps): Promise<ResolutionIntegrityResult>;
73
- /**
74
- * True when a task that reaches the worktree/push path is a conflict
75
- * resolution and must clear the integrity guardrail. `conflict_resolution`
76
- * task types are handled mechanically upstream and never reach the push path,
77
- * so the live signal here is the title an operator/manager files when the
78
- * mechanical resolver bails and a Claude session takes over the merge.
79
- */
80
- export declare function isConflictResolutionTask(task: {
81
- type?: string | null;
82
- title?: string | null;
83
- }): boolean;
84
- /** One-line, log-safe summary of which assertions failed. */
85
- export declare function summariseFailures(failures: IntegrityFailure[]): string;
86
- //# sourceMappingURL=resolution-integrity.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolution-integrity.d.ts","sourceRoot":"","sources":["../../src/runtime/resolution-integrity.ts"],"names":[],"mappings":"AAsCA,MAAM,MAAM,kBAAkB,GAC1B,kBAAkB,GAClB,WAAW,GACX,oBAAoB,GACpB,mBAAmB,CAAC;AAExB,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,kBAAkB,CAAC;IAC9B,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,OAAO,CAAC;IACZ,+EAA+E;IAC/E,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B;AAED,gFAAgF;AAChF,MAAM,WAAW,aAAa;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,uBAAuB;IACtC,2EAA2E;IAC3E,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7D,6EAA6E;IAC7E,YAAY,CAAC,EAAE,CACb,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,KACR,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9C,yEAAyE;IACzE,mBAAmB,CAAC,EAAE,CACpB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,aAAa,KAClB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5B,6EAA6E;IAC7E,eAAe,CAAC,EAAE,CAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,aAAa,KAClB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5B,2DAA2D;IAC3D,aAAa,CAAC,EAAE,CACd,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,aAAa,KAClB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC7B;AAMD;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,QAAsC,CAAC;AAEtE,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED,yEAAyE;AACzE,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAQtD;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,OAAO,CAGT;AAED,eAAO,MAAM,sBAAsB,EAAE,aAGpC,CAAC;AAqGF;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,uBAA4B,EAClC,IAAI,GAAE,uBAA4B,GACjC,OAAO,CAAC,yBAAyB,CAAC,CAgFpC;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,GAAG,OAAO,CAIV;AAED,6DAA6D;AAC7D,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAEtE"}