@the_library/public 2.0.0 → 2.1.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 (83) hide show
  1. package/LICENSE +684 -0
  2. package/README.md +735 -1101
  3. package/THIRD_PARTY_NOTICES +489 -0
  4. package/assets/branding/pond-enterprise-logo.svg +3 -14
  5. package/dist/{Book-K86JRm42.d.ts → Book-CYyj_y_4.d.ts} +22 -1
  6. package/dist/{bookSearchService-BmFHrvsv.d.ts → bookSearchService-YQskauJS.d.ts} +1 -1
  7. package/dist/branding/index.js +6 -1
  8. package/dist/branding/index.js.map +1 -1
  9. package/dist/{chunk-3XUKOVEF.js → chunk-34UDKDMR.js} +7 -2
  10. package/dist/chunk-34UDKDMR.js.map +1 -0
  11. package/dist/{chunk-7G3BMGV2.js → chunk-3ALQKSIN.js} +11 -1
  12. package/dist/chunk-3ALQKSIN.js.map +1 -0
  13. package/dist/{chunk-PV3X54EU.js → chunk-AADFZOUD.js} +6 -1
  14. package/dist/chunk-AADFZOUD.js.map +1 -0
  15. package/dist/{chunk-FN52YV7L.js → chunk-DCTN7BWB.js} +6 -1
  16. package/dist/chunk-DCTN7BWB.js.map +1 -0
  17. package/dist/{chunk-GWQNULP4.js → chunk-HZZP2YTW.js} +7 -2
  18. package/dist/chunk-HZZP2YTW.js.map +1 -0
  19. package/dist/chunk-OKIGFADW.js +7 -0
  20. package/dist/chunk-OKIGFADW.js.map +1 -0
  21. package/dist/{chunk-D4DXGA2W.js → chunk-QL7HY3IK.js} +7 -2
  22. package/dist/chunk-QL7HY3IK.js.map +1 -0
  23. package/dist/{chunk-46FQHZNM.js → chunk-SB7IRHJD.js} +6 -1
  24. package/dist/chunk-SB7IRHJD.js.map +1 -0
  25. package/dist/{chunk-OELHBR4F.js → chunk-TQW56CCL.js} +7 -2
  26. package/dist/chunk-TQW56CCL.js.map +1 -0
  27. package/dist/{chunk-SD3INWZF.js → chunk-YRTDYXAD.js} +6 -1
  28. package/dist/chunk-YRTDYXAD.js.map +1 -0
  29. package/dist/downloader/dl2-sw.js +6 -1
  30. package/dist/downloader/dl2-sw.js.map +1 -1
  31. package/dist/downloader/file-worker-v2.js +5 -0
  32. package/dist/downloader/file-worker-v2.js.map +1 -1
  33. package/dist/downloader/index.d.ts +13 -1
  34. package/dist/downloader/index.js +6 -1
  35. package/dist/downloader/index.js.map +1 -1
  36. package/dist/downloader/mu-worker-v2.js +5 -0
  37. package/dist/downloader/mu-worker-v2.js.map +1 -1
  38. package/dist/downloader/react.js +6 -1
  39. package/dist/downloader/react.js.map +1 -1
  40. package/dist/downloader/solid.js +6 -1
  41. package/dist/downloader/solid.js.map +1 -1
  42. package/dist/downloader/sw.js +6 -1
  43. package/dist/downloader/sw.js.map +1 -1
  44. package/dist/downloader/vue.js +6 -1
  45. package/dist/downloader/vue.js.map +1 -1
  46. package/dist/global/public.global.js +33 -23
  47. package/dist/global/public.manifest.json +0 -1
  48. package/dist/models/astro.js +6 -1
  49. package/dist/models/astro.js.map +1 -1
  50. package/dist/models/index.d.ts +3 -4
  51. package/dist/models/index.js +6 -1
  52. package/dist/models/index.js.map +1 -1
  53. package/dist/models/models.d.ts +2 -3
  54. package/dist/models/models.js +6 -1
  55. package/dist/models/patch-worker.js +10 -0
  56. package/dist/models/patch-worker.js.map +1 -1
  57. package/dist/models/react.js +6 -1
  58. package/dist/models/react.js.map +1 -1
  59. package/dist/models/solid.js +6 -1
  60. package/dist/models/solid.js.map +1 -1
  61. package/dist/models/vue.d.ts +2 -3
  62. package/dist/models/vue.js +6 -1
  63. package/dist/models/vue.js.map +1 -1
  64. package/dist/web3/auth.js +5 -0
  65. package/dist/web3/auth.js.map +1 -1
  66. package/dist/web3/index.js +6 -1
  67. package/dist/web3/index.js.map +1 -1
  68. package/dist/web3/network.js +6 -1
  69. package/dist/web3/registry.js +6 -1
  70. package/dist/web3/vue.js +6 -1
  71. package/dist/web3/vue.js.map +1 -1
  72. package/package.json +18 -17
  73. package/dist/chunk-3XUKOVEF.js.map +0 -1
  74. package/dist/chunk-46FQHZNM.js.map +0 -1
  75. package/dist/chunk-7G3BMGV2.js.map +0 -1
  76. package/dist/chunk-D4DXGA2W.js.map +0 -1
  77. package/dist/chunk-EMA2QJTW.js +0 -2
  78. package/dist/chunk-EMA2QJTW.js.map +0 -1
  79. package/dist/chunk-FN52YV7L.js.map +0 -1
  80. package/dist/chunk-GWQNULP4.js.map +0 -1
  81. package/dist/chunk-OELHBR4F.js.map +0 -1
  82. package/dist/chunk-PV3X54EU.js.map +0 -1
  83. package/dist/chunk-SD3INWZF.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/models/patchContext.ts","../src/models/replay.ts"],"mappings":"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","names":["instanceRemapKey","id","lang","user","slot","areInstancesEqual","objectType","existing","incoming","schema","Registry","propIdByName","p","propName","propId","av","bv","dlPropId","resolveAddInstanceConflict","record","batchRemainder","ctx","incomingFields","PatchOperation","instances","matchedIndex","i","targetIndex","applyPatchWithContext","patch","modelClass","ModelTypes","Orm","addRecord","pinRecord","hasRecord","getRecord","LANG_ID_DECODE","realIndex","key","prov","propPatch","applyRestoredPatches","ops","creatorUsername","applied","skipped","cleaned","Patches","createdInBatch","op","PatchOperation","loadPromises","isEvmPatch","objectType","objectId","hasRecord","modelClass","ModelTypes","isUserCreated","e","i","order","getRecord","ctx","localRecordTable","applyPatchWithContext"]}
