nolo-cli 0.8.0-alpha.24 → 0.8.0-alpha.26

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 (113) hide show
  1. package/{_executeModel-2ZAPHFOX.js → _executeModel-HM7KOYQX.js} +48 -50
  2. package/{action-QM2ONPYZ.js → action-UAHWPMZB.js} +7 -8
  3. package/{addContentAction-UXY3GM53.js → addContentAction-PFIP76LT.js} +6 -8
  4. package/{addDialogAgentAction-MUBYOG65.js → addDialogAgentAction-LWDAIDEU.js} +8 -9
  5. package/{agentDeleteCommand-5TFSII4Z.js → agentDeleteCommand-M6KIV6ZZ.js} +35 -26
  6. package/{agentEmailCommands-XMXWGUMZ.js → agentEmailCommands-X24B32EE.js} +60 -61
  7. package/{agentListCommands-OWEFQEY4.js → agentListCommands-3TQWUC4W.js} +34 -26
  8. package/{agentMachineCommands-DGHYBBFC.js → agentMachineCommands-AHOFELNN.js} +37 -27
  9. package/{agentRecordCommands-I433EE5F.js → agentRecordCommands-GCX4YO5J.js} +53 -54
  10. package/{agentRunCommand-UQSX3IGW.js → agentRunCommand-6Z73OBXZ.js} +56 -59
  11. package/{agentRuntimeLocal-73SVOC5U.js → agentRuntimeLocal-6Q4CEFXY.js} +26 -13
  12. package/{agentSlice-JQCS4LR3.js → agentSlice-73367RQ3.js} +7 -8
  13. package/{authCommand-B6P2XYLN.js → authCommand-ELPMOABY.js} +13 -13
  14. package/{authCommands-4YKA4GTU.js → authCommands-PUQRVHHW.js} +5 -5
  15. package/{chunk-DS3VC4EA.js → chunk-2H4I6KR4.js} +5 -5
  16. package/{chunk-AFON4QUU.js → chunk-3QKO4EHV.js} +3 -3
  17. package/{chunk-LE6JAIXE.js → chunk-3WSPFJ7B.js} +6 -6
  18. package/{chunk-QWM7YWVT.js → chunk-4GBNEA5B.js} +1 -1
  19. package/{chunk-PXZAAB4L.js → chunk-4LG74DRG.js} +4 -4
  20. package/{chunk-IYMGQ3TN.js → chunk-66DXKPRS.js} +2 -2
  21. package/{chunk-L76QNLGU.js → chunk-6L2PIG7I.js} +1 -1
  22. package/{chunk-FZ2G3I4B.js → chunk-6PXKSN2M.js} +2 -2
  23. package/{chunk-GAKEBQD6.js → chunk-D6OQHXVG.js} +11 -7
  24. package/{chunk-GROGNZOA.js → chunk-DXLC3MIQ.js} +85 -2326
  25. package/{chunk-Q7S2ORXX.js → chunk-EUELM55L.js} +10 -10
  26. package/{chunk-BT57QC5K.js → chunk-GK7YFA5J.js} +14 -14
  27. package/chunk-GVQT3FIB.js +2286 -0
  28. package/{chunk-LRKEOCWY.js → chunk-HUHOMATY.js} +17 -17
  29. package/{chunk-6QFNUK2G.js → chunk-I2HCZWJU.js} +1 -1
  30. package/{chunk-WVS3GX3B.js → chunk-IB65MC33.js} +2 -2
  31. package/{chunk-C4DZRHFJ.js → chunk-IG2EZS3N.js} +64 -17
  32. package/{chunk-Z3NEXVYE.js → chunk-IKXL2HZ3.js} +38 -1
  33. package/{chunk-2CVZSC5L.js → chunk-IVAOVLM7.js} +1 -1
  34. package/{chunk-L3KWEH3V.js → chunk-KPFGD3YA.js} +43 -12
  35. package/{chunk-AVMKZHBC.js → chunk-L53FGHA4.js} +3 -2
  36. package/{chunk-WKQGZJVI.js → chunk-LFETMU66.js} +8 -8
  37. package/{chunk-AISLHYDB.js → chunk-LWYCA4ZT.js} +306 -42
  38. package/{chunk-SBVUZC2E.js → chunk-MMCDCZM4.js} +6 -6
  39. package/{chunk-YOCHZD7D.js → chunk-NCGFB7NN.js} +5 -3
  40. package/{chunk-C4FTUXVF.js → chunk-QLUFR47U.js} +11 -1
  41. package/{chunk-IPA2WQGY.js → chunk-QXZ4YDXW.js} +178 -75
  42. package/{chunk-RQPZX6KP.js → chunk-S37OTGU7.js} +2 -2
  43. package/{chunk-FVVST32H.js → chunk-SCBYSC74.js} +1 -1
  44. package/{chunk-WM7P5OWZ.js → chunk-TUIH56DJ.js} +87 -53
  45. package/{chunk-UBSKX3LP.js → chunk-UZZCXRHF.js} +6 -6
  46. package/{chunk-WTBWWBSF.js → chunk-VAHPL4CG.js} +63 -40
  47. package/{chunk-BQECZ3Q4.js → chunk-VDS3NXE5.js} +219 -46
  48. package/{chunk-G7KM6BBZ.js → chunk-VNGCTQ32.js} +1 -1
  49. package/{chunk-BKGNXJAM.js → chunk-WKWEV6K4.js} +1 -1
  50. package/{chunk-JTINRTBT.js → chunk-WPHL6ALY.js} +1 -1
  51. package/{chunk-KTHLAJEY.js → chunk-WZF7M6GX.js} +1 -1
  52. package/{chunk-LTH6AVG7.js → chunk-XDXO65DS.js} +3 -3
  53. package/{chunk-BFDWXLFF.js → chunk-XGMCGPEA.js} +64 -5
  54. package/{chunk-VBKJTOAW.js → chunk-XHQWJUW4.js} +2 -2
  55. package/{chunk-VUEXKW6U.js → chunk-XIZIRGXB.js} +15 -15
  56. package/{chunk-P2SPC3FT.js → chunk-XW6CFB3M.js} +27 -25
  57. package/{chunk-3KGTFX3T.js → chunk-ZR4VHQ5D.js} +13 -1
  58. package/{createAgentAutomationAction-GXZNLJZK.js → createAgentAutomationAction-MYQ7Z7VA.js} +22 -25
  59. package/{createDialogAction-KLW42ZGF.js → createDialogAction-PIV7Z7ZQ.js} +24 -27
  60. package/{createPageAction-IBJHE6MH.js → createPageAction-7ZAEDSUY.js} +24 -27
  61. package/{dbSlice-R5EJKZBW.js → dbSlice-V4H2JFNB.js} +5 -6
  62. package/{deleteFile-WPWVZE4B.js → deleteFile-M7UNIUOO.js} +3 -3
  63. package/{dialogCommands-7O5PUZRU.js → dialogCommands-UMT7AOOR.js} +30 -21
  64. package/{dialogSlice-GGV7PF53.js → dialogSlice-4PYFGN7J.js} +22 -25
  65. package/{docCreateCommands-7ZO2NQQF.js → docCreateCommands-MAZSFQQ5.js} +33 -24
  66. package/{docDeleteCommands-YKIXZYBR.js → docDeleteCommands-DOTLD7HA.js} +33 -25
  67. package/{docReadCommands-5UDONBUL.js → docReadCommands-PH255AKZ.js} +33 -24
  68. package/{docStore-VDWTATFH.js → docStore-P7PG4YDJ.js} +21 -24
  69. package/{docUpdateCommands-EPZIIQMY.js → docUpdateCommands-RLRID2K7.js} +33 -24
  70. package/fetchMessages-KTNM7QAR.js +1 -1
  71. package/getPricing-6TOZXPAU.js +1 -1
  72. package/{handleSendMessageAction-MMATC5V5.js → handleSendMessageAction-BHUXTQHK.js} +27 -30
  73. package/index.js +62 -62
  74. package/{localDialogRead-YSKFFRTT.js → localDialogRead-2VRI24F4.js} +1 -1
  75. package/{machineCommands-PTHPKSIZ.js → machineCommands-GD46ZUZC.js} +63 -62
  76. package/{machineWsRunDispatch-M5L2NVWJ.js → machineWsRunDispatch-5SF5RE7E.js} +52 -53
  77. package/{models-H524GH3U.js → models-LSCRJJ6P.js} +1 -2
  78. package/package.json +1 -1
  79. package/{read-5ZMY7FKP.js → read-2MIMRBZ2.js} +3 -3
  80. package/{readDocTool-2NXDK32S.js → readDocTool-QHVGQHUJ.js} +1 -1
  81. package/{readlineWorkspace-4NXMEOHP.js → readlineWorkspace-IKXTXTYB.js} +115 -100
  82. package/{removeDialogAgentAction-KOLQ2R5W.js → removeDialogAgentAction-7GO2PRVQ.js} +12 -13
  83. package/{runAgentClientLoop-FGUYNGSA.js → runAgentClientLoop-CRIQXO42.js} +45 -48
  84. package/{setDialogExtraReferencesAction-OMTEO7X6.js → setDialogExtraReferencesAction-ZIDAVJSZ.js} +8 -9
  85. package/{setPrimaryDialogAgentAction-DOCIS6V4.js → setPrimaryDialogAgentAction-LK35C2D7.js} +12 -13
  86. package/{settingSlice-UWZJYDOA.js → settingSlice-PRRC6IJ7.js} +6 -7
  87. package/{skillDiscovery-UGSQGX2U.js → skillDiscovery-ZYHSX7VD.js} +3 -3
  88. package/{spaceCommands-S3EB6TOS.js → spaceCommands-XE4PS24W.js} +35 -28
  89. package/{spaceSlice-RG2GSV7K.js → spaceSlice-NYR6BQDL.js} +20 -23
  90. package/{streamAgentChatTurn-X576C23M.js → streamAgentChatTurn-CYEFWT4D.js} +95 -88
  91. package/{toolApiClient-C7P7YSE4.js → toolApiClient-QI3YBNWB.js} +2 -2
  92. package/{tools-HURZ2N4O.js → tools-4YAV2HQH.js} +32 -35
  93. package/{tuiSummaryLlmCaller-DG2LBTBX.js → tuiSummaryLlmCaller-TXLF4MEI.js} +3 -3
  94. package/{updateDialogTitleAction-62LVIAUZ.js → updateDialogTitleAction-FEEBVBNP.js} +27 -29
  95. package/chunk-5MMAK75Q.js +0 -15
  96. package/chunk-AZPCASRE.js +0 -36
  97. package/chunk-IOQIOZNI.js +0 -42
  98. package/chunk-UAD2WT54.js +0 -64
  99. package/{agentPullCommand-N6UWRTVL.js → agentPullCommand-LHFBA5EI.js} +6 -6
  100. package/{chunk-JK7VW2FN.js → chunk-5MIDPSSK.js} +3 -3
  101. package/{chunk-VC6OZXO5.js → chunk-6WWHKODG.js} +4 -4
  102. package/{chunk-BT37DVDA.js → chunk-7VKWMOSI.js} +9 -9
  103. package/{chunk-3QAF2LTL.js → chunk-DZ3XJVET.js} +3 -3
  104. package/{chunk-5CS33IBL.js → chunk-PDL2AV3E.js} +3 -3
  105. package/{chunk-5MMZUWSG.js → chunk-TOILAPLH.js} +5 -5
  106. package/{chunk-3HPUUWOR.js → chunk-TSKWE74T.js} +3 -3
  107. package/{chunk-DVRHHFEA.js → chunk-TSUJOM6N.js} +3 -3
  108. package/{db-6QED3ZVO.js → db-HCJ5PRB5.js} +3 -3
  109. package/{memoryCommands-HG4WKTU7.js → memoryCommands-HGNEENIN.js} +3 -3
  110. package/{offlineMarxistsAgentCommand-BCPJITJL.js → offlineMarxistsAgentCommand-5OOWZLJI.js} +3 -3
  111. package/{runtimeDoctorCommands-UWR5UDSM.js → runtimeDoctorCommands-4YVMXBQP.js} +5 -5
  112. package/{tableCommands-M3DJUETS.js → tableCommands-LV2PPHNY.js} +6 -6
  113. package/{understanding-ZOESBLF3.js → understanding-3CUQQ6SV.js} +3 -3
