nolo-cli 0.95.0-alpha.6 → 0.95.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 (181) hide show
  1. package/README.md +1 -1
  2. package/{_executeModel-AUQRMRWL.js → _executeModel-2A5AFVBG.js} +67 -63
  3. package/{action-YVYQEAAV.js → action-GI44T4DR.js} +10 -10
  4. package/{addContentAction-O7R66HEX.js → addContentAction-B2DRF7P6.js} +9 -9
  5. package/{addDialogAgentAction-74OA7KYP.js → addDialogAgentAction-T3I7IXPK.js} +15 -17
  6. package/{agentDeleteCommand-4BAHJRU3.js → agentDeleteCommand-QYCCUQ35.js} +47 -43
  7. package/{agentEmailCommands-QISOY7Y6.js → agentEmailCommands-IX6COKHS.js} +89 -82
  8. package/{agentListCommands-U46ODMQU.js → agentListCommands-JDU7V3M5.js} +77 -82
  9. package/{agentMachineCommands-EHV2KM2C.js → agentMachineCommands-W36VFO5M.js} +42 -38
  10. package/{agentProviderCommands-GNPTL5XR.js → agentProviderCommands-YK2BIIXZ.js} +1 -1
  11. package/{agentPullCommand-O5MPVJ5E.js → agentPullCommand-HF4A42D4.js} +1 -1
  12. package/agentRecordCommands-JGOTOBTW.js +135 -0
  13. package/{agentRunCommand-K4CLMA6B.js → agentRunCommand-LJBG6YF2.js} +89 -80
  14. package/{agentRunControl-XLGD3UZ5.js → agentRunControl-5T64LM2M.js} +2 -2
  15. package/{agentRuntimeLocal-O4HPUJA4.js → agentRuntimeLocal-SYLNOKCT.js} +44 -36
  16. package/{agentSlice-ZYT2OUR3.js → agentSlice-FZ7GGQM2.js} +11 -11
  17. package/{appDeleteCommands-R5BBTKQK.js → appDeleteCommands-IP22BHZE.js} +42 -38
  18. package/{appDeployCommands-ZJIXOJWD.js → appDeployCommands-5ZTQL6UL.js} +42 -38
  19. package/{appDeployStatusCommands-B3R2ZTBF.js → appDeployStatusCommands-G6EMAT75.js} +42 -38
  20. package/{appGetCommands-2AQSOV2A.js → appGetCommands-UXBDAYEM.js} +42 -38
  21. package/{appListCommands-HCIJGZFY.js → appListCommands-J274GTVP.js} +42 -38
  22. package/{authCommand-F4EFRRX6.js → authCommand-2YPMMIJN.js} +117 -23
  23. package/{authCommands-RGOGCPP6.js → authCommands-FFDS4FVX.js} +7 -5
  24. package/{builtinSkillRegistry-FUAVTRVZ.js → builtinSkillRegistry-ZMF6YGNO.js} +6 -5
  25. package/{chatQueueReduxAdapter-Q5V4YJVI.js → chatQueueReduxAdapter-PRP4YQP7.js} +30 -29
  26. package/{chromeCommands-FZYAU75D.js → chromeCommands-K27J4OVZ.js} +124 -28
  27. package/{chromeOpsCommands-62P2Q2YB.js → chromeOpsCommands-IXRLN57H.js} +4 -3
  28. package/{chunk-6OZ36FXI.js → chunk-27ONFIEY.js} +22 -4
  29. package/chunk-2QZTQEW4.js +13349 -0
  30. package/{chunk-JEDZAO7L.js → chunk-2SYTUTLI.js} +257 -37
  31. package/{chunk-OIVSQH2O.js → chunk-3BXNTXYI.js} +299 -5
  32. package/{chunk-ZLR5JN3E.js → chunk-4B4DAAFV.js} +7 -7
  33. package/{chunk-EYAQT56M.js → chunk-4DPP773Q.js} +2 -2
  34. package/chunk-4LCOCOR5.js +50 -0
  35. package/{chunk-BZWBEHGD.js → chunk-4MPGAOXS.js} +66 -38
  36. package/{chunk-JOHSKZQX.js → chunk-4RTK7EHT.js} +865 -207
  37. package/{chunk-2GRGFCF6.js → chunk-4VJAC32I.js} +2 -1
  38. package/{chunk-MC4XLIJ7.js → chunk-523DITKR.js} +1 -1
  39. package/{chunk-IAO6JBYW.js → chunk-5B7XS6UO.js} +164 -14
  40. package/{chunk-E4MARS3Q.js → chunk-5GVBDNTO.js} +1 -1
  41. package/chunk-5J3PYNUP.js +255 -0
  42. package/chunk-5MMAK75Q.js +15 -0
  43. package/{chunk-JPGCXHNM.js → chunk-5OA5HMTL.js} +1 -1
  44. package/{chunk-42V6BK2E.js → chunk-62IL3KQV.js} +4 -34
  45. package/{chunk-YQTQQX2H.js → chunk-67HHBCFJ.js} +1 -1
  46. package/{chunk-SNPMM7H3.js → chunk-67T7O467.js} +13 -13
  47. package/{chunk-6YTOJY35.js → chunk-6D2JFXLY.js} +35 -0
  48. package/{chunk-4MY4GLIW.js → chunk-6IHBIRPK.js} +969 -1090
  49. package/{chunk-3BMYXEUW.js → chunk-6O4IK4V2.js} +1 -1
  50. package/{chunk-XOVEWFLK.js → chunk-6RDFAKG7.js} +100 -100
  51. package/{chunk-DHDMC6FO.js → chunk-6TPOEJMQ.js} +9 -4
  52. package/{chunk-WADCY6G6.js → chunk-6ZWMH6TJ.js} +111 -41
  53. package/{chunk-ABQYVJBJ.js → chunk-7CHC4W22.js} +1 -1
  54. package/{chunk-GQBOR3G6.js → chunk-7KVZ5LDQ.js} +2 -2
  55. package/{chunk-OA6Q2A4I.js → chunk-A7RSPKU6.js} +98 -22
  56. package/{chunk-KQ4ONNQD.js → chunk-ALFH24P3.js} +56 -7
  57. package/{chunk-Q554LLSI.js → chunk-AUDNYVRC.js} +1 -1
  58. package/{chunk-GPCZ7UXG.js → chunk-AZRHIN5B.js} +1 -1
  59. package/{chunk-JRQFUXY7.js → chunk-B2XUQXQX.js} +96 -19
  60. package/{chunk-EGSKXKR5.js → chunk-BJJL5DZF.js} +1 -1
  61. package/chunk-BMQ2MJUK.js +153 -0
  62. package/{chunk-XRWZB6CF.js → chunk-BVWTQJAA.js} +23 -76
  63. package/{chunk-3IIEFNGY.js → chunk-C53ZG23R.js} +2 -2
  64. package/chunk-CHOZJMJS.js +78 -0
  65. package/{chunk-HJUYAD4A.js → chunk-CPUFH46E.js} +8 -8
  66. package/{chunk-LS2ZANRJ.js → chunk-CTUQJVQM.js} +1 -1
  67. package/{chunk-BP4XNZRM.js → chunk-CU3QB4HW.js} +3 -3
  68. package/{chunk-ACTMNVHM.js → chunk-CYSYR67N.js} +1 -1
  69. package/{chunk-VLTIYV3X.js → chunk-DCLMZ5TX.js} +4 -4
  70. package/{chunk-UKZDAFYT.js → chunk-DSSTTEKI.js} +6 -10
  71. package/{chunk-HVURBGF3.js → chunk-ESRMFY7G.js} +2 -2
  72. package/{chunk-TRV2MIDW.js → chunk-EXAJ6DCR.js} +1 -0
  73. package/chunk-GMZLP5DV.js +82 -0
  74. package/{chunk-FDTR4QJ6.js → chunk-H6A6X4EK.js} +32 -1
  75. package/{chunk-DVINR3PL.js → chunk-HDLLCBRF.js} +1 -1
  76. package/{chunk-ONXOABJR.js → chunk-HNGRBWYF.js} +3 -0
  77. package/{chunk-H62HCIUP.js → chunk-HYZIYH2H.js} +11 -10
  78. package/{chunk-MMPXJXHT.js → chunk-HZH7RULB.js} +582 -478
  79. package/{chunk-NTW5GWDM.js → chunk-I3QNET24.js} +32 -17
  80. package/{chunk-WV42OMV7.js → chunk-IAESIMK7.js} +4 -4
  81. package/{chunk-QIAVMDHY.js → chunk-IUVCUGQR.js} +4 -4
  82. package/{chunk-AFDS2CVM.js → chunk-K5UOP7AI.js} +15 -20
  83. package/{chunk-IIVGDG4I.js → chunk-LNPYTNMG.js} +8 -4
  84. package/{chunk-BLJWCTRL.js → chunk-LVITW736.js} +1 -1
  85. package/chunk-LYS4T7MY.js +7600 -0
  86. package/{chunk-76WEAXJB.js → chunk-M3LRSBOX.js} +18 -15
  87. package/{chunk-7S4YWN7P.js → chunk-MX574M24.js} +1 -1
  88. package/{chunk-FZGV4FGK.js → chunk-NUHHBEJC.js} +378 -187
  89. package/{chunk-53HEEOTT.js → chunk-O26PCYLS.js} +80 -13
  90. package/{chunk-3DII57IT.js → chunk-O2OWEFII.js} +1 -1
  91. package/chunk-OCZKATRC.js +129 -0
  92. package/{chunk-6D6VBVEW.js → chunk-OTEMQQZI.js} +80 -14
  93. package/chunk-P6GMCCAT.js +870 -0
  94. package/{chunk-CPH3W5A7.js → chunk-Q4GP72HX.js} +94 -3
  95. package/{chunk-A6G32FNX.js → chunk-QYFBT4CV.js} +13 -13
  96. package/{chunk-Z77CRGTW.js → chunk-R4SQ3LGW.js} +1 -1
  97. package/{chunk-DEUUPHOO.js → chunk-RKGKDQGJ.js} +74 -17
  98. package/{chunk-ZXKVPF4K.js → chunk-RQNHAVSR.js} +236 -36
  99. package/{chunk-LLT642J4.js → chunk-RS4XOX6Y.js} +24 -5
  100. package/{chunk-V4MJDUSR.js → chunk-RSEEDUMS.js} +2 -2
  101. package/{chunk-UZGQNTVW.js → chunk-S5XGT6GB.js} +5 -3
  102. package/{chunk-AFUORTY4.js → chunk-SONWNI3L.js} +21 -21
  103. package/{chunk-BYMV6QZG.js → chunk-TNIX77YM.js} +4 -0
  104. package/{chunk-OF7AQZUG.js → chunk-TU5NE4U3.js} +9 -84
  105. package/chunk-TY3TIUJK.js +89 -0
  106. package/chunk-UNYJU5L6.js +780 -0
  107. package/{chunk-J4MOO56S.js → chunk-UQNS32WZ.js} +10 -2
  108. package/chunk-VIWDGTDA.js +8 -0
  109. package/chunk-VJVNU77E.js +83 -0
  110. package/{chunk-JAXOVNM4.js → chunk-WILHZY7K.js} +45 -45
  111. package/{chunk-BGSLKVCP.js → chunk-WIU4KIBL.js} +6 -7
  112. package/{chunk-UKWGR5SS.js → chunk-WIWM4FE3.js} +187 -398
  113. package/{chunk-O6OSWFZQ.js → chunk-XUWRURDF.js} +6 -0
  114. package/{chunk-Q67DOFOO.js → chunk-Y3PMXGLH.js} +2 -0
  115. package/{chunk-SH43IESU.js → chunk-YUNJN43V.js} +44 -9
  116. package/{chunk-TOP2VXOR.js → chunk-Z4CSIXYP.js} +2 -2
  117. package/{chunk-2F7RJC6L.js → chunk-ZOVKKMF6.js} +1 -1
  118. package/chunk-ZRAU6T47.js +56 -0
  119. package/commandRegistry-ESFYIRF4.js +833 -0
  120. package/{contentThunks-PT23JWJX.js → contentThunks-ECQ6KK3I.js} +32 -30
  121. package/{cooldownCommands-REAWYVTY.js → cooldownCommands-ZLEPIB4A.js} +2 -2
  122. package/{createAgentAutomationAction-N27SYTLU.js → createAgentAutomationAction-6EES5YQO.js} +32 -30
  123. package/{createDialogAction-XZPLHD5G.js → createDialogAction-JTKMM4VG.js} +36 -33
  124. package/{createPageAction-KHVJQ3CS.js → createPageAction-WQZTMGAG.js} +38 -36
  125. package/{chunk-3SJQXXGY.js → cursorProvider-YGGNMVWX.js} +2560 -9879
  126. package/{dbSlice-XVWBAGYN.js → dbSlice-DQ32LYTJ.js} +8 -8
  127. package/{deleteFile-YG6QMJLU.js → deleteFile-NX6QHCWZ.js} +3 -3
  128. package/{dialogCommands-ZUWW5UT6.js → dialogCommands-XXZH5K6U.js} +45 -41
  129. package/{dialogSlice-3YH242HS.js → dialogSlice-I6GN3I5B.js} +36 -29
  130. package/{dist-VODFSGNG.js → dist-NJC2W7I4.js} +61 -54
  131. package/{docCreateCommands-Q6FADDSJ.js → docCreateCommands-FLNUDWG6.js} +44 -40
  132. package/{docDeleteCommands-ZKIH54PZ.js → docDeleteCommands-74OURFAB.js} +44 -40
  133. package/{docReadCommands-7BZT2QTW.js → docReadCommands-QENWDQVH.js} +43 -39
  134. package/{docStore-YSZRNUUD.js → docStore-B2ZM4PCR.js} +11 -10
  135. package/{docUpdateCommands-WJXWTRL7.js → docUpdateCommands-J4HWJ5JO.js} +44 -40
  136. package/{fetchMessages-EIU7UFFK.js → fetchMessages-67MEFPZR.js} +2 -2
  137. package/{getPricing-LUSEABA6.js → getPricing-NMMFT3YI.js} +3 -3
  138. package/{handleSendMessageAction-KJO2QDBM.js → handleSendMessageAction-BAUWHASB.js} +91 -83
  139. package/index.js +87 -884
  140. package/{localDialogRead-BTFJ4V2I.js → localDialogRead-EBRS242U.js} +2 -2
  141. package/{localRuntimeAuthority-6IR6BBXE.js → localRuntimeAuthority-5W6IJRAD.js} +6 -6
  142. package/{localRuntimeDb-SYQGUF4U.js → localRuntimeDb-3LRMNLCM.js} +1 -1
  143. package/{machineCommands-QC4TD7GJ.js → machineCommands-SG3QGVOP.js} +84 -77
  144. package/{machineWsRunDispatch-XUOIAXO7.js → machineWsRunDispatch-RTFT3ZDL.js} +81 -74
  145. package/{memberThunks-QGFLFVCI.js → memberThunks-5ZXPR63F.js} +9 -9
  146. package/{models-T3SG6MJ5.js → models-ZPU5EDF4.js} +2 -2
  147. package/oauthTokenStore-ITEB663N.js +23 -0
  148. package/package.json +1 -1
  149. package/pdf-U6KSUEZZ.js +26435 -0
  150. package/processSpawn-SOAV3FEV.js +11 -0
  151. package/profileConfig-ZGOFORWV.js +43 -0
  152. package/{providerPresetApply-FG6NZ57W.js → providerPresetApply-DD6NGWW6.js} +7 -7
  153. package/{providerRegistry-757OWH3O.js → providerRegistry-XDRLMYGJ.js} +7 -7
  154. package/{read-COE3ZYR6.js → read-EPTJRAEF.js} +5 -5
  155. package/{readDocTool-5USN4A6V.js → readDocTool-W4NDXNEX.js} +5 -3
  156. package/{readlineWorkspace-74TXXSLO.js → readlineWorkspace-MCNBLA56.js} +2449 -2022
  157. package/{removeDialogAgentAction-IX3MN2ZO.js → removeDialogAgentAction-BVAWQKXE.js} +17 -19
  158. package/{runAgentClientLoop-37BXJD62.js → runAgentClientLoop-XDPBFXV2.js} +61 -58
  159. package/{runtimeDoctorCommands-X6WDBEQX.js → runtimeDoctorCommands-3USD722U.js} +3 -3
  160. package/runtimeModeArgs-2Y7BALTO.js +31 -0
  161. package/{setDialogExtraReferencesAction-X4HCPNZL.js → setDialogExtraReferencesAction-LYY45IAD.js} +12 -11
  162. package/{setPrimaryDialogAgentAction-4GMIQLOD.js → setPrimaryDialogAgentAction-73IL7DLU.js} +18 -20
  163. package/{settingSlice-ZQZVUPKK.js → settingSlice-Q6EKL7EQ.js} +9 -9
  164. package/{skillDiscovery-CYUCJMAG.js → skillDiscovery-ZBU76COE.js} +3 -3
  165. package/{spaceCommands-P3ONT6LL.js → spaceCommands-BYDGOMW7.js} +44 -40
  166. package/{streamAgentChatTurn-FGXQXALU.js → streamAgentChatTurn-BBH3QDEZ.js} +183 -91
  167. package/{switchDialogAgentAction-N52LRPA3.js → switchDialogAgentAction-UUXDSQ6X.js} +15 -17
  168. package/{tableCommands-O6NWHFKV.js → tableCommands-G7RV3RU3.js} +4 -4
  169. package/{toolApiClient-QVJ6HDNN.js → toolApiClient-INIQCPGY.js} +3 -3
  170. package/{tools-R5UF2KZO.js → tools-OQWSBQJA.js} +54 -51
  171. package/{tuiSummaryLlmCaller-T2SHYMDZ.js → tuiSummaryLlmCaller-74NRRLVW.js} +18 -16
  172. package/{updateCommands-2M74UL7P.js → updateCommands-4EHDLF5J.js} +3 -3
  173. package/{updateDialogTitleAction-RTADGV7A.js → updateDialogTitleAction-E25IG3J3.js} +81 -43
  174. package/agentRecordCommands-SIPURU2S.js +0 -128
  175. package/chunk-FOWEGIMF.js +0 -18881
  176. package/chunk-M76ECQRD.js +0 -13658
  177. package/chunk-Q5FJJ6XI.js +0 -103
  178. package/chunk-S7Z2HMCN.js +0 -25
  179. package/{chunk-VMFTFOWF.js → chunk-3AH7LNUB.js} +7 -7
  180. package/{chunk-X7HHHIOZ.js → chunk-Y6ROFCZO.js} +0 -0
  181. package/{db-WK5MDZVN.js → db-VQSAOWAO.js} +1 -1
