nolo-cli 0.83.0-alpha.2 → 0.83.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/README.md +2 -2
  2. package/{_executeModel-TRYFRXDJ.js → _executeModel-LUNEV235.js} +48 -48
  3. package/{action-D22U6CTH.js → action-YVYQEAAV.js} +11 -11
  4. package/{addContentAction-XAPUTGL4.js → addContentAction-O7R66HEX.js} +9 -9
  5. package/{addDialogAgentAction-M7VLLBZM.js → addDialogAgentAction-74OA7KYP.js} +8 -8
  6. package/{agentDeleteCommand-YZ74ZWP5.js → agentDeleteCommand-2YAHAZFJ.js} +31 -30
  7. package/{agentEmailCommands-RMTYKFBY.js → agentEmailCommands-G6A7IRPQ.js} +67 -64
  8. package/{agentGrantCommands-R3VQEZJR.js → agentGrantCommands-M3XFO6EN.js} +2 -2
  9. package/{agentListCommands-5WZ7MGH4.js → agentListCommands-KMS675GZ.js} +40 -33
  10. package/{agentMachineCommands-U7QFPT5D.js → agentMachineCommands-W2SMNSQ3.js} +31 -30
  11. package/{agentProviderCommands-65ZC2WB4.js → agentProviderCommands-GNPTL5XR.js} +87 -0
  12. package/{agentPullCommand-N7L2CT7L.js → agentPullCommand-O5MPVJ5E.js} +3 -3
  13. package/agentRecordCommands-D7BRMFNI.js +128 -0
  14. package/{agentRunCommand-ZXEAWYLV.js → agentRunCommand-VL6MMEUB.js} +65 -62
  15. package/{agentRunControl-T44MESII.js → agentRunControl-AVJR4JW4.js} +2 -2
  16. package/{agentRuntimeLocal-PQEIUOJU.js → agentRuntimeLocal-VXZSDIGT.js} +27 -26
  17. package/{agentSlice-Q5XOM2PN.js → agentSlice-5YJHUO47.js} +10 -10
  18. package/{appDeleteCommands-UVLHOLVH.js → appDeleteCommands-32MHLR4L.js} +31 -30
  19. package/{appDeployCommands-NTKUPWIJ.js → appDeployCommands-WCQOUSOB.js} +31 -30
  20. package/{appDeployStatusCommands-SXJHAM6D.js → appDeployStatusCommands-6QKB7DYN.js} +31 -30
  21. package/{appGetCommands-MAV3RF4X.js → appGetCommands-SFAPP5PB.js} +31 -30
  22. package/{appListCommands-7HWANPQU.js → appListCommands-EKUBDRUO.js} +31 -30
  23. package/{authCommand-7N2G6MXP.js → authCommand-F4EFRRX6.js} +89 -24
  24. package/{authCommands-ILTBI6JV.js → authCommands-RGOGCPP6.js} +4 -5
  25. package/builtinSkillRegistry-FUAVTRVZ.js +33 -0
  26. package/{chatQueueReduxAdapter-WICMMQZT.js → chatQueueReduxAdapter-PQMRR2PK.js} +24 -24
  27. package/{chromeCommands-VOIRNJBL.js → chromeCommands-FZYAU75D.js} +1 -1
  28. package/{chromeOpsCommands-M7DPCX2T.js → chromeOpsCommands-62P2Q2YB.js} +31 -1
  29. package/{chunk-C3FZR5EC.js → chunk-2F7RJC6L.js} +1 -1
  30. package/{chunk-HQUORJTM.js → chunk-3BMYXEUW.js} +1 -1
  31. package/{chunk-3QPYFHAH.js → chunk-3DII57IT.js} +1 -1
  32. package/{chunk-NTW5GWDM.js → chunk-3VNWWVKB.js} +2 -0
  33. package/{chunk-DWUCB2A3.js → chunk-42V6BK2E.js} +1 -1
  34. package/{chunk-5G3IP3R6.js → chunk-45C5ER5U.js} +10 -10
  35. package/{chunk-DSRXPQWA.js → chunk-4OEFYTWL.js} +43 -43
  36. package/{chunk-6RUOYAPM.js → chunk-4S5QUMJP.js} +7 -7
  37. package/{chunk-GBPZKFYK.js → chunk-53HEEOTT.js} +4 -4
  38. package/{chunk-5Q5LYRJH.js → chunk-5FBTLSFG.js} +155 -795
  39. package/{chunk-KIS76A2P.js → chunk-5H7KJX7J.js} +38 -4
  40. package/{chunk-5XTOKQLW.js → chunk-5UTFL4QJ.js} +6 -2
  41. package/chunk-5ZUL4CUO.js +10 -0
  42. package/{chunk-E6RGHPDR.js → chunk-6D6VBVEW.js} +4 -6
  43. package/{chunk-KVDUCO4Q.js → chunk-6IG4XSS6.js} +16 -12
  44. package/{chunk-CMH2SYHX.js → chunk-6OZ36FXI.js} +2 -2
  45. package/{chunk-5BVAAVIF.js → chunk-6Q33GUCC.js} +1 -1
  46. package/{chunk-2OVE3GVB.js → chunk-6VFARHZW.js} +581 -298
  47. package/{chunk-BYEJ7K2Z.js → chunk-7S4YWN7P.js} +1 -1
  48. package/{chunk-SREASRV5.js → chunk-ABQYVJBJ.js} +1 -1
  49. package/chunk-ACTMNVHM.js +93 -0
  50. package/{chunk-NRALD3CC.js → chunk-AEOE4Z6Q.js} +54 -10
  51. package/{chunk-XWNRAIUL.js → chunk-AFUORTY4.js} +6 -16
  52. package/chunk-BNGW5ASC.js +344 -0
  53. package/{chunk-SZLVDREM.js → chunk-BP4XNZRM.js} +3 -3
  54. package/{chunk-JZYXSXMZ.js → chunk-BTI7PJDX.js} +15 -15
  55. package/{chunk-2KDR4CWE.js → chunk-BYMV6QZG.js} +24 -1
  56. package/{chunk-GCJ3IS5M.js → chunk-DHDMC6FO.js} +175 -6
  57. package/{chunk-E36HZARC.js → chunk-DNCEALKX.js} +93 -17
  58. package/{chunk-N5KGQ5AD.js → chunk-DRGSDQBL.js} +3 -3
  59. package/{chunk-D6XYLSOS.js → chunk-ETI2NYVF.js} +1 -1
  60. package/{chunk-EXMHJN7C.js → chunk-EYAQT56M.js} +4 -3
  61. package/{chunk-CJCJF5XB.js → chunk-FDTR4QJ6.js} +4 -2
  62. package/{chunk-JPVNC5B2.js → chunk-G2O6V3HJ.js} +3 -3
  63. package/{chunk-WL2RKIBF.js → chunk-GEPUP7OO.js} +1 -1
  64. package/{chunk-PYXL2CJL.js → chunk-GPCZ7UXG.js} +1 -1
  65. package/{chunk-K7AG465Q.js → chunk-GQBOR3G6.js} +4 -2
  66. package/{chunk-YFADVSZE.js → chunk-H62HCIUP.js} +6 -6
  67. package/{chunk-PZM3EENV.js → chunk-HJUYAD4A.js} +1 -1
  68. package/{chunk-3JQ2NRYU.js → chunk-HVURBGF3.js} +4 -4
  69. package/{chunk-HH65VA5U.js → chunk-I3TQJXQ7.js} +109 -6
  70. package/{chunk-ZVN6I33J.js → chunk-IIVGDG4I.js} +6 -5
  71. package/{chunk-UDQWGU7F.js → chunk-J4MOO56S.js} +1 -1
  72. package/{chunk-KC5FAHVS.js → chunk-JEDZAO7L.js} +1 -1
  73. package/{chunk-6XIE5ZGI.js → chunk-JPGCXHNM.js} +1 -1
  74. package/chunk-JRQFUXY7.js +1625 -0
  75. package/chunk-KQ4ONNQD.js +677 -0
  76. package/{chunk-CPSZJBLK.js → chunk-L5UXH3B2.js} +105 -26
  77. package/{chunk-RXX4GDIH.js → chunk-LS2ZANRJ.js} +1 -1
  78. package/{chunk-BJIRLHJR.js → chunk-M2EJHDJP.js} +4 -0
  79. package/{chunk-EVBFYPDC.js → chunk-MC4XLIJ7.js} +6 -2
  80. package/{chunk-DUJWWUGV.js → chunk-NA35QHCF.js} +1 -1
  81. package/{chunk-FNGAF7C4.js → chunk-OEVAY4J6.js} +137 -12
  82. package/{chunk-UJ63UXGE.js → chunk-OIVSQH2O.js} +1006 -801
  83. package/{chunk-LZIMZZYT.js → chunk-ORYWEJO4.js} +13 -15
  84. package/{chunk-LKSDMMY2.js → chunk-Q2XN3EOZ.js} +40 -30
  85. package/{chunk-AETZ7AD6.js → chunk-Q554LLSI.js} +1 -1
  86. package/{chunk-FMODTASJ.js → chunk-Q5FJJ6XI.js} +1 -7
  87. package/{chunk-AJHEFRGJ.js → chunk-Q67DOFOO.js} +214 -5
  88. package/{chunk-UZ6XXCVR.js → chunk-QDSINZM3.js} +15 -2
  89. package/{chunk-BHXK3KPV.js → chunk-QVKRR2SS.js} +2314 -66
  90. package/{chunk-BNQK6UPC.js → chunk-RFCKMYDK.js} +11 -173
  91. package/{chunk-YWG6EMH3.js → chunk-RG6JBBX5.js} +10 -6
  92. package/{chunk-QCZX4FTW.js → chunk-SH43IESU.js} +173 -15
  93. package/{chunk-LLJM5TW2.js → chunk-SSDAAEC2.js} +1235 -59
  94. package/{chunk-SPAQ4PVV.js → chunk-SV5IJK6K.js} +1 -1
  95. package/{chunk-BJCWNHVU.js → chunk-TOP2VXOR.js} +2 -2
  96. package/{chunk-4EJ5QYB5.js → chunk-UKZDAFYT.js} +1 -1
  97. package/{chunk-PGSKWZCB.js → chunk-UZGQNTVW.js} +1 -1
  98. package/{chunk-ZZCJUXUI.js → chunk-V4MJDUSR.js} +2 -2
  99. package/{chunk-JYYZCK2Z.js → chunk-V7E4PXQD.js} +1 -1
  100. package/{chunk-OZX2IPKM.js → chunk-VLTIYV3X.js} +1 -1
  101. package/{chunk-NHRQCXIQ.js → chunk-VMFTFOWF.js} +13 -3
  102. package/{chunk-5J7W2VWW.js → chunk-WV42OMV7.js} +6 -265
  103. package/{chunk-EH7BNTCR.js → chunk-X6DN5HBD.js} +6 -6
  104. package/{chunk-3447FUKM.js → chunk-YFE4A4O7.js} +731 -90
  105. package/{chunk-BOYUESO7.js → chunk-Z77CRGTW.js} +1 -1
  106. package/{chunk-QC5LGHYP.js → chunk-ZCYXJSTU.js} +10 -5
  107. package/{contentThunks-A2ZG3SW6.js → contentThunks-GJV22WVZ.js} +25 -25
  108. package/{cooldownCommands-BSCH2W7P.js → cooldownCommands-REAWYVTY.js} +2 -2
  109. package/{createAgentAutomationAction-QFQQPG35.js → createAgentAutomationAction-6V25TZEO.js} +25 -25
  110. package/{createDialogAction-WI73R5EQ.js → createDialogAction-SX36BGSX.js} +28 -28
  111. package/{createPageAction-XN237WPJ.js → createPageAction-IR4BGJSI.js} +26 -26
  112. package/{dbSlice-GKGGFNOB.js → dbSlice-XVWBAGYN.js} +8 -8
  113. package/{deleteFile-LWSR674W.js → deleteFile-YG6QMJLU.js} +3 -3
  114. package/{dialogCommands-LWKIIWKC.js → dialogCommands-5J56DFWN.js} +35 -32
  115. package/{dialogSlice-56G4Q4RU.js → dialogSlice-UNX2FAPZ.js} +24 -24
  116. package/{docCreateCommands-FC5IRW2I.js → docCreateCommands-KYI2DC2U.js} +32 -31
  117. package/{docDeleteCommands-GUGLMPIP.js → docDeleteCommands-67REUSRY.js} +33 -32
  118. package/{docReadCommands-JVMVMNQZ.js → docReadCommands-HOSVSBDJ.js} +32 -31
  119. package/{docStore-PZSZWXX3.js → docStore-JWVG5NDO.js} +9 -9
  120. package/{docUpdateCommands-XZRIQPK4.js → docUpdateCommands-EMGCSMXY.js} +32 -31
  121. package/{fetchMessages-DRABNDPZ.js → fetchMessages-EIU7UFFK.js} +3 -4
  122. package/{getPricing-HRMSOF3E.js → getPricing-LUSEABA6.js} +4 -4
  123. package/{handleSendMessageAction-MHKC4R3Q.js → handleSendMessageAction-B75UOJKF.js} +24 -24
  124. package/index.js +99 -86
  125. package/{localDialogRead-PUQKFI73.js → localDialogRead-BTFJ4V2I.js} +2 -2
  126. package/{localRuntimeDb-P37ZTX55.js → localRuntimeDb-SYQGUF4U.js} +1 -1
  127. package/{machineCommands-KSTY7PYK.js → machineCommands-GFPTOY6L.js} +64 -61
  128. package/{machineWsRunDispatch-MG6KR26V.js → machineWsRunDispatch-46PSZ3DJ.js} +62 -59
  129. package/{memberThunks-KATHH3F4.js → memberThunks-QGFLFVCI.js} +9 -9
  130. package/{models-GS72DVJS.js → models-T3SG6MJ5.js} +2 -2
  131. package/{offlineMarxistsAgentCommand-GEH6SNNA.js → offlineMarxistsAgentCommand-HGXZV4XJ.js} +1 -1
  132. package/package.json +1 -1
  133. package/providerPresetApply-FG6NZ57W.js +214 -0
  134. package/providerRegistry-757OWH3O.js +31 -0
  135. package/{read-LC6HVYBN.js → read-COE3ZYR6.js} +5 -4
  136. package/{readDocTool-N3ERJHHF.js → readDocTool-5USN4A6V.js} +1 -1
  137. package/{readlineWorkspace-FG4NFANI.js → readlineWorkspace-UFSWHFKD.js} +144 -109
  138. package/{removeDialogAgentAction-F5GPTALR.js → removeDialogAgentAction-IX3MN2ZO.js} +11 -11
  139. package/{runAgentClientLoop-U3GEPCQI.js → runAgentClientLoop-25LJ4XGV.js} +47 -47
  140. package/{runtimeDoctorCommands-CROTMULY.js → runtimeDoctorCommands-X6WDBEQX.js} +2 -2
  141. package/{setDialogExtraReferencesAction-AY4ZCF3A.js → setDialogExtraReferencesAction-X4HCPNZL.js} +9 -9
  142. package/{setPrimaryDialogAgentAction-HPMG7V3R.js → setPrimaryDialogAgentAction-4GMIQLOD.js} +11 -11
  143. package/{settingSlice-OEJA4NQO.js → settingSlice-ZQZVUPKK.js} +10 -10
  144. package/{spaceCommands-CB6SU7KK.js → spaceCommands-NKJVJCQQ.js} +30 -29
  145. package/{streamAgentChatTurn-DAGDJH3L.js → streamAgentChatTurn-A46QFV4O.js} +59 -58
  146. package/{switchDialogAgentAction-HMDZTZ4I.js → switchDialogAgentAction-N52LRPA3.js} +8 -8
  147. package/{tableCommands-SUNTHAYX.js → tableCommands-O6NWHFKV.js} +1 -1
  148. package/{toolApiClient-VGYUB4P5.js → toolApiClient-QVJ6HDNN.js} +2 -2
  149. package/{tools-73VPBNX3.js → tools-TTDGRNY6.js} +43 -43
  150. package/tuiSummaryLlmCaller-WFRWERGK.js +127 -0
  151. package/{updateCommands-Y363MC3L.js → updateCommands-2M74UL7P.js} +2 -2
  152. package/{updateDialogTitleAction-RFQONESQ.js → updateDialogTitleAction-QJPZGF52.js} +45 -28
  153. package/agentRecordCommands-RJRU2YVT.js +0 -125
  154. package/chunk-I42VC5KR.js +0 -15
  155. package/chunk-NB5SIWC4.js +0 -611
  156. package/chunk-NG4UT4K4.js +0 -79
  157. package/codingSkills-7S6523WH.js +0 -48
  158. package/tuiSummaryLlmCaller-3Z24VUWM.js +0 -116
  159. package/{chunk-3RAG2NAD.js → chunk-UKWGR5SS.js} +3 -3
  160. package/{db-VQSAOWAO.js → db-WK5MDZVN.js} +1 -1
  161. package/{localRuntimeAuthority-R5UBODT3.js → localRuntimeAuthority-6IR6BBXE.js} +3 -3
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  dialogMessageRange
3
- } from "./chunk-NHRQCXIQ.js";
3
+ } from "./chunk-VMFTFOWF.js";
4
4
  import {
5
5
  isTombstoneRecord
6
6
  } from "./chunk-GBRG75BQ.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getRuntimeServerContext,
