nolo-cli 0.149.0-alpha.1 → 0.151.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (258) hide show
  1. package/{_executeModel-OW3H7ICR.js → _executeModel-XHAFJ2MM.js} +134 -91
  2. package/accountResolver-7RYB4D2P.js +300 -0
  3. package/action-SXJD5N5R.js +23 -0
  4. package/{addContentAction-B2DRF7P6.js → addContentAction-ZV774PHH.js} +20 -14
  5. package/{addDialogAgentAction-2P2FLTLD.js → addDialogAgentAction-A6SMKAGH.js} +26 -22
  6. package/{agentDeleteCommand-7IDWF6E3.js → agentDeleteCommand-DPUUS56Z.js} +181 -93
  7. package/{agentEmailCommands-A6XBQZBN.js → agentEmailCommands-V4P5EFLP.js} +132 -112
  8. package/{agentGrantCommands-M3XFO6EN.js → agentGrantCommands-HOJ3JBBQ.js} +3 -3
  9. package/agentListCommands-TWFLUYIZ.js +802 -0
  10. package/{agentMachineCommands-DQPUIMAC.js → agentMachineCommands-MELPAZZI.js} +58 -62
  11. package/{agentProviderCommands-YK2BIIXZ.js → agentProviderCommands-HL6MBLCL.js} +149 -2
  12. package/{agentPullCommand-HF4A42D4.js → agentPullCommand-FA43RBRU.js} +7 -7
  13. package/agentRecordCommands-FSWSSQIO.js +154 -0
  14. package/agentRunCommand-GDBJVOAT.js +183 -0
  15. package/{agentRunControl-2SKCR4SB.js → agentRunControl-IFM7IGMG.js} +10 -2
  16. package/{agentRuntimeLocal-AK2QVJHY.js → agentRuntimeLocal-KKSQJMTE.js} +47 -50
  17. package/{agentSlice-O4RUQUMT.js → agentSlice-YO2ZLJMD.js} +23 -16
  18. package/{appDeleteCommands-N3XEVVYC.js → appDeleteCommands-4PL4KYRN.js} +58 -59
  19. package/{appDeployCommands-AWFIXYVW.js → appDeployCommands-EEEXCEB6.js} +67 -63
  20. package/{appDeployStatusCommands-CZRON2FO.js → appDeployStatusCommands-35ZX7T66.js} +56 -56
  21. package/{appGetCommands-XQIUY4TD.js → appGetCommands-WFCHXJWF.js} +56 -56
  22. package/{appListCommands-NNG4H36Y.js → appListCommands-XY2U6DPF.js} +57 -59
  23. package/{authCommand-UBJ4EWYZ.js → authCommand-QYN47CQD.js} +371 -68
  24. package/{authCommands-H6WKKCRW.js → authCommands-77CHYBGF.js} +12 -9
  25. package/{builtinSkillRegistry-ZMF6YGNO.js → builtinSkillRegistry-TDQ6JB2E.js} +13 -11
  26. package/{chromeCommands-2N6MEWRU.js → chromeCommands-OBBNJCLS.js} +314 -13
  27. package/chromeOpsCommands-3Z34RKSE.js +472 -0
  28. package/{chunk-ALXHV7NK.js → chunk-2GGXHQIW.js} +43 -4
  29. package/{localRuntimeAuthority-5W6IJRAD.js → chunk-2IXDJNZI.js} +154 -75
  30. package/{chunk-IVZJWTDI.js → chunk-36OMEXXR.js} +89 -21
  31. package/{chunk-H6A6X4EK.js → chunk-3MZAGMYY.js} +16 -0
  32. package/chunk-3PVYUPXK.js +40 -0
  33. package/chunk-3SZA4U64.js +1192 -0
  34. package/{chunk-GNMAFAIS.js → chunk-44WXLHFI.js} +1 -1
  35. package/{chunk-AGGIDPCZ.js → chunk-4JH2UMJR.js} +6 -0
  36. package/chunk-4LCOCOR5.js +50 -0
  37. package/chunk-4YRTZIVN.js +871 -0
  38. package/chunk-556RW72X.js +14110 -0
  39. package/{chunk-N7J63Q6C.js → chunk-56GBUMO5.js} +10 -1
  40. package/{chunk-W7XHHYWM.js → chunk-5BHQICF2.js} +5 -1
  41. package/{chunk-XUWRURDF.js → chunk-5EBLANFT.js} +1 -1
  42. package/{chunk-3AH7LNUB.js → chunk-5EMSBTQ6.js} +33 -14
  43. package/{chunk-YRRASA5Q.js → chunk-5MM7NNO6.js} +113 -52
  44. package/chunk-5MMAK75Q.js +15 -0
  45. package/{chunk-M5PVFLD4.js → chunk-64K7WX26.js} +90 -21
  46. package/{chunk-AKG5W4LG.js → chunk-6CCFTVBP.js} +76 -221
  47. package/chunk-6MJNEXUU.js +614 -0
  48. package/{chunk-62IL3KQV.js → chunk-6MXDOUMH.js} +15 -3
  49. package/{chunk-QOKAKDPE.js → chunk-6Q7UTJKR.js} +6 -94
  50. package/chunk-6QDYSCPW.js +223 -0
  51. package/{chunk-HYZIYH2H.js → chunk-74RAWNQN.js} +56 -63
  52. package/chunk-7DPNBQSV.js +9 -0
  53. package/chunk-7MOXKPHC.js +119 -0
  54. package/{chunk-ZUEK6A6C.js → chunk-7XKL25PW.js} +1973 -754
  55. package/{chunk-IAESIMK7.js → chunk-A4MW3YZL.js} +10 -14
  56. package/chunk-AGIM7IMJ.js +147 -0
  57. package/{chunk-7CHC4W22.js → chunk-AIZE5TDM.js} +3 -3
  58. package/{chunk-YAQJJDC2.js → chunk-AOCM7HPT.js} +214 -51
  59. package/{chunk-5GVBDNTO.js → chunk-AU7AXHUL.js} +1 -1
  60. package/{chunk-4H22P2JV.js → chunk-AUIJZACN.js} +2073 -1275
  61. package/{chunk-CIF4X6ZM.js → chunk-AWVFQMOV.js} +25 -3
  62. package/{chunk-RYZINGPM.js → chunk-BPMPOFWP.js} +347 -235
  63. package/{chunk-YUNJN43V.js → chunk-BU2YQBV4.js} +215 -28
  64. package/{chunk-XPRWFQQK.js → chunk-CBHGZRCE.js} +38 -12
  65. package/{chunk-Y3PMXGLH.js → chunk-CHCS6XPJ.js} +365 -144
  66. package/chunk-CHOZJMJS.js +78 -0
  67. package/{chunk-GBRG75BQ.js → chunk-D2MDMY2M.js} +1 -0
  68. package/{chunk-3SV7RM24.js → chunk-D2QN6CTI.js} +117 -72
  69. package/{chunk-5TEEECZM.js → chunk-E2AKSW7L.js} +10 -7
  70. package/{chunk-RSEEDUMS.js → chunk-EDX5XSJM.js} +2 -2
  71. package/{chunk-ATLTFRYJ.js → chunk-ES633ZS5.js} +280 -98
  72. package/{chunk-QDSINZM3.js → chunk-EUGTFFO6.js} +2 -23
  73. package/{chunk-UNYJU5L6.js → chunk-EYLGAEB4.js} +5 -1
  74. package/{chunk-CU3QB4HW.js → chunk-EYWJT7A2.js} +12 -12
  75. package/{chunk-BNGW5ASC.js → chunk-EZVK3N5L.js} +66 -18
  76. package/{chunk-6FGTMQCL.js → chunk-F32Z66T4.js} +6 -10
  77. package/chunk-FJMRBOPO.js +11507 -0
  78. package/{chunk-ZOVKKMF6.js → chunk-FY4SDK2E.js} +1 -1
  79. package/chunk-G6OOUQWJ.js +417 -0
  80. package/{chunk-PQWU42UQ.js → chunk-GCKHQECX.js} +6 -6
  81. package/chunk-GKXCHNTE.js +15 -0
  82. package/{chunk-TXH4IWJL.js → chunk-GQN2WLAI.js} +20 -11
  83. package/{chunk-P6GMCCAT.js → chunk-GQV5KHJU.js} +78 -12
  84. package/{chunk-B2XUQXQX.js → chunk-HIQ4GF53.js} +191 -68
  85. package/{chunk-MST6R3E4.js → chunk-HKX3ULQB.js} +34 -22
  86. package/{chunk-GMZLP5DV.js → chunk-HNUWUO75.js} +30 -19
  87. package/{chunk-5UTFL4QJ.js → chunk-I2ZMGXXF.js} +10 -5
  88. package/chunk-I42VC5KR.js +15 -0
  89. package/{chunk-3BXNTXYI.js → chunk-I4SN4NUQ.js} +1199 -56
  90. package/chunk-IA7TRNNR.js +11 -0
  91. package/{chunk-WIWM4FE3.js → chunk-IJERIUXS.js} +55 -748
  92. package/{chunk-CPUFH46E.js → chunk-ILU2NPWY.js} +10 -10
  93. package/{chunk-SLLGJZDT.js → chunk-ISQL4V7C.js} +4 -4
  94. package/chunk-IT3ZZRJE.js +12 -0
  95. package/{chunk-TZZ2WRBL.js → chunk-IZ7OJB6K.js} +20 -16
  96. package/{chunk-DY7ANLKG.js → chunk-JKMLSTZK.js} +43 -12
  97. package/{chunk-6TPOEJMQ.js → chunk-JZX2XLKC.js} +64 -23
  98. package/{chunk-27ONFIEY.js → chunk-K2AER7RX.js} +19 -12
  99. package/{chunk-O2OWEFII.js → chunk-KFHQQ3NO.js} +1 -1
  100. package/{chunk-QXGPFY6J.js → chunk-LGN377P3.js} +27 -17
  101. package/{chunk-L36OWPP3.js → chunk-LIQJTQRN.js} +118 -139
  102. package/{chunk-UASIEDKM.js → chunk-LTRUTOHX.js} +36 -31
  103. package/{chunk-BFU6C242.js → chunk-NMFV26UG.js} +1 -1
  104. package/{chunk-5J3PYNUP.js → chunk-NYYFIKHI.js} +17 -3
  105. package/{chunk-6O4IK4V2.js → chunk-OFFL4DCR.js} +1 -1
  106. package/{chunk-B6SAMB33.js → chunk-OWYYDMGJ.js} +209 -9
  107. package/{chunk-KQHGZWSV.js → chunk-OXME3PEE.js} +1 -1
  108. package/{chunk-CTUQJVQM.js → chunk-P5QACQDK.js} +1 -1
  109. package/{chunk-DXHL7G2L.js → chunk-PCKVQXYV.js} +274 -93
  110. package/{chunk-4JMDLJAD.js → chunk-PJNFNEJE.js} +114 -37
  111. package/{chunk-Z4CSIXYP.js → chunk-PLSVXHSA.js} +3 -3
  112. package/{chunk-BIDGLJQ3.js → chunk-PLXDDGBK.js} +45 -8
  113. package/chunk-PWTNI4N7.js +47 -0
  114. package/chunk-QFEW2ULV.js +42 -0
  115. package/{chunk-RGNEEJ3Y.js → chunk-QLQ573SU.js} +35 -9
  116. package/chunk-QQ56R7KS.js +88 -0
  117. package/chunk-QYPE3TS3.js +43 -0
  118. package/{chunk-4DPP773Q.js → chunk-RSHPU4PD.js} +59 -11
  119. package/chunk-RVWMAFIT.js +134 -0
  120. package/{chunk-ESHYE7WU.js → chunk-S73EPYNC.js} +10 -7
  121. package/{chunk-UQNS32WZ.js → chunk-SCMHQUMK.js} +1 -1
  122. package/{chunk-HTVYCXBP.js → chunk-SMENBO3M.js} +354 -120
  123. package/{chunk-OMRJYNCI.js → chunk-SSFDFOVT.js} +26 -31
  124. package/chunk-SW4S4XYB.js +1794 -0
  125. package/{chunk-TB3MIBRC.js → chunk-T6X3D7NB.js} +572 -430
  126. package/chunk-TY3TIUJK.js +89 -0
  127. package/{chunk-X2QRZXZH.js → chunk-TYJ5XFEA.js} +4 -4
  128. package/{chunk-ALFH24P3.js → chunk-TYYRSFBG.js} +197 -155
  129. package/{chunk-7KVZ5LDQ.js → chunk-UBUH2TCC.js} +18 -4
  130. package/chunk-UEILX4EV.js +15 -0
  131. package/chunk-UHTDNB5Y.js +140 -0
  132. package/{chunk-YYLHWIW6.js → chunk-UKZX3NHN.js} +1 -1
  133. package/{chunk-OHOVNO7I.js → chunk-UOKFKFPO.js} +6 -3
  134. package/{chunk-XISEYOGH.js → chunk-USHQX6VT.js} +5 -5
  135. package/chunk-UUPR3TD7.js +53 -0
  136. package/{chunk-HDLLCBRF.js → chunk-VEA7H5FG.js} +2 -2
  137. package/chunk-VHGD6FHV.js +116 -0
  138. package/chunk-VIWDGTDA.js +8 -0
  139. package/{chunk-GOH6RW6F.js → chunk-VJXHL6MH.js} +34 -11
  140. package/{chunk-4XEYAFLY.js → chunk-VL5KOY2C.js} +623 -94
  141. package/{chunk-EADNWBAZ.js → chunk-VP3BINY7.js} +13 -0
  142. package/{chunk-EOARMOVD.js → chunk-W4S6OTSC.js} +6 -3
  143. package/chunk-WD4XYDYC.js +567 -0
  144. package/chunk-WJZOQR2J.js +151 -0
  145. package/{chunk-AUDNYVRC.js → chunk-XETG4RIX.js} +5 -5
  146. package/{chunk-MX574M24.js → chunk-XI7DGLUK.js} +4 -4
  147. package/{chunk-3L2WKC3W.js → chunk-XPWGOTBQ.js} +8 -1
  148. package/chunk-XRUSXPCQ.js +514 -0
  149. package/{chunk-I4OPU5TK.js → chunk-XS47QOFV.js} +273 -11
  150. package/{chunk-S5XGT6GB.js → chunk-XZNCX52W.js} +30 -9
  151. package/{chunk-ID7LNBWR.js → chunk-Y2DXOPSO.js} +1920 -644
  152. package/{chunk-5OA5HMTL.js → chunk-YLMMECCH.js} +1 -1
  153. package/{chunk-CFT5HBGW.js → chunk-YVLQXTUB.js} +448 -12
  154. package/chunk-YVPQATSC.js +709 -0
  155. package/{chunk-3DAVPNFT.js → chunk-Z7OJUX6S.js} +122 -107
  156. package/chunk-ZEZC7IIM.js +126 -0
  157. package/{chunk-ALGORS6Y.js → chunk-ZF6526IQ.js} +43 -8
  158. package/chunk-ZIWPQEFU.js +165 -0
  159. package/chunk-ZKZ5X2HS.js +7012 -0
  160. package/chunk-ZRAU6T47.js +56 -0
  161. package/{cliExecutor-AWYR3T33.js → cliExecutor-BWBF2MTI.js} +4 -3
  162. package/{clipboardy-BX4NMYHE.js → clipboardy-GCO3GT3I.js} +3 -8
  163. package/{commandRegistry-2KBOXZQC.js → commandRegistry-XN7C5GHO.js} +183 -107
  164. package/contentThunks-5L7YQI3S.js +84 -0
  165. package/{cooldownCommands-ZLEPIB4A.js → cooldownCommands-JFKTYS2D.js} +2 -2
  166. package/{createAgentAutomationAction-5UGTB26P.js → createAgentAutomationAction-QOPOLCRK.js} +53 -44
  167. package/createDialogAction-MZ66VY5Q.js +76 -0
  168. package/{createPageAction-CDLDKPRM.js → createPageAction-VQDJIXMY.js} +65 -54
  169. package/cursorProvider-YGGNMVWX.js +6123 -0
  170. package/{db-VQSAOWAO.js → db-2QOTXYGH.js} +11 -5
  171. package/{dbSlice-DQ32LYTJ.js → dbSlice-J37OGIXH.js} +19 -13
  172. package/{deleteFile-NX6QHCWZ.js → deleteFile-6JWDDRVP.js} +10 -6
  173. package/dialogCommands-YZLSJB6X.js +113 -0
  174. package/{dialogSlice-N3YB65G5.js → dialogSlice-6RODVYCK.js} +53 -39
  175. package/{docCreateCommands-ZSLGVBZT.js → docCreateCommands-JB2RRMRJ.js} +54 -57
  176. package/{docDeleteCommands-5N4GVZBG.js → docDeleteCommands-AQENULNM.js} +56 -58
  177. package/{docReadCommands-YJSAA7AV.js → docReadCommands-DYD25YLQ.js} +53 -56
  178. package/{docStore-E3CEOV5Q.js → docStore-ZZA3OPM5.js} +25 -16
  179. package/{docUpdateCommands-WEMLSW6W.js → docUpdateCommands-3GVS23QL.js} +54 -57
  180. package/{fetchMessages-67MEFPZR.js → fetchMessages-IIJWQ3HR.js} +5 -4
  181. package/{getPricing-NMMFT3YI.js → getPricing-FKK3F5EJ.js} +11 -9
  182. package/{handleSendMessageAction-DQAD5ERJ.js → handleSendMessageAction-DVG5U26T.js} +422 -118
  183. package/index.js +11 -7
  184. package/{lib-FRRS27KN.js → lib-4YTWAGY7.js} +581 -248
  185. package/{localDialogRead-EBRS242U.js → localDialogRead-FSOMOPDZ.js} +2 -2
  186. package/localRuntimeAdapter-HXRHFKRC.js +244 -0
  187. package/localRuntimeAuthority-JDAD7CB6.js +16 -0
  188. package/{localRuntimeDb-3LRMNLCM.js → localRuntimeDb-CVC62PM5.js} +1 -1
  189. package/{machineCommands-HAP75VSG.js → machineCommands-5KBF4RCC.js} +503 -161
  190. package/{machineInfo-66ZFUMLE.js → machineInfo-UKPTZO5Y.js} +2 -2
  191. package/machineWsRunDispatch-4OQDEDOR.js +169 -0
  192. package/{memberThunks-5ZXPR63F.js → memberThunks-66DH6ABQ.js} +25 -18
  193. package/{models-ZPU5EDF4.js → models-LAS4B2B5.js} +2 -2
  194. package/package.json +1 -1
  195. package/{providerPresetApply-DD6NGWW6.js → providerPresetApply-MY66I6NT.js} +10 -10
  196. package/{providerRegistry-XDRLMYGJ.js → providerRegistry-QOE2FT57.js} +13 -9
  197. package/{read-EPTJRAEF.js → read-DC4NUGN6.js} +12 -8
  198. package/{readDocTool-W4NDXNEX.js → readDocTool-NCJ5NT25.js} +1 -1
  199. package/{readlineWorkspace-7BC66QSX.js → readlineWorkspace-RIE62QVZ.js} +5022 -921
  200. package/{removeDialogAgentAction-OSYNZRX7.js → removeDialogAgentAction-E2H3OZU6.js} +29 -28
  201. package/{runAgentClientLoop-6E6UC3CE.js → runAgentClientLoop-KLUUXBZS.js} +154 -97
  202. package/{runtimeDoctorCommands-ID23PNNZ.js → runtimeDoctorCommands-GIOGC5SC.js} +17 -17
  203. package/secretCommands-ZXZRLR3R.js +700 -0
  204. package/setDialogExtraReferencesAction-SITRPMYU.js +37 -0
  205. package/{setPrimaryDialogAgentAction-WZ7KI3YA.js → setPrimaryDialogAgentAction-U7N45TGC.js} +30 -29
  206. package/{chunk-SONWNI3L.js → settingThunks-Y7SVJOMZ.js} +223 -928
  207. package/{skillDiscovery-ZBU76COE.js → skillDiscovery-QC35EQY4.js} +2 -2
  208. package/{slateUtils-RIZES3PV.js → slateUtils-NGV2NMKM.js} +1 -1
  209. package/{spaceCommands-UJOVU4XI.js → spaceCommands-ZR5BR3GX.js} +59 -59
  210. package/{streamAgentChatTurn-3UXPYFNX.js → streamAgentChatTurn-MN2SSPGA.js} +309 -165
  211. package/{switchDialogAgentAction-GMR7WN3P.js → switchDialogAgentAction-OMGBD3N2.js} +26 -22
  212. package/{tableCommands-G7RV3RU3.js → tableCommands-U3QDY4L6.js} +19 -17
  213. package/{toolApiClient-CVGWM4PN.js → toolApiClient-7WSJJJBV.js} +6 -5
  214. package/tools-W2MOLERY.js +124 -0
  215. package/tuiSummaryLlmCaller-BM3VSTBU.js +130 -0
  216. package/{updateCommands-4EHDLF5J.js → updateCommands-NQXAGFM7.js} +3 -3
  217. package/{updateDialogTitleAction-UPFV7TDT.js → updateDialogTitleAction-Z4JX6REN.js} +102 -57
  218. package/workloadLifecycle-36DXRZKU.js +320 -0
  219. package/action-GI44T4DR.js +0 -31
  220. package/agentListCommands-IW3GQVUP.js +0 -427
  221. package/agentRecordCommands-VCA76W6B.js +0 -134
  222. package/agentRunCommand-YNLDKVR7.js +0 -161
  223. package/browser-image-compression-MFDTD7K6.js +0 -1763
  224. package/chatQueueReduxAdapter-TJRMXMYA.js +0 -186
  225. package/chromeOpsCommands-IXRLN57H.js +0 -289
  226. package/chunk-36KZDDO5.js +0 -2415
  227. package/chunk-ACQD6YI2.js +0 -25363
  228. package/chunk-CQ3WA2NE.js +0 -299
  229. package/chunk-CYSYR67N.js +0 -93
  230. package/chunk-JBTJAPUF.js +0 -35
  231. package/chunk-K2CSUCHJ.js +0 -620
  232. package/chunk-LTRXGFMS.js +0 -83
  233. package/chunk-M76ECQRD.js +0 -13658
  234. package/chunk-MEYIRKDN.js +0 -8967
  235. package/chunk-OCZKATRC.js +0 -129
  236. package/chunk-OTGFTBLI.js +0 -13
  237. package/chunk-PUOC4YRO.js +0 -394
  238. package/chunk-PZZTFEKK.js +0 -34
  239. package/chunk-URMS4XY2.js +0 -10
  240. package/chunk-UV6VISQJ.js +0 -20
  241. package/chunk-VJVNU77E.js +0 -83
  242. package/chunk-XYJSY4KG.js +0 -13807
  243. package/chunk-Y5GCAMGP.js +0 -9
  244. package/chunk-YPREESF4.js +0 -225
  245. package/contentThunks-BDIQRZR6.js +0 -73
  246. package/createDialogAction-B7VGVEVU.js +0 -66
  247. package/dialogCommands-G7YBVAMC.js +0 -102
  248. package/levelLazyShim-GZBKODGI.js +0 -7
  249. package/machineWsRunDispatch-L32G7C4P.js +0 -149
  250. package/serverStoreFactory-YMXDF4NI.js +0 -20
  251. package/setDialogExtraReferencesAction-M32UYNCG.js +0 -30
  252. package/settingSlice-Q6EKL7EQ.js +0 -204
  253. package/syncMapping-N6RGXGBW.js +0 -437
  254. package/tools-MKYDMWA4.js +0 -111
  255. package/tuiSummaryLlmCaller-3YFNHCTW.js +0 -128
  256. package/{chunk-SV5IJK6K.js → chunk-NBTY7YJF.js} +3 -3
  257. package/{chunk-2SYTUTLI.js → chunk-YBNHPX4S.js} +3 -3
  258. package/{offlineMarxistsAgentCommand-HGXZV4XJ.js → offlineMarxistsAgentCommand-2QTHJCHV.js} +4 -4
