nolo-cli 0.90.0-alpha.1 → 0.91.1

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 (173) hide show
  1. package/README.md +1 -1
  2. package/{_executeModel-W26HVI75.js → _executeModel-H35GQ2XO.js} +61 -60
  3. package/{action-6DXQGJMX.js → action-3ZOODRBC.js} +11 -11
  4. package/{addContentAction-I7VX5SAC.js → addContentAction-IJHG2ZV7.js} +9 -9
  5. package/{addDialogAgentAction-OJSFV7DZ.js → addDialogAgentAction-IGFS2UBX.js} +11 -11
  6. package/{agentDeleteCommand-XNFWCKBH.js → agentDeleteCommand-XOFMXMHW.js} +43 -42
  7. package/{agentEmailCommands-W3X3EJ3V.js → agentEmailCommands-H2SEP6ZQ.js} +82 -78
  8. package/{agentGrantCommands-YW6PQAQ2.js → agentGrantCommands-M3XFO6EN.js} +2 -2
  9. package/{agentListCommands-DFWFU6XO.js → agentListCommands-RYGH6NUL.js} +72 -80
  10. package/{agentMachineCommands-LMFOAEL4.js → agentMachineCommands-XELOBZIP.js} +37 -36
  11. package/{agentProviderCommands-ZBYHGTGY.js → agentProviderCommands-JCRK6ST2.js} +1 -1
  12. package/{agentPullCommand-GLOOXJ2E.js → agentPullCommand-HF4A42D4.js} +3 -3
  13. package/agentRecordCommands-43HAXAZO.js +130 -0
  14. package/{agentRunCommand-HTBVIBGV.js → agentRunCommand-GIPN6DBO.js} +80 -75
  15. package/{agentRunControl-XLGD3UZ5.js → agentRunControl-AVJR4JW4.js} +2 -2
  16. package/{agentRuntimeLocal-2JFG4HDU.js → agentRuntimeLocal-SDOSSCLU.js} +38 -33
  17. package/{agentSlice-ZNLGFUB5.js → agentSlice-B2DLZMAC.js} +11 -11
  18. package/{appDeleteCommands-2UN4N2NR.js → appDeleteCommands-7OR5MAOR.js} +37 -36
  19. package/{appDeployCommands-37D74KRR.js → appDeployCommands-5GNI723H.js} +37 -36
  20. package/{appDeployStatusCommands-QBLWL2IA.js → appDeployStatusCommands-WL2NG3SG.js} +37 -36
  21. package/{appGetCommands-6KXIDF2T.js → appGetCommands-7BVKQS44.js} +37 -36
  22. package/{appListCommands-G2WFGEWQ.js → appListCommands-5VXFJOBU.js} +37 -36
  23. package/{authCommand-V2DJ7DB7.js → authCommand-N4Q6463J.js} +115 -23
  24. package/{authCommands-RGOGCPP6.js → authCommands-GBIFZWD3.js} +5 -5
  25. package/{builtinSkillRegistry-WBGYKIAZ.js → builtinSkillRegistry-JPY2DKRF.js} +7 -7
  26. package/{chatQueueReduxAdapter-XCJHIY3R.js → chatQueueReduxAdapter-3KDRKXTT.js} +29 -29
  27. package/{chromeCommands-VOIRNJBL.js → chromeCommands-NKU3OWKH.js} +36 -11
  28. package/{chromeOpsCommands-M7DPCX2T.js → chromeOpsCommands-OQDJGD4Y.js} +31 -1
  29. package/{chunk-4BYPU626.js → chunk-232453C2.js} +994 -1036
  30. package/{chunk-SMZSWB44.js → chunk-25GAGMRK.js} +6 -83
  31. package/{chunk-PH5J5VUY.js → chunk-3IYMTWYZ.js} +22 -22
  32. package/{chunk-NTW5GWDM.js → chunk-3VNWWVKB.js} +2 -0
  33. package/{chunk-TVNI5FLG.js → chunk-46CRK7XP.js} +7 -7
  34. package/{chunk-2ADBVBEM.js → chunk-55VQ4OPL.js} +4 -4
  35. package/{chunk-JPGCXHNM.js → chunk-5OA5HMTL.js} +1 -1
  36. package/{chunk-DWUCB2A3.js → chunk-62IL3KQV.js} +4 -34
  37. package/{chunk-3R5PH4IP.js → chunk-64TIEZHF.js} +1 -1
  38. package/{chunk-6YTOJY35.js → chunk-6D2JFXLY.js} +35 -0
  39. package/{chunk-3BMYXEUW.js → chunk-6O4IK4V2.js} +1 -1
  40. package/{chunk-WXPVOQD7.js → chunk-6PELJ3DS.js} +533 -236
  41. package/{chunk-NFMHIUY3.js → chunk-7EMJBGCA.js} +966 -218
  42. package/{chunk-HYZHJ5GW.js → chunk-7YMUSSHQ.js} +93 -93
  43. package/chunk-ACTMNVHM.js +93 -0
  44. package/{chunk-Q554LLSI.js → chunk-AUDNYVRC.js} +1 -1
  45. package/{chunk-UKWGR5SS.js → chunk-AUXHZ2M5.js} +186 -397
  46. package/{chunk-7MYYE7WX.js → chunk-B4PW6UAI.js} +61 -34
  47. package/{chunk-4DRWWIOL.js → chunk-B7ANJQWZ.js} +2 -2
  48. package/{chunk-XKQJJK4F.js → chunk-BAAKVSMZ.js} +4 -4
  49. package/{chunk-FQYMLZ6C.js → chunk-BFCXG6AJ.js} +16 -16
  50. package/{chunk-ZBT3WNBK.js → chunk-BJUDYFV5.js} +10 -2
  51. package/chunk-BMQ2MJUK.js +153 -0
  52. package/{chunk-TL6L5XUT.js → chunk-BNGW5ASC.js} +94 -16
  53. package/{chunk-JTK3TJYV.js → chunk-BTSYHR7J.js} +4 -4
  54. package/{chunk-LS2ZANRJ.js → chunk-CTUQJVQM.js} +1 -1
  55. package/{chunk-JEDZAO7L.js → chunk-D2W6WRHT.js} +13 -8
  56. package/{chunk-6BEA566T.js → chunk-D76D3RTR.js} +2 -2
  57. package/{chunk-HQCSU3DI.js → chunk-DCLMZ5TX.js} +4 -4
  58. package/{chunk-L2ICPOAL.js → chunk-EFZKILX6.js} +4 -4
  59. package/{chunk-JBBZ5KUM.js → chunk-EHO5EGU4.js} +23 -76
  60. package/{chunk-HVURBGF3.js → chunk-ESRMFY7G.js} +2 -2
  61. package/{chunk-ABQYVJBJ.js → chunk-ETZWFV6M.js} +1 -1
  62. package/{chunk-TRV2MIDW.js → chunk-EXAJ6DCR.js} +1 -0
  63. package/{chunk-VHJLQHPQ.js → chunk-F64B2W3R.js} +110 -34
  64. package/{chunk-AQZRTHDZ.js → chunk-G4EMOUX3.js} +886 -154
  65. package/{chunk-XTUY5EL4.js → chunk-GJUKGFHG.js} +74 -16
  66. package/{chunk-XMGHGEN6.js → chunk-GMVELWJG.js} +3 -3
  67. package/chunk-GMZLP5DV.js +82 -0
  68. package/{chunk-CJCJF5XB.js → chunk-H6A6X4EK.js} +36 -3
  69. package/{chunk-N3OAPEZE.js → chunk-HBTA2SGQ.js} +97 -21
  70. package/{chunk-ONXOABJR.js → chunk-HNGRBWYF.js} +3 -0
  71. package/{chunk-3CR2LC6X.js → chunk-HNRASX3X.js} +8 -8
  72. package/{chunk-CPH3W5A7.js → chunk-I3TQJXQ7.js} +94 -3
  73. package/{chunk-GRYGRGPS.js → chunk-IS5VEM2G.js} +140 -15
  74. package/{chunk-MJHQ3NRV.js → chunk-ISHYYQJC.js} +5 -3
  75. package/{chunk-ZAB3A45K.js → chunk-K7M4I3PF.js} +30 -7
  76. package/{chunk-2AYMFHUG.js → chunk-KQOD3G2X.js} +165 -15
  77. package/{chunk-YOXYA2GU.js → chunk-LNPYTNMG.js} +10 -5
  78. package/{chunk-F2CGG72C.js → chunk-LS2MI3B4.js} +45 -45
  79. package/{chunk-GII32WZW.js → chunk-M2EJHDJP.js} +3 -0
  80. package/{chunk-7S4YWN7P.js → chunk-MX574M24.js} +1 -1
  81. package/{chunk-DNQPPRHY.js → chunk-N3XA2O6O.js} +1 -1
  82. package/{chunk-5DFFKASO.js → chunk-NILSKYOE.js} +3 -3
  83. package/chunk-OCZKATRC.js +129 -0
  84. package/{chunk-K7M3MWCE.js → chunk-OOSVFT6S.js} +2 -2
  85. package/{chunk-QCZX4FTW.js → chunk-OY5IJI2N.js} +194 -21
  86. package/{chunk-HMEMJ7GH.js → chunk-PAYUVQ6P.js} +7749 -1320
  87. package/{chunk-ASGDO77C.js → chunk-Q67DOFOO.js} +92 -4
  88. package/{chunk-UA5S3LQQ.js → chunk-QALRKMHF.js} +11 -10
  89. package/{chunk-RZANZZL2.js → chunk-QDSINZM3.js} +1 -1
  90. package/{chunk-DPQ2WVBY.js → chunk-QJLEMM2V.js} +1 -1
  91. package/{chunk-IIKPWSPX.js → chunk-R4SQ3LGW.js} +1 -1
  92. package/{chunk-UTCCPWB2.js → chunk-RZ6CQZB2.js} +34 -20
  93. package/{chunk-SAFZABH7.js → chunk-SV5IJK6K.js} +1 -1
  94. package/{chunk-576IMUGH.js → chunk-T5V7HA3K.js} +1 -1
  95. package/{chunk-BYMV6QZG.js → chunk-TNIX77YM.js} +4 -0
  96. package/chunk-UNYJU5L6.js +780 -0
  97. package/{chunk-QFMFJZLO.js → chunk-V7E4PXQD.js} +1 -1
  98. package/{chunk-QHETQ3KI.js → chunk-VBSVA6CB.js} +2 -2
  99. package/{chunk-A2C4AKKM.js → chunk-VETFWL5K.js} +1 -1
  100. package/chunk-VJVNU77E.js +83 -0
  101. package/{chunk-6D6VBVEW.js → chunk-VPFEPRME.js} +9 -9
  102. package/{chunk-3CMTBX3X.js → chunk-W2P25VGS.js} +25 -6
  103. package/{chunk-CLI4LFSM.js → chunk-WC6A2Q7S.js} +5 -3
  104. package/{chunk-Z33ARZCP.js → chunk-WT2IAJAJ.js} +4 -4
  105. package/chunk-X6YIXGPT.js +870 -0
  106. package/{chunk-5V4NJHRM.js → chunk-YMPTI7RZ.js} +9 -9
  107. package/{chunk-5NMZNPTN.js → chunk-YRIFJ6XQ.js} +13 -13
  108. package/{chunk-FZGV4FGK.js → chunk-YRRASA5Q.js} +268 -143
  109. package/{chunk-2F4VYGFW.js → chunk-Z5W7UMQV.js} +4 -3
  110. package/{chunk-ND2J3NRB.js → chunk-ZGJLSHER.js} +2 -2
  111. package/{chunk-VRLI2WNW.js → chunk-ZI2MEZMT.js} +314 -142
  112. package/{chunk-2F7RJC6L.js → chunk-ZOVKKMF6.js} +1 -1
  113. package/commandRegistry-BP5JLW24.js +822 -0
  114. package/{contentThunks-VURN3DFW.js → contentThunks-2HYFUXUM.js} +29 -29
  115. package/{cooldownCommands-BSCH2W7P.js → cooldownCommands-ZLEPIB4A.js} +2 -2
  116. package/{createAgentAutomationAction-QZAAY77R.js → createAgentAutomationAction-DCKUSJH7.js} +29 -29
  117. package/{createDialogAction-CHGXVTAC.js → createDialogAction-NRIAEH2A.js} +32 -32
  118. package/{createPageAction-IOGAFIN7.js → createPageAction-AUJHHXGG.js} +35 -35
  119. package/{dbSlice-YXQ6RYIH.js → dbSlice-HFPIJT5P.js} +8 -8
  120. package/{deleteFile-YG6QMJLU.js → deleteFile-UEAD5A5Z.js} +3 -3
  121. package/{dialogCommands-XREAP6WQ.js → dialogCommands-UJRGCRN6.js} +42 -39
  122. package/{dialogSlice-DOPGWGS4.js → dialogSlice-AHU4XXIW.js} +35 -29
  123. package/{dist-VODFSGNG.js → dist-NJC2W7I4.js} +61 -54
  124. package/{docCreateCommands-3PYZGSCL.js → docCreateCommands-ZOV3ZBLW.js} +39 -38
  125. package/{docDeleteCommands-3Y6MU44Q.js → docDeleteCommands-G4KAXJYQ.js} +39 -38
  126. package/{docReadCommands-UBANMAFR.js → docReadCommands-B2MM3JIT.js} +38 -37
  127. package/{docStore-SYYFBENY.js → docStore-SITH63V3.js} +9 -9
  128. package/{docUpdateCommands-4GK2X6BN.js → docUpdateCommands-2QNF5CYN.js} +39 -38
  129. package/{fetchMessages-EIU7UFFK.js → fetchMessages-67MEFPZR.js} +2 -2
  130. package/{getPricing-F2C65RIX.js → getPricing-OX7B4R6B.js} +3 -3
  131. package/{handleSendMessageAction-NPVTY2GE.js → handleSendMessageAction-7ZMJMWLC.js} +72 -80
  132. package/index.js +74 -877
  133. package/{localDialogRead-BTFJ4V2I.js → localDialogRead-EBRS242U.js} +2 -2
  134. package/{localRuntimeAuthority-6IR6BBXE.js → localRuntimeAuthority-5W6IJRAD.js} +6 -6
  135. package/{localRuntimeDb-SYQGUF4U.js → localRuntimeDb-3LRMNLCM.js} +1 -1
  136. package/{machineCommands-I66X2XB7.js → machineCommands-YCTD5KOL.js} +75 -71
  137. package/{machineWsRunDispatch-W4FVBOUM.js → machineWsRunDispatch-JFMD4ZAW.js} +73 -69
  138. package/{memberThunks-5T4J6KXQ.js → memberThunks-SKFZ37VS.js} +9 -9
  139. package/{models-WW7VFNXB.js → models-T3SG6MJ5.js} +2 -2
  140. package/oauthTokenStore-ITEB663N.js +23 -0
  141. package/{offlineMarxistsAgentCommand-JEWCIAWM.js → offlineMarxistsAgentCommand-HGXZV4XJ.js} +1 -1
  142. package/package.json +1 -1
  143. package/pdf-U6KSUEZZ.js +26435 -0
  144. package/processSpawn-SOAV3FEV.js +11 -0
  145. package/profileConfig-ZGOFORWV.js +43 -0
  146. package/{providerPresetApply-OCWWKBSD.js → providerPresetApply-2QTBYN36.js} +7 -7
  147. package/{providerRegistry-ZJQU7AJ7.js → providerRegistry-SVXE4G4T.js} +7 -7
  148. package/{read-M2Q6WEKB.js → read-IEJLLUXY.js} +5 -5
  149. package/{readDocTool-T37P3YPB.js → readDocTool-4SPYCP2Y.js} +5 -3
  150. package/{readlineWorkspace-VY5AMOGR.js → readlineWorkspace-M3PLTBLD.js} +2396 -2018
  151. package/{removeDialogAgentAction-HB3JBVAI.js → removeDialogAgentAction-LILXTOQY.js} +14 -14
  152. package/{runAgentClientLoop-3NDADLVE.js → runAgentClientLoop-QMCXBOBH.js} +55 -55
  153. package/{runtimeDoctorCommands-X6WDBEQX.js → runtimeDoctorCommands-3USD722U.js} +3 -3
  154. package/runtimeModeArgs-2Y7BALTO.js +31 -0
  155. package/{setDialogExtraReferencesAction-4XLHRV37.js → setDialogExtraReferencesAction-LVNHLNT5.js} +10 -10
  156. package/{setPrimaryDialogAgentAction-C3JOFC4W.js → setPrimaryDialogAgentAction-DCKO5NTW.js} +14 -14
  157. package/{settingSlice-CZRURSTH.js → settingSlice-CNE75ISY.js} +10 -10
  158. package/{spaceCommands-ENYCUUZH.js → spaceCommands-3U6OHM6O.js} +39 -38
  159. package/{streamAgentChatTurn-634OFUSR.js → streamAgentChatTurn-JPMJQSEE.js} +144 -84
  160. package/{switchDialogAgentAction-C6KVUKJP.js → switchDialogAgentAction-JSYUQ5CG.js} +11 -11
  161. package/{tableCommands-O6NWHFKV.js → tableCommands-G7RV3RU3.js} +4 -4
  162. package/{toolApiClient-7PSIFQPJ.js → toolApiClient-INIQCPGY.js} +3 -3
  163. package/{tools-ILBLCF7D.js → tools-XQ5GIH6P.js} +49 -49
  164. package/{tuiSummaryLlmCaller-LFUBZKXK.js → tuiSummaryLlmCaller-L63PDJUD.js} +16 -15
  165. package/{updateCommands-2M74UL7P.js → updateCommands-ECWKIWLQ.js} +3 -3
  166. package/{updateDialogTitleAction-RKFET73N.js → updateDialogTitleAction-EGAZMLUB.js} +32 -32
  167. package/agentRecordCommands-FVVVCQFM.js +0 -126
  168. package/chunk-Q5FJJ6XI.js +0 -103
  169. package/chunk-S7Z2HMCN.js +0 -25
  170. package/chunk-WS22FPWT.js +0 -79
  171. package/{chunk-VMFTFOWF.js → chunk-3AH7LNUB.js} +7 -7
  172. package/{chunk-X7HHHIOZ.js → chunk-Y6ROFCZO.js} +0 -0
  173. package/{db-WK5MDZVN.js → db-VQSAOWAO.js} +1 -1
