moderado 0.3.10 → 0.4.10

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 (66) hide show
  1. package/README.md +52 -30
  2. package/dist/commands/chat.d.ts +3 -2
  3. package/dist/commands/chat.d.ts.map +1 -1
  4. package/dist/commands/chat.js +101 -29
  5. package/dist/commands/chat.js.map +1 -1
  6. package/dist/config.d.ts +4 -1
  7. package/dist/config.d.ts.map +1 -1
  8. package/dist/config.js +11 -3
  9. package/dist/config.js.map +1 -1
  10. package/dist/moderado_oauth.d.ts +14 -0
  11. package/dist/moderado_oauth.d.ts.map +1 -0
  12. package/dist/moderado_oauth.js +88 -0
  13. package/dist/moderado_oauth.js.map +1 -0
  14. package/dist/sessions.d.ts.map +1 -1
  15. package/dist/sessions.js +3 -2
  16. package/dist/sessions.js.map +1 -1
  17. package/dist/ui/model_selector.d.ts +7 -1
  18. package/dist/ui/model_selector.d.ts.map +1 -1
  19. package/dist/ui/model_selector.js +52 -13
  20. package/dist/ui/model_selector.js.map +1 -1
  21. package/dist/ui/popup.d.ts.map +1 -1
  22. package/dist/ui/popup.js +22 -2
  23. package/dist/ui/popup.js.map +1 -1
  24. package/dist/ui/provider_connect.d.ts +30 -1
  25. package/dist/ui/provider_connect.d.ts.map +1 -1
  26. package/dist/ui/provider_connect.js +202 -4
  27. package/dist/ui/provider_connect.js.map +1 -1
  28. package/dist/ui/welcome.d.ts +4 -2
  29. package/dist/ui/welcome.d.ts.map +1 -1
  30. package/dist/ui/welcome.js +46 -16
  31. package/dist/ui/welcome.js.map +1 -1
  32. package/dist/vendor/contracts/events.d.ts +93 -0
  33. package/dist/vendor/contracts/events.d.ts.map +1 -1
  34. package/dist/vendor/contracts/events.js +6 -1
  35. package/dist/vendor/contracts/events.js.map +1 -1
  36. package/dist/vendor/contracts/models.d.ts +4 -0
  37. package/dist/vendor/contracts/models.d.ts.map +1 -1
  38. package/dist/vendor/contracts/models.js +2 -0
  39. package/dist/vendor/contracts/models.js.map +1 -1
  40. package/dist/vendor/contracts/provider.d.ts +60 -0
  41. package/dist/vendor/contracts/provider.d.ts.map +1 -1
  42. package/dist/vendor/contracts/provider.js +39 -0
  43. package/dist/vendor/contracts/provider.js.map +1 -1
  44. package/dist/vendor/core/agent.d.ts.map +1 -1
  45. package/dist/vendor/core/agent.js +21 -7
  46. package/dist/vendor/core/agent.js.map +1 -1
  47. package/dist/vendor/providers/model_discovery.d.ts +1 -1
  48. package/dist/vendor/providers/model_discovery.d.ts.map +1 -1
  49. package/dist/vendor/providers/model_discovery.js +43 -2
  50. package/dist/vendor/providers/model_discovery.js.map +1 -1
  51. package/dist/vendor/providers/nvidia/nvidia_adapter.d.ts +1 -0
  52. package/dist/vendor/providers/nvidia/nvidia_adapter.d.ts.map +1 -1
  53. package/dist/vendor/providers/nvidia/nvidia_adapter.js +42 -8
  54. package/dist/vendor/providers/nvidia/nvidia_adapter.js.map +1 -1
  55. package/dist/vendor/providers/nvidia/sse_parser.d.ts +3 -1
  56. package/dist/vendor/providers/nvidia/sse_parser.d.ts.map +1 -1
  57. package/dist/vendor/providers/nvidia/sse_parser.js +31 -2
  58. package/dist/vendor/providers/nvidia/sse_parser.js.map +1 -1
  59. package/dist/vendor/providers/presets.d.ts +9 -2
  60. package/dist/vendor/providers/presets.d.ts.map +1 -1
  61. package/dist/vendor/providers/presets.js +43 -1
  62. package/dist/vendor/providers/presets.js.map +1 -1
  63. package/dist/vendor/tools/tools/web_search.d.ts.map +1 -1
  64. package/dist/vendor/tools/tools/web_search.js +2 -0
  65. package/dist/vendor/tools/tools/web_search.js.map +1 -1
  66. package/package.json +2 -1
@@ -1,9 +1,15 @@
1
- import { freeModelPolicyFor } from '../config.js';
1
+ import { freeModelPolicyFor, resolveModeradoCloudBaseUrl } from '../config.js';
2
2
  import { isFreeModelOption } from '../model_pricing.js';
3
3
  import { askQuestion, askSecret, askSelect } from './prompt.js';
4
4
  import { renderBoxLines, selectListPopup } from './popup.js';
5
+ import { selectCompatibleModelOverlay } from './model_selector.js';
5
6
  import { fetchOpenRouterFreeModels, fetchProviderModels } from '../vendor/providers/index.js';