@@ -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-5W6IJRAD.js");
17
+ const { getDefaultCliLocalRuntimeDb: getAuthorityBackedDb } = await import("./localRuntimeAuthority-JDAD7CB6.js");
18
18
  return getAuthorityBackedDb(options);
19
19
  }
20
20
 
@@ -0,0 +1,417 @@
1
+ import {
2
+ describeAttachmentForModel
3
+ } from "./chunk-WJZOQR2J.js";
4
+
5
+ // packages/ai/attachments/projectUserPart.ts
6
+ var isRecord = (value) => typeof value === "object" && value !== null;
7
+ var projectUserPartForModel = (part) => {
8
+ if (!isRecord(part) || typeof part.type !== "string") return [];
9
+ if (part.type === "text") {
10
+ return typeof part.text === "string" && part.text.trim() ? [part] : [];
11
+ }
12
+ if (part.type === "image_url") {
13
+ return isRecord(part.image_url) && typeof part.image_url.url === "string" && part.image_url.url.trim() ? [part] : [];
14
+ }
15
+ if (part.type === "attachment") return [{ type: "text", text: describeAttachmentForModel(part) }];
16
+ if (part.type === "media_job") {
17
+ const name = typeof part.name === "string" && part.name.trim() ? part.name.trim() : "\u672A\u547D\u540D\u6587\u4EF6";
18
+ const jobId = typeof part.jobId === "string" ? part.jobId : typeof part.id === "string" ? part.id : "";
19
+ return [{ type: "text", text: `[\u5A92\u4F53\u9644\u4EF6] \u6587\u4EF6=${name}${jobId ? ` jobId=${jobId}` : ""}` }];
20
+ }
21
+ if (typeof part.pageKey === "string" && ["page", "pdf", "docx"].includes(part.type)) return [];
22
+ return [{ type: "text", text: `[\u672A\u8BC6\u522B\u7684\u9644\u4EF6\u7C7B\u578B: ${part.type}]` }];
23
+ };
24
+
25
+ // packages/agent-runtime/outboundRequestDiagnostics.ts
26
+ var OUTBOUND_DIAGNOSTIC_PREFIX = "[outbound-diagnostic]";
27
+ var OUTBOUND_DIAGNOSTICS_ENV = "NOLO_OUTBOUND_DIAGNOSTICS";
28
+ var MAX_PROVIDER_TOKEN_LENGTH = 96;
29
+ var MAX_CALL_ID_LENGTH = 128;
30
+ var MAX_UPSTREAM_REQUEST_ID_LENGTH = 128;
31
+ var IDENTIFIER_PATTERN = /^[A-Za-z0-9._:@+/~-]+$/;
32
+ var REQUEST_ID_PATTERN = /^[A-Za-z0-9._:-]+$/;
33
+ var CONTROL_CHAR_PATTERN = /[\u0000-\u001f\u007f]/;
34
+ var UPSTREAM_REQUEST_ID_HEADERS = ["x-request-id", "request-id"];
35
+ var THINKING_VALUES = /* @__PURE__ */ new Set([
36
+ "enabled",
37
+ "disabled",
38
+ "unspecified",
39
+ "other"
40
+ ]);
41
+ var REASONING_EFFORT_VALUES = /* @__PURE__ */ new Set([
42
+ "none",
43
+ "minimal",
44
+ "low",
45
+ "medium",
46
+ "high",
47
+ "xhigh",
48
+ "unspecified",
49
+ "other"
50
+ ]);
51
+ var ERROR_CATEGORY_VALUES = /* @__PURE__ */ new Set([
52
+ "none",
53
+ "reasoning-contract",
54
+ "invalid-request",
55
+ "authentication",
56
+ "rate-limit",
57
+ "upstream",
58
+ "other"
59
+ ]);
60
+ var TERMINAL_OUTCOME_VALUES = /* @__PURE__ */ new Set([
61
+ "completed",
62
+ "http-error",
63
+ "network-error",
64
+ "aborted",
65
+ "stream-error"
66
+ ]);
67
+ var SEAM_VALUES = /* @__PURE__ */ new Set([
68
+ "local-runtime",
69
+ "chat",
70
+ "server-loop"
71
+ ]);
72
+ var WIRE_VALUES = /* @__PURE__ */ new Set(["chat.completions", "responses"]);
73
+ var HOST_VALUES = /* @__PURE__ */ new Set(["client", "server"]);
74
+ function isRawIdentifierAcceptable(value, maxLength) {
75
+ if (typeof value !== "string") return false;
76
+ if (value.length === 0) return false;
77
+ if (value.length > maxLength) return false;
78
+ if (CONTROL_CHAR_PATTERN.test(value)) return false;
79
+ return true;
80
+ }
81
+ function sanitizeProviderModelToken(value) {
82
+ if (!isRawIdentifierAcceptable(value, MAX_PROVIDER_TOKEN_LENGTH)) return "other";
83
+ const normalized = value.trim();
84
+ if (!normalized || !IDENTIFIER_PATTERN.test(normalized)) return "other";
85
+ return normalized;
86
+ }
87
+ function sanitizeCallId(value) {
88
+ if (!isRawIdentifierAcceptable(value, MAX_CALL_ID_LENGTH)) return void 0;
89
+ const normalized = value.trim();
90
+ if (!normalized || !REQUEST_ID_PATTERN.test(normalized)) return void 0;
91
+ return normalized;
92
+ }
93
+ function sanitizeUpstreamRequestId(value) {
94
+ if (!isRawIdentifierAcceptable(value, MAX_UPSTREAM_REQUEST_ID_LENGTH)) return void 0;
95
+ const normalized = value.trim();
96
+ if (!normalized || !REQUEST_ID_PATTERN.test(normalized)) return void 0;
97
+ return normalized;
98
+ }
99
+ function pickUpstreamRequestId(headers) {
100
+ if (!headers || typeof headers.get !== "function") return void 0;
101
+ try {
102
+ for (const name of UPSTREAM_REQUEST_ID_HEADERS) {
103
+ const raw = headers.get(name);
104
+ const safe = sanitizeUpstreamRequestId(raw);
105
+ if (safe) return safe;
106
+ }
107
+ } catch {
108
+ return void 0;
109
+ }
110
+ return void 0;
111
+ }
112
+ function classifyOutboundErrorCategory(status, errorText) {
113
+ const numeric = typeof status === "number" && Number.isFinite(status) ? status : 0;
114
+ if (numeric === 401 || numeric === 403) return "authentication";
115
+ if (numeric === 429) return "rate-limit";
116
+ if (numeric >= 500) return "upstream";
117
+ const text = typeof errorText === "string" ? errorText : "";
118
+ if (numeric >= 400) {
119
+ if (looksLikeReasoningContractError(text)) return "reasoning-contract";
120
+ return "invalid-request";
121
+ }
122
+ if (numeric === 0) return "other";
123
+ return numeric >= 200 && numeric < 300 ? "none" : "other";
124
+ }
125
+ function looksLikeReasoningContractError(text) {
126
+ if (!text) return false;
127
+ if (!/reasoning_content|reasoning/i.test(text)) return false;
128
+ return /expected a sequence|invalid type|serde|deserializ|type error|missing field/i.test(text);
129
+ }
130
+ function createRequestShapingCounts() {
131
+ return {
132
+ assistantToolTurns: 0,
133
+ missingReasoningTurns: 0,
134
+ placeholderInjectedTurns: 0,
135
+ reasoningStrippedTurns: 0
136
+ };
137
+ }
138
+ function createRequestFacts() {
139
+ return {
140
+ assistantToolTurns: 0,
141
+ missingReasoningTurns: 0,
142
+ // 未观测:只有塑形直连点(collector)能给出「本次注入」。
143
+ placeholderInjectedTurns: null,
144
+ reasoningStrippedTurns: null,
145
+ thinking: "unspecified",
146
+ reasoningEffort: "unspecified",
147
+ projection: { observed: false }
148
+ };
149
+ }
150
+ function applyShapingCounts(facts, counts) {
151
+ if (!counts) return facts;
152
+ facts.assistantToolTurns = toCount(counts.assistantToolTurns);
153
+ facts.missingReasoningTurns = toCount(counts.missingReasoningTurns);
154
+ facts.placeholderInjectedTurns = toCount(counts.placeholderInjectedTurns);
155
+ facts.reasoningStrippedTurns = toCount(counts.reasoningStrippedTurns);
156
+ return facts;
157
+ }
158
+ function attachProjectionFacts(facts, stats) {
159
+ if (!stats) {
160
+ facts.projection = { observed: false };
161
+ return facts;
162
+ }
163
+ facts.projection = {
164
+ observed: true,
165
+ badArguments: {
166
+ truncated: toCount(stats.badArguments?.truncated),
167
+ malformed: toCount(stats.badArguments?.malformed)
168
+ },
169
+ rewrittenToolCalls: toCount(stats.rewrittenToolCalls),
170
+ rewrittenAssistantMessages: toCount(stats.rewrittenAssistantMessages),
171
+ rewrittenToolMessages: toCount(stats.rewrittenToolMessages)
172
+ };
173
+ return facts;
174
+ }
175
+ function writeThinkingFacts(facts, body) {
176
+ const record = asRecord(body);
177
+ facts.thinking = resolveThinkingEnum(record);
178
+ facts.reasoningEffort = resolveReasoningEffortEnum(record);
179
+ return facts;
180
+ }
181
+ function resolveThinkingEnum(body) {
182
+ const thinking = asRecord(body.thinking);
183
+ if (typeof thinking.type === "string") {
184
+ const type = thinking.type.trim().toLowerCase();
185
+ if (type === "enabled") return "enabled";
186
+ if (type === "disabled") return "disabled";
187
+ return "other";
188
+ }
189
+ const chatTemplateKwargs = asRecord(body.chat_template_kwargs);
190
+ const enableThinking = body.enable_thinking ?? chatTemplateKwargs.enable_thinking;
191
+ if (typeof enableThinking === "boolean") return enableThinking ? "enabled" : "disabled";
192
+ return "unspecified";
193
+ }
194
+ function resolveReasoningEffortEnum(body) {
195
+ const raw = body.reasoning_effort;
196
+ if (typeof raw === "string") {
197
+ const value = raw.trim().toLowerCase();
198
+ if (REASONING_EFFORT_VALUES.has(value)) return value;
199
+ return "other";
200
+ }
201
+ const reasoning = asRecord(body.reasoning);
202
+ if (reasoning.enabled === false) return "none";
203
+ return "unspecified";
204
+ }
205
+ function deriveRequestFactsFromBody(body, shapingCounts) {
206
+ const facts = createRequestFacts();
207
+ writeThinkingFacts(facts, body);
208
+ const messages = extractMessages(body);
209
+ if (messages) {
210
+ for (const message of messages) {
211
+ const record = asRecord(message);
212
+ if (record.role !== "assistant") continue;
213
+ const toolCalls = record.tool_calls;
214
+ if (!Array.isArray(toolCalls) || toolCalls.length === 0) continue;
215
+ facts.assistantToolTurns += 1;
216
+ const reasoning = typeof record.reasoning_content === "string" ? record.reasoning_content : "";
217
+ if (reasoning.length === 0) {
218
+ facts.missingReasoningTurns += 1;
219
+ }
220
+ }
221
+ }
222
+ return applyShapingCounts(facts, shapingCounts);
223
+ }
224
+ function extractMessages(body) {
225
+ const record = asRecord(body);
226
+ if (Array.isArray(record.messages)) return record.messages;
227
+ if (Array.isArray(record.input)) return record.input;
228
+ return void 0;
229
+ }
230
+ function resolveOutboundWire(value, explicit) {
231
+ if (explicit) return explicit;
232
+ const text = typeof value === "string" ? value : "";
233
+ return /\/responses(?:[/?#]|$)/.test(text) ? "responses" : "chat.completions";
234
+ }
235
+ function isOutboundDiagnosticsEnabled(env = readProcessEnv()) {
236
+ return env?.[OUTBOUND_DIAGNOSTICS_ENV] === "1";
237
+ }
238
+ function readProcessEnv() {
239
+ if (typeof process === "undefined") return void 0;
240
+ return process.env;
241
+ }
242
+ function createConsoleOutboundDiagnosticSink(log = defaultLog) {
243
+ return (event) => {
244
+ try {
245
+ const serialized = serializeOutboundDiagnosticEvent(event);
246
+ log(`${OUTBOUND_DIAGNOSTIC_PREFIX} ${JSON.stringify(serialized)}`);
247
+ } catch {
248
+ }
249
+ };
250
+ }
251
+ function defaultLog(...args) {
252
+ console.log(...args);
253
+ }
254
+ function resolveOutboundDiagnosticSink(option) {
255
+ if (option?.sink) return option.sink;
256
+ if (option?.enabled === false) return void 0;
257
+ if (option?.enabled === true) return createConsoleOutboundDiagnosticSink();
258
+ if (isOutboundDiagnosticsEnabled()) return createConsoleOutboundDiagnosticSink();
259
+ return void 0;
260
+ }
261
+ function createOutboundDiagnosticCallId() {
262
+ return `obd_${Math.random().toString(36).slice(2, 10)}${Date.now().toString(36)}`;
263
+ }
264
+ function createOutboundDiagnosticCall(args) {
265
+ const callId = sanitizeCallId(args.callId) ?? createOutboundDiagnosticCallId();
266
+ const base = {
267
+ callId,
268
+ seam: args.seam,
269
+ host: args.host,
270
+ wire: args.wire,
271
+ provider: sanitizeProviderModelToken(args.provider),
272
+ model: sanitizeProviderModelToken(args.model)
273
+ };
274
+ return {
275
+ callId,
276
+ dispatch(attempt, facts) {
277
+ emitOutboundDiagnostic(args.sink, {
278
+ ...base,
279
+ version: 1,
280
+ phase: "dispatch",
281
+ attempt: toAttempt(attempt),
282
+ facts
283
+ });
284
+ },
285
+ httpResult(attempt, result) {
286
+ const upstreamRequestId = pickUpstreamRequestId(result.headers);
287
+ const providerCallId = sanitizeCallId(result.providerCallId);
288
+ emitOutboundDiagnostic(args.sink, {
289
+ ...base,
290
+ version: 1,
291
+ phase: "http-result",
292
+ attempt: toAttempt(attempt),
293
+ status: toStatus(result.status),
294
+ errorCategory: result.errorCategory ?? classifyOutboundErrorCategory(result.status),
295
+ ...providerCallId ? { providerCallId } : {},
296
+ ...upstreamRequestId ? { upstreamRequestId } : {}
297
+ });
298
+ },
299
+ terminal(attempt, outcome, providerCallId) {
300
+ const safeProviderCallId = sanitizeCallId(providerCallId);
301
+ emitOutboundDiagnostic(args.sink, {
302
+ ...base,
303
+ version: 1,
304
+ phase: "terminal",
305
+ attempt: toAttempt(attempt),
306
+ outcome,
307
+ ...safeProviderCallId ? { providerCallId: safeProviderCallId } : {}
308
+ });
309
+ }
310
+ };
311
+ }
312
+ function emitOutboundDiagnostic(sink, event) {
313
+ if (!sink) return;
314
+ try {
315
+ sink(event);
316
+ } catch {
317
+ }
318
+ }
319
+ function serializeOutboundDiagnosticEvent(event) {
320
+ const record = event;
321
+ const out = {
322
+ version: 1,
323
+ phase: toEnum(record.phase, /* @__PURE__ */ new Set(["dispatch", "http-result", "terminal"]), "dispatch"),
324
+ callId: sanitizeCallId(record.callId) ?? "unknown",
325
+ attempt: toAttempt(record.attempt),
326
+ seam: toEnum(record.seam, SEAM_VALUES, void 0) ?? void 0,
327
+ host: toEnum(record.host, HOST_VALUES, void 0) ?? void 0,
328
+ wire: toEnum(record.wire, WIRE_VALUES, void 0) ?? void 0,
329
+ provider: sanitizeProviderModelToken(record.provider),
330
+ model: sanitizeProviderModelToken(record.model)
331
+ };
332
+ const providerCallId = sanitizeCallId(record.providerCallId);
333
+ if (providerCallId) out.providerCallId = providerCallId;
334
+ if (out.phase === "dispatch") {
335
+ out.facts = serializeRequestFacts(record.facts);
336
+ } else if (out.phase === "http-result") {
337
+ out.status = toStatus(record.status);
338
+ out.errorCategory = toEnum(
339
+ record.errorCategory,
340
+ ERROR_CATEGORY_VALUES,
341
+ "other"
342
+ );
343
+ const upstreamRequestId = sanitizeUpstreamRequestId(record.upstreamRequestId);
344
+ if (upstreamRequestId) out.upstreamRequestId = upstreamRequestId;
345
+ } else {
346
+ out.outcome = toEnum(record.outcome, TERMINAL_OUTCOME_VALUES, "other");
347
+ }
348
+ for (const key of Object.keys(out)) {
349
+ if (out[key] === void 0) delete out[key];
350
+ }
351
+ return out;
352
+ }
353
+ function serializeRequestFacts(value) {
354
+ const record = asRecord(value);
355
+ const projection = asRecord(record.projection);
356
+ const output = {
357
+ assistantToolTurns: toCount(record.assistantToolTurns),
358
+ missingReasoningTurns: toCount(record.missingReasoningTurns),
359
+ placeholderInjectedTurns: typeof record.placeholderInjectedTurns === "number" ? toCount(record.placeholderInjectedTurns) : null,
360
+ reasoningStrippedTurns: typeof record.reasoningStrippedTurns === "number" ? toCount(record.reasoningStrippedTurns) : null,
361
+ thinking: toEnum(record.thinking, THINKING_VALUES, "unspecified"),
362
+ reasoningEffort: toEnum(
363
+ record.reasoningEffort,
364
+ REASONING_EFFORT_VALUES,
365
+ "unspecified"
366
+ )
367
+ };
368
+ if (projection.observed === true) {
369
+ const bad = asRecord(projection.badArguments);
370
+ output.projection = {
371
+ observed: true,
372
+ badArguments: {
373
+ truncated: toCount(bad.truncated),
374
+ malformed: toCount(bad.malformed)
375
+ },
376
+ rewrittenToolCalls: toCount(projection.rewrittenToolCalls),
377
+ rewrittenAssistantMessages: toCount(projection.rewrittenAssistantMessages),
378
+ rewrittenToolMessages: toCount(projection.rewrittenToolMessages)
379
+ };
380
+ } else {
381
+ output.projection = { observed: false };
382
+ }
383
+ return output;
384
+ }
385
+ function toCount(value) {
386
+ if (typeof value !== "number" || !Number.isFinite(value) || value < 0) return 0;
387
+ return Math.floor(value);
388
+ }
389
+ function toAttempt(value) {
390
+ const count = toCount(value);
391
+ return count > 0 ? count : 1;
392
+ }
393
+ function toStatus(value) {
394
+ if (typeof value !== "number" || !Number.isFinite(value)) return 0;
395
+ return Math.floor(value);
396
+ }
397
+ function toEnum(value, allowed, fallback) {
398
+ if (typeof value === "string" && allowed.has(value)) return value;
399
+ return fallback;
400
+ }
401
+ function asRecord(value) {
402
+ return value && typeof value === "object" ? value : {};
403
+ }
404
+
405
+ export {
406
+ projectUserPartForModel,
407
+ classifyOutboundErrorCategory,
408
+ createRequestShapingCounts,
409
+ createRequestFacts,
410
+ applyShapingCounts,
411
+ attachProjectionFacts,
412
+ writeThinkingFacts,
413
+ deriveRequestFactsFromBody,
414
+ resolveOutboundWire,
415
+ resolveOutboundDiagnosticSink,
416
+ createOutboundDiagnosticCall
417
+ };
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  findModelConfig,
3
3
  getProviderByModelName
4
- } from "./chunk-3BXNTXYI.js";
5
- import {
6
- asTrimmedLowercaseString
7
- } from "./chunk-QSJ3HFEF.js";
4
+ } from "./chunk-I4SN4NUQ.js";
8
5
  import {
9
6
  asOptionalTrimmedString
10
7
  } from "./chunk-G3SUCT4W.js";