@@ -6,10 +6,10 @@ import {
6
6
  } from "./chunk-AGGIDPCZ.js";
7
7
  import {
8
8
  getModelConfig
9
- } from "./chunk-VRLI2WNW.js";
9
+ } from "./chunk-ZI2MEZMT.js";
10
10
  import {
11
11
  isPlatformHostedImageModel
12
- } from "./chunk-ASGDO77C.js";
12
+ } from "./chunk-Q67DOFOO.js";
13
13
  import {
14
14
  asOptionalFiniteNumber
15
15
  } from "./chunk-WWC7I6TA.js";
@@ -31,9 +31,10 @@ var getModelPricing = (provider, modelName, _requestedServiceTier) => {
31
31
  };
32
32
  var getModelPricingForModel = (provider, modelName, model) => {
33
33
  if (!model.price) return null;
34
+ const rawCacheHit = typeof model.price.inputCacheHit === "number" ? model.price.inputCacheHit : model.price.cachingRead;
34
35
  return {
35
36
  inputPrice: model.price.input,
36
- inputCacheHitPrice: typeof model.price.inputCacheHit === "number" ? model.price.inputCacheHit : 0,
37
+ inputCacheHitPrice: typeof rawCacheHit === "number" ? rawCacheHit : 0,
37
38
  outputPrice: model.price.output
38
39
  };
39
40
  };
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  getModelConfig
3
- } from "./chunk-VRLI2WNW.js";
3
+ } from "./chunk-ZI2MEZMT.js";
4
4
  import {
5
5
  isPlatformHostedDeepseekModel,
6
6
  isPlatformHostedOpenAIImageModel,
7
7
  resolvePlatformHostedRouting
8
- } from "./chunk-ASGDO77C.js";
8
+ } from "./chunk-Q67DOFOO.js";
9
9
  import {
10
10
  asTrimmedLowercaseString
11
11
  } from "./chunk-QSJ3HFEF.js";
