nolo-cli 0.156.0-alpha.3 → 0.156.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.
Files changed (164) hide show
  1. package/{_executeModel-5WS2PA62.js → _executeModel-3FMHTHSS.js} +55 -55
  2. package/{accountResolver-7RYB4D2P.js → accountResolver-55EDKEIK.js} +1 -1
  3. package/{action-ZJYUBXFC.js → action-GPPJC5TI.js} +5 -5
  4. package/{addContentAction-TVHB4526.js → addContentAction-XJQEJ4XW.js} +8 -8
  5. package/{addDialogAgentAction-FDPBU6K6.js → addDialogAgentAction-5WZX5CAY.js} +7 -7
  6. package/{agentDeleteCommand-MDC7OS3I.js → agentDeleteCommand-VRHLJZKX.js} +75 -76
  7. package/{agentEmailCommands-WN4EOPKQ.js → agentEmailCommands-YGBQXOL3.js} +78 -79
  8. package/{agentListCommands-G36AMSBR.js → agentListCommands-GOCGOQUB.js} +36 -36
  9. package/{agentMachineCommands-63GXO27A.js → agentMachineCommands-FBAWZYHI.js} +35 -32
  10. package/{agentProviderCommands-X2HQE6HY.js → agentProviderCommands-CXBHNONN.js} +5 -5
  11. package/{agentPullCommand-FA43RBRU.js → agentPullCommand-GXXEDOSA.js} +4 -4
  12. package/{agentRecordCommands-X4WJRHDW.js → agentRecordCommands-KAK2G56H.js} +72 -73
  13. package/{agentRunCommand-4YMIVVHF.js → agentRunCommand-62P3AGJA.js} +75 -75
  14. package/{agentRunControl-2C5GM3BW.js → agentRunControl-XBSNHHZE.js} +7 -7
  15. package/{agentRuntimeLocal-Q7ZOMZC7.js → agentRuntimeLocal-J6I63NZC.js} +21 -19
  16. package/{agentSlice-E3XS5FTQ.js → agentSlice-IZFU3WWH.js} +8 -8
  17. package/{appDeleteCommands-MMWT54BR.js → appDeleteCommands-KKLAK2UR.js} +31 -29
  18. package/{appDeployCommands-OIFXVDOF.js → appDeployCommands-PXWK4FAX.js} +31 -29
  19. package/{appDeployStatusCommands-OTXMSDFB.js → appDeployStatusCommands-3NGWDZTX.js} +31 -29
  20. package/{appGetCommands-JPY36ANL.js → appGetCommands-APWYPEO3.js} +31 -29
  21. package/{appListCommands-IHJGN36O.js → appListCommands-OP7IRALO.js} +31 -29
  22. package/{authCommand-J3XILHWW.js → authCommand-3Z52KJID.js} +22 -302
  23. package/{authCommands-77CHYBGF.js → authCommands-QOCKVPX3.js} +5 -5
  24. package/{builtinSkillRegistry-A6VSPJEJ.js → builtinSkillRegistry-LJV7FHNI.js} +4 -4
  25. package/{chromeCommands-OBBNJCLS.js → chromeCommands-IY4NVSXZ.js} +17 -10
  26. package/{chunk-SW4S4XYB.js → chunk-2AB2HA4M.js} +84 -34
  27. package/{chunk-H4KACZMG.js → chunk-2QQ7D3P5.js} +271 -138
  28. package/{chunk-C5VPAHIU.js → chunk-32ZKZET7.js} +1 -1
  29. package/{chunk-FPWT3RH2.js → chunk-36IWXF25.js} +22 -22
  30. package/{chunk-XPWGOTBQ.js → chunk-3L2WKC3W.js} +1 -8
  31. package/{chunk-3XZKV7QQ.js → chunk-3L5MSPWX.js} +1 -1
  32. package/{chunk-QLQ573SU.js → chunk-3M52COK5.js} +120 -0
  33. package/{chunk-Z6KQDSZW.js → chunk-43OFVLWJ.js} +6 -6
  34. package/{chunk-7A4LJCDR.js → chunk-4FDDVVCE.js} +5 -5
  35. package/{chunk-TJ2VPCBE.js → chunk-4JCAW7TO.js} +2 -2
  36. package/{chunk-6TF64IF2.js → chunk-4L4K6YR7.js} +16 -2
  37. package/{chunk-ZG73GDYU.js → chunk-5E5VB7PS.js} +332 -59
  38. package/{chunk-HKT6QXP3.js → chunk-5IKRTRRR.js} +5 -5
  39. package/{chunk-P5QACQDK.js → chunk-62TBKWTV.js} +1 -1
  40. package/{chunk-TRW43TSC.js → chunk-6EQD4AQL.js} +41 -1
  41. package/{chunk-RUNKPFM5.js → chunk-6QIBWOPT.js} +12 -8
  42. package/{chunk-YLMMECCH.js → chunk-6XIE5ZGI.js} +1 -1
  43. package/{chunk-7GC3EKUG.js → chunk-7PDNSQZC.js} +3 -3
  44. package/{chunk-DW7MGLMG.js → chunk-7YQQXP42.js} +35 -207
  45. package/{chunk-WZ6OU4NX.js → chunk-BAWAKW7X.js} +2 -2
  46. package/{chunk-UUPR3TD7.js → chunk-BL4HFN6L.js} +2 -4
  47. package/{chunk-2GGXHQIW.js → chunk-BLVSFYQ3.js} +4 -2
  48. package/{chunk-HP6O6LTV.js → chunk-CDLP56BS.js} +9 -9
  49. package/{chunk-4LRK5Q2Z.js → chunk-CI6YDDL2.js} +18 -17
  50. package/{chunk-5MM7NNO6.js → chunk-CNWKLQRL.js} +8 -3
  51. package/{chunk-UTIMX333.js → chunk-DJ2BOPJY.js} +1 -1
  52. package/{chunk-36OMEXXR.js → chunk-DLV3H464.js} +8 -8
  53. package/{chunk-X5SUT4CN.js → chunk-EDJND3FK.js} +6 -6
  54. package/{chunk-CE7PIHQD.js → chunk-ESMZW5PE.js} +3 -3
  55. package/{chunk-PSJWPSKS.js → chunk-EWO77ZGF.js} +9 -43
  56. package/{chunk-ZWG3C7VI.js → chunk-F3SOW2EU.js} +81 -1
  57. package/{chunk-FY4SDK2E.js → chunk-FDLDMJTM.js} +1 -1
  58. package/chunk-FTHF2P2I.js +2685 -0
  59. package/{chunk-7KYVUFDG.js → chunk-G3VYRPTV.js} +5 -267
  60. package/{chunk-NQ64VVAI.js → chunk-GXZZOTDM.js} +826 -689
  61. package/{chunk-6MJNEXUU.js → chunk-HGDKT2D6.js} +4 -0
  62. package/{chunk-6KVZAZJA.js → chunk-HRZW3SQN.js} +7 -7
  63. package/{chunk-B2EGWZJG.js → chunk-I7S63QUU.js} +1 -1
  64. package/{chunk-ROPSATAB.js → chunk-IF7V3CBU.js} +1 -1
  65. package/{chunk-T6CBQ6BN.js → chunk-INFHX73M.js} +1 -1
  66. package/{chunk-YBNHPX4S.js → chunk-IW64YHXL.js} +155 -31
  67. package/{chunk-VSOWPETY.js → chunk-JIAZK434.js} +10 -10
  68. package/{chunk-K43ZF2C3.js → chunk-JPPQ3GUO.js} +1 -1
  69. package/{chunk-TZTWMGE3.js → chunk-JWEXJ573.js} +3 -3
  70. package/{chunk-OH2M7WEU.js → chunk-K3N2DWLT.js} +3 -3
  71. package/{chunk-I2ZMGXXF.js → chunk-KFHREHUQ.js} +1 -1
  72. package/{chunk-3C2QLERX.js → chunk-KMDDG73K.js} +1 -1
  73. package/{chunk-EM3YOZJ4.js → chunk-L2JMH4I5.js} +3 -3
  74. package/{chunk-D4OWHT5Y.js → chunk-MAYW6V3E.js} +2 -2
  75. package/{chunk-IPAW7XLD.js → chunk-MFVOJ6KF.js} +2 -2
  76. package/{chunk-CBHGZRCE.js → chunk-MYOH447Z.js} +1 -1
  77. package/{chunk-6MPAEODB.js → chunk-NHEWV5FD.js} +17 -3
  78. package/{chunk-SUKSWFLP.js → chunk-PIG2IUVZ.js} +1 -1
  79. package/{chunk-WP6RXNE6.js → chunk-PNACBSRF.js} +134 -126
  80. package/{chunk-SEJ5OS6F.js → chunk-PXYBUFDB.js} +4 -0
  81. package/{chunk-SKPPKHD3.js → chunk-Q5LVXPGT.js} +2 -2
  82. package/{chunk-2MTE2PEH.js → chunk-QA2C5NKI.js} +5 -739
  83. package/{chunk-XFKZ3MCV.js → chunk-QFL42TMV.js} +251 -77
  84. package/{chunk-L6EQV5OC.js → chunk-QXZH5UDF.js} +3 -3
  85. package/{chunk-TNIX77YM.js → chunk-R5GO3YZP.js} +34 -1
  86. package/{chunk-4Z245KOA.js → chunk-SH3XD4E2.js} +8 -4
  87. package/{chunk-MM3662RS.js → chunk-SNAWGDXT.js} +263 -4
  88. package/{chunk-JGRPBIZZ.js → chunk-SQX235S2.js} +1 -1
  89. package/chunk-TT644UJD.js +188 -0
  90. package/{chunk-IYBIRCQV.js → chunk-U34KT53V.js} +29 -11
  91. package/{chunk-KOB75UNU.js → chunk-U5U4WAFS.js} +19 -3
  92. package/{chunk-ANJTRG52.js → chunk-ULQAD7ZY.js} +18 -43
  93. package/{chunk-FDT27L7S.js → chunk-UUPXTEZA.js} +19 -17
  94. package/{chunk-QDA4Y5O6.js → chunk-V67W64OY.js} +21 -17
  95. package/{chunk-I2RMFLLH.js → chunk-V7PCFWX3.js} +1 -1
  96. package/{chunk-HXHSTRGH.js → chunk-VYNMQ6HW.js} +0 -27
  97. package/{chunk-G47IPDOK.js → chunk-W7FGZRLK.js} +1 -1
  98. package/{chunk-7BSQK2UC.js → chunk-WRCZXJ4N.js} +2 -2
  99. package/{chunk-KX6LPG7W.js → chunk-WYJTNSVL.js} +9 -9
  100. package/chunk-Y5GCAMGP.js +9 -0
  101. package/{chunk-JZX2XLKC.js → chunk-YCRROBDY.js} +1 -1
  102. package/{chunk-SCJD2PNK.js → chunk-YPG7TUQD.js} +3 -3
  103. package/{chunk-YANF2RR4.js → chunk-ZPKUJROL.js} +1 -1
  104. package/{chunk-TYND6RDQ.js → chunk-ZZDVBZOP.js} +74 -3
  105. package/{commandRegistry-NE2JOCQT.js → commandRegistry-2DDDET7G.js} +88 -96
  106. package/{contentThunks-B3FRQGP7.js → contentThunks-5DNEHJ2Z.js} +21 -21
  107. package/{createAgentAutomationAction-T2YFJ6MY.js → createAgentAutomationAction-4SUS2EFX.js} +21 -21
  108. package/{createDialogAction-2NFGFBXW.js → createDialogAction-JSFXX6JE.js} +25 -25
  109. package/{createPageAction-LDAVZDN7.js → createPageAction-37HHOXZ2.js} +24 -25
  110. package/{dbSlice-5QGKMQLO.js → dbSlice-6PVPY44C.js} +7 -7
  111. package/{deleteFile-EW6QNRRT.js → deleteFile-YM6NDPAR.js} +5 -5
  112. package/{dialogCommands-H3K7PTF6.js → dialogCommands-ZJRMCP4S.js} +35 -32
  113. package/{dialogSlice-64S3J6CP.js → dialogSlice-2Z66AWEW.js} +20 -20
  114. package/{dist-NJC2W7I4.js → dist-Q2JSMAKA.js} +7 -361
  115. package/{docCreateCommands-KP64KMVL.js → docCreateCommands-KQHQNLRX.js} +32 -30
  116. package/{docDeleteCommands-C3F4SZSR.js → docDeleteCommands-O3DWFX2W.js} +33 -31
  117. package/{docReadCommands-7H6BDOUR.js → docReadCommands-2U2BUONC.js} +32 -30
  118. package/{docStore-NIP7OO4I.js → docStore-XMTUF3GX.js} +8 -8
  119. package/{docUpdateCommands-JDW4BRBH.js → docUpdateCommands-MF3C52XI.js} +32 -30
  120. package/{getPricing-TX35D7PI.js → getPricing-XQ3N3RBP.js} +2 -2
  121. package/{handleSendMessageAction-TOKA7ED7.js → handleSendMessageAction-4VFVXTF2.js} +43 -39
  122. package/index.js +8 -8
  123. package/{localRuntimeAdapter-OPPDLUG3.js → localRuntimeAdapter-KKIVRYVN.js} +70 -69
  124. package/{localRuntimeAuthority-JDAD7CB6.js → localRuntimeAuthority-BPN5OAQG.js} +2 -2
  125. package/{localRuntimeDb-CVC62PM5.js → localRuntimeDb-QIVAXMUL.js} +1 -1
  126. package/{machineCommands-OPLQR7XY.js → machineCommands-UHQVCOD3.js} +80 -79
  127. package/{machineWsRunDispatch-PTS42QDK.js → machineWsRunDispatch-TX4X7TOJ.js} +70 -71
  128. package/{memberThunks-KRV5YXOB.js → memberThunks-AZINUM4S.js} +10 -10
  129. package/package.json +6 -2
  130. package/{profileConfig-ZGOFORWV.js → profileConfig-KN3N2BLF.js} +7 -1
  131. package/{providerPresetApply-CRZFMQD5.js → providerPresetApply-PKUOHQJT.js} +5 -5
  132. package/{providerRegistry-7IS43D3X.js → providerRegistry-HNQLIFN2.js} +5 -5
  133. package/{read-5KAZHHDM.js → read-7JPIWRBQ.js} +5 -5
  134. package/{readDocTool-5QO34OSX.js → readDocTool-AAQTB2Y3.js} +1 -1
  135. package/{readlineWorkspace-3XC7SEMZ.js → readlineWorkspace-BFVB2ON5.js} +375 -200
  136. package/{removeDialogAgentAction-6X63HMI3.js → removeDialogAgentAction-RMVRILLK.js} +9 -9
  137. package/{runAgentClientLoop-5QIGEALK.js → runAgentClientLoop-HHLHNMBE.js} +59 -54
  138. package/{runtimeDoctorCommands-56NWKNON.js → runtimeDoctorCommands-MMCP4B4U.js} +12 -12
  139. package/{secretCommands-ZXZRLR3R.js → secretCommands-DNY56NSU.js} +11 -1
  140. package/{setDialogExtraReferencesAction-4MAYKKYW.js → setDialogExtraReferencesAction-L3V7JTMG.js} +8 -8
  141. package/{setPrimaryDialogAgentAction-EGBAMREH.js → setPrimaryDialogAgentAction-X52JQGTJ.js} +9 -9
  142. package/settingThunks-N6XFWPOU.js +923 -0
  143. package/{spaceCommands-JQN7D4FE.js → spaceCommands-NDPGHDMD.js} +29 -27
  144. package/{streamAgentChatTurn-456DWXNY.js → streamAgentChatTurn-KNPOLET7.js} +154 -95
  145. package/{switchDialogAgentAction-YBKTD6DO.js → switchDialogAgentAction-ZJ5CGU7J.js} +7 -7
  146. package/{tableCommands-U3QDY4L6.js → tableCommands-IVC5S7Y3.js} +11 -11
  147. package/{toolApiClient-7WSJJJBV.js → toolApiClient-HGNO53TC.js} +2 -2
  148. package/{tools-IWNXKK4Y.js → tools-ULA7XJQT.js} +43 -44
  149. package/{tuiSummaryLlmCaller-KLK6K3Q3.js → tuiSummaryLlmCaller-FESHBDTT.js} +7 -7
  150. package/{updateCommands-NQXAGFM7.js → updateCommands-FJHGWD3Q.js} +5 -3
  151. package/{updateDialogTitleAction-SX53FZWO.js → updateDialogTitleAction-VUIVBDAS.js} +21 -21
  152. package/{workloadLifecycle-36DXRZKU.js → workloadLifecycle-6O6PMISX.js} +2 -2
  153. package/chunk-IA7TRNNR.js +0 -11
  154. package/chunk-UKZX3NHN.js +0 -48
  155. package/chunk-VAZHH6FO.js +0 -7012
  156. package/chunk-W4S6OTSC.js +0 -35
  157. package/clipboardy-GCO3GT3I.js +0 -11793
  158. package/settingThunks-FTDRZNSJ.js +0 -1371
  159. package/{agentGrantCommands-HOJ3JBBQ.js → agentGrantCommands-5DPHYEKP.js} +3 -3
  160. package/{chromeOpsCommands-3Z34RKSE.js → chromeOpsCommands-GZVVK7HU.js} +4 -4
  161. package/{chunk-XETG4RIX.js → chunk-AETZ7AD6.js} +4 -4
  162. package/{chunk-2IXDJNZI.js → chunk-GAGGEA7D.js} +3 -3
  163. package/{memoryCommands-CUNBFRVS.js → memoryCommands-ZS3VQJAL.js} +3 -3
  164. package/{offlineMarxistsAgentCommand-2QTHJCHV.js → offlineMarxistsAgentCommand-3GLX4QQY.js} +3 -3
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  buildStaticUserPolicyContext,
3
3
  resolveSpaceContextPreloadPlan
