@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.
- package/dist/agents/agent-loop.d.ts.map +1 -1
- package/dist/agents/agent-loop.js +73 -3
- package/dist/agents/agent-loop.js.map +1 -1
- package/dist/agents/channels/inbound-pipeline.d.ts.map +1 -1
- package/dist/agents/channels/inbound-pipeline.js +6 -0
- package/dist/agents/channels/inbound-pipeline.js.map +1 -1
- package/dist/agents/claude-cli/availability.d.ts +12 -0
- package/dist/agents/claude-cli/availability.d.ts.map +1 -0
- package/dist/agents/claude-cli/availability.js +79 -0
- package/dist/agents/claude-cli/availability.js.map +1 -0
- package/dist/agents/claude-cli/catalog.d.ts +91 -0
- package/dist/agents/claude-cli/catalog.d.ts.map +1 -0
- package/dist/agents/claude-cli/catalog.js +260 -0
- package/dist/agents/claude-cli/catalog.js.map +1 -0
- package/dist/agents/claude-cli/claude-config.d.ts +38 -0
- package/dist/agents/claude-cli/claude-config.d.ts.map +1 -0
- package/dist/agents/claude-cli/claude-config.js +111 -0
- package/dist/agents/claude-cli/claude-config.js.map +1 -0
- package/dist/agents/claude-cli/register.d.ts +32 -0
- package/dist/agents/claude-cli/register.d.ts.map +1 -0
- package/dist/agents/claude-cli/register.js +68 -0
- package/dist/agents/claude-cli/register.js.map +1 -0
- package/dist/agents/claude-cli/spawn.d.ts +42 -0
- package/dist/agents/claude-cli/spawn.d.ts.map +1 -0
- package/dist/agents/claude-cli/spawn.js +179 -0
- package/dist/agents/claude-cli/spawn.js.map +1 -0
- package/dist/agents/claude-cli/stream-json.d.ts +129 -0
- package/dist/agents/claude-cli/stream-json.d.ts.map +1 -0
- package/dist/agents/claude-cli/stream-json.js +84 -0
- package/dist/agents/claude-cli/stream-json.js.map +1 -0
- package/dist/agents/claude-cli/stream.d.ts +27 -0
- package/dist/agents/claude-cli/stream.d.ts.map +1 -0
- package/dist/agents/claude-cli/stream.js +380 -0
- package/dist/agents/claude-cli/stream.js.map +1 -0
- package/dist/agents/error-classifier.d.ts +2 -2
- package/dist/agents/error-classifier.d.ts.map +1 -1
- package/dist/agents/error-classifier.js +43 -0
- package/dist/agents/error-classifier.js.map +1 -1
- package/dist/agents/model-resolution.d.ts +36 -0
- package/dist/agents/model-resolution.d.ts.map +1 -1
- package/dist/agents/model-resolution.js +59 -0
- package/dist/agents/model-resolution.js.map +1 -1
- package/dist/agents/retry-policy.d.ts.map +1 -1
- package/dist/agents/retry-policy.js +25 -1
- package/dist/agents/retry-policy.js.map +1 -1
- package/dist/auth/auth-health.d.ts +89 -0
- package/dist/auth/auth-health.d.ts.map +1 -1
- package/dist/auth/auth-health.js +207 -1
- package/dist/auth/auth-health.js.map +1 -1
- package/dist/buildstamp.json +1 -1
- package/dist/cli/commands/auth.js +18 -0
- package/dist/cli/commands/auth.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +46 -0
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/gateway.d.ts +4 -0
- package/dist/cli/commands/gateway.d.ts.map +1 -1
- package/dist/cli/commands/gateway.js +44 -2
- package/dist/cli/commands/gateway.js.map +1 -1
- package/dist/cli/commands/login.d.ts.map +1 -1
- package/dist/cli/commands/login.js +107 -19
- package/dist/cli/commands/login.js.map +1 -1
- package/dist/core/auth-bridge.d.ts.map +1 -1
- package/dist/core/auth-bridge.js +16 -0
- package/dist/core/auth-bridge.js.map +1 -1
- package/dist/core/server.d.ts.map +1 -1
- package/dist/core/server.js +13 -0
- package/dist/core/server.js.map +1 -1
- package/dist/providers/catalog.d.ts.map +1 -1
- package/dist/providers/catalog.js +18 -0
- package/dist/providers/catalog.js.map +1 -1
- package/dist/ui/onboarding.d.ts +11 -0
- package/dist/ui/onboarding.d.ts.map +1 -1
- package/dist/ui/onboarding.js +343 -4
- package/dist/ui/onboarding.js.map +1 -1
- 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":"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"}
|
|
@@ -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;
|
|
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":"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"}
|
|
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;
|
|
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"}
|