@genesislcap/ai-assistant 15.10.4 → 15.10.6

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.
@@ -2039,10 +2039,10 @@
2039
2039
  "kind": "field",
2040
2040
  "name": "transcriptBudgetExhaustedMessage",
2041
2041
  "type": {
2042
- "text": "string"
2042
+ "text": "string | undefined"
2043
2043
  },
2044
2044
  "privacy": "private",
2045
- "description": "Copy the driver writes into the TRANSCRIPT when a turn hits the budget wall.\n\nA host-set `blockedReason` still wins, so a white-labelled host does not read\nits own explanation in the banner and the shipped default directly below it —\nthat is the whole reason the driver takes this at all.\n\nWhat it deliberately is NOT is\nFoundationAiAssistant.effectiveBlockedReason. That getter\ncomposes advice `\"…Switch to Gemini to keep going.\"`which is true only\nwhile that vendor has headroom, and the transcript is a permanent record. The\ndriver reads this once at CONSTRUCTION, and `getOrCreateDriver` keys on the\nagents list, so an agents swap *after* a wall re-runs `createDriver` and would\nfreeze that sentence into every later turn's bubble. Reading the latch's own\ncopy instead is structurally incapable of carrying the advice: the only\nwriter of `blockedReason` is the vendor-agnostic branch of\n`latchBlockedFrom`, whose `formatBlockedReason(budget)` form has no switch\nclause. Per-vendor copy lives in `blockedVendorReasons` and reaches the\nbanner alone.",
2045
+ "description": "Copy the driver writes into the TRANSCRIPT when a turn hits the budget wall,\nor `undefined` to let the driver compose it per wall.\n\nA set `blockedReason` still wins a white-labelled host must not read its\nown explanation in the banner and shipped copy directly below it, and the\nvendor-agnostic latch's `formatBlockedReason(budget)` form stays advice-free\nexactly as before.\n\n`undefined` (the usual case) is NOT the old `DEFAULT_BUDGET_EXHAUSTED_MESSAGE`\nfallback: it hands composition to the driver, which builds the bubble from\nEACH wall's own 402 naming the exhausted vendor and advising a switch only\nwhen that refusal's `otherVendorAvailable` positively vouched for headroom\nelsewhere. That is immune to the staleness this getter used to guard against\nby freezing the copy: construction-time advice could outlive its truth\n(`getOrCreateDriver` re-runs on an agents swap and would have baked the\nsentence into every later bubble), but per-wall advice is derived from the\nrefusal it annotates and dies with the turn. Forcing the default here was\nalso what made the driver's composed bubble unreachable in every real\nmount the banner advised switching while the bubble under it never did\n(the GENC-1464 tester finding, root cause).",
2046
2046
  "readonly": true
2047
2047
  },
2048
2048
  {
@@ -7821,13 +7821,13 @@
7821
7821
  },
7822
7822
  {
7823
7823
  "kind": "field",
7824
- "name": "budgetExhaustedMessage",
7824
+ "name": "budgetExhaustedMessageOverride",
7825
7825
  "type": {
7826
- "text": "string"
7826
+ "text": "string | undefined"
7827
7827
  },
7828
7828
  "privacy": "private",
7829
7829
  "readonly": true,
7830
- "description": "Transcript copy for a budget wall — see `ChatDriverConfig.budgetExhaustedMessage`.",
7830
+ "description": "Host override for the budget-wall transcript copy, used verbatim — see\n`ChatDriverConfig.budgetExhaustedMessage`. `undefined` means no override,\nand the bubble is composed per wall by ChatDriver.budgetExhaustedBubble.",
7831
7831
  "default": "budgetExhaustedMessage"
7832
7832
  },
7833
7833
  {
@@ -7939,6 +7939,30 @@
7939
7939
  ],
7940
7940
  "description": "Build the `done` loop result, carrying the typed failure reason when the turn\nbailed (PTC-0). The discriminant stays `'done'` either way — the same value a\nclean turn returns — so consumers matching on `reason === 'done'` are unchanged;\n`failureReason` is simply present on a failure and absent on success. Omitted\n(rather than set to `undefined`) so a happy-path result stays byte-identical to\nthe historical `{ reason: 'done' }`."
