moderado 0.3.4 → 0.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/dist/budget.d.ts +6 -0
  2. package/dist/budget.d.ts.map +1 -0
  3. package/dist/budget.js +25 -0
  4. package/dist/budget.js.map +1 -0
  5. package/dist/commands/chat.d.ts +5 -1
  6. package/dist/commands/chat.d.ts.map +1 -1
  7. package/dist/commands/chat.js +170 -41
  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 +61 -14
  11. package/dist/commands/models.js.map +1 -1
  12. package/dist/config.d.ts +73 -0
  13. package/dist/config.d.ts.map +1 -1
  14. package/dist/config.js +116 -0
  15. package/dist/config.js.map +1 -1
  16. package/dist/model_pricing.d.ts +14 -1
  17. package/dist/model_pricing.d.ts.map +1 -1
  18. package/dist/model_pricing.js +52 -0
  19. package/dist/model_pricing.js.map +1 -1
  20. package/dist/repo_map.d.ts +3 -0
  21. package/dist/repo_map.d.ts.map +1 -0
  22. package/dist/repo_map.js +29 -0
  23. package/dist/repo_map.js.map +1 -0
  24. package/dist/sessions.d.ts +22 -15
  25. package/dist/sessions.d.ts.map +1 -1
  26. package/dist/sessions.js +16 -1
  27. package/dist/sessions.js.map +1 -1
  28. package/dist/skills.d.ts +2 -2
  29. package/dist/ui/model_selector.d.ts +2 -2
  30. package/dist/ui/model_selector.d.ts.map +1 -1
  31. package/dist/ui/model_selector.js +25 -16
  32. package/dist/ui/model_selector.js.map +1 -1
  33. package/dist/ui/provider_connect.d.ts +6 -3
  34. package/dist/ui/provider_connect.d.ts.map +1 -1
  35. package/dist/ui/provider_connect.js +41 -14
  36. package/dist/ui/provider_connect.js.map +1 -1
  37. package/dist/ui/renderer.d.ts +4 -0
  38. package/dist/ui/renderer.d.ts.map +1 -1
  39. package/dist/ui/renderer.js +36 -0
  40. package/dist/ui/renderer.js.map +1 -1
  41. package/dist/ui/welcome.d.ts +11 -0
  42. package/dist/ui/welcome.d.ts.map +1 -1
  43. package/dist/ui/welcome.js +38 -20
  44. package/dist/ui/welcome.js.map +1 -1
  45. package/dist/vendor/contracts/events.d.ts +159 -0
  46. package/dist/vendor/contracts/events.d.ts.map +1 -1
  47. package/dist/vendor/contracts/events.js +12 -0
  48. package/dist/vendor/contracts/events.js.map +1 -1
  49. package/dist/vendor/contracts/provider.d.ts +1 -0
  50. package/dist/vendor/contracts/provider.d.ts.map +1 -1
  51. package/dist/vendor/contracts/provider.js +6 -0
  52. package/dist/vendor/contracts/provider.js.map +1 -1
  53. package/dist/vendor/core/agent.d.ts +2 -1
  54. package/dist/vendor/core/agent.d.ts.map +1 -1
  55. package/dist/vendor/core/agent.js +123 -9
  56. package/dist/vendor/core/agent.js.map +1 -1
  57. package/dist/vendor/providers/model_discovery.d.ts +2 -2
  58. package/dist/vendor/providers/model_discovery.d.ts.map +1 -1
  59. package/dist/vendor/providers/model_discovery.js +4 -2
  60. package/dist/vendor/providers/model_discovery.js.map +1 -1
  61. package/dist/vendor/providers/nvidia/nvidia_adapter.d.ts.map +1 -1
  62. package/dist/vendor/providers/nvidia/nvidia_adapter.js +1 -0
  63. package/dist/vendor/providers/nvidia/nvidia_adapter.js.map +1 -1
  64. package/dist/vendor/providers/nvidia/sse_parser.d.ts +2 -1
  65. package/dist/vendor/providers/nvidia/sse_parser.d.ts.map +1 -1
  66. package/dist/vendor/providers/nvidia/sse_parser.js +30 -16
  67. package/dist/vendor/providers/nvidia/sse_parser.js.map +1 -1
  68. package/package.json +1 -1
