nolo-cli 0.76.0-alpha.1 → 0.76.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 (134) hide show
  1. package/{_executeModel-MONX3AUM.js → _executeModel-I3XRMAJ2.js} +42 -42
  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-DCTG26JW.js} +27 -26
  6. package/{agentEmailCommands-HXIX4KJE.js → agentEmailCommands-MRRHBLDQ.js} +54 -53
  7. package/{agentListCommands-IFUOWXP3.js → agentListCommands-CUE46CSP.js} +29 -28
  8. package/{agentMachineCommands-NEJEQV5S.js → agentMachineCommands-FYDEKBIO.js} +27 -26
  9. package/{agentProviderCommands-65ZC2WB4.js → agentProviderCommands-X3FA6BUM.js} +87 -0
  10. package/{agentPullCommand-N7L2CT7L.js → agentPullCommand-U73W5IBM.js} +1 -1
  11. package/{agentRecordCommands-USSLZKED.js → agentRecordCommands-P2MSNP7R.js} +52 -51
  12. package/{agentRunCommand-WZZSCEEP.js → agentRunCommand-YJOW3VB3.js} +52 -51
  13. package/{agentRuntimeLocal-PUZINLWJ.js → agentRuntimeLocal-T43UNWAY.js} +26 -25
  14. package/{agentSlice-BLCUNM5V.js → agentSlice-7GDS5Q2S.js} +9 -9
  15. package/{appDeleteCommands-U4NTEJYQ.js → appDeleteCommands-YBKY3VEI.js} +27 -26
  16. package/{appDeployCommands-FXF45Q7F.js → appDeployCommands-EBC76HO4.js} +27 -26
  17. package/{appDeployStatusCommands-KONVRM53.js → appDeployStatusCommands-WXRC5KEK.js} +27 -26
  18. package/{appGetCommands-3VOGIZ7T.js → appGetCommands-VZZQEDOV.js} +27 -26
  19. package/{appListCommands-A6ROBW7P.js → appListCommands-HYSPVQ77.js} +27 -26
  20. package/{authCommand-EVGFLAHO.js → authCommand-E4GDVKMW.js} +91 -17
  21. package/{authCommands-ILTBI6JV.js → authCommands-VOTT6XWX.js} +3 -4
  22. package/builtinSkillRegistry-5SYVTS6Z.js +33 -0
  23. package/{chatQueueReduxAdapter-ROFM5SW7.js → chatQueueReduxAdapter-CXEWIDFZ.js} +22 -22
  24. package/{chunk-NG4UT4K4.js → chunk-23RQKXP6.js} +1 -1
  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-3T4PRBHV.js} +1 -1
  29. package/{chunk-ZDONXM5U.js → chunk-4FRNB4ZG.js} +7 -7
  30. package/{chunk-YFADVSZE.js → chunk-5EJZGJS2.js} +6 -6
  31. package/{chunk-UJ63UXGE.js → chunk-6H7GN3JL.js} +1064 -752
  32. package/{chunk-BGIWMGSP.js → chunk-6RCZYDDC.js} +10 -172
  33. package/{chunk-BYEJ7K2Z.js → chunk-7S4YWN7P.js} +1 -1
  34. package/{chunk-SREASRV5.js → chunk-ABQYVJBJ.js} +1 -1
  35. package/{chunk-MQ25G6VQ.js → chunk-AYT2OKNM.js} +3 -3
  36. package/{chunk-ERD7UXVL.js → chunk-BNMZ7QUV.js} +1 -1
  37. package/{chunk-PGSKWZCB.js → chunk-DS3SQTDT.js} +1 -1
  38. package/{chunk-QC5LGHYP.js → chunk-EXWOCYCR.js} +3 -3
  39. package/chunk-FMODTASJ.js +109 -0
  40. package/{chunk-SZLVDREM.js → chunk-GIG262ZG.js} +3 -3
  41. package/{chunk-FPTQQSS6.js → chunk-GRJTR4PU.js} +25 -4
  42. package/{chunk-PZM3EENV.js → chunk-GXWEF4IZ.js} +1 -1
  43. package/chunk-HJKGQPYF.js +266 -0
  44. package/{chunk-3JQ2NRYU.js → chunk-HVURBGF3.js} +4 -4
  45. package/{chunk-UPQF3C7O.js → chunk-IMDA4FW4.js} +102 -34
  46. package/{chunk-L2Y24GRM.js → chunk-IO7DYRPW.js} +3 -3
  47. package/{chunk-UZ6XXCVR.js → chunk-IZAWJCG7.js} +15 -2
  48. package/{chunk-2SFNAHL6.js → chunk-JC2WQS66.js} +34 -22
  49. package/{chunk-XWNRAIUL.js → chunk-JITSBA52.js} +6 -16
  50. package/{chunk-6XIE5ZGI.js → chunk-JPGCXHNM.js} +1 -1
  51. package/{chunk-PI4DWFYV.js → chunk-KO7QCXLL.js} +1132 -31
  52. package/{chunk-E36HZARC.js → chunk-KT6LENVP.js} +3 -3
  53. package/{chunk-N7DNNV6J.js → chunk-L2VNQQ7M.js} +78 -74
  54. package/{chunk-2R5EVB2O.js → chunk-LEYH5NOH.js} +5 -5
  55. package/{chunk-RXX4GDIH.js → chunk-LS2ZANRJ.js} +1 -1
  56. package/{chunk-4EJ5QYB5.js → chunk-LSV2BOJL.js} +1 -1
  57. package/{chunk-AFIKMMGC.js → chunk-MFW4BGJS.js} +1 -1
  58. package/{chunk-QH6NK22I.js → chunk-NVHJWYUO.js} +60 -788
  59. package/{chunk-Q6FF2MCK.js → chunk-OAJRZ35U.js} +1 -1
  60. package/{chunk-DSRXPQWA.js → chunk-OCL2YCAU.js} +7 -7
  61. package/{chunk-5J7W2VWW.js → chunk-OHUU52T3.js} +6 -265
  62. package/{chunk-V3ZKNK5D.js → chunk-OKCTLCKS.js} +9 -9
  63. package/chunk-P3AS5IPM.js +1624 -0
  64. package/{chunk-ZZCJUXUI.js → chunk-PHDKTASK.js} +2 -2
  65. package/{chunk-RILY7TKG.js → chunk-Q246OUG5.js} +9 -9
  66. package/{chunk-ZLPA7K55.js → chunk-Q4KVAB6L.js} +4 -4
  67. package/{chunk-AETZ7AD6.js → chunk-Q554LLSI.js} +1 -1
  68. package/{chunk-CGRJWXTE.js → chunk-S6STPUMG.js} +19 -15
  69. package/{chunk-K7AG465Q.js → chunk-T4F2EQGN.js} +4 -2
  70. package/{chunk-PYXL2CJL.js → chunk-TGRQUFLU.js} +1 -1
  71. package/{chunk-E6RGHPDR.js → chunk-UINEAQ2R.js} +3 -5
  72. package/{chunk-EXMHJN7C.js → chunk-UO66QKGI.js} +2 -2
  73. package/{chunk-BJCWNHVU.js → chunk-US463UAD.js} +2 -2
  74. package/{chunk-AJHEFRGJ.js → chunk-UWMQ6FPM.js} +4 -0
  75. package/{chunk-FSFQ3A7S.js → chunk-VARZWSKW.js} +9 -9
  76. package/{chunk-NHRQCXIQ.js → chunk-VMFTFOWF.js} +13 -3
  77. package/{chunk-3SPWIDHH.js → chunk-VQD6BTML.js} +3 -3
  78. package/{chunk-ZY4K4CZR.js → chunk-VW3YGKWR.js} +605 -91
  79. package/{chunk-G3O3PD6Q.js → chunk-W7PGACND.js} +14 -14
  80. package/{chunk-KIS76A2P.js → chunk-WSOMSDQB.js} +4 -4
  81. package/{chunk-CMH2SYHX.js → chunk-X77EN2BJ.js} +2 -2
  82. package/{chunk-MYU3MJCF.js → chunk-XCSSFPTB.js} +175 -7
  83. package/{chunk-QA6YKM3H.js → chunk-Y2IFJ7VM.js} +31 -3
  84. package/{chunk-UDQWGU7F.js → chunk-YZHP76TR.js} +1 -1
  85. package/{chunk-GBPZKFYK.js → chunk-ZIHJVHFH.js} +4 -4
  86. package/{chunk-DWPNOYMB.js → chunk-ZKGIAM7I.js} +1 -1
  87. package/chunk-ZSG2AQU4.js +626 -0
  88. package/{contentThunks-3BFZJFHI.js → contentThunks-Y2ACIFDB.js} +23 -23
  89. package/{createAgentAutomationAction-YCWUKLMK.js → createAgentAutomationAction-TNE3QMJR.js} +23 -23
  90. package/{createDialogAction-VULS2PKA.js → createDialogAction-BMGHBTQB.js} +26 -26
  91. package/{createPageAction-MZZLQPFE.js → createPageAction-FFNIZPIS.js} +24 -24
  92. package/{dbSlice-GKGGFNOB.js → dbSlice-4CUQE35F.js} +7 -7
  93. package/{deleteFile-LWSR674W.js → deleteFile-YG6QMJLU.js} +3 -3
  94. package/{dialogCommands-G223U5WU.js → dialogCommands-3JC3BIXC.js} +28 -27
  95. package/{dialogSlice-NQO5ZETL.js → dialogSlice-3E7Z7HZV.js} +22 -22
  96. package/{docCreateCommands-2P47IJDK.js → docCreateCommands-6LNQLCTA.js} +28 -27
  97. package/{docDeleteCommands-N3EGDOIC.js → docDeleteCommands-ZJOAPWZS.js} +29 -28
  98. package/{docReadCommands-6BFV2HI7.js → docReadCommands-LJTRSBG6.js} +28 -27
  99. package/{docStore-AEJONTM4.js → docStore-R47ABXBB.js} +8 -8
  100. package/{docUpdateCommands-ZTMPXHC5.js → docUpdateCommands-7P3QF3N2.js} +28 -27
  101. package/{fetchMessages-DRABNDPZ.js → fetchMessages-EIU7UFFK.js} +3 -4
  102. package/{getPricing-HRMSOF3E.js → getPricing-TV6ZB7ES.js} +4 -4
  103. package/{handleSendMessageAction-WIUO466V.js → handleSendMessageAction-FFYOGXAO.js} +22 -22
  104. package/index.js +61 -53
  105. package/{localDialogRead-PUQKFI73.js → localDialogRead-BTFJ4V2I.js} +2 -2
  106. package/{localRuntimeDb-P37ZTX55.js → localRuntimeDb-SYQGUF4U.js} +1 -1
  107. package/{machineCommands-FUA7HBND.js → machineCommands-FN5GGQV3.js} +52 -51
  108. package/{machineWsRunDispatch-URIG5N2V.js → machineWsRunDispatch-H47IA7ZT.js} +50 -49
  109. package/{memberThunks-KATHH3F4.js → memberThunks-N35XAOC6.js} +8 -8
  110. package/{models-GS72DVJS.js → models-CMXFDBQH.js} +2 -2
  111. package/package.json +1 -1
  112. package/providerPresetApply-D2GGHPI7.js +214 -0
  113. package/providerRegistry-MU6C4ABD.js +31 -0
  114. package/{read-LC6HVYBN.js → read-2PV4PN2E.js} +4 -3
  115. package/{readDocTool-N3ERJHHF.js → readDocTool-FGK5XGAW.js} +1 -1
  116. package/{readlineWorkspace-HVQLD7T3.js → readlineWorkspace-2RP77YDN.js} +133 -74
  117. package/{removeDialogAgentAction-F5GPTALR.js → removeDialogAgentAction-O2POGBOE.js} +10 -10
  118. package/{runAgentClientLoop-QHL2HNAI.js → runAgentClientLoop-CEBV5UPD.js} +41 -41
  119. package/{runtimeDoctorCommands-CROTMULY.js → runtimeDoctorCommands-X6WDBEQX.js} +2 -2
  120. package/{setDialogExtraReferencesAction-AY4ZCF3A.js → setDialogExtraReferencesAction-KPSVVY3C.js} +8 -8
  121. package/{setPrimaryDialogAgentAction-HPMG7V3R.js → setPrimaryDialogAgentAction-RMJETONI.js} +10 -10
  122. package/{settingSlice-OEJA4NQO.js → settingSlice-I6MTTNDX.js} +9 -9
  123. package/{spaceCommands-MRP5U3C3.js → spaceCommands-JHT4ALCQ.js} +26 -25
  124. package/{streamAgentChatTurn-CE2H23VD.js → streamAgentChatTurn-SFCZP4GY.js} +49 -50
  125. package/{switchDialogAgentAction-HMDZTZ4I.js → switchDialogAgentAction-OQSGWVQQ.js} +7 -7
  126. package/{tools-F25QG6XS.js → tools-K3YOTESV.js} +37 -35
  127. package/{tuiSummaryLlmCaller-3Z24VUWM.js → tuiSummaryLlmCaller-T2OA5ZVB.js} +14 -14
  128. package/{updateDialogTitleAction-Z333XUN4.js → updateDialogTitleAction-CSPKYQRO.js} +23 -23
  129. package/chunk-3IT2PFHL.js +0 -611
  130. package/chunk-I42VC5KR.js +0 -15
  131. package/codingSkills-E6KSDNSJ.js +0 -48
  132. package/{chunk-3RAG2NAD.js → chunk-UKWGR5SS.js} +3 -3
  133. package/{db-VQSAOWAO.js → db-WK5MDZVN.js} +1 -1
  134. package/{localRuntimeAuthority-R5UBODT3.js → localRuntimeAuthority-6IR6BBXE.js} +3 -3
