@the_library/public 1.0.0 → 2.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.
Files changed (113) hide show
  1. package/README.md +201 -28
  2. package/assets/branding/pond-enterprise-logo.svg +1 -1
  3. package/dist/Book-K86JRm42.d.ts +600 -0
  4. package/dist/bookSearchService-BmFHrvsv.d.ts +300 -0
  5. package/dist/branding/index.js +1 -66
  6. package/dist/branding/index.js.map +1 -1
  7. package/dist/chunk-3XUKOVEF.js +2 -0
  8. package/dist/chunk-3XUKOVEF.js.map +1 -0
  9. package/dist/chunk-46FQHZNM.js +2 -0
  10. package/dist/chunk-46FQHZNM.js.map +1 -0
  11. package/dist/chunk-7G3BMGV2.js +2 -0
  12. package/dist/chunk-7G3BMGV2.js.map +1 -0
  13. package/dist/chunk-D4DXGA2W.js +2 -0
  14. package/dist/chunk-D4DXGA2W.js.map +1 -0
  15. package/dist/chunk-EMA2QJTW.js +2 -0
  16. package/dist/chunk-EMA2QJTW.js.map +1 -0
  17. package/dist/chunk-FN52YV7L.js +2 -0
  18. package/dist/chunk-FN52YV7L.js.map +1 -0
  19. package/dist/chunk-GWQNULP4.js +2 -0
  20. package/dist/chunk-GWQNULP4.js.map +1 -0
  21. package/dist/chunk-OELHBR4F.js +2 -0
  22. package/dist/chunk-OELHBR4F.js.map +1 -0
  23. package/dist/chunk-PV3X54EU.js +2 -0
  24. package/dist/chunk-PV3X54EU.js.map +1 -0
  25. package/dist/chunk-SD3INWZF.js +2 -0
  26. package/dist/chunk-SD3INWZF.js.map +1 -0
  27. package/dist/downloader/dl2-sw.js +1 -198
  28. package/dist/downloader/dl2-sw.js.map +1 -1
  29. package/dist/downloader/file-worker-v2.js +1 -257
  30. package/dist/downloader/file-worker-v2.js.map +1 -1
  31. package/dist/downloader/index.d.ts +18 -2
  32. package/dist/downloader/index.js +1 -537
  33. package/dist/downloader/index.js.map +1 -1
  34. package/dist/downloader/mu-worker-v2.js +1 -196
  35. package/dist/downloader/mu-worker-v2.js.map +1 -1
  36. package/dist/downloader/react.d.ts +1 -1
  37. package/dist/downloader/react.js +1 -31
  38. package/dist/downloader/react.js.map +1 -1
  39. package/dist/downloader/solid.d.ts +1 -1
  40. package/dist/downloader/solid.js +1 -18
  41. package/dist/downloader/solid.js.map +1 -1
  42. package/dist/downloader/sw.js +1 -118
  43. package/dist/downloader/sw.js.map +1 -1
  44. package/dist/downloader/vue.d.ts +1 -1
  45. package/dist/downloader/vue.js +1 -18
  46. package/dist/downloader/vue.js.map +1 -1
  47. package/dist/enriched-index-T0sDG7JR.d.ts +209 -0
  48. package/dist/global/public.global.js +68 -0
  49. package/dist/global/public.manifest.json +484 -0
  50. package/dist/level-state-DXqglpAX.d.ts +27 -0
  51. package/dist/models/astro.d.ts +4 -3
  52. package/dist/models/astro.js +1 -43
  53. package/dist/models/astro.js.map +1 -1
  54. package/dist/models/index.d.ts +449 -22
  55. package/dist/models/index.js +1 -339
  56. package/dist/models/index.js.map +1 -1
  57. package/dist/models/models.d.ts +196 -441
  58. package/dist/models/models.js +1 -45
  59. package/dist/models/patch-worker.js +1 -542
  60. package/dist/models/patch-worker.js.map +1 -1
  61. package/dist/models/react.d.ts +6 -5
  62. package/dist/models/react.js +1 -72
  63. package/dist/models/react.js.map +1 -1
  64. package/dist/models/solid.d.ts +16 -6
  65. package/dist/models/solid.js +1 -94
  66. package/dist/models/solid.js.map +1 -1
  67. package/dist/models/vue.d.ts +90 -7
  68. package/dist/models/vue.js +1 -97
  69. package/dist/models/vue.js.map +1 -1
  70. package/dist/orm-MJTHCG9E.d.ts +1003 -0
  71. package/dist/{session-vqOnyxga.d.ts → session-JudUKAV7.d.ts} +76 -74
  72. package/dist/{state-BTsp-E4v.d.ts → state-CkYavOSt.d.ts} +16 -0
  73. package/dist/{types-Dn0EFMO_.d.ts → types-B-IX3HBn.d.ts} +94 -21
  74. package/dist/{types-Xb8Ta9tZ.d.ts → types-Blyx2A7F.d.ts} +10 -36
  75. package/dist/web3/auth.d.ts +89 -0
  76. package/dist/web3/auth.js +13 -0
  77. package/dist/web3/auth.js.map +1 -0
  78. package/dist/web3/index.d.ts +1913 -126
  79. package/dist/web3/index.js +1 -1019
  80. package/dist/web3/index.js.map +1 -1
  81. package/dist/web3/network.d.ts +6 -0
  82. package/dist/web3/network.js +2 -0
  83. package/dist/web3/network.js.map +1 -0
  84. package/dist/web3/registry.d.ts +34 -9
  85. package/dist/web3/registry.js +1 -22
  86. package/dist/web3/vue.d.ts +31 -14
  87. package/dist/web3/vue.js +1 -390
  88. package/dist/web3/vue.js.map +1 -1
  89. package/package.json +23 -2
  90. package/dist/chunk-2HFOWE5R.js +0 -296
  91. package/dist/chunk-2HFOWE5R.js.map +0 -1
  92. package/dist/chunk-3L6LH2XK.js +0 -465
  93. package/dist/chunk-3L6LH2XK.js.map +0 -1
  94. package/dist/chunk-4CWVFPBN.js +0 -28
  95. package/dist/chunk-4CWVFPBN.js.map +0 -1
  96. package/dist/chunk-AGHPATVL.js +0 -65
  97. package/dist/chunk-AGHPATVL.js.map +0 -1
  98. package/dist/chunk-JDUYLUDJ.js +0 -4835
  99. package/dist/chunk-JDUYLUDJ.js.map +0 -1
  100. package/dist/chunk-OEZK7IX7.js +0 -77
  101. package/dist/chunk-OEZK7IX7.js.map +0 -1
  102. package/dist/chunk-PUYDAUCI.js +0 -2873
  103. package/dist/chunk-PUYDAUCI.js.map +0 -1
  104. package/dist/chunk-WHWMTS7D.js +0 -99
  105. package/dist/chunk-WHWMTS7D.js.map +0 -1
  106. package/dist/chunk-Y7RS6RTM.js +0 -342
  107. package/dist/chunk-Y7RS6RTM.js.map +0 -1
  108. package/dist/chunk-ZEZGI2TP.js +0 -197
  109. package/dist/chunk-ZEZGI2TP.js.map +0 -1
  110. package/dist/core-dao-core-logo-VDT2I5IW.svg +0 -33
  111. package/dist/level-state-J3pj64Tr.d.ts +0 -15
  112. package/dist/models/models_v2.global.js +0 -1
  113. package/dist/orm-BvkX0aBT.d.ts +0 -507
