nolo-cli 0.103.0-alpha.2 → 0.103.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 (209) hide show
  1. package/README.md +1 -1
  2. package/{_executeModel-3UCNJCQA.js → _executeModel-7J7Q3WXY.js} +75 -68
  3. package/action-C4KMTCJF.js +20 -0
  4. package/{addContentAction-O7R66HEX.js → addContentAction-7TNIOVZI.js} +12 -11
  5. package/{addDialogAgentAction-74OA7KYP.js → addDialogAgentAction-O47J3MVW.js} +18 -19
  6. package/{agentDeleteCommand-2YAHAZFJ.js → agentDeleteCommand-YPJHK7JA.js} +117 -42
  7. package/{agentEmailCommands-WLYF3JRS.js → agentEmailCommands-AWEXOHWM.js} +98 -88
  8. package/agentListCommands-2DTLLJZD.js +742 -0
  9. package/{agentMachineCommands-HNGAR5GI.js → agentMachineCommands-PGEEQ4JJ.js} +48 -43
  10. package/{agentProviderCommands-GNPTL5XR.js → agentProviderCommands-XPJYZSCE.js} +97 -2
  11. package/{agentPullCommand-O5MPVJ5E.js → agentPullCommand-B4T2DJ5H.js} +1 -1
  12. package/agentRecordCommands-DZVLCPLJ.js +138 -0
  13. package/agentRunCommand-AX5CYQ46.js +167 -0
  14. package/{agentRunControl-AVJR4JW4.js → agentRunControl-3HWA2LLQ.js} +2 -2
  15. package/{agentRuntimeLocal-VXZSDIGT.js → agentRuntimeLocal-PITRQ2EU.js} +48 -39
  16. package/{agentSlice-SICQBMCM.js → agentSlice-4TLSG6FB.js} +14 -13
  17. package/{appDeleteCommands-32MHLR4L.js → appDeleteCommands-UC2JW5FJ.js} +46 -41
  18. package/{appDeployCommands-WCQOUSOB.js → appDeployCommands-OL2RKVJ3.js} +46 -41
  19. package/{appDeployStatusCommands-6QKB7DYN.js → appDeployStatusCommands-B3PLC62M.js} +46 -41
  20. package/{appGetCommands-SFAPP5PB.js → appGetCommands-REESA2XQ.js} +46 -41
  21. package/{appListCommands-EKUBDRUO.js → appListCommands-UF6XX7HR.js} +46 -41
  22. package/{authCommand-F4EFRRX6.js → authCommand-NQPMGYHP.js} +118 -24
  23. package/{authCommands-RGOGCPP6.js → authCommands-LWLOZETU.js} +7 -5
  24. package/{builtinSkillRegistry-FUAVTRVZ.js → builtinSkillRegistry-GFY77VRN.js} +10 -8
  25. package/{chromeCommands-FZYAU75D.js → chromeCommands-K27J4OVZ.js} +124 -28
  26. package/{chromeOpsCommands-62P2Q2YB.js → chromeOpsCommands-IXRLN57H.js} +4 -3
  27. package/{chunk-UKZDAFYT.js → chunk-22RVE2PC.js} +6 -10
  28. package/{chunk-6OZ36FXI.js → chunk-27ONFIEY.js} +22 -4
  29. package/{chunk-HVURBGF3.js → chunk-2H6SEVDS.js} +6 -6
  30. package/{chunk-TOP2VXOR.js → chunk-2K4TM6AW.js} +5 -5
  31. package/{chunk-JEDZAO7L.js → chunk-2SYTUTLI.js} +257 -37
  32. package/{chunk-53HEEOTT.js → chunk-2WJ57RJA.js} +83 -16
  33. package/{chunk-OIVSQH2O.js → chunk-3BXNTXYI.js} +299 -5
  34. package/chunk-4A2R7KHG.js +13545 -0
  35. package/{chunk-EYAQT56M.js → chunk-4DPP773Q.js} +2 -2
  36. package/{chunk-JRQFUXY7.js → chunk-4G4C5SXT.js} +99 -22
  37. package/{chunk-DHDMC6FO.js → chunk-4HTMUQIZ.js} +14 -9
  38. package/{chunk-B3TVQ6PI.js → chunk-4IVA6UUE.js} +20 -11
  39. package/chunk-4LCOCOR5.js +50 -0
  40. package/{chunk-2GRGFCF6.js → chunk-4VJAC32I.js} +2 -1
  41. package/{chunk-MC4XLIJ7.js → chunk-523DITKR.js} +1 -1
  42. package/{chunk-H62HCIUP.js → chunk-56HJ2LAA.js} +35 -22
  43. package/{chunk-V4MJDUSR.js → chunk-5EPHWMP5.js} +2 -2
  44. package/{chunk-E4MARS3Q.js → chunk-5GVBDNTO.js} +1 -1
  45. package/{chunk-3WLK2JQ5.js → chunk-5IWONK6X.js} +68 -46
  46. package/chunk-5J3PYNUP.js +255 -0
  47. package/chunk-5MMAK75Q.js +15 -0
  48. package/{chunk-LW4VFPAY.js → chunk-5ZDLVKNG.js} +873 -228
  49. package/{chunk-42V6BK2E.js → chunk-62IL3KQV.js} +4 -34
  50. package/{chunk-AEOE4Z6Q.js → chunk-6UEJDFF7.js} +39 -15
  51. package/{chunk-JPGCXHNM.js → chunk-7JWCVINR.js} +1 -1
  52. package/{chunk-GQBOR3G6.js → chunk-7KVZ5LDQ.js} +2 -2
  53. package/{chunk-IIVGDG4I.js → chunk-7KWFIKKK.js} +13 -7
  54. package/chunk-A4SQRTZ6.js +15 -0
  55. package/chunk-AGIM7IMJ.js +147 -0
  56. package/{chunk-5UTFL4QJ.js → chunk-AOTBKDRK.js} +7 -0
  57. package/{chunk-L5UXH3B2.js → chunk-B455PEFD.js} +27 -8
  58. package/{chunk-XS5SWEDQ.js → chunk-BELZY72F.js} +1 -1
  59. package/chunk-BMQ2MJUK.js +153 -0
  60. package/{chunk-6YTOJY35.js → chunk-BZ7NPA6G.js} +35 -2
  61. package/chunk-CHOZJMJS.js +78 -0
  62. package/{chunk-3BMYXEUW.js → chunk-CUF4MYKI.js} +1 -1
  63. package/{chunk-ACTMNVHM.js → chunk-CYSYR67N.js} +1 -1
  64. package/{chunk-WV42OMV7.js → chunk-D2GQE6AF.js} +8 -8
  65. package/{chunk-GBRG75BQ.js → chunk-D2MDMY2M.js} +1 -0
  66. package/chunk-DZ7R5V3Y.js +164 -0
  67. package/{chunk-3VNWWVKB.js → chunk-E3YWHWCR.js} +50 -18
  68. package/{chunk-KQ4ONNQD.js → chunk-EKPKW6RM.js} +155 -8
  69. package/{chunk-ABQYVJBJ.js → chunk-EV235ILT.js} +5 -5
  70. package/{chunk-TRV2MIDW.js → chunk-EXAJ6DCR.js} +1 -0
  71. package/{chunk-AGVEIAQA.js → chunk-F442UK5V.js} +29 -78
  72. package/{chunk-HJUYAD4A.js → chunk-FBTNYNAL.js} +5 -5
  73. package/{chunk-2F7RJC6L.js → chunk-FOXQ7BAB.js} +1 -1
  74. package/{chunk-ETI2NYVF.js → chunk-GCTKWVLU.js} +4 -4
  75. package/chunk-GMZLP5DV.js +82 -0
  76. package/{chunk-FDTR4QJ6.js → chunk-H6A6X4EK.js} +32 -1
  77. package/{chunk-6VFARHZW.js → chunk-H7TQORR4.js} +994 -1079
  78. package/{chunk-5H7KJX7J.js → chunk-HD3S2F7U.js} +5 -5
  79. package/chunk-HDJRLWTG.js +8002 -0
  80. package/{chunk-DVINR3PL.js → chunk-HDLLCBRF.js} +1 -1
  81. package/{chunk-QOKAKDPE.js → chunk-HIM3FCLF.js} +0 -1
  82. package/{chunk-ONXOABJR.js → chunk-HNGRBWYF.js} +3 -0
  83. package/{chunk-VLTIYV3X.js → chunk-HP57OUJO.js} +4 -4
  84. package/{chunk-4OEFYTWL.js → chunk-IRZTHHNM.js} +67 -48
  85. package/{chunk-GPCZ7UXG.js → chunk-K6U4NKFJ.js} +1 -1
  86. package/{chunk-OZGZPSEG.js → chunk-KGRP4VOK.js} +47 -67
  87. package/{chunk-DNCEALKX.js → chunk-LB5A6JTU.js} +22 -29
  88. package/{chunk-LS2ZANRJ.js → chunk-LOCNXNOU.js} +1 -1
  89. package/{chunk-PUOC4YRO.js → chunk-M7VLQGQP.js} +11 -0
  90. package/{chunk-Z77CRGTW.js → chunk-MSFZ7FMO.js} +1 -1
  91. package/chunk-NKWIS6G2.js +442 -0
  92. package/{chunk-BFU6C242.js → chunk-NMFV26UG.js} +1 -1
  93. package/{chunk-FZGV4FGK.js → chunk-NUHHBEJC.js} +378 -187
  94. package/chunk-NWENLDMM.js +42 -0
  95. package/chunk-O7SVKKLY.js +875 -0
  96. package/chunk-OCZKATRC.js +129 -0
  97. package/{chunk-PQFHGD77.js → chunk-OM2RUOEU.js} +161 -14
  98. package/{chunk-KQHGZWSV.js → chunk-OXME3PEE.js} +1 -1
  99. package/{chunk-TQBHNYVR.js → chunk-PLRFCQ7C.js} +567 -519
  100. package/{chunk-6D6VBVEW.js → chunk-Q7O72MF5.js} +80 -14
  101. package/{chunk-J4MOO56S.js → chunk-RILRSUGC.js} +10 -2
  102. package/{chunk-RSONHHPE.js → chunk-RNUDNZJW.js} +10 -10
  103. package/{chunk-3N3W7KBB.js → chunk-RZJAZVCF.js} +11 -9
  104. package/{chunk-BYMV6QZG.js → chunk-TNIX77YM.js} +4 -0
  105. package/{chunk-GEPUP7OO.js → chunk-TSXNDTXL.js} +3 -3
  106. package/chunk-TY3TIUJK.js +89 -0
  107. package/{chunk-I3TQJXQ7.js → chunk-U3C3IA32.js} +9 -2
  108. package/{chunk-UZGQNTVW.js → chunk-UA324D4O.js} +8 -6
  109. package/{chunk-YYLHWIW6.js → chunk-UKZX3NHN.js} +1 -1
  110. package/{chunk-BP4XNZRM.js → chunk-UNAOTLKO.js} +4 -4
  111. package/{chunk-CUQEXCAU.js → chunk-UQ5P2WHS.js} +29 -9
  112. package/{chunk-NA35QHCF.js → chunk-V6YASAZR.js} +1 -1
  113. package/{chunk-3DII57IT.js → chunk-VCAQFMVN.js} +1 -1
  114. package/chunk-VIWDGTDA.js +8 -0
  115. package/chunk-VJVNU77E.js +83 -0
  116. package/{chunk-ZCYXJSTU.js → chunk-VL3H5ZU3.js} +66 -94
  117. package/{chunk-Q554LLSI.js → chunk-VLGL7FOL.js} +1 -1
  118. package/{chunk-UKWGR5SS.js → chunk-VY6VFGKR.js} +194 -1144
  119. package/{chunk-4EG4QFTK.js → chunk-WI6TUGLJ.js} +19 -17
  120. package/{chunk-QDSINZM3.js → chunk-WJ3B6FX6.js} +1 -14
  121. package/{chunk-OEVAY4J6.js → chunk-XMUZHRSB.js} +18 -20
  122. package/{chunk-O6OSWFZQ.js → chunk-XUWRURDF.js} +6 -0
  123. package/{chunk-Q67DOFOO.js → chunk-Y3PMXGLH.js} +2 -0
  124. package/{chunk-7S4YWN7P.js → chunk-YDO5ERB4.js} +4 -4
  125. package/chunk-YK5MHOWM.js +915 -0
  126. package/{chunk-SH43IESU.js → chunk-YUNJN43V.js} +44 -9
  127. package/chunk-YV25TM3R.js +780 -0
  128. package/{chunk-IONPPCL5.js → chunk-YZZREBID.js} +86 -16
  129. package/{chunk-DNUUJ45N.js → chunk-Z3WSAK6A.js} +23 -28
  130. package/chunk-ZRAU6T47.js +56 -0
  131. package/commandRegistry-VQPFWVDH.js +833 -0
  132. package/{contentThunks-S4S7QPSO.js → contentThunks-A26ME6OJ.js} +37 -35
  133. package/{cooldownCommands-REAWYVTY.js → cooldownCommands-ZLEPIB4A.js} +2 -2
  134. package/{createAgentAutomationAction-ODGL2YGP.js → createAgentAutomationAction-BSAMZJ5W.js} +39 -37
  135. package/createDialogAction-CMCQXYHD.js +69 -0
  136. package/{createPageAction-FBV3OWX7.js → createPageAction-ANGKJTK2.js} +46 -43
  137. package/{chunk-F2RNI7ZR.js → cursorProvider-YGGNMVWX.js} +2496 -9897
  138. package/{dbSlice-XVWBAGYN.js → dbSlice-QOLNF5GN.js} +11 -10
  139. package/{deleteFile-YG6QMJLU.js → deleteFile-KESP65GC.js} +7 -6
  140. package/{dialogCommands-5J56DFWN.js → dialogCommands-AMPAWLX4.js} +49 -45
  141. package/{dialogSlice-LEO27SQG.js → dialogSlice-DGWDEBYC.js} +41 -34
  142. package/{dist-VODFSGNG.js → dist-NJC2W7I4.js} +61 -54
  143. package/{docCreateCommands-KYI2DC2U.js → docCreateCommands-7NMIYL5D.js} +48 -43
  144. package/{docDeleteCommands-67REUSRY.js → docDeleteCommands-BD4OM5PV.js} +49 -44
  145. package/{docReadCommands-HOSVSBDJ.js → docReadCommands-5IOVAKU2.js} +47 -42
  146. package/{docStore-MNX5MHA5.js → docStore-TP4QDER4.js} +16 -12
  147. package/{docUpdateCommands-EMGCSMXY.js → docUpdateCommands-ZTKJ6UPC.js} +48 -43
  148. package/{fetchMessages-EIU7UFFK.js → fetchMessages-5L7OVM5Y.js} +5 -5
  149. package/{getPricing-LUSEABA6.js → getPricing-NMMFT3YI.js} +4 -4
  150. package/{handleSendMessageAction-YB6KQFJS.js → handleSendMessageAction-N4WKFRSQ.js} +111 -87
  151. package/index.js +87 -884
  152. package/{lib-FRRS27KN.js → lib-PU2G2MSO.js} +523 -191
  153. package/{localDialogRead-BTFJ4V2I.js → localDialogRead-O5A26FDK.js} +2 -2
  154. package/{localRuntimeAuthority-6IR6BBXE.js → localRuntimeAuthority-TU6OBC76.js} +9 -6
  155. package/{localRuntimeDb-SYQGUF4U.js → localRuntimeDb-VKWVOPPI.js} +1 -1
  156. package/{machineCommands-7GVQCUAK.js → machineCommands-47WKGY5Z.js} +92 -82
  157. package/machineWsRunDispatch-CYW5FJ52.js +154 -0
  158. package/{memberThunks-QGFLFVCI.js → memberThunks-25K6DDRA.js} +20 -18
  159. package/{models-T3SG6MJ5.js → models-ZPU5EDF4.js} +2 -2
  160. package/oauthTokenStore-ITEB663N.js +23 -0
  161. package/package.json +1 -1
  162. package/pdf-U6KSUEZZ.js +26435 -0
  163. package/processSpawn-SOAV3FEV.js +11 -0
  164. package/profileConfig-ZGOFORWV.js +43 -0
  165. package/{providerPresetApply-FG6NZ57W.js → providerPresetApply-TEBH7FDX.js} +7 -7
  166. package/{providerRegistry-757OWH3O.js → providerRegistry-CBJLNCET.js} +11 -7
  167. package/{read-COE3ZYR6.js → read-PJIT2YEJ.js} +7 -6
  168. package/{readDocTool-5USN4A6V.js → readDocTool-DRSXHGNL.js} +5 -3
  169. package/{readlineWorkspace-WA7JNI6J.js → readlineWorkspace-CK7GOVOC.js} +2698 -2055
  170. package/{removeDialogAgentAction-IX3MN2ZO.js → removeDialogAgentAction-VIWJL6MX.js} +21 -25
  171. package/{runAgentClientLoop-JGFQ6KIR.js → runAgentClientLoop-BGHGP5AR.js} +76 -70
  172. package/{runtimeDoctorCommands-X6WDBEQX.js → runtimeDoctorCommands-PIVSBZRZ.js} +4 -4
  173. package/runtimeModeArgs-2Y7BALTO.js +31 -0
  174. package/{setDialogExtraReferencesAction-X4HCPNZL.js → setDialogExtraReferencesAction-A7VA3NFM.js} +15 -13
  175. package/{setPrimaryDialogAgentAction-4GMIQLOD.js → setPrimaryDialogAgentAction-B4P7YQX2.js} +22 -26
  176. package/{chunk-AFUORTY4.js → settingThunks-KOYSAT65.js} +226 -940
  177. package/{skillDiscovery-CYUCJMAG.js → skillDiscovery-ZBU76COE.js} +3 -3
  178. package/{slateUtils-RIZES3PV.js → slateUtils-NGV2NMKM.js} +1 -1
  179. package/{spaceCommands-NKJVJCQQ.js → spaceCommands-QJCYG27F.js} +51 -46
  180. package/{streamAgentChatTurn-XLFZ66UC.js → streamAgentChatTurn-ANE7OTCZ.js} +214 -108
  181. package/{switchDialogAgentAction-N52LRPA3.js → switchDialogAgentAction-3VYWHZKH.js} +18 -19
  182. package/{tableCommands-O6NWHFKV.js → tableCommands-6U4BMLRR.js} +10 -10
  183. package/{toolApiClient-QVJ6HDNN.js → toolApiClient-EJT6TMFG.js} +3 -3
  184. package/tools-WPOVVP7M.js +116 -0
  185. package/{tuiSummaryLlmCaller-WFRWERGK.js → tuiSummaryLlmCaller-QCHCULPM.js} +25 -22
  186. package/{updateCommands-2M74UL7P.js → updateCommands-4EHDLF5J.js} +3 -3
  187. package/{updateDialogTitleAction-6MBTD4UE.js → updateDialogTitleAction-C4GRCXL4.js} +82 -44
  188. package/action-YVYQEAAV.js +0 -31
  189. package/agentListCommands-JP7S7PT2.js +0 -469
  190. package/agentRecordCommands-SXFPW3DL.js +0 -128
  191. package/agentRunCommand-JIQ4HY4D.js +0 -155
  192. package/browser-image-compression-MFDTD7K6.js +0 -1763
  193. package/chatQueueReduxAdapter-HHMUDNXL.js +0 -186
  194. package/chunk-CQ3WA2NE.js +0 -299
  195. package/chunk-M76ECQRD.js +0 -13658
  196. package/chunk-MEYIRKDN.js +0 -8967
  197. package/chunk-Q5FJJ6XI.js +0 -103
  198. package/chunk-S7Z2HMCN.js +0 -25
  199. package/chunk-XVZ22N6C.js +0 -20782
  200. package/chunk-Y5GCAMGP.js +0 -9
  201. package/chunk-YPREESF4.js +0 -225
  202. package/createDialogAction-GFKRXTK4.js +0 -65
  203. package/machineWsRunDispatch-XA7TD7Z7.js +0 -144
  204. package/settingSlice-ZQZVUPKK.js +0 -204
  205. package/syncMapping-N6RGXGBW.js +0 -437
  206. package/tools-NF5AB34X.js +0 -110
  207. package/{chunk-VMFTFOWF.js → chunk-ODAPITXL.js} +7 -7
  208. package/{chunk-X7HHHIOZ.js → chunk-Y6ROFCZO.js} +0 -0
  209. package/{db-WK5MDZVN.js → db-VQSAOWAO.js} +1 -1
