nolo-cli 0.212.0-alpha.1 → 0.222.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.
Files changed (263) hide show
  1. package/README.md +3 -2
  2. package/{_executeModel-KE6MBNUJ.js → _executeModel-4GGQQHOB.js} +111 -82
  3. package/{accountResolver-4LKIHEKL.js → accountResolver-EK2S4PWF.js} +6 -6
  4. package/{action-DF5UYSJF.js → action-CK64LS6S.js} +12 -11
  5. package/{addContentAction-N2YC5IL3.js → addContentAction-GDHDOF4U.js} +18 -17
  6. package/{addDialogAgentAction-3NKVQCEC.js → addDialogAgentAction-CAKRU3ZT.js} +21 -20
  7. package/{agentDeleteCommand-NWK7VU4N.js → agentDeleteCommand-BPV2XZL7.js} +128 -119
  8. package/{agentEmailCommands-UZ4DHEX2.js → agentEmailCommands-EJOS75YL.js} +132 -124
  9. package/{agentFavoriteCommands-EDK743YA.js → agentFavoriteCommands-2LKGKSUD.js} +7 -8
  10. package/{agentGrantCommands-RQWK2TEV.js → agentGrantCommands-QQV4N4JW.js} +5 -5
  11. package/{agentListCommands-HE7L2A6L.js → agentListCommands-HIZODBF3.js} +196 -124
  12. package/{agentMachineCommands-6TE4MBMP.js → agentMachineCommands-ZMQ2CY7Y.js} +62 -53
  13. package/{agentProviderCommands-Q5O33MED.js → agentProviderCommands-WKJOAWBP.js} +5 -5
  14. package/{agentPullCommand-6EM3URVK.js → agentPullCommand-XN6ZPBUW.js} +7 -7
  15. package/agentRecordCommands-OMXVDLDX.js +176 -0
  16. package/agentRunCommand-CB34YWMV.js +206 -0
  17. package/{agentRunControl-OI3LOENH.js → agentRunControl-JNONH3RP.js} +30 -15
  18. package/{agentRuntimeLocal-HL526DNQ.js → agentRuntimeLocal-QZPFWMLG.js} +52 -45
  19. package/{agentSlice-TMYP2UEA.js → agentSlice-RD2CDU7T.js} +20 -19
  20. package/{appDeleteCommands-ZERW4AXY.js → appDeleteCommands-QCCFDIEQ.js} +61 -52
  21. package/{appDeployCommands-DUWSMYHL.js → appDeployCommands-V2T7TNMQ.js} +61 -52
  22. package/{appDeployStatusCommands-N2KIE4BF.js → appDeployStatusCommands-6PGH7ZCG.js} +61 -52
  23. package/{appGetCommands-YVR4NPVY.js → appGetCommands-3L7WWJA6.js} +61 -52
  24. package/{appListCommands-JS6HOHZS.js → appListCommands-ENJCK4PO.js} +61 -52
  25. package/{authCommand-FE2C3ZUM.js → authCommand-6V47SYGK.js} +29 -28
  26. package/{authCommands-HV3EAU3V.js → authCommands-GAJ3NIXO.js} +14 -13
  27. package/{builtinSkillRegistry-3YOIGEF6.js → builtinSkillRegistry-2ECA42FC.js} +11 -13
  28. package/{chromeCommands-REEAH4SX.js → chromeCommands-G5UDKVSV.js} +3 -3
  29. package/{chromeOpsCommands-HEN5AX2J.js → chromeOpsCommands-YKX2QX3A.js} +20 -10
  30. package/{chunk-DM6UMOEL.js → chunk-27PCUMJI.js} +2 -2
  31. package/chunk-2CI3ZFWD.js +97 -0
  32. package/{chunk-HIRC32DV.js → chunk-2GJKRKI6.js} +543 -29
  33. package/{chunk-SM3NSZJV.js → chunk-2UCBGYO4.js} +20 -1
  34. package/{chunk-PYRUW7XN.js → chunk-2VUZSVAS.js} +136 -54
  35. package/chunk-2YGBI2XB.js +30 -0
  36. package/chunk-2ZKFCIJJ.js +13 -0
  37. package/{chunk-CJRONOYL.js → chunk-34J5K2YA.js} +19 -75
  38. package/{chunk-LOEO7LRC.js → chunk-3IK6ILVW.js} +4 -1
  39. package/{chunk-CTPXME7U.js → chunk-3LMUPOHG.js} +29 -6
  40. package/chunk-44X52WOJ.js +1621 -0
  41. package/{chunk-6VLJ6YA7.js → chunk-4DESLZTK.js} +9 -9
  42. package/{chunk-MYOH447Z.js → chunk-4JVNURX4.js} +1 -1
  43. package/chunk-5CHGAKRT.js +364 -0
  44. package/{chunk-YDH3FDFQ.js → chunk-5FUN7EG4.js} +1 -1
  45. package/{chunk-LKDF3ATR.js → chunk-5RKUPJYL.js} +1 -1
  46. package/{chunk-ZC3CMUKU.js → chunk-6OVNSQHN.js} +84 -2
  47. package/{chunk-IF45XG7K.js → chunk-6WU5572L.js} +40 -24
  48. package/{chunk-OHNELDTO.js → chunk-7EEZJ6BS.js} +11 -152
  49. package/{chunk-Y6ORVLSS.js → chunk-7ET2U67U.js} +1 -1
  50. package/{chunk-G7MLNNEX.js → chunk-7JLY4WYF.js} +5 -5
  51. package/{chunk-P5L7CXOC.js → chunk-7Z6EW7AH.js} +3 -2
  52. package/{chunk-IIQ6JGRI.js → chunk-AD5EWDFD.js} +2 -2
  53. package/{chunk-WXYLV624.js → chunk-AIHYNKGV.js} +4 -4
  54. package/{chunk-HPFCI4SK.js → chunk-AK5O76CC.js} +3 -3
  55. package/{chunk-Y63ZSOR6.js → chunk-AL3TYDIF.js} +1 -1
  56. package/{chunk-PJNFNEJE.js → chunk-AMEOV5VZ.js} +59 -13
  57. package/chunk-AN74ON4G.js +675 -0
  58. package/{chunk-HRMJUN5J.js → chunk-AQZ6BMRK.js} +1 -1
  59. package/{chunk-CQ46IRNN.js → chunk-B4GOW4MT.js} +445 -201
  60. package/{chunk-4KB6WQUL.js → chunk-BGP2EDFG.js} +1 -1
  61. package/{chunk-NBTY7YJF.js → chunk-BR3GT6MR.js} +1 -0
  62. package/{chunk-7RFNTILS.js → chunk-BUDVRYES.js} +2 -2
  63. package/{chunk-D2MDMY2M.js → chunk-BV3FLP2L.js} +47 -1
  64. package/{chunk-25JZEIXN.js → chunk-C4VAR65S.js} +92 -150
  65. package/{chunk-AVTVGMDY.js → chunk-C4WTX5TU.js} +2 -2
  66. package/{chunk-ZL5RAEEB.js → chunk-CIRB724Q.js} +1 -1
  67. package/{chunk-F6UUQOG6.js → chunk-CKT6QUE2.js} +4 -4
  68. package/{chunk-M6RL5JCD.js → chunk-CMZ3Z5PT.js} +14 -14
  69. package/{secretCommands-4QS3HCA2.js → chunk-D726I5AZ.js} +191 -16
  70. package/{chunk-INSBKSBB.js → chunk-DNKTQ3IN.js} +4 -4
  71. package/chunk-DVQH4BTR.js +1137 -0
  72. package/{chunk-SOHTHFV2.js → chunk-DWX2HEVC.js} +91 -132
  73. package/{chunk-NOMIGOST.js → chunk-EIAI3PPH.js} +116 -124
  74. package/chunk-EUCFKKDM.js +247 -0
  75. package/chunk-EWQ3HGNZ.js +90 -0
  76. package/{chunk-RPQXPZZF.js → chunk-F3GRJO4Z.js} +908 -13
  77. package/{chunk-GSQNH63I.js → chunk-FIYSMXHY.js} +3 -19
  78. package/{chunk-KSTEXKL6.js → chunk-FJ23FZXF.js} +76 -31
  79. package/{chunk-INN4LTAJ.js → chunk-FJK526XH.js} +2 -2
  80. package/chunk-FS2XP5D7.js +142 -0
  81. package/{chunk-QT6PKHYJ.js → chunk-FYF2TONJ.js} +5 -5
  82. package/{chunk-OXME3PEE.js → chunk-GBWGPTA7.js} +2 -1
  83. package/{chunk-RU4SD66C.js → chunk-GYVCJABP.js} +30 -254
  84. package/{chunk-YUXQAVRD.js → chunk-HOCHUZQ7.js} +257 -90
  85. package/{chunk-Y2WUYX4I.js → chunk-HXER7YJF.js} +4 -4
  86. package/chunk-HYIETXA6.js +99 -0
  87. package/{chunk-H2TJUNCH.js → chunk-I4EADJ4P.js} +6 -6
  88. package/{chunk-TCZHTTUU.js → chunk-I7WBYGBP.js} +8 -8
  89. package/{chunk-5RYBGBQH.js → chunk-IILMY4W4.js} +14 -9
  90. package/chunk-JA3ICVJY.js +271 -0
  91. package/{chunk-ZRSNONOB.js → chunk-JWXITTQB.js} +8 -3
  92. package/{chunk-JNKSDZFS.js → chunk-KEN3N2TN.js} +310 -66
  93. package/{chunk-LEC5ALIN.js → chunk-KEPOVMF4.js} +1 -1
  94. package/{chunk-UHJGXRJ4.js → chunk-KQSYAIZR.js} +3 -3
  95. package/{chunk-4VJAC32I.js → chunk-L5I543VB.js} +3 -2
  96. package/chunk-LKA64WH4.js +227 -0
  97. package/{chunk-6OQUPIQF.js → chunk-LVL6GFCM.js} +4 -4
  98. package/{chunk-UTV2AYEG.js → chunk-MAIITKBT.js} +2 -2
  99. package/chunk-MBG66ZBH.js +226 -0
  100. package/{chunk-YUA6OAH5.js → chunk-MDLS23JK.js} +2 -2
  101. package/{chunk-VL5KOY2C.js → chunk-MK2Q7ZJD.js} +67 -5
  102. package/{chunk-B7NJ3T4A.js → chunk-MS4NZNKI.js} +10 -10
  103. package/{chunk-3AKFVZ2I.js → chunk-MYHNBEXD.js} +3 -3
  104. package/{chunk-VZKUKCA6.js → chunk-MZLE5HQ3.js} +3673 -241
  105. package/{chunk-AZMYUSVF.js → chunk-N5Z2V73W.js} +1 -1
  106. package/chunk-NIZ2BXFD.js +526 -0
  107. package/{chunk-YPD3VJZW.js → chunk-NWP2OYOX.js} +20 -20
  108. package/{chunk-3FOQHGHN.js → chunk-O6J3OTOP.js} +4 -4
  109. package/{chunk-3RQVYR4B.js → chunk-OB6DVWPF.js} +197 -65
  110. package/{chunk-YWSEPJ7C.js → chunk-OBWT45ZU.js} +3 -3
  111. package/{chunk-5AQR3DGV.js → chunk-ODJ7BVSI.js} +80 -11
  112. package/{chunk-XJWWBO34.js → chunk-OJKUU3LP.js} +5 -7
  113. package/{chunk-GNDJKC4B.js → chunk-ON37YXGX.js} +29 -29
  114. package/{chunk-D5RCRX4A.js → chunk-P5ZJRTCH.js} +9415 -5169
  115. package/{chunk-6XIE5ZGI.js → chunk-PDCV7P5W.js} +1 -1
  116. package/{chunk-EZFQ6XRV.js → chunk-PJCIP64Z.js} +861 -59
  117. package/{chunk-GPO7FCEZ.js → chunk-PJVKMGPZ.js} +1222 -1719
  118. package/{chunk-CKAHAVMK.js → chunk-PPJYZRSQ.js} +40 -26
  119. package/chunk-QHEN7NZ7.js +46 -0
  120. package/{chunk-4KH4J3G5.js → chunk-QNWG52I4.js} +19 -7
  121. package/{chunk-YGILMZ7N.js → chunk-QVBXJNZ2.js} +1 -1
  122. package/chunk-RDH5CQ4T.js +1382 -0
  123. package/{chunk-C6KNNXWU.js → chunk-RGQ4UUWZ.js} +25 -2
  124. package/{chunk-OWYYDMGJ.js → chunk-S2NTVGA2.js} +4 -2
  125. package/{chunk-KC4XDTT3.js → chunk-SOF4OWDM.js} +6 -4
  126. package/{chunk-IAPCBNEE.js → chunk-SQYIK6HO.js} +1 -1
  127. package/{chunk-22CIEBYO.js → chunk-SVT62ULE.js} +50 -48
  128. package/{chunk-KIM6CLW5.js → chunk-SY3C4SQ7.js} +42 -15
  129. package/{chunk-JY5NGFFH.js → chunk-SYTHYBMI.js} +5 -5
  130. package/{chunk-6NSSLV67.js → chunk-T6DXNI6Z.js} +52 -50
  131. package/chunk-TLE77UJ5.js +230 -0
  132. package/{chunk-4VNS5WPM.js → chunk-U67V476Y.js} +1 -8
  133. package/{chunk-F7CI2ZC5.js → chunk-UAIHKQIA.js} +2 -1
  134. package/{chunk-MMNYUVLW.js → chunk-UB3D4TRQ.js} +11 -77
  135. package/{chunk-WPORQFYN.js → chunk-UVLYNWIE.js} +2 -2
  136. package/{chunk-YOIW77S2.js → chunk-UYOICCYG.js} +29 -19
  137. package/{chunk-4I7ERB7F.js → chunk-VREDDN25.js} +1 -1
  138. package/{chunk-JIT6FSXJ.js → chunk-WAE3GFCJ.js} +3 -3
  139. package/{chunk-IJXYFTV7.js → chunk-WI67URFP.js} +20 -20
  140. package/{chunk-7OCO4TDT.js → chunk-WJVYAO6P.js} +1 -1
  141. package/{chunk-T43B7LB2.js → chunk-WKGQSYTB.js} +1 -1
  142. package/{chunk-YJMRHHGY.js → chunk-WUUH4LWZ.js} +60 -30
  143. package/{chunk-PDGKOTO7.js → chunk-X7UF53VA.js} +33 -22
  144. package/{chunk-TY3TIUJK.js → chunk-XI2BWJM5.js} +65 -0
  145. package/{chunk-OOF4UPC5.js → chunk-XWVCYUUU.js} +16 -159
  146. package/{chunk-J5JTMQIA.js → chunk-YFLVRVYK.js} +1 -1
  147. package/{chunk-EYLGAEB4.js → chunk-YGMBIXCF.js} +132 -0
  148. package/chunk-YL3EFYL3.js +199 -0
  149. package/{chunk-MMA3LZ3W.js → chunk-YNIYE47Z.js} +1 -1
  150. package/{chunk-W4S457LU.js → chunk-YU4ZPWVF.js} +41 -5
  151. package/{chunk-NJR3WKVP.js → chunk-YWWDC3O7.js} +281 -159
  152. package/chunk-YZMNK53S.js +68 -0
  153. package/{chunk-FHU44LN3.js → chunk-Z2PITYZN.js} +2179 -552
  154. package/{chunk-FY7F4Q6X.js → chunk-Z4PCXPUE.js} +2 -2
  155. package/{cliAgentConfigHelpers-WJBZQTLW.js → cliAgentConfigHelpers-TKYL43MT.js} +15 -16
  156. package/{cliAuthorityBrokerClient-PM3U6Q6J.js → cliAuthorityBrokerClient-XHH7MH2P.js} +1 -1
  157. package/{cliAuthorityStoreDriver-TKLXNNTG.js → cliAuthorityStoreDriver-6FE3BJNB.js} +1 -1
  158. package/{cliEnvHelpers-BVYTMUPJ.js → cliEnvHelpers-VPSJ4XWC.js} +3 -3
  159. package/{cliExecutor-BWBF2MTI.js → cliExecutor-4MAX3PZL.js} +2 -2
  160. package/cliLocalAgentRecordReader-MHHD4T7R.js +90 -0
  161. package/{commandRegistry-VVMTPFAX.js → commandRegistry-5DA5UP7S.js} +106 -98
  162. package/{contentThunks-N52O67MI.js → contentThunks-5GUQ7FWJ.js} +47 -43
  163. package/{cooldownCommands-YXLWOXWR.js → cooldownCommands-X7P5M2V5.js} +5 -4
  164. package/{createAgentAutomationAction-ZC57YRSV.js → createAgentAutomationAction-UCLTHQRI.js} +51 -49
  165. package/{createDialogAction-VQW5WDYX.js → createDialogAction-UPN774AF.js} +46 -48
  166. package/{createPageAction-M5VDA7SC.js → createPageAction-JRQ2TA4O.js} +50 -48
  167. package/{cursorProvider-YGGNMVWX.js → cursorProvider-2RACMEMF.js} +1 -1
  168. package/{db-HUCI5R4G.js → db-CS4ZJQKV.js} +1 -1
  169. package/{dbSlice-HP7G4LX3.js → dbSlice-WNON7TOL.js} +17 -16
  170. package/{deleteFile-7VQGLK2V.js → deleteFile-Q3YDB4ML.js} +9 -9
  171. package/{desktopFolderProjects-SFY5EZS3.js → desktopFolderProjects-4POAMVJN.js} +2 -2
  172. package/{dialogCommands-JHMR2N2Y.js → dialogCommands-VRI7VCXH.js} +64 -57
  173. package/dialogNotifyCommand-6TMCX4D2.js +36 -0
  174. package/{dialogSlice-GRSVGDTF.js → dialogSlice-LFNVUSAN.js} +42 -40
  175. package/{dialogUsageCommand-7KCPYGHG.js → dialogUsageCommand-HTVPR2CX.js} +11 -10
  176. package/{docCreateCommands-F2K3UPSQ.js → docCreateCommands-AMPXMOX3.js} +61 -54
  177. package/{docDeleteCommands-XGXB5RFT.js → docDeleteCommands-I5WFAEHP.js} +63 -57
  178. package/{docReadCommands-7HWZZV6J.js → docReadCommands-X53ELNIE.js} +61 -54
  179. package/{docStore-KNZK6Y2G.js → docStore-2VAWVLWH.js} +21 -20
  180. package/{docUpdateCommands-OZZ7NQII.js → docUpdateCommands-6QPNDC7M.js} +64 -57
  181. package/{fetchMessages-M3QU7ZCQ.js → fetchMessages-TQEUZD7H.js} +8 -7
  182. package/{getPricing-2MNMXEVG.js → getPricing-MB2GBXOK.js} +6 -6
  183. package/{handleSendMessageAction-SHIH74GJ.js → handleSendMessageAction-AAJOHXOB.js} +193 -301
  184. package/{hostCredentialCreate-X64WK4JD.js → hostCredentialCreate-GLMJ22M6.js} +123 -114
  185. package/index.js +29 -29
  186. package/{keys-BEGDOTRL.js → keys-RWF7UCB4.js} +5 -4
  187. package/legacyMigration-TF4SYJCZ.js +19 -0
  188. package/{lib-5KKIBFIT.js → lib-OT5OTXRU.js} +7087 -6664
  189. package/{localDialogRead-XRLAH4CZ.js → localDialogRead-SVTPA5GY.js} +3 -3
  190. package/{localFirstLog-DHNOY2NA.js → localFirstLog-OIETGK66.js} +1 -1
  191. package/localRecall-2J6QPOK2.js +15 -0
  192. package/{localRuntimeAdapter-A7K3ABA6.js → localRuntimeAdapter-BMP57P42.js} +119 -110
  193. package/{localRuntimeAuthority-OYH4AE4G.js → localRuntimeAuthority-IBJAT62G.js} +1 -1
  194. package/{localRuntimeDb-VBIMCWUC.js → localRuntimeDb-N7KHDXS2.js} +2 -2
  195. package/{machineCommands-DE3MR7CJ.js → machineCommands-3MLIAK5Q.js} +128 -119
  196. package/{machineInfo-UKPTZO5Y.js → machineInfo-LWHTEBHJ.js} +1 -1
  197. package/machineWsRunDispatch-FKIGROQF.js +191 -0
  198. package/{memberThunks-7WJAY5V6.js → memberThunks-ZGLZ36PK.js} +29 -28
  199. package/{memoryCommands-ASCE5STX.js → memoryCommands-5WC3T66U.js} +4 -4
  200. package/models-ULVWLSQ6.js +9 -0
  201. package/{oauthTokenStore-OEERZFUC.js → oauthTokenStore-RUYNYALS.js} +1 -1
  202. package/{offlineMarxistsAgentCommand-2QTHJCHV.js → offlineMarxistsAgentCommand-4IC3Y4C6.js} +4 -4
  203. package/overlay-THLKYIWY.js +11 -0
  204. package/package.json +2 -2
  205. package/{pdf-U6KSUEZZ.js → pdf-KE3QI2V7.js} +1 -1
  206. package/{processSpawn-ZU5QFM43.js → processSpawn-6GEO77KV.js} +1 -1
  207. package/{profileConfig-KN3N2BLF.js → profileConfig-KOWK4HOG.js} +1 -1
  208. package/{projectArchive-GGL5HLMD.js → projectArchive-HK63GMF4.js} +52 -50
  209. package/{providerPresetApply-YXGV6NXB.js → providerPresetApply-OIFQ73LH.js} +19 -12
  210. package/{providerRegistry-S6UL6UNA.js → providerRegistry-KZ3SDZ3D.js} +10 -10
  211. package/{read-4VZQODSN.js → read-MRQHJMJ2.js} +10 -10
  212. package/{readDocTool-AVD32RUJ.js → readDocTool-4BGTXTXA.js} +2 -2
  213. package/{readlineWorkspace-XKYKNL2I.js → readlineWorkspace-AKAHSCNY.js} +6505 -4634
  214. package/{removeDialogAgentAction-FKL4BYMR.js → removeDialogAgentAction-B6H7DXFM.js} +23 -22
  215. package/{runAgentClientLoop-V7E2WBVM.js → runAgentClientLoop-UVAWGEON.js} +81 -79
  216. package/{runtimeDoctorCommands-QAI3MBKQ.js → runtimeDoctorCommands-FW6XKDUG.js} +12 -12
  217. package/{runtimeModeArgs-2Y7BALTO.js → runtimeModeArgs-X7DL7PUN.js} +1 -1
  218. package/secretCommands-LJXOOYA7.js +24 -0
  219. package/{setDialogExtraReferencesAction-TLIOLWWI.js → setDialogExtraReferencesAction-EVCY3TRW.js} +22 -21
  220. package/{setPrimaryDialogAgentAction-2OLWRFYR.js → setPrimaryDialogAgentAction-KPFVPHCJ.js} +23 -22
  221. package/{settingThunks-UGBPCNYF.js → settingThunks-ENOAK2WV.js} +97 -88
  222. package/{skillDiscovery-XKHROSH2.js → skillDiscovery-B5V23AXP.js} +4 -4
  223. package/{skillSummaryMarker-42HKSXYY.js → skillSummaryMarker-62UW7HI7.js} +1 -1
  224. package/{slateToRenderMarkdown-Y5IYN73U.js → slateToRenderMarkdown-R3X74MCX.js} +1 -1
  225. package/{slateUtils-NGV2NMKM.js → slateUtils-ESQAJ6RN.js} +1 -1
  226. package/{spaceCommands-4KSLKVNF.js → spaceCommands-DTTNAS2L.js} +61 -53
  227. package/store-JRVN62NM.js +46 -0
  228. package/{streamAgentChatTurn-7FR7X2NU.js → streamAgentChatTurn-R5UY25VB.js} +875 -618
  229. package/{switchDialogAgentAction-UZSAG2N5.js → switchDialogAgentAction-SZ44XDRY.js} +21 -20
  230. package/{tableCommands-MP6VFSVT.js → tableCommands-HITDSLHS.js} +10 -10
  231. package/tombstones-FQQMEDOW.js +32 -0
  232. package/{toolApiClient-HGNO53TC.js → toolApiClient-OGQEBQVX.js} +4 -4
  233. package/{tools-ZLKCC25W.js → tools-HWFG6GMJ.js} +75 -74
  234. package/tuiSummaryLlmCaller-HQQZAMYF.js +44 -0
  235. package/{updateCommands-4744PL3P.js → updateCommands-RJVCRSBP.js} +10 -8
  236. package/{updateDialogTitleAction-U53ZT7PJ.js → updateDialogTitleAction-KNPOAMVS.js} +48 -46
  237. package/{usageCommand-F4IPVMIZ.js → usageCommand-FWZCB7AM.js} +11 -10
  238. package/{usageRebuildCommand-HAW2AD5N.js → usageRebuildCommand-SP2BLNJU.js} +12 -11
  239. package/userDataMerge-HT2ZVHBJ.js +13 -0
  240. package/{windowsSelfUpdate-XSQVF2GK.js → windowsSelfUpdate-KERHIAB4.js} +3 -3
  241. package/{workloadLifecycle-4BEQHMSD.js → workloadLifecycle-DYNEYHV5.js} +7 -6
  242. package/agentRecordCommands-L3QQ7HZ4.js +0 -167
  243. package/agentRunCommand-2IFGQHCO.js +0 -196
  244. package/chunk-3CGG2PAL.js +0 -594
  245. package/chunk-5XBUWM6I.js +0 -89
  246. package/chunk-BFM34N54.js +0 -842
  247. package/chunk-CJEIOP3E.js +0 -0
  248. package/chunk-CZM5YTZ7.js +0 -977
  249. package/chunk-EYUBHHFB.js +0 -636
  250. package/chunk-JTDORD5P.js +0 -415
  251. package/chunk-NRFKLKRU.js +0 -339
  252. package/chunk-VPAZOH2D.js +0 -115
  253. package/chunk-WJZOQR2J.js +0 -151
  254. package/chunk-ZCWRMUWT.js +0 -89
  255. package/dist-M676ULYG.js +0 -7314
  256. package/machineWsRunDispatch-R26P5V36.js +0 -182
  257. package/models-PJBE6JDV.js +0 -9
  258. package/tuiSummaryLlmCaller-WC54MVGP.js +0 -160
  259. package/{chunk-WACI5I6V.js → chunk-2THCNKE4.js} +3 -3
  260. package/{chunk-2QHFH3DR.js → chunk-47ITIXO7.js} +6 -6
  261. package/{chunk-GOO6G4PY.js → chunk-CKG3PRZ7.js} +0 -0
  262. package/{chunk-OQHIVPG4.js → chunk-SNBZZPYH.js} +3 -3
  263. package/{chunk-AETZ7AD6.js → chunk-W6RFEDN4.js} +3 -3
