nolo-cli 0.9.1 → 0.11.0
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-UD44KGZ4.js → _executeModel-ZEDPX6OF.js} +50 -48
- package/{action-ZJWE3Y5S.js → action-AA4IJ5K2.js} +11 -11
- package/{addContentAction-TVDBNJM5.js → addContentAction-QYVO4SYP.js} +10 -10
- package/{addDialogAgentAction-EKH774VT.js → addDialogAgentAction-WVVKT5WQ.js} +12 -12
- package/{agentDeleteCommand-TCPEFJTF.js → agentDeleteCommand-RDPGYIWF.js} +25 -25
- package/{agentEmailCommands-CZ3UILZ4.js → agentEmailCommands-2HJJKS5F.js} +62 -59
- package/{agentListCommands-SJKO2FFB.js → agentListCommands-HFEVV3ZW.js} +30 -29
- package/{agentMachineCommands-PSNABISZ.js → agentMachineCommands-25ZOENJU.js} +29 -29
- package/{agentRecordCommands-MH2JKFHS.js → agentRecordCommands-GTCOAM3L.js} +53 -50
- package/{agentRunCommand-4KH6MIZR.js → agentRunCommand-YBS3JDLD.js} +62 -56
- package/{agentRuntimeLocal-SKHJUWSS.js → agentRuntimeLocal-UQBMQI2M.js} +12 -12
- package/{agentSlice-3WXXN4VK.js → agentSlice-6EKOBCCS.js} +11 -11
- package/{authCommand-PXFX6JDT.js → authCommand-O2OWACN4.js} +12 -12
- package/{authCommands-356AYWEK.js → authCommands-H7365TZP.js} +6 -6
- package/{chunk-MKMWT7SA.js → chunk-2W2VYVI5.js} +336 -92
- package/{chunk-TSS3XJY4.js → chunk-3NSIQZZ6.js} +5 -5
- package/{chunk-AUQ747NZ.js → chunk-4SOKXIW4.js} +70 -6
- package/{chunk-ZIG5LJ7X.js → chunk-5MOUAAMK.js} +106 -2342
- package/{chunk-6GANEXVO.js → chunk-5OIFWVX7.js} +1 -1
- package/{chunk-MGOJ5R6J.js → chunk-7D3JY6C2.js} +2 -2
- package/{chunk-7OOXPE3N.js → chunk-AEZAORLG.js} +4 -4
- package/chunk-AFON4QUU.js +112 -0
- package/{chunk-YBWOP46I.js → chunk-BX6U3ETE.js} +20 -13
- package/{chunk-2PUGVR6E.js → chunk-C2MDQQ4O.js} +1 -1
- package/{chunk-SL35K7AH.js → chunk-C4FTUXVF.js} +2 -82
- package/{chunk-GAKEBQD6.js → chunk-D6OQHXVG.js} +11 -7
- package/{chunk-WKM6FH35.js → chunk-DWGAEFJL.js} +1 -1
- package/{chunk-PG5PNA7Y.js → chunk-E4HNJSHC.js} +20 -20
- package/{chunk-SBR32ZZS.js → chunk-EVZKZF32.js} +73 -40
- package/{chunk-C3RUNRHT.js → chunk-FXXSGWAJ.js} +1 -1
- package/{chunk-KTVVPRJS.js → chunk-GBDSZATH.js} +4 -4
- package/{chunk-3TZDXYSF.js → chunk-HNW7IJSK.js} +1 -1
- package/{chunk-2EISRLRC.js → chunk-IPYUUY4E.js} +2 -2
- package/{chunk-2K2ECKSG.js → chunk-KJR5KAUQ.js} +2 -2
- package/{chunk-XE635NI4.js → chunk-KQQVGRA3.js} +24 -24
- package/{chunk-AVMKZHBC.js → chunk-L53FGHA4.js} +3 -2
- package/{chunk-GG4AJPSR.js → chunk-LAX2JSTX.js} +2 -2
- package/{chunk-5PJ3VWCS.js → chunk-LP65VRCI.js} +7 -13
- package/chunk-LTRXGFMS.js +83 -0
- package/{chunk-63SLEOLK.js → chunk-MQI77IRB.js} +4 -4
- package/{chunk-PCWC3JTN.js → chunk-MTU75CZ2.js} +1 -1
- package/{chunk-3WYQEUBI.js → chunk-NEM67FX7.js} +1 -1
- package/{chunk-COMXDWNM.js → chunk-O26GI2JP.js} +10 -10
- package/{chunk-SH2CFQOH.js → chunk-O4BU24WZ.js} +2 -181
- package/{chunk-EYEEHCU4.js → chunk-OOM6SJNR.js} +10 -10
- package/chunk-OOSFSFMA.js +271 -0
- package/{chunk-PAKN26FP.js → chunk-OUI3ZHYD.js} +1 -1
- package/{chunk-EXTIQUCI.js → chunk-PNEW2Z3T.js} +9 -9
- package/{chunk-CPB2YM4D.js → chunk-PXQN7IBQ.js} +2 -2
- package/{chunk-4IJYA27C.js → chunk-PXZAAB4L.js} +4 -4
- package/{chunk-4K2KKCSD.js → chunk-Q3UKJVU4.js} +12 -16
- package/{chunk-XKIMRZO2.js → chunk-QNMFBBZK.js} +1 -1
- package/{chunk-XS466O7S.js → chunk-S3GS2PRL.js} +65 -30
- package/{chunk-YYUCRDOK.js → chunk-SOTZ6RDN.js} +1 -1
- package/{chunk-G43KEVSC.js → chunk-SV5MWASH.js} +17 -17
- package/{chunk-7QRKCBOP.js → chunk-TACHTH5D.js} +15 -15
- package/chunk-VC6OZXO5.js +298 -0
- package/{chunk-ZQ2UM4KG.js → chunk-WZSRQNQG.js} +1 -292
- package/{chunk-LARL2V6G.js → chunk-X2S7JTIG.js} +298 -66
- package/{chunk-Q2YZULBH.js → chunk-XENYHRUE.js} +1 -1
- package/{chunk-ELRRLDWI.js → chunk-XFOLQLDN.js} +2 -2
- package/{chunk-UUJDGGAK.js → chunk-XYZA7S7V.js} +6 -6
- package/{chunk-KOCA5FCS.js → chunk-ZEYDOXHF.js} +185 -147
- package/{chunk-5KLGBAAR.js → chunk-ZPRK73XY.js} +1 -1
- package/{cliExecutor-DNE7TCC4.js → cliExecutor-K3F7DMRO.js} +2 -2
- package/{createAgentAutomationAction-63OIP6X5.js → createAgentAutomationAction-LTI5QU35.js} +25 -25
- package/{createDialogAction-ZLYZDYBB.js → createDialogAction-OJJ7L3L3.js} +26 -25
- package/{createPageAction-AL5FSDCK.js → createPageAction-5MXWVRGY.js} +30 -29
- package/{dbSlice-PR44QPXY.js → dbSlice-RQFQQVHT.js} +9 -9
- package/{deleteFile-4SKGPHOZ.js → deleteFile-7XP5BGC7.js} +6 -6
- package/{dialogCommands-F6YI5742.js → dialogCommands-JTJ3RPPW.js} +23 -23
- package/{dialogSlice-JSBNZRLR.js → dialogSlice-OWROKURJ.js} +22 -22
- package/{docCreateCommands-4CTO7ERT.js → docCreateCommands-WJBEW2V7.js} +23 -22
- package/{docDeleteCommands-VBWERDRG.js → docDeleteCommands-BVEHJOY5.js} +25 -24
- package/{docReadCommands-KNP4MFYB.js → docReadCommands-NEWOZIJV.js} +23 -22
- package/{docStore-ADP5VYY4.js → docStore-3DXRYBMD.js} +23 -23
- package/{docUpdateCommands-4BCBJQHA.js → docUpdateCommands-C7WHT7UU.js} +23 -22
- package/{fetchMessages-U6ZHN56A.js → fetchMessages-KTNM7QAR.js} +3 -3
- package/{handleSendMessageAction-IJDQ6ARA.js → handleSendMessageAction-B5PRR7BE.js} +27 -27
- package/index.js +58 -58
- package/{localDialogRead-Z5UTAJPU.js → localDialogRead-YSKFFRTT.js} +2 -2
- package/{machineCommands-EA3M4XTN.js → machineCommands-IIIREAEK.js} +67 -62
- package/{machineWsRunDispatch-NAPKE5ZA.js → machineWsRunDispatch-3SIU6ILW.js} +52 -49
- package/package.json +4 -2
- package/{read-RIJCIVKX.js → read-QJNKRROM.js} +6 -6
- package/{readDocTool-GZD2N3LO.js → readDocTool-H6X6KO6X.js} +1 -1
- package/{readlineWorkspace-KMWT4T4S.js → readlineWorkspace-HGP3I3OC.js} +97 -79
- package/{removeDialogAgentAction-GJQJNDW6.js → removeDialogAgentAction-TCT35SOF.js} +14 -14
- package/{runAgentClientLoop-U5Q6NDTJ.js → runAgentClientLoop-EFM4PTVI.js} +46 -44
- package/{setDialogExtraReferencesAction-M7OQG54N.js → setDialogExtraReferencesAction-CGYLZMFH.js} +12 -12
- package/{setPrimaryDialogAgentAction-46UNFJDL.js → setPrimaryDialogAgentAction-F6BFQDJU.js} +14 -14
- package/{settingSlice-FVUUH4JA.js → settingSlice-2I5HMG47.js} +10 -10
- package/skillDiscovery-UGSQGX2U.js +16 -0
- package/{spaceCommands-E2CFRPZJ.js → spaceCommands-MT7BWCIL.js} +32 -36
- package/{spaceSlice-L3R6IMXE.js → spaceSlice-BS5TSW3W.js} +22 -22
- package/{streamAgentChatTurn-UBDAOQWE.js → streamAgentChatTurn-I3VBFNR3.js} +85 -81
- package/{tableCommands-GOFP7QKA.js → tableCommands-M3DJUETS.js} +11 -11
- package/{toolApiClient-QI3YBNWB.js → toolApiClient-C7P7YSE4.js} +2 -2
- package/{tools-TMJXZTCA.js → tools-XSD2BOEN.js} +34 -32
- package/{tuiSummaryLlmCaller-RV3THLZF.js → tuiSummaryLlmCaller-32NRHTT2.js} +3 -3
- package/{understanding-GQKNDDWM.js → understanding-ZOESBLF3.js} +5 -5
- package/{updateDialogTitleAction-ZTWRDXI2.js → updateDialogTitleAction-7FYNJOGP.js} +25 -25
- package/chunk-QYXLLLGL.js +0 -4519
- package/{agentPullCommand-O2MTUAFR.js → agentPullCommand-GOL2S4W2.js} +1 -1
- package/{chunk-DZ3XJVET.js → chunk-3QAF2LTL.js} +3 -3
- package/{chunk-EHLHSX7R.js → chunk-5MMZUWSG.js} +3 -3
- package/{chunk-X7W4TNB4.js → chunk-CMKUBIGW.js} +3 -3
- package/{chunk-4CQLVGRV.js → chunk-ID4G2MAR.js} +3 -3
- package/{chunk-5MIDPSSK.js → chunk-JK7VW2FN.js} +3 -3
- package/{chunk-TILFE6LV.js → chunk-YOCHZD7D.js} +3 -3
- package/{chunk-JRKKFRAV.js → chunk-YTBMA7NO.js} +3 -3
- package/{db-HCJ5PRB5.js → db-6QED3ZVO.js} +3 -3
- package/{runtimeDoctorCommands-LRHLPDRC.js → runtimeDoctorCommands-ID43Z7VX.js} +3 -3
|
@@ -5,17 +5,17 @@ import {
|
|
|
5
5
|
loadFileFromIndexedDb,
|
|
6
6
|
removeAction,
|
|
7
7
|
saveFileToIndexedDb
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-IPYUUY4E.js";
|
|
9
9
|
import {
|
|
10
10
|
fileKey,
|
|
11
11
|
getFileIdFromKey,
|
|
12
12
|
ulid
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-O4BU24WZ.js";
|
|
14
14
|
import {
|
|
15
15
|
readAction,
|
|
16
16
|
readRequestManager,
|
|
17
17
|
resolveAgentReadServers
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-XFOLQLDN.js";
|
|
19
19
|
import {
|
|
20
20
|
asyncThunkCreator,
|
|
21
21
|
buildCreateSlice,
|
|
@@ -35,22 +35,22 @@ import {
|
|
|
35
35
|
shouldReplaceLocalWithRemoteRecord,
|
|
36
36
|
shouldReplicateLocalRecord,
|
|
37
37
|
uploadToCurrentServer
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-OOM6SJNR.js";
|
|
39
39
|
import {
|
|
40
40
|
fetchFromClientDb,
|
|
41
41
|
fetchFromServer,
|
|
42
42
|
logger,
|
|
43
43
|
normalizeTimeFields
|
|
44
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-OOSFSFMA.js";
|
|
45
45
|
import {
|
|
46
46
|
isTombstoneRecord
|
|
47
47
|
} from "./chunk-GBRG75BQ.js";
|
|
48
|
-
import {
|
|
49
|
-
API_ENDPOINTS
|
|
50
|
-
} from "./chunk-LCBAMY2M.js";
|
|
51
48
|
import {
|
|
52
49
|
isRecord
|
|
53
50
|
} from "./chunk-KUG52IAP.js";
|
|
51
|
+
import {
|
|
52
|
+
API_ENDPOINTS
|
|
53
|
+
} from "./chunk-LCBAMY2M.js";
|
|
54
54
|
|
|
55
55
|
// packages/database/actions/readAndWait.ts
|
|
56
56
|
var hashTokenScope = (currentToken) => {
|
|
@@ -674,7 +674,7 @@ var dbSlice = createSliceWithThunks({
|
|
|
674
674
|
// 动态 import 在调用期解析,避开 TDZ/求值顺序问题(同下方 share)。
|
|
675
675
|
read: create.asyncThunk(
|
|
676
676
|
async (payload, thunkApi) => {
|
|
677
|
-
const { readAction: readAction2 } = await import("./read-
|
|
677
|
+
const { readAction: readAction2 } = await import("./read-QJNKRROM.js");
|
|
678
678
|
return readAction2(payload, thunkApi);
|
|
679
679
|
},
|
|
680
680
|
{
|
|
@@ -748,7 +748,7 @@ var dbSlice = createSliceWithThunks({
|
|
|
748
748
|
// 这里改成动态 import,运行期才解析,彻底断开这条边。
|
|
749
749
|
share: create.asyncThunk(
|
|
750
750
|
async (config, thunkApi) => {
|
|
751
|
-
const { shareResourceAction } = await import("./action-
|
|
751
|
+
const { shareResourceAction } = await import("./action-AA4IJ5K2.js");
|
|
752
752
|
return shareResourceAction(config, thunkApi);
|
|
753
753
|
}
|
|
754
754
|
),
|
|
@@ -12,187 +12,9 @@ import {
|
|
|
12
12
|
} from "./chunk-G3SUCT4W.js";
|
|
13
13
|
import {
|
|
14
14
|
__commonJS,
|
|
15
|
-
__require,
|
|
16
15
|
__toESM
|
|
17
16
|
} from "./chunk-4VNS5WPM.js";
|
|
18
17
|
|
|
19
|
-
// node_modules/ulid/dist/index.umd.js
|
|
20
|
-
var require_index_umd = __commonJS({
|
|
21
|
-
"node_modules/ulid/dist/index.umd.js"(exports, module) {
|
|
22
|
-
(function(global, factory) {
|
|
23
|
-
typeof exports === "object" && typeof module !== "undefined" ? factory(exports) : typeof define === "function" && define.amd ? define(["exports"], factory) : factory(global.ULID = {});
|
|
24
|
-
})(exports, function(exports2) {
|
|
25
|
-
"use strict";
|
|
26
|
-
function createError(message) {
|
|
27
|
-
var err = new Error(message);
|
|
28
|
-
err.source = "ulid";
|
|
29
|
-
return err;
|
|
30
|
-
}
|
|
31
|
-
var ENCODING = "0123456789ABCDEFGHJKMNPQRSTVWXYZ";
|
|
32
|
-
var ENCODING_LEN = ENCODING.length;
|
|
33
|
-
var TIME_MAX = Math.pow(2, 48) - 1;
|
|
34
|
-
var TIME_LEN = 10;
|
|
35
|
-
var RANDOM_LEN = 16;
|
|
36
|
-
function replaceCharAt(str, index, char) {
|
|
37
|
-
if (index > str.length - 1) {
|
|
38
|
-
return str;
|
|
39
|
-
}
|
|
40
|
-
return str.substr(0, index) + char + str.substr(index + 1);
|
|
41
|
-
}
|
|
42
|
-
function incrementBase32(str) {
|
|
43
|
-
var done = void 0;
|
|
44
|
-
var index = str.length;
|
|
45
|
-
var char = void 0;
|
|
46
|
-
var charIndex = void 0;
|
|
47
|
-
var maxCharIndex = ENCODING_LEN - 1;
|
|
48
|
-
while (!done && index-- >= 0) {
|
|
49
|
-
char = str[index];
|
|
50
|
-
charIndex = ENCODING.indexOf(char);
|
|
51
|
-
if (charIndex === -1) {
|
|
52
|
-
throw createError("incorrectly encoded string");
|
|
53
|
-
}
|
|
54
|
-
if (charIndex === maxCharIndex) {
|
|
55
|
-
str = replaceCharAt(str, index, ENCODING[0]);
|
|
56
|
-
continue;
|
|
57
|
-
}
|
|
58
|
-
done = replaceCharAt(str, index, ENCODING[charIndex + 1]);
|
|
59
|
-
}
|
|
60
|
-
if (typeof done === "string") {
|
|
61
|
-
return done;
|
|
62
|
-
}
|
|
63
|
-
throw createError("cannot increment this string");
|
|
64
|
-
}
|
|
65
|
-
function randomChar(prng2) {
|
|
66
|
-
var rand = Math.floor(prng2() * ENCODING_LEN);
|
|
67
|
-
if (rand === ENCODING_LEN) {
|
|
68
|
-
rand = ENCODING_LEN - 1;
|
|
69
|
-
}
|
|
70
|
-
return ENCODING.charAt(rand);
|
|
71
|
-
}
|
|
72
|
-
function encodeTime(now, len) {
|
|
73
|
-
if (isNaN(now)) {
|
|
74
|
-
throw new Error(now + " must be a number");
|
|
75
|
-
}
|
|
76
|
-
if (now > TIME_MAX) {
|
|
77
|
-
throw createError("cannot encode time greater than " + TIME_MAX);
|
|
78
|
-
}
|
|
79
|
-
if (now < 0) {
|
|
80
|
-
throw createError("time must be positive");
|
|
81
|
-
}
|
|
82
|
-
if (Number.isInteger(now) === false) {
|
|
83
|
-
throw createError("time must be an integer");
|
|
84
|
-
}
|
|
85
|
-
var mod = void 0;
|
|
86
|
-
var str = "";
|
|
87
|
-
for (; len > 0; len--) {
|
|
88
|
-
mod = now % ENCODING_LEN;
|
|
89
|
-
str = ENCODING.charAt(mod) + str;
|
|
90
|
-
now = (now - mod) / ENCODING_LEN;
|
|
91
|
-
}
|
|
92
|
-
return str;
|
|
93
|
-
}
|
|
94
|
-
function encodeRandom(len, prng2) {
|
|
95
|
-
var str = "";
|
|
96
|
-
for (; len > 0; len--) {
|
|
97
|
-
str = randomChar(prng2) + str;
|
|
98
|
-
}
|
|
99
|
-
return str;
|
|
100
|
-
}
|
|
101
|
-
function decodeTime(id) {
|
|
102
|
-
if (id.length !== TIME_LEN + RANDOM_LEN) {
|
|
103
|
-
throw createError("malformed ulid");
|
|
104
|
-
}
|
|
105
|
-
var time = id.substr(0, TIME_LEN).split("").reverse().reduce(function(carry, char, index) {
|
|
106
|
-
var encodingIndex = ENCODING.indexOf(char);
|
|
107
|
-
if (encodingIndex === -1) {
|
|
108
|
-
throw createError("invalid character found: " + char);
|
|
109
|
-
}
|
|
110
|
-
return carry += encodingIndex * Math.pow(ENCODING_LEN, index);
|
|
111
|
-
}, 0);
|
|
112
|
-
if (time > TIME_MAX) {
|
|
113
|
-
throw createError("malformed ulid, timestamp too large");
|
|
114
|
-
}
|
|
115
|
-
return time;
|
|
116
|
-
}
|
|
117
|
-
function detectPrng() {
|
|
118
|
-
var allowInsecure = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : false;
|
|
119
|
-
var root = arguments[1];
|
|
120
|
-
if (!root) {
|
|
121
|
-
root = typeof window !== "undefined" ? window : null;
|
|
122
|
-
}
|
|
123
|
-
var browserCrypto = root && (root.crypto || root.msCrypto);
|
|
124
|
-
if (browserCrypto) {
|
|
125
|
-
return function() {
|
|
126
|
-
var buffer = new Uint8Array(1);
|
|
127
|
-
browserCrypto.getRandomValues(buffer);
|
|
128
|
-
return buffer[0] / 255;
|
|
129
|
-
};
|
|
130
|
-
} else {
|
|
131
|
-
try {
|
|
132
|
-
var nodeCrypto = __require("crypto");
|
|
133
|
-
return function() {
|
|
134
|
-
return nodeCrypto.randomBytes(1).readUInt8() / 255;
|
|
135
|
-
};
|
|
136
|
-
} catch (e) {
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
if (allowInsecure) {
|
|
140
|
-
try {
|
|
141
|
-
console.error("secure crypto unusable, falling back to insecure Math.random()!");
|
|
142
|
-
} catch (e) {
|
|
143
|
-
}
|
|
144
|
-
return function() {
|
|
145
|
-
return Math.random();
|
|
146
|
-
};
|
|
147
|
-
}
|
|
148
|
-
throw createError("secure crypto unusable, insecure Math.random not allowed");
|
|
149
|
-
}
|
|
150
|
-
function factory(currPrng) {
|
|
151
|
-
if (!currPrng) {
|
|
152
|
-
currPrng = detectPrng();
|
|
153
|
-
}
|
|
154
|
-
return function ulid3(seedTime) {
|
|
155
|
-
if (isNaN(seedTime)) {
|
|
156
|
-
seedTime = Date.now();
|
|
157
|
-
}
|
|
158
|
-
return encodeTime(seedTime, TIME_LEN) + encodeRandom(RANDOM_LEN, currPrng);
|
|
159
|
-
};
|
|
160
|
-
}
|
|
161
|
-
function monotonicFactory2(currPrng) {
|
|
162
|
-
if (!currPrng) {
|
|
163
|
-
currPrng = detectPrng();
|
|
164
|
-
}
|
|
165
|
-
var lastTime = 0;
|
|
166
|
-
var lastRandom = void 0;
|
|
167
|
-
return function ulid3(seedTime) {
|
|
168
|
-
if (isNaN(seedTime)) {
|
|
169
|
-
seedTime = Date.now();
|
|
170
|
-
}
|
|
171
|
-
if (seedTime <= lastTime) {
|
|
172
|
-
var incrementedRandom = lastRandom = incrementBase32(lastRandom);
|
|
173
|
-
return encodeTime(lastTime, TIME_LEN) + incrementedRandom;
|
|
174
|
-
}
|
|
175
|
-
lastTime = seedTime;
|
|
176
|
-
var newRandom = lastRandom = encodeRandom(RANDOM_LEN, currPrng);
|
|
177
|
-
return encodeTime(seedTime, TIME_LEN) + newRandom;
|
|
178
|
-
};
|
|
179
|
-
}
|
|
180
|
-
var ulid2 = factory();
|
|
181
|
-
exports2.replaceCharAt = replaceCharAt;
|
|
182
|
-
exports2.incrementBase32 = incrementBase32;
|
|
183
|
-
exports2.randomChar = randomChar;
|
|
184
|
-
exports2.encodeTime = encodeTime;
|
|
185
|
-
exports2.encodeRandom = encodeRandom;
|
|
186
|
-
exports2.decodeTime = decodeTime;
|
|
187
|
-
exports2.detectPrng = detectPrng;
|
|
188
|
-
exports2.factory = factory;
|
|
189
|
-
exports2.monotonicFactory = monotonicFactory2;
|
|
190
|
-
exports2.ulid = ulid2;
|
|
191
|
-
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
192
|
-
});
|
|
193
|
-
}
|
|
194
|
-
});
|
|
195
|
-
|
|
196
18
|
// node_modules/rambda/dist/rambda.js
|
|
197
19
|
var require_rambda = __commonJS({
|
|
198
20
|
"node_modules/rambda/dist/rambda.js"(exports) {
|
|
@@ -2577,9 +2399,9 @@ function toTrimmedString(value) {
|
|
|
2577
2399
|
}
|
|
2578
2400
|
|
|
2579
2401
|
// packages/database/utils/ulid.ts
|
|
2580
|
-
|
|
2402
|
+
import { monotonicFactory } from "ulid";
|
|
2581
2403
|
var prng = () => Math.random();
|
|
2582
|
-
var ulid =
|
|
2404
|
+
var ulid = monotonicFactory(prng);
|
|
2583
2405
|
|
|
2584
2406
|
// packages/database/keys.ts
|
|
2585
2407
|
var import_rambda = __toESM(require_rambda(), 1);
|
|
@@ -3343,7 +3165,6 @@ var sanitizeShareData = (data) => {
|
|
|
3343
3165
|
};
|
|
3344
3166
|
|
|
3345
3167
|
export {
|
|
3346
|
-
require_index_umd,
|
|
3347
3168
|
ulid,
|
|
3348
3169
|
toTrimmedString,
|
|
3349
3170
|
toNonEmptyString,
|
|
@@ -2,7 +2,16 @@ import {
|
|
|
2
2
|
getAllServers,
|
|
3
3
|
getIsDesktopApp,
|
|
4
4
|
isAbortError
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-OOSFSFMA.js";
|
|
6
|
+
import {
|
|
7
|
+
asTrimmedString
|
|
8
|
+
} from "./chunk-3EUW3WEO.js";
|
|
9
|
+
import {
|
|
10
|
+
asOptionalPositiveFiniteNumber
|
|
11
|
+
} from "./chunk-U6VC4MU4.js";
|
|
12
|
+
import {
|
|
13
|
+
isRecord
|
|
14
|
+
} from "./chunk-KUG52IAP.js";
|
|
6
15
|
import {
|
|
7
16
|
isLocalServerUrl
|
|
8
17
|
} from "./chunk-4SN6J65J.js";
|
|
@@ -11,21 +20,12 @@ import {
|
|
|
11
20
|
SERVERS,
|
|
12
21
|
normalizeKnownServerOrigin
|
|
13
22
|
} from "./chunk-LCBAMY2M.js";
|
|
14
|
-
import {
|
|
15
|
-
asTrimmedString
|
|
16
|
-
} from "./chunk-3EUW3WEO.js";
|
|
17
|
-
import {
|
|
18
|
-
asOptionalPositiveFiniteNumber
|
|
19
|
-
} from "./chunk-U6VC4MU4.js";
|
|
20
23
|
import {
|
|
21
24
|
normalizeServerOrigin
|
|
22
25
|
} from "./chunk-CF7PE763.js";
|
|
23
26
|
import {
|
|
24
27
|
asOptionalTrimmedString
|
|
25
28
|
} from "./chunk-G3SUCT4W.js";
|
|
26
|
-
import {
|
|
27
|
-
isRecord
|
|
28
|
-
} from "./chunk-KUG52IAP.js";
|
|
29
29
|
|
|
30
30
|
// node_modules/reselect/dist/reselect.mjs
|
|
31
31
|
var runIdentityFunctionCheck = (resultFunc, inputSelectorsResults, outputSelectorResult) => {
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
import {
|
|
2
|
+
API_ENDPOINTS,
|
|
3
|
+
NOLO_CLUSTER_SERVERS,
|
|
4
|
+
isLocalDevServerOrigin,
|
|
5
|
+
isNoloClusterServerOrigin,
|
|
6
|
+
normalizeKnownServerOrigin
|
|
7
|
+
} from "./chunk-LCBAMY2M.js";
|
|
8
|
+
import {
|
|
9
|
+
normalizeServerOrigin
|
|
10
|
+
} from "./chunk-CF7PE763.js";
|
|
11
|
+
|
|
12
|
+
// packages/app/utils/env.ts
|
|
13
|
+
var processEnv = typeof process !== "undefined" ? process.env : void 0;
|
|
14
|
+
var reactNativeDev = typeof globalThis !== "undefined" && "__DEV__" in globalThis ? globalThis.__DEV__ : void 0;
|
|
15
|
+
var isProduction = processEnv?.NOLO_FORCE_PRODUCTION === "1" || processEnv?.NODE_ENV === "production" || reactNativeDev === false;
|
|
16
|
+
var getIsDesktopApp = () => (typeof process !== "undefined" ? process.env?.NOLO_DESKTOP : processEnv?.NOLO_DESKTOP) === "1" || typeof window !== "undefined" && window.__NOLO_DESKTOP__ === true;
|
|
17
|
+
var isDesktopApp = getIsDesktopApp();
|
|
18
|
+
|
|
19
|
+
// packages/core/abortError.ts
|
|
20
|
+
function isAbortError(error) {
|
|
21
|
+
if (!error || typeof error !== "object") return false;
|
|
22
|
+
return error.name === "AbortError";
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// packages/core/clientLogger.ts
|
|
26
|
+
var LOG_LEVELS = {
|
|
27
|
+
debug: 10,
|
|
28
|
+
info: 20,
|
|
29
|
+
warn: 30,
|
|
30
|
+
error: 40
|
|
31
|
+
};
|
|
32
|
+
var serializeValue = (value, seen = /* @__PURE__ */ new WeakSet()) => {
|
|
33
|
+
if (value instanceof Error) {
|
|
34
|
+
return {
|
|
35
|
+
name: value.name,
|
|
36
|
+
message: value.message,
|
|
37
|
+
...value.stack ? { stack: value.stack } : {}
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
if (typeof value !== "object" || value === null) {
|
|
41
|
+
if (typeof value === "bigint") {
|
|
42
|
+
return value.toString();
|
|
43
|
+
}
|
|
44
|
+
return value;
|
|
45
|
+
}
|
|
46
|
+
if (seen.has(value)) {
|
|
47
|
+
return "[Circular]";
|
|
48
|
+
}
|
|
49
|
+
seen.add(value);
|
|
50
|
+
if (Array.isArray(value)) {
|
|
51
|
+
return value.map((item) => serializeValue(item, seen));
|
|
52
|
+
}
|
|
53
|
+
return Object.fromEntries(
|
|
54
|
+
Object.entries(value).map(([key, item]) => [key, serializeValue(item, seen)])
|
|
55
|
+
);
|
|
56
|
+
};
|
|
57
|
+
var getLogLevel = () => {
|
|
58
|
+
const configured = typeof process !== "undefined" && typeof process.env?.NOLO_LOG_LEVEL === "string" ? process.env.NOLO_LOG_LEVEL : "info";
|
|
59
|
+
return LOG_LEVELS[configured] ?? LOG_LEVELS.info;
|
|
60
|
+
};
|
|
61
|
+
var writeLog = (level, name, fields, message) => {
|
|
62
|
+
if (LOG_LEVELS[level] < getLogLevel()) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
const serializedFields = serializeValue(fields);
|
|
66
|
+
const payload = {
|
|
67
|
+
level,
|
|
68
|
+
...name ? { name } : {},
|
|
69
|
+
...serializedFields,
|
|
70
|
+
...message ? { msg: message } : {}
|
|
71
|
+
};
|
|
72
|
+
const output = JSON.stringify(payload);
|
|
73
|
+
const isNodeRuntime = typeof process !== "undefined" && typeof process.stderr?.write === "function";
|
|
74
|
+
if (isNodeRuntime) {
|
|
75
|
+
process.stderr.write(`${output}
|
|
76
|
+
`);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
const consoleMethod = console[level] ?? console.log;
|
|
80
|
+
if (Object.keys(fields).length === 0 && message) {
|
|
81
|
+
consoleMethod(`[${name}] ${message}`);
|
|
82
|
+
} else {
|
|
83
|
+
consoleMethod(output);
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
var parseArgs = (first, second) => {
|
|
87
|
+
if (typeof first === "string") {
|
|
88
|
+
return { fields: {}, message: first };
|
|
89
|
+
}
|
|
90
|
+
return { fields: first ?? {}, message: second };
|
|
91
|
+
};
|
|
92
|
+
var createClientLogger = (name, parentFields = {}) => {
|
|
93
|
+
const log = (level, first, second) => {
|
|
94
|
+
const { fields, message } = parseArgs(first, second);
|
|
95
|
+
writeLog(level, name, { ...parentFields, ...fields }, message);
|
|
96
|
+
};
|
|
97
|
+
return {
|
|
98
|
+
debug: (first, second) => log("debug", first, second),
|
|
99
|
+
info: (first, second) => log("info", first, second),
|
|
100
|
+
warn: (first, second) => log("warn", first, second),
|
|
101
|
+
error: (first, second) => log("error", first, second),
|
|
102
|
+
child: (fields) => createClientLogger(name, { ...parentFields, ...fields })
|
|
103
|
+
};
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
// packages/app/utils/retryFetch.ts
|
|
107
|
+
var TRANSIENT_READ_RETRY_STATUSES = /* @__PURE__ */ new Set([502, 503, 504]);
|
|
108
|
+
var DEFAULT_RETRY_DELAYS_MS = [300, 1e3];
|
|
109
|
+
var sleep = (ms) => new Promise((resolve) => {
|
|
110
|
+
setTimeout(resolve, ms);
|
|
111
|
+
});
|
|
112
|
+
var getRequestMethod = (input, init) => {
|
|
113
|
+
if (init?.method) return init.method.toUpperCase();
|
|
114
|
+
if (typeof Request !== "undefined" && input instanceof Request) {
|
|
115
|
+
return input.method.toUpperCase();
|
|
116
|
+
}
|
|
117
|
+
return "GET";
|
|
118
|
+
};
|
|
119
|
+
var isRetryableReadMethod = (method) => method === "GET" || method === "HEAD";
|
|
120
|
+
var fetchWithTransientReadRetry = async (input, init, options = {}) => {
|
|
121
|
+
const method = getRequestMethod(input, init);
|
|
122
|
+
const canRetry = isRetryableReadMethod(method);
|
|
123
|
+
const delaysMs = options.delaysMs ?? DEFAULT_RETRY_DELAYS_MS;
|
|
124
|
+
const retryStatuses = options.retryStatuses ?? TRANSIENT_READ_RETRY_STATUSES;
|
|
125
|
+
const fetchImpl = options.fetchImpl ?? fetch;
|
|
126
|
+
const wait = options.sleep ?? sleep;
|
|
127
|
+
for (let attempt = 0; ; attempt += 1) {
|
|
128
|
+
try {
|
|
129
|
+
const response = await fetchImpl(input, init);
|
|
130
|
+
const shouldRetry = canRetry && retryStatuses.has(response.status) && attempt < delaysMs.length;
|
|
131
|
+
if (!shouldRetry) return response;
|
|
132
|
+
} catch (error) {
|
|
133
|
+
const shouldRetry = canRetry && !isAbortError(error) && attempt < delaysMs.length;
|
|
134
|
+
if (!shouldRetry) throw error;
|
|
135
|
+
}
|
|
136
|
+
await wait(delaysMs[attempt]);
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
// packages/database/levelNotFoundError.ts
|
|
141
|
+
function isLevelNotFoundError(error) {
|
|
142
|
+
if (!error || typeof error !== "object") return false;
|
|
143
|
+
const e = error;
|
|
144
|
+
return e.notFound === true || e.name === "NotFoundError" || e.code === "LEVEL_NOT_FOUND" || e.code === "LEVEL_NOT_FOUND_ERROR" || e.message === "NotFound";
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
// packages/database/actions/common.ts
|
|
148
|
+
var logger = createClientLogger("database");
|
|
149
|
+
var normalizeServer = (server) => normalizeKnownServerOrigin(server) ?? normalizeServerOrigin(server);
|
|
150
|
+
var mergeConfiguredServers = (currentServer, syncServers) => {
|
|
151
|
+
const runtimeOrigin = !getIsDesktopApp() && typeof window !== "undefined" && typeof window.location?.origin === "string" && /^https?:\/\//.test(window.location.origin) ? window.location.origin : void 0;
|
|
152
|
+
const raw = [
|
|
153
|
+
currentServer,
|
|
154
|
+
...Array.isArray(syncServers) ? syncServers : [],
|
|
155
|
+
runtimeOrigin
|
|
156
|
+
].filter(
|
|
157
|
+
(s) => typeof s === "string" && s.trim().length > 0
|
|
158
|
+
);
|
|
159
|
+
const normalized = raw.map(normalizeServer);
|
|
160
|
+
const shouldIncludeClusterPeers = normalized.some(isNoloClusterServerOrigin) || typeof currentServer === "string" && isLocalDevServerOrigin(currentServer);
|
|
161
|
+
if (shouldIncludeClusterPeers) {
|
|
162
|
+
normalized.push(...NOLO_CLUSTER_SERVERS);
|
|
163
|
+
}
|
|
164
|
+
return Array.from(new Set(normalized));
|
|
165
|
+
};
|
|
166
|
+
var getAllServers = (currentServer, syncServers, preferredServer) => {
|
|
167
|
+
const preferredNormalized = typeof preferredServer === "string" && preferredServer.trim().length > 0 ? normalizeServer(preferredServer) : null;
|
|
168
|
+
const servers = mergeConfiguredServers(
|
|
169
|
+
currentServer,
|
|
170
|
+
preferredNormalized && isNoloClusterServerOrigin(preferredNormalized) ? [...Array.isArray(syncServers) ? syncServers : [], preferredNormalized] : syncServers
|
|
171
|
+
);
|
|
172
|
+
if (!preferredServer || typeof preferredServer !== "string") {
|
|
173
|
+
return servers;
|
|
174
|
+
}
|
|
175
|
+
const remaining = servers.filter(
|
|
176
|
+
(server) => normalizeServer(server) !== preferredNormalized
|
|
177
|
+
);
|
|
178
|
+
return preferredNormalized ? [preferredNormalized, ...remaining] : remaining;
|
|
179
|
+
};
|
|
180
|
+
var fetchFromClientDb = async (clientDb, dbKey) => {
|
|
181
|
+
if (!clientDb) {
|
|
182
|
+
logger.error(
|
|
183
|
+
{ dbKey },
|
|
184
|
+
"Client database is undefined in fetchFromClientDb"
|
|
185
|
+
);
|
|
186
|
+
return null;
|
|
187
|
+
}
|
|
188
|
+
try {
|
|
189
|
+
return await clientDb.get(dbKey);
|
|
190
|
+
} catch (err) {
|
|
191
|
+
if (isLevelNotFoundError(err)) {
|
|
192
|
+
return null;
|
|
193
|
+
}
|
|
194
|
+
logger.error({ err, dbKey }, "Failed to get local data");
|
|
195
|
+
return null;
|
|
196
|
+
}
|
|
197
|
+
};
|
|
198
|
+
var SERVER_TIMEOUT = 5e3;
|
|
199
|
+
var READ_TIMEOUT_ERROR_NAME = "ReadTimeoutError";
|
|
200
|
+
var isPublicFileDbKey = (dbKey) => dbKey.startsWith("file-");
|
|
201
|
+
var buildReadUrl = (dbKey) => isPublicFileDbKey(dbKey) ? `${API_ENDPOINTS.DATABASE}/file/metadata/${encodeURIComponent(dbKey)}` : `${API_ENDPOINTS.DATABASE}/read/${encodeURIComponent(dbKey)}`;
|
|
202
|
+
var createReadTimeoutError = (server, dbKey) => {
|
|
203
|
+
const error = new Error(
|
|
204
|
+
`Timed out reading key "${dbKey}" from ${normalizeServer(server)}.`
|
|
205
|
+
);
|
|
206
|
+
error.name = READ_TIMEOUT_ERROR_NAME;
|
|
207
|
+
return error;
|
|
208
|
+
};
|
|
209
|
+
var isReadTimeoutError = (error) => error instanceof Error && error.name === READ_TIMEOUT_ERROR_NAME;
|
|
210
|
+
var fetchFromServer = async (server, dbKey, token, signal) => {
|
|
211
|
+
if (signal?.aborted) {
|
|
212
|
+
throw new DOMException("Aborted", "AbortError");
|
|
213
|
+
}
|
|
214
|
+
const controller = new AbortController();
|
|
215
|
+
let didTimeout = false;
|
|
216
|
+
const timeoutId = setTimeout(() => {
|
|
217
|
+
didTimeout = true;
|
|
218
|
+
controller.abort();
|
|
219
|
+
}, SERVER_TIMEOUT);
|
|
220
|
+
const onExternalAbort = () => controller.abort();
|
|
221
|
+
signal?.addEventListener("abort", onExternalAbort);
|
|
222
|
+
try {
|
|
223
|
+
const res = await fetchWithTransientReadRetry(
|
|
224
|
+
`${server}${buildReadUrl(dbKey)}`,
|
|
225
|
+
{
|
|
226
|
+
signal: controller.signal,
|
|
227
|
+
headers: {
|
|
228
|
+
"Content-Type": "application/json",
|
|
229
|
+
...token && { Authorization: `Bearer ${token}` }
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
);
|
|
233
|
+
clearTimeout(timeoutId);
|
|
234
|
+
signal?.removeEventListener("abort", onExternalAbort);
|
|
235
|
+
if (res.status === 200) {
|
|
236
|
+
return await res.json();
|
|
237
|
+
}
|
|
238
|
+
return null;
|
|
239
|
+
} catch (err) {
|
|
240
|
+
clearTimeout(timeoutId);
|
|
241
|
+
signal?.removeEventListener("abort", onExternalAbort);
|
|
242
|
+
if (didTimeout) {
|
|
243
|
+
throw createReadTimeoutError(server, dbKey);
|
|
244
|
+
}
|
|
245
|
+
if (signal?.aborted || isAbortError(err)) {
|
|
246
|
+
throw err;
|
|
247
|
+
}
|
|
248
|
+
return null;
|
|
249
|
+
}
|
|
250
|
+
};
|
|
251
|
+
var normalizeTimeFields = (data) => ({
|
|
252
|
+
...data,
|
|
253
|
+
createdAt: data.createdAt || (/* @__PURE__ */ new Date()).toISOString(),
|
|
254
|
+
updatedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
255
|
+
updated_at: void 0,
|
|
256
|
+
created_at: void 0
|
|
257
|
+
});
|
|
258
|
+
|
|
259
|
+
export {
|
|
260
|
+
isProduction,
|
|
261
|
+
getIsDesktopApp,
|
|
262
|
+
createClientLogger,
|
|
263
|
+
isAbortError,
|
|
264
|
+
fetchWithTransientReadRetry,
|
|
265
|
+
logger,
|
|
266
|
+
getAllServers,
|
|
267
|
+
fetchFromClientDb,
|
|
268
|
+
isReadTimeoutError,
|
|
269
|
+
fetchFromServer,
|
|
270
|
+
normalizeTimeFields
|
|
271
|
+
};
|
|
@@ -9,6 +9,15 @@ import {
|
|
|
9
9
|
loadProfileConfig,
|
|
10
10
|
saveDefaultProfile
|
|
11
11
|
} from "./chunk-ROWQEJRP.js";
|
|
12
|
+
import {
|
|
13
|
+
createMemoryKey,
|
|
14
|
+
createMemoryOwnerIndexKey,
|
|
15
|
+
createMemorySubjectKindIndexKey,
|
|
16
|
+
memoryOwnerRange
|
|
17
|
+
} from "./chunk-O4BU24WZ.js";
|
|
18
|
+
import {
|
|
19
|
+
asTrimmedNonEmptyStringArray
|
|
20
|
+
} from "./chunk-I42VC5KR.js";
|
|
12
21
|
import {
|
|
13
22
|
resolveAuthTokenFromEnv
|
|
14
23
|
} from "./chunk-ISNCLGUZ.js";
|
|
@@ -18,15 +27,6 @@ import {
|
|
|
18
27
|
import {
|
|
19
28
|
getDefaultCliLocalRuntimeDb
|
|
20
29
|
} from "./chunk-H33743XH.js";
|
|
21
|
-
import {
|
|
22
|
-
createMemoryKey,
|
|
23
|
-
createMemoryOwnerIndexKey,
|
|
24
|
-
createMemorySubjectKindIndexKey,
|
|
25
|
-
memoryOwnerRange
|
|
26
|
-
} from "./chunk-SH2CFQOH.js";
|
|
27
|
-
import {
|
|
28
|
-
asTrimmedNonEmptyStringArray
|
|
29
|
-
} from "./chunk-I42VC5KR.js";
|
|
30
30
|
import {
|
|
31
31
|
asTrimmedString
|
|
32
32
|
} from "./chunk-3EUW3WEO.js";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
i18n_default,
|
|
3
3
|
toolRegistry
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-2W2VYVI5.js";
|
|
5
5
|
import {
|
|
6
6
|
canonicalizeToolNames
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-4SOKXIW4.js";
|
|
8
8
|
import {
|
|
9
9
|
asTrimmedLowercaseString
|
|
10
10
|
} from "./chunk-QSJ3HFEF.js";
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
generatePkcePair,
|
|
3
3
|
startCallbackServer
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import {
|
|
6
|
-
toErrorMessage
|
|
7
|
-
} from "./chunk-HNMXYYJR.js";
|
|
4
|
+
} from "./chunk-5MMZUWSG.js";
|
|
8
5
|
import {
|
|
9
6
|
asOptionalFiniteNumber
|
|
10
7
|
} from "./chunk-WWC7I6TA.js";
|
|
8
|
+
import {
|
|
9
|
+
toErrorMessage
|
|
10
|
+
} from "./chunk-HNMXYYJR.js";
|
|
11
11
|
|
|
12
12
|
// packages/cli/oauth/flows/cloudflare.ts
|
|
13
13
|
var CLOUDFLARE_OAUTH_AUTH_ENDPOINT = "https://dash.cloudflare.com/oauth2/auth";
|