nolo-cli 0.38.0-alpha.3 → 0.47.0-alpha.2

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 (134) hide show
  1. package/{_executeModel-SWONBJ7Z.js → _executeModel-5PG6CUWD.js} +41 -42
  2. package/{action-KMBZ3LCZ.js → action-FLLC2SIX.js} +7 -7
  3. package/{addContentAction-KQ44UT2U.js → addContentAction-SVSPUUK4.js} +6 -6
  4. package/{addDialogAgentAction-ILSDCMYL.js → addDialogAgentAction-W3JGU4F7.js} +5 -5
  5. package/{agentDeleteCommand-SMUJYI6N.js → agentDeleteCommand-SHSPQZHI.js} +25 -26
  6. package/{agentEmailCommands-YWCGZ4RO.js → agentEmailCommands-LQKO5GRW.js} +54 -55
  7. package/{agentListCommands-ULFV2XJQ.js → agentListCommands-5QTNEYMQ.js} +31 -29
  8. package/{agentMachineCommands-7YZ2TIYZ.js → agentMachineCommands-P5K454CN.js} +24 -25
  9. package/{agentPullCommand-TSWAJPS2.js → agentPullCommand-M552CYSI.js} +2 -2
  10. package/{agentRecordCommands-EVOSSHJR.js → agentRecordCommands-Z4QYCNP4.js} +50 -51
  11. package/{agentRunCommand-PO55WUIY.js → agentRunCommand-HV3Y34B5.js} +52 -53
  12. package/{agentRunControl-7MUPSYDQ.js → agentRunControl-LHXOP4IU.js} +43 -1
  13. package/{agentRuntimeLocal-Q6D3G6G7.js → agentRuntimeLocal-ZKXYFLXI.js} +20 -21
  14. package/{agentSlice-6TRUUOSX.js → agentSlice-NKFLP3RI.js} +6 -6
  15. package/{agentSuperviseCommands-MKWW3ICX.js → agentSuperviseCommands-IMRZ56RC.js} +2 -2
  16. package/{appDeleteCommands-JDBSRLTX.js → appDeleteCommands-XYGAZIJX.js} +24 -25
  17. package/{appDeployCommands-Q5H2NBKQ.js → appDeployCommands-7T5CABRB.js} +24 -25
  18. package/{appDeployStatusCommands-PSYBUIZT.js → appDeployStatusCommands-KTFQMRPZ.js} +24 -25
  19. package/{appGetCommands-IX64IUW6.js → appGetCommands-HOX2ULSV.js} +24 -25
  20. package/{appListCommands-BJZFX65H.js → appListCommands-3SLCEHND.js} +24 -25
  21. package/{authCommand-B2XRHNJH.js → authCommand-OY2E2VQK.js} +12 -12
  22. package/{authCommands-GWABTFMR.js → authCommands-SBQVTD6V.js} +5 -5
  23. package/{chatQueueReduxAdapter-N7Z5MUPU.js → chatQueueReduxAdapter-WMMBQK3Y.js} +20 -20
  24. package/chunk-25J3BB35.js +6041 -0
  25. package/{chunk-U6QQLXWI.js → chunk-2X5S4IBZ.js} +1 -1
  26. package/{chunk-MJWX4JQO.js → chunk-3EEK7T3D.js} +1 -1
  27. package/{chunk-UNHKVD2N.js → chunk-43CXXVJD.js} +1 -1
  28. package/{chunk-WRP5TTM6.js → chunk-4MXGXSYN.js} +83 -3
  29. package/{chunk-7N7XKGEQ.js → chunk-4ZNDBDWG.js} +6 -6
  30. package/{chunk-XVVNNJAA.js → chunk-5BPZLBFB.js} +20 -51
  31. package/{chunk-MWGCZ4CS.js → chunk-5PPFYHU2.js} +3 -3
  32. package/{chunk-W445DPVT.js → chunk-5QRCPERU.js} +1 -1
  33. package/{chunk-GKHV4UH5.js → chunk-5UOBIU5G.js} +31 -3
  34. package/{chunk-BMB563Y6.js → chunk-6BYAXNH5.js} +3 -3
  35. package/{chunk-SMPAUSX5.js → chunk-6FGXGFAH.js} +2 -2
  36. package/{chunk-46VPXYIV.js → chunk-6LYUN76O.js} +5 -5
  37. package/{chunk-FTM4KUOZ.js → chunk-7XTC3KRG.js} +1 -1
  38. package/{chunk-IMHO5LC6.js → chunk-7XZ5GXSN.js} +1 -1
  39. package/{chunk-E2OQ5N2F.js → chunk-AEXP2UZT.js} +341 -16
  40. package/{chunk-MZZZYUZS.js → chunk-AV2CELZZ.js} +37 -12
  41. package/{chunk-JI2TIPLP.js → chunk-AYXSUBVC.js} +1 -1
  42. package/{chunk-J6WH4PYZ.js → chunk-CIF4X6ZM.js} +1 -1
  43. package/{chunk-GZRMWK5R.js → chunk-DQLYEGP7.js} +2 -2
  44. package/{chunk-GUYMR3JL.js → chunk-E2QH2AYX.js} +69 -3
  45. package/{chunk-B6H5XCT2.js → chunk-EMEUU5IY.js} +3 -3
  46. package/{chunk-X6EN3KJX.js → chunk-ENYDQKOB.js} +319 -71
  47. package/{chunk-RCFIB45Q.js → chunk-EVBFYPDC.js} +2 -2
  48. package/{chunk-PV734VZX.js → chunk-EXLOROHG.js} +1 -1
  49. package/{chunk-WRN7L5CS.js → chunk-FA4SY4F5.js} +1 -1
  50. package/{chunk-4WVNHL3V.js → chunk-FAWK6DBF.js} +157 -51
  51. package/{chunk-IFS5CUEH.js → chunk-FJHLA6SX.js} +1 -1
  52. package/{chunk-T2BZICLK.js → chunk-G46DB6KG.js} +49 -6
  53. package/{chunk-FGLKRJDI.js → chunk-GK74OOFT.js} +2 -2
  54. package/{chunk-LM6IYQ3F.js → chunk-GLKOYSRU.js} +8 -1
  55. package/{chunk-JIADXJYU.js → chunk-H2G6JXTR.js} +1 -1
  56. package/{chunk-IKGHZMK2.js → chunk-H2JQB6B6.js} +12 -12
  57. package/{chunk-MGIHZ5CJ.js → chunk-HAPCUPEO.js} +2 -2
  58. package/{chunk-LD6Y6RJY.js → chunk-HGDOIDQ4.js} +2 -2
  59. package/{chunk-NZLQ7B5P.js → chunk-HOM6NILS.js} +3 -3
  60. package/{chunk-IZNJDUJ4.js → chunk-I4JISVWK.js} +1 -1
  61. package/{chunk-N4XRDM26.js → chunk-IA3A5373.js} +2 -2
  62. package/{chunk-Y5MMUI3L.js → chunk-IWUPQUWA.js} +2 -2
  63. package/{chunk-L7SMDIL6.js → chunk-JEGPB5H2.js} +3 -3
  64. package/{chunk-GEPHJJW4.js → chunk-L7NG2M6H.js} +1 -1
  65. package/{chunk-XQES6LXQ.js → chunk-LFLWZX76.js} +2 -2
  66. package/{chunk-IIOHYLIG.js → chunk-LGUQHYAL.js} +1 -1
  67. package/{chunk-4AWH4LQA.js → chunk-LYGNQHUW.js} +3 -1
  68. package/{db-3H3JECGY.js → chunk-M5PVFLD4.js} +11 -158
  69. package/{chunk-WN5AJG5I.js → chunk-MKZRKDQM.js} +1 -1
  70. package/{chunk-VOXNBPLB.js → chunk-MUIJYGYW.js} +649 -41
  71. package/{chunk-CYAC5WXX.js → chunk-MWT2BBCH.js} +213 -45
  72. package/{chunk-V5GA74HI.js → chunk-MZXZJVVD.js} +20 -39
  73. package/{chunk-ZBB3MZR3.js → chunk-OLNC7AWK.js} +7 -4
  74. package/{chunk-J5NMOM35.js → chunk-OYNDYVSE.js} +1 -1
  75. package/{chunk-C6ELZQ7H.js → chunk-OZVGA4SY.js} +1 -1
  76. package/{chunk-K4KIFRIN.js → chunk-Q24S4NDF.js} +1 -1
  77. package/{chunk-NRROOY22.js → chunk-Q6DMA2OM.js} +271 -130
  78. package/{chunk-2WKUUY2E.js → chunk-SVEUG45B.js} +5 -3
  79. package/{chunk-IZCHPD7T.js → chunk-TNPCQNGQ.js} +11 -6
  80. package/{chunk-4DMPISV6.js → chunk-URBGEE42.js} +2 -2
  81. package/{chunk-2KO5QQFV.js → chunk-V2IPBG5U.js} +1 -1
  82. package/{chunk-B6YYACBT.js → chunk-WPFNAEIW.js} +1 -1
  83. package/{chunk-23KKIMD5.js → chunk-WVGEBWA6.js} +4 -4
  84. package/{chunk-KU6CDTZ5.js → chunk-XMI3APSU.js} +61 -49
  85. package/{chunk-64KIQZA2.js → chunk-XO3G35OV.js} +1 -1
  86. package/{chunk-UWGWUOVN.js → chunk-YNOGNUBC.js} +108 -47
  87. package/{chunk-XT73C4VH.js → chunk-Z5NW3O7V.js} +1 -1
  88. package/{codingSkills-H6N5EKSX.js → codingSkills-BYQI6EPT.js} +2 -2
  89. package/{createAgentAutomationAction-U57ZMPMS.js → createAgentAutomationAction-ENDNA3Q4.js} +21 -21
  90. package/{createDialogAction-MAJLBNK4.js → createDialogAction-2KNX6S2D.js} +23 -23
  91. package/{createPageAction-4EX7HU6G.js → createPageAction-SNBCYPK6.js} +21 -21
  92. package/db-VQSAOWAO.js +162 -0
  93. package/{dbSlice-PIQGICNM.js → dbSlice-XWUM4QOF.js} +5 -5
  94. package/deleteFile-NPZ64DFN.js +1 -1
  95. package/{dialogCommands-4MHZXEIS.js → dialogCommands-6E5P35DG.js} +28 -26
  96. package/{dialogSlice-AL3UJLOJ.js → dialogSlice-RTPOD6EW.js} +20 -20
  97. package/{docCreateCommands-GDYFEK67.js → docCreateCommands-JWY25UFB.js} +23 -24
  98. package/{docDeleteCommands-WIE5CXED.js → docDeleteCommands-BPJOCSX4.js} +24 -25
  99. package/{docReadCommands-LTOOPJVC.js → docReadCommands-BSEZCYTQ.js} +23 -24
  100. package/{docStore-35B5VAFF.js → docStore-TYHVLU7G.js} +22 -22
  101. package/{docUpdateCommands-TZGAGXSG.js → docUpdateCommands-S2IE2VV4.js} +23 -24
  102. package/{fetchMessages-CUEFN4GQ.js → fetchMessages-KZQVBXKY.js} +3 -3
  103. package/{getPricing-P3E2WRIH.js → getPricing-X3HXP6VQ.js} +3 -3
  104. package/{handleSendMessageAction-PXX2R5JS.js → handleSendMessageAction-QYXDQXGH.js} +21 -21
  105. package/index.js +69 -69
  106. package/levelLazyShim-GZBKODGI.js +7 -0
  107. package/{localDialogRead-P7CHFMIC.js → localDialogRead-NQ33HBSI.js} +2 -2
  108. package/{localRuntimeAuthority-S77B5QVB.js → localRuntimeAuthority-KQDAE64E.js} +4 -4
  109. package/{localRuntimeDb-N3H3HQ7G.js → localRuntimeDb-PF7CFKDL.js} +2 -2
  110. package/{machineCommands-VCPPY23X.js → machineCommands-QCE4KLGR.js} +48 -49
  111. package/{machineWsRunDispatch-A4C727GL.js → machineWsRunDispatch-FBRMGU5D.js} +48 -49
  112. package/{models-L7S2EKPM.js → models-7LWATQFH.js} +2 -2
  113. package/package.json +1 -1
  114. package/{read-6C2XD3YZ.js → read-DQQ75VI3.js} +2 -2
  115. package/{readDocTool-Y7AB365O.js → readDocTool-HCQQFAZD.js} +1 -1
  116. package/{readlineWorkspace-BIBIM6DG.js → readlineWorkspace-2TACWKMN.js} +164 -78
  117. package/{removeDialogAgentAction-KG5WMJRZ.js → removeDialogAgentAction-DNONRKST.js} +7 -7
  118. package/{runAgentClientLoop-RKDXMIZW.js → runAgentClientLoop-GBLDVBT5.js} +39 -39
  119. package/{runtimeDoctorCommands-HT4O2PXL.js → runtimeDoctorCommands-JKTTN723.js} +4 -4
  120. package/serverStoreFactory-YMXDF4NI.js +20 -0
  121. package/{setDialogExtraReferencesAction-O2NLXMSM.js → setDialogExtraReferencesAction-ERHUPT3F.js} +6 -6
  122. package/{setPrimaryDialogAgentAction-FYYUY7PB.js → setPrimaryDialogAgentAction-6C2HYNEC.js} +7 -7
  123. package/{settingSlice-GPLI6E3M.js → settingSlice-YVRJFKQX.js} +6 -6
  124. package/{spaceCommands-4FMO3SNP.js → spaceCommands-XOLPJMRK.js} +23 -24
  125. package/{spaceSlice-2W4GJ2OE.js → spaceSlice-OQPAGQDP.js} +21 -21
  126. package/{streamAgentChatTurn-FS52LDQP.js → streamAgentChatTurn-SN5XJJ7U.js} +91 -49
  127. package/{switchDialogAgentAction-GH5P6Q3Z.js → switchDialogAgentAction-HP57XYFP.js} +5 -5
  128. package/{tools-3J5CKEE7.js → tools-Y65Y3CI4.js} +32 -32
  129. package/{tuiSummaryLlmCaller-SHRB4RWM.js → tuiSummaryLlmCaller-NBTWT57U.js} +25 -14
  130. package/{updateDialogTitleAction-5MGPA3OO.js → updateDialogTitleAction-OAOP7CCE.js} +24 -23
  131. package/chunk-4APLX2RT.js +0 -1514
  132. package/chunk-P66M7LSQ.js +0 -58
  133. package/{chunk-6WD3OOJS.js → chunk-UV6VISQJ.js} +0 -0
  134. package/{tableCommands-PQUJ55AS.js → tableCommands-P2TXJ3CF.js} +1 -1
