review-council 4.0.0 → 4.1.1

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 (46) hide show
  1. package/README.md +52 -11
  2. package/dist/config/defaults.d.ts +1 -1
  3. package/dist/config/defaults.js +2 -2
  4. package/dist/config/defaults.js.map +1 -1
  5. package/dist/config/harness.d.ts +1 -0
  6. package/dist/config/harness.js +1 -1
  7. package/dist/config/harness.js.map +1 -1
  8. package/dist/config/loader.d.ts +3 -1
  9. package/dist/config/loader.js +13 -13
  10. package/dist/config/loader.js.map +1 -1
  11. package/dist/converge/attempt-budget.d.ts +4 -2
  12. package/dist/converge/attempt-budget.js +9 -2
  13. package/dist/converge/attempt-budget.js.map +1 -1
  14. package/dist/converge/launch-guard.d.ts +53 -0
  15. package/dist/converge/launch-guard.js +162 -0
  16. package/dist/converge/launch-guard.js.map +1 -0
  17. package/dist/converge/launch-preflight.d.ts +5 -0
  18. package/dist/converge/launch-preflight.js +41 -0
  19. package/dist/converge/launch-preflight.js.map +1 -0
  20. package/dist/converge/run-state.d.ts +4 -0
  21. package/dist/converge/run-state.js +14 -15
  22. package/dist/converge/run-state.js.map +1 -1
  23. package/dist/dispatch/anthropic.js +1 -1
  24. package/dist/dispatch/anthropic.js.map +1 -1
  25. package/dist/dispatch/google.js +1 -1
  26. package/dist/dispatch/google.js.map +1 -1
  27. package/dist/dispatch/openai.js +13 -3
  28. package/dist/dispatch/openai.js.map +1 -1
  29. package/dist/index.js +106 -26
  30. package/dist/index.js.map +1 -1
  31. package/dist/output/artifacts.d.ts +1 -0
  32. package/dist/output/artifacts.js +1 -1
  33. package/dist/output/artifacts.js.map +1 -1
  34. package/dist/output/github.d.ts +1 -1
  35. package/dist/output/github.js +3 -10
  36. package/dist/output/github.js.map +1 -1
  37. package/dist/resolver/github-client.d.ts +82 -0
  38. package/dist/resolver/github-client.js +27 -0
  39. package/dist/resolver/github-client.js.map +1 -0
  40. package/dist/resolver/github.d.ts +1 -1
  41. package/dist/resolver/github.js +4 -11
  42. package/dist/resolver/github.js.map +1 -1
  43. package/dist/roles/dispatcher.d.ts +2 -1
  44. package/dist/roles/dispatcher.js +3 -3
  45. package/dist/roles/dispatcher.js.map +1 -1
  46. package/package.json +1 -1
package/README.md CHANGED
@@ -91,6 +91,10 @@ Review a PR, a local diff, or uncommitted work.
91
91
  | `--expect-head-sha <sha>` | Fail fast unless the resolved head commit equals this SHA |
92
92
  | `--spec-source <source>` | Where `--spec` came from: `flag`, `repo_file`, or `harness_issue:<ID>` |
93
93
  | `--converge-target <key>` / `--round <n>` / `--attempt <n>` | Converge context recorded in the report (or `RCL_CONVERGE_TARGET` / `_ROUND` / `_ATTEMPT`) |
94
+ | `--guarded-converge` | Validate and claim inside this process; derive the next round from native admitted state |
95
+ | `--launch-intent <intent>` | Guarded intent: `review` (default), `stop-upstream`, `stop-review`, or `retry-delivery` |
96
+ | `--retry-reason <reason>` | Explicit bounded recovery decision for a failed/unknown launch; preserves spent attempts |
97
+ | `--max-attempts <n>` / `--max-rounds <n>` | Guarded launch only: explicitly authorized caps; omission preserves native caps |
94
98
  | `--attest` | GitHub Actions gate workflow only: exchange the job's OIDC token for a run-bound Harness credential and record the review as attested (see below) |
95
99
  | `--config <path>` | Path to a config file |
96
100
 
@@ -103,8 +107,8 @@ Review a PR, a local diff, or uncommitted work.
103
107
  ```bash
104
108
  # Use explicit model:role pairs
105
109
  rcl review owner/repo#7 \
106
- --reviewer claude-opus-4-6:security-auditor \
107
- --reviewer gpt-5.4:bug-hunter
110
+ --reviewer claude-fable-5-1:security-auditor \
111
+ --reviewer gpt-6-sol:bug-hunter
108
112
 
109
113
  # Spec compliance review with context
110
114
  rcl review ./feature.patch --role spec-compliance --spec SPEC.md --context src/
@@ -145,7 +149,7 @@ rcl discuss --report report.json --finding f003 "Is this exploitable given the s
145
149
 
146
150
  # Attach code as context, or ask different models
147
151
  rcl discuss --report report.json --finding f003 --context src/auth.ts "Does the middleware at line 12 not already cover this?"
148
- rcl discuss --report report.json --finding f003 --models anthropic/claude-fable-5 "Summarize the strongest counterargument."
152
+ rcl discuss --report report.json --finding f003 --models anthropic/claude-fable-5-1 "Summarize the strongest counterargument."
149
153
  ```
150
154
 
151
155
  Model-generated finding ids can collide; when `--finding <id>` is ambiguous the error lists `<id>:<n>` disambiguators. Findings in the below-threshold appendix are addressable too. Answers come back in parallel, respecting the configured `timeout`, `maxRetries`, and `reasoningEffort`. There is no session state: each `discuss` is one independent round built from the report file.
@@ -161,9 +165,38 @@ rcl roles show <name> # Show system prompt and details for a role
161
165
 
162
166
  ---
163
167
 
