nolo-cli 0.54.0-alpha.2 → 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.
Files changed (133) hide show
  1. package/{_executeModel-ANY4SIAS.js → _executeModel-OPTKYHJA.js} +48 -42
  2. package/{action-Q4W5JPI5.js → action-ORXWW2ZG.js} +8 -8
  3. package/{addContentAction-O25HFR37.js → addContentAction-53BZ34AE.js} +8 -7
  4. package/{addDialogAgentAction-GH7AUPPB.js → addDialogAgentAction-JRYUS54Y.js} +10 -9
  5. package/{agentDeleteCommand-JWIKNWWI.js → agentDeleteCommand-FJIWU2BS.js} +30 -28
  6. package/{agentEmailCommands-PL22BEU5.js → agentEmailCommands-CE32L43B.js} +57 -52
  7. package/{agentListCommands-6NR7AQEK.js → agentListCommands-VJNKULIK.js} +42 -33
  8. package/{agentMachineCommands-TASPU6OA.js → agentMachineCommands-HCJ3WQXL.js} +30 -28
  9. package/{agentRecordCommands-Z64TA63M.js → agentRecordCommands-QFWERED4.js} +55 -50
  10. package/{agentRunCommand-4QJQLPRW.js → agentRunCommand-G3GQMUNN.js} +65 -53
  11. package/{agentRunControl-4GHHSXFZ.js → agentRunControl-INKFDXDA.js} +3 -1
  12. package/{agentRuntimeLocal-PCJJ56J2.js → agentRuntimeLocal-K327ELSL.js} +30 -26
  13. package/{agentSlice-KYLDUSNN.js → agentSlice-ODKF4J6M.js} +8 -8
  14. package/{agentSuperviseCommands-VB6BUS5H.js → agentSuperviseCommands-5AR3DKNN.js} +2 -2
  15. package/{appDeleteCommands-WLHMJAVT.js → appDeleteCommands-XUXMFDI4.js} +31 -29
  16. package/{appDeployCommands-CKON7N2E.js → appDeployCommands-37F4GPCU.js} +31 -29
  17. package/{appDeployStatusCommands-PXRLDASH.js → appDeployStatusCommands-WSPU7TUK.js} +31 -29
  18. package/{appGetCommands-RAB5RM4M.js → appGetCommands-YLOBA3EM.js} +31 -29
  19. package/{appListCommands-GU57FB62.js → appListCommands-UD62R5ME.js} +31 -29
  20. package/{authCommand-QOPOEYEK.js → authCommand-OK6HLHGS.js} +13 -13
  21. package/{authCommands-SBQVTD6V.js → authCommands-2DUIUEMT.js} +2 -2
  22. package/{chatQueueReduxAdapter-5O2WLITN.js → chatQueueReduxAdapter-TV2TUOQS.js} +26 -23
  23. package/{chunk-7CH6U3FL.js → chunk-2GRGFCF6.js} +2 -4
  24. package/{chunk-T27IEBNQ.js → chunk-2QDDKFG5.js} +74 -1
  25. package/{chunk-VULELK4T.js → chunk-2WBFJHQA.js} +4 -26
  26. package/{chunk-IKTHA3JH.js → chunk-3LKZRP7E.js} +2 -2
  27. package/{chunk-INXBNYCG.js → chunk-3Y2K5O2R.js} +64 -6
  28. package/{chunk-VRZIH5JO.js → chunk-3ZTR7ZO4.js} +1 -1
  29. package/{chunk-GV35EHNA.js → chunk-5FCIPEKT.js} +262 -96
  30. package/{chunk-RTLJUGQH.js → chunk-5UAYZEXO.js} +2 -2
  31. package/{chunk-TI5BCZCH.js → chunk-6COJEAYH.js} +32 -101
  32. package/{chunk-Y7LNKP32.js → chunk-6HDYSFLO.js} +4 -6
  33. package/chunk-6IGD47IC.js +19 -0
  34. package/chunk-6YTOJY35.js +352 -0
  35. package/{chunk-6FGXGFAH.js → chunk-75MSWWUE.js} +1 -1
  36. package/{chunk-3Z3DXZBD.js → chunk-7FAS3NEF.js} +16 -16
  37. package/{chunk-AV6KQCM5.js → chunk-7NYDJAQ7.js} +19 -14
  38. package/{chunk-CVT7L2WZ.js → chunk-A65UV3M5.js} +4 -4
  39. package/{chunk-7APQB6R6.js → chunk-AUVFJGPC.js} +3 -3
  40. package/{chunk-H4RYESI6.js → chunk-BBTN4NQD.js} +4 -4
  41. package/{chunk-757BGY6Y.js → chunk-BG7J6Y5X.js} +1 -1
  42. package/chunk-BY2FF2C4.js +526 -0
  43. package/{chunk-FA4SY4F5.js → chunk-BYEJ7K2Z.js} +1 -1
  44. package/chunk-BYXBJQAS.js +0 -0
  45. package/{chunk-3AOLVADY.js → chunk-DVINR3PL.js} +1 -1
  46. package/{chunk-UITMHBVK.js → chunk-EA5OYZVD.js} +1 -1
  47. package/{chunk-4NN3EK7H.js → chunk-EICIFHVS.js} +1 -1
  48. package/chunk-EJE33XNR.js +19059 -0
  49. package/{chunk-6SZ52ORL.js → chunk-FJHMLRDQ.js} +9 -9
  50. package/{chunk-RU5D3B22.js → chunk-GRFK2XP4.js} +2 -2
  51. package/{chunk-J3UALFHL.js → chunk-HJTAGT3W.js} +1 -1
  52. package/{chunk-WL3UOGYO.js → chunk-HPW5MNDQ.js} +38 -98
  53. package/{chunk-H2G6JXTR.js → chunk-HQUORJTM.js} +1 -1
  54. package/{chunk-OYNDYVSE.js → chunk-JON2PHYT.js} +1 -1
  55. package/{chunk-7K5VMB4Q.js → chunk-JXIP6ZWH.js} +7 -7
  56. package/{chunk-KUUTWU4I.js → chunk-K4NISKOR.js} +46 -8
  57. package/{chunk-SP3DPVBH.js → chunk-KLIBF3BY.js} +2 -2
  58. package/chunk-LRGKOI5Y.js +297 -0
  59. package/{chunk-LN3OQJGG.js → chunk-MLEZPE3U.js} +2 -2
  60. package/{chunk-FGEYVPPR.js → chunk-MYMBBB6Q.js} +5 -64
  61. package/{chunk-VRJUIUIY.js → chunk-N4JKMCY3.js} +2 -2
  62. package/{chunk-U5Z7LFZF.js → chunk-NFLA6GSU.js} +4 -4
  63. package/{chunk-SVEUG45B.js → chunk-NHRQCXIQ.js} +0 -24
  64. package/{chunk-56W233KG.js → chunk-NJUQBYFJ.js} +3 -1
  65. package/{chunk-Q24S4NDF.js → chunk-Q4XZVZPN.js} +1 -1
  66. package/{chunk-UW4INMD2.js → chunk-RHMDMTDK.js} +2 -2
  67. package/{chunk-MFI4FGHX.js → chunk-SAJSBPI2.js} +1 -1
  68. package/{chunk-WHVQA7PJ.js → chunk-SSXTSPSG.js} +27 -6
  69. package/{chunk-2BWU4ORW.js → chunk-SUEIAK5N.js} +1 -1
  70. package/{chunk-3QJTD6DO.js → chunk-SVC3GGUA.js} +5 -5
  71. package/{chunk-QDHZCAH3.js → chunk-SVDMVX4G.js} +118 -2
  72. package/{chunk-GBADO3SM.js → chunk-SWJGJMTW.js} +1 -1
  73. package/{chunk-DQLYEGP7.js → chunk-SYYUU7EV.js} +2 -2
  74. package/{chunk-U2A47SVI.js → chunk-TC6P4NDR.js} +7 -7
  75. package/{chunk-V4KZGLOI.js → chunk-TR4DXUYX.js} +1983 -447
  76. package/{chunk-BANYWEYY.js → chunk-TY3ADTX5.js} +1 -1
  77. package/chunk-UAD2WT54.js +64 -0
  78. package/{chunk-PAHILFNT.js → chunk-UGBHDMHI.js} +4 -4
  79. package/{chunk-6FQ2552G.js → chunk-UOWXD4VN.js} +799 -956
  80. package/{chunk-5WADL4O7.js → chunk-UR66XPVF.js} +3 -3
  81. package/{chunk-6BYAXNH5.js → chunk-VZMUOPYG.js} +12 -2
  82. package/{chunk-LA4IDAK7.js → chunk-WQHGJHAL.js} +440 -2981
  83. package/{chunk-GLGD2JGY.js → chunk-XIJZOCSP.js} +7 -7
  84. package/{chunk-BJLYCOZK.js → chunk-YBFJQC2M.js} +93 -776
  85. package/{chunk-MRWGHF56.js → chunk-YDH3FDFQ.js} +12 -356
  86. package/{chunk-32I5RVMY.js → chunk-YLCUU3WM.js} +3 -3
  87. package/{chunk-D3JQPONH.js → chunk-YQBXOHE6.js} +1 -1
  88. package/chunk-ZJ7UHBJS.js +89 -0
  89. package/{chunk-TNPCQNGQ.js → chunk-ZVOHVJI3.js} +4 -9
  90. package/contentThunks-KNI6VXLT.js +71 -0
  91. package/{createAgentAutomationAction-UJLNFFFC.js → createAgentAutomationAction-OK4L33KF.js} +27 -23
  92. package/{createDialogAction-TJCX6GUE.js → createDialogAction-JDSMY4AY.js} +28 -24
  93. package/{createPageAction-N3IYABHV.js → createPageAction-T7RA3HCG.js} +29 -24
  94. package/{dbSlice-D5CNGWPD.js → dbSlice-TVX6SN2T.js} +6 -6
  95. package/{deleteFile-44TUM34Y.js → deleteFile-JYKRT7C3.js} +3 -3
  96. package/{dialogCommands-35M6RBAC.js → dialogCommands-UQZYWOOV.js} +32 -30
  97. package/{dialogSlice-KO7ADD7H.js → dialogSlice-TYW2G7IL.js} +26 -23
  98. package/{docCreateCommands-VXHZWQ3P.js → docCreateCommands-OA6HZBWO.js} +34 -32
  99. package/{docDeleteCommands-4WFAJR6A.js → docDeleteCommands-KBB3YQI2.js} +31 -29
  100. package/{docReadCommands-OYREEFAR.js → docReadCommands-ZLMFVC67.js} +30 -28
  101. package/{docStore-5BU76DFK.js → docStore-2URPBVCS.js} +8 -33
  102. package/{docUpdateCommands-A7QERSME.js → docUpdateCommands-HMH5KUON.js} +34 -32
  103. package/{fetchMessages-KZQVBXKY.js → fetchMessages-DRABNDPZ.js} +3 -3
  104. package/{getPricing-HAU62AFM.js → getPricing-RFOPUWHY.js} +4 -4
  105. package/{handleSendMessageAction-OSGQJQ45.js → handleSendMessageAction-GO53TY7U.js} +28 -25
  106. package/index.js +56 -56
  107. package/{localDialogRead-NQ33HBSI.js → localDialogRead-PUQKFI73.js} +1 -1
  108. package/{machineCommands-J43U3TX5.js → machineCommands-RK6L7ZWL.js} +59 -54
  109. package/{machineWsRunDispatch-Z2Z6STXZ.js → machineWsRunDispatch-3X64DW2Z.js} +54 -49
  110. package/memberThunks-THZYZFSN.js +638 -0
  111. package/{models-4QF4BJVY.js → models-JVKUEER5.js} +2 -2
  112. package/package.json +1 -1
  113. package/{read-RGNPI5H2.js → read-K4JU4MQC.js} +3 -3
  114. package/{readDocTool-6ESWKTXD.js → readDocTool-LQGR6FUN.js} +1 -1
  115. package/{readlineWorkspace-YRPV6JPN.js → readlineWorkspace-XUFJV3RS.js} +604 -263
  116. package/{removeDialogAgentAction-JYT73FU2.js → removeDialogAgentAction-ECHCFB7N.js} +12 -11
  117. package/{runAgentClientLoop-5YM5WMAY.js → runAgentClientLoop-24GQ2AW6.js} +46 -40
  118. package/{setDialogExtraReferencesAction-D564LMYQ.js → setDialogExtraReferencesAction-KCVJNGMB.js} +9 -8
  119. package/{setPrimaryDialogAgentAction-ACY3BLYA.js → setPrimaryDialogAgentAction-VDOBOMKC.js} +12 -11
  120. package/{settingSlice-MKI3MNZJ.js → settingSlice-VR2IJSXC.js} +7 -7
  121. package/{skillDiscovery-GPUDHDTZ.js → skillDiscovery-2QTZINON.js} +3 -3
  122. package/{spaceCommands-MY26V52L.js → spaceCommands-S5YJJXL7.js} +30 -28
  123. package/{streamAgentChatTurn-XV5X5TNQ.js → streamAgentChatTurn-QHKP3ABO.js} +77 -64
  124. package/{switchDialogAgentAction-CJ5H6SAR.js → switchDialogAgentAction-5L4UP7VI.js} +10 -9
  125. package/{toolApiClient-B2MFXMEG.js → toolApiClient-53U4UDFF.js} +3 -2
  126. package/{tools-MIMELA2Y.js → tools-SSXSTC3O.js} +37 -32
  127. package/{tuiSummaryLlmCaller-XJ5BKNNS.js → tuiSummaryLlmCaller-URFJHFC5.js} +17 -15
  128. package/{updateDialogTitleAction-EIZUSWHR.js → updateDialogTitleAction-YFYAEW3T.js} +28 -24
  129. package/chunk-6BGAQ3KR.js +0 -7081
  130. package/chunk-YBV6QJKM.js +0 -441
  131. package/spaceSlice-JUIXC365.js +0 -127
  132. package/{chunk-NQ4N4IGO.js → chunk-CS6TCJ7E.js} +3 -3
  133. package/{chunk-PYKV6FSC.js → chunk-XOJRZUPF.js} +3 -3
