nolo-cli 0.213.0 → 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 (262) hide show
  1. package/README.md +3 -2
  2. package/{_executeModel-CUJLCFWR.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-WERAONNY.js → addContentAction-GDHDOF4U.js} +18 -17
  6. package/{addDialogAgentAction-7VI7YRML.js → addDialogAgentAction-CAKRU3ZT.js} +21 -20
  7. package/{agentDeleteCommand-XJORXPGU.js → agentDeleteCommand-BPV2XZL7.js} +128 -119
  8. package/{agentEmailCommands-XTYYFR6Z.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-OBLRBLHS.js → agentListCommands-HIZODBF3.js} +155 -92
  12. package/{agentMachineCommands-5FMT3OT5.js → agentMachineCommands-ZMQ2CY7Y.js} +62 -54
  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-TAMHJQSR.js → agentRunControl-JNONH3RP.js} +30 -15
  18. package/{agentRuntimeLocal-SOO2OPJG.js → agentRuntimeLocal-QZPFWMLG.js} +52 -45
  19. package/{agentSlice-CHR6KOZN.js → agentSlice-RD2CDU7T.js} +20 -19
  20. package/{appDeleteCommands-GUP6P5YE.js → appDeleteCommands-QCCFDIEQ.js} +61 -53
  21. package/{appDeployCommands-MH2FX4O5.js → appDeployCommands-V2T7TNMQ.js} +61 -53
  22. package/{appDeployStatusCommands-SUHN3HPJ.js → appDeployStatusCommands-6PGH7ZCG.js} +61 -53
  23. package/{appGetCommands-YWDEX6Z4.js → appGetCommands-3L7WWJA6.js} +61 -53
  24. package/{appListCommands-ZQVMLPAY.js → appListCommands-ENJCK4PO.js} +61 -53
  25. package/{authCommand-PWX2ZNUP.js → authCommand-6V47SYGK.js} +29 -28
  26. package/{authCommands-HV3EAU3V.js → authCommands-GAJ3NIXO.js} +14 -13
  27. package/{builtinSkillRegistry-2QETTQPM.js → builtinSkillRegistry-2ECA42FC.js} +11 -13
  28. package/{chromeCommands-REEAH4SX.js → chromeCommands-G5UDKVSV.js} +3 -3
  29. package/{chromeOpsCommands-DIVM2K3T.js → chromeOpsCommands-YKX2QX3A.js} +20 -10
  30. package/{chunk-CRHOO2ZR.js → chunk-27PCUMJI.js} +2 -2
  31. package/chunk-2CI3ZFWD.js +97 -0
  32. package/{chunk-NSAPDIN2.js → chunk-2GJKRKI6.js} +541 -31
  33. package/{chunk-SM3NSZJV.js → chunk-2UCBGYO4.js} +20 -1
  34. package/{chunk-PYRUW7XN.js → chunk-2VUZSVAS.js} +136 -54
  35. package/{chunk-YB3YZK56.js → chunk-2WZXXAQD.js} +1 -67
  36. package/chunk-2YGBI2XB.js +30 -0
  37. package/chunk-2ZKFCIJJ.js +13 -0
  38. package/{chunk-QG4AOSON.js → chunk-34J5K2YA.js} +13 -32
  39. package/{chunk-LOEO7LRC.js → chunk-3IK6ILVW.js} +4 -1
  40. package/{chunk-CTPXME7U.js → chunk-3LMUPOHG.js} +29 -6
  41. package/chunk-44X52WOJ.js +1621 -0
  42. package/{chunk-6VLJ6YA7.js → chunk-4DESLZTK.js} +9 -9
  43. package/{chunk-MYOH447Z.js → chunk-4JVNURX4.js} +1 -1
  44. package/chunk-5CHGAKRT.js +364 -0
  45. package/{chunk-YDH3FDFQ.js → chunk-5FUN7EG4.js} +1 -1
  46. package/{chunk-INUFILG6.js → chunk-5RKUPJYL.js} +1 -1
  47. package/{chunk-ZC3CMUKU.js → chunk-6OVNSQHN.js} +84 -2
  48. package/{chunk-MOIJOHA5.js → chunk-6WU5572L.js} +36 -25
  49. package/{chunk-IXNGOHV5.js → chunk-7EEZJ6BS.js} +11 -152
  50. package/{chunk-Y6ORVLSS.js → chunk-7ET2U67U.js} +1 -1
  51. package/{chunk-G7MLNNEX.js → chunk-7JLY4WYF.js} +5 -5
  52. package/{chunk-P5L7CXOC.js → chunk-7Z6EW7AH.js} +3 -2
  53. package/{chunk-NJLL224W.js → chunk-AD5EWDFD.js} +2 -2
  54. package/{chunk-J2NHJ7WX.js → chunk-AIHYNKGV.js} +4 -4
  55. package/{chunk-HPFCI4SK.js → chunk-AK5O76CC.js} +3 -3
  56. package/{chunk-Y63ZSOR6.js → chunk-AL3TYDIF.js} +1 -1
  57. package/{chunk-ALQ3657A.js → chunk-AMEOV5VZ.js} +32 -12
  58. package/chunk-AN74ON4G.js +675 -0
  59. package/{chunk-HRMJUN5J.js → chunk-AQZ6BMRK.js} +1 -1
  60. package/{chunk-XHQC4PXX.js → chunk-B4GOW4MT.js} +424 -194
  61. package/{chunk-4KB6WQUL.js → chunk-BGP2EDFG.js} +1 -1
  62. package/{chunk-NBTY7YJF.js → chunk-BR3GT6MR.js} +1 -0
  63. package/{chunk-7RFNTILS.js → chunk-BUDVRYES.js} +2 -2
  64. package/{chunk-SVYO6AO7.js → chunk-BV3FLP2L.js} +41 -1
  65. package/{chunk-RZOV7OMV.js → chunk-C4VAR65S.js} +83 -141
  66. package/{chunk-COFEN36Z.js → chunk-C4WTX5TU.js} +2 -2
  67. package/{chunk-ZL5RAEEB.js → chunk-CIRB724Q.js} +1 -1
  68. package/{chunk-F6UUQOG6.js → chunk-CKT6QUE2.js} +4 -4
  69. package/{chunk-X7SDOJUM.js → chunk-CMZ3Z5PT.js} +14 -14
  70. package/{secretCommands-LXDWOLZ6.js → chunk-D726I5AZ.js} +191 -16
  71. package/{chunk-TAKB25RM.js → chunk-DNKTQ3IN.js} +4 -4
  72. package/chunk-DVQH4BTR.js +1137 -0
  73. package/{chunk-WYDI6TGM.js → chunk-DWX2HEVC.js} +91 -132
  74. package/{chunk-5MQRBSMW.js → chunk-EIAI3PPH.js} +111 -113
  75. package/chunk-EUCFKKDM.js +247 -0
  76. package/chunk-EWQ3HGNZ.js +90 -0
  77. package/{chunk-RPQXPZZF.js → chunk-F3GRJO4Z.js} +908 -13
  78. package/{chunk-YTF4WH7J.js → chunk-FIYSMXHY.js} +1 -1
  79. package/{chunk-75XIDFBW.js → chunk-FJ23FZXF.js} +72 -28
  80. package/{chunk-INN4LTAJ.js → chunk-FJK526XH.js} +2 -2
  81. package/chunk-FS2XP5D7.js +142 -0
  82. package/{chunk-FUGMREBO.js → chunk-FYF2TONJ.js} +5 -5
  83. package/{chunk-PCLE46CE.js → chunk-GBWGPTA7.js} +2 -1
  84. package/{chunk-TX5EYMGT.js → chunk-GYVCJABP.js} +30 -254
  85. package/{chunk-3UKL3HPD.js → chunk-HOCHUZQ7.js} +8 -78
  86. package/{chunk-EHSZD5OI.js → chunk-HXER7YJF.js} +4 -4
  87. package/chunk-HYIETXA6.js +99 -0
  88. package/{chunk-H2TJUNCH.js → chunk-I4EADJ4P.js} +6 -6
  89. package/{chunk-TCZHTTUU.js → chunk-I7WBYGBP.js} +8 -8
  90. package/{chunk-6DWMYIUY.js → chunk-IILMY4W4.js} +14 -9
  91. package/chunk-JA3ICVJY.js +271 -0
  92. package/{chunk-ZRSNONOB.js → chunk-JWXITTQB.js} +8 -3
  93. package/{chunk-H4UOTUOX.js → chunk-KEN3N2TN.js} +148 -18
  94. package/{chunk-LEC5ALIN.js → chunk-KEPOVMF4.js} +1 -1
  95. package/{chunk-UHJGXRJ4.js → chunk-KQSYAIZR.js} +3 -3
  96. package/{chunk-4VJAC32I.js → chunk-L5I543VB.js} +3 -2
  97. package/chunk-LKA64WH4.js +227 -0
  98. package/{chunk-QHPRUL4O.js → chunk-LVL6GFCM.js} +4 -4
  99. package/{chunk-H5HF7TJA.js → chunk-MAIITKBT.js} +2 -2
  100. package/chunk-MBG66ZBH.js +226 -0
  101. package/{chunk-YUA6OAH5.js → chunk-MDLS23JK.js} +2 -2
  102. package/{chunk-VL5KOY2C.js → chunk-MK2Q7ZJD.js} +67 -5
  103. package/{chunk-MDB67IWP.js → chunk-MS4NZNKI.js} +10 -10
  104. package/{chunk-VO4WSAVP.js → chunk-MYHNBEXD.js} +3 -3
  105. package/{chunk-ZXOUUDCG.js → chunk-MZLE5HQ3.js} +3654 -231
  106. package/{chunk-AZMYUSVF.js → chunk-N5Z2V73W.js} +1 -1
  107. package/{chunk-V5Y3R6BT.js → chunk-NIZ2BXFD.js} +213 -210
  108. package/{chunk-KFLT5KAD.js → chunk-NWP2OYOX.js} +20 -20
  109. package/{chunk-G2BQWAVT.js → chunk-O6J3OTOP.js} +4 -4
  110. package/{chunk-VNYYOX3V.js → chunk-OB6DVWPF.js} +141 -48
  111. package/{chunk-YWSEPJ7C.js → chunk-OBWT45ZU.js} +3 -3
  112. package/{chunk-ZNWI6OVT.js → chunk-ODJ7BVSI.js} +80 -11
  113. package/{chunk-XJWWBO34.js → chunk-OJKUU3LP.js} +5 -7
  114. package/{chunk-HUBHAQK2.js → chunk-ON37YXGX.js} +29 -29
  115. package/{chunk-UYD5HQ6T.js → chunk-P5ZJRTCH.js} +5429 -1752
  116. package/{chunk-6XIE5ZGI.js → chunk-PDCV7P5W.js} +1 -1
  117. package/{chunk-WRYQ35LQ.js → chunk-PJCIP64Z.js} +859 -57
  118. package/{chunk-7QTZCMKL.js → chunk-PJVKMGPZ.js} +1089 -1639
  119. package/{chunk-A7TFUNZO.js → chunk-PPJYZRSQ.js} +6 -2
  120. package/chunk-QHEN7NZ7.js +46 -0
  121. package/{chunk-OQPKUBPB.js → chunk-QNWG52I4.js} +19 -7
  122. package/{chunk-YGILMZ7N.js → chunk-QVBXJNZ2.js} +1 -1
  123. package/{chunk-7BT37FK3.js → chunk-RDH5CQ4T.js} +648 -131
  124. package/{chunk-C6KNNXWU.js → chunk-RGQ4UUWZ.js} +25 -2
  125. package/{chunk-OWYYDMGJ.js → chunk-S2NTVGA2.js} +4 -2
  126. package/{chunk-KC4XDTT3.js → chunk-SOF4OWDM.js} +6 -4
  127. package/{chunk-RLBNLZVC.js → chunk-SQYIK6HO.js} +1 -1
  128. package/{chunk-YJAFKXMU.js → chunk-SVT62ULE.js} +50 -48
  129. package/{chunk-KIM6CLW5.js → chunk-SY3C4SQ7.js} +42 -15
  130. package/{chunk-JY5NGFFH.js → chunk-SYTHYBMI.js} +5 -5
  131. package/{chunk-WMTBPBMP.js → chunk-T6DXNI6Z.js} +52 -50
  132. package/chunk-TLE77UJ5.js +230 -0
  133. package/{chunk-4VNS5WPM.js → chunk-U67V476Y.js} +1 -8
  134. package/{chunk-F7CI2ZC5.js → chunk-UAIHKQIA.js} +2 -1
  135. package/{chunk-R5O4QAWG.js → chunk-UB3D4TRQ.js} +11 -77
  136. package/{chunk-WPORQFYN.js → chunk-UVLYNWIE.js} +2 -2
  137. package/{chunk-NOKUNJON.js → chunk-UYOICCYG.js} +29 -19
  138. package/{chunk-4I7ERB7F.js → chunk-VREDDN25.js} +1 -1
  139. package/{chunk-O2TZF4AI.js → chunk-WAE3GFCJ.js} +3 -3
  140. package/{chunk-H7PPIYWP.js → chunk-WI67URFP.js} +20 -20
  141. package/{chunk-7OCO4TDT.js → chunk-WJVYAO6P.js} +1 -1
  142. package/{chunk-T43B7LB2.js → chunk-WKGQSYTB.js} +1 -1
  143. package/{chunk-BBJ22CLB.js → chunk-WUUH4LWZ.js} +60 -30
  144. package/{chunk-4T2WNOY7.js → chunk-X7UF53VA.js} +33 -22
  145. package/{chunk-TY3TIUJK.js → chunk-XI2BWJM5.js} +65 -0
  146. package/{chunk-LLRPJECG.js → chunk-XWVCYUUU.js} +16 -159
  147. package/{chunk-J5JTMQIA.js → chunk-YFLVRVYK.js} +1 -1
  148. package/{chunk-EYLGAEB4.js → chunk-YGMBIXCF.js} +132 -0
  149. package/chunk-YL3EFYL3.js +199 -0
  150. package/{chunk-MMA3LZ3W.js → chunk-YNIYE47Z.js} +1 -1
  151. package/{chunk-W4S457LU.js → chunk-YU4ZPWVF.js} +41 -5
  152. package/{chunk-7Y4YTDQF.js → chunk-YWWDC3O7.js} +281 -159
  153. package/chunk-YZMNK53S.js +68 -0
  154. package/{chunk-RSHTSUEG.js → chunk-Z2PITYZN.js} +2060 -602
  155. package/{chunk-FY7F4Q6X.js → chunk-Z4PCXPUE.js} +2 -2
  156. package/{cliAgentConfigHelpers-WJBZQTLW.js → cliAgentConfigHelpers-TKYL43MT.js} +15 -16
  157. package/{cliAuthorityBrokerClient-PM3U6Q6J.js → cliAuthorityBrokerClient-XHH7MH2P.js} +1 -1
  158. package/{cliAuthorityStoreDriver-TKLXNNTG.js → cliAuthorityStoreDriver-6FE3BJNB.js} +1 -1
  159. package/{cliEnvHelpers-BVYTMUPJ.js → cliEnvHelpers-VPSJ4XWC.js} +3 -3
  160. package/{cliExecutor-BWBF2MTI.js → cliExecutor-4MAX3PZL.js} +2 -2
  161. package/cliLocalAgentRecordReader-MHHD4T7R.js +90 -0
  162. package/{commandRegistry-W63CYRZJ.js → commandRegistry-5DA5UP7S.js} +105 -97
  163. package/{contentThunks-U7PL5MQD.js → contentThunks-5GUQ7FWJ.js} +47 -43
  164. package/{cooldownCommands-TIGUHXTD.js → cooldownCommands-X7P5M2V5.js} +5 -4
  165. package/{createAgentAutomationAction-OLBQDD6R.js → createAgentAutomationAction-UCLTHQRI.js} +51 -49
  166. package/{createDialogAction-SVH6B3SB.js → createDialogAction-UPN774AF.js} +46 -48
  167. package/{createPageAction-F4DIWZ2Z.js → createPageAction-JRQ2TA4O.js} +50 -48
  168. package/{cursorProvider-YGGNMVWX.js → cursorProvider-2RACMEMF.js} +1 -1
  169. package/{db-HUCI5R4G.js → db-CS4ZJQKV.js} +1 -1
  170. package/{dbSlice-BVH2YZPQ.js → dbSlice-WNON7TOL.js} +17 -16
  171. package/{deleteFile-5YOEKV4U.js → deleteFile-Q3YDB4ML.js} +9 -9
  172. package/{desktopFolderProjects-SFY5EZS3.js → desktopFolderProjects-4POAMVJN.js} +2 -2
  173. package/{dialogCommands-KHIEPY3M.js → dialogCommands-VRI7VCXH.js} +64 -57
  174. package/dialogNotifyCommand-6TMCX4D2.js +36 -0
  175. package/{dialogSlice-ZCTDV2PZ.js → dialogSlice-LFNVUSAN.js} +42 -40
  176. package/{dialogUsageCommand-7KCPYGHG.js → dialogUsageCommand-HTVPR2CX.js} +11 -10
  177. package/{docCreateCommands-DPMZI7G5.js → docCreateCommands-AMPXMOX3.js} +61 -55
  178. package/{docDeleteCommands-IRQQLUBT.js → docDeleteCommands-I5WFAEHP.js} +63 -57
  179. package/{docReadCommands-LK37XH6L.js → docReadCommands-X53ELNIE.js} +61 -55
  180. package/{docStore-V2KECILA.js → docStore-2VAWVLWH.js} +21 -20
  181. package/{docUpdateCommands-O6T3HJHH.js → docUpdateCommands-6QPNDC7M.js} +64 -58
  182. package/{fetchMessages-NR4KNQLO.js → fetchMessages-TQEUZD7H.js} +8 -7
  183. package/{getPricing-2MNMXEVG.js → getPricing-MB2GBXOK.js} +6 -6
  184. package/{handleSendMessageAction-2PE25WM3.js → handleSendMessageAction-AAJOHXOB.js} +194 -302
  185. package/{hostCredentialCreate-S233UMAP.js → hostCredentialCreate-GLMJ22M6.js} +123 -114
  186. package/index.js +29 -29
  187. package/{keys-BEGDOTRL.js → keys-RWF7UCB4.js} +5 -4
  188. package/legacyMigration-TF4SYJCZ.js +19 -0
  189. package/{lib-5KKIBFIT.js → lib-OT5OTXRU.js} +7087 -6664
  190. package/{localDialogRead-7NNDVVF7.js → localDialogRead-SVTPA5GY.js} +3 -3
  191. package/{localFirstLog-DHNOY2NA.js → localFirstLog-OIETGK66.js} +1 -1
  192. package/localRecall-2J6QPOK2.js +15 -0
  193. package/{localRuntimeAdapter-KY6WXNBR.js → localRuntimeAdapter-BMP57P42.js} +119 -110
  194. package/{localRuntimeAuthority-OYH4AE4G.js → localRuntimeAuthority-IBJAT62G.js} +1 -1
  195. package/{localRuntimeDb-VBIMCWUC.js → localRuntimeDb-N7KHDXS2.js} +2 -2
  196. package/{machineCommands-Q6HA3IXF.js → machineCommands-3MLIAK5Q.js} +128 -119
  197. package/{machineInfo-UKPTZO5Y.js → machineInfo-LWHTEBHJ.js} +1 -1
  198. package/machineWsRunDispatch-FKIGROQF.js +191 -0
  199. package/{memberThunks-7EDJADWU.js → memberThunks-ZGLZ36PK.js} +29 -28
  200. package/{memoryCommands-ASCE5STX.js → memoryCommands-5WC3T66U.js} +4 -4
  201. package/models-ULVWLSQ6.js +9 -0
  202. package/{oauthTokenStore-OEERZFUC.js → oauthTokenStore-RUYNYALS.js} +1 -1
  203. package/{offlineMarxistsAgentCommand-2QTHJCHV.js → offlineMarxistsAgentCommand-4IC3Y4C6.js} +4 -4
  204. package/overlay-THLKYIWY.js +11 -0
  205. package/package.json +2 -2
  206. package/{pdf-U6KSUEZZ.js → pdf-KE3QI2V7.js} +1 -1
  207. package/{processSpawn-ZU5QFM43.js → processSpawn-6GEO77KV.js} +1 -1
  208. package/{profileConfig-KN3N2BLF.js → profileConfig-KOWK4HOG.js} +1 -1
  209. package/{projectArchive-DRTDIMEV.js → projectArchive-HK63GMF4.js} +52 -50
  210. package/{providerPresetApply-YXGV6NXB.js → providerPresetApply-OIFQ73LH.js} +19 -12
  211. package/{providerRegistry-S6UL6UNA.js → providerRegistry-KZ3SDZ3D.js} +10 -10
  212. package/{read-4V2RMG7N.js → read-MRQHJMJ2.js} +10 -10
  213. package/{readDocTool-BH6ATGQO.js → readDocTool-4BGTXTXA.js} +2 -2
  214. package/{readlineWorkspace-2W4WRCOU.js → readlineWorkspace-AKAHSCNY.js} +7982 -6274
  215. package/{removeDialogAgentAction-LYAZGNKW.js → removeDialogAgentAction-B6H7DXFM.js} +23 -22
  216. package/{runAgentClientLoop-J2VQBS2Z.js → runAgentClientLoop-UVAWGEON.js} +81 -79
  217. package/{runtimeDoctorCommands-QAI3MBKQ.js → runtimeDoctorCommands-FW6XKDUG.js} +12 -12
  218. package/{runtimeModeArgs-2Y7BALTO.js → runtimeModeArgs-X7DL7PUN.js} +1 -1
  219. package/secretCommands-LJXOOYA7.js +24 -0
  220. package/{setDialogExtraReferencesAction-OCRPGPYH.js → setDialogExtraReferencesAction-EVCY3TRW.js} +22 -21
  221. package/{setPrimaryDialogAgentAction-HFJDQIBU.js → setPrimaryDialogAgentAction-KPFVPHCJ.js} +23 -22
  222. package/{settingThunks-RAMHMTGM.js → settingThunks-ENOAK2WV.js} +97 -88
  223. package/{skillDiscovery-XKHROSH2.js → skillDiscovery-B5V23AXP.js} +4 -4
  224. package/{skillSummaryMarker-42HKSXYY.js → skillSummaryMarker-62UW7HI7.js} +1 -1
  225. package/{slateToRenderMarkdown-Y5IYN73U.js → slateToRenderMarkdown-R3X74MCX.js} +1 -1
  226. package/{slateUtils-NGV2NMKM.js → slateUtils-ESQAJ6RN.js} +1 -1
  227. package/{spaceCommands-KVJZVKVO.js → spaceCommands-DTTNAS2L.js} +61 -53
  228. package/store-JRVN62NM.js +46 -0
  229. package/{streamAgentChatTurn-GHBMJJ6S.js → streamAgentChatTurn-R5UY25VB.js} +875 -618
  230. package/{switchDialogAgentAction-EBRMW3RA.js → switchDialogAgentAction-SZ44XDRY.js} +21 -20
  231. package/{tableCommands-MP6VFSVT.js → tableCommands-HITDSLHS.js} +10 -10
  232. package/tombstones-FQQMEDOW.js +32 -0
  233. package/{toolApiClient-HGNO53TC.js → toolApiClient-OGQEBQVX.js} +4 -4
  234. package/{tools-EWKCPKMS.js → tools-HWFG6GMJ.js} +75 -74
  235. package/tuiSummaryLlmCaller-HQQZAMYF.js +44 -0
  236. package/{updateCommands-ZQYU6SCI.js → updateCommands-RJVCRSBP.js} +10 -8
  237. package/{updateDialogTitleAction-5GGMBTDF.js → updateDialogTitleAction-KNPOAMVS.js} +48 -46
  238. package/{usageCommand-F4IPVMIZ.js → usageCommand-FWZCB7AM.js} +11 -10
  239. package/{usageRebuildCommand-HAW2AD5N.js → usageRebuildCommand-SP2BLNJU.js} +12 -11
  240. package/userDataMerge-HT2ZVHBJ.js +13 -0
  241. package/{windowsSelfUpdate-257DV2T6.js → windowsSelfUpdate-KERHIAB4.js} +3 -3
  242. package/{workloadLifecycle-4C42SVBD.js → workloadLifecycle-DYNEYHV5.js} +6 -6
  243. package/agentRecordCommands-ZQ7SVYGG.js +0 -167
  244. package/agentRunCommand-WS7IGO2W.js +0 -196
  245. package/chunk-3CGG2PAL.js +0 -594
  246. package/chunk-5XBUWM6I.js +0 -89
  247. package/chunk-CJEIOP3E.js +0 -0
  248. package/chunk-EHGEOAHI.js +0 -636
  249. package/chunk-FW6YHHLI.js +0 -842
  250. package/chunk-GPVRUGGY.js +0 -115
  251. package/chunk-HSVBJRF4.js +0 -339
  252. package/chunk-WJZOQR2J.js +0 -151
  253. package/chunk-ZCWRMUWT.js +0 -89
  254. package/dist-M676ULYG.js +0 -7314
  255. package/machineWsRunDispatch-WWJQ6WR3.js +0 -182
  256. package/models-PJBE6JDV.js +0 -9
  257. package/tuiSummaryLlmCaller-ALQYUUWB.js +0 -189
  258. package/{chunk-WACI5I6V.js → chunk-2THCNKE4.js} +3 -3
  259. package/{chunk-2QHFH3DR.js → chunk-47ITIXO7.js} +6 -6
  260. package/{chunk-GOO6G4PY.js → chunk-CKG3PRZ7.js} +0 -0
  261. package/{chunk-OQHIVPG4.js → chunk-SNBZZPYH.js} +3 -3
  262. 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
 
