nolo-cli 0.107.0-alpha.4 → 0.107.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/README.md +1 -1
  2. package/{_executeModel-UDCSOTD2.js → _executeModel-M573MKVE.js} +78 -70
  3. package/action-GVA5ARSJ.js +20 -0
  4. package/{addContentAction-MB2HHMDZ.js → addContentAction-M2WOWZCL.js} +13 -12
  5. package/{addDialogAgentAction-MCEABSBA.js → addDialogAgentAction-QMAQ5Z6N.js} +19 -20
  6. package/{agentDeleteCommand-OWYHN6D6.js → agentDeleteCommand-ZFHYRHBS.js} +118 -43
  7. package/{agentEmailCommands-AU5I4M4W.js → agentEmailCommands-X6AVPIVQ.js} +100 -90
  8. package/agentListCommands-PAD2CI2I.js +741 -0
  9. package/{agentMachineCommands-YMNME2L6.js → agentMachineCommands-UPH6RJCC.js} +50 -46
  10. package/{agentProviderCommands-GNPTL5XR.js → agentProviderCommands-CMVTBY5X.js} +97 -2
  11. package/{agentPullCommand-O5MPVJ5E.js → agentPullCommand-B4T2DJ5H.js} +1 -1
  12. package/agentRecordCommands-UMACPRAF.js +138 -0
  13. package/agentRunCommand-H6KKHHMU.js +167 -0
  14. package/{agentRunControl-AVJR4JW4.js → agentRunControl-3HWA2LLQ.js} +2 -2
  15. package/{agentRuntimeLocal-KCMC2TBD.js → agentRuntimeLocal-N4YGKL7M.js} +44 -40
  16. package/{agentSlice-R7PR6KYM.js → agentSlice-2LPP43XH.js} +15 -14
  17. package/{appDeleteCommands-JEPA3EWE.js → appDeleteCommands-7DAF33AM.js} +46 -42
  18. package/{appDeployCommands-UTB76XFM.js → appDeployCommands-ZPZSMFGZ.js} +46 -42
  19. package/{appDeployStatusCommands-LGHF2SBD.js → appDeployStatusCommands-FWBDSSS5.js} +46 -42
  20. package/{appGetCommands-PX2BFHOB.js → appGetCommands-SZZOHGEP.js} +46 -42
  21. package/{appListCommands-BSMPTWKC.js → appListCommands-FPMUBDPM.js} +46 -42
  22. package/{authCommand-YW42YZA4.js → authCommand-VL3G26NQ.js} +119 -25
  23. package/{authCommands-RGOGCPP6.js → authCommands-5RTUDYZW.js} +7 -5
  24. package/{builtinSkillRegistry-FUAVTRVZ.js → builtinSkillRegistry-ZK4K67Y5.js} +11 -9
  25. package/{chromeCommands-FZYAU75D.js → chromeCommands-AU5ZJXBG.js} +289 -37
  26. package/{chromeOpsCommands-62P2Q2YB.js → chromeOpsCommands-ZYTCMNHG.js} +156 -22
  27. package/{chunk-JEDZAO7L.js → chunk-2SYTUTLI.js} +257 -37
  28. package/{chunk-HVURBGF3.js → chunk-2U3NHADM.js} +6 -6
  29. package/{chunk-QTGQ2LTL.js → chunk-3DQY5IFB.js} +6 -10
  30. package/{chunk-XT35TTFG.js → chunk-3IXAHOJS.js} +19 -21
  31. package/{chunk-UVA7OYO3.js → chunk-3W67RV75.js} +29 -9
  32. package/chunk-4LCOCOR5.js +50 -0
  33. package/{chunk-JPGCXHNM.js → chunk-4LKMZ3RR.js} +1 -1
  34. package/{chunk-2GRGFCF6.js → chunk-4VJAC32I.js} +2 -1
  35. package/{chunk-6D6VBVEW.js → chunk-4W24JM32.js} +80 -14
  36. package/{chunk-MC4XLIJ7.js → chunk-523DITKR.js} +1 -1
  37. package/{chunk-E4MARS3Q.js → chunk-5GVBDNTO.js} +1 -1
  38. package/{chunk-C3M4465B.js → chunk-5HYJ3DSZ.js} +404 -659
  39. package/chunk-5MMAK75Q.js +15 -0
  40. package/{chunk-7S4YWN7P.js → chunk-5UUIGN6I.js} +4 -4
  41. package/{chunk-42V6BK2E.js → chunk-62IL3KQV.js} +4 -34
  42. package/{chunk-4MK3I7Y4.js → chunk-6MAW4XOF.js} +5 -5
  43. package/{chunk-3UZPUAES.js → chunk-74PPKIY2.js} +1 -1
  44. package/chunk-76HO2DP6.js +15 -0
  45. package/{chunk-ASIFZ2WY.js → chunk-7BBP7ZX3.js} +66 -54
  46. package/{chunk-VLTIYV3X.js → chunk-7I25CBT5.js} +34 -8
  47. package/{chunk-IBOZNTG2.js → chunk-7X5XZ34C.js} +23 -28
  48. package/chunk-AGIM7IMJ.js +147 -0
  49. package/{chunk-5UTFL4QJ.js → chunk-APO5TOXO.js} +1 -1
  50. package/{chunk-EEGDMATE.js → chunk-AZOVPTL6.js} +91 -81
  51. package/{chunk-6OZ36FXI.js → chunk-BIPGGSJS.js} +22 -4
  52. package/{chunk-EYAQT56M.js → chunk-BNQMNUKZ.js} +9 -6
  53. package/{chunk-62CATUYY.js → chunk-CBUMFIFE.js} +834 -962
  54. package/{chunk-OIVSQH2O.js → chunk-CDEEFJXN.js} +308 -11
  55. package/chunk-CHOZJMJS.js +78 -0
  56. package/{chunk-ETI2NYVF.js → chunk-CIP3AAMT.js} +4 -4
  57. package/{chunk-GBRG75BQ.js → chunk-D2MDMY2M.js} +1 -0
  58. package/{chunk-W7HLWAQ7.js → chunk-DE45KZNH.js} +118 -90
  59. package/{chunk-Q554LLSI.js → chunk-DMXLXZKL.js} +1 -1
  60. package/{chunk-3VNWWVKB.js → chunk-E3YWHWCR.js} +50 -18
  61. package/{chunk-HKNXJGEC.js → chunk-ECFHBYUW.js} +85 -50
  62. package/{chunk-ACTMNVHM.js → chunk-EHSYSKXV.js} +1 -1
  63. package/{chunk-WV42OMV7.js → chunk-ELUDRSRD.js} +8 -8
  64. package/{chunk-ABQYVJBJ.js → chunk-EV235ILT.js} +5 -5
  65. package/{chunk-TRV2MIDW.js → chunk-EXAJ6DCR.js} +1 -0
  66. package/{chunk-BFDFRLLQ.js → chunk-EZ4VZHAG.js} +5 -5
  67. package/{chunk-GO3Z72MT.js → chunk-FHLMQIU7.js} +65 -95
  68. package/{chunk-2F7RJC6L.js → chunk-FOXQ7BAB.js} +1 -1
  69. package/{chunk-SH43IESU.js → chunk-GGC55Q32.js} +199 -29
  70. package/chunk-GMZLP5DV.js +82 -0
  71. package/{chunk-FDTR4QJ6.js → chunk-H6A6X4EK.js} +32 -1
  72. package/{chunk-DVINR3PL.js → chunk-HDLLCBRF.js} +1 -1
  73. package/{chunk-QOKAKDPE.js → chunk-HIM3FCLF.js} +0 -1
  74. package/{chunk-ONXOABJR.js → chunk-HNGRBWYF.js} +3 -0
  75. package/{chunk-BNGW5ASC.js → chunk-I2RGRVQ7.js} +22 -2
  76. package/{chunk-O6OSWFZQ.js → chunk-IHPDK6UD.js} +6 -0
  77. package/{chunk-QDSINZM3.js → chunk-IXH3HKY2.js} +1 -22
  78. package/{chunk-GQBOR3G6.js → chunk-JBKHQOYK.js} +8 -4
  79. package/{chunk-XD2MJFUG.js → chunk-JEFXP73H.js} +1 -1
  80. package/{chunk-PBA4UJBK.js → chunk-JIXGJTBU.js} +4 -4
  81. package/{chunk-AEOE4Z6Q.js → chunk-K6L5PNXK.js} +39 -15
  82. package/{chunk-Z77CRGTW.js → chunk-KA5O5KQL.js} +1 -1
  83. package/{chunk-GPCZ7UXG.js → chunk-KD6D6BLA.js} +1 -1
  84. package/{chunk-4CR5I7BD.js → chunk-KFWDYYSS.js} +47 -67
  85. package/{chunk-UZGQNTVW.js → chunk-KHKTDMYG.js} +8 -6
  86. package/{chunk-JDPFV2JV.js → chunk-KWUKOQM2.js} +20 -11
  87. package/{chunk-MRIHM22T.js → chunk-LBFL6RZG.js} +58 -9
  88. package/{chunk-LS2ZANRJ.js → chunk-LOCNXNOU.js} +1 -1
  89. package/{chunk-DHDMC6FO.js → chunk-LUBFABMJ.js} +15 -14
  90. package/{chunk-NA35QHCF.js → chunk-LVBFKW65.js} +1 -1
  91. package/chunk-LWLNLZC5.js +265 -0
  92. package/chunk-N4NGJDT6.js +929 -0
  93. package/{chunk-BFU6C242.js → chunk-NMFV26UG.js} +1 -1
  94. package/{chunk-FZGV4FGK.js → chunk-NUHHBEJC.js} +378 -187
  95. package/chunk-NWENLDMM.js +42 -0
  96. package/chunk-O7SVKKLY.js +875 -0
  97. package/chunk-OCZKATRC.js +129 -0
  98. package/{chunk-6Z7MY3V7.js → chunk-OEJLGVBL.js} +5 -5
  99. package/{chunk-VMFTFOWF.js → chunk-OKGVNZTL.js} +35 -8
  100. package/{chunk-GEPUP7OO.js → chunk-OR2UWD6X.js} +3 -3
  101. package/{chunk-KQHGZWSV.js → chunk-OXME3PEE.js} +1 -1
  102. package/{chunk-J4MOO56S.js → chunk-PNXHPLRU.js} +10 -2
  103. package/{chunk-3BMYXEUW.js → chunk-R5AJODNI.js} +1 -1
  104. package/{chunk-P5EVSOPA.js → chunk-R6EBQEQE.js} +22 -29
  105. package/chunk-RQ6CTX2E.js +164 -0
  106. package/{chunk-MS7TSPZR.js → chunk-RU36ZYSG.js} +19 -17
  107. package/{chunk-ALXHV7NK.js → chunk-RWXLPUKI.js} +40 -4
  108. package/{chunk-KQ4ONNQD.js → chunk-RXA3HAVW.js} +190 -8
  109. package/{chunk-IIVGDG4I.js → chunk-SJKULPGX.js} +13 -7
  110. package/{chunk-Q67DOFOO.js → chunk-SZC4REES.js} +212 -105
  111. package/{chunk-JRQFUXY7.js → chunk-TBAXFWOS.js} +99 -22
  112. package/{chunk-PQFHGD77.js → chunk-TBM2RS3U.js} +161 -14
  113. package/{chunk-NOF3HDSN.js → chunk-TFOIJFCM.js} +11 -9
  114. package/{chunk-BYMV6QZG.js → chunk-TNIX77YM.js} +4 -0
  115. package/chunk-TY3TIUJK.js +89 -0
  116. package/{chunk-I3TQJXQ7.js → chunk-U3C3IA32.js} +9 -2
  117. package/{chunk-YYLHWIW6.js → chunk-UKZX3NHN.js} +1 -1
  118. package/chunk-UM7TA3K4.js +1008 -0
  119. package/{chunk-6YTOJY35.js → chunk-VBG7GWWR.js} +253 -8
  120. package/{chunk-GL3EHUR4.js → chunk-VHGYUYQ3.js} +69 -47
  121. package/chunk-VIWDGTDA.js +8 -0
  122. package/chunk-VJVNU77E.js +83 -0
  123. package/chunk-VM6IE2GN.js +8004 -0
  124. package/{chunk-UKWGR5SS.js → chunk-VY6VFGKR.js} +194 -1144
  125. package/chunk-VZLO4XJD.js +17 -0
  126. package/chunk-W32HPLTL.js +13692 -0
  127. package/{chunk-AHAHBQMU.js → chunk-WDLSZMTA.js} +2 -2
  128. package/{chunk-53HEEOTT.js → chunk-WF5X57VW.js} +83 -16
  129. package/{chunk-VRTTFDBM.js → chunk-WPHY3VPF.js} +35 -22
  130. package/{chunk-3L2WKC3W.js → chunk-XPWGOTBQ.js} +8 -1
  131. package/chunk-YV25TM3R.js +780 -0
  132. package/chunk-ZRAU6T47.js +56 -0
  133. package/{chunk-IBOOZVVD.js → chunk-ZTKZZY2A.js} +851 -279
  134. package/commandRegistry-ASW6IVZ3.js +833 -0
  135. package/{contentThunks-IV2T3EJC.js → contentThunks-4XNVOIR7.js} +39 -36
  136. package/{cooldownCommands-REAWYVTY.js → cooldownCommands-ZLEPIB4A.js} +2 -2
  137. package/{createAgentAutomationAction-JCOIEYY4.js → createAgentAutomationAction-NHHTCJMC.js} +40 -37
  138. package/createDialogAction-XEBTHDB3.js +70 -0
  139. package/{createPageAction-D2VOOLP3.js → createPageAction-VR3WW2AQ.js} +47 -43
  140. package/{chunk-FG3HKPQP.js → cursorProvider-YGGNMVWX.js} +2751 -10185
  141. package/{dbSlice-A6C6H32X.js → dbSlice-TG4MZ5EB.js} +12 -11
  142. package/{deleteFile-YG6QMJLU.js → deleteFile-KESP65GC.js} +7 -6
  143. package/{dialogCommands-H7FPUYUQ.js → dialogCommands-FJWQG3MX.js} +50 -47
  144. package/{dialogSlice-6JZOOTDS.js → dialogSlice-GVRDGCRG.js} +57 -37
  145. package/{dist-VODFSGNG.js → dist-NJC2W7I4.js} +61 -54
  146. package/{docCreateCommands-WRG2JLGM.js → docCreateCommands-AZSK4NAG.js} +48 -44
  147. package/{docDeleteCommands-SHWJIBJS.js → docDeleteCommands-DDJMSMFZ.js} +49 -45
  148. package/{docReadCommands-WJN3WT6O.js → docReadCommands-5F5Q6EBZ.js} +47 -43
  149. package/{docStore-HUPQ2FSS.js → docStore-SUZUUWDI.js} +17 -13
  150. package/{docUpdateCommands-IE32IL6O.js → docUpdateCommands-XPNPVZOC.js} +48 -44
  151. package/{fetchMessages-EIU7UFFK.js → fetchMessages-3PXAHKCR.js} +5 -5
  152. package/{getPricing-LUSEABA6.js → getPricing-DOBBZLOK.js} +4 -4
  153. package/{handleSendMessageAction-DFPMQ7YM.js → handleSendMessageAction-VC6VTFKS.js} +109 -42
  154. package/index.js +87 -884
  155. package/{lib-FRRS27KN.js → lib-PU2G2MSO.js} +523 -191
  156. package/{localDialogRead-BTFJ4V2I.js → localDialogRead-UYCKO7YZ.js} +2 -2
  157. package/{localRuntimeAuthority-6IR6BBXE.js → localRuntimeAuthority-TU6OBC76.js} +9 -6
  158. package/{localRuntimeDb-SYQGUF4U.js → localRuntimeDb-VKWVOPPI.js} +1 -1
  159. package/{machineCommands-M2T2I5NF.js → machineCommands-M634V2L3.js} +98 -89
  160. package/machineWsRunDispatch-Z3HUSTFI.js +154 -0
  161. package/{memberThunks-P2ECUJ56.js → memberThunks-5S5D3N4U.js} +20 -18
  162. package/{models-T3SG6MJ5.js → models-PQU25T6Q.js} +2 -2
  163. package/oauthTokenStore-ITEB663N.js +23 -0
  164. package/package.json +1 -1
  165. package/processSpawn-SOAV3FEV.js +11 -0
  166. package/profileConfig-ZGOFORWV.js +43 -0
  167. package/{providerPresetApply-FG6NZ57W.js → providerPresetApply-HAQWVAQX.js} +7 -7
  168. package/{providerRegistry-757OWH3O.js → providerRegistry-5FGWB3X5.js} +11 -7
  169. package/{read-COE3ZYR6.js → read-LSYFLSIM.js} +8 -7
  170. package/{readDocTool-5USN4A6V.js → readDocTool-XWRXV3DR.js} +5 -3
  171. package/{readlineWorkspace-XQRDGWRZ.js → readlineWorkspace-J3YD3DNW.js} +2596 -2032
  172. package/{removeDialogAgentAction-J6X5QMTA.js → removeDialogAgentAction-4TEFC3VL.js} +22 -26
  173. package/{runAgentClientLoop-5ZA62FBA.js → runAgentClientLoop-APSMCLAF.js} +79 -72
  174. package/{runtimeDoctorCommands-X6WDBEQX.js → runtimeDoctorCommands-PIVSBZRZ.js} +4 -4
  175. package/runtimeModeArgs-2Y7BALTO.js +31 -0
  176. package/{setDialogExtraReferencesAction-WX5VTY6O.js → setDialogExtraReferencesAction-LSEN44OY.js} +16 -14
  177. package/{setPrimaryDialogAgentAction-FN22THHT.js → setPrimaryDialogAgentAction-SR366X5A.js} +23 -27
  178. package/{chunk-GP5LKBUZ.js → settingThunks-CTVPPGIN.js} +226 -940
  179. package/{skillDiscovery-CYUCJMAG.js → skillDiscovery-ZBU76COE.js} +3 -3
  180. package/{slateUtils-RIZES3PV.js → slateUtils-NGV2NMKM.js} +1 -1
  181. package/{spaceCommands-5GLCWZPO.js → spaceCommands-3UK63WPE.js} +51 -47
  182. package/{streamAgentChatTurn-6UZJMYRB.js → streamAgentChatTurn-DNY2PSRW.js} +215 -115
  183. package/{switchDialogAgentAction-LVTEV3FR.js → switchDialogAgentAction-M6NAFOOU.js} +19 -20
  184. package/{tableCommands-O6NWHFKV.js → tableCommands-6U4BMLRR.js} +10 -10
  185. package/{toolApiClient-QVJ6HDNN.js → toolApiClient-AD7CXTA4.js} +4 -3
  186. package/tools-X5UWATZK.js +117 -0
  187. package/{tuiSummaryLlmCaller-OHHFTHMG.js → tuiSummaryLlmCaller-DEH7ZEM6.js} +25 -23
  188. package/{updateCommands-2M74UL7P.js → updateCommands-4EHDLF5J.js} +3 -3
  189. package/{updateDialogTitleAction-QTKNIURB.js → updateDialogTitleAction-YSY5BF5A.js} +84 -45
  190. package/action-P4TNFGAD.js +0 -31
  191. package/agentListCommands-B2V4YAC4.js +0 -410
  192. package/agentRecordCommands-G4KK4R7H.js +0 -128
  193. package/agentRunCommand-UTZJA23G.js +0 -156
  194. package/browser-image-compression-MFDTD7K6.js +0 -1763
  195. package/chatQueueReduxAdapter-2P6NFX64.js +0 -186
  196. package/chunk-CQ3WA2NE.js +0 -299
  197. package/chunk-M76ECQRD.js +0 -13658
  198. package/chunk-MEYIRKDN.js +0 -8967
  199. package/chunk-PUOC4YRO.js +0 -394
  200. package/chunk-Q5FJJ6XI.js +0 -103
  201. package/chunk-S7Z2HMCN.js +0 -25
  202. package/chunk-T75QD6AB.js +0 -20923
  203. package/chunk-Y5GCAMGP.js +0 -9
  204. package/chunk-YPREESF4.js +0 -225
  205. package/createDialogAction-NGG7YVNU.js +0 -65
  206. package/machineWsRunDispatch-ISBKOOD7.js +0 -144
  207. package/settingSlice-P4ZW7K5X.js +0 -204
  208. package/syncMapping-N6RGXGBW.js +0 -437
  209. package/tools-KMGFWO43.js +0 -110
  210. package/{chunk-X7HHHIOZ.js → chunk-Y6ROFCZO.js} +0 -0
  211. package/{db-WK5MDZVN.js → db-VQSAOWAO.js} +1 -1
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  selectCurrentServer,
3
3
  selectRemoteServers
