nolo-cli 0.53.0-alpha.1 → 0.54.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 (110) hide show
  1. package/{_executeModel-36GKPAEZ.js → _executeModel-ANY4SIAS.js} +34 -35
  2. package/{action-IU6ON7ZB.js → action-Q4W5JPI5.js} +7 -7
  3. package/{addContentAction-5V5CCI3I.js → addContentAction-O25HFR37.js} +6 -6
  4. package/{addDialogAgentAction-KF3KZZNZ.js → addDialogAgentAction-GH7AUPPB.js} +5 -5
  5. package/{agentDeleteCommand-SBODEUPE.js → agentDeleteCommand-JWIKNWWI.js} +17 -17
  6. package/{agentEmailCommands-ME7BCY5S.js → agentEmailCommands-PL22BEU5.js} +39 -40
  7. package/{agentListCommands-QBWPKN5D.js → agentListCommands-6NR7AQEK.js} +19 -19
  8. package/{agentMachineCommands-KFFUPELZ.js → agentMachineCommands-TASPU6OA.js} +18 -18
  9. package/{agentRecordCommands-4BF6JIHS.js → agentRecordCommands-Z64TA63M.js} +38 -39
  10. package/{agentRunCommand-4MA7D6SV.js → agentRunCommand-4QJQLPRW.js} +39 -40
  11. package/{agentRuntimeLocal-RD52NPCG.js → agentRuntimeLocal-PCJJ56J2.js} +17 -17
  12. package/{agentSlice-AJABGQHU.js → agentSlice-KYLDUSNN.js} +6 -6
  13. package/{appDeleteCommands-I42NL3LP.js → appDeleteCommands-WLHMJAVT.js} +19 -19
  14. package/{appDeployCommands-CZWHXVPU.js → appDeployCommands-CKON7N2E.js} +19 -19
  15. package/{appDeployStatusCommands-PIQYXACM.js → appDeployStatusCommands-PXRLDASH.js} +19 -19
  16. package/{appGetCommands-CI2OWLT7.js → appGetCommands-RAB5RM4M.js} +19 -19
  17. package/{appListCommands-LWLSHPCP.js → appListCommands-GU57FB62.js} +19 -19
  18. package/{authCommand-WLWOEVYI.js → authCommand-QOPOEYEK.js} +7 -7
  19. package/{chatQueueReduxAdapter-V37RK3A6.js → chatQueueReduxAdapter-5O2WLITN.js} +16 -16
  20. package/chunk-2BWU4ORW.js +2574 -0
  21. package/{chunk-SG65C33A.js → chunk-32I5RVMY.js} +4 -4
  22. package/{chunk-X7S7OFUX.js → chunk-3QJTD6DO.js} +4 -4
  23. package/{chunk-CY5KIIPU.js → chunk-3Z3DXZBD.js} +12 -12
  24. package/{chunk-RO2IUWZE.js → chunk-4NN3EK7H.js} +1 -1
  25. package/{chunk-Y7TGWSUN.js → chunk-56W233KG.js} +1 -1
  26. package/{chunk-C2WF2OY7.js → chunk-5WADL4O7.js} +1 -1
  27. package/{chunk-QTH72J3N.js → chunk-6BGAQ3KR.js} +116 -23
  28. package/{chunk-67Q6IHM5.js → chunk-6FQ2552G.js} +142 -62
  29. package/{chunk-6XIE5ZGI.js → chunk-6HIGYUBQ.js} +1 -1
  30. package/{chunk-XPW6JLOB.js → chunk-6SZ52ORL.js} +8 -8
  31. package/{chunk-4ZL2KBI7.js → chunk-757BGY6Y.js} +1 -1
  32. package/{chunk-SQTVMYMU.js → chunk-7APQB6R6.js} +3 -3
  33. package/{chunk-QF27IZB3.js → chunk-7K5VMB4Q.js} +3 -3
  34. package/{chunk-V2IPBG5U.js → chunk-AA564GBL.js} +2 -2
  35. package/{chunk-76UA7376.js → chunk-AV6KQCM5.js} +6 -6
  36. package/{chunk-PGKZ2KGE.js → chunk-BJLYCOZK.js} +24 -24
  37. package/{chunk-VKSBVRGP.js → chunk-CVT7L2WZ.js} +1 -1
  38. package/{chunk-JVKFKKYN.js → chunk-D3JQPONH.js} +1 -1
  39. package/{chunk-KHCLMKZZ.js → chunk-EY7V7REW.js} +280 -6
  40. package/{chunk-4RXXP6WD.js → chunk-FGEYVPPR.js} +2 -2
  41. package/{chunk-AZ6DT2UD.js → chunk-GBADO3SM.js} +1 -1
  42. package/chunk-GLGD2JGY.js +1766 -0
  43. package/{chunk-POLE2QLO.js → chunk-GV35EHNA.js} +126 -59
  44. package/{chunk-HR5XDXYM.js → chunk-H4RYESI6.js} +3 -3
  45. package/{chunk-W3RZLXMA.js → chunk-IKTHA3JH.js} +2 -2
  46. package/{chunk-XB7ACJFH.js → chunk-INXBNYCG.js} +3 -3
  47. package/{chunk-F22JQTSX.js → chunk-KUUTWU4I.js} +3 -3
  48. package/{chunk-DFY6O64O.js → chunk-LA4IDAK7.js} +12 -12
  49. package/{chunk-IVKEJD7I.js → chunk-LN3OQJGG.js} +1 -1
  50. package/{chunk-YZ2WE6CW.js → chunk-MFI4FGHX.js} +2 -2
  51. package/{chunk-LGUQHYAL.js → chunk-O5FLGN2L.js} +3 -2
  52. package/{chunk-HCBQVVFZ.js → chunk-PAHILFNT.js} +1 -1
  53. package/{chunk-HHBXCRJS.js → chunk-PYKV6FSC.js} +1 -1
  54. package/{chunk-BO3YFOZR.js → chunk-QDHZCAH3.js} +1 -1
  55. package/{chunk-L3JWI7WX.js → chunk-QOKAKDPE.js} +15 -11
  56. package/{chunk-B54WOZ77.js → chunk-RTLJUGQH.js} +1 -1
  57. package/{chunk-Z7A54NFZ.js → chunk-RU5D3B22.js} +1 -1
  58. package/{chunk-JBL24PK6.js → chunk-SP3DPVBH.js} +2 -2
  59. package/{chunk-TZRB2I2M.js → chunk-TI5BCZCH.js} +18 -18
  60. package/{chunk-KOZ2G3ZG.js → chunk-U2A47SVI.js} +5 -5
  61. package/{chunk-3YVCM5PE.js → chunk-U5Z7LFZF.js} +1 -1
  62. package/{chunk-DIQCV4FR.js → chunk-UITMHBVK.js} +1 -1
  63. package/{chunk-H5QLIP6S.js → chunk-UW4INMD2.js} +2 -2
  64. package/{chunk-5SLTA66C.js → chunk-V4KZGLOI.js} +30 -30
  65. package/{chunk-AV4Z57LV.js → chunk-VRJUIUIY.js} +2 -2
  66. package/{chunk-5XCW6RQG.js → chunk-VRZIH5JO.js} +1 -1
  67. package/{chunk-2JYSSXLY.js → chunk-VULELK4T.js} +2 -2
  68. package/{chunk-VFN256RI.js → chunk-WL3UOGYO.js} +25 -0
  69. package/{chunk-PJASTA2U.js → chunk-Y7LNKP32.js} +3 -3
  70. package/{chunk-OZKJBDG4.js → chunk-YBV6QJKM.js} +14 -8
  71. package/{codingSkills-BYQI6EPT.js → codingSkills-BCQXRZOI.js} +3 -4
  72. package/{createAgentAutomationAction-5OZIWOK4.js → createAgentAutomationAction-UJLNFFFC.js} +17 -17
  73. package/{createDialogAction-334CHPJF.js → createDialogAction-TJCX6GUE.js} +20 -21
  74. package/{createPageAction-LXY22WTA.js → createPageAction-N3IYABHV.js} +18 -19
  75. package/{dbSlice-FWF5F4L7.js → dbSlice-D5CNGWPD.js} +5 -5
  76. package/{deleteFile-NPZ64DFN.js → deleteFile-44TUM34Y.js} +3 -3
  77. package/{dialogCommands-4MGUHAJI.js → dialogCommands-35M6RBAC.js} +18 -18
  78. package/{dialogSlice-76W7S3C4.js → dialogSlice-KO7ADD7H.js} +16 -16
  79. package/{docCreateCommands-346W5443.js → docCreateCommands-VXHZWQ3P.js} +20 -21
  80. package/{docDeleteCommands-FKEEPUUS.js → docDeleteCommands-4WFAJR6A.js} +20 -21
  81. package/{docReadCommands-AACI4DVO.js → docReadCommands-OYREEFAR.js} +20 -21
  82. package/{docStore-N7QTPHAX.js → docStore-5BU76DFK.js} +18 -18
  83. package/{docUpdateCommands-WHWVZ2XE.js → docUpdateCommands-A7QERSME.js} +20 -21
  84. package/{getPricing-JNOCWYDH.js → getPricing-HAU62AFM.js} +3 -3
  85. package/{handleSendMessageAction-EAXEX5AX.js → handleSendMessageAction-OSGQJQ45.js} +16 -16
  86. package/index.js +58 -58
  87. package/{machineCommands-XNWLQVTN.js → machineCommands-J43U3TX5.js} +38 -39
  88. package/{machineWsRunDispatch-56HWQ67L.js → machineWsRunDispatch-Z2Z6STXZ.js} +38 -39
  89. package/{models-N4NXQ44D.js → models-4QF4BJVY.js} +2 -2
  90. package/package.json +2 -3
  91. package/{read-J7RVVCHH.js → read-RGNPI5H2.js} +3 -3
  92. package/{readDocTool-G2WBM4IH.js → readDocTool-6ESWKTXD.js} +1 -1
  93. package/{readlineWorkspace-AXTB7DJC.js → readlineWorkspace-YRPV6JPN.js} +485 -222
  94. package/{removeDialogAgentAction-RMPISD42.js → removeDialogAgentAction-JYT73FU2.js} +7 -7
  95. package/{runAgentClientLoop-PU3R3UXA.js → runAgentClientLoop-5YM5WMAY.js} +32 -33
  96. package/{setDialogExtraReferencesAction-7BUTHDAL.js → setDialogExtraReferencesAction-D564LMYQ.js} +6 -6
  97. package/{setPrimaryDialogAgentAction-WCYIBGZ4.js → setPrimaryDialogAgentAction-ACY3BLYA.js} +7 -7
  98. package/{settingSlice-7NN2MI6Y.js → settingSlice-MKI3MNZJ.js} +6 -6
  99. package/{skillDiscovery-COX56OBO.js → skillDiscovery-GPUDHDTZ.js} +1 -2
  100. package/{spaceCommands-JYI3X4N2.js → spaceCommands-MY26V52L.js} +17 -17
  101. package/{spaceSlice-ERZ3RGWC.js → spaceSlice-JUIXC365.js} +17 -17
  102. package/{streamAgentChatTurn-2IH4MTQC.js → streamAgentChatTurn-XV5X5TNQ.js} +36 -37
  103. package/{switchDialogAgentAction-WGMMQHDI.js → switchDialogAgentAction-CJ5H6SAR.js} +5 -5
  104. package/{tableCommands-P2TXJ3CF.js → tableCommands-R6WFRDYF.js} +1 -1
  105. package/{tools-DJUTQEMP.js → tools-MIMELA2Y.js} +27 -28
  106. package/{tuiSummaryLlmCaller-U4EGD2SX.js → tuiSummaryLlmCaller-XJ5BKNNS.js} +12 -12
  107. package/{updateDialogTitleAction-OVOPGTC3.js → updateDialogTitleAction-EIZUSWHR.js} +17 -17
  108. package/chunk-AETZ7AD6.js +0 -274
  109. package/chunk-EUG45QJR.js +0 -6104
  110. package/chunk-OFZPJ3NT.js +0 -114