@@ -1,34 +1,25 @@
1
- import {
2
- getModelContextWindow
3
- } from "./chunk-7BT37FK3.js";
4
- import {
5
- normalizeTimingMs
6
- } from "./chunk-H57T64RA.js";
7
1
  import {
8
2
  isDevinOAuthAgent
9
3
  } from "./chunk-5ZUL4CUO.js";
10
4
  import {
11
- BUILTIN_NOLO_AGENT_KEY
12
- } from "./chunk-LOEO7LRC.js";
5
+ getModelContextWindow
6
+ } from "./chunk-RDH5CQ4T.js";
13
7
  import {
14
- isRecord
15
- } from "./chunk-KUG52IAP.js";
8
+ BUILTIN_NOLO_AGENT_KEY
9
+ } from "./chunk-3IK6ILVW.js";
16
10
  import {
17
11
  isPageKey,
18
12
  isTableMetaKey
19
- } from "./chunk-JY5NGFFH.js";
13
+ } from "./chunk-SYTHYBMI.js";
20
14
  import {
21
15
  isDialogRecordKey
22
- } from "./chunk-XJWWBO34.js";
23
- import {
24
- asTrimmedNonEmptyStringArray
25
- } from "./chunk-I42VC5KR.js";
26
- import {
27
- asOptionalFiniteNumber
28
- } from "./chunk-WWC7I6TA.js";
16
+ } from "./chunk-OJKUU3LP.js";
29
17
  import {
30
18
  asTrimmedString
31
19
  } from "./chunk-3EUW3WEO.js";
