@the_library/public 1.0.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 +2298 -0
- package/assets/branding/data-pond.png +0 -0
- package/assets/branding/dsafe-logo.png +0 -0
- package/assets/branding/founder-photo.jpg +0 -0
- package/assets/branding/icon_transparent.png +0 -0
- package/assets/branding/library-favicon.png +0 -0
- package/assets/branding/pond-enterprise-logo.jpg +0 -0
- package/assets/branding/pond-enterprise-logo.svg +27 -0
- package/dist/branding/index.d.ts +48 -0
- package/dist/branding/index.js +67 -0
- package/dist/branding/index.js.map +1 -0
- package/dist/chunk-2HFOWE5R.js +296 -0
- package/dist/chunk-2HFOWE5R.js.map +1 -0
- package/dist/chunk-3L6LH2XK.js +465 -0
- package/dist/chunk-3L6LH2XK.js.map +1 -0
- package/dist/chunk-4CWVFPBN.js +28 -0
- package/dist/chunk-4CWVFPBN.js.map +1 -0
- package/dist/chunk-AGHPATVL.js +65 -0
- package/dist/chunk-AGHPATVL.js.map +1 -0
- package/dist/chunk-JDUYLUDJ.js +4835 -0
- package/dist/chunk-JDUYLUDJ.js.map +1 -0
- package/dist/chunk-OEZK7IX7.js +77 -0
- package/dist/chunk-OEZK7IX7.js.map +1 -0
- package/dist/chunk-PUYDAUCI.js +2873 -0
- package/dist/chunk-PUYDAUCI.js.map +1 -0
- package/dist/chunk-WHWMTS7D.js +99 -0
- package/dist/chunk-WHWMTS7D.js.map +1 -0
- package/dist/chunk-Y7RS6RTM.js +342 -0
- package/dist/chunk-Y7RS6RTM.js.map +1 -0
- package/dist/chunk-ZEZGI2TP.js +197 -0
- package/dist/chunk-ZEZGI2TP.js.map +1 -0
- package/dist/core-dao-core-logo-VDT2I5IW.svg +33 -0
- package/dist/downloader/dl2-sw.js +199 -0
- package/dist/downloader/dl2-sw.js.map +1 -0
- package/dist/downloader/file-worker-v2.js +258 -0
- package/dist/downloader/file-worker-v2.js.map +1 -0
- package/dist/downloader/index.d.ts +45 -0
- package/dist/downloader/index.js +538 -0
- package/dist/downloader/index.js.map +1 -0
- package/dist/downloader/mu-worker-v2.js +197 -0
- package/dist/downloader/mu-worker-v2.js.map +1 -0
- package/dist/downloader/react.d.ts +19 -0
- package/dist/downloader/react.js +32 -0
- package/dist/downloader/react.js.map +1 -0
- package/dist/downloader/solid.d.ts +21 -0
- package/dist/downloader/solid.js +19 -0
- package/dist/downloader/solid.js.map +1 -0
- package/dist/downloader/sw.d.ts +22 -0
- package/dist/downloader/sw.js +119 -0
- package/dist/downloader/sw.js.map +1 -0
- package/dist/downloader/vue.d.ts +23 -0
- package/dist/downloader/vue.js +19 -0
- package/dist/downloader/vue.js.map +1 -0
- package/dist/level-state-J3pj64Tr.d.ts +15 -0
- package/dist/models/astro.d.ts +47 -0
- package/dist/models/astro.js +44 -0
- package/dist/models/astro.js.map +1 -0
- package/dist/models/index.d.ts +244 -0
- package/dist/models/index.js +340 -0
- package/dist/models/index.js.map +1 -0
- package/dist/models/models.d.ts +524 -0
- package/dist/models/models.js +46 -0
- package/dist/models/models.js.map +1 -0
- package/dist/models/models_v2.global.js +1 -0
- package/dist/models/patch-worker.js +543 -0
- package/dist/models/patch-worker.js.map +1 -0
- package/dist/models/react.d.ts +43 -0
- package/dist/models/react.js +73 -0
- package/dist/models/react.js.map +1 -0
- package/dist/models/solid.d.ts +73 -0
- package/dist/models/solid.js +95 -0
- package/dist/models/solid.js.map +1 -0
- package/dist/models/vue.d.ts +51 -0
- package/dist/models/vue.js +98 -0
- package/dist/models/vue.js.map +1 -0
- package/dist/orm-BvkX0aBT.d.ts +507 -0
- package/dist/session-vqOnyxga.d.ts +184 -0
- package/dist/state-BTsp-E4v.d.ts +111 -0
- package/dist/types-Dn0EFMO_.d.ts +293 -0
- package/dist/types-Xb8Ta9tZ.d.ts +155 -0
- package/dist/web3/index.d.ts +820 -0
- package/dist/web3/index.js +1020 -0
- package/dist/web3/index.js.map +1 -0
- package/dist/web3/registry.d.ts +145 -0
- package/dist/web3/registry.js +23 -0
- package/dist/web3/registry.js.map +1 -0
- package/dist/web3/vue.d.ts +174 -0
- package/dist/web3/vue.js +391 -0
- package/dist/web3/vue.js.map +1 -0
- package/package.json +124 -0
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
- /*
|
|
3
|
+
- * Copyright (c) 2026 DataPond D-Library Pty Ltd. ("The Sanctuary")
|
|
4
|
+
- * Non-Profit Public Library — The World Library
|
|
5
|
+
- *
|
|
6
|
+
- * Licensed under the D-Open Code Sovereign Licence v1.0
|
|
7
|
+
- * https://registry.world.bibliotech.com/licence
|
|
8
|
+
- *
|
|
9
|
+
- * Technical Guardian ("The Shield"): Pond Enterprise Pty Ltd. (ACN 694 747 987)
|
|
10
|
+
- * All liability claims directed to Pond Enterprise Pty Ltd.
|
|
11
|
+
- * Modification automatically voids the certified liability protection.
|
|
12
|
+
- * Governing law: South Australia.
|
|
13
|
+
- */
|
|
14
|
+
-
|
|
15
|
+
-->
|
|
16
|
+
|
|
17
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="200" height="200">
|
|
18
|
+
<g fill="none" stroke="currentColor" stroke-width="4">
|
|
19
|
+
<!-- Outer Square -->
|
|
20
|
+
<rect x="5" y="5" width="90" height="90" />
|
|
21
|
+
|
|
22
|
+
<!-- 3 Concentric Circles -->
|
|
23
|
+
<circle cx="50" cy="50" r="42" />
|
|
24
|
+
<circle cx="50" cy="50" r="28" />
|
|
25
|
+
<circle cx="50" cy="50" r="12" />
|
|
26
|
+
</g>
|
|
27
|
+
</svg>
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
interface FounderInfo {
|
|
2
|
+
name: string;
|
|
3
|
+
email: string;
|
|
4
|
+
whatsapp: string;
|
|
5
|
+
linkedIn: string;
|
|
6
|
+
photoPath: string;
|
|
7
|
+
}
|
|
8
|
+
interface BuilderInfo {
|
|
9
|
+
name: string;
|
|
10
|
+
url: string;
|
|
11
|
+
email: string;
|
|
12
|
+
whatsapp: string;
|
|
13
|
+
linkedIn: string;
|
|
14
|
+
logoPath: string;
|
|
15
|
+
}
|
|
16
|
+
interface AppBranding {
|
|
17
|
+
appName: string;
|
|
18
|
+
appUrl: string;
|
|
19
|
+
comingSoonUrl?: string;
|
|
20
|
+
supportEmail?: string;
|
|
21
|
+
contactFormUrl?: string;
|
|
22
|
+
images: {
|
|
23
|
+
logo?: string;
|
|
24
|
+
favicon?: string;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
declare const founder: FounderInfo;
|
|
28
|
+
declare const builder: BuilderInfo;
|
|
29
|
+
interface SocialMediaUrls {
|
|
30
|
+
facebook: string;
|
|
31
|
+
instagram: string;
|
|
32
|
+
bluesky: string;
|
|
33
|
+
linkedin: string;
|
|
34
|
+
x: string;
|
|
35
|
+
kickstarter: string;
|
|
36
|
+
}
|
|
37
|
+
declare const socialMedia: SocialMediaUrls;
|
|
38
|
+
declare const globalBranding: {
|
|
39
|
+
founder: FounderInfo;
|
|
40
|
+
builder: BuilderInfo;
|
|
41
|
+
socialMedia: SocialMediaUrls;
|
|
42
|
+
contactFormUrl: string;
|
|
43
|
+
};
|
|
44
|
+
declare const worldBiblioTechBranding: AppBranding;
|
|
45
|
+
declare const dsafeLegalBranding: AppBranding;
|
|
46
|
+
declare const worldBibliotekBranding: AppBranding;
|
|
47
|
+
|
|
48
|
+
export { type AppBranding, type BuilderInfo, type FounderInfo, type SocialMediaUrls, builder, dsafeLegalBranding, founder, globalBranding, socialMedia, worldBiblioTechBranding, worldBibliotekBranding };
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
// src/branding/index.ts
|
|
2
|
+
var founder = {
|
|
3
|
+
name: "Data Pond",
|
|
4
|
+
email: "data@datapond.earth",
|
|
5
|
+
whatsapp: "61490689222",
|
|
6
|
+
linkedIn: "https://www.linkedin.com/in/datapond/",
|
|
7
|
+
photoPath: "@the_library/public/branding/assets/founder-photo.jpg"
|
|
8
|
+
};
|
|
9
|
+
var builder = {
|
|
10
|
+
name: "Pond Enterprise",
|
|
11
|
+
url: "https://pondenterprise.com",
|
|
12
|
+
email: "hello@pondenterprise.com",
|
|
13
|
+
whatsapp: "61490689222",
|
|
14
|
+
linkedIn: "https://www.linkedin.com/company/pond-enterprise",
|
|
15
|
+
logoPath: "@the_library/public/branding/assets/pond-enterprise-logo.svg"
|
|
16
|
+
};
|
|
17
|
+
var socialMedia = {
|
|
18
|
+
facebook: "https://www.facebook.com/the.world.library",
|
|
19
|
+
instagram: "https://www.instagram.com/world_public_library/",
|
|
20
|
+
bluesky: "https://bsky.app/profile/the-world-library.bsky.social",
|
|
21
|
+
linkedin: "https://www.linkedin.com/company/the-world-library",
|
|
22
|
+
x: "https://x.com/realDataPond",
|
|
23
|
+
kickstarter: "https://www.kickstarter.com/projects/datapond/the-world-library"
|
|
24
|
+
};
|
|
25
|
+
var globalBranding = {
|
|
26
|
+
founder,
|
|
27
|
+
builder,
|
|
28
|
+
socialMedia,
|
|
29
|
+
contactFormUrl: "https://pondenterprise.com/p/contact-us"
|
|
30
|
+
};
|
|
31
|
+
var worldBiblioTechBranding = {
|
|
32
|
+
appName: "World Biblio Tech",
|
|
33
|
+
appUrl: "https://datapond.earth",
|
|
34
|
+
comingSoonUrl: "https://worldbibliotech.com",
|
|
35
|
+
contactFormUrl: "https://pondenterprise.com/p/contact-us",
|
|
36
|
+
images: {
|
|
37
|
+
logo: "@the_library/public/branding/assets/icon_transparent.png",
|
|
38
|
+
favicon: "@the_library/public/branding/assets/library-favicon.png"
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
var dsafeLegalBranding = {
|
|
42
|
+
appName: "D-SAFE Legal",
|
|
43
|
+
appUrl: "https://dsafe.us",
|
|
44
|
+
supportEmail: "hello@dsafe.us",
|
|
45
|
+
images: {
|
|
46
|
+
logo: "@the_library/public/branding/assets/dsafe-logo.png",
|
|
47
|
+
favicon: "@the_library/public/branding/assets/dsafe-logo.png"
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
var worldBibliotekBranding = {
|
|
51
|
+
appName: "World Bibliotek",
|
|
52
|
+
appUrl: "https://worldbibliotek.com",
|
|
53
|
+
images: {
|
|
54
|
+
logo: "@the_library/public/branding/assets/icon_transparent.png",
|
|
55
|
+
favicon: "@the_library/public/branding/assets/library-favicon.png"
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
export {
|
|
59
|
+
builder,
|
|
60
|
+
dsafeLegalBranding,
|
|
61
|
+
founder,
|
|
62
|
+
globalBranding,
|
|
63
|
+
socialMedia,
|
|
64
|
+
worldBiblioTechBranding,
|
|
65
|
+
worldBibliotekBranding
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/branding/index.ts"],"mappings":";AAgDO,IAAM,UAAuB;AAAA,EAClC,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,UAAU;AAAA,EACV,WAAW;AACb;AAEO,IAAM,UAAuB;AAAA,EAClC,MAAM;AAAA,EACN,KAAK;AAAA,EACL,OAAO;AAAA,EACP,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AACZ;AAWO,IAAM,cAA+B;AAAA,EAC1C,UAAU;AAAA,EACV,WAAW;AAAA,EACX,SAAS;AAAA,EACT,UAAU;AAAA,EACV,GAAG;AAAA,EACH,aAAa;AACf;AAEO,IAAM,iBAAiB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA,gBAAgB;AAClB;AAGO,IAAM,0BAAuC;AAAA,EAClD,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AACF;AAGO,IAAM,qBAAkC;AAAA,EAC7C,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AACF;AAEO,IAAM,yBAAsC;AAAA,EACjD,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AACF;","names":[]}
|
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
import {
|
|
2
|
+
applyRestoredPatches,
|
|
3
|
+
scanTrash
|
|
4
|
+
} from "./chunk-Y7RS6RTM.js";
|
|
5
|
+
import {
|
|
6
|
+
PatchInstance,
|
|
7
|
+
Patches,
|
|
8
|
+
PopulateStatsStore,
|
|
9
|
+
configureDb,
|
|
10
|
+
dump,
|
|
11
|
+
extractRecordCols,
|
|
12
|
+
isEvmPatch,
|
|
13
|
+
setDefaultLanguage
|
|
14
|
+
} from "./chunk-JDUYLUDJ.js";
|
|
15
|
+
import {
|
|
16
|
+
getAllPatchesByUsername,
|
|
17
|
+
proResolver
|
|
18
|
+
} from "./chunk-ZEZGI2TP.js";
|
|
19
|
+
|
|
20
|
+
// src/models/worker-client.ts
|
|
21
|
+
var forwardEventToWindow = (event, detail) => {
|
|
22
|
+
if (typeof window !== "undefined" && typeof CustomEvent !== "undefined") {
|
|
23
|
+
window.dispatchEvent(new CustomEvent(event, { detail, bubbles: true }));
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
var Thread = class {
|
|
27
|
+
constructor(path) {
|
|
28
|
+
this._rrRequest = {};
|
|
29
|
+
this._eventListeners = {};
|
|
30
|
+
this._proReady = proResolver();
|
|
31
|
+
this._counter = 0;
|
|
32
|
+
this._worker = new Worker(path, {
|
|
33
|
+
type: "module"
|
|
34
|
+
// Use module type if you are using ES modules in your worker
|
|
35
|
+
});
|
|
36
|
+
this._rrRequest = {};
|
|
37
|
+
this._worker.addEventListener("message", (e) => {
|
|
38
|
+
this._onMessage(e.data);
|
|
39
|
+
});
|
|
40
|
+
this._worker.addEventListener("messageerror", (e) => {
|
|
41
|
+
this._onError(e);
|
|
42
|
+
});
|
|
43
|
+
this._worker.onerror = (e) => this._onError(e);
|
|
44
|
+
this.addEventListener("workerready" /* WorkerReady */, () => {
|
|
45
|
+
this._proReady.resolve(true);
|
|
46
|
+
});
|
|
47
|
+
this.addEventListener("workerLoadingError" /* WorkerLoadingError */, (e) => {
|
|
48
|
+
console.log("Worker loading Error", e);
|
|
49
|
+
this._proReady.reject(e);
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
get ready() {
|
|
53
|
+
return this._proReady.pro;
|
|
54
|
+
}
|
|
55
|
+
addEventListener(event, listener) {
|
|
56
|
+
if (!(event in this._eventListeners)) {
|
|
57
|
+
this._eventListeners[event] = [];
|
|
58
|
+
}
|
|
59
|
+
this._eventListeners[event].push(listener);
|
|
60
|
+
}
|
|
61
|
+
_onMessage(e) {
|
|
62
|
+
const { id, result, eventName, payload } = e;
|
|
63
|
+
if (eventName && eventName !== "undefined" && eventName.length > 0) {
|
|
64
|
+
forwardEventToWindow(eventName, payload);
|
|
65
|
+
if (eventName in this._eventListeners) {
|
|
66
|
+
this._eventListeners[eventName].forEach((listener) => listener(payload));
|
|
67
|
+
} else {
|
|
68
|
+
}
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
const { data, error } = result;
|
|
72
|
+
if (id in this._rrRequest) {
|
|
73
|
+
const { res, rej } = this._rrRequest[id];
|
|
74
|
+
delete this._rrRequest[id];
|
|
75
|
+
error ? rej(error) : res(data);
|
|
76
|
+
} else {
|
|
77
|
+
console.error("nop; invalid request id:", id);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
_onError(e) {
|
|
81
|
+
console.error("error in Thread", this, e);
|
|
82
|
+
this._cancelPendingRequests();
|
|
83
|
+
}
|
|
84
|
+
_sendRequest(data, opts = { transferables: [] }) {
|
|
85
|
+
return new Promise((res, rej) => {
|
|
86
|
+
let id;
|
|
87
|
+
do {
|
|
88
|
+
id = `req-id-${this._counter}-${Math.random()}`;
|
|
89
|
+
this._counter += 1;
|
|
90
|
+
} while (id in this._rrRequest);
|
|
91
|
+
this._rrRequest[id] = { res, rej };
|
|
92
|
+
if (this._worker) {
|
|
93
|
+
this._worker.postMessage({ id, data }, opts.transferables.length > 0 ? opts.transferables : void 0);
|
|
94
|
+
} else {
|
|
95
|
+
console.log("_sendRequest(): nop (worker already terminated?)");
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
sendRequest(payload, transferables = []) {
|
|
100
|
+
return this._sendRequest(payload, { transferables });
|
|
101
|
+
}
|
|
102
|
+
getWorker() {
|
|
103
|
+
return this._worker;
|
|
104
|
+
}
|
|
105
|
+
_cancelPendingRequests() {
|
|
106
|
+
let count = 0;
|
|
107
|
+
Object.entries(this._rrRequest).forEach(([id, rr]) => {
|
|
108
|
+
rr.rej(`canceled: ${id}`);
|
|
109
|
+
delete this._rrRequest[id];
|
|
110
|
+
count += 1;
|
|
111
|
+
});
|
|
112
|
+
if (Object.keys(this._rrRequest).length !== 0) {
|
|
113
|
+
throw "panic: the rr map should have been cleared!";
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
terminate() {
|
|
117
|
+
this._cancelPendingRequests();
|
|
118
|
+
let promise = null;
|
|
119
|
+
this._worker.terminate();
|
|
120
|
+
this._worker = null;
|
|
121
|
+
return promise || void 0;
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
var _worker;
|
|
125
|
+
var _workerPro = proResolver();
|
|
126
|
+
var initWorker = async (workerPath) => {
|
|
127
|
+
if (_workerPro.isStarted()) {
|
|
128
|
+
return _workerPro.pro;
|
|
129
|
+
}
|
|
130
|
+
_workerPro.start();
|
|
131
|
+
_worker = new Thread(workerPath);
|
|
132
|
+
_worker.addEventListener("workerready" /* WorkerReady */, () => {
|
|
133
|
+
_workerPro.resolve(_worker);
|
|
134
|
+
});
|
|
135
|
+
_worker.addEventListener("workerLoadingError" /* WorkerLoadingError */, (e) => {
|
|
136
|
+
_workerPro.reject(e);
|
|
137
|
+
});
|
|
138
|
+
return _workerPro.pro;
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
// src/models/worker-patch-main.ts
|
|
142
|
+
var _worker2 = null;
|
|
143
|
+
var InitPatchWorker = async (options) => {
|
|
144
|
+
if (options.cacheLimit) {
|
|
145
|
+
configureDb({ cacheLimit: options.cacheLimit });
|
|
146
|
+
}
|
|
147
|
+
if (_worker2 === null) {
|
|
148
|
+
_worker2 = await initWorker(options.workerPath ?? "/patch-worker.js");
|
|
149
|
+
}
|
|
150
|
+
PatchInstance.initThread(_worker2);
|
|
151
|
+
const data = await _worker2.sendRequest({
|
|
152
|
+
cmd: "init" /* Init */,
|
|
153
|
+
payload: {
|
|
154
|
+
sidecars: options.sidecars,
|
|
155
|
+
selectedLangs: options.selectedLangs
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
const mine = await getAllPatchesByUsername("mine");
|
|
159
|
+
PopulateStatsStore(mine.filter((p) => !isEvmPatch(p)));
|
|
160
|
+
await Patches.calculateLevel("mine");
|
|
161
|
+
console.log(`InitPatchWorker() done`);
|
|
162
|
+
return data;
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
// src/models/session.ts
|
|
166
|
+
var DEFAULT_GATEWAY = "https://arweave.net";
|
|
167
|
+
var stripSlash = (s) => s.replace(/\/+$/, "");
|
|
168
|
+
var join = (base, file) => file ? `${stripSlash(base)}/${file}` : void 0;
|
|
169
|
+
var txUrl = (gateway, txid) => txid ? `${stripSlash(gateway)}/${txid}` : void 0;
|
|
170
|
+
function localSidecarUrls(basePath, manifest, selectedLangs) {
|
|
171
|
+
const out = [];
|
|
172
|
+
for (const [type, obj] of Object.entries(manifest.objects ?? {})) {
|
|
173
|
+
for (const lang of selectedLangs) {
|
|
174
|
+
const slim = obj.tiers.slim?.find((t) => t.file.startsWith(`${lang}_`));
|
|
175
|
+
const extended = obj.tiers.extended?.find((t) => t.file.startsWith(`${lang}_`));
|
|
176
|
+
const prov = obj.tiers.prov?.find((t) => t.file.startsWith(`${lang}_`));
|
|
177
|
+
if (!slim && !extended && !prov) continue;
|
|
178
|
+
out.push({
|
|
179
|
+
objectType: Number(type),
|
|
180
|
+
lang,
|
|
181
|
+
slimUrl: join(basePath, slim?.file),
|
|
182
|
+
extendedUrl: join(basePath, extended?.file),
|
|
183
|
+
provUrl: join(basePath, prov?.file)
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
return out;
|
|
188
|
+
}
|
|
189
|
+
function registrySidecarUrls(data, selectedLangs, gateway = DEFAULT_GATEWAY) {
|
|
190
|
+
const out = [];
|
|
191
|
+
for (const [type, byLang] of Object.entries(data.objects ?? {})) {
|
|
192
|
+
for (const lang of selectedLangs) {
|
|
193
|
+
const tiers = byLang[lang];
|
|
194
|
+
if (!tiers) continue;
|
|
195
|
+
out.push({
|
|
196
|
+
objectType: Number(type),
|
|
197
|
+
lang,
|
|
198
|
+
slimUrl: txUrl(gateway, tiers.slim?.[0]),
|
|
199
|
+
extendedUrl: txUrl(gateway, tiers.extended?.[0]),
|
|
200
|
+
provUrl: txUrl(gateway, tiers.prov?.[0])
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
return out;
|
|
205
|
+
}
|
|
206
|
+
function rebuildInverseRelations() {
|
|
207
|
+
let n = 0;
|
|
208
|
+
for (const cache of dump().values()) {
|
|
209
|
+
for (const rec of cache.values()) {
|
|
210
|
+
rec.restoreInverses();
|
|
211
|
+
n++;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
return n;
|
|
215
|
+
}
|
|
216
|
+
function hydrateAll(sets, factories) {
|
|
217
|
+
const byType = new Map(factories.map((f) => [f.type, f.create]));
|
|
218
|
+
let count = 0;
|
|
219
|
+
for (const set of sets) {
|
|
220
|
+
const create = byType.get(set.objectType);
|
|
221
|
+
if (!create) continue;
|
|
222
|
+
for (const [id, rowIndex] of set.idIndex) {
|
|
223
|
+
const rec = create(id);
|
|
224
|
+
if (set.slim) rec.mergeSlim(extractRecordCols(set.slim, rowIndex), 0, set.lang);
|
|
225
|
+
if (set.extended) rec.mergeExtended(extractRecordCols(set.extended, rowIndex), 0, set.lang);
|
|
226
|
+
if (set.prov) rec.mergeProv(extractRecordCols(set.prov, rowIndex), 0, set.lang);
|
|
227
|
+
count++;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
rebuildInverseRelations();
|
|
231
|
+
scanTrash();
|
|
232
|
+
return count;
|
|
233
|
+
}
|
|
234
|
+
async function bootModelsV2(opts) {
|
|
235
|
+
setDefaultLanguage(opts.userLang);
|
|
236
|
+
const langs = opts.selectedLangs ?? [opts.userLang];
|
|
237
|
+
let sidecars;
|
|
238
|
+
if (opts.localMode) {
|
|
239
|
+
let manifest;
|
|
240
|
+
if (opts.localManifest) {
|
|
241
|
+
manifest = opts.localManifest;
|
|
242
|
+
} else {
|
|
243
|
+
const r = await fetch(`${stripSlash(opts.localMode)}/corpus-index.json`);
|
|
244
|
+
if (!r.ok) throw new Error(`local corpus-index.json fetch failed: ${r.status}`);
|
|
245
|
+
manifest = await r.json();
|
|
246
|
+
}
|
|
247
|
+
sidecars = localSidecarUrls(opts.localMode, manifest, langs);
|
|
248
|
+
} else if (opts.registry) {
|
|
249
|
+
sidecars = registrySidecarUrls(opts.registry.dataBlock, langs, opts.registry.gateway);
|
|
250
|
+
} else {
|
|
251
|
+
throw new Error("bootModelsV2: provide `localMode` (folder) or `registry` (data block)");
|
|
252
|
+
}
|
|
253
|
+
const data = await InitPatchWorker({ workerPath: opts.workerPath, sidecars, selectedLangs: langs });
|
|
254
|
+
const hydrated = hydrateAll(data.sidecars, opts.models);
|
|
255
|
+
await applyRestoredPatches(data.patches.mine ?? []);
|
|
256
|
+
console.log(`[models_v2] booted: ${hydrated} records (${opts.localMode ? `local ${opts.localMode}` : "registry"})`);
|
|
257
|
+
_bootOptions = opts;
|
|
258
|
+
for (const lang of langs) _loadedLangs.add(lang);
|
|
259
|
+
return data;
|
|
260
|
+
}
|
|
261
|
+
var _bootOptions = null;
|
|
262
|
+
var _loadedLangs = /* @__PURE__ */ new Set();
|
|
263
|
+
var _bootPromise = null;
|
|
264
|
+
var _swapBound = false;
|
|
265
|
+
var _onNavigate;
|
|
266
|
+
var bootstrapSession = (opts, installReactivity) => {
|
|
267
|
+
_onNavigate = opts.onNavigate;
|
|
268
|
+
installReactivity();
|
|
269
|
+
if (_bootPromise === null) {
|
|
270
|
+
_bootPromise = Promise.resolve().then(() => opts.init ? opts.init() : bootModelsV2(opts).then((data) => opts.onBoot?.(data))).catch((err) => {
|
|
271
|
+
console.error("[models_v2] session init failed", err);
|
|
272
|
+
});
|
|
273
|
+
} else {
|
|
274
|
+
_onNavigate?.();
|
|
275
|
+
}
|
|
276
|
+
if (typeof document !== "undefined" && !_swapBound) {
|
|
277
|
+
_swapBound = true;
|
|
278
|
+
document.addEventListener("astro:after-swap", () => {
|
|
279
|
+
installReactivity();
|
|
280
|
+
_onNavigate?.();
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
return _bootPromise;
|
|
284
|
+
};
|
|
285
|
+
var resetModelsV2Session = () => {
|
|
286
|
+
_bootPromise = null;
|
|
287
|
+
_onNavigate = void 0;
|
|
288
|
+
_bootOptions = null;
|
|
289
|
+
_loadedLangs.clear();
|
|
290
|
+
};
|
|
291
|
+
|
|
292
|
+
export {
|
|
293
|
+
bootstrapSession,
|
|
294
|
+
resetModelsV2Session
|
|
295
|
+
};
|
|
296
|
+
//# sourceMappingURL=chunk-2HFOWE5R.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/models/worker-client.ts","../src/models/worker-patch-main.ts","../src/models/session.ts"],"mappings":"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","names":["_worker"]}
|