moderado 0.3.9 → 0.4.8
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.
- package/README.md +51 -30
- package/dist/commands/chat.d.ts +2 -2
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +108 -41
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +2 -1
- package/dist/commands/run.js.map +1 -1
- package/dist/config.d.ts +4 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +11 -3
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/dist/injected_version.d.ts +2 -0
- package/dist/injected_version.d.ts.map +1 -0
- package/dist/injected_version.js +5 -0
- package/dist/injected_version.js.map +1 -0
- package/dist/moderado_oauth.d.ts +14 -0
- package/dist/moderado_oauth.d.ts.map +1 -0
- package/dist/moderado_oauth.js +88 -0
- package/dist/moderado_oauth.js.map +1 -0
- package/dist/sessions.d.ts.map +1 -1
- package/dist/sessions.js +3 -2
- package/dist/sessions.js.map +1 -1
- package/dist/ui/model_selector.d.ts +6 -1
- package/dist/ui/model_selector.d.ts.map +1 -1
- package/dist/ui/model_selector.js +48 -9
- package/dist/ui/model_selector.js.map +1 -1
- package/dist/ui/provider_connect.d.ts +6 -1
- package/dist/ui/provider_connect.d.ts.map +1 -1
- package/dist/ui/provider_connect.js +118 -4
- package/dist/ui/provider_connect.js.map +1 -1
- package/dist/ui/welcome.d.ts +6 -2
- package/dist/ui/welcome.d.ts.map +1 -1
- package/dist/ui/welcome.js +69 -16
- package/dist/ui/welcome.js.map +1 -1
- package/dist/vendor/contracts/events.d.ts +93 -0
- package/dist/vendor/contracts/events.d.ts.map +1 -1
- package/dist/vendor/contracts/events.js +6 -1
- package/dist/vendor/contracts/events.js.map +1 -1
- package/dist/vendor/contracts/provider.d.ts +60 -0
- package/dist/vendor/contracts/provider.d.ts.map +1 -1
- package/dist/vendor/contracts/provider.js +39 -0
- package/dist/vendor/contracts/provider.js.map +1 -1
- package/dist/vendor/core/agent.d.ts.map +1 -1
- package/dist/vendor/core/agent.js +21 -7
- package/dist/vendor/core/agent.js.map +1 -1
- package/dist/vendor/providers/model_discovery.d.ts +1 -1
- package/dist/vendor/providers/model_discovery.d.ts.map +1 -1
- package/dist/vendor/providers/model_discovery.js +43 -2
- package/dist/vendor/providers/model_discovery.js.map +1 -1
- package/dist/vendor/providers/nvidia/nvidia_adapter.d.ts +1 -0
- package/dist/vendor/providers/nvidia/nvidia_adapter.d.ts.map +1 -1
- package/dist/vendor/providers/nvidia/nvidia_adapter.js +42 -8
- package/dist/vendor/providers/nvidia/nvidia_adapter.js.map +1 -1
- package/dist/vendor/providers/nvidia/sse_parser.d.ts +3 -1
- package/dist/vendor/providers/nvidia/sse_parser.d.ts.map +1 -1
- package/dist/vendor/providers/nvidia/sse_parser.js +31 -2
- package/dist/vendor/providers/nvidia/sse_parser.js.map +1 -1
- package/dist/vendor/providers/presets.d.ts +8 -1
- package/dist/vendor/providers/presets.d.ts.map +1 -1
- package/dist/vendor/providers/presets.js +45 -1
- package/dist/vendor/providers/presets.js.map +1 -1
- package/dist/vendor/tools/tools/web_search.d.ts.map +1 -1
- package/dist/vendor/tools/tools/web_search.js +2 -0
- package/dist/vendor/tools/tools/web_search.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,8 +1,11 @@
|
|
|
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
5
|
import { fetchOpenRouterFreeModels, fetchProviderModels } from '../vendor/providers/index.js';
|
|
6
|
+
import { createServer } from 'node:http';
|
|
7
|
+
import { spawn } from 'node:child_process';
|
|
8
|
+
import { createModeradoOAuthRequest, exchangeModeradoOAuthCode, validateModeradoOAuthCallback } from '../moderado_oauth.js';
|
|
6
9
|
export const PROVIDER_PRESETS = [
|
|
7
10
|
{ label: 'NVIDIA NIM', value: 'nvidia-nim', tag: 'Default · Free-first', description: 'Use NVIDIA NIM with automatic free-model routing.' },
|
|
8
11
|
{ 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.' },
|
|
@@ -35,7 +38,13 @@ export function findReusableConnection(preset, connections) {
|
|
|
35
38
|
return connections?.[id];
|
|
36
39
|
}
|
|
37
40
|
export function isAuthenticationFailure(error) {
|
|
38
|
-
|
|
41
|
+
if (!(error instanceof Error))
|
|
42
|
+
return false;
|
|
43
|
+
return error.code === 'ERR_GATEWAY_UNAUTHORIZED'
|
|
44
|
+
|| /authentication failed \((401|403)\)/i.test(error.message);
|
|
45
|
+
}
|
|
46
|
+
export function isModeradoCloudOAuthConnection(connection) {
|
|
47
|
+
return connection.id === 'moderado-cloud' && connection.credentialExpiresAt !== undefined;
|
|
39
48
|
}
|
|
40
49
|
export function renderConnectionPrompt(label, value, secret = false) {
|
|
41
50
|
const shown = secret ? '*'.repeat(value.length) : value;
|
|
@@ -101,7 +110,7 @@ export function buildConnection(input) {
|
|
|
101
110
|
const defaultModel = input.defaultModel?.trim();
|
|
102
111
|
if (!defaultModel)
|
|
103
112
|
throw new Error('A default model is required for an OpenAI-compatible provider.');
|
|
104
|
-
if (!input.apiKey?.trim() && !['ollama', 'lm-studio'].includes(connectionId(displayName)))
|
|
113
|
+
if (!input.apiKey?.trim() && !['ollama', 'lm-studio', 'moderado-cloud'].includes(connectionId(displayName)))
|
|
105
114
|
throw new Error('An API key is required.');
|
|
106
115
|
if (!input.baseUrl?.trim())
|
|
107
116
|
throw new Error('A base URL is required.');
|
|
@@ -124,7 +133,112 @@ export function buildConnection(input) {
|
|
|
124
133
|
defaultModel,
|
|
125
134
|
};
|
|
126
135
|
}
|
|
127
|
-
/**
|
|
136
|
+
/** Build a public Gateway profile or a keyed account profile. */
|
|
137
|
+
export function buildModeradoCloudConnection(apiKey, credentialExpiresAt, gatewayUrl) {
|
|
138
|
+
const key = apiKey?.trim();
|
|
139
|
+
if (key && !/^mrd_.+/.test(key))
|
|
140
|
+
throw new Error('Enter a Moderado Cloud key starting with mrd_.');
|
|
141
|
+
const connection = buildConnection({
|
|
142
|
+
kind: 'openai-compatible',
|
|
143
|
+
displayName: 'Moderado Cloud',
|
|
144
|
+
baseUrl: resolveModeradoCloudBaseUrl(process.env.MODERADO_CLOUD_ENV, process.env.MODERADO_CLOUD_BASE_URL ?? gatewayUrl),
|
|
145
|
+
apiKey: key,
|
|
146
|
+
defaultModel: 'auto',
|
|
147
|
+
});
|
|
148
|
+
return credentialExpiresAt === undefined ? connection : { ...connection, credentialExpiresAt };
|
|
149
|
+
}
|
|
150
|
+
function openAuthorizationPage(url) {
|
|
151
|
+
const [program, args] = process.platform === 'win32'
|
|
152
|
+
? ['rundll32.exe', ['url.dll,FileProtocolHandler', url]]
|
|
153
|
+
: process.platform === 'darwin' ? ['open', [url]] : ['xdg-open', [url]];
|
|
154
|
+
const child = spawn(program, args, { shell: false, detached: true, stdio: 'ignore', windowsHide: true });
|
|
155
|
+
child.on('error', () => process.stderr.write(`Could not open a browser automatically. Visit ${url} to continue Moderado login.\n`));
|
|
156
|
+
child.unref();
|
|
157
|
+
}
|
|
158
|
+
async function authorizeModeradoCloudInBrowser(signal) {
|
|
159
|
+
const server = createServer();
|
|
160
|
+
await new Promise((resolve, reject) => {
|
|
161
|
+
server.once('error', reject);
|
|
162
|
+
server.listen(0, '127.0.0.1', () => { server.removeListener('error', reject); resolve(); });
|
|
163
|
+
});
|
|
164
|
+
const address = server.address();
|
|
165
|
+
if (!address || typeof address === 'string') {
|
|
166
|
+
server.close();
|
|
167
|
+
throw new Error('Could not start the Moderado login callback.');
|
|
168
|
+
}
|
|
169
|
+
const request = createModeradoOAuthRequest(`http://127.0.0.1:${address.port}/callback`);
|
|
170
|
+
try {
|
|
171
|
+
const code = await new Promise((resolve, reject) => {
|
|
172
|
+
let settled = false;
|
|
173
|
+
const finish = (value, error) => {
|
|
174
|
+
if (settled)
|
|
175
|
+
return;
|
|
176
|
+
settled = true;
|
|
177
|
+
clearTimeout(timeout);
|
|
178
|
+
signal?.removeEventListener('abort', onAbort);
|
|
179
|
+
error ? reject(error) : resolve(value);
|
|
180
|
+
};
|
|
181
|
+
const onAbort = () => finish(undefined);
|
|
182
|
+
const timeout = setTimeout(() => finish(undefined, new Error('Moderado browser login timed out. Run /login to try again.')), 5 * 60_000);
|
|
183
|
+
signal?.addEventListener('abort', onAbort, { once: true });
|
|
184
|
+
server.on('request', (incoming, response) => {
|
|
185
|
+
if (incoming.method !== 'GET') {
|
|
186
|
+
response.writeHead(405).end();
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
let authCode;
|
|
190
|
+
try {
|
|
191
|
+
authCode = validateModeradoOAuthCallback(incoming.url ?? '/', request);
|
|
192
|
+
}
|
|
193
|
+
catch {
|
|
194
|
+
response.writeHead(400, { 'content-type': 'text/plain; charset=utf-8' }).end('Login could not be verified. Return to Moderado CLI and try /login again.');
|
|
195
|
+
finish(undefined, new Error('Moderado browser login callback could not be verified.'));
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
response.writeHead(200, { 'content-type': 'text/plain; charset=utf-8' }).end('Moderado login complete. You can close this tab.');
|
|
199
|
+
finish(authCode);
|
|
200
|
+
});
|
|
201
|
+
openAuthorizationPage(request.authorizationUrl);
|
|
202
|
+
});
|
|
203
|
+
return code ? await exchangeModeradoOAuthCode(code, request) : undefined;
|
|
204
|
+
}
|
|
205
|
+
finally {
|
|
206
|
+
server.close();
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
export async function loginModeradoCloudInteractive(options = {}) {
|
|
210
|
+
const baseUrl = resolveModeradoCloudBaseUrl(process.env.MODERADO_CLOUD_ENV, process.env.MODERADO_CLOUD_BASE_URL ?? options.gatewayUrl);
|
|
211
|
+
const loginChoices = [
|
|
212
|
+
{ label: 'Use public Gateway', value: 'public', description: `Connect without an account or API key. Base URL: ${baseUrl}` },
|
|
213
|
+
{ label: 'Sign in with browser', value: 'browser', description: `Authorize Moderado Cloud in your browser. Base URL: ${baseUrl}` },
|
|
214
|
+
{ label: 'Enter an API key', value: 'manual', description: `Paste a Moderado Cloud key starting with mrd_. Base URL: ${baseUrl}` },
|
|
215
|
+
];
|
|
216
|
+
const method = options.drawFrame
|
|
217
|
+
? await selectListPopup('Connect Moderado Cloud', loginChoices, { drawFrame: options.drawFrame, signal: options.signal })
|
|
218
|
+
: (await askSelect('Connect Moderado Cloud', loginChoices, 0, { signal: options.signal })).value;
|
|
219
|
+
if (!method || options.signal?.aborted)
|
|
220
|
+
return undefined;
|
|
221
|
+
if (method === 'public')
|
|
222
|
+
return buildModeradoCloudConnection(undefined, undefined, options.gatewayUrl);
|
|
223
|
+
if (method === 'browser') {
|
|
224
|
+
const credential = await authorizeModeradoCloudInBrowser(options.signal);
|
|
225
|
+
return credential ? buildModeradoCloudConnection(credential.accessToken, credential.expiresAt, options.gatewayUrl) : undefined;
|
|
226
|
+
}
|
|
227
|
+
let prompt = 'Moderado Cloud API key (mrd_…)';
|
|
228
|
+
while (!options.signal?.aborted) {
|
|
229
|
+
const apiKey = await askPopupText(prompt, options, true);
|
|
230
|
+
if (!apiKey)
|
|
231
|
+
return undefined;
|
|
232
|
+
try {
|
|
233
|
+
return buildModeradoCloudConnection(apiKey, undefined, options.gatewayUrl);
|
|
234
|
+
}
|
|
235
|
+
catch (error) {
|
|
236
|
+
prompt = `Invalid key: ${error instanceof Error ? error.message : String(error)} Try again`;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
return undefined;
|
|
240
|
+
}
|
|
241
|
+
/** Interactive provider picker for direct BYOK and local compatible endpoints. */
|
|
128
242
|
export async function connectProviderInteractive(options = {}) {
|
|
129
243
|
const choices = buildProviderPresets(options.connectProviders);
|
|
130
244
|
const selectedValue = options.drawFrame
|
|
@@ -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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"}
|
package/dist/ui/welcome.d.ts
CHANGED
|
@@ -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;
|
|
@@ -117,6 +117,8 @@ export interface PromptInteractiveTurnOptions {
|
|
|
117
117
|
* UI and returns the new model id, or undefined if cancelled.
|
|
118
118
|
*/
|
|
119
119
|
onModelSelect?: (drawFrame: (popupLines: string[]) => void) => Promise<string | undefined>;
|
|
120
|
+
/** Called when user issues /login. Returns the model label to display. */
|
|
121
|
+
onLogin?: (drawFrame: (popupLines: string[]) => void) => Promise<string | undefined>;
|
|
120
122
|
/** Called when user issues /connect. Returns the model label to display. */
|
|
121
123
|
onConnect?: (drawFrame: (popupLines: string[]) => void) => Promise<string | undefined>;
|
|
122
124
|
/** Called when user issues /clear so caller can reset conversation history. */
|
|
@@ -137,5 +139,7 @@ export declare function promptInteractiveTurn(options: PromptInteractiveTurnOpti
|
|
|
137
139
|
/** A cumulative task snapshot; a request ending does not mean the task ended. */
|
|
138
140
|
export declare function formatTokenUsage(event: UsageEvent): string;
|
|
139
141
|
/** Update only the chat status row, preserving the answer/composer cursor. */
|
|
140
|
-
export declare function renderChatUsageUpdate(event: UsageEvent, width?: number, budgetStatus?: string): string;
|
|
142
|
+
export declare function renderChatUsageUpdate(event: UsageEvent, width?: number, budgetStatus?: string, usageDetails?: string, terminalHeight?: number, mode?: 'Plan' | 'Execute'): string;
|
|
143
|
+
/** Show trusted, schema-validated Gateway route changes without provider supplied prose. */
|
|
144
|
+
export declare function renderGatewayFallbackUpdate(event: GatewayStatusEvent, width?: number): string;
|
|
141
145
|
//# sourceMappingURL=welcome.d.ts.map
|
package/dist/ui/welcome.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"welcome.d.ts","sourceRoot":"","sources":["../../src/ui/welcome.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"welcome.d.ts","sourceRoot":"","sources":["../../src/ui/welcome.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/welcome.js
CHANGED
|
@@ -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:
|
|
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
|
|
79
|
-
|
|
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 -
|
|
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
|
|
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
|
|
103
|
+
const approvalLabelRaw = options.autoApprove
|
|
95
104
|
? 'Auto-approve enabled (Shift+Tab)'
|
|
96
105
|
: 'Auto-approve off (Shift+Tab)';
|
|
97
|
-
const
|
|
98
|
-
const
|
|
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,8 @@ export function renderWelcomeCard(options) {
|
|
|
114
124
|
return cardLines.join('\n');
|
|
115
125
|
}
|
|
116
126
|
export const SLASH_COMMANDS = [
|
|
117
|
-
{ name: '/connect', desc: 'Connect
|
|
127
|
+
{ name: '/connect', desc: 'Connect directly to an external or local provider' },
|
|
128
|
+
{ name: '/login', desc: 'Connect to the Moderado Gateway or log in to Moderado Cloud' },
|
|
118
129
|
{ name: '/model', desc: 'Switch active AI model' },
|
|
119
130
|
{ name: '/init', desc: 'Scaffold AGENTS.md from workspace scan' },
|
|
120
131
|
{ name: '/btw', desc: 'Ask an ephemeral side question (no session pollution)' },
|
|
@@ -239,7 +250,8 @@ export function renderChatScreen(options, height) {
|
|
|
239
250
|
lines.push(String.fromCharCode(27) + '[48;5;236m' + questionText + ' '.repeat(Math.max(0, width - visibleLen(questionText))) + String.fromCharCode(27) + '[0m');
|
|
240
251
|
const thoughtTime = options.chatThoughtTime ?? 0;
|
|
241
252
|
const thoughtTimeLabel = thoughtTime > 0 && thoughtTime < 1 ? '<1s' : `${Math.round(thoughtTime)}s`;
|
|
242
|
-
|
|
253
|
+
const chatStatus = !options.tokenUsage && options.chatAnswer?.trim() ? `Thought for ${thoughtTimeLabel}` : '';
|
|
254
|
+
lines.push(chatStatus ? `\x1b[38;5;244m${chatStatus.slice(0, Math.max(0, terminalWidth - 1))}\x1b[0m` : '');
|
|
243
255
|
// Answer section: multi-line model answer
|
|
244
256
|
if (options.chatAnswer && options.chatAnswer.trim().length > 0) {
|
|
245
257
|
lines.push('');
|
|
@@ -337,7 +349,8 @@ export function renderHelpPopupBox(version, workspace, width) {
|
|
|
337
349
|
'\x1b[1;38;5;75mSlash Commands:\x1b[0m',
|
|
338
350
|
'\x1b[1m/init\x1b[0m Scaffold AGENTS.md from workspace scan',
|
|
339
351
|
'\x1b[1m/model\x1b[0m Switch active AI model (Free, Paid, or Custom)',
|
|
340
|
-
'\x1b[1m/connect\x1b[0m
|
|
352
|
+
'\x1b[1m/connect\x1b[0m Connect directly to an external or local provider',
|
|
353
|
+
'\x1b[1m/login\x1b[0m Connect to the Moderado Gateway or log in to Moderado Cloud',
|
|
341
354
|
'\x1b[1m/btw\x1b[0m Ask an ephemeral side question (no session pollution)',
|
|
342
355
|
'\x1b[1m/mcp\x1b[0m Manage local MCP servers',
|
|
343
356
|
'\x1b[1m/session\x1b[0m Create, resume, undo, redo, share, export, or compact sessions',
|
|
@@ -662,6 +675,7 @@ export async function promptInteractiveTurn(options) {
|
|
|
662
675
|
}
|
|
663
676
|
// Selection flow left stdin in non-raw mode — restore it for our TUI
|
|
664
677
|
readline.emitKeypressEvents(stdin);
|
|
678
|
+
stdin.resume();
|
|
665
679
|
stdin.setRawMode(true);
|
|
666
680
|
stdout.write('\x1b[H\x1b[J');
|
|
667
681
|
stdout.write(renderCenteredWelcomeScreen(getOptions(), stdout.rows));
|
|
@@ -690,6 +704,27 @@ export async function promptInteractiveTurn(options) {
|
|
|
690
704
|
bindComposerInput();
|
|
691
705
|
return;
|
|
692
706
|
}
|
|
707
|
+
if (key && (key.name === 'return' || key.name === 'enter') && input.trim() === '/login') {
|
|
708
|
+
setInput('');
|
|
709
|
+
unbindComposerInput();
|
|
710
|
+
const drawFrame = (popupLines) => {
|
|
711
|
+
stdout.write('\x1b[H\x1b[J');
|
|
712
|
+
stdout.write(renderWelcomePopupLayer(getOptions(), popupLines, stdout.columns, stdout.rows));
|
|
713
|
+
};
|
|
714
|
+
if (options.onLogin) {
|
|
715
|
+
const newModel = await options.onLogin(drawFrame);
|
|
716
|
+
if (newModel)
|
|
717
|
+
currentModel = newModel;
|
|
718
|
+
}
|
|
719
|
+
readline.emitKeypressEvents(stdin);
|
|
720
|
+
stdin.resume();
|
|
721
|
+
stdin.setRawMode(true);
|
|
722
|
+
stdout.write('\x1b[H\x1b[J');
|
|
723
|
+
stdout.write(renderCenteredWelcomeScreen(getOptions(), stdout.rows));
|
|
724
|
+
positionCursorOnInput();
|
|
725
|
+
bindComposerInput();
|
|
726
|
+
return;
|
|
727
|
+
}
|
|
693
728
|
if (key && (key.name === 'return' || key.name === 'enter') && input.trim().startsWith('/session')) {
|
|
694
729
|
const command = input.trim();
|
|
695
730
|
setInput('');
|
|
@@ -1001,9 +1036,27 @@ export function formatTokenUsage(event) {
|
|
|
1001
1036
|
return `Input ${marker}${promptTokens} | Output ${marker}${completionTokens} | Total ${marker}${totalTokens}${rate}`;
|
|
1002
1037
|
}
|
|
1003
1038
|
/** Update only the chat status row, preserving the answer/composer cursor. */
|
|
1004
|
-
export function renderChatUsageUpdate(event, width = process.stdout.columns || 80, budgetStatus) {
|
|
1005
|
-
const
|
|
1006
|
-
const
|
|
1039
|
+
export function renderChatUsageUpdate(event, width = process.stdout.columns || 80, budgetStatus, usageDetails, terminalHeight = process.stdout.rows || 24, mode) {
|
|
1040
|
+
const usageText = formatTokenUsage(event);
|
|
1041
|
+
const suffix = `${usageDetails ? ` | ${usageDetails}` : ''}${budgetStatus ? ` | ${budgetStatus}` : ''}`;
|
|
1042
|
+
const modeLabel = mode === 'Plan' ? '\x1b[1;38;5;75m[Plan]\x1b[0m / Execute (Tab)' : 'Plan / \x1b[1;38;5;75m[Execute]\x1b[0m (Tab)';
|
|
1043
|
+
const modeText = mode === 'Plan' ? '[Plan] / Execute (Tab)' : 'Plan / [Execute] (Tab)';
|
|
1044
|
+
const rowWidth = Math.max(0, width - 1);
|
|
1045
|
+
const textLimit = Math.max(0, rowWidth - (mode ? modeText.length + 1 : 0));
|
|
1046
|
+
const usageLimit = Math.max(0, textLimit - suffix.length);
|
|
1047
|
+
const clippedUsage = mode && usageText.length > usageLimit
|
|
1048
|
+
? `${usageText.slice(0, Math.max(0, usageLimit - 1))}…`.slice(0, usageLimit)
|
|
1049
|
+
: usageText;
|
|
1050
|
+
const text = `${clippedUsage}${suffix}`.slice(0, textLimit);
|
|
1051
|
+
const row = Math.max(1, terminalHeight - 2);
|
|
1052
|
+
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`;
|
|
1053
|
+
}
|
|
1054
|
+
/** Show trusted, schema-validated Gateway route changes without provider supplied prose. */
|
|
1055
|
+
export function renderGatewayFallbackUpdate(event, width = process.stdout.columns || 80) {
|
|
1056
|
+
const destination = event.toProvider ? `${event.toProvider}/${event.toModel}` : event.toModel;
|
|
1057
|
+
const reason = event.reason === 'rate_limited_or_unavailable' ? 'after an upstream route was rate limited or unavailable' : 'after a fallback';
|
|
1058
|
+
const text = `Gateway route changed to ${destination} ${reason}`.slice(0, Math.max(0, width - 1));
|
|
1059
|
+
const row = renderModeradoHeader().split('\n').length + 3;
|
|
1007
1060
|
return `\x1b7\x1b[${row};1H\r\x1b[K\x1b[38;5;244m${text}\x1b[0m\x1b8`;
|
|
1008
1061
|
}
|
|
1009
1062
|
//# sourceMappingURL=welcome.js.map
|