@@ -9,7 +9,7 @@ import {
9
9
  platformHostedModels,
10
10
  toCnyCredits,
11
11
  zaiModels
12
- } from "./chunk-ASGDO77C.js";
12
+ } from "./chunk-Q67DOFOO.js";
13
13
 
14
14
  // packages/integrations/qwen/models.ts
15
15
  var qwenModels = [
@@ -420,7 +420,7 @@ var stepfunModels = [
420
420
  inputCacheHit: toCnyCredits(0.27)
421
421
  },
422
422
  provider: "stepfun",
423
- description: "\u9636\u8DC3\u661F\u8FB0\u65D7\u8230\u591A\u6A21\u6001\u63A8\u7406\u6A21\u578B\uFF0C256K \u4E0A\u4E0B\u6587\uFF0C\u9AD8\u901F\u63A8\u7406 + \u539F\u751F\u591A\u6A21\u6001 + \u5DE5\u5177\u8C03\u7528\uFF0C\u9488\u5BF9 Agent \u4E0E Coding \u6DF1\u5EA6\u4F18\u5316\u3002"
423
+ description: "\u9636\u8DC3\u661F\u8FB0\u65D7\u8230\u591A\u6A21\u6001\u63A8\u7406\u6A21\u578B\uFF0C256K \u4E0A\u4E0B\u6587\uFF0C\u539F\u751F\u56FE\u50CF+\u89C6\u9891\u7406\u89E3\uFF08\u65E0\u9700\u5916\u6302\u89C6\u89C9\u6A21\u578B\uFF09\uFF0C\u4E09\u6863 reasoning_effort\uFF08low/medium/high\uFF09\uFF0C\u5DE5\u5177\u8C03\u7528\uFF0C\u9488\u5BF9 Agent \u4E0E Coding \u6DF1\u5EA6\u4F18\u5316\uFF1B\u6743\u91CD\u5F00\u6E90\uFF08Apache 2.0\uFF09\u3002"
424
424
  },
