@spinabot/brigade 1.22.1 → 1.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- 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/agents/tools/sessions/shared.d.ts.map +1 -1
- package/dist/agents/tools/sessions/shared.js +4 -0
- package/dist/agents/tools/sessions/shared.js.map +1 -1
- package/dist/auth/auth-health.d.ts +107 -1
- package/dist/auth/auth-health.d.ts.map +1 -1
- package/dist/auth/auth-health.js +245 -2
- 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 +52 -6
- 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/cli/commands/secrets-audit.d.ts.map +1 -1
- package/dist/cli/commands/secrets-audit.js +1 -0
- package/dist/cli/commands/secrets-audit.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/logging/redact.d.ts +12 -8
- package/dist/logging/redact.d.ts.map +1 -1
- package/dist/logging/redact.js +13 -8
- package/dist/logging/redact.js.map +1 -1
- package/dist/providers/catalog.d.ts +13 -0
- package/dist/providers/catalog.d.ts.map +1 -1
- package/dist/providers/catalog.js +31 -0
- package/dist/providers/catalog.js.map +1 -1
- package/dist/system-prompt/runtime-params.d.ts +5 -0
- package/dist/system-prompt/runtime-params.d.ts.map +1 -1
- package/dist/system-prompt/runtime-params.js +2 -1
- package/dist/system-prompt/runtime-params.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 +397 -6
- package/dist/ui/onboarding.js.map +1 -1
- package/package.json +2 -1
|
@@ -22,12 +22,62 @@
|
|
|
22
22
|
* impossible (no template + no provider config) — the only legitimate miss.
|
|
23
23
|
*/
|
|
24
24
|
import * as fs from "node:fs";
|
|
25
|
+
import { isClaudeCliProvider, synthClaudeCliModel } from "./claude-cli/register.js";
|
|
25
26
|
import { isLikelyReasoningModelId } from "../core/model-caps.js";
|
|
26
27
|
import { rediscoverOllamaModel } from "../integrations/ollama.js";
|
|
27
28
|
import { discoverCloudModelMeta } from "../integrations/provider-discovery.js";
|
|
28
29
|
const DEFAULT_CONTEXT_WINDOW = 200_000;
|
|
29
30
|
const DEFAULT_MAX_TOKENS = 8192;
|
|
30
31
|
const ZERO_COST = { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 };
|
|
32
|
+
/**
|
|
33
|
+
* Per-provider context window INCLUDED in a subscription login. A request whose
|
|
34
|
+
* input exceeds this draws from that provider's pay-as-you-go / overage bucket
|
|
35
|
+
* ("extra usage", "credits") instead of the flat plan — even while the plan's
|
|
36
|
+
* session/weekly quota is untouched.
|
|
37
|
+
*
|
|
38
|
+
* Only list a provider whose subscription ACTUALLY bills long context as overage.
|
|
39
|
+
* A provider whose subscription is purely rate/quota-limited (a message cap, a
|
|
40
|
+
* requests-per-window limit — no per-token-context overage) must NOT be listed,
|
|
41
|
+
* or we'd compact early for zero billing benefit and hurt its UX. Add a provider
|
|
42
|
+
* here only once its overage-context boundary is confirmed.
|
|
43
|
+
*
|
|
44
|
+
* anthropic — Claude Pro/Max include the 200K standard window; a request >200K
|
|
45
|
+
* uses the long-context (1M) capability, billed as extra usage.
|
|
46
|
+
* Catalogued models such as claude-opus-4-8 carry a 1,000,000
|
|
47
|
+
* window, so without this clamp pre-emptive compaction wouldn't
|
|
48
|
+
* fire until ~850K tokens (0.85 × 1M) and every large turn would
|
|
49
|
+
* sail past 200K into extra usage (the "You're out of extra usage"
|
|
50
|
+
* 400 seen with plenty of plan left).
|
|
51
|
+
*/
|
|
52
|
+
export const SUBSCRIPTION_INCLUDED_CONTEXT_WINDOW = {
|
|
53
|
+
anthropic: 200_000,
|
|
54
|
+
};
|
|
55
|
+
/** Back-compat alias for the Anthropic included-tier boundary. */
|
|
56
|
+
export const ANTHROPIC_SUBSCRIPTION_CONTEXT_WINDOW = SUBSCRIPTION_INCLUDED_CONTEXT_WINDOW.anthropic;
|
|
57
|
+
/**
|
|
58
|
+
* The context window a request should be SIZED against for billing safety.
|
|
59
|
+
*
|
|
60
|
+
* On a subscription login (OAuth / setup-token) the window is capped to the
|
|
61
|
+
* provider's included tier (see `SUBSCRIPTION_INCLUDED_CONTEXT_WINDOW`), so
|
|
62
|
+
* pre-emptive compaction fires before a request crosses into overage territory
|
|
63
|
+
* and the operator never draws pay-as-you-go credits while their plan has room.
|
|
64
|
+
* For API-key auth (pay-per-token — no overage concept), for a subscription
|
|
65
|
+
* provider we haven't confirmed has a context-overage boundary, and for any
|
|
66
|
+
* window already inside the included tier, the model's real window is returned
|
|
67
|
+
* unchanged. Provider-generic + pure.
|
|
68
|
+
*/
|
|
69
|
+
export function billingSafeContextWindow(provider, contextWindow, isSubscription) {
|
|
70
|
+
if (!isSubscription)
|
|
71
|
+
return contextWindow;
|
|
72
|
+
const included = SUBSCRIPTION_INCLUDED_CONTEXT_WINDOW[provider];
|
|
73
|
+
if (included !== undefined &&
|
|
74
|
+
typeof contextWindow === "number" &&
|
|
75
|
+
Number.isFinite(contextWindow) &&
|
|
76
|
+
contextWindow > included) {
|
|
77
|
+
return included;
|
|
78
|
+
}
|
|
79
|
+
return contextWindow;
|
|
80
|
+
}
|
|
31
81
|
/**
|
|
32
82
|
* Resolve `provider/modelId` to a usable Model, discovering or synthesizing
|
|
33
83
|
* one on a static miss. See module header for the ordered net.
|
|
@@ -37,6 +87,15 @@ export async function resolveModelNeverMiss(args) {
|
|
|
37
87
|
const registry = args.modelRegistry;
|
|
38
88
|
if (typeof registry.find !== "function")
|
|
39
89
|
return undefined;
|
|
90
|
+
// 0. claude-cli backend — a subprocess transport, not an HTTP provider, so
|
|
91
|
+
// its models never live in Pi's catalog or models.json. Synthesize directly
|
|
92
|
+
// so `claude-cli/<model>` always resolves to an `api: "claude-cli"` Model
|
|
93
|
+
// (the registered transport dispatches it; the CLI validates the concrete id
|
|
94
|
+
// at spawn time). Checked FIRST so a stray built-in `claude-*` catalog entry
|
|
95
|
+
// can't shadow the subscription backend.
|
|
96
|
+
if (isClaudeCliProvider(provider)) {
|
|
97
|
+
return synthClaudeCliModel(modelId);
|
|
98
|
+
}
|
|
40
99
|
// 1. Static.
|
|
41
100
|
const direct = registry.find(provider, modelId);
|
|
42
101
|
if (direct)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-resolution.js","sourceRoot":"","sources":["../../src/agents/model-resolution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAA4B,MAAM,uCAAuC,CAAC;AAEzG,MAAM,sBAAsB,GAAG,OAAO,CAAC;AACvC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,SAAS,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"model-resolution.js","sourceRoot":"","sources":["../../src/agents/model-resolution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry-policy.d.ts","sourceRoot":"","sources":["../../src/agents/retry-policy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"retry-policy.d.ts","sourceRoot":"","sources":["../../src/agents/retry-policy.ts"],"names":[],"mappings":"AAyBA,OAAO,EAIL,KAAK,qBAAqB,EAC1B,KAAK,WAAW,EACjB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,WAAW,EAAE,OAAO,CAAC;IAIrB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CA8I/D;AAYD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAKlF;AAWD,wBAAgB,4BAA4B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAGzE;AAUD,MAAM,WAAW,gBAAgB,CAAC,CAAC;IAEjC,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAEpE,GAAG,CAAC,EAAE,qBAAqB,CAAC;IAE5B,MAAM,CAAC,EAAE,WAAW,CAAC;IAKrB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrE;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;gBAErB,QAAQ,EAAE,iBAAiB,EAAE,EAAE,SAAS,EAAE,OAAO;CAyB9D;AAED;sEACsE;AACtE,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAIlF;AAED,wBAAsB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAkE3E"}
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
// timeout yes 3 1s+jitter yes econn*, deadline
|
|
15
15
|
// unknown yes 2 1s+jitter yes collapse-into-retry
|
|
16
16
|
// billing no 0 n/a rotate-model 402 → failover chain / surface
|
|
17
|
+
// subscription_limit no 0 n/a rotate-model plan window exhausted → failover chain / surface
|
|
17
18
|
// format no 0 n/a n/a same body re-fails
|
|
18
19
|
// model_not_found no 0 n/a rotate-model fallback chain
|
|
19
20
|
// auth no 0 n/a yes try other profile
|
|
@@ -80,6 +81,23 @@ export function getRetryPolicy(reason) {
|
|
|
80
81
|
rotateModel: true,
|
|
81
82
|
consumesProbeSlot: false,
|
|
82
83
|
};
|
|
84
|
+
case "subscription_limit":
|
|
85
|
+
// The subscription plan's usage window (e.g. Claude Max 5-hour /
|
|
86
|
+
// weekly) is exhausted. Same-model retry is guaranteed to re-fail
|
|
87
|
+
// until the window resets on its own wall clock — hours, not seconds
|
|
88
|
+
// — and rotating auth profiles doesn't help (same account, same
|
|
89
|
+
// window). Fail fast and let the model fallback chain try a
|
|
90
|
+
// different (provider, model); with no fallback configured the error
|
|
91
|
+
// surfaces immediately with the reset hint (see RetryExhaustedError).
|
|
92
|
+
return {
|
|
93
|
+
reason,
|
|
94
|
+
transient: false,
|
|
95
|
+
maxRetries: 0,
|
|
96
|
+
baseBackoffMs: 0,
|
|
97
|
+
rotateAuthProfile: false,
|
|
98
|
+
rotateModel: true,
|
|
99
|
+
consumesProbeSlot: false,
|
|
100
|
+
};
|
|
83
101
|
case "format":
|
|
84
102
|
return {
|
|
85
103
|
reason,
|
|
@@ -182,12 +200,18 @@ export class RetryExhaustedError extends Error {
|
|
|
182
200
|
const last = attempts[attempts.length - 1];
|
|
183
201
|
const lastReason = last?.reason ?? "unknown";
|
|
184
202
|
const summary = last?.errorSummary ?? (lastError instanceof Error ? lastError.message : String(lastError));
|
|
203
|
+
// Operator-facing hint: a subscription-window error otherwise reads like
|
|
204
|
+
// "buy credits", which sends the operator to the wrong fix (topping up an
|
|
205
|
+
// API account) when the real state is "plan window used up, resets soon".
|
|
206
|
+
const hint = lastReason === "subscription_limit"
|
|
207
|
+
? "\nYour subscription's usage window is used up — it resets on its own (check /usage or claude.ai/settings/usage). This is the plan limit, not missing API credits."
|
|
208
|
+
: "";
|
|
185
209
|
// Chain the underlying error as `cause`. Recipient-facing classification
|
|
186
210
|
// walks `.cause` to find a known reason; without this, a 402 OpenRouter
|
|
187
211
|
// billing error wrapped in a retry-exhausted shell was being classified
|
|
188
212
|
// as `unknown` and recipients got the generic "Sorry I hit an error"
|
|
189
213
|
// reply instead of the friendly "I'm out of credits" message.
|
|
190
|
-
super(`Retry exhausted after ${attempts.length} attempt(s); last reason=${lastReason}: ${summary}`, lastError instanceof Error ? { cause: lastError } : undefined);
|
|
214
|
+
super(`Retry exhausted after ${attempts.length} attempt(s); last reason=${lastReason}: ${summary}${hint}`, lastError instanceof Error ? { cause: lastError } : undefined);
|
|
191
215
|
this.name = "RetryExhaustedError";
|
|
192
216
|
this.attempts = attempts;
|
|
193
217
|
this.lastReason = lastReason;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry-policy.js","sourceRoot":"","sources":["../../src/agents/retry-policy.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"retry-policy.js","sourceRoot":"","sources":["../../src/agents/retry-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/agents/tools/sessions/shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,eAAO,MAAM,0BAA0B,QAAY,CAAC;AACpD,eAAO,MAAM,+BAA+B,OAAQ,CAAC;AAIrD;;;;;;;;GAQG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAO;gBAClB,OAAO,EAAE,MAAM;CAI3B;AAED,qBAAa,8BAA+B,SAAQ,sBAAsB;IACzE,SAAkB,MAAM,OAAO;gBACnB,OAAO,EAAE,MAAM;CAI3B;AAED,sFAAsF;AACtF,eAAO,MAAM,cAAc,+BAAyB,CAAC;AACrD,8FAA8F;AAC9F,eAAO,MAAM,sBAAsB,uCAAiC,CAAC;AAIrE;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CASzE;
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/agents/tools/sessions/shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -79,6 +79,10 @@ const SENSITIVE_PATTERNS = [
|
|
|
79
79
|
/\bghp_[A-Za-z0-9]{20,}\b/g,
|
|
80
80
|
/\bxoxb-[A-Za-z0-9-]{10,}\b/g,
|
|
81
81
|
/\bxoxp-[A-Za-z0-9-]{10,}\b/g,
|
|
82
|
+
// Google AI / Gemini keys — legacy AIza… and the newer AQ.… (base64url).
|
|
83
|
+
// The lookbehind keeps `com.AQ.x`, `/AQ.x`, `token.AQ.x` from matching.
|
|
84
|
+
/\bAIza[A-Za-z0-9_-]{35}\b/g,
|
|
85
|
+
/(?<![\w./\\-])AQ\.[A-Za-z0-9_-]{30,}/g,
|
|
82
86
|
];
|
|
83
87
|
/** Best-effort credential redaction for history text. NOT a security boundary. */
|
|
84
88
|
export function redactSensitiveText(input) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/agents/tools/sessions/shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAE5E,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,GAAG,IAAI,CAAC;AACpD,MAAM,CAAC,MAAM,+BAA+B,GAAG,KAAK,CAAC;AAErD,uEAAuE;AAEvE;;;;;;;;GAQG;AACH,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IACvC,MAAM,GAAW,GAAG,CAAC;IAC9B,YAAY,OAAe;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACtC,CAAC;CACD;AAED,MAAM,OAAO,8BAA+B,SAAQ,sBAAsB;IACvD,MAAM,GAAG,GAAG,CAAC;IAC/B,YAAY,OAAe;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;IAC9C,CAAC;CACD;AAED,sFAAsF;AACtF,MAAM,CAAC,MAAM,cAAc,GAAG,sBAAsB,CAAC;AACrD,8FAA8F;AAC9F,MAAM,CAAC,MAAM,sBAAsB,GAAG,8BAA8B,CAAC;AAErE,uEAAuE;AAEvE;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,QAAgB;IAChE,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC3C,IAAI,GAAG,GAAG,QAAQ,CAAC;IACnB,gCAAgC;IAChC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACvC,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM;YAAE,GAAG,IAAI,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,kBAAkB,GAAa;IACpC,kEAAkE;IAClE,sEAAsE;IACtE,kCAAkC;IAClC,+BAA+B;IAC/B,iCAAiC;IACjC,wBAAwB;IACxB,mDAAmD;IACnD,2BAA2B;IAC3B,6BAA6B;IAC7B,6BAA6B;
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/agents/tools/sessions/shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,12 +11,15 @@
|
|
|
11
11
|
* - type "api_key" holding an `sk-ant-oat…` subscription access token (pasted
|
|
12
12
|
* or written by an older onboarding path).
|
|
13
13
|
* - type "oauth" with no refresh token.
|
|
14
|
-
*
|
|
14
|
+
* `autoHealSubscriptions` recovers these at gateway boot by re-syncing from the
|
|
15
|
+
* vendor CLI login (Claude Code) — no user action. `brigade login` is only the
|
|
16
|
+
* manual fallback when there is no CLI login present to adopt.
|
|
15
17
|
*
|
|
16
18
|
* Reads through the mode-aware `readProfiles` choke point, so it is correct in
|
|
17
19
|
* BOTH filesystem and Convex mode (it never touches a raw file or the store
|
|
18
20
|
* adapter directly).
|
|
19
21
|
*/
|
|
22
|
+
import { readClaudeCliLogin } from "../integrations/cli-login.js";
|
|
20
23
|
export interface UnrefreshableSubscription {
|
|
21
24
|
/** Stored provider id (where the credential lives, e.g. "anthropic"). */
|
|
22
25
|
provider: string;
|
|
@@ -46,6 +49,109 @@ export declare function classifySubscriptionRefresh(prof: RefreshScanProfile): s
|
|
|
46
49
|
* Mode-aware (fs + Convex) via `readProfiles`.
|
|
47
50
|
*/
|
|
48
51
|
export declare function detectUnrefreshableSubscriptions(agentId?: string): UnrefreshableSubscription[];
|
|
52
|
+
/**
|
|
53
|
+
* SELF-HEAL: silently upgrade unrefreshable subscription logins to a refreshable
|
|
54
|
+
* OAuth credential by re-reading the vendor CLI's CURRENT login (which carries a
|
|
55
|
+
* refresh token Pi can rotate). Zero user action — this turns the "static token"
|
|
56
|
+
* warning into an automatic fix at gateway boot instead of a manual `brigade
|
|
57
|
+
* login`.
|
|
58
|
+
*
|
|
59
|
+
* Claude: reads the Claude Code CLI login (`~/.claude/.credentials.json`, a
|
|
60
|
+
* plaintext file on Windows/Linux). If it carries a refresh token, the stored
|
|
61
|
+
* `anthropic` profile is rewritten as `type:"oauth"` and Pi keeps it refreshed
|
|
62
|
+
* from then on (auth-bridge persists each rotation). Best-effort + defensive: a
|
|
63
|
+
* missing/refresh-less CLI login leaves the credential untouched (the caller then
|
|
64
|
+
* warns). Returns the provider labels it healed, for a one-line boot log.
|
|
65
|
+
*/
|
|
66
|
+
export declare function autoHealSubscriptions(agentId?: string): string[];
|
|
67
|
+
/**
|
|
68
|
+
* SPLIT-BRAIN GUARD for credentials borrowed from the Claude Code CLI.
|
|
69
|
+
*
|
|
70
|
+
* When Brigade adopts the CLI's login (onboarding "reuse this machine's
|
|
71
|
+
* login" / `autoHealSubscriptions`), BOTH processes end up holding the same
|
|
72
|
+
* OAuth grant — and each refresh ROTATES the refresh token. The vendor CLI
|
|
73
|
+
* refreshes constantly as the operator uses it, so Brigade's stored copy
|
|
74
|
+
* goes stale within hours; when Brigade later refreshes its stale copy the
|
|
75
|
+
* two logins race and one of them dies (the recurring "login dropped" bug,
|
|
76
|
+
* this time across processes rather than restarts).
|
|
77
|
+
*
|
|
78
|
+
* This sync runs at every credential-map build (per turn + boot): if the
|
|
79
|
+
* stored anthropic profile is the SAME grant family as the CLI file and the
|
|
80
|
+
* CLI holds a NEWER access token, adopt the CLI's tokens instead of
|
|
81
|
+
* refreshing our stale ones. Brigade then only performs its own refresh when
|
|
82
|
+
* the CLI has been idle past expiry — the narrowest window we can get
|
|
83
|
+
* without writing the vendor CLI's credential file.
|
|
84
|
+
*
|
|
85
|
+
* Same-family detection: the `importedFrom: "claude-cli"` metadata stamp, or
|
|
86
|
+
* (for profiles imported before the stamp existed) literal access/refresh
|
|
87
|
+
* token equality — in which case the stamp is added so the link survives
|
|
88
|
+
* future rotation divergence. A profile from an independent `brigade login`
|
|
89
|
+
* browser grant carries neither and is never touched.
|
|
90
|
+
*
|
|
91
|
+
* Best-effort + defensive like the rest of this module: any read/parse
|
|
92
|
+
* failure is a no-op. Returns true when newer CLI tokens were adopted.
|
|
93
|
+
*/
|
|
94
|
+
export declare function adoptNewerClaudeCliLogin(agentId?: string): boolean;
|
|
95
|
+
export type DeadLoginHealResult = "refreshed" | "adopted" | "none";
|
|
96
|
+
interface HealRefreshedTokens {
|
|
97
|
+
access: string;
|
|
98
|
+
refresh: string;
|
|
99
|
+
expires: number;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* LAST-RESORT heal for a subscription login whose access token has expired.
|
|
103
|
+
*
|
|
104
|
+
* `adoptNewerClaudeCliLogin` covers borrowed logins it can LINK to the CLI
|
|
105
|
+
* file (metadata stamp or token equality). But a profile that diverged
|
|
106
|
+
* BEFORE the stamp existed — the CLI rotated the shared grant while Brigade
|
|
107
|
+
* held the old copy — matches nothing: its access token is expired, its
|
|
108
|
+
* refresh token was invalidated by the rotation, and Pi's refresh dies with
|
|
109
|
+
* "No API key for provider". This function recovers that state without
|
|
110
|
+
* guessing:
|
|
111
|
+
*
|
|
112
|
+
* 1. Try a REAL refresh with the stored refresh token. If it succeeds the
|
|
113
|
+
* grant is alive (an independent `brigade login`, or a borrow the
|
|
114
|
+
* vendor still honours) — persist the rotated tokens and stop. An
|
|
115
|
+
* independent grant is never clobbered by adoption.
|
|
116
|
+
* 2. Only when the refresh is REJECTED (grant dead) adopt the machine's
|
|
117
|
+
* Claude Code CLI login — the same choice the operator made when they
|
|
118
|
+
* picked "reuse this machine's login" — and stamp the family link so
|
|
119
|
+
* the per-turn sync keeps it fresh from now on.
|
|
120
|
+
* 3. No CLI login to adopt → "none"; the auth error surfaces normally.
|
|
121
|
+
*
|
|
122
|
+
* Network I/O happens ONLY when the stored access token is already expired
|
|
123
|
+
* (a state that otherwise guarantees a failed turn). Concurrent calls for
|
|
124
|
+
* the same agent are coalesced. Best-effort: any failure returns "none".
|
|
125
|
+
*/
|
|
126
|
+
export declare function healDeadSubscriptionLogin(agentId?: string, opts?: {
|
|
127
|
+
/** Injectable for tests — performs the OAuth refresh, null on rejection. */
|
|
128
|
+
refreshFn?: (refreshToken: string) => Promise<HealRefreshedTokens | null>;
|
|
129
|
+
/** Injectable for tests — reads the vendor CLI login file. */
|
|
130
|
+
cliRead?: typeof readClaudeCliLogin;
|
|
131
|
+
nowMs?: number;
|
|
132
|
+
}): Promise<DeadLoginHealResult>;
|
|
133
|
+
/** The stored-profile fields the adoption decision inspects. */
|
|
134
|
+
export interface CliAdoptionProfile {
|
|
135
|
+
access?: string;
|
|
136
|
+
refresh?: string;
|
|
137
|
+
expires?: number;
|
|
138
|
+
metadata?: Record<string, unknown>;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Pure decision core for `adoptNewerClaudeCliLogin` (unit-testable without
|
|
142
|
+
* storage or the CLI file):
|
|
143
|
+
* - "adopt" — same grant family and the CLI holds newer tokens.
|
|
144
|
+
* - "stamp" — same family, nothing newer, but the profile predates the
|
|
145
|
+
* `importedFrom` stamp; write the stamp so the link survives divergence.
|
|
146
|
+
* - "none" — different grant (independent `brigade login`) or already
|
|
147
|
+
* up to date and stamped.
|
|
148
|
+
*/
|
|
149
|
+
export declare function decideCliLoginAdoption(prof: CliAdoptionProfile, cli: {
|
|
150
|
+
access: string;
|
|
151
|
+
refresh: string;
|
|
152
|
+
expires?: number;
|
|
153
|
+
}): "adopt" | "stamp" | "none";
|
|
49
154
|
/** One-line-per-provider operator warning, or "" when healthy. */
|
|
50
155
|
export declare function formatUnrefreshableWarning(list: readonly UnrefreshableSubscription[]): string;
|
|
156
|
+
export {};
|
|
51
157
|
//# sourceMappingURL=auth-health.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-health.d.ts","sourceRoot":"","sources":["../../src/auth/auth-health.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"auth-health.d.ts","sourceRoot":"","sources":["../../src/auth/auth-health.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAIlE,MAAM,WAAW,yBAAyB;IACzC,yEAAyE;IACzE,QAAQ,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;CACf;AAED,yDAAyD;AACzD,MAAM,WAAW,kBAAkB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM,GAAG,IAAI,CAkBnF;AAED;;;;GAIG;AACH,wBAAgB,gCAAgC,CAC/C,OAAO,GAAE,MAAyB,GAChC,yBAAyB,EAAE,CA+B7B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,MAAyB,GAAG,MAAM,EAAE,CAsBlF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,GAAE,MAAyB,GAAG,OAAO,CA+BpF;AAQD,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,CAAC;AAEnE,UAAU,mBAAmB;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,yBAAyB,CAC9C,OAAO,GAAE,MAAyB,EAClC,IAAI,GAAE;IACL,4EAA4E;IAC5E,SAAS,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;IAC1E,8DAA8D;IAC9D,OAAO,CAAC,EAAE,OAAO,kBAAkB,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;CACV,GACJ,OAAO,CAAC,mBAAmB,CAAC,CAQ9B;AAmGD,gEAAgE;AAChE,MAAM,WAAW,kBAAkB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACrC,IAAI,EAAE,kBAAkB,EACxB,GAAG,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACxD,OAAO,GAAG,OAAO,GAAG,MAAM,CAa5B;AAED,kEAAkE;AAClE,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,SAAS,yBAAyB,EAAE,GAAG,MAAM,CAQ7F"}
|