@@ -0,0 +1,7 @@
1
+ /*!
2
+ D-Open Code Sovereign Licence 1.1 · © 2026 Antoine LUCAS · SPDX-License-Identifier: LicenseRef-DOCSL-1.1
3
+ Non-commercial use of unmodified copies only. By using this file you accept the Licence, incl. USD 50M liquidated damages (s 16.4).
4
+ Full text: https://registry.worldbibliotech.com/licence and the LICENSE file · Contact: admin@pondenterprise.com
5
+ */
6
+ import{defineChain as r}from"viem";function a(e){return r({id:e.chainId,name:e.name,nativeCurrency:{name:e.symbol,symbol:e.symbol,decimals:e.decimals||18},rpcUrls:{default:{http:[e.rpc]},public:{http:[e.rpc]}}})}export{a};
7
+ //# sourceMappingURL=chunk-OKIGFADW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/web3/network/chains.ts"],"mappings":";;;;;AAMA,OAAS,eAAAA,MAA+B,OAgBjC,SAASC,EAAYC,EAA+B,CACzD,OAAOF,EAAY,CACjB,GAAIE,EAAO,QACX,KAAMA,EAAO,KACb,eAAgB,CAAE,KAAMA,EAAO,OAAQ,OAAQA,EAAO,OAAQ,SAAUA,EAAO,UAAY,EAAG,EAC9F,QAAS,CAAE,QAAS,CAAE,KAAM,CAACA,EAAO,GAAG,CAAE,EAAG,OAAQ,CAAE,KAAM,CAACA,EAAO,GAAG,CAAE,CAAE,CAC7E,CAAC,CACH","names":["defineChain","toViemChain","config"]}
@@ -1,2 +1,7 @@
1
- import{Tb as C,_ as D,ac as H,cc as N,ea as B,i as fe,j as ue,jc as A,ob as ge,s as he,sb as U}from"./chunk-7G3BMGV2.js";var X="the_library:trash:v1";function Pe(){let n=new Map;if(typeof localStorage>"u")return n;try{let e=localStorage.getItem(X);if(!e)return n;let t=JSON.parse(e);for(let[r,o]of Object.entries(t)){let s=new Map;for(let[i,c]of Object.entries(o))s.set(i,new Set(c.map(ue)));n.set(Number(r),s)}}catch(e){console.warn("[trash] failed to load localStorage seed",e)}return n}var T=Pe(),F=new Map;function me(){if(typeof localStorage>"u")return;let n={};for(let[e,t]of T){let r={};for(let[o,s]of t)s.size>0&&(r[o]=Array.from(s,fe));Object.keys(r).length>0&&(n[e]=r)}try{localStorage.setItem(X,JSON.stringify(n))}catch(e){console.warn("[trash] failed to persist localStorage snapshot",e)}}function be(n){F.get(n)?.forEach(e=>{try{e()}catch(t){console.error("[trash] listener failed",t)}})}function De(n,e){let t=T.get(n);t||(t=new Map,T.set(n,t));let r=t.get(e);return r||(r=new Set,t.set(e,r)),r}function Se(n){let e=n?.schema?.objectId,t=n?.id;if(typeof e!="number"||typeof t!="bigint")return null;let r=n.creatorUsername??"",o=De(e,r),s=n.deleted===!0||n.safe===!1,i=o.has(t);return s===i?null:(s?o.add(t):o.delete(t),e)}var Be=50,k=null,L=null;function Ue(){L=null;let n=k;if(k=null,!(!n||n.size===0)){me();for(let e of n)be(e)}}function Ce(n){let e=Se(n);e!==null&&(k||(k=new Set),k.add(e),L===null&&(L=setTimeout(Ue,Be)))}function dt(){$();let n=new Set;for(let e of B().values())for(let t of e.values()){let r=Se(t);r!==null&&n.add(r)}if(n.size!==0){me();for(let e of n)be(e)}}var pe=!1;function $(){pe||(pe=!0,D({track(){},trigger:Ce}))}function ft(){T.clear(),F.clear(),k=null,L!==null&&(clearTimeout(L),L=null),typeof localStorage<"u"&&localStorage.removeItem(X)}var W={list(n,e=[]){$();let t=T.get(n);if(!t)return[];let r=new Set,o=e.length>0?e:t.keys();for(let s of o)for(let i of t.get(s)??[])r.add(i);return Array.from(r)},count(n,e=[]){return W.list(n,e).length},usernames(n){return $(),Array.from(T.get(n)?.keys()??[])},subscribe(n,e){$();let t=F.get(n);return t||(t=new Set,F.set(n,t)),t.add(e),()=>t.delete(e)}};var ht=40,He=/[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Thai}\p{Script=Lao}\p{Script=Khmer}\p{Script=Myanmar}\p{Script=Tibetan}]/u,Ne=/[\p{L}\p{N}\p{M}]+/gu,$e=/[̀-ͯ]/g,Fe=/\p{N}/u,We=/\p{M}/u;function Y(n){return n.normalize("NFKD").replace($e,"").normalize("NFC").toLowerCase()}function je(n,e){let t=Array.from(e);t.length===1&&!Fe.test(e)||n.push(t.length>40?t.slice(0,40).join(""):e)}function ze(n,e){if(e.length===1){n.push(e[0]);return}for(let t=0;t+1<e.length;t++)n.push(e[t]+e[t+1])}function j(n){if(!n)return[];let e=[];for(let[t]of Y(n).matchAll(Ne)){let r=[],o=!1,s=()=>{r.length!==0&&(o?ze(e,r):je(e,r.join("")),r=[])};for(let i of t){let c=He.test(i)||o&&r.length>0&&We.test(i);r.length>0&&c!==o&&s(),o=c,r.push(i)}s()}return e}var we=1146114865,J=1,Z=8,Ke=65535;function K(n,e){return n<e?-1:n>e?1:0}function Ge(n,e,t){if(e==null||e==="")return n.kind==="score"?0:null;if(n.kind==="label")return String(e);if(typeof e!="number"||!Number.isInteger(e)||e<0||e>255)throw new Error(`search shard: preset "${n.name}" of ${t} must be an integer 0\u2013255, got ${JSON.stringify(e)}`);return e}function te(n,e,t){if(t.fields.length===0||t.fields.length>Z)throw new Error(`search shard: 1\u2013${Z} fields required, got ${t.fields.length}`);if(t.relations.length>255||t.presets.length>255)throw new Error("search shard: at most 255 relations and 255 presets");let r=[...e].sort((a,f)=>K(a.wireId,f.wireId));for(let a=1;a<r.length;a++)if(r[a].wireId===r[a-1].wireId)throw new Error(`search shard: duplicate wireId ${r[a].wireId}`);let o=r.length,s=t.fields.length,i=t.fields.map(()=>new Uint32Array(o)),c=new Map;r.forEach((a,f)=>{t.fields.forEach((y,b)=>{let S=j(a.fields[y]);i[b][f]=S.length;for(let h of S){let m=c.get(h);m||(m={docs:[],tf:[]},c.set(h,m));let w=m.docs.length-1;if(w<0||m.docs[w]!==f){m.docs.push(f);for(let I=0;I<s;I++)m.tf.push(0)}let R=(m.docs.length-1)*s+b;m.tf[R]=Math.min(Ke,m.tf[R]+1)}})});let l=[...c.keys()].sort(),g=new Uint32Array(l.length+1),d=0;l.forEach((a,f)=>{g[f]=d,d+=c.get(a).docs.length}),g[l.length]=d;let p=new Uint32Array(d),u=new Uint16Array(d*s);l.forEach((a,f)=>{let{docs:y,tf:b}=c.get(a);p.set(y,g[f]),u.set(b,g[f]*s)});let v=t.relations.map(a=>{let f=r.map(m=>[...new Set(m.relations?.[a]??[])]),y=[...new Set(f.flat())].sort(K),b=new Map(y.map((m,w)=>[m,w])),S=new Uint32Array(o+1),h=[];return f.forEach((m,w)=>{S[w]=h.length,h.push(...m.map(R=>b.get(R)).sort((R,I)=>R-I))}),S[o]=h.length,{name:a,ids:y,offsets:S,values:Uint32Array.from(h)}}),x=t.presets.map(a=>{let f=r.map(h=>Ge(a,h.presets?.[a.name],h.wireId)),y=new Uint8Array(o);if(a.kind==="score")return f.forEach((h,m)=>{y[m]=h}),{name:a.name,kind:a.kind,labels:[],values:y};let b=[...new Set(f.filter(h=>h!==null))].sort();if(b.length>255)throw new Error(`search shard: label preset "${a.name}" has ${b.length} distinct values (max 255)`);let S=new Map(b.map((h,m)=>[h,m+1]));return f.forEach((h,m)=>{y[m]=h===null?0:S.get(h)}),{name:a.name,kind:a.kind,labels:b,values:y}});return{lang:n,wireIds:r.map(a=>a.wireId),fields:[...t.fields],fieldLengths:i,relations:v,presets:x,terms:l,postingOffsets:g,postingDocs:p,postingTf:u}}var q=class{constructor(){this.buf=new Uint8Array(65536);this.pos=0;this.encoder=new TextEncoder}reserve(e){if(this.pos+e<=this.buf.length)return;let t=this.buf.length*2;for(;t<this.pos+e;)t*=2;let r=new Uint8Array(t);r.set(this.buf.subarray(0,this.pos)),this.buf=r}u8(e){this.reserve(1),this.buf[this.pos++]=e}u32(e){this.reserve(4),this.buf[this.pos++]=e>>>24&255,this.buf[this.pos++]=e>>>16&255,this.buf[this.pos++]=e>>>8&255,this.buf[this.pos++]=e&255}varuint(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`search shard: varuint out of range: ${e}`);for(this.reserve(8);e>=128;)this.buf[this.pos++]=e%128|128,e=Math.floor(e/128);this.buf[this.pos++]=e}varbig(e){if(e<0n)throw new Error(`search shard: negative id ${e}`);for(this.reserve(10);e>=0x80n;)this.buf[this.pos++]=Number(e&0x7fn)|128,e>>=7n;this.buf[this.pos++]=Number(e)}bytes(e){this.reserve(e.length),this.buf.set(e,this.pos),this.pos+=e.length}str(e){let t=this.encoder.encode(e);this.varuint(t.length),this.bytes(t)}finish(){return this.buf.slice(0,this.pos)}},ee=class{constructor(e){this.buf=e;this.pos=0;this.decoder=new TextDecoder}need(e){if(this.pos+e>this.buf.length)throw new Error("search shard: truncated")}u8(){return this.need(1),this.buf[this.pos++]}u32(){this.need(4);let e=this.buf,t=this.pos;return this.pos+=4,(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}varuint(){let e=0,t=1;for(;;){let r=this.u8();if(e+=(r&127)*t,r<128)return e;if(t*=128,t>Number.MAX_SAFE_INTEGER)throw new Error("search shard: varuint overflow")}}varbig(){let e=0n,t=0n;for(;;){let r=this.u8();if(e|=BigInt(r&127)<<t,r<128)return e;if(t+=7n,t>63n)throw new Error("search shard: id overflow")}}bytes(e){this.need(e);let t=this.buf.subarray(this.pos,this.pos+e);return this.pos+=e,t}str(){return this.decoder.decode(this.bytes(this.varuint()))}get done(){return this.pos===this.buf.length}};function ye(n,e){let t=0n;e.forEach((r,o)=>{n.varbig(o===0?r:r-t),t=r})}function ve(n,e){let t=new Array(e),r=0n;for(let o=0;o<e;o++)r=o===0?n.varbig():r+n.varbig(),t[o]=r;return t}function Qe(n,e){let t=Math.min(n.length,e.length),r=0;for(;r<t&&n.charCodeAt(r)===e.charCodeAt(r);)r++;return r>0&&r<e.length&&(e.charCodeAt(r)&64512)===56320&&r--,r}function mt(n){let e=new q,t=n.wireIds.length,r=n.fields.length;e.u32(we),e.u8(J),e.u8(0),e.str(n.lang),e.varuint(t),e.u8(r);for(let s of n.fields)e.str(s);ye(e,n.wireIds);for(let s of n.fieldLengths)for(let i of s)e.varuint(i);e.u8(n.relations.length);for(let s of n.relations){e.str(s.name),e.varuint(s.ids.length),ye(e,s.ids);for(let i=0;i<t;i++){e.varuint(s.offsets[i+1]-s.offsets[i]);for(let c=s.offsets[i];c<s.offsets[i+1];c++)e.varuint(s.values[c])}}e.u8(n.presets.length);for(let s of n.presets){if(e.str(s.name),e.u8(s.kind==="score"?0:1),s.kind==="label"){e.varuint(s.labels.length);for(let i of s.labels)e.str(i)}e.bytes(s.values)}e.varuint(n.terms.length);let o="";for(let s of n.terms){let i=Qe(o,s);e.varuint(i),e.str(s.slice(i)),o=s}for(let s=0;s<n.terms.length;s++){let i=n.postingOffsets[s],c=n.postingOffsets[s+1];e.varuint(c-i);let l=0;for(let g=i;g<c;g++){let d=n.postingDocs[g];e.varuint(g===i?d:d-l),l=d;let p=0;for(let u=0;u<r;u++)n.postingTf[g*r+u]>0&&(p|=1<<u);e.u8(p);for(let u=0;u<r;u++)p&1<<u&&e.varuint(n.postingTf[g*r+u])}}return e.finish()}function z(n,e,t){if(n>=e)throw new Error(`search shard: ${t} ${n} out of range (< ${e})`);return n}function xe(n){let e=new ee(n instanceof Uint8Array?n:new Uint8Array(n)),t=e.u32();if(t!==we)throw new Error(`Invalid search shard magic 0x${t.toString(16)} (expected DPS1)`);let r=e.u8();if(r!==J)throw new Error(`Unsupported search shard format version ${r} (this reader handles ${J})`);e.u8();let o=e.str(),s=e.varuint(),i=e.u8();if(i===0||i>Z)throw new Error(`search shard: bad field count ${i}`);let c=Array.from({length:i},()=>e.str()),l=ve(e,s),g=c.map(()=>{let b=new Uint32Array(s);for(let S=0;S<s;S++)b[S]=e.varuint();return b}),d=Array.from({length:e.u8()},()=>{let b=e.str(),S=ve(e,e.varuint()),h=new Uint32Array(s+1),m=[];for(let w=0;w<s;w++){h[w]=m.length;let R=e.varuint();for(let I=0;I<R;I++)m.push(z(e.varuint(),S.length,`relation "${b}" id index`))}return h[s]=m.length,{name:b,ids:S,offsets:h,values:Uint32Array.from(m)}}),p=Array.from({length:e.u8()},()=>{let b=e.str(),S=e.u8()===0?"score":"label",h=S==="label"?Array.from({length:e.varuint()},()=>e.str()):[],m=e.bytes(s).slice();return S==="label"&&m.forEach(w=>z(w,h.length+1,`preset "${b}" label`)),{name:b,kind:S,labels:h,values:m}}),u=e.varuint(),v=new Array(u),x="";for(let b=0;b<u;b++){let S=e.varuint();x=x.slice(0,S)+e.str(),v[b]=x}let a=new Uint32Array(u+1),f=[],y=[];for(let b=0;b<u;b++){a[b]=f.length;let S=e.varuint(),h=0;for(let m=0;m<S;m++){h=z(m===0?e.varuint():h+e.varuint(),s,"posting doc"),f.push(h);let w=z(e.u8(),1<<i,"posting field mask");for(let R=0;R<i;R++)y.push(w&1<<R?e.varuint():0)}}if(a[u]=f.length,!e.done)throw new Error("search shard: trailing bytes");return{lang:o,wireIds:l,fields:c,fieldLengths:g,relations:d,presets:p,terms:v,postingOffsets:a,postingDocs:Uint32Array.from(f),postingTf:Uint16Array.from(y)}}var ne={quality:["illustrations","educationQuality","practicality","accessibilityLevel"],education:["pedagogicalScaffolding","clarityOfExplanation","workedExamples","exercisesAndAssessment","selfStudyReadiness","referenceApparatus","safetyGuidance","contentCurrency"],themeRelevance:["ecoRegeneration","communityLiving","promotesPeace","businessDevelopment"]},Re={no_ecological_harm:"noEcologicalHarm",no_ai_generation:"noAiGeneration",no_explicit_or_violence:"noExplicitOrViolence",no_stolen_content:"noStolenContent",no_politics:"noPolitics",no_spirituality:"noSpirituality",no_history:"noHistory",no_medicine:"noMedicine",no_fiction:"noFiction",no_psychological_profiling:"noPsychologicalProfiling"},Ie={electronic_warfare:"watchlistElectronicWarfare",interrogation:"watchlistInterrogation",distillation:"watchlistDistillation",alcohol:"watchlistAlcohol"},re=n=>({name:n,kind:"score"}),M=n=>({name:n,kind:"label"}),se={fields:["title","authors","description"],relations:["topic","author"],presets:[...Object.values(ne).flat().map(re),re("overallScore"),...Object.values(Re).map(re),M("teacherMaterials"),...Object.values(Ie).map(M),M("ageGradeBand"),M("screenResult"),M("dsafeTextQuality"),M("copyrightStatus")]},Ae=[...Object.values(ne).flat(),"teacherMaterials"],oe={title:3,authors:2,description:1},G=n=>typeof n=="number"&&Number.isInteger(n)&&n>=0&&n<=255?n:void 0;function Ve(n,e,t){let r={};for(let[i,c]of Object.entries(ne))for(let l of c){let g=G(n?.[l]);r[l]=t?.has(l)||g?g??null:G(e?.[i]?.[l]?.score)??null}r.overallScore=G(e?.dsafe?.overallScore)??null;for(let[i,c]of Object.entries(Re))r[c]=G(e?.dsafe?.exclusions?.[i]?.score)??null;let o=t?.has("teacherMaterials")||n?.teacherMaterials===!0?n?.teacherMaterials:e?.education?.teacherMaterials;r.teacherMaterials=typeof o=="boolean"?o:null;for(let[i,c]of Object.entries(Ie)){let l=e?.dsafe?.watchlistTopics?.[i]?.present;r[c]=typeof l=="boolean"?l:null}let s=i=>typeof i=="string"&&i!==""?i:null;return r.ageGradeBand=s(e?.education?.ageGradeBand),r.screenResult=s(e?.dsafe?.screenResult),r.dsafeTextQuality=s(e?.dsafe?.textQuality),r.copyrightStatus=s(e?.metadata?.copyrightStatus),r}function Ee(n,e="deepseek",t="deepseek-chat"){let r=n?.get(e)?.get(t),o;for(let s of r??[])(!o||s.ts>o.ts)&&(o=s);return o?.value}function Q(n){return n.safe===!1||n.deleted===!0||!n.title?null:{wireId:n.wireId,fields:{title:n.title,authors:n.authorNames.filter(Boolean).join(", "),description:n.description??""},relations:{topic:[...n.topicIds],author:[...n.authorIds]},presets:Ve(n.extended,n.ai,n.curated)}}var ke=1.2,Le=.75,Xe=.6,Te=new WeakMap;function V(n){let e=Te.get(n);return e||(e={presets:new Map(n.presets.map(t=>[t.name,t])),relations:new Map(n.relations.map(t=>[t.name,t]))},Te.set(n,e)),e}function ie(n,e){let t=n?n.values[e]:0;return t===0?null:n.kind==="label"?n.labels[t-1]:t}var Ye=/[\p{L}\p{N}\p{M}]+$/u;function Je(n){let e=j(n);if(/\s$/u.test(n))return{words:[...new Set(e)],prefixWord:null};let t=Ye.exec(Y(n))?.[0];return t&&Array.from(t).length===1&&e[e.length-1]!==t&&e.push(t),{words:[...new Set(e)],prefixWord:e.length?e[e.length-1]:null}}function Ze(n,e){let t=0,r=n.length;for(;t<r;){let o=t+r>>>1;n[o]<e?t=o+1:r=o}return t}function ae(n,e){let t=0,r=n.length-1;for(;t<=r;){let o=t+r>>>1;if(n[o]===e)return o;n[o]<e?t=o+1:r=o-1}return-1}var O=class{constructor(e={}){this.langs=new Map;this.hidden=new Set;this.fieldWeights=e.fieldWeights??{}}state(e){let t=this.langs.get(e);return t||(t={published:[],overlay:null,hidden:new Set,resolved:null,stats:null},this.langs.set(e,t)),t}invalidate(e){e.resolved=null,e.stats=null}addShard(e){let t=this.state(e.lang);t.published.push(e),this.invalidate(t)}clearPublished(e){let t=this.langs.get(e);t&&(t.published=[],this.invalidate(t))}setOverlay(e,t){if(t&&t.lang!==e)throw new Error(`overlay shard is ${t.lang}, not ${e}`);let r=this.state(e);r.overlay=t,this.invalidate(r)}hide(e){for(let t of e)this.hidden.add(t);for(let t of this.langs.values())t.stats=null}unhide(e){for(let t of e)this.hidden.delete(t);for(let t of this.langs.values())t.stats=null}setHidden(e){this.hidden.clear(),this.hide(e)}hideForLanguage(e,t){let r=this.state(e);for(let o of t)r.hidden.add(o);r.stats=null}unhideForLanguage(e,t){let r=this.state(e);for(let o of t)r.hidden.delete(o);r.stats=null}setHiddenForLanguage(e,t){let r=this.state(e);r.hidden.clear();for(let o of t)r.hidden.add(o);r.stats=null}publishedPresets(e,t){let r=this.langs.get(e);if(r)for(let o=r.published.length-1;o>=0;o--){let s=r.published[o],i=ae(s.wireIds,t);if(i<0)continue;let c={};for(let l of s.presets){let g=ie(l,i);g!==null&&(c[l.name]=g)}return c}}publishedIdsWithRelation(e,t,r){let o=[];for(let s of this.langs.get(e)?.published??[]){let i=V(s).relations.get(t),c=i?ae(i.ids,r):-1;if(!(c<0)){for(let l=0;l<s.wireIds.length;l++)for(let g=i.offsets[l];g<i.offsets[l+1];g++)if(i.values[g]===c){o.push(s.wireIds[l]);break}}}return o}languages(){return[...this.langs.entries()].filter(([,e])=>e.published.length>0||e.overlay).map(([e])=>e)}size(e){return this.stats(this.state(e)).docCount}resolve(e){if(e.resolved)return e.resolved;let t=new Map;for(let r of[...e.published,...e.overlay?[e.overlay]:[]])r.wireIds.forEach((o,s)=>t.set(o,{shard:r,doc:s}));return e.resolved=t,t}isLive(e,t,r){let o=t.wireIds[r];if(this.hidden.has(o)||e.hidden.has(o))return!1;let s=this.resolve(e).get(o);return s!==void 0&&s.shard===t&&s.doc===r}stats(e){if(e.stats)return e.stats;let t=new Map,r=0;for(let s of this.resolve(e).values()){let i=s.shard.wireIds[s.doc];this.hidden.has(i)||e.hidden.has(i)||(r++,s.shard.fields.forEach((c,l)=>t.set(c,(t.get(c)??0)+s.shard.fieldLengths[l][s.doc])))}let o=new Map;for(let[s,i]of t)o.set(s,r?i/r:0);return e.stats={docCount:r,avgLen:o},e.stats}shardsOf(e){return e.overlay?[...e.published,e.overlay]:e.published}search(e){let t=this.state(e.lang),r=this.shardsOf(t),{words:o,prefixWord:s}=Je(e.text??""),i=e.fieldWeights??this.fieldWeights,c=null;if(o.length>0){let{docCount:a,avgLen:f}=this.stats(t);for(let y of o){let b=this.scoreWord(r,y,y===s,a,f,i);if(c===null){c=b;continue}let S=new Map;for(let[h,m]of c){let w=b.get(h);if(!w)continue;let R=new Map;for(let[I,P]of m){let E=w.get(I);E!==void 0&&R.set(I,P+E)}R.size&&S.set(h,R)}c=S}}let l=[],g=this.compileFilters(e.filters),d=(a,f,y)=>{this.isLive(t,a,f)&&g(a,f)&&l.push({shard:a,doc:f,score:y})};if(c===null)for(let a of r)for(let f=0;f<a.wireIds.length;f++)d(a,f,0);else for(let[a,f]of c)for(let[y,b]of f)d(a,y,b);let p=(a,f)=>f.score-a.score||K(a.shard.wireIds[a.doc],f.shard.wireIds[f.doc]);if(e.sort){let{preset:a,dir:f="desc"}=e.sort,y=f==="asc"?1:-1,b=l.map(S=>({h:S,v:ie(V(S.shard).presets.get(a),S.doc)}));b.sort((S,h)=>S.v!==h.v?S.v===null?1:h.v===null?-1:(S.v<h.v?-1:1)*y:p(S.h,h.h)),b.forEach((S,h)=>{l[h]=S.h})}else l.sort(p);let u={};for(let a of e.facets??[])u[a]=this.countFacet(a,l);let v=e.offset??0,x=e.limit??20;return{total:l.length,hits:l.slice(v,v+x).map(a=>({wireId:a.shard.wireIds[a.doc],score:a.score})),facets:u}}scoreWord(e,t,r,o,s,i){let c=e.map(d=>{let p=[],u=Ze(d.terms,t);if(u<d.terms.length&&d.terms[u]===t&&(p.push({t:u,exact:!0}),u++),r)for(;u<d.terms.length&&d.terms[u].startsWith(t);u++)p.push({t:u,exact:!1});return p}),l=new Map;e.forEach((d,p)=>{for(let{t:u}of c[p]){let v=d.terms[u];l.set(v,(l.get(v)??0)+d.postingOffsets[u+1]-d.postingOffsets[u])}});let g=new Map;return e.forEach((d,p)=>{if(c[p].length===0)return;let u=d.fields.length,v=d.fields.map(f=>i?.[f]??1),x=d.fields.map(f=>s.get(f)||1),a=new Map;for(let{t:f,exact:y}of c[p]){let b=Math.min(l.get(d.terms[f]),o),S=Math.log(1+(o-b+.5)/(b+.5)),h=y?1:Xe;for(let m=d.postingOffsets[f];m<d.postingOffsets[f+1];m++){let w=d.postingDocs[m],R=0;for(let E=0;E<u;E++){let de=d.postingTf[m*u+E];de&&(R+=v[E]*de/(1-Le+Le*d.fieldLengths[E][w]/x[E]))}let I=h*S*(R*(ke+1)/(R+ke)),P=a.get(w);(P===void 0||I>P)&&a.set(w,I)}}a.size&&g.set(d,a)}),g}compileFilters(e){let t=Object.entries(e?.presets??{}).filter(([,i])=>!("in"in i)||i.in.length>0),r=Object.entries(e?.relations??{}).filter(([,i])=>i.length>0).map(([i,c])=>[i,c.map(l=>BigInt(l))]);if(t.length===0&&r.length===0)return()=>!0;let o=new WeakMap,s=i=>{let c=[],{presets:l,relations:g}=V(i);for(let[d,p]of t){let u=l.get(d);if("in"in p){let v=new Set;u&&p.in.forEach(x=>{let a=u.labels.indexOf(x);a>=0&&v.add(a+1)}),c.push(x=>u!==void 0&&v.has(u.values[x]))}else{let v=p.min??0,x=p.max??255;c.push(a=>{let f=u?u.values[a]:0;return f===0?p.includeUnknown===!0:f>=v&&f<=x})}}for(let[d,p]of r){let u=g.get(d),v=new Set;if(u)for(let x of p){let a=ae(u.ids,x);a>=0&&v.add(a)}c.push(x=>{if(!u||v.size===0)return!1;for(let a=u.offsets[x];a<u.offsets[x+1];a++)if(v.has(u.values[a]))return!0;return!1})}return d=>c.every(p=>p(d))};return(i,c)=>{let l=o.get(i);return l||(l=s(i),o.set(i,l)),l(c)}}countFacet(e,t){let r={},o=s=>{r[s]=(r[s]??0)+1};for(let{shard:s,doc:i}of t){let{presets:c,relations:l}=V(s),g=c.get(e);if(g){let p=ie(g,i);p!==null&&o(String(p));continue}let d=l.get(e);if(d)for(let p=d.offsets[i];p<d.offsets[i+1];p++)o(d.ids[d.values[p]].toString())}return r}};var _=class extends Error{constructor(e,t){super(`Sidecar temporarily unavailable (${t}): ${e}`),this.name="SidecarFetchError"}},qe=18,Me=[500,1500,4e3],et=n=>{if(n.byteLength!==2)return!1;let e=new Uint8Array(n);return e[0]===123&&e[1]===125};async function tt(n,e=!1){let t;for(let r=0;r<Me.length+1;r++)try{let o=r===0?n:`${n}${n.includes("?")?"&":"?"}_retry=${r}`,s=await fetch(o,r===0?void 0:{cache:"reload"});if(!s.ok)throw new _(n,`HTTP ${s.status}`);let i=await s.arrayBuffer();if(i.byteLength<qe&&!(e&&et(i)))throw new _(n,`only ${i.byteLength} byte(s) returned`);return i}catch(o){t=o;let s=Me[r];s!==void 0&&await new Promise(i=>setTimeout(i,s))}throw t instanceof Error?t:new _(n,String(t))}async function rt(n){let e=new Uint8Array(n,0,Math.min(2,n.byteLength));if(e[0]!==31||e[1]!==139)return n;let t=new DecompressionStream("gzip"),r=t.writable.getWriter(),o=t.readable.getReader();r.write(new Uint8Array(n)),r.close();let s=[],i=!1;for(;!i;){let{value:d,done:p}=await o.read();d&&s.push(d),i=p}let c=s.reduce((d,p)=>d+p.byteLength,0),l=new Uint8Array(c),g=0;for(let d of s)l.set(d,g),g+=d.byteLength;return l.buffer}async function Oe(n,e=!1){return rt(await tt(n,e))}var nt=500,st=150,_e=()=>new Promise(n=>setTimeout(n,0));function ce(n,e){let t=ge(A.type,n.id),r={},o=new Set;for(let i of Ae){let c=N[i];r[i]=n.getProp(c,e);let l=t?.properties.get(c)?.some(({langId:g})=>{let d=he[g]??"";return d===""||d===e});(n.getProvenance(c,e)!==0||l)&&o.add(i)}let s=n.authorsIds;return{wireId:n.id,title:n.getTitle(e),description:n.getDescription(e),safe:n.getProp(N.safe,e)??!0,deleted:n.getProp(N.deleted,e)??!1,authorIds:s,authorNames:s.map(i=>C.Has(i)?C.Load(i).getTitle(e):null),topicIds:n.inTagsIds,extended:r,ai:Ee(n.getAiResults(e)),curated:o}}var ot=()=>{let n;return{promise:new Promise(t=>{n=t}),resolve:n}},le=class{constructor(){this.index=new O({fieldWeights:oe});this.states=new Map;this.loads=new Map;this.waiters=new Map;this.listeners=new Set;this.dirtyBooks=new Set;this.dirtyTags=new Set;this.dirtyPersons=new Set;this.removedByOverlay=new Map;this.generation=0;this.overlayTimer=null;this.unhook=null}trackLocalChanges(){if(this.unhook)return;let e=D({track(){},trigger:r=>this.onRecordChanged(r)}),t=W.subscribe(A.type,()=>{this.syncHidden(),this.notify()});this.unhook=()=>{e(),t()}}load(e,t){let r=this.loads.get(e);return r||(r=this.doLoad(e,t,this.generation),this.loads.set(e,r)),r}ready(e=U.userLang){let t=this.states.get(e)?.status;return t==="ready"||t==="error"?Promise.resolve():this.waiter(e).promise}state(e=U.userLang){return this.states.get(e)??{status:"idle",source:null,shards:0}}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}search(e){let t=e.lang??U.userLang,r=e.filters?.relations?.topic,o=r?.length?{...e.filters,relations:{...e.filters.relations,topic:it(r.map(s=>BigInt(s)))}}:e.filters;return this.index.search({...e,lang:t,filters:o})}reset(){this.generation++,this.unhook?.(),this.unhook=null,this.overlayTimer&&clearTimeout(this.overlayTimer),this.overlayTimer=null;for(let e of this.waiters.values())e.resolve();this.index=new O({fieldWeights:oe});for(let e of[this.dirtyBooks,this.dirtyTags,this.dirtyPersons])e.clear();this.removedByOverlay.clear(),this.states.clear(),this.loads.clear(),this.waiters.clear(),this.listeners.clear()}waiter(e){let t=this.waiters.get(e);return t||(t=ot(),this.waiters.set(e,t)),t}setState(e,t){this.states.set(e,{...this.state(e),...t}),this.notify()}async doLoad(e,t,r){if(this.setState(e,{status:"loading",source:t.length?"published":"records",shards:0,error:void 0}),r===this.generation)try{if(t.length){let o=t.map(s=>Oe(s));o.forEach(s=>s.catch(()=>{}));for(let s of o){let i=xe(await s);if(r!==this.generation)return;if(i.lang!==e)throw new Error(`search shard is ${i.lang}, expected ${e}`);if(this.index.addShard(i),this.setState(e,{shards:this.state(e).shards+1}),await _e(),r!==this.generation)return}}else await this.buildFromRecords(e,r);if(r!==this.generation)return;this.rebuildOverlay(e),this.syncHidden(e),this.setState(e,{status:"ready"})}catch(o){if(r!==this.generation)return;console.warn(`[search] ${e} index unavailable; search is off for this language`,o),this.index.clearPublished(e),this.loads.delete(e),this.setState(e,{status:"error",shards:0,error:o instanceof Error?o.message:String(o)})}finally{r===this.generation&&(this.waiters.get(e)?.resolve(),this.waiters.delete(e))}}async buildFromRecords(e,t){let r=new Set,o=[],s=async()=>t!==this.generation?!1:o.length?(this.index.addShard(te(e,o,se)),this.setState(e,{shards:this.state(e).shards+1}),o=[],await _e(),t===this.generation):!0;for(let i of B().get(A.type)?.values()??[]){let c=i;if(r.has(c.id))continue;r.add(c.id);let l=Q(ce(c,e));if(l&&o.push(l),o.length>=nt&&!await s())return}await s()}onRecordChanged(e){let t=e?.id;if(typeof t=="bigint"){switch(e.objectType){case A.type:this.dirtyBooks.add(t);break;case H.type:this.dirtyTags.add(t);for(let r of e.booksIds??[])this.dirtyBooks.add(r);break;case C.type:this.dirtyPersons.add(t);for(let r of e.inAuthorOfIds??[])this.dirtyBooks.add(r);break;default:return}this.overlayTimer===null&&(this.overlayTimer=setTimeout(()=>{this.overlayTimer=null;for(let r of this.states.keys())this.rebuildOverlay(r);this.syncHidden(),this.notify()},st))}}changedBooks(e){let t=new Set(this.dirtyBooks);for(let r of this.dirtyTags)for(let o of this.index.publishedIdsWithRelation(e,"topic",r))t.add(o);for(let r of this.dirtyPersons)for(let o of this.index.publishedIdsWithRelation(e,"author",r))t.add(o);return t}rebuildOverlay(e){let t=[],r=this.removedByOverlay.get(e);r||this.removedByOverlay.set(e,r=new Set);for(let o of this.changedBooks(e)){let s=A.Has(o)?Q(ce(A.Load(o),e)):null;if(!s){r.add(o);continue}r.delete(o);let i=this.index.publishedPresets(e,o),c=s.presets;if(i)for(let[l,g]of Object.entries(i))c[l]==null&&(c[l]=g);t.push(s)}this.index.setOverlay(e,t.length?te(e,t,se):null)}syncHidden(e){let t=e?[e]:[...this.states.keys()],r=W.list(A.type);for(let o of t){let s=new Set(this.removedByOverlay.get(o)??[]);for(let i of r)(!A.Has(i)||!Q(ce(A.Load(i),o)))&&s.add(i);this.index.setHiddenForLanguage(o,s)}}notify(){for(let e of this.listeners)try{e()}catch(t){console.error("[search] listener failed",t)}}};function it(n){let e=new Set,t=[...n];for(;t.length;){let r=t.pop();e.has(r)||(e.add(r),H.Has(r)&&t.push(...H.Load(r).tagsIds))}return[...e]}var Bt=new le;export{dt as a,ft as b,W as c,ht as d,Y as e,j as f,we as g,J as h,K as i,te as j,mt as k,xe as l,se as m,Ae as n,oe as o,Ve as p,Ee as q,Q as r,O as s,ce as t,le as u,it as v,Bt as w};
2
- //# sourceMappingURL=chunk-D4DXGA2W.js.map
1
+ /*!
2
+ D-Open Code Sovereign Licence 1.1 · © 2026 Antoine LUCAS · SPDX-License-Identifier: LicenseRef-DOCSL-1.1
3
+ Non-commercial use of unmodified copies only. By using this file you accept the Licence, incl. USD 50M liquidated damages (s 16.4).
4
+ Full text: https://registry.worldbibliotech.com/licence and the LICENSE file · Contact: admin@pondenterprise.com
5
+ */
6
+ import{Tb as C,_ as D,ac as H,cc as N,ea as B,i as fe,j as ue,jc as A,ob as ge,s as he,sb as U}from"./chunk-3ALQKSIN.js";var X="the_library:trash:v1";function Pe(){let n=new Map;if(typeof localStorage>"u")return n;try{let e=localStorage.getItem(X);if(!e)return n;let t=JSON.parse(e);for(let[r,o]of Object.entries(t)){let s=new Map;for(let[i,c]of Object.entries(o))s.set(i,new Set(c.map(ue)));n.set(Number(r),s)}}catch(e){console.warn("[trash] failed to load localStorage seed",e)}return n}var T=Pe(),F=new Map;function me(){if(typeof localStorage>"u")return;let n={};for(let[e,t]of T){let r={};for(let[o,s]of t)s.size>0&&(r[o]=Array.from(s,fe));Object.keys(r).length>0&&(n[e]=r)}try{localStorage.setItem(X,JSON.stringify(n))}catch(e){console.warn("[trash] failed to persist localStorage snapshot",e)}}function be(n){F.get(n)?.forEach(e=>{try{e()}catch(t){console.error("[trash] listener failed",t)}})}function De(n,e){let t=T.get(n);t||(t=new Map,T.set(n,t));let r=t.get(e);return r||(r=new Set,t.set(e,r)),r}function Se(n){let e=n?.schema?.objectId,t=n?.id;if(typeof e!="number"||typeof t!="bigint")return null;let r=n.creatorUsername??"",o=De(e,r),s=n.deleted===!0||n.safe===!1,i=o.has(t);return s===i?null:(s?o.add(t):o.delete(t),e)}var Be=50,k=null,L=null;function Ue(){L=null;let n=k;if(k=null,!(!n||n.size===0)){me();for(let e of n)be(e)}}function Ce(n){let e=Se(n);e!==null&&(k||(k=new Set),k.add(e),L===null&&(L=setTimeout(Ue,Be)))}function dt(){$();let n=new Set;for(let e of B().values())for(let t of e.values()){let r=Se(t);r!==null&&n.add(r)}if(n.size!==0){me();for(let e of n)be(e)}}var pe=!1;function $(){pe||(pe=!0,D({track(){},trigger:Ce}))}function ft(){T.clear(),F.clear(),k=null,L!==null&&(clearTimeout(L),L=null),typeof localStorage<"u"&&localStorage.removeItem(X)}var W={list(n,e=[]){$();let t=T.get(n);if(!t)return[];let r=new Set,o=e.length>0?e:t.keys();for(let s of o)for(let i of t.get(s)??[])r.add(i);return Array.from(r)},count(n,e=[]){return W.list(n,e).length},usernames(n){return $(),Array.from(T.get(n)?.keys()??[])},subscribe(n,e){$();let t=F.get(n);return t||(t=new Set,F.set(n,t)),t.add(e),()=>t.delete(e)}};var ht=40,He=/[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Thai}\p{Script=Lao}\p{Script=Khmer}\p{Script=Myanmar}\p{Script=Tibetan}]/u,Ne=/[\p{L}\p{N}\p{M}]+/gu,$e=/[̀-ͯ]/g,Fe=/\p{N}/u,We=/\p{M}/u;function Y(n){return n.normalize("NFKD").replace($e,"").normalize("NFC").toLowerCase()}function je(n,e){let t=Array.from(e);t.length===1&&!Fe.test(e)||n.push(t.length>40?t.slice(0,40).join(""):e)}function ze(n,e){if(e.length===1){n.push(e[0]);return}for(let t=0;t+1<e.length;t++)n.push(e[t]+e[t+1])}function j(n){if(!n)return[];let e=[];for(let[t]of Y(n).matchAll(Ne)){let r=[],o=!1,s=()=>{r.length!==0&&(o?ze(e,r):je(e,r.join("")),r=[])};for(let i of t){let c=He.test(i)||o&&r.length>0&&We.test(i);r.length>0&&c!==o&&s(),o=c,r.push(i)}s()}return e}var we=1146114865,J=1,Z=8,Ke=65535;function K(n,e){return n<e?-1:n>e?1:0}function Ge(n,e,t){if(e==null||e==="")return n.kind==="score"?0:null;if(n.kind==="label")return String(e);if(typeof e!="number"||!Number.isInteger(e)||e<0||e>255)throw new Error(`search shard: preset "${n.name}" of ${t} must be an integer 0\u2013255, got ${JSON.stringify(e)}`);return e}function te(n,e,t){if(t.fields.length===0||t.fields.length>Z)throw new Error(`search shard: 1\u2013${Z} fields required, got ${t.fields.length}`);if(t.relations.length>255||t.presets.length>255)throw new Error("search shard: at most 255 relations and 255 presets");let r=[...e].sort((a,f)=>K(a.wireId,f.wireId));for(let a=1;a<r.length;a++)if(r[a].wireId===r[a-1].wireId)throw new Error(`search shard: duplicate wireId ${r[a].wireId}`);let o=r.length,s=t.fields.length,i=t.fields.map(()=>new Uint32Array(o)),c=new Map;r.forEach((a,f)=>{t.fields.forEach((y,b)=>{let S=j(a.fields[y]);i[b][f]=S.length;for(let h of S){let m=c.get(h);m||(m={docs:[],tf:[]},c.set(h,m));let w=m.docs.length-1;if(w<0||m.docs[w]!==f){m.docs.push(f);for(let I=0;I<s;I++)m.tf.push(0)}let R=(m.docs.length-1)*s+b;m.tf[R]=Math.min(Ke,m.tf[R]+1)}})});let l=[...c.keys()].sort(),g=new Uint32Array(l.length+1),d=0;l.forEach((a,f)=>{g[f]=d,d+=c.get(a).docs.length}),g[l.length]=d;let p=new Uint32Array(d),u=new Uint16Array(d*s);l.forEach((a,f)=>{let{docs:y,tf:b}=c.get(a);p.set(y,g[f]),u.set(b,g[f]*s)});let v=t.relations.map(a=>{let f=r.map(m=>[...new Set(m.relations?.[a]??[])]),y=[...new Set(f.flat())].sort(K),b=new Map(y.map((m,w)=>[m,w])),S=new Uint32Array(o+1),h=[];return f.forEach((m,w)=>{S[w]=h.length,h.push(...m.map(R=>b.get(R)).sort((R,I)=>R-I))}),S[o]=h.length,{name:a,ids:y,offsets:S,values:Uint32Array.from(h)}}),x=t.presets.map(a=>{let f=r.map(h=>Ge(a,h.presets?.[a.name],h.wireId)),y=new Uint8Array(o);if(a.kind==="score")return f.forEach((h,m)=>{y[m]=h}),{name:a.name,kind:a.kind,labels:[],values:y};let b=[...new Set(f.filter(h=>h!==null))].sort();if(b.length>255)throw new Error(`search shard: label preset "${a.name}" has ${b.length} distinct values (max 255)`);let S=new Map(b.map((h,m)=>[h,m+1]));return f.forEach((h,m)=>{y[m]=h===null?0:S.get(h)}),{name:a.name,kind:a.kind,labels:b,values:y}});return{lang:n,wireIds:r.map(a=>a.wireId),fields:[...t.fields],fieldLengths:i,relations:v,presets:x,terms:l,postingOffsets:g,postingDocs:p,postingTf:u}}var q=class{constructor(){this.buf=new Uint8Array(65536);this.pos=0;this.encoder=new TextEncoder}reserve(e){if(this.pos+e<=this.buf.length)return;let t=this.buf.length*2;for(;t<this.pos+e;)t*=2;let r=new Uint8Array(t);r.set(this.buf.subarray(0,this.pos)),this.buf=r}u8(e){this.reserve(1),this.buf[this.pos++]=e}u32(e){this.reserve(4),this.buf[this.pos++]=e>>>24&255,this.buf[this.pos++]=e>>>16&255,this.buf[this.pos++]=e>>>8&255,this.buf[this.pos++]=e&255}varuint(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`search shard: varuint out of range: ${e}`);for(this.reserve(8);e>=128;)this.buf[this.pos++]=e%128|128,e=Math.floor(e/128);this.buf[this.pos++]=e}varbig(e){if(e<0n)throw new Error(`search shard: negative id ${e}`);for(this.reserve(10);e>=0x80n;)this.buf[this.pos++]=Number(e&0x7fn)|128,e>>=7n;this.buf[this.pos++]=Number(e)}bytes(e){this.reserve(e.length),this.buf.set(e,this.pos),this.pos+=e.length}str(e){let t=this.encoder.encode(e);this.varuint(t.length),this.bytes(t)}finish(){return this.buf.slice(0,this.pos)}},ee=class{constructor(e){this.buf=e;this.pos=0;this.decoder=new TextDecoder}need(e){if(this.pos+e>this.buf.length)throw new Error("search shard: truncated")}u8(){return this.need(1),this.buf[this.pos++]}u32(){this.need(4);let e=this.buf,t=this.pos;return this.pos+=4,(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}varuint(){let e=0,t=1;for(;;){let r=this.u8();if(e+=(r&127)*t,r<128)return e;if(t*=128,t>Number.MAX_SAFE_INTEGER)throw new Error("search shard: varuint overflow")}}varbig(){let e=0n,t=0n;for(;;){let r=this.u8();if(e|=BigInt(r&127)<<t,r<128)return e;if(t+=7n,t>63n)throw new Error("search shard: id overflow")}}bytes(e){this.need(e);let t=this.buf.subarray(this.pos,this.pos+e);return this.pos+=e,t}str(){return this.decoder.decode(this.bytes(this.varuint()))}get done(){return this.pos===this.buf.length}};function ye(n,e){let t=0n;e.forEach((r,o)=>{n.varbig(o===0?r:r-t),t=r})}function ve(n,e){let t=new Array(e),r=0n;for(let o=0;o<e;o++)r=o===0?n.varbig():r+n.varbig(),t[o]=r;return t}function Qe(n,e){let t=Math.min(n.length,e.length),r=0;for(;r<t&&n.charCodeAt(r)===e.charCodeAt(r);)r++;return r>0&&r<e.length&&(e.charCodeAt(r)&64512)===56320&&r--,r}function mt(n){let e=new q,t=n.wireIds.length,r=n.fields.length;e.u32(we),e.u8(J),e.u8(0),e.str(n.lang),e.varuint(t),e.u8(r);for(let s of n.fields)e.str(s);ye(e,n.wireIds);for(let s of n.fieldLengths)for(let i of s)e.varuint(i);e.u8(n.relations.length);for(let s of n.relations){e.str(s.name),e.varuint(s.ids.length),ye(e,s.ids);for(let i=0;i<t;i++){e.varuint(s.offsets[i+1]-s.offsets[i]);for(let c=s.offsets[i];c<s.offsets[i+1];c++)e.varuint(s.values[c])}}e.u8(n.presets.length);for(let s of n.presets){if(e.str(s.name),e.u8(s.kind==="score"?0:1),s.kind==="label"){e.varuint(s.labels.length);for(let i of s.labels)e.str(i)}e.bytes(s.values)}e.varuint(n.terms.length);let o="";for(let s of n.terms){let i=Qe(o,s);e.varuint(i),e.str(s.slice(i)),o=s}for(let s=0;s<n.terms.length;s++){let i=n.postingOffsets[s],c=n.postingOffsets[s+1];e.varuint(c-i);let l=0;for(let g=i;g<c;g++){let d=n.postingDocs[g];e.varuint(g===i?d:d-l),l=d;let p=0;for(let u=0;u<r;u++)n.postingTf[g*r+u]>0&&(p|=1<<u);e.u8(p);for(let u=0;u<r;u++)p&1<<u&&e.varuint(n.postingTf[g*r+u])}}return e.finish()}function z(n,e,t){if(n>=e)throw new Error(`search shard: ${t} ${n} out of range (< ${e})`);return n}function xe(n){let e=new ee(n instanceof Uint8Array?n:new Uint8Array(n)),t=e.u32();if(t!==we)throw new Error(`Invalid search shard magic 0x${t.toString(16)} (expected DPS1)`);let r=e.u8();if(r!==J)throw new Error(`Unsupported search shard format version ${r} (this reader handles ${J})`);e.u8();let o=e.str(),s=e.varuint(),i=e.u8();if(i===0||i>Z)throw new Error(`search shard: bad field count ${i}`);let c=Array.from({length:i},()=>e.str()),l=ve(e,s),g=c.map(()=>{let b=new Uint32Array(s);for(let S=0;S<s;S++)b[S]=e.varuint();return b}),d=Array.from({length:e.u8()},()=>{let b=e.str(),S=ve(e,e.varuint()),h=new Uint32Array(s+1),m=[];for(let w=0;w<s;w++){h[w]=m.length;let R=e.varuint();for(let I=0;I<R;I++)m.push(z(e.varuint(),S.length,`relation "${b}" id index`))}return h[s]=m.length,{name:b,ids:S,offsets:h,values:Uint32Array.from(m)}}),p=Array.from({length:e.u8()},()=>{let b=e.str(),S=e.u8()===0?"score":"label",h=S==="label"?Array.from({length:e.varuint()},()=>e.str()):[],m=e.bytes(s).slice();return S==="label"&&m.forEach(w=>z(w,h.length+1,`preset "${b}" label`)),{name:b,kind:S,labels:h,values:m}}),u=e.varuint(),v=new Array(u),x="";for(let b=0;b<u;b++){let S=e.varuint();x=x.slice(0,S)+e.str(),v[b]=x}let a=new Uint32Array(u+1),f=[],y=[];for(let b=0;b<u;b++){a[b]=f.length;let S=e.varuint(),h=0;for(let m=0;m<S;m++){h=z(m===0?e.varuint():h+e.varuint(),s,"posting doc"),f.push(h);let w=z(e.u8(),1<<i,"posting field mask");for(let R=0;R<i;R++)y.push(w&1<<R?e.varuint():0)}}if(a[u]=f.length,!e.done)throw new Error("search shard: trailing bytes");return{lang:o,wireIds:l,fields:c,fieldLengths:g,relations:d,presets:p,terms:v,postingOffsets:a,postingDocs:Uint32Array.from(f),postingTf:Uint16Array.from(y)}}var ne={quality:["illustrations","educationQuality","practicality","accessibilityLevel"],education:["pedagogicalScaffolding","clarityOfExplanation","workedExamples","exercisesAndAssessment","selfStudyReadiness","referenceApparatus","safetyGuidance","contentCurrency"],themeRelevance:["ecoRegeneration","communityLiving","promotesPeace","businessDevelopment"]},Re={no_ecological_harm:"noEcologicalHarm",no_ai_generation:"noAiGeneration",no_explicit_or_violence:"noExplicitOrViolence",no_stolen_content:"noStolenContent",no_politics:"noPolitics",no_spirituality:"noSpirituality",no_history:"noHistory",no_medicine:"noMedicine",no_fiction:"noFiction",no_psychological_profiling:"noPsychologicalProfiling"},Ie={electronic_warfare:"watchlistElectronicWarfare",interrogation:"watchlistInterrogation",distillation:"watchlistDistillation",alcohol:"watchlistAlcohol"},re=n=>({name:n,kind:"score"}),M=n=>({name:n,kind:"label"}),se={fields:["title","authors","description"],relations:["topic","author"],presets:[...Object.values(ne).flat().map(re),re("overallScore"),...Object.values(Re).map(re),M("teacherMaterials"),...Object.values(Ie).map(M),M("ageGradeBand"),M("screenResult"),M("dsafeTextQuality"),M("copyrightStatus")]},Ae=[...Object.values(ne).flat(),"teacherMaterials"],oe={title:3,authors:2,description:1},G=n=>typeof n=="number"&&Number.isInteger(n)&&n>=0&&n<=255?n:void 0;function Ve(n,e,t){let r={};for(let[i,c]of Object.entries(ne))for(let l of c){let g=G(n?.[l]);r[l]=t?.has(l)||g?g??null:G(e?.[i]?.[l]?.score)??null}r.overallScore=G(e?.dsafe?.overallScore)??null;for(let[i,c]of Object.entries(Re))r[c]=G(e?.dsafe?.exclusions?.[i]?.score)??null;let o=t?.has("teacherMaterials")||n?.teacherMaterials===!0?n?.teacherMaterials:e?.education?.teacherMaterials;r.teacherMaterials=typeof o=="boolean"?o:null;for(let[i,c]of Object.entries(Ie)){let l=e?.dsafe?.watchlistTopics?.[i]?.present;r[c]=typeof l=="boolean"?l:null}let s=i=>typeof i=="string"&&i!==""?i:null;return r.ageGradeBand=s(e?.education?.ageGradeBand),r.screenResult=s(e?.dsafe?.screenResult),r.dsafeTextQuality=s(e?.dsafe?.textQuality),r.copyrightStatus=s(e?.metadata?.copyrightStatus),r}function Ee(n,e="deepseek",t="deepseek-chat"){let r=n?.get(e)?.get(t),o;for(let s of r??[])(!o||s.ts>o.ts)&&(o=s);return o?.value}function Q(n){return n.safe===!1||n.deleted===!0||!n.title?null:{wireId:n.wireId,fields:{title:n.title,authors:n.authorNames.filter(Boolean).join(", "),description:n.description??""},relations:{topic:[...n.topicIds],author:[...n.authorIds]},presets:Ve(n.extended,n.ai,n.curated)}}var ke=1.2,Le=.75,Xe=.6,Te=new WeakMap;function V(n){let e=Te.get(n);return e||(e={presets:new Map(n.presets.map(t=>[t.name,t])),relations:new Map(n.relations.map(t=>[t.name,t]))},Te.set(n,e)),e}function ie(n,e){let t=n?n.values[e]:0;return t===0?null:n.kind==="label"?n.labels[t-1]:t}var Ye=/[\p{L}\p{N}\p{M}]+$/u;function Je(n){let e=j(n);if(/\s$/u.test(n))return{words:[...new Set(e)],prefixWord:null};let t=Ye.exec(Y(n))?.[0];return t&&Array.from(t).length===1&&e[e.length-1]!==t&&e.push(t),{words:[...new Set(e)],prefixWord:e.length?e[e.length-1]:null}}function Ze(n,e){let t=0,r=n.length;for(;t<r;){let o=t+r>>>1;n[o]<e?t=o+1:r=o}return t}function ae(n,e){let t=0,r=n.length-1;for(;t<=r;){let o=t+r>>>1;if(n[o]===e)return o;n[o]<e?t=o+1:r=o-1}return-1}var O=class{constructor(e={}){this.langs=new Map;this.hidden=new Set;this.fieldWeights=e.fieldWeights??{}}state(e){let t=this.langs.get(e);return t||(t={published:[],overlay:null,hidden:new Set,resolved:null,stats:null},this.langs.set(e,t)),t}invalidate(e){e.resolved=null,e.stats=null}addShard(e){let t=this.state(e.lang);t.published.push(e),this.invalidate(t)}clearPublished(e){let t=this.langs.get(e);t&&(t.published=[],this.invalidate(t))}setOverlay(e,t){if(t&&t.lang!==e)throw new Error(`overlay shard is ${t.lang}, not ${e}`);let r=this.state(e);r.overlay=t,this.invalidate(r)}hide(e){for(let t of e)this.hidden.add(t);for(let t of this.langs.values())t.stats=null}unhide(e){for(let t of e)this.hidden.delete(t);for(let t of this.langs.values())t.stats=null}setHidden(e){this.hidden.clear(),this.hide(e)}hideForLanguage(e,t){let r=this.state(e);for(let o of t)r.hidden.add(o);r.stats=null}unhideForLanguage(e,t){let r=this.state(e);for(let o of t)r.hidden.delete(o);r.stats=null}setHiddenForLanguage(e,t){let r=this.state(e);r.hidden.clear();for(let o of t)r.hidden.add(o);r.stats=null}publishedPresets(e,t){let r=this.langs.get(e);if(r)for(let o=r.published.length-1;o>=0;o--){let s=r.published[o],i=ae(s.wireIds,t);if(i<0)continue;let c={};for(let l of s.presets){let g=ie(l,i);g!==null&&(c[l.name]=g)}return c}}publishedIdsWithRelation(e,t,r){let o=[];for(let s of this.langs.get(e)?.published??[]){let i=V(s).relations.get(t),c=i?ae(i.ids,r):-1;if(!(c<0)){for(let l=0;l<s.wireIds.length;l++)for(let g=i.offsets[l];g<i.offsets[l+1];g++)if(i.values[g]===c){o.push(s.wireIds[l]);break}}}return o}languages(){return[...this.langs.entries()].filter(([,e])=>e.published.length>0||e.overlay).map(([e])=>e)}size(e){return this.stats(this.state(e)).docCount}resolve(e){if(e.resolved)return e.resolved;let t=new Map;for(let r of[...e.published,...e.overlay?[e.overlay]:[]])r.wireIds.forEach((o,s)=>t.set(o,{shard:r,doc:s}));return e.resolved=t,t}isLive(e,t,r){let o=t.wireIds[r];if(this.hidden.has(o)||e.hidden.has(o))return!1;let s=this.resolve(e).get(o);return s!==void 0&&s.shard===t&&s.doc===r}stats(e){if(e.stats)return e.stats;let t=new Map,r=0;for(let s of this.resolve(e).values()){let i=s.shard.wireIds[s.doc];this.hidden.has(i)||e.hidden.has(i)||(r++,s.shard.fields.forEach((c,l)=>t.set(c,(t.get(c)??0)+s.shard.fieldLengths[l][s.doc])))}let o=new Map;for(let[s,i]of t)o.set(s,r?i/r:0);return e.stats={docCount:r,avgLen:o},e.stats}shardsOf(e){return e.overlay?[...e.published,e.overlay]:e.published}search(e){let t=this.state(e.lang),r=this.shardsOf(t),{words:o,prefixWord:s}=Je(e.text??""),i=e.fieldWeights??this.fieldWeights,c=null;if(o.length>0){let{docCount:a,avgLen:f}=this.stats(t);for(let y of o){let b=this.scoreWord(r,y,y===s,a,f,i);if(c===null){c=b;continue}let S=new Map;for(let[h,m]of c){let w=b.get(h);if(!w)continue;let R=new Map;for(let[I,P]of m){let E=w.get(I);E!==void 0&&R.set(I,P+E)}R.size&&S.set(h,R)}c=S}}let l=[],g=this.compileFilters(e.filters),d=(a,f,y)=>{this.isLive(t,a,f)&&g(a,f)&&l.push({shard:a,doc:f,score:y})};if(c===null)for(let a of r)for(let f=0;f<a.wireIds.length;f++)d(a,f,0);else for(let[a,f]of c)for(let[y,b]of f)d(a,y,b);let p=(a,f)=>f.score-a.score||K(a.shard.wireIds[a.doc],f.shard.wireIds[f.doc]);if(e.sort){let{preset:a,dir:f="desc"}=e.sort,y=f==="asc"?1:-1,b=l.map(S=>({h:S,v:ie(V(S.shard).presets.get(a),S.doc)}));b.sort((S,h)=>S.v!==h.v?S.v===null?1:h.v===null?-1:(S.v<h.v?-1:1)*y:p(S.h,h.h)),b.forEach((S,h)=>{l[h]=S.h})}else l.sort(p);let u={};for(let a of e.facets??[])u[a]=this.countFacet(a,l);let v=e.offset??0,x=e.limit??20;return{total:l.length,hits:l.slice(v,v+x).map(a=>({wireId:a.shard.wireIds[a.doc],score:a.score})),facets:u}}scoreWord(e,t,r,o,s,i){let c=e.map(d=>{let p=[],u=Ze(d.terms,t);if(u<d.terms.length&&d.terms[u]===t&&(p.push({t:u,exact:!0}),u++),r)for(;u<d.terms.length&&d.terms[u].startsWith(t);u++)p.push({t:u,exact:!1});return p}),l=new Map;e.forEach((d,p)=>{for(let{t:u}of c[p]){let v=d.terms[u];l.set(v,(l.get(v)??0)+d.postingOffsets[u+1]-d.postingOffsets[u])}});let g=new Map;return e.forEach((d,p)=>{if(c[p].length===0)return;let u=d.fields.length,v=d.fields.map(f=>i?.[f]??1),x=d.fields.map(f=>s.get(f)||1),a=new Map;for(let{t:f,exact:y}of c[p]){let b=Math.min(l.get(d.terms[f]),o),S=Math.log(1+(o-b+.5)/(b+.5)),h=y?1:Xe;for(let m=d.postingOffsets[f];m<d.postingOffsets[f+1];m++){let w=d.postingDocs[m],R=0;for(let E=0;E<u;E++){let de=d.postingTf[m*u+E];de&&(R+=v[E]*de/(1-Le+Le*d.fieldLengths[E][w]/x[E]))}let I=h*S*(R*(ke+1)/(R+ke)),P=a.get(w);(P===void 0||I>P)&&a.set(w,I)}}a.size&&g.set(d,a)}),g}compileFilters(e){let t=Object.entries(e?.presets??{}).filter(([,i])=>!("in"in i)||i.in.length>0),r=Object.entries(e?.relations??{}).filter(([,i])=>i.length>0).map(([i,c])=>[i,c.map(l=>BigInt(l))]);if(t.length===0&&r.length===0)return()=>!0;let o=new WeakMap,s=i=>{let c=[],{presets:l,relations:g}=V(i);for(let[d,p]of t){let u=l.get(d);if("in"in p){let v=new Set;u&&p.in.forEach(x=>{let a=u.labels.indexOf(x);a>=0&&v.add(a+1)}),c.push(x=>u!==void 0&&v.has(u.values[x]))}else{let v=p.min??0,x=p.max??255;c.push(a=>{let f=u?u.values[a]:0;return f===0?p.includeUnknown===!0:f>=v&&f<=x})}}for(let[d,p]of r){let u=g.get(d),v=new Set;if(u)for(let x of p){let a=ae(u.ids,x);a>=0&&v.add(a)}c.push(x=>{if(!u||v.size===0)return!1;for(let a=u.offsets[x];a<u.offsets[x+1];a++)if(v.has(u.values[a]))return!0;return!1})}return d=>c.every(p=>p(d))};return(i,c)=>{let l=o.get(i);return l||(l=s(i),o.set(i,l)),l(c)}}countFacet(e,t){let r={},o=s=>{r[s]=(r[s]??0)+1};for(let{shard:s,doc:i}of t){let{presets:c,relations:l}=V(s),g=c.get(e);if(g){let p=ie(g,i);p!==null&&o(String(p));continue}let d=l.get(e);if(d)for(let p=d.offsets[i];p<d.offsets[i+1];p++)o(d.ids[d.values[p]].toString())}return r}};var _=class extends Error{constructor(e,t){super(`Sidecar temporarily unavailable (${t}): ${e}`),this.name="SidecarFetchError"}},qe=18,Me=[500,1500,4e3],et=n=>{if(n.byteLength!==2)return!1;let e=new Uint8Array(n);return e[0]===123&&e[1]===125};async function tt(n,e=!1){let t;for(let r=0;r<Me.length+1;r++)try{let o=r===0?n:`${n}${n.includes("?")?"&":"?"}_retry=${r}`,s=await fetch(o,r===0?void 0:{cache:"reload"});if(!s.ok)throw new _(n,`HTTP ${s.status}`);let i=await s.arrayBuffer();if(i.byteLength<qe&&!(e&&et(i)))throw new _(n,`only ${i.byteLength} byte(s) returned`);return i}catch(o){t=o;let s=Me[r];s!==void 0&&await new Promise(i=>setTimeout(i,s))}throw t instanceof Error?t:new _(n,String(t))}async function rt(n){let e=new Uint8Array(n,0,Math.min(2,n.byteLength));if(e[0]!==31||e[1]!==139)return n;let t=new DecompressionStream("gzip"),r=t.writable.getWriter(),o=t.readable.getReader();r.write(new Uint8Array(n)),r.close();let s=[],i=!1;for(;!i;){let{value:d,done:p}=await o.read();d&&s.push(d),i=p}let c=s.reduce((d,p)=>d+p.byteLength,0),l=new Uint8Array(c),g=0;for(let d of s)l.set(d,g),g+=d.byteLength;return l.buffer}async function Oe(n,e=!1){return rt(await tt(n,e))}var nt=500,st=150,_e=()=>new Promise(n=>setTimeout(n,0));function ce(n,e){let t=ge(A.type,n.id),r={},o=new Set;for(let i of Ae){let c=N[i];r[i]=n.getProp(c,e);let l=t?.properties.get(c)?.some(({langId:g})=>{let d=he[g]??"";return d===""||d===e});(n.getProvenance(c,e)!==0||l)&&o.add(i)}let s=n.authorsIds;return{wireId:n.id,title:n.getTitle(e),description:n.getDescription(e),safe:n.getProp(N.safe,e)??!0,deleted:n.getProp(N.deleted,e)??!1,authorIds:s,authorNames:s.map(i=>C.Has(i)?C.Load(i).getTitle(e):null),topicIds:n.inTagsIds,extended:r,ai:Ee(n.getAiResults(e)),curated:o}}var ot=()=>{let n;return{promise:new Promise(t=>{n=t}),resolve:n}},le=class{constructor(){this.index=new O({fieldWeights:oe});this.states=new Map;this.loads=new Map;this.waiters=new Map;this.listeners=new Set;this.dirtyBooks=new Set;this.dirtyTags=new Set;this.dirtyPersons=new Set;this.removedByOverlay=new Map;this.generation=0;this.overlayTimer=null;this.unhook=null}trackLocalChanges(){if(this.unhook)return;let e=D({track(){},trigger:r=>this.onRecordChanged(r)}),t=W.subscribe(A.type,()=>{this.syncHidden(),this.notify()});this.unhook=()=>{e(),t()}}load(e,t){let r=this.loads.get(e);return r||(r=this.doLoad(e,t,this.generation),this.loads.set(e,r)),r}ready(e=U.userLang){let t=this.states.get(e)?.status;return t==="ready"||t==="error"?Promise.resolve():this.waiter(e).promise}state(e=U.userLang){return this.states.get(e)??{status:"idle",source:null,shards:0}}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}search(e){let t=e.lang??U.userLang,r=e.filters?.relations?.topic,o=r?.length?{...e.filters,relations:{...e.filters.relations,topic:it(r.map(s=>BigInt(s)))}}:e.filters;return this.index.search({...e,lang:t,filters:o})}reset(){this.generation++,this.unhook?.(),this.unhook=null,this.overlayTimer&&clearTimeout(this.overlayTimer),this.overlayTimer=null;for(let e of this.waiters.values())e.resolve();this.index=new O({fieldWeights:oe});for(let e of[this.dirtyBooks,this.dirtyTags,this.dirtyPersons])e.clear();this.removedByOverlay.clear(),this.states.clear(),this.loads.clear(),this.waiters.clear(),this.listeners.clear()}waiter(e){let t=this.waiters.get(e);return t||(t=ot(),this.waiters.set(e,t)),t}setState(e,t){this.states.set(e,{...this.state(e),...t}),this.notify()}async doLoad(e,t,r){if(this.setState(e,{status:"loading",source:t.length?"published":"records",shards:0,error:void 0}),r===this.generation)try{if(t.length){let o=t.map(s=>Oe(s));o.forEach(s=>s.catch(()=>{}));for(let s of o){let i=xe(await s);if(r!==this.generation)return;if(i.lang!==e)throw new Error(`search shard is ${i.lang}, expected ${e}`);if(this.index.addShard(i),this.setState(e,{shards:this.state(e).shards+1}),await _e(),r!==this.generation)return}}else await this.buildFromRecords(e,r);if(r!==this.generation)return;this.rebuildOverlay(e),this.syncHidden(e),this.setState(e,{status:"ready"})}catch(o){if(r!==this.generation)return;console.warn(`[search] ${e} index unavailable; search is off for this language`,o),this.index.clearPublished(e),this.loads.delete(e),this.setState(e,{status:"error",shards:0,error:o instanceof Error?o.message:String(o)})}finally{r===this.generation&&(this.waiters.get(e)?.resolve(),this.waiters.delete(e))}}async buildFromRecords(e,t){let r=new Set,o=[],s=async()=>t!==this.generation?!1:o.length?(this.index.addShard(te(e,o,se)),this.setState(e,{shards:this.state(e).shards+1}),o=[],await _e(),t===this.generation):!0;for(let i of B().get(A.type)?.values()??[]){let c=i;if(r.has(c.id))continue;r.add(c.id);let l=Q(ce(c,e));if(l&&o.push(l),o.length>=nt&&!await s())return}await s()}onRecordChanged(e){let t=e?.id;if(typeof t=="bigint"){switch(e.objectType){case A.type:this.dirtyBooks.add(t);break;case H.type:this.dirtyTags.add(t);for(let r of e.booksIds??[])this.dirtyBooks.add(r);break;case C.type:this.dirtyPersons.add(t);for(let r of e.inAuthorOfIds??[])this.dirtyBooks.add(r);break;default:return}this.overlayTimer===null&&(this.overlayTimer=setTimeout(()=>{this.overlayTimer=null;for(let r of this.states.keys())this.rebuildOverlay(r);this.syncHidden(),this.notify()},st))}}changedBooks(e){let t=new Set(this.dirtyBooks);for(let r of this.dirtyTags)for(let o of this.index.publishedIdsWithRelation(e,"topic",r))t.add(o);for(let r of this.dirtyPersons)for(let o of this.index.publishedIdsWithRelation(e,"author",r))t.add(o);return t}rebuildOverlay(e){let t=[],r=this.removedByOverlay.get(e);r||this.removedByOverlay.set(e,r=new Set);for(let o of this.changedBooks(e)){let s=A.Has(o)?Q(ce(A.Load(o),e)):null;if(!s){r.add(o);continue}r.delete(o);let i=this.index.publishedPresets(e,o),c=s.presets;if(i)for(let[l,g]of Object.entries(i))c[l]==null&&(c[l]=g);t.push(s)}this.index.setOverlay(e,t.length?te(e,t,se):null)}syncHidden(e){let t=e?[e]:[...this.states.keys()],r=W.list(A.type);for(let o of t){let s=new Set(this.removedByOverlay.get(o)??[]);for(let i of r)(!A.Has(i)||!Q(ce(A.Load(i),o)))&&s.add(i);this.index.setHiddenForLanguage(o,s)}}notify(){for(let e of this.listeners)try{e()}catch(t){console.error("[search] listener failed",t)}}};function it(n){let e=new Set,t=[...n];for(;t.length;){let r=t.pop();e.has(r)||(e.add(r),H.Has(r)&&t.push(...H.Load(r).tagsIds))}return[...e]}var Bt=new le;export{dt as a,ft as b,W as c,ht as d,Y as e,j as f,we as g,J as h,K as i,te as j,mt as k,xe as l,se as m,Ae as n,oe as o,Ve as p,Ee as q,Q as r,O as s,ce as t,le as u,it as v,Bt as w};
7
+ //# sourceMappingURL=chunk-QL7HY3IK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/models/trash.ts","../src/models/search/tokenize.ts","../src/models/search/shard.ts","../src/models/search/bookSearch.ts","../src/models/search/searchIndex.ts","../src/models/sidecarFetch.ts","../src/models/search/bookSearchService.ts"],"mappings":"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","names":["STORAGE_KEY","loadSeed","state","raw","parsed","typeStr","byUsername","userMap","username","ids","fromJsonId","_state","_listeners","persist","serialized","objectType","obj","toJsonId","notify","fn","e","bucketFor","applyMembership","record","id","isTrashed","has","LIVE_FLUSH_DELAY_MS","_pendingLive","_liveFlushTimer","flushLive","types","syncRecord","scanTrash","ensureLiveHook","changedTypes","cache","dump","_liveHookRegistered","addReactivitySystem","_resetForTest","trashStore","usernames","merged","keys","listener","set","MAX_TOKEN_LENGTH","UNSPACED_SCRIPT","WORD_RUN","COMBINING_DIACRITICS","DIGIT","MARK","normalizeText","text","pushWord","out","word","chars","pushBigrams","i","tokenize","run","segment","unspaced","flush","ch","isUnspaced","SEARCH_SHARD_MAGIC","SEARCH_SHARD_FORMAT_VERSION","MAX_FIELDS","MAX_TF","compareBigint","a","b","presetByte","spec","raw","wireId","buildSearchShard","lang","docs","schema","sorted","i","docCount","fieldCount","fieldLengths","termDocs","doc","d","field","f","tokens","tokenize","token","entry","last","k","slot","terms","postingOffsets","total","t","postingDocs","postingTf","ds","tf","relations","name","perDoc","ids","indexOf","id","offsets","values","list","presets","v","labels","l","ShardWriter","n","size","next","s","ShardReader","buf","p","result","mul","byte","shift","writeSortedIds","w","prev","readSortedIds","r","count","sharedPrefixLength","serializeSearchShard","shard","lengths","rel","term","shared","start","end","prevDoc","mask","check","value","limit","what","deserializeSearchShard","input","magic","version","fields","wireIds","kind","termCount","tfs","SHARED_SCORES","EXCLUSIONS","WATCHLIST","score","name","label","BOOK_SEARCH_SCHEMA","BOOK_CURATABLE_PRESETS","BOOK_FIELD_WEIGHTS","scoreOf","v","bookSearchPresets","extended","ai","curated","out","group","names","fromExtended","key","teacher","present","str","latestAiValue","results","company","model","entries","latest","e","bookSearchDoc","src","K1","B","PREFIX_FACTOR","columnsCache","columns","shard","c","p","r","presetValue","col","doc","v","TRAILING_RUN","queryWords","text","tokens","tokenize","run","normalizeText","lowerBound","terms","key","lo","hi","mid","findId","ids","id","SearchIndex","options","lang","s","wireIds","wireId","i","out","relation","rel","target","d","k","l","map","ref","totals","docCount","f","avgLen","total","query","shards","words","prefixWord","weights","matched","word","perShard","next","docs","add","kept","sc","a","hits","passes","consider","score","byRelevance","b","compareBigint","preset","dir","sign","keyed","h","facets","name","offset","limit","prefix","termsPerShard","df","si","t","term","result","fieldCount","w","avg","exact","n","idf","factor","tf","raw","best","filters","presetEntries","relationEntries","compiled","compile","checks","presets","relations","wanted","min","max","fn","counts","bump","SidecarFetchError","url","reason","MIN_VALID_SIDECAR_BYTES","FETCH_RETRY_DELAYS_MS","isEmptyAiSidecar","buf","bytes","fetchWithRetry","allowEmptyAi","lastError","attempt","fetchUrl","response","e","delay","r","gunzipIfNeeded","header","ds","writer","reader","chunks","done","value","d","totalLen","s","c","out","offset","chunk","fetchAndDecompress","RECORD_CHUNK_DOCS","OVERLAY_DEBOUNCE_MS","yieldToMain","resolve","bookSearchSourceFromRecord","book","lang","history","getHistory","Book","extended","curated","name","BOOK_CURATABLE_PRESETS","propId","BOOK_PROP_IDS","editedHere","langId","editedLang","LANG_ID_DECODE","authorIds","id","Person","latestAiValue","deferred","r","BookSearchService","SearchIndex","BOOK_FIELD_WEIGHTS","offPatches","addReactivitySystem","record","offTrash","trashStore","shardUrls","running","Config","s","listener","query","topics","filters","expandTopics","t","waiter","set","w","patch","generation","downloads","url","fetchAndDecompress","d","download","shard","deserializeSearchShard","err","seen","chunk","flush","buildSearchShard","BOOK_SEARCH_SCHEMA","dump","doc","bookSearchDoc","Tag","b","ids","tag","person","docs","removed","published","presets","value","langs","trashCandidates","current","hidden","fn","e","topicIds","queue","bookSearch"]}
@@ -1,2 +1,7 @@
1
+ /*!
2
+ D-Open Code Sovereign Licence 1.1 · © 2026 Antoine LUCAS · SPDX-License-Identifier: LicenseRef-DOCSL-1.1
3
+ Non-commercial use of unmodified copies only. By using this file you accept the Licence, incl. USD 50M liquidated damages (s 16.4).
4
+ Full text: https://registry.worldbibliotech.com/licence and the LICENSE file · Contact: admin@pondenterprise.com
5
+ */
1
6
  var m=Symbol("isDraft"),a=Symbol("commit"),f=Symbol("rollback"),l=Symbol("isDirty"),u=Symbol("changes"),d=Symbol("target");function T(r,i){let e=new Map;return new Proxy(r,{get(n,t,c){if(t===m)return!0;if(t===d)return n;if(t===l)return e.size>0;if(t===u)return e;if(t===a)return()=>{if(e.size!==0){for(let[s,y]of e.entries()){if(!(s in n)){console.warn(`[models_v2 Draft] Failed to commit property "${String(s)}" to target instance of "${n.constructor.name}". This property does not exist on the target (possible typo or misspelled field).`);continue}Reflect.set(n,s,y)||console.warn(`[models_v2 Draft] Failed to commit property "${String(s)}" to target instance of "${n.constructor.name}". This property might be read-only (getter-only relations/IDs).`)}e.clear(),i?.()}};if(t===f)return()=>{e.size>0&&(e.clear(),i?.())};if(e.has(t))return e.get(t);let o=Reflect.get(n,t,c);return typeof o=="function"?o.bind(n):o},set(n,t,c,o){return Reflect.get(n,t,o)===c?(e.has(t)&&(e.delete(t),i?.()),!0):(e.set(t,c),i?.(),!0)}})}var x=r=>!!r?.[l];var g=r=>r?.[a]?.(),S=r=>r?.[f]?.();export{T as a,x as b,g as c,S as d};
