moderado 0.4.28 → 0.4.34

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 (77) hide show
  1. package/README.md +88 -68
  2. package/dist/args.d.ts.map +1 -1
  3. package/dist/args.js +6 -2
  4. package/dist/args.js.map +1 -1
  5. package/dist/commands/chat.d.ts +6 -0
  6. package/dist/commands/chat.d.ts.map +1 -1
  7. package/dist/commands/chat.js +161 -59
  8. package/dist/commands/chat.js.map +1 -1
  9. package/dist/commands/models.d.ts.map +1 -1
  10. package/dist/commands/models.js +14 -12
  11. package/dist/commands/models.js.map +1 -1
  12. package/dist/commands/run.d.ts +11 -0
  13. package/dist/commands/run.d.ts.map +1 -1
  14. package/dist/commands/run.js +25 -8
  15. package/dist/commands/run.js.map +1 -1
  16. package/dist/config.d.ts +2 -1
  17. package/dist/config.d.ts.map +1 -1
  18. package/dist/config.js +50 -19
  19. package/dist/config.js.map +1 -1
  20. package/dist/http_shutdown.d.ts +22 -0
  21. package/dist/http_shutdown.d.ts.map +1 -0
  22. package/dist/http_shutdown.js +36 -0
  23. package/dist/http_shutdown.js.map +1 -0
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +16 -1
  26. package/dist/index.js.map +1 -1
  27. package/dist/self_update.d.ts +6 -0
  28. package/dist/self_update.d.ts.map +1 -1
  29. package/dist/self_update.js +17 -1
  30. package/dist/self_update.js.map +1 -1
  31. package/dist/sessions.d.ts.map +1 -1
  32. package/dist/sessions.js +6 -1
  33. package/dist/sessions.js.map +1 -1
  34. package/dist/ui/box.d.ts +6 -0
  35. package/dist/ui/box.d.ts.map +1 -1
  36. package/dist/ui/box.js +33 -1
  37. package/dist/ui/box.js.map +1 -1
  38. package/dist/ui/file_mentions.js +18 -9
  39. package/dist/ui/file_mentions.js.map +1 -1
  40. package/dist/ui/model_selector.d.ts.map +1 -1
  41. package/dist/ui/model_selector.js +6 -4
  42. package/dist/ui/model_selector.js.map +1 -1
  43. package/dist/ui/popup.d.ts.map +1 -1
  44. package/dist/ui/popup.js +10 -3
  45. package/dist/ui/popup.js.map +1 -1
  46. package/dist/ui/provider_connect.d.ts +13 -4
  47. package/dist/ui/provider_connect.d.ts.map +1 -1
  48. package/dist/ui/provider_connect.js +37 -29
  49. package/dist/ui/provider_connect.js.map +1 -1
  50. package/dist/ui/welcome.d.ts +25 -3
  51. package/dist/ui/welcome.d.ts.map +1 -1
  52. package/dist/ui/welcome.js +69 -25
  53. package/dist/ui/welcome.js.map +1 -1
  54. package/dist/vendor/contracts/provider.js +8 -8
  55. package/dist/vendor/contracts/provider.js.map +1 -1
  56. package/dist/vendor/core/agent.d.ts.map +1 -1
  57. package/dist/vendor/core/agent.js +6 -3
  58. package/dist/vendor/core/agent.js.map +1 -1
  59. package/dist/vendor/providers/model_discovery.js +1 -1
  60. package/dist/vendor/providers/model_discovery.js.map +1 -1
  61. package/dist/vendor/providers/nvidia/nvidia_adapter.d.ts +1 -1
  62. package/dist/vendor/providers/nvidia/nvidia_adapter.d.ts.map +1 -1
  63. package/dist/vendor/providers/nvidia/nvidia_adapter.js +4 -4
  64. package/dist/vendor/providers/nvidia/nvidia_adapter.js.map +1 -1
  65. package/dist/vendor/providers/nvidia/sse_parser.d.ts +1 -0
  66. package/dist/vendor/providers/nvidia/sse_parser.d.ts.map +1 -1
  67. package/dist/vendor/providers/nvidia/sse_parser.js +2 -1
  68. package/dist/vendor/providers/nvidia/sse_parser.js.map +1 -1
  69. package/dist/vendor/providers/presets.d.ts +12 -4
  70. package/dist/vendor/providers/presets.d.ts.map +1 -1
  71. package/dist/vendor/providers/presets.js +24 -15
  72. package/dist/vendor/providers/presets.js.map +1 -1
  73. package/package.json +26 -8
  74. package/dist/commands/interactive_menu.d.ts +0 -3
  75. package/dist/commands/interactive_menu.d.ts.map +0 -1
  76. package/dist/commands/interactive_menu.js +0 -98
  77. package/dist/commands/interactive_menu.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { freeModelPolicyFor, resolveModeradoCloudBaseUrl } from '../config.js';
