@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.
- package/README.md +77 -4
- package/package.json +1 -1
- package/dist/anthropic-auth.d.ts +0 -53
- package/dist/anthropic-auth.d.ts.map +0 -1
- package/dist/anthropic-auth.js +0 -89
- package/dist/anthropic-auth.js.map +0 -1
- package/dist/bin-resolve.d.ts +0 -16
- package/dist/bin-resolve.d.ts.map +0 -1
- package/dist/bin-resolve.js +0 -35
- package/dist/bin-resolve.js.map +0 -1
- package/dist/cli.d.ts +0 -3
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -128
- package/dist/cli.js.map +0 -1
- package/dist/config.d.ts +0 -121
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -396
- package/dist/config.js.map +0 -1
- package/dist/cost-pricing.d.ts +0 -130
- package/dist/cost-pricing.d.ts.map +0 -1
- package/dist/cost-pricing.js +0 -191
- package/dist/cost-pricing.js.map +0 -1
- package/dist/doctor.d.ts +0 -37
- package/dist/doctor.d.ts.map +0 -1
- package/dist/doctor.js +0 -658
- package/dist/doctor.js.map +0 -1
- package/dist/failure-classifier.d.ts +0 -112
- package/dist/failure-classifier.d.ts.map +0 -1
- package/dist/failure-classifier.js +0 -353
- package/dist/failure-classifier.js.map +0 -1
- package/dist/gh.d.ts +0 -22
- package/dist/gh.d.ts.map +0 -1
- package/dist/gh.js +0 -48
- package/dist/gh.js.map +0 -1
- package/dist/git.d.ts +0 -50
- package/dist/git.d.ts.map +0 -1
- package/dist/git.js +0 -127
- package/dist/git.js.map +0 -1
- package/dist/github-client.d.ts +0 -133
- package/dist/github-client.d.ts.map +0 -1
- package/dist/github-client.js +0 -234
- package/dist/github-client.js.map +0 -1
- package/dist/keychain.d.ts +0 -21
- package/dist/keychain.d.ts.map +0 -1
- package/dist/keychain.js +0 -45
- package/dist/keychain.js.map +0 -1
- package/dist/login.d.ts +0 -12
- package/dist/login.d.ts.map +0 -1
- package/dist/login.js +0 -133
- package/dist/login.js.map +0 -1
- package/dist/logout.d.ts +0 -2
- package/dist/logout.d.ts.map +0 -1
- package/dist/logout.js +0 -31
- package/dist/logout.js.map +0 -1
- package/dist/mcp-spawn.d.ts +0 -30
- package/dist/mcp-spawn.d.ts.map +0 -1
- package/dist/mcp-spawn.js +0 -145
- package/dist/mcp-spawn.js.map +0 -1
- package/dist/messaging.d.ts +0 -49
- package/dist/messaging.d.ts.map +0 -1
- package/dist/messaging.js +0 -36
- package/dist/messaging.js.map +0 -1
- package/dist/pkg-version.d.ts +0 -3
- package/dist/pkg-version.d.ts.map +0 -1
- package/dist/pkg-version.js +0 -20
- package/dist/pkg-version.js.map +0 -1
- package/dist/profiles/designer-prompt.d.ts +0 -18
- package/dist/profiles/designer-prompt.d.ts.map +0 -1
- package/dist/profiles/designer-prompt.js +0 -172
- package/dist/profiles/designer-prompt.js.map +0 -1
- package/dist/profiles/developer-prompt.d.ts +0 -24
- package/dist/profiles/developer-prompt.d.ts.map +0 -1
- package/dist/profiles/developer-prompt.js +0 -24
- package/dist/profiles/developer-prompt.js.map +0 -1
- package/dist/profiles/manager-prompt.d.ts +0 -34
- package/dist/profiles/manager-prompt.d.ts.map +0 -1
- package/dist/profiles/manager-prompt.js +0 -93
- package/dist/profiles/manager-prompt.js.map +0 -1
- package/dist/profiles/tester-prompt.d.ts +0 -28
- package/dist/profiles/tester-prompt.d.ts.map +0 -1
- package/dist/profiles/tester-prompt.js +0 -165
- package/dist/profiles/tester-prompt.js.map +0 -1
- package/dist/prompt.d.ts +0 -38
- package/dist/prompt.d.ts.map +0 -1
- package/dist/prompt.js +0 -78
- package/dist/prompt.js.map +0 -1
- package/dist/runtime/cache-dir.d.ts +0 -2
- package/dist/runtime/cache-dir.d.ts.map +0 -1
- package/dist/runtime/cache-dir.js +0 -15
- package/dist/runtime/cache-dir.js.map +0 -1
- package/dist/runtime/conflict-resolver.d.ts +0 -65
- package/dist/runtime/conflict-resolver.d.ts.map +0 -1
- package/dist/runtime/conflict-resolver.js +0 -477
- package/dist/runtime/conflict-resolver.js.map +0 -1
- package/dist/runtime/expand-args.d.ts +0 -28
- package/dist/runtime/expand-args.d.ts.map +0 -1
- package/dist/runtime/expand-args.js +0 -50
- package/dist/runtime/expand-args.js.map +0 -1
- package/dist/runtime/locks.d.ts +0 -21
- package/dist/runtime/locks.d.ts.map +0 -1
- package/dist/runtime/locks.js +0 -97
- package/dist/runtime/locks.js.map +0 -1
- package/dist/runtime/provision-mutex.d.ts +0 -37
- package/dist/runtime/provision-mutex.d.ts.map +0 -1
- package/dist/runtime/provision-mutex.js +0 -67
- package/dist/runtime/provision-mutex.js.map +0 -1
- package/dist/runtime/quarantine.d.ts +0 -26
- package/dist/runtime/quarantine.d.ts.map +0 -1
- package/dist/runtime/quarantine.js +0 -50
- package/dist/runtime/quarantine.js.map +0 -1
- package/dist/runtime/resolution-integrity.d.ts +0 -86
- package/dist/runtime/resolution-integrity.d.ts.map +0 -1
- package/dist/runtime/resolution-integrity.js +0 -248
- package/dist/runtime/resolution-integrity.js.map +0 -1
- package/dist/runtime/reviewer.d.ts +0 -81
- package/dist/runtime/reviewer.d.ts.map +0 -1
- package/dist/runtime/reviewer.js +0 -374
- package/dist/runtime/reviewer.js.map +0 -1
- package/dist/runtime/rework.d.ts +0 -48
- package/dist/runtime/rework.d.ts.map +0 -1
- package/dist/runtime/rework.js +0 -136
- package/dist/runtime/rework.js.map +0 -1
- package/dist/runtime/singleton.d.ts +0 -47
- package/dist/runtime/singleton.d.ts.map +0 -1
- package/dist/runtime/singleton.js +0 -200
- package/dist/runtime/singleton.js.map +0 -1
- package/dist/runtime/version-drift.d.ts +0 -31
- package/dist/runtime/version-drift.d.ts.map +0 -1
- package/dist/runtime/version-drift.js +0 -114
- package/dist/runtime/version-drift.js.map +0 -1
- package/dist/runtime/worktree.d.ts +0 -74
- package/dist/runtime/worktree.d.ts.map +0 -1
- package/dist/runtime/worktree.js +0 -206
- package/dist/runtime/worktree.js.map +0 -1
- package/dist/secrets/inject.d.ts +0 -70
- package/dist/secrets/inject.d.ts.map +0 -1
- package/dist/secrets/inject.js +0 -102
- package/dist/secrets/inject.js.map +0 -1
- package/dist/supabase.d.ts +0 -4
- package/dist/supabase.d.ts.map +0 -1
- package/dist/supabase.js +0 -36
- package/dist/supabase.js.map +0 -1
- package/dist/task-runner.d.ts +0 -313
- package/dist/task-runner.d.ts.map +0 -1
- package/dist/task-runner.js +0 -1766
- package/dist/task-runner.js.map +0 -1
- package/dist/token-provider.d.ts +0 -50
- package/dist/token-provider.d.ts.map +0 -1
- package/dist/token-provider.js +0 -177
- package/dist/token-provider.js.map +0 -1
- package/dist/types.d.ts +0 -120
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -16
- package/dist/types.js.map +0 -1
- package/dist/version-check.d.ts +0 -17
- package/dist/version-check.d.ts.map +0 -1
- package/dist/version-check.js +0 -56
- package/dist/version-check.js.map +0 -1
- package/dist/watch.d.ts +0 -295
- package/dist/watch.d.ts.map +0 -1
- package/dist/watch.js +0 -1532
- package/dist/watch.js.map +0 -1
package/dist/doctor.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* v0.48: classify a non-zero claude CLI exit into one of five categories
|
|
3
|
-
* so the watch loop can distinguish machine-level failures (which should
|
|
4
|
-
* quarantine the runner) from genuine task errors (which count toward the
|
|
5
|
-
* task's retry budget) and from a spent capacity window (which should
|
|
6
|
-
* PAUSE, not quarantine).
|
|
7
|
-
*
|
|
8
|
-
* The six classes:
|
|
9
|
-
* capacity_exhausted — Claude/Anthropic session or usage limit reached
|
|
10
|
-
* (api_error_status 429 + a "resets <time>" message).
|
|
11
|
-
* A NEW v0.56 (T-56-1) retryable-infra class: capacity is
|
|
12
|
-
* a resource, not a failure. NEVER task_error and NEVER
|
|
13
|
-
* quarantine — the runner pauses claiming until the stated
|
|
14
|
-
* reset time (or a default backoff) then resumes with a
|
|
15
|
-
* single probe. Root cause of the 2026-06-05 brownout.
|
|
16
|
-
* claude_unavailable — A NEW v0.63 (T-63-1) retryable-infra class: claude
|
|
17
|
-
* exited fast with NO output AND no env/auth/usage signal —
|
|
18
|
-
* the silent instant-empty fingerprint. Pre-v0.63 the pd36
|
|
19
|
-
* heuristic called this env_broken and (after 2 in a row)
|
|
20
|
-
* quarantined the runner; but a brief/silent claude window
|
|
21
|
-
* (a usage blip that exits without a 429, or a momentary API
|
|
22
|
-
* hiccup) presents identically. Silence alone cannot tell
|
|
23
|
-
* "broken host" from "claude momentarily down", so this class
|
|
24
|
-
* is RETRYABLE (pause + backoff + retry, like
|
|
25
|
-
* capacity_exhausted) and NEVER quarantines on its own. The
|
|
26
|
-
* task-runner's `claude --version` health probe is the
|
|
27
|
-
* authoritative tiebreaker: if the probe fails, the host is
|
|
28
|
-
* genuinely broken and the exit is upgraded to env_broken.
|
|
29
|
-
* Root cause of the live T-63-1 self-quarantine incident.
|
|
30
|
-
* usage_limit — A hard Claude/Anthropic plan limit that will NOT reset
|
|
31
|
-
* on its own soon (out of credits, monthly spend cap,
|
|
32
|
-
* quota exhausted). Quarantine is still the right response
|
|
33
|
-
* — an operator has to top up or wait out the billing cycle.
|
|
34
|
-
* auth_expired — API key invalid or session expired on the user's machine.
|
|
35
|
-
* env_broken — Host-side environment failure (dyld, missing binary, OOM).
|
|
36
|
-
* Root cause of the pd36 claim-and-fail storm (INCIDENT_2026-06-02).
|
|
37
|
-
* task_error — Everything else; genuine task-level failure.
|
|
38
|
-
*
|
|
39
|
-
* Only task_error counts toward a task's retry budget. usage_limit /
|
|
40
|
-
* auth_expired / env_broken trigger runner quarantine in watch.ts;
|
|
41
|
-
* capacity_exhausted and claude_unavailable trigger the pause/resume path
|
|
42
|
-
* instead (capacity until a reset time, claude_unavailable with an
|
|
43
|
-
* exponential backoff).
|
|
44
|
-
*/
|
|
45
|
-
export type ClaudeExitClass = "capacity_exhausted" | "claude_unavailable" | "usage_limit" | "auth_expired" | "env_broken" | "task_error";
|
|
46
|
-
export interface ClassifiedExit {
|
|
47
|
-
exitCode: number | null;
|
|
48
|
-
class: ClaudeExitClass;
|
|
49
|
-
detail: string;
|
|
50
|
-
/**
|
|
51
|
-
* v0.53 T-53-4: true ONLY when the class was inferred from the
|
|
52
|
-
* fast-exit/empty-output heuristic (the pd36 fingerprint), not from a
|
|
53
|
-
* definitive signal (exit 127, a matched dyld/OOM/usage/auth pattern).
|
|
54
|
-
*
|
|
55
|
-
* v0.63 T-63-1: the heuristic now yields `claude_unavailable` (retryable),
|
|
56
|
-
* NOT `env_broken` (quarantine). A lone instant-empty exit was always too
|
|
57
|
-
* weak to bench a healthy machine (v0.52 incident (d) — ONE 249ms empty
|
|
58
|
-
* exit quarantined a working box); the live T-63-1 incident proved that
|
|
59
|
-
* even TWO in a row can be a transient/silent claude window rather than a
|
|
60
|
-
* broken host. The task-runner still retries the spawn once, but a
|
|
61
|
-
* confirmed instant-empty streak now routes to pause + backoff + retry and
|
|
62
|
-
* only escalates to env_broken (quarantine) when a `claude --version`
|
|
63
|
-
* health probe ALSO fails. Absent/false on every non-heuristic
|
|
64
|
-
* classification.
|
|
65
|
-
*/
|
|
66
|
-
heuristic?: boolean;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* v0.56 (T-56-1): pull `api_error_status` out of claude's
|
|
70
|
-
* `--output-format=json` envelope. On a session/usage limit the CLI exits
|
|
71
|
-
* 1 with a JSON object carrying `{ "is_error": true, "api_error_status":
|
|
72
|
-
* 429, "result": "You've hit your session limit - resets 3:20pm
|
|
73
|
-
* (Asia/Calcutta)" }`. Returns the numeric status when present, else null.
|
|
74
|
-
* Kept self-contained (a local parse, no cost-pricing import) so the
|
|
75
|
-
* classifier stays a pure (strings) → class function for unit tests.
|
|
76
|
-
*/
|
|
77
|
-
export declare function parseApiErrorStatus(stdout: string): number | null;
|
|
78
|
-
/**
|
|
79
|
-
* v0.56 (T-56-1): parse the reset time Claude states when it pauses a
|
|
80
|
-
* session ("...resets 3:20pm (Asia/Calcutta)") into an absolute epoch
|
|
81
|
-
* (ms). The runner schedules its capacity resume off this so it wakes
|
|
82
|
-
* exactly when the window reopens rather than guessing a fixed backoff.
|
|
83
|
-
*
|
|
84
|
-
* - 12h ("3:20pm") and 24h ("15:20") clock forms are both accepted.
|
|
85
|
-
* - A parenthetical IANA zone ("(Asia/Calcutta)") is honoured; without
|
|
86
|
-
* one the time is read in the runner's local zone.
|
|
87
|
-
* - The soonest FUTURE occurrence wins: a stated time already past today
|
|
88
|
-
* rolls to tomorrow.
|
|
89
|
-
*
|
|
90
|
-
* Returns null when no reset time is present or the zone is unparseable —
|
|
91
|
-
* the caller then falls back to a default backoff.
|
|
92
|
-
*/
|
|
93
|
-
export declare function extractResetTime(text: string, now?: number): number | null;
|
|
94
|
-
/**
|
|
95
|
-
* Classify a non-zero claude exit.
|
|
96
|
-
*
|
|
97
|
-
* @param exitCode Process exit code (null when killed by a signal).
|
|
98
|
-
* @param stderr Full captured stderr from the claude process.
|
|
99
|
-
* @param stdout Full captured stdout from the claude process.
|
|
100
|
-
* @param durationMs Approximate ms from spawn() to exit (optional; enables
|
|
101
|
-
* the fast-exit env_broken heuristic when provided).
|
|
102
|
-
*/
|
|
103
|
-
export declare function classifyClaudeExit(exitCode: number | null, stderr: string, stdout: string, durationMs?: number): ClassifiedExit;
|
|
104
|
-
/**
|
|
105
|
-
* v0.21 T-66-1: true when a git error message is repo-global lock contention
|
|
106
|
-
* from concurrent worktree provisioning (see GIT_PROVISION_CONTENTION_PATTERNS).
|
|
107
|
-
* The task-runner uses this in its git-prep catch to REQUEUE the task with a
|
|
108
|
-
* structured `git_provision_contention` reason instead of marking it `failed`,
|
|
109
|
-
* since the collision is transient and the task re-provisions cleanly on retry.
|
|
110
|
-
*/
|
|
111
|
-
export declare function isGitProvisionContention(message: string): boolean;
|
|
112
|
-
//# sourceMappingURL=failure-classifier.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"failure-classifier.d.ts","sourceRoot":"","sources":["../src/failure-classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,MAAM,MAAM,eAAe,GACvB,oBAAoB,GACpB,oBAAoB,GACpB,aAAa,GACb,cAAc,GACd,YAAY,GACZ,YAAY,CAAC;AAEjB,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,eAAe,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;;;;;;;;;OAeG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AA0ED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAYjE;AA2DD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,MAAmB,GAAG,MAAM,GAAG,IAAI,CAiCtF;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,MAAM,GAClB,cAAc,CAqFhB;AAwBD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGjE"}
|
|
@@ -1,353 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* v0.48: classify a non-zero claude CLI exit into one of five categories
|
|
3
|
-
* so the watch loop can distinguish machine-level failures (which should
|
|
4
|
-
* quarantine the runner) from genuine task errors (which count toward the
|
|
5
|
-
* task's retry budget) and from a spent capacity window (which should
|
|
6
|
-
* PAUSE, not quarantine).
|
|
7
|
-
*
|
|
8
|
-
* The six classes:
|
|
9
|
-
* capacity_exhausted — Claude/Anthropic session or usage limit reached
|
|
10
|
-
* (api_error_status 429 + a "resets <time>" message).
|
|
11
|
-
* A NEW v0.56 (T-56-1) retryable-infra class: capacity is
|
|
12
|
-
* a resource, not a failure. NEVER task_error and NEVER
|
|
13
|
-
* quarantine — the runner pauses claiming until the stated
|
|
14
|
-
* reset time (or a default backoff) then resumes with a
|
|
15
|
-
* single probe. Root cause of the 2026-06-05 brownout.
|
|
16
|
-
* claude_unavailable — A NEW v0.63 (T-63-1) retryable-infra class: claude
|
|
17
|
-
* exited fast with NO output AND no env/auth/usage signal —
|
|
18
|
-
* the silent instant-empty fingerprint. Pre-v0.63 the pd36
|
|
19
|
-
* heuristic called this env_broken and (after 2 in a row)
|
|
20
|
-
* quarantined the runner; but a brief/silent claude window
|
|
21
|
-
* (a usage blip that exits without a 429, or a momentary API
|
|
22
|
-
* hiccup) presents identically. Silence alone cannot tell
|
|
23
|
-
* "broken host" from "claude momentarily down", so this class
|
|
24
|
-
* is RETRYABLE (pause + backoff + retry, like
|
|
25
|
-
* capacity_exhausted) and NEVER quarantines on its own. The
|
|
26
|
-
* task-runner's `claude --version` health probe is the
|
|
27
|
-
* authoritative tiebreaker: if the probe fails, the host is
|
|
28
|
-
* genuinely broken and the exit is upgraded to env_broken.
|
|
29
|
-
* Root cause of the live T-63-1 self-quarantine incident.
|
|
30
|
-
* usage_limit — A hard Claude/Anthropic plan limit that will NOT reset
|
|
31
|
-
* on its own soon (out of credits, monthly spend cap,
|
|
32
|
-
* quota exhausted). Quarantine is still the right response
|
|
33
|
-
* — an operator has to top up or wait out the billing cycle.
|
|
34
|
-
* auth_expired — API key invalid or session expired on the user's machine.
|
|
35
|
-
* env_broken — Host-side environment failure (dyld, missing binary, OOM).
|
|
36
|
-
* Root cause of the pd36 claim-and-fail storm (INCIDENT_2026-06-02).
|
|
37
|
-
* task_error — Everything else; genuine task-level failure.
|
|
38
|
-
*
|
|
39
|
-
* Only task_error counts toward a task's retry budget. usage_limit /
|
|
40
|
-
* auth_expired / env_broken trigger runner quarantine in watch.ts;
|
|
41
|
-
* capacity_exhausted and claude_unavailable trigger the pause/resume path
|
|
42
|
-
* instead (capacity until a reset time, claude_unavailable with an
|
|
43
|
-
* exponential backoff).
|
|
44
|
-
*/
|
|
45
|
-
// v0.56 (T-56-1): signatures of a SPENT-BUT-RECOVERABLE capacity window —
|
|
46
|
-
// the session/usage limit Claude resets on a clock (vs. usage_limit below,
|
|
47
|
-
// which is a hard billing wall). These must stay disjoint from the
|
|
48
|
-
// usage_limit patterns so the live 2026-06-05 signature
|
|
49
|
-
// ("You've hit your session limit - resets 3:20pm (Asia/Calcutta)")
|
|
50
|
-
// routes to pause, while "out of credits" / "monthly spend limit" still
|
|
51
|
-
// route to quarantine. The authoritative signal is api_error_status 429 in
|
|
52
|
-
// the result JSON; these message patterns are the fallback when the runner
|
|
53
|
-
// only has plain text (older claude, or the JSON envelope was not emitted).
|
|
54
|
-
const CAPACITY_PATTERNS = [
|
|
55
|
-
/hit your (?:session|usage|account) limit/i,
|
|
56
|
-
/session limit/i,
|
|
57
|
-
/(?:session|usage|account|limit).*resets?\b/i,
|
|
58
|
-
/resets?\s+(?:at\s+)?\d{1,2}(?::\d{2})?\s*(?:am|pm)/i,
|
|
59
|
-
];
|
|
60
|
-
const USAGE_LIMIT_PATTERNS = [
|
|
61
|
-
/usage limit/i,
|
|
62
|
-
/you have reached the maximum number of tokens/i,
|
|
63
|
-
/rate limit exceeded/i,
|
|
64
|
-
/out of credits/i,
|
|
65
|
-
/monthly spend limit/i,
|
|
66
|
-
/plan limit/i,
|
|
67
|
-
/quota exceeded/i,
|
|
68
|
-
/daily message limit/i,
|
|
69
|
-
/exceeded.*(?:quota|limit|credits)/i,
|
|
70
|
-
];
|
|
71
|
-
const AUTH_EXPIRED_PATTERNS = [
|
|
72
|
-
/invalid api key/i,
|
|
73
|
-
/authentication.*failed/i,
|
|
74
|
-
/invalid x-api-key/i,
|
|
75
|
-
/unauthorized/i,
|
|
76
|
-
/please.*(?:log in|sign in|authenticate)/i,
|
|
77
|
-
/session.*expired/i,
|
|
78
|
-
/api key.*(?:expired|invalid|not found)/i,
|
|
79
|
-
/not authenticated/i,
|
|
80
|
-
/invalid.*credentials/i,
|
|
81
|
-
/access denied/i,
|
|
82
|
-
];
|
|
83
|
-
// Signatures of a broken host environment (missing libs, OOM, bad PATH).
|
|
84
|
-
// These are distinct from task errors because they will recur on every task
|
|
85
|
-
// until the operator fixes the machine — quarantine is the right response.
|
|
86
|
-
const ENV_BROKEN_PATTERNS = [
|
|
87
|
-
/dyld.*(?:library|framework)/i,
|
|
88
|
-
/library not loaded/i,
|
|
89
|
-
/image not found/i,
|
|
90
|
-
/no such file or directory.*claude/i,
|
|
91
|
-
/icu4c/i,
|
|
92
|
-
/abort trap/i,
|
|
93
|
-
/segmentation fault/i,
|
|
94
|
-
/killed/i,
|
|
95
|
-
/exec.*enoent/i,
|
|
96
|
-
/command not found/i,
|
|
97
|
-
/cannot open shared object/i,
|
|
98
|
-
/failed to load.*dynamic/i,
|
|
99
|
-
/libc\+\+/i,
|
|
100
|
-
/libssl/i,
|
|
101
|
-
/error while loading shared/i,
|
|
102
|
-
];
|
|
103
|
-
// Below this duration with near-empty output we infer env_broken.
|
|
104
|
-
// This is the pd36 heuristic: a real task always produces some stdout
|
|
105
|
-
// (claude's preamble, model init, etc.) before it can fail on task content.
|
|
106
|
-
const FAST_EXIT_MS = 5_000;
|
|
107
|
-
const FAST_EXIT_MAX_OUTPUT_BYTES = 100;
|
|
108
|
-
function matchesAny(text, patterns) {
|
|
109
|
-
return patterns.some((p) => p.test(text));
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* v0.56 (T-56-1): pull `api_error_status` out of claude's
|
|
113
|
-
* `--output-format=json` envelope. On a session/usage limit the CLI exits
|
|
114
|
-
* 1 with a JSON object carrying `{ "is_error": true, "api_error_status":
|
|
115
|
-
* 429, "result": "You've hit your session limit - resets 3:20pm
|
|
116
|
-
* (Asia/Calcutta)" }`. Returns the numeric status when present, else null.
|
|
117
|
-
* Kept self-contained (a local parse, no cost-pricing import) so the
|
|
118
|
-
* classifier stays a pure (strings) → class function for unit tests.
|
|
119
|
-
*/
|
|
120
|
-
export function parseApiErrorStatus(stdout) {
|
|
121
|
-
const trimmed = stdout.trim();
|
|
122
|
-
if (!trimmed.startsWith("{"))
|
|
123
|
-
return null;
|
|
124
|
-
try {
|
|
125
|
-
const parsed = JSON.parse(trimmed);
|
|
126
|
-
const status = parsed?.api_error_status;
|
|
127
|
-
if (typeof status === "number")
|
|
128
|
-
return status;
|
|
129
|
-
if (typeof status === "string" && /^\d+$/.test(status))
|
|
130
|
-
return Number(status);
|
|
131
|
-
return null;
|
|
132
|
-
}
|
|
133
|
-
catch {
|
|
134
|
-
return null;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
const RESET_TIME_RE = /resets?\s+(?:at\s+|by\s+)?(\d{1,2})(?::(\d{2}))?\s*(am|pm)?\s*(?:\(([^)]+)\))?/i;
|
|
138
|
-
function tzDateParts(instant, tz) {
|
|
139
|
-
const dtf = new Intl.DateTimeFormat("en-US", {
|
|
140
|
-
timeZone: tz,
|
|
141
|
-
year: "numeric",
|
|
142
|
-
month: "2-digit",
|
|
143
|
-
day: "2-digit",
|
|
144
|
-
hour: "2-digit",
|
|
145
|
-
minute: "2-digit",
|
|
146
|
-
second: "2-digit",
|
|
147
|
-
hour12: false,
|
|
148
|
-
});
|
|
149
|
-
const map = {};
|
|
150
|
-
for (const p of dtf.formatToParts(instant)) {
|
|
151
|
-
if (p.type !== "literal")
|
|
152
|
-
map[p.type] = p.value;
|
|
153
|
-
}
|
|
154
|
-
// Intl can emit "24" for midnight in hour12:false mode; normalise to 0.
|
|
155
|
-
const hour = Number(map.hour) === 24 ? 0 : Number(map.hour);
|
|
156
|
-
return {
|
|
157
|
-
year: Number(map.year),
|
|
158
|
-
month: Number(map.month),
|
|
159
|
-
day: Number(map.day),
|
|
160
|
-
hour,
|
|
161
|
-
minute: Number(map.minute),
|
|
162
|
-
second: Number(map.second),
|
|
163
|
-
};
|
|
164
|
-
}
|
|
165
|
-
/** Offset (ms) of `tz` relative to UTC at the given instant (east = positive). */
|
|
166
|
-
function zoneOffsetMs(instant, tz) {
|
|
167
|
-
const p = tzDateParts(instant, tz);
|
|
168
|
-
const asUtc = Date.UTC(p.year, p.month - 1, p.day, p.hour, p.minute, p.second);
|
|
169
|
-
return asUtc - instant;
|
|
170
|
-
}
|
|
171
|
-
/** Resolve a wall-clock Y-M-D H:M in `tz` to a UTC epoch (one DST refinement). */
|
|
172
|
-
function wallClockToUtc(year, month, day, hour, minute, tz) {
|
|
173
|
-
const guess = Date.UTC(year, month - 1, day, hour, minute, 0);
|
|
174
|
-
let instant = guess - zoneOffsetMs(guess, tz);
|
|
175
|
-
const off2 = zoneOffsetMs(instant, tz);
|
|
176
|
-
const refined = guess - off2;
|
|
177
|
-
if (refined !== instant)
|
|
178
|
-
instant = refined;
|
|
179
|
-
return instant;
|
|
180
|
-
}
|
|
181
|
-
/**
|
|
182
|
-
* v0.56 (T-56-1): parse the reset time Claude states when it pauses a
|
|
183
|
-
* session ("...resets 3:20pm (Asia/Calcutta)") into an absolute epoch
|
|
184
|
-
* (ms). The runner schedules its capacity resume off this so it wakes
|
|
185
|
-
* exactly when the window reopens rather than guessing a fixed backoff.
|
|
186
|
-
*
|
|
187
|
-
* - 12h ("3:20pm") and 24h ("15:20") clock forms are both accepted.
|
|
188
|
-
* - A parenthetical IANA zone ("(Asia/Calcutta)") is honoured; without
|
|
189
|
-
* one the time is read in the runner's local zone.
|
|
190
|
-
* - The soonest FUTURE occurrence wins: a stated time already past today
|
|
191
|
-
* rolls to tomorrow.
|
|
192
|
-
*
|
|
193
|
-
* Returns null when no reset time is present or the zone is unparseable —
|
|
194
|
-
* the caller then falls back to a default backoff.
|
|
195
|
-
*/
|
|
196
|
-
export function extractResetTime(text, now = Date.now()) {
|
|
197
|
-
if (!text)
|
|
198
|
-
return null;
|
|
199
|
-
const m = RESET_TIME_RE.exec(text);
|
|
200
|
-
if (!m)
|
|
201
|
-
return null;
|
|
202
|
-
let hour = Number(m[1]);
|
|
203
|
-
const minute = m[2] ? Number(m[2]) : 0;
|
|
204
|
-
const ampm = m[3]?.toLowerCase();
|
|
205
|
-
const tz = m[4]?.trim();
|
|
206
|
-
if (Number.isNaN(hour) || hour > 23 || minute > 59)
|
|
207
|
-
return null;
|
|
208
|
-
if (ampm === "pm" && hour < 12)
|
|
209
|
-
hour += 12;
|
|
210
|
-
if (ampm === "am" && hour === 12)
|
|
211
|
-
hour = 0;
|
|
212
|
-
try {
|
|
213
|
-
if (tz) {
|
|
214
|
-
const today = tzDateParts(now, tz);
|
|
215
|
-
let instant = wallClockToUtc(today.year, today.month, today.day, hour, minute, tz);
|
|
216
|
-
if (instant <= now) {
|
|
217
|
-
const tomorrow = tzDateParts(now + 24 * 3_600_000, tz);
|
|
218
|
-
instant = wallClockToUtc(tomorrow.year, tomorrow.month, tomorrow.day, hour, minute, tz);
|
|
219
|
-
}
|
|
220
|
-
return instant;
|
|
221
|
-
}
|
|
222
|
-
const local = new Date(now);
|
|
223
|
-
local.setHours(hour, minute, 0, 0);
|
|
224
|
-
let instant = local.getTime();
|
|
225
|
-
if (instant <= now)
|
|
226
|
-
instant += 24 * 3_600_000;
|
|
227
|
-
return instant;
|
|
228
|
-
}
|
|
229
|
-
catch {
|
|
230
|
-
// Unknown/garbled IANA zone — let the caller apply its default backoff.
|
|
231
|
-
return null;
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
/**
|
|
235
|
-
* Classify a non-zero claude exit.
|
|
236
|
-
*
|
|
237
|
-
* @param exitCode Process exit code (null when killed by a signal).
|
|
238
|
-
* @param stderr Full captured stderr from the claude process.
|
|
239
|
-
* @param stdout Full captured stdout from the claude process.
|
|
240
|
-
* @param durationMs Approximate ms from spawn() to exit (optional; enables
|
|
241
|
-
* the fast-exit env_broken heuristic when provided).
|
|
242
|
-
*/
|
|
243
|
-
export function classifyClaudeExit(exitCode, stderr, stdout, durationMs) {
|
|
244
|
-
// Exit 127 = shell "command not found" — binary missing from PATH.
|
|
245
|
-
if (exitCode === 127) {
|
|
246
|
-
return {
|
|
247
|
-
exitCode,
|
|
248
|
-
class: "env_broken",
|
|
249
|
-
detail: "claude binary not found in PATH (exit 127)",
|
|
250
|
-
};
|
|
251
|
-
}
|
|
252
|
-
const combined = `${stderr}\n${stdout}`;
|
|
253
|
-
// v0.56 (T-56-1): capacity check FIRST so the recoverable session/usage
|
|
254
|
-
// window routes to pause, not quarantine. Authoritative signal is the
|
|
255
|
-
// result JSON's api_error_status 429; the message patterns are the
|
|
256
|
-
// plain-text fallback. Disjoint from USAGE_LIMIT_PATTERNS below, which
|
|
257
|
-
// stay quarantine-worthy (hard billing walls).
|
|
258
|
-
if (parseApiErrorStatus(stdout) === 429 || matchesAny(combined, CAPACITY_PATTERNS)) {
|
|
259
|
-
return {
|
|
260
|
-
exitCode,
|
|
261
|
-
class: "capacity_exhausted",
|
|
262
|
-
detail: "Claude session/usage capacity reached (429) — runner will pause until reset",
|
|
263
|
-
};
|
|
264
|
-
}
|
|
265
|
-
if (matchesAny(combined, USAGE_LIMIT_PATTERNS)) {
|
|
266
|
-
return {
|
|
267
|
-
exitCode,
|
|
268
|
-
class: "usage_limit",
|
|
269
|
-
detail: "Claude API usage or rate limit reached",
|
|
270
|
-
};
|
|
271
|
-
}
|
|
272
|
-
if (matchesAny(combined, AUTH_EXPIRED_PATTERNS)) {
|
|
273
|
-
return {
|
|
274
|
-
exitCode,
|
|
275
|
-
class: "auth_expired",
|
|
276
|
-
detail: "authentication failure — API key invalid or session expired",
|
|
277
|
-
};
|
|
278
|
-
}
|
|
279
|
-
if (matchesAny(combined, ENV_BROKEN_PATTERNS)) {
|
|
280
|
-
return {
|
|
281
|
-
exitCode,
|
|
282
|
-
class: "env_broken",
|
|
283
|
-
detail: "host environment error detected in process output",
|
|
284
|
-
};
|
|
285
|
-
}
|
|
286
|
-
// pd36 fingerprint: exit almost immediately with near-empty output, and
|
|
287
|
-
// none of the definitive signals above matched (no exit 127, no dyld/OOM,
|
|
288
|
-
// no usage/auth/capacity pattern). A real task failure always produces at
|
|
289
|
-
// least some stdout (the model's preamble + any partial work). Pure silence
|
|
290
|
-
// + fast exit is genuinely ambiguous: it can be a broken host (missing lib,
|
|
291
|
-
// bad PATH) OR a transient/silent claude window (a usage blip that exits
|
|
292
|
-
// without a 429, a momentary API hiccup).
|
|
293
|
-
//
|
|
294
|
-
// v0.63 T-63-1: classify this BARE silent instant-empty exit as the
|
|
295
|
-
// retryable `claude_unavailable`, NOT `env_broken`. Quarantining on silence
|
|
296
|
-
// alone benched a healthy runner in the live T-63-1 incident (claude -p
|
|
297
|
-
// worked seconds later in the same shell). The task-runner pauses + backs
|
|
298
|
-
// off + retries on this class, and only upgrades it to env_broken (the
|
|
299
|
-
// quarantine cause) when a `claude --version` health probe ALSO fails —
|
|
300
|
-
// that probe being the authoritative "is the binary/host actually broken?"
|
|
301
|
-
// tiebreaker. `heuristic: true` is preserved so the runner still applies
|
|
302
|
-
// the retry-once tune before pausing.
|
|
303
|
-
if (durationMs !== undefined &&
|
|
304
|
-
durationMs < FAST_EXIT_MS &&
|
|
305
|
-
stderr.trim().length === 0 &&
|
|
306
|
-
stdout.trim().length < FAST_EXIT_MAX_OUTPUT_BYTES) {
|
|
307
|
-
return {
|
|
308
|
-
exitCode,
|
|
309
|
-
class: "claude_unavailable",
|
|
310
|
-
detail: `claude exited ${exitCode ?? "signal"} in ${durationMs}ms with empty output (silent instant-empty — claude momentarily unavailable, retrying)`,
|
|
311
|
-
heuristic: true,
|
|
312
|
-
};
|
|
313
|
-
}
|
|
314
|
-
return {
|
|
315
|
-
exitCode,
|
|
316
|
-
class: "task_error",
|
|
317
|
-
detail: `claude exited ${exitCode ?? "signal"} — task-level failure`,
|
|
318
|
-
};
|
|
319
|
-
}
|
|
320
|
-
// v0.21 T-66-1: signatures of git REPO-GLOBAL LOCK CONTENTION during worktree
|
|
321
|
-
// provisioning (`git fetch` / `git worktree add` / `git worktree remove`).
|
|
322
|
-
// When two provisioning critical sections touch the same clone at once the
|
|
323
|
-
// loser throws one of these. The in-process provisioning mutex
|
|
324
|
-
// (runtime/provision-mutex.ts) prevents the in-process case, but an EXTERNAL
|
|
325
|
-
// git process (an operator running git in the clone, an overlapping mirror op)
|
|
326
|
-
// can still trip it. Such a collision is TRANSIENT — the right response is to
|
|
327
|
-
// REQUEUE the task (it will re-provision cleanly once the lock frees), NOT to
|
|
328
|
-
// burn a terminal `failed`. Distinct from ENV_BROKEN_PATTERNS (host is fine)
|
|
329
|
-
// and from task_error (no task content was even reached).
|
|
330
|
-
const GIT_PROVISION_CONTENTION_PATTERNS = [
|
|
331
|
-
/unable to create '[^']*\.lock': file exists/i,
|
|
332
|
-
/another git process seems to be running/i,
|
|
333
|
-
/index\.lock/i,
|
|
334
|
-
/head\.lock/i,
|
|
335
|
-
/packed-refs\.lock/i,
|
|
336
|
-
/\.git\/worktrees\/[^ ]*\.lock/i,
|
|
337
|
-
/cannot lock ref/i,
|
|
338
|
-
/unable to lock/i,
|
|
339
|
-
/could not lock/i,
|
|
340
|
-
];
|
|
341
|
-
/**
|
|
342
|
-
* v0.21 T-66-1: true when a git error message is repo-global lock contention
|
|
343
|
-
* from concurrent worktree provisioning (see GIT_PROVISION_CONTENTION_PATTERNS).
|
|
344
|
-
* The task-runner uses this in its git-prep catch to REQUEUE the task with a
|
|
345
|
-
* structured `git_provision_contention` reason instead of marking it `failed`,
|
|
346
|
-
* since the collision is transient and the task re-provisions cleanly on retry.
|
|
347
|
-
*/
|
|
348
|
-
export function isGitProvisionContention(message) {
|
|
349
|
-
if (!message)
|
|
350
|
-
return false;
|
|
351
|
-
return matchesAny(message, GIT_PROVISION_CONTENTION_PATTERNS);
|
|
352
|
-
}
|
|
353
|
-
//# sourceMappingURL=failure-classifier.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"failure-classifier.js","sourceRoot":"","sources":["../src/failure-classifier.ts"],"names":[],"mappings":"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"}
|
package/dist/gh.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
export interface OpenPRArgs {
|
|
2
|
-
title: string;
|
|
3
|
-
body: string;
|
|
4
|
-
base: string;
|
|
5
|
-
head?: string;
|
|
6
|
-
/** Open as draft. Defaults to false (matches Track P2-C convention). */
|
|
7
|
-
draft?: boolean;
|
|
8
|
-
}
|
|
9
|
-
export interface GhRunner {
|
|
10
|
-
isAuthenticated(): Promise<boolean>;
|
|
11
|
-
openPR(repoPath: string, args: OpenPRArgs): Promise<{
|
|
12
|
-
url: string;
|
|
13
|
-
}>;
|
|
14
|
-
/**
|
|
15
|
-
* Returns the URL of an open PR whose head matches `branch`, or null
|
|
16
|
-
* if no open PR exists. Used by the retry-idempotency guard so a
|
|
17
|
-
* re-picked-up task doesn't re-run Claude Code when a PR is already open.
|
|
18
|
-
*/
|
|
19
|
-
findOpenPR(repoPath: string, branch: string): Promise<string | null>;
|
|
20
|
-
}
|
|
21
|
-
export declare const gh: GhRunner;
|
|
22
|
-
//# sourceMappingURL=gh.d.ts.map
|
package/dist/gh.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gh.d.ts","sourceRoot":"","sources":["../src/gh.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrE;;;;OAIG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACtE;AAED,eAAO,MAAM,EAAE,EAAE,QAwChB,CAAC"}
|
package/dist/gh.js
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* gh CLI wrapper. We rely on whatever auth `gh auth status` already has —
|
|
3
|
-
* never touching the user's credentials.
|
|
4
|
-
*/
|
|
5
|
-
import { execa } from "execa";
|
|
6
|
-
import { buildEnv } from "./bin-resolve.js";
|
|
7
|
-
export const gh = {
|
|
8
|
-
async isAuthenticated() {
|
|
9
|
-
try {
|
|
10
|
-
await execa("gh", ["auth", "status"], { env: buildEnv() });
|
|
11
|
-
return true;
|
|
12
|
-
}
|
|
13
|
-
catch {
|
|
14
|
-
return false;
|
|
15
|
-
}
|
|
16
|
-
},
|
|
17
|
-
async openPR(repoPath, args) {
|
|
18
|
-
const argv = [
|
|
19
|
-
"pr",
|
|
20
|
-
"create",
|
|
21
|
-
"--title",
|
|
22
|
-
args.title,
|
|
23
|
-
"--body",
|
|
24
|
-
args.body,
|
|
25
|
-
"--base",
|
|
26
|
-
args.base,
|
|
27
|
-
];
|
|
28
|
-
if (args.head)
|
|
29
|
-
argv.push("--head", args.head);
|
|
30
|
-
if (args.draft)
|
|
31
|
-
argv.push("--draft");
|
|
32
|
-
const { stdout } = await execa("gh", argv, { cwd: repoPath, env: buildEnv() });
|
|
33
|
-
// gh prints the PR URL on the last line of stdout.
|
|
34
|
-
const url = stdout.trim().split(/\r?\n/).pop() ?? "";
|
|
35
|
-
return { url };
|
|
36
|
-
},
|
|
37
|
-
async findOpenPR(repoPath, branch) {
|
|
38
|
-
try {
|
|
39
|
-
const { stdout } = await execa("gh", ["pr", "list", "--head", branch, "--state", "open", "--json", "url", "--jq", ".[0].url"], { cwd: repoPath, env: buildEnv() });
|
|
40
|
-
const url = stdout.trim();
|
|
41
|
-
return url.length > 0 ? url : null;
|
|
42
|
-
}
|
|
43
|
-
catch {
|
|
44
|
-
return null;
|
|
45
|
-
}
|
|
46
|
-
},
|
|
47
|
-
};
|
|
48
|
-
//# sourceMappingURL=gh.js.map
|
package/dist/gh.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gh.js","sourceRoot":"","sources":["../src/gh.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAsB5C,MAAM,CAAC,MAAM,EAAE,GAAa;IAC1B,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC3D,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI;QACzB,MAAM,IAAI,GAAG;YACX,IAAI;YACJ,QAAQ;YACR,SAAS;YACT,IAAI,CAAC,KAAK;YACV,QAAQ;YACR,IAAI,CAAC,IAAI;YACT,QAAQ;YACR,IAAI,CAAC,IAAI;SACV,CAAC;QACF,IAAI,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC/E,mDAAmD;QACnD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QACrD,OAAO,EAAE,GAAG,EAAE,CAAC;IACjB,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM;QAC/B,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CAC5B,IAAI,EACJ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EACxF,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,CACnC,CAAC;YACF,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;YAC1B,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF,CAAC"}
|