@@ -3,35 +3,34 @@ import {
3
3
  getCurrentSpaceIdRaw,
4
4
  updateCurrentSpaceIfMatch
5
5
  } from "./chunk-ZJ7UHBJS.js";
6
+ import {
7
+ formatISO
8
+ } from "./chunk-ZRAU6T47.js";
6
9
  import {
7
10
  deleteDialog,
8
11
  i18nBaseConfig,
9
- initReactI18next,
10
12
  instance,
11
13
  toast
12
- } from "./chunk-FOWEGIMF.js";
13
- import {
14
- require_date_fns
15
- } from "./chunk-M76ECQRD.js";
14
+ } from "./chunk-2QZTQEW4.js";
16
15
  import {
17
16
  require_react
18
17
  } from "./chunk-YDH3FDFQ.js";
19
- import {
20
- isSystemAdmin
21
- } from "./chunk-QDSINZM3.js";
22
- import {
23
- asRecordOrEmpty
24
- } from "./chunk-KX6YBIHG.js";
25
18
  import {
26
19
  UNCATEGORIZED_ID,
27
20
  addContentAction,
28
21
  checkSpaceMembership,
29
22
  localSpaceAuthorityPatchStamp
30
- } from "./chunk-V4MJDUSR.js";
23
+ } from "./chunk-RSEEDUMS.js";
31
24
  import {
32
25
  createSpaceKey,
33
26
  normalizeSpaceId
34
27
  } from "./chunk-UAD2WT54.js";