8
+ import {
9
+ asTrimmedLowercaseString
10
+ } from "./chunk-QSJ3HFEF.js";
11
11
 
12
12
  // packages/ai/agent/toolOutputPolicy.ts
13
13
  var MAX_IN_TURN_TOOL_CONTENT_CHARS = 4e3;
@@ -23,8 +23,8 @@ var TOOL_OUTPUT_PROFILES = {
23
23
  execShell: { maxChars: 4e3, headRatio: 0.35 },
24
24
  runCommand: { maxChars: 4e3, headRatio: 0.35 },
25
25
  launchProcess: { maxChars: 2800, headRatio: 0.35 },
26
- editFile: { maxChars: 2800, headRatio: 0.62 },
27
- writeFile: { maxChars: 2400, headRatio: 0.62 },
26
+ editFile: { maxChars: 1200, headRatio: 0.62 },
27
+ writeFile: { maxChars: 1e3, headRatio: 0.62 },
28
28
  readPastedText: { maxChars: 4800, headRatio: 0.5, historicalMaxChars: 4800 }
29
29
  };
30
30
  function resolveToolOutputProfile(toolName) {
@@ -0,0 +1,15 @@
1
+ import {
2
+ BUILTIN_NOLO_AGENT_KEY
3
+ } from "./chunk-EZVK3N5L.js";
4
+
5
+ // packages/core/init.ts
6
+ var nolotusId = "0e95801d90";
7
+ var ADMIN_IDS = /* @__PURE__ */ new Set([nolotusId]);
8
+ var isSystemAdmin = (userId) => userId != null && ADMIN_IDS.has(userId);
9
+ var noloAgentId = BUILTIN_NOLO_AGENT_KEY;
10
+
11
+ export {
12
+ nolotusId,
13
+ isSystemAdmin,
14
+ noloAgentId
15
+ };
@@ -1,16 +1,16 @@
1
1
  import {
2
- require_date_fns
3
- } from "./chunk-M76ECQRD.js";
2
+ formatISO
3
+ } from "./chunk-ZRAU6T47.js";
4
4
  import {
5
5
  require_react
6
6
  } from "./chunk-YDH3FDFQ.js";
