nolo-cli 0.18.0 → 0.24.0-alpha.6

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-X5PCIZN6.js → _executeModel-ARCMGGMY.js} +46 -44
  2. package/{action-LT7BRFLK.js → action-5MNAXR5B.js} +7 -6
  3. package/{addContentAction-PL3KKBDH.js → addContentAction-UNSYTVTB.js} +5 -5
  4. package/{addDialogAgentAction-FCMSKYAF.js → addDialogAgentAction-LJGNP2AO.js} +5 -5
  5. package/{agentDeleteCommand-2BZDQV36.js → agentDeleteCommand-C5PIEBMZ.js} +27 -26
  6. package/{agentEmailCommands-2QJDGRMB.js → agentEmailCommands-QTGQ3ZAD.js} +57 -55
  7. package/{agentListCommands-6VEPTKBI.js → agentListCommands-LRHBS3A5.js} +30 -26
  8. package/{agentMachineCommands-NVVHNWYI.js → agentMachineCommands-4PXIT4BP.js} +25 -24
  9. package/{agentRecordCommands-4GGRDMD4.js → agentRecordCommands-ZZPTYTYR.js} +52 -50
  10. package/{agentRunCommand-XOLQNKBZ.js → agentRunCommand-7ZTPZNUX.js} +55 -54
  11. package/{agentRunControl-Y5AFH5PQ.js → agentRunControl-SNUKXN6J.js} +6 -2
  12. package/{agentRuntimeLocal-7WYWCGL4.js → agentRuntimeLocal-QOYY5UV2.js} +19 -18
  13. package/{agentSlice-EAXPGEYV.js → agentSlice-J3W3RX2I.js} +5 -5
  14. package/{appDeleteCommands-77KR2RJ4.js → appDeleteCommands-7NS46XDH.js} +23 -22
  15. package/{appDeployCommands-K7CAHGBI.js → appDeployCommands-RSRNQ67U.js} +23 -22
  16. package/{appDeployStatusCommands-4OEKLTBT.js → appDeployStatusCommands-EF4RSGC6.js} +23 -22
  17. package/{appGetCommands-VM2WDLAZ.js → appGetCommands-YA7JWYUX.js} +23 -22
  18. package/{appListCommands-GX6BBA6U.js → appListCommands-WM2ON6JW.js} +23 -22
  19. package/{authCommand-DY6UUL6O.js → authCommand-HJP7FURK.js} +12 -13
  20. package/{authCommands-XTBV7OFZ.js → authCommands-NYZM2B2I.js} +4 -5
  21. package/{chunk-MKA6QE5E.js → chunk-2IPEVBUO.js} +126 -68
  22. package/{chunk-OWOHNGCN.js → chunk-2MBTWINN.js} +42 -3
  23. package/{chunk-K6EUAOW3.js → chunk-35RYGII3.js} +1 -1
  24. package/{chunk-TRT4I4UD.js → chunk-4POUK2BV.js} +2 -2
  25. package/{chunk-LLWKHDG4.js → chunk-4ULSC37S.js} +1 -3
  26. package/{chunk-EDV7EBOI.js → chunk-4ZH6GUJF.js} +2151 -1500
  27. package/{chunk-MVQ4TBSD.js → chunk-54VHTARN.js} +1 -1
  28. package/{chunk-L4F3I4SR.js → chunk-5HQQ4LUU.js} +4 -6
  29. package/{chunk-Z4NR32XR.js → chunk-5RGU3J7P.js} +13 -0
  30. package/{chunk-7BUYEZ6U.js → chunk-7H3UTGPM.js} +12 -72
  31. package/{chunk-RQN4SEKL.js → chunk-7W6GFNJL.js} +1 -1
  32. package/{chunk-HEGV7BH3.js → chunk-AQZCWJOG.js} +1 -1
  33. package/{chunk-3ND52WIL.js → chunk-ATWUOTJP.js} +180 -24
  34. package/chunk-CF7S2RYZ.js +376 -0
  35. package/{chunk-I2ZJKTG5.js → chunk-CGVRC2TB.js} +7 -7
  36. package/{chunk-UAIVG4J6.js → chunk-CHSCAUZN.js} +1 -8
  37. package/{chunk-KFEVY3ST.js → chunk-D34RI6NI.js} +18 -8
  38. package/{chunk-ROWQEJRP.js → chunk-DXJS7VSG.js} +3 -2
  39. package/{chunk-MHSGJW4Z.js → chunk-EHOYZRTI.js} +44 -14
  40. package/{chunk-XRZJGPFI.js → chunk-FON47ACC.js} +4 -4
  41. package/{chunk-SCTYAHYK.js → chunk-H2NAWOLH.js} +217 -141
  42. package/{chunk-MPVYDS7I.js → chunk-H6ODMJR3.js} +3 -3
  43. package/{chunk-R35XMF6F.js → chunk-H73ZV2GL.js} +352 -30
  44. package/{chunk-4T5F7YZQ.js → chunk-I6RJGORZ.js} +1 -1
  45. package/{chunk-OK6YSWLH.js → chunk-IICW77GI.js} +1 -1
  46. package/{chunk-VDXCXCXH.js → chunk-IUDMBCXC.js} +1 -1
  47. package/{chunk-AHCY2S2I.js → chunk-JADNODCQ.js} +1 -1
  48. package/{chunk-DFCFMCY6.js → chunk-JBLY6HQP.js} +2 -2
  49. package/{chunk-UGUW3FHG.js → chunk-JMSCXQUG.js} +2 -2
  50. package/{chunk-N54HIJVJ.js → chunk-KFUCLS7Z.js} +101 -9
  51. package/{chunk-FQZZLA3C.js → chunk-KXKQO4Q6.js} +17 -0
  52. package/{chunk-3Q7WHGCB.js → chunk-L65QKSVJ.js} +1 -1
  53. package/{chunk-3ZX7PERL.js → chunk-LALVWNE4.js} +20 -7
  54. package/{chunk-PJSV3IZ5.js → chunk-M3TMVJKG.js} +1 -1
  55. package/{chunk-REA4JLBH.js → chunk-M5OZCOBV.js} +7 -6
  56. package/{chunk-JLA4FXYC.js → chunk-MALVZUYL.js} +1 -1
  57. package/{chunk-GFUIQ4RY.js → chunk-MXFQHRSS.js} +1 -1
  58. package/{chunk-LSFAWXKC.js → chunk-N7J63Q6C.js} +1 -0
  59. package/{chunk-6Y7A3OQQ.js → chunk-NRY4GCKJ.js} +2 -0
  60. package/{chunk-G5U6LDLG.js → chunk-NVHPMDSZ.js} +6 -6
  61. package/{chunk-23FZYPLC.js → chunk-OJFYT3ZQ.js} +842 -1060
  62. package/{chunk-ELT65PZW.js → chunk-OXLLFZNF.js} +1 -1
  63. package/{chunk-CZ6NYQTV.js → chunk-P4QWLZGU.js} +2 -2
  64. package/{chunk-5MIDPSSK.js → chunk-PB7G5MAM.js} +3 -3
  65. package/{chunk-HWW2M4SN.js → chunk-QLVWFXZQ.js} +5 -4
  66. package/{chunk-VYHDJEQD.js → chunk-QNLLGS37.js} +136 -78
  67. package/{chunk-XHG22OEX.js → chunk-ROJI6DRT.js} +2 -2
  68. package/{chunk-BV4VEE3W.js → chunk-ROYOKSX4.js} +243 -354
  69. package/{chunk-VNAEBGDK.js → chunk-RZNYL4LW.js} +123 -26
  70. package/{chunk-RVOUXDFU.js → chunk-S6KVFOUG.js} +6 -34
  71. package/{chunk-V3ED5AWK.js → chunk-S77SCVBU.js} +27 -16
  72. package/{chunk-UBHAWFQ6.js → chunk-S7RWIPDI.js} +42 -19
  73. package/{chunk-B5TOXZAK.js → chunk-SIZQB7BD.js} +1 -1
  74. package/{chunk-DFFIZ25G.js → chunk-SLOGKB7M.js} +4 -1
  75. package/{chunk-FXUSIQC2.js → chunk-SROR5TSM.js} +1 -1
  76. package/{chunk-PIZYJVHQ.js → chunk-TN4YHAI3.js} +4 -4
  77. package/{chunk-IYEXFJPC.js → chunk-TW35GDNW.js} +64 -57
  78. package/chunk-UZ6XXCVR.js +50 -0
  79. package/{chunk-DKZFOK24.js → chunk-UZH44DWK.js} +7 -288
  80. package/{chunk-YGW4G5W5.js → chunk-X546QUDT.js} +61 -12
  81. package/chunk-YYLHWIW6.js +48 -0
  82. package/{chunk-SWDPIPOY.js → chunk-ZGVW7MSZ.js} +1 -1
  83. package/{chunk-34WPV75U.js → chunk-ZUXIXYJI.js} +1 -1
  84. package/{chunk-VC6OZXO5.js → chunk-ZWJOGMKH.js} +2 -26
  85. package/{cliExecutor-DNE7TCC4.js → cliExecutor-K3F7DMRO.js} +2 -2
  86. package/{codingSkills-36KN5NQT.js → codingSkills-EN6Z6G6U.js} +4 -4
  87. package/{createAgentAutomationAction-GNFF524X.js → createAgentAutomationAction-MKQWN4VQ.js} +19 -18
  88. package/{createDialogAction-RB55KCLO.js → createDialogAction-YWIZPLFS.js} +22 -20
  89. package/{createPageAction-Y7343GLU.js → createPageAction-74TTEIPC.js} +20 -19
  90. package/{db-W3O47YGF.js → db-W5UHK4P3.js} +150 -0
  91. package/{dbSlice-CGSRFJN3.js → dbSlice-5BKDURDL.js} +4 -4
  92. package/{dialogCommands-IAZK6YHQ.js → dialogCommands-MJIP32FL.js} +24 -23
  93. package/{dialogSlice-UQAXF23P.js → dialogSlice-KLLVH4WI.js} +24 -18
  94. package/{docCreateCommands-I2EWZGCI.js → docCreateCommands-5DN472U6.js} +24 -27
  95. package/{docDeleteCommands-IZ45UZKG.js → docDeleteCommands-HE76LBN4.js} +25 -24
  96. package/{docReadCommands-R6Z4QJYU.js → docReadCommands-XVGZSCBS.js} +24 -23
  97. package/{docStore-5HOJ4D7D.js → docStore-SPH3D6BT.js} +20 -19
  98. package/{docUpdateCommands-2LRBKQPY.js → docUpdateCommands-P7IAWUAD.js} +24 -27
  99. package/{fetchMessages-BMGVZVSE.js → fetchMessages-W4IKHPCS.js} +2 -3
  100. package/{getPricing-G7DLAST6.js → getPricing-WENPBVWH.js} +3 -3
  101. package/{handleSendMessageAction-Q4HY35WX.js → handleSendMessageAction-ZU6WJVL7.js} +23 -20
  102. package/index.js +74 -74
  103. package/{localDialogRead-4H3QJFLW.js → localDialogRead-JXTAHW2E.js} +2 -2
  104. package/{machineCommands-PKBPQKTY.js → machineCommands-NI76PVHK.js} +59 -57
  105. package/{machineWsRunDispatch-UZAW4OXJ.js → machineWsRunDispatch-W3G6NJVQ.js} +51 -49
  106. package/{models-DJFSJ7SW.js → models-DB27UAE3.js} +2 -2
  107. package/package.json +1 -1
  108. package/{read-3FMPZPER.js → read-F3L3T2WJ.js} +2 -1
  109. package/{readDocTool-VSYHKK3V.js → readDocTool-FOHWVA4R.js} +1 -1
  110. package/{readlineWorkspace-Y2RDOFZG.js → readlineWorkspace-BDH4G477.js} +880 -425
  111. package/{removeDialogAgentAction-OAGA2G3U.js → removeDialogAgentAction-QCFGIUIH.js} +8 -7
  112. package/{runAgentClientLoop-NBPIKJ6J.js → runAgentClientLoop-ZPKMXCM5.js} +45 -38
  113. package/{setDialogExtraReferencesAction-JZEXA5SL.js → setDialogExtraReferencesAction-DK4CKERU.js} +5 -5
  114. package/{setPrimaryDialogAgentAction-4ZUQQKDG.js → setPrimaryDialogAgentAction-SJSO6N27.js} +8 -7
  115. package/{settingSlice-7MNKHZ6R.js → settingSlice-XNM5AFPU.js} +6 -5
  116. package/{spaceCommands-DHCZ7J5I.js → spaceCommands-3GGBJRQR.js} +25 -24
  117. package/{spaceSlice-ZXLLG3CR.js → spaceSlice-47Z6XLFQ.js} +21 -18
  118. package/{streamAgentChatTurn-L3YW6LSB.js → streamAgentChatTurn-VT5K5JSD.js} +140 -98
  119. package/switchDialogAgentAction-4OAC6QRN.js +61 -0
  120. package/{tableCommands-BEQAGE4I.js → tableCommands-HEQYT2KP.js} +1 -1
  121. package/{toolApiClient-QI3YBNWB.js → toolApiClient-ISM4ZQX4.js} +2 -2
  122. package/{tools-ECGXR5QF.js → tools-L7RCHAPT.js} +36 -33
  123. package/{tuiSummaryLlmCaller-OMSCNHXA.js → tuiSummaryLlmCaller-3DYOLTVN.js} +6 -6
  124. package/{updateCommands-XTW55TOT.js → updateCommands-HTCOBXCA.js} +2 -2
  125. package/{updateDialogTitleAction-HQ2EUDFT.js → updateDialogTitleAction-KMPVPQ4A.js} +28 -27
  126. package/chunk-DL6EPNIK.js +0 -50
  127. package/chunk-V5R4NZP2.js +0 -78
  128. package/chunk-X4Q4UZEY.js +0 -26
  129. package/queryRunOverlay-O4LOMMPO.js +0 -161
  130. package/runOverlayPresentation-ZO4VCWEU.js +0 -11
  131. package/types-ZSTJ7MPR.js +0 -7
  132. package/{chunk-X7W4TNB4.js → chunk-CMKUBIGW.js} +3 -3
  133. package/{runtimeDoctorCommands-E2OUORHK.js → runtimeDoctorCommands-HSU632DY.js} +3 -3