20
+ import {
21
+ isRecord
22
+ } from "./chunk-KUG52IAP.js";
32
23
  import {
33
24
  asOptionalTrimmedString
34
25
  } from "./chunk-G3SUCT4W.js";
@@ -198,208 +189,149 @@ var DEFAULT_AUTO_EXECUTION_TIER = "flash";
198
189
  var DEFAULT_AUTO_EXECUTION_PROFILE = AUTO_EXECUTION_PROFILES[DEFAULT_AUTO_EXECUTION_TIER];
199
190
  var resolveAutoExecutionProfile = (tier) => AUTO_EXECUTION_PROFILES[tier ?? DEFAULT_AUTO_EXECUTION_TIER] ?? DEFAULT_AUTO_EXECUTION_PROFILE;
200
191
 
201
- // packages/ai/token/cacheTokenFields.ts
202
- var finiteTokenCount = (value) => {
203
- if (typeof value !== "number" || !Number.isFinite(value)) return void 0;
204
- return Math.max(0, Math.floor(value));
205
- };
206
- var readNested = (value, path) => {
207
- let cursor = value;
208
- for (const key of path) {
209
- if (!cursor || typeof cursor !== "object") return void 0;
210
- cursor = cursor[key];
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)}` };
211
223
  }
212
- return finiteTokenCount(cursor);
213
- };
214
- var firstPositive = (usage, readers) => {
215
- for (const read of readers) {
216
- const value = read(usage);
217
- if (value !== void 0 && value !== 0) return value;
224
+ const legacyFileKey = nonEmptyString(part.fileKey);
225
+ if (legacyFileKey) {
226
+ return { source: { kind: "remote-file", fileKey: legacyFileKey }, legacyFileKey: true };
218
227
  }
219
- return 0;
228
+ return { invalid: "\u7F3A source\uFF08\u4E5F\u65E0\u53EF\u517C\u5BB9\u7684\u9876\u5C42 fileKey\uFF09" };
220
229
  };
221
- var topLevel = (field) => (usage) => {
222
- if (!usage || typeof usage !== "object") return void 0;
223
- return finiteTokenCount(usage[field]);
224
- };
225
- var nested = (path) => (usage) => readNested(usage, path);
226
- var firstPresentAsNumber = (usage, readers) => {
227
- let sawField = false;
228
- for (const read of readers) {
229
- const value = read(usage);
230
- if (value === void 0) continue;
231
- sawField = true;
232
- if (value !== 0) return value;
230
+ var normalizeAttachmentPart = (part) => {
231
+ if (!isAttachmentCandidate(part)) {
232
+ return { status: "invalid", reason: "not-attachment", detail: "type !== 'attachment'" };
233
233
  }
234
- return sawField ? 0 : null;
235
- };
236
- var CACHE_READ_READERS = [
237
- topLevel("cache_read_input_tokens"),
238
- topLevel("prompt_cache_hit_tokens"),
239
- nested(["input_tokens_details", "cached_tokens"]),
240
- nested(["prompt_tokens_details", "cached_tokens"])
241
- ];
242
- var CACHE_CREATION_READERS = [
243
- topLevel("cache_creation_input_tokens"),
244
- topLevel("prompt_cache_miss_tokens"),
245
- nested(["input_tokens_details", "cache_write_tokens"])
246
- ];
247
- var readCacheReadInputTokens = (usage) => firstPositive(usage, CACHE_READ_READERS);
248
- var readCacheReadInputTokensOrNull = (usage) => firstPresentAsNumber(usage, CACHE_READ_READERS);
249
- var readCacheCreationInputTokens = (usage) => firstPositive(usage, CACHE_CREATION_READERS);
250
-
251
- // packages/ai/token/normalizeUsage.ts
252
- var normalizeStringArray = (value) => {
253
- if (!Array.isArray(value)) return void 0;
254
- const normalized = [...new Set(asTrimmedNonEmptyStringArray(value))];
255
- return normalized.length > 0 ? normalized : void 0;
256
- };
257
- var finiteTokenCount2 = (value) => {
258
- const finite = asOptionalFiniteNumber(value);
259
- if (finite === void 0) return void 0;
260
- return Math.max(0, Math.floor(finite));
261
- };
262
- var readFiniteNumberField = (usage, field) => {
263
- if (!usage || typeof usage !== "object") return void 0;
264
- if (!(field in usage)) return void 0;
265
- const candidate = usage[field];
266
- return asOptionalFiniteNumber(candidate);
267
- };
268
- var readCostInUsdTicks = (usage) => readFiniteNumberField(usage, "cost_in_usd_ticks");
269
- var normalizeUsage = (usage) => {
270
- if (!usage || typeof usage !== "object") {
234
+ if (part.v !== ATTACHMENT_PART_VERSION) {
235
+ const version = part.v;
271
236
  return {
272
- input_tokens: 0,
273
- output_tokens: 0,
274
- total_tokens: 0,
275
- cache_creation_input_tokens: 0,
276
- cache_read_input_tokens: 0,
277
- cost: 0
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`
278
240
  };