@@ -9,12 +9,12 @@ import {
9
9
  resolveRawAgentInput,
10
10
  resolveServerUrl,
11
11
  writeUsage
12
- } from "./chunk-3QAF2LTL.js";
12
+ } from "./chunk-DZ3XJVET.js";
13
13
  import {
14
14
  createCliCallAgentToolExecutor,
15
15
  createCliLocalRuntimeAdapter,
16
16
  isBuiltinNoloAgentRef
17
- } from "./chunk-BQECZ3Q4.js";
17
+ } from "./chunk-VDS3NXE5.js";
18
18
  import {
19
19
  CliProviderQuotaError
20
20
  } from "./chunk-CMKUBIGW.js";
@@ -24,10 +24,10 @@ import {
24
24
  import {
25
25
  readDbRecord,
26
26
  resolveAgentRecordFromHybridStore
27
- } from "./chunk-SBVUZC2E.js";
27
+ } from "./chunk-MMCDCZM4.js";
28
28
  import {
29
29
  normalizeAgentHandle
30
- } from "./chunk-FVVST32H.js";
30
+ } from "./chunk-SCBYSC74.js";
31
31
  import {
32
32
  NOLO_PROJECT_MANAGER_AGENT_KEY,
33
33
  isLocalCliAgentKey
@@ -38,91 +38,84 @@ import {
38
38
  } from "./chunk-LTRXGFMS.js";
39
39
  import {
40
40
  isGatewayHttpStatus
41
- } from "./chunk-GAKEBQD6.js";
41
+ } from "./chunk-D6OQHXVG.js";
42
42
  import {
43
43
  buildMemorySubjectsForAgent,
44
44
  resolveAgentMemoryPolicy
45
- } from "./chunk-BT57QC5K.js";
45
+ } from "./chunk-GK7YFA5J.js";
46
46
  import {
47
47
  parseExternalSkillMarkdown,
48
48
  parseSkillDocProtocol
49
- } from "./chunk-VC6OZXO5.js";
49
+ } from "./chunk-6WWHKODG.js";
50
50
  import {
51
51
  API_REPORTED_COST_MULTIPLIER,
52
- DEFAULT_CONTEXT_WINDOW,
53
- getModelContextWindow,
54
52
  parseUiAskChoiceContent
55
- } from "./chunk-GROGNZOA.js";
56
- import {
57
- parsePositiveFiniteNumberOrFallback
58
- } from "./chunk-Y5GCAMGP.js";
59
- import {
60
- touchMemoryItemsInDb
61
- } from "./chunk-HNW7IJSK.js";
62
- import {
63
- chooseMemoryOwners,
64
- loadMemoryCandidatesFromDb
65
- } from "./chunk-XENYHRUE.js";
66
- import {
67
- readPipeText,
68
- spawnProcess
69
- } from "./chunk-IDZTNRP2.js";
70
- import {
71
- buildSkillDiscoveryContextBlock
72
- } from "./chunk-AFON4QUU.js";
73
- import {
74
- buildMemoryOverlayLayer,
75
- buildMemoryUseGuidanceLayer
76
- } from "./chunk-C4FTUXVF.js";
53
+ } from "./chunk-DXLC3MIQ.js";
77
54
  import {
78
55
  buildPlatformChatCompletionRequest,
79
56
  parsePlatformChatCompletionData
80
- } from "./chunk-3KGTFX3T.js";
57
+ } from "./chunk-ZR4VHQ5D.js";
81
58
  import {
82
59
  resolveAgentRuntimeConfigFromRecord
83
- } from "./chunk-YOCHZD7D.js";
60
+ } from "./chunk-NCGFB7NN.js";
84
61
  import {
85
62
  LOCAL_AGENT_CONFIG_MISSING_CODE,
86
63
  LOCAL_TURN_ABORTED_CODE,
87
64
  readActionGate,
88
65
  readCommandActionGatePayload
89
- } from "./chunk-AISLHYDB.js";
66
+ } from "./chunk-LWYCA4ZT.js";
90
67
  import {
91
68
  resolvePlatformChatCompletionsEndpoint
92
- } from "./chunk-3HPUUWOR.js";
69
+ } from "./chunk-TSKWE74T.js";
93
70
  import {
94
- clipCompactText
95
- } from "./chunk-5MMAK75Q.js";
71
+ DEFAULT_CONTEXT_WINDOW,
72
+ clipCompactText,
73
+ getModelContextWindow
74
+ } from "./chunk-GVQT3FIB.js";
96
75
  import {
97
76
  findModelConfig
98
77
  } from "./chunk-S3UTETIC.js";
