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.
Files changed (161) hide show
  1. package/README.md +2 -2
  2. package/{_executeModel-225YRU52.js → _executeModel-MA3D2J4W.js} +48 -48
  3. package/{action-D22U6CTH.js → action-YVYQEAAV.js} +11 -11
  4. package/{addContentAction-XAPUTGL4.js → addContentAction-O7R66HEX.js} +9 -9
  5. package/{addDialogAgentAction-M7VLLBZM.js → addDialogAgentAction-74OA7KYP.js} +8 -8
  6. package/{agentDeleteCommand-ZJNQGVR2.js → agentDeleteCommand-FHUJH5X4.js} +31 -29
  7. package/{agentEmailCommands-VLVWFWX2.js → agentEmailCommands-KNYBWNMA.js} +67 -63
  8. package/{agentGrantCommands-R3VQEZJR.js → agentGrantCommands-M3XFO6EN.js} +2 -2
  9. package/{agentListCommands-GHQGLAUU.js → agentListCommands-GATRXEMT.js} +40 -32
  10. package/{agentMachineCommands-QDXYENZJ.js → agentMachineCommands-N62I3D5Q.js} +31 -29
  11. package/{agentProviderCommands-65ZC2WB4.js → agentProviderCommands-GNPTL5XR.js} +87 -0
  12. package/{agentPullCommand-N7L2CT7L.js → agentPullCommand-O5MPVJ5E.js} +3 -3
  13. package/agentRecordCommands-GOC5K27T.js +128 -0
  14. package/{agentRunCommand-YSCD65HH.js → agentRunCommand-JP2U3MQF.js} +65 -61
  15. package/{agentRunControl-T44MESII.js → agentRunControl-AVJR4JW4.js} +2 -2
  16. package/{agentRuntimeLocal-ZOHB7OOO.js → agentRuntimeLocal-VXZSDIGT.js} +27 -25
  17. package/{agentSlice-O2SBU5TK.js → agentSlice-65ETD734.js} +10 -10
  18. package/{appDeleteCommands-PRT6K5N2.js → appDeleteCommands-PDZ7HQYH.js} +31 -29
  19. package/{appDeployCommands-63ZONFAN.js → appDeployCommands-KLLW32YA.js} +31 -29
  20. package/{appDeployStatusCommands-AFAYCVR3.js → appDeployStatusCommands-IPNJ445T.js} +31 -29
  21. package/{appGetCommands-TNZDZE36.js → appGetCommands-QA57XGXS.js} +31 -29
  22. package/{appListCommands-IA4SPG2X.js → appListCommands-YBTAUFZS.js} +31 -29
  23. package/{authCommand-EVGFLAHO.js → authCommand-F4EFRRX6.js} +164 -24
  24. package/{authCommands-ILTBI6JV.js → authCommands-RGOGCPP6.js} +4 -5
  25. package/builtinSkillRegistry-FUAVTRVZ.js +33 -0
  26. package/{chatQueueReduxAdapter-4SM3DAWX.js → chatQueueReduxAdapter-5QOW43T4.js} +24 -24
  27. package/{chromeCommands-VOIRNJBL.js → chromeCommands-FZYAU75D.js} +1 -1
  28. package/{chromeOpsCommands-M7DPCX2T.js → chromeOpsCommands-62P2Q2YB.js} +31 -1
  29. package/{chunk-C3FZR5EC.js → chunk-2F7RJC6L.js} +1 -1
  30. package/{chunk-A3NNC2LA.js → chunk-2FA3ITSX.js} +1235 -59
  31. package/{chunk-HQUORJTM.js → chunk-3BMYXEUW.js} +1 -1
  32. package/{chunk-3QPYFHAH.js → chunk-3DII57IT.js} +1 -1
  33. package/{chunk-NTW5GWDM.js → chunk-3VNWWVKB.js} +2 -0
  34. package/{chunk-DWUCB2A3.js → chunk-42V6BK2E.js} +1 -1
  35. package/{chunk-DSRXPQWA.js → chunk-4OEFYTWL.js} +43 -43
  36. package/{chunk-GBPZKFYK.js → chunk-53HEEOTT.js} +4 -4
  37. package/{chunk-KIS76A2P.js → chunk-5H7KJX7J.js} +38 -4
  38. package/{chunk-5XTOKQLW.js → chunk-5UTFL4QJ.js} +6 -2
  39. package/chunk-5ZUL4CUO.js +10 -0
  40. package/{chunk-E6RGHPDR.js → chunk-6D6VBVEW.js} +4 -6
  41. package/{chunk-CMH2SYHX.js → chunk-6OZ36FXI.js} +2 -2
  42. package/{chunk-HHLTFENG.js → chunk-6VFARHZW.js} +907 -317
  43. package/{chunk-NRALD3CC.js → chunk-76WEAXJB.js} +49 -10
  44. package/{chunk-BYEJ7K2Z.js → chunk-7S4YWN7P.js} +1 -1
  45. package/{chunk-SREASRV5.js → chunk-ABQYVJBJ.js} +1 -1
  46. package/chunk-ACTMNVHM.js +93 -0
  47. package/{chunk-3W2JJOH3.js → chunk-AD2L6YCC.js} +3 -3
  48. package/{chunk-XWNRAIUL.js → chunk-AFUORTY4.js} +6 -16
  49. package/{chunk-WL2RKIBF.js → chunk-BLJWCTRL.js} +1 -1
  50. package/chunk-BNGW5ASC.js +344 -0
  51. package/{chunk-SZLVDREM.js → chunk-BP4XNZRM.js} +3 -3
  52. package/{chunk-2KDR4CWE.js → chunk-BYMV6QZG.js} +24 -1
  53. package/{chunk-5LSS6MFZ.js → chunk-D2QT5FW4.js} +13 -15
  54. package/{chunk-MYU3MJCF.js → chunk-DHDMC6FO.js} +175 -7
  55. package/{chunk-SO7B7NW3.js → chunk-DHDVZFNC.js} +413 -62
  56. package/{chunk-E36HZARC.js → chunk-DNCEALKX.js} +93 -17
  57. package/{chunk-EXMHJN7C.js → chunk-EYAQT56M.js} +4 -3
  58. package/{chunk-CJCJF5XB.js → chunk-FDTR4QJ6.js} +4 -2
  59. package/{chunk-YSKEOTPH.js → chunk-FSX24MR3.js} +155 -795
  60. package/{chunk-NJ6WLAPS.js → chunk-FUUHG5LT.js} +1 -1
  61. package/{chunk-EM6MPSEI.js → chunk-GABFWSOQ.js} +52 -30
  62. package/{chunk-PYXL2CJL.js → chunk-GPCZ7UXG.js} +1 -1
  63. package/{chunk-K7AG465Q.js → chunk-GQBOR3G6.js} +4 -2
  64. package/{chunk-FP27MNSX.js → chunk-GZBATRJA.js} +3 -3
  65. package/{chunk-YFADVSZE.js → chunk-H62HCIUP.js} +6 -6
  66. package/{chunk-PZM3EENV.js → chunk-HJUYAD4A.js} +1 -1
  67. package/{chunk-3JQ2NRYU.js → chunk-HVURBGF3.js} +4 -4
  68. package/{chunk-HH65VA5U.js → chunk-I3TQJXQ7.js} +109 -6
  69. package/{chunk-ZVN6I33J.js → chunk-IIVGDG4I.js} +6 -5
  70. package/{chunk-UDQWGU7F.js → chunk-J4MOO56S.js} +1 -1
  71. package/{chunk-KC5FAHVS.js → chunk-JEDZAO7L.js} +1 -1
  72. package/{chunk-6XIE5ZGI.js → chunk-JPGCXHNM.js} +1 -1
  73. package/chunk-JRQFUXY7.js +1625 -0
  74. package/chunk-KQ4ONNQD.js +677 -0
  75. package/{chunk-CPSZJBLK.js → chunk-L5UXH3B2.js} +105 -26
  76. package/{chunk-RXX4GDIH.js → chunk-LS2ZANRJ.js} +1 -1
  77. package/{chunk-BJIRLHJR.js → chunk-M2EJHDJP.js} +4 -0
  78. package/{chunk-EVBFYPDC.js → chunk-MC4XLIJ7.js} +6 -2
  79. package/{chunk-6SD5OPQ4.js → chunk-N2WELJE7.js} +11 -173
  80. package/{chunk-UJ63UXGE.js → chunk-OIVSQH2O.js} +1006 -801
  81. package/{chunk-4UW2LDVA.js → chunk-PELKTR62.js} +15 -15
  82. package/{chunk-AETZ7AD6.js → chunk-Q554LLSI.js} +1 -1
  83. package/chunk-Q5FJJ6XI.js +103 -0
  84. package/{chunk-AJHEFRGJ.js → chunk-Q67DOFOO.js} +214 -5
  85. package/{chunk-UZ6XXCVR.js → chunk-QDSINZM3.js} +15 -2
  86. package/{chunk-D6XYLSOS.js → chunk-QIAVMDHY.js} +1 -1
  87. package/{chunk-YWG6EMH3.js → chunk-RG6JBBX5.js} +10 -6
  88. package/{chunk-QCZX4FTW.js → chunk-SH43IESU.js} +173 -15
  89. package/{chunk-FNGAF7C4.js → chunk-SNPMM7H3.js} +137 -12
  90. package/{chunk-SPAQ4PVV.js → chunk-SV5IJK6K.js} +1 -1
  91. package/{chunk-KVDUCO4Q.js → chunk-TDRTS7QW.js} +16 -12
  92. package/{chunk-BJCWNHVU.js → chunk-TOP2VXOR.js} +2 -2
  93. package/{chunk-Q46HQOW3.js → chunk-TVYSVSA2.js} +7 -7
  94. package/{chunk-4EJ5QYB5.js → chunk-UKZDAFYT.js} +1 -1
  95. package/{chunk-YXLXHIT2.js → chunk-UY2NBS4V.js} +6 -6
  96. package/{chunk-PGSKWZCB.js → chunk-UZGQNTVW.js} +1 -1
  97. package/{chunk-73IOJLK2.js → chunk-V4I3A7DR.js} +10 -10
  98. package/{chunk-ZZCJUXUI.js → chunk-V4MJDUSR.js} +2 -2
  99. package/{chunk-JYYZCK2Z.js → chunk-V7E4PXQD.js} +1 -1
  100. package/{chunk-OZX2IPKM.js → chunk-VLTIYV3X.js} +1 -1
  101. package/{chunk-NHRQCXIQ.js → chunk-VMFTFOWF.js} +13 -3
  102. package/{chunk-5J7W2VWW.js → chunk-WV42OMV7.js} +6 -265
  103. package/{chunk-DUJWWUGV.js → chunk-YQTQQX2H.js} +1 -1
  104. package/{chunk-BOYUESO7.js → chunk-Z77CRGTW.js} +1 -1
  105. package/{chunk-QC5LGHYP.js → chunk-ZCYXJSTU.js} +10 -5
  106. package/{chunk-LSZXYE64.js → chunk-ZMD2CQFC.js} +759 -80
  107. package/{contentThunks-ENAVF2YU.js → contentThunks-Y6FA2TCW.js} +25 -25
  108. package/{cooldownCommands-BSCH2W7P.js → cooldownCommands-REAWYVTY.js} +2 -2
  109. package/{createAgentAutomationAction-CH6BYC7K.js → createAgentAutomationAction-JXAFQO5V.js} +25 -25
  110. package/{createDialogAction-23UDOXSO.js → createDialogAction-O2QABXZF.js} +28 -28
  111. package/{createPageAction-J6AEMLHK.js → createPageAction-GUQDPKO5.js} +26 -26
  112. package/{dbSlice-GKGGFNOB.js → dbSlice-XVWBAGYN.js} +8 -8
  113. package/{deleteFile-LWSR674W.js → deleteFile-YG6QMJLU.js} +3 -3
  114. package/{dialogCommands-BJJGCCQR.js → dialogCommands-JJDASFIL.js} +35 -31
  115. package/{dialogSlice-F7RD6PUY.js → dialogSlice-J2YJNE6E.js} +24 -24
  116. package/{docCreateCommands-53GB2FU3.js → docCreateCommands-OB3X3EQM.js} +32 -30
  117. package/{docDeleteCommands-TAW5JEBU.js → docDeleteCommands-WMHRGF22.js} +33 -31
  118. package/{docReadCommands-F5N7N5E3.js → docReadCommands-NWGGLIAZ.js} +32 -30
  119. package/{docStore-WX4YBGXC.js → docStore-6KKYKAGQ.js} +9 -9
  120. package/{docUpdateCommands-YQ7TRT35.js → docUpdateCommands-3DDSOLPS.js} +32 -30
  121. package/{fetchMessages-DRABNDPZ.js → fetchMessages-EIU7UFFK.js} +3 -4
  122. package/{getPricing-HRMSOF3E.js → getPricing-LUSEABA6.js} +4 -4
  123. package/{handleSendMessageAction-CW4LULIR.js → handleSendMessageAction-A4XLEEPU.js} +24 -24
  124. package/index.js +102 -85
  125. package/{localDialogRead-PUQKFI73.js → localDialogRead-BTFJ4V2I.js} +2 -2
  126. package/{localRuntimeDb-P37ZTX55.js → localRuntimeDb-SYQGUF4U.js} +1 -1
  127. package/{machineCommands-FIYWY5EU.js → machineCommands-Y64KAIRW.js} +64 -60
  128. package/{machineWsRunDispatch-KQ4OFFNR.js → machineWsRunDispatch-M366L2LJ.js} +62 -58
  129. package/{memberThunks-KATHH3F4.js → memberThunks-QGFLFVCI.js} +9 -9
  130. package/{models-GS72DVJS.js → models-T3SG6MJ5.js} +2 -2
  131. package/{offlineMarxistsAgentCommand-GEH6SNNA.js → offlineMarxistsAgentCommand-HGXZV4XJ.js} +1 -1
  132. package/package.json +1 -1
  133. package/providerPresetApply-FG6NZ57W.js +214 -0
  134. package/providerRegistry-757OWH3O.js +31 -0
  135. package/{read-LC6HVYBN.js → read-COE3ZYR6.js} +5 -4
  136. package/{readDocTool-N3ERJHHF.js → readDocTool-5USN4A6V.js} +1 -1
  137. package/{readlineWorkspace-QYI6BRNA.js → readlineWorkspace-45XNHFXU.js} +144 -108
  138. package/{removeDialogAgentAction-F5GPTALR.js → removeDialogAgentAction-IX3MN2ZO.js} +11 -11
  139. package/{runAgentClientLoop-GZ5VUGAW.js → runAgentClientLoop-ADZRHNG6.js} +47 -47
  140. package/{runtimeDoctorCommands-CROTMULY.js → runtimeDoctorCommands-X6WDBEQX.js} +2 -2
  141. package/{setDialogExtraReferencesAction-AY4ZCF3A.js → setDialogExtraReferencesAction-X4HCPNZL.js} +9 -9
  142. package/{setPrimaryDialogAgentAction-HPMG7V3R.js → setPrimaryDialogAgentAction-4GMIQLOD.js} +11 -11
  143. package/{settingSlice-OEJA4NQO.js → settingSlice-ZQZVUPKK.js} +10 -10
  144. package/{spaceCommands-IYMIXCMC.js → spaceCommands-E7MQ4VU2.js} +30 -28
  145. package/{streamAgentChatTurn-EAXIUJTK.js → streamAgentChatTurn-TUP7YO3H.js} +59 -58
  146. package/{switchDialogAgentAction-HMDZTZ4I.js → switchDialogAgentAction-N52LRPA3.js} +8 -8
  147. package/{tableCommands-SUNTHAYX.js → tableCommands-O6NWHFKV.js} +1 -1
  148. package/{toolApiClient-VGYUB4P5.js → toolApiClient-QVJ6HDNN.js} +2 -2
  149. package/{tools-QWQOW6J4.js → tools-2VDNDFET.js} +43 -43
  150. package/tuiSummaryLlmCaller-WFRWERGK.js +127 -0
  151. package/{updateCommands-Y363MC3L.js → updateCommands-2M74UL7P.js} +2 -2
  152. package/{updateDialogTitleAction-2HCE2M7S.js → updateDialogTitleAction-KSWXWWFT.js} +45 -28
  153. package/agentRecordCommands-AQFYM5HS.js +0 -124
  154. package/chunk-3IT2PFHL.js +0 -611
  155. package/chunk-I42VC5KR.js +0 -15
  156. package/chunk-NG4UT4K4.js +0 -79
  157. package/codingSkills-E6KSDNSJ.js +0 -48
  158. package/tuiSummaryLlmCaller-3Z24VUWM.js +0 -116
  159. package/{chunk-3RAG2NAD.js → chunk-UKWGR5SS.js} +3 -3
  160. package/{db-VQSAOWAO.js → db-WK5MDZVN.js} +1 -1
  161. 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-ZZCJUXUI.js";
