nolo-cli 0.97.0-alpha.1 → 0.97.0
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-JIG7MRXQ.js → _executeModel-DYHTQJZC.js} +68 -63
- package/{action-YVYQEAAV.js → action-GI44T4DR.js} +10 -10
- package/{addContentAction-O7R66HEX.js → addContentAction-B2DRF7P6.js} +9 -9
- package/{addDialogAgentAction-74OA7KYP.js → addDialogAgentAction-T3I7IXPK.js} +15 -17
- package/{agentDeleteCommand-THAZ5GQS.js → agentDeleteCommand-LLNNP3AM.js} +47 -43
- package/{agentEmailCommands-A7T7AJA4.js → agentEmailCommands-EO3H2LDW.js} +90 -82
- package/agentListCommands-J3MWAZWO.js +741 -0
- package/{agentMachineCommands-DM4N5PK3.js → agentMachineCommands-V65VOQNK.js} +42 -38
- package/{agentProviderCommands-GNPTL5XR.js → agentProviderCommands-EMZCM6VA.js} +1 -1
- package/{agentPullCommand-O5MPVJ5E.js → agentPullCommand-HF4A42D4.js} +1 -1
- package/agentRecordCommands-VY35OMX3.js +136 -0
- package/{agentRunCommand-JVSTGVG2.js → agentRunCommand-CSEX4QIH.js} +90 -80
- package/{agentRunControl-WCTKX5VL.js → agentRunControl-5T64LM2M.js} +2 -2
- package/{agentRuntimeLocal-73CVIWBB.js → agentRuntimeLocal-AY6YNUAL.js} +44 -36
- package/{agentSlice-6X4JL2E3.js → agentSlice-FOZUXW7X.js} +11 -11
- package/{appDeleteCommands-S7CK4OYL.js → appDeleteCommands-QTTL3QF3.js} +42 -38
- package/{appDeployCommands-U6TMS5GO.js → appDeployCommands-43LJECGV.js} +42 -38
- package/{appDeployStatusCommands-DTNQJ3LJ.js → appDeployStatusCommands-L5BKOLYW.js} +42 -38
- package/{appGetCommands-3SHZEQD5.js → appGetCommands-HOFZKOPC.js} +42 -38
- package/{appListCommands-E2ZMIUB6.js → appListCommands-I7C3SJCE.js} +42 -38
- package/{authCommand-F4EFRRX6.js → authCommand-2YPMMIJN.js} +117 -23
- package/{authCommands-RGOGCPP6.js → authCommands-FFDS4FVX.js} +7 -5
- package/{builtinSkillRegistry-FUAVTRVZ.js → builtinSkillRegistry-CALVIJTX.js} +6 -5
- package/{chatQueueReduxAdapter-LAQEZQKE.js → chatQueueReduxAdapter-NMEZRYC2.js} +30 -29
- package/{chromeCommands-FZYAU75D.js → chromeCommands-K27J4OVZ.js} +124 -28
- package/{chromeOpsCommands-62P2Q2YB.js → chromeOpsCommands-IXRLN57H.js} +4 -3
- package/{chunk-6OZ36FXI.js → chunk-27ONFIEY.js} +22 -4
- package/{chunk-JEDZAO7L.js → chunk-2SYTUTLI.js} +257 -37
- package/{chunk-YQTQQX2H.js → chunk-2UV22D2F.js} +1 -1
- package/{chunk-R2B3MIZA.js → chunk-3BFMH6GE.js} +6 -7
- package/{chunk-OIVSQH2O.js → chunk-3BXNTXYI.js} +299 -5
- package/{chunk-QIAVMDHY.js → chunk-3LX6YE3P.js} +4 -4
- package/{chunk-EYAQT56M.js → chunk-4DPP773Q.js} +2 -2
- package/chunk-4LCOCOR5.js +50 -0
- package/{chunk-2GRGFCF6.js → chunk-4VJAC32I.js} +2 -1
- package/{chunk-MC4XLIJ7.js → chunk-523DITKR.js} +1 -1
- package/{chunk-E4MARS3Q.js → chunk-5GVBDNTO.js} +1 -1
- package/chunk-5J3PYNUP.js +255 -0
- package/chunk-5MMAK75Q.js +15 -0
- package/{chunk-JPGCXHNM.js → chunk-5OA5HMTL.js} +1 -1
- package/{chunk-42V6BK2E.js → chunk-62IL3KQV.js} +4 -34
- package/{chunk-6YTOJY35.js → chunk-6D2JFXLY.js} +35 -0
- package/{chunk-3BMYXEUW.js → chunk-6O4IK4V2.js} +1 -1
- package/{chunk-IIVGDG4I.js → chunk-6PHKBY2Q.js} +10 -4
- package/{chunk-WADCY6G6.js → chunk-6ZWMH6TJ.js} +111 -41
- package/{chunk-ABQYVJBJ.js → chunk-7CHC4W22.js} +1 -1
- package/{chunk-GQBOR3G6.js → chunk-7KVZ5LDQ.js} +2 -2
- package/{chunk-ZWUOR654.js → chunk-7WCQEMPB.js} +971 -1093
- package/{chunk-BLJWCTRL.js → chunk-AOPCEXTB.js} +1 -1
- package/{chunk-LXF6XQDT.js → chunk-AQ3I6DZE.js} +865 -207
- package/{chunk-Q554LLSI.js → chunk-AUDNYVRC.js} +1 -1
- package/{chunk-RG6JBBX5.js → chunk-AWF3WO5R.js} +166 -13
- package/{chunk-GPCZ7UXG.js → chunk-AZRHIN5B.js} +1 -1
- package/chunk-BMQ2MJUK.js +153 -0
- package/{chunk-HWIZU4OL.js → chunk-C3VLSD4K.js} +236 -36
- package/{chunk-3IIEFNGY.js → chunk-C53ZG23R.js} +2 -2
- package/chunk-CHOZJMJS.js +78 -0
- package/{chunk-HJUYAD4A.js → chunk-CPUFH46E.js} +8 -8
- package/{chunk-LS2ZANRJ.js → chunk-CTUQJVQM.js} +1 -1
- package/{chunk-BP4XNZRM.js → chunk-CU3QB4HW.js} +3 -3
- package/{chunk-ACTMNVHM.js → chunk-CYSYR67N.js} +1 -1
- package/{chunk-KQ4ONNQD.js → chunk-DAWDCRIG.js} +82 -8
- package/{chunk-VLTIYV3X.js → chunk-DCLMZ5TX.js} +4 -4
- package/{chunk-UKZDAFYT.js → chunk-DSSTTEKI.js} +6 -10
- package/{chunk-LZIWMYX4.js → chunk-EKS2APRJ.js} +21 -5
- package/{chunk-HVURBGF3.js → chunk-ESRMFY7G.js} +2 -2
- package/{chunk-TRV2MIDW.js → chunk-EXAJ6DCR.js} +1 -0
- package/chunk-FD5K6MPI.js +7808 -0
- package/chunk-GMZLP5DV.js +82 -0
- package/{chunk-FDTR4QJ6.js → chunk-H6A6X4EK.js} +32 -1
- package/{chunk-DVINR3PL.js → chunk-HDLLCBRF.js} +1 -1
- package/{chunk-JCIHVIVG.js → chunk-HKTIX4ZE.js} +23 -76
- package/{chunk-ONXOABJR.js → chunk-HNGRBWYF.js} +3 -0
- package/{chunk-H62HCIUP.js → chunk-HYZIYH2H.js} +11 -10
- package/{chunk-3VNWWVKB.js → chunk-I3QNET24.js} +30 -17
- package/{chunk-WV42OMV7.js → chunk-IAESIMK7.js} +4 -4
- package/{chunk-6FVRQBRR.js → chunk-JJ7P5CIY.js} +56 -34
- package/{chunk-3WD6RUUJ.js → chunk-JZ5II5UV.js} +15 -20
- package/{chunk-JRQFUXY7.js → chunk-KCDUTE5V.js} +96 -19
- package/{chunk-Y5HW6GM2.js → chunk-KHVJXNRY.js} +100 -100
- package/{chunk-7S4YWN7P.js → chunk-MX574M24.js} +1 -1
- package/{chunk-FZGV4FGK.js → chunk-NUHHBEJC.js} +378 -187
- package/{chunk-53HEEOTT.js → chunk-O26PCYLS.js} +80 -13
- package/{chunk-3DII57IT.js → chunk-O2OWEFII.js} +1 -1
- package/{chunk-TDRTS7QW.js → chunk-O6JPWEEK.js} +77 -17
- package/chunk-OCZKATRC.js +129 -0
- package/{chunk-6D6VBVEW.js → chunk-OTEMQQZI.js} +80 -14
- package/{chunk-7OLPQSMQ.js → chunk-OYOWA3CP.js} +24 -5
- package/chunk-P6GMCCAT.js +870 -0
- package/{chunk-ESWUWEFS.js → chunk-PQTSOHBT.js} +13 -13
- package/{chunk-WGR3J4Q6.js → chunk-Q4GP72HX.js} +9 -3
- package/{chunk-DHDMC6FO.js → chunk-QKUMVP3O.js} +11 -6
- package/{chunk-TZJJ77KQ.js → chunk-RMAWULCS.js} +498 -480
- package/{chunk-V4MJDUSR.js → chunk-RSEEDUMS.js} +2 -2
- package/{chunk-UZGQNTVW.js → chunk-S5XGT6GB.js} +5 -3
- package/{chunk-76WEAXJB.js → chunk-SACTCJAC.js} +18 -15
- package/{chunk-AFUORTY4.js → chunk-SONWNI3L.js} +21 -21
- package/{chunk-BYMV6QZG.js → chunk-TNIX77YM.js} +4 -0
- package/{chunk-OF7AQZUG.js → chunk-TU5NE4U3.js} +9 -84
- package/chunk-TY3TIUJK.js +89 -0
- package/chunk-UEGYKNHO.js +13349 -0
- package/chunk-UNYJU5L6.js +780 -0
- package/{chunk-J4MOO56S.js → chunk-UQNS32WZ.js} +10 -2
- package/chunk-VIWDGTDA.js +8 -0
- package/chunk-VJVNU77E.js +83 -0
- package/{chunk-54ADB4W7.js → chunk-VYN7O3OY.js} +1 -1
- package/{chunk-JAXOVNM4.js → chunk-WILHZY7K.js} +45 -45
- package/{chunk-UKWGR5SS.js → chunk-WIWM4FE3.js} +187 -398
- package/{chunk-O6OSWFZQ.js → chunk-XUWRURDF.js} +6 -0
- package/{chunk-Q67DOFOO.js → chunk-Y3PMXGLH.js} +2 -0
- package/{chunk-SNPMM7H3.js → chunk-Y6AZRODX.js} +13 -13
- package/{chunk-SQQVLHMH.js → chunk-YJKDTJ2X.js} +7 -7
- package/{chunk-SH43IESU.js → chunk-YUNJN43V.js} +44 -9
- package/{chunk-TOP2VXOR.js → chunk-Z4CSIXYP.js} +2 -2
- package/{chunk-2F7RJC6L.js → chunk-ZOVKKMF6.js} +1 -1
- package/chunk-ZRAU6T47.js +56 -0
- package/{chunk-Z77CRGTW.js → chunk-ZYWQNCBN.js} +1 -1
- package/commandRegistry-MRPLKSWP.js +833 -0
- package/{contentThunks-ATLWNC2D.js → contentThunks-TD5YOAQM.js} +32 -30
- package/{cooldownCommands-REAWYVTY.js → cooldownCommands-ZLEPIB4A.js} +2 -2
- package/{createAgentAutomationAction-QYYWTVUR.js → createAgentAutomationAction-XUG62ANM.js} +32 -30
- package/{createDialogAction-7I5VGWCR.js → createDialogAction-L3CMZKNL.js} +36 -33
- package/{createPageAction-WNURYCWU.js → createPageAction-WJ3MX6JS.js} +38 -36
- package/{chunk-YVIV7WT4.js → cursorProvider-YGGNMVWX.js} +2496 -9890
- package/{dbSlice-XVWBAGYN.js → dbSlice-DQ32LYTJ.js} +8 -8
- package/{deleteFile-YG6QMJLU.js → deleteFile-NX6QHCWZ.js} +3 -3
- package/{dialogCommands-RILHDRQ5.js → dialogCommands-VM3I4HBW.js} +45 -41
- package/{dialogSlice-W5BYELVR.js → dialogSlice-DSHG3YUE.js} +36 -29
- package/{dist-VODFSGNG.js → dist-NJC2W7I4.js} +61 -54
- package/{docCreateCommands-GSTPU7SG.js → docCreateCommands-TYUJPCOP.js} +44 -40
- package/{docDeleteCommands-2FC3LSUT.js → docDeleteCommands-5XEG2LXO.js} +44 -40
- package/{docReadCommands-27POBA34.js → docReadCommands-M6RO6QHV.js} +43 -39
- package/{docStore-7LAHBFP2.js → docStore-RYOGMPEF.js} +11 -10
- package/{docUpdateCommands-U4II6VCO.js → docUpdateCommands-DKOFTZRX.js} +44 -40
- package/{fetchMessages-EIU7UFFK.js → fetchMessages-67MEFPZR.js} +2 -2
- package/{getPricing-LUSEABA6.js → getPricing-NMMFT3YI.js} +3 -3
- package/{handleSendMessageAction-SKMJMVRU.js → handleSendMessageAction-XH742B27.js} +91 -83
- package/index.js +87 -884
- 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-S2RNYKVJ.js → machineCommands-BKYVMMEG.js} +85 -77
- package/{machineWsRunDispatch-JC44LBLP.js → machineWsRunDispatch-QOBSQQ72.js} +82 -74
- package/{memberThunks-QGFLFVCI.js → memberThunks-5ZXPR63F.js} +9 -9
- package/{models-T3SG6MJ5.js → models-ZPU5EDF4.js} +2 -2
- package/oauthTokenStore-ITEB663N.js +23 -0
- 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-FG6NZ57W.js → providerPresetApply-76AVU3HD.js} +7 -7
- package/{providerRegistry-757OWH3O.js → providerRegistry-Z62NC45X.js} +11 -7
- package/{read-COE3ZYR6.js → read-EPTJRAEF.js} +5 -5
- package/{readDocTool-5USN4A6V.js → readDocTool-W4NDXNEX.js} +5 -3
- package/{readlineWorkspace-VZSBXUH4.js → readlineWorkspace-7P7IORIT.js} +2450 -2022
- package/{removeDialogAgentAction-IX3MN2ZO.js → removeDialogAgentAction-BVAWQKXE.js} +17 -19
- package/{runAgentClientLoop-ZYENU7GH.js → runAgentClientLoop-7WXN6I7L.js} +62 -58
- package/{runtimeDoctorCommands-X6WDBEQX.js → runtimeDoctorCommands-3USD722U.js} +3 -3
- package/runtimeModeArgs-2Y7BALTO.js +31 -0
- package/{setDialogExtraReferencesAction-X4HCPNZL.js → setDialogExtraReferencesAction-LYY45IAD.js} +12 -11
- package/{setPrimaryDialogAgentAction-4GMIQLOD.js → setPrimaryDialogAgentAction-73IL7DLU.js} +18 -20
- package/{settingSlice-ZQZVUPKK.js → settingSlice-Q6EKL7EQ.js} +9 -9
- package/{skillDiscovery-CYUCJMAG.js → skillDiscovery-ZBU76COE.js} +3 -3
- package/{spaceCommands-QB3NNEMN.js → spaceCommands-QFP4ZXKG.js} +44 -40
- package/{streamAgentChatTurn-43GPPQSN.js → streamAgentChatTurn-B4PXPJJS.js} +184 -91
- package/{switchDialogAgentAction-N52LRPA3.js → switchDialogAgentAction-UUXDSQ6X.js} +15 -17
- package/{tableCommands-O6NWHFKV.js → tableCommands-G7RV3RU3.js} +4 -4
- package/{toolApiClient-QVJ6HDNN.js → toolApiClient-INIQCPGY.js} +3 -3
- package/{tools-SX6Y4STZ.js → tools-QFS2L7BU.js} +55 -51
- package/{tuiSummaryLlmCaller-T2SHYMDZ.js → tuiSummaryLlmCaller-74NRRLVW.js} +18 -16
- package/{updateCommands-2M74UL7P.js → updateCommands-4EHDLF5J.js} +3 -3
- package/{updateDialogTitleAction-VAKA4ZNY.js → updateDialogTitleAction-HTDYCNNZ.js} +81 -43
- package/agentListCommands-BRZFEJQM.js +0 -406
- package/agentRecordCommands-TTAEMNHB.js +0 -128
- package/chunk-K4YGZD3P.js +0 -18881
- package/chunk-M76ECQRD.js +0 -13658
- package/chunk-Q5FJJ6XI.js +0 -103
- package/chunk-S7Z2HMCN.js +0 -25
- 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
|
@@ -1,18 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
estimateTokenCount
|
|
3
3
|
} from "./chunk-PSCNXBYA.js";
|
|
4
|
-
import {
|
|
5
|
-
compactWhitespace
|
|
6
|
-
} from "./chunk-DWLEOOGR.js";
|
|
7
4
|
import {
|
|
8
5
|
addContentAction
|
|
9
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-RSEEDUMS.js";
|
|
10
7
|
import {
|
|
11
8
|
upload
|
|
12
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-HYZIYH2H.js";
|
|
13
10
|
import {
|
|
14
11
|
getRuntimeServerContext
|
|
15
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-WIWM4FE3.js";
|
|
16
13
|
import {
|
|
17
14
|
API_ENDPOINTS
|
|
18
15
|
} from "./chunk-LCBAMY2M.js";
|
|
@@ -367,6 +364,7 @@ var truncateToolOutputForContext = (text, contextWindow) => {
|
|
|
367
364
|
// packages/ai/context/planCompression.ts
|
|
368
365
|
var MIN_COMPRESS_COUNT = 5;
|
|
369
366
|
var ACTIVE_SUMMARY_TAIL_KEEP_COUNT = 2;
|
|
367
|
+
var COMPACTION_RETENTION_CUSHION_RATIO = 0.18;
|
|
370
368
|
var MIN_TRIGGER_PENDING_COUNT = MIN_COMPRESS_COUNT + ACTIVE_SUMMARY_TAIL_KEEP_COUNT;
|
|
371
369
|
var getMessageTokenCount = (msg) => {
|
|
372
370
|
const content = serializeMessageContent(msg.content) || "";
|
|
@@ -409,13 +407,14 @@ var normalizeContextUsageRatio = (value) => {
|
|
|
409
407
|
const ratio = value > 1 ? value / 100 : value;
|
|
410
408
|
return ratio >= 0 && ratio <= 1 ? ratio : void 0;
|
|
411
409
|
};
|
|
412
|
-
var emptyPlan = (startIndex) => ({
|
|
410
|
+
var emptyPlan = (startIndex, diagnostics) => ({
|
|
413
411
|
shouldCompress: false,
|
|
414
412
|
compressCount: 0,
|
|
415
413
|
msgsToCompress: [],
|
|
416
414
|
msgsToKeep: [],
|
|
417
415
|
newSummarizedBeforeId: void 0,
|
|
418
|
-
startIndex
|
|
416
|
+
startIndex,
|
|
417
|
+
...diagnostics ? { diagnostics } : {}
|
|
419
418
|
});
|
|
420
419
|
function findPendingMessages(allMsgs, summarizedBeforeId) {
|
|
421
420
|
let startIndex = 0;
|
|
@@ -464,15 +463,42 @@ function calculateCompressCount(pendingMsgs, rawMessageBudget, opts) {
|
|
|
464
463
|
}
|
|
465
464
|
return pendingMsgs.length - keepCount;
|
|
466
465
|
}
|
|
466
|
+
function resolveEffectiveCompactionBudgets(args) {
|
|
467
|
+
const {
|
|
468
|
+
contextWindow,
|
|
469
|
+
triggerRatio,
|
|
470
|
+
historyBudget,
|
|
471
|
+
rawMessageBudget,
|
|
472
|
+
summaryTokens,
|
|
473
|
+
cushionRatio = COMPACTION_RETENTION_CUSHION_RATIO
|
|
474
|
+
} = args;
|
|
475
|
+
const maxRetainedRatio = Math.max(
|
|
476
|
+
0.2,
|
|
477
|
+
Number((triggerRatio - cushionRatio).toFixed(4))
|
|
478
|
+
);
|
|
479
|
+
const maxRetainedHistoryBudget = Math.floor(contextWindow * maxRetainedRatio);
|
|
480
|
+
const effectiveHistoryBudget = Math.min(historyBudget, maxRetainedHistoryBudget);
|
|
481
|
+
const effectiveRawMessageBudget = Math.min(
|
|
482
|
+
rawMessageBudget,
|
|
483
|
+
Math.max(0, effectiveHistoryBudget - summaryTokens)
|
|
484
|
+
);
|
|
485
|
+
return {
|
|
486
|
+
effectiveHistoryBudget,
|
|
487
|
+
effectiveRawMessageBudget,
|
|
488
|
+
maxRetainedRatio
|
|
489
|
+
};
|
|
490
|
+
}
|
|
467
491
|
function guardToolChainBoundary(pendingMsgs, compressCount) {
|
|
468
492
|
let count = compressCount;
|
|
469
|
-
while (count
|
|
470
|
-
count
|
|
493
|
+
while (count < pendingMsgs.length && pendingMsgs[count].role === "tool") {
|
|
494
|
+
count++;
|
|
471
495
|
}
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
496
|
+
while (count > 0 && hasOpenEndedToolCall(pendingMsgs[count - 1])) {
|
|
497
|
+
if (count < pendingMsgs.length && pendingMsgs[count].role === "tool") {
|
|
498
|
+
count++;
|
|
499
|
+
} else {
|
|
475
500
|
count--;
|
|
501
|
+
break;
|
|
476
502
|
}
|
|
477
503
|
}
|
|
478
504
|
return count;
|
|
@@ -489,7 +515,20 @@ function planCompression(input) {
|
|
|
489
515
|
coldResume
|
|
490
516
|
} = input;
|
|
491
517
|
const { pendingMsgs, startIndex } = findPendingMessages(allMsgs, summarizedBeforeId);
|
|
492
|
-
if (pendingMsgs.length === 0)
|
|
518
|
+
if (pendingMsgs.length === 0) {
|
|
519
|
+
return emptyPlan(startIndex, {
|
|
520
|
+
pendingMsgCount: 0,
|
|
521
|
+
totalUsed: estimateTokenCount(summary || ""),
|
|
522
|
+
historyBudget: 0,
|
|
523
|
+
triggerRatio: resolveCompressionTriggerRatio(contextWindow),
|
|
524
|
+
realUsageRatio: normalizeContextUsageRatio(realContextUsagePercent),
|
|
525
|
+
triggeredByRealUsage: false,
|
|
526
|
+
triggeredByEstimate: false,
|
|
527
|
+
triggeredByColdResume: false,
|
|
528
|
+
shouldRunActiveSummary: false,
|
|
529
|
+
emptyReason: "no-pending"
|
|
530
|
+
});
|
|
531
|
+
}
|
|
493
532
|
const summaryTokens = estimateTokenCount(summary || "");
|
|
494
533
|
const pendingTokens = pendingMsgs.reduce((sum, msg) => sum + getMessageTokenCount(msg), 0);
|
|
495
534
|
const totalUsed = summaryTokens + pendingTokens;
|
|
@@ -517,14 +556,47 @@ function planCompression(input) {
|
|
|
517
556
|
coldResume,
|
|
518
557
|
lastMsg: pendingMsgs[pendingMsgs.length - 1]
|
|
519
558
|
});
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
keepTailCount: shouldRunActiveSummary || triggeredByRealUsage || triggeredByColdResume,
|
|
559
|
+
const diagnostics = {
|
|
560
|
+
pendingMsgCount: pendingMsgs.length,
|
|
523
561
|
totalUsed,
|
|
524
|
-
historyBudget
|
|
562
|
+
historyBudget,
|
|
563
|
+
triggerRatio,
|
|
564
|
+
realUsageRatio: normalizeContextUsageRatio(realContextUsagePercent),
|
|
565
|
+
triggeredByRealUsage,
|
|
566
|
+
triggeredByEstimate: normalizeContextUsageRatio(realContextUsagePercent) === void 0 && totalUsed >= historyBudget,
|
|
567
|
+
triggeredByColdResume,
|
|
568
|
+
shouldRunActiveSummary
|
|
569
|
+
};
|
|
570
|
+
if (!trigger) {
|
|
571
|
+
return emptyPlan(startIndex, {
|
|
572
|
+
...diagnostics,
|
|
573
|
+
emptyReason: "not-triggered"
|
|
574
|
+
});
|
|
575
|
+
}
|
|
576
|
+
const { effectiveHistoryBudget, effectiveRawMessageBudget } = resolveEffectiveCompactionBudgets({
|
|
577
|
+
contextWindow,
|
|
578
|
+
triggerRatio,
|
|
579
|
+
historyBudget,
|
|
580
|
+
rawMessageBudget,
|
|
581
|
+
summaryTokens
|
|
525
582
|
});
|
|
583
|
+
let compressCount = calculateCompressCount(
|
|
584
|
+
pendingMsgs,
|
|
585
|
+
effectiveRawMessageBudget,
|
|
586
|
+
{
|
|
587
|
+
keepTailCount: shouldRunActiveSummary || triggeredByRealUsage || triggeredByColdResume,
|
|
588
|
+
totalUsed,
|
|
589
|
+
historyBudget: effectiveHistoryBudget
|
|
590
|
+
}
|
|
591
|
+
);
|
|
526
592
|
compressCount = guardToolChainBoundary(pendingMsgs, compressCount);
|
|
527
|
-
if (compressCount < MIN_COMPRESS_COUNT)
|
|
593
|
+
if (compressCount < MIN_COMPRESS_COUNT) {
|
|
594
|
+
return emptyPlan(startIndex, {
|
|
595
|
+
...diagnostics,
|
|
596
|
+
compressCount,
|
|
597
|
+
emptyReason: "below-min-compress-count"
|
|
598
|
+
});
|
|
599
|
+
}
|
|
528
600
|
const msgsToCompress = pendingMsgs.slice(0, compressCount);
|
|
529
601
|
const msgsToKeep = pendingMsgs.slice(compressCount);
|
|
530
602
|
const newSummarizedBeforeId = msgsToCompress[msgsToCompress.length - 1].id;
|
|
@@ -534,12 +606,13 @@ function planCompression(input) {
|
|
|
534
606
|
msgsToCompress,
|
|
535
607
|
msgsToKeep,
|
|
536
608
|
newSummarizedBeforeId,
|
|
537
|
-
startIndex
|
|
609
|
+
startIndex,
|
|
610
|
+
diagnostics: { ...diagnostics, compressCount }
|
|
538
611
|
};
|
|
539
612
|
}
|
|
540
613
|
|
|
541
614
|
// packages/ai/context/compactionShared.ts
|
|
542
|
-
var COMPACTION_SUMMARY_SCHEMA_VERSION =
|
|
615
|
+
var COMPACTION_SUMMARY_SCHEMA_VERSION = 2;
|
|
543
616
|
var COMPACTION_SUMMARY_SYSTEM_PROMPT = `\u4F60\u662F\u5BF9\u8BDD\u4E0A\u4E0B\u6587\u538B\u7F29\u5668\u3002\u6839\u636E\u3010\u73B0\u6709\u8BB0\u5FC6\u3011\u548C\u3010\u65B0\u589E\u5BF9\u8BDD\u3011\uFF0C\u8F93\u51FA\u53EF\u66FF\u4EE3\u539F\u59CB\u6D88\u606F\u7684\u4E8B\u5B9E\u6027\u8981\u70B9\uFF0C\u4F9B\u540E\u7EED\u5BF9\u8BDD\u76F4\u63A5\u4F7F\u7528\u3002
|
|
544
617
|
|
|
545
618
|
\u4E25\u683C\u53EA\u8F93\u51FA\u4E0B\u9762\u4E09\u90E8\u5206\uFF0C\u6807\u9898\u5FC5\u987B\u5B8C\u5168\u4E00\u81F4\uFF1A
|
|
@@ -552,10 +625,16 @@ var COMPACTION_SUMMARY_SYSTEM_PROMPT = `\u4F60\u662F\u5BF9\u8BDD\u4E0A\u4E0B\u65
|
|
|
552
625
|
|
|
553
626
|
\u8981\u6C42\uFF1A
|
|
554
627
|
1) \u4F7F\u7528\u5BF9\u8BDD\u4E3B\u8BED\u8A00\uFF1B\u6DF7\u5408\u8BED\u8A00\u65F6\u4F18\u5148\u7528\u6237\u4E3B\u8981\u8BED\u8A00\uFF1B\u4E13\u6709\u540D\u8BCD\u3001\u6587\u4EF6\u8DEF\u5F84\u3001\u6807\u8BC6\u7B26\u3001\u547D\u4EE4\u4FDD\u7559\u539F\u6587\uFF0C\u4E0D\u8981\u7FFB\u8BD1\u6216\u8F6C\u8FF0\u3002
|
|
555
|
-
2) \u5173\u952E\u4E8B\u5B9E\u6863\u6848\
|
|
628
|
+
2) \u5173\u952E\u4E8B\u5B9E\u6863\u6848\u7684**\u524D\u4E24\u9879\u56FA\u5B9A\u662F**\uFF1A
|
|
629
|
+
- \u300C\u539F\u59CB\u76EE\u6807\u300D\uFF1A\u7528\u6237\u6700\u521D\u4E3A\u4EC0\u4E48\u5F00\u8FD9\u6BB5\u5BF9\u8BDD\uFF08\u5C3D\u91CF\u4FDD\u7559\u4ED6\u7684\u539F\u8BDD\u4E0E\u7528\u8BCD\uFF0C\u4E0D\u8981\u6539\u5199\u6210\u4EFB\u52A1\u6E05\u5355\uFF09\u3002
|
|
630
|
+
\u589E\u91CF\u66F4\u65B0\u65F6\u6CBF\u7528\u3010\u73B0\u6709\u8BB0\u5FC6\u3011\u91CC\u5DF2\u6709\u7684\u300C\u539F\u59CB\u76EE\u6807\u300D\uFF0C\u4E0D\u8981\u88AB\u65B0\u589E\u5BF9\u8BDD\u6539\u5199\u2014\u2014\u5B83\u662F\u7A33\u5B9A\u5B57\u6BB5\uFF1B
|
|
631
|
+
\u4EC5\u5F53\u65B0\u5BF9\u8BDD\u660E\u786E\u8868\u660E\u539F\u6587\u6709\u4E8B\u5B9E\u6027\u9519\u8BEF\u65F6\u624D\u4FEE\u6B63\uFF0C\u5E76\u5728\u300C\u76EE\u6807\u6F14\u5316\u300D\u91CC\u6CE8\u660E\u3002
|
|
632
|
+
- \u300C\u76EE\u6807\u6F14\u5316\u300D\uFF1A\u82E5\u4E2D\u9014\u8F6C\u5411\uFF0C\u5199\u6E05\u8F6C\u5411\u4E86\u4EC0\u4E48\u3001\u56E0\u4E3A\u4EC0\u4E48\uFF1B\u6CA1\u6709\u8F6C\u5411\u5C31\u5199\u300C\u65E0\u8F6C\u5411\u300D\u6216\u7701\u7565\u8FD9\u4E00\u9879\uFF0C\u4E0D\u8981\u786C\u51D1\u3002
|
|
633
|
+
\u88AB\u540E\u7EED\u5DE5\u4F5C\u53D6\u4EE3\u7684\u662F"\u65B9\u6848"\uFF0C\u4E0D\u662F"\u7528\u6237\u7684\u521D\u59CB\u610F\u56FE"\u2014\u2014\u521D\u59CB\u610F\u56FE\u4E0D\u5F97\u7701\u7565\u3002
|
|
634
|
+
\u5176\u540E\u624D\u662F\uFF1A\u7528\u6237\u504F\u597D\u3001\u7EA6\u675F\u3001\u6280\u672F\u6808\u3001\u786E\u5B9A\u7684\u6587\u4EF6\u8DEF\u5F84\u3001\u6838\u5FC3\u51B3\u7B56\u3001\u672A\u5B8C\u6210\u5F85\u529E\u3002\u4FDD\u7559\u786E\u5207\u503C\uFF08\u7AEF\u53E3\u53F7\u3001\u7248\u672C\u53F7\u3001\u8DEF\u5F84\u3001\u53D8\u91CF\u540D\u3001\u9519\u8BEF\u4FE1\u606F\u539F\u6587\uFF09\uFF0C\u4E0D\u8981\u6982\u62EC\u6210"\u67D0\u4E2A\u7AEF\u53E3"\u6216"\u67D0\u4E2A\u6587\u4EF6"\u6216"\u67D0\u62A5\u9519"\u3002
|
|
556
635
|
3) \u5BF9\u8BDD\u8FDB\u5C55\u4E0E\u5F85\u529E\u4EE5\u7B2C\u4E00\u4EBA\u79F0\u7EED\u4F5C\u7B14\u8BB0\u7684\u53E3\u543B\u5199\uFF08"\u6211\u505A\u4E86\u2026""\u7528\u6237\u8981\u6C42\u2026""\u4E0B\u4E00\u6B65\u6211\u9700\u8981\u2026"\uFF09\uFF0C\u4E0D\u8981\u5199\u6210\u7B2C\u4E09\u65B9\u89C2\u5BDF\u62A5\u544A\u3002\u5148\u6781\u7B80\u6982\u62EC\u65E7\u4E0A\u4E0B\u6587\uFF0C\u518D\u66F4\u8BE6\u7EC6\u8BB0\u5F55\u6700\u8FD1\u8FDB\u5C55\u3001\u7ED3\u8BBA\u3001\u5206\u6B67\u4E0E\u4E0B\u4E00\u6B65\u3002\u5BF9\u4E8E\u58F0\u79F0\u5DF2\u5B8C\u6210\u4F46\u5C1A\u672A\u9A8C\u8BC1\u7684\u5DE5\u4F5C\uFF08\u5982\u5DE5\u5177\u8C03\u7528\u8FD4\u56DE\u6210\u529F\u4F46\u7ED3\u679C\u672A\u4EBA\u5DE5\u786E\u8BA4\uFF09\uFF0C\u660E\u786E\u6807\u6CE8"\uFF08\u5F85\u9A8C\u8BC1\uFF09"\u2014\u2014\u4E0D\u8981\u9ED8\u8BA4\u4FE1\u4EFB\u5DE5\u5177\u8FD4\u56DE\u503C\u3002
|
|
557
636
|
4) \u6587\u4EF6\u64CD\u4F5C\u6E05\u5355\uFF1A\u5217\u51FA\u672C\u6B21\u538B\u7F29\u8303\u56F4\u5185\u8BFB\u53D6\u3001\u5199\u5165\u3001\u7F16\u8F91\u8FC7\u7684\u6587\u4EF6\u8DEF\u5F84\u53CA\u64CD\u4F5C\u7C7B\u578B\uFF08\u5982: - \u8BFB\u53D6: path/to/file\uFF1B\u82E5\u672A\u6D89\u53CA\u6587\u4EF6\u64CD\u4F5C\u5199"\u65E0"\uFF09\u3002
|
|
558
|
-
5) \u5FFD\u7565\u5BD2\u6684\u3001\u91CD\u590D\u5C1D\u8BD5\
|
|
637
|
+
5) \u5FFD\u7565\u5BD2\u6684\u3001\u91CD\u590D\u5C1D\u8BD5\u548C\u65E0\u4EF7\u503C\u5E9F\u8BDD\uFF1B**\u5DF2\u653E\u5F03\u7684\u65B9\u6848/\u5C1D\u8BD5**\u53EF\u4EE5\u7701\u7565\uFF0C\u4F46\u7528\u6237\u5F53\u521D\u7684\u610F\u56FE\u4E0E\u7406\u7531\u4E0D\u53EF\u7701\u7565\uFF08\u89C1\u7B2C 2 \u6761\uFF09\u3002
|
|
559
638
|
6) \u4E0D\u8981\u7F16\u9020\u672A\u51FA\u73B0\u7684\u4FE1\u606F\uFF1B\u4E0D\u8981\u5F00\u573A\u767D\u3001\u7ED3\u675F\u8BED\u3001markdown \u4EE3\u7801\u5757\u6216\u989D\u5916\u7AE0\u8282\uFF1B\u4E0D\u8981\u8C03\u7528\u4EFB\u4F55\u5DE5\u5177\u3002`;
|
|
560
639
|
function formatMessageContentFallback(msg) {
|
|
561
640
|
const content = serializeMessageContent(msg.content);
|
|
@@ -691,14 +770,6 @@ function formatCompactionMetricsLog(metrics) {
|
|
|
691
770
|
return `[Compaction] reason=${metrics.reason} compressed=${metrics.compressedCount}->${metrics.retainedCount} msgs, tokens=${totalBefore}->${totalAfter} (ratio=${ratio})${llmInfo}`;
|
|
692
771
|
}
|
|
693
772
|
|
|
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
773
|
// packages/ai/token/providerCallTiming.ts
|
|
703
774
|
var defaultNow = () => {
|
|
704
775
|
const perf = globalThis.performance;
|
|
@@ -770,7 +841,14 @@ var isMeaningfulResponsesOutput = (event) => {
|
|
|
770
841
|
};
|
|
771
842
|
|
|
772
843
|
export {
|
|
773
|
-
|
|
844
|
+
normalizeTimingMs,
|
|
845
|
+
createProviderCallTimingTracker,
|
|
846
|
+
observeMeaningfulProviderResponseAt,
|
|
847
|
+
observeMeaningfulProviderResponse,
|
|
848
|
+
finalizeProviderCallTiming,
|
|
849
|
+
withProviderCallTimingFields,
|
|
850
|
+
isMeaningfulChatCompletionOutput,
|
|
851
|
+
isMeaningfulResponsesOutput,
|
|
774
852
|
planContextUsage,
|
|
775
853
|
buildDatabaseFileContentUrl,
|
|
776
854
|
serializeMessageContent,
|
|
@@ -784,13 +862,5 @@ export {
|
|
|
784
862
|
formatFileOperationsFromMessages,
|
|
785
863
|
formatMessagesForSummaryWithTruncation,
|
|
786
864
|
buildCompactionMetricsFromPlan,
|
|
787
|
-
formatCompactionMetricsLog
|
|
788
|
-
normalizeTimingMs,
|
|
789
|
-
createProviderCallTimingTracker,
|
|
790
|
-
observeMeaningfulProviderResponseAt,
|
|
791
|
-
observeMeaningfulProviderResponse,
|
|
792
|
-
finalizeProviderCallTiming,
|
|
793
|
-
withProviderCallTimingFields,
|
|
794
|
-
isMeaningfulChatCompletionOutput,
|
|
795
|
-
isMeaningfulResponsesOutput
|
|
865
|
+
formatCompactionMetricsLog
|
|
796
866
|
};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getModelConfig
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-3BXNTXYI.js";
|
|
4
4
|
import {
|
|
5
5
|
isPlatformHostedDeepseekModel,
|
|
6
6
|
isPlatformHostedOpenAIImageModel,
|
|
7
7
|
resolvePlatformHostedRouting
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-Y3PMXGLH.js";
|
|
9
9
|
import {
|
|
10
10
|
asTrimmedLowercaseString
|
|
11
11
|
} from "./chunk-QSJ3HFEF.js";
|