2
- //# sourceMappingURL=chunk-46FQHZNM.js.map
7
+ //# sourceMappingURL=chunk-SB7IRHJD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/models/draft.ts"],"mappings":";;;;;AASA,IAAMA,EAAW,OAAO,SAAS,EAC3BC,EAAS,OAAO,QAAQ,EACxBC,EAAW,OAAO,UAAU,EAC5BC,EAAW,OAAO,SAAS,EAC3BC,EAAU,OAAO,SAAS,EAC1BC,EAAS,OAAO,QAAQ,EAgBvB,SAASC,EAA2BC,EAAUC,EAA0B,CAC3E,IAAMC,EAAU,IAAI,IAsEpB,OApEc,IAAI,MAAMF,EAAO,CAC3B,IAAIG,EAAQC,EAAMC,EAAU,CACxB,GAAID,IAASX,EAAU,MAAO,GAC9B,GAAIW,IAASN,EAAQ,OAAOK,EAC5B,GAAIC,IAASR,EAAU,OAAOM,EAAQ,KAAO,EAC7C,GAAIE,IAASP,EAAS,OAAOK,EAE7B,GAAIE,IAASV,EACT,MAAO,IAAM,CACT,GAAIQ,EAAQ,OAAS,EAErB,QAAW,CAACI,EAAKC,CAAG,IAAKL,EAAQ,QAAQ,EAAG,CACxC,GAAI,EAAEI,KAAOH,GAAS,CAClB,QAAQ,KACJ,gDAAgD,OAAOG,CAAG,CAAC,4BAA4BH,EAAO,YAAY,IAAI,oFAElH,EACA,QACJ,CACgB,QAAQ,IAAIA,EAAQG,EAAKC,CAAG,GAExC,QAAQ,KACJ,gDAAgD,OAAOD,CAAG,CAAC,4BAA4BH,EAAO,YAAY,IAAI,kEAElH,CAER,CACAD,EAAQ,MAAM,EACdD,IAAW,EACf,EAGJ,GAAIG,IAAST,EACT,MAAO,IAAM,CACLO,EAAQ,KAAO,IACfA,EAAQ,MAAM,EACdD,IAAW,EAEnB,EAIJ,GAAIC,EAAQ,IAAIE,CAAI,EAChB,OAAOF,EAAQ,IAAIE,CAAI,EAI3B,IAAMG,EAAM,QAAQ,IAAIJ,EAAQC,EAAMC,CAAQ,EAC9C,OAAO,OAAOE,GAAQ,WAAaA,EAAI,KAAKJ,CAAM,EAAII,CAC1D,EAEA,IAAIJ,EAAQC,EAAMI,EAAOH,EAAU,CAG/B,OADmB,QAAQ,IAAIF,EAAQC,EAAMC,CAAQ,IAClCG,GACXN,EAAQ,IAAIE,CAAI,IAChBF,EAAQ,OAAOE,CAAI,EACnBH,IAAW,GAER,KAGXC,EAAQ,IAAIE,EAAMI,CAAK,EACvBP,IAAW,EACJ,GACX,CACJ,CAAC,CAGL,CAKO,IAAMQ,EAAgBC,GAAsB,CAAC,CAACA,IAAMC,CAAQ,EAE5D,IAAMC,EAAeC,GAAmBA,IAAMC,CAAM,IAAI,EAClDC,EAAiBF,GAAmBA,IAAMG,CAAQ,IAAI","names":["IS_DRAFT","COMMIT","ROLLBACK","IS_DIRTY","CHANGES","TARGET","createDraft","model","onChange","changes","target","prop","receiver","key","val","value","isDraftDirty","obj","IS_DIRTY","commitDraft","obj","COMMIT","rollbackDraft","ROLLBACK"]}
@@ -1,2 +1,7 @@
1
- import{a as H,w as k}from"./chunk-D4DXGA2W.js";import{c as I}from"./chunk-GWQNULP4.js";import{$a as N,Da as q,Ja as O,M as L,Ma as D,Pa as F,Z as v,_a as V,ca as B,ea as C,fa as P,ga as T,jb as Q,l as j,rb as Y,sb as M,ta as E,tb as G,vb as z}from"./chunk-7G3BMGV2.js";var ce=(e,r)=>{typeof window<"u"&&typeof CustomEvent<"u"&&window.dispatchEvent(new CustomEvent(e,{detail:r,bubbles:!0}))},$=class{constructor(r){this._rrRequest={};this._eventListeners={};this._proReady=E();this._counter=0;this._worker=new Worker(r,{type:"module"}),this._rrRequest={},this._worker.addEventListener("message",t=>{this._onMessage(t.data)}),this._worker.addEventListener("messageerror",t=>{this._onError(t)}),this._worker.onerror=t=>this._onError(t),this.addEventListener("workerready",()=>{this._proReady.resolve(!0)}),this.addEventListener("workerLoadingError",t=>{console.log("Worker loading Error",t),this._proReady.reject(t)})}get ready(){return this._proReady.pro}addEventListener(r,t){r in this._eventListeners||(this._eventListeners[r]=[]),this._eventListeners[r].push(t)}_onMessage(r){let{id:t,result:n,eventName:o,payload:s}=r;if(o&&o!=="undefined"&&o.length>0){ce(o,s),o in this._eventListeners&&this._eventListeners[o].forEach(a=>a(s));return}let{data:c,error:i}=n;if(t in this._rrRequest){let{res:a,rej:l}=this._rrRequest[t];delete this._rrRequest[t],i?l(i):a(c)}else console.error("nop; invalid request id:",t)}_onError(r){console.error("error in Thread",this,r),this._cancelPendingRequests()}_sendRequest(r,t={transferables:[]}){return new Promise((n,o)=>{let s;do s=`req-id-${this._counter}-${Math.random()}`,this._counter+=1;while(s in this._rrRequest);this._rrRequest[s]={res:n,rej:o},this._worker?this._worker.postMessage({id:s,data:r},t.transferables.length>0?t.transferables:void 0):console.log("_sendRequest(): nop (worker already terminated?)")})}sendRequest(r,t=[]){return this._sendRequest(r,{transferables:t})}getWorker(){return this._worker}_cancelPendingRequests(){let r=0;if(Object.entries(this._rrRequest).forEach(([t,n])=>{n.rej(`canceled: ${t}`),delete this._rrRequest[t],r+=1}),Object.keys(this._rrRequest).length!==0)throw"panic: the rr map should have been cleared!"}terminate(){this._cancelPendingRequests();let r=null;return this._worker.terminate(),this._worker=null,r||void 0}},_,m=E(),J=async e=>(m.isStarted()||(m.start(),_=new $(e),_.addEventListener("workerready",()=>{m.resolve(_)}),_.addEventListener("workerLoadingError",r=>{m.reject(r)})),m.pro);var g=null,K=async e=>{e.cacheLimit&&B({cacheLimit:e.cacheLimit}),g===null&&(g=await J(e.workerPath??"/patch-worker.js")),N.initThread(g);let r=await g.sendRequest({cmd:"init",payload:{sidecars:e.sidecars,selectedLangs:e.selectedLangs}}),t=await D("mine");return Q(O(t).filter(n=>!j(n))),await V.calculateLevel("mine"),console.log("InitPatchWorker() done"),r};var X=async(e,r)=>{if(g===null)throw new Error("LoadLanguageWorkerCmd called before InitPatchWorker");return await g.sendRequest({cmd:"loadLanguage",payload:{lang:e,sidecars:r}})};var re="https://arweave.net",R=e=>e.replace(/\/+$/,""),h=(e,r)=>r?`${R(e)}/${r}`:void 0,y=(e,r)=>r?`${R(e)}/${r}`:void 0;function te(e,r,t,n=!1){let o=[];for(let[s,c]of Object.entries(r.objects??{}))for(let i of t){let a=c.tiers.slim?.find(u=>u.file.startsWith(`${i}_`)),l=c.tiers.extended?.find(u=>u.file.startsWith(`${i}_`)),d=c.tiers.prov?.find(u=>u.file.startsWith(`${i}_`)),p=c.tiers["ai-for-D-safe"]?.find(u=>u.file.startsWith(`${i}_`));!a&&!l&&!d||o.push({objectType:Number(s),lang:i,slimUrl:h(e,a?.file),extendedUrl:h(e,l?.file),provUrl:h(e,d?.file),aiUrl:n?h(e,p?.file):void 0})}return o}function de(e,r,t=re,n=!1){let o=[];for(let[s,c]of Object.entries(e.objects??{}))for(let i of r){let a=c[i];a&&o.push({objectType:Number(s),lang:i,slimUrl:y(t,a.slim?.[0]),extendedUrl:y(t,a.extended?.[0]),provUrl:y(t,a.prov?.[0]),aiUrl:n?y(t,a["ai-for-D-safe"]?.[0]):void 0})}return o}function fe(e,r,t){let n=o=>Number(/_(\d+)\.bin$/.exec(o)?.[1]??0);return(r.objects?.["0"]?.tiers.search??[]).filter(o=>o.file.startsWith(`${t}_`)).sort((o,s)=>n(o.file)-n(s.file)).map(o=>h(e,o.file))}function ue(e,r,t=re){return(e.objects?.["0"]?.[r]?.search??[]).map(n=>y(t,n))}function pe(){let e=0;for(let r of C().values())for(let t of r.values())t.restoreInverses(),e++;return e}function oe(e,r){v.bootstrapSidecars(e);let t=new Map(r.map(s=>[s.type,s.create])),n=0,o=T();P(o||"mine");try{for(let s of e){let c=t.get(s.objectType);if(!c)continue;let i=s.slim?L(s.slim):null,a=s.extended?L(s.extended):null,l=s.prov?L(s.prov):null;for(let[d,p]of s.idIndex){let u=typeof d=="bigint"?d:BigInt(d),w=c(u);i&&w.mergeSlim(i,p,s.lang),a&&w.mergeExtended(a,p,s.lang),l&&w.mergeProv(l,p,s.lang);let A=s.ai?.get(u);if(A)for(let[se,ne]of A.entries())for(let[ae,ie]of ne.entries())for(let le of ie)w.attachAiResult(se,ae,s.lang,le);n++}}}finally{P(o)}return pe(),H(),n}async function me(e){Y.init(await q()),G(e.userLang);let r=e.selectedLangs??[e.userLang],t=e.loadAiSidecars||!1;z(t);let n;if(e.localMode){let l;if(e.localManifest)l=e.localManifest;else{let d=await fetch(`${R(e.localMode)}/corpus-index.json?t=${Date.now()}`);if(!d.ok)throw new Error(`local corpus-index.json fetch failed: ${d.status}`);l=await d.json()}n=te(e.localMode,l,r,t),S=l}else if(e.registry)n=de(e.registry.dataBlock,r,e.registry.gateway,t);else throw new Error("bootModelsV2: provide `localMode` (folder) or `registry` (data block)");let o=await K({workerPath:e.workerPath,sidecars:n,selectedLangs:r});e.search!==!1&&k.trackLocalChanges(),v.bootstrapSidecars(o.sidecars);let s=oe(o.sidecars,e.models);for(let l of Object.keys(o.patches)){if(l==="mine")continue;let d=o.patches[l];if(!d?.length)continue;let{applied:p,skipped:u}=await I(d,l);console.log(`[models_v2] replayed ${d.length} stored patch(es) for followed user "${l}": ${p} applied, ${u} skipped`)}let c=(o.patches.mine??[]).length;console.log(`[models_v2] replaying ${c} patches from IndexedDB...`);let{applied:i,skipped:a}=await I(o.patches.mine??[]);console.log(`[models_v2] patch replay complete: ${i} applied, ${a} skipped`),console.log(`[models_v2] booted: ${s} records (${e.localMode?`local ${e.localMode}`:"registry"})`),f=e;for(let l of r)W.add(l);return ye(r),o}var S=null;function ge(e){return f?.localMode?S?fe(f.localMode,S,e):[]:f?.registry?ue(f.registry.dataBlock,e,f.registry.gateway):[]}function he(e=M.userLang){return!f||f.search===!1?Promise.resolve():k.load(e,ge(e))}function ye(e){if(!f||f.search===!1)return;let r=()=>{for(let n of e)he(n)},t=globalThis.requestIdleCallback;t?t(r,{timeout:2e3}):setTimeout(r,0)}var f=null,W=new Set;var U=new Set;function we(e){return U.has(e)}async function Qe(e,r){if(we(e))return;if(!f)throw new Error("loadPartition called before bootModelsV2");let t=M.loadAiSidecars,n=r?.langs??Array.from(W);if(n.length===0)throw new Error("loadPartition: no languages loaded yet to load a partition for");let o=await fetch(`${R(e)}/corpus-index.json?t=${Date.now()}`);if(!o.ok)throw new Error(`partition corpus-index.json fetch failed: ${o.status}`);let s=await o.json();for(let c of n){let i=te(e,s,[c],t);if(i.length===0)continue;let a=await X(c,i);v.bootstrapSidecars(a.sidecars),oe(a.sidecars,f.models)}U.add(e),console.log(`[models_v2] partition loaded: ${e} (${n.join(",")})`)}var b=null,Z=!1,x,Le=2,ee=4e3;async function ve(e){for(let r=0;;r++)try{if(e.init)await e.init();else{let t=await me(e);await e.onBoot?.(t)}return}catch(t){if(r<Le){console.warn(`[models_v2] boot attempt ${r+1} failed, retrying in ${ee}ms...`,t),await new Promise(n=>setTimeout(n,ee));continue}throw console.error("[models_v2] session init failed after retries",t),e.onBootError?.(t),t}}var Ye=(e,r)=>(x=e.onNavigate,r(),b===null?b=ve(e):x?.(),typeof document<"u"&&!Z&&(Z=!0,document.addEventListener("astro:after-swap",()=>{r(),x?.()})),b),Ge=()=>{b=null,x=void 0,f=null,S=null,W.clear(),U.clear(),k.reset()},ze=()=>F();export{he as a,we as b,Qe as c,Ye as d,Ge as e,ze as f};
2
- //# sourceMappingURL=chunk-OELHBR4F.js.map
1
+ /*!
2
+ D-Open Code Sovereign Licence 1.1 · © 2026 Antoine LUCAS · SPDX-License-Identifier: LicenseRef-DOCSL-1.1
3
+ Non-commercial use of unmodified copies only. By using this file you accept the Licence, incl. USD 50M liquidated damages (s 16.4).
4
+ Full text: https://registry.worldbibliotech.com/licence and the LICENSE file · Contact: admin@pondenterprise.com
5
+ */
6
+ import{a as H,w as k}from"./chunk-QL7HY3IK.js";import{c as I}from"./chunk-HZZP2YTW.js";import{$a as N,Da as q,Ja as O,M as L,Ma as D,Pa as F,Z as v,_a as V,ca as B,ea as C,fa as P,ga as T,jb as Q,l as j,rb as Y,sb as M,ta as E,tb as G,vb as z}from"./chunk-3ALQKSIN.js";var ce=(e,r)=>{typeof window<"u"&&typeof CustomEvent<"u"&&window.dispatchEvent(new CustomEvent(e,{detail:r,bubbles:!0}))},$=class{constructor(r){this._rrRequest={};this._eventListeners={};this._proReady=E();this._counter=0;this._worker=new Worker(r,{type:"module"}),this._rrRequest={},this._worker.addEventListener("message",t=>{this._onMessage(t.data)}),this._worker.addEventListener("messageerror",t=>{this._onError(t)}),this._worker.onerror=t=>this._onError(t),this.addEventListener("workerready",()=>{this._proReady.resolve(!0)}),this.addEventListener("workerLoadingError",t=>{console.log("Worker loading Error",t),this._proReady.reject(t)})}get ready(){return this._proReady.pro}addEventListener(r,t){r in this._eventListeners||(this._eventListeners[r]=[]),this._eventListeners[r].push(t)}_onMessage(r){let{id:t,result:n,eventName:o,payload:s}=r;if(o&&o!=="undefined"&&o.length>0){ce(o,s),o in this._eventListeners&&this._eventListeners[o].forEach(a=>a(s));return}let{data:c,error:i}=n;if(t in this._rrRequest){let{res:a,rej:l}=this._rrRequest[t];delete this._rrRequest[t],i?l(i):a(c)}else console.error("nop; invalid request id:",t)}_onError(r){console.error("error in Thread",this,r),this._cancelPendingRequests()}_sendRequest(r,t={transferables:[]}){return new Promise((n,o)=>{let s;do s=`req-id-${this._counter}-${Math.random()}`,this._counter+=1;while(s in this._rrRequest);this._rrRequest[s]={res:n,rej:o},this._worker?this._worker.postMessage({id:s,data:r},t.transferables.length>0?t.transferables:void 0):console.log("_sendRequest(): nop (worker already terminated?)")})}sendRequest(r,t=[]){return this._sendRequest(r,{transferables:t})}getWorker(){return this._worker}_cancelPendingRequests(){let r=0;if(Object.entries(this._rrRequest).forEach(([t,n])=>{n.rej(`canceled: ${t}`),delete this._rrRequest[t],r+=1}),Object.keys(this._rrRequest).length!==0)throw"panic: the rr map should have been cleared!"}terminate(){this._cancelPendingRequests();let r=null;return this._worker.terminate(),this._worker=null,r||void 0}},_,m=E(),J=async e=>(m.isStarted()||(m.start(),_=new $(e),_.addEventListener("workerready",()=>{m.resolve(_)}),_.addEventListener("workerLoadingError",r=>{m.reject(r)})),m.pro);var g=null,K=async e=>{e.cacheLimit&&B({cacheLimit:e.cacheLimit}),g===null&&(g=await J(e.workerPath??"/patch-worker.js")),N.initThread(g);let r=await g.sendRequest({cmd:"init",payload:{sidecars:e.sidecars,selectedLangs:e.selectedLangs}}),t=await D("mine");return Q(O(t).filter(n=>!j(n))),await V.calculateLevel("mine"),console.log("InitPatchWorker() done"),r};var X=async(e,r)=>{if(g===null)throw new Error("LoadLanguageWorkerCmd called before InitPatchWorker");return await g.sendRequest({cmd:"loadLanguage",payload:{lang:e,sidecars:r}})};var re="https://arweave.net",R=e=>e.replace(/\/+$/,""),h=(e,r)=>r?`${R(e)}/${r}`:void 0,y=(e,r)=>r?`${R(e)}/${r}`:void 0;function te(e,r,t,n=!1){let o=[];for(let[s,c]of Object.entries(r.objects??{}))for(let i of t){let a=c.tiers.slim?.find(u=>u.file.startsWith(`${i}_`)),l=c.tiers.extended?.find(u=>u.file.startsWith(`${i}_`)),d=c.tiers.prov?.find(u=>u.file.startsWith(`${i}_`)),p=c.tiers["ai-for-D-safe"]?.find(u=>u.file.startsWith(`${i}_`));!a&&!l&&!d||o.push({objectType:Number(s),lang:i,slimUrl:h(e,a?.file),extendedUrl:h(e,l?.file),provUrl:h(e,d?.file),aiUrl:n?h(e,p?.file):void 0})}return o}function de(e,r,t=re,n=!1){let o=[];for(let[s,c]of Object.entries(e.objects??{}))for(let i of r){let a=c[i];a&&o.push({objectType:Number(s),lang:i,slimUrl:y(t,a.slim?.[0]),extendedUrl:y(t,a.extended?.[0]),provUrl:y(t,a.prov?.[0]),aiUrl:n?y(t,a["ai-for-D-safe"]?.[0]):void 0})}return o}function fe(e,r,t){let n=o=>Number(/_(\d+)\.bin$/.exec(o)?.[1]??0);return(r.objects?.["0"]?.tiers.search??[]).filter(o=>o.file.startsWith(`${t}_`)).sort((o,s)=>n(o.file)-n(s.file)).map(o=>h(e,o.file))}function ue(e,r,t=re){return(e.objects?.["0"]?.[r]?.search??[]).map(n=>y(t,n))}function pe(){let e=0;for(let r of C().values())for(let t of r.values())t.restoreInverses(),e++;return e}function oe(e,r){v.bootstrapSidecars(e);let t=new Map(r.map(s=>[s.type,s.create])),n=0,o=T();P(o||"mine");try{for(let s of e){let c=t.get(s.objectType);if(!c)continue;let i=s.slim?L(s.slim):null,a=s.extended?L(s.extended):null,l=s.prov?L(s.prov):null;for(let[d,p]of s.idIndex){let u=typeof d=="bigint"?d:BigInt(d),w=c(u);i&&w.mergeSlim(i,p,s.lang),a&&w.mergeExtended(a,p,s.lang),l&&w.mergeProv(l,p,s.lang);let A=s.ai?.get(u);if(A)for(let[se,ne]of A.entries())for(let[ae,ie]of ne.entries())for(let le of ie)w.attachAiResult(se,ae,s.lang,le);n++}}}finally{P(o)}return pe(),H(),n}async function me(e){Y.init(await q()),G(e.userLang);let r=e.selectedLangs??[e.userLang],t=e.loadAiSidecars||!1;z(t);let n;if(e.localMode){let l;if(e.localManifest)l=e.localManifest;else{let d=await fetch(`${R(e.localMode)}/corpus-index.json?t=${Date.now()}`);if(!d.ok)throw new Error(`local corpus-index.json fetch failed: ${d.status}`);l=await d.json()}n=te(e.localMode,l,r,t),S=l}else if(e.registry)n=de(e.registry.dataBlock,r,e.registry.gateway,t);else throw new Error("bootModelsV2: provide `localMode` (folder) or `registry` (data block)");let o=await K({workerPath:e.workerPath,sidecars:n,selectedLangs:r});e.search!==!1&&k.trackLocalChanges(),v.bootstrapSidecars(o.sidecars);let s=oe(o.sidecars,e.models);for(let l of Object.keys(o.patches)){if(l==="mine")continue;let d=o.patches[l];if(!d?.length)continue;let{applied:p,skipped:u}=await I(d,l);console.log(`[models_v2] replayed ${d.length} stored patch(es) for followed user "${l}": ${p} applied, ${u} skipped`)}let c=(o.patches.mine??[]).length;console.log(`[models_v2] replaying ${c} patches from IndexedDB...`);let{applied:i,skipped:a}=await I(o.patches.mine??[]);console.log(`[models_v2] patch replay complete: ${i} applied, ${a} skipped`),console.log(`[models_v2] booted: ${s} records (${e.localMode?`local ${e.localMode}`:"registry"})`),f=e;for(let l of r)W.add(l);return ye(r),o}var S=null;function ge(e){return f?.localMode?S?fe(f.localMode,S,e):[]:f?.registry?ue(f.registry.dataBlock,e,f.registry.gateway):[]}function he(e=M.userLang){return!f||f.search===!1?Promise.resolve():k.load(e,ge(e))}function ye(e){if(!f||f.search===!1)return;let r=()=>{for(let n of e)he(n)},t=globalThis.requestIdleCallback;t?t(r,{timeout:2e3}):setTimeout(r,0)}var f=null,W=new Set;var U=new Set;function we(e){return U.has(e)}async function Qe(e,r){if(we(e))return;if(!f)throw new Error("loadPartition called before bootModelsV2");let t=M.loadAiSidecars,n=r?.langs??Array.from(W);if(n.length===0)throw new Error("loadPartition: no languages loaded yet to load a partition for");let o=await fetch(`${R(e)}/corpus-index.json?t=${Date.now()}`);if(!o.ok)throw new Error(`partition corpus-index.json fetch failed: ${o.status}`);let s=await o.json();for(let c of n){let i=te(e,s,[c],t);if(i.length===0)continue;let a=await X(c,i);v.bootstrapSidecars(a.sidecars),oe(a.sidecars,f.models)}U.add(e),console.log(`[models_v2] partition loaded: ${e} (${n.join(",")})`)}var b=null,Z=!1,x,Le=2,ee=4e3;async function ve(e){for(let r=0;;r++)try{if(e.init)await e.init();else{let t=await me(e);await e.onBoot?.(t)}return}catch(t){if(r<Le){console.warn(`[models_v2] boot attempt ${r+1} failed, retrying in ${ee}ms...`,t),await new Promise(n=>setTimeout(n,ee));continue}throw console.error("[models_v2] session init failed after retries",t),e.onBootError?.(t),t}}var Ye=(e,r)=>(x=e.onNavigate,r(),b===null?b=ve(e):x?.(),typeof document<"u"&&!Z&&(Z=!0,document.addEventListener("astro:after-swap",()=>{r(),x?.()})),b),Ge=()=>{b=null,x=void 0,f=null,S=null,W.clear(),U.clear(),k.reset()},ze=()=>F();export{he as a,we as b,Qe as c,Ye as d,Ge as e,ze as f};
7
+ //# sourceMappingURL=chunk-TQW56CCL.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":["forwardEventToWindow","event","detail","Thread","path","proResolver","e","listener","id","result","eventName","payload","data","error","res","rej","opts","transferables","count","rr","promise","_worker","_workerPro","initWorker","workerPath","_worker","InitPatchWorker","options","configureDb","initWorker","PatchInstance","data","mine","getAllPatchesByUsername","PopulateStatsStore","withoutDuplicateActions","p","isEvmPatch","Patches","LoadLanguageWorkerCmd","lang","sidecars","_worker","DEFAULT_GATEWAY","stripSlash","s","join","base","file","txUrl","gateway","txid","localSidecarUrls","basePath","manifest","selectedLangs","loadAi","out","type","obj","lang","slim","t","extended","prov","ai","registrySidecarUrls","data","byLang","tiers","localSearchShardUrls","shardOf","a","b","registrySearchShardUrls","tx","rebuildInverseRelations","n","cache","dump","rec","hydrateAll","sets","factories","IndexRegistry","byType","f","count","previousDefault","getDefaultCreatorUsername","setDefaultCreatorUsername","set","create","slimCols","colsFromSidecar","extendedCols","provCols","idRaw","rowIndex","id","aiForRecord","company","modelMap","modelName","resultSet","res","scanTrash","bootModelsV2","opts","localRecordTable","Db","setDefaultLanguage","langs","loadAi","setLoadAiSidecars","sidecars","manifest","r","stripSlash","localSidecarUrls","_localManifest","registrySidecarUrls","data","InitPatchWorker","bookSearch","hydrated","username","followedPatches","fApplied","fSkipped","applyRestoredPatches","minePatchCount","applied","skipped","_bootOptions","lang","_loadedLangs","startSearch","searchShardUrls","localSearchShardUrls","registrySearchShardUrls","loadSearch","Config","run","idle","_loadedPartitions","hasPartition","basePath","loadPartition","opts","_bootOptions","loadAi","Config","langs","_loadedLangs","r","stripSlash","manifest","lang","sidecars","localSidecarUrls","data","LoadLanguageWorkerCmd","IndexRegistry","hydrateAll","_bootPromise","_swapBound","_onNavigate","BOOT_RETRIES","BOOT_RETRY_DELAY_MS","runBootWithRetry","attempt","bootModelsV2","err","bootstrapSession","installReactivity","resetModelsV2Session","_localManifest","bookSearch","clearLocalPatches","clearAllPatches"]}
@@ -1,2 +1,7 @@
1
+ /*!
2
+ D-Open Code Sovereign Licence 1.1 · © 2026 Antoine LUCAS · SPDX-License-Identifier: LicenseRef-DOCSL-1.1
3
+ Non-commercial use of unmodified copies only. By using this file you accept the Licence, incl. USD 50M liquidated damages (s 16.4).
4
+ Full text: https://registry.worldbibliotech.com/licence and the LICENSE file · Contact: admin@pondenterprise.com
5
+ */
1
6
  var a=new Map,o=new Map,d={active:!1,freedBytes:0,removedCount:0},u=new Set;function s(e){for(let t of u)t(e)}var g={get files(){return a},get renders(){return o},get pruning(){return d},get(e){return a.get(e)??{phase:"unknown"}},getRender(e){return o.get(e)??{pages:new Map}},summary(){let e=0,t=0,n=0,r=0;for(let i of a.values())i.phase==="downloading"&&(e++,n+=i.loaded??0,r+=i.total??0),i.phase==="queued"&&t++;return{active:e,queued:t,loaded:n,total:r}},subscribe(e){return u.add(e),()=>u.delete(e)}};function l(e,t){let n=a.get(e)??{phase:"unknown"};a.set(e,{...n,...t}),s(`file:${e}`)}function f(e,t,n){let r=o.get(e);r||(r={pages:new Map},o.set(e,r)),r.pages.set(t,n),s(`render:${e}`)}function c(e,t){let n=o.get(e);n||(n={pages:new Map},o.set(e,n)),n.bookData=t,s(`render:${e}`)}function v(e){o.delete(e)&&s(`render:${e}`)}function w(e){a.delete(e)&&s(`file:${e}`)}function S(e){d={...d,...e},s("pruning")}function b(e){for(let[t,n]of e)a.set(t,n)}function m(e){for(let[t,n]of e){let r=o.get(t)??{pages:new Map};for(let[i,p]of n)r.pages.set(i,p);o.set(t,r)}}export{g as a,l as b,f as c,c as d,v as e,w as f,S as g,b as h,m as i};
