instar 1.3.178 → 1.3.180

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 (68) hide show
  1. package/dist/commands/server.d.ts.map +1 -1
  2. package/dist/commands/server.js +3 -0
  3. package/dist/commands/server.js.map +1 -1
  4. package/dist/core/AutoUpdater.d.ts +12 -0
  5. package/dist/core/AutoUpdater.d.ts.map +1 -1
  6. package/dist/core/AutoUpdater.js +21 -2
  7. package/dist/core/AutoUpdater.js.map +1 -1
  8. package/dist/core/CircuitBreakingIntelligenceProvider.d.ts +26 -0
  9. package/dist/core/CircuitBreakingIntelligenceProvider.d.ts.map +1 -1
  10. package/dist/core/CircuitBreakingIntelligenceProvider.js +56 -5
  11. package/dist/core/CircuitBreakingIntelligenceProvider.js.map +1 -1
  12. package/dist/core/CoherenceGate.d.ts.map +1 -1
  13. package/dist/core/CoherenceGate.js +21 -1
  14. package/dist/core/CoherenceGate.js.map +1 -1
  15. package/dist/core/CoherenceReviewer.d.ts +6 -0
  16. package/dist/core/CoherenceReviewer.d.ts.map +1 -1
  17. package/dist/core/CoherenceReviewer.js +3 -0
  18. package/dist/core/CoherenceReviewer.js.map +1 -1
  19. package/dist/core/LlmCircuitBreaker.d.ts +52 -2
  20. package/dist/core/LlmCircuitBreaker.d.ts.map +1 -1
  21. package/dist/core/LlmCircuitBreaker.js +134 -11
  22. package/dist/core/LlmCircuitBreaker.js.map +1 -1
  23. package/dist/core/MessagingToneGate.d.ts.map +1 -1
  24. package/dist/core/MessagingToneGate.js +7 -0
  25. package/dist/core/MessagingToneGate.js.map +1 -1
  26. package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
  27. package/dist/core/PostUpdateMigrator.js +17 -0
  28. package/dist/core/PostUpdateMigrator.js.map +1 -1
  29. package/dist/core/UnjustifiedStopGate.d.ts.map +1 -1
  30. package/dist/core/UnjustifiedStopGate.js +9 -0
  31. package/dist/core/UnjustifiedStopGate.js.map +1 -1
  32. package/dist/core/UpdateGate.d.ts +17 -0
  33. package/dist/core/UpdateGate.d.ts.map +1 -1
  34. package/dist/core/UpdateGate.js +23 -0
  35. package/dist/core/UpdateGate.js.map +1 -1
  36. package/dist/core/types.d.ts +14 -0
  37. package/dist/core/types.d.ts.map +1 -1
  38. package/dist/core/types.js.map +1 -1
  39. package/dist/monitoring/FeatureMetricsLedger.d.ts +101 -0
  40. package/dist/monitoring/FeatureMetricsLedger.d.ts.map +1 -0
  41. package/dist/monitoring/FeatureMetricsLedger.js +185 -0
  42. package/dist/monitoring/FeatureMetricsLedger.js.map +1 -0
  43. package/dist/scaffold/templates.d.ts.map +1 -1
  44. package/dist/scaffold/templates.js +5 -0
  45. package/dist/scaffold/templates.js.map +1 -1
  46. package/dist/server/AgentServer.d.ts +1 -0
  47. package/dist/server/AgentServer.d.ts.map +1 -1
  48. package/dist/server/AgentServer.js +27 -0
  49. package/dist/server/AgentServer.js.map +1 -1
  50. package/dist/server/CapabilityIndex.d.ts.map +1 -1
  51. package/dist/server/CapabilityIndex.js +11 -0
  52. package/dist/server/CapabilityIndex.js.map +1 -1
  53. package/dist/server/routes.d.ts +1 -0
  54. package/dist/server/routes.d.ts.map +1 -1
  55. package/dist/server/routes.js +18 -0
  56. package/dist/server/routes.js.map +1 -1
  57. package/dist/threadline/TopicLinkageHandler.d.ts.map +1 -1
  58. package/dist/threadline/TopicLinkageHandler.js +9 -4
  59. package/dist/threadline/TopicLinkageHandler.js.map +1 -1
  60. package/package.json +1 -1
  61. package/src/data/builtin-manifest.json +64 -64
  62. package/src/scaffold/templates.ts +5 -0
  63. package/upgrades/1.3.179.md +68 -0
  64. package/upgrades/1.3.180.md +133 -0
  65. package/upgrades/side-effects/llm-feature-metrics-phase1b.md +83 -0
  66. package/upgrades/side-effects/llm-feature-metrics.md +82 -0
  67. package/upgrades/side-effects/llm-ratelimit-bounded-wait.md +46 -0
  68. package/upgrades/side-effects/restart-immediately.md +96 -0