7
+ import { createServer } from 'node:http';
8
+ import { spawn } from 'node:child_process';
9
+ import { emitKeypressEvents } from 'node:readline';
10
+ import { createModeradoOAuthRequest, exchangeModeradoOAuthCode, validateModeradoOAuthCallback } from '../moderado_oauth.js';
6
11
  export const PROVIDER_PRESETS = [
12
+ { label: 'Moderado Gateway', value: 'moderado-cloud', tag: 'Gateway', description: 'Use browser sign-in, a saved key, a new key, or public access.' },
7
13
  { label: 'NVIDIA NIM', value: 'nvidia-nim', tag: 'Default · Free-first', description: 'Use NVIDIA NIM with automatic free-model routing.' },
8
14
  { label: 'OpenRouter', value: 'openrouter', tag: 'Free Models', displayName: 'OpenRouter', baseUrl: 'https://openrouter.ai/api/v1', description: 'Connect your OpenRouter key to access free tier models.' },
9
15
  { label: 'Agnes AI', value: 'agnes-ai', tag: 'Free Models', displayName: 'Agnes AI', baseUrl: 'https://apihub.agnes-ai.com/v1', description: 'Connect your Agnes AI key to access free endpoints.' },
@@ -35,7 +41,13 @@ export function findReusableConnection(preset, connections) {
35
41
  return connections?.[id];
36
42
  }
37
43
  export function isAuthenticationFailure(error) {
38
- return error instanceof Error && /authentication failed \((401|403)\)/i.test(error.message);
44
+ if (!(error instanceof Error))
45
+ return false;
46
+ return error.code === 'ERR_GATEWAY_UNAUTHORIZED'
47
+ || /authentication failed \((401|403)\)/i.test(error.message);
48
+ }
49
+ export function isModeradoCloudOAuthConnection(connection) {
50
+ return connection.id === 'moderado-cloud' && connection.credentialExpiresAt !== undefined;
39
51
  }
40
52
  export function renderConnectionPrompt(label, value, secret = false) {
41
53
  const shown = secret ? '*'.repeat(value.length) : value;
@@ -101,7 +113,7 @@ export function buildConnection(input) {
101
113
  const defaultModel = input.defaultModel?.trim();
102
114
  if (!defaultModel)
103
115
  throw new Error('A default model is required for an OpenAI-compatible provider.');
104
- if (!input.apiKey?.trim() && !['ollama', 'lm-studio'].includes(connectionId(displayName)))
116
+ if (!input.apiKey?.trim() && !['ollama', 'lm-studio', 'moderado-cloud'].includes(connectionId(displayName)))
105
117
  throw new Error('An API key is required.');
106
118
  if (!input.baseUrl?.trim())
107
119
  throw new Error('A base URL is required.');
@@ -124,7 +136,191 @@ export function buildConnection(input) {
124
136
  defaultModel,
125
137
  };
126
138
  }
127
- /** Interactive setup used by /connect and by the first attempted prompt. */
139
+ /** Build a public paid-route profile or a keyed Gateway profile. */
140
+ export function buildModeradoCloudConnection(apiKey, credentialExpiresAt, gatewayUrl) {
141
+ const key = apiKey?.trim();
142
+ if (key && !/^mrd_.+/.test(key))
143
+ throw new Error('Enter a Moderado Cloud key starting with mrd_.');
144
+ const connection = buildConnection({
145
+ kind: 'openai-compatible',
146
+ displayName: 'Moderado Cloud',
147
+ baseUrl: resolveModeradoCloudBaseUrl(process.env.MODERADO_CLOUD_ENV, process.env.MODERADO_CLOUD_BASE_URL ?? gatewayUrl),
148
+ apiKey: key,
149
+ defaultModel: 'auto',
150
+ });
151
+ return credentialExpiresAt === undefined ? connection : { ...connection, credentialExpiresAt };
152
+ }
153
+ function openAuthorizationPage(url) {
154
+ const [program, args] = process.platform === 'win32'
155
+ ? ['rundll32.exe', ['url.dll,FileProtocolHandler', url]]
156
+ : process.platform === 'darwin' ? ['open', [url]] : ['xdg-open', [url]];
157
+ const child = spawn(program, args, { shell: false, detached: true, stdio: 'ignore', windowsHide: true });
158
+ child.on('error', () => process.stderr.write(`Could not open a browser automatically. Visit ${url} to continue Moderado login.\n`));
159
+ child.unref();
160
+ }
161
+ const DEFAULT_BROWSER_LOGIN_TIMEOUT_MS = 5 * 60_000;
162
+ function waitingForBrowserFrame() {
163
+ return renderBoxLines('Moderado Cloud', [
164
+ 'Sign-in page opened in your browser.',
165
+ '',
166
+ 'Complete the sign-in, then return here.',
167
+ 'The CLI resumes automatically once the browser finishes.',
168
+ '',
169
+ '\x1b[38;5;244mPress Esc or Ctrl+C to cancel and go back.\x1b[0m',
170
+ ], 64);
171
+ }
172
+ /**
173
+ * Run the loopback OAuth wait. Closing the browser without finishing sends no
174
+ * callback, so we give the user a visible frame plus an Esc/Ctrl+C cancel and
175
+ * settle every non-success path as `undefined` (never a rejection, which would
176
+ * surface as an unhandled rejection inside the async keypress handler).
177
+ */
178
+ export async function authorizeModeradoCloudInBrowser(signal, options = {}) {
179
+ const stdin = options.stdin ?? process.stdin;
180
+ const openBrowser = options.openBrowser ?? openAuthorizationPage;
181
+ const timeoutMs = options.timeoutMs ?? DEFAULT_BROWSER_LOGIN_TIMEOUT_MS;
182
+ const server = createServer();
183
+ await new Promise((resolve, reject) => {
184
+ server.once('error', reject);
185
+ server.listen(0, '127.0.0.1', () => { server.removeListener('error', reject); resolve(); });
186
+ });
187
+ const address = server.address();
188
+ if (!address || typeof address === 'string') {
189
+ server.close();
190
+ throw new Error('Could not start the Moderado login callback.');
191
+ }
192
+ const request = createModeradoOAuthRequest(`http://127.0.0.1:${address.port}/callback`);
193
+ try {
194
+ const code = await new Promise((resolve, reject) => {
195
+ let settled = false;
196
+ const finish = (value, error) => {
197
+ if (settled)
198
+ return;
199
+ settled = true;
200
+ clearTimeout(timeout);
201
+ stdin.removeListener('keypress', onKeypress);
202
+ signal?.removeEventListener('abort', onAbort);
203
+ error ? reject(error) : resolve(value);
204
+ };
205
+ const onAbort = () => finish(undefined);
206
+ // Raw mode delivers Esc / Ctrl+C as keypresses, not SIGINT, so the only
207
+ // way out is an explicit listener here. Cancel resolves `undefined`.
208
+ const onKeypress = (_str, key) => {
209
+ if (key?.name === 'escape' || (key?.ctrl && key?.name === 'c'))
210
+ finish(undefined);
211
+ };
212
+ const timeout = setTimeout(() => {
213
+ options.drawFrame?.(renderBoxLines('Moderado Cloud', [
214
+ 'Browser sign-in timed out.',
215
+ '',
216
+ 'Run /connect again when you are ready to sign in.',
217
+ ], 64));
218
+ finish(undefined);
219
+ }, timeoutMs);
220
+ signal?.addEventListener('abort', onAbort, { once: true });
221
+ options.drawFrame?.(waitingForBrowserFrame());
222
+ if (stdin && typeof stdin.on === 'function') {
223
+ emitKeypressEvents(stdin);
224
+ stdin.on('keypress', onKeypress);
225
+ }
226
+ server.on('request', (incoming, response) => {
227
+ if (incoming.method !== 'GET') {
228
+ response.writeHead(405).end();
229
+ return;
230
+ }
231
+ let authCode;
232
+ try {
233
+ authCode = validateModeradoOAuthCallback(incoming.url ?? '/', request);
234
+ }
235
+ catch {
236
+ response.writeHead(400, { 'content-type': 'text/plain; charset=utf-8' }).end('Login could not be verified. Return to Moderado CLI and try /connect again.');
237
+ finish(undefined, new Error('Moderado browser login callback could not be verified.'));
238
+ return;
239
+ }
240
+ response.writeHead(200, { 'content-type': 'text/plain; charset=utf-8' }).end('Moderado login complete. You can close this tab.');
241
+ finish(authCode);
242
+ });
243
+ openBrowser(request.authorizationUrl);
244
+ });
245
+ return code ? await exchangeModeradoOAuthCode(code, request, options.tokenFetch) : undefined;
246
+ }
247
+ finally {
248
+ server.close();
249
+ }
250
+ }
251
+ async function chooseModeradoCloudModel(connection, options) {
252
+ if (!options.drawFrame)
253
+ return connection;
254
+ const modelId = await selectCompatibleModelOverlay({
255
+ apiKey: connection.apiKey,
256
+ baseUrl: connection.baseUrl,
257
+ providerId: connection.id,
258
+ providerName: connection.displayName,
259
+ currentModel: connection.defaultModel,
260
+ signal: options.signal,
261
+ drawFrame: options.drawFrame,
262
+ });
263
+ return modelId ? { ...connection, defaultModel: modelId } : connection;
264
+ }
265
+ export async function loginModeradoCloudInteractive(options = {}) {
266
+ const baseUrl = resolveModeradoCloudBaseUrl(process.env.MODERADO_CLOUD_ENV, process.env.MODERADO_CLOUD_BASE_URL ?? options.gatewayUrl);
267
+ let savedConnection;
268
+ const saved = options.savedConnections?.['moderado-cloud'];
269
+ if (saved && options.resolveSavedConnection) {
270
+ try {
271
+ const resolved = await options.resolveSavedConnection(saved);
272
+ if (resolved.apiKey?.trim())
273
+ savedConnection = resolved;
274
+ }
275
+ catch {
276
+ // Keep fresh login methods available when credential storage cannot be read.
277
+ }
278
+ }
279
+ const loginChoices = [
280
+ ...(savedConnection ? [{ label: 'Use saved API key', value: 'saved', description: 'Continue with the saved Moderado Cloud key.' }] : []),
281
+ { label: 'Sign in with browser', value: 'browser', description: `Get a website key for free Gateway routes. Base URL: ${baseUrl}` },
282
+ { label: 'Enter an API key', value: 'manual', description: `Paste a Moderado Cloud key starting with mrd_ for free routes. Base URL: ${baseUrl}` },
283
+ { label: 'Use public Gateway', value: 'public', description: `Browse all routes and use paid routes without a key. Free routes require a website key. Base URL: ${baseUrl}` },
284
+ ];
285
+ const activeName = options.activeConnection?.displayName ?? 'None';
286
+ const title = `Login · Active: ${activeName.slice(0, 28)}`;
287
+ const method = options.drawFrame
288
+ ? await selectListPopup(title, loginChoices, { drawFrame: options.drawFrame, signal: options.signal })
289
+ : (await askSelect(title, loginChoices, 0, { signal: options.signal })).value;
290
+ if (!method || options.signal?.aborted)
291
+ return undefined;
292
+ if (method === 'saved')
293
+ return savedConnection ? chooseModeradoCloudModel(savedConnection, options) : undefined;
294
+ if (method === 'public')
295
+ return chooseModeradoCloudModel(buildModeradoCloudConnection(undefined, undefined, options.gatewayUrl), options);
296
+ if (method === 'browser') {
297
+ try {
298
+ const credential = await authorizeModeradoCloudInBrowser(options.signal, { drawFrame: options.drawFrame });
299
+ return credential ? chooseModeradoCloudModel(buildModeradoCloudConnection(credential.accessToken, credential.expiresAt, options.gatewayUrl), options) : undefined;
300
+ }
301
+ catch (error) {
302
+ // Surface the failure instead of letting it reject into the async keypress
303
+ // handler, where it would become an unhandled rejection and kill the TUI.
304
+ const message = error instanceof Error ? error.message : String(error);
305
+ options.drawFrame?.(renderBoxLines('Moderado Cloud', [message, '', '\x1b[38;5;244mPress Esc to go back.\x1b[0m'], 64));
306
+ return undefined;
307
+ }
308
+ }
309
+ let prompt = 'Moderado Cloud API key (mrd_…)';
310
+ while (!options.signal?.aborted) {
311
+ const apiKey = await askPopupText(prompt, options, true);
312
+ if (!apiKey)
313
+ return undefined;
314
+ try {
315
+ return chooseModeradoCloudModel(buildModeradoCloudConnection(apiKey, undefined, options.gatewayUrl), options);
316
+ }
317
+ catch (error) {
318
+ prompt = `Invalid key: ${error instanceof Error ? error.message : String(error)} Try again`;
319
+ }
320
+ }
321
+ return undefined;
322
+ }
323
+ /** Interactive provider picker for the Gateway, BYOK, and local endpoints. */
128
324
  export async function connectProviderInteractive(options = {}) {
129
325
  const choices = buildProviderPresets(options.connectProviders);
130
326
  const selectedValue = options.drawFrame
@@ -137,6 +333,8 @@ export async function connectProviderInteractive(options = {}) {
137
333
  const selectedPreset = choices.find((item) => item.value === selectedValue);
138
334
  if (!selectedPreset)
139
335
  return undefined;
336
+ if (selectedPreset.value === 'moderado-cloud')
337
+ return loginModeradoCloudInteractive(options);
140
338
  const saved = findReusableConnection(selectedPreset.value, options.savedConnections);
141
339
  if (saved && options.resolveSavedConnection) {
142
340
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"provider_connect.js","sourceRoot":"","sources":["../../src/ui/provider_connect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider_connect.js","sourceRoot":"","sources":["../../src/ui/provider_connect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAsF,MAAM,cAAc,CAAC;AACnK,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAErF,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAgC5H,MAAM,CAAC,MAAM,gBAAgB,GAAqB;IAChD,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,gEAAgE,EAAE;IACrJ,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,sBAAsB,EAAE,WAAW,EAAE,mDAAmD,EAAE;IAC3I,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,8BAA8B,EAAE,WAAW,EAAE,yDAAyD,EAAE;IAC5M,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,gCAAgC,EAAE,WAAW,EAAE,qDAAqD,EAAE;IACpM,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,8BAA8B,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,gDAAgD,EAAE;IACpO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,2BAA2B,EAAE,WAAW,EAAE,sCAAsC,EAAE;IACpK,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,0BAA0B,EAAE,WAAW,EAAE,8CAA8C,EAAE;IACpL,EAAE,KAAK,EAAE,kCAAkC,EAAE,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,uEAAuE,EAAE;CAChK,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAAC,MAA+B;IAClE,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,CAAC;IAChC,MAAM,QAAQ,GAAG,OAAO,KAAK,SAAS;QACpC,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAgC,CAAC,CAAC,CAAC;IACnG,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAkB,EAAE,CAAC,CAAC;QACvE,KAAK,EAAE,QAAQ,CAAC,IAAI;QACpB,KAAK,EAAE,UAAU,QAAQ,CAAC,EAAE,EAAE;QAC9B,GAAG,EAAE,QAAQ;QACb,WAAW,EAAE,QAAQ,CAAC,IAAI;QAC1B,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,WAAW,EAAE,iDAAiD;KAC/D,CAAC,CAAC,CAAC;IACJ,OAAO,CAAC,GAAG,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAA2B,EAAE,WAAgD;IAClH,IAAI,MAAM,KAAK,mBAAmB;QAAE,OAAO,SAAS,CAAC;IACrD,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAClF,OAAO,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAQ,KAAmC,CAAC,IAAI,KAAK,0BAA0B;WAC1E,sCAAsC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,UAA8B;IAC3E,OAAO,UAAU,CAAC,EAAE,KAAK,gBAAgB,IAAI,UAAU,CAAC,mBAAmB,KAAK,SAAS,CAAC;AAC5F,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAa,EAAE,KAAa,EAAE,MAAM,GAAG,KAAK;IACjF,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACxD,OAAO,cAAc,CAAC,kBAAkB,EAAE;QACxC,kBAAkB,KAAK,SAAS;QAChC,EAAE;QACF,6BAA6B,KAAK,iBAAiB;QACnD,EAAE;QACF,kDAAkD;KACnD,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,KAAa,EAAE,OAA+B,EAAE,MAAM,GAAG,KAAK;IACxF,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACvB,OAAO,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,KAAK,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,KAAK,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9H,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,CAAC,MAA0B,EAAQ,EAAE;YAClD,KAAK,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAC7C,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACtD,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,SAAU,CAAC,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QACtF,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,GAAQ,EAAQ,EAAE;YACjD,IAAI,GAAG,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC;gBAAE,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;YACxF,IAAI,GAAG,EAAE,IAAI,KAAK,QAAQ,IAAI,GAAG,EAAE,IAAI,KAAK,OAAO;gBAAE,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACjF,IAAI,GAAG,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;gBAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAAC,MAAM,EAAE,CAAC;gBAAC,OAAO;YAAC,CAAC;YAChF,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;gBAAC,KAAK,IAAI,GAAG,CAAC;gBAAC,MAAM,EAAE,CAAC;YAAC,CAAC;QACjH,CAAC,CAAC;QACF,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACnE,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACjC,MAAM,EAAE,CAAC;IACX,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC;AACnG,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,eAAe,CAAC,KAAsB;IACpD,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAC7E,OAAO;YACL,EAAE,EAAE,YAAY;YAChB,WAAW,EAAE,YAAY;YACzB,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,qCAAqC;YAC9C,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE;SAC5B,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,4BAA4B,CAAC;IAC9E,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;IAChD,IAAI,CAAC,YAAY;QAAE,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACrG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACxJ,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAEvE,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QAAC,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAAC,CAAC;IAC3G,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QACzH,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;IAC7F,CAAC;IAED,OAAO;QACL,EAAE,EAAE,YAAY,CAAC,WAAW,CAAC;QAC7B,WAAW;QACX,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QAC3C,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,SAAS;QACzC,YAAY;KACb,CAAC;AACJ,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,4BAA4B,CAAC,MAAe,EAAE,mBAA4B,EAAE,UAAmB;IAC7G,MAAM,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC;IAC3B,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACnG,MAAM,UAAU,GAAG,eAAe,CAAC;QACjC,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,gBAAgB;QAC7B,OAAO,EAAE,2BAA2B,CAClC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAC9B,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,UAAU,CAClD;QACD,MAAM,EAAE,GAAG;QACX,YAAY,EAAE,MAAM;KACrB,CAAC,CAAC;IACH,OAAO,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,mBAAmB,EAAE,CAAC;AACjG,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAW;IACxC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO;QAClD,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;QACxD,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1E,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACzG,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iDAAiD,GAAG,gCAAgC,CAAC,CAAC,CAAC;IACpI,KAAK,CAAC,KAAK,EAAE,CAAC;AAChB,CAAC;AAgBD,MAAM,gCAAgC,GAAG,CAAC,GAAG,MAAM,CAAC;AAEpD,SAAS,sBAAsB;IAC7B,OAAO,cAAc,CAAC,gBAAgB,EAAE;QACtC,sCAAsC;QACtC,EAAE;QACF,yCAAyC;QACzC,0DAA0D;QAC1D,EAAE;QACF,iEAAiE;KAClE,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,MAAoB,EACpB,UAA+B,EAAE;IAEjC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;IAC7C,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,qBAAqB,CAAC;IACjE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,gCAAgC,CAAC;IAExE,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9F,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IACjC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAAC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAAC,CAAC;IACjI,MAAM,OAAO,GAAG,0BAA0B,CAAC,oBAAoB,OAAO,CAAC,IAAI,WAAW,CAAC,CAAC;IACxF,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,IAAI,OAAO,CAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrE,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,MAAM,MAAM,GAAG,CAAC,KAAc,EAAE,KAAa,EAAQ,EAAE;gBACrD,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,KAAK,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBAC7C,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC9C,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACzC,CAAC,CAAC;YACF,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACxC,wEAAwE;YACxE,qEAAqE;YACrE,MAAM,UAAU,GAAG,CAAC,IAAwB,EAAE,GAAkD,EAAQ,EAAE;gBACxG,IAAI,GAAG,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,IAAI,KAAK,GAAG,CAAC;oBAAE,MAAM,CAAC,SAAS,CAAC,CAAC;YACpF,CAAC,CAAC;YACF,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC9B,OAAO,CAAC,SAAS,EAAE,CAAC,cAAc,CAAC,gBAAgB,EAAE;oBACnD,4BAA4B;oBAC5B,EAAE;oBACF,mDAAmD;iBACpD,EAAE,EAAE,CAAC,CAAC,CAAC;gBACR,MAAM,CAAC,SAAS,CAAC,CAAC;YACpB,CAAC,EAAE,SAAS,CAAC,CAAC;YACd,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3D,OAAO,CAAC,SAAS,EAAE,CAAC,sBAAsB,EAAE,CAAC,CAAC;YAC9C,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;gBAC5C,kBAAkB,CAAC,KAA0B,CAAC,CAAC;gBAC/C,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YACnC,CAAC;YACD,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE;gBAC1C,IAAI,QAAQ,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;oBAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBACzE,IAAI,QAAgB,CAAC;gBACrB,IAAI,CAAC;oBACH,QAAQ,GAAG,6BAA6B,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,EAAE,OAAO,CAAC,CAAC;gBACzE,CAAC;gBAAC,MAAM,CAAC;oBACP,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,2BAA2B,EAAE,CAAC,CAAC,GAAG,CAAC,6EAA6E,CAAC,CAAC;oBAC5J,MAAM,CAAC,SAAS,EAAE,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC,CAAC;oBACvF,OAAO;gBACT,CAAC;gBACD,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,2BAA2B,EAAE,CAAC,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;gBACjI,MAAM,CAAC,QAAQ,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;YACH,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,yBAAyB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/F,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,UAA8B,EAAE,OAA+B;IACrG,IAAI,CAAC,OAAO,CAAC,SAAS;QAAE,OAAO,UAAU,CAAC;IAC1C,MAAM,OAAO,GAAG,MAAM,4BAA4B,CAAC;QACjD,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,UAAU,EAAE,UAAU,CAAC,EAAE;QACzB,YAAY,EAAE,UAAU,CAAC,WAAW;QACpC,YAAY,EAAE,UAAU,CAAC,YAAY;QACrC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;AACzE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAAC,UAAkC,EAAE;IACtF,MAAM,OAAO,GAAG,2BAA2B,CACzC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAC9B,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,OAAO,CAAC,UAAU,CAC1D,CAAC;IACF,IAAI,eAA+C,CAAC;IACpD,MAAM,KAAK,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,gBAAgB,CAAC,CAAC;IAC3D,IAAI,KAAK,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC;QAC5C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAC7D,IAAI,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE;gBAAE,eAAe,GAAG,QAAQ,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,6EAA6E;QAC/E,CAAC;IACH,CAAC;IACD,MAAM,YAAY,GAAG;QACnB,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,6CAA6C,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxI,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,wDAAwD,OAAO,EAAE,EAAE;QACnI,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,4EAA4E,OAAO,EAAE,EAAE;QAClJ,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,qGAAqG,OAAO,EAAE,EAAE;KAC9K,CAAC;IACF,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,EAAE,WAAW,IAAI,MAAM,CAAC;IACnE,MAAM,KAAK,GAAG,mBAAmB,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IAC3D,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS;QAC9B,CAAC,CAAC,MAAM,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;QACtG,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IAChF,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;QAAE,OAAO,SAAS,CAAC;IACzD,IAAI,MAAM,KAAK,OAAO;QAAE,OAAO,eAAe,CAAC,CAAC,CAAC,wBAAwB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChH,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,wBAAwB,CAAC,4BAA4B,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;IAC1I,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,+BAA+B,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;YAC3G,OAAO,UAAU,CAAC,CAAC,CAAC,wBAAwB,CAAC,4BAA4B,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpK,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,2EAA2E;YAC3E,0EAA0E;YAC1E,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO,CAAC,SAAS,EAAE,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,4CAA4C,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACvH,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,IAAI,MAAM,GAAG,gCAAgC,CAAC;IAC9C,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAC9B,IAAI,CAAC;YACH,OAAO,wBAAwB,CAAC,4BAA4B,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;QAChH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,gBAAgB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC;QAC9F,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,8EAA8E;AAC9E,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,UAAkC,EAAE;IACnF,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC/D,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS;QACrC,CAAC,CAAC,MAAM,eAAe,CAAC,kBAAkB,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,yCAAyC,EAAE,CAAC;QAC/J,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,oBAAoB,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1F,IAAI,CAAC,aAAa;QAAE,OAAO,SAAS,CAAC;IAErC,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;QAAE,OAAO,SAAS,CAAC;IAC9C,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC;IAC5E,IAAI,CAAC,cAAc;QAAE,OAAO,SAAS,CAAC;IACtC,IAAI,cAAc,CAAC,KAAK,KAAK,gBAAgB;QAAE,OAAO,6BAA6B,CAAC,OAAO,CAAC,CAAC;IAC7F,MAAM,KAAK,GAAG,sBAAsB,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACrF,IAAI,KAAK,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC;QAC5C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAC7D,IAAI,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,QAAQ,IAAI,KAAK,CAAC,EAAE,KAAK,WAAW,CAAC;gBAAE,OAAO,QAAQ,CAAC;QACtG,CAAC;QAAC,MAAM,CAAC;YACP,oEAAoE;QACtE,CAAC;IACH,CAAC;IACD,IAAI,cAAc,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,gBAAgB,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACnE,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAC9B,OAAO,eAAe,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvH,MAAM,WAAW,GAAG,cAAc,CAAC,WAAW,IAAI,MAAM,YAAY,CAAC,yCAAyC,EAAE,OAAO,CAAC,CAAC;IACzH,IAAI,CAAC,WAAW;QAAE,OAAO,SAAS,CAAC;IACnC,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,IAAI,MAAM,YAAY,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;IACpG,MAAM,MAAM,GAAG,aAAa,KAAK,QAAQ,IAAI,aAAa,KAAK,WAAW;QACxE,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,MAAM,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACjD,IAAI,YAAY,GAAuB,cAAc,CAAC,YAAY,CAAC;IACnE,IAAI,CAAC,YAAY,IAAI,CAAC,aAAa,KAAK,QAAQ,IAAI,aAAa,KAAK,WAAW,IAAI,aAAa,KAAK,YAAY,CAAC,EAAE,CAAC;QACrH,IAAI,CAAC;YACH,2EAA2E;YAC3E,sEAAsE;YACtE,2EAA2E;YAC3E,MAAM,UAAU,GAAG,aAAa,KAAK,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAClG,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,OAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACxF,MAAM,MAAM,GAA0B,UAAU;gBAC9C,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,UAAU,CAAC,CAAC;gBAC5J,CAAC,CAAC,OAAO,CAAC;YACZ,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,WAAW,EAAE,aAAa,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;gBAC7J,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS;oBAC9B,CAAC,CAAC,MAAM,eAAe,CAAC,gBAAgB,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,yCAAyC,EAAE,CAAC;oBAC7J,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,gBAAgB,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;gBACtF,IAAI,CAAC,MAAM;oBAAE,OAAO,SAAS,CAAC;gBAC9B,YAAY,GAAG,MAAM,CAAC;YACxB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,8BAA8B,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,aAAa,KAAK,YAAY,EAAE,CAAC;QACnC,yEAAyE;QACzE,sDAAsD;QACtD,IAAI,UAAU,GAA0B,EAAE,CAAC;QAC3C,IAAI,CAAC;YAAC,UAAU,GAAG,MAAM,yBAAyB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,4BAA4B,CAAC,CAAC;QACxH,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG;gBACd,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACzC,KAAK,EAAE,KAAK,CAAC,EAAE;oBACf,KAAK,EAAE,KAAK,CAAC,EAAE;oBACf,WAAW,EAAE,iBAAiB;iBAC/B,CAAC,CAAC;gBACH,EAAE,KAAK,EAAE,2BAA2B,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,yBAAyB,EAAE;aACpG,CAAC;YACF,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS;gBAC9B,CAAC,CAAC,MAAM,eAAe,CAAC,qBAAqB,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,yCAAyC,EAAE,CAAC;gBAClK,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,qBAAqB,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YAC3F,IAAI,CAAC,MAAM;gBAAE,OAAO,SAAS,CAAC;YAC9B,YAAY,GAAG,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9D,CAAC;IACH,CAAC;IACD,YAAY,GAAG,YAAY,IAAI,MAAM,YAAY,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAC/E,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,IAAI,aAAa,KAAK,QAAQ,IAAI,aAAa,KAAK,WAAW,CAAC,IAAI,CAAC,YAAY;QAAE,OAAO,SAAS,CAAC;IAC5H,MAAM,UAAU,GAAG,eAAe,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;IAC9G,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;AACjE,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAAC,UAA8B,EAAE,UAAkC,EAAE;IACtH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,GAAG,UAAU,CAAC,WAAW,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACtF,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACxD,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { UsageEvent } from '@moderado/contracts';
1
+ import type { GatewayStatusEvent, UsageEvent } from '@moderado/contracts';
2
2
  export interface WelcomeLayoutOptions {
3
3
  model: string;
4
4
  tokens: number;
@@ -137,5 +137,7 @@ export declare function promptInteractiveTurn(options: PromptInteractiveTurnOpti
137
137
  /** A cumulative task snapshot; a request ending does not mean the task ended. */
138
138
  export declare function formatTokenUsage(event: UsageEvent): string;
139
139
  /** Update only the chat status row, preserving the answer/composer cursor. */
140
- export declare function renderChatUsageUpdate(event: UsageEvent, width?: number, budgetStatus?: string): string;
140
+ export declare function renderChatUsageUpdate(event: UsageEvent, width?: number, budgetStatus?: string, usageDetails?: string, terminalHeight?: number, mode?: 'Plan' | 'Execute'): string;
141
+ /** Show trusted, schema-validated Gateway route changes without provider supplied prose. */
142
+ export declare function renderGatewayFallbackUpdate(event: GatewayStatusEvent, width?: number): string;
141
143
  //# sourceMappingURL=welcome.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"welcome.d.ts","sourceRoot":"","sources":["../../src/ui/welcome.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"welcome.d.ts","sourceRoot":"","sources":["../../src/ui/welcome.ts"],"names":[],"mappings":"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"}
@@ -72,30 +72,40 @@ export function renderWelcomeCard(options) {
72
72
  const preserved = content.replace(/\x1b\[0m/g, '\x1b[0;48;5;236m');
73
73
  return surface + preserved + ' '.repeat(Math.max(0, width - visibleLen(content))) + '\x1b[0m';
74
74
  };
75
- // Line 4: model & tokens / cost (left) ... Plan / Execute (Tab) (right)
76
- const outputRate = options.outputTokenRate === undefined || options.tokenUsage ? '' : ` · ${Math.round(options.outputTokenRate)} tok/s`;
75
+ // Line 4: Plan / Execute (Tab) (right)
77
76
  const usageLabel = options.usageAvailable === false ? 'Usage unavailable' : `${options.usageEstimated ? "~" : ""}${options.tokens} tokens`;
78
- const left4Raw = `${options.model} ${usageLabel} / ${options.cost}${outputRate}`;
79
- const left4 = `\x1b[38;5;180m${options.model}\x1b[0m \x1b[38;5;244m${usageLabel} / ${options.cost}${outputRate}\x1b[0m`;
77
+ const processUsage = options.tokenUsage
78
+ ? formatTokenUsage(options.tokenUsage)
79
+ : options.outputTokenRate === undefined ? '' : `${Math.round(options.outputTokenRate)} tok/s`;
80
+ const modeSpace = Math.max(0, width - 1 - (options.mode === 'Plan' ? '[Plan] / Execute (Tab)' : 'Plan / [Execute] (Tab)').length);
81
+ const details = `${usageLabel} / ${options.cost}`;
82
+ const processSuffix = options.chatQuestion ? ` | ${details}${options.budgetStatus ? ` | ${options.budgetStatus}` : ''}` : '';
83
+ const processCapacity = Math.max(0, modeSpace - processSuffix.length);
84
+ const processPrefix = processUsage.length > processCapacity
85
+ ? `${processUsage.slice(0, Math.max(0, processCapacity - 1))}…`.slice(0, processCapacity)
86
+ : processUsage;
87
+ const processInfo = options.chatQuestion ? `${processPrefix}${processSuffix}` : details.slice(0, modeSpace);
88
+ const left4 = processInfo ? `\x1b[38;5;244m${processInfo}\x1b[0m` : '';
80
89
  const right4 = options.mode === 'Plan'
81
90
  ? '\x1b[1;38;5;75m[Plan]\x1b[0m / Execute (Tab)'
82
91
  : 'Plan / \x1b[1;38;5;75m[Execute]\x1b[0m (Tab)';
83
92
  const right4Raw = options.mode === 'Plan' ? '[Plan] / Execute (Tab)' : 'Plan / [Execute] (Tab)';
84
- const spaces4Count = Math.max(1, width - left4Raw.length - right4Raw.length);
93
+ const spaces4Count = Math.max(1, width - visibleLen(left4) - right4Raw.length);
85
94
  const line4 = left4 + ' '.repeat(spaces4Count) + right4;
86
- // Line 5: Working directory (left) ... Auto-approve (right)
95
+ // Line 5: Working directory (left) ... model and Auto-approve (right)
87
96
  const shortWs = options.workspace.length > 36
88
97
  ? '...' + options.workspace.slice(-33)
89
98
  : options.workspace;
90
99
  const left5 = `\x1b[38;5;245m${shortWs}\x1b[0m`;
91
- const right5 = options.autoApprove
100
+ const approvalLabel = options.autoApprove
92
101
  ? '\x1b[38;5;114mAuto-approve enabled (Shift+Tab)\x1b[0m'
93
102
  : '\x1b[38;5;242mAuto-approve off (Shift+Tab)\x1b[0m';
94
- const right5Raw = options.autoApprove
103
+ const approvalLabelRaw = options.autoApprove
95
104
  ? 'Auto-approve enabled (Shift+Tab)'
96
105
  : 'Auto-approve off (Shift+Tab)';
97
- const spaces5Count = Math.max(1, width - shortWs.length - right5Raw.length);
98
- const line5 = left5 + ' '.repeat(spaces5Count) + right5;
106
+ const modelLabel = `\x1b[38;5;180m${options.model}\x1b[0m`;
107
+ const spaces5Count = Math.max(1, width - shortWs.length - options.model.length - approvalLabelRaw.length - 2);
108
+ const line5 = left5 + ' '.repeat(spaces5Count) + modelLabel + ' ' + approvalLabel;
99
109
  const cardLines = [];
100
110
  const queuedBox = renderQueuedCommandsBox(options.queuedCommands ?? [], width);
101
111
  if (queuedBox.length > 0) {
@@ -114,7 +124,7 @@ export function renderWelcomeCard(options) {
114
124
  return cardLines.join('\n');
115
125
  }
116
126
  export const SLASH_COMMANDS = [
117
- { name: '/connect', desc: 'Connect a model provider' },
127
+ { name: '/connect', desc: 'Choose a Gateway, hosted, or local provider' },
118
128
  { name: '/model', desc: 'Switch active AI model' },
119
129
  { name: '/init', desc: 'Scaffold AGENTS.md from workspace scan' },
120
130
  { name: '/btw', desc: 'Ask an ephemeral side question (no session pollution)' },
@@ -239,7 +249,8 @@ export function renderChatScreen(options, height) {
239
249
  lines.push(String.fromCharCode(27) + '[48;5;236m' + questionText + ' '.repeat(Math.max(0, width - visibleLen(questionText))) + String.fromCharCode(27) + '[0m');
240
250
  const thoughtTime = options.chatThoughtTime ?? 0;
241
251
  const thoughtTimeLabel = thoughtTime > 0 && thoughtTime < 1 ? '<1s' : `${Math.round(thoughtTime)}s`;
242
- lines.push(options.tokenUsage ? `\x1b[38;5;244m${(formatTokenUsage(options.tokenUsage) + (options.budgetStatus ? ` | ${options.budgetStatus}` : '')).slice(0, Math.max(0, terminalWidth - 1))}\x1b[0m` : options.chatAnswer?.trim() ? `\x1b[38;5;244mThought for ${thoughtTimeLabel}\x1b[0m` : '');
252
+ const chatStatus = !options.tokenUsage && options.chatAnswer?.trim() ? `Thought for ${thoughtTimeLabel}` : '';
253
+ lines.push(chatStatus ? `\x1b[38;5;244m${chatStatus.slice(0, Math.max(0, terminalWidth - 1))}\x1b[0m` : '');
243
254
  // Answer section: multi-line model answer
244
255
  if (options.chatAnswer && options.chatAnswer.trim().length > 0) {
245
256
  lines.push('');
@@ -337,7 +348,7 @@ export function renderHelpPopupBox(version, workspace, width) {
337
348
  '\x1b[1;38;5;75mSlash Commands:\x1b[0m',
338
349
  '\x1b[1m/init\x1b[0m Scaffold AGENTS.md from workspace scan',
339
350
  '\x1b[1m/model\x1b[0m Switch active AI model (Free, Paid, or Custom)',
340
- '\x1b[1m/connect\x1b[0m Connect NVIDIA NIM or another compatible provider',
351
+ '\x1b[1m/connect\x1b[0m Choose a Gateway, hosted, or local provider',
341
352
  '\x1b[1m/btw\x1b[0m Ask an ephemeral side question (no session pollution)',
342
353
  '\x1b[1m/mcp\x1b[0m Manage local MCP servers',
343
354
  '\x1b[1m/session\x1b[0m Create, resume, undo, redo, share, export, or compact sessions',
@@ -662,6 +673,7 @@ export async function promptInteractiveTurn(options) {
662
673
  }
663
674
  // Selection flow left stdin in non-raw mode — restore it for our TUI
664
675
  readline.emitKeypressEvents(stdin);
676
+ stdin.resume();
665
677
  stdin.setRawMode(true);
666
678
  stdout.write('\x1b[H\x1b[J');
667
679
  stdout.write(renderCenteredWelcomeScreen(getOptions(), stdout.rows));
@@ -1001,9 +1013,27 @@ export function formatTokenUsage(event) {
1001
1013
  return `Input ${marker}${promptTokens} | Output ${marker}${completionTokens} | Total ${marker}${totalTokens}${rate}`;
1002
1014
  }
1003
1015
  /** Update only the chat status row, preserving the answer/composer cursor. */
1004
- export function renderChatUsageUpdate(event, width = process.stdout.columns || 80, budgetStatus) {
1005
- const text = (formatTokenUsage(event) + (budgetStatus ? ` | ${budgetStatus}` : '')).slice(0, Math.max(0, width - 1));
1006
- const row = renderModeradoHeader().split("\n").length + 3;
1016
+ export function renderChatUsageUpdate(event, width = process.stdout.columns || 80, budgetStatus, usageDetails, terminalHeight = process.stdout.rows || 24, mode) {
1017
+ const usageText = formatTokenUsage(event);
1018
+ const suffix = `${usageDetails ? ` | ${usageDetails}` : ''}${budgetStatus ? ` | ${budgetStatus}` : ''}`;
1019
+ const modeLabel = mode === 'Plan' ? '\x1b[1;38;5;75m[Plan]\x1b[0m / Execute (Tab)' : 'Plan / \x1b[1;38;5;75m[Execute]\x1b[0m (Tab)';
1020
+ const modeText = mode === 'Plan' ? '[Plan] / Execute (Tab)' : 'Plan / [Execute] (Tab)';
1021
+ const rowWidth = Math.max(0, width - 1);
1022
+ const textLimit = Math.max(0, rowWidth - (mode ? modeText.length + 1 : 0));
1023
+ const usageLimit = Math.max(0, textLimit - suffix.length);
1024
+ const clippedUsage = mode && usageText.length > usageLimit
1025
+ ? `${usageText.slice(0, Math.max(0, usageLimit - 1))}…`.slice(0, usageLimit)
1026
+ : usageText;
1027
+ const text = `${clippedUsage}${suffix}`.slice(0, textLimit);
1028
+ const row = Math.max(1, terminalHeight - 2);
1029
+ return `\x1b7\x1b[${row};1H\r\x1b[K\x1b[38;5;244m${text}\x1b[0m${mode ? `${' '.repeat(Math.max(1, rowWidth - text.length - modeText.length))}${modeLabel}` : ''}\x1b8`;
1030
+ }
1031
+ /** Show trusted, schema-validated Gateway route changes without provider supplied prose. */
1032
+ export function renderGatewayFallbackUpdate(event, width = process.stdout.columns || 80) {
1033
+ const destination = event.toProvider ? `${event.toProvider}/${event.toModel}` : event.toModel;
1034
+ const reason = event.reason === 'rate_limited_or_unavailable' ? 'after an upstream route was rate limited or unavailable' : 'after a fallback';
1035
+ const text = `Gateway route changed to ${destination} ${reason}`.slice(0, Math.max(0, width - 1));
1036
+ const row = renderModeradoHeader().split('\n').length + 3;
1007
1037
  return `\x1b7\x1b[${row};1H\r\x1b[K\x1b[38;5;244m${text}\x1b[0m\x1b8`;
1008
1038
  }
1009
1039
  //# sourceMappingURL=welcome.js.map