4
- } from "./chunk-GP5LKBUZ.js";
4
+ } from "./chunk-NWENLDMM.js";
5
5
  import {
6
6
  createUserKey,
7
7
  extractAgentInfo,
@@ -10,14 +10,14 @@ import {
10
10
  sanitizeShareData,
11
11
  shareKey,
12
12
  toNonEmptyString
13
- } from "./chunk-VMFTFOWF.js";
13
+ } from "./chunk-OKGVNZTL.js";
14
14
  import {
15
15
  noloDeleteRequest,
16
16
  noloWriteRequest
17
- } from "./chunk-UKWGR5SS.js";
17
+ } from "./chunk-VY6VFGKR.js";
18
18
  import {
19
19
  normalizeTimeFields
20
- } from "./chunk-QOKAKDPE.js";
20
+ } from "./chunk-HIM3FCLF.js";
21
21
  import {
22
22
  selectIdentityUser,
23
23
  selectIdentityUserId
@@ -1,17 +1,13 @@
1
1
  import {
2
2
  buildLocalAgentLookupKeys,
3
3
  shouldReadAgentKeyRemotely
4
- } from "./chunk-Z77CRGTW.js";
4
+ } from "./chunk-KA5O5KQL.js";
5
5
  import {
6
6
  resolveCliAgentKeyInput
7
7
  } from "./chunk-SV5IJK6K.js";
