nolo-cli 0.77.0-alpha.1 → 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 (137) hide show
  1. package/{_executeModel-MONX3AUM.js → _executeModel-G6BRN2BO.js} +43 -43
  2. package/{action-D22U6CTH.js → action-7GHFPDSQ.js} +10 -10
  3. package/{addContentAction-XAPUTGL4.js → addContentAction-ZNVB2NOV.js} +8 -8
  4. package/{addDialogAgentAction-M7VLLBZM.js → addDialogAgentAction-CIDFWATM.js} +7 -7
  5. package/{agentDeleteCommand-2TYFURBN.js → agentDeleteCommand-C5JTDBIX.js} +28 -26
  6. package/{agentEmailCommands-HXIX4KJE.js → agentEmailCommands-AYSYNUSH.js} +56 -54
  7. package/{agentListCommands-IFUOWXP3.js → agentListCommands-CVFL3P3D.js} +30 -28
  8. package/{agentMachineCommands-NEJEQV5S.js → agentMachineCommands-2EPX7IYC.js} +28 -26
  9. package/{agentProviderCommands-65ZC2WB4.js → agentProviderCommands-EHR3PV2V.js} +87 -0
  10. package/{agentPullCommand-N7L2CT7L.js → agentPullCommand-U73W5IBM.js} +1 -1
  11. package/{agentRecordCommands-USSLZKED.js → agentRecordCommands-DPZVHOOA.js} +54 -52
  12. package/{agentRunCommand-WZZSCEEP.js → agentRunCommand-BE53VNNN.js} +54 -52
  13. package/{agentRuntimeLocal-PUZINLWJ.js → agentRuntimeLocal-BPN5IOFT.js} +27 -25
  14. package/{agentSlice-BLCUNM5V.js → agentSlice-PYJFXGZL.js} +9 -9
  15. package/{appDeleteCommands-U4NTEJYQ.js → appDeleteCommands-TREMNXCA.js} +28 -26
  16. package/{appDeployCommands-FXF45Q7F.js → appDeployCommands-7FYCMERT.js} +28 -26
  17. package/{appDeployStatusCommands-KONVRM53.js → appDeployStatusCommands-7LAYH7IX.js} +28 -26
  18. package/{appGetCommands-3VOGIZ7T.js → appGetCommands-BONTQ2XH.js} +28 -26
  19. package/{appListCommands-A6ROBW7P.js → appListCommands-BYIELWUL.js} +28 -26
  20. package/{authCommand-EVGFLAHO.js → authCommand-J5C7GS33.js} +92 -17
  21. package/{authCommands-ILTBI6JV.js → authCommands-VOTT6XWX.js} +3 -4
  22. package/builtinSkillRegistry-YITVDLWG.js +33 -0
  23. package/{chatQueueReduxAdapter-ROFM5SW7.js → chatQueueReduxAdapter-PIOXZBGH.js} +23 -23
  24. package/{chunk-EXMHJN7C.js → chunk-2F4VYGFW.js} +2 -2
  25. package/{chunk-C3FZR5EC.js → chunk-2F7RJC6L.js} +1 -1
  26. package/{chunk-3QPYFHAH.js → chunk-2XEVK4BT.js} +1 -1
  27. package/{chunk-HQUORJTM.js → chunk-3BMYXEUW.js} +1 -1
  28. package/{chunk-AFIWC5NH.js → chunk-3DZIWHJ6.js} +1 -1
  29. package/{chunk-L2Y24GRM.js → chunk-4PAFEM6V.js} +3 -3
  30. package/{chunk-ERD7UXVL.js → chunk-5DAMTON3.js} +1 -1
  31. package/{chunk-YFADVSZE.js → chunk-5EJZGJS2.js} +6 -6
  32. package/chunk-5ZUL4CUO.js +10 -0
  33. package/{chunk-KIS76A2P.js → chunk-6HCLDVEI.js} +38 -4
  34. package/{chunk-FPTQQSS6.js → chunk-6LWO3QQS.js} +25 -4
  35. package/{chunk-BYEJ7K2Z.js → chunk-7S4YWN7P.js} +1 -1
  36. package/{chunk-2SFNAHL6.js → chunk-7TEU3WX2.js} +41 -25
  37. package/{chunk-SREASRV5.js → chunk-ABQYVJBJ.js} +1 -1
  38. package/{chunk-N7DNNV6J.js → chunk-ACFF7U3F.js} +340 -76
  39. package/{chunk-AFIKMMGC.js → chunk-AGX5TE5W.js} +1 -1
  40. package/{chunk-AJHEFRGJ.js → chunk-ASGDO77C.js} +122 -1
  41. package/{chunk-ZDONXM5U.js → chunk-D4TJCP3V.js} +7 -7
  42. package/{chunk-PYXL2CJL.js → chunk-DNQPPRHY.js} +1 -1
  43. package/{chunk-QH6NK22I.js → chunk-DQD4PYQY.js} +60 -788
  44. package/{chunk-PI4DWFYV.js → chunk-FSISQCCB.js} +1132 -31
  45. package/{chunk-3SPWIDHH.js → chunk-FWGPT6VI.js} +3 -3
  46. package/{chunk-SZLVDREM.js → chunk-GIG262ZG.js} +3 -3
  47. package/{chunk-PZM3EENV.js → chunk-GXWEF4IZ.js} +1 -1
  48. package/chunk-HJKGQPYF.js +266 -0
  49. package/{chunk-QA6YKM3H.js → chunk-HLRYI5XO.js} +31 -3
  50. package/{chunk-3JQ2NRYU.js → chunk-HVURBGF3.js} +4 -4
  51. package/{chunk-UPQF3C7O.js → chunk-IEILL33V.js} +135 -56
  52. package/{chunk-UZ6XXCVR.js → chunk-IZAWJCG7.js} +15 -2
  53. package/{chunk-XWNRAIUL.js → chunk-JITSBA52.js} +6 -16
  54. package/{chunk-6XIE5ZGI.js → chunk-JPGCXHNM.js} +1 -1
  55. package/{chunk-BGIWMGSP.js → chunk-JRFQPOPS.js} +10 -172
  56. package/chunk-JT7FRJP5.js +1625 -0
  57. package/{chunk-CMH2SYHX.js → chunk-K7M3MWCE.js} +2 -2
  58. package/{chunk-E36HZARC.js → chunk-KT6LENVP.js} +3 -3
  59. package/{chunk-FSFQ3A7S.js → chunk-LGSXBNWH.js} +9 -9
  60. package/{chunk-RXX4GDIH.js → chunk-LS2ZANRJ.js} +1 -1
  61. package/{chunk-4EJ5QYB5.js → chunk-LSV2BOJL.js} +1 -1
  62. package/{chunk-EVBFYPDC.js → chunk-MC4XLIJ7.js} +6 -2
  63. package/{chunk-PGSKWZCB.js → chunk-MJHQ3NRV.js} +1 -1
  64. package/{chunk-G3O3PD6Q.js → chunk-MRT4KARW.js} +14 -14
  65. package/{chunk-K7AG465Q.js → chunk-ND2J3NRB.js} +4 -2
  66. package/{chunk-Q6FF2MCK.js → chunk-OAJRZ35U.js} +1 -1
  67. package/{chunk-5J7W2VWW.js → chunk-OHUU52T3.js} +6 -265
  68. package/{chunk-V3ZKNK5D.js → chunk-OKCTLCKS.js} +9 -9
  69. package/{chunk-2R5EVB2O.js → chunk-PGO7O65Q.js} +5 -5
  70. package/{chunk-ZZCJUXUI.js → chunk-PHDKTASK.js} +2 -2
  71. package/{chunk-AETZ7AD6.js → chunk-Q554LLSI.js} +1 -1
  72. package/chunk-Q5FJJ6XI.js +103 -0
  73. package/{chunk-RILY7TKG.js → chunk-RHB6OCZS.js} +9 -9
  74. package/chunk-RJ3TDODF.js +665 -0
  75. package/{chunk-QC5LGHYP.js → chunk-TIJK4PBP.js} +10 -5
  76. package/{chunk-CGRJWXTE.js → chunk-UDK3ZSMN.js} +19 -15
  77. package/{chunk-E6RGHPDR.js → chunk-UINEAQ2R.js} +3 -5
  78. package/{chunk-DWPNOYMB.js → chunk-UQ45IHLM.js} +1 -1
  79. package/{chunk-ZY4K4CZR.js → chunk-UQYEVBMM.js} +684 -96
  80. package/{chunk-BJCWNHVU.js → chunk-US463UAD.js} +2 -2
  81. package/{chunk-ZLPA7K55.js → chunk-UUVQJZ75.js} +28 -9
  82. package/{chunk-DSRXPQWA.js → chunk-VEJ4BOQV.js} +43 -43
  83. package/{chunk-NHRQCXIQ.js → chunk-VMFTFOWF.js} +13 -3
  84. package/{chunk-UJ63UXGE.js → chunk-VRLI2WNW.js} +1073 -752
  85. package/{chunk-NG4UT4K4.js → chunk-WS22FPWT.js} +1 -1
  86. package/{chunk-MYU3MJCF.js → chunk-XCSSFPTB.js} +175 -7
  87. package/{chunk-MQ25G6VQ.js → chunk-XIYOAH3S.js} +3 -3
  88. package/{chunk-UDQWGU7F.js → chunk-YZHP76TR.js} +1 -1
  89. package/{chunk-GBPZKFYK.js → chunk-Z33ARZCP.js} +4 -4
  90. package/{contentThunks-3BFZJFHI.js → contentThunks-RYZTYVUV.js} +24 -24
  91. package/{createAgentAutomationAction-YCWUKLMK.js → createAgentAutomationAction-GUBB2LWY.js} +24 -24
  92. package/{createDialogAction-VULS2PKA.js → createDialogAction-577E6FB2.js} +27 -27
  93. package/{createPageAction-MZZLQPFE.js → createPageAction-4CNYIRJ5.js} +25 -25
  94. package/{dbSlice-GKGGFNOB.js → dbSlice-4CUQE35F.js} +7 -7
  95. package/{deleteFile-LWSR674W.js → deleteFile-YG6QMJLU.js} +3 -3
  96. package/{dialogCommands-G223U5WU.js → dialogCommands-U4RQIRKK.js} +29 -27
  97. package/{dialogSlice-NQO5ZETL.js → dialogSlice-YXMORK5T.js} +23 -23
  98. package/{docCreateCommands-2P47IJDK.js → docCreateCommands-AXXATGCL.js} +29 -27
  99. package/{docDeleteCommands-N3EGDOIC.js → docDeleteCommands-CRPIFYFA.js} +30 -28
  100. package/{docReadCommands-6BFV2HI7.js → docReadCommands-4IMZXFDR.js} +29 -27
  101. package/{docStore-AEJONTM4.js → docStore-3U5FBN2O.js} +8 -8
  102. package/{docUpdateCommands-ZTMPXHC5.js → docUpdateCommands-RRPRZXCE.js} +29 -27
  103. package/{fetchMessages-DRABNDPZ.js → fetchMessages-EIU7UFFK.js} +3 -4
  104. package/{getPricing-HRMSOF3E.js → getPricing-F2C65RIX.js} +4 -4
  105. package/{handleSendMessageAction-WIUO466V.js → handleSendMessageAction-BQIRKHC6.js} +23 -23
  106. package/index.js +61 -53
  107. package/{localDialogRead-PUQKFI73.js → localDialogRead-BTFJ4V2I.js} +2 -2
  108. package/{localRuntimeDb-P37ZTX55.js → localRuntimeDb-SYQGUF4U.js} +1 -1
  109. package/{machineCommands-FUA7HBND.js → machineCommands-RNBADNTE.js} +54 -52
  110. package/{machineWsRunDispatch-URIG5N2V.js → machineWsRunDispatch-7J6WNF57.js} +52 -50
  111. package/{memberThunks-KATHH3F4.js → memberThunks-N35XAOC6.js} +8 -8
  112. package/{models-GS72DVJS.js → models-WW7VFNXB.js} +2 -2
  113. package/package.json +1 -1
  114. package/providerPresetApply-SAJAK7C3.js +214 -0
  115. package/providerRegistry-COD57OVY.js +31 -0
  116. package/{read-LC6HVYBN.js → read-2PV4PN2E.js} +4 -3
  117. package/{readDocTool-N3ERJHHF.js → readDocTool-FGK5XGAW.js} +1 -1
  118. package/{readlineWorkspace-HVQLD7T3.js → readlineWorkspace-ZO2W3N4U.js} +135 -75
  119. package/{removeDialogAgentAction-F5GPTALR.js → removeDialogAgentAction-O2POGBOE.js} +10 -10
  120. package/{runAgentClientLoop-QHL2HNAI.js → runAgentClientLoop-KJZ7DK6D.js} +42 -42
  121. package/{runtimeDoctorCommands-CROTMULY.js → runtimeDoctorCommands-X6WDBEQX.js} +2 -2
  122. package/{setDialogExtraReferencesAction-AY4ZCF3A.js → setDialogExtraReferencesAction-KPSVVY3C.js} +8 -8
  123. package/{setPrimaryDialogAgentAction-HPMG7V3R.js → setPrimaryDialogAgentAction-RMJETONI.js} +10 -10
  124. package/{settingSlice-OEJA4NQO.js → settingSlice-I6MTTNDX.js} +9 -9
  125. package/{spaceCommands-MRP5U3C3.js → spaceCommands-VZRYKVWZ.js} +27 -25
  126. package/{streamAgentChatTurn-CE2H23VD.js → streamAgentChatTurn-L3SO4N2R.js} +54 -53
  127. package/{switchDialogAgentAction-HMDZTZ4I.js → switchDialogAgentAction-OQSGWVQQ.js} +7 -7
  128. package/{tools-F25QG6XS.js → tools-GRV74JPO.js} +38 -36
  129. package/tuiSummaryLlmCaller-ATDKMGI5.js +127 -0
  130. package/{updateDialogTitleAction-Z333XUN4.js → updateDialogTitleAction-KRUWX66L.js} +44 -27
  131. package/chunk-3IT2PFHL.js +0 -611
  132. package/chunk-I42VC5KR.js +0 -15
  133. package/codingSkills-E6KSDNSJ.js +0 -48
  134. package/tuiSummaryLlmCaller-3Z24VUWM.js +0 -116
  135. package/{chunk-3RAG2NAD.js → chunk-UKWGR5SS.js} +3 -3
  136. package/{db-VQSAOWAO.js → db-WK5MDZVN.js} +1 -1
  137. package/{localRuntimeAuthority-R5UBODT3.js → localRuntimeAuthority-6IR6BBXE.js} +3 -3