1
+ import { freeModelPolicyFor, resolveModeradoBaseUrl } 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';
@@ -9,11 +9,9 @@ import { spawn } from 'node:child_process';
9
9
  import { emitKeypressEvents } from 'node:readline';
10
10
  import { createModeradoOAuthRequest, exchangeModeradoOAuthCode, validateModeradoOAuthCallback } from '../moderado_oauth.js';
11
11
  export const PROVIDER_PRESETS = [
12
- { label: 'Moderado Gateway', value: 'moderado-cloud', tag: 'Free Models', description: 'Use browser sign-in, a saved key, a new key, or public access.' },
13
- { label: 'NVIDIA NIM', value: 'nvidia-nim', tag: 'Default · Free-first', displayName: 'NVIDIA NIM', baseUrl: 'https://integrate.api.nvidia.com/v1', description: 'Use NVIDIA NIM with automatic free-model routing.' },
14
- { 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.' },
15
- { 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.' },
16
- { label: 'OrcaRouter', value: 'orcarouter', tag: 'Free Models', displayName: 'OrcaRouter', baseUrl: 'https://api.orcarouter.ai/v1', defaultModel: 'orcarouter/free', description: 'Connect OrcaRouter for adaptive model routing.' },
12
+ { label: 'Moderado', value: 'moderado', tag: 'Free Models', description: 'Use browser sign-in, a saved key, a new key, or public access.' },
13
+ { label: 'NVIDIA NIM', value: 'nvidia-nim', tag: 'BYOK', displayName: 'NVIDIA NIM', baseUrl: 'https://integrate.api.nvidia.com/v1', description: 'Use NVIDIA NIM with automatic free-model routing.' },
14
+ { label: 'OpenRouter', value: 'openrouter', tag: 'BYOK', displayName: 'OpenRouter', baseUrl: 'https://openrouter.ai/api/v1', description: 'Connect your OpenRouter key to access models.' },
17
15
  { label: 'Ollama', value: 'ollama', tag: 'Local', displayName: 'Ollama', baseUrl: 'http://127.0.0.1:11434/v1', description: 'Use models served locally by Ollama.' },
18
16
  { label: 'LM Studio', value: 'lm-studio', tag: 'Local', displayName: 'LM Studio', baseUrl: 'http://127.0.0.1:1234/v1', description: 'Use models served by LM Studio local server.' },
19
17
  { label: 'Other OpenAI-compatible provider', value: 'openai-compatible', description: 'Connect any compatible endpoint with its base URL, key, and model ID.' },
@@ -40,15 +38,19 @@ export function findReusableConnection(preset, connections) {
40
38
  const id = preset.startsWith('custom:') ? preset.slice('custom:'.length) : preset;
41
39
  return connections?.[id];
42
40
  }
41
+ /** Accepts a thrown error or the `{ code, message }` error event the agent loop emits. */
43
42
  export function isAuthenticationFailure(error) {
44
- if (!(error instanceof Error))
43
+ if (typeof error !== 'object' || error === null)
45
44
  return false;
46
- return error.code === 'ERR_GATEWAY_UNAUTHORIZED'
47
- || /authentication failed \((401|403)\)/i.test(error.message);
45
+ const { code, message } = error;
46
+ return code === 'ERR_GATEWAY_UNAUTHORIZED'
47
+ || (typeof message === 'string' && /authentication failed \((401|403)\)/i.test(message));
48
48
  }
49
- export function isModeradoCloudOAuthConnection(connection) {
50
- return connection.id === 'moderado-cloud' && connection.credentialExpiresAt !== undefined;
49
+ export function isModeradoOAuthConnection(connection) {
50
+ return (connection.id === 'moderado' || connection.id === 'moderado-cloud') && connection.credentialExpiresAt !== undefined;
51
51
  }
52
+ /** @deprecated Use isModeradoOAuthConnection. */
53
+ export const isModeradoCloudOAuthConnection = isModeradoOAuthConnection;
52
54
  export function renderConnectionPrompt(label, value, secret = false) {
53
55
  const shown = secret ? '*'.repeat(value.length) : value;
54
56
  return renderBoxLines('Connect Provider', [
@@ -123,7 +125,7 @@ export function buildConnection(input) {
123
125
  const defaultModel = input.defaultModel?.trim();
124
126
  if (!defaultModel)
125
127
  throw new Error('A default model is required for an OpenAI-compatible provider.');
126
- if (!input.apiKey?.trim() && !['ollama', 'lm-studio', 'moderado-cloud'].includes(connectionId(displayName)))
128
+ if (!input.apiKey?.trim() && !['ollama', 'lm-studio', 'moderado'].includes(connectionId(displayName)))
127
129
  throw new Error('An API key is required.');
128
130
  if (!input.baseUrl?.trim())
129
131
  throw new Error('A base URL is required.');
@@ -153,19 +155,21 @@ function validateProviderBaseUrl(value) {
153
155
  return url.toString().replace(/\/+$/, '');
154
156
  }
155
157
  /** Build a public paid-route profile or a keyed Gateway profile. */
156
- export function buildModeradoCloudConnection(apiKey, credentialExpiresAt, gatewayUrl) {
158
+ export function buildModeradoConnection(apiKey, credentialExpiresAt, gatewayUrl) {
157
159
  const key = apiKey?.trim();
158
160
  if (key && !/^mrd_.+/.test(key))
159
- throw new Error('Enter a Moderado Cloud key starting with mrd_.');
161
+ throw new Error('Enter a Moderado key starting with mrd_.');
160
162
  const connection = buildConnection({
161
163
  kind: 'openai-compatible',
162
- displayName: 'Moderado Cloud',
163
- baseUrl: gatewayUrl ?? resolveModeradoCloudBaseUrl(process.env.MODERADO_CLOUD_ENV, process.env.MODERADO_CLOUD_BASE_URL),
164
+ displayName: 'Moderado',
165
+ baseUrl: gatewayUrl ?? resolveModeradoBaseUrl(process.env.MODERADO_ENV ?? process.env.MODERADO_CLOUD_ENV, process.env.MODERADO_BASE_URL ?? process.env.MODERADO_CLOUD_BASE_URL),
164
166
  apiKey: key,
165
167
  defaultModel: 'auto',
166
168
  });
167
169
  return credentialExpiresAt === undefined ? connection : { ...connection, credentialExpiresAt };
168
170
  }
171
+ /** @deprecated Use buildModeradoConnection. */
172
+ export const buildModeradoCloudConnection = buildModeradoConnection;
169
173
  function openAuthorizationPage(url) {
170
174
  const [program, args] = process.platform === 'win32'
171
175
  ? ['rundll32.exe', ['url.dll,FileProtocolHandler', url]]
@@ -176,7 +180,7 @@ function openAuthorizationPage(url) {
176
180
  }
177
181
  const DEFAULT_BROWSER_LOGIN_TIMEOUT_MS = 5 * 60_000;
178
182
  function waitingForBrowserFrame() {
179
- return renderBoxLines('Moderado Cloud', [
183
+ return renderBoxLines('Moderado', [
180
184
  'Sign-in page opened in your browser.',
181
185
  '',
182
186
  'Complete the sign-in, then return here.',
@@ -191,7 +195,7 @@ function waitingForBrowserFrame() {
191
195
  * settle every non-success path as `undefined` (never a rejection, which would
192
196
  * surface as an unhandled rejection inside the async keypress handler).
193
197
  */
194
- export async function authorizeModeradoCloudInBrowser(signal, options = {}) {
198
+ export async function authorizeModeradoInBrowser(signal, options = {}) {
195
199
  const stdin = options.stdin ?? process.stdin;
196
200
  const openBrowser = options.openBrowser ?? openAuthorizationPage;
197
201
  const timeoutMs = options.timeoutMs ?? DEFAULT_BROWSER_LOGIN_TIMEOUT_MS;
@@ -226,7 +230,7 @@ export async function authorizeModeradoCloudInBrowser(signal, options = {}) {
226
230
  finish(undefined);
227
231
  };
228
232
  const timeout = setTimeout(() => {
229
- options.drawFrame?.(renderBoxLines('Moderado Cloud', [
233
+ options.drawFrame?.(renderBoxLines('Moderado', [
230
234
  'Browser sign-in timed out.',
231
235
  '',
232
236
  'Run /connect again when you are ready to sign in.',
@@ -264,7 +268,9 @@ export async function authorizeModeradoCloudInBrowser(signal, options = {}) {
264
268
  server.close();
265
269
  }
266
270
  }
267
- async function chooseModeradoCloudModel(connection, options) {
271
+ /** @deprecated Use authorizeModeradoInBrowser. */
272
+ export const authorizeModeradoCloudInBrowser = authorizeModeradoInBrowser;
273
+ async function chooseModeradoModel(connection, options) {
268
274
  if (!options.drawFrame)
269
275
  return connection;
270
276
  const modelId = await selectCompatibleModelOverlay({
@@ -278,12 +284,12 @@ async function chooseModeradoCloudModel(connection, options) {
278
284
  });
279
285
  return modelId ? { ...connection, defaultModel: modelId } : connection;
280
286
  }
281
- export async function loginModeradoCloudInteractive(options = {}) {
287
+ export async function loginModeradoInteractive(options = {}) {
282
288
  const modes = [
283
- { label: 'Prod Mode', value: 'production', description: 'https://mod.alfazen.org/v1' },
289
+ { label: 'Prod Mode', value: 'production', description: 'https://modr.alfazen.org/v1' },
284
290
  { label: 'Dev Mode', value: 'development', description: 'http://127.0.0.1:4788/v1' },
285
291
  ];
286
- if (process.env.MODERADO_CLOUD_ENV === 'development')
292
+ if ((process.env.MODERADO_ENV ?? process.env.MODERADO_CLOUD_ENV) === 'development')
287
293
  modes.reverse();
288
294
  const defaultMode = 0;
289
295
  const selectedMode = options.drawFrame
@@ -291,12 +297,12 @@ export async function loginModeradoCloudInteractive(options = {}) {
291
297
  : (await askSelect('Moderado Gateway Mode', modes, defaultMode, { signal: options.signal })).value;
292
298
  if (!selectedMode || options.signal?.aborted)
293
299
  return undefined;
294
- const baseUrl = resolveModeradoCloudBaseUrl(selectedMode, process.env.MODERADO_CLOUD_BASE_URL);
300
+ const baseUrl = resolveModeradoBaseUrl(selectedMode, process.env.MODERADO_BASE_URL ?? process.env.MODERADO_CLOUD_BASE_URL);
295
301
  const enteredBaseUrl = await askProviderBaseUrl('Moderado Gateway Base URL', baseUrl, options);
296
302
  if (!enteredBaseUrl)
297
303
  return undefined;
298
304
  let savedConnection;
299
- const saved = options.savedConnections?.['moderado-cloud'];
305
+ const saved = options.savedConnections?.moderado ?? options.savedConnections?.['moderado-cloud'];
300
306
  if (saved) {
301
307
  try {
302
308
  const resolved = options.resolveSavedConnection ? await options.resolveSavedConnection(saved) : saved;
@@ -315,8 +321,8 @@ export async function loginModeradoCloudInteractive(options = {}) {
315
321
  return undefined;
316
322
  try {
317
323
  const credentialExpiresAt = apiKey === savedConnection?.apiKey ? savedConnection.credentialExpiresAt : undefined;
318
- const connection = buildModeradoCloudConnection(apiKey || undefined, credentialExpiresAt, enteredBaseUrl);
319
- return chooseModeradoCloudModel(connection, options);
324
+ const connection = buildModeradoConnection(apiKey || undefined, credentialExpiresAt, enteredBaseUrl);
325
+ return chooseModeradoModel(connection, options);
320
326
  }
321
327
  catch (error) {
322
328
  prompt = `Invalid key: ${error instanceof Error ? error.message : String(error)} Try again`;
@@ -325,6 +331,8 @@ export async function loginModeradoCloudInteractive(options = {}) {
325
331
  }
326
332
  return undefined;
327
333
  }
334
+ /** @deprecated Use loginModeradoInteractive. */
335
+ export const loginModeradoCloudInteractive = loginModeradoInteractive;
328
336
  async function askProviderBaseUrl(label, initialValue, options) {
329
337
  while (!options.signal?.aborted) {
330
338
  const value = await askPopupText(label, options, false, initialValue);
@@ -353,8 +361,8 @@ export async function connectProviderInteractive(options = {}) {
353
361
  const selectedPreset = choices.find((item) => item.value === selectedValue);
354
362
  if (!selectedPreset)
355
363
  return undefined;
356
- if (selectedPreset.value === 'moderado-cloud')
357
- return loginModeradoCloudInteractive(options);
364
+ if (selectedPreset.value === 'moderado')
365
+ return loginModeradoInteractive(options);
358
366
  const saved = findReusableConnection(selectedPreset.value, options.savedConnections);
359
367
  if (saved && options.resolveSavedConnection) {
360
368
  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,sBAAsB,EAAsF,MAAM,cAAc,CAAC;AAC9J,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,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,WAAW,EAAE,gEAAgE,EAAE;IAC3I,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,qCAAqC,EAAE,WAAW,EAAE,mDAAmD,EAAE;IACtM,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,8BAA8B,EAAE,WAAW,EAAE,+CAA+C,EAAE;IAC3L,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,0FAA0F;AAC1F,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAA6C,CAAC;IACxE,OAAO,IAAI,KAAK,0BAA0B;WACrC,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,sCAAsC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,UAA8B;IACtE,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,UAAU,IAAI,UAAU,CAAC,EAAE,KAAK,gBAAgB,CAAC,IAAI,UAAU,CAAC,mBAAmB,KAAK,SAAS,CAAC;AAC9H,CAAC;AAED,iDAAiD;AACjD,MAAM,CAAC,MAAM,8BAA8B,GAAG,yBAAyB,CAAC;AAExE,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,yEAAyE;KAC1E,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,KAAa,EAAE,OAA+B,EAAE,MAAM,GAAG,KAAK,EAAE,YAAY,GAAG,EAAE;IAC3G,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,iBAAiB,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAClF,MAAM,MAAM,GAAG,MAAM;YACnB,CAAC,CAAC,MAAM,SAAS,CAAC,GAAG,KAAK,GAAG,iBAAiB,CAAC,CAAC,CAAC,KAAK,iBAAiB,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;YAChH,CAAC,CAAC,MAAM,WAAW,CAAC,GAAG,KAAK,GAAG,iBAAiB,CAAC,CAAC,CAAC,KAAK,iBAAiB,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACrH,OAAO,MAAM,IAAI,YAAY,CAAC;IAChC,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,IAAI,KAAK,GAAG,YAAY,CAAC;IACzB,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,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;gBAAC,KAAK,GAAG,EAAE,CAAC;gBAAC,MAAM,EAAE,CAAC;gBAAC,OAAO;YAAC,CAAC;YACpE,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,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,OAAO,IAAI,qCAAqC,CAAC,CAAC;QAChG,OAAO;YACL,EAAE,EAAE,YAAY;YAChB,WAAW,EAAE,YAAY;YACzB,IAAI,EAAE,YAAY;YAClB,OAAO;YACP,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,UAAU,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAClJ,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAEvE,OAAO;QACL,EAAE,EAAE,YAAY,CAAC,WAAW,CAAC;QAC7B,WAAW;QACX,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,uBAAuB,CAAC,KAAK,CAAC,OAAO,CAAC;QAC/C,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,SAAS;QACzC,YAAY;KACb,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAa;IAC5C,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QAAC,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAAC,CAAC;IACjH,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;IACD,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAChD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAC1F,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,uBAAuB,CAAC,MAAe,EAAE,mBAA4B,EAAE,UAAmB;IACxG,MAAM,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC;IAC3B,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC7F,MAAM,UAAU,GAAG,eAAe,CAAC;QACjC,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,UAAU;QACvB,OAAO,EAAE,UAAU,IAAI,sBAAsB,CAC3C,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAC1D,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,CACrE;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,+CAA+C;AAC/C,MAAM,CAAC,MAAM,4BAA4B,GAAG,uBAAuB,CAAC;AAEpE,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,UAAU,EAAE;QAChC,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,0BAA0B,CAC9C,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,UAAU,EAAE;oBAC7C,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,kDAAkD;AAClD,MAAM,CAAC,MAAM,+BAA+B,GAAG,0BAA0B,CAAC;AAE1E,KAAK,UAAU,mBAAmB,CAAC,UAA8B,EAAE,OAA+B;IAChG,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,wBAAwB,CAAC,UAAkC,EAAE;IACjF,MAAM,KAAK,GAAG;QACZ,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,6BAA6B,EAAE;QACvF,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,0BAA0B,EAAE;KACrF,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,aAAa;QAAE,KAAK,CAAC,OAAO,EAAE,CAAC;IACpG,MAAM,WAAW,GAAG,CAAC,CAAC;IACtB,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS;QACpC,CAAC,CAAC,MAAM,eAAe,CAAC,uBAAuB,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,yCAAyC,EAAE,CAAC;QAClK,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,uBAAuB,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACrG,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/D,MAAM,OAAO,GAAG,sBAAsB,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAC3H,MAAM,cAAc,GAAG,MAAM,kBAAkB,CAAC,2BAA2B,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/F,IAAI,CAAC,cAAc;QAAE,OAAO,SAAS,CAAC;IACtC,IAAI,eAA+C,CAAC;IACpD,MAAM,KAAK,GAAG,OAAO,CAAC,gBAAgB,EAAE,QAAQ,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,gBAAgB,CAAC,CAAC;IACjG,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACtG,IAAI,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE;gBAAE,eAAe,GAAG,QAAQ,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,0EAA0E;QAC5E,CAAC;IACH,CAAC;IACD,IAAI,MAAM,GAAG,4DAA4D,CAAC;IAC1E,IAAI,UAAU,GAAG,eAAe,EAAE,MAAM,IAAI,EAAE,CAAC;IAC/C,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QACrE,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC3C,IAAI,CAAC;YACH,MAAM,mBAAmB,GAAG,MAAM,KAAK,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC;YACjH,MAAM,UAAU,GAAG,uBAAuB,CAAC,MAAM,IAAI,SAAS,EAAE,mBAAmB,EAAE,cAAc,CAAC,CAAC;YACrG,OAAO,mBAAmB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAClD,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;YAC5F,UAAU,GAAG,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,gDAAgD;AAChD,MAAM,CAAC,MAAM,6BAA6B,GAAG,wBAAwB,CAAC;AAEtE,KAAK,UAAU,kBAAkB,CAAC,KAAa,EAAE,YAAoB,EAAE,OAA+B;IACpG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QACtE,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC7B,IAAI,CAAC;YAAC,OAAO,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAAC,CAAC;QAC9C,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,SAAS,EAAE,CAAC,cAAc,CAAC,kBAAkB,EAAE,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,oEAAoE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAChM,YAAY,GAAG,KAAK,CAAC;QACvB,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,UAAU;QAAE,OAAO,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAClF,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,EAAE,CAAC;gBACnF,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,GAAG,QAAQ,CAAC,WAAW,WAAW,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACxG,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,oEAAoE;QACtE,CAAC;IACH,CAAC;IACD,IAAI,cAAc,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,IAAI,cAAc,CAAC,OAAQ,EAAE,OAAO,CAAC,CAAC;QACpH,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAC/B,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,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAClE,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,MAAM,kBAAkB,CAAC,GAAG,WAAW,WAAW,EAAE,KAAK,EAAE,OAAO,IAAI,cAAc,CAAC,OAAO,IAAI,wBAAwB,EAAE,OAAO,CAAC,CAAC;IACnJ,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,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,6 +1,7 @@
1
1
  import type { GatewayStatusEvent, UsageEvent } from '@moderado/contracts';
2
2
  export interface WelcomeLayoutOptions {
3
3
  model: string;
4
+ provider?: string;
4
5
  tokens: number;
5
6
  cost: string;
6
7
  usageAvailable?: boolean;
@@ -73,11 +74,21 @@ export declare function navigateQuestionHistory(history: string[], direction: -1
73
74
  index: number;
74
75
  draft: string;
75
76
  };
76
- /** Update the fixed chat elapsed-time row without repainting the terminal. */
77
+ export interface ChatActivity {
78
+ /** Leading glyph: a spinner frame while the turn runs, a check when it settles. */
79
+ glyph: string;
80
+ /** What the agent is doing right now, for example `Running run_command`. */
81
+ label: string;
82
+ }
83
+ /**
84
+ * Update the fixed chat elapsed-time row without repainting the terminal.
85
+ * With an activity, the row is a live "still running" indicator that stays
86
+ * visible after text starts streaming and during silent tool execution.
87
+ */
77
88
  export declare function renderChatThoughtTimeUpdate(thoughtTime: number, taskStep?: {
78
89
  step: number;
79
90
  maxSteps: number;
80
- }, width?: number): string;
91
+ }, width?: number, activity?: ChatActivity): string;
81
92
  export interface ChatAnswerPosition {
82
93
  row: number;
83
94
  column: number;
@@ -106,7 +117,17 @@ export declare function renderExitMessage(message: string): string;
106
117
  * screen buffer, disable raw mode, fully clear the OS terminal, print the
107
118
  * farewell message, and terminate the process.
108
119
  */
109
- export declare function exitCleanly(message: string): never;
120
+ /**
121
+ * Exit Moderado cleanly: restore cursor visibility & style, leave the alternate
122
+ * screen buffer, disable raw mode, fully clear the OS terminal, print the
123
+ * farewell message, and let the process end.
124
+ *
125
+ * A hard `process.exit()` here would race the Windows console handle and, with
126
+ * an open undici pool, abort inside libuv (`win/async.c:94`). The farewell is
127
+ * written synchronously, connections are closed, and the returned promise never
128
+ * settles so callers stop while the event loop drains.
129
+ */
130
+ export declare function exitCleanly(message: string): Promise<never>;
110
131
  export interface InteractiveTurnResult {
111
132
  text: string;
112
133
  mode: 'Plan' | 'Execute';
@@ -115,6 +136,7 @@ export interface InteractiveTurnResult {
115
136
  }
116
137
  export interface PromptInteractiveTurnOptions {
117
138
  model: string;
139
+ getProviderName?: () => string | undefined;
118
140
  tokens: number;
119
141
  cost: string;
120
142
  usageAvailable?: boolean;
@@ -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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"}
@@ -1,4 +1,7 @@
1
+ import fs from 'node:fs';
1
2
  import readline from 'node:readline';
3
+ import { displayWidth } from './box.js';
4
+ import { closeHttpConnections } from '../http_shutdown.js';
2
5
  import { overlayCentered, dimLines, shadowUnder } from './popup.js';
3
6
  import { activeMentionToken, filterMentionCandidates } from './file_mentions.js';
4
7
  import { getHelpCommandGroups } from './help_content.js';
@@ -13,9 +16,9 @@ export const COMMAND_HINT = '\x1b[38;5;242mUse \x1b[38;5;75m/\x1b[38;5;242m for
13
16
  export function stripAnsi(str) {
14
17
  return str.replace(/\x1b\[[0-9;]*[a-zA-Z]/g, '');
15
18
  }
16
- /** Visible (ANSI-stripped) length of a line. */
19
+ /** Visible (ANSI-stripped) display width of a line, counting wide glyphs as two cells. */
17
20
  function visibleLen(str) {
18
- return stripAnsi(str).length;
21
+ return displayWidth(str);
19
22
  }
20
23
  function composerInputWindow(input, caret, width) {
21
24
  const capacity = Math.max(1, width - 3);
@@ -113,13 +116,21 @@ export function renderWelcomeCard(options) {
113
116
  const right4Raw = options.mode === 'Plan' ? '[Plan] / Execute (Tab)' : 'Plan / [Execute] (Tab)';
114
117
  const spaces4Count = Math.max(1, width - visibleLen(left4) - right4Raw.length);
115
118
  const line4 = left4 + ' '.repeat(spaces4Count) + right4;
116
- // Line 5: Working directory (left) ... model and Auto-approve (right)
119
+ // Line 5: Working directory (left) ... provider, model, and Auto-approve (right)
117
120
  const approvalLabelRaw = options.autoApprove
118
121
  ? 'Auto-approve enabled (Shift+Tab)'
119
122
  : 'Auto-approve off (Shift+Tab)';
120
123
  const modelSpace = Math.max(8, width - approvalLabelRaw.length - 10);
121
- const shortModel = options.model.length > modelSpace ? '...' + options.model.slice(-(modelSpace - 3)) : options.model;
122
- const workspaceSpace = Math.max(3, width - approvalLabelRaw.length - shortModel.length - 2);
124
+ const provider = options.provider?.trim() ?? '';
125
+ const providerSpace = Math.max(1, modelSpace - 6);
126
+ const shortProvider = provider.length > providerSpace ? provider.slice(0, providerSpace - 1) + '…' : provider;
127
+ const prefix = shortProvider ? `${shortProvider} | ` : '';
128
+ const availableModelSpace = modelSpace - prefix.length;
129
+ const shortModel = options.model.length > availableModelSpace
130
+ ? availableModelSpace > 3 ? '...' + options.model.slice(-(availableModelSpace - 3)) : options.model.slice(-availableModelSpace)
131
+ : options.model;
132
+ const modelText = prefix + shortModel;
133
+ const workspaceSpace = Math.max(3, width - approvalLabelRaw.length - modelText.length - 2);
123
134
  const shortWs = options.workspace.length > workspaceSpace
124
135
  ? '...' + options.workspace.slice(-(workspaceSpace - 3))
125
136
  : options.workspace;
@@ -127,8 +138,8 @@ export function renderWelcomeCard(options) {
127
138
  const approvalLabel = options.autoApprove
128
139
  ? '\x1b[38;5;114mAuto-approve enabled (Shift+Tab)\x1b[0m'
129
140
  : '\x1b[38;5;242mAuto-approve off (Shift+Tab)\x1b[0m';
130
- const modelLabel = `\x1b[38;5;180m${shortModel}\x1b[0m`;
131
- const spaces5Count = Math.max(1, width - shortWs.length - shortModel.length - approvalLabelRaw.length - 1);
141
+ const modelLabel = `\x1b[38;5;180m${modelText}\x1b[0m`;
142
+ const spaces5Count = Math.max(1, width - shortWs.length - modelText.length - approvalLabelRaw.length - 1);
132
143
  const line5 = left5 + ' '.repeat(spaces5Count) + modelLabel + ' ' + approvalLabel;
133
144
  const cardLines = [];
134
145
  const queuedBox = renderQueuedCommandsBox(options.queuedCommands ?? [], width);
@@ -255,18 +266,27 @@ export function wrapText(text, maxWidth) {
255
266
  const out = [];
256
267
  const pushWrapped = (word) => {
257
268
  // A single word longer than the column budget is split so no line overflows.
258
- for (let start = 0; start < word.length; start += maxWidth) {
259
- out.push(word.slice(start, start + maxWidth));
269
+ // Splitting by display width keeps CJK text (one unbroken run of glyphs)
270
+ // inside the card instead of overflowing it by a factor of two.
271
+ let current = '';
272
+ for (const char of word) {
273
+ if (current && displayWidth(current) + displayWidth(char) > maxWidth) {
274
+ out.push(current);
275
+ current = '';
276
+ }
277
+ current += char;
260
278
  }
279
+ if (current)
280
+ out.push(current);
261
281
  };
262
282
  for (const rawLine of text.split('\n')) {
263
- if (rawLine.length <= maxWidth) {
283
+ if (displayWidth(rawLine) <= maxWidth) {
264
284
  out.push(rawLine);
265
285
  continue;
266
286
  }
267
287
  let current = '';
268
288
  for (const word of rawLine.split(' ')) {
269
- if (word.length > maxWidth) {
289
+ if (displayWidth(word) > maxWidth) {
270
290
  if (current.length > 0) {
271
291
  out.push(current);
272
292
  current = '';
@@ -277,7 +297,7 @@ export function wrapText(text, maxWidth) {
277
297
  if (current.length === 0) {
278
298
  current = word;
279
299
  }
280
- else if (current.length + 1 + word.length <= maxWidth) {
300
+ else if (displayWidth(current) + 1 + displayWidth(word) <= maxWidth) {
281
301
  current += ' ' + word;
282
302
  }
283
303
  else {
@@ -344,13 +364,20 @@ export function navigateQuestionHistory(history, direction, index, draft) {
344
364
  const nextIndex = Math.max(0, Math.min(history.length, index + direction));
345
365
  return { input: nextIndex === history.length ? draft : history[nextIndex], index: nextIndex, draft };
346
366
  }
347
- /** Update the fixed chat elapsed-time row without repainting the terminal. */
348
- export function renderChatThoughtTimeUpdate(thoughtTime, taskStep, width) {
367
+ /**
368
+ * Update the fixed chat elapsed-time row without repainting the terminal.
369
+ * With an activity, the row is a live "still running" indicator that stays
370
+ * visible after text starts streaming and during silent tool execution.
371
+ */
372
+ export function renderChatThoughtTimeUpdate(thoughtTime, taskStep, width, activity) {
349
373
  const area = getChatAnswerArea(width);
350
374
  const label = thoughtTime > 0 && thoughtTime < 1 ? '<1s' : `${Math.round(thoughtTime)}s`;
351
- const status = (taskStep && taskStep.maxSteps > 0 && taskStep.step >= 0
352
- ? `Processing task… Step ${taskStep.step}/${taskStep.maxSteps} · ${label}`
353
- : `Thought for ${label}`).slice(0, area.cardWidth);
375
+ const stepText = taskStep && taskStep.maxSteps > 0 && taskStep.step >= 0
376
+ ? `Step ${taskStep.step}/${taskStep.maxSteps}`
377
+ : undefined;
378
+ const status = (activity
379
+ ? [`${activity.glyph} ${activity.label}`, stepText, label].filter(Boolean).join(' · ')
380
+ : stepText ? `Processing task… ${stepText} · ${label}` : `Thought for ${label}`).slice(0, area.cardWidth);
354
381
  return `\x1b7\x1b[13;${area.startColumn}H\x1b[K\x1b[38;5;244m${status}\x1b[0m\x1b8`;
355
382
  }
356
383
  /**
@@ -485,14 +512,27 @@ export function renderExitMessage(message) {
485
512
  * screen buffer, disable raw mode, fully clear the OS terminal, print the
486
513
  * farewell message, and terminate the process.
487
514
  */
488
- export function exitCleanly(message) {
515
+ /**
516
+ * Exit Moderado cleanly: restore cursor visibility & style, leave the alternate
517
+ * screen buffer, disable raw mode, fully clear the OS terminal, print the
518
+ * farewell message, and let the process end.
519
+ *
520
+ * A hard `process.exit()` here would race the Windows console handle and, with
521
+ * an open undici pool, abort inside libuv (`win/async.c:94`). The farewell is
522
+ * written synchronously, connections are closed, and the returned promise never
523
+ * settles so callers stop while the event loop drains.
524
+ */
525
+ export async function exitCleanly(message) {
489
526
  notifyCleanExit();
490
527
  const stdout = process.stdout;
491
- if (stdout.isTTY) {
492
- stdout.write(MOUSE_REPORT_OFF + '\x1b[?25h\x1b[?1049l\x1b[0 q\x1b[0m\x1b[2J\x1b[3J\x1b[H' + renderExitMessage(message));
528
+ const payload = stdout.isTTY
529
+ ? MOUSE_REPORT_OFF + '\x1b[?25h\x1b[?1049l\x1b[0 q\x1b[0m\x1b[2J\x1b[3J\x1b[H' + renderExitMessage(message)
530
+ : renderExitMessage(message);
531
+ try {
532
+ fs.writeSync(1, payload);
493
533
  }
494
- else {
495
- stdout.write(renderExitMessage(message));
534
+ catch {
535
+ stdout.write(payload);
496
536
  }
497
537
  const stdin = process.stdin;
498
538
  if (stdin.isTTY) {
@@ -501,7 +541,10 @@ export function exitCleanly(message) {
501
541
  }
502
542
  catch { /* ignore */ }
503
543
  }
504
- process.exit(0);
544
+ process.exitCode = 0;
545
+ await closeHttpConnections();
546
+ setTimeout(() => process.exit(0), 2000).unref();
547
+ return new Promise(() => { });
505
548
  }
506
549
  function isMcpCommandInput(value) {
507
550
  const command = value.trim();
@@ -559,6 +602,7 @@ export async function promptInteractiveTurn(options) {
559
602
  };
560
603
  const getOptions = () => ({
561
604
  model: currentModel,
605
+ provider: options.getProviderName?.(),
562
606
  tokens: options.tokens,
563
607
  cost: options.cost,
564
608
  usageAvailable: options.usageAvailable,
@@ -705,7 +749,7 @@ export async function promptInteractiveTurn(options) {
705
749
  // ── Ctrl+C ────────────────────────────────────────────────────────────
706
750
  if (key && key.ctrl && key.name === 'c') {
707
751
  cleanup();
708
- exitCleanly('\x1b[33mSession cancelled.\x1b[0m');
752
+ return await exitCleanly('\x1b[33mSession cancelled.\x1b[0m');
709
753
  }
710
754
  // ── /help overlay popup ───────────────────────────────────────────────
711
755
  // Triggered when Enter is pressed with "/help" already in the input box.
@@ -960,7 +1004,7 @@ export async function promptInteractiveTurn(options) {
960
1004
  cleanup();
961
1005
  if (options.signal)
962
1006
  options.signal.removeEventListener('abort', onAbort);
963
- exitCleanly(options.onExit?.() ?? '\x1b[32mGoodbye! Stay Tuned with Moderado!\x1b[0m');
1007
+ return await exitCleanly(options.onExit?.() ?? '\x1b[32mGoodbye! Stay Tuned with Moderado!\x1b[0m');
964
1008
  }
965
1009
  // ── Normal keys ───────────────────────────────────────────────────────
966
1010
  if (!key) {