8
8
  import {
9
9
  toErrorMessage
10
10
  } from "./chunk-HNMXYYJR.js";
11
- import {
12
- readPipeText,
13
- spawnProcess
14
- } from "./chunk-X7HHHIOZ.js";
15
11
  import {
16
12
  parseUserIdFromAuthToken,
17
13
  readOption,
@@ -19,9 +15,13 @@ import {
19
15
  resolveServerCandidates,
20
16
  resolveServerUrl
21
17
  } from "./chunk-A7GB5UGH.js";
18
+ import {
19
+ readPipeText,
20
+ spawnProcess
21
+ } from "./chunk-Y6ROFCZO.js";
22
22
  import {
23
23
  createAgentKey
24
- } from "./chunk-VMFTFOWF.js";
24
+ } from "./chunk-OKGVNZTL.js";
25
25
 
26
26
  // packages/cli/agentRecordHelpers.ts
27
27
  import { readFileSync } from "node:fs";
@@ -252,6 +252,30 @@ async function writeAgentRecord(args) {
252
252
  throw new Error(`write failed: HTTP ${res.status} ${JSON.stringify(data)}`);
253
253
  }
254
254
  }
255
+ async function invalidateAgentRecordCache(args) {
256
+ const invalidated = [];
257
+ for (const key of new Set(args.keys.filter((k) => typeof k === "string" && k))) {
258
+ try {
259
+ await args.db.del(key);
260
+ invalidated.push(key);
261
+ } catch {
262
+ }
263
+ }
264
+ return invalidated;
265
+ }
266
+ async function refreshAgentRecordCache(args) {
267
+ try {
268
+ await args.db.put(args.agentKey, {
269
+ ...args.record,
270
+ dbKey: args.agentKey,
271
+ key: args.record?.key || args.agentKey,
272
+ serverOrigin: args.serverOrigin,
273
+ cachedAt: Date.now()
274
+ });
275
+ } catch {
276
+ await invalidateAgentRecordCache({ db: args.db, keys: [args.agentKey] });
277
+ }
278
+ }
255
279
  async function resolveAgentRecordFromHybridStore(args) {
256
280
  const agentKey = resolveCliAgentKeyInput(args.agentInput);
257
281
  const authToken = args.cliArgs ? resolveAuthToken(args.cliArgs, args.env) : resolveAuthToken(args.env);
@@ -484,7 +508,7 @@ function parseAgentUpdateArgs(args) {
484
508
  );
485
509
  const expiresAt = parseIsoTimestampOption(readOption(args, "--expires-at"), "--expires-at");
486
510
  const handle = readOption(args, "--handle")?.trim();
487
- const promptSources = [prompt, promptFile, promptDoc].filter(Boolean);
511
+ const promptSources = [prompt, promptFile, promptDoc].filter((value) => value !== void 0);
488
512
  if (promptSources.length > 1) {
489
513
  throw new Error("--prompt / --prompt-file / --prompt-doc are mutually exclusive.");
490
514
  }
@@ -492,7 +516,7 @@ function parseAgentUpdateArgs(args) {
492
516
  if (cliProvider) updates.cliProvider = cliProvider;
493
517
  if (apiSource) updates.apiSource = apiSource;
494
518
  if (provider) updates.provider = provider;
495
- if (prompt) updates.prompt = prompt;
519
+ if (prompt !== void 0) updates.prompt = prompt;
496
520
  if (promptFile) updates.prompt = readFileSync(promptFile, "utf8");
497
521
  if (tools) updates.tools = parseJsonishValue(tools);
498
522
  if (name) updates.name = name;
@@ -511,7 +535,7 @@ function parseAgentUpdateArgs(args) {
511
535
  updates[entry.slice(0, index)] = parseJsonishValue(entry.slice(index + 1));
512
536
  }
513
537
  if (Object.keys(updates).length === 0) {
514
- if (!promptDoc && !copyProviderFrom) {
538
+ if (!promptDoc && !copyProviderFrom && !presetId) {
515
539
  throw new Error("No updates provided. Use --model / --cli-provider / --api-source / --field key=value.");
516
540
  }
517
541
  }
@@ -523,21 +547,19 @@ async function buildCreatedAgentRecord(args) {
523
547
  const resolvedAgentInput = resolveCliAgentKeyInput(args.parsed.agentInput);
524
548
  const agentKey = resolvedAgentInput.startsWith("agent-") ? resolvedAgentInput : createAgentKey.private(userId || "local", resolvedAgentInput);
525
549
  if (args.parsed.presetId) {
526
- const { resolveProviderPresetFields } = await import("./providerPresetApply-FG6NZ57W.js");
550
+ const { resolveProviderPresetFields } = await import("./providerPresetApply-HAQWVAQX.js");
527
551
  const fields = resolveProviderPresetFields(args.parsed.presetId);
528
552
  if (fields.kind === "manual") {
529
553
  throw new Error(
530
554
  `unknown --preset "${args.parsed.presetId}". Run \`nolo agent providers\` to list preset ids.`
531
555
  );
532
556
  }
533
- if (fields.kind === "oauth" || fields.requiresDesktopOAuth) {
534
- throw new Error(
535
- `--preset "${args.parsed.presetId}" is an OAuth subscription; create it in Nolo Desktop (OAuth login required).`
536
- );
537
- }
538
557
  const u = args.parsed.updates;
539
558
  u.apiSource = "custom";
540
559
  u.provider = u.provider ?? fields.provider;
560
+ if (fields.apiKeyRef && !u.apiKeyRef) {
561
+ u.apiKeyRef = fields.apiKeyRef;
562
+ }
541
563
  if (fields.customProviderUrl && !u.customProviderUrl) {
542
564
  u.customProviderUrl = fields.customProviderUrl;
543
565
  }
@@ -670,6 +692,8 @@ export {
670
692
  queryUserRecords,
671
693
  deleteDbRecord,
672
694
  writeAgentRecord,
695
+ invalidateAgentRecordCache,
696
+ refreshAgentRecordCache,
673
697
  resolveAgentRecordFromHybridStore,
674
698
  agentRecordHasConfiguredCredential,
675
699
  sanitizeAgentRecordForCliOutput,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  buildAgentRuntimeAgentLookupKeys,
3
3
  shouldFetchAgentRuntimeRecordRemotely
4
- } from "./chunk-IIVGDG4I.js";
4
+ } from "./chunk-SJKULPGX.js";
5
5
 
6
6
  // packages/cli/client/localAgentRecords.ts
7
7
  var buildLocalAgentLookupKeys = buildAgentRuntimeAgentLookupKeys;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  generatePkcePair,
3
3
  startCallbackServer
4
- } from "./chunk-53HEEOTT.js";
4
+ } from "./chunk-WF5X57VW.js";
5
5
  import {
6
6
  toErrorMessage
7
7
  } from "./chunk-HNMXYYJR.js";
@@ -5,20 +5,18 @@ import {
5
5
  } from "./chunk-ZJ7UHBJS.js";
6
6
  import {
7
7
  deleteDialog,
8
- i18nBaseConfig,
9
- initReactI18next,
10
- instance,
8
+ runtime_default,
11
9
  toast
12
- } from "./chunk-T75QD6AB.js";
10
+ } from "./chunk-W32HPLTL.js";
13
11
  import {
14
- require_date_fns
15
- } from "./chunk-M76ECQRD.js";
12
+ formatISO
13
+ } from "./chunk-ZRAU6T47.js";
16
14
  import {
17
15
  require_react
18
16
  } from "./chunk-YDH3FDFQ.js";