@@ -4,7 +4,7 @@ import {
4
4
  refreshAntigravityOAuthToken,
5
5
  refreshOpenAiCodexToken,
6
6
  xaiRefresh
7
- } from "./chunk-3YVCM5PE.js";
7
+ } from "./chunk-U5Z7LFZF.js";
8
8
  import {
9
9
  defaultLoopbackRequest
10
10
  } from "./chunk-EADNWBAZ.js";
@@ -49,14 +49,14 @@ import {
49
49
  } from "./chunk-WHVQA7PJ.js";
50
50
  import {
51
51
  inferCaptureIntent
52
- } from "./chunk-RO2IUWZE.js";
52
+ } from "./chunk-4NN3EK7H.js";
53
53
  import {
54
54
  buildCliPrompt
55
55
  } from "./chunk-ATNTHIZI.js";
56
56
  import {
57
57
  inlineImageUrlsForCustomProvider,
58
58
  prepareTools
59
- } from "./chunk-H5QLIP6S.js";
59
+ } from "./chunk-UW4INMD2.js";
60
60
  import {
61
61
  getServerProviderSecret
62
62
  } from "./chunk-HS7MLR74.js";
@@ -65,7 +65,7 @@ import {
65
65
  isAntigravityOAuthAgent,
66
66
  readAntigravityProjectId,
67
67
  resolveAntigravityCloudCodeBaseUrl
68
- } from "./chunk-4ZL2KBI7.js";
68
+ } from "./chunk-757BGY6Y.js";
69
69
  import {
70
70
  deleteMemoryFunctionSchema,
71
71
  readXPostFunc,
@@ -75,7 +75,7 @@ import {
75
75
  rememberMemoryFunctionSchema,
76
76
  resolveAgentRequiredPackIds,
77
77
  setTodoListFunc
78
- } from "./chunk-5SLTA66C.js";
78
+ } from "./chunk-V4KZGLOI.js";
79
79
  import {
80
80
  fetchWithTransientRetry,
81
81
  isTransientFetchError
@@ -98,13 +98,13 @@ import {
98
98
  prepareTokenUsageData,
99
99
  resolveBuiltinPlatformAgentConfig,
100
100
  runKeyed
101
- } from "./chunk-PGKZ2KGE.js";
101
+ } from "./chunk-BJLYCOZK.js";
102
102
  import {
103
103
  BUILTIN_TITLE_LLM_CONFIG
104
104
  } from "./chunk-EVBFYPDC.js";