425
425
  {
426
426
  name: "step-5-preview",
@@ -440,7 +440,7 @@ var stepfunModels = [
440
440
  inputCacheHit: toCnyCredits(0.35)
441
441
  },
442
442
  provider: "stepfun",
443
- description: "\u9636\u8DC3\u661F\u8FB0\u65B0\u4E00\u4EE3\u65D7\u8230\u591A\u6A21\u6001\u63A8\u7406\u6A21\u578B\uFF0C1M \u4E0A\u4E0B\u6587\uFF0C\u652F\u6301\u590D\u6742\u903B\u8F91\u5206\u89E3\u4E0E\u957F\u7A0B\u89C4\u5212\u3002"
443
+ description: "\u9636\u8DC3\u661F\u8FB0\u65B0\u4E00\u4EE3\u65D7\u8230\u591A\u6A21\u6001\u63A8\u7406\u6A21\u578B\uFF082026-09 \u53D1\u5E03\uFF09\uFF0C1M \u4E0A\u4E0B\u6587\uFF0C\u6587\u672C+\u56FE\u50CF+\u89C6\u9891\u8F93\u5165\uFF0C64k \u6700\u5927\u8F93\u51FA\uFF0C\u4E09\u6863 reasoning_effort\uFF0C\u652F\u6301\u590D\u6742\u903B\u8F91\u5206\u89E3\u4E0E\u957F\u7A0B\u89C4\u5212\uFF1BArtificial Analysis \u667A\u80FD\u6307\u6570 44\uFF0C\u4E3A StepFun \u7CFB\u6700\u9AD8\u3002"
444
444
  },
445
445
  // ── 旗舰语言推理 ──
446
446
  {
@@ -460,7 +460,7 @@ var stepfunModels = [
460
460
  inputCacheHit: toCnyCredits(0.14)
461
461
  },
462
462
  provider: "stepfun",
463
- description: "\u9636\u8DC3\u661F\u8FB0\u65D7\u8230\u8BED\u8A00\u63A8\u7406\u6A21\u578B\uFF0C196B \u603B\u53C2\u6570 / 11B \u6FC0\u6D3B\u53C2\u6570 MoE\uFF0C\u9AD8\u901F\u63A8\u7406\u4E0E\u5DE5\u5177\u8C03\u7528\u3002"
463
+ description: "\u9636\u8DC3\u661F\u8FB0\u65D7\u8230\u8BED\u8A00\u63A8\u7406\u6A21\u578B\uFF0C196B \u603B\u53C2\u6570 / 11B \u6FC0\u6D3B\u53C2\u6570 MoE\uFF0C\u9AD8\u901F\u63A8\u7406\u4E0E\u5DE5\u5177\u8C03\u7528\uFF1B\u6743\u91CD\u5F00\u6E90\u3002"
464
464
  },