19
17
  import {
20
18
  isSystemAdmin
21
- } from "./chunk-QDSINZM3.js";
19
+ } from "./chunk-76HO2DP6.js";
22
20
  import {
23
21
  asRecordOrEmpty
24
22
  } from "./chunk-KX6YBIHG.js";
@@ -27,7 +25,7 @@ import {
27
25
  addContentAction,
28
26
  checkSpaceMembership,
29
27
  localSpaceAuthorityPatchStamp
30
- } from "./chunk-AHAHBQMU.js";
28
+ } from "./chunk-WDLSZMTA.js";
31
29
  import {
32
30
  createSpaceKey,
33
31
  normalizeSpaceId
@@ -41,7 +39,24 @@ import {
41
39
  uploadFileAction,
42
40
  upsertSSREntity,
43
41
  write
44
- } from "./chunk-VRTTFDBM.js";
42
+ } from "./chunk-WPHY3VPF.js";
43
+ import {
44
+ DEVICE_LOCAL_OWNER_ID,
45
+ getRuntimeServerContext,
46
+ isDeviceLocalSpaceBody,
47
+ resolveReplicationServers,
48
+ scheduleDeleteReplication,
49
+ scheduleWriteReplication
50
+ } from "./chunk-O7SVKKLY.js";
51
+ import {
52
+ buildTombstoneRecord
53
+ } from "./chunk-D2MDMY2M.js";
54
+ import {
55
+ extractUserId
56
+ } from "./chunk-M2EJHDJP.js";
57
+ import {
58
+ isRecord
59
+ } from "./chunk-KUG52IAP.js";
45
60
  import {
46
61
  SEPARATOR,
47
62
  asTrimmedNonEmptyStringArray,
@@ -53,41 +68,26 @@ import {
53
68
  rowKey,
54
69
  splitKey,
55
70
  ulid
56
- } from "./chunk-VMFTFOWF.js";
71
+ } from "./chunk-OKGVNZTL.js";
57
72
  import {
58
73
  asOptionalFiniteNumber
59
74
  } from "./chunk-WWC7I6TA.js";
