nolo-cli 0.82.0-alpha.6 → 0.82.1
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 +2 -2
- package/{_executeModel-225YRU52.js → _executeModel-MA3D2J4W.js} +48 -48
- package/{action-D22U6CTH.js → action-YVYQEAAV.js} +11 -11
- package/{addContentAction-XAPUTGL4.js → addContentAction-O7R66HEX.js} +9 -9
- package/{addDialogAgentAction-M7VLLBZM.js → addDialogAgentAction-74OA7KYP.js} +8 -8
- package/{agentDeleteCommand-ZJNQGVR2.js → agentDeleteCommand-FHUJH5X4.js} +31 -29
- package/{agentEmailCommands-VLVWFWX2.js → agentEmailCommands-KNYBWNMA.js} +67 -63
- package/{agentGrantCommands-R3VQEZJR.js → agentGrantCommands-M3XFO6EN.js} +2 -2
- package/{agentListCommands-GHQGLAUU.js → agentListCommands-GATRXEMT.js} +40 -32
- package/{agentMachineCommands-QDXYENZJ.js → agentMachineCommands-N62I3D5Q.js} +31 -29
- package/{agentProviderCommands-65ZC2WB4.js → agentProviderCommands-GNPTL5XR.js} +87 -0
- package/{agentPullCommand-N7L2CT7L.js → agentPullCommand-O5MPVJ5E.js} +3 -3
- package/agentRecordCommands-GOC5K27T.js +128 -0
- package/{agentRunCommand-YSCD65HH.js → agentRunCommand-JP2U3MQF.js} +65 -61
- package/{agentRunControl-T44MESII.js → agentRunControl-AVJR4JW4.js} +2 -2
- package/{agentRuntimeLocal-ZOHB7OOO.js → agentRuntimeLocal-VXZSDIGT.js} +27 -25
- package/{agentSlice-O2SBU5TK.js → agentSlice-65ETD734.js} +10 -10
- package/{appDeleteCommands-PRT6K5N2.js → appDeleteCommands-PDZ7HQYH.js} +31 -29
- package/{appDeployCommands-63ZONFAN.js → appDeployCommands-KLLW32YA.js} +31 -29
- package/{appDeployStatusCommands-AFAYCVR3.js → appDeployStatusCommands-IPNJ445T.js} +31 -29
- package/{appGetCommands-TNZDZE36.js → appGetCommands-QA57XGXS.js} +31 -29
- package/{appListCommands-IA4SPG2X.js → appListCommands-YBTAUFZS.js} +31 -29
- package/{authCommand-EVGFLAHO.js → authCommand-F4EFRRX6.js} +164 -24
- package/{authCommands-ILTBI6JV.js → authCommands-RGOGCPP6.js} +4 -5
- package/builtinSkillRegistry-FUAVTRVZ.js +33 -0
- package/{chatQueueReduxAdapter-4SM3DAWX.js → chatQueueReduxAdapter-5QOW43T4.js} +24 -24
- package/{chromeCommands-VOIRNJBL.js → chromeCommands-FZYAU75D.js} +1 -1
- package/{chromeOpsCommands-M7DPCX2T.js → chromeOpsCommands-62P2Q2YB.js} +31 -1
- package/{chunk-C3FZR5EC.js → chunk-2F7RJC6L.js} +1 -1
- package/{chunk-A3NNC2LA.js → chunk-2FA3ITSX.js} +1235 -59
- package/{chunk-HQUORJTM.js → chunk-3BMYXEUW.js} +1 -1
- package/{chunk-3QPYFHAH.js → chunk-3DII57IT.js} +1 -1
- package/{chunk-NTW5GWDM.js → chunk-3VNWWVKB.js} +2 -0
- package/{chunk-DWUCB2A3.js → chunk-42V6BK2E.js} +1 -1
- package/{chunk-DSRXPQWA.js → chunk-4OEFYTWL.js} +43 -43
- package/{chunk-GBPZKFYK.js → chunk-53HEEOTT.js} +4 -4
- package/{chunk-KIS76A2P.js → chunk-5H7KJX7J.js} +38 -4
- package/{chunk-5XTOKQLW.js → chunk-5UTFL4QJ.js} +6 -2
- package/chunk-5ZUL4CUO.js +10 -0
- package/{chunk-E6RGHPDR.js → chunk-6D6VBVEW.js} +4 -6
- package/{chunk-CMH2SYHX.js → chunk-6OZ36FXI.js} +2 -2
- package/{chunk-HHLTFENG.js → chunk-6VFARHZW.js} +907 -317
- package/{chunk-NRALD3CC.js → chunk-76WEAXJB.js} +49 -10
- package/{chunk-BYEJ7K2Z.js → chunk-7S4YWN7P.js} +1 -1
- package/{chunk-SREASRV5.js → chunk-ABQYVJBJ.js} +1 -1
- package/chunk-ACTMNVHM.js +93 -0
- package/{chunk-3W2JJOH3.js → chunk-AD2L6YCC.js} +3 -3
- package/{chunk-XWNRAIUL.js → chunk-AFUORTY4.js} +6 -16
- package/{chunk-WL2RKIBF.js → chunk-BLJWCTRL.js} +1 -1
- package/chunk-BNGW5ASC.js +344 -0
- package/{chunk-SZLVDREM.js → chunk-BP4XNZRM.js} +3 -3
- package/{chunk-2KDR4CWE.js → chunk-BYMV6QZG.js} +24 -1
- package/{chunk-5LSS6MFZ.js → chunk-D2QT5FW4.js} +13 -15
- package/{chunk-MYU3MJCF.js → chunk-DHDMC6FO.js} +175 -7
- package/{chunk-SO7B7NW3.js → chunk-DHDVZFNC.js} +413 -62
- package/{chunk-E36HZARC.js → chunk-DNCEALKX.js} +93 -17
- package/{chunk-EXMHJN7C.js → chunk-EYAQT56M.js} +4 -3
- package/{chunk-CJCJF5XB.js → chunk-FDTR4QJ6.js} +4 -2
- package/{chunk-YSKEOTPH.js → chunk-FSX24MR3.js} +155 -795
- package/{chunk-NJ6WLAPS.js → chunk-FUUHG5LT.js} +1 -1
- package/{chunk-EM6MPSEI.js → chunk-GABFWSOQ.js} +52 -30
- package/{chunk-PYXL2CJL.js → chunk-GPCZ7UXG.js} +1 -1
- package/{chunk-K7AG465Q.js → chunk-GQBOR3G6.js} +4 -2
- package/{chunk-FP27MNSX.js → chunk-GZBATRJA.js} +3 -3
- package/{chunk-YFADVSZE.js → chunk-H62HCIUP.js} +6 -6
- package/{chunk-PZM3EENV.js → chunk-HJUYAD4A.js} +1 -1
- package/{chunk-3JQ2NRYU.js → chunk-HVURBGF3.js} +4 -4
- package/{chunk-HH65VA5U.js → chunk-I3TQJXQ7.js} +109 -6
- package/{chunk-ZVN6I33J.js → chunk-IIVGDG4I.js} +6 -5
- package/{chunk-UDQWGU7F.js → chunk-J4MOO56S.js} +1 -1
- package/{chunk-KC5FAHVS.js → chunk-JEDZAO7L.js} +1 -1
- package/{chunk-6XIE5ZGI.js → chunk-JPGCXHNM.js} +1 -1
- package/chunk-JRQFUXY7.js +1625 -0
- package/chunk-KQ4ONNQD.js +677 -0
- package/{chunk-CPSZJBLK.js → chunk-L5UXH3B2.js} +105 -26
- package/{chunk-RXX4GDIH.js → chunk-LS2ZANRJ.js} +1 -1
- package/{chunk-BJIRLHJR.js → chunk-M2EJHDJP.js} +4 -0
- package/{chunk-EVBFYPDC.js → chunk-MC4XLIJ7.js} +6 -2
- package/{chunk-6SD5OPQ4.js → chunk-N2WELJE7.js} +11 -173
- package/{chunk-UJ63UXGE.js → chunk-OIVSQH2O.js} +1006 -801
- package/{chunk-4UW2LDVA.js → chunk-PELKTR62.js} +15 -15
- package/{chunk-AETZ7AD6.js → chunk-Q554LLSI.js} +1 -1
- package/chunk-Q5FJJ6XI.js +103 -0
- package/{chunk-AJHEFRGJ.js → chunk-Q67DOFOO.js} +214 -5
- package/{chunk-UZ6XXCVR.js → chunk-QDSINZM3.js} +15 -2
- package/{chunk-D6XYLSOS.js → chunk-QIAVMDHY.js} +1 -1
- package/{chunk-YWG6EMH3.js → chunk-RG6JBBX5.js} +10 -6
- package/{chunk-QCZX4FTW.js → chunk-SH43IESU.js} +173 -15
- package/{chunk-FNGAF7C4.js → chunk-SNPMM7H3.js} +137 -12
- package/{chunk-SPAQ4PVV.js → chunk-SV5IJK6K.js} +1 -1
- package/{chunk-KVDUCO4Q.js → chunk-TDRTS7QW.js} +16 -12
- package/{chunk-BJCWNHVU.js → chunk-TOP2VXOR.js} +2 -2
- package/{chunk-Q46HQOW3.js → chunk-TVYSVSA2.js} +7 -7
- package/{chunk-4EJ5QYB5.js → chunk-UKZDAFYT.js} +1 -1
- package/{chunk-YXLXHIT2.js → chunk-UY2NBS4V.js} +6 -6
- package/{chunk-PGSKWZCB.js → chunk-UZGQNTVW.js} +1 -1
- package/{chunk-73IOJLK2.js → chunk-V4I3A7DR.js} +10 -10
- package/{chunk-ZZCJUXUI.js → chunk-V4MJDUSR.js} +2 -2
- package/{chunk-JYYZCK2Z.js → chunk-V7E4PXQD.js} +1 -1
- package/{chunk-OZX2IPKM.js → chunk-VLTIYV3X.js} +1 -1
- package/{chunk-NHRQCXIQ.js → chunk-VMFTFOWF.js} +13 -3
- package/{chunk-5J7W2VWW.js → chunk-WV42OMV7.js} +6 -265
- package/{chunk-DUJWWUGV.js → chunk-YQTQQX2H.js} +1 -1
- package/{chunk-BOYUESO7.js → chunk-Z77CRGTW.js} +1 -1
- package/{chunk-QC5LGHYP.js → chunk-ZCYXJSTU.js} +10 -5
- package/{chunk-LSZXYE64.js → chunk-ZMD2CQFC.js} +759 -80
- package/{contentThunks-ENAVF2YU.js → contentThunks-Y6FA2TCW.js} +25 -25
- package/{cooldownCommands-BSCH2W7P.js → cooldownCommands-REAWYVTY.js} +2 -2
- package/{createAgentAutomationAction-CH6BYC7K.js → createAgentAutomationAction-JXAFQO5V.js} +25 -25
- package/{createDialogAction-23UDOXSO.js → createDialogAction-O2QABXZF.js} +28 -28
- package/{createPageAction-J6AEMLHK.js → createPageAction-GUQDPKO5.js} +26 -26
- package/{dbSlice-GKGGFNOB.js → dbSlice-XVWBAGYN.js} +8 -8
- package/{deleteFile-LWSR674W.js → deleteFile-YG6QMJLU.js} +3 -3
- package/{dialogCommands-BJJGCCQR.js → dialogCommands-JJDASFIL.js} +35 -31
- package/{dialogSlice-F7RD6PUY.js → dialogSlice-J2YJNE6E.js} +24 -24
- package/{docCreateCommands-53GB2FU3.js → docCreateCommands-OB3X3EQM.js} +32 -30
- package/{docDeleteCommands-TAW5JEBU.js → docDeleteCommands-WMHRGF22.js} +33 -31
- package/{docReadCommands-F5N7N5E3.js → docReadCommands-NWGGLIAZ.js} +32 -30
- package/{docStore-WX4YBGXC.js → docStore-6KKYKAGQ.js} +9 -9
- package/{docUpdateCommands-YQ7TRT35.js → docUpdateCommands-3DDSOLPS.js} +32 -30
- package/{fetchMessages-DRABNDPZ.js → fetchMessages-EIU7UFFK.js} +3 -4
- package/{getPricing-HRMSOF3E.js → getPricing-LUSEABA6.js} +4 -4
- package/{handleSendMessageAction-CW4LULIR.js → handleSendMessageAction-A4XLEEPU.js} +24 -24
- package/index.js +102 -85
- package/{localDialogRead-PUQKFI73.js → localDialogRead-BTFJ4V2I.js} +2 -2
- package/{localRuntimeDb-P37ZTX55.js → localRuntimeDb-SYQGUF4U.js} +1 -1
- package/{machineCommands-FIYWY5EU.js → machineCommands-Y64KAIRW.js} +64 -60
- package/{machineWsRunDispatch-KQ4OFFNR.js → machineWsRunDispatch-M366L2LJ.js} +62 -58
- package/{memberThunks-KATHH3F4.js → memberThunks-QGFLFVCI.js} +9 -9
- package/{models-GS72DVJS.js → models-T3SG6MJ5.js} +2 -2
- package/{offlineMarxistsAgentCommand-GEH6SNNA.js → offlineMarxistsAgentCommand-HGXZV4XJ.js} +1 -1
- package/package.json +1 -1
- package/providerPresetApply-FG6NZ57W.js +214 -0
- package/providerRegistry-757OWH3O.js +31 -0
- package/{read-LC6HVYBN.js → read-COE3ZYR6.js} +5 -4
- package/{readDocTool-N3ERJHHF.js → readDocTool-5USN4A6V.js} +1 -1
- package/{readlineWorkspace-QYI6BRNA.js → readlineWorkspace-45XNHFXU.js} +144 -108
- package/{removeDialogAgentAction-F5GPTALR.js → removeDialogAgentAction-IX3MN2ZO.js} +11 -11
- package/{runAgentClientLoop-GZ5VUGAW.js → runAgentClientLoop-ADZRHNG6.js} +47 -47
- package/{runtimeDoctorCommands-CROTMULY.js → runtimeDoctorCommands-X6WDBEQX.js} +2 -2
- package/{setDialogExtraReferencesAction-AY4ZCF3A.js → setDialogExtraReferencesAction-X4HCPNZL.js} +9 -9
- package/{setPrimaryDialogAgentAction-HPMG7V3R.js → setPrimaryDialogAgentAction-4GMIQLOD.js} +11 -11
- package/{settingSlice-OEJA4NQO.js → settingSlice-ZQZVUPKK.js} +10 -10
- package/{spaceCommands-IYMIXCMC.js → spaceCommands-E7MQ4VU2.js} +30 -28
- package/{streamAgentChatTurn-EAXIUJTK.js → streamAgentChatTurn-TUP7YO3H.js} +59 -58
- package/{switchDialogAgentAction-HMDZTZ4I.js → switchDialogAgentAction-N52LRPA3.js} +8 -8
- package/{tableCommands-SUNTHAYX.js → tableCommands-O6NWHFKV.js} +1 -1
- package/{toolApiClient-VGYUB4P5.js → toolApiClient-QVJ6HDNN.js} +2 -2
- package/{tools-QWQOW6J4.js → tools-2VDNDFET.js} +43 -43
- package/tuiSummaryLlmCaller-WFRWERGK.js +127 -0
- package/{updateCommands-Y363MC3L.js → updateCommands-2M74UL7P.js} +2 -2
- package/{updateDialogTitleAction-2HCE2M7S.js → updateDialogTitleAction-KSWXWWFT.js} +45 -28
- package/agentRecordCommands-AQFYM5HS.js +0 -124
- package/chunk-3IT2PFHL.js +0 -611
- package/chunk-I42VC5KR.js +0 -15
- package/chunk-NG4UT4K4.js +0 -79
- package/codingSkills-E6KSDNSJ.js +0 -48
- package/tuiSummaryLlmCaller-3Z24VUWM.js +0 -116
- package/{chunk-3RAG2NAD.js → chunk-UKWGR5SS.js} +3 -3
- package/{db-VQSAOWAO.js → db-WK5MDZVN.js} +1 -1
- package/{localRuntimeAuthority-R5UBODT3.js → localRuntimeAuthority-6IR6BBXE.js} +3 -3
|
@@ -6,13 +6,13 @@ import {
|
|
|
6
6
|
} from "./chunk-DWLEOOGR.js";
|
|
7
7
|
import {
|
|
8
8
|
addContentAction
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-V4MJDUSR.js";
|
|
10
10
|
import {
|
|
11
11
|
upload
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-H62HCIUP.js";
|
|
13
13
|
import {
|
|
14
14
|
getRuntimeServerContext
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-UKWGR5SS.js";
|
|
16
16
|
import {
|
|
17
17
|
API_ENDPOINTS
|
|
18
18
|
} from "./chunk-LCBAMY2M.js";
|
|
@@ -367,6 +367,7 @@ var truncateToolOutputForContext = (text, contextWindow) => {
|
|
|
367
367
|
// packages/ai/context/planCompression.ts
|
|
368
368
|
var MIN_COMPRESS_COUNT = 5;
|
|
369
369
|
var ACTIVE_SUMMARY_TAIL_KEEP_COUNT = 2;
|
|
370
|
+
var COMPACTION_RETENTION_CUSHION_RATIO = 0.18;
|
|
370
371
|
var MIN_TRIGGER_PENDING_COUNT = MIN_COMPRESS_COUNT + ACTIVE_SUMMARY_TAIL_KEEP_COUNT;
|
|
371
372
|
var getMessageTokenCount = (msg) => {
|
|
372
373
|
const content = serializeMessageContent(msg.content) || "";
|
|
@@ -409,13 +410,14 @@ var normalizeContextUsageRatio = (value) => {
|
|
|
409
410
|
const ratio = value > 1 ? value / 100 : value;
|
|
410
411
|
return ratio >= 0 && ratio <= 1 ? ratio : void 0;
|
|
411
412
|
};
|
|
412
|
-
var emptyPlan = (startIndex) => ({
|
|
413
|
+
var emptyPlan = (startIndex, diagnostics) => ({
|
|
413
414
|
shouldCompress: false,
|
|
414
415
|
compressCount: 0,
|
|
415
416
|
msgsToCompress: [],
|
|
416
417
|
msgsToKeep: [],
|
|
417
418
|
newSummarizedBeforeId: void 0,
|
|
418
|
-
startIndex
|
|
419
|
+
startIndex,
|
|
420
|
+
...diagnostics ? { diagnostics } : {}
|
|
419
421
|
});
|
|
420
422
|
function findPendingMessages(allMsgs, summarizedBeforeId) {
|
|
421
423
|
let startIndex = 0;
|
|
@@ -464,15 +466,42 @@ function calculateCompressCount(pendingMsgs, rawMessageBudget, opts) {
|
|
|
464
466
|
}
|
|
465
467
|
return pendingMsgs.length - keepCount;
|
|
466
468
|
}
|
|
469
|
+
function resolveEffectiveCompactionBudgets(args) {
|
|
470
|
+
const {
|
|
471
|
+
contextWindow,
|
|
472
|
+
triggerRatio,
|
|
473
|
+
historyBudget,
|
|
474
|
+
rawMessageBudget,
|
|
475
|
+
summaryTokens,
|
|
476
|
+
cushionRatio = COMPACTION_RETENTION_CUSHION_RATIO
|
|
477
|
+
} = args;
|
|
478
|
+
const maxRetainedRatio = Math.max(
|
|
479
|
+
0.2,
|
|
480
|
+
Number((triggerRatio - cushionRatio).toFixed(4))
|
|
481
|
+
);
|
|
482
|
+
const maxRetainedHistoryBudget = Math.floor(contextWindow * maxRetainedRatio);
|
|
483
|
+
const effectiveHistoryBudget = Math.min(historyBudget, maxRetainedHistoryBudget);
|
|
484
|
+
const effectiveRawMessageBudget = Math.min(
|
|
485
|
+
rawMessageBudget,
|
|
486
|
+
Math.max(0, effectiveHistoryBudget - summaryTokens)
|
|
487
|
+
);
|
|
488
|
+
return {
|
|
489
|
+
effectiveHistoryBudget,
|
|
490
|
+
effectiveRawMessageBudget,
|
|
491
|
+
maxRetainedRatio
|
|
492
|
+
};
|
|
493
|
+
}
|
|
467
494
|
function guardToolChainBoundary(pendingMsgs, compressCount) {
|
|
468
495
|
let count = compressCount;
|
|
469
|
-
while (count
|
|
470
|
-
count
|
|
496
|
+
while (count < pendingMsgs.length && pendingMsgs[count].role === "tool") {
|
|
497
|
+
count++;
|
|
471
498
|
}
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
499
|
+
while (count > 0 && hasOpenEndedToolCall(pendingMsgs[count - 1])) {
|
|
500
|
+
if (count < pendingMsgs.length && pendingMsgs[count].role === "tool") {
|
|
501
|
+
count++;
|
|
502
|
+
} else {
|
|
475
503
|
count--;
|
|
504
|
+
break;
|
|
476
505
|
}
|
|
477
506
|
}
|
|
478
507
|
return count;
|
|
@@ -489,7 +518,20 @@ function planCompression(input) {
|
|
|
489
518
|
coldResume
|
|
490
519
|
} = input;
|
|
491
520
|
const { pendingMsgs, startIndex } = findPendingMessages(allMsgs, summarizedBeforeId);
|
|
492
|
-
if (pendingMsgs.length === 0)
|
|
521
|
+
if (pendingMsgs.length === 0) {
|
|
522
|
+
return emptyPlan(startIndex, {
|
|
523
|
+
pendingMsgCount: 0,
|
|
524
|
+
totalUsed: estimateTokenCount(summary || ""),
|
|
525
|
+
historyBudget: 0,
|
|
526
|
+
triggerRatio: resolveCompressionTriggerRatio(contextWindow),
|
|
527
|
+
realUsageRatio: normalizeContextUsageRatio(realContextUsagePercent),
|
|
528
|
+
triggeredByRealUsage: false,
|
|
529
|
+
triggeredByEstimate: false,
|
|
530
|
+
triggeredByColdResume: false,
|
|
531
|
+
shouldRunActiveSummary: false,
|
|
532
|
+
emptyReason: "no-pending"
|
|
533
|
+
});
|
|
534
|
+
}
|
|
493
535
|
const summaryTokens = estimateTokenCount(summary || "");
|
|
494
536
|
const pendingTokens = pendingMsgs.reduce((sum, msg) => sum + getMessageTokenCount(msg), 0);
|
|
495
537
|
const totalUsed = summaryTokens + pendingTokens;
|
|
@@ -517,14 +559,47 @@ function planCompression(input) {
|
|
|
517
559
|
coldResume,
|
|
518
560
|
lastMsg: pendingMsgs[pendingMsgs.length - 1]
|
|
519
561
|
});
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
keepTailCount: shouldRunActiveSummary || triggeredByRealUsage || triggeredByColdResume,
|
|
562
|
+
const diagnostics = {
|
|
563
|
+
pendingMsgCount: pendingMsgs.length,
|
|
523
564
|
totalUsed,
|
|
524
|
-
historyBudget
|
|
565
|
+
historyBudget,
|
|
566
|
+
triggerRatio,
|
|
567
|
+
realUsageRatio: normalizeContextUsageRatio(realContextUsagePercent),
|
|
568
|
+
triggeredByRealUsage,
|
|
569
|
+
triggeredByEstimate: normalizeContextUsageRatio(realContextUsagePercent) === void 0 && totalUsed >= historyBudget,
|
|
570
|
+
triggeredByColdResume,
|
|
571
|
+
shouldRunActiveSummary
|
|
572
|
+
};
|
|
573
|
+
if (!trigger) {
|
|
574
|
+
return emptyPlan(startIndex, {
|
|
575
|
+
...diagnostics,
|
|
576
|
+
emptyReason: "not-triggered"
|
|
577
|
+
});
|
|
578
|
+
}
|
|
579
|
+
const { effectiveHistoryBudget, effectiveRawMessageBudget } = resolveEffectiveCompactionBudgets({
|
|
580
|
+
contextWindow,
|
|
581
|
+
triggerRatio,
|
|
582
|
+
historyBudget,
|
|
583
|
+
rawMessageBudget,
|
|
584
|
+
summaryTokens
|
|
525
585
|
});
|
|
586
|
+
let compressCount = calculateCompressCount(
|
|
587
|
+
pendingMsgs,
|
|
588
|
+
effectiveRawMessageBudget,
|
|
589
|
+
{
|
|
590
|
+
keepTailCount: shouldRunActiveSummary || triggeredByRealUsage || triggeredByColdResume,
|
|
591
|
+
totalUsed,
|
|
592
|
+
historyBudget: effectiveHistoryBudget
|
|
593
|
+
}
|
|
594
|
+
);
|
|
526
595
|
compressCount = guardToolChainBoundary(pendingMsgs, compressCount);
|
|
527
|
-
if (compressCount < MIN_COMPRESS_COUNT)
|
|
596
|
+
if (compressCount < MIN_COMPRESS_COUNT) {
|
|
597
|
+
return emptyPlan(startIndex, {
|
|
598
|
+
...diagnostics,
|
|
599
|
+
compressCount,
|
|
600
|
+
emptyReason: "below-min-compress-count"
|
|
601
|
+
});
|
|
602
|
+
}
|
|
528
603
|
const msgsToCompress = pendingMsgs.slice(0, compressCount);
|
|
529
604
|
const msgsToKeep = pendingMsgs.slice(compressCount);
|
|
530
605
|
const newSummarizedBeforeId = msgsToCompress[msgsToCompress.length - 1].id;
|
|
@@ -534,7 +609,8 @@ function planCompression(input) {
|
|
|
534
609
|
msgsToCompress,
|
|
535
610
|
msgsToKeep,
|
|
536
611
|
newSummarizedBeforeId,
|
|
537
|
-
startIndex
|
|
612
|
+
startIndex,
|
|
613
|
+
diagnostics: { ...diagnostics, compressCount }
|
|
538
614
|
};
|
|
539
615
|
}
|
|
540
616
|
|
|
@@ -6,10 +6,10 @@ import {
|
|
|
6
6
|
} from "./chunk-AGGIDPCZ.js";
|
|
7
7
|
import {
|
|
8
8
|
getModelConfig
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-OIVSQH2O.js";
|
|
10
10
|
import {
|
|
11
11
|
isPlatformHostedImageModel
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-Q67DOFOO.js";
|
|
13
13
|
import {
|
|
14
14
|
asOptionalFiniteNumber
|
|
15
15
|
} from "./chunk-WWC7I6TA.js";
|
|
@@ -31,9 +31,10 @@ var getModelPricing = (provider, modelName, _requestedServiceTier) => {
|
|
|
31
31
|
};
|
|
32
32
|
var getModelPricingForModel = (provider, modelName, model) => {
|
|
33
33
|
if (!model.price) return null;
|
|
34
|
+
const rawCacheHit = typeof model.price.inputCacheHit === "number" ? model.price.inputCacheHit : model.price.cachingRead;
|
|
34
35
|
return {
|
|
35
36
|
inputPrice: model.price.input,
|
|
36
|
-
inputCacheHitPrice: typeof
|
|
37
|
+
inputCacheHitPrice: typeof rawCacheHit === "number" ? rawCacheHit : 0,
|
|
37
38
|
outputPrice: model.price.output
|
|
38
39
|
};
|
|
39
40
|
};
|
|
@@ -46,6 +46,7 @@ function extractMessage(error) {
|
|
|
46
46
|
}
|
|
47
47
|
function parseResetsInMs(text) {
|
|
48
48
|
if (!text) return void 0;
|
|
49
|
+
const sanitized = text.replace(/\btrace[\s_-]?id\b[^)\n]*/gi, " ").replace(/\b[0-9a-f]{16,}\b/gi, " ");
|
|
49
50
|
const unitMs = (n, unit) => {
|
|
50
51
|
if (/^d/.test(unit)) return n * 24 * 3600 * 1e3;
|
|
51
52
|
if (/^h/.test(unit)) return n * 3600 * 1e3;
|
|
@@ -54,12 +55,13 @@ function parseResetsInMs(text) {
|
|
|
54
55
|
return NaN;
|
|
55
56
|
};
|
|
56
57
|
const re = /(\d+)\s*(d(?:ay|ays)?|h(?:r|rs|our|ours)?|m(?:in|ins|inute|inutes)?|s(?:ec|ecs|econd|econds)?)/gi;
|
|
58
|
+
const MAX_SINGLE_MATCH_MS = 7 * 24 * 3600 * 1e3;
|
|
57
59
|
let totalMs = 0;
|
|
58
60
|
let matched = false;
|
|
59
61
|
let m;
|
|
60
|
-
while ((m = re.exec(
|
|
62
|
+
while ((m = re.exec(sanitized)) !== null) {
|
|
61
63
|
const ms = unitMs(Number(m[1]), m[2]);
|
|
62
|
-
if (!Number.isFinite(ms)) continue;
|
|
64
|
+
if (!Number.isFinite(ms) || ms > MAX_SINGLE_MATCH_MS) continue;
|
|
63
65
|
totalMs += ms;
|
|
64
66
|
matched = true;
|
|
65
67
|
}
|