3
3
  scheduleDeleteReplication
4
- } from "./chunk-3RAG2NAD.js";
4
+ } from "./chunk-UKWGR5SS.js";
5
5
  import {
6
6
  fetchFromClientDb
7
7
  } from "./chunk-QOKAKDPE.js";
@@ -0,0 +1,93 @@
1
+ import {
2
+ cloudflareModels,
3
+ gmiModels,
4
+ openrouterModels,
5
+ platformHostedModels,
6
+ zaiModels
7
+ } from "./chunk-Q67DOFOO.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
+ };
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  buildLocalAgentLookupKeys,
3
3
  shouldReadAgentKeyRemotely
4
- } from "./chunk-BOYUESO7.js";
4
+ } from "./chunk-Z77CRGTW.js";
5
5
  import {
6
6
  resolveCliAgentKeyInput
7
- } from "./chunk-SPAQ4PVV.js";
7
+ } from "./chunk-SV5IJK6K.js";
8
8
  import {
9
9
  toErrorMessage
10
10
  } from "./chunk-HNMXYYJR.js";
@@ -21,7 +21,7 @@ import {
21
21
  } from "./chunk-A7GB5UGH.js";
22
22
  import {
23
23
  createAgentKey
24
- } from "./chunk-NHRQCXIQ.js";
24
+ } from "./chunk-VMFTFOWF.js";
25
25
 