@@ -0,0 +1,665 @@
1
+ import {
2
+ ANTIGRAVITY_CLOUD_CODE_BASE_URL
3
+ } from "./chunk-MJHQ3NRV.js";
4
+ import {
5
+ kimiCodeModels,
6
+ moonshotModels,
7
+ opencodeGoModels,
8
+ qwenModels,
9
+ qwenTokenPlanModels,
10
+ stepfunModels,
11
+ stepfunStepPlanModels
12
+ } from "./chunk-VRLI2WNW.js";
13
+ import {
14
+ PLATFORM_HOSTED_DEEPSEEK_FLASH_OFF_PEAK_PRICE,
15
+ PLATFORM_HOSTED_DEEPSEEK_FLASH_PEAK_PRICE,
16
+ PLATFORM_HOSTED_DEEPSEEK_PRO_OFF_PEAK_PRICE,
17
+ PLATFORM_HOSTED_DEEPSEEK_PRO_PEAK_PRICE
18
+ } from "./chunk-ASGDO77C.js";
19
+
20
+ // packages/integrations/commandcode/models.ts
21
+ var commandCodeModels = [
22
+ // ── DeepSeek ──
23
+ {
24
+ name: "deepseek/deepseek-v4-flash",
25
+ displayName: "DeepSeek V4 Flash",
26
+ hasVision: false,
27
+ price: { input: 0, output: 0 },
28
+ provider: "commandcode",
29
+ description: "CommandCode \u5B98\u65B9\u9ED8\u8BA4\u6A21\u578B\uFF0C\u5FEB\u901F\u6DF7\u5408\u6CE8\u610F\u529B\u63A8\u7406\u3002"
30
+ },
31
+ {
32
+ name: "deepseek/deepseek-v4-pro",
33
+ displayName: "DeepSeek V4 Pro",
34
+ hasVision: false,
35
+ price: { input: 0, output: 0 },
36
+ provider: "commandcode",
37
+ description: "\u6DF7\u5408\u6CE8\u610F\u529B\u957F\u4E0A\u4E0B\u6587\u63A8\u7406\u65D7\u8230\u3002"
38
+ },
39
+ {
40
+ name: "deepseek/deepseek-v4.1-flash",
41
+ displayName: "DeepSeek V4.1 Flash",
42
+ hasVision: true,
43
+ price: { input: 0, output: 0 },
44
+ provider: "commandcode",
45
+ description: "V4.1 \u6DF7\u5408\u6CE8\u610F\u529B\u63A8\u7406\uFF0C\u5E26\u89C6\u89C9\u3002"
46
+ },
47
+ // ── Moonshot ──
48
+ {
49
+ name: "moonshotai/Kimi-K3",
50
+ displayName: "Kimi K3",
51
+ hasVision: false,
52
+ price: { input: 0, output: 0 },
53
+ provider: "commandcode",
54
+ description: "Kimi K3\uFF0C\u6708\u4E4B\u6697\u9762\u65D7\u8230\u3002"
55
+ },
56
+ {
57
+ name: "moonshotai/Kimi-K2.7-Code",
58
+ displayName: "Kimi K2.7 Code",
59
+ hasVision: false,
60
+ price: { input: 0, output: 0 },
61
+ provider: "commandcode",
62
+ description: "Kimi K2.7 Code\uFF0C\u7F16\u7A0B\u7279\u5316\u3002"
63
+ },
64
+ // ── Qwen ──
65
+ {
66
+ name: "Qwen/Qwen3.8-Max",
67
+ displayName: "Qwen 3.8 Max",
68
+ hasVision: true,
69
+ price: { input: 0, output: 0 },
70
+ provider: "commandcode",
71
+ description: "\u81EA\u4E3B\u957F\u7A0B\u7F16\u7A0B\u4E0E\u4E13\u4E1A\u5DE5\u4F5C\u3002"
72
+ },
73
+ // ── Z AI ──
74
+ {
75
+ name: "zai-org/GLM-5.3",
76
+ displayName: "GLM 5.3",
77
+ hasVision: false,
78
+ price: { input: 0, output: 0 },
79
+ provider: "commandcode",
80
+ description: "\u524D\u6CBF\u7F16\u7A0B\u6A21\u578B\uFF0C1M \u4E0A\u4E0B\u6587\u3002"
81
+ },
82
+ {
83
+ name: "z-ai/glm-5.3-flash",
84
+ displayName: "GLM 5.3 Flash",
85
+ hasVision: true,
86
+ price: { input: 0, output: 0 },
87
+ provider: "commandcode",
88
+ description: "\u5FEB\u901F\u5B9E\u60E0\u7684 GLM \u7F16\u7A0B\u6A21\u578B\uFF0C1M \u4E0A\u4E0B\u6587\u3002"
89
+ },
90
+ // ── Xiaomi ──
91
+ {
92
+ name: "xiaomi/mimo-v2.5-pro",
93
+ displayName: "MiMo V2.5 Pro",
94
+ hasVision: false,
95
+ price: { input: 0, output: 0 },
96
+ provider: "commandcode",
97
+ description: "\u9AD8\u80FD\u529B\u957F\u4E0A\u4E0B\u6587 agentic \u7F16\u7A0B\u3002"
98
+ },
99
+ // ── MiniMax ──
100
+ {
101
+ name: "MiniMaxAI/MiniMax-M3",
102
+ displayName: "MiniMax M3",
103
+ hasVision: false,
104
+ price: { input: 0, output: 0 },
105
+ provider: "commandcode",
106
+ description: "MiniMax M3 \u63A8\u7406\u6A21\u578B\u3002"
107
+ },
108
+ // ── xAI ──
109
+ {
110
+ name: "xai/grok-4.6",
111
+ displayName: "Grok 4.6",
112
+ hasVision: true,
113
+ price: { input: 0, output: 0 },
114
+ provider: "commandcode",
115
+ description: "\u7F16\u7A0B\u3001\u77E5\u8BC6\u4E0E STEM \u524D\u6CBF\u8868\u73B0\u3002"
116
+ },
117
+ {
118
+ name: "xai/grok-4.5",
119
+ displayName: "Grok 4.5",
120
+ hasVision: true,
121
+ price: { input: 0, output: 0 },
122
+ provider: "commandcode",
123
+ description: "\u7F16\u7A0B\u4E0E agentic \u4EFB\u52A1\u667A\u80FD\u4E4B\u9009\u3002"
124
+ },
125
+ // ── Anthropic ──
126
+ {
127
+ name: "claude-sonnet-5",
128
+ displayName: "Claude Sonnet 5",
129
+ hasVision: false,
130
+ price: { input: 0, output: 0 },
131
+ provider: "commandcode",
132
+ description: "\u901F\u5EA6\u4E0E\u667A\u80FD\u7684\u6700\u4F73\u5E73\u8861\uFF08\u5B98\u65B9\u63A8\u8350\uFF09\u3002"
133
+ },
134
+ {
135
+ name: "claude-opus-5",
136
+ displayName: "Claude Opus 5",
137
+ hasVision: false,
138
+ price: { input: 0, output: 0 },
139
+ provider: "commandcode",
140
+ description: "\u6700\u667A\u80FD\u7684 Opus\uFF0Cagent \u4E0E\u7F16\u7A0B\u3002"
141
+ },
142
+ // ── OpenAI ──
143
+ {
144
+ name: "gpt-5.6-sol",
145
+ displayName: "GPT-5.6 Sol",
146
+ hasVision: false,
147
+ price: { input: 0, output: 0 },
148
+ provider: "commandcode",
149
+ description: "OpenAI GPT-5.6 Sol\u3002"
150
+ },
151
+ {
152
+ name: "gpt-6-astra",
153
+ displayName: "GPT-6 Astra",
154
+ hasVision: false,
155
+ price: { input: 0, output: 0 },
156
+ provider: "commandcode",
157
+ description: "OpenAI GPT-6 Astra \u65D7\u8230\u3002"
158
+ },
159
+ // ── Google ──
160
+ {
161
+ name: "google/gemini-3.8-flash",
162
+ displayName: "Gemini 3.8 Flash",
163
+ hasVision: true,
164
+ price: { input: 0, output: 0 },
165
+ provider: "commandcode",
166
+ description: "Gemini 3.8 Flash\uFF0C\u591A\u6A21\u6001\u3002"
167
+ }
168
+ ];
169
+
170
+ // packages/integrations/deepseek/models.ts
171
+ var deepseekModels = [
172
+ // ── 旗舰 ──
173
+ {
174
+ name: "deepseek-v4-pro",
175
+ displayName: "DeepSeek V4 Pro",
176
+ hasVision: false,
177
+ contextWindow: 1e6,
178
+ jsonOutput: true,
179
+ fnCall: true,
180
+ supportsTool: true,
181
+ supportsReasoningEffort: true,
182
+ price: { ...PLATFORM_HOSTED_DEEPSEEK_PRO_PEAK_PRICE },
183
+ peakPrice: { ...PLATFORM_HOSTED_DEEPSEEK_PRO_PEAK_PRICE },
184
+ offPeakPrice: { ...PLATFORM_HOSTED_DEEPSEEK_PRO_OFF_PEAK_PRICE },
185
+ provider: "deepseek",
186
+ description: "DeepSeek \u65D7\u8230\u63A8\u7406\u6A21\u578B\uFF0C1M \u4E0A\u4E0B\u6587\uFF0C\u601D\u8003\u6A21\u5F0F + \u5DE5\u5177\u8C03\u7528\uFF1B\u7EAF\u6587\u672C\u6A21\u578B\uFF0C\u4E0D\u652F\u6301\u56FE\u7247\u8F93\u5165\u3002"
187
+ },
188
+ // ── 高性价比 ──
189
+ {
190
+ name: "deepseek-flash",
191
+ displayName: "DeepSeek Flash",
192
+ hasVision: true,
193
+ contextWindow: 1e6,
194
+ jsonOutput: true,
195
+ fnCall: true,
196
+ supportsTool: true,
197
+ supportsReasoningEffort: true,
198
+ price: { ...PLATFORM_HOSTED_DEEPSEEK_FLASH_PEAK_PRICE },
199
+ peakPrice: { ...PLATFORM_HOSTED_DEEPSEEK_FLASH_PEAK_PRICE },
200
+ offPeakPrice: { ...PLATFORM_HOSTED_DEEPSEEK_FLASH_OFF_PEAK_PRICE },
201
+ provider: "deepseek",
202
+ description: "DeepSeek \u9AD8\u6027\u4EF7\u6BD4\u6A21\u578B\uFF0C1M \u4E0A\u4E0B\u6587\uFF0C\u652F\u6301\u89C6\u89C9\u8F93\u5165\u4E0E\u601D\u8003\u6A21\u5F0F\uFF0C\u957F\u7A0B\u7F16\u7A0B\u4E0E\u65E5\u5E38\u95EE\u7B54\u517C\u987E\u3002"
203
+ }
204
+ ];
205
+
206
+ // packages/ai/agent/providerRegistry.ts
207
+ var QWEN_MODEL_OPTIONS = qwenModels.map((m, i) => ({
208
+ id: m.name,
209
+ label: m.displayName ?? m.name,
210
+ hasVision: m.hasVision,
211
+ ...i === 0 ? { recommended: true } : {}
212
+ }));
213
+ var QWEN_TOKEN_PLAN_MODEL_OPTIONS = qwenTokenPlanModels.map((m, i) => ({
214
+ id: m.name,
215
+ label: m.displayName ?? m.name,
216
+ hasVision: m.hasVision,
217
+ ...i === 0 ? { recommended: true } : {}
218
+ }));
219
+ var MOONSHOT_MODEL_OPTIONS = moonshotModels.map((m, i) => ({
220
+ id: m.name,
221
+ label: m.displayName ?? m.name,
222
+ hasVision: m.hasVision,
223
+ ...i === 0 ? { recommended: true } : {}
224
+ }));
225
+ var KIMI_CODE_MODEL_OPTIONS = kimiCodeModels.map((m, i) => ({
226
+ id: m.name,
227
+ label: m.displayName ?? m.name,
228
+ hasVision: m.hasVision,
229
+ ...i === 0 ? { recommended: true } : {}
230
+ }));
231
+ var OPENCODE_GO_MODEL_OPTIONS = opencodeGoModels.map((m, i) => ({
232
+ id: m.name,
233
+ label: m.displayName ?? m.name,
234
+ hasVision: m.hasVision,
235
+ ...i === 0 ? { recommended: true } : {}
236
+ }));
237
+ var COMMAND_CODE_MODEL_OPTIONS = commandCodeModels.map((m, i) => ({
238
+ id: m.name,
239
+ label: m.displayName ?? m.name,
240
+ hasVision: m.hasVision,
241
+ ...i === 0 ? { recommended: true } : {}
242
+ }));
243
+ var DEEPSEEK_MODEL_OPTIONS = deepseekModels.map((m, i) => ({
244
+ id: m.name,
245
+ label: m.displayName ?? m.name,
246
+ hasVision: m.hasVision,
247
+ ...i === 0 ? { recommended: true } : {}
248
+ }));
249
+ var STEPFUN_MODEL_OPTIONS = stepfunModels.map((m, i) => ({
250
+ id: m.name,
251
+ label: m.displayName ?? m.name,
252
+ hasVision: m.hasVision,
253
+ ...i === 0 ? { recommended: true } : {}
254
+ }));
255
+ var MIMO_MODEL_OPTIONS = [
256
+ { id: "mimo-v2.6-flash", label: "MiMo V2.6 Flash", hasVision: true, recommended: true },
257
+ { id: "mimo-v2.6-pro", label: "MiMo V2.6 Pro", hasVision: true },
258
+ {
259
+ id: "mimo-v2.6-pro-ultraspeed",
260
+ label: "MiMo V2.6 Pro Ultraspeed",
261
+ hasVision: true
262
+ }
263
+ ];
264
+ var STEPFUN_STEP_PLAN_MODEL_OPTIONS = stepfunStepPlanModels.map((m, i) => ({
265
+ id: m.name,
266
+ label: m.displayName ?? m.name,
267
+ hasVision: m.hasVision,
268
+ ...i === 0 ? { recommended: true } : {}
269
+ }));
270
+ var SUBSCRIPTION_OAUTH_PROVIDERS = [
271
+ {
272
+ kind: "oauth",
273
+ id: "chatgpt",
274
+ label: "ChatGPT Plus/Pro",
275
+ description: "Codex Subscription",
276
+ apiKeyRef: "chatgpt",
277
+ provider: "openai",
278
+ defaultModel: "gpt-6-astra",
279
+ defaultReasoningEffort: "medium",
280
+ modelOptions: [
281
+ { id: "gpt-6-astra", label: "GPT-6 Astra", hasVision: true, recommended: true },
282
+ { id: "gpt-5.6-sol", label: "GPT-5.6 Sol", hasVision: true },
283
+ { id: "gpt-5.6-terra", label: "GPT-5.6 Terra", hasVision: true },
284
+ { id: "gpt-5.6-luna", label: "GPT-5.6 Luna", hasVision: true }
285
+ ]
286
+ },
287
+ {
288
+ kind: "oauth",
289
+ id: "xai-oauth",
290
+ label: "xAI Grok OAuth",
291
+ description: "SuperGrok Subscription",
292
+ apiKeyRef: "xai",
293
+ provider: "xai",
294
+ defaultModel: "grok-4.6",
295
+ defaultReasoningEffort: "high",
296
+ modelOptions: [
297
+ { id: "grok-4.6", label: "Grok 4.6", hasVision: true, recommended: true }
298
+ ]
299
+ },
300
+ {
301
+ kind: "oauth",
302
+ id: "antigravity",
303
+ label: "Antigravity",
304
+ description: "Gemini 3, Claude, GPT-OSS",
305
+ apiKeyRef: "antigravity",
306
+ provider: "google-antigravity",
307
+ defaultModel: "gemini-3.8-flash",
308
+ defaultReasoningEffort: "medium",
309
+ modelOptions: [
310
+ { id: "gemini-3.8-flash", label: "Gemini 3.8 Flash", hasVision: true, recommended: true },
311
+ { id: "gemini-3.7-flash", label: "Gemini 3.7 Flash", hasVision: true },
312
+ { id: "gemini-3.6-flash", label: "Gemini 3.6 Flash", hasVision: true },
313
+ { id: "gemini-3.1-pro", label: "Gemini 3.1 Pro", hasVision: true },
314
+ { id: "gemini-2.5-pro", label: "Gemini 2.5 Pro", hasVision: true },
315
+ { id: "claude-sonnet-5", label: "Claude Sonnet 5", hasVision: true },
316
+ { id: "claude-opus-4-6-thinking", label: "Claude Opus 4.6 Thinking", hasVision: true }
317
+ ],
318
+ cloudCodeBaseUrl: ANTIGRAVITY_CLOUD_CODE_BASE_URL
319
+ },
320
+ {
321
+ kind: "oauth",
322
+ id: "claude-oauth",
323
+ label: "Claude Pro/Max",
324
+ description: "Anthropic Subscription",
325
+ apiKeyRef: "claude",
326
+ provider: "anthropic",
327
+ defaultModel: "claude-sonnet-5",
328
+ defaultReasoningEffort: "high",
329
+ modelOptions: [
330
+ { id: "claude-sonnet-5", label: "Claude Sonnet 5", hasVision: true },
331
+ { id: "claude-opus-5", label: "Claude Opus 5", hasVision: true, recommended: true },
332
+ { id: "claude-opus-4-8", label: "Claude Opus 4.8", hasVision: true },
333
+ { id: "claude-fable-5", label: "Claude Fable 5", hasVision: true }
334
+ ]
335
+ },
336
+ {
337
+ kind: "oauth",
338
+ id: "cursor-oauth",
339
+ label: "Cursor Pro",
340
+ description: "Cursor Subscription",
341
+ apiKeyRef: "cursor",
342
+ provider: "cursor",
343
+ // Wire ids must match GetUsableModels. First-party Grok/Composer draw from
344
+ // the Cursor Models pool; everything else draws from Other Models.
345
+ defaultModel: "cursor-grok-4.5-high",
346
+ // Cursor 的 model id 已带 effort 后缀(-high/-medium/-fast),推理强度隐含在模型选择里;
347
+ // 这里给 medium 作为面板默认,避免与模型 id 里的后缀语义冲突。
348
+ defaultReasoningEffort: "medium",
349
+ modelOptions: [
350
+ { id: "cursor-grok-4.5-high", label: "Grok 4.5", hasVision: true, recommended: true },
351
+ { id: "cursor-grok-4.5-high-fast", label: "Grok 4.5 Fast", hasVision: true },
352
+ { id: "composer-2.5-fast", label: "Composer 2.5 Fast", hasVision: false },
353
+ { id: "composer-2.5", label: "Composer 2.5", hasVision: false },
354
+ { id: "gpt-5.3-codex", label: "GPT-5.3 Codex", hasVision: true },
355
+ { id: "gpt-5.3-codex-high", label: "GPT-5.3 Codex High", hasVision: true },
356
+ { id: "gpt-5.4-medium", label: "GPT-5.4 Medium", hasVision: true },
357
+ { id: "claude-4.6-sonnet-medium", label: "Claude 4.6 Sonnet", hasVision: true },
358
+ { id: "claude-4.6-opus-high", label: "Claude 4.6 Opus", hasVision: true },
359
+ { id: "gemini-3.1-pro", label: "Gemini 3.1 Pro", hasVision: true }
360
+ ]
361
+ },
362
+ {
363
+ kind: "oauth",
364
+ id: "devin-oauth",
365
+ label: "Devin Pro",
366
+ description: "Devin Pro $20/\u6708\uFF1A\u65E5/\u5468 quota \u8986\u76D6 sessions/CLI/Desktop\uFF0C\u8D85\u989D\u6309 API \u4EF7\u8D2D credits\uFF1BSWE-2 \u9650\u65F6\u514D\u8D39\u81F3 2026-10-10",
367
+ apiKeyRef: "devin",
368
+ provider: "devin",
369
+ defaultModel: "swe-2-max",
370
+ defaultReasoningEffort: "high",
371
+ modelOptions: [
372
+ // selector 全部来自上游 live catalog(GetCliModelConfigs)并逐個实测可调。
373
+ // 旧列表 9 个选项里 6 个是上游不存在的死 id(swe-2 / swe-1.7 /
374
+ // claude-3.7-sonnet / gpt-5.2 / gpt-4o / claude-sonnet-4.6 均
375
+ // permission_denied),已替换。注意 catalog selector 是连字符写法,
376
+ // 点号/裸写法上游不接受。
377
+ { id: "swe-2-max", label: "SWE-2 Max", hasVision: true, recommended: true },
378
+ { id: "swe-2-high", label: "SWE-2 High", hasVision: true },
379
+ { id: "swe-2-medium", label: "SWE-2 Medium", hasVision: true },
380
+ { id: "swe-1-7", label: "SWE-1.7 Max", hasVision: true },
381
+ { id: "swe-1-7-lightning", label: "SWE-1.7 Lightning Max", hasVision: true },
382
+ { id: "swe-1-6-fast", label: "SWE-1.6 Fast", hasVision: true },
383
+ { id: "claude-opus-5-medium", label: "Claude Opus 5 Medium", hasVision: true },
384
+ { id: "claude-fable-5-1-medium", label: "Claude Fable 5.1 Medium", hasVision: true },
385
+ { id: "claude-sonnet-5-medium", label: "Claude Sonnet 5 Medium", hasVision: true },
386
+ { id: "claude-sonnet-4-6", label: "Claude Sonnet 4.6", hasVision: true },
387
+ { id: "gpt-6-astra-medium", label: "GPT-6 Astra Medium", hasVision: true },
388
+ { id: "gpt-5-6-sol-medium", label: "GPT-5.6 Sol Medium", hasVision: true },
389
+ { id: "gpt-5-6-luna-medium", label: "GPT-5.6 Luna Medium", hasVision: true },
390
+ { id: "MODEL_GPT_5_2_MEDIUM", label: "GPT-5.2 Medium", hasVision: true },
391
+ { id: "gemini-3-8-flash-medium", label: "Gemini 3.8 Flash Medium", hasVision: true },
392
+ { id: "gemini-3-1-pro-high", label: "Gemini 3.1 Pro High", hasVision: true },
393
+ { id: "kimi-k3-high", label: "Kimi K3 High", hasVision: true },
394
+ { id: "glm-5-3-high", label: "GLM-5.3 High", hasVision: false },
395
+ { id: "glm-5-3-flash-high", label: "GLM-5.3 Flash High", hasVision: true }
396
+ ]
397
+ }
398
+ ];
399
+ var CUSTOM_API_KEY_TEMPLATES = [
400
+ {
401
+ kind: "api_key_template",
402
+ id: "token-plan",
403
+ label: "MiMo Token Plan",
404
+ description: "\u5C0F\u7C73 MiMo \u8BA2\u9605\uFF08API Key + Base URL\uFF09",
405
+ provider: "mimo",
406
+ baseUrl: "https://token-plan-cn.xiaomimimo.com/v1",
407
+ defaultModel: "mimo-v2.5-pro",
408
+ commercialKind: "subscription",
409
+ accessVariant: "token_plan_endpoint"
410
+ },
411
+ {
412
+ kind: "api_key_template",
413
+ id: "ollama-cloud",
414
+ label: "Ollama Cloud",
415
+ description: "Ollama Cloud \u8BA2\u9605\uFF08API Key + Base URL\uFF09",
416
+ provider: "ollama-cloud",
417
+ baseUrl: "https://ollama.com/v1",
418
+ keyFormatHint: "Key \u5F62\u5982 xxx.xxx\uFF08\u5728 ollama.com/settings/api-keys \u83B7\u53D6\u5B8C\u6574 Key\uFF0C\u542B\u70B9\u53F7\u540E\u534A\u6BB5\uFF09",
419
+ defaultModel: "deepseek-v4-flash:cloud",
420
+ modelOptions: [
421
+ { id: "glm-5.2:cloud", label: "GLM 5.2" },
422
+ { id: "deepseek-v4-flash:cloud", label: "DeepSeek V4 Flash", recommended: true },
423
+ { id: "deepseek-v4-pro:cloud", label: "DeepSeek V4 Pro" },
424
+ { id: "kimi-k3:cloud", label: "Kimi K3" }
425
+ ],
426
+ commercialKind: "subscription",
427
+ accessVariant: "token_plan_endpoint"
428
+ },
429
+ {
430
+ kind: "api_key_template",
431
+ id: "qwen-token-plan",
432
+ label: "\u5343\u95EE Token Plan",
433
+ description: "\u5343\u95EE Token Plan \u8BA2\u9605\uFF08Key \u987B\u4E3A Token Plan \u4E13\u5C5E\uFF0C\u975E\u6309\u91CF API Key\uFF09",
434
+ provider: "qwen",
435
+ baseUrl: "https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",
436
+ defaultModel: "qwen3.8-max",
437
+ modelOptions: QWEN_TOKEN_PLAN_MODEL_OPTIONS,
438
+ commercialKind: "subscription",
439
+ accessVariant: "token_plan_endpoint"
440
+ },
441
+ {
442
+ kind: "api_key_template",
443
+ id: "opencode-go",
444
+ label: "OpenCode Go",
445
+ description: "OpenCode Go \u8BA2\u9605\uFF08$5 \u9996\u6708 / $10 \u6708\uFF0C\u805A\u5408 Grok/Kimi/Qwen/GLM/MiMo/MiniMax/DeepSeek\uFF09",
446
+ provider: "opencode-go",
447
+ baseUrl: "https://opencode.ai/zen/go/v1",
448
+ defaultModel: "qwen3.8-max",
449
+ modelOptions: OPENCODE_GO_MODEL_OPTIONS,
450
+ commercialKind: "subscription",
451
+ accessVariant: "token_plan_endpoint"
452
+ },
453
+ {
454
+ kind: "api_key_template",
455
+ id: "step-plan",
456
+ label: "\u9636\u8DC3\u661F\u8FB0 Step Plan",
457
+ description: "\u9636\u8DC3\u661F\u8FB0 Step Plan \u8BA2\u9605\uFF08API Key + Base URL\uFF0C\u6708\u6C60 Credit \u989D\u5EA6\uFF09",
458
+ provider: "stepfun",
459
+ baseUrl: "https://api.stepfun.com/step_plan/v1",
460
+ defaultModel: "step-5-preview",
461
+ modelOptions: STEPFUN_STEP_PLAN_MODEL_OPTIONS,
462
+ keyFormatHint: "\u5728 platform.stepfun.com Step Plan \u63A7\u5236\u53F0\u521B\u5EFA\u4E13\u7528 API Key\uFF08\u5F62\u5982 sk-\u2026\uFF09\uFF1B\u4E0E\u5F00\u653E\u5E73\u53F0\u6309\u91CF Key \u72EC\u7ACB\u3002",
463
+ commercialKind: "subscription",
464
+ accessVariant: "token_plan_endpoint"
465
+ },
466
+ {
467
+ kind: "api_key_template",
468
+ id: "kimi-code-key",
469
+ label: "Kimi Code",
470
+ description: "Kimi \u4F1A\u5458\u8BA2\u9605\uFF08Kimi Code \u63A7\u5236\u53F0 API Key\uFF0C\u6700\u591A 5 \u4E2A\uFF09",
471
+ provider: "kimi-code",
472
+ baseUrl: "https://api.kimi.com/coding/v1",
473
+ defaultModel: "kimi-for-coding",
474
+ modelOptions: KIMI_CODE_MODEL_OPTIONS,
475
+ commercialKind: "subscription",
476
+ accessVariant: "token_plan_endpoint"
477
+ },
478
+ {
479
+ kind: "api_key_template",
480
+ id: "commandcode",
481
+ label: "CommandCode",
482
+ description: "CommandCode \u8BA2\u9605\uFF08Studio \u751F\u6210 API Key\uFF0CGOAT/Pro/Max/Team \u53EF\u7528\uFF0C\u805A\u5408 DeepSeek/Kimi/Qwen/GLM/Claude/GPT/Gemini\uFF09",
483
+ provider: "commandcode",
484
+ baseUrl: "https://api.commandcode.ai/provider/v1",
485
+ defaultModel: "deepseek/deepseek-v4-flash",
486
+ modelOptions: COMMAND_CODE_MODEL_OPTIONS,
487
+ commercialKind: "subscription",
488
+ accessVariant: "token_plan_endpoint"
489
+ },
490
+ {
491
+ kind: "api_key_template",
492
+ id: "zai-coding-plan",
493
+ label: "Z.AI GLM Coding Plan",
494
+ description: "\u667A\u8C31\u56FD\u9645\u7248\u8BA2\u9605\uFF08z.ai \u63A7\u5236\u53F0 API Key\uFF0CLite/Pro/Max \u6863\uFF09",
495
+ provider: "zai",
496
+ baseUrl: "https://api.z.ai/api/coding/paas/v4",
497
+ defaultModel: "glm-5.3-flash",
498
+ modelOptions: [
499
+ { id: "glm-5.3-flash", label: "GLM 5.3 Flash", hasVision: true, recommended: true },
500
+ { id: "glm-5.3", label: "GLM 5.3", hasVision: true },
501
+ { id: "glm-5-turbo", label: "GLM 5 Turbo" },
502
+ { id: "glm-4.7", label: "GLM 4.7" }
503
+ ],
504
+ commercialKind: "subscription",
505
+ accessVariant: "token_plan_endpoint"
506
+ },
507
+ {
508
+ kind: "api_key_template",
509
+ id: "bigmodel-coding-plan",
510
+ label: "\u667A\u8C31 BigModel Coding Plan",
511
+ description: "\u667A\u8C31\u56FD\u5185\u7248\u8BA2\u9605\uFF08bigmodel.cn \u63A7\u5236\u53F0 API Key\uFF0C\u4E0E\u56FD\u9645\u7248 Key \u4E0D\u901A\u7528\uFF09",
512
+ provider: "bigmodel",
513
+ baseUrl: "https://open.bigmodel.cn/api/coding/paas/v4",
514
+ defaultModel: "glm-5.3",
515
+ modelOptions: [
516
+ { id: "glm-5.3", label: "GLM 5.3", hasVision: true, recommended: true },
517
+ { id: "glm-5.3-flash", label: "GLM 5.3 Flash", hasVision: true },
518
+ { id: "glm-5-turbo", label: "GLM 5 Turbo" },
519
+ { id: "glm-4.7", label: "GLM 4.7" }
520
+ ],
521
+ commercialKind: "subscription",
522
+ accessVariant: "token_plan_endpoint"
523
+ },
524
+ {
525
+ kind: "api_key_template",
526
+ id: "openai-api",
527
+ label: "OpenAI API",
528
+ provider: "openai",
529
+ baseUrl: "https://api.openai.com/v1",
530
+ defaultModel: "gpt-6-astra",
531
+ commercialKind: "api",
532
+ accessVariant: "metered_key"
533
+ },
534
+ {
535
+ kind: "api_key_template",
536
+ id: "anthropic-api",
537
+ label: "Anthropic API",
538
+ provider: "anthropic",
539
+ baseUrl: "https://api.anthropic.com",
540
+ defaultModel: "claude-sonnet-5",
541
+ apiKeyHeader: "x-api-key",
542
+ commercialKind: "api",
543
+ accessVariant: "metered_key"
544
+ },
545
+ {
546
+ kind: "api_key_template",
547
+ id: "gemini-api",
548
+ label: "Gemini API",
549
+ provider: "google",
550
+ baseUrl: "https://generativelanguage.googleapis.com/v1beta",
551
+ defaultModel: "gemini-3.8-flash",
552
+ apiKeyHeader: "x-goog-api-key",
553
+ commercialKind: "api",
554
+ accessVariant: "metered_key"
555
+ },
556
+ {
557
+ kind: "api_key_template",
558
+ id: "xai-api",
559
+ label: "xAI API",
560
+ provider: "xai",
561
+ baseUrl: "https://api.x.ai/v1",
562
+ defaultModel: "grok-4.6",
563
+ commercialKind: "api",
564
+ accessVariant: "metered_key"
565
+ },
566
+ // DeepSeek 模型统一改走 nolo provider(Ollama Cloud,thinking=max 快 28-49%)。
567
+ // 现按用户选择回归:自带 Key 的 metered 通道与平台托管通道并存,互不影响。
568
+ {
569
+ kind: "api_key_template",
570
+ id: "deepseek-api",
571
+ label: "DeepSeek API \u7528\u91CF\u8BA1\u8D39",
572
+ description: "DeepSeek \u5B98\u65B9 API\uFF08OpenAI \u517C\u5BB9\uFF0C\u6309\u91CF\u8BA1\u8D39\uFF09",
573
+ provider: "deepseek",
574
+ baseUrl: "https://api.deepseek.com/v1",
575
+ defaultModel: "deepseek-v4-pro",
576
+ modelOptions: DEEPSEEK_MODEL_OPTIONS,
577
+ commercialKind: "api",
578
+ accessVariant: "metered_key"
579
+ },
580
+ {
581
+ kind: "api_key_template",
582
+ id: "qwen-api",
583
+ label: "\u5343\u95EE API \u7528\u91CF\u8BA1\u8D39",
584
+ description: "Qwen / DashScope\uFF08OpenAI \u517C\u5BB9\uFF0C\u6309\u91CF\u8BA1\u8D39\uFF09",
585
+ provider: "qwen",
586
+ baseUrl: "https://dashscope.aliyuncs.com/compatible-mode/v1",
587
+ defaultModel: "qwen3-max",
588
+ modelOptions: QWEN_MODEL_OPTIONS,
589
+ commercialKind: "api",
590
+ accessVariant: "metered_key"
591
+ },
592
+ // 小米 MiMo 官方按量计费 API(api.xiaomimimo.com):与上面的「MiMo Token Plan」
593
+ // 订阅模板是两条不同的通道(key 不通用);本条是用户自带 Key 的 metered 通道,
594
+ // 与平台托管(provider=nolo + mimo-v2.6-*,平台积分计费)并存、互不影响。
595
+ {
596
+ kind: "api_key_template",
597
+ id: "mimo-api",
598
+ label: "MiMo API \u7528\u91CF\u8BA1\u8D39",
599
+ description: "\u5C0F\u7C73 MiMo \u5B98\u65B9 API\uFF08OpenAI \u517C\u5BB9\uFF0C\u6309\u91CF\u8BA1\u8D39\uFF1BKey \u987B\u4E3A\u6309\u91CF\u8BA1\u8D39 Key\uFF0C\u975E Token Plan \u8BA2\u9605 Key\uFF09",
600
+ provider: "mimo",
601
+ baseUrl: "https://api.xiaomimimo.com/v1",
602
+ defaultModel: "mimo-v2.6-flash",
603
+ modelOptions: MIMO_MODEL_OPTIONS,
604
+ commercialKind: "api",
605
+ accessVariant: "metered_key"
606
+ },
607
+ {
608
+ kind: "api_key_template",
609
+ id: "kimi-api",
610
+ label: "Kimi API \u7528\u91CF\u8BA1\u8D39",
611
+ description: "Moonshot \u5F00\u653E\u5E73\u53F0\uFF08Key \u987B\u4E3A\u5F00\u653E\u5E73\u53F0\u751F\u6210\uFF0C\u975E Kimi Code \u63A7\u5236\u53F0 key\uFF09",
612
+ provider: "moonshot",
613
+ baseUrl: "https://api.moonshot.cn/v1",
614
+ defaultModel: "kimi-k3",
615
+ modelOptions: MOONSHOT_MODEL_OPTIONS,
616
+ commercialKind: "api",
617
+ accessVariant: "metered_key"
618
+ },
619
+ {
620
+ kind: "api_key_template",
621
+ id: "stepfun-api",
622
+ label: "\u9636\u8DC3\u661F\u8FB0 API \u7528\u91CF\u8BA1\u8D39",
623
+ description: "\u9636\u8DC3\u661F\u8FB0\u5F00\u653E\u5E73\u53F0\uFF08OpenAI \u517C\u5BB9\uFF0C\u6309\u91CF\u8BA1\u8D39\uFF09",
624
+ provider: "stepfun",
625
+ baseUrl: "https://api.stepfun.com/v1",
626
+ defaultModel: "step-5-preview",
627
+ modelOptions: STEPFUN_MODEL_OPTIONS,
628
+ commercialKind: "api",
629
+ accessVariant: "metered_key"
630
+ },
631
+ {
632
+ kind: "api_key_template",
633
+ id: "minimax-api",
634
+ label: "MiniMax API",
635
+ provider: "minimax",
636
+ baseUrl: "https://api.minimaxi.com/v1",
637
+ defaultModel: "MiniMax-Text-01",
638
+ commercialKind: "api",
639
+ accessVariant: "metered_key"
640
+ }
641
+ ];
642
+ var ALL_PROVIDER_REGISTRY = [
643
+ ...SUBSCRIPTION_OAUTH_PROVIDERS,
644
+ ...CUSTOM_API_KEY_TEMPLATES
645
+ ];
646
+ function findProviderById(id) {
647
+ return ALL_PROVIDER_REGISTRY.find((p) => p.id === id);
648
+ }
649
+ function isSubscriptionOAuthProvider(id) {
650
+ if (!id) return false;
651
+ return SUBSCRIPTION_OAUTH_PROVIDERS.some((p) => p.id === id);
652
+ }
653
+ function isCustomApiKeyTemplate(id) {
654
+ if (!id) return false;
655
+ return CUSTOM_API_KEY_TEMPLATES.some((p) => p.id === id);
656
+ }
657
+
658
+ export {
659
+ SUBSCRIPTION_OAUTH_PROVIDERS,
660
+ CUSTOM_API_KEY_TEMPLATES,
661
+ ALL_PROVIDER_REGISTRY,
662
+ findProviderById,
663
+ isSubscriptionOAuthProvider,
664
+ isCustomApiKeyTemplate
665
+ };