279
241
  }
280
- const inputTokens = "input_tokens" in usage ? usage.input_tokens ?? 0 : "prompt_tokens" in usage ? usage.prompt_tokens : 0;
281
- const outputTokens = "output_tokens" in usage ? usage.output_tokens ?? 0 : "completion_tokens" in usage ? usage.completion_tokens : 0;
282
- const cacheCreationInputTokens = readCacheCreationInputTokens(usage);
283
- const cacheReadInputTokens = readCacheReadInputTokens(usage);
284
- let cost = 0;
285
- const providedCost = readFiniteNumberField(usage, "cost");
286
- if (providedCost !== void 0) {
287
- cost = providedCost;
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
+ };
288
250
  }
289
- const xaiTicks = readCostInUsdTicks(usage);
290
- if (xaiTicks !== void 0 && providedCost === void 0) {
291
- cost = xaiTicks / 1e10;
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}` };
292
257
  }
293
- const billingProvider = asOptionalTrimmedString(usage.billing_provider);
294
- const billingModel = asOptionalTrimmedString(usage.billing_model);
295
- const billingServiceTier = asOptionalTrimmedString(usage.billing_service_tier);
296
- const billingEstimated = "billing_estimated" in usage && usage.billing_estimated === true;
297
- const serverBilled = "server_billed" in usage && usage.server_billed === true;
298
- const providerCallId = asOptionalTrimmedString(usage.provider_call_id);
299
- const imageGenerationCount = "image_generation_count" in usage ? asOptionalFiniteNumber(usage.image_generation_count) : void 0;
300
- const providerResponseIds = normalizeStringArray(
301
- usage.provider_response_ids
302
- );
303
- const providerRequestIds = normalizeStringArray(
304
- usage.provider_request_ids
305
- );
306
- const firstOutputMs = normalizeTimingMs(
307
- readFiniteNumberField(usage, "firstOutputMs") ?? readFiniteNumberField(usage, "firstTokenMs")
308
- );
309
- const callDurationMs = normalizeTimingMs(
310
- readFiniteNumberField(usage, "callDurationMs") ?? readFiniteNumberField(usage, "durationMs")
311
- );
312
258
  return {
313
- input_tokens: inputTokens,
314
- output_tokens: outputTokens,
315
- total_tokens: finiteTokenCount2(usage.total_tokens) ?? inputTokens + outputTokens,
316
- cache_creation_input_tokens: cacheCreationInputTokens,
317
- cache_read_input_tokens: cacheReadInputTokens,
318
- cost,
319
- ...typeof imageGenerationCount === "number" ? { image_generation_count: imageGenerationCount } : {},
320
- ...providerResponseIds ? { provider_response_ids: providerResponseIds } : {},
321
- ...providerRequestIds ? { provider_request_ids: providerRequestIds } : {},
322
- ...billingProvider ? { billing_provider: billingProvider } : {},
323
- ...billingModel ? { billing_model: billingModel } : {},
324
- ...billingServiceTier ? { billing_service_tier: billingServiceTier } : {},
325
- ...billingEstimated ? { billing_estimated: true } : {},
326
- ...serverBilled ? { server_billed: true } : {},
327
- ...providerCallId ? { provider_call_id: providerCallId } : {},
328
- ...xaiTicks !== void 0 ? { cost_in_usd_ticks: xaiTicks } : {},
329
- ...firstOutputMs !== void 0 ? { firstOutputMs } : {},
330
- ...callDurationMs !== void 0 ? { callDurationMs } : {}
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
+ }
331
269
  };
332
270
  };
333
-
334
- // packages/agent-runtime/emptyAssistantRepair.ts
335
- 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";
336
- 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";
337
- 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";
338
- 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";
339
- 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";
340
- 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";
341
- var MAX_REASONING_ONLY_REPAIRS = 2;
342
- function resolveEmptyAssistantOutcome(args) {
343
- if (args.hasVisibleOutput && !args.hasToolCalls && !args.finishReason && !args.streamComplete) {
344
- return { kind: "ok_with_warning", reason: "stream_truncated" };
345
- }
346
- if (args.hasToolCalls || args.hasVisibleOutput) return { kind: "ok" };
347
- if (args.finishReason === "length") return { kind: "fallback", reason: "length_truncated" };
348
- if (!args.finishReason && !args.streamComplete) {
349
- if (!args.repairUsed) return { kind: "repair" };
350
- return { kind: "fallback", reason: "stream_truncated" };
351
- }
352
- if (args.hasReasoning && (args.reasoningRepairCount ?? 0) < MAX_REASONING_ONLY_REPAIRS) {
353
- return { kind: "repair" };
354
- }
355
- if (!args.repairUsed) return { kind: "repair" };
356
- return { kind: "fallback", reason: "empty_completion" };
357
- }
358
- function resolveEmptyAssistantFallbackMessage(reason) {
359
- if (reason === "length_truncated") return LENGTH_TRUNCATED_FALLBACK_MESSAGE;
360
- if (reason === "stream_truncated") return STREAM_TRUNCATED_FALLBACK_MESSAGE;
361
- if (reason === "repetition_loop") return REPETITION_LOOP_FALLBACK_MESSAGE;
362
- if (reason === "stagnant_tool_calls") return STAGNANT_TOOL_CALLS_FALLBACK_MESSAGE;
363
- return EMPTY_ASSISTANT_FALLBACK_MESSAGE;
364
- }
365
- function hasAssistantVisibleOutput(content) {
366
- if (typeof content === "string") return content.trim().length > 0;
367
- if (!Array.isArray(content)) return false;
368
- return content.some((part) => {
369
- if (part?.type === "text" && String(part.text ?? "").trim()) return true;
370
- if (part?.type === "image_url") {
371
- const url = part?.image_url?.url;
372
- return typeof url === "string" && url.trim().length > 0;
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}`);
373
280
  }