60
75
  import {
61
- extractUserId
62
- } from "./chunk-M2EJHDJP.js";
63
- import {
64
- DEVICE_LOCAL_OWNER_ID,
65
- createAsyncThunk,
66
- getRuntimeServerContext,
67
- isDeviceLocalSpaceBody,
68
- resolveReplicationServers,
69
- scheduleDeleteReplication,
70
- scheduleWriteReplication
71
- } from "./chunk-UKWGR5SS.js";
76
+ createAsyncThunk
77
+ } from "./chunk-VY6VFGKR.js";
72
78
  import {
73
79
  createClientLogger,
74
80
  isAbortError
75
- } from "./chunk-QOKAKDPE.js";
81
+ } from "./chunk-HIM3FCLF.js";
76
82
  import {
77
83
  selectIdentityUserId
78
84
  } from "./chunk-SEJ5OS6F.js";
79
85
  import {
80
- buildTombstoneRecord
81
- } from "./chunk-GBRG75BQ.js";
82
- import {
83
- isRecord
84
- } from "./chunk-KUG52IAP.js";
86
+ asOptionalPositiveFiniteNumber
87
+ } from "./chunk-U6VC4MU4.js";
85
88
  import {
86
89
  asTrimmedString
87
90
  } from "./chunk-3EUW3WEO.js";