@@ -1,258 +1,2 @@
1
- // src/downloader/fetcher.ts
2
- var DEFAULT_GATEWAYS = [
3
- "https://arweave.net",
4
- "https://permagate.io",
5
- "https://ar-io.dev"
6
- ];
7
- function trackProgress(response, onProgress) {
8
- const reader = response.body.getReader();
9
- const total = response.headers.get("content-length") ? parseInt(response.headers.get("content-length"), 10) : void 0;
10
- let loaded = 0;
11
- const stream = new ReadableStream({
12
- async pull(controller) {
13
- const { done, value } = await reader.read();
14
- if (done) {
15
- controller.close();
16
- return;
17
- }
18
- loaded += value.byteLength;
19
- onProgress(loaded, total);
20
- controller.enqueue(value);
21
- },
22
- cancel(reason) {
23
- return reader.cancel(reason);
24
- }
25
- });
26
- return new Response(stream, response);
27
- }
28
- async function fetchFromGateways(txId, gateways2, onProgress) {
29
- let lastError;
30
- for (const gw of gateways2) {
31
- try {
32
- const url = `${gw}/${txId}`;
33
- const resp = await fetch(url, { mode: "cors" });
34
- if (resp.type === "opaque") {
35
- throw new Error(`[downloader_v2] opaque response for ${txId} \u2014 CORS not granted`);
36
- }
37
- if (!resp.ok) {
38
- throw new Error(`[downloader_v2] HTTP ${resp.status} from ${gw}`);
39
- }
40
- const tracked = trackProgress(resp, onProgress);
41
- const reader = tracked.body.getReader();
42
- const { done, value } = await reader.read();
43
- let finalStream;
44
- if (!value) {
45
- finalStream = new ReadableStream({
46
- start(controller) {
47
- controller.close();
48
- }
49
- });
50
- } else {
51
- const isGzip = value.length >= 2 && value[0] === 31 && value[1] === 139;
52
- const combinedStream = new ReadableStream({
53
- start(controller) {
54
- controller.enqueue(value);
55
- },
56
- async pull(controller) {
57
- const { done: done2, value: chunk } = await reader.read();
58
- if (done2) {
59
- controller.close();
60
- } else {
61
- controller.enqueue(chunk);
62
- }
63
- },
64
- cancel(reason) {
65
- return reader.cancel(reason);
66
- }
67
- });
68
- finalStream = isGzip ? combinedStream.pipeThrough(new DecompressionStream("gzip")) : combinedStream;
69
- }
70
- const headers = new Headers(tracked.headers);
71
- headers.set("X-DL2-Stored", (/* @__PURE__ */ new Date()).toISOString());
72
- headers.delete("content-length");
73
- headers.delete("content-encoding");
74
- return new Response(finalStream, { status: tracked.status, statusText: tracked.statusText, headers });
75
- } catch (err) {
76
- lastError = err;
77
- }
78
- }
79
- throw lastError ?? new Error(`[downloader_v2] all gateways failed for ${txId}`);
80
- }
81
-
82
- // src/downloader/keys.ts
83
- var CACHE_VERSION = 1;
84
- var CACHES = {
85
- pdf: `dl2-pdf-v${CACHE_VERSION}`,
86
- preview: `dl2-preview-v${CACHE_VERSION}`,
87
- pages: `dl2-pages-v${CACHE_VERSION}`
88
- };
89
- var arKey = (txId) => `/ar/${txId}`;
90
- var pdfKey = arKey;
91
- var previewKey = arKey;
92
-
93
- // src/downloader/cache-store.ts
94
- var openPdfCache = () => caches.open(CACHES.pdf);
95
- var openPreviewCache = () => caches.open(CACHES.preview);
96
- var putPdf = async (txId, response) => {
97
- const c = await openPdfCache();
98
- await c.put(pdfKey(txId), response);
99
- };
100
- var putPreview = async (txId, response) => {
101
- const c = await openPreviewCache();
102
- await c.put(previewKey(txId), response);
103
- };
104
- var deletePdf = async (txId) => {
105
- const c = await openPdfCache();
106
- return c.delete(pdfKey(txId));
107
- };
108
-
109
- // src/downloader/meta-db.ts
110
- var DB_NAME = "dl2_meta";
111
- var DB_VERSION = 1;
112
- var _db = null;
113
- var openMetaDb = () => {
114
- if (_db) return Promise.resolve(_db);
115
- return new Promise((resolve, reject) => {
116
- const req = indexedDB.open(DB_NAME, DB_VERSION);
117
- req.onupgradeneeded = (e) => {
118
- const db = e.target.result;
119
- if (!db.objectStoreNames.contains("book_data")) {
120
- db.createObjectStore("book_data", { keyPath: "txId" });
121
- }
122
- if (!db.objectStoreNames.contains("downloads")) {
123
- db.createObjectStore("downloads", { keyPath: "txId" });
124
- }
125
- if (!db.objectStoreNames.contains("migration_checkpoints")) {
126
- db.createObjectStore("migration_checkpoints", { keyPath: "cacheName" });
127
- }
128
- };
129
- req.onsuccess = (e) => {
130
- _db = e.target.result;
131
- resolve(_db);
132
- };
133
- req.onerror = () => reject(req.error);
134
- });
135
- };
136
- var idbPut = (store, value) => openMetaDb().then((db) => new Promise((resolve, reject) => {
137
- const tx = db.transaction(store, "readwrite");
138
- const req = tx.objectStore(store).put(value);
139
- req.onsuccess = () => resolve();
140
- req.onerror = () => reject(req.error);
141
- }));
142
- var idbDelete = (store, key) => openMetaDb().then((db) => new Promise((resolve, reject) => {
143
- const tx = db.transaction(store, "readwrite");
144
- const req = tx.objectStore(store).delete(key);
145
- req.onsuccess = () => resolve();
146
- req.onerror = () => reject(req.error);
147
- }));
148
- var idbGetAll = (store) => openMetaDb().then((db) => new Promise((resolve, reject) => {
149
- const tx = db.transaction(store, "readonly");
150
- const req = tx.objectStore(store).getAll();
151
- req.onsuccess = () => resolve(req.result);
152
- req.onerror = () => reject(req.error);
153
- }));
154
- var deleteBookData = (txId) => idbDelete("book_data", txId);
155
- var putDownloadRecord = (record) => idbPut("downloads", record);
156
- var getAllDownloadRecords = () => idbGetAll("downloads");
157
- var deleteDownloadRecord = (txId) => idbDelete("downloads", txId);
158
-
159
- // src/downloader/lru.ts
160
- var PRUNE_THRESHOLD = 0.8;
161
- var PRUNE_TARGET = 0.65;
162
- async function runLruPrune(onStart) {
163
- const estimate = await navigator.storage.estimate();
164
- const usage = estimate.usage ?? 0;
165
- const quota = estimate.quota ?? Infinity;
166
- if (usage / quota <= PRUNE_THRESHOLD) return null;
167
- const targetFree = usage - quota * PRUNE_TARGET;
168
- onStart?.(targetFree);
169
- const records = await getAllDownloadRecords();
170
- const pdfs = records.filter((r) => r.fileType === "pdf").sort((a, b) => a.lastAccessedAt - b.lastAccessedAt);
171
- let freedBytes = 0;
172
- let removed = 0;
173
- const prunedTxIds = [];
174
- for (const record of pdfs) {
175
- if (freedBytes >= targetFree) break;
176
- await deletePdf(record.txId);
177
- await deleteDownloadRecord(record.txId);
178
- await deleteBookData(record.txId);
179
- await prunePagesByTxId(record.txId);
180
- freedBytes += record.sizeBytes;
181
- removed++;
182
- prunedTxIds.push(record.txId);
183
- }
184
- return { removed, freedBytes, prunedTxIds };
185
- }
186
- async function runLruPruneAndEmit(postMsg) {
187
- const estimate = await navigator.storage.estimate();
188
- const usage = estimate.usage ?? 0;
189
- const quota = estimate.quota ?? Infinity;
190
- if (usage / quota <= PRUNE_THRESHOLD) return;
191
- const targetFree = usage - quota * PRUNE_TARGET;
192
- postMsg({ type: "StoragePruneStarted", targetFreeBytes: targetFree });
193
- const result = await runLruPrune();
194
- if (result) {
195
- postMsg({
196
- type: "StoragePruned",
197
- removed: result.removed,
198
- freedBytes: result.freedBytes,
199
- prunedTxIds: result.prunedTxIds
200
- });
201
- }
202
- }
203
- async function prunePagesByTxId(txId) {
204
- const cache = await caches.open(CACHES.pages);
205
- const keys = await cache.keys();
206
- const prefix = `/pages/${encodeURIComponent(txId)}/`;
207
- await Promise.all(
208
- keys.filter((r) => r.url.includes(prefix)).map((r) => cache.delete(r))
209
- );
210
- }
211
-
212
- // src/downloader/worker/file-worker.ts
213
- var gateways = DEFAULT_GATEWAYS;
214
- function post(msg) {
215
- self.postMessage(msg);
216
- }
217
- async function handleGetFile(txId, mime) {
218
- try {
219
- const response = await fetchFromGateways(txId, gateways, (loaded, total) => {
220
- post({ type: "DownloadProgress", txId, loaded, total });
221
- });
222
- const ct = mime === "pdf" ? "application/pdf" : response.headers.get("content-type") || "application/octet-stream";
223
- const buffer = await response.arrayBuffer();
224
- const sizeBytes = buffer.byteLength;
225
- const headers = new Headers(response.headers);
226
- headers.set("Content-Type", ct);
227
- headers.set("Content-Length", String(sizeBytes));
228
- headers.set("X-DL2-Stored", (/* @__PURE__ */ new Date()).toISOString());
229
- const cloned = new Response(buffer, { status: response.status, headers });
230
- if (mime === "pdf") {
231
- await putPdf(txId, cloned);
232
- } else {
233
- await putPreview(txId, cloned);
234
- }
235
- await putDownloadRecord({
236
- txId,
237
- fileType: mime,
238
- sizeBytes,
239
- downloadedAt: Date.now(),
240
- lastAccessedAt: Date.now()
241
- });
242
- post({ type: "DownloadFinished", txId, key: txId, mime });
243
- post({ type: "FileRpcResponse", ok: true, key: `${txId}:${mime}` });
244
- await runLruPruneAndEmit(post);
245
- } catch (err) {
246
- const msg = err instanceof Error ? err.message : String(err);
247
- post({ type: "DownloadError", txId, error: msg, retryable: true });
248
- post({ type: "FileRpcResponse", ok: false, key: `${txId}:${mime}`, error: msg });
249
- }
250
- }
251
- self.onmessage = (e) => {
252
- const cmd = e.data;
253
- if (cmd.type === "GetFile") {
254
- handleGetFile(cmd.txId, cmd.mime);
255
- } else if (cmd.type === "CancelDownload") {
256
- }
257
- };
1
+ var b=["https://arweave.net","https://permagate.io","https://ar-io.dev"];function M(e,t){let o=e.body.getReader(),n=e.headers.get("content-length")?parseInt(e.headers.get("content-length"),10):void 0,r=0,c=new ReadableStream({async pull(s){let{done:i,value:d}=await o.read();if(i){s.close();return}r+=d.byteLength,t(r,n),s.enqueue(d)},cancel(s){return o.cancel(s)}});return new Response(c,e)}async function k(e,t,o){let n;for(let r of t)try{let c=`${r}/${e}`,s=await fetch(c,{mode:"cors"});if(s.type==="opaque")throw new Error(`[downloader_v2] opaque response for ${e} \u2014 CORS not granted`);if(!s.ok)throw new Error(`[downloader_v2] HTTP ${s.status} from ${r}`);let i=M(s,o),d=i.body.getReader(),{done:u,value:a}=await d.read(),m;if(!a)m=new ReadableStream({start(y){y.close()}});else{let y=a.length>=2&&a[0]===31&&a[1]===139,P=new ReadableStream({start(p){p.enqueue(a)},async pull(p){let{done:F,value:L}=await d.read();F?p.close():p.enqueue(L)},cancel(p){return d.cancel(p)}});m=y?P.pipeThrough(new DecompressionStream("gzip")):P}let w=new Headers(i.headers);return w.set("X-DL2-Stored",new Date().toISOString()),w.delete("content-length"),w.delete("content-encoding"),new Response(m,{status:i.status,statusText:i.statusText,headers:w})}catch(c){n=c}throw n??new Error(`[downloader_v2] all gateways failed for ${e}`)}var g={pdf:"dl2-pdf-v1",preview:"dl2-preview-v1",pages:"dl2-pages-v1"};var R=e=>`/ar/${e}`,x=R,D=R;var v=()=>caches.open(g.pdf),H=()=>caches.open(g.preview);var S=async(e,t)=>{await(await v()).put(x(e),t)},E=async(e,t)=>{await(await H()).put(D(e),t)};var _=async e=>(await v()).delete(x(e));var W="dl2_meta";var f=null,h=()=>f?Promise.resolve(f):new Promise((e,t)=>{let o=indexedDB.open(W,1);o.onupgradeneeded=n=>{let r=n.target.result;r.objectStoreNames.contains("book_data")||r.createObjectStore("book_data",{keyPath:"txId"}),r.objectStoreNames.contains("downloads")||r.createObjectStore("downloads",{keyPath:"txId"}),r.objectStoreNames.contains("migration_checkpoints")||r.createObjectStore("migration_checkpoints",{keyPath:"cacheName"})},o.onsuccess=n=>{f=n.target.result,e(f)},o.onerror=()=>t(o.error)});var K=(e,t)=>h().then(o=>new Promise((n,r)=>{let s=o.transaction(e,"readwrite").objectStore(e).put(t);s.onsuccess=()=>n(),s.onerror=()=>r(s.error)})),A=(e,t)=>h().then(o=>new Promise((n,r)=>{let s=o.transaction(e,"readwrite").objectStore(e).delete(t);s.onsuccess=()=>n(),s.onerror=()=>r(s.error)})),j=e=>h().then(t=>new Promise((o,n)=>{let c=t.transaction(e,"readonly").objectStore(e).getAll();c.onsuccess=()=>o(c.result),c.onerror=()=>n(c.error)}));var I=e=>A("book_data",e);var B=e=>K("downloads",e),T=()=>j("downloads"),C=e=>A("downloads",e);var G=.8,U=.65,q=new Set;function N(e){q=new Set(e)}async function V(e){let t=await navigator.storage.estimate(),o=t.usage??0,n=t.quota??1/0;if(o/n<=G)return null;let r=o-n*U;e?.(r);let s=(await T()).filter(a=>a.fileType==="pdf"&&!q.has(a.txId)).sort((a,m)=>a.lastAccessedAt-m.lastAccessedAt),i=0,d=0,u=[];for(let a of s){if(i>=r)break;await _(a.txId),await C(a.txId),await I(a.txId),await z(a.txId),i+=a.sizeBytes,d++,u.push(a.txId)}return{removed:d,freedBytes:i,prunedTxIds:u}}async function O(e){let t=await V(o=>{e({type:"StoragePruneStarted",targetFreeBytes:o})});t&&e({type:"StoragePruned",removed:t.removed,freedBytes:t.freedBytes,prunedTxIds:t.prunedTxIds})}async function z(e){let t=await caches.open(g.pages),o=await t.keys(),n=`/pages/${encodeURIComponent(e)}/`;await Promise.all(o.filter(r=>r.url.includes(n)).map(r=>t.delete(r)))}var $=b;function l(e){self.postMessage(e)}async function X(e,t){try{let o=await k(e,$,(d,u)=>{l({type:"DownloadProgress",txId:e,loaded:d,total:u})}),n=t==="pdf"?"application/pdf":o.headers.get("content-type")||"application/octet-stream",r=await o.arrayBuffer(),c=r.byteLength,s=new Headers(o.headers);s.set("Content-Type",n),s.set("Content-Length",String(c)),s.set("X-DL2-Stored",new Date().toISOString());let i=new Response(r,{status:o.status,headers:s});t==="pdf"?await S(e,i):await E(e,i),await B({txId:e,fileType:t,sizeBytes:c,downloadedAt:Date.now(),lastAccessedAt:Date.now()}),l({type:"DownloadFinished",txId:e,key:e,mime:t}),l({type:"FileRpcResponse",ok:!0,key:`${e}:${t}`}),await O(l)}catch(o){let n=o instanceof Error?o.message:String(o),r=o instanceof DOMException&&o.name==="QuotaExceededError";l({type:"DownloadError",txId:e,error:n,retryable:!r,quotaExceeded:r}),l({type:"FileRpcResponse",ok:!1,key:`${e}:${t}`,error:n,quotaExceeded:r})}}self.onmessage=e=>{let t=e.data;t.type==="FileInit"?t.gateways.length>0&&($=t.gateways):t.type==="PinTxIds"?N(t.txIds):t.type==="GetFile"?X(t.txId,t.mime):t.type};
258
2
  //# sourceMappingURL=file-worker-v2.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/downloader/fetcher.ts","../../src/downloader/keys.ts","../../src/downloader/cache-store.ts","../../src/downloader/meta-db.ts","../../src/downloader/lru.ts","../../src/downloader/worker/file-worker.ts"],"mappings":";AAgBO,IAAM,mBAAmB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AACJ;AAGO,SAAS,cACZ,UACA,YACQ;AACR,QAAM,SAAU,SAAS,KAAM,UAAU;AACzC,QAAM,QAAU,SAAS,QAAQ,IAAI,gBAAgB,IAC/C,SAAS,SAAS,QAAQ,IAAI,gBAAgB,GAAI,EAAE,IACpD;AACN,MAAI,SAAS;AACb,QAAM,SAAS,IAAI,eAAe;AAAA,IAC9B,MAAM,KAAK,YAAY;AACnB,YAAM,EAAE,MAAM,MAAM,IAAI,MAAM,OAAO,KAAK;AAC1C,UAAI,MAAM;AAAE,mBAAW,MAAM;AAAG;AAAA,MAAQ;AACxC,gBAAU,MAAM;AAChB,iBAAW,QAAQ,KAAK;AACxB,iBAAW,QAAQ,KAAK;AAAA,IAC5B;AAAA,IACA,OAAO,QAAQ;AAAE,aAAO,OAAO,OAAO,MAAM;AAAA,IAAG;AAAA,EACnD,CAAC;AACD,SAAO,IAAI,SAAS,QAAQ,QAAQ;AACxC;AAEA,eAAsB,kBAClB,MACAA,WACA,YACiB;AACjB,MAAI;AACJ,aAAW,MAAMA,WAAU;AACvB,QAAI;AACA,YAAM,MAAO,GAAG,EAAE,IAAI,IAAI;AAC1B,YAAM,OAAO,MAAM,MAAM,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9C,UAAI,KAAK,SAAS,UAAU;AACxB,cAAM,IAAI,MAAM,uCAAuC,IAAI,0BAAqB;AAAA,MACpF;AACA,UAAI,CAAC,KAAK,IAAI;AACV,cAAM,IAAI,MAAM,wBAAwB,KAAK,MAAM,SAAS,EAAE,EAAE;AAAA,MACpE;AACA,YAAM,UAAU,cAAc,MAAM,UAAU;AAE9C,YAAM,SAAS,QAAQ,KAAM,UAAU;AACvC,YAAM,EAAE,MAAM,MAAM,IAAI,MAAM,OAAO,KAAK;AAE1C,UAAI;AACJ,UAAI,CAAC,OAAO;AACR,sBAAc,IAAI,eAAe;AAAA,UAC7B,MAAM,YAAY;AAAE,uBAAW,MAAM;AAAA,UAAG;AAAA,QAC5C,CAAC;AAAA,MACL,OAAO;AACH,cAAM,SAAS,MAAM,UAAU,KAAK,MAAM,CAAC,MAAM,MAAQ,MAAM,CAAC,MAAM;AAEtE,cAAM,iBAAiB,IAAI,eAAe;AAAA,UACtC,MAAM,YAAY;AACd,uBAAW,QAAQ,KAAK;AAAA,UAC5B;AAAA,UACA,MAAM,KAAK,YAAY;AACnB,kBAAM,EAAE,MAAAC,OAAM,OAAO,MAAM,IAAI,MAAM,OAAO,KAAK;AACjD,gBAAIA,OAAM;AACN,yBAAW,MAAM;AAAA,YACrB,OAAO;AACH,yBAAW,QAAQ,KAAK;AAAA,YAC5B;AAAA,UACJ;AAAA,UACA,OAAO,QAAQ;AACX,mBAAO,OAAO,OAAO,MAAM;AAAA,UAC/B;AAAA,QACJ,CAAC;AAED,sBAAc,SAAS,eAAe,YAAY,IAAI,oBAAoB,MAAM,CAAC,IAAI;AAAA,MACzF;AAGA,YAAM,UAAU,IAAI,QAAQ,QAAQ,OAAO;AAC3C,cAAQ,IAAI,iBAAgB,oBAAI,KAAK,GAAE,YAAY,CAAC;AACpD,cAAQ,OAAO,gBAAgB;AAC/B,cAAQ,OAAO,kBAAkB;AAEjC,aAAO,IAAI,SAAS,aAAa,EAAE,QAAQ,QAAQ,QAAQ,YAAY,QAAQ,YAAY,QAAQ,CAAC;AAAA,IACxG,SAAS,KAAK;AACV,kBAAY;AAAA,IAChB;AAAA,EACJ;AACA,QAAM,aAAa,IAAI,MAAM,2CAA2C,IAAI,EAAE;AAClF;;;AC3FO,IAAM,gBAAgB;AAEtB,IAAM,SAAS;AAAA,EAClB,KAAS,YAAY,aAAa;AAAA,EAClC,SAAS,gBAAgB,aAAa;AAAA,EACtC,OAAS,cAAc,aAAa;AACxC;AAOA,IAAM,QAAQ,CAAC,SAAyB,OAAO,IAAI;AAC5C,IAAM,SAAa;AACnB,IAAM,aAAa;;;ACdnB,IAAM,eAAmB,MAAM,OAAO,KAAK,OAAO,GAAG;AACrD,IAAM,mBAAmB,MAAM,OAAO,KAAK,OAAO,OAAO;AAkBzD,IAAM,SAAS,OAAO,MAAc,aAAsC;AAC7E,QAAM,IAAI,MAAM,aAAa;AAC7B,QAAM,EAAE,IAAI,OAAO,IAAI,GAAG,QAAQ;AACtC;AAEO,IAAM,aAAa,OAAO,MAAc,aAAsC;AACjF,QAAM,IAAI,MAAM,iBAAiB;AACjC,QAAM,EAAE,IAAI,WAAW,IAAI,GAAG,QAAQ;AAC1C;AAOO,IAAM,YAAY,OAAO,SAAmC;AAC/D,QAAM,IAAI,MAAM,aAAa;AAC7B,SAAO,EAAE,OAAO,OAAO,IAAI,CAAC;AAChC;;;ACxBA,IAAM,UAAa;AACnB,IAAM,aAAa;AAEnB,IAAI,MAA0B;AAEvB,IAAM,aAAa,MAA4B;AAClD,MAAI,IAAK,QAAO,QAAQ,QAAQ,GAAG;AACnC,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACpC,UAAM,MAAM,UAAU,KAAK,SAAS,UAAU;AAC9C,QAAI,kBAAkB,CAAC,MAAM;AACzB,YAAM,KAAM,EAAE,OAA4B;AAC1C,UAAI,CAAC,GAAG,iBAAiB,SAAS,WAAW,GAAG;AAC5C,WAAG,kBAAkB,aAAa,EAAE,SAAS,OAAO,CAAC;AAAA,MACzD;AACA,UAAI,CAAC,GAAG,iBAAiB,SAAS,WAAW,GAAG;AAC5C,WAAG,kBAAkB,aAAa,EAAE,SAAS,OAAO,CAAC;AAAA,MACzD;AACA,UAAI,CAAC,GAAG,iBAAiB,SAAS,uBAAuB,GAAG;AACxD,WAAG,kBAAkB,yBAAyB,EAAE,SAAS,YAAY,CAAC;AAAA,MAC1E;AAAA,IACJ;AACA,QAAI,YAAY,CAAC,MAAM;AACnB,YAAO,EAAE,OAA4B;AACrC,cAAQ,GAAI;AAAA,IAChB;AACA,QAAI,UAAU,MAAM,OAAO,IAAI,KAAK;AAAA,EACxC,CAAC;AACL;AAUA,IAAM,SAAS,CAAC,OAAe,UAC3B,WAAW,EAAE,KAAK,QAAM,IAAI,QAAQ,CAAC,SAAS,WAAW;AACrD,QAAM,KAAM,GAAG,YAAY,OAAO,WAAW;AAC7C,QAAM,MAAM,GAAG,YAAY,KAAK,EAAE,IAAI,KAAK;AAC3C,MAAI,YAAY,MAAM,QAAQ;AAC9B,MAAI,UAAY,MAAM,OAAO,IAAI,KAAK;AAC1C,CAAC,CAAC;AAEN,IAAM,YAAY,CAAC,OAAe,QAC9B,WAAW,EAAE,KAAK,QAAM,IAAI,QAAQ,CAAC,SAAS,WAAW;AACrD,QAAM,KAAM,GAAG,YAAY,OAAO,WAAW;AAC7C,QAAM,MAAM,GAAG,YAAY,KAAK,EAAE,OAAO,GAAG;AAC5C,MAAI,YAAY,MAAM,QAAQ;AAC9B,MAAI,UAAY,MAAM,OAAO,IAAI,KAAK;AAC1C,CAAC,CAAC;AAEN,IAAM,YAAY,CAAI,UAClB,WAAW,EAAE,KAAK,QAAM,IAAI,QAAQ,CAAC,SAAS,WAAW;AACrD,QAAM,KAAM,GAAG,YAAY,OAAO,UAAU;AAC5C,QAAM,MAAM,GAAG,YAAY,KAAK,EAAE,OAAO;AACzC,MAAI,YAAY,MAAM,QAAQ,IAAI,MAAa;AAC/C,MAAI,UAAY,MAAM,OAAO,IAAI,KAAK;AAC1C,CAAC,CAAC;AAKC,IAAM,iBAAmB,CAAC,SAAiB,UAAU,aAAa,IAAI;AAGtE,IAAM,oBAAuB,CAAC,WAA2B,OAAO,aAAa,MAAM;AACnF,IAAM,wBAAwB,MAAM,UAA0B,WAAW;AACzE,IAAM,uBAAuB,CAAC,SAAiB,UAAU,aAAa,IAAI;;;AC/EjF,IAAM,kBAAmB;AACzB,IAAM,eAAmB;AAQzB,eAAsB,YAClB,SAC2B;AAC3B,QAAM,WAAW,MAAM,UAAU,QAAQ,SAAS;AAClD,QAAM,QAAW,SAAS,SAAS;AACnC,QAAM,QAAW,SAAS,SAAS;AAEnC,MAAI,QAAQ,SAAS,gBAAiB,QAAO;AAE7C,QAAM,aAAa,QAAQ,QAAQ;AACnC,YAAU,UAAU;AAEpB,QAAM,UAAU,MAAM,sBAAsB;AAE5C,QAAM,OAAO,QACR,OAAO,OAAK,EAAE,aAAa,KAAK,EAChC,KAAK,CAAC,GAAG,MAAM,EAAE,iBAAiB,EAAE,cAAc;AAEvD,MAAI,aAAa;AACjB,MAAI,UAAa;AACjB,QAAM,cAAwB,CAAC;AAE/B,aAAW,UAAU,MAAM;AACvB,QAAI,cAAc,WAAY;AAC9B,UAAM,UAAU,OAAO,IAAI;AAC3B,UAAM,qBAAqB,OAAO,IAAI;AACtC,UAAM,eAAe,OAAO,IAAI;AAChC,UAAM,iBAAiB,OAAO,IAAI;AAClC,kBAAc,OAAO;AACrB;AACA,gBAAY,KAAK,OAAO,IAAI;AAAA,EAChC;AAEA,SAAO,EAAE,SAAS,YAAY,YAAY;AAC9C;AAGA,eAAsB,mBAClB,SACa;AACb,QAAM,WAAW,MAAM,UAAU,QAAQ,SAAS;AAClD,QAAM,QAAW,SAAS,SAAS;AACnC,QAAM,QAAW,SAAS,SAAS;AACnC,MAAI,QAAQ,SAAS,gBAAiB;AAEtC,QAAM,aAAa,QAAQ,QAAQ;AACnC,UAAQ,EAAE,MAAM,uBAAuB,iBAAiB,WAAW,CAAC;AAEpE,QAAM,SAAS,MAAM,YAAY;AACjC,MAAI,QAAQ;AACR,YAAQ;AAAA,MACJ,MAAa;AAAA,MACb,SAAa,OAAO;AAAA,MACpB,YAAa,OAAO;AAAA,MACpB,aAAa,OAAO;AAAA,IACxB,CAAC;AAAA,EACL;AACJ;AAGA,eAAsB,iBAAiB,MAA6B;AAChE,QAAM,QAAQ,MAAM,OAAO,KAAK,OAAO,KAAK;AAC5C,QAAM,OAAQ,MAAM,MAAM,KAAK;AAC/B,QAAM,SAAS,UAAU,mBAAmB,IAAI,CAAC;AACjD,QAAM,QAAQ;AAAA,IACV,KACK,OAAO,OAAK,EAAE,IAAI,SAAS,MAAM,CAAC,EAClC,IAAI,OAAM,MAAM,OAAO,CAAC,CAAC;AAAA,EAClC;AACJ;;;AC5EA,IAAI,WAAW;AAEf,SAAS,KAAK,KAA0B;AACpC,EAAC,KAA2B,YAAY,GAAG;AAC/C;AAEA,eAAe,cAAc,MAAc,MAAwC;AAC/E,MAAI;AACA,UAAM,WAAW,MAAM,kBAAkB,MAAM,UAAU,CAAC,QAAQ,UAAU;AACxE,WAAK,EAAE,MAAM,oBAAoB,MAAM,QAAQ,MAAM,CAAC;AAAA,IAC1D,CAAC;AAGD,UAAM,KAAK,SAAS,QACd,oBACC,SAAS,QAAQ,IAAI,cAAc,KAAK;AAK/C,UAAM,SAAS,MAAM,SAAS,YAAY;AAC1C,UAAM,YAAY,OAAO;AAGzB,UAAM,UAAU,IAAI,QAAQ,SAAS,OAAO;AAC5C,YAAQ,IAAI,gBAAgB,EAAE;AAC9B,YAAQ,IAAI,kBAAkB,OAAO,SAAS,CAAC;AAC/C,YAAQ,IAAI,iBAAgB,oBAAI,KAAK,GAAE,YAAY,CAAC;AACpD,UAAM,SAAS,IAAI,SAAS,QAAQ,EAAE,QAAQ,SAAS,QAAQ,QAAQ,CAAC;AAExE,QAAI,SAAS,OAAO;AAChB,YAAM,OAAO,MAAM,MAAM;AAAA,IAC7B,OAAO;AACH,YAAM,WAAW,MAAM,MAAM;AAAA,IACjC;AAGA,UAAM,kBAAkB;AAAA,MACpB;AAAA,MACA,UAAgB;AAAA,MAChB;AAAA,MACA,cAAgB,KAAK,IAAI;AAAA,MACzB,gBAAgB,KAAK,IAAI;AAAA,IAC7B,CAAC;AAED,SAAK,EAAE,MAAM,oBAAoB,MAAM,KAAK,MAAM,KAAK,CAAC;AAKxD,SAAK,EAAE,MAAM,mBAAmB,IAAI,MAAM,KAAK,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC;AAGlE,UAAM,mBAAmB,IAAI;AAAA,EACjC,SAAS,KAAc;AACnB,UAAM,MAAM,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAC3D,SAAK,EAAE,MAAM,iBAAiB,MAAM,OAAO,KAAK,WAAW,KAAK,CAAC;AACjE,SAAK,EAAE,MAAM,mBAAmB,IAAI,OAAO,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC;AAAA,EACnF;AACJ;AAEC,KAA2B,YAAY,CAAC,MAAmC;AACxE,QAAM,MAAM,EAAE;AACd,MAAI,IAAI,SAAS,WAAW;AACxB,kBAAc,IAAI,MAAM,IAAI,IAAI;AAAA,EACpC,WAAW,IAAI,SAAS,kBAAkB;AAAA,EAE1C;AAEJ;","names":["gateways","done"]}