168
+ ### Guarded convergence launches
169
+
170
+ ```bash
171
+ rcl review change.patch --guarded-converge --converge-target repo-123 \
172
+ --head-sha <captured-head> --base-sha <captured-base> --json-file fresh-report.json
173
+ ```
174
+
175
+ Keep this command foreground inside a persistent host task/session. It validates
176
+ inputs, credentials and fresh output paths before claiming; native target
177
+ ownership spans claim through completion. Do not call `converge-attempt` first
178
+ or supply `--attempt`. RCL derives the next round from admitted state and rejects
179
+ a conflicting `--round`. Existing caps and all spent attempts are retained.
180
+ Guarded assignment order is stable and missing credentials never shrink the roster.
181
+
182
+ Process and triage the original report before another launch. Unchanged reviewed
183
+ inputs, including mere upstream base-tip movement, do not need another council.
184
+ A real fix needs a fresh resulting head; unresolved native blockers refuse another
185
+ launch. Unknown/failed dispatch requires an explicit `--retry-reason` after
186
+ recovery, even if the head changed. This does not refund attempts or promise
187
+ exactly-once provider billing. Credential presence cannot prove provider availability.
188
+
189
+ `--launch-intent stop-upstream` never cancels review. `stop-review` and
190
+ `retry-delivery` refuse new reviewer dispatch; cancel an existing review only
191
+ through its retained host handle. Retry evidence with `rcl telemetry flush --run
192
+ <run-id>`, not another council. Intent interpretation and finding adjudication
193
+ remain human/agent decisions; native/enforced evidence and CI still gate merging.
194
+
164
195
  ### `rcl converge-attempt`
165
196
 
166
- Machine-enforced safety guard used by the generated `rcl-converge` skill.
197
+ Low-level accounting command retained for legacy callers. The generated
198
+ `rcl-converge` skill instead uses `review --guarded-converge`; do not preclaim
199
+ an attempt for that path.
167
200
  Each call atomically and durably consumes one per-target attempt under the
168
201
  repository's common Git directory, so the budget survives sessions, linked
169
202
  worktrees, and abrupt system restarts.
@@ -910,15 +943,15 @@ queued live reviews as a recovery shortcut.
910
943
 
911
944
  ## Config File
912
945
 
913
- Place `.review-council.yml` in your project root (or any parent directory). All fields are optional.
946
+ Place `.review-council.yml` in your project root and run `rcl` from there. rcl looks only in the current working directory, not in parent directories. Use `--config <path>` for a file elsewhere. All fields are optional.
914
947
 
915
948
  ```yaml
916
949
  # Blocking council (provider-prefixed names) — every round waits for these.
917
950
  # Shown here: the actual defaults. Keep slow/aggregator-routed models out of
918
951
  # this list; give them an async seat instead.
919
952
  models:
920
- - anthropic/claude-fable-5
921
- - openai/gpt-5.6-sol
953
+ - anthropic/claude-fable-5-1
954
+ - openai/gpt-6-sol
922
955
  - google/gemini-3.8-flash
923
956
 
924
957
  # Async bonus reviewers — fired with each round, never awaited. Results that
@@ -936,9 +969,9 @@ roles:
936
969
 
937
970
  # Or pin explicit model:role pairs
938
971
  reviewers:
939
- - model: anthropic/claude-opus-4-6
972
+ - model: anthropic/claude-fable-5-1
940
973
  role: security-auditor
941
- - model: openai/gpt-5.4
974
+ - model: openai/gpt-6-sol
942
975
  role: bug-hunter
943
976
 
944
977
  # Custom role overrides (extends a built-in or creates new)
@@ -1003,7 +1036,7 @@ spec: SPEC.md
1003
1036
  # githubToken: ghp_...
1004
1037
  ```
1005
1038
 
1006
- Supported config file names: `.review-council.yml`, `.review-council.yaml`, `.review-council.json`, `review-council.config.js`.
1039
+ Supported config file names: `.review-council.yml`, `.review-council.yaml`, `.review-council.json`. Executable JS config is never discovered: rcl often runs in untrusted checkouts with provider keys in the environment.
1007
1040
 
1008
1041
  For converging patch reviews, async collection uses `--converge-target` (or
1009
1042
  `RCL_CONVERGE_TARGET`), not the patch pathname. Each round can keep a distinct,
@@ -1040,11 +1073,19 @@ For the full algorithm, see [CONSENSUS_V2_SPEC.md](./CONSENSUS_V2_SPEC.md).
1040
1073
 
1041
1074
  ## Environment Variables
1042
1075
 
1076
+ Explicit GitHub PR fetches and review posting use a nonempty `githubToken`
1077
+ configuration value first, then `GITHUB_TOKEN`, then the existing
1078
+ `gh auth token --hostname github.com` login. The fallback is noninteractive
1079
+ and bounded; if unavailable, public anonymous reads still work. A PR 404
1080
+ explains how to check private-repository access without exposing credentials.
1081
+ Local patch reviews do not read GitHub credentials.
1082
+
1043
1083
  | Variable | Description |
1044
1084
  |----------|-------------|
1045
1085
  | `ANTHROPIC_API_KEY` | API key for Claude models |
1046
1086
  | `OPENAI_API_KEY` | API key for OpenAI models |
