nolo-cli 0.98.0-alpha.3 → 0.98.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.
- package/README.md +1 -1
- package/{_executeModel-MA3D2J4W.js → _executeModel-GJK4ZVU6.js} +74 -67
- package/action-PNPQLJHG.js +20 -0
- package/{addContentAction-O7R66HEX.js → addContentAction-RBOUD7SJ.js} +12 -11
- package/{addDialogAgentAction-74OA7KYP.js → addDialogAgentAction-IODCR6TB.js} +18 -19
- package/{agentDeleteCommand-FHUJH5X4.js → agentDeleteCommand-GHRF6CH5.js} +47 -42
- package/{agentEmailCommands-KNYBWNMA.js → agentEmailCommands-O5BTHYZK.js} +97 -87
- package/agentListCommands-3REEM63V.js +742 -0
- package/{agentMachineCommands-N62I3D5Q.js → agentMachineCommands-2GW3CV7Q.js} +48 -43
- package/{agentProviderCommands-GNPTL5XR.js → agentProviderCommands-IRNZXVGE.js} +1 -1
- package/{agentPullCommand-O5MPVJ5E.js → agentPullCommand-B4T2DJ5H.js} +1 -1
- package/agentRecordCommands-WYQODWZE.js +138 -0
- package/agentRunCommand-KAN65WPY.js +167 -0
- package/{agentRunControl-AVJR4JW4.js → agentRunControl-3HWA2LLQ.js} +2 -2
- package/{agentRuntimeLocal-VXZSDIGT.js → agentRuntimeLocal-IOFBNVIL.js} +48 -39
- package/{agentSlice-65ETD734.js → agentSlice-I45M32KO.js} +14 -13
- package/{appDeleteCommands-PDZ7HQYH.js → appDeleteCommands-SFS6IZEM.js} +46 -41
- package/{appDeployCommands-KLLW32YA.js → appDeployCommands-YZQESVRQ.js} +46 -41
- package/{appDeployStatusCommands-IPNJ445T.js → appDeployStatusCommands-FKUUDCKP.js} +46 -41
- package/{appGetCommands-QA57XGXS.js → appGetCommands-QUE7OQZC.js} +46 -41
- package/{appListCommands-YBTAUFZS.js → appListCommands-QEETFKMH.js} +46 -41
- package/{authCommand-F4EFRRX6.js → authCommand-NHDLY3IB.js} +118 -24
- package/{authCommands-RGOGCPP6.js → authCommands-UDBJVSZU.js} +7 -5
- package/{builtinSkillRegistry-FUAVTRVZ.js → builtinSkillRegistry-MAR5LPAC.js} +10 -8
- package/{chromeCommands-FZYAU75D.js → chromeCommands-K27J4OVZ.js} +124 -28
- package/{chromeOpsCommands-62P2Q2YB.js → chromeOpsCommands-IXRLN57H.js} +4 -3
- package/{chunk-6OZ36FXI.js → chunk-27ONFIEY.js} +22 -4
- package/{chunk-JEDZAO7L.js → chunk-2SYTUTLI.js} +257 -37
- package/{chunk-53HEEOTT.js → chunk-2WJ57RJA.js} +83 -16
- package/{chunk-OIVSQH2O.js → chunk-3BXNTXYI.js} +299 -5
- package/{chunk-ABQYVJBJ.js → chunk-46Y5D2BZ.js} +5 -5
- package/{chunk-EYAQT56M.js → chunk-4DPP773Q.js} +2 -2
- package/{chunk-H62HCIUP.js → chunk-4FFUDT6D.js} +24 -21
- package/chunk-4LCOCOR5.js +50 -0
- package/{chunk-2GRGFCF6.js → chunk-4VJAC32I.js} +2 -1
- package/{chunk-IIVGDG4I.js → chunk-4YSOUKUR.js} +13 -7
- package/{chunk-MC4XLIJ7.js → chunk-523DITKR.js} +1 -1
- package/{chunk-FSX24MR3.js → chunk-5AUJB66Z.js} +550 -515
- package/{chunk-E4MARS3Q.js → chunk-5GVBDNTO.js} +1 -1
- package/chunk-5J3PYNUP.js +255 -0
- package/chunk-5MMAK75Q.js +15 -0
- package/{chunk-JPGCXHNM.js → chunk-5OA5HMTL.js} +1 -1
- package/{chunk-42V6BK2E.js → chunk-62IL3KQV.js} +4 -34
- package/{chunk-3BMYXEUW.js → chunk-6O4IK4V2.js} +1 -1
- package/{chunk-D2QT5FW4.js → chunk-6XDD7N7P.js} +47 -67
- package/{chunk-GQBOR3G6.js → chunk-7KVZ5LDQ.js} +2 -2
- package/{chunk-DNCEALKX.js → chunk-7MMSLEPA.js} +22 -29
- package/chunk-A4SQRTZ6.js +15 -0
- package/{chunk-7S4YWN7P.js → chunk-ADBZWMFB.js} +4 -4
- package/chunk-AGIM7IMJ.js +147 -0
- package/{chunk-5UTFL4QJ.js → chunk-AOTBKDRK.js} +7 -0
- package/{chunk-Q554LLSI.js → chunk-AUDNYVRC.js} +1 -1
- package/{chunk-GZBATRJA.js → chunk-B2DEZY6J.js} +20 -11
- package/chunk-BMQ2MJUK.js +153 -0
- package/{chunk-6YTOJY35.js → chunk-BZ7NPA6G.js} +35 -2
- package/chunk-C4DVDM72.js +13536 -0
- package/chunk-CHOZJMJS.js +78 -0
- package/{chunk-ACTMNVHM.js → chunk-CYSYR67N.js} +1 -1
- package/{chunk-GBRG75BQ.js → chunk-D2MDMY2M.js} +1 -0
- package/chunk-DZ7R5V3Y.js +164 -0
- package/{chunk-3VNWWVKB.js → chunk-E3YWHWCR.js} +50 -18
- package/{chunk-V4MJDUSR.js → chunk-E73ON47R.js} +2 -2
- package/{chunk-UY2NBS4V.js → chunk-EIFYNGU4.js} +24 -5
- package/{chunk-KQ4ONNQD.js → chunk-EKPKW6RM.js} +155 -8
- package/{chunk-TRV2MIDW.js → chunk-EXAJ6DCR.js} +1 -0
- package/{chunk-HJUYAD4A.js → chunk-FJ5BGMNM.js} +5 -5
- package/{chunk-2F7RJC6L.js → chunk-FOXQ7BAB.js} +1 -1
- package/{chunk-TDRTS7QW.js → chunk-FY7DCYW7.js} +88 -17
- package/{chunk-J4MOO56S.js → chunk-GARACBQB.js} +10 -2
- package/{chunk-6VFARHZW.js → chunk-GDFA73QZ.js} +934 -1091
- package/chunk-GMZLP5DV.js +82 -0
- package/{chunk-FDTR4QJ6.js → chunk-H6A6X4EK.js} +32 -1
- package/{chunk-DVINR3PL.js → chunk-HDLLCBRF.js} +1 -1
- package/{chunk-QOKAKDPE.js → chunk-HIM3FCLF.js} +0 -1
- package/{chunk-ONXOABJR.js → chunk-HNGRBWYF.js} +3 -0
- package/{chunk-VLTIYV3X.js → chunk-HP57OUJO.js} +4 -4
- package/{chunk-AD2L6YCC.js → chunk-I76SDF7A.js} +10 -10
- package/{chunk-PELKTR62.js → chunk-I7BCBNWZ.js} +24 -77
- package/{chunk-GPCZ7UXG.js → chunk-K6U4NKFJ.js} +1 -1
- package/{chunk-4OEFYTWL.js → chunk-LDCAFLXD.js} +64 -48
- package/{chunk-SNPMM7H3.js → chunk-LNVJHIGA.js} +18 -20
- package/{chunk-LS2ZANRJ.js → chunk-LOCNXNOU.js} +1 -1
- package/{chunk-5H7KJX7J.js → chunk-LQ4PDQCI.js} +5 -5
- package/{chunk-GABFWSOQ.js → chunk-M33GWZIZ.js} +67 -45
- package/{chunk-PUOC4YRO.js → chunk-M7VLQGQP.js} +11 -0
- package/chunk-NHDMQZJM.js +7881 -0
- package/{chunk-BFU6C242.js → chunk-NMFV26UG.js} +1 -1
- package/{chunk-L5UXH3B2.js → chunk-NNCYNBYV.js} +22 -6
- package/{chunk-FZGV4FGK.js → chunk-NUHHBEJC.js} +378 -187
- package/chunk-NWENLDMM.js +42 -0
- package/{chunk-76WEAXJB.js → chunk-NZWAO6LH.js} +20 -17
- package/chunk-OCZKATRC.js +129 -0
- package/{chunk-N2WELJE7.js → chunk-OU36O6OR.js} +23 -28
- package/chunk-OW4APERY.js +870 -0
- package/{chunk-KQHGZWSV.js → chunk-OXME3PEE.js} +1 -1
- package/{chunk-TVYSVSA2.js → chunk-P5L7VVMT.js} +11 -9
- package/{chunk-TOP2VXOR.js → chunk-PCF3QU5Q.js} +5 -5
- package/{chunk-WV42OMV7.js → chunk-PTDYOADJ.js} +8 -8
- package/{chunk-6D6VBVEW.js → chunk-SNMQMOD2.js} +80 -14
- package/{chunk-BYMV6QZG.js → chunk-TNIX77YM.js} +4 -0
- package/{chunk-Z77CRGTW.js → chunk-TVCAR26G.js} +1 -1
- package/chunk-TY3TIUJK.js +89 -0
- package/{chunk-I3TQJXQ7.js → chunk-U3C3IA32.js} +9 -2
- package/{chunk-RG6JBBX5.js → chunk-U7XXEI5R.js} +166 -13
- package/{chunk-UZGQNTVW.js → chunk-UA324D4O.js} +8 -6
- package/chunk-UJXNKP5V.js +760 -0
- package/{chunk-UKZDAFYT.js → chunk-UM4PH574.js} +6 -10
- package/{chunk-BLJWCTRL.js → chunk-UVKDJUTL.js} +3 -3
- package/{chunk-ZCYXJSTU.js → chunk-V5OWQOJZ.js} +19 -88
- package/{chunk-YQTQQX2H.js → chunk-V7Y6KRAH.js} +1 -1
- package/{chunk-3DII57IT.js → chunk-VCAQFMVN.js} +1 -1
- package/{chunk-JRQFUXY7.js → chunk-VEYL5MO5.js} +99 -22
- package/chunk-VIWDGTDA.js +8 -0
- package/chunk-VJVNU77E.js +83 -0
- package/{chunk-UKWGR5SS.js → chunk-VY6VFGKR.js} +194 -1144
- package/{chunk-2FA3ITSX.js → chunk-W3RFFFFF.js} +873 -227
- package/{chunk-BP4XNZRM.js → chunk-W72ISAKC.js} +4 -4
- package/{chunk-DHDMC6FO.js → chunk-WCGC6S77.js} +14 -9
- package/{chunk-QDSINZM3.js → chunk-WJ3B6FX6.js} +1 -14
- package/{chunk-V4I3A7DR.js → chunk-WXHAOL7Y.js} +19 -17
- package/{chunk-FUUHG5LT.js → chunk-X2B2C4XD.js} +1 -1
- package/{chunk-HVURBGF3.js → chunk-XFUBXRVI.js} +6 -6
- package/{chunk-O6OSWFZQ.js → chunk-XUWRURDF.js} +6 -0
- package/{chunk-Q67DOFOO.js → chunk-Y3PMXGLH.js} +2 -0
- package/{chunk-QIAVMDHY.js → chunk-YPOPJAKN.js} +4 -4
- package/{chunk-SH43IESU.js → chunk-YUNJN43V.js} +44 -9
- package/chunk-YV25TM3R.js +780 -0
- package/chunk-ZRAU6T47.js +56 -0
- package/commandRegistry-RZNZ37BN.js +833 -0
- package/{contentThunks-Y6FA2TCW.js → contentThunks-DF7ZNCAG.js} +36 -34
- package/{cooldownCommands-REAWYVTY.js → cooldownCommands-ZLEPIB4A.js} +2 -2
- package/{createAgentAutomationAction-JXAFQO5V.js → createAgentAutomationAction-KPMOZ53Y.js} +38 -36
- package/createDialogAction-I2UDVAXN.js +69 -0
- package/{createPageAction-GUQDPKO5.js → createPageAction-IF5JXNKV.js} +45 -42
- package/{chunk-ZMD2CQFC.js → cursorProvider-YGGNMVWX.js} +2496 -9897
- package/{dbSlice-XVWBAGYN.js → dbSlice-Q25STFGJ.js} +11 -10
- package/{deleteFile-YG6QMJLU.js → deleteFile-AJ2EZMHT.js} +7 -6
- package/{dialogCommands-JJDASFIL.js → dialogCommands-LWHIIUQD.js} +49 -45
- package/{dialogSlice-J2YJNE6E.js → dialogSlice-74DFPFRV.js} +40 -33
- package/{dist-VODFSGNG.js → dist-NJC2W7I4.js} +61 -54
- package/{docCreateCommands-OB3X3EQM.js → docCreateCommands-LVXQ6TNZ.js} +48 -43
- package/{docDeleteCommands-WMHRGF22.js → docDeleteCommands-7TVIGCLP.js} +49 -44
- package/{docReadCommands-NWGGLIAZ.js → docReadCommands-KYAXFLQ5.js} +47 -42
- package/{docStore-6KKYKAGQ.js → docStore-2JDRAYXJ.js} +16 -12
- package/{docUpdateCommands-3DDSOLPS.js → docUpdateCommands-TVC5KWPK.js} +48 -43
- package/{fetchMessages-EIU7UFFK.js → fetchMessages-I5ICDDHM.js} +5 -5
- package/{getPricing-LUSEABA6.js → getPricing-NMMFT3YI.js} +4 -4
- package/{handleSendMessageAction-A4XLEEPU.js → handleSendMessageAction-54GY3XOH.js} +110 -86
- package/index.js +87 -884
- package/{localDialogRead-BTFJ4V2I.js → localDialogRead-ZHZ3KXDM.js} +2 -2
- package/{localRuntimeAuthority-6IR6BBXE.js → localRuntimeAuthority-TU6OBC76.js} +9 -6
- package/{localRuntimeDb-SYQGUF4U.js → localRuntimeDb-VKWVOPPI.js} +1 -1
- package/{machineCommands-Y64KAIRW.js → machineCommands-54RNLVJE.js} +91 -81
- package/machineWsRunDispatch-WE3VTD57.js +154 -0
- package/{memberThunks-QGFLFVCI.js → memberThunks-R75S3RWP.js} +20 -18
- package/{models-T3SG6MJ5.js → models-ZPU5EDF4.js} +2 -2
- package/oauthTokenStore-ITEB663N.js +23 -0
- package/package.json +1 -1
- package/pdf-U6KSUEZZ.js +26435 -0
- package/processSpawn-SOAV3FEV.js +11 -0
- package/profileConfig-ZGOFORWV.js +43 -0
- package/{providerPresetApply-FG6NZ57W.js → providerPresetApply-TEBH7FDX.js} +7 -7
- package/{providerRegistry-757OWH3O.js → providerRegistry-CBJLNCET.js} +11 -7
- package/{read-COE3ZYR6.js → read-SRQMNO26.js} +7 -6
- package/{readDocTool-5USN4A6V.js → readDocTool-RC3JUNJ2.js} +5 -3
- package/{readlineWorkspace-45XNHFXU.js → readlineWorkspace-UK5M5CJI.js} +2704 -2060
- package/{removeDialogAgentAction-IX3MN2ZO.js → removeDialogAgentAction-46XQV5Q7.js} +21 -25
- package/{runAgentClientLoop-ADZRHNG6.js → runAgentClientLoop-MTI5OU2W.js} +75 -69
- package/{runtimeDoctorCommands-X6WDBEQX.js → runtimeDoctorCommands-PIVSBZRZ.js} +4 -4
- package/runtimeModeArgs-2Y7BALTO.js +31 -0
- package/{setDialogExtraReferencesAction-X4HCPNZL.js → setDialogExtraReferencesAction-J4V5ADQF.js} +15 -13
- package/{setPrimaryDialogAgentAction-4GMIQLOD.js → setPrimaryDialogAgentAction-UHHV2QZW.js} +22 -26
- package/{chunk-AFUORTY4.js → settingThunks-PPZZZOWN.js} +226 -940
- package/{skillDiscovery-CYUCJMAG.js → skillDiscovery-ZBU76COE.js} +3 -3
- package/{slateUtils-RIZES3PV.js → slateUtils-NGV2NMKM.js} +1 -1
- package/{spaceCommands-E7MQ4VU2.js → spaceCommands-446WWA73.js} +51 -46
- package/{streamAgentChatTurn-TUP7YO3H.js → streamAgentChatTurn-IANOWAKR.js} +199 -104
- package/{switchDialogAgentAction-N52LRPA3.js → switchDialogAgentAction-A2TMVGAE.js} +18 -19
- package/{tableCommands-O6NWHFKV.js → tableCommands-6U4BMLRR.js} +10 -10
- package/{toolApiClient-QVJ6HDNN.js → toolApiClient-EJT6TMFG.js} +3 -3
- package/tools-WZZYTUNF.js +116 -0
- package/{tuiSummaryLlmCaller-WFRWERGK.js → tuiSummaryLlmCaller-Q65IBDGO.js} +24 -21
- package/{updateCommands-2M74UL7P.js → updateCommands-4EHDLF5J.js} +3 -3
- package/{updateDialogTitleAction-KSWXWWFT.js → updateDialogTitleAction-Z2JTYLXD.js} +82 -44
- package/action-YVYQEAAV.js +0 -31
- package/agentListCommands-GATRXEMT.js +0 -406
- package/agentRecordCommands-GOC5K27T.js +0 -128
- package/agentRunCommand-JP2U3MQF.js +0 -155
- package/browser-image-compression-MFDTD7K6.js +0 -1763
- package/chatQueueReduxAdapter-5QOW43T4.js +0 -186
- package/chunk-DHDVZFNC.js +0 -18885
- package/chunk-M76ECQRD.js +0 -13658
- package/chunk-MEYIRKDN.js +0 -8967
- package/chunk-Q5FJJ6XI.js +0 -103
- package/chunk-S7Z2HMCN.js +0 -25
- package/chunk-Y5GCAMGP.js +0 -9
- package/chunk-YPREESF4.js +0 -225
- package/createDialogAction-O2QABXZF.js +0 -65
- package/machineWsRunDispatch-M366L2LJ.js +0 -144
- package/settingSlice-ZQZVUPKK.js +0 -204
- package/syncMapping-N6RGXGBW.js +0 -437
- package/tools-2VDNDFET.js +0 -110
- package/{chunk-VMFTFOWF.js → chunk-3AH7LNUB.js} +7 -7
- package/{chunk-X7HHHIOZ.js → chunk-Y6ROFCZO.js} +0 -0
- package/{db-WK5MDZVN.js → db-VQSAOWAO.js} +1 -1
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
platformHostedModels,
|
|
10
10
|
toCnyCredits,
|
|
11
11
|
zaiModels
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-Y3PMXGLH.js";
|
|
13
13
|
|
|
14
14
|
// packages/integrations/qwen/models.ts
|
|
15
15
|
var qwenModels = [
|
|
@@ -1188,8 +1188,18 @@ function pipe(...pipe$1) {
|
|
|
1188
1188
|
|
|
1189
1189
|
// packages/ai/agent/createAgentSchema.ts
|
|
1190
1190
|
var DEFAULT_REASONING_EFFORT = "medium";
|
|
1191
|
+
var REASONING_EFFORT_OPTIONS = [
|
|
1192
|
+
"none",
|
|
1193
|
+
"minimal",
|
|
1194
|
+
"low",
|
|
1195
|
+
"medium",
|
|
1196
|
+
"high",
|
|
1197
|
+
"xhigh",
|
|
1198
|
+
"max"
|
|
1199
|
+
];
|
|
1191
1200
|
var PROVIDER_REASONING_EFFORT_VALUES = {
|
|
1192
1201
|
openai: ["none", "minimal", "low", "medium", "high", "xhigh", "max"],
|
|
1202
|
+
openrouter: ["none", "minimal", "low", "medium", "high", "xhigh", "max"],
|
|
1193
1203
|
deepseek: ["low", "high", "max"],
|
|
1194
1204
|
// nolo (Ollama Cloud) 支持 DeepSeek/Kimi/GLM 等 thinking 模型,
|
|
1195
1205
|
// reasoning_effort 通过 OpenAI 兼容端点透传到 Ollama Cloud。
|
|
@@ -1310,7 +1320,12 @@ var oauthModel = ({ name, displayName, contextWindow, thinkingMode, maxOutputTok
|
|
|
1310
1320
|
price: { input: 0, output: 0 }
|
|
1311
1321
|
});
|
|
1312
1322
|
var anthropicOAuthModels = [
|
|
1313
|
-
// 5 代(1M + Adaptive thinking always-on;官方 max output 128k)
|
|
1323
|
+
// 5 代与 5.5 代(1M + Adaptive thinking always-on;官方 max output 128k)
|
|
1324
|
+
oauthModel({ name: "claude-opus-5-5", displayName: "Claude Opus 5.5", contextWindow: 1e6, thinkingMode: "adaptive", maxOutputTokens: 128e3 }),
|
|
1325
|
+
// Claude Sonnet 5.5(2026-09-28 发布):官方规格 1M + Adaptive thinking + max output 128k。
|
|
1326
|
+
// 注意该模型对非默认 temperature/top_p/top_k 直接 400——nolo 的 anthropicAdapter
|
|
1327
|
+
// 不传采样参数,不受影响。
|
|
1328
|
+
oauthModel({ name: "claude-sonnet-5-5", displayName: "Claude Sonnet 5.5", contextWindow: 1e6, thinkingMode: "adaptive", maxOutputTokens: 128e3 }),
|
|
1314
1329
|
oauthModel({ name: "claude-fable-5", displayName: "Claude Fable 5", contextWindow: 1e6, thinkingMode: "adaptive", maxOutputTokens: 128e3 }),
|
|
1315
1330
|
oauthModel({ name: "claude-opus-5", displayName: "Claude Opus 5", contextWindow: 1e6, thinkingMode: "adaptive", maxOutputTokens: 128e3 }),
|
|
1316
1331
|
oauthModel({ name: "claude-sonnet-5", displayName: "Claude Sonnet 5", contextWindow: 1e6, thinkingMode: "adaptive", maxOutputTokens: 128e3 }),
|
|
@@ -1325,6 +1340,11 @@ var anthropicOAuthModels = [
|
|
|
1325
1340
|
// haiku-4-5(官方明确 context=200k + Extended thinking)
|
|
1326
1341
|
oauthModel({ name: "claude-haiku-4-5-20251001", displayName: "Claude Haiku 4.5", contextWindow: 2e5, thinkingMode: "extended" })
|
|
1327
1342
|
];
|
|
1343
|
+
function anthropicOAuthModelMaxOutputTokens(model) {
|
|
1344
|
+
if (!model) return void 0;
|
|
1345
|
+
const found = anthropicOAuthModels.find((m) => m.name === model);
|
|
1346
|
+
return typeof found?.maxOutputTokens === "number" ? found.maxOutputTokens : void 0;
|
|
1347
|
+
}
|
|
1328
1348
|
var OAUTH_MODEL_THINKING_MODE = new Map(
|
|
1329
1349
|
anthropicOAuthModels.map((m) => [m.name, m.thinkingMode])
|
|
1330
1350
|
);
|
|
@@ -1758,6 +1778,259 @@ var fireworksModels = [
|
|
|
1758
1778
|
}
|
|
1759
1779
|
];
|
|
1760
1780
|
|
|
1781
|
+
// packages/ai/agent/openrouterModelCapability.ts
|
|
1782
|
+
var VALID_EFFORTS_SET = new Set(REASONING_EFFORT_OPTIONS);
|
|
1783
|
+
function extractOpenRouterReasoningCapability(rawModel) {
|
|
1784
|
+
if (!rawModel) {
|
|
1785
|
+
return {
|
|
1786
|
+
found: false,
|
|
1787
|
+
supportsReasoning: false,
|
|
1788
|
+
supportedEfforts: []
|
|
1789
|
+
};
|
|
1790
|
+
}
|
|
1791
|
+
const supportedParams = rawModel.supported_parameters ?? [];
|
|
1792
|
+
const reasoning = rawModel.reasoning;
|
|
1793
|
+
const hasReasoningSupport = Boolean(reasoning) || supportedParams.includes("reasoning") || supportedParams.includes("reasoning_effort") || supportedParams.includes("include_reasoning");
|
|
1794
|
+
if (!hasReasoningSupport) {
|
|
1795
|
+
return {
|
|
1796
|
+
found: true,
|
|
1797
|
+
supportsReasoning: false,
|
|
1798
|
+
supportedEfforts: []
|
|
1799
|
+
};
|
|
1800
|
+
}
|
|
1801
|
+
const rawEfforts = reasoning?.supported_efforts ?? [];
|
|
1802
|
+
const supportedEfforts = rawEfforts.filter(
|
|
1803
|
+
(e) => VALID_EFFORTS_SET.has(e)
|
|
1804
|
+
);
|
|
1805
|
+
let defaultEffort;
|
|
1806
|
+
if (reasoning?.default_effort && VALID_EFFORTS_SET.has(reasoning.default_effort) && supportedEfforts.includes(reasoning.default_effort)) {
|
|
1807
|
+
defaultEffort = reasoning.default_effort;
|
|
1808
|
+
} else if (supportedEfforts.length > 0) {
|
|
1809
|
+
defaultEffort = supportedEfforts.includes("medium") ? "medium" : supportedEfforts[0];
|
|
1810
|
+
}
|
|
1811
|
+
return {
|
|
1812
|
+
found: true,
|
|
1813
|
+
supportsReasoning: true,
|
|
1814
|
+
mandatory: reasoning?.mandatory,
|
|
1815
|
+
supportedEfforts,
|
|
1816
|
+
defaultEffort
|
|
1817
|
+
};
|
|
1818
|
+
}
|
|
1819
|
+
var cachedModels = null;
|
|
1820
|
+
var CACHE_TTL_MS = 10 * 60 * 1e3;
|
|
1821
|
+
function getCachedOpenRouterModelReasoning(modelId) {
|
|
1822
|
+
const trimmed = modelId.trim().toLowerCase();
|
|
1823
|
+
if (!trimmed) return null;
|
|
1824
|
+
if (!cachedModels || Date.now() - cachedModels.timestamp >= CACHE_TTL_MS) {
|
|
1825
|
+
return null;
|
|
1826
|
+
}
|
|
1827
|
+
const rawModel = cachedModels.data.get(trimmed);
|
|
1828
|
+
if (!rawModel) return null;
|
|
1829
|
+
return extractOpenRouterReasoningCapability(rawModel);
|
|
1830
|
+
}
|
|
1831
|
+
|
|
1832
|
+
// packages/ai/agent/modelReasoningCapability.ts
|
|
1833
|
+
var GATEWAY_PROVIDERS = /* @__PURE__ */ new Set(["openrouter", "nolo"]);
|
|
1834
|
+
var THINKING_MECHANISM_PROVIDERS = /* @__PURE__ */ new Set(["anthropic", "google"]);
|
|
1835
|
+
var MODEL_REASONING_OVERRIDES = [
|
|
1836
|
+
// ---- OpenAI ----
|
|
1837
|
+
{
|
|
1838
|
+
providers: ["openai"],
|
|
1839
|
+
prefix: "gpt-5",
|
|
1840
|
+
includes: "-pro",
|
|
1841
|
+
efforts: ["high"],
|
|
1842
|
+
note: "gpt-5-pro \u7CFB\u5217\u53EA\u66B4\u9732 high \u6863\uFF08OpenAI \u6587\u6863\uFF1Apro \u53D8\u4F53\u4E0D\u53EF\u8C03\u4F4E\uFF09"
|
|
1843
|
+
},
|
|
1844
|
+
{
|
|
1845
|
+
providers: ["openai"],
|
|
1846
|
+
prefix: "o1-preview",
|
|
1847
|
+
supportsReasoning: false,
|
|
1848
|
+
note: "o1-preview \u4E0D\u63A5\u53D7 reasoning_effort \u53C2\u6570"
|
|
1849
|
+
},
|
|
1850
|
+
{
|
|
1851
|
+
providers: ["openai"],
|
|
1852
|
+
prefix: "o1-mini",
|
|
1853
|
+
supportsReasoning: false,
|
|
1854
|
+
note: "o1-mini \u4E0D\u63A5\u53D7 reasoning_effort \u53C2\u6570"
|
|
1855
|
+
},
|
|
1856
|
+
{
|
|
1857
|
+
providers: ["openai"],
|
|
1858
|
+
prefix: "o1",
|
|
1859
|
+
efforts: ["low", "medium", "high"],
|
|
1860
|
+
note: "o1 \u652F\u6301 low/medium/high\uFF0C\u65E0 none/minimal/xhigh/max"
|
|
1861
|
+
},
|
|
1862
|
+
{
|
|
1863
|
+
providers: ["openai"],
|
|
1864
|
+
prefix: "o3",
|
|
1865
|
+
efforts: ["low", "medium", "high"],
|
|
1866
|
+
note: "o3 / o3-mini \u652F\u6301 low/medium/high"
|
|
1867
|
+
},
|
|
1868
|
+
{
|
|
1869
|
+
providers: ["openai"],
|
|
1870
|
+
prefix: "o4-mini",
|
|
1871
|
+
efforts: ["low", "medium", "high"],
|
|
1872
|
+
note: "o4-mini \u652F\u6301 low/medium/high"
|
|
1873
|
+
},
|
|
1874
|
+
{
|
|
1875
|
+
providers: ["openai"],
|
|
1876
|
+
prefix: "gpt-4o",
|
|
1877
|
+
supportsReasoning: false,
|
|
1878
|
+
note: "gpt-4o \u7CFB\u5217\u975E\u63A8\u7406\u6A21\u578B"
|
|
1879
|
+
},
|
|
1880
|
+
{
|
|
1881
|
+
providers: ["openai"],
|
|
1882
|
+
prefix: "gpt-4.1",
|
|
1883
|
+
supportsReasoning: false,
|
|
1884
|
+
note: "gpt-4.1 \u7CFB\u5217\u975E\u63A8\u7406\u6A21\u578B"
|
|
1885
|
+
},
|
|
1886
|
+
{
|
|
1887
|
+
providers: ["openai"],
|
|
1888
|
+
prefix: "chatgpt-4o",
|
|
1889
|
+
supportsReasoning: false,
|
|
1890
|
+
note: "chatgpt-4o \u975E\u63A8\u7406\u6A21\u578B"
|
|
1891
|
+
},
|
|
1892
|
+
// ---- xAI / Grok ----
|
|
1893
|
+
{
|
|
1894
|
+
providers: ["xai", "grok"],
|
|
1895
|
+
prefix: "grok-3-mini",
|
|
1896
|
+
efforts: ["low", "high"],
|
|
1897
|
+
note: "grok-3-mini \u4EC5 low/high\uFF0C\u65E0 medium\uFF08xAI \u6587\u6863\uFF09"
|
|
1898
|
+
},
|
|
1899
|
+
{
|
|
1900
|
+
providers: ["xai", "grok"],
|
|
1901
|
+
prefix: "grok-3",
|
|
1902
|
+
exact: true,
|
|
1903
|
+
// 只匹配 grok-3 本体;grok-3-fast 等变体不被误伤
|
|
1904
|
+
supportsReasoning: false,
|
|
1905
|
+
note: "grok-3\uFF08\u975E mini\uFF09\u4E0D\u652F\u6301 reasoning_effort"
|
|
1906
|
+
},
|
|
1907
|
+
{
|
|
1908
|
+
providers: ["xai", "grok"],
|
|
1909
|
+
prefix: "grok-2",
|
|
1910
|
+
supportsReasoning: false,
|
|
1911
|
+
note: "grok-2 \u7CFB\u5217\u975E\u63A8\u7406\u6A21\u578B"
|
|
1912
|
+
},
|
|
1913
|
+
// ---- DeepSeek ----
|
|
1914
|
+
{
|
|
1915
|
+
providers: ["deepseek"],
|
|
1916
|
+
prefix: "deepseek-chat",
|
|
1917
|
+
exact: true,
|
|
1918
|
+
// 只匹配 deepseek-chat 本体;deepseek-chat-v3.1 是混合推理模型
|
|
1919
|
+
supportsReasoning: false,
|
|
1920
|
+
note: "deepseek-chat\uFF08V3 \u975E\u63A8\u7406\u7EBF\uFF09\u65E0\u63A8\u7406\u5F3A\u5EA6"
|
|
1921
|
+
},
|
|
1922
|
+
// ---- Kimi / Moonshot ----
|
|
1923
|
+
{
|
|
1924
|
+
providers: ["kimi", "moonshot"],
|
|
1925
|
+
prefix: "moonshot-v1",
|
|
1926
|
+
supportsReasoning: false,
|
|
1927
|
+
note: "moonshot-v1 \u7CFB\u5217\u975E\u63A8\u7406\u6A21\u578B"
|
|
1928
|
+
},
|
|
1929
|
+
{
|
|
1930
|
+
providers: ["kimi", "moonshot"],
|
|
1931
|
+
prefix: "kimi-k2-instruct",
|
|
1932
|
+
supportsReasoning: false,
|
|
1933
|
+
note: "kimi-k2-instruct \u975E thinking \u53D8\u4F53"
|
|
1934
|
+
},
|
|
1935
|
+
{
|
|
1936
|
+
providers: ["kimi", "moonshot"],
|
|
1937
|
+
prefix: "kimi-latest",
|
|
1938
|
+
supportsReasoning: false,
|
|
1939
|
+
note: "kimi-latest \u6307\u5411\u975E\u63A8\u7406\u5FEB\u7167"
|
|
1940
|
+
}
|
|
1941
|
+
];
|
|
1942
|
+
function modelBasename(model) {
|
|
1943
|
+
const idx = model.lastIndexOf("/");
|
|
1944
|
+
return idx === -1 ? model : model.slice(idx + 1);
|
|
1945
|
+
}
|
|
1946
|
+
function matchOverride(provider, model) {
|
|
1947
|
+
const m = model.toLowerCase();
|
|
1948
|
+
const base = modelBasename(m);
|
|
1949
|
+
const isGateway = GATEWAY_PROVIDERS.has(provider);
|
|
1950
|
+
let best = null;
|
|
1951
|
+
let bestPrefixLen = -1;
|
|
1952
|
+
for (const o of MODEL_REASONING_OVERRIDES) {
|
|
1953
|
+
if (!isGateway && !o.providers.includes(provider)) continue;
|
|
1954
|
+
const hit = o.exact ? m === o.prefix || base === o.prefix : m.startsWith(o.prefix) || base.startsWith(o.prefix);
|
|
1955
|
+
if (!hit) continue;
|
|
1956
|
+
if (o.includes && !m.includes(o.includes) && !base.includes(o.includes)) {
|
|
1957
|
+
continue;
|
|
1958
|
+
}
|
|
1959
|
+
if (o.prefix.length > bestPrefixLen) {
|
|
1960
|
+
best = o;
|
|
1961
|
+
bestPrefixLen = o.prefix.length;
|
|
1962
|
+
}
|
|
1963
|
+
}
|
|
1964
|
+
return best;
|
|
1965
|
+
}
|
|
1966
|
+
function capabilityFromOpenRouterLive(live) {
|
|
1967
|
+
return {
|
|
1968
|
+
found: true,
|
|
1969
|
+
supportsReasoning: live.supportsReasoning,
|
|
1970
|
+
efforts: live.supportedEfforts,
|
|
1971
|
+
defaultEffort: live.defaultEffort,
|
|
1972
|
+
mandatory: live.mandatory,
|
|
1973
|
+
source: "openrouter-live"
|
|
1974
|
+
};
|
|
1975
|
+
}
|
|
1976
|
+
function resolveModelReasoningCapability(provider, model) {
|
|
1977
|
+
const p = (provider ?? "").toLowerCase();
|
|
1978
|
+
const m = (model ?? "").trim();
|
|
1979
|
+
if (THINKING_MECHANISM_PROVIDERS.has(p)) {
|
|
1980
|
+
return {
|
|
1981
|
+
found: false,
|
|
1982
|
+
supportsReasoning: true,
|
|
1983
|
+
// 有推理能力,只是走 Thinking 机制而非 effort
|
|
1984
|
+
efforts: [],
|
|
1985
|
+
source: "provider-map"
|
|
1986
|
+
};
|
|
1987
|
+
}
|
|
1988
|
+
if (m) {
|
|
1989
|
+
const override = matchOverride(p, m);
|
|
1990
|
+
if (override) {
|
|
1991
|
+
const supportsReasoning = override.supportsReasoning ?? true;
|
|
1992
|
+
const efforts = supportsReasoning === false ? [] : override.efforts ?? PROVIDER_REASONING_EFFORT_VALUES[p] ?? [
|
|
1993
|
+
"low",
|
|
1994
|
+
"medium",
|
|
1995
|
+
"high"
|
|
1996
|
+
];
|
|
1997
|
+
return {
|
|
1998
|
+
found: true,
|
|
1999
|
+
supportsReasoning,
|
|
2000
|
+
efforts,
|
|
2001
|
+
defaultEffort: efforts.includes("medium") ? "medium" : efforts[0],
|
|
2002
|
+
source: "model-override"
|
|
2003
|
+
};
|
|
2004
|
+
}
|
|
2005
|
+
}
|
|
2006
|
+
const providerEfforts = PROVIDER_REASONING_EFFORT_VALUES[p];
|
|
2007
|
+
if (providerEfforts) {
|
|
2008
|
+
return {
|
|
2009
|
+
found: false,
|
|
2010
|
+
supportsReasoning: providerEfforts.length > 0,
|
|
2011
|
+
efforts: providerEfforts,
|
|
2012
|
+
source: "provider-map"
|
|
2013
|
+
};
|
|
2014
|
+
}
|
|
2015
|
+
return {
|
|
2016
|
+
found: false,
|
|
2017
|
+
supportsReasoning: true,
|
|
2018
|
+
efforts: ["low", "medium", "high"],
|
|
2019
|
+
source: "provider-fallback"
|
|
2020
|
+
};
|
|
2021
|
+
}
|
|
2022
|
+
function resolveModelReasoningCapabilityWithCache(provider, model) {
|
|
2023
|
+
const p = (provider ?? "").toLowerCase();
|
|
2024
|
+
const m = (model ?? "").trim();
|
|
2025
|
+
if (p === "openrouter" && m) {
|
|
2026
|
+
const live = getCachedOpenRouterModelReasoning(m);
|
|
2027
|
+
if (live?.found) {
|
|
2028
|
+
return capabilityFromOpenRouterLive(live);
|
|
2029
|
+
}
|
|
2030
|
+
}
|
|
2031
|
+
return resolveModelReasoningCapability(provider, model);
|
|
2032
|
+
}
|
|
2033
|
+
|
|
1761
2034
|
// packages/ai/llm/reasoningModels.ts
|
|
1762
2035
|
var REASONING_MODEL_NAMES = /* @__PURE__ */ new Set([
|
|
1763
2036
|
"deepseek-flash",
|
|
@@ -1772,6 +2045,8 @@ var REASONING_MODEL_NAMES = /* @__PURE__ */ new Set([
|
|
|
1772
2045
|
"gemini-3.1-pro-preview",
|
|
1773
2046
|
"gpt-5.5-pro",
|
|
1774
2047
|
"gpt-6-astra",
|
|
2048
|
+
"gpt-6.1-sol",
|
|
2049
|
+
"gpt-6-sol",
|
|
1775
2050
|
"gpt-6-luna",
|
|
1776
2051
|
"gpt-5.6-sol",
|
|
1777
2052
|
"gpt-5.6-terra",
|
|
@@ -1792,7 +2067,12 @@ var REASONING_MODEL_NAMES = /* @__PURE__ */ new Set([
|
|
|
1792
2067
|
"accounts/fireworks/models/glm-5p2",
|
|
1793
2068
|
"zai-org/GLM-5.2-FP8"
|
|
1794
2069
|
]);
|
|
1795
|
-
var isModelSupportReasoningEffort = (model) =>
|
|
2070
|
+
var isModelSupportReasoningEffort = (model, provider) => {
|
|
2071
|
+
if (provider && provider.toLowerCase() === "openrouter") {
|
|
2072
|
+
return true;
|
|
2073
|
+
}
|
|
2074
|
+
return REASONING_MODEL_NAMES.has(model);
|
|
2075
|
+
};
|
|
1796
2076
|
var supportedReasoningModels = Array.from(REASONING_MODEL_NAMES);
|
|
1797
2077
|
var EFFORT_ORDER = [
|
|
1798
2078
|
"none",
|
|
@@ -1819,13 +2099,23 @@ function nearestSupportedEffort(effort, supported) {
|
|
|
1819
2099
|
}
|
|
1820
2100
|
return EFFORT_ORDER[best];
|
|
1821
2101
|
}
|
|
1822
|
-
function clampReasoningEffort(effort, provider) {
|
|
2102
|
+
function clampReasoningEffort(effort, provider, model) {
|
|
1823
2103
|
if (!effort) return void 0;
|
|
1824
2104
|
const normalized = effort === "off" ? "none" : effort;
|
|
1825
2105
|
const providerLower = (provider ?? "").toLowerCase();
|
|
1826
|
-
if (providerLower
|
|
2106
|
+
if (THINKING_MECHANISM_PROVIDERS.has(providerLower)) {
|
|
1827
2107
|
return void 0;
|
|
1828
2108
|
}
|
|
2109
|
+
if (model) {
|
|
2110
|
+
const cap = resolveModelReasoningCapabilityWithCache(provider, model);
|
|
2111
|
+
if (cap.found) {
|
|
2112
|
+
if (!cap.supportsReasoning || cap.efforts.length === 0) {
|
|
2113
|
+
return void 0;
|
|
2114
|
+
}
|
|
2115
|
+
if (cap.efforts.includes(normalized)) return normalized;
|
|
2116
|
+
return nearestSupportedEffort(normalized, cap.efforts);
|
|
2117
|
+
}
|
|
2118
|
+
}
|
|
1829
2119
|
const supported = PROVIDER_REASONING_EFFORT_VALUES[providerLower];
|
|
1830
2120
|
if (!supported || supported.length === 0) {
|
|
1831
2121
|
if (normalized === "low" || normalized === "medium" || normalized === "high") {
|
|
@@ -1883,6 +2173,8 @@ var MODEL_LOOKUP_MAP = {
|
|
|
1883
2173
|
...MODEL_MAP
|
|
1884
2174
|
};
|
|
1885
2175
|
var ANTHROPIC_MODEL_ALIASES = {
|
|
2176
|
+
"claude-opus-5.5": "claude-opus-5-5",
|
|
2177
|
+
"claude-sonnet-5.5": "claude-sonnet-5-5",
|
|
1886
2178
|
"claude-sonnet-4.6": "claude-3-7-sonnet-latest",
|
|
1887
2179
|
"claude-sonnet-4.5": "claude-3-5-sonnet-latest"
|
|
1888
2180
|
};
|
|
@@ -2097,6 +2389,7 @@ function getApiEndpoint(agent) {
|
|
|
2097
2389
|
}
|
|
2098
2390
|
|
|
2099
2391
|
export {
|
|
2392
|
+
anthropicOAuthModelMaxOutputTokens,
|
|
2100
2393
|
isAdaptiveThinkingModelId,
|
|
2101
2394
|
qwenModels,
|
|
2102
2395
|
qwenTokenPlanModels,
|
|
@@ -2106,6 +2399,7 @@ export {
|
|
|
2106
2399
|
stepfunStepPlanModels,
|
|
2107
2400
|
opencodeGoModels,
|
|
2108
2401
|
DEFAULT_REASONING_EFFORT,
|
|
2402
|
+
resolveModelReasoningCapabilityWithCache,
|
|
2109
2403
|
isModelSupportReasoningEffort,
|
|
2110
2404
|
clampReasoningEffort,
|
|
2111
2405
|
MODEL_LOOKUP_MAP,
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getRuntimeServerContext,
|
|
3
3
|
scheduleDeleteReplication
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-UJXNKP5V.js";
|
|
5
|
+
import {
|
|
6
|
+
buildTombstoneRecord
|
|
7
|
+
} from "./chunk-D2MDMY2M.js";
|
|
5
8
|
import {
|
|
6
9
|
fetchFromClientDb
|
|
7
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-HIM3FCLF.js";
|
|
8
11
|
import {
|
|
9
12
|
selectIdentityToken
|
|
10
13
|
} from "./chunk-SEJ5OS6F.js";
|
|
11
|
-
import {
|
|
12
|
-
buildTombstoneRecord
|
|
13
|
-
} from "./chunk-GBRG75BQ.js";
|
|
14
14
|
|
|
15
15
|
// packages/database/fileStorage.ts
|
|
16
16
|
var DB_NAME = "nolo-file-storage";
|
|
@@ -6,10 +6,10 @@ import {
|
|
|
6
6
|
} from "./chunk-AGGIDPCZ.js";
|
|
7
7
|
import {
|
|
8
8
|
getModelConfig
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-3BXNTXYI.js";
|
|
10
10
|
import {
|
|
11
11
|
isPlatformHostedImageModel
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-Y3PMXGLH.js";
|
|
13
13
|
import {
|
|
14
14
|
asOptionalFiniteNumber
|
|
15
15
|
} from "./chunk-WWC7I6TA.js";
|
|
@@ -1,25 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
fileKey,
|
|
3
|
-
getFileIdFromKey,
|
|
4
|
-
ulid
|
|
5
|
-
} from "./chunk-VMFTFOWF.js";
|
|
6
1
|
import {
|
|
7
2
|
loadFileFromIndexedDb,
|
|
8
3
|
removeAction,
|
|
9
4
|
saveFileToIndexedDb
|
|
10
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-46Y5D2BZ.js";
|
|
11
6
|
import {
|
|
12
7
|
readAction,
|
|
13
8
|
readRequestManager,
|
|
14
9
|
resolveAgentReadServers
|
|
15
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-PTDYOADJ.js";
|
|
16
11
|
import {
|
|
17
|
-
asyncThunkCreator,
|
|
18
|
-
buildCreateSlice,
|
|
19
12
|
compareRemoteRecordsByComparableTime,
|
|
20
|
-
createEntityAdapter,
|
|
21
13
|
getRuntimeServerContext,
|
|
22
|
-
noloDeleteRequest,
|
|
23
14
|
pickBestSettledRemoteRecord,
|
|
24
15
|
planAuthorityReadServers,
|
|
25
16
|
resolveAuthorityReplicationServers,
|
|
@@ -32,19 +23,30 @@ import {
|
|
|
32
23
|
shouldReplaceLocalWithRemoteRecord,
|
|
33
24
|
shouldReplicateLocalRecord,
|
|
34
25
|
uploadToCurrentServer
|
|
35
|
-
} from "./chunk-
|
|
36
|
-
import {
|
|
37
|
-
fetchFromClientDb,
|
|
38
|
-
fetchFromServer,
|
|
39
|
-
logger,
|
|
40
|
-
normalizeTimeFields
|
|
41
|
-
} from "./chunk-QOKAKDPE.js";
|
|
26
|
+
} from "./chunk-UJXNKP5V.js";
|
|
42
27
|
import {
|
|
43
28
|
isTombstoneRecord
|
|
44
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-D2MDMY2M.js";
|
|
45
30
|
import {
|
|
46
31
|
isRecord
|
|
47
32
|
} from "./chunk-KUG52IAP.js";
|
|
33
|
+
import {
|
|
34
|
+
fileKey,
|
|
35
|
+
getFileIdFromKey,
|
|
36
|
+
ulid
|
|
37
|
+
} from "./chunk-3AH7LNUB.js";
|
|
38
|
+
import {
|
|
39
|
+
asyncThunkCreator,
|
|
40
|
+
buildCreateSlice,
|
|
41
|
+
createEntityAdapter,
|
|
42
|
+
noloDeleteRequest
|
|
43
|
+
} from "./chunk-VY6VFGKR.js";
|
|
44
|
+
import {
|
|
45
|
+
fetchFromClientDb,
|
|
46
|
+
fetchFromServer,
|
|
47
|
+
logger,
|
|
48
|
+
normalizeTimeFields
|
|
49
|
+
} from "./chunk-HIM3FCLF.js";
|
|
48
50
|
import {
|
|
49
51
|
API_ENDPOINTS
|
|
50
52
|
} from "./chunk-LCBAMY2M.js";
|
|
@@ -712,7 +714,7 @@ var dbSlice = createSliceWithThunks({
|
|
|
712
714
|
// 动态 import 在调用期解析,避开 TDZ/求值顺序问题(同下方 share)。
|
|
713
715
|
read: create.asyncThunk(
|
|
714
716
|
async (payload, thunkApi) => {
|
|
715
|
-
const { readAction: readAction2 } = await import("./read-
|
|
717
|
+
const { readAction: readAction2 } = await import("./read-SRQMNO26.js");
|
|
716
718
|
return readAction2(payload, thunkApi);
|
|
717
719
|
},
|
|
718
720
|
{
|
|
@@ -786,7 +788,7 @@ var dbSlice = createSliceWithThunks({
|
|
|
786
788
|
// 这里改成动态 import,运行期才解析,彻底断开这条边。
|
|
787
789
|
share: create.asyncThunk(
|
|
788
790
|
async (config, thunkApi) => {
|
|
789
|
-
const { shareResourceAction } = await import("./action-
|
|
791
|
+
const { shareResourceAction } = await import("./action-PNPQLJHG.js");
|
|
790
792
|
return shareResourceAction(config, thunkApi);
|
|
791
793
|
}
|
|
792
794
|
),
|
|
@@ -824,6 +826,7 @@ export {
|
|
|
824
826
|
toTimestampMs,
|
|
825
827
|
resolveFileCategory,
|
|
826
828
|
uploadFileAction,
|
|
829
|
+
readFileContentAction,
|
|
827
830
|
dbAdapter,
|
|
828
831
|
selectById,
|
|
829
832
|
selectEntities,
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
// node_modules/date-fns/esm/_lib/requiredArgs/index.js
|
|
2
|
+
function requiredArgs(required, args) {
|
|
3
|
+
if (args.length < required) {
|
|
4
|
+
throw new TypeError(required + " argument" + (required > 1 ? "s" : "") + " required, but only " + args.length + " present");
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
// node_modules/@babel/runtime/helpers/esm/typeof.js
|
|
9
|
+
function _typeof(o) {
|
|
10
|
+
"@babel/helpers - typeof";
|
|
11
|
+
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) {
|
|
12
|
+
return typeof o2;
|
|
13
|
+
} : function(o2) {
|
|
14
|
+
return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2;
|
|
15
|
+
}, _typeof(o);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// node_modules/date-fns/esm/toDate/index.js
|
|
19
|
+
function toDate(argument) {
|
|
20
|
+
requiredArgs(1, arguments);
|
|
21
|
+
var argStr = Object.prototype.toString.call(argument);
|
|
22
|
+
if (argument instanceof Date || _typeof(argument) === "object" && argStr === "[object Date]") {
|
|
23
|
+
return new Date(argument.getTime());
|
|
24
|
+
} else if (typeof argument === "number" || argStr === "[object Number]") {
|
|
25
|
+
return new Date(argument);
|
|
26
|
+
} else {
|
|
27
|
+
if ((typeof argument === "string" || argStr === "[object String]") && typeof console !== "undefined") {
|
|
28
|
+
console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments");
|
|
29
|
+
console.warn(new Error().stack);
|
|
30
|
+
}
|
|
31
|
+
return /* @__PURE__ */ new Date(NaN);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// node_modules/date-fns/esm/_lib/addLeadingZeros/index.js
|
|
36
|
+
function addLeadingZeros(number, targetLength) {
|
|
37
|
+
var sign = number < 0 ? "-" : "";
|
|
38
|
+
var output = Math.abs(number).toString();
|
|
39
|
+
while (output.length < targetLength) {
|
|
40
|
+
output = "0" + output;
|
|
41
|
+
}
|
|
42
|
+
return sign + output;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export {
|
|
46
|
+
_typeof,
|
|
47
|
+
requiredArgs,
|
|
48
|
+
toDate,
|
|
49
|
+
addLeadingZeros
|
|
50
|
+
};
|
|
@@ -67,7 +67,8 @@ var wrapHistoricalSummaryWithReplayGuard = (summary) => {
|
|
|
67
67
|
const trimmed = summary.trim();
|
|
68
68
|
if (!trimmed) return "";
|
|
69
69
|
return [
|
|
70
|
-
"\u3010\u5386\u53F2\u53C2\u8003\uFF0C\u975E\u6D3B\u6307\u4EE4\u3011\u4EE5\u4E0B\u4E3A\u51BB\u7ED3\u6458\u8981\
|
|
70
|
+
"\u3010\u5386\u53F2\u53C2\u8003\uFF0C\u975E\u6D3B\u6307\u4EE4\u3011\u4EE5\u4E0B\u4E3A\u51BB\u7ED3\u6458\u8981\uFF1A\u5176\u4E2D\u7684**\u52A8\u4F5C\u6307\u4EE4**\u3001\u53C2\u6570\u4E0E skill \u8C03\u7528\u9ED8\u8BA4\u5DF2\u7ECF\u505A\u8FC7\uFF0C\u4E0D\u8981\u91CD\u653E\uFF08\u91CD\u590D\u5EFA\u5206\u652F/issue/\u4EFB\u52A1\u5C31\u662F\u91CD\u653E\uFF09\u3002",
|
|
71
|
+
"\u4F46**\u7528\u6237\u7684\u76EE\u6807\u4E0E\u610F\u56FE\u4ECD\u7136\u6709\u6548**\uFF1A\u5B83\u89E3\u91CA\u4E86\u8FD9\u6BB5\u5BF9\u8BDD\u4E3A\u4EC0\u4E48\u8981\u505A\u8FD9\u4E9B\u4E8B\uFF1B\u9047\u5230\u76F8\u5173\u8BDD\u9898\u65F6\u5148\u6309\u5B83\u7406\u89E3\u4E0A\u4E0B\u6587\uFF0C\u4E0D\u8981\u5F53\u6210\u5DF2\u8FC7\u671F\u7684\u80CC\u666F\u3002",
|
|
71
72
|
`\u6458\u8981\u4E2D\u6807\u6CE8\u300C\uFF08\u5F85\u9A8C\u8BC1\uFF09\u300D\u7684\u9879\u9700\u590D\u6838\u786E\u8BA4\uFF1B\u672A\u5B8C\u6210\u5F85\u529E\u548C\u300C\u4E0B\u4E00\u6B65\u300D\u9700\u7EE7\u7EED\u63A8\u8FDB\u2014\u2014\u8FD9\u4E9B\u662F\u7EED\u4F5C\u65B9\u5411\uFF0C\u4E0D\u662F\u91CD\u653E\u6307\u4EE4\u3002`,
|
|
72
73
|
trimmed
|
|
73
74
|
].join("\n");
|
|
@@ -1,13 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
asRecordOrEmpty
|
|
3
3
|
} from "./chunk-KX6YBIHG.js";
|
|
4
|
-
import {
|
|
5
|
-
asNonEmptyStringArray,
|
|
6
|
-
asTrimmedNonEmptyStringArray
|
|
7
|
-
} from "./chunk-VMFTFOWF.js";
|
|
8
|
-
import {
|
|
9
|
-
asOptionalFiniteNumber
|
|
10
|
-
} from "./chunk-WWC7I6TA.js";
|
|
11
4
|
import {
|
|
12
5
|
isOwnedAgentKey,
|
|
13
6
|
ownedAgentKey,
|
|
@@ -16,6 +9,13 @@ import {
|
|
|
16
9
|
import {
|
|
17
10
|
isRecord
|
|
18
11
|
} from "./chunk-KUG52IAP.js";
|
|
12
|
+
import {
|
|
13
|
+
asNonEmptyStringArray,
|
|
14
|
+
asTrimmedNonEmptyStringArray
|
|
15
|
+
} from "./chunk-3AH7LNUB.js";
|
|
16
|
+
import {
|
|
17
|
+
asOptionalFiniteNumber
|
|
18
|
+
} from "./chunk-WWC7I6TA.js";
|
|
19
19
|
import {
|
|
20
20
|
asOptionalTrimmedString
|
|
21
21
|
} from "./chunk-G3SUCT4W.js";
|
|
@@ -764,12 +764,15 @@ var AGENT_SELECTION_PRIORITY_INSTRUCTIONS = ` - \u4F18\u5148\u7EA7\u5951\u7EA6
|
|
|
764
764
|
4. \u516C\u5F00 Agent \u53D1\u73B0\uFF1A\u4EC5\u5F53 preferred \u5217\u8868\u4E2D\u6CA1\u6709\u9002\u5408\u4E14\u53EF\u7528\u7684\u5019\u9009\uFF0C\u6216\u7528\u6237\u660E\u786E\u8981\u6C42\u63A2\u7D22\u516C\u5F00 Agent \u65F6\uFF0C\u624D\u663E\u5F0F\u8C03\u7528 listAgents({ scope: "public" })\u3002\u516C\u5F00 Agent \u53EF\u80FD\u6D88\u8017 platform_credits\uFF0C\u5FC5\u987B\u5728\u83B7\u5F97\u7528\u6237\u660E\u786E\u6263\u8D39\u6388\u6743\u540E\u624D\u80FD\u8C03\u7528\u3002
|
|
765
765
|
- \u6536\u85CF\u4F18\u5148\u786C\u95E8\uFF08\u7528\u6237\u94A6\u5B9A\uFF0C\u8986\u76D6\u9876\u6863\u6210\u672C\u95E8\uFF09\uFF1A\u5F53\u5B58\u5728\u53EF\u7528\u4E14\u9002\u5408\u4EFB\u52A1\u7684\u6536\u85CF user_subscription / user_api / local Agent \u65F6\uFF0C\u7981\u6B62\u6539\u6D3E platform_credits\u3002favorite + platform_credits \u53EA\u8868\u793A\u7528\u6237\u8868\u8FBE\u8FC7\u504F\u597D\u5E76\u56E0\u6B64\u8FDB\u5165 preferred discovery\uFF0C\u4E0D\u4EE3\u8868\u514D\u8D39\u6216\u514D\u6388\u6743\uFF1B\u4F7F\u7528\u5B83\u4ECD\u987B\u9075\u5B88\u5E73\u53F0\u79EF\u5206\u6263\u8D39\u544A\u77E5/\u6388\u6743\u89C4\u5219\u3002\u4F46\u6CE8\u610F\u533A\u5206\uFF1AbillingSource="owner_subscription" \u7684\u6536\u85CF Agent\uFF08\u975E\u81EA\u6709\u3001\u8DD1 owner \u7684\u8BA2\u9605\u901A\u9053\uFF09\u4E0D\u5C5E\u4E8E\u6B64\u5217\u2014\u2014\u5B83\u662F\u53EF\u76F4\u63A5\u4F7F\u7528\u7684\uFF0C\u4E0D\u4EA7\u751F\u4EFB\u4F55\u6263\u8D39\uFF0C\u4E0D\u8981\u5BF9\u5B83\u7D22\u53D6\u6263\u8D39\u6388\u6743\u3001\u4E5F\u4E0D\u8981\u56E0\u6B64\u6539\u6D3E\u5E73\u53F0 Agent\u3002\u6BCF\u6B21 startAgentRun \u90FD\u521B\u5EFA\u72EC\u7ACB\u7684 run/dialog\uFF1B\u5E76\u884C\u6D3E\u53D1\u65F6\u5FC5\u987B\u7528\u5404\u81EA\u7684 runId\uFF0C\u5E76\u7528 batchId \u7BA1\u7406\u6279\u6B21\uFF0C\u907F\u514D\u7F16\u6392\u5C42\u6DF7\u6DC6\u7ED3\u679C\u3002\u4EC5\u5F53\u6536\u85CF Agent \u786E\u8BA4\u4E0D\u53EF\u7528\u540E\u624D\u5141\u8BB8\u6D3E\u5E73\u53F0 Agent\uFF0C\u4E14\u5FC5\u987B\u5F53\u6B21\u544A\u77E5\u7528\u6237\u5C06\u6D88\u8017\u5E73\u53F0\u79EF\u5206\u3002
|
|
766
766
|
- \u5339\u914D\u53C2\u8003\uFF1A\u6309\u4EFB\u52A1\u6240\u9700\u80FD\u529B\u7B5B tools \u5B57\u6BB5\uFF1B\u540C\u6863\u5019\u9009\u4F18\u5148\u6210\u672C\u4F4E\uFF08\u4F4E inputPrice\uFF09\u6216\u8D70\u7528\u6237\u79C1\u6709\u51ED\u636E\u7684\u901A\u9053\u3002tools \u5B57\u6BB5\u53EA\u53CD\u6620\u989D\u5916\u80FD\u529B\uFF0C\u4E0D\u53CD\u6620 coding \u80FD\u529B\u2014\u2014\u4EE3\u7801\u5DE5\u5177\u7531 host \u81EA\u52A8\u6CE8\u5165\uFF0Ctools=[] \u4E0D\u4EE3\u8868\u4E0D\u80FD\u5199\u4EE3\u7801\uFF0C\u4E0D\u8981\u636E\u6B64\u6392\u9664\u5019\u9009\u3002
|
|
767
|
+
- reset-aware economics\uFF08\u53EA\u4F5C\u540C\u6863\u3001\u9002\u5408\u3001\u5F53\u524D\u53EF\u7528\u5019\u9009\u4E4B\u95F4\u7684\u7ECF\u6D4E\u504F\u597D\uFF0C\u4E0D\u8986\u76D6\u6536\u85CF\u786C\u95E8\u3001\u80FD\u529B\u5339\u914D\u6216\u53EF\u7528\u6027\uFF09\uFF1AlistAgents \u5DF2\u66B4\u9732 economics\uFF08\u5B98\u65B9\u5CF0\u8C37\u4EF7\u683C/\u914D\u989D\u500D\u7387\uFF09\u548C quota\uFF08\u4E0A\u6E38\u771F\u5B9E remaining/limit/utilization/resetAt \u7A97\u53E3\uFF09\u3002\u5BF9\u4E8E billingSource="user_subscription"\uFF0C\u82E5 quota \u7A97\u53E3\u540C\u65F6\u7ED9\u51FA\u672A\u7528\u989D\u5EA6\u4FE1\u53F7\uFF08remaining/limit \u6216 utilization\uFF09\u4E14 resetAt \u5728\u672A\u6765\uFF0C\u4E14\u8BE5\u7A97\u53E3\u4EE3\u8868\u8BA2\u9605\u989D\u5EA6\u672C\u8EAB\uFF08\u5982 Claude \u8BA2\u9605\u7684 5h/7d \u914D\u989D\u7A97\u53E3\u8FD9\u7C7B\u4E0D\u7528\u5C31\u4F5C\u5E9F\u7684\u5DF2\u4ED8\u989D\u5EA6\uFF09\uFF0C\u800C\u4E0D\u662F\u7EAF\u541E\u5410\u5BB9\u91CF\uFF0C\u5219\u8FD9\u90E8\u5206\u5DF2\u4ED8\u989D\u5EA6\u4F1A\u5728 reset \u540E\u5931\u6548\uFF1B\u5728\u8D28\u91CF/\u80FD\u529B\u90FD\u8DB3\u591F\u65F6\uFF0Creset \u8D8A\u8FD1\u4E14\u672A\u7528\u989D\u5EA6\u8D8A\u591A\uFF0C\u8D8A\u5E94\u4F18\u5148\u6D88\u8017\uFF0C\u907F\u514D\u628A\u5DF2\u4ED8\u6B3E\u989D\u5EA6\u767D\u767D\u8FC7\u671F\u540E\u518D\u53BB\u4EA7\u751F PAYG / platform \u6210\u672C\u3002\u4E0D\u8981\u56E0\u4E3A\u53EA\u6709 resetAt \u5C31\u63A8\u65AD\u201C\u8FD8\u6709\u53EF\u7528\u989D\u5EA6\u201D\uFF0C\u4E5F\u4E0D\u8981\u628A billingSource="user_api" \u7684 requests/tokens rate-limit reset\u3001nextAvailableAt\uFF08429 \u51B7\u5374\u6062\u590D\uFF09\u8BEF\u5F53\u6210\u201C\u5DF2\u4ED8\u989D\u5EA6\u8FC7\u671F\u201D\uFF1B\u5B83\u4EEC\u662F\u5BB9\u91CF/\u53EF\u7528\u6027\u4FE1\u53F7\uFF0C\u4E0D\u662F\u7ECF\u6D4E\u4F18\u60E0\u3002\u901A\u7528 requests/tokens rate-limit \u5BB9\u91CF\u7A97\u53E3\u5373\u4F7F\u51FA\u73B0\u5728 billingSource="user_subscription" \u901A\u9053\u4E0A\uFF0C\u4E5F\u53EA\u662F\u901F\u7387\u5BB9\u91CF\u800C\u975E\u4F1A\u8FC7\u671F\u7684\u5DF2\u4ED8\u8D44\u4EA7\uFF0C\u4E0D\u5F97\u89E6\u53D1\u8BE5\u504F\u597D\uFF1B\u5206\u4E0D\u6E05\u7A97\u53E3\u8BED\u4E49\u65F6\u6309\u5BB9\u91CF\u5904\u7406\uFF0C\u4E0D\u6309\u7ECF\u6D4E\u8D44\u4EA7\u5904\u7406\u3002owner_subscription \u4E0D\u5360\u5F53\u524D\u7528\u6237\u989D\u5EA6\uFF0C\u4ECD\u6309\u201C\u8C03\u7528\u8005\u4E0E\u5E73\u53F0\u96F6\u65B0\u589E\u6210\u672C\u201D\u7406\u89E3\uFF0C\u4F46\u4E0D\u8981\u628A owner \u7684 quota \u5F53\u6210\u5F53\u524D\u7528\u6237\u9700\u8981\u4E3B\u52A8\u70E7\u5B8C\u7684\u8D44\u4EA7\u3002\u82E5 economics \u663E\u793A\u5373\u5C06\u8DE8 peak/off_peak \u6216 quotaMultiplier/priceMultiplier \u5C06\u53D8\u5316\uFF0C\u628A changesAt \u4E0E\u4EFB\u52A1\u9884\u8BA1\u65F6\u957F\u4E00\u8D77\u8003\u8651\uFF1B\u8BC1\u636E\u4E0D\u8DB3\u65F6\u4FDD\u6301 neutral\uFF0C\u4E0D\u731C\u3002
|
|
767
768
|
- isOwned=true\u3001isOAuth=true \u6216 apiSource="custom" \u7684\u5019\u9009\u6309\u4F18\u5148\u7EA7\u5951\u7EA6\u5904\u7406\u3002
|
|
768
769
|
- qualityContext \u662F task-domain-specific supporting evidence\uFF1A\u53EA\u5728\u5339\u914D\u7684 task domain \u5185\u3001suitable candidates \u4E2D\uFF0C\u5E76\u4E14\u4ECD\u6392\u5728\u73B0\u6709\u4F18\u5148\u7EA7 / \u6210\u672C / \u53EF\u7528\u6027\u89C4\u5219\u4E4B\u540E\u53C2\u8003\u3002
|
|
769
770
|
\u6BCF\u884C\u5F62\u5982 \`dimension [direction] (benchmark version): model=score\`\u3002\u6BCF\u4E2A dimension\uFF08preference / rubric / slop / repetition / length / task_success \u7B49\uFF09\u90FD\u662F\u4E00\u6761\u72EC\u7ACB evidence\uFF0C\u4E0D\u662F\u603B\u5206\u7684\u4E00\u90E8\u5206\u3002
|
|
770
771
|
direction \u53EA\u662F\u6307\u6807\u65B9\u5411\uFF1Ahigher_better \u8D8A\u9AD8\u8D8A\u597D\uFF0Clower_better \u8D8A\u4F4E\u8D8A\u597D\uFF0Cneutral \u53EA\u63CF\u8FF0\u884C\u4E3A\u7279\u5F81\uFF08\u5982\u8F93\u51FA\u957F\u5EA6\uFF09\uFF0C\u4E0D\u4EE3\u8868\u4F18\u52A3\u3002
|
|
771
772
|
\u7981\u6B62\u628A\u4E0D\u540C dimension \u76F8\u52A0 / \u5E73\u5747 / \u5F52\u4E00\u5316\uFF0C\u6216\u751F\u6210 overall score / winner / rank\uFF1B\u7981\u6B62\u8DE8 benchmark identity \u6BD4\u8F83 raw score\uFF1B\u540C\u4E00 dimension \u5185\u53EA\u6BD4\u8F83\u540C\u4E00\u884C\u7684\u540C\u7C7B benchmark evidence\u3002
|
|
772
773
|
\u672A\u5217\u51FA\u7684 model \u6216 dimension \u8868\u793A\u6CA1\u6709 curated evidence\uFF1A\u4E0D\u662F 0\uFF0C\u4E5F\u4E0D\u662F\u8F83\u5F31\u3002\u54EA\u4E9B dimension \u66F4\u91CD\u8981\u7531\u5F53\u524D\u4EFB\u52A1\u51B3\u5B9A\uFF0C\u4E0D\u8981\u5199\u6B7B\u6743\u91CD\u3002
|
|
774
|
+
- speedContext \u901F\u5EA6\u89C4\u5219\uFF08\u7528\u6237\u94A6\u5B9A\uFF09\uFF1A\u4E0A\u4E0B\u6587\u660E\u786E\u7684\u6267\u884C\u578B\u4EFB\u52A1\uFF08\u76EE\u6807/\u6587\u4EF6/\u9A8C\u6536\u5DF2\u8BB2\u6E05\uFF0C\u53EA\u9700\u7167\u505A\uFF09\u4E2D\uFF0C\u514D\u8D39\u79C1\u6709\u901A\u9053\uFF08billingSource \u4E3A user_subscription / owner_subscription / user_api / local\uFF09\u4E4B\u95F4\u901F\u5EA6\u4F18\u5148\uFF1A\u5148\u770B firstOutput\uFF08\u9996\u4E2A\u8F93\u51FA\u8017\u65F6\uFF0C\u8D8A\u77ED\u8D8A\u597D\uFF09\uFF0C\u518D\u770B tps\uFF08\u8D8A\u9AD8\u8D8A\u597D\uFF09\u3002\u901F\u5EA6\u6392\u5E8F\u53EA\u5728\u540C\u4E3A observed \u7684\u884C\u4E4B\u95F4\u8FDB\u884C\uFF1Baa \u884C\u4EC5\u4F5C\u5F31\u53C2\u8003\uFF0C\u4E0D\u4F5C\u901F\u5EA6\u4E3B\u4F9D\u636E\u3002\u672C\u6761\u5728\u514D\u8D39\u79C1\u6709\u901A\u9053\u5185\u90E8\u8986\u76D6\u4E0A\u9762\u7684\u6863\u4F4D\u6392\u5E8F\uFF1A\u6536\u85CF\u4E0D\u4F5C\u6863\u4F4D\u95E8\u69DB\uFF0C\u53EA\u5728\u901F\u5EA6\u76F8\u8FD1\u65F6\u4F5C\u6B21\u7EA7\u6392\u5E8F\uFF1B\u6536\u85CF\u4F18\u5148\u786C\u95E8\u4ECD\u53EA\u7EA6\u675F\u4E0D\u5F97\u6539\u6D3E platform_credits\u3002\u63A2\u7D22\u578B\u4EFB\u52A1\u548C\u6DF1\u5EA6 review \u4ECD\u4EE5\u80FD\u529B\u4F18\u5148\uFF0C\u901F\u5EA6\u4E0D\u4F5C\u4E3B\u4F9D\u636E\u3002\u901F\u5EA6\u53EA\u5728\u514D\u8D39\u79C1\u6709\u901A\u9053\u4E4B\u95F4\u6BD4\u8F83\uFF0C\u4E0D\u8986\u76D6\u5E73\u53F0\u79EF\u5206\u6388\u6743\u4E0E 429 \u544A\u77E5\u5951\u7EA6\uFF0C\u4E0D\u80FD\u56E0\u4E3A\u5E73\u53F0 Agent \u66F4\u5FEB\u5C31\u6539\u6D3E\u5E73\u53F0\u3002
|
|
775
|
+
\u6BCF\u884C\u6807\u6570\u636E\u6765\u6E90\uFF1Aobserved=\u672C\u7528\u6237\u6700\u8FD1\u771F\u5B9E\u8C03\u7528\uFF08n=\u6837\u672C\u6570\uFF0C\u6837\u672C\u5C11\u65F6\u53EF\u4FE1\u5EA6\u4F4E\uFF09\uFF0Caa=Artificial Analysis \u5FEB\u7167\uFF08\u542B\u601D\u8003\u65F6\u95F4\uFF0C\u4E0E observed \u4E0D\u53EF\u76F4\u63A5\u6BD4\u8F83\uFF09\uFF1Btps=n/a \u8868\u793A\u65E0\u53EF\u4FE1\u541E\u5410\u6837\u672C\uFF0C\u4E0D\u4EE3\u8868\u6162\u3002\u672A\u5217\u51FA\u7684 model \u8868\u793A\u6CA1\u6709\u901F\u5EA6\u6570\u636E\uFF0C\u4E0D\u662F\u6162\u3002\u7981\u6B62\u628A\u901F\u5EA6\u4E0E qualityContext \u5408\u6210\u603B\u5206\u3002
|
|
773
776
|
- 429 \u9650\u6D41\u4E0E\u77E5\u60C5\u6743\u5951\u7EA6\uFF1A\u4EFB\u4F55\u7528\u6237\u79C1\u6709\u51ED\u636E\u4E0E\u81EA\u5EFA Agent\uFF08billingSource \u4E3A user_subscription / owner_subscription / user_api / local\uFF0C\u6216 isOwned=true\uFF09\u51FA\u73B0\u5728 listAgents \u7684 unavailableAgents\uFF08429 \u51B7\u5374\u671F\uFF09\u4E2D\u65F6\uFF0C\u7981\u6B62\u9759\u9ED8\u8DF3\u8FC7\uFF1B\u6539\u6D3E\u5E73\u53F0 Agent\uFF08\u6D88\u8017\u5E73\u53F0\u79EF\u5206\uFF09\u524D\u5FC5\u987B\u5728\u56DE\u590D\u4E2D\u544A\u77E5\u7528\u6237\uFF1A\u54EA\u4E2A\u8BA2\u9605/\u81EA\u5EFA agent \u9650\u6D41\u3001\u9884\u8BA1\u4F55\u65F6\u6062\u590D\uFF08nextAvailableAt\uFF09\u3001\u672C\u6B21\u5C06\u6263\u5E73\u53F0\u79EF\u5206\uFF1B\u4EFB\u52A1\u4E0D\u7D27\u6025\u5EFA\u8BAE\u7B49\u6062\u590D\u6216\u8BE2\u95EE\u7528\u6237\u3002`;
|
|
774
777
|
|
|
775
778
|
// packages/agent-runtime/noloWorkspaceTools.ts
|
|
@@ -854,6 +857,7 @@ function buildNoloWorkspaceOpenAiTools(args) {
|
|
|
854
857
|
}
|
|
855
858
|
}, ["query"]);
|
|
856
859
|
add("listAgents", "List agents for delegation. Default scope='preferred' returns the user's favorites, owned, OAuth, custom API, and local agents only; scope='public' discovers shared/marketplace agents; scope='all' returns their deduplicated union. Public agents may consume platform credits. Copy the agentKey verbatim; use the runnable agentKey exactly and do not infer it from the display name. publicOnly is deprecated compatibility for scope='public'. Rate-limited agents are hidden unless showUnavailable is true.", {
|
|
860
|
+
query: stringToolParam("Optional case-insensitive search substring matching agent name, model, provider, handle, or agentKey."),
|
|
857
861
|
scope: { type: "string", enum: ["preferred", "public", "all"], description: "Discovery scope; preferred is the default and does not load the public marketplace." },
|
|
858
862
|
publicOnly: { type: "boolean", description: "Deprecated compatibility alias for scope='public'." },
|
|
859
863
|
showUnavailable: { type: "boolean", description: "Include agents currently rate-limited (429). Default false." },
|
|
@@ -1183,6 +1187,8 @@ function buildNoloWorkspaceCommandArgs(call) {
|
|
|
1183
1187
|
}
|
|
1184
1188
|
case "listAgents": {
|
|
1185
1189
|
const cliArgs = ["agent", "list"];
|
|
1190
|
+
const query = noloStringArg(args.query);
|
|
1191
|
+
if (query) cliArgs.push("--query", query);
|
|
1186
1192
|
const space = noloStringArg(args.space);
|
|
1187
1193
|
if (space) cliArgs.push("--space", space);
|
|
1188
1194
|
const scope = noloStringArg(args.scope);
|
|
@@ -21,7 +21,7 @@ var BUILTIN_SUMMARY_LLM_CONFIG = {
|
|
|
21
21
|
model: "mimo-v2.6-flash",
|
|
22
22
|
// @deprecated 用 COMPACTION_SUMMARY_SYSTEM_PROMPT(packages/ai/context/compactionShared.ts)。
|
|
23
23
|
// 生产代码已全部迁移;此旧两段式 prompt 仅被 scripts/probes/dialog 探针脚本使用,待探针迁移后删除。
|
|
24
|
-
prompt: "\u4F60\u662F\u4E00\u4E2A\u4E13\u4E1A\u7684\u5BF9\u8BDD\u8BB0\u5FC6\u52A9\u7406\u3002\u8BF7\u57FA\u4E8E\u3010\u73B0\u6709\u8BB0\u5FC6\u3011\u548C\u3010\u65B0\u589E\u5BF9\u8BDD\u3011\uFF0C\u8F93\u51FA\u4E00\u4EFD\u66F4\u65B0\u540E\u7684\u5BF9\u8BDD\u8BB0\u5FC6\u6863\u6848\u3002\u4E25\u683C\u53EA\u8F93\u51FA\u4E0B\u9762\u4E24\u90E8\u5206\uFF0C\u6807\u9898\u5FC5\u987B\u5B8C\u5168\u4E00\u81F4\uFF1A\n\u5173\u952E\u4E8B\u5B9E\u6863\u6848\n- ...\n\u5BF9\u8BDD\u5267\u60C5\u6458\u8981\n- ...\n\u8981\u6C42\uFF1A1) \u4F7F\u7528\u5BF9\u8BDD\u4E3B\u8BED\u8A00\uFF1B\u6DF7\u5408\u8BED\u8A00\u65F6\u4F18\u5148\u8DDF\u968F\u7528\u6237\u4E3B\u8981\u8BED\u8A00\uFF0C\u4E13\u6709\u540D\u8BCD\u4FDD\u7559\u539F\u6587\u30022) \u5173\u952E\u4E8B\u5B9E\u6863\u6848\u53EA\u4FDD\u7559\u4E4B\u540E\u7EE7\u7EED\u5BF9\u8BDD\u4ECD\u6709\u4EF7\u503C\u7684\u4FE1\u606F\uFF0C\u4F8B\u5982\u7528\u6237\u504F\u597D\u3001\u76EE\u6807\u3001\u7EA6\u675F\u3001\u6280\u672F\u6808\u3001\u786E\u5B9A\u7684\u6587\u4EF6\u540D/\u53D8\u91CF\u540D\u3001\u6838\u5FC3\u51B3\u7B56\u3001\u5F85\u529E\u4E8B\u9879\u30023) \u5BF9\u8BDD\u5267\u60C5\u6458\u8981\u5148\u6781\u7B80\u6982\u62EC\u65E7\u4E0A\u4E0B\u6587\uFF0C\u518D\u66F4\u8BE6\u7EC6\u8BB0\u5F55\u6700\u8FD1\u65B0\u589E\u7684\u8FDB\u5C55\u3001\u5206\u6B67\u3001\u7ED3\u8BBA\u548C\u4E0B\u4E00\u6B65\u30024) \u5FFD\u7565\u5BD2\u6684\u3001\u91CD\u590D\u5C1D\u8BD5\
|
|
24
|
+
prompt: "\u4F60\u662F\u4E00\u4E2A\u4E13\u4E1A\u7684\u5BF9\u8BDD\u8BB0\u5FC6\u52A9\u7406\u3002\u8BF7\u57FA\u4E8E\u3010\u73B0\u6709\u8BB0\u5FC6\u3011\u548C\u3010\u65B0\u589E\u5BF9\u8BDD\u3011\uFF0C\u8F93\u51FA\u4E00\u4EFD\u66F4\u65B0\u540E\u7684\u5BF9\u8BDD\u8BB0\u5FC6\u6863\u6848\u3002\u4E25\u683C\u53EA\u8F93\u51FA\u4E0B\u9762\u4E24\u90E8\u5206\uFF0C\u6807\u9898\u5FC5\u987B\u5B8C\u5168\u4E00\u81F4\uFF1A\n\u5173\u952E\u4E8B\u5B9E\u6863\u6848\n- ...\n\u5BF9\u8BDD\u5267\u60C5\u6458\u8981\n- ...\n\u8981\u6C42\uFF1A1) \u4F7F\u7528\u5BF9\u8BDD\u4E3B\u8BED\u8A00\uFF1B\u6DF7\u5408\u8BED\u8A00\u65F6\u4F18\u5148\u8DDF\u968F\u7528\u6237\u4E3B\u8981\u8BED\u8A00\uFF0C\u4E13\u6709\u540D\u8BCD\u4FDD\u7559\u539F\u6587\u30022) \u5173\u952E\u4E8B\u5B9E\u6863\u6848\u53EA\u4FDD\u7559\u4E4B\u540E\u7EE7\u7EED\u5BF9\u8BDD\u4ECD\u6709\u4EF7\u503C\u7684\u4FE1\u606F\uFF0C\u4F8B\u5982\u7528\u6237\u504F\u597D\u3001\u76EE\u6807\u3001\u7EA6\u675F\u3001\u6280\u672F\u6808\u3001\u786E\u5B9A\u7684\u6587\u4EF6\u540D/\u53D8\u91CF\u540D\u3001\u6838\u5FC3\u51B3\u7B56\u3001\u5F85\u529E\u4E8B\u9879\u3002\u5176\u4E2D\u5FC5\u987B\u5148\u5199\u300C\u539F\u59CB\u76EE\u6807\u300D\uFF08\u7528\u6237\u6700\u521D\u4E3A\u4EC0\u4E48\u5F00\u8FD9\u6BB5\u5BF9\u8BDD\uFF0C\u5C3D\u91CF\u4FDD\u7559\u539F\u8BDD\uFF1B\u589E\u91CF\u66F4\u65B0\u65F6\u6CBF\u7528\u5DF2\u6709\u539F\u6587\uFF0C\u4E0D\u8981\u88AB\u65B0\u589E\u5BF9\u8BDD\u6539\u5199\uFF1B\u4EC5\u5F53\u65B0\u5BF9\u8BDD\u660E\u786E\u8868\u660E\u539F\u6587\u6709\u4E8B\u5B9E\u6027\u9519\u8BEF\u65F6\u624D\u4FEE\u6B63\uFF0C\u5E76\u5728\u300C\u76EE\u6807\u6F14\u5316\u300D\u91CC\u6CE8\u660E\uFF09\u4E0E\u300C\u76EE\u6807\u6F14\u5316\u300D\uFF08\u4E2D\u9014\u8F6C\u5411\u4E86\u4EC0\u4E48\u3001\u56E0\u4E3A\u4EC0\u4E48\uFF1B\u6CA1\u6709\u8F6C\u5411\u5C31\u5199\u300C\u65E0\u8F6C\u5411\u300D\u6216\u7701\u7565\uFF09\u2014\u2014\u88AB\u53D6\u4EE3\u7684\u662F\u65B9\u6848\uFF0C\u4E0D\u662F\u7528\u6237\u7684\u521D\u59CB\u610F\u56FE\uFF0C\u521D\u59CB\u610F\u56FE\u4E0D\u5F97\u7701\u7565\u30023) \u5BF9\u8BDD\u5267\u60C5\u6458\u8981\u5148\u6781\u7B80\u6982\u62EC\u65E7\u4E0A\u4E0B\u6587\uFF0C\u518D\u66F4\u8BE6\u7EC6\u8BB0\u5F55\u6700\u8FD1\u65B0\u589E\u7684\u8FDB\u5C55\u3001\u5206\u6B67\u3001\u7ED3\u8BBA\u548C\u4E0B\u4E00\u6B65\u30024) \u5FFD\u7565\u5BD2\u6684\u3001\u91CD\u590D\u5C1D\u8BD5\u548C\u65E0\u4EF7\u503C\u5E9F\u8BDD\uFF1B\u5DF2\u653E\u5F03\u7684\u65B9\u6848/\u5C1D\u8BD5\u53EF\u7701\u7565\uFF0C\u4F46\u7528\u6237\u5F53\u521D\u7684\u610F\u56FE\u4E0E\u7406\u7531\u4E0D\u53EF\u7701\u7565\uFF08\u89C1\u7B2C 2 \u6761\uFF09\u30025) \u4E0D\u8981\u7F16\u9020\u672A\u51FA\u73B0\u7684\u4FE1\u606F\uFF0C\u4E0D\u8981\u8F93\u51FA\u5F00\u573A\u767D\u3001\u7ED3\u675F\u8BED\u3001markdown \u4EE3\u7801\u5757\u6216\u989D\u5916\u7AE0\u8282\u3002"
|
|
25
25
|
};
|
|
26
26
|
|
|
27
27
|
export {
|