nolo-cli 0.54.0 → 0.61.0-alpha.2
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/README.md +3 -3
- package/{_executeModel-OPTKYHJA.js → _executeModel-CKT6RGTL.js} +48 -45
- package/{action-ORXWW2ZG.js → action-76JX3JX3.js} +7 -6
- package/{addContentAction-53BZ34AE.js → addContentAction-V3NAZRTJ.js} +6 -5
- package/{addDialogAgentAction-JRYUS54Y.js → addDialogAgentAction-RZOAF46K.js} +5 -4
- package/{agentDeleteCommand-FJIWU2BS.js → agentDeleteCommand-VN7NPXQ4.js} +30 -27
- package/{agentEmailCommands-CE32L43B.js → agentEmailCommands-F2TNAV4A.js} +59 -56
- package/{agentGrantCommands-2LEZDADN.js → agentGrantCommands-R3VQEZJR.js} +1 -1
- package/{agentListCommands-VJNKULIK.js → agentListCommands-OSM2ANI3.js} +61 -31
- package/{agentMachineCommands-HCJ3WQXL.js → agentMachineCommands-MTPWYVRV.js} +31 -28
- package/{agentPullCommand-M552CYSI.js → agentPullCommand-N7L2CT7L.js} +2 -2
- package/{agentRecordCommands-QFWERED4.js → agentRecordCommands-VWAWTVVC.js} +57 -54
- package/{agentRunCommand-G3GQMUNN.js → agentRunCommand-PLZOBNVK.js} +61 -58
- package/{agentRunControl-INKFDXDA.js → agentRunControl-WECMOO6O.js} +11 -6
- package/{agentRuntimeLocal-K327ELSL.js → agentRuntimeLocal-XCJLRWQE.js} +26 -23
- package/{agentSlice-ODKF4J6M.js → agentSlice-F6DOP4IW.js} +8 -7
- package/{appDeleteCommands-XUXMFDI4.js → appDeleteCommands-3BCFTRFJ.js} +30 -27
- package/{appDeployCommands-37F4GPCU.js → appDeployCommands-B4GMHCYA.js} +30 -27
- package/{appDeployStatusCommands-WSPU7TUK.js → appDeployStatusCommands-4MN36WIG.js} +30 -27
- package/{appGetCommands-YLOBA3EM.js → appGetCommands-4GJIEUAX.js} +30 -27
- package/{appListCommands-UD62R5ME.js → appListCommands-CHU53GSX.js} +30 -27
- package/{authCommand-OK6HLHGS.js → authCommand-WOTWLJNF.js} +35 -29
- package/{authCommands-2DUIUEMT.js → authCommands-ILTBI6JV.js} +7 -5
- package/{chatQueueReduxAdapter-TV2TUOQS.js → chatQueueReduxAdapter-HNSQXNIR.js} +20 -18
- package/{chunk-HPW5MNDQ.js → chunk-22BTGNSP.js} +113 -57
- package/{chunk-TR4DXUYX.js → chunk-2HPRMEEZ.js} +1180 -736
- package/{chunk-UNZDCI3O.js → chunk-2KDR4CWE.js} +35 -4
- package/{chunk-3ZTR7ZO4.js → chunk-2PGGC63K.js} +1 -1
- package/{chunk-JXIP6ZWH.js → chunk-37QVS7BU.js} +18 -5
- package/{chunk-EA5OYZVD.js → chunk-37XDGCY7.js} +1 -1
- package/chunk-3BLB7QKO.js +433 -0
- package/{chunk-CS6TCJ7E.js → chunk-3JQ2NRYU.js} +30 -7
- package/{chunk-RHMDMTDK.js → chunk-3JWKQDA4.js} +2 -2
- package/{chunk-3LKZRP7E.js → chunk-3QGUVVX5.js} +2 -2
- package/{chunk-SSXTSPSG.js → chunk-45YO6H7P.js} +71 -30
- package/{chunk-EJE33XNR.js → chunk-4C4ST2YE.js} +1521 -565
- package/{chunk-YLCUU3WM.js → chunk-4NJEIGBQ.js} +5 -5
- package/{chunk-K4NISKOR.js → chunk-5ZYA4JJ3.js} +47 -17
- package/{chunk-3Y2K5O2R.js → chunk-7A3RRUCQ.js} +125 -40
- package/{chunk-5FCIPEKT.js → chunk-7O7KH4X5.js} +1051 -926
- package/{chunk-6HDYSFLO.js → chunk-7UF7CQ6B.js} +3 -3
- package/{chunk-SUEIAK5N.js → chunk-AQMVUA7N.js} +1 -0
- package/{chunk-WQHGJHAL.js → chunk-AVE2YR4F.js} +732 -726
- package/{chunk-6COJEAYH.js → chunk-B7DXRX7F.js} +44 -37
- package/chunk-BFU6C242.js +66 -0
- package/{chunk-IA3A5373.js → chunk-C3FZR5EC.js} +1 -1
- package/{chunk-IWUMSAQF.js → chunk-CJCJF5XB.js} +26 -3
- package/{chunk-UGBHDMHI.js → chunk-CP7VIDZ7.js} +1 -1
- package/{chunk-JON2PHYT.js → chunk-CTCW7U7N.js} +1 -1
- package/{chunk-YBFJQC2M.js → chunk-D5XKNNUV.js} +65 -42
- package/{chunk-7NYDJAQ7.js → chunk-DNNSCSA2.js} +5 -5
- package/{chunk-NI2BS6UD.js → chunk-DWUCB2A3.js} +1 -1
- package/{chunk-AA564GBL.js → chunk-DZZL7UBV.js} +1 -1
- package/{chunk-75MSWWUE.js → chunk-E6RGHPDR.js} +5 -3
- package/chunk-EDKF7RX4.js +30 -0
- package/{chunk-FJHMLRDQ.js → chunk-ES6CVKVD.js} +21 -27
- package/{chunk-SYYUU7EV.js → chunk-FHAGENAS.js} +2 -3
- package/{chunk-NJUQBYFJ.js → chunk-FKFMIBTT.js} +3 -1
- package/{chunk-INZZJSQF.js → chunk-FZGV4FGK.js} +24 -12
- package/{chunk-YQBXOHE6.js → chunk-GAL47RNP.js} +1 -1
- package/{chunk-UOWXD4VN.js → chunk-HBPV76EK.js} +335 -243
- package/{chunk-MLEZPE3U.js → chunk-HLU5Q2GV.js} +4 -4
- package/{chunk-TC6P4NDR.js → chunk-HQP7HJDL.js} +6 -6
- package/{chunk-7FAS3NEF.js → chunk-IYCUMIYS.js} +19 -15
- package/{chunk-AUVFJGPC.js → chunk-JX5PJCWS.js} +7 -5
- package/{chunk-LYGNQHUW.js → chunk-JYYZCK2Z.js} +2 -4
- package/{chunk-XOJRZUPF.js → chunk-KWSQR2KK.js} +14 -29
- package/{chunk-2WBFJHQA.js → chunk-L7B47JXR.js} +34 -39
- package/{chunk-EICIFHVS.js → chunk-LAFC3B2I.js} +1 -1
- package/{chunk-N4JKMCY3.js → chunk-LJKICKVC.js} +2 -2
- package/chunk-M3JEW6N6.js +193 -0
- package/{chunk-LRGKOI5Y.js → chunk-MBOEV4L2.js} +7 -3
- package/{chunk-SVDMVX4G.js → chunk-MMZ6ZTVO.js} +112 -73
- package/{chunk-JDSUTNYY.js → chunk-MP64VFGD.js} +2 -2
- package/{chunk-NFLA6GSU.js → chunk-MXUDQZXQ.js} +44 -5
- package/chunk-N4G4PKQ6.js +23 -0
- package/{chunk-KXKQO4Q6.js → chunk-NTW5GWDM.js} +58 -1
- package/chunk-ONXOABJR.js +215 -0
- package/{chunk-TY3ADTX5.js → chunk-OZX2IPKM.js} +7 -2
- package/{chunk-Q4XZVZPN.js → chunk-P7OOB7QP.js} +1 -1
- package/{chunk-XIJZOCSP.js → chunk-PEZJEQAO.js} +1 -1
- package/{chunk-SWJGJMTW.js → chunk-PQDIDWGX.js} +1 -1
- package/chunk-PSCNXBYA.js +11 -0
- package/{chunk-BY2FF2C4.js → chunk-QEFJJS2I.js} +55 -73
- package/{chunk-BG7J6Y5X.js → chunk-QEW2MFDQ.js} +1 -1
- package/{chunk-KLIBF3BY.js → chunk-RDBARW6T.js} +8 -3
- package/{chunk-ZVOHVJI3.js → chunk-RJ2SAFB5.js} +82 -35
- package/{chunk-MYMBBB6Q.js → chunk-RVWRKFUB.js} +5 -3
- package/{chunk-43CXXVJD.js → chunk-RXX4GDIH.js} +1 -1
- package/chunk-SEJ5OS6F.js +49 -0
- package/{chunk-SAJSBPI2.js → chunk-SOJM57FX.js} +5 -2
- package/{chunk-EKLRRZIN.js → chunk-SPAQ4PVV.js} +0 -5
- package/{chunk-L7NG2M6H.js → chunk-TRV2MIDW.js} +89 -74
- package/{chunk-5UAYZEXO.js → chunk-UZPQSVM6.js} +1 -1
- package/{chunk-SVC3GGUA.js → chunk-VMWYBIXG.js} +7 -5
- package/{chunk-ZHXJ6M7T.js → chunk-W7XHHYWM.js} +4 -0
- package/{chunk-UR66XPVF.js → chunk-XAVSS3KE.js} +21 -3
- package/{chunk-A65UV3M5.js → chunk-XOKOSO35.js} +10 -19
- package/{chunk-VZMUOPYG.js → chunk-XTJTN3RW.js} +46 -3
- package/{chunk-T5HJEUQN.js → chunk-YCDWJX45.js} +1 -1
- package/{chunk-BBTN4NQD.js → chunk-Z4QSJILV.js} +85 -13
- package/{chunk-O5FLGN2L.js → chunk-ZRSJ3JEH.js} +6 -2
- package/{cliExecutor-BBUVQU4L.js → cliExecutor-HG3S345O.js} +1 -1
- package/{codingSkills-BCQXRZOI.js → codingSkills-VDXQYWX4.js} +2 -2
- package/{contentThunks-KNI6VXLT.js → contentThunks-7YG2ZYQC.js} +21 -19
- package/{cooldownCommands-GI5NNWGL.js → cooldownCommands-BSCH2W7P.js} +2 -2
- package/{createAgentAutomationAction-OK4L33KF.js → createAgentAutomationAction-PJQSCAIO.js} +23 -21
- package/{createDialogAction-JDSMY4AY.js → createDialogAction-SFEJX6SP.js} +23 -21
- package/{createPageAction-T7RA3HCG.js → createPageAction-B7WRHOQO.js} +24 -22
- package/{dbSlice-TVX6SN2T.js → dbSlice-IBVOBVMS.js} +5 -4
- package/{deleteFile-JYKRT7C3.js → deleteFile-FWP2PSBG.js} +3 -2
- package/{dialogCommands-UQZYWOOV.js → dialogCommands-VL2X22QC.js} +30 -27
- package/{dialogSlice-TYW2G7IL.js → dialogSlice-ANMACABO.js} +20 -18
- package/{docCreateCommands-OA6HZBWO.js → docCreateCommands-ITLGZ5YI.js} +29 -26
- package/{docDeleteCommands-KBB3YQI2.js → docDeleteCommands-LH3YNL4C.js} +30 -27
- package/{docReadCommands-ZLMFVC67.js → docReadCommands-YAJ77F36.js} +29 -26
- package/{docStore-2URPBVCS.js → docStore-D4HGHPWI.js} +6 -5
- package/{docUpdateCommands-HMH5KUON.js → docUpdateCommands-DQBOMH2G.js} +29 -26
- package/{getPricing-RFOPUWHY.js → getPricing-NM3NUTAS.js} +4 -4
- package/handleSendMessageAction-DF2OABGW.js +675 -0
- package/index.js +79 -88
- package/{lib-2ZTNRXR4.js → lib-FRRS27KN.js} +63 -28
- package/{localRuntimeAuthority-KQDAE64E.js → localRuntimeAuthority-R5UBODT3.js} +6 -4
- package/{localRuntimeDb-PF7CFKDL.js → localRuntimeDb-P37ZTX55.js} +1 -1
- package/{machineCommands-RK6L7ZWL.js → machineCommands-JXDYQ5LB.js} +296 -79
- package/{machineWsRunDispatch-3X64DW2Z.js → machineWsRunDispatch-3QHI7JX5.js} +55 -52
- package/{memberThunks-THZYZFSN.js → memberThunks-VZI6G7YZ.js} +10 -8
- package/{models-JVKUEER5.js → models-FAMINFZ7.js} +2 -2
- package/package.json +3 -2
- package/{read-K4JU4MQC.js → read-2BYWW7AA.js} +3 -2
- package/{readDocTool-LQGR6FUN.js → readDocTool-LC3A7QTB.js} +1 -1
- package/{readlineWorkspace-XUFJV3RS.js → readlineWorkspace-KVZTEAHB.js} +4365 -2795
- package/{removeDialogAgentAction-ECHCFB7N.js → removeDialogAgentAction-SFYZXHNK.js} +8 -7
- package/{runAgentClientLoop-24GQ2AW6.js → runAgentClientLoop-KGTEL7ZP.js} +49 -45
- package/{runtimeDoctorCommands-JKTTN723.js → runtimeDoctorCommands-CROTMULY.js} +7 -5
- package/{setDialogExtraReferencesAction-KCVJNGMB.js → setDialogExtraReferencesAction-Q32RGFTA.js} +6 -5
- package/{setPrimaryDialogAgentAction-VDOBOMKC.js → setPrimaryDialogAgentAction-BFYJHUJS.js} +8 -7
- package/{settingSlice-VR2IJSXC.js → settingSlice-IRUU4VFB.js} +6 -5
- package/{skillDiscovery-2QTZINON.js → skillDiscovery-NTRLM6KP.js} +1 -1
- package/{spaceCommands-S5YJJXL7.js → spaceCommands-KNAYWMCZ.js} +33 -215
- package/{streamAgentChatTurn-QHKP3ABO.js → streamAgentChatTurn-FLYPTXKZ.js} +105 -73
- package/{switchDialogAgentAction-5L4UP7VI.js → switchDialogAgentAction-L2KOKCGG.js} +5 -4
- package/{tableCommands-R6WFRDYF.js → tableCommands-SUNTHAYX.js} +1 -1
- package/{toolApiClient-53U4UDFF.js → toolApiClient-VGYUB4P5.js} +2 -1
- package/{tools-SSXSTC3O.js → tools-CVLUXK6P.js} +37 -34
- package/{tuiSummaryLlmCaller-URFJHFC5.js → tuiSummaryLlmCaller-F3DPFFZM.js} +15 -13
- package/{updateCommands-IYKLF3JX.js → updateCommands-AJYSD73Y.js} +2 -2
- package/{updateDialogTitleAction-YFYAEW3T.js → updateDialogTitleAction-HWJIZEIV.js} +23 -21
- package/agentSuperviseCommands-5AR3DKNN.js +0 -640
- package/chunk-6IGD47IC.js +0 -19
- package/chunk-FD36SCCD.js +0 -105
- package/chunk-GRFK2XP4.js +0 -230
- package/chunk-HJTAGT3W.js +0 -370
- package/handleSendMessageAction-GO53TY7U.js +0 -409
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
defaultOpenBrowser
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-E6RGHPDR.js";
|
|
4
4
|
import {
|
|
5
5
|
generateCloudflareEmailRoutingToken,
|
|
6
6
|
parseFlagWithOptionalValue,
|
|
7
7
|
runCloudflareOAuthLogin,
|
|
8
8
|
upsertEnvVariable
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-ESHYE7WU.js";
|
|
9
|
+
} from "./chunk-PQDIDWGX.js";
|
|
11
10
|
import {
|
|
12
11
|
ANTHROPIC_OAUTH_AUTHORIZE_URL,
|
|
13
12
|
ANTHROPIC_OAUTH_CALLBACK_PORT,
|
|
@@ -40,34 +39,36 @@ import {
|
|
|
40
39
|
generatePkcePair,
|
|
41
40
|
normalizeAnthropicTokenPayload,
|
|
42
41
|
readJsonBody,
|
|
42
|
+
renderDeviceCodeDisplay,
|
|
43
43
|
runAntigravityOAuthLogin,
|
|
44
44
|
runOpenAiCodexBrowserPkce,
|
|
45
45
|
runOpenAiCodexDeviceCode,
|
|
46
46
|
startCallbackServer,
|
|
47
47
|
validateXAIEndpoint,
|
|
48
48
|
xaiOAuthDiscovery
|
|
49
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-MXUDQZXQ.js";
|
|
50
|
+
import "./chunk-ESHYE7WU.js";
|
|
50
51
|
import "./chunk-JBTJAPUF.js";
|
|
51
|
-
import "./chunk-
|
|
52
|
-
import "./chunk-IA3A5373.js";
|
|
52
|
+
import "./chunk-C3FZR5EC.js";
|
|
53
53
|
import "./chunk-GLKOYSRU.js";
|
|
54
|
-
import "./chunk-
|
|
55
|
-
import "./chunk-
|
|
56
|
-
import "./chunk-
|
|
54
|
+
import "./chunk-QEW2MFDQ.js";
|
|
55
|
+
import "./chunk-RDBARW6T.js";
|
|
56
|
+
import "./chunk-LJKICKVC.js";
|
|
57
|
+
import "./chunk-MMZ6ZTVO.js";
|
|
57
58
|
import {
|
|
58
59
|
createOAuthTokenStore
|
|
59
|
-
} from "./chunk-
|
|
60
|
-
import "./chunk-
|
|
60
|
+
} from "./chunk-ONXOABJR.js";
|
|
61
|
+
import "./chunk-W7XHHYWM.js";
|
|
61
62
|
import {
|
|
62
63
|
toErrorMessage
|
|
63
64
|
} from "./chunk-HNMXYYJR.js";
|
|
64
65
|
import {
|
|
65
66
|
buildEnvFromProfile,
|
|
66
67
|
loadProfileConfig
|
|
67
|
-
} from "./chunk-
|
|
68
|
+
} from "./chunk-2KDR4CWE.js";
|
|
68
69
|
import "./chunk-A7GB5UGH.js";
|
|
69
70
|
import "./chunk-OLZBQWZU.js";
|
|
70
|
-
import "./chunk-
|
|
71
|
+
import "./chunk-22BTGNSP.js";
|
|
71
72
|
import "./chunk-NHRQCXIQ.js";
|
|
72
73
|
import {
|
|
73
74
|
asOptionalFiniteNumber
|
|
@@ -383,15 +384,17 @@ async function runXaiOAuthDeviceCode(deps = {}) {
|
|
|
383
384
|
const start = await requestXaiDeviceCode(fetchImpl, deviceAuthorizationEndpoint);
|
|
384
385
|
const browserUrl = start.verificationUriComplete ?? start.verificationUri;
|
|
385
386
|
const expiresMinutes = Math.max(1, Math.round(start.expiresInMs / 6e4));
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
387
|
+
for (const line of renderDeviceCodeDisplay({
|
|
388
|
+
provider: "xAI Grok",
|
|
389
|
+
verificationUrl: start.verificationUri,
|
|
390
|
+
completeUrl: start.verificationUriComplete,
|
|
391
|
+
userCode: start.userCode,
|
|
392
|
+
notes: [
|
|
393
|
+
`Code expires in ~${expiresMinutes} minute(s). Never share the code or tokens.`
|
|
394
|
+
]
|
|
395
|
+
})) {
|
|
396
|
+
output.log(line);
|
|
390
397
|
}
|
|
391
|
-
output.log(` Code: ${start.userCode}`);
|
|
392
|
-
output.log(
|
|
393
|
-
` Code expires in ~${expiresMinutes} minute(s). Never share the code or tokens.`
|
|
394
|
-
);
|
|
395
398
|
if (deps.openBrowser) {
|
|
396
399
|
try {
|
|
397
400
|
const opened = await deps.openBrowser(browserUrl);
|
|
@@ -653,7 +656,7 @@ Waiting for browser authentication... (polling ${CURSOR_POLL_URL})`
|
|
|
653
656
|
var SYNC_HELP_LINE = ` --sync-to-server After local save, push the credential to your nolo server
|
|
654
657
|
(default when NOLO_SERVER + AUTH_TOKEN / profile are set).
|
|
655
658
|
--no-sync-to-server Skip server sync even when server config is available.
|
|
656
|
-
--sync-only Push
|
|
659
|
+
--sync-only Push $NOLO_HOME/credentials/<provider>.json (or ~/.nolo/credentials when NOLO_HOME is unset) to the server without re-login.`;
|
|
657
660
|
var CHATGPT_HELP_TEXT = `Authorize nolo-cli to call the OpenAI Codex / ChatGPT Plus API on your behalf.
|
|
658
661
|
|
|
659
662
|
This authorizes model API access only. It does NOT log you into the Nolo platform.
|
|
@@ -670,7 +673,7 @@ ${SYNC_HELP_LINE}
|
|
|
670
673
|
|
|
671
674
|
The default flow is device-code, which works headless: open the printed URL on any
|
|
672
675
|
machine with a browser where you are already logged into ChatGPT. After approval, the
|
|
673
|
-
access and refresh tokens are stored in ~/.nolo/credentials/chatgpt.json.
|
|
676
|
+
access and refresh tokens are stored in $NOLO_HOME/credentials/chatgpt.json (or ~/.nolo/credentials/chatgpt.json when NOLO_HOME is unset).
|
|
674
677
|
|
|
675
678
|
Agents can reference the stored token by setting apiKeyRef: "chatgpt" with
|
|
676
679
|
apiSource: "custom" and provider: "openai".
|
|
@@ -686,7 +689,7 @@ Usage:
|
|
|
686
689
|
Default (interactive desktop): OIDC PKCE loopback on 127.0.0.1:56121.
|
|
687
690
|
Headless / SSH / Docker: use --device-code or --no-browser (RFC 8628 device
|
|
688
691
|
authorization; no localhost callback). After approval, tokens are stored in
|
|
689
|
-
~/.nolo/credentials/xai.json.
|
|
692
|
+
$NOLO_HOME/credentials/xai.json (or ~/.nolo/credentials/xai.json when NOLO_HOME is unset).
|
|
690
693
|
|
|
691
694
|
The OAuth client_id is the same fixed value used by NousResearch/hermes-agent
|
|
692
695
|
(MIT), oh-my-pi, and OpenClaw; xAI does not publish a public client registration flow.
|
|
@@ -711,7 +714,7 @@ Usage:
|
|
|
711
714
|
|
|
712
715
|
Opens a browser to https://accounts.google.com (OIDC PKCE loopback on 127.0.0.1:51121).
|
|
713
716
|
After approval, the flow provisions a Cloud Code Assist project and stores the
|
|
714
|
-
access and refresh tokens in ~/.nolo/credentials/antigravity.json.
|
|
717
|
+
access and refresh tokens in $NOLO_HOME/credentials/antigravity.json (or ~/.nolo/credentials/antigravity.json when NOLO_HOME is unset).
|
|
715
718
|
|
|
716
719
|
The OAuth client_id/secret are the same base64-decoded values used by
|
|
717
720
|
oh-my-pi; Google does not publish a public Cloud Code Assist client registration.
|
|
@@ -735,7 +738,7 @@ Usage:
|
|
|
735
738
|
|
|
736
739
|
The default flow returns to a loopback callback on localhost:54545. With
|
|
737
740
|
--no-browser, paste the final callback URL or authorization code into the
|
|
738
|
-
terminal. Tokens are stored in ~/.nolo/credentials/claude.json.
|
|
741
|
+
terminal. Tokens are stored in $NOLO_HOME/credentials/claude.json (or ~/.nolo/credentials/claude.json when NOLO_HOME is unset).
|
|
739
742
|
|
|
740
743
|
Options:
|
|
741
744
|
--browser Open the Anthropic authorization page (default).
|
|
@@ -759,7 +762,7 @@ https://api2.cursor.sh/auth/poll until you approve. There is no loopback
|
|
|
759
762
|
callback \u2014 this is a poll-based device flow, so it works in headless / SSH /
|
|
760
763
|
Docker environments too.
|
|
761
764
|
|
|
762
|
-
After approval, tokens are stored in ~/.nolo/credentials/cursor.json.
|
|
765
|
+
After approval, tokens are stored in $NOLO_HOME/credentials/cursor.json (or ~/.nolo/credentials/cursor.json when NOLO_HOME is unset).
|
|
763
766
|
Agents can reference the stored token with apiKeyRef: "cursor".
|
|
764
767
|
|
|
765
768
|
Options:
|
|
@@ -777,7 +780,7 @@ Usage:
|
|
|
777
780
|
|
|
778
781
|
Opens a browser to https://dash.cloudflare.com (OAuth 2.0 PKCE loopback on
|
|
779
782
|
127.0.0.1:56122). After approval, the OAuth access token is stored locally in
|
|
780
|
-
~/.nolo/credentials/cloudflare.json.
|
|
783
|
+
$NOLO_HOME/credentials/cloudflare.json (or ~/.nolo/credentials/cloudflare.json when NOLO_HOME is unset).
|
|
781
784
|
|
|
782
785
|
To use this flow you must first create a Cloudflare OAuth client in the
|
|
783
786
|
Cloudflare Dashboard (Manage Account > OAuth clients) and obtain a client_id.
|
|
@@ -890,7 +893,10 @@ async function syncCredentialToServer(provider, credential, deps) {
|
|
|
890
893
|
async function runAuthProviderCommand(provider, args, _ctx, deps = {}) {
|
|
891
894
|
const output = deps.output ?? console;
|
|
892
895
|
const error = deps.error ?? console;
|
|
893
|
-
const tokenStore = deps.tokenStore ?? createOAuthTokenStore(
|
|
896
|
+
const tokenStore = deps.tokenStore ?? createOAuthTokenStore(
|
|
897
|
+
void 0,
|
|
898
|
+
deps.credentialMigration ?? { enableLegacyMigration: true }
|
|
899
|
+
);
|
|
894
900
|
if (args.includes("--help") || args.includes("-h")) {
|
|
895
901
|
output.log(HELP_BY_PROVIDER[provider]);
|
|
896
902
|
return 0;
|
|
@@ -5,13 +5,14 @@ import {
|
|
|
5
5
|
defaultOpenBrowser,
|
|
6
6
|
runLoginCommand,
|
|
7
7
|
runLogoutCommand,
|
|
8
|
-
runWhoamiCommand
|
|
9
|
-
|
|
8
|
+
runWhoamiCommand,
|
|
9
|
+
saveTokenLogin
|
|
10
|
+
} from "./chunk-E6RGHPDR.js";
|
|
10
11
|
import "./chunk-ESHYE7WU.js";
|
|
11
12
|
import "./chunk-JBTJAPUF.js";
|
|
12
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-C3FZR5EC.js";
|
|
13
14
|
import "./chunk-GLKOYSRU.js";
|
|
14
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-2KDR4CWE.js";
|
|
15
16
|
import "./chunk-A7GB5UGH.js";
|
|
16
17
|
import "./chunk-OLZBQWZU.js";
|
|
17
18
|
import "./chunk-NHRQCXIQ.js";
|
|
@@ -31,5 +32,6 @@ export {
|
|
|
31
32
|
defaultOpenBrowser,
|
|
32
33
|
runLoginCommand,
|
|
33
34
|
runLogoutCommand,
|
|
34
|
-
runWhoamiCommand
|
|
35
|
+
runWhoamiCommand,
|
|
36
|
+
saveTokenLogin
|
|
35
37
|
};
|
|
@@ -4,13 +4,13 @@ import {
|
|
|
4
4
|
} from "./chunk-YPREESF4.js";
|
|
5
5
|
import {
|
|
6
6
|
handleSendMessage
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-D5XKNNUV.js";
|
|
8
8
|
import "./chunk-EVBFYPDC.js";
|
|
9
9
|
import "./chunk-HQUORJTM.js";
|
|
10
10
|
import "./chunk-YYLHWIW6.js";
|
|
11
11
|
import "./chunk-AGGIDPCZ.js";
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-HQP7HJDL.js";
|
|
13
|
+
import "./chunk-4NJEIGBQ.js";
|
|
14
14
|
import "./chunk-5RGU3J7P.js";
|
|
15
15
|
import {
|
|
16
16
|
clearPendingUserInputQueue,
|
|
@@ -21,36 +21,38 @@ import {
|
|
|
21
21
|
} from "./chunk-6YTOJY35.js";
|
|
22
22
|
import "./chunk-M76ECQRD.js";
|
|
23
23
|
import "./chunk-YDH3FDFQ.js";
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
24
|
+
import "./chunk-5ZYA4JJ3.js";
|
|
25
|
+
import "./chunk-Z4QSJILV.js";
|
|
26
|
+
import "./chunk-LJKICKVC.js";
|
|
27
|
+
import "./chunk-PSCNXBYA.js";
|
|
27
28
|
import "./chunk-BYXBJQAS.js";
|
|
28
|
-
import "./chunk-
|
|
29
|
+
import "./chunk-MMZ6ZTVO.js";
|
|
29
30
|
import "./chunk-DWLEOOGR.js";
|
|
30
|
-
import "./chunk-
|
|
31
|
-
import "./chunk-
|
|
32
|
-
import "./chunk-
|
|
31
|
+
import "./chunk-3JQ2NRYU.js";
|
|
32
|
+
import "./chunk-ONXOABJR.js";
|
|
33
|
+
import "./chunk-W7XHHYWM.js";
|
|
33
34
|
import "./chunk-HNMXYYJR.js";
|
|
34
35
|
import "./chunk-BYEJ7K2Z.js";
|
|
35
|
-
import "./chunk-
|
|
36
|
-
import "./chunk-
|
|
37
|
-
import "./chunk-
|
|
36
|
+
import "./chunk-FKFMIBTT.js";
|
|
37
|
+
import "./chunk-22BTGNSP.js";
|
|
38
|
+
import "./chunk-VMWYBIXG.js";
|
|
38
39
|
import "./chunk-Y5GCAMGP.js";
|
|
39
40
|
import "./chunk-UZ6XXCVR.js";
|
|
40
41
|
import "./chunk-KX6YBIHG.js";
|
|
41
|
-
import "./chunk-
|
|
42
|
+
import "./chunk-RVWRKFUB.js";
|
|
42
43
|
import "./chunk-UAD2WT54.js";
|
|
43
|
-
import "./chunk-
|
|
44
|
+
import "./chunk-DNNSCSA2.js";
|
|
44
45
|
import "./chunk-NHRQCXIQ.js";
|
|
45
46
|
import "./chunk-WWC7I6TA.js";
|
|
46
47
|
import "./chunk-I42VC5KR.js";
|
|
47
|
-
import "./chunk-
|
|
48
|
+
import "./chunk-SOJM57FX.js";
|
|
48
49
|
import "./chunk-QSJ3HFEF.js";
|
|
49
|
-
import "./chunk-
|
|
50
|
+
import "./chunk-L7B47JXR.js";
|
|
50
51
|
import "./chunk-BJIRLHJR.js";
|
|
51
|
-
import "./chunk-
|
|
52
|
+
import "./chunk-KWSQR2KK.js";
|
|
52
53
|
import "./chunk-QOKAKDPE.js";
|
|
53
54
|
import "./chunk-OW765XBU.js";
|
|
55
|
+
import "./chunk-SEJ5OS6F.js";
|
|
54
56
|
import "./chunk-GBRG75BQ.js";
|
|
55
57
|
import "./chunk-3EUW3WEO.js";
|
|
56
58
|
import "./chunk-U6VC4MU4.js";
|
|
@@ -37,14 +37,18 @@ var PLATFORM_HOSTED_KIMI_K26_OPENROUTER_MODEL_ID = "qwen/qwen3.8-27b";
|
|
|
37
37
|
var PLATFORM_HOSTED_GLM_53_MODEL = "glm-5.3";
|
|
38
38
|
var PLATFORM_HOSTED_GLM_52_MODEL = "glm-5.2";
|
|
39
39
|
var PLATFORM_HOSTED_GLM_53_FLASH_MODEL = "glm-5-3-flash";
|
|
40
|
+
var PLATFORM_HOSTED_GEMINI_38_FLASH_MODEL = "gemini-3.8-flash";
|
|
40
41
|
var PLATFORM_HOSTED_GEMINI_37_FLASH_MODEL = "gemini-3.7-flash";
|
|
42
|
+
var PLATFORM_HOSTED_GEMINI_25_PRO_MODEL = "gemini-2.5-pro";
|
|
43
|
+
var PLATFORM_HOSTED_GEMINI_31_PRO_MODEL = "gemini-3.1-pro";
|
|
41
44
|
var PLATFORM_HOSTED_GEMINI_FLASH_IMAGE_MODEL = "gemini-3.1-flash-image-preview";
|
|
42
45
|
var PLATFORM_HOSTED_GEMINI_PRO_IMAGE_MODEL = "gemini-3-pro-image-preview";
|
|
43
46
|
var PLATFORM_HOSTED_GEMINI_FLASH_LITE_IMAGE_MODEL = "gemini-3.1-flash-lite-image";
|
|
44
47
|
var PLATFORM_HOSTED_OPENAI_IMAGE_MODEL = "gpt-image-2";
|
|
45
|
-
var PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL = "deepseek-
|
|
48
|
+
var PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL = "deepseek-flash";
|
|
46
49
|
var PLATFORM_HOSTED_DEEPSEEK_FLASH_VISION_EXP_MODEL = "deepseek-v4-flash-vision-exp";
|
|
47
50
|
var PLATFORM_HOSTED_DEEPSEEK_PRO_MODEL = "deepseek-v4-pro";
|
|
51
|
+
var PLATFORM_HOSTED_LEGACY_DEEPSEEK_V4_FLASH_MODEL = "deepseek-v4-flash";
|
|
48
52
|
var PLATFORM_HOSTED_NEMOTRON_35_LIGHTNING_MODEL = "nemotron-3-5-lightning-30b";
|
|
49
53
|
var PLATFORM_HOSTED_KIMI_K3_MIN_CLIENT_VERSION = "0.38.0-alpha.4";
|
|
50
54
|
var PLATFORM_HOSTED_GLM_53_FLASH_MIN_CLIENT_VERSION = "0.33.0-alpha.1";
|
|
@@ -98,7 +102,15 @@ var PLATFORM_HOSTED_ROUTING_TABLE = {
|
|
|
98
102
|
agentRunHosted: true,
|
|
99
103
|
minClientVersion: PLATFORM_HOSTED_KIMI_K3_MIN_CLIENT_VERSION
|
|
100
104
|
},
|
|
101
|
-
// Gemini 3.
|
|
105
|
+
// Gemini 3.8 Flash -> Google official OpenAI-compatible endpoint
|
|
106
|
+
[PLATFORM_HOSTED_GEMINI_38_FLASH_MODEL]: {
|
|
107
|
+
endpoint: "https://generativelanguage.googleapis.com/v1beta/openai/chat/completions",
|
|
108
|
+
usageProvider: "google",
|
|
109
|
+
keyName: "google",
|
|
110
|
+
wire: "chat.completions",
|
|
111
|
+
agentRunHosted: true
|
|
112
|
+
},
|
|
113
|
+
// Gemini 3.7 Flash -> Google official OpenAI-compatible endpoint (historical compat)
|
|
102
114
|
[PLATFORM_HOSTED_GEMINI_37_FLASH_MODEL]: {
|
|
103
115
|
endpoint: "https://generativelanguage.googleapis.com/v1beta/openai/chat/completions",
|
|
104
116
|
usageProvider: "google",
|
|
@@ -106,6 +118,22 @@ var PLATFORM_HOSTED_ROUTING_TABLE = {
|
|
|
106
118
|
wire: "chat.completions",
|
|
107
119
|
agentRunHosted: true
|
|
108
120
|
},
|
|
121
|
+
// Gemini 2.5 Pro -> Google official OpenAI-compatible endpoint
|
|
122
|
+
[PLATFORM_HOSTED_GEMINI_25_PRO_MODEL]: {
|
|
123
|
+
endpoint: "https://generativelanguage.googleapis.com/v1beta/openai/chat/completions",
|
|
124
|
+
usageProvider: "google",
|
|
125
|
+
keyName: "google",
|
|
126
|
+
wire: "chat.completions",
|
|
127
|
+
agentRunHosted: true
|
|
128
|
+
},
|
|
129
|
+
// Gemini 3.1 Pro -> Google official OpenAI-compatible endpoint
|
|
130
|
+
[PLATFORM_HOSTED_GEMINI_31_PRO_MODEL]: {
|
|
131
|
+
endpoint: "https://generativelanguage.googleapis.com/v1beta/openai/chat/completions",
|
|
132
|
+
usageProvider: "google",
|
|
133
|
+
keyName: "google",
|
|
134
|
+
wire: "chat.completions",
|
|
135
|
+
agentRunHosted: true
|
|
136
|
+
},
|
|
109
137
|
// Gemini Image models -> Google
|
|
110
138
|
[PLATFORM_HOSTED_GEMINI_FLASH_IMAGE_MODEL]: {
|
|
111
139
|
endpoint: "https://generativelanguage.googleapis.com/v1beta/openai/chat/completions",
|
|
@@ -180,7 +208,7 @@ var PLATFORM_HOSTED_ROUTING_TABLE = {
|
|
|
180
208
|
wire: "chat.completions",
|
|
181
209
|
agentRunHosted: false
|
|
182
210
|
},
|
|
183
|
-
// DeepSeek Flash
|
|
211
|
+
// DeepSeek Flash -> DeepSeek Responses API(agentRun 走专用 responses 编排)
|
|
184
212
|
[PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL]: {
|
|
185
213
|
endpoint: "https://api.deepseek.com/responses",
|
|
186
214
|
usageProvider: "deepseek",
|
|
@@ -188,20 +216,30 @@ var PLATFORM_HOSTED_ROUTING_TABLE = {
|
|
|
188
216
|
wire: "responses",
|
|
189
217
|
agentRunHosted: false
|
|
190
218
|
},
|
|
219
|
+
// Legacy DeepSeek model aliases -> remap upstreamModelId to deepseek-flash
|
|
220
|
+
[PLATFORM_HOSTED_LEGACY_DEEPSEEK_V4_FLASH_MODEL]: {
|
|
221
|
+
endpoint: "https://api.deepseek.com/responses",
|
|
222
|
+
usageProvider: "deepseek",
|
|
223
|
+
keyName: "deepseek",
|
|
224
|
+
upstreamModelId: PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL,
|
|
225
|
+
wire: "responses",
|
|
226
|
+
agentRunHosted: false
|
|
227
|
+
},
|
|
191
228
|
[PLATFORM_HOSTED_DEEPSEEK_FLASH_VISION_EXP_MODEL]: {
|
|
192
229
|
endpoint: "https://api.deepseek.com/responses",
|
|
193
230
|
usageProvider: "deepseek",
|
|
194
231
|
keyName: "deepseek",
|
|
232
|
+
upstreamModelId: PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL,
|
|
195
233
|
wire: "responses",
|
|
196
234
|
agentRunHosted: false
|
|
197
235
|
},
|
|
198
|
-
// deepseek-v4-pro 独立于 flash 走 RunInfra(官方 chat.completions wire,非 DeepSeek responses)
|
|
199
236
|
[PLATFORM_HOSTED_DEEPSEEK_PRO_MODEL]: {
|
|
200
|
-
endpoint: "https://api.
|
|
201
|
-
usageProvider: "
|
|
202
|
-
keyName: "
|
|
203
|
-
|
|
204
|
-
|
|
237
|
+
endpoint: "https://api.deepseek.com/responses",
|
|
238
|
+
usageProvider: "deepseek",
|
|
239
|
+
keyName: "deepseek",
|
|
240
|
+
upstreamModelId: PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL,
|
|
241
|
+
wire: "responses",
|
|
242
|
+
agentRunHosted: false
|
|
205
243
|
}
|
|
206
244
|
};
|
|
207
245
|
function resolvePlatformHostedRouting(model) {
|
|
@@ -390,7 +428,7 @@ var PLATFORM_HOSTED_GLM_53_FLASH_BASETEN_PRICE = {
|
|
|
390
428
|
inputCacheHit: 0.168,
|
|
391
429
|
output: toPlatformCredits(0.4)
|
|
392
430
|
};
|
|
393
|
-
var
|
|
431
|
+
var PLATFORM_HOSTED_GEMINI_38_FLASH_PRICE = {
|
|
394
432
|
input: 4.2,
|
|
395
433
|
// 6.0 credits
|
|
396
434
|
output: 21,
|
|
@@ -400,6 +438,26 @@ var PLATFORM_HOSTED_GEMINI_37_FLASH_PRICE = {
|
|
|
400
438
|
cachingRead: 0.42
|
|
401
439
|
// 0.6 credits
|
|
402
440
|
};
|
|
441
|
+
var PLATFORM_HOSTED_GEMINI_25_PRO_PRICE = {
|
|
442
|
+
input: toPlatformCredits(1.25),
|
|
443
|
+
// 10.0 credits
|
|
444
|
+
output: toPlatformCredits(5),
|
|
445
|
+
// 40.0 credits
|
|
446
|
+
cachingWrite: toPlatformCredits(0.3125),
|
|
447
|
+
// 2.5 credits
|
|
448
|
+
cachingRead: toPlatformCredits(0.3125)
|
|
449
|
+
// 2.5 credits
|
|
450
|
+
};
|
|
451
|
+
var PLATFORM_HOSTED_GEMINI_31_PRO_PRICE = {
|
|
452
|
+
input: toPlatformCredits(2),
|
|
453
|
+
// 16.0 credits
|
|
454
|
+
output: toPlatformCredits(12),
|
|
455
|
+
// 96.0 credits
|
|
456
|
+
cachingWrite: toPlatformCredits(0.5),
|
|
457
|
+
// 4.0 credits
|
|
458
|
+
cachingRead: toPlatformCredits(0.5)
|
|
459
|
+
// 4.0 credits
|
|
460
|
+
};
|
|
403
461
|
var isPlatformHostedOpenAIImageModel = (model) => asTrimmedLowercaseString(model) === PLATFORM_HOSTED_OPENAI_IMAGE_MODEL;
|
|
404
462
|
var PLATFORM_HOSTED_GEMINI_IMAGE_MODELS = [
|
|
405
463
|
PLATFORM_HOSTED_GEMINI_FLASH_LITE_IMAGE_MODEL,
|
|
@@ -449,34 +507,31 @@ var createPlatformHostedGeminiImageModel = ({
|
|
|
449
507
|
supportsTool: false
|
|
450
508
|
});
|
|
451
509
|
var PLATFORM_HOSTED_DEEPSEEK_FLASH_PEAK_PRICE = {
|
|
452
|
-
input: toCnyCredits(
|
|
453
|
-
// ¥
|
|
454
|
-
inputCacheHit: toCnyCredits(0.
|
|
455
|
-
// ¥0.
|
|
456
|
-
output: toCnyCredits(
|
|
457
|
-
// ¥
|
|
510
|
+
input: toCnyCredits(2),
|
|
511
|
+
// ¥2
|
|
512
|
+
inputCacheHit: toCnyCredits(0.04),
|
|
513
|
+
// ¥0.04
|
|
514
|
+
output: toCnyCredits(8)
|
|
515
|
+
// ¥8
|
|
458
516
|
};
|
|
459
517
|
var PLATFORM_HOSTED_DEEPSEEK_FLASH_OFF_PEAK_PRICE = {
|
|
460
|
-
input: toCnyCredits(1
|
|
461
|
-
// ¥1
|
|
462
|
-
inputCacheHit: toCnyCredits(0.
|
|
463
|
-
// ¥0.
|
|
464
|
-
output: toCnyCredits(4
|
|
465
|
-
// ¥4
|
|
518
|
+
input: toCnyCredits(1),
|
|
519
|
+
// ¥1
|
|
520
|
+
inputCacheHit: toCnyCredits(0.02),
|
|
521
|
+
// ¥0.02
|
|
522
|
+
output: toCnyCredits(4)
|
|
523
|
+
// ¥4
|
|
466
524
|
};
|
|
467
525
|
var PLATFORM_HOSTED_NEMOTRON_35_LIGHTNING_PRICE = {
|
|
468
526
|
input: toPlatformCredits(0.05),
|
|
469
527
|
inputCacheHit: toPlatformCredits(0.01),
|
|
470
528
|
output: toPlatformCredits(0.15)
|
|
471
529
|
};
|
|
472
|
-
var
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
output: toPlatformCredits(1.9)
|
|
478
|
-
// 15.2 credits
|
|
479
|
-
};
|
|
530
|
+
var PLATFORM_HOSTED_LEGACY_DEEPSEEK_MODELS = [
|
|
531
|
+
"deepseek-v4-flash",
|
|
532
|
+
"deepseek-v4-flash-vision-exp",
|
|
533
|
+
"deepseek-v4-pro"
|
|
534
|
+
];
|
|
480
535
|
var isDeepSeekOffPeakBeijingTime = (nowMs = Date.now()) => {
|
|
481
536
|
const beijing = new Date(nowMs + 8 * 60 * 60 * 1e3);
|
|
482
537
|
const beijingDay = beijing.getUTCDay();
|
|
@@ -489,8 +544,12 @@ var getPlatformHostedDeepSeekV4Price = (_model, nowMs = Date.now()) => {
|
|
|
489
544
|
const isOffPeak = isDeepSeekOffPeakBeijingTime(nowMs);
|
|
490
545
|
return isOffPeak ? PLATFORM_HOSTED_DEEPSEEK_FLASH_OFF_PEAK_PRICE : PLATFORM_HOSTED_DEEPSEEK_FLASH_PEAK_PRICE;
|
|
491
546
|
};
|
|
492
|
-
var
|
|
493
|
-
|
|
547
|
+
var isPlatformHostedDeepSeekModel = (model) => {
|
|
548
|
+
const m = asTrimmedLowercaseString(model);
|
|
549
|
+
return m === PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL || PLATFORM_HOSTED_LEGACY_DEEPSEEK_MODELS.includes(m);
|
|
550
|
+
};
|
|
551
|
+
var isPlatformHostedDeepseekModel = isPlatformHostedDeepSeekModel;
|
|
552
|
+
var isPlatformHostedDeepSeekV4Model = isPlatformHostedDeepSeekModel;
|
|
494
553
|
var platformHostedModels = [
|
|
495
554
|
{
|
|
496
555
|
name: PLATFORM_HOSTED_NEMOTRON_35_LIGHTNING_MODEL,
|
|
@@ -536,44 +595,42 @@ var platformHostedModels = [
|
|
|
536
595
|
supportsReasoningEffort: true
|
|
537
596
|
},
|
|
538
597
|
{
|
|
539
|
-
name:
|
|
540
|
-
displayName: "Gemini 3.
|
|
598
|
+
name: PLATFORM_HOSTED_GEMINI_38_FLASH_MODEL,
|
|
599
|
+
displayName: "Gemini 3.8 Flash",
|
|
541
600
|
hasVision: true,
|
|
542
|
-
price: { ...
|
|
601
|
+
price: { ...PLATFORM_HOSTED_GEMINI_38_FLASH_PRICE },
|
|
543
602
|
maxOutputTokens: 65536,
|
|
544
603
|
contextWindow: 1048576,
|
|
545
604
|
supportsTool: true,
|
|
546
605
|
supportsReasoningEffort: true
|
|
547
606
|
},
|
|
548
607
|
{
|
|
549
|
-
name:
|
|
550
|
-
displayName: "
|
|
551
|
-
hasVision:
|
|
552
|
-
price: { ...
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
maxOutputTokens: 384e3,
|
|
556
|
-
contextWindow: 1e6,
|
|
608
|
+
name: PLATFORM_HOSTED_GEMINI_25_PRO_MODEL,
|
|
609
|
+
displayName: "Gemini 2.5 Pro",
|
|
610
|
+
hasVision: true,
|
|
611
|
+
price: { ...PLATFORM_HOSTED_GEMINI_25_PRO_PRICE },
|
|
612
|
+
maxOutputTokens: 65536,
|
|
613
|
+
contextWindow: 1048576,
|
|
557
614
|
supportsTool: true,
|
|
558
615
|
supportsReasoningEffort: true
|
|
559
616
|
},
|
|
560
617
|
{
|
|
561
|
-
name:
|
|
562
|
-
displayName: "
|
|
618
|
+
name: PLATFORM_HOSTED_GEMINI_31_PRO_MODEL,
|
|
619
|
+
displayName: "Gemini 3.1 Pro",
|
|
563
620
|
hasVision: true,
|
|
564
|
-
price: { ...
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
maxOutputTokens: 384e3,
|
|
568
|
-
contextWindow: 1e6,
|
|
621
|
+
price: { ...PLATFORM_HOSTED_GEMINI_31_PRO_PRICE },
|
|
622
|
+
maxOutputTokens: 65536,
|
|
623
|
+
contextWindow: 1048576,
|
|
569
624
|
supportsTool: true,
|
|
570
625
|
supportsReasoningEffort: true
|
|
571
626
|
},
|
|
572
627
|
{
|
|
573
|
-
name:
|
|
574
|
-
displayName: "DeepSeek
|
|
575
|
-
hasVision:
|
|
576
|
-
price: { ...
|
|
628
|
+
name: PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL,
|
|
629
|
+
displayName: "DeepSeek Flash",
|
|
630
|
+
hasVision: true,
|
|
631
|
+
price: { ...PLATFORM_HOSTED_DEEPSEEK_FLASH_PEAK_PRICE },
|
|
632
|
+
peakPrice: { ...PLATFORM_HOSTED_DEEPSEEK_FLASH_PEAK_PRICE },
|
|
633
|
+
offPeakPrice: { ...PLATFORM_HOSTED_DEEPSEEK_FLASH_OFF_PEAK_PRICE },
|
|
577
634
|
maxOutputTokens: 384e3,
|
|
578
635
|
contextWindow: 1e6,
|
|
579
636
|
supportsTool: true,
|
|
@@ -735,7 +792,7 @@ var platformHostedModels = [
|
|
|
735
792
|
];
|
|
736
793
|
|
|
737
794
|
// packages/ai/llm/cloudflare.ts
|
|
738
|
-
var getCloudflareWorkersAiChatCompletionsUrl = (accountId = process.env
|
|
795
|
+
var getCloudflareWorkersAiChatCompletionsUrl = (accountId = (typeof process !== "undefined" ? process.env?.CLOUDFLARE_ACCOUNT_ID : void 0)?.trim()) => {
|
|
739
796
|
if (!accountId) {
|
|
740
797
|
throw new Error(
|
|
741
798
|
"CLOUDFLARE_ACCOUNT_ID is required for Cloudflare Workers AI chat completions"
|
|
@@ -762,7 +819,6 @@ export {
|
|
|
762
819
|
resolveFireworksKimiModel,
|
|
763
820
|
PLATFORM_HOSTED_GLM_53_FLASH_MODEL,
|
|
764
821
|
PLATFORM_HOSTED_DEEPSEEK_FLASH_MODEL,
|
|
765
|
-
PLATFORM_HOSTED_DEEPSEEK_FLASH_VISION_EXP_MODEL,
|
|
766
822
|
resolvePlatformHostedRouting,
|
|
767
823
|
NOLO_CLIENT_VERSION_HEADER,
|
|
768
824
|
CLIENT_VERSION_TOO_OLD_CODE,
|
|
@@ -775,8 +831,8 @@ export {
|
|
|
775
831
|
isPlatformHostedOpenAIImageModel,
|
|
776
832
|
isPlatformHostedImageModel,
|
|
777
833
|
getPlatformHostedDeepSeekV4Price,
|
|
778
|
-
isPlatformHostedDeepSeekV4Model,
|
|
779
834
|
isPlatformHostedDeepseekModel,
|
|
835
|
+
isPlatformHostedDeepSeekV4Model,
|
|
780
836
|
platformHostedModels,
|
|
781
837
|
getCloudflareWorkersAiChatCompletionsUrl,
|
|
782
838
|
cloudflareModels,
|