1047
- | `GEMINI_API_KEY` | API key for Google Gemini models |
1087
+ | `GOOGLE_API_KEY` | Preferred Google Gemini API key; empty or whitespace-only values fall through |
1088
+ | `GEMINI_API_KEY` | Google Gemini API key when `GOOGLE_API_KEY` is absent or blank; also used for Harness-injected keys |
1048
1089
  | `OPENROUTER_API_KEY` | API key for [OpenRouter](https://openrouter.ai) models (`openrouter/…` prefix) |
1049
1090
  | `GITHUB_TOKEN` | GitHub personal access token (PR fetch and post) |
1050
1091
  | `RCL_DEBUG` | Set to any value to print full error stack traces |
@@ -7,7 +7,7 @@
7
7
  * topology drops the median round from 14.4 to 2.0 min while 91% of
8
8
  * multi-model findings still surface.
9
9
  */
10
- export declare const DEFAULT_MODELS: readonly ["anthropic/claude-fable-5", "openai/gpt-5.6-sol", "google/gemini-3.8-flash"];
10
+ export declare const DEFAULT_MODELS: readonly ["anthropic/claude-fable-5-1", "openai/gpt-6-sol", "google/gemini-3.8-flash"];
11
11
  /**
12
12
  * Async bonus reviewers — fired with the round but never awaited; whatever
13
13
  * has arrived by the NEXT round's dedup is merged then, marked async in the
@@ -8,8 +8,8 @@
8
8
  * multi-model findings still surface.
9
9
  */
10
10
  export const DEFAULT_MODELS = [
11
- 'anthropic/claude-fable-5',
12
- 'openai/gpt-5.6-sol',
11
+ 'anthropic/claude-fable-5-1',
12
+ 'openai/gpt-6-sol',
13
13
  'google/gemini-3.8-flash',
14
14
  ];
15
15
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,0BAA0B;IAC1B,oBAAoB;IACpB,yBAAyB;CACjB,CAAC;AAEX;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,+BAA+B,CAAU,CAAC;AAE/E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAW,CAAC;AAEpD,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,iBAAiB,EAAE,GAAG;IACtB,aAAa,EAAE,GAAG;IAClB,gBAAgB,EAAE,CAAC;IACnB;;;;;;;;OAQG;IACH,gBAAgB,EAAE,GAAG;CACb,CAAC;AAEX;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAE1C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,GAAG,CAAC,CAAC;AAE7C;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,OAAO,CAAC;AAChD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAErC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,QAAQ,CAAC;AACjD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAErC,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,UAAU;IACV,WAAW;IACX,OAAO;IACP,SAAS;CACD,CAAC;AAEX,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,QAAQ,EAAE,GAAG;IACb,IAAI,EAAE,GAAG;IACT,MAAM,EAAE,GAAG;IACX,GAAG,EAAE,GAAG;CACA,CAAC"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,4BAA4B;IAC5B,kBAAkB;IAClB,yBAAyB;CACjB,CAAC;AAEX;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,+BAA+B,CAAU,CAAC;AAE/E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAW,CAAC;AAEpD,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,iBAAiB,EAAE,GAAG;IACtB,aAAa,EAAE,GAAG;IAClB,gBAAgB,EAAE,CAAC;IACnB;;;;;;;;OAQG;IACH,gBAAgB,EAAE,GAAG;CACb,CAAC;AAEX;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAE1C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,GAAG,CAAC,CAAC;AAE7C;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,OAAO,CAAC;AAChD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAErC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,QAAQ,CAAC;AACjD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAErC,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,UAAU;IACV,WAAW;IACX,OAAO;IACP,SAAS;CACD,CAAC;AAEX,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,QAAQ,EAAE,GAAG;IACb,IAAI,EAAE,GAAG;IACT,MAAM,EAAE,GAAG;IACX,GAAG,EAAE,GAAG;CACA,CAAC"}
@@ -31,6 +31,7 @@ export declare function readStoredCredentials(path: string): Promise<{
31
31
  url: string;
32
32
  token: string;
33
33
  } | null>;
34
+ export declare function missingProviders(env: Record<string, string | undefined>): string[];
34
35
  /**
35
36
  * The one entry point: called before config loading (default-model
36
37
  * degradation for a missing OPENROUTER_API_KEY happens there, so the key
@@ -98,7 +98,7 @@ async function fetchModelKeys(baseUrl, token, fetchImpl) {
98
98
  return null;
99
99
  }
100
100
  }
101
- function missingProviders(env) {
101
+ export function missingProviders(env) {
102
102
  const isSet = (name) => (env[name] ?? '').trim() !== '';
103
103
  return Object.entries(PROVIDER_ENV_VARS)
104
104
  .filter(([provider, envVar]) => {
@@ -1 +1 @@
1
- {"version":3,"file":"harness.js","sourceRoot":"","sources":["../../src/config/harness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"harness.js","sourceRoot":"","sources":["../../src/config/harness.ts"],"names":[],"mappings":"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"}
@@ -8,4 +8,6 @@ export declare class ConfigError extends Error {
8
8
  constructor(message: string);
9
9
  }
10
10
  export declare const SEARCH_PLACES: string[];
11
- export declare function loadConfig(configPath?: string, searchFrom?: string): Promise<Config>;
11
+ export declare function loadConfig(configPath?: string, searchFrom?: string, options?: {
12
+ preserveDefaultRoster?: boolean;
13
+ }): Promise<Config>;
@@ -21,7 +21,7 @@ export const SEARCH_PLACES = [
21
21
  '.review-council.yaml',
22
22
  '.review-council.json',
23
23
  ];
24
- export async function loadConfig(configPath, searchFrom) {
24
+ export async function loadConfig(configPath, searchFrom, options = {}) {
25
25
  const cwd = searchFrom ?? process.cwd();
26
26
  const explorer = cosmiconfig('review-council', {
27
27
  searchPlaces: SEARCH_PLACES,
@@ -42,7 +42,7 @@ export async function loadConfig(configPath, searchFrom) {
42
42
  throw new ConfigError(`Failed to load config from ${source}: ${String(err)}`);
43
43
  }
44
44
  if (!result || result.isEmpty) {
45
- return buildDefaultConfig();
45
+ return buildDefaultConfig(options.preserveDefaultRoster);
46
46
  }
47
47
  const parsed = ConfigSchema.safeParse(result.config);
48
48
  if (!parsed.success) {
@@ -51,7 +51,7 @@ export async function loadConfig(configPath, searchFrom) {
51
51
  .join('\n');
52
52
  throw new ConfigError(`Invalid config at ${result.filepath}:\n${issues}`);
53
53
  }
54
- return mergeWithDefaults(parsed.data);
54
+ return mergeWithDefaults(parsed.data, options.preserveDefaultRoster);
55
55
  }
56
56
  /**
57
57
  * The default fleet includes openrouter/ models. When OPENROUTER_API_KEY is
@@ -62,8 +62,8 @@ export async function loadConfig(configPath, searchFrom) {
62
62
  * Models the user configured explicitly are never filtered — those still
63
63
  * fail loudly per review.
64
64
  */