4
- } from "./chunk-T6CBQ6BN.js";
4
+ } from "./chunk-INFHX73M.js";
5
5
  import {
6
6
  fetchReferenceContents,
7
7
  mergeReferences,
8
8
  resolveReferenceAssets,
9
9
  resolveToolsFromKeys
10
- } from "./chunk-VSOWPETY.js";
10
+ } from "./chunk-JIAZK434.js";
11
11
  import {
12
12
  UI_CARD_ENVELOPE_MAX_BYTES,
13
13
  getAllToolRuns,
@@ -20,27 +20,27 @@ import {
20
20
  selectSpaceContextLevel,
21
21
  selectUserTonePreset,
22
22
  uiCardFallback
23
- } from "./chunk-RUNKPFM5.js";
23
+ } from "./chunk-6QIBWOPT.js";
24
24
  import {
25
25
  resolveToolBaseUrl
26
- } from "./chunk-CBHGZRCE.js";
26
+ } from "./chunk-MYOH447Z.js";
27
27
  import {
28
28
  getFinalPrice,
29
29
  getModelPricing,
30
30
  getPrices,
31
31
  hasExplicitAgentPricing
32
- } from "./chunk-YANF2RR4.js";
32
+ } from "./chunk-ZPKUJROL.js";
33
33
  import {
34
34
  getDocState
35
- } from "./chunk-OH2M7WEU.js";
35
+ } from "./chunk-K3N2DWLT.js";
36
36
  import {
37
37
  getTableState
38
- } from "./chunk-VAZHH6FO.js";
38
+ } from "./chunk-FTHF2P2I.js";
39
39
  import {
40
40
  PERSONALIZATION_DIALOG_CATEGORY,
41
41
  buildPersonalizationDialogPolicyContext,
42
42
  selectAllMsgs
43
- } from "./chunk-H4KACZMG.js";
43
+ } from "./chunk-2QQ7D3P5.js";
44
44
  import {
45
45
  getCurrentSpaceIdRaw,
46
46
  getViewMode
@@ -51,12 +51,12 @@ import {
51
51
  import {
52
52
  read,
53
53
  selectById
54
- } from "./chunk-HP6O6LTV.js";
54
+ } from "./chunk-CDLP56BS.js";
55
55
  import {
56
56
  getSessionSnapshotForState,
57
57
  selectIdentityUserBalance,
58
58
  selectIdentityUserId
59
- } from "./chunk-SEJ5OS6F.js";
59
+ } from "./chunk-PXYBUFDB.js";
60
60
  import {
61
61
  TOOL_PACKS,
62
62
  addDefaultSystemCapabilityTools,
@@ -66,27 +66,31 @@ import {
66
66
  expandEnabledPackPromptPatches,
67
67
  expandEnabledPacks,
68
68
  resolveEffectiveEnabledPacks
69
- } from "./chunk-JZX2XLKC.js";
69
+ } from "./chunk-YCRROBDY.js";
70
70
  import {
71
71
  projectToolMessageContent
72
- } from "./chunk-IYBIRCQV.js";
72
+ } from "./chunk-U34KT53V.js";
73
73
  import {
74
74
  attachmentKind,
75
75
  normalizeAttachmentPart
76
76
  } from "./chunk-WJZOQR2J.js";