@@ -1,3 +1,11 @@
1
+ import {
2
+ scanValidationDetails
3
+ } from "./chunk-BMQ2MJUK.js";
4
+ import {
5
+ CONTEXT_OVERFLOW_ACTIONS,
6
+ CONTEXT_TOO_LARGE_ACTIONS,
7
+ isContextOverflowText
8
+ } from "./chunk-OCZKATRC.js";
1
9
  import {
2
10
  waitForAbortableDelay
3
11
  } from "./chunk-N4G4PKQ6.js";
@@ -6,66 +14,69 @@ import {
6
14
  prepareAndPersistUserMessage,
7
15
  resolveHandleSendMessageContext,
8
16
  selectAllMsgs
9
- } from "./chunk-XVZ22N6C.js";
10
- import "./chunk-MC4XLIJ7.js";
11
- import "./chunk-3BMYXEUW.js";
12
- import "./chunk-YYLHWIW6.js";
17
+ } from "./chunk-4A2R7KHG.js";
18
+ import "./chunk-UKZX3NHN.js";
19
+ import "./chunk-CUF4MYKI.js";
20
+ import "./chunk-523DITKR.js";
13
21
  import "./chunk-AGGIDPCZ.js";
14
22
  import {
15
23
  streamAgentChatTurn
16
- } from "./chunk-3N3W7KBB.js";
17
- import "./chunk-TOP2VXOR.js";
24
+ } from "./chunk-RZJAZVCF.js";
25
+ import "./chunk-2K4TM6AW.js";
18
26
  import "./chunk-5RGU3J7P.js";