@@ -0,0 +1,626 @@
1
+ import {
2
+ ANTIGRAVITY_CLOUD_CODE_BASE_URL
3
+ } from "./chunk-DS3SQTDT.js";
4
+ import {
5
+ kimiCodeModels,
6
+ moonshotModels,
7
+ opencodeGoModels,
8
+ qwenModels,
9
+ qwenTokenPlanModels,
10
+ stepfunModels,
11
+ stepfunStepPlanModels
12
+ } from "./chunk-6H7GN3JL.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-UWMQ6FPM.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 STEPFUN_STEP_PLAN_MODEL_OPTIONS = stepfunStepPlanModels.map((m, i) => ({
256
+ id: m.name,
257
+ label: m.displayName ?? m.name,
258
+ hasVision: m.hasVision,
259
+ ...i === 0 ? { recommended: true } : {}
260
+ }));
261
+ var SUBSCRIPTION_OAUTH_PROVIDERS = [
262
+ {
263
+ kind: "oauth",
264
+ id: "chatgpt",
265
+ label: "ChatGPT Plus/Pro",
266
+ description: "Codex Subscription",
267
+ apiKeyRef: "chatgpt",
268
+ provider: "openai",
269
+ defaultModel: "gpt-6-astra",
270
+ defaultReasoningEffort: "medium",
271
+ modelOptions: [
272
+ { id: "gpt-6-astra", label: "GPT-6 Astra", hasVision: true, recommended: true },
273
+ { id: "gpt-5.6-sol", label: "GPT-5.6 Sol", hasVision: true },
274
+ { id: "gpt-5.6-terra", label: "GPT-5.6 Terra", hasVision: true },
275
+ { id: "gpt-5.6-luna", label: "GPT-5.6 Luna", hasVision: true }
276
+ ]
277
+ },
278
+ {
279
+ kind: "oauth",
280
+ id: "xai-oauth",
281
+ label: "xAI Grok OAuth",
282
+ description: "SuperGrok Subscription",
283
+ apiKeyRef: "xai",
284
+ provider: "xai",
285
+ defaultModel: "grok-4.6",
286
+ defaultReasoningEffort: "high",
287
+ modelOptions: [
288
+ { id: "grok-4.6", label: "Grok 4.6", hasVision: true, recommended: true }
289
+ ]
290
+ },
291
+ {
292
+ kind: "oauth",
293
+ id: "antigravity",
294
+ label: "Antigravity",
295
+ description: "Gemini 3, Claude, GPT-OSS",
296
+ apiKeyRef: "antigravity",
297
+ provider: "google-antigravity",
298
+ defaultModel: "gemini-3.8-flash",
299
+ defaultReasoningEffort: "medium",
300
+ modelOptions: [
301
+ { id: "gemini-3.8-flash", label: "Gemini 3.8 Flash", hasVision: true, recommended: true },
302
+ { id: "gemini-3.7-flash", label: "Gemini 3.7 Flash", hasVision: true },
303
+ { id: "gemini-3.6-flash", label: "Gemini 3.6 Flash", hasVision: true },
304
+ { id: "gemini-3.1-pro", label: "Gemini 3.1 Pro", hasVision: true },
305
+ { id: "gemini-2.5-pro", label: "Gemini 2.5 Pro", hasVision: true },
306
+ { id: "claude-sonnet-5", label: "Claude Sonnet 5", hasVision: true },
307
+ { id: "claude-opus-4-6-thinking", label: "Claude Opus 4.6 Thinking", hasVision: true }
308
+ ],
309
+ cloudCodeBaseUrl: ANTIGRAVITY_CLOUD_CODE_BASE_URL
310
+ },
311
+ {
312
+ kind: "oauth",
313
+ id: "claude-oauth",
314
+ label: "Claude Pro/Max",
315
+ description: "Anthropic Subscription",
316
+ apiKeyRef: "claude",
317
+ provider: "anthropic",
318
+ defaultModel: "claude-sonnet-5",
319
+ defaultReasoningEffort: "high",
320
+ modelOptions: [
321
+ { id: "claude-sonnet-5", label: "Claude Sonnet 5", hasVision: true },
322
+ { id: "claude-opus-5", label: "Claude Opus 5", hasVision: true, recommended: true },
323
+ { id: "claude-opus-4-8", label: "Claude Opus 4.8", hasVision: true },
324
+ { id: "claude-fable-5", label: "Claude Fable 5", hasVision: true }
325
+ ]
326
+ },
327
+ {
328
+ kind: "oauth",
329
+ id: "cursor-oauth",
330
+ label: "Cursor Pro",
331
+ description: "Cursor Subscription",
332
+ apiKeyRef: "cursor",
333
+ provider: "cursor",
334
+ // Wire ids must match GetUsableModels. First-party Grok/Composer draw from
335
+ // the Cursor Models pool; everything else draws from Other Models.
336
+ defaultModel: "cursor-grok-4.5-high",
337
+ // Cursor 的 model id 已带 effort 后缀(-high/-medium/-fast),推理强度隐含在模型选择里;
338
+ // 这里给 medium 作为面板默认,避免与模型 id 里的后缀语义冲突。
339
+ defaultReasoningEffort: "medium",
340
+ modelOptions: [
341
+ { id: "cursor-grok-4.5-high", label: "Grok 4.5", hasVision: true, recommended: true },
342
+ { id: "cursor-grok-4.5-high-fast", label: "Grok 4.5 Fast", hasVision: true },
343
+ { id: "composer-2.5-fast", label: "Composer 2.5 Fast", hasVision: false },
344
+ { id: "composer-2.5", label: "Composer 2.5", hasVision: false },
345
+ { id: "gpt-5.3-codex", label: "GPT-5.3 Codex", hasVision: true },
346
+ { id: "gpt-5.3-codex-high", label: "GPT-5.3 Codex High", hasVision: true },
347
+ { id: "gpt-5.4-medium", label: "GPT-5.4 Medium", hasVision: true },
348
+ { id: "claude-4.6-sonnet-medium", label: "Claude 4.6 Sonnet", hasVision: true },
349
+ { id: "claude-4.6-opus-high", label: "Claude 4.6 Opus", hasVision: true },
350
+ { id: "gemini-3.1-pro", label: "Gemini 3.1 Pro", hasVision: true }
351
+ ]
352
+ },
353
+ {
354
+ kind: "oauth",
355
+ id: "devin-oauth",
356
+ label: "Devin Pro",
357
+ description: "Devin Subscription (Free SWE-2)",
358
+ apiKeyRef: "devin",
359
+ provider: "devin",
360
+ defaultModel: "swe-2-max",
361
+ defaultReasoningEffort: "high",
362
+ modelOptions: [
363
+ { id: "swe-2-max", label: "SWE-2 Max (Unlimited Free with $20 Pro)", hasVision: true, recommended: true },
364
+ { id: "swe-2-high", label: "SWE-2 High", hasVision: true },
365
+ { id: "swe-2-medium", label: "SWE-2 Medium", hasVision: true },
366
+ { id: "swe-2", label: "SWE-2", hasVision: true },
367
+ { id: "swe-1.7", label: "SWE-1.7", hasVision: true },
368
+ { id: "claude-3.7-sonnet", label: "Claude 3.7 Sonnet", hasVision: true },
369
+ { id: "claude-sonnet-4.6", label: "Claude Sonnet 4.6", hasVision: true },
370
+ { id: "gpt-5.2", label: "GPT-5.2", hasVision: true },
371
+ { id: "gpt-4o", label: "GPT-4o", hasVision: true }
372
+ ]
373
+ }
374
+ ];
375
+ var CUSTOM_API_KEY_TEMPLATES = [
376
+ {
377
+ kind: "api_key_template",
378
+ id: "token-plan",
379
+ label: "MiMo Token Plan",
380
+ description: "\u5C0F\u7C73 MiMo \u8BA2\u9605\uFF08API Key + Base URL\uFF09",
381
+ provider: "mimo",
382
+ baseUrl: "https://token-plan-cn.xiaomimimo.com/v1",
383
+ defaultModel: "mimo-v2.5-pro",
384
+ commercialKind: "subscription",
385
+ accessVariant: "token_plan_endpoint"
386
+ },
387
+ {
388
+ kind: "api_key_template",
389
+ id: "ollama-cloud",
390
+ label: "Ollama Cloud",
391
+ description: "Ollama Cloud \u8BA2\u9605\uFF08API Key + Base URL\uFF09",
392
+ provider: "ollama-cloud",
393
+ baseUrl: "https://ollama.com/v1",
394
+ 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",
395
+ defaultModel: "deepseek-v4-flash:cloud",
396
+ modelOptions: [
397
+ { id: "glm-5.2:cloud", label: "GLM 5.2" },
398
+ { id: "deepseek-v4-flash:cloud", label: "DeepSeek V4 Flash", recommended: true },
399
+ { id: "deepseek-v4-pro:cloud", label: "DeepSeek V4 Pro" },
400
+ { id: "kimi-k3:cloud", label: "Kimi K3" }
401
+ ],
402
+ commercialKind: "subscription",
403
+ accessVariant: "token_plan_endpoint"
404
+ },
405
+ {
406
+ kind: "api_key_template",
407
+ id: "qwen-token-plan",
408
+ label: "\u5343\u95EE Token Plan",
409
+ description: "\u5343\u95EE Token Plan \u8BA2\u9605\uFF08Key \u987B\u4E3A Token Plan \u4E13\u5C5E\uFF0C\u975E\u6309\u91CF API Key\uFF09",
410
+ provider: "qwen",
411
+ baseUrl: "https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",
412
+ defaultModel: "qwen3.8-max",
413
+ modelOptions: QWEN_TOKEN_PLAN_MODEL_OPTIONS,
414
+ commercialKind: "subscription",
415
+ accessVariant: "token_plan_endpoint"
416
+ },
417
+ {
418
+ kind: "api_key_template",
419
+ id: "opencode-go",
420
+ label: "OpenCode Go",
421
+ description: "OpenCode Go \u8BA2\u9605\uFF08$5 \u9996\u6708 / $10 \u6708\uFF0C\u805A\u5408 Grok/Kimi/Qwen/GLM/MiMo/MiniMax/DeepSeek\uFF09",
422
+ provider: "opencode-go",
423
+ baseUrl: "https://opencode.ai/zen/go/v1",
424
+ defaultModel: "qwen3.8-max",
425
+ modelOptions: OPENCODE_GO_MODEL_OPTIONS,
426
+ commercialKind: "subscription",
427
+ accessVariant: "token_plan_endpoint"
428
+ },
429
+ {
430
+ kind: "api_key_template",
431
+ id: "step-plan",
432
+ label: "\u9636\u8DC3\u661F\u8FB0 Step Plan",
433
+ description: "\u9636\u8DC3\u661F\u8FB0 Step Plan \u8BA2\u9605\uFF08API Key + Base URL\uFF0C\u6708\u6C60 Credit \u989D\u5EA6\uFF09",
434
+ provider: "stepfun",
435
+ baseUrl: "https://api.stepfun.com/step_plan/v1",
436
+ defaultModel: "step-5-preview",
437
+ modelOptions: STEPFUN_STEP_PLAN_MODEL_OPTIONS,
438
+ 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",
439
+ commercialKind: "subscription",
440
+ accessVariant: "token_plan_endpoint"
441
+ },
442
+ {
443
+ kind: "api_key_template",
444
+ id: "kimi-code-key",
445
+ label: "Kimi Code",
446
+ description: "Kimi \u4F1A\u5458\u8BA2\u9605\uFF08Kimi Code \u63A7\u5236\u53F0 API Key\uFF0C\u6700\u591A 5 \u4E2A\uFF09",
447
+ provider: "kimi-code",
448
+ baseUrl: "https://api.kimi.com/coding/v1",
449
+ defaultModel: "kimi-for-coding",
450
+ modelOptions: KIMI_CODE_MODEL_OPTIONS,
451
+ commercialKind: "subscription",
452
+ accessVariant: "token_plan_endpoint"
453
+ },
454
+ {
455
+ kind: "api_key_template",
456
+ id: "commandcode",
457
+ label: "CommandCode",
458
+ 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",
459
+ provider: "commandcode",
460
+ baseUrl: "https://api.commandcode.ai/provider/v1",
461
+ defaultModel: "deepseek/deepseek-v4-flash",
462
+ modelOptions: COMMAND_CODE_MODEL_OPTIONS,
463
+ commercialKind: "subscription",
464
+ accessVariant: "token_plan_endpoint"
465
+ },
466
+ {
467
+ kind: "api_key_template",
468
+ id: "zai-coding-plan",
469
+ label: "Z.AI GLM Coding Plan",
470
+ description: "\u667A\u8C31\u56FD\u9645\u7248\u8BA2\u9605\uFF08z.ai \u63A7\u5236\u53F0 API Key\uFF0CLite/Pro/Max \u6863\uFF09",
471
+ provider: "zai",
472
+ baseUrl: "https://api.z.ai/api/coding/paas/v4",
473
+ defaultModel: "glm-5.3-flash",
474
+ modelOptions: [
475
+ { id: "glm-5.3-flash", label: "GLM 5.3 Flash", hasVision: true, recommended: true },
476
+ { id: "glm-5.3", label: "GLM 5.3", hasVision: true },
477
+ { id: "glm-5-turbo", label: "GLM 5 Turbo" },
478
+ { id: "glm-4.7", label: "GLM 4.7" }
479
+ ],
480
+ commercialKind: "subscription",
481
+ accessVariant: "token_plan_endpoint"
482
+ },
483
+ {
484
+ kind: "api_key_template",
485
+ id: "bigmodel-coding-plan",
486
+ label: "\u667A\u8C31 BigModel Coding Plan",
487
+ 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",
488
+ provider: "bigmodel",
489
+ baseUrl: "https://open.bigmodel.cn/api/coding/paas/v4",
490
+ defaultModel: "glm-5.3",
491
+ modelOptions: [
492
+ { id: "glm-5.3", label: "GLM 5.3", hasVision: true, recommended: true },
493
+ { id: "glm-5.3-flash", label: "GLM 5.3 Flash", hasVision: true },
494
+ { id: "glm-5-turbo", label: "GLM 5 Turbo" },
495
+ { id: "glm-4.7", label: "GLM 4.7" }
496
+ ],
497
+ commercialKind: "subscription",
498
+ accessVariant: "token_plan_endpoint"
499
+ },
500
+ {
501
+ kind: "api_key_template",
502
+ id: "openai-api",
503
+ label: "OpenAI API",
504
+ provider: "openai",
505
+ baseUrl: "https://api.openai.com/v1",
506
+ defaultModel: "gpt-6-astra",
507
+ commercialKind: "api",
508
+ accessVariant: "metered_key"
509
+ },
510
+ {
511
+ kind: "api_key_template",
512
+ id: "anthropic-api",
513
+ label: "Anthropic API",
514
+ provider: "anthropic",
515
+ baseUrl: "https://api.anthropic.com",
516
+ defaultModel: "claude-sonnet-5",
517
+ apiKeyHeader: "x-api-key",
518
+ commercialKind: "api",
519
+ accessVariant: "metered_key"
520
+ },
521
+ {
522
+ kind: "api_key_template",
523
+ id: "gemini-api",
524
+ label: "Gemini API",
525
+ provider: "google",
526
+ baseUrl: "https://generativelanguage.googleapis.com/v1beta",
527
+ defaultModel: "gemini-3.8-flash",
528
+ apiKeyHeader: "x-goog-api-key",
529
+ commercialKind: "api",
530
+ accessVariant: "metered_key"
531
+ },
532
+ {
533
+ kind: "api_key_template",
534
+ id: "xai-api",
535
+ label: "xAI API",
536
+ provider: "xai",
537
+ baseUrl: "https://api.x.ai/v1",
538
+ defaultModel: "grok-4.6",
539
+ commercialKind: "api",
540
+ accessVariant: "metered_key"
541
+ },
542
+ // DeepSeek 模型统一改走 nolo provider(Ollama Cloud,thinking=max 快 28-49%)。
543
+ // 现按用户选择回归:自带 Key 的 metered 通道与平台托管通道并存,互不影响。
544
+ {
545
+ kind: "api_key_template",
546
+ id: "deepseek-api",
547
+ label: "DeepSeek API \u7528\u91CF\u8BA1\u8D39",
548
+ description: "DeepSeek \u5B98\u65B9 API\uFF08OpenAI \u517C\u5BB9\uFF0C\u6309\u91CF\u8BA1\u8D39\uFF09",
549
+ provider: "deepseek",
550
+ baseUrl: "https://api.deepseek.com/v1",
551
+ defaultModel: "deepseek-v4-pro",
552
+ modelOptions: DEEPSEEK_MODEL_OPTIONS,
553
+ commercialKind: "api",
554
+ accessVariant: "metered_key"
555
+ },
556
+ {
557
+ kind: "api_key_template",
558
+ id: "qwen-api",
559
+ label: "\u5343\u95EE API \u7528\u91CF\u8BA1\u8D39",
560
+ description: "Qwen / DashScope\uFF08OpenAI \u517C\u5BB9\uFF0C\u6309\u91CF\u8BA1\u8D39\uFF09",
561
+ provider: "qwen",
562
+ baseUrl: "https://dashscope.aliyuncs.com/compatible-mode/v1",
563
+ defaultModel: "qwen3-max",
564
+ modelOptions: QWEN_MODEL_OPTIONS,
565
+ commercialKind: "api",
566
+ accessVariant: "metered_key"
567
+ },
568
+ {
569
+ kind: "api_key_template",
570
+ id: "kimi-api",
571
+ label: "Kimi API \u7528\u91CF\u8BA1\u8D39",
572
+ description: "Moonshot \u5F00\u653E\u5E73\u53F0\uFF08Key \u987B\u4E3A\u5F00\u653E\u5E73\u53F0\u751F\u6210\uFF0C\u975E Kimi Code \u63A7\u5236\u53F0 key\uFF09",
573
+ provider: "moonshot",
574
+ baseUrl: "https://api.moonshot.cn/v1",
575
+ defaultModel: "kimi-k3",
576
+ modelOptions: MOONSHOT_MODEL_OPTIONS,
577
+ commercialKind: "api",
578
+ accessVariant: "metered_key"
579
+ },
580
+ {
581
+ kind: "api_key_template",
582
+ id: "stepfun-api",
583
+ label: "\u9636\u8DC3\u661F\u8FB0 API \u7528\u91CF\u8BA1\u8D39",
584
+ description: "\u9636\u8DC3\u661F\u8FB0\u5F00\u653E\u5E73\u53F0\uFF08OpenAI \u517C\u5BB9\uFF0C\u6309\u91CF\u8BA1\u8D39\uFF09",
585
+ provider: "stepfun",
586
+ baseUrl: "https://api.stepfun.com/v1",
587
+ defaultModel: "step-5-preview",
588
+ modelOptions: STEPFUN_MODEL_OPTIONS,
589
+ commercialKind: "api",
590
+ accessVariant: "metered_key"
591
+ },
592
+ {
593
+ kind: "api_key_template",
594
+ id: "minimax-api",
595
+ label: "MiniMax API",
596
+ provider: "minimax",
597
+ baseUrl: "https://api.minimaxi.com/v1",
598
+ defaultModel: "MiniMax-Text-01",
599
+ commercialKind: "api",
600
+ accessVariant: "metered_key"
601
+ }
602
+ ];
603
+ var ALL_PROVIDER_REGISTRY = [
604
+ ...SUBSCRIPTION_OAUTH_PROVIDERS,
605
+ ...CUSTOM_API_KEY_TEMPLATES
606
+ ];
607
+ function findProviderById(id) {
608
+ return ALL_PROVIDER_REGISTRY.find((p) => p.id === id);
609
+ }
610
+ function isSubscriptionOAuthProvider(id) {
611
+ if (!id) return false;
612
+ return SUBSCRIPTION_OAUTH_PROVIDERS.some((p) => p.id === id);
613
+ }
614
+ function isCustomApiKeyTemplate(id) {
615
+ if (!id) return false;
616
+ return CUSTOM_API_KEY_TEMPLATES.some((p) => p.id === id);
617
+ }
618
+
619
+ export {
620
+ SUBSCRIPTION_OAUTH_PROVIDERS,
621
+ CUSTOM_API_KEY_TEMPLATES,
622
+ ALL_PROVIDER_REGISTRY,
623
+ findProviderById,
624
+ isSubscriptionOAuthProvider,
625
+ isCustomApiKeyTemplate
626
+ };