nolo-cli 0.90.0-alpha.1 → 0.91.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 +1 -1
- package/{_executeModel-W26HVI75.js → _executeModel-H35GQ2XO.js} +61 -60
- package/{action-6DXQGJMX.js → action-3ZOODRBC.js} +11 -11
- package/{addContentAction-I7VX5SAC.js → addContentAction-IJHG2ZV7.js} +9 -9
- package/{addDialogAgentAction-OJSFV7DZ.js → addDialogAgentAction-IGFS2UBX.js} +11 -11
- package/{agentDeleteCommand-XNFWCKBH.js → agentDeleteCommand-XOFMXMHW.js} +43 -42
- package/{agentEmailCommands-W3X3EJ3V.js → agentEmailCommands-H2SEP6ZQ.js} +82 -78
- package/{agentGrantCommands-YW6PQAQ2.js → agentGrantCommands-M3XFO6EN.js} +2 -2
- package/{agentListCommands-DFWFU6XO.js → agentListCommands-RYGH6NUL.js} +72 -80
- package/{agentMachineCommands-LMFOAEL4.js → agentMachineCommands-XELOBZIP.js} +37 -36
- package/{agentProviderCommands-ZBYHGTGY.js → agentProviderCommands-JCRK6ST2.js} +1 -1
- package/{agentPullCommand-GLOOXJ2E.js → agentPullCommand-HF4A42D4.js} +3 -3
- package/agentRecordCommands-43HAXAZO.js +130 -0
- package/{agentRunCommand-HTBVIBGV.js → agentRunCommand-GIPN6DBO.js} +80 -75
- package/{agentRunControl-XLGD3UZ5.js → agentRunControl-AVJR4JW4.js} +2 -2
- package/{agentRuntimeLocal-2JFG4HDU.js → agentRuntimeLocal-SDOSSCLU.js} +38 -33
- package/{agentSlice-ZNLGFUB5.js → agentSlice-B2DLZMAC.js} +11 -11
- package/{appDeleteCommands-2UN4N2NR.js → appDeleteCommands-7OR5MAOR.js} +37 -36
- package/{appDeployCommands-37D74KRR.js → appDeployCommands-5GNI723H.js} +37 -36
- package/{appDeployStatusCommands-QBLWL2IA.js → appDeployStatusCommands-WL2NG3SG.js} +37 -36
- package/{appGetCommands-6KXIDF2T.js → appGetCommands-7BVKQS44.js} +37 -36
- package/{appListCommands-G2WFGEWQ.js → appListCommands-5VXFJOBU.js} +37 -36
- package/{authCommand-V2DJ7DB7.js → authCommand-N4Q6463J.js} +115 -23
- package/{authCommands-RGOGCPP6.js → authCommands-GBIFZWD3.js} +5 -5
- package/{builtinSkillRegistry-WBGYKIAZ.js → builtinSkillRegistry-JPY2DKRF.js} +7 -7
- package/{chatQueueReduxAdapter-XCJHIY3R.js → chatQueueReduxAdapter-3KDRKXTT.js} +29 -29
- package/{chromeCommands-VOIRNJBL.js → chromeCommands-NKU3OWKH.js} +36 -11
- package/{chromeOpsCommands-M7DPCX2T.js → chromeOpsCommands-OQDJGD4Y.js} +31 -1
- package/{chunk-4BYPU626.js → chunk-232453C2.js} +994 -1036
- package/{chunk-SMZSWB44.js → chunk-25GAGMRK.js} +6 -83
- package/{chunk-PH5J5VUY.js → chunk-3IYMTWYZ.js} +22 -22
- package/{chunk-NTW5GWDM.js → chunk-3VNWWVKB.js} +2 -0
- package/{chunk-TVNI5FLG.js → chunk-46CRK7XP.js} +7 -7
- package/{chunk-2ADBVBEM.js → chunk-55VQ4OPL.js} +4 -4
- package/{chunk-JPGCXHNM.js → chunk-5OA5HMTL.js} +1 -1
- package/{chunk-DWUCB2A3.js → chunk-62IL3KQV.js} +4 -34
- package/{chunk-3R5PH4IP.js → chunk-64TIEZHF.js} +1 -1
- package/{chunk-6YTOJY35.js → chunk-6D2JFXLY.js} +35 -0
- package/{chunk-3BMYXEUW.js → chunk-6O4IK4V2.js} +1 -1
- package/{chunk-WXPVOQD7.js → chunk-6PELJ3DS.js} +533 -236
- package/{chunk-NFMHIUY3.js → chunk-7EMJBGCA.js} +966 -218
- package/{chunk-HYZHJ5GW.js → chunk-7YMUSSHQ.js} +93 -93
- package/chunk-ACTMNVHM.js +93 -0
- package/{chunk-Q554LLSI.js → chunk-AUDNYVRC.js} +1 -1
- package/{chunk-UKWGR5SS.js → chunk-AUXHZ2M5.js} +186 -397
- package/{chunk-7MYYE7WX.js → chunk-B4PW6UAI.js} +61 -34
- package/{chunk-4DRWWIOL.js → chunk-B7ANJQWZ.js} +2 -2
- package/{chunk-XKQJJK4F.js → chunk-BAAKVSMZ.js} +4 -4
- package/{chunk-FQYMLZ6C.js → chunk-BFCXG6AJ.js} +16 -16
- package/{chunk-ZBT3WNBK.js → chunk-BJUDYFV5.js} +10 -2
- package/chunk-BMQ2MJUK.js +153 -0
- package/{chunk-TL6L5XUT.js → chunk-BNGW5ASC.js} +94 -16
- package/{chunk-JTK3TJYV.js → chunk-BTSYHR7J.js} +4 -4
- package/{chunk-LS2ZANRJ.js → chunk-CTUQJVQM.js} +1 -1
- package/{chunk-JEDZAO7L.js → chunk-D2W6WRHT.js} +13 -8
- package/{chunk-6BEA566T.js → chunk-D76D3RTR.js} +2 -2
- package/{chunk-HQCSU3DI.js → chunk-DCLMZ5TX.js} +4 -4
- package/{chunk-L2ICPOAL.js → chunk-EFZKILX6.js} +4 -4
- package/{chunk-JBBZ5KUM.js → chunk-EHO5EGU4.js} +23 -76
- package/{chunk-HVURBGF3.js → chunk-ESRMFY7G.js} +2 -2
- package/{chunk-ABQYVJBJ.js → chunk-ETZWFV6M.js} +1 -1
- package/{chunk-TRV2MIDW.js → chunk-EXAJ6DCR.js} +1 -0
- package/{chunk-VHJLQHPQ.js → chunk-F64B2W3R.js} +110 -34
- package/{chunk-AQZRTHDZ.js → chunk-G4EMOUX3.js} +886 -154
- package/{chunk-XTUY5EL4.js → chunk-GJUKGFHG.js} +74 -16
- package/{chunk-XMGHGEN6.js → chunk-GMVELWJG.js} +3 -3
- package/chunk-GMZLP5DV.js +82 -0
- package/{chunk-CJCJF5XB.js → chunk-H6A6X4EK.js} +36 -3
- package/{chunk-N3OAPEZE.js → chunk-HBTA2SGQ.js} +97 -21
- package/{chunk-ONXOABJR.js → chunk-HNGRBWYF.js} +3 -0
- package/{chunk-3CR2LC6X.js → chunk-HNRASX3X.js} +8 -8
- package/{chunk-CPH3W5A7.js → chunk-I3TQJXQ7.js} +94 -3
- package/{chunk-GRYGRGPS.js → chunk-IS5VEM2G.js} +140 -15
- package/{chunk-MJHQ3NRV.js → chunk-ISHYYQJC.js} +5 -3
- package/{chunk-ZAB3A45K.js → chunk-K7M4I3PF.js} +30 -7
- package/{chunk-2AYMFHUG.js → chunk-KQOD3G2X.js} +165 -15
- package/{chunk-YOXYA2GU.js → chunk-LNPYTNMG.js} +10 -5
- package/{chunk-F2CGG72C.js → chunk-LS2MI3B4.js} +45 -45
- package/{chunk-GII32WZW.js → chunk-M2EJHDJP.js} +3 -0
- package/{chunk-7S4YWN7P.js → chunk-MX574M24.js} +1 -1
- package/{chunk-DNQPPRHY.js → chunk-N3XA2O6O.js} +1 -1
- package/{chunk-5DFFKASO.js → chunk-NILSKYOE.js} +3 -3
- package/chunk-OCZKATRC.js +129 -0
- package/{chunk-K7M3MWCE.js → chunk-OOSVFT6S.js} +2 -2
- package/{chunk-QCZX4FTW.js → chunk-OY5IJI2N.js} +194 -21
- package/{chunk-HMEMJ7GH.js → chunk-PAYUVQ6P.js} +7749 -1320
- package/{chunk-ASGDO77C.js → chunk-Q67DOFOO.js} +92 -4
- package/{chunk-UA5S3LQQ.js → chunk-QALRKMHF.js} +11 -10
- package/{chunk-RZANZZL2.js → chunk-QDSINZM3.js} +1 -1
- package/{chunk-DPQ2WVBY.js → chunk-QJLEMM2V.js} +1 -1
- package/{chunk-IIKPWSPX.js → chunk-R4SQ3LGW.js} +1 -1
- package/{chunk-UTCCPWB2.js → chunk-RZ6CQZB2.js} +34 -20
- package/{chunk-SAFZABH7.js → chunk-SV5IJK6K.js} +1 -1
- package/{chunk-576IMUGH.js → chunk-T5V7HA3K.js} +1 -1
- package/{chunk-BYMV6QZG.js → chunk-TNIX77YM.js} +4 -0
- package/chunk-UNYJU5L6.js +780 -0
- package/{chunk-QFMFJZLO.js → chunk-V7E4PXQD.js} +1 -1
- package/{chunk-QHETQ3KI.js → chunk-VBSVA6CB.js} +2 -2
- package/{chunk-A2C4AKKM.js → chunk-VETFWL5K.js} +1 -1
- package/chunk-VJVNU77E.js +83 -0
- package/{chunk-6D6VBVEW.js → chunk-VPFEPRME.js} +9 -9
- package/{chunk-3CMTBX3X.js → chunk-W2P25VGS.js} +25 -6
- package/{chunk-CLI4LFSM.js → chunk-WC6A2Q7S.js} +5 -3
- package/{chunk-Z33ARZCP.js → chunk-WT2IAJAJ.js} +4 -4
- package/chunk-X6YIXGPT.js +870 -0
- package/{chunk-5V4NJHRM.js → chunk-YMPTI7RZ.js} +9 -9
- package/{chunk-5NMZNPTN.js → chunk-YRIFJ6XQ.js} +13 -13
- package/{chunk-FZGV4FGK.js → chunk-YRRASA5Q.js} +268 -143
- package/{chunk-2F4VYGFW.js → chunk-Z5W7UMQV.js} +4 -3
- package/{chunk-ND2J3NRB.js → chunk-ZGJLSHER.js} +2 -2
- package/{chunk-VRLI2WNW.js → chunk-ZI2MEZMT.js} +314 -142
- package/{chunk-2F7RJC6L.js → chunk-ZOVKKMF6.js} +1 -1
- package/commandRegistry-BP5JLW24.js +822 -0
- package/{contentThunks-VURN3DFW.js → contentThunks-2HYFUXUM.js} +29 -29
- package/{cooldownCommands-BSCH2W7P.js → cooldownCommands-ZLEPIB4A.js} +2 -2
- package/{createAgentAutomationAction-QZAAY77R.js → createAgentAutomationAction-DCKUSJH7.js} +29 -29
- package/{createDialogAction-CHGXVTAC.js → createDialogAction-NRIAEH2A.js} +32 -32
- package/{createPageAction-IOGAFIN7.js → createPageAction-AUJHHXGG.js} +35 -35
- package/{dbSlice-YXQ6RYIH.js → dbSlice-HFPIJT5P.js} +8 -8
- package/{deleteFile-YG6QMJLU.js → deleteFile-UEAD5A5Z.js} +3 -3
- package/{dialogCommands-XREAP6WQ.js → dialogCommands-UJRGCRN6.js} +42 -39
- package/{dialogSlice-DOPGWGS4.js → dialogSlice-AHU4XXIW.js} +35 -29
- package/{dist-VODFSGNG.js → dist-NJC2W7I4.js} +61 -54
- package/{docCreateCommands-3PYZGSCL.js → docCreateCommands-ZOV3ZBLW.js} +39 -38
- package/{docDeleteCommands-3Y6MU44Q.js → docDeleteCommands-G4KAXJYQ.js} +39 -38
- package/{docReadCommands-UBANMAFR.js → docReadCommands-B2MM3JIT.js} +38 -37
- package/{docStore-SYYFBENY.js → docStore-SITH63V3.js} +9 -9
- package/{docUpdateCommands-4GK2X6BN.js → docUpdateCommands-2QNF5CYN.js} +39 -38
- package/{fetchMessages-EIU7UFFK.js → fetchMessages-67MEFPZR.js} +2 -2
- package/{getPricing-F2C65RIX.js → getPricing-OX7B4R6B.js} +3 -3
- package/{handleSendMessageAction-NPVTY2GE.js → handleSendMessageAction-7ZMJMWLC.js} +72 -80
- package/index.js +74 -877
- package/{localDialogRead-BTFJ4V2I.js → localDialogRead-EBRS242U.js} +2 -2
- package/{localRuntimeAuthority-6IR6BBXE.js → localRuntimeAuthority-5W6IJRAD.js} +6 -6
- package/{localRuntimeDb-SYQGUF4U.js → localRuntimeDb-3LRMNLCM.js} +1 -1
- package/{machineCommands-I66X2XB7.js → machineCommands-YCTD5KOL.js} +75 -71
- package/{machineWsRunDispatch-W4FVBOUM.js → machineWsRunDispatch-JFMD4ZAW.js} +73 -69
- package/{memberThunks-5T4J6KXQ.js → memberThunks-SKFZ37VS.js} +9 -9
- package/{models-WW7VFNXB.js → models-T3SG6MJ5.js} +2 -2
- package/oauthTokenStore-ITEB663N.js +23 -0
- package/{offlineMarxistsAgentCommand-JEWCIAWM.js → offlineMarxistsAgentCommand-HGXZV4XJ.js} +1 -1
- package/package.json +1 -1
- package/pdf-U6KSUEZZ.js +26435 -0
- package/processSpawn-SOAV3FEV.js +11 -0
- package/profileConfig-ZGOFORWV.js +43 -0
- package/{providerPresetApply-OCWWKBSD.js → providerPresetApply-2QTBYN36.js} +7 -7
- package/{providerRegistry-ZJQU7AJ7.js → providerRegistry-SVXE4G4T.js} +7 -7
- package/{read-M2Q6WEKB.js → read-IEJLLUXY.js} +5 -5
- package/{readDocTool-T37P3YPB.js → readDocTool-4SPYCP2Y.js} +5 -3
- package/{readlineWorkspace-VY5AMOGR.js → readlineWorkspace-M3PLTBLD.js} +2396 -2018
- package/{removeDialogAgentAction-HB3JBVAI.js → removeDialogAgentAction-LILXTOQY.js} +14 -14
- package/{runAgentClientLoop-3NDADLVE.js → runAgentClientLoop-QMCXBOBH.js} +55 -55
- package/{runtimeDoctorCommands-X6WDBEQX.js → runtimeDoctorCommands-3USD722U.js} +3 -3
- package/runtimeModeArgs-2Y7BALTO.js +31 -0
- package/{setDialogExtraReferencesAction-4XLHRV37.js → setDialogExtraReferencesAction-LVNHLNT5.js} +10 -10
- package/{setPrimaryDialogAgentAction-C3JOFC4W.js → setPrimaryDialogAgentAction-DCKO5NTW.js} +14 -14
- package/{settingSlice-CZRURSTH.js → settingSlice-CNE75ISY.js} +10 -10
- package/{spaceCommands-ENYCUUZH.js → spaceCommands-3U6OHM6O.js} +39 -38
- package/{streamAgentChatTurn-634OFUSR.js → streamAgentChatTurn-JPMJQSEE.js} +144 -84
- package/{switchDialogAgentAction-C6KVUKJP.js → switchDialogAgentAction-JSYUQ5CG.js} +11 -11
- package/{tableCommands-O6NWHFKV.js → tableCommands-G7RV3RU3.js} +4 -4
- package/{toolApiClient-7PSIFQPJ.js → toolApiClient-INIQCPGY.js} +3 -3
- package/{tools-ILBLCF7D.js → tools-XQ5GIH6P.js} +49 -49
- package/{tuiSummaryLlmCaller-LFUBZKXK.js → tuiSummaryLlmCaller-L63PDJUD.js} +16 -15
- package/{updateCommands-2M74UL7P.js → updateCommands-ECWKIWLQ.js} +3 -3
- package/{updateDialogTitleAction-RKFET73N.js → updateDialogTitleAction-EGAZMLUB.js} +32 -32
- package/agentRecordCommands-FVVVCQFM.js +0 -126
- package/chunk-Q5FJJ6XI.js +0 -103
- package/chunk-S7Z2HMCN.js +0 -25
- package/chunk-WS22FPWT.js +0 -79
- package/{chunk-VMFTFOWF.js → chunk-3AH7LNUB.js} +7 -7
- package/{chunk-X7HHHIOZ.js → chunk-Y6ROFCZO.js} +0 -0
- package/{db-WK5MDZVN.js → db-VQSAOWAO.js} +1 -1
|
@@ -6,13 +6,13 @@ import {
|
|
|
6
6
|
} from "./chunk-DWLEOOGR.js";
|
|
7
7
|
import {
|
|
8
8
|
addContentAction
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-B7ANJQWZ.js";
|
|
10
10
|
import {
|
|
11
11
|
upload
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-QALRKMHF.js";
|
|
13
13
|
import {
|
|
14
14
|
getRuntimeServerContext
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-AUXHZ2M5.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
|
|
|
@@ -691,14 +767,6 @@ function formatCompactionMetricsLog(metrics) {
|
|
|
691
767
|
return `[Compaction] reason=${metrics.reason} compressed=${metrics.compressedCount}->${metrics.retainedCount} msgs, tokens=${totalBefore}->${totalAfter} (ratio=${ratio})${llmInfo}`;
|
|
692
768
|
}
|
|
693
769
|
|
|
694
|
-
// packages/core/clipCompactText.ts
|
|
695
|
-
function clipCompactText(value, max, ellipsis = "...") {
|
|
696
|
-
const compact = compactWhitespace(value);
|
|
697
|
-
if (compact.length <= max) return compact;
|
|
698
|
-
if (max <= ellipsis.length) return compact.slice(0, max);
|
|
699
|
-
return `${compact.slice(0, max - ellipsis.length)}${ellipsis}`;
|
|
700
|
-
}
|
|
701
|
-
|
|
702
770
|
// packages/ai/token/providerCallTiming.ts
|
|
703
771
|
var defaultNow = () => {
|
|
704
772
|
const perf = globalThis.performance;
|
|
@@ -769,7 +837,23 @@ var isMeaningfulResponsesOutput = (event) => {
|
|
|
769
837
|
return false;
|
|
770
838
|
};
|
|
771
839
|
|
|
840
|
+
// packages/core/clipCompactText.ts
|
|
841
|
+
function clipCompactText(value, max, ellipsis = "...") {
|
|
842
|
+
const compact = compactWhitespace(value);
|
|
843
|
+
if (compact.length <= max) return compact;
|
|
844
|
+
if (max <= ellipsis.length) return compact.slice(0, max);
|
|
845
|
+
return `${compact.slice(0, max - ellipsis.length)}${ellipsis}`;
|
|
846
|
+
}
|
|
847
|
+
|
|
772
848
|
export {
|
|
849
|
+
normalizeTimingMs,
|
|
850
|
+
createProviderCallTimingTracker,
|
|
851
|
+
observeMeaningfulProviderResponseAt,
|
|
852
|
+
observeMeaningfulProviderResponse,
|
|
853
|
+
finalizeProviderCallTiming,
|
|
854
|
+
withProviderCallTimingFields,
|
|
855
|
+
isMeaningfulChatCompletionOutput,
|
|
856
|
+
isMeaningfulResponsesOutput,
|
|
773
857
|
clipCompactText,
|
|
774
858
|
planContextUsage,
|
|
775
859
|
buildDatabaseFileContentUrl,
|
|
@@ -784,13 +868,5 @@ export {
|
|
|
784
868
|
formatFileOperationsFromMessages,
|
|
785
869
|
formatMessagesForSummaryWithTruncation,
|
|
786
870
|
buildCompactionMetricsFromPlan,
|
|
787
|
-
formatCompactionMetricsLog
|
|
788
|
-
normalizeTimingMs,
|
|
789
|
-
createProviderCallTimingTracker,
|
|
790
|
-
observeMeaningfulProviderResponseAt,
|
|
791
|
-
observeMeaningfulProviderResponse,
|
|
792
|
-
finalizeProviderCallTiming,
|
|
793
|
-
withProviderCallTimingFields,
|
|
794
|
-
isMeaningfulChatCompletionOutput,
|
|
795
|
-
isMeaningfulResponsesOutput
|
|
871
|
+
formatCompactionMetricsLog
|
|
796
872
|
};
|