nolo-cli 0.76.0 → 0.77.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 (86) hide show
  1. package/{_executeModel-I3XRMAJ2.js → _executeModel-G6BRN2BO.js} +21 -21
  2. package/{agentDeleteCommand-DCTG26JW.js → agentDeleteCommand-C5JTDBIX.js} +15 -14
  3. package/{agentEmailCommands-MRRHBLDQ.js → agentEmailCommands-AYSYNUSH.js} +28 -27
  4. package/{agentListCommands-CUE46CSP.js → agentListCommands-CVFL3P3D.js} +17 -16
  5. package/{agentMachineCommands-FYDEKBIO.js → agentMachineCommands-2EPX7IYC.js} +15 -14
  6. package/{agentProviderCommands-X3FA6BUM.js → agentProviderCommands-EHR3PV2V.js} +1 -1
  7. package/{agentRecordCommands-P2MSNP7R.js → agentRecordCommands-DPZVHOOA.js} +27 -26
  8. package/{agentRunCommand-YJOW3VB3.js → agentRunCommand-BE53VNNN.js} +27 -26
  9. package/{agentRuntimeLocal-T43UNWAY.js → agentRuntimeLocal-BPN5IOFT.js} +13 -12
  10. package/{agentSlice-7GDS5Q2S.js → agentSlice-PYJFXGZL.js} +1 -1
  11. package/{appDeleteCommands-YBKY3VEI.js → appDeleteCommands-TREMNXCA.js} +16 -15
  12. package/{appDeployCommands-EBC76HO4.js → appDeployCommands-7FYCMERT.js} +16 -15
  13. package/{appDeployStatusCommands-WXRC5KEK.js → appDeployStatusCommands-7LAYH7IX.js} +16 -15
  14. package/{appGetCommands-VZZQEDOV.js → appGetCommands-BONTQ2XH.js} +16 -15
  15. package/{appListCommands-HYSPVQ77.js → appListCommands-BYIELWUL.js} +16 -15
  16. package/{authCommand-E4GDVKMW.js → authCommand-J5C7GS33.js} +9 -8
  17. package/{builtinSkillRegistry-5SYVTS6Z.js → builtinSkillRegistry-YITVDLWG.js} +1 -1
  18. package/{chatQueueReduxAdapter-CXEWIDFZ.js → chatQueueReduxAdapter-PIOXZBGH.js} +8 -8
  19. package/{chunk-UO66QKGI.js → chunk-2F4VYGFW.js} +2 -2
  20. package/{chunk-3T4PRBHV.js → chunk-3DZIWHJ6.js} +1 -1
  21. package/{chunk-IO7DYRPW.js → chunk-4PAFEM6V.js} +3 -3
  22. package/{chunk-BNMZ7QUV.js → chunk-5DAMTON3.js} +1 -1
  23. package/chunk-5ZUL4CUO.js +10 -0
  24. package/{chunk-WSOMSDQB.js → chunk-6HCLDVEI.js} +35 -1
  25. package/{chunk-GRJTR4PU.js → chunk-6LWO3QQS.js} +2 -2
  26. package/{chunk-JC2WQS66.js → chunk-7TEU3WX2.js} +17 -13
  27. package/{chunk-L2VNQQ7M.js → chunk-ACFF7U3F.js} +273 -13
  28. package/{chunk-MFW4BGJS.js → chunk-AGX5TE5W.js} +1 -1
  29. package/{chunk-UWMQ6FPM.js → chunk-ASGDO77C.js} +118 -1
  30. package/{chunk-4FRNB4ZG.js → chunk-D4TJCP3V.js} +3 -3
  31. package/{chunk-TGRQUFLU.js → chunk-DNQPPRHY.js} +1 -1
  32. package/{chunk-NVHJWYUO.js → chunk-DQD4PYQY.js} +13 -13
  33. package/{chunk-KO7QCXLL.js → chunk-FSISQCCB.js} +13 -13
  34. package/{chunk-VQD6BTML.js → chunk-FWGPT6VI.js} +3 -3
  35. package/{chunk-Y2IFJ7VM.js → chunk-HLRYI5XO.js} +1 -1
  36. package/{chunk-IMDA4FW4.js → chunk-IEILL33V.js} +48 -37
  37. package/{chunk-6RCZYDDC.js → chunk-JRFQPOPS.js} +3 -3
  38. package/{chunk-P3AS5IPM.js → chunk-JT7FRJP5.js} +1 -0
  39. package/{chunk-X77EN2BJ.js → chunk-K7M3MWCE.js} +2 -2
  40. package/{chunk-VARZWSKW.js → chunk-LGSXBNWH.js} +1 -1
  41. package/{chunk-EVBFYPDC.js → chunk-MC4XLIJ7.js} +6 -2
  42. package/{chunk-DS3SQTDT.js → chunk-MJHQ3NRV.js} +1 -1
  43. package/{chunk-W7PGACND.js → chunk-MRT4KARW.js} +7 -7
  44. package/{chunk-T4F2EQGN.js → chunk-ND2J3NRB.js} +2 -2
  45. package/{chunk-LEYH5NOH.js → chunk-PGO7O65Q.js} +3 -3
  46. package/{chunk-FMODTASJ.js → chunk-Q5FJJ6XI.js} +1 -7
  47. package/{chunk-Q246OUG5.js → chunk-RHB6OCZS.js} +3 -3
  48. package/{chunk-ZSG2AQU4.js → chunk-RJ3TDODF.js} +50 -11
  49. package/{chunk-EXWOCYCR.js → chunk-TIJK4PBP.js} +9 -4
  50. package/{chunk-S6STPUMG.js → chunk-UDK3ZSMN.js} +1 -1
  51. package/{chunk-ZKGIAM7I.js → chunk-UQ45IHLM.js} +1 -1
  52. package/{chunk-VW3YGKWR.js → chunk-UQYEVBMM.js} +89 -15
  53. package/{chunk-Q4KVAB6L.js → chunk-UUVQJZ75.js} +26 -7
  54. package/{chunk-OCL2YCAU.js → chunk-VEJ4BOQV.js} +38 -38
  55. package/{chunk-6H7GN3JL.js → chunk-VRLI2WNW.js} +10 -1
  56. package/{chunk-23RQKXP6.js → chunk-WS22FPWT.js} +1 -1
  57. package/{chunk-AYT2OKNM.js → chunk-XIYOAH3S.js} +2 -2
  58. package/{chunk-ZIHJVHFH.js → chunk-Z33ARZCP.js} +1 -1
  59. package/{contentThunks-Y2ACIFDB.js → contentThunks-RYZTYVUV.js} +9 -9
  60. package/{createAgentAutomationAction-TNE3QMJR.js → createAgentAutomationAction-GUBB2LWY.js} +9 -9
  61. package/{createDialogAction-BMGHBTQB.js → createDialogAction-577E6FB2.js} +10 -10
  62. package/{createPageAction-FFNIZPIS.js → createPageAction-4CNYIRJ5.js} +9 -9
  63. package/{dialogCommands-3JC3BIXC.js → dialogCommands-U4RQIRKK.js} +16 -15
  64. package/{dialogSlice-3E7Z7HZV.js → dialogSlice-YXMORK5T.js} +8 -8
  65. package/{docCreateCommands-6LNQLCTA.js → docCreateCommands-AXXATGCL.js} +15 -14
  66. package/{docDeleteCommands-ZJOAPWZS.js → docDeleteCommands-CRPIFYFA.js} +16 -15
  67. package/{docReadCommands-LJTRSBG6.js → docReadCommands-4IMZXFDR.js} +15 -14
  68. package/{docStore-R47ABXBB.js → docStore-3U5FBN2O.js} +1 -1
  69. package/{docUpdateCommands-7P3QF3N2.js → docUpdateCommands-RRPRZXCE.js} +15 -14
  70. package/{getPricing-TV6ZB7ES.js → getPricing-F2C65RIX.js} +3 -3
  71. package/{handleSendMessageAction-FFYOGXAO.js → handleSendMessageAction-BQIRKHC6.js} +8 -8
  72. package/index.js +50 -50
  73. package/{machineCommands-FN5GGQV3.js → machineCommands-RNBADNTE.js} +26 -25
  74. package/{machineWsRunDispatch-H47IA7ZT.js → machineWsRunDispatch-7J6WNF57.js} +26 -25
  75. package/{models-CMXFDBQH.js → models-WW7VFNXB.js} +2 -2
  76. package/package.json +1 -1
  77. package/{providerPresetApply-D2GGHPI7.js → providerPresetApply-SAJAK7C3.js} +6 -6
  78. package/{providerRegistry-MU6C4ABD.js → providerRegistry-COD57OVY.js} +6 -6
  79. package/{readlineWorkspace-2RP77YDN.js → readlineWorkspace-ZO2W3N4U.js} +30 -29
  80. package/{runAgentClientLoop-CEBV5UPD.js → runAgentClientLoop-KJZ7DK6D.js} +19 -19
  81. package/{spaceCommands-JHT4ALCQ.js → spaceCommands-VZRYKVWZ.js} +15 -14
  82. package/{streamAgentChatTurn-SFCZP4GY.js → streamAgentChatTurn-L3SO4N2R.js} +26 -24
  83. package/{tools-K3YOTESV.js → tools-GRV74JPO.js} +16 -16
  84. package/tuiSummaryLlmCaller-ATDKMGI5.js +127 -0
  85. package/{updateDialogTitleAction-CSPKYQRO.js → updateDialogTitleAction-KRUWX66L.js} +29 -12
  86. package/tuiSummaryLlmCaller-T2OA5ZVB.js +0 -116