65
- function dropOpenRouterDefaultsWithoutKey(models, listName) {
66
- if (process.env['OPENROUTER_API_KEY']?.trim())
65
+ function dropOpenRouterDefaultsWithoutKey(models, listName, preserveDefaultRoster = false) {
66
+ if (preserveDefaultRoster || process.env['OPENROUTER_API_KEY']?.trim())
67
67
  return [...models];
68
68
  const kept = models.filter((m) => !m.startsWith('openrouter/'));
69
69
  const dropped = models.length - kept.length;
@@ -76,11 +76,11 @@ function dropOpenRouterDefaultsWithoutKey(models, listName) {
76
76
  }
77
77
  return kept;
78
78
  }
79
- function buildDefaultConfig() {
79
+ function buildDefaultConfig(preserveDefaultRoster = false) {
80
80
  return {
81
- models: dropOpenRouterDefaultsWithoutKey(DEFAULT_MODELS, 'models'),
82
- secondaryModels: dropOpenRouterDefaultsWithoutKey(DEFAULT_SECONDARY_MODELS, 'secondary models'),
83
- asyncModels: dropOpenRouterDefaultsWithoutKey(DEFAULT_ASYNC_MODELS, 'async models'),
81
+ models: dropOpenRouterDefaultsWithoutKey(DEFAULT_MODELS, 'models', preserveDefaultRoster),
82
+ secondaryModels: dropOpenRouterDefaultsWithoutKey(DEFAULT_SECONDARY_MODELS, 'secondary models', preserveDefaultRoster),
83
+ asyncModels: dropOpenRouterDefaultsWithoutKey(DEFAULT_ASYNC_MODELS, 'async models', preserveDefaultRoster),
84
84
  thresholds: { ...DEFAULT_THRESHOLDS },
85
85
  timeout: DEFAULT_TIMEOUT_MS,
86
86
  asyncTimeout: DEFAULT_ASYNC_TIMEOUT_MS,
@@ -90,20 +90,20 @@ function buildDefaultConfig() {
90
90
  reasoningEffort: DEFAULT_REASONING_EFFORT,
91
91
  };
92
92
  }
93
- function mergeWithDefaults(config) {
93
+ function mergeWithDefaults(config, preserveDefaultRoster = false) {
94
94
  return {
95
- models: config.models ?? dropOpenRouterDefaultsWithoutKey(DEFAULT_MODELS, 'models'),
95
+ models: config.models ?? dropOpenRouterDefaultsWithoutKey(DEFAULT_MODELS, 'models', preserveDefaultRoster),
96
96
  secondaryModels: config.secondaryModels ??
97
97
  (config.models
98
98
  ? []
99
- : dropOpenRouterDefaultsWithoutKey(DEFAULT_SECONDARY_MODELS, 'secondary models')),
99
+ : dropOpenRouterDefaultsWithoutKey(DEFAULT_SECONDARY_MODELS, 'secondary models', preserveDefaultRoster)),
100
100
  // Same containment rule as secondaryModels: an explicit `models` list
101
101
  // means "send code to exactly these providers" — default async reviewers
102
102
  // must not leak the diff to a provider the user configured away from.
103
103
  asyncModels: config.asyncModels ??
104
104
  (config.models
105
105
  ? []
106
- : dropOpenRouterDefaultsWithoutKey(DEFAULT_ASYNC_MODELS, 'async models')),
106
+ : dropOpenRouterDefaultsWithoutKey(DEFAULT_ASYNC_MODELS, 'async models', preserveDefaultRoster)),
107
107
  roles: config.roles,
108
108
  reviewers: config.reviewers,
109
109
  customRoles: config.customRoles,
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type NativeTargetOwnership } from './target-ownership.js';
1
2
  export declare const DEFAULT_CONVERGE_ATTEMPT_CAP = 20;
2
3
  declare const STATE_VERSION = 2;
3
4
  export interface ConvergeAttemptRecord {
@@ -51,8 +52,8 @@ interface ClaimOptions {
51
52
  /** Target ownership has a different contention profile from attempt accounting. */
52
53
  targetLockTimeoutMs?: number;
53
54
  targetLockRetryMs?: number;
54
- /** Runs after durable accounting and before target ownership is released. */
55
- afterClaim?: (claim: ConvergeAttemptClaim) => Promise<void>;
55
+ beforeClaim?: (ownership: NativeTargetOwnership) => Promise<void>;
56
+ afterClaim?: (claim: ConvergeAttemptClaim, ownership: NativeTargetOwnership) => Promise<void>;
56
57
  }
57
58
  export declare function convergeAttemptStatePath(gitCommonDir: string, target: string): string;
58
59
  export declare function validateConvergeAttemptState(value: unknown, expectedTarget: string, stateFile: string): ConvergeAttemptState;
@@ -64,5 +65,6 @@ export declare function validateConvergeAttemptState(value: unknown, expectedTar
64
65
  */
65
66
  export declare function claimConvergeAttempt(options: ClaimOptions): Promise<ConvergeAttemptClaim>;
66
67
  export declare function loadConvergeAttemptState(gitCommonDir: string, target: string): Promise<ConvergeAttemptState | undefined>;
68
+ export declare function previewConvergeAttemptState(gitCommonDir: string, target: string): Promise<ConvergeAttemptState | undefined>;
67
69
  export declare function resolveGitCommonDir(cwd?: string): Promise<string>;
68
70
  export {};
@@ -486,6 +486,7 @@ export async function claimConvergeAttempt(options) {
486
486
  lockRetryMs: options.lockRetryMs,
487
487
  targetLockTimeoutMs: options.targetLockTimeoutMs,
488
488
  targetLockRetryMs: options.targetLockRetryMs,
489
+ beforeClaim: options.beforeClaim,
489
490
  afterClaim: options.afterClaim,
490
491
  };
491
492
  // Use one canonical directory for both target ownership and state paths.
@@ -497,10 +498,11 @@ export async function claimConvergeAttempt(options) {
497
498
  validateCap(claimOptions.maxAttempts);
498
499
  let committed;
499
500
  try {
500
- return await withNativeTarget(gitCommonDir, target, async () => {
501
+ return await withNativeTarget(gitCommonDir, target, async (ownership) => {
502
+ await claimOptions.beforeClaim?.(ownership);
501
503
  committed = await claimConvergeAttemptOwned(claimOptions);
502
504
  try {
503
- await claimOptions.afterClaim?.(committed);
505
+ await claimOptions.afterClaim?.(committed, ownership);
504
506
  }
505
507
  catch (error) {
506
508
  throw new ConvergeAttemptPostClaimError(committed, error);
@@ -631,6 +633,11 @@ async function claimConvergeAttemptOwned(options) {
631
633
  export async function loadConvergeAttemptState(gitCommonDir, target) {
632
634
  return readState(convergeAttemptStatePath(gitCommonDir, target), validateTarget(target));
633
635
  }
636
+ export async function previewConvergeAttemptState(gitCommonDir, target) {
637
+ const validatedTarget = validateTarget(target);
638
+ return await loadConvergeAttemptState(gitCommonDir, validatedTarget) ??
639
+ await stateFromExistingLedger(gitCommonDir, validatedTarget, new Date().toISOString());
640
+ }
634
641
  export async function resolveGitCommonDir(cwd = process.cwd()) {
635
642
  let stdout;
636
643
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"attempt-budget.js","sourceRoot":"","sources":["../../src/converge/attempt-budget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EACL,IAAI,EACJ,KAAK,EACL,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,EAAE,EACF,MAAM,EACN,SAAS,GACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,CAAC;AAE/C,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,SAAS,GAAG,uBAAuB,CAAC;AAC1C,6EAA6E;AAC7E,2EAA2E;AAC3E,2EAA2E;AAC3E,MAAM,8BAA8B,GAAG,MAAM,CAAC;AAC9C,MAAM,uBAAuB,GAAG,KAAK,CAAC;AACtC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEjC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AA4B1C,MAAM,OAAO,kCAAmC,SAAQ,KAAK;IAIhD;IACA;IACA;IALF,IAAI,GAAG,0BAA0B,CAAC;IAE3C,YACW,MAAc,EACd,YAAoB,EACpB,GAAW;QAEpB,KAAK,CACH,4CAA4C,MAAM,KAAK,YAAY,IAAI,GAAG,kBAAkB;YAC1F,wFAAwF;YACxF,qDAAqD,CACxD,CAAC;QARO,WAAM,GAAN,MAAM,CAAQ;QACd,iBAAY,GAAZ,YAAY,CAAQ;QACpB,QAAG,GAAH,GAAG,CAAQ;QAOpB,IAAI,CAAC,IAAI,GAAG,oCAAoC,CAAC;IACnD,CAAC;CACF;AAED,2EAA2E;AAC3E,MAAM,OAAO,6BAA8B,SAAQ,KAAK;IACjC;IAArB,YAAqB,KAA2B,EAAE,KAAc;QAC9D,KAAK,CACH,WAAW,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,GAAG,wDAAwD;YAC3F,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,EACvF,EAAE,KAAK,EAAE,CACV,CAAC;QALiB,UAAK,GAAL,KAAK,CAAsB;QAM9C,IAAI,CAAC,IAAI,GAAG,+BAA+B,CAAC;IAC9C,CAAC;CACF;AAED,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IACzC,IAAI,GAAG,4BAA4B,CAAC;IAE7C,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAED,MAAM,UAAU,4BAA4B,CAAC,GAAY;IACvD,OAAO,GAAG,YAAY,kCAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC;AA6BD,SAAS,cAAc,CAAC,MAAc;IACpC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,yBAAyB,CAAC,uCAAuC,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAAC,WAAmB;IACtC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,yBAAyB,CACjC,+DAA+D,CAChE,CAAC;IACJ,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,aAAa,CAAC,MAAc;IACnC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3F,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9E,OAAO,GAAG,IAAI,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,YAAoB,EAAE,MAAc;IAC3E,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;AACjG,CAAC;AAED,SAAS,WAAW,CAAC,GAAY,EAAE,IAAY;IAC7C,OAAO,GAAG,YAAY,KAAK,IAAK,GAA6B,CAAC,IAAI,KAAK,IAAI,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,KAAc,EAAE,cAAsB,EAAE,SAAiB;IACpG,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,MAAM,IAAI,yBAAyB,CAAC,sCAAsC,SAAS,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,MAAM,KAAK,GAAG,KAAsC,CAAC;IACrD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAChC,IACE,KAAK,CAAC,OAAO,KAAK,aAAa;QAC/B,KAAK,CAAC,MAAM,KAAK,cAAc;QAC/B,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC;QAChC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC;QACpB,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,gBAAgB,CAAC;QAC7C,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QAClC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC;QACzC,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QAC9B,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QACxB,QAAQ,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,YAAY;QACtE,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,QAAQ,CAAC,IAAI,CACX,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAChB,OAAO,MAAM,KAAK,QAAQ;YAC1B,MAAM,KAAK,IAAI;YACf,MAAM,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC;YAC5D,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ;YACpC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC;YAC7B,MAAM,CAAC,MAAM,KAAK,OAAO,CAC5B,EACD,CAAC;QACD,MAAM,IAAI,yBAAyB,CACjC,wCAAwC,SAAS,wCAAwC,CAC1F,CAAC;IACJ,CAAC;IAED,OAAO,KAA6B,CAAC;AACvC,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,YAAoB,EACpB,MAAc,EACd,SAAiB;IAEjB,wEAAwE;IACxE,wEAAwE;IACxE,oEAAoE;IACpE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IAExD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,gBAAgB,MAAM,YAAY,CAAC,CAAC;IACnF,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC;YAAE,OAAO,SAAS,CAAC;QACjD,MAAM,IAAI,yBAAyB,CAAC,+CAA+C,UAAU,EAAE,EAAE;YAC/F,KAAK,EAAE,GAAG;SACX,CAAC,CAAC;IACL,CAAC;IAED,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;QAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,yBAAyB,CACjC,wDAAwD,UAAU,EAAE,CACrE,CAAC;QACJ,CAAC;QACD,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,YAAY,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAEzC,OAAO;QACL,OAAO,EAAE,aAAa;QACtB,MAAM;QACN,GAAG,EAAE,4BAA4B;QACjC,gBAAgB,EAAE,YAAY;QAC9B,YAAY;QACZ,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,SAAS;KACrB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,SAAiB,EAAE,MAAc;IACxD,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC;YAAE,OAAO,SAAS,CAAC;QACjD,MAAM,IAAI,yBAAyB,CAAC,6CAA6C,SAAS,EAAE,EAAE;YAC5F,KAAK,EAAE,GAAG;SACX,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC;QACH,OAAO,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC1E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,yBAAyB;YAAE,MAAM,GAAG,CAAC;QACxD,MAAM,IAAI,yBAAyB,CACjC,mBAAmB,SAAS,wCAAwC,EACpE,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,cAAc,CAAC,GAAW;IACjC,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;QAC5C,IAAI,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3C,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,GAAW;IACjC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAqC,CAAC;QACnE,IACE,MAAM,KAAK,IAAI;YACf,OAAO,MAAM,KAAK,QAAQ;YAC1B,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC;YAC5B,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC;YACrB,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ;YACpC,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;YAChC,2EAA2E,CAAC,IAAI,CAC9E,MAAM,CAAC,KAAK,CACb,EACD,CAAC;YACD,OAAO,MAA0B,CAAC;QACpC,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,CAAC,GAAG,YAAY,WAAW,CAAC;YAAE,MAAM,GAAG,CAAC;IAC/C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,QAAgB;IAC9C,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IACE,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC;YAC1B,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC;YAC1B,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,EACzB,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,GAAW,CAAC;IAChB,IAAI,KAAK,CAAC;IACV,IAAI,YAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpC,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,YAAY,GAAG,GAAG,CAAC;QACnB,IAAI,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;QAChF,MAAM,GAAG,CAAC;IACZ,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;QAAC,OAAO,UAAU,EAAE,CAAC;YACpB,IAAI,YAAY,KAAK,SAAS;gBAAE,MAAM,UAAU,CAAC;QACnD,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IAClC,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,QAAgB;IAC5C,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;QAC7C,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,GAAY,EAAE,WAAmB;IACtE,IAAI,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7E,uEAAuE;IACvE,4DAA4D;IAC5D,wEAAwE;IACxE,gCAAgC;IAChC,OAAO,CACL,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACzD,CAAC,MAAM,cAAc,CAAC,WAAW,CAAC,CAAC,CACpC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,QAAgB,EAAE,KAAuB;IAC1E,4EAA4E;IAC5E,0EAA0E;IAC1E,uEAAuE;IACvE,MAAM,SAAS,GAAG,GAAG,QAAQ,UAAU,OAAO,CAAC,GAAG,IAAI,UAAU,EAAE,EAAE,CAAC;IACrE,IAAI,YAAqB,CAAC;IAC1B,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE;YACvD,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,MAAM,uBAAuB,CAAC,GAAG,EAAE,QAAQ,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC/D,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,SAAS,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,YAAY,GAAG,GAAG,CAAC;QACnB,MAAM,GAAG,CAAC;IACZ,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,YAAY,EAAE,CAAC;YACtB,qEAAqE;YACrE,sEAAsE;YACtE,IAAI,CAAC,SAAS,IAAI,YAAY,KAAK,SAAS;gBAAE,MAAM,YAAY,CAAC;QACnE,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,IAAY,EACZ,QAA6B;IAE7B,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,CAAC;IAClE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;QAC7C,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,QAAgB,EAChB,aAAkC;IAElC,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACjD,IACE,CAAC,OAAO;QACR,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,CAAC,KAAK;QACjD,OAAO,CAAC,GAAG,KAAK,aAAa,CAAC,GAAG;QACjC,OAAO,CAAC,GAAG,KAAK,aAAa,CAAC,GAAG;QACjC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EACjC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,0EAA0E;IAC1E,4EAA4E;IAC5E,iEAAiE;IACjE,MAAM,SAAS,GAAG,GAAG,QAAQ,UAAU,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAC7D,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,uBAAuB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAChG,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACpE,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACpE,IAAI,CAAC,cAAc,IAAI,CAAC,aAAa,IAAI,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3E,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACrC,OAAO,CAAC,cAAc,CAAC;IACzB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC;YAAE,MAAM,GAAG,CAAC;IAC7C,CAAC;IACD,0EAA0E;IAC1E,0EAA0E;IAC1E,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,0DAA0D;IAC5D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,QAAgB,EAChB,SAAiB,EACjB,OAAe,EACf,KAAuB;IAEvB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACxC,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAClC,OAAO,IAAI,EAAE,CAAC;QACZ,wEAAwE;QACxE,wEAAwE;QACxE,iEAAiE;QACjE,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAClD,IAAI,MAAM,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;gBAC9C,SAAS;YACX,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACzD,IAAI,MAAM,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC;gBAAE,OAAO;QACzD,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,IAAI,yBAAyB,CACjC,mDAAmD,QAAQ,IAAI;gBAC7D,kEAAkE;gBAClE,uFAAuF,CAC1F,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAAY;IACvC,2EAA2E;IAC3E,yEAAyE;IACzE,+CAA+C;IAC/C,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO;IACzC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACxC,IAAI,YAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,YAAY,GAAG,GAAG,CAAC;QACnB,MAAM,GAAG,CAAC;IACZ,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;QAC1B,CAAC;QAAC,OAAO,UAAU,EAAE,CAAC;YACpB,IAAI,YAAY,KAAK,SAAS;gBAAE,MAAM,UAAU,CAAC;QACnD,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,SAAiB,EAAE,KAA2B;IAChF,MAAM,QAAQ,GAAG,GAAG,SAAS,IAAI,OAAO,CAAC,GAAG,IAAI,UAAU,EAAE,MAAM,CAAC;IACnE,IAAI,YAAqB,CAAC;IAC1B,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACrD,IAAI,eAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC1E,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;QAC1B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,eAAe,GAAG,GAAG,CAAC;YACtB,MAAM,GAAG,CAAC;QACZ,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC;gBACH,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;YAC3B,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACpB,IAAI,eAAe,KAAK,SAAS;oBAAE,MAAM,UAAU,CAAC;YACtD,CAAC;QACH,CAAC;QACD,MAAM,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAClC,OAAO,GAAG,IAAI,CAAC;QACf,0EAA0E;QAC1E,kEAAkE;QAClE,MAAM,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,YAAY;YACV,OAAO,IAAI,CAAC,CAAC,GAAG,YAAY,yBAAyB,CAAC;gBACpD,CAAC,CAAC,IAAI,yBAAyB,CAC3B,wEAAwE,SAAS,IAAI;oBACnF,4DAA4D,EAC9D,EAAE,KAAK,EAAE,GAAG,EAAE,CACf;gBACH,CAAC,CAAC,GAAG,CAAC;QACV,MAAM,YAAY,CAAC;IACrB,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,YAAY,EAAE,CAAC;YACtB,IAAI,YAAY,KAAK,SAAS;gBAAE,MAAM,YAAY,CAAC;QACrD,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,QAAgB,EAAE,KAAuB;IACvE,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC;QACpD,MAAM,IAAI,yBAAyB,CACjC,4DAA4D,QAAQ,IAAI;YACtE,+DAA+D,CAClE,CAAC;IACJ,CAAC;IACD,MAAM,YAAY,GAAG,GAAG,QAAQ,aAAa,KAAK,CAAC,KAAK,EAAE,CAAC;IAC3D,MAAM,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACrC,sEAAsE;IACtE,yEAAyE;IACzE,qDAAqD;IACrD,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,mDAAmD;IACrD,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAAqB;IAC9D,2EAA2E;IAC3E,6EAA6E;IAC7E,sEAAsE;IACtE,MAAM,YAAY,GAAiB;QACjC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC;QACtC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QAChD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,UAAU,EAAE,OAAO,CAAC,UAAU;KAC/B,CAAC;IACF,yEAAyE;IACzE,wEAAwE;IACxE,8DAA8D;IAC9D,YAAY,CAAC,YAAY,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;IAC/E,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC;IAC9C,IAAI,YAAY,CAAC,WAAW,KAAK,SAAS;QAAE,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IAClF,IAAI,SAA2C,CAAC;IAChD,IAAI,CAAC;QACH,OAAO,MAAM,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE;YAC7D,SAAS,GAAG,MAAM,yBAAyB,CAAC,YAAY,CAAC,CAAC;YAC1D,IAAI,CAAC;gBACH,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,6BAA6B,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC5D,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC,EAAE;YACD,aAAa,EAAE,YAAY,CAAC,mBAAmB,IAAI,8BAA8B;YACjF,WAAW,EAAE,YAAY,CAAC,iBAAiB;SAC5C,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,SAAS;YAAE,MAAM,SAAS,CAAC;QAC/B,IAAI,CAAC,CAAC,KAAK,YAAY,oBAAoB,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;YAAE,MAAM,KAAK,CAAC;QACtG,SAAS,CAAC,OAAO,GAAG,CAAC,SAAS,CAAC,OAAO;YACpC,WAAW,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,GAAG,yDAAyD,KAAK,CAAC,OAAO,IAAI;gBACvH,uFAAuF,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrH,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,KAAK,YAAY,6BAA6B;QAAE,OAAO,KAAK,CAAC;IACjE,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;QACpC,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACzC,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,OAAqB;IAC5D,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,YAAY,GAChB,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACnF,MAAM,SAAS,GAAG,wBAAwB,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,GAAG,SAAS,OAAO,CAAC;IACrC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC;IACnD,MAAM,SAAS,GAAqB;QAClC,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,SAAS,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE;QAC9B,KAAK,EAAE,UAAU,EAAE;KACpB,CAAC;IAEF,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACxD,wEAAwE;IACxE,wEAAwE;IACxE,2EAA2E;IAC3E,4CAA4C;IAC5C,MAAM,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvC,MAAM,gBAAgB,CACpB,QAAQ,EACR,OAAO,CAAC,aAAa,IAAI,uBAAuB,EAChD,OAAO,CAAC,WAAW,IAAI,qBAAqB,EAC5C,SAAS,CACV,CAAC;IAEF,IAAI,KAAuC,CAAC;IAC5C,IAAI,UAAmB,CAAC;IACxB,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,uBAAuB,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;QACpG,MAAM,YAAY,GAAG,QAAQ,EAAE,YAAY,IAAI,CAAC,CAAC;QACjD,yEAAyE;QACzE,wEAAwE;QACxE,yEAAyE;QACzE,MAAM,YAAY,GAAG,YAAY,IAAI,QAAQ,EAAE,GAAG,IAAI,4BAA4B,CAAC;QACnF,IAAI,YAAY,IAAI,YAAY,EAAE,CAAC;YACjC,sEAAsE;YACtE,iEAAiE;YACjE,uEAAuE;YACvE,IAAI,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,QAAQ,CAAC,GAAG,KAAK,YAAY,CAAC,EAAE,CAAC;gBAC3D,MAAM,oBAAoB,CAAC,SAAS,EAAE;oBACpC,GAAG,QAAQ;oBACX,GAAG,EAAE,YAAY;oBACjB,SAAS,EAAE,SAAS;iBACrB,CAAC,CAAC;YACL,CAAC;YACD,MAAM,IAAI,kCAAkC,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;QACnF,CAAC;QAED,MAAM,OAAO,GAAG,YAAY,GAAG,CAAC,CAAC;QACjC,MAAM,KAAK,GAAyB;YAClC,OAAO,EAAE,aAAa;YACtB,MAAM;YACN,GAAG,EAAE,YAAY;YACjB,gBAAgB,EAAE,QAAQ,EAAE,gBAAgB,IAAI,CAAC;YACjD,YAAY,EAAE,OAAO;YACrB,QAAQ,EAAE;gBACR,GAAG,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC;gBAC7B,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE;aACnE;YACD,SAAS,EAAE,SAAS;SACrB,CAAC;QACF,MAAM,oBAAoB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC7C,KAAK,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;IACnF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,UAAU,GAAG,GAAG,CAAC;IACnB,CAAC;IAED,IAAI,YAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,YAAY,GAAG,GAAG,CAAC;IACrB,CAAC;IAED,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,YAAY,GAAG,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC3F,MAAM,cAAc,GAClB,YAAY,YAAY,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC9E,oEAAoE;YACpE,wEAAwE;YACxE,uEAAuE;YACvE,8BAA8B;YAC9B,MAAM,IAAI,yBAAyB,CACjC,GAAG,YAAY,8BAA8B,cAAc,EAAE,EAC7D,EAAE,KAAK,EAAE,YAAY,EAAE,CACxB,CAAC;QACJ,CAAC;QACD,MAAM,UAAU,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,yBAAyB,CAAC,oDAAoD,CAAC,CAAC;IAC5F,CAAC;IACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,cAAc,GAClB,YAAY,YAAY,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC9E,KAAK,CAAC,OAAO;YACX,WAAW,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,GAAG,iDAAiD;gBACtF,GAAG,cAAc,mDAAmD,CAAC;IACzE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,YAAoB,EACpB,MAAc;IAEd,OAAO,SAAS,CAAC,wBAAwB,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;AAC3F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IAC3D,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,kBAAkB,CAAC,EAAE;YAC3E,GAAG;YACH,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC;QACH,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,yBAAyB,CAAC,wDAAwD,EAAE;YAC5F,KAAK,EAAE,GAAG;SACX,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,yBAAyB,CAAC,8CAA8C,CAAC,CAAC;IACtF,CAAC;IACD,yEAAyE;IACzE,uEAAuE;IACvE,0EAA0E;IAC1E,OAAO,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"attempt-budget.js","sourceRoot":"","sources":["../../src/converge/attempt-budget.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import { z } from 'zod';
2
+ import { type ConvergeAttemptClaim } from './attempt-budget.js';
3
+ import type { ConvergeContext } from '../report/run-header.js';
4
+ declare const completionSchema: z.ZodObject<{
5
+ runId: z.ZodString;
6
+ reportJsonSha256: z.ZodString;
7
+ successfulReviews: z.ZodNumber;
8
+ totalReviews: z.ZodNumber;
9
+ deliveryPending: z.ZodBoolean;
10
+ hardFailure: z.ZodOptional<z.ZodBoolean>;
11
+ }, z.core.$strip>;
12
+ declare const launchSchema: z.ZodObject<{
13
+ status: z.ZodEnum<{
14
+ failed: "failed";
15
+ completed: "completed";
16
+ pending: "pending";
17
+ }>;
18
+ attempt: z.ZodNumber;
19
+ round: z.ZodNumber;
20
+ headSha: z.ZodString;
21
+ inputSha256: z.ZodString;
22
+ startedAt: z.ZodString;
23
+ pid: z.ZodNumber;
24
+ retryReason: z.ZodOptional<z.ZodString>;
25
+ runId: z.ZodOptional<z.ZodString>;
26
+ reportJsonSha256: z.ZodOptional<z.ZodString>;
27
+ successfulReviews: z.ZodOptional<z.ZodNumber>;
28
+ totalReviews: z.ZodOptional<z.ZodNumber>;
29
+ deliveryPending: z.ZodOptional<z.ZodBoolean>;
30
+ hardFailure: z.ZodOptional<z.ZodBoolean>;
31
+ }, z.core.$strict>;
32
+ export type GuardedLaunchState = z.infer<typeof launchSchema>;
33
+ export type GuardedLaunchCompletion = z.infer<typeof completionSchema>;
34
+ export interface GuardedLaunchOptions {
35
+ gitCommonDir: string;
36
+ target: string;
37
+ headSha: string;
38
+ inputSha256: string;
39
+ round?: number;
40
+ maxAttempts?: number;
41
+ maxRounds?: number;
42
+ intent?: 'review' | 'stop-upstream' | 'stop-review' | 'retry-delivery';
43
+ retryReason?: string;
44
+ validate: () => Promise<void>;
45
+ onClaim?: (claim: ConvergeAttemptClaim) => Promise<void>;
46
+ run: (context: ConvergeContext) => Promise<GuardedLaunchCompletion>;
47
+ }
48
+ export declare class ReviewLaunchRefused extends Error {
49
+ readonly code: string;
50
+ constructor(code: string, message: string);
51
+ }
52
+ export declare function guardReviewLaunch(input: GuardedLaunchOptions): Promise<ConvergeAttemptClaim>;
53
+ export {};