@@ -14,7 +14,7 @@ function buildCliLocalRuntimeDbEnv(env = process.env) {
14
14
  };
15
15
  }
16
16
  async function getDefaultCliLocalRuntimeDb(options = {}) {
17
- const { getDefaultCliLocalRuntimeDb: getAuthorityBackedDb } = await import("./localRuntimeAuthority-OYH4AE4G.js");
17
+ const { getDefaultCliLocalRuntimeDb: getAuthorityBackedDb } = await import("./localRuntimeAuthority-IBJAT62G.js");
18
18
  return getAuthorityBackedDb(options);
19
19
  }
20
20
 
@@ -0,0 +1,526 @@
1
+ import {
2
+ isDevinOAuthAgent
3
+ } from "./chunk-5ZUL4CUO.js";
4
+ import {
5
+ getModelContextWindow
6
+ } from "./chunk-RDH5CQ4T.js";
7
+ import {
8
+ BUILTIN_NOLO_AGENT_KEY
9
+ } from "./chunk-3IK6ILVW.js";
10
+ import {
11
+ isPageKey,
12
+ isTableMetaKey
13
+ } from "./chunk-SYTHYBMI.js";
14
+ import {
15
+ isDialogRecordKey
16
+ } from "./chunk-OJKUU3LP.js";
17
+ import {
18
+ asTrimmedString
19
+ } from "./chunk-3EUW3WEO.js";
20
+ import {
21
+ isRecord
22
+ } from "./chunk-KUG52IAP.js";
23
+ import {
24
+ asOptionalTrimmedString
25
+ } from "./chunk-G3SUCT4W.js";
26
+
27
+ // packages/agent-runtime/codexOAuthPure.ts
28
+ function isCodexOAuthAgent(agent) {
29
+ if (!agent) return false;
30
+ const ref = agent.apiKeyRef?.trim().toLowerCase();
31
+ return ref === "chatgpt";
32
+ }
33
+
34
+ // packages/agent-runtime/codexOAuthModelAliases.ts
35
+ var CODEX_OAUTH_MODEL_ALIASES = {
36
+ // sol 家族最新:gpt-6.1-sol
37
+ "gpt-6-sol": {
38
+ aliasOf: "gpt-6.1-sol",
39
+ since: "2026-11-01",
40
+ reason: "\u540C\u5BB6\u65CF\u6362\u4EE3\uFF0Cowner \u51B3\u5B9A\u900F\u660E\u91CD\u5B9A\u5411\uFF08sol \u5BB6\u65CF\u6700\u65B0\u4E3A gpt-6.1-sol\uFF09\u3002"
41
+ },
42
+ "gpt-5.6-sol": {
43
+ aliasOf: "gpt-6.1-sol",
44
+ since: "2026-11-01",
45
+ reason: "\u540C\u5BB6\u65CF\u6362\u4EE3\uFF0Cowner \u51B3\u5B9A\u900F\u660E\u91CD\u5B9A\u5411\uFF08sol \u5BB6\u65CF\u6700\u65B0\u4E3A gpt-6.1-sol\uFF09\u3002"
46
+ },
47
+ // terra 家族最新:gpt-6.1-terra
48
+ "gpt-5.6-terra": {
49
+ aliasOf: "gpt-6.1-terra",
50
+ since: "2026-11-01",
51
+ reason: "\u540C\u5BB6\u65CF\u6362\u4EE3\uFF0Cowner \u51B3\u5B9A\u900F\u660E\u91CD\u5B9A\u5411\uFF08terra \u5BB6\u65CF\u6700\u65B0\u4E3A gpt-6.1-terra\uFF09\u3002"
52
+ },
53
+ // luna 家族最新:gpt-6-luna(上游无 6.1-luna,luna 家族最新即为 gpt-6-luna)
54
+ "gpt-5.6-luna": {
55
+ aliasOf: "gpt-6-luna",
56
+ since: "2026-11-01",
57
+ reason: "\u540C\u5BB6\u65CF\u6362\u4EE3\uFF0Cowner \u51B3\u5B9A\u900F\u660E\u91CD\u5B9A\u5411\uFF08luna \u5BB6\u65CF\u6700\u65B0\u4E3A gpt-6-luna\uFF09\u3002"
58
+ }
59
+ };
60
+ function resolveCodexOAuthEffectiveModel(model) {
61
+ const raw = asOptionalTrimmedString(model);
62
+ if (!raw) return void 0;
63
+ const normalized = raw.toLowerCase();
64
+ return CODEX_OAUTH_MODEL_ALIASES[normalized]?.aliasOf ?? raw;
65
+ }
66
+
67
+ // packages/agent-runtime/codexOAuthModelCatalogWindow.ts
68
+ var CODEX_OAUTH_CATALOG_DEFAULT_ACCOUNT_KEY = "__default__";
69
+ var CODEX_OAUTH_CATALOG_TTL_MS = 60 * 60 * 1e3;
70
+ var CODEX_OAUTH_CATALOG_RETRY_FLOOR_MS = 5 * 60 * 1e3;
71
+ var catalogBuckets = /* @__PURE__ */ new Map();
72
+ var isUsableContextWindow = (value) => typeof value === "number" && Number.isInteger(value) && value > 0;
73
+ var codexOAuthCatalogAccountKey = (accountId) => {
74
+ const trimmed = accountId?.trim();
75
+ return trimmed ? trimmed : CODEX_OAUTH_CATALOG_DEFAULT_ACCOUNT_KEY;
76
+ };
77
+ var codexOAuthCatalogSnapshot = (accountId) => {
78
+ const bucket = catalogBuckets.get(codexOAuthCatalogAccountKey(accountId));
79
+ return {
80
+ modelCount: bucket?.windows.size ?? 0,
81
+ fetchedAt: bucket?.fetchedAt ?? null,
82
+ lastFailureAt: bucket?.lastFailureAt ?? null
83
+ };
84
+ };
85
+ function commitCodexOAuthCatalogWindows(args) {
86
+ const windows = /* @__PURE__ */ new Map();
87
+ for (const [slug, contextWindow] of Object.entries(args.models)) {
88
+ const normalizedSlug = slug.trim().toLowerCase();
89
+ if (!normalizedSlug) continue;
90
+ if (!isUsableContextWindow(contextWindow)) continue;
91
+ windows.set(normalizedSlug, contextWindow);
92
+ }
93
+ const key = codexOAuthCatalogAccountKey(args.accountId);
94
+ catalogBuckets.set(key, {
95
+ windows,
96
+ fetchedAt: args.now,
97
+ lastFailureAt: null
98
+ });
99
+ }
100
+ function markCodexOAuthCatalogFailure(args) {
101
+ const key = codexOAuthCatalogAccountKey(args.accountId);
102
+ const existing = catalogBuckets.get(key);
103
+ catalogBuckets.set(key, {
104
+ windows: existing?.windows ?? /* @__PURE__ */ new Map(),
105
+ fetchedAt: existing?.fetchedAt ?? null,
106
+ lastFailureAt: args.now
107
+ });
108
+ }
109
+ var codexOAuthCatalogWindow = (model, options) => {
110
+ const effectiveModel = resolveCodexOAuthEffectiveModel(model);
111
+ if (!effectiveModel) return void 0;
112
+ const slug = effectiveModel.toLowerCase();
113
+ const now = options?.now ?? Date.now();
114
+ const ttlMs = options?.ttlMs ?? CODEX_OAUTH_CATALOG_TTL_MS;
115
+ let hit;
116
+ for (const [accountKey, bucket] of catalogBuckets) {
117
+ if (bucket.fetchedAt === null || now - bucket.fetchedAt >= ttlMs) continue;
118
+ const contextWindow = bucket.windows.get(slug);
119
+ if (!isUsableContextWindow(contextWindow)) continue;
120
+ if (hit && hit.accountKey !== accountKey) return void 0;
121
+ hit = { accountKey, contextWindow };
122
+ }
123
+ return hit?.contextWindow;
124
+ };
125
+
126
+ // packages/agent-runtime/devin/devinChannelWindows.ts
127
+ var DEVIN_CHANNEL_CONTEXT_WINDOWS = {
128
+ // SWE-2 家族(catalog 无裸 swe-2 selector;旧点号/裸写法如 swe-2、
129
+ // swe-1.7 实测均 permission_denied,已不是可用 selector)。
130
+ "swe-2-max": 262e3,
131
+ "swe-2-high": 262e3,
132
+ "swe-2-medium": 262e3,
133
+ // SWE-1.7 家族。
134
+ "swe-1-7": 262e3,
135
+ "swe-1-7-medium": 262e3,
136
+ "swe-1-7-lightning": 202752,
137
+ // SWE-1.6 家族(免费档默认)。
138
+ "swe-1-6": 2e5,
139
+ "swe-1-6-fast": 2e5,
140
+ // 经 devin 通道转售、且与厂商原生窗口不同的模型(catalog 枚举型 selector)。
141
+ "MODEL_GPT_5_2_LOW": 384e3,
142
+ "MODEL_GPT_5_2_MEDIUM": 384e3,
143
+ "MODEL_GPT_5_2_HIGH": 384e3,
144
+ "MODEL_GPT_5_2_XHIGH": 384e3
145
+ };
146
+ var devinChannelContextWindow = (model) => {
147
+ const raw = model?.trim();
148
+ if (!raw) return void 0;
149
+ return DEVIN_CHANNEL_CONTEXT_WINDOWS[raw];
150
+ };
151
+ var resolveAgentContextWindow = (agent) => (isDevinOAuthAgent(agent) ? devinChannelContextWindow(agent.model) : void 0) ?? (isCodexOAuthAgent(agent) ? codexOAuthCatalogWindow(agent.model) : void 0) ?? // provider 透传给全局解析:平台托管通道(CF)与 Codex OAuth 等通道对同一 id
152
+ // 窗口不同,按通道取真值,不做全局取大/取小。
153
+ getModelContextWindow(agent.model ?? "", agent.provider);
154
+
155
+ // packages/agent-runtime/autoExecutionProfiles.ts
156
+ var createProfile = (input) => ({
157
+ id: input.id,
158
+ tier: input.tier,
159
+ legacyAgentKey: input.legacyAgentKey,
160
+ key: input.legacyAgentKey,
161
+ name: input.name,
162
+ provider: "nolo",
163
+ model: input.model,
164
+ apiSource: "platform",
165
+ useServerProxy: true,
166
+ rawRecord: {
167
+ dbKey: input.legacyAgentKey,
168
+ isPublic: true,
169
+ provider: "nolo",
170
+ model: input.model,
171
+ apiSource: "platform",
172
+ useServerProxy: true
173
+ }
174
+ });
175
+ var FLASH_PROFILE = createProfile({
176
+ id: "builtin:auto:nolo",
177
+ tier: "flash",
178
+ legacyAgentKey: BUILTIN_NOLO_AGENT_KEY,
179
+ name: "nolo",
180
+ model: "deepseek-flash"
181
+ });
182
+ var AUTO_EXECUTION_PROFILES = {
183
+ flash: FLASH_PROFILE,
184
+ balanced: { ...FLASH_PROFILE, tier: "balanced" },
185
+ quality: { ...FLASH_PROFILE, tier: "quality" },
186
+ image: { ...FLASH_PROFILE, tier: "image" }
187
+ };
188
+ var DEFAULT_AUTO_EXECUTION_TIER = "flash";
189
+ var DEFAULT_AUTO_EXECUTION_PROFILE = AUTO_EXECUTION_PROFILES[DEFAULT_AUTO_EXECUTION_TIER];
190
+ var resolveAutoExecutionProfile = (tier) => AUTO_EXECUTION_PROFILES[tier ?? DEFAULT_AUTO_EXECUTION_TIER] ?? DEFAULT_AUTO_EXECUTION_PROFILE;
191
+
192
+ // packages/ai/attachments/attachmentPart.ts
193
+ var ATTACHMENT_PART_TYPE = "attachment";
194
+ var ATTACHMENT_PART_VERSION = 1;
195
+ var isRecord2 = (value) => typeof value === "object" && value !== null;
196
+ var nonEmptyString = (value) => typeof value === "string" && value.trim() ? value : null;
197
+ var isAttachmentCandidate = (part) => isRecord2(part) && part.type === ATTACHMENT_PART_TYPE;
198
+ var readSource = (part) => {
199
+ const raw = part.source;
200
+ if (raw !== void 0 && raw !== null) {
201
+ if (!isRecord2(raw)) return { invalid: "source \u4E0D\u662F\u5BF9\u8C61" };
202
+ if (raw.kind === "remote-file") {
203
+ const fileKey = nonEmptyString(raw.fileKey);
204
+ return fileKey ? { source: { kind: "remote-file", fileKey }, legacyFileKey: false } : { invalid: "remote-file source \u7F3A fileKey" };
205
+ }
206
+ if (raw.kind === "local-file") {
207
+ const path = nonEmptyString(raw.path);
208
+ const machineId = nonEmptyString(raw.machineId);
209
+ if (!path) return { invalid: "local-file source \u7F3A path" };
210
+ if (!machineId) return { invalid: "local-file source \u7F3A machineId" };
211
+ const workspaceRoot = nonEmptyString(raw.workspaceRoot);
212
+ return {
213
+ source: {
214
+ kind: "local-file",
215
+ path,
216
+ machineId,
217
+ ...workspaceRoot ? { workspaceRoot } : {}
218
+ },
219
+ legacyFileKey: false
220
+ };
221
+ }
222
+ return { invalid: `\u672A\u77E5 source.kind: ${String(raw.kind)}` };
223
+ }
224
+ const legacyFileKey = nonEmptyString(part.fileKey);
225
+ if (legacyFileKey) {
226
+ return { source: { kind: "remote-file", fileKey: legacyFileKey }, legacyFileKey: true };
227
+ }
228
+ return { invalid: "\u7F3A source\uFF08\u4E5F\u65E0\u53EF\u517C\u5BB9\u7684\u9876\u5C42 fileKey\uFF09" };
229
+ };
230
+ var normalizeAttachmentPart = (part) => {
231
+ if (!isAttachmentCandidate(part)) {
232
+ return { status: "invalid", reason: "not-attachment", detail: "type !== 'attachment'" };
233
+ }
234
+ if (part.v !== ATTACHMENT_PART_VERSION) {
235
+ const version = part.v;
236
+ return {
237
+ status: "unsupported-version",
238
+ version: typeof version === "number" && Number.isFinite(version) ? version : null,
239
+ detail: `v=${String(version)} \u4E0D\u662F\u5F53\u524D reader \u5DF2\u77E5\u7684\u7248\u672C`
240
+ };
241
+ }
242
+ const source = readSource(part);
243
+ if ("invalid" in source) {
244
+ const given = part.source !== void 0 && part.source !== null;
245
+ return {
246
+ status: "invalid",
247
+ reason: given ? "unsupported-source" : "missing-source",
248
+ detail: source.invalid
249
+ };
250
+ }
251
+ const name = nonEmptyString(part.name);
252
+ const size = part.size;
253
+ const sizeOk = typeof size === "number" && Number.isFinite(size) && size >= 0;
254
+ if (!name || !sizeOk) {
255
+ const missing = [!name ? "name" : null, !sizeOk ? "size" : null].filter(Boolean).join("/");
256
+ return { status: "invalid", reason: "missing-metadata", detail: `\u5FEB\u7167\u5B57\u6BB5\u65E0\u6548: ${missing}` };
257
+ }
258
+ return {
259
+ status: "valid",
260
+ legacyFileKey: source.legacyFileKey,
261
+ attachment: {
262
+ type: ATTACHMENT_PART_TYPE,
263
+ v: ATTACHMENT_PART_VERSION,
264
+ source: source.source,
265
+ name,
266
+ mimeType: typeof part.mimeType === "string" ? part.mimeType : "",
267
+ size
268
+ }
269
+ };
270
+ };
271
+ var ext = (name) => {
272
+ const match = /\.([a-z0-9]+)$/i.exec(name.trim());
273
+ return match ? match[1].toLowerCase() : "";
274
+ };
275
+ var EXT_KIND = {};
276
+ var register = (kind, list) => {
277
+ for (const e of list.split(" ")) {
278
+ if (EXT_KIND[e]) {
279
+ throw new Error(`attachment EXT_KIND \u51B2\u7A81: .${e} \u5DF2\u662F ${EXT_KIND[e]}\uFF0C\u53C8\u767B\u8BB0\u4E3A ${kind}`);
280
+ }
281
+ EXT_KIND[e] = kind;
282
+ }
283
+ };
284
+ register("image", "avif bmp gif heic heif ico jpg jpeg png svg tif tiff webp");
285
+ register("audio", "aac flac m4a mp3 oga ogg opus wav weba wma amr");
286
+ register("video", "avi m4v mkv mov mp4 mpeg mpg webm wmv 3gp flv");
287
+ register("document", "pdf doc docx odt rtf ppt pptx odp xls xlsx ods csv epub pages numbers key");
288
+ register("archive", "zip rar 7z tar gz tgz bz2 xz zst apk aab ipa jar war dmg iso deb rpm");
289
+ register(
290
+ "text",
291
+ "txt md mdx markdown json jsonl yaml yml toml ini cfg conf env log xml html htm css scss sass less js jsx ts tsx mjs cjs py rb go rs java kt swift c h cc cpp hpp cs php sh bash zsh sql graphql proto vue svelte lua r dart"
292
+ );
293
+ var MPEG_TS_MIME = /mp2t|mpeg-?ts|x-mpegts/;
294
+ var attachmentKind = (args) => {
295
+ const e = ext(typeof args.name === "string" ? args.name : "");
296
+ const mime = (typeof args.mimeType === "string" ? args.mimeType : "").toLowerCase();
297
+ if (e === "ts" && MPEG_TS_MIME.test(mime)) return "video";
298
+ const byExt = EXT_KIND[e];
299
+ if (byExt) return byExt;
300
+ if (mime.startsWith("image/")) return "image";
301
+ if (mime.startsWith("audio/")) return "audio";
302
+ if (mime.startsWith("video/")) return "video";
303
+ if (mime.startsWith("text/")) return "text";
304
+ if (mime === "application/pdf") return "document";
305
+ if (/zip|x-tar|x-7z|x-rar|gzip|android\.package/.test(mime)) return "archive";
306
+ if (/json|xml|javascript|yaml/.test(mime)) return "text";
307
+ return "binary";
308
+ };
309
+ var formatSize = (bytes) => {
310
+ if (!Number.isFinite(bytes) || bytes < 0) return "";
311
+ if (bytes < 1) return "0 B";
312
+ const units = ["B", "KB", "MB", "GB"];
313
+ const i = Math.min(Math.floor(Math.log(bytes) / Math.log(1024)), units.length - 1);
314
+ const value = bytes / 1024 ** i;
315
+ return `${i === 0 ? Math.round(value) : value.toFixed(1)} ${units[i]}`;
316
+ };
317
+ var describeValidatedAttachment = (attachment) => {
318
+ const kind = attachmentKind(attachment);
319
+ const meta = [attachment.mimeType.trim(), formatSize(attachment.size)].filter(Boolean).join(" \xB7 ");
320
+ const locator = attachment.source.kind === "remote-file" ? ` \xB7 fileKey=${attachment.source.fileKey}` : "";
321
+ const head = `[\u9644\u4EF6] ${attachment.name.trim()}${meta ? ` \xB7 ${meta}` : ""} \xB7 kind=${kind}${locator}`;
322
+ return kind === "binary" ? `${head}
323
+ \uFF08\u8BE5\u7C7B\u578B\u6682\u65E0\u6CD5\u8BFB\u53D6\u5185\u5BB9\uFF09` : head;
324
+ };
325
+ var displayName = (part) => {
326
+ const name = isRecord2(part) ? part.name : void 0;
327
+ return typeof name === "string" && name.trim() ? name.trim() : "\u672A\u547D\u540D\u6587\u4EF6";
328
+ };
329
+ var describeAttachmentForModel = (part) => {
330
+ if (!isAttachmentCandidate(part)) return "[\u672A\u8BC6\u522B\u7684\u9644\u4EF6]";
331
+ const normalized = normalizeAttachmentPart(part);
332
+ if (normalized.status !== "valid") return `[\u9644\u4EF6\u4E0D\u53EF\u7528: ${displayName(part)}]`;
333
+ return describeValidatedAttachment(normalized.attachment);
334
+ };
335
+
336
+ // packages/chat/messages/parseJsonRecord.ts
337
+ function asOptionalJsonRecord(value) {
338
+ if (typeof value === "string") {
339
+ if (!value.trim()) return void 0;
340
+ try {
341
+ const parsed = JSON.parse(value);
342
+ return isRecord(parsed) ? parsed : void 0;
343
+ } catch {
344
+ return void 0;
345
+ }
346
+ }
347
+ return isRecord(value) ? value : void 0;
348
+ }
349
+
350
+ // packages/chat/dialog/actions/extractReferenceKeys.ts
351
+ var REFERENCE_ARG_FIELDS = [
352
+ "pageKey",
353
+ "dialogKey",
354
+ "dbKey",
355
+ "docKey",
356
+ "key",
357
+ "id",
358
+ "rowDbKey",
359
+ "tableKey",
360
+ "table"
361
+ ];
362
+ var isLoadableReferenceKey = (key) => isPageKey(key) || isDialogRecordKey(key) || isTableMetaKey(key);
363
+ var extractKeysFromArgs = (args, out) => {
364
+ if (!args) return;
365
+ for (const field of REFERENCE_ARG_FIELDS) {
366
+ const value = args[field];
367
+ const key = asTrimmedString(value);
368
+ if (key && isLoadableReferenceKey(key)) {
369
+ out.add(key);
370
+ }
371
+ }
372
+ };
373
+ var extractKeysFromToolCalls = (msg, out) => {
374
+ const toolCalls = msg.tool_calls;
375
+ if (!Array.isArray(toolCalls)) return;
376
+ for (const call of toolCalls) {
377
+ const fn = call.function;
378
+ const argumentsText = asTrimmedString(fn.arguments);
379
+ if (!argumentsText) continue;
380
+ const parsed = asOptionalJsonRecord(argumentsText);
381
+ if (parsed) extractKeysFromArgs(parsed, out);
382
+ }
383
+ };
384
+ var extractKeysFromToolPayload = (toolPayload, out) => {
385
+ if (!toolPayload) return;
386
+ if (isRecord(toolPayload.input)) {
387
+ extractKeysFromArgs(
388
+ toolPayload.input,
389
+ out
390
+ );
391
+ return;
392
+ }
393
+ const rawToolCall = toolPayload.rawToolCall;
394
+ if (isRecord(rawToolCall)) {
395
+ const fn = rawToolCall.function;
396
+ if (isRecord(fn)) {
397
+ const argumentsText = asTrimmedString(fn.arguments);
398
+ if (argumentsText) {
399
+ const parsed = asOptionalJsonRecord(argumentsText);
400
+ if (parsed) extractKeysFromArgs(parsed, out);
401
+ }
402
+ }
403
+ }
404
+ };
405
+ var extractKeysFromContent = (msg, out) => {
406
+ const content = msg.content;
407
+ if (!content) return;
408
+ const parts = Array.isArray(content) ? content : [content];
409
+ for (const part of parts) {
410
+ if (!isRecord(part)) continue;
411
+ const pageKey = asTrimmedString(part.pageKey);
412
+ if (pageKey) out.add(pageKey);
413
+ const dialogKey = asTrimmedString(part.dialogKey);
414
+ if (dialogKey) out.add(dialogKey);
415
+ }
416
+ };
417
+ var extractReferenceKeysFromMessage = (msg) => {
418
+ const keys = /* @__PURE__ */ new Set();
419
+ extractKeysFromContent(msg, keys);
420
+ extractKeysFromToolCalls(msg, keys);
421
+ extractKeysFromToolPayload(msg.toolPayload, keys);
422
+ return Array.from(keys);
423
+ };
424
+
425
+ // packages/agent-runtime/emptyAssistantRepair.ts
426
+ var EMPTY_ASSISTANT_REPAIR_PROMPT = "\u8BF7\u7ED9\u51FA\u660E\u786E\u7684\u6587\u5B57\u56DE\u7B54\u6216\u6267\u884C\u4E0B\u4E00\u6B65\uFF1A\u5982\u679C\u4EFB\u52A1\u5DF2\u5B8C\u6210\uFF0C\u8BF7\u76F4\u63A5\u603B\u7ED3\u7ED3\u679C\uFF1B\u5982\u679C\u9700\u8981\u8C03\u7528\u5DE5\u5177\uFF0C\u53EA\u80FD\u8C03\u7528\u672C\u6B21\u8BF7\u6C42\u4E2D\u5DF2\u58F0\u660E\u7684\u5DE5\u5177\u2014\u2014\u4F60\u60F3\u7528\u7684\u5DE5\u5177\u4E0D\u5728\u58F0\u660E\u5217\u8868\u4E2D\u65F6\uFF0C\u4E0D\u8981\u5C1D\u8BD5\u8C03\u7528\u5B83\uFF0C\u76F4\u63A5\u7528\u6587\u5B57\u8BF4\u660E\u8BE5\u80FD\u529B\u5F53\u524D\u4E0D\u53EF\u7528\u3002\u8BF7\u5207\u52FF\u8FD4\u56DE\u7A7A\u5185\u5BB9\u3002";
427
+ var EMPTY_ASSISTANT_FALLBACK_MESSAGE = "\u6A21\u578B\u8FDE\u7EED\u8FD4\u56DE\u7A7A\u6D88\u606F\uFF0C\u5F53\u524D\u4EFB\u52A1\u672A\u5B8C\u6210\u3002\u8BF7\u91CD\u8BD5\u5F53\u524D\u6B65\u9AA4\uFF0C\u6216\u7ED9\u51FA\u66F4\u5177\u4F53\u7684\u4FEE\u6539\u8303\u56F4\u3002";
428
+ var LENGTH_TRUNCATED_FALLBACK_MESSAGE = "\u8F93\u51FA\u8FBE\u5230\u957F\u5EA6\u4E0A\u9650\u88AB\u622A\u65AD\uFF0C\u6216\u4E0A\u4E0B\u6587\u5DF2\u8D85\u51FA\u6A21\u578B\u7A97\u53E3\u3002\u5EFA\u8BAE\u7F29\u77ED\u4EFB\u52A1\u3001\u538B\u7F29\u6216\u65B0\u5F00\u5BF9\u8BDD\uFF0C\u6216\u63D0\u9AD8\u8F93\u51FA\u4E0A\u9650\u3002";
429
+ var STREAM_TRUNCATED_FALLBACK_MESSAGE = "\u4E0A\u6E38\u54CD\u5E94\u6D41\u5728\u6536\u5C3E\u524D\u88AB\u4E2D\u65AD\uFF08\u672A\u6536\u5230\u7ED3\u675F\u6807\u8BB0\uFF09\uFF0C\u672C\u8F6E\u8F93\u51FA\u4E0D\u5B8C\u6574\u3002\u8BF7\u91CD\u8BD5\u5F53\u524D\u6B65\u9AA4\u3002";
430
+ var REPETITION_LOOP_FALLBACK_MESSAGE = "\u68C0\u6D4B\u5230\u6A21\u578B\u9677\u5165\u91CD\u590D\u8F93\u51FA\u6B7B\u5FAA\u73AF\uFF0C\u5DF2\u81EA\u52A8\u7194\u65AD\u7EC8\u6B62\u5F53\u524D\u4EFB\u52A1\u3002";
431
+ var STAGNANT_TOOL_CALLS_FALLBACK_MESSAGE = "\u68C0\u6D4B\u5230\u8FDE\u7EED\u591A\u6B21\u76F8\u540C\u5DE5\u5177\u8C03\u7528\u4E14\u65E0\u5B9E\u8D28\u8FDB\u5C55\uFF0C\u5DF2\u81EA\u52A8\u7194\u65AD\u7EC8\u6B62\u5F53\u524D\u4EFB\u52A1\u3002";
432
+ var MAX_REASONING_ONLY_REPAIRS = 2;
433
+ function resolveEmptyAssistantOutcome(args) {
434
+ if (args.hasVisibleOutput && !args.hasToolCalls && !args.finishReason && !args.streamComplete) {
435
+ return { kind: "ok_with_warning", reason: "stream_truncated" };
436
+ }
437
+ if (args.hasToolCalls || args.hasVisibleOutput) return { kind: "ok" };
438
+ if (args.finishReason === "length") return { kind: "fallback", reason: "length_truncated" };
439
+ if (!args.finishReason && !args.streamComplete) {
440
+ if (!args.repairUsed) return { kind: "repair" };
441
+ return { kind: "fallback", reason: "stream_truncated" };
442
+ }
443
+ if (args.hasReasoning && (args.reasoningRepairCount ?? 0) < MAX_REASONING_ONLY_REPAIRS) {
444
+ return { kind: "repair" };
445
+ }
446
+ if (!args.repairUsed) return { kind: "repair" };
447
+ return { kind: "fallback", reason: "empty_completion" };
448
+ }
449
+ function resolveEmptyAssistantFallbackMessage(reason) {
450
+ if (reason === "length_truncated") return LENGTH_TRUNCATED_FALLBACK_MESSAGE;
451
+ if (reason === "stream_truncated") return STREAM_TRUNCATED_FALLBACK_MESSAGE;
452
+ if (reason === "repetition_loop") return REPETITION_LOOP_FALLBACK_MESSAGE;
453
+ if (reason === "stagnant_tool_calls") return STAGNANT_TOOL_CALLS_FALLBACK_MESSAGE;
454
+ return EMPTY_ASSISTANT_FALLBACK_MESSAGE;
455
+ }
456
+ function hasAssistantVisibleOutput(content) {
457
+ if (typeof content === "string") return content.trim().length > 0;
458
+ if (!Array.isArray(content)) return false;
459
+ return content.some((part) => {
460
+ if (part?.type === "text" && String(part.text ?? "").trim()) return true;
461
+ if (part?.type === "image_url") {
462
+ const url = part?.image_url?.url;
463
+ return typeof url === "string" && url.trim().length > 0;
464
+ }
465
+ return false;
466
+ });
467
+ }
468
+ var LENGTH_TRUNCATED_REASONING_MARKER = "[length_truncated_reasoning_tail]";
469
+ var STREAM_TRUNCATED_REASONING_MARKER = "[stream_truncated_reasoning_tail]";
470
+ var MAX_TRUNCATED_REASONING_CHARS = 2e3;
471
+ function formatReasoningTailWithMarker(reasoning_content, marker, maxChars) {
472
+ if (typeof reasoning_content !== "string") return null;
473
+ const trimmed = reasoning_content.trim();
474
+ if (trimmed.length === 0) return null;
475
+ const tail = trimmed.length > maxChars ? trimmed.slice(-maxChars) : trimmed;
476
+ return `[nolo] ${marker}
477
+ ${tail}`;
478
+ }
479
+ function formatLengthTruncatedReasoningTail(reasoning_content, maxChars = MAX_TRUNCATED_REASONING_CHARS) {
480
+ return formatReasoningTailWithMarker(reasoning_content, LENGTH_TRUNCATED_REASONING_MARKER, maxChars);
481
+ }
482
+ function formatStreamTruncatedReasoningTail(reasoning_content, maxChars = MAX_TRUNCATED_REASONING_CHARS) {
483
+ return formatReasoningTailWithMarker(reasoning_content, STREAM_TRUNCATED_REASONING_MARKER, maxChars);
484
+ }
485
+ function resolveTruncatedReasoningTailLog(reason, reasoning_content) {
486
+ if (reason === "length_truncated") {
487
+ return formatLengthTruncatedReasoningTail(reasoning_content);
488
+ }
489
+ if (reason === "stream_truncated") {
490
+ return formatStreamTruncatedReasoningTail(reasoning_content);
491
+ }
492
+ return null;
493
+ }
494
+
495
+ export {
496
+ DEFAULT_AUTO_EXECUTION_PROFILE,
497
+ resolveAutoExecutionProfile,
498
+ ATTACHMENT_PART_TYPE,
499
+ ATTACHMENT_PART_VERSION,
500
+ normalizeAttachmentPart,
501
+ attachmentKind,
502
+ describeAttachmentForModel,
503
+ isCodexOAuthAgent,
504
+ resolveCodexOAuthEffectiveModel,
505
+ CODEX_OAUTH_CATALOG_TTL_MS,
506
+ CODEX_OAUTH_CATALOG_RETRY_FLOOR_MS,
507
+ codexOAuthCatalogAccountKey,
508
+ codexOAuthCatalogSnapshot,
509
+ commitCodexOAuthCatalogWindows,
510
+ markCodexOAuthCatalogFailure,
511
+ codexOAuthCatalogWindow,
512
+ devinChannelContextWindow,
513
+ resolveAgentContextWindow,
514
+ asOptionalJsonRecord,
515
+ extractReferenceKeysFromMessage,
516
+ EMPTY_ASSISTANT_REPAIR_PROMPT,
517
+ EMPTY_ASSISTANT_FALLBACK_MESSAGE,
518
+ LENGTH_TRUNCATED_FALLBACK_MESSAGE,
519
+ STREAM_TRUNCATED_FALLBACK_MESSAGE,
520
+ REPETITION_LOOP_FALLBACK_MESSAGE,
521
+ STAGNANT_TOOL_CALLS_FALLBACK_MESSAGE,
522
+ resolveEmptyAssistantOutcome,
523
+ resolveEmptyAssistantFallbackMessage,
524
+ hasAssistantVisibleOutput,
525
+ resolveTruncatedReasoningTailLog
526
+ };
@@ -1,45 +1,45 @@
1
1
  import {
2
2
  upsertSSREntity,
3
3
  write
4
- } from "./chunk-BFM34N54.js";
4
+ } from "./chunk-44X52WOJ.js";
5
5
  import {
6
6
  getRuntimeServerContext,
7
7
  resolveRecordAuthority
8
- } from "./chunk-PYRUW7XN.js";
8
+ } from "./chunk-2VUZSVAS.js";
9
9
  import {
10
10
  TIMEOUT,
11
11
  asyncThunkCreator,
12
12
  buildCreateSlice,
13
13
  noloRequest
14
- } from "./chunk-P5L7CXOC.js";
15
- import {
16
- isLevelNotFoundError
17
- } from "./chunk-OW765XBU.js";
14
+ } from "./chunk-7Z6EW7AH.js";
18
15
  import {
19
16
  applyAgentSecretMigrationUpdates,
20
17
  migrateAgentSecrets,
21
18
  normalizeAgentRuntimeToolPolicy
22
- } from "./chunk-2QHFH3DR.js";
23
- import {
24
- createFileCredentialBroker
25
- } from "./chunk-OQHIVPG4.js";
19
+ } from "./chunk-47ITIXO7.js";
26
20
  import {
27
21
  asRecordOrEmpty
28
22
  } from "./chunk-KX6YBIHG.js";