@@ -2,7 +2,8 @@ import { NvidiaAdapter } from '../vendor/providers/index.js';
2
2
  import { Router } from '../vendor/core/index.js';
3
3
  import { askQuestion, askSelect, askModalChoice } from './prompt.js';
4
4
  import { renderBoxLines, layerPromptBox, selectListPopup, selectConfirmPopup, } from './popup.js';
5
- import { loadConfig, saveConfig, resolveApiKey } from '../config.js';
5
+ import { loadConfig, saveConfig, resolveApiKey, freeModelPolicyFor } from '../config.js';
6
+ import { isFreeModelOption } from '../model_pricing.js';
6
7
  let cachedInventory = null;
7
8
  export function buildModelConnectionRequiredItems() {
8
9
  return [
@@ -25,9 +26,12 @@ export async function showModelConnectionRequired(drawFrame, signal) {
25
26
  hint: 'Enter or Esc close',
26
27
  });
27
28
  }
28
- export function buildCompatibleModelMenuItems(providerName, models, currentModel, allModelsFree = false) {
29
+ export function buildCompatibleModelMenuItems(providerName, models, currentModel, freePolicy) {
29
30
  const items = [];
30
- if (allModelsFree && models.length > 0) {
31
+ if (freePolicy?.freeCatalog && models.length > 0 && models.every(model => isFreeCompatibleModel(model, freePolicy))) {
32
+ // A provider that declares its whole catalog free (Agnes AI) has nothing to
33
+ // filter on, so it offers one entry listing everything rather than a
34
+ // free-vs-paid split that would put every model on the same side.
31
35
  items.push({
32
36
  label: 'Browse available models',
33
37
  value: 'browse',
@@ -36,7 +40,7 @@ export function buildCompatibleModelMenuItems(providerName, models, currentModel
36
40
  });
37
41
  }
38
42
  else {
39
- const freeCount = models.filter(isFreeCompatibleModel).length;
43
+ const freeCount = models.filter((model) => isFreeCompatibleModel(model, freePolicy)).length;
40
44
  if (freeCount > 0) {
41
45
  items.push({ label: 'Browse Free Models', value: 'free', tag: `${freeCount} Free`, description: `No-cost ${providerName} endpoints.` });
42
46
  }
@@ -44,7 +48,7 @@ export function buildCompatibleModelMenuItems(providerName, models, currentModel
44
48
  items.push({
45
49
  label: 'Enter a model ID',
46
50
  value: 'custom',
47
- tag: 'Free',
51
+ tag: 'Manual',
48
52
  description: `Use any ${providerName} model ID, including one not returned by discovery.`,
49
53
  });
50
54
  if (currentModel) {
@@ -62,26 +66,31 @@ export function buildCompatibleModelMenuItems(providerName, models, currentModel
62
66
  });
63
67
  return items;
64
68
  }
65
- function isFreeCompatibleModel(model) {
66
- const prices = Object.values(model.pricing ?? {});
67
- return prices.length > 0 && prices.every((price) => Number.isFinite(Number(price)) && Number(price) === 0);
69
+ function isFreeCompatibleModel(model, policy) {
70
+ // Preset declarations are evidence the catalog cannot supply: Agnes AI
71
+ // publishes no `pricing` and every endpoint is free, while OrcaRouter's free
72
+ // routing endpoints are named for it. A pricing-only test hides both.
73
+ return isFreeModelOption(model, { modelId: model.id, accessTier: 'unknown', toolSupport: 'unknown', source: 'heuristic' }, policy);
68
74
  }
69
- function compatibleModelPopupItem(model, allModelsFree, providerName) {
70
- const isFree = allModelsFree || isFreeCompatibleModel(model);
75
+ function compatibleModelPopupItem(model, providerName, policy) {
76
+ const isFree = isFreeCompatibleModel(model, policy);
71
77
  const price = model.pricing?.prompt;
72
78
  return {
73
79
  label: model.id,
74
80
  value: model.id,
75
- tag: 'Free',
81
+ tag: isFree ? 'Free' : 'Price unknown',
76
82
  description: isFree
77
83
  ? `${providerName} free model`
78
84
  : price
79
85
  ? `${providerName} model · input $${Number(price) * 1_000_000}/M tokens`
80
- : `${providerName} free model`,
86
+ : `${providerName} model · pricing unavailable`,
81
87
  };
82
88
  }
83
89
  export async function selectCompatibleModelOverlay(options) {
84
- const { apiKey, baseUrl, providerId, providerName, currentModel, allModelsFree, signal, drawFrame } = options;
90
+ const { apiKey, baseUrl, providerId, providerName, currentModel, signal, drawFrame } = options;
91
+ // Whether the provider is entirely free is a declared property of the
92
+ // preset, never a provider id hardcoded at the call site.
93
+ const freePolicy = freeModelPolicyFor(providerId);
85
94
  let models = [];
86
95
  try {
87
96
  layerPromptBox(drawFrame, `\x1b[36mQuerying ${providerName} model catalog...\x1b[0m`);
@@ -93,12 +102,12 @@ export async function selectCompatibleModelOverlay(options) {
93
102
  catch {
94
103
  // Explicit model entry remains available when a provider does not expose /models.
95
104
  }
96
- const picked = await selectListPopup(`${providerName} Free Models`, buildCompatibleModelMenuItems(providerName, models, currentModel, allModelsFree), { drawFrame, signal, pageSize: 8, hint: '↑↓ navigate · Enter select · Esc close' });
105
+ const picked = await selectListPopup(`${providerName} Free Models`, buildCompatibleModelMenuItems(providerName, models, currentModel, freePolicy), { drawFrame, signal, pageSize: 8, hint: '↑↓ navigate · Enter select · Esc close' });
97
106
  if (picked === null || picked === 'keep' || picked === 'cancel')
98
107
  return currentModel;
99
108
  if (picked === 'browse' || picked === 'free') {
100
- const visibleModels = allModelsFree ? models : models.filter(isFreeCompatibleModel);
101
- return (await selectListPopup(`${providerName} Free Models`, visibleModels.map((model) => compatibleModelPopupItem(model, allModelsFree ?? false, providerName)), { drawFrame, signal, filterable: true, pageSize: 10, hint: 'type to filter · ↑↓ navigate · Enter select · Esc close' })) ?? currentModel;
109
+ const visibleModels = models.filter((model) => isFreeCompatibleModel(model, freePolicy));
110
+ return (await selectListPopup(`${providerName} Free Models`, visibleModels.map((model) => compatibleModelPopupItem(model, providerName, freePolicy)), { drawFrame, signal, filterable: true, pageSize: 10, hint: 'type to filter · ↑↓ navigate · Enter select · Esc close' })) ?? currentModel;
102
111
  }
103
112
  return askCompatibleModelId(providerName, currentModel, drawFrame, signal);
104
113
  }
@@ -1 +1 @@
1
- {"version":3,"file":"model_selector.js","sourceRoot":"","sources":["../../src/ui/model_selector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model_selector.js","sourceRoot":"","sources":["../../src/ui/model_selector.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ProviderConnection } from '../config.js';
1
+ import { type ConnectProvidersConfig, type ProviderConnection, type ConnectProviderPresetId } from '../config.js';
2
2
  export interface ConnectionInput {
3
3
  kind: ProviderConnection['kind'];
4
4
  displayName?: string;
@@ -11,10 +11,12 @@ export interface PopupConnectionOptions {
11
11
  drawFrame?: (popupLines: string[]) => void;
12
12
  savedConnections?: Record<string, ProviderConnection>;
13
13
  resolveSavedConnection?: (connection: ProviderConnection) => Promise<ProviderConnection>;
14
+ connectProviders?: ConnectProvidersConfig;
14
15
  }
16
+ export type ProviderPresetValue = ConnectProviderPresetId | `custom:${string}`;
15
17
  export interface ProviderPreset {
16
18
  label: string;
17
- value: 'nvidia-nim' | 'openrouter' | 'agnes-ai' | 'orcarouter' | 'ollama' | 'lm-studio' | 'openai-compatible';
19
+ value: ProviderPresetValue;
18
20
  description: string;
19
21
  tag?: string;
20
22
  displayName?: string;
@@ -22,7 +24,8 @@ export interface ProviderPreset {
22
24
  defaultModel?: string;
23
25
  }
24
26
  export declare const PROVIDER_PRESETS: ProviderPreset[];
25
- export declare function findReusableConnection(preset: ProviderPreset['value'], connections?: Record<string, ProviderConnection>): ProviderConnection | undefined;
27
+ export declare function buildProviderPresets(config?: ConnectProvidersConfig): ProviderPreset[];
28
+ export declare function findReusableConnection(preset: ProviderPresetValue, connections?: Record<string, ProviderConnection>): ProviderConnection | undefined;
26
29
  export declare function isAuthenticationFailure(error: unknown): boolean;
27
30
  export declare function renderConnectionPrompt(label: string, value: string, secret?: boolean): string[];
28
31
  /** Validate and normalize a profile before it reaches persistent config. */
@@ -1 +1 @@
1
- {"version":3,"file":"provider_connect.d.ts","sourceRoot":"","sources":["../../src/ui/provider_connect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAMlD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC3C,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACtD,sBAAsB,CAAC,EAAE,CAAC,UAAU,EAAE,kBAAkB,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC1F;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,YAAY,GAAG,YAAY,GAAG,UAAU,GAAG,YAAY,GAAG,QAAQ,GAAG,WAAW,GAAG,mBAAmB,CAAC;IAC9G,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,gBAAgB,EAAE,cAAc,EAQ5C,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,kBAAkB,GAAG,SAAS,CAIxJ;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE/D;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,UAAQ,GAAG,MAAM,EAAE,CAS7F;AAiCD,4EAA4E;AAC5E,wBAAgB,eAAe,CAAC,KAAK,EAAE,eAAe,GAAG,kBAAkB,CAgC1E;AAED,4EAA4E;AAC5E,wBAAsB,0BAA0B,CAAC,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAsE9H;AAED,+EAA+E;AAC/E,wBAAsB,6BAA6B,CAAC,UAAU,EAAE,kBAAkB,EAAE,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAGjK"}
1
+ {"version":3,"file":"provider_connect.d.ts","sourceRoot":"","sources":["../../src/ui/provider_connect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,sBAAsB,EAAE,KAAK,kBAAkB,EAAE,KAAK,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAOtI,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC3C,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACtD,sBAAsB,CAAC,EAAE,CAAC,UAAU,EAAE,kBAAkB,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACzF,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;CAC3C;AAED,MAAM,MAAM,mBAAmB,GAAG,uBAAuB,GAAG,UAAU,MAAM,EAAE,CAAC;AAE/E,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,mBAAmB,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,gBAAgB,EAAE,cAAc,EAQ5C,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,sBAAsB,GAAG,cAAc,EAAE,CAetF;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,mBAAmB,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,kBAAkB,GAAG,SAAS,CAIpJ;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE/D;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,UAAQ,GAAG,MAAM,EAAE,CAS7F;AAiCD,4EAA4E;AAC5E,wBAAgB,eAAe,CAAC,KAAK,EAAE,eAAe,GAAG,kBAAkB,CAgC1E;AAED,4EAA4E;AAC5E,wBAAsB,0BAA0B,CAAC,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CA8E9H;AAED,+EAA+E;AAC/E,wBAAsB,6BAA6B,CAAC,UAAU,EAAE,kBAAkB,EAAE,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAGjK"}
@@ -1,19 +1,37 @@
1
+ import { freeModelPolicyFor } from '../config.js';
2
+ import { isFreeModelOption } from '../model_pricing.js';
1
3
  import { askQuestion, askSecret, askSelect } from './prompt.js';
2
4
  import { renderBoxLines, selectListPopup } from './popup.js';
3
- import { fetchOpenRouterFreeModels, fetchProviderFreeModels, fetchProviderModels } from '../vendor/providers/index.js';
5
+ import { fetchOpenRouterFreeModels, fetchProviderModels } from '../vendor/providers/index.js';
4
6
  export const PROVIDER_PRESETS = [
5
7
  { label: 'NVIDIA NIM', value: 'nvidia-nim', tag: 'Default · Free-first', description: 'Use NVIDIA NIM with automatic free-model routing.' },
6
8
  { 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.' },
7
9
  { 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.' },
8
- { label: 'OrcaRouter', value: 'orcarouter', displayName: 'OrcaRouter', baseUrl: 'https://api.orcarouter.ai/v1', defaultModel: 'orcarouter/free', description: 'Connect OrcaRouter for adaptive model routing.' },
10
+ { 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.' },
9
11
  { label: 'Ollama', value: 'ollama', tag: 'Local', displayName: 'Ollama', baseUrl: 'http://127.0.0.1:11434/v1', description: 'Use models served locally by Ollama.' },
10
12
  { 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.' },
11
13
  { label: 'Other OpenAI-compatible provider', value: 'openai-compatible', description: 'Connect any compatible endpoint with its base URL, key, and model ID.' },
12
14
  ];
15
+ export function buildProviderPresets(config) {
16
+ const enabled = config?.enabled;
17
+ const builtIns = enabled === undefined
18
+ ? PROVIDER_PRESETS
19
+ : PROVIDER_PRESETS.filter((preset) => enabled.includes(preset.value));
20
+ const custom = (config?.custom ?? []).map((provider) => ({
21
+ label: provider.name,
22
+ value: `custom:${provider.id}`,
23
+ tag: 'Custom',
24
+ displayName: provider.name,
25
+ baseUrl: provider.baseUrl,
26
+ defaultModel: provider.defaultModel,
27
+ description: 'Connect this custom OpenAI-compatible endpoint.',
28
+ }));
29
+ return [...builtIns, ...custom];
30
+ }
13
31
  export function findReusableConnection(preset, connections) {
14
32
  if (preset === 'openai-compatible')
15
33
  return undefined;
16
- const id = preset === 'nvidia-nim' ? 'nvidia-nim' : preset;
34
+ const id = preset.startsWith('custom:') ? preset.slice('custom:'.length) : preset;
17
35
  return connections?.[id];
18
36
  }
19
37
  export function isAuthenticationFailure(error) {
@@ -108,7 +126,7 @@ export function buildConnection(input) {
108
126
  }
109
127
  /** Interactive setup used by /connect and by the first attempted prompt. */
110
128
  export async function connectProviderInteractive(options = {}) {
111
- const choices = PROVIDER_PRESETS;
129
+ const choices = buildProviderPresets(options.connectProviders);
112
130
  const selectedValue = options.drawFrame
113
131
  ? await selectListPopup('Connect Provider', choices, { drawFrame: options.drawFrame, signal: options.signal, hint: '↑↓ choose · Enter continue · Esc cancel' })
114
132
  : (await askSelect('Connect a provider', choices, 0, { signal: options.signal })).value;
@@ -116,7 +134,10 @@ export async function connectProviderInteractive(options = {}) {
116
134
  return undefined;
117
135
  if (options.signal?.aborted)
118
136
  return undefined;
119
- const saved = findReusableConnection(selectedValue, options.savedConnections);
137
+ const selectedPreset = choices.find((item) => item.value === selectedValue);
138
+ if (!selectedPreset)
139
+ return undefined;
140
+ const saved = findReusableConnection(selectedPreset.value, options.savedConnections);
120
141
  if (saved && options.resolveSavedConnection) {
121
142
  try {
122
143
  const resolved = await options.resolveSavedConnection(saved);
@@ -127,26 +148,31 @@ export async function connectProviderInteractive(options = {}) {
127
148
  // Continue to key entry when the credential service is unavailable.
128
149
  }
129
150
  }
130
- if (selectedValue === 'nvidia-nim') {
151
+ if (selectedPreset.value === 'nvidia-nim') {
131
152
  const apiKey = await askPopupText('NVIDIA API key', options, true);
132
153
  if (!apiKey)
133
154
  return undefined;
134
155
  return buildConnection({ kind: 'nvidia-nim', apiKey });
135
156
  }
136
- const preset = PROVIDER_PRESETS.find((item) => item.value === selectedValue);
137
- const displayName = preset?.displayName ?? await askPopupText('Provider name (for example, OpenRouter)', options);
157
+ const customId = selectedPreset.value.startsWith('custom:') ? selectedPreset.value.slice('custom:'.length) : undefined;
158
+ const displayName = selectedPreset.displayName ?? await askPopupText('Provider name (for example, OpenRouter)', options);
138
159
  if (!displayName)
139
160
  return undefined;
140
- const baseUrl = preset?.baseUrl ?? await askPopupText('OpenAI-compatible base URL', options);
161
+ const baseUrl = selectedPreset.baseUrl ?? await askPopupText('OpenAI-compatible base URL', options);
141
162
  const apiKey = selectedValue === 'ollama' || selectedValue === 'lm-studio'
142
163
  ? undefined
143
164
  : await askPopupText('API key', options, true);
144
- let defaultModel = preset?.defaultModel;
165
+ let defaultModel = selectedPreset.defaultModel;
145
166
  if (!defaultModel && (selectedValue === 'ollama' || selectedValue === 'lm-studio' || selectedValue === 'orcarouter')) {
146
167
  try {
147
- const models = selectedValue === 'orcarouter'
148
- ? await fetchProviderFreeModels(baseUrl, apiKey, { signal: options.signal })
149
- : await fetchProviderModels(baseUrl, apiKey, { signal: options.signal });
168
+ // OrcaRouter's free routing endpoints carry no `pricing`, so filtering the
169
+ // catalog on advertised zero price returns nothing and the flow falls
170
+ // through to manual entry. Offer the ids its preset declares free instead.
171
+ const freePolicy = selectedValue === 'orcarouter' ? freeModelPolicyFor(selectedValue) : undefined;
172
+ const fetched = await fetchProviderModels(baseUrl, apiKey, { signal: options.signal });
173
+ const models = freePolicy
174
+ ? fetched.filter((entry) => isFreeModelOption(entry, { modelId: entry.id, accessTier: 'unknown', toolSupport: 'unknown', source: 'heuristic' }, freePolicy))
175
+ : fetched;
150
176
  if (models.length) {
151
177
  const choices = models.map((entry) => ({ label: entry.id, value: entry.id, description: selectedValue === 'orcarouter' ? 'Free model' : 'Provider model' }));
152
178
  const picked = options.drawFrame
@@ -187,7 +213,8 @@ export async function connectProviderInteractive(options = {}) {
187
213
  defaultModel = defaultModel ?? await askPopupText('Default model ID', options);
188
214
  if (!baseUrl || (!apiKey && selectedValue !== 'ollama' && selectedValue !== 'lm-studio') || !defaultModel)
189
215
  return undefined;
190
- return buildConnection({ kind: 'openai-compatible', displayName, baseUrl, apiKey, defaultModel });
216
+ const connection = buildConnection({ kind: 'openai-compatible', displayName, baseUrl, apiKey, defaultModel });
217
+ return customId ? { ...connection, id: customId } : connection;
191
218
  }
192
219
  /** Ask for a replacement key after a provider rejects its saved credential. */
193
220
  export async function replaceProviderKeyInteractive(connection, options = {}) {
@@ -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":"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"}
@@ -10,8 +10,12 @@ export declare class TerminalRenderer {
10
10
  private readonly isChatMode;
11
11
  private isStreamingAssistant;
12
12
  private hasTransientProgress;
13
+ private latestUsage?;
14
+ private hasUsageTitle;
15
+ private lastUsageTimestamp;
13
16
  constructor(options?: TerminalRendererOptions);
14
17
  handleEvent(event: AgentEvent): void;
18
+ private printUsageSummary;
15
19
  private finishAssistantStream;
16
20
  private clearTransientProgress;
17
21
  private formatToolSummary;
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/ui/renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAC/C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAU;IACrC,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,oBAAoB,CAAS;gBAEzB,OAAO,GAAE,uBAA4B;IAMjD,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAsIpC,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,iBAAiB;CAQ1B"}
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/ui/renderer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAc,MAAM,qBAAqB,CAAC;AAE7D,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAC/C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAU;IACrC,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,WAAW,CAAC,CAAa;IACjC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,kBAAkB,CAAa;gBAE3B,OAAO,GAAE,uBAA4B;IAMjD,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAyJpC,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,iBAAiB;CAQ1B"}
@@ -1,9 +1,13 @@
1
+ import { formatTokenUsage } from './welcome.js';
1
2
  export class TerminalRenderer {
2
3
  stdout;
3
4
  verbose;
4
5
  isChatMode;
5
6
  isStreamingAssistant = false;
6
7
  hasTransientProgress = false;
8
+ latestUsage;
9
+ hasUsageTitle = false;
10
+ lastUsageTimestamp = -Infinity;
7
11
  constructor(options = {}) {
8
12
  this.stdout = options.stdout ?? process.stdout;
9
13
  this.verbose = options.verbose ?? false;
@@ -16,6 +20,24 @@ export class TerminalRenderer {
16
20
  if (this.isChatMode)
17
21
  return;
18
22
  switch (event.type) {
23
+ case 'usage': {
24
+ this.latestUsage = event;
25
+ const terminal = this.stdout;
26
+ if (!terminal.isTTY || (!event.final && event.timestamp - this.lastUsageTimestamp < 400))
27
+ break;
28
+ this.lastUsageTimestamp = event.timestamp;
29
+ const text = formatTokenUsage(event).slice(0, Math.max(0, (terminal.columns || 80) - 1));
30
+ if (this.isStreamingAssistant) {
31
+ // Title updates cannot erase a partially written answer at the terminal bottom.
32
+ this.stdout.write(`\x1b]0;Moderado | ${text}\x07`);
33
+ this.hasUsageTitle = true;
34
+ }
35
+ else {
36
+ this.stdout.write(`\r\x1b[K\x1b[38;5;244m${text}\x1b[0m`);
37
+ this.hasTransientProgress = true;
38
+ }
39
+ break;
40
+ }
19
41
  case 'model_change': {
20
42
  this.finishAssistantStream();
21
43
  this.clearTransientProgress();
@@ -89,6 +111,7 @@ export class TerminalRenderer {
89
111
  break;
90
112
  }
91
113
  case 'completion': {
114
+ this.printUsageSummary();
92
115
  this.finishAssistantStream();
93
116
  this.clearTransientProgress();
94
117
  const bannerColor = event.status === 'completed'
@@ -103,12 +126,14 @@ export class TerminalRenderer {
103
126
  break;
104
127
  }
105
128
  case 'error': {
129
+ this.printUsageSummary();
106
130
  this.finishAssistantStream();
107
131
  this.clearTransientProgress();
108
132
  this.stdout.write(`\n\x1b[1;31m✖ [Error ${event.code}]\x1b[0m ${event.message}\n`);
109
133
  break;
110
134
  }
111
135
  case 'cancellation': {
136
+ this.printUsageSummary();
112
137
  this.finishAssistantStream();
113
138
  this.clearTransientProgress();
114
139
  this.stdout.write(`\n\x1b[1;33m⚠ [Cancelled]\x1b[0m ${event.reason}\n`);
@@ -118,6 +143,17 @@ export class TerminalRenderer {
118
143
  break;
119
144
  }
120
145
  }
146
+ printUsageSummary() {
147
+ if (this.hasUsageTitle) {
148
+ this.stdout.write('\x1b]0;Moderado\x07');
149
+ this.hasUsageTitle = false;
150
+ }
151
+ if (!this.latestUsage)
152
+ return;
153
+ this.finishAssistantStream();
154
+ this.stdout.write(`${formatTokenUsage(this.latestUsage)}\n`);
155
+ this.latestUsage = undefined;
156
+ }
121
157
  finishAssistantStream() {
122
158
  this.clearTransientProgress();
123
159
  if (this.isStreamingAssistant) {
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/ui/renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/ui/renderer.ts"],"names":[],"mappings":"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"}