99
- import {
100
- asTrimmedLowercaseString
101
- } from "./chunk-QSJ3HFEF.js";
102
- import {
103
- compactWhitespace
104
- } from "./chunk-DWLEOOGR.js";
105
78
  import {
106
79
  createRunActivityTracker,
107
80
  finalizeRunRecord,
108
81
  spawnLocalBackgroundRun
109
82
  } from "./chunk-AMJ7LA5D.js";
110
- import {
111
- resolveAuthToken
112
- } from "./chunk-AVMJVOQY.js";
113
83
  import {
114
84
  toErrorMessage
115
85
  } from "./chunk-HNMXYYJR.js";
116
86
  import {
117
87
  getDefaultCliLocalRuntimeDb
118
88
  } from "./chunk-H33743XH.js";
89
+ import {
90
+ touchMemoryItemsInDb
91
+ } from "./chunk-HNW7IJSK.js";
92
+ import {
93
+ chooseMemoryOwners,
94
+ loadMemoryCandidatesFromDb
95
+ } from "./chunk-XENYHRUE.js";
96
+ import {
97
+ compactWhitespace
98
+ } from "./chunk-DWLEOOGR.js";
99
+ import {
100
+ readPipeText,
101
+ spawnProcess
102
+ } from "./chunk-IDZTNRP2.js";
103
+ import {
104
+ resolveAuthToken
105
+ } from "./chunk-AVMJVOQY.js";
106
+ import {
107
+ parsePositiveFiniteNumberOrFallback
108
+ } from "./chunk-Y5GCAMGP.js";
109
+ import {
110
+ asTrimmedLowercaseString
111
+ } from "./chunk-QSJ3HFEF.js";
119
112
  import {
120
113
  BUILTIN_NOLO_AGENT_KEY,
121
114
  PUBLIC_DEEPSEEK_V4_FLASH_AGENT_KEY,
122
115
  PUBLIC_DEEPSEEK_V4_PRO_AGENT_KEY,
123
116
  PUBLIC_GLM_52_AGENT_KEY,
124
117
  PUBLIC_KIMI_K26_IMAGE_AGENT_KEY
125
- } from "./chunk-VBKJTOAW.js";
118
+ } from "./chunk-XHQWJUW4.js";
126
119
  import {
127
120
  asTrimmedString
128
121
  } from "./chunk-3EUW3WEO.js";
