@the_library/public 2.0.1 → 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.
- package/LICENSE +684 -0
- package/README.md +735 -1101
- package/THIRD_PARTY_NOTICES +489 -0
- package/assets/branding/pond-enterprise-logo.svg +3 -14
- package/dist/branding/index.js +6 -1
- package/dist/branding/index.js.map +1 -1
- package/dist/{chunk-3XUKOVEF.js → chunk-34UDKDMR.js} +7 -2
- package/dist/chunk-34UDKDMR.js.map +1 -0
- package/dist/{chunk-7G3BMGV2.js → chunk-3ALQKSIN.js} +11 -1
- package/dist/chunk-3ALQKSIN.js.map +1 -0
- package/dist/{chunk-PV3X54EU.js → chunk-AADFZOUD.js} +6 -1
- package/dist/chunk-AADFZOUD.js.map +1 -0
- package/dist/{chunk-FN52YV7L.js → chunk-DCTN7BWB.js} +6 -1
- package/dist/chunk-DCTN7BWB.js.map +1 -0
- package/dist/{chunk-GWQNULP4.js → chunk-HZZP2YTW.js} +7 -2
- package/dist/chunk-HZZP2YTW.js.map +1 -0
- package/dist/chunk-OKIGFADW.js +7 -0
- package/dist/chunk-OKIGFADW.js.map +1 -0
- package/dist/{chunk-D4DXGA2W.js → chunk-QL7HY3IK.js} +7 -2
- package/dist/chunk-QL7HY3IK.js.map +1 -0
- package/dist/{chunk-46FQHZNM.js → chunk-SB7IRHJD.js} +6 -1
- package/dist/chunk-SB7IRHJD.js.map +1 -0
- package/dist/{chunk-OELHBR4F.js → chunk-TQW56CCL.js} +7 -2
- package/dist/chunk-TQW56CCL.js.map +1 -0
- package/dist/{chunk-SD3INWZF.js → chunk-YRTDYXAD.js} +6 -1
- package/dist/chunk-YRTDYXAD.js.map +1 -0
- package/dist/downloader/dl2-sw.js +6 -1
- package/dist/downloader/dl2-sw.js.map +1 -1
- package/dist/downloader/file-worker-v2.js +5 -0
- package/dist/downloader/file-worker-v2.js.map +1 -1
- package/dist/downloader/index.js +6 -1
- package/dist/downloader/index.js.map +1 -1
- package/dist/downloader/mu-worker-v2.js +5 -0
- package/dist/downloader/mu-worker-v2.js.map +1 -1
- package/dist/downloader/react.js +6 -1
- package/dist/downloader/react.js.map +1 -1
- package/dist/downloader/solid.js +6 -1
- package/dist/downloader/solid.js.map +1 -1
- package/dist/downloader/sw.js +6 -1
- package/dist/downloader/sw.js.map +1 -1
- package/dist/downloader/vue.js +6 -1
- package/dist/downloader/vue.js.map +1 -1
- package/dist/global/public.global.js +35 -25
- package/dist/global/public.manifest.json +0 -1
- package/dist/models/astro.js +6 -1
- package/dist/models/astro.js.map +1 -1
- package/dist/models/index.js +6 -1
- package/dist/models/index.js.map +1 -1
- package/dist/models/models.js +6 -1
- package/dist/models/patch-worker.js +10 -0
- package/dist/models/patch-worker.js.map +1 -1
- package/dist/models/react.js +6 -1
- package/dist/models/react.js.map +1 -1
- package/dist/models/solid.js +6 -1
- package/dist/models/solid.js.map +1 -1
- package/dist/models/vue.js +6 -1
- package/dist/models/vue.js.map +1 -1
- package/dist/web3/auth.js +5 -0
- package/dist/web3/auth.js.map +1 -1
- package/dist/web3/index.js +6 -1
- package/dist/web3/index.js.map +1 -1
- package/dist/web3/network.js +6 -1
- package/dist/web3/registry.js +6 -1
- package/dist/web3/vue.js +6 -1
- package/dist/web3/vue.js.map +1 -1
- package/package.json +6 -5
- package/dist/chunk-3XUKOVEF.js.map +0 -1
- package/dist/chunk-46FQHZNM.js.map +0 -1
- package/dist/chunk-7G3BMGV2.js.map +0 -1
- package/dist/chunk-D4DXGA2W.js.map +0 -1
- package/dist/chunk-EMA2QJTW.js +0 -2
- package/dist/chunk-EMA2QJTW.js.map +0 -1
- package/dist/chunk-FN52YV7L.js.map +0 -1
- package/dist/chunk-GWQNULP4.js.map +0 -1
- package/dist/chunk-OELHBR4F.js.map +0 -1
- package/dist/chunk-PV3X54EU.js.map +0 -1
- package/dist/chunk-SD3INWZF.js.map +0 -1
package/dist/models/astro.js
CHANGED
|
@@ -1,2 +1,7 @@
|
|
|
1
|
-
|
|
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 n,d as r,e as l,f as c}from"../chunk-TQW56CCL.js";import"../chunk-QL7HY3IK.js";import"../chunk-HZZP2YTW.js";import{_ as a}from"../chunk-3ALQKSIN.js";var s=new WeakMap,i=null,p={track(){},trigger(t){s.get(t)?.forEach(o=>o())}},d=()=>(i||(i=a(p)),i),y=(t,o)=>{let e=s.get(t);return e||(e=new Set,s.set(t,e)),e.add(o),()=>{e.delete(o),e.size===0&&s.delete(t)}},m=t=>r(t,d);export{m as bootstrapModelsV2,c as clearLocalPatches,d as installVanillaReactivity,n as loadSearch,l as resetModelsV2Session,y as subscribeRecord};
|
|
2
7
|
//# sourceMappingURL=astro.js.map
|
package/dist/models/astro.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/models/adapters/astro.ts"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/models/adapters/astro.ts"],"mappings":";;;;;iKAuBA,IAAMA,EAAY,IAAI,QAElBC,EAA0C,KACxCC,EAAmC,CACrC,OAAQ,CAA6D,EACrE,QAAQC,EAAW,CACfH,EAAU,IAAIG,CAAC,GAAG,QAAQC,GAAMA,EAAG,CAAC,CACxC,CACJ,EAQaC,EAA2B,KAC/BJ,IAAoBA,EAAqBK,EAAoBJ,CAAc,GACzED,GAWEM,EAAkB,CAACC,EAAgBJ,IAAiC,CAC7E,IAAIK,EAAMT,EAAU,IAAIQ,CAAM,EAC9B,OAAKC,IAAOA,EAAM,IAAI,IAAOT,EAAU,IAAIQ,EAAQC,CAAG,GACtDA,EAAI,IAAIL,CAAE,EACH,IAAM,CAAEK,EAAK,OAAOL,CAAE,EAAOK,EAAK,OAAS,GAAGT,EAAU,OAAOQ,CAAM,CAAG,CACnF,EA0BaE,EAAqBC,GAC9BC,EAAiBD,EAAMN,CAAwB","names":["listeners","_vanillaUnregister","_vanillaSystem","o","cb","installVanillaReactivity","addReactivitySystem","subscribeRecord","record","set","bootstrapModelsV2","opts","bootstrapSession"]}
|
package/dist/models/index.js
CHANGED
|
@@ -1,2 +1,7 @@
|
|
|
1
|
-
import{a as eo,b as ro,c as to,d as oo,e as no,f as so,g as io,h as ao,i as co,j as lo,k as uo,l as fo,m as po,n as mo,o as ho,p as go,q as bo,r as yo,s as xo,t as vo,u as wo,v as So,w as To}from"../chunk-D4DXGA2W.js";import{a as x,b as M,c as Zt}from"../chunk-GWQNULP4.js";import{$ as Ye,$a as Mr,$b as B,A as we,Aa as yr,Ab as nt,Ac as Yt,B as Se,Ba as xr,Bb as st,Bc as Gt,C as Te,Ca as vr,Cb as it,Cc as Qt,D as Pe,Da as f,Db as at,Dc as Vt,E as Ie,Ea as wr,Eb as ct,Ec as Xt,F as Re,Fb as lt,G as ke,Ga as F,Gb as ut,H as De,Ha as L,Hb as dt,I as Be,Ia as E,Ib as ft,J as Ne,Jb as pt,K as je,Kb as mt,L as Ae,Lb as ht,M as Me,Mb as gt,N as Ue,Nb as bt,O as Oe,Ob as P,P as Ke,Pb as yt,Q as Ce,Qa as Sr,Qb as I,R as ze,Ra as Tr,Rb as xt,S as Fe,Sa as Pr,Sb as R,T as Le,Ta as Ir,Tb as vt,U as Ee,Ua as Rr,Ub as wt,V as $e,Va as kr,Vb as St,W as qe,Wa as Dr,Wb as Tt,X as He,Xa as Br,Xb as k,Y as _e,Ya as Nr,Yb as Pt,Z as Je,Za as jr,Zb as D,_ as We,_a as Ar,_b as It,a as V,aa as Ge,ab as Ur,ac as m,b as X,ba as Qe,bb as Or,bc as Rt,c as Z,ca as Ve,cb as Kr,cc as kt,d as ee,da as Xe,db as Cr,dc as Dt,e as re,ea as Ze,eb as zr,ec as N,f as te,fa as er,fb as Fr,fc as Bt,g as oe,ga as rr,gb as Lr,gc as j,h as v,ha as tr,hb as Er,hc as Nt,i as ne,ia as or,ib as $r,ic as A,j as se,ja as nr,jb as qr,jc as jt,k as ie,ka as sr,kb as Hr,kc as At,l as ae,la as ir,lb as _r,lc as Mt,m as ce,ma as ar,mb as Jr,mc as Ut,n as w,na as cr,nb as Wr,nc as Ot,o as le,oa as lr,oc as Kt,p as ue,pa as ur,pb as Yr,pc as Ct,q as de,qa as dr,qb as Gr,qc as zt,r as fe,ra as fr,rb as T,rc as Ft,s as pe,sa as pr,sb as Qr,sc as Lt,t as me,ta as u,tb as Vr,tc as Et,u as he,ua as mr,ub as Xr,uc as $t,v as ge,va as hr,vb as Zr,vc as qt,w as be,wa as gr,wb as et,wc as Ht,x as ye,xa as S,xb as rt,xc as _t,y as xe,ya as br,yb as tt,yc as Jt,z as ve,za as d,zb as ot,zc as Wt}from"../chunk-7G3BMGV2.js";var $=5,q=6,Po=r=>r.getProp(q)===!1&&r.getProp($)===!0;function y(r){return r.deleted===!0||r.safe===!1}function g(r){r.deleted=!1,r.safe=!0}function O(r){y(r)||(r.deleted=!0)}function U(r){return`${r instanceof m?"T":"B"}:${r.id}`}async function b(r){if(r instanceof m){let[e,t]=await Promise.all([r.tags,r.books]);return[...e,...t]}return[]}async function H(r,e){if(!y(r))if(e){g(r);for(let t of await b(r))await H(t,e)}else O(r)}async function Do(r){let e=[],t=new Set;for(let o=0;o<r.length;o++){let s=o>0?U(r[o-1]):null;for(let n of await b(r[o])){let c=U(n);c===s||t.has(c)||(t.add(c),e.push(n))}}return e}async function Bo(r,e,t,o,s){g(r),e.forEach(g),s&&s();async function n(c,a){if(y(c))return;let i=c.id===r.id||e.some(h=>h.id===c.id),l=a;if(!i&&c instanceof m&&(l=t.has(`${c.id}`)),l){g(c);for(let h of await b(c))await n(h,!0)}else O(c)}for(let c of await b(o))await n(c,!0)}async function _(r,e=new Set){if(e.has(r.id))return[];e.add(r.id);let t=[];for(let o of await r.inTags)t.push(o),t.push(...await _(o,e));return t}async function J(r,e=new Set){if(e.has(r.id))return[];e.add(r.id);let t=[];for(let o of await r.inTags)y(o)&&(t.push(o),t.push(...await J(o,e)));return t}async function W(r,e=new Set){if(e.has(r.id))return 0;e.add(r.id);let t=await r.tags;if(!t||t.length===0)return 0;let o=t.length;for(let s of t)o+=await W(s,e);return o}var p=S,K=r=>{let e=u();return f().then(t=>{try{let s=t.transaction(p,"readonly").objectStore(p).count(r);s.onsuccess=function(n){n.target.result>0?e.resolve(!0):e.resolve(!1)},s.onerror=function(n){console.error("worker: error",n.target),e.reject(n.target)}}catch(o){console.error(o);debugger}}).catch(t=>{console.error(`[indexdb error:] hasFile(): ${t.message}`),e.reject(t)}),e.pro},Y=r=>{let e=u();return f().then(t=>{let o=t.transaction(p,"readonly"),s;o.objectStore(p).get(r).addEventListener("success",function(n){s=n.target.result,e.resolve(s)}),o.onerror=function(n){console.error("worker: error",n.target),e.reject(n.target)}}).catch(e.reject),e.pro},G=async r=>{let e=u(),t=await f(),o=await K(r.id),s=t.transaction(p,"readwrite");return o?s.objectStore(p).put(r).onsuccess=function(){}:s.objectStore(p).add(r).onsuccess=function(){},s.oncomplete=function(){e.resolve(!0)},s.onerror=function(n){console.error("worker: error",n.target),e.reject(n.target)},e.pro},Uo={has:K,load:Y,store:G};var Q=r=>{let e=u();return f().then(t=>{try{let s=t.transaction(d,"readonly").objectStore(d).openCursor(r);s.onsuccess=function(n){n.target.result?e.resolve(!0):e.resolve(!1)},s.onerror=function(n){console.error("worker: error",n.target),e.reject(n.target)}}catch(o){console.error(o);debugger}}).catch(t=>{console.error(`[indexdb error:] hasFile(): ${t.message}`),e.reject(t)}),e.pro},zo=r=>{let e=u();return f().then(t=>{let o=t.transaction(d,"readonly"),s;o.objectStore(d).get(r).addEventListener("success",function(n){s=n.target.result}),o.oncomplete=function(){e.resolve(s)},o.onerror=function(n){e.reject(n.target)}}).catch(e.reject),e.pro},Fo=r=>{let e=u();return f().then(async t=>{let o=await Q(r.fileId),s=t.transaction(d,"readwrite");o?s.objectStore(d).put(r):s.objectStore(d).add(r),s.oncomplete=function(){e.resolve(!0)},s.onerror=function(n){console.error("worker: error",n.target),e.reject(n.target)}}).catch(e.reject),e.pro};function $o(r,e,t){let o=N(r),s=e.byteLength>0?j(e):[],n=t.byteLength>0?A(t):[],c=o.length,a=new Array(c);for(let i=0;i<c;i++)a[i]={...o[i],...s[i]||{},...n[i]||{}};return a}function qo(r,e,t){let o=k(r),s=e.byteLength>0?D(e):[],n=t.byteLength>0?B(t):[],c=o.length,a=new Array(c);for(let i=0;i<c;i++)a[i]={...o[i],...s[i]||{},...n[i]||{}};return a}function Ho(r,e,t){let o=P(r),s=e.byteLength>0?I(e):[],n=t.byteLength>0?R(t):[],c=o.length,a=new Array(c);for(let i=0;i<c;i++)a[i]={...o[i],...s[i]||{},...n[i]||{}};return a}async function Wo(r){let e=new Set,t=new Set,o=0;async function s(n){if(e.has(n))return;e.add(n),++o>50&&(o=0,await new Promise(a=>setTimeout(a,0)));let c;try{c=await m.LoadAsync(n)}catch{return}for(let a of c.booksIds)t.add(a);for(let a of c.tagsIds)await s(a)}return await s(r),t.size}var C=class{constructor(e){this.handlers=[];this.timer=null;this.isPolling=!1;this.inMemorySince=0;this.inMemoryDelivered=[];this.targetUserId=e.targetUserId,this.indexer=e.indexer,this.usernameResolver=e.usernameResolver,this.pollIntervalMs=e.pollIntervalMs??3e4,this.cursorKey=e.cursorKey??`dcode_subscriptions_${e.targetUserId}`}onSubscriptions(e){return this.handlers.push(e),()=>{this.handlers=this.handlers.filter(t=>t!==e)}}start(){this.timer||(this.poll().catch(e=>console.error("[RelationshipSubscription] initial poll failed",e)),this.timer=setInterval(()=>{this.poll().catch(e=>console.error("[RelationshipSubscription] poll failed",e))},this.pollIntervalMs))}stop(){this.timer&&(clearInterval(this.timer),this.timer=null)}getLastSeenTimestamp(){return this.readSince()}readSince(){if(typeof localStorage>"u")return this.inMemorySince;try{let e=localStorage.getItem(this.cursorKey);return Math.max(e?Number(e):0,this.inMemorySince)}catch{return this.inMemorySince}}writeSince(e){if(this.inMemorySince=e,!(typeof localStorage>"u"))try{localStorage.setItem(this.cursorKey,String(e))}catch{}}deliveredKey(){return`${this.cursorKey}:delivered`}readDelivered(){if(typeof localStorage>"u")return this.inMemoryDelivered;try{let e=localStorage.getItem(this.deliveredKey());return e?JSON.parse(e):this.inMemoryDelivered}catch{return this.inMemoryDelivered}}writeDelivered(e){if(this.inMemoryDelivered=e,!(typeof localStorage>"u"))try{localStorage.setItem(this.deliveredKey(),JSON.stringify(e))}catch{}}async poll(){if(!this.isPolling){this.isPolling=!0;try{let e=this.readSince(),t=Math.floor(Date.now()/1e3),o=await this.indexer.getNewSubscriptionsSince(this.targetUserId,e),s=this.readDelivered(),n=o.filter(i=>!s.includes(i));if(this.writeSince(t),n.length===0)return;this.writeDelivered(n);let c=Math.floor(Date.now()/1e3),a=[];for(let i of n){let l=null;try{l=await this.usernameResolver.userIdToUsername(i)}catch{l=null}a.push({userId:i,username:l,timestamp:c})}for(let i of this.handlers)try{await i(a)}catch(l){console.error("[RelationshipSubscription] handler failed",l)}}finally{this.isPolling=!1}}}};async function en(r,e){let t=structuredClone(e),o=a=>a.objectType===r.schema.objectId&&BigInt(a.objectId)===r.id,s=a=>a.username??a.creatorUsername??"mine",n=new Map(r.instanceRemaps),c={get:async(...a)=>n.get(x(...a)),put:async(a,i,l,h,z)=>{n.set(x(a,i,l,h),z)}};for(let a=0;a<t.length;a++){let i=t[a];if(o(i)&&await M(i,{record:r,creatorUsername:s(i),localRecordTable:T,blockTimestamp:0,instanceRemapStore:c,batchRemainder:t.slice(a+1).filter(l=>o(l)&&s(l)===s(i))}),i.operation===w.EditRelation){let l=v(i);l&&o(l)&&r.patch(l,!1,!1)}}r.instanceRemaps=[...n]}export{at as AGE_GRADE_BAND_PROP,ue as ActionOperation,we as ActionTypes,mo as BOOK_CURATABLE_PRESETS,ho as BOOK_FIELD_WEIGHTS,kt as BOOK_PROP_IDS,po as BOOK_SEARCH_SCHEMA,jt as Book,At as BookInstance,wo as BookSearchService,ce as BridgeRelation,Ut as CLASSIFICATIONSYSTEM_PROP_IDS,Dr as COIN_LEDGER_POST_TITLE_PREFIX,Tr as CURRENT_VERSION,Et as ClassificationSystem,wr as ClearDbData,Be as ColumnType,Qr as Config,X as CryptoRandomUidFactory,ut as DELETED_PROP,st as DESCRIPTION_PROP,Po as DSafeCheck,Er as DateUtils,f as Db,Ie as DownloadState,Hr as DownloadsByType,Jr as FavoritesByTypes,Gr as IDBInstanceRemapStore,Fe as INSTANCE_REMAPS_COLUMN,$e as IndexDependencyNode,Je as IndexRegistry,_e as IndexRegistryClass,ie as LANG_AGNOSTIC,pe as LANG_ID_DECODE,fe as LANG_ID_ENCODE,dt as LIFECYCLE_STATUS_PROP,ee as LifecycleStatus,Yr as LocalRecordTable,Qe as LruCache,oo as MAX_TOKEN_LENGTH,He as ModelIndex,Xt as ModelTypes,Mt as NewBookWithId,$t as NewClassificationSystemWithId,wt as NewPersonWithId,Vt as NewPostWithId,Rt as NewTagWithId,it as ORIGINAL_LANG_PROP,ht as Orm,gt as PERSON_PROP_IDS,Ir as POINTS_PER_LEVEL,Rr as POINTS_PER_SILVER_COIN,qt as POST_PROP_IDS,ct as PREVIEW_TX_ID_PROP,ze as PROPERTY_SLOTS_COLUMN,rt as PROVENANCE_AI,ot as PROVENANCE_CONSENSUS,tt as PROVENANCE_MANUAL_LOCAL,et as PROVENANCE_UNSET,le as PatchAction,Mr as PatchInstance,w as PatchOperation,Ar as Patches,vt as Person,qr as PopulateStatsStore,Qt as Post,Le as REPLAY_METADATA_COLUMNS,Te as Rating,oe as Registry,C as RelationshipSubscription,lt as SAFE_PROP,ao as SEARCH_SHARD_FORMAT_VERSION,io as SEARCH_SHARD_MAGIC,De as SIDECAR_FORMAT_VERSION,ke as SIDECAR_MAGIC,kr as SILVER_COINS_PER_LEVEL,te as SchemaRegistry,xo as SearchIndex,Re as SidecarType,Wr as Stats,St as TAG_PROP_IDS,nt as TITLE_PROP,m as Tag,_r as VisitsByType,Se as WorkerCommands,Pe as WorkerEvent,ro as _resetForTest,E as acknowledgePublisherOutbox,Or as actionPatchToLocalOp,We as addReactivitySystem,sr as addRecord,en as applyDetachedPatches,Zt as applyRestoredPatches,To as bookSearch,yo as bookSearchDoc,go as bookSearchPresets,vo as bookSearchSourceFromRecord,Do as buildCascadeCandidates,lo as buildSearchShard,Wo as calculateTopicBookCount,H as cascadeRestore,b as childrenOf,qe as classifyValue,Xe as clear,_ as collectAncestors,J as collectTrashedAncestors,Me as colsFromSidecar,Ne as columnTypeForBits,co as compareBigint,Ve as configureDb,W as countRecursiveSubfolders,Pr as currentLayout,hr as dbName,Ge as dbReactivity,jr as debouncePromise,pr as delay,Ce as deserializeAiSidecar,j as deserializeBookExtended,A as deserializeBookProv,N as deserializeBookSlim,zt as deserializeClassificationSystemExtended,Lt as deserializeClassificationSystemProv,Kt as deserializeClassificationSystemSlim,Kr as deserializePatches,I as deserializePersonExtended,R as deserializePersonProv,P as deserializePersonSlim,Wt as deserializePostExtended,Gt as deserializePostProv,_t as deserializePostSlim,fo as deserializeSearchShard,D as deserializeTagExtended,B as deserializeTagProv,k as deserializeTagSlim,yr as deviceStateStoreName,Ze as dump,F as enablePublisherOutbox,ve as evmToPatch,Bo as executeComplexRestore,So as expandTopics,Ue as extractRecordCols,Uo as fileStore,se as fromJsonId,rr as getDefaultCreatorUsername,Br as getLevel,dr as getModelClass,Fr as getPatchInstanceByAccount,L as getPublisherOutbox,nr as getRecord,tr as getRecordKey,Q as hasBookData,K as hasFile,or as hasRecord,Lr as inceptionDate,mt as inflateOrmJson,vr as instanceRemapsStoreName,je as instanceSpecFromFields,de as isActionOperation,ae as isEvmPatch,y as isIndependentlyTrashed,V as isUserCreated,S as jsonStoreName,br as keyValStoreName,bo as latestAiValue,zo as loadBookData,Y as loadFile,cr as loadManyAsync,lr as loadOneAsync,Z as loadOrInitUidFactory,Ur as localOpToActionPatch,T as localRecordTable,xr as localRecordsStoreName,$o as mergeBookTiers,Ho as mergePersonTiers,qo as mergeTagTiers,no as normalizeText,be as packActionPatch,he as packPatch,Ae as parseSidecar,gr as patchStoreName,xe as patchToEvm,d as pdfDataStoreName,O as pinAsTrashed,ar as pinRecord,u as proResolver,ur as registerModelClass,re as relationColName,ir as removeRecord,me as resolveLayout,Ee as scalarProperties,eo as scanTrash,Ke as serializeAiSidecar,Bt as serializeBookExtended,Nt as serializeBookProv,Dt as serializeBookSlim,Ct as serializeClassificationSystemExtended,Ft as serializeClassificationSystemProv,Ot as serializeClassificationSystemSlim,pt as serializeMapOfMaps,ft as serializeMapOfSets,Cr as serializePatchRows,zr as serializePatches,yt as serializePersonExtended,xt as serializePersonProv,bt as serializePersonSlim,Jt as serializePostExtended,Yt as serializePostProv,Ht as serializePostSlim,uo as serializeSearchShard,Pt as serializeTagExtended,It as serializeTagProv,Tt as serializeTagSlim,er as setDefaultCreatorUsername,Vr as setDefaultLanguage,Xr as setDefaultProvenance,Zr as setLoadAiSidecars,Ye as setReactivitySystem,Fo as storeBookData,G as storeFile,Nr as subscribeLevel,$r as subscribeStats,ne as toJsonId,so as tokenize,to as trashStore,ye as unpackActionPatch,ge as unpackPatch,fr as unpinRecord,g as untrashRecord,mr as version,Sr as versionsFile,Oe as writeSidecar};
|
|
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 eo,b as ro,c as to,d as oo,e as no,f as so,g as io,h as ao,i as co,j as lo,k as uo,l as fo,m as po,n as mo,o as ho,p as go,q as bo,r as yo,s as xo,t as vo,u as wo,v as So,w as To}from"../chunk-QL7HY3IK.js";import{a as x,b as M,c as Zt}from"../chunk-HZZP2YTW.js";import{$ as Ye,$a as Mr,$b as B,A as we,Aa as yr,Ab as nt,Ac as Yt,B as Se,Ba as xr,Bb as st,Bc as Gt,C as Te,Ca as vr,Cb as it,Cc as Qt,D as Pe,Da as f,Db as at,Dc as Vt,E as Ie,Ea as wr,Eb as ct,Ec as Xt,F as Re,Fb as lt,G as ke,Ga as F,Gb as ut,H as De,Ha as L,Hb as dt,I as Be,Ia as E,Ib as ft,J as Ne,Jb as pt,K as je,Kb as mt,L as Ae,Lb as ht,M as Me,Mb as gt,N as Ue,Nb as bt,O as Oe,Ob as P,P as Ke,Pb as yt,Q as Ce,Qa as Sr,Qb as I,R as ze,Ra as Tr,Rb as xt,S as Fe,Sa as Pr,Sb as R,T as Le,Ta as Ir,Tb as vt,U as Ee,Ua as Rr,Ub as wt,V as $e,Va as kr,Vb as St,W as qe,Wa as Dr,Wb as Tt,X as He,Xa as Br,Xb as k,Y as _e,Ya as Nr,Yb as Pt,Z as Je,Za as jr,Zb as D,_ as We,_a as Ar,_b as It,a as V,aa as Ge,ab as Ur,ac as m,b as X,ba as Qe,bb as Or,bc as Rt,c as Z,ca as Ve,cb as Kr,cc as kt,d as ee,da as Xe,db as Cr,dc as Dt,e as re,ea as Ze,eb as zr,ec as N,f as te,fa as er,fb as Fr,fc as Bt,g as oe,ga as rr,gb as Lr,gc as j,h as v,ha as tr,hb as Er,hc as Nt,i as ne,ia as or,ib as $r,ic as A,j as se,ja as nr,jb as qr,jc as jt,k as ie,ka as sr,kb as Hr,kc as At,l as ae,la as ir,lb as _r,lc as Mt,m as ce,ma as ar,mb as Jr,mc as Ut,n as w,na as cr,nb as Wr,nc as Ot,o as le,oa as lr,oc as Kt,p as ue,pa as ur,pb as Yr,pc as Ct,q as de,qa as dr,qb as Gr,qc as zt,r as fe,ra as fr,rb as T,rc as Ft,s as pe,sa as pr,sb as Qr,sc as Lt,t as me,ta as u,tb as Vr,tc as Et,u as he,ua as mr,ub as Xr,uc as $t,v as ge,va as hr,vb as Zr,vc as qt,w as be,wa as gr,wb as et,wc as Ht,x as ye,xa as S,xb as rt,xc as _t,y as xe,ya as br,yb as tt,yc as Jt,z as ve,za as d,zb as ot,zc as Wt}from"../chunk-3ALQKSIN.js";var $=5,q=6,Po=r=>r.getProp(q)===!1&&r.getProp($)===!0;function y(r){return r.deleted===!0||r.safe===!1}function g(r){r.deleted=!1,r.safe=!0}function O(r){y(r)||(r.deleted=!0)}function U(r){return`${r instanceof m?"T":"B"}:${r.id}`}async function b(r){if(r instanceof m){let[e,t]=await Promise.all([r.tags,r.books]);return[...e,...t]}return[]}async function H(r,e){if(!y(r))if(e){g(r);for(let t of await b(r))await H(t,e)}else O(r)}async function Do(r){let e=[],t=new Set;for(let o=0;o<r.length;o++){let s=o>0?U(r[o-1]):null;for(let n of await b(r[o])){let c=U(n);c===s||t.has(c)||(t.add(c),e.push(n))}}return e}async function Bo(r,e,t,o,s){g(r),e.forEach(g),s&&s();async function n(c,a){if(y(c))return;let i=c.id===r.id||e.some(h=>h.id===c.id),l=a;if(!i&&c instanceof m&&(l=t.has(`${c.id}`)),l){g(c);for(let h of await b(c))await n(h,!0)}else O(c)}for(let c of await b(o))await n(c,!0)}async function _(r,e=new Set){if(e.has(r.id))return[];e.add(r.id);let t=[];for(let o of await r.inTags)t.push(o),t.push(...await _(o,e));return t}async function J(r,e=new Set){if(e.has(r.id))return[];e.add(r.id);let t=[];for(let o of await r.inTags)y(o)&&(t.push(o),t.push(...await J(o,e)));return t}async function W(r,e=new Set){if(e.has(r.id))return 0;e.add(r.id);let t=await r.tags;if(!t||t.length===0)return 0;let o=t.length;for(let s of t)o+=await W(s,e);return o}var p=S,K=r=>{let e=u();return f().then(t=>{try{let s=t.transaction(p,"readonly").objectStore(p).count(r);s.onsuccess=function(n){n.target.result>0?e.resolve(!0):e.resolve(!1)},s.onerror=function(n){console.error("worker: error",n.target),e.reject(n.target)}}catch(o){console.error(o);debugger}}).catch(t=>{console.error(`[indexdb error:] hasFile(): ${t.message}`),e.reject(t)}),e.pro},Y=r=>{let e=u();return f().then(t=>{let o=t.transaction(p,"readonly"),s;o.objectStore(p).get(r).addEventListener("success",function(n){s=n.target.result,e.resolve(s)}),o.onerror=function(n){console.error("worker: error",n.target),e.reject(n.target)}}).catch(e.reject),e.pro},G=async r=>{let e=u(),t=await f(),o=await K(r.id),s=t.transaction(p,"readwrite");return o?s.objectStore(p).put(r).onsuccess=function(){}:s.objectStore(p).add(r).onsuccess=function(){},s.oncomplete=function(){e.resolve(!0)},s.onerror=function(n){console.error("worker: error",n.target),e.reject(n.target)},e.pro},Uo={has:K,load:Y,store:G};var Q=r=>{let e=u();return f().then(t=>{try{let s=t.transaction(d,"readonly").objectStore(d).openCursor(r);s.onsuccess=function(n){n.target.result?e.resolve(!0):e.resolve(!1)},s.onerror=function(n){console.error("worker: error",n.target),e.reject(n.target)}}catch(o){console.error(o);debugger}}).catch(t=>{console.error(`[indexdb error:] hasFile(): ${t.message}`),e.reject(t)}),e.pro},zo=r=>{let e=u();return f().then(t=>{let o=t.transaction(d,"readonly"),s;o.objectStore(d).get(r).addEventListener("success",function(n){s=n.target.result}),o.oncomplete=function(){e.resolve(s)},o.onerror=function(n){e.reject(n.target)}}).catch(e.reject),e.pro},Fo=r=>{let e=u();return f().then(async t=>{let o=await Q(r.fileId),s=t.transaction(d,"readwrite");o?s.objectStore(d).put(r):s.objectStore(d).add(r),s.oncomplete=function(){e.resolve(!0)},s.onerror=function(n){console.error("worker: error",n.target),e.reject(n.target)}}).catch(e.reject),e.pro};function $o(r,e,t){let o=N(r),s=e.byteLength>0?j(e):[],n=t.byteLength>0?A(t):[],c=o.length,a=new Array(c);for(let i=0;i<c;i++)a[i]={...o[i],...s[i]||{},...n[i]||{}};return a}function qo(r,e,t){let o=k(r),s=e.byteLength>0?D(e):[],n=t.byteLength>0?B(t):[],c=o.length,a=new Array(c);for(let i=0;i<c;i++)a[i]={...o[i],...s[i]||{},...n[i]||{}};return a}function Ho(r,e,t){let o=P(r),s=e.byteLength>0?I(e):[],n=t.byteLength>0?R(t):[],c=o.length,a=new Array(c);for(let i=0;i<c;i++)a[i]={...o[i],...s[i]||{},...n[i]||{}};return a}async function Wo(r){let e=new Set,t=new Set,o=0;async function s(n){if(e.has(n))return;e.add(n),++o>50&&(o=0,await new Promise(a=>setTimeout(a,0)));let c;try{c=await m.LoadAsync(n)}catch{return}for(let a of c.booksIds)t.add(a);for(let a of c.tagsIds)await s(a)}return await s(r),t.size}var C=class{constructor(e){this.handlers=[];this.timer=null;this.isPolling=!1;this.inMemorySince=0;this.inMemoryDelivered=[];this.targetUserId=e.targetUserId,this.indexer=e.indexer,this.usernameResolver=e.usernameResolver,this.pollIntervalMs=e.pollIntervalMs??3e4,this.cursorKey=e.cursorKey??`dcode_subscriptions_${e.targetUserId}`}onSubscriptions(e){return this.handlers.push(e),()=>{this.handlers=this.handlers.filter(t=>t!==e)}}start(){this.timer||(this.poll().catch(e=>console.error("[RelationshipSubscription] initial poll failed",e)),this.timer=setInterval(()=>{this.poll().catch(e=>console.error("[RelationshipSubscription] poll failed",e))},this.pollIntervalMs))}stop(){this.timer&&(clearInterval(this.timer),this.timer=null)}getLastSeenTimestamp(){return this.readSince()}readSince(){if(typeof localStorage>"u")return this.inMemorySince;try{let e=localStorage.getItem(this.cursorKey);return Math.max(e?Number(e):0,this.inMemorySince)}catch{return this.inMemorySince}}writeSince(e){if(this.inMemorySince=e,!(typeof localStorage>"u"))try{localStorage.setItem(this.cursorKey,String(e))}catch{}}deliveredKey(){return`${this.cursorKey}:delivered`}readDelivered(){if(typeof localStorage>"u")return this.inMemoryDelivered;try{let e=localStorage.getItem(this.deliveredKey());return e?JSON.parse(e):this.inMemoryDelivered}catch{return this.inMemoryDelivered}}writeDelivered(e){if(this.inMemoryDelivered=e,!(typeof localStorage>"u"))try{localStorage.setItem(this.deliveredKey(),JSON.stringify(e))}catch{}}async poll(){if(!this.isPolling){this.isPolling=!0;try{let e=this.readSince(),t=Math.floor(Date.now()/1e3),o=await this.indexer.getNewSubscriptionsSince(this.targetUserId,e),s=this.readDelivered(),n=o.filter(i=>!s.includes(i));if(this.writeSince(t),n.length===0)return;this.writeDelivered(n);let c=Math.floor(Date.now()/1e3),a=[];for(let i of n){let l=null;try{l=await this.usernameResolver.userIdToUsername(i)}catch{l=null}a.push({userId:i,username:l,timestamp:c})}for(let i of this.handlers)try{await i(a)}catch(l){console.error("[RelationshipSubscription] handler failed",l)}}finally{this.isPolling=!1}}}};async function en(r,e){let t=structuredClone(e),o=a=>a.objectType===r.schema.objectId&&BigInt(a.objectId)===r.id,s=a=>a.username??a.creatorUsername??"mine",n=new Map(r.instanceRemaps),c={get:async(...a)=>n.get(x(...a)),put:async(a,i,l,h,z)=>{n.set(x(a,i,l,h),z)}};for(let a=0;a<t.length;a++){let i=t[a];if(o(i)&&await M(i,{record:r,creatorUsername:s(i),localRecordTable:T,blockTimestamp:0,instanceRemapStore:c,batchRemainder:t.slice(a+1).filter(l=>o(l)&&s(l)===s(i))}),i.operation===w.EditRelation){let l=v(i);l&&o(l)&&r.patch(l,!1,!1)}}r.instanceRemaps=[...n]}export{at as AGE_GRADE_BAND_PROP,ue as ActionOperation,we as ActionTypes,mo as BOOK_CURATABLE_PRESETS,ho as BOOK_FIELD_WEIGHTS,kt as BOOK_PROP_IDS,po as BOOK_SEARCH_SCHEMA,jt as Book,At as BookInstance,wo as BookSearchService,ce as BridgeRelation,Ut as CLASSIFICATIONSYSTEM_PROP_IDS,Dr as COIN_LEDGER_POST_TITLE_PREFIX,Tr as CURRENT_VERSION,Et as ClassificationSystem,wr as ClearDbData,Be as ColumnType,Qr as Config,X as CryptoRandomUidFactory,ut as DELETED_PROP,st as DESCRIPTION_PROP,Po as DSafeCheck,Er as DateUtils,f as Db,Ie as DownloadState,Hr as DownloadsByType,Jr as FavoritesByTypes,Gr as IDBInstanceRemapStore,Fe as INSTANCE_REMAPS_COLUMN,$e as IndexDependencyNode,Je as IndexRegistry,_e as IndexRegistryClass,ie as LANG_AGNOSTIC,pe as LANG_ID_DECODE,fe as LANG_ID_ENCODE,dt as LIFECYCLE_STATUS_PROP,ee as LifecycleStatus,Yr as LocalRecordTable,Qe as LruCache,oo as MAX_TOKEN_LENGTH,He as ModelIndex,Xt as ModelTypes,Mt as NewBookWithId,$t as NewClassificationSystemWithId,wt as NewPersonWithId,Vt as NewPostWithId,Rt as NewTagWithId,it as ORIGINAL_LANG_PROP,ht as Orm,gt as PERSON_PROP_IDS,Ir as POINTS_PER_LEVEL,Rr as POINTS_PER_SILVER_COIN,qt as POST_PROP_IDS,ct as PREVIEW_TX_ID_PROP,ze as PROPERTY_SLOTS_COLUMN,rt as PROVENANCE_AI,ot as PROVENANCE_CONSENSUS,tt as PROVENANCE_MANUAL_LOCAL,et as PROVENANCE_UNSET,le as PatchAction,Mr as PatchInstance,w as PatchOperation,Ar as Patches,vt as Person,qr as PopulateStatsStore,Qt as Post,Le as REPLAY_METADATA_COLUMNS,Te as Rating,oe as Registry,C as RelationshipSubscription,lt as SAFE_PROP,ao as SEARCH_SHARD_FORMAT_VERSION,io as SEARCH_SHARD_MAGIC,De as SIDECAR_FORMAT_VERSION,ke as SIDECAR_MAGIC,kr as SILVER_COINS_PER_LEVEL,te as SchemaRegistry,xo as SearchIndex,Re as SidecarType,Wr as Stats,St as TAG_PROP_IDS,nt as TITLE_PROP,m as Tag,_r as VisitsByType,Se as WorkerCommands,Pe as WorkerEvent,ro as _resetForTest,E as acknowledgePublisherOutbox,Or as actionPatchToLocalOp,We as addReactivitySystem,sr as addRecord,en as applyDetachedPatches,Zt as applyRestoredPatches,To as bookSearch,yo as bookSearchDoc,go as bookSearchPresets,vo as bookSearchSourceFromRecord,Do as buildCascadeCandidates,lo as buildSearchShard,Wo as calculateTopicBookCount,H as cascadeRestore,b as childrenOf,qe as classifyValue,Xe as clear,_ as collectAncestors,J as collectTrashedAncestors,Me as colsFromSidecar,Ne as columnTypeForBits,co as compareBigint,Ve as configureDb,W as countRecursiveSubfolders,Pr as currentLayout,hr as dbName,Ge as dbReactivity,jr as debouncePromise,pr as delay,Ce as deserializeAiSidecar,j as deserializeBookExtended,A as deserializeBookProv,N as deserializeBookSlim,zt as deserializeClassificationSystemExtended,Lt as deserializeClassificationSystemProv,Kt as deserializeClassificationSystemSlim,Kr as deserializePatches,I as deserializePersonExtended,R as deserializePersonProv,P as deserializePersonSlim,Wt as deserializePostExtended,Gt as deserializePostProv,_t as deserializePostSlim,fo as deserializeSearchShard,D as deserializeTagExtended,B as deserializeTagProv,k as deserializeTagSlim,yr as deviceStateStoreName,Ze as dump,F as enablePublisherOutbox,ve as evmToPatch,Bo as executeComplexRestore,So as expandTopics,Ue as extractRecordCols,Uo as fileStore,se as fromJsonId,rr as getDefaultCreatorUsername,Br as getLevel,dr as getModelClass,Fr as getPatchInstanceByAccount,L as getPublisherOutbox,nr as getRecord,tr as getRecordKey,Q as hasBookData,K as hasFile,or as hasRecord,Lr as inceptionDate,mt as inflateOrmJson,vr as instanceRemapsStoreName,je as instanceSpecFromFields,de as isActionOperation,ae as isEvmPatch,y as isIndependentlyTrashed,V as isUserCreated,S as jsonStoreName,br as keyValStoreName,bo as latestAiValue,zo as loadBookData,Y as loadFile,cr as loadManyAsync,lr as loadOneAsync,Z as loadOrInitUidFactory,Ur as localOpToActionPatch,T as localRecordTable,xr as localRecordsStoreName,$o as mergeBookTiers,Ho as mergePersonTiers,qo as mergeTagTiers,no as normalizeText,be as packActionPatch,he as packPatch,Ae as parseSidecar,gr as patchStoreName,xe as patchToEvm,d as pdfDataStoreName,O as pinAsTrashed,ar as pinRecord,u as proResolver,ur as registerModelClass,re as relationColName,ir as removeRecord,me as resolveLayout,Ee as scalarProperties,eo as scanTrash,Ke as serializeAiSidecar,Bt as serializeBookExtended,Nt as serializeBookProv,Dt as serializeBookSlim,Ct as serializeClassificationSystemExtended,Ft as serializeClassificationSystemProv,Ot as serializeClassificationSystemSlim,pt as serializeMapOfMaps,ft as serializeMapOfSets,Cr as serializePatchRows,zr as serializePatches,yt as serializePersonExtended,xt as serializePersonProv,bt as serializePersonSlim,Jt as serializePostExtended,Yt as serializePostProv,Ht as serializePostSlim,uo as serializeSearchShard,Pt as serializeTagExtended,It as serializeTagProv,Tt as serializeTagSlim,er as setDefaultCreatorUsername,Vr as setDefaultLanguage,Xr as setDefaultProvenance,Zr as setLoadAiSidecars,Ye as setReactivitySystem,Fo as storeBookData,G as storeFile,Nr as subscribeLevel,$r as subscribeStats,ne as toJsonId,so as tokenize,to as trashStore,ye as unpackActionPatch,ge as unpackPatch,fr as unpinRecord,g as untrashRecord,mr as version,Sr as versionsFile,Oe as writeSidecar};
|
|
2
7
|
//# sourceMappingURL=index.js.map
|
package/dist/models/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/models/dsafe.ts","../../src/models/untrash.ts","../../src/models/indexdb/file_storage.ts","../../src/models/indexdb/book_data.ts","../../src/models/slim-deserializer.ts","../../src/models/aggregation.ts","../../src/models/relationshipSubscription.ts","../../src/models/detachedReplay.ts"],"mappings":"+1DAoGA,IAAMA,EAAa,EACbC,EAAgB,EAQTC,GAAcC,GAChBA,EAAQ,QAAQF,CAAa,IAAM,IAASE,EAAQ,QAAQH,CAAU,IAAM,GClFhF,SAASI,EAAuBC,EAA4B,CAC/D,OAAOA,EAAO,UAAY,IAAQA,EAAO,OAAS,EACtD,CAGO,SAASC,EAAcD,EAAyB,CACnDA,EAAO,QAAU,GACjBA,EAAO,KAAU,EACrB,CAOO,SAASE,EAAaF,EAAyB,CAC7CD,EAAuBC,CAAM,IAAGA,EAAO,QAAU,GAC1D,CAEA,SAASG,EAAMC,EAAwB,CACnC,MAAO,GAAGA,aAAgBC,EAAM,IAAM,GAAG,IAAID,EAAK,EAAE,EACxD,CAEA,eAAsBE,EAAWF,EAAqC,CAClE,GAAIA,aAAgBC,EAAK,CACrB,GAAM,CAACE,EAAMC,CAAK,EAAI,MAAM,QAAQ,IAAI,CAACJ,EAAK,KAAMA,EAAK,KAAK,CAAC,EAC/D,MAAO,CAAC,GAAGG,EAAM,GAAGC,CAAK,CAC7B,CACA,MAAO,CAAC,CACZ,CASA,eAAsBC,EAAeL,EAAgBM,EAAiC,CAClF,GAAI,CAAAX,EAAuBK,CAAI,EAC/B,GAAIM,EAAS,CACTT,EAAcG,CAAI,EAClB,QAAWO,KAAS,MAAML,EAAWF,CAAI,EAAG,MAAMK,EAAeE,EAAOD,CAAO,CACnF,MACIR,EAAaE,CAAI,CAEzB,CAUA,eAAsBQ,GAAuBC,EAAuC,CAChF,IAAMC,EAAyB,CAAC,EAC1BC,EAAO,IAAI,IACjB,QAASC,EAAI,EAAGA,EAAIH,EAAK,OAAQG,IAAK,CAClC,IAAMC,EAAaD,EAAI,EAAIb,EAAMU,EAAKG,EAAI,CAAC,CAAC,EAAI,KAChD,QAAWL,KAAS,MAAML,EAAWO,EAAKG,CAAC,CAAC,EAAG,CAC3C,IAAME,EAAMf,EAAMQ,CAAK,EACnBO,IAAQD,GAAcF,EAAK,IAAIG,CAAG,IACtCH,EAAK,IAAIG,CAAG,EACZJ,EAAW,KAAKH,CAAK,EACzB,CACJ,CACA,OAAOG,CACX,CAUA,eAAsBK,GAClBC,EACAC,EACAC,EACAC,EACAC,EACa,CAIbvB,EAAcmB,CAAM,EACpBC,EAAU,QAAQpB,CAAa,EAG3BuB,GACAA,EAAuB,EAI3B,eAAeC,EAAarB,EAAgBsB,EAA6C,CACrF,GAAI3B,EAAuBK,CAAI,EAAG,OAGlC,IAAMuB,EAAkBvB,EAAK,KAAOgB,EAAO,IAAOC,EAAU,KAAKO,GAAKA,EAAE,KAAOxB,EAAK,EAAE,EAElFyB,EAAgBH,EAMpB,GAJI,CAACC,GAAkBvB,aAAgBC,IACnCwB,EAAgBP,EAAY,IAAI,GAAGlB,EAAK,EAAE,EAAE,GAG5CyB,EAAe,CACf5B,EAAcG,CAAI,EAClB,QAAWO,KAAS,MAAML,EAAWF,CAAI,EACrC,MAAMqB,EAAad,EAAO,EAAI,CAEtC,MACIT,EAAaE,CAAI,CAGzB,CAGA,QAAWO,KAAS,MAAML,EAAWiB,CAAQ,EACzC,MAAME,EAAad,EAAO,EAAI,CAEtC,CAGA,eAAsBmB,EAAiBC,EAAUC,EAAU,IAAI,IAA+B,CAC1F,GAAIA,EAAQ,IAAID,EAAI,EAAE,EAAG,MAAO,CAAC,EACjCC,EAAQ,IAAID,EAAI,EAAE,EAClB,IAAME,EAAgB,CAAC,EACvB,QAAWC,KAAU,MAAMH,EAAI,OAC3BE,EAAO,KAAKC,CAAM,EAClBD,EAAO,KAAK,GAAG,MAAMH,EAAiBI,EAAQF,CAAO,CAAC,EAE1D,OAAOC,CACX,CAYA,eAAsBE,EAAwBJ,EAAUC,EAAU,IAAI,IAA+B,CACjG,GAAIA,EAAQ,IAAID,EAAI,EAAE,EAAG,MAAO,CAAC,EACjCC,EAAQ,IAAID,EAAI,EAAE,EAClB,IAAME,EAAgB,CAAC,EACvB,QAAWC,KAAU,MAAMH,EAAI,OACtBhC,EAAuBmC,CAAM,IAClCD,EAAO,KAAKC,CAAM,EAClBD,EAAO,KAAK,GAAG,MAAME,EAAwBD,EAAQF,CAAO,CAAC,GAEjE,OAAOC,CACX,CAGA,eAAsBG,EAAyBL,EAAUC,EAAU,IAAI,IAAgC,CACnG,GAAIA,EAAQ,IAAID,EAAI,EAAE,EAAG,MAAO,GAChCC,EAAQ,IAAID,EAAI,EAAE,EAClB,IAAMM,EAAW,MAAMN,EAAI,KAC3B,GAAI,CAACM,GAAYA,EAAS,SAAW,EAAG,MAAO,GAC/C,IAAIC,EAAQD,EAAS,OACrB,QAAWE,KAAOF,EACdC,GAAS,MAAMF,EAAyBG,EAAKP,CAAO,EAExD,OAAOM,CACX,CChGA,IAAME,EAAWC,EAEJC,EAAWC,GAAgC,CACpD,IAAMC,EAAWC,EAAqB,EACtC,OAAAC,EAAG,EAAE,KAAKC,GAAM,CACZ,GAAI,CAEA,IAAMC,EADKD,EAAG,YAAYP,EAAW,UAAU,EAChC,YAAYA,CAAS,EAAE,MAAMG,CAAE,EAC9CK,EAAI,UAAY,SAAUC,EAAG,CAEXA,EAAE,OAAO,OACX,EACRL,EAAS,QAAQ,EAAI,EAErBA,EAAS,QAAQ,EAAK,CAE9B,EACAI,EAAI,QAAU,SAAUC,EAAG,CACvB,QAAQ,MAAM,gBAAiBA,EAAE,MAAM,EACvCL,EAAS,OAAOK,EAAE,MAAM,CAC5B,CACJ,OAAQA,EAAG,CACP,QAAQ,MAAMA,CAAC,EACf,QACJ,CACJ,CAAC,EAAE,MAAMA,GAAK,CACV,QAAQ,MAAM,+BAA+BA,EAAE,OAAO,EAAE,EACxDL,EAAS,OAAOK,CAAC,CACrB,CAAC,EACML,EAAS,GACpB,EAEaM,EAAYP,GAAiD,CACtE,IAAMC,EAAWC,EAAoC,EACrD,OAAAC,EAAG,EAAE,KAAKC,GAAM,CACZ,IAAMI,EAAKJ,EAAG,YAAYP,EAAW,UAAU,EAC3CY,EACJD,EAAG,YAAYX,CAAS,EAAE,IAAIG,CAAE,EAAE,iBAAiB,UAAW,SAAUU,EAAO,CAE3ED,EAASC,EAAM,OAAO,OACtBT,EAAS,QAAQQ,CAAM,CAC3B,CAAC,EACDD,EAAG,QAAU,SAAUE,EAAO,CAC1B,QAAQ,MAAM,gBAAiBA,EAAM,MAAM,EAC3CT,EAAS,OAAOS,EAAM,MAAM,CAChC,CACJ,CAAC,EAAE,MAAMT,EAAS,MAAM,EAEjBA,EAAS,GACpB,EAEaU,EAAY,MAAOC,GAA0C,CACtE,IAAMX,EAAWC,EAAqB,EAChCE,EAAK,MAAMD,EAAG,EACdU,EAAM,MAAMd,EAAQa,EAAO,EAAE,EAC7BJ,EAAKJ,EAAG,YAAYP,EAAW,WAAW,EAChD,OAAIgB,EAEAL,EAAG,YAAYX,CAAS,EAAE,IAAIe,CAAM,EAAE,UAAY,UAAY,CAE9D,EAGAJ,EAAG,YAAYX,CAAS,EAAE,IAAIe,CAAM,EAAE,UAAY,UAAY,CAE9D,EAGJJ,EAAG,WAAa,UAAY,CACxBP,EAAS,QAAQ,EAAI,CACzB,EACAO,EAAG,QAAU,SAAUE,EAAO,CAC1B,QAAQ,MAAM,gBAAiBA,EAAM,MAAM,EAC3CT,EAAS,OAAOS,EAAM,MAAM,CAChC,EACOT,EAAS,GACpB,EAOaa,GAAY,CAAE,IAAKf,EAAS,KAAMQ,EAAU,MAAOI,CAAU,ECtFnE,IAAMI,EAAeC,GAAoC,CAC5D,IAAMC,EAAWC,EAAqB,EACtC,OAAAC,EAAG,EAAE,KAAKC,GAAM,CACZ,GAAI,CAEA,IAAMC,EADKD,EAAG,YAAYE,EAAkB,UAAU,EACvC,YAAYA,CAAgB,EAAE,WAAWN,CAAM,EAC9DK,EAAI,UAAY,SAAUE,EAAG,CAEVA,EAAE,OAAO,OAEpBN,EAAS,QAAQ,EAAI,EAErBA,EAAS,QAAQ,EAAK,CAE9B,EACAI,EAAI,QAAU,SAAUE,EAAG,CACvB,QAAQ,MAAM,gBAAiBA,EAAE,MAAM,EACvCN,EAAS,OAAOM,EAAE,MAAM,CAC5B,CACJ,OAAQA,EAAG,CACP,QAAQ,MAAMA,CAAC,EACf,QACJ,CACJ,CAAC,EAAE,MAAMA,GAAK,CACV,QAAQ,MAAM,+BAA+BA,EAAE,OAAO,EAAE,EACxDN,EAAS,OAAOM,CAAC,CACrB,CAAC,EACMN,EAAS,GACpB,EAEaO,GAAgBR,GAAmD,CAC5E,IAAMC,EAAWC,EAAkC,EACnD,OAAAC,EAAG,EAAE,KAAKC,GAAM,CACZ,IAAMK,EAAKL,EAAG,YAAYE,EAAkB,UAAU,EAClDI,EACJD,EAAG,YAAYH,CAAgB,EAAE,IAAIN,CAAM,EAAE,iBAAiB,UAAW,SAAUW,EAAO,CAEtFD,EAASC,EAAM,OAAO,MAC1B,CAAC,EACDF,EAAG,WAAa,UAAY,CACxBR,EAAS,QAAQS,CAAM,CAC3B,EACAD,EAAG,QAAU,SAAUE,EAAO,CAC1BV,EAAS,OAAOU,EAAM,MAAM,CAChC,CACJ,CAAC,EAAE,MAAMV,EAAS,MAAM,EACjBA,EAAS,GACpB,EAGaW,GAAiBC,GAAwC,CAClE,IAAMZ,EAAWC,EAAqB,EACtC,OAAAC,EAAG,EAAE,KAAK,MAAMC,GAAO,CACnB,IAAMU,EAAM,MAAMf,EAAYc,EAAO,MAAM,EACrCJ,EAAKL,EAAG,YAAYE,EAAkB,WAAW,EACnDQ,EAEAL,EAAG,YAAYH,CAAgB,EAAE,IAAIO,CAAM,EAG3CJ,EAAG,YAAYH,CAAgB,EAAE,IAAIO,CAAM,EAE/CJ,EAAG,WAAa,UAAY,CACxBR,EAAS,QAAQ,EAAI,CACzB,EACAQ,EAAG,QAAU,SAAUE,EAAO,CAC1B,QAAQ,MAAM,gBAAiBA,EAAM,MAAM,EAC3CV,EAAS,OAAOU,EAAM,MAAM,CAChC,CACJ,CAAC,EAAE,MAAMV,EAAS,MAAM,EACjBA,EAAS,GACpB,ECtEO,SAASc,GAAeC,EAAsBC,EAAqBC,EAAmC,CACzG,IAAMC,EAAQC,EAAoBJ,CAAO,EACnCK,EAAOJ,EAAO,WAAa,EAAIK,EAAwBL,CAAM,EAAI,CAAC,EAClEM,EAAQL,EAAQ,WAAa,EAAIM,EAAoBN,CAAO,EAAI,CAAC,EAEjEO,EAAQN,EAAM,OACdO,EAAU,IAAI,MAAiBD,CAAK,EAE1C,QAAS,EAAI,EAAG,EAAIA,EAAO,IACvBC,EAAQ,CAAC,EAAI,CACT,GAAGP,EAAM,CAAC,EACV,GAAIE,EAAK,CAAC,GAAK,CAAC,EAChB,GAAIE,EAAM,CAAC,GAAK,CAAC,CACrB,EAGJ,OAAOG,CACX,CAEO,SAASC,GAAcX,EAAsBC,EAAqBC,EAAkC,CACvG,IAAMC,EAAQS,EAAmBZ,CAAO,EAClCK,EAAOJ,EAAO,WAAa,EAAIY,EAAuBZ,CAAM,EAAI,CAAC,EACjEM,EAAQL,EAAQ,WAAa,EAAIY,EAAmBZ,CAAO,EAAI,CAAC,EAEhEO,EAAQN,EAAM,OACdO,EAAU,IAAI,MAAgBD,CAAK,EAEzC,QAAS,EAAI,EAAG,EAAIA,EAAO,IACvBC,EAAQ,CAAC,EAAI,CACT,GAAGP,EAAM,CAAC,EACV,GAAIE,EAAK,CAAC,GAAK,CAAC,EAChB,GAAIE,EAAM,CAAC,GAAK,CAAC,CACrB,EAGJ,OAAOG,CACX,CAEO,SAASK,GAAiBf,EAAsBC,EAAqBC,EAAqC,CAC7G,IAAMC,EAAQa,EAAsBhB,CAAO,EACrCK,EAAOJ,EAAO,WAAa,EAAIgB,EAA0BhB,CAAM,EAAI,CAAC,EACpEM,EAAQL,EAAQ,WAAa,EAAIgB,EAAsBhB,CAAO,EAAI,CAAC,EAEnEO,EAAQN,EAAM,OACdO,EAAU,IAAI,MAAmBD,CAAK,EAE5C,QAAS,EAAI,EAAG,EAAIA,EAAO,IACvBC,EAAQ,CAAC,EAAI,CACT,GAAGP,EAAM,CAAC,EACV,GAAIE,EAAK,CAAC,GAAK,CAAC,EAChB,GAAIE,EAAM,CAAC,GAAK,CAAC,CACrB,EAGJ,OAAOG,CACX,CCvJA,eAAsBS,GAAwBC,EAAgC,CAC5E,IAAMC,EAAc,IAAI,IAClBC,EAAc,IAAI,IACpBC,EAAuB,EAE3B,eAAeC,EAAKC,EAA2B,CAC7C,GAAIJ,EAAY,IAAII,CAAE,EAAG,OACzBJ,EAAY,IAAII,CAAE,EAGd,EAAEF,EAAuB,KAC3BA,EAAuB,EACvB,MAAM,IAAI,QAASG,GAAY,WAAWA,EAAS,CAAC,CAAC,GAGvD,IAAIC,EACJ,GAAI,CACFA,EAAM,MAAMC,EAAI,UAAUH,CAAE,CAC9B,MAAQ,CACN,MACF,CAEA,QAAWI,KAAUF,EAAI,SACvBL,EAAY,IAAIO,CAAM,EAIxB,QAAWC,KAAWH,EAAI,QACxB,MAAMH,EAAKM,CAAO,CAEtB,CAEA,aAAMN,EAAKJ,CAAK,EACTE,EAAY,IACrB,CC6FO,IAAMS,EAAN,KAA+B,CAmBpC,YAAYC,EAAuC,CAbnD,KAAQ,SAAqC,CAAC,EAC9C,KAAQ,MAA+C,KACvD,KAAQ,UAAY,GAQpB,KAAQ,cAAgB,EACxB,KAAQ,kBAA8B,CAAC,EAGrC,KAAK,aAAeA,EAAK,aACzB,KAAK,QAAUA,EAAK,QACpB,KAAK,iBAAmBA,EAAK,iBAC7B,KAAK,eAAiBA,EAAK,gBAAkB,IAC7C,KAAK,UAAYA,EAAK,WAAa,uBAAuBA,EAAK,YAAY,EAC7E,CAIA,gBAAgBC,EAA6C,CAC3D,YAAK,SAAS,KAAKA,CAAO,EACnB,IAAM,CACX,KAAK,SAAW,KAAK,SAAS,OAAOC,GAAKA,IAAMD,CAAO,CACzD,CACF,CAIA,OAAc,CACR,KAAK,QACT,KAAK,KAAK,EAAE,MAAM,GAAK,QAAQ,MAAM,iDAAkD,CAAC,CAAC,EACzF,KAAK,MAAQ,YAAY,IAAM,CAC7B,KAAK,KAAK,EAAE,MAAM,GAAK,QAAQ,MAAM,yCAA0C,CAAC,CAAC,CACnF,EAAG,KAAK,cAAc,EACxB,CAEA,MAAa,CACP,KAAK,QACP,cAAc,KAAK,KAAK,EACxB,KAAK,MAAQ,KAEjB,CAEA,sBAA+B,CAC7B,OAAO,KAAK,UAAU,CACxB,CAEQ,WAAoB,CAC1B,GAAI,OAAO,aAAiB,IAAa,OAAO,KAAK,cACrD,GAAI,CACF,IAAME,EAAM,aAAa,QAAQ,KAAK,SAAS,EAC/C,OAAO,KAAK,IAAIA,EAAM,OAAOA,CAAG,EAAI,EAAG,KAAK,aAAa,CAC3D,MAAQ,CACN,OAAO,KAAK,aACd,CACF,CAEQ,WAAWC,EAAkB,CAEnC,GADA,KAAK,cAAgBA,EACjB,SAAO,aAAiB,KAC5B,GAAI,CACF,aAAa,QAAQ,KAAK,UAAW,OAAOA,CAAE,CAAC,CACjD,MAAQ,CAER,CACF,CAEQ,cAAuB,CAC7B,MAAO,GAAG,KAAK,SAAS,YAC1B,CAEQ,eAA0B,CAChC,GAAI,OAAO,aAAiB,IAAa,OAAO,KAAK,kBACrD,GAAI,CACF,IAAMD,EAAM,aAAa,QAAQ,KAAK,aAAa,CAAC,EACpD,OAAOA,EAAM,KAAK,MAAMA,CAAG,EAAI,KAAK,iBACtC,MAAQ,CACN,OAAO,KAAK,iBACd,CACF,CAEQ,eAAeE,EAA0B,CAE/C,GADA,KAAK,kBAAoBA,EACrB,SAAO,aAAiB,KAC5B,GAAI,CACF,aAAa,QAAQ,KAAK,aAAa,EAAG,KAAK,UAAUA,CAAQ,CAAC,CACpE,MAAQ,CAER,CACF,CA0CA,MAAM,MAAsB,CAC1B,GAAI,MAAK,UACT,MAAK,UAAY,GACjB,GAAI,CACF,IAAMC,EAAQ,KAAK,UAAU,EACvBC,EAAe,KAAK,MAAM,KAAK,IAAI,EAAI,GAAI,EAC3CC,EAAc,MAAM,KAAK,QAAQ,yBAAyB,KAAK,aAAcF,CAAK,EAElFG,EAAmB,KAAK,cAAc,EACtCJ,EAAWG,EAAY,OAAOE,GAAM,CAACD,EAAiB,SAASC,CAAE,CAAC,EAGxE,GADA,KAAK,WAAWH,CAAY,EACxBF,EAAS,SAAW,EAAG,OAC3B,KAAK,eAAeA,CAAQ,EAE5B,IAAMM,EAAM,KAAK,MAAM,KAAK,IAAI,EAAI,GAAI,EAClCC,EAAmC,CAAC,EAC1C,QAAWC,KAAUR,EAAU,CAC7B,IAAIS,EAA0B,KAC9B,GAAI,CACFA,EAAW,MAAM,KAAK,iBAAiB,iBAAiBD,CAAM,CAChE,MAAQ,CACNC,EAAW,IACb,CACAF,EAAc,KAAK,CAAE,OAAAC,EAAQ,SAAAC,EAAU,UAAWH,CAAI,CAAC,CACzD,CAEA,QAAWT,KAAK,KAAK,SACnB,GAAI,CACF,MAAMA,EAAEU,CAAa,CACvB,OAASG,EAAG,CACV,QAAQ,MAAM,4CAA6CA,CAAC,CAC9D,CAEJ,QAAE,CACA,KAAK,UAAY,EACnB,EACF,CACF,EC/PA,eAAsBC,GAAqBC,EAAaC,EAAwC,CAC5F,IAAMC,EAAO,gBAAgBD,CAAK,EAC5BE,EAAOC,GAAgBA,EAAE,aAAeJ,EAAO,OAAO,UAAY,OAAOI,EAAE,QAAQ,IAAMJ,EAAO,GAChGK,EAAUD,GAAsBA,EAAE,UAAYA,EAAE,iBAAmB,OACnEE,EAAS,IAAI,IAAoBN,EAAO,cAAc,EACtDO,EAAyC,CAC3C,IAAK,SAAUC,IAASF,EAAO,IAAIG,EAAiB,GAAGD,CAAI,CAAC,EAC5D,IAAK,MAAOE,EAAIC,EAAMC,EAAMC,EAAMC,IAAU,CAAER,EAAO,IAAIG,EAAiBC,EAAIC,EAAMC,EAAMC,CAAI,EAAGC,CAAK,CAAG,CAC7G,EACA,QAASC,EAAI,EAAGA,EAAIb,EAAK,OAAQa,IAAK,CAClC,IAAMC,EAAQd,EAAKa,CAAC,EAKpB,GAJIZ,EAAIa,CAAK,GAAG,MAAMC,EAAsBD,EAAO,CAC/C,OAAAhB,EAAQ,gBAAiBK,EAAOW,CAAK,EAAG,iBAAAE,EAAkB,eAAgB,EAAG,mBAAAX,EAC7E,eAAgBL,EAAK,MAAMa,EAAI,CAAC,EAAE,OAAOX,GAAKD,EAAIC,CAAC,GAAKC,EAAOD,CAAC,IAAMC,EAAOW,CAAK,CAAC,CACvF,CAAC,EACGA,EAAM,YAAcG,EAAe,aAAc,CACjD,IAAMC,EAAUC,EAAqBL,CAAK,EACtCI,GAAWjB,EAAIiB,CAAO,GAAGpB,EAAO,MAAMoB,EAAS,GAAO,EAAK,CACnE,CACJ,CACApB,EAAO,eAAiB,CAAC,GAAGM,CAAM,CACtC","names":["safePropId","deletedPropId","DSafeCheck","element","isIndependentlyTrashed","record","untrashRecord","pinAsTrashed","keyOf","node","Tag","childrenOf","tags","books","cascadeRestore","restore","child","buildCascadeCandidates","path","candidates","seen","i","excludeKey","key","executeComplexRestore","target","ancestors","selectedIds","rootNode","applyDestinationChange","applyChoices","shouldRestoreParent","isRequiredPath","a","shouldRestore","collectAncestors","tag","visited","result","parent","collectTrashedAncestors","countRecursiveSubfolders","children","count","sub","storeName","jsonStoreName","hasFile","id","deferred","proResolver","Db","db","req","e","loadFile","tx","result","event","storeFile","record","has","fileStore","hasBookData","fileId","deferred","proResolver","Db","db","req","pdfDataStoreName","e","loadBookData","tx","result","event","storeBookData","record","has","mergeBookTiers","slimBuf","extBuf","provBuf","slims","deserializeBookSlim","exts","deserializeBookExtended","provs","deserializeBookProv","count","records","mergeTagTiers","deserializeTagSlim","deserializeTagExtended","deserializeTagProv","mergePersonTiers","deserializePersonSlim","deserializePersonExtended","deserializePersonProv","calculateTopicBookCount","tagId","visitedTags","uniqueBooks","operationsSinceYield","walk","id","resolve","tag","Tag","bookId","childId","RelationshipSubscription","opts","handler","h","raw","ts","actorIds","since","dispatchTime","rawActorIds","alreadyDelivered","id","now","subscriptions","userId","username","e","applyDetachedPatches","record","input","rows","own","p","author","remaps","instanceRemapStore","args","instanceRemapKey","id","lang","user","slot","value","i","patch","applyPatchWithContext","localRecordTable","PatchOperation","inverse","inverseRelationPatch"]}
|
|
1
|
+
{"version":3,"sources":["../../src/models/dsafe.ts","../../src/models/untrash.ts","../../src/models/indexdb/file_storage.ts","../../src/models/indexdb/book_data.ts","../../src/models/slim-deserializer.ts","../../src/models/aggregation.ts","../../src/models/relationshipSubscription.ts","../../src/models/detachedReplay.ts"],"mappings":"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","names":["safePropId","deletedPropId","DSafeCheck","element","isIndependentlyTrashed","record","untrashRecord","pinAsTrashed","keyOf","node","Tag","childrenOf","tags","books","cascadeRestore","restore","child","buildCascadeCandidates","path","candidates","seen","i","excludeKey","key","executeComplexRestore","target","ancestors","selectedIds","rootNode","applyDestinationChange","applyChoices","shouldRestoreParent","isRequiredPath","a","shouldRestore","collectAncestors","tag","visited","result","parent","collectTrashedAncestors","countRecursiveSubfolders","children","count","sub","storeName","jsonStoreName","hasFile","id","deferred","proResolver","Db","db","req","e","loadFile","tx","result","event","storeFile","record","has","fileStore","hasBookData","fileId","deferred","proResolver","Db","db","req","pdfDataStoreName","e","loadBookData","tx","result","event","storeBookData","record","has","mergeBookTiers","slimBuf","extBuf","provBuf","slims","deserializeBookSlim","exts","deserializeBookExtended","provs","deserializeBookProv","count","records","mergeTagTiers","deserializeTagSlim","deserializeTagExtended","deserializeTagProv","mergePersonTiers","deserializePersonSlim","deserializePersonExtended","deserializePersonProv","calculateTopicBookCount","tagId","visitedTags","uniqueBooks","operationsSinceYield","walk","id","resolve","tag","Tag","bookId","childId","RelationshipSubscription","opts","handler","h","raw","ts","actorIds","since","dispatchTime","rawActorIds","alreadyDelivered","id","now","subscriptions","userId","username","e","applyDetachedPatches","record","input","rows","own","p","author","remaps","instanceRemapStore","args","instanceRemapKey","id","lang","user","slot","value","i","patch","applyPatchWithContext","localRecordTable","PatchOperation","inverse","inverseRelationPatch"]}
|
package/dist/models/models.js
CHANGED
|
@@ -1,2 +1,7 @@
|
|
|
1
|
-
|
|
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{$b as p,Ac as Q,Bc as R,Cc as S,Dc as T,Ec as U,Mb as a,Nb as b,Ob as c,Pb as d,Qb as e,Rb as f,Sb as g,Tb as h,Ub as i,Vb as j,Wb as k,Xb as l,Yb as m,Zb as n,_b as o,ac as q,bc as r,cc as s,dc as t,ec as u,fc as v,gc as w,hc as x,ic as y,jc as z,kc as A,lc as B,mc as C,nc as D,oc as E,pc as F,qc as G,rc as H,sc as I,tc as J,uc as K,vc as L,wc as M,xc as N,yc as O,zc as P}from"../chunk-3ALQKSIN.js";export{s as BOOK_PROP_IDS,z as Book,A as BookInstance,C as CLASSIFICATIONSYSTEM_PROP_IDS,J as ClassificationSystem,U as ModelTypes,B as NewBookWithId,K as NewClassificationSystemWithId,i as NewPersonWithId,T as NewPostWithId,r as NewTagWithId,a as PERSON_PROP_IDS,L as POST_PROP_IDS,h as Person,S as Post,j as TAG_PROP_IDS,q as Tag,w as deserializeBookExtended,y as deserializeBookProv,u as deserializeBookSlim,G as deserializeClassificationSystemExtended,I as deserializeClassificationSystemProv,E as deserializeClassificationSystemSlim,e as deserializePersonExtended,g as deserializePersonProv,c as deserializePersonSlim,P as deserializePostExtended,R as deserializePostProv,N as deserializePostSlim,n as deserializeTagExtended,p as deserializeTagProv,l as deserializeTagSlim,v as serializeBookExtended,x as serializeBookProv,t as serializeBookSlim,F as serializeClassificationSystemExtended,H as serializeClassificationSystemProv,D as serializeClassificationSystemSlim,d as serializePersonExtended,f as serializePersonProv,b as serializePersonSlim,O as serializePostExtended,Q as serializePostProv,M as serializePostSlim,m as serializeTagExtended,o as serializeTagProv,k as serializeTagSlim};
|
|
2
7
|
//# sourceMappingURL=models.js.map
|
|
@@ -1,2 +1,12 @@
|
|
|
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 rt=n=>n.name==="authors"?"authorIds":n.name,bt=class n{constructor(){this.schemas=new Map;this.byName=new Map}static getInstance(){return n.instance||(n.instance=new n),n.instance}register(e){this.schemas.set(e.objectId,e),this.byName.set(e.name,e)}get(e){let t=this.schemas.get(e);return t||(console.warn(`[SchemaRegistry] No schema registered for type ID ${e}. Returning generic placeholder.`),{name:"Generic",typePrefix:"XX",objectId:e,multipleInstances:!1,props:[],instanceFields:[],relations:[]})}getByName(e){return this.byName.get(e)}clear(){this.schemas.clear(),this.byName.clear()}},T=bt.getInstance();function Y(n){let e=T.get(n.objectType)?.relations.find(i=>i.relationId===n.relationId),t=e&&T.getByName(e.targetType),r=t?.relations.find(i=>i.name===e?.inverted);if(!(!t||!r))return{...n,objectType:t.objectId,objectId:n.targetId,relationId:r.relationId,targetId:n.objectId}}function Q(n){try{return((typeof n=="bigint"?n:BigInt(n))&0x8000000000000000n)!==0n}catch{return!1}}var W=n=>n.toString(),ke=n=>BigInt(n),V="",$=n=>n.operation!==void 0;var g=(n=>(n[n.EditPropertyString=1]="EditPropertyString",n[n.EditPropertyNumber=2]="EditPropertyNumber",n[n.EditInstanceFieldString=3]="EditInstanceFieldString",n[n.EditInstanceFieldNumber=4]="EditInstanceFieldNumber",n[n.EditRelation=5]="EditRelation",n[n.CreateRecord=7]="CreateRecord",n[n.AddInstance=8]="AddInstance",n[n.MergeProposal=9]="MergeProposal",n[n.DeleteBridge=10]="DeleteBridge",n))(g||{}),y=(n=>(n[n.Remove=0]="Remove",n[n.Add=1]="Add",n))(y||{});var O={eng:1,fra:2,spa:3,por:4,deu:5,zho:6,ara:7,rus:8,jpn:9,kor:10,hin:11,ita:12,nld:13,pol:14,swe:15,tur:16,vie:17,ind:18,tha:19,fas:20,heb:21,ukr:22,amh:23,gez:24,tir:25,orm:26,cat:27},Be=Object.fromEntries(Object.entries(O).map(([n,e])=>[e,n]));function It(n,e){let t={hash:"",enums:{},props:{},instanceFields:{}};for(let r=1;r<=n;r++){let i=e.versions[r];if(i){Object.assign(t.enums,i.enums),Object.assign(t.props,i.props);for(let[a,s]of Object.entries(i.instanceFields))t.instanceFields[Number(a)]=[...s];t.hash=i.hash}}return t}var Kt=1146113329,Yt=6;var Je=n=>n<=0?3:n<=8?1:n<=16?2:6,Ht=(n,e)=>n.map((t,r)=>{if(t.type==="string")return{name:t.name,type:3};if(t.type==="boolean")return{name:t.name,type:7};let i=e?.[r]?.bits??t.bits??32;return{name:t.name,type:Je(i)}}),Jt={name:"isDefault",type:7},Yn=new TextDecoder,We=new TextEncoder,St=class{constructor(e){this.offset=0;this.view=new DataView(e)}get remaining(){return this.view.byteLength-this.offset}u8(){let e=this.view.getUint8(this.offset);return this.offset+=1,e}u16(){let e=this.view.getUint16(this.offset);return this.offset+=2,e}u24(){let e=this.view.getUint8(this.offset)<<16|this.view.getUint16(this.offset+1);return this.offset+=3,e}u32(){let e=this.view.getUint32(this.offset);return this.offset+=4,e}u64(){let e=this.view.getBigUint64(this.offset);return this.offset+=8,e}bytes(e){let t=new Uint8Array(this.view.buffer,this.view.byteOffset+this.offset,e);return this.offset+=e,t}utf8(e){return Yn.decode(this.bytes(e))}nullableString(){if(this.u8()===0)return null;let t=this.u16();return this.utf8(t)}varString(){let e=this.u8();return this.utf8(e)}},Hn=(n,e,t)=>{switch(e){case 1:{let r=new Uint8Array(t);for(let i=0;i<t;i++)r[i]=n.u8();return r}case 2:{let r=new Uint16Array(t);for(let i=0;i<t;i++)r[i]=n.u16();return r}case 6:{let r=new Uint32Array(t);for(let i=0;i<t;i++)r[i]=n.u32();return r}case 8:{let r=new BigUint64Array(t);for(let i=0;i<t;i++)r[i]=n.u64();return r}case 3:{let r=new Array(t);for(let i=0;i<t;i++)r[i]=n.nullableString();return r}default:throw new Error(`Unsupported column type 0x${e.toString(16)}`)}},Xn=(n,e)=>{switch(e){case 1:return n.u8();case 2:return n.u16();case 6:return n.u32();case 7:return n.u8()===1;case 3:return n.nullableString();default:throw new Error(`Unsupported instance field type 0x${e.toString(16)}`)}},Zn=n=>{let e=n.u8(),t=new Array(e);for(let r=0;r<e;r++){let i=n.u8(),a=n.u8();t[r]={name:n.utf8(a),type:i}}return t},er=(n,e)=>{let t={};for(let r of e)t[r.name]=Xn(n,r.type);return t},tr=(n,e)=>{if(n.u8()===0)return;let r=e>=6?()=>n.varString():()=>n.u32(),i=n.varString(),a=n.u8(),s={};for(let o=0;o<a;o++){let c=n.varString(),d={},l=n.u8();if(l>0){d.equivalentWith=[];for(let m=0;m<l;m++)d.equivalentWith.push({id:r(),confidence:n.u8()/255})}let u=n.u8();if(u>0){d.childOf=[];for(let m=0;m<u;m++)d.childOf.push({id:r(),confidence:n.u8()/255})}let p=n.u8();if(p>0){d.parentOf=[];for(let m=0;m<p;m++)d.parentOf.push({id:r(),confidence:n.u8()/255})}s[c]=d}return{original:i,conversions:s}},Me=n=>{let e=new St(n),t=e.u32();if(t!==Kt)throw new Error(`Invalid sidecar magic 0x${t.toString(16)} (expected DPM1)`);let r=e.u8();if(r!==1&&r!==2&&r!==3&&r!==4&&r!==5&&r!==Yt)throw new Error(`Unsupported sidecar format version ${r}`);let i=r===1?e.u16():e.u24(),a=e.u8(),s=e.u8(),o=new Map;for(let d=0;d<a;d++){let l=e.u8(),u=e.u8(),p=e.utf8(u);o.set(p,Hn(e,l,i))}let c={header:{formatVersion:r,recordCount:i,columnCount:a,sidecarType:s},columns:o};if(s===2&&(r>=4&&e.remaining>0?e.u8():0)===1){let l=new Array(i);for(let u=0;u<i;u++)l[u]=tr(e,r);c.bridges=l}if(s===1){let d=e.u8(),l=new Array(d);for(let m=0;m<d;m++){let S=e.u8();l[m]=e.utf8(S)}if(d>0){let m=new Map;for(let v of l)m.set(v,new Array(i));let S=r===1?()=>BigInt(e.u16()):r===2?()=>BigInt(e.u24()):r>=5?()=>e.u64():()=>BigInt(e.u32());for(let v=0;v<i;v++)for(let h of l){let M=e.u16(),_=new Array(M);for(let I=0;I<M;I++)_[I]=S();m.get(h)[v]=_}c.relations=m;let R=m.get("authors");R&&(c.authorIds=R)}let u=Zn(e),p=new Array(i);for(let m=0;m<i;m++){let S=e.u16(),R=new Array(S);for(let v=0;v<S;v++)R[v]=er(e,u);p[m]=R}c.instanceFields=u,c.instances=p}return c},vt=n=>{if(n.header.sidecarType===2){let t={},r;for(let[i,a]of n.columns)i==="ids"?r=a:t[i]=a;return{ids:r,fields:t,bridges:n.bridges}}let e={};for(let[t,r]of n.columns)e[t]=r;if(n.relations)for(let[t,r]of n.relations)e[t]=r;return n.authorIds&&(e.authorIds=n.authorIds),n.instances&&(e.instances=n.instances),e},it=(n,e)=>{let t=i=>Array.isArray(i)?[i[e]??null]:i.slice(e,e+1);if(n.header.sidecarType===2){let i={},a;for(let[s,o]of n.columns)s==="ids"?a=t(o):i[s]=t(o);return{ids:a,fields:i,bridges:n.bridges?[n.bridges[e]??void 0]:void 0}}let r={};for(let[i,a]of n.columns)r[i]=t(a);if(n.relations)for(let[i,a]of n.relations)r[i]=[a[e]??[]];return n.authorIds&&(r.authorIds=[n.authorIds[e]??[]]),n.instances&&(r.instances=[n.instances[e]??[]]),r},Pt=class{constructor(){this.chunks=[]}u8(e){this.chunks.push(new Uint8Array([e&255]))}u16(e){let t=new Uint8Array(2);new DataView(t.buffer).setUint16(0,e),this.chunks.push(t)}u24(e){let t=new Uint8Array(3);t[0]=e>>>16&255,t[1]=e>>>8&255,t[2]=e&255,this.chunks.push(t)}u32(e){let t=new Uint8Array(4);new DataView(t.buffer).setUint32(0,e>>>0),this.chunks.push(t)}u64(e){let t=new Uint8Array(8);new DataView(t.buffer).setBigUint64(0,e),this.chunks.push(t)}bytes(e){this.chunks.push(e)}nullableString(e){if(e===null){this.u8(0);return}this.u8(1);let t=We.encode(e);this.u16(t.length),this.bytes(t)}varString(e){let t=We.encode(e);this.u8(t.length),this.bytes(t)}toBuffer(){let e=this.chunks.reduce((i,a)=>i+a.length,0),t=new Uint8Array(e),r=0;for(let i of this.chunks)t.set(i,r),r+=i.length;return t.buffer}},nr=n=>{let e=[...n.relations??[]];return n.authorIds&&!e.some(t=>t.name==="authors")&&e.push({name:"authors",data:n.authorIds}),e},rr=(n,e,t)=>{switch(e){case 1:n.u8(t??0);break;case 2:n.u16(t??0);break;case 6:n.u32(t??0);break;case 7:n.u8(t?1:0);break;case 3:n.nullableString(t??null);break;default:throw new Error(`Unsupported instance field type 0x${e.toString(16)}`)}},ir=(n,e)=>{if(e.length>255)throw new Error("Too many instance fields (max 255)");n.u8(e.length);for(let t of e){n.u8(t.type);let r=We.encode(t.name);n.u8(r.length),n.bytes(r)}},at=n=>{let e=new Pt;e.u32(Kt),e.u8(Yt),e.u24(n.recordCount),e.u8(n.columns.length),e.u8(n.sidecarType);for(let t of n.columns){e.u8(t.type);let r=We.encode(t.name);e.u8(r.length),e.bytes(r);let i=t.data;for(let a=0;a<n.recordCount;a++)switch(t.type){case 1:e.u8(i[a]??0);break;case 2:e.u16(i[a]??0);break;case 6:e.u32(i[a]??0);break;case 8:e.u64(i[a]??0n);break;case 7:e.u8(i[a]?1:0);break;case 3:e.nullableString(i[a]??null);break;default:throw new Error(`Unsupported column type 0x${t.type.toString(16)}`)}}if(n.sidecarType===1){let t=nr(n);e.u8(t.length);for(let s of t){let o=We.encode(s.name);e.u8(o.length),e.bytes(o)}for(let s=0;s<n.recordCount;s++)for(let o of t){let c=o.data[s]??[];e.u16(c.length);for(let d of c)e.u64(d)}let r=n.instanceFields??[];if((n.instances?.length??0)>0&&r.length===0)throw new Error("writeSidecar: instances provided without instanceFields spec");let i=r.some(s=>s.name===Jt.name)?r:[...r,Jt];ir(e,i);let a=n.instances??[];for(let s=0;s<n.recordCount;s++){let o=a[s]??[];e.u16(o.length);for(let c of o)for(let d of i)rr(e,d.type,c[d.name])}}else if(n.sidecarType===2){let t=n.bridges,r=t&&t.some(i=>i&&i.conversions&&Object.keys(i.conversions).length>0);if(e.u8(r?1:0),r)for(let i=0;i<n.recordCount;i++){let a=t[i];if(!a||!a.conversions||Object.keys(a.conversions).length===0)e.u8(0);else{e.u8(1),e.varString(a.original);let s=Object.keys(a.conversions);e.u8(s.length);for(let o of s){e.varString(o);let c=a.conversions[o];e.u8(c.equivalentWith?.length||0);for(let d of c.equivalentWith||[])e.varString(String(d.id)),e.u8(Math.round(d.confidence*255));e.u8(c.childOf?.length||0);for(let d of c.childOf||[])e.varString(String(d.id)),e.u8(Math.round(d.confidence*255));e.u8(c.parentOf?.length||0);for(let d of c.parentOf||[])e.varString(String(d.id)),e.u8(Math.round(d.confidence*255))}}}}return e.toBuffer()};var Xt=n=>{if(n.byteLength===0)return new Map;let e=JSON.parse(new TextDecoder().decode(n)),t=new Map;for(let[r,i]of Object.entries(e)){let a=new Map;for(let[s,o]of Object.entries(i)){let c=new Map;for(let[d,l]of Object.entries(o))c.set(d,new Set(l));a.set(s,c)}t.set(BigInt(r),a)}return t};var xt="__propertySlots",At="__instanceRemaps",wt=[[xt,"_propertySlots"],[At,"_instanceRemaps"]],ji=[["title","string"],["description","string"],["originalLang","string"],["ageGradeBand","number"],["previewTxId","string"],["safe","boolean"],["deleted","boolean"],["lifecycleStatus","number"]].map(([n,e],t)=>({name:n,type:e,propId:t,source:t===1?"extended":"slim"}));var Ke=n=>n.charAt(0).toUpperCase()+n.slice(1),z=(n,e)=>e==="string"&&!n.endsWith("s")?`${n}s`:n,Zt=(n,e)=>{let t=e.props[n.propId]?.bits;return typeof t=="number"&&t>0?t:n.type==="boolean"?1:n.bits??32},ar=(n,e,t,r)=>{let i=r.instanceFields?.[t]?.[e],a=typeof i=="number"?r.props[i]?.bits:void 0;return typeof a=="number"&&a>0?a:n.type==="boolean"?1:n.bits??32},sr=n=>n.name==="authors"?"authorIds":n.name,Rt=(n,e)=>n<=8?Uint8Array.from(e):n<=16?Uint16Array.from(e):Uint32Array.from(e);function H(n,e,t){let r=e.map(s=>BigInt(s.id)),i=[{name:"ids",type:8,data:BigUint64Array.from(r)},{name:"titles",type:3,data:e.map(s=>s.title)},{name:"originalLangs",type:3,data:e.map(s=>s.originalLang)},{name:"previewTxIds",type:3,data:e.map(s=>s.previewTxId)},{name:"ageGradeBands",type:1,data:Uint8Array.from(e.map(s=>s.ageGradeBand))},{name:"safes",type:1,data:Uint8Array.from(e.map(s=>s.safe===!1?0:1))},{name:"deleteds",type:1,data:Uint8Array.from(e.map(s=>s.deleted?1:0))}];for(let s of n.props.filter(o=>o.source==="slim")){let o=z(s.name,s.type);if(s.type==="string")i.push({name:o,type:3,data:e.map(c=>c[s.name])});else if(s.type==="boolean")i.push({name:o,type:1,data:Uint8Array.from(e.map(c=>c[s.name]?1:0))});else{let c=Zt(s,t);i.push({name:o,type:Je(c),data:Rt(c,e.map(d=>d[s.name]))})}}if(n.multipleInstances)for(let s=0;s<n.instanceFields.length;s++){let o=n.instanceFields[s],c=Ke(o.name),d=z(c,o.type),l=e.map(u=>u[`default${c}`]);if(o.type==="string")i.push({name:`default${d}`,type:3,data:l});else if(o.type==="boolean")i.push({name:`default${d}`,type:1,data:Uint8Array.from(l.map(u=>u?1:0))});else{let u=ar(o,s,n.objectId,t);i.push({name:`default${d}`,type:Je(u),data:Rt(u,l)})}}let a={sidecarType:0,recordCount:e.length,columns:i};return at(a)}function X(n,e,t){let r=e.map(c=>BigInt(c.id)),i=[{name:"ids",type:8,data:BigUint64Array.from(r)},{name:"descriptions",type:3,data:e.map(c=>c.description)}];for(let c of n.props.filter(d=>d.source==="extended")){let d=z(c.name,c.type);if(c.type==="string")i.push({name:d,type:3,data:e.map(l=>l[c.name])});else if(c.type==="boolean")i.push({name:d,type:1,data:Uint8Array.from(e.map(l=>l[c.name]?1:0))});else{let l=Zt(c,t);i.push({name:d,type:Je(l),data:Rt(l,e.map(u=>u[c.name]))})}}let s=n.relations.filter(c=>c.direction==="has").map(c=>({name:c.name,data:e.map(d=>{let l=d[sr(c)];return c.cardinality==="1to1"?l?[BigInt(l)]:[]:(l??[]).map(u=>BigInt(u))})})),o={sidecarType:1,recordCount:e.length,columns:i,...s.length>0&&{relations:s}};return n.multipleInstances&&(o.instanceFields=Ht(n.instanceFields),o.instances=e.map(c=>c.instances)),at(o)}function Z(n,e){let t=[{name:"ids",type:8,data:BigUint64Array.from(e.map(a=>BigInt(a.id)))}],r=["title","description","originalLang","ageGradeBand","previewTxId","safe","deleted","lifecycleStatus",...n.props.map(a=>a.name),...n.multipleInstances?n.instanceFields.map(a=>a.name):[]];for(let a of r){let s=new Uint8Array(e.length),o=!1;for(let c=0;c<e.length;c++){let d=e[c]._prov?.[a]?.source;d==="manual"?(s[c]=2,o=!0):d==="ai"?(s[c]=1,o=!0):d==="consensus"?(s[c]=3,o=!0):e[c]._prov&&e[c]._prov[a]!==void 0&&(s[c]=2,o=!0)}o&&t.push({name:a,type:1,data:s})}for(let[a,s]of wt)e.some(o=>o[s]!==void 0)&&t.push({name:a,type:3,data:e.map(o=>o[s]===void 0?null:JSON.stringify(o[s]))});let i={sidecarType:2,recordCount:e.length,columns:t,bridges:e.map(a=>a.bridges)};return at(i)}function ee(n,e){let t=Me(e),r=t.header.recordCount,i=new Array(r);for(let p=0;p<r;p++)i[p]={};let a=t.columns.get("ids"),s=t.columns.get("titles"),o=t.columns.get("originalLangs"),c=t.columns.get("previewTxIds"),d=t.columns.get("ageGradeBands"),l=t.columns.get("safes"),u=t.columns.get("deleteds");for(let p=0;p<r;p++)i[p].id=a?BigInt(a[p]):0n,i[p].title=s?s[p]:null,i[p].originalLang=o?o[p]:null,i[p].previewTxId=c?c[p]:null,i[p].ageGradeBand=d?d[p]:0,i[p].safe=l?l[p]===1:!0,i[p].deleted=u?u[p]===1:!1;for(let p of n.props.filter(m=>m.source==="slim")){let m=z(p.name,p.type),S=t.columns.get(m);for(let R=0;R<r;R++)p.type==="boolean"?i[R][p.name]=S?S[R]===1:!1:i[R][p.name]=S?S[R]:p.type==="string"?null:0}if(n.multipleInstances)for(let p=0;p<n.instanceFields.length;p++){let m=n.instanceFields[p],S=Ke(m.name),R=z(S,m.type),v=t.columns.get(`default${R}`);for(let h=0;h<r;h++)m.type==="boolean"?i[h][`default${S}`]=v?v[h]===1:!1:i[h][`default${S}`]=v?v[h]:m.type==="string"?null:0}return i}function te(n,e){let t=Me(e),r=t.header.recordCount,i=new Array(r);for(let c=0;c<r;c++)i[c]={};let a=t.columns.get("ids"),s=t.columns.get("descriptions");for(let c=0;c<r;c++)i[c].id=a?BigInt(a[c]):0n,i[c].description=s?s[c]:null;for(let c of n.props.filter(d=>d.source==="extended")){let d=z(c.name,c.type),l=t.columns.get(d);for(let u=0;u<r;u++)c.type==="boolean"?i[u][c.name]=l?l[u]===1:!1:i[u][c.name]=l?l[u]:c.type==="string"?null:0}let o=n.relations.filter(c=>c.direction==="has");for(let c of o){let d=c.name==="authors"?"authorIds":c.name,l=t.relations?.get(c.name)||(c.name==="authors"?t.authorIds:void 0);for(let u=0;u<r;u++){let p=l?l[u]||[]:[];i[u][d]=c.cardinality==="1to1"?p[0]??null:p}}if(n.multipleInstances){let c=t.instances;for(let d=0;d<r;d++)i[d].instances=c?c[d]||[]:[]}return i}function ne(n,e){let t=Me(e),r=t.header.recordCount,i=new Array(r);for(let s=0;s<r;s++)i[s]={_prov:{}};let a=t.columns.get("ids");for(let s=0;s<r;s++)i[s].id=a?BigInt(a[s]):0n,i[s].bridges=t.bridges?t.bridges[s]:void 0;for(let[s,o]of t.columns.entries()){if(s==="ids")continue;let c=wt.find(([d])=>d===s);if(c){for(let d=0;d<r;d++)o[d]!=null&&(i[d][c[1]]=JSON.parse(String(o[d])));continue}for(let d=0;d<r;d++)o[d]!==0&&(i[d]._prov[s]={source:"manual"})}return i}var Tt=class{constructor(e,t,r){this.objectType=e;this.indexName=t;this.keyPath=r}};function en(n,e){if(!n||typeof e!="string")return[e];if(n.type==="prefix"){if(n.customMappings&&n.customMappings[e]!==void 0){let r=n.customMappings[e];return[r,r]}let t=e.indexOf(n.separator);if(t>=0){let r=e.substring(0,t),i=e.substring(t+n.separator.length);return[r,i]}return[n.fallback,e]}return[e]}var Lt=class{constructor(e,t,r,i){this.objectType=e;this.name=t;this.keys=r;this.classifier=i;this.langIndex=new Map;this.reverseMap=new Map;this.depNodes=new Map}getOrCreateDepNode(e,t){let r=this.depNodes.get(e);r||(r=new Map,this.depNodes.set(e,r));let i=t.map(s=>String(s??"")).join(":"),a=r.get(i);return a||(a=new Tt(this.objectType,this.name,i),r.set(i,a)),a}addToTree(e,t,r){let i=e;for(let o=0;o<t.length-1;o++){let c=t[o],d=i.get(c);d||(d=new Map,i.set(c,d)),i=d}let a=t[t.length-1],s=i.get(a);s||(s=new Set,i.set(a,s)),s.add(r)}removeFromTree(e,t,r){let i=[],a=e;for(let d=0;d<t.length-1;d++){let l=t[d],u=a.get(l);if(!u)return!1;i.push({map:a,key:l}),a=u}let s=t[t.length-1],o=a.get(s);if(!o)return!1;let c=o.delete(r);if(o.size===0){a.delete(s);for(let d=i.length-1;d>=0;d--){let{map:l,key:u}=i[d],p=l.get(u);if(p&&p.size===0)l.delete(u);else break}}return c}triggerPath(e,t){G.trigger(this.getOrCreateDepNode(e,t));let r=this.depNodes.get(e);if(r)for(let i=0;i<t.length;i++){let a=t.slice(0,i).map(o=>String(o??"")).join(":"),s=r.get(a);s&&G.trigger(s)}}trackRaw(e,t,r){if(r.some(c=>c==null||c==="")){this.untrack(e,t);return}let i=[];for(let c=0;c<r.length;c++){let d=r[c];c===0&&this.classifier?i.push(...en(this.classifier,d)):i.push(d)}let a=this.reverseMap.get(e);a||(a=new Map,this.reverseMap.set(e,a));let s=a.get(t);if(s&&JSON.stringify(s)===JSON.stringify(i))return;let o=this.langIndex.get(t);o||(o=new Map,this.langIndex.set(t,o)),s&&(this.removeFromTree(o,s,e),this.triggerPath(t,s)),this.addToTree(o,i,e),a.set(t,i),this.triggerPath(t,i)}trackRecord(e,t){let r=T.get(this.objectType),i=this.keys.map(a=>{let s=r.props.find(o=>o.name===a);return s?e.getProp(s.propId,t):a==="classificationSystem"?e.classificationSystem:e[a]});this.trackRaw(e.id,t,i)}untrack(e,t){let r=this.reverseMap.get(e);if(!r)return;let i=r.get(t);if(!i)return;let a=this.langIndex.get(t);a&&(this.removeFromTree(a,i,e),this.triggerPath(t,i)),r.delete(t)}getTrackedLangs(e){let t=this.reverseMap.get(e);return t?Array.from(t.keys()):[]}getUids(e,t){let r=this.getOrCreateDepNode(t,e);G.track(r);let i=this.langIndex.get(t);if(!i)return new Set;let a=i;for(let s of e){if(!(a instanceof Map))return new Set;a=a.get(s)}if(a instanceof Map){let s=new Set,o=c=>{for(let d of c.values())if(d instanceof Set)for(let l of d)s.add(l);else d instanceof Map&&o(d)};return o(a),s}return a instanceof Set?a:new Set}getUidsByRawValue(e,t){let r=this.classifier?en(this.classifier,e):[e];return this.getUids(r,t)}getAvailableKeys(e,t){G.track(this.getOrCreateDepNode(t,e));let r=this.langIndex.get(t);if(!r)return[];let i=r;for(let a of e){if(!(i instanceof Map))return[];i=i.get(a)}return i instanceof Map?Array.from(i.keys()).map(String):[]}getAvailableRawValues(e){G.track(this.getOrCreateDepNode(e,[]));let t=this.langIndex.get(e);if(!t)return[];if(this.classifier&&this.classifier.type==="prefix"){let r=[];for(let[i,a]of t.entries())if(a instanceof Map)for(let s of a.keys())i===this.classifier.fallback?r.push(String(s)):i==="origin"?r.push("origin"):r.push(`${i}${this.classifier.separator}${s}`);return Array.from(new Set(r))}return Array.from(t.keys()).map(String)}},Nt=class{constructor(){this.indexes=new Map}registerIndex(e,t){let r=this.indexes.get(e);r||(r=new Map,this.indexes.set(e,r)),r.set(t.name,t)}getIndex(e,t){let i=this.indexes.get(e)?.get(t);if(!i){let s=T.get(e).indexes?.find(o=>o.name===t);if(s){let o=new Lt(e,t,s.keys,s.classifier);return this.registerIndex(e,o),o}throw new Error(`[IndexRegistry] Index "${t}" not found for objectType ${e}`)}return i}hasIndexForProperty(e,t){let r=T.get(e),i=r.props.find(s=>s.propId===t);if(!i)return!1;let a=this.indexes.get(e);if(a){for(let s of a.values())if(s.keys.includes(i.name))return!0}return r.indexes?.some(s=>s.keys.includes(i.name))??!1}trackRecord(e,t){let r=T.get(e);if(r.indexes)for(let i of r.indexes){let a=this.getIndex(e,i.name),s=t.getLoadedLanguages();for(let o of s)a.trackRecord(t,o)}}updateIndex(e,t,r){let i=T.get(e);if(!i.indexes)return;let a=i.props.find(s=>s.propId===t);if(a){for(let s of i.indexes)if(s.keys.includes(a.name)){let o=this.getIndex(e,s.name),c=new Set([...r.getLoadedLanguages(),...o.getTrackedLangs(r.id)]);for(let d of c)o.trackRecord(r,d)}}}getAvailableRawValues(e,t,r){try{return this.getIndex(e,t).getAvailableRawValues(r)}catch{return[]}}bootstrapSidecars(e){for(let t of e){let r=T.get(t.objectType);if(!r||!r.indexes)continue;let i=t.slim?vt(t.slim):null,a=t.extended?vt(t.extended):null;for(let s of r.indexes){let o=this.getIndex(t.objectType,s.name);for(let[c,d]of t.idIndex){let l=s.keys.map(u=>{if(u==="deleted"){let m=i?.deleteds??a?.deleteds;return m?!!m[d]:!1}if(u==="safe"){let m=i?.safes??a?.safes;return m?!!m[d]:!0}if(u==="classificationSystem"){let m=i?.classificationSystems??a?.classificationSystems;return m?m[d]:null}let p=r.props.find(m=>m.name===u);if(p){let m=z(p.name,p.type),S=i?.[m]??a?.[m];return S?S[d]:null}return null});o.trackRaw(c,t.lang,l)}}}}clear(){this.indexes.clear()}},re=new Nt;var tn=new Set;var G={track(n){for(let e of tn)e.track(n)},trigger(n){for(let e of tn)e.trigger(n)}},Dt=class{constructor(e){this.limit=e;this.map=new Map;this._pinned=new Set;this.pinReasons=new Map;this._warnedOverflow=!1}get size(){return this.map.size}get(e){if(!this.map.has(e))return;let t=this.map.get(e);return this.map.delete(e),this.map.set(e,t),t}set(e,t){if(this.map.has(e)&&this.map.delete(e),this.map.set(e,t),this.map.size>this.limit){let r=!1;for(let i of this.map.keys())if(!this._pinned.has(i)){this.map.delete(i),r=!0;break}!r&&!this._warnedOverflow&&(this._warnedOverflow=!0,console.warn(`[LruCache] limit (${this.limit}) exceeded with every entry pinned \u2014 growing past limit instead of evicting/crashing. This usually means too many draft/unsynced records are open at once.`))}}pin(e,t="lifecycle"){let r=this.pinReasons.get(e);r||this.pinReasons.set(e,r=new Set),r.add(t),this._pinned.add(e)}unpin(e,t="lifecycle"){let r=this.pinReasons.get(e);r?.delete(t),r?.size||(this.pinReasons.delete(e),this._pinned.delete(e))}has(e){return this.map.has(e)}delete(e){this.map.delete(e)}clear(){this.map.clear(),this._pinned.clear(),this.pinReasons.clear()}keys(){return this.map.keys()}values(){return this.map.values()}},or=1e4,cr={cacheLimit:or},nn=new Map;var Ye=n=>{let e=nn.get(n);return e||(e=new Dt(cr.cacheLimit),nn.set(n,e)),e};var Ct;function rn(){return Ct}function we(n,e){if(Q(n)){let t=e||Ct;if(!t)throw new Error("[models_v2] creatorUsername required for user-created records");return`${t}:${n}`}return`canonical:${n}`}var x=(n,e,t)=>Q(e)&&!t&&!Ct?!1:Ye(n).has(we(e,t)),A=(n,e,t)=>{let r=we(e,t),i=Ye(n).get(r);if(typeof i>"u")throw new Error(`cannot find ${n} with id ${e} (evicted or never loaded \u2014 use LoadAsync)`);return i},J=(n,e,t)=>{Ye(n).set(we(e.id,t),e)};var ve=(n,e,t,r="lifecycle")=>{Ye(n).pin(we(e,t),r)};async function w(n,e){let t=e.filter(r=>!n.Has(r));return t.length>0&&await Promise.all(t.map(r=>n.LoadAsync(r).catch(i=>{console.warn(`[loadManyAsync] failed to hydrate id=${r}: ${i?.message??i}`)}))),e.filter(r=>n.Has(r)).map(r=>n.Load(r))}async function an(n,e){return n.Has(e)||await n.LoadAsync(e).catch(t=>{console.warn(`[loadOneAsync] failed to hydrate id=${e}: ${t?.message??t}`)}),n.Has(e)?n.Load(e):null}var sn=new Map;function ie(n,e){sn.set(n,e)}function st(n){return sn.get(n)}var ot=(n,e,t,r="lifecycle")=>{Ye(n).unpin(we(e,t),r)};var Fe=()=>{let n,e,t=!1,r=!1;return{pro:new Promise((d,l)=>{n=d,e=l}),resolve:d=>{t?console.trace("resolve called twice"):(n(d),t=!0)},reject:d=>{t?console.error("reject called twice"):(t=!0,e(d))},start:()=>r=!0,isStarted:()=>r}};var dr=5,lr="the_world_library",Re=Fe(),on=()=>{Re=Fe()},q="patches",cn="catalog_json",de="key_value",dn="pdf_data",ln="deviceState",un="localRecords",Te="instanceRemaps",le=()=>{if(Re.isStarted())return Re.pro;Re.start();let n=indexedDB.open(lr,dr);return n.onupgradeneeded=function(){let e=n.result;e.objectStoreNames.contains(cn)||e.createObjectStore(cn,{keyPath:"id"}),e.objectStoreNames.contains(de)||e.createObjectStore(de,{keyPath:"key"}),e.objectStoreNames.contains(dn)||e.createObjectStore(dn,{keyPath:"fileId"}),e.objectStoreNames.contains(q)||e.createObjectStore(q,{keyPath:["username","pk"]}).createIndex("username","username",{unique:!1});let t=n.transaction.objectStore(q);if(!t.indexNames.contains("byRecord")){t.createIndex("byRecord",["objectType","recordId"]),t.createIndex("byTarget","targetRecordId");let r=0,i=t.openCursor();i.onsuccess=()=>{let a=i.result;if(!a){n.transaction.objectStore(de).put({key:"patch-order",value:r});return}let s=a.value;s.order=++r,s.objectId!==void 0&&(s.recordId=String(s.objectId)),s.targetId!==void 0&&(s.targetRecordId=String(s.targetId)),a.update(s),a.continue()}}e.objectStoreNames.contains(ln)||e.createObjectStore(ln),e.objectStoreNames.contains(un)||e.createObjectStore(un,{keyPath:["creatorUsername","wireId"]}).createIndex("byCreator","creatorUsername",{unique:!1}),e.objectStoreNames.contains(Te)||e.createObjectStore(Te,{keyPath:["creatorUsername","objectId","langId","originalIndex"]}),console.log("[IDB] models_v2 schema upgraded to version",e.version)},n.onerror=function(e){on(),Re.reject(e)},n.onsuccess=function(e){let t=e.target.result;t.onversionchange=()=>{t.close()},t.onclose=()=>{on()},Re.resolve(t)},Re.pro};async function ct(n){let e=await le(),t=await new Promise((r,i)=>{let a=e.transaction(de),s=a.objectStore(de).getAll(IDBKeyRange.bound("subscription-view:","subscription-view:\uFFFF"));a.oncomplete=()=>r(s.result.map(o=>o.value)),a.onabort=()=>i(a.error)});return n.filter(r=>{if(!r.sourceStream)return!0;let i=t.filter(a=>r.sourceStream.startsWith(a.prefix));return!i.length||i.some(a=>a.sources.includes(r.sourceStream))})}var pn="publisher-outbox-enabled",gn=n=>`publisher-outbox:${n}`;var ur=new Set(["pk","username","eventId","sourceStream","order","recordId","targetRecordId","provenance"]),pr=n=>"action"in n?JSON.stringify(Object.keys(n).filter(e=>!ur.has(e)).sort().map(e=>[e,n[e]]),(e,t)=>typeof t=="bigint"?`${t}n`:t):null,gr=n=>{let e=new Map;for(let r of n){let i=pr(r);if(i===null)continue;let a=e.get(i);a?a.push(r):e.set(i,[r])}let t=[];for(let r of e.values()){if(r.length<2)continue;let i=r.filter(a=>a.sourceStream);i.length===r.length&&(i.sort((a,s)=>(a.pk??0)-(s.pk??0)),i.shift()),t.push(...i)}return t},mn=n=>{let e=new Set(gr(n));return e.size===0?n.slice():n.filter(t=>!e.has(t))};var yn=n=>`patch-sequence:${n}`,hn=(n,e)=>`patch-delivery:${JSON.stringify([n,e])}`,Et=async(n,e)=>{if(!e.length)return!0;let t=await le();return new Promise((r,i)=>{let a=t.transaction([q,de],"readwrite"),s=a.objectStore(q),o=a.objectStore(de);a.oncomplete=()=>r(!0),a.onabort=()=>i(a.error??new Error("Patch transaction aborted")),a.onerror=()=>i(a.error??new Error("Patch transaction failed"));let c=o.get(pn),d=o.get("patch-order"),l=o.get(yn(n));l.onsuccess=()=>{let u=m=>{let S=m,R=d.result?.value??0,v=0,h=()=>{for(;v<e.length;){let{pk:M,username:_,...I}=e[v++],ce=()=>{if(s.add({...I,username:n,pk:++S,order:++R,..."objectId"in I?{recordId:String(I.objectId)}:{},..."targetId"in I?{targetRecordId:String(I.targetId)}:{}}),c.result?.value&&n==="mine"&&!I.sourceStream&&$(I)){let qe=I.eventId??`publisher:${crypto.randomUUID()}`;o.put({key:gn(qe),value:{...I,eventId:qe,order:R}})}I.eventId&&o.put({key:hn(n,I.eventId),value:!0})};if(!I.eventId){ce();continue}let Ae=o.get(hn(n,I.eventId));Ae.onsuccess=()=>{Ae.result||ce(),h()};return}o.put({key:yn(n),value:S}),o.put({key:"patch-order",value:R})};h()};if(l.result){u(l.result.value);return}let p=s.index("username").getAll(IDBKeyRange.only(n));p.onsuccess=()=>u(p.result.reduce((m,S)=>Math.max(m,S.pk),0))}})};var fn=n=>{let e=Fe();return le().then(async t=>{let r=t.transaction(q,"readonly");r.objectStore(q).index("username").getAll(IDBKeyRange.only(n)).onsuccess=i=>{let a=i.target.result||[];a.sort((s,o)=>s.pk-o.pk),ct(a).then(e.resolve,e.reject)},r.onerror=function(i){console.error("worker: error loading all patches",i.target),e.reject(i.target)}}).catch(e.reject),e.pro},bn=()=>{let n=Fe();return le().then(async e=>{let t=e.transaction(q,"readonly");t.objectStore(q).getAll().onsuccess=r=>{if(r.target.result){let i=r.target.result.reduce((a,s)=>{let{username:o}=s;return typeof a[o]>"u"&&(a[o]=[]),a[o].push(s),a},{});Promise.all(Object.entries(i).map(async([a,s])=>[a,await ct(s)])).then(a=>n.resolve(Object.fromEntries(a)),n.reject)}else n.resolve({})},t.onerror=function(r){console.log("worker: error loading all patches",r.target),n.reject(r.target)}}).catch(n.reject),n.pro};async function In(n,e){let t=await le();return new Promise((r,i)=>{let a=t.transaction(q,"readonly"),s=a.objectStore(q),o=s.index("byRecord").getAll([n,String(e)]),c=s.index("byTarget").getAll(String(e));a.oncomplete=()=>{let d=new Map;for(let l of[...o.result,...c.result])d.set(JSON.stringify([l.username,l.pk]),l);ct([...d.values()].sort((l,u)=>(l.order??0)-(u.order??0)||(l.username<u.username?-1:l.username>u.username?1:l.pk-u.pk))).then(r,i)},a.onabort=()=>i(a.error),a.onerror=()=>i(a.error)})}function Ot(n){if(typeof n!="string")return n;let e=n.replace(/<\/?[^>]+(>|$)/g,""),t=/javascript:|data:|vbscript:|onclick|onerror|onload|onmouseover/gi;return e=e.replace(t,"[REDACTED]"),e}var Sn={current:5,versions:{1:{hash:"ab76b7f6fee6015a",enums:{BookMethod:{bits:3,values:["Unknown","Scan","NativeDigital","OCR","AiTranslation"]},CopyrightStatus:{bits:2,values:["Unknown","PublicDomain","CreativeCommons","AllRightsReserved"]},QualityScore:{bits:3,values:["None","Poor","Fair","Good","VeryGood","Excellent"]},RecordingStatus:{bits:2,values:["Pending","Active","Completed","Archived"]}},props:{0:{name:"title",type:"string",bits:0},1:{name:"description",type:"string",bits:0},2:{name:"originalLang",type:"string",bits:0},3:{name:"ageGradeBand",type:"number",bits:8},4:{name:"previewTxId",type:"string",bits:0},5:{name:"safe",type:"boolean",bits:1},6:{name:"deleted",type:"boolean",bits:1},7:{name:"lifecycleStatus",type:"number",bits:2},8:{name:"prerequisites",type:"string",bits:0},9:{name:"deweyDecimal",type:"string",bits:0},10:{name:"locCallNumber",type:"string",bits:0},11:{name:"copyrightStatus",type:"enum",bits:2,enum:"CopyrightStatus"},12:{name:"textQuality",type:"enum",bits:3,enum:"QualityScore"},13:{name:"illustrations",type:"enum",bits:3,enum:"QualityScore"},14:{name:"educationQuality",type:"enum",bits:3,enum:"QualityScore"},15:{name:"practicality",type:"enum",bits:3,enum:"QualityScore"},16:{name:"accessibilityLevel",type:"enum",bits:3,enum:"QualityScore"},17:{name:"teacherMaterials",type:"boolean",bits:1},18:{name:"pedagogicalScaffolding",type:"enum",bits:3,enum:"QualityScore"},19:{name:"clarityOfExplanation",type:"enum",bits:3,enum:"QualityScore"},20:{name:"workedExamples",type:"enum",bits:3,enum:"QualityScore"},21:{name:"exercisesAndAssessment",type:"enum",bits:3,enum:"QualityScore"},22:{name:"selfStudyReadiness",type:"enum",bits:3,enum:"QualityScore"},23:{name:"referenceApparatus",type:"enum",bits:3,enum:"QualityScore"},24:{name:"safetyGuidance",type:"enum",bits:3,enum:"QualityScore"},25:{name:"contentCurrency",type:"enum",bits:3,enum:"QualityScore"},26:{name:"ecoRegeneration",type:"enum",bits:3,enum:"QualityScore"},27:{name:"communityLiving",type:"enum",bits:3,enum:"QualityScore"},28:{name:"promotesPeace",type:"enum",bits:3,enum:"QualityScore"},29:{name:"businessDevelopment",type:"enum",bits:3,enum:"QualityScore"},30:{name:"language",type:"string",bits:0},31:{name:"downloadTxId",type:"string",bits:0},32:{name:"method",type:"enum",bits:3,enum:"BookMethod"},33:{name:"isAiTranslation",type:"boolean",bits:1},34:{name:"aiEngine",type:"string",bits:0},35:{name:"addedAt",type:"number",bits:32},36:{name:"nbPages",type:"number",bits:16},37:{name:"sizeBytes",type:"number",bits:32},38:{name:"publisher",type:"string",bits:0},39:{name:"publicationDate",type:"string",bits:0},40:{name:"publishedAt",type:"string",bits:0},41:{name:"qualityScore",type:"enum",bits:3,enum:"QualityScore"},42:{name:"isbn",type:"string",bits:0},43:{name:"name",type:"string",bits:0},44:{name:"institution",type:"boolean",bits:1},45:{name:"country",type:"string",bits:0},46:{name:"rootTagId",type:"number",bits:32},47:{name:"birthDate",type:"string",bits:0},48:{name:"deathDate",type:"string",bits:0},49:{name:"nationality",type:"string",bits:0},50:{name:"wikiUrl",type:"string",bits:0},51:{name:"isniId",type:"string",bits:0},52:{name:"orcidId",type:"string",bits:0},53:{name:"classificationSystem",type:"string",bits:0},54:{name:"lccNotation",type:"string",bits:0},55:{name:"ddcNotation",type:"string",bits:0},56:{name:"udcNotation",type:"string",bits:0},57:{name:"clcNotation",type:"string",bits:0},58:{name:"bbkNotation",type:"string",bits:0},59:{name:"tlcNotation",type:"string",bits:0},60:{name:"ccNotation",type:"string",bits:0}},instanceFields:{0:[30,31,32,33,34,35,36,37,38,39,40,41,42]}},2:{hash:"e64d29ffeb68a760",enums:{},props:{44:{name:"deathDate",type:"string",bits:0},46:{name:"wikiUrl",type:"string",bits:0},60:{name:"ageGradeBand",type:"number",bits:8},61:{name:"previewTxId",type:"string",bits:0},62:{name:"safe",type:"boolean",bits:1},63:{name:"deleted",type:"boolean",bits:1},64:{name:"lifecycleStatus",type:"number",bits:2},65:{name:"name",type:"string",bits:0},66:{name:"institution",type:"boolean",bits:1},67:{name:"country",type:"string",bits:0},68:{name:"rootTagId",type:"number",bits:32},69:{name:"isRootContainer",type:"boolean",bits:1}},instanceFields:{}},3:{hash:"90a1b8881ca56990",enums:{},props:{70:{name:"isPinned",type:"boolean",bits:1},71:{name:"isLocked",type:"boolean",bits:1}},instanceFields:{}},4:{hash:"d15415e0f1378db2",enums:{},props:{},instanceFields:{}},5:{hash:"d8fe8075d5ea5abc",enums:{},props:{},instanceFields:{}}}};var Pn=Sn,mr=Pn.current,jt=null,F=()=>(jt||(jt=It(mr,Pn)),jt);var vn="[DPL-COIN:v1]",yr=new Map,hr=new Set;typeof window<"u"&&window.addEventListener("LevelUpdate",n=>{let{username:e,level:t,points:r}=n.detail;if(!e){console.error("[models_v2 LevelState] LevelUpdate event missing username",n);return}let i=Number.isFinite(r)?Math.max(0,Number(r)):Math.max(0,t*21);yr.set(e,{level:Math.floor(t)+1,progress:100*(t-Math.floor(t)),points:i}),hr.forEach(a=>a(e))});function br(n,e){let t=null,r=[];return(...i)=>{t!==null&&clearTimeout(t);let a=new Promise((s,o)=>{r.push({resolve:s,reject:o})});return t=setTimeout(async()=>{t=null;let s=[...r];r=[];try{let o=await n(...i);s.forEach(c=>c.resolve(o))}catch(o){s.forEach(c=>c.reject(o))}},e),a}}var j=class j{constructor(e){this.username=e;this._patches=[];this.pendingPins=new Map;this.pendingEvents=new Map;this.authorshipListeners=new Set;this.syncStatusListeners=new Set;this._syncStatus="idle";this._retryAttempt=0;this._retryTimer=null}get syncStatus(){return this._syncStatus}setSyncStatus(e){if(this._syncStatus!==e){this._syncStatus=e;for(let t of this.syncStatusListeners)t(e)}}onSyncStatus(e){return this.syncStatusListeners.add(e),()=>this.syncStatusListeners.delete(e)}observePending(e){for(let t of this.pendingEvents.values())e(t);return this.authorshipListeners.add(e),()=>this.authorshipListeners.delete(e)}releasePins(e){for(let t of e)t.eventId&&(this.pendingPins.get(t.eventId)?.(),this.pendingPins.delete(t.eventId),this.pendingEvents.delete(t.eventId))}get patches(){return this._patches}initThread(e,t=2e3){console.log("InitPatchInstance with thread",e),this.thread=e,this.sync=br(j.prototype.sync.bind(this),t),this._patches.length>0&&this.sync().catch(console.error)}get threadInstance(){return this.thread}static onSync(e){this.onSyncListeners.push(e)}static setReplay(e){this._replaying=e}clearQueue(){this.releasePins(this._patches),this._patches=[],this.cancelRetry(),this.setSyncStatus("idle")}cancelRetry(){this._retryTimer&&(clearTimeout(this._retryTimer),this._retryTimer=null),this._retryAttempt=0}scheduleRetry(){if(this._retryTimer)return;if(this._retryAttempt>=j.MAX_SYNC_RETRIES){console.error(`[Patches] sync retry limit (${j.MAX_SYNC_RETRIES}) reached for "${this.username}"; giving up until the next edit triggers a fresh attempt. ${this._patches.length} patch(es) remain queued.`);return}let e=j.SYNC_RETRY_BASE_MS*2**this._retryAttempt;this._retryAttempt++;let t=this._retryAttempt;this._retryTimer=setTimeout(()=>{this._retryTimer=null,j.prototype.sync.call(this).catch(r=>{console.warn(`[Patches] sync retry ${t}/${j.MAX_SYNC_RETRIES} failed for "${this.username}":`,r)})},e)}addPatch(e){if(j._replaying)return;$(e)&&(e.operation===g.EditPropertyString?e.value=Ot(e.value):e.operation===g.EditInstanceFieldString&&(e.value=Ot(e.value)));let t=crypto.randomUUID();if($(e)){let i=e,a=[{objectType:i.objectType,id:i.objectId}];if(e.operation===g.EditRelation){let o=Y(e);o&&a.push({objectType:o.objectType,id:o.objectId})}let s=`pending:${t}`;for(let o of a)o.id!==void 0&&ve(o.objectType,o.id,this.username,s);this.pendingPins.set(t,()=>{for(let o of a)o.id!==void 0&&ot(o.objectType,o.id,this.username,s)})}let r={...e,eventId:t};this.pendingEvents.set(t,r),this._patches.push(r);for(let i of this.authorshipListeners)i(r);this.sync().catch(console.error)}static cleanData(e){let t={},r=o=>typeof o>"u",i=[],a=(o,c,d)=>{r(t[o])&&(t[o]={}),r(t[o][c])&&(t[o][c]=!0,i.push(d))},s=(o,c,d)=>{r(t[o])&&(t[o]={}),r(t[o][c])?(t[o][c]=i.length,i.push(d)):i[t[o][c]]=d};for(let o=e.length-1;o>=0;o--){let c=e[o];if($(c)){let u=`evm-${c.objectType}-${c.objectId??c.fromUid}-${c.operation}`;switch(c.operation){case g.EditPropertyString:case g.EditPropertyNumber:{let p=c;a(u,`${p.propertyId}:${p.langId??0}`,c);break}case g.EditInstanceFieldString:case g.EditInstanceFieldNumber:{let p=c;a(u,`${p.instanceIndex}:${p.propertyId}:${p.langId??0}`,c);break}case g.EditRelation:{let p=c;a(u,`${p.relationId}:${p.targetId}`,c);break}case g.CreateRecord:{a(u,"create",c);break}case g.AddInstance:{let p=c;s(u,`${p.langId??0}:${p.instanceIndex}`,c);break}case g.MergeProposal:{let p=c;a(u,`${p.destSystem}:${p.relationType}:${p.targetId}`,c);break}case g.DeleteBridge:{let p=c;a(u,`${p.destinationSystem}:${p.bridgeTypeToDelete}:${p.targetTagId}`,c);break}default:throw new Error(`unknown patch operation ${c.operation}`)}continue}let d=c,l=`local-${d.objectType}-${d.objectId}-${d.action}`;switch(d.action){case 4:a(l,`${d.part}`,d);break;case 6:a(l,`${d.part}:${d.socialMediaId}`,d);break;case 3:a(l,"seen",d);break;case 0:case 2:case 5:case 1:i.push(d);break;default:throw new Error(`unknown local action ${d.action}`)}}return i.reverse(),i}sync(){if(this.activeSync)return this.activeSync.then(()=>this._patches.length?j.prototype.sync.call(this):!0);let e=this.persistQueued().finally(()=>{this.activeSync=void 0});return this.activeSync=e,e}async persistQueued(){if(typeof this.thread>"u")return null;let e=[...this._patches],t=j.cleanData(e);if(t.length===0)return this._patches=[],this.setSyncStatus("idle"),!0;this._patches=[],this.setSyncStatus("pending");let r;try{r=await this.thread.sendRequest({cmd:"savePatches",payload:{username:this.username,patches:t}})}catch(a){throw this._patches.unshift(...e),this.setSyncStatus("error"),this.scheduleRetry(),a}this.cancelRetry(),j.onSyncListeners.forEach(a=>{try{a(t)}catch(s){console.error(s)}}),this.releasePins(e);let i=await j.calculateLevel(this.username);return console.log("level after saving patches",i),this.setSyncStatus("idle"),r}static contributionScore(e){let t=this.cleanData(mn(e)),r=new Set;for(let a of t)$(a)&&a.objectType===4&&a.operation===g.EditPropertyString&&a.propertyId===0&&a.value.startsWith(vn)&&r.add(String(a.objectId));let i=0;for(let a of t){if($(a)){let s=a.objectId;if(a.objectType===4&&s!==void 0&&r.has(String(s)))continue;switch(a.operation){case g.EditPropertyString:case g.EditInstanceFieldString:i+=4;break;case g.EditPropertyNumber:case g.EditInstanceFieldNumber:i+=2;break;case g.EditRelation:i+=3;break}continue}switch(a.action){case 1:i+=.5;break;case 6:i+=1;break;case 4:i+=1;break;case 3:i+=1;break;case 0:i+=1;break;case 5:i+=2;break;case 2:i+=3;break}}return i}static async calculateLevel(e){let t=await fn(e),r=this.contributionScore(t),i=r/21;if(typeof window<"u"&&typeof CustomEvent<"u"){let a=new CustomEvent("LevelUpdate",{detail:{level:i,points:r,username:e},bubbles:!0});window.dispatchEvent(a)}return i}};j.MAX_SYNC_RETRIES=5,j.SYNC_RETRY_BASE_MS=2e3,j._replaying=!1,j.onSyncListeners=[];var He=j,Ir=new Map,f=new He("mine");Ir.set("mine",f);var dt=new Map;async function ae(n,e,t=rn()){let r=`${n.type}:${we(e,t)}`;if(x(n.type,e,t))return A(n.type,e,t);if(dt.has(r))return dt.get(r);let i=[],a=f.observePending(o=>{if(!(!$(o)||Q(e)&&t!==f.username)&&(o.objectType===n.type&&o.objectId===e&&i.push(o),o.operation===g.EditRelation)){let c=Y(o);c?.objectType===n.type&&c.objectId===e&&i.push(c)}}),s=(async()=>{let o=f.threadInstance;if(!o)throw new Error("worker thread not initialized \u2014 call PatchInstance.initThread first");let c=await o.sendRequest({cmd:"getRecord",payload:{objectType:n.type,id:e,...t?{creatorUsername:t}:{}}});if(x(n.type,e,t))return A(n.type,e,t);if(!c)throw new Error(`${n.type} ${e} not found in worker storage`);if(Array.isArray(c))throw new Error("Patch worker is outdated; reload with the rebuilt worker before loading records");let d=new n(c.json,t);d.restoreSnapshot(c);for(let l of i)d.patch(l,!1,!1);return Q(e)&&d.lifecycleStatus!==3&&ve(n.type,e,t),J(n.type,d,t),d})();dt.set(r,s);try{return await s}finally{a(),dt.delete(r)}}function xn(n,e){var t;return t=(e.getFullYear()-n.getFullYear())*12,t-=n.getMonth(),t+=e.getMonth(),t<=0?0:t}var Ue=new Date(2025,4,1),Sr=Math.floor(new Date(2025,11,1,0,0,0).getTime()/1e3),K={now:()=>Math.floor(Date.now()/1e3)-Sr,serialize:n=>{let e=new DataView(new ArrayBuffer(4));return e.setUint32(0,n),e.buffer},toNumber:n=>Math.floor(n.getTime()/1e3),fromNumber:n=>new Date(n*1e3),findNowBucket:()=>{let n=new Date;if(n.getTime()<Ue.getTime())throw new Error(`now ${n} is before zeroDate ${Ue}`);return xn(Ue,n)},findDateBucket:n=>{if(n.getTime()<Ue.getTime())throw new Error(`now ${n} is before zeroDate ${Ue}`);return xn(Ue,n)}};var xe=new Map,An=(n,e)=>{xe.has(n)||xe.set(n,new Map),xe.get(n).has(e)||xe.get(n).set(e,{visits:[],downloads:[],rating:0,socialMediaId:[],parts:{}})},Pr=new Set;var $e=n=>{if(n.length!==0){vr(n);for(let e of Pr)e()}},vr=n=>{for(let e of n){An(e.objectType,e.objectId);let r=xe.get(e.objectType).get(e.objectId);switch(e.action){case 0:r.visits.push(K.now());break;case 2:r.downloads.push(K.now());break;case 1:r.parts[e.part]?r.parts[e.part].visits.push(K.now()):r.parts[e.part]={rating:0,visits:[K.now()],socialMediaId:[]};break;case 4:r.parts[e.part]?r.parts[e.part].rating=e.rate:r.parts[e.part]={rating:e.rate,visits:[],socialMediaId:[]};break;case 3:r.rating=e.rate;break;case 6:r.parts[e.part]?r.parts[e.part].socialMediaId.push(e.socialMediaId):r.parts[e.part]={rating:0,visits:[],socialMediaId:[e.socialMediaId]};break;case 5:r.socialMediaId.push(e.socialMediaId);break;default:break}}};var lt=class{constructor(e,t){this.objectId=e;this.objectType=t}favoriteParts(){if(!xe.has(this.objectType))return[];let e=xe.get(this.objectType);if(!e.has(this.objectId))return[];let t=e.get(this.objectId),r=Object.keys(t.parts).map(i=>({partId:parseInt(i),nbVisits:t.parts[i].visits.length,rating:t.parts[i].rating}));return r.sort((i,a)=>a.nbVisits-i.nbVisits),r}check(){An(this.objectType,this.objectId)}visit(){let e={action:0,ts:K.now(),objectId:this.objectId,objectType:this.objectType};$e([e]),f.addPatch(e)}download(){let e={objectType:this.objectType,objectId:this.objectId,ts:K.now(),action:2};$e([e]),f.addPatch(e)}get rating(){return this.check(),xe.get(this.objectType)?.get(this.objectId)?.rating}set rating(e){let t={objectType:this.objectType,objectId:this.objectId,ts:K.now(),action:3,rate:e};$e([t]),f.addPatch(t)}share(e){let t={objectType:this.objectType,objectId:this.objectId,ts:K.now(),action:5,socialMediaId:e};$e([t]),f.addPatch(t)}ratePart(e,t){let r={objectType:this.objectType,objectId:this.objectId,ts:K.now(),action:4,part:e,rate:t};$e([r]),f.addPatch(r)}visitPart(e){let t={objectType:this.objectType,objectId:this.objectId,ts:K.now(),action:1,part:e};$e([t]),f.addPatch(t)}};var kt=new Map,Bt="mine";var wn=(n,e)=>{kt.has(n)||kt.set(n,new Map);let t=kt.get(n);return t.has(e)||t.set(e,{createdBy:Bt,properties:new Map,relations:new Map}),t.get(e)},Rn=n=>{if(!He._replaying)switch(n.operation){case g.EditPropertyString:case g.EditPropertyNumber:{let e=n,t=wn(e.objectType,e.objectId);t.properties.has(e.propertyId)||t.properties.set(e.propertyId,[]),t.properties.get(e.propertyId).push({username:Bt,value:e.value,langId:e.langId});break}case g.EditRelation:{let e=n,t=wn(e.objectType,e.objectId);t.relations.has(e.relationId)||t.relations.set(e.relationId,[]),t.relations.get(e.relationId).push({username:Bt,value:[e.action===y.Add?"+":"-",e.targetId]});break}default:break}};var Tn=n=>({...n,wireId:W(n.wireId)}),Ln=n=>({...n,wireId:ke(n.wireId)}),Mt=class{constructor(){this.db=null;this.instanceRemaps=new Ft(this)}init(e){this.db=e}get idb(){if(!this.db)throw new Error("[models_v2] LocalRecordTable not initialised \u2014 call localRecordTable.init(db) at startup");return this.db}async put(e){return new Promise((t,r)=>{let s=this.idb.transaction("localRecords","readwrite").objectStore("localRecords").put(Tn(e));s.onsuccess=()=>t(),s.onerror=()=>r(s.error)})}async putIfAbsent(e){return new Promise((t,r)=>{let i=this.idb.transaction("localRecords","readwrite");i.onabort=()=>r(i.error||new Error("Transaction aborted")),i.onerror=()=>r(i.error);let a=i.objectStore("localRecords"),s=a.get([e.creatorUsername,W(e.wireId)]);s.onsuccess=()=>{if(s.result)t();else{let o=a.add(Tn(e));o.onsuccess=()=>t(),o.onerror=()=>r(o.error)}},s.onerror=()=>r(s.error)})}async get(e,t){return new Promise((r,i)=>{let o=this.idb.transaction("localRecords","readonly").objectStore("localRecords").get([e,W(t)]);o.onsuccess=()=>r(o.result?Ln(o.result):void 0),o.onerror=()=>i(o.error)})}async getByCreator(e){return new Promise((t,r)=>{let o=this.idb.transaction("localRecords","readonly").objectStore("localRecords").index("byCreator").getAll(e);o.onsuccess=()=>t(o.result.map(Ln)),o.onerror=()=>r(o.error)})}async setStatus(e,t,r){return new Promise((i,a)=>{let o=this.idb.transaction("localRecords","readwrite").objectStore("localRecords"),c=o.get([e,W(t)]);c.onsuccess=()=>{if(!c.result){a(new Error(`LocalRecordEntry not found: ${e}:${t}`));return}let d=c.result;d.status=r;let l=o.put(d);l.onsuccess=()=>i(),l.onerror=()=>a(l.error)},c.onerror=()=>a(c.error)})}async setCanonicalId(e,t,r){return new Promise((i,a)=>{let o=this.idb.transaction("localRecords","readwrite").objectStore("localRecords"),c=o.get([e,W(t)]);c.onsuccess=()=>{if(!c.result){a(new Error(`LocalRecordEntry not found: ${e}:${t}`));return}let d=c.result;d.canonicalId=r;let l=o.put(d);l.onsuccess=()=>i(),l.onerror=()=>a(l.error)},c.onerror=()=>a(c.error)})}},Ft=class{constructor(e){this.table=e}async get(e,t,r,i){return new Promise((a,s)=>{let l=this.table.idb.transaction(Te,"readonly").objectStore(Te).get([r,W(e),t,i]);l.onsuccess=()=>a(l.result?.realIndex),l.onerror=()=>s(l.error)})}async put(e,t,r,i,a){return new Promise((s,o)=>{let u=this.table.idb.transaction(Te,"readwrite").objectStore(Te).put({creatorUsername:r,objectId:W(e),langId:t,originalIndex:i,realIndex:a});u.onsuccess=()=>s(),u.onerror=()=>o(u.error)})}},Xe=new Mt;var Nn=null,xr="eng",Ar,wr=!1,N={get userLang(){if(Nn===null)throw new Error("[models_v2] Default language not set! Call setDefaultLanguage() before using models.");return Nn},get commonLang(){return xr},get defaultProvenance(){return Ar},get loadAiSidecars(){return wr}};var Le=0,_e=1,ze=2,Ut=3,ut=4,Ze=5,et=6,pt=7;function Dn(n){return Array.from(n.entries()).map(([e,t])=>[e,Array.from(t.values(),W)])}function $t(n){return Array.from(n,([e,t])=>[e,Array.from(t.entries())])}var Cn=n=>{let[e,t,r,i,a,s,o]=n;return[ke(e),new Map(t.map(([c,d])=>[c,new Set(d.map(ke))])),new Map(r.map(([c,d])=>[c,new Set(d.map(ke))])),new Map(i.map(([c,d])=>[c,new Map(d)])),new Map(a.map(([c,d])=>[c,new Map(d)])),new Map(s.map(([c,d])=>[c,new Map(d)])),new Map(o)]},En=new Set,On=(n,e)=>{if(n){if(n.has(e))return n.get(e);if(n.has(V))return n.get(V);if(n.size===1)return n.values().next().value}},Rr=[0,2],Tr=n=>{switch(n){case 1:return"childOf";case 2:return"parentOf";default:return"equivalentWith"}},k=class extends lt{constructor(t,r,i){let a=r[1]instanceof Map?r:Cn(r);super(a[0],t);this.hydratedThrough=0;this._boolValues=new Map;this._stringValues=new Map;this._numberValues=new Map;this._has=new Map;this._in=new Map;this._instances=new Map;this._provenance=new Map;this._aiResults=new Map;this.instanceRemaps=[];this._id=a[0],this._creatorUsername=i,this._has=a[1],this._in=a[2],this._numberValues=a[3],this._boolValues=a[4],this._stringValues=a[5],this._instances=a[6]??new Map,this.schema=T.get(t);for(let{relationId:s,direction:o}of this.schema.relations??[]){let c=o==="has"?this._has:this._in;c.has(s)||c.set(s,new Set)}for(let s of[Le,_e,ze,ut])this._stringValues.has(s)||this._stringValues.set(s,new Map);this._boolValues.has(Ze)||this._boolValues.set(Ze,new Map([[V,!0]])),this._boolValues.has(et)||this._boolValues.set(et,new Map([[V,!1]]))}static _safeRelation(t,r,i,a,s){let o=[];for(let c of r)if(i(c))o.push(a(c));else{let d="";try{let l=t.getProp(Le);l&&(d=` and name="${l}"`)}catch{}console.warn(`[ORM] ${t.constructor.name} with Id=${t.id}${d} has a relationship not met: ${s} to Id=${c}. With id=${c} not defined.`)}return o}static createNewRequest(t){return[t,new Map,new Map,new Map,new Map,new Map,new Map]}static async createNewRecord(t,r){let{wireId:i}=await t.next(),a={operation:g.CreateRecord,objectType:this.type,objectId:i,langId:0};f.addPatch(a);let s=[i,new Map,new Map,new Map,new Map,new Map,new Map],o=new this(s,r);return J(this.type,o,r),ve(this.type,i,r),await Xe.putIfAbsent({wireId:i,creatorUsername:r,objectType:this.type,createdAt:Date.now(),status:"active"}),o}get creatorUsername(){return Q(this.id)?this._creatorUsername??"":"canonical"}propertySlots(){let t=new Map;for(let r of[this._stringValues,this._numberValues,this._boolValues])for(let[i,a]of r)t.set(i,[...a]);return[...t]}restorePropertySlots(t,r){if(r===void 0)this._stringValues.clear(),this._numberValues.clear(),this._boolValues.clear();else for(let i of[this._stringValues,this._numberValues,this._boolValues])for(let a of i.values())a.delete(r);for(let[i,a]of t){let s=this.getPropType(i),o=s==="string"?this._stringValues:s==="boolean"?this._boolValues:this._numberValues;for(let[c,d]of a)(r===void 0||c===r||!o.get(i)?.has(c))&&this.setRaw(i,d,c)}}snapshot(){return{json:this.toJSON(),instanceRemaps:this.instanceRemaps,patchOrder:this.hydratedThrough,provenance:this._provenance,bridges:this.bridges,ai:this._aiResults}}replaceSnapshot(t){let r=Cn(t.json);this._has=r[1],this._in=r[2],this._numberValues=r[3],this._boolValues=r[4],this._stringValues=r[5],this._instances=r[6]??new Map,this.restoreSnapshot(t)}restoreSnapshot(t){this.instanceRemaps=t.instanceRemaps??[],this.hydratedThrough=t.patchOrder??0,this._provenance=t.provenance,this.bridges=t.bridges,this._aiResults=t.ai}toJSON(){return[W(this._id),Dn(this._has),Dn(this._in),$t(this._numberValues),$t(this._boolValues),$t(this._stringValues),Array.from(this._instances.entries())]}getAiResultsAllLangs(){return this._aiResults}getAiResults(t){let r=t??N.userLang,i=new Map;for(let[a,s]of this._aiResults.entries())for(let[o,c]of s.entries()){let d=On(c,r);if(!d)continue;let l=i.get(a);l||(l=new Map,i.set(a,l)),l.set(o,d)}return i}attachAiResult(t,r,i,a){let s=Date.now(),o=a,c="json";a&&typeof a=="object"&&"ts"in a&&"value"in a&&"format"in a&&(s=a.ts,o=a.value,c=a.format);let d=this._aiResults.get(t);d||(d=new Map,this._aiResults.set(t,d));let l=d.get(r);l||(l=new Map,d.set(r,l));let u=l.get(i);u||(u=new Set,l.set(i,u));let p=!1;for(let m of u)if(m.ts===s&&m.format===c){p=!0;break}p||u.add({ts:s,value:o,format:c})}get id(){return this._id}langOf(t){return Be[t]??V}langIdOf(t){let r=t??N.userLang,i=O[r];return i===void 0?(r!==V&&!En.has(r)&&(En.add(r),console.warn(`[models_v2] Unknown language "${r}" \u2014 patches will land in the lang-agnostic slot (langId 0) and may collide with other unmapped languages. Append "${r}" to LANG_ID_ENCODE in db_schema_v2.`)),0):i}getLoadedLanguages(){let t=new Set;for(let r of this._stringValues.values())for(let i of r.keys())i!==V&&t.add(i);for(let r of this._numberValues.values())for(let i of r.keys())i!==V&&t.add(i);for(let r of this._boolValues.values())for(let i of r.keys())i!==V&&t.add(i);if(t.size===0)try{t.add(N.userLang)}catch{t.add("eng")}return Array.from(t)}getUidStrategies(){let t=this.schema?.uidStrategy,r=t?Array.isArray(t)?t:[t]:[];if(r.length===0)return r;let i=this.schema.indexes?.find(a=>a.linkToUidStrategy);if(i){let a;try{a=N.userLang}catch{a="eng"}let s=re.getAvailableRawValues(this.objectType,i.name,a);return Array.from(new Set([...r,...s]))}return r}getClassificationType(t){let r=this.getUidStrategies();if(r.length===0)return"unclassified";if("classificationSystem"in this&&this.classificationSystem){let a=this.classificationSystem;if(r.includes(a))return a}let i=t||this.getDefaultClassificationFieldMap();for(let a of r){let s=i[a];if(s&&this[s])return a}return"unclassified"}getDefaultClassificationFieldMap(){let t={},r=this.getUidStrategies();for(let i of r)t[i]=`${i}Notation`;return t}get title(){return this.getProp(Le)??""}set title(t){this.dispatchString(Le,t)}getTitle(t){return this.getProp(Le,t)??""}setTitle(t,r){this.dispatchString(Le,t,r)}get description(){return this.getProp(_e)??""}set description(t){this.dispatchString(_e,t)}getDescription(t){return this.getProp(_e,t)??""}setDescription(t,r){this.dispatchString(_e,t,r)}get originalLang(){return this.getProp(ze)??""}set originalLang(t){this.dispatchString(ze,t)}getOriginalLang(t){return this.getProp(ze,t)??""}setOriginalLang(t,r){this.dispatchString(ze,t,r)}get ageGradeBand(){return this.getProp(Ut)??0}set ageGradeBand(t){this.dispatchNumber(Ut,t)}get previewTxId(){return this.getProp(ut)??""}set previewTxId(t){this.dispatchString(ut,t)}get safe(){return this.getProp(Ze)??!0}set safe(t){this.dispatchNumber(Ze,t?1:0)}get deleted(){return this.getProp(et)??!1}set deleted(t){this.dispatchNumber(et,t?1:0)}get lifecycleStatus(){return this.getProp(pt)??0}set lifecycleStatus(t){if(!Q(this.id))throw new Error("lifecycleStatus can only be set on user-created provisional records");if(!this._creatorUsername)throw new Error("Missing creatorUsername on provisional record");if(t<this.lifecycleStatus)throw new Error(`lifecycleStatus is forward-only: cannot transition from ${this.lifecycleStatus} to ${t}`);this.dispatchNumber(pt,t,V)}dispatchString(t,r,i){let a={operation:g.EditPropertyString,objectType:this.objectType,objectId:this.id,langId:this.langIdOf(i),propertyId:t,value:r};this.patch(a);let s=i??N.userLang,o=N.defaultProvenance;o!==void 0&&this.getProvenance(t,s)!==o&&this.setProvenanceRaw(s,t,o),f.addPatch({...a,...o!==void 0?{provenance:o}:{}})}dispatchNumber(t,r,i){let a={operation:g.EditPropertyNumber,objectType:this.objectType,objectId:this.id,langId:this.langIdOf(i),propertyId:t,value:r};this.patch(a);let s=i??N.userLang,o=N.defaultProvenance;o!==void 0&&this.getProvenance(t,s)!==o&&this.setProvenanceRaw(s,t,o),f.addPatch({...a,...o!==void 0?{provenance:o}:{}})}dispatchRelation(t,r,i){let a={operation:g.EditRelation,objectType:this.objectType,objectId:this.id,langId:0,relationId:t,action:r,targetId:i};this.patch(a),f.addPatch(a)}applyRelationRaw(t,r,i,a,s=!0){let o=t==="has"?this._has:this._in;o.has(r)||o.set(r,new Set),i===y.Add?o.get(r).add(a):o.get(r).delete(a),s&&G.trigger(this)}restoreInverses(){for(let[t,r]of this._has){let i=this.schema.relations?.find(o=>o.relationId===t);if(!i?.inverted)continue;let a=T.getByName(i.targetType),s=a?.relations.find(o=>o.name===i.inverted);if(!(!a||!s))for(let o of r){if(!x(a.objectId,o,this.creatorUsername))continue;let c=A(a.objectId,o,this.creatorUsername),d=c._in.get(s.relationId);d||(d=new Set,c._in.set(s.relationId,d)),d.add(this._id)}}}findChildByTitle(t,r){let i=r.trim().toLowerCase();if(!i)return null;let a=this._has.get(t);if(!a||a.size===0)return null;let s=this.schema.relations?.find(c=>c.relationId===t&&c.direction==="has");if(!s)return null;let o=T.getByName(s.targetType);if(!o)return null;for(let c of a){if(!x(o.objectId,c))continue;let d=A(o.objectId,c);if(d.title.trim().toLowerCase()===i)return d}return null}async hydrateChildren(t){let r=this._has.get(t);if(!r||r.size===0)return;let i=this.schema.relations?.find(c=>c.relationId===t&&c.direction==="has");if(!i)return;let a=T.getByName(i.targetType);if(!a)return;let s=st(a.objectId);if(!s)return;let o=Array.from(r).filter(c=>!x(a.objectId,c));o.length!==0&&await Promise.all(o.map(c=>s.LoadAsync(c).catch(d=>{console.warn(`[Orm.hydrateChildren] failed to hydrate id=${c}: ${d?.message??d}`)})))}async getOrCreateChildByTitle(t,r,i){await this.hydrateChildren(t);let a=this.findChildByTitle(t,r);if(a)return a;let s=await i();return s.title=r.trim(),this.dispatchRelation(t,y.Add,s.id),s}getBridgedRelationIdsSync(t,r,i=new Set){let a=r==="has"?this._has:this._in,s=Array.from(a.get(t)?.values()??[]);if(!this.bridges?.conversions)return s;let o=this.schema.relations?.find(l=>l.targetType===this.schema.name&&l.direction==="has"),c=o&&o.relationId===t,d=[...s];for(let[l,u]of Object.entries(this.bridges.conversions))for(let p of["equivalentWith","childOf","parentOf"]){let m=u[p];if(m)for(let S of m){let R=`${l}:${p}:${S.id}`;if(i.has(R))continue;i.add(R);let v;try{v=BigInt(S.id)}catch{try{let h=re.getIndex(this.objectType,"byClassificationSystem").getUidsByRawValue(l,"eng"),M=Array.from(h).find(_=>{let I=A(this.objectType,_);return I&&(I.lccNotation||I.ddcNotation||I.udcNotation||I.clcNotation||I.bbkNotation||I.tlcNotation||I.ccNotation)===S.id});M&&(v=M)}catch{}}if(v)if(p==="equivalentWith"){if(x(this.objectType,v)){let h=A(this.objectType,v);d.push(...h.getBridgedRelationIdsSync(t,r,i))}}else c&&(r==="has"&&p==="parentOf"||r==="in"&&p==="childOf")&&d.push(v)}}return Array.from(new Set(d))}async collectDeepIds(t,r){let i=r?.includeDeleted??!1,a=r?.bridgeTypes??Rr,s=this.schema.relations?.find(h=>h.name===t);if(!s)return[];let c=s.targetType===this.schema.name?s:this.schema.relations?.find(h=>h.targetType===this.schema.name&&h.direction==="has"),d=st(this.objectType),l=async h=>{if(!d)return null;try{return d.Has(h)?d.Load(h):await d.LoadAsync(h)}catch{return null}},u=new Set,p=new Set,m=async(h,M)=>{if(u.has(h.id)||(u.add(h.id),!M&&!i&&(h.deleted||!h.safe)))return;let _=s.direction==="has"?h._has:h._in;for(let I of _.get(s.relationId)??[])p.add(I);if(c){let I=c.direction==="has"?h._has:h._in;for(let ce of I.get(c.relationId)??[]){if(u.has(ce))continue;let Ae=await l(ce);Ae&&await m(Ae,!1)}}if(h.bridges?.conversions)for(let I of Object.keys(h.bridges.conversions)){let ce=h.bridges.conversions[I];for(let Ae of a){let qe=ce[Tr(Ae)];if(qe)for(let Gn of qe){let ft;try{ft=BigInt(Gn.id)}catch{continue}if(u.has(ft))continue;let Wt=await l(ft);Wt&&await m(Wt,!1)}}}};if(await m(this,!0),i)return Array.from(p);let S=T.getByName(s.targetType),R=S?st(S.objectId):void 0;if(!R)return Array.from(p);let v=[];for(let h of p)try{let M=R.Has(h)?R.Load(h):await R.LoadAsync(h);!M.deleted&&M.safe&&v.push(h)}catch{}return v}patch(t,r=!0,i=!0){switch(r&&Rn(t),t.operation){case g.EditPropertyString:{let a=t;this._stringValues.has(a.propertyId)||this._stringValues.set(a.propertyId,new Map),this._stringValues.get(a.propertyId).set(this.langOf(a.langId),a.value);break}case g.EditPropertyNumber:{let a=t;if(i&&a.propertyId===pt){let o=a.value===1?"submitted":a.value===2?"community_pending":a.value===3?"canonical":"active";Xe.setStatus(this.creatorUsername,this.id,o).catch(c=>{c.message?.includes("not found")||console.error("[Orm] Failed to update LocalRecordTable status:",c)}),a.value===3&&ot(this.objectType,this.id,this.creatorUsername)}let s=this.langOf(a.langId);this.getPropType(a.propertyId)==="boolean"?(this._boolValues.has(a.propertyId)||this._boolValues.set(a.propertyId,new Map),this._boolValues.get(a.propertyId).set(s,!!a.value)):(this._numberValues.has(a.propertyId)||this._numberValues.set(a.propertyId,new Map),this._numberValues.get(a.propertyId).set(s,a.value));break}case g.EditInstanceFieldString:case g.EditInstanceFieldNumber:{let a=t;this.applyInstancePatch(a);break}case g.EditRelation:{let a=t,o=this.schema.relations?.find(l=>l.relationId===a.relationId)?.direction??(this._in.has(a.relationId)&&!this._has.has(a.relationId)?"in":"has");this.applyRelationRaw(o,a.relationId,a.action,a.targetId,i);let c=i?Y(a):void 0,d=Q(this.id)?this.creatorUsername:void 0;if(c&&x(c.objectType,c.objectId,d)){let l=A(c.objectType,c.objectId,d),u=l.schema.relations.find(p=>p.relationId===c.relationId);l.applyRelationRaw(u.direction,c.relationId,c.action,c.targetId)}break}case g.AddInstance:{let a=t,s=this.langOf(a.langId),o=this._instances.get(s);for(o||(o=[],this._instances.set(s,o));o.length<=a.instanceIndex;)o.push({});break}case g.CreateRecord:break;case g.MergeProposal:{let a=t;this.bridges||(this.bridges={original:a.original,conversions:{}}),this.bridges.conversions||(this.bridges.conversions={}),this.bridges.conversions[a.destSystem]||(this.bridges.conversions[a.destSystem]={});let s=this.bridges.conversions[a.destSystem];s[a.relationType]||(s[a.relationType]=[]);let o=s[a.relationType].findIndex(c=>c.id===a.targetId);o>=0?s[a.relationType][o].confidence=a.confidence:s[a.relationType].push({id:a.targetId,confidence:a.confidence});break}case g.DeleteBridge:{let a=t;if(this.bridges?.conversions){let s=this.bridges.conversions[a.destinationSystem];if(s?.[a.bridgeTypeToDelete]){let o=String(a.targetTagId);s[a.bridgeTypeToDelete]=s[a.bridgeTypeToDelete].filter(c=>String(c.id)!==o)}}break}default:throw new Error(`unhandled patch operation ${t.operation}`)}if(t.operation===g.EditPropertyString||t.operation===g.EditPropertyNumber){let a=t.provenance;a!==void 0&&this.setProvenanceRaw(this.langOf(t.langId),t.propertyId,a)}if(i&&(t.operation===g.EditPropertyString||t.operation===g.EditPropertyNumber)){let a=t;re.updateIndex(this.objectType,a.propertyId,this)}i&&G.trigger(this)}applyInstancePatch(t){let r=this.langOf(t.langId),i=this._instances.get(r);for(i||(i=[],this._instances.set(r,i));i.length<=t.instanceIndex;)i.push({});let a=this.schema.instanceFields?.find(c=>c.propId===t.propertyId),s=a?.name??`field${t.propertyId}`,o=t.value;a?.type==="boolean"&&typeof o=="number"&&(o=!!o),i[t.instanceIndex][s]=o}getPropType(t){switch(t){case Le:case _e:case ze:case ut:return"string";case Ut:case pt:return"number";case Ze:case et:return"boolean"}let r=this.schema.props.find(i=>i.propId===t);if(typeof r>"u")throw new Error(`unknown prop ${t} in schema ${this.schema.name}`);return r.type==="enum"?"number":r.type}resolvedPropertyValue(t,r){let i=this.getPropType(t),a=i==="string"?this._stringValues:i==="number"?this._numberValues:this._boolValues;return On(a.get(t),r)}getProp(t,r){G.track(this);let i=this.resolvedPropertyValue(t,r??N.userLang);return this.getPropType(t)==="string"?i??"":i}setRaw(t,r,i=V){switch(this.getPropType(t)){case"string":{this._stringValues.has(t)||this._stringValues.set(t,new Map),this._stringValues.get(t).set(i,r);break}case"number":{this._numberValues.has(t)||this._numberValues.set(t,new Map),this._numberValues.get(t).set(i,r);break}case"boolean":{this._boolValues.has(t)||this._boolValues.set(t,new Map),this._boolValues.get(t).set(i,!!r);break}}}getInstancesData(t){return G.track(this),this._instances.get(t??N.userLang)??[]}getDefaultInstanceData(t){let r=this.getInstancesData(t);return r.find(i=>i.isDefault===!0)??r[0]}setInstancesRaw(t,r){this._instances.set(t,r)}growInstances(t,r){let i=this._instances.get(t);for(i||(i=[],this._instances.set(t,i));i.length<=r;)i.push({})}addInstance(t){if(!this.schema.multipleInstances)throw new Error(`Model ${this.constructor.name} does not support multiple instances.`);let r=t??N.userLang,a=this.getInstancesData(r).length;this.growInstances(r,a);let s={operation:g.AddInstance,objectType:this.objectType,objectId:this.id,langId:this.langIdOf(r),instanceIndex:a};return this.patch(s),f.addPatch(s),a}getProvenance(t,r){return G.track(this),this._provenance.get(r??N.userLang)?.get(t)??0}setProvenanceRaw(t,r,i){this._provenance.has(t)||this._provenance.set(t,new Map),this._provenance.get(t).set(r,i)}mergeSlim(t,r,i=N.userLang){this.setRaw(0,t.titles?.[r]??"",i),this.setRaw(2,t.originalLangs?.[r]??"",i),this.setRaw(4,t.previewTxIds?.[r]??"",i);let a=t.ageGradeBands?.[r];a!=null&&this.setRaw(3,a,i);let s=t.safes?.[r];s!=null&&this.setRaw(5,s===1,i);let o=t.deleteds?.[r];o!=null&&this.setRaw(6,o===1,i);for(let c of this.schema.props){if(c.source!=="slim")continue;let d=z(c.name,c.type),l=t[d]?.[r];c.type==="string"?this.setRaw(c.propId,l??"",i):c.type==="boolean"?l!=null&&this.setRaw(c.propId,l===1,i):l!=null&&this.setRaw(c.propId,l,i)}if(this.schema.multipleInstances){let c=this.schema.instanceFields?.find(l=>l.type==="string"),d=!0;if(c){let l=`default${z(Ke(c.name),c.type)}`;t[l]?.[r]==null&&(d=!1)}if(d&&this.getInstancesData(i).length===0){let l={isDefault:!0};for(let u of this.schema.instanceFields||[]){let p=`default${z(Ke(u.name),u.type)}`,m=t[p]?.[r];u.type==="boolean"?l[u.name]=m===1:l[u.name]=m??null}this.setInstancesRaw(i,[l])}}}mergeExtended(t,r,i=N.userLang){this.setRaw(1,t.descriptions?.[r]??"",i);for(let a of this.schema.props){if(a.source!=="extended")continue;let s=z(a.name,a.type),o=t[s]?.[r];a.type==="string"?this.setRaw(a.propId,o??"",i):a.type==="boolean"?o!=null&&this.setRaw(a.propId,o===1,i):o!=null&&this.setRaw(a.propId,o,i)}for(let a of this.schema.relations||[]){if(a.direction!=="has")continue;let s=rt(a);if(t[s]){let o=this._has.get(a.relationId);for(let c of t[s][r]??[])o.add(BigInt(c))}}this.schema.multipleInstances&&t.instances&&this.setInstancesRaw(i,t.instances[r]??[])}mergeProv(t,r,i=N.userLang){let a=t.fields?.[At]?.[r];a!=null&&(this.instanceRemaps=[...new Map([...this.instanceRemaps,...JSON.parse(a)])]);let s=t.fields?.[xt]?.[r];s!=null&&this.restorePropertySlots(JSON.parse(s),i);let o={title:0,description:1,originalLang:2,ageGradeBand:3,previewTxId:4,safe:5,deleted:6,lifecycleStatus:7};for(let[c,d]of Object.entries(t.fields||{})){let l=o[c];if(l===void 0){let u=this.schema.props.find(p=>p.name===c);if(u)l=u.propId;else if(this.schema.instanceFields){let p=this.schema.instanceFields.find(m=>m.name===c);p&&(l=p.propId)}}l!==void 0&&this.setProvenanceRaw(i,l,d[r])}t.bridges&&t.bridges[r]&&(this.bridges=t.bridges[r])}};var kn="0123456789ABCDEFGHJKLMNPQRSTUVWXYZ",jn="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ*";function Bn(n){let e=0;for(let i=0;i<n.length;i++){let a=jn.indexOf(n[i]);if(a===-1)throw new Error(`[pid] Invalid character for ISO 7064 MOD 37-2: ${n[i]}`);let s=(e+a)%37;s===0&&(s=37),e=s*2%37}let t=(38-e)%37,r=jn[t];return r==="*"&&(r="X"),r==="I"&&(r="J"),r==="O"&&(r="P"),r}var Lr=(1n<<64n)-1n,tt=7,Ne=13;function Nr(n){if(typeof n!="bigint"||n<0n||n>Lr)throw new Error(`[pid] wireId ${n} must be an unsigned 64-bit integer`);if(n===0n)return"0".repeat(Ne);let e="",t=n;for(;t>0n;)e=kn[Number(t%34n)]+e,t=t/34n;return e.padStart(Ne,"0")}function Dr(n){if(n.length!==tt&&n.length!==Ne)throw new Error(`[pid] Base34 body must be ${tt} (legacy) or ${Ne} (native) characters, got ${n.length}`);let e=0n;for(let t=0;t<n.length;t++){let r=kn.indexOf(n[t]);if(r===-1)throw new Error(`[pid] Invalid character in base-34 body: ${n[t]}`);e=e*34n+BigInt(r)}return e}function se(n,e){if(n.length!==2)throw new Error("[pid] typePrefix must be exactly 2 characters");let t=Nr(e),r=Bn(n+t);return n+t+r}function U(n,e){if(!e.startsWith(n))throw new Error(`[pid] PID ${e} does not start with expected prefix ${n}`);let t;if(e.length===2+tt+1)t=tt;else if(e.length===2+Ne+1)t=Ne;else throw new Error(`[pid] PID must be ${2+tt+1} (legacy) or ${2+Ne+1} (native) characters long, got ${e.length}`);let r=e.slice(2,2+t),i=e[2+t],a=Bn(n+r);if(i!==a)throw new Error(`[pid] Invalid check character in PID ${e}. Expected ${a}`);return{wireId:Dr(r)}}var oe={Book:{name:"Book",typePrefix:"BK",canonical:!0,isPrivate:!0,uidStrategy:"native-only",multipleInstances:!0,instanceUidStrategy:["isbn"],props:[{name:"prerequisites",type:"string",source:"extended",propId:8},{name:"deweyDecimal",type:"string",source:"extended",propId:9},{name:"locCallNumber",type:"string",source:"extended",propId:10},{name:"copyrightStatus",type:"enum",enum:"CopyrightStatus",source:"extended",propId:11},{name:"textQuality",type:"enum",enum:"QualityScore",source:"extended",propId:12},{name:"illustrations",type:"enum",enum:"QualityScore",source:"extended",propId:13},{name:"educationQuality",type:"enum",enum:"QualityScore",source:"extended",propId:14},{name:"practicality",type:"enum",enum:"QualityScore",source:"extended",propId:15},{name:"accessibilityLevel",type:"enum",enum:"QualityScore",source:"extended",propId:16},{name:"teacherMaterials",type:"boolean",source:"extended",propId:17},{name:"pedagogicalScaffolding",type:"enum",enum:"QualityScore",source:"extended",propId:18},{name:"clarityOfExplanation",type:"enum",enum:"QualityScore",source:"extended",propId:19},{name:"workedExamples",type:"enum",enum:"QualityScore",source:"extended",propId:20},{name:"exercisesAndAssessment",type:"enum",enum:"QualityScore",source:"extended",propId:21},{name:"selfStudyReadiness",type:"enum",enum:"QualityScore",source:"extended",propId:22},{name:"referenceApparatus",type:"enum",enum:"QualityScore",source:"extended",propId:23},{name:"safetyGuidance",type:"enum",enum:"QualityScore",source:"extended",propId:24},{name:"contentCurrency",type:"enum",enum:"QualityScore",source:"extended",propId:25},{name:"ecoRegeneration",type:"enum",enum:"QualityScore",source:"extended",propId:26},{name:"communityLiving",type:"enum",enum:"QualityScore",source:"extended",propId:27},{name:"promotesPeace",type:"enum",enum:"QualityScore",source:"extended",propId:28},{name:"businessDevelopment",type:"enum",enum:"QualityScore",source:"extended",propId:29}],instanceFields:[{name:"language",type:"string",identityComponent:!0,propId:30},{name:"downloadTxId",type:"string",propId:31},{name:"method",type:"enum",enum:"BookMethod",propId:32},{name:"isAiTranslation",type:"boolean",propId:33},{name:"aiEngine",type:"string",nullable:!0,propId:34},{name:"addedAt",type:"number",bits:32,propId:35},{name:"nbPages",type:"number",bits:16,propId:36},{name:"sizeBytes",type:"number",bits:32,propId:37},{name:"publisher",type:"string",nullable:!0,propId:38},{name:"publicationDate",type:"string",nullable:!0,propId:39},{name:"publishedAt",type:"string",nullable:!0,propId:40},{name:"qualityScore",type:"enum",enum:"QualityScore",propId:41},{name:"isbn",type:"string",nullable:!0,source:"extended",propId:42}],relations:[{name:"inTags",targetType:"Tag",direction:"in",cardinality:"1toN",inverted:"books",relationId:0},{name:"authors",targetType:"Person",direction:"has",cardinality:"1toN",inverted:"authorOf",relationId:1}],translations:{fr:{className:"Livre",props:{title:"titre",description:"description"}},idn:{className:"Book",props:{title:"title",description:"description"}}},standardPks:{isbn:"isbn"},objectId:0},ClassificationSystem:{name:"ClassificationSystem",typePrefix:"CS",canonical:!0,isPrivate:!0,multipleInstances:!1,props:[{name:"name",type:"string",source:"extended",propId:65},{name:"institution",type:"boolean",source:"extended",propId:66},{name:"country",type:"string",source:"extended",propId:67},{name:"language",type:"string",source:"extended",propId:30},{name:"rootTagId",type:"number",source:"extended",propId:68}],instanceFields:[],relations:[{name:"rootTag",targetType:"Tag",direction:"in",cardinality:"1toN",relationId:5},{name:"tags",targetType:"Tag",direction:"has",cardinality:"1toN",relationId:3},{name:"books",targetType:"Book",direction:"has",cardinality:"1toN",relationId:4}],indexes:[{name:"byClassificationSystem",keys:["name"],linkToUidStrategy:!0,classifier:{type:"prefix",separator:"-",fallback:"standard",customMappings:{origin:"origin"}}}],objectId:3},Person:{name:"Person",typePrefix:"PR",canonical:!0,isPrivate:!0,uidStrategy:["isni","orcid"],multipleInstances:!1,props:[{name:"birthDate",type:"string",source:"extended",propId:43},{name:"deathDate",type:"string",source:"extended",propId:44},{name:"nationality",type:"string",source:"extended",propId:45},{name:"wikiUrl",type:"string",source:"extended",propId:46},{name:"isniId",type:"string",nullable:!0,source:"extended",propId:47},{name:"orcidId",type:"string",nullable:!0,source:"extended",propId:48}],instanceFields:[],relations:[{name:"authorOf",targetType:"Book",direction:"in",inverted:"authors",cardinality:"1toN",relationId:2}],translations:{fr:{className:"Personne"}},standardPks:{isni:"isniId",orcid:"orcidId"},objectId:1},Post:{name:"Post",typePrefix:"PO",canonical:!0,isPrivate:!1,uidStrategy:"native-only",multipleInstances:!1,props:[{name:"isPinned",type:"boolean",source:"extended",propId:70},{name:"isLocked",type:"boolean",source:"extended",propId:71}],instanceFields:[],relations:[{name:"inTags",targetType:"Tag",direction:"in",cardinality:"1toN",relationId:0},{name:"tags",targetType:"Tag",direction:"has",cardinality:"1toN",relationId:3},{name:"parentPost",targetType:"Post",direction:"in",cardinality:"1to1",inverted:"replies",relationId:6},{name:"replies",targetType:"Post",direction:"has",inverted:"parentPost",cardinality:"1toN",relationId:7}],objectId:4},Tag:{name:"Tag",typePrefix:"TG",canonical:!0,isPrivate:!0,uidStrategy:["lcc","ddc","udc","clc","bbk","tlc","cc"],multipleInstances:!1,props:[{name:"classificationSystem",type:"string",source:"extended",propId:56},{name:"isRootContainer",type:"boolean",source:"extended",propId:69},{name:"lccNotation",type:"string",nullable:!0,source:"extended",propId:50},{name:"ddcNotation",type:"string",nullable:!0,source:"extended",propId:49},{name:"udcNotation",type:"string",nullable:!0,source:"extended",propId:51},{name:"clcNotation",type:"string",nullable:!0,source:"extended",propId:52},{name:"bbkNotation",type:"string",nullable:!0,source:"extended",propId:53},{name:"tlcNotation",type:"string",nullable:!0,source:"extended",propId:54},{name:"ccNotation",type:"string",nullable:!0,source:"extended",propId:55}],instanceFields:[],relations:[{name:"inTags",targetType:"Tag",direction:"in",cardinality:"1toN",inverted:"tags",relationId:0},{name:"tags",targetType:"Tag",direction:"has",cardinality:"1toN",inverted:"inTags",relationId:3},{name:"books",targetType:"Book",direction:"has",cardinality:"1toN",inverted:"inTags",relationId:4}],indexes:[{name:"byClassificationSystem",keys:["classificationSystem"],linkToUidStrategy:!0,classifier:{type:"prefix",separator:"-",fallback:"standard",customMappings:{origin:"origin"}}}],standardPks:{lcc:"lccNotation",ddc:"ddcNotation",udc:"udcNotation",clc:"clcNotation",bbk:"bbkNotation",tlc:"tlcNotation",cc:"ccNotation"},objectId:2}};function Cr(n){if(n.length!==16)return{valid:!1,error:`Expected 16 chars, got ${n.length}`};let e=0;for(let i=0;i<15;i++){let a=parseInt(n[i],10);if(isNaN(a))return{valid:!1,error:`Non-digit character at position ${i}`};e=(e+a)*2%11}let t=(12-e)%11,r=t===10?"X":String(t);return n[15].toUpperCase()!==r?{valid:!1,error:`Check digit mismatch: expected ${r}, got ${n[15]}`}:{valid:!0}}var ue={standardId:"isni",uriScheme:"ISNI",normalize(n){return n.replace(/[\s-]/g,"")},display(n){let e=ue.normalize(n);return e.length===16?`${e.slice(0,4)} ${e.slice(4,8)} ${e.slice(8,12)} ${e.slice(12)}`:e},validate(n){if(!n)return{valid:!1,error:"ISNI is absent"};let e=ue.normalize(n);return/^[0-9]{15}[0-9X]$/.test(e)?Cr(e):{valid:!1,error:`ISNI does not match pattern: ${e}`}},toLinkedDataUri(n){return`https://isni.org/isni/${ue.normalize(n)}`},apis:{"isni-sru":{apiId:"isni-sru",name:"ISNI SRU API",async fetch({isniId:n}){if(!n)return[];let t=`https://isni.oclc.org/sru/DB=1.2/?operation=searchRetrieve&query=${`pica.isn%3D${encodeURIComponent(n)}`}&recordSchema=isni-b&maximumRecords=10`,r=await fetch(t,{headers:{Accept:"application/xml"}});if(!r.ok)return[];let i=await r.text(),a=i.match(/<isniUnformatted>([0-9X]+)<\/isniUnformatted>/),s=i.match(/<forename>([^<]+)<\/forename>/),o=i.match(/<surname>([^<]+)<\/surname>/);return a?[{isni:a[1],forename:s?.[1],surname:o?.[1]}]:[]}}}};function Er(n){if(n.length!==16)return{valid:!1,error:`Expected 16 chars, got ${n.length}`};let e=0;for(let i=0;i<15;i++){let a=parseInt(n[i],10);if(isNaN(a))return{valid:!1,error:`Non-digit at position ${i}`};e=(e+a)*2%11}let t=(12-e)%11,r=t===10?"X":String(t);return n[15].toUpperCase()!==r?{valid:!1,error:`Check digit mismatch: expected ${r}, got ${n[15]}`}:{valid:!0}}var Mn="https://pub.orcid.org/v3.0",Fn={Accept:"application/vnd.orcid+json"},pe={standardId:"orcid",uriScheme:"ORCID",normalize(n){let e=n.replace(/\s/g,"");return e.length===16&&!e.includes("-")?`${e.slice(0,4)}-${e.slice(4,8)}-${e.slice(8,12)}-${e.slice(12)}`:e},display(n){return pe.normalize(n)},validate(n){if(!n)return{valid:!1,error:"ORCID iD is absent"};let e=pe.normalize(n);return/^[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{3}[0-9X]$/.test(e)?Er(e.replace(/-/g,"")):{valid:!1,error:`ORCID iD does not match pattern: ${e}`}},toLinkedDataUri(n){return`https://orcid.org/${pe.normalize(n)}`},apis:{"orcid-lookup":{apiId:"orcid-lookup",name:"ORCID Public Record API",async fetch({orcidId:n}){if(!n)return{};let e=await fetch(`${Mn}/${n}/record`,{headers:Fn});if(!e.ok)return{};let r=(await e.json()).person??{},i=r.name??{};return{orcidId:n,givenNames:i["given-names"]?.value,familyName:i["family-name"]?.value,biography:r.biography?.content??void 0}}},"orcid-public-api":{apiId:"orcid-public-api",name:"ORCID Public Search API",async fetch({orcidId:n}){if(!n)return[];let e=await fetch(`${Mn}/search?q=orcid:${n}&rows=10`,{headers:Fn});return e.ok?((await e.json()).result??[]).map(r=>({orcidId:r["orcid-identifier"]?.path??""})).filter(r=>r.orcidId):[]}}}};var De=oe.Person;T.register(De);function Or(n){return H(De,n,F())}function jr(n){return ee(De,n)}function kr(n){return X(De,n,F())}function Br(n){return te(De,n)}function Mr(n){return Z(De,n)}function Fr(n){return ne(De,n)}var B=class B extends k{constructor(e,t){super(B.type,e,t)}static Load(e,t){return A(B.type,e,t)}static Has(e,t){return x(B.type,e,t)}static async LoadAsync(e,t){return ae(B,e,t)}get birthDate(){return this.getProp(43)}set birthDate(e){this.dispatchString(43,e)}getBirthDate(e){return this.getProp(43,e)}setBirthDate(e,t){this.dispatchString(43,e,t)}get deathDate(){return this.getProp(44)}set deathDate(e){this.dispatchString(44,e)}getDeathDate(e){return this.getProp(44,e)}setDeathDate(e,t){this.dispatchString(44,e,t)}get nationality(){return this.getProp(45)}set nationality(e){this.dispatchString(45,e)}getNationality(e){return this.getProp(45,e)}setNationality(e,t){this.dispatchString(45,e,t)}get wikiUrl(){return this.getProp(46)}set wikiUrl(e){this.dispatchString(46,e)}getWikiUrl(e){return this.getProp(46,e)}setWikiUrl(e,t){this.dispatchString(46,e,t)}get isniId(){return this.getProp(47)??null}set isniId(e){this.dispatchString(47,e??"")}getIsniId(e){return this.getProp(47,e)??null}setIsniId(e,t){this.dispatchString(47,e??"",t)}get orcidId(){return this.getProp(48)??null}set orcidId(e){this.dispatchString(48,e??"")}getOrcidId(e){return this.getProp(48,e)??null}setOrcidId(e,t){this.dispatchString(48,e??"",t)}get inAuthorOfIds(){return this.getBridgedRelationIdsSync(2,"in")}get inAuthorOf(){return w(P,this.inAuthorOfIds)}isInAuthorOf(e){return this._in.get(2).has(e)}async authorOfDeep(e){return w(P,await this.collectDeepIds("authorOf",e))}addIntoAuthorOf(e){if(this.isInAuthorOf(e))return;let t={operation:g.EditRelation,objectType:P.type,objectId:e,langId:0,relationId:1,action:y.Add,targetId:this.id};x(P.type,e)&&A(P.type,e).patch(t),this.applyRelationRaw("in",2,y.Add,e),f.addPatch(t)}removeFromAuthorOf(e){if(!this.isInAuthorOf(e))return;let t={operation:g.EditRelation,objectType:P.type,objectId:e,langId:0,relationId:1,action:y.Remove,targetId:this.id};x(P.type,e)&&A(P.type,e).patch(t),this.applyRelationRaw("in",2,y.Remove,e),f.addPatch(t)}toPID(){return`DL:${this.id&0x8000000000000000n?"U":"C"}:PR:${se("PR",this.id)}`}toNativePID(){return this.toPID()}static fromPID(e){try{if(!e.startsWith("DL:"))return U("PR",e);let t=e.split(":");return t.length>=4&&t[2]==="PR"?U("PR",t[3]):null}catch{return null}}get isniNormalized(){return this.isniId?ue.normalize(this.isniId):null}validateIsni(){return ue.validate(this.isniId)}get orcidNormalized(){return this.orcidId?pe.normalize(this.orcidId):null}validateOrcid(){return pe.validate(this.orcidId)}sfcuid(){return this.isniId?`isni:${ue.normalize(this.isniId)}`:this.orcidId?`orcid:${pe.normalize(this.orcidId)}`:this.toNativePID()}get identityCluster(){let e=this.sfcuid(),t=[this.isniId?`isni:${ue.normalize(this.isniId)}`:null,this.orcidId?`orcid:${pe.normalize(this.orcidId)}`:null,this.toNativePID()].filter(Boolean);return{sfcuid:e,native:this.toNativePID(),aliases:t.filter(r=>r!==e),wireId:this.id}}};B.type=1,B.UID_STRATEGY="standards-first",B.STANDARD_PRIORITY=["isni","orcid"],B.isPrivate=!0,B.serializeSlim=Or,B.serializeExtended=kr,B.serializeProv=Mr,B.deserializeSlim=jr,B.deserializeExtended=Br,B.deserializeProv=Fr;var ge=B;ie(ge.type,ge);var me={standardId:"lcc",uriScheme:"LCC",normalize(n){return n.trim()},display(n){return me.normalize(n)},validate(n){if(!n)return{valid:!1,error:"LCC notation is absent"};let e=me.normalize(n);return/^[A-Z0-9\.\s]+$/.test(e)?{valid:!0}:{valid:!1,error:`LCC notation does not match pattern: ${e}`}},toLinkedDataUri(n){return`https://id.loc.gov/authorities/classification/${me.normalize(n)}`},apis:{}};var ye={standardId:"ddc",uriScheme:"DDC",normalize(n){let e=n.trim();return e.includes(".")&&(e=e.replace(/\.?0+$/,"")),e},display(n){return ye.normalize(n)},validate(n){if(!n)return{valid:!1,error:"DDC notation is absent"};let e=ye.normalize(n);return/^[0-9]{3}(\.[0-9]+)?$/.test(e)?{valid:!0}:{valid:!1,error:`DDC notation does not match pattern: ${e}`}},toLinkedDataUri(n){return`https://id.loc.gov/authorities/classification/${ye.normalize(n)}`},apis:{}};var he={standardId:"udc",uriScheme:"UDC",normalize(n){return n.trim()},display(n){return he.normalize(n)},validate(n){if(!n)return{valid:!1,error:"UDC notation is absent"};let e=he.normalize(n);return/^[0-9\.\-\:\+\/\(\)\[\]\=\*\"\s]+$/.test(e)?{valid:!0}:{valid:!1,error:`UDC notation does not match pattern: ${e}`}},toLinkedDataUri(n){return`https://udcsummary.info/php/index.php?c=${he.normalize(n)}`},apis:{}};var fe={standardId:"clc",uriScheme:"CLC",normalize(n){return n.trim()},display(n){return fe.normalize(n)},validate(n){if(!n)return{valid:!1,error:"CLC notation is absent"};let e=fe.normalize(n);return/^[A-Z0-9\.\-\+\=\s]+$/.test(e)?{valid:!0}:{valid:!1,error:`CLC notation does not match pattern: ${e}`}},toLinkedDataUri(n){return`https://clc.nlc.cn/${fe.normalize(n)}`},apis:{}};var be={standardId:"bbk",uriScheme:"BBK",normalize(n){return n.trim()},display(n){return be.normalize(n)},validate(n){if(!n)return{valid:!1,error:"BBK notation is absent"};let e=be.normalize(n);return/^[0-9А-Яа-яA-Za-z\.\-\s]+$/.test(e)?{valid:!0}:{valid:!1,error:`BBK notation does not match pattern: ${e}`}},toLinkedDataUri(n){return`https://bbk.rsl.ru/external/${be.normalize(n)}`},apis:{}};var Ie={standardId:"tlc",uriScheme:"TLC",normalize(n){return n.trim()},display(n){return Ie.normalize(n)},validate(n){if(!n)return{valid:!1,error:"TLC notation is absent"};let e=Ie.normalize(n);return/^[A-Z0-9\.\-\s]+$/.test(e)?{valid:!0}:{valid:!1,error:`TLC notation does not match pattern: ${e}`}},toLinkedDataUri(n){return`https://nlt.go.th/tlc/${Ie.normalize(n)}`},apis:{}};var Se={standardId:"cc",uriScheme:"CC",normalize(n){return n.trim()},display(n){return Se.normalize(n)},validate(n){if(!n)return{valid:!1,error:"CC notation is absent"};let e=Se.normalize(n);return/^[A-Za-z0-9\:\,\;\-\.\'\s]+$/.test(e)?{valid:!0}:{valid:!1,error:`CC notation does not match pattern: ${e}`}},toLinkedDataUri(n){return`https://isko.org/cc/${Se.normalize(n)}`},apis:{}};var Ce=oe.Tag;T.register(Ce);function Ur(n){return H(Ce,n,F())}function $r(n){return ee(Ce,n)}function _r(n){return X(Ce,n,F())}function zr(n){return te(Ce,n)}function Qr(n){return Z(Ce,n)}function Vr(n){return ne(Ce,n)}var b=class b extends k{constructor(e,t){super(b.type,e,t)}static Load(e,t){return A(b.type,e,t)}static Has(e,t){return x(b.type,e,t)}static async LoadAsync(e,t){return ae(b,e,t)}get classificationSystem(){return this.getProp(56)}set classificationSystem(e){this.dispatchString(56,e)}getClassificationSystem(e){return this.getProp(56,e)}setClassificationSystem(e,t){this.dispatchString(56,e,t)}get isRootContainer(){return this.getProp(69)??!1}set isRootContainer(e){this.dispatchNumber(69,e?1:0)}getIsRootContainer(e){return this.getProp(69,e)??!1}setIsRootContainer(e,t){this.dispatchNumber(69,e?1:0,t)}get lccNotation(){return this.getProp(50)??null}set lccNotation(e){this.dispatchString(50,e??"")}getLccNotation(e){return this.getProp(50,e)??null}setLccNotation(e,t){this.dispatchString(50,e??"",t)}get ddcNotation(){return this.getProp(49)??null}set ddcNotation(e){this.dispatchString(49,e??"")}getDdcNotation(e){return this.getProp(49,e)??null}setDdcNotation(e,t){this.dispatchString(49,e??"",t)}get udcNotation(){return this.getProp(51)??null}set udcNotation(e){this.dispatchString(51,e??"")}getUdcNotation(e){return this.getProp(51,e)??null}setUdcNotation(e,t){this.dispatchString(51,e??"",t)}get clcNotation(){return this.getProp(52)??null}set clcNotation(e){this.dispatchString(52,e??"")}getClcNotation(e){return this.getProp(52,e)??null}setClcNotation(e,t){this.dispatchString(52,e??"",t)}get bbkNotation(){return this.getProp(53)??null}set bbkNotation(e){this.dispatchString(53,e??"")}getBbkNotation(e){return this.getProp(53,e)??null}setBbkNotation(e,t){this.dispatchString(53,e??"",t)}get tlcNotation(){return this.getProp(54)??null}set tlcNotation(e){this.dispatchString(54,e??"")}getTlcNotation(e){return this.getProp(54,e)??null}setTlcNotation(e,t){this.dispatchString(54,e??"",t)}get ccNotation(){return this.getProp(55)??null}set ccNotation(e){this.dispatchString(55,e??"")}getCcNotation(e){return this.getProp(55,e)??null}setCcNotation(e,t){this.dispatchString(55,e??"",t)}get inTagsIds(){return this.getBridgedRelationIdsSync(0,"in")}get inTags(){return w(b,this.inTagsIds)}isInTag(e){return this._in.get(0).has(e)}async inTagsDeep(e){return w(b,await this.collectDeepIds("inTags",e))}addIntoTag(e){if(this.isInTag(e))return;let t={operation:g.EditRelation,objectType:b.type,objectId:e,langId:0,relationId:3,action:y.Add,targetId:this.id};x(b.type,e)&&A(b.type,e).patch(t),this.applyRelationRaw("in",0,y.Add,e),f.addPatch(t)}removeFromTag(e){if(!this.isInTag(e))return;let t={operation:g.EditRelation,objectType:b.type,objectId:e,langId:0,relationId:3,action:y.Remove,targetId:this.id};x(b.type,e)&&A(b.type,e).patch(t),this.applyRelationRaw("in",0,y.Remove,e),f.addPatch(t)}get tagsIds(){return this.getBridgedRelationIdsSync(3,"has")}get tags(){return w(b,this.tagsIds)}hasTag(e){return this._has.get(3).has(e)}addTag(e){this.hasTag(e)||this.dispatchRelation(3,y.Add,e)}removeTag(e){this.hasTag(e)&&this.dispatchRelation(3,y.Remove,e)}async tagsDeep(e){return w(b,await this.collectDeepIds("tags",e))}get booksIds(){return this.getBridgedRelationIdsSync(4,"has")}get books(){return w(P,this.booksIds)}hasBook(e){return this._has.get(4).has(e)}addBook(e){this.hasBook(e)||this.dispatchRelation(4,y.Add,e)}removeBook(e){this.hasBook(e)&&this.dispatchRelation(4,y.Remove,e)}async booksDeep(e){return w(P,await this.collectDeepIds("books",e))}toPID(){return`DL:${this.id&0x8000000000000000n?"U":"C"}:TG:${se("TG",this.id)}`}toNativePID(){return this.toPID()}static fromPID(e){try{if(!e.startsWith("DL:"))return U("TG",e);let t=e.split(":");return t.length>=4&&t[2]==="TG"?U("TG",t[3]):null}catch{return null}}get lccNormalized(){return this.lccNotation?me.normalize(this.lccNotation):null}validateLcc(){return me.validate(this.lccNotation)}get ddcNormalized(){return this.ddcNotation?ye.normalize(this.ddcNotation):null}validateDdc(){return ye.validate(this.ddcNotation)}get udcNormalized(){return this.udcNotation?he.normalize(this.udcNotation):null}validateUdc(){return he.validate(this.udcNotation)}get clcNormalized(){return this.clcNotation?fe.normalize(this.clcNotation):null}validateClc(){return fe.validate(this.clcNotation)}get bbkNormalized(){return this.bbkNotation?be.normalize(this.bbkNotation):null}validateBbk(){return be.validate(this.bbkNotation)}get tlcNormalized(){return this.tlcNotation?Ie.normalize(this.tlcNotation):null}validateTlc(){return Ie.validate(this.tlcNotation)}get ccNormalized(){return this.ccNotation?Se.normalize(this.ccNotation):null}validateCc(){return Se.validate(this.ccNotation)}sfcuid(){return this.lccNotation?`lcc:${me.normalize(this.lccNotation)}`:this.ddcNotation?`ddc:${ye.normalize(this.ddcNotation)}`:this.udcNotation?`udc:${he.normalize(this.udcNotation)}`:this.clcNotation?`clc:${fe.normalize(this.clcNotation)}`:this.bbkNotation?`bbk:${be.normalize(this.bbkNotation)}`:this.tlcNotation?`tlc:${Ie.normalize(this.tlcNotation)}`:this.ccNotation?`cc:${Se.normalize(this.ccNotation)}`:this.toNativePID()}get identityCluster(){let e=this.sfcuid(),t=[this.lccNotation?`lcc:${me.normalize(this.lccNotation)}`:null,this.ddcNotation?`ddc:${ye.normalize(this.ddcNotation)}`:null,this.udcNotation?`udc:${he.normalize(this.udcNotation)}`:null,this.clcNotation?`clc:${fe.normalize(this.clcNotation)}`:null,this.bbkNotation?`bbk:${be.normalize(this.bbkNotation)}`:null,this.tlcNotation?`tlc:${Ie.normalize(this.tlcNotation)}`:null,this.ccNotation?`cc:${Se.normalize(this.ccNotation)}`:null,this.toNativePID()].filter(Boolean);return{sfcuid:e,native:this.toNativePID(),aliases:t.filter(r=>r!==e),wireId:this.id}}static async byClassificationSystem(e,t){let r=t?.lang??N.userLang,i=Array.from(re.getIndex(b.type,"byClassificationSystem").getUidsByRawValue(e,r)),a=t?.includeDeleted??!1;return(await w(b,i)).filter(o=>a||!o.deleted)}static getAvailableClassificationSystems(e,t){let r=t?.lang??N.userLang;return re.getIndex(b.type,"byClassificationSystem").getAvailableKeys([e],r)}static async byClassificationSystemStandard(e,t){return b.byClassificationSystem(e,t)}static async byClassificationSystemImported(e,t){return b.byClassificationSystem(`imported-${e}`,t)}static async byClassificationSystemCustom(e,t){return b.byClassificationSystem(`custom-${e}`,t)}static async byClassificationSystemOrigin(e){return b.byClassificationSystem("origin",e)}static getAvailableStandardSystems(e){return b.getAvailableClassificationSystems("standard",e)}static getAvailableImportedSystems(e){return b.getAvailableClassificationSystems("imported",e)}static getAvailableCustomSystems(e){return b.getAvailableClassificationSystems("custom",e)}};b.type=2,b.UID_STRATEGY="standards-first",b.STANDARD_PRIORITY=["lcc","ddc","udc","clc","bbk","tlc","cc"],b.isPrivate=!0,b.serializeSlim=Ur,b.serializeExtended=_r,b.serializeProv=Qr,b.deserializeSlim=$r,b.deserializeExtended=zr,b.deserializeProv=Vr;var D=b;ie(D.type,D);var _t=new Map,Gr={set(n,e){if(!e)throw new Error(`[apiKeyDictionary] Empty value passed for apiId "${n}".`);_t.set(n,e)},get(n){return _t.get(n)},require(n){let e=_t.get(n);if(!e)throw new Error(`[${n}] API key is not configured. Call apiKeyDictionary.set("${n}", "<your-key>") before using this adapter.`);return e}};function qr(n){if(n.length!==13)return{valid:!1,error:`Expected 13 digits, got ${n.length}`};let e=0;for(let r=0;r<12;r++)e+=parseInt(n[r],10)*(r%2===0?1:3);let t=(10-e%10)%10;return t!==parseInt(n[12],10)?{valid:!1,error:`Check digit mismatch: expected ${t}, got ${n[12]}`}:{valid:!0}}var Pe={standardId:"isbn",uriScheme:"ISBN",normalize(n){let e=n.replace(/[\s-]/g,"");if(e.length===10){let t="978"+e.slice(0,9),r=0;for(let i=0;i<12;i++)r+=parseInt(t[i],10)*(i%2===0?1:3);return t+(10-r%10)%10}return e},display(n){let e=Pe.normalize(n);return e.length===13?`${e.slice(0,3)}-${e[3]}-${e.slice(4,7)}-${e.slice(7,12)}-${e[12]}`:e},validate(n){if(!n)return{valid:!1,error:"ISBN is absent"};let e=Pe.normalize(n);return/^97[89][0-9]{10}$/.test(e)?qr(e):{valid:!1,error:`ISBN does not match pattern: ${e}`}},toLinkedDataUri(n){return`urn:isbn:${Pe.normalize(n)}`},apis:{openlibrary:{apiId:"openlibrary",name:"Open Library Books API",async fetch({isbn:n}){if(!n)return{};let e=await fetch(`https://openlibrary.org/api/books?bibkeys=ISBN:${n}&format=json&jscmd=data`);if(!e.ok)return{};let r=(await e.json())[`ISBN:${n}`]??{};return{title:r.title,authors:r.authors?.map(i=>i.name),publishDate:r.publish_date,pageCount:r.number_of_pages,coverUrl:r.cover?.medium,description:r.excerpts?.[0]?.text}}},googlebooks:{apiId:"googlebooks",name:"Google Books API",async fetch({isbn:n}){if(!n)return{};let e=Gr.require("googlebooks"),t=await fetch(`https://www.googleapis.com/books/v1/volumes?q=isbn:${n}&key=${e}`);if(!t.ok)return{};let i=(await t.json()).items?.[0]?.volumeInfo??{};return{title:i.title,authors:i.authors,publishedDate:i.publishedDate,pageCount:i.pageCount,language:i.language,description:i.description,thumbnail:i.imageLinks?.thumbnail}}}}};var Ee=oe.Book;T.register(Ee);function Wr(n){return H(Ee,n,F())}function Jr(n){return ee(Ee,n)}function Kr(n){return X(Ee,n,F())}function Yr(n){return te(Ee,n)}function Hr(n){return Z(Ee,n)}function Xr(n){return ne(Ee,n)}var E=class E extends k{constructor(e,t){super(E.type,e,t)}static Load(e,t){return A(E.type,e,t)}static Has(e,t){return x(E.type,e,t)}static async LoadAsync(e,t){return ae(E,e,t)}get prerequisites(){return this.getProp(8)}set prerequisites(e){this.dispatchString(8,e)}getPrerequisites(e){return this.getProp(8,e)}setPrerequisites(e,t){this.dispatchString(8,e,t)}get deweyDecimal(){return this.getProp(9)}set deweyDecimal(e){this.dispatchString(9,e)}getDeweyDecimal(e){return this.getProp(9,e)}setDeweyDecimal(e,t){this.dispatchString(9,e,t)}get locCallNumber(){return this.getProp(10)}set locCallNumber(e){this.dispatchString(10,e)}getLocCallNumber(e){return this.getProp(10,e)}setLocCallNumber(e,t){this.dispatchString(10,e,t)}get copyrightStatus(){return this.getProp(11)??0}set copyrightStatus(e){this.dispatchNumber(11,e)}getCopyrightStatus(e){return this.getProp(11,e)??0}setCopyrightStatus(e,t){this.dispatchNumber(11,e,t)}get textQuality(){return this.getProp(12)??0}set textQuality(e){this.dispatchNumber(12,e)}getTextQuality(e){return this.getProp(12,e)??0}setTextQuality(e,t){this.dispatchNumber(12,e,t)}get illustrations(){return this.getProp(13)??0}set illustrations(e){this.dispatchNumber(13,e)}getIllustrations(e){return this.getProp(13,e)??0}setIllustrations(e,t){this.dispatchNumber(13,e,t)}get educationQuality(){return this.getProp(14)??0}set educationQuality(e){this.dispatchNumber(14,e)}getEducationQuality(e){return this.getProp(14,e)??0}setEducationQuality(e,t){this.dispatchNumber(14,e,t)}get practicality(){return this.getProp(15)??0}set practicality(e){this.dispatchNumber(15,e)}getPracticality(e){return this.getProp(15,e)??0}setPracticality(e,t){this.dispatchNumber(15,e,t)}get accessibilityLevel(){return this.getProp(16)??0}set accessibilityLevel(e){this.dispatchNumber(16,e)}getAccessibilityLevel(e){return this.getProp(16,e)??0}setAccessibilityLevel(e,t){this.dispatchNumber(16,e,t)}get teacherMaterials(){return this.getProp(17)??!1}set teacherMaterials(e){this.dispatchNumber(17,e?1:0)}getTeacherMaterials(e){return this.getProp(17,e)??!1}setTeacherMaterials(e,t){this.dispatchNumber(17,e?1:0,t)}get pedagogicalScaffolding(){return this.getProp(18)??0}set pedagogicalScaffolding(e){this.dispatchNumber(18,e)}getPedagogicalScaffolding(e){return this.getProp(18,e)??0}setPedagogicalScaffolding(e,t){this.dispatchNumber(18,e,t)}get clarityOfExplanation(){return this.getProp(19)??0}set clarityOfExplanation(e){this.dispatchNumber(19,e)}getClarityOfExplanation(e){return this.getProp(19,e)??0}setClarityOfExplanation(e,t){this.dispatchNumber(19,e,t)}get workedExamples(){return this.getProp(20)??0}set workedExamples(e){this.dispatchNumber(20,e)}getWorkedExamples(e){return this.getProp(20,e)??0}setWorkedExamples(e,t){this.dispatchNumber(20,e,t)}get exercisesAndAssessment(){return this.getProp(21)??0}set exercisesAndAssessment(e){this.dispatchNumber(21,e)}getExercisesAndAssessment(e){return this.getProp(21,e)??0}setExercisesAndAssessment(e,t){this.dispatchNumber(21,e,t)}get selfStudyReadiness(){return this.getProp(22)??0}set selfStudyReadiness(e){this.dispatchNumber(22,e)}getSelfStudyReadiness(e){return this.getProp(22,e)??0}setSelfStudyReadiness(e,t){this.dispatchNumber(22,e,t)}get referenceApparatus(){return this.getProp(23)??0}set referenceApparatus(e){this.dispatchNumber(23,e)}getReferenceApparatus(e){return this.getProp(23,e)??0}setReferenceApparatus(e,t){this.dispatchNumber(23,e,t)}get safetyGuidance(){return this.getProp(24)??0}set safetyGuidance(e){this.dispatchNumber(24,e)}getSafetyGuidance(e){return this.getProp(24,e)??0}setSafetyGuidance(e,t){this.dispatchNumber(24,e,t)}get contentCurrency(){return this.getProp(25)??0}set contentCurrency(e){this.dispatchNumber(25,e)}getContentCurrency(e){return this.getProp(25,e)??0}setContentCurrency(e,t){this.dispatchNumber(25,e,t)}get ecoRegeneration(){return this.getProp(26)??0}set ecoRegeneration(e){this.dispatchNumber(26,e)}getEcoRegeneration(e){return this.getProp(26,e)??0}setEcoRegeneration(e,t){this.dispatchNumber(26,e,t)}get communityLiving(){return this.getProp(27)??0}set communityLiving(e){this.dispatchNumber(27,e)}getCommunityLiving(e){return this.getProp(27,e)??0}setCommunityLiving(e,t){this.dispatchNumber(27,e,t)}get promotesPeace(){return this.getProp(28)??0}set promotesPeace(e){this.dispatchNumber(28,e)}getPromotesPeace(e){return this.getProp(28,e)??0}setPromotesPeace(e,t){this.dispatchNumber(28,e,t)}get businessDevelopment(){return this.getProp(29)??0}set businessDevelopment(e){this.dispatchNumber(29,e)}getBusinessDevelopment(e){return this.getProp(29,e)??0}setBusinessDevelopment(e,t){this.dispatchNumber(29,e,t)}get inTagsIds(){return this.getBridgedRelationIdsSync(0,"in")}get inTags(){return w(D,this.inTagsIds)}isInTag(e){return this._in.get(0).has(e)}async inTagsDeep(e){return w(D,await this.collectDeepIds("inTags",e))}addIntoTag(e){if(this.isInTag(e))return;let t={operation:g.EditRelation,objectType:D.type,objectId:e,langId:0,relationId:4,action:y.Add,targetId:this.id};x(D.type,e)&&A(D.type,e).patch(t),this.applyRelationRaw("in",0,y.Add,e),f.addPatch(t)}removeFromTag(e){if(!this.isInTag(e))return;let t={operation:g.EditRelation,objectType:D.type,objectId:e,langId:0,relationId:4,action:y.Remove,targetId:this.id};x(D.type,e)&&A(D.type,e).patch(t),this.applyRelationRaw("in",0,y.Remove,e),f.addPatch(t)}get authorsIds(){return this.getBridgedRelationIdsSync(1,"has")}get authors(){return w(ge,this.authorsIds)}hasAuthor(e){return this._has.get(1).has(e)}addAuthor(e){this.hasAuthor(e)||this.dispatchRelation(1,y.Add,e)}removeAuthor(e){this.hasAuthor(e)&&this.dispatchRelation(1,y.Remove,e)}async authorsDeep(e){return w(ge,await this.collectDeepIds("authors",e))}getInstances(e=N.userLang){return this.getInstancesData(e).map((t,r)=>new zt(this,e,r,t))}getInstance(e,t=N.userLang){return this.getInstances(t)[e]}getDefaultInstance(e=N.userLang){let t=this.getInstances(e);return t.find(r=>r.isDefault)??t[0]}toPID(){return`DL:${this.id&0x8000000000000000n?"U":"C"}:BK:${se("BK",this.id)}`}toNativePID(){return this.toPID()}static fromPID(e){try{if(!e.startsWith("DL:"))return U("BK",e);let t=e.split(":");return t.length>=4&&t[2]==="BK"?U("BK",t[3]):null}catch{return null}}static async LoadInstance(e,t){let r=globalThis.ExternalIdCrosswalk?.instance;if(!r)throw new Error("ExternalIdCrosswalk not initialized \u2014 bootup incomplete");if(await r.whenReady(),e.startsWith("DL:C:DERIVED:")){let d=await r.resolveDerived(e,t);if(!d)return null;let l=await E.LoadAsync(BigInt(d.wireId));return l?{record:l,instanceIndex:d.instanceIndex}:null}if(e.startsWith("DL:C:")){let d=E.fromPID(e);if(d){let l=await E.LoadAsync(BigInt(d.wireId));return l?{record:l}:null}return null}let i=e.indexOf(":");if(i===-1)return null;let a=e.slice(0,i),s=e.slice(i+1),o=await r.resolveForInstance(a,s,t);if(!o)return null;let c=await E.LoadAsync(BigInt(o.wireId));return c?{record:c,instanceIndex:o.instanceIndex}:null}};E.type=0,E.UID_STRATEGY="native-only",E.STANDARD_PRIORITY=[],E.isPrivate=!0,E.serializeSlim=Wr,E.serializeExtended=Kr,E.serializeProv=Hr,E.deserializeSlim=Jr,E.deserializeExtended=Yr,E.deserializeProv=Xr;var P=E,zt=class{constructor(e,t,r,i){this.parent=e;this.lang=t;this.index=r;this.data=i}get isDefault(){return this.data.isDefault===!0}get language(){return this.data.language??""}set language(e){this.data.language=e;let t={operation:g.EditInstanceFieldString,objectType:P.type,objectId:this.parent.id,langId:O[this.lang]??0,instanceIndex:this.index,propertyId:30,value:e??""};this.parent.patch(t),f.addPatch(t)}get downloadTxId(){return this.data.downloadTxId??""}set downloadTxId(e){this.data.downloadTxId=e;let t={operation:g.EditInstanceFieldString,objectType:P.type,objectId:this.parent.id,langId:O[this.lang]??0,instanceIndex:this.index,propertyId:31,value:e??""};this.parent.patch(t),f.addPatch(t)}get method(){return this.data.method??0}set method(e){this.data.method=e;let t={operation:g.EditInstanceFieldNumber,objectType:P.type,objectId:this.parent.id,langId:O[this.lang]??0,instanceIndex:this.index,propertyId:32,value:e};this.parent.patch(t),f.addPatch(t)}get isAiTranslation(){return this.data.isAiTranslation??!1}set isAiTranslation(e){this.data.isAiTranslation=e;let t={operation:g.EditInstanceFieldNumber,objectType:P.type,objectId:this.parent.id,langId:O[this.lang]??0,instanceIndex:this.index,propertyId:33,value:e?1:0};this.parent.patch(t),f.addPatch(t)}get aiEngine(){return this.data.aiEngine??null}set aiEngine(e){this.data.aiEngine=e;let t={operation:g.EditInstanceFieldString,objectType:P.type,objectId:this.parent.id,langId:O[this.lang]??0,instanceIndex:this.index,propertyId:34,value:e??""};this.parent.patch(t),f.addPatch(t)}get addedAt(){return this.data.addedAt??0}set addedAt(e){this.data.addedAt=e;let t={operation:g.EditInstanceFieldNumber,objectType:P.type,objectId:this.parent.id,langId:O[this.lang]??0,instanceIndex:this.index,propertyId:35,value:e};this.parent.patch(t),f.addPatch(t)}get nbPages(){return this.data.nbPages??0}set nbPages(e){this.data.nbPages=e;let t={operation:g.EditInstanceFieldNumber,objectType:P.type,objectId:this.parent.id,langId:O[this.lang]??0,instanceIndex:this.index,propertyId:36,value:e};this.parent.patch(t),f.addPatch(t)}get sizeBytes(){return this.data.sizeBytes??0}set sizeBytes(e){this.data.sizeBytes=e;let t={operation:g.EditInstanceFieldNumber,objectType:P.type,objectId:this.parent.id,langId:O[this.lang]??0,instanceIndex:this.index,propertyId:37,value:e};this.parent.patch(t),f.addPatch(t)}get publisher(){return this.data.publisher??null}set publisher(e){this.data.publisher=e;let t={operation:g.EditInstanceFieldString,objectType:P.type,objectId:this.parent.id,langId:O[this.lang]??0,instanceIndex:this.index,propertyId:38,value:e??""};this.parent.patch(t),f.addPatch(t)}get publicationDate(){return this.data.publicationDate??null}set publicationDate(e){this.data.publicationDate=e;let t={operation:g.EditInstanceFieldString,objectType:P.type,objectId:this.parent.id,langId:O[this.lang]??0,instanceIndex:this.index,propertyId:39,value:e??""};this.parent.patch(t),f.addPatch(t)}get publishedAt(){return this.data.publishedAt??null}set publishedAt(e){this.data.publishedAt=e;let t={operation:g.EditInstanceFieldString,objectType:P.type,objectId:this.parent.id,langId:O[this.lang]??0,instanceIndex:this.index,propertyId:40,value:e??""};this.parent.patch(t),f.addPatch(t)}get qualityScore(){return this.data.qualityScore??0}set qualityScore(e){this.data.qualityScore=e;let t={operation:g.EditInstanceFieldNumber,objectType:P.type,objectId:this.parent.id,langId:O[this.lang]??0,instanceIndex:this.index,propertyId:41,value:e};this.parent.patch(t),f.addPatch(t)}get isbn(){return this.data.isbn??null}set isbn(e){this.data.isbn=e;let t={operation:g.EditInstanceFieldString,objectType:P.type,objectId:this.parent.id,langId:O[this.lang]??0,instanceIndex:this.index,propertyId:42,value:e??""};this.parent.patch(t),f.addPatch(t)}derivedSfcuid(e){let t=[this.language??""];return`DL:C:DERIVED:${e}:${t.map(r=>encodeURIComponent(String(r))).join(":")}`}get isbnNormalized(){return this.isbn?Pe.normalize(this.isbn):null}validateIsbn(){return Pe.validate(this.isbn)}sfcuid(){return this.isbn?`isbn:${Pe.normalize(this.isbn)}`:this.derivedSfcuid(this.parent.toPID())}get identityCluster(){let e=this.sfcuid(),t=[this.isbn?`isbn:${Pe.normalize(this.isbn)}`:null,this.parent.toPID()].filter(Boolean);return{sfcuid:e,native:this.parent.toPID(),aliases:t.filter(r=>r!==e),wireId:this.parent.id}}get description(){return this.parent.getDescription(this.lang)??""}set description(e){this.parent.setDescription(e,this.lang)}};ie(P.type,P);var Oe=oe.ClassificationSystem;T.register(Oe);function Zr(n){return H(Oe,n,F())}function ei(n){return ee(Oe,n)}function ti(n){return X(Oe,n,F())}function ni(n){return te(Oe,n)}function ri(n){return Z(Oe,n)}function ii(n){return ne(Oe,n)}var L=class L extends k{constructor(e,t){super(L.type,e,t)}static Load(e,t){return A(L.type,e,t)}static Has(e,t){return x(L.type,e,t)}static async LoadAsync(e,t){return ae(L,e,t)}get name(){return this.getProp(65)}set name(e){this.dispatchString(65,e)}getName(e){return this.getProp(65,e)}setName(e,t){this.dispatchString(65,e,t)}get institution(){return this.getProp(66)??!1}set institution(e){this.dispatchNumber(66,e?1:0)}getInstitution(e){return this.getProp(66,e)??!1}setInstitution(e,t){this.dispatchNumber(66,e?1:0,t)}get country(){return this.getProp(67)}set country(e){this.dispatchString(67,e)}getCountry(e){return this.getProp(67,e)}setCountry(e,t){this.dispatchString(67,e,t)}get language(){return this.getProp(30)}set language(e){this.dispatchString(30,e)}getLanguage(e){return this.getProp(30,e)}setLanguage(e,t){this.dispatchString(30,e,t)}get rootTagId(){return this.getProp(68)??0}set rootTagId(e){this.dispatchNumber(68,e)}getRootTagId(e){return this.getProp(68,e)??0}setRootTagId(e,t){this.dispatchNumber(68,e,t)}get inRootTagIds(){return this.getBridgedRelationIdsSync(5,"in")}get inRootTag(){return w(D,this.inRootTagIds)}isInRootTag(e){return this._in.get(5).has(e)}async rootTagDeep(e){return w(D,await this.collectDeepIds("rootTag",e))}addIntoRootTag(e){this.isInRootTag(e)||this.dispatchRelation(5,y.Add,e)}removeFromRootTag(e){this.isInRootTag(e)&&this.dispatchRelation(5,y.Remove,e)}get tagsIds(){return this.getBridgedRelationIdsSync(3,"has")}get tags(){return w(D,this.tagsIds)}hasTag(e){return this._has.get(3).has(e)}addTag(e){this.hasTag(e)||this.dispatchRelation(3,y.Add,e)}removeTag(e){this.hasTag(e)&&this.dispatchRelation(3,y.Remove,e)}async tagsDeep(e){return w(D,await this.collectDeepIds("tags",e))}get booksIds(){return this.getBridgedRelationIdsSync(4,"has")}get books(){return w(P,this.booksIds)}hasBook(e){return this._has.get(4).has(e)}addBook(e){this.hasBook(e)||this.dispatchRelation(4,y.Add,e)}removeBook(e){this.hasBook(e)&&this.dispatchRelation(4,y.Remove,e)}async booksDeep(e){return w(P,await this.collectDeepIds("books",e))}toPID(){return`DL:${this.id&0x8000000000000000n?"U":"C"}:CS:${se("CS",this.id)}`}toNativePID(){return this.toPID()}static fromPID(e){try{if(!e.startsWith("DL:"))return U("CS",e);let t=e.split(":");return t.length>=4&&t[2]==="CS"?U("CS",t[3]):null}catch{return null}}static async byClassificationSystem(e,t){let r=t?.lang??N.userLang,i=Array.from(re.getIndex(L.type,"byClassificationSystem").getUidsByRawValue(e,r)),a=t?.includeDeleted??!1;return(await w(L,i)).filter(o=>a||!o.deleted)}static getAvailableClassificationSystems(e,t){let r=t?.lang??N.userLang;return re.getIndex(L.type,"byClassificationSystem").getAvailableKeys([e],r)}static async byClassificationSystemStandard(e,t){return L.byClassificationSystem(e,t)}static async byClassificationSystemImported(e,t){return L.byClassificationSystem(`imported-${e}`,t)}static async byClassificationSystemCustom(e,t){return L.byClassificationSystem(`custom-${e}`,t)}static async byClassificationSystemOrigin(e){return L.byClassificationSystem("origin",e)}static getAvailableStandardSystems(e){return L.getAvailableClassificationSystems("standard",e)}static getAvailableImportedSystems(e){return L.getAvailableClassificationSystems("imported",e)}static getAvailableCustomSystems(e){return L.getAvailableClassificationSystems("custom",e)}};L.type=3,L.UID_STRATEGY="native-only",L.STANDARD_PRIORITY=[],L.isPrivate=!0,L.serializeSlim=Zr,L.serializeExtended=ti,L.serializeProv=ri,L.deserializeSlim=ei,L.deserializeExtended=ni,L.deserializeProv=ii;var Qe=L;ie(Qe.type,Qe);var je=oe.Post;T.register(je);function ai(n){return H(je,n,F())}function si(n){return ee(je,n)}function oi(n){return X(je,n,F())}function ci(n){return te(je,n)}function di(n){return Z(je,n)}function li(n){return ne(je,n)}var C=class C extends k{constructor(e,t){super(C.type,e,t)}static Load(e,t){return A(C.type,e,t)}static Has(e,t){return x(C.type,e,t)}static async LoadAsync(e,t){return ae(C,e,t)}get isPinned(){return this.getProp(70)??!1}set isPinned(e){this.dispatchNumber(70,e?1:0)}getIsPinned(e){return this.getProp(70,e)??!1}setIsPinned(e,t){this.dispatchNumber(70,e?1:0,t)}get isLocked(){return this.getProp(71)??!1}set isLocked(e){this.dispatchNumber(71,e?1:0)}getIsLocked(e){return this.getProp(71,e)??!1}setIsLocked(e,t){this.dispatchNumber(71,e?1:0,t)}get inTagsIds(){return this.getBridgedRelationIdsSync(0,"in")}get inTags(){return w(D,this.inTagsIds)}isInTag(e){return this._in.get(0).has(e)}async inTagsDeep(e){return w(D,await this.collectDeepIds("inTags",e))}addIntoTag(e){this.isInTag(e)||this.dispatchRelation(0,y.Add,e)}removeFromTag(e){this.isInTag(e)&&this.dispatchRelation(0,y.Remove,e)}get tagsIds(){return this.getBridgedRelationIdsSync(3,"has")}get tags(){return w(D,this.tagsIds)}hasTag(e){return this._has.get(3).has(e)}addTag(e){this.hasTag(e)||this.dispatchRelation(3,y.Add,e)}removeTag(e){this.hasTag(e)&&this.dispatchRelation(3,y.Remove,e)}async tagsDeep(e){return w(D,await this.collectDeepIds("tags",e))}get inParentPostId(){return this.getBridgedRelationIdsSync(6,"in")[0]??null}get inParentPost(){let e=this.inParentPostId;return e?an(C,e):Promise.resolve(null)}addIntoParentPost(e){let t={operation:g.EditRelation,objectType:C.type,objectId:e,langId:0,relationId:7,action:y.Add,targetId:this.id};x(C.type,e)&&A(C.type,e).patch(t),this.applyRelationRaw("in",6,y.Add,e),f.addPatch(t)}removeFromParentPost(e){let t={operation:g.EditRelation,objectType:C.type,objectId:e,langId:0,relationId:7,action:y.Remove,targetId:this.id};x(C.type,e)&&A(C.type,e).patch(t),this.applyRelationRaw("in",6,y.Remove,e),f.addPatch(t)}set inParentPost(e){let t=this.inParentPostId;t!==e&&(t!=null&&this.removeFromParentPost(t),e!=null&&this.addIntoParentPost(e))}get repliesIds(){return this.getBridgedRelationIdsSync(7,"has")}get replies(){return w(C,this.repliesIds)}hasReplie(e){return this._has.get(7).has(e)}addReplie(e){this.hasReplie(e)||this.dispatchRelation(7,y.Add,e)}removeReplie(e){this.hasReplie(e)&&this.dispatchRelation(7,y.Remove,e)}async repliesDeep(e){return w(C,await this.collectDeepIds("replies",e))}toPID(){return`DL:${this.id&0x8000000000000000n?"U":"C"}:PO:${se("PO",this.id)}`}toNativePID(){return this.toPID()}static fromPID(e){try{if(!e.startsWith("DL:"))return U("PO",e);let t=e.split(":");return t.length>=4&&t[2]==="PO"?U("PO",t[3]):null}catch{return null}}};C.type=4,C.UID_STRATEGY="native-only",C.STANDARD_PRIORITY=[],C.isPrivate=!1,C.serializeSlim=ai,C.serializeExtended=oi,C.serializeProv=di,C.deserializeSlim=si,C.deserializeExtended=ci,C.deserializeProv=li;var Ve=C;ie(Ve.type,Ve);var gt={0:P,1:ge,2:D,3:Qe,4:Ve};var nt=class extends Error{constructor(e,t){super(`Sidecar temporarily unavailable (${t}): ${e}`),this.name="SidecarFetchError"}},ui=18,Un=[500,1500,4e3],pi=n=>{if(n.byteLength!==2)return!1;let e=new Uint8Array(n);return e[0]===123&&e[1]===125};async function gi(n,e=!1){let t;for(let r=0;r<Un.length+1;r++)try{let i=r===0?n:`${n}${n.includes("?")?"&":"?"}_retry=${r}`,a=await fetch(i,r===0?void 0:{cache:"reload"});if(!a.ok)throw new nt(n,`HTTP ${a.status}`);let s=await a.arrayBuffer();if(s.byteLength<ui&&!(e&&pi(s)))throw new nt(n,`only ${s.byteLength} byte(s) returned`);return s}catch(i){t=i;let a=Un[r];a!==void 0&&await new Promise(s=>setTimeout(s,a))}throw t instanceof Error?t:new nt(n,String(t))}async function mi(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(),i=t.readable.getReader();r.write(new Uint8Array(n)),r.close();let a=[],s=!1;for(;!s;){let{value:l,done:u}=await i.read();l&&a.push(l),s=u}let o=a.reduce((l,u)=>l+u.byteLength,0),c=new Uint8Array(o),d=0;for(let l of a)c.set(l,d),d+=l.byteLength;return c.buffer}async function Qt(n,e=!1){return mi(await gi(n,e))}var Ge=new Map,mt=["eng"];var yi=async n=>{try{return await Qt(n,!0)}catch(e){let t=e instanceof Error?e.message:String(e);console.warn(`[worker] Optional AI sidecar unavailable; continuing without AI data: ${t}`);return}},Vt=async n=>Me(await Qt(n)),hi=n=>{let e=new Map,t=n?.columns.get("ids");if(t&&!Array.isArray(t))for(let r=0;r<t.length;r++)e.set(BigInt(t[r]),r);return e},Gt=async(n,e,t)=>{let r=t?.additive??!1;console.log(`[worker] initialLoad started: ${n.length} sidecar set(s), langs=${e.join(",")}, additive=${r}`),r?mt=Array.from(new Set([...mt,...e])):(mt=e,Ge.clear());let i=[];for(let{objectType:o,lang:c,slimUrl:d,extendedUrl:l,provUrl:u,aiUrl:p}of n){let[m,S,R,v]=await Promise.all([d?Vt(d):Promise.resolve(void 0),l?Vt(l):Promise.resolve(void 0),u?Vt(u):Promise.resolve(void 0),p?yi(p):Promise.resolve(void 0)]),h;if(v)try{h=Xt(v)}catch(ce){console.warn(`[worker] Invalid optional AI sidecar; continuing without AI data: ${ce.message}`)}let M={objectType:o,lang:c,slim:m,extended:S,prov:R,ai:h,idIndex:hi(m)},_=Ge.get(o);_||(_=new Map,Ge.set(o,_));let I=_.get(c);r&&I?I.push(M):_.set(c,[M]),i.push(M)}console.log("[worker] fetching local patches...");let a=await bn(),s=Object.values(a).reduce((o,c)=>o+c.length,0);return console.log(`[worker] fetched ${s} total patches (${Object.keys(a).length} users): mine=${(a.mine??[]).length}`),console.log("[worker] initialLoad complete"),{sidecars:i,patches:a}},$n=(n,e)=>{let t=[],r=Ge.get(n);if(!r)return t;for(let i of mt){let a=r.get(i);if(a)for(let s of a){let o=s.idIndex.get(e);if(!(typeof o>"u")){t.push({lang:i,slim:s.slim?it(s.slim,o):void 0,extended:s.extended?it(s.extended,o):void 0,prov:s.prov?it(s.prov,o):void 0});break}}}return t};var yt=(n,e,t,r)=>`${t}:${n}:${e}:${r}`;function fi(n,e,t){let r=T.get(n);if(!r)return!1;let i=new Map(r.instanceFields?.map(s=>[s.name,s.propId])??[]);for(let s of Object.values(r.standardPks??{})){let o=i.get(s);if(o===void 0)continue;let c=e[s],d=t.get(o);if(c!==void 0&&d!==void 0)return c===d}let a=i.get("downloadTxId");if(a!==void 0){let s=e.downloadTxId,o=t.get(a);if(s!==void 0&&o!==void 0)return s===o}return!1}async function bi(n,e,t,r,i){let a=new Map;for(let d of t)(d.operation===g.EditInstanceFieldString||d.operation===g.EditInstanceFieldNumber)&&d.objectType===e.objectType&&d.objectId===e.objectId&&d.langId===e.langId&&d.instanceIndex===e.instanceIndex&&a.set(d.propertyId,d.value);let s=n.getInstancesData(r),o=-1;for(let d=0;d<s.length;d++)if(fi(e.objectType,s[d],a)){o=d;break}if(o===e.instanceIndex)return;let c=o;o===-1&&(c=s.length,n.growInstances(r,c)),await i.instanceRemapStore.put(e.objectId,e.langId,i.creatorUsername,e.instanceIndex,c)}async function _n(n,e){if(n.operation===g.CreateRecord){if(e.record)return;let r=n,i=gt[r.objectType];if(!i)throw new Error(`[applyPatchWithContext] Unknown objectType ${r.objectType}`);let a=new i(k.createNewRequest(r.objectId),e.creatorUsername);J(r.objectType,a,e.creatorUsername),ve(r.objectType,r.objectId,e.creatorUsername),await e.localRecordTable.putIfAbsent({wireId:r.objectId,creatorUsername:e.creatorUsername,objectType:r.objectType,createdAt:e.blockTimestamp,status:"active"});return}if(n.operation===g.AddInstance){let r=n;if(!e.record&&!x(r.objectType,r.objectId,e.creatorUsername)){console.warn("[applyPatchWithContext] AddInstance target absent; skipping");return}let i=e.record??A(r.objectType,r.objectId,e.creatorUsername),a=Be[r.langId];if(!a)return;i.getInstancesData(a).length>r.instanceIndex?await bi(i,r,e.batchRemainder,a,e):e.record?i.patch(r,!1,!1):i.patch(r,!1);return}let t=n;if(t.operation===g.EditInstanceFieldString||t.operation===g.EditInstanceFieldNumber){let r=e.record??(x(t.objectType,t.objectId,e.creatorUsername)?A(t.objectType,t.objectId,e.creatorUsername):void 0),i=await e.instanceRemapStore.get(t.objectId,t.langId,e.creatorUsername,t.instanceIndex)??r?.instanceRemaps?.find(([a])=>a===yt(t.objectId,t.langId,e.creatorUsername,t.instanceIndex))?.[1];i!==void 0&&(t.instanceIndex=i)}if(t.objectType!==void 0&&t.objectId!==void 0){if(!e.record&&!x(t.objectType,t.objectId,e.creatorUsername)){console.warn("[applyPatchWithContext] Edit target absent; skipping");return}let r=e.record??A(t.objectType,t.objectId,e.creatorUsername);if(e.record?r.patch(n,!1,!1):r.patch(n,!1),n.operation===g.EditPropertyString||n.operation===g.EditPropertyNumber){let i=n.provenance;if(i!==void 0){let a=n,s=Be[a.langId]??"eng";r.setProvenanceRaw(s,a.propertyId,i)}}}}async function zn(n,e){let t=structuredClone(e),r=o=>o.objectType===n.schema.objectId&&BigInt(o.objectId)===n.id,i=o=>o.username??o.creatorUsername??"mine",a=new Map(n.instanceRemaps),s={get:async(...o)=>a.get(yt(...o)),put:async(o,c,d,l,u)=>{a.set(yt(o,c,d,l),u)}};for(let o=0;o<t.length;o++){let c=t[o];if(r(c)&&await _n(c,{record:n,creatorUsername:i(c),localRecordTable:Xe,blockTimestamp:0,instanceRemapStore:s,batchRemainder:t.slice(o+1).filter(d=>r(d)&&i(d)===i(c))}),c.operation===g.EditRelation){let d=Y(c);d&&r(d)&&n.patch(d,!1,!1)}}n.instanceRemaps=[...a]}var Qn=new WeakMap;function Ii(n){let e=Qn.get(n);if(e)return e;e=new Map;let t=T.get(n.objectType);for(let r of t?.relations??[]){if(r.direction!=="has"||!r.inverted)continue;let i=rt(r),a=n.extended?.relations?.get(i)??n.extended?.[i];if(a)for(let[s,o]of n.idIndex)for(let c of a[o]??[]){let d=Y({operation:g.EditRelation,objectType:n.objectType,objectId:s,langId:0,relationId:r.relationId,targetId:BigInt(c),action:y.Add});if(!d)continue;let l=`${d.objectType}:${d.objectId}`,u=e.get(l)??[];u.push(d),e.set(l,u)}}return Qn.set(n,e),e}async function Vn(n,e,t="mine"){let r=gt[n];if(!r)throw new Error(`Unknown objectType ${n}`);let i=(await In(n,e)).filter(c=>$(c)&&(!Q(e)||c.username===t)),a=c=>c.objectType===n&&BigInt(c.objectId)===e,s=structuredClone($n(n,e));if(!s.length&&!i.some(c=>a(c)&&$(c)&&c.operation===g.CreateRecord))return null;let o=new r(k.createNewRequest(e),t);for(let c of s)c.slim&&o.mergeSlim(c.slim,0,c.lang),c.extended&&o.mergeExtended(c.extended,0,c.lang),c.prov&&o.mergeProv(c.prov,0,c.lang);for(let c of Ge.values())for(let d of c.values())for(let l of d){if(l.objectType===n){let u=l.ai?.get(e);if(u)for(let[p,m]of u)for(let[S,R]of m)for(let v of R)o.attachAiResult(p,S,l.lang,v)}for(let u of Ii(l).get(`${n}:${e}`)??[])o.patch(u,!1,!1)}return await zn(o,i.filter(c=>$(c))),o.hydratedThrough=i.reduce((c,d)=>Math.max(c,d.order??0),0),o.snapshot()}var ht=class{constructor(){self.onmessage=e=>this._onMessage(e.data),self.addEventListener("error",e=>{console.log("worker error",e)}),this.onCreate()}onCreate(){}_onMessage(e){let{id:t,data:r}=e;this.onRequest(t,r)}onRequest(e,t){}_sendResponse(e,t,r={}){let a=Object.assign({},{transferables:[],error:void 0},r),s=a.error;self.postMessage({id:e,result:{data:t,error:s}},a.transferables.length>0?a.transferables:void 0)}postEvent(e,t){self.postMessage({eventName:e,payload:t})}sendResponse(e,t=void 0,r=[]){this._sendResponse(e,t,{transferables:r})}sendError(e,t){console.trace(t),console.error(`[worker] sendError(): id: ${e}, error: ${t.message}`),this._sendResponse(e,void 0,{error:t})}};var qt=class extends ht{constructor(){super(),this.postEvent("workerready",!0)}onRequest(e,t){let{cmd:r,payload:i}=t;switch(r){case"init":{let{sidecars:a,selectedLangs:s}=i;Gt(a,s).then(o=>{this.sendResponse(e,o)}).catch(o=>{console.error(`[patch-worker] caught error: ${o.message}`),this.sendError(e,o)});break}case"savePatches":{let{username:a,patches:s}=i;Et(a,s).then(()=>{this.sendResponse(e)}).catch(o=>{console.error(`[patch-worker] caught error: ${o.message}`),this.sendError(e,o)});break}case"getRecord":{let{objectType:a,id:s,creatorUsername:o}=i;Vn(a,s,o).then(c=>this.sendResponse(e,c)).catch(c=>this.sendError(e,c));break}case"loadLanguage":{let{lang:a,sidecars:s}=i;Gt(s,[a],{additive:!0}).then(o=>{this.sendResponse(e,o)}).catch(o=>{console.error(`[patch-worker] LoadLanguage error: ${o.message}`),this.sendError(e,o)});break}default:console.error(`[worker] unknown action: ${r}`)}}},Si=async()=>(console.log("starting models_v2 patch worker..."),await le(),new qt,console.log("patch worker instantiated"),!0);Si().then(console.log).catch(console.error);
|
|
7
|
+
/*!
|
|
8
|
+
D-Open Code Sovereign Licence 1.1 · © 2026 Antoine LUCAS · SPDX-License-Identifier: LicenseRef-DOCSL-1.1
|
|
9
|
+
Non-commercial use of unmodified copies only. By using this file you accept the Licence, incl. USD 50M liquidated damages (s 16.4).
|
|
10
|
+
Full text: https://registry.worldbibliotech.com/licence and the LICENSE file · Contact: admin@pondenterprise.com
|
|
11
|
+
*/
|
|
2
12
|
//# sourceMappingURL=patch-worker.js.map
|