7941
7941
  },
7942
+ {
7943
+ "kind": "method",
7944
+ "name": "reportBudgetExhausted",
7945
+ "return": {
7946
+ "type": {
7947
+ "text": "ChatDriverResult"
7948
+ }
7949
+ },
7950
+ "parameters": [
7951
+ {
7952
+ "name": "e",
7953
+ "type": {
7954
+ "text": "BudgetExhaustedError"
7955
+ }
7956
+ },
7957
+ {
7958
+ "name": "pendingUserMessage",
7959
+ "optional": true,
7960
+ "type": {
7961
+ "text": "ChatMessage"
7962
+ }
7963
+ }
7964
+ ]
7965
+ },
7942
7966
  {
7943
7967
  "kind": "method",
7944
7968
  "name": "failureReasonOf",
@@ -9108,67 +9132,6 @@
9108
9132
  }
9109
9133
  ]
9110
9134
  },
9111
- {
9112
- "kind": "javascript-module",
9113
- "path": "src/components/chat-markdown/chat-markdown.ts",
9114
- "declarations": [
9115
- {
9116
- "kind": "class",
9117
- "description": "",
9118
- "name": "AiChatMarkdown",
9119
- "members": [
9120
- {
9121
- "kind": "field",
9122
- "name": "content",
9123
- "type": {
9124
- "text": "string"
9125
- },
9126
- "default": "''",
9127
- "description": "The markdown string to render."
9128
- }
9129
- ],
9130
- "superclass": {
9131
- "name": "GenesisElement",
9132
- "package": "@genesislcap/web-core"
9133
- },
9134
- "tagName": "ai-chat-markdown",
9135
- "customElement": true
9136
- }
9137
- ],
9138
- "exports": [
9139
- {
9140
- "kind": "js",
9141
- "name": "AiChatMarkdown",
9142
- "declaration": {
9143
- "name": "AiChatMarkdown",
9144
- "module": "src/components/chat-markdown/chat-markdown.ts"
9145
- }
9146
- },
9147
- {
9148
- "kind": "custom-element-definition",
9149
- "name": "ai-chat-markdown",
9150
- "declaration": {
9151
- "name": "AiChatMarkdown",
9152
- "module": "src/components/chat-markdown/chat-markdown.ts"
9153
- }
9154
- }
9155
- ]
9156
- },
9157
- {
9158
- "kind": "javascript-module",
9159
- "path": "src/components/chat-markdown/index.ts",
9160
- "declarations": [],
9161
- "exports": [
9162
- {
9163
- "kind": "js",
9164
- "name": "*",
9165
- "declaration": {
9166
- "name": "*",
9167
- "package": "./chat-markdown"
9168
- }
9169
- }
9170
- ]
9171
- },
9172
9135
  {
9173
9136
  "kind": "javascript-module",
9174
9137
  "path": "src/components/orchestrating-driver/index.ts",
@@ -10093,6 +10056,67 @@
10093
10056
  }
10094
10057
  ]
10095
10058
  },