@@ -132,6 +125,13 @@ import {
132
125
  import {
133
126
  asOptionalTrimmedString
134
127
  } from "./chunk-G3SUCT4W.js";
128
+ import {
129
+ buildSkillDiscoveryContextBlock
130
+ } from "./chunk-3QKO4EHV.js";
131
+ import {
132
+ buildMemoryOverlayLayer,
133
+ buildMemoryUseGuidanceLayer
134
+ } from "./chunk-QLUFR47U.js";
135
135
 
136
136
  // packages/agent-runtime/quickChatIntentCore.ts
137
137
  var INTENT_MODEL = "deepseek-v4-flash";
@@ -732,9 +732,13 @@ var STRINGS = {
732
732
  en: "This command may delete or reset user content and needs explicit confirmation before it runs.",
733
733
  zh: "\u8BE5\u547D\u4EE4\u53EF\u80FD\u5220\u9664\u6216\u91CD\u7F6E\u7528\u6237\u5185\u5BB9\uFF0C\u9700\u8981\u7528\u6237\u660E\u786E\u786E\u8BA4\u540E\u624D\u80FD\u6267\u884C\u3002"
734
734
  },
735
- dialogConfirmCommandLabel: {
736
- en: "Command",
737
- zh: "\u547D\u4EE4"
735
+ dialogConfirmExternalFileTitle: {
736
+ en: "Confirm reading a file outside the workspace",
737
+ zh: "\u786E\u8BA4\u8BFB\u53D6\u5DE5\u4F5C\u533A\u5916\u90E8\u6587\u4EF6"
738
+ },
739
+ dialogConfirmExternalFileBody: {
740
+ en: "This path is outside the current workspace. Allow this one-time access, or deny it.",
741
+ zh: "\u8BE5\u8DEF\u5F84\u4F4D\u4E8E\u5F53\u524D\u5DE5\u4F5C\u533A\u4E4B\u5916\u3002\u786E\u8BA4\u540E\u672C\u6B21\u8BBF\u95EE\u653E\u884C\uFF0C\u5426\u5219\u62D2\u7EDD\u3002"
738
742
  },
739
743
  dialogConfirmCommandTruncated: {
740
744
  en: "(truncated)",
@@ -1051,7 +1055,37 @@ Use /switch, /switch list, /switch minimax-m3, or a full agent key.`,
1051
1055
  // Overflow hints shared by select / multi-select / ask-choice. The arrows
1052
1056
  // and count are part of the copy so each locale can order them naturally.
1053
1057
  dialogMoreAbove: { en: "\u2191 {0} more", zh: "\u2191 {0} \u66F4\u591A" },
1054
- dialogMoreBelow: { en: "\u2193 {0} more", zh: "\u2193 {0} \u66F4\u591A" }
1058
+ dialogMoreBelow: { en: "\u2193 {0} more", zh: "\u2193 {0} \u66F4\u591A" },
1059
+ // Action gate handoff
1060
+ actionGateNeeded: {
1061
+ en: "Action needed in your terminal",
1062
+ zh: "\u7EC8\u7AEF\u9700\u8981\u4F60\u7684\u64CD\u4F5C"
1063
+ },
1064
+ actionGateEnterHint: {
1065
+ en: "Press Enter to run it now. Follow any prompts below, or Ctrl+C to cancel.",
1066
+ zh: "\u6309 Enter \u7ACB\u5373\u6267\u884C\uFF0C\u6309\u4E0B\u65B9\u63D0\u793A\u64CD\u4F5C\uFF0C\u6216\u6309 Ctrl+C \u53D6\u6D88\u3002"
1067
+ },
1068
+ actionGateInteractiveTitle: {
1069
+ en: "This command requires an interactive terminal.",
1070
+ zh: "\u8BE5\u547D\u4EE4\u9700\u8981\u4EA4\u4E92\u5F0F\u7EC8\u7AEF"
1071
+ },
1072
+ actionGateInteractiveBody: {
1073
+ en: "Complete it in the terminal, then nolo will continue.",
1074
+ zh: "\u5728\u7EC8\u7AEF\u4E2D\u5B8C\u6210\u64CD\u4F5C\u540E\uFF0Cnolo \u5C06\u7EE7\u7EED\u3002"
1075
+ },
1076
+ // Agent catalog sources
1077
+ agentSourcePlatform: {
1078
+ en: "Platform",
1079
+ zh: "\u5E73\u53F0"
1080
+ },
1081
+ agentSourceSubscription: {
1082
+ en: "Subscription",
1083
+ zh: "\u8BA2\u9605"
1084
+ },
1085
+ agentSourceApi: {
1086
+ en: "API",
1087
+ zh: "API"
1088
+ }
1055
1089
  };
1056
1090
  function t(key, ...params) {
1057
1091
  const text = STRINGS[key][currentLocale];
@@ -3974,7 +4008,7 @@ function findCollapsedPasteSpanAt(buffer, pos, opts = {}) {
3974
4008
  // packages/cli/client/agentRun.ts
3975
4009
  import { ulid } from "ulid";
3976
4010
  async function loadRunLocalAgentTurn() {
3977
- const { runLocalAgentTurn } = await import("./agentRuntimeLocal-73SVOC5U.js");
4011
+ const { runLocalAgentTurn } = await import("./agentRuntimeLocal-6Q4CEFXY.js");
3978
4012
  return runLocalAgentTurn;
3979
4013
  }
3980
4014
  async function resolveCurrentMachineId(options) {
@@ -4411,7 +4445,7 @@ async function runLocalAgentTurnForCli(options, settings) {
4411
4445
  } : void 0;
4412
4446
  const currentDialogId = options.continueDialogId ?? ulid();
4413
4447
  const runChildTurn = async (input) => {
4414
- const { runLocalAgentTurn } = await import("./agentRuntimeLocal-73SVOC5U.js");
4448
+ const { runLocalAgentTurn } = await import("./agentRuntimeLocal-6Q4CEFXY.js");
4415
4449
  return runLocalAgentTurn(input);
4416
4450
  };
4417
4451
  const createFreshChildBaseAdapter = () => {
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  parsePositiveFiniteNumberOrFallback
3
3
  } from "./chunk-Y5GCAMGP.js";
4
+ import {
5
+ asRecordOrEmpty
6
+ } from "./chunk-KX6YBIHG.js";
4
7
  import {
5
8
  patch,
6
9
  readAndWait,
7
10
  toTimestampMs,
8
11
  upsert,
9
12
  write
10
- } from "./chunk-L3KWEH3V.js";
11
- import {
12
- asRecordOrEmpty
13
- } from "./chunk-KX6YBIHG.js";
13
+ } from "./chunk-KPFGD3YA.js";
14
14
  import {
15
15
  createUserKey,
16
16
  createUserPreferenceKey,
@@ -21,7 +21,7 @@ import {
21
21
  } from "./chunk-QSJ3HFEF.js";
22
22
  import {
23
23
  BUILTIN_NOLO_AGENT_KEY
24
- } from "./chunk-VBKJTOAW.js";
24
+ } from "./chunk-XHQWJUW4.js";
25
25
  import {
26
26
  asyncThunkCreator,
27
27
  buildCreateSlice,
@@ -29,7 +29,7 @@ import {
29
29
  createAsyncThunk,
30
30
  createSelector,
31
31
  selectIdentityUserId
32
- } from "./chunk-DVRHHFEA.js";
32
+ } from "./chunk-TSUJOM6N.js";
33
33
  import {
34
34
  getAllServers,
35
35
  getIsDesktopApp,
@@ -1,47 +1,38 @@
1
1
  import {
2
2
  ANTIGRAVITY_CLOUD_CODE_BASE_URL,
3
3
  isAntigravityOAuthAgent
4
- } from "./chunk-QWM7YWVT.js";
4
+ } from "./chunk-4GBNEA5B.js";
5
5
  import {
6
6
  clipMultilineText,
7
7
  fetchAndSerializeTable
8
- } from "./chunk-IPA2WQGY.js";
8
+ } from "./chunk-QXZ4YDXW.js";
9
9
  import {
10
+ CORE_DRAIN_REASON,
11
+ isGatewayHttpStatus,
10
12
  normalizeNonNegativeMs,
11
13
  parseRetryAfterHeaderMs
12
- } from "./chunk-GAKEBQD6.js";
14
+ } from "./chunk-D6OQHXVG.js";
13
15
  import {
14
16
  slateToSimplifiedMarkdown
15
- } from "./chunk-2CVZSC5L.js";
17
+ } from "./chunk-IVAOVLM7.js";
16
18
  import {
17
19
  extractCategorizedMentions
18
20
  } from "./chunk-VP4WJWKW.js";
19
21
  import {
20
22
  resolvePageSkillMetadata
21
- } from "./chunk-VC6OZXO5.js";
23
+ } from "./chunk-6WWHKODG.js";
22
24
  import {
23
- estimateTokenCount,
24
25
  fetchAndCacheMessages,
25
26
  shouldUseServerProxy
26
- } from "./chunk-GROGNZOA.js";
27
+ } from "./chunk-DXLC3MIQ.js";
27
28
  import {
28
29
  fetchServerSyncedCredential
29
- } from "./chunk-Q7S2ORXX.js";
30
- import {
31
- createSpaceKey
32
- } from "./chunk-UAD2WT54.js";
33
- import {
34
- read
35
- } from "./chunk-L3KWEH3V.js";
36
- import {
37
- MEMORY_USE_GUIDANCE,
38
- wrapHistoricalSummaryWithReplayGuard
39
- } from "./chunk-KKY4B2Q2.js";
30
+ } from "./chunk-EUELM55L.js";
40
31
  import {
41
32
  buildCurrentTimeBlock,
42
33
  buildIdentityBlock,
43
34
  buildRuntimeGuidanceBlocks
44
- } from "./chunk-G7KM6BBZ.js";
35
+ } from "./chunk-VNGCTQ32.js";
45
36
  import {
46
37
  buildProviderAuthHeaders,
47
38
  convertMessagesToResponsesInput,
@@ -49,10 +40,13 @@ import {
49
40
  preserveAgentStateFields,
50
41
  resolvePlatformChatCompletionsEndpoint,
51
42
  resolvePlatformResponsesEndpoint
52
- } from "./chunk-3HPUUWOR.js";
43
+ } from "./chunk-TSKWE74T.js";
53
44
  import {
54
45
  canonicalizeToolNames
55
- } from "./chunk-FZ2G3I4B.js";
46
+ } from "./chunk-6PXKSN2M.js";
47
+ import {
48
+ estimateTokenCount
49
+ } from "./chunk-GVQT3FIB.js";
56
50
  import {
57
51
  clampReasoningEffort,
58
52
  getModelConfig,
@@ -60,27 +54,33 @@ import {
60
54
  } from "./chunk-S3UTETIC.js";
61
55
  import {
62
56
  createFileCredentialBroker
63
- } from "./chunk-5CS33IBL.js";
57
+ } from "./chunk-PDL2AV3E.js";
58
+ import {
59
+ extractCustomId
60
+ } from "./chunk-DFFIZ25G.js";
61
+ import {
62
+ toErrorMessage
63
+ } from "./chunk-HNMXYYJR.js";
64
64
  import {
65
65
  isDeepInfraKimiModel,
66
66
  isFireworksKimiModel,
67
67
  resolveFireworksKimiModel
68
68
  } from "./chunk-524BDL33.js";
69
+ import {
70
+ createSpaceKey
71
+ } from "./chunk-XGMCGPEA.js";
72
+ import {
73
+ read
74
+ } from "./chunk-KPFGD3YA.js";
69
75
  import {
70
76
  asNonEmptyStringArray
71
77
  } from "./chunk-I42VC5KR.js";
72
- import {
73
- extractCustomId
74
- } from "./chunk-DFFIZ25G.js";
75
78
  import {
76
79
  asTrimmedLowercaseString
77
80
  } from "./chunk-QSJ3HFEF.js";
78
- import {
79
- toErrorMessage
80
- } from "./chunk-HNMXYYJR.js";
81
81
  import {
82
82
  getRuntimeServerContext
83
- } from "./chunk-DVRHHFEA.js";
83
+ } from "./chunk-TSUJOM6N.js";
84
84
  import {
85
85
  isAbortError
86
86
  } from "./chunk-OOSFSFMA.js";
@@ -96,6 +96,10 @@ import {
96
96
  import {
97
97
  asOptionalTrimmedString
98
98
  } from "./chunk-G3SUCT4W.js";
99
+ import {
100
+ MEMORY_USE_GUIDANCE,
101
+ wrapHistoricalSummaryWithReplayGuard
102
+ } from "./chunk-KKY4B2Q2.js";
99
103
 
100
104
  // packages/ai/skills/referenceRuntime.ts
101
105
  var joinUniqueStrings = (...groups) => Array.from(new Set(groups.flatMap((items) => asNonEmptyStringArray(items))));
@@ -701,7 +705,7 @@ function createHash(_algo) {
701
705
  };
702
706
  }
703
707
  var hasLayerContent = (layer) => Boolean(layer.content);
704
- var estimateContextTokens = (content) => Math.ceil(content.length / 4);
708
+ var estimateContextTokens = (content) => estimateTokenCount(content);
705
709
  var compileContextLayers = (layers) => {
706
710
  const compiledLayers = [];
707
711
  for (const layer of layers) {
@@ -1455,11 +1459,21 @@ var generateRequestBody = ({
1455
1459
  };
1456
1460
 
1457
1461
  // packages/ai/chat/serverProxyRetry.ts
1458
- var RETRYABLE_SERVER_PROXY_STATUSES = /* @__PURE__ */ new Set([502, 503, 504]);
1459
1462
  var DEFAULT_SERVER_PROXY_RETRY_AFTER_MS = 1500;
1460
1463
  var MAX_SERVER_PROXY_RETRIES = 2;
1461
1464
  var MAX_STATUS_RETRIES = 1;
1462
- var resolveServerProxyRetryAfterMs = (response) => parseRetryAfterHeaderMs(response.headers.get("Retry-After")) ?? DEFAULT_SERVER_PROXY_RETRY_AFTER_MS;
1465
+ var MAX_SERVER_DRAIN_STATUS_RETRIES = 30;
1466
+ var readRetryableResponseBody = async (response) => {
1467
+ try {
1468
+ return await response.clone().json();
1469
+ } catch {
1470
+ return null;
1471
+ }
1472
+ };
1473
+ var resolveServerProxyRetryAfterMs = (response, body) => parseRetryAfterHeaderMs(response.headers.get("Retry-After")) ?? normalizeNonNegativeMs(
1474
+ body?.retryAfterMs,
1475
+ DEFAULT_SERVER_PROXY_RETRY_AFTER_MS
1476
+ );
1463
1477
  var isRetryableServerProxyFetchError = (error) => {
1464
1478
  if (!error || isAbortError(error)) return false;
1465
1479
  const message = typeof error?.message === "string" ? error.message : String(error);
@@ -1494,23 +1508,33 @@ var performServerProxyFetchWithRetry = async ({
1494
1508
  signal,
1495
1509
  logPrefix = "[fetchWithServerProxy]"
1496
1510
  }) => {
1497
- for (let attempt = 0; attempt <= MAX_SERVER_PROXY_RETRIES; attempt += 1) {
1511
+ let networkRetries = 0;
1512
+ let statusRetries = 0;
1513
+ while (true) {
1498
1514
  try {
1499
1515
  const response = await execute();
1500
- if (attempt < MAX_STATUS_RETRIES && RETRYABLE_SERVER_PROXY_STATUSES.has(response.status)) {
1501
- const retryAfterMs = resolveServerProxyRetryAfterMs(response);
1516
+ const responseBody = response.status === 503 ? await readRetryableResponseBody(response) : null;
1517
+ const isCoreDraining = response.status === 503 && responseBody?.reason === CORE_DRAIN_REASON;
1518
+ const maxStatusRetries = isCoreDraining ? MAX_SERVER_DRAIN_STATUS_RETRIES : MAX_STATUS_RETRIES;
1519
+ if (statusRetries < maxStatusRetries && isGatewayHttpStatus(response.status)) {
1520
+ statusRetries += 1;
1521
+ const retryAfterMs = resolveServerProxyRetryAfterMs(
1522
+ response,
1523
+ responseBody
1524
+ );
1502
1525
  console.warn(
1503
- `${logPrefix} \u68C0\u6D4B\u5230${response.status}\u72B6\u6001\uFF0C${retryAfterMs}ms\u540E\u91CD\u8BD5\u4E00\u6B21...`
1526
+ `${logPrefix} \u68C0\u6D4B\u5230${response.status}\u72B6\u6001\uFF0C${retryAfterMs}ms\u540E\u91CD\u8BD5...`
1504
1527
  );
1505
1528
  await waitForServerProxyRetry(retryAfterMs, signal);
1506
1529
  continue;
1507
1530
  }
1508
1531
  return response;
1509
1532
  } catch (error) {
1510
- if (attempt < MAX_SERVER_PROXY_RETRIES && isRetryableServerProxyFetchError(error)) {
1511
- const retryDelay = (attempt + 1) * 1e3;
1533
+ if (networkRetries < MAX_SERVER_PROXY_RETRIES && isRetryableServerProxyFetchError(error)) {
1534
+ networkRetries += 1;
1535
+ const retryDelay = networkRetries * 1e3;
1512
1536
  console.warn(
1513
- `${logPrefix} \u68C0\u6D4B\u5230\u7F51\u7EDC\u77AC\u65AD\uFF0C${retryDelay}ms\u540E\u91CD\u8BD5(\u7B2C${attempt + 1}\u6B21)...`,
1537
+ `${logPrefix} \u68C0\u6D4B\u5230\u7F51\u7EDC\u77AC\u65AD\uFF0C${retryDelay}ms\u540E\u91CD\u8BD5(\u7B2C${networkRetries}\u6B21)...`,
1514
1538
  error
1515
1539
  );
1516
1540
  await waitForServerProxyRetry(retryDelay, signal);
@@ -1519,7 +1543,6 @@ var performServerProxyFetchWithRetry = async ({
1519
1543
  throw error;
1520
1544
  }
1521
1545
  }
1522
- throw new Error("server proxy retry exhausted unexpectedly");
1523
1546
  };
1524
1547
 
1525
1548
  // packages/ai/chat/resolveDirectRequestApiKey.ts