19
27
  import {
20
28
  addActiveController,
21
29
  getActiveDialogKey,
22
30
  removeActiveController
23
- } from "./chunk-6YTOJY35.js";
24
- import "./chunk-M76ECQRD.js";
31
+ } from "./chunk-BZ7NPA6G.js";
32
+ import "./chunk-4LCOCOR5.js";
25
33
  import "./chunk-YDH3FDFQ.js";
26
- import "./chunk-4OEFYTWL.js";
27
- import "./chunk-DNCEALKX.js";
28
- import "./chunk-PSCNXBYA.js";
29
- import "./chunk-GQBOR3G6.js";
34
+ import "./chunk-YDO5ERB4.js";
35
+ import "./chunk-A4SQRTZ6.js";
36
+ import "./chunk-IRZTHHNM.js";
37
+ import "./chunk-LB5A6JTU.js";
38
+ import "./chunk-5MMAK75Q.js";
30
39
  import "./chunk-BYXBJQAS.js";
31
- import "./chunk-OIVSQH2O.js";
32
40
  import "./chunk-DWLEOOGR.js";
33
- import "./chunk-HVURBGF3.js";
34
- import "./chunk-ONXOABJR.js";
35
- import "./chunk-W7XHHYWM.js";
36
- import "./chunk-HNMXYYJR.js";
37
- import "./chunk-7S4YWN7P.js";
38
- import "./chunk-ACTMNVHM.js";
39
- import "./chunk-Q67DOFOO.js";
40
- import "./chunk-AFUORTY4.js";
41
- import "./chunk-Y5GCAMGP.js";
42
- import "./chunk-QDSINZM3.js";
41
+ import "./chunk-2H6SEVDS.js";
43
42
  import "./chunk-KX6YBIHG.js";