@@ -2,43 +2,6 @@ import {
2
2
  asTrimmedLowercaseString
3
3
  } from "./chunk-QSJ3HFEF.js";
4
4
 
5
- // packages/integrations/deepseek/models.ts
6
- var deepSeekModels = [
7
- {
8
- name: "deepseek-v4-flash",
9
- displayName: "DeepSeek V4 Flash",
10
- hasVision: false,
11
- contextWindow: 1e6,
12
- maxOutputTokens: 384e3,
13
- jsonOutput: true,
14
- fnCall: true,
15
- supportsTool: true,
16
- supportsReasoningEffort: true,
17
- endpointKey: "chat.completions",
18
- price: {
19
- input: 1,
20
- inputCacheHit: 0.02,
21
- output: 2
22
- }
23
- },
24
- {
25
- name: "deepseek-v4-pro",
26
- displayName: "DeepSeek V4 Pro",
27
- hasVision: false,
28
- contextWindow: 1e6,
29
- maxOutputTokens: 384e3,
30
- jsonOutput: true,
31
- fnCall: true,
32
- supportsTool: true,
33
- supportsReasoningEffort: true,
34
- price: {
35
- input: 3,
36
- inputCacheHit: 0.1,
37
- output: 6
38
- }
39
- }
40
- ];
41
-
42
5
  // packages/ai/agent/liveAudioModel.ts