26
26
  // packages/cli/agentRecordHelpers.ts
27
27
  import { readFileSync } from "node:fs";
@@ -266,18 +266,31 @@ async function resolveAgentRecordFromHybridStore(args) {
266
266
  if (record && typeof record === "object") {
267
267
  const cacheAge = Date.now() - (Number(record?.cachedAt) || 0);
268
268
  const STALE_CACHE_MS = 6e4;
269
- if (record?.serverOrigin && shouldReadAgentKeyRemotely(key) && cacheAge > STALE_CACHE_MS) {
269
+ if (record?.serverOrigin && shouldReadAgentKeyRemotely(key) && (args.fresh === true || cacheAge > STALE_CACHE_MS)) {
270
270
  try {
271
- await readAgentRecord({
271
+ const fresh = await readAgentRecord({
272
272
  agentKey: key,
273
273
  authToken,
274
274
  fallbackFetchImpl: args.fallbackFetchImpl,
275
275
  fetchImpl: args.fetchImpl,
276
276
  serverUrl: record.serverOrigin
277
277
  });
278
- try {
279
- await args.db.put(key, { ...record, cachedAt: Date.now() });
280
- } catch {
278
+ if (fresh) {
279
+ try {
280
+ await args.db.put(key, {
281
+ ...fresh,
282
+ dbKey: key,
283
+ serverOrigin: record.serverOrigin,
284
+ cachedAt: Date.now()
285
+ });
286
+ } catch {
287
+ }
288
+ return {
289
+ agentKey: key,
290
+ record: { ...fresh, serverOrigin: record.serverOrigin },
291
+ source: record?.serverOrigin ? "remote-cache" : "local-cache",
292
+ cacheHit: false
293
+ };
281
294
  }
282
295
  } catch (err) {
283
296
  const msg = toErrorMessage(err);
@@ -293,7 +306,10 @@ async function resolveAgentRecordFromHybridStore(args) {
293
306
  return {
294
307
  agentKey: key,
295
308
  record,
296
- source: record?.serverOrigin ? "remote-cache" : "local-cache"
309
+ source: record?.serverOrigin ? "remote-cache" : "local-cache",
310
+ // 明确告知调用方「这是缓存视图」——缓存可能持有字段子集,也可能已过期。
311
+ // 调用方据此决定是否用 fresh 重读,而不是把不完整视图当成真值。
312
+ cacheHit: true
297
313
  };
298
314
  }
299
315
  } catch {
@@ -459,6 +475,7 @@ function parseAgentUpdateArgs(args) {
459
475
  const name = readOption(args, "--name");
460
476
  const customProviderUrl = readOption(args, "--custom-provider-url");
461
477
  const apiKey = readOption(args, "--api-key") ?? readOption(args, "--provider-api-key");
478
+ const presetId = readOption(args, "--preset") ?? readOption(args, "--provider-preset");
462
479
  const verify = args.includes("--verify");
463
480
  const verifyPrompt = readOption(args, "--verify-prompt");
464
481
  const maxConcurrent = parsePositiveIntegerOption(
@@ -498,13 +515,40 @@ function parseAgentUpdateArgs(args) {
498
515
  throw new Error("No updates provided. Use --model / --cli-provider / --api-source / --field key=value.");
499
516
  }
500
517
  }
501
- return { agentInput, updates, promptDoc, copyProviderFrom, verify, verifyPrompt };
518
+ return { agentInput, updates, promptDoc, copyProviderFrom, verify, verifyPrompt, presetId };
502
519
  }
503
520
  async function buildCreatedAgentRecord(args) {
504
521
  const serverUrl = args.cliArgs ? resolveServerUrl(args.cliArgs, args.env) : resolveServerUrl(args.env);
505
522
  const userId = parseUserIdFromAuthToken(args.authToken);
506
523
  const resolvedAgentInput = resolveCliAgentKeyInput(args.parsed.agentInput);
507
524
  const agentKey = resolvedAgentInput.startsWith("agent-") ? resolvedAgentInput : createAgentKey.private(userId || "local", resolvedAgentInput);
525
+ if (args.parsed.presetId) {
526
+ const { resolveProviderPresetFields } = await import("./providerPresetApply-FG6NZ57W.js");
527
+ const fields = resolveProviderPresetFields(args.parsed.presetId);
528
+ if (fields.kind === "manual") {
529
+ throw new Error(
530
+ `unknown --preset "${args.parsed.presetId}". Run \`nolo agent providers\` to list preset ids.`
531
+ );
532
+ }
533
+ if (fields.kind === "oauth" || fields.requiresDesktopOAuth) {
534
+ throw new Error(
535
+ `--preset "${args.parsed.presetId}" is an OAuth subscription; create it in Nolo Desktop (OAuth login required).`
536
+ );
537
+ }
538
+ const u = args.parsed.updates;
539
+ u.apiSource = "custom";
540
+ u.provider = u.provider ?? fields.provider;
541
+ if (fields.customProviderUrl && !u.customProviderUrl) {
542
+ u.customProviderUrl = fields.customProviderUrl;
543
+ }
544
+ if (fields.apiKeyHeader && !u.apiKeyHeader) {
545
+ u.apiKeyHeader = fields.apiKeyHeader;
546
+ }
547
+ if (!u.model && fields.model) u.model = fields.model;
548
+ if (fields.defaultReasoningEffort && u.reasoning_effort == null) {
549
+ u.reasoning_effort = fields.defaultReasoningEffort;
550
+ }
551
+ }
508
552
  if (args.parsed.copyProviderFrom) {
509
553
  const providerSource = await resolveAgentRecordFromHybridStore({
510
554
  agentInput: args.parsed.copyProviderFrom,
@@ -2,8 +2,9 @@ import {
2
2
  parsePositiveFiniteNumberOrFallback
3
3
  } from "./chunk-Y5GCAMGP.js";
4
4
  import {
5
- DEFAULT_SYSTEM_AGENT_CAPABILITIES
6
- } from "./chunk-UZ6XXCVR.js";
5
+ DEFAULT_SYSTEM_AGENT_CAPABILITIES,
6
+ noloAgentId
7
+ } from "./chunk-QDSINZM3.js";
7
8
  import {
8
9
  asRecordOrEmpty
9
10
  } from "./chunk-KX6YBIHG.js";
@@ -13,25 +14,22 @@ import {
13
14
  toTimestampMs,
14
15
  upsert,
15
16
  write
16
- } from "./chunk-YFADVSZE.js";
17
+ } from "./chunk-H62HCIUP.js";
17
18
  import {
18
19
  createUserKey,
19
20
  createUserPreferenceKey,
20
21
  ulid
21
- } from "./chunk-NHRQCXIQ.js";
22
+ } from "./chunk-VMFTFOWF.js";
22
23
  import {
23
24
  asTrimmedLowercaseString
24
25
  } from "./chunk-QSJ3HFEF.js";
25
- import {
26
- BUILTIN_NOLO_AGENT_KEY
27
- } from "./chunk-5J7W2VWW.js";
28
26
  import {
29
27
  asyncThunkCreator,
30
28
  buildCreateSlice,
31
29
  createAction,
32
30
  createAsyncThunk,
33
31
  createSelector
34
- } from "./chunk-3RAG2NAD.js";
32
+ } from "./chunk-UKWGR5SS.js";
35
33
  import {
36
34
  getAllServers,
37
35
  getIsDesktopApp,
@@ -1016,12 +1014,6 @@ var withSettingsRecordSchema = (changes) => ({
1016
1014
  schemaVersion: SETTINGS_RECORD_SCHEMA_VERSION
1017
1015
  });
1018
1016
 
1019
- // packages/core/init.ts
1020
- var nolotusId = "0e95801d90";
1021
- var ADMIN_IDS = /* @__PURE__ */ new Set([nolotusId]);
1022
- var isSystemAdmin = (userId) => userId != null && ADMIN_IDS.has(userId);
1023
- var noloAgentId = BUILTIN_NOLO_AGENT_KEY;
1024
-
1025
1017
  // packages/app/settings/settingNormalizers.ts
1026
1018
  var hasOwn = (target, key) => Object.prototype.hasOwnProperty.call(target, key);
1027
1019
  var normalizeDefaultAgentIdSetting = (value) => {
@@ -1994,8 +1986,6 @@ export {
1994
1986
  AGENT_UPDATE_FIELD_NAMES,
1995
1987
  normalizeAgentUpdateFieldList,
1996
1988
  SYSTEM_DEFAULT_AGENT_ID,
1997
- nolotusId,
1998
- isSystemAdmin,
1999
1989
  normalizeSettingChanges,
2000
1990
  LOCAL_FIRST_APPEARANCE_KEYS,
2001
1991
  LOCAL_ONLY_SETTINGS_KEYS,
@@ -0,0 +1,344 @@
1
+ import {
2
+ publicAgentKey
3
+ } from "./chunk-M2EJHDJP.js";
4
+
5
+ // packages/core/builtinAgentCatalog.ts
6
+ var BUILTIN_AGENT_CATALOG = [
7
+ // ── 平台内置 6 个(builtinAgents BUILTIN_*)──
8
+ {
9
+ id: "01NOLOAPPBLD000000019KCKT0",
10
+ group: "builtin",
11
+ name: "nolo",
12
+ provider: "nolo",
13
+ model: "deepseek-flash",
14
+ runtimeFallback: true
15
+ },
16
+ {
17
+ id: "01APPBUILDER00000001YAII3I",
18
+ group: "builtin",
19
+ name: "\u5E94\u7528\u6784\u5EFA\u52A9\u624B",
20
+ provider: "nolo",
21
+ model: "deepseek-flash"
22
+ },
23
+ {
24
+ id: "01ECOMMERCEAG00000001PYQ2J",
25
+ group: "builtin",
26
+ name: "\u7535\u5546\u5546\u54C1\u53C2\u6570\u52A9\u624B",
27
+ provider: "openai",
28
+ model: "gpt-6-luna"
29
+ },
30
+ {
31
+ id: "01NOLOAGENTCRT000000000001",
32
+ group: "builtin",
33
+ name: "AI \u521B\u5EFA\u52A9\u624B",
34
+ provider: "nolo",
35
+ model: "deepseek-flash"
36
+ },
37
+ {
38
+ id: "01NOLOFEEDBACKA000000000R2",
39
+ group: "builtin",
40
+ name: "\u53CD\u9988\u5165\u53E3",
41
+ provider: "nolo",
42
+ model: "deepseek-flash"
43
+ },
44
+ {
45
+ id: "01CHROMEOPR000000000001",
46
+ group: "builtin",
47
+ name: "Chrome \u64CD\u4F5C\u5458",
48
+ provider: "nolo",
49
+ model: "deepseek-flash"
50
+ },
51
+ // ── quick-chat 档位 public(图片助手已无 runtimeFallback,见下方图片档段) ──
52
+ // 2026-09-10 兜底最小化:runtimeFallback 只保留产品代码显式引用的条目
53
+ // (nolo 默认档、PLATFORM_TIER_AGENT_KEYS 的 flash/image-compat、
54
+ // SYSTEM_BUILTIN_TRUSTED 的 flash/pro/glm-flash)。广场档与图片助手不再
55
+ // 兜底——记录缺失时明确报 Agent not found,而不是合成无 prompt 的裸配置。
56
+ {
57
+ id: "01DSV4FLASHPB00000000JFPFD",
58
+ group: "public",
59
+ name: "DeepSeek Flash",
60
+ provider: "nolo",
61
+ model: "deepseek-flash",
62
+ runtimeFallback: true
63
+ },
64
+ {
65
+ id: "01DSV4PRONPB00000001VIR3EK",
66
+ group: "public",
67
+ name: "DeepSeek V4 Pro",
68
+ provider: "nolo",
69
+ model: "deepseek-v4-pro",
70
+ runtimeFallback: true
71
+ },
72
+ {
73
+ id: "01GLM52DIPB00000000I3E2MY",
74
+ group: "public",
75
+ name: "GLM 5.3",
76
+ provider: "nolo",
77
+ model: "glm-5.3"
78
+ },
79
+ {
80
+ id: "01GLMFLASHPB00000000BT20BC",
81
+ group: "public",
82
+ name: "GLM 5.3 Flash",
83
+ provider: "nolo",
84
+ model: "glm-5-3-flash",
85
+ runtimeFallback: true
86
+ },
87
+ {
88
+ id: "01KIMIK26OLLAMA0000000001",
89
+ // 已下架的公共入口:保留 internal catalog entry 仅用于旧 Agent 记录的运行时兼容。
90
+ group: "internal",
91
+ lifecycle: "retired",
92
+ name: "Kimi K2.6\uFF08\u517C\u5BB9\uFF09",
93
+ provider: "nolo",
94
+ model: "kimi-k2.6",
95
+ runtimeFallback: true
96
+ },
97
+ // ── 广场公开聊天档(从 createSpaceAgents PUBLIC_AGENT_DEFS 收编,2026-08-19)──
98
+ // ID 与 createSpaceAgents 的 deterministicId 结果一致;provider 按 agentSeedBuilder
99
+ // 默认规则:显式 provider 用显式值,未写则 openai。
100
+ // 2026-09-10 预设收敛:GPT-5.6 Sol/Terra、GPT-5.5 Pro 从广场退场转 internal 兼容,
101
+ // 公开聊天档只保留 Luna + nolo 托管组 + 图片档(图片档仍在广场,但不再 runtimeFallback)。
102
+ {
103
+ id: "01GPT56SOLPB00000000VXMGCW",
104
+ // 已从广场/预设退场(2026-09-10):保留 internal 兼容条目,仅为存量 agent
105
+ // 记录提供运行时路由;不再出现在广场与 createSpaceAgents 播种清单。
106
+ group: "internal",
107
+ lifecycle: "retired",
108
+ name: "GPT-5.6 Sol\uFF08\u517C\u5BB9\uFF09",
109
+ provider: "openai",
110
+ model: "gpt-5.6-sol"
111
+ },
112
+ {
113
+ id: "01GPT56TERPB00000001UX7RKW",
114
+ // 已从广场/预设退场(2026-09-10):同 Sol,internal 兼容。
115
+ group: "internal",
116
+ lifecycle: "retired",
117
+ name: "GPT-5.6 Terra\uFF08\u517C\u5BB9\uFF09",
118
+ provider: "openai",
119
+ model: "gpt-5.6-terra"
120
+ },
121
+ {
122
+ id: "01GPT56LUNPB00000001VVVZHS",
123
+ // 2026-09-23 换代:同一稳定 ID(用户收藏 / 别名 / Space 内容键不失效)升级为
124
+ // 平台托管 GPT-6 Luna。注意与 retired 的区别:Luna 是在架商品原地换代,
125
+ //
126
+ // provider 必须是 "nolo"(平台托管命名空间),不能写上游名 "openai":
127
+ // ① 计费按 calculatePrice(provider, model) 查价,平台价只注册在 nolo 下,
128
+ // 写 openai 会落零价虚拟模型(2026-09-24 实测 openai/gpt-6-luna → cost 0);
129
+ // ② agent-run 的托管路由门 isPlatformManagedProvider 只认 nolo/deepseek/
130
+ // kimi 系,provider 非 nolo 时读不到 hosted routing table,直连 key 也拿不到。
131
+ // 平台 agent 统一收敛到 nolo provider 是既定方向(见 modelUpgradeTable 的
132
+ // 「尽量迁移到 nolo 平台托管」原则),其余上游名 provider 逐步退场。
133
+ group: "public",
134
+ lifecycle: "active",
135
+ name: "GPT-6 Luna",
136
+ provider: "nolo",
137
+ model: "gpt-6-luna"
138
+ },
139
+ {
140
+ id: "01GPT55PROPUB00000000IV47M",
141
+ // 已从广场/预设退场(2026-09-10 retired,2026-09-23 起 overlay 强制过滤
142
+ // 存量 DB 记录):internal 兼容,理由同 Sol。
143
+ group: "internal",
144
+ lifecycle: "retired",
145
+ name: "GPT-5.5 Pro\uFF08\u517C\u5BB9\uFF09",
146
+ provider: "openai",
147
+ model: "gpt-5.5-pro"
148
+ },
149
+ {
150
+ id: "01CLSO50DIPB00000000A1DVVU",
151
+ // 旧代 Claude 广场入口(2026-09-01 下架时随条目删除,只剩线上孤儿记录,
152
+ // 2026-09-24 重新收编):internal + retired 保留运行时兼容,广场由 overlay
153
+ // 按 retiredCatalogIds 过滤其存量 agent-pub-* 记录(退场 ≠ 删除——Space
154
+ // contentKey / dialog primaryAgentKey 硬引用不断链)。model 沿用 2026-09-15
155
+ // 恢复的真实 DeepInfra 官方名(与平台模型名同名)。
156
+ group: "internal",
157
+ lifecycle: "retired",
158
+ name: "Claude Sonnet 5\uFF08\u517C\u5BB9\uFF09",
159
+ provider: "nolo",
160
+ model: "anthropic/claude-sonnet-5"
161
+ },
162
+ {
163
+ id: "01FABLE5DIPB00000001VJBKM4",
164
+ // 同 Sonnet 5:旧代 Claude 广场入口转 internal + retired 兼容条目。
165
+ group: "internal",
166
+ lifecycle: "retired",
167
+ name: "Claude Fable 5\uFF08\u517C\u5BB9\uFF09",
168
+ provider: "nolo",
169
+ model: "anthropic/claude-fable-5"
170
+ },
171
+ {
172
+ id: "01CLOP48DIPB0000000001OI1W",
173
+ // 同 Sonnet 5 / Fable 5。这条尤其重要:线上同时存在
174
+ // agent-system-01CLOP48DIPB...(userId=system)与 owner 副本。catalog 若无该
175
+ // 条目,overlay 的「DB 有、catalog 无 → 用户自建」规则会把 system 名下记录当成
176
+ // 用户自建保留——正是 2026-09-24 设计会商点名的「事故复活通道」实例。
177
+ group: "internal",
178
+ lifecycle: "retired",
179
+ name: "Claude Opus 5\uFF08\u517C\u5BB9\uFF09",
180
+ provider: "nolo",
181
+ model: "anthropic/claude-opus-5"
182
+ },
183
+ // Claude 系 2026-09-24 广场重新上架:只上架最新一代(Fable 5.1 / Opus 5.5)。
184
+ // 平台托管通道 2026-09-15 起已是真实 DeepInfra 模型(nolo 目录),provider
185
+ // 收敛到 nolo 命名空间;旧代 Sonnet 5 / Fable 5 只保留上面的 retired 兼容条目。
186
+ // Gemini 文本档只上架最新一代:旧版留在广场只会分散选择、拉长列表,而
187
+ // 用户想要的是「最新的那个 Gemini」。旧版模型仍可保留用于兼容历史请求,
188
+ // (modelAbility / 定价表照旧),下架的只是广场入口。
189
+ {
190
+ id: "01CLDFBL51PB000000013N70D7",
191
+ group: "public",
192
+ lifecycle: "active",
193
+ name: "Claude Fable 5.1",
194
+ provider: "nolo",
195
+ model: "anthropic/claude-fable-5-1"
196
+ },
197
+ {
198
+ id: "01CLDOPU55PB00000001MQHSW0",
199
+ group: "public",
200
+ lifecycle: "active",
201
+ name: "Claude Opus 5.5",
202
+ provider: "nolo",
203
+ model: "anthropic/claude-opus-5-5"
204
+ },
205
+ {
206
+ id: "01GEM37FLPB00000000FJCRNC",
207
+ group: "public",
208
+ name: "Gemini 3.8 Flash",
209
+ provider: "nolo",
210
+ model: "gemini-3.8-flash"
211
+ },
212
+ {
213
+ id: "01GROK46PLAZ00000001PTJZ3K",
214
+ group: "public",
215
+ name: "Grok 4.6",
216
+ provider: "xai",
217
+ model: "grok-4.6"
218
+ },
219
+ {
220
+ id: "01GPTIMG2GEN00000000SSEBOS",
221
+ group: "public",
222
+ name: "GPT Image 2 \u56FE\u7247\u751F\u6210\u5668",
223
+ provider: "nolo",
224
+ model: "gpt-6-luna",
225
+ hasImageOutput: true,
226
+ imageModel: "gpt-image-2",
227
+ imageWorkflow: "generate",
228
+ imageConfig: { enabled: true }
229
+ },
230
+ {
231
+ id: "01GPTIMG2EDT00000001R4R4H4",
232
+ group: "public",
233
+ name: "GPT Image 2 \u56FE\u7247\u7F16\u8F91\u5668",
234
+ provider: "nolo",
235
+ model: "gpt-6-luna",
236
+ hasImageOutput: true,
237
+ imageModel: "gpt-image-2",
238
+ imageWorkflow: "edit",
239
+ imageConfig: { enabled: true }
240
+ },
241
+ {
242
+ id: "01GPTIMG2CNT00000000USKZFO",
243
+ group: "public",
244
+ name: "GPT Image 2 \u8FDE\u7EED\u521B\u4F5C\u52A9\u624B",
245
+ provider: "nolo",
246
+ model: "gpt-6-luna",
247
+ hasImageOutput: true,
248
+ imageModel: "gpt-image-2",
249
+ imageWorkflow: "continuous",
250
+ imageConfig: { enabled: true }
251
+ },
252
+ {
253
+ id: "01NB2LITEGEN00000001XE1MNO",
254
+ group: "public",
255
+ name: "Nano Banana 2 Lite \u6587\u751F\u56FE",
256
+ provider: "nolo",
257
+ model: "gemini-3.1-flash-lite-image",
258
+ hasImageOutput: true
259
+ }
260
+ ];
261
+ var CATALOG_BY_ID = new Map(BUILTIN_AGENT_CATALOG.map((e) => [e.id, e]));
262
+ function builtinAgentCatalogEntryById(id) {
263
+ if (!id) return void 0;
264
+ return CATALOG_BY_ID.get(id);
265
+ }
266
+ function builtinRuntimeFallbackEntries() {
267
+ return BUILTIN_AGENT_CATALOG.filter((e) => e.runtimeFallback === true);
268
+ }
269
+ function builtinPlatformEntries() {
270
+ return BUILTIN_AGENT_CATALOG.filter((e) => e.group === "builtin");
271
+ }
272
+ function isRetiredCatalogEntry(entry2) {
273
+ return entry2?.lifecycle === "retired";
274
+ }
275
+
276
+ // packages/core/builtinAgents.ts
277
+ var entry = (id) => {
278
+ const e = builtinAgentCatalogEntryById(id);
279
+ if (!e) throw new Error(`missing builtin agent catalog entry: ${id}`);
280
+ return e;
281
+ };
282
+ var BUILTIN_NOLO_AGENT_ID = entry("01NOLOAPPBLD000000019KCKT0").id;
283
+ var BUILTIN_NOLO_AGENT_KEY = publicAgentKey(BUILTIN_NOLO_AGENT_ID);
284
+ var BUILTIN_NOLO_AGENT_NAME = entry("01NOLOAPPBLD000000019KCKT0").name;
285
+ var BUILTIN_NOLO_AGENT_MODEL = entry("01NOLOAPPBLD000000019KCKT0").model;
286
+ var BUILTIN_APP_BUILDER_AGENT_ID = entry("01APPBUILDER00000001YAII3I").id;
287
+ var BUILTIN_APP_BUILDER_AGENT_KEY = publicAgentKey(BUILTIN_APP_BUILDER_AGENT_ID);
288
+ var BUILTIN_ECOMMERCE_AGENT_ID = entry("01ECOMMERCEAG00000001PYQ2J").id;
289
+ var BUILTIN_ECOMMERCE_AGENT_KEY = publicAgentKey(BUILTIN_ECOMMERCE_AGENT_ID);
290
+ var BUILTIN_AGENT_CREATOR_AGENT_ID = entry("01NOLOAGENTCRT000000000001").id;
291
+ var BUILTIN_AGENT_CREATOR_AGENT_KEY = publicAgentKey(BUILTIN_AGENT_CREATOR_AGENT_ID);
292
+ var BUILTIN_FEEDBACK_AGENT_ID = entry("01NOLOFEEDBACKA000000000R2").id;
293
+ var BUILTIN_FEEDBACK_AGENT_KEY = publicAgentKey(BUILTIN_FEEDBACK_AGENT_ID);
294
+ var BUILTIN_CHROME_OPERATOR_AGENT_ID = entry("01CHROMEOPR000000000001").id;
295
+ var BUILTIN_CHROME_OPERATOR_AGENT_KEY = publicAgentKey(BUILTIN_CHROME_OPERATOR_AGENT_ID);
296
+ var BUILTIN_PLATFORM_AGENT_KEYS = builtinPlatformEntries().map(
297
+ (e) => publicAgentKey(e.id)
298
+ );
299
+ var BUILTIN_PLATFORM_AGENT_KEY_SET = new Set(BUILTIN_PLATFORM_AGENT_KEYS);
300
+ var PUBLIC_DEEPSEEK_V4_FLASH_AGENT_ID = entry("01DSV4FLASHPB00000000JFPFD").id;
301
+ var PUBLIC_DEEPSEEK_V4_FLASH_AGENT_KEY = publicAgentKey(PUBLIC_DEEPSEEK_V4_FLASH_AGENT_ID);
302
+ var PUBLIC_DEEPSEEK_V4_PRO_AGENT_ID = entry("01DSV4PRONPB00000001VIR3EK").id;
303
+ var PUBLIC_DEEPSEEK_V4_PRO_AGENT_KEY = publicAgentKey(PUBLIC_DEEPSEEK_V4_PRO_AGENT_ID);
304
+ var PUBLIC_GLM_53_FLASH_AGENT_ID = entry("01GLMFLASHPB00000000BT20BC").id;
305
+ var PUBLIC_GLM_53_FLASH_AGENT_KEY = publicAgentKey(PUBLIC_GLM_53_FLASH_AGENT_ID);
306
+ var PUBLIC_KIMI_K26_IMAGE_AGENT_ID = entry("01KIMIK26OLLAMA0000000001").id;
307
+ var PUBLIC_KIMI_K26_IMAGE_AGENT_KEY = publicAgentKey(PUBLIC_KIMI_K26_IMAGE_AGENT_ID);
308
+ var PUBLIC_GPT_IMAGE_2_GENERATOR_AGENT_ID = entry("01GPTIMG2GEN00000000SSEBOS").id;
309
+ var PUBLIC_GPT_IMAGE_2_GENERATOR_AGENT_KEY = publicAgentKey(PUBLIC_GPT_IMAGE_2_GENERATOR_AGENT_ID);
310
+ var PUBLIC_GPT_IMAGE_2_EDITOR_AGENT_ID = entry("01GPTIMG2EDT00000001R4R4H4").id;
311
+ var PUBLIC_GPT_IMAGE_2_EDITOR_AGENT_KEY = publicAgentKey(PUBLIC_GPT_IMAGE_2_EDITOR_AGENT_ID);
312
+ var PUBLIC_GPT_IMAGE_2_CONTINUOUS_AGENT_ID = entry("01GPTIMG2CNT00000000USKZFO").id;
313
+ var PUBLIC_GPT_IMAGE_2_CONTINUOUS_AGENT_KEY = publicAgentKey(PUBLIC_GPT_IMAGE_2_CONTINUOUS_AGENT_ID);
314
+ var PUBLIC_NANO_BANANA_2_LITE_AGENT_ID = entry("01NB2LITEGEN00000001XE1MNO").id;
315
+ var PUBLIC_NANO_BANANA_2_LITE_AGENT_KEY = publicAgentKey(PUBLIC_NANO_BANANA_2_LITE_AGENT_ID);
316
+ var SYSTEM_BUILTIN_TRUSTED_AGENT_KEYS = [
317
+ PUBLIC_DEEPSEEK_V4_FLASH_AGENT_KEY,
318
+ PUBLIC_DEEPSEEK_V4_PRO_AGENT_KEY,
319
+ PUBLIC_GLM_53_FLASH_AGENT_KEY
320
+ ];
321
+ var SYSTEM_BUILTIN_TRUSTED_AGENT_KEY_SET = new Set(
322
+ SYSTEM_BUILTIN_TRUSTED_AGENT_KEYS
323
+ );
324
+ var isSystemBuiltinTrustedAgentKey = (key) => typeof key === "string" && SYSTEM_BUILTIN_TRUSTED_AGENT_KEY_SET.has(key);
325
+ var isBuiltinPlatformAgentKey = (key) => typeof key === "string" && BUILTIN_PLATFORM_AGENT_KEY_SET.has(key);
326
+
327
+ export {
328
+ builtinAgentCatalogEntryById,
329
+ builtinRuntimeFallbackEntries,
330
+ isRetiredCatalogEntry,
331
+ BUILTIN_NOLO_AGENT_KEY,
332
+ BUILTIN_NOLO_AGENT_NAME,
333
+ BUILTIN_NOLO_AGENT_MODEL,
334
+ BUILTIN_PLATFORM_AGENT_KEYS,
335
+ PUBLIC_DEEPSEEK_V4_FLASH_AGENT_ID,
336
+ PUBLIC_DEEPSEEK_V4_PRO_AGENT_ID,
337
+ PUBLIC_GLM_53_FLASH_AGENT_ID,
338
+ PUBLIC_GPT_IMAGE_2_GENERATOR_AGENT_ID,
339
+ PUBLIC_GPT_IMAGE_2_EDITOR_AGENT_ID,
340
+ PUBLIC_GPT_IMAGE_2_CONTINUOUS_AGENT_ID,
341
+ PUBLIC_NANO_BANANA_2_LITE_AGENT_ID,
342
+ isSystemBuiltinTrustedAgentKey,
343
+ isBuiltinPlatformAgentKey
344
+ };