77
77
  import {
78
78
  extractReferenceKeysFromMessage
79
- } from "./chunk-ZWG3C7VI.js";
79
+ } from "./chunk-F3SOW2EU.js";
80
80
  import {
81
81
  getModelContextWindow,
82
82
  planContextUsage
83
- } from "./chunk-2MTE2PEH.js";
83
+ } from "./chunk-QA2C5NKI.js";
84
84
  import {
85
85
  asRecordOrEmpty
86
86
  } from "./chunk-KX6YBIHG.js";
87
87
  import {
88
88
  isAbortError
89
89
  } from "./chunk-7DPNBQSV.js";
90
+ import {
91
+ buildLinkedSpacesSection,
92
+ buildSpaceContextLayer
93
+ } from "./chunk-VEA7H5FG.js";
90
94
  import {
91
95
  canonicalizeToolNames,
92
96
  prioritizeToolNames
@@ -100,16 +104,16 @@ import {
100
104
  import {
101
105
  asNonEmptyStringArray
102
106
  } from "./chunk-I42VC5KR.js";
103
- import {
104
- asOptionalFiniteNumber
105
- } from "./chunk-WWC7I6TA.js";
106
107
  import {
107
108
  estimateTokenCount
108
109
  } from "./chunk-PSCNXBYA.js";
110
+ import {
111
+ asOptionalFiniteNumber
112
+ } from "./chunk-WWC7I6TA.js";
109
113
  import {
110
114
  getModelConfig,
111
115
  getProviderByModelName
112
- } from "./chunk-TRW43TSC.js";
116
+ } from "./chunk-6EQD4AQL.js";
113
117
  import {
114
118
  isRecord
115
119
  } from "./chunk-KUG52IAP.js";
@@ -119,10 +123,6 @@ import {
119
123
  import {
120
124
  asOptionalTrimmedString
121
125
  } from "./chunk-G3SUCT4W.js";
122
- import {
123
- buildLinkedSpacesSection,
124
- buildSpaceContextLayer
125
- } from "./chunk-VEA7H5FG.js";
126
126
 
127
127
  // packages/ai/agent/foregroundTurnAdmissionFetch.ts
128
128
  var FOREGROUND_TURN_KEEPALIVE_MAX_BODY_BYTES = 60 * 1024;
@@ -24,12 +24,6 @@ async function isDrainExhaustedResponse(response) {
24
24
  }
25
25
  }
26
26
 
27
- // packages/core/positiveFiniteNumberOrFallback.ts
28
- function parsePositiveFiniteNumberOrFallback(value, fallback) {
29
- const parsed = Number(value);
30
- return Number.isFinite(parsed) && parsed > 0 ? parsed : fallback;
31
- }
32
-
33
27
  // packages/core/retryAfterMs.ts
34
28
  function normalizeNonNegativeMs(value, fallbackMs) {
35
29
  const parsed = Number(value);
@@ -57,6 +51,5 @@ export {
57
51
  createDrainExhaustedResponse,
58
52
  isDrainExhaustedResponse,
59
53
  normalizeNonNegativeMs,
60
- parseRetryAfterHeaderMs,
61
- parsePositiveFiniteNumberOrFallback
54
+ parseRetryAfterHeaderMs
62
55
  };
@@ -206,7 +206,7 @@ async function readDocFunc(args, thunkApi) {
206
206
  throw new Error(`\u65E0\u6548\u7684\u9875\u9762 ID: ${id}\u3002\u9875\u9762 ID \u901A\u5E38\u4EE5 "page-" \u5F00\u5934\u3002`);
207
207
  }
208
208
  try {
209
- const { readAction } = await import("./read-5KAZHHDM.js");
209
+ const { readAction } = await import("./read-7JPIWRBQ.js");
210
210
  const pageData = await readAction({ dbKey: id }, thunkApi);
211
211
  if (!pageData) {
212
212
  throw new Error(`\u672A\u627E\u5230 ID \u4E3A ${id} \u7684\u9875\u9762\u3002`);
@@ -1239,6 +1239,121 @@ function buildNoloWorkspaceCommandArgs(call) {
1239
1239
  }
1240
1240
  }
1241
1241
 
1242
+ // packages/agent-runtime/subtaskBudget.ts
1243
+ var DEFAULT_SUBTASK_MAX_TOOL_CALLS = 200;
1244
+ var DEFAULT_SUBTASK_MAX_WALL_CLOCK_MS = 60 * 60 * 1e3;
1245
+ var SUBTASK_MAX_TOOL_CALLS_ENV = "NOLO_SUBTASK_MAX_TOOL_CALLS";
1246
+ var SUBTASK_MAX_WALL_CLOCK_MS_ENV = "NOLO_SUBTASK_MAX_WALL_CLOCK_MS";
1247
+ var SUBTASK_BUDGET_EXHAUSTED_MARKER = "[budget-exhausted]";
1248
+ function parseSubtaskBudgetLimit(raw, fallback) {
1249
+ if (typeof raw === "number") {
1250
+ if (!Number.isFinite(raw) || raw <= 0) return fallback;
1251
+ return Math.floor(raw);
1252
+ }
1253
+ if (typeof raw !== "string") return fallback;
1254
+ const trimmed = raw.trim();
1255
+ if (!trimmed) return fallback;
1256
+ const parsed = Number(trimmed);
1257
+ if (!Number.isFinite(parsed) || parsed <= 0) return fallback;
1258
+ return Math.floor(parsed);
1259
+ }
1260
+ function resolveSubtaskBudgetLimits(options) {
1261
+ const env = options?.env ?? (typeof process !== "undefined" ? process.env : {});
1262
+ const explicitToolCalls = options?.maxToolCalls;
1263
+ const explicitWallClock = options?.maxWallClockMs;
1264
+ return {
1265
+ maxToolCalls: typeof explicitToolCalls === "number" ? parseSubtaskBudgetLimit(explicitToolCalls, parseSubtaskBudgetLimit(env?.[SUBTASK_MAX_TOOL_CALLS_ENV], DEFAULT_SUBTASK_MAX_TOOL_CALLS)) : parseSubtaskBudgetLimit(env?.[SUBTASK_MAX_TOOL_CALLS_ENV], DEFAULT_SUBTASK_MAX_TOOL_CALLS),
1266
+ maxWallClockMs: typeof explicitWallClock === "number" ? parseSubtaskBudgetLimit(explicitWallClock, parseSubtaskBudgetLimit(env?.[SUBTASK_MAX_WALL_CLOCK_MS_ENV], DEFAULT_SUBTASK_MAX_WALL_CLOCK_MS)) : parseSubtaskBudgetLimit(env?.[SUBTASK_MAX_WALL_CLOCK_MS_ENV], DEFAULT_SUBTASK_MAX_WALL_CLOCK_MS)
1267
+ };
1268
+ }
1269
+ function resolveSubtaskBudgetDeadlineMs(args) {
1270
+ const ownDeadlineAtMs = args.childStartedAtMs + args.limits.maxWallClockMs;
1271
+ const parentDeadlineAtMs = args.parentDeadlineAtMs;
1272
+ if (typeof parentDeadlineAtMs === "number" && Number.isFinite(parentDeadlineAtMs)) {
1273
+ return Math.min(parentDeadlineAtMs, ownDeadlineAtMs);
1274
+ }
1275
+ return ownDeadlineAtMs;
1276
+ }
1277
+ function resolveDispatchedSubtaskBudget(args) {
1278
+ const limits = resolveSubtaskBudgetLimits({
1279
+ ...typeof args?.maxToolCalls === "number" ? { maxToolCalls: args.maxToolCalls } : {},
1280
+ ...typeof args?.maxWallClockMs === "number" ? { maxWallClockMs: args.maxWallClockMs } : {},
1281
+ ...args?.env ? { env: args.env } : {}
1282
+ });
1283
+ const childStartedAtMs = args?.childStartedAtMs ?? Date.now();
1284
+ const deadlineAtMs = resolveSubtaskBudgetDeadlineMs({
1285
+ parentDeadlineAtMs: args?.parentDeadlineAtMs ?? null,
1286
+ childStartedAtMs,
1287
+ limits
1288
+ });
1289
+ return {
1290
+ // 父截止更早时,子 run 的墙钟额度被压到「距离父截止的剩余时间」。
1291
+ limits: {
1292
+ maxToolCalls: limits.maxToolCalls,
1293
+ maxWallClockMs: Math.max(1, deadlineAtMs - childStartedAtMs)
1294
+ },
1295
+ deadlineAtMs
1296
+ };
1297
+ }
1298
+ function createSubtaskBudgetTracker(options) {
1299
+ const now = options.now ?? (() => Date.now());
1300
+ const startedAtMs = options.startedAtMs ?? now();
1301
+ let toolCallsExecuted = 0;
1302
+ const elapsedMs = () => Math.max(0, now() - startedAtMs);
1303
+ const exhaustion = () => {
1304
+ const elapsed = elapsedMs();
1305
+ if (toolCallsExecuted >= options.limits.maxToolCalls) {
1306
+ return {
1307
+ limit: "max-tool-calls",
1308
+ limits: options.limits,
1309
+ toolCallsExecuted,
1310
+ elapsedMs: elapsed,
1311
+ atMs: now()
1312
+ };
1313
+ }
1314
+ if (elapsed >= options.limits.maxWallClockMs) {
1315
+ return {
1316
+ limit: "max-wall-clock-ms",
1317
+ limits: options.limits,
1318
+ toolCallsExecuted,
1319
+ elapsedMs: elapsed,
1320
+ atMs: now()
1321
+ };
1322
+ }
1323
+ return null;
1324
+ };
1325
+ return {
1326
+ limits: options.limits,
1327
+ startedAtMs,
1328
+ get toolCallsExecuted() {
1329
+ return toolCallsExecuted;
1330
+ },
1331
+ elapsedMs,
1332
+ remainingToolCalls: () => Math.max(0, options.limits.maxToolCalls - toolCallsExecuted),
1333
+ isExhausted: () => exhaustion() !== null,
1334
+ exhaustion,
1335
+ recordToolCallExecuted: () => {
1336
+ toolCallsExecuted += 1;
1337
+ return toolCallsExecuted;
1338
+ }
1339
+ };
1340
+ }
1341
+ function buildSubtaskBudgetExhaustedContent(args) {
1342
+ const { exhaustion } = args;
1343
+ const limitLabel = exhaustion.limit === "max-tool-calls" ? `\u5DE5\u5177\u8C03\u7528\u4E0A\u9650\uFF08\u5DF2\u6267\u884C ${exhaustion.toolCallsExecuted}/${exhaustion.limits.maxToolCalls} \u6B21\uFF09` : `\u5899\u949F\u4E0A\u9650\uFF08\u5DF2\u8FD0\u884C ${Math.round(exhaustion.elapsedMs / 1e3)} \u79D2 / \u4E0A\u9650 ${Math.round(
1344
+ exhaustion.limits.maxWallClockMs / 1e3
1345
+ )} \u79D2\uFF09`;
1346
+ const recent = (args.recentToolNames ?? []).slice(-5);
1347
+ const recentText = recent.length > 0 ? recent.join("\u3001") : "\uFF08\u672C\u8F6E\u65E0\u5DE5\u5177\u8C03\u7528\uFF09";
1348
+ return [
1349
+ `${SUBTASK_BUDGET_EXHAUSTED_MARKER} \u5DF2\u8FBE\u5B50\u4EFB\u52A1\u9884\u7B97\u4E0A\u9650\uFF08${limitLabel}\uFF09\uFF0C\u672C\u6B21\u5B50\u4EFB\u52A1\u5230\u6B64\u4F18\u96C5\u7EC8\u6B62\u3002`,
1350
+ "\u8FD9\u662F\u4E00\u4EFD**\u4E2D\u95F4\u7ED3\u8BBA**\uFF0C\u4E0D\u662F\u5B8C\u6574\u4EA4\u4ED8\uFF0C\u4E5F\u4E0D\u662F\u5931\u8D25\uFF1A\u4E0A\u6587\u4FDD\u7559\u7684\u662F\u672C\u8F6E\u5DF2\u5B8C\u6210\u7684\u9636\u6BB5\u6027\u6210\u679C\uFF0C\u53EF\u76F4\u63A5\u4F5C\u4E3A\u9636\u6BB5\u4EA4\u63A5\u4F7F\u7528\u3002",
1351
+ `\u5F53\u524D\u5B8C\u6210\u5230\u54EA\u4E00\u6B65\uFF1A\u5DF2\u5B8C\u6210 ${args.roundsCompleted} \u8F6E\u6A21\u578B\u5F80\u8FD4\u3001${exhaustion.toolCallsExecuted} \u6B21\u5DE5\u5177\u8C03\u7528\uFF1B\u6700\u8FD1\u5B8C\u6210\u7684\u5DE5\u5177\uFF1A${recentText}\u3002`,
1352
+ "\u5DF2\u5B8C\u6210\u7684\u5DE5\u5177\u7ED3\u679C\u5168\u90E8\u4FDD\u7559\u5728\u672C\u56DE\u5408\u7684 transcript / \u7ED3\u679C\u4E2D\uFF0C\u6CA1\u6709\u4EFB\u4F55\u56DE\u6EDA\u6216\u4E22\u5F03\u3002",
1353
+ "\u5982\u9700\u7EE7\u7EED\u63A8\u8FDB\uFF0C\u8BF7\u7531\u7236\u65B9\u643A\u5E26\u5F53\u524D\u4E2D\u95F4\u7ED3\u8BBA\u91CD\u65B0\u6D3E\u53D1\uFF08\u53EF\u6309\u9700\u8C03\u9AD8\u9884\u7B97\u4E0A\u9650\uFF09\u3002"
1354
+ ].join("\n");
1355
+ }
1356
+
1242
1357
  // packages/ai/agent/agentSelectionPriority.ts
1243
1358
  function parseAgentTimestamp(value) {
1244
1359
  if (typeof value === "number" && Number.isFinite(value)) return value;
@@ -1328,6 +1443,11 @@ export {
1328
1443
  verifyNoloDialogSubjectRefQuery,
1329
1444
  buildNoloTableQueryRequest,
1330
1445
  buildNoloWorkspaceCommandArgs,
1446
+ DEFAULT_SUBTASK_MAX_TOOL_CALLS,
1447
+ DEFAULT_SUBTASK_MAX_WALL_CLOCK_MS,
1448
+ resolveDispatchedSubtaskBudget,
1449
+ createSubtaskBudgetTracker,
1450
+ buildSubtaskBudgetExhaustedContent,
1331
1451
  compareAgentSelection,
1332
1452
  AGENT_SELECTION_PRIORITY_INSTRUCTIONS,
1333
1453
  buildAgentRuntimeAgentLookupKeys,
@@ -8,7 +8,7 @@ import {
8
8
  noloUploadRequest,
9
9
  noloWriteRequest,
10
10
  syncWithServers
11
- } from "./chunk-7BSQK2UC.js";
11
+ } from "./chunk-WRCZXJ4N.js";
12
12
  import {
13
13
  getAllServers,
14
14
  getIsDesktopApp
@@ -17,20 +17,20 @@ import {
17
17
  selectIdentityToken,
18
18
  selectIdentityUser,
19
19
  selectIdentityUserId
20
- } from "./chunk-SEJ5OS6F.js";
20
+ } from "./chunk-PXYBUFDB.js";
21
21
  import {
22
22
  asOptionalPositiveFiniteNumber
23
23
  } from "./chunk-U6VC4MU4.js";
24
+ import {
25
+ SERVERS,
26
+ normalizeKnownServerOrigin
27
+ } from "./chunk-LCBAMY2M.js";
24
28
  import {
25
29
  isRecord
26
30
  } from "./chunk-KUG52IAP.js";
27
31
  import {
28
32
  asTrimmedString
29
33
  } from "./chunk-3EUW3WEO.js";
30
- import {
31
- SERVERS,
32
- normalizeKnownServerOrigin
33
- } from "./chunk-LCBAMY2M.js";
34
34
  import {
35
35
  isLocalServerUrl
36
36
  } from "./chunk-4SN6J65J.js";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  addContentToSpace
3
- } from "./chunk-VAZHH6FO.js";
3
+ } from "./chunk-FTHF2P2I.js";
4
4
  import {
5
5
  format,
6
6
  prepareAndPersistMessage,
7
7
  uiAskChoiceFunc,
8
8
  uiAskChoiceFunctionSchema
9
- } from "./chunk-H4KACZMG.js";
9
+ } from "./chunk-2QQ7D3P5.js";
10
10
  import {
11
11
  formatISO
12
12
  } from "./chunk-ZRAU6T47.js";
@@ -16,16 +16,16 @@ import {
16
16
  removeCachedEntity,
17
17
  upsertSSREntity,
18
18
  write
19
- } from "./chunk-HP6O6LTV.js";
19
+ } from "./chunk-CDLP56BS.js";
20
20
  import {
21
21
  isDevelopment
22
22
  } from "./chunk-6Q7UTJKR.js";