@@ -1,12 +1,13 @@
1
1
  import {
2
2
  defaultOpenBrowser
3
- } from "./chunk-6FGXGFAH.js";
3
+ } from "./chunk-75MSWWUE.js";
4
4
  import {
5
5
  generateCloudflareEmailRoutingToken,
6
6
  parseFlagWithOptionalValue,
7
7
  runCloudflareOAuthLogin,
8
8
  upsertEnvVariable
9
- } from "./chunk-GBADO3SM.js";
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-U5Z7LFZF.js";
49
- import "./chunk-ESHYE7WU.js";
49
+ } from "./chunk-NFLA6GSU.js";
50
50
  import "./chunk-JBTJAPUF.js";
51
- import "./chunk-757BGY6Y.js";
51
+ import "./chunk-BG7J6Y5X.js";
52
52
  import "./chunk-IA3A5373.js";
53
53
  import "./chunk-GLKOYSRU.js";
54
- import "./chunk-SP3DPVBH.js";
55
- import "./chunk-VRJUIUIY.js";
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-QDHZCAH3.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-WL3UOGYO.js";
71
- import "./chunk-SVEUG45B.js";
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-6FGXGFAH.js";
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-SVEUG45B.js";
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-BJLYCOZK.js";
7
+ } from "./chunk-YBFJQC2M.js";
8
8
  import "./chunk-EVBFYPDC.js";