9
+ } from "./chunk-V4MJDUSR.js";
10
10
  import {
11
11
  upload
12
- } from "./chunk-YFADVSZE.js";
12
+ } from "./chunk-H62HCIUP.js";
13
13
  import {
14
14
  getRuntimeServerContext
15
- } from "./chunk-3RAG2NAD.js";
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 > 0 && count < pendingMsgs.length && pendingMsgs[count].role === "tool") {
470
- count--;
496
+ while (count < pendingMsgs.length && pendingMsgs[count].role === "tool") {
497
+ count++;
471
498
  }
472
- if (count > 0) {
473
- const lastCompressed = pendingMsgs[count - 1];
474
- if (hasOpenEndedToolCall(lastCompressed)) {
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) return emptyPlan(startIndex);
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
- if (!trigger) return emptyPlan(startIndex);
521
- let compressCount = calculateCompressCount(pendingMsgs, rawMessageBudget, {
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) return emptyPlan(startIndex);
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-UJ63UXGE.js";
9
+ } from "./chunk-OIVSQH2O.js";
10
10
  import {
11
11
  isPlatformHostedImageModel
12
- } from "./chunk-AJHEFRGJ.js";
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 model.price.inputCacheHit === "number" ? model.price.inputCacheHit : 0,
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(text)) !== null) {
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
  }