2
- //# sourceMappingURL=chunk-SD3INWZF.js.map
7
+ //# sourceMappingURL=chunk-YRTDYXAD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/downloader/state.ts"],"mappings":";;;;;AA+BA,IAAMA,EAAqC,IAAI,IACzCC,EAAqC,IAAI,IACzCC,EAAyB,CAAE,OAAQ,GAAO,WAAY,EAAG,aAAc,CAAE,EACzEC,EAA4B,IAAI,IAEtC,SAASC,EAAQC,EAAmB,CAChC,QAAWC,KAAKH,EAAYG,EAAED,CAAG,CACrC,CAIO,IAAME,EAAgB,CACzB,IAAI,OAA4C,CAAE,OAAOP,CAAQ,EACjE,IAAI,SAA4C,CAAE,OAAOC,CAAU,EACnE,IAAI,SAA4C,CAAE,OAAOC,CAAU,EAEnE,IAAIM,EAAyB,CACzB,OAAOR,EAAO,IAAIQ,CAAI,GAAK,CAAE,MAAO,SAAU,CAClD,EAEA,UAAUA,EAA2B,CACjC,OAAOP,EAAS,IAAIO,CAAI,GAAK,CAAE,MAAO,IAAI,GAAM,CACpD,EAEA,SAA6E,CACzE,IAAIC,EAAS,EAAGC,EAAS,EAAGC,EAAS,EAAGC,EAAQ,EAChD,QAAWC,KAAKb,EAAO,OAAO,EACtBa,EAAE,QAAU,gBAAiBJ,IAAUE,GAAUE,EAAE,QAAU,EAAGD,GAASC,EAAE,OAAS,GACpFA,EAAE,QAAU,UAAiBH,IAErC,MAAO,CAAE,OAAAD,EAAQ,OAAAC,EAAQ,OAAAC,EAAQ,MAAAC,CAAM,CAC3C,EAEA,UAAUE,EAAgC,CACtC,OAAAX,EAAW,IAAIW,CAAQ,EAChB,IAAMX,EAAW,OAAOW,CAAQ,CAC3C,CACJ,EAIO,SAASC,EAAcP,EAAcQ,EAAiC,CACzE,IAAMC,EAAOjB,EAAO,IAAIQ,CAAI,GAAK,CAAE,MAAO,SAAU,EACpDR,EAAO,IAAIQ,EAAM,CAAE,GAAGS,EAAM,GAAGD,CAAM,CAAC,EACtCZ,EAAQ,QAAQI,CAAI,EAAE,CAC1B,CAEO,SAASU,EAAeV,EAAcW,EAAcC,EAAwB,CAC/E,IAAIC,EAAKpB,EAAS,IAAIO,CAAI,EACrBa,IAAMA,EAAK,CAAE,MAAO,IAAI,GAAM,EAAGpB,EAAS,IAAIO,EAAMa,CAAE,GAC3DA,EAAG,MAAM,IAAIF,EAAMC,CAAK,EACxBhB,EAAQ,UAAUI,CAAI,EAAE,CAC5B,CAEO,SAASc,EACZd,EACAe,EACI,CACJ,IAAIF,EAAKpB,EAAS,IAAIO,CAAI,EACrBa,IAAMA,EAAK,CAAE,MAAO,IAAI,GAAM,EAAGpB,EAAS,IAAIO,EAAMa,CAAE,GAC3DA,EAAG,SAAWE,EACdnB,EAAQ,UAAUI,CAAI,EAAE,CAC5B,CAEO,SAASgB,EAAahB,EAAoB,CACzCP,EAAS,OAAOO,CAAI,GAAGJ,EAAQ,UAAUI,CAAI,EAAE,CACvD,CAEO,SAASiB,EAAgBjB,EAAoB,CAC5CR,EAAO,OAAOQ,CAAI,GAAGJ,EAAQ,QAAQI,CAAI,EAAE,CACnD,CAEO,SAASkB,EAAYV,EAAoC,CAC5Dd,EAAW,CAAE,GAAGA,EAAU,GAAGc,CAAM,EACnCZ,EAAQ,SAAS,CACrB,CAEO,SAASuB,EAAcC,EAA2C,CACrE,OAAW,CAACpB,EAAMqB,CAAK,IAAKD,EAAS5B,EAAO,IAAIQ,EAAMqB,CAAK,CAC/D,CAEO,SAASC,EACZF,EACI,CACJ,OAAW,CAACpB,EAAMuB,CAAK,IAAKH,EAAS,CACjC,IAAMP,EAAkBpB,EAAS,IAAIO,CAAI,GAAK,CAAE,MAAO,IAAI,GAAM,EACjE,OAAW,CAACW,EAAMC,CAAK,IAAKW,EAAOV,EAAG,MAAM,IAAIF,EAAMC,CAAK,EAC3DnB,EAAS,IAAIO,EAAMa,CAAE,CACzB,CACJ","names":["_files","_renders","_pruning","_listeners","_notify","key","l","downloadState","txId","active","queued","loaded","total","s","listener","_setFileState","patch","prev","_setRenderPage","page","phase","rs","_setBookData","bookData","_clearRender","_clearFileState","_setPruning","_hydrateFiles","entries","state","_hydrateRenders","pages"]}
@@ -1,2 +1,7 @@
1
- var u={pdf:"dl2-pdf-v1",preview:"dl2-preview-v1",pages:"dl2-pages-v1"};var w=n=>`/ar/${n}`,d=w,h=w,g=(n,t)=>`/pages/${encodeURIComponent(n)}/${t}`;var f=class{constructor(t){this.active=0;this.queue=[];this.waiters=new Map;this.max=t}add(t,e){let i=this.waiters.get(t);if(i)return i;let s=new Promise((c,r)=>{let a=()=>{this.active++,Promise.resolve().then(e).then(c,r).finally(()=>{this.waiters.delete(t),this.active--,this._drain()})};this.active<this.max?a():this.queue.push({key:t,run:a,reject:r})});return this.waiters.set(t,s),s}start(){}stop(){let t=this.queue;this.queue=[];for(let{key:i,reject:s}of t)this.waiters.delete(i),s(new Error("[queue] stopped before task started"));let e=[...this.waiters.values()];return Promise.allSettled(e).then(()=>{})}_drain(){this.queue.length>0&&this.active<this.max&&this.queue.shift().run()}};var R="b3f26e5b",v=4,_=new f(v),p=self;p.addEventListener("install",n=>{p.skipWaiting()});p.addEventListener("activate",n=>{n.waitUntil((async()=>{await p.clients.claim();let t=new Set(Object.values(u));for(let e of await caches.keys())e.startsWith("dl2-")&&!t.has(e)&&(console.log("[SW]",R,"- deleting stale cache",e),await caches.delete(e))})())});p.addEventListener("fetch",n=>{let t=n.request;if(t.method!=="GET")return;let e=new URL(t.url);if(e.searchParams.get("dl2-bypass")!=="1"&&e.origin===p.location.origin){if(e.pathname.startsWith("/ar/")){n.respondWith(y(t,e));return}if(e.pathname.startsWith("/pages/")){n.respondWith(S(t,e));return}}});async function y(n,t){let e=t.pathname.slice(4),i=await caches.open(u.pdf),s=await i.match(d(e));if(s)return m(n,s);let c=await caches.open(u.preview),r=await c.match(h(e));if(r)return r;let a=await _.add(e,()=>C(e,i,c));if(a==="pdf"){let o=await i.match(d(e));return o?m(n,o):new Response("Not Found",{status:404})}return a==="preview"?await c.match(h(e))??new Response("Not Found",{status:404}):a==="error"?Response.error():new Response("Not Found",{status:404})}async function C(n,t,e){let i=["https://arweave.net","https://permagate.io","https://ar-io.dev"];for(let s of i)try{let c=new Request(`${s}/${n}`,{mode:"cors"}),r=await fetch(c);if(r.type==="opaque")return"error";if(!r.ok)continue;return(r.headers.get("content-type")||"").includes("application/pdf")?(await t.put(d(n),r),"pdf"):(await e.put(h(n),r),"preview")}catch{}return"not-found"}async function S(n,t){let e=t.pathname.split("/").filter(Boolean);if(e.length<3)return new Response("Not Found",{status:404});let i=decodeURIComponent(e[1]),s=parseInt(e[2],10),r=await(await caches.open(u.pages)).match(g(i,s));return r||new Response("Not Found",{status:404})}async function m(n,t){let e=n.headers.get("range");if(!e)return t;let i=await t.blob(),s=i.size,[c,r]=e.replace(/bytes=/,"").split("-"),a,o;if(c===""){let l=parseInt(r,10);if(isNaN(l))return t;a=Math.max(0,s-l),o=s-1}else a=parseInt(c,10),o=r?parseInt(r,10):s-1;return isNaN(a)||isNaN(o)?new Response("Range Not Satisfiable",{status:416,headers:{"Content-Range":`bytes */${s}`}}):(o=Math.min(o,s-1),a>o||a>=s?new Response("Range Not Satisfiable",{status:416,headers:{"Content-Range":`bytes */${s}`}}):new Response(i.slice(a,o+1),{status:206,statusText:"Partial Content",headers:{"Content-Range":`bytes ${a}-${o}/${s}`,"Accept-Ranges":"bytes","Content-Length":String(o-a+1),"Content-Type":t.headers.get("Content-Type")??"application/octet-stream"}}))}export{m as handleRangeRequest};
1
+ /*!
2
+ D-Open Code Sovereign Licence 1.1 · © 2026 Antoine LUCAS · SPDX-License-Identifier: LicenseRef-DOCSL-1.1
3
+ Non-commercial use of unmodified copies only. By using this file you accept the Licence, incl. USD 50M liquidated damages (s 16.4).
4
+ Full text: https://registry.worldbibliotech.com/licence and the LICENSE file · Contact: admin@pondenterprise.com
5
+ */
6
+ var u={pdf:"dl2-pdf-v1",preview:"dl2-preview-v1",pages:"dl2-pages-v1"};var w=n=>`/ar/${n}`,d=w,h=w,g=(n,t)=>`/pages/${encodeURIComponent(n)}/${t}`;var f=class{constructor(t){this.active=0;this.queue=[];this.waiters=new Map;this.max=t}add(t,e){let i=this.waiters.get(t);if(i)return i;let s=new Promise((c,r)=>{let a=()=>{this.active++,Promise.resolve().then(e).then(c,r).finally(()=>{this.waiters.delete(t),this.active--,this._drain()})};this.active<this.max?a():this.queue.push({key:t,run:a,reject:r})});return this.waiters.set(t,s),s}start(){}stop(){let t=this.queue;this.queue=[];for(let{key:i,reject:s}of t)this.waiters.delete(i),s(new Error("[queue] stopped before task started"));let e=[...this.waiters.values()];return Promise.allSettled(e).then(()=>{})}_drain(){this.queue.length>0&&this.active<this.max&&this.queue.shift().run()}};var R="31242b7d",v=4,_=new f(v),p=self;p.addEventListener("install",n=>{p.skipWaiting()});p.addEventListener("activate",n=>{n.waitUntil((async()=>{await p.clients.claim();let t=new Set(Object.values(u));for(let e of await caches.keys())e.startsWith("dl2-")&&!t.has(e)&&(console.log("[SW]",R,"- deleting stale cache",e),await caches.delete(e))})())});p.addEventListener("fetch",n=>{let t=n.request;if(t.method!=="GET")return;let e=new URL(t.url);if(e.searchParams.get("dl2-bypass")!=="1"&&e.origin===p.location.origin){if(e.pathname.startsWith("/ar/")){n.respondWith(y(t,e));return}if(e.pathname.startsWith("/pages/")){n.respondWith(S(t,e));return}}});async function y(n,t){let e=t.pathname.slice(4),i=await caches.open(u.pdf),s=await i.match(d(e));if(s)return m(n,s);let c=await caches.open(u.preview),r=await c.match(h(e));if(r)return r;let a=await _.add(e,()=>C(e,i,c));if(a==="pdf"){let o=await i.match(d(e));return o?m(n,o):new Response("Not Found",{status:404})}return a==="preview"?await c.match(h(e))??new Response("Not Found",{status:404}):a==="error"?Response.error():new Response("Not Found",{status:404})}async function C(n,t,e){let i=["https://arweave.net","https://permagate.io","https://ar-io.dev"];for(let s of i)try{let c=new Request(`${s}/${n}`,{mode:"cors"}),r=await fetch(c);if(r.type==="opaque")return"error";if(!r.ok)continue;return(r.headers.get("content-type")||"").includes("application/pdf")?(await t.put(d(n),r),"pdf"):(await e.put(h(n),r),"preview")}catch{}return"not-found"}async function S(n,t){let e=t.pathname.split("/").filter(Boolean);if(e.length<3)return new Response("Not Found",{status:404});let i=decodeURIComponent(e[1]),s=parseInt(e[2],10),r=await(await caches.open(u.pages)).match(g(i,s));return r||new Response("Not Found",{status:404})}async function m(n,t){let e=n.headers.get("range");if(!e)return t;let i=await t.blob(),s=i.size,[c,r]=e.replace(/bytes=/,"").split("-"),a,o;if(c===""){let l=parseInt(r,10);if(isNaN(l))return t;a=Math.max(0,s-l),o=s-1}else a=parseInt(c,10),o=r?parseInt(r,10):s-1;return isNaN(a)||isNaN(o)?new Response("Range Not Satisfiable",{status:416,headers:{"Content-Range":`bytes */${s}`}}):(o=Math.min(o,s-1),a>o||a>=s?new Response("Range Not Satisfiable",{status:416,headers:{"Content-Range":`bytes */${s}`}}):new Response(i.slice(a,o+1),{status:206,statusText:"Partial Content",headers:{"Content-Range":`bytes ${a}-${o}/${s}`,"Accept-Ranges":"bytes","Content-Length":String(o-a+1),"Content-Type":t.headers.get("Content-Type")??"application/octet-stream"}}))}export{m as handleRangeRequest};
2
7
  //# sourceMappingURL=dl2-sw.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/downloader/keys.ts","../../src/downloader/queue.ts","../../src/downloader/sw/sw.ts"],"mappings":"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","names":["CACHES","arKey","txId","pdfKey","previewKey","pageKey","n","ConcurrentProcessor","maxConcurrent","key","task","existing","p","resolve","reject","run","pending","remaining","SW_VERSION","GATEWAY_CONCURRENCY","gatewayProcessor","ConcurrentProcessor","SW","_e","e","expected","CACHES","name","req","url","handleArRequest","handlePagesRequest","txId","pdfCache","pdfHit","pdfKey","handleRangeRequest","previewCache","previewHit","previewKey","outcome","fetchAndCache","cached","gateways","gw","corsRequest","response","_req","parts","page","hit","pageKey","request","cachedResponse","rangeHeader","blob","size","startStr","endStr","start","end","suffix"]}
