nolo-cli 0.97.0-alpha.2 → 0.97.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/{_executeModel-G2MRKK2K.js → _executeModel-DYHTQJZC.js} +68 -63
- package/{action-YVYQEAAV.js → action-GI44T4DR.js} +10 -10
- package/{addContentAction-O7R66HEX.js → addContentAction-B2DRF7P6.js} +9 -9
- package/{addDialogAgentAction-74OA7KYP.js → addDialogAgentAction-T3I7IXPK.js} +15 -17
- package/{agentDeleteCommand-4427YKQF.js → agentDeleteCommand-LLNNP3AM.js} +47 -43
- package/{agentEmailCommands-RNBKKO7Q.js → agentEmailCommands-EO3H2LDW.js} +90 -82
- package/agentListCommands-J3MWAZWO.js +741 -0
- package/{agentMachineCommands-FOFX5S2Q.js → agentMachineCommands-V65VOQNK.js} +42 -38
- package/{agentProviderCommands-GNPTL5XR.js → agentProviderCommands-EMZCM6VA.js} +1 -1
- package/{agentPullCommand-O5MPVJ5E.js → agentPullCommand-HF4A42D4.js} +1 -1
- package/agentRecordCommands-VY35OMX3.js +136 -0
- package/{agentRunCommand-2W3Q3A7M.js → agentRunCommand-CSEX4QIH.js} +90 -80
- package/{agentRunControl-WCTKX5VL.js → agentRunControl-5T64LM2M.js} +2 -2
- package/{agentRuntimeLocal-IW3IM5P6.js → agentRuntimeLocal-AY6YNUAL.js} +44 -36
- package/{agentSlice-SK47GTN7.js → agentSlice-FOZUXW7X.js} +11 -11
- package/{appDeleteCommands-ZXLXNRHF.js → appDeleteCommands-QTTL3QF3.js} +42 -38
- package/{appDeployCommands-PWB4YERK.js → appDeployCommands-43LJECGV.js} +42 -38
- package/{appDeployStatusCommands-2EZKZP7Y.js → appDeployStatusCommands-L5BKOLYW.js} +42 -38
- package/{appGetCommands-JNUKOWHO.js → appGetCommands-HOFZKOPC.js} +42 -38
- package/{appListCommands-6X3H67SS.js → appListCommands-I7C3SJCE.js} +42 -38
- package/{authCommand-F4EFRRX6.js → authCommand-2YPMMIJN.js} +117 -23
- package/{authCommands-RGOGCPP6.js → authCommands-FFDS4FVX.js} +7 -5
- package/{builtinSkillRegistry-FUAVTRVZ.js → builtinSkillRegistry-CALVIJTX.js} +6 -5
- package/{chatQueueReduxAdapter-ZJ555AT2.js → chatQueueReduxAdapter-NMEZRYC2.js} +30 -29
- package/{chromeCommands-FZYAU75D.js → chromeCommands-K27J4OVZ.js} +124 -28
- package/{chromeOpsCommands-62P2Q2YB.js → chromeOpsCommands-IXRLN57H.js} +4 -3
- package/{chunk-6OZ36FXI.js → chunk-27ONFIEY.js} +22 -4
- package/{chunk-JEDZAO7L.js → chunk-2SYTUTLI.js} +257 -37
- package/{chunk-YQTQQX2H.js → chunk-2UV22D2F.js} +1 -1
- package/{chunk-7D6Z6AA4.js → chunk-3BFMH6GE.js} +6 -7
- package/{chunk-OIVSQH2O.js → chunk-3BXNTXYI.js} +299 -5
- package/{chunk-QIAVMDHY.js → chunk-3LX6YE3P.js} +4 -4
- package/{chunk-EYAQT56M.js → chunk-4DPP773Q.js} +2 -2
- package/chunk-4LCOCOR5.js +50 -0
- package/{chunk-2GRGFCF6.js → chunk-4VJAC32I.js} +2 -1
- package/{chunk-MC4XLIJ7.js → chunk-523DITKR.js} +1 -1
- package/{chunk-E4MARS3Q.js → chunk-5GVBDNTO.js} +1 -1
- package/chunk-5J3PYNUP.js +255 -0
- package/chunk-5MMAK75Q.js +15 -0
- package/{chunk-JPGCXHNM.js → chunk-5OA5HMTL.js} +1 -1
- package/{chunk-42V6BK2E.js → chunk-62IL3KQV.js} +4 -34
- package/{chunk-6YTOJY35.js → chunk-6D2JFXLY.js} +35 -0
- package/{chunk-3BMYXEUW.js → chunk-6O4IK4V2.js} +1 -1
- package/{chunk-IIVGDG4I.js → chunk-6PHKBY2Q.js} +10 -4
- package/{chunk-ASQYTZTR.js → chunk-6ZWMH6TJ.js} +69 -36
- package/{chunk-ABQYVJBJ.js → chunk-7CHC4W22.js} +1 -1
- package/{chunk-GQBOR3G6.js → chunk-7KVZ5LDQ.js} +2 -2
- package/{chunk-SDTTBMBU.js → chunk-7WCQEMPB.js} +888 -1079
- package/{chunk-BLJWCTRL.js → chunk-AOPCEXTB.js} +1 -1
- package/{chunk-3SK4LEIH.js → chunk-AQ3I6DZE.js} +853 -209
- package/{chunk-Q554LLSI.js → chunk-AUDNYVRC.js} +1 -1
- package/{chunk-RG6JBBX5.js → chunk-AWF3WO5R.js} +166 -13
- package/{chunk-GPCZ7UXG.js → chunk-AZRHIN5B.js} +1 -1
- package/chunk-BMQ2MJUK.js +153 -0
- package/{chunk-B4ZH7KVO.js → chunk-C3VLSD4K.js} +236 -36
- package/{chunk-4EZHSKTB.js → chunk-C53ZG23R.js} +2 -2
- package/chunk-CHOZJMJS.js +78 -0
- package/{chunk-HJUYAD4A.js → chunk-CPUFH46E.js} +8 -8
- package/{chunk-LS2ZANRJ.js → chunk-CTUQJVQM.js} +1 -1
- package/{chunk-BP4XNZRM.js → chunk-CU3QB4HW.js} +3 -3
- package/{chunk-ACTMNVHM.js → chunk-CYSYR67N.js} +1 -1
- package/{chunk-KQ4ONNQD.js → chunk-DAWDCRIG.js} +82 -8
- package/{chunk-VLTIYV3X.js → chunk-DCLMZ5TX.js} +4 -4
- package/{chunk-UKZDAFYT.js → chunk-DSSTTEKI.js} +6 -10
- package/{chunk-L7I247DF.js → chunk-EKS2APRJ.js} +21 -5
- package/{chunk-HVURBGF3.js → chunk-ESRMFY7G.js} +2 -2
- package/{chunk-TRV2MIDW.js → chunk-EXAJ6DCR.js} +1 -0
- package/chunk-FD5K6MPI.js +7808 -0
- package/chunk-GMZLP5DV.js +82 -0
- package/{chunk-FDTR4QJ6.js → chunk-H6A6X4EK.js} +32 -1
- package/{chunk-DVINR3PL.js → chunk-HDLLCBRF.js} +1 -1
- package/{chunk-OIMN34NA.js → chunk-HKTIX4ZE.js} +23 -76
- package/{chunk-ONXOABJR.js → chunk-HNGRBWYF.js} +3 -0
- package/{chunk-H62HCIUP.js → chunk-HYZIYH2H.js} +11 -10
- package/{chunk-3VNWWVKB.js → chunk-I3QNET24.js} +30 -17
- package/{chunk-WV42OMV7.js → chunk-IAESIMK7.js} +4 -4
- package/{chunk-O35EJJVP.js → chunk-JJ7P5CIY.js} +56 -34
- package/{chunk-OZPMVBJI.js → chunk-JZ5II5UV.js} +15 -20
- package/{chunk-JRQFUXY7.js → chunk-KCDUTE5V.js} +96 -19
- package/{chunk-QLNJRTKI.js → chunk-KHVJXNRY.js} +100 -100
- package/{chunk-7S4YWN7P.js → chunk-MX574M24.js} +1 -1
- package/{chunk-FZGV4FGK.js → chunk-NUHHBEJC.js} +378 -187
- package/{chunk-53HEEOTT.js → chunk-O26PCYLS.js} +80 -13
- package/{chunk-3DII57IT.js → chunk-O2OWEFII.js} +1 -1
- package/{chunk-TDRTS7QW.js → chunk-O6JPWEEK.js} +77 -17
- package/chunk-OCZKATRC.js +129 -0
- package/{chunk-6D6VBVEW.js → chunk-OTEMQQZI.js} +80 -14
- package/{chunk-ADTY7BWR.js → chunk-OYOWA3CP.js} +24 -5
- package/chunk-P6GMCCAT.js +870 -0
- package/{chunk-R7N5TMTV.js → chunk-PQTSOHBT.js} +13 -13
- package/{chunk-WGR3J4Q6.js → chunk-Q4GP72HX.js} +9 -3
- package/{chunk-DHDMC6FO.js → chunk-QKUMVP3O.js} +11 -6
- package/{chunk-X4QAVDFE.js → chunk-RMAWULCS.js} +498 -480
- package/{chunk-V4MJDUSR.js → chunk-RSEEDUMS.js} +2 -2
- package/{chunk-UZGQNTVW.js → chunk-S5XGT6GB.js} +5 -3
- package/{chunk-76WEAXJB.js → chunk-SACTCJAC.js} +18 -15
- package/{chunk-AFUORTY4.js → chunk-SONWNI3L.js} +21 -21
- package/{chunk-BYMV6QZG.js → chunk-TNIX77YM.js} +4 -0
- package/{chunk-2YMRWISD.js → chunk-TU5NE4U3.js} +9 -84
- package/chunk-TY3TIUJK.js +89 -0
- package/chunk-UEGYKNHO.js +13349 -0
- package/chunk-UNYJU5L6.js +780 -0
- package/{chunk-J4MOO56S.js → chunk-UQNS32WZ.js} +10 -2
- package/chunk-VIWDGTDA.js +8 -0
- package/chunk-VJVNU77E.js +83 -0
- package/{chunk-EHKBVWKL.js → chunk-VYN7O3OY.js} +1 -1
- package/{chunk-NEDZDG3M.js → chunk-WILHZY7K.js} +45 -45
- package/{chunk-UKWGR5SS.js → chunk-WIWM4FE3.js} +187 -398
- package/{chunk-O6OSWFZQ.js → chunk-XUWRURDF.js} +6 -0
- package/{chunk-Q67DOFOO.js → chunk-Y3PMXGLH.js} +2 -0
- package/{chunk-SNPMM7H3.js → chunk-Y6AZRODX.js} +13 -13
- package/{chunk-RSJECD7I.js → chunk-YJKDTJ2X.js} +7 -7
- package/{chunk-SH43IESU.js → chunk-YUNJN43V.js} +44 -9
- package/{chunk-TOP2VXOR.js → chunk-Z4CSIXYP.js} +2 -2
- package/{chunk-2F7RJC6L.js → chunk-ZOVKKMF6.js} +1 -1
- package/chunk-ZRAU6T47.js +56 -0
- package/{chunk-Z77CRGTW.js → chunk-ZYWQNCBN.js} +1 -1
- package/commandRegistry-MRPLKSWP.js +833 -0
- package/{contentThunks-YLWTUILV.js → contentThunks-TD5YOAQM.js} +32 -30
- package/{cooldownCommands-REAWYVTY.js → cooldownCommands-ZLEPIB4A.js} +2 -2
- package/{createAgentAutomationAction-HFLPOBWQ.js → createAgentAutomationAction-XUG62ANM.js} +32 -30
- package/{createDialogAction-4H52MURR.js → createDialogAction-L3CMZKNL.js} +36 -33
- package/{createPageAction-5YDRMJOS.js → createPageAction-WJ3MX6JS.js} +38 -36
- package/{chunk-NUVMWYJM.js → cursorProvider-YGGNMVWX.js} +2494 -9892
- package/{dbSlice-XVWBAGYN.js → dbSlice-DQ32LYTJ.js} +8 -8
- package/{deleteFile-YG6QMJLU.js → deleteFile-NX6QHCWZ.js} +3 -3
- package/{dialogCommands-KFK2FF5B.js → dialogCommands-VM3I4HBW.js} +45 -41
- package/{dialogSlice-TMSHUGEM.js → dialogSlice-DSHG3YUE.js} +36 -29
- package/{dist-VODFSGNG.js → dist-NJC2W7I4.js} +61 -54
- package/{docCreateCommands-V777WOZ7.js → docCreateCommands-TYUJPCOP.js} +44 -40
- package/{docDeleteCommands-5KHT7Z5Q.js → docDeleteCommands-5XEG2LXO.js} +44 -40
- package/{docReadCommands-BLROGWP3.js → docReadCommands-M6RO6QHV.js} +43 -39
- package/{docStore-OBC5QOW7.js → docStore-RYOGMPEF.js} +11 -10
- package/{docUpdateCommands-QXOZHQ5H.js → docUpdateCommands-DKOFTZRX.js} +44 -40
- package/{fetchMessages-EIU7UFFK.js → fetchMessages-67MEFPZR.js} +2 -2
- package/{getPricing-LUSEABA6.js → getPricing-NMMFT3YI.js} +3 -3
- package/{handleSendMessageAction-4LGNXH6T.js → handleSendMessageAction-XH742B27.js} +91 -83
- package/index.js +87 -884
- package/{localDialogRead-BTFJ4V2I.js → localDialogRead-EBRS242U.js} +2 -2
- package/{localRuntimeAuthority-6IR6BBXE.js → localRuntimeAuthority-5W6IJRAD.js} +6 -6
- package/{localRuntimeDb-SYQGUF4U.js → localRuntimeDb-3LRMNLCM.js} +1 -1
- package/{machineCommands-SNLCRHQK.js → machineCommands-BKYVMMEG.js} +85 -77
- package/{machineWsRunDispatch-ZGZVDQSO.js → machineWsRunDispatch-QOBSQQ72.js} +82 -74
- package/{memberThunks-QGFLFVCI.js → memberThunks-5ZXPR63F.js} +9 -9
- package/{models-T3SG6MJ5.js → models-ZPU5EDF4.js} +2 -2
- package/oauthTokenStore-ITEB663N.js +23 -0
- package/package.json +1 -1
- package/pdf-U6KSUEZZ.js +26435 -0
- package/processSpawn-SOAV3FEV.js +11 -0
- package/profileConfig-ZGOFORWV.js +43 -0
- package/{providerPresetApply-FG6NZ57W.js → providerPresetApply-76AVU3HD.js} +7 -7
- package/{providerRegistry-757OWH3O.js → providerRegistry-Z62NC45X.js} +11 -7
- package/{read-COE3ZYR6.js → read-EPTJRAEF.js} +5 -5
- package/{readDocTool-5USN4A6V.js → readDocTool-W4NDXNEX.js} +5 -3
- package/{readlineWorkspace-OUL7ZN7D.js → readlineWorkspace-7P7IORIT.js} +2447 -2022
- package/{removeDialogAgentAction-IX3MN2ZO.js → removeDialogAgentAction-BVAWQKXE.js} +17 -19
- package/{runAgentClientLoop-GD3APV7V.js → runAgentClientLoop-7WXN6I7L.js} +62 -58
- package/{runtimeDoctorCommands-X6WDBEQX.js → runtimeDoctorCommands-3USD722U.js} +3 -3
- package/runtimeModeArgs-2Y7BALTO.js +31 -0
- package/{setDialogExtraReferencesAction-X4HCPNZL.js → setDialogExtraReferencesAction-LYY45IAD.js} +12 -11
- package/{setPrimaryDialogAgentAction-4GMIQLOD.js → setPrimaryDialogAgentAction-73IL7DLU.js} +18 -20
- package/{settingSlice-ZQZVUPKK.js → settingSlice-Q6EKL7EQ.js} +9 -9
- package/{skillDiscovery-CYUCJMAG.js → skillDiscovery-ZBU76COE.js} +3 -3
- package/{spaceCommands-TIDVUPDV.js → spaceCommands-QFP4ZXKG.js} +44 -40
- package/{streamAgentChatTurn-M73KWCCU.js → streamAgentChatTurn-B4PXPJJS.js} +184 -91
- package/{switchDialogAgentAction-N52LRPA3.js → switchDialogAgentAction-UUXDSQ6X.js} +15 -17
- package/{tableCommands-O6NWHFKV.js → tableCommands-G7RV3RU3.js} +4 -4
- package/{toolApiClient-QVJ6HDNN.js → toolApiClient-INIQCPGY.js} +3 -3
- package/{tools-DXXDQ2CP.js → tools-QFS2L7BU.js} +55 -51
- package/{tuiSummaryLlmCaller-VJY3YD2Q.js → tuiSummaryLlmCaller-74NRRLVW.js} +18 -16
- package/{updateCommands-2M74UL7P.js → updateCommands-4EHDLF5J.js} +3 -3
- package/{updateDialogTitleAction-XI73NQMU.js → updateDialogTitleAction-HTDYCNNZ.js} +81 -43
- package/agentListCommands-O4AEMQVV.js +0 -406
- package/agentRecordCommands-6QK7AMXQ.js +0 -128
- package/chunk-M76ECQRD.js +0 -13658
- package/chunk-Q5FJJ6XI.js +0 -103
- package/chunk-S7Z2HMCN.js +0 -25
- package/chunk-WRFW73PB.js +0 -18881
- package/{chunk-VMFTFOWF.js → chunk-3AH7LNUB.js} +7 -7
- package/{chunk-X7HHHIOZ.js → chunk-Y6ROFCZO.js} +0 -0
- package/{db-WK5MDZVN.js → db-VQSAOWAO.js} +1 -1
|
@@ -1,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,64 +14,67 @@ import {
|
|
|
6
14
|
prepareAndPersistUserMessage,
|
|
7
15
|
resolveHandleSendMessageContext,
|
|
8
16
|
selectAllMsgs
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-3BMYXEUW.js";
|
|
17
|
+
} from "./chunk-UEGYKNHO.js";
|
|
18
|
+
import "./chunk-523DITKR.js";
|
|
12
19
|
import "./chunk-YYLHWIW6.js";
|
|
13
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-6O4IK4V2.js";
|
|
14
21
|
import {
|
|
15
22
|
streamAgentChatTurn
|
|
16
|
-
} from "./chunk-
|
|
17
|
-
import "./chunk-
|
|
23
|
+
} from "./chunk-YJKDTJ2X.js";
|
|
24
|
+
import "./chunk-Z4CSIXYP.js";
|
|
18
25
|
import "./chunk-5RGU3J7P.js";
|
|
26
|
+
import "./chunk-4LCOCOR5.js";
|
|
19
27
|
import {
|
|
20
28
|
addActiveController,
|
|
21
29
|
getActiveDialogKey,
|
|
22
30
|
removeActiveController
|
|
23
|
-
} from "./chunk-
|
|
24
|
-
import "./chunk-M76ECQRD.js";
|
|
31
|
+
} from "./chunk-6D2JFXLY.js";
|
|
25
32
|
import "./chunk-YDH3FDFQ.js";
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import "./chunk-
|
|
33
|
+
import "./chunk-MX574M24.js";
|
|
34
|
+
import "./chunk-AGGIDPCZ.js";
|
|
35
|
+
import "./chunk-WILHZY7K.js";
|
|
36
|
+
import "./chunk-6ZWMH6TJ.js";
|
|
37
|
+
import "./chunk-5MMAK75Q.js";
|
|
28
38
|
import "./chunk-PSCNXBYA.js";
|
|
29
|
-
import "./chunk-
|
|
39
|
+
import "./chunk-ESRMFY7G.js";
|
|
30
40
|
import "./chunk-BYXBJQAS.js";
|
|
31
|
-
import "./chunk-OIVSQH2O.js";
|
|
32
41
|
import "./chunk-DWLEOOGR.js";
|
|
33
|
-
import "./chunk-
|
|
34
|
-
import "./chunk-ONXOABJR.js";
|
|
35
|
-
import "./chunk-W7XHHYWM.js";
|
|
42
|
+
import "./chunk-7KVZ5LDQ.js";
|
|
36
43
|
import "./chunk-HNMXYYJR.js";
|
|
37
|
-
import "./chunk-
|
|
38
|
-
import "./chunk-
|
|
39
|
-
import "./chunk-
|
|
40
|
-
import "./chunk-
|
|
44
|
+
import "./chunk-3BXNTXYI.js";
|
|
45
|
+
import "./chunk-W7XHHYWM.js";
|
|
46
|
+
import "./chunk-RSEEDUMS.js";
|
|
47
|
+
import "./chunk-UAD2WT54.js";
|
|
48
|
+
import "./chunk-HNGRBWYF.js";
|
|
49
|
+
import "./chunk-CYSYR67N.js";
|
|
50
|
+
import {
|
|
51
|
+
PLATFORM_LLM_BUSY_USER_MESSAGE
|
|
52
|
+
} from "./chunk-Y3PMXGLH.js";
|
|
53
|
+
import "./chunk-SONWNI3L.js";
|
|
41
54
|
import "./chunk-Y5GCAMGP.js";
|
|
42
55
|
import "./chunk-QDSINZM3.js";
|
|
43
56
|
import "./chunk-KX6YBIHG.js";
|
|
44
|
-
import "./chunk-V4MJDUSR.js";
|
|
45
|
-
import "./chunk-UAD2WT54.js";
|
|
46
57
|
import {
|
|
47
58
|
readAndWait,
|
|
48
59
|
selectById
|
|
49
|
-
} from "./chunk-
|
|
60
|
+
} from "./chunk-HYZIYH2H.js";
|
|
61
|
+
import "./chunk-7CHC4W22.js";
|
|
50
62
|
import {
|
|
51
63
|
createDialogMessageKeyAndId
|
|
52
|
-
} from "./chunk-
|
|
64
|
+
} from "./chunk-3AH7LNUB.js";
|
|
53
65
|
import "./chunk-WWC7I6TA.js";
|
|
54
|
-
import "./chunk-ABQYVJBJ.js";
|
|
55
66
|
import "./chunk-QSJ3HFEF.js";
|
|
56
|
-
import "./chunk-
|
|
57
|
-
import "./chunk-
|
|
58
|
-
import {
|
|
59
|
-
extractCustomId
|
|
60
|
-
} from "./chunk-M2EJHDJP.js";
|
|
61
|
-
import "./chunk-UKWGR5SS.js";
|
|
67
|
+
import "./chunk-IAESIMK7.js";
|
|
68
|
+
import "./chunk-WIWM4FE3.js";
|
|
62
69
|
import "./chunk-QOKAKDPE.js";
|
|
63
|
-
import "./chunk-OW765XBU.js";
|
|
64
70
|
import "./chunk-SEJ5OS6F.js";
|
|
71
|
+
import "./chunk-OW765XBU.js";
|
|
65
72
|
import "./chunk-GBRG75BQ.js";
|
|
66
73
|
import "./chunk-KUG52IAP.js";
|
|
74
|
+
import "./chunk-BNGW5ASC.js";
|
|
75
|
+
import {
|
|
76
|
+
extractCustomId
|
|
77
|
+
} from "./chunk-M2EJHDJP.js";
|
|
67
78
|
import "./chunk-3EUW3WEO.js";
|
|
68
79
|
import "./chunk-U6VC4MU4.js";
|
|
69
80
|
import "./chunk-LCBAMY2M.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
|
-
|
|
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,32 @@ function parseSendError(errorInput) {
|
|
|
218
184
|
domain = first ? asString(first.domain) : void 0;
|
|
219
185
|
}
|
|
220
186
|
const stage = resolveErrorStage(fullErrorText);
|
|
187
|
+
const isPlatformBusy = fullErrorText.includes(PLATFORM_LLM_BUSY_USER_MESSAGE) || /PLATFORM_LLM_BUSY/i.test(fullErrorText);
|
|
188
|
+
const busyUpstreamDetail = fullErrorText.match(
|
|
189
|
+
/nolo\s+(?:HTTP\s*\d{3}|[A-Za-z]+Error)/
|
|
190
|
+
)?.[0];
|
|
221
191
|
let kind = "unknown";
|
|
222
192
|
let retryable = true;
|
|
223
193
|
const isLocalConnRefused = /ECONNREFUSED/i.test(fullErrorText) && (/127\.0\.0\.1/i.test(fullErrorText) || /localhost/i.test(fullErrorText));
|
|
224
194
|
const hasExplicitAuthKeywords = /unauthorized|unauthenticated|permission_denied|validation_required|invalid_api_key|api key not found|authentication error|forbidden/i.test(
|
|
225
195
|
fullErrorText
|
|
226
196
|
);
|
|
227
|
-
|
|
197
|
+
const isContextOverflow = isContextOverflowText(fullErrorText);
|
|
198
|
+
let contextActions;
|
|
199
|
+
if (isContextOverflow) {
|
|
200
|
+
kind = "context_overflow";
|
|
201
|
+
retryable = true;
|
|
202
|
+
contextActions = [...CONTEXT_OVERFLOW_ACTIONS];
|
|
203
|
+
} else if (isPlatformBusy) {
|
|
204
|
+
kind = "server";
|
|
205
|
+
retryable = true;
|
|
206
|
+
} else if (statusCode === 429) {
|
|
228
207
|
kind = "rate_limit";
|
|
229
208
|
retryable = true;
|
|
209
|
+
} else if (statusCode === 413) {
|
|
210
|
+
kind = "context_too_large";
|
|
211
|
+
retryable = true;
|
|
212
|
+
contextActions = [...CONTEXT_TOO_LARGE_ACTIONS];
|
|
230
213
|
} else if (statusCode === 401 || statusCode === 403 || hasExplicitAuthKeywords) {
|
|
231
214
|
kind = "auth";
|
|
232
215
|
retryable = false;
|
|
@@ -284,7 +267,15 @@ function parseSendError(errorInput) {
|
|
|
284
267
|
parts.push(`\u8BA4\u8BC1\u6216\u6743\u9650\u6821\u9A8C\u5931\u8D25${status ? ` (HTTP ${status})` : ""}`);
|
|
285
268
|
break;
|
|
286
269
|
case "server":
|
|
287
|
-
parts.push(
|
|
270
|
+
parts.push(
|
|
271
|
+
isPlatformBusy ? `\u5E73\u53F0\u670D\u52A1\u7E41\u5FD9${busyUpstreamDetail ? `\uFF08\u4E0A\u6E38 ${busyUpstreamDetail}\uFF09` : ""}` : `\u670D\u52A1\u6682\u65F6\u4E0D\u53EF\u7528${status ? ` (HTTP ${status})` : ""}`
|
|
272
|
+
);
|
|
273
|
+
break;
|
|
274
|
+
case "context_overflow":
|
|
275
|
+
parts.push(`\u4E0A\u4E0B\u6587\u8D85\u51FA\u6A21\u578B\u7A97\u53E3${status ? ` (HTTP ${status})` : ""}`);
|
|
276
|
+
break;
|
|
277
|
+
case "context_too_large":
|
|
278
|
+
parts.push(`\u8BF7\u6C42\u5185\u5BB9\u8FC7\u5927${status ? ` (HTTP ${status})` : ""}`);
|
|
288
279
|
break;
|
|
289
280
|
default:
|
|
290
281
|
parts.push(firstLine.length > 0 ? firstLine : "\u53D1\u9001\u9047\u5230\u5F02\u5E38");
|
|
@@ -321,11 +312,17 @@ function parseSendError(errorInput) {
|
|
|
321
312
|
case "rate_limit":
|
|
322
313
|
actionHint = "\u5DF2\u8FBE\u5230\u8C03\u7528\u9891\u7387\u6216\u914D\u989D\u9650\u5236\uFF0C\u8BF7\u7A0D\u5019\u7247\u523B\u540E\u91CD\u8BD5";
|
|
323
314
|
break;
|
|
315
|
+
case "context_overflow":
|
|
316
|
+
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";
|
|
317
|
+
break;
|
|
318
|
+
case "context_too_large":
|
|
319
|
+
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";
|
|
320
|
+
break;
|
|
324
321
|
case "auth":
|
|
325
322
|
actionHint = "\u8BF7\u68C0\u67E5\u8D26\u53F7\u767B\u5F55\u72B6\u6001\u6216 API \u5BC6\u94A5\u914D\u7F6E";
|
|
326
323
|
break;
|
|
327
324
|
case "server":
|
|
328
|
-
actionHint = "\u670D\u52A1\u7AEF\u53D1\u751F\u77AC\u65F6\u5F02\u5E38\uFF0C\u70B9\u51FB\u91CD\u8BD5\u901A\u5E38\u53EF\u6062\u590D";
|
|
325
|
+
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
326
|
break;
|
|
330
327
|
case "unknown":
|
|
331
328
|
default:
|
|
@@ -347,7 +344,8 @@ function parseSendError(errorInput) {
|
|
|
347
344
|
summary,
|
|
348
345
|
validationUrl: url,
|
|
349
346
|
validationLinkText: text ?? "\u9A8C\u8BC1\u6211\u7684\u8D26\u53F7",
|
|
350
|
-
extraLinks
|
|
347
|
+
extraLinks,
|
|
348
|
+
...contextActions ? { actions: contextActions } : {}
|
|
351
349
|
};
|
|
352
350
|
}
|
|
353
351
|
const MAX_FALLBACK = 800;
|
|
@@ -359,7 +357,8 @@ function parseSendError(errorInput) {
|
|
|
359
357
|
actionHint,
|
|
360
358
|
summary,
|
|
361
359
|
extraLinks,
|
|
362
|
-
fallbackText
|
|
360
|
+
fallbackText,
|
|
361
|
+
...contextActions ? { actions: contextActions } : {}
|
|
363
362
|
};
|
|
364
363
|
}
|
|
365
364
|
function buildSendErrorMessageMarkdown(parsed) {
|
|
@@ -475,6 +474,11 @@ var finalizeSendFailureInDialog = async (dispatch, dialogConfig, agentKey, error
|
|
|
475
474
|
stage: parsed.stage,
|
|
476
475
|
summary: parsed.summary,
|
|
477
476
|
actionHint: parsed.actionHint,
|
|
477
|
+
// 上下文超窗 / 内容过大时带上结构化动作(review 修复 2):
|
|
478
|
+
// 没有这个字段,SendErrorCard 的 compact-and-retry / new-dialog /
|
|
479
|
+
// switch-model 三枚按钮永远不会出现,用户只剩一行文本提示。
|
|
480
|
+
// 其余 kind 不设 → 卡片只渲染重试。
|
|
481
|
+
...parsed.actions ? { actions: parsed.actions } : {},
|
|
478
482
|
validationUrl: parsed.validationUrl,
|
|
479
483
|
validationLinkText: parsed.validationLinkText,
|
|
480
484
|
extraLinks: parsed.extraLinks,
|
|
@@ -562,10 +566,14 @@ var handleSendMessageAction = async (args, { dispatch, getState, rejectWithValue
|
|
|
562
566
|
dialogKey: dialogConfig.dbKey
|
|
563
567
|
});
|
|
564
568
|
}
|
|
569
|
+
const selectedRuntimeTarget = dialogConfig.runtimeBinding?.target;
|
|
565
570
|
const resolvedContext = resolveHandleSendMessageContext({
|
|
566
571
|
dialogConfig,
|
|
567
572
|
targetAgentKey: args.targetAgentKey,
|
|
568
|
-
runtimeOptions:
|
|
573
|
+
runtimeOptions: {
|
|
574
|
+
...args.runtimeOptions,
|
|
575
|
+
...selectedRuntimeTarget && (selectedRuntimeTarget.kind === "server" || selectedRuntimeTarget.kind === "machine") ? { runtimeTarget: selectedRuntimeTarget } : {}
|
|
576
|
+
}
|
|
569
577
|
});
|
|
570
578
|
agentKeyToUse = resolvedContext.agentKeyToUse;
|
|
571
579
|
const agentConfigToUse = resolvedContext.agentConfigToUse;
|