nolo-cli 0.90.0-alpha.1 → 0.91.1

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 (173) hide show
  1. package/README.md +1 -1
  2. package/{_executeModel-W26HVI75.js → _executeModel-H35GQ2XO.js} +61 -60
  3. package/{action-6DXQGJMX.js → action-3ZOODRBC.js} +11 -11
  4. package/{addContentAction-I7VX5SAC.js → addContentAction-IJHG2ZV7.js} +9 -9
  5. package/{addDialogAgentAction-OJSFV7DZ.js → addDialogAgentAction-IGFS2UBX.js} +11 -11
  6. package/{agentDeleteCommand-XNFWCKBH.js → agentDeleteCommand-XOFMXMHW.js} +43 -42
  7. package/{agentEmailCommands-W3X3EJ3V.js → agentEmailCommands-H2SEP6ZQ.js} +82 -78
  8. package/{agentGrantCommands-YW6PQAQ2.js → agentGrantCommands-M3XFO6EN.js} +2 -2
  9. package/{agentListCommands-DFWFU6XO.js → agentListCommands-RYGH6NUL.js} +72 -80
  10. package/{agentMachineCommands-LMFOAEL4.js → agentMachineCommands-XELOBZIP.js} +37 -36
  11. package/{agentProviderCommands-ZBYHGTGY.js → agentProviderCommands-JCRK6ST2.js} +1 -1
  12. package/{agentPullCommand-GLOOXJ2E.js → agentPullCommand-HF4A42D4.js} +3 -3
  13. package/agentRecordCommands-43HAXAZO.js +130 -0
  14. package/{agentRunCommand-HTBVIBGV.js → agentRunCommand-GIPN6DBO.js} +80 -75
  15. package/{agentRunControl-XLGD3UZ5.js → agentRunControl-AVJR4JW4.js} +2 -2
  16. package/{agentRuntimeLocal-2JFG4HDU.js → agentRuntimeLocal-SDOSSCLU.js} +38 -33
  17. package/{agentSlice-ZNLGFUB5.js → agentSlice-B2DLZMAC.js} +11 -11
  18. package/{appDeleteCommands-2UN4N2NR.js → appDeleteCommands-7OR5MAOR.js} +37 -36
  19. package/{appDeployCommands-37D74KRR.js → appDeployCommands-5GNI723H.js} +37 -36
  20. package/{appDeployStatusCommands-QBLWL2IA.js → appDeployStatusCommands-WL2NG3SG.js} +37 -36
  21. package/{appGetCommands-6KXIDF2T.js → appGetCommands-7BVKQS44.js} +37 -36
  22. package/{appListCommands-G2WFGEWQ.js → appListCommands-5VXFJOBU.js} +37 -36
  23. package/{authCommand-V2DJ7DB7.js → authCommand-N4Q6463J.js} +115 -23
  24. package/{authCommands-RGOGCPP6.js → authCommands-GBIFZWD3.js} +5 -5
  25. package/{builtinSkillRegistry-WBGYKIAZ.js → builtinSkillRegistry-JPY2DKRF.js} +7 -7
  26. package/{chatQueueReduxAdapter-XCJHIY3R.js → chatQueueReduxAdapter-3KDRKXTT.js} +29 -29
  27. package/{chromeCommands-VOIRNJBL.js → chromeCommands-NKU3OWKH.js} +36 -11
  28. package/{chromeOpsCommands-M7DPCX2T.js → chromeOpsCommands-OQDJGD4Y.js} +31 -1
  29. package/{chunk-4BYPU626.js → chunk-232453C2.js} +994 -1036
  30. package/{chunk-SMZSWB44.js → chunk-25GAGMRK.js} +6 -83
  31. package/{chunk-PH5J5VUY.js → chunk-3IYMTWYZ.js} +22 -22
  32. package/{chunk-NTW5GWDM.js → chunk-3VNWWVKB.js} +2 -0
  33. package/{chunk-TVNI5FLG.js → chunk-46CRK7XP.js} +7 -7
  34. package/{chunk-2ADBVBEM.js → chunk-55VQ4OPL.js} +4 -4
  35. package/{chunk-JPGCXHNM.js → chunk-5OA5HMTL.js} +1 -1
  36. package/{chunk-DWUCB2A3.js → chunk-62IL3KQV.js} +4 -34
  37. package/{chunk-3R5PH4IP.js → chunk-64TIEZHF.js} +1 -1
  38. package/{chunk-6YTOJY35.js → chunk-6D2JFXLY.js} +35 -0
  39. package/{chunk-3BMYXEUW.js → chunk-6O4IK4V2.js} +1 -1
  40. package/{chunk-WXPVOQD7.js → chunk-6PELJ3DS.js} +533 -236
  41. package/{chunk-NFMHIUY3.js → chunk-7EMJBGCA.js} +966 -218
  42. package/{chunk-HYZHJ5GW.js → chunk-7YMUSSHQ.js} +93 -93
  43. package/chunk-ACTMNVHM.js +93 -0
  44. package/{chunk-Q554LLSI.js → chunk-AUDNYVRC.js} +1 -1
  45. package/{chunk-UKWGR5SS.js → chunk-AUXHZ2M5.js} +186 -397
  46. package/{chunk-7MYYE7WX.js → chunk-B4PW6UAI.js} +61 -34
  47. package/{chunk-4DRWWIOL.js → chunk-B7ANJQWZ.js} +2 -2
  48. package/{chunk-XKQJJK4F.js → chunk-BAAKVSMZ.js} +4 -4
  49. package/{chunk-FQYMLZ6C.js → chunk-BFCXG6AJ.js} +16 -16
  50. package/{chunk-ZBT3WNBK.js → chunk-BJUDYFV5.js} +10 -2
  51. package/chunk-BMQ2MJUK.js +153 -0
  52. package/{chunk-TL6L5XUT.js → chunk-BNGW5ASC.js} +94 -16
  53. package/{chunk-JTK3TJYV.js → chunk-BTSYHR7J.js} +4 -4
  54. package/{chunk-LS2ZANRJ.js → chunk-CTUQJVQM.js} +1 -1
  55. package/{chunk-JEDZAO7L.js → chunk-D2W6WRHT.js} +13 -8
  56. package/{chunk-6BEA566T.js → chunk-D76D3RTR.js} +2 -2
  57. package/{chunk-HQCSU3DI.js → chunk-DCLMZ5TX.js} +4 -4
  58. package/{chunk-L2ICPOAL.js → chunk-EFZKILX6.js} +4 -4
  59. package/{chunk-JBBZ5KUM.js → chunk-EHO5EGU4.js} +23 -76
  60. package/{chunk-HVURBGF3.js → chunk-ESRMFY7G.js} +2 -2
  61. package/{chunk-ABQYVJBJ.js → chunk-ETZWFV6M.js} +1 -1
  62. package/{chunk-TRV2MIDW.js → chunk-EXAJ6DCR.js} +1 -0
  63. package/{chunk-VHJLQHPQ.js → chunk-F64B2W3R.js} +110 -34
  64. package/{chunk-AQZRTHDZ.js → chunk-G4EMOUX3.js} +886 -154
  65. package/{chunk-XTUY5EL4.js → chunk-GJUKGFHG.js} +74 -16
  66. package/{chunk-XMGHGEN6.js → chunk-GMVELWJG.js} +3 -3
  67. package/chunk-GMZLP5DV.js +82 -0
  68. package/{chunk-CJCJF5XB.js → chunk-H6A6X4EK.js} +36 -3
  69. package/{chunk-N3OAPEZE.js → chunk-HBTA2SGQ.js} +97 -21
  70. package/{chunk-ONXOABJR.js → chunk-HNGRBWYF.js} +3 -0
  71. package/{chunk-3CR2LC6X.js → chunk-HNRASX3X.js} +8 -8
  72. package/{chunk-CPH3W5A7.js → chunk-I3TQJXQ7.js} +94 -3
  73. package/{chunk-GRYGRGPS.js → chunk-IS5VEM2G.js} +140 -15
  74. package/{chunk-MJHQ3NRV.js → chunk-ISHYYQJC.js} +5 -3
  75. package/{chunk-ZAB3A45K.js → chunk-K7M4I3PF.js} +30 -7
  76. package/{chunk-2AYMFHUG.js → chunk-KQOD3G2X.js} +165 -15
  77. package/{chunk-YOXYA2GU.js → chunk-LNPYTNMG.js} +10 -5
  78. package/{chunk-F2CGG72C.js → chunk-LS2MI3B4.js} +45 -45
  79. package/{chunk-GII32WZW.js → chunk-M2EJHDJP.js} +3 -0
  80. package/{chunk-7S4YWN7P.js → chunk-MX574M24.js} +1 -1
  81. package/{chunk-DNQPPRHY.js → chunk-N3XA2O6O.js} +1 -1
  82. package/{chunk-5DFFKASO.js → chunk-NILSKYOE.js} +3 -3
  83. package/chunk-OCZKATRC.js +129 -0
  84. package/{chunk-K7M3MWCE.js → chunk-OOSVFT6S.js} +2 -2
  85. package/{chunk-QCZX4FTW.js → chunk-OY5IJI2N.js} +194 -21
  86. package/{chunk-HMEMJ7GH.js → chunk-PAYUVQ6P.js} +7749 -1320
  87. package/{chunk-ASGDO77C.js → chunk-Q67DOFOO.js} +92 -4
  88. package/{chunk-UA5S3LQQ.js → chunk-QALRKMHF.js} +11 -10
  89. package/{chunk-RZANZZL2.js → chunk-QDSINZM3.js} +1 -1
  90. package/{chunk-DPQ2WVBY.js → chunk-QJLEMM2V.js} +1 -1
  91. package/{chunk-IIKPWSPX.js → chunk-R4SQ3LGW.js} +1 -1
  92. package/{chunk-UTCCPWB2.js → chunk-RZ6CQZB2.js} +34 -20
  93. package/{chunk-SAFZABH7.js → chunk-SV5IJK6K.js} +1 -1
  94. package/{chunk-576IMUGH.js → chunk-T5V7HA3K.js} +1 -1
  95. package/{chunk-BYMV6QZG.js → chunk-TNIX77YM.js} +4 -0
  96. package/chunk-UNYJU5L6.js +780 -0
  97. package/{chunk-QFMFJZLO.js → chunk-V7E4PXQD.js} +1 -1
  98. package/{chunk-QHETQ3KI.js → chunk-VBSVA6CB.js} +2 -2
  99. package/{chunk-A2C4AKKM.js → chunk-VETFWL5K.js} +1 -1
  100. package/chunk-VJVNU77E.js +83 -0
  101. package/{chunk-6D6VBVEW.js → chunk-VPFEPRME.js} +9 -9
  102. package/{chunk-3CMTBX3X.js → chunk-W2P25VGS.js} +25 -6
  103. package/{chunk-CLI4LFSM.js → chunk-WC6A2Q7S.js} +5 -3
  104. package/{chunk-Z33ARZCP.js → chunk-WT2IAJAJ.js} +4 -4
  105. package/chunk-X6YIXGPT.js +870 -0
  106. package/{chunk-5V4NJHRM.js → chunk-YMPTI7RZ.js} +9 -9
  107. package/{chunk-5NMZNPTN.js → chunk-YRIFJ6XQ.js} +13 -13
  108. package/{chunk-FZGV4FGK.js → chunk-YRRASA5Q.js} +268 -143
  109. package/{chunk-2F4VYGFW.js → chunk-Z5W7UMQV.js} +4 -3
  110. package/{chunk-ND2J3NRB.js → chunk-ZGJLSHER.js} +2 -2
  111. package/{chunk-VRLI2WNW.js → chunk-ZI2MEZMT.js} +314 -142
  112. package/{chunk-2F7RJC6L.js → chunk-ZOVKKMF6.js} +1 -1
  113. package/commandRegistry-BP5JLW24.js +822 -0
  114. package/{contentThunks-VURN3DFW.js → contentThunks-2HYFUXUM.js} +29 -29
  115. package/{cooldownCommands-BSCH2W7P.js → cooldownCommands-ZLEPIB4A.js} +2 -2
  116. package/{createAgentAutomationAction-QZAAY77R.js → createAgentAutomationAction-DCKUSJH7.js} +29 -29
  117. package/{createDialogAction-CHGXVTAC.js → createDialogAction-NRIAEH2A.js} +32 -32
  118. package/{createPageAction-IOGAFIN7.js → createPageAction-AUJHHXGG.js} +35 -35
  119. package/{dbSlice-YXQ6RYIH.js → dbSlice-HFPIJT5P.js} +8 -8
  120. package/{deleteFile-YG6QMJLU.js → deleteFile-UEAD5A5Z.js} +3 -3
  121. package/{dialogCommands-XREAP6WQ.js → dialogCommands-UJRGCRN6.js} +42 -39
  122. package/{dialogSlice-DOPGWGS4.js → dialogSlice-AHU4XXIW.js} +35 -29
  123. package/{dist-VODFSGNG.js → dist-NJC2W7I4.js} +61 -54
  124. package/{docCreateCommands-3PYZGSCL.js → docCreateCommands-ZOV3ZBLW.js} +39 -38
  125. package/{docDeleteCommands-3Y6MU44Q.js → docDeleteCommands-G4KAXJYQ.js} +39 -38
  126. package/{docReadCommands-UBANMAFR.js → docReadCommands-B2MM3JIT.js} +38 -37
  127. package/{docStore-SYYFBENY.js → docStore-SITH63V3.js} +9 -9
  128. package/{docUpdateCommands-4GK2X6BN.js → docUpdateCommands-2QNF5CYN.js} +39 -38
  129. package/{fetchMessages-EIU7UFFK.js → fetchMessages-67MEFPZR.js} +2 -2
  130. package/{getPricing-F2C65RIX.js → getPricing-OX7B4R6B.js} +3 -3
  131. package/{handleSendMessageAction-NPVTY2GE.js → handleSendMessageAction-7ZMJMWLC.js} +72 -80
  132. package/index.js +74 -877
  133. package/{localDialogRead-BTFJ4V2I.js → localDialogRead-EBRS242U.js} +2 -2
  134. package/{localRuntimeAuthority-6IR6BBXE.js → localRuntimeAuthority-5W6IJRAD.js} +6 -6
  135. package/{localRuntimeDb-SYQGUF4U.js → localRuntimeDb-3LRMNLCM.js} +1 -1
  136. package/{machineCommands-I66X2XB7.js → machineCommands-YCTD5KOL.js} +75 -71
  137. package/{machineWsRunDispatch-W4FVBOUM.js → machineWsRunDispatch-JFMD4ZAW.js} +73 -69
  138. package/{memberThunks-5T4J6KXQ.js → memberThunks-SKFZ37VS.js} +9 -9
  139. package/{models-WW7VFNXB.js → models-T3SG6MJ5.js} +2 -2
  140. package/oauthTokenStore-ITEB663N.js +23 -0
  141. package/{offlineMarxistsAgentCommand-JEWCIAWM.js → offlineMarxistsAgentCommand-HGXZV4XJ.js} +1 -1
  142. package/package.json +1 -1
  143. package/pdf-U6KSUEZZ.js +26435 -0
  144. package/processSpawn-SOAV3FEV.js +11 -0
  145. package/profileConfig-ZGOFORWV.js +43 -0
  146. package/{providerPresetApply-OCWWKBSD.js → providerPresetApply-2QTBYN36.js} +7 -7
  147. package/{providerRegistry-ZJQU7AJ7.js → providerRegistry-SVXE4G4T.js} +7 -7
  148. package/{read-M2Q6WEKB.js → read-IEJLLUXY.js} +5 -5
  149. package/{readDocTool-T37P3YPB.js → readDocTool-4SPYCP2Y.js} +5 -3
  150. package/{readlineWorkspace-VY5AMOGR.js → readlineWorkspace-M3PLTBLD.js} +2396 -2018
  151. package/{removeDialogAgentAction-HB3JBVAI.js → removeDialogAgentAction-LILXTOQY.js} +14 -14
  152. package/{runAgentClientLoop-3NDADLVE.js → runAgentClientLoop-QMCXBOBH.js} +55 -55
  153. package/{runtimeDoctorCommands-X6WDBEQX.js → runtimeDoctorCommands-3USD722U.js} +3 -3
  154. package/runtimeModeArgs-2Y7BALTO.js +31 -0
  155. package/{setDialogExtraReferencesAction-4XLHRV37.js → setDialogExtraReferencesAction-LVNHLNT5.js} +10 -10
  156. package/{setPrimaryDialogAgentAction-C3JOFC4W.js → setPrimaryDialogAgentAction-DCKO5NTW.js} +14 -14
  157. package/{settingSlice-CZRURSTH.js → settingSlice-CNE75ISY.js} +10 -10
  158. package/{spaceCommands-ENYCUUZH.js → spaceCommands-3U6OHM6O.js} +39 -38
  159. package/{streamAgentChatTurn-634OFUSR.js → streamAgentChatTurn-JPMJQSEE.js} +144 -84
  160. package/{switchDialogAgentAction-C6KVUKJP.js → switchDialogAgentAction-JSYUQ5CG.js} +11 -11
  161. package/{tableCommands-O6NWHFKV.js → tableCommands-G7RV3RU3.js} +4 -4
  162. package/{toolApiClient-7PSIFQPJ.js → toolApiClient-INIQCPGY.js} +3 -3
  163. package/{tools-ILBLCF7D.js → tools-XQ5GIH6P.js} +49 -49
  164. package/{tuiSummaryLlmCaller-LFUBZKXK.js → tuiSummaryLlmCaller-L63PDJUD.js} +16 -15
  165. package/{updateCommands-2M74UL7P.js → updateCommands-ECWKIWLQ.js} +3 -3
  166. package/{updateDialogTitleAction-RKFET73N.js → updateDialogTitleAction-EGAZMLUB.js} +32 -32
  167. package/agentRecordCommands-FVVVCQFM.js +0 -126
  168. package/chunk-Q5FJJ6XI.js +0 -103
  169. package/chunk-S7Z2HMCN.js +0 -25
  170. package/chunk-WS22FPWT.js +0 -79
  171. package/{chunk-VMFTFOWF.js → chunk-3AH7LNUB.js} +7 -7
  172. package/{chunk-X7HHHIOZ.js → chunk-Y6ROFCZO.js} +0 -0
  173. package/{db-WK5MDZVN.js → db-VQSAOWAO.js} +1 -1
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  publicAgentKey
3
- } from "./chunk-GII32WZW.js";
3
+ } from "./chunk-M2EJHDJP.js";
4
4
 