1
+ {"version":3,"sources":["../../src/downloader/keys.ts","../../src/downloader/queue.ts","../../src/downloader/sw/sw.ts"],"mappings":"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","names":["CACHES","arKey","txId","pdfKey","previewKey","pageKey","n","ConcurrentProcessor","maxConcurrent","key","task","existing","p","resolve","reject","run","pending","remaining","SW_VERSION","GATEWAY_CONCURRENCY","gatewayProcessor","ConcurrentProcessor","SW","_e","e","expected","CACHES","name","req","url","handleArRequest","handlePagesRequest","txId","pdfCache","pdfHit","pdfKey","handleRangeRequest","previewCache","previewHit","previewKey","outcome","fetchAndCache","cached","gateways","gw","corsRequest","response","_req","parts","page","hit","pageKey","request","cachedResponse","rangeHeader","blob","size","startStr","endStr","start","end","suffix"]}
@@ -1,2 +1,7 @@
1
+ /*!
2
+ D-Open Code Sovereign Licence 1.1 · © 2026 Antoine LUCAS · SPDX-License-Identifier: LicenseRef-DOCSL-1.1
3
+ Non-commercial use of unmodified copies only. By using this file you accept the Licence, incl. USD 50M liquidated damages (s 16.4).
4
+ Full text: https://registry.worldbibliotech.com/licence and the LICENSE file · Contact: admin@pondenterprise.com
5
+ */
1
6
  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};