28
+ import {
29
+ isSystemAdmin
30
+ } from "./chunk-QDSINZM3.js";
31
+ import {
32
+ asRecordOrEmpty
33
+ } from "./chunk-KX6YBIHG.js";
35
34
  import {
36
35
  patch,
37
36
  read,
@@ -41,7 +40,7 @@ import {
41
40
  uploadFileAction,
42
41
  upsertSSREntity,
43
42
  write
44
- } from "./chunk-H62HCIUP.js";
43
+ } from "./chunk-HYZIYH2H.js";
45
44
  import {
46
45
  SEPARATOR,
47
46
  asTrimmedNonEmptyStringArray,
@@ -53,13 +52,10 @@ import {
53
52
  rowKey,
54
53
  splitKey,
55
54
  ulid
56
- } from "./chunk-VMFTFOWF.js";
55
+ } from "./chunk-3AH7LNUB.js";
57
56
  import {
58
57
  asOptionalFiniteNumber
59
58
  } from "./chunk-WWC7I6TA.js";
60
- import {
61
- extractUserId
62
- } from "./chunk-M2EJHDJP.js";
63
59
  import {
64
60
  DEVICE_LOCAL_OWNER_ID,
65
61
  createAsyncThunk,
@@ -68,7 +64,7 @@ import {
68
64
  resolveReplicationServers,
69
65
  scheduleDeleteReplication,
70
66
  scheduleWriteReplication
71
- } from "./chunk-UKWGR5SS.js";
67
+ } from "./chunk-WIWM4FE3.js";
72
68
  import {
73
69
  createClientLogger,
74
70
  isAbortError
@@ -82,6 +78,9 @@ import {
82
78
  import {
83
79
  isRecord
84
80
  } from "./chunk-KUG52IAP.js";
81
+ import {
82
+ extractUserId
83
+ } from "./chunk-M2EJHDJP.js";
85
84
  import {
86
85
  asTrimmedString
87
86
  } from "./chunk-3EUW3WEO.js";
@@ -92,12 +91,125 @@ import {
92
91
  asOptionalTrimmedString
93
92
  } from "./chunk-G3SUCT4W.js";
94
93
  import {
94
+ __commonJS,
95
95
  __toESM
96
96
  } from "./chunk-4VNS5WPM.js";
97
97
 
98
+ // node_modules/void-elements/index.js
99
+ var require_void_elements = __commonJS({
100
+ "node_modules/void-elements/index.js"(exports, module) {
101
+ module.exports = {
102
+ "area": true,
103
+ "base": true,
104
+ "br": true,
105
+ "col": true,
106
+ "embed": true,
107
+ "hr": true,
108
+ "img": true,
109
+ "input": true,
110
+ "link": true,
111
+ "meta": true,
112
+ "param": true,
113
+ "source": true,
114
+ "track": true,
115
+ "wbr": true
116
+ };
117
+ }
118
+ });
119
+
120
+ // node_modules/html-parse-stringify/dist/html-parse-stringify.js
121
+ var require_html_parse_stringify = __commonJS({
122
+ "node_modules/html-parse-stringify/dist/html-parse-stringify.js"(exports, module) {
123
+ var e;
124
+ var t = (e = require_void_elements()) && "object" == typeof e && "default" in e ? e.default : e;
125
+ var n = /\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?("[^"]*"|'[^']*')/g;
126
+ function r(e2) {
127
+ var r2 = { type: "tag", name: "", voidElement: false, attrs: {}, children: [] }, i2 = e2.match(/<\/?([^\s]+?)[/\s>]/);
128
+ if (i2 && (r2.name = i2[1], (t[i2[1]] || "/" === e2.charAt(e2.length - 2)) && (r2.voidElement = true), r2.name.startsWith("!--"))) {
129
+ var s2 = e2.indexOf("-->");
130
+ return { type: "comment", comment: -1 !== s2 ? e2.slice(4, s2) : "" };
131
+ }
132
+ for (var a2 = new RegExp(n), c2 = null; null !== (c2 = a2.exec(e2)); ) if (c2[0].trim()) if (c2[1]) {
133
+ var l = c2[1].trim(), o = [l, ""];
134
+ l.indexOf("=") > -1 && (o = l.split("=")), r2.attrs[o[0]] = o[1], a2.lastIndex--;
135
+ } else c2[2] && (r2.attrs[c2[2]] = c2[3].trim().substring(1, c2[3].length - 1));
136
+ return r2;
137
+ }
138
+ var i = /<[a-zA-Z0-9\-\!\/](?:"[^"]*"|'[^']*'|[^'">])*>/g;
139
+ var s = /^\s*$/;
140
+ var a = /* @__PURE__ */ Object.create(null);
141
+ function c(e2, t2) {
142
+ switch (t2.type) {
143
+ case "text":
144
+ return e2 + t2.content;
145
+ case "tag":
146
+ return e2 += "<" + t2.name + (t2.attrs ? function(e3) {
147
+ var t3 = [];
148
+ for (var n2 in e3) t3.push(n2 + '="' + e3[n2] + '"');
149
+ return t3.length ? " " + t3.join(" ") : "";
150
+ }(t2.attrs) : "") + (t2.voidElement ? "/>" : ">"), t2.voidElement ? e2 : e2 + t2.children.reduce(c, "") + "</" + t2.name + ">";
151
+ case "comment":
152
+ return e2 + "<!--" + t2.comment + "-->";
153
+ }
154
+ }
155
+ module.exports = { parse: function(e2, t2) {
156
+ t2 || (t2 = {}), t2.components || (t2.components = a);
157
+ var n2, c2 = [], l = [], o = -1, u = false;
158
+ if (0 !== e2.indexOf("<")) {
159
+ var h = e2.indexOf("<");
160
+ c2.push({ type: "text", content: -1 === h ? e2 : e2.substring(0, h) });
161
+ }
162
+ for (var f, d = []; f = i.exec(e2); ) d.push(f);
163
+ return d.forEach(function(e3, t3) {
164
+ var n3 = e3[0];
165
+ if (n3 && !n3.startsWith("<!--")) {
166
+ for (var r2 = 0, i2 = 0, s2 = -1, a2 = null, c3 = 0; c3 < n3.length; c3++) {
167
+ var l2 = n3.charAt(c3);
168
+ a2 ? l2 === a2 && (a2 = null) : '"' === l2 || "'" === l2 ? a2 = l2 : "<" === l2 ? 2 == ++r2 && (s2 = c3) : ">" === l2 && i2++;
169
+ }
170
+ var o2 = s2 > -1 && /[a-zA-Z0-9\-!/]/.test(n3.charAt(s2 + 1));
171
+ if (r2 > i2 && o2) {
172
+ var u2 = n3.substring(0, s2), h2 = n3.substring(u2.length);
173
+ d[t3][0] = h2, d[t3].index += u2.length;
174
+ }
175
+ }
176
+ }), d.forEach(function(i2, a2) {
177
+ var h2 = i2[0];
178
+ if (h2) {
179
+ var f2 = i2.index;
180
+ if (u) {
181
+ if (h2 !== "</" + n2.name + ">") return;
182
+ u = false;
183
+ }
184
+ var v, m, p = "/" !== h2.charAt(1), x = h2.startsWith("<!--"), g = f2 + h2.length, y = e2.charAt(g), E = d[a2 + 1];
185
+ if ("<" === y && E) {
186
+ var b = e2.substring(g, E.index);
187
+ v = b.split("<").length > b.split(">").length;
188
+ }
189
+ if (x) {
190
+ var A = r(h2);
191
+ if (o < 0) return c2.push(A), c2;
192
+ (m = l[o]).children.push(A);
193
+ var O = e2.slice(g, E ? E.index : void 0);
194
+ return O.length > 0 && m.children.push({ type: "text", content: O }), c2;
195
+ }
196
+ if (p && (o++, "tag" === (n2 = r(h2)).type && t2.components[n2.name] && (n2.type = "component", u = true), n2.voidElement || u || !y || "<" === y || n2.children.push({ type: "text", content: e2.slice(g, E ? E.index : void 0) }), 0 === o && c2.push(n2), (m = l[o - 1]) && m.children.push(n2), l[o] = n2), (!p || n2.voidElement) && (o > -1 && (n2.voidElement || n2.name === h2.slice(2, -1)) && (o--, n2 = -1 === o ? c2 : l[o]), !u && ("<" !== y || v) && y)) {
197
+ m = -1 === o ? c2 : l[o].children;
198
+ var j = E ? E.index : -1, W = e2.slice(g, -1 === j ? void 0 : j);
199
+ s.test(W) && (W = " "), (j > -1 && o + m.length >= 0 || " " !== W) && m.push({ type: "text", content: W });
200
+ }
201
+ }
202
+ }), c2;
203
+ }, stringify: function(e2) {
204
+ return e2.reduce(function(e3, t2) {
205
+ return e3 + c("", t2);
206
+ }, "");
207
+ } };
208
+ }
209
+ });
210
+
98
211
  // packages/render/table/tableStore.ts
