nolo-cli 0.148.0-alpha.1 → 0.151.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/{_executeModel-NFJAMAGJ.js → _executeModel-XHAFJ2MM.js} +134 -91
- package/accountResolver-7RYB4D2P.js +300 -0
- package/action-SXJD5N5R.js +23 -0
- package/{addContentAction-B2DRF7P6.js → addContentAction-ZV774PHH.js} +20 -14
- package/{addDialogAgentAction-2P2FLTLD.js → addDialogAgentAction-A6SMKAGH.js} +26 -22
- package/{agentDeleteCommand-7IDWF6E3.js → agentDeleteCommand-DPUUS56Z.js} +181 -93
- package/{agentEmailCommands-4KW33JII.js → agentEmailCommands-V4P5EFLP.js} +132 -112
- package/{agentGrantCommands-M3XFO6EN.js → agentGrantCommands-HOJ3JBBQ.js} +3 -3
- package/agentListCommands-TWFLUYIZ.js +802 -0
- package/{agentMachineCommands-CMQR4RQ4.js → agentMachineCommands-MELPAZZI.js} +58 -62
- package/{agentProviderCommands-YK2BIIXZ.js → agentProviderCommands-HL6MBLCL.js} +149 -2
- package/{agentPullCommand-HF4A42D4.js → agentPullCommand-FA43RBRU.js} +7 -7
- package/agentRecordCommands-FSWSSQIO.js +154 -0
- package/agentRunCommand-GDBJVOAT.js +183 -0
- package/{agentRunControl-2SKCR4SB.js → agentRunControl-IFM7IGMG.js} +10 -2
- package/{agentRuntimeLocal-AK2QVJHY.js → agentRuntimeLocal-KKSQJMTE.js} +47 -50
- package/{agentSlice-OZ33K224.js → agentSlice-YO2ZLJMD.js} +23 -16
- package/{appDeleteCommands-N3XEVVYC.js → appDeleteCommands-4PL4KYRN.js} +58 -59
- package/{appDeployCommands-AWFIXYVW.js → appDeployCommands-EEEXCEB6.js} +67 -63
- package/{appDeployStatusCommands-CZRON2FO.js → appDeployStatusCommands-35ZX7T66.js} +56 -56
- package/{appGetCommands-XQIUY4TD.js → appGetCommands-WFCHXJWF.js} +56 -56
- package/{appListCommands-NNG4H36Y.js → appListCommands-XY2U6DPF.js} +57 -59
- package/{authCommand-UBJ4EWYZ.js → authCommand-QYN47CQD.js} +371 -68
- package/{authCommands-H6WKKCRW.js → authCommands-77CHYBGF.js} +12 -9
- package/{builtinSkillRegistry-ZMF6YGNO.js → builtinSkillRegistry-TDQ6JB2E.js} +13 -11
- package/{chromeCommands-2N6MEWRU.js → chromeCommands-OBBNJCLS.js} +314 -13
- package/chromeOpsCommands-3Z34RKSE.js +472 -0
- package/{chunk-ALXHV7NK.js → chunk-2GGXHQIW.js} +43 -4
- package/{localRuntimeAuthority-5W6IJRAD.js → chunk-2IXDJNZI.js} +154 -75
- package/{chunk-IVZJWTDI.js → chunk-36OMEXXR.js} +89 -21
- package/{chunk-H6A6X4EK.js → chunk-3MZAGMYY.js} +16 -0
- package/chunk-3PVYUPXK.js +40 -0
- package/chunk-3SZA4U64.js +1192 -0
- package/{chunk-GNMAFAIS.js → chunk-44WXLHFI.js} +1 -1
- package/{chunk-AGGIDPCZ.js → chunk-4JH2UMJR.js} +6 -0
- package/chunk-4LCOCOR5.js +50 -0
- package/chunk-4YRTZIVN.js +871 -0
- package/chunk-556RW72X.js +14110 -0
- package/{chunk-N7J63Q6C.js → chunk-56GBUMO5.js} +10 -1
- package/{chunk-W7XHHYWM.js → chunk-5BHQICF2.js} +5 -1
- package/{chunk-XUWRURDF.js → chunk-5EBLANFT.js} +1 -1
- package/{chunk-3AH7LNUB.js → chunk-5EMSBTQ6.js} +33 -14
- package/{chunk-YRRASA5Q.js → chunk-5MM7NNO6.js} +113 -52
- package/chunk-5MMAK75Q.js +15 -0
- package/{chunk-M5PVFLD4.js → chunk-64K7WX26.js} +90 -21
- package/{chunk-AKG5W4LG.js → chunk-6CCFTVBP.js} +76 -221
- package/chunk-6MJNEXUU.js +614 -0
- package/{chunk-62IL3KQV.js → chunk-6MXDOUMH.js} +15 -3
- package/{chunk-QOKAKDPE.js → chunk-6Q7UTJKR.js} +6 -94
- package/chunk-6QDYSCPW.js +223 -0
- package/{chunk-HYZIYH2H.js → chunk-74RAWNQN.js} +56 -63
- package/chunk-7DPNBQSV.js +9 -0
- package/chunk-7MOXKPHC.js +119 -0
- package/{chunk-523WHFSL.js → chunk-7XKL25PW.js} +1973 -754
- package/{chunk-IAESIMK7.js → chunk-A4MW3YZL.js} +10 -14
- package/chunk-AGIM7IMJ.js +147 -0
- package/{chunk-7CHC4W22.js → chunk-AIZE5TDM.js} +3 -3
- package/{chunk-P4BX6FFU.js → chunk-AOCM7HPT.js} +214 -51
- package/{chunk-5GVBDNTO.js → chunk-AU7AXHUL.js} +1 -1
- package/{chunk-4H22P2JV.js → chunk-AUIJZACN.js} +2073 -1275
- package/{chunk-CIF4X6ZM.js → chunk-AWVFQMOV.js} +25 -3
- package/{chunk-RYZINGPM.js → chunk-BPMPOFWP.js} +347 -235
- package/{chunk-YUNJN43V.js → chunk-BU2YQBV4.js} +215 -28
- package/{chunk-XPRWFQQK.js → chunk-CBHGZRCE.js} +38 -12
- package/{chunk-Y3PMXGLH.js → chunk-CHCS6XPJ.js} +365 -144
- package/chunk-CHOZJMJS.js +78 -0
- package/{chunk-GBRG75BQ.js → chunk-D2MDMY2M.js} +1 -0
- package/{chunk-3SV7RM24.js → chunk-D2QN6CTI.js} +117 -72
- package/{chunk-5TEEECZM.js → chunk-E2AKSW7L.js} +10 -7
- package/{chunk-RSEEDUMS.js → chunk-EDX5XSJM.js} +2 -2
- package/{chunk-BKWMNZ2X.js → chunk-ES633ZS5.js} +280 -98
- package/{chunk-QDSINZM3.js → chunk-EUGTFFO6.js} +2 -23
- package/{chunk-UNYJU5L6.js → chunk-EYLGAEB4.js} +5 -1
- package/{chunk-CU3QB4HW.js → chunk-EYWJT7A2.js} +12 -12
- package/{chunk-BNGW5ASC.js → chunk-EZVK3N5L.js} +66 -18
- package/{chunk-6FGTMQCL.js → chunk-F32Z66T4.js} +6 -10
- package/chunk-FJMRBOPO.js +11507 -0
- package/{chunk-ZOVKKMF6.js → chunk-FY4SDK2E.js} +1 -1
- package/chunk-G6OOUQWJ.js +417 -0
- package/{chunk-PQWU42UQ.js → chunk-GCKHQECX.js} +6 -6
- package/chunk-GKXCHNTE.js +15 -0
- package/{chunk-T7F46O36.js → chunk-GQN2WLAI.js} +20 -11
- package/{chunk-P6GMCCAT.js → chunk-GQV5KHJU.js} +78 -12
- package/{chunk-B2XUQXQX.js → chunk-HIQ4GF53.js} +191 -68
- package/{chunk-YUWMM4US.js → chunk-HKX3ULQB.js} +34 -22
- package/{chunk-GMZLP5DV.js → chunk-HNUWUO75.js} +30 -19
- package/{chunk-5UTFL4QJ.js → chunk-I2ZMGXXF.js} +10 -5
- package/chunk-I42VC5KR.js +15 -0
- package/{chunk-3BXNTXYI.js → chunk-I4SN4NUQ.js} +1199 -56
- package/chunk-IA7TRNNR.js +11 -0
- package/{chunk-WIWM4FE3.js → chunk-IJERIUXS.js} +55 -748
- package/{chunk-CPUFH46E.js → chunk-ILU2NPWY.js} +10 -10
- package/{chunk-SLLGJZDT.js → chunk-ISQL4V7C.js} +4 -4
- package/chunk-IT3ZZRJE.js +12 -0
- package/{chunk-LPVCRQMM.js → chunk-IZ7OJB6K.js} +20 -16
- package/{chunk-DY7ANLKG.js → chunk-JKMLSTZK.js} +43 -12
- package/{chunk-6TPOEJMQ.js → chunk-JZX2XLKC.js} +64 -23
- package/{chunk-27ONFIEY.js → chunk-K2AER7RX.js} +19 -12
- package/{chunk-O2OWEFII.js → chunk-KFHQQ3NO.js} +1 -1
- package/{chunk-QXGPFY6J.js → chunk-LGN377P3.js} +27 -17
- package/{chunk-L36OWPP3.js → chunk-LIQJTQRN.js} +118 -139
- package/{chunk-FWQEKRTD.js → chunk-LTRUTOHX.js} +36 -31
- package/{chunk-BFU6C242.js → chunk-NMFV26UG.js} +1 -1
- package/{chunk-5J3PYNUP.js → chunk-NYYFIKHI.js} +17 -3
- package/{chunk-6O4IK4V2.js → chunk-OFFL4DCR.js} +1 -1
- package/{chunk-B6SAMB33.js → chunk-OWYYDMGJ.js} +209 -9
- package/{chunk-KQHGZWSV.js → chunk-OXME3PEE.js} +1 -1
- package/{chunk-CTUQJVQM.js → chunk-P5QACQDK.js} +1 -1
- package/{chunk-DIXLJWCD.js → chunk-PCKVQXYV.js} +274 -93
- package/{chunk-4JMDLJAD.js → chunk-PJNFNEJE.js} +114 -37
- package/{chunk-Z4CSIXYP.js → chunk-PLSVXHSA.js} +3 -3
- package/{chunk-BIDGLJQ3.js → chunk-PLXDDGBK.js} +45 -8
- package/chunk-PWTNI4N7.js +47 -0
- package/chunk-QFEW2ULV.js +42 -0
- package/{chunk-RGNEEJ3Y.js → chunk-QLQ573SU.js} +35 -9
- package/chunk-QQ56R7KS.js +88 -0
- package/chunk-QYPE3TS3.js +43 -0
- package/{chunk-4DPP773Q.js → chunk-RSHPU4PD.js} +59 -11
- package/chunk-RVWMAFIT.js +134 -0
- package/{chunk-ESHYE7WU.js → chunk-S73EPYNC.js} +10 -7
- package/{chunk-UQNS32WZ.js → chunk-SCMHQUMK.js} +1 -1
- package/{chunk-T767MPHB.js → chunk-SMENBO3M.js} +354 -120
- package/{chunk-PCVVZ2MH.js → chunk-SSFDFOVT.js} +26 -31
- package/chunk-SW4S4XYB.js +1794 -0
- package/{chunk-HUFPWXFW.js → chunk-T6X3D7NB.js} +572 -430
- package/chunk-TY3TIUJK.js +89 -0
- package/{chunk-X2QRZXZH.js → chunk-TYJ5XFEA.js} +4 -4
- package/{chunk-ALFH24P3.js → chunk-TYYRSFBG.js} +197 -155
- package/{chunk-7KVZ5LDQ.js → chunk-UBUH2TCC.js} +18 -4
- package/chunk-UEILX4EV.js +15 -0
- package/chunk-UHTDNB5Y.js +140 -0
- package/{chunk-YYLHWIW6.js → chunk-UKZX3NHN.js} +1 -1
- package/{chunk-OHOVNO7I.js → chunk-UOKFKFPO.js} +6 -3
- package/{chunk-XISEYOGH.js → chunk-USHQX6VT.js} +5 -5
- package/chunk-UUPR3TD7.js +53 -0
- package/{chunk-HDLLCBRF.js → chunk-VEA7H5FG.js} +2 -2
- package/chunk-VHGD6FHV.js +116 -0
- package/chunk-VIWDGTDA.js +8 -0
- package/{chunk-GOH6RW6F.js → chunk-VJXHL6MH.js} +34 -11
- package/{chunk-4XEYAFLY.js → chunk-VL5KOY2C.js} +623 -94
- package/{chunk-EADNWBAZ.js → chunk-VP3BINY7.js} +13 -0
- package/{chunk-EOARMOVD.js → chunk-W4S6OTSC.js} +6 -3
- package/chunk-WD4XYDYC.js +567 -0
- package/chunk-WJZOQR2J.js +151 -0
- package/{chunk-AUDNYVRC.js → chunk-XETG4RIX.js} +5 -5
- package/{chunk-MX574M24.js → chunk-XI7DGLUK.js} +4 -4
- package/{chunk-3L2WKC3W.js → chunk-XPWGOTBQ.js} +8 -1
- package/chunk-XRUSXPCQ.js +514 -0
- package/{chunk-I4OPU5TK.js → chunk-XS47QOFV.js} +273 -11
- package/{chunk-S5XGT6GB.js → chunk-XZNCX52W.js} +30 -9
- package/{chunk-2JMMBU6V.js → chunk-Y2DXOPSO.js} +1920 -644
- package/{chunk-5OA5HMTL.js → chunk-YLMMECCH.js} +1 -1
- package/{chunk-CFT5HBGW.js → chunk-YVLQXTUB.js} +448 -12
- package/chunk-YVPQATSC.js +709 -0
- package/{chunk-DCFPQW22.js → chunk-Z7OJUX6S.js} +122 -107
- package/chunk-ZEZC7IIM.js +126 -0
- package/{chunk-ALGORS6Y.js → chunk-ZF6526IQ.js} +43 -8
- package/chunk-ZIWPQEFU.js +165 -0
- package/chunk-ZKZ5X2HS.js +7012 -0
- package/chunk-ZRAU6T47.js +56 -0
- package/{cliExecutor-AWYR3T33.js → cliExecutor-BWBF2MTI.js} +4 -3
- package/{clipboardy-BX4NMYHE.js → clipboardy-GCO3GT3I.js} +3 -8
- package/{commandRegistry-YOEQUA7T.js → commandRegistry-XN7C5GHO.js} +183 -107
- package/contentThunks-5L7YQI3S.js +84 -0
- package/{cooldownCommands-ZLEPIB4A.js → cooldownCommands-JFKTYS2D.js} +2 -2
- package/{createAgentAutomationAction-5EJL6ROU.js → createAgentAutomationAction-QOPOLCRK.js} +53 -44
- package/createDialogAction-MZ66VY5Q.js +76 -0
- package/{createPageAction-75ELC64R.js → createPageAction-VQDJIXMY.js} +65 -54
- package/cursorProvider-YGGNMVWX.js +6123 -0
- package/{db-VQSAOWAO.js → db-2QOTXYGH.js} +11 -5
- package/{dbSlice-DQ32LYTJ.js → dbSlice-J37OGIXH.js} +19 -13
- package/{deleteFile-NX6QHCWZ.js → deleteFile-6JWDDRVP.js} +10 -6
- package/dialogCommands-YZLSJB6X.js +113 -0
- package/{dialogSlice-KSXPGJB2.js → dialogSlice-6RODVYCK.js} +53 -39
- package/{docCreateCommands-ZSLGVBZT.js → docCreateCommands-JB2RRMRJ.js} +54 -57
- package/{docDeleteCommands-5N4GVZBG.js → docDeleteCommands-AQENULNM.js} +56 -58
- package/{docReadCommands-YJSAA7AV.js → docReadCommands-DYD25YLQ.js} +53 -56
- package/{docStore-AROBVRCR.js → docStore-ZZA3OPM5.js} +25 -16
- package/{docUpdateCommands-WEMLSW6W.js → docUpdateCommands-3GVS23QL.js} +54 -57
- package/{fetchMessages-67MEFPZR.js → fetchMessages-IIJWQ3HR.js} +5 -4
- package/{getPricing-NMMFT3YI.js → getPricing-FKK3F5EJ.js} +11 -9
- package/{handleSendMessageAction-EGNWHAUB.js → handleSendMessageAction-DVG5U26T.js} +619 -165
- package/index.js +11 -7
- package/{lib-FRRS27KN.js → lib-4YTWAGY7.js} +581 -248
- package/{localDialogRead-EBRS242U.js → localDialogRead-FSOMOPDZ.js} +2 -2
- package/localRuntimeAdapter-HXRHFKRC.js +244 -0
- package/localRuntimeAuthority-JDAD7CB6.js +16 -0
- package/{localRuntimeDb-3LRMNLCM.js → localRuntimeDb-CVC62PM5.js} +1 -1
- package/{machineCommands-ARZYKGGE.js → machineCommands-5KBF4RCC.js} +503 -161
- package/{machineInfo-66ZFUMLE.js → machineInfo-UKPTZO5Y.js} +2 -2
- package/machineWsRunDispatch-4OQDEDOR.js +169 -0
- package/{memberThunks-5ZXPR63F.js → memberThunks-66DH6ABQ.js} +25 -18
- package/{models-ZPU5EDF4.js → models-LAS4B2B5.js} +2 -2
- package/package.json +1 -1
- package/{providerPresetApply-DD6NGWW6.js → providerPresetApply-MY66I6NT.js} +10 -10
- package/{providerRegistry-XDRLMYGJ.js → providerRegistry-QOE2FT57.js} +13 -9
- package/{read-EPTJRAEF.js → read-DC4NUGN6.js} +12 -8
- package/{readDocTool-W4NDXNEX.js → readDocTool-NCJ5NT25.js} +1 -1
- package/{readlineWorkspace-3XOFVARF.js → readlineWorkspace-RIE62QVZ.js} +5022 -921
- package/{removeDialogAgentAction-OSYNZRX7.js → removeDialogAgentAction-E2H3OZU6.js} +29 -28
- package/{runAgentClientLoop-UMF7VZYZ.js → runAgentClientLoop-KLUUXBZS.js} +154 -97
- package/{runtimeDoctorCommands-ID23PNNZ.js → runtimeDoctorCommands-GIOGC5SC.js} +17 -17
- package/secretCommands-ZXZRLR3R.js +700 -0
- package/setDialogExtraReferencesAction-SITRPMYU.js +37 -0
- package/{setPrimaryDialogAgentAction-WZ7KI3YA.js → setPrimaryDialogAgentAction-U7N45TGC.js} +30 -29
- package/{chunk-SONWNI3L.js → settingThunks-Y7SVJOMZ.js} +223 -928
- package/{skillDiscovery-ZBU76COE.js → skillDiscovery-QC35EQY4.js} +2 -2
- package/{slateUtils-RIZES3PV.js → slateUtils-NGV2NMKM.js} +1 -1
- package/{spaceCommands-UJOVU4XI.js → spaceCommands-ZR5BR3GX.js} +59 -59
- package/{streamAgentChatTurn-GYGMYOSM.js → streamAgentChatTurn-MN2SSPGA.js} +309 -165
- package/{switchDialogAgentAction-GMR7WN3P.js → switchDialogAgentAction-OMGBD3N2.js} +26 -22
- package/{tableCommands-G7RV3RU3.js → tableCommands-U3QDY4L6.js} +19 -17
- package/{toolApiClient-CVGWM4PN.js → toolApiClient-7WSJJJBV.js} +6 -5
- package/tools-W2MOLERY.js +124 -0
- package/tuiSummaryLlmCaller-BM3VSTBU.js +130 -0
- package/{updateCommands-4EHDLF5J.js → updateCommands-NQXAGFM7.js} +3 -3
- package/{updateDialogTitleAction-4U5W4AMH.js → updateDialogTitleAction-Z4JX6REN.js} +102 -57
- package/workloadLifecycle-36DXRZKU.js +320 -0
- package/action-GI44T4DR.js +0 -31
- package/agentListCommands-IW3GQVUP.js +0 -427
- package/agentRecordCommands-4YBSYPIY.js +0 -134
- package/agentRunCommand-5MU5X5OT.js +0 -161
- package/browser-image-compression-MFDTD7K6.js +0 -1763
- package/chatQueueReduxAdapter-HVHA2HPM.js +0 -186
- package/chromeOpsCommands-IXRLN57H.js +0 -289
- package/chunk-42Z3EMC4.js +0 -25363
- package/chunk-CQ3WA2NE.js +0 -299
- package/chunk-CYSYR67N.js +0 -93
- package/chunk-IAG4FHOJ.js +0 -34
- package/chunk-JBTJAPUF.js +0 -35
- package/chunk-K2CSUCHJ.js +0 -620
- package/chunk-LTRXGFMS.js +0 -83
- package/chunk-M76ECQRD.js +0 -13658
- package/chunk-MEYIRKDN.js +0 -8967
- package/chunk-OCZKATRC.js +0 -129
- package/chunk-OTGFTBLI.js +0 -13
- package/chunk-PUOC4YRO.js +0 -394
- package/chunk-QU5A4LYX.js +0 -2415
- package/chunk-URMS4XY2.js +0 -10
- package/chunk-UV6VISQJ.js +0 -20
- package/chunk-VJVNU77E.js +0 -83
- package/chunk-WRMKCKZ3.js +0 -13807
- package/chunk-Y5GCAMGP.js +0 -9
- package/chunk-YPREESF4.js +0 -225
- package/contentThunks-AK2F3KNC.js +0 -73
- package/createDialogAction-F5WEWA47.js +0 -66
- package/dialogCommands-G7YBVAMC.js +0 -102
- package/levelLazyShim-GZBKODGI.js +0 -7
- package/machineWsRunDispatch-I7F4L532.js +0 -149
- package/serverStoreFactory-YMXDF4NI.js +0 -20
- package/setDialogExtraReferencesAction-M32UYNCG.js +0 -30
- package/settingSlice-Q6EKL7EQ.js +0 -204
- package/syncMapping-N6RGXGBW.js +0 -437
- package/tools-DU4JXVAV.js +0 -111
- package/tuiSummaryLlmCaller-3YFNHCTW.js +0 -128
- package/{chunk-SV5IJK6K.js → chunk-NBTY7YJF.js} +3 -3
- package/{chunk-2SYTUTLI.js → chunk-YBNHPX4S.js} +3 -3
- package/{offlineMarxistsAgentCommand-HGXZV4XJ.js → offlineMarxistsAgentCommand-2QTHJCHV.js} +4 -4
package/chunk-CQ3WA2NE.js
DELETED
|
@@ -1,299 +0,0 @@
|
|
|
1
|
-
// packages/agent-runtime/declaredToolNames.ts
|
|
2
|
-
function extractDeclaredToolNames(tools) {
|
|
3
|
-
if (!Array.isArray(tools)) return void 0;
|
|
4
|
-
const names = /* @__PURE__ */ new Set();
|
|
5
|
-
for (const t of tools) {
|
|
6
|
-
const fn = t?.function;
|
|
7
|
-
if (fn && typeof fn.name === "string" && fn.name) names.add(fn.name);
|
|
8
|
-
}
|
|
9
|
-
return names;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
// packages/agent-runtime/outboundHistorySanitize.ts
|
|
13
|
-
function sanitizeForOutbound(messages, tools) {
|
|
14
|
-
return sanitizeOutboundHistory(messages, {
|
|
15
|
-
declaredToolNames: extractDeclaredToolNames(tools)
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
function stableToolCallId(assistantIndex, callIndex) {
|
|
19
|
-
return `call_sanitize_${assistantIndex}_${callIndex}`;
|
|
20
|
-
}
|
|
21
|
-
function isString(v) {
|
|
22
|
-
return typeof v === "string";
|
|
23
|
-
}
|
|
24
|
-
function isNonEmptyString(v) {
|
|
25
|
-
return typeof v === "string" && v.length > 0;
|
|
26
|
-
}
|
|
27
|
-
function joinLines(...parts) {
|
|
28
|
-
return parts.filter(isNonEmptyString).join("\n");
|
|
29
|
-
}
|
|
30
|
-
function jsonStringifyArguments(args) {
|
|
31
|
-
if (typeof args === "string") return args;
|
|
32
|
-
try {
|
|
33
|
-
return JSON.stringify(args ?? "");
|
|
34
|
-
} catch {
|
|
35
|
-
return "";
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
function renderToolCallAsText(call) {
|
|
39
|
-
const name = call?.function?.name ?? "unknown";
|
|
40
|
-
const rawArgs = call?.function?.arguments;
|
|
41
|
-
const args = jsonStringifyArguments(rawArgs);
|
|
42
|
-
return `[tool_call: ${name}(${args})]`;
|
|
43
|
-
}
|
|
44
|
-
function renderToolResultAsText(message) {
|
|
45
|
-
const name = isNonEmptyString(message.toolName) ? message.toolName : "tool";
|
|
46
|
-
const body = typeof message.content === "string" ? message.content : "";
|
|
47
|
-
return `[tool_result: ${name}: ${body}]`;
|
|
48
|
-
}
|
|
49
|
-
function normalizeToolCall(call, assistantIndex, callIndex) {
|
|
50
|
-
if (!call || typeof call !== "object") return null;
|
|
51
|
-
const c = call;
|
|
52
|
-
const fn = c.function;
|
|
53
|
-
if (!fn || typeof fn !== "object" || !isString(fn.name)) return null;
|
|
54
|
-
const id = isNonEmptyString(c.id) ? c.id : stableToolCallId(assistantIndex, callIndex);
|
|
55
|
-
return {
|
|
56
|
-
id,
|
|
57
|
-
type: isString(c.type) && c.type ? c.type : "function",
|
|
58
|
-
function: { name: fn.name, arguments: jsonStringifyArguments(fn.arguments) },
|
|
59
|
-
...typeof c.thought_signature === "string" ? { thought_signature: c.thought_signature } : {}
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
function sanitizeOutboundHistory(messages, options) {
|
|
63
|
-
if (!Array.isArray(messages) || messages.length === 0) return messages;
|
|
64
|
-
const declared = options?.declaredToolNames;
|
|
65
|
-
const candidateCallIds = /* @__PURE__ */ new Set();
|
|
66
|
-
for (let i = 0; i < messages.length; i++) {
|
|
67
|
-
const m = messages[i];
|
|
68
|
-
if (m.role !== "assistant" || !Array.isArray(m.tool_calls)) continue;
|
|
69
|
-
m.tool_calls.forEach((call, callIndex) => {
|
|
70
|
-
const name = call?.function?.name;
|
|
71
|
-
const declaredAllows = !declared || isString(name) && declared.has(name);
|
|
72
|
-
if (!declaredAllows) return;
|
|
73
|
-
if (!hasParsableObjectArguments(call?.function?.arguments)) {
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
const id = isNonEmptyString(call?.id) ? call.id : stableToolCallId(i, callIndex);
|
|
77
|
-
candidateCallIds.add(id);
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
const resultIds = /* @__PURE__ */ new Set();
|
|
81
|
-
for (const m of messages) {
|
|
82
|
-
if (m.role === "tool" && isNonEmptyString(m.tool_call_id)) {
|
|
83
|
-
resultIds.add(m.tool_call_id);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
const keepCallIds = /* @__PURE__ */ new Set();
|
|
87
|
-
for (const id of candidateCallIds) {
|
|
88
|
-
if (resultIds.has(id)) keepCallIds.add(id);
|
|
89
|
-
}
|
|
90
|
-
const out = [];
|
|
91
|
-
for (let i = 0; i < messages.length; i++) {
|
|
92
|
-
const m = messages[i];
|
|
93
|
-
if (m.role === "assistant") {
|
|
94
|
-
let toolCalls;
|
|
95
|
-
const downgradedLines = [];
|
|
96
|
-
if (Array.isArray(m.tool_calls) && m.tool_calls.length > 0) {
|
|
97
|
-
const kept = [];
|
|
98
|
-
m.tool_calls.forEach((call, callIndex) => {
|
|
99
|
-
const name = call?.function?.name;
|
|
100
|
-
const declaredAllows = !declared || isString(name) && declared.has(name);
|
|
101
|
-
const id = isNonEmptyString(call?.id) ? call.id : stableToolCallId(i, callIndex);
|
|
102
|
-
const keepStructural = declaredAllows && keepCallIds.has(id);
|
|
103
|
-
if (keepStructural) {
|
|
104
|
-
const normalized = normalizeToolCall(call, i, callIndex);
|
|
105
|
-
if (normalized) kept.push(normalized);
|
|
106
|
-
} else {
|
|
107
|
-
downgradedLines.push(renderToolCallAsText(call));
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
toolCalls = kept.length > 0 ? kept : void 0;
|
|
111
|
-
}
|
|
112
|
-
const downgradedText = joinLines(...downgradedLines);
|
|
113
|
-
const contentWithDowngrade = downgradedText.length > 0 ? combineContentWithText(m.content, downgradedText) : m.content;
|
|
114
|
-
const sanitizedAssistant = {
|
|
115
|
-
...m,
|
|
116
|
-
content: contentWithDowngrade,
|
|
117
|
-
tool_calls: toolCalls
|
|
118
|
-
};
|
|
119
|
-
if (!toolCalls) delete sanitizedAssistant.tool_calls;
|
|
120
|
-
out.push(sanitizedAssistant);
|
|
121
|
-
continue;
|
|
122
|
-
}
|
|
123
|
-
if (m.role === "tool") {
|
|
124
|
-
const id = isNonEmptyString(m.tool_call_id) ? m.tool_call_id : "";
|
|
125
|
-
if (id && keepCallIds.has(id)) {
|
|
126
|
-
out.push({ ...m, content: m.content ?? "", tool_call_id: id });
|
|
127
|
-
} else {
|
|
128
|
-
out.push({
|
|
129
|
-
role: "assistant",
|
|
130
|
-
content: renderToolResultAsText(m)
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
continue;
|
|
134
|
-
}
|
|
135
|
-
out.push({ ...m });
|
|
136
|
-
}
|
|
137
|
-
return out;
|
|
138
|
-
}
|
|
139
|
-
function combineContentWithText(base, extra) {
|
|
140
|
-
if (typeof base === "string") {
|
|
141
|
-
return base ? `${base}
|
|
142
|
-
${extra}` : extra;
|
|
143
|
-
}
|
|
144
|
-
if (Array.isArray(base)) {
|
|
145
|
-
return [...base, { type: "text", text: extra }];
|
|
146
|
-
}
|
|
147
|
-
return extra;
|
|
148
|
-
}
|
|
149
|
-
function hasParsableObjectArguments(raw) {
|
|
150
|
-
if (raw === void 0) return true;
|
|
151
|
-
if (raw === null || typeof raw === "number" || typeof raw === "boolean") {
|
|
152
|
-
return false;
|
|
153
|
-
}
|
|
154
|
-
if (typeof raw !== "string") return true;
|
|
155
|
-
if (raw.trim() === "") return true;
|
|
156
|
-
try {
|
|
157
|
-
const parsed = JSON.parse(raw);
|
|
158
|
-
return parsed !== null && typeof parsed === "object";
|
|
159
|
-
} catch {
|
|
160
|
-
return false;
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
var STRICT_JSON_STRING_TOKEN = /^"(?:[^"\\\u0000-\u001F]|\\["\\/bfnrt]|\\u[0-9A-Fa-f]{4})*"$/;
|
|
164
|
-
function isStrictJsonStringToken(value) {
|
|
165
|
-
if (!STRICT_JSON_STRING_TOKEN.test(value)) return false;
|
|
166
|
-
try {
|
|
167
|
-
return typeof JSON.parse(value) === "string";
|
|
168
|
-
} catch {
|
|
169
|
-
return false;
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
function closersOf(openStack) {
|
|
173
|
-
return openStack.slice().reverse().map((ch) => ch === "{" ? "}" : "]").join("");
|
|
174
|
-
}
|
|
175
|
-
function scanJsonForTailRepair(input) {
|
|
176
|
-
const stack = [];
|
|
177
|
-
let inString = false;
|
|
178
|
-
let escaped = false;
|
|
179
|
-
let lastCommaOutsideString = null;
|
|
180
|
-
for (let i = 0; i < input.length; i += 1) {
|
|
181
|
-
const ch = input[i];
|
|
182
|
-
if (inString) {
|
|
183
|
-
if (escaped) escaped = false;
|
|
184
|
-
else if (ch === "\\") escaped = true;
|
|
185
|
-
else if (ch === '"') inString = false;
|
|
186
|
-
continue;
|
|
187
|
-
}
|
|
188
|
-
if (ch === '"') {
|
|
189
|
-
inString = true;
|
|
190
|
-
continue;
|
|
191
|
-
}
|
|
192
|
-
if (ch === "{" || ch === "[") {
|
|
193
|
-
stack.push(ch);
|
|
194
|
-
continue;
|
|
195
|
-
}
|
|
196
|
-
if (ch === "}" || ch === "]") {
|
|
197
|
-
const open = stack.pop();
|
|
198
|
-
if (open !== (ch === "}" ? "{" : "[")) return null;
|
|
199
|
-
continue;
|
|
200
|
-
}
|
|
201
|
-
if (ch === ",") {
|
|
202
|
-
lastCommaOutsideString = { index: i, closers: closersOf(stack) };
|
|
203
|
-
continue;
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
return { inString, closers: closersOf(stack), lastCommaOutsideString };
|
|
207
|
-
}
|
|
208
|
-
function repairTruncatedToolArguments(raw) {
|
|
209
|
-
if (typeof raw !== "string") return null;
|
|
210
|
-
const withoutTrailingSpace = raw.replace(/\s+$/, "");
|
|
211
|
-
const endsWithComma = withoutTrailingSpace.endsWith(",");
|
|
212
|
-
const trimmed = endsWithComma ? withoutTrailingSpace.slice(0, -1).replace(/\s+$/, "") : withoutTrailingSpace;
|
|
213
|
-
if (trimmed === "" || trimmed.endsWith(",")) return null;
|
|
214
|
-
const scan = scanJsonForTailRepair(trimmed);
|
|
215
|
-
if (!scan || scan.inString) return null;
|
|
216
|
-
const lastChar = trimmed[trimmed.length - 1];
|
|
217
|
-
const tailIsCompleteToken = endsWithComma || lastChar === '"' || lastChar === "}" || lastChar === "]";
|
|
218
|
-
if (!tailIsCompleteToken) return null;
|
|
219
|
-
const candidates = [trimmed + scan.closers];
|
|
220
|
-
const lastComma = scan.lastCommaOutsideString;
|
|
221
|
-
if (lastComma && lastComma.index > 0) {
|
|
222
|
-
const tailAfterComma = trimmed.slice(lastComma.index + 1).trim();
|
|
223
|
-
if (isStrictJsonStringToken(tailAfterComma)) {
|
|
224
|
-
const head = trimmed.slice(0, lastComma.index);
|
|
225
|
-
candidates.push(head + lastComma.closers);
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
for (const candidate of candidates) {
|
|
229
|
-
try {
|
|
230
|
-
const parsed = JSON.parse(candidate);
|
|
231
|
-
if (parsed !== null && typeof parsed === "object" && !Array.isArray(parsed) && Object.keys(parsed).length > 0) {
|
|
232
|
-
return candidate;
|
|
233
|
-
}
|
|
234
|
-
} catch {
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
return null;
|
|
238
|
-
}
|
|
239
|
-
function downgradeUnparsableToolCalls(messages) {
|
|
240
|
-
if (!Array.isArray(messages) || messages.length === 0) {
|
|
241
|
-
return { messages, downgraded: 0 };
|
|
242
|
-
}
|
|
243
|
-
const poisonIds = /* @__PURE__ */ new Set();
|
|
244
|
-
for (let i = 0; i < messages.length; i++) {
|
|
245
|
-
const m = messages[i];
|
|
246
|
-
if (m.role !== "assistant" || !Array.isArray(m.tool_calls)) continue;
|
|
247
|
-
m.tool_calls.forEach((call, callIndex) => {
|
|
248
|
-
if (!hasParsableObjectArguments(call?.function?.arguments)) {
|
|
249
|
-
const id = isNonEmptyString(call?.id) ? call.id : stableToolCallId(i, callIndex);
|
|
250
|
-
poisonIds.add(id);
|
|
251
|
-
}
|
|
252
|
-
});
|
|
253
|
-
}
|
|
254
|
-
if (poisonIds.size === 0) return { messages, downgraded: 0 };
|
|
255
|
-
let downgraded = 0;
|
|
256
|
-
const out = [];
|
|
257
|
-
for (const m of messages) {
|
|
258
|
-
if (m.role === "assistant" && Array.isArray(m.tool_calls) && m.tool_calls.length > 0) {
|
|
259
|
-
const kept = [];
|
|
260
|
-
const lines = [];
|
|
261
|
-
for (const call of m.tool_calls) {
|
|
262
|
-
if (!hasParsableObjectArguments(call?.function?.arguments)) {
|
|
263
|
-
lines.push(renderToolCallAsText(call));
|
|
264
|
-
downgraded++;
|
|
265
|
-
} else {
|
|
266
|
-
kept.push(call);
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
if (lines.length === 0) {
|
|
270
|
-
out.push(m);
|
|
271
|
-
continue;
|
|
272
|
-
}
|
|
273
|
-
const sanitized = {
|
|
274
|
-
...m,
|
|
275
|
-
content: combineContentWithText(m.content, joinLines(...lines)),
|
|
276
|
-
tool_calls: kept.length > 0 ? kept : void 0
|
|
277
|
-
};
|
|
278
|
-
if (kept.length === 0) delete sanitized.tool_calls;
|
|
279
|
-
out.push(sanitized);
|
|
280
|
-
continue;
|
|
281
|
-
}
|
|
282
|
-
if (m.role === "tool") {
|
|
283
|
-
const id = isNonEmptyString(m.tool_call_id) ? m.tool_call_id : "";
|
|
284
|
-
if (id && poisonIds.has(id)) {
|
|
285
|
-
out.push({ role: "assistant", content: renderToolResultAsText(m) });
|
|
286
|
-
continue;
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
out.push(m);
|
|
290
|
-
}
|
|
291
|
-
return { messages: out, downgraded };
|
|
292
|
-
}
|
|
293
|
-
|
|
294
|
-
export {
|
|
295
|
-
sanitizeForOutbound,
|
|
296
|
-
hasParsableObjectArguments,
|
|
297
|
-
repairTruncatedToolArguments,
|
|
298
|
-
downgradeUnparsableToolCalls
|
|
299
|
-
};
|
package/chunk-CYSYR67N.js
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
cloudflareModels,
|
|
3
|
-
gmiModels,
|
|
4
|
-
openrouterModels,
|
|
5
|
-
platformHostedModels,
|
|
6
|
-
zaiModels
|
|
7
|
-
} from "./chunk-Y3PMXGLH.js";
|
|
8
|
-
|
|
9
|
-
// packages/ai/llm/modelAbility.ts
|
|
10
|
-
var MODEL_ABILITY_TABLE = {
|
|
11
|
-
"claude-opus-5": { passAt1: 74, benchmarkScore: 61, writingScore: 82, aaSnapshot: { measuredAt: "2026-09-24", sourceUrl: "https://artificialanalysis.ai/providers/anthropic", intelligenceIndex: 51, outputSpeedTps: 54, firstAnswerTokenS: 50.63, costPerTaskUsd: 5.86 }, aaEvals: { "aa-analyst-agent": 53.8, "aa-briefcase-v1.1": 1673, "aa-omniscience": 60.9, "automationbench-aa": 56.6, "critpt": 29.1, "enterprise-ops-gym-aa": 47.5, "gdp-pdf": 21.6, "gdpval-aa-v2.1": 1708, "harvey-lab-aa": 93.5, "humanitys-last-exam": 54.9, "mlcr-aa": 59.4, "mmmu-pro": 84.7, "scicode": 56.4, "terminal-bench-4.0": 49 } },
|
|
12
|
-
"claude-opus-5-5": { aaSnapshot: { measuredAt: "2026-09-24", sourceUrl: "https://artificialanalysis.ai/providers/anthropic", intelligenceIndex: 58, costPerTaskUsd: 5.98 }, aaEvals: { "aa-briefcase-v1.1": 1822, "aa-lcr-v1.1": 84.7, "aa-omniscience": 66.2, "aa-omniscience-non-hallucination": 58.6, "automationbench-aa": 69.5, "critpt": 31.7, "gdp-pdf": 28.8, "gdpval-aa-v2.1": 1846, "harvey-lab-aa": 91.2, "humanitys-last-exam": 61.4, "mlcr-aa": 66.7, "mmmu-pro": 87.7, "scicode": 66.9, "terminal-bench-4.0": 59.6 } },
|
|
13
|
-
"gpt-6-astra": { passAt1: 85, benchmarkScore: 90, writingScore: 92, aaSnapshot: { measuredAt: "2026-09-24", sourceUrl: "https://artificialanalysis.ai/providers/openai", intelligenceIndex: 53, outputSpeedTps: 52, firstAnswerTokenS: 352.15, costPerTaskUsd: 3.26 }, aaEvals: { "aa-analyst-agent": 51.2, "aa-briefcase-v1.1": 1569, "aa-omniscience": 62.6, "aa-omniscience-non-hallucination": 51.3, "automationbench-aa": 68.5, "critpt": 31.7, "gdp-pdf": 32.2, "gdpval-aa-v2.1": 1542, "humanitys-last-exam": 54.7, "mlcr-aa": 35, "mmmu-pro": 86.9, "scicode": 56.5, "terminal-bench-4.0": 59.6 } },
|
|
14
|
-
"claude-opus-4-6": { passAt1: 65, benchmarkScore: 68, writingScore: 78, aaSnapshot: { measuredAt: "2026-09-24", sourceUrl: "https://artificialanalysis.ai/providers/anthropic", intelligenceIndex: 32, outputSpeedTps: 40, firstAnswerTokenS: 21.89 } },
|
|
15
|
-
"gpt-5.6-sol": { passAt1: 73, benchmarkScore: 59, writingScore: 80, aaSnapshot: { measuredAt: "2026-09-24", sourceUrl: "https://artificialanalysis.ai/providers/openai", intelligenceIndex: 47, outputSpeedTps: 77, firstAnswerTokenS: 113.21, costPerTaskUsd: 1.99 }, aaEvals: { "aa-analyst-agent": 47.5, "aa-briefcase-v1.1": 1487, "aa-lcr-v1.1": 84, "aa-omniscience": 59.4, "automationbench-aa": 60.1, "critpt": 32.3, "enterprise-ops-gym-aa": 42.9, "gdp-pdf": 27.2, "gdpval-aa-v2.1": 1588, "harvey-lab-aa": 87.2, "humanitys-last-exam": 49.5, "ifbench": 72.7, "itbench-aa": 56.2, "mlcr-aa": 26.1, "mmmu-pro": 83.4, "scicode": 57.1, "terminal-bench-4.0": 39.9 } },
|
|
16
|
-
"claude-fable-5": { passAt1: 70, aaSnapshot: { measuredAt: "2026-09-24", sourceUrl: "https://artificialanalysis.ai/providers/anthropic", intelligenceIndex: 50, outputSpeedTps: 68, firstAnswerTokenS: 110.36, costPerTaskUsd: 8.75 }, aaEvals: { "aa-analyst-agent": 48.8, "aa-omniscience": 65.3, "enterprise-ops-gym-aa": 51.1, "harvey-lab-aa": 93.6, "humanitys-last-exam": 55.5, "mlcr-aa": 64.4, "scicode": 61 } },
|
|
17
|
-
"gpt-5.6-terra": { passAt1: 70, benchmarkScore: 55, aaSnapshot: { measuredAt: "2026-09-24", sourceUrl: "https://artificialanalysis.ai/providers/openai", intelligenceIndex: 42, outputSpeedTps: 83, firstAnswerTokenS: 211.09, costPerTaskUsd: 1.4 }, aaEvals: { "apex-agents-aa": 38.9, "itbench-aa": 51 } },
|
|
18
|
-
"kimi-k3": { passAt1: 69, benchmarkScore: 57, writingScore: 81, aaSnapshot: { measuredAt: "2026-09-24", sourceUrl: "https://artificialanalysis.ai/providers/kimi", intelligenceIndex: 44, outputSpeedTps: 37, firstAnswerTokenS: 4.08, costPerTaskUsd: 2 }, aaEvals: { "aa-analyst-agent": 38.8, "aa-briefcase-v1.1": 1504, "aa-lcr-v1.1": 88.7, "aa-omniscience": 47.6, "aa-omniscience-non-hallucination": 53.2, "apex-agents-aa": 41.3, "automationbench-aa": 58.3, "critpt": 23.4, "enterprise-ops-gym-aa": 45.3, "gdp-pdf": 22, "gdpval-aa-v2.1": 1524, "harvey-lab-aa": 94.6, "humanitys-last-exam": 46.9, "itbench-aa": 47.7, "mlcr-aa": 38.3, "mmmu-pro": 80.5, "scicode": 59.5 } },
|
|
19
|
-
"gpt-5.5": { passAt1: 67, aaSnapshot: { measuredAt: "2026-09-24", sourceUrl: "https://artificialanalysis.ai/providers/openai", intelligenceIndex: 38, outputSpeedTps: 91, firstAnswerTokenS: 62.45, costPerTaskUsd: 2.63 }, aaEvals: { "aa-analyst-agent": 50, "aa-lcr-v1.1": 84.3, "apex-agents-aa": 37.7, "itbench-aa": 45.8 } },
|
|
20
|
-
"gpt-5.6-luna": { passAt1: 67, benchmarkScore: 51, aaSnapshot: { measuredAt: "2026-09-24", sourceUrl: "https://artificialanalysis.ai/providers/openai", intelligenceIndex: 37, outputSpeedTps: 133, firstAnswerTokenS: 114.02, costPerTaskUsd: 0.18 }, aaEvals: { "aa-lcr-v1.1": 83.7, "aa-omniscience": 42.7, "apex-agents-aa": 35.8, "critpt": 20.6, "enterprise-ops-gym-aa": 40.8, "gdp-pdf": 24, "harvey-lab-aa": 87.9, "itbench-aa": 40.3, "mlcr-aa": 19.4, "mmmu-pro": 78.6 } },
|
|
21
|
-
"gpt-6-luna": { aaSnapshot: { measuredAt: "2026-09-24", sourceUrl: "https://artificialanalysis.ai/providers/openai", intelligenceIndex: 37, outputSpeedTps: 132, firstAnswerTokenS: 104.42, costPerTaskUsd: 0.07 }, aaEvals: { "aa-lcr-v1.1": 83.3, "aa-omniscience": 43.8, "critpt": 19.4, "gdp-pdf": 20.4, "mmmu-pro": 75.5, "scicode": 54.6 } },
|
|
22
|
-
"grok-4.6": { passAt1: 67, aaSnapshot: { measuredAt: "2026-09-24", sourceUrl: "https://artificialanalysis.ai/providers/xai", intelligenceIndex: 44, outputSpeedTps: 61, firstAnswerTokenS: 45.3, costPerTaskUsd: 1.86 }, aaEvals: { "aa-analyst-agent": 41.2, "aa-briefcase-v1.1": 1546, "aa-omniscience": 48.2, "aa-omniscience-non-hallucination": 34.3, "automationbench-aa": 67, "enterprise-ops-gym-aa": 48.3, "gdp-pdf": 17, "gdpval-aa-v2.1": 1605, "humanitys-last-exam": 42.9, "scicode": 56.5, "terminal-bench-4.0": 21.2 } },
|
|
23
|
-
"deepseek-v4-pro": { passAt1: 63, writingScore: 79, aaSnapshot: { measuredAt: "2026-09-24", sourceUrl: "https://artificialanalysis.ai/models/deepseek-v4-pro", intelligenceIndex: 36, outputSpeedTps: 66, firstAnswerTokenS: 1.7, costPerTaskUsd: 0.67 }, aaEvals: { "enterprise-ops-gym-aa": 49.6 } },
|
|
24
|
-
"qwen3.8-max": { passAt1: 57, writingScore: 77, aaSnapshot: { measuredAt: "2026-09-24", sourceUrl: "https://artificialanalysis.ai/models/qwen3-8-max", intelligenceIndex: 45, outputSpeedTps: 39.3, costPerTaskUsd: 5.41 }, aaEvals: { "aa-briefcase-v1.1": 1640, "aa-omniscience-non-hallucination": 28.8, "gdp-pdf": 22.8, "gdpval-aa-v2.1": 1668, "humanitys-last-exam": 43.1, "mlcr-aa": 20, "mmmu-pro": 82.8, "terminal-bench-4.0": 38.9 } },
|
|
25
|
-
"muse-spark-1.3": { aaSnapshot: { measuredAt: "2026-09-24", sourceUrl: "https://artificialanalysis.ai/providers/meta", intelligenceIndex: 48, outputSpeedTps: 219, firstAnswerTokenS: 24.12, costPerTaskUsd: 1.6 }, aaEvals: { "aa-briefcase-v1.1": 1597, "aa-lcr-v1.1": 83, "aa-omniscience": 43.6, "aa-omniscience-non-hallucination": 32.9, "automationbench-aa": 57.9, "critpt": 24.9, "gdp-pdf": 26.6, "gdpval-aa-v2.1": 1674, "harvey-lab-aa": 95.5, "humanitys-last-exam": 48.7, "mlcr-aa": 43.3, "scicode": 58.8, "terminal-bench-4.0": 33.3 } },
|
|
26
|
-
"muse-spark-1.2": { passAt1: 55, aaSnapshot: { measuredAt: "2026-09-24", sourceUrl: "https://artificialanalysis.ai/providers/meta", intelligenceIndex: 40, outputSpeedTps: 187, firstAnswerTokenS: 16.6, costPerTaskUsd: 0.97 } },
|
|
27
|
-
"grok-4.5": { passAt1: 54, benchmarkScore: 54, aaSnapshot: { measuredAt: "2026-09-24", sourceUrl: "https://artificialanalysis.ai/providers/xai", intelligenceIndex: 39, outputSpeedTps: 55, firstAnswerTokenS: 11.28, costPerTaskUsd: 1.04 } },
|
|
28
|
-
"claude-sonnet-5": { passAt1: 54, benchmarkScore: 53, aaSnapshot: { measuredAt: "2026-09-24", sourceUrl: "https://artificialanalysis.ai/providers/anthropic", intelligenceIndex: 38, outputSpeedTps: 79, firstAnswerTokenS: 150.02, costPerTaskUsd: 5.09 }, aaEvals: { "aa-analyst-agent": 46.2, "mlcr-aa": 55 } },
|
|
29
|
-
"deepseek-flash": { passAt1: 53 },
|
|
30
|
-
"deepseek-v4-flash": { passAt1: 53, aaSnapshot: { measuredAt: "2026-09-24", sourceUrl: "https://artificialanalysis.ai/models/deepseek-v4-flash", intelligenceIndex: 34, outputSpeedTps: 221, firstAnswerTokenS: 1.16, costPerTaskUsd: 0.22 } },
|
|
31
|
-
"gemini-3.7-flash": { passAt1: 58, benchmarkScore: 65, writingScore: 88, aaSnapshot: { measuredAt: "2026-09-24", sourceUrl: "https://artificialanalysis.ai/providers/google", intelligenceIndex: 40, outputSpeedTps: 281, firstAnswerTokenS: 4.9 }, aaEvals: { "aa-analyst-agent": 60, "enterprise-ops-gym-aa": 50.4, "scicode": 59.8 } },
|
|
32
|
-
// TODO(benchmark): gemini-3.8-flash 官方基准快照未出,暂沿用 3.7 分数占位,确认后更新。
|
|
33
|
-
"gemini-3.8-flash": { passAt1: 58, benchmarkScore: 65, writingScore: 88, aaSnapshot: { measuredAt: "2026-09-24", sourceUrl: "https://artificialanalysis.ai/providers/google", intelligenceIndex: 41, outputSpeedTps: 291, firstAnswerTokenS: 15.14, costPerTaskUsd: 1.24 }, aaEvals: { "aa-lcr-v1.1": 81.3, "aa-omniscience": 54.6, "aa-omniscience-non-hallucination": 55.2, "automationbench-aa": 59.9, "critpt": 18.3, "gdp-pdf": 21, "humanitys-last-exam": 47.8, "mlcr-aa": 21.7, "mmmu-pro": 85.6, "scicode": 56.6 } },
|
|
34
|
-
"muse-spark-1.1": { passAt1: 53, aaSnapshot: { measuredAt: "2026-09-24", sourceUrl: "https://artificialanalysis.ai/providers/meta", intelligenceIndex: 34, costPerTaskUsd: 1.38 } },
|
|
35
|
-
"gpt-5.4": { passAt1: 52, aaSnapshot: { measuredAt: "2026-09-24", sourceUrl: "https://artificialanalysis.ai/providers/openai", intelligenceIndex: 39, outputSpeedTps: 140, firstAnswerTokenS: 141.55 }, aaEvals: { "apex-agents-aa": 33.3 } },
|
|
36
|
-
"gemini-3.6-flash": { passAt1: 49, benchmarkScore: 50, aaSnapshot: { measuredAt: "2026-09-24", sourceUrl: "https://artificialanalysis.ai/providers/google", intelligenceIndex: 34, outputSpeedTps: 178, firstAnswerTokenS: 17.32, costPerTaskUsd: 0.93 } },
|
|
37
|
-
"glm-5.3": { passAt1: 52, benchmarkScore: 60, aaSnapshot: { measuredAt: "2026-09-24", sourceUrl: "https://artificialanalysis.ai/models/glm-5-3", intelligenceIndex: 45, outputSpeedTps: 57, costPerTaskUsd: 2.01 }, aaEvals: { "aa-briefcase-v1.1": 1516, "aa-omniscience-non-hallucination": 29.6, "automationbench-aa": 62.2, "critpt": 19.1, "enterprise-ops-gym-aa": 36.4, "gdpval-aa-v2.1": 1646, "humanitys-last-exam": 42.3, "mlcr-aa": 51.1, "scicode": 59, "terminal-bench-4.0": 41.9 } },
|
|
38
|
-
"glm-5.2": { passAt1: 44, benchmarkScore: 51, aaSnapshot: { measuredAt: "2026-09-24", sourceUrl: "https://artificialanalysis.ai/models/glm-5-2", intelligenceIndex: 34, outputSpeedTps: 69.2, costPerTaskUsd: 0.96 }, aaEvals: { "apex-agents-aa": 33.7, "itbench-aa": 42.7 } },
|
|
39
|
-
// ── StepFun(阶跃星辰)─ 仅有 AA 快照,无 pass@1 等旧字段。
|
|
40
|
-
// 来源:https://artificialanalysis.ai/providers/stepfun 对比表。
|
|
41
|
-
// 其中 3.5-flash-2603 已被 AA 标记 deprecated(官方推荐 3.7-flash)。
|
|
42
|
-
"step-5-preview": { aaSnapshot: { measuredAt: "2026-09-24", sourceUrl: "https://artificialanalysis.ai/providers/stepfun", intelligenceIndex: 44, outputSpeedTps: 85, firstAnswerTokenS: 3.48, costPerTaskUsd: 0.72 }, aaEvals: { "aa-briefcase-v1.1": 1432, "aa-lcr-v1.1": 88.3, "aa-omniscience-non-hallucination": 43, "critpt": 20.9, "gdpval-aa-v2.1": 1566, "humanitys-last-exam": 46.5, "mmmu-pro": 76.4, "scicode": 58.9, "terminal-bench-4.0": 33.3 } },
|
|
43
|
-
"step-3.7-flash": { aaSnapshot: { measuredAt: "2026-09-24", sourceUrl: "https://artificialanalysis.ai/providers/stepfun", intelligenceIndex: 19, outputSpeedTps: 190, firstAnswerTokenS: 2.66 } },
|
|
44
|
-
"step-3.5-flash-2603": { aaSnapshot: { measuredAt: "2026-09-24", sourceUrl: "https://artificialanalysis.ai/providers/stepfun", intelligenceIndex: 17, outputSpeedTps: 133, firstAnswerTokenS: 3.33 } },
|
|
45
|
-
"step-3.5-flash": { aaSnapshot: { measuredAt: "2026-09-24", sourceUrl: "https://artificialanalysis.ai/providers/stepfun", intelligenceIndex: 17, outputSpeedTps: 137, firstAnswerTokenS: 3.5 } },
|
|
46
|
-
// ── Xiaomi MiMo ── AA 只收录 Pro 档(V2.6-Pro / V2.5-Pro);
|
|
47
|
-
// mimo-v2.6-flash 与 mimo-v2.6-pro-ultraspeed AA 未收录,缺失即缺失。
|
|
48
|
-
"mimo-v2.6-pro": { aaSnapshot: { measuredAt: "2026-09-24", sourceUrl: "https://artificialanalysis.ai/providers/xiaomi", intelligenceIndex: 46, outputSpeedTps: 49, firstAnswerTokenS: 2.93, costPerTaskUsd: 0.13 }, aaEvals: { "aa-briefcase-v1.1": 1522, "aa-lcr-v1.1": 86.3, "aa-omniscience-non-hallucination": 40.6, "automationbench-aa": 58.6, "critpt": 26.6, "gdp-pdf": 19.2, "gdpval-aa-v2.1": 1673, "humanitys-last-exam": 49.4, "scicode": 60.9, "terminal-bench-4.0": 34.8 } },
|
|
49
|
-
"mimo-v2.5-pro": { aaSnapshot: { measuredAt: "2026-09-24", sourceUrl: "https://artificialanalysis.ai/providers/xiaomi", intelligenceIndex: 26, outputSpeedTps: 52, firstAnswerTokenS: 7.95, costPerTaskUsd: 0.05 } }
|
|
50
|
-
};
|
|
51
|
-
var EFFORT_SUFFIXES = [
|
|
52
|
-
"-extra-low",
|
|
53
|
-
"-low",
|
|
54
|
-
"-medium",
|
|
55
|
-
"-high",
|
|
56
|
-
"-thinking",
|
|
57
|
-
"-tiered",
|
|
58
|
-
":cloud"
|
|
59
|
-
];
|
|
60
|
-
function normalizeModelName(raw) {
|
|
61
|
-
let name = raw.trim().toLowerCase();
|
|
62
|
-
const slash = name.indexOf("/");
|
|
63
|
-
if (slash !== -1) name = name.slice(slash + 1);
|
|
64
|
-
for (const suffix of EFFORT_SUFFIXES) {
|
|
65
|
-
if (name.endsWith(suffix) && name.length > suffix.length) {
|
|
66
|
-
name = name.slice(0, name.length - suffix.length);
|
|
67
|
-
break;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
return name;
|
|
71
|
-
}
|
|
72
|
-
function getModelAbility(modelName) {
|
|
73
|
-
const entry = MODEL_ABILITY_TABLE[normalizeModelName(modelName)];
|
|
74
|
-
return entry ? { ...entry } : void 0;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
// packages/ai/llm/models.ts
|
|
78
|
-
var withProvider = (provider) => (models) => models.map((model) => ({ ...model, provider }));
|
|
79
|
-
var ALL_MODELS = [
|
|
80
|
-
...withProvider("nolo")(platformHostedModels),
|
|
81
|
-
...withProvider("openrouter")(openrouterModels),
|
|
82
|
-
...withProvider("cloudflare")(cloudflareModels),
|
|
83
|
-
...withProvider("gmi")(gmiModels),
|
|
84
|
-
...withProvider("zai")(zaiModels)
|
|
85
|
-
].map((model) => {
|
|
86
|
-
const ability = getModelAbility(model.name);
|
|
87
|
-
return ability ? { ...model, ability } : model;
|
|
88
|
-
});
|
|
89
|
-
|
|
90
|
-
export {
|
|
91
|
-
getModelAbility,
|
|
92
|
-
ALL_MODELS
|
|
93
|
-
};
|
package/chunk-IAG4FHOJ.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
fetchReferenceContents,
|
|
3
|
-
resolveReferenceAssets
|
|
4
|
-
} from "./chunk-T767MPHB.js";
|
|
5
|
-
|
|
6
|
-
// packages/ai/agent/fetchAgentContexts.ts
|
|
7
|
-
async function fetchAgentContexts(references, dispatch) {
|
|
8
|
-
if (!Array.isArray(references)) {
|
|
9
|
-
return { botInstructionsContext: "", botKnowledgeContext: "" };
|
|
10
|
-
}
|
|
11
|
-
const { references: normalizedRefs, contentByKey } = await resolveReferenceAssets(references, dispatch);
|
|
12
|
-
const instructionKeys = /* @__PURE__ */ new Set();
|
|
13
|
-
const knowledgeKeys = /* @__PURE__ */ new Set();
|
|
14
|
-
normalizedRefs.forEach((ref) => {
|
|
15
|
-
if (!ref.dbKey) return;
|
|
16
|
-
ref.type === "instruction" ? instructionKeys.add(ref.dbKey) : knowledgeKeys.add(ref.dbKey);
|
|
17
|
-
});
|
|
18
|
-
const [instructionsMap, knowledgeMap] = await Promise.all([
|
|
19
|
-
fetchReferenceContents(Array.from(instructionKeys), dispatch, {
|
|
20
|
-
preloaded: contentByKey
|
|
21
|
-
}),
|
|
22
|
-
fetchReferenceContents(Array.from(knowledgeKeys), dispatch, {
|
|
23
|
-
preloaded: contentByKey
|
|
24
|
-
})
|
|
25
|
-
]);
|
|
26
|
-
return {
|
|
27
|
-
botInstructionsContext: Array.from(instructionsMap.values()).join(""),
|
|
28
|
-
botKnowledgeContext: Array.from(knowledgeMap.values()).join("")
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export {
|
|
33
|
-
fetchAgentContexts
|
|
34
|
-
};
|
package/chunk-JBTJAPUF.js
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
// packages/connector-experimental/codexBinary.ts
|
|
2
|
-
import { copyFileSync, existsSync, mkdirSync } from "node:fs";
|
|
3
|
-
import { homedir } from "node:os";
|
|
4
|
-
import { dirname, join } from "node:path";
|
|
5
|
-
var WINDOWS_APPS_CODEX_PATTERN = /\\WindowsApps\\OpenAI\.Codex_[^\\]+\\app\\resources$/i;
|
|
6
|
-
function pathEntries(env) {
|
|
7
|
-
return (env.PATH ?? process.env.PATH ?? "").split(process.platform === "win32" ? ";" : ":");
|
|
8
|
-
}
|
|
9
|
-
function findWindowsAppsCodex(env) {
|
|
10
|
-
if (process.platform !== "win32") return "";
|
|
11
|
-
for (const entry of pathEntries(env)) {
|
|
12
|
-
if (!WINDOWS_APPS_CODEX_PATTERN.test(entry)) continue;
|
|
13
|
-
const candidate = join(entry, "codex.exe");
|
|
14
|
-
if (existsSync(candidate)) return candidate;
|
|
15
|
-
}
|
|
16
|
-
return "";
|
|
17
|
-
}
|
|
18
|
-
function copyCodexToUserBin(source, env) {
|
|
19
|
-
const target = env.NOLO_CODEX_SHIM_PATH ?? join(homedir(), ".nolo", "bin", "codex.exe");
|
|
20
|
-
if (existsSync(target)) return target;
|
|
21
|
-
mkdirSync(dirname(target), { recursive: true });
|
|
22
|
-
copyFileSync(source, target);
|
|
23
|
-
return target;
|
|
24
|
-
}
|
|
25
|
-
function resolveLaunchableCodexCommand(env = process.env) {
|
|
26
|
-
const explicit = env.NOLO_CODEX_BIN?.trim();
|
|
27
|
-
if (explicit) return explicit;
|
|
28
|
-
const windowsAppsCodex = findWindowsAppsCodex(env);
|
|
29
|
-
if (windowsAppsCodex) return copyCodexToUserBin(windowsAppsCodex, env);
|
|
30
|
-
return "codex";
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
export {
|
|
34
|
-
resolveLaunchableCodexCommand
|
|
35
|
-
};
|