374
- return false;
375
- });
376
- }
377
- var LENGTH_TRUNCATED_REASONING_MARKER = "[length_truncated_reasoning_tail]";
378
- var STREAM_TRUNCATED_REASONING_MARKER = "[stream_truncated_reasoning_tail]";
379
- var MAX_TRUNCATED_REASONING_CHARS = 2e3;
380
- function formatReasoningTailWithMarker(reasoning_content, marker, maxChars) {
381
- if (typeof reasoning_content !== "string") return null;
382
- const trimmed = reasoning_content.trim();
383
- if (trimmed.length === 0) return null;
384
- const tail = trimmed.length > maxChars ? trimmed.slice(-maxChars) : trimmed;
385
- return `[nolo] ${marker}
386
- ${tail}`;
387
- }
388
- function formatLengthTruncatedReasoningTail(reasoning_content, maxChars = MAX_TRUNCATED_REASONING_CHARS) {
389
- return formatReasoningTailWithMarker(reasoning_content, LENGTH_TRUNCATED_REASONING_MARKER, maxChars);
390
- }
391
- function formatStreamTruncatedReasoningTail(reasoning_content, maxChars = MAX_TRUNCATED_REASONING_CHARS) {
392
- return formatReasoningTailWithMarker(reasoning_content, STREAM_TRUNCATED_REASONING_MARKER, maxChars);
393
- }
394
- function resolveTruncatedReasoningTailLog(reason, reasoning_content) {
395
- if (reason === "length_truncated") {
396
- return formatLengthTruncatedReasoningTail(reasoning_content);
281
+ EXT_KIND[e] = kind;
397
282
  }
398
- if (reason === "stream_truncated") {
399
- return formatStreamTruncatedReasoningTail(reasoning_content);
400
- }
401
- return null;
402
- }
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
+ };
403
335
 
