dexto 1.5.7 → 1.5.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/dist/agents/coding-agent/coding-agent.yml +2 -0
- package/dist/analytics/events.d.ts +1 -1
- package/dist/analytics/events.d.ts.map +1 -1
- package/dist/cli/auth/constants.d.ts +4 -0
- package/dist/cli/auth/constants.d.ts.map +1 -1
- package/dist/cli/auth/constants.js +4 -0
- package/dist/cli/commands/auth/logout.js +2 -2
- package/dist/cli/commands/billing/status.d.ts +3 -1
- package/dist/cli/commands/billing/status.d.ts.map +1 -1
- package/dist/cli/commands/billing/status.js +23 -1
- package/dist/cli/commands/interactive-commands/prompt-commands.d.ts.map +1 -1
- package/dist/cli/commands/interactive-commands/prompt-commands.js +18 -2
- package/dist/cli/commands/list-agents.d.ts.map +1 -1
- package/dist/cli/commands/list-agents.js +3 -2
- package/dist/cli/commands/setup.d.ts +5 -5
- package/dist/cli/commands/setup.d.ts.map +1 -1
- package/dist/cli/commands/setup.js +766 -207
- package/dist/cli/ink-cli/InkCLIRefactored.d.ts.map +1 -1
- package/dist/cli/ink-cli/InkCLIRefactored.js +11 -1
- package/dist/cli/ink-cli/components/BackgroundTasksPanel.d.ts +18 -0
- package/dist/cli/ink-cli/components/BackgroundTasksPanel.d.ts.map +1 -0
- package/dist/cli/ink-cli/components/BackgroundTasksPanel.js +48 -0
- package/dist/cli/ink-cli/components/ErrorBoundary.js +1 -1
- package/dist/cli/ink-cli/components/Footer.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/Footer.js +4 -4
- package/dist/cli/ink-cli/components/ResourceAutocomplete.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/ResourceAutocomplete.js +150 -41
- package/dist/cli/ink-cli/components/StatusBar.d.ts +3 -1
- package/dist/cli/ink-cli/components/StatusBar.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/StatusBar.js +17 -1
- package/dist/cli/ink-cli/components/chat/MessageItem.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/chat/MessageItem.js +9 -5
- package/dist/cli/ink-cli/components/modes/AlternateBufferCLI.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/modes/AlternateBufferCLI.js +2 -1
- package/dist/cli/ink-cli/components/modes/StaticCLI.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/modes/StaticCLI.js +2 -1
- package/dist/cli/ink-cli/components/overlays/ContextStatsOverlay.js +1 -1
- package/dist/cli/ink-cli/components/overlays/CustomModelWizard.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/overlays/CustomModelWizard.js +8 -4
- package/dist/cli/ink-cli/components/overlays/LogLevelSelector.js +1 -1
- package/dist/cli/ink-cli/components/overlays/McpRemoveSelector.js +1 -1
- package/dist/cli/ink-cli/components/overlays/ModelSelectorRefactored.d.ts +1 -0
- package/dist/cli/ink-cli/components/overlays/ModelSelectorRefactored.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/overlays/ModelSelectorRefactored.js +144 -41
- package/dist/cli/ink-cli/components/overlays/ToolBrowser.d.ts +1 -0
- package/dist/cli/ink-cli/components/overlays/ToolBrowser.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/overlays/ToolBrowser.js +281 -39
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/provider-config.d.ts +9 -1
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/provider-config.d.ts.map +1 -1
- package/dist/cli/ink-cli/components/overlays/custom-model-wizard/provider-config.js +35 -9
- package/dist/cli/ink-cli/containers/InputContainer.js +2 -2
- package/dist/cli/ink-cli/containers/OverlayContainer.d.ts.map +1 -1
- package/dist/cli/ink-cli/containers/OverlayContainer.js +134 -23
- package/dist/cli/ink-cli/hooks/useAgentEvents.d.ts.map +1 -1
- package/dist/cli/ink-cli/hooks/useAgentEvents.js +61 -0
- package/dist/cli/ink-cli/hooks/useCLIState.d.ts.map +1 -1
- package/dist/cli/ink-cli/hooks/useCLIState.js +3 -0
- package/dist/cli/ink-cli/hooks/useInputOrchestrator.d.ts.map +1 -1
- package/dist/cli/ink-cli/hooks/useInputOrchestrator.js +8 -0
- package/dist/cli/ink-cli/services/processStream.d.ts.map +1 -1
- package/dist/cli/ink-cli/services/processStream.js +50 -2
- package/dist/cli/ink-cli/state/initialState.d.ts.map +1 -1
- package/dist/cli/ink-cli/state/initialState.js +3 -0
- package/dist/cli/ink-cli/state/types.d.ts +9 -0
- package/dist/cli/ink-cli/state/types.d.ts.map +1 -1
- package/dist/cli/ink-cli/utils/llm-provider-display.d.ts +3 -0
- package/dist/cli/ink-cli/utils/llm-provider-display.d.ts.map +1 -0
- package/dist/cli/ink-cli/utils/llm-provider-display.js +22 -0
- package/dist/cli/ink-cli/utils/messageFormatting.d.ts +4 -6
- package/dist/cli/ink-cli/utils/messageFormatting.d.ts.map +1 -1
- package/dist/cli/ink-cli/utils/messageFormatting.js +77 -9
- package/dist/cli/utils/dexto-auth-check.d.ts +7 -7
- package/dist/cli/utils/dexto-auth-check.d.ts.map +1 -1
- package/dist/cli/utils/dexto-auth-check.js +16 -16
- package/dist/cli/utils/options.js +1 -1
- package/dist/cli/utils/provider-setup.d.ts +2 -2
- package/dist/cli/utils/provider-setup.d.ts.map +1 -1
- package/dist/cli/utils/provider-setup.js +10 -2
- package/dist/config/cli-overrides.js +1 -1
- package/dist/config/effective-llm.d.ts +4 -4
- package/dist/config/effective-llm.d.ts.map +1 -1
- package/dist/config/effective-llm.js +4 -4
- package/dist/index.js +12 -3
- package/dist/webui/assets/{index-Dl3mj53P.js → index-Cz2z7NQ8.js} +74 -74
- package/dist/webui/index.html +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/cli/ink-cli/state/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/cli/ink-cli/state/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm-provider-display.d.ts","sourceRoot":"","sources":["../../../../src/cli/ink-cli/utils/llm-provider-display.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAsB/C,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,CAEvE"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
const LLM_PROVIDER_DISPLAY_NAMES = {
|
|
2
|
+
openai: 'OpenAI',
|
|
3
|
+
'openai-compatible': 'OpenAI-Compatible',
|
|
4
|
+
anthropic: 'Anthropic',
|
|
5
|
+
google: 'Google',
|
|
6
|
+
groq: 'Groq',
|
|
7
|
+
xai: 'xAI',
|
|
8
|
+
cohere: 'Cohere',
|
|
9
|
+
minimax: 'MiniMax',
|
|
10
|
+
glm: 'GLM',
|
|
11
|
+
openrouter: 'OpenRouter',
|
|
12
|
+
litellm: 'LiteLLM',
|
|
13
|
+
glama: 'Glama',
|
|
14
|
+
vertex: 'Vertex',
|
|
15
|
+
bedrock: 'Bedrock',
|
|
16
|
+
local: 'Local',
|
|
17
|
+
ollama: 'Ollama',
|
|
18
|
+
'dexto-nova': 'Dexto Nova',
|
|
19
|
+
};
|
|
20
|
+
export function getLLMProviderDisplayName(provider) {
|
|
21
|
+
return LLM_PROVIDER_DISPLAY_NAMES[provider] ?? provider;
|
|
22
|
+
}
|
|
@@ -42,12 +42,6 @@ export declare function formatPathForDisplay(absolutePath: string, maxWidth?: nu
|
|
|
42
42
|
* 3. Add "…" in the middle
|
|
43
43
|
*/
|
|
44
44
|
export declare function centerTruncatePath(filePath: string, maxWidth: number): string;
|
|
45
|
-
/**
|
|
46
|
-
* Gets a user-friendly display name for a tool.
|
|
47
|
-
* Returns the friendly name if known, otherwise returns the original name
|
|
48
|
-
* with any "internal--" prefix stripped.
|
|
49
|
-
* MCP tools keep their server prefix for clarity (e.g., "mcp_server__tool").
|
|
50
|
-
*/
|
|
51
45
|
export declare function getToolDisplayName(toolName: string): string;
|
|
52
46
|
/**
|
|
53
47
|
* Gets the tool type badge for display.
|
|
@@ -117,6 +111,10 @@ export declare function createToolMessage(toolName: string): Message;
|
|
|
117
111
|
* Formats a streaming placeholder message
|
|
118
112
|
*/
|
|
119
113
|
export declare function createStreamingMessage(): Message;
|
|
114
|
+
/**
|
|
115
|
+
* Generates a preview of tool result content for display
|
|
116
|
+
*/
|
|
117
|
+
export declare function formatToolResultPreview(result: string): string;
|
|
120
118
|
/**
|
|
121
119
|
* Converts session history messages to UI messages
|
|
122
120
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messageFormatting.d.ts","sourceRoot":"","sources":["../../../../src/cli/ink-cli/utils/messageFormatting.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAyB,MAAM,aAAa,CAAC;AAEtF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"messageFormatting.d.ts","sourceRoot":"","sources":["../../../../src/cli/ink-cli/utils/messageFormatting.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAyB,MAAM,aAAa,CAAC;AAEtF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAyBjD;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAYpE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEjE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,GAAE,MAAsB,GAAG,MAAM,CAmB1F;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAChC,YAAY,EAAE,MAAM,EACpB,QAAQ,GAAE,MAAW,EACrB,GAAG,GAAE,MAAsB,GAC5B,MAAM,CAWR;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAiC7E;AAyGD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA6B3D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA8BzD;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,aAAa,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,MAAM,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC5B,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACnC,mBAAmB,CA+CrB;AA8BD;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CA0EhG;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACjC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,SAAS,GAAE,MAAW,GACvB,MAAM,CAeR;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAO1D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CASvF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAO5D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAQjE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAO3D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAQhD;AAgBD;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAkC9D;AA+CD;;GAEG;AACH,wBAAgB,0BAA0B,CACtC,OAAO,EAAE,eAAe,EAAE,EAC1B,SAAS,EAAE,MAAM,GAClB,OAAO,EAAE,CA2GX;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;;;;;;;;GAmB/E"}
|
|
@@ -5,6 +5,15 @@
|
|
|
5
5
|
import path from 'path';
|
|
6
6
|
import os from 'os';
|
|
7
7
|
import { isTextPart, isAssistantMessage, isToolMessage } from '@dexto/core';
|
|
8
|
+
const HIDDEN_TOOL_NAMES = new Set(['wait_for']);
|
|
9
|
+
const normalizeToolName = (toolName) => {
|
|
10
|
+
const stripped = toolName.replace(/^(?:internal--|internal__|custom--|custom__)/, '');
|
|
11
|
+
const delimiterSplit = stripped.split(/[:.]/);
|
|
12
|
+
return delimiterSplit[delimiterSplit.length - 1] ?? stripped;
|
|
13
|
+
};
|
|
14
|
+
const shouldHideTool = (toolName) => HIDDEN_TOOL_NAMES.has(normalizeToolName(toolName));
|
|
15
|
+
const backgroundCompletionRegex = /<background-task-completion>[\s\S]*?<\/background-task-completion>/g;
|
|
16
|
+
const stripBackgroundCompletion = (text) => text.replace(backgroundCompletionRegex, '').replace('<background-task-completion>', '').trim();
|
|
8
17
|
import { generateMessageId } from './idGenerator.js';
|
|
9
18
|
/**
|
|
10
19
|
* Regex to detect skill invocation messages.
|
|
@@ -152,6 +161,9 @@ const TOOL_CONFIGS = {
|
|
|
152
161
|
plan_read: { displayName: 'Plan', argsToShow: [] },
|
|
153
162
|
plan_update: { displayName: 'Plan', argsToShow: [] },
|
|
154
163
|
plan_review: { displayName: 'Plan', argsToShow: [] },
|
|
164
|
+
wait_for: { displayName: 'Wait', argsToShow: ['taskId', 'taskIds', 'mode'] },
|
|
165
|
+
check_task: { displayName: 'CheckTask', argsToShow: ['taskId'] },
|
|
166
|
+
list_tasks: { displayName: 'ListTasks', argsToShow: ['status', 'type'] },
|
|
155
167
|
todo_write: { displayName: 'UpdateTasks', argsToShow: [] },
|
|
156
168
|
};
|
|
157
169
|
/**
|
|
@@ -181,6 +193,14 @@ function getToolConfig(toolName) {
|
|
|
181
193
|
* with any "internal--" prefix stripped.
|
|
182
194
|
* MCP tools keep their server prefix for clarity (e.g., "mcp_server__tool").
|
|
183
195
|
*/
|
|
196
|
+
function toTitleCase(name) {
|
|
197
|
+
return name
|
|
198
|
+
.replace(/[_-]+/g, ' ')
|
|
199
|
+
.split(' ')
|
|
200
|
+
.filter(Boolean)
|
|
201
|
+
.map((part) => part.charAt(0).toUpperCase() + part.slice(1))
|
|
202
|
+
.join(' ');
|
|
203
|
+
}
|
|
184
204
|
export function getToolDisplayName(toolName) {
|
|
185
205
|
const config = getToolConfig(toolName);
|
|
186
206
|
if (config) {
|
|
@@ -188,28 +208,28 @@ export function getToolDisplayName(toolName) {
|
|
|
188
208
|
}
|
|
189
209
|
// Strip "internal--" prefix for unknown internal tools
|
|
190
210
|
if (toolName.startsWith('internal--')) {
|
|
191
|
-
return toolName.replace('internal--', '');
|
|
211
|
+
return toTitleCase(toolName.replace('internal--', ''));
|
|
192
212
|
}
|
|
193
213
|
// Strip "custom--" prefix for custom tools
|
|
194
214
|
if (toolName.startsWith('custom--')) {
|
|
195
|
-
return toolName.replace('custom--', '');
|
|
215
|
+
return toTitleCase(toolName.replace('custom--', ''));
|
|
196
216
|
}
|
|
197
217
|
// MCP tools: strip mcp-- or mcp__ prefix and server name for clean display
|
|
198
218
|
if (toolName.startsWith('mcp--')) {
|
|
199
219
|
const parts = toolName.split('--');
|
|
200
220
|
if (parts.length >= 3) {
|
|
201
|
-
return parts.slice(2).join('--');
|
|
221
|
+
return toTitleCase(parts.slice(2).join('--'));
|
|
202
222
|
}
|
|
203
|
-
return toolName.substring(5);
|
|
223
|
+
return toTitleCase(toolName.substring(5));
|
|
204
224
|
}
|
|
205
225
|
if (toolName.startsWith('mcp__')) {
|
|
206
226
|
const parts = toolName.substring(5).split('__');
|
|
207
227
|
if (parts.length >= 2) {
|
|
208
|
-
return parts.slice(1).join('__');
|
|
228
|
+
return toTitleCase(parts.slice(1).join('__'));
|
|
209
229
|
}
|
|
210
|
-
return toolName.substring(5);
|
|
230
|
+
return toTitleCase(toolName.substring(5));
|
|
211
231
|
}
|
|
212
|
-
return toolName;
|
|
232
|
+
return toTitleCase(toolName);
|
|
213
233
|
}
|
|
214
234
|
/**
|
|
215
235
|
* Gets the tool type badge for display.
|
|
@@ -462,7 +482,7 @@ export function createErrorMessage(error) {
|
|
|
462
482
|
return {
|
|
463
483
|
id: generateMessageId('error'),
|
|
464
484
|
role: 'system',
|
|
465
|
-
content:
|
|
485
|
+
content: `Error: ${content}`,
|
|
466
486
|
timestamp: new Date(),
|
|
467
487
|
};
|
|
468
488
|
}
|
|
@@ -504,10 +524,53 @@ function extractTextContent(content) {
|
|
|
504
524
|
/**
|
|
505
525
|
* Generates a preview of tool result content for display
|
|
506
526
|
*/
|
|
527
|
+
export function formatToolResultPreview(result) {
|
|
528
|
+
try {
|
|
529
|
+
const parsed = JSON.parse(result);
|
|
530
|
+
if (parsed.status === 'running' && parsed.taskId) {
|
|
531
|
+
return `Background task started (id: ${parsed.taskId})`;
|
|
532
|
+
}
|
|
533
|
+
if (parsed.found !== undefined && parsed.taskId) {
|
|
534
|
+
return parsed.found
|
|
535
|
+
? `Task ${parsed.taskId} status: ${parsed.status ?? 'unknown'}`
|
|
536
|
+
: `Task ${parsed.taskId} not found`;
|
|
537
|
+
}
|
|
538
|
+
if (Array.isArray(parsed.tasks) && typeof parsed.count === 'number') {
|
|
539
|
+
const running = parsed.tasks.filter((task) => task.status === 'running').length;
|
|
540
|
+
return `Tasks: ${parsed.count} total${running > 0 ? ` • ${running} running` : ''}`;
|
|
541
|
+
}
|
|
542
|
+
}
|
|
543
|
+
catch {
|
|
544
|
+
// fall through
|
|
545
|
+
}
|
|
546
|
+
const maxChars = 200;
|
|
547
|
+
if (result.length <= maxChars) {
|
|
548
|
+
return result;
|
|
549
|
+
}
|
|
550
|
+
return result.slice(0, maxChars) + '…';
|
|
551
|
+
}
|
|
507
552
|
function generateToolResultPreview(content) {
|
|
508
553
|
const textContent = extractTextContent(content);
|
|
509
554
|
if (!textContent)
|
|
510
555
|
return '';
|
|
556
|
+
try {
|
|
557
|
+
const parsed = JSON.parse(textContent);
|
|
558
|
+
if (parsed.status === 'running' && parsed.taskId) {
|
|
559
|
+
return `Background task started (id: ${parsed.taskId})`;
|
|
560
|
+
}
|
|
561
|
+
if (Array.isArray(parsed.tasks) && typeof parsed.count === 'number') {
|
|
562
|
+
const running = parsed.tasks.filter((task) => task.status === 'running').length;
|
|
563
|
+
return `Tasks: ${parsed.count} total${running > 0 ? ` • ${running} running` : ''}`;
|
|
564
|
+
}
|
|
565
|
+
if (parsed.found !== undefined && parsed.taskId) {
|
|
566
|
+
return parsed.found
|
|
567
|
+
? `Task ${parsed.taskId} status: ${parsed.status ?? 'unknown'}`
|
|
568
|
+
: `Task ${parsed.taskId} not found`;
|
|
569
|
+
}
|
|
570
|
+
}
|
|
571
|
+
catch {
|
|
572
|
+
// Not JSON; fall through to raw text preview
|
|
573
|
+
}
|
|
511
574
|
const lines = textContent.split('\n');
|
|
512
575
|
const previewLines = lines.slice(0, 5);
|
|
513
576
|
let preview = previewLines.join('\n');
|
|
@@ -538,6 +601,9 @@ export function convertHistoryToUIMessages(history, sessionId) {
|
|
|
538
601
|
const timestamp = new Date(msg.timestamp ?? Date.now() - (history.length - index) * 1000);
|
|
539
602
|
// Handle tool messages specially
|
|
540
603
|
if (isToolMessage(msg)) {
|
|
604
|
+
if (shouldHideTool(msg.name)) {
|
|
605
|
+
return;
|
|
606
|
+
}
|
|
541
607
|
// Look up the original tool call to get args
|
|
542
608
|
const toolCall = toolCallMap.get(msg.toolCallId);
|
|
543
609
|
// Format tool name
|
|
@@ -582,7 +648,8 @@ export function convertHistoryToUIMessages(history, sessionId) {
|
|
|
582
648
|
}
|
|
583
649
|
// Handle assistant messages - skip those with only tool calls (no text content)
|
|
584
650
|
if (isAssistantMessage(msg)) {
|
|
585
|
-
|
|
651
|
+
let textContent = extractTextContent(msg.content);
|
|
652
|
+
textContent = stripBackgroundCompletion(textContent);
|
|
586
653
|
// Skip if no text content (message was just tool calls)
|
|
587
654
|
if (!textContent)
|
|
588
655
|
return;
|
|
@@ -596,6 +663,7 @@ export function convertHistoryToUIMessages(history, sessionId) {
|
|
|
596
663
|
}
|
|
597
664
|
// Handle other messages (user, system)
|
|
598
665
|
let textContent = extractTextContent(msg.content);
|
|
666
|
+
textContent = stripBackgroundCompletion(textContent);
|
|
599
667
|
// Skip empty messages
|
|
600
668
|
if (!textContent)
|
|
601
669
|
return;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Dexto Authentication Check
|
|
3
3
|
*
|
|
4
|
-
* Validates that users configured to use Dexto credits are properly authenticated.
|
|
4
|
+
* Validates that users configured to use Dexto Nova credits are properly authenticated.
|
|
5
5
|
* This prevents the confusing state where user is logged out but still has
|
|
6
|
-
* Dexto credits configured (which would fail at runtime).
|
|
6
|
+
* Dexto Nova credits configured (which would fail at runtime).
|
|
7
7
|
*
|
|
8
8
|
* ## When This Check Runs
|
|
9
9
|
*
|
|
@@ -12,12 +12,12 @@
|
|
|
12
12
|
*
|
|
13
13
|
* ## Why This Exists
|
|
14
14
|
*
|
|
15
|
-
* When a user runs `dexto logout` while configured with `provider: dexto`,
|
|
15
|
+
* When a user runs `dexto logout` while configured with `provider: dexto-nova`,
|
|
16
16
|
* their preferences.yml still points to Dexto. Without this check, the CLI
|
|
17
|
-
* would attempt to use Dexto credits and fail with "Invalid API key" errors.
|
|
17
|
+
* would attempt to use Dexto Nova credits and fail with "Invalid API key" errors.
|
|
18
18
|
*
|
|
19
19
|
* Instead, we catch this state early and offer clear options:
|
|
20
|
-
* - Log back in to continue using Dexto credits
|
|
20
|
+
* - Log back in to continue using Dexto Nova credits
|
|
21
21
|
* - Run setup to configure a different provider (BYOK)
|
|
22
22
|
*
|
|
23
23
|
* @module dexto-auth-check
|
|
@@ -27,8 +27,8 @@ export interface DextoAuthCheckResult {
|
|
|
27
27
|
action?: 'login' | 'setup' | 'cancel';
|
|
28
28
|
}
|
|
29
29
|
/**
|
|
30
|
-
* Check if user is configured to use Dexto credits but is not authenticated.
|
|
31
|
-
* This can happen if user logged out after setting up with Dexto credits.
|
|
30
|
+
* Check if user is configured to use Dexto Nova credits but is not authenticated.
|
|
31
|
+
* This can happen if user logged out after setting up with Dexto Nova credits.
|
|
32
32
|
*
|
|
33
33
|
* Uses getEffectiveLLMConfig() to determine the actual LLM that will be used,
|
|
34
34
|
* considering all config layers (local, preferences, bundled).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dexto-auth-check.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/dexto-auth-check.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAOH,MAAM,WAAW,oBAAoB;IACjC,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;CACzC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,mBAAmB,CACrC,WAAW,GAAE,OAAc,EAC3B,OAAO,GAAE,MAAuB,GACjC,OAAO,CAAC,oBAAoB,CAAC,
|
|
1
|
+
{"version":3,"file":"dexto-auth-check.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/dexto-auth-check.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAOH,MAAM,WAAW,oBAAoB;IACjC,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;CACzC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,mBAAmB,CACrC,WAAW,GAAE,OAAc,EAC3B,OAAO,GAAE,MAAuB,GACjC,OAAO,CAAC,oBAAoB,CAAC,CAoE/B"}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Dexto Authentication Check
|
|
4
4
|
*
|
|
5
|
-
* Validates that users configured to use Dexto credits are properly authenticated.
|
|
5
|
+
* Validates that users configured to use Dexto Nova credits are properly authenticated.
|
|
6
6
|
* This prevents the confusing state where user is logged out but still has
|
|
7
|
-
* Dexto credits configured (which would fail at runtime).
|
|
7
|
+
* Dexto Nova credits configured (which would fail at runtime).
|
|
8
8
|
*
|
|
9
9
|
* ## When This Check Runs
|
|
10
10
|
*
|
|
@@ -13,12 +13,12 @@
|
|
|
13
13
|
*
|
|
14
14
|
* ## Why This Exists
|
|
15
15
|
*
|
|
16
|
-
* When a user runs `dexto logout` while configured with `provider: dexto`,
|
|
16
|
+
* When a user runs `dexto logout` while configured with `provider: dexto-nova`,
|
|
17
17
|
* their preferences.yml still points to Dexto. Without this check, the CLI
|
|
18
|
-
* would attempt to use Dexto credits and fail with "Invalid API key" errors.
|
|
18
|
+
* would attempt to use Dexto Nova credits and fail with "Invalid API key" errors.
|
|
19
19
|
*
|
|
20
20
|
* Instead, we catch this state early and offer clear options:
|
|
21
|
-
* - Log back in to continue using Dexto credits
|
|
21
|
+
* - Log back in to continue using Dexto Nova credits
|
|
22
22
|
* - Run setup to configure a different provider (BYOK)
|
|
23
23
|
*
|
|
24
24
|
* @module dexto-auth-check
|
|
@@ -28,8 +28,8 @@ import * as p from '@clack/prompts';
|
|
|
28
28
|
import { isAuthenticated } from '../auth/index.js';
|
|
29
29
|
import { getEffectiveLLMConfig } from '../../config/effective-llm.js';
|
|
30
30
|
/**
|
|
31
|
-
* Check if user is configured to use Dexto credits but is not authenticated.
|
|
32
|
-
* This can happen if user logged out after setting up with Dexto credits.
|
|
31
|
+
* Check if user is configured to use Dexto Nova credits but is not authenticated.
|
|
32
|
+
* This can happen if user logged out after setting up with Dexto Nova credits.
|
|
33
33
|
*
|
|
34
34
|
* Uses getEffectiveLLMConfig() to determine the actual LLM that will be used,
|
|
35
35
|
* considering all config layers (local, preferences, bundled).
|
|
@@ -53,29 +53,29 @@ import { getEffectiveLLMConfig } from '../../config/effective-llm.js';
|
|
|
53
53
|
export async function checkDextoAuthState(interactive = true, agentId = 'coding-agent') {
|
|
54
54
|
// Get the effective LLM config considering all layers
|
|
55
55
|
const effectiveLLM = await getEffectiveLLMConfig({ agentId });
|
|
56
|
-
// Not using dexto provider - nothing to check
|
|
57
|
-
if (!effectiveLLM || effectiveLLM.provider !== 'dexto') {
|
|
56
|
+
// Not using dexto-nova provider - nothing to check
|
|
57
|
+
if (!effectiveLLM || effectiveLLM.provider !== 'dexto-nova') {
|
|
58
58
|
return { shouldContinue: true };
|
|
59
59
|
}
|
|
60
|
-
// Using dexto provider - check if authenticated
|
|
60
|
+
// Using dexto-nova provider - check if authenticated
|
|
61
61
|
const authenticated = await isAuthenticated();
|
|
62
62
|
if (authenticated) {
|
|
63
63
|
return { shouldContinue: true };
|
|
64
64
|
}
|
|
65
|
-
// User is configured for Dexto credits but not logged in
|
|
65
|
+
// User is configured for Dexto Nova credits but not logged in
|
|
66
66
|
if (!interactive) {
|
|
67
67
|
// Non-interactive mode - just show error and exit
|
|
68
|
-
console.log(chalk.red('\n❌ You are configured to use Dexto credits but not logged in.\n'));
|
|
69
|
-
console.log(chalk.dim('Your preferences have provider: dexto, but no active session.\n'));
|
|
68
|
+
console.log(chalk.red('\n❌ You are configured to use Dexto Nova credits but not logged in.\n'));
|
|
69
|
+
console.log(chalk.dim('Your preferences have provider: Dexto Nova (dexto-nova), but no active session.\n'));
|
|
70
70
|
console.log(chalk.bold('To fix this:'));
|
|
71
|
-
console.log(chalk.cyan(' • dexto login') + chalk.dim(' - Log back in to use Dexto credits'));
|
|
71
|
+
console.log(chalk.cyan(' • dexto login') + chalk.dim(' - Log back in to use Dexto Nova credits'));
|
|
72
72
|
console.log(chalk.cyan(' • dexto setup') + chalk.dim(' - Configure a different provider (BYOK)'));
|
|
73
73
|
console.log();
|
|
74
74
|
return { shouldContinue: false, action: 'cancel' };
|
|
75
75
|
}
|
|
76
76
|
// Interactive mode - prompt user
|
|
77
77
|
console.log(chalk.yellow('\n⚠️ Dexto Authentication Required\n'));
|
|
78
|
-
console.log(chalk.dim('You are configured to use Dexto credits (provider:
|
|
78
|
+
console.log(chalk.dim('You are configured to use Dexto Nova credits (provider: Dexto Nova)'));
|
|
79
79
|
console.log(chalk.dim('but you are not currently logged in.\n'));
|
|
80
80
|
const action = await p.select({
|
|
81
81
|
message: 'How would you like to proceed?',
|
|
@@ -83,7 +83,7 @@ export async function checkDextoAuthState(interactive = true, agentId = 'coding-
|
|
|
83
83
|
{
|
|
84
84
|
value: 'login',
|
|
85
85
|
label: 'Log in to Dexto',
|
|
86
|
-
hint: 'Authenticate to use Dexto credits',
|
|
86
|
+
hint: 'Authenticate to use Dexto Nova credits',
|
|
87
87
|
},
|
|
88
88
|
{
|
|
89
89
|
value: 'setup',
|
|
@@ -10,7 +10,7 @@ import chalk from 'chalk';
|
|
|
10
10
|
export function validateCliOptions(opts) {
|
|
11
11
|
const allProviders = getSupportedProviders();
|
|
12
12
|
const supportedProviders = allProviders
|
|
13
|
-
.filter((p) => p !== 'dexto' || isDextoAuthEnabled())
|
|
13
|
+
.filter((p) => p !== 'dexto-nova' || isDextoAuthEnabled())
|
|
14
14
|
.map((p) => p.toLowerCase());
|
|
15
15
|
// Base schema for primitive shape
|
|
16
16
|
const cliOptionShape = z
|
|
@@ -22,7 +22,7 @@ interface ProviderOption {
|
|
|
22
22
|
* Provider configuration registry
|
|
23
23
|
* Organized by category for better UX
|
|
24
24
|
*
|
|
25
|
-
* Note: dexto is NOT included here - it's a transparent routing layer,
|
|
25
|
+
* Note: dexto-nova is NOT included here - it's a transparent routing layer,
|
|
26
26
|
* not a user-selectable provider. When logged into Dexto, requests are
|
|
27
27
|
* automatically routed through the Dexto gateway.
|
|
28
28
|
*/
|
|
@@ -35,7 +35,7 @@ export declare function selectProvider(): Promise<LLMProvider | '_back' | null>;
|
|
|
35
35
|
/**
|
|
36
36
|
* Get provider display name
|
|
37
37
|
*/
|
|
38
|
-
export declare function getProviderDisplayName(provider: LLMProvider): string;
|
|
38
|
+
export declare function getProviderDisplayName(provider: LLMProvider | string): string;
|
|
39
39
|
/**
|
|
40
40
|
* Get provider option info
|
|
41
41
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-setup.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/provider-setup.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,KAAK,WAAW,EAInB,MAAM,aAAa,CAAC;AAGrB;;GAEG;AACH,KAAK,gBAAgB,GAAG,aAAa,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,YAAY,CAAC;AAErF;;GAEG;AACH,UAAU,cAAc;IACpB,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CA8I1E,CAAC;AA0FF;;;GAGG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,WAAW,GAAG,OAAO,GAAG,IAAI,CAAC,CAoB5E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"provider-setup.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/provider-setup.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,KAAK,WAAW,EAInB,MAAM,aAAa,CAAC;AAGrB;;GAEG;AACH,KAAK,gBAAgB,GAAG,aAAa,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,YAAY,CAAC;AAErF;;GAEG;AACH,UAAU,cAAc;IACpB,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CA8I1E,CAAC;AA0FF;;;GAGG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,WAAW,GAAG,OAAO,GAAG,IAAI,CAAC,CAoB5E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,CAM7E;AAMD;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,WAAW,GAAG,cAAc,GAAG,SAAS,CAEjF;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB;WAlHmB,WAAW;WAAS,MAAM;UAAQ,MAAM;GAkHlC,CAAC;AAEvD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAIxE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAChC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,WAAW,GACtB;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CA0BpC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,OAAO,CAElF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACnC,QAAQ,EAAE,WAAW,GACtB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAAG,IAAI,CAwBrE;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAU3E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAEtE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,CAY7D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,CAE/D"}
|
|
@@ -8,7 +8,7 @@ import { getPrimaryApiKeyEnvVar } from '@dexto/agent-management';
|
|
|
8
8
|
* Provider configuration registry
|
|
9
9
|
* Organized by category for better UX
|
|
10
10
|
*
|
|
11
|
-
* Note: dexto is NOT included here - it's a transparent routing layer,
|
|
11
|
+
* Note: dexto-nova is NOT included here - it's a transparent routing layer,
|
|
12
12
|
* not a user-selectable provider. When logged into Dexto, requests are
|
|
13
13
|
* automatically routed through the Dexto gateway.
|
|
14
14
|
*/
|
|
@@ -259,7 +259,15 @@ export async function selectProvider() {
|
|
|
259
259
|
* Get provider display name
|
|
260
260
|
*/
|
|
261
261
|
export function getProviderDisplayName(provider) {
|
|
262
|
-
|
|
262
|
+
if (provider === 'dexto-nova')
|
|
263
|
+
return 'Dexto Nova';
|
|
264
|
+
if (isLLMProvider(provider)) {
|
|
265
|
+
return PROVIDER_REGISTRY[provider]?.label || provider;
|
|
266
|
+
}
|
|
267
|
+
return provider;
|
|
268
|
+
}
|
|
269
|
+
function isLLMProvider(value) {
|
|
270
|
+
return LLM_PROVIDERS.includes(value);
|
|
263
271
|
}
|
|
264
272
|
/**
|
|
265
273
|
* Get provider option info
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
* import { getEffectiveLLMConfig } from './config/effective-llm.js';
|
|
28
28
|
*
|
|
29
29
|
* const llm = await getEffectiveLLMConfig();
|
|
30
|
-
* if (llm?.provider === 'dexto') {
|
|
31
|
-
* // User is configured to use Dexto credits
|
|
30
|
+
* if (llm?.provider === 'dexto-nova') {
|
|
31
|
+
* // User is configured to use Dexto Nova credits
|
|
32
32
|
* }
|
|
33
33
|
*
|
|
34
34
|
* console.log(`Using ${llm.model} via ${llm.provider} (from ${llm.source})`);
|
|
@@ -50,7 +50,7 @@ export type LLMConfigSource = 'local' | 'preferences' | 'bundled';
|
|
|
50
50
|
* The resolved effective LLM configuration with source tracking
|
|
51
51
|
*/
|
|
52
52
|
export interface EffectiveLLMConfig {
|
|
53
|
-
/** LLM provider (e.g., 'dexto', 'anthropic', 'openai') */
|
|
53
|
+
/** LLM provider (e.g., 'dexto-nova', 'anthropic', 'openai') */
|
|
54
54
|
provider: LLMProvider;
|
|
55
55
|
/** Model identifier (format depends on provider) */
|
|
56
56
|
model: string;
|
|
@@ -110,7 +110,7 @@ export declare function getEffectiveLLMConfig(options?: GetEffectiveLLMConfigOpt
|
|
|
110
110
|
* the Dexto provider (which requires authentication).
|
|
111
111
|
*
|
|
112
112
|
* @param options - Same options as getEffectiveLLMConfig
|
|
113
|
-
* @returns true if using provider: dexto, false otherwise
|
|
113
|
+
* @returns true if using provider: dexto-nova, false otherwise
|
|
114
114
|
*
|
|
115
115
|
* @example
|
|
116
116
|
* ```typescript
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effective-llm.d.ts","sourceRoot":"","sources":["../../src/config/effective-llm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAS/C;;GAEG;AACH,MAAM,MAAM,eAAe,GACrB,OAAO,GACP,aAAa,GACb,SAAS,CAAC;AAEhB;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B
|
|
1
|
+
{"version":3,"file":"effective-llm.d.ts","sourceRoot":"","sources":["../../src/config/effective-llm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAS/C;;GAEG;AACH,MAAM,MAAM,eAAe,GACrB,OAAO,GACP,aAAa,GACb,SAAS,CAAC;AAEhB;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,+DAA+D;IAC/D,QAAQ,EAAE,WAAW,CAAC;IACtB,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,MAAM,EAAE,eAAe,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IACzC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,qBAAqB,CACvC,OAAO,GAAE,4BAAiC,GAC3C,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAsFpC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,mBAAmB,CACrC,OAAO,GAAE,4BAAiC,GAC3C,OAAO,CAAC,OAAO,CAAC,CAGlB"}
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
* import { getEffectiveLLMConfig } from './config/effective-llm.js';
|
|
28
28
|
*
|
|
29
29
|
* const llm = await getEffectiveLLMConfig();
|
|
30
|
-
* if (llm?.provider === 'dexto') {
|
|
31
|
-
* // User is configured to use Dexto credits
|
|
30
|
+
* if (llm?.provider === 'dexto-nova') {
|
|
31
|
+
* // User is configured to use Dexto Nova credits
|
|
32
32
|
* }
|
|
33
33
|
*
|
|
34
34
|
* console.log(`Using ${llm.model} via ${llm.provider} (from ${llm.source})`);
|
|
@@ -156,7 +156,7 @@ export async function getEffectiveLLMConfig(options = {}) {
|
|
|
156
156
|
* the Dexto provider (which requires authentication).
|
|
157
157
|
*
|
|
158
158
|
* @param options - Same options as getEffectiveLLMConfig
|
|
159
|
-
* @returns true if using provider: dexto, false otherwise
|
|
159
|
+
* @returns true if using provider: dexto-nova, false otherwise
|
|
160
160
|
*
|
|
161
161
|
* @example
|
|
162
162
|
* ```typescript
|
|
@@ -167,5 +167,5 @@ export async function getEffectiveLLMConfig(options = {}) {
|
|
|
167
167
|
*/
|
|
168
168
|
export async function isUsingDextoCredits(options = {}) {
|
|
169
169
|
const config = await getEffectiveLLMConfig(options);
|
|
170
|
-
return config?.provider === 'dexto';
|
|
170
|
+
return config?.provider === 'dexto-nova';
|
|
171
171
|
}
|
package/dist/index.js
CHANGED
|
@@ -28,7 +28,7 @@ if (isDextoAuthEnabled()) {
|
|
|
28
28
|
process.env.DEXTO_API_KEY = dextoApiKey;
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
import { logger, DextoLogger, FileTransport, DextoLogComponent, getProviderFromModel, getAllSupportedModels, DextoAgent, isPath, resolveApiKeyForProvider, getPrimaryApiKeyEnvVar, } from '@dexto/core';
|
|
31
|
+
import { logger, DextoLogger, FileTransport, DextoLogComponent, getProviderFromModel, getAllSupportedModels, startLlmRegistryAutoUpdate, DextoAgent, isPath, resolveApiKeyForProvider, getPrimaryApiKeyEnvVar, } from '@dexto/core';
|
|
32
32
|
import { resolveAgentPath, loadAgentConfig, globalPreferencesExist, loadGlobalPreferences, resolveBundledScript, getDextoPath, } from '@dexto/agent-management';
|
|
33
33
|
import { startHonoApiServer } from './api/server-hono.js';
|
|
34
34
|
import { validateCliOptions, handleCliOptionsError } from './cli/utils/options.js';
|
|
@@ -54,6 +54,9 @@ await initAnalytics({ appVersion: pkg.version });
|
|
|
54
54
|
// Start version check early (non-blocking)
|
|
55
55
|
// We'll check the result later and display notification for interactive modes
|
|
56
56
|
const versionCheckPromise = checkForUpdates(pkg.version);
|
|
57
|
+
// Start self-updating LLM registry refresh (models.dev + OpenRouter mapping).
|
|
58
|
+
// Uses a cached snapshot on disk and refreshes in the background.
|
|
59
|
+
startLlmRegistryAutoUpdate();
|
|
57
60
|
/**
|
|
58
61
|
* Recursively removes null values from an object.
|
|
59
62
|
* This handles YAML files that have explicit `apiKey: null` entries
|
|
@@ -748,9 +751,10 @@ program
|
|
|
748
751
|
program
|
|
749
752
|
.command('billing')
|
|
750
753
|
.description('Show billing status and credit balance')
|
|
751
|
-
.
|
|
754
|
+
.option('--buy', 'Open Dexto Nova credits purchase page')
|
|
755
|
+
.action(withAnalytics('billing', async (options) => {
|
|
752
756
|
try {
|
|
753
|
-
await handleBillingStatusCommand();
|
|
757
|
+
await handleBillingStatusCommand(options);
|
|
754
758
|
safeExit('billing', 0);
|
|
755
759
|
}
|
|
756
760
|
catch (err) {
|
|
@@ -913,6 +917,11 @@ program
|
|
|
913
917
|
}
|
|
914
918
|
// ——— Infer provider & API key from model ———
|
|
915
919
|
if (opts.model) {
|
|
920
|
+
if (opts.model.includes('/')) {
|
|
921
|
+
console.error(`❌ Model '${opts.model}' looks like an OpenRouter-format ID (provider/model).`);
|
|
922
|
+
console.error(` This is ambiguous for --model inference. Please also pass --provider (e.g. --provider dexto-nova or --provider openrouter).`);
|
|
923
|
+
safeExit('main', 1, 'ambiguous-model');
|
|
924
|
+
}
|
|
916
925
|
let provider;
|
|
917
926
|
try {
|
|
918
927
|
provider = getProviderFromModel(opts.model);
|