7
- import {
8
- toErrorMessage
9
- } from "./chunk-HNMXYYJR.js";
10
7
  import {
11
8
  patch,
12
9
  readAndWait
13
- } from "./chunk-HYZIYH2H.js";
10
+ } from "./chunk-74RAWNQN.js";
11
+ import {
12
+ toErrorMessage
13
+ } from "./chunk-HNMXYYJR.js";
14
14
  import {
15
15
  asOptionalTrimmedString
16
16
  } from "./chunk-G3SUCT4W.js";
@@ -20,7 +20,6 @@ import {
20
20
 
21
21
  // packages/render/page/docStore.ts
22
22
  var import_react = __toESM(require_react(), 1);
23
- var import_date_fns = __toESM(require_date_fns(), 1);
24
23
  var createInitialState = () => ({
25
24
  content: null,
26
25
  slateData: null,
@@ -52,6 +51,7 @@ var createInitialState = () => ({
52
51
  var listeners = /* @__PURE__ */ new Set();
53
52
  var version = 0;
54
53
  var state = createInitialState();
54
+ var latestInitRequestKey = null;
55
55
  var notify = () => {
56
56
  for (const listener of listeners) {
57
57
  try {
@@ -102,6 +102,9 @@ function getDocField(selector) {
102
102
  function getDocPageKey() {
103
103
  return state.pageKey;
104
104
  }
105
+ function isDocStateForPage(state2, pageKey) {
106
+ return Boolean(pageKey) && state2.pageKey === pageKey;
107
+ }
105
108
  function getDocIsInitialized() {
106
109
  return state.isInitialized;
107
110
  }
@@ -143,6 +146,7 @@ function updateDocTags(tags) {
143
146
  setState((prev) => ({ ...prev, tags }));
144
147
  }
145
148
  function resetDocState() {
149
+ latestInitRequestKey = null;
146
150
  setState(createInitialState());
147
151
  }
148
152
  function previewDocState(payload) {
@@ -190,6 +194,7 @@ function applyExternalDocUpdate(payload) {
190
194
  }
191
195
  async function initDocState(args, { dispatch }) {
192
196
  const { pageKey, isReadOnly } = args;
197
+ latestInitRequestKey = pageKey;
193
198
  setState((prev) => ({
194
199
  ...createInitialState(),
195
200
  isLoading: true,
@@ -198,6 +203,7 @@ async function initDocState(args, { dispatch }) {
198
203
  }));
199
204
  try {
200
205
  const readAction = await dispatch(readAndWait(pageKey));
206
+ if (latestInitRequestKey !== pageKey) return;
201
207
  if (readAndWait.fulfilled.match(readAction) && readAction.payload) {
202
208
  const data = readAction.payload;
203
209
  if (data.type !== "page" /* DOC */) {
@@ -247,6 +253,7 @@ async function initDocState(args, { dispatch }) {
247
253
  }));
248
254
  }
249
255
  } catch (e) {
256
+ if (latestInitRequestKey !== pageKey) return;
250
257
  setState((prev) => ({
251
258
  ...prev,
252
259
  isLoading: false,
@@ -300,7 +307,7 @@ async function saveDocState(arg, { dispatch, getState }) {
300
307
  { slateToRenderMarkdown },
301
308
  { buildSkillSummaryMarker }
302
309
  ] = await Promise.all([
303
- import("./slateUtils-RIZES3PV.js"),
310
+ import("./slateUtils-NGV2NMKM.js"),
304
311
  import("./slateToRenderMarkdown-Y5IYN73U.js"),
305
312
  import("./skillSummaryMarker-42HKSXYY.js")
306
313
  ]);
@@ -309,7 +316,7 @@ async function saveDocState(arg, { dispatch, getState }) {
309
316
  const skillSummary = buildSkillSummaryMarker(meta);
310
317
  const content = slateToRenderMarkdown(slateData);
311
318
  const now = /* @__PURE__ */ new Date();
312
- const updatedAt = (0, import_date_fns.formatISO)(now);
319
+ const updatedAt = formatISO(now);
313
320
  await dispatch(
314
321
  patch({
315
322
  dbKey: pageKey,
@@ -326,7 +333,7 @@ async function saveDocState(arg, { dispatch, getState }) {
326
333
  ).unwrap();
327
334
  if (dbSpaceId) {
328
335
  try {
329
- const { updateContentTitle } = await import("./contentThunks-BDIQRZR6.js");
336
+ const { updateContentTitle } = await import("./contentThunks-5L7YQI3S.js");
330
337
  await dispatch(
331
338
  updateContentTitle({
332
339
  spaceId: dbSpaceId,
@@ -365,7 +372,7 @@ async function saveDocState(arg, { dispatch, getState }) {
365
372
  }
366
373
  }
367
374
  async function createDocState(args, thunkApi) {
368
- const { createPageAction } = await import("./createPageAction-CDLDKPRM.js");
375
+ const { createPageAction } = await import("./createPageAction-VQDJIXMY.js");
369
376
  return createPageAction(args, thunkApi);
370
377
  }
371
378
  function subscribe(listener) {
@@ -387,6 +394,7 @@ function useDocField(selector) {
387
394
  }
388
395
  function resetDocStoreForTests() {
389
396
  state = createInitialState();
397
+ latestInitRequestKey = null;
390
398
  bump();
391
399
  }
392
400
 
@@ -394,6 +402,7 @@ export {
394
402
  getDocState,
395
403
  getDocField,
396
404
  getDocPageKey,
405
+ isDocStateForPage,
397
406
  getDocIsInitialized,
398
407
  getDocIsReadOnly,
399
408
  getDocHasPendingChanges,