nolo-cli 0.54.0-alpha.1 → 0.54.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/{_executeModel-IVEOJ7L6.js → _executeModel-OPTKYHJA.js} +53 -48
- package/{action-IU6ON7ZB.js → action-ORXWW2ZG.js} +9 -9
- package/{addContentAction-5V5CCI3I.js → addContentAction-53BZ34AE.js} +9 -8
- package/{addDialogAgentAction-KF3KZZNZ.js → addDialogAgentAction-JRYUS54Y.js} +11 -10
- package/{agentDeleteCommand-D7AFLKQN.js → agentDeleteCommand-FJIWU2BS.js} +31 -29
- package/{agentEmailCommands-MXFZGF54.js → agentEmailCommands-CE32L43B.js} +62 -58
- package/{agentListCommands-MP732Q23.js → agentListCommands-VJNKULIK.js} +43 -34
- package/{agentMachineCommands-352JFJX4.js → agentMachineCommands-HCJ3WQXL.js} +31 -29
- package/agentRecordCommands-QFWERED4.js +119 -0
- package/{agentRunCommand-UUWJMH7J.js → agentRunCommand-G3GQMUNN.js} +70 -59
- package/{agentRunControl-4GHHSXFZ.js → agentRunControl-INKFDXDA.js} +3 -1
- package/{agentRuntimeLocal-KWBPJ53H.js → agentRuntimeLocal-K327ELSL.js} +31 -27
- package/{agentSlice-V742SNKC.js → agentSlice-ODKF4J6M.js} +9 -9
- package/{agentSuperviseCommands-VB6BUS5H.js → agentSuperviseCommands-5AR3DKNN.js} +2 -2
- package/{appDeleteCommands-GV4TF52A.js → appDeleteCommands-XUXMFDI4.js} +32 -30
- package/{appDeployCommands-EZMUPNSW.js → appDeployCommands-37F4GPCU.js} +32 -30
- package/{appDeployStatusCommands-AAGELKAN.js → appDeployStatusCommands-WSPU7TUK.js} +32 -30
- package/{appGetCommands-W37KDAON.js → appGetCommands-YLOBA3EM.js} +32 -30
- package/{appListCommands-IFDWBBNV.js → appListCommands-UD62R5ME.js} +32 -30
- package/{authCommand-5HM57KPL.js → authCommand-OK6HLHGS.js} +13 -13
- package/{authCommands-SBQVTD6V.js → authCommands-2DUIUEMT.js} +2 -2
- package/{chatQueueReduxAdapter-ZXXP6E4O.js → chatQueueReduxAdapter-TV2TUOQS.js} +28 -25
- package/{chunk-7CH6U3FL.js → chunk-2GRGFCF6.js} +2 -4
- package/{chunk-T27IEBNQ.js → chunk-2QDDKFG5.js} +74 -1
- package/{chunk-2JYSSXLY.js → chunk-2WBFJHQA.js} +5 -27
- package/{chunk-FZMM2KZC.js → chunk-3LKZRP7E.js} +2 -2
- package/{chunk-WUMYQ2FE.js → chunk-3Y2K5O2R.js} +64 -6
- package/{chunk-5XCW6RQG.js → chunk-3ZTR7ZO4.js} +1 -1
- package/{chunk-W6N3GLUU.js → chunk-5FCIPEKT.js} +327 -149
- package/{chunk-B54WOZ77.js → chunk-5UAYZEXO.js} +2 -2
- package/{chunk-5SXS7T5Q.js → chunk-6COJEAYH.js} +36 -105
- package/{chunk-PEMGYJNS.js → chunk-6HDYSFLO.js} +4 -6
- package/{chunk-6XIE5ZGI.js → chunk-6HIGYUBQ.js} +1 -1
- package/chunk-6IGD47IC.js +19 -0
- package/chunk-6YTOJY35.js +352 -0
- package/{chunk-6FGXGFAH.js → chunk-75MSWWUE.js} +1 -1
- package/{chunk-ALMVQQPG.js → chunk-7FAS3NEF.js} +17 -17
- package/{chunk-76UA7376.js → chunk-7NYDJAQ7.js} +20 -15
- package/{chunk-2T6XO4PK.js → chunk-A65UV3M5.js} +4 -4
- package/{chunk-V2IPBG5U.js → chunk-AA564GBL.js} +2 -2
- package/{chunk-SQTVMYMU.js → chunk-AUVFJGPC.js} +4 -4
- package/{chunk-HR5XDXYM.js → chunk-BBTN4NQD.js} +4 -4
- package/{chunk-CULR4XB4.js → chunk-BG7J6Y5X.js} +1 -1
- package/chunk-BY2FF2C4.js +526 -0
- package/{chunk-FA4SY4F5.js → chunk-BYEJ7K2Z.js} +1 -1
- package/chunk-BYXBJQAS.js +0 -0
- package/{chunk-3AOLVADY.js → chunk-DVINR3PL.js} +1 -1
- package/{chunk-DIQCV4FR.js → chunk-EA5OYZVD.js} +1 -1
- package/{chunk-RO2IUWZE.js → chunk-EICIFHVS.js} +1 -1
- package/chunk-EJE33XNR.js +19059 -0
- package/{chunk-M2CGG6VJ.js → chunk-EVBFYPDC.js} +1 -1
- package/{chunk-KHCLMKZZ.js → chunk-EY7V7REW.js} +280 -6
- package/{chunk-MC66ASS6.js → chunk-FJHMLRDQ.js} +12 -12
- package/{chunk-YFHUQLJF.js → chunk-GRFK2XP4.js} +2 -2
- package/{chunk-J3UALFHL.js → chunk-HJTAGT3W.js} +1 -1
- package/{chunk-J7KVJAUQ.js → chunk-HPW5MNDQ.js} +38 -99
- package/{chunk-H2G6JXTR.js → chunk-HQUORJTM.js} +1 -1
- package/{chunk-OYNDYVSE.js → chunk-JON2PHYT.js} +1 -1
- package/{chunk-RBJD33HM.js → chunk-JXIP6ZWH.js} +7 -7
- package/{chunk-PTHLNXGY.js → chunk-K4NISKOR.js} +46 -8
- package/{chunk-5Y5G76BJ.js → chunk-KLIBF3BY.js} +2 -2
- package/chunk-LRGKOI5Y.js +297 -0
- package/{chunk-OU7NGN5Y.js → chunk-MLEZPE3U.js} +2 -2
- package/{chunk-4RXXP6WD.js → chunk-MYMBBB6Q.js} +5 -64
- package/{chunk-ET7BXWAW.js → chunk-N4JKMCY3.js} +2 -2
- package/{chunk-45E65JER.js → chunk-NFLA6GSU.js} +4 -4
- package/{chunk-SVEUG45B.js → chunk-NHRQCXIQ.js} +0 -24
- package/{chunk-WJV3G7BM.js → chunk-NJUQBYFJ.js} +3 -1
- package/{chunk-LGUQHYAL.js → chunk-O5FLGN2L.js} +3 -2
- package/{chunk-Q24S4NDF.js → chunk-Q4XZVZPN.js} +1 -1
- package/{chunk-L3JWI7WX.js → chunk-QOKAKDPE.js} +15 -11
- package/{chunk-VM7K5EJL.js → chunk-RHMDMTDK.js} +2 -2
- package/{chunk-YZ2WE6CW.js → chunk-SAJSBPI2.js} +2 -2
- package/{chunk-WHVQA7PJ.js → chunk-SSXTSPSG.js} +27 -6
- package/chunk-SUEIAK5N.js +2574 -0
- package/{chunk-X7S7OFUX.js → chunk-SVC3GGUA.js} +6 -6
- package/{chunk-7UFH6THF.js → chunk-SVDMVX4G.js} +118 -2
- package/{chunk-ZMV5PCRS.js → chunk-SWJGJMTW.js} +1 -1
- package/{chunk-DQLYEGP7.js → chunk-SYYUU7EV.js} +2 -2
- package/{chunk-K7CNV7GI.js → chunk-TC6P4NDR.js} +7 -7
- package/{chunk-SUFDWBLV.js → chunk-TR4DXUYX.js} +1988 -452
- package/{chunk-BANYWEYY.js → chunk-TY3ADTX5.js} +1 -1
- package/chunk-UAD2WT54.js +64 -0
- package/{chunk-HCBQVVFZ.js → chunk-UGBHDMHI.js} +4 -4
- package/{chunk-R63FNYSI.js → chunk-UOWXD4VN.js} +851 -970
- package/{chunk-GBXR3CSM.js → chunk-UR66XPVF.js} +3 -3
- package/{chunk-6BYAXNH5.js → chunk-VZMUOPYG.js} +12 -2
- package/{chunk-RVHPY5PC.js → chunk-WQHGJHAL.js} +441 -2982
- package/chunk-XIJZOCSP.js +1766 -0
- package/{chunk-HHBXCRJS.js → chunk-XOJRZUPF.js} +4 -4
- package/{chunk-BKPUPZ6W.js → chunk-YBFJQC2M.js} +95 -778
- package/{chunk-MRWGHF56.js → chunk-YDH3FDFQ.js} +12 -356
- package/{chunk-SG65C33A.js → chunk-YLCUU3WM.js} +4 -4
- package/{chunk-XXZULHJ7.js → chunk-YQBXOHE6.js} +1 -1
- package/chunk-ZJ7UHBJS.js +89 -0
- package/{chunk-TNPCQNGQ.js → chunk-ZVOHVJI3.js} +4 -9
- package/{codingSkills-BYQI6EPT.js → codingSkills-BCQXRZOI.js} +3 -4
- package/contentThunks-KNI6VXLT.js +71 -0
- package/{createAgentAutomationAction-LE3ZYDT6.js → createAgentAutomationAction-OK4L33KF.js} +29 -25
- package/createDialogAction-JDSMY4AY.js +62 -0
- package/{createPageAction-X4C7K3OD.js → createPageAction-T7RA3HCG.js} +32 -28
- package/{dbSlice-FWF5F4L7.js → dbSlice-TVX6SN2T.js} +7 -7
- package/{deleteFile-NPZ64DFN.js → deleteFile-JYKRT7C3.js} +4 -4
- package/{dialogCommands-CP2U44A7.js → dialogCommands-UQZYWOOV.js} +33 -31
- package/{dialogSlice-2SH5636X.js → dialogSlice-TYW2G7IL.js} +28 -25
- package/{docCreateCommands-A2KIJSF7.js → docCreateCommands-OA6HZBWO.js} +37 -36
- package/{docDeleteCommands-NZ7XO4Z4.js → docDeleteCommands-KBB3YQI2.js} +34 -33
- package/{docReadCommands-VWVK4ZAR.js → docReadCommands-ZLMFVC67.js} +33 -32
- package/{docStore-J6GQYKHS.js → docStore-2URPBVCS.js} +9 -34
- package/{docUpdateCommands-YTUEC6PN.js → docUpdateCommands-HMH5KUON.js} +37 -36
- package/{fetchMessages-KZQVBXKY.js → fetchMessages-DRABNDPZ.js} +3 -3
- package/{getPricing-I53UFOPH.js → getPricing-RFOPUWHY.js} +4 -4
- package/{handleSendMessageAction-MD325XZS.js → handleSendMessageAction-GO53TY7U.js} +30 -27
- package/index.js +67 -67
- package/{localDialogRead-NQ33HBSI.js → localDialogRead-PUQKFI73.js} +1 -1
- package/{machineCommands-TCNZV2DC.js → machineCommands-RK6L7ZWL.js} +64 -60
- package/{machineWsRunDispatch-QSX5IWPH.js → machineWsRunDispatch-3X64DW2Z.js} +59 -55
- package/memberThunks-THZYZFSN.js +638 -0
- package/{models-E2CYP4IB.js → models-JVKUEER5.js} +2 -2
- package/package.json +2 -3
- package/{read-J7RVVCHH.js → read-K4JU4MQC.js} +4 -4
- package/{readDocTool-G2WBM4IH.js → readDocTool-LQGR6FUN.js} +1 -1
- package/{readlineWorkspace-N3RGX7EK.js → readlineWorkspace-XUFJV3RS.js} +1005 -437
- package/{removeDialogAgentAction-RMPISD42.js → removeDialogAgentAction-ECHCFB7N.js} +13 -12
- package/{runAgentClientLoop-R3NTOERA.js → runAgentClientLoop-24GQ2AW6.js} +51 -46
- package/{setDialogExtraReferencesAction-7BUTHDAL.js → setDialogExtraReferencesAction-KCVJNGMB.js} +10 -9
- package/{setPrimaryDialogAgentAction-WCYIBGZ4.js → setPrimaryDialogAgentAction-VDOBOMKC.js} +13 -12
- package/{settingSlice-7NN2MI6Y.js → settingSlice-VR2IJSXC.js} +8 -8
- package/{skillDiscovery-COX56OBO.js → skillDiscovery-2QTZINON.js} +3 -4
- package/{spaceCommands-RC7XMYQ7.js → spaceCommands-S5YJJXL7.js} +31 -29
- package/{streamAgentChatTurn-WLWEBWSF.js → streamAgentChatTurn-QHKP3ABO.js} +82 -70
- package/{switchDialogAgentAction-WGMMQHDI.js → switchDialogAgentAction-5L4UP7VI.js} +11 -10
- package/{tableCommands-P2TXJ3CF.js → tableCommands-R6WFRDYF.js} +1 -1
- package/{toolApiClient-B2MFXMEG.js → toolApiClient-53U4UDFF.js} +3 -2
- package/{tools-LSLDSUWU.js → tools-SSXSTC3O.js} +42 -38
- package/{tuiSummaryLlmCaller-TPBL4BV2.js → tuiSummaryLlmCaller-URFJHFC5.js} +19 -17
- package/{updateDialogTitleAction-4HJEARM7.js → updateDialogTitleAction-YFYAEW3T.js} +30 -26
- package/agentRecordCommands-G6EFHU3G.js +0 -115
- package/chunk-AETZ7AD6.js +0 -274
- package/chunk-DMCFF4KE.js +0 -435
- package/chunk-EUG45QJR.js +0 -6104
- package/chunk-J4Z6UI4C.js +0 -7076
- package/chunk-OFZPJ3NT.js +0 -114
- package/createDialogAction-2C6SR62D.js +0 -59
- package/spaceSlice-KBVKKO3M.js +0 -127
- package/{chunk-NQ4N4IGO.js → chunk-CS6TCJ7E.js} +3 -3
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
defaultOpenBrowser
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-75MSWWUE.js";
|
|
4
4
|
import {
|
|
5
5
|
generateCloudflareEmailRoutingToken,
|
|
6
6
|
parseFlagWithOptionalValue,
|
|
7
7
|
runCloudflareOAuthLogin,
|
|
8
8
|
upsertEnvVariable
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-SWJGJMTW.js";
|
|
10
|
+
import "./chunk-ESHYE7WU.js";
|
|
10
11
|
import {
|
|
11
12
|
ANTHROPIC_OAUTH_AUTHORIZE_URL,
|
|
12
13
|
ANTHROPIC_OAUTH_CALLBACK_PORT,
|
|
@@ -45,18 +46,17 @@ import {
|
|
|
45
46
|
startCallbackServer,
|
|
46
47
|
validateXAIEndpoint,
|
|
47
48
|
xaiOAuthDiscovery
|
|
48
|
-
} from "./chunk-
|
|
49
|
-
import "./chunk-ESHYE7WU.js";
|
|
49
|
+
} from "./chunk-NFLA6GSU.js";
|
|
50
50
|
import "./chunk-JBTJAPUF.js";
|
|
51
|
-
import "./chunk-
|
|
51
|
+
import "./chunk-BG7J6Y5X.js";
|
|
52
52
|
import "./chunk-IA3A5373.js";
|
|
53
53
|
import "./chunk-GLKOYSRU.js";
|
|
54
|
-
import "./chunk-
|
|
55
|
-
import "./chunk-
|
|
54
|
+
import "./chunk-KLIBF3BY.js";
|
|
55
|
+
import "./chunk-N4JKMCY3.js";
|
|
56
|
+
import "./chunk-SVDMVX4G.js";
|
|
56
57
|
import {
|
|
57
58
|
createOAuthTokenStore
|
|
58
59
|
} from "./chunk-FD36SCCD.js";
|
|
59
|
-
import "./chunk-7UFH6THF.js";
|
|
60
60
|
import "./chunk-ZHXJ6M7T.js";
|
|
61
61
|
import {
|
|
62
62
|
toErrorMessage
|
|
@@ -67,20 +67,20 @@ import {
|
|
|
67
67
|
} from "./chunk-UNZDCI3O.js";
|
|
68
68
|
import "./chunk-A7GB5UGH.js";
|
|
69
69
|
import "./chunk-OLZBQWZU.js";
|
|
70
|
-
import "./chunk-
|
|
71
|
-
import "./chunk-
|
|
70
|
+
import "./chunk-HPW5MNDQ.js";
|
|
71
|
+
import "./chunk-NHRQCXIQ.js";
|
|
72
72
|
import {
|
|
73
73
|
asOptionalFiniteNumber
|
|
74
74
|
} from "./chunk-WWC7I6TA.js";
|
|
75
75
|
import "./chunk-I42VC5KR.js";
|
|
76
76
|
import "./chunk-QSJ3HFEF.js";
|
|
77
|
-
import {
|
|
78
|
-
isRecord
|
|
79
|
-
} from "./chunk-KUG52IAP.js";
|
|
80
77
|
import {
|
|
81
78
|
asTrimmedString
|
|
82
79
|
} from "./chunk-3EUW3WEO.js";
|
|
83
80
|
import "./chunk-U6VC4MU4.js";
|
|
81
|
+
import {
|
|
82
|
+
isRecord
|
|
83
|
+
} from "./chunk-KUG52IAP.js";
|
|
84
84
|
import "./chunk-LCBAMY2M.js";
|
|
85
85
|
import "./chunk-4SN6J65J.js";
|
|
86
86
|
import "./chunk-CF7PE763.js";
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
runLoginCommand,
|
|
7
7
|
runLogoutCommand,
|
|
8
8
|
runWhoamiCommand
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-75MSWWUE.js";
|
|
10
10
|
import "./chunk-ESHYE7WU.js";
|
|
11
11
|
import "./chunk-JBTJAPUF.js";
|
|
12
12
|
import "./chunk-IA3A5373.js";
|
|
@@ -14,7 +14,7 @@ import "./chunk-GLKOYSRU.js";
|
|
|
14
14
|
import "./chunk-UNZDCI3O.js";
|
|
15
15
|
import "./chunk-A7GB5UGH.js";
|
|
16
16
|
import "./chunk-OLZBQWZU.js";
|
|
17
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-NHRQCXIQ.js";
|
|
18
18
|
import "./chunk-WWC7I6TA.js";
|
|
19
19
|
import "./chunk-I42VC5KR.js";
|
|
20
20
|
import "./chunk-3EUW3WEO.js";
|
|
@@ -4,54 +4,57 @@ import {
|
|
|
4
4
|
} from "./chunk-YPREESF4.js";
|
|
5
5
|
import {
|
|
6
6
|
handleSendMessage
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-YBFJQC2M.js";
|
|
8
|
+
import "./chunk-EVBFYPDC.js";
|
|
9
|
+
import "./chunk-HQUORJTM.js";
|
|
10
10
|
import "./chunk-YYLHWIW6.js";
|
|
11
|
-
import "./chunk-K7CNV7GI.js";
|
|
12
11
|
import "./chunk-AGGIDPCZ.js";
|
|
13
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-TC6P4NDR.js";
|
|
13
|
+
import "./chunk-YLCUU3WM.js";
|
|
14
14
|
import "./chunk-5RGU3J7P.js";
|
|
15
|
-
import "./chunk-M76ECQRD.js";
|
|
16
15
|
import {
|
|
17
16
|
clearPendingUserInputQueue,
|
|
18
17
|
dequeueUserInput,
|
|
19
18
|
enqueueUserInput,
|
|
20
19
|
getLoopStopReason,
|
|
21
20
|
getPendingUserInputQueue
|
|
22
|
-
} from "./chunk-
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import "./chunk-
|
|
28
|
-
import "./chunk-
|
|
21
|
+
} from "./chunk-6YTOJY35.js";
|
|
22
|
+
import "./chunk-M76ECQRD.js";
|
|
23
|
+
import "./chunk-YDH3FDFQ.js";
|
|
24
|
+
import "./chunk-K4NISKOR.js";
|
|
25
|
+
import "./chunk-BBTN4NQD.js";
|
|
26
|
+
import "./chunk-N4JKMCY3.js";
|
|
27
|
+
import "./chunk-BYXBJQAS.js";
|
|
28
|
+
import "./chunk-SVDMVX4G.js";
|
|
29
29
|
import "./chunk-DWLEOOGR.js";
|
|
30
|
+
import "./chunk-CS6TCJ7E.js";
|
|
31
|
+
import "./chunk-FD36SCCD.js";
|
|
30
32
|
import "./chunk-ZHXJ6M7T.js";
|
|
31
33
|
import "./chunk-HNMXYYJR.js";
|
|
32
|
-
import "./chunk-
|
|
33
|
-
import "./chunk-
|
|
34
|
-
import "./chunk-
|
|
35
|
-
import "./chunk-
|
|
34
|
+
import "./chunk-BYEJ7K2Z.js";
|
|
35
|
+
import "./chunk-NJUQBYFJ.js";
|
|
36
|
+
import "./chunk-HPW5MNDQ.js";
|
|
37
|
+
import "./chunk-SVC3GGUA.js";
|
|
36
38
|
import "./chunk-Y5GCAMGP.js";
|
|
37
39
|
import "./chunk-UZ6XXCVR.js";
|
|
38
40
|
import "./chunk-KX6YBIHG.js";
|
|
39
|
-
import "./chunk-
|
|
40
|
-
import "./chunk-
|
|
41
|
-
import "./chunk-
|
|
41
|
+
import "./chunk-MYMBBB6Q.js";
|
|
42
|
+
import "./chunk-UAD2WT54.js";
|
|
43
|
+
import "./chunk-7NYDJAQ7.js";
|
|
44
|
+
import "./chunk-NHRQCXIQ.js";
|
|
42
45
|
import "./chunk-WWC7I6TA.js";
|
|
43
46
|
import "./chunk-I42VC5KR.js";
|
|
44
|
-
import "./chunk-
|
|
47
|
+
import "./chunk-SAJSBPI2.js";
|
|
45
48
|
import "./chunk-QSJ3HFEF.js";
|
|
46
|
-
import "./chunk-
|
|
49
|
+
import "./chunk-2WBFJHQA.js";
|
|
47
50
|
import "./chunk-BJIRLHJR.js";
|
|
48
|
-
import "./chunk-
|
|
49
|
-
import "./chunk-
|
|
51
|
+
import "./chunk-XOJRZUPF.js";
|
|
52
|
+
import "./chunk-QOKAKDPE.js";
|
|
50
53
|
import "./chunk-OW765XBU.js";
|
|
51
54
|
import "./chunk-GBRG75BQ.js";
|
|
52
|
-
import "./chunk-KUG52IAP.js";
|
|
53
55
|
import "./chunk-3EUW3WEO.js";
|
|
54
56
|
import "./chunk-U6VC4MU4.js";
|
|
57
|
+
import "./chunk-KUG52IAP.js";
|
|
55
58
|
import "./chunk-LCBAMY2M.js";
|
|
56
59
|
import "./chunk-4SN6J65J.js";
|
|
57
60
|
import "./chunk-CF7PE763.js";
|
|
@@ -78,10 +78,8 @@ var MEMORY_USE_GUIDANCE = `--- \u8BB0\u5FC6\u4F7F\u7528\u65B9\u5F0F ---
|
|
|
78
78
|
- \u8BB0\u5FC6\u662F\u4E2A\u6027\u5316\u589E\u5F3A\u5C42\uFF1B\u5F53\u524D\u8F93\u5165/\u5BF9\u8BDD/\u7CFB\u7EDF\u89C4\u5219/Agent prompt/skill/\u7528\u6237\u5168\u5C40\u504F\u597D\u90FD\u4F18\u5148\u4E8E\u5B83\u3002\u5F53\u524D\u8F93\u5165\u7ED9\u51FA\u65B0\u8BED\u8A00\u3001\u6280\u672F\u6808\u3001\u6570\u503C\u3001\u7EA6\u675F\u6216\u660E\u786E\u8986\u76D6\u65E7\u504F\u597D\u65F6\uFF0C\u91C7\u7528\u5F53\u524D\u8F93\u5165\uFF0C\u4E0D\u8981\u628A\u65E7\u8BB0\u5FC6\u5F53\u66F4\u9AD8\u771F\u503C\u3002
|
|
79
79
|
- \u8BB0\u5FC6\u542B\u7528\u6237\u8EAB\u4EFD/\u79F0\u547C/\u5173\u7CFB/\u957F\u671F\u504F\u597D/\u9879\u76EE\u80CC\u666F\u65F6\uFF0C\u76F8\u5173\u5904\u81EA\u7136\u4F53\u73B0\uFF08\u5F00\u573A\u79F0\u547C\u3001\u4E0A\u4E0B\u6587\u786E\u8BA4\u3001\u56DE\u7B54\u7ED3\u6784\u3001\u53D6\u820D\u6807\u51C6\uFF09\uFF0C\u4E0D\u8981\u6BCF\u53E5\u673A\u68B0\u79F0\u547C\u7528\u6237\u3002
|
|
80
80
|
- \u201C\u4E0A\u6B21/\u7EE7\u7EED/\u8FD9\u4E2A\u9879\u76EE\u201D\u7B49\u6307\u4EE3\u4F18\u5148\u6309\u5F53\u524D dialog/space/project/agent/sourceDialog \u7B49 KV \u8DEF\u5F84\u548C\u65F6\u95F4\u7EBF\u5B9A\u4F4D\uFF0C\u4E0D\u8981\u53EA\u6309\u8BED\u4E49\u76F8\u4F3C\u5EA6\u635E\u4E00\u6761\u3002
|
|
81
|
-
- \u63A8\u65AD\u578B\u8BB0\u5FC6\uFF08inferred\uFF09\u53EA\u7528\u4E8E\u628A\u63E1\u8BED\u6C14\u3001\u72B6\u6001\u548C\u672A\u5B8C\u6210\u4E8B\u9879\uFF0C\u4E0D\u8981\u8BF4\u6210\u201C\u4F60\u660E\u786E\u544A\u8BC9\u8FC7\u6211\u201D\u6216\u5F53\u6210\u7528\u6237\u5DF2\u6388\u6743\u4FDD\u5B58\u7684\u4E8B\u5B9E\
|
|
82
|
-
- \
|
|
83
|
-
- \u3010\u53EC\u56DE\u89C4\u5219\u3011\u53EC\u56DE\u8BB0\u5FC6\u5FC5\u987B\u5E26\u5B8C\u6574\u5386\u53F2\u4E0A\u4E0B\u6587\uFF08\u6765\u6E90\u3001\u7F6E\u4FE1\u5EA6\u3001\u53D8\u66F4\u8BB0\u5F55\uFF09\uFF0C\u7981\u6B62\u81EA\u884C\u63A8\u7406\u586B\u8865\u3002\u4E0D\u8981\u51ED\u5370\u8C61\u62FC\u51FA\u672A\u9A8C\u8BC1\u7684\u4FE1\u606F\u3002
|
|
84
|
-
- \u3010\u964D\u6743\u4E0E\u5220\u9664\u3011\u65E5\u5E38\u9519\u8BEF\u8BB0\u5FC6\u4F18\u5148\u964D\u6743/\u5F52\u6863\u4E0E\u8986\u76D6\uFF08\u964D\u4F4E\u7F6E\u4FE1\u5EA6\uFF09\uFF0C\u4FDD\u7559\u6863\u6848\u4F9B\u5BA1\u8BA1\uFF1B\u82E5\u7528\u6237\u660E\u786E/\u5F3A\u5236\u8981\u6C42\u5220\u9664\uFF0C\u4E14\u5728\u7528\u6237\u81EA\u8EAB\u6743\u9650\u8303\u56F4\u5185\uFF0C\u5141\u8BB8\u7269\u7406\u5220\u9664\uFF08\u4EC5\u9650\u4E8E\u5F53\u524D\u7528\u6237\u62E5\u6709\u7684\u8BB0\u5FC6\uFF0C\u4E25\u7981\u8D8A\u6743\uFF09\u3002`;
|
|
81
|
+
- \u63A8\u65AD\u578B\u8BB0\u5FC6\uFF08inferred\uFF09\u53EA\u7528\u4E8E\u628A\u63E1\u8BED\u6C14\u3001\u72B6\u6001\u548C\u672A\u5B8C\u6210\u4E8B\u9879\uFF0C\u4E0D\u8981\u8BF4\u6210\u201C\u4F60\u660E\u786E\u544A\u8BC9\u8FC7\u6211\u201D\u6216\u5F53\u6210\u7528\u6237\u5DF2\u6388\u6743\u4FDD\u5B58\u7684\u4E8B\u5B9E\uFF1B\u51B2\u7A81\u6216\u573A\u666F\u4E0D\u660E\u65F6\u8BF4\u660E\u4F9D\u636E\u6216\u7B80\u77ED\u786E\u8BA4\uFF0C\u4E0D\u8981\u786C\u5957\u3002
|
|
82
|
+
- \u7F6E\u4FE1\u5EA6\uFF08verified/stated/inferred\uFF09\u3001\u53EC\u56DE\u4E0A\u4E0B\u6587\u8981\u6C42\u4E0E\u964D\u6743/\u5220\u9664\u8FB9\u754C\u4EE5\u8BB0\u5FC6\u5DE5\u5177\uFF08rememberMemory / queryMemory / deleteMemory\uFF09schema \u4E3A\u51C6\u3002`;
|
|
85
83
|
|
|
86
84
|
export {
|
|
87
85
|
buildUserResponseLanguageContext,
|
|
@@ -70,6 +70,9 @@ function sanitizeOutboundHistory(messages, options) {
|
|
|
70
70
|
const name = call?.function?.name;
|
|
71
71
|
const declaredAllows = !declared || isString(name) && declared.has(name);
|
|
72
72
|
if (!declaredAllows) return;
|
|
73
|
+
if (!hasParsableObjectArguments(call?.function?.arguments)) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
73
76
|
const id = isNonEmptyString(call?.id) ? call.id : stableToolCallId(i, callIndex);
|
|
74
77
|
candidateCallIds.add(id);
|
|
75
78
|
});
|
|
@@ -143,7 +146,77 @@ ${extra}` : extra;
|
|
|
143
146
|
}
|
|
144
147
|
return extra;
|
|
145
148
|
}
|
|
149
|
+
function hasParsableObjectArguments(raw) {
|
|
150
|
+
if (raw === void 0) return true;
|
|
151
|
+
if (raw === null || typeof raw === "number" || typeof raw === "boolean") {
|
|
152
|
+
return false;
|
|
153
|
+
}
|
|
154
|
+
if (typeof raw !== "string") return true;
|
|
155
|
+
if (raw.trim() === "") return true;
|
|
156
|
+
try {
|
|
157
|
+
const parsed = JSON.parse(raw);
|
|
158
|
+
return parsed !== null && typeof parsed === "object";
|
|
159
|
+
} catch {
|
|
160
|
+
return false;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
function downgradeUnparsableToolCalls(messages) {
|
|
164
|
+
if (!Array.isArray(messages) || messages.length === 0) {
|
|
165
|
+
return { messages, downgraded: 0 };
|
|
166
|
+
}
|
|
167
|
+
const poisonIds = /* @__PURE__ */ new Set();
|
|
168
|
+
for (let i = 0; i < messages.length; i++) {
|
|
169
|
+
const m = messages[i];
|
|
170
|
+
if (m.role !== "assistant" || !Array.isArray(m.tool_calls)) continue;
|
|
171
|
+
m.tool_calls.forEach((call, callIndex) => {
|
|
172
|
+
if (!hasParsableObjectArguments(call?.function?.arguments)) {
|
|
173
|
+
const id = isNonEmptyString(call?.id) ? call.id : stableToolCallId(i, callIndex);
|
|
174
|
+
poisonIds.add(id);
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
if (poisonIds.size === 0) return { messages, downgraded: 0 };
|
|
179
|
+
let downgraded = 0;
|
|
180
|
+
const out = [];
|
|
181
|
+
for (const m of messages) {
|
|
182
|
+
if (m.role === "assistant" && Array.isArray(m.tool_calls) && m.tool_calls.length > 0) {
|
|
183
|
+
const kept = [];
|
|
184
|
+
const lines = [];
|
|
185
|
+
for (const call of m.tool_calls) {
|
|
186
|
+
if (!hasParsableObjectArguments(call?.function?.arguments)) {
|
|
187
|
+
lines.push(renderToolCallAsText(call));
|
|
188
|
+
downgraded++;
|
|
189
|
+
} else {
|
|
190
|
+
kept.push(call);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
if (lines.length === 0) {
|
|
194
|
+
out.push(m);
|
|
195
|
+
continue;
|
|
196
|
+
}
|
|
197
|
+
const sanitized = {
|
|
198
|
+
...m,
|
|
199
|
+
content: combineContentWithText(m.content, joinLines(...lines)),
|
|
200
|
+
tool_calls: kept.length > 0 ? kept : void 0
|
|
201
|
+
};
|
|
202
|
+
if (kept.length === 0) delete sanitized.tool_calls;
|
|
203
|
+
out.push(sanitized);
|
|
204
|
+
continue;
|
|
205
|
+
}
|
|
206
|
+
if (m.role === "tool") {
|
|
207
|
+
const id = isNonEmptyString(m.tool_call_id) ? m.tool_call_id : "";
|
|
208
|
+
if (id && poisonIds.has(id)) {
|
|
209
|
+
out.push({ role: "assistant", content: renderToolResultAsText(m) });
|
|
210
|
+
continue;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
out.push(m);
|
|
214
|
+
}
|
|
215
|
+
return { messages: out, downgraded };
|
|
216
|
+
}
|
|
146
217
|
|
|
147
218
|
export {
|
|
148
|
-
sanitizeForOutbound
|
|
219
|
+
sanitizeForOutbound,
|
|
220
|
+
hasParsableObjectArguments,
|
|
221
|
+
downgradeUnparsableToolCalls
|
|
149
222
|
};
|
|
@@ -10,14 +10,14 @@ import {
|
|
|
10
10
|
scheduleExistingRecordReplication,
|
|
11
11
|
shouldReplaceLocalWithRemoteRecord,
|
|
12
12
|
shouldReplicateLocalRecord
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-XOJRZUPF.js";
|
|
14
14
|
import {
|
|
15
15
|
fetchFromClientDb,
|
|
16
16
|
fetchFromServer,
|
|
17
17
|
isAbortError,
|
|
18
18
|
isReadTimeoutError,
|
|
19
19
|
logger
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-QOKAKDPE.js";
|
|
21
21
|
import {
|
|
22
22
|
shouldReplaceWithNextRecord
|
|
23
23
|
} from "./chunk-GBRG75BQ.js";
|
|
@@ -152,30 +152,9 @@ var BUILTIN_AGENT_CATALOG = [
|
|
|
152
152
|
model: "gpt-5.5-pro",
|
|
153
153
|
runtimeFallback: true
|
|
154
154
|
},
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
name: "Claude Sonnet 5",
|
|
159
|
-
provider: "deepinfra",
|
|
160
|
-
model: "anthropic/claude-sonnet-5",
|
|
161
|
-
runtimeFallback: true
|
|
162
|
-
},
|
|
163
|
-
{
|
|
164
|
-
id: "01CLOP48DIPB0000000001OI1W",
|
|
165
|
-
group: "public",
|
|
166
|
-
name: "Claude Opus 5",
|
|
167
|
-
provider: "deepinfra",
|
|
168
|
-
model: "anthropic/claude-opus-5",
|
|
169
|
-
runtimeFallback: true
|
|
170
|
-
},
|
|
171
|
-
{
|
|
172
|
-
id: "01FABLE5DIPB00000001VJBKM4",
|
|
173
|
-
group: "public",
|
|
174
|
-
name: "Claude Fable 5",
|
|
175
|
-
provider: "deepinfra",
|
|
176
|
-
model: "anthropic/claude-fable-5",
|
|
177
|
-
runtimeFallback: true
|
|
178
|
-
},
|
|
155
|
+
// Claude Sonnet/Opus/Fable 5 已从广场下架(2026-09-01,平台停止维护 Claude 系):
|
|
156
|
+
// 存量记录由 modelUpgradeTable 迁移到 nolo/glm-5-3-flash,兼容期请求由
|
|
157
|
+
// platformHostedRoutingTable 重映射;客户端下架提示走 publicAgents.removedFromPlaza。
|
|
179
158
|
// Gemini 文本档只上架最新一代:旧版留在广场只会分散选择、拉长列表,而
|
|
180
159
|
// 用户想要的是「最新的那个 Gemini」。gemini-3.6-flash 这个**模型**仍然保留
|
|
181
160
|
// (modelAbility / 定价表照旧),下架的只是广场入口。
|
|
@@ -726,7 +705,6 @@ export {
|
|
|
726
705
|
BUILTIN_NOLO_AGENT_KEY,
|
|
727
706
|
BUILTIN_NOLO_AGENT_NAME,
|
|
728
707
|
BUILTIN_NOLO_AGENT_MODEL,
|
|
729
|
-
PUBLIC_DEEPSEEK_V4_FLASH_AGENT_KEY,
|
|
730
708
|
DEFAULT_CODE_PLANNER_EXECUTOR_CANDIDATE_KEYS,
|
|
731
709
|
isSystemBuiltinTrustedAgentKey,
|
|
732
710
|
isBuiltinPlatformAgentKey,
|
|
@@ -6,10 +6,10 @@ import {
|
|
|
6
6
|
} from "./chunk-AGGIDPCZ.js";
|
|
7
7
|
import {
|
|
8
8
|
getModelConfig
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-SVDMVX4G.js";
|
|
10
10
|
import {
|
|
11
11
|
isPlatformHostedImageModel
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-HPW5MNDQ.js";
|
|
13
13
|
import {
|
|
14
14
|
asOptionalFiniteNumber
|
|
15
15
|
} from "./chunk-WWC7I6TA.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
sanitizeForOutbound
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-2QDDKFG5.js";
|
|
4
4
|
import {
|
|
5
5
|
accumulateToolCallDelta,
|
|
6
6
|
createThinkParserState,
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
shouldStripReasoningContentForOutbound,
|
|
24
24
|
toOpenAiCompatibleMessages,
|
|
25
25
|
toResponsesTools
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-VZMUOPYG.js";
|
|
27
27
|
import {
|
|
28
28
|
buildProviderExecutionPlan,
|
|
29
29
|
canUsePlatformChatProvider,
|
|
@@ -33,13 +33,13 @@ import {
|
|
|
33
33
|
resolvePlatformAuthToken,
|
|
34
34
|
resolvePlatformServerUrl,
|
|
35
35
|
resolveProviderTransportDecision
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-KLIBF3BY.js";
|
|
37
37
|
import {
|
|
38
38
|
clipCompactText
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-BBTN4NQD.js";
|
|
40
40
|
import {
|
|
41
41
|
NOLO_CLIENT_VERSION_HEADER
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-HPW5MNDQ.js";
|
|
43
43
|
import {
|
|
44
44
|
isRecord
|
|
45
45
|
} from "./chunk-KUG52IAP.js";
|
|
@@ -78,6 +78,33 @@ function extractUsageFromSsePayload(parsed) {
|
|
|
78
78
|
return void 0;
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
+
// packages/agent-runtime/promptCacheKey.ts
|
|
82
|
+
function collectStablePromptPrefix(messages, fallbackPrompt) {
|
|
83
|
+
const systemTexts = [];
|
|
84
|
+
if (fallbackPrompt?.trim()) systemTexts.push(fallbackPrompt.trim());
|
|
85
|
+
for (const raw of messages) {
|
|
86
|
+
if (!raw || typeof raw !== "object") continue;
|
|
87
|
+
const message = raw;
|
|
88
|
+
const role = String(message.role ?? "");
|
|
89
|
+
if (role !== "system" && role !== "developer") continue;
|
|
90
|
+
if (typeof message.content === "string") {
|
|
91
|
+
const boundary = Number(message.stable_prefix_chars);
|
|
92
|
+
const text = Number.isFinite(boundary) && boundary > 0 ? message.content.slice(0, boundary) : message.content;
|
|
93
|
+
if (text.trim()) systemTexts.push(text.trim());
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return systemTexts.join("\n\n");
|
|
97
|
+
}
|
|
98
|
+
function stablePromptCacheKey(parts, namespace) {
|
|
99
|
+
const value = JSON.stringify(parts);
|
|
100
|
+
let hash = 2166136261;
|
|
101
|
+
for (let index = 0; index < value.length; index += 1) {
|
|
102
|
+
hash ^= value.charCodeAt(index);
|
|
103
|
+
hash = Math.imul(hash, 16777619) >>> 0;
|
|
104
|
+
}
|
|
105
|
+
return `${namespace}-${hash.toString(16).padStart(8, "0")}`;
|
|
106
|
+
}
|
|
107
|
+
|
|
81
108
|
// packages/core/chat/providerFailureMessage.ts
|
|
82
109
|
var RAW_BODY_CLIP = 400;
|
|
83
110
|
function describeProviderFailure(args) {
|
|
@@ -477,7 +504,8 @@ function buildPlatformChatCompletionRequest(args) {
|
|
|
477
504
|
},
|
|
478
505
|
stream: args.stream ?? false,
|
|
479
506
|
...args.stream ? getUsageRequestOptions(args.providerConfig.usageProvider ?? args.providerConfig.provider, {
|
|
480
|
-
api: usesResponsesApi ? "responses" : "chat-completions"
|
|
507
|
+
api: usesResponsesApi ? "responses" : "chat-completions",
|
|
508
|
+
endpoint: usesResponsesApi ? null : args.providerConfig.endpoint
|
|
481
509
|
}) : {},
|
|
482
510
|
...requestOptions,
|
|
483
511
|
...args.tools && args.tools.length > 0 ? {
|
|
@@ -485,6 +513,23 @@ function buildPlatformChatCompletionRequest(args) {
|
|
|
485
513
|
...usesResponsesApi ? {} : { tool_choice: "auto" }
|
|
486
514
|
} : {},
|
|
487
515
|
...shouldDisableThinking(args.providerConfig) ? { thinking: { type: "disabled" } } : {},
|
|
516
|
+
// 缓存路由亲和提示:托管上游是多副本共享池,前缀缓存是节点本地的,
|
|
517
|
+
// 请求落到另一副本就整条 miss(实测占该线全部 miss token 的 52%,
|
|
518
|
+
// 依据见 promptCacheKey.ts)。键只取跨轮稳定的部分(model + system 稳定
|
|
519
|
+
// 前缀 + 工具定义),历史增长不参与,否则键每轮都变等于没有键。
|
|
520
|
+
// 已实测 RunInfra 接受该字段且不破坏既有命中;效果待上线后按
|
|
521
|
+
// promptCacheKey.ts 末尾的口径复测。
|
|
522
|
+
prompt_cache_key: stablePromptCacheKey(
|
|
523
|
+
[
|
|
524
|
+
args.providerConfig.model,
|
|
525
|
+
// 只从消息里取:本 builder 只拿得到 providerConfig,没有 agentConfig,
|
|
526
|
+
// agent prompt 早已由 localLoop 的 buildMessages 拼进 system 稳定前缀,
|
|
527
|
+
// 所以 sanitizedMessages 里的 system 就是完整取材,无需 fallback。
|
|
528
|
+
collectStablePromptPrefix(sanitizedMessages),
|
|
529
|
+
args.tools ?? []
|
|
530
|
+
],
|
|
531
|
+
"nolo-chat"
|
|
532
|
+
),
|
|
488
533
|
url: args.providerConfig.endpoint,
|
|
489
534
|
provider: args.providerConfig.provider,
|
|
490
535
|
agentKey: args.providerConfig.agentKey,
|
|
@@ -500,6 +545,17 @@ function buildPlatformChatCompletionRequest(args) {
|
|
|
500
545
|
headers: {
|
|
501
546
|
"Content-Type": "application/json",
|
|
502
547
|
Authorization: `Bearer ${args.providerConfig.authToken}`,
|
|
548
|
+
// 流式请求显式放弃压缩协商。实测记录(2026-09-01,glm-5-3-flash 经
|
|
549
|
+
// nolo.chat):某个时间窗内 SSE 响应带 content-encoding: gzip 返回,
|
|
550
|
+
// 整条流被攒成 1 个 chunk,首字节 = 总生成时长(5.8/10.6/16.3s);
|
|
551
|
+
// 同一分钟交替发起的 identity 请求为 123-138 chunks、首字节
|
|
552
|
+
// 1.2-3.6s。即压缩中间件一旦介入,流式的全部 TTFT 收益归零。
|
|
553
|
+
// 该窗口之后线上不再压缩 SSE(同一探针 6/6 未压缩),具体是哪一跳
|
|
554
|
+
// 压的没有定论;边缘侧已把流式路径排除出 encode
|
|
555
|
+
// (configureCaddyProxy.sh),这里是不依赖任何中间跳行为的客户端兜底
|
|
556
|
+
// ——用户侧本地代理同样可能压。SSE 正文只有几十 KB,放弃压缩的带宽
|
|
557
|
+
// 代价可忽略。
|
|
558
|
+
...args.stream ? { "Accept-Encoding": "identity" } : {},
|
|
503
559
|
// 客户端版本闸门第 2 层:与鉴权头同处一处统一注入,避免某条命令路径
|
|
504
560
|
// 漏发。server 据此拒绝「该客户端认不了 wire 的托管模型」;不发这个头
|
|
505
561
|
// 的旧客户端在 server 侧 fail-open(已知局限)。
|
|
@@ -785,6 +841,8 @@ export {
|
|
|
785
841
|
createResponsesToolAccumulator,
|
|
786
842
|
applyResponsesToolEvent,
|
|
787
843
|
finalizeResponsesToolCalls,
|
|
844
|
+
collectStablePromptPrefix,
|
|
845
|
+
stablePromptCacheKey,
|
|
788
846
|
resolvePlatformChatProviderConfig,
|
|
789
847
|
buildPlatformChatCompletionRequest,
|
|
790
848
|
parsePlatformChatCompletionData,
|
|
@@ -199,7 +199,7 @@ async function readDocFunc(args, thunkApi) {
|
|
|
199
199
|
throw new Error(`\u65E0\u6548\u7684\u9875\u9762 ID: ${id}\u3002\u9875\u9762 ID \u901A\u5E38\u4EE5 "page-" \u5F00\u5934\u3002`);
|
|
200
200
|
}
|
|
201
201
|
try {
|
|
202
|
-
const { readAction } = await import("./read-
|
|
202
|
+
const { readAction } = await import("./read-K4JU4MQC.js");
|
|
203
203
|
const pageData = await readAction({ dbKey: id }, thunkApi);
|
|
204
204
|
if (!pageData) {
|
|
205
205
|
throw new Error(`\u672A\u627E\u5230 ID \u4E3A ${id} \u7684\u9875\u9762\u3002`);
|