@spinabot/brigade 1.23.0 → 1.24.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 (76) hide show
  1. package/dist/agents/agent-loop.d.ts.map +1 -1
  2. package/dist/agents/agent-loop.js +73 -3
  3. package/dist/agents/agent-loop.js.map +1 -1
  4. package/dist/agents/channels/inbound-pipeline.d.ts.map +1 -1
  5. package/dist/agents/channels/inbound-pipeline.js +6 -0
  6. package/dist/agents/channels/inbound-pipeline.js.map +1 -1
  7. package/dist/agents/claude-cli/availability.d.ts +12 -0
  8. package/dist/agents/claude-cli/availability.d.ts.map +1 -0
  9. package/dist/agents/claude-cli/availability.js +79 -0
  10. package/dist/agents/claude-cli/availability.js.map +1 -0
  11. package/dist/agents/claude-cli/catalog.d.ts +91 -0
  12. package/dist/agents/claude-cli/catalog.d.ts.map +1 -0
  13. package/dist/agents/claude-cli/catalog.js +260 -0
  14. package/dist/agents/claude-cli/catalog.js.map +1 -0
  15. package/dist/agents/claude-cli/claude-config.d.ts +38 -0
  16. package/dist/agents/claude-cli/claude-config.d.ts.map +1 -0
  17. package/dist/agents/claude-cli/claude-config.js +111 -0
  18. package/dist/agents/claude-cli/claude-config.js.map +1 -0
  19. package/dist/agents/claude-cli/register.d.ts +32 -0
  20. package/dist/agents/claude-cli/register.d.ts.map +1 -0
  21. package/dist/agents/claude-cli/register.js +68 -0
  22. package/dist/agents/claude-cli/register.js.map +1 -0
  23. package/dist/agents/claude-cli/spawn.d.ts +42 -0
  24. package/dist/agents/claude-cli/spawn.d.ts.map +1 -0
  25. package/dist/agents/claude-cli/spawn.js +179 -0
  26. package/dist/agents/claude-cli/spawn.js.map +1 -0
  27. package/dist/agents/claude-cli/stream-json.d.ts +129 -0
  28. package/dist/agents/claude-cli/stream-json.d.ts.map +1 -0
  29. package/dist/agents/claude-cli/stream-json.js +84 -0
  30. package/dist/agents/claude-cli/stream-json.js.map +1 -0
  31. package/dist/agents/claude-cli/stream.d.ts +27 -0
  32. package/dist/agents/claude-cli/stream.d.ts.map +1 -0
  33. package/dist/agents/claude-cli/stream.js +380 -0
  34. package/dist/agents/claude-cli/stream.js.map +1 -0
  35. package/dist/agents/error-classifier.d.ts +2 -2
  36. package/dist/agents/error-classifier.d.ts.map +1 -1
  37. package/dist/agents/error-classifier.js +43 -0
  38. package/dist/agents/error-classifier.js.map +1 -1
  39. package/dist/agents/model-resolution.d.ts +36 -0
  40. package/dist/agents/model-resolution.d.ts.map +1 -1
  41. package/dist/agents/model-resolution.js +59 -0
  42. package/dist/agents/model-resolution.js.map +1 -1
  43. package/dist/agents/retry-policy.d.ts.map +1 -1
  44. package/dist/agents/retry-policy.js +25 -1
  45. package/dist/agents/retry-policy.js.map +1 -1
  46. package/dist/auth/auth-health.d.ts +89 -0
  47. package/dist/auth/auth-health.d.ts.map +1 -1
  48. package/dist/auth/auth-health.js +207 -1
  49. package/dist/auth/auth-health.js.map +1 -1
  50. package/dist/buildstamp.json +1 -1
  51. package/dist/cli/commands/auth.js +18 -0
  52. package/dist/cli/commands/auth.js.map +1 -1
  53. package/dist/cli/commands/doctor.d.ts.map +1 -1
  54. package/dist/cli/commands/doctor.js +46 -0
  55. package/dist/cli/commands/doctor.js.map +1 -1
  56. package/dist/cli/commands/gateway.d.ts +4 -0
  57. package/dist/cli/commands/gateway.d.ts.map +1 -1
  58. package/dist/cli/commands/gateway.js +44 -2
  59. package/dist/cli/commands/gateway.js.map +1 -1
  60. package/dist/cli/commands/login.d.ts.map +1 -1
  61. package/dist/cli/commands/login.js +107 -19
  62. package/dist/cli/commands/login.js.map +1 -1
  63. package/dist/core/auth-bridge.d.ts.map +1 -1
  64. package/dist/core/auth-bridge.js +16 -0
  65. package/dist/core/auth-bridge.js.map +1 -1
  66. package/dist/core/server.d.ts.map +1 -1
  67. package/dist/core/server.js +13 -0
  68. package/dist/core/server.js.map +1 -1
  69. package/dist/providers/catalog.d.ts.map +1 -1
  70. package/dist/providers/catalog.js +18 -0
  71. package/dist/providers/catalog.js.map +1 -1
  72. package/dist/ui/onboarding.d.ts +11 -0
  73. package/dist/ui/onboarding.d.ts.map +1 -1
  74. package/dist/ui/onboarding.js +343 -4
  75. package/dist/ui/onboarding.js.map +1 -1
  76. package/package.json +2 -1
