@dexto/tui 1.6.22 → 1.6.25
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/agent-backend.d.ts +1 -1
- package/dist/agent-backend.d.ts.map +1 -1
- package/dist/components/overlays/InsufficientCreditsOverlay.cjs +264 -0
- package/dist/components/overlays/InsufficientCreditsOverlay.d.ts +14 -0
- package/dist/components/overlays/InsufficientCreditsOverlay.d.ts.map +1 -0
- package/dist/components/overlays/InsufficientCreditsOverlay.js +252 -0
- package/dist/components/overlays/custom-model-wizard/provider-config.cjs +1 -1
- package/dist/components/overlays/custom-model-wizard/provider-config.js +1 -1
- package/dist/containers/OverlayContainer.cjs +75 -22
- package/dist/containers/OverlayContainer.d.ts.map +1 -1
- package/dist/containers/OverlayContainer.js +75 -22
- package/dist/hooks/useAgentEvents.cjs +5 -2
- package/dist/hooks/useAgentEvents.d.ts.map +1 -1
- package/dist/hooks/useAgentEvents.js +5 -2
- package/dist/hooks/useCLIState.cjs +1 -0
- package/dist/hooks/useCLIState.d.ts.map +1 -1
- package/dist/hooks/useCLIState.js +1 -0
- package/dist/host/index.cjs +16 -0
- package/dist/host/index.d.ts +12 -0
- package/dist/host/index.d.ts.map +1 -1
- package/dist/host/index.js +14 -0
- package/dist/index.d.cts +7 -1
- package/dist/services/processStream.cjs +74 -14
- package/dist/services/processStream.d.ts.map +1 -1
- package/dist/services/processStream.js +75 -15
- package/dist/services/processStream.test.cjs +94 -0
- package/dist/services/processStream.test.js +95 -1
- package/dist/state/initialState.cjs +1 -0
- package/dist/state/initialState.d.ts.map +1 -1
- package/dist/state/initialState.js +1 -0
- package/dist/state/types.d.ts +5 -1
- package/dist/state/types.d.ts.map +1 -1
- package/dist/utils/dexto-auth-refresh.cjs +55 -0
- package/dist/utils/dexto-auth-refresh.d.ts +3 -0
- package/dist/utils/dexto-auth-refresh.d.ts.map +1 -0
- package/dist/utils/dexto-auth-refresh.js +31 -0
- package/dist/utils/dexto-auth-refresh.test.cjs +122 -0
- package/dist/utils/dexto-auth-refresh.test.d.ts +2 -0
- package/dist/utils/dexto-auth-refresh.test.d.ts.map +1 -0
- package/dist/utils/dexto-auth-refresh.test.js +121 -0
- package/package.json +4 -4
|
@@ -48,6 +48,53 @@ function buildErrorContent(error, prefix) {
|
|
|
48
48
|
}
|
|
49
49
|
return errorContent;
|
|
50
50
|
}
|
|
51
|
+
function getErrorCode(error) {
|
|
52
|
+
if (typeof error !== "object" || error === null) {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
const code = Reflect.get(error, "code");
|
|
56
|
+
return typeof code === "string" && code.length > 0 ? code : null;
|
|
57
|
+
}
|
|
58
|
+
function extractInsufficientCreditsBalance(error) {
|
|
59
|
+
if (typeof error === "object" && error !== null) {
|
|
60
|
+
const context = Reflect.get(error, "context");
|
|
61
|
+
if (typeof context === "object" && context !== null) {
|
|
62
|
+
const balance = Reflect.get(context, "balance");
|
|
63
|
+
if (typeof balance === "number" && Number.isFinite(balance)) {
|
|
64
|
+
return balance;
|
|
65
|
+
}
|
|
66
|
+
if (typeof balance === "string") {
|
|
67
|
+
const parsed2 = Number.parseFloat(balance);
|
|
68
|
+
if (Number.isFinite(parsed2)) {
|
|
69
|
+
return parsed2;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
75
|
+
const match = message.match(/Balance:\s*\$?(-?[\d.]+)/i);
|
|
76
|
+
if (!match) {
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
const parsed = Number.parseFloat(match[1] ?? "");
|
|
80
|
+
return Number.isFinite(parsed) ? parsed : null;
|
|
81
|
+
}
|
|
82
|
+
function buildInsufficientCreditsContent(balance) {
|
|
83
|
+
if (balance === null) {
|
|
84
|
+
return "Out of Dexto Nova credits.\nUse the billing prompt to top up and retry your request.";
|
|
85
|
+
}
|
|
86
|
+
return `Out of Dexto Nova credits. Current balance: $${balance.toFixed(2)}.
|
|
87
|
+
Use the billing prompt to top up and retry your request.`;
|
|
88
|
+
}
|
|
89
|
+
function hasMeaningfulTokenUsageForAnalytics(tokenUsage, estimatedCost) {
|
|
90
|
+
if (estimatedCost !== void 0) {
|
|
91
|
+
return true;
|
|
92
|
+
}
|
|
93
|
+
if (!tokenUsage) {
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
return (tokenUsage.inputTokens ?? 0) > 0 || (tokenUsage.outputTokens ?? 0) > 0 || (tokenUsage.reasoningTokens ?? 0) > 0 || (tokenUsage.cacheReadTokens ?? 0) > 0 || (tokenUsage.cacheWriteTokens ?? 0) > 0 || (tokenUsage.totalTokens ?? 0) > 0;
|
|
97
|
+
}
|
|
51
98
|
async function processStream(iterator, setters, options) {
|
|
52
99
|
const {
|
|
53
100
|
setMessages,
|
|
@@ -323,13 +370,12 @@ async function processStream(iterator, setters, options) {
|
|
|
323
370
|
state.cumulativeOutputTokens += event.tokenUsage.outputTokens;
|
|
324
371
|
}
|
|
325
372
|
}
|
|
326
|
-
if (
|
|
373
|
+
if (hasMeaningfulTokenUsageForAnalytics(event.tokenUsage, event.estimatedCost)) {
|
|
327
374
|
let estimateAccuracyPercent;
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
);
|
|
375
|
+
const actualInputTokens = event.tokenUsage?.inputTokens;
|
|
376
|
+
if (event.estimatedInputTokens !== void 0 && actualInputTokens) {
|
|
377
|
+
const diff = event.estimatedInputTokens - actualInputTokens;
|
|
378
|
+
estimateAccuracyPercent = Math.round(diff / actualInputTokens * 100);
|
|
333
379
|
}
|
|
334
380
|
(0, import_host.captureAnalytics)("dexto_llm_tokens_consumed", {
|
|
335
381
|
source: "cli",
|
|
@@ -338,12 +384,18 @@ async function processStream(iterator, setters, options) {
|
|
|
338
384
|
model: event.model,
|
|
339
385
|
reasoningVariant: event.reasoningVariant ?? void 0,
|
|
340
386
|
reasoningBudgetTokens: event.reasoningBudgetTokens ?? void 0,
|
|
341
|
-
inputTokens: event.tokenUsage
|
|
342
|
-
outputTokens: event.tokenUsage
|
|
343
|
-
reasoningTokens: event.tokenUsage
|
|
344
|
-
totalTokens: event.tokenUsage
|
|
345
|
-
cacheReadTokens: event.tokenUsage
|
|
346
|
-
cacheWriteTokens: event.tokenUsage
|
|
387
|
+
inputTokens: event.tokenUsage?.inputTokens,
|
|
388
|
+
outputTokens: event.tokenUsage?.outputTokens,
|
|
389
|
+
reasoningTokens: event.tokenUsage?.reasoningTokens,
|
|
390
|
+
totalTokens: event.tokenUsage?.totalTokens,
|
|
391
|
+
cacheReadTokens: event.tokenUsage?.cacheReadTokens,
|
|
392
|
+
cacheWriteTokens: event.tokenUsage?.cacheWriteTokens,
|
|
393
|
+
estimatedCostUsd: event.estimatedCost,
|
|
394
|
+
inputCostUsd: event.costBreakdown?.inputUsd,
|
|
395
|
+
outputCostUsd: event.costBreakdown?.outputUsd,
|
|
396
|
+
reasoningCostUsd: event.costBreakdown?.reasoningUsd,
|
|
397
|
+
cacheReadCostUsd: event.costBreakdown?.cacheReadUsd,
|
|
398
|
+
cacheWriteCostUsd: event.costBreakdown?.cacheWriteUsd,
|
|
347
399
|
estimatedInputTokens: event.estimatedInputTokens,
|
|
348
400
|
estimateAccuracyPercent
|
|
349
401
|
});
|
|
@@ -564,7 +616,9 @@ ${import_chalk.default.dim(callDescription)}`;
|
|
|
564
616
|
break;
|
|
565
617
|
}
|
|
566
618
|
case "llm:error": {
|
|
567
|
-
const
|
|
619
|
+
const insufficientCredits = getErrorCode(event.error) === import_core.LLMErrorCode.INSUFFICIENT_CREDITS;
|
|
620
|
+
const insufficientCreditsBalance = insufficientCredits ? extractInsufficientCreditsBalance(event.error) : null;
|
|
621
|
+
const errorContent = insufficientCredits ? buildInsufficientCreditsContent(insufficientCreditsBalance) : buildErrorContent(event.error, "Error: ");
|
|
568
622
|
setMessages((prev) => [
|
|
569
623
|
...prev,
|
|
570
624
|
{
|
|
@@ -585,7 +639,13 @@ ${import_chalk.default.dim(callDescription)}`;
|
|
|
585
639
|
...prev,
|
|
586
640
|
isProcessing: false,
|
|
587
641
|
isCancelling: false,
|
|
588
|
-
isThinking: false
|
|
642
|
+
isThinking: false,
|
|
643
|
+
...insufficientCredits ? {
|
|
644
|
+
activeOverlay: "insufficient-credits",
|
|
645
|
+
insufficientCredits: {
|
|
646
|
+
balanceUsd: insufficientCreditsBalance
|
|
647
|
+
}
|
|
648
|
+
} : {}
|
|
589
649
|
}));
|
|
590
650
|
}
|
|
591
651
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processStream.d.ts","sourceRoot":"","sources":["../../src/services/processStream.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAuB,MAAM,aAAa,CAAC;AAGvE,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAc,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"processStream.d.ts","sourceRoot":"","sources":["../../src/services/processStream.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAuB,MAAM,aAAa,CAAC;AAGvE,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAc,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAoEvE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,2DAA2D;IAC3D,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC7D,oFAAoF;IACpF,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACpE,iFAAiF;IACjF,iBAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACnE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD,kEAAkE;IAClE,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,EAAE,YAAY,CAAC,CAAC,CAAC;IAC3F,yDAAyD;IACzD,iBAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,aAAa,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IAC/F,4DAA4D;IAC5D,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1E,uDAAuD;IACvD,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;CAC7E;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,2FAA2F;IAC3F,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,2FAA2F;IAC3F,mBAAmB,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAC1C,wFAAwF;IACxF,oBAAoB,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAC3C,yDAAyD;IACzD,QAAQ,EAAE,IAAI,CAAC,OAAO,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IAC5D,8DAA8D;IAC9D,YAAY,CAAC,EAAE,OAAO,+BAA+B,EAAE,wBAAwB,CAAC;IAChF,kEAAkE;IAClE,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;CAC3F;AAoDD;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CAC/B,QAAQ,EAAE,qBAAqB,CAAC,cAAc,CAAC,EAC/C,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,oBAAoB,GAC9B,OAAO,CAAC,IAAI,CAAC,CA6rCf"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createDebugLogger } from "../utils/debugLog.js";
|
|
2
|
-
import { ApprovalType as ApprovalTypeEnum, ApprovalStatus } from "@dexto/core";
|
|
2
|
+
import { ApprovalType as ApprovalTypeEnum, ApprovalStatus, LLMErrorCode } from "@dexto/core";
|
|
3
3
|
import { generateMessageId } from "../utils/idGenerator.js";
|
|
4
4
|
import { checkForSplit } from "../utils/streamSplitter.js";
|
|
5
5
|
import { formatToolHeader, shouldHideTool } from "../utils/messageFormatting.js";
|
|
@@ -15,6 +15,53 @@ function buildErrorContent(error, prefix) {
|
|
|
15
15
|
}
|
|
16
16
|
return errorContent;
|
|
17
17
|
}
|
|
18
|
+
function getErrorCode(error) {
|
|
19
|
+
if (typeof error !== "object" || error === null) {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
const code = Reflect.get(error, "code");
|
|
23
|
+
return typeof code === "string" && code.length > 0 ? code : null;
|
|
24
|
+
}
|
|
25
|
+
function extractInsufficientCreditsBalance(error) {
|
|
26
|
+
if (typeof error === "object" && error !== null) {
|
|
27
|
+
const context = Reflect.get(error, "context");
|
|
28
|
+
if (typeof context === "object" && context !== null) {
|
|
29
|
+
const balance = Reflect.get(context, "balance");
|
|
30
|
+
if (typeof balance === "number" && Number.isFinite(balance)) {
|
|
31
|
+
return balance;
|
|
32
|
+
}
|
|
33
|
+
if (typeof balance === "string") {
|
|
34
|
+
const parsed2 = Number.parseFloat(balance);
|
|
35
|
+
if (Number.isFinite(parsed2)) {
|
|
36
|
+
return parsed2;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
42
|
+
const match = message.match(/Balance:\s*\$?(-?[\d.]+)/i);
|
|
43
|
+
if (!match) {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
const parsed = Number.parseFloat(match[1] ?? "");
|
|
47
|
+
return Number.isFinite(parsed) ? parsed : null;
|
|
48
|
+
}
|
|
49
|
+
function buildInsufficientCreditsContent(balance) {
|
|
50
|
+
if (balance === null) {
|
|
51
|
+
return "Out of Dexto Nova credits.\nUse the billing prompt to top up and retry your request.";
|
|
52
|
+
}
|
|
53
|
+
return `Out of Dexto Nova credits. Current balance: $${balance.toFixed(2)}.
|
|
54
|
+
Use the billing prompt to top up and retry your request.`;
|
|
55
|
+
}
|
|
56
|
+
function hasMeaningfulTokenUsageForAnalytics(tokenUsage, estimatedCost) {
|
|
57
|
+
if (estimatedCost !== void 0) {
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
if (!tokenUsage) {
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
return (tokenUsage.inputTokens ?? 0) > 0 || (tokenUsage.outputTokens ?? 0) > 0 || (tokenUsage.reasoningTokens ?? 0) > 0 || (tokenUsage.cacheReadTokens ?? 0) > 0 || (tokenUsage.cacheWriteTokens ?? 0) > 0 || (tokenUsage.totalTokens ?? 0) > 0;
|
|
64
|
+
}
|
|
18
65
|
async function processStream(iterator, setters, options) {
|
|
19
66
|
const {
|
|
20
67
|
setMessages,
|
|
@@ -290,13 +337,12 @@ async function processStream(iterator, setters, options) {
|
|
|
290
337
|
state.cumulativeOutputTokens += event.tokenUsage.outputTokens;
|
|
291
338
|
}
|
|
292
339
|
}
|
|
293
|
-
if (
|
|
340
|
+
if (hasMeaningfulTokenUsageForAnalytics(event.tokenUsage, event.estimatedCost)) {
|
|
294
341
|
let estimateAccuracyPercent;
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
);
|
|
342
|
+
const actualInputTokens = event.tokenUsage?.inputTokens;
|
|
343
|
+
if (event.estimatedInputTokens !== void 0 && actualInputTokens) {
|
|
344
|
+
const diff = event.estimatedInputTokens - actualInputTokens;
|
|
345
|
+
estimateAccuracyPercent = Math.round(diff / actualInputTokens * 100);
|
|
300
346
|
}
|
|
301
347
|
captureAnalytics("dexto_llm_tokens_consumed", {
|
|
302
348
|
source: "cli",
|
|
@@ -305,12 +351,18 @@ async function processStream(iterator, setters, options) {
|
|
|
305
351
|
model: event.model,
|
|
306
352
|
reasoningVariant: event.reasoningVariant ?? void 0,
|
|
307
353
|
reasoningBudgetTokens: event.reasoningBudgetTokens ?? void 0,
|
|
308
|
-
inputTokens: event.tokenUsage
|
|
309
|
-
outputTokens: event.tokenUsage
|
|
310
|
-
reasoningTokens: event.tokenUsage
|
|
311
|
-
totalTokens: event.tokenUsage
|
|
312
|
-
cacheReadTokens: event.tokenUsage
|
|
313
|
-
cacheWriteTokens: event.tokenUsage
|
|
354
|
+
inputTokens: event.tokenUsage?.inputTokens,
|
|
355
|
+
outputTokens: event.tokenUsage?.outputTokens,
|
|
356
|
+
reasoningTokens: event.tokenUsage?.reasoningTokens,
|
|
357
|
+
totalTokens: event.tokenUsage?.totalTokens,
|
|
358
|
+
cacheReadTokens: event.tokenUsage?.cacheReadTokens,
|
|
359
|
+
cacheWriteTokens: event.tokenUsage?.cacheWriteTokens,
|
|
360
|
+
estimatedCostUsd: event.estimatedCost,
|
|
361
|
+
inputCostUsd: event.costBreakdown?.inputUsd,
|
|
362
|
+
outputCostUsd: event.costBreakdown?.outputUsd,
|
|
363
|
+
reasoningCostUsd: event.costBreakdown?.reasoningUsd,
|
|
364
|
+
cacheReadCostUsd: event.costBreakdown?.cacheReadUsd,
|
|
365
|
+
cacheWriteCostUsd: event.costBreakdown?.cacheWriteUsd,
|
|
314
366
|
estimatedInputTokens: event.estimatedInputTokens,
|
|
315
367
|
estimateAccuracyPercent
|
|
316
368
|
});
|
|
@@ -531,7 +583,9 @@ ${chalk.dim(callDescription)}`;
|
|
|
531
583
|
break;
|
|
532
584
|
}
|
|
533
585
|
case "llm:error": {
|
|
534
|
-
const
|
|
586
|
+
const insufficientCredits = getErrorCode(event.error) === LLMErrorCode.INSUFFICIENT_CREDITS;
|
|
587
|
+
const insufficientCreditsBalance = insufficientCredits ? extractInsufficientCreditsBalance(event.error) : null;
|
|
588
|
+
const errorContent = insufficientCredits ? buildInsufficientCreditsContent(insufficientCreditsBalance) : buildErrorContent(event.error, "Error: ");
|
|
535
589
|
setMessages((prev) => [
|
|
536
590
|
...prev,
|
|
537
591
|
{
|
|
@@ -552,7 +606,13 @@ ${chalk.dim(callDescription)}`;
|
|
|
552
606
|
...prev,
|
|
553
607
|
isProcessing: false,
|
|
554
608
|
isCancelling: false,
|
|
555
|
-
isThinking: false
|
|
609
|
+
isThinking: false,
|
|
610
|
+
...insufficientCredits ? {
|
|
611
|
+
activeOverlay: "insufficient-credits",
|
|
612
|
+
insufficientCredits: {
|
|
613
|
+
balanceUsd: insufficientCreditsBalance
|
|
614
|
+
}
|
|
615
|
+
} : {}
|
|
556
616
|
}));
|
|
557
617
|
}
|
|
558
618
|
break;
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var import_vitest = require("vitest");
|
|
3
|
+
var import_core = require("@dexto/core");
|
|
3
4
|
var import_processStream = require("./processStream.js");
|
|
5
|
+
const { captureAnalyticsMock } = import_vitest.vi.hoisted(() => ({
|
|
6
|
+
captureAnalyticsMock: import_vitest.vi.fn()
|
|
7
|
+
}));
|
|
8
|
+
import_vitest.vi.mock("../host/index.js", () => ({
|
|
9
|
+
captureAnalytics: captureAnalyticsMock
|
|
10
|
+
}));
|
|
4
11
|
function isStateUpdater(action) {
|
|
5
12
|
return typeof action === "function";
|
|
6
13
|
}
|
|
@@ -49,6 +56,7 @@ function createSetters() {
|
|
|
49
56
|
backgroundTasksExpanded: false,
|
|
50
57
|
backgroundTasks: [],
|
|
51
58
|
chatgptRateLimitStatus: null,
|
|
59
|
+
insufficientCredits: null,
|
|
52
60
|
planModeActive: false,
|
|
53
61
|
planModeInitialized: false,
|
|
54
62
|
commandOutput: null,
|
|
@@ -77,6 +85,9 @@ function createSetters() {
|
|
|
77
85
|
};
|
|
78
86
|
}
|
|
79
87
|
(0, import_vitest.describe)("processStream (reasoning)", () => {
|
|
88
|
+
(0, import_vitest.beforeEach)(() => {
|
|
89
|
+
captureAnalyticsMock.mockClear();
|
|
90
|
+
});
|
|
80
91
|
(0, import_vitest.it)("attaches streamed reasoning chunks to the assistant message", async () => {
|
|
81
92
|
const { getMessages, getPendingMessages, setters } = createSetters();
|
|
82
93
|
const events = [
|
|
@@ -253,4 +264,87 @@ function createSetters() {
|
|
|
253
264
|
(0, import_vitest.expect)(assistantMessages[1]?.content).toBe("Final");
|
|
254
265
|
(0, import_vitest.expect)(assistantMessages[1]?.reasoning).toBeUndefined();
|
|
255
266
|
});
|
|
267
|
+
(0, import_vitest.it)("shows the billing recovery overlay for insufficient credits", async () => {
|
|
268
|
+
const { getMessages, getUi, setters } = createSetters();
|
|
269
|
+
const error = Object.assign(new Error("Insufficient Dexto credits. Balance: $0.00"), {
|
|
270
|
+
code: import_core.LLMErrorCode.INSUFFICIENT_CREDITS,
|
|
271
|
+
context: {
|
|
272
|
+
balance: 0
|
|
273
|
+
},
|
|
274
|
+
recovery: "Run `dexto billing` to check your balance"
|
|
275
|
+
});
|
|
276
|
+
const events = [
|
|
277
|
+
{
|
|
278
|
+
name: "llm:error",
|
|
279
|
+
sessionId: "test-session",
|
|
280
|
+
error
|
|
281
|
+
}
|
|
282
|
+
];
|
|
283
|
+
await (0, import_processStream.processStream)(eventStream(events), setters, {
|
|
284
|
+
useStreaming: true,
|
|
285
|
+
autoApproveEditsRef: { current: false },
|
|
286
|
+
bypassPermissionsRef: { current: false },
|
|
287
|
+
eventBus: { emit: import_vitest.vi.fn() }
|
|
288
|
+
});
|
|
289
|
+
const ui = getUi();
|
|
290
|
+
(0, import_vitest.expect)(ui.activeOverlay).toBe("insufficient-credits");
|
|
291
|
+
(0, import_vitest.expect)(ui.insufficientCredits).toEqual({ balanceUsd: 0 });
|
|
292
|
+
(0, import_vitest.expect)(ui.isProcessing).toBe(false);
|
|
293
|
+
const latestMessage = getMessages().at(-1);
|
|
294
|
+
(0, import_vitest.expect)(latestMessage?.content).toContain("Out of Dexto Nova credits");
|
|
295
|
+
(0, import_vitest.expect)(latestMessage?.content).not.toContain("Error:");
|
|
296
|
+
});
|
|
297
|
+
(0, import_vitest.it)("captures analytics cost fields for priced llm responses", async () => {
|
|
298
|
+
const { setters } = createSetters();
|
|
299
|
+
const events = [
|
|
300
|
+
{ name: "llm:thinking", sessionId: "test-session" },
|
|
301
|
+
{
|
|
302
|
+
name: "llm:response",
|
|
303
|
+
sessionId: "test-session",
|
|
304
|
+
content: "Priced response",
|
|
305
|
+
provider: "openai",
|
|
306
|
+
model: "gpt-4",
|
|
307
|
+
estimatedCost: 15e-4,
|
|
308
|
+
costBreakdown: {
|
|
309
|
+
inputUsd: 1e-3,
|
|
310
|
+
outputUsd: 5e-4,
|
|
311
|
+
reasoningUsd: 0,
|
|
312
|
+
cacheReadUsd: 0,
|
|
313
|
+
cacheWriteUsd: 0,
|
|
314
|
+
totalUsd: 15e-4
|
|
315
|
+
},
|
|
316
|
+
tokenUsage: {
|
|
317
|
+
inputTokens: 10,
|
|
318
|
+
outputTokens: 20,
|
|
319
|
+
totalTokens: 30
|
|
320
|
+
}
|
|
321
|
+
},
|
|
322
|
+
{
|
|
323
|
+
name: "run:complete",
|
|
324
|
+
sessionId: "test-session",
|
|
325
|
+
finishReason: "stop",
|
|
326
|
+
stepCount: 1,
|
|
327
|
+
durationMs: 1
|
|
328
|
+
}
|
|
329
|
+
];
|
|
330
|
+
await (0, import_processStream.processStream)(eventStream(events), setters, {
|
|
331
|
+
useStreaming: false,
|
|
332
|
+
autoApproveEditsRef: { current: false },
|
|
333
|
+
bypassPermissionsRef: { current: false },
|
|
334
|
+
eventBus: { emit: import_vitest.vi.fn() }
|
|
335
|
+
});
|
|
336
|
+
(0, import_vitest.expect)(captureAnalyticsMock).toHaveBeenCalledWith(
|
|
337
|
+
"dexto_llm_tokens_consumed",
|
|
338
|
+
import_vitest.expect.objectContaining({
|
|
339
|
+
source: "cli",
|
|
340
|
+
sessionId: "test-session",
|
|
341
|
+
estimatedCostUsd: 15e-4,
|
|
342
|
+
inputCostUsd: 1e-3,
|
|
343
|
+
outputCostUsd: 5e-4,
|
|
344
|
+
reasoningCostUsd: 0,
|
|
345
|
+
cacheReadCostUsd: 0,
|
|
346
|
+
cacheWriteCostUsd: 0
|
|
347
|
+
})
|
|
348
|
+
);
|
|
349
|
+
});
|
|
256
350
|
});
|
|
@@ -1,5 +1,12 @@
|
|
|
1
|
-
import { describe, expect, it, vi } from "vitest";
|
|
1
|
+
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
2
|
+
import { LLMErrorCode } from "@dexto/core";
|
|
2
3
|
import { processStream } from "./processStream.js";
|
|
4
|
+
const { captureAnalyticsMock } = vi.hoisted(() => ({
|
|
5
|
+
captureAnalyticsMock: vi.fn()
|
|
6
|
+
}));
|
|
7
|
+
vi.mock("../host/index.js", () => ({
|
|
8
|
+
captureAnalytics: captureAnalyticsMock
|
|
9
|
+
}));
|
|
3
10
|
function isStateUpdater(action) {
|
|
4
11
|
return typeof action === "function";
|
|
5
12
|
}
|
|
@@ -48,6 +55,7 @@ function createSetters() {
|
|
|
48
55
|
backgroundTasksExpanded: false,
|
|
49
56
|
backgroundTasks: [],
|
|
50
57
|
chatgptRateLimitStatus: null,
|
|
58
|
+
insufficientCredits: null,
|
|
51
59
|
planModeActive: false,
|
|
52
60
|
planModeInitialized: false,
|
|
53
61
|
commandOutput: null,
|
|
@@ -76,6 +84,9 @@ function createSetters() {
|
|
|
76
84
|
};
|
|
77
85
|
}
|
|
78
86
|
describe("processStream (reasoning)", () => {
|
|
87
|
+
beforeEach(() => {
|
|
88
|
+
captureAnalyticsMock.mockClear();
|
|
89
|
+
});
|
|
79
90
|
it("attaches streamed reasoning chunks to the assistant message", async () => {
|
|
80
91
|
const { getMessages, getPendingMessages, setters } = createSetters();
|
|
81
92
|
const events = [
|
|
@@ -252,4 +263,87 @@ describe("processStream (reasoning)", () => {
|
|
|
252
263
|
expect(assistantMessages[1]?.content).toBe("Final");
|
|
253
264
|
expect(assistantMessages[1]?.reasoning).toBeUndefined();
|
|
254
265
|
});
|
|
266
|
+
it("shows the billing recovery overlay for insufficient credits", async () => {
|
|
267
|
+
const { getMessages, getUi, setters } = createSetters();
|
|
268
|
+
const error = Object.assign(new Error("Insufficient Dexto credits. Balance: $0.00"), {
|
|
269
|
+
code: LLMErrorCode.INSUFFICIENT_CREDITS,
|
|
270
|
+
context: {
|
|
271
|
+
balance: 0
|
|
272
|
+
},
|
|
273
|
+
recovery: "Run `dexto billing` to check your balance"
|
|
274
|
+
});
|
|
275
|
+
const events = [
|
|
276
|
+
{
|
|
277
|
+
name: "llm:error",
|
|
278
|
+
sessionId: "test-session",
|
|
279
|
+
error
|
|
280
|
+
}
|
|
281
|
+
];
|
|
282
|
+
await processStream(eventStream(events), setters, {
|
|
283
|
+
useStreaming: true,
|
|
284
|
+
autoApproveEditsRef: { current: false },
|
|
285
|
+
bypassPermissionsRef: { current: false },
|
|
286
|
+
eventBus: { emit: vi.fn() }
|
|
287
|
+
});
|
|
288
|
+
const ui = getUi();
|
|
289
|
+
expect(ui.activeOverlay).toBe("insufficient-credits");
|
|
290
|
+
expect(ui.insufficientCredits).toEqual({ balanceUsd: 0 });
|
|
291
|
+
expect(ui.isProcessing).toBe(false);
|
|
292
|
+
const latestMessage = getMessages().at(-1);
|
|
293
|
+
expect(latestMessage?.content).toContain("Out of Dexto Nova credits");
|
|
294
|
+
expect(latestMessage?.content).not.toContain("Error:");
|
|
295
|
+
});
|
|
296
|
+
it("captures analytics cost fields for priced llm responses", async () => {
|
|
297
|
+
const { setters } = createSetters();
|
|
298
|
+
const events = [
|
|
299
|
+
{ name: "llm:thinking", sessionId: "test-session" },
|
|
300
|
+
{
|
|
301
|
+
name: "llm:response",
|
|
302
|
+
sessionId: "test-session",
|
|
303
|
+
content: "Priced response",
|
|
304
|
+
provider: "openai",
|
|
305
|
+
model: "gpt-4",
|
|
306
|
+
estimatedCost: 15e-4,
|
|
307
|
+
costBreakdown: {
|
|
308
|
+
inputUsd: 1e-3,
|
|
309
|
+
outputUsd: 5e-4,
|
|
310
|
+
reasoningUsd: 0,
|
|
311
|
+
cacheReadUsd: 0,
|
|
312
|
+
cacheWriteUsd: 0,
|
|
313
|
+
totalUsd: 15e-4
|
|
314
|
+
},
|
|
315
|
+
tokenUsage: {
|
|
316
|
+
inputTokens: 10,
|
|
317
|
+
outputTokens: 20,
|
|
318
|
+
totalTokens: 30
|
|
319
|
+
}
|
|
320
|
+
},
|
|
321
|
+
{
|
|
322
|
+
name: "run:complete",
|
|
323
|
+
sessionId: "test-session",
|
|
324
|
+
finishReason: "stop",
|
|
325
|
+
stepCount: 1,
|
|
326
|
+
durationMs: 1
|
|
327
|
+
}
|
|
328
|
+
];
|
|
329
|
+
await processStream(eventStream(events), setters, {
|
|
330
|
+
useStreaming: false,
|
|
331
|
+
autoApproveEditsRef: { current: false },
|
|
332
|
+
bypassPermissionsRef: { current: false },
|
|
333
|
+
eventBus: { emit: vi.fn() }
|
|
334
|
+
});
|
|
335
|
+
expect(captureAnalyticsMock).toHaveBeenCalledWith(
|
|
336
|
+
"dexto_llm_tokens_consumed",
|
|
337
|
+
expect.objectContaining({
|
|
338
|
+
source: "cli",
|
|
339
|
+
sessionId: "test-session",
|
|
340
|
+
estimatedCostUsd: 15e-4,
|
|
341
|
+
inputCostUsd: 1e-3,
|
|
342
|
+
outputCostUsd: 5e-4,
|
|
343
|
+
reasoningCostUsd: 0,
|
|
344
|
+
cacheReadCostUsd: 0,
|
|
345
|
+
cacheWriteCostUsd: 0
|
|
346
|
+
})
|
|
347
|
+
);
|
|
348
|
+
});
|
|
255
349
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialState.d.ts","sourceRoot":"","sources":["../../src/state/initialState.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,gBAAgB,GAAE,MAAW,GAAG,QAAQ,
|
|
1
|
+
{"version":3,"file":"initialState.d.ts","sourceRoot":"","sources":["../../src/state/initialState.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,gBAAgB,GAAE,MAAW,GAAG,QAAQ,CAoD1E"}
|
package/dist/state/types.d.ts
CHANGED
|
@@ -278,10 +278,13 @@ export interface InputState {
|
|
|
278
278
|
/** Counter for generating sequential paste numbers */
|
|
279
279
|
pasteCounter: number;
|
|
280
280
|
}
|
|
281
|
+
export interface InsufficientCreditsState {
|
|
282
|
+
balanceUsd: number | null;
|
|
283
|
+
}
|
|
281
284
|
/**
|
|
282
285
|
* Available overlay types
|
|
283
286
|
*/
|
|
284
|
-
export type OverlayType = 'none' | 'slash-autocomplete' | 'resource-autocomplete' | 'model-selector' | 'reasoning' | 'custom-model-wizard' | 'session-selector' | 'mcp-server-list' | 'mcp-server-actions' | 'mcp-add-choice' | 'mcp-add-selector' | 'mcp-custom-type-selector' | 'mcp-custom-wizard' | 'log-level-selector' | 'stream-selector' | 'sounds-selector' | 'session-subcommand-selector' | 'api-key-input' | 'chatgpt-usage-cap' | 'login' | 'logout' | 'search' | 'approval' | 'tool-browser' | 'prompt-list' | 'prompt-add-choice' | 'prompt-add-wizard' | 'prompt-delete-selector' | 'session-rename' | 'context-stats' | 'export-wizard' | 'plugin-manager' | 'plugin-list' | 'plugin-actions' | 'marketplace-browser' | 'marketplace-add' | 'command-output';
|
|
287
|
+
export type OverlayType = 'none' | 'slash-autocomplete' | 'resource-autocomplete' | 'model-selector' | 'reasoning' | 'custom-model-wizard' | 'session-selector' | 'mcp-server-list' | 'mcp-server-actions' | 'mcp-add-choice' | 'mcp-add-selector' | 'mcp-custom-type-selector' | 'mcp-custom-wizard' | 'log-level-selector' | 'stream-selector' | 'sounds-selector' | 'session-subcommand-selector' | 'api-key-input' | 'chatgpt-usage-cap' | 'insufficient-credits' | 'login' | 'logout' | 'search' | 'approval' | 'tool-browser' | 'prompt-list' | 'prompt-add-choice' | 'prompt-add-wizard' | 'prompt-delete-selector' | 'session-rename' | 'context-stats' | 'export-wizard' | 'plugin-manager' | 'plugin-list' | 'plugin-actions' | 'marketplace-browser' | 'marketplace-add' | 'command-output';
|
|
285
288
|
/**
|
|
286
289
|
* Temporary modal output for slash commands (e.g., /help, /stats).
|
|
287
290
|
*/
|
|
@@ -365,6 +368,7 @@ export interface UIState {
|
|
|
365
368
|
}>;
|
|
366
369
|
/** Best-effort ChatGPT Login usage-cap status for the current session. */
|
|
367
370
|
chatgptRateLimitStatus: CodexRateLimitSnapshot | null;
|
|
371
|
+
insufficientCredits: InsufficientCreditsState | null;
|
|
368
372
|
planModeActive: boolean;
|
|
369
373
|
planModeInitialized: boolean;
|
|
370
374
|
commandOutput: CommandOutputState | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/state/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/state/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var dexto_auth_refresh_exports = {};
|
|
20
|
+
__export(dexto_auth_refresh_exports, {
|
|
21
|
+
refreshDextoNovaAuthAfterLogin: () => refreshDextoNovaAuthAfterLogin
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(dexto_auth_refresh_exports);
|
|
24
|
+
const DEXTO_API_KEY_ENV_REF = "$DEXTO_API_KEY";
|
|
25
|
+
function buildDextoNovaRefreshUpdate(model) {
|
|
26
|
+
return {
|
|
27
|
+
provider: "dexto-nova",
|
|
28
|
+
model,
|
|
29
|
+
apiKey: DEXTO_API_KEY_ENV_REF
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
async function refreshDextoNovaAuthAfterLogin(agent, sessionId) {
|
|
33
|
+
let refreshed = false;
|
|
34
|
+
const globalConfig = agent.getCurrentLLMConfig();
|
|
35
|
+
if (globalConfig.provider === "dexto-nova") {
|
|
36
|
+
await agent.switchLLM(buildDextoNovaRefreshUpdate(globalConfig.model));
|
|
37
|
+
refreshed = true;
|
|
38
|
+
}
|
|
39
|
+
if (!sessionId) {
|
|
40
|
+
return refreshed;
|
|
41
|
+
}
|
|
42
|
+
if (!agent.hasSessionLLMOverride(sessionId)) {
|
|
43
|
+
return refreshed;
|
|
44
|
+
}
|
|
45
|
+
const sessionConfig = agent.getCurrentLLMConfig(sessionId);
|
|
46
|
+
if (sessionConfig.provider !== "dexto-nova") {
|
|
47
|
+
return refreshed;
|
|
48
|
+
}
|
|
49
|
+
await agent.switchLLM(buildDextoNovaRefreshUpdate(sessionConfig.model), sessionId);
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
53
|
+
0 && (module.exports = {
|
|
54
|
+
refreshDextoNovaAuthAfterLogin
|
|
55
|
+
});
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { TuiAgentBackend } from '../agent-backend.js';
|
|
2
|
+
export declare function refreshDextoNovaAuthAfterLogin(agent: Pick<TuiAgentBackend, 'getCurrentLLMConfig' | 'hasSessionLLMOverride' | 'switchLLM'>, sessionId?: string): Promise<boolean>;
|
|
3
|
+
//# sourceMappingURL=dexto-auth-refresh.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dexto-auth-refresh.d.ts","sourceRoot":"","sources":["../../src/utils/dexto-auth-refresh.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAY3D,wBAAsB,8BAA8B,CAChD,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,qBAAqB,GAAG,uBAAuB,GAAG,WAAW,CAAC,EAC3F,SAAS,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,CAAC,CAwBlB"}
|