9
- import "./chunk-H2G6JXTR.js";
9
+ import "./chunk-HQUORJTM.js";
10
10
  import "./chunk-YYLHWIW6.js";
11
- import "./chunk-U2A47SVI.js";
12
11
  import "./chunk-AGGIDPCZ.js";
13
- import "./chunk-32I5RVMY.js";
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-MRWGHF56.js";
23
- import "./chunk-KUUTWU4I.js";
24
- import "./chunk-H4RYESI6.js";
25
- import "./chunk-VRJUIUIY.js";
26
- import "./chunk-NQ4N4IGO.js";
27
- import "./chunk-FD36SCCD.js";
28
- import "./chunk-QDHZCAH3.js";
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-FA4SY4F5.js";
33
- import "./chunk-56W233KG.js";
34
- import "./chunk-WL3UOGYO.js";
35
- import "./chunk-3QJTD6DO.js";
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-FGEYVPPR.js";
40
- import "./chunk-AV6KQCM5.js";
41
- import "./chunk-SVEUG45B.js";
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-MFI4FGHX.js";
47
+ import "./chunk-SAJSBPI2.js";
45
48
  import "./chunk-QSJ3HFEF.js";
46
- import "./chunk-VULELK4T.js";
49
+ import "./chunk-2WBFJHQA.js";
47
50
  import "./chunk-BJIRLHJR.js";