10059
+ {
10060
+ "kind": "javascript-module",
10061
+ "path": "src/components/chat-markdown/chat-markdown.ts",
10062
+ "declarations": [
10063
+ {
10064
+ "kind": "class",
10065
+ "description": "",
10066
+ "name": "AiChatMarkdown",
10067
+ "members": [
10068
+ {
10069
+ "kind": "field",
10070
+ "name": "content",
10071
+ "type": {
10072
+ "text": "string"
10073
+ },
10074
+ "default": "''",
10075
+ "description": "The markdown string to render."
10076
+ }
10077
+ ],
10078
+ "superclass": {
10079
+ "name": "GenesisElement",
10080
+ "package": "@genesislcap/web-core"
10081
+ },
10082
+ "tagName": "ai-chat-markdown",
10083
+ "customElement": true
10084
+ }
10085
+ ],
10086
+ "exports": [
10087
+ {
10088
+ "kind": "js",
10089
+ "name": "AiChatMarkdown",
10090
+ "declaration": {
10091
+ "name": "AiChatMarkdown",
10092
+ "module": "src/components/chat-markdown/chat-markdown.ts"
10093
+ }
10094
+ },
10095
+ {
10096
+ "kind": "custom-element-definition",
10097
+ "name": "ai-chat-markdown",
10098
+ "declaration": {
10099
+ "name": "AiChatMarkdown",
10100
+ "module": "src/components/chat-markdown/chat-markdown.ts"
10101
+ }
10102
+ }
10103
+ ]
10104
+ },
10105
+ {
10106
+ "kind": "javascript-module",
10107
+ "path": "src/components/chat-markdown/index.ts",
10108
+ "declarations": [],
10109
+ "exports": [
10110
+ {
10111
+ "kind": "js",
10112
+ "name": "*",
10113
+ "declaration": {
10114
+ "name": "*",
10115
+ "package": "./chat-markdown"
10116
+ }
10117
+ }
10118
+ ]
10119
+ },
10096
10120
  {
10097
10121
  "kind": "javascript-module",
10098
10122
  "path": "src/state/persistence/build-timeline-entries.ts",
@@ -125,8 +125,13 @@ export interface ChatDriverConfig {
125
125
  */
126
126
  activityBus?: ActivityBus;
127
127
  /**
128
- * Transcript copy appended when the AI-spend budget wall is hit (GENC-1464).
129
- * Defaults to `DEFAULT_BUDGET_EXHAUSTED_MESSAGE`.
128
+ * Transcript copy appended when the AI-spend budget wall is hit (GENC-1464),
129
+ * used VERBATIM — set it only to own the copy entirely (white-labelling).
130
+ * When unset, the driver composes the bubble per wall: the neutral
131
+ * `DEFAULT_BUDGET_EXHAUSTED_MESSAGE`, upgraded with "switch to another AI
132
+ * provider" advice only when the 402's `otherVendorAvailable` positively says
133
+ * another metered vendor still has headroom — the same rule the blocked
134
+ * banner applies, so the two surfaces can no longer contradict each other.
130
135
  *
131
136
  * The assistant element already lets a host override the blocked **banner**
132
137
  * via `setBlocked(true, reason)`; without this the transcript **bubble** stayed
@@ -463,8 +468,12 @@ export declare class ChatDriver extends EventTarget implements AiDriver {
463
468
  private readonly sessionKey;
464
469
  /** Injected activity bus; defaults to a no-op off-browser (Node/tests/headless). */
465
470
  private readonly activityBus;
466
- /** Transcript copy for a budget wall — see `ChatDriverConfig.budgetExhaustedMessage`. */
467
- private readonly budgetExhaustedMessage;
471
+ /**
472
+ * Host override for the budget-wall transcript copy, used verbatim — see
473
+ * `ChatDriverConfig.budgetExhaustedMessage`. `undefined` means no override,
474
+ * and the bubble is composed per wall by {@link ChatDriver.budgetExhaustedBubble}.
475
+ */
476
+ private readonly budgetExhaustedMessageOverride?;
468
477
  /**
469
478
  * Set the moment a budget wall is observed anywhere in this turn — this
470
479
  * driver's own 402, or a sub-agent's (which surfaces here only as a
@@ -568,6 +577,7 @@ export declare class ChatDriver extends EventTarget implements AiDriver {
568
577
  *
569
578
  * @internal
570
579
  */
580
+ private budgetExhaustedBubble;
571
581
  reportBudgetExhausted(e: BudgetExhaustedError, pendingUserMessage?: ChatMessage): ChatDriverResult;
572
582
  /** The typed failure reason on a loop result, or `undefined` for a clean turn / handoff. */
573
583
  private static failureReasonOf;
@@ -1 +1 @@
1
- {"version":3,"file":"chat-driver.d.ts","sourceRoot":"","sources":["../../../../src/components/chat-driver/chat-driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-driver.d.ts","sourceRoot":"","sources":["../../../../src/components/chat-driver/chat-driver.ts"],"names":[],"mappings":"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"}
@@ -678,24 +678,26 @@ export declare class FoundationAiAssistant extends GenesisElement {
678
678
  */
679
679
  get effectiveBlockedReason(): string;
680
680
  /**
681
- * Copy the driver writes into the TRANSCRIPT when a turn hits the budget wall.
682
- *
683
- * A host-set `blockedReason` still wins, so a white-labelled host does not read
684
- * its own explanation in the banner and the shipped default directly below it —
685
- * that is the whole reason the driver takes this at all.
686
- *
687
- * What it deliberately is NOT is
688
- * {@link FoundationAiAssistant.effectiveBlockedReason}. That getter
689
- * composes advice `"…Switch to Gemini to keep going."` — which is true only
690
- * while that vendor has headroom, and the transcript is a permanent record. The
691
- * driver reads this once at CONSTRUCTION, and `getOrCreateDriver` keys on the
692
- * agents list, so an agents swap *after* a wall re-runs `createDriver` and would
693
- * freeze that sentence into every later turn's bubble. Reading the latch's own
694
- * copy instead is structurally incapable of carrying the advice: the only
695
- * writer of `blockedReason` is the vendor-agnostic branch of
696
- * `latchBlockedFrom`, whose `formatBlockedReason(budget)` form has no switch
697
- * clause. Per-vendor copy lives in `blockedVendorReasons` and reaches the
698
- * banner alone.
681
+ * Copy the driver writes into the TRANSCRIPT when a turn hits the budget wall,
682
+ * or `undefined` to let the driver compose it per wall.
683
+ *
684
+ * A set `blockedReason` still wins a white-labelled host must not read its
685
+ * own explanation in the banner and shipped copy directly below it, and the
686
+ * vendor-agnostic latch's `formatBlockedReason(budget)` form stays advice-free
687
+ * exactly as before.
688
+ *
689
+ * `undefined` (the usual case) is NOT the old `DEFAULT_BUDGET_EXHAUSTED_MESSAGE`
690
+ * fallback: it hands composition to the driver, which builds the bubble from
691
+ * EACH wall's own 402 naming the exhausted vendor and advising a switch only
692
+ * when that refusal's `otherVendorAvailable` positively vouched for headroom
693
+ * elsewhere. That is immune to the staleness this getter used to guard against
694
+ * by freezing the copy: construction-time advice could outlive its truth
695
+ * (`getOrCreateDriver` re-runs on an agents swap and would have baked the
696
+ * sentence into every later bubble), but per-wall advice is derived from the
697
+ * refusal it annotates and dies with the turn. Forcing the default here was
698
+ * also what made the driver's composed bubble unreachable in every real
699
+ * mount — the banner advised switching while the bubble under it never did
700
+ * (the GENC-1464 tester finding, root cause).
699
701
  */
700
702
  private get transcriptBudgetExhaustedMessage();
701
703
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/main/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/main/main.ts"],"names":[],"mappings":"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"}
@@ -142,22 +142,22 @@ export declare const AiChatInteractionWrapper: React.ForwardRefExoticComponent<
142
142
  >;
143
143
  export type AiChatInteractionWrapperRef = AiChatInteractionWrapperWC;
144
144
 
145
- export declare const AiChatMarkdown: React.ForwardRefExoticComponent<
145
+ export declare const FoundationAiPopoutManager: React.ForwardRefExoticComponent<
146
146
  React.PropsWithChildren<
147
- Omit<PublicOf<AiChatMarkdownWC>, 'children' | 'style'> &
147
+ Omit<PublicOf<FoundationAiPopoutManagerWC>, 'children' | 'style'> &
148
148
  HTMLWCProps & {
149
149
  }
150
- > & React.RefAttributes<AiChatMarkdownWC>
150
+ > & React.RefAttributes<FoundationAiPopoutManagerWC>
151
151
  >;
152
- export type AiChatMarkdownRef = AiChatMarkdownWC;
152
+ export type FoundationAiPopoutManagerRef = FoundationAiPopoutManagerWC;
153
153
 
154
- export declare const FoundationAiPopoutManager: React.ForwardRefExoticComponent<
154
+ export declare const AiChatMarkdown: React.ForwardRefExoticComponent<
155
155
  React.PropsWithChildren<
156
- Omit<PublicOf<FoundationAiPopoutManagerWC>, 'children' | 'style'> &
156
+ Omit<PublicOf<AiChatMarkdownWC>, 'children' | 'style'> &
157
157
  HTMLWCProps & {
158
158
  }
159
- > & React.RefAttributes<FoundationAiPopoutManagerWC>
159
+ > & React.RefAttributes<AiChatMarkdownWC>
160
160
  >;
161
- export type FoundationAiPopoutManagerRef = FoundationAiPopoutManagerWC;
161
+ export type AiChatMarkdownRef = AiChatMarkdownWC;
162
162
 
163
163
  export {};
@@ -280,12 +280,12 @@ export class ChatDriver extends EventTarget {
280
280
  * Reset per turn alongside `budgetWallDetail`.
281
281
  */
282
282
  this.budgetWallViaSubAgent = false;
283
- const { toolHandlers = {}, toolDefinitions = [], systemPrompt, primerHistory, maxToolIterations = DEFAULT_MAX_TOOL_ITERATIONS, maxFoldOperations = DEFAULT_MAX_FOLD_OPERATIONS, condenseBatchCalls = 1, maxTurnSnapshots = DEFAULT_MAX_TURN_SNAPSHOTS, sessionKey = '', activityBus = NOOP_ACTIVITY_BUS, budgetExhaustedMessage = DEFAULT_BUDGET_EXHAUSTED_MESSAGE, } = config;
283
+ const { toolHandlers = {}, toolDefinitions = [], systemPrompt, primerHistory, maxToolIterations = DEFAULT_MAX_TOOL_ITERATIONS, maxFoldOperations = DEFAULT_MAX_FOLD_OPERATIONS, condenseBatchCalls = 1, maxTurnSnapshots = DEFAULT_MAX_TURN_SNAPSHOTS, sessionKey = '', activityBus = NOOP_ACTIVITY_BUS, budgetExhaustedMessage, } = config;
284
284
  this.maxToolIterations = maxToolIterations;
285
285
  this.condenseBatchCalls = condenseBatchCalls;
286
286
  this.sessionKey = sessionKey;
287
287
  this.activityBus = activityBus;
288
- this.budgetExhaustedMessage = budgetExhaustedMessage;
288
+ this.budgetExhaustedMessageOverride = budgetExhaustedMessage;
289
289
  if (typeof toolHandlers === 'function') {
290
290
  this.toolHandlersFactory = toolHandlers;
291
291
  this.toolHandlers = {};
@@ -448,6 +448,30 @@ export class ChatDriver extends EventTarget {
448
448
  *
449
449
  * @internal
450
450
  */
451
+ budgetExhaustedBubble(wall) {
452
+ // A host override wins verbatim — the white-label contract on
453
+ // `ChatDriverConfig.budgetExhaustedMessage` (its copy may not even be
454
+ // English; composing onto it would mangle it).
455
+ if (this.budgetExhaustedMessageOverride != null)
456
+ return this.budgetExhaustedMessageOverride;
457
+ // Only a POSITIVE `otherVendorAvailable` earns the switch advice. `false`
458
+ // means every other metered vendor is exhausted too, and `undefined` means
459
+ // an older proxy did not say — in both cases advertising a switch to a
460
+ // vendor that may itself be walled is worse than the neutral default. This
461
+ // mirrors the blocked banner's rule, and closes the gap where the banner
462
+ // said "switch" while the transcript bubble directly under it said only
463
+ // "contact your administrator" (GENC-1464 tester finding).
464
+ if ((wall === null || wall === void 0 ? void 0 : wall.otherVendorAvailable) !== true)
465
+ return DEFAULT_BUDGET_EXHAUSTED_MESSAGE;
466
+ // The label is display copy, nothing more — attribution (which vendor gets
467
+ // WALLED) stays `budgetDetailOf`'s job. The parameter is the shared shape of
468
+ // both call sites: the thrown `BudgetExhaustedError` on the direct path, and
469
+ // the latched `budgetWallDetail` on the sub-agent path.
470
+ const subject = (wall === null || wall === void 0 ? void 0 : wall.vendorLabel)
471
+ ? `${wall.vendorLabel}'s AI usage limit`
472
+ : 'your AI usage limit';
473
+ return `You've reached ${subject}. Switch to another AI provider in Settings to keep going, or contact your administrator to raise it.`;
474
+ }
451
475
  reportBudgetExhausted(e, pendingUserMessage) {
452
476
  var _a, _b;
453
477
  if (pendingUserMessage)
@@ -468,7 +492,7 @@ export class ChatDriver extends EventTarget {
468
492
  spentUsd: e.spentUsd,
469
493
  isSubAgent: this.isSubAgent,
470
494
  });
471
- this.appendToHistory({ role: 'assistant', content: this.budgetExhaustedMessage });
495
+ this.appendToHistory({ role: 'assistant', content: this.budgetExhaustedBubble(e) });
472
496
  return this.turnDone('budget-exhausted', budgetDetailOf(e));
473
497
  }
474
498
  /** The typed failure reason on a loop result, or `undefined` for a clean turn / handoff. */
@@ -1929,7 +1953,14 @@ export class ChatDriver extends EventTarget {
1929
1953
  this.failSubAgent('budget_exhausted', this.budgetWallDetail);
1930
1954
  }
1931
1955
  else {
1932
- this.appendToHistory({ role: 'assistant', content: this.budgetExhaustedMessage });
1956
+ // Composed from the DETAIL, not an error object: on this path the wall
1957
+ // arrived as a sub-agent's failure payload — `budgetWallDetail`, first
1958
+ // attribution wins — and an unattributable child wall (detail
1959
+ // undefined) composes the neutral default.
1960
+ this.appendToHistory({
1961
+ role: 'assistant',
1962
+ content: this.budgetExhaustedBubble(this.budgetWallDetail),
1963
+ });
1933
1964
  }
1934
1965
  // Carried onto the result so `loopEndDetail` publishes the refusing
1935
1966
  // vendor rather than falling through to `lastResolvedProvider`, and the
@@ -2180,6 +2180,44 @@ outcome('a host-supplied budgetExhaustedMessage replaces the transcript copy', (
2180
2180
  // got its own copy in the banner and 'contact Genesis' directly below it.
2181
2181
  assert.is(driver.getHistory().at(-1).content, 'Contact ops@acme.com');
2182
2182
  }));
2183
+ // ── The composed default bubble (GENC-1464 tester finding) ─────────────────────
2184
+ // The blocked banner advises switching when another vendor has headroom; the
2185
+ // transcript bubble directly under it used to say only "contact your
2186
+ // administrator" regardless. The two surfaces must agree, and the bubble may
2187
+ // only advise a switch the proxy positively vouched for.
2188
+ /** Drive one walled turn and return the transcript's final (bubble) content. */
2189
+ const bubbleAfterWall = (sessionKey, e, budgetExhaustedMessage) => __awaiter(void 0, void 0, void 0, function* () {
2190
+ clearMetaEventRegistry();
2191
+ const provider = {
2192
+ chat: () => __awaiter(void 0, void 0, void 0, function* () {
2193
+ throw e;
2194
+ }),
2195
+ };
2196
+ const driver = new ChatDriver(makeRegistry(provider), Object.assign({ sessionKey, activityBus: outcomeBus }, (budgetExhaustedMessage == null ? {} : { budgetExhaustedMessage })));
2197
+ driver.applyAgent(agent({ name: 'Static', toolDefinitions: [def('noop')], toolHandlers: {} }));
2198
+ yield driver.sendMessage('go');
2199
+ return String(driver.getHistory().at(-1).content);
2200
+ });
2201
+ outcome('default bubble advises switching when the 402 vouches for headroom elsewhere', () => __awaiter(void 0, void 0, void 0, function* () {
2202
+ const content = yield bubbleAfterWall('outcome-bubble-switch', new BudgetExhaustedError('Anthropic', 25, 25.4, undefined, { otherVendorAvailable: true }));
2203
+ assert.is(content, "You've reached Anthropic's AI usage limit. Switch to another AI provider in Settings to keep going, or contact your administrator to raise it.");
2204
+ }));
2205
+ outcome('default bubble stays neutral when every other vendor is exhausted too', () => __awaiter(void 0, void 0, void 0, function* () {
2206
+ const content = yield bubbleAfterWall('outcome-bubble-all-walled', new BudgetExhaustedError('Anthropic', 25, 25.4, undefined, { otherVendorAvailable: false }));
2207
+ // Advising a switch to a vendor the proxy just said is empty would be worse
2208
+ // than the neutral copy.
2209
+ assert.is(content, DEFAULT_BUDGET_EXHAUSTED_MESSAGE);
2210
+ }));
2211
+ outcome('default bubble stays neutral when an older proxy did not say', () => __awaiter(void 0, void 0, void 0, function* () {
2212
+ const content = yield bubbleAfterWall('outcome-bubble-no-verdict', new BudgetExhaustedError('Anthropic', 25, 25.4));
2213
+ // `undefined` is "the proxy did not say", not "another vendor is free".
2214
+ assert.is(content, DEFAULT_BUDGET_EXHAUSTED_MESSAGE);
2215
+ }));
2216
+ outcome('a host override wins verbatim even when switching would be honest advice', () => __awaiter(void 0, void 0, void 0, function* () {
2217
+ const content = yield bubbleAfterWall('outcome-bubble-override-wins', new BudgetExhaustedError('Anthropic', 25, 25.4, undefined, { otherVendorAvailable: true }), 'Contact ops@acme.com');
2218
+ // The white-label contract: host copy is never composed onto.
2219
+ assert.is(content, 'Contact ops@acme.com');
2220
+ }));
2183
2221
  // ── A sub-agent's wall is terminal for the parent too (GENC-1464) ──────────────
2184
2222
  // `SubAgentFailureReason.budget_exhausted` is documented as "terminal for the
2185
2223
  // parent too". Nothing parent-side read it, so the parent's tool loop appended
@@ -2219,6 +2257,30 @@ outcome('a sub-agent budget wall ends the parent turn without another model call
2219
2257
  assert.is(result.reason === 'done' ? result.failureReason : undefined, 'budget-exhausted');
2220
2258
  assert.is(driver.getHistory().at(-1).content, DEFAULT_BUDGET_EXHAUSTED_MESSAGE);
2221
2259
  }));
2260
+ outcome("a sub-agent wall with headroom elsewhere composes the parent's switch advice", () => __awaiter(void 0, void 0, void 0, function* () {
2261
+ // The parent's bubble is composed from the latched `budgetWallDetail` — on the
2262
+ // sub-agent path there is NO error object in scope, only the failure payload
2263
+ // the child attributed (this pins the exact seam a scope bug once lived on).
2264
+ clearMetaEventRegistry();
2265
+ let parentCalls = 0;
2266
+ const provider = {
2267
+ chat: (_h, _u, options) => __awaiter(void 0, void 0, void 0, function* () {
2268
+ var _a;
2269
+ if (((_a = options === null || options === void 0 ? void 0 : options.tools) !== null && _a !== void 0 ? _a : []).some((t) => t.name === 'delegate')) {
2270
+ parentCalls += 1;
2271
+ return callsTool('delegate', `d${parentCalls}`);
2272
+ }
2273
+ throw new BudgetExhaustedError('Anthropic', 25, 25.4, undefined, {
2274
+ otherVendorAvailable: true,
2275
+ });
2276
+ }),
2277
+ };
2278
+ const parent = delegatingParent(walledWorker(), () => undefined);
2279
+ const driver = makeDriver(parent, provider, 'outcome-subagent-budget-switch', outcomeBus);
2280
+ const result = yield driver.sendMessage('go');
2281
+ assert.is(result.reason === 'done' ? result.failureReason : undefined, 'budget-exhausted');
2282
+ assert.is(driver.getHistory().at(-1).content, "You've reached Anthropic's AI usage limit. Switch to another AI provider in Settings to keep going, or contact your administrator to raise it.");
2283
+ }));
2222
2284
  outcome("a sub-agent's wall is attributed to the CHILD's vendor, not the parent's", () => __awaiter(void 0, void 0, void 0, function* () {
2223
2285
  var _a;
2224
2286
  // A sub-agent can sit on a different vendor from its parent (`applyAgent` reads
@@ -194,6 +194,50 @@ Suite('el.blocked = true after a host reason keeps the reason', () => {
194
194
  assert.is(el.effectiveBlockedReason, 'AI usage limit reached ($25.40 of $25). Contact billing.');
195
195
  });
196
196
  // ── The driver latch (GENC-1464) ───────────────────────────────────────────────
197
+ /** The raw stored figures, read the way budget-meter.test.ts reads them. */
198
+ const storedBudgets = (el) => el._sessionRef.store.aiAssistant.vendorBudgets;
199
+ Suite('the transcript override is passed only when a blockedReason actually exists', () => {
200
+ // Forcing DEFAULT_BUDGET_EXHAUSTED_MESSAGE here was what made the driver's
201
+ // per-wall composed bubble unreachable in every real mount (the banner said
202
+ // "switch", the bubble under it never did). `undefined` hands composition to
203
+ // the driver; a set reason — host white-labelling, or the vendor-agnostic
204
+ // latch's advice-free copy — still wins verbatim.
205
+ const read = (el) => el
206
+ .transcriptBudgetExhaustedMessage;
207
+ const el = element();
208
+ assert.is(read(el), undefined, 'no reason -> the driver composes per wall');
209
+ el.setBlocked(true, 'Contact ops@acme.com');
210
+ assert.is(read(el), 'Contact ops@acme.com', 'a set reason wins verbatim');
211
+ el.setBlocked(false);
212
+ assert.is(read(el), undefined, 'unblocking hands composition back to the driver');
213
+ });
214
+ Suite('a wall with figures snaps the vendor meter at latch time', () => {
215
+ // The GENC-1464 stale-meter finding: hosts refresh the meter on
216
+ // `tool-loop-end`, which a walled turn may never reach — the 402's own
217
+ // figures are the freshest truth available and must land immediately.
218
+ const el = element();
219
+ reachable(el, 'anthropic', 'gemini');
220
+ latch(el, 'budget-exhausted', { vendorLabel: 'Anthropic', budgetUsd: 20, spentUsd: 20.1 });
221
+ assert.equal(storedBudgets(el)['anthropic'], { budgetUsd: 20, spentUsd: 20.1 });
222
+ // A later 402 for the same (already-walled) vendor carries fresher spend —
223
+ // the feed is deliberately outside the idempotence guard, like the sweep.
224
+ latch(el, 'budget-exhausted', { vendorLabel: 'Anthropic', budgetUsd: 20, spentUsd: 21.5 });
225
+ assert.equal(storedBudgets(el)['anthropic'], { budgetUsd: 20, spentUsd: 21.5 });
226
+ });
227
+ Suite('a figure-less or unattributable wall feeds no meter', () => {
228
+ // Half a meter is a lie: `VendorBudgetFigures` is total, so one missing
229
+ // figure means no feed at all — the wall itself still latches.
230
+ const el = element();
231
+ reachable(el, 'anthropic', 'gemini');
232
+ latch(el, 'budget-exhausted', { vendorLabel: 'Anthropic', spentUsd: 21 });
233
+ assert.is(storedBudgets(el)['anthropic'], undefined);
234
+ assert.is(el.isVendorBlocked('anthropic'), true, 'the latch itself is unaffected');
235
+ // No vendor resolves: nothing to key the meter on.
236
+ const el2 = element();
237
+ reachable(el2, 'anthropic', 'gemini');
238
+ latch(el2, 'budget-exhausted', { vendorLabel: 'Acme Gateway', budgetUsd: 20, spentUsd: 21 });
239
+ assert.equal(storedBudgets(el2), {});
240
+ });
197
241
  Suite('latchBlockedFrom latches only on budget-exhausted', () => {
198
242
  const budget = element();
199
243
  latch(budget, 'budget-exhausted');