1
+ {"version":3,"sources":["../../src/downloader/fetcher.ts","../../src/downloader/keys.ts","../../src/downloader/cache-store.ts","../../src/downloader/meta-db.ts","../../src/downloader/lru.ts","../../src/downloader/worker/file-worker.ts"],"mappings":"AAmGO,IAAMA,EAAmB,CAC5B,sBACA,uBACA,mBACJ,EAGO,SAASC,EACZC,EACAC,EACQ,CACR,IAAMC,EAAUF,EAAS,KAAM,UAAU,EACnCG,EAAUH,EAAS,QAAQ,IAAI,gBAAgB,EAC/C,SAASA,EAAS,QAAQ,IAAI,gBAAgB,EAAI,EAAE,EACpD,OACFI,EAAS,EACPC,EAAS,IAAI,eAAe,CAC9B,MAAM,KAAKC,EAAY,CACnB,GAAM,CAAE,KAAAC,EAAM,MAAAC,CAAM,EAAI,MAAMN,EAAO,KAAK,EAC1C,GAAIK,EAAM,CAAED,EAAW,MAAM,EAAG,MAAQ,CACxCF,GAAUI,EAAM,WAChBP,EAAWG,EAAQD,CAAK,EACxBG,EAAW,QAAQE,CAAK,CAC5B,EACA,OAAOC,EAAQ,CAAE,OAAOP,EAAO,OAAOO,CAAM,CAAG,CACnD,CAAC,EACD,OAAO,IAAI,SAASJ,EAAQL,CAAQ,CACxC,CAEA,eAAsBU,EAClBC,EACAC,EACAX,EACiB,CACjB,IAAIY,EACJ,QAAWC,KAAMF,EACb,GAAI,CACA,IAAMG,EAAO,GAAGD,CAAE,IAAIH,CAAI,GACpBK,EAAO,MAAM,MAAMD,EAAK,CAAE,KAAM,MAAO,CAAC,EAE9C,GAAIC,EAAK,OAAS,SACd,MAAM,IAAI,MAAM,uCAAuCL,CAAI,0BAAqB,EAEpF,GAAI,CAACK,EAAK,GACN,MAAM,IAAI,MAAM,wBAAwBA,EAAK,MAAM,SAASF,CAAE,EAAE,EAEpE,IAAMG,EAAUlB,EAAciB,EAAMf,CAAU,EAExCC,EAASe,EAAQ,KAAM,UAAU,EACjC,CAAE,KAAAV,EAAM,MAAAC,CAAM,EAAI,MAAMN,EAAO,KAAK,EAEtCgB,EACJ,GAAI,CAACV,EACDU,EAAc,IAAI,eAAe,CAC7B,MAAMZ,EAAY,CAAEA,EAAW,MAAM,CAAG,CAC5C,CAAC,MACE,CACH,IAAMa,EAASX,EAAM,QAAU,GAAKA,EAAM,CAAC,IAAM,IAAQA,EAAM,CAAC,IAAM,IAEhEY,EAAiB,IAAI,eAAe,CACtC,MAAMd,EAAY,CACdA,EAAW,QAAQE,CAAK,CAC5B,EACA,MAAM,KAAKF,EAAY,CACnB,GAAM,CAAE,KAAAC,EAAM,MAAOc,CAAM,EAAI,MAAMnB,EAAO,KAAK,EAC7CK,EACAD,EAAW,MAAM,EAEjBA,EAAW,QAAQe,CAAK,CAEhC,EACA,OAAOZ,EAAQ,CACX,OAAOP,EAAO,OAAOO,CAAM,CAC/B,CACJ,CAAC,EAEDS,EAAcC,EAASC,EAAe,YAAY,IAAI,oBAAoB,MAAM,CAAC,EAAIA,CACzF,CAGA,IAAME,EAAU,IAAI,QAAQL,EAAQ,OAAO,EAC3C,OAAAK,EAAQ,IAAI,eAAgB,IAAI,KAAK,EAAE,YAAY,CAAC,EACpDA,EAAQ,OAAO,gBAAgB,EAC/BA,EAAQ,OAAO,kBAAkB,EAE1B,IAAI,SAASJ,EAAa,CAAE,OAAQD,EAAQ,OAAQ,WAAYA,EAAQ,WAAY,QAAAK,CAAQ,CAAC,CACxG,OAASC,EAAK,CACVV,EAAYU,CAChB,CAEJ,MAAMV,GAAa,IAAI,MAAM,2CAA2CF,CAAI,EAAE,CAClF,CCzFO,IAAMa,EAAS,CAClB,IAAS,aACT,QAAS,iBACT,MAAS,cACb,EAOA,IAAMC,EAASC,GAAyB,OAAOA,CAAI,GACtCC,EAAaF,EACbG,EAAaH,ECdnB,IAAMI,EAAmB,IAAM,OAAO,KAAKC,EAAO,GAAG,EAC/CC,EAAmB,IAAM,OAAO,KAAKD,EAAO,OAAO,EAkBzD,IAAME,EAAS,MAAOC,EAAcC,IAAsC,CAE7E,MADU,MAAMC,EAAa,GACrB,IAAIC,EAAOH,CAAI,EAAGC,CAAQ,CACtC,EAEaG,EAAa,MAAOJ,EAAcC,IAAsC,CAEjF,MADU,MAAMI,EAAiB,GACzB,IAAIC,EAAWN,CAAI,EAAGC,CAAQ,CAC1C,EAOO,IAAMM,EAAY,MAAOC,IAClB,MAAMC,EAAa,GACpB,OAAOC,EAAOF,CAAI,CAAC,ECvBhC,IAAMG,EAAa,WAGnB,IAAIC,EAA0B,KAEjBC,EAAa,IAClBD,EAAY,QAAQ,QAAQA,CAAG,EAC5B,IAAI,QAAQ,CAACE,EAASC,IAAW,CACpC,IAAMC,EAAM,UAAU,KAAKC,EAAS,CAAU,EAC9CD,EAAI,gBAAmBE,GAAM,CACzB,IAAMC,EAAMD,EAAE,OAA4B,OACrCC,EAAG,iBAAiB,SAAS,WAAW,GACzCA,EAAG,kBAAkB,YAAa,CAAE,QAAS,MAAO,CAAC,EAEpDA,EAAG,iBAAiB,SAAS,WAAW,GACzCA,EAAG,kBAAkB,YAAa,CAAE,QAAS,MAAO,CAAC,EAEpDA,EAAG,iBAAiB,SAAS,uBAAuB,GACrDA,EAAG,kBAAkB,wBAAyB,CAAE,QAAS,WAAY,CAAC,CAE9E,EACAH,EAAI,UAAaE,GAAM,CACnBN,EAAOM,EAAE,OAA4B,OACrCJ,EAAQF,CAAI,CAChB,EACAI,EAAI,QAAU,IAAMD,EAAOC,EAAI,KAAK,CACxC,CAAC,EAWL,IAAMI,EAAS,CAACC,EAAeC,IAC3BC,EAAW,EAAE,KAAKC,GAAM,IAAI,QAAQ,CAACC,EAASC,IAAW,CAErD,IAAMC,EADMH,EAAG,YAAYH,EAAO,WAAW,EAC9B,YAAYA,CAAK,EAAE,IAAIC,CAAK,EAC3CK,EAAI,UAAY,IAAMF,EAAQ,EAC9BE,EAAI,QAAY,IAAMD,EAAOC,EAAI,KAAK,CAC1C,CAAC,CAAC,EAEAC,EAAY,CAACP,EAAeQ,IAC9BN,EAAW,EAAE,KAAKC,GAAM,IAAI,QAAQ,CAACC,EAASC,IAAW,CAErD,IAAMC,EADMH,EAAG,YAAYH,EAAO,WAAW,EAC9B,YAAYA,CAAK,EAAE,OAAOQ,CAAG,EAC5CF,EAAI,UAAY,IAAMF,EAAQ,EAC9BE,EAAI,QAAY,IAAMD,EAAOC,EAAI,KAAK,CAC1C,CAAC,CAAC,EAEAG,EAAgBT,GAClBE,EAAW,EAAE,KAAKC,GAAM,IAAI,QAAQ,CAACC,EAASC,IAAW,CAErD,IAAMC,EADMH,EAAG,YAAYH,EAAO,UAAU,EAC7B,YAAYA,CAAK,EAAE,OAAO,EACzCM,EAAI,UAAY,IAAMF,EAAQE,EAAI,MAAa,EAC/CA,EAAI,QAAY,IAAMD,EAAOC,EAAI,KAAK,CAC1C,CAAC,CAAC,EAKC,IAAMI,EAAoBC,GAAiBC,EAAU,YAAaD,CAAI,EAGtE,IAAME,EAAwBC,GAA2BC,EAAO,YAAaD,CAAM,EAC7EE,EAAwB,IAAMC,EAA0B,WAAW,EACnEC,EAAwBC,GAAiBC,EAAU,YAAaD,CAAI,EC/EjF,IAAME,EAAmB,GACnBC,EAAmB,IAMrBC,EAAe,IAAI,IAEhB,SAASC,EAAeC,EAAuB,CAClDF,EAAe,IAAI,IAAIE,CAAK,CAChC,CAQA,eAAsBC,EAClBC,EAC2B,CAC3B,IAAMC,EAAW,MAAM,UAAU,QAAQ,SAAS,EAC5CC,EAAWD,EAAS,OAAS,EAC7BE,EAAWF,EAAS,OAAS,IAEnC,GAAIC,EAAQC,GAAST,EAAiB,OAAO,KAE7C,IAAMU,EAAaF,EAAQC,EAAQR,EACnCK,IAAUI,CAAU,EAKpB,IAAMC,GAHU,MAAMC,EAAsB,GAIvC,OAAOC,GAAKA,EAAE,WAAa,OAAS,CAACX,EAAa,IAAIW,EAAE,IAAI,CAAC,EAC7D,KAAK,CAAC,EAAGC,IAAM,EAAE,eAAiBA,EAAE,cAAc,EAEnDC,EAAa,EACbC,EAAa,EACXC,EAAwB,CAAC,EAE/B,QAAWC,KAAUP,EAAM,CACvB,GAAII,GAAcL,EAAY,MAC9B,MAAMS,EAAUD,EAAO,IAAI,EAC3B,MAAME,EAAqBF,EAAO,IAAI,EACtC,MAAMG,EAAeH,EAAO,IAAI,EAChC,MAAMI,EAAiBJ,EAAO,IAAI,EAClCH,GAAcG,EAAO,UACrBF,IACAC,EAAY,KAAKC,EAAO,IAAI,CAChC,CAEA,MAAO,CAAE,QAAAF,EAAS,WAAAD,EAAY,YAAAE,CAAY,CAC9C,CAQA,eAAsBM,EAClBC,EACa,CACb,IAAMC,EAAS,MAAMpB,EAAaK,GAAe,CAC7Cc,EAAQ,CAAE,KAAM,sBAAuB,gBAAiBd,CAAW,CAAC,CACxE,CAAC,EACGe,GACAD,EAAQ,CACJ,KAAa,gBACb,QAAaC,EAAO,QACpB,WAAaA,EAAO,WACpB,YAAaA,EAAO,WACxB,CAAC,CAET,CAGA,eAAsBH,EAAiBI,EAA6B,CAChE,IAAMC,EAAQ,MAAM,OAAO,KAAKC,EAAO,KAAK,EACtCC,EAAQ,MAAMF,EAAM,KAAK,EACzBG,EAAS,UAAU,mBAAmBJ,CAAI,CAAC,IACjD,MAAM,QAAQ,IACVG,EACK,OAAO,GAAK,EAAE,IAAI,SAASC,CAAM,CAAC,EAClC,IAAI,GAAMH,EAAM,OAAO,CAAC,CAAC,CAClC,CACJ,CCrFA,IAAII,EAAWC,EAEf,SAASC,EAAKC,EAA0B,CACnC,KAA2B,YAAYA,CAAG,CAC/C,CAEA,eAAeC,EAAcC,EAAcC,EAAwC,CAC/E,GAAI,CACA,IAAMC,EAAW,MAAMC,EAAkBH,EAAML,EAAU,CAACS,EAAQC,IAAU,CACxER,EAAK,CAAE,KAAM,mBAAoB,KAAAG,EAAM,OAAAI,EAAQ,MAAAC,CAAM,CAAC,CAC1D,CAAC,EAGKC,EAAKL,IAAS,MACd,kBACCC,EAAS,QAAQ,IAAI,cAAc,GAAK,2BAKzCK,EAAS,MAAML,EAAS,YAAY,EACpCM,EAAYD,EAAO,WAGnBE,EAAU,IAAI,QAAQP,EAAS,OAAO,EAC5CO,EAAQ,IAAI,eAAgBH,CAAE,EAC9BG,EAAQ,IAAI,iBAAkB,OAAOD,CAAS,CAAC,EAC/CC,EAAQ,IAAI,eAAgB,IAAI,KAAK,EAAE,YAAY,CAAC,EACpD,IAAMC,EAAS,IAAI,SAASH,EAAQ,CAAE,OAAQL,EAAS,OAAQ,QAAAO,CAAQ,CAAC,EAEpER,IAAS,MACT,MAAMU,EAAOX,EAAMU,CAAM,EAEzB,MAAME,EAAWZ,EAAMU,CAAM,EAIjC,MAAMG,EAAkB,CACpB,KAAAb,EACA,SAAgBC,EAChB,UAAAO,EACA,aAAgB,KAAK,IAAI,EACzB,eAAgB,KAAK,IAAI,CAC7B,CAAC,EAEDX,EAAK,CAAE,KAAM,mBAAoB,KAAAG,EAAM,IAAKA,EAAM,KAAAC,CAAK,CAAC,EAKxDJ,EAAK,CAAE,KAAM,kBAAmB,GAAI,GAAM,IAAK,GAAGG,CAAI,IAAIC,CAAI,EAAG,CAAC,EAGlE,MAAMa,EAAmBjB,CAAI,CACjC,OAASkB,EAAc,CACnB,IAAMjB,EAAMiB,aAAe,MAAQA,EAAI,QAAU,OAAOA,CAAG,EAIrDC,EAAgBD,aAAe,cAAgBA,EAAI,OAAS,qBAClElB,EAAK,CAAE,KAAM,gBAAiB,KAAAG,EAAM,MAAOF,EAAK,UAAW,CAACkB,EAAe,cAAAA,CAAc,CAAC,EAC1FnB,EAAK,CAAE,KAAM,kBAAmB,GAAI,GAAO,IAAK,GAAGG,CAAI,IAAIC,CAAI,GAAI,MAAOH,EAAK,cAAAkB,CAAc,CAAC,CAClG,CACJ,CAEC,KAA2B,UAAa,GAAmC,CACxE,IAAMC,EAAM,EAAE,KACVA,EAAI,OAAS,WACTA,EAAI,SAAS,OAAS,IAAGtB,EAAWsB,EAAI,UACrCA,EAAI,OAAS,WACpBC,EAAeD,EAAI,KAAK,EACjBA,EAAI,OAAS,UACpBlB,EAAckB,EAAI,KAAMA,EAAI,IAAI,EACzBA,EAAI,IAInB","names":["DEFAULT_GATEWAYS","trackProgress","response","onProgress","reader","total","loaded","stream","controller","done","value","reason","fetchFromGateways","txId","gateways","lastError","gw","url","resp","tracked","finalStream","isGzip","combinedStream","chunk","headers","err","CACHES","arKey","txId","pdfKey","previewKey","openPdfCache","CACHES","openPreviewCache","putPdf","txId","response","openPdfCache","pdfKey","putPreview","openPreviewCache","previewKey","deletePdf","txId","openPdfCache","pdfKey","DB_NAME","_db","openMetaDb","resolve","reject","req","DB_NAME","e","db","idbPut","store","value","openMetaDb","db","resolve","reject","req","idbDelete","key","idbGetAll","deleteBookData","txId","idbDelete","putDownloadRecord","record","idbPut","getAllDownloadRecords","idbGetAll","deleteDownloadRecord","txId","idbDelete","PRUNE_THRESHOLD","PRUNE_TARGET","_pinnedTxIds","setPinnedTxIds","txIds","runLruPrune","onStart","estimate","usage","quota","targetFree","pdfs","getAllDownloadRecords","r","b","freedBytes","removed","prunedTxIds","record","deletePdf","deleteDownloadRecord","deleteBookData","prunePagesByTxId","runLruPruneAndEmit","postMsg","result","txId","cache","CACHES","keys","prefix","gateways","DEFAULT_GATEWAYS","post","msg","handleGetFile","txId","mime","response","fetchFromGateways","loaded","total","ct","buffer","sizeBytes","headers","cloned","putPdf","putPreview","putDownloadRecord","runLruPruneAndEmit","err","quotaExceeded","cmd","setPinnedTxIds"]}
@@ -1,4 +1,4 @@
1
- export { B as BookData, a as FilePhase, F as FileState, H as HydratePayload, P as PruningState, R as RenderState, W as WorkerCommand, b as WorkerMessage, d as downloadState } from '../state-BTsp-E4v.js';
1
+ export { B as BookData, a as FilePhase, F as FileState, H as HydratePayload, P as PruningState, R as RenderState, W as WorkerCommand, b as WorkerMessage, d as downloadState } from '../state-CkYavOSt.js';
2
2
 