88
- import {
89
- asOptionalPositiveFiniteNumber
90
- } from "./chunk-U6VC4MU4.js";
91
91
  import {
92
92
  asOptionalTrimmedString
93
93
  } from "./chunk-G3SUCT4W.js";
@@ -97,7 +97,6 @@ import {
97
97
 
98
98
  // packages/render/table/tableStore.ts
99
99
  var import_react = __toESM(require_react(), 1);
100
- var import_date_fns2 = __toESM(require_date_fns(), 1);
101
100
  import { ulid as ulid3 } from "ulid";
102
101
 
103
102
  // packages/render/table/fetchAndCacheTableRows.ts
@@ -434,25 +433,7 @@ function addColumnOptionInMeta(meta, input, deps) {
434
433
  }
435
434
 
436
435
  // packages/render/table/createTableAction.ts
437
- var import_date_fns = __toESM(require_date_fns(), 1);
438
436
  import { ulid as ulid2 } from "ulid";
439
-
440
- // packages/app/i18n/client.ts
441
- instance.use(initReactI18next).init({
442
- ...i18nBaseConfig,
443
- lng: "zh-CN" /* ZH_CN */,
444
- fallbackLng: {
445
- ["en" /* EN */]: ["en" /* EN */],
446
- ["zh-CN" /* ZH_CN */]: ["zh-CN" /* ZH_CN */, "en" /* EN */],
447
- ["zh-Hant" /* ZH_HANT */]: ["zh-Hant" /* ZH_HANT */, "zh-CN" /* ZH_CN */, "en" /* EN */],
448
- ["ja" /* JA */]: ["ja" /* JA */, "en" /* EN */],
449
- default: ["en" /* EN */]
450
- },
451
- compatibilityJSON: "v3"
452
- });
453
- var client_default = instance;
454
-
455
- // packages/render/table/createTableAction.ts
456
437
  var DEFAULT_COLUMNS = [
457
438
  {
458
439
  name: "title",
@@ -554,9 +535,9 @@ var createTableAction = async ({
554
535
  const spaceId = customSpaceId ?? getCurrentSpaceId();
555
536
  const tableId = ulid2();
556
537
  const now = /* @__PURE__ */ new Date();
557
- const nowIso = (0, import_date_fns.formatISO)(now);
538
+ const nowIso = formatISO(now);
558
539
  const dbKey = metaKey(userId, tableId);
559
- const defaultTitle = client_default.t("space:newTable", {
540
+ const defaultTitle = runtime_default.t("space:newTable", {
560
541
  defaultValue: "\u65B0\u5EFA\u8868\u683C"
561
542
  });
562
543
  const title = asOptionalTrimmedString(customTitle) ?? defaultTitle;
@@ -924,7 +905,7 @@ var addRow = createTableCommand(
924
905
  });
925
906
  try {
926
907
  const { dbKey, rowId } = rowKey.create(tenantId, tableId);
927
- const nowIso = (0, import_date_fns2.formatISO)(/* @__PURE__ */ new Date());
908
+ const nowIso = formatISO(/* @__PURE__ */ new Date());
928
909
  const row = {
929
910
  dbKey,
930
911
  tenantId,
@@ -985,7 +966,7 @@ var deleteRow = createTableCommand(
985
966
  if (!row) {
986
967
  throw new Error(`\u5F53\u524D\u8868\u4E2D\u627E\u4E0D\u5230\u8981\u5220\u9664\u7684\u884C\uFF1A${dbKey}`);
987
968
  }
988
- const nowIso = (0, import_date_fns2.formatISO)(/* @__PURE__ */ new Date());
969
+ const nowIso = formatISO(/* @__PURE__ */ new Date());
989
970
  const tombstoneRow = {
990
971
  ...row,
991
972
  deletedAt: nowIso,
@@ -1063,7 +1044,7 @@ var addColumn = createTableCommand(
1063
1044
  const result = addColumnToMeta(
1064
1045
  meta,
1065
1046
  { columnName },
1066
- { id: ulid3(), nowIso: (0, import_date_fns2.formatISO)(/* @__PURE__ */ new Date()) }
1047
+ { id: ulid3(), nowIso: formatISO(/* @__PURE__ */ new Date()) }
1067
1048
  );
1068
1049
  if (!result.ok) {
1069
1050
  throw new Error(result.error);
@@ -1104,7 +1085,7 @@ var deleteColumn = createTableCommand(
1104
1085
  meta,
1105
1086
  state.rows,
1106
1087
  { columnName },
1107
- { nowIso: (0, import_date_fns2.formatISO)(/* @__PURE__ */ new Date()) }
1088
+ { nowIso: formatISO(/* @__PURE__ */ new Date()) }
1108
1089
  );
1109
1090
  if (!result.ok) {
1110
1091
  throw new Error(result.error);
@@ -1146,7 +1127,7 @@ var reorderColumn = createTableCommand(
1146
1127
  const result = reorderColumnInMeta(
1147
1128
  meta,
1148
1129
  { fromIndex, toIndex },
1149
- { nowIso: (0, import_date_fns2.formatISO)(/* @__PURE__ */ new Date()) }
1130
+ { nowIso: formatISO(/* @__PURE__ */ new Date()) }
1150
1131
  );
1151
1132
  if (!result.ok) {
1152
1133
  throw new Error(result.error);
@@ -1187,7 +1168,7 @@ var renameColumnLabel = createTableCommand(
1187
1168
  const result = renameColumnLabelInMeta(
1188
1169
  meta,
1189
1170
  { columnId, label: newLabel },
1190
- { nowIso: (0, import_date_fns2.formatISO)(/* @__PURE__ */ new Date()) }
1171
+ { nowIso: formatISO(/* @__PURE__ */ new Date()) }
1191
1172
  );
1192
1173
  if (!result.ok) {
1193
1174
  throw new Error(result.error);
@@ -1225,7 +1206,7 @@ var updateColumnWidth = createTableCommand(
1225
1206
  const result = updateColumnWidthInMeta(
1226
1207
  meta,
1227
1208
  { columnId, width },
1228
- { nowIso: (0, import_date_fns2.formatISO)(/* @__PURE__ */ new Date()) }
1209
+ { nowIso: formatISO(/* @__PURE__ */ new Date()) }
1229
1210
  );
1230
1211
  if (!result.ok) {
1231
1212
  throw new Error(result.error);
@@ -1263,7 +1244,7 @@ var addColumnOption = createTableCommand(
1263
1244
  const result = addColumnOptionInMeta(
1264
1245
  meta,
1265
1246
  { columnId, option },
1266
- { nowIso: (0, import_date_fns2.formatISO)(/* @__PURE__ */ new Date()) }
1247
+ { nowIso: formatISO(/* @__PURE__ */ new Date()) }
1267
1248
  );
1268
1249
  if (!result.ok) {
1269
1250
  throw new Error(result.error);
@@ -1305,7 +1286,7 @@ var renameTable = createTableCommand(
1305
1286
  if (!meta || meta.tenantId !== tenantId || meta.tableId !== tableId) {
1306
1287
  throw new Error("\u5F53\u524D\u6CA1\u6709\u52A0\u8F7D\u5BF9\u5E94\u7684\u8868\u5B9A\u4E49");
1307
1288
  }
1308
- const nowIso = (0, import_date_fns2.formatISO)(/* @__PURE__ */ new Date());
1289
+ const nowIso = formatISO(/* @__PURE__ */ new Date());
1309
1290
  setState((s) => ({ ...s, error: null }));
1310
1291
  try {
1311
1292
  if (dispatch) {
@@ -1346,7 +1327,7 @@ var updateTableIcon = createTableCommand(
1346
1327
  if (!meta || meta.tenantId !== tenantId || meta.tableId !== tableId) {
1347
1328
  throw new Error("\u5F53\u524D\u6CA1\u6709\u52A0\u8F7D\u5BF9\u5E94\u7684\u8868\u5B9A\u4E49");
1348
1329
  }
1349
- const nowIso = (0, import_date_fns2.formatISO)(/* @__PURE__ */ new Date());
1330
+ const nowIso = formatISO(/* @__PURE__ */ new Date());
1350
1331
  setState((s) => ({ ...s, error: null }));
1351
1332
  try {
1352
1333
  if (dispatch) {
@@ -1384,7 +1365,7 @@ var updateCell = createTableCommand(
1384
1365
  const { dbKey, columnName, value } = args;
1385
1366
  setState((s) => ({ ...s, error: null }));
1386
1367
  try {
1387
- const nowIso = (0, import_date_fns2.formatISO)(/* @__PURE__ */ new Date());
1368
+ const nowIso = formatISO(/* @__PURE__ */ new Date());
1388
1369
  if (dispatch) {
1389
1370
  await safeDispatch(
1390
1371
  dispatch,
@@ -1453,11 +1434,11 @@ var ENTITY_DELETE_STRATEGIES = {
1453
1434
  await dispatch(deleteTable({ dbKey: key })).unwrap();
1454
1435
  },
1455
1436
  file: async (key, { thunkAPI }) => {
1456
- const { deleteFileAction } = await import("./deleteFile-YG6QMJLU.js");
1437
+ const { deleteFileAction } = await import("./deleteFile-KESP65GC.js");
1457
1438
  await deleteFileAction(key, thunkAPI);
1458
1439
  },
1459
1440
  image: async (key, { thunkAPI }) => {
1460
- const { deleteFileAction } = await import("./deleteFile-YG6QMJLU.js");
1441
+ const { deleteFileAction } = await import("./deleteFile-KESP65GC.js");
1461
1442
  await deleteFileAction(key, thunkAPI);
1462
1443
  },
1463
1444
  agent: async (key, { dispatch, userId, sourceServerOrigin }) => {
@@ -2097,11 +2078,11 @@ var uploadAndAddFileToSpaceAction = async (payload, thunkAPI) => {
2097
2078
  const state3 = getState();
2098
2079
  const userId = selectIdentityUserId(state3);
2099
2080
  if (!userId) {
2100
- console.warn("[uploadAndAddFileToSpace] Warning: No userId found in state. Uploading as anonymous/unknown might cause issues.");
2081
+ throw new Error("Cannot upload a file to a space without an authenticated user.");
2101
2082
  }
2102
2083
  try {
2103
2084
  const id = ulid();
2104
- const dbKey = fileKey.single(userId || "unknown", id);
2085
+ const dbKey = fileKey.single(userId, id);
2105
2086
  const contentType = "file" /* FILE */;
2106
2087
  const fileCategory = resolveFileCategory({
2107
2088
  mimeType: file.type,
@@ -2391,7 +2372,6 @@ var updateContentCategory = createAsyncThunk(
2391
2372
 
2392
2373
  export {
2393
2374
  fetchAndCacheTableRows,
2394
- client_default,
2395
2375
  getTableState,
2396
2376
  loadTableRows,
2397
2377
  addRow,
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  trimTrailingSlash
3
- } from "./chunk-6OZ36FXI.js";
3
+ } from "./chunk-BIPGGSJS.js";
4
4
  import {
5
5
  toErrorMessage
6
6
  } from "./chunk-HNMXYYJR.js";
7
- import {
8
- asOptionalFiniteNumber
9
- } from "./chunk-WWC7I6TA.js";
10
7
  import {
11
8
  asTrimmedLowercaseString
12
9
  } from "./chunk-QSJ3HFEF.js";
10
+ import {
11
+ asOptionalFiniteNumber
12
+ } from "./chunk-WWC7I6TA.js";
13
13
  import {
14
14
  asOptionalTrimmedString
15
15
  } from "./chunk-G3SUCT4W.js";
@@ -41,7 +41,7 @@ var ANTIGRAVITY_CLOUD_CODE_BASE_URL = "https://daily-cloudcode-pa.googleapis.com
41
41
  var ANTIGRAVITY_CLOUD_CODE_HOST = "cloudcode-pa.googleapis.com";
42
42
  var ANTIGRAVITY_LEGACY_GENERIC_BASE_RE = /^https?:\/\/cloudcode-pa\.googleapis\.com$/i;
43
43
  function getAntigravityUserAgent() {
44
- const version = process.env.NOLO_ANTIGRAVITY_VERSION || "2.1.4";
44
+ const version = process.env.NOLO_ANTIGRAVITY_VERSION || "2.23.1";
45
45
  const os = process.platform === "win32" ? "windows" : process.platform;
46
46
  const arch = process.arch === "x64" ? "amd64" : process.arch === "ia32" ? "386" : process.arch;
47
47
  return `antigravity/hub/${version} ${os}/${arch}`;
@@ -129,7 +129,9 @@ async function refreshAntigravityToken(credential, deps = {}) {
129
129
  payload = {};
130
130
  }
131
131
  if (!response.ok) {
132
- const detail = typeof payload.error_description === "string" && payload.error_description.trim() ? payload.error_description.trim() : typeof payload.error === "string" && payload.error.trim() ? payload.error.trim() : rawBodyText.trim() || `HTTP ${response.status}`;
132
+ const errorCode = typeof payload.error === "string" && payload.error.trim() ? payload.error.trim() : void 0;
133
+ const errorDescription = typeof payload.error_description === "string" && payload.error_description.trim() ? payload.error_description.trim() : void 0;
134
+ const detail = (errorCode && errorDescription && errorDescription !== errorCode ? `${errorCode}: ${errorDescription}` : errorCode ?? errorDescription ?? rawBodyText.trim()) || `HTTP ${response.status}`;
133
135
  throw new Error(`Antigravity token refresh failed: ${detail}`);
134
136
  }
135
137
  if (typeof payload.access_token !== "string" || !payload.access_token.trim()) {
@@ -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-VRTTFDBM.js";
10
+ } from "./chunk-WPHY3VPF.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-IV2T3EJC.js");
336
+ const { updateContentTitle } = await import("./contentThunks-4XNVOIR7.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-D2VOOLP3.js");
375
+ const { createPageAction } = await import("./createPageAction-VR3WW2AQ.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,