@the_library/public 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/{Book-K86JRm42.d.ts → Book-CYyj_y_4.d.ts} +22 -1
- package/dist/{bookSearchService-BmFHrvsv.d.ts → bookSearchService-YQskauJS.d.ts} +1 -1
- 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.d.ts +13 -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 +33 -23
- 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.d.ts +3 -4
- package/dist/models/index.js +6 -1
- package/dist/models/index.js.map +1 -1
- package/dist/models/models.d.ts +2 -3
- 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.d.ts +2 -3
- 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 +18 -17
- 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.d.ts
CHANGED
|
@@ -2,11 +2,10 @@ export { CLASSIFICATIONSYSTEM_PROP_IDS, ClassificationSystem, ClassificationSyst
|
|
|
2
2
|
import { V as VersionsFile, c as VersionLayout, u as uid, O as Orm, Q as QueueItem, d as IThread, e as LocalOp, A as AnyActionPatch, E as EvmPayload, f as AnyPatch, F as FileRecord, g as BookData, L as Lang } from '../orm-MJTHCG9E.js';
|
|
3
3
|
export { aT as AGE_GRADE_BAND_PROP, a9 as ActionOperation, h as ActionTypes, ak as AddInstanceObj, aq as BaseActionPatch, n as BaseLocalOp, ad as BasePatch, B as BridgeDefinition, K as BridgeLink, J as BridgeRelation, M as BridgeSystemConversions, C as CommonOrmJson, aI as Config, aj as CreateRecordObj, aF as CryptoRandomUidFactory, aW as DELETED_PROP, aR as DESCRIPTION_PROP, D as DeepCollectOptions, am as DeleteBridgeObj, as as DownloadActionObj, k as DownloadState, az as DownloadsByType, ah as EditInstanceFieldNumberObj, ag as EditInstanceFieldStringObj, af as EditPropertyNumberObj, ae as EditPropertyStringObj, ai as EditRelationObj, ao as EnumLayout, aB as FavoritesByTypes, G as GetRecordPayload, b1 as INSTANCE_REMAPS_COLUMN, w as InitPayload, I as InstanceData, m as LANG_AGNOSTIC, a8 as LANG_ID_DECODE, a7 as LANG_ID_ENCODE, aX as LIFECYCLE_STATUS_PROP, aH as LifecycleStatus, y as LoadLanguagePayload, al as MergeProposalObj, Z as ModelDefinition, aS as ORIGINAL_LANG_PROP, aU as PREVIEW_TX_ID_PROP, b0 as PROPERTY_SLOTS_COLUMN, aN as PROVENANCE_AI, aP as PROVENANCE_CONSENSUS, aO as PROVENANCE_MANUAL_LOCAL, aM as PROVENANCE_UNSET, p as PartOp, a1 as PatchAction, a0 as PatchOperation, ay as PopulateStatsStore, ap as PropLayout, a$ as PropertySlots, P as PropertyType, b2 as REPLAY_METADATA_COLUMNS, at as RateActionObj, o as RateOp, au as RatePartActionObj, q as RatePartOp, i as Rating, R as RecordIdentityCluster, $ as Registry, aV as SAFE_PROP, x as SavePatchesPayload, Y as SchemaIndex, T as SchemaInstanceField, N as SchemaProp, _ as SchemaRegistry, U as SchemaRelation, b as SerializedCommonOrmJson, av as ShareActionObj, r as ShareOp, aw as SharePartActionObj, s as SharePartOp, S as SidecarType, a as SidecarUrls, H as StatSummary, aC as Stats, aQ as TITLE_PROP, aD as UidFactory, an as VersionEntry, ar as VisitActionObj, aA as VisitsByType, W as WorkerCommands, j as WorkerEvent, z as WorkerPayload, a6 as evmToPatch, l as fromJsonId, a_ as inflateOrmJson, aa as isActionOperation, v as isEvmPatch, aE as isUserCreated, aG as loadOrInitUidFactory, ab as packActionPatch, a2 as packPatch, a5 as patchToEvm, X as relationColName, a4 as resolveLayout, b3 as scalarProperties, aZ as serializeMapOfMaps, aY as serializeMapOfSets, aJ as setDefaultLanguage, aK as setDefaultProvenance, aL as setLoadAiSidecars, ax as subscribeStats, t as toJsonId, ac as unpackActionPatch, a3 as unpackPatch } from '../orm-MJTHCG9E.js';
|
|
4
4
|
export { C as COIN_LEDGER_POST_TITLE_PREFIX, L as LevelState, P as POINTS_PER_LEVEL, a as POINTS_PER_SILVER_COIN, S as SILVER_COINS_PER_LEVEL, g as getLevel, s as subscribeLevel } from '../level-state-DXqglpAX.js';
|
|
5
|
-
import { T as Tag, B as Book, e as BookInput, D as TagInput, o as PersonInput } from '../Book-
|
|
6
|
-
export { a as BOOK_PROP_IDS, c as BookExtendedCols, k as BookInstance, d as BookProvCols, b as BookSlimCols, N as NewBookWithId, x as NewPersonWithId, K as NewTagWithId, P as PERSON_PROP_IDS, w as Person, m as PersonExtendedCols, n as PersonProvCols, l as PersonSlimCols, y as TAG_PROP_IDS, A as TagExtendedCols, C as TagProvCols, z as TagSlimCols, h as deserializeBookExtended, j as deserializeBookProv, f as deserializeBookSlim, t as deserializePersonExtended, v as deserializePersonProv, q as deserializePersonSlim, H as deserializeTagExtended, J as deserializeTagProv, F as deserializeTagSlim, g as serializeBookExtended, i as serializeBookProv, s as serializeBookSlim, r as serializePersonExtended, u as serializePersonProv, p as serializePersonSlim, G as serializeTagExtended, I as serializeTagProv, E as serializeTagSlim } from '../Book-
|
|
5
|
+
import { T as Tag, B as Book, e as BookInput, D as TagInput, o as PersonInput } from '../Book-CYyj_y_4.js';
|
|
6
|
+
export { a as BOOK_PROP_IDS, c as BookExtendedCols, k as BookInstance, d as BookProvCols, b as BookSlimCols, N as NewBookWithId, x as NewPersonWithId, K as NewTagWithId, P as PERSON_PROP_IDS, w as Person, m as PersonExtendedCols, n as PersonProvCols, l as PersonSlimCols, y as TAG_PROP_IDS, A as TagExtendedCols, C as TagProvCols, z as TagSlimCols, h as deserializeBookExtended, j as deserializeBookProv, f as deserializeBookSlim, t as deserializePersonExtended, v as deserializePersonProv, q as deserializePersonSlim, H as deserializeTagExtended, J as deserializeTagProv, F as deserializeTagSlim, g as serializeBookExtended, i as serializeBookProv, s as serializeBookSlim, r as serializePersonExtended, u as serializePersonProv, p as serializePersonSlim, G as serializeTagExtended, I as serializeTagProv, E as serializeTagSlim } from '../Book-CYyj_y_4.js';
|
|
7
7
|
export { A as AiResultEntry, b as ColumnData, C as ColumnType, I as InstanceFieldSpec, P as ParsedSidecar, a as SIDECAR_FORMAT_VERSION, S as SIDECAR_MAGIC, g as SidecarColumn, d as SidecarHeader, j as SidecarInput, h as SidecarRelationInput, e as colsFromSidecar, c as columnTypeForBits, k as deserializeAiSidecar, f as extractRecordCols, i as instanceSpecFromFields, p as parseSidecar, s as serializeAiSidecar, w as writeSidecar } from '../enriched-index-T0sDG7JR.js';
|
|
8
|
-
export { A as AiResultsMap, o as BOOK_CURATABLE_PRESETS, p as BOOK_FIELD_WEIGHTS, n as BOOK_SEARCH_SCHEMA, B as BookSearchLangState, D as BookSearchService, t as BookSearchSource, z as BookSearchStatus, P as PresetFilter, c as SEARCH_SHARD_FORMAT_VERSION, b as SEARCH_SHARD_MAGIC, g as SearchDocInput, S as SearchFilters, x as SearchHit, y as SearchIndex, w as SearchIndexOptions, d as SearchPresetKind, e as SearchPresetSpec, v as SearchQuery, a as SearchResult, j as SearchShard, i as SearchShardPreset, h as SearchShardRelation, f as SearchShardSchema, F as bookSearch, u as bookSearchDoc, q as bookSearchPresets, C as bookSearchSourceFromRecord, l as buildSearchShard, k as compareBigint, m as deserializeSearchShard, E as expandTopics, r as latestAiValue, s as serializeSearchShard } from '../bookSearchService-
|
|
9
|
-
import '@the_library/db_schemas/enums';
|
|
8
|
+
export { A as AiResultsMap, o as BOOK_CURATABLE_PRESETS, p as BOOK_FIELD_WEIGHTS, n as BOOK_SEARCH_SCHEMA, B as BookSearchLangState, D as BookSearchService, t as BookSearchSource, z as BookSearchStatus, P as PresetFilter, c as SEARCH_SHARD_FORMAT_VERSION, b as SEARCH_SHARD_MAGIC, g as SearchDocInput, S as SearchFilters, x as SearchHit, y as SearchIndex, w as SearchIndexOptions, d as SearchPresetKind, e as SearchPresetSpec, v as SearchQuery, a as SearchResult, j as SearchShard, i as SearchShardPreset, h as SearchShardRelation, f as SearchShardSchema, F as bookSearch, u as bookSearchDoc, q as bookSearchPresets, C as bookSearchSourceFromRecord, l as buildSearchShard, k as compareBigint, m as deserializeSearchShard, E as expandTopics, r as latestAiValue, s as serializeSearchShard } from '../bookSearchService-YQskauJS.js';
|
|
10
9
|
import '@the_library/standard-adapters/lcc';
|
|
11
10
|
import '@the_library/standard-adapters/ddc';
|
|
12
11
|
import '@the_library/standard-adapters/udc';
|
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":"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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"]}
|
|
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.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { T as Tag, B as Book } from '../Book-
|
|
2
|
-
export { a as BOOK_PROP_IDS, c as BookExtendedCols, e as BookInput, k as BookInstance, d as BookProvCols, b as BookSlimCols, N as NewBookWithId, x as NewPersonWithId, K as NewTagWithId, P as PERSON_PROP_IDS, w as Person, m as PersonExtendedCols, o as PersonInput, n as PersonProvCols, l as PersonSlimCols, y as TAG_PROP_IDS, A as TagExtendedCols, D as TagInput, C as TagProvCols, z as TagSlimCols, h as deserializeBookExtended, j as deserializeBookProv, f as deserializeBookSlim, t as deserializePersonExtended, v as deserializePersonProv, q as deserializePersonSlim, H as deserializeTagExtended, J as deserializeTagProv, F as deserializeTagSlim, g as serializeBookExtended, i as serializeBookProv, s as serializeBookSlim, r as serializePersonExtended, u as serializePersonProv, p as serializePersonSlim, G as serializeTagExtended, I as serializeTagProv, E as serializeTagSlim } from '../Book-
|
|
1
|
+
import { T as Tag, B as Book } from '../Book-CYyj_y_4.js';
|
|
2
|
+
export { a as BOOK_PROP_IDS, c as BookExtendedCols, e as BookInput, k as BookInstance, d as BookProvCols, b as BookSlimCols, N as NewBookWithId, x as NewPersonWithId, K as NewTagWithId, P as PERSON_PROP_IDS, w as Person, m as PersonExtendedCols, o as PersonInput, n as PersonProvCols, l as PersonSlimCols, y as TAG_PROP_IDS, A as TagExtendedCols, D as TagInput, C as TagProvCols, z as TagSlimCols, h as deserializeBookExtended, j as deserializeBookProv, f as deserializeBookSlim, t as deserializePersonExtended, v as deserializePersonProv, q as deserializePersonSlim, H as deserializeTagExtended, J as deserializeTagProv, F as deserializeTagSlim, g as serializeBookExtended, i as serializeBookProv, s as serializeBookSlim, r as serializePersonExtended, u as serializePersonProv, p as serializePersonSlim, G as serializeTagExtended, I as serializeTagProv, E as serializeTagSlim } from '../Book-CYyj_y_4.js';
|
|
3
3
|
import { O as Orm, C as CommonOrmJson, b as SerializedCommonOrmJson, u as uid, L as Lang, D as DeepCollectOptions } from '../orm-MJTHCG9E.js';
|
|
4
|
-
import '@the_library/db_schemas/enums';
|
|
5
4
|
import '@the_library/standard-adapters/lcc';
|
|
6
5
|
import '@the_library/standard-adapters/ddc';
|
|
7
6
|
import '@the_library/standard-adapters/udc';
|
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
|