2
7
  //# 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":"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","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
+ {"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":"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","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"]}
@@ -47,6 +47,18 @@ declare class DownloadQuotaExceededError extends Error {
47
47
  constructor(txId: string, message?: string);
48
48
  }
49
49
 
50
+ /** `detail` of the window `ARWEAVE_DOWNLOAD_PROGRESS` event — listeners type their handler with it. */
51
+ interface DownloadProgressDetail {
52
+ txId: string;
53
+ loaded: number;
54
+ total?: number;
55
+ }
56
+ /** `detail` of the window `ARWEAVE_DOWNLOAD_DONE` event. */
57
+ interface DownloadDoneDetail {
58
+ txId: string;
59
+ mime: 'pdf' | 'preview';
60
+ }
61
+
50
62
  declare const CACHE_VERSION = 1;
51
63
  declare const CACHES: {
52
64
  readonly pdf: "dl2-pdf-v1";
@@ -58,4 +70,4 @@ declare const pdfKey: (txId: string) => string;
58
70
  declare const previewKey: (txId: string) => string;
59
71
  declare const pageKey: (txId: string, n: number) => string;
60
72
 
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 };
73
+ export { CACHES, CACHE_VERSION, DL2_SW_VERSION, type DownloadDoneDetail, DownloadPdfToDisk, type DownloadProgressDetail, DownloadQuotaExceededError, EnsurePageCount, EnsurePageImage, EnsurePdf, GetImage, GetObjectUrl, GetPdf, InitDownloaderV2, type InitOptions, SetPinnedPdfs, getBookData, pageKey, pdfKey, preloadWorkersV2, previewKey, revokeObjectUrl, storageEstimate };