@@ -28,6 +28,297 @@ var resolveFireworksKimiModel = (model) => {
28
28
  return model ?? "";
29
29
  };
30
30
 
31
+ // packages/ai/llm/platformHostedRoutingTable.ts
32
+ var PLATFORM_HOSTED_CLAUDE_SONNET_5_MODEL = "anthropic/claude-sonnet-5";
33
+ var PLATFORM_HOSTED_CLAUDE_OPUS_5_MODEL = "anthropic/claude-opus-5";
34
+ var PLATFORM_HOSTED_CLAUDE_FABLE_5_MODEL = "anthropic/claude-fable-5";
35
+ var PLATFORM_HOSTED_GROK_4_6_MODEL = "grok-4.6";
36
+ var PLATFORM_HOSTED_KIMI_K26_OPENROUTER_MODEL_ID = "qwen/qwen3.8-27b";
37
+ var PLATFORM_HOSTED_GLM_53_MODEL = "glm-5.3";
38
+ var PLATFORM_HOSTED_GLM_52_MODEL = "glm-5.2";
39
+ var PLATFORM_HOSTED_GLM_53_FLASH_MODEL = "glm-5-3-flash";
40
+ var PLATFORM_HOSTED_GEMINI_37_FLASH_MODEL = "gemini-3.7-flash";
41
+ var PLATFORM_HOSTED_GEMINI_FLASH_IMAGE_MODEL = "gemini-3.1-flash-image-preview";
42
+ var PLATFORM_HOSTED_GEMINI_PRO_IMAGE_MODEL = "gemini-3-pro-image-preview";
43
+ var PLATFORM_HOSTED_GEMINI_FLASH_LITE_IMAGE_MODEL = "gemini-3.1-flash-lite-image";
44
+ var PLATFORM_HOSTED_OPENAI_IMAGE_MODEL = "gpt-image-2";
45
+ var PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL = "deepseek-v4-flash";
46
+ var PLATFORM_HOSTED_DEEPSEEK_FLASH_VISION_EXP_MODEL = "deepseek-v4-flash-vision-exp";
47
+ var PLATFORM_HOSTED_DEEPSEEK_PRO_MODEL = "deepseek-v4-pro";
48
+ var PLATFORM_HOSTED_KIMI_K3_MIN_CLIENT_VERSION = "0.38.0-alpha.4";
49
+ var PLATFORM_HOSTED_GLM_53_FLASH_MIN_CLIENT_VERSION = "0.33.0-alpha.1";
50
+ var PLATFORM_HOSTED_ROUTING_TABLE = {
51
+ [PLATFORM_HOSTED_KIMI_K26_MODEL]: {
52
+ endpoint: "https://openrouter.ai/api/v1/chat/completions",
53
+ usageProvider: "openrouter",
54
+ keyName: "openrouter",
55
+ upstreamModelId: PLATFORM_HOSTED_KIMI_K26_OPENROUTER_MODEL_ID,
56
+ wire: "chat.completions",
57
+ agentRunHosted: true
58
+ },
59
+ [PLATFORM_HOSTED_GLM_53_MODEL]: {
60
+ endpoint: "https://crof.ai/v1/chat/completions",
61
+ usageProvider: "upstream-k3",
62
+ keyName: "upstream-k3",
63
+ wire: "chat.completions",
64
+ agentRunHosted: true
65
+ },
66
+ [PLATFORM_HOSTED_GLM_52_MODEL]: {
67
+ endpoint: "https://crof.ai/v1/chat/completions",
68
+ usageProvider: "upstream-k3",
69
+ keyName: "upstream-k3",
70
+ upstreamModelId: PLATFORM_HOSTED_GLM_53_MODEL,
71
+ wire: "chat.completions",
72
+ agentRunHosted: true
73
+ },
74
+ // GLM 5.3 Flash -> RunInfra (独家廉价快档)
75
+ [PLATFORM_HOSTED_GLM_53_FLASH_MODEL]: {
76
+ endpoint: "https://api.runinfra.ai/v1/chat/completions",
77
+ usageProvider: "runinfra",
78
+ keyName: "runinfra",
79
+ wire: "chat.completions",
80
+ agentRunHosted: true,
81
+ minClientVersion: PLATFORM_HOSTED_GLM_53_FLASH_MIN_CLIENT_VERSION
82
+ },
83
+ "glm-5.3-flash": {
84
+ endpoint: "https://api.runinfra.ai/v1/chat/completions",
85
+ usageProvider: "runinfra",
86
+ keyName: "runinfra",
87
+ wire: "chat.completions",
88
+ agentRunHosted: true,
89
+ minClientVersion: PLATFORM_HOSTED_GLM_53_FLASH_MIN_CLIENT_VERSION
90
+ },
91
+ // wire 要求专属 body quirk(删采样参数 + max_completion_tokens),旧客户端本地直连必断。
92
+ [PLATFORM_HOSTED_KIMI_K3_MODEL]: {
93
+ endpoint: "https://crof.ai/v1/chat/completions",
94
+ usageProvider: "upstream-k3",
95
+ keyName: "upstream-k3",
96
+ wire: "chat.completions",
97
+ agentRunHosted: true,
98
+ minClientVersion: PLATFORM_HOSTED_KIMI_K3_MIN_CLIENT_VERSION
99
+ },
100
+ // Gemini 3.7 Flash -> Google official OpenAI-compatible endpoint
101
+ [PLATFORM_HOSTED_GEMINI_37_FLASH_MODEL]: {
102
+ endpoint: "https://generativelanguage.googleapis.com/v1beta/openai/chat/completions",
103
+ usageProvider: "google",
104
+ keyName: "google",
105
+ wire: "chat.completions",
106
+ agentRunHosted: true
107
+ },
108
+ // Gemini Image models -> Google
109
+ [PLATFORM_HOSTED_GEMINI_FLASH_IMAGE_MODEL]: {
110
+ endpoint: "https://generativelanguage.googleapis.com/v1beta/openai/chat/completions",
111
+ usageProvider: "google",
112
+ keyName: "google",
113
+ wire: "chat.completions",
114
+ agentRunHosted: true
115
+ },
116
+ [PLATFORM_HOSTED_GEMINI_PRO_IMAGE_MODEL]: {
117
+ endpoint: "https://generativelanguage.googleapis.com/v1beta/openai/chat/completions",
118
+ usageProvider: "google",
119
+ keyName: "google",
120
+ wire: "chat.completions",
121
+ agentRunHosted: true
122
+ },
123
+ [PLATFORM_HOSTED_GEMINI_FLASH_LITE_IMAGE_MODEL]: {
124
+ endpoint: "https://generativelanguage.googleapis.com/v1beta/openai/chat/completions",
125
+ usageProvider: "google",
126
+ keyName: "google",
127
+ wire: "chat.completions",
128
+ agentRunHosted: true
129
+ },
130
+ // Claude models -> DeepInfra(server agentRun 侧未分流,保持 no upstream route 报错)
131
+ [PLATFORM_HOSTED_CLAUDE_SONNET_5_MODEL]: {
132
+ endpoint: "https://api.deepinfra.com/v1/openai/chat/completions",
133
+ usageProvider: "deepinfra",
134
+ keyName: "deepinfra",
135
+ wire: "chat.completions",
136
+ agentRunHosted: false
137
+ },
138
+ [PLATFORM_HOSTED_CLAUDE_OPUS_5_MODEL]: {
139
+ endpoint: "https://api.deepinfra.com/v1/openai/chat/completions",
140
+ usageProvider: "deepinfra",
141
+ keyName: "deepinfra",
142
+ wire: "chat.completions",
143
+ agentRunHosted: false
144
+ },
145
+ [PLATFORM_HOSTED_CLAUDE_FABLE_5_MODEL]: {
146
+ endpoint: "https://api.deepinfra.com/v1/openai/chat/completions",
147
+ usageProvider: "deepinfra",
148
+ keyName: "deepinfra",
149
+ wire: "chat.completions",
150
+ agentRunHosted: false
151
+ },
152
+ // Grok -> xAI(server agentRun 侧未分流,保持 no upstream route 报错)
153
+ [PLATFORM_HOSTED_GROK_4_6_MODEL]: {
154
+ endpoint: "https://api.x.ai/v1/chat/completions",
155
+ usageProvider: "xai",
156
+ keyName: "xai",
157
+ wire: "chat.completions",
158
+ agentRunHosted: false
159
+ },
160
+ // OpenAI Image -> OpenAI Responses API
161
+ [PLATFORM_HOSTED_OPENAI_IMAGE_MODEL]: {
162
+ endpoint: "https://api.openai.com/v1/responses",
163
+ usageProvider: "openai",
164
+ keyName: "openai",
165
+ wire: "responses",
166
+ agentRunHosted: true
167
+ },
168
+ // DeepSeek Flash / Vision -> DeepSeek Responses API(agentRun 走专用 responses 编排)
169
+ [PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL]: {
170
+ endpoint: "https://api.deepseek.com/responses",
171
+ usageProvider: "deepseek",
172
+ keyName: "deepseek",
173
+ wire: "responses",
174
+ agentRunHosted: false
175
+ },
176
+ [PLATFORM_HOSTED_DEEPSEEK_FLASH_VISION_EXP_MODEL]: {
177
+ endpoint: "https://api.deepseek.com/responses",
178
+ usageProvider: "deepseek",
179
+ keyName: "deepseek",
180
+ wire: "responses",
181
+ agentRunHosted: false
182
+ },
183
+ // deepseek-v4-pro 独立于 flash 走 RunInfra(官方 chat.completions wire,非 DeepSeek responses)
184
+ [PLATFORM_HOSTED_DEEPSEEK_PRO_MODEL]: {
185
+ endpoint: "https://api.runinfra.ai/v1/chat/completions",
186
+ usageProvider: "runinfra",
187
+ keyName: "runinfra",
188
+ wire: "chat.completions",
189
+ agentRunHosted: true
190
+ }
191
+ };
192
+ function resolvePlatformHostedRouting(model) {
193
+ const normalized = asTrimmedLowercaseString(model);
194
+ if (!normalized) return void 0;
195
+ return PLATFORM_HOSTED_ROUTING_TABLE[normalized];
196
+ }
197
+ function resolvePlatformHostedMinClientVersion(model) {
198
+ return resolvePlatformHostedRouting(model)?.minClientVersion;
199
+ }
200
+
201
+ // packages/core/clientVersionGate.ts
202
+ var NOLO_CLIENT_VERSION_HEADER = "x-nolo-client-version";
203
+ var CLIENT_VERSION_TOO_OLD_CODE = "CLIENT_VERSION_TOO_OLD";
204
+ var NUMERIC_ONLY = /^[0-9]+$/;
205
+ function parseSemver(raw) {
206
+ if (typeof raw !== "string") return null;
207
+ let text = raw.trim();
208
+ if (!text) return null;
209
+ if (text.startsWith("v") || text.startsWith("V")) text = text.slice(1);
210
+ const plusAt = text.indexOf("+");
211
+ if (plusAt >= 0) text = text.slice(0, plusAt);
212
+ const dashAt = text.indexOf("-");
213
+ const core = dashAt >= 0 ? text.slice(0, dashAt) : text;
214
+ const preRaw = dashAt >= 0 ? text.slice(dashAt + 1) : "";
215
+ const parts = core.split(".");
216
+ if (parts.length < 1 || parts.length > 3) return null;
217
+ const nums = [];
218
+ for (const part of parts) {
219
+ if (!NUMERIC_ONLY.test(part)) return null;
220
+ const value = Number(part);
221
+ if (!Number.isSafeInteger(value)) return null;
222
+ nums.push(value);
223
+ }
224
+ const [major, minor = 0, patch = 0] = nums;
225
+ if (dashAt >= 0 && !preRaw) return null;
226
+ const prerelease = [];
227
+ if (preRaw) {
228
+ for (const id of preRaw.split(".")) {
229
+ if (!id) return null;
230
+ if (NUMERIC_ONLY.test(id)) {
231
+ const value = Number(id);
232
+ if (!Number.isSafeInteger(value)) return null;
233
+ prerelease.push(value);
234
+ } else {
235
+ prerelease.push(id);
236
+ }
237
+ }
238
+ }
239
+ return { major, minor, patch, prerelease };
240
+ }
241
+ var comparePrerelease = (a, b) => {
242
+ if (a.length === 0 && b.length === 0) return 0;
243
+ if (a.length === 0) return 1;
244
+ if (b.length === 0) return -1;
245
+ const len = Math.min(a.length, b.length);
246
+ for (let i = 0; i < len; i += 1) {
247
+ const left = a[i];
248
+ const right = b[i];
249
+ const leftNumeric = typeof left === "number";
250
+ const rightNumeric = typeof right === "number";
251
+ if (leftNumeric && rightNumeric) {
252
+ if (left !== right) return left < right ? -1 : 1;
253
+ continue;
254
+ }
255
+ if (leftNumeric !== rightNumeric) return leftNumeric ? -1 : 1;
256
+ const l = String(left);
257
+ const r = String(right);
258
+ if (l !== r) return l < r ? -1 : 1;
259
+ }
260
+ if (a.length === b.length) return 0;
261
+ return a.length < b.length ? -1 : 1;
262
+ };
263
+ function compareParsedSemver(a, b) {
264
+ if (a.major !== b.major) return a.major < b.major ? -1 : 1;
265
+ if (a.minor !== b.minor) return a.minor < b.minor ? -1 : 1;
266
+ if (a.patch !== b.patch) return a.patch < b.patch ? -1 : 1;
267
+ return comparePrerelease(a.prerelease, b.prerelease);
268
+ }
269
+ function compareSemver(a, b) {
270
+ const left = parseSemver(a);
271
+ const right = parseSemver(b);
272
+ if (!left || !right) return null;
273
+ return compareParsedSemver(left, right);
274
+ }
275
+ function isClientVersionBelow(clientVersion, minClientVersion) {
276
+ if (!minClientVersion) return false;
277
+ const cmp = compareSemver(clientVersion, minClientVersion);
278
+ if (cmp === null) return false;
279
+ return cmp < 0;
280
+ }
281
+ function buildClientVersionUpgradeMessage(args) {
282
+ const current = args.clientVersion?.trim();
283
+ const currentText = current ? `\u5F53\u524D ${current}` : "\u5F53\u524D\u7248\u672C\u8FC7\u65E7";
284
+ return `\u6A21\u578B\u300C${args.model}\u300D\u9700\u8981 nolo-cli \u2265 ${args.minClientVersion}\uFF08${currentText}\uFF09\u3002\u8BF7\u5347\u7EA7\u5BA2\u6237\u7AEF\uFF08npx nolo-cli@latest\uFF0C\u6216\u684C\u9762\u7AEF\u5E94\u7528\u5185\u66F4\u65B0\uFF09\u540E\u91CD\u8BD5\uFF1B\u4E5F\u53EF\u4EE5\u5148\u6362\u7528\u5176\u4ED6\u6A21\u578B\u3002`;
285
+ }
286
+
287
+ // packages/ai/llm/platformHostedClientVersionGate.ts
288
+ var PASS = { blocked: false };
289
+ function evaluatePlatformHostedClientVersionGate(input) {
290
+ if (input.isCustomApi || input.hasExplicitCredential) return PASS;
291
+ if (!isNoloHostedProvider(input.provider)) return PASS;
292
+ const model = asTrimmedLowercaseString(input.model);
293
+ if (!model) return PASS;
294
+ const minClientVersion = resolvePlatformHostedMinClientVersion(model);
295
+ if (!minClientVersion) return PASS;
296
+ const clientVersion = input.clientVersion?.trim() || void 0;
297
+ if (!isClientVersionBelow(clientVersion, minClientVersion)) return PASS;
298
+ return {
299
+ blocked: true,
300
+ code: CLIENT_VERSION_TOO_OLD_CODE,
301
+ message: buildClientVersionUpgradeMessage({
302
+ model,
303
+ minClientVersion,
304
+ ...clientVersion ? { clientVersion } : {}
305
+ }),
306
+ model,
307
+ minClientVersion,
308
+ ...clientVersion ? { clientVersion } : {}
309
+ };
310
+ }
311
+ function buildClientVersionGateErrorDetail(decision) {
312
+ return {
313
+ reason: CLIENT_VERSION_TOO_OLD_CODE,
314
+ model: decision.model,
315
+ minClientVersion: decision.minClientVersion,
316
+ ...decision.clientVersion ? { clientVersion: decision.clientVersion } : {},
317
+ upgradeCommand: "npx nolo-cli@latest",
318
+ retryable: false
319
+ };
320
+ }
321
+
31
322
  // packages/ai/llm/deepinfra.ts
