nolo-cli 0.33.0-alpha.9 → 0.34.0-alpha.3
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.
- package/{_executeModel-2WR4RTZZ.js → _executeModel-TMUXL7J5.js} +64 -65
- package/{action-OQWPNKAH.js → action-KMBZ3LCZ.js} +12 -12
- package/{addContentAction-YVINZQTF.js → addContentAction-KQ44UT2U.js} +10 -10
- package/{addDialogAgentAction-6IOCIEPI.js → addDialogAgentAction-ILSDCMYL.js} +9 -9
- package/{agentDeleteCommand-H22WRYC6.js → agentDeleteCommand-KA2IQAPG.js} +40 -39
- package/{agentEmailCommands-DGJVCMCG.js → agentEmailCommands-UIYBGCZW.js} +74 -75
- package/{agentListCommands-6NWMLIMQ.js → agentListCommands-L6JNUOLH.js} +47 -37
- package/{agentMachineCommands-5MUO6RDI.js → agentMachineCommands-5CQW5NZR.js} +37 -36
- package/agentProviderCommands-65ZC2WB4.js +122 -0
- package/{agentPullCommand-YH5GEBK4.js → agentPullCommand-TSWAJPS2.js} +1 -1
- package/agentRecordCommands-VUDJQIZH.js +112 -0
- package/agentRunCommand-EJWYF3BL.js +132 -0
- package/{agentRunControl-SCIVRZWX.js → agentRunControl-7MUPSYDQ.js} +7 -1
- package/{agentRuntimeLocal-PRAR3NCW.js → agentRuntimeLocal-XXBMDMBU.js} +33 -33
- package/{agentSlice-AMDSTXP5.js → agentSlice-HTIEYKIU.js} +12 -12
- package/agentSuperviseCommands-MKWW3ICX.js +640 -0
- package/{appDeleteCommands-L5PKC42V.js → appDeleteCommands-OUBL6VHB.js} +35 -34
- package/{appDeployCommands-3J7Z4XWV.js → appDeployCommands-BZSS2MX4.js} +35 -34
- package/{appDeployStatusCommands-YTRPXE72.js → appDeployStatusCommands-P2ZQOY5X.js} +35 -34
- package/{appGetCommands-JVXV5WXD.js → appGetCommands-WCFWQZZM.js} +35 -34
- package/{appListCommands-7KDEOJSO.js → appListCommands-FVJ3QNL7.js} +35 -34
- package/{authCommand-6Y5LTMZB.js → authCommand-B2XRHNJH.js} +19 -19
- package/{authCommands-EAPFGNHN.js → authCommands-GWABTFMR.js} +6 -6
- package/{chatQueueReduxAdapter-ZKSS6XRV.js → chatQueueReduxAdapter-ZP2ZS63U.js} +28 -28
- package/{chunk-UM4H3URE.js → chunk-23KKIMD5.js} +7 -7
- package/chunk-2BWU4ORW.js +2574 -0
- package/{chunk-2UECQ7RE.js → chunk-3AOLVADY.js} +1 -1
- package/{chunk-M2YMQOLC.js → chunk-4APLX2RT.js} +75 -10
- package/{chunk-ZHYK3N56.js → chunk-4AWH4LQA.js} +3 -1
- package/{chunk-3GZXL6FM.js → chunk-4DMPISV6.js} +7 -3
- package/{chunk-BQ3OHLR5.js → chunk-5GQ6XCJY.js} +1217 -691
- package/{chunk-GOIDVXK5.js → chunk-5LDKQUOT.js} +21 -8
- package/{chunk-OIQPORYI.js → chunk-64KIQZA2.js} +175 -2
- package/{chunk-6XIE5ZGI.js → chunk-6HIGYUBQ.js} +1 -1
- package/chunk-6XG52ZQ6.js +146 -0
- package/{chunk-FMEVI5TG.js → chunk-7CH6U3FL.js} +1 -1
- package/chunk-AA2YUJNV.js +54 -0
- package/{chunk-7INB7NXF.js → chunk-AE5GVFMG.js} +294 -54
- package/{chunk-UNOTBWZZ.js → chunk-B6H5XCT2.js} +8 -8
- package/{chunk-NNWHHCVP.js → chunk-BMB563Y6.js} +10 -4
- package/{chunk-DFUPZE6V.js → chunk-C6ELZQ7H.js} +249 -34
- package/{chunk-7KNERA53.js → chunk-E2OQ5N2F.js} +87 -13
- package/{chunk-6HYVJV7B.js → chunk-ESHYE7WU.js} +2 -1
- package/{chunk-KHCLMKZZ.js → chunk-EY7V7REW.js} +280 -6
- package/{chunk-JZPBVBIY.js → chunk-FD36SCCD.js} +19 -8
- package/{chunk-DKMOY3QI.js → chunk-FGLKRJDI.js} +54 -3
- package/{chunk-MQWVAOIU.js → chunk-FT4XBCK4.js} +33 -158
- package/{chunk-2QTEYCR7.js → chunk-FTM4KUOZ.js} +17 -17
- package/{chunk-U4TRT5V4.js → chunk-GEPHJJW4.js} +1 -1
- package/{chunk-7YYHKBJP.js → chunk-GKHV4UH5.js} +1 -1
- package/{chunk-2IVEXF7P.js → chunk-GUYMR3JL.js} +6 -33
- package/{chunk-YDTYDA5W.js → chunk-GZRMWK5R.js} +6 -4
- package/{chunk-X664KVEV.js → chunk-HHBXCRJS.js} +204 -123
- package/{chunk-AN7DGYMW.js → chunk-I7VDDN45.js} +4579 -3131
- package/{chunk-DSBGWT2C.js → chunk-IEEEWIVO.js} +10 -10
- package/{chunk-75U775RZ.js → chunk-IFS5CUEH.js} +1 -1
- package/{chunk-WLH5BAKX.js → chunk-IIOHYLIG.js} +9 -4
- package/{chunk-UEAUAXYS.js → chunk-ILZY5B4U.js} +2063 -214
- package/chunk-IMHO5LC6.js +370 -0
- package/{chunk-ADLYMQB6.js → chunk-IZCHPD7T.js} +52 -3
- package/{chunk-ITIA6OAQ.js → chunk-IZNJDUJ4.js} +5 -5
- package/{chunk-X2DAEZ3X.js → chunk-J5NMOM35.js} +1 -1
- package/{chunk-RPRRIFXV.js → chunk-JI2TIPLP.js} +1 -1
- package/{chunk-EGRJC4ZN.js → chunk-JIADXJYU.js} +1 -1
- package/{chunk-IHEC7VBF.js → chunk-K4KIFRIN.js} +1 -1
- package/{chunk-WJSW43QZ.js → chunk-L3JWI7WX.js} +0 -1
- package/{chunk-3RUW3ONU.js → chunk-LD6Y6RJY.js} +4 -4
- package/chunk-M3JQWYBC.js +387 -0
- package/{chunk-GM6PU7B6.js → chunk-MEYIRKDN.js} +0 -1
- package/{chunk-6YXDOOSH.js → chunk-MGIHZ5CJ.js} +4 -4
- package/{chunk-4F5M2MW5.js → chunk-MJWX4JQO.js} +2 -2
- package/{chunk-Q5ITEGIN.js → chunk-N4XRDM26.js} +1 -1
- package/{chunk-5CS33IBL.js → chunk-NQ4N4IGO.js} +11 -12
- package/{chunk-ZZ2MH7LE.js → chunk-O6OSWFZQ.js} +0 -1
- package/{chunk-RJKIB55Y.js → chunk-OSCSEJJR.js} +15 -8
- package/{chunk-HUCT7HID.js → chunk-P2I7ELDC.js} +3 -3
- package/{chunk-BXPBZVRE.js → chunk-PILJX4DH.js} +285 -251
- package/{chunk-SCUETSRP.js → chunk-PV734VZX.js} +1 -1
- package/{chunk-XLLTJXAD.js → chunk-QI3CHZUT.js} +39 -2672
- package/{chunk-WNHST4IE.js → chunk-RKRXAL3V.js} +5451 -5013
- package/{chunk-7E72JMBB.js → chunk-SMPAUSX5.js} +46 -5
- package/{chunk-5X4GQ53C.js → chunk-TLBZMLLJ.js} +7 -7
- package/{chunk-ASDXPOJH.js → chunk-U6QQLXWI.js} +1 -1
- package/{chunk-NUO3QFWD.js → chunk-UNHKVD2N.js} +1 -1
- package/{chunk-GE6IWA5N.js → chunk-UNZDCI3O.js} +126 -1
- package/{chunk-CPYYM4RJ.js → chunk-V5GA74HI.js} +19 -5
- package/{chunk-FXFGNOT2.js → chunk-VFVCYIRQ.js} +1 -1
- package/{chunk-G7E4NWFE.js → chunk-W445DPVT.js} +1 -1
- package/{chunk-EMW55KKX.js → chunk-WBZE7C6S.js} +1 -1
- package/{chunk-3UG2IIZ3.js → chunk-WN5AJG5I.js} +1 -1
- package/{chunk-KSRFVP36.js → chunk-WRN7L5CS.js} +1 -1
- package/{chunk-GJXRIOLS.js → chunk-WRP5TTM6.js} +4 -84
- package/chunk-X2K2JSO4.js +163 -0
- package/{chunk-OR2HNLVO.js → chunk-X6EN3KJX.js} +279 -477
- package/{chunk-VWY2CZD2.js → chunk-XMFDQYWA.js} +3 -3
- package/{chunk-IKWTTKWG.js → chunk-XQES6LXQ.js} +2 -2
- package/{chunk-IR6W62Q6.js → chunk-XT73C4VH.js} +18 -21
- package/{chunk-7L5CQQIT.js → chunk-Y5W623XU.js} +15 -15
- package/{chunk-RY57GLGW.js → chunk-YPREESF4.js} +42 -5
- package/{chunk-BQXOGBFN.js → chunk-YZ2WE6CW.js} +2 -2
- package/{chunk-DNQK7M7K.js → chunk-Z7COG62J.js} +4 -4
- package/{chunk-3WXRAHCG.js → chunk-ZBB3MZR3.js} +3 -3
- package/{cliExecutor-DW3PHGEL.js → cliExecutor-BBUVQU4L.js} +2 -2
- package/{clipboardy-MMBYVRLF.js → clipboardy-PRUHGPGC.js} +4 -3
- package/{codingSkills-DY5MINPG.js → codingSkills-6F4EQFCM.js} +4 -5
- package/cooldownCommands-C2SZLEEO.js +90 -0
- package/{createAgentAutomationAction-GVSJL2CI.js → createAgentAutomationAction-TGUXUZCY.js} +28 -30
- package/createDialogAction-FD5AEOUF.js +58 -0
- package/{createPageAction-M2VDKBYS.js → createPageAction-NPC3LYNK.js} +31 -34
- package/{dbSlice-UI2VCBLG.js → dbSlice-PIQGICNM.js} +9 -9
- package/{deleteFile-XQXPBFFB.js → deleteFile-NPZ64DFN.js} +4 -4
- package/{dialogCommands-26DBYNBT.js → dialogCommands-ZF2RSNCG.js} +37 -36
- package/{dialogSlice-FFGLRCBL.js → dialogSlice-6BINHWQT.js} +27 -27
- package/dist-VODFSGNG.js +7442 -0
- package/{docCreateCommands-F2ASWG6B.js → docCreateCommands-4VQ5MOHP.js} +36 -36
- package/{docDeleteCommands-A4URDZPI.js → docDeleteCommands-M7WLNVPB.js} +37 -37
- package/{docReadCommands-DO6VHDZD.js → docReadCommands-6LU6P2WT.js} +36 -36
- package/{docStore-EDAE7RNT.js → docStore-SIUFLABN.js} +29 -31
- package/{docUpdateCommands-ZTXZ3RTP.js → docUpdateCommands-S2LX4ENL.js} +39 -39
- package/{fetchMessages-7QRCCRYK.js → fetchMessages-CUEFN4GQ.js} +4 -4
- package/{getPricing-L2ENXWHV.js → getPricing-P3E2WRIH.js} +5 -5
- package/{handleSendMessageAction-CIRLGHOC.js → handleSendMessageAction-QVG5YNZY.js} +29 -29
- package/index.js +92 -77
- package/{localDialogRead-SLMPV5SK.js → localDialogRead-P7CHFMIC.js} +1 -1
- package/{localRuntimeAuthority-E3R24J4T.js → localRuntimeAuthority-S77B5QVB.js} +6 -2
- package/{localRuntimeDb-DDZCJFQZ.js → localRuntimeDb-N3H3HQ7G.js} +1 -1
- package/{machineCommands-NIQNCYJV.js → machineCommands-OSEBN7BZ.js} +76 -77
- package/{machineInfo-M6KB6HZN.js → machineInfo-66ZFUMLE.js} +1 -1
- package/{machineWsRunDispatch-EMTSQGAR.js → machineWsRunDispatch-NTJQCIIF.js} +68 -69
- package/{models-OX2S5C6Q.js → models-L7S2EKPM.js} +2 -2
- package/package.json +1 -1
- package/{read-2VHEHCAN.js → read-6C2XD3YZ.js} +5 -5
- package/{readDocTool-CSWD6NPC.js → readDocTool-Y7AB365O.js} +1 -1
- package/{readlineWorkspace-A2JBJWLI.js → readlineWorkspace-JPME5S7A.js} +4860 -3476
- package/{removeDialogAgentAction-2T7BPM3T.js → removeDialogAgentAction-KG5WMJRZ.js} +13 -13
- package/{runAgentClientLoop-BV4736ED.js → runAgentClientLoop-SOKEXCUF.js} +61 -61
- package/{runtimeDoctorCommands-KIKM6BIO.js → runtimeDoctorCommands-HT4O2PXL.js} +6 -6
- package/{setDialogExtraReferencesAction-GPT37HTW.js → setDialogExtraReferencesAction-O2NLXMSM.js} +10 -10
- package/{setPrimaryDialogAgentAction-3746P7IW.js → setPrimaryDialogAgentAction-FYYUY7PB.js} +13 -13
- package/{settingSlice-FIFOQ6OR.js → settingSlice-GPLI6E3M.js} +11 -11
- package/{skillDiscovery-KLLKXPUO.js → skillDiscovery-GPUDHDTZ.js} +3 -4
- package/{slateUtils-VO2FU36K.js → slateUtils-RIZES3PV.js} +1 -1
- package/{spaceCommands-AYZQHDB3.js → spaceCommands-Z5JLMFFJ.js} +223 -37
- package/{spaceSlice-43BNF22B.js → spaceSlice-Z3BGCLGX.js} +28 -30
- package/{streamAgentChatTurn-OLLRSITV.js → streamAgentChatTurn-INF5RGK4.js} +115 -129
- package/{switchDialogAgentAction-MQTUTQHL.js → switchDialogAgentAction-GH5P6Q3Z.js} +9 -9
- package/{chunk-IDAU4UFS.js → syncMapping-N6RGXGBW.js} +11 -11
- package/{tableCommands-QE47K72R.js → tableCommands-PQUJ55AS.js} +3 -3
- package/{tools-2SI3FXLL.js → tools-ZELMSJZ3.js} +45 -47
- package/{tuiSummaryLlmCaller-EAWQ3IZX.js → tuiSummaryLlmCaller-LH7F2SP7.js} +18 -18
- package/{updateCommands-AK2RDOFR.js → updateCommands-MNDUIKN7.js} +2 -2
- package/{updateDialogTitleAction-YJEQFYOA.js → updateDialogTitleAction-EDUCIB7G.js} +31 -33
- package/agentRecordCommands-YMGKT2WF.js +0 -113
- package/agentRunCommand-LYEMVQJH.js +0 -131
- package/chunk-AETZ7AD6.js +0 -274
- package/chunk-D5JI6VDM.js +0 -1800
- package/chunk-M3JEW6N6.js +0 -193
- package/chunk-ZURFOV5J.js +0 -105
- package/chunk-ZWS6DUHX.js +0 -480
- package/createDialogAction-VVR46Q2A.js +0 -61
- package/syncMapping-RK2MANUX.js +0 -43
- package/{chunk-KMSZPTM6.js → chunk-2WKUUY2E.js} +3 -3
- package/{chunk-CWMSB67P.js → chunk-AGGIDPCZ.js} +0 -0
- package/{chunk-SAQQLJZ5.js → chunk-JDSUTNYY.js} +3 -3
|
@@ -2,395 +2,32 @@ import {
|
|
|
2
2
|
asTrimmedLowercaseString
|
|
3
3
|
} from "./chunk-QSJ3HFEF.js";
|
|
4
4
|
|
|
5
|
-
// packages/ai/agent/liveAudioModel.ts
|
|
6
|
-
var DEFAULT_GOOGLE_LIVE_AUDIO_MODEL = "gemini-3.1-flash-live-preview";
|
|
7
|
-
|
|
8
|
-
// packages/integrations/google/models.ts
|
|
9
|
-
var GOOGLE_IMAGE_ASPECT_RATIOS = [
|
|
10
|
-
"1:1",
|
|
11
|
-
"2:3",
|
|
12
|
-
"3:2",
|
|
13
|
-
"3:4",
|
|
14
|
-
"4:3",
|
|
15
|
-
"4:5",
|
|
16
|
-
"5:4",
|
|
17
|
-
"9:16",
|
|
18
|
-
"16:9",
|
|
19
|
-
"21:9"
|
|
20
|
-
];
|
|
21
|
-
var GOOGLE_IMAGE_SIZES = ["1K", "2K", "4K"];
|
|
22
|
-
var createGoogleImageModel = ({
|
|
23
|
-
name,
|
|
24
|
-
displayName,
|
|
25
|
-
inputPrice,
|
|
26
|
-
outputPrice,
|
|
27
|
-
imageTokenPricePerMillion,
|
|
28
|
-
imageOutputTokenEstimateBySize,
|
|
29
|
-
pricePerImage,
|
|
30
|
-
maxOutputTokens,
|
|
31
|
-
contextWindow,
|
|
32
|
-
imageGenerationWaitTimeSeconds,
|
|
33
|
-
imageGenerationProfiles
|
|
34
|
-
}) => ({
|
|
35
|
-
name,
|
|
36
|
-
displayName,
|
|
37
|
-
provider: "google",
|
|
38
|
-
hasVision: true,
|
|
39
|
-
hasImageOutput: true,
|
|
40
|
-
supportsImageOutput: true,
|
|
41
|
-
supportsImageConfig: true,
|
|
42
|
-
requiresImageModalities: true,
|
|
43
|
-
defaultModalities: ["image", "text"],
|
|
44
|
-
supportedAspectRatios: GOOGLE_IMAGE_ASPECT_RATIOS,
|
|
45
|
-
supportedImageSizes: GOOGLE_IMAGE_SIZES,
|
|
46
|
-
price: {
|
|
47
|
-
input: inputPrice,
|
|
48
|
-
output: outputPrice
|
|
49
|
-
},
|
|
50
|
-
imageTokenPricePerMillion,
|
|
51
|
-
imageOutputTokenEstimateBySize,
|
|
52
|
-
pricePerImage,
|
|
53
|
-
maxOutputTokens,
|
|
54
|
-
contextWindow,
|
|
55
|
-
imageGenerationWaitTimeSeconds,
|
|
56
|
-
imageGenerationProfiles,
|
|
57
|
-
supportsTool: false
|
|
58
|
-
});
|
|
59
|
-
var googleModels = [
|
|
60
|
-
{
|
|
61
|
-
name: DEFAULT_GOOGLE_LIVE_AUDIO_MODEL,
|
|
62
|
-
displayName: "Gemini 3.1 Flash Live",
|
|
63
|
-
provider: "google",
|
|
64
|
-
description: "Gemini Live API model for low-latency real-time voice conversations.",
|
|
65
|
-
hasVision: true,
|
|
66
|
-
hasAudio: true,
|
|
67
|
-
contextWindow: 1048576,
|
|
68
|
-
maxOutputTokens: 65500,
|
|
69
|
-
supportsTool: true,
|
|
70
|
-
price: {
|
|
71
|
-
input: 0.5 * 7,
|
|
72
|
-
output: 3 * 7,
|
|
73
|
-
cachingWrite: 0.05 * 7,
|
|
74
|
-
cachingRead: 0.05 * 7
|
|
75
|
-
}
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
name: "gemini-3.6-flash",
|
|
79
|
-
displayName: "Gemini 3.6 Flash",
|
|
80
|
-
provider: "google",
|
|
81
|
-
description: "Gemini 3.6 Flash model for fast frontier agentic, coding, and multimodal tasks.",
|
|
82
|
-
hasVision: true,
|
|
83
|
-
hasAudio: true,
|
|
84
|
-
contextWindow: 1048576,
|
|
85
|
-
maxOutputTokens: 65536,
|
|
86
|
-
supportsTool: true,
|
|
87
|
-
supportsReasoningEffort: true,
|
|
88
|
-
// TODO(pricing): gemini-3.6-flash 官方定价未确认,暂沿用 3.5-flash 费率,确认后更新。
|
|
89
|
-
price: {
|
|
90
|
-
input: 1.5 * 7,
|
|
91
|
-
output: 9 * 7,
|
|
92
|
-
cachingWrite: 0.15 * 7,
|
|
93
|
-
cachingRead: 0.15 * 7
|
|
94
|
-
},
|
|
95
|
-
serviceTierPriceMultipliers: {
|
|
96
|
-
batch: { inputOutput: 0.5, cache: 0.5 },
|
|
97
|
-
flex: { inputOutput: 0.5, cache: 0.08 / 0.15 },
|
|
98
|
-
priority: { inputOutput: 1.8, cache: 1.8 }
|
|
99
|
-
}
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
name: "gemini-3.7-flash",
|
|
103
|
-
displayName: "Gemini 3.7 Flash",
|
|
104
|
-
provider: "google",
|
|
105
|
-
description: "Gemini 3.7 Flash model for fast frontier agentic, coding, and multimodal tasks.",
|
|
106
|
-
hasVision: true,
|
|
107
|
-
hasAudio: true,
|
|
108
|
-
contextWindow: 1048576,
|
|
109
|
-
maxOutputTokens: 65536,
|
|
110
|
-
supportsTool: true,
|
|
111
|
-
supportsReasoningEffort: true,
|
|
112
|
-
// Official promo pricing: $0.75/$3.75/$0.075 per 1M through 2026-12-31.
|
|
113
|
-
// Antigravity's subscription wire route is tiered; Gemini API uses this logical id.
|
|
114
|
-
price: {
|
|
115
|
-
input: 0.75 * 7,
|
|
116
|
-
output: 3.75 * 7,
|
|
117
|
-
cachingWrite: 0.075 * 7,
|
|
118
|
-
cachingRead: 0.075 * 7
|
|
119
|
-
}
|
|
120
|
-
},
|
|
121
|
-
createGoogleImageModel({
|
|
122
|
-
name: "gemini-3-pro-image-preview",
|
|
123
|
-
displayName: "Nano Banana Pro (Gemini 3 Pro Image Preview)",
|
|
124
|
-
inputPrice: 2 * 7,
|
|
125
|
-
outputPrice: 12 * 7,
|
|
126
|
-
imageTokenPricePerMillion: 120 * 7,
|
|
127
|
-
imageOutputTokenEstimateBySize: {
|
|
128
|
-
"1K": 1120,
|
|
129
|
-
"2K": 1120,
|
|
130
|
-
"4K": 2e3
|
|
131
|
-
},
|
|
132
|
-
maxOutputTokens: 8192,
|
|
133
|
-
contextWindow: 65536,
|
|
134
|
-
imageGenerationWaitTimeSeconds: {
|
|
135
|
-
min: 25,
|
|
136
|
-
max: 60
|
|
137
|
-
},
|
|
138
|
-
imageGenerationProfiles: [
|
|
139
|
-
{
|
|
140
|
-
key: "speed",
|
|
141
|
-
label: "\u901F\u5EA6\u4F18\u5148",
|
|
142
|
-
imageModel: "gemini-3.1-flash-image-preview",
|
|
143
|
-
waitTimeSeconds: {
|
|
144
|
-
min: 10,
|
|
145
|
-
max: 25
|
|
146
|
-
}
|
|
147
|
-
},
|
|
148
|
-
{
|
|
149
|
-
key: "quality",
|
|
150
|
-
label: "\u8D28\u91CF\u4F18\u5148",
|
|
151
|
-
imageModel: "gemini-3-pro-image-preview",
|
|
152
|
-
waitTimeSeconds: {
|
|
153
|
-
min: 25,
|
|
154
|
-
max: 60
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
]
|
|
158
|
-
}),
|
|
159
|
-
createGoogleImageModel({
|
|
160
|
-
name: "gemini-3.1-flash-image-preview",
|
|
161
|
-
displayName: "Nano Banana 2 (Gemini 3.1 Flash Image Preview)",
|
|
162
|
-
inputPrice: 0.5 * 7,
|
|
163
|
-
outputPrice: 3 * 7,
|
|
164
|
-
imageTokenPricePerMillion: 60 * 7,
|
|
165
|
-
imageOutputTokenEstimateBySize: {
|
|
166
|
-
"1K": 1120,
|
|
167
|
-
"2K": 1680,
|
|
168
|
-
"4K": 2520
|
|
169
|
-
},
|
|
170
|
-
maxOutputTokens: 65536,
|
|
171
|
-
contextWindow: 65536,
|
|
172
|
-
imageGenerationWaitTimeSeconds: {
|
|
173
|
-
min: 10,
|
|
174
|
-
max: 25
|
|
175
|
-
},
|
|
176
|
-
imageGenerationProfiles: [
|
|
177
|
-
{
|
|
178
|
-
key: "speed",
|
|
179
|
-
label: "\u901F\u5EA6\u4F18\u5148",
|
|
180
|
-
imageModel: "gemini-3.1-flash-image-preview",
|
|
181
|
-
waitTimeSeconds: {
|
|
182
|
-
min: 10,
|
|
183
|
-
max: 25
|
|
184
|
-
}
|
|
185
|
-
},
|
|
186
|
-
{
|
|
187
|
-
key: "quality",
|
|
188
|
-
label: "\u8D28\u91CF\u4F18\u5148",
|
|
189
|
-
imageModel: "gemini-3-pro-image-preview",
|
|
190
|
-
waitTimeSeconds: {
|
|
191
|
-
min: 25,
|
|
192
|
-
max: 60
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
]
|
|
196
|
-
}),
|
|
197
|
-
createGoogleImageModel({
|
|
198
|
-
name: "gemini-3.1-flash-lite-image",
|
|
199
|
-
displayName: "Nano Banana 2 Lite (Gemini 3.1 Flash Lite Image)",
|
|
200
|
-
inputPrice: 0.25 * 7,
|
|
201
|
-
outputPrice: 1.5 * 7,
|
|
202
|
-
pricePerImage: 0.034 * 7,
|
|
203
|
-
maxOutputTokens: 65536,
|
|
204
|
-
contextWindow: 65536,
|
|
205
|
-
imageGenerationWaitTimeSeconds: {
|
|
206
|
-
min: 4,
|
|
207
|
-
max: 10
|
|
208
|
-
},
|
|
209
|
-
imageGenerationProfiles: [
|
|
210
|
-
{
|
|
211
|
-
key: "speed",
|
|
212
|
-
label: "\u901F\u5EA6\u4F18\u5148",
|
|
213
|
-
imageModel: "gemini-3.1-flash-lite-image",
|
|
214
|
-
waitTimeSeconds: {
|
|
215
|
-
min: 4,
|
|
216
|
-
max: 10
|
|
217
|
-
}
|
|
218
|
-
},
|
|
219
|
-
{
|
|
220
|
-
key: "quality",
|
|
221
|
-
label: "\u8D28\u91CF\u4F18\u5148",
|
|
222
|
-
imageModel: "gemini-3-pro-image-preview",
|
|
223
|
-
waitTimeSeconds: {
|
|
224
|
-
min: 25,
|
|
225
|
-
max: 60
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
]
|
|
229
|
-
})
|
|
230
|
-
];
|
|
231
|
-
|
|
232
|
-
// packages/integrations/openai/models.ts
|
|
233
|
-
var GPT_5_5_STANDARD_PRICE = {
|
|
234
|
-
input: 5 * 8,
|
|
235
|
-
output: 30 * 8,
|
|
236
|
-
inputCacheHit: 0.5 * 8
|
|
237
|
-
};
|
|
238
|
-
var GPT_5_5_LONG_CONTEXT_PRICE = {
|
|
239
|
-
input: 10 * 8,
|
|
240
|
-
output: 45 * 8,
|
|
241
|
-
inputCacheHit: 1 * 8
|
|
242
|
-
};
|
|
243
|
-
var GPT_5_5_PRO_STANDARD_PRICE = {
|
|
244
|
-
input: 30 * 8,
|
|
245
|
-
output: 180 * 8,
|
|
246
|
-
inputCacheHit: 0
|
|
247
|
-
};
|
|
248
|
-
var GPT_5_5_PRO_LONG_CONTEXT_PRICE = {
|
|
249
|
-
input: 60 * 8,
|
|
250
|
-
output: 270 * 8,
|
|
251
|
-
inputCacheHit: 0
|
|
252
|
-
};
|
|
253
|
-
var GPT_5_6_SOL_STANDARD_PRICE = {
|
|
254
|
-
input: 5 * 8,
|
|
255
|
-
output: 30 * 8,
|
|
256
|
-
inputCacheHit: 0.5 * 8
|
|
257
|
-
};
|
|
258
|
-
var GPT_5_6_SOL_LONG_CONTEXT_PRICE = {
|
|
259
|
-
input: 10 * 8,
|
|
260
|
-
output: 45 * 8,
|
|
261
|
-
inputCacheHit: 1 * 8
|
|
262
|
-
};
|
|
263
|
-
var GPT_5_6_TERRA_STANDARD_PRICE = {
|
|
264
|
-
input: 2 * 8,
|
|
265
|
-
output: 12 * 8,
|
|
266
|
-
inputCacheHit: 0.2 * 8
|
|
267
|
-
};
|
|
268
|
-
var GPT_5_6_TERRA_LONG_CONTEXT_PRICE = {
|
|
269
|
-
input: 4 * 8,
|
|
270
|
-
output: 18 * 8,
|
|
271
|
-
inputCacheHit: 0.4 * 8
|
|
272
|
-
};
|
|
273
|
-
var GPT_5_6_LUNA_PRICE = {
|
|
274
|
-
input: 0.2 * 8,
|
|
275
|
-
output: 1.2 * 8,
|
|
276
|
-
inputCacheHit: 0.02 * 8
|
|
277
|
-
};
|
|
278
|
-
var openAIModels = [
|
|
279
|
-
{
|
|
280
|
-
name: "gpt-5.5",
|
|
281
|
-
displayName: "GPT-5.5 Standard",
|
|
282
|
-
endpointKey: "responses",
|
|
283
|
-
hasVision: true,
|
|
284
|
-
contextWindow: 1047576,
|
|
285
|
-
maxOutputTokens: 128e3,
|
|
286
|
-
supportsReasoningEffort: true,
|
|
287
|
-
price: GPT_5_5_STANDARD_PRICE,
|
|
288
|
-
pricingStrategy: {
|
|
289
|
-
type: "tiered_context",
|
|
290
|
-
tiers: [
|
|
291
|
-
{
|
|
292
|
-
minContext: 272001,
|
|
293
|
-
price: GPT_5_5_LONG_CONTEXT_PRICE
|
|
294
|
-
}
|
|
295
|
-
]
|
|
296
|
-
}
|
|
297
|
-
},
|
|
298
|
-
{
|
|
299
|
-
name: "gpt-5.6-sol",
|
|
300
|
-
displayName: "GPT-5.6 Sol (Flagship)",
|
|
301
|
-
endpointKey: "responses",
|
|
302
|
-
hasVision: true,
|
|
303
|
-
contextWindow: 105e4,
|
|
304
|
-
maxOutputTokens: 128e3,
|
|
305
|
-
supportsReasoningEffort: true,
|
|
306
|
-
price: GPT_5_6_SOL_STANDARD_PRICE,
|
|
307
|
-
pricingStrategy: {
|
|
308
|
-
type: "tiered_context",
|
|
309
|
-
tiers: [
|
|
310
|
-
{
|
|
311
|
-
minContext: 272001,
|
|
312
|
-
price: GPT_5_6_SOL_LONG_CONTEXT_PRICE
|
|
313
|
-
}
|
|
314
|
-
]
|
|
315
|
-
}
|
|
316
|
-
},
|
|
317
|
-
{
|
|
318
|
-
name: "gpt-5.6-terra",
|
|
319
|
-
displayName: "GPT-5.6 Terra (Balanced)",
|
|
320
|
-
endpointKey: "responses",
|
|
321
|
-
hasVision: true,
|
|
322
|
-
contextWindow: 105e4,
|
|
323
|
-
maxOutputTokens: 128e3,
|
|
324
|
-
supportsReasoningEffort: true,
|
|
325
|
-
price: GPT_5_6_TERRA_STANDARD_PRICE,
|
|
326
|
-
pricingStrategy: {
|
|
327
|
-
type: "tiered_context",
|
|
328
|
-
tiers: [
|
|
329
|
-
{
|
|
330
|
-
minContext: 272001,
|
|
331
|
-
price: GPT_5_6_TERRA_LONG_CONTEXT_PRICE
|
|
332
|
-
}
|
|
333
|
-
]
|
|
334
|
-
}
|
|
335
|
-
},
|
|
336
|
-
{
|
|
337
|
-
name: "gpt-5.6-luna",
|
|
338
|
-
displayName: "GPT-5.6 Luna (Fast)",
|
|
339
|
-
endpointKey: "responses",
|
|
340
|
-
hasVision: true,
|
|
341
|
-
contextWindow: 105e4,
|
|
342
|
-
maxOutputTokens: 128e3,
|
|
343
|
-
supportsReasoningEffort: true,
|
|
344
|
-
price: GPT_5_6_LUNA_PRICE
|
|
345
|
-
},
|
|
346
|
-
{
|
|
347
|
-
name: "gpt-5.5-pro",
|
|
348
|
-
displayName: "GPT-5.5 Pro",
|
|
349
|
-
endpointKey: "responses",
|
|
350
|
-
hasVision: true,
|
|
351
|
-
contextWindow: 1047576,
|
|
352
|
-
maxOutputTokens: 128e3,
|
|
353
|
-
supportsReasoningEffort: true,
|
|
354
|
-
price: GPT_5_5_PRO_STANDARD_PRICE,
|
|
355
|
-
pricingStrategy: {
|
|
356
|
-
type: "tiered_context",
|
|
357
|
-
tiers: [
|
|
358
|
-
{
|
|
359
|
-
minContext: 272001,
|
|
360
|
-
price: GPT_5_5_PRO_LONG_CONTEXT_PRICE
|
|
361
|
-
}
|
|
362
|
-
]
|
|
363
|
-
}
|
|
364
|
-
},
|
|
365
|
-
{
|
|
366
|
-
name: "gpt-image-2",
|
|
367
|
-
displayName: "GPT Image 2",
|
|
368
|
-
endpointKey: "responses",
|
|
369
|
-
hasVision: true,
|
|
370
|
-
hasImageOutput: true,
|
|
371
|
-
supportsImageOutput: true,
|
|
372
|
-
supportsTool: false,
|
|
373
|
-
contextWindow: 128e3,
|
|
374
|
-
maxOutputTokens: 32768,
|
|
375
|
-
price: { input: 5 * 8, output: 0, inputCacheHit: 1.25 * 8 },
|
|
376
|
-
pricePerImage: void 0,
|
|
377
|
-
// Dynamic cost via imageTokenPricePerMillion and quality/size
|
|
378
|
-
imageTokenPricePerMillion: 30 * 8,
|
|
379
|
-
// $30.00 per 1M output tokens
|
|
380
|
-
// Official GPT Image 2 output estimates from the OpenAI image guide:
|
|
381
|
-
// low/medium/high cost by size divided by $30 per 1M output tokens.
|
|
382
|
-
imageOutputTokenEstimateBySize: {
|
|
383
|
-
"1K": { low: 200, medium: 1766, high: 7033 },
|
|
384
|
-
"2K": { low: 166, medium: 1366, high: 5500 },
|
|
385
|
-
"4K": { low: 166, medium: 1366, high: 5500 }
|
|
386
|
-
}
|
|
387
|
-
}
|
|
388
|
-
];
|
|
389
|
-
|
|
390
5
|
// packages/ai/llm/openrouterModels.ts
|
|
391
6
|
var OPENROUTER_MODELS = [];
|
|
392
7
|
var openrouterModels = OPENROUTER_MODELS;
|
|
393
8
|
|
|
9
|
+
// packages/ai/llm/kimi.ts
|
|
10
|
+
var PLATFORM_HOSTED_KIMI_K3_MODEL = "kimi-k3";
|
|
11
|
+
var PLATFORM_HOSTED_KIMI_K26_MODEL = "kimi-k2.6";
|
|
12
|
+
var PLATFORM_HOSTED_KIMI_PROVIDER = "nolo";
|
|
13
|
+
var LEGACY_OLLAMA_CLOUD_PROVIDER = "ollama-cloud";
|
|
14
|
+
var isNoloHostedProvider = (provider) => {
|
|
15
|
+
const normalized = asTrimmedLowercaseString(provider);
|
|
16
|
+
return normalized === PLATFORM_HOSTED_KIMI_PROVIDER || normalized === LEGACY_OLLAMA_CLOUD_PROVIDER;
|
|
17
|
+
};
|
|
18
|
+
var FIREWORKS_KIMI_LATEST_MODEL = "accounts/fireworks/models/kimi-latest";
|
|
19
|
+
var FIREWORKS_KIMI_CURRENT_MODEL = "accounts/fireworks/models/kimi-k2p7-code";
|
|
20
|
+
var FIREWORKS_KIMI_K2P6_MODEL = "accounts/fireworks/models/kimi-k2p6";
|
|
21
|
+
var DEEPINFRA_KIMI_FALLBACK_MODEL = "moonshotai/Kimi-K2.6";
|
|
22
|
+
var isFireworksKimiModel = (model) => model === FIREWORKS_KIMI_LATEST_MODEL || model === FIREWORKS_KIMI_CURRENT_MODEL || model === FIREWORKS_KIMI_K2P6_MODEL;
|
|
23
|
+
var isDeepInfraKimiModel = (model) => model === DEEPINFRA_KIMI_FALLBACK_MODEL;
|
|
24
|
+
var resolveFireworksKimiModel = (model) => {
|
|
25
|
+
if (model === FIREWORKS_KIMI_LATEST_MODEL) {
|
|
26
|
+
return FIREWORKS_KIMI_CURRENT_MODEL;
|
|
27
|
+
}
|
|
28
|
+
return model ?? "";
|
|
29
|
+
};
|
|
30
|
+
|
|
394
31
|
// packages/ai/llm/deepinfra.ts
|
|
395
32
|
var DEEPINFRA_CLAUDE_HAIKU_PRICE = {
|
|
396
33
|
input: 1 * 9,
|
|
@@ -401,12 +38,12 @@ var DEEPINFRA_CLAUDE_SONNET_PRICE = {
|
|
|
401
38
|
output: 15 * 9
|
|
402
39
|
};
|
|
403
40
|
var DEEPINFRA_CLAUDE_OPUS_PRICE = {
|
|
404
|
-
input: 5 *
|
|
405
|
-
output: 25 *
|
|
41
|
+
input: 5 * 9,
|
|
42
|
+
output: 25 * 9
|
|
406
43
|
};
|
|
407
44
|
var DEEPINFRA_CLAUDE_FABLE_PRICE = {
|
|
408
|
-
input: 10 *
|
|
409
|
-
output: 50 *
|
|
45
|
+
input: 10 * 9,
|
|
46
|
+
output: 50 * 9
|
|
410
47
|
};
|
|
411
48
|
var deepinfraModels = [
|
|
412
49
|
{
|
|
@@ -447,58 +84,6 @@ var deepinfraModels = [
|
|
|
447
84
|
}
|
|
448
85
|
];
|
|
449
86
|
|
|
450
|
-
// packages/integrations/xai/models.ts
|
|
451
|
-
var xaiModels = [
|
|
452
|
-
{
|
|
453
|
-
name: "grok-4.6",
|
|
454
|
-
displayName: "Grok 4.6",
|
|
455
|
-
hasVision: true,
|
|
456
|
-
contextWindow: 5e5,
|
|
457
|
-
// 价格沿用 grok-4.5 报价($2/$6 ×7),换代后待 live 验证再校准。
|
|
458
|
-
price: { input: 2 * 7, output: 6 * 7 },
|
|
459
|
-
fnCall: true,
|
|
460
|
-
jsonOutput: true
|
|
461
|
-
}
|
|
462
|
-
];
|
|
463
|
-
|
|
464
|
-
// packages/ai/llm/fireworks.ts
|
|
465
|
-
var fireworksModels = [
|
|
466
|
-
{
|
|
467
|
-
name: "accounts/fireworks/models/minimax-m3",
|
|
468
|
-
displayName: "MiniMax: MiniMax M3",
|
|
469
|
-
hasVision: true,
|
|
470
|
-
price: {
|
|
471
|
-
input: 0.3 * 8,
|
|
472
|
-
output: 1.2 * 8,
|
|
473
|
-
cachingRead: 0.06 * 8
|
|
474
|
-
},
|
|
475
|
-
contextWindow: 512e3,
|
|
476
|
-
supportsTool: true
|
|
477
|
-
}
|
|
478
|
-
];
|
|
479
|
-
|
|
480
|
-
// packages/ai/llm/kimi.ts
|
|
481
|
-
var PLATFORM_HOSTED_KIMI_K3_MODEL = "kimi-k3";
|
|
482
|
-
var PLATFORM_HOSTED_KIMI_K26_MODEL = "kimi-k2.6";
|
|
483
|
-
var PLATFORM_HOSTED_KIMI_PROVIDER = "nolo";
|
|
484
|
-
var LEGACY_OLLAMA_CLOUD_PROVIDER = "ollama-cloud";
|
|
485
|
-
var isNoloHostedProvider = (provider) => {
|
|
486
|
-
const normalized = asTrimmedLowercaseString(provider);
|
|
487
|
-
return normalized === PLATFORM_HOSTED_KIMI_PROVIDER || normalized === LEGACY_OLLAMA_CLOUD_PROVIDER;
|
|
488
|
-
};
|
|
489
|
-
var FIREWORKS_KIMI_LATEST_MODEL = "accounts/fireworks/models/kimi-latest";
|
|
490
|
-
var FIREWORKS_KIMI_CURRENT_MODEL = "accounts/fireworks/models/kimi-k2p7-code";
|
|
491
|
-
var FIREWORKS_KIMI_K2P6_MODEL = "accounts/fireworks/models/kimi-k2p6";
|
|
492
|
-
var DEEPINFRA_KIMI_FALLBACK_MODEL = "moonshotai/Kimi-K2.6";
|
|
493
|
-
var isFireworksKimiModel = (model) => model === FIREWORKS_KIMI_LATEST_MODEL || model === FIREWORKS_KIMI_CURRENT_MODEL || model === FIREWORKS_KIMI_K2P6_MODEL;
|
|
494
|
-
var isDeepInfraKimiModel = (model) => model === DEEPINFRA_KIMI_FALLBACK_MODEL;
|
|
495
|
-
var resolveFireworksKimiModel = (model) => {
|
|
496
|
-
if (model === FIREWORKS_KIMI_LATEST_MODEL) {
|
|
497
|
-
return FIREWORKS_KIMI_CURRENT_MODEL;
|
|
498
|
-
}
|
|
499
|
-
return model ?? "";
|
|
500
|
-
};
|
|
501
|
-
|
|
502
87
|
// packages/ai/llm/platformHosted.ts
|
|
503
88
|
var PLATFORM_HOSTED_CLAUDE_SONNET_5_MODEL = "anthropic/claude-sonnet-5";
|
|
504
89
|
var PLATFORM_HOSTED_CLAUDE_OPUS_5_MODEL = "anthropic/claude-opus-5";
|
|
@@ -513,6 +98,8 @@ var isPlatformHostedClaudeModel = (model) => PLATFORM_HOSTED_CLAUDE_MODELS.some(
|
|
|
513
98
|
);
|
|
514
99
|
var PLATFORM_CREDITS_PER_USD = 8;
|
|
515
100
|
var toPlatformCredits = (usdPerMillion) => Number((usdPerMillion * PLATFORM_CREDITS_PER_USD).toFixed(6));
|
|
101
|
+
var CNY_UPSTREAM_MULTIPLIER = 1.2;
|
|
102
|
+
var toCnyCredits = (cnyPerMillion) => Number((cnyPerMillion * CNY_UPSTREAM_MULTIPLIER).toFixed(6));
|
|
516
103
|
var PLATFORM_HOSTED_GROK_4_6_MODEL = "grok-4.6";
|
|
517
104
|
var isPlatformHostedGrokModel = (model) => asTrimmedLowercaseString(model) === PLATFORM_HOSTED_GROK_4_6_MODEL;
|
|
518
105
|
var PLATFORM_HOSTED_GROK_PRICE = {
|
|
@@ -531,15 +118,12 @@ var PLATFORM_HOSTED_KIMI_PRICE = {
|
|
|
531
118
|
inputCacheHit: toPlatformCredits(0.04),
|
|
532
119
|
// 0.32 credits
|
|
533
120
|
output: toPlatformCredits(3)
|
|
534
|
-
// 24.0 credits (
|
|
121
|
+
// 24.0 credits (24 = 24)
|
|
535
122
|
};
|
|
536
123
|
var PLATFORM_HOSTED_KIMI_K3_PRICE = {
|
|
537
124
|
input: 16,
|
|
538
|
-
// crof $2 × 8
|
|
539
125
|
inputCacheHit: 2,
|
|
540
|
-
// crof $0.25 × 8
|
|
541
126
|
output: 64
|
|
542
|
-
// crof $8 × 8
|
|
543
127
|
};
|
|
544
128
|
var PLATFORM_HOSTED_GLM_53_MODEL = "glm-5.3";
|
|
545
129
|
var PLATFORM_HOSTED_GLM_52_MODEL = "glm-5.2";
|
|
@@ -548,53 +132,132 @@ var isPlatformHostedGlmModel = (model) => {
|
|
|
548
132
|
return m === PLATFORM_HOSTED_GLM_53_MODEL || m === PLATFORM_HOSTED_GLM_52_MODEL;
|
|
549
133
|
};
|
|
550
134
|
var PLATFORM_HOSTED_GLM_PRICE = {
|
|
551
|
-
input:
|
|
135
|
+
input: 7.84,
|
|
552
136
|
// 11.2 credits
|
|
553
|
-
inputCacheHit:
|
|
137
|
+
inputCacheHit: 1.456,
|
|
554
138
|
// 2.08 credits
|
|
555
|
-
output:
|
|
556
|
-
// 35.2 credits (
|
|
139
|
+
output: 24.64
|
|
140
|
+
// 35.2 credits (35.2 = 35.2)
|
|
141
|
+
};
|
|
142
|
+
var PLATFORM_HOSTED_GLM_53_FLASH_MODEL = "glm-5-3-flash";
|
|
143
|
+
var PLATFORM_HOSTED_GLM_53_FLASH_PRICE = {
|
|
144
|
+
input: toPlatformCredits(0.1),
|
|
145
|
+
// 0.8 credits
|
|
146
|
+
inputCacheHit: toPlatformCredits(0.01),
|
|
147
|
+
// 0.08 credits
|
|
148
|
+
output: toPlatformCredits(0.4)
|
|
149
|
+
// 3.2 credits
|
|
150
|
+
};
|
|
151
|
+
var isPlatformHostedGlm53FlashModel = (model) => {
|
|
152
|
+
const m = asTrimmedLowercaseString(model);
|
|
153
|
+
return m === PLATFORM_HOSTED_GLM_53_FLASH_MODEL || m === "glm-5.3-flash";
|
|
557
154
|
};
|
|
558
155
|
var PLATFORM_HOSTED_GEMINI_37_FLASH_MODEL = "gemini-3.7-flash";
|
|
559
156
|
var PLATFORM_HOSTED_GEMINI_37_FLASH_PRICE = {
|
|
560
|
-
input:
|
|
157
|
+
input: 4.2,
|
|
561
158
|
// 6.0 credits
|
|
562
|
-
output:
|
|
159
|
+
output: 21,
|
|
563
160
|
// 30.0 credits
|
|
564
|
-
cachingWrite:
|
|
161
|
+
cachingWrite: 0.42,
|
|
565
162
|
// 0.6 credits
|
|
566
|
-
cachingRead:
|
|
163
|
+
cachingRead: 0.42
|
|
567
164
|
// 0.6 credits
|
|
568
165
|
};
|
|
569
166
|
var isPlatformHostedGeminiModel = (model) => asTrimmedLowercaseString(model) === PLATFORM_HOSTED_GEMINI_37_FLASH_MODEL;
|
|
570
|
-
var
|
|
571
|
-
var
|
|
167
|
+
var PLATFORM_HOSTED_OPENAI_IMAGE_MODEL = "gpt-image-2";
|
|
168
|
+
var isPlatformHostedOpenAIImageModel = (model) => asTrimmedLowercaseString(model) === PLATFORM_HOSTED_OPENAI_IMAGE_MODEL;
|
|
169
|
+
var PLATFORM_HOSTED_GEMINI_FLASH_LITE_IMAGE_MODEL = "gemini-3.1-flash-lite-image";
|
|
170
|
+
var PLATFORM_HOSTED_GEMINI_FLASH_IMAGE_MODEL = "gemini-3.1-flash-image-preview";
|
|
171
|
+
var PLATFORM_HOSTED_GEMINI_PRO_IMAGE_MODEL = "gemini-3-pro-image-preview";
|
|
172
|
+
var PLATFORM_HOSTED_GEMINI_IMAGE_MODELS = [
|
|
173
|
+
PLATFORM_HOSTED_GEMINI_FLASH_LITE_IMAGE_MODEL,
|
|
174
|
+
PLATFORM_HOSTED_GEMINI_FLASH_IMAGE_MODEL,
|
|
175
|
+
PLATFORM_HOSTED_GEMINI_PRO_IMAGE_MODEL
|
|
176
|
+
];
|
|
177
|
+
var isPlatformHostedGeminiImageModel = (model) => PLATFORM_HOSTED_GEMINI_IMAGE_MODELS.some(
|
|
178
|
+
(m) => asTrimmedLowercaseString(model) === m
|
|
179
|
+
);
|
|
180
|
+
var isPlatformHostedImageModel = (model) => isPlatformHostedOpenAIImageModel(model) || isPlatformHostedGeminiImageModel(model);
|
|
181
|
+
var PLATFORM_HOSTED_IMAGE_ASPECT_RATIOS = ["1:1", "2:3", "3:2", "3:4", "4:3", "4:5", "5:4", "9:16", "16:9", "21:9"];
|
|
182
|
+
var PLATFORM_HOSTED_IMAGE_SIZES = ["1K", "2K", "4K"];
|
|
183
|
+
var createPlatformHostedGeminiImageModel = ({
|
|
184
|
+
name,
|
|
185
|
+
displayName,
|
|
186
|
+
inputPrice,
|
|
187
|
+
outputPrice,
|
|
188
|
+
imageTokenPricePerMillion,
|
|
189
|
+
imageOutputTokenEstimateBySize,
|
|
190
|
+
pricePerImage,
|
|
191
|
+
maxOutputTokens,
|
|
192
|
+
contextWindow,
|
|
193
|
+
imageGenerationWaitTimeSeconds,
|
|
194
|
+
imageGenerationProfiles
|
|
195
|
+
}) => ({
|
|
196
|
+
name,
|
|
197
|
+
displayName,
|
|
198
|
+
hasVision: true,
|
|
199
|
+
hasImageOutput: true,
|
|
200
|
+
supportsImageOutput: true,
|
|
201
|
+
supportsImageConfig: true,
|
|
202
|
+
requiresImageModalities: true,
|
|
203
|
+
defaultModalities: ["image", "text"],
|
|
204
|
+
supportedAspectRatios: PLATFORM_HOSTED_IMAGE_ASPECT_RATIOS,
|
|
205
|
+
supportedImageSizes: PLATFORM_HOSTED_IMAGE_SIZES,
|
|
206
|
+
price: {
|
|
207
|
+
input: inputPrice,
|
|
208
|
+
output: outputPrice
|
|
209
|
+
},
|
|
210
|
+
imageTokenPricePerMillion,
|
|
211
|
+
imageOutputTokenEstimateBySize,
|
|
212
|
+
pricePerImage,
|
|
213
|
+
maxOutputTokens,
|
|
214
|
+
contextWindow,
|
|
215
|
+
imageGenerationWaitTimeSeconds,
|
|
216
|
+
imageGenerationProfiles,
|
|
217
|
+
supportsTool: false
|
|
218
|
+
});
|
|
572
219
|
var PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL = "deepseek-v4-flash";
|
|
573
220
|
var PLATFORM_HOSTED_DEEPSEEK_FLASH_VISION_EXP_MODEL = "deepseek-v4-flash-vision-exp";
|
|
574
221
|
var PLATFORM_HOSTED_DEEPSEEK_PRO_MODEL = "deepseek-v4-pro";
|
|
575
222
|
var PLATFORM_HOSTED_DEEPSEEK_FLASH_PEAK_PRICE = {
|
|
576
|
-
input: 3,
|
|
577
|
-
|
|
578
|
-
|
|
223
|
+
input: toCnyCredits(3),
|
|
224
|
+
// ¥3
|
|
225
|
+
inputCacheHit: toCnyCredits(0.1),
|
|
226
|
+
// ¥0.1
|
|
227
|
+
output: toCnyCredits(9)
|
|
228
|
+
// ¥9
|
|
579
229
|
};
|
|
580
230
|
var PLATFORM_HOSTED_DEEPSEEK_PRO_PEAK_PRICE = {
|
|
581
|
-
input: 9,
|
|
582
|
-
|
|
583
|
-
|
|
231
|
+
input: toCnyCredits(9),
|
|
232
|
+
// ¥9
|
|
233
|
+
inputCacheHit: toCnyCredits(0.3),
|
|
234
|
+
// ¥0.3
|
|
235
|
+
output: toCnyCredits(27)
|
|
236
|
+
// ¥27
|
|
584
237
|
};
|
|
585
238
|
var PLATFORM_HOSTED_DEEPSEEK_FLASH_OFF_PEAK_PRICE = {
|
|
586
|
-
input: 1.5,
|
|
587
|
-
|
|
588
|
-
|
|
239
|
+
input: toCnyCredits(1.5),
|
|
240
|
+
// ¥1.5
|
|
241
|
+
inputCacheHit: toCnyCredits(0.05),
|
|
242
|
+
// ¥0.05
|
|
243
|
+
output: toCnyCredits(4.5)
|
|
244
|
+
// ¥4.5
|
|
589
245
|
};
|
|
590
246
|
var PLATFORM_HOSTED_DEEPSEEK_PRO_OFF_PEAK_PRICE = {
|
|
591
|
-
input: 4.5,
|
|
592
|
-
|
|
593
|
-
|
|
247
|
+
input: toCnyCredits(4.5),
|
|
248
|
+
// ¥4.5
|
|
249
|
+
inputCacheHit: toCnyCredits(0.15),
|
|
250
|
+
// ¥0.15
|
|
251
|
+
output: toCnyCredits(13.5)
|
|
252
|
+
// ¥13.5
|
|
594
253
|
};
|
|
595
254
|
var isDeepSeekOffPeakBeijingTime = (nowMs = Date.now()) => {
|
|
596
|
-
const
|
|
597
|
-
|
|
255
|
+
const beijing = new Date(nowMs + 8 * 60 * 60 * 1e3);
|
|
256
|
+
const beijingDay = beijing.getUTCDay();
|
|
257
|
+
const beijingHour = beijing.getUTCHours();
|
|
258
|
+
if (beijingDay === 0 || beijingDay === 6) return true;
|
|
259
|
+
const isPeakWindow = beijingHour >= 9 && beijingHour < 12 || beijingHour >= 14 && beijingHour < 18;
|
|
260
|
+
return !isPeakWindow;
|
|
598
261
|
};
|
|
599
262
|
var getPlatformHostedDeepSeekV4Price = (model, nowMs = Date.now()) => {
|
|
600
263
|
const isOffPeak = isDeepSeekOffPeakBeijingTime(nowMs);
|
|
@@ -628,7 +291,7 @@ var platformHostedModels = [
|
|
|
628
291
|
{
|
|
629
292
|
name: PLATFORM_HOSTED_GLM_53_MODEL,
|
|
630
293
|
displayName: "GLM 5.3",
|
|
631
|
-
hasVision:
|
|
294
|
+
hasVision: true,
|
|
632
295
|
price: { ...PLATFORM_HOSTED_GLM_PRICE },
|
|
633
296
|
maxOutputTokens: 131072,
|
|
634
297
|
contextWindow: 105e4,
|
|
@@ -681,6 +344,16 @@ var platformHostedModels = [
|
|
|
681
344
|
supportsTool: true,
|
|
682
345
|
supportsReasoningEffort: true
|
|
683
346
|
},
|
|
347
|
+
{
|
|
348
|
+
name: PLATFORM_HOSTED_GLM_53_FLASH_MODEL,
|
|
349
|
+
displayName: "GLM 5.3 Flash",
|
|
350
|
+
hasVision: true,
|
|
351
|
+
price: { ...PLATFORM_HOSTED_GLM_53_FLASH_PRICE },
|
|
352
|
+
maxOutputTokens: 98304,
|
|
353
|
+
contextWindow: 1048576,
|
|
354
|
+
supportsTool: true,
|
|
355
|
+
supportsReasoningEffort: false
|
|
356
|
+
},
|
|
684
357
|
{
|
|
685
358
|
name: PLATFORM_HOSTED_CLAUDE_SONNET_5_MODEL,
|
|
686
359
|
displayName: "Claude Sonnet 5",
|
|
@@ -716,7 +389,137 @@ var platformHostedModels = [
|
|
|
716
389
|
maxOutputTokens: 1e5,
|
|
717
390
|
contextWindow: 5e5,
|
|
718
391
|
supportsTool: true
|
|
719
|
-
}
|
|
392
|
+
},
|
|
393
|
+
{
|
|
394
|
+
name: PLATFORM_HOSTED_OPENAI_IMAGE_MODEL,
|
|
395
|
+
displayName: "GPT Image 2",
|
|
396
|
+
endpointKey: "responses",
|
|
397
|
+
hasVision: true,
|
|
398
|
+
hasImageOutput: true,
|
|
399
|
+
supportsImageOutput: true,
|
|
400
|
+
supportsTool: false,
|
|
401
|
+
contextWindow: 128e3,
|
|
402
|
+
maxOutputTokens: 32768,
|
|
403
|
+
price: { input: 40, output: 0, inputCacheHit: 10 },
|
|
404
|
+
pricePerImage: void 0,
|
|
405
|
+
// Dynamic cost via imageTokenPricePerMillion and quality/size
|
|
406
|
+
imageTokenPricePerMillion: 240,
|
|
407
|
+
// Official GPT Image 2 output estimates from the OpenAI image guide:
|
|
408
|
+
imageOutputTokenEstimateBySize: {
|
|
409
|
+
"1K": { low: 200, medium: 1766, high: 7033 },
|
|
410
|
+
"2K": { low: 166, medium: 1366, high: 5500 },
|
|
411
|
+
"4K": { low: 166, medium: 1366, high: 5500 }
|
|
412
|
+
}
|
|
413
|
+
},
|
|
414
|
+
createPlatformHostedGeminiImageModel({
|
|
415
|
+
name: PLATFORM_HOSTED_GEMINI_PRO_IMAGE_MODEL,
|
|
416
|
+
displayName: "Nano Banana Pro (Gemini 3 Pro Image Preview)",
|
|
417
|
+
inputPrice: 16,
|
|
418
|
+
outputPrice: 96,
|
|
419
|
+
imageTokenPricePerMillion: 960,
|
|
420
|
+
imageOutputTokenEstimateBySize: {
|
|
421
|
+
"1K": 1120,
|
|
422
|
+
"2K": 1120,
|
|
423
|
+
"4K": 2e3
|
|
424
|
+
},
|
|
425
|
+
maxOutputTokens: 8192,
|
|
426
|
+
contextWindow: 65536,
|
|
427
|
+
imageGenerationWaitTimeSeconds: {
|
|
428
|
+
min: 25,
|
|
429
|
+
max: 60
|
|
430
|
+
},
|
|
431
|
+
imageGenerationProfiles: [
|
|
432
|
+
{
|
|
433
|
+
key: "speed",
|
|
434
|
+
label: "\u901F\u5EA6\u4F18\u5148",
|
|
435
|
+
imageModel: "gemini-3.1-flash-image-preview",
|
|
436
|
+
waitTimeSeconds: {
|
|
437
|
+
min: 10,
|
|
438
|
+
max: 25
|
|
439
|
+
}
|
|
440
|
+
},
|
|
441
|
+
{
|
|
442
|
+
key: "quality",
|
|
443
|
+
label: "\u8D28\u91CF\u4F18\u5148",
|
|
444
|
+
imageModel: "gemini-3-pro-image-preview",
|
|
445
|
+
waitTimeSeconds: {
|
|
446
|
+
min: 25,
|
|
447
|
+
max: 60
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
]
|
|
451
|
+
}),
|
|
452
|
+
createPlatformHostedGeminiImageModel({
|
|
453
|
+
name: PLATFORM_HOSTED_GEMINI_FLASH_IMAGE_MODEL,
|
|
454
|
+
displayName: "Nano Banana 2 (Gemini 3.1 Flash Image Preview)",
|
|
455
|
+
inputPrice: 4,
|
|
456
|
+
outputPrice: 24,
|
|
457
|
+
imageTokenPricePerMillion: 480,
|
|
458
|
+
imageOutputTokenEstimateBySize: {
|
|
459
|
+
"1K": 1120,
|
|
460
|
+
"2K": 1680,
|
|
461
|
+
"4K": 2520
|
|
462
|
+
},
|
|
463
|
+
maxOutputTokens: 65536,
|
|
464
|
+
contextWindow: 65536,
|
|
465
|
+
imageGenerationWaitTimeSeconds: {
|
|
466
|
+
min: 10,
|
|
467
|
+
max: 25
|
|
468
|
+
},
|
|
469
|
+
imageGenerationProfiles: [
|
|
470
|
+
{
|
|
471
|
+
key: "speed",
|
|
472
|
+
label: "\u901F\u5EA6\u4F18\u5148",
|
|
473
|
+
imageModel: "gemini-3.1-flash-image-preview",
|
|
474
|
+
waitTimeSeconds: {
|
|
475
|
+
min: 10,
|
|
476
|
+
max: 25
|
|
477
|
+
}
|
|
478
|
+
},
|
|
479
|
+
{
|
|
480
|
+
key: "quality",
|
|
481
|
+
label: "\u8D28\u91CF\u4F18\u5148",
|
|
482
|
+
imageModel: "gemini-3-pro-image-preview",
|
|
483
|
+
waitTimeSeconds: {
|
|
484
|
+
min: 25,
|
|
485
|
+
max: 60
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
]
|
|
489
|
+
}),
|
|
490
|
+
createPlatformHostedGeminiImageModel({
|
|
491
|
+
name: PLATFORM_HOSTED_GEMINI_FLASH_LITE_IMAGE_MODEL,
|
|
492
|
+
displayName: "Nano Banana 2 Lite (Gemini 3.1 Flash Lite Image)",
|
|
493
|
+
inputPrice: 2,
|
|
494
|
+
outputPrice: 12,
|
|
495
|
+
pricePerImage: 0.272,
|
|
496
|
+
maxOutputTokens: 65536,
|
|
497
|
+
contextWindow: 65536,
|
|
498
|
+
imageGenerationWaitTimeSeconds: {
|
|
499
|
+
min: 4,
|
|
500
|
+
max: 10
|
|
501
|
+
},
|
|
502
|
+
imageGenerationProfiles: [
|
|
503
|
+
{
|
|
504
|
+
key: "speed",
|
|
505
|
+
label: "\u901F\u5EA6\u4F18\u5148",
|
|
506
|
+
imageModel: "gemini-3.1-flash-lite-image",
|
|
507
|
+
waitTimeSeconds: {
|
|
508
|
+
min: 4,
|
|
509
|
+
max: 10
|
|
510
|
+
}
|
|
511
|
+
},
|
|
512
|
+
{
|
|
513
|
+
key: "quality",
|
|
514
|
+
label: "\u8D28\u91CF\u4F18\u5148",
|
|
515
|
+
imageModel: "gemini-3-pro-image-preview",
|
|
516
|
+
waitTimeSeconds: {
|
|
517
|
+
min: 25,
|
|
518
|
+
max: 60
|
|
519
|
+
}
|
|
520
|
+
}
|
|
521
|
+
]
|
|
522
|
+
})
|
|
720
523
|
];
|
|
721
524
|
|
|
722
525
|
// packages/ai/llm/cloudflare.ts
|
|
@@ -738,12 +541,8 @@ var gmiModels = [];
|
|
|
738
541
|
var zaiModels = [];
|
|
739
542
|
|
|
740
543
|
export {
|
|
741
|
-
googleModels,
|
|
742
|
-
openAIModels,
|
|
743
544
|
openrouterModels,
|
|
744
545
|
deepinfraModels,
|
|
745
|
-
xaiModels,
|
|
746
|
-
fireworksModels,
|
|
747
546
|
PLATFORM_HOSTED_KIMI_K3_MODEL,
|
|
748
547
|
PLATFORM_HOSTED_KIMI_PROVIDER,
|
|
749
548
|
isNoloHostedProvider,
|
|
@@ -751,12 +550,15 @@ export {
|
|
|
751
550
|
isDeepInfraKimiModel,
|
|
752
551
|
resolveFireworksKimiModel,
|
|
753
552
|
isPlatformHostedClaudeModel,
|
|
553
|
+
toCnyCredits,
|
|
754
554
|
isPlatformHostedGrokModel,
|
|
755
555
|
isPlatformHostedKimiK26Model,
|
|
756
556
|
isPlatformHostedGlmModel,
|
|
557
|
+
isPlatformHostedGlm53FlashModel,
|
|
757
558
|
isPlatformHostedGeminiModel,
|
|
758
|
-
|
|
759
|
-
|
|
559
|
+
isPlatformHostedOpenAIImageModel,
|
|
560
|
+
isPlatformHostedGeminiImageModel,
|
|
561
|
+
isPlatformHostedImageModel,
|
|
760
562
|
PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL,
|
|
761
563
|
PLATFORM_HOSTED_DEEPSEEK_FLASH_VISION_EXP_MODEL,
|
|
762
564
|
PLATFORM_HOSTED_DEEPSEEK_FLASH_PEAK_PRICE,
|