23
23
  import {
24
24
  selectIdentityUserId
25
- } from "./chunk-SEJ5OS6F.js";
25
+ } from "./chunk-PXYBUFDB.js";
26
26
  import {
27
27
  buildBuiltinObjectSkillReference
28
- } from "./chunk-JZX2XLKC.js";
28
+ } from "./chunk-YCRROBDY.js";
29
29
  import {
30
30
  extractCustomId
31
31
  } from "./chunk-M2EJHDJP.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  requireTokenUser
3
- } from "./chunk-UTIMX333.js";
3
+ } from "./chunk-DJ2BOPJY.js";
4
4
  import {
5
5
  t
6
- } from "./chunk-SW4S4XYB.js";
6
+ } from "./chunk-2AB2HA4M.js";
7
7
  import {
8
8
  resolveServerUrl
9
9
  } from "./chunk-A7GB5UGH.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getModelContextWindow
3
- } from "./chunk-2MTE2PEH.js";
3
+ } from "./chunk-QA2C5NKI.js";
4
4
  import {
5
5
  isRecord
6
6
  } from "./chunk-KUG52IAP.js";
@@ -854,6 +854,8 @@ var STREAM_USAGE_PROVIDERS = /* @__PURE__ */ new Set([
854
854
  // kimi-code CLI also sends include_usage). Custom agents pointing at the
855
855
  // same endpoint are covered by the endpoint check below, not here.
856
856
  "kimi-code",
857
+ // MiniMax 官方 API(api.minimaxi.com):OpenAI 兼容流式端点,支持 stream_options.include_usage。
858
+ "minimax",
857
859
  // OpenDesign (open-design.ai) and OpenCode Go (opencode.ai): OpenAI-compatible
858
860
  // aggregation / subscription endpoints. Verified to emit terminal usage with
859
861
  // prompt_tokens_details.cached_tokens.
@@ -862,10 +864,22 @@ var STREAM_USAGE_PROVIDERS = /* @__PURE__ */ new Set([
862
864
  "opencode-go"
863
865
  ]);
864
866
  var KIMI_CODE_ENDPOINT_MARKER = "api.kimi.com";
867
+ function extractHostname(endpoint) {
868
+ try {
869
+ const raw = endpoint.includes("://") ? endpoint : `https://${endpoint}`;
870
+ return new URL(raw).hostname.toLowerCase();
871
+ } catch {
872
+ return null;
873
+ }
874
+ }
875
+ var isMiniMaxEndpoint = (endpoint) => {
876
+ const host = extractHostname(endpoint);
877
+ return host === "api.minimaxi.com" || host === "api.minimax.chat";
878
+ };
865
879
  var isSupportedCustomEndpoint = (endpoint) => {
866
880
  if (typeof endpoint !== "string") return false;
867
881
  const ep = endpoint.toLowerCase();
868
- return ep.includes(KIMI_CODE_ENDPOINT_MARKER) || ep.includes("open-design.ai") || ep.includes("opencode.ai") || isOllamaEndpoint(endpoint);
882
+ return isMiniMaxEndpoint(endpoint) || ep.includes(KIMI_CODE_ENDPOINT_MARKER) || ep.includes("open-design.ai") || ep.includes("opencode.ai") || isOllamaEndpoint(endpoint);
869
883
  };
870
884
  var EXTRA_USAGE_FIELD_PROVIDERS = /* @__PURE__ */ new Set(["openrouter"]);
871
885
  var normalizeProviderName = (providerName) => asTrimmedLowercaseString(providerName);