29
23
  import {
30
- isRecord
31
- } from "./chunk-KUG52IAP.js";
24
+ createFileCredentialBroker
25
+ } from "./chunk-SNBZZPYH.js";
32
26
  import {
33
- API_ENDPOINTS
34
- } from "./chunk-LCBAMY2M.js";
27
+ isLevelNotFoundError
28
+ } from "./chunk-OW765XBU.js";
35
29
  import {
36
30
  createAgentKey,
37
31
  createUserKey,
38
32
  toTrimmedString
39
- } from "./chunk-JY5NGFFH.js";
33
+ } from "./chunk-SYTHYBMI.js";
40
34
  import {
41
35
  asTrimmedString
42
36
  } from "./chunk-3EUW3WEO.js";
37
+ import {
38
+ isRecord
39
+ } from "./chunk-KUG52IAP.js";
40
+ import {
41
+ API_ENDPOINTS
42
+ } from "./chunk-LCBAMY2M.js";
43
43
  import {
44
44
  asOptionalTrimmedString
45
45
  } from "./chunk-G3SUCT4W.js";
@@ -458,7 +458,7 @@ var slice = createSliceWithThunks({
458
458
  const overrides = {};
459
459
  if (args.systemPromptOverride !== void 0) overrides.prompt = args.systemPromptOverride;
460
460
  if (args.toolsOverride !== void 0) overrides.tools = args.toolsOverride;
461
- const { _executeModel } = await import("./_executeModel-KE6MBNUJ.js");
461
+ const { _executeModel } = await import("./_executeModel-4GGQQHOB.js");
462
462
  return _executeModel(
463
463
  {
464
464
  isStreaming: args.isStreaming ?? false,
@@ -479,7 +479,7 @@ var slice = createSliceWithThunks({
479
479
  * - 循环直到无工具调用或触发其他运行时停止条件
480
480
  */
481
481
  runAgent: create.asyncThunk(async (args, thunkApi) => {
482
- const { runAgentClientLoop } = await import("./runAgentClientLoop-V7E2WBVM.js");
482
+ const { runAgentClientLoop } = await import("./runAgentClientLoop-UVAWGEON.js");
483
483
  const { content: loopContent, toolCallCount } = await runAgentClientLoop(
484
484
  {
485
485
  agentKey: args.agentKey,
@@ -495,7 +495,7 @@ var slice = createSliceWithThunks({
495
495
  * 聊天轮次流式 Agent 调用
496
496
  */
497
497
  streamAgentChatTurn: create.asyncThunk(async (args, thunkApi) => {
498
- const { streamAgentChatTurnHandler } = await import("./streamAgentChatTurn-7FR7X2NU.js");
498
+ const { streamAgentChatTurnHandler } = await import("./streamAgentChatTurn-R5UY25VB.js");
499
499
  return streamAgentChatTurnHandler(args, thunkApi);
500
500
  }),
501
501
  /**
@@ -529,7 +529,7 @@ var slice = createSliceWithThunks({
529
529
  agent.isPublic = false;
530
530
  }
531
531
  try {
532
- const { localFirstLog } = await import("./localFirstLog-DHNOY2NA.js");
532
+ const { localFirstLog } = await import("./localFirstLog-OIETGK66.js");
533
533
  localFirstLog("agent.create.start", {
534
534
  owner: effectiveUserId,
535
535
  hasRawApiKey: Boolean(readNonEmptyApiKey(agent.apiKey)),
@@ -583,7 +583,7 @@ var slice = createSliceWithThunks({
583
583
  }
584
584
  }
585
585
  try {
586
- const { localFirstLog } = await import("./localFirstLog-DHNOY2NA.js");
586
+ const { localFirstLog } = await import("./localFirstLog-OIETGK66.js");
587
587
  localFirstLog("agent.create.done", {
588
588
  owner: effectiveUserId,
589
589
  key: privateKey,
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  toolRegistry
3
- } from "./chunk-CQ46IRNN.js";
3
+ } from "./chunk-B4GOW4MT.js";
4
4
  import {
5
5
  runtime_default
6
- } from "./chunk-VZKUKCA6.js";
6
+ } from "./chunk-MZLE5HQ3.js";
7
7
  import {
8
8
  canonicalizeToolNames
9
- } from "./chunk-ZCWRMUWT.js";
9
+ } from "./chunk-6OVNSQHN.js";
10
10
  import {
11
11
  isRecord
12
12
  } from "./chunk-KUG52IAP.js";
13
13
  import {
14
14
  isNoloHostedProvider
15
- } from "./chunk-GOO6G4PY.js";
15
+ } from "./chunk-CKG3PRZ7.js";
16
16
  import {
17
17
  asTrimmedLowercaseString
18
18
  } from "./chunk-QSJ3HFEF.js";