@zhixuan92/multi-model-agent-core 3.1.7 → 3.3.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/dist/auto-commit.d.ts +8 -1
- package/dist/auto-commit.d.ts.map +1 -1
- package/dist/auto-commit.js +6 -3
- package/dist/auto-commit.js.map +1 -1
- package/dist/batch-cache.d.ts +1 -1
- package/dist/batch-cache.d.ts.map +1 -1
- package/dist/batch-cache.js +3 -5
- package/dist/batch-cache.js.map +1 -1
- package/dist/config/schema.d.ts +13 -13
- package/dist/delegate-with-escalation.d.ts +2 -1
- package/dist/delegate-with-escalation.d.ts.map +1 -1
- package/dist/delegate-with-escalation.js.map +1 -1
- package/dist/diagnostics/request-spill.d.ts +16 -0
- package/dist/diagnostics/request-spill.d.ts.map +1 -0
- package/dist/diagnostics/request-spill.js +23 -0
- package/dist/diagnostics/request-spill.js.map +1 -0
- package/dist/diagnostics/verbose-line.d.ts +12 -0
- package/dist/diagnostics/verbose-line.d.ts.map +1 -0
- package/dist/diagnostics/verbose-line.js +80 -0
- package/dist/diagnostics/verbose-line.js.map +1 -0
- package/dist/executors/audit.js +1 -1
- package/dist/executors/audit.js.map +1 -1
- package/dist/executors/debug.js +2 -2
- package/dist/executors/debug.js.map +1 -1
- package/dist/executors/delegate.d.ts +2 -2
- package/dist/executors/delegate.d.ts.map +1 -1
- package/dist/executors/delegate.js +7 -3
- package/dist/executors/delegate.js.map +1 -1
- package/dist/executors/execute-plan.d.ts.map +1 -1
- package/dist/executors/execute-plan.js +10 -3
- package/dist/executors/execute-plan.js.map +1 -1
- package/dist/executors/execution-context.d.ts +3 -0
- package/dist/executors/execution-context.d.ts.map +1 -0
- package/dist/executors/execution-context.js +20 -0
- package/dist/executors/execution-context.js.map +1 -0
- package/dist/executors/retry.d.ts +1 -1
- package/dist/executors/retry.d.ts.map +1 -1
- package/dist/executors/retry.js +5 -2
- package/dist/executors/retry.js.map +1 -1
- package/dist/executors/review.js +1 -1
- package/dist/executors/review.js.map +1 -1
- package/dist/executors/shared-compute.d.ts +2 -1
- package/dist/executors/shared-compute.d.ts.map +1 -1
- package/dist/executors/shared-compute.js.map +1 -1
- package/dist/executors/types.d.ts +29 -26
- package/dist/executors/types.d.ts.map +1 -1
- package/dist/executors/verify.js +1 -1
- package/dist/executors/verify.js.map +1 -1
- package/dist/heartbeat.d.ts +8 -1
- package/dist/heartbeat.d.ts.map +1 -1
- package/dist/heartbeat.js +28 -1
- package/dist/heartbeat.js.map +1 -1
- package/dist/index.d.ts +7 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/intake/compilers/delegate.d.ts +3 -1
- package/dist/intake/compilers/delegate.d.ts.map +1 -1
- package/dist/intake/compilers/delegate.js +23 -12
- package/dist/intake/compilers/delegate.js.map +1 -1
- package/dist/intake/compilers/execute-plan.d.ts +6 -1
- package/dist/intake/compilers/execute-plan.d.ts.map +1 -1
- package/dist/intake/compilers/execute-plan.js +8 -1
- package/dist/intake/compilers/execute-plan.js.map +1 -1
- package/dist/intake/resolve.js +1 -1
- package/dist/intake/resolve.js.map +1 -1
- package/dist/intake/types.d.ts +10 -0
- package/dist/intake/types.d.ts.map +1 -1
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js.map +1 -1
- package/dist/readiness/readiness.d.ts +2 -1
- package/dist/readiness/readiness.d.ts.map +1 -1
- package/dist/readiness/readiness.js.map +1 -1
- package/dist/reporting/structured-report.d.ts +19 -0
- package/dist/reporting/structured-report.d.ts.map +1 -1
- package/dist/reporting/structured-report.js +50 -1
- package/dist/reporting/structured-report.js.map +1 -1
- package/dist/review/diff-review.d.ts +29 -0
- package/dist/review/diff-review.d.ts.map +1 -0
- package/dist/review/diff-review.js +53 -0
- package/dist/review/diff-review.js.map +1 -0
- package/dist/review/evidence.d.ts +15 -0
- package/dist/review/evidence.d.ts.map +1 -0
- package/dist/review/evidence.js +26 -0
- package/dist/review/evidence.js.map +1 -0
- package/dist/review/quality-reviewer.d.ts +1 -1
- package/dist/review/quality-reviewer.d.ts.map +1 -1
- package/dist/review/quality-reviewer.js +5 -3
- package/dist/review/quality-reviewer.js.map +1 -1
- package/dist/review/spec-reviewer.d.ts +1 -1
- package/dist/review/spec-reviewer.d.ts.map +1 -1
- package/dist/review/spec-reviewer.js +3 -2
- package/dist/review/spec-reviewer.js.map +1 -1
- package/dist/routing/model-profiles.d.ts +1 -1
- package/dist/routing/types.d.ts +15 -0
- package/dist/routing/types.d.ts.map +1 -0
- package/dist/routing/types.js +2 -0
- package/dist/routing/types.js.map +1 -0
- package/dist/run-tasks/commit-stage.d.ts +16 -0
- package/dist/run-tasks/commit-stage.d.ts.map +1 -0
- package/dist/run-tasks/commit-stage.js +43 -0
- package/dist/run-tasks/commit-stage.js.map +1 -0
- package/dist/run-tasks/execute-task.d.ts +20 -0
- package/dist/run-tasks/execute-task.d.ts.map +1 -0
- package/dist/run-tasks/execute-task.js +29 -0
- package/dist/run-tasks/execute-task.js.map +1 -0
- package/dist/run-tasks/fallback-report.d.ts +5 -0
- package/dist/run-tasks/fallback-report.d.ts.map +1 -0
- package/dist/run-tasks/fallback-report.js +33 -0
- package/dist/run-tasks/fallback-report.js.map +1 -0
- package/dist/{run-tasks.d.ts → run-tasks/index.d.ts} +8 -5
- package/dist/run-tasks/index.d.ts.map +1 -0
- package/dist/run-tasks/index.js +118 -0
- package/dist/run-tasks/index.js.map +1 -0
- package/dist/run-tasks/metadata-repair.d.ts +15 -0
- package/dist/run-tasks/metadata-repair.d.ts.map +1 -0
- package/dist/run-tasks/metadata-repair.js +30 -0
- package/dist/run-tasks/metadata-repair.js.map +1 -0
- package/dist/run-tasks/plan-extraction.d.ts +2 -0
- package/dist/run-tasks/plan-extraction.d.ts.map +1 -0
- package/dist/run-tasks/plan-extraction.js +44 -0
- package/dist/run-tasks/plan-extraction.js.map +1 -0
- package/dist/run-tasks/reviewed-lifecycle.d.ts +15 -0
- package/dist/run-tasks/reviewed-lifecycle.d.ts.map +1 -0
- package/dist/run-tasks/reviewed-lifecycle.js +839 -0
- package/dist/run-tasks/reviewed-lifecycle.js.map +1 -0
- package/dist/run-tasks/verify-stage.d.ts +25 -0
- package/dist/run-tasks/verify-stage.d.ts.map +1 -0
- package/dist/run-tasks/verify-stage.js +168 -0
- package/dist/run-tasks/verify-stage.js.map +1 -0
- package/dist/run-tasks/worker-status.d.ts +3 -0
- package/dist/run-tasks/worker-status.d.ts.map +1 -0
- package/dist/run-tasks/worker-status.js +13 -0
- package/dist/run-tasks/worker-status.js.map +1 -0
- package/dist/runners/base/result-builders.d.ts +81 -0
- package/dist/runners/base/result-builders.d.ts.map +1 -0
- package/dist/runners/base/result-builders.js +103 -0
- package/dist/runners/base/result-builders.js.map +1 -0
- package/dist/runners/base/types.d.ts +53 -0
- package/dist/runners/base/types.d.ts.map +1 -0
- package/dist/runners/base/types.js +2 -0
- package/dist/runners/base/types.js.map +1 -0
- package/dist/runners/claude-runner.d.ts +2 -1
- package/dist/runners/claude-runner.d.ts.map +1 -1
- package/dist/runners/claude-runner.js +44 -109
- package/dist/runners/claude-runner.js.map +1 -1
- package/dist/runners/codex-runner.d.ts +2 -1
- package/dist/runners/codex-runner.d.ts.map +1 -1
- package/dist/runners/codex-runner.js +45 -110
- package/dist/runners/codex-runner.js.map +1 -1
- package/dist/runners/error-classification.d.ts +1 -1
- package/dist/runners/error-classification.d.ts.map +1 -1
- package/dist/runners/openai-runner.d.ts +2 -1
- package/dist/runners/openai-runner.d.ts.map +1 -1
- package/dist/runners/openai-runner.js +34 -84
- package/dist/runners/openai-runner.js.map +1 -1
- package/dist/runners/prevention.d.ts.map +1 -1
- package/dist/runners/prevention.js +18 -0
- package/dist/runners/prevention.js.map +1 -1
- package/dist/runners/types.d.ts +126 -0
- package/dist/runners/types.d.ts.map +1 -0
- package/dist/runners/types.js +2 -0
- package/dist/runners/types.js.map +1 -0
- package/dist/tool-schemas/audit.d.ts +2 -2
- package/dist/tool-schemas/delegate.d.ts +9 -0
- package/dist/tool-schemas/delegate.d.ts.map +1 -1
- package/dist/tool-schemas/delegate.js +4 -0
- package/dist/tool-schemas/delegate.js.map +1 -1
- package/dist/tool-schemas/execute-plan.d.ts +13 -2
- package/dist/tool-schemas/execute-plan.d.ts.map +1 -1
- package/dist/tool-schemas/execute-plan.js +22 -4
- package/dist/tool-schemas/execute-plan.js.map +1 -1
- package/dist/tool-schemas/review.d.ts +1 -1
- package/dist/types.d.ts +36 -327
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +8 -37
- package/dist/types.js.map +1 -1
- package/package.json +35 -3
- package/dist/run-tasks.d.ts.map +0 -1
- package/dist/run-tasks.js +0 -687
- package/dist/run-tasks.js.map +0 -1
package/dist/types.d.ts
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { AttemptRecord, RunOptions, RunStatus, TerminationReason, TokenUsage } from './runners/types.js';
|
|
2
|
+
import type { BriefQualityPolicy, BriefQualityWarning } from './intake/types.js';
|
|
3
|
+
import type { VerifyStageResult, VerifyStepStatus } from './run-tasks/verify-stage.js';
|
|
2
4
|
export type ToolMode = 'none' | 'readonly' | 'no-shell' | 'full';
|
|
3
5
|
export type SandboxPolicy = 'none' | 'cwd-only';
|
|
4
6
|
export type AgentType = 'standard' | 'complex';
|
|
5
7
|
export type AgentCapability = 'web_search' | 'web_fetch';
|
|
8
|
+
export type Effort = 'none' | 'low' | 'medium' | 'high';
|
|
9
|
+
export type CostTier = 'free' | 'low' | 'medium' | 'high';
|
|
6
10
|
export interface AgentConfig {
|
|
7
11
|
type: 'openai-compatible' | 'claude' | 'codex';
|
|
8
12
|
model: string;
|
|
@@ -16,34 +20,23 @@ export interface AgentConfig {
|
|
|
16
20
|
sandboxPolicy?: SandboxPolicy;
|
|
17
21
|
inputTokenSoftLimit?: number;
|
|
18
22
|
}
|
|
19
|
-
export type Effort = 'none' | 'low' | 'medium' | 'high';
|
|
20
|
-
export type CostTier = 'free' | 'low' | 'medium' | 'high';
|
|
21
|
-
export type RunStatus = 'ok' | 'incomplete' | 'timeout' | 'api_aborted' | 'api_error' | 'network_error' | 'error' | 'brief_too_vague' | 'cost_exceeded';
|
|
22
23
|
export interface FormatConstraints {
|
|
23
24
|
inputFormat?: 'json' | 'yaml' | 'xml' | 'csv' | 'markdown';
|
|
24
25
|
outputFormat?: 'json' | 'yaml' | 'xml' | 'csv' | 'markdown';
|
|
25
26
|
}
|
|
26
27
|
export interface TaskSpec {
|
|
27
|
-
/** The task instruction. Required. */
|
|
28
28
|
prompt: string;
|
|
29
|
-
/** How hard the task is. Default: standard. */
|
|
30
29
|
agentType?: AgentType;
|
|
31
|
-
/** Files the sub-agent should focus on. Existing files are pre-verified;
|
|
32
|
-
* non-existent paths are treated as intended output targets. */
|
|
33
30
|
filePaths?: string[];
|
|
34
|
-
/** Acceptance criteria in plain language. The worker reads it as a goal.
|
|
35
|
-
* The spec reviewer checks whether the output satisfies it. */
|
|
36
31
|
done?: string;
|
|
37
|
-
/** Context block IDs to prepend to prompt. */
|
|
38
32
|
contextBlockIds?: string[];
|
|
39
|
-
/** Resolved from config. Callers never set these directly. */
|
|
40
33
|
tools?: ToolMode;
|
|
41
34
|
timeoutMs?: number;
|
|
42
35
|
cwd?: string;
|
|
43
36
|
effort?: Effort;
|
|
44
37
|
sandboxPolicy?: SandboxPolicy;
|
|
45
38
|
maxCostUSD?: number;
|
|
46
|
-
reviewPolicy?: 'full' | 'spec_only' | 'off';
|
|
39
|
+
reviewPolicy?: 'full' | 'spec_only' | 'diff_only' | 'off';
|
|
47
40
|
maxReviewRounds?: number;
|
|
48
41
|
briefQualityPolicy?: BriefQualityPolicy;
|
|
49
42
|
parentModel?: string;
|
|
@@ -56,11 +49,8 @@ export interface TaskSpec {
|
|
|
56
49
|
};
|
|
57
50
|
requiredCapabilities?: AgentCapability[];
|
|
58
51
|
testCommand?: string;
|
|
59
|
-
|
|
60
|
-
* Set by preset tools (execute_plan, delegate_tasks, debug_task). Callers don't set this. */
|
|
52
|
+
verifyCommand?: string[];
|
|
61
53
|
autoCommit?: boolean;
|
|
62
|
-
/** Plan section content for execute_plan tasks. Injected into spec reviewer prompt
|
|
63
|
-
* so the reviewer checks implementation against the plan, not just the brief. */
|
|
64
54
|
planContext?: string;
|
|
65
55
|
}
|
|
66
56
|
export interface CodexProviderConfig {
|
|
@@ -71,13 +61,8 @@ export interface CodexProviderConfig {
|
|
|
71
61
|
sandboxPolicy?: SandboxPolicy;
|
|
72
62
|
hostedTools?: ('web_search' | 'image_generation' | 'code_interpreter')[];
|
|
73
63
|
costTier?: CostTier;
|
|
74
|
-
/** Optional pricing in USD per million input tokens. Used to compute RunResult.usage.costUSD. */
|
|
75
64
|
inputCostPerMTok?: number;
|
|
76
|
-
/** Optional pricing in USD per million output tokens. Used to compute RunResult.usage.costUSD. */
|
|
77
65
|
outputCostPerMTok?: number;
|
|
78
|
-
/** Optional override for the per-provider input token soft limit
|
|
79
|
-
* used by the watchdog. When unset, falls back to the model profile
|
|
80
|
-
* default, then to a hardcoded 100_000 fallback. See spec A.1.4. */
|
|
81
66
|
inputTokenSoftLimit?: number;
|
|
82
67
|
}
|
|
83
68
|
export interface ClaudeProviderConfig {
|
|
@@ -88,18 +73,13 @@ export interface ClaudeProviderConfig {
|
|
|
88
73
|
sandboxPolicy?: SandboxPolicy;
|
|
89
74
|
hostedTools?: ('web_search' | 'image_generation' | 'code_interpreter')[];
|
|
90
75
|
costTier?: CostTier;
|
|
91
|
-
/** Optional pricing override; if set, recomputes costUSD from token usage instead of trusting the SDK. */
|
|
92
76
|
inputCostPerMTok?: number;
|
|
93
77
|
outputCostPerMTok?: number;
|
|
94
|
-
/** Optional override for the per-provider input token soft limit
|
|
95
|
-
* used by the watchdog. When unset, falls back to the model profile
|
|
96
|
-
* default, then to a hardcoded 100_000 fallback. See spec A.1.4. */
|
|
97
78
|
inputTokenSoftLimit?: number;
|
|
98
79
|
}
|
|
99
80
|
export interface OpenAICompatibleProviderConfig {
|
|
100
81
|
type: 'openai-compatible';
|
|
101
82
|
model: string;
|
|
102
|
-
/** Required — must be specified. No default. */
|
|
103
83
|
baseUrl: string;
|
|
104
84
|
apiKey?: string;
|
|
105
85
|
apiKeyEnv?: string;
|
|
@@ -108,16 +88,10 @@ export interface OpenAICompatibleProviderConfig {
|
|
|
108
88
|
sandboxPolicy?: SandboxPolicy;
|
|
109
89
|
hostedTools?: 'web_search'[];
|
|
110
90
|
costTier?: CostTier;
|
|
111
|
-
/** Optional pricing in USD per million input tokens. Used to compute RunResult.usage.costUSD. */
|
|
112
91
|
inputCostPerMTok?: number;
|
|
113
|
-
/** Optional pricing in USD per million output tokens. Used to compute RunResult.usage.costUSD. */
|
|
114
92
|
outputCostPerMTok?: number;
|
|
115
|
-
/** Optional override for the per-provider input token soft limit
|
|
116
|
-
* used by the watchdog. When unset, falls back to the model profile
|
|
117
|
-
* default, then to a hardcoded 100_000 fallback. See spec A.1.4. */
|
|
118
93
|
inputTokenSoftLimit?: number;
|
|
119
94
|
}
|
|
120
|
-
/** Discriminated union — each provider type has distinct required fields. */
|
|
121
95
|
export type ProviderConfig = CodexProviderConfig | ClaudeProviderConfig | OpenAICompatibleProviderConfig;
|
|
122
96
|
export interface MultiModelConfig {
|
|
123
97
|
agents: {
|
|
@@ -129,13 +103,7 @@ export interface MultiModelConfig {
|
|
|
129
103
|
maxCostUSD: number;
|
|
130
104
|
tools: ToolMode;
|
|
131
105
|
sandboxPolicy: SandboxPolicy;
|
|
132
|
-
/** Character threshold that triggers auto-switch from 'full' to
|
|
133
|
-
* 'summary' response mode when the caller uses `responseMode: 'auto'`
|
|
134
|
-
* (the default). Optional — defaults to 65_536 when absent.
|
|
135
|
-
* Env vars can override at higher precedence. */
|
|
136
106
|
largeResponseThresholdChars?: number;
|
|
137
|
-
/** Model name of the parent session (e.g. 'claude-opus-4-6'). When set,
|
|
138
|
-
* each task's `savedCostUSD` is computed against this model's rates. */
|
|
139
107
|
parentModel?: string;
|
|
140
108
|
};
|
|
141
109
|
diagnostics?: {
|
|
@@ -166,338 +134,79 @@ export interface MultiModelConfig {
|
|
|
166
134
|
autoUpdateSkills: boolean;
|
|
167
135
|
};
|
|
168
136
|
}
|
|
169
|
-
export interface
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
savedCostUSD?: number | null;
|
|
176
|
-
}
|
|
177
|
-
export interface TerminationReason {
|
|
178
|
-
/** Why the task stopped. 'finished' means the worker returned normally — check
|
|
179
|
-
* workerSelfAssessment for the worker's own view of completion. */
|
|
180
|
-
cause: 'finished' | 'incomplete' | 'timeout' | 'cost_exceeded' | 'degenerate_exhausted' | 'api_error' | 'network_error' | 'api_aborted' | 'brief_too_vague' | 'error';
|
|
181
|
-
turnsUsed: number;
|
|
182
|
-
hasFileArtifacts: boolean;
|
|
183
|
-
usedShell: boolean;
|
|
184
|
-
workerSelfAssessment: 'done' | 'done_with_concerns' | 'needs_context' | 'blocked' | null;
|
|
185
|
-
wasPromoted: boolean;
|
|
137
|
+
export interface Commit {
|
|
138
|
+
sha: string;
|
|
139
|
+
subject: string;
|
|
140
|
+
body: string;
|
|
141
|
+
filesChanged: string[];
|
|
142
|
+
authoredAt: string;
|
|
186
143
|
}
|
|
187
144
|
export interface RunResult {
|
|
188
145
|
output: string;
|
|
189
146
|
status: RunStatus;
|
|
190
147
|
usage: TokenUsage;
|
|
191
148
|
turns: number;
|
|
192
|
-
/** Files whose contents the worker read (via readFile/grep/listFiles). */
|
|
193
149
|
filesRead: string[];
|
|
194
|
-
/** Files the worker wrote (via writeFile). */
|
|
195
150
|
filesWritten: string[];
|
|
196
|
-
/** Compact one-line summaries of every tool the worker invoked, in order. */
|
|
197
151
|
toolCalls: string[];
|
|
198
|
-
/** `true` when `output` is a runner-synthesized diagnostic template
|
|
199
|
-
* (`"Sub-agent error: …"`, `"Agent timed out after …"`, the incomplete
|
|
200
|
-
* template from `buildXxxIncompleteDiagnostic`, etc.) because the
|
|
201
|
-
* scratchpad was empty at termination. `false` when `output` contains
|
|
202
|
-
* real model-produced content — either a clean final answer on the
|
|
203
|
-
* `ok` path, or `scratchpad.latest()` on any salvage path where the
|
|
204
|
-
* scratchpad had buffered text.
|
|
205
|
-
*
|
|
206
|
-
* Used by the escalation orchestrator's all-fail fallback to prefer
|
|
207
|
-
* real content over diagnostic templates regardless of status or
|
|
208
|
-
* length (otherwise a long `"Sub-agent error: <stack trace>"` string
|
|
209
|
-
* could beat a shorter genuine partial answer from an earlier
|
|
210
|
-
* attempt). */
|
|
211
152
|
outputIsDiagnostic: boolean;
|
|
212
|
-
/** One entry per provider attempt within this dispatch. Length === 1
|
|
213
|
-
* for tasks that succeeded on the first try; longer when escalation
|
|
214
|
-
* occurred. Runners initialize this to `[]`; the escalation
|
|
215
|
-
* orchestrator populates it on each return path. */
|
|
216
153
|
escalationLog: AttemptRecord[];
|
|
217
|
-
/** Wall-clock duration of this task in milliseconds. */
|
|
218
154
|
durationMs?: number;
|
|
219
|
-
/** Directories whose entries the worker listed. */
|
|
220
155
|
directoriesListed?: string[];
|
|
221
156
|
error?: string;
|
|
222
|
-
/** Error code for refused briefs. */
|
|
223
157
|
errorCode?: string;
|
|
224
|
-
/** Whether the task can be retried. */
|
|
225
158
|
retryable?: boolean;
|
|
226
|
-
/** Brief quality warnings from readiness evaluation. */
|
|
227
159
|
briefQualityWarnings?: BriefQualityWarning[];
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
160
|
+
terminationReason?: TerminationReason | 'round_cap' | 'cost_ceiling';
|
|
161
|
+
reviewRounds?: {
|
|
162
|
+
spec: number;
|
|
163
|
+
quality: number;
|
|
164
|
+
metadata: number;
|
|
165
|
+
cap: number;
|
|
166
|
+
};
|
|
167
|
+
concerns?: Array<{
|
|
168
|
+
source: 'spec_review' | 'quality_review' | 'diff_review' | 'verification' | 'diff_truncated';
|
|
169
|
+
severity: 'low' | 'medium' | 'high';
|
|
170
|
+
message: string;
|
|
171
|
+
}>;
|
|
172
|
+
structuredError?: {
|
|
173
|
+
code: 'verify_command_error' | 'commit_metadata_invalid' | 'commit_metadata_repair_modified_files' | 'dirty_worktree' | 'diff_review_rejected' | 'runner_crash';
|
|
174
|
+
message: string;
|
|
175
|
+
step?: number;
|
|
176
|
+
status?: VerifyStepStatus;
|
|
177
|
+
attemptsUsed?: number;
|
|
178
|
+
dirtyTreePreserved?: boolean;
|
|
179
|
+
};
|
|
180
|
+
workerStatus?: 'done' | 'done_with_concerns' | 'needs_context' | 'blocked' | 'review_loop_aborted' | 'failed';
|
|
234
181
|
specReviewStatus?: 'approved' | 'changes_required' | 'skipped' | 'error' | 'not_applicable';
|
|
235
|
-
/** Why spec review returned its status. Present for 'error', 'skipped', and 'not_applicable'. */
|
|
236
182
|
specReviewReason?: string;
|
|
237
|
-
/** Internal: true when task.filePaths was specified but the worker never
|
|
238
|
-
* read or wrote any of them — a soft completion concern. */
|
|
239
183
|
filePathsSkipped?: boolean;
|
|
240
|
-
/** True when task.filePaths included non-existent output targets that still
|
|
241
|
-
* don't exist after all work (worker + rework) completes. */
|
|
242
184
|
fileArtifactsMissing?: boolean;
|
|
243
|
-
|
|
244
|
-
commitSha?: string;
|
|
245
|
-
/** Error from the last failed auto-commit attempt, if any. */
|
|
185
|
+
commits?: Commit[];
|
|
246
186
|
commitError?: string;
|
|
247
|
-
|
|
187
|
+
verification?: VerifyStageResult;
|
|
248
188
|
qualityReviewStatus?: 'approved' | 'changes_required' | 'skipped' | 'error' | 'not_applicable';
|
|
249
|
-
/** Why quality review returned its status. Present for 'error', 'skipped', and 'not_applicable'. */
|
|
250
189
|
qualityReviewReason?: string;
|
|
251
|
-
/** Aggregated structured report from the reviewed execution loop. */
|
|
252
190
|
structuredReport?: import('./reporting/structured-report.js').ParsedStructuredReport;
|
|
253
|
-
/** Which agent ran in each role. */
|
|
254
191
|
agents?: {
|
|
255
192
|
implementer: 'standard' | 'complex' | 'not_run';
|
|
256
193
|
specReviewer: 'standard' | 'complex' | 'skipped' | 'not_applicable';
|
|
257
194
|
qualityReviewer: 'standard' | 'complex' | 'skipped' | 'not_applicable';
|
|
258
195
|
};
|
|
259
|
-
/** Actual model name used in each role. */
|
|
260
196
|
models?: {
|
|
261
197
|
implementer: string;
|
|
262
198
|
specReviewer: string | null;
|
|
263
199
|
qualityReviewer: string | null;
|
|
264
200
|
};
|
|
265
|
-
/** The implementer's structured report. */
|
|
266
201
|
implementationReport?: import('./reporting/structured-report.js').ParsedStructuredReport;
|
|
267
|
-
/** The spec reviewer's structured report. */
|
|
268
202
|
specReviewReport?: import('./reporting/structured-report.js').ParsedStructuredReport;
|
|
269
|
-
/** The quality reviewer's structured report. */
|
|
270
203
|
qualityReviewReport?: import('./reporting/structured-report.js').ParsedStructuredReport;
|
|
271
204
|
}
|
|
272
|
-
/** Aggregate timing metrics for a `delegate_tasks` batch. */
|
|
273
|
-
export interface BatchTimings {
|
|
274
|
-
wallClockMs: number;
|
|
275
|
-
sumOfTaskMs: number;
|
|
276
|
-
estimatedParallelSavingsMs: number;
|
|
277
|
-
}
|
|
278
|
-
/** Aggregate completion counts for a `delegate_tasks` batch. */
|
|
279
|
-
export interface BatchProgress {
|
|
280
|
-
totalTasks: number;
|
|
281
|
-
completedTasks: number;
|
|
282
|
-
incompleteTasks: number;
|
|
283
|
-
failedTasks: number;
|
|
284
|
-
successPercent: number;
|
|
285
|
-
}
|
|
286
|
-
/** Aggregate cost metrics for a `delegate_tasks` batch. */
|
|
287
|
-
export interface BatchAggregateCost {
|
|
288
|
-
totalActualCostUSD: number;
|
|
289
|
-
totalSavedCostUSD: number;
|
|
290
|
-
}
|
|
291
|
-
/**
|
|
292
|
-
* Single provider-attempt record inside an escalation chain. The orchestrator
|
|
293
|
-
* (`delegateWithEscalation`) pushes one entry per `provider.run(...)` call.
|
|
294
|
-
*/
|
|
295
|
-
export interface AttemptRecord {
|
|
296
|
-
provider: string;
|
|
297
|
-
status: RunStatus;
|
|
298
|
-
turns: number;
|
|
299
|
-
inputTokens: number;
|
|
300
|
-
outputTokens: number;
|
|
301
|
-
costUSD: number | null;
|
|
302
|
-
/** Character count of the canonical orchestrator-side initial brief for
|
|
303
|
-
* this attempt — the exact string
|
|
304
|
-
* `${buildSystemPrompt()}\n\n${buildBudgetHint(...)}\n\n${prompt}`
|
|
305
|
-
* (as assembled before any runner-specific wrapping). Populated by the
|
|
306
|
-
* escalation orchestrator via the `RunOptions.onInitialRequest` callback
|
|
307
|
-
* the runner invokes exactly once per attempt.
|
|
308
|
-
*
|
|
309
|
-
* NOTE: This is a canonical identifier, NOT a wire-level checksum. The
|
|
310
|
-
* provider's SDK may wrap or transform this string before sending (e.g.
|
|
311
|
-
* the Anthropic SDK prepends its `claude_code` preset to the system
|
|
312
|
-
* prompt via `{ type: 'preset', preset: 'claude_code', append: ... }`;
|
|
313
|
-
* the OpenAI SDKs wrap it in a `messages` array). All three runners use
|
|
314
|
-
* the same canonical form so the hash is cross-runner stable: identical
|
|
315
|
-
* briefs produce identical hashes regardless of which runner executed
|
|
316
|
-
* them. Use this to verify "did the orchestrator send the same brief
|
|
317
|
-
* across retries?", not "were the literal bytes on the wire identical?".
|
|
318
|
-
*
|
|
319
|
-
* Defaults to 0 if the runner never invoked the callback. */
|
|
320
|
-
initialPromptLengthChars: number;
|
|
321
|
-
/** sha256 hex of the canonical orchestrator-side initial brief. See the
|
|
322
|
-
* comment on `initialPromptLengthChars` above for the exact hashed
|
|
323
|
-
* string and the wire-level caveat. Defaults to the empty string if the
|
|
324
|
-
* runner never invoked the callback. */
|
|
325
|
-
initialPromptHash: string;
|
|
326
|
-
/** Why this attempt was abandoned, if it was. Empty if status === 'ok'. */
|
|
327
|
-
reason?: string;
|
|
328
|
-
}
|
|
329
205
|
export interface Provider {
|
|
330
206
|
name: string;
|
|
331
207
|
config: ProviderConfig;
|
|
332
208
|
run(prompt: string, options?: RunOptions): Promise<RunResult>;
|
|
333
209
|
}
|
|
334
|
-
export interface RunOptions {
|
|
335
|
-
tools?: ToolMode;
|
|
336
|
-
timeoutMs?: number;
|
|
337
|
-
cwd?: string;
|
|
338
|
-
effort?: Effort;
|
|
339
|
-
sandboxPolicy?: SandboxPolicy;
|
|
340
|
-
/** Optional caller-declared output expectations. When supplied, the
|
|
341
|
-
* supervision layer runs `validateCoverage` after `validateCompletion`'s
|
|
342
|
-
* syntactic check passes, and re-prompts with specific missing-item
|
|
343
|
-
* guidance if coverage is insufficient. Same 3-retry budget as other
|
|
344
|
-
* degeneracy classes. Opt-in: callers who omit this field see zero
|
|
345
|
-
* change in runner behavior. Generic across all workload shapes that
|
|
346
|
-
* produce enumerable deliverables. */
|
|
347
|
-
expectedCoverage?: TaskSpec['expectedCoverage'];
|
|
348
|
-
/** Opt-out: when true, the runner skips the `no_terminator` and `fragment`
|
|
349
|
-
* short-output heuristics for this task. Use for tight-format outputs
|
|
350
|
-
* (single-line verdicts, CSV rows, opaque identifiers) that don't follow
|
|
351
|
-
* prose conventions. The `empty` and `thinking_only` degeneracy checks
|
|
352
|
-
* still fire independently. If `expectedCoverage` is also declared and
|
|
353
|
-
* passes, coverage is authoritative — you don't need this flag. */
|
|
354
|
-
skipCompletionHeuristic?: boolean;
|
|
355
|
-
/** Optional callback invoked by runners and the escalation orchestrator to
|
|
356
|
-
* stream in-flight internal progress events. These are `InternalRunnerEvent`
|
|
357
|
-
* variants — the runner-to-orchestrator telemetry channel. They are NEVER
|
|
358
|
-
* forwarded to the parent. HeartbeatTimer is the sole parent emitter. */
|
|
359
|
-
onProgress?: (event: InternalRunnerEvent) => void;
|
|
360
|
-
/** Called exactly once per attempt, when the runner has assembled the
|
|
361
|
-
* canonical orchestrator-side initial brief — the string
|
|
362
|
-
* `${buildSystemPrompt()}\n\n${buildBudgetHint(...)}\n\n${prompt}`,
|
|
363
|
-
* after prevention scaffolding has been produced but before any tool
|
|
364
|
-
* cycles, re-grounding, supervision, or watchdog injections happen.
|
|
365
|
-
* The escalation orchestrator passes a closure here to capture the
|
|
366
|
-
* metadata into the `AttemptRecord` it builds.
|
|
367
|
-
*
|
|
368
|
-
* This is a canonical identifier, NOT a wire-level checksum: each
|
|
369
|
-
* runner computes it from the same canonical string so the hash is
|
|
370
|
-
* cross-runner stable, even though the SDK underneath may wrap the
|
|
371
|
-
* inputs before sending (Claude prepends its `claude_code` preset to
|
|
372
|
-
* the system prompt; OpenAI/Codex wrap inputs in structured message
|
|
373
|
-
* arrays). See `AttemptRecord.initialPromptHash` for the full caveat.
|
|
374
|
-
*
|
|
375
|
-
* If a runner is re-invoked by escalation, the callback fires again
|
|
376
|
-
* for the new attempt because the orchestrator resets its per-attempt
|
|
377
|
-
* closure. Passing nothing keeps existing behaviour (no-op). */
|
|
378
|
-
onInitialRequest?: (meta: {
|
|
379
|
-
lengthChars: number;
|
|
380
|
-
sha256: string;
|
|
381
|
-
}) => void;
|
|
382
|
-
/** Optional hint about the parent session's model for saved-cost estimates.
|
|
383
|
-
* When supplied, `RunResult.usage.savedCostUSD` is computed against this
|
|
384
|
-
* model's profile rates. */
|
|
385
|
-
parentModel?: string;
|
|
386
|
-
/** Optional cost ceiling in USD. Runner will reject tool calls that would exceed this budget. */
|
|
387
|
-
maxCostUSD?: number;
|
|
388
|
-
/** Optional format constraints for input/output. */
|
|
389
|
-
formatConstraints?: FormatConstraints;
|
|
390
|
-
}
|
|
391
|
-
/**
|
|
392
|
-
* Runtime dependencies for `runTasks`. Kept separate from static `MultiModelConfig`
|
|
393
|
-
* because these are per-session objects (today: the context-block store) the
|
|
394
|
-
* caller owns and passes in explicitly, not config loaded from disk.
|
|
395
|
-
*/
|
|
396
|
-
export interface RunTasksRuntime {
|
|
397
|
-
/** Optional store of registered context blocks. When provided, each task's
|
|
398
|
-
* `contextBlockIds` are resolved against this store before dispatch; when
|
|
399
|
-
* omitted, tasks with `contextBlockIds` are passed through unchanged. */
|
|
400
|
-
contextBlockStore?: ContextBlockStore;
|
|
401
|
-
}
|
|
402
|
-
/**
|
|
403
|
-
* Internal progress events emitted by runners and the escalation orchestrator.
|
|
404
|
-
* These flow from runners → run-tasks.ts (intercepted for live counter updates)
|
|
405
|
-
* but are NEVER forwarded to the parent. HeartbeatTimer is the sole parent emitter.
|
|
406
|
-
*
|
|
407
|
-
* Runners emit these via `onProgress`. `delegateWithEscalation` also emits
|
|
408
|
-
* `escalation_start` and `retry` variants here.
|
|
409
|
-
*/
|
|
410
|
-
export type InternalRunnerEvent = {
|
|
411
|
-
kind: 'turn_start';
|
|
412
|
-
turn: number;
|
|
413
|
-
provider: string;
|
|
414
|
-
} | {
|
|
415
|
-
kind: 'tool_call';
|
|
416
|
-
turn: number;
|
|
417
|
-
toolSummary: string;
|
|
418
|
-
} | {
|
|
419
|
-
kind: 'text_emission';
|
|
420
|
-
turn: number;
|
|
421
|
-
chars: number;
|
|
422
|
-
preview: string;
|
|
423
|
-
} | {
|
|
424
|
-
kind: 'turn_complete';
|
|
425
|
-
turn: number;
|
|
426
|
-
cumulativeInputTokens: number;
|
|
427
|
-
cumulativeOutputTokens: number;
|
|
428
|
-
} | {
|
|
429
|
-
kind: 'injection';
|
|
430
|
-
injectionType: 'reground' | 'supervise_empty' | 'supervise_thinking' | 'supervise_fragment' | 'supervise_insufficient_coverage' | 'watchdog_warning' | 'watchdog_force_salvage';
|
|
431
|
-
turn: number;
|
|
432
|
-
contentLengthChars: number;
|
|
433
|
-
} | {
|
|
434
|
-
kind: 'escalation_start';
|
|
435
|
-
previousProvider: string;
|
|
436
|
-
previousReason: string;
|
|
437
|
-
nextProvider: string;
|
|
438
|
-
} | {
|
|
439
|
-
kind: 'retry';
|
|
440
|
-
attempt: number;
|
|
441
|
-
previousStatus: RunStatus;
|
|
442
|
-
delayMs: number;
|
|
443
|
-
} | {
|
|
444
|
-
kind: 'done';
|
|
445
|
-
status: RunStatus;
|
|
446
|
-
};
|
|
447
|
-
/**
|
|
448
|
-
* Single progress event shape emitted by HeartbeatTimer during task execution.
|
|
449
|
-
* All progress notifications use this one shape — no discriminated union.
|
|
450
|
-
* Emitted on timer ticks (every 5s), significant transitions (stage/provider change),
|
|
451
|
-
* and once with `final: true` on completion.
|
|
452
|
-
*/
|
|
453
|
-
export type ProgressEvent = {
|
|
454
|
-
kind: 'heartbeat';
|
|
455
|
-
elapsed: string;
|
|
456
|
-
provider: string;
|
|
457
|
-
stage: 'implementing' | 'spec_review' | 'spec_rework' | 'quality_review' | 'quality_rework';
|
|
458
|
-
stageIndex: number;
|
|
459
|
-
stageCount: number;
|
|
460
|
-
reviewRound?: number;
|
|
461
|
-
maxReviewRounds?: number;
|
|
462
|
-
progress: {
|
|
463
|
-
filesRead: number;
|
|
464
|
-
filesWritten: number;
|
|
465
|
-
toolCalls: number;
|
|
466
|
-
};
|
|
467
|
-
costUSD: number | null;
|
|
468
|
-
savedCostUSD: number | null;
|
|
469
|
-
final: boolean;
|
|
470
|
-
headline: string;
|
|
471
|
-
};
|
|
472
|
-
export type EligibilityFailureCheck = 'capability' | 'tier' | 'tool_mode' | 'provider_not_found' | 'unsupported_provider_type' | 'missing_required_field' | string;
|
|
473
|
-
export interface EligibilityFailure {
|
|
474
|
-
check: EligibilityFailureCheck;
|
|
475
|
-
detail: string;
|
|
476
|
-
message: string;
|
|
477
|
-
}
|
|
478
|
-
export interface ProviderEligibility {
|
|
479
|
-
name: string;
|
|
480
|
-
config: ProviderConfig;
|
|
481
|
-
eligible: boolean;
|
|
482
|
-
/** Reasons only present when eligible === false. */
|
|
483
|
-
reasons: EligibilityFailure[];
|
|
484
|
-
}
|
|
485
|
-
export type BriefQualityWarning = 'outsourced_discovery' | 'brittle_line_anchors' | 'mixed_environment_actions' | 'bare_topic_noun' | 'no_done_condition' | 'no_output_contract' | 'tiny_brief' | 'huge_brief';
|
|
486
|
-
export type BriefQualityPolicy = 'strict' | 'warn' | 'off' | undefined;
|
|
487
|
-
export interface ReadinessResult {
|
|
488
|
-
action: 'refuse' | 'warn' | 'ignored';
|
|
489
|
-
missingPillars: ('scope' | 'inputs' | 'done_condition' | 'output_contract')[];
|
|
490
|
-
layer2Warnings: BriefQualityWarning[];
|
|
491
|
-
layer3Hints: ('concrete_path' | 'named_code_artifact' | 'reasonable_length')[];
|
|
492
|
-
briefQualityWarnings: BriefQualityWarning[];
|
|
493
|
-
}
|
|
494
|
-
/**
|
|
495
|
-
* Compute USD cost from token usage and the provider config's optional
|
|
496
|
-
* per-million-token rates. Returns null when either rate is missing — that
|
|
497
|
-
* way the caller can distinguish "we know the cost is zero" (free provider
|
|
498
|
-
* with both rates set to 0) from "we don't know the cost" (rates not
|
|
499
|
-
* configured). Negative or non-finite rates are treated as missing.
|
|
500
|
-
*/
|
|
501
210
|
export declare function computeCostUSD(inputTokens: number, outputTokens: number, config: ProviderConfig): number | null;
|
|
502
211
|
export declare function computeSavedCostUSD(actualCostUSD: number | null, inputTokens: number, outputTokens: number, parentModel: string | undefined): number | null;
|
|
503
212
|
export declare function withTimeout<T>(promise: Promise<T>, timeoutMs: number, onTimeout: () => T, abort?: AbortController): Promise<T>;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -1,65 +1,36 @@
|
|
|
1
1
|
import { findModelProfile } from './routing/model-profiles.js';
|
|
2
|
-
// === Utilities ===
|
|
3
|
-
/**
|
|
4
|
-
* Compute USD cost from token usage and the provider config's optional
|
|
5
|
-
* per-million-token rates. Returns null when either rate is missing — that
|
|
6
|
-
* way the caller can distinguish "we know the cost is zero" (free provider
|
|
7
|
-
* with both rates set to 0) from "we don't know the cost" (rates not
|
|
8
|
-
* configured). Negative or non-finite rates are treated as missing.
|
|
9
|
-
*/
|
|
10
2
|
export function computeCostUSD(inputTokens, outputTokens, config) {
|
|
11
3
|
const explicitRates = resolveRatePair(config.inputCostPerMTok, config.outputCostPerMTok);
|
|
12
|
-
if (explicitRates !== null)
|
|
4
|
+
if (explicitRates !== null)
|
|
13
5
|
return (inputTokens * explicitRates.input + outputTokens * explicitRates.output) / 1_000_000;
|
|
14
|
-
}
|
|
15
6
|
const profile = findModelProfile(config.model);
|
|
16
7
|
const profileRates = resolveRatePair(profile.inputCostPerMTok, profile.outputCostPerMTok);
|
|
17
|
-
if (profileRates === null)
|
|
8
|
+
if (profileRates === null)
|
|
18
9
|
return null;
|
|
19
|
-
}
|
|
20
10
|
return (inputTokens * profileRates.input + outputTokens * profileRates.output) / 1_000_000;
|
|
21
11
|
}
|
|
22
12
|
export function computeSavedCostUSD(actualCostUSD, inputTokens, outputTokens, parentModel) {
|
|
23
|
-
if (actualCostUSD === null || parentModel === undefined)
|
|
13
|
+
if (actualCostUSD === null || parentModel === undefined)
|
|
24
14
|
return null;
|
|
25
|
-
}
|
|
26
15
|
const profile = findModelProfile(parentModel);
|
|
27
16
|
const profileRates = resolveRatePair(profile.inputCostPerMTok, profile.outputCostPerMTok);
|
|
28
|
-
if (profileRates === null)
|
|
17
|
+
if (profileRates === null)
|
|
29
18
|
return null;
|
|
30
|
-
|
|
31
|
-
const hypotheticalParentCostUSD = (inputTokens * profileRates.input + outputTokens * profileRates.output) / 1_000_000;
|
|
32
|
-
return hypotheticalParentCostUSD - actualCostUSD;
|
|
19
|
+
return (inputTokens * profileRates.input + outputTokens * profileRates.output) / 1_000_000 - actualCostUSD;
|
|
33
20
|
}
|
|
34
21
|
function resolveRatePair(inputCostPerMTok, outputCostPerMTok) {
|
|
35
|
-
if (inputCostPerMTok !== undefined &&
|
|
36
|
-
outputCostPerMTok !== undefined &&
|
|
37
|
-
Number.isFinite(inputCostPerMTok) &&
|
|
38
|
-
Number.isFinite(outputCostPerMTok) &&
|
|
39
|
-
inputCostPerMTok >= 0 &&
|
|
40
|
-
outputCostPerMTok >= 0) {
|
|
22
|
+
if (inputCostPerMTok !== undefined && outputCostPerMTok !== undefined && Number.isFinite(inputCostPerMTok) && Number.isFinite(outputCostPerMTok) && inputCostPerMTok >= 0 && outputCostPerMTok >= 0)
|
|
41
23
|
return { input: inputCostPerMTok, output: outputCostPerMTok };
|
|
42
|
-
}
|
|
43
24
|
return null;
|
|
44
25
|
}
|
|
45
26
|
export function withTimeout(promise, timeoutMs, onTimeout, abort) {
|
|
46
27
|
let timeoutId;
|
|
47
28
|
const timeoutPromise = new Promise((resolve) => {
|
|
48
|
-
timeoutId = setTimeout(() => {
|
|
49
|
-
abort?.abort();
|
|
50
|
-
resolve(onTimeout());
|
|
51
|
-
}, timeoutMs);
|
|
29
|
+
timeoutId = setTimeout(() => { abort?.abort(); resolve(onTimeout()); }, timeoutMs);
|
|
52
30
|
});
|
|
53
|
-
return promise
|
|
54
|
-
.then((result) => {
|
|
31
|
+
return Promise.race([promise, timeoutPromise]).finally(() => {
|
|
55
32
|
if (timeoutId !== undefined)
|
|
56
33
|
clearTimeout(timeoutId);
|
|
57
|
-
return result;
|
|
58
|
-
})
|
|
59
|
-
.catch((error) => {
|
|
60
|
-
if (timeoutId !== undefined)
|
|
61
|
-
clearTimeout(timeoutId);
|
|
62
|
-
throw error;
|
|
63
34
|
});
|
|
64
35
|
}
|
|
65
36
|
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AA8H/D,MAAM,UAAU,cAAc,CAAC,WAAmB,EAAE,YAAoB,EAAE,MAAsB;IAC9F,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACzF,IAAI,aAAa,KAAK,IAAI;QAAE,OAAO,CAAC,WAAW,GAAG,aAAa,CAAC,KAAK,GAAG,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACzH,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC1F,IAAI,YAAY,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,CAAC,WAAW,GAAG,YAAY,CAAC,KAAK,GAAG,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;AAC7F,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,aAA4B,EAAE,WAAmB,EAAE,YAAoB,EAAE,WAA+B;IAC1I,IAAI,aAAa,KAAK,IAAI,IAAI,WAAW,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACrE,MAAM,OAAO,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC1F,IAAI,YAAY,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,CAAC,WAAW,GAAG,YAAY,CAAC,KAAK,GAAG,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,SAAS,GAAG,aAAa,CAAC;AAC7G,CAAC;AAED,SAAS,eAAe,CAAC,gBAAoC,EAAE,iBAAqC;IAClG,IAAI,gBAAgB,KAAK,SAAS,IAAI,iBAAiB,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,gBAAgB,IAAI,CAAC,IAAI,iBAAiB,IAAI,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;IACnQ,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,WAAW,CAAI,OAAmB,EAAE,SAAiB,EAAE,SAAkB,EAAE,KAAuB;IAChH,IAAI,SAAoD,CAAC;IACzD,MAAM,cAAc,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,EAAE;QAChD,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;QAC1D,IAAI,SAAS,KAAK,SAAS;YAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC"}
|