43
6
  var DEFAULT_GOOGLE_LIVE_AUDIO_MODEL = "gemini-3.1-flash-live-preview";
44
7
 
@@ -409,15 +372,24 @@ var OPENROUTER_MODELS = [];
409
372
  var openrouterModels = OPENROUTER_MODELS;
410
373
 
411
374
  // packages/ai/llm/deepinfra.ts
375
+ var DEEPINFRA_CLAUDE_HAIKU_PRICE = {
376
+ input: 1 * 9,
377
+ output: 5 * 9
378
+ };
379
+ var DEEPINFRA_CLAUDE_SONNET_PRICE = {
380
+ input: 3 * 9,
381
+ output: 15 * 9
382
+ };
383
+ var DEEPINFRA_CLAUDE_OPUS_PRICE = {
384
+ input: 5 * 9,
385
+ output: 25 * 9
386
+ };
412
387
  var deepinfraModels = [
413
388
  {
414
389
  name: "anthropic/claude-haiku-4-5",
415
390
  displayName: "Anthropic: Claude Haiku 4.5",
416
391
  hasVision: true,
417
- price: {
418
- input: 1 * 9,
419
- output: 5 * 9
420
- },
392
+ price: { ...DEEPINFRA_CLAUDE_HAIKU_PRICE },
421
393
  contextWindow: 195e3,
422
394
  maxOutputTokens: 4092,
423
395
  supportsTool: false
@@ -426,10 +398,7 @@ var deepinfraModels = [
426
398
  name: "anthropic/claude-sonnet-5",
427
399
  displayName: "Anthropic: Claude Sonnet 5",
428
400
  hasVision: true,
429
- price: {
430
- input: 3 * 9,
431
- output: 15 * 9
432
- },
401
+ price: { ...DEEPINFRA_CLAUDE_SONNET_PRICE },
433
402
  contextWindow: 976e3,
434
403
  maxOutputTokens: 4092,
435
404
  supportsTool: false
@@ -438,10 +407,7 @@ var deepinfraModels = [
438
407
  name: "anthropic/claude-opus-4-8",
439
408
  displayName: "Anthropic: Claude Opus 4.8",
440
409
  hasVision: true,
441
- price: {
442
- input: 5 * 9,
443
- output: 25 * 9
444
- },
410
+ price: { ...DEEPINFRA_CLAUDE_OPUS_PRICE },
445
411
  contextWindow: 976e3,
446
412
  maxOutputTokens: 4092,
447
413
  supportsTool: false
@@ -451,12 +417,12 @@ var deepinfraModels = [
451
417
  // packages/integrations/xai/models.ts
452
418
  var xaiModels = [
453
419
  {
454
- name: "grok-4.5",
455
- displayName: "Grok 4.5",
420
+ name: "grok-4.6",
421
+ displayName: "Grok 4.6",
456
422
  hasVision: true,
457
423
  contextWindow: 5e5,
424
+ // 价格沿用 grok-4.5 报价($2/$6 ×7),换代后待 live 验证再校准。
458
425
  price: { input: 2 * 7, output: 6 * 7 },
459
- // $2/$6 per MTok × 7
460
426
  fnCall: true,
461
427
  jsonOutput: true
462
428
  }
@@ -519,6 +485,19 @@ var resolveFireworksKimiModel = (model) => {
519
485
  };
520
486
 
521
487
  // packages/ai/llm/platformHosted.ts
488
+ var PLATFORM_HOSTED_CLAUDE_HAIKU_4_5_MODEL = "anthropic/claude-haiku-4-5";
489
+ var PLATFORM_HOSTED_CLAUDE_SONNET_5_MODEL = "anthropic/claude-sonnet-5";
490
+ var PLATFORM_HOSTED_CLAUDE_OPUS_4_8_MODEL = "anthropic/claude-opus-4-8";
491
+ var PLATFORM_HOSTED_CLAUDE_MODELS = [
492
+ PLATFORM_HOSTED_CLAUDE_HAIKU_4_5_MODEL,
493
+ PLATFORM_HOSTED_CLAUDE_SONNET_5_MODEL,
494
+ PLATFORM_HOSTED_CLAUDE_OPUS_4_8_MODEL
495
+ ];
496
+ var isPlatformHostedClaudeModel = (model) => PLATFORM_HOSTED_CLAUDE_MODELS.some(
497
+ (m) => asTrimmedLowercaseString(model) === m
498
+ );
499
+ var PLATFORM_HOSTED_GROK_4_6_MODEL = "grok-4.6";
500
+ var isPlatformHostedGrokModel = (model) => asTrimmedLowercaseString(model) === PLATFORM_HOSTED_GROK_4_6_MODEL;
522
501
  var PLATFORM_CREDITS_PER_USD = 7;
523
502
  var EXTERNAL_API_DISCOUNT = 0.8;
524
503
  var toPlatformCredits = (usdPerMillion) => Number(
@@ -538,18 +517,57 @@ var PLATFORM_HOSTED_KIMI_K3_PRICE = {
538
517
  output: 64
539
518
  // crof $8 × 8
540
519
  };
541
- var PLATFORM_HOSTED_GLM_PRICE = {
542
- input: toPlatformCredits(1.4),
543
- inputCacheHit: toPlatformCredits(0.26),
544
- output: toPlatformCredits(4.4)
545
- };
546
- var PLATFORM_HOSTED_GLM_52_MODEL = "glm-5.2";
547
520
  var PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL = "deepseek-v4-flash";
521
+ var PLATFORM_HOSTED_DEEPSEEK_PRO_MODEL = "deepseek-v4-pro";
522
+ var DEEPSEEK_V4_PRICING_EFFECTIVE_AT_MS = Date.UTC(2026, 7, 16, 16);
523
+ var PLATFORM_HOSTED_DEEPSEEK_FLASH_PEAK_PRICE = {
524
+ input: 3,
525
+ inputCacheHit: 0.1,
526
+ output: 9
527
+ };
528
+ var PLATFORM_HOSTED_DEEPSEEK_PRO_PEAK_PRICE = {
529
+ input: 9,
530
+ inputCacheHit: 0.3,
531
+ output: 27
532
+ };
548
533
  var PLATFORM_HOSTED_DEEPSEEK_FLASH_PRICE = {
549
534
  input: 1,
550
535
  inputCacheHit: 0.02,
551
536
  output: 2
552
537
  };
538
+ var PLATFORM_HOSTED_DEEPSEEK_PRO_PRICE = {
539
+ input: 3,
540
+ inputCacheHit: 0.025,
541
+ output: 6
542
+ };
543
+ var PLATFORM_HOSTED_DEEPSEEK_FLASH_OFF_PEAK_PRICE = {
544
+ input: 1.5,
545
+ inputCacheHit: 0.05,
546
+ output: 4.5
547
+ };
548
+ var PLATFORM_HOSTED_DEEPSEEK_PRO_OFF_PEAK_PRICE = {
549
+ input: 4.5,
550
+ inputCacheHit: 0.15,
551
+ output: 13.5
552
+ };
553
+ var getPlatformHostedDeepSeekV4Price = (model, nowMs = Date.now()) => {
554
+ if (nowMs < DEEPSEEK_V4_PRICING_EFFECTIVE_AT_MS) {
555
+ return model === PLATFORM_HOSTED_DEEPSEEK_PRO_MODEL ? PLATFORM_HOSTED_DEEPSEEK_PRO_PRICE : PLATFORM_HOSTED_DEEPSEEK_FLASH_PRICE;
556
+ }
557
+ const hour = Number(
558
+ new Intl.DateTimeFormat("en-US", {
559
+ timeZone: "Asia/Shanghai",
560
+ hour: "numeric",
561
+ hourCycle: "h23"
562
+ }).format(new Date(nowMs))
563
+ );
564
+ const peak = hour >= 9 && hour < 12 || hour >= 14 && hour < 18;
565
+ if (!peak) {
566
+ return model === PLATFORM_HOSTED_DEEPSEEK_PRO_MODEL ? PLATFORM_HOSTED_DEEPSEEK_PRO_OFF_PEAK_PRICE : PLATFORM_HOSTED_DEEPSEEK_FLASH_OFF_PEAK_PRICE;
567
+ }
568
+ return model === PLATFORM_HOSTED_DEEPSEEK_PRO_MODEL ? PLATFORM_HOSTED_DEEPSEEK_PRO_PEAK_PRICE : PLATFORM_HOSTED_DEEPSEEK_FLASH_PEAK_PRICE;
569
+ };
570
+ var isPlatformHostedDeepSeekV4Model = (model) => model === PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL || model === PLATFORM_HOSTED_DEEPSEEK_PRO_MODEL;
553
571
  var PLATFORM_HOSTED_CHAT_COMPLETIONS_URL = "https://ollama.com/v1/chat/completions";
554
572
  var platformHostedModels = [
555
573
  {
@@ -572,29 +590,65 @@ var platformHostedModels = [
572
590
  supportsTool: true
573
591
  },
574
592
  {
575
- name: PLATFORM_HOSTED_GLM_52_MODEL,
576
- displayName: "GLM 5.2",
593
+ name: PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL,
594
+ displayName: "DeepSeek V4 Flash",
577
595
  hasVision: false,
578
- price: { ...PLATFORM_HOSTED_GLM_PRICE },
579
- maxOutputTokens: 131072,
596
+ price: { ...PLATFORM_HOSTED_DEEPSEEK_FLASH_PRICE },
597
+ maxOutputTokens: 384e3,
580
598
  contextWindow: 1e6,
581
599
  supportsTool: true,
582
600
  supportsReasoningEffort: true
583
601
  },
584
602
  {
585
- name: PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL,
586
- displayName: "DeepSeek V4 Flash",
603
+ name: PLATFORM_HOSTED_DEEPSEEK_PRO_MODEL,
604
+ displayName: "DeepSeek V4 Pro",
587
605
  hasVision: false,
588
- price: { ...PLATFORM_HOSTED_DEEPSEEK_FLASH_PRICE },
606
+ price: { ...PLATFORM_HOSTED_DEEPSEEK_PRO_PRICE },
589
607
  maxOutputTokens: 384e3,
590
608
  contextWindow: 1e6,
591
609
  supportsTool: true,
592
610
  supportsReasoningEffort: true
611
+ },
612
+ {
613
+ name: PLATFORM_HOSTED_CLAUDE_HAIKU_4_5_MODEL,
614
+ displayName: "Claude Haiku 4.5",
615
+ hasVision: true,
616
+ price: { ...DEEPINFRA_CLAUDE_HAIKU_PRICE },
617
+ maxOutputTokens: 4092,
618
+ contextWindow: 195e3,
619
+ supportsTool: false
620
+ },
621
+ {
622
+ name: PLATFORM_HOSTED_CLAUDE_SONNET_5_MODEL,
623
+ displayName: "Claude Sonnet 5",
624
+ hasVision: true,
625
+ price: { ...DEEPINFRA_CLAUDE_SONNET_PRICE },
626
+ maxOutputTokens: 4092,
627
+ contextWindow: 976e3,
628
+ supportsTool: false
629
+ },
630
+ {
631
+ name: PLATFORM_HOSTED_CLAUDE_OPUS_4_8_MODEL,
632
+ displayName: "Claude Opus 4.8",
633
+ hasVision: true,
634
+ price: { ...DEEPINFRA_CLAUDE_OPUS_PRICE },
635
+ maxOutputTokens: 4092,
636
+ contextWindow: 976e3,
637
+ supportsTool: false
638
+ },
639
+ {
640
+ name: PLATFORM_HOSTED_GROK_4_6_MODEL,
641
+ displayName: "Grok 4.6",
642
+ hasVision: true,
643
+ // 上游 xAI 官方 API:$2/$6 per 1M ×7(同 xai/models.ts 报价口径)。
644
+ price: { input: 2 * 7, output: 6 * 7 },
645
+ maxOutputTokens: 1e5,
646
+ contextWindow: 5e5,
647
+ supportsTool: true
593
648
  }
594
649
  ];
595
650
 
596
651
  export {
597
- deepSeekModels,
598
652
  googleModels,
599
653
  openAIModels,
600
654
  openrouterModels,
@@ -607,8 +661,12 @@ export {
607
661
  isFireworksKimiModel,
608
662
  isDeepInfraKimiModel,
609
663
  resolveFireworksKimiModel,
610
- PLATFORM_HOSTED_GLM_PRICE,
611
- PLATFORM_HOSTED_GLM_52_MODEL,
664
+ isPlatformHostedClaudeModel,
665
+ isPlatformHostedGrokModel,
666
+ PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL,
667
+ PLATFORM_HOSTED_DEEPSEEK_FLASH_PRICE,
668
+ getPlatformHostedDeepSeekV4Price,
669
+ isPlatformHostedDeepSeekV4Model,
612
670
  PLATFORM_HOSTED_CHAT_COMPLETIONS_URL,
613
671
  platformHostedModels,
614
672
  getCloudflareWorkersAiChatCompletionsUrl,
@@ -3,11 +3,49 @@ import {
3
3
  } from "./chunk-DWLEOOGR.js";
4
4
 
5
5
  // packages/chat/dialog/dialogTitle.ts
6
- var GENERATED_DIALOG_TITLE_MAX_CHARS = 36;
6
+ var GENERATED_DIALOG_TITLE_MAX_CHARS = 28;
7
7
  var FALLBACK_DIALOG_TITLE_MAX_CHARS = 24;
8
8
  var WRAPPING_QUOTES_RE = /^[`"'“”‘’「」『』《》]+|[`"'“”‘’「」『』《》]+$/gu;
9
- var TRAILING_TITLE_PUNCTUATION_RE = /[。!?!?;;,,、::]+$/u;
10
- var clip = (text, maxChars) => text.length <= maxChars ? text : `${text.slice(0, maxChars - 1).trimEnd()}\u2026`;
9
+ var TRAILING_TITLE_PUNCTUATION_RE = /[\s。!?!?;;,,、::\-—–_…/\\|&]+$/u;
10
+ var HAS_CJK_RE = /[\u3040-\u30ff\u3400-\u4dbf\u4e00-\u9fff\uf900-\ufaff\uff66-\uff9f\uac00-\ud7af]/u;
11
+ var cleanTrailingPunctuation = (text) => {
12
+ let cleaned = text.trim();
13
+ while (TRAILING_TITLE_PUNCTUATION_RE.test(cleaned)) {
14
+ cleaned = cleaned.replace(TRAILING_TITLE_PUNCTUATION_RE, "").trim();
15
+ }
16
+ return cleaned;
17
+ };
18
+ var clip = (text, maxChars) => {
19
+ const trimmed = text.trim();
20
+ if (!trimmed) return "";
21
+ const isCjk = HAS_CJK_RE.test(trimmed);
22
+ if (isCjk) {
23
+ const chars2 = Array.from(trimmed);
24
+ if (chars2.length <= maxChars) {
25
+ return cleanTrailingPunctuation(trimmed);
26
+ }
27
+ const truncated = chars2.slice(0, Math.max(1, maxChars - 1)).join("");
28
+ const cleaned = cleanTrailingPunctuation(truncated);
29
+ return cleaned ? `${cleaned}\u2026` : "\u2026";
30
+ }
31
+ const words = trimmed.split(/\s+/);
32
+ let isTruncated = false;
33
+ let textToClip = trimmed;
34
+ if (words.length > 6) {
35
+ textToClip = words.slice(0, 6).join(" ");
36
+ isTruncated = true;
37
+ }
38
+ const chars = Array.from(textToClip);
39
+ if (chars.length > maxChars) {
40
+ textToClip = chars.slice(0, Math.max(1, maxChars - 1)).join("");
41
+ isTruncated = true;
42
+ }
43
+ if (isTruncated) {
44
+ const cleaned = cleanTrailingPunctuation(textToClip);
45
+ return cleaned ? `${cleaned}\u2026` : "\u2026";
46
+ }
47
+ return cleanTrailingPunctuation(trimmed);
48
+ };
11
49
  var toSingleLine = (value) => value.replace(/\r\n?/g, "\n").split("\n").map((line) => line.trim()).find(Boolean) ?? "";
12
50
  var stripTitleFormatting = (value) => value.replace(/^(?:[-*#>]+\s*|\d+\.\s+)/, "").replace(WRAPPING_QUOTES_RE, "").replace(TRAILING_TITLE_PUNCTUATION_RE, "").trim();
13
51
  var pickLeadingClause = (value) => {
@@ -45,6 +83,7 @@ var resolveDialogTitle = (generatedTitle, fallbackTitle) => normalizeDialogTitle
45
83
 
46
84
  export {
47
85
  normalizeDialogTitle,
86
+ buildDialogFallbackTitleFromUserInput,
48
87
  buildDialogFallbackTitleFromMessages,
49
88
  resolveDialogTitle
50
89
  };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  loadProfileConfig
3
- } from "./chunk-ROWQEJRP.js";
3
+ } from "./chunk-DXJS7VSG.js";
4
4
  import {
5
5
  resolveDefaultSpawn
6
6
  } from "./chunk-IDZTNRP2.js";
@@ -11,7 +11,7 @@ import {
11
11
  getDefaultProfileConfigPath,
12
12
  loadProfileConfig,
13
13
  saveDefaultProfile
14
- } from "./chunk-ROWQEJRP.js";
14
+ } from "./chunk-DXJS7VSG.js";
15
15
  import {
16
16
  resolveAuthTokenFromEnv
17
17
  } from "./chunk-A7GB5UGH.js";
@@ -23,7 +23,7 @@ import {
23
23
  createMemoryOwnerIndexKey,
24
24
  createMemorySubjectKindIndexKey,
25
25
  memoryOwnerRange
26
- } from "./chunk-6Y7A3OQQ.js";
26
+ } from "./chunk-NRY4GCKJ.js";
27
27
  import {
28
28
  asTrimmedNonEmptyStringArray
29
29
  } from "./chunk-I42VC5KR.js";
@@ -1,6 +1,5 @@
1
1
  import {
2
2
  cloudflareModels,
3
- deepSeekModels,
4
3
  deepinfraModels,
5
4
  fireworksModels,
6
5
  gmiModels,
@@ -10,7 +9,7 @@ import {
10
9
  platformHostedModels,
11
10
  xaiModels,
12
11
  zaiModels
13
- } from "./chunk-MKA6QE5E.js";
12
+ } from "./chunk-2IPEVBUO.js";
14
13
 
15
14
  // packages/ai/llm/modelAbility.ts
16
15
  var MODEL_ABILITY_TABLE = {
@@ -53,7 +52,6 @@ var ALL_MODELS = [
53
52
  ...withProvider("openai")(openAIModels),
54
53
  ...withProvider("openrouter")(openrouterModels),
55
54
  ...withProvider("xai")(xaiModels),
56
- ...withProvider("deepseek")(deepSeekModels),
57
55
  ...withProvider("deepinfra")(deepinfraModels),
58
56
  ...withProvider("fireworks")(fireworksModels),
59
57
  ...withProvider("cloudflare")(cloudflareModels),