48
- import "./chunk-PYKV6FSC.js";
51
+ import "./chunk-XOJRZUPF.js";
49
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\u3002\u51B2\u7A81\u6216\u573A\u666F\u4E0D\u660E\u65F6\u8BF4\u660E\u4F9D\u636E\u6216\u7B80\u77ED\u786E\u8BA4\uFF0C\u4E0D\u8981\u786C\u5957\u3002
82
- - \u3010\u7F6E\u4FE1\u5EA6\u6765\u6E90\u3011\u6BCF\u6761\u8BB0\u5FC6\u6709\u6765\u6E90\uFF1Averified\uFF08\u5B9E\u6D4B\u9A8C\u8BC1\uFF0C\u9AD8\u7F6E\u4FE1\u5EA6\uFF09\u3001stated\uFF08\u7528\u6237\u9648\u8FF0\uFF0C\u4E2D\u9AD8\uFF09\u3001inferred\uFF08\u6A21\u578B\u63A8\u65AD\uFF0C\u4F4E\u2014\u2014\u5BB9\u6613\u7F16\u9020\uFF0C\u4F18\u5148\u5B58\u7591\uFF09\u3002\u53EC\u56DE\u65F6\u4F18\u5148\u4F7F\u7528 verified/stated\uFF0Cinferred \u9700\u9A8C\u8BC1\u540E\u518D\u91C7\u7EB3\u3002
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,7 +10,7 @@ import {
10
10
  scheduleExistingRecordReplication,
11
11
  shouldReplaceLocalWithRemoteRecord,
12
12
  shouldReplicateLocalRecord
13
- } from "./chunk-PYKV6FSC.js";
13
+ } from "./chunk-XOJRZUPF.js";
14
14
  import {
15
15
  fetchFromClientDb,
16
16
  fetchFromServer,
@@ -152,30 +152,9 @@ var BUILTIN_AGENT_CATALOG = [
152
152
  model: "gpt-5.5-pro",
153
153
  runtimeFallback: true
154
154
  },
155
- {
156
- id: "01CLSO50DIPB00000000A1DVVU",
157
- group: "public",
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-QDHZCAH3.js";
9
+ } from "./chunk-SVDMVX4G.js";
10
10
  import {
11
11
  isPlatformHostedImageModel
12
- } from "./chunk-WL3UOGYO.js";
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-T27IEBNQ.js";
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-6BYAXNH5.js";
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-SP3DPVBH.js";
36
+ } from "./chunk-KLIBF3BY.js";
37
37
  import {
38
38
  clipCompactText
39
- } from "./chunk-H4RYESI6.js";
39
+ } from "./chunk-BBTN4NQD.js";
40
40
  import {
41
41
  NOLO_CLIENT_VERSION_HEADER
42
- } from "./chunk-WL3UOGYO.js";
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-RGNPI5H2.js");
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`);