32
323
  var DEEPINFRA_CLAUDE_HAIKU_PRICE = {
33
324
  input: 1 * 9,
@@ -85,30 +376,16 @@ var deepinfraModels = [
85
376
  ];
86
377
 
87
378
  // packages/ai/llm/platformHosted.ts
88
- var PLATFORM_HOSTED_CLAUDE_SONNET_5_MODEL = "anthropic/claude-sonnet-5";
89
- var PLATFORM_HOSTED_CLAUDE_OPUS_5_MODEL = "anthropic/claude-opus-5";
90
- var PLATFORM_HOSTED_CLAUDE_FABLE_5_MODEL = "anthropic/claude-fable-5";
91
- var PLATFORM_HOSTED_CLAUDE_MODELS = [
92
- PLATFORM_HOSTED_CLAUDE_SONNET_5_MODEL,
93
- PLATFORM_HOSTED_CLAUDE_OPUS_5_MODEL,
94
- PLATFORM_HOSTED_CLAUDE_FABLE_5_MODEL
95
- ];
96
- var isPlatformHostedClaudeModel = (model) => PLATFORM_HOSTED_CLAUDE_MODELS.some(
97
- (m) => asTrimmedLowercaseString(model) === m
98
- );
99
379
  var PLATFORM_CREDITS_PER_USD = 8;
100
380
  var toPlatformCredits = (usdPerMillion) => Number((usdPerMillion * PLATFORM_CREDITS_PER_USD).toFixed(6));
101
381
  var CNY_UPSTREAM_MULTIPLIER = 1.2;
102
382
  var toCnyCredits = (cnyPerMillion) => Number((cnyPerMillion * CNY_UPSTREAM_MULTIPLIER).toFixed(6));
103
- var PLATFORM_HOSTED_GROK_4_6_MODEL = "grok-4.6";
104
- var isPlatformHostedGrokModel = (model) => asTrimmedLowercaseString(model) === PLATFORM_HOSTED_GROK_4_6_MODEL;
105
383
  var PLATFORM_HOSTED_GROK_PRICE = {
106
384
  input: toPlatformCredits(2),
107
385
  // 16 credits
108
386
  output: toPlatformCredits(6)
109
387
  // 48 credits
110
388
  };
111
- var isPlatformHostedKimiK26Model = (model) => asTrimmedLowercaseString(model) === PLATFORM_HOSTED_KIMI_K26_MODEL;
112
389
  var PLATFORM_HOSTED_KIMI_PRICE = {
113
390
  input: toPlatformCredits(0.4),
114
391
  // 3.2 credits
@@ -125,21 +402,14 @@ var PLATFORM_HOSTED_KIMI_K3_PRICE = {
125
402
  inputCacheHit: 2,
126
403
  output: 64
127
404
  };
128
- var PLATFORM_HOSTED_GLM_53_MODEL = "glm-5.3";
129
- var PLATFORM_HOSTED_GLM_52_MODEL = "glm-5.2";
130
- var isPlatformHostedGlmModel = (model) => {
131
- const m = asTrimmedLowercaseString(model);
132
- return m === PLATFORM_HOSTED_GLM_53_MODEL || m === PLATFORM_HOSTED_GLM_52_MODEL;
133
- };
134
405
  var PLATFORM_HOSTED_GLM_PRICE = {
135
406
  input: 7.84,
136
407
  // 11.2 credits
137
- inputCacheHit: 1.456,
138
- // 2.08 credits
408
+ inputCacheHit: toPlatformCredits(0.06),
409
+ // 0.48 credits
139
410
  output: 24.64
140
411
  // 35.2 credits (35.2 = 35.2)
141
412
  };
142
- var PLATFORM_HOSTED_GLM_53_FLASH_MODEL = "glm-5-3-flash";
143
413
  var PLATFORM_HOSTED_GLM_53_FLASH_PRICE = {
144
414
  input: toPlatformCredits(0.1),
145
415
  // 0.8 credits
@@ -148,11 +418,6 @@ var PLATFORM_HOSTED_GLM_53_FLASH_PRICE = {
148
418
  output: toPlatformCredits(0.4)
149
419
  // 3.2 credits
150
420
  };
151
- var isPlatformHostedGlm53FlashModel = (model) => {
152
- const m = asTrimmedLowercaseString(model);
153
- return m === PLATFORM_HOSTED_GLM_53_FLASH_MODEL || m === "glm-5.3-flash";
154
- };
155
- var PLATFORM_HOSTED_GEMINI_37_FLASH_MODEL = "gemini-3.7-flash";
156
421
  var PLATFORM_HOSTED_GEMINI_37_FLASH_PRICE = {
157
422
  input: 4.2,
158
423
  // 6.0 credits
@@ -163,12 +428,7 @@ var PLATFORM_HOSTED_GEMINI_37_FLASH_PRICE = {
163
428
  cachingRead: 0.42
164
429
  // 0.6 credits
165
430
  };
166
- var isPlatformHostedGeminiModel = (model) => asTrimmedLowercaseString(model) === PLATFORM_HOSTED_GEMINI_37_FLASH_MODEL;
167
- var PLATFORM_HOSTED_OPENAI_IMAGE_MODEL = "gpt-image-2";
168
431
  var isPlatformHostedOpenAIImageModel = (model) => asTrimmedLowercaseString(model) === PLATFORM_HOSTED_OPENAI_IMAGE_MODEL;
169
- var PLATFORM_HOSTED_GEMINI_FLASH_LITE_IMAGE_MODEL = "gemini-3.1-flash-lite-image";
170
- var PLATFORM_HOSTED_GEMINI_FLASH_IMAGE_MODEL = "gemini-3.1-flash-image-preview";
171
- var PLATFORM_HOSTED_GEMINI_PRO_IMAGE_MODEL = "gemini-3-pro-image-preview";
172
432
  var PLATFORM_HOSTED_GEMINI_IMAGE_MODELS = [
173
433
  PLATFORM_HOSTED_GEMINI_FLASH_LITE_IMAGE_MODEL,
174
434
  PLATFORM_HOSTED_GEMINI_FLASH_IMAGE_MODEL,
@@ -216,9 +476,6 @@ var createPlatformHostedGeminiImageModel = ({
216
476
  imageGenerationProfiles,
217
477
  supportsTool: false
218
478
  });
219
- var PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL = "deepseek-v4-flash";
220
- var PLATFORM_HOSTED_DEEPSEEK_FLASH_VISION_EXP_MODEL = "deepseek-v4-flash-vision-exp";
221
- var PLATFORM_HOSTED_DEEPSEEK_PRO_MODEL = "deepseek-v4-pro";
222
479
  var PLATFORM_HOSTED_DEEPSEEK_FLASH_PEAK_PRICE = {
223
480
  input: toCnyCredits(3),
224
481
  // ¥3
@@ -227,14 +484,6 @@ var PLATFORM_HOSTED_DEEPSEEK_FLASH_PEAK_PRICE = {
227
484
  output: toCnyCredits(9)
228
485
  // ¥9
229
486
  };
230
- var PLATFORM_HOSTED_DEEPSEEK_PRO_PEAK_PRICE = {
231
- input: toCnyCredits(9),
232
- // ¥9
233
- inputCacheHit: toCnyCredits(0.3),
234
- // ¥0.3
235
- output: toCnyCredits(27)
236
- // ¥27
237
- };
238
487
  var PLATFORM_HOSTED_DEEPSEEK_FLASH_OFF_PEAK_PRICE = {
239
488
  input: toCnyCredits(1.5),
240
489
  // ¥1.5
@@ -243,13 +492,13 @@ var PLATFORM_HOSTED_DEEPSEEK_FLASH_OFF_PEAK_PRICE = {
243
492
  output: toCnyCredits(4.5)
244
493
  // ¥4.5
245
494
  };
246
- var PLATFORM_HOSTED_DEEPSEEK_PRO_OFF_PEAK_PRICE = {
247
- input: toCnyCredits(4.5),
248
- // ¥4.5
249
- inputCacheHit: toCnyCredits(0.15),
250
- // ¥0.15
251
- output: toCnyCredits(13.5)
252
- // ¥13.5
495
+ var PLATFORM_HOSTED_DEEPSEEK_PRO_PRICE = {
496
+ input: 3.36,
497
+ // 4.8 credits
498
+ inputCacheHit: 0.168,
499
+ // 0.24 credits
500
+ output: toPlatformCredits(1.9)
501
+ // 15.2 credits
253
502
  };
254
503
  var isDeepSeekOffPeakBeijingTime = (nowMs = Date.now()) => {
255
504
  const beijing = new Date(nowMs + 8 * 60 * 60 * 1e3);
@@ -259,15 +508,12 @@ var isDeepSeekOffPeakBeijingTime = (nowMs = Date.now()) => {
259
508
  const isPeakWindow = beijingHour >= 9 && beijingHour < 12 || beijingHour >= 14 && beijingHour < 18;
260
509
  return !isPeakWindow;
261
510
  };
262
- var getPlatformHostedDeepSeekV4Price = (model, nowMs = Date.now()) => {
511
+ var getPlatformHostedDeepSeekV4Price = (_model, nowMs = Date.now()) => {
263
512
  const isOffPeak = isDeepSeekOffPeakBeijingTime(nowMs);
264
- if (model === PLATFORM_HOSTED_DEEPSEEK_PRO_MODEL) {
265
- return isOffPeak ? PLATFORM_HOSTED_DEEPSEEK_PRO_OFF_PEAK_PRICE : PLATFORM_HOSTED_DEEPSEEK_PRO_PEAK_PRICE;
266
- }
267
513
  return isOffPeak ? PLATFORM_HOSTED_DEEPSEEK_FLASH_OFF_PEAK_PRICE : PLATFORM_HOSTED_DEEPSEEK_FLASH_PEAK_PRICE;
268
514
  };
269
- var isPlatformHostedDeepSeekV4Model = (model) => model === PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL || model === PLATFORM_HOSTED_DEEPSEEK_FLASH_VISION_EXP_MODEL || model === PLATFORM_HOSTED_DEEPSEEK_PRO_MODEL;
270
- var isPlatformHostedDeepseekModel = (model) => model === PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL || model === PLATFORM_HOSTED_DEEPSEEK_FLASH_VISION_EXP_MODEL || model === PLATFORM_HOSTED_DEEPSEEK_PRO_MODEL;
515
+ var isPlatformHostedDeepSeekV4Model = (model) => model === PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL || model === PLATFORM_HOSTED_DEEPSEEK_FLASH_VISION_EXP_MODEL;
516
+ var isPlatformHostedDeepseekModel = (model) => model === PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL || model === PLATFORM_HOSTED_DEEPSEEK_FLASH_VISION_EXP_MODEL;
271
517
  var platformHostedModels = [
272
518
  {
273
519
  name: PLATFORM_HOSTED_KIMI_K3_MODEL,
@@ -277,7 +523,11 @@ var platformHostedModels = [
277
523
  maxOutputTokens: 262144,
278
524
  contextWindow: 1e6,
279
525
  supportsTool: true,
280
- supportsReasoningEffort: true
526
+ supportsReasoningEffort: true,
527
+ // 客户端版本闸门第 1 层(目录标注):随模型列表下发,新客户端据此置灰 +
528
+ // 提示升级。真值在 platformHostedRoutingTable(见
529
+ // platformHosted.clientVersionGate.test.ts 的目录↔路由表对齐断言)。
530
+ minClientVersion: PLATFORM_HOSTED_KIMI_K3_MIN_CLIENT_VERSION
281
531
  },
282
532
  {
283
533
  name: PLATFORM_HOSTED_KIMI_K26_MODEL,
@@ -336,9 +586,7 @@ var platformHostedModels = [
336
586
  name: PLATFORM_HOSTED_DEEPSEEK_PRO_MODEL,
337
587
  displayName: "DeepSeek V4 Pro",
338
588
  hasVision: false,
339
- price: { ...PLATFORM_HOSTED_DEEPSEEK_PRO_PEAK_PRICE },
340
- peakPrice: { ...PLATFORM_HOSTED_DEEPSEEK_PRO_PEAK_PRICE },
341
- offPeakPrice: { ...PLATFORM_HOSTED_DEEPSEEK_PRO_OFF_PEAK_PRICE },
589
+ price: { ...PLATFORM_HOSTED_DEEPSEEK_PRO_PRICE },
342
590
  maxOutputTokens: 384e3,
343
591
  contextWindow: 1e6,
344
592
  supportsTool: true,
@@ -352,7 +600,8 @@ var platformHostedModels = [
352
600
  maxOutputTokens: 98304,
353
601
  contextWindow: 1048576,
354
602
  supportsTool: true,
355
- supportsReasoningEffort: false
603
+ supportsReasoningEffort: false,
604
+ minClientVersion: PLATFORM_HOSTED_GLM_53_FLASH_MIN_CLIENT_VERSION
356
605
  },
357
606
  {
358
607
  name: PLATFORM_HOSTED_CLAUDE_SONNET_5_MODEL,
@@ -549,18 +798,17 @@ export {
549
798
  isFireworksKimiModel,
550
799
  isDeepInfraKimiModel,
551
800
  resolveFireworksKimiModel,
552
- isPlatformHostedClaudeModel,
801
+ PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL,
802
+ PLATFORM_HOSTED_DEEPSEEK_FLASH_VISION_EXP_MODEL,
803
+ resolvePlatformHostedRouting,
804
+ NOLO_CLIENT_VERSION_HEADER,
805
+ CLIENT_VERSION_TOO_OLD_CODE,
806
+ buildClientVersionUpgradeMessage,
807
+ evaluatePlatformHostedClientVersionGate,
808
+ buildClientVersionGateErrorDetail,
553
809
  toCnyCredits,
554
- isPlatformHostedGrokModel,
555
- isPlatformHostedKimiK26Model,
556
- isPlatformHostedGlmModel,
557
- isPlatformHostedGlm53FlashModel,
558
- isPlatformHostedGeminiModel,
559
810
  isPlatformHostedOpenAIImageModel,
560
- isPlatformHostedGeminiImageModel,
561
811
  isPlatformHostedImageModel,
562
- PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL,
563
- PLATFORM_HOSTED_DEEPSEEK_FLASH_VISION_EXP_MODEL,
564
812
  PLATFORM_HOSTED_DEEPSEEK_FLASH_PEAK_PRICE,
565
813
  getPlatformHostedDeepSeekV4Price,
566
814
  isPlatformHostedDeepSeekV4Model,
@@ -8,7 +8,7 @@ var BUILTIN_TITLE_LLM_CONFIG = {
8
8
  provider: "nolo",
9
9
  id: "builtin-dialog-title-llm",
10
10
  name: "Builtin Dialog Title LLM",
11
- model: "deepseek-v4-flash",
11
+ model: "glm-5-3-flash",
12
12
  prompt: "You are a title generator for chat history. \u4F60\u53EA\u505A\u4E00\u4EF6\u4E8B\uFF1A\u6839\u636E\u5BF9\u8BDD\u5185\u5BB9\u8F93\u51FA\u6700\u7EC8\u6807\u9898\u3002\u786C\u6027\u89C4\u5219\uFF1A1) \u53EA\u8F93\u51FA\u6807\u9898\u8FD9\u4E00\u884C\uFF1B\u4E25\u7981\u8F93\u51FA\u63A8\u7406\u3001\u5206\u6790\u3001\u6B65\u9AA4\u3001\u89E3\u91CA\u3001\u524D\u8A00\u3001\u540E\u8BB0\u3001\u7FFB\u8BD1\u3001\u81F4\u6B49\u6216\u4EFB\u4F55\u989D\u5916\u8BF4\u660E\u30022) \u4E0D\u8981\u56DE\u7B54\u7528\u6237\u8BF7\u6C42\uFF0C\u4E0D\u8981\u5199\u6458\u8981\uFF0C\u53EA\u7ED9\u6807\u9898\u7ED3\u679C\u30023) \u6807\u9898\u5C3D\u91CF\u77ED\uFF1A\u901A\u5E38 2-5 \u4E2A\u8BCD\uFF0C\u82F1\u6587\u4E0D\u8D85\u8FC7 6 \u4E2A\u8BCD\u30024) \u4F7F\u7528\u5BF9\u8BDD\u4E3B\u8BED\u8A00\uFF1B\u6DF7\u5408\u8BED\u8A00\u65F6\u4F18\u5148\u7528\u6237\u4E3B\u8981\u8BED\u8A00\u30025) \u4F18\u5148\u590D\u7528\u5BF9\u8BDD\u4E2D\u7684\u5177\u4F53\u4E3B\u9898\u8BCD\uFF0C\u907F\u514D issue\u3001help\u3001discussion\u3001analysis\u3001update \u8FD9\u7C7B\u7A7A\u6CDB\u8BCD\u30026) \u5FFD\u7565 tool JSON\u3001\u51FD\u6570\u540D\u3001branch label\u3001agent \u540D\u3001\u7CFB\u7EDF\u6307\u4EE4\u548C\u7F16\u6392\u75D5\u8FF9\uFF08\u5982 GPT\u3001Claude\u3001Gemini\uFF09\uFF1B\u6807\u9898\u8981\u843D\u5728\u7528\u6237\u771F\u6B63\u8BA8\u8BBA\u7684\u5BF9\u8C61\u6216\u51B3\u7B56\u4E0A\u30027) \u66F4\u504F\u597D\u201C\u5BF9\u8C61 + \u52A8\u4F5C/\u5224\u65AD\u201D\u7684\u77ED\u6807\u9898\uFF0C\u4F8B\u5982\u201CAI \u90AE\u4EF6\u52A9\u624B\u53D6\u820D\u201D\u201C\u4E1C\u4EAC\u56DB\u65E5\u6162\u65C5\u884C\u201D\u201C\u91CD\u590D\u6263\u8D39\u9000\u6B3E\u201D\u30028) \u7EAF\u6587\u672C\uFF0C\u4E0D\u8981\u9879\u76EE\u7B26\u53F7\u3001\u7F16\u53F7\u3001markdown\u3001emoji\u3002\u6700\u7EC8\u53EA\u8FD4\u56DE\u6807\u9898\u6587\u672C\u3002 Output only the title text."
13
13
  };
14
14
  var BUILTIN_SUMMARY_LLM_CONFIG = {
@@ -16,7 +16,7 @@ var BUILTIN_SUMMARY_LLM_CONFIG = {
16
16
  provider: "nolo",
17
17
  id: "builtin-dialog-summary-llm",
18
18
  name: "Builtin Dialog Summary LLM",
19
- model: "deepseek-v4-flash",
19
+ model: "glm-5-3-flash",
20
20
  // @deprecated 用 COMPACTION_SUMMARY_SYSTEM_PROMPT(packages/ai/context/compactionShared.ts)。
21
21
  // 生产代码已全部迁移;此旧两段式 prompt 仅被 scripts/probes/dialog 探针脚本使用,待探针迁移后删除。
22
22
  prompt: "\u4F60\u662F\u4E00\u4E2A\u4E13\u4E1A\u7684\u5BF9\u8BDD\u8BB0\u5FC6\u52A9\u7406\u3002\u8BF7\u57FA\u4E8E\u3010\u73B0\u6709\u8BB0\u5FC6\u3011\u548C\u3010\u65B0\u589E\u5BF9\u8BDD\u3011\uFF0C\u8F93\u51FA\u4E00\u4EFD\u66F4\u65B0\u540E\u7684\u5BF9\u8BDD\u8BB0\u5FC6\u6863\u6848\u3002\u4E25\u683C\u53EA\u8F93\u51FA\u4E0B\u9762\u4E24\u90E8\u5206\uFF0C\u6807\u9898\u5FC5\u987B\u5B8C\u5168\u4E00\u81F4\uFF1A\n\u5173\u952E\u4E8B\u5B9E\u6863\u6848\n- ...\n\u5BF9\u8BDD\u5267\u60C5\u6458\u8981\n- ...\n\u8981\u6C42\uFF1A1) \u4F7F\u7528\u5BF9\u8BDD\u4E3B\u8BED\u8A00\uFF1B\u6DF7\u5408\u8BED\u8A00\u65F6\u4F18\u5148\u8DDF\u968F\u7528\u6237\u4E3B\u8981\u8BED\u8A00\uFF0C\u4E13\u6709\u540D\u8BCD\u4FDD\u7559\u539F\u6587\u30022) \u5173\u952E\u4E8B\u5B9E\u6863\u6848\u53EA\u4FDD\u7559\u4E4B\u540E\u7EE7\u7EED\u5BF9\u8BDD\u4ECD\u6709\u4EF7\u503C\u7684\u4FE1\u606F\uFF0C\u4F8B\u5982\u7528\u6237\u504F\u597D\u3001\u76EE\u6807\u3001\u7EA6\u675F\u3001\u6280\u672F\u6808\u3001\u786E\u5B9A\u7684\u6587\u4EF6\u540D/\u53D8\u91CF\u540D\u3001\u6838\u5FC3\u51B3\u7B56\u3001\u5F85\u529E\u4E8B\u9879\u30023) \u5BF9\u8BDD\u5267\u60C5\u6458\u8981\u5148\u6781\u7B80\u6982\u62EC\u65E7\u4E0A\u4E0B\u6587\uFF0C\u518D\u66F4\u8BE6\u7EC6\u8BB0\u5F55\u6700\u8FD1\u65B0\u589E\u7684\u8FDB\u5C55\u3001\u5206\u6B67\u3001\u7ED3\u8BBA\u548C\u4E0B\u4E00\u6B65\u30024) \u5FFD\u7565\u5BD2\u6684\u3001\u91CD\u590D\u5C1D\u8BD5\u3001\u5DF2\u653E\u5F03\u65B9\u6848\u548C\u65E0\u4EF7\u503C\u5E9F\u8BDD\u30025) \u4E0D\u8981\u7F16\u9020\u672A\u51FA\u73B0\u7684\u4FE1\u606F\uFF0C\u4E0D\u8981\u8F93\u51FA\u5F00\u573A\u767D\u3001\u7ED3\u675F\u8BED\u3001markdown \u4EE3\u7801\u5757\u6216\u989D\u5916\u7AE0\u8282\u3002"
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  trimTrailingSlash
3
- } from "./chunk-GKHV4UH5.js";
3
+ } from "./chunk-5UOBIU5G.js";
4
4
  import {
5
5
  toErrorMessage
6
6
  } from "./chunk-HNMXYYJR.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  dialogMessageRange
3
- } from "./chunk-2WKUUY2E.js";
3
+ } from "./chunk-SVEUG45B.js";
4
4
  import {
5
5
  isTombstoneRecord
6
6
  } from "./chunk-GBRG75BQ.js";