5
5
  // packages/core/builtinAgentCatalog.ts
6
6
  var BUILTIN_AGENT_CATALOG = [
@@ -25,7 +25,7 @@ var BUILTIN_AGENT_CATALOG = [
25
25
  group: "builtin",
26
26
  name: "\u7535\u5546\u5546\u54C1\u53C2\u6570\u52A9\u624B",
27
27
  provider: "openai",
28
- model: "gpt-5.6-luna"
28
+ model: "gpt-6-luna"
29
29
  },
30
30
  {
31
31
  id: "01NOLOAGENTCRT000000000001",
@@ -88,6 +88,7 @@ var BUILTIN_AGENT_CATALOG = [
88
88
  id: "01KIMIK26OLLAMA0000000001",
89
89
  // 已下架的公共入口:保留 internal catalog entry 仅用于旧 Agent 记录的运行时兼容。
90
90
  group: "internal",
91
+ lifecycle: "retired",
91
92
  name: "Kimi K2.6\uFF08\u517C\u5BB9\uFF09",
92
93
  provider: "nolo",
93
94
  model: "kimi-k2.6",
@@ -103,6 +104,7 @@ var BUILTIN_AGENT_CATALOG = [
103
104
  // 已从广场/预设退场(2026-09-10):保留 internal 兼容条目,仅为存量 agent
104
105
  // 记录提供运行时路由;不再出现在广场与 createSpaceAgents 播种清单。
105
106
  group: "internal",
107
+ lifecycle: "retired",
106
108
  name: "GPT-5.6 Sol\uFF08\u517C\u5BB9\uFF09",
107
109
  provider: "openai",
108
110
  model: "gpt-5.6-sol"
@@ -111,35 +113,100 @@ var BUILTIN_AGENT_CATALOG = [
111
113
  id: "01GPT56TERPB00000001UX7RKW",
112
114
  // 已从广场/预设退场(2026-09-10):同 Sol,internal 兼容。
113
115
  group: "internal",
116
+ lifecycle: "retired",
114
117
  name: "GPT-5.6 Terra\uFF08\u517C\u5BB9\uFF09",
115
118
  provider: "openai",
116
119
  model: "gpt-5.6-terra"
117
120
  },
118
121
  {
119
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 逐步退场。
120
133
  group: "public",
121
- name: "GPT-5.6 Luna",
122
- provider: "openai",
123
- model: "gpt-5.6-luna"
134
+ lifecycle: "active",
135
+ name: "GPT-6 Luna",
136
+ provider: "nolo",
137
+ model: "gpt-6-luna"
124
138
  },
125
139
  {
126
140
  id: "01GPT55PROPUB00000000IV47M",
127
- // 已从广场/预设退场(2026-09-10):internal 兼容,理由同 Sol。
141
+ // 已从广场/预设退场(2026-09-10 retired,2026-09-23 起 overlay 强制过滤
142
+ // 存量 DB 记录):internal 兼容,理由同 Sol。
128
143
  group: "internal",
144
+ lifecycle: "retired",
129
145
  name: "GPT-5.5 Pro\uFF08\u517C\u5BB9\uFF09",
130
146
  provider: "openai",
131
147
  model: "gpt-5.5-pro"
132
148
  },
133
- // Claude Sonnet/Opus/Fable 5 广场入口 2026-09-01 下架;平台托管通道已于
134
- // 2026-09-15 恢复真实 DeepInfra 模型(nolo 目录重新上架)。广场重新上架另行决策。
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 兼容条目。
135
186
  // Gemini 文本档只上架最新一代:旧版留在广场只会分散选择、拉长列表,而
136
187
  // 用户想要的是「最新的那个 Gemini」。旧版模型仍可保留用于兼容历史请求,
137
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
+ },
138
205
  {
139
206
  id: "01GEM37FLPB00000000FJCRNC",
140
207
  group: "public",
141
208
  name: "Gemini 3.8 Flash",
142
- provider: "google",
209
+ provider: "nolo",
143
210
  model: "gemini-3.8-flash"
144
211
  },
145
212
  {
@@ -153,8 +220,8 @@ var BUILTIN_AGENT_CATALOG = [
153
220
  id: "01GPTIMG2GEN00000000SSEBOS",
154
221
  group: "public",
155
222
  name: "GPT Image 2 \u56FE\u7247\u751F\u6210\u5668",
156
- provider: "openai",
157
- model: "gpt-5.6-luna",
223
+ provider: "nolo",
224
+ model: "gpt-6-luna",
158
225
  hasImageOutput: true,
159
226
  imageModel: "gpt-image-2",
160
227
  imageWorkflow: "generate",
@@ -164,8 +231,8 @@ var BUILTIN_AGENT_CATALOG = [
164
231
  id: "01GPTIMG2EDT00000001R4R4H4",
165
232
  group: "public",
166
233
  name: "GPT Image 2 \u56FE\u7247\u7F16\u8F91\u5668",
167
- provider: "openai",
168
- model: "gpt-5.6-luna",
234
+ provider: "nolo",
235
+ model: "gpt-6-luna",
169
236
  hasImageOutput: true,
170
237
  imageModel: "gpt-image-2",
171
238
  imageWorkflow: "edit",
@@ -175,8 +242,8 @@ var BUILTIN_AGENT_CATALOG = [
175
242
  id: "01GPTIMG2CNT00000000USKZFO",
176
243
  group: "public",
177
244
  name: "GPT Image 2 \u8FDE\u7EED\u521B\u4F5C\u52A9\u624B",
178
- provider: "openai",
179
- model: "gpt-5.6-luna",
245
+ provider: "nolo",
246
+ model: "gpt-6-luna",
180
247
  hasImageOutput: true,
181
248
  imageModel: "gpt-image-2",
182
249
  imageWorkflow: "continuous",
@@ -186,7 +253,7 @@ var BUILTIN_AGENT_CATALOG = [
186
253
  id: "01NB2LITEGEN00000001XE1MNO",
187
254
  group: "public",
188
255
  name: "Nano Banana 2 Lite \u6587\u751F\u56FE",
189
- provider: "google",
256
+ provider: "nolo",
190
257
  model: "gemini-3.1-flash-lite-image",
191
258
  hasImageOutput: true
192
259
  }
@@ -202,6 +269,9 @@ function builtinRuntimeFallbackEntries() {
202
269
  function builtinPlatformEntries() {
203
270
  return BUILTIN_AGENT_CATALOG.filter((e) => e.group === "builtin");
204
271
  }
272
+ function isRetiredCatalogEntry(entry2) {
273
+ return entry2?.lifecycle === "retired";
274
+ }
205
275
 
206
276
  // packages/core/builtinAgents.ts
207
277
  var entry = (id) => {
@@ -257,10 +327,18 @@ var isBuiltinPlatformAgentKey = (key) => typeof key === "string" && BUILTIN_PLAT
257
327
  export {
258
328
  builtinAgentCatalogEntryById,
259
329
  builtinRuntimeFallbackEntries,
330
+ isRetiredCatalogEntry,
260
331
  BUILTIN_NOLO_AGENT_KEY,
261
332
  BUILTIN_NOLO_AGENT_NAME,
262
333
  BUILTIN_NOLO_AGENT_MODEL,
263
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,
264
342
  isSystemBuiltinTrustedAgentKey,
265
343
  isBuiltinPlatformAgentKey
266
344
  };
@@ -1,13 +1,13 @@
1
- import {
2
- getActiveDialogKey
3
- } from "./chunk-6YTOJY35.js";
4
1
  import {
5
2
  require_date_fns
6
3
  } from "./chunk-M76ECQRD.js";
4
+ import {
5
+ getActiveDialogKey
6
+ } from "./chunk-6D2JFXLY.js";
7
7
  import {
8
8
  patch,
9
9
  selectById
10
- } from "./chunk-UA5S3LQQ.js";
10
+ } from "./chunk-QALRKMHF.js";
11
11
  import {
12
12
  __toESM
13
13
  } from "./chunk-4VNS5WPM.js";
@@ -4,7 +4,7 @@ import {
4
4
 
5
5
  // packages/cli/agentCommandSupport.ts
6
6
  async function getDefaultCliDb() {
7
- const { getDefaultCliLocalRuntimeDb } = await import("./localRuntimeDb-SYQGUF4U.js");
7
+ const { getDefaultCliLocalRuntimeDb } = await import("./localRuntimeDb-3LRMNLCM.js");
8
8
  return getDefaultCliLocalRuntimeDb();
9
9
  }
10
10
  function createNullCliDb() {
@@ -1,15 +1,15 @@
1
- import {
2
- loadProfileConfig
3
- } from "./chunk-BYMV6QZG.js";
4
- import {
5
- resolveDefaultSpawn
6
- } from "./chunk-X7HHHIOZ.js";
7
1
  import {
8
2
  isCompiledBinary
9
3
  } from "./chunk-A7GB5UGH.js";
10
4
  import {
11
5
  DEFAULT_NOLO_SERVER_URL
12
6
  } from "./chunk-OLZBQWZU.js";
7
+ import {
8
+ loadProfileConfig
9
+ } from "./chunk-TNIX77YM.js";
10
+ import {
11
+ resolveDefaultSpawn
12
+ } from "./chunk-Y6ROFCZO.js";
13
13
  import {
14
14
  normalizeServerOrigin
15
15
  } from "./chunk-CF7PE763.js";
@@ -679,7 +679,11 @@ async function runShellScript(script, {
679
679
  const proc = spawn2({
680
680
  cmd: ["sh", "-c", script],
681
681
  cwd,
682
- stdin: "inherit",
682
+ // Capture mode (TUI sink): ignore stdin — the TUI's own decoder is
683
+ // reading the tty, and a child that reads stdin would race it for keys.
684
+ // The inherit branch is unreachable inside the TUI (useCustomSink is
685
+ // always true there) and stays the correct choice for `nolo update`.
686
+ stdin: useCustomSink ? "ignore" : "inherit",
683
687
  stdout: useCustomSink ? "pipe" : "inherit",
684
688
  stderr: useCustomSink ? "pipe" : "inherit",
685
689
  env
@@ -900,7 +904,8 @@ Nolo Agent CLI Installer & Updater
900
904
  const useCustomSink = options.output !== void 0;
901
905
  const proc = spawn2({
902
906
  cmd: command,
903
- stdin: "inherit",
907
+ // Capture mode (TUI sink): ignore stdin — see runShellScript.
908
+ stdin: useCustomSink ? "ignore" : "inherit",
904
909
  stdout: useCustomSink ? "pipe" : "inherit",
905
910
  stderr: useCustomSink ? "pipe" : "inherit",
906
911
  env
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  selectCurrentServer
3
- } from "./chunk-PH5J5VUY.js";
3
+ } from "./chunk-3IYMTWYZ.js";
4
4
  import {
5
5
  patch
6
- } from "./chunk-UA5S3LQQ.js";
6
+ } from "./chunk-QALRKMHF.js";
7
7
  import {
8
8
  getIsDesktopApp
9
9
  } from "./chunk-QOKAKDPE.js";
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  getActiveDialogKey
3
- } from "./chunk-6YTOJY35.js";
3
+ } from "./chunk-6D2JFXLY.js";
4
4
  import {
5
5
  compactWhitespace
6
6
  } from "./chunk-DWLEOOGR.js";
7
7
  import {
8
8
  asTrimmedLowercaseString
9
9
  } from "./chunk-QSJ3HFEF.js";
10
- import {
11
- extractCustomId
12
- } from "./chunk-GII32WZW.js";
13
10
  import {
14
11
  selectIdentityToken
15
12
  } from "./chunk-SEJ5OS6F.js";
16
13
  import {
17
14
  isRecord
18
15
  } from "./chunk-KUG52IAP.js";
16
+ import {
17
+ extractCustomId
18
+ } from "./chunk-M2EJHDJP.js";
19
19
 
20
20
  // packages/ai/tools/toolApiClient.ts
21
21
  var MAIN_SERVER = "https://nolo.chat";
@@ -1,6 +1,3 @@
1
- import {
2
- BUILTIN_PLATFORM_AGENT_KEYS
3
- } from "./chunk-TL6L5XUT.js";
4
1
  import {
5
2
  getRuntimeServerContext,
6
3
  partitionReadServers,
@@ -10,7 +7,7 @@ import {
10
7
  scheduleExistingRecordReplication,
11
8
  shouldReplaceLocalWithRemoteRecord,
12
9
  shouldReplicateLocalRecord
13
- } from "./chunk-UKWGR5SS.js";
10
+ } from "./chunk-AUXHZ2M5.js";
14
11
  import {
15
12
  fetchFromClientDb,
16
13
  fetchFromServer,
@@ -21,6 +18,9 @@ import {
21
18
  import {
22
19
  shouldReplaceWithNextRecord
23
20
  } from "./chunk-GBRG75BQ.js";
21
+ import {
22
+ BUILTIN_PLATFORM_AGENT_KEYS
23
+ } from "./chunk-BNGW5ASC.js";
24
24
  import {
25
25
  NOLO_CLUSTER_SERVERS,
26
26
  normalizeKnownServerOrigin
@@ -5,14 +5,17 @@ import {
5
5
  inlineImageUrlsForCustomProvider,
6
6
  prepareTools,
7
7
  shouldInlineImageUrlsForAgent
8
- } from "./chunk-HYZHJ5GW.js";
8
+ } from "./chunk-7YMUSSHQ.js";
9
+ import {
10
+ parseApiError
11
+ } from "./chunk-OCZKATRC.js";
9
12
  import {
10
13
  INVALID_TOOL_ARGS_REPLACEMENT,
11
14
  buildInvalidToolCallSelfHealResult,
12
15
  parseToolCallArguments,
13
16
  performFetchRequest,
14
17
  sanitizeOutboundMessages
15
- } from "./chunk-7MYYE7WX.js";
18
+ } from "./chunk-B4PW6UAI.js";
16
19
  import {
17
20
  createSSEParser,
18
21
  createToolRunId,
@@ -23,10 +26,7 @@ import {
23
26
  toolRunSetPending,
24
27
  toolRunStarted,
25
28
  toolRunSucceeded
26
- } from "./chunk-WXPVOQD7.js";
27
- import {
28
- getPublicImageAgentMode
29
- } from "./chunk-VIDPVFP3.js";
29
+ } from "./chunk-6PELJ3DS.js";
30
30
  import {
31
31
  getCurrentSpaceId
32
32
  } from "./chunk-ZJ7UHBJS.js";
@@ -35,15 +35,18 @@ import {
35
35
  messageStreamEnd,
36
36
  messageStreaming,
37
37
  updateToolMessage
38
- } from "./chunk-HMEMJ7GH.js";
38
+ } from "./chunk-PAYUVQ6P.js";
39
39
  import {
40
40
  streamAgentChatTurn
41
- } from "./chunk-TVNI5FLG.js";
41
+ } from "./chunk-46CRK7XP.js";
42
42
  import {
43
43
  addActiveController,
44
44
  removeActiveController,
45
45
  tokenUsageLiveUpdate
46
- } from "./chunk-6YTOJY35.js";
46
+ } from "./chunk-6D2JFXLY.js";
47
+ import {
48
+ getPublicImageAgentMode
49
+ } from "./chunk-VIDPVFP3.js";
47
50
  import {
48
51
  accumulateToolCallDelta,
49
52
  createThinkParserState,
@@ -56,30 +59,27 @@ import {
56
59
  import {
57
60
  EMPTY_ASSISTANT_REPAIR_PROMPT,
58
61
  getModelInfo
59
- } from "./chunk-F2CGG72C.js";
60
- import {
61
- getApiEndpoint
62
- } from "./chunk-VRLI2WNW.js";
62
+ } from "./chunk-LS2MI3B4.js";
63
63
  import {
64
64
  toErrorMessage
65
65
  } from "./chunk-HNMXYYJR.js";
66
+ import {
67
+ getApiEndpoint
68
+ } from "./chunk-ZI2MEZMT.js";
66
69
  import {
67
70
  selectCurrentServer
68
- } from "./chunk-PH5J5VUY.js";
71
+ } from "./chunk-3IYMTWYZ.js";
69
72
  import {
70
73
  write
71
- } from "./chunk-UA5S3LQQ.js";
74
+ } from "./chunk-QALRKMHF.js";
72
75
  import {
73
76
  createDialogMessageKeyAndId,
74
77
  dialogMessageKey,
75
78
  toTrimmedString
76
- } from "./chunk-VMFTFOWF.js";
77
- import {
78
- extractCustomId
79
- } from "./chunk-GII32WZW.js";
79
+ } from "./chunk-3AH7LNUB.js";
80
80
  import {
81
81
  createAsyncThunk
82
- } from "./chunk-UKWGR5SS.js";
82
+ } from "./chunk-AUXHZ2M5.js";
83
83
  import {
84
84
  isAbortError
85
85
  } from "./chunk-QOKAKDPE.js";
@@ -89,6 +89,9 @@ import {
89
89
  import {
90
90
  isRecord
91
91
  } from "./chunk-KUG52IAP.js";
92
+ import {
93
+ extractCustomId
94
+ } from "./chunk-M2EJHDJP.js";
92
95
  import {
93
96
  asTrimmedString
94
97
  } from "./chunk-3EUW3WEO.js";
@@ -794,61 +797,6 @@ var handleToolCalls = createAsyncThunk(
794
797
  }
795
798
  );
796
799
 
797
- // packages/ai/chat/parseApiError.ts
798
- async function parseApiError(response) {
799
- const errorBody = await response.text();
800
- const truncateErrorMessage = (message, maxChars = 320) => message.length <= maxChars ? message : `${message.slice(0, maxChars)}\u2026`;
801
- const isContextOverflow = (message) => /maximum context length|context length|context_length_exceeded|requested about .*tokens|too many tokens/i.test(message);
802
- let defaultMessage = `\u72B6\u6001\u7801 ${response.status} ${response.statusText}`;
803
- let errorMessage = defaultMessage;
804
- let errorCode = `E${response.status}`;
805
- try {
806
- const errorJson = JSON.parse(errorBody);
807
- errorMessage = errorJson?.error?.message || errorJson?.message || errorJson?.msg || errorBody || defaultMessage;
808
- errorCode = errorJson?.error?.code || errorJson?.code || errorCode;
809
- } catch (_e) {
810
- if (errorBody) {
811
- errorMessage = errorBody;
812
- }
813
- }
814
- switch (response.status) {
815
- case 400:
816
- if (isContextOverflow(errorMessage) || isContextOverflow(errorBody) || errorCode === "UPSTREAM_400") {
817
- return "\u4E0A\u4E0B\u6587\u8FC7\u957F\uFF1A\u672C\u8F6E\u6D88\u606F\u6216\u5DE5\u5177\u7ED3\u679C\u592A\u5927\u3002\u8BF7\u7F29\u5C0F\u8303\u56F4\uFF0C\u6216\u5148\u8BFB\u53D6\u66F4\u5C0F\u7247\u6BB5\u540E\u518D\u7EE7\u7EED\u3002";
818
- }
819
- if (errorCode === "MISSING_PROVIDER_API_KEY") {
820
- return truncateErrorMessage(errorMessage);
821
- }
822
- if (errorMessage && errorMessage !== defaultMessage) {
823
- return `\u8BF7\u6C42\u53C2\u6570\u9519\u8BEF: ${truncateErrorMessage(errorMessage)}`;
824
- }
825
- return "\u8BF7\u6C42\u53C2\u6570\u9519\u8BEF\uFF0C\u8BF7\u68C0\u67E5\u8F93\u5165";
826
- case 413:
827
- return "\u8BF7\u6C42\u5185\u5BB9\u8FC7\u5927\uFF1A\u8BF7\u51CF\u5C11\u4E00\u6B21\u53D1\u9001\u7684\u6D88\u606F\u3001\u6587\u4EF6\u6216\u5DE5\u5177\u7ED3\u679C\u3002";
828
- case 401:
829
- switch (errorCode) {
830
- case "AUTH_TOKEN_EXPIRED":
831
- return "\u767B\u5F55\u72B6\u6001\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u5148\u767B\u51FA\u540E\u91CD\u65B0\u767B\u5F55";
832
- case "AUTH_ACCOUNT_INVALID":
833
- return "\u8D26\u6237\u65E0\u6548\u6216\u5DF2\u88AB\u505C\u7528\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458";
834
- case "AUTH_NO_TOKEN":
835
- return "\u672A\u68C0\u6D4B\u5230\u767B\u5F55\u72B6\u6001\uFF0C\u8BF7\u5148\u767B\u5F55";
836
- case "AUTH_INVALID_TOKEN":
837
- return "\u767B\u5F55\u51ED\u8BC1\u65E0\u6548\uFF0C\u8BF7\u5148\u767B\u51FA\u540E\u91CD\u65B0\u767B\u5F55";
838
- case "AUTH_TOKEN_NOT_ACTIVE":
839
- return "\u4EE4\u724C\u5C1A\u672A\u751F\u6548\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5";
840
- default:
841
- return errorMessage && errorMessage !== `\u72B6\u6001\u7801 401 Unauthorized` ? `\u8BA4\u8BC1\u9519\u8BEF: ${truncateErrorMessage(errorMessage)}` : "\u8EAB\u4EFD\u9A8C\u8BC1\u5931\u8D25\uFF0C\u8BF7\u5148\u767B\u51FA\u540E\u91CD\u65B0\u767B\u5F55";
842
- }
843
- case 503:
844
- return errorMessage && errorMessage !== `\u72B6\u6001\u7801 503 Service Unavailable` ? truncateErrorMessage(errorMessage) : "\u670D\u52A1\u6682\u65F6\u4E0D\u53EF\u7528\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5";
845
- case 504:
846
- return "\u8BF7\u6C42\u8D85\u65F6\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5";
847
- default:
848
- return `API\u8BF7\u6C42\u5931\u8D25: ${truncateErrorMessage(errorMessage)}`;
849
- }
850
- }
851
-
852
800
  // packages/ai/chat/accumulateToolCallChunks.ts
853
801
  function accumulateToolCallChunks(currentAccumulatedCalls, toolCallChunks) {
854
802
  const accumulator = {
@@ -1839,7 +1787,6 @@ export {
1839
1787
  filterAndCleanMessages,
1840
1788
  persistToolMessages,
1841
1789
  handleToolCalls,
1842
- parseApiError,
1843
1790
  updateTotalUsage,
1844
1791
  readStreamChunk,
1845
1792
  sendOpenAICompletionsRequest
@@ -2,10 +2,10 @@ import {
2
2
  getCredentialsDir,
3
3
  getLegacyCredentialPath,
4
4
  migrateLegacyCredentialFile
5
- } from "./chunk-ONXOABJR.js";
5
+ } from "./chunk-HNGRBWYF.js";
6
6
  import {
7
7
  asNonEmptyStringArray
8
- } from "./chunk-VMFTFOWF.js";
8
+ } from "./chunk-3AH7LNUB.js";
9
9
  import {
10
10
  isRecord
11
11
  } from "./chunk-KUG52IAP.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getRuntimeServerContext,
3
3
  scheduleDeleteReplication
4
- } from "./chunk-UKWGR5SS.js";
4
+ } from "./chunk-AUXHZ2M5.js";
5
5
  import {
6
6
  fetchFromClientDb
7
7
  } from "./chunk-QOKAKDPE.js";
@@ -91,6 +91,7 @@ function createCliAuthorityBrokerSocketInvoker(options) {
91
91
  const timeout = setTimeout(() => {
92
92
  finish(() => {
93
93
  socket.destroy();
94
+ socket.unref?.();
94
95
  reject(new CliAuthorityBrokerTimeoutError(options.endpoint, timeoutMs));
95
96
  });
96
97
  }, timeoutMs);