44
- import "./chunk-V4MJDUSR.js";
43
+ import "./chunk-PSCNXBYA.js";
44
+ import "./chunk-5EPHWMP5.js";
45
45
  import "./chunk-UAD2WT54.js";
46
46
  import {
47
47
  readAndWait,
48
48
  selectById
49
- } from "./chunk-H62HCIUP.js";
49
+ } from "./chunk-56HJ2LAA.js";
50
+ import "./chunk-EV235ILT.js";
51
+ import "./chunk-HNGRBWYF.js";
52
+ import "./chunk-7KVZ5LDQ.js";
53
+ import "./chunk-3BXNTXYI.js";
54
+ import "./chunk-W7XHHYWM.js";
55
+ import "./chunk-HNMXYYJR.js";
56
+ import "./chunk-CYSYR67N.js";
50
57
  import {
51
- createDialogMessageKeyAndId
52
- } from "./chunk-VMFTFOWF.js";
53
- import "./chunk-WWC7I6TA.js";
54
- import "./chunk-ABQYVJBJ.js";
58
+ PLATFORM_LLM_BUSY_USER_MESSAGE
59
+ } from "./chunk-Y3PMXGLH.js";
55
60
  import "./chunk-QSJ3HFEF.js";
56
- import "./chunk-WV42OMV7.js";
61
+ import "./chunk-D2GQE6AF.js";
62
+ import "./chunk-O7SVKKLY.js";
63
+ import "./chunk-D2MDMY2M.js";
57
64
  import "./chunk-BNGW5ASC.js";