@@ -19,8 +19,20 @@ var FIREWORKS_KIMI_LATEST_MODEL = "accounts/fireworks/models/kimi-latest";
19
19
  var FIREWORKS_KIMI_CURRENT_MODEL = "accounts/fireworks/models/kimi-k2p7-code";
20
20
  var FIREWORKS_KIMI_K2P6_MODEL = "accounts/fireworks/models/kimi-k2p6";
21
21
  var DEEPINFRA_KIMI_FALLBACK_MODEL = "moonshotai/Kimi-K2.6";
22
+ var isOllamaCloudKimiModel = (model) => model === PLATFORM_HOSTED_KIMI_K3_MODEL || model === PLATFORM_HOSTED_KIMI_K26_MODEL;
22
23
  var isFireworksKimiModel = (model) => model === FIREWORKS_KIMI_LATEST_MODEL || model === FIREWORKS_KIMI_CURRENT_MODEL || model === FIREWORKS_KIMI_K2P6_MODEL;
23
24
  var isDeepInfraKimiModel = (model) => model === DEEPINFRA_KIMI_FALLBACK_MODEL;
25
+ var isPlatformKimiProviderModel = (provider, model) => {
26
+ const normalizedProvider = asTrimmedLowercaseString(provider);
27
+ if (normalizedProvider === PLATFORM_HOSTED_KIMI_PROVIDER || normalizedProvider === LEGACY_OLLAMA_CLOUD_PROVIDER) {
28
+ return isOllamaCloudKimiModel(model);
29
+ }
30
+ return false;
31
+ };
32
+ var isPlatformManagedProvider = (provider, model) => {
33
+ const normalized = asTrimmedLowercaseString(provider);
34
+ return isNoloHostedProvider(normalized) || normalized === "deepseek" || isPlatformKimiProviderModel(normalized, model);
35
+ };
24
36
  var resolveFireworksKimiModel = (model) => {
25
37
  if (model === FIREWORKS_KIMI_LATEST_MODEL) {
26
38
  return FIREWORKS_KIMI_CURRENT_MODEL;
@@ -50,6 +62,9 @@ var PLATFORM_HOSTED_GEMINI_FLASH_IMAGE_MODEL = "gemini-3.1-flash-image-preview";
50
62
  var PLATFORM_HOSTED_GEMINI_PRO_IMAGE_MODEL = "gemini-3-pro-image-preview";
51
63
  var PLATFORM_HOSTED_GEMINI_FLASH_LITE_IMAGE_MODEL = "gemini-3.1-flash-lite-image";
52
64
  var PLATFORM_HOSTED_OPENAI_IMAGE_MODEL = "gpt-image-2";
65
+ var PLATFORM_HOSTED_MIMO_FLASH_MODEL = "mimo-v2.6-flash";
66
+ var PLATFORM_HOSTED_MIMO_PRO_MODEL = "mimo-v2.6-pro";
67
+ var PLATFORM_HOSTED_MIMO_PRO_ULTRASPEED_MODEL = "mimo-v2.6-pro-ultraspeed";
53
68
  var PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL = "deepseek-flash";
54
69
  var PLATFORM_HOSTED_DEEPSEEK_FLASH_VISION_EXP_MODEL = "deepseek-v4-flash-vision-exp";
55
70
  var PLATFORM_HOSTED_DEEPSEEK_PRO_MODEL = "deepseek-v4-pro";
@@ -239,6 +254,39 @@ var PLATFORM_HOSTED_ROUTING_TABLE = {
239
254
  wire: "chat.completions",
240
255
  agentRunHosted: false
241
256
  },
257
+ // MiMo V2.6 系 -> 小米官方按量计费 API(api.xiaomimimo.com,key 用 MIMO_API_KEY)。
258
+ // 模型 id 与上游一致,无 upstreamModelId(直传,不做 remap);
259
+ // wire 是 chat.completions(不是 responses 特例,走通用 hostedRoute 分支)。
260
+ //
261
+ // 上游事实(mimo.mi.com 官方文档 /api/chat/openai-api,2026-09-20 版):
262
+ // - `thinking.type` 默认 enabled;平台未显式开启思考时补 {type:"disabled"}
263
+ // (判据同时认 provider=mimo / xiaomimimo.com 端点与下面的托管模型 id);
264
+ // - 同时兼容 `max_tokens` 与 `max_completion_tokens`(实测 200 OK);文档
265
+ // 未提及 `stream_options` / `include_usage`——平台因此不请求
266
+ // include_usage,usage 由响应体自带(含 prompt_tokens_details.cached_tokens,
267
+ // 缓存命中按 inputCacheHit 价计入积分);
268
+ // - 1M 上下文 / 128K 最大输出 / 文本+图+音视频输入(全模态理解)。
269
+ [PLATFORM_HOSTED_MIMO_FLASH_MODEL]: {
270
+ endpoint: "https://api.xiaomimimo.com/v1/chat/completions",
271
+ usageProvider: "mimo",
272
+ keyName: "mimo",
273
+ wire: "chat.completions",
274
+ agentRunHosted: true
275
+ },
276
+ [PLATFORM_HOSTED_MIMO_PRO_MODEL]: {
277
+ endpoint: "https://api.xiaomimimo.com/v1/chat/completions",
278
+ usageProvider: "mimo",
279
+ keyName: "mimo",
280
+ wire: "chat.completions",
281
+ agentRunHosted: true
282
+ },
283
+ [PLATFORM_HOSTED_MIMO_PRO_ULTRASPEED_MODEL]: {
284
+ endpoint: "https://api.xiaomimimo.com/v1/chat/completions",
285
+ usageProvider: "mimo",
286
+ keyName: "mimo",
287
+ wire: "chat.completions",
288
+ agentRunHosted: true
289
+ },
242
290
  // OpenAI Image -> OpenAI Responses API
243
291
  [PLATFORM_HOSTED_OPENAI_IMAGE_MODEL]: {
244
292
  endpoint: "https://api.openai.com/v1/responses",
@@ -415,7 +463,7 @@ function buildClientVersionGateErrorDetail(decision) {
415
463
  // packages/ai/llm/platformHosted.ts
416
464
  var PLATFORM_CREDITS_PER_USD = 8;
417
465
  var toPlatformCredits = (usdPerMillion) => Number((usdPerMillion * PLATFORM_CREDITS_PER_USD).toFixed(6));
418
- var CNY_UPSTREAM_MULTIPLIER = 1.2;
466
+ var CNY_UPSTREAM_MULTIPLIER = 1.1;
419
467
  var toCnyCredits = (cnyPerMillion) => Number((cnyPerMillion * CNY_UPSTREAM_MULTIPLIER).toFixed(6));
420
468
  var PLATFORM_HOSTED_GROK_PRICE = {
421
469
  input: toPlatformCredits(2),
@@ -597,6 +645,40 @@ var createPlatformHostedGeminiImageModel = ({
597
645
  imageGenerationProfiles,
598
646
  supportsTool: false
599
647
  });
648
+ var PLATFORM_HOSTED_MIMO_MODELS = [
649
+ PLATFORM_HOSTED_MIMO_FLASH_MODEL,
650
+ PLATFORM_HOSTED_MIMO_PRO_MODEL,
651
+ PLATFORM_HOSTED_MIMO_PRO_ULTRASPEED_MODEL
652
+ ];
653
+ var isPlatformHostedMimoModel = (model) => {
654
+ const m = asTrimmedLowercaseString(model);
655
+ return PLATFORM_HOSTED_MIMO_MODELS.includes(m);
656
+ };
657
+ var isPlatformMimoProviderModel = (provider, model) => isPlatformManagedProvider(provider) && isPlatformHostedMimoModel(model);
658
+ var PLATFORM_HOSTED_MIMO_FLASH_PRICE = {
659
+ input: toCnyCredits(1),
660
+ // ¥1.00
661
+ inputCacheHit: toCnyCredits(0.02),
662
+ // ¥0.02
663
+ output: toCnyCredits(2)
664
+ // ¥2.00
665
+ };
666
+ var PLATFORM_HOSTED_MIMO_PRO_PRICE = {
667
+ input: toCnyCredits(3),
668
+ // ¥3.00
669
+ inputCacheHit: toCnyCredits(0.025),
670
+ // ¥0.025
671
+ output: toCnyCredits(6)
672
+ // ¥6.00
673
+ };
674
+ var PLATFORM_HOSTED_MIMO_PRO_ULTRASPEED_PRICE = {
675
+ input: toCnyCredits(30),
676
+ // ¥30.00
677
+ inputCacheHit: toCnyCredits(0.25),
678
+ // ¥0.25
679
+ output: toCnyCredits(60)
680
+ // ¥60.00
681
+ };
600
682
  var PLATFORM_HOSTED_DEEPSEEK_FLASH_PEAK_PRICE = {
601
683
  input: toCnyCredits(2),
602
684
  // ¥2
@@ -754,6 +836,40 @@ var platformHostedModels = [
754
836
  supportsReasoningEffort: true,
755
837
  minClientVersion: PLATFORM_HOSTED_GLM_53_FLASH_MIN_CLIENT_VERSION
756
838
  },
839
+ // MiMo V2.6 系(小米官方按量计费 API,key 用 MIMO_API_KEY):1M 上下文、
840
+ // 最大输出 128K、原生多模态输入(文本/图/音/视频)、函数调用与深度思考。
841
+ // 能力值来源:mimo.mi.com 模型列表页 + 官方模型目录(max_output_length
842
+ // 131072、context 1048576、input_modalities 含 image/audio/video),2026-09-21。
843
+ {
844
+ name: PLATFORM_HOSTED_MIMO_FLASH_MODEL,
845
+ displayName: "MiMo V2.6 Flash",
846
+ hasVision: true,
847
+ price: { ...PLATFORM_HOSTED_MIMO_FLASH_PRICE },
848
+ maxOutputTokens: 131072,
849
+ contextWindow: 1048576,
850
+ supportsTool: true,
851
+ supportsReasoningEffort: true
852
+ },
853
+ {
854
+ name: PLATFORM_HOSTED_MIMO_PRO_MODEL,
855
+ displayName: "MiMo V2.6 Pro",
856
+ hasVision: true,
857
+ price: { ...PLATFORM_HOSTED_MIMO_PRO_PRICE },
858
+ maxOutputTokens: 131072,
859
+ contextWindow: 1048576,
860
+ supportsTool: true,
861
+ supportsReasoningEffort: true
862
+ },
863
+ {
864
+ name: PLATFORM_HOSTED_MIMO_PRO_ULTRASPEED_MODEL,
865
+ displayName: "MiMo V2.6 Pro Ultraspeed",
866
+ hasVision: true,
867
+ price: { ...PLATFORM_HOSTED_MIMO_PRO_ULTRASPEED_PRICE },
868
+ maxOutputTokens: 131072,
869
+ contextWindow: 1048576,
870
+ supportsTool: true,
871
+ supportsReasoningEffort: true
872
+ },
757
873
  // Claude 系(真实 DeepInfra 模型,官方 id 与平台 id 同名):无缓存价,
758
874
  // 计费按 input 全价(见 calculatePrice 的 deepinfra 分支)。
759
875
  {
@@ -1012,6 +1128,7 @@ export {
1012
1128
  PLATFORM_HOSTED_GLM_53_FLASH_BASETEN_PRICE,
1013
1129
  isPlatformHostedOpenAIImageModel,
1014
1130
  isPlatformHostedImageModel,
1131
+ isPlatformMimoProviderModel,
1015
1132
  PLATFORM_HOSTED_DEEPSEEK_FLASH_PEAK_PRICE,
1016
1133
  PLATFORM_HOSTED_DEEPSEEK_FLASH_OFF_PEAK_PRICE,
1017
1134
  PLATFORM_HOSTED_DEEPSEEK_PRO_PEAK_PRICE,
@@ -304,7 +304,7 @@ var slice = createSliceWithThunks({
304
304
  const overrides = {};
305
305
  if (args.systemPromptOverride !== void 0) overrides.prompt = args.systemPromptOverride;
306
306
  if (args.toolsOverride !== void 0) overrides.tools = args.toolsOverride;
307
- const { _executeModel } = await import("./_executeModel-I3XRMAJ2.js");
307
+ const { _executeModel } = await import("./_executeModel-G6BRN2BO.js");
308
308
  return _executeModel(
309
309
  {
310
310
  isStreaming: args.isStreaming ?? false,
@@ -325,7 +325,7 @@ var slice = createSliceWithThunks({
325
325
  * - 循环直到无工具调用或触发其他运行时停止条件
326
326
  */
327
327
  runAgent: create.asyncThunk(async (args, thunkApi) => {
328
- const { runAgentClientLoop } = await import("./runAgentClientLoop-CEBV5UPD.js");
328
+ const { runAgentClientLoop } = await import("./runAgentClientLoop-KJZ7DK6D.js");
329
329
  const { content: loopContent, toolCallCount } = await runAgentClientLoop(
330
330
  {
331
331
  agentKey: args.agentKey,
@@ -341,7 +341,7 @@ var slice = createSliceWithThunks({
341
341
  * 聊天轮次流式 Agent 调用
342
342
  */
343
343
  streamAgentChatTurn: create.asyncThunk(async (args, thunkApi) => {
344
- const { streamAgentChatTurnHandler } = await import("./streamAgentChatTurn-SFCZP4GY.js");
344
+ const { streamAgentChatTurnHandler } = await import("./streamAgentChatTurn-L3SO4N2R.js");
345
345
  return streamAgentChatTurnHandler(args, thunkApi);
346
346
  }),
347
347
  /**
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  generatePkcePair,
3
3
  startCallbackServer
4
- } from "./chunk-ZIHJVHFH.js";
4
+ } from "./chunk-Z33ARZCP.js";
5
5
  import {
6
6
  toErrorMessage
7
7
  } from "./chunk-HNMXYYJR.js";
@@ -29,7 +29,7 @@ import {
29
29
  toCompactAgentSummary,
30
30
  toSafeAgentSummary,
31
31
  toUnavailableAgentSummary
32
- } from "./chunk-GRJTR4PU.js";
32
+ } from "./chunk-6LWO3QQS.js";
33
33
  import {
34
34
  getUserDataItemTimestamp,
35
35
  mergeAndDedupUserData
@@ -81,10 +81,10 @@ import {
81
81
  } from "./chunk-VF4K2QE6.js";
82
82
  import {
83
83
  createDocState
84
- } from "./chunk-AYT2OKNM.js";
84
+ } from "./chunk-XIYOAH3S.js";
85
85
  import {
86
86
  createDialogAction
87
- } from "./chunk-6RCZYDDC.js";
87
+ } from "./chunk-JRFQPOPS.js";
88
88
  import {
89
89
  DEFAULT_COLLAPSED_CATEGORIES,
90
90
  addContentToSpace,
@@ -102,7 +102,7 @@ import {
102
102
  updateContentCategory,
103
103
  updateContentTitle,
104
104
  writeStoredCollapsedCategories
105
- } from "./chunk-S6STPUMG.js";
105
+ } from "./chunk-UDK3ZSMN.js";
106
106
  import {
107
107
  getCurrentSpaceId,
108
108
  getCurrentSpaceIdRaw,
@@ -124,14 +124,14 @@ import {
124
124
  selectMsgById,
125
125
  uiAskChoiceFunc,
126
126
  uiAskChoiceFunctionSchema
127
- } from "./chunk-L2VNQQ7M.js";
127
+ } from "./chunk-ACFF7U3F.js";
128
128
  import {
129
129
  createAgent,
130
130
  deleteServerSyncedCredential,
131
131
  runLlm,
132
132
  streamAgentChatTurn,
133
133
  updateAgent
134
- } from "./chunk-4FRNB4ZG.js";
134
+ } from "./chunk-D4TJCP3V.js";
135
135
  import {
136
136
  getActiveDialogKey,
137
137
  selectCurrentDialogKey,
@@ -145,7 +145,7 @@ import {
145
145
  resolveBuiltinCapability,
146
146
  resolveBuiltinSkillByName,
147
147
  resolveBuiltinSkillEntry
148
- } from "./chunk-P3AS5IPM.js";
148
+ } from "./chunk-JT7FRJP5.js";
149
149
  import {
150
150
  CAPABILITY_PACKS
151
151
  } from "./chunk-XCSSFPTB.js";
@@ -182,7 +182,7 @@ import {
182
182
  } from "./chunk-KT6LENVP.js";
183
183
  import {
184
184
  DEFAULT_MODEL
185
- } from "./chunk-6H7GN3JL.js";
185
+ } from "./chunk-VRLI2WNW.js";
186
186
  import {
187
187
  compactWhitespace
188
188
  } from "./chunk-DWLEOOGR.js";
@@ -911,7 +911,7 @@ var HOSTED_EXEC_RUNTIME_TOOL_POLICY = {
911
911
  workspace: { mode: "lease" }
912
912
  };
913
913
  var findModelConfig = async (modelName, provider) => {
914
- const { ALL_MODELS } = await import("./models-CMXFDBQH.js");
914
+ const { ALL_MODELS } = await import("./models-WW7VFNXB.js");
915
915
  const name = toTrimmedString(modelName);
916
916
  const prov = toTrimmedString(provider ?? "");
917
917
  if (!name) return null;
@@ -1156,7 +1156,7 @@ var buildPlatformFormDataFromArgs = async (args) => {
1156
1156
  const trimmedModel = toTrimmedString(model);
1157
1157
  const trimmedProvider = toTrimmedString(provider);
1158
1158
  const modelConfig = await findModelConfig(trimmedModel, trimmedProvider);
1159
- const { getModelPricing } = await import("./getPricing-TV6ZB7ES.js");
1159
+ const { getModelPricing } = await import("./getPricing-F2C65RIX.js");
1160
1160
  const normalizedTools = tools ?? [];
1161
1161
  const resolvedRuntimeToolPolicy = runtimeToolPolicy ?? (normalizedTools.includes("execShell") ? HOSTED_EXEC_RUNTIME_TOOL_POLICY : void 0);
1162
1162
  const formData = {
@@ -3945,7 +3945,7 @@ async function deleteDialogsFunc(args, thunkApi) {
3945
3945
  const deletedDialogIds = [];
3946
3946
  const deletedDialogKeys = [];
3947
3947
  const failures = [];
3948
- const { deleteDialog: deleteDialog2 } = await import("./dialogSlice-3E7Z7HZV.js");
3948
+ const { deleteDialog: deleteDialog2 } = await import("./dialogSlice-YXMORK5T.js");
3949
3949
  for (const target of targets) {
3950
3950
  try {
3951
3951
  await thunkApi.dispatch(deleteDialog2(target.dbKey)).unwrap();
@@ -14819,7 +14819,7 @@ var executeToolRun = createAsyncThunk(
14819
14819
  if (!executionInput) {
14820
14820
  throw new Error(`ToolRun ${id} has no input to execute with.`);
14821
14821
  }
14822
- const { findToolExecutor: findToolExecutor2 } = await import("./tools-K3YOTESV.js");
14822
+ const { findToolExecutor: findToolExecutor2 } = await import("./tools-GRV74JPO.js");
14823
14823
  const { executor } = findToolExecutor2(run.toolName);
14824
14824
  toolRunStarted({
14825
14825
  id: run.id,
@@ -17326,7 +17326,7 @@ async function updateDocFunc(args, thunkApi) {
17326
17326
  updated_at: (/* @__PURE__ */ new Date()).toISOString()
17327
17327
  };
17328
17328
  await dispatch(write({ data: updatedPageData, customKey: id })).unwrap();
17329
- const { getDocState, applyExternalDocUpdate } = await import("./docStore-R47ABXBB.js");
17329
+ const { getDocState, applyExternalDocUpdate } = await import("./docStore-3U5FBN2O.js");
17330
17330
  if (getDocState().pageKey === id) {
17331
17331
  applyExternalDocUpdate({
17332
17332
  slateData: finalSlateData,
@@ -27,7 +27,7 @@ import {
27
27
  resolveLocalUserId,
28
28
  t,
29
29
  toolLabel
30
- } from "./chunk-IMDA4FW4.js";
30
+ } from "./chunk-IEILL33V.js";
31
31
  import {
32
32
  createRunActivityTracker,
33
33
  popSingleQueueMessage,
@@ -47,7 +47,7 @@ import {
47
47
  import {
48
48
  readDbRecord,
49
49
  resolveAgentRecordFromHybridStore
50
- } from "./chunk-Y2IFJ7VM.js";
50
+ } from "./chunk-HLRYI5XO.js";
51
51
  import {
52
52
  isLocalCliAgentKey
53
53
  } from "./chunk-SPAQ4PVV.js";
@@ -63,7 +63,7 @@ import {
63
63
  } from "./chunk-LTRXGFMS.js";
64
64
  import {
65
65
  formatAgentListCard
66
- } from "./chunk-NVHJWYUO.js";
66
+ } from "./chunk-DQD4PYQY.js";
67
67
  import {
68
68
  isTransientFetchError
69
69
  } from "./chunk-5XTOKQLW.js";
@@ -84,11 +84,11 @@ import {
84
84
  chooseMemoryOwners,
85
85
  loadMemoryCandidatesFromDb,
86
86
  resolveAgentMemoryPolicy
87
- } from "./chunk-6RCZYDDC.js";
87
+ } from "./chunk-JRFQPOPS.js";
88
88
  import {
89
89
  API_REPORTED_COST_MULTIPLIER,
90
90
  parseUiAskChoiceContent
91
- } from "./chunk-L2VNQQ7M.js";
91
+ } from "./chunk-ACFF7U3F.js";
92
92
  import {
93
93
  isOAuthApiKeyRef
94
94
  } from "./chunk-YYLHWIW6.js";
@@ -111,10 +111,10 @@ import {
111
111
  LOCAL_AGENT_CONFIG_MISSING_CODE,
112
112
  LOCAL_TURN_ABORTED_CODE,
113
113
  readActionGate
114
- } from "./chunk-VW3YGKWR.js";
114
+ } from "./chunk-UQYEVBMM.js";
115
115
  import {
116
116
  resolveAgentRuntimeConfigFromRecord
117
- } from "./chunk-WSOMSDQB.js";
117
+ } from "./chunk-6HCLDVEI.js";
118
118
  import {
119
119
  createThinkParserState,
120
120
  flushThinkParser,
@@ -128,21 +128,21 @@ import {
128
128
  } from "./chunk-CJCJF5XB.js";
129
129
  import {
130
130
  isAntigravityOAuthAgent
131
- } from "./chunk-DS3SQTDT.js";
131
+ } from "./chunk-MJHQ3NRV.js";
132
132
  import {
133
133
  resolveClientVersion
134
- } from "./chunk-X77EN2BJ.js";
134
+ } from "./chunk-K7M3MWCE.js";
135
135
  import {
136
136
  DEFAULT_CONTEXT_WINDOW,
137
137
  getModelContextWindow,
138
138
  normalizeUsage
139
- } from "./chunk-OCL2YCAU.js";
139
+ } from "./chunk-VEJ4BOQV.js";
140
140
  import {
141
141
  clipCompactText
142
142
  } from "./chunk-KT6LENVP.js";
143
143
  import {
144
144
  findModelConfig
145
- } from "./chunk-6H7GN3JL.js";
145
+ } from "./chunk-VRLI2WNW.js";
146
146
  import {
147
147
  compactWhitespace
148
148
  } from "./chunk-DWLEOOGR.js";
@@ -167,7 +167,7 @@ import {
167
167
  CLIENT_VERSION_TOO_OLD_CODE,
168
168
  NOLO_CLIENT_VERSION_HEADER,
169
169
  buildClientVersionUpgradeMessage
170
- } from "./chunk-UWMQ6FPM.js";
170
+ } from "./chunk-ASGDO77C.js";
171
171
  import {
172
172
  parsePositiveFiniteNumberOrFallback
173
173
  } from "./chunk-Y5GCAMGP.js";
@@ -10417,7 +10417,7 @@ function findCollapsedPasteSpanAt(buffer, pos, opts = {}) {
10417
10417
  // packages/cli/client/agentRun.ts
10418
10418
  import { ulid as ulid2 } from "ulid";
10419
10419
  async function loadRunLocalAgentTurn() {
10420
- const { runLocalAgentTurn } = await import("./agentRuntimeLocal-T43UNWAY.js");
10420
+ const { runLocalAgentTurn } = await import("./agentRuntimeLocal-BPN5IOFT.js");
10421
10421
  return runLocalAgentTurn;
10422
10422
  }
10423
10423
  var stripDebugNoise = (s) => s.replace(/\s*raw="[\s\S]*"/g, "").replace(/\s*raw=\S+/g, "").replace(/\s*headers=\[[^\]]*\]/g, "").replace(/\s*headers=\S+/g, "").trim();
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  toolRegistry
3
- } from "./chunk-NVHJWYUO.js";
3
+ } from "./chunk-DQD4PYQY.js";
4
4
  import {
5
5
  i18n_default
6
- } from "./chunk-L2VNQQ7M.js";
6
+ } from "./chunk-ACFF7U3F.js";
7
7
  import {
8
8
  canonicalizeToolNames
9
9
  } from "./chunk-O6OSWFZQ.js";
10
10
  import {
11
11
  isNoloHostedProvider
12
- } from "./chunk-UWMQ6FPM.js";
12
+ } from "./chunk-ASGDO77C.js";
13
13
  import {
14
14
  asTrimmedLowercaseString
15
15
  } from "./chunk-QSJ3HFEF.js";
@@ -507,7 +507,7 @@ async function buildCreatedAgentRecord(args) {
507
507
  const resolvedAgentInput = resolveCliAgentKeyInput(args.parsed.agentInput);
508
508
  const agentKey = resolvedAgentInput.startsWith("agent-") ? resolvedAgentInput : createAgentKey.private(userId || "local", resolvedAgentInput);
509
509
  if (args.parsed.presetId) {
510
- const { resolveProviderPresetFields } = await import("./providerPresetApply-D2GGHPI7.js");
510
+ const { resolveProviderPresetFields } = await import("./providerPresetApply-SAJAK7C3.js");
511
511
  const fields = resolveProviderPresetFields(args.parsed.presetId);
512
512
  if (fields.kind === "manual") {
513
513
  throw new Error(
@@ -4,7 +4,7 @@ import {
4
4
  refreshAntigravityOAuthToken,
5
5
  refreshOpenAiCodexToken,
6
6
  xaiRefresh
7
- } from "./chunk-ZIHJVHFH.js";
7
+ } from "./chunk-Z33ARZCP.js";
8
8
  import {
9
9
  defaultLoopbackRequest
10
10
  } from "./chunk-EADNWBAZ.js";
@@ -60,7 +60,7 @@ import {
60
60
  import {
61
61
  inlineImageUrlsForCustomProvider,
62
62
  prepareTools
63
- } from "./chunk-VQD6BTML.js";
63
+ } from "./chunk-FWGPT6VI.js";
64
64
  import {
65
65
  getServerProviderSecret
66
66
  } from "./chunk-HS7MLR74.js";
@@ -78,7 +78,7 @@ import {
78
78
  rememberMemoryFunctionSchema,
79
79
  resolveAgentRequiredPackIds,
80
80
  setTodoListFunc
81
- } from "./chunk-NVHJWYUO.js";
81
+ } from "./chunk-DQD4PYQY.js";
82
82
  import {
83
83
  fetchWithTransientRetry,
84
84
  isTransientFetchError
@@ -101,13 +101,14 @@ import {
101
101
  prepareTokenUsageData,
102
102
  resolveBuiltinPlatformAgentConfig,
103
103
  runKeyed
104
- } from "./chunk-L2VNQQ7M.js";
104
+ } from "./chunk-ACFF7U3F.js";
105
105
  import {
106
+ BUILTIN_DIALOG_LLM_CHAT_FALLBACK_MODEL,
106
107
  BUILTIN_TITLE_LLM_CONFIG
107
- } from "./chunk-EVBFYPDC.js";
108
+ } from "./chunk-MC4XLIJ7.js";
108
109
  import {
109
110
  fetchServerSyncedCredential
110
- } from "./chunk-4FRNB4ZG.js";
111
+ } from "./chunk-D4TJCP3V.js";
111
112
  import {
112
113
  require_date_fns
113
114
  } from "./chunk-M76ECQRD.js";
@@ -160,7 +161,7 @@ import {
160
161
  resolveOpenAiCompatibleProviderConfig,
161
162
  shouldUseGeminiNativeToolRoute,
162
163
  summarizeToolArguments
163
- } from "./chunk-VW3YGKWR.js";
164
+ } from "./chunk-UQYEVBMM.js";
164
165
  import {
165
166
  PlatformStreamInterruptedError,
166
167
  buildPlatformChatCompletionRequest,
@@ -172,14 +173,14 @@ import {
172
173
  readSseDataValues,
173
174
  resolvePlatformChatProviderConfig,
174
175
  shouldUsePlatformChatProvider
175
- } from "./chunk-EXWOCYCR.js";
176
- import {
177
- isDevinOAuthAgent
178
- } from "./chunk-FMODTASJ.js";
176
+ } from "./chunk-TIJK4PBP.js";
179
177
  import {
180
178
  resolveAgentRuntimeConfigFromRecord,
181
179
  resolveHistoricalToolContentCap
182
- } from "./chunk-WSOMSDQB.js";
180
+ } from "./chunk-6HCLDVEI.js";
181
+ import {
182
+ isDevinOAuthAgent
183
+ } from "./chunk-5ZUL4CUO.js";
183
184
  import {
184
185
  collectStablePromptPrefix,
185
186
  convertMessagesToResponsesInput,
@@ -198,17 +199,17 @@ import {
198
199
  } from "./chunk-CJCJF5XB.js";
199
200
  import {
200
201
  isAntigravityOAuthAgent
201
- } from "./chunk-DS3SQTDT.js";
202
+ } from "./chunk-MJHQ3NRV.js";
202
203
  import {
203
204
  resolvePlatformAuthToken
204
- } from "./chunk-X77EN2BJ.js";
205
+ } from "./chunk-K7M3MWCE.js";
205
206
  import {
206
207
  buildDialogFallbackTitleFromUserInput,
207
208
  normalizeDialogTitle
208
209
  } from "./chunk-2MBTWINN.js";
209
210
  import {
210
211
  normalizeUsage
211
- } from "./chunk-OCL2YCAU.js";
212
+ } from "./chunk-VEJ4BOQV.js";
212
213
  import {
213
214
  clipCompactText,
214
215
  createProviderCallTimingTracker,
@@ -221,7 +222,7 @@ import {
221
222
  } from "./chunk-PSCNXBYA.js";
222
223
  import {
223
224
  isAdaptiveThinkingModelId
224
- } from "./chunk-6H7GN3JL.js";
225
+ } from "./chunk-VRLI2WNW.js";
225
226
  import {
226
227
  compactWhitespace
227
228
  } from "./chunk-DWLEOOGR.js";
@@ -11832,13 +11833,18 @@ async function generateLocalDialogTitle(input) {
11832
11833
  return { title: fallbackTitle, source: "fallback" };
11833
11834
  }
11834
11835
  if (input.resolveProviderConfig && input.buildRequest && input.parseResponse) {
11835
- try {
11836
- const providerConfig = await input.resolveProviderConfig({
11837
- agentConfig: { ...BUILTIN_TITLE_LLM_CONFIG, key: BUILTIN_TITLE_LLM_CONFIG.id },
11838
- env
11839
- });
11840
- if (providerConfig?.authToken) {
11841
- const request = input.buildRequest({
11836
+ const resolveProviderConfig = input.resolveProviderConfig;
11837
+ const buildRequest = input.buildRequest;
11838
+ const parseResponse = input.parseResponse;
11839
+ const attemptPlatformTitle = async (model) => {
11840
+ try {
11841
+ const agentConfig = model ? { ...BUILTIN_TITLE_LLM_CONFIG, model } : BUILTIN_TITLE_LLM_CONFIG;
11842
+ const providerConfig = await resolveProviderConfig({
11843
+ agentConfig: { ...agentConfig, key: agentConfig.id },
11844
+ env
11845
+ });
11846
+ if (!providerConfig?.authToken) return null;
11847
+ const request = buildRequest({
11842
11848
  providerConfig,
11843
11849
  messages: [
11844
11850
  {
@@ -11870,21 +11876,26 @@ async function generateLocalDialogTitle(input) {
11870
11876
  body: JSON.stringify(patchedBody),
11871
11877
  signal: AbortSignal.timeout(timeoutMs)
11872
11878
  });
11873
- if (res.ok) {
11874
- const raw = await res.text().catch(() => "");
11875
- const data = safeParseJson(raw);
11876
- if (data) {
11877
- const parsed = input.parseResponse({ providerConfig, data });
11878
- const generated = normalizeDialogTitle(
11879
- extractTitleFromLlmContent(parsed.content)
11880
- );
11881
- if (generated) {
11882
- return { title: generated, source: "llm" };
11883
- }
11884
- }
11885
- }
11879
+ if (!res.ok) return null;
11880
+ const raw = await res.text().catch(() => "");
11881
+ const data = safeParseJson(raw);
11882
+ if (!data) return null;
11883
+ const parsed = parseResponse({ providerConfig, data });
11884
+ const generated = normalizeDialogTitle(
11885
+ extractTitleFromLlmContent(parsed.content)
11886
+ );
11887
+ return generated || null;
11888
+ } catch {
11889
+ return null;
11886
11890
  }
11887
- } catch {
11891
+ };
11892
+ const primaryTitle = await attemptPlatformTitle();
11893
+ if (primaryTitle) return { title: primaryTitle, source: "llm" };
11894
+ const fallbackModelTitle = await attemptPlatformTitle(
11895
+ BUILTIN_DIALOG_LLM_CHAT_FALLBACK_MODEL
11896
+ );
11897
+ if (fallbackModelTitle) {
11898
+ return { title: fallbackModelTitle, source: "llm" };
11888
11899
  }
11889
11900
  }
11890
11901
  if (input.resolveDirectProviderConfig) {
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  addContentToSpace
3
- } from "./chunk-S6STPUMG.js";
3
+ } from "./chunk-UDK3ZSMN.js";
4
4
  import {
5
5
  prepareAndPersistMessage,
6
6
  uiAskChoiceFunc,
7
7
  uiAskChoiceFunctionSchema
8
- } from "./chunk-L2VNQQ7M.js";
8
+ } from "./chunk-ACFF7U3F.js";
9
9
  import {
10
10
  require_date_fns
11
11
  } from "./chunk-M76ECQRD.js";
@@ -15,7 +15,7 @@ import {
15
15
  import {
16
16
  PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL,
17
17
  PLATFORM_HOSTED_KIMI_PROVIDER
18
- } from "./chunk-UWMQ6FPM.js";
18
+ } from "./chunk-ASGDO77C.js";
19
19
  import {
20
20
  read,
21
21
  readAndWait,
@@ -55,6 +55,7 @@ var buildSkillGuidancePromptBlock = (options) => {
55
55
  return [
56
56
  title,
57
57
  recommendedSkillHints.length > 0 ? `\u4EE5\u4E0B\u6280\u80FD\u4E0E\u5F53\u524D\u4EFB\u52A1\u66F4\u76F8\u5173\uFF0C\u53EF\u4F18\u5148\u8003\u8651\uFF1A${recommendedSkillHints.join("\u3001")}` : "",
58
+ recommendedSkillHints.length > 0 ? "\u8FD9\u4E9B\u63A8\u8350\u6280\u80FD\u662F\u6309\u9700\u52A0\u8F7D\u7684\u8BF4\u660E\u4E66\uFF0C\u4E0D\u662F\u88C5\u9970\u6027\u6807\u7B7E\uFF1A\u5F53\u5F53\u524D\u4EFB\u52A1\u660E\u663E\u547D\u4E2D\u67D0\u9879\u6280\u80FD\u7684\u540D\u79F0\u6216\u804C\u8D23\u65F6\uFF0C\u5148\u7528 loadSkill \u8BFB\u53D6\u5BF9\u5E94\u6280\u80FD\uFF0C\u518D\u6309\u5176\u65B9\u6CD5\u6267\u884C\uFF1B\u4E0D\u547D\u4E2D\u65F6\u4E0D\u8981\u4E3A\u4E86\u2018\u7528 Skill\u2019\u800C\u52A0\u8F7D\u3002\u82E5\u6CA1\u6709 loadSkill \u5DE5\u5177\uFF0C\u5219\u6309\u73B0\u6709\u4E0A\u4E0B\u6587\u7EE7\u7EED\uFF0C\u4E0D\u8981\u5047\u88C5\u5DF2\u8BFB\u53D6\u6280\u80FD\u6B63\u6587\u3002" : "",
58
59
  ...skillPromptPatches
59
60
  ].filter(Boolean).join("\n");
60
61
  };
@@ -3,7 +3,7 @@ import {
3
3
  resolvePlatformChatCompletionsEndpoint,
4
4
  resolvePlatformHostedCredentialProvider,
5
5
  resolvePlatformResponsesEndpoint
6
- } from "./chunk-T4F2EQGN.js";
6
+ } from "./chunk-ND2J3NRB.js";
7
7
  import {
8
8
  CLI_PROVIDER_VALUES
9
9
  } from "./chunk-W7XHHYWM.js";
@@ -11,7 +11,7 @@ import {
11
11
  CLIENT_VERSION_TOO_OLD_CODE,
12
12
  buildClientVersionGateErrorDetail,
13
13
  evaluatePlatformHostedClientVersionGate
14
- } from "./chunk-UWMQ6FPM.js";
14
+ } from "./chunk-ASGDO77C.js";
15
15
  import {
16
16
  asTrimmedLowercaseString
17
17
  } from "./chunk-QSJ3HFEF.js";
@@ -7,7 +7,7 @@ import {
7
7
  listUserRecordsFromServers,
8
8
  readDbRecordFromServers,
9
9
  readLiveDbRecordAfterTombstoneMerge
10
- } from "./chunk-3T4PRBHV.js";
10
+ } from "./chunk-3DZIWHJ6.js";
11
11
  import {
12
12
  fetchWithTransientRetry
13
13
  } from "./chunk-5XTOKQLW.js";