99
- var import_react = __toESM(require_react(), 1);
100
- var import_date_fns2 = __toESM(require_date_fns(), 1);
212
+ var import_react9 = __toESM(require_react(), 1);
101
213
  import { ulid as ulid3 } from "ulid";
102
214
 
103
215
  // packages/render/table/fetchAndCacheTableRows.ts
@@ -434,9 +546,97 @@ function addColumnOptionInMeta(meta, input, deps) {
434
546
  }
435
547
 
436
548
  // packages/render/table/createTableAction.ts
437
- var import_date_fns = __toESM(require_date_fns(), 1);
438
549
  import { ulid as ulid2 } from "ulid";
439
550
 
551
+ // node_modules/react-i18next/dist/es/Trans.js
552
+ var import_react3 = __toESM(require_react(), 1);
553
+
554
+ // node_modules/react-i18next/dist/es/TransWithoutContext.js
555
+ var import_react = __toESM(require_react(), 1);
556
+ var import_html_parse_stringify = __toESM(require_html_parse_stringify(), 1);
557
+
558
+ // node_modules/react-i18next/dist/es/unescape.js
559
+ var matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;
560
+ var htmlEntities = {
561
+ "&amp;": "&",
562
+ "&#38;": "&",
563
+ "&lt;": "<",
564
+ "&#60;": "<",
565
+ "&gt;": ">",
566
+ "&#62;": ">",
567
+ "&apos;": "'",
568
+ "&#39;": "'",
569
+ "&quot;": '"',
570
+ "&#34;": '"',
571
+ "&nbsp;": " ",
572
+ "&#160;": " ",
573
+ "&copy;": "\xA9",
574
+ "&#169;": "\xA9",
575
+ "&reg;": "\xAE",
576
+ "&#174;": "\xAE",
577
+ "&hellip;": "\u2026",
578
+ "&#8230;": "\u2026",
579
+ "&#x2F;": "/",
580
+ "&#47;": "/"
581
+ };
582
+ var unescapeHtmlEntity = (m) => htmlEntities[m];
583
+ var unescape = (text) => text.replace(matchHtmlEntity, unescapeHtmlEntity);
584
+
585
+ // node_modules/react-i18next/dist/es/defaults.js
586
+ var defaultOptions = {
587
+ bindI18n: "languageChanged",
588
+ bindI18nStore: "",
589
+ transEmptyNodeValue: "",
590
+ transSupportBasicHtmlNodes: true,
591
+ transWrapTextNodes: "",
592
+ transKeepBasicHtmlNodesFor: ["br", "strong", "i", "p"],
593
+ useSuspense: true,
594
+ unescape
595
+ };
596
+ var setDefaults = function() {
597
+ let options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
598
+ defaultOptions = {
599
+ ...defaultOptions,
600
+ ...options
601
+ };
602
+ };
603
+
604
+ // node_modules/react-i18next/dist/es/i18nInstance.js
605
+ var i18nInstance;
606
+ var setI18n = (instance2) => {
607
+ i18nInstance = instance2;
608
+ };
609
+
610
+ // node_modules/react-i18next/dist/es/context.js
611
+ var import_react2 = __toESM(require_react(), 1);
612
+
613
+ // node_modules/react-i18next/dist/es/initReactI18next.js
614
+ var initReactI18next = {
615
+ type: "3rdParty",
616
+ init(instance2) {
617
+ setDefaults(instance2.options.react);
618
+ setI18n(instance2);
619
+ }
620
+ };
621
+
622
+ // node_modules/react-i18next/dist/es/context.js
623
+ var I18nContext = (0, import_react2.createContext)();
624
+
625
+ // node_modules/react-i18next/dist/es/useTranslation.js
626
+ var import_react4 = __toESM(require_react(), 1);
627
+
628
+ // node_modules/react-i18next/dist/es/withTranslation.js
629
+ var import_react5 = __toESM(require_react(), 1);
630
+
631
+ // node_modules/react-i18next/dist/es/I18nextProvider.js
632
+ var import_react6 = __toESM(require_react(), 1);
633
+
634
+ // node_modules/react-i18next/dist/es/withSSR.js
635
+ var import_react8 = __toESM(require_react(), 1);
636
+
637
+ // node_modules/react-i18next/dist/es/useSSR.js
638
+ var import_react7 = __toESM(require_react(), 1);
639
+
440
640
  // packages/app/i18n/client.ts