58
65
  import {
59
66
  extractCustomId
60
67
  } from "./chunk-M2EJHDJP.js";
61
- import "./chunk-UKWGR5SS.js";
62
- import "./chunk-QOKAKDPE.js";
68
+ import "./chunk-KUG52IAP.js";
69
+ import "./chunk-NWENLDMM.js";
70
+ import {
71
+ createDialogMessageKeyAndId
72
+ } from "./chunk-ODAPITXL.js";
73
+ import "./chunk-WWC7I6TA.js";
74
+ import "./chunk-VY6VFGKR.js";
75
+ import "./chunk-HIM3FCLF.js";
63
76
  import "./chunk-OW765XBU.js";
64
77
  import "./chunk-SEJ5OS6F.js";
65
- import "./chunk-GBRG75BQ.js";
66
- import "./chunk-KUG52IAP.js";
67
- import "./chunk-3EUW3WEO.js";
68
78
  import "./chunk-U6VC4MU4.js";
79
+ import "./chunk-3EUW3WEO.js";
69
80
  import "./chunk-LCBAMY2M.js";
70
81
  import "./chunk-4SN6J65J.js";
71
82
  import "./chunk-CF7PE763.js";
@@ -90,21 +101,6 @@ function asRecord(value) {
90
101
  function asString(value) {
91
102
  return typeof value === "string" && value.length > 0 ? value : void 0;
92
103
  }
93
- function sanitizeSafeUrl(rawUrl) {
94
- if (typeof rawUrl !== "string") return void 0;
95
- const trimmed = rawUrl.trim();
96
- if (/^https?:\/\//i.test(trimmed)) {
97
- try {
98
- const parsed = new URL(trimmed);
99
- if (parsed.protocol === "http:" || parsed.protocol === "https:") {
100
- return trimmed;
101
- }
102
- } catch {
103
- return void 0;
104
- }
105
- }
106
- return void 0;
107
- }
108
104
  function extractFullErrorText(error) {
109
105
  if (!error) return "Unknown error";
110
106
  if (typeof error === "string") return error;
@@ -126,37 +122,7 @@ function extractFullErrorText(error) {
126
122
  return error?.message || error?.error || String(error);
127
123
  }
128
124
  function collectValidationFromDetails(details) {
129
- if (!Array.isArray(details)) return {};
130
- let url;
131
- let text;
132
- let learnMoreUrl;
133
- for (const detail of details) {
134
- const rec = asRecord(detail);
135
- if (!rec) continue;
136
- const metadata = asRecord(rec.metadata);
137
- if (metadata) {
138
- url = url ?? sanitizeSafeUrl(metadata.validation_url);
139
- text = text ?? asString(metadata.validation_url_link_text);
140
- learnMoreUrl = learnMoreUrl ?? sanitizeSafeUrl(metadata.validation_learn_more_url);
141
- }
142
- const help = asRecord(rec);
143
- if (Array.isArray(help.links)) {
144
- for (const link of help.links) {
145
- const linkRec = asRecord(link);
146
- if (!linkRec) continue;
147
- const linkUrl = sanitizeSafeUrl(linkRec.url);
148
- if (!linkUrl) continue;
149
- const desc = asString(linkRec.description);
150
- if (!url && desc && /verify|continue/i.test(desc)) {
151
- url = linkUrl;
152
- text = desc;
153
- } else if (!learnMoreUrl && /learn more/i.test(desc ?? "")) {
154
- learnMoreUrl = linkUrl;
155
- }
156
- }
157
- }
158
- }
159
- return { url, text, learnMoreUrl };
125
+ return scanValidationDetails(details);
160
126
  }
161
127
  function resolveErrorStage(errorText) {
162
128
  if (/127\.0\.0\.1:3233|localhost:3233|desktop daemon|desktop agent runtime|runDesktopAgentRuntime|Local turn stream/i.test(
@@ -218,15 +184,48 @@ function parseSendError(errorInput) {
218
184
  domain = first ? asString(first.domain) : void 0;
219
185
  }
220
186
  const stage = resolveErrorStage(fullErrorText);
187
+ const inputRecord = asRecord(errorInput);
188
+ const authCode = asString(inputRecord?.authCode) ?? asString(inputRecord?.code);
189
+ const hasPlatformAuthCode = /^AUTH_[A-Z0-9_]+$/.test(authCode ?? "") || /\bAUTH_[A-Z0-9_]+\b/.test(fullErrorText);
190
+ const isPlatformProviderFailure = /\bplatform provider failed\b/i.test(fullErrorText);
191
+ const isLoginStatus = statusCode === void 0 || statusCode === 401;
192
+ const requiresLogin = isLoginStatus && !url && !/validation_required|api[_ -]?key/i.test(fullErrorText) && (hasPlatformAuthCode || isPlatformProviderFailure && statusCode === 401);
193
+ if (requiresLogin) {
194
+ return {
195
+ kind: "auth",
196
+ retryable: false,
197
+ stage,
198
+ summary: "\u9700\u8981\u767B\u5F55",
199
+ actionHint: "\u672A\u68C0\u6D4B\u5230\u767B\u5F55\u72B6\u6001\uFF0C\u8BF7\u5148\u767B\u5F55",
200
+ extraLinks: [{ text: "\u53BB\u767B\u5F55", url: "/login" }]
201
+ };
202
+ }
203
+ const isPlatformBusy = fullErrorText.includes(PLATFORM_LLM_BUSY_USER_MESSAGE) || /PLATFORM_LLM_BUSY/i.test(fullErrorText);
204
+ const busyUpstreamDetail = fullErrorText.match(
205
+ /nolo\s+(?:HTTP\s*\d{3}|[A-Za-z]+Error)/
206
+ )?.[0];
221
207
  let kind = "unknown";
222
208
  let retryable = true;
223
209
  const isLocalConnRefused = /ECONNREFUSED/i.test(fullErrorText) && (/127\.0\.0\.1/i.test(fullErrorText) || /localhost/i.test(fullErrorText));
224
210
  const hasExplicitAuthKeywords = /unauthorized|unauthenticated|permission_denied|validation_required|invalid_api_key|api key not found|authentication error|forbidden/i.test(
225
211
  fullErrorText
226
212
  );
227
- if (statusCode === 429) {
213
+ const isContextOverflow = isContextOverflowText(fullErrorText);
214
+ let contextActions;
215
+ if (isContextOverflow) {
216
+ kind = "context_overflow";
217
+ retryable = true;
218
+ contextActions = [...CONTEXT_OVERFLOW_ACTIONS];
219
+ } else if (isPlatformBusy) {
220
+ kind = "server";
221
+ retryable = true;
222
+ } else if (statusCode === 429) {
228
223
  kind = "rate_limit";
229
224
  retryable = true;
225
+ } else if (statusCode === 413) {
226
+ kind = "context_too_large";
227
+ retryable = true;
228
+ contextActions = [...CONTEXT_TOO_LARGE_ACTIONS];
230
229
  } else if (statusCode === 401 || statusCode === 403 || hasExplicitAuthKeywords) {
231
230
  kind = "auth";
232
231
  retryable = false;
@@ -284,7 +283,15 @@ function parseSendError(errorInput) {
284
283
  parts.push(`\u8BA4\u8BC1\u6216\u6743\u9650\u6821\u9A8C\u5931\u8D25${status ? ` (HTTP ${status})` : ""}`);
285
284
  break;
286
285
  case "server":
287
- parts.push(`\u670D\u52A1\u6682\u65F6\u4E0D\u53EF\u7528${status ? ` (HTTP ${status})` : ""}`);
286
+ parts.push(
287
+ isPlatformBusy ? `\u5E73\u53F0\u670D\u52A1\u7E41\u5FD9${busyUpstreamDetail ? `\uFF08\u4E0A\u6E38 ${busyUpstreamDetail}\uFF09` : ""}` : `\u670D\u52A1\u6682\u65F6\u4E0D\u53EF\u7528${status ? ` (HTTP ${status})` : ""}`
288
+ );
289
+ break;
290
+ case "context_overflow":
291
+ parts.push(`\u4E0A\u4E0B\u6587\u8D85\u51FA\u6A21\u578B\u7A97\u53E3${status ? ` (HTTP ${status})` : ""}`);
292
+ break;
293
+ case "context_too_large":
294
+ parts.push(`\u8BF7\u6C42\u5185\u5BB9\u8FC7\u5927${status ? ` (HTTP ${status})` : ""}`);
288
295
  break;
289
296
  default:
290
297
  parts.push(firstLine.length > 0 ? firstLine : "\u53D1\u9001\u9047\u5230\u5F02\u5E38");
@@ -321,11 +328,17 @@ function parseSendError(errorInput) {
321
328
  case "rate_limit":
322
329
  actionHint = "\u5DF2\u8FBE\u5230\u8C03\u7528\u9891\u7387\u6216\u914D\u989D\u9650\u5236\uFF0C\u8BF7\u7A0D\u5019\u7247\u523B\u540E\u91CD\u8BD5";
323
330
  break;
331
+ case "context_overflow":
332
+ actionHint = "\u4E0A\u4E0B\u6587\u8D85\u51FA\u6A21\u578B\u7A97\u53E3\uFF1A\u53EF\u538B\u7F29\u5386\u53F2\u540E\u91CD\u8BD5\u3001\u5F00\u542F\u65B0\u5BF9\u8BDD\uFF0C\u6216\u5207\u6362\u5230\u66F4\u5927\u7A97\u53E3\u7684\u6A21\u578B\u3002";
333
+ break;
334
+ case "context_too_large":
335
+ actionHint = "\u5355\u6B21\u8BF7\u6C42\u5185\u5BB9\u8FC7\u5927\uFF1A\u8BF7\u51CF\u5C11\u53D1\u9001\u7684\u6D88\u606F\u3001\u6587\u4EF6\u6216\u5DE5\u5177\u7ED3\u679C\uFF0C\u6216\u5F00\u542F\u65B0\u5BF9\u8BDD\u3001\u5207\u6362\u6A21\u578B\u3002";
336
+ break;
324
337
  case "auth":
325
338
  actionHint = "\u8BF7\u68C0\u67E5\u8D26\u53F7\u767B\u5F55\u72B6\u6001\u6216 API \u5BC6\u94A5\u914D\u7F6E";
326
339
  break;
327
340
  case "server":
328
- actionHint = "\u670D\u52A1\u7AEF\u53D1\u751F\u77AC\u65F6\u5F02\u5E38\uFF0C\u70B9\u51FB\u91CD\u8BD5\u901A\u5E38\u53EF\u6062\u590D";
341
+ actionHint = isPlatformBusy ? "\u5E73\u53F0\u7B97\u529B\u6682\u65F6\u7D27\u5F20\uFF0C\u7A0D\u5019\u70B9\u51FB\u91CD\u8BD5\u901A\u5E38\u53EF\u6062\u590D" : "\u670D\u52A1\u7AEF\u53D1\u751F\u77AC\u65F6\u5F02\u5E38\uFF0C\u70B9\u51FB\u91CD\u8BD5\u901A\u5E38\u53EF\u6062\u590D";
329
342
  break;
330
343
  case "unknown":
331
344
  default:
@@ -347,7 +360,8 @@ function parseSendError(errorInput) {
347
360
  summary,
348
361
  validationUrl: url,
349
362
  validationLinkText: text ?? "\u9A8C\u8BC1\u6211\u7684\u8D26\u53F7",
350
- extraLinks
363
+ extraLinks,
364
+ ...contextActions ? { actions: contextActions } : {}
351
365
  };
352
366
  }
353
367
  const MAX_FALLBACK = 800;
@@ -359,7 +373,8 @@ function parseSendError(errorInput) {
359
373
  actionHint,
360
374
  summary,
361
375
  extraLinks,
362
- fallbackText
376
+ fallbackText,
377
+ ...contextActions ? { actions: contextActions } : {}
363
378
  };
364
379
  }
365
380
  function buildSendErrorMessageMarkdown(parsed) {
@@ -475,6 +490,11 @@ var finalizeSendFailureInDialog = async (dispatch, dialogConfig, agentKey, error
475
490
  stage: parsed.stage,
476
491
  summary: parsed.summary,
477
492
  actionHint: parsed.actionHint,
493
+ // 上下文超窗 / 内容过大时带上结构化动作(review 修复 2):
494
+ // 没有这个字段,SendErrorCard 的 compact-and-retry / new-dialog /
495
+ // switch-model 三枚按钮永远不会出现,用户只剩一行文本提示。
496
+ // 其余 kind 不设 → 卡片只渲染重试。
497
+ ...parsed.actions ? { actions: parsed.actions } : {},
478
498
  validationUrl: parsed.validationUrl,
479
499
  validationLinkText: parsed.validationLinkText,
480
500
  extraLinks: parsed.extraLinks,
@@ -562,10 +582,14 @@ var handleSendMessageAction = async (args, { dispatch, getState, rejectWithValue
562
582
  dialogKey: dialogConfig.dbKey
563
583
  });
564
584
  }
585
+ const selectedRuntimeTarget = dialogConfig.runtimeBinding?.target;
565
586
  const resolvedContext = resolveHandleSendMessageContext({
566
587
  dialogConfig,
567
588
  targetAgentKey: args.targetAgentKey,
568
- runtimeOptions: args.runtimeOptions
589
+ runtimeOptions: {
590
+ ...args.runtimeOptions,
591
+ ...selectedRuntimeTarget && (selectedRuntimeTarget.kind === "server" || selectedRuntimeTarget.kind === "machine") ? { runtimeTarget: { ...selectedRuntimeTarget, kind: selectedRuntimeTarget.kind } } : {}
592
+ }
569
593
  });
570
594
  agentKeyToUse = resolvedContext.agentKeyToUse;
571
595
  const agentConfigToUse = resolvedContext.agentConfigToUse;