@@ -1 +1 @@
1
- {"version":3,"file":"CoherenceGate.js","sourceRoot":"","sources":["../../src/core/CoherenceGate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CoherenceGate.js","sourceRoot":"","sources":["../../src/core/CoherenceGate.ts"],"names":[],"mappings":"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"}
@@ -84,6 +84,12 @@ export interface ReviewerOptions {
84
84
  * intelligence provider will throw at first `review()` call.
85
85
  */
86
86
  intelligence?: IntelligenceProvider;
87
+ /**
88
+ * If set, this reviewer's LLM call waits up to this many ms (bounded) for an
89
+ * open circuit breaker window to clear before failing open. Set only for
90
+ * high-stakes reviewers; best-effort reviewers omit it (instant fail-open).
91
+ */
92
+ rateLimitWaitMs?: number;
87
93
  }
88
94
  export interface ReviewerHealthMetrics {
89
95
  passCount: number;
@@ -1 +1 @@
1
- {"version":3,"file":"CoherenceReviewer.d.ts","sourceRoot":"","sources":["../../src/core/CoherenceReviewer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,oBAAoB,EAAuB,MAAM,YAAY,CAAC;AAM5E;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,iFAAiF;IACjF,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,iEAAiE;IACjE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,yCAAyC;IACzC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,sEAAsE;IACtE,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,cAAc,GAAG,gBAAgB,GAAG,OAAO,GAAG,kBAAkB,CAAC;IAChF,kDAAkD;IAClD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kCAAkC;IAClC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC1C,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iFAAiF;IACjF,mBAAmB,CAAC,EAAE;QAAE,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC7F,yFAAyF;IACzF,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oBAAoB;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IACpC;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,oBAAoB,CAAC;CACrC;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;CACzB;AAYD,8BAAsB,iBAAiB;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC7D,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAMrC;gBAEU,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe;IAMnD;;;OAGG;IACG,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IA+C3D;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM;IAE9D;;OAEG;IACH,SAAS,CAAC,gBAAgB,IAAI,MAAM;IAIpC;;OAEG;IACH,SAAS,CAAC,0BAA0B,IAAI,MAAM;IAQ9C;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAIhE;;;OAGG;IACH,SAAS,CAAC,aAAa,CACrB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,GACX;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;IAqCzE;;;;;;;;;;OAUG;cACa,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAyBxD;;;OAGG;IACH,OAAO,CAAC,cAAc;CAOvB"}
1
+ {"version":3,"file":"CoherenceReviewer.d.ts","sourceRoot":"","sources":["../../src/core/CoherenceReviewer.ts"],"names":[],"mappings":"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"}
@@ -153,6 +153,9 @@ export class CoherenceReviewer {
153
153
  model: this.mapModelToTier(this.options.model ?? 'haiku'),
154
154
  maxTokens: 200,
155
155
  temperature: 0,
156
+ // High-stakes reviewers wait (bounded) for a rate-limit window to clear
157
+ // rather than fail open; undefined for best-effort reviewers.
158
+ rateLimitWaitMs: this.options.rateLimitWaitMs,
156
159
  };
157
160
  // IntelligenceProvider implementations set their own timeouts; wrap here too.
158
161
  return await Promise.race([
@@ -1 +1 @@
1
- {"version":3,"file":"CoherenceReviewer.js","sourceRoot":"","sources":["../../src/core/CoherenceReviewer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CoherenceReviewer.js","sourceRoot":"","sources":["../../src/core/CoherenceReviewer.ts"],"names":[],"mappings":"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"}
@@ -52,6 +52,20 @@ export declare class LlmCircuitOpenError extends Error {
52
52
  * "error"/"failed"/timeout text.
53
53
  */
54
54
  export declare function isRateLimitError(message: string | null | undefined): boolean;
55
+ /**
56
+ * Classify an error message as a rate-limit/quota condition AND, best-effort,
57
+ * extract a retry-after hint in milliseconds.
58
+ *
59
+ * SUPERSET of isRateLimitError: `isLimit` uses the exact same phrase/429/402
60
+ * detection. The CLI error text is unstructured (the underlying HTTP
61
+ * retry-after header is invisible to us — we only see the `claude -p` error
62
+ * string), so `retryAfterMs` is returned only when a duration phrase parses;
63
+ * callers fall back to the flat default window otherwise.
64
+ */
65
+ export declare function classifyRateLimit(message: string | null | undefined): {
66
+ isLimit: boolean;
67
+ retryAfterMs?: number;
68
+ };
55
69
  type CircuitState = 'closed' | 'open' | 'half-open';
56
70
  export interface LlmCircuitBreakerOptions {
57
71
  /** How long to stay fully open before allowing a single probe. Default 15 min. */
@@ -62,6 +76,10 @@ export interface LlmCircuitBreakerOptions {
62
76
  now?: () => number;
63
77
  /** Injectable logger (defaults to console.warn → server log). */
64
78
  log?: (line: string) => void;
79
+ /** Injectable sleep for tests. Default real setTimeout-backed promise. */
80
+ sleep?: (ms: number) => Promise<void>;
81
+ /** Poll interval (ms) used by acquireOrWait while a probe is in flight. Default 250. */
82
+ probePollMs?: number;
65
83
  }
66
84
  export interface AcquireDecision {
67
85
  /** Whether the caller may invoke the underlying provider. */
@@ -92,6 +110,16 @@ export declare class LlmCircuitBreaker {
92
110
  private enabled;
93
111
  private readonly now;
94
112
  private readonly log;
113
+ private readonly sleep;
114
+ private readonly probePollMs;
115
+ /**
116
+ * The window length for the CURRENT trip — may be shortened (toward
117
+ * min(30s, openMs)) by a parsed retry-after hint so waiters don't sit out the
118
+ * full flat cooldown when the provider told us when it resets. Reset to openMs
119
+ * on a clean close. The open window is [firstOpenedAt, openUntil); openUntil
120
+ * is firstOpenedAt + currentOpenMs.
121
+ */
122
+ private currentOpenMs;
95
123
  constructor(opts?: LlmCircuitBreakerOptions);
96
124
  /** Runtime reconfiguration (called once at server startup from config). */
97
125
  configure(opts: {
@@ -117,9 +145,31 @@ export declare class LlmCircuitBreaker {
117
145
  onResolved(): void;
118
146
  /**
119
147
  * Record that the underlying call was rejected for a usage/rate limit. Opens
120
- * (or re-extends) the breaker for a full window.
148
+ * (or re-extends) the breaker for a window.
149
+ *
150
+ * When `retryAfterMs` is a finite, positive number (parsed best-effort from
151
+ * the provider error), the open window for THIS trip is shortened to that
152
+ * value, clamped to [min(30s, openMs), openMs] — so coherence-critical
153
+ * waiters don't sit out the full flat cooldown when the provider told us when
154
+ * it resets. Without a hint, the flat default window is used.
155
+ */
156
+ onRateLimited(reason: string, retryAfterMs?: number): void;
157
+ /**
158
+ * Bounded wait-and-retry acquire — the coherence-critical primitive.
159
+ *
160
+ * Loops until either the breaker admits the caller (allow:true) or `maxWaitMs`
161
+ * elapses (allow:false — bounded fallback so the caller can fail open/closed
162
+ * on its own terms). When the breaker is open, sleeps until just past the
163
+ * window edge; when half-open with another caller's probe in flight, polls at
164
+ * probePollMs. This serializes waiters behind the single half-open probe:
165
+ * exactly one re-acquires the probe after the window, the rest poll until that
166
+ * probe's onResolved closes the breaker (then acquire returns closed→allow) or
167
+ * its onRateLimited reopens it (then they keep waiting until the deadline). No
168
+ * thundering herd — only one probe hits the provider.
169
+ *
170
+ * A passthrough (disabled) breaker allows immediately with no sleep.
121
171
  */
122
- onRateLimited(reason: string): void;
172
+ acquireOrWait(maxWaitMs: number): Promise<AcquireDecision>;
123
173
  status(): LlmCircuitBreakerStatus;
124
174
  /** Reset to a clean closed state. For tests + an explicit operator override. */
125
175
  reset(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"LlmCircuitBreaker.d.ts","sourceRoot":"","sources":["../../src/core/LlmCircuitBreaker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LlmCircuitBreaker.d.ts","sourceRoot":"","sources":["../../src/core/LlmCircuitBreaker.ts"],"names":[],"mappings":"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"}
@@ -60,14 +60,31 @@ export class LlmCircuitOpenError extends Error {
60
60
  * "error"/"failed"/timeout text.
61
61
  */
62
62
  export function isRateLimitError(message) {
63
+ return classifyRateLimit(message).isLimit;
64
+ }
65
+ /** Sanity clamp for any parsed retry-after hint (ms). */
66
+ const RETRY_AFTER_MIN_MS = 1_000; // 1s
67
+ const RETRY_AFTER_MAX_MS = 15 * 60_000; // 15min
68
+ /**
69
+ * Classify an error message as a rate-limit/quota condition AND, best-effort,
70
+ * extract a retry-after hint in milliseconds.
71
+ *
72
+ * SUPERSET of isRateLimitError: `isLimit` uses the exact same phrase/429/402
73
+ * detection. The CLI error text is unstructured (the underlying HTTP
74
+ * retry-after header is invisible to us — we only see the `claude -p` error
75
+ * string), so `retryAfterMs` is returned only when a duration phrase parses;
76
+ * callers fall back to the flat default window otherwise.
77
+ */
78
+ export function classifyRateLimit(message) {
63
79
  if (!message)
64
- return false;
80
+ return { isLimit: false };
65
81
  const m = message.toLowerCase();
82
+ let isLimit = false;
66
83
  // Explicit HTTP status codes for limit / billing rejections.
67
84
  if (/\b429\b/.test(m))
68
- return true; // Too Many Requests
85
+ isLimit = true; // Too Many Requests
69
86
  if (/\b402\b/.test(m))
70
- return true; // Payment Required
87
+ isLimit = true; // Payment Required
71
88
  const phrases = [
72
89
  'rate limit',
73
90
  'rate-limit',
@@ -93,16 +110,54 @@ export function isRateLimitError(message) {
93
110
  'billing',
94
111
  ];
95
112
  if (phrases.some((p) => m.includes(p)))
96
- return true;
113
+ isLimit = true;
97
114
  // "exceeded ... (limit|quota|usage)" with words in between.
98
115
  if (/exceed(?:ed|s)?\b[^.\n]{0,40}(?:limit|quota|usage|credit)/.test(m))
99
- return true;
116
+ isLimit = true;
100
117
  // Bare "quota" is a strong-enough signal on its own (Anthropic/OpenAI both use it).
101
118
  if (/\bquota\b/.test(m))
102
- return true;
103
- return false;
119
+ isLimit = true;
120
+ const retryAfterMs = parseRetryAfterMs(m);
121
+ return retryAfterMs !== undefined ? { isLimit, retryAfterMs } : { isLimit };
122
+ }
123
+ /**
124
+ * Best-effort parse of a retry-after hint from an (already lower-cased) error
125
+ * message. Returns milliseconds clamped to a sane range, or undefined. Matches,
126
+ * in priority order: explicit retry-after, "resets/try again in Ns", then
127
+ * "resets/try again in Nm" and a bare "N minutes" fallback.
128
+ */
129
+ function parseRetryAfterMs(m) {
130
+ let seconds;
131
+ // retry-after: <N> / retry after <N> seconds|s
132
+ let match = /retry[\s-]?after:?\s*(\d+(?:\.\d+)?)\s*(?:seconds?|s)?\b/.exec(m);
133
+ if (match)
134
+ seconds = Number(match[1]);
135
+ // resets in <N>s / reset in <N> seconds / try again in <N>s
136
+ if (seconds === undefined) {
137
+ match = /(?:resets?|try again)\s+in\s+(\d+(?:\.\d+)?)\s*(?:seconds?|s)\b/.exec(m);
138
+ if (match)
139
+ seconds = Number(match[1]);
140
+ }
141
+ // resets in <N>m / reset in <N> minutes / try again in <N> minutes
142
+ if (seconds === undefined) {
143
+ match = /(?:resets?|try again)\s+in\s+(\d+(?:\.\d+)?)\s*(?:minutes?|m)\b/.exec(m);
144
+ if (match)
145
+ seconds = Number(match[1]) * 60;
146
+ }
147
+ // bare "<N> minutes" fallback.
148
+ if (seconds === undefined) {
149
+ match = /(\d+(?:\.\d+)?)\s*minutes?\b/.exec(m);
150
+ if (match)
151
+ seconds = Number(match[1]) * 60;
152
+ }
153
+ if (seconds === undefined || !Number.isFinite(seconds) || seconds <= 0) {
154
+ return undefined;
155
+ }
156
+ const ms = seconds * 1000;
157
+ return Math.min(Math.max(ms, RETRY_AFTER_MIN_MS), RETRY_AFTER_MAX_MS);
104
158
  }
105
159
  const DEFAULT_OPEN_MS = 15 * 60_000; // 15 minutes
160
+ const DEFAULT_PROBE_POLL_MS = 250;
106
161
  export class LlmCircuitBreaker {
107
162
  state = 'closed';
108
163
  openUntil = 0;
@@ -115,11 +170,24 @@ export class LlmCircuitBreaker {
115
170
  enabled;
116
171
  now;
117
172
  log;
173
+ sleep;
174
+ probePollMs;
175
+ /**
176
+ * The window length for the CURRENT trip — may be shortened (toward
177
+ * min(30s, openMs)) by a parsed retry-after hint so waiters don't sit out the
178
+ * full flat cooldown when the provider told us when it resets. Reset to openMs
179
+ * on a clean close. The open window is [firstOpenedAt, openUntil); openUntil
180
+ * is firstOpenedAt + currentOpenMs.
181
+ */
182
+ currentOpenMs;
118
183
  constructor(opts = {}) {
119
184
  this.openMs = opts.openMs && opts.openMs > 0 ? opts.openMs : DEFAULT_OPEN_MS;
120
185
  this.enabled = opts.enabled ?? true;
121
186
  this.now = opts.now ?? (() => Date.now());
122
187
  this.log = opts.log ?? ((line) => console.warn(line));
188
+ this.sleep = opts.sleep ?? ((ms) => new Promise((r) => setTimeout(r, ms)));
189
+ this.probePollMs = opts.probePollMs && opts.probePollMs > 0 ? opts.probePollMs : DEFAULT_PROBE_POLL_MS;
190
+ this.currentOpenMs = this.openMs;
123
191
  }
124
192
  /** Runtime reconfiguration (called once at server startup from config). */
125
193
  configure(opts) {
@@ -178,25 +246,79 @@ export class LlmCircuitBreaker {
178
246
  this.state = 'closed';
179
247
  this.probeInFlight = false;
180
248
  this.openUntil = 0;
249
+ // Clean slate — the next trip with no retry-after hint gets the full window.
250
+ this.currentOpenMs = this.openMs;
181
251
  }
182
252
  /**
183
253
  * Record that the underlying call was rejected for a usage/rate limit. Opens
184
- * (or re-extends) the breaker for a full window.
254
+ * (or re-extends) the breaker for a window.
255
+ *
256
+ * When `retryAfterMs` is a finite, positive number (parsed best-effort from
257
+ * the provider error), the open window for THIS trip is shortened to that
258
+ * value, clamped to [min(30s, openMs), openMs] — so coherence-critical
259
+ * waiters don't sit out the full flat cooldown when the provider told us when
260
+ * it resets. Without a hint, the flat default window is used.
185
261
  */
186
- onRateLimited(reason) {
262
+ onRateLimited(reason, retryAfterMs) {
187
263
  if (!this.enabled)
188
264
  return;
189
265
  const now = this.now();
190
266
  if (this.state === 'closed') {
191
267
  this.firstOpenedAt = now;
192
268
  }
269
+ if (typeof retryAfterMs === 'number' &&
270
+ Number.isFinite(retryAfterMs) &&
271
+ retryAfterMs > 0) {
272
+ const floor = Math.min(30_000, this.openMs);
273
+ this.currentOpenMs = Math.min(Math.max(retryAfterMs, floor), this.openMs);
274
+ }
275
+ else {
276
+ this.currentOpenMs = this.openMs;
277
+ }
193
278
  this.tripCount += 1;
194
279
  this.lastReason = reason.slice(0, 200);
195
280
  this.lastTrippedAt = now;
196
281
  this.state = 'open';
197
- this.openUntil = now + this.openMs;
282
+ this.openUntil = now + this.currentOpenMs;
198
283
  this.probeInFlight = false;
199
- this.log(`[llm-circuit] OPEN: provider rate-limited — pausing ALL LLM-backed work for ~${Math.round(this.openMs / 1000)}s (trip #${this.tripCount}); reason: ${this.lastReason}`);
284
+ this.log(`[llm-circuit] OPEN: provider rate-limited — pausing ALL LLM-backed work for ~${Math.round(this.currentOpenMs / 1000)}s (trip #${this.tripCount}); reason: ${this.lastReason}`);
285
+ }
286
+ /**
287
+ * Bounded wait-and-retry acquire — the coherence-critical primitive.
288
+ *
289
+ * Loops until either the breaker admits the caller (allow:true) or `maxWaitMs`
290
+ * elapses (allow:false — bounded fallback so the caller can fail open/closed
291
+ * on its own terms). When the breaker is open, sleeps until just past the
292
+ * window edge; when half-open with another caller's probe in flight, polls at
293
+ * probePollMs. This serializes waiters behind the single half-open probe:
294
+ * exactly one re-acquires the probe after the window, the rest poll until that
295
+ * probe's onResolved closes the breaker (then acquire returns closed→allow) or
296
+ * its onRateLimited reopens it (then they keep waiting until the deadline). No
297
+ * thundering herd — only one probe hits the provider.
298
+ *
299
+ * A passthrough (disabled) breaker allows immediately with no sleep.
300
+ */
301
+ async acquireOrWait(maxWaitMs) {
302
+ const deadline = this.now() + maxWaitMs;
303
+ let gate = this.acquire();
304
+ while (!gate.allow) {
305
+ const remaining = deadline - this.now();
306
+ if (remaining <= 0)
307
+ break;
308
+ let waitMs;
309
+ if (this.state === 'open') {
310
+ // Sleep just past the window edge (gate.retryAfterMs is the remaining
311
+ // open window) so the next acquire() flips us to half-open.
312
+ waitMs = Math.min(gate.retryAfterMs + 1, remaining);
313
+ }
314
+ else {
315
+ // half-open: someone else holds the probe — poll.
316
+ waitMs = Math.min(this.probePollMs, remaining);
317
+ }
318
+ await this.sleep(Math.max(0, waitMs));
319
+ gate = this.acquire();
320
+ }
321
+ return gate;
200
322
  }
201
323
  status() {
202
324
  const now = this.now();
@@ -216,6 +338,7 @@ export class LlmCircuitBreaker {
216
338
  this.openUntil = 0;
217
339
  this.firstOpenedAt = 0;
218
340
  this.probeInFlight = false;
341
+ this.currentOpenMs = this.openMs;
219
342
  }
220
343
  }
221
344
  let _singleton = null;
@@ -1 +1 @@
1
- {"version":3,"file":"LlmCircuitBreaker.js","sourceRoot":"","sources":["../../src/core/LlmCircuitBreaker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LlmCircuitBreaker.js","sourceRoot":"","sources":["../../src/core/LlmCircuitBreaker.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MessagingToneGate.d.ts","sourceRoot":"","sources":["../../src/core/MessagingToneGate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MessagingToneGate.d.ts","sourceRoot":"","sources":["../../src/core/MessagingToneGate.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,12 @@
18
18
  * is the structural backup that catches lapses.
19
19
  */
20
20
  import crypto from 'node:crypto';
21
+ /**
22
+ * This is the outbound message gate — the highest-value coherence-critical
23
+ * check. If the LLM circuit breaker is open, wait up to 2min (bounded) for the
24
+ * window to clear rather than fail open and let an unreviewed message through.
25
+ */
26
+ const RATE_LIMIT_WAIT_MS = 120_000;
21
27
  const VALID_RULES = new Set([
22
28
  'B1_CLI_COMMAND',
23
29
  'B2_FILE_PATH',
@@ -49,6 +55,7 @@ export class MessagingToneGate {
49
55
  model: 'fast',
50
56
  maxTokens: 200,
51
57
  temperature: 0,
58
+ rateLimitWaitMs: RATE_LIMIT_WAIT_MS,
52
59
  });
53
60
  const parsed = this.parseResponse(raw);
54
61
  // Reasoning-discipline check: if the LLM wants to block, it must cite