@@ -0,0 +1,380 @@
1
+ // The Pi `StreamFn` for the claude-cli backend. It turns one Brigade turn into
2
+ // a `claude -p` subprocess invocation and maps the CLI's stream-json frames
3
+ // onto pi-ai's `AssistantMessageEventStream` — so `api: "claude-cli"` models
4
+ // dispatch through the agent loop exactly like a built-in provider, but the
5
+ // inference runs on the operator's Claude subscription via the vendor binary.
6
+ //
7
+ // v1 is CHAT-first + STATELESS: Brigade already replays the full conversation
8
+ // each turn (like its HTTP providers), so we serialize that transcript into the
9
+ // CLI's stdin prompt and run a fresh process per turn — no --resume/session
10
+ // binding, no MCP tool bridge. The event-emission shape mirrors
11
+ // `ollama-native/stream.ts` (one stable per-turn timestamp; start → text/
12
+ // thinking deltas → done | error).
13
+ import { createAssistantMessageEventStream, } from "@earendil-works/pi-ai";
14
+ import { buildClaudeCliArgs, CLAUDE_CLI_API, CLAUDE_CLI_PROVIDER } from "./catalog.js";
15
+ import { spawnClaudeCli } from "./spawn.js";
16
+ import { classifyResultFrame, foldUsage, } from "./stream-json.js";
17
+ /** Flatten a Pi content value (string | blocks[]) to plain text. */
18
+ function contentToText(content) {
19
+ if (typeof content === "string")
20
+ return content;
21
+ if (!Array.isArray(content))
22
+ return "";
23
+ const parts = [];
24
+ for (const block of content) {
25
+ if (!block || typeof block !== "object")
26
+ continue;
27
+ const type = block.type;
28
+ if (type === "text" && typeof block.text === "string")
29
+ parts.push(block.text);
30
+ else if (type === "thinking" && typeof block.thinking === "string") {
31
+ /* skip prior thinking — not replayed to the CLI */
32
+ }
33
+ else if (type === "image")
34
+ parts.push("[image omitted]");
35
+ else if ((type === "toolCall" || type === "tool_use") && typeof block.name === "string") {
36
+ parts.push(`[called tool: ${block.name}]`);
37
+ }
38
+ }
39
+ return parts.join("\n");
40
+ }
41
+ /**
42
+ * Serialize the conversation into a single stdin prompt. The current (final)
43
+ * user message is the live request; everything before it is rendered as a
44
+ * labelled transcript so the CLI has the multi-turn context Brigade would
45
+ * otherwise pass as a messages array. The system prompt travels separately via
46
+ * `--append-system-prompt`, so it's not duplicated here.
47
+ */
48
+ export function serializeConversationPrompt(messages) {
49
+ const rendered = [];
50
+ let lastUserText = "";
51
+ for (let i = 0; i < messages.length; i++) {
52
+ const msg = messages[i];
53
+ if (!msg)
54
+ continue;
55
+ const text = contentToText(msg.content).trim();
56
+ if (!text)
57
+ continue;
58
+ const isLast = i === messages.length - 1;
59
+ if (msg.role === "user") {
60
+ if (isLast) {
61
+ lastUserText = text;
62
+ continue;
63
+ }
64
+ rendered.push(`Human: ${text}`);
65
+ }
66
+ else if (msg.role === "assistant") {
67
+ rendered.push(`Assistant: ${text}`);
68
+ }
69
+ else if (msg.role === "tool" || msg.role === "toolResult") {
70
+ const name = typeof msg.toolName === "string" ? msg.toolName : "tool";
71
+ rendered.push(`[${name} result]: ${text}`);
72
+ }
73
+ }
74
+ if (rendered.length === 0)
75
+ return lastUserText;
76
+ const history = rendered.join("\n\n");
77
+ return lastUserText
78
+ ? `Conversation so far:\n\n${history}\n\n---\n\nCurrent message:\n\n${lastUserText}`
79
+ : history;
80
+ }
81
+ function usageNoCost(input, output) {
82
+ return {
83
+ input,
84
+ output,
85
+ cacheRead: 0,
86
+ cacheWrite: 0,
87
+ totalTokens: input + output,
88
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 },
89
+ };
90
+ }
91
+ function buildShell(params) {
92
+ return {
93
+ role: "assistant",
94
+ content: params.content,
95
+ api: params.model.api,
96
+ provider: params.model.provider,
97
+ model: params.model.id,
98
+ usage: params.usage,
99
+ stopReason: params.stopReason,
100
+ ...(params.errorMessage ? { errorMessage: params.errorMessage } : {}),
101
+ timestamp: params.timestamp,
102
+ };
103
+ }
104
+ /* ─────────────────────────── the stream fn ─────────────────────────── */
105
+ /** A limit failure carries a message that Brigade's classifier maps to
106
+ * `subscription_limit` (see error-classifier SUBSCRIPTION_LIMIT_PATTERNS). */
107
+ const SUBSCRIPTION_LIMIT_MESSAGE = "Claude subscription usage limit reached (out of extra usage). The plan window resets on its own.";
108
+ /** A dead-login failure — actionable: the operator must re-authenticate. The
109
+ * wording hits the error-classifier's `auth` patterns AND tells the operator
110
+ * the exact fix. */
111
+ const CLAUDE_CLI_REAUTH_MESSAGE = "Claude sign-in expired or was revoked — the CLI backend can't authenticate. Run `brigade login claude-cli` to sign in again.";
112
+ /** Auth-shaped stderr from a non-zero exit (the binary couldn't authenticate). */
113
+ function isAuthShapedText(text) {
114
+ return /\b401\b|unauthori[sz]ed|authenticat(?:e|ion)|invalid[_ ]grant|token (?:expired|revoked|invalid)|refresh[_ ]token|(?:please )?(?:re-?)?login|not (?:logged|signed) in|credentials?/i.test(text);
115
+ }
116
+ /**
117
+ * Build the Pi `StreamFn` for claude-cli models. Reads `model`, `context`
118
+ * (systemPrompt + messages), and `options` (signal), spawns the CLI, and fills
119
+ * the returned event stream from the parsed frames.
120
+ */
121
+ export function createClaudeCliStreamFn(opts = {}) {
122
+ return ((model, context, options) => {
123
+ const stream = createAssistantMessageEventStream();
124
+ const modelInfo = {
125
+ api: model.api ?? CLAUDE_CLI_API,
126
+ provider: model.provider ?? CLAUDE_CLI_PROVIDER,
127
+ id: model.id,
128
+ };
129
+ // ONE stable timestamp for the whole turn — the connect render identity-keys
130
+ // an assistant block by `<depth>:<timestamp>`; a per-frame Date.now() would
131
+ // render each token as a new line.
132
+ const messageTimestamp = Date.now();
133
+ const run = async () => {
134
+ let started = false;
135
+ let textStarted = false;
136
+ let textClosed = false;
137
+ let thinkingStarted = false;
138
+ let thinkingEnded = false;
139
+ let accumulatedText = "";
140
+ let accumulatedThinking = "";
141
+ let usageInput = 0;
142
+ let usageOutput = 0;
143
+ let sawResult = false;
144
+ let limitHit = false;
145
+ let authHit = false;
146
+ let errorText;
147
+ let stopReason = "stop";
148
+ const partial = () => {
149
+ const content = [];
150
+ if (accumulatedThinking)
151
+ content.push({ type: "thinking", thinking: accumulatedThinking });
152
+ if (accumulatedText)
153
+ content.push({ type: "text", text: accumulatedText });
154
+ return buildShell({
155
+ model: modelInfo,
156
+ content,
157
+ stopReason: "stop",
158
+ usage: usageNoCost(usageInput, usageOutput),
159
+ timestamp: messageTimestamp,
160
+ });
161
+ };
162
+ const ensureStarted = () => {
163
+ if (started)
164
+ return;
165
+ started = true;
166
+ stream.push({
167
+ type: "start",
168
+ partial: buildShell({
169
+ model: modelInfo,
170
+ content: [],
171
+ stopReason: "stop",
172
+ usage: usageNoCost(0, 0),
173
+ timestamp: messageTimestamp,
174
+ }),
175
+ });
176
+ };
177
+ const closeThinking = () => {
178
+ if (!thinkingStarted || thinkingEnded)
179
+ return;
180
+ thinkingEnded = true;
181
+ stream.push({ type: "thinking_end", contentIndex: 0, content: accumulatedThinking, partial: partial() });
182
+ };
183
+ const textIdx = () => (thinkingStarted ? 1 : 0);
184
+ const closeText = () => {
185
+ if (!textStarted || textClosed)
186
+ return;
187
+ textClosed = true;
188
+ stream.push({ type: "text_end", contentIndex: textIdx(), content: accumulatedText, partial: partial() });
189
+ };
190
+ const onThinkingDelta = (delta) => {
191
+ ensureStarted();
192
+ if (!thinkingStarted) {
193
+ thinkingStarted = true;
194
+ stream.push({ type: "thinking_start", contentIndex: 0, partial: partial() });
195
+ }
196
+ accumulatedThinking += delta;
197
+ stream.push({ type: "thinking_delta", contentIndex: 0, delta, partial: partial() });
198
+ };
199
+ const onTextDelta = (delta) => {
200
+ if (thinkingStarted && !thinkingEnded)
201
+ closeThinking();
202
+ ensureStarted();
203
+ if (!textStarted) {
204
+ textStarted = true;
205
+ stream.push({ type: "text_start", contentIndex: textIdx(), partial: partial() });
206
+ }
207
+ accumulatedText += delta;
208
+ stream.push({ type: "text_delta", contentIndex: textIdx(), delta, partial: partial() });
209
+ };
210
+ const handleStreamEvent = (ev) => {
211
+ if (!ev || typeof ev.type !== "string")
212
+ return;
213
+ switch (ev.type) {
214
+ case "message_start": {
215
+ const u = foldUsage(ev.message?.usage);
216
+ if (u.input)
217
+ usageInput = u.input;
218
+ break;
219
+ }
220
+ case "content_block_delta": {
221
+ const d = ev.delta;
222
+ if (!d)
223
+ break;
224
+ if (d.type === "text_delta" && typeof d.text === "string")
225
+ onTextDelta(d.text);
226
+ else if (d.type === "thinking_delta" && typeof d.thinking === "string")
227
+ onThinkingDelta(d.thinking);
228
+ break;
229
+ }
230
+ case "message_delta": {
231
+ const u = foldUsage(ev.usage);
232
+ if (u.output)
233
+ usageOutput = u.output;
234
+ break;
235
+ }
236
+ default:
237
+ break;
238
+ }
239
+ };
240
+ // If partial frames never arrive (older CLI), fall back to the complete
241
+ // assistant block's text so the turn still yields content.
242
+ const handleAssistantFrame = (msg) => {
243
+ if (!msg || accumulatedText)
244
+ return;
245
+ for (const block of msg.content ?? []) {
246
+ if (block?.type === "text" && typeof block.text === "string" && block.text) {
247
+ onTextDelta(block.text);
248
+ }
249
+ }
250
+ };
251
+ let handle;
252
+ try {
253
+ const ctx = (context ?? {});
254
+ const prompt = serializeConversationPrompt(ctx.messages ?? []);
255
+ const args = buildClaudeCliArgs({ modelId: model.id, systemPrompt: ctx.systemPrompt });
256
+ handle = spawnClaudeCli({
257
+ args,
258
+ stdin: prompt,
259
+ signal: options?.signal,
260
+ spawnFn: opts.spawnFn,
261
+ });
262
+ for await (const frame of handle.frames) {
263
+ switch (frame.type) {
264
+ case "stream_event":
265
+ handleStreamEvent(frame.event);
266
+ break;
267
+ case "assistant":
268
+ handleAssistantFrame(frame.message);
269
+ break;
270
+ case "result": {
271
+ sawResult = true;
272
+ const rf = frame;
273
+ const verdict = classifyResultFrame(rf);
274
+ if (verdict === "limit") {
275
+ limitHit = true;
276
+ }
277
+ else if (verdict === "auth") {
278
+ authHit = true;
279
+ }
280
+ else if (verdict === "error") {
281
+ errorText = extractResultError(rf);
282
+ }
283
+ else {
284
+ // Success — if nothing streamed (no partials, no assistant
285
+ // frame), surface the final result text.
286
+ if (!accumulatedText && typeof rf.result === "string" && rf.result) {
287
+ onTextDelta(rf.result);
288
+ }
289
+ const u = foldUsage(rf.usage);
290
+ if (u.input)
291
+ usageInput = u.input;
292
+ if (u.output)
293
+ usageOutput = u.output;
294
+ }
295
+ break;
296
+ }
297
+ default:
298
+ break; // system / rate_limit_event / partial — no-op
299
+ }
300
+ }
301
+ const { code, killReason, stderr } = await handle.done;
302
+ if (killReason === "aborted") {
303
+ throw makeAbort();
304
+ }
305
+ if (killReason === "no-output-timeout" || killReason === "overall-timeout") {
306
+ throw new Error(`claude-cli ${killReason}: the CLI produced no output for too long (it may be waiting on an interactive prompt).`);
307
+ }
308
+ if (limitHit) {
309
+ throw new Error(SUBSCRIPTION_LIMIT_MESSAGE);
310
+ }
311
+ // Dead login — from a result frame OR an auth-shaped non-zero exit.
312
+ // Actionable: tell the operator the exact re-auth command.
313
+ if (authHit || (code !== 0 && code !== null && isAuthShapedText(stderr))) {
314
+ throw new Error(CLAUDE_CLI_REAUTH_MESSAGE);
315
+ }
316
+ if (errorText) {
317
+ throw new Error(`claude-cli error: ${errorText}`);
318
+ }
319
+ if (!sawResult) {
320
+ // No terminal frame — spawn failure (binary missing) or a crash.
321
+ // An auth-shaped stderr here is a dead login, not a missing binary.
322
+ if (isAuthShapedText(stderr)) {
323
+ throw new Error(CLAUDE_CLI_REAUTH_MESSAGE);
324
+ }
325
+ const hint = code === null
326
+ ? "the `claude` binary could not be started (is Claude Code installed and on PATH?)"
327
+ : `the CLI exited (code ${code}) without a result`;
328
+ const detail = stderr.trim() ? ` — ${stderr.trim().slice(0, 300)}` : "";
329
+ throw new Error(`claude-cli produced no result: ${hint}${detail}`);
330
+ }
331
+ closeThinking();
332
+ closeText();
333
+ const finalContent = [];
334
+ if (accumulatedThinking)
335
+ finalContent.push({ type: "thinking", thinking: accumulatedThinking });
336
+ if (accumulatedText)
337
+ finalContent.push({ type: "text", text: accumulatedText });
338
+ const message = buildShell({
339
+ model: modelInfo,
340
+ content: finalContent,
341
+ stopReason,
342
+ usage: usageNoCost(usageInput, usageOutput),
343
+ timestamp: messageTimestamp,
344
+ });
345
+ stream.push({ type: "done", reason: stopReason, message });
346
+ }
347
+ catch (err) {
348
+ const errorMessage = err instanceof Error ? err.message : String(err);
349
+ const aborted = err instanceof Error && (err.name === "AbortError" || /abort/i.test(errorMessage));
350
+ stream.push({
351
+ type: "error",
352
+ reason: aborted ? "aborted" : "error",
353
+ error: buildShell({
354
+ model: modelInfo,
355
+ content: accumulatedText ? [{ type: "text", text: accumulatedText }] : [],
356
+ stopReason: aborted ? "aborted" : "error",
357
+ usage: usageNoCost(usageInput, usageOutput),
358
+ timestamp: messageTimestamp,
359
+ errorMessage,
360
+ }),
361
+ });
362
+ }
363
+ finally {
364
+ stream.end();
365
+ }
366
+ };
367
+ queueMicrotask(() => void run());
368
+ return stream;
369
+ });
370
+ }
371
+ function extractResultError(rf) {
372
+ const raw = rf.error ?? rf.message ?? rf.result ?? rf.subtype ?? "unknown error";
373
+ return typeof raw === "string" ? raw.slice(0, 300) : String(raw);
374
+ }
375
+ function makeAbort() {
376
+ const e = new Error("Request was aborted");
377
+ e.name = "AbortError";
378
+ return e;
379
+ }
380
+ //# sourceMappingURL=stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../../src/agents/claude-cli/stream.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,4EAA4E;AAC5E,6EAA6E;AAC7E,4EAA4E;AAC5E,8EAA8E;AAC9E,EAAE;AACF,8EAA8E;AAC9E,gFAAgF;AAChF,4EAA4E;AAC5E,gEAAgE;AAChE,0EAA0E;AAC1E,mCAAmC;AAEnC,OAAO,EACN,iCAAiC,GAQjC,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACvF,OAAO,EAAE,cAAc,EAA2B,MAAM,YAAY,CAAC;AACrE,OAAO,EACN,mBAAmB,EACnB,SAAS,GAIT,MAAM,kBAAkB,CAAC;AAU1B,oEAAoE;AACpE,SAAS,aAAa,CAAC,OAAgB;IACtC,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,OAAyC,EAAE,CAAC;QAC/D,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QAClD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,IAAI,KAAK,MAAM,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aACzE,IAAI,IAAI,KAAK,UAAU,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACpE,mDAAmD;QACpD,CAAC;aAAM,IAAI,IAAI,KAAK,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;aACtD,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,UAAU,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACzF,KAAK,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;QAC5C,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CAAC,QAAsB;IACjE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,MAAM,GAAG,CAAC,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QACzC,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,IAAI,MAAM,EAAE,CAAC;gBACZ,YAAY,GAAG,IAAI,CAAC;gBACpB,SAAS;YACV,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACrC,QAAQ,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;QACrC,CAAC;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC7D,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;YACtE,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,aAAa,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;IACF,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,YAAY,CAAC;IAC/C,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtC,OAAO,YAAY;QAClB,CAAC,CAAC,2BAA2B,OAAO,kCAAkC,YAAY,EAAE;QACpF,CAAC,CAAC,OAAO,CAAC;AACZ,CAAC;AAUD,SAAS,WAAW,CAAC,KAAa,EAAE,MAAc;IACjD,OAAO;QACN,KAAK;QACL,MAAM;QACN,SAAS,EAAE,CAAC;QACZ,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,KAAK,GAAG,MAAM;QAC3B,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;KAC3D,CAAC;AACZ,CAAC;AAED,SAAS,UAAU,CAAC,MAOnB;IACA,OAAO;QACN,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG;QACrB,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ;QAC/B,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;QACtB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,SAAS,EAAE,MAAM,CAAC,SAAS;KACP,CAAC;AACvB,CAAC;AAED,2EAA2E;AAE3E;+EAC+E;AAC/E,MAAM,0BAA0B,GAC/B,kGAAkG,CAAC;AAEpG;;qBAEqB;AACrB,MAAM,yBAAyB,GAC9B,8HAA8H,CAAC;AAEhI,kFAAkF;AAClF,SAAS,gBAAgB,CAAC,IAAY;IACrC,OAAO,oLAAoL,CAAC,IAAI,CAC/L,IAAI,CACJ,CAAC;AACH,CAAC;AAOD;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAoC,EAAE;IAC7E,OAAO,CAAC,CAAC,KAAoB,EAAE,OAAgB,EAAE,OAA4C,EAAE,EAAE;QAChG,MAAM,MAAM,GAAG,iCAAiC,EAAE,CAAC;QACnD,MAAM,SAAS,GAAoB;YAClC,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,cAAc;YAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,mBAAmB;YAC/C,EAAE,EAAE,KAAK,CAAC,EAAE;SACZ,CAAC;QACF,6EAA6E;QAC7E,4EAA4E;QAC5E,mCAAmC;QACnC,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEpC,MAAM,GAAG,GAAG,KAAK,IAAmB,EAAE;YACrC,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,WAAW,GAAG,KAAK,CAAC;YACxB,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,IAAI,eAAe,GAAG,KAAK,CAAC;YAC5B,IAAI,aAAa,GAAG,KAAK,CAAC;YAC1B,IAAI,eAAe,GAAG,EAAE,CAAC;YACzB,IAAI,mBAAmB,GAAG,EAAE,CAAC;YAC7B,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,SAA6B,CAAC;YAClC,IAAI,UAAU,GAAe,MAAM,CAAC;YAEpC,MAAM,OAAO,GAAG,GAAqB,EAAE;gBACtC,MAAM,OAAO,GAAsC,EAAE,CAAC;gBACtD,IAAI,mBAAmB;oBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,mBAAmB,EAAqB,CAAC,CAAC;gBAC9G,IAAI,eAAe;oBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAiB,CAAC,CAAC;gBAC1F,OAAO,UAAU,CAAC;oBACjB,KAAK,EAAE,SAAS;oBAChB,OAAO;oBACP,UAAU,EAAE,MAAM;oBAClB,KAAK,EAAE,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC;oBAC3C,SAAS,EAAE,gBAAgB;iBAC3B,CAAC,CAAC;YACJ,CAAC,CAAC;YACF,MAAM,aAAa,GAAG,GAAG,EAAE;gBAC1B,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,UAAU,CAAC;wBACnB,KAAK,EAAE,SAAS;wBAChB,OAAO,EAAE,EAAE;wBACX,UAAU,EAAE,MAAM;wBAClB,KAAK,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;wBACxB,SAAS,EAAE,gBAAgB;qBAC3B,CAAC;iBACF,CAAC,CAAC;YACJ,CAAC,CAAC;YACF,MAAM,aAAa,GAAG,GAAG,EAAE;gBAC1B,IAAI,CAAC,eAAe,IAAI,aAAa;oBAAE,OAAO;gBAC9C,aAAa,GAAG,IAAI,CAAC;gBACrB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YAC1G,CAAC,CAAC;YACF,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,MAAM,SAAS,GAAG,GAAG,EAAE;gBACtB,IAAI,CAAC,WAAW,IAAI,UAAU;oBAAE,OAAO;gBACvC,UAAU,GAAG,IAAI,CAAC;gBAClB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YAC1G,CAAC,CAAC;YACF,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,EAAE;gBACzC,aAAa,EAAE,CAAC;gBAChB,IAAI,CAAC,eAAe,EAAE,CAAC;oBACtB,eAAe,GAAG,IAAI,CAAC;oBACvB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;gBAC9E,CAAC;gBACD,mBAAmB,IAAI,KAAK,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YACrF,CAAC,CAAC;YACF,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,EAAE;gBACrC,IAAI,eAAe,IAAI,CAAC,aAAa;oBAAE,aAAa,EAAE,CAAC;gBACvD,aAAa,EAAE,CAAC;gBAChB,IAAI,CAAC,WAAW,EAAE,CAAC;oBAClB,WAAW,GAAG,IAAI,CAAC;oBACnB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;gBAClF,CAAC;gBACD,eAAe,IAAI,KAAK,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YACzF,CAAC,CAAC;YAEF,MAAM,iBAAiB,GAAG,CAAC,EAAoC,EAAE,EAAE;gBAClE,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ;oBAAE,OAAO;gBAC/C,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;oBACjB,KAAK,eAAe,CAAC,CAAC,CAAC;wBACtB,MAAM,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;wBACvC,IAAI,CAAC,CAAC,KAAK;4BAAE,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC;wBAClC,MAAM;oBACP,CAAC;oBACD,KAAK,qBAAqB,CAAC,CAAC,CAAC;wBAC5B,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;wBACnB,IAAI,CAAC,CAAC;4BAAE,MAAM;wBACd,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;4BAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;6BAC1E,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ;4BAAE,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;wBACpG,MAAM;oBACP,CAAC;oBACD,KAAK,eAAe,CAAC,CAAC,CAAC;wBACtB,MAAM,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;wBAC9B,IAAI,CAAC,CAAC,MAAM;4BAAE,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;wBACrC,MAAM;oBACP,CAAC;oBACD;wBACC,MAAM;gBACR,CAAC;YACF,CAAC,CAAC;YAEF,wEAAwE;YACxE,2DAA2D;YAC3D,MAAM,oBAAoB,GAAG,CAAC,GAAsC,EAAE,EAAE;gBACvE,IAAI,CAAC,GAAG,IAAI,eAAe;oBAAE,OAAO;gBACpC,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;oBACvC,IAAI,KAAK,EAAE,IAAI,KAAK,MAAM,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;wBAC5E,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACzB,CAAC;gBACF,CAAC;YACF,CAAC,CAAC;YAEF,IAAI,MAAqD,CAAC;YAC1D,IAAI,CAAC;gBACJ,MAAM,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAuD,CAAC;gBAClF,MAAM,MAAM,GAAG,2BAA2B,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;gBAC/D,MAAM,IAAI,GAAG,kBAAkB,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;gBAEvF,MAAM,GAAG,cAAc,CAAC;oBACvB,IAAI;oBACJ,KAAK,EAAE,MAAM;oBACb,MAAM,EAAE,OAAO,EAAE,MAAiC;oBAClD,OAAO,EAAE,IAAI,CAAC,OAAO;iBACrB,CAAC,CAAC;gBAEH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBACzC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;wBACpB,KAAK,cAAc;4BAClB,iBAAiB,CAAE,KAA0C,CAAC,KAAK,CAAC,CAAC;4BACrE,MAAM;wBACP,KAAK,WAAW;4BACf,oBAAoB,CAAE,KAA6C,CAAC,OAAO,CAAC,CAAC;4BAC7E,MAAM;wBACP,KAAK,QAAQ,CAAC,CAAC,CAAC;4BACf,SAAS,GAAG,IAAI,CAAC;4BACjB,MAAM,EAAE,GAAG,KAAoB,CAAC;4BAChC,MAAM,OAAO,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC;4BACxC,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;gCACzB,QAAQ,GAAG,IAAI,CAAC;4BACjB,CAAC;iCAAM,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;gCAC/B,OAAO,GAAG,IAAI,CAAC;4BAChB,CAAC;iCAAM,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;gCAChC,SAAS,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC;4BACpC,CAAC;iCAAM,CAAC;gCACP,2DAA2D;gCAC3D,yCAAyC;gCACzC,IAAI,CAAC,eAAe,IAAI,OAAO,EAAE,CAAC,MAAM,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;oCACpE,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;gCACxB,CAAC;gCACD,MAAM,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;gCAC9B,IAAI,CAAC,CAAC,KAAK;oCAAE,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC;gCAClC,IAAI,CAAC,CAAC,MAAM;oCAAE,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;4BACtC,CAAC;4BACD,MAAM;wBACP,CAAC;wBACD;4BACC,MAAM,CAAC,8CAA8C;oBACvD,CAAC;gBACF,CAAC;gBAED,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBAEvD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC9B,MAAM,SAAS,EAAE,CAAC;gBACnB,CAAC;gBACD,IAAI,UAAU,KAAK,mBAAmB,IAAI,UAAU,KAAK,iBAAiB,EAAE,CAAC;oBAC5E,MAAM,IAAI,KAAK,CACd,cAAc,UAAU,yFAAyF,CACjH,CAAC;gBACH,CAAC;gBACD,IAAI,QAAQ,EAAE,CAAC;oBACd,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBAC7C,CAAC;gBACD,oEAAoE;gBACpE,2DAA2D;gBAC3D,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,IAAI,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;oBAC1E,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;gBAC5C,CAAC;gBACD,IAAI,SAAS,EAAE,CAAC;oBACf,MAAM,IAAI,KAAK,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAC;gBACnD,CAAC;gBACD,IAAI,CAAC,SAAS,EAAE,CAAC;oBAChB,iEAAiE;oBACjE,oEAAoE;oBACpE,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC9B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;oBAC5C,CAAC;oBACD,MAAM,IAAI,GACT,IAAI,KAAK,IAAI;wBACZ,CAAC,CAAC,kFAAkF;wBACpF,CAAC,CAAC,wBAAwB,IAAI,oBAAoB,CAAC;oBACrD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxE,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,GAAG,MAAM,EAAE,CAAC,CAAC;gBACpE,CAAC;gBAED,aAAa,EAAE,CAAC;gBAChB,SAAS,EAAE,CAAC;gBACZ,MAAM,YAAY,GAAsC,EAAE,CAAC;gBAC3D,IAAI,mBAAmB;oBAAE,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,mBAAmB,EAAqB,CAAC,CAAC;gBACnH,IAAI,eAAe;oBAAE,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAiB,CAAC,CAAC;gBAC/F,MAAM,OAAO,GAAG,UAAU,CAAC;oBAC1B,KAAK,EAAE,SAAS;oBAChB,OAAO,EAAE,YAAY;oBACrB,UAAU;oBACV,KAAK,EAAE,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC;oBAC3C,SAAS,EAAE,gBAAgB;iBAC3B,CAAC,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;YAC5D,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,MAAM,YAAY,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACtE,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;gBACnG,MAAM,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;oBACrC,KAAK,EAAE,UAAU,CAAC;wBACjB,KAAK,EAAE,SAAS;wBAChB,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAiB,CAAC,CAAC,CAAC,CAAC,EAAE;wBACxF,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;wBACzC,KAAK,EAAE,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC;wBAC3C,SAAS,EAAE,gBAAgB;wBAC3B,YAAY;qBACZ,CAAC;iBACF,CAAC,CAAC;YACJ,CAAC;oBAAS,CAAC;gBACV,MAAM,CAAC,GAAG,EAAE,CAAC;YACd,CAAC;QACF,CAAC,CAAC;QAEF,cAAc,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;QACjC,OAAO,MAAqC,CAAC;IAC9C,CAAC,CAAa,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CAAC,EAAe;IAC1C,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,OAAO,IAAI,eAAe,CAAC;IACjF,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,SAAS;IACjB,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC3C,CAAC,CAAC,IAAI,GAAG,YAAY,CAAC;IACtB,OAAO,CAAC,CAAC;AACV,CAAC"}
@@ -1,4 +1,4 @@
1
- export type RetryReason = "auth" | "auth_permanent" | "format" | "rate_limit" | "overloaded" | "billing" | "timeout" | "context_overflow" | "model_not_found" | "session_expired" | "unknown";
1
+ export type RetryReason = "auth" | "auth_permanent" | "format" | "rate_limit" | "overloaded" | "billing" | "subscription_limit" | "timeout" | "context_overflow" | "model_not_found" | "session_expired" | "unknown";
2
2
  export interface ClassificationContext {
3
3
  provider?: string;
4
4
  model?: string;
@@ -36,7 +36,7 @@ export declare function isBrigadeRetryError(value: unknown): value is BrigadeRet
36
36
  export declare function classifyErrorReason(value: unknown, _ctx?: ClassificationContext): RetryReason;
37
37
  export declare function scrubAnthropicRefusalSentinel(text: string): string;
38
38
  export declare function summariseError(value: unknown): string;
39
- export type ErrorClass = "rate_limit" | "server_5xx" | "network" | "timeout" | "context_overflow" | "auth" | "auth_permanent" | "content_filter" | "model_not_found" | "unknown";
39
+ export type ErrorClass = "rate_limit" | "subscription_limit" | "server_5xx" | "network" | "timeout" | "context_overflow" | "auth" | "auth_permanent" | "content_filter" | "model_not_found" | "unknown";
40
40
  export interface ClassifiedError {
41
41
  /** The class. Drives which recovery the loop attempts. */
42
42
  class: ErrorClass;
@@ -1 +1 @@
1
- {"version":3,"file":"error-classifier.d.ts","sourceRoot":"","sources":["../../src/agents/error-classifier.ts"],"names":[],"mappings":"AAkBA,MAAM,MAAM,WAAW,GACnB,MAAM,GACN,gBAAgB,GAChB,QAAQ,GACR,YAAY,GACZ,YAAY,GACZ,SAAS,GACT,SAAS,GACT,kBAAkB,GAClB,iBAAiB,GACjB,iBAAiB,GACjB,SAAS,CAAC;AAEd,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAKD,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;gBAEZ,IAAI,EAAE;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,WAAW,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB;CASF;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAI9E;AAoLD;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,qBAAqB,GAAG,WAAW,CAuE7F;AA8CD,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGlE;AAOD,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAarD;AAqBD,MAAM,MAAM,UAAU,GAClB,YAAY,GACZ,YAAY,GACZ,SAAS,GACT,SAAS,GACT,kBAAkB,GAClB,MAAM,GACN,gBAAgB,GAChB,gBAAgB,GAChB,iBAAiB,GACjB,SAAS,CAAC;AAEd,MAAM,WAAW,eAAe;IAC9B,0DAA0D;IAC1D,KAAK,EAAE,UAAU,CAAC;IAClB,qFAAqF;IACrF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AAgFD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe,CAiFnE;AAID,MAAM,WAAW,aAAa;IAC5B,0EAA0E;IAC1E,KAAK,EAAE,OAAO,CAAC;IACf,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,iFAAiF;IACjF,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,kBAAkB,GAAG,aAAa,CAsCvF;AAwCD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAmBhE"}
1
+ {"version":3,"file":"error-classifier.d.ts","sourceRoot":"","sources":["../../src/agents/error-classifier.ts"],"names":[],"mappings":"AAkBA,MAAM,MAAM,WAAW,GACnB,MAAM,GACN,gBAAgB,GAChB,QAAQ,GACR,YAAY,GACZ,YAAY,GACZ,SAAS,GACT,oBAAoB,GACpB,SAAS,GACT,kBAAkB,GAClB,iBAAiB,GACjB,iBAAiB,GACjB,SAAS,CAAC;AAEd,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAKD,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;gBAEZ,IAAI,EAAE;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,WAAW,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB;CASF;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAI9E;AAiND;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,qBAAqB,GAAG,WAAW,CAuE7F;AAmDD,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGlE;AAOD,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAarD;AAqBD,MAAM,MAAM,UAAU,GAClB,YAAY,GACZ,oBAAoB,GACpB,YAAY,GACZ,SAAS,GACT,SAAS,GACT,kBAAkB,GAClB,MAAM,GACN,gBAAgB,GAChB,gBAAgB,GAChB,iBAAiB,GACjB,SAAS,CAAC;AAEd,MAAM,WAAW,eAAe;IAC9B,0DAA0D;IAC1D,KAAK,EAAE,UAAU,CAAC;IAClB,qFAAqF;IACrF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AAgFD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe,CAyFnE;AAID,MAAM,WAAW,aAAa;IAC5B,0EAA0E;IAC1E,KAAK,EAAE,OAAO,CAAC;IACf,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,iFAAiF;IACjF,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,kBAAkB,GAAG,aAAa,CAsCvF;AAwCD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAmBhE"}
@@ -78,6 +78,29 @@ const BILLING_PATTERNS = [
78
78
  /upgrade (?:your )?plan/i,
79
79
  /"code"\s*:\s*1311\b/, // ZAI quota
80
80
  ];
81
+ // Subscription-plan usage-window exhaustion. Distinct from `billing` (missing
82
+ // API credits — needs a top-up) AND from `rate_limit` (seconds-to-minutes
83
+ // backoff): the plan's 5-hour / weekly window is used up and resets on its own
84
+ // wall clock, hours away. Retrying the same model is pointless; the right
85
+ // moves are the model-fallback chain (a different provider may be configured)
86
+ // or waiting for the reset. Observed surfaces:
87
+ // • Anthropic (Claude Max/Pro via OAuth): 400 invalid_request_error
88
+ // "You're out of extra usage. Add more at claude.ai/settings/usage and
89
+ // keep going." — plan window exhausted AND extra usage disabled/spent.
90
+ // • Anthropic: "Claude usage limit reached. Your limit will reset at …"
91
+ // (sometimes a 429 — the message must win over the bare status).
92
+ // • OpenAI subscription (Codex): "You've hit your usage limit",
93
+ // usage_limit_reached / usage_not_included error codes.
94
+ const SUBSCRIPTION_LIMIT_PATTERNS = [
95
+ /out of extra usage/i,
96
+ /claude\.ai\/settings\/usage/i,
97
+ /(?:claude|plan|subscription) usage limit/i,
98
+ /usage limit (?:reached|hit|exceeded)/i,
99
+ /hit your usage limit/i,
100
+ /usage_limit_reached/i,
101
+ /usage_not_included/i,
102
+ /limit will reset at/i,
103
+ ];
81
104
  // Substrings inside a 402 message that flip "billing" → "rate_limit" because
82
105
  // the provider is using the 402 status to indicate a daily/weekly cap rather
83
106
  // than missing funds. Probing again on a fresh window will succeed.
@@ -171,6 +194,8 @@ function classifyByStatus(status, message) {
171
194
  case 402:
172
195
  // 402 is overloaded with meanings — providers use it for both "you owe
173
196
  // money" and "you've hit the daily cap, try again". Inspect the body.
197
+ if (matchAny(message, SUBSCRIPTION_LIMIT_PATTERNS))
198
+ return "subscription_limit";
174
199
  if (matchAny(message, RATE_LIMITED_402_HINTS))
175
200
  return "rate_limit";
176
201
  return "billing";
@@ -183,6 +208,11 @@ function classifyByStatus(status, message) {
183
208
  case 422:
184
209
  return matchAny(message, FORMAT_PATTERNS) ? "format" : null;
185
210
  case 429:
211
+ // A 429 carrying a plan-window message ("Claude usage limit reached …
212
+ // resets at …") is a subscription limit, not a transient rate spike —
213
+ // a 30s backoff can't fix a window that resets hours from now.
214
+ if (matchAny(message, SUBSCRIPTION_LIMIT_PATTERNS))
215
+ return "subscription_limit";
186
216
  return "rate_limit";
187
217
  case 499:
188
218
  // Cloudflare "client closed request" — sometimes reported by edge
@@ -290,6 +320,12 @@ function classifyByMessage(message) {
290
320
  return null;
291
321
  if (matchAny(message, AUTH_PERMANENT_PATTERNS))
292
322
  return "auth_permanent";
323
+ // Subscription-window exhaustion MUST be checked before billing and
324
+ // rate_limit: its phrasings ("out of extra usage", "usage limit reached")
325
+ // overlap both sets, and the recovery differs (wall-clock reset + fallback
326
+ // chain, not top-up or a 30s backoff).
327
+ if (matchAny(message, SUBSCRIPTION_LIMIT_PATTERNS))
328
+ return "subscription_limit";
293
329
  if (matchAny(message, BILLING_PATTERNS)) {
294
330
  return matchAny(message, RATE_LIMITED_402_HINTS) ? "rate_limit" : "billing";
295
331
  }
@@ -454,6 +490,13 @@ export function classifyErrorDetailed(err) {
454
490
  retryableOnSameModel: false,
455
491
  };
456
492
  }
493
+ // Subscription-window exhaustion — checked BEFORE the status block because
494
+ // providers ship it under conflicting statuses (Anthropic: 400 "out of
495
+ // extra usage"; sometimes 429 "usage limit reached"). Same-model retry is
496
+ // useless (the window resets on wall clock); advance to fallback.
497
+ if (SUBSCRIPTION_LIMIT_PATTERNS.some((p) => p.test(message))) {
498
+ return { class: "subscription_limit", message, retryableOnSameModel: false };
499
+ }
457
500
  if (code && NETWORK_ERROR_CODES_DETAILED.has(code)) {
458
501
  return {
459
502
  class: code === "ETIMEDOUT" || code === "ESOCKETTIMEDOUT" || code === "ECONNABORTED"
@@ -1 +1 @@
1
- {"version":3,"file":"error-classifier.js","sourceRoot":"","sources":["../../src/agents/error-classifier.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,EAAE;AACF,6EAA6E;AAC7E,8EAA8E;AAC9E,wDAAwD;AACxD,EAAE;AACF,6EAA6E;AAC7E,qEAAqE;AACrE,yDAAyD;AACzD,EAAE;AACF,qCAAqC;AACrC,mEAAmE;AACnE,6EAA6E;AAC7E,0EAA0E;AAC1E,gEAAgE;AAChE,sEAAsE;AACtE,qEAAqE;AAoBrE,8EAA8E;AAC9E,uEAAuE;AACvE,4CAA4C;AAC5C,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IACjC,MAAM,CAAc;IACpB,MAAM,CAAU;IAChB,IAAI,CAAU;IACd,QAAQ,CAAU;IAClB,KAAK,CAAU;IAExB,YAAY,IAQX;QACC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAc,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC7E,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAC1B,CAAC;CACF;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,CAAC,GAAG,KAA6C,CAAC;IACxD,OAAO,CAAC,CAAC,IAAI,KAAK,mBAAmB,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC;AACxE,CAAC;AAED,gFAAgF;AAChF,6EAA6E;AAC7E,6EAA6E;AAC7E,4EAA4E;AAC5E,gFAAgF;AAEhF,MAAM,mBAAmB,GAAa;IACpC,gBAAgB;IAChB,oCAAoC;IACpC,2BAA2B;IAC3B,SAAS;IACT,qBAAqB;IACrB,8BAA8B;IAC9B,8BAA8B;IAC9B,qBAAqB;IACrB,yBAAyB;IACzB,UAAU;IACV,4BAA4B;IAC5B,8BAA8B;CAC/B,CAAC;AAEF,MAAM,mBAAmB,GAAa;IACpC,mBAAmB;IACnB,kCAAkC;IAClC,iBAAiB;IACjB,+DAA+D;IAC/D,kBAAkB;IAClB,SAAS;CACV,CAAC;AAEF,MAAM,gBAAgB,GAAa;IACjC,SAAS;IACT,mBAAmB;IACnB,uBAAuB;IACvB,wBAAwB;IACxB,iBAAiB;IACjB,mBAAmB;IACnB,uBAAuB;IACvB,yBAAyB;IACzB,qBAAqB,EAAE,YAAY;CACpC,CAAC;AAEF,6EAA6E;AAC7E,6EAA6E;AAC7E,oEAAoE;AACpE,MAAM,sBAAsB,GAAa;IACvC,+CAA+C;IAC/C,sBAAsB;IACtB,cAAc;IACd,gBAAgB;CACjB,CAAC;AAEF,MAAM,uBAAuB,GAAa;IACxC,kDAAkD;IAClD,wDAAwD;IACxD,uCAAuC;IACvC,uCAAuC;IACvC,qBAAqB,EAAE,kBAAkB;CAC1C,CAAC;AAEF,MAAM,aAAa,GAAa;IAC9B,oBAAoB;IACpB,2CAA2C;IAC3C,uBAAuB;IACvB,sBAAsB;IACtB,gBAAgB;IAChB,gBAAgB;IAChB,2BAA2B;IAC3B,iBAAiB;IACjB,8BAA8B;IAC9B,6BAA6B;CAC9B,CAAC;AAEF,MAAM,gBAAgB,GAAa;IACjC,cAAc;IACd,gBAAgB;IAChB,wBAAwB;IACxB,qCAAqC;IACrC,gBAAgB;IAChB,mCAAmC;IACnC,sEAAsE;IACtE,wEAAwE;IACxE,iBAAiB;IACjB,gBAAgB;IAChB,oDAAoD,EAAE,0CAA0C;CACjG,CAAC;AAEF,MAAM,eAAe,GAAa;IAChC,8BAA8B;IAC9B,eAAe;IACf,cAAc;IACd,yBAAyB;IACzB,4BAA4B;IAC5B,4CAA4C;CAC7C,CAAC;AAEF,6EAA6E;AAC7E,yEAAyE;AACzE,4EAA4E;AAC5E,yEAAyE;AACzE,2EAA2E;AAC3E,gEAAgE;AAChE,kEAAkE;AAClE,MAAM,yBAAyB,GAAa;IAC1C,mCAAmC;IACnC,oBAAoB;IACpB,gBAAgB;IAChB,sBAAsB;IACtB,wBAAwB;IACxB,qCAAqC;IACrC,2BAA2B;IAC3B,0BAA0B;IAC1B,0BAA0B;IAC1B,iCAAiC,EAAE,4CAA4C;CAChF,CAAC;AAEF,MAAM,wBAAwB,GAAa;IACzC,0BAA0B;IAC1B,gBAAgB;IAChB,+CAA+C;IAC/C,gBAAgB;CACjB,CAAC;AAEF,MAAM,wBAAwB,GAAa;IACzC,oBAAoB;IACpB,2BAA2B;IAC3B,yBAAyB;IACzB,uBAAuB;IACvB,4BAA4B;CAC7B,CAAC;AAEF,gFAAgF;AAChF,0EAA0E;AAC1E,6EAA6E;AAC7E,gFAAgF;AAEhF,SAAS,gBAAgB,CAAC,MAAc,EAAE,OAAe;IACvD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,GAAG,CAAC;QACT,KAAK,GAAG;YACN,OAAO,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC;QAChF,KAAK,GAAG;YACN,uEAAuE;YACvE,sEAAsE;YACtE,IAAI,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;gBAAE,OAAO,YAAY,CAAC;YACnE,OAAO,SAAS,CAAC;QACnB,KAAK,GAAG;YACN,OAAO,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC;QAChF,KAAK,GAAG;YACN,OAAO,SAAS,CAAC;QACnB,KAAK,GAAG;YACN,OAAO,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;QACrF,KAAK,GAAG;YACN,OAAO,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9D,KAAK,GAAG;YACN,OAAO,YAAY,CAAC;QACtB,KAAK,GAAG;YACN,kEAAkE;YAClE,gEAAgE;YAChE,OAAO,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3E,KAAK,GAAG,CAAC;QACT,KAAK,GAAG,CAAC;QACT,KAAK,GAAG;YACN,OAAO,SAAS,CAAC;QACnB,KAAK,GAAG;YACN,OAAO,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3E,KAAK,GAAG;YACN,OAAO,YAAY,CAAC;QACtB;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,yEAAyE;AACzE,2EAA2E;AAC3E,gFAAgF;AAEhF;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAc,EAAE,IAA4B;IAC9E,IAAI,mBAAmB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,MAAM,CAAC;IACpD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAE5D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAW,CAAC;IACnC,MAAM,KAAK,GAAc,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,WAA+B,CAAC;IACpC,IAAI,YAAY,GAAG,EAAE,CAAC;IAEtB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QACxB,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS;YAAE,SAAS;QAChD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,YAAY;gBAAE,YAAY,GAAG,GAAG,CAAC;YACtC,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,SAAS;gBAAE,OAAO,SAAS,CAAC;YAChC,SAAS;QACX,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEjB,MAAM,GAAG,GAAG,GASX,CAAC;QAEF,2DAA2D;QAC3D,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY;YAAE,OAAO,SAAS,CAAC;QAChD,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc;YAAE,OAAO,SAAS,CAAC;QAElD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC3G,IAAI,MAAM,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS;YAAE,WAAW,GAAG,MAAM,CAAC;QAE5E,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,IAAI,OAAO,IAAI,CAAC,YAAY;YAAE,YAAY,GAAG,OAAO,CAAC;QAErD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACnD,IAAI,QAAQ;gBAAE,OAAO,QAAQ,CAAC;QAChC,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,SAAS,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,SAAS;gBAAE,OAAO,SAAS,CAAC;QAClC,CAAC;QAED,mEAAmE;QACnE,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,4EAA4E,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5F,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QAED,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,KAAK,GAAG;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxE,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7E,CAAC;IAED,4EAA4E;IAC5E,mBAAmB;IACnB,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC7D,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;IAChC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe;IACxC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,IAAI,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAC;QAAE,OAAO,gBAAgB,CAAC;IACxE,IAAI,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,CAAC;QACxC,OAAO,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9E,CAAC;IACD,IAAI,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;QAAE,OAAO,YAAY,CAAC;IAChE,IAAI,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;QAAE,OAAO,YAAY,CAAC;IAChE,IAAI,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;QAAE,OAAO,MAAM,CAAC;IACpD,IAAI,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;QAAE,OAAO,iBAAiB,CAAC;IAC1E,IAAI,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;QAAE,OAAO,iBAAiB,CAAC;IAC1E,yEAAyE;IACzE,wEAAwE;IACxE,uEAAuE;IACvE,IAAI,QAAQ,CAAC,OAAO,EAAE,yBAAyB,CAAC;QAAE,OAAO,kBAAkB,CAAC;IAC5E,IAAI,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;QAAE,OAAO,QAAQ,CAAC;IACxD,IAAI,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,QAAQ,CAAC,QAAgB,EAAE,QAAkB;IACpD,KAAK,MAAM,CAAC,IAAI,QAAQ;QAAE,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;IAC5D,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACxB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,gFAAgF;AAChF,4EAA4E;AAC5E,0EAA0E;AAC1E,0EAA0E;AAC1E,0DAA0D;AAC1D,gFAAgF;AAEhF,MAAM,0BAA0B,GAAG,wCAAwC,CAAC;AAC5E,MAAM,mCAAmC,GAAG,mDAAmD,CAAC;AAEhG,MAAM,UAAU,6BAA6B,CAAC,IAAY;IACxD,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QAAE,OAAO,IAAI,CAAC;IACrE,OAAO,IAAI,CAAC,UAAU,CAAC,0BAA0B,EAAE,mCAAmC,CAAC,CAAC;AAC1F,CAAC;AAED,gFAAgF;AAChF,8EAA8E;AAC9E,mEAAmE;AACnE,gFAAgF;AAEhF,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,QAAQ,GAAG,MAAM,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;IACjE,CAAC;IACD,IAAI,KAAK,YAAY,KAAK;QAAE,OAAO,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;IACrE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AA4CD,sEAAsE;AACtE,sEAAsE;AACtE,yEAAyE;AACzE,yBAAyB;AAEzB,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAS;IACnD,WAAW;IACX,iBAAiB;IACjB,YAAY;IACZ,cAAc;IACd,cAAc;IACd,aAAa;IACb,cAAc;IACd,WAAW;IACX,WAAW;IACX,OAAO;IACP,WAAW;CACZ,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAE9F,MAAM,kCAAkC,GAAG;IACzC,mCAAmC;IACnC,oBAAoB;IACpB,gBAAgB;IAChB,sBAAsB;IACtB,wBAAwB;IACxB,yBAAyB;IACzB,2BAA2B;IAC3B,0BAA0B;CAC3B,CAAC;AAEF,MAAM,4BAA4B,GAAG;IACnC,eAAe;IACf,wBAAwB;IACxB,8CAA8C;IAC9C,QAAQ;IACR,oBAAoB;IACpB,SAAS;IACT,sBAAsB;IACtB,aAAa;CACd,CAAC;AAEF,MAAM,sBAAsB,GAAG;IAC7B,sBAAsB;IACtB,qBAAqB;IACrB,gBAAgB;IAChB,YAAY;IACZ,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;IAClB,wBAAwB;CACzB,CAAC;AAEF,MAAM,gCAAgC,GAAG;IACvC,UAAU;IACV,qBAAqB;IACrB,wCAAwC;IACxC,8CAA8C;CAC/C,CAAC;AAEF,MAAM,gCAAgC,GAAG;IACvC,mBAAmB;IACnB,mBAAmB;IACnB,SAAS;IACT,2HAA2H;IAC3H,iBAAiB;CAClB,CAAC;AAEF,MAAM,iCAAiC,GAAG;IACxC,yDAAyD;IACzD,oGAAoG;IACpG,oBAAoB;IACpB,kBAAkB;IAClB,iBAAiB;CAClB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAY;IAChD,MAAM,OAAO,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAE1C,4FAA4F;IAC5F,+FAA+F;IAC/F,+FAA+F;IAC/F,oEAAoE;IACpE,IAAI,8EAA8E,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACjG,OAAO;YACL,KAAK,EAAE,iBAAiB;YACxB,OAAO,EACL,oKAAoK;YACtK,oBAAoB,EAAE,KAAK;SAC5B,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,IAAI,4BAA4B,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,OAAO;YACL,KAAK,EAAE,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,iBAAiB,IAAI,IAAI,KAAK,cAAc;gBAClF,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,SAAS;YACb,OAAO;YACP,oBAAoB,EAAE,IAAI;SAC3B,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,OAAO;gBACL,KAAK,EAAE,YAAY;gBACnB,OAAO;gBACP,YAAY,EAAE,eAAe,CAAC,GAAG,CAAC;gBAClC,oBAAoB,EAAE,IAAI;aAC3B,CAAC;QACJ,CAAC;QACD,IAAI,yBAAyB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1C,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;QACtE,CAAC;QACD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACrC,MAAM,WAAW,GAAG,gCAAgC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAClF,OAAO;gBACL,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM;gBAC9C,OAAO;gBACP,oBAAoB,EAAE,KAAK;aAC5B,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;QAC3E,CAAC;QACD,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,IAAI,kCAAkC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACpE,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;IAC5E,CAAC;IACD,IAAI,4BAA4B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC9D,OAAO;YACL,KAAK,EAAE,YAAY;YACnB,OAAO;YACP,YAAY,EAAE,eAAe,CAAC,GAAG,CAAC;YAClC,oBAAoB,EAAE,IAAI;SAC3B,CAAC;IACJ,CAAC;IACD,IAAI,gCAAgC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAClE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;IAC3E,CAAC;IACD,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACxD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;IACjE,CAAC;IACD,IAAI,gCAAgC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAClE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;IAC3E,CAAC;IACD,IAAI,iCAAiC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACnE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;IAC5E,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;AACpE,CAAC;AAsBD;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,CAAkB,EAAE,IAAwB;IACtE,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC;IAE3C,IAAI,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC;QAC5B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,wBAAwB,EAAE,CAAC;IAClF,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC;QACvB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,oCAAoC,EAAE,CAAC;IAC9F,CAAC;IAED,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;QAChB,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;YAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAE,CAAC;YAC1E,MAAM,KAAK,GAAG,CAAC,CAAC,YAAY;gBAC1B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC;gBACpC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YACnC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,0BAA0B,KAAK,eAAe,IAAI,CAAC,OAAO,IAAI,GAAG,GAAG,EAAE,CAAC;QACvH,CAAC;QACD,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;YAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,MAAM,EAAE,QAAQ,CAAC,CAAC;YAChD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,8BAA8B,KAAK,eAAe,IAAI,CAAC,OAAO,IAAI,GAAG,GAAG,EAAE,CAAC;QAC3H,CAAC;QACD,KAAK,SAAS,CAAC;QACf,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YACnC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAE,CAAC;YACrE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,qBAAqB,KAAK,IAAI,EAAE,CAAC;QAC3F,CAAC;QACD,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,uCAAuC,EAAE,CAAC;QACtF,CAAC;QACD;YACE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,gCAAgC,EAAE,CAAC;IAC5F,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF,SAAS,sBAAsB,CAAC,GAAY;IAC1C,IAAI,GAAG,YAAY,KAAK;QAAE,OAAO,GAAG,CAAC,OAAO,CAAC;IAC7C,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IACxC,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,SAAS,IAAI,GAAG;QAAE,OAAO,MAAM,CAAE,GAAW,CAAC,OAAO,CAAC,CAAC;IAC5F,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAY;IACvC,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;QACpD,MAAM,CAAC,GAAI,GAAW,CAAC,IAAI,CAAC;QAC5B,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAY;IACzC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACtD,MAAM,CAAC,GAAG,GAAU,CAAC;IACrB,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC,MAAM,CAAC;IAClD,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC,UAAU,CAAC;IAC1D,IAAI,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;IAElF,MAAM,GAAG,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;IACzE,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,GAAG;YAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC/C,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACtD,MAAM,CAAC,GAAG,GAAU,CAAC;IAErB,MAAM,UAAU,GACd,CAAC,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC;QAC1B,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,aAAa,CAAC;QACpC,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC;IAC5C,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QACnC,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;QAChF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAC5C,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,GAAG,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC9E,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAClC,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"error-classifier.js","sourceRoot":"","sources":["../../src/agents/error-classifier.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,42 @@
21
21
  * Returns the resolved/synthesized Model, or `undefined` if even synthesis is
22
22
  * impossible (no template + no provider config) — the only legitimate miss.
23
23
  */
24
+ /**
25
+ * Per-provider context window INCLUDED in a subscription login. A request whose
26
+ * input exceeds this draws from that provider's pay-as-you-go / overage bucket
27
+ * ("extra usage", "credits") instead of the flat plan — even while the plan's
28
+ * session/weekly quota is untouched.
29
+ *
30
+ * Only list a provider whose subscription ACTUALLY bills long context as overage.
31
+ * A provider whose subscription is purely rate/quota-limited (a message cap, a
32
+ * requests-per-window limit — no per-token-context overage) must NOT be listed,
33
+ * or we'd compact early for zero billing benefit and hurt its UX. Add a provider
34
+ * here only once its overage-context boundary is confirmed.
35
+ *
36
+ * anthropic — Claude Pro/Max include the 200K standard window; a request >200K
37
+ * uses the long-context (1M) capability, billed as extra usage.
38
+ * Catalogued models such as claude-opus-4-8 carry a 1,000,000
39
+ * window, so without this clamp pre-emptive compaction wouldn't
40
+ * fire until ~850K tokens (0.85 × 1M) and every large turn would
41
+ * sail past 200K into extra usage (the "You're out of extra usage"
42
+ * 400 seen with plenty of plan left).
43
+ */
44
+ export declare const SUBSCRIPTION_INCLUDED_CONTEXT_WINDOW: Readonly<Record<string, number>>;
45
+ /** Back-compat alias for the Anthropic included-tier boundary. */
46
+ export declare const ANTHROPIC_SUBSCRIPTION_CONTEXT_WINDOW: number | undefined;
47
+ /**
48
+ * The context window a request should be SIZED against for billing safety.
49
+ *
50
+ * On a subscription login (OAuth / setup-token) the window is capped to the
51
+ * provider's included tier (see `SUBSCRIPTION_INCLUDED_CONTEXT_WINDOW`), so
52
+ * pre-emptive compaction fires before a request crosses into overage territory
53
+ * and the operator never draws pay-as-you-go credits while their plan has room.
54
+ * For API-key auth (pay-per-token — no overage concept), for a subscription
55
+ * provider we haven't confirmed has a context-overage boundary, and for any
56
+ * window already inside the included tier, the model's real window is returned
57
+ * unchanged. Provider-generic + pure.
58
+ */
59
+ export declare function billingSafeContextWindow(provider: string, contextWindow: number | undefined, isSubscription: boolean): number | undefined;
24
60
  export interface ResolveModelArgs {
25
61
  modelRegistry: unknown;
26
62
  provider: string;
@@ -1 +1 @@
1
- {"version":3,"file":"model-resolution.d.ts","sourceRoot":"","sources":["../../src/agents/model-resolution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAgCH,MAAM,WAAW,gBAAgB;IAChC,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAyDhG"}
1
+ {"version":3,"file":"model-resolution.d.ts","sourceRoot":"","sources":["../../src/agents/model-resolution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAaH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,oCAAoC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAEjF,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,qCAAqC,oBACH,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACvC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,cAAc,EAAE,OAAO,GACrB,MAAM,GAAG,SAAS,CAYpB;AAsBD,MAAM,WAAW,gBAAgB;IAChC,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAmEhG"}