105
105
  import {
106
106
  fetchServerSyncedCredential
107
- } from "./chunk-KOZ2G3ZG.js";
107
+ } from "./chunk-U2A47SVI.js";
108
108
  import {
109
109
  require_date_fns
110
110
  } from "./chunk-M76ECQRD.js";
@@ -120,7 +120,7 @@ import {
120
120
  applySystemBuiltinSkillFilter,
121
121
  expandEnabledPacks,
122
122
  resolveEffectiveEnabledPacks
123
- } from "./chunk-LGUQHYAL.js";
123
+ } from "./chunk-O5FLGN2L.js";
124
124
  import {
125
125
  aggregateResponsesStream,
126
126
  buildLoadSkillExecutor,
@@ -131,6 +131,7 @@ import {
131
131
  codexStreamFailureStatus,
132
132
  createHybridRecordStore,
133
133
  createLocalWorkspaceToolExecutors,
134
+ evaluateFileWritePolicy,
134
135
  executeLocalToolWithPolicy,
135
136
  executeOpenAiCompatibleChatCompletion,
136
137
  filterRetainedLedgerRecords,
@@ -143,7 +144,7 @@ import {
143
144
  parseSyncServersEnv,
144
145
  resolveOpenAiCompatibleProviderConfig,
145
146
  summarizeToolArguments
146
- } from "./chunk-QTH72J3N.js";
147
+ } from "./chunk-6BGAQ3KR.js";
147
148
  import {
148
149
  buildPlatformChatCompletionRequest,
149
150
  canUsePlatformChatProvider,
@@ -155,18 +156,18 @@ import {
155
156
  resolvePlatformChatProviderConfig,
156
157
  shouldUsePlatformChatProvider,
157
158
  streamSseDataValues
158
- } from "./chunk-XB7ACJFH.js";
159
+ } from "./chunk-INXBNYCG.js";
159
160
  import {
160
161
  resolveAgentRuntimeConfigFromRecord,
161
162
  resolveHistoricalToolContentCap
162
- } from "./chunk-VKSBVRGP.js";
163
+ } from "./chunk-CVT7L2WZ.js";
163
164
  import {
164
165
  convertMessagesToResponsesInput,
165
166
  toResponsesTools
166
167
  } from "./chunk-6BYAXNH5.js";
167
168
  import {
168
169
  resolvePlatformAuthToken
169
- } from "./chunk-JBL24PK6.js";
170
+ } from "./chunk-SP3DPVBH.js";
170
171
  import {
171
172
  buildNoloWorkspaceOpenAiTools,
172
173
  parseNoloWorkspaceToolArguments,
@@ -183,7 +184,7 @@ import {
183
184
  } from "./chunk-2MBTWINN.js";
184
185
  import {
185
186
  clipCompactText
186
- } from "./chunk-HR5XDXYM.js";
187
+ } from "./chunk-H4RYESI6.js";
187
188
  import {
188
189
  createFileCredentialBroker,
189
190
  resolveCurrentRunRuntimeToolPolicy,
@@ -198,7 +199,7 @@ import {
198
199
  } from "./chunk-FD36SCCD.js";
199
200
  import {
200
201
  isAdaptiveThinkingModelId
201
- } from "./chunk-BO3YFOZR.js";
202
+ } from "./chunk-QDHZCAH3.js";
202
203
  import {
203
204
  compactWhitespace
204
205
  } from "./chunk-DWLEOOGR.js";
@@ -229,7 +230,7 @@ import {
229
230
  } from "./chunk-QSJ3HFEF.js";
230
231
  import {
231
232
  isSystemBuiltinTrustedAgentKey
232
- } from "./chunk-2JYSSXLY.js";
233
+ } from "./chunk-VULELK4T.js";
233
234
  import {
234
235
  isRecord
235
236
  } from "./chunk-KUG52IAP.js";
@@ -531,6 +532,11 @@ var STRINGS = {
531
532
  en: "Draft cleared.",
532
533
  zh: "\u8F93\u5165\u8349\u7A3F\u5DF2\u6E05\u7A7A\u3002"
533
534
  },
