nolo-cli 0.98.0-alpha.4 → 0.98.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.
- package/README.md +1 -1
- package/{_executeModel-HYZ4NXRJ.js → _executeModel-YEIQBSEM.js} +74 -67
- package/action-PNPQLJHG.js +20 -0
- package/{addContentAction-O7R66HEX.js → addContentAction-RBOUD7SJ.js} +12 -11
- package/{addDialogAgentAction-74OA7KYP.js → addDialogAgentAction-IODCR6TB.js} +18 -19
- package/{agentDeleteCommand-2YAHAZFJ.js → agentDeleteCommand-4PLHGGLA.js} +47 -42
- package/{agentEmailCommands-SLEQANTK.js → agentEmailCommands-NXWEK7QA.js} +97 -87
- package/agentListCommands-VRVS3BJL.js +742 -0
- package/{agentMachineCommands-KBI77S35.js → agentMachineCommands-DJH5VXOD.js} +48 -43
- package/{agentProviderCommands-GNPTL5XR.js → agentProviderCommands-IRNZXVGE.js} +1 -1
- package/{agentPullCommand-O5MPVJ5E.js → agentPullCommand-B4T2DJ5H.js} +1 -1
- package/agentRecordCommands-SQCFY7TA.js +138 -0
- package/agentRunCommand-3HT2JILG.js +167 -0
- package/{agentRunControl-AVJR4JW4.js → agentRunControl-3HWA2LLQ.js} +2 -2
- package/{agentRuntimeLocal-VXZSDIGT.js → agentRuntimeLocal-7TFUAJON.js} +48 -39
- package/{agentSlice-ZOYISPZD.js → agentSlice-XTZIXRNX.js} +14 -13
- package/{appDeleteCommands-32MHLR4L.js → appDeleteCommands-EZLI7EIO.js} +46 -41
- package/{appDeployCommands-WCQOUSOB.js → appDeployCommands-QBWG5BGL.js} +46 -41
- package/{appDeployStatusCommands-6QKB7DYN.js → appDeployStatusCommands-ZLG46B3T.js} +46 -41
- package/{appGetCommands-SFAPP5PB.js → appGetCommands-P4D34JD2.js} +46 -41
- package/{appListCommands-EKUBDRUO.js → appListCommands-JMYHZBQH.js} +46 -41
- package/{authCommand-F4EFRRX6.js → authCommand-NHDLY3IB.js} +118 -24
- package/{authCommands-RGOGCPP6.js → authCommands-UDBJVSZU.js} +7 -5
- package/{builtinSkillRegistry-FUAVTRVZ.js → builtinSkillRegistry-MAR5LPAC.js} +10 -8
- package/{chromeCommands-FZYAU75D.js → chromeCommands-K27J4OVZ.js} +124 -28
- package/{chromeOpsCommands-62P2Q2YB.js → chromeOpsCommands-IXRLN57H.js} +4 -3
- package/{chunk-6OZ36FXI.js → chunk-27ONFIEY.js} +22 -4
- package/{chunk-JEDZAO7L.js → chunk-2SYTUTLI.js} +257 -37
- package/{chunk-53HEEOTT.js → chunk-2WJ57RJA.js} +83 -16
- package/{chunk-OIVSQH2O.js → chunk-3BXNTXYI.js} +299 -5
- package/{chunk-2D66PZ54.js → chunk-3WHINT3R.js} +24 -77
- package/{chunk-ABQYVJBJ.js → chunk-46Y5D2BZ.js} +5 -5
- package/{chunk-EYAQT56M.js → chunk-4DPP773Q.js} +2 -2
- package/{chunk-H62HCIUP.js → chunk-4FFUDT6D.js} +24 -21
- package/chunk-4LCOCOR5.js +50 -0
- package/{chunk-2GRGFCF6.js → chunk-4VJAC32I.js} +2 -1
- package/{chunk-IIVGDG4I.js → chunk-4YSOUKUR.js} +13 -7
- package/{chunk-MC4XLIJ7.js → chunk-523DITKR.js} +1 -1
- package/{chunk-E4MARS3Q.js → chunk-5GVBDNTO.js} +1 -1
- package/chunk-5J3PYNUP.js +255 -0
- package/chunk-5MMAK75Q.js +15 -0
- package/{chunk-JPGCXHNM.js → chunk-5OA5HMTL.js} +1 -1
- package/{chunk-42V6BK2E.js → chunk-62IL3KQV.js} +4 -34
- package/{chunk-3BMYXEUW.js → chunk-6O4IK4V2.js} +1 -1
- package/{chunk-GQBOR3G6.js → chunk-7KVZ5LDQ.js} +2 -2
- package/{chunk-DNCEALKX.js → chunk-7MMSLEPA.js} +22 -29
- package/{chunk-L5UXH3B2.js → chunk-7TKWCTSY.js} +22 -6
- package/chunk-A4SQRTZ6.js +15 -0
- package/{chunk-7S4YWN7P.js → chunk-ADBZWMFB.js} +4 -4
- package/chunk-AGIM7IMJ.js +147 -0
- package/{chunk-5UTFL4QJ.js → chunk-AOTBKDRK.js} +7 -0
- package/{chunk-Q554LLSI.js → chunk-AUDNYVRC.js} +1 -1
- package/chunk-BMQ2MJUK.js +153 -0
- package/{chunk-6YTOJY35.js → chunk-BZ7NPA6G.js} +35 -2
- package/chunk-CHOZJMJS.js +78 -0
- package/{chunk-ACTMNVHM.js → chunk-CYSYR67N.js} +1 -1
- package/{chunk-37NKTC3Q.js → chunk-CYYWWZV7.js} +1 -1
- package/{chunk-GBRG75BQ.js → chunk-D2MDMY2M.js} +1 -0
- package/chunk-DZ7R5V3Y.js +164 -0
- package/{chunk-3VNWWVKB.js → chunk-E3YWHWCR.js} +50 -18
- package/{chunk-V4MJDUSR.js → chunk-E73ON47R.js} +2 -2
- package/{chunk-KQ4ONNQD.js → chunk-EKPKW6RM.js} +155 -8
- package/{chunk-TRV2MIDW.js → chunk-EXAJ6DCR.js} +1 -0
- package/{chunk-HJUYAD4A.js → chunk-FJ5BGMNM.js} +5 -5
- package/{chunk-2F7RJC6L.js → chunk-FOXQ7BAB.js} +1 -1
- package/{chunk-6IG4XSS6.js → chunk-FY7DCYW7.js} +88 -17
- package/{chunk-J4MOO56S.js → chunk-GARACBQB.js} +10 -2
- package/chunk-GMZLP5DV.js +82 -0
- package/{chunk-FDTR4QJ6.js → chunk-H6A6X4EK.js} +32 -1
- package/{chunk-DVINR3PL.js → chunk-HDLLCBRF.js} +1 -1
- package/{chunk-QOKAKDPE.js → chunk-HIM3FCLF.js} +0 -1
- package/{chunk-ONXOABJR.js → chunk-HNGRBWYF.js} +3 -0
- package/{chunk-VLTIYV3X.js → chunk-HP57OUJO.js} +4 -4
- package/{chunk-G4EBXCWF.js → chunk-IM6ZMFRL.js} +550 -515
- package/{chunk-34BLIAHQ.js → chunk-JY3XHK42.js} +47 -67
- package/{chunk-GPCZ7UXG.js → chunk-K6U4NKFJ.js} +1 -1
- package/{chunk-6VFARHZW.js → chunk-KQQMCLDJ.js} +934 -1091
- package/{chunk-T37GTQYU.js → chunk-KVKYLJOA.js} +20 -11
- package/{chunk-4OEFYTWL.js → chunk-LKERWYPX.js} +67 -48
- package/{chunk-OEVAY4J6.js → chunk-LNVJHIGA.js} +18 -20
- package/{chunk-LS2ZANRJ.js → chunk-LOCNXNOU.js} +1 -1
- package/chunk-M6NBAHCD.js +7881 -0
- package/{chunk-PUOC4YRO.js → chunk-M7VLQGQP.js} +11 -0
- package/chunk-NFG4GW2E.js +13536 -0
- package/{chunk-BFU6C242.js → chunk-NMFV26UG.js} +1 -1
- package/{chunk-FZGV4FGK.js → chunk-NUHHBEJC.js} +378 -187
- package/chunk-NWENLDMM.js +42 -0
- package/{chunk-AEOE4Z6Q.js → chunk-NZWAO6LH.js} +13 -15
- package/chunk-OCZKATRC.js +129 -0
- package/chunk-OW4APERY.js +870 -0
- package/{chunk-KQHGZWSV.js → chunk-OXME3PEE.js} +1 -1
- package/{chunk-TOP2VXOR.js → chunk-PCF3QU5Q.js} +5 -5
- package/{chunk-WV42OMV7.js → chunk-PTDYOADJ.js} +8 -8
- package/{chunk-PKUGW3X6.js → chunk-SDUYSRTJ.js} +23 -28
- package/{chunk-5H7KJX7J.js → chunk-SEB5HAUU.js} +5 -5
- package/{chunk-6D6VBVEW.js → chunk-SNMQMOD2.js} +80 -14
- package/{chunk-ITM7D3UQ.js → chunk-TN3SIMJZ.js} +11 -9
- package/{chunk-BYMV6QZG.js → chunk-TNIX77YM.js} +4 -0
- package/{chunk-Z77CRGTW.js → chunk-TVCAR26G.js} +1 -1
- package/chunk-TY3TIUJK.js +89 -0
- package/{chunk-I3TQJXQ7.js → chunk-U3C3IA32.js} +9 -2
- package/{chunk-RG6JBBX5.js → chunk-U7XXEI5R.js} +166 -13
- package/{chunk-UZGQNTVW.js → chunk-UA324D4O.js} +8 -6
- package/{chunk-V7BKTIF6.js → chunk-UFUTWXPR.js} +19 -17
- package/chunk-UJXNKP5V.js +760 -0
- package/{chunk-UKZDAFYT.js → chunk-UM4PH574.js} +6 -10
- package/{chunk-XDJFSBVV.js → chunk-UUMRZHVT.js} +24 -5
- package/{chunk-GEPUP7OO.js → chunk-UVKDJUTL.js} +3 -3
- package/{chunk-5ZYCLPXL.js → chunk-V4BX25AC.js} +873 -227
- package/{chunk-ZCYXJSTU.js → chunk-V5OWQOJZ.js} +19 -88
- package/{chunk-NA35QHCF.js → chunk-V7Y6KRAH.js} +1 -1
- package/{chunk-3DII57IT.js → chunk-VCAQFMVN.js} +1 -1
- package/{chunk-JRQFUXY7.js → chunk-VEYL5MO5.js} +99 -22
- package/chunk-VIWDGTDA.js +8 -0
- package/chunk-VJVNU77E.js +83 -0
- package/{chunk-UKWGR5SS.js → chunk-VY6VFGKR.js} +194 -1144
- package/{chunk-BP4XNZRM.js → chunk-W72ISAKC.js} +4 -4
- package/{chunk-DHDMC6FO.js → chunk-WCGC6S77.js} +14 -9
- package/{chunk-QDSINZM3.js → chunk-WJ3B6FX6.js} +1 -14
- package/{chunk-HVURBGF3.js → chunk-XFUBXRVI.js} +6 -6
- package/{chunk-O6OSWFZQ.js → chunk-XUWRURDF.js} +6 -0
- package/{chunk-Q67DOFOO.js → chunk-Y3PMXGLH.js} +2 -0
- package/{chunk-ETI2NYVF.js → chunk-YPOPJAKN.js} +4 -4
- package/{chunk-SH43IESU.js → chunk-YUNJN43V.js} +44 -9
- package/chunk-YV25TM3R.js +780 -0
- package/{chunk-PDIBG2WC.js → chunk-ZDXOUUPB.js} +67 -45
- package/{chunk-YRPASJCG.js → chunk-ZH7YLZC5.js} +10 -10
- package/chunk-ZRAU6T47.js +56 -0
- package/commandRegistry-YXINJIJK.js +833 -0
- package/{contentThunks-G55OKUFE.js → contentThunks-ZZVD2LBR.js} +36 -34
- package/{cooldownCommands-REAWYVTY.js → cooldownCommands-ZLEPIB4A.js} +2 -2
- package/{createAgentAutomationAction-D2J2O5GS.js → createAgentAutomationAction-B2TFWNDC.js} +38 -36
- package/createDialogAction-DVG2MYBF.js +69 -0
- package/{createPageAction-FHZBN7DJ.js → createPageAction-UXBWURHH.js} +45 -42
- package/{chunk-AJ3A3445.js → cursorProvider-YGGNMVWX.js} +2496 -9897
- package/{dbSlice-XVWBAGYN.js → dbSlice-Q25STFGJ.js} +11 -10
- package/{deleteFile-YG6QMJLU.js → deleteFile-AJ2EZMHT.js} +7 -6
- package/{dialogCommands-5J56DFWN.js → dialogCommands-243UITH3.js} +49 -45
- package/{dialogSlice-D4V3HURH.js → dialogSlice-B77ICP3A.js} +40 -33
- package/{dist-VODFSGNG.js → dist-NJC2W7I4.js} +61 -54
- package/{docCreateCommands-KYI2DC2U.js → docCreateCommands-RT6AVFDR.js} +48 -43
- package/{docDeleteCommands-67REUSRY.js → docDeleteCommands-TMKHOR5F.js} +49 -44
- package/{docReadCommands-HOSVSBDJ.js → docReadCommands-KIDSKS6N.js} +47 -42
- package/{docStore-5LROPEEP.js → docStore-NBER5SWJ.js} +16 -12
- package/{docUpdateCommands-EMGCSMXY.js → docUpdateCommands-C6OCR767.js} +48 -43
- package/{fetchMessages-EIU7UFFK.js → fetchMessages-I5ICDDHM.js} +5 -5
- package/{getPricing-LUSEABA6.js → getPricing-NMMFT3YI.js} +4 -4
- package/{handleSendMessageAction-QBPDYSLZ.js → handleSendMessageAction-4DBKTZDW.js} +110 -86
- package/index.js +87 -884
- package/{localDialogRead-BTFJ4V2I.js → localDialogRead-ZHZ3KXDM.js} +2 -2
- package/{localRuntimeAuthority-6IR6BBXE.js → localRuntimeAuthority-TU6OBC76.js} +9 -6
- package/{localRuntimeDb-SYQGUF4U.js → localRuntimeDb-VKWVOPPI.js} +1 -1
- package/{machineCommands-4ISPVTPN.js → machineCommands-Y2BN2TCO.js} +91 -81
- package/machineWsRunDispatch-POB6IF6W.js +154 -0
- package/{memberThunks-QGFLFVCI.js → memberThunks-R75S3RWP.js} +20 -18
- package/{models-T3SG6MJ5.js → models-ZPU5EDF4.js} +2 -2
- package/oauthTokenStore-ITEB663N.js +23 -0
- package/package.json +1 -1
- package/pdf-U6KSUEZZ.js +26435 -0
- package/processSpawn-SOAV3FEV.js +11 -0
- package/profileConfig-ZGOFORWV.js +43 -0
- package/{providerPresetApply-FG6NZ57W.js → providerPresetApply-TEBH7FDX.js} +7 -7
- package/{providerRegistry-757OWH3O.js → providerRegistry-CBJLNCET.js} +11 -7
- package/{read-COE3ZYR6.js → read-SRQMNO26.js} +7 -6
- package/{readDocTool-5USN4A6V.js → readDocTool-RC3JUNJ2.js} +5 -3
- package/{readlineWorkspace-JFADM567.js → readlineWorkspace-OLCGKYLQ.js} +2704 -2060
- package/{removeDialogAgentAction-IX3MN2ZO.js → removeDialogAgentAction-46XQV5Q7.js} +21 -25
- package/{runAgentClientLoop-JFFIFP7N.js → runAgentClientLoop-BFVCLCBO.js} +75 -69
- package/{runtimeDoctorCommands-X6WDBEQX.js → runtimeDoctorCommands-PIVSBZRZ.js} +4 -4
- package/runtimeModeArgs-2Y7BALTO.js +31 -0
- package/{setDialogExtraReferencesAction-X4HCPNZL.js → setDialogExtraReferencesAction-J4V5ADQF.js} +15 -13
- package/{setPrimaryDialogAgentAction-4GMIQLOD.js → setPrimaryDialogAgentAction-UHHV2QZW.js} +22 -26
- package/{chunk-AFUORTY4.js → settingThunks-PPZZZOWN.js} +226 -940
- package/{skillDiscovery-CYUCJMAG.js → skillDiscovery-ZBU76COE.js} +3 -3
- package/{slateUtils-RIZES3PV.js → slateUtils-NGV2NMKM.js} +1 -1
- package/{spaceCommands-NKJVJCQQ.js → spaceCommands-WQBSC4VD.js} +51 -46
- package/{streamAgentChatTurn-HFVTDCFD.js → streamAgentChatTurn-M7V35IXY.js} +199 -104
- package/{switchDialogAgentAction-N52LRPA3.js → switchDialogAgentAction-A2TMVGAE.js} +18 -19
- package/{tableCommands-O6NWHFKV.js → tableCommands-6U4BMLRR.js} +10 -10
- package/{toolApiClient-QVJ6HDNN.js → toolApiClient-EJT6TMFG.js} +3 -3
- package/tools-4XIEV6FW.js +116 -0
- package/{tuiSummaryLlmCaller-WFRWERGK.js → tuiSummaryLlmCaller-Q65IBDGO.js} +24 -21
- package/{updateCommands-2M74UL7P.js → updateCommands-4EHDLF5J.js} +3 -3
- package/{updateDialogTitleAction-PER2C6MR.js → updateDialogTitleAction-TFQFP7FE.js} +82 -44
- package/action-YVYQEAAV.js +0 -31
- package/agentListCommands-KMS675GZ.js +0 -406
- package/agentRecordCommands-IPPPUHG4.js +0 -128
- package/agentRunCommand-24XO4RDT.js +0 -155
- package/browser-image-compression-MFDTD7K6.js +0 -1763
- package/chatQueueReduxAdapter-PMAMSHG7.js +0 -186
- package/chunk-M76ECQRD.js +0 -13658
- package/chunk-MEYIRKDN.js +0 -8967
- package/chunk-OCSGDPAT.js +0 -18885
- package/chunk-Q5FJJ6XI.js +0 -103
- package/chunk-S7Z2HMCN.js +0 -25
- package/chunk-Y5GCAMGP.js +0 -9
- package/chunk-YPREESF4.js +0 -225
- package/createDialogAction-E2EVICIE.js +0 -65
- package/machineWsRunDispatch-L4MKXQAO.js +0 -144
- package/settingSlice-ZQZVUPKK.js +0 -204
- package/syncMapping-N6RGXGBW.js +0 -437
- package/tools-BBBCUOUZ.js +0 -110
- package/{chunk-VMFTFOWF.js → chunk-3AH7LNUB.js} +7 -7
- package/{chunk-X7HHHIOZ.js → chunk-Y6ROFCZO.js} +0 -0
- package/{db-WK5MDZVN.js → db-VQSAOWAO.js} +1 -1
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
} from "./chunk-
|
|
2
|
+
formatISO
|
|
3
|
+
} from "./chunk-ZRAU6T47.js";
|
|
4
4
|
import {
|
|
5
5
|
require_react
|
|
6
6
|
} from "./chunk-YDH3FDFQ.js";
|
|
7
|
-
import {
|
|
8
|
-
toErrorMessage
|
|
9
|
-
} from "./chunk-HNMXYYJR.js";
|
|
10
7
|
import {
|
|
11
8
|
patch,
|
|
12
9
|
readAndWait
|
|
13
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-4FFUDT6D.js";
|
|
11
|
+
import {
|
|
12
|
+
toErrorMessage
|
|
13
|
+
} from "./chunk-HNMXYYJR.js";
|
|
14
14
|
import {
|
|
15
15
|
asOptionalTrimmedString
|
|
16
16
|
} from "./chunk-G3SUCT4W.js";
|
|
@@ -20,7 +20,6 @@ import {
|
|
|
20
20
|
|
|
21
21
|
// packages/render/page/docStore.ts
|
|
22
22
|
var import_react = __toESM(require_react(), 1);
|
|
23
|
-
var import_date_fns = __toESM(require_date_fns(), 1);
|
|
24
23
|
var createInitialState = () => ({
|
|
25
24
|
content: null,
|
|
26
25
|
slateData: null,
|
|
@@ -52,6 +51,7 @@ var createInitialState = () => ({
|
|
|
52
51
|
var listeners = /* @__PURE__ */ new Set();
|
|
53
52
|
var version = 0;
|
|
54
53
|
var state = createInitialState();
|
|
54
|
+
var latestInitRequestKey = null;
|
|
55
55
|
var notify = () => {
|
|
56
56
|
for (const listener of listeners) {
|
|
57
57
|
try {
|
|
@@ -102,6 +102,9 @@ function getDocField(selector) {
|
|
|
102
102
|
function getDocPageKey() {
|
|
103
103
|
return state.pageKey;
|
|
104
104
|
}
|
|
105
|
+
function isDocStateForPage(state2, pageKey) {
|
|
106
|
+
return Boolean(pageKey) && state2.pageKey === pageKey;
|
|
107
|
+
}
|
|
105
108
|
function getDocIsInitialized() {
|
|
106
109
|
return state.isInitialized;
|
|
107
110
|
}
|
|
@@ -143,6 +146,7 @@ function updateDocTags(tags) {
|
|
|
143
146
|
setState((prev) => ({ ...prev, tags }));
|
|
144
147
|
}
|
|
145
148
|
function resetDocState() {
|
|
149
|
+
latestInitRequestKey = null;
|
|
146
150
|
setState(createInitialState());
|
|
147
151
|
}
|
|
148
152
|
function previewDocState(payload) {
|
|
@@ -190,6 +194,7 @@ function applyExternalDocUpdate(payload) {
|
|
|
190
194
|
}
|
|
191
195
|
async function initDocState(args, { dispatch }) {
|
|
192
196
|
const { pageKey, isReadOnly } = args;
|
|
197
|
+
latestInitRequestKey = pageKey;
|
|
193
198
|
setState((prev) => ({
|
|
194
199
|
...createInitialState(),
|
|
195
200
|
isLoading: true,
|
|
@@ -198,6 +203,7 @@ async function initDocState(args, { dispatch }) {
|
|
|
198
203
|
}));
|
|
199
204
|
try {
|
|
200
205
|
const readAction = await dispatch(readAndWait(pageKey));
|
|
206
|
+
if (latestInitRequestKey !== pageKey) return;
|
|
201
207
|
if (readAndWait.fulfilled.match(readAction) && readAction.payload) {
|
|
202
208
|
const data = readAction.payload;
|
|
203
209
|
if (data.type !== "page" /* DOC */) {
|
|
@@ -247,6 +253,7 @@ async function initDocState(args, { dispatch }) {
|
|
|
247
253
|
}));
|
|
248
254
|
}
|
|
249
255
|
} catch (e) {
|
|
256
|
+
if (latestInitRequestKey !== pageKey) return;
|
|
250
257
|
setState((prev) => ({
|
|
251
258
|
...prev,
|
|
252
259
|
isLoading: false,
|
|
@@ -300,7 +307,7 @@ async function saveDocState(arg, { dispatch, getState }) {
|
|
|
300
307
|
{ slateToRenderMarkdown },
|
|
301
308
|
{ buildSkillSummaryMarker }
|
|
302
309
|
] = await Promise.all([
|
|
303
|
-
import("./slateUtils-
|
|
310
|
+
import("./slateUtils-NGV2NMKM.js"),
|
|
304
311
|
import("./slateToRenderMarkdown-Y5IYN73U.js"),
|
|
305
312
|
import("./skillSummaryMarker-42HKSXYY.js")
|
|
306
313
|
]);
|
|
@@ -309,7 +316,7 @@ async function saveDocState(arg, { dispatch, getState }) {
|
|
|
309
316
|
const skillSummary = buildSkillSummaryMarker(meta);
|
|
310
317
|
const content = slateToRenderMarkdown(slateData);
|
|
311
318
|
const now = /* @__PURE__ */ new Date();
|
|
312
|
-
const updatedAt =
|
|
319
|
+
const updatedAt = formatISO(now);
|
|
313
320
|
await dispatch(
|
|
314
321
|
patch({
|
|
315
322
|
dbKey: pageKey,
|
|
@@ -326,7 +333,7 @@ async function saveDocState(arg, { dispatch, getState }) {
|
|
|
326
333
|
).unwrap();
|
|
327
334
|
if (dbSpaceId) {
|
|
328
335
|
try {
|
|
329
|
-
const { updateContentTitle } = await import("./contentThunks-
|
|
336
|
+
const { updateContentTitle } = await import("./contentThunks-ZZVD2LBR.js");
|
|
330
337
|
await dispatch(
|
|
331
338
|
updateContentTitle({
|
|
332
339
|
spaceId: dbSpaceId,
|
|
@@ -365,7 +372,7 @@ async function saveDocState(arg, { dispatch, getState }) {
|
|
|
365
372
|
}
|
|
366
373
|
}
|
|
367
374
|
async function createDocState(args, thunkApi) {
|
|
368
|
-
const { createPageAction } = await import("./createPageAction-
|
|
375
|
+
const { createPageAction } = await import("./createPageAction-UXBWURHH.js");
|
|
369
376
|
return createPageAction(args, thunkApi);
|
|
370
377
|
}
|
|
371
378
|
function subscribe(listener) {
|
|
@@ -387,6 +394,7 @@ function useDocField(selector) {
|
|
|
387
394
|
}
|
|
388
395
|
function resetDocStoreForTests() {
|
|
389
396
|
state = createInitialState();
|
|
397
|
+
latestInitRequestKey = null;
|
|
390
398
|
bump();
|
|
391
399
|
}
|
|
392
400
|
|
|
@@ -394,6 +402,7 @@ export {
|
|
|
394
402
|
getDocState,
|
|
395
403
|
getDocField,
|
|
396
404
|
getDocPageKey,
|
|
405
|
+
isDocStateForPage,
|
|
397
406
|
getDocIsInitialized,
|
|
398
407
|
getDocIsReadOnly,
|
|
399
408
|
getDocHasPendingChanges,
|
|
@@ -1,25 +1,62 @@
|
|
|
1
1
|
import {
|
|
2
2
|
normalizeTimingMs
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-7MMSLEPA.js";
|
|
4
4
|
import {
|
|
5
5
|
MODEL_LOOKUP_MAP
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-3BXNTXYI.js";
|
|
7
7
|
import {
|
|
8
8
|
ALL_MODELS
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-CYSYR67N.js";
|
|
10
|
+
import {
|
|
11
|
+
BUILTIN_NOLO_AGENT_KEY
|
|
12
|
+
} from "./chunk-BNGW5ASC.js";
|
|
10
13
|
import {
|
|
11
14
|
asTrimmedNonEmptyStringArray
|
|
12
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-3AH7LNUB.js";
|
|
13
16
|
import {
|
|
14
17
|
asOptionalFiniteNumber
|
|
15
18
|
} from "./chunk-WWC7I6TA.js";
|
|
16
|
-
import {
|
|
17
|
-
BUILTIN_NOLO_AGENT_KEY
|
|
18
|
-
} from "./chunk-BNGW5ASC.js";
|
|
19
19
|
import {
|
|
20
20
|
asOptionalTrimmedString
|
|
21
21
|
} from "./chunk-G3SUCT4W.js";
|
|
22
22
|
|
|
23
|
+
// packages/agent-runtime/autoExecutionProfiles.ts
|
|
24
|
+
var createProfile = (input) => ({
|
|
25
|
+
id: input.id,
|
|
26
|
+
tier: input.tier,
|
|
27
|
+
legacyAgentKey: input.legacyAgentKey,
|
|
28
|
+
key: input.legacyAgentKey,
|
|
29
|
+
name: input.name,
|
|
30
|
+
provider: "nolo",
|
|
31
|
+
model: input.model,
|
|
32
|
+
apiSource: "platform",
|
|
33
|
+
useServerProxy: true,
|
|
34
|
+
rawRecord: {
|
|
35
|
+
dbKey: input.legacyAgentKey,
|
|
36
|
+
isPublic: true,
|
|
37
|
+
provider: "nolo",
|
|
38
|
+
model: input.model,
|
|
39
|
+
apiSource: "platform",
|
|
40
|
+
useServerProxy: true
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
var FLASH_PROFILE = createProfile({
|
|
44
|
+
id: "builtin:auto:nolo",
|
|
45
|
+
tier: "flash",
|
|
46
|
+
legacyAgentKey: BUILTIN_NOLO_AGENT_KEY,
|
|
47
|
+
name: "nolo",
|
|
48
|
+
model: "deepseek-flash"
|
|
49
|
+
});
|
|
50
|
+
var AUTO_EXECUTION_PROFILES = {
|
|
51
|
+
flash: FLASH_PROFILE,
|
|
52
|
+
balanced: { ...FLASH_PROFILE, tier: "balanced" },
|
|
53
|
+
quality: { ...FLASH_PROFILE, tier: "quality" },
|
|
54
|
+
image: { ...FLASH_PROFILE, tier: "image" }
|
|
55
|
+
};
|
|
56
|
+
var DEFAULT_AUTO_EXECUTION_TIER = "flash";
|
|
57
|
+
var DEFAULT_AUTO_EXECUTION_PROFILE = AUTO_EXECUTION_PROFILES[DEFAULT_AUTO_EXECUTION_TIER];
|
|
58
|
+
var resolveAutoExecutionProfile = (tier) => AUTO_EXECUTION_PROFILES[tier ?? DEFAULT_AUTO_EXECUTION_TIER] ?? DEFAULT_AUTO_EXECUTION_PROFILE;
|
|
59
|
+
|
|
23
60
|
// packages/ai/token/cacheTokenFields.ts
|
|
24
61
|
var finiteTokenCount = (value) => {
|
|
25
62
|
if (typeof value !== "number" || !Number.isFinite(value)) return void 0;
|
|
@@ -60,6 +97,8 @@ var readCacheCreationInputTokens = (usage) => firstPositive(usage, [
|
|
|
60
97
|
var DEFAULT_CONTEXT_WINDOW = 256e3;
|
|
61
98
|
var QWEN_3_6_CONTEXT_WINDOW = 262144;
|
|
62
99
|
var GLM_5_2_CONTEXT_WINDOW = 1e6;
|
|
100
|
+
var GPT_6_1_SOL_CONTEXT_WINDOW = 5e5;
|
|
101
|
+
var GPT_6_1_SOL_PATTERN = /(^|\/)gpt-6\.1[- ]sol(?![a-z])/;
|
|
63
102
|
var ANTIGRAVITY_EFFORT_SUFFIXES = [
|
|
64
103
|
"-tiered",
|
|
65
104
|
"-extra-low",
|
|
@@ -126,6 +165,7 @@ function fuzzyContextWindow(normalizedName) {
|
|
|
126
165
|
if (normalizedName.includes("glm-5.3") || normalizedName.includes("glm5.3")) return 105e4;
|
|
127
166
|
if (normalizedName.includes("glm-5.2") || normalizedName.includes("glm5.2")) return GLM_5_2_CONTEXT_WINDOW;
|
|
128
167
|
if (normalizedName.includes("deepseek")) return 1e6;
|
|
168
|
+
if (GPT_6_1_SOL_PATTERN.test(normalizedName)) return GPT_6_1_SOL_CONTEXT_WINDOW;
|
|
129
169
|
if (normalizedName.includes("gpt-5") || normalizedName.includes("gpt-4.1")) return 1047576;
|
|
130
170
|
if (normalizedName.startsWith("cursor-grok-4.5")) return 1e6;
|
|
131
171
|
if (normalizedName.includes("claude-4.6")) return 1e6;
|
|
@@ -134,6 +174,22 @@ function fuzzyContextWindow(normalizedName) {
|
|
|
134
174
|
if (normalizedName.includes("qwen3.6") || normalizedName.includes("qwen3p6")) return QWEN_3_6_CONTEXT_WINDOW;
|
|
135
175
|
if (normalizedName.includes("qwen3.7") || normalizedName.includes("qwen3p7")) return 262144;
|
|
136
176
|
if (normalizedName.includes("minimax-m2") || normalizedName.includes("minimax_m2")) return 262144;
|
|
177
|
+
const bareModelName = (normalizedName.includes("/") ? normalizedName.slice(normalizedName.lastIndexOf("/") + 1) : normalizedName).replace(/:.*$/, "");
|
|
178
|
+
if (normalizedName.includes("mistral-large-4")) {
|
|
179
|
+
const rest = normalizedName.slice(
|
|
180
|
+
normalizedName.indexOf("mistral-large-4") + "mistral-large-4".length
|
|
181
|
+
);
|
|
182
|
+
if (rest === "" || /^[-:_@/\s]/.test(rest)) return 524288;
|
|
183
|
+
}
|
|
184
|
+
if (normalizedName.includes("mistral-vibe-cli") || normalizedName.includes("mistral-medium-3.5") || normalizedName.includes("mistral-medium-3-5") || normalizedName.includes("mistral-medium-latest") || normalizedName.includes("mistral-medium-2604") || normalizedName.includes("mistral-large-latest") || normalizedName.includes("mistral-large-2512") || normalizedName.includes("mistral-small-latest") || normalizedName.includes("mistral-small-2603") || normalizedName.includes("magistral-medium-latest") || normalizedName.includes("magistral-small-latest") || // 展示名(TUI 传 displayName 的路径;Mistral 不在 MODEL_LOOKUP_MAP,无法走精确表):
|
|
185
|
+
normalizedName.includes("mistral vibe cli") || normalizedName.includes("mistral medium 3.5") || normalizedName.includes("mistral large (latest)")) {
|
|
186
|
+
return 262144;
|
|
187
|
+
}
|
|
188
|
+
if (bareModelName === "mistral-medium" || bareModelName === "mistral-medium-3") return 262144;
|
|
189
|
+
if (normalizedName.includes("mistral-embed") || normalizedName.includes("codestral-embed")) return 8192;
|
|
190
|
+
if (normalizedName.includes("mistral-ocr")) return 16384;
|
|
191
|
+
if (normalizedName.includes("mistral-moderation")) return 131072;
|
|
192
|
+
if (normalizedName.includes("codestral") || normalizedName.includes("mistral-code")) return 256e3;
|
|
137
193
|
if (normalizedName.includes("claude")) return 2e5;
|
|
138
194
|
if (normalizedName.includes("llama3.1") || normalizedName.includes("llama-3.1") || normalizedName.includes("llama3.2") || normalizedName.includes("llama-3.2") || normalizedName.includes("llama3.3") || normalizedName.includes("llama-3.3") || normalizedName.includes("qwen2.5") || normalizedName.includes("qwen-2.5") || normalizedName.includes("mistral-nemo") || normalizedName.includes("phi3.5") || normalizedName.includes("phi-3.5") || normalizedName.includes("phi4") || normalizedName.includes("phi-4")) {
|
|
139
195
|
return 131072;
|
|
@@ -279,7 +335,7 @@ var normalizeUsage = (usage) => {
|
|
|
279
335
|
// packages/agent-runtime/emptyAssistantRepair.ts
|
|
280
336
|
var EMPTY_ASSISTANT_REPAIR_PROMPT = "\u8BF7\u7ED9\u51FA\u660E\u786E\u7684\u6587\u5B57\u56DE\u7B54\u6216\u6267\u884C\u4E0B\u4E00\u6B65\uFF1A\u5982\u679C\u4EFB\u52A1\u5DF2\u5B8C\u6210\uFF0C\u8BF7\u76F4\u63A5\u603B\u7ED3\u7ED3\u679C\uFF1B\u5982\u679C\u9700\u8981\u8C03\u7528\u5DE5\u5177\uFF0C\u53EA\u80FD\u8C03\u7528\u672C\u6B21\u8BF7\u6C42\u4E2D\u5DF2\u58F0\u660E\u7684\u5DE5\u5177\u2014\u2014\u4F60\u60F3\u7528\u7684\u5DE5\u5177\u4E0D\u5728\u58F0\u660E\u5217\u8868\u4E2D\u65F6\uFF0C\u4E0D\u8981\u5C1D\u8BD5\u8C03\u7528\u5B83\uFF0C\u76F4\u63A5\u7528\u6587\u5B57\u8BF4\u660E\u8BE5\u80FD\u529B\u5F53\u524D\u4E0D\u53EF\u7528\u3002\u8BF7\u5207\u52FF\u8FD4\u56DE\u7A7A\u5185\u5BB9\u3002";
|
|
281
337
|
var EMPTY_ASSISTANT_FALLBACK_MESSAGE = "\u6A21\u578B\u8FDE\u7EED\u8FD4\u56DE\u7A7A\u6D88\u606F\uFF0C\u5F53\u524D\u4EFB\u52A1\u672A\u5B8C\u6210\u3002\u8BF7\u91CD\u8BD5\u5F53\u524D\u6B65\u9AA4\uFF0C\u6216\u7ED9\u51FA\u66F4\u5177\u4F53\u7684\u4FEE\u6539\u8303\u56F4\u3002";
|
|
282
|
-
var LENGTH_TRUNCATED_FALLBACK_MESSAGE = "\u8F93\u51FA\u8FBE\u5230\u957F\u5EA6\u4E0A\u9650\u88AB\u622A\u65AD\uFF0C\u5EFA\u8BAE\u7F29\u77ED\u4EFB\u52A1\u6216\u63D0\u9AD8\u8F93\u51FA\u4E0A\u9650\u3002";
|
|
338
|
+
var LENGTH_TRUNCATED_FALLBACK_MESSAGE = "\u8F93\u51FA\u8FBE\u5230\u957F\u5EA6\u4E0A\u9650\u88AB\u622A\u65AD\uFF0C\u6216\u4E0A\u4E0B\u6587\u5DF2\u8D85\u51FA\u6A21\u578B\u7A97\u53E3\u3002\u5EFA\u8BAE\u7F29\u77ED\u4EFB\u52A1\u3001\u538B\u7F29\u6216\u65B0\u5F00\u5BF9\u8BDD\uFF0C\u6216\u63D0\u9AD8\u8F93\u51FA\u4E0A\u9650\u3002";
|
|
283
339
|
var STREAM_TRUNCATED_FALLBACK_MESSAGE = "\u4E0A\u6E38\u54CD\u5E94\u6D41\u5728\u6536\u5C3E\u524D\u88AB\u4E2D\u65AD\uFF08\u672A\u6536\u5230\u7ED3\u675F\u6807\u8BB0\uFF09\uFF0C\u672C\u8F6E\u8F93\u51FA\u4E0D\u5B8C\u6574\u3002\u8BF7\u91CD\u8BD5\u5F53\u524D\u6B65\u9AA4\u3002";
|
|
284
340
|
var REPETITION_LOOP_FALLBACK_MESSAGE = "\u68C0\u6D4B\u5230\u6A21\u578B\u9677\u5165\u91CD\u590D\u8F93\u51FA\u6B7B\u5FAA\u73AF\uFF0C\u5DF2\u81EA\u52A8\u7194\u65AD\u7EC8\u6B62\u5F53\u524D\u4EFB\u52A1\u3002";
|
|
285
341
|
var STAGNANT_TOOL_CALLS_FALLBACK_MESSAGE = "\u68C0\u6D4B\u5230\u8FDE\u7EED\u591A\u6B21\u76F8\u540C\u5DE5\u5177\u8C03\u7528\u4E14\u65E0\u5B9E\u8D28\u8FDB\u5C55\uFF0C\u5DF2\u81EA\u52A8\u7194\u65AD\u7EC8\u6B62\u5F53\u524D\u4EFB\u52A1\u3002";
|
|
@@ -346,44 +402,9 @@ function resolveTruncatedReasoningTailLog(reason, reasoning_content) {
|
|
|
346
402
|
return null;
|
|
347
403
|
}
|
|
348
404
|
|
|
349
|
-
// packages/agent-runtime/autoExecutionProfiles.ts
|
|
350
|
-
var createProfile = (input) => ({
|
|
351
|
-
id: input.id,
|
|
352
|
-
tier: input.tier,
|
|
353
|
-
legacyAgentKey: input.legacyAgentKey,
|
|
354
|
-
key: input.legacyAgentKey,
|
|
355
|
-
name: input.name,
|
|
356
|
-
provider: "nolo",
|
|
357
|
-
model: input.model,
|
|
358
|
-
apiSource: "platform",
|
|
359
|
-
useServerProxy: true,
|
|
360
|
-
rawRecord: {
|
|
361
|
-
dbKey: input.legacyAgentKey,
|
|
362
|
-
isPublic: true,
|
|
363
|
-
provider: "nolo",
|
|
364
|
-
model: input.model,
|
|
365
|
-
apiSource: "platform",
|
|
366
|
-
useServerProxy: true
|
|
367
|
-
}
|
|
368
|
-
});
|
|
369
|
-
var FLASH_PROFILE = createProfile({
|
|
370
|
-
id: "builtin:auto:nolo",
|
|
371
|
-
tier: "flash",
|
|
372
|
-
legacyAgentKey: BUILTIN_NOLO_AGENT_KEY,
|
|
373
|
-
name: "nolo",
|
|
374
|
-
model: "deepseek-flash"
|
|
375
|
-
});
|
|
376
|
-
var AUTO_EXECUTION_PROFILES = {
|
|
377
|
-
flash: FLASH_PROFILE,
|
|
378
|
-
balanced: { ...FLASH_PROFILE, tier: "balanced" },
|
|
379
|
-
quality: { ...FLASH_PROFILE, tier: "quality" },
|
|
380
|
-
image: { ...FLASH_PROFILE, tier: "image" }
|
|
381
|
-
};
|
|
382
|
-
var DEFAULT_AUTO_EXECUTION_TIER = "flash";
|
|
383
|
-
var DEFAULT_AUTO_EXECUTION_PROFILE = AUTO_EXECUTION_PROFILES[DEFAULT_AUTO_EXECUTION_TIER];
|
|
384
|
-
var resolveAutoExecutionProfile = (tier) => AUTO_EXECUTION_PROFILES[tier ?? DEFAULT_AUTO_EXECUTION_TIER] ?? DEFAULT_AUTO_EXECUTION_PROFILE;
|
|
385
|
-
|
|
386
405
|
export {
|
|
406
|
+
DEFAULT_AUTO_EXECUTION_PROFILE,
|
|
407
|
+
resolveAutoExecutionProfile,
|
|
387
408
|
readCacheReadInputTokens,
|
|
388
409
|
readCacheCreationInputTokens,
|
|
389
410
|
DEFAULT_CONTEXT_WINDOW,
|
|
@@ -399,7 +420,5 @@ export {
|
|
|
399
420
|
resolveEmptyAssistantOutcome,
|
|
400
421
|
resolveEmptyAssistantFallbackMessage,
|
|
401
422
|
hasAssistantVisibleOutput,
|
|
402
|
-
resolveTruncatedReasoningTailLog
|
|
403
|
-
DEFAULT_AUTO_EXECUTION_PROFILE,
|
|
404
|
-
resolveAutoExecutionProfile
|
|
423
|
+
resolveTruncatedReasoningTailLog
|
|
405
424
|
};
|
|
@@ -7,18 +7,15 @@ import {
|
|
|
7
7
|
listUserRecordsFromServers,
|
|
8
8
|
readDbRecordFromServers,
|
|
9
9
|
readLiveDbRecordAfterTombstoneMerge
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-UVKDJUTL.js";
|
|
11
11
|
import {
|
|
12
|
-
fetchWithTransientRetry
|
|
13
|
-
|
|
12
|
+
fetchWithTransientRetry,
|
|
13
|
+
parsePositiveFiniteNumberOrFallback
|
|
14
|
+
} from "./chunk-AOTBKDRK.js";
|
|
14
15
|
import {
|
|
15
16
|
DRAIN_EXHAUSTED_USER_MESSAGE,
|
|
16
17
|
isDrainExhaustedResponse
|
|
17
18
|
} from "./chunk-3L2WKC3W.js";
|
|
18
|
-
import {
|
|
19
|
-
buildDialogAttachmentPlan,
|
|
20
|
-
extractFileContentIds
|
|
21
|
-
} from "./chunk-3BMYXEUW.js";
|
|
22
19
|
import {
|
|
23
20
|
isLevelLockError
|
|
24
21
|
} from "./chunk-URMS4XY2.js";
|
|
@@ -26,11 +23,18 @@ import {
|
|
|
26
23
|
resolveLocalDialogDbCandidates,
|
|
27
24
|
resolveServerDbPath
|
|
28
25
|
} from "./chunk-GLKOYSRU.js";
|
|
26
|
+
import {
|
|
27
|
+
buildDialogAttachmentPlan,
|
|
28
|
+
extractFileContentIds
|
|
29
|
+
} from "./chunk-6O4IK4V2.js";
|
|
29
30
|
import {
|
|
30
31
|
boundSummaryText,
|
|
31
32
|
buildDialogReadEnvelope,
|
|
32
33
|
projectDialogReadForAgent
|
|
33
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-4YSOUKUR.js";
|
|
35
|
+
import {
|
|
36
|
+
asRecordOrEmpty
|
|
37
|
+
} from "./chunk-KX6YBIHG.js";
|
|
34
38
|
import {
|
|
35
39
|
toErrorMessage
|
|
36
40
|
} from "./chunk-HNMXYYJR.js";
|
|
@@ -43,24 +47,18 @@ import {
|
|
|
43
47
|
resolveServerUrl
|
|
44
48
|
} from "./chunk-A7GB5UGH.js";
|
|
45
49
|
import {
|
|
46
|
-
|
|
47
|
-
} from "./chunk-
|
|
48
|
-
import {
|
|
49
|
-
asRecordOrEmpty
|
|
50
|
-
} from "./chunk-KX6YBIHG.js";
|
|
50
|
+
isRecord
|
|
51
|
+
} from "./chunk-KUG52IAP.js";
|
|
51
52
|
import {
|
|
52
53
|
asNonEmptyStringArray,
|
|
53
54
|
asTrimmedNonEmptyStringArray
|
|
54
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-3AH7LNUB.js";
|
|
55
56
|
import {
|
|
56
57
|
createClientLogger
|
|
57
|
-
} from "./chunk-
|
|
58
|
+
} from "./chunk-HIM3FCLF.js";
|
|
58
59
|
import {
|
|
59
60
|
isLevelNotFoundError
|
|
60
61
|
} from "./chunk-OW765XBU.js";
|
|
61
|
-
import {
|
|
62
|
-
isRecord
|
|
63
|
-
} from "./chunk-KUG52IAP.js";
|
|
64
62
|
import {
|
|
65
63
|
asTrimmedString
|
|
66
64
|
} from "./chunk-3EUW3WEO.js";
|
|
@@ -725,7 +723,7 @@ function isExplicitDialogIdMismatch(meta, dialogId) {
|
|
|
725
723
|
return meta && typeof meta === "object" && "id" in meta && meta.id != null && String(meta.id) !== dialogId;
|
|
726
724
|
}
|
|
727
725
|
async function readDialogFromLocalDb(dialogKey, dialogId, limit, readLocalDialog) {
|
|
728
|
-
const reader = readLocalDialog ?? (await import("./localDialogRead-
|
|
726
|
+
const reader = readLocalDialog ?? (await import("./localDialogRead-ZHZ3KXDM.js")).readDialogFromLocalDb;
|
|
729
727
|
const result = await reader({ dialogKey, dialogId, limit });
|
|
730
728
|
return {
|
|
731
729
|
...result,
|
|
@@ -742,7 +740,7 @@ async function readLocalDialogAtDbPathDefault(args) {
|
|
|
742
740
|
const [{ Level }, { safeJsonEncoding }, { fetchMessages }] = await Promise.all([
|
|
743
741
|
import("./levelLazyShim-GZBKODGI.js"),
|
|
744
742
|
import("./serverStoreFactory-YMXDF4NI.js"),
|
|
745
|
-
import("./fetchMessages-
|
|
743
|
+
import("./fetchMessages-I5ICDDHM.js")
|
|
746
744
|
]);
|
|
747
745
|
const db = new Level(args.dbPath, {
|
|
748
746
|
valueEncoding: safeJsonEncoding,
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
|
|
5
5
|
// packages/cli/agentCommandSupport.ts
|
|
6
6
|
async function getDefaultCliDb() {
|
|
7
|
-
const { getDefaultCliLocalRuntimeDb } = await import("./localRuntimeDb-
|
|
7
|
+
const { getDefaultCliLocalRuntimeDb } = await import("./localRuntimeDb-VKWVOPPI.js");
|
|
8
8
|
return getDefaultCliLocalRuntimeDb();
|
|
9
9
|
}
|
|
10
10
|
function createNullCliDb() {
|