nolo-cli 0.149.0-alpha.1 → 0.151.0-alpha.3
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.
- package/{_executeModel-OW3H7ICR.js → _executeModel-T7ANHTUW.js} +134 -91
- package/accountResolver-7RYB4D2P.js +300 -0
- package/action-SXJD5N5R.js +23 -0
- package/{addContentAction-B2DRF7P6.js → addContentAction-ZV774PHH.js} +20 -14
- package/{addDialogAgentAction-2P2FLTLD.js → addDialogAgentAction-A6SMKAGH.js} +26 -22
- package/{agentDeleteCommand-7IDWF6E3.js → agentDeleteCommand-4L5KCKFY.js} +181 -93
- package/{agentEmailCommands-A6XBQZBN.js → agentEmailCommands-2IMMIRO2.js} +132 -112
- package/{agentGrantCommands-M3XFO6EN.js → agentGrantCommands-HOJ3JBBQ.js} +3 -3
- package/agentListCommands-TWFLUYIZ.js +802 -0
- package/{agentMachineCommands-DQPUIMAC.js → agentMachineCommands-KIWXWT6L.js} +58 -62
- package/{agentProviderCommands-YK2BIIXZ.js → agentProviderCommands-HL6MBLCL.js} +149 -2
- package/{agentPullCommand-HF4A42D4.js → agentPullCommand-FA43RBRU.js} +7 -7
- package/agentRecordCommands-727NPCRW.js +154 -0
- package/agentRunCommand-JASIG3FZ.js +183 -0
- package/{agentRunControl-2SKCR4SB.js → agentRunControl-IFM7IGMG.js} +10 -2
- package/{agentRuntimeLocal-AK2QVJHY.js → agentRuntimeLocal-KKSQJMTE.js} +47 -50
- package/{agentSlice-O4RUQUMT.js → agentSlice-SLV57QGU.js} +23 -16
- package/{appDeleteCommands-N3XEVVYC.js → appDeleteCommands-4PL4KYRN.js} +58 -59
- package/{appDeployCommands-AWFIXYVW.js → appDeployCommands-EEEXCEB6.js} +67 -63
- package/{appDeployStatusCommands-CZRON2FO.js → appDeployStatusCommands-35ZX7T66.js} +56 -56
- package/{appGetCommands-XQIUY4TD.js → appGetCommands-WFCHXJWF.js} +56 -56
- package/{appListCommands-NNG4H36Y.js → appListCommands-XY2U6DPF.js} +57 -59
- package/{authCommand-UBJ4EWYZ.js → authCommand-QYN47CQD.js} +371 -68
- package/{authCommands-H6WKKCRW.js → authCommands-77CHYBGF.js} +12 -9
- package/{builtinSkillRegistry-ZMF6YGNO.js → builtinSkillRegistry-TDQ6JB2E.js} +13 -11
- package/{chromeCommands-2N6MEWRU.js → chromeCommands-OBBNJCLS.js} +314 -13
- package/chromeOpsCommands-3Z34RKSE.js +472 -0
- package/{chunk-ALXHV7NK.js → chunk-2GGXHQIW.js} +43 -4
- package/{localRuntimeAuthority-5W6IJRAD.js → chunk-2IXDJNZI.js} +154 -75
- package/{chunk-IVZJWTDI.js → chunk-36OMEXXR.js} +89 -21
- package/{chunk-H6A6X4EK.js → chunk-3MZAGMYY.js} +16 -0
- package/chunk-3PVYUPXK.js +40 -0
- package/chunk-3SZA4U64.js +1192 -0
- package/{chunk-ID7LNBWR.js → chunk-3T4ZG6AC.js} +1920 -644
- package/{chunk-GNMAFAIS.js → chunk-44WXLHFI.js} +1 -1
- package/{chunk-AGGIDPCZ.js → chunk-4JH2UMJR.js} +6 -0
- package/chunk-4LCOCOR5.js +50 -0
- package/chunk-4YRTZIVN.js +871 -0
- package/{chunk-N7J63Q6C.js → chunk-56GBUMO5.js} +10 -1
- package/{chunk-W7XHHYWM.js → chunk-5BHQICF2.js} +5 -1
- package/{chunk-XUWRURDF.js → chunk-5EBLANFT.js} +1 -1
- package/{chunk-3AH7LNUB.js → chunk-5EMSBTQ6.js} +33 -14
- package/{chunk-YRRASA5Q.js → chunk-5MM7NNO6.js} +113 -52
- package/chunk-5MMAK75Q.js +15 -0
- package/{chunk-TXH4IWJL.js → chunk-626KHJNX.js} +20 -11
- package/{chunk-M5PVFLD4.js → chunk-64K7WX26.js} +90 -21
- package/{chunk-AKG5W4LG.js → chunk-6CCFTVBP.js} +76 -221
- package/chunk-6MJNEXUU.js +614 -0
- package/{chunk-62IL3KQV.js → chunk-6MXDOUMH.js} +15 -3
- package/{chunk-QOKAKDPE.js → chunk-6Q7UTJKR.js} +6 -94
- package/chunk-6QDYSCPW.js +223 -0
- package/{chunk-HYZIYH2H.js → chunk-74RAWNQN.js} +56 -63
- package/chunk-7DPNBQSV.js +9 -0
- package/{chunk-IAESIMK7.js → chunk-A4MW3YZL.js} +10 -14
- package/{chunk-OMRJYNCI.js → chunk-AG7MCDLR.js} +26 -31
- package/chunk-AGIM7IMJ.js +147 -0
- package/{chunk-7CHC4W22.js → chunk-AIZE5TDM.js} +3 -3
- package/chunk-AJ3G7X2K.js +7012 -0
- package/{chunk-5GVBDNTO.js → chunk-AU7AXHUL.js} +1 -1
- package/{chunk-4H22P2JV.js → chunk-AUIJZACN.js} +2073 -1275
- package/{chunk-CIF4X6ZM.js → chunk-AWVFQMOV.js} +25 -3
- package/{chunk-YAQJJDC2.js → chunk-BJEZC5RA.js} +214 -51
- package/{chunk-RYZINGPM.js → chunk-BPMPOFWP.js} +347 -235
- package/{chunk-YUNJN43V.js → chunk-BU2YQBV4.js} +215 -28
- package/{chunk-XPRWFQQK.js → chunk-CBHGZRCE.js} +38 -12
- package/{chunk-Y3PMXGLH.js → chunk-CHCS6XPJ.js} +365 -144
- package/chunk-CHOZJMJS.js +78 -0
- package/chunk-CYJWI3NH.js +119 -0
- package/{chunk-GBRG75BQ.js → chunk-D2MDMY2M.js} +1 -0
- package/{chunk-3SV7RM24.js → chunk-D2QN6CTI.js} +117 -72
- package/{chunk-TZZ2WRBL.js → chunk-DFDXM2Y4.js} +20 -16
- package/{chunk-5TEEECZM.js → chunk-E2AKSW7L.js} +10 -7
- package/{chunk-RSEEDUMS.js → chunk-EDX5XSJM.js} +2 -2
- package/{chunk-QDSINZM3.js → chunk-EUGTFFO6.js} +2 -23
- package/{chunk-UNYJU5L6.js → chunk-EYLGAEB4.js} +5 -1
- package/{chunk-CU3QB4HW.js → chunk-EYWJT7A2.js} +12 -12
- package/{chunk-BNGW5ASC.js → chunk-EZVK3N5L.js} +66 -18
- package/{chunk-6FGTMQCL.js → chunk-F32Z66T4.js} +6 -10
- package/{chunk-ZOVKKMF6.js → chunk-FY4SDK2E.js} +1 -1
- package/chunk-G6OOUQWJ.js +417 -0
- package/{chunk-PQWU42UQ.js → chunk-GCKHQECX.js} +6 -6
- package/chunk-GKXCHNTE.js +15 -0
- package/{chunk-P6GMCCAT.js → chunk-GQV5KHJU.js} +78 -12
- package/{chunk-B2XUQXQX.js → chunk-HIQ4GF53.js} +191 -68
- package/{chunk-GMZLP5DV.js → chunk-HNUWUO75.js} +30 -19
- package/{chunk-UASIEDKM.js → chunk-I2XLRXVX.js} +36 -31
- package/{chunk-5UTFL4QJ.js → chunk-I2ZMGXXF.js} +10 -5
- package/chunk-I42VC5KR.js +15 -0
- package/{chunk-3BXNTXYI.js → chunk-I4SN4NUQ.js} +1199 -56
- package/chunk-IA7TRNNR.js +11 -0
- package/{chunk-WIWM4FE3.js → chunk-IJERIUXS.js} +55 -748
- package/{chunk-BIDGLJQ3.js → chunk-IK2TSJQA.js} +45 -8
- package/{chunk-CPUFH46E.js → chunk-ILU2NPWY.js} +10 -10
- package/{chunk-SLLGJZDT.js → chunk-ISQL4V7C.js} +4 -4
- package/chunk-IT3ZZRJE.js +12 -0
- package/{chunk-DY7ANLKG.js → chunk-JKMLSTZK.js} +43 -12
- package/{chunk-6TPOEJMQ.js → chunk-JZX2XLKC.js} +64 -23
- package/{chunk-27ONFIEY.js → chunk-K2AER7RX.js} +19 -12
- package/{chunk-O2OWEFII.js → chunk-KFHQQ3NO.js} +1 -1
- package/{chunk-QXGPFY6J.js → chunk-LGN377P3.js} +27 -17
- package/{chunk-L36OWPP3.js → chunk-LIQJTQRN.js} +118 -139
- package/{chunk-BFU6C242.js → chunk-NMFV26UG.js} +1 -1
- package/{chunk-5J3PYNUP.js → chunk-NYYFIKHI.js} +17 -3
- package/{chunk-6O4IK4V2.js → chunk-OFFL4DCR.js} +1 -1
- package/{chunk-B6SAMB33.js → chunk-OWYYDMGJ.js} +209 -9
- package/{chunk-KQHGZWSV.js → chunk-OXME3PEE.js} +1 -1
- package/{chunk-CTUQJVQM.js → chunk-P5QACQDK.js} +1 -1
- package/{chunk-TB3MIBRC.js → chunk-PIDUNDFS.js} +572 -430
- package/{chunk-4JMDLJAD.js → chunk-PJNFNEJE.js} +114 -37
- package/chunk-PKZKOVA5.js +11507 -0
- package/{chunk-Z4CSIXYP.js → chunk-PLSVXHSA.js} +3 -3
- package/chunk-PWTNI4N7.js +47 -0
- package/chunk-QFEW2ULV.js +42 -0
- package/{chunk-RGNEEJ3Y.js → chunk-QLQ573SU.js} +35 -9
- package/chunk-QQ56R7KS.js +88 -0
- package/chunk-QYPE3TS3.js +43 -0
- package/{chunk-HTVYCXBP.js → chunk-RN2GPWN6.js} +354 -120
- package/{chunk-ATLTFRYJ.js → chunk-ROCUB2H2.js} +280 -98
- package/{chunk-4DPP773Q.js → chunk-RSHPU4PD.js} +59 -11
- package/chunk-RVWMAFIT.js +134 -0
- package/{chunk-ESHYE7WU.js → chunk-S73EPYNC.js} +10 -7
- package/{chunk-UQNS32WZ.js → chunk-SCMHQUMK.js} +1 -1
- package/chunk-SW4S4XYB.js +1794 -0
- package/{chunk-ZUEK6A6C.js → chunk-TTH4HOJD.js} +1973 -754
- package/chunk-TY3TIUJK.js +89 -0
- package/{chunk-X2QRZXZH.js → chunk-TYJ5XFEA.js} +4 -4
- package/{chunk-ALFH24P3.js → chunk-TYYRSFBG.js} +197 -155
- package/{chunk-MST6R3E4.js → chunk-U5GPBQDG.js} +34 -22
- package/chunk-U5ICMAFV.js +14110 -0
- package/{chunk-7KVZ5LDQ.js → chunk-UBUH2TCC.js} +18 -4
- package/chunk-UEILX4EV.js +15 -0
- package/chunk-UHTDNB5Y.js +140 -0
- package/{chunk-YYLHWIW6.js → chunk-UKZX3NHN.js} +1 -1
- package/{chunk-OHOVNO7I.js → chunk-UOKFKFPO.js} +6 -3
- package/{chunk-XISEYOGH.js → chunk-USHQX6VT.js} +5 -5
- package/chunk-UUPR3TD7.js +53 -0
- package/{chunk-3DAVPNFT.js → chunk-V4EE3D54.js} +122 -107
- package/{chunk-HDLLCBRF.js → chunk-VEA7H5FG.js} +2 -2
- package/chunk-VHGD6FHV.js +116 -0
- package/chunk-VIWDGTDA.js +8 -0
- package/{chunk-GOH6RW6F.js → chunk-VJXHL6MH.js} +34 -11
- package/{chunk-4XEYAFLY.js → chunk-VL5KOY2C.js} +623 -94
- package/{chunk-EADNWBAZ.js → chunk-VP3BINY7.js} +13 -0
- package/{chunk-DXHL7G2L.js → chunk-VWW6O2TL.js} +274 -93
- package/{chunk-EOARMOVD.js → chunk-W4S6OTSC.js} +6 -3
- package/chunk-WD4XYDYC.js +567 -0
- package/chunk-WJZOQR2J.js +151 -0
- package/{chunk-AUDNYVRC.js → chunk-XETG4RIX.js} +5 -5
- package/{chunk-MX574M24.js → chunk-XI7DGLUK.js} +4 -4
- package/{chunk-3L2WKC3W.js → chunk-XPWGOTBQ.js} +8 -1
- package/chunk-XRUSXPCQ.js +514 -0
- package/{chunk-I4OPU5TK.js → chunk-XS47QOFV.js} +273 -11
- package/{chunk-S5XGT6GB.js → chunk-XZNCX52W.js} +30 -9
- package/{chunk-5OA5HMTL.js → chunk-YLMMECCH.js} +1 -1
- package/{chunk-CFT5HBGW.js → chunk-YVLQXTUB.js} +448 -12
- package/chunk-YVPQATSC.js +709 -0
- package/chunk-ZEZC7IIM.js +126 -0
- package/{chunk-ALGORS6Y.js → chunk-ZF6526IQ.js} +43 -8
- package/chunk-ZIWPQEFU.js +165 -0
- package/chunk-ZRAU6T47.js +56 -0
- package/{cliExecutor-AWYR3T33.js → cliExecutor-BWBF2MTI.js} +4 -3
- package/{clipboardy-BX4NMYHE.js → clipboardy-GCO3GT3I.js} +3 -8
- package/{commandRegistry-2KBOXZQC.js → commandRegistry-NBLZEMCW.js} +183 -107
- package/contentThunks-6AIWNSGO.js +84 -0
- package/{cooldownCommands-ZLEPIB4A.js → cooldownCommands-JFKTYS2D.js} +2 -2
- package/{createAgentAutomationAction-5UGTB26P.js → createAgentAutomationAction-4BUS65DZ.js} +53 -44
- package/createDialogAction-QAIKSCG4.js +76 -0
- package/{createPageAction-CDLDKPRM.js → createPageAction-DXCZ334C.js} +65 -54
- package/cursorProvider-YGGNMVWX.js +6123 -0
- package/{db-VQSAOWAO.js → db-2QOTXYGH.js} +11 -5
- package/{dbSlice-DQ32LYTJ.js → dbSlice-J37OGIXH.js} +19 -13
- package/{deleteFile-NX6QHCWZ.js → deleteFile-6JWDDRVP.js} +10 -6
- package/dialogCommands-YZLSJB6X.js +113 -0
- package/{dialogSlice-N3YB65G5.js → dialogSlice-PVUSMKFW.js} +53 -39
- package/{docCreateCommands-ZSLGVBZT.js → docCreateCommands-JB2RRMRJ.js} +54 -57
- package/{docDeleteCommands-5N4GVZBG.js → docDeleteCommands-AQENULNM.js} +56 -58
- package/{docReadCommands-YJSAA7AV.js → docReadCommands-DYD25YLQ.js} +53 -56
- package/{docStore-E3CEOV5Q.js → docStore-CSEBEMKP.js} +25 -16
- package/{docUpdateCommands-WEMLSW6W.js → docUpdateCommands-3GVS23QL.js} +54 -57
- package/{fetchMessages-67MEFPZR.js → fetchMessages-IIJWQ3HR.js} +5 -4
- package/{getPricing-NMMFT3YI.js → getPricing-FKK3F5EJ.js} +11 -9
- package/{handleSendMessageAction-DQAD5ERJ.js → handleSendMessageAction-G2TLYGC4.js} +422 -118
- package/index.js +11 -7
- package/{lib-FRRS27KN.js → lib-4YTWAGY7.js} +581 -248
- package/{localDialogRead-EBRS242U.js → localDialogRead-FSOMOPDZ.js} +2 -2
- package/localRuntimeAdapter-B4TAYYA7.js +244 -0
- package/localRuntimeAuthority-JDAD7CB6.js +16 -0
- package/{localRuntimeDb-3LRMNLCM.js → localRuntimeDb-CVC62PM5.js} +1 -1
- package/{machineCommands-HAP75VSG.js → machineCommands-6OBFD3XF.js} +503 -161
- package/{machineInfo-66ZFUMLE.js → machineInfo-UKPTZO5Y.js} +2 -2
- package/machineWsRunDispatch-OO7N3O3Y.js +169 -0
- package/{memberThunks-5ZXPR63F.js → memberThunks-66DH6ABQ.js} +25 -18
- package/{models-ZPU5EDF4.js → models-LAS4B2B5.js} +2 -2
- package/package.json +1 -1
- package/{providerPresetApply-DD6NGWW6.js → providerPresetApply-MY66I6NT.js} +10 -10
- package/{providerRegistry-XDRLMYGJ.js → providerRegistry-QOE2FT57.js} +13 -9
- package/{read-EPTJRAEF.js → read-DC4NUGN6.js} +12 -8
- package/{readDocTool-W4NDXNEX.js → readDocTool-NCJ5NT25.js} +1 -1
- package/{readlineWorkspace-7BC66QSX.js → readlineWorkspace-UIQN7JUR.js} +5017 -915
- package/{removeDialogAgentAction-OSYNZRX7.js → removeDialogAgentAction-E2H3OZU6.js} +29 -28
- package/{runAgentClientLoop-6E6UC3CE.js → runAgentClientLoop-GS3SGG37.js} +154 -97
- package/{runtimeDoctorCommands-ID23PNNZ.js → runtimeDoctorCommands-GIOGC5SC.js} +17 -17
- package/secretCommands-ZXZRLR3R.js +700 -0
- package/setDialogExtraReferencesAction-SITRPMYU.js +37 -0
- package/{setPrimaryDialogAgentAction-WZ7KI3YA.js → setPrimaryDialogAgentAction-U7N45TGC.js} +30 -29
- package/{chunk-SONWNI3L.js → settingThunks-Y7SVJOMZ.js} +223 -928
- package/{skillDiscovery-ZBU76COE.js → skillDiscovery-QC35EQY4.js} +2 -2
- package/{slateUtils-RIZES3PV.js → slateUtils-NGV2NMKM.js} +1 -1
- package/{spaceCommands-UJOVU4XI.js → spaceCommands-ZR5BR3GX.js} +59 -59
- package/{streamAgentChatTurn-3UXPYFNX.js → streamAgentChatTurn-4XYC33KE.js} +309 -165
- package/{switchDialogAgentAction-GMR7WN3P.js → switchDialogAgentAction-OMGBD3N2.js} +26 -22
- package/{tableCommands-G7RV3RU3.js → tableCommands-U3QDY4L6.js} +19 -17
- package/{toolApiClient-CVGWM4PN.js → toolApiClient-7WSJJJBV.js} +6 -5
- package/tools-P77EE7Q4.js +124 -0
- package/tuiSummaryLlmCaller-BM3VSTBU.js +130 -0
- package/{updateCommands-4EHDLF5J.js → updateCommands-NQXAGFM7.js} +3 -3
- package/{updateDialogTitleAction-UPFV7TDT.js → updateDialogTitleAction-CIANVPZC.js} +102 -57
- package/workloadLifecycle-36DXRZKU.js +320 -0
- package/action-GI44T4DR.js +0 -31
- package/agentListCommands-IW3GQVUP.js +0 -427
- package/agentRecordCommands-VCA76W6B.js +0 -134
- package/agentRunCommand-YNLDKVR7.js +0 -161
- package/browser-image-compression-MFDTD7K6.js +0 -1763
- package/chatQueueReduxAdapter-TJRMXMYA.js +0 -186
- package/chromeOpsCommands-IXRLN57H.js +0 -289
- package/chunk-36KZDDO5.js +0 -2415
- package/chunk-ACQD6YI2.js +0 -25363
- package/chunk-CQ3WA2NE.js +0 -299
- package/chunk-CYSYR67N.js +0 -93
- package/chunk-JBTJAPUF.js +0 -35
- package/chunk-K2CSUCHJ.js +0 -620
- package/chunk-LTRXGFMS.js +0 -83
- package/chunk-M76ECQRD.js +0 -13658
- package/chunk-MEYIRKDN.js +0 -8967
- package/chunk-OCZKATRC.js +0 -129
- package/chunk-OTGFTBLI.js +0 -13
- package/chunk-PUOC4YRO.js +0 -394
- package/chunk-PZZTFEKK.js +0 -34
- package/chunk-URMS4XY2.js +0 -10
- package/chunk-UV6VISQJ.js +0 -20
- package/chunk-VJVNU77E.js +0 -83
- package/chunk-XYJSY4KG.js +0 -13807
- package/chunk-Y5GCAMGP.js +0 -9
- package/chunk-YPREESF4.js +0 -225
- package/contentThunks-BDIQRZR6.js +0 -73
- package/createDialogAction-B7VGVEVU.js +0 -66
- package/dialogCommands-G7YBVAMC.js +0 -102
- package/levelLazyShim-GZBKODGI.js +0 -7
- package/machineWsRunDispatch-L32G7C4P.js +0 -149
- package/serverStoreFactory-YMXDF4NI.js +0 -20
- package/setDialogExtraReferencesAction-M32UYNCG.js +0 -30
- package/settingSlice-Q6EKL7EQ.js +0 -204
- package/syncMapping-N6RGXGBW.js +0 -437
- package/tools-MKYDMWA4.js +0 -111
- package/tuiSummaryLlmCaller-3YFNHCTW.js +0 -128
- package/{chunk-SV5IJK6K.js → chunk-NBTY7YJF.js} +3 -3
- package/{chunk-2SYTUTLI.js → chunk-YBNHPX4S.js} +3 -3
- package/{offlineMarxistsAgentCommand-HGXZV4XJ.js → offlineMarxistsAgentCommand-2QTHJCHV.js} +4 -4
|
@@ -1,175 +1,115 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
2
|
+
DEFAULT_USER_PREFERENCE_PROFILE,
|
|
3
|
+
SYSTEM_DEFAULT_AGENT_ID,
|
|
4
|
+
hasOwn,
|
|
5
|
+
normalizeAgentUpdateFieldList,
|
|
6
|
+
normalizeAuthorityHomeServerSetting,
|
|
7
|
+
normalizeDefaultAgentIdSetting,
|
|
8
|
+
normalizeFontPreset,
|
|
9
|
+
normalizePolicyLevelSetting,
|
|
10
|
+
normalizeSystemBuiltinSkills,
|
|
11
|
+
normalizeTonePresetSetting,
|
|
12
|
+
omitKeys,
|
|
13
|
+
resolveDefaultAgentIdSetting
|
|
14
|
+
} from "./chunk-ZIWPQEFU.js";
|
|
11
15
|
import {
|
|
12
16
|
patch,
|
|
13
17
|
readAndWait,
|
|
14
18
|
toTimestampMs,
|
|
15
19
|
upsert,
|
|
16
20
|
write
|
|
17
|
-
} from "./chunk-
|
|
18
|
-
import
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
import {
|
|
24
|
-
asTrimmedLowercaseString
|
|
25
|
-
} from "./chunk-QSJ3HFEF.js";
|
|
21
|
+
} from "./chunk-74RAWNQN.js";
|
|
22
|
+
import "./chunk-3PVYUPXK.js";
|
|
23
|
+
import "./chunk-A4MW3YZL.js";
|
|
24
|
+
import "./chunk-AIZE5TDM.js";
|
|
25
|
+
import "./chunk-4YRTZIVN.js";
|
|
26
|
+
import "./chunk-UEILX4EV.js";
|
|
26
27
|
import {
|
|
27
|
-
asyncThunkCreator,
|
|
28
|
-
buildCreateSlice,
|
|
29
28
|
createAction,
|
|
30
|
-
createAsyncThunk
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
import
|
|
34
|
-
|
|
35
|
-
getIsDesktopApp,
|
|
36
|
-
isProduction
|
|
37
|
-
} from "./chunk-QOKAKDPE.js";
|
|
29
|
+
createAsyncThunk
|
|
30
|
+
} from "./chunk-IJERIUXS.js";
|
|
31
|
+
import "./chunk-6Q7UTJKR.js";
|
|
32
|
+
import "./chunk-QQ56R7KS.js";
|
|
33
|
+
import "./chunk-OW765XBU.js";
|
|
38
34
|
import {
|
|
39
35
|
selectIdentityUserId
|
|
40
36
|
} from "./chunk-SEJ5OS6F.js";
|
|
37
|
+
import "./chunk-D2MDMY2M.js";
|
|
41
38
|
import {
|
|
42
|
-
|
|
43
|
-
} from "./chunk-
|
|
39
|
+
DEFAULT_SYSTEM_AGENT_CAPABILITIES
|
|
40
|
+
} from "./chunk-EUGTFFO6.js";
|
|
41
|
+
import "./chunk-GKXCHNTE.js";
|
|
44
42
|
import {
|
|
45
|
-
|
|
46
|
-
} from "./chunk-
|
|
43
|
+
asRecordOrEmpty
|
|
44
|
+
} from "./chunk-KX6YBIHG.js";
|
|
45
|
+
import "./chunk-7DPNBQSV.js";
|
|
46
|
+
import "./chunk-EZVK3N5L.js";
|
|
47
|
+
import "./chunk-M2EJHDJP.js";
|
|
47
48
|
import {
|
|
48
|
-
|
|
49
|
-
|
|
49
|
+
createUserKey,
|
|
50
|
+
createUserPreferenceKey,
|
|
51
|
+
ulid
|
|
52
|
+
} from "./chunk-5EMSBTQ6.js";
|
|
53
|
+
import "./chunk-I42VC5KR.js";
|
|
54
|
+
import "./chunk-U6VC4MU4.js";
|
|
55
|
+
import "./chunk-WWC7I6TA.js";
|
|
56
|
+
import "./chunk-KUG52IAP.js";
|
|
57
|
+
import "./chunk-3EUW3WEO.js";
|
|
58
|
+
import "./chunk-LCBAMY2M.js";
|
|
59
|
+
import "./chunk-4SN6J65J.js";
|
|
60
|
+
import "./chunk-CF7PE763.js";
|
|
61
|
+
import "./chunk-G3SUCT4W.js";
|
|
62
|
+
import "./chunk-QSJ3HFEF.js";
|
|
63
|
+
import "./chunk-4VNS5WPM.js";
|
|
50
64
|
|
|
51
|
-
// packages/
|
|
52
|
-
var
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
preset: "default",
|
|
56
|
-
resolutionMode: "blend"
|
|
57
|
-
},
|
|
58
|
-
knowledgeCaptureMaxLevel: 4,
|
|
59
|
-
spaceContextMaxLevel: 4,
|
|
60
|
-
selfEvolutionMode: "knowledge_only"
|
|
61
|
-
};
|
|
62
|
-
var DEFAULT_USER_PREFERENCE_PROFILE = {
|
|
63
|
-
version: 1,
|
|
64
|
-
tone: {
|
|
65
|
-
preset: "default"
|
|
66
|
-
},
|
|
67
|
-
knowledgeCaptureLevel: 2,
|
|
68
|
-
spaceContextLevel: 3
|
|
65
|
+
// packages/database/userPreferenceRegister.ts
|
|
66
|
+
var USER_PREFERENCE_NAMES = {
|
|
67
|
+
AUTHORITY_HOME: "authority_home",
|
|
68
|
+
DEFAULT_AGENT: "agent_default"
|
|
69
69
|
};
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
"handle",
|
|
75
|
-
"model",
|
|
76
|
-
"provider",
|
|
77
|
-
"prompt",
|
|
78
|
-
"introduction",
|
|
79
|
-
"greeting",
|
|
80
|
-
"isPublic",
|
|
81
|
-
"tags",
|
|
82
|
-
"tools",
|
|
83
|
-
"references",
|
|
84
|
-
"temperature",
|
|
85
|
-
"top_p",
|
|
86
|
-
"frequency_penalty",
|
|
87
|
-
"presence_penalty",
|
|
88
|
-
"max_tokens",
|
|
89
|
-
"reasoning_effort"
|
|
90
|
-
];
|
|
91
|
-
var PRIMARY_AUTO_APPROVE_SELF_UPDATE_FIELDS = [
|
|
92
|
-
"greeting",
|
|
93
|
-
"introduction",
|
|
94
|
-
"tags"
|
|
95
|
-
];
|
|
96
|
-
var DEFAULT_AUTO_APPROVED_SELF_UPDATE_FIELDS = [
|
|
97
|
-
...PRIMARY_AUTO_APPROVE_SELF_UPDATE_FIELDS
|
|
98
|
-
];
|
|
99
|
-
var VALID_AGENT_UPDATE_FIELDS = new Set(AGENT_UPDATE_FIELD_NAMES);
|
|
100
|
-
var normalizeAgentUpdateFieldList = (value, fallback = DEFAULT_AUTO_APPROVED_SELF_UPDATE_FIELDS) => {
|
|
101
|
-
if (!Array.isArray(value)) {
|
|
102
|
-
return [...fallback];
|
|
103
|
-
}
|
|
104
|
-
const normalized = Array.from(
|
|
105
|
-
new Set(
|
|
106
|
-
value.filter(
|
|
107
|
-
(item) => typeof item === "string" && VALID_AGENT_UPDATE_FIELDS.has(item)
|
|
108
|
-
)
|
|
109
|
-
)
|
|
70
|
+
var nextRegisterUpdatedAt = (previousRecord) => {
|
|
71
|
+
const previousTimestamp = Math.max(
|
|
72
|
+
toTimestampMs(previousRecord?.updatedAt),
|
|
73
|
+
toTimestampMs(previousRecord?.createdAt)
|
|
110
74
|
);
|
|
111
|
-
return
|
|
112
|
-
};
|
|
113
|
-
|
|
114
|
-
// packages/app/theme/fontPreference.ts
|
|
115
|
-
var DEFAULT_FONT_PRESET = "hei";
|
|
116
|
-
var FONT_PRESET_ALIASES = {
|
|
117
|
-
system: "system",
|
|
118
|
-
default: "system",
|
|
119
|
-
hei: "hei",
|
|
120
|
-
heiti: "hei",
|
|
121
|
-
sans: "hei",
|
|
122
|
-
song: "song",
|
|
123
|
-
songti: "song",
|
|
124
|
-
serif: "song",
|
|
125
|
-
kai: "kai",
|
|
126
|
-
kaiti: "kai",
|
|
127
|
-
"kai-ti": "kai",
|
|
128
|
-
"fang-song": "fang-song",
|
|
129
|
-
fangsong: "fang-song",
|
|
130
|
-
"fang song": "fang-song"
|
|
75
|
+
return Math.max(Date.now(), previousTimestamp + 1);
|
|
131
76
|
};
|
|
132
|
-
var
|
|
133
|
-
|
|
134
|
-
|
|
77
|
+
var buildUserPreferenceRegisterRecord = ({
|
|
78
|
+
userId,
|
|
79
|
+
preferenceName,
|
|
80
|
+
value,
|
|
81
|
+
previousRecord
|
|
82
|
+
}) => {
|
|
83
|
+
const updatedAt = nextRegisterUpdatedAt(previousRecord ?? void 0);
|
|
84
|
+
return {
|
|
85
|
+
type: "setting" /* SETTING */,
|
|
86
|
+
registerType: "user_preference",
|
|
87
|
+
preferenceName,
|
|
88
|
+
schemaVersion: 1,
|
|
89
|
+
userId,
|
|
90
|
+
value,
|
|
91
|
+
opId: ulid(),
|
|
92
|
+
createdAt: toTimestampMs(previousRecord?.createdAt) || updatedAt,
|
|
93
|
+
updatedAt
|
|
94
|
+
};
|
|
135
95
|
};
|
|
136
|
-
var
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
"sans-ko": "var(--font-sans-ko-system)"
|
|
143
|
-
},
|
|
144
|
-
hei: {
|
|
145
|
-
ui: "var(--font-ui-hei)",
|
|
146
|
-
"sans-zh": "var(--font-sans-zh-hei)",
|
|
147
|
-
"sans-en": "var(--font-sans-en-hei)",
|
|
148
|
-
"sans-ja": "var(--font-sans-ja-system)",
|
|
149
|
-
"sans-ko": "var(--font-sans-ko-system)"
|
|
150
|
-
},
|
|
151
|
-
song: {
|
|
152
|
-
ui: "var(--font-ui-song)",
|
|
153
|
-
"sans-zh": "var(--font-sans-zh-song)",
|
|
154
|
-
"sans-en": "var(--font-sans-en-song)",
|
|
155
|
-
"sans-ja": "var(--font-sans-ja-system)",
|
|
156
|
-
"sans-ko": "var(--font-sans-ko-system)"
|
|
157
|
-
},
|
|
158
|
-
kai: {
|
|
159
|
-
ui: "var(--font-ui-kai)",
|
|
160
|
-
"sans-zh": "var(--font-sans-zh-kai)",
|
|
161
|
-
"sans-en": "var(--font-sans-en-kai)",
|
|
162
|
-
"sans-ja": "var(--font-sans-ja-system)",
|
|
163
|
-
"sans-ko": "var(--font-sans-ko-system)"
|
|
164
|
-
},
|
|
165
|
-
"fang-song": {
|
|
166
|
-
ui: "var(--font-ui-fang-song)",
|
|
167
|
-
"sans-zh": "var(--font-sans-zh-fang-song)",
|
|
168
|
-
"sans-en": "var(--font-sans-en-fang-song)",
|
|
169
|
-
"sans-ja": "var(--font-sans-ja-system)",
|
|
170
|
-
"sans-ko": "var(--font-sans-ko-system)"
|
|
171
|
-
}
|
|
96
|
+
var readUserPreferenceRegisterValue = (record, preferenceName) => {
|
|
97
|
+
if (!record || typeof record !== "object") return void 0;
|
|
98
|
+
if (record.registerType !== "user_preference") return void 0;
|
|
99
|
+
if (record.preferenceName !== preferenceName) return void 0;
|
|
100
|
+
if (!("value" in record)) return void 0;
|
|
101
|
+
return record.value;
|
|
172
102
|
};
|
|
103
|
+
var buildDefaultAgentPreferenceRegisterRecord = ({
|
|
104
|
+
userId,
|
|
105
|
+
defaultAgentId,
|
|
106
|
+
previousRecord
|
|
107
|
+
}) => buildUserPreferenceRegisterRecord({
|
|
108
|
+
userId,
|
|
109
|
+
preferenceName: USER_PREFERENCE_NAMES.DEFAULT_AGENT,
|
|
110
|
+
value: defaultAgentId,
|
|
111
|
+
previousRecord
|
|
112
|
+
});
|
|
173
113
|
|
|
174
114
|
// packages/app/theme/colors.ts
|
|
175
115
|
var semantic = {
|
|
@@ -725,7 +665,7 @@ var mono = {
|
|
|
725
665
|
};
|
|
726
666
|
var catppuccin = {
|
|
727
667
|
// 保留 catppuccin 的柔和圆角 + 弹性缓动;light surface 沿用 GitHub Light palette,
|
|
728
|
-
// light accent 为品牌海蓝(非 GitHub 蓝),dark 为 Catppuccin Mocha
|
|
668
|
+
// light accent 为品牌海蓝(非 GitHub 蓝),dark 为 Catppuccin Mocha。合成后名字/位次不变;默认主题已改为 nature(2026-10)。
|
|
729
669
|
// Reviewer 改进:dark textTertiary/quaternary 提亮达 WCAG AA;light warning 改琥珀色;
|
|
730
670
|
// light backgroundElevated 拉开与画布的层级,大圆角浮层不再粘连。
|
|
731
671
|
meta: { radiusBoost: 2, motionEase: "cubic-bezier(0.22, 1, 0.36, 1)" },
|
|
@@ -803,26 +743,112 @@ var catppuccin = {
|
|
|
803
743
|
textOnPrimary: "#1E1E2E"
|
|
804
744
|
}
|
|
805
745
|
};
|
|
746
|
+
var nature = {
|
|
747
|
+
meta: { radiusBoost: 2, motionEase: "cubic-bezier(0.22, 1, 0.36, 1)" },
|
|
748
|
+
light: {
|
|
749
|
+
primary: "#1A5FA4",
|
|
750
|
+
primaryLight: "#2879CD",
|
|
751
|
+
// --hl-blue
|
|
752
|
+
primaryDark: "#154F8A",
|
|
753
|
+
primaryGradient: "linear-gradient(135deg, #1A5FA4, #2879CD)",
|
|
754
|
+
primaryGhost: "rgba(40,121,205,0.08)",
|
|
755
|
+
primaryHover: "rgba(40,121,205,0.12)",
|
|
756
|
+
borderAccent: "#8DB8E4",
|
|
757
|
+
success: "#2F6B36",
|
|
758
|
+
// --hl-green-ink(paper 5.79:1)
|
|
759
|
+
warning: "#8A6320",
|
|
760
|
+
// --hl-sand 压暗(paper 4.89:1)
|
|
761
|
+
info: "#1A5FA4",
|
|
762
|
+
error: "#B3361F",
|
|
763
|
+
// --hl-danger 压暗(paper 5.48:1,surface-sub 4.98:1)
|
|
764
|
+
background: "#FAF8F4",
|
|
765
|
+
// --hl-paper
|
|
766
|
+
backgroundSecondary: "#F3F0EA",
|
|
767
|
+
// --hl-surface-sub
|
|
768
|
+
backgroundTertiary: "#EBE7DF",
|
|
769
|
+
backgroundGhost: "rgba(250,248,244,0.94)",
|
|
770
|
+
backgroundHover: "#EBE7DF",
|
|
771
|
+
backgroundSelected: "#E4DFD5",
|
|
772
|
+
backgroundElevated: "#FFFEFB",
|
|
773
|
+
// --hl-surface
|
|
774
|
+
text: "#1F2733",
|
|
775
|
+
// --hl-ink
|
|
776
|
+
textSecondary: "#5B6472",
|
|
777
|
+
// --hl-muted
|
|
778
|
+
textTertiary: "#5F6773",
|
|
779
|
+
// paper 5.17:1 / surface-sub 4.69:1(侧栏 11px 分组标题落在 surface-sub 上,需过 AA)
|
|
780
|
+
textQuaternary: "#8A8F96",
|
|
781
|
+
textLight: "#E0DFDD",
|
|
782
|
+
placeholder: "#5F6773",
|
|
783
|
+
border: "#E0DFDD",
|
|
784
|
+
// --hl-line:ink 12% on paper
|
|
785
|
+
borderHover: "#CACAC9",
|
|
786
|
+
// ink 22% on paper
|
|
787
|
+
borderLight: "#EBE9E7",
|
|
788
|
+
// ink 7% on paper
|
|
789
|
+
messageBackground: "#F3F0EA",
|
|
790
|
+
codeBackground: "#FFFEFB",
|
|
791
|
+
shadowLight: "rgba(120,90,60,0.06)",
|
|
792
|
+
// --hl-shadow 调性
|
|
793
|
+
shadowMedium: "rgba(120,90,60,0.10)",
|
|
794
|
+
shadowHeavy: "rgba(120,90,60,0.16)",
|
|
795
|
+
textHeading: "#1F2733",
|
|
796
|
+
textOnPrimary: "#FFFEFA"
|
|
797
|
+
// --hl-on-ink
|
|
798
|
+
},
|
|
799
|
+
dark: {
|
|
800
|
+
primary: "#6AA8EA",
|
|
801
|
+
// --hl-blue(夜)
|
|
802
|
+
primaryLight: "#8FBEF0",
|
|
803
|
+
primaryDark: "#4F93DC",
|
|
804
|
+
primaryGradient: "linear-gradient(135deg, #6AA8EA, #8FBEF0)",
|
|
805
|
+
primaryGhost: "rgba(106,168,234,0.12)",
|
|
806
|
+
primaryHover: "rgba(106,168,234,0.16)",
|
|
807
|
+
borderAccent: "#6AA8EA",
|
|
808
|
+
success: "#8FD09B",
|
|
809
|
+
// --hl-green-ink(夜)
|
|
810
|
+
warning: "#D9B26A",
|
|
811
|
+
// --hl-sand(夜)
|
|
812
|
+
info: "#6AA8EA",
|
|
813
|
+
error: "#F08A7A",
|
|
814
|
+
// --hl-danger(夜)
|
|
815
|
+
background: "#1C1B20",
|
|
816
|
+
// --hl-paper(夜)
|
|
817
|
+
backgroundSecondary: "#25242A",
|
|
818
|
+
// --hl-surface(夜)
|
|
819
|
+
backgroundTertiary: "#2E2C34",
|
|
820
|
+
// --hl-surface-sub(夜)
|
|
821
|
+
backgroundGhost: "rgba(28,27,32,0.94)",
|
|
822
|
+
backgroundHover: "#2E2C34",
|
|
823
|
+
backgroundSelected: "#38363F",
|
|
824
|
+
backgroundElevated: "#25242A",
|
|
825
|
+
text: "#ECE6DC",
|
|
826
|
+
// --hl-ink(夜)
|
|
827
|
+
textSecondary: "#C9C2B6",
|
|
828
|
+
// --hl-nav(夜)
|
|
829
|
+
textTertiary: "#A7A197",
|
|
830
|
+
// --hl-muted(夜)
|
|
831
|
+
textQuaternary: "#8F8A82",
|
|
832
|
+
textLight: "#38363F",
|
|
833
|
+
placeholder: "#8F8A82",
|
|
834
|
+
border: "#353337",
|
|
835
|
+
// ink 12% on paper(夜)
|
|
836
|
+
borderHover: "#4A4849",
|
|
837
|
+
borderLight: "#2B292D",
|
|
838
|
+
messageBackground: "#25242A",
|
|
839
|
+
codeBackground: "#16151A",
|
|
840
|
+
shadowLight: "rgba(0,0,0,0.22)",
|
|
841
|
+
shadowMedium: "rgba(0,0,0,0.36)",
|
|
842
|
+
shadowHeavy: "rgba(0,0,0,0.52)",
|
|
843
|
+
textHeading: "#ECE6DC",
|
|
844
|
+
textOnPrimary: "#1C1B20"
|
|
845
|
+
// --hl-on-ink(夜)
|
|
846
|
+
}
|
|
847
|
+
};
|
|
806
848
|
|
|
807
849
|
// packages/app/theme/theme.config.ts
|
|
808
|
-
var SPACE = {
|
|
809
|
-
0: "0",
|
|
810
|
-
1: "4px",
|
|
811
|
-
2: "8px",
|
|
812
|
-
3: "12px",
|
|
813
|
-
4: "16px",
|
|
814
|
-
5: "20px",
|
|
815
|
-
6: "24px",
|
|
816
|
-
7: "28px",
|
|
817
|
-
8: "32px",
|
|
818
|
-
10: "40px",
|
|
819
|
-
12: "48px",
|
|
820
|
-
14: "56px",
|
|
821
|
-
16: "64px",
|
|
822
|
-
20: "80px",
|
|
823
|
-
24: "96px"
|
|
824
|
-
};
|
|
825
850
|
var THEME_COLORS = {
|
|
851
|
+
nature,
|
|
826
852
|
catppuccin,
|
|
827
853
|
trail,
|
|
828
854
|
wave,
|
|
@@ -846,151 +872,20 @@ var THEME_NAME_ALIASES = {
|
|
|
846
872
|
red: "mono",
|
|
847
873
|
mocha: "catppuccin"
|
|
848
874
|
};
|
|
849
|
-
var DEFAULT_THEME_NAME = "catppuccin";
|
|
850
875
|
|
|
851
876
|
// packages/app/theme/themeModeBootstrap.ts
|
|
852
|
-
var THEME_MODE_VALUES = ["system", "light", "dark"];
|
|
853
877
|
var SYSTEM_DARK_MEDIA_QUERY = "(prefers-color-scheme: dark)";
|
|
854
|
-
var createLiteralGuard = (values) => (value) => typeof value === "string" && values.includes(value);
|
|
855
|
-
var isThemeMode = (value) => createLiteralGuard(THEME_MODE_VALUES)(value);
|
|
856
878
|
var normalizeThemeName = (value) => {
|
|
857
879
|
if (typeof value !== "string") return void 0;
|
|
858
880
|
const canonicalName = value in THEME_NAME_ALIASES ? THEME_NAME_ALIASES[value] : value;
|
|
859
881
|
return canonicalName in THEME_COLORS ? canonicalName : void 0;
|
|
860
882
|
};
|
|
861
883
|
var resolveThemeModeIsDark = (themeMode, systemPrefersDark) => themeMode === "dark" ? true : themeMode === "light" ? false : systemPrefersDark;
|
|
862
|
-
function readStoredThemeMode(storage) {
|
|
863
|
-
try {
|
|
864
|
-
const value = storage?.getItem("nolo-theme-mode");
|
|
865
|
-
return isThemeMode(value) ? value : "system";
|
|
866
|
-
} catch {
|
|
867
|
-
return "system";
|
|
868
|
-
}
|
|
869
|
-
}
|
|
870
|
-
function resolveThemeModePreload({
|
|
871
|
-
storage,
|
|
872
|
-
systemPrefersDark
|
|
873
|
-
}) {
|
|
874
|
-
const themeMode = readStoredThemeMode(storage);
|
|
875
|
-
return {
|
|
876
|
-
themeMode,
|
|
877
|
-
isDark: resolveThemeModeIsDark(themeMode, systemPrefersDark)
|
|
878
|
-
};
|
|
879
|
-
}
|
|
880
884
|
|
|
881
|
-
// packages/app/settings/
|
|
882
|
-
var
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
var _preloadedTheme = typeof window !== "undefined" ? resolveThemeModePreload({
|
|
886
|
-
storage: typeof localStorage !== "undefined" ? localStorage : void 0,
|
|
887
|
-
systemPrefersDark: typeof window.matchMedia === "function" ? window.matchMedia(SYSTEM_DARK_MEDIA_QUERY).matches : false
|
|
888
|
-
}) : { themeMode: "system", isDark: false };
|
|
889
|
-
var initialState = {
|
|
890
|
-
isAutoSync: false,
|
|
891
|
-
currentServer: isProduction ? SERVERS.MAIN : SERVERS.US,
|
|
892
|
-
syncServers: Object.values(SERVERS),
|
|
893
|
-
showThinking: true,
|
|
894
|
-
preferredAnimationSet: 0,
|
|
895
|
-
maxExecutionTime: 6e5,
|
|
896
|
-
maxCost: 1,
|
|
897
|
-
themeName: DEFAULT_THEME_NAME,
|
|
898
|
-
themeMode: _preloadedTheme.themeMode,
|
|
899
|
-
isDark: _preloadedTheme.isDark,
|
|
900
|
-
sidebarWidth: 280,
|
|
901
|
-
headerHeight: 56,
|
|
902
|
-
density: "compact",
|
|
903
|
-
fontPreset: DEFAULT_FONT_PRESET,
|
|
904
|
-
editorDefaultMode: "markdown",
|
|
905
|
-
editorLightCodeTheme: "default",
|
|
906
|
-
editorDarkCodeTheme: "okaidia",
|
|
907
|
-
editorWordCountEnabled: true,
|
|
908
|
-
editorShortcuts: {
|
|
909
|
-
heading: true,
|
|
910
|
-
ulist: true,
|
|
911
|
-
olist: true,
|
|
912
|
-
quote: true,
|
|
913
|
-
code: true,
|
|
914
|
-
tasklist: true
|
|
915
|
-
},
|
|
916
|
-
editorFontSize: 14,
|
|
917
|
-
editorAutoSave: true,
|
|
918
|
-
editorAutoSaveInterval: 30,
|
|
919
|
-
editorLineNumbers: false,
|
|
920
|
-
editorWordWrap: true,
|
|
921
|
-
editorSpellCheck: true,
|
|
922
|
-
editorTabSize: 2,
|
|
923
|
-
editorFontFamily: "SF Mono, Monaco, Cascadia Code, Roboto Mono, monospace",
|
|
924
|
-
enableReadCurrentSpace: true,
|
|
925
|
-
globalPrompt: "",
|
|
926
|
-
userTonePreset: "default",
|
|
927
|
-
knowledgeCaptureLevel: DEFAULT_USER_PREFERENCE_PROFILE.knowledgeCaptureLevel,
|
|
928
|
-
spaceContextLevel: DEFAULT_USER_PREFERENCE_PROFILE.spaceContextLevel,
|
|
929
|
-
autoApproveSelfUpdateFields: [...DEFAULT_AUTO_APPROVED_SELF_UPDATE_FIELDS],
|
|
930
|
-
aiRecentContentLimit: 50,
|
|
931
|
-
defaultAgentId: SYSTEM_DEFAULT_AGENT_ID,
|
|
932
|
-
quickChatAutoAgentId: "",
|
|
933
|
-
ocrModel: "google_document_ocr",
|
|
934
|
-
showScrollToTopButton: false,
|
|
935
|
-
showScrollToBottomButton: false,
|
|
936
|
-
createMenuOpenCount: 0,
|
|
937
|
-
desktopChromeConnectorEnabled: false,
|
|
938
|
-
developerModeEnabled: false,
|
|
939
|
-
diagnosticModeEnabled: false,
|
|
940
|
-
deleteShortcut: typeof window !== "undefined" && typeof window.navigator !== "undefined" && /Mac|iPod|iPhone|iPad/.test(window.navigator.platform) ? "meta+backspace" : "ctrl+backspace",
|
|
941
|
-
// 系统内置 Skill 默认全开;用户可在设置页单关。目前只有 web-search。
|
|
942
|
-
systemBuiltinSkills: { ...DEFAULT_SYSTEM_AGENT_CAPABILITIES }
|
|
943
|
-
};
|
|
944
|
-
var DEFAULT_SYSTEM_BUILTIN_SKILLS = DEFAULT_SYSTEM_AGENT_CAPABILITIES;
|
|
945
|
-
|
|
946
|
-
// packages/database/userPreferenceRegister.ts
|
|
947
|
-
var USER_PREFERENCE_NAMES = {
|
|
948
|
-
AUTHORITY_HOME: "authority_home",
|
|
949
|
-
DEFAULT_AGENT: "agent_default"
|
|
950
|
-
};
|
|
951
|
-
var nextRegisterUpdatedAt = (previousRecord) => {
|
|
952
|
-
const previousTimestamp = Math.max(
|
|
953
|
-
toTimestampMs(previousRecord?.updatedAt),
|
|
954
|
-
toTimestampMs(previousRecord?.createdAt)
|
|
955
|
-
);
|
|
956
|
-
return Math.max(Date.now(), previousTimestamp + 1);
|
|
957
|
-
};
|
|
958
|
-
var buildUserPreferenceRegisterRecord = ({
|
|
959
|
-
userId,
|
|
960
|
-
preferenceName,
|
|
961
|
-
value,
|
|
962
|
-
previousRecord
|
|
963
|
-
}) => {
|
|
964
|
-
const updatedAt = nextRegisterUpdatedAt(previousRecord ?? void 0);
|
|
965
|
-
return {
|
|
966
|
-
type: "setting" /* SETTING */,
|
|
967
|
-
registerType: "user_preference",
|
|
968
|
-
preferenceName,
|
|
969
|
-
schemaVersion: 1,
|
|
970
|
-
userId,
|
|
971
|
-
value,
|
|
972
|
-
opId: ulid(),
|
|
973
|
-
createdAt: toTimestampMs(previousRecord?.createdAt) || updatedAt,
|
|
974
|
-
updatedAt
|
|
975
|
-
};
|
|
976
|
-
};
|
|
977
|
-
var readUserPreferenceRegisterValue = (record, preferenceName) => {
|
|
978
|
-
if (!record || typeof record !== "object") return void 0;
|
|
979
|
-
if (record.registerType !== "user_preference") return void 0;
|
|
980
|
-
if (record.preferenceName !== preferenceName) return void 0;
|
|
981
|
-
if (!("value" in record)) return void 0;
|
|
982
|
-
return record.value;
|
|
983
|
-
};
|
|
984
|
-
var buildDefaultAgentPreferenceRegisterRecord = ({
|
|
985
|
-
userId,
|
|
986
|
-
defaultAgentId,
|
|
987
|
-
previousRecord
|
|
988
|
-
}) => buildUserPreferenceRegisterRecord({
|
|
989
|
-
userId,
|
|
990
|
-
preferenceName: USER_PREFERENCE_NAMES.DEFAULT_AGENT,
|
|
991
|
-
value: defaultAgentId,
|
|
992
|
-
previousRecord
|
|
993
|
-
});
|
|
885
|
+
// packages/app/settings/settingActions.ts
|
|
886
|
+
var updateSettingsState = createAction(
|
|
887
|
+
"settings/_updateSettingsState"
|
|
888
|
+
);
|
|
994
889
|
|
|
995
890
|
// packages/app/settings/dbActionThunks.ts
|
|
996
891
|
var getDefaultSettingDbActionThunks = () => ({
|
|
@@ -1014,74 +909,6 @@ var withSettingsRecordSchema = (changes) => ({
|
|
|
1014
909
|
schemaVersion: SETTINGS_RECORD_SCHEMA_VERSION
|
|
1015
910
|
});
|
|
1016
911
|
|
|
1017
|
-
// packages/app/settings/settingNormalizers.ts
|
|
1018
|
-
var hasOwn = (target, key) => Object.prototype.hasOwnProperty.call(target, key);
|
|
1019
|
-
var normalizeDefaultAgentIdSetting = (value) => {
|
|
1020
|
-
if (typeof value !== "string" || value.trim() === "") {
|
|
1021
|
-
return void 0;
|
|
1022
|
-
}
|
|
1023
|
-
return value === noloAgentId || value === SYSTEM_DEFAULT_AGENT_ID ? SYSTEM_DEFAULT_AGENT_ID : value;
|
|
1024
|
-
};
|
|
1025
|
-
var normalizeAuthorityHomeServerSetting = (value) => {
|
|
1026
|
-
const normalized = normalizeServerOrigin(value);
|
|
1027
|
-
return /^https?:\/\//i.test(normalized) ? normalized : null;
|
|
1028
|
-
};
|
|
1029
|
-
var normalizeTonePresetSetting = (value) => {
|
|
1030
|
-
switch (value) {
|
|
1031
|
-
case "professional":
|
|
1032
|
-
case "friendly":
|
|
1033
|
-
case "direct":
|
|
1034
|
-
case "pragmatic":
|
|
1035
|
-
case "default":
|
|
1036
|
-
return value;
|
|
1037
|
-
default:
|
|
1038
|
-
return DEFAULT_USER_PREFERENCE_PROFILE.tone?.preset ?? "default";
|
|
1039
|
-
}
|
|
1040
|
-
};
|
|
1041
|
-
var normalizePolicyLevelSetting = (value, fallback) => {
|
|
1042
|
-
const n = Number(value);
|
|
1043
|
-
if (n === 1 || n === 2 || n === 3 || n === 4) {
|
|
1044
|
-
return n;
|
|
1045
|
-
}
|
|
1046
|
-
return fallback;
|
|
1047
|
-
};
|
|
1048
|
-
var resolveDefaultAgentIdSetting = (value) => normalizeDefaultAgentIdSetting(value) ?? SYSTEM_DEFAULT_AGENT_ID;
|
|
1049
|
-
var selectResolvedDefaultAgentId = (value) => {
|
|
1050
|
-
const normalizedValue = resolveDefaultAgentIdSetting(value);
|
|
1051
|
-
return normalizedValue === SYSTEM_DEFAULT_AGENT_ID ? noloAgentId : normalizedValue;
|
|
1052
|
-
};
|
|
1053
|
-
var hexToRgbString = (value) => {
|
|
1054
|
-
if (typeof value !== "string") return null;
|
|
1055
|
-
const normalized = value.trim().replace(/^#/, "");
|
|
1056
|
-
const safe = normalized.length === 3 ? normalized.split("").map((char) => char + char).join("") : normalized;
|
|
1057
|
-
if (!/^[0-9a-fA-F]{6}$/.test(safe)) return null;
|
|
1058
|
-
const intValue = Number.parseInt(safe, 16);
|
|
1059
|
-
const r = intValue >> 16 & 255;
|
|
1060
|
-
const g = intValue >> 8 & 255;
|
|
1061
|
-
const b = intValue & 255;
|
|
1062
|
-
return `${r}, ${g}, ${b}`;
|
|
1063
|
-
};
|
|
1064
|
-
var alphaColor = (hex, alpha, fallback) => {
|
|
1065
|
-
const rgb = hexToRgbString(hex);
|
|
1066
|
-
return rgb ? `rgba(${rgb}, ${alpha})` : fallback;
|
|
1067
|
-
};
|
|
1068
|
-
var omitKeys = (record, keys) => {
|
|
1069
|
-
const next = { ...record };
|
|
1070
|
-
keys.forEach((key) => {
|
|
1071
|
-
delete next[key];
|
|
1072
|
-
});
|
|
1073
|
-
return next;
|
|
1074
|
-
};
|
|
1075
|
-
var isRecordLike = (v) => typeof v === "object" && v !== null && !Array.isArray(v);
|
|
1076
|
-
var normalizeSystemBuiltinSkills = (value, defaults) => {
|
|
1077
|
-
const base = isRecordLike(value) ? value : {};
|
|
1078
|
-
const result = { ...defaults };
|
|
1079
|
-
for (const key of Object.keys(base)) {
|
|
1080
|
-
result[key] = Boolean(base[key]);
|
|
1081
|
-
}
|
|
1082
|
-
return result;
|
|
1083
|
-
};
|
|
1084
|
-
|
|
1085
912
|
// packages/app/settings/settingPersistence.ts
|
|
1086
913
|
var normalizeSettingChanges = (changes) => {
|
|
1087
914
|
let normalizedChanges = changes;
|
|
@@ -1145,7 +972,7 @@ var normalizeSettingChanges = (changes) => {
|
|
|
1145
972
|
...normalizedChanges,
|
|
1146
973
|
systemBuiltinSkills: normalizeSystemBuiltinSkills(
|
|
1147
974
|
normalizedChanges.systemBuiltinSkills,
|
|
1148
|
-
|
|
975
|
+
DEFAULT_SYSTEM_AGENT_CAPABILITIES
|
|
1149
976
|
)
|
|
1150
977
|
};
|
|
1151
978
|
}
|
|
@@ -1167,7 +994,6 @@ var LOCAL_FIRST_APPEARANCE_KEYS = Object.freeze(
|
|
|
1167
994
|
LOCAL_APPEARANCE_KEY_NAMES.map((key) => [key, true])
|
|
1168
995
|
)
|
|
1169
996
|
);
|
|
1170
|
-
var LOCAL_ONLY_SETTINGS_KEYS = LOCAL_FIRST_APPEARANCE_KEYS;
|
|
1171
997
|
var GUEST_UPDATABLE_KEYS = Object.freeze(
|
|
1172
998
|
Object.fromEntries(
|
|
1173
999
|
GUEST_UPDATABLE_KEY_NAMES.map((key) => [key, true])
|
|
@@ -1183,6 +1009,7 @@ var isLocalFirstAppearanceChange = (changes) => {
|
|
|
1183
1009
|
};
|
|
1184
1010
|
var stripRegisterBackedFieldsFromSettingsWrite = (changes) => {
|
|
1185
1011
|
return omitKeys(changes, [
|
|
1012
|
+
"autoApproveCredits",
|
|
1186
1013
|
"defaultSpaceId",
|
|
1187
1014
|
"userAuthorityRegistry",
|
|
1188
1015
|
...LOCAL_APPEARANCE_KEY_NAMES
|
|
@@ -1194,6 +1021,7 @@ var sanitizeStoredSettingsRecord = (settingsRecord) => {
|
|
|
1194
1021
|
}
|
|
1195
1022
|
const record = settingsRecord;
|
|
1196
1023
|
const sanitizedSettings = omitKeys(record, [
|
|
1024
|
+
"autoApproveCredits",
|
|
1197
1025
|
"defaultSpaceId",
|
|
1198
1026
|
"schemaVersion",
|
|
1199
1027
|
...LOCAL_APPEARANCE_KEY_NAMES
|
|
@@ -1216,6 +1044,8 @@ var hydrateStoredSettings = ({
|
|
|
1216
1044
|
const userAuthorityRegistryIsEmpty = Object.keys(userAuthorityRegistry).length === 0;
|
|
1217
1045
|
const hydratedSettings = {
|
|
1218
1046
|
...baseSettings,
|
|
1047
|
+
// 服务端独占字段:只读回显(缺失时沿用初始值 0,非法值按 0)
|
|
1048
|
+
...hasOwn(record, "autoApproveCredits") ? { autoApproveCredits: typeof record.autoApproveCredits === "number" && Number.isFinite(record.autoApproveCredits) && record.autoApproveCredits >= 0 ? record.autoApproveCredits : 0 } : {},
|
|
1219
1049
|
...userAuthorityRegistryIsEmpty ? {} : { userAuthorityRegistry },
|
|
1220
1050
|
defaultAgentId: resolvedDefaultAgentId
|
|
1221
1051
|
};
|
|
@@ -1287,439 +1117,6 @@ var persistDefaultAgentRegister = async (dispatch, getState, userId, value) => {
|
|
|
1287
1117
|
).unwrap();
|
|
1288
1118
|
};
|
|
1289
1119
|
|
|
1290
|
-
// packages/app/settings/serverSelectors.ts
|
|
1291
|
-
var resolveDesktopSafeServer = (value) => {
|
|
1292
|
-
if (!getIsDesktopApp()) return value || SERVERS.MAIN;
|
|
1293
|
-
return isLocalServerUrl(value) ? SERVERS.MAIN : value || SERVERS.MAIN;
|
|
1294
|
-
};
|
|
1295
|
-
var selectSettings = (state) => state.settings;
|
|
1296
|
-
var selectCurrentServer = createSelector(
|
|
1297
|
-
[selectSettings],
|
|
1298
|
-
(settings) => resolveDesktopSafeServer(settings.currentServer)
|
|
1299
|
-
);
|
|
1300
|
-
var selectSyncServers = createSelector(
|
|
1301
|
-
[selectSettings],
|
|
1302
|
-
(settings) => (settings.syncServers || []).filter(
|
|
1303
|
-
(server) => !getIsDesktopApp() || !isLocalServerUrl(server)
|
|
1304
|
-
)
|
|
1305
|
-
);
|
|
1306
|
-
var selectRemoteServer = selectCurrentServer;
|
|
1307
|
-
var selectRemoteSyncServers = selectSyncServers;
|
|
1308
|
-
var selectRemoteServers = createSelector(
|
|
1309
|
-
[selectRemoteServer, selectRemoteSyncServers],
|
|
1310
|
-
(currentServer, syncServers) => getAllServers(currentServer, syncServers)
|
|
1311
|
-
);
|
|
1312
|
-
|
|
1313
|
-
// packages/app/settings/fieldSelectors.ts
|
|
1314
|
-
var selectPreferredAnimationSet = (state) => state.settings.preferredAnimationSet ?? 0;
|
|
1315
|
-
var selectShowThinking = (state) => state.settings.showThinking;
|
|
1316
|
-
var selectMaxCost = (state) => state.settings.maxCost;
|
|
1317
|
-
var selectMaxExecutionTime = (state) => state.settings.maxExecutionTime;
|
|
1318
|
-
var selectIsDark = (state) => state.settings.isDark;
|
|
1319
|
-
var selectThemeMode = (state) => state.settings.themeMode ?? "system";
|
|
1320
|
-
var selectHeaderHeight = (state) => state.settings.headerHeight;
|
|
1321
|
-
var selectThemeName = (state) => state.settings.themeName;
|
|
1322
|
-
var selectThemeFollowsSystem = (state) => (state.settings.themeMode ?? "system") === "system";
|
|
1323
|
-
var selectSidebarWidth = (state) => state.settings.sidebarWidth;
|
|
1324
|
-
var selectDensity = (state) => state.settings.density ?? "compact";
|
|
1325
|
-
var selectFontPreset = (state) => normalizeFontPreset(state.settings.fontPreset) ?? DEFAULT_FONT_PRESET;
|
|
1326
|
-
var selectEnableReadCurrentSpace = (state) => state.settings.enableReadCurrentSpace;
|
|
1327
|
-
var selectGlobalPrompt = (state) => state.settings.globalPrompt;
|
|
1328
|
-
var selectUserTonePreset = (state) => normalizeTonePresetSetting(state.settings.userTonePreset);
|
|
1329
|
-
var selectKnowledgeCaptureLevel = (state) => normalizePolicyLevelSetting(
|
|
1330
|
-
state.settings.knowledgeCaptureLevel,
|
|
1331
|
-
DEFAULT_USER_PREFERENCE_PROFILE.knowledgeCaptureLevel
|
|
1332
|
-
);
|
|
1333
|
-
var selectSpaceContextLevel = (state) => state.settings.enableReadCurrentSpace === false ? 1 : normalizePolicyLevelSetting(
|
|
1334
|
-
state.settings.spaceContextLevel,
|
|
1335
|
-
DEFAULT_USER_PREFERENCE_PROFILE.spaceContextLevel
|
|
1336
|
-
);
|
|
1337
|
-
var selectAutoApproveSelfUpdateFields = createSelector(
|
|
1338
|
-
[(state) => state.settings.autoApproveSelfUpdateFields],
|
|
1339
|
-
(fields) => normalizeAgentUpdateFieldList(
|
|
1340
|
-
fields,
|
|
1341
|
-
DEFAULT_AUTO_APPROVED_SELF_UPDATE_FIELDS
|
|
1342
|
-
)
|
|
1343
|
-
);
|
|
1344
|
-
var selectAiRecentContentLimit = (state) => state.settings.aiRecentContentLimit ?? 50;
|
|
1345
|
-
var selectDefaultAgentPreference = (state) => resolveDefaultAgentIdSetting(state.settings.defaultAgentId);
|
|
1346
|
-
var selectDefaultAgentId = (state) => selectResolvedDefaultAgentId(state.settings.defaultAgentId);
|
|
1347
|
-
var selectOcrModel = (state) => {
|
|
1348
|
-
if (state.settings.ocrModel === "none") return "none";
|
|
1349
|
-
if (state.settings.ocrModel === "olm_ocr") return "olm_ocr";
|
|
1350
|
-
return "google_document_ocr";
|
|
1351
|
-
};
|
|
1352
|
-
var selectShowScrollToTopButton = (state) => state.settings.showScrollToTopButton ?? false;
|
|
1353
|
-
var selectShowScrollToBottomButton = (state) => state.settings.showScrollToBottomButton ?? false;
|
|
1354
|
-
var selectCreateMenuOpenCount = (state) => Math.floor(
|
|
1355
|
-
parsePositiveFiniteNumberOrFallback(state.settings.createMenuOpenCount, 0)
|
|
1356
|
-
);
|
|
1357
|
-
var selectDesktopChromeConnectorEnabled = (state) => state.settings.desktopChromeConnectorEnabled === true;
|
|
1358
|
-
var selectDeveloperModeEnabled = (state) => state.settings.developerModeEnabled === true;
|
|
1359
|
-
var selectDiagnosticModeEnabled = (state) => state.settings.diagnosticModeEnabled === true;
|
|
1360
|
-
var selectCopyDiagnosticsEnabled = (state) => selectDeveloperModeEnabled(state) && selectDiagnosticModeEnabled(state);
|
|
1361
|
-
var selectEditorDefaultMode = (state) => state.settings.editorDefaultMode;
|
|
1362
|
-
var selectEditorLightCodeTheme = (state) => state.settings.editorLightCodeTheme;
|
|
1363
|
-
var selectEditorDarkCodeTheme = (state) => state.settings.editorDarkCodeTheme;
|
|
1364
|
-
var selectEditorWordCountEnabled = (state) => state.settings.editorWordCountEnabled;
|
|
1365
|
-
var selectEditorShortcuts = (state) => state.settings.editorShortcuts;
|
|
1366
|
-
var PLATFORM_MAC_REGEX = /Mac|iPod|iPhone|iPad/;
|
|
1367
|
-
var isMacPlatform = () => typeof window !== "undefined" && typeof window.navigator !== "undefined" && PLATFORM_MAC_REGEX.test(window.navigator.platform);
|
|
1368
|
-
var selectDeleteShortcut = (state) => {
|
|
1369
|
-
const shortcut = state.settings.deleteShortcut;
|
|
1370
|
-
if (shortcut === void 0 || shortcut === null) {
|
|
1371
|
-
return isMacPlatform() ? "meta+backspace" : "ctrl+backspace";
|
|
1372
|
-
}
|
|
1373
|
-
return shortcut;
|
|
1374
|
-
};
|
|
1375
|
-
var selectEditorFontSize = (state) => state.settings.editorFontSize;
|
|
1376
|
-
var selectEditorAutoSave = (state) => state.settings.editorAutoSave;
|
|
1377
|
-
var selectEditorAutoSaveInterval = (state) => state.settings.editorAutoSaveInterval;
|
|
1378
|
-
var selectSystemBuiltinSkills = createSelector(
|
|
1379
|
-
[(state) => state.settings.systemBuiltinSkills],
|
|
1380
|
-
(systemBuiltinSkills) => normalizeSystemBuiltinSkills(
|
|
1381
|
-
systemBuiltinSkills,
|
|
1382
|
-
DEFAULT_SYSTEM_BUILTIN_SKILLS
|
|
1383
|
-
)
|
|
1384
|
-
);
|
|
1385
|
-
|
|
1386
|
-
// packages/app/settings/editorConfigSelectors.ts
|
|
1387
|
-
var selectEditorCodeTheme = createSelector(
|
|
1388
|
-
[selectEditorLightCodeTheme, selectEditorDarkCodeTheme, selectIsDark],
|
|
1389
|
-
(lightTheme, darkTheme, isDark) => isDark ? darkTheme : lightTheme
|
|
1390
|
-
);
|
|
1391
|
-
var selectEditorConfig = createSelector(
|
|
1392
|
-
[
|
|
1393
|
-
selectEditorDefaultMode,
|
|
1394
|
-
selectEditorLightCodeTheme,
|
|
1395
|
-
selectEditorDarkCodeTheme,
|
|
1396
|
-
selectEditorWordCountEnabled,
|
|
1397
|
-
selectEditorShortcuts,
|
|
1398
|
-
selectEditorFontSize,
|
|
1399
|
-
selectEditorAutoSave,
|
|
1400
|
-
selectEditorAutoSaveInterval,
|
|
1401
|
-
selectIsDark
|
|
1402
|
-
],
|
|
1403
|
-
(defaultMode, lightCodeTheme, darkCodeTheme, wordCountEnabled, shortcuts, fontSize, autoSave, autoSaveInterval, isDark) => {
|
|
1404
|
-
const codeTheme = isDark ? darkCodeTheme : lightCodeTheme;
|
|
1405
|
-
return {
|
|
1406
|
-
defaultMode,
|
|
1407
|
-
codeTheme,
|
|
1408
|
-
lightCodeTheme,
|
|
1409
|
-
darkCodeTheme,
|
|
1410
|
-
wordCountEnabled,
|
|
1411
|
-
shortcuts,
|
|
1412
|
-
fontSize,
|
|
1413
|
-
autoSave,
|
|
1414
|
-
autoSaveInterval
|
|
1415
|
-
};
|
|
1416
|
-
}
|
|
1417
|
-
);
|
|
1418
|
-
|
|
1419
|
-
// packages/app/settings/themeSelectors.ts
|
|
1420
|
-
var isThemeData = (value) => {
|
|
1421
|
-
if (!value || typeof value !== "object") return false;
|
|
1422
|
-
const candidate = value;
|
|
1423
|
-
return typeof candidate.light === "object" && candidate.light !== null && typeof candidate.dark === "object" && candidate.dark !== null;
|
|
1424
|
-
};
|
|
1425
|
-
var readMeta = (themeData) => themeData.meta;
|
|
1426
|
-
var SPACIOUS_SPACE = {
|
|
1427
|
-
0: "0",
|
|
1428
|
-
1: "5px",
|
|
1429
|
-
2: "10px",
|
|
1430
|
-
3: "14px",
|
|
1431
|
-
4: "20px",
|
|
1432
|
-
5: "24px",
|
|
1433
|
-
6: "30px",
|
|
1434
|
-
7: "34px",
|
|
1435
|
-
8: "40px",
|
|
1436
|
-
10: "50px",
|
|
1437
|
-
12: "60px",
|
|
1438
|
-
14: "70px",
|
|
1439
|
-
16: "80px",
|
|
1440
|
-
20: "100px",
|
|
1441
|
-
24: "120px"
|
|
1442
|
-
};
|
|
1443
|
-
var SPACIOUS_FONT_SIZE = {
|
|
1444
|
-
xs: "12px",
|
|
1445
|
-
sm: "13px",
|
|
1446
|
-
base: "15px",
|
|
1447
|
-
md: "15.5px",
|
|
1448
|
-
lg: "17.5px",
|
|
1449
|
-
xl: "22px",
|
|
1450
|
-
"2xl": "26px",
|
|
1451
|
-
"3xl": "30px"
|
|
1452
|
-
};
|
|
1453
|
-
var SPACIOUS_LEADING = {
|
|
1454
|
-
tight: "1.4",
|
|
1455
|
-
normal: "1.6",
|
|
1456
|
-
relaxed: "1.75"
|
|
1457
|
-
};
|
|
1458
|
-
var SPACIOUS_CONTROL = {
|
|
1459
|
-
xs: "28px",
|
|
1460
|
-
sm: "32px",
|
|
1461
|
-
md: "40px",
|
|
1462
|
-
lg: "46px",
|
|
1463
|
-
xl: "56px"
|
|
1464
|
-
};
|
|
1465
|
-
var COMPACT_LEADING = {
|
|
1466
|
-
tight: "1.3",
|
|
1467
|
-
normal: "1.45",
|
|
1468
|
-
relaxed: "1.6"
|
|
1469
|
-
};
|
|
1470
|
-
var COMPACT_CONTROL = {
|
|
1471
|
-
xs: "24px",
|
|
1472
|
-
sm: "28px",
|
|
1473
|
-
md: "36px",
|
|
1474
|
-
lg: "40px",
|
|
1475
|
-
xl: "48px"
|
|
1476
|
-
};
|
|
1477
|
-
var COMPACT_FONT_SIZE = {
|
|
1478
|
-
xs: "11px",
|
|
1479
|
-
sm: "12px",
|
|
1480
|
-
base: "14px",
|
|
1481
|
-
md: "14px",
|
|
1482
|
-
lg: "16px",
|
|
1483
|
-
xl: "20px",
|
|
1484
|
-
"2xl": "24px",
|
|
1485
|
-
"3xl": "28px"
|
|
1486
|
-
};
|
|
1487
|
-
var FONT_WEIGHT = {
|
|
1488
|
-
normal: "400",
|
|
1489
|
-
medium: "500",
|
|
1490
|
-
semibold: "600",
|
|
1491
|
-
bold: "700"
|
|
1492
|
-
};
|
|
1493
|
-
var TRACKING = {
|
|
1494
|
-
tight: "-0.02em",
|
|
1495
|
-
normal: "0",
|
|
1496
|
-
wide: "0.02em"
|
|
1497
|
-
};
|
|
1498
|
-
var Z_INDEX = {
|
|
1499
|
-
sticky: 100,
|
|
1500
|
-
dropdown: 1e3,
|
|
1501
|
-
modalBackdrop: 1010,
|
|
1502
|
-
modal: 1020,
|
|
1503
|
-
toast: 1030,
|
|
1504
|
-
tooltip: 1040
|
|
1505
|
-
};
|
|
1506
|
-
var FALLBACK_PRIMARY_RGB = "59, 130, 246";
|
|
1507
|
-
var FALLBACK_SUCCESS_GHOST = "rgba(16, 185, 129, 0.12)";
|
|
1508
|
-
var FALLBACK_WARNING_GHOST = "rgba(245, 158, 11, 0.12)";
|
|
1509
|
-
var FALLBACK_INFO_GHOST = "rgba(59, 130, 246, 0.12)";
|
|
1510
|
-
var FALLBACK_ERROR_GHOST = "rgba(239, 68, 68, 0.12)";
|
|
1511
|
-
var FALLBACK_INVALID_BG = "rgba(239, 68, 68, 0.5)";
|
|
1512
|
-
var DEFAULT_MOTION_EASE = "cubic-bezier(0.33, 0, 0.2, 1)";
|
|
1513
|
-
var TIDE_MOTION_EASE = "cubic-bezier(0.22, 1, 0.36, 1)";
|
|
1514
|
-
var BREATH_MOTION_EASE = "cubic-bezier(0.4, 0, 0.6, 1)";
|
|
1515
|
-
var selectTheme = createSelector(
|
|
1516
|
-
[
|
|
1517
|
-
selectThemeName,
|
|
1518
|
-
selectIsDark,
|
|
1519
|
-
selectSidebarWidth,
|
|
1520
|
-
selectHeaderHeight,
|
|
1521
|
-
selectDensity,
|
|
1522
|
-
selectFontPreset
|
|
1523
|
-
],
|
|
1524
|
-
(themeName, isDark, sidebarWidth, headerHeight, density, fontPreset) => {
|
|
1525
|
-
const mode = isDark ? "dark" : "light";
|
|
1526
|
-
const validThemeName = THEME_COLORS[themeName] ? themeName : DEFAULT_THEME_NAME;
|
|
1527
|
-
const validFontPreset = normalizeFontPreset(fontPreset) ?? DEFAULT_FONT_PRESET;
|
|
1528
|
-
const themeCandidate = THEME_COLORS[validThemeName];
|
|
1529
|
-
if (!isThemeData(themeCandidate)) {
|
|
1530
|
-
throw new Error(
|
|
1531
|
-
`selectTheme: theme "${String(validThemeName)}" is missing required light/dark tables`
|
|
1532
|
-
);
|
|
1533
|
-
}
|
|
1534
|
-
const themeData = themeCandidate;
|
|
1535
|
-
const c = themeData[mode];
|
|
1536
|
-
const meta = readMeta(themeData);
|
|
1537
|
-
const compact = density === "compact";
|
|
1538
|
-
return {
|
|
1539
|
-
sidebarWidth: `${sidebarWidth}px`,
|
|
1540
|
-
headerHeight: `${headerHeight}px`,
|
|
1541
|
-
// Sidebar list density is intentionally tighter than form `control-md`
|
|
1542
|
-
// (36/40): long agent/dialog lists need more rows on screen. Header chrome
|
|
1543
|
-
// and nav rows should bind to these tokens, not control-md.
|
|
1544
|
-
sidebarItemHeight: compact ? "32px" : "36px",
|
|
1545
|
-
sidebarIconSize: compact ? "16px" : "18px",
|
|
1546
|
-
sidebarItemGap: compact ? "4px" : "6px",
|
|
1547
|
-
// Density-aware spacing scale (4px grid → 5px grid)
|
|
1548
|
-
space: compact ? SPACE : SPACIOUS_SPACE,
|
|
1549
|
-
// Semantic typography scale
|
|
1550
|
-
fontSize: compact ? COMPACT_FONT_SIZE : SPACIOUS_FONT_SIZE,
|
|
1551
|
-
// Font weight scale
|
|
1552
|
-
fontWeight: FONT_WEIGHT,
|
|
1553
|
-
// Letter spacing scale
|
|
1554
|
-
tracking: TRACKING,
|
|
1555
|
-
// Semantic line-height scale
|
|
1556
|
-
leading: compact ? COMPACT_LEADING : SPACIOUS_LEADING,
|
|
1557
|
-
// Component height scale (buttons, inputs, list items)
|
|
1558
|
-
control: compact ? COMPACT_CONTROL : SPACIOUS_CONTROL,
|
|
1559
|
-
// Border radius scale — xs/sm/md map to control/surface/overlay tiers.
|
|
1560
|
-
// lg/xl remain as aliases for gradual migration of legacy CSS.
|
|
1561
|
-
radius: (() => {
|
|
1562
|
-
const boost = meta?.radiusBoost ?? 0;
|
|
1563
|
-
const xs = compact ? "10px" : "12px";
|
|
1564
|
-
const sm = compact ? `${14 + boost}px` : `${16 + boost}px`;
|
|
1565
|
-
const md = compact ? "20px" : "24px";
|
|
1566
|
-
return { xs, sm, md, lg: sm, xl: md };
|
|
1567
|
-
})(),
|
|
1568
|
-
motionEase: meta?.motionEase ?? DEFAULT_MOTION_EASE,
|
|
1569
|
-
motionEaseTide: TIDE_MOTION_EASE,
|
|
1570
|
-
motionEaseBreath: BREATH_MOTION_EASE,
|
|
1571
|
-
motionDuration: "0.32s",
|
|
1572
|
-
motionDurationSlow: "0.52s",
|
|
1573
|
-
// Popover/menu/dropdown shell — the single source of truth for every
|
|
1574
|
-
// floating panel. Consumers read --popover-* only; the radius tier is
|
|
1575
|
-
// encapsulated here so a retune stays a one-line change.
|
|
1576
|
-
popover: (() => {
|
|
1577
|
-
const boost = meta?.radiusBoost ?? 0;
|
|
1578
|
-
const radius = compact ? `${14 + boost}px` : `${16 + boost}px`;
|
|
1579
|
-
const pad = "6px";
|
|
1580
|
-
return {
|
|
1581
|
-
// 弹层是最上浮的层:light 下 background(雪白)亮于下沉面板 elevated;
|
|
1582
|
-
// dark 下相反,elevated 才是更亮的上浮面,必须取 brighter 的那个。
|
|
1583
|
-
bg: alphaColor(
|
|
1584
|
-
isDark ? c.backgroundElevated ?? c.background : c.background,
|
|
1585
|
-
isDark ? 0.86 : 0.92,
|
|
1586
|
-
isDark ? c.backgroundElevated ?? c.background : c.background
|
|
1587
|
-
),
|
|
1588
|
-
border: alphaColor(c.border, isDark ? 0.5 : 0.7, c.borderLight),
|
|
1589
|
-
// Layered: a wide ambient pool plus a tight contact edge. The pair is
|
|
1590
|
-
// what reads as "lifted" rather than "outlined".
|
|
1591
|
-
shadow: [
|
|
1592
|
-
`0 18px 44px -24px ${c.shadowHeavy}`,
|
|
1593
|
-
`0 4px 12px -6px ${c.shadowMedium}`,
|
|
1594
|
-
`0 1px 1px -0.5px ${c.shadowLight}`
|
|
1595
|
-
].join(", "),
|
|
1596
|
-
radius,
|
|
1597
|
-
pad,
|
|
1598
|
-
itemRadius: `calc(${radius} - ${pad})`,
|
|
1599
|
-
blur: "24px",
|
|
1600
|
-
// Enter/exit travel. Small on purpose: the panel should settle, not fly.
|
|
1601
|
-
travel: "6px",
|
|
1602
|
-
duration: "0.18s",
|
|
1603
|
-
durationExit: "0.12s",
|
|
1604
|
-
ease: meta?.motionEase ?? DEFAULT_MOTION_EASE
|
|
1605
|
-
};
|
|
1606
|
-
})(),
|
|
1607
|
-
font: FONT_PRESET_CSS_VARIABLES[validFontPreset],
|
|
1608
|
-
// Z-index scale aligned with existing hardcoded layers
|
|
1609
|
-
z: Z_INDEX,
|
|
1610
|
-
// Semantic spacing aliases
|
|
1611
|
-
contentPadding: compact ? "16px" : "20px",
|
|
1612
|
-
sectionGap: compact ? "32px" : "40px",
|
|
1613
|
-
cardPadding: compact ? "16px" : "20px",
|
|
1614
|
-
inputPadding: compact ? "8px 12px" : "10px 14px",
|
|
1615
|
-
...c,
|
|
1616
|
-
borderSubtle: c.borderLight,
|
|
1617
|
-
borderFaint: alphaColor(c.border, isDark ? 0.22 : 0.35, c.borderLight),
|
|
1618
|
-
borderStrong: c.borderHover,
|
|
1619
|
-
surface: c.backgroundSecondary,
|
|
1620
|
-
surfaceElevated: c.backgroundTertiary,
|
|
1621
|
-
surfaceCanvas: c.background,
|
|
1622
|
-
surfaceSidebar: c.background,
|
|
1623
|
-
surfacePanel: c.backgroundSecondary,
|
|
1624
|
-
surfaceCard: c.messageBackground,
|
|
1625
|
-
surfaceRaised: isDark ? c.backgroundTertiary : c.backgroundSecondary,
|
|
1626
|
-
surfaceInset: isDark ? c.backgroundSecondary : alphaColor(c.borderHover, 0.05, c.codeBackground),
|
|
1627
|
-
surfaceCode: c.codeBackground,
|
|
1628
|
-
surfaceInteractive: c.backgroundTertiary,
|
|
1629
|
-
surfaceInteractiveHover: c.backgroundHover,
|
|
1630
|
-
textMuted: c.textSecondary,
|
|
1631
|
-
textSubtle: c.textTertiary,
|
|
1632
|
-
textHeading: c.textHeading ?? c.text,
|
|
1633
|
-
borderMuted: alphaColor(
|
|
1634
|
-
c.borderHover,
|
|
1635
|
-
isDark ? 0.3 : 0.24,
|
|
1636
|
-
c.borderLight
|
|
1637
|
-
),
|
|
1638
|
-
accentSoft: alphaColor(c.primary, isDark ? 0.18 : 0.1, c.primaryGhost),
|
|
1639
|
-
shadow: c.shadowMedium,
|
|
1640
|
-
shadow1: `0 1px 2px ${c.shadowLight}`,
|
|
1641
|
-
shadow2: `0 8px 24px -12px ${c.shadowMedium}`,
|
|
1642
|
-
shadow3: `0 18px 44px -24px ${c.shadowHeavy}`,
|
|
1643
|
-
primaryBorder: c.borderAccent ?? c.primary,
|
|
1644
|
-
primaryBgStrong: alphaColor(
|
|
1645
|
-
c.primary,
|
|
1646
|
-
isDark ? 0.18 : 0.1,
|
|
1647
|
-
c.primaryGhost
|
|
1648
|
-
),
|
|
1649
|
-
success: c.success,
|
|
1650
|
-
warning: c.warning,
|
|
1651
|
-
info: c.info,
|
|
1652
|
-
successGhost: alphaColor(
|
|
1653
|
-
c.success,
|
|
1654
|
-
isDark ? 0.2 : 0.12,
|
|
1655
|
-
FALLBACK_SUCCESS_GHOST
|
|
1656
|
-
),
|
|
1657
|
-
warningGhost: alphaColor(
|
|
1658
|
-
c.warning,
|
|
1659
|
-
isDark ? 0.2 : 0.12,
|
|
1660
|
-
FALLBACK_WARNING_GHOST
|
|
1661
|
-
),
|
|
1662
|
-
infoGhost: alphaColor(c.info, isDark ? 0.2 : 0.12, FALLBACK_INFO_GHOST),
|
|
1663
|
-
errorGhost: alphaColor(
|
|
1664
|
-
c.error,
|
|
1665
|
-
isDark ? 0.2 : 0.12,
|
|
1666
|
-
FALLBACK_ERROR_GHOST
|
|
1667
|
-
),
|
|
1668
|
-
primaryRgb: hexToRgbString(c.primary) ?? FALLBACK_PRIMARY_RGB,
|
|
1669
|
-
focusRing: alphaColor(c.primary, isDark ? 0.3 : 0.22, c.primaryGhost),
|
|
1670
|
-
// Generic interactive state tokens (dark-mode aware)
|
|
1671
|
-
hoverBg: alphaColor(c.text, isDark ? 0.06 : 0.04, c.backgroundTertiary),
|
|
1672
|
-
activeBg: alphaColor(c.text, isDark ? 0.1 : 0.08, c.backgroundTertiary),
|
|
1673
|
-
disabledText: c.textTertiary,
|
|
1674
|
-
disabledBg: c.backgroundSecondary,
|
|
1675
|
-
// Code block tokens
|
|
1676
|
-
codeBg: c.codeBackground,
|
|
1677
|
-
codeText: c.text,
|
|
1678
|
-
// Text selection token
|
|
1679
|
-
selectionBg: alphaColor(c.primary, isDark ? 0.2 : 0.15, c.primaryGhost),
|
|
1680
|
-
// ── --focus 全局 token(消除 ~30 处内联 fallback)──────────
|
|
1681
|
-
focus: alphaColor(c.primary, isDark ? 0.3 : 0.22, c.primaryGhost),
|
|
1682
|
-
// ── RAC 别名层(让 RAC 组件自动获得项目主题色)──────────
|
|
1683
|
-
focusRingColor: c.primary,
|
|
1684
|
-
invalidColor: c.error,
|
|
1685
|
-
buttonBackground: alphaColor(
|
|
1686
|
-
c.primary,
|
|
1687
|
-
isDark ? 0.12 : 0.08,
|
|
1688
|
-
c.primaryGhost
|
|
1689
|
-
),
|
|
1690
|
-
buttonBackgroundPressed: alphaColor(
|
|
1691
|
-
c.primary,
|
|
1692
|
-
isDark ? 0.18 : 0.12,
|
|
1693
|
-
c.primaryGhost
|
|
1694
|
-
),
|
|
1695
|
-
highlightBackground: c.primary,
|
|
1696
|
-
highlightForeground: c.textOnPrimary,
|
|
1697
|
-
highlightBackgroundPressed: c.primary,
|
|
1698
|
-
highlightOverlay: alphaColor(
|
|
1699
|
-
c.primary,
|
|
1700
|
-
isDark ? 0.15 : 0.1,
|
|
1701
|
-
c.primaryGhost
|
|
1702
|
-
),
|
|
1703
|
-
highlightBackgroundInvalid: alphaColor(
|
|
1704
|
-
c.error,
|
|
1705
|
-
isDark ? 0.55 : 0.5,
|
|
1706
|
-
FALLBACK_INVALID_BG
|
|
1707
|
-
),
|
|
1708
|
-
fieldBackground: c.backgroundSecondary,
|
|
1709
|
-
fieldTextColor: c.text,
|
|
1710
|
-
linkColor: c.primary,
|
|
1711
|
-
linkColorSecondary: c.text,
|
|
1712
|
-
linkColorPressed: c.primaryDark,
|
|
1713
|
-
borderColorDisabled: c.borderLight
|
|
1714
|
-
};
|
|
1715
|
-
}
|
|
1716
|
-
);
|
|
1717
|
-
|
|
1718
|
-
// packages/app/settings/settingActions.ts
|
|
1719
|
-
var updateSettingsState = createAction(
|
|
1720
|
-
"settings/_updateSettingsState"
|
|
1721
|
-
);
|
|
1722
|
-
|
|
1723
1120
|
// packages/app/settings/settingThunks.ts
|
|
1724
1121
|
var getSettings = createAsyncThunk("settings/getSettings", async (_, { dispatch, getState }) => {
|
|
1725
1122
|
const userId = selectIdentityUserId(getState());
|
|
@@ -1943,134 +1340,32 @@ var setThemeMode = createAsyncThunk(
|
|
|
1943
1340
|
return dispatch(setSettings(changes)).unwrap();
|
|
1944
1341
|
}
|
|
1945
1342
|
);
|
|
1946
|
-
|
|
1947
|
-
// packages/app/settings/settingSlice.tsx
|
|
1948
|
-
var createSliceWithThunks = buildCreateSlice({
|
|
1949
|
-
creators: { asyncThunk: asyncThunkCreator }
|
|
1950
|
-
});
|
|
1951
|
-
var settingSlice = createSliceWithThunks({
|
|
1952
|
-
name: "settings",
|
|
1953
|
-
initialState,
|
|
1954
|
-
reducers: {
|
|
1955
|
-
_updateSettingsState: (state, action) => {
|
|
1956
|
-
Object.assign(state, normalizeSettingChanges(action.payload));
|
|
1957
|
-
},
|
|
1958
|
-
addHostToCurrentServer: (state, action) => {
|
|
1959
|
-
const rawValue = action.payload;
|
|
1960
|
-
if (typeof rawValue !== "string" || rawValue.trim() === "") return;
|
|
1961
|
-
const trimmed = rawValue.trim();
|
|
1962
|
-
if (/^https?:\/\//i.test(trimmed)) {
|
|
1963
|
-
try {
|
|
1964
|
-
state.currentServer = new URL(trimmed).origin;
|
|
1965
|
-
return;
|
|
1966
|
-
} catch {
|
|
1967
|
-
return;
|
|
1968
|
-
}
|
|
1969
|
-
}
|
|
1970
|
-
const host = trimmed.replace(/^\/+|\/+$/g, "");
|
|
1971
|
-
const [hostname] = host.split(":");
|
|
1972
|
-
if (!hostname) return;
|
|
1973
|
-
const isIpAddress = /^(\d{1,3}\.){3}\d{1,3}$/.test(hostname);
|
|
1974
|
-
const isLocal = ["nolotus.local", "localhost"].includes(hostname) || isIpAddress;
|
|
1975
|
-
const protocol = isLocal ? "http" : "https";
|
|
1976
|
-
state.currentServer = `${protocol}://${host}`;
|
|
1977
|
-
}
|
|
1978
|
-
}
|
|
1979
|
-
});
|
|
1980
|
-
var { addHostToCurrentServer } = settingSlice.actions;
|
|
1981
|
-
var settingSlice_default = settingSlice.reducer;
|
|
1982
|
-
|
|
1983
1343
|
export {
|
|
1984
|
-
|
|
1985
|
-
DEFAULT_USER_PREFERENCE_PROFILE,
|
|
1986
|
-
AGENT_UPDATE_FIELD_NAMES,
|
|
1987
|
-
normalizeAgentUpdateFieldList,
|
|
1988
|
-
SYSTEM_DEFAULT_AGENT_ID,
|
|
1989
|
-
normalizeSettingChanges,
|
|
1990
|
-
LOCAL_FIRST_APPEARANCE_KEYS,
|
|
1991
|
-
LOCAL_ONLY_SETTINGS_KEYS,
|
|
1992
|
-
isLocalFirstAppearanceChange,
|
|
1993
|
-
stripRegisterBackedFieldsFromSettingsWrite,
|
|
1994
|
-
sanitizeStoredSettingsRecord,
|
|
1995
|
-
hydrateStoredSettings,
|
|
1996
|
-
buildSettingsPersistencePlan,
|
|
1997
|
-
getCachedDefaultAgentRegisterRecord,
|
|
1998
|
-
persistDefaultAgentRegister,
|
|
1999
|
-
selectSettings,
|
|
2000
|
-
selectCurrentServer,
|
|
2001
|
-
selectSyncServers,
|
|
2002
|
-
selectRemoteServer,
|
|
2003
|
-
selectRemoteSyncServers,
|
|
2004
|
-
selectRemoteServers,
|
|
2005
|
-
selectPreferredAnimationSet,
|
|
2006
|
-
selectShowThinking,
|
|
2007
|
-
selectMaxCost,
|
|
2008
|
-
selectMaxExecutionTime,
|
|
2009
|
-
selectIsDark,
|
|
2010
|
-
selectThemeMode,
|
|
2011
|
-
selectHeaderHeight,
|
|
2012
|
-
selectThemeName,
|
|
2013
|
-
selectThemeFollowsSystem,
|
|
2014
|
-
selectSidebarWidth,
|
|
2015
|
-
selectDensity,
|
|
2016
|
-
selectFontPreset,
|
|
2017
|
-
selectEnableReadCurrentSpace,
|
|
2018
|
-
selectGlobalPrompt,
|
|
2019
|
-
selectUserTonePreset,
|
|
2020
|
-
selectKnowledgeCaptureLevel,
|
|
2021
|
-
selectSpaceContextLevel,
|
|
2022
|
-
selectAutoApproveSelfUpdateFields,
|
|
2023
|
-
selectAiRecentContentLimit,
|
|
2024
|
-
selectDefaultAgentPreference,
|
|
2025
|
-
selectDefaultAgentId,
|
|
2026
|
-
selectOcrModel,
|
|
2027
|
-
selectShowScrollToTopButton,
|
|
2028
|
-
selectShowScrollToBottomButton,
|
|
2029
|
-
selectCreateMenuOpenCount,
|
|
2030
|
-
selectDesktopChromeConnectorEnabled,
|
|
2031
|
-
selectDeveloperModeEnabled,
|
|
2032
|
-
selectDiagnosticModeEnabled,
|
|
2033
|
-
selectCopyDiagnosticsEnabled,
|
|
2034
|
-
selectEditorDefaultMode,
|
|
2035
|
-
selectEditorLightCodeTheme,
|
|
2036
|
-
selectEditorDarkCodeTheme,
|
|
2037
|
-
selectEditorWordCountEnabled,
|
|
2038
|
-
selectEditorShortcuts,
|
|
2039
|
-
selectDeleteShortcut,
|
|
2040
|
-
selectEditorFontSize,
|
|
2041
|
-
selectEditorAutoSave,
|
|
2042
|
-
selectEditorAutoSaveInterval,
|
|
2043
|
-
selectSystemBuiltinSkills,
|
|
2044
|
-
selectEditorCodeTheme,
|
|
2045
|
-
selectEditorConfig,
|
|
2046
|
-
selectTheme,
|
|
2047
|
-
getSettings,
|
|
2048
|
-
setSettings,
|
|
2049
|
-
changeTheme,
|
|
1344
|
+
changeDarkMode,
|
|
2050
1345
|
changeDensity,
|
|
2051
1346
|
changeFontPreset,
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
-
setEditorDefaultMode,
|
|
2058
|
-
setEditorLightCodeTheme,
|
|
2059
|
-
setEditorDarkCodeTheme,
|
|
1347
|
+
changeTheme,
|
|
1348
|
+
getSettings,
|
|
1349
|
+
setAiRecentContentLimit,
|
|
1350
|
+
setDefaultAgentId,
|
|
1351
|
+
setEditorAutoSaveInterval,
|
|
2060
1352
|
setEditorCodeTheme,
|
|
2061
|
-
|
|
2062
|
-
|
|
1353
|
+
setEditorDarkCodeTheme,
|
|
1354
|
+
setEditorDefaultMode,
|
|
2063
1355
|
setEditorFontSize,
|
|
2064
|
-
|
|
2065
|
-
setEditorAutoSaveInterval,
|
|
1356
|
+
setEditorLightCodeTheme,
|
|
2066
1357
|
setGlobalPrompt,
|
|
2067
|
-
setUserTonePreset,
|
|
2068
1358
|
setKnowledgeCaptureLevel,
|
|
2069
|
-
setSpaceContextLevel,
|
|
2070
|
-
setAiRecentContentLimit,
|
|
2071
1359
|
setMaxExecutionTime,
|
|
2072
|
-
|
|
1360
|
+
setSettings,
|
|
1361
|
+
setSidebarWidth,
|
|
1362
|
+
setSpaceContextLevel,
|
|
1363
|
+
setThemeFollowsSystem,
|
|
2073
1364
|
setThemeMode,
|
|
2074
|
-
|
|
2075
|
-
|
|
1365
|
+
setUserTonePreset,
|
|
1366
|
+
toggleEditorAutoSave,
|
|
1367
|
+
toggleEditorShortcut,
|
|
1368
|
+
toggleEditorWordCount,
|
|
1369
|
+
toggleEnableReadCurrentSpace,
|
|
1370
|
+
toggleShowThinking
|
|
2076
1371
|
};
|