535
+ // 空草稿按 Backspace 逐个撤销附件(composer 附件条)。
536
+ attachmentRemovedHint: {
537
+ en: "Removed attachment {0}, {1} remaining",
538
+ zh: "\u5DF2\u79FB\u9664\u9644\u4EF6 {0}\uFF0C\u5269\u4F59 {1} \u5F20"
539
+ },
534
540
  historyNoToken: {
535
541
  en: "History requires an auth token. Run `nolo login` or set AUTH_TOKEN.",
536
542
  zh: "\u67E5\u770B\u5386\u53F2\u5BF9\u8BDD\u9700\u8981\u767B\u5F55\u51ED\u8BC1\u3002\u8BF7\u8FD0\u884C `nolo login` \u6216\u8BBE\u7F6E AUTH_TOKEN\u3002"
@@ -598,6 +604,10 @@ var STRINGS = {
598
604
  // --- Tool trace copy ------------------------------------------------------
599
605
  // The compact trace shows only status, never timing or output size: a line
600
606
  // count told the user nothing actionable and the ms figure read as noise.
607
+ thinkingTraceLine: {
608
+ en: "\u273B Thought for {0}",
609
+ zh: "\u273B \u601D\u8003 {0}"
610
+ },
601
611
  toolNeedsAction: {
602
612
  en: "needs action",
603
613
  zh: "\u5F85\u786E\u8BA4"
@@ -639,6 +649,12 @@ var STRINGS = {
639
649
  en: "Log tail:",
640
650
  zh: "\u65E5\u5FD7\u5C3E\u90E8\uFF1A"
641
651
  },
652
+ // Normal-mode safe projection: the raw errorMessage/logLines of a failed run
653
+ // stay in pro/verbose; normal mode names the failure and points at pro.
654
+ runDiagnosticsHidden: {
655
+ en: "run failed \u2014 full diagnostics in pro mode",
656
+ zh: "\u8FD0\u884C\u5931\u8D25\u2014\u2014\u5B8C\u6574\u8BCA\u65AD\u89C1 pro \u6A21\u5F0F"
657
+ },
642
658
  runsListLabel: {
643
659
  en: "Runs ({0})",
644
660
  zh: "\u8FD0\u884C ({0})"
@@ -833,9 +849,8 @@ var STRINGS = {
833
849
  " /new Clear screen and start a fresh dialog",
834
850
  " /compact Compact current dialog and fork a new one",
835
851
  " /context Show workspace context and next actions",
852
+ " /cd <path> Change the working directory (takes effect on the next turn)",
836
853
  " /runtime <mode> Use auto, local, or server runtime",
837
- " /tools <mode> Control tool trace: hide, compact, verbose",
838
- " /thinking <mode> Show or hide live model reasoning",
839
854
  " /switch Pick an agent interactively (\u2191\u2193, Enter)",
840
855
  " /switch list List agents as text",
841
856
  " /switch <name> Switch directly by name, alias, or key (alias: /agent)",
@@ -845,7 +860,7 @@ var STRINGS = {
845
860
  " /lang <zh|en> Switch interface language",
846
861
  ' /copy [all] Copy the last reply (or the full conversation with "all") to the clipboard',
847
862
  " /mouse <on|off> Toggle mouse mode (off = drag to select text)",
848
- " /auto <on|off> Toggle permission auto-approve (skip destructive-shell & external-file confirms)",
863
+ " /auto <on|off> Toggle permission auto-approve (skip destructive-shell, external-file & file-write confirms)",
849
864
  " /math <on|off> Toggle math formula rendering (Unicode transcription)",
850
865
  " /altscreen <on|off> Toggle the terminal alternate screen (default on; off shares shell scrollback)",
851
866
  " Shift+drag Select text natively even while mouse mode is on (terminal bypass)",
@@ -872,9 +887,8 @@ var STRINGS = {
872
887
  " /new \u6E05\u5C4F\u5E76\u5F00\u59CB\u65B0\u5BF9\u8BDD",
873
888
  " /compact \u538B\u7F29\u5F53\u524D\u5BF9\u8BDD\u5E76\u5206\u53C9\u51FA\u65B0\u5BF9\u8BDD",
874
889
  " /context \u67E5\u770B\u5DE5\u4F5C\u533A\u4E0A\u4E0B\u6587\u4E0E\u540E\u7EED\u64CD\u4F5C",
890
+ " /cd <path> \u5207\u6362\u5DE5\u4F5C\u76EE\u5F55\uFF08\u4E0B\u4E2A turn \u751F\u6548\uFF09",
875
891
  " /runtime <mode> \u5207\u6362 runtime\uFF1Aauto\u3001local\u3001server",
876
- " /tools <mode> \u5DE5\u5177\u8F68\u8FF9\u663E\u793A\uFF1Ahide\u3001compact\u3001verbose",
877
- " /thinking <mode> \u663E\u793A\u6216\u9690\u85CF\u6A21\u578B\u7684\u5B9E\u65F6\u601D\u8003\u8FC7\u7A0B",
878
892
  " /switch \u4EA4\u4E92\u5F0F\u9009\u62E9 agent\uFF08\u2191\u2193 \u79FB\u52A8\uFF0CEnter \u786E\u8BA4\uFF09",
879
893
  " /switch list \u4EE5\u6587\u672C\u5217\u51FA\u5168\u90E8 agent",
880
894
  " /switch <name> \u6309\u540D\u79F0\u3001\u522B\u540D\u6216 key \u76F4\u63A5\u5207\u6362\uFF08\u522B\u540D\uFF1A/agent\uFF09",
@@ -884,7 +898,7 @@ var STRINGS = {
884
898
  " /lang <zh|en> \u5207\u6362\u754C\u9762\u8BED\u8A00",
885
899
  " /copy [all] \u590D\u5236\u6700\u540E\u4E00\u6761\u56DE\u590D\u5230\u526A\u8D34\u677F\uFF08\u52A0 all \u590D\u5236\u5B8C\u6574\u5BF9\u8BDD\uFF09",
886
900
  " /mouse <on|off> \u5207\u6362\u9F20\u6807\u6A21\u5F0F\uFF08off \u540E\u53EF\u76F4\u63A5\u62D6\u9009\u6587\u672C\uFF09",
887
- " /auto <on|off> \u5207\u6362\u6743\u9650\u81EA\u52A8\u5316\uFF08\u81EA\u52A8\u653E\u884C\u7834\u574F\u6027 shell \u4E0E\u5916\u90E8\u6587\u4EF6\u786E\u8BA4\uFF09",
901
+ " /auto <on|off> \u5207\u6362\u6743\u9650\u81EA\u52A8\u5316\uFF08\u81EA\u52A8\u653E\u884C\u7834\u574F\u6027 shell\u3001\u5916\u90E8\u6587\u4EF6\u4E0E\u5199\u6587\u4EF6\u786E\u8BA4\uFF09",
888
902
  " /math <on|off> \u5207\u6362\u6570\u5B66\u516C\u5F0F\u6E32\u67D3\uFF08Unicode \u8F6C\u5199\uFF09",
889
903
  " /altscreen <on|off> \u5207\u6362\u7EC8\u7AEF\u5907\u7528\u5C4F\uFF08\u9ED8\u8BA4 on\uFF1Boff \u6539\u4E3A\u4E0E shell \u5171\u7528\u56DE\u6EDA\uFF09",
890
904
  " Shift+\u62D6\u62FD \u9F20\u6807\u6A21\u5F0F\u5F00\u542F\u65F6\u4E5F\u53EF\u539F\u751F\u9009\u4E2D\u6587\u672C\uFF08\u7EC8\u7AEF\u7ED5\u8FC7\u4FEE\u9970\u952E\uFF09",
@@ -915,21 +929,10 @@ var STRINGS = {
915
929
  },
916
930
  runtimeUsage: { en: "Usage: /runtime <auto|local|server>", zh: "\u7528\u6CD5\uFF1A/runtime <auto|local|server>" },
917
931
  runtimeSet: { en: "Runtime: {0}", zh: "\u8FD0\u884C\u6A21\u5F0F\uFF1A{0}" },
918
- toolsCurrent: {
919
- en: "Tool display: {0} (normal | pro | hide | verbose)",
920
- zh: "\u5DE5\u5177\u663E\u793A\uFF1A{0}\uFF08\u666E\u901A normal | \u4E13\u4E1A pro | hide | verbose\uFF09"
932
+ displayFixedHint: {
933
+ en: "The TUI now ships a single built-in display default, no switching needed. Power users can fall back to environment variables (applied on restart): NOLO_CLI_TOOLS=normal|pro|verbose|hide controls the tool trace, NOLO_CLI_THINKING=show|hide controls reasoning visibility.",
934
+ zh: "TUI \u73B0\u5728\u53EA\u6709\u4E00\u5957\u5185\u7F6E\u9ED8\u8BA4\u663E\u793A\uFF0C\u65E0\u9700\u5207\u6362\u3002\u4E13\u4E1A\u7EC6\u8282\u53EF\u7528\u73AF\u5883\u53D8\u91CF\u515C\u5E95\uFF08\u91CD\u542F\u751F\u6548\uFF09\uFF1ANOLO_CLI_TOOLS=normal|pro|verbose|hide \u63A7\u5236\u5DE5\u5177\u8F68\u8FF9\uFF0CNOLO_CLI_THINKING=show|hide \u63A7\u5236\u601D\u8003\u8FC7\u7A0B\u3002"
921
935
  },
922
- toolsUsage: { en: "Usage: /tools <normal|pro|hide|verbose>", zh: "\u7528\u6CD5\uFF1A/tools <normal|pro|hide|verbose>" },
923
- toolsSet: { en: "Tool display: {0}", zh: "\u5DE5\u5177\u663E\u793A\uFF1A{0}" },
924
- thinkingCurrent: {
925
- en: "Thinking display: {0} (show | hide)",
926
- zh: "\u601D\u8003\u663E\u793A\uFF1A{0}\uFF08show | hide\uFF09"
927
- },
928
- thinkingUsage: {
929
- en: "Usage: /thinking <show|hide>",
930
- zh: "\u7528\u6CD5\uFF1A/thinking <show|hide>"
931
- },
932
- thinkingSet: { en: "Thinking display: {0}", zh: "\u601D\u8003\u663E\u793A\uFF1A{0}" },
933
936
  tasksRunning: { en: "Running processes ({0}):", zh: "\u8FD0\u884C\u4E2D\u7684\u8FDB\u7A0B\uFF08{0}\uFF09\uFF1A" },
934
937
  tasksStopped: { en: "Stopped/exited ({0}):", zh: "\u5DF2\u505C\u6B62/\u5DF2\u9000\u51FA\uFF08{0}\uFF09\uFF1A" },
935
938
  tasksNone: { en: "No processes.", zh: "\u6CA1\u6709\u8FD0\u884C\u4E2D\u7684\u8FDB\u7A0B\u3002" },
@@ -1002,14 +1005,18 @@ Use /switch, /switch list, /switch minimax-m3, or a full agent key.`,
1002
1005
  },
1003
1006
  themeSwitched: { en: "Switched to theme: {0}", zh: "\u5DF2\u5207\u6362\u5230\u4E3B\u9898\uFF1A{0}" },
1004
1007
  themeUnknown: { en: "Unknown theme: {0}. Available themes: {1}", zh: "\u672A\u77E5\u4E3B\u9898\uFF1A{0}\u3002\u53EF\u7528\u4E3B\u9898\uFF1A{1}" },
1005
- densityCurrent: {
1006
- en: "Current density: {0}\nUsage: /density <cozy|spacious>",
1007
- zh: "\u5F53\u524D\u5BC6\u5EA6\uFF1A{0}\n\u7528\u6CD5\uFF1A/density <cozy|spacious>"
1008
- },
1009
- densitySwitched: { en: "Switched to layout density: {0}", zh: "\u5DF2\u5207\u6362\u5230\u5E03\u5C40\u5BC6\u5EA6\uFF1A{0}" },
1010
- densityUnknown: {
1011
- en: "Unknown density: {0}. Use 'cozy' or 'spacious'.",
1012
- zh: "\u672A\u77E5\u5BC6\u5EA6\uFF1A{0}\u3002\u8BF7\u4F7F\u7528 cozy \u6216 spacious\u3002"
1008
+ cdUsage: {
1009
+ en: "Usage: /cd <path> (relative, absolute, ~, or -; takes effect on the next turn)",
1010
+ zh: "\u7528\u6CD5\uFF1A/cd <path>\uFF08\u76F8\u5BF9\u3001\u7EDD\u5BF9\u3001~ \u6216 - \u8DEF\u5F84\uFF1B\u4E0B\u4E2A turn \u751F\u6548\uFF09"
1011
+ },
1012
+ cdCurrent: { en: "Current directory: {0}", zh: "\u5F53\u524D\u76EE\u5F55\uFF1A{0}" },
1013
+ cdSwitched: { en: "Working directory: {0}", zh: "\u5DE5\u4F5C\u76EE\u5F55\uFF1A{0}" },
1014
+ cdNotFound: { en: "Directory not found: {0}", zh: "\u76EE\u5F55\u4E0D\u5B58\u5728\uFF1A{0}" },
1015
+ cdNotDir: { en: "Not a directory: {0}", zh: "\u4E0D\u662F\u76EE\u5F55\uFF1A{0}" },
1016
+ cdNoPrevious: { en: "No previous directory.", zh: "\u6CA1\u6709\u4E0A\u4E00\u4E2A\u76EE\u5F55\u3002" },
1017
+ cdSwitchedMessage: {
1018
+ en: "Working directory changed: {0} \u2192 {1}. Subsequent tool execution and file operations use the new directory.",
1019
+ zh: "\u5DE5\u4F5C\u76EE\u5F55\u5DF2\u5207\u6362\uFF1A{0} \u2192 {1}\u3002\u540E\u7EED\u5DE5\u5177\u6267\u884C\u4E0E\u6587\u4EF6\u64CD\u4F5C\u4EE5\u65B0\u76EE\u5F55\u4E3A\u51C6\u3002"
1013
1020
  },
1014
1021
  docAttachUsage: { en: "Usage: /doc attach <doc>", zh: "\u7528\u6CD5\uFF1A/doc attach <doc>" },
1015
1022
  docList: { en: "Attached docs: {0}", zh: "\u5DF2\u6302\u8F7D\u6587\u6863\uFF1A{0}" },
@@ -1069,6 +1076,7 @@ Use /switch, /switch list, /switch minimax-m3, or a full agent key.`,
1069
1076
  en: "Press Enter to run it now. Follow any prompts below, or Ctrl+C to cancel.",
1070
1077
  zh: "\u6309 Enter \u7ACB\u5373\u6267\u884C\uFF0C\u6309\u4E0B\u65B9\u63D0\u793A\u64CD\u4F5C\uFF0C\u6216\u6309 Ctrl+C \u53D6\u6D88\u3002"
1071
1078
  },
1079
+ actionGateConfirmHint: { en: "Enter=approve, n=cancel (or type y/yes).", zh: "Enter=\u6279\u51C6\uFF0Cn=\u53D6\u6D88\uFF08\u4E5F\u53EF\u8F93\u5165 y/yes\uFF09\u3002" },
1072
1080
  actionGateInteractiveTitle: {
1073
1081
  en: "This command requires an interactive terminal.",
1074
1082
  zh: "\u8BE5\u547D\u4EE4\u9700\u8981\u4EA4\u4E92\u5F0F\u7EC8\u7AEF"
@@ -7780,6 +7788,7 @@ async function streamCursorChat(messages, options) {
7780
7788
  const execCtx = {
7781
7789
  tools: buildMcpToolDefinitions(options.tools),
7782
7790
  executeTool: options.executeTool,
7791
+ ...options.onActionGate ? { onActionGate: options.onActionGate } : {},
7783
7792
  ...options.searchWorkspace ? { searchWorkspace: options.searchWorkspace } : {},
7784
7793
  ...options.listWorkspaceEntries ? { listWorkspaceEntries: options.listWorkspaceEntries } : {},
7785
7794
  toolCalls,
@@ -8323,6 +8332,23 @@ function decodeMcpArgValue(value) {
8323
8332
  }
8324
8333
  }
8325
8334
  }
8335
+ async function executeCursorTool(ctx, call) {
8336
+ if ((call.name === "writeFile" || call.name === "editFile") && ctx.onActionGate) {
8337
+ let path = "the requested file";
8338
+ try {
8339
+ const parsed = JSON.parse(call.arguments);
8340
+ if (typeof parsed.path === "string" && parsed.path.trim()) path = parsed.path.trim();
8341
+ } catch {
8342
+ }
8343
+ const policy = evaluateFileWritePolicy({ tool: call.name, path, sessionApproved: false });
8344
+ if (policy.permissionDecision !== "ask") return ctx.executeTool ? ctx.executeTool(call) : { content: "tool execution unavailable" };
8345
+ const gate = { ...policy.permissionRequest, kind: "confirm", toolName: call.name, toolCallId: call.id };
8346
+ const result = await ctx.onActionGate(gate);
8347
+ if (result?.metadata?.actionGateResult?.status !== "completed") return result ?? { content: `${call.name} cancelled: file write confirmation was not approved.`, metadata: { cancelled: true, actionGateResult: { gateId: gate.id, status: "cancelled" } } };
8348
+ ctx.onActionGate = void 0;
8349
+ }
8350
+ return ctx.executeTool ? ctx.executeTool(call) : { content: "tool execution unavailable" };
8351
+ }
8326
8352
  async function handleExecServerMessage(execMsg, h2Request, ctx) {
8327
8353
  const execCase = execMsg.message?.case;
8328
8354
  if (execCase === "requestContextArgs") {
@@ -8363,7 +8389,7 @@ async function handleExecServerMessage(execMsg, h2Request, ctx) {
8363
8389
  });
8364
8390
  const startedAt = Date.now();
8365
8391
  try {
8366
- const toolResult = await ctx.executeTool({
8392
+ const toolResult = await executeCursorTool(ctx, {
8367
8393
  id: args.toolCallId,
8368
8394
  name: "readFile",
8369
8395
  arguments: toolCallArgs
@@ -8433,7 +8459,7 @@ async function handleExecServerMessage(execMsg, h2Request, ctx) {
8433
8459
  });
8434
8460
  const startedAt = Date.now();
8435
8461
  try {
8436
- const toolResult = await ctx.executeTool({
8462
+ const toolResult = await executeCursorTool(ctx, {
8437
8463
  id: args.toolCallId,
8438
8464
  name: "execShell",
8439
8465
  arguments: toolCallArgs
@@ -8591,7 +8617,7 @@ async function handleExecServerMessage(execMsg, h2Request, ctx) {
8591
8617
  });
8592
8618
  const startedAt = Date.now();
8593
8619
  try {
8594
- const toolResult = await ctx.executeTool({
8620
+ const toolResult = await executeCursorTool(ctx, {
8595
8621
  id: args.toolCallId,
8596
8622
  name: "writeFile",
8597
8623
  arguments: toolCallArgs
@@ -8653,7 +8679,7 @@ async function handleExecServerMessage(execMsg, h2Request, ctx) {
8653
8679
  });
8654
8680
  const startedAt = Date.now();
8655
8681
  try {
8656
- const toolResult = await ctx.executeTool({
8682
+ const toolResult = await executeCursorTool(ctx, {
8657
8683
  id: args.toolCallId,
8658
8684
  name: "deleteFile",
8659
8685
  arguments: toolCallArgs
@@ -8772,7 +8798,7 @@ async function handleExecServerMessage(execMsg, h2Request, ctx) {
8772
8798
  });
8773
8799
  const startedAt = Date.now();
8774
8800
  try {
8775
- const toolResult = await ctx.executeTool({
8801
+ const toolResult = await executeCursorTool(ctx, {
8776
8802
  id: args.toolCallId,
8777
8803
  name: toolName,
8778
8804
  arguments: toolCallArgs
@@ -8881,6 +8907,7 @@ function createCursorProvider(config) {
8881
8907
  ...options?.onTextDelta ? { onTextDelta: options.onTextDelta } : {},
8882
8908
  ...options?.onReasoningDelta ? { onReasoningDelta: options.onReasoningDelta } : {},
8883
8909
  ...options?.onToolEvent ? { onToolEvent: options.onToolEvent } : {},
8910
+ ...options?.onActionGate ? { onActionGate: options.onActionGate } : {},
8884
8911
  ...typeof options?.toolEventRound === "number" ? { toolEventRound: options.toolEventRound } : {}
8885
8912
  });
8886
8913
  }
@@ -11390,9 +11417,10 @@ async function generateLocalDialogTitle(input) {
11390
11417
  const content = m.content.length > 500 ? `${m.content.slice(0, 500)}...` : m.content;
11391
11418
  return { role: m.role, content };
11392
11419
  });
11393
- while (visibleMessages.length > 1 && JSON.stringify(visibleMessages).length > 4e3) {
11420
+ while (visibleMessages.length > 1 && transcriptLength(visibleMessages) > 4e3) {
11394
11421
  visibleMessages.shift();
11395
11422
  }
11423
+ const compactTranscript = buildTitleTranscript(visibleMessages);
11396
11424
  if (visibleMessages.length === 0) {
11397
11425
  return { title: fallbackTitle, source: "fallback" };
11398
11426
  }
@@ -11408,11 +11436,11 @@ async function generateLocalDialogTitle(input) {
11408
11436
  messages: [
11409
11437
  {
11410
11438
  role: "system",
11411
- content: BUILTIN_TITLE_LLM_CONFIG.prompt
11439
+ content: buildTitleSystemPrompt(input.existingTitle)
11412
11440
  },
11413
11441
  {
11414
11442
  role: "user",
11415
- content: JSON.stringify(visibleMessages)
11443
+ content: compactTranscript
11416
11444
  }
11417
11445
  ],
11418
11446
  stream: false
@@ -11425,7 +11453,9 @@ async function generateLocalDialogTitle(input) {
11425
11453
  }
11426
11454
  const patchedBody = {
11427
11455
  ...parsedBody,
11428
- reasoning_effort: "low",
11456
+ // response_format 与 reasoning_effort 同发会被 RunInfra 400 拒绝,
11457
+ // 标题路径统一走 json mode(跳过 thinking,实测 completion 个位数 tokens)。
11458
+ response_format: { type: "json_object" },
11429
11459
  max_tokens: 512
11430
11460
  };
11431
11461
  const res = await input.fetchImpl(request.url, {
@@ -11438,7 +11468,9 @@ async function generateLocalDialogTitle(input) {
11438
11468
  const data = safeParseJson(raw);
11439
11469
  if (data) {
11440
11470
  const parsed = input.parseResponse({ providerConfig, data });
11441
- const generated = normalizeDialogTitle(parsed.content);
11471
+ const generated = normalizeDialogTitle(
11472
+ extractTitleFromLlmContent(parsed.content)
11473
+ );
11442
11474
  if (generated) {
11443
11475
  return { title: generated, source: "llm" };
11444
11476
  }
@@ -11484,11 +11516,12 @@ async function generateLocalDialogTitle(input) {
11484
11516
  body: JSON.stringify({
11485
11517
  model: directConfig.model || input.agentConfig?.model || BUILTIN_TITLE_LLM_CONFIG.model,
11486
11518
  messages: [
11487
- { role: "system", content: BUILTIN_TITLE_LLM_CONFIG.prompt },
11488
- { role: "user", content: JSON.stringify(visibleMessages) }
11519
+ { role: "system", content: buildTitleSystemPrompt(input.existingTitle) },
11520
+ { role: "user", content: compactTranscript }
11489
11521
  ],
11490
- // reasoning_effort/max_tokens 优化标题延迟与消耗;注意部分严格 OpenAI 兼容服务端(如某些 vLLM 部署)若拒绝未知参数会降级到 fallback。
11491
- reasoning_effort: "low",
11522
+ // 标题路径统一 json mode(跳过 thinking);response_format 与
11523
+ // reasoning_effort 同发会被 RunInfra 400 拒绝,故不发 reasoning_effort。
11524
+ response_format: { type: "json_object" },
11492
11525
  max_tokens: 512,
11493
11526
  stream: false
11494
11527
  }),
@@ -11498,7 +11531,9 @@ async function generateLocalDialogTitle(input) {
11498
11531
  const raw = await res.text().catch(() => "");
11499
11532
  const data = safeParseJson(raw);
11500
11533
  const rawContent = data?.choices?.[0]?.message?.content ?? "";
11501
- const generated = normalizeDialogTitle(rawContent);
11534
+ const generated = normalizeDialogTitle(
11535
+ extractTitleFromLlmContent(rawContent)
11536
+ );
11502
11537
  if (generated) {
11503
11538
  return { title: generated, source: "llm" };
11504
11539
  }
@@ -11509,6 +11544,33 @@ async function generateLocalDialogTitle(input) {
11509
11544
  }
11510
11545
  return { title: fallbackTitle, source: "fallback" };
11511
11546
  }
11547
+ function buildTitleTranscript(messages) {
11548
+ return messages.map((message) => `${message.role === "user" ? "User" : "Assistant"}: ${message.content}`).join("\n");
11549
+ }
11550
+ function transcriptLength(messages) {
11551
+ return buildTitleTranscript(messages).length;
11552
+ }
11553
+ function buildTitleSystemPrompt(existingTitle) {
11554
+ const title = existingTitle?.trim();
11555
+ const base = `${BUILTIN_TITLE_LLM_CONFIG.prompt}
11556
+ \u8F93\u51FA\u683C\u5F0F\uFF1A\u8FD4\u56DE JSON \u5BF9\u8C61 {"title": "<\u6807\u9898>"}\uFF0C\u9664\u6B64\u4E4B\u5916\u4E0D\u8981\u6709\u4EFB\u4F55\u5B57\u7B26\u3002`;
11557
+ return title ? `${base}
11558
+ \u5F53\u524D\u6807\u9898\uFF1A${title}\u3002\u5982\u679C\u5BF9\u8BDD\u4ECD\u5728\u8BA8\u8BBA\u540C\u4E00\u4E3B\u9898\uFF0C\u5FC5\u987B\u539F\u6837\u8F93\u51FA\u5F53\u524D\u6807\u9898\uFF0C\u4E0D\u8981\u6539\u5199\uFF1B\u53EA\u6709\u5F53\u5BF9\u8BDD\u660E\u786E\u8F6C\u5411\u4E86\u4E0D\u540C\u4E3B\u9898\u65F6\u624D\u751F\u6210\u65B0\u6807\u9898\u3002` : base;
11559
+ }
11560
+ function extractTitleFromLlmContent(raw) {
11561
+ if (raw.trim().startsWith("{")) {
11562
+ try {
11563
+ const parsed = JSON.parse(raw);
11564
+ if (typeof parsed?.title === "string" && parsed.title.trim()) {
11565
+ return parsed.title;
11566
+ }
11567
+ return "";
11568
+ } catch {
11569
+ return raw;
11570
+ }
11571
+ }
11572
+ return raw;
11573
+ }
11512
11574
  function extractText(content) {
11513
11575
  if (typeof content === "string") return content;
11514
11576
  if (Array.isArray(content)) {
@@ -11580,6 +11642,7 @@ function createLocalDialogTitleGenerator(deps, ctx) {
11580
11642
  return async (input) => {
11581
11643
  const result = await generateLocalDialogTitle({
11582
11644
  messages: input.messages,
11645
+ existingTitle: input.existingTitle,
11583
11646
  env: deps.env,
11584
11647
  fetchImpl: async (url, init) => fetchWithTransientRetry(
11585
11648
  deps.fetchImpl ?? fetch,
@@ -11730,7 +11793,11 @@ async function writeDialog(args) {
11730
11793
  if (needsTitleUpdate && args.titleGenerator) {
11731
11794
  const rawLastUserText = extractLastUserText(args.input.messages);
11732
11795
  const fallbackTitle = buildDialogFallbackTitleFromUserInput(rawLastUserText) || "Local agent run";
11733
- titlePromise = args.titleGenerator({ messages: args.input.messages, fallbackTitle }).catch(() => null);
11796
+ titlePromise = args.titleGenerator({
11797
+ messages: args.input.messages,
11798
+ fallbackTitle,
11799
+ existingTitle: existingTitle || void 0
11800
+ }).catch(() => null);
11734
11801
  }
11735
11802
  const plan = buildLocalDialogWritePlan({
11736
11803
  input: args.input,
@@ -3,13 +3,13 @@ import {
3
3
  } from "./chunk-DWLEOOGR.js";
4
4
  import {
5
5
  addContentAction
6
- } from "./chunk-4RXXP6WD.js";
6
+ } from "./chunk-FGEYVPPR.js";
7
7
  import {
8
8
  upload
9
- } from "./chunk-76UA7376.js";
9
+ } from "./chunk-AV6KQCM5.js";
10
10
  import {
11
11
  getRuntimeServerContext
12
- } from "./chunk-HHBXCRJS.js";
12
+ } from "./chunk-PYKV6FSC.js";
13
13
  import {
14
14
  API_ENDPOINTS
15
15
  } from "./chunk-LCBAMY2M.js";
@@ -6,10 +6,10 @@ import {
6
6
  } from "./chunk-AGGIDPCZ.js";
7
7
  import {
8
8
  getModelConfig
9
- } from "./chunk-BO3YFOZR.js";
9
+ } from "./chunk-QDHZCAH3.js";
10
10
  import {
11
11
  isPlatformHostedImageModel
12
- } from "./chunk-VFN256RI.js";
12
+ } from "./chunk-WL3UOGYO.js";
13
13
  import {
14
14
  asOptionalFiniteNumber
15
15
  } from "./chunk-WWC7I6TA.js";
@@ -33,13 +33,13 @@ import {
33
33
  resolvePlatformAuthToken,
34
34
  resolvePlatformServerUrl,
35
35
  resolveProviderTransportDecision
36
- } from "./chunk-JBL24PK6.js";
36
+ } from "./chunk-SP3DPVBH.js";
37
37
  import {
38
38
  clipCompactText
39
- } from "./chunk-HR5XDXYM.js";
39
+ } from "./chunk-H4RYESI6.js";
40
40
  import {
41
41
  NOLO_CLIENT_VERSION_HEADER
42
- } from "./chunk-VFN256RI.js";
42
+ } from "./chunk-WL3UOGYO.js";
43
43
  import {
44
44
  isRecord
45
45
  } from "./chunk-KUG52IAP.js";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  MODEL_LOOKUP_MAP
3
- } from "./chunk-BO3YFOZR.js";
3
+ } from "./chunk-QDHZCAH3.js";
4
4
  import {
5
5
  ALL_MODELS
6
- } from "./chunk-Y7TGWSUN.js";
6
+ } from "./chunk-56W233KG.js";
7
7
  import {
8
8
  PUBLIC_DEEPSEEK_V4_FLASH_AGENT_KEY
9
- } from "./chunk-2JYSSXLY.js";
9
+ } from "./chunk-VULELK4T.js";
10
10
 
11
11
  // packages/ai/llm/getModelContextWindow.ts
12
12
  var DEFAULT_CONTEXT_WINDOW = 256e3;
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  deleteDialog,
3
3
  toast
4
- } from "./chunk-PGKZ2KGE.js";
4
+ } from "./chunk-BJLYCOZK.js";
5
5
  import {
6
6
  deleteServerSyncedCredential
7
- } from "./chunk-KOZ2G3ZG.js";
7
+ } from "./chunk-U2A47SVI.js";
8
8
  import {
9
9
  require_date_fns
10
10
  } from "./chunk-M76ECQRD.js";
@@ -19,7 +19,7 @@ import {
19
19
  } from "./chunk-HNMXYYJR.js";
20
20
  import {
21
21
  isSystemAdmin
22
- } from "./chunk-X7S7OFUX.js";
22
+ } from "./chunk-3QJTD6DO.js";
23
23
  import {
24
24
  asRecordOrEmpty
25
25
  } from "./chunk-KX6YBIHG.js";
@@ -30,7 +30,7 @@ import {
30
30
  createSpaceKey,
31
31
  localSpaceAuthorityPatchStamp,
32
32
  normalizeSpaceId
33
- } from "./chunk-4RXXP6WD.js";
33
+ } from "./chunk-FGEYVPPR.js";
34
34
  import {
35
35
  patch,
36
36
  read,
@@ -43,7 +43,7 @@ import {
43
43
  uploadFileAction,
44
44
  upsertSSREntity,
45
45
  write
46
- } from "./chunk-76UA7376.js";
46
+ } from "./chunk-AV6KQCM5.js";
47
47
  import {
48
48
  DB_PREFIX,
49
49
  SEPARATOR,
@@ -72,7 +72,7 @@ import {
72
72
  } from "./chunk-I42VC5KR.js";
73
73
  import {
74
74
  readAction
75
- } from "./chunk-2JYSSXLY.js";
75
+ } from "./chunk-VULELK4T.js";
76
76
  import {
77
77
  extractUserId
78
78
  } from "./chunk-BJIRLHJR.js";
@@ -91,13 +91,13 @@ import {
91
91
  scheduleWriteReplication,
92
92
  selectIdentityUserId,
93
93
  selectRuntimeSnapshot
94
- } from "./chunk-HHBXCRJS.js";
94
+ } from "./chunk-PYKV6FSC.js";
95
95
  import {
96
96
  createClientLogger,
97
97
  fetchFromServer,
98
98
  getAllServers,
99
99
  logger
100
- } from "./chunk-L3JWI7WX.js";
100
+ } from "./chunk-QOKAKDPE.js";
101
101
  import {
102
102
  buildTombstoneRecord,
103
103
  isTombstoneRecord
@@ -4659,11 +4659,11 @@ var ENTITY_DELETE_STRATEGIES = {
4659
4659
  await dispatch(deleteTable({ dbKey: key })).unwrap();
4660
4660
  },
4661
4661
  file: async (key, { thunkAPI }) => {
4662
- const { deleteFileAction } = await import("./deleteFile-NPZ64DFN.js");
4662
+ const { deleteFileAction } = await import("./deleteFile-44TUM34Y.js");
4663
4663
  await deleteFileAction(key, thunkAPI);
4664
4664
  },
4665
4665
  image: async (key, { thunkAPI }) => {
4666
- const { deleteFileAction } = await import("./deleteFile-NPZ64DFN.js");
4666
+ const { deleteFileAction } = await import("./deleteFile-44TUM34Y.js");
4667
4667
  await deleteFileAction(key, thunkAPI);
4668
4668
  },
4669
4669
  agent: async (key, { dispatch, userId, sourceServerOrigin }) => {
@@ -7053,7 +7053,7 @@ var fetchSpaceAction = async (input, thunkAPI) => {
7053
7053
  const spaceKey = createSpaceKey.space(spaceId);
7054
7054
  const readSpace = async (dbKey) => {
7055
7055
  try {
7056
- const { read: read2, readAndWait: readAndWait2 } = await import("./dbSlice-FWF5F4L7.js");
7056
+ const { read: read2, readAndWait: readAndWait2 } = await import("./dbSlice-D5CNGWPD.js");
7057
7057
  if (fresh) {
7058
7058
  return await dispatch(readAndWait2(dbKey)).unwrap();
7059
7059
  }
@@ -7467,7 +7467,7 @@ var spaceSlice = createSliceWithThunks2({
7467
7467
  markDialogRead: create.asyncThunk(
7468
7468
  async (payload, thunkAPI) => {
7469
7469
  if (payload.dialogKey) {
7470
- const { patch: patch2 } = await import("./dbSlice-FWF5F4L7.js");
7470
+ const { patch: patch2 } = await import("./dbSlice-D5CNGWPD.js");
7471
7471
  try {
7472
7472
  await thunkAPI.dispatch(
7473
7473
  patch2({ dbKey: payload.dialogKey, changes: { unreadAt: null } })
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  clearCliLocalRuntimePreparedAgentCache
3
- } from "./chunk-POLE2QLO.js";
3
+ } from "./chunk-GV35EHNA.js";
4
4
  import {
5
5
  getReadableCliDb
6
6
  } from "./chunk-43CXXVJD.js";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  getRuntimeServerContext,
3
3
  scheduleDeleteReplication
4
- } from "./chunk-HHBXCRJS.js";
4
+ } from "./chunk-PYKV6FSC.js";
5
5
  import {
6
6
  fetchFromClientDb
7
- } from "./chunk-L3JWI7WX.js";
7
+ } from "./chunk-QOKAKDPE.js";
8
8
  import {
9
9
  buildTombstoneRecord
10
10
  } from "./chunk-GBRG75BQ.js";