datafolder 1.0.6 → 1.0.8
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 +7 -2
- package/index.js +1 -1
- package/internal.md +121 -0
- package/package.json +8 -6
- package/scripts/airbnb.js +77 -72
- package/scripts/airbnb2.js +78 -73
- package/scripts/airbnb2_queries.js +181 -229
- package/scripts/airbnb_queries.js +214 -265
- package/scripts/convertBinFiles.js +47 -0
- package/scripts/downloadFile.js +41 -40
- package/scripts/express.js +44 -48
- package/scripts/fastify.js +71 -80
- package/scripts/flights.js +71 -75
- package/scripts/flights2.js +78 -81
- package/scripts/flights2_queries.js +417 -455
- package/scripts/flights_queries.js +381 -407
- package/src/QyAcl.d.ts +17 -0
- package/src/QyAcl.js +113 -116
- package/src/QyAclSaver.d.ts +4 -0
- package/src/QyAclSaver.js +3 -3
- package/src/QyAclSaver_Worker.d.ts +9 -0
- package/src/QyAclSaver_Worker.js +2 -4
- package/src/QyAclWriter.d.ts +5 -0
- package/src/QyBatch.d.ts +42 -0
- package/src/QyBatch.js +8 -8
- package/src/QyBinWriter.d.ts +15 -0
- package/src/QyCD.d.ts +37 -0
- package/src/QyCD.js +27 -16
- package/src/QyCache.d.ts +44 -0
- package/src/QyCache.js +71 -59
- package/src/QyCompressor.d.ts +9 -0
- package/src/QyCompressor.js +29 -29
- package/src/QyCompressor_Worker.d.ts +1 -0
- package/src/QyDB.d.ts +42 -0
- package/src/QyDB.js +13 -11
- package/src/QyDefaultOptions.d.ts +1 -0
- package/src/QyDefaultOptions.js +3 -0
- package/src/QyDir.d.ts +48 -0
- package/src/QyDir.js +41 -41
- package/src/QyFetch.d.ts +7 -0
- package/src/QyFetch.js +3 -4
- package/src/QyFile.d.ts +19 -0
- package/src/QyFile.js +35 -34
- package/src/QyFileContentUtils.d.ts +13 -0
- package/src/QyFileContentUtils.js +126 -126
- package/src/QyFileLogger.d.ts +11 -0
- package/src/QyIndex.d.ts +6 -0
- package/src/QyIndex.js +73 -75
- package/src/QyIndexPropTree.d.ts +7 -0
- package/src/QyIndexPropTree.js +24 -24
- package/src/QyIntersectNode.d.ts +7 -0
- package/src/QyIntersectNode.js +15 -15
- package/src/QyItem.d.ts +30 -0
- package/src/QyItem.js +32 -28
- package/src/QyJsonSaver.d.ts +6 -0
- package/src/QyKVData.d.ts +12 -0
- package/src/QyKVData.js +30 -20
- package/src/QyKVDataCleaner.d.ts +4 -0
- package/src/QyKVDataCleaner.js +1 -1
- package/src/QyKVDataCleaner_Worker.d.ts +13 -0
- package/src/QyKVDataCleaner_Worker.js +2 -4
- package/src/QyKVDataLoader.d.ts +9 -0
- package/src/QyKVDataLoader.js +11 -11
- package/src/QyKVDataSaver.d.ts +4 -0
- package/src/QyKVDataSaver.js +6 -6
- package/src/QyKVDataSaver_Worker.d.ts +13 -0
- package/src/QyKVDataSaver_Worker.js +11 -13
- package/src/QyLogFileSaver.d.ts +4 -0
- package/src/QyLogFileSaver.js +1 -1
- package/src/QyLogFileSaver_Worker.d.ts +8 -0
- package/src/QyLogFileSaver_Worker.js +2 -4
- package/src/QyLogger.d.ts +10 -0
- package/src/QyLogger.js +40 -40
- package/src/QyMessageWorker.d.ts +5 -0
- package/src/QyMessageWorker.js +7 -7
- package/src/QyMessager.d.ts +7 -0
- package/src/QyMessager.js +30 -27
- package/src/QyMessager_Run.d.ts +1 -0
- package/src/QyMessager_Run.js +11 -6
- package/src/QyMod.d.ts +1 -0
- package/src/QyMod.js +6 -6
- package/src/QyOpRunner.d.ts +10 -0
- package/src/QyOpRunner.js +39 -39
- package/src/QyQueue.d.ts +11 -0
- package/src/QySaver.d.ts +10 -0
- package/src/QySnapshotCompactor.d.ts +4 -0
- package/src/QySnapshotCompactor.js +1 -1
- package/src/QySnapshotCompactor_Worker.d.ts +11 -0
- package/src/QySnapshotCompactor_Worker.js +21 -22
- package/src/QySnapshotSaver.d.ts +4 -0
- package/src/QySnapshotSaver.js +1 -1
- package/src/QySnapshotSaver_Worker.d.ts +16 -0
- package/src/QySnapshotSaver_Worker.js +56 -53
- package/src/QySnapshots.d.ts +27 -0
- package/src/QySnapshots.js +74 -66
- package/src/QyStructure.d.ts +1 -0
- package/src/QyStructure.js +18 -18
- package/src/QyTrigger.d.ts +9 -0
- package/src/QyTrigger.js +30 -30
- package/src/QyUnionNode.d.ts +17 -0
- package/src/QyUnionNode.js +2 -2
- package/src/QyUtils.d.ts +53 -0
- package/src/QyUtils.js +140 -117
- package/src/QyWorker.d.ts +5 -0
- package/src/QyWorker.js +18 -18
- package/src/hackernews.d.ts +1 -0
- package/src/hackernews.js +59 -47
- package/src/rpc/getRpcFiles.js +1 -0
- package/src/rpc/getTriggerFiles.js +1 -0
- package/src/simulate.d.ts +1 -0
- package/src/simulate2.d.ts +1 -0
- package/src/soc_pokec.d.ts +1 -0
- package/src/soc_pokec.js +7 -7
- package/static/codemirror.bundle/editor.bundle.js +370 -166
- package/static/datafolderui/QyStyledElement.js +8 -17
- package/static/datafolderui/QyUIFolderViewer.js +230 -0
- package/static/datafolderui/QyUIUtils.js +5 -5
- package/static/datafolderui/code-mirror.js +7 -7
- package/static/datafolderui/display-tree.js +22 -58
- package/static/datafolderui/explore-tree.js +10 -10
- package/static/datafolderui/folder-tree.js +71 -2
- package/static/datafolderui/hscrpt.js +26 -7
- package/static/datafolderui/json-view.js +34 -3
- package/static/datafolderui/main-page.js +67 -36
- package/static/datafolderui/query-editor.js +9 -9
- package/static/datafolderui/rpc-editor.js +31 -0
- package/static/datafolderui/trigger-editor.js +33 -0
- package/data/sampleDataFolder/qykv/history/acl/1_acl.txt +0 -1
- package/data/sampleDataFolder/qykv/history/acl/2_acl.txt +0 -1
- package/data/sampleDataFolder/qykv/history/acl/3_acl.txt +0 -1
- package/data/sampleDataFolder/qykv/history/acl/4_acl.txt +0 -1
- package/data/sampleDataFolder/qykv/history/acl/5_acl.txt +0 -1
- package/data/sampleDataFolder/qykv/snapshot/1/1_pM.txt +0 -0
- package/data/sampleDataFolder/qykv/snapshot/1/1_prefixPM.txt +0 -0
- package/data/sampleDataFolder/qykv/snapshot/1/1_vL.txt +0 -10
- package/data/sampleDataFolder/qykv/snapshot/2/1_pM.txt +0 -0
- package/data/sampleDataFolder/qykv/snapshot/2/1_prefixPM.txt +0 -0
- package/data/sampleDataFolder/qykv/snapshot/2/1_vL.txt +0 -1
- package/data/sampleDataFolder/qykv/snapshot/3/1_pM.txt +0 -0
- package/data/sampleDataFolder/qykv/snapshot/3/1_prefixPM.txt +0 -0
- package/data/sampleDataFolder/qykv/snapshot/3/1_vL.txt +0 -1
- package/data/sampleDataFolder/qykv/snapshot/4/1_pM.txt +0 -0
- package/data/sampleDataFolder/qykv/snapshot/4/1_prefixPM.txt +0 -0
- package/data/sampleDataFolder/qykv/snapshot/4/1_vL.txt +0 -1
- package/data/sampleDataFolder/qykv/snapshot/4/2_pM.txt +0 -0
- package/data/sampleDataFolder/qykv/snapshot/4/2_prefixPM.txt +0 -0
- package/data/sampleDataFolder/qykv/snapshot/4/2_vL.txt +0 -9
- package/data/sampleDataFolder/qykv/snapshot/5/1_pM.txt +0 -0
- package/data/sampleDataFolder/qykv/snapshot/5/1_prefixPM.txt +0 -0
- package/data/sampleDataFolder/qykv/snapshot/5/1_vL.txt +0 -55
- package/data/sampleDataFolder/qykv/snapshot/info/1.json +0 -1
- package/data/sampleDataFolder/qykv/snapshot/info/2.json +0 -1
- package/data/sampleDataFolder/qykv/snapshot/info/3.json +0 -1
- package/data/sampleDataFolder/qykv/snapshot/info/4.json +0 -1
- package/data/sampleDataFolder/qykv/snapshot/info/5.json +0 -1
- package/data/sampleDataFolder/qylog/2026/02/15/08/change.txt +0 -58
- package/data/sampleDataFolder/qylog/2026/02/15/08/stderr.txt +0 -11
- package/data/sampleDataFolder/qylog/2026/02/15/08/stdout.txt +0 -36
- package/static/datafolderui/QyUIFolderTree.js +0 -179
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
|
-
h as
|
|
2
|
+
h as u
|
|
3
3
|
} from "./hscrpt.js";
|
|
4
4
|
|
|
5
5
|
import "./explore-tree.js";
|
|
6
6
|
|
|
7
7
|
import "./query-editor.js";
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
import "./trigger-editor.js";
|
|
10
|
+
|
|
11
|
+
import "./rpc-editor.js";
|
|
12
|
+
|
|
13
|
+
let h = {
|
|
10
14
|
brandName: "datafolder UI",
|
|
11
15
|
tabNames: [ "Explore", "Query", "RPC", "Triggers" ]
|
|
12
16
|
};
|
|
@@ -16,62 +20,89 @@ customElements.define("main-page", class extends HTMLElement {
|
|
|
16
20
|
super();
|
|
17
21
|
}
|
|
18
22
|
connectedCallback() {
|
|
19
|
-
var {
|
|
20
|
-
brandName:
|
|
21
|
-
tabNames:
|
|
22
|
-
} =
|
|
23
|
-
this.append(
|
|
23
|
+
var t, e, {
|
|
24
|
+
brandName: s,
|
|
25
|
+
tabNames: i
|
|
26
|
+
} = h;
|
|
27
|
+
this.append((e = i, (t = this).upperDiv = u("div", {
|
|
28
|
+
classList: "bg-body-tertiary",
|
|
29
|
+
style: {
|
|
30
|
+
display: "flex",
|
|
31
|
+
"align-items": "center"
|
|
32
|
+
}
|
|
33
|
+
}, [ u("nav", {
|
|
24
34
|
classList: "navbar bg-body-tertiary"
|
|
25
|
-
}, [ (
|
|
35
|
+
}, [ u("div", {
|
|
26
36
|
classList: "container-fluid"
|
|
27
|
-
}, [ (
|
|
37
|
+
}, [ (t => u("a", {
|
|
28
38
|
classList: "navbar-brand"
|
|
29
|
-
}, [
|
|
39
|
+
}, [ t ]))(s), ((t, e) => u("ul", {
|
|
30
40
|
classList: "nav nav-pills me-auto mb-2 mb-lg-0"
|
|
31
|
-
},
|
|
41
|
+
}, t.tabButtons = e.map(t => u("button", {
|
|
32
42
|
classList: "nav-link",
|
|
33
|
-
id: `pills-${
|
|
43
|
+
id: `pills-${t}-tab`,
|
|
34
44
|
"data-bs-toggle": "pill",
|
|
35
|
-
"data-bs-target": "#pills-" +
|
|
45
|
+
"data-bs-target": "#pills-" + t,
|
|
36
46
|
type: "button",
|
|
37
47
|
role: "tab"
|
|
38
|
-
}, [
|
|
48
|
+
}, [ t ]))))(t, e) ]) ]), u("div", {
|
|
49
|
+
classList: "btn-toolbar",
|
|
50
|
+
role: "toolbar",
|
|
51
|
+
style: {
|
|
52
|
+
"margin-left": "20px"
|
|
53
|
+
}
|
|
54
|
+
}, [ u("button", {
|
|
55
|
+
classList: "btn btn-outline-success",
|
|
56
|
+
type: "submit",
|
|
57
|
+
style: {
|
|
58
|
+
"margin-right": "0px"
|
|
59
|
+
}
|
|
60
|
+
}, [ u("i", {
|
|
61
|
+
classList: "bi bi-arrow-clockwise"
|
|
62
|
+
}) ]), u("button", {
|
|
63
|
+
classList: "btn btn-outline-success",
|
|
64
|
+
type: "submit"
|
|
65
|
+
}, [ u("i", {
|
|
66
|
+
classList: "bi bi-file-earmark-plus"
|
|
67
|
+
}) ]) ]) ])), u("div", {
|
|
39
68
|
classList: "tab-content",
|
|
40
69
|
id: "pills-tabContent"
|
|
41
|
-
}, this.tabDivs =
|
|
70
|
+
}, this.tabDivs = i.map(t => u("div", {
|
|
42
71
|
classList: "tab-pane",
|
|
43
|
-
id: "pills-" +
|
|
72
|
+
id: "pills-" + t,
|
|
44
73
|
role: "tabpanel"
|
|
45
74
|
}))));
|
|
46
75
|
let {
|
|
47
|
-
tabButtons: [ a,
|
|
48
|
-
tabDivs: [
|
|
76
|
+
tabButtons: [ a, r, n, o ],
|
|
77
|
+
tabDivs: [ l, d, b, p ]
|
|
49
78
|
} = this;
|
|
50
79
|
bootstrap.Tab.getOrCreateInstance(a).show();
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
let
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
80
|
+
s = u("explore-tree");
|
|
81
|
+
l.appendChild(s);
|
|
82
|
+
let c = u("query-editor"), g = (d.appendChild(c), u("rpc-editor")), m = (b.appendChild(g),
|
|
83
|
+
u("trigger-editor"));
|
|
84
|
+
p.append(m), Object.assign(this, {
|
|
85
|
+
explore_tree: s,
|
|
86
|
+
query_editor: c,
|
|
87
|
+
rpc_editor: g,
|
|
88
|
+
trigger_editor: m
|
|
89
|
+
}), c.addEventListener("run", () => r.click()), window.addEventListener("resize", () => this.onSizeChange()),
|
|
90
|
+
r.addEventListener("shown.bs.tab", () => c.onSizeChange()), n.addEventListener("show.bs.tab", () => g.show()),
|
|
91
|
+
o.addEventListener("show.bs.tab", () => m.show());
|
|
63
92
|
}
|
|
64
93
|
onSizeChange() {
|
|
65
94
|
var {
|
|
66
|
-
|
|
67
|
-
|
|
95
|
+
explore_tree: t,
|
|
96
|
+
query_editor: e,
|
|
97
|
+
rpc_editor: s,
|
|
98
|
+
trigger_editor: i
|
|
68
99
|
} = this;
|
|
69
|
-
e.onSizeChange(),
|
|
100
|
+
t.onSizeChange(), e.onSizeChange(), s.onSizeChange(), i.onSizeChange();
|
|
70
101
|
}
|
|
71
|
-
}), document.body.append(
|
|
102
|
+
}), document.body.append(u("main-page"));
|
|
72
103
|
|
|
73
104
|
import {
|
|
74
|
-
rpc as
|
|
105
|
+
rpc as t
|
|
75
106
|
} from "./QyUIUtils.js";
|
|
76
107
|
|
|
77
|
-
window.rpc =
|
|
108
|
+
window.rpc = t;
|
|
@@ -21,7 +21,7 @@ let a = "localStorage_queryFun_map", u = new Event("run");
|
|
|
21
21
|
async function l(t, e) {
|
|
22
22
|
var {
|
|
23
23
|
queryId: r,
|
|
24
|
-
|
|
24
|
+
display_tree: o
|
|
25
25
|
} = t, {
|
|
26
26
|
tree: e,
|
|
27
27
|
count: n,
|
|
@@ -34,7 +34,7 @@ function c(s) {
|
|
|
34
34
|
return s.body = n("div", {
|
|
35
35
|
classList: "container-fluid",
|
|
36
36
|
style: "margin-top:1px;"
|
|
37
|
-
}, [ s.
|
|
37
|
+
}, [ s.code_mirror = n("code-mirror", {
|
|
38
38
|
changeCallback: t => {
|
|
39
39
|
var e = s, {
|
|
40
40
|
titleSet: r,
|
|
@@ -50,7 +50,7 @@ function c(s) {
|
|
|
50
50
|
function d(t, e) {
|
|
51
51
|
var {
|
|
52
52
|
queryInput: r,
|
|
53
|
-
|
|
53
|
+
code_mirror: o,
|
|
54
54
|
queryFunctions: n
|
|
55
55
|
} = t, n = n[t.funName = e] ?? "";
|
|
56
56
|
r.value = n, t.titleSet = !1, o.text = n, p(e), o.clearHistory(), Object.assign(t, {
|
|
@@ -83,7 +83,7 @@ function g(t) {
|
|
|
83
83
|
function y(t) {
|
|
84
84
|
var {
|
|
85
85
|
queryFunctions: e,
|
|
86
|
-
|
|
86
|
+
code_mirror: r,
|
|
87
87
|
textChanged: o
|
|
88
88
|
} = t;
|
|
89
89
|
o && (o = r.text, o) && (m(t, r = b(o)), e[r] = o, g(e), d(t, r));
|
|
@@ -92,7 +92,7 @@ function y(t) {
|
|
|
92
92
|
function f(t) {
|
|
93
93
|
var e, r, o, {
|
|
94
94
|
queryFunctions: n,
|
|
95
|
-
|
|
95
|
+
code_mirror: s
|
|
96
96
|
} = t, s = s.text;
|
|
97
97
|
s && (s = b(s), r = s, (o = (e = (e = t).dropdownItemMap)[r]) && (o.remove(),
|
|
98
98
|
delete e[r]), delete n[s], g(n), d(t, Object.keys(n)[0]));
|
|
@@ -139,7 +139,7 @@ customElements.define("query-editor", class extends HTMLElement {
|
|
|
139
139
|
r && Object.assign(e, JSON.parse(r)), Object.assign(t, {
|
|
140
140
|
queryFunctions: e,
|
|
141
141
|
queryId: 0,
|
|
142
|
-
funName: "
|
|
142
|
+
funName: "getHotels",
|
|
143
143
|
dropdownItemMap: {}
|
|
144
144
|
}), this.append(n("div", {
|
|
145
145
|
classList: "btn-toolbar",
|
|
@@ -175,7 +175,7 @@ customElements.define("query-editor", class extends HTMLElement {
|
|
|
175
175
|
var t, e = r;
|
|
176
176
|
"closed" == o.status ? (t = {
|
|
177
177
|
Run: () => {
|
|
178
|
-
e.dispatchEvent(u), l(e, e.
|
|
178
|
+
e.dispatchEvent(u), l(e, e.code_mirror.text);
|
|
179
179
|
},
|
|
180
180
|
Save: () => y(e),
|
|
181
181
|
Delete: () => f(e)
|
|
@@ -200,14 +200,14 @@ customElements.define("query-editor", class extends HTMLElement {
|
|
|
200
200
|
classList: "btn-group btn-group-sm me-2",
|
|
201
201
|
role: "group"
|
|
202
202
|
}, [ t ]));
|
|
203
|
-
})(r) ]), n("div", [ this.
|
|
203
|
+
})(r) ]), n("div", [ this.display_tree = n("display-tree") ])), c(this),
|
|
204
204
|
d(this, this.funName);
|
|
205
205
|
}
|
|
206
206
|
onSizeChange() {
|
|
207
207
|
var {
|
|
208
208
|
queryInput: t,
|
|
209
209
|
firstButton: e,
|
|
210
|
-
|
|
210
|
+
display_tree: r
|
|
211
211
|
} = this;
|
|
212
212
|
s(t, e.parentElement.offsetLeft - t.parentElement.offsetLeft), r.onSizeChange();
|
|
213
213
|
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import {
|
|
2
|
+
h as e
|
|
3
|
+
} from "./hscrpt.js";
|
|
4
|
+
|
|
5
|
+
import {
|
|
6
|
+
rpc as r
|
|
7
|
+
} from "./QyUIUtils.js";
|
|
8
|
+
|
|
9
|
+
import "./display-tree.js";
|
|
10
|
+
|
|
11
|
+
customElements.define("rpc-editor", class extends HTMLElement {
|
|
12
|
+
constructor() {
|
|
13
|
+
super();
|
|
14
|
+
}
|
|
15
|
+
compose() {
|
|
16
|
+
this.append(e("div", [ this.display_tree = e("display-tree") ]));
|
|
17
|
+
}
|
|
18
|
+
onSizeChange() {
|
|
19
|
+
this.display_tree.onSizeChange();
|
|
20
|
+
}
|
|
21
|
+
show() {
|
|
22
|
+
(async e => {
|
|
23
|
+
var s, t, i;
|
|
24
|
+
e.isShowing || (e.isShowing = !0, {
|
|
25
|
+
tree: s,
|
|
26
|
+
count: t,
|
|
27
|
+
error: i
|
|
28
|
+
} = await r("getRpcFiles"), e = e.display_tree, i ? e.showMsg(i) : e.showTree(s, t));
|
|
29
|
+
})(this);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import {
|
|
2
|
+
h as e
|
|
3
|
+
} from "./hscrpt.js";
|
|
4
|
+
|
|
5
|
+
import {
|
|
6
|
+
rpc as t
|
|
7
|
+
} from "./QyUIUtils.js";
|
|
8
|
+
|
|
9
|
+
import "./display-tree.js";
|
|
10
|
+
|
|
11
|
+
customElements.define("trigger-editor", class extends HTMLElement {
|
|
12
|
+
constructor() {
|
|
13
|
+
super();
|
|
14
|
+
}
|
|
15
|
+
compose() {
|
|
16
|
+
this.append(e("div", [ this.display_tree = e("display-tree", {
|
|
17
|
+
isTriggerEditor: !0
|
|
18
|
+
}) ]));
|
|
19
|
+
}
|
|
20
|
+
onSizeChange() {
|
|
21
|
+
this.display_tree.onSizeChange();
|
|
22
|
+
}
|
|
23
|
+
show() {
|
|
24
|
+
(async e => {
|
|
25
|
+
var s, i, r;
|
|
26
|
+
e.isShowing || (e.isShowing = !0, {
|
|
27
|
+
tree: s,
|
|
28
|
+
count: i,
|
|
29
|
+
error: r
|
|
30
|
+
} = await t("getTriggerFiles"), e = e.display_tree, r ? e.showMsg(r) : e.showTree(s, i));
|
|
31
|
+
})(this);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
��{"A":{"d47DEQpj8HB":["traindata"],"dtUlkQZgl7o":["2026"],"dyIV17-jlAm":["1"],"dgtwaon715h":["20"],"f4c29u8q2PJ":["chat_0001"],"d4c29u8q2PJ":["chat_0001"],"f7_c5SOWlEi":["prompt","answer"]},"M":{"c7_c5SOWlEi":{"$rpl":{"userid":"user_0001","email":"a@b.com","feedbackScore":6,"address":{"city":"a","zipcode":678}}},"cHZTLuixYD7":"What is async/await?","cbjx7gmgpjt":"async/await is ..."}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
�){"M":{"c7_c5SOWlEi":{"feedbackScore":7}}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
�C{"M":{"c7_c5SOWlEi":{"feedbackScore":6,"address":{"zipcode":678}}}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
�){"M":{"c7_c5SOWlEi":{"feedbackScore":7}}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
�
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"userid":"user_0001","email":"a@b.com","feedbackScore":7,"address":{"city":"a","zipcode":678}}
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"userid":"user_0001","email":"a@b.com","feedbackScore":6,"address":{"city":"a","zipcode":678}}
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"userid":"user_0001","email":"a@b.com","feedbackScore":7,"address":{"city":"a","zipcode":678}}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
'let a = new Error("No such file");
|
|
2
|
-
|
|
3
|
-
module.exports = ({
|
|
4
|
-
filePath: e,
|
|
5
|
-
cChangeId: n
|
|
6
|
-
}) => {
|
|
7
|
-
var t, l, o, e = dataFolder.fileP(e);
|
|
8
|
-
return e ? ({
|
|
9
|
-
fileContent: e,
|
|
10
|
-
cChangeId: t,
|
|
11
|
-
fileContentKey: l
|
|
12
|
-
} = e, o = {}, n != t && (Object.assign(o, {
|
|
13
|
-
fileContent: e,
|
|
14
|
-
cChangeId: t
|
|
15
|
-
}), null == n) && (o.fileContentKey = l), o) : a;
|
|
16
|
-
};
|
|
17
|
-
'module.exports = queryText => {
|
|
18
|
-
let {
|
|
19
|
-
folder,
|
|
20
|
-
value,
|
|
21
|
-
view,
|
|
22
|
-
limit,
|
|
23
|
-
cursor
|
|
24
|
-
} = eval("((x)=>x)(" + queryText + ")");
|
|
25
|
-
return dataFolder.queryTree(folder, value, view, limit, cursor);
|
|
26
|
-
};
|
|
27
|
-
'module.exports = () => {};
|
|
28
|
-
'let s = new Error("No such dir");
|
|
29
|
-
|
|
30
|
-
module.exports = ({
|
|
31
|
-
dirPath: a,
|
|
32
|
-
dChangeId: d,
|
|
33
|
-
fChangeId: e
|
|
34
|
-
}) => {
|
|
35
|
-
var r, a = dataFolder.dirP(a);
|
|
36
|
-
return a ? (r = {}, d || e || (r.fullPathHash = a.fullPathHash), d != a.dChangeId && Object.assign(r, {
|
|
37
|
-
subdirList: a.sortedSubdirList.map(a => a.name),
|
|
38
|
-
dChangeId: a.dChangeId
|
|
39
|
-
}), e != a.fChangeId && Object.assign(r, {
|
|
40
|
-
fileList: a.sortedFileList.map(a => a.name),
|
|
41
|
-
fChangeId: a.fChangeId
|
|
42
|
-
}), r) : s;
|
|
43
|
-
};
|
|
44
|
-
'module.exports = r => {
|
|
45
|
-
try {
|
|
46
|
-
return new Function("dataFolder", `return (${r})();`)(dataFolder);
|
|
47
|
-
} catch (r) {
|
|
48
|
-
return {
|
|
49
|
-
error: r.message
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
["traindata","%"]
|
|
54
|
-
["rpc"]
|
|
55
|
-
["evalCode","getSubItems","queryFiles","getFileContent","reloadRpc"]
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"maxChangeId":4,"pMVersion":1,"vLVersion":1,"totalCount":10,"outdatedCount":0,"outdated":"0%"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"maxChangeId":5,"pMVersion":1,"vLVersion":1,"totalCount":1,"outdatedCount":0,"outdated":"0%"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"maxChangeId":7,"pMVersion":1,"vLVersion":1,"totalCount":1,"outdatedCount":0,"outdated":"0%"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"maxChangeId":8,"pMVersion":1,"vLVersion":1,"totalCount":1,"outdatedCount":0,"outdated":"0%"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"maxChangeId":13,"pMVersion":1,"vLVersion":1,"totalCount":8,"outdatedCount":0,"outdated":"0%"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
2026-02-15T08:50:18.312Z: 6 changes:
|
|
2
|
-
createDir "/traindata"
|
|
3
|
-
createDir "/traindata/2026"
|
|
4
|
-
createDir "/traindata/2026/1"
|
|
5
|
-
createDir "/traindata/2026/1/20"
|
|
6
|
-
createFile "/traindata/2026/1/20/chat_0001"
|
|
7
|
-
insert "/traindata/2026/1/20/chat_0001" undefined -> {"$rpl":{"userid":"user_0001","email":"a@b.com","feedbackScore":5,"address":{"city":"a","zipcode":123}}}
|
|
8
|
-
2026-02-15T08:50:18.313Z: 3 changes:
|
|
9
|
-
createDir "/traindata/2026/1/20/chat_0001"
|
|
10
|
-
createFile "/traindata/2026/1/20/chat_0001/prompt"
|
|
11
|
-
insert "/traindata/2026/1/20/chat_0001/prompt" undefined -> "What is async/await?"
|
|
12
|
-
2026-02-15T08:50:18.313Z: 2 changes:
|
|
13
|
-
createFile "/traindata/2026/1/20/chat_0001/answer"
|
|
14
|
-
insert "/traindata/2026/1/20/chat_0001/answer" undefined -> "async/await is ..."
|
|
15
|
-
2026-02-15T08:50:18.317Z: 1 change:
|
|
16
|
-
insert "/traindata/2026/1/20/chat_0001" delta: {"feedbackScore":5,"address":{"zipcode":123}} -> {"feedbackScore":6,"address":{"zipcode":678}}
|
|
17
|
-
2026-02-15T08:50:18.548Z: 1 change:
|
|
18
|
-
insert "/traindata/2026/1/20/chat_0001" delta: {"feedbackScore":6} -> {"feedbackScore":7}
|
|
19
|
-
2026-02-15T08:50:23.921Z: 1 change:
|
|
20
|
-
insert "/traindata/2026/1/20/chat_0001" delta: {"feedbackScore":7,"address":{"zipcode":678}} -> {"feedbackScore":5,"address":{"zipcode":123}}
|
|
21
|
-
2026-02-15T08:50:23.927Z: 1 change:
|
|
22
|
-
insert "/traindata/2026/1/20/chat_0001" delta: {"feedbackScore":5,"address":{"zipcode":123}} -> {"feedbackScore":6,"address":{"zipcode":678}}
|
|
23
|
-
2026-02-15T08:50:24.106Z: 1 change:
|
|
24
|
-
insert "/traindata/2026/1/20/chat_0001" delta: {"feedbackScore":6} -> {"feedbackScore":7}
|
|
25
|
-
2026-02-15T08:50:56.784Z: 4 changes:
|
|
26
|
-
createDir "/%"
|
|
27
|
-
createDir "/%/rpc"
|
|
28
|
-
createFile "/%/rpc/evalCode"
|
|
29
|
-
insert "/%/rpc/evalCode" undefined -> "module.exports = r => {\n try {\n return new Function(\"dataFolder\", `return (${r})();`)(dataFolder);\n } catch (r) {\n return {\n error: r.message\n };\n }\n};"
|
|
30
|
-
2026-02-15T08:50:56.785Z: 2 changes:
|
|
31
|
-
createFile "/%/rpc/getFileContent"
|
|
32
|
-
insert "/%/rpc/getFileContent" undefined -> "let a = new Error(\"No such file\");\n\nmodule.exports = ({\n filePath: e,\n cChangeId: n\n}) => {\n var t, l, o, e = dataFolder.fileP(e);\n return e ? ({\n fileContent: e,\n cChangeId: t,\n fileContentKey: l\n } = e, o = {}, n != t && (Object.assign(o, {\n fileContent: e,\n cChangeId: t\n }), null == n) && (o.fileContentKey = l), o) : a;\n};"
|
|
33
|
-
2026-02-15T08:50:56.786Z: 2 changes:
|
|
34
|
-
createFile "/%/rpc/getSubItems"
|
|
35
|
-
insert "/%/rpc/getSubItems" undefined -> "let s = new Error(\"No such dir\");\n\nmodule.exports = ({\n dirPath: a,\n dChangeId: d,\n fChangeId: e\n}) => {\n var r, a = dataFolder.dirP(a);\n return a ? (r = {}, d || e || (r.fullPathHash = a.fullPathHash), d != a.dChangeId && Object.assign(r, {\n subdirList: a.sortedSubdirList.map(a => a.name),\n dChangeId: a.dChangeId\n }), e != a.fChangeId && Object.assign(r, {\n fileList: a.sortedFileList.map(a => a.name),\n fChangeId: a.fChangeId\n }), r) : s;\n};"
|
|
36
|
-
2026-02-15T08:50:56.787Z: 2 changes:
|
|
37
|
-
createFile "/%/rpc/queryFiles"
|
|
38
|
-
insert "/%/rpc/queryFiles" undefined -> "module.exports = queryText => {\n let {\n folder,\n value,\n view,\n limit,\n cursor\n } = eval(\"((x)=>x)(\" + queryText + \")\");\n return dataFolder.queryTree(folder, value, view, limit, cursor);\n};"
|
|
39
|
-
2026-02-15T08:50:56.788Z: 2 changes:
|
|
40
|
-
createFile "/%/rpc/reloadRpc"
|
|
41
|
-
insert "/%/rpc/reloadRpc" undefined -> "module.exports = () => {};"
|
|
42
|
-
2026-02-15T08:51:14.589Z: 4 changes:
|
|
43
|
-
createDir "/%"
|
|
44
|
-
createDir "/%/rpc"
|
|
45
|
-
createFile "/%/rpc/evalCode"
|
|
46
|
-
insert "/%/rpc/evalCode" undefined -> "module.exports = r => {\n try {\n return new Function(\"dataFolder\", `return (${r})();`)(dataFolder);\n } catch (r) {\n return {\n error: r.message\n };\n }\n};"
|
|
47
|
-
2026-02-15T08:51:14.590Z: 2 changes:
|
|
48
|
-
createFile "/%/rpc/getSubItems"
|
|
49
|
-
insert "/%/rpc/getSubItems" undefined -> "let s = new Error(\"No such dir\");\n\nmodule.exports = ({\n dirPath: a,\n dChangeId: d,\n fChangeId: e\n}) => {\n var r, a = dataFolder.dirP(a);\n return a ? (r = {}, d || e || (r.fullPathHash = a.fullPathHash), d != a.dChangeId && Object.assign(r, {\n subdirList: a.sortedSubdirList.map(a => a.name),\n dChangeId: a.dChangeId\n }), e != a.fChangeId && Object.assign(r, {\n fileList: a.sortedFileList.map(a => a.name),\n fChangeId: a.fChangeId\n }), r) : s;\n};"
|
|
50
|
-
2026-02-15T08:51:14.590Z: 2 changes:
|
|
51
|
-
createFile "/%/rpc/queryFiles"
|
|
52
|
-
insert "/%/rpc/queryFiles" undefined -> "module.exports = queryText => {\n let {\n folder,\n value,\n view,\n limit,\n cursor\n } = eval(\"((x)=>x)(\" + queryText + \")\");\n return dataFolder.queryTree(folder, value, view, limit, cursor);\n};"
|
|
53
|
-
2026-02-15T08:51:14.591Z: 2 changes:
|
|
54
|
-
createFile "/%/rpc/getFileContent"
|
|
55
|
-
insert "/%/rpc/getFileContent" undefined -> "let a = new Error(\"No such file\");\n\nmodule.exports = ({\n filePath: e,\n cChangeId: n\n}) => {\n var t, l, o, e = dataFolder.fileP(e);\n return e ? ({\n fileContent: e,\n cChangeId: t,\n fileContentKey: l\n } = e, o = {}, n != t && (Object.assign(o, {\n fileContent: e,\n cChangeId: t\n }), null == n) && (o.fileContentKey = l), o) : a;\n};"
|
|
56
|
-
2026-02-15T08:51:14.591Z: 2 changes:
|
|
57
|
-
createFile "/%/rpc/reloadRpc"
|
|
58
|
-
insert "/%/rpc/reloadRpc" undefined -> "module.exports = () => {};"
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
2026-02-15T08:50:56.813Z fastify.js:70:16:error: Error: listen EADDRINUSE: address already in use ::1:3628
|
|
2
|
-
at Server.setupListenHandle [as _listen2] (node:net:2016:16)
|
|
3
|
-
at listenInCluster (node:net:2073:12)
|
|
4
|
-
at GetAddrInfoReqWrap.callback (node:net:2282:7)
|
|
5
|
-
at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:133:8) {
|
|
6
|
-
code: 'EADDRINUSE',
|
|
7
|
-
errno: -4091,
|
|
8
|
-
syscall: 'listen',
|
|
9
|
-
address: '::1',
|
|
10
|
-
port: 3628
|
|
11
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
2026-02-15T08:50:18.307Z QyCache.js:138:79:log: Started.
|
|
2
|
-
2026-02-15T08:50:18.314Z sample.js:17:9:log: user_0001 a@b.com 5 { city: 'a', zipcode: 123 }
|
|
3
|
-
2026-02-15T08:50:18.317Z sample.js:20:9:log: { feedbackScore: 6, address: { city: 'a', zipcode: 678 } }
|
|
4
|
-
2026-02-15T08:50:18.318Z sample.js:21:9:log: What is async/await?
|
|
5
|
-
2026-02-15T08:50:18.319Z sample.js:22:9:log: async/await is ...
|
|
6
|
-
2026-02-15T08:50:18.320Z QyCache.js:142:16:log: Stopping...
|
|
7
|
-
2026-02-15T08:50:18.542Z QyCache.js:138:79:log: Started.
|
|
8
|
-
2026-02-15T08:50:18.547Z sample.js:28:10:log: a@b.com 6
|
|
9
|
-
2026-02-15T08:50:18.549Z sample.js:30:10:log: {
|
|
10
|
-
userid: 'user_0001',
|
|
11
|
-
email: 'a@b.com',
|
|
12
|
-
feedbackScore: 7,
|
|
13
|
-
address: { city: 'a', zipcode: 678 }
|
|
14
|
-
} What is async/await? async/await is ...
|
|
15
|
-
2026-02-15T08:50:18.549Z QyCache.js:142:16:log: Stopping...
|
|
16
|
-
2026-02-15T08:50:23.914Z QyCache.js:138:79:log: Started.
|
|
17
|
-
2026-02-15T08:50:23.926Z sample.js:17:9:log: user_0001 a@b.com 5 { city: 'a', zipcode: 123 }
|
|
18
|
-
2026-02-15T08:50:23.928Z sample.js:20:9:log: { feedbackScore: 6, address: { city: 'a', zipcode: 678 } }
|
|
19
|
-
2026-02-15T08:50:23.929Z sample.js:21:9:log: What is async/await?
|
|
20
|
-
2026-02-15T08:50:23.930Z sample.js:22:9:log: async/await is ...
|
|
21
|
-
2026-02-15T08:50:23.930Z QyCache.js:142:16:log: Stopping...
|
|
22
|
-
2026-02-15T08:50:24.104Z QyCache.js:138:79:log: Started.
|
|
23
|
-
2026-02-15T08:50:24.106Z sample.js:28:10:log: a@b.com 6
|
|
24
|
-
2026-02-15T08:50:24.107Z sample.js:30:10:log: {
|
|
25
|
-
userid: 'user_0001',
|
|
26
|
-
email: 'a@b.com',
|
|
27
|
-
feedbackScore: 7,
|
|
28
|
-
address: { city: 'a', zipcode: 678 }
|
|
29
|
-
} What is async/await? async/await is ...
|
|
30
|
-
2026-02-15T08:50:24.107Z QyCache.js:142:16:log: Stopping...
|
|
31
|
-
2026-02-15T08:50:56.776Z QyCache.js:138:79:log: Started.
|
|
32
|
-
2026-02-15T08:51:14.579Z QyCache.js:138:79:log: Started.
|
|
33
|
-
2026-02-15T08:51:14.612Z fastify.js:73:16:log: Example app listening on port 3628
|
|
34
|
-
2026-02-15T08:51:14.617Z QySnapshots.js:242:93:log: combiningSnapshots:1,4
|
|
35
|
-
2026-02-15T08:51:39.471Z fastify.js:24:10:log: SIGINT signal received: closing HTTP server
|
|
36
|
-
2026-02-15T08:51:39.475Z QyCache.js:142:16:log: Stopping...
|