3
3
  interface InitOptions {
4
4
  gateways?: string[];
@@ -12,10 +12,13 @@ interface InitOptions {
12
12
  }
13
13
  declare function preloadWorkersV2(): void;
14
14
  declare const InitDownloaderV2: (opts?: InitOptions) => Promise<void>;
15
+ /** Replace the app-controlled pin set (the auto-pinned open book is kept in addition). */
16
+ declare const SetPinnedPdfs: (txIds: string[]) => void;
15
17
  declare const GetPdf: (txId: string) => Promise<Response>;
16
18
  declare const GetImage: (txId: string) => Promise<Response>;
17
19
  declare const EnsurePageImage: (txId: string, page: number) => Promise<Response>;
18
20
  declare const EnsurePdf: (txId: string) => Promise<void>;
21
+ declare const EnsurePageCount: (txId: string) => Promise<number>;
19
22
  declare const DownloadPdfToDisk: (txId: string, filename: string) => Promise<void>;
20
23
  declare const GetObjectUrl: (resp: Response) => Promise<string>;
21
24
  declare const revokeObjectUrl: (url: string) => void;
@@ -31,6 +34,19 @@ interface BookData {
31
34
  }
32
35
  declare const getBookData: (txId: string) => Promise<BookData | undefined>;
33
36
 
37
+ /**
38
+ * Thrown by EnsurePdf()/EnsureGetPdf() (via the orchestrator) when a download
39
+ * failed because Cache Storage rejected the write with QuotaExceededError.
40
+ * Distinguishes "disk is full" from any other download failure (network,
41
+ * decrypt, gateway 404) so callers can react differently — e.g. stop
42
+ * retrying and prompt the user to free space, instead of treating it as a
43
+ * one-off per-book fetch error.
44
+ */
45
+ declare class DownloadQuotaExceededError extends Error {
46
+ readonly txId: string;
47
+ constructor(txId: string, message?: string);
48
+ }
49
+
34
50
  declare const CACHE_VERSION = 1;
35
51
  declare const CACHES: {
36
52
  readonly pdf: "dl2-pdf-v1";
@@ -42,4 +58,4 @@ declare const pdfKey: (txId: string) => string;
42
58
  declare const previewKey: (txId: string) => string;
43
59
  declare const pageKey: (txId: string, n: number) => string;
44
60
 
45
- export { CACHES, CACHE_VERSION, DL2_SW_VERSION, DownloadPdfToDisk, EnsurePageImage, EnsurePdf, GetImage, GetObjectUrl, GetPdf, InitDownloaderV2, type InitOptions, getBookData, pageKey, pdfKey, preloadWorkersV2, previewKey, revokeObjectUrl, storageEstimate };
61
+ export { CACHES, CACHE_VERSION, DL2_SW_VERSION, DownloadPdfToDisk, DownloadQuotaExceededError, EnsurePageCount, EnsurePageImage, EnsurePdf, GetImage, GetObjectUrl, GetPdf, InitDownloaderV2, type InitOptions, SetPinnedPdfs, getBookData, pageKey, pdfKey, preloadWorkersV2, previewKey, revokeObjectUrl, storageEstimate };