441
641
  instance.use(initReactI18next).init({
442
642
  ...i18nBaseConfig,
@@ -554,7 +754,7 @@ var createTableAction = async ({
554
754
  const spaceId = customSpaceId ?? getCurrentSpaceId();
555
755
  const tableId = ulid2();
556
756
  const now = /* @__PURE__ */ new Date();
557
- const nowIso = (0, import_date_fns.formatISO)(now);
757
+ const nowIso = formatISO(now);
558
758
  const dbKey = metaKey(userId, tableId);
559
759
  const defaultTitle = client_default.t("space:newTable", {
560
760
  defaultValue: "\u65B0\u5EFA\u8868\u683C"
@@ -924,7 +1124,7 @@ var addRow = createTableCommand(
924
1124
  });
925
1125
  try {
926
1126
  const { dbKey, rowId } = rowKey.create(tenantId, tableId);
927
- const nowIso = (0, import_date_fns2.formatISO)(/* @__PURE__ */ new Date());
1127
+ const nowIso = formatISO(/* @__PURE__ */ new Date());
928
1128
  const row = {
929
1129
  dbKey,
930
1130
  tenantId,
@@ -985,7 +1185,7 @@ var deleteRow = createTableCommand(
985
1185
  if (!row) {
986
1186
  throw new Error(`\u5F53\u524D\u8868\u4E2D\u627E\u4E0D\u5230\u8981\u5220\u9664\u7684\u884C\uFF1A${dbKey}`);
987
1187
  }
988
- const nowIso = (0, import_date_fns2.formatISO)(/* @__PURE__ */ new Date());
1188
+ const nowIso = formatISO(/* @__PURE__ */ new Date());
989
1189
  const tombstoneRow = {
990
1190
  ...row,
991
1191
  deletedAt: nowIso,
@@ -1063,7 +1263,7 @@ var addColumn = createTableCommand(
1063
1263
  const result = addColumnToMeta(
1064
1264
  meta,
1065
1265
  { columnName },
1066
- { id: ulid3(), nowIso: (0, import_date_fns2.formatISO)(/* @__PURE__ */ new Date()) }
1266
+ { id: ulid3(), nowIso: formatISO(/* @__PURE__ */ new Date()) }
1067
1267
  );
1068
1268
  if (!result.ok) {
1069
1269
  throw new Error(result.error);
@@ -1104,7 +1304,7 @@ var deleteColumn = createTableCommand(
1104
1304
  meta,
1105
1305
  state.rows,
1106
1306
  { columnName },
1107
- { nowIso: (0, import_date_fns2.formatISO)(/* @__PURE__ */ new Date()) }
1307
+ { nowIso: formatISO(/* @__PURE__ */ new Date()) }
1108
1308
  );
1109
1309
  if (!result.ok) {
1110
1310
  throw new Error(result.error);
@@ -1146,7 +1346,7 @@ var reorderColumn = createTableCommand(
1146
1346
  const result = reorderColumnInMeta(
1147
1347
  meta,
1148
1348
  { fromIndex, toIndex },
1149
- { nowIso: (0, import_date_fns2.formatISO)(/* @__PURE__ */ new Date()) }
1349
+ { nowIso: formatISO(/* @__PURE__ */ new Date()) }
1150
1350
  );
1151
1351
  if (!result.ok) {
1152
1352
  throw new Error(result.error);
@@ -1187,7 +1387,7 @@ var renameColumnLabel = createTableCommand(
1187
1387
  const result = renameColumnLabelInMeta(
1188
1388
  meta,
1189
1389
  { columnId, label: newLabel },
1190
- { nowIso: (0, import_date_fns2.formatISO)(/* @__PURE__ */ new Date()) }
1390
+ { nowIso: formatISO(/* @__PURE__ */ new Date()) }
1191
1391
  );
1192
1392
  if (!result.ok) {
1193
1393
  throw new Error(result.error);
@@ -1225,7 +1425,7 @@ var updateColumnWidth = createTableCommand(
1225
1425
  const result = updateColumnWidthInMeta(
1226
1426
  meta,
1227
1427
  { columnId, width },
1228
- { nowIso: (0, import_date_fns2.formatISO)(/* @__PURE__ */ new Date()) }
1428
+ { nowIso: formatISO(/* @__PURE__ */ new Date()) }
1229
1429
  );
1230
1430
  if (!result.ok) {
1231
1431
  throw new Error(result.error);
@@ -1263,7 +1463,7 @@ var addColumnOption = createTableCommand(
1263
1463
  const result = addColumnOptionInMeta(
1264
1464
  meta,
1265
1465
  { columnId, option },
1266
- { nowIso: (0, import_date_fns2.formatISO)(/* @__PURE__ */ new Date()) }
1466
+ { nowIso: formatISO(/* @__PURE__ */ new Date()) }
1267
1467
  );
1268
1468
  if (!result.ok) {
1269
1469
  throw new Error(result.error);
@@ -1305,7 +1505,7 @@ var renameTable = createTableCommand(
1305
1505
  if (!meta || meta.tenantId !== tenantId || meta.tableId !== tableId) {
1306
1506
  throw new Error("\u5F53\u524D\u6CA1\u6709\u52A0\u8F7D\u5BF9\u5E94\u7684\u8868\u5B9A\u4E49");
1307
1507
  }
1308
- const nowIso = (0, import_date_fns2.formatISO)(/* @__PURE__ */ new Date());
1508
+ const nowIso = formatISO(/* @__PURE__ */ new Date());
1309
1509
  setState((s) => ({ ...s, error: null }));
1310
1510
  try {
1311
1511
  if (dispatch) {
@@ -1346,7 +1546,7 @@ var updateTableIcon = createTableCommand(
1346
1546
  if (!meta || meta.tenantId !== tenantId || meta.tableId !== tableId) {
1347
1547
  throw new Error("\u5F53\u524D\u6CA1\u6709\u52A0\u8F7D\u5BF9\u5E94\u7684\u8868\u5B9A\u4E49");
1348
1548
  }
1349
- const nowIso = (0, import_date_fns2.formatISO)(/* @__PURE__ */ new Date());
1549
+ const nowIso = formatISO(/* @__PURE__ */ new Date());
1350
1550
  setState((s) => ({ ...s, error: null }));
1351
1551
  try {
1352
1552
  if (dispatch) {
@@ -1384,7 +1584,7 @@ var updateCell = createTableCommand(
1384
1584
  const { dbKey, columnName, value } = args;
1385
1585
  setState((s) => ({ ...s, error: null }));
1386
1586
  try {
1387
- const nowIso = (0, import_date_fns2.formatISO)(/* @__PURE__ */ new Date());
1587
+ const nowIso = formatISO(/* @__PURE__ */ new Date());
1388
1588
  if (dispatch) {
1389
1589
  await safeDispatch(
1390
1590
  dispatch,
@@ -1453,11 +1653,11 @@ var ENTITY_DELETE_STRATEGIES = {
1453
1653
  await dispatch(deleteTable({ dbKey: key })).unwrap();
1454
1654
  },
1455
1655
  file: async (key, { thunkAPI }) => {
1456
- const { deleteFileAction } = await import("./deleteFile-YG6QMJLU.js");
1656
+ const { deleteFileAction } = await import("./deleteFile-NX6QHCWZ.js");
1457
1657
  await deleteFileAction(key, thunkAPI);
1458
1658
  },
1459
1659
  image: async (key, { thunkAPI }) => {
1460
- const { deleteFileAction } = await import("./deleteFile-YG6QMJLU.js");
1660
+ const { deleteFileAction } = await import("./deleteFile-NX6QHCWZ.js");
1461
1661
  await deleteFileAction(key, thunkAPI);
1462
1662
  },
1463
1663
  agent: async (key, { dispatch, userId, sourceServerOrigin }) => {
@@ -2183,7 +2383,7 @@ var writeStoredCollapsedCategories = (spaceId, collapsedCategories, storage) =>
2183
2383
  };
2184
2384
 
2185
2385
  // packages/create/space/spaceUiStore.ts
2186
- var import_react2 = __toESM(require_react(), 1);
2386
+ var import_react10 = __toESM(require_react(), 1);
2187
2387
  var DEFAULT_COLLAPSED_CATEGORIES = {
2188
2388
  [UNCATEGORIZED_ID]: false
2189
2389
  };
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  clearCliLocalRuntimePreparedAgentCache
3
- } from "./chunk-3SJQXXGY.js";
3
+ } from "./chunk-LYS4T7MY.js";
4
4
  import {
5
5
  getReadableCliDb
6
- } from "./chunk-LS2ZANRJ.js";
6
+ } from "./chunk-CTUQJVQM.js";
7
7
  import {
8
8
  buildCreatedAgentRecord,
9
9
  buildUpdatedAgentRecord,
@@ -12,7 +12,7 @@ import {
12
12
  resolveAgentRecordFromHybridStore,
13
13
  sanitizeAgentRecordForCliOutput,
14
14
  writeAgentRecord
15
- } from "./chunk-76WEAXJB.js";
15
+ } from "./chunk-M3LRSBOX.js";
16
16
  import {
17
17
  resolveCliAgentKeyInput
18
18
  } from "./chunk-SV5IJK6K.js";
@@ -212,7 +212,7 @@ async function runAgentCreateCommand(args, deps = {}) {
212
212
  clearCliLocalRuntimePreparedAgentCache();
213
213
  let verifyResult;
214
214
  if (parsed.verify) {
215
- const { verifyCustomProvider } = await import("./agentProviderCommands-GNPTL5XR.js");
215
+ const { verifyCustomProvider } = await import("./agentProviderCommands-YK2BIIXZ.js");
216
216
  const rec = built.nextRecord;
217
217
  verifyResult = await verifyCustomProvider({
218
218
  providerUrl: rec.customProviderUrl,
@@ -222,15 +222,34 @@ async function runAgentCreateCommand(args, deps = {}) {
222
222
  fetchImpl
223
223
  });
224
224
  }
225
+ const apiKeyRef = String(built.updates?.apiKeyRef || "").trim();
226
+ let authHint;
227
+ const OAUTH_REFS = /* @__PURE__ */ new Set(["claude", "chatgpt", "xai", "antigravity", "cloudflare"]);
228
+ if (apiKeyRef && OAUTH_REFS.has(apiKeyRef)) {
229
+ try {
230
+ const { createOAuthTokenStore } = await import("./oauthTokenStore-ITEB663N.js");
231
+ const store = createOAuthTokenStore();
232
+ if (!store.read(apiKeyRef)) {
233
+ authHint = `Subscription "${apiKeyRef}" is not authorized yet. Run \`nolo auth ${apiKeyRef}\` to log in.`;
234
+ }
235
+ } catch {
236
+ }
237
+ }
225
238
  output.write(JSON.stringify({
226
239
  ok: true,
227
240
  agentKey: built.agentKey,
228
241
  baseUrl: built.serverUrl,
229
242
  updates: sanitizeAgentRecordForCliOutput(built.updates),
230
243
  record: sanitizeAgentRecordForCliOutput(built.nextRecord),
231
- ...verifyResult ? { verify: verifyResult } : {}
244
+ ...verifyResult ? { verify: verifyResult } : {},
245
+ ...authHint ? { hint: authHint } : {}
232
246
  }, null, 2));
233
247
  output.write("\n");
248
+ if (authHint) {
249
+ const errorOutput = deps.error ?? process.stderr;
250
+ errorOutput.write(`[nolo] Hint: ${authHint}
251
+ `);
252
+ }
234
253
  return 0;
235
254
  } catch (error) {
236
255
  output.write(
@@ -4,11 +4,11 @@ import {
4
4
  import {
5
5
  patch,
6
6
  read
7
- } from "./chunk-H62HCIUP.js";
7
+ } from "./chunk-HYZIYH2H.js";
8
8
  import {
9
9
  DEVICE_LOCAL_OWNER_ID,
10
10
  isDeviceLocalSpaceBody
11
- } from "./chunk-UKWGR5SS.js";
11
+ } from "./chunk-WIWM4FE3.js";
12
12
  import {
13
13
  selectIdentityUserId
14
14
  } from "./chunk-SEJ5OS6F.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  trimTrailingSlash
3
- } from "./chunk-6OZ36FXI.js";
3
+ } from "./chunk-27ONFIEY.js";
4
4
  import {
5
5
  toErrorMessage
6
6
  } from "./chunk-HNMXYYJR.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.18.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()) {
@@ -14,12 +14,12 @@ import {
14
14
  toTimestampMs,
15
15
  upsert,
16
16
  write
17
- } from "./chunk-H62HCIUP.js";
17
+ } from "./chunk-HYZIYH2H.js";
18
18
  import {
19
19
  createUserKey,
20
20
  createUserPreferenceKey,
21
21
  ulid
22
- } from "./chunk-VMFTFOWF.js";
22
+ } from "./chunk-3AH7LNUB.js";
23
23
  import {
24
24
  asTrimmedLowercaseString
25
25
  } from "./chunk-QSJ3HFEF.js";
@@ -29,7 +29,7 @@ import {
29
29
  createAction,
30
30
  createAsyncThunk,
31
31
  createSelector
32
- } from "./chunk-UKWGR5SS.js";
32
+ } from "./chunk-WIWM4FE3.js";
33
33
  import {
34
34
  getAllServers,
35
35
  getIsDesktopApp,
@@ -251,13 +251,13 @@ var neutral = {
251
251
  };
252
252
  var ocean = {
253
253
  light: {
254
- primary: "#0969DA",
255
- primaryLight: "#218BFF",
256
- primaryDark: "#0550AE",
257
- primaryGradient: "linear-gradient(135deg, #0969DA, #218BFF)",
258
- primaryGhost: "rgba(9,105,218,0.08)",
259
- primaryHover: "rgba(9,105,218,0.10)",
260
- borderAccent: "#54AEFF",
254
+ primary: "#006EDC",
255
+ primaryLight: "#0874DC",
256
+ primaryDark: "#0052AD",
257
+ primaryGradient: "linear-gradient(135deg, #006EDC, #0874DC)",
258
+ primaryGhost: "rgba(0,110,220,0.08)",
259
+ primaryHover: "rgba(0,110,220,0.10)",
260
+ borderAccent: "#73BEFF",
261
261
  ...semantic.light,
262
262
  ...mkLight("#FFFFFF", "#F6F8FA", "#EBF0F4", "#1C2128", "#57606A", "#6E7781", "#D0D7DE", "#F6F8FA")
263
263
  },
@@ -724,23 +724,23 @@ var mono = {
724
724
  }
725
725
  };
726
726
  var catppuccin = {
727
- // 保留 catppuccin 的柔和圆角 + 弹性缓动;色值换成 Ghostty "GitHub Light/Dark Default"
728
- // 官方 palette,获得通透高对比的观感。合成后名字/位次不变,DEFAULT_THEME_NAME 不动。
727
+ // 保留 catppuccin 的柔和圆角 + 弹性缓动;light surface 沿用 GitHub Light palette,
728
+ // light accent 为品牌海蓝(非 GitHub 蓝),dark 为 Catppuccin Mocha。合成后名字/位次不变,DEFAULT_THEME_NAME 不动。
729
729
  // Reviewer 改进:dark textTertiary/quaternary 提亮达 WCAG AA;light warning 改琥珀色;
730
730
  // light backgroundElevated 拉开与画布的层级,大圆角浮层不再粘连。
731
731
  meta: { radiusBoost: 2, motionEase: "cubic-bezier(0.22, 1, 0.36, 1)" },
732
732
  light: {
733
- // Ghostty GitHub Light Default — 纯白 canvas + blue-500 accent
734
- primary: "#0969DA",
735
- primaryLight: "#218BFF",
736
- primaryDark: "#0550AE",
737
- primaryGradient: "linear-gradient(135deg, #0969DA, #218BFF)",
738
- primaryGhost: "rgba(9,105,218,0.08)",
739
- primaryHover: "rgba(9,105,218,0.10)",
740
- borderAccent: "#54AEFF",
733
+ // 纯白 canvas + 海蓝 accent(#006EDC:白字 4.93:1,#F6F8FA 上 4.63:1;品牌见 docs/brand-outdoor-aesthetic.md)
734
+ primary: "#006EDC",
735
+ primaryLight: "#0874DC",
736
+ primaryDark: "#0052AD",
737
+ primaryGradient: "linear-gradient(135deg, #006EDC, #0874DC)",
738
+ primaryGhost: "rgba(0,110,220,0.08)",
739
+ primaryHover: "rgba(0,110,220,0.10)",
740
+ borderAccent: "#73BEFF",
741
741
  success: "#116329",
742
742
  warning: "#9A6700",
743
- info: "#0969DA",
743
+ info: "#006EDC",
744
744
  error: "#CF222E",
745
745
  background: "#FFFFFF",
746
746
  backgroundSecondary: "#F6F8FA",
@@ -308,6 +308,8 @@ function saveProfileOAuthSync(provider, sync, path = getDefaultProfileConfigPath
308
308
  }
309
309
 
310
310
  export {
311
+ normalizeProfileServerUrl,
312
+ isProtectedHomeProfileWrite,
311
313
  getDefaultProfileConfigPath,
312
314
  loadProfileConfig,
313
315
  clearProfileAuthToken,
@@ -319,6 +321,8 @@ export {
319
321
  getCurrentProfile,
320
322
  saveProfileLocale,
321
323
  getAgentSelectionAuditPath,
324
+ redactArgvSecrets,
325
+ appendAgentSelectionAudit,
322
326
  readLastAgentSelectionAudit,
323
327
  saveProfileAgentSelection,
324
328
  getProfileOAuthSync,