404
336
  // packages/chat/messages/parseJsonRecord.ts
405
337
  function asOptionalJsonRecord(value) {
@@ -490,12 +422,84 @@ var extractReferenceKeysFromMessage = (msg) => {
490
422
  return Array.from(keys);
491
423
  };
492
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
+
493
495
  export {
494
496
  DEFAULT_AUTO_EXECUTION_PROFILE,
495
497
  resolveAutoExecutionProfile,
496
- readCacheReadInputTokens,
497
- readCacheReadInputTokensOrNull,
498
- readCacheCreationInputTokens,
498
+ ATTACHMENT_PART_TYPE,
499
+ ATTACHMENT_PART_VERSION,
500
+ normalizeAttachmentPart,
501
+ attachmentKind,
502
+ describeAttachmentForModel,
499
503
  isCodexOAuthAgent,
500
504
  resolveCodexOAuthEffectiveModel,
501
505
  CODEX_OAUTH_CATALOG_TTL_MS,
@@ -507,7 +511,6 @@ export {
507
511
  codexOAuthCatalogWindow,
508
512
  devinChannelContextWindow,
509
513
  resolveAgentContextWindow,
510
- normalizeUsage,
511
514
  asOptionalJsonRecord,
512
515
  extractReferenceKeysFromMessage,
513
516
  EMPTY_ASSISTANT_REPAIR_PROMPT,
@@ -1,45 +1,45 @@
1
1
  import {
2
2
  upsertSSREntity,
3
3
  write
4
- } from "./chunk-FW6YHHLI.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-CUJLCFWR.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-J2VQBS2Z.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-GHBMJJ6S.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-XHQC4PXX.js";
3
+ } from "./chunk-B4GOW4MT.js";
4
4
  import {
5
5
  runtime_default
6
- } from "./chunk-ZXOUUDCG.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";