465
465
  {
466
466
  name: "step-3.5-flash-2603",
@@ -472,13 +472,14 @@ var stepfunModels = [
472
472
  fnCall: true,
473
473
  supportsTool: true,
474
474
  supportsReasoningEffort: true,
475
+ // 官方价:输入 ¥0.7/M、缓存命中 ¥0.14/M、输出 ¥2.1/M
475
476
  price: {
476
477
  input: toCnyCredits(0.7),
477
478
  output: toCnyCredits(2.1),
478
479
  inputCacheHit: toCnyCredits(0.14)
479
480
  },
480
481
  provider: "stepfun",
481
- description: "\u9488\u5BF9\u9AD8\u9891 Agent \u573A\u666F\u4F18\u5316\uFF0CToken \u6548\u7387\u4E0E\u63A8\u7406\u901F\u5EA6\u66F4\u4F73\uFF0C\u652F\u6301 low/high reasoning_effort\u3002"
482
+ description: "\u9488\u5BF9\u9AD8\u9891 Agent \u573A\u666F\u4F18\u5316\uFF0CToken \u6548\u7387\u4E0E\u63A8\u7406\u901F\u5EA6\u66F4\u4F73\uFF0C\u652F\u6301 low/high reasoning_effort\u3002\u6CE8\u610F\uFF1AArtificial Analysis \u5DF2\u6807\u8BB0\u4E3A deprecated\uFF0C\u5B98\u65B9\u63A8\u8350\u8FC1\u79FB\u5230 step-3.7-flash\u3002"
482
483
  },
483
484
  // ── 经典视觉模型 ──
484
485
  {
@@ -490,111 +491,14 @@ var stepfunModels = [
490
491
  jsonOutput: true,
491
492
  fnCall: true,
492
493
  supportsTool: true,
494
+ // 官方价:输入 ¥2.5/M、缓存命中 ¥0.5/M、输出 ¥8/M
493
495
  price: {
494
496
  input: toCnyCredits(2.5),
495
497
  output: toCnyCredits(8),
496
498
  inputCacheHit: toCnyCredits(0.5)
497
499
  },
498
500
  provider: "stepfun",
499
- description: "\u9AD8\u54CD\u5E94\u901F\u5EA6\u89C6\u89C9\u6A21\u578B\uFF0C\u652F\u6301\u56FE\u7247\u4E0E\u6587\u6863\u7406\u89E3\u3002"
500
- },
501
- // ── 经典通用语言模型 ──
502
- {
503
- name: "step-2-16k",
504
- displayName: "Step 2 16K",
505
- hasVision: false,
506
- contextWindow: 16384,
507
- maxOutputTokens: 4096,
508
- jsonOutput: true,
509
- fnCall: true,
510
- supportsTool: true,
511
- price: { input: toCnyCredits(38), output: toCnyCredits(120) },
512
- provider: "stepfun",
513
- description: "\u5343\u4EBF\u53C2\u6570 MoE \u8BED\u8A00\u5927\u6A21\u578B\uFF0C\u9002\u5408\u903B\u8F91\u590D\u6742\u957F\u6587\u672C\u751F\u6210\u3002"
514
- },
515
- {
516
- name: "step-1-flash",
517
- displayName: "Step 1 Flash",
518
- hasVision: false,
519
- contextWindow: 8192,
520
- maxOutputTokens: 4096,
521
- jsonOutput: true,
522
- fnCall: true,
523
- supportsTool: true,
524
- price: { input: toCnyCredits(1), output: toCnyCredits(4) },
525
- provider: "stepfun"
526
- },
527
- {
528
- name: "step-1-8k",
529
- displayName: "Step 1 8K",
530
- hasVision: false,
531
- contextWindow: 8192,
532
- maxOutputTokens: 4096,
533
- jsonOutput: true,
534
- fnCall: true,
535
- supportsTool: true,
536
- price: { input: toCnyCredits(5), output: toCnyCredits(20) },
537
- provider: "stepfun"
538
- },
539
- {
540
- name: "step-1-32k",
541
- displayName: "Step 1 32K",
542
- hasVision: false,
543
- contextWindow: 32768,
544
- maxOutputTokens: 4096,
545
- jsonOutput: true,
546
- fnCall: true,
547
- supportsTool: true,
548
- price: { input: toCnyCredits(15), output: toCnyCredits(70) },
549
- provider: "stepfun"
550
- },
551
- {
552
- name: "step-1-128k",
553
- displayName: "Step 1 128K",
554
- hasVision: false,
555
- contextWindow: 131072,
556
- maxOutputTokens: 4096,
557
- jsonOutput: true,
558
- fnCall: true,
559
- supportsTool: true,
560
- price: { input: toCnyCredits(40), output: toCnyCredits(200) },
561
- provider: "stepfun"
562
- },
563
- {
564
- name: "step-1-256k",
565
- displayName: "Step 1 256K",
566
- hasVision: false,
567
- contextWindow: 262144,
568
- maxOutputTokens: 4096,
569
- jsonOutput: true,
570
- fnCall: true,
571
- supportsTool: true,
572
- price: { input: toCnyCredits(60), output: toCnyCredits(300) },
573
- provider: "stepfun"
574
- },
575
- {
576
- name: "step-1v-8k",
577
- displayName: "Step 1V 8K",
578
- hasVision: true,
579
- contextWindow: 8192,
580
- maxOutputTokens: 4096,
581
- jsonOutput: true,
582
- fnCall: true,
583
- supportsTool: true,
584
- price: { input: toCnyCredits(5), output: toCnyCredits(20) },
585
- provider: "stepfun"
586
- },
587
- {
588
- name: "step-1v-32k",
589
- displayName: "Step 1V 32K",
590
- hasVision: true,
591
- contextWindow: 32768,
592
- maxOutputTokens: 4096,
593
- jsonOutput: true,
594
- fnCall: true,
595
- supportsTool: true,
596
- price: { input: toCnyCredits(15), output: toCnyCredits(70) },
597
- provider: "stepfun"
501
+ description: "\u9AD8\u54CD\u5E94\u901F\u5EA6\u89C6\u89C9\u6A21\u578B\uFF0C\u652F\u6301\u56FE\u7247\u4E0E\u6587\u6863\u7406\u89E3\uFF1B\u5B98\u65B9\u9000\u5F79\u516C\u544A\u4E2D\u591A\u6570\u65E7\u6A21\u578B\u7684\u6307\u5B9A\u66FF\u6362\u76EE\u6807\u3002"
598
502
  }
599
503
  ];
600
504
  var stepfunStepPlanModels = [
@@ -611,7 +515,7 @@ var stepfunStepPlanModels = [
611
515
  supportsReasoningEffort: true,
612
516
  price: { input: 0, output: 0 },
613
517
  provider: "stepfun",
614
- description: "\u9636\u8DC3\u661F\u8FB0\u65B0\u4E00\u4EE3\u65D7\u8230\u591A\u6A21\u6001\u63A8\u7406\u6A21\u578B\uFF0C1M \u4E0A\u4E0B\u6587\uFF0C\u64C5\u957F\u590D\u6742\u4EFB\u52A1\u5206\u89E3\u4E0E\u591A\u6B65\u8BA1\u5212\u3002"
518
+ description: "\u9636\u8DC3\u661F\u8FB0\u65B0\u4E00\u4EE3\u65D7\u8230\u591A\u6A21\u6001\u63A8\u7406\u6A21\u578B\uFF0C1M \u4E0A\u4E0B\u6587\uFF0C\u6587\u672C+\u56FE\u50CF+\u89C6\u9891\u8F93\u5165\uFF0C\u64C5\u957F\u590D\u6742\u4EFB\u52A1\u5206\u89E3\u4E0E\u591A\u6B65\u8BA1\u5212\u3002"
615
519
  },
616
520
  {
617
521
  name: "step-3.7-flash",
@@ -625,7 +529,7 @@ var stepfunStepPlanModels = [
625
529
  supportsReasoningEffort: true,
626
530
  price: { input: 0, output: 0 },
627
531
  provider: "stepfun",
628
- description: "\u9636\u8DC3\u661F\u8FB0\u65D7\u8230\u591A\u6A21\u6001\u63A8\u7406\u6A21\u578B\uFF0C256K \u4E0A\u4E0B\u6587\uFF0C\u9AD8\u901F\u63A8\u7406 + \u539F\u751F\u591A\u6A21\u6001 + \u5DE5\u5177\u8C03\u7528\uFF0CAgent \u6DF1\u5EA6\u9002\u914D\u3002"
532
+ description: "\u9636\u8DC3\u661F\u8FB0\u65D7\u8230\u591A\u6A21\u6001\u63A8\u7406\u6A21\u578B\uFF0C256K \u4E0A\u4E0B\u6587\uFF0C\u539F\u751F\u56FE\u50CF+\u89C6\u9891\u7406\u89E3\uFF0C\u9AD8\u901F\u63A8\u7406 + \u5DE5\u5177\u8C03\u7528\uFF0CAgent \u6DF1\u5EA6\u9002\u914D\u3002"
629
533
  },
630
534
  {
631
535
  name: "step-3.5-flash",
@@ -653,31 +557,7 @@ var stepfunStepPlanModels = [
653
557
  supportsReasoningEffort: true,
654
558
  price: { input: 0, output: 0 },
655
559
  provider: "stepfun",
656
- description: "\u9488\u5BF9\u9AD8\u9891 Agent \u573A\u666F\u4F18\u5316\uFF0C\u66F4\u4F73 Token \u6548\u7387\u4E0E\u63A8\u7406\u901F\u5EA6\uFF0C\u652F\u6301 low/high \u63A8\u7406\u5F3A\u5EA6\u3002"
657
- },
658
- {
659
- name: "step-1o-turbo-vision",
660
- displayName: "Step 1o Turbo Vision",
661
- hasVision: true,
662
- contextWindow: 65536,
663
- maxOutputTokens: 8192,
664
- jsonOutput: true,
665
- fnCall: true,
666
- supportsTool: true,
667
- price: { input: 0, output: 0 },
668
- provider: "stepfun"
669
- },
670
- {
671
- name: "step-2-16k",
672
- displayName: "Step 2 16K",
673
- hasVision: false,
674
- contextWindow: 16384,
675
- maxOutputTokens: 4096,
676
- jsonOutput: true,
677
- fnCall: true,
678
- supportsTool: true,
679
- price: { input: 0, output: 0 },
680
- provider: "stepfun"
560
+ description: "\u9488\u5BF9\u9AD8\u9891 Agent \u573A\u666F\u4F18\u5316\uFF0C\u66F4\u4F73 Token \u6548\u7387\u4E0E\u63A8\u7406\u901F\u5EA6\uFF0C\u652F\u6301 low/high \u63A8\u7406\u5F3A\u5EA6\uFF1B\u5B98\u65B9\u63A8\u8350\u8FC1\u79FB\u5230 step-3.7-flash\u3002"
681
561
  },
682
562
  {
683
563
  name: "step-router-v1",
@@ -691,7 +571,7 @@ var stepfunStepPlanModels = [
691
571
  supportsReasoningEffort: true,
692
572
  price: { input: 0, output: 0 },
693
573
  provider: "stepfun",
694
- description: "\u667A\u80FD\u8DEF\u7531\u6A21\u578B\uFF0C\u81EA\u52A8\u5728 Step \u7CFB\u5217\u6A21\u578B\u95F4\u8C03\u5EA6\uFF0C\u8BA2\u9605\u53EF\u7528\u3002"
574
+ description: "\u667A\u80FD\u8DEF\u7531\u6A21\u578B\uFF0C\u6309\u4EFB\u52A1\u590D\u6742\u5EA6\u81EA\u52A8\u5728 Step \u7CFB\u5217\u6A21\u578B\u95F4\u8C03\u5EA6\uFF0C\u8BA2\u9605\u53EF\u7528\u3002"
695
575
  }
696
576
  ];
697
577
 
@@ -1308,8 +1188,18 @@ function pipe(...pipe$1) {
1308
1188
 
1309
1189
  // packages/ai/agent/createAgentSchema.ts
1310
1190
  var DEFAULT_REASONING_EFFORT = "medium";
1191
+ var REASONING_EFFORT_OPTIONS = [
1192
+ "none",
1193
+ "minimal",
1194
+ "low",
1195
+ "medium",
1196
+ "high",
1197
+ "xhigh",
1198
+ "max"
1199
+ ];
1311
1200
  var PROVIDER_REASONING_EFFORT_VALUES = {
1312
1201
  openai: ["none", "minimal", "low", "medium", "high", "xhigh", "max"],
1202
+ openrouter: ["none", "minimal", "low", "medium", "high", "xhigh", "max"],
1313
1203
  deepseek: ["low", "high", "max"],
1314
1204
  // nolo (Ollama Cloud) 支持 DeepSeek/Kimi/GLM 等 thinking 模型,
1315
1205
  // reasoning_effort 通过 OpenAI 兼容端点透传到 Ollama Cloud。
@@ -1430,7 +1320,12 @@ var oauthModel = ({ name, displayName, contextWindow, thinkingMode, maxOutputTok
1430
1320
  price: { input: 0, output: 0 }
1431
1321
  });
1432
1322
  var anthropicOAuthModels = [
1433
- // 5 代(1M + Adaptive thinking always-on;官方 max output 128k)
1323
+ // 5 代与 5.5 代(1M + Adaptive thinking always-on;官方 max output 128k)
1324
+ oauthModel({ name: "claude-opus-5-5", displayName: "Claude Opus 5.5", contextWindow: 1e6, thinkingMode: "adaptive", maxOutputTokens: 128e3 }),
1325
+ // Claude Sonnet 5.5(2026-09-28 发布):官方规格 1M + Adaptive thinking + max output 128k。
1326
+ // 注意该模型对非默认 temperature/top_p/top_k 直接 400——nolo 的 anthropicAdapter
1327
+ // 不传采样参数,不受影响。
1328
+ oauthModel({ name: "claude-sonnet-5-5", displayName: "Claude Sonnet 5.5", contextWindow: 1e6, thinkingMode: "adaptive", maxOutputTokens: 128e3 }),
1434
1329
  oauthModel({ name: "claude-fable-5", displayName: "Claude Fable 5", contextWindow: 1e6, thinkingMode: "adaptive", maxOutputTokens: 128e3 }),
1435
1330
  oauthModel({ name: "claude-opus-5", displayName: "Claude Opus 5", contextWindow: 1e6, thinkingMode: "adaptive", maxOutputTokens: 128e3 }),
1436
1331
  oauthModel({ name: "claude-sonnet-5", displayName: "Claude Sonnet 5", contextWindow: 1e6, thinkingMode: "adaptive", maxOutputTokens: 128e3 }),
@@ -1599,14 +1494,14 @@ var GPT_5_5_PRO_LONG_CONTEXT_PRICE = {
1599
1494
  inputCacheHit: 0
1600
1495
  };
1601
1496
  var GPT_5_6_SOL_STANDARD_PRICE = {
1602
- input: 40,
1603
- output: 240,
1604
- inputCacheHit: 4
1497
+ input: 32,
1498
+ output: 160,
1499
+ inputCacheHit: 3.2
1605
1500
  };
1606
1501
  var GPT_5_6_SOL_LONG_CONTEXT_PRICE = {
1607
- input: 80,
1608
- output: 360,
1609
- inputCacheHit: 8
1502
+ input: 64,
1503
+ output: 240,
1504
+ inputCacheHit: 6.4
1610
1505
  };
1611
1506
  var GPT_5_6_TERRA_STANDARD_PRICE = {
1612
1507
  input: 16,
@@ -1694,6 +1589,9 @@ var openAIModels = [
1694
1589
  {
1695
1590
  name: "gpt-5.6-luna",
1696
1591
  displayName: "GPT-5.6 Luna (Fast)",
1592
+ // 已知缺口(2026-09-24 官网核对):官方对 >272K 输入有 2x/1.5x 规则,本条目
1593
+ // 未建模档位;平台托管侧又明确「价不随档位浮动」。是否给 BYO 档位属于计费
1594
+ // 策略决定,留待 owner 决策,不在此顺手改。
1697
1595
  endpointKey: "responses",
1698
1596
  hasVision: true,
1699
1597
  contextWindow: 105e4,
@@ -1875,6 +1773,259 @@ var fireworksModels = [
1875
1773
  }
1876
1774
  ];
1877
1775
 
1776
+ // packages/ai/agent/openrouterModelCapability.ts
1777
+ var VALID_EFFORTS_SET = new Set(REASONING_EFFORT_OPTIONS);
1778
+ function extractOpenRouterReasoningCapability(rawModel) {
1779
+ if (!rawModel) {
1780
+ return {
1781
+ found: false,
1782
+ supportsReasoning: false,
1783
+ supportedEfforts: []
1784
+ };
1785
+ }
1786
+ const supportedParams = rawModel.supported_parameters ?? [];
1787
+ const reasoning = rawModel.reasoning;
1788
+ const hasReasoningSupport = Boolean(reasoning) || supportedParams.includes("reasoning") || supportedParams.includes("reasoning_effort") || supportedParams.includes("include_reasoning");
1789
+ if (!hasReasoningSupport) {
1790
+ return {
1791
+ found: true,
1792
+ supportsReasoning: false,
1793
+ supportedEfforts: []
1794
+ };
1795
+ }
1796
+ const rawEfforts = reasoning?.supported_efforts ?? [];
1797
+ const supportedEfforts = rawEfforts.filter(
1798
+ (e) => VALID_EFFORTS_SET.has(e)
1799
+ );
1800
+ let defaultEffort;
1801
+ if (reasoning?.default_effort && VALID_EFFORTS_SET.has(reasoning.default_effort) && supportedEfforts.includes(reasoning.default_effort)) {
1802
+ defaultEffort = reasoning.default_effort;
1803
+ } else if (supportedEfforts.length > 0) {
1804
+ defaultEffort = supportedEfforts.includes("medium") ? "medium" : supportedEfforts[0];
1805
+ }
1806
+ return {
1807
+ found: true,
1808
+ supportsReasoning: true,
1809
+ mandatory: reasoning?.mandatory,
1810
+ supportedEfforts,
1811
+ defaultEffort
1812
+ };
1813
+ }
1814
+ var cachedModels = null;
1815
+ var CACHE_TTL_MS = 10 * 60 * 1e3;
1816
+ function getCachedOpenRouterModelReasoning(modelId) {
1817
+ const trimmed = modelId.trim().toLowerCase();
1818
+ if (!trimmed) return null;
1819
+ if (!cachedModels || Date.now() - cachedModels.timestamp >= CACHE_TTL_MS) {
1820
+ return null;
1821
+ }
1822
+ const rawModel = cachedModels.data.get(trimmed);
1823
+ if (!rawModel) return null;
1824
+ return extractOpenRouterReasoningCapability(rawModel);
1825
+ }
1826
+
1827
+ // packages/ai/agent/modelReasoningCapability.ts
1828
+ var GATEWAY_PROVIDERS = /* @__PURE__ */ new Set(["openrouter", "nolo"]);
1829
+ var THINKING_MECHANISM_PROVIDERS = /* @__PURE__ */ new Set(["anthropic", "google"]);
1830
+ var MODEL_REASONING_OVERRIDES = [
1831
+ // ---- OpenAI ----
1832
+ {
1833
+ providers: ["openai"],
1834
+ prefix: "gpt-5",
1835
+ includes: "-pro",
1836
+ efforts: ["high"],
1837
+ note: "gpt-5-pro \u7CFB\u5217\u53EA\u66B4\u9732 high \u6863\uFF08OpenAI \u6587\u6863\uFF1Apro \u53D8\u4F53\u4E0D\u53EF\u8C03\u4F4E\uFF09"
1838
+ },
1839
+ {
1840
+ providers: ["openai"],
1841
+ prefix: "o1-preview",
1842
+ supportsReasoning: false,
1843
+ note: "o1-preview \u4E0D\u63A5\u53D7 reasoning_effort \u53C2\u6570"
1844
+ },
1845
+ {
1846
+ providers: ["openai"],
1847
+ prefix: "o1-mini",
1848
+ supportsReasoning: false,
1849
+ note: "o1-mini \u4E0D\u63A5\u53D7 reasoning_effort \u53C2\u6570"
1850
+ },
1851
+ {
1852
+ providers: ["openai"],
1853
+ prefix: "o1",
1854
+ efforts: ["low", "medium", "high"],
1855
+ note: "o1 \u652F\u6301 low/medium/high\uFF0C\u65E0 none/minimal/xhigh/max"
1856
+ },
1857
+ {
1858
+ providers: ["openai"],
1859
+ prefix: "o3",
1860
+ efforts: ["low", "medium", "high"],
1861
+ note: "o3 / o3-mini \u652F\u6301 low/medium/high"
1862
+ },
1863
+ {
1864
+ providers: ["openai"],
1865
+ prefix: "o4-mini",
1866
+ efforts: ["low", "medium", "high"],
1867
+ note: "o4-mini \u652F\u6301 low/medium/high"
1868
+ },
1869
+ {
1870
+ providers: ["openai"],
1871
+ prefix: "gpt-4o",
1872
+ supportsReasoning: false,
1873
+ note: "gpt-4o \u7CFB\u5217\u975E\u63A8\u7406\u6A21\u578B"
1874
+ },
1875
+ {
1876
+ providers: ["openai"],
1877
+ prefix: "gpt-4.1",
1878
+ supportsReasoning: false,
1879
+ note: "gpt-4.1 \u7CFB\u5217\u975E\u63A8\u7406\u6A21\u578B"
1880
+ },
1881
+ {
1882
+ providers: ["openai"],
1883
+ prefix: "chatgpt-4o",
1884
+ supportsReasoning: false,
1885
+ note: "chatgpt-4o \u975E\u63A8\u7406\u6A21\u578B"
1886
+ },
1887
+ // ---- xAI / Grok ----
1888
+ {
1889
+ providers: ["xai", "grok"],
1890
+ prefix: "grok-3-mini",
1891
+ efforts: ["low", "high"],
1892
+ note: "grok-3-mini \u4EC5 low/high\uFF0C\u65E0 medium\uFF08xAI \u6587\u6863\uFF09"
1893
+ },
1894
+ {
1895
+ providers: ["xai", "grok"],
1896
+ prefix: "grok-3",
1897
+ exact: true,
1898
+ // 只匹配 grok-3 本体;grok-3-fast 等变体不被误伤
1899
+ supportsReasoning: false,
1900
+ note: "grok-3\uFF08\u975E mini\uFF09\u4E0D\u652F\u6301 reasoning_effort"
1901
+ },
1902
+ {
1903
+ providers: ["xai", "grok"],
1904
+ prefix: "grok-2",
1905
+ supportsReasoning: false,
1906
+ note: "grok-2 \u7CFB\u5217\u975E\u63A8\u7406\u6A21\u578B"
1907
+ },
1908
+ // ---- DeepSeek ----
1909
+ {
1910
+ providers: ["deepseek"],
1911
+ prefix: "deepseek-chat",
1912
+ exact: true,
1913
+ // 只匹配 deepseek-chat 本体;deepseek-chat-v3.1 是混合推理模型
1914
+ supportsReasoning: false,
1915
+ note: "deepseek-chat\uFF08V3 \u975E\u63A8\u7406\u7EBF\uFF09\u65E0\u63A8\u7406\u5F3A\u5EA6"
1916
+ },
1917
+ // ---- Kimi / Moonshot ----
1918
+ {
1919
+ providers: ["kimi", "moonshot"],
1920
+ prefix: "moonshot-v1",
1921
+ supportsReasoning: false,
1922
+ note: "moonshot-v1 \u7CFB\u5217\u975E\u63A8\u7406\u6A21\u578B"
1923
+ },
1924
+ {
1925
+ providers: ["kimi", "moonshot"],
1926
+ prefix: "kimi-k2-instruct",
1927
+ supportsReasoning: false,
1928
+ note: "kimi-k2-instruct \u975E thinking \u53D8\u4F53"
1929
+ },
1930
+ {
1931
+ providers: ["kimi", "moonshot"],
1932
+ prefix: "kimi-latest",
1933
+ supportsReasoning: false,
1934
+ note: "kimi-latest \u6307\u5411\u975E\u63A8\u7406\u5FEB\u7167"
1935
+ }
1936
+ ];
1937
+ function modelBasename(model) {
1938
+ const idx = model.lastIndexOf("/");
1939
+ return idx === -1 ? model : model.slice(idx + 1);
1940
+ }
1941
+ function matchOverride(provider, model) {
1942
+ const m = model.toLowerCase();
1943
+ const base = modelBasename(m);
1944
+ const isGateway = GATEWAY_PROVIDERS.has(provider);
1945
+ let best = null;
1946
+ let bestPrefixLen = -1;
1947
+ for (const o of MODEL_REASONING_OVERRIDES) {
1948
+ if (!isGateway && !o.providers.includes(provider)) continue;
1949
+ const hit = o.exact ? m === o.prefix || base === o.prefix : m.startsWith(o.prefix) || base.startsWith(o.prefix);
1950
+ if (!hit) continue;
1951
+ if (o.includes && !m.includes(o.includes) && !base.includes(o.includes)) {
1952
+ continue;
1953
+ }
1954
+ if (o.prefix.length > bestPrefixLen) {
1955
+ best = o;
1956
+ bestPrefixLen = o.prefix.length;
1957
+ }
1958
+ }
1959
+ return best;
1960
+ }
1961
+ function capabilityFromOpenRouterLive(live) {
1962
+ return {
1963
+ found: true,
1964
+ supportsReasoning: live.supportsReasoning,
1965
+ efforts: live.supportedEfforts,
1966
+ defaultEffort: live.defaultEffort,
1967
+ mandatory: live.mandatory,
1968
+ source: "openrouter-live"
1969
+ };
1970
+ }
1971
+ function resolveModelReasoningCapability(provider, model) {
1972
+ const p = (provider ?? "").toLowerCase();
1973
+ const m = (model ?? "").trim();
1974
+ if (THINKING_MECHANISM_PROVIDERS.has(p)) {
1975
+ return {
1976
+ found: false,
1977
+ supportsReasoning: true,
1978
+ // 有推理能力,只是走 Thinking 机制而非 effort
1979
+ efforts: [],
1980
+ source: "provider-map"
1981
+ };
1982
+ }
1983
+ if (m) {
1984
+ const override = matchOverride(p, m);
1985
+ if (override) {
1986
+ const supportsReasoning = override.supportsReasoning ?? true;
1987
+ const efforts = supportsReasoning === false ? [] : override.efforts ?? PROVIDER_REASONING_EFFORT_VALUES[p] ?? [
1988
+ "low",
1989
+ "medium",
1990
+ "high"
1991
+ ];
1992
+ return {
1993
+ found: true,
1994
+ supportsReasoning,
1995
+ efforts,
1996
+ defaultEffort: efforts.includes("medium") ? "medium" : efforts[0],
1997
+ source: "model-override"
1998
+ };
1999
+ }
2000
+ }
2001
+ const providerEfforts = PROVIDER_REASONING_EFFORT_VALUES[p];
2002
+ if (providerEfforts) {
2003
+ return {
2004
+ found: false,
2005
+ supportsReasoning: providerEfforts.length > 0,
2006
+ efforts: providerEfforts,
2007
+ source: "provider-map"
2008
+ };
2009
+ }
2010
+ return {
2011
+ found: false,
2012
+ supportsReasoning: true,
2013
+ efforts: ["low", "medium", "high"],
2014
+ source: "provider-fallback"
2015
+ };
2016
+ }
2017
+ function resolveModelReasoningCapabilityWithCache(provider, model) {
2018
+ const p = (provider ?? "").toLowerCase();
2019
+ const m = (model ?? "").trim();
2020
+ if (p === "openrouter" && m) {
2021
+ const live = getCachedOpenRouterModelReasoning(m);
2022
+ if (live?.found) {
2023
+ return capabilityFromOpenRouterLive(live);
2024
+ }
2025
+ }
2026
+ return resolveModelReasoningCapability(provider, model);
2027
+ }
2028
+
1878
2029
  // packages/ai/llm/reasoningModels.ts
1879
2030
  var REASONING_MODEL_NAMES = /* @__PURE__ */ new Set([
1880
2031
  "deepseek-flash",
@@ -1889,6 +2040,9 @@ var REASONING_MODEL_NAMES = /* @__PURE__ */ new Set([
1889
2040
  "gemini-3.1-pro-preview",
1890
2041
  "gpt-5.5-pro",
1891
2042
  "gpt-6-astra",
2043
+ "gpt-6.1-sol",
2044
+ "gpt-6-sol",
2045
+ "gpt-6-luna",
1892
2046
  "gpt-5.6-sol",
1893
2047
  "gpt-5.6-terra",
1894
2048
  "gpt-5.6-luna",
@@ -1908,7 +2062,12 @@ var REASONING_MODEL_NAMES = /* @__PURE__ */ new Set([
1908
2062
  "accounts/fireworks/models/glm-5p2",
1909
2063
  "zai-org/GLM-5.2-FP8"
1910
2064
  ]);
1911
- var isModelSupportReasoningEffort = (model) => REASONING_MODEL_NAMES.has(model);
2065
+ var isModelSupportReasoningEffort = (model, provider) => {
2066
+ if (provider && provider.toLowerCase() === "openrouter") {
2067
+ return true;
2068
+ }
2069
+ return REASONING_MODEL_NAMES.has(model);
2070
+ };
1912
2071
  var supportedReasoningModels = Array.from(REASONING_MODEL_NAMES);
1913
2072
  var EFFORT_ORDER = [
1914
2073
  "none",
@@ -1935,13 +2094,23 @@ function nearestSupportedEffort(effort, supported) {
1935
2094
  }
1936
2095
  return EFFORT_ORDER[best];
1937
2096
  }
1938
- function clampReasoningEffort(effort, provider) {
2097
+ function clampReasoningEffort(effort, provider, model) {
1939
2098
  if (!effort) return void 0;
1940
2099
  const normalized = effort === "off" ? "none" : effort;
1941
2100
  const providerLower = (provider ?? "").toLowerCase();
1942
- if (providerLower === "anthropic" || providerLower === "google") {
2101
+ if (THINKING_MECHANISM_PROVIDERS.has(providerLower)) {
1943
2102
  return void 0;
1944
2103
  }
2104
+ if (model) {
2105
+ const cap = resolveModelReasoningCapabilityWithCache(provider, model);
2106
+ if (cap.found) {
2107
+ if (!cap.supportsReasoning || cap.efforts.length === 0) {
2108
+ return void 0;
2109
+ }
2110
+ if (cap.efforts.includes(normalized)) return normalized;
2111
+ return nearestSupportedEffort(normalized, cap.efforts);
2112
+ }
2113
+ }
1945
2114
  const supported = PROVIDER_REASONING_EFFORT_VALUES[providerLower];
1946
2115
  if (!supported || supported.length === 0) {
1947
2116
  if (normalized === "low" || normalized === "medium" || normalized === "high") {
@@ -1999,6 +2168,8 @@ var MODEL_LOOKUP_MAP = {
1999
2168
  ...MODEL_MAP
2000
2169
  };
2001
2170
  var ANTHROPIC_MODEL_ALIASES = {
2171
+ "claude-opus-5.5": "claude-opus-5-5",
2172
+ "claude-sonnet-5.5": "claude-sonnet-5-5",
2002
2173
  "claude-sonnet-4.6": "claude-3-7-sonnet-latest",
2003
2174
  "claude-sonnet-4.5": "claude-3-5-sonnet-latest"
2004
2175
  };
@@ -2222,6 +2393,7 @@ export {
2222
2393
  stepfunStepPlanModels,
2223
2394
  opencodeGoModels,
2224
2395
  DEFAULT_REASONING_EFFORT,
2396
+ resolveModelReasoningCapabilityWithCache,
2225
2397
  isModelSupportReasoningEffort,
2226
2398
  clampReasoningEffort,
2227
2399
  MODEL_LOOKUP_MAP,
@@ -14,7 +14,7 @@ function buildCliLocalRuntimeDbEnv(env = process.env) {
14
14
  };
15
15
  }
16
16
  async function getDefaultCliLocalRuntimeDb(options = {}) {
17
- const { getDefaultCliLocalRuntimeDb: getAuthorityBackedDb } = await import("./localRuntimeAuthority-6IR6BBXE.js");
17
+ const { getDefaultCliLocalRuntimeDb: getAuthorityBackedDb } = await import("./localRuntimeAuthority-5W6IJRAD.js");
18
18
  return getAuthorityBackedDb(options);
19
19
  }
20
20