@instantdb/react 0.22.47-experimental.sync-table.19154203588.1 → 0.22.47-experimental.sync-table.19174988015.1
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/dist/standalone/index.js
CHANGED
|
@@ -3206,7 +3206,7 @@ function xr(t) {
|
|
|
3206
3206
|
}, e;
|
|
3207
3207
|
}, {});
|
|
3208
3208
|
}
|
|
3209
|
-
const qn = "v0.22.47-experimental.sync-table.
|
|
3209
|
+
const qn = "v0.22.47-experimental.sync-table.19174988015.1";
|
|
3210
3210
|
function Zu(t, e) {
|
|
3211
3211
|
return {
|
|
3212
3212
|
info: t ? (...n) => console.info(...n, e()) : () => {
|
|
@@ -3801,7 +3801,7 @@ class ha {
|
|
|
3801
3801
|
subscribe(e, n) {
|
|
3802
3802
|
const r = z(e);
|
|
3803
3803
|
return this.callbacks[r] = this.callbacks[r] || [], this.callbacks[r].push(n), this.initSubscription(e, r, n), (i) => {
|
|
3804
|
-
this.unsubscribe(r, n, i);
|
|
3804
|
+
this.unsubscribe(r, n, i == null ? void 0 : i.keepSubscription);
|
|
3805
3805
|
};
|
|
3806
3806
|
}
|
|
3807
3807
|
unsubscribe(e, n, r) {
|
|
@@ -5597,6 +5597,9 @@ class Ba {
|
|
|
5597
5597
|
queryOnce(e, n) {
|
|
5598
5598
|
return this._reactor.queryOnce(e, n);
|
|
5599
5599
|
}
|
|
5600
|
+
_syncTableExperimental(e, n) {
|
|
5601
|
+
return this._reactor.subscribeTable(e, n);
|
|
5602
|
+
}
|
|
5600
5603
|
}
|
|
5601
5604
|
function Gr(t) {
|
|
5602
5605
|
if (!t)
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
(function(G,k){typeof exports=="object"&&typeof module<"u"?k(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],k):(G=typeof globalThis<"u"?globalThis:G||self,k(G.instantReact={},G.React))})(this,function(G,k){"use strict";function z(t){if(typeof t=="number")return(Math.abs(t*2654435761)>>>0).toString(16);if(typeof t=="boolean")return t?"1":"0";if(t===null)return"null";if(t===void 0)return"undefined";if(typeof t=="string"){let e=2166136261;for(let n=0;n<t.length;n++)e^=t.charCodeAt(n),e+=(e<<1)+(e<<4)+(e<<7)+(e<<8)+(e<<24),e=e>>>0;return e.toString(16)}if(Array.isArray(t)){let e=2166136261;for(let n=0;n<t.length;n++){e^=(n+1)*2654435761;const r=z(t[n]);for(let i=0;i<r.length;i++)e^=r.charCodeAt(i),e*=16777619,e=e>>>0}return e.toString(16)}if(typeof t=="object"){let e=2166136261;const n=Object.keys(t).sort();for(let r=0;r<n.length;r++){const i=n[r],s=z(i);e^=parseInt(s,16),e*=16777619,e=e>>>0;const o=z(t[i]);e^=parseInt(o,16),e*=16777619,e=e>>>0}return e.toString(16)}return z(String(t))}const $={Remove:"remove",Replace:"replace",Add:"add"},zn=Symbol.for("__MUTATIVE_PROXY_DRAFT__"),Ki=Symbol("__MUTATIVE_RAW_RETURN_SYMBOL__"),ut=Symbol.iterator,re={mutable:"mutable",immutable:"immutable"},Rt={};function Ve(t,e){return t instanceof Map?t.has(e):Object.prototype.hasOwnProperty.call(t,e)}function Kn(t,e){if(e in t){let n=Reflect.getPrototypeOf(t);for(;n;){const r=Reflect.getOwnPropertyDescriptor(n,e);if(r)return r;n=Reflect.getPrototypeOf(n)}}}function xt(t){return Object.getPrototypeOf(t)===Set.prototype}function Dt(t){return Object.getPrototypeOf(t)===Map.prototype}function ie(t){var e;return(e=t.copy)!==null&&e!==void 0?e:t.original}function ge(t){return!!A(t)}function A(t){return typeof t!="object"?null:t==null?void 0:t[zn]}function $t(t){var e;const n=A(t);return n?(e=n.copy)!==null&&e!==void 0?e:n.original:t}function ae(t,e){if(!t||typeof t!="object")return!1;let n;return Object.getPrototypeOf(t)===Object.prototype||Array.isArray(t)||t instanceof Map||t instanceof Set||!!(e!=null&&e.mark)&&((n=e.mark(t,re))===re.immutable||typeof n=="function")}function qn(t,e=[]){if(Object.hasOwnProperty.call(t,"key")){const n=t.parent.copy,r=A(he(n,t.key));if(r!==null&&(r==null?void 0:r.original)!==t.original)return null;const i=t.parent.type===3,s=i?Array.from(t.parent.setMap.keys()).indexOf(t.key):t.key;if(!(i&&n.size>s||Ve(n,s)))return null;e.push(s)}if(t.parent)return qn(t.parent,e);e.reverse();try{qi(t.copy,e)}catch{return null}return e}function Te(t){return Array.isArray(t)?1:t instanceof Map?2:t instanceof Set?3:0}function he(t,e){return Te(t)===2?t.get(e):t[e]}function ze(t,e,n){Te(t)===2?t.set(e,n):t[e]=n}function Ut(t,e){const n=A(t);return(n?ie(n):t)[e]}function pe(t,e){return t===e?t!==0||1/t===1/e:t!==t&&e!==e}function Lt(t){if(t)for(;t.finalities.revoke.length>0;)t.finalities.revoke.pop()()}function we(t,e){return e?t:[""].concat(t).map(n=>{const r=`${n}`;return r.indexOf("/")===-1&&r.indexOf("~")===-1?r:r.replace(/~/g,"~0").replace(/\//g,"~1")}).join("/")}function qi(t,e){for(let n=0;n<e.length-1;n+=1){const r=e[n];if(t=he(Te(t)===3?Array.from(t):t,r),typeof t!="object")throw new Error(`Cannot resolve patch at '${e.join("/")}'.`)}return t}function Bi(t){const e=Object.create(Object.getPrototypeOf(t));return Reflect.ownKeys(t).forEach(n=>{let r=Reflect.getOwnPropertyDescriptor(t,n);if(r.enumerable&&r.configurable&&r.writable){e[n]=t[n];return}r.writable||(r.writable=!0,r.configurable=!0),(r.get||r.set)&&(r={configurable:!0,writable:!0,enumerable:r.enumerable,value:t[n]}),Reflect.defineProperty(e,n,r)}),e}const Gi=Object.prototype.propertyIsEnumerable;function Bn(t,e){let n;if(Array.isArray(t))return Array.prototype.concat.call(t);if(t instanceof Set){if(!xt(t)){const r=Object.getPrototypeOf(t).constructor;return new r(t.values())}return Set.prototype.difference?Set.prototype.difference.call(t,new Set):new Set(t.values())}else if(t instanceof Map){if(!Dt(t)){const r=Object.getPrototypeOf(t).constructor;return new r(t)}return new Map(t)}else if(e!=null&&e.mark&&(n=e.mark(t,re),n!==void 0)&&n!==re.mutable){if(n===re.immutable)return Bi(t);if(typeof n=="function"){if(e.enablePatches||e.enableAutoFreeze)throw new Error("You can't use mark and patches or auto freeze together.");return n()}throw new Error(`Unsupported mark result: ${n}`)}else if(typeof t=="object"&&Object.getPrototypeOf(t)===Object.prototype){const r={};return Object.keys(t).forEach(i=>{r[i]=t[i]}),Object.getOwnPropertySymbols(t).forEach(i=>{Gi.call(t,i)&&(r[i]=t[i])}),r}else throw new Error("Please check mark() to ensure that it is a stable marker draftable function.")}function Q(t){t.copy||(t.copy=Bn(t.original,t.options))}function Ke(t){if(!ae(t))return $t(t);if(Array.isArray(t))return t.map(Ke);if(t instanceof Map){const n=Array.from(t.entries()).map(([r,i])=>[r,Ke(i)]);if(!Dt(t)){const r=Object.getPrototypeOf(t).constructor;return new r(n)}return new Map(n)}if(t instanceof Set){const n=Array.from(t).map(Ke);if(!xt(t)){const r=Object.getPrototypeOf(t).constructor;return new r(n)}return new Set(n)}const e=Object.create(Object.getPrototypeOf(t));for(const n in t)e[n]=Ke(t[n]);return e}function ct(t){return ge(t)?Ke(t):t}function fe(t){var e;t.assignedMap=(e=t.assignedMap)!==null&&e!==void 0?e:new Map,t.operated||(t.operated=!0,t.parent&&fe(t.parent))}function Gn(){throw new Error("Cannot modify frozen object")}function Ae(t,e,n,r,i){{n=n??new WeakMap,r=r??[],i=i??[];const o=n.has(t)?n.get(t):t;if(r.length>0){const a=r.indexOf(o);if(o&&typeof o=="object"&&a!==-1)throw r[0]===o?new Error("Forbids circular reference"):new Error(`Forbids circular reference: ~/${i.slice(0,a).map((u,d)=>{if(typeof u=="symbol")return`[${u.toString()}]`;const c=r[d];return typeof u=="object"&&(c instanceof Map||c instanceof Set)?Array.from(c.keys()).indexOf(u):u}).join("/")}`);r.push(o),i.push(e)}else r.push(o)}if(Object.isFrozen(t)||ge(t)){r.pop(),i.pop();return}switch(Te(t)){case 2:for(const[a,u]of t)Ae(a,a,n,r,i),Ae(u,a,n,r,i);t.set=t.clear=t.delete=Gn;break;case 3:for(const a of t)Ae(a,a,n,r,i);t.add=t.clear=t.delete=Gn;break;case 1:Object.freeze(t);let o=0;for(const a of t)Ae(a,o,n,r,i),o+=1;break;default:Object.freeze(t),Object.keys(t).forEach(a=>{const u=t[a];Ae(u,a,n,r,i)})}r.pop(),i.pop()}function Ft(t,e){const n=Te(t);if(n===0)Reflect.ownKeys(t).forEach(r=>{e(r,t[r],t)});else if(n===1){let r=0;for(const i of t)e(r,i,t),r+=1}else t.forEach((r,i)=>e(i,r,t))}function Qn(t,e,n){if(ge(t)||!ae(t,n)||e.has(t)||Object.isFrozen(t))return;const r=t instanceof Set,i=r?new Map:void 0;if(e.add(t),Ft(t,(s,o)=>{var a;if(ge(o)){const u=A(o);Q(u);const d=!((a=u.assignedMap)===null||a===void 0)&&a.size||u.operated?u.copy:u.original;ze(r?i:t,s,d)}else Qn(o,e,n)}),i){const s=t,o=Array.from(s);s.clear(),o.forEach(a=>{s.add(i.has(a)?i.get(a):a)})}}function Qi(t,e){const n=t.type===3?t.setMap:t.copy;t.finalities.revoke.length>1&&t.assignedMap.get(e)&&n&&Qn(he(n,e),t.finalities.handledSet,t.options)}function Nt(t){t.type===3&&t.copy&&(t.copy.clear(),t.setMap.forEach(e=>{t.copy.add($t(e))}))}function Wt(t,e,n,r){if(t.operated&&t.assignedMap&&t.assignedMap.size>0&&!t.finalized){if(n&&r){const s=qn(t);s&&e(t,s,n,r)}t.finalized=!0}}function Vt(t,e,n,r){const i=A(n);i&&(i.callbacks||(i.callbacks=[]),i.callbacks.push((s,o)=>{var a;const u=t.type===3?t.setMap:t.copy;if(pe(he(u,e),n)){let d=i.original;i.copy&&(d=i.copy),Nt(t),Wt(t,r,s,o),t.options.enableAutoFreeze&&(t.options.updatedValues=(a=t.options.updatedValues)!==null&&a!==void 0?a:new WeakMap,t.options.updatedValues.set(d,i.original)),ze(u,e,d)}}),t.options.enableAutoFreeze&&i.finalities!==t.finalities&&(t.options.enableAutoFreeze=!1)),ae(n,t.options)&&t.finalities.draft.push(()=>{const s=t.type===3?t.setMap:t.copy;pe(he(s,e),n)&&Qi(t,e)})}function Hi(t,e,n,r,i){let{original:s,assignedMap:o,options:a}=t,u=t.copy;u.length<s.length&&([s,u]=[u,s],[n,r]=[r,n]);for(let d=0;d<s.length;d+=1)if(o.get(d.toString())&&u[d]!==s[d]){const c=e.concat([d]),f=we(c,i);n.push({op:$.Replace,path:f,value:ct(u[d])}),r.push({op:$.Replace,path:f,value:ct(s[d])})}for(let d=s.length;d<u.length;d+=1){const c=e.concat([d]),f=we(c,i);n.push({op:$.Add,path:f,value:ct(u[d])})}if(s.length<u.length){const{arrayLengthAssignment:d=!0}=a.enablePatches;if(d){const c=e.concat(["length"]),f=we(c,i);r.push({op:$.Replace,path:f,value:s.length})}else for(let c=u.length;s.length<c;c-=1){const f=e.concat([c-1]),h=we(f,i);r.push({op:$.Remove,path:h})}}}function Yi({original:t,copy:e,assignedMap:n},r,i,s,o){n.forEach((a,u)=>{const d=he(t,u),c=ct(he(e,u)),f=a?Ve(t,u)?$.Replace:$.Add:$.Remove;if(pe(d,c)&&f===$.Replace)return;const h=r.concat(u),p=we(h,o);i.push(f===$.Remove?{op:f,path:p}:{op:f,path:p,value:c}),s.push(f===$.Add?{op:$.Remove,path:p}:f===$.Remove?{op:$.Add,path:p,value:d}:{op:$.Replace,path:p,value:d})})}function Ji({original:t,copy:e},n,r,i,s){let o=0;t.forEach(a=>{if(!e.has(a)){const u=n.concat([o]),d=we(u,s);r.push({op:$.Remove,path:d,value:a}),i.unshift({op:$.Add,path:d,value:a})}o+=1}),o=0,e.forEach(a=>{if(!t.has(a)){const u=n.concat([o]),d=we(u,s);r.push({op:$.Add,path:d,value:a}),i.unshift({op:$.Remove,path:d,value:a})}o+=1})}function qe(t,e,n,r){const{pathAsArray:i=!0}=t.options.enablePatches;switch(t.type){case 0:case 2:return Yi(t,e,n,r,i);case 1:return Hi(t,e,n,r,i);case 3:return Ji(t,e,n,r,i)}}const dt=(t,e,n=!1)=>{if(typeof t=="object"&&t!==null&&(!ae(t,e)||n))throw new Error("Strict mode: Mutable data cannot be accessed directly, please use 'unsafe(callback)' wrap.")},zt={get size(){return ie(A(this)).size},has(t){return ie(A(this)).has(t)},set(t,e){const n=A(this),r=ie(n);return(!r.has(t)||!pe(r.get(t),e))&&(Q(n),fe(n),n.assignedMap.set(t,!0),n.copy.set(t,e),Vt(n,t,e,qe)),this},delete(t){if(!this.has(t))return!1;const e=A(this);return Q(e),fe(e),e.original.has(t)?e.assignedMap.set(t,!1):e.assignedMap.delete(t),e.copy.delete(t),!0},clear(){const t=A(this);if(this.size){Q(t),fe(t),t.assignedMap=new Map;for(const[e]of t.original)t.assignedMap.set(e,!1);t.copy.clear()}},forEach(t,e){const n=A(this);ie(n).forEach((r,i)=>{t.call(e,this.get(i),i,this)})},get(t){var e,n;const r=A(this),i=ie(r).get(t),s=((n=(e=r.options).mark)===null||n===void 0?void 0:n.call(e,i,re))===re.mutable;if(r.options.strict&&dt(i,r.options,s),s||r.finalized||!ae(i,r.options)||i!==r.original.get(t))return i;const o=Rt.createDraft({original:i,parentDraft:r,key:t,finalities:r.finalities,options:r.options});return Q(r),r.copy.set(t,o),o},keys(){return ie(A(this)).keys()},values(){const t=this.keys();return{[ut]:()=>this.values(),next:()=>{const e=t.next();return e.done?e:{done:!1,value:this.get(e.value)}}}},entries(){const t=this.keys();return{[ut]:()=>this.entries(),next:()=>{const e=t.next();if(e.done)return e;const n=this.get(e.value);return{done:!1,value:[e.value,n]}}}},[ut](){return this.entries()}},Zi=Reflect.ownKeys(zt),Hn=(t,e,{isValuesIterator:n})=>()=>{var r,i;const s=e.next();if(s.done)return s;const o=s.value;let a=t.setMap.get(o);const u=A(a),d=((i=(r=t.options).mark)===null||i===void 0?void 0:i.call(r,a,re))===re.mutable;if(t.options.strict&&dt(o,t.options,d),!d&&!u&&ae(o,t.options)&&!t.finalized&&t.original.has(o)){const c=Rt.createDraft({original:o,parentDraft:t,key:o,finalities:t.finalities,options:t.options});t.setMap.set(o,c),a=c}else u&&(a=u.proxy);return{done:!1,value:n?a:[a,a]}},ft={get size(){return A(this).setMap.size},has(t){const e=A(this);if(e.setMap.has(t))return!0;Q(e);const n=A(t);return!!(n&&e.setMap.has(n.original))},add(t){const e=A(this);return this.has(t)||(Q(e),fe(e),e.assignedMap.set(t,!0),e.setMap.set(t,t),Vt(e,t,t,qe)),this},delete(t){if(!this.has(t))return!1;const e=A(this);Q(e),fe(e);const n=A(t);return n&&e.setMap.has(n.original)?(e.assignedMap.set(n.original,!1),e.setMap.delete(n.original)):(!n&&e.setMap.has(t)?e.assignedMap.set(t,!1):e.assignedMap.delete(t),e.setMap.delete(t))},clear(){if(!this.size)return;const t=A(this);Q(t),fe(t);for(const e of t.original)t.assignedMap.set(e,!1);t.setMap.clear()},values(){const t=A(this);Q(t);const e=t.setMap.keys();return{[Symbol.iterator]:()=>this.values(),next:Hn(t,e,{isValuesIterator:!0})}},entries(){const t=A(this);Q(t);const e=t.setMap.keys();return{[Symbol.iterator]:()=>this.entries(),next:Hn(t,e,{isValuesIterator:!1})}},keys(){return this.values()},[ut](){return this.values()},forEach(t,e){const n=this.values();let r=n.next();for(;!r.done;)t.call(e,r.value,r.value,this),r=n.next()}};Set.prototype.difference&&Object.assign(ft,{intersection(t){return Set.prototype.intersection.call(new Set(this.values()),t)},union(t){return Set.prototype.union.call(new Set(this.values()),t)},difference(t){return Set.prototype.difference.call(new Set(this.values()),t)},symmetricDifference(t){return Set.prototype.symmetricDifference.call(new Set(this.values()),t)},isSubsetOf(t){return Set.prototype.isSubsetOf.call(new Set(this.values()),t)},isSupersetOf(t){return Set.prototype.isSupersetOf.call(new Set(this.values()),t)},isDisjointFrom(t){return Set.prototype.isDisjointFrom.call(new Set(this.values()),t)}});const Xi=Reflect.ownKeys(ft),Yn=new WeakSet,Jn={get(t,e,n){var r,i;const s=(r=t.copy)===null||r===void 0?void 0:r[e];if(s&&Yn.has(s))return s;if(e===zn)return t;let o;if(t.options.mark){const d=e==="size"&&(t.original instanceof Map||t.original instanceof Set)?Reflect.get(t.original,e):Reflect.get(t.original,e,n);if(o=t.options.mark(d,re),o===re.mutable)return t.options.strict&&dt(d,t.options,!0),d}const a=ie(t);if(a instanceof Map&&Zi.includes(e)){if(e==="size")return Object.getOwnPropertyDescriptor(zt,"size").get.call(t.proxy);const d=zt[e];if(d)return d.bind(t.proxy)}if(a instanceof Set&&Xi.includes(e)){if(e==="size")return Object.getOwnPropertyDescriptor(ft,"size").get.call(t.proxy);const d=ft[e];if(d)return d.bind(t.proxy)}if(!Ve(a,e)){const d=Kn(a,e);return d?"value"in d?d.value:(i=d.get)===null||i===void 0?void 0:i.call(t.proxy):void 0}const u=a[e];if(t.options.strict&&dt(u,t.options),t.finalized||!ae(u,t.options))return u;if(u===Ut(t.original,e)){if(Q(t),t.copy[e]=Kt({original:t.original[e],parentDraft:t,key:t.type===1?Number(e):e,finalities:t.finalities,options:t.options}),typeof o=="function"){const d=A(t.copy[e]);return Q(d),fe(d),d.copy}return t.copy[e]}return u},set(t,e,n){var r;if(t.type===3||t.type===2)throw new Error("Map/Set draft does not support any property assignment.");let i;if(t.type===1&&e!=="length"&&!(Number.isInteger(i=Number(e))&&i>=0&&(e===0||i===0||String(i)===String(e))))throw new Error("Only supports setting array indices and the 'length' property.");const s=Kn(ie(t),e);if(s!=null&&s.set)return s.set.call(t.proxy,n),!0;const o=Ut(ie(t),e),a=A(o);return a&&pe(a.original,n)?(t.copy[e]=n,t.assignedMap=(r=t.assignedMap)!==null&&r!==void 0?r:new Map,t.assignedMap.set(e,!1),!0):(pe(n,o)&&(n!==void 0||Ve(t.original,e))||(Q(t),fe(t),Ve(t.original,e)&&pe(n,t.original[e])?t.assignedMap.delete(e):t.assignedMap.set(e,!0),t.copy[e]=n,Vt(t,e,n,qe)),!0)},has(t,e){return e in ie(t)},ownKeys(t){return Reflect.ownKeys(ie(t))},getOwnPropertyDescriptor(t,e){const n=ie(t),r=Reflect.getOwnPropertyDescriptor(n,e);return r&&{writable:!0,configurable:t.type!==1||e!=="length",enumerable:r.enumerable,value:n[e]}},getPrototypeOf(t){return Reflect.getPrototypeOf(t.original)},setPrototypeOf(){throw new Error("Cannot call 'setPrototypeOf()' on drafts")},defineProperty(){throw new Error("Cannot call 'defineProperty()' on drafts")},deleteProperty(t,e){var n;return t.type===1?Jn.set.call(this,t,e,void 0,t.proxy):(Ut(t.original,e)!==void 0||e in t.original?(Q(t),fe(t),t.assignedMap.set(e,!1)):(t.assignedMap=(n=t.assignedMap)!==null&&n!==void 0?n:new Map,t.assignedMap.delete(e)),t.copy&&delete t.copy[e],!0)}};function Kt(t){const{original:e,parentDraft:n,key:r,finalities:i,options:s}=t,o=Te(e),a={type:o,finalized:!1,parent:n,original:e,copy:null,proxy:null,finalities:i,options:s,setMap:o===3?new Map(e.entries()):void 0};(r||"key"in t)&&(a.key=r);const{proxy:u,revoke:d}=Proxy.revocable(o===1?Object.assign([],a):a,Jn);if(i.revoke.push(d),Yn.add(u),a.proxy=u,n){const c=n;c.finalities.draft.push((f,h)=>{var p,b;const y=A(u);let _=c.type===3?c.setMap:c.copy;const T=he(_,r),w=A(T);if(w){let m=w.original;w.operated&&(m=$t(T)),Nt(w),Wt(w,qe,f,h),c.options.enableAutoFreeze&&(c.options.updatedValues=(p=c.options.updatedValues)!==null&&p!==void 0?p:new WeakMap,c.options.updatedValues.set(m,w.original)),ze(_,r,m)}(b=y.callbacks)===null||b===void 0||b.forEach(m=>{m(f,h)})})}else{const c=A(u);c.finalities.draft.push((f,h)=>{Nt(c),Wt(c,qe,f,h)})}return u}Rt.createDraft=Kt;function es(t,e,n,r,i){var s;const o=A(t),a=(s=o==null?void 0:o.original)!==null&&s!==void 0?s:t,u=!!e.length;if(o!=null&&o.operated)for(;o.finalities.draft.length>0;)o.finalities.draft.pop()(n,r);const d=u?e[0]:o?o.operated?o.copy:o.original:t;return o&&Lt(o),i&&Ae(d,d,o==null?void 0:o.options.updatedValues),[d,n&&u?[{op:$.Replace,path:[],value:e[0]}]:n,r&&u?[{op:$.Replace,path:[],value:a}]:r]}function ts(t,e){var n;const r={draft:[],revoke:[],handledSet:new WeakSet};let i,s;e.enablePatches&&(i=[],s=[]);const a=((n=e.mark)===null||n===void 0?void 0:n.call(e,t,re))===re.mutable||!ae(t,e)?t:Kt({original:t,parentDraft:null,finalities:r,options:e});return[a,(u=[])=>{const[d,c,f]=es(a,u,i,s,e.enableAutoFreeze);return e.enablePatches?[d,c,f]:d}]}function qt(t){const{rootDraft:e,value:n,useRawReturn:r=!1,isRoot:i=!0}=t;Ft(n,(s,o,a)=>{const u=A(o);if(u&&e&&u.finalities===e.finalities){t.isContainDraft=!0;const d=u.original;if(a instanceof Set){const c=Array.from(a);a.clear(),c.forEach(f=>a.add(s===f?d:f))}else ze(a,s,d)}else typeof o=="object"&&o!==null&&(t.value=o,t.isRoot=!1,qt(t))}),i&&(t.isContainDraft||console.warn("The return value does not contain any draft, please use 'rawReturn()' to wrap the return value to improve performance."),r&&console.warn("The return value contains drafts, please don't use 'rawReturn()' to wrap the return value."))}function Zn(t){var e;const n=A(t);if(!ae(t,n==null?void 0:n.options))return t;const r=Te(t);if(n&&!n.operated)return n.original;let i;function s(){i=r===2?Dt(t)?new Map(t):new(Object.getPrototypeOf(t)).constructor(t):r===3?Array.from(n.setMap.values()):Bn(t,n==null?void 0:n.options)}if(n){n.finalized=!0;try{s()}finally{n.finalized=!1}}else i=t;if(Ft(i,(o,a)=>{if(n&&pe(he(n.original,o),a))return;const u=Zn(a);u!==a&&(i===t&&s(),ze(i,o,u))}),r===3){const o=(e=n==null?void 0:n.original)!==null&&e!==void 0?e:i;return xt(o)?new Set(i):new(Object.getPrototypeOf(o)).constructor(i)}return i}function Xn(t){if(!ge(t))throw new Error(`current() is only used for Draft, parameter: ${t}`);return Zn(t)}const Bt=(t=>function e(n,r,i){var s,o,a;if(typeof n=="function"&&typeof r!="function")return function(v,...R){return e(v,F=>n.call(this,F,...R),r)};const u=n,d=r;let c=i;if(typeof r!="function"&&(c=r),c!==void 0&&Object.prototype.toString.call(c)!=="[object Object]")throw new Error(`Invalid options: ${c}, 'options' should be an object.`);c=Object.assign(Object.assign({},t),c);const f=ge(u)?Xn(u):u,h=Array.isArray(c.mark)?(v,R)=>{for(const F of c.mark){if(typeof F!="function")throw new Error(`Invalid mark: ${F}, 'mark' should be a function.`);const Y=F(v,R);if(Y)return Y}}:c.mark,p=(s=c.enablePatches)!==null&&s!==void 0?s:!1,b=(o=c.strict)!==null&&o!==void 0?o:!1,_={enableAutoFreeze:(a=c.enableAutoFreeze)!==null&&a!==void 0?a:!1,mark:h,strict:b,enablePatches:p};if(!ae(f,_)&&typeof f=="object"&&f!==null)throw new Error("Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.");const[T,w]=ts(f,_);if(typeof r!="function"){if(!ae(f,_))throw new Error("Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.");return[T,w]}let m;try{m=d(T)}catch(v){throw Lt(A(T)),v}const I=v=>{const R=A(T);if(!ge(v)){if(v!==void 0&&!pe(v,T)&&(R!=null&&R.operated))throw new Error("Either the value is returned as a new non-draft value, or only the draft is modified without returning any value.");const Y=v==null?void 0:v[Ki];if(Y){const st=Y[0];return _.strict&&typeof v=="object"&&v!==null&&qt({rootDraft:R,value:v,useRawReturn:!0}),w([st])}if(v!==void 0)return typeof v=="object"&&v!==null&&qt({rootDraft:R,value:v}),w([v])}if(v===T||v===void 0)return w([]);const F=A(v);if(_===F.options){if(F.operated)throw new Error("Cannot return a modified child draft.");return w([Xn(v)])}return w([v])};return m instanceof Promise?m.then(I,v=>{throw Lt(A(T)),v}):I(m)})();Object.prototype.constructor.toString();function er(t,e){const n=Object.keys(t),r=Object.keys(e);return n.length===r.length&&Object.keys(t).every(i=>e.hasOwnProperty(i))}function tr(t,e){return Object.keys(t).length===Object.keys(e).length&&Object.keys(t).every(n=>e.hasOwnProperty(n)&&t[n]===e[n])}function lt(t,e){return typeof t!="object"||typeof e!="object"||t===null||e===null?t===e:er(t,e)?Object.keys(t).every(n=>lt(t[n],e[n])):!1}function Gt(t){if(!Be(t))return t;const e={};for(const[n,r]of Object.entries(t))r!==void 0&&(e[n]=r);return e}function nr(t,e){if(!Be(t)||!Be(e))return e;const n=Object.assign({},t);for(const r of Object.keys(e)){if(e[r]===void 0)continue;if(e[r]===null){delete n[r];continue}const i=Be(t[r])&&Be(e[r]);n[r]=i?nr(t[r],e[r]):e[r]}return n}function Be(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function ns(t,e,n){if(!t||e.length===0)return;let r=t||{};for(let s=0;s<e.length-1;s++){const o=e[s];(!(o in r)||typeof r[o]!="object")&&(r[o]=typeof e[s+1]=="number"?[]:{}),r=r[o]}const i=e[e.length-1];Array.isArray(r)&&typeof i=="number"?r.splice(i,0,n):r[i]=n}function rr(t,e,n){if(!t||e.length===0)return;let r=t||{};for(let i=0;i<e.length-1;i++){const s=e[i];(!(s in r)||typeof r[s]!="object")&&(r[s]=typeof e[i+1]=="number"?[]:{}),r=r[s]}r[e[e.length-1]]=n}function ir(t,e){if(!t||e.length===0)return;const[n,...r]=e;if(n in t){if(r.length===0){Array.isArray(t)?t.splice(n,1):delete t[n];return}ir(t[n],r),rs(t[n])&&delete t[n]}}function rs(t){return t&&Object.keys(t).length===0}const sr=/ZULU|YEKT|YEKST|YAPT|YAKT|YAKST|XJT|WGT|WGST|WFT|WETDST|WET|WDT|WAT|WAST|WAKT|WADT|VUT|VOLT|VLAT|VLAST|VET|UZT|UZST|UYT|UYST|UTC|UT|ULAT|ULAST|UCT|TVT|TRUT|TOT|TMT|TKT|TJT|TFT|TAHT|SGT|SCT|SAST|SADT|RET|PYT|PYST|PWT|PST|PONT|PMST|PMDT|PKT|PKST|PHT|PGT|PETT|PETST|PET|PDT|OMST|OMSST|NZT|NZST|NZDT|NUT|NST|NPT|NOVT|NOVST|NFT|NDT|MYT|MVT|MUT|MUST|MST|MSK|MSD|MPT|MMT|MHT|MEZ|METDST|MET|MESZ|MEST|MDT|MAWT|MART|MAGT|MAGST|LKT|LINT|LIGT|LHST|LHDT|KST|KRAT|KRAST|KOST|KGT|KGST|KDT|JST|JAYT|IST|IRT|IRKT|IRKST|IOT|IDT|ICT|HST|HKT|GYT|GMT|GILT|GFT|GET|GEST|GAMT|GALT|FNT|FNST|FKT|FKST|FJT|FJST|FET|EST|EGT|EGST|EETDST|EET|EEST|EDT|EAT|EAST|EASST|DDUT|DAVT|CXT|CST|COT|CLT|CLST|CKT|CHUT|CHAST|CHADT|CETDST|CET|CEST|CDT|CCT|CAST|CADT|BTT|BST|BRT|BRST|BRA|BOT|BORT|BNT|BDT|BDST|AZT|AZST|AZOT|AZOST|AWST|AWSST|AST|ART|ARST|ANAT|ANAST|AMT|AMST|ALMT|ALMST|AKST|AKDT|AFT|AEST|AESST|AEDT|ADT|ACWST|ACT|ACST|ACSST|ACDT$/,is={ZULU:0,YEKT:18e3,YEKST:21600,YAPT:36e3,YAKT:32400,YAKST:32400,XJT:21600,WGT:-10800,WGST:-7200,WFT:43200,WETDST:3600,WET:0,WDT:32400,WAT:3600,WAST:25200,WAKT:43200,WADT:28800,VUT:39600,VOLT:10800,VLAT:36e3,VLAST:36e3,VET:-14400,UZT:18e3,UZST:21600,UYT:-10800,UYST:-7200,UTC:0,UT:0,ULAT:28800,ULAST:32400,UCT:0,TVT:43200,TRUT:36e3,TOT:46800,TMT:18e3,TKT:46800,TJT:18e3,TFT:18e3,TAHT:-36e3,SGT:28800,SCT:14400,SAST:7200,SADT:37800,RET:14400,PYT:-14400,PYST:-10800,PWT:32400,PST:-28800,PONT:39600,PMST:-10800,PMDT:-7200,PKT:18e3,PKST:21600,PHT:28800,PGT:36e3,PETT:43200,PETST:43200,PET:-18e3,PDT:-25200,OMST:21600,OMSST:21600,NZT:43200,NZST:43200,NZDT:46800,NUT:-39600,NST:-12600,NPT:20700,NOVT:25200,NOVST:25200,NFT:-12600,NDT:-9e3,MYT:28800,MVT:18e3,MUT:14400,MUST:18e3,MST:-25200,MSK:10800,MSD:14400,MPT:36e3,MMT:23400,MHT:43200,MEZ:3600,METDST:7200,MET:3600,MESZ:7200,MEST:7200,MDT:-21600,MAWT:18e3,MART:-34200,MAGT:39600,MAGST:39600,LKT:19800,LINT:50400,LIGT:36e3,LHST:37800,LHDT:37800,KST:32400,KRAT:25200,KRAST:25200,KOST:39600,KGT:21600,KGST:21600,KDT:36e3,JST:32400,JAYT:32400,IST:7200,IRT:12600,IRKT:28800,IRKST:28800,IOT:21600,IDT:10800,ICT:25200,HST:-36e3,HKT:28800,GYT:-14400,GMT:0,GILT:43200,GFT:-10800,GET:14400,GEST:14400,GAMT:-32400,GALT:-21600,FNT:-7200,FNST:-3600,FKT:-10800,FKST:-10800,FJT:43200,FJST:46800,FET:10800,EST:-18e3,EGT:-3600,EGST:0,EETDST:10800,EET:7200,EEST:10800,EDT:-14400,EAT:10800,EAST:-21600,EASST:-21600,DDUT:36e3,DAVT:25200,CXT:25200,CST:-21600,COT:-18e3,CLT:-14400,CLST:-10800,CKT:-36e3,CHUT:36e3,CHAST:45900,CHADT:49500,CETDST:7200,CET:3600,CEST:7200,CDT:-18e3,CCT:28800,CAST:34200,CADT:37800,BTT:21600,BST:3600,BRT:-10800,BRST:-7200,BRA:-10800,BOT:-14400,BORT:28800,BNT:28800,BDT:21600,BDST:7200,AZT:14400,AZST:14400,AZOT:-3600,AZOST:0,AWST:28800,AWSST:32400,AST:-14400,ART:-10800,ARST:-10800,ANAT:43200,ANAST:43200,AMT:-14400,AMST:14400,ALMT:21600,ALMST:25200,AKST:-32400,AKDT:-28800,AFT:16200,AEST:36e3,AESST:39600,AEDT:39600,ADT:-10800,ACWST:31500,ACT:-18e3,ACST:34200,ACSST:37800,ACDT:37800};function ss(t){return new Date(t)}function os(t){return new Date(t+"Z")}const as=/^(\d+)[\./-](\d+)[\./-](\d+)$/;function us(t){const e=t.match(as);if(!e)return null;const[n,r,i,s]=e;return r<=0||i<=0||s<=0?null:r>999?new Date(Date.UTC(r,i-1,s,0,0,0,0)):new Date(Date.UTC(s,r-1,i,0,0,0,0))}function cs(t){const[e,n]=t.split(" ");return new Date(e+"T"+n+"Z")}function ds(t){const[e,n]=t.split(" ");return new Date(e+"T"+n+"Z")}function fs(t){return new Date(t)}function ls(t){const e=/^(\w{3}) (\w{3}) (\d{2}) (\d{4})$/;if(!t.match(e))throw new Error(`Unable to parse \`${t}\` as a date.`);const r=new Date(t+" UTC");return new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate(),0,0,0,0))}function hs(t){const e=/^(.+T.+)([+-])(\d{2})$/,n=t.match(e);if(n){const[,r,i,s]=n,o=`${r}${i}${s}:00`;return new Date(o)}return null}function ps(t){const[e,n]=t.split(", "),[r,i,s]=e.split("/").map(Number),o=n.match(/(\d{1,2}):(\d{2}):(\d{2}) (AM|PM)/);if(!o)throw new Error(`Unable to parse time from: ${t}`);let[,a,u,d,c]=o;return a=Number(a),u=Number(u),d=Number(d),c==="PM"&&a!==12?a+=12:c==="AM"&&a===12&&(a=0),new Date(Date.UTC(s,r-1,i,a,u,d))}function ys(t){switch(t){case"epoch":return new Date(0);case"infinity":case"-infinity":case"today":case"tomorrow":case"yesterday":return null}}function bs(t){const e=t.match(sr);if(!e)return null;const[n]=e,r=is[n],i=new Date(t.replace(sr,"Z"));return new Date(i.getTime()-r*1e3)}const _s=[us,ds,ls,ps,fs,os,hs,cs,ss,ys,bs];function gs(t,e){try{const n=t(e);return n instanceof Date&&!isNaN(n.getTime())?n:null}catch{return null}}function Qt(t){for(const e of _s){const n=gs(e,t);if(n)return n}return null}function Ts(t){try{const e=JSON.parse(t);return typeof e=="string"?Qt(e):null}catch{return null}}function ht(t){if(t!==void 0){if(t===null)return null;if(t instanceof Date)return t;if(typeof t=="string"){const e=Qt(t)||Ts(t)||Qt(t.trim());if(!e)throw new Error(`Unable to parse \`${t}\` as a date.`);return e}else if(typeof t=="number")return new Date(t);throw new Error(`Invalid date value \`${t}\`. Expected a date, number, or string, got type ${typeof t}.`)}}function ws(t){return t.cardinality==="one"}function Ht(t){return t["value-type"]==="ref"}function Yt(t){return t["value-type"]==="blob"}function Ce(t,e){return t[e]}function Ge(t,e){return e.reduce((n,r)=>n&&n.get(r),t)}function ue(t,e){if(e.length===0)throw new Error("path must have at least one element");if(e.length===1){t.delete(e[0]);return}const[n,...r]=e;t.has(n)&&ue(t.get(n),r)}function Z(t,e,n){if(e.length===0)throw new Error("path must have at least one element");if(e.length===1){t.set(e[0],n);return}const[r,...i]=e;let s=t.get(r);s||(s=new Map,t.set(r,s)),Z(s,i,n)}function or(t,e,n){const r=new Map,i=new Map,s=new Map;for(const o of e){let[a,u,d,c]=o;const f=Ce(t,u);if(!f){console.warn("no such attr",a,t);continue}f["checked-data-type"]==="date"&&n&&(d=ht(d),o[2]=d),Ht(f)&&Z(s,[d,u,a],o),Z(r,[a,u,d],o),Z(i,[u,a,d],o)}return{eav:r,aev:i,vae:s}}function ar(t){const e=new Map,n=new Map,r=new Map,i=new Map;for(const s of Object.values(t)){const o=s["forward-identity"],[a,u,d]=o,c=s["reverse-identity"];if(Z(r,[u,d],s),Yt(s)&&Z(e,[u,d],s),s["primary?"]&&Z(n,[u],s),c){const[f,h,p]=c;Z(i,[h,p],s)}}return{blobAttrs:e,primaryKeys:n,forwardIdents:r,revIdents:i}}function ur(t){return{__type:t.__type,attrs:t.attrs,triples:X(t.eav,3),cardinalityInference:t.cardinalityInference,linkIndex:t.linkIndex,useDateObjects:t.useDateObjects}}function cr(t){return pt(t.attrs,t.triples,t.cardinalityInference,t.linkIndex,t.useDateObjects)}function ms(t,e){return Ge(t.eav,[e])!==void 0}function Jt(t){t.attrIndexes=ar(t.attrs)}function pt(t,e,n,r,i){const s=or(t,e,i);return s.useDateObjects=i,s.attrs=t,s.attrIndexes=ar(t),s.cardinalityInference=n,s.linkIndex=r,s.__type="store",s}function Qe(t,e){var n,r;let i;if(Array.isArray(e[0])){const[o,a]=e[0],u=t.aev.get(o);if(!u)return null;i=(n=X(u,2).find(c=>c[2]===a))===null||n===void 0?void 0:n[0]}else i=e[0];if(!i)return null;const s=e[2];if(Array.isArray(s)&&s.length===2&&t.aev.get(s[0])){const[o,a]=s,u=t.aev.get(o);if(!u)return null;const c=(r=X(u,2).find(y=>y[2]===a))===null||r===void 0?void 0:r[0];if(!c)return null;const[f,h,p,...b]=e;return[i,h,c,...b]}else{const[o,...a]=e;return[i,...a]}}function dr(t,e){const n=Qe(t,e);if(!n)return;const[r,i,s]=n,o=Ce(t.attrs,i);o&&(ue(t.eav,[r,i,s]),ue(t.aev,[i,r,s]),Ht(o)&&ue(t.vae,[s,i,r]))}let Ss=0;function fr(t,e,n){const[r,i,s]=n;let o;const a=Ge(t.ea,[r,i,s]);return a&&(o=a[3]),o||Date.now()*10+Ss++}function lr(t,e){var n;const r=Qe(t,e);if(!r)return;let[i,s,o]=r;const a=Ce(t.attrs,s);if(!a)return;a["checked-data-type"]==="date"&&t.useDateObjects&&(o=ht(o));const u=Ge(t.eav,[i,s,o]),d=(n=u==null?void 0:u[3])!==null&&n!==void 0?n:fr(t,a,r),c=[i,s,o,d];ws(a)?(Z(t.eav,[i,s],new Map([[o,c]])),Z(t.aev,[s,i],new Map([[o,c]]))):(Z(t.eav,[i,s,o],c),Z(t.aev,[s,i,o],c)),Ht(a)&&Z(t.vae,[o,s,i],c)}function vs(t,e){var n;const r=Qe(t,e);if(!r)return;const[i,s,o]=r,a=Ce(t.attrs,s);if(!a)return;if(!Yt(a))throw new Error("merge operation is not supported for links");const u=Ge(t.eav,[i,s]);if(!u)return;const d=(n=u.values().next())===null||n===void 0?void 0:n.value;if(!d)return;const c=d[2],f=nr(c,o),h=[i,s,f,fr(t,a,d)];Z(t.eav,[i,s],new Map([[f,h]]))}function Zt(t,e){var n,r;const[i,s]=e,o=Qe(t,[i]);if(!o)return;const[a]=o,u=t.eav.get(a);if(u){for(const c of u.keys()){const f=t.attrs[c];f&&f["on-delete-reverse"]==="cascade"&&X(u.get(c),1).forEach(([h,p,b])=>{var y;return Zt(t,[b,(y=f["reverse-identity"])===null||y===void 0?void 0:y[1]])}),(!s||!f||((n=f["forward-identity"])===null||n===void 0?void 0:n[1])===s)&&(ue(t.aev,[c,a]),ue(t.eav,[a,c]))}u.size===0&&ue(t.eav,[a])}const d=t.vae.get(a)&&X(t.vae.get(a),2);d&&d.forEach(c=>{var f,h,p;const[b,y,_]=c,T=t.attrs[y];(!s||!T||((f=T["reverse-identity"])===null||f===void 0?void 0:f[1])===s)&&(ue(t.eav,[b,y,_]),ue(t.aev,[y,b,_]),ue(t.vae,[_,y,b])),T&&T["on-delete"]==="cascade"&&((h=T["reverse-identity"])===null||h===void 0?void 0:h[1])===s&&Zt(t,[b,(p=T["forward-identity"])===null||p===void 0?void 0:p[1]])}),((r=t.vae.get(a))===null||r===void 0?void 0:r.size)===0&&ue(t.vae,[a])}function hr(t,e){const n=or(t.attrs,e,t.useDateObjects);Object.keys(n).forEach(r=>{t[r]=n[r]})}function Os(t,[e]){t.attrs[e.id]=e,Jt(t)}function pr(t){return X(t.eav,3)}function Es(t,[e]){if(!t.attrs[e])return;const n=pr(t).filter(([r,i])=>i!==e);delete t.attrs[e],Jt(t),hr(t,n)}function As(t,[e]){const n=t.attrs[e.id];n&&(t.attrs[e.id]=Object.assign(Object.assign({},n),e),Jt(t),hr(t,pr(t)))}function Cs(t,e){const[n,...r]=e;switch(n){case"add-triple":lr(t,r);break;case"deep-merge-triple":vs(t,r);break;case"retract-triple":dr(t,r);break;case"delete-entity":Zt(t,r);break;case"add-attr":Os(t,r);break;case"delete-attr":Es(t,r);break;case"update-attr":As(t,r);break;case"restore-attr":break;case"rule-params":break;default:throw new Error(`unhandled transaction action: ${n}`)}}function X(t,e,n=[]){if(!t||e===0)return n;if(e===1){for(const r of t.values())n.push(r);return n}for(const r of t.values())X(r,e-1,n);return n}function yt(t,e,n){var r,i;const s=[];if(n!=null&&n.hasOwnProperty("$not")){for(const a of e.keys())n.$not!==a&&s.push(e.get(a));return s}if(n!=null&&n.hasOwnProperty("$isNull")){const{attrId:a,isNull:u,reverse:d}=n.$isNull;if(d)for(const c of e.keys()){const f=t.vae.get(c),h=!f||((r=f.get(a))===null||r===void 0?void 0:r.get(null))||!f.get(a);(u?h:!h)&&s.push(e.get(c))}else{const c=t.aev.get(a);for(const f of e.keys()){const h=!c||((i=c.get(f))===null||i===void 0?void 0:i.get(null))||!c.get(f);(u?h:!h)&&s.push(e.get(f))}}return s}if(n!=null&&n.$comparator)return X(e,1).filter(n.$op);const o=n.in||n.$in||[n];for(const a of o){const u=e.get(a);u&&s.push(u)}return s}function ks(t,e,n){let r="";return t!==void 0&&(r+="e"),e!==void 0&&(r+="a"),n!==void 0&&(r+="v"),r}function js(t,[e,n,r]){var i,s;switch(ks(e,n,r)){case"e":{const a=t.eav.get(e);return X(a,2)}case"ea":{const a=(i=t.eav.get(e))===null||i===void 0?void 0:i.get(n);return X(a,1)}case"eav":{const a=(s=t.eav.get(e))===null||s===void 0?void 0:s.get(n);return a?yt(t,a,r):[]}case"ev":{const a=t.eav.get(e);if(!a)return[];const u=[];for(const d of a.values())u.push(...yt(t,d,r));return u}case"a":{const a=t.aev.get(n);return X(a,2)}case"av":{const a=t.aev.get(n);if(!a)return[];const u=[];for(const d of a.values())u.push(...yt(t,d,r));return u}case"v":{const a=[];for(const u of t.eav.values())for(const d of u.values())a.push(...yt(t,d,r));return a}default:return X(t.eav,3)}}function Is(t,e,n){var r;const i={};for(const[s,o]of e.entries()){const a=(r=t.eav.get(n))===null||r===void 0?void 0:r.get(o.id),u=X(a,1);for(const d of u)i[s]=d[2]}return i}function ke(t,e,n){var r;return(r=t.attrIndexes.forwardIdents.get(e))===null||r===void 0?void 0:r.get(n)}function yr(t,e,n){var r;return(r=t.attrIndexes.revIdents.get(e))===null||r===void 0?void 0:r.get(n)}function Ps(t,e){return t.attrIndexes.blobAttrs.get(e)}function br(t,e){var n;const r=t.attrIndexes.primaryKeys.get(e);return r||((n=t.attrIndexes.forwardIdents.get(e))===null||n===void 0?void 0:n.get("id"))}function Ms(t,e){const n=Qe(t,e);if(!n)return;const[r,i,s]=n;if(Ce(t.attrs,i))return Ge(t.eav,[r,i])}function Rs(t,e){const n=e.filter(([r,i,s,o,a])=>{if(r!=="add-triple"&&r!=="deep-merge-triple")return!0;const u=a==null?void 0:a.mode;if(u!=="create"&&u!=="update")return!0;let d=!1;const c=Ce(t.attrs,s);if(c){const f=br(t,c["forward-identity"][1]);d=!!Ms(t,[i,f.id,i])}return!(u==="create"&&d||u==="update"&&!d)});return Bt(t,r=>{n.forEach(i=>{Cs(r,i)})})}function xs(t){return typeof t=="string"&&t.startsWith("?")}function Ds(t,e,n){if(n.hasOwnProperty(t)){const r=n[t];return gr(r,e,n)}return Object.assign(Object.assign({},n),{[t]:e})}function _r(t,e,n){return t===e?n:null}function $s(t){switch(typeof t){case"string":return t.startsWith("?")?Ds:_r;default:return _r}}const Us=["in","$in","$not","$isNull","$comparator"];function Ls(t){for(const e of Us)if(t.hasOwnProperty(e))return!0;return!1}function gr(t,e,n){return n?typeof t=="object"?Ls(t)?n:null:$s(t)(t,e,n):null}function Fs(t,e,n){return t.reduce((r,i,s)=>{const o=e[s];return gr(i,o,r)},n)}function Ns(t,e,n){return zs(t,e,n).map(r=>Fs(e,r,n)).filter(r=>r)}function Ws(t,e,n){return e.or?e.or.patterns.flatMap(r=>Xt(t,r,n)):e.and?e.and.patterns.reduce((r,i)=>Xt(t,i,r),n):n.flatMap(r=>Ns(t,e,r))}function Xt(t,e,n=[{}]){return e.reduce((r,i)=>Ws(t,i,r),n)}function en(t,e){return Array.isArray(e)?e.map(n=>en(t,n)):xs(e)?t[e]:e}function Vs(t,{find:e,where:n}){return Xt(t,n).map(i=>en(i,e))}function zs(t,e,n){return js(t,en(n,e))}const Ks=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;function je(t){return typeof t=="string"&&Ks.test(t)}const K=[];for(let t=0;t<256;++t)K.push((t+256).toString(16).slice(1));function qs(t,e=0){return(K[t[e+0]]+K[t[e+1]]+K[t[e+2]]+K[t[e+3]]+"-"+K[t[e+4]]+K[t[e+5]]+"-"+K[t[e+6]]+K[t[e+7]]+"-"+K[t[e+8]]+K[t[e+9]]+"-"+K[t[e+10]]+K[t[e+11]]+K[t[e+12]]+K[t[e+13]]+K[t[e+14]]+K[t[e+15]]).toLowerCase()}let tn;const Bs=new Uint8Array(16);function Gs(){if(!tn){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");tn=crypto.getRandomValues.bind(crypto)}return tn(Bs)}const Tr={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function Qs(t,e,n){var i;if(Tr.randomUUID&&!t)return Tr.randomUUID();t=t||{};const r=t.random??((i=t.rng)==null?void 0:i.call(t))??Gs();if(r.length<16)throw new Error("Random bytes length must be >= 16");return r[6]=r[6]&15|64,r[8]=r[8]&63|128,qs(r)}function wr(t){const e=t.replace(/-/g,""),n=[];for(let r=0;r<e.length;r+=2)n.push(parseInt(e.substring(r,r+2),16));return n}function Hs(t,e){for(let n=0;n<t.length;n++){if(t[n]<e[n])return-1;if(t[n]>e[n])return 1}return 0}function Ys(t,e){return Hs(wr(t),wr(e))}function W(){return Qs()}function Js(t,e){return t.localeCompare(e)}function Zs(){let t=Js;if(typeof Intl=="object"&&Intl.hasOwnProperty("Collator"))try{t=Intl.Collator("en-US").compare}catch{}return t}const Xs=Zs();let eo=0;function He(t){return bt(`_${t}`,eo++)}function bt(t,e){return`?${t}-${e}`}class Ie extends Error{constructor(e){super(e),this.name="AttrNotFoundError"}}function to(t,e){const n=br(t,e);if(!n)throw new Ie(`Could not find id attr for ${e}`);return n}function mr(t,e,n,r){return[no(t,e,n,r)]}function no(t,e,n,r){return[t(n,r),to(e,n).id,t(n,r),t("time",r)]}function ro(t,e,n){return t.map(r=>r===e?n:r)}function Sr(t,e,n,r,i){const s=ke(e,n,i),o=yr(e,n,i),a=s||o;if(!a)throw new Ie(`Could not find attr for ${[n,i]}`);if(a["value-type"]!=="ref")throw new Error(`Attr ${a.id} is not a ref`);const[u,d]=a["forward-identity"],[c,f]=a["reverse-identity"],h=r+1,p=s?[t(d,r),a.id,t(f,h),He("time")]:[t(d,h),a.id,t(f,r),He("time")];return[s?f:d,h,p,a,!!s]}function vr(t,e){if(typeof e!="string")return function(o){return!1};const r=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/%/g,".*").replace(/_/g,"."),i=new RegExp(`^${r}$`,t?void 0:"i");return function(o){return typeof o!="string"?!1:i.test(o)}}function io(t,e){if(typeof e!="object"||e.hasOwnProperty("$in")||e.hasOwnProperty("in"))return e;const n=t["checked-data-type"]==="date";if(e.hasOwnProperty("$gt"))return{$comparator:!0,$op:n?function(i){return new Date(i[2])>new Date(e.$gt)}:function(i){return i[2]>e.$gt}};if(e.hasOwnProperty("$gte"))return{$comparator:!0,$op:n?function(i){return new Date(i[2])>=new Date(e.$gte)}:function(i){return i[2]>=e.$gte}};if(e.hasOwnProperty("$lt"))return{$comparator:!0,$op:n?function(i){return new Date(i[2])<new Date(e.$lt)}:function(i){return i[2]<e.$lt}};if(e.hasOwnProperty("$lte"))return{$comparator:!0,$op:n?function(i){return new Date(i[2])<=new Date(e.$lte)}:function(i){return i[2]<=e.$lte}};if(e.hasOwnProperty("$like")){const r=vr(!0,e.$like);return{$comparator:!0,$op:function(s){return r(s[2])}}}if(e.hasOwnProperty("$ilike")){const r=vr(!1,e.$ilike);return{$comparator:!0,$op:function(s){return r(s[2])}}}return e}function so(t,e,n,r,i,s){const o=ke(e,n,i),a=yr(e,n,i),u=o||a;if(!u)throw new Ie(`No attr for etype = ${n} label = ${i}`);if(s!=null&&s.hasOwnProperty("$isNull")){const d=ke(e,n,"id");if(!d)throw new Ie(`No attr for etype = ${n} label = id`);return[t(n,r),d.id,{$isNull:{attrId:u.id,isNull:s.$isNull,reverse:!o}},He("time")]}return o?[t(n,r),u.id,io(u,s),He("time")]:[s,u.id,t(n,r),He("time")]}function oo(t,e,n,r,i){const[s,o,a]=i.reduce((u,d)=>{const[c,f,h]=u,[p,b,y]=Sr(t,e,c,f,d);return[p,b,[...h,y]]},[n,r,[]]);return[s,o,a]}function nn(t,e,n,r,i,s){const o=i.slice(0,i.length-1),a=i[i.length-1],[u,d,c]=oo(t,e,n,r,o),f=so(t,e,u,d,a,s);return c.concat([f])}function ao(t,e){return e?[e].concat(t):t}function uo([t,e]){return t==="or"&&Array.isArray(e)}function co([t,e]){return t==="and"&&Array.isArray(e)}function fo(t,e,n){return(r,i)=>{const s=t(r,i);return e==s?s:`${s}-${n}`}}function Or(t,e,n,r,i,s){const o=t(r,i),a=s.map((u,d)=>{const c=fo(t,o,d);return Ar(c,n,r,i,u)});return{[e]:{patterns:a,joinSym:o}}}function lo(t){const e=[];for(let n=1;n<=t.length;n++)e.push(t.slice(0,n));return e}function Er(t,e,n,r,i){return lo(i).map(s=>nn(t,e,n,r,s,{$isNull:!0}))}function Ar(t,e,n,r,i){return Object.entries(i).flatMap(([s,o])=>{if(uo([s,o]))return Or(t,"or",e,n,r,o);if(co([s,o]))return Or(t,"and",e,n,r,o);if(s==="$entityIdStartsWith")return[];const a=s.split(".");if(o!=null&&o.hasOwnProperty("$ne")&&(o=Object.assign(Object.assign({},o),{$not:o.$ne}),delete o.$ne),o!=null&&o.hasOwnProperty("$not")){const u=nn(t,e,n,r,a,o),d=Er(t,e,n,r,a);return[{or:{patterns:[u,...d],joinSym:t(n,r)}}]}return o!=null&&o.hasOwnProperty("$isNull")&&o.$isNull===!0&&a.length>1?[{or:{patterns:Er(t,e,n,r,a),joinSym:t(n,r)}}]:nn(t,e,n,r,a,o)})}function ho(t,e,n,r){const i=bt;return r?Ar(i,t,e,n,r).concat(mr(i,t,e,n)):mr(i,t,e,n)}function po(t,e,n){return[t(e,n),t("time",n)]}function yo(t,e,n,r,i,s){const[o,a,u,d,c]=Sr(t,e,n,r,i),f=ro(u,t(n,r),s);return[o,a,f,d,c]}function bo(t,e,{etype:n,level:r,form:i},s){const o=Object.keys(i).filter(a=>a!=="$");return o.length?Object.entries(s).map(function([u,d]){return o.map(function(h){var p,b,y;const _=!!(e.cardinalityInference&&(!((y=(b=(p=e.linkIndex)===null||p===void 0?void 0:p[n])===null||b===void 0?void 0:b[h])===null||y===void 0)&&y.isSingular));try{const[T,w,m]=yo(t,e,n,r,h,u),I=kr(e,{etype:T,level:w,form:i[h],join:m}),v=_?I[0]:I;return{[h]:v}}catch(T){if(T instanceof Ie)return{[h]:_?void 0:[]};throw T}}).reduce(function(h,p){return Object.assign(Object.assign({},h),p)},d)}):Object.values(s)}function _o(t,e,n){return n==="string"?Xs(t,e):t>e?1:-1}function _t([t,e],[n,r],i){return e===r||e==null&&r==null?Ys(t,n):r==null?1:e==null?-1:_o(e,r,i)}function rn(t){return t==null?t:new Date(t).getTime()}function go(t,e,n,r){var i;const[s,o,a,u]=t,d=n==="desc"?1:-1;if(((i=e["forward-identity"])===null||i===void 0?void 0:i[2])==="id")return _t(r,[s,u],null)===d;const[c,f]=r,h=e["checked-data-type"],p=h==="date"?rn(f):f,b=h==="date"?rn(a):a;return _t([c,p],[s,b],h)===d}function To(t,e){const n=e[1];return t.attrs[n]}function wo(t,e,n){const r=Object.keys(n)[0];return ke(t,e,r)}function mo(t,e,n,r){if(n)return To(t,n);if(r)return wo(t,e,r)}function So(t,e,n){var r,i;if(!Array.isArray(n.fields))return Ps(t,e);const s=new Map;for(const o of n.fields){const a=ke(t,e,o),u=(r=a==null?void 0:a["forward-identity"])===null||r===void 0?void 0:r[2];u&&Yt(a)&&s.set(u,a)}if(!s.has("id")){const o=ke(t,e,"id"),a=(i=o==null?void 0:o["forward-identity"])===null||i===void 0?void 0:i[2];a&&s.set(a,o)}return s}function vo(t,{etype:e,pageInfo:n,dq:r,form:i}){var s,o;const a=(s=i==null?void 0:i.$)===null||s===void 0?void 0:s.order,u=Cr(i),d=Oo(i);let c=Vs(t,r);const f=n==null?void 0:n["start-cursor"],h=mo(t,e,f,a);if(h&&((o=h==null?void 0:h["forward-identity"])===null||o===void 0?void 0:o[2])!=="id"){const y=h["checked-data-type"]==="date",_=h.id;c=c.map(([T])=>{var w,m,I,v,R;let F=(R=(v=(I=(m=(w=t.eav.get(T))===null||w===void 0?void 0:w.get(_))===null||m===void 0?void 0:m.values())===null||I===void 0?void 0:I.next())===null||v===void 0?void 0:v.value)===null||R===void 0?void 0:R[2];return y&&(F=rn(F)),[T,F]})}c.sort(d==="asc"?function(_,T){return _t(_,T,h==null?void 0:h["checked-data-type"])}:function(_,T){return _t(T,_,h==null?void 0:h["checked-data-type"])});let p={};const b=So(t,e,r);for(const y of c){const[_]=y;if(p[_]||!u&&f&&h&&go(f,h,d,y))continue;const T=Is(t,b,_);T&&(p[_]=T)}return p}function Oo(t){var e;const n=(e=t.$)===null||e===void 0?void 0:e.order;return n&&n[Object.keys(n)[0]]||"asc"}function Cr(t){var e,n,r;const i=(e=t.$)===null||e===void 0?void 0:e.offset,s=(n=t.$)===null||n===void 0?void 0:n.before,o=(r=t.$)===null||r===void 0?void 0:r.after;return!i&&!s&&!o}function Eo(t,{etype:e,level:n,form:r,join:i,pageInfo:s}){var o,a,u,d,c;if(!Cr(r)&&(!s||!s["start-cursor"]))return[];const f=ao(ho(t,e,n,(o=r.$)===null||o===void 0?void 0:o.where),i),h=po(bt,e,n),p=(a=r.$)===null||a===void 0?void 0:a.fields,b=vo(t,{etype:e,pageInfo:s,form:r,dq:{where:f,find:h,fields:p}}),y=((u=r.$)===null||u===void 0?void 0:u.limit)||((d=r.$)===null||d===void 0?void 0:d.first)||((c=r.$)===null||c===void 0?void 0:c.last);if(y!=null){n>0&&console.warn("WARNING: Limits in child queries are only run client-side. Data returned from the server will not have a limit.");const _=Object.entries(b);return _.length<=y?b:Object.fromEntries(_.slice(0,y))}return b}function Ao(t,e){try{return Eo(t,e)}catch(n){if(n instanceof Ie)return{};throw n}}function kr(t,e){const n=Ao(t,e);return bo(bt,t,e,n)}function Co(t){const e={};for(const[n,r]of Object.entries(t))e[n]={startCursor:r["start-cursor"],endCursor:r["end-cursor"],hasNextPage:r["has-next-page?"],hasPreviousPage:r["has-previous-page?"]};return e}function jr({store:t,pageInfo:e,aggregate:n},r){const s={data:Object.keys(r).reduce(function(a,u){return n!=null&&n[u]||u==="$$ruleParams"||(a[u]=kr(t,{etype:u,form:r[u],level:0,pageInfo:e==null?void 0:e[u]})),a},{})};return e&&(s.pageInfo=Co(e)),n&&(s.aggregate=n),s}function ko(){const e={__etype:1,__ops:1,create:1,update:1,link:1,unlink:1,delete:1,merge:1,ruleParams:1};return new Set(Object.keys(e))}const jo=ko();function sn(t,e,n){const r={__etype:t,__ops:n};return new Proxy(r,{get:(i,s)=>{if(s==="__ops")return n;if(s==="__etype")return t;if(jo.has(s))return(o,a)=>sn(t,e,[...n,a?[s,t,e,o,a]:[s,t,e,o]])}})}function Io(t,e){return`lookup__${t}__${JSON.stringify(e)}`}function gt(t){return t.startsWith("lookup__")}function Ir(t){const[e,n,...r]=t.split("__");return[n,JSON.parse(r.join("__"))]}function Po(t){return new Proxy({__etype:t},{get(e,n){if(n==="__etype")return t;const r=n;return gt(r)?sn(t,Ir(r),[]):sn(t,r,[])}})}function on(){return new Proxy({},{get(t,e){return Po(e)}})}const Mo=on();function Ro(t){return t.__ops}function xo(t,e){const{attrIdMap:n,refSwapAttrIds:r}=t,i=[];for(const o of e){const a=n[o];if(a)i.push(a);else if(Array.isArray(o)&&o.length==2&&n[o[0]]){const[u,d]=o;i.push([n[u],d])}else i.push(o)}const[s]=e;if((s==="add-triple"||s==="retract-triple")&&r.has(e[2])){const o=i[1];i[1]=i[3],i[3]=o}return i}function q(t,e,n){return Object.values(t).find(r=>{const[i,s,o]=r["forward-identity"];return s===e&&o===n})}function me(t,e,n){return Object.values(t).find(r=>{const i=r["reverse-identity"];if(!i)return!1;const[s,o,a]=i;return o===e&&a===n})}function Do(t){if(Array.isArray(t))return t;const e=Object.entries(t);if(e.length!==1)throw new Error("lookup must be an object with a single unique attr and value.");return e[0]}function an(t,e,n){return n.indexOf(".")!==-1&&!q(t,e,n)}function un(t){const[e,n,...r]=t.split(".");if(r.length>0||n!=="id")throw new Error(`${t} is not a valid lookup attribute.`);return e}function $o(t,e,n){if(!an(t,e,n))return q(t,e,n);const r=un(n),i=q(t,e,r)||me(t,e,r);if(i&&i["value-type"]!=="ref")throw new Error(`${n} does not reference a valid link attribute.`);return i}function cn(t){return typeof t=="string"&&!gt(t)?null:typeof t=="string"&>(t)?Ir(t):Do(t)}function ee(t,e,n){const r=cn(n);if(r===null)return n;const[i,s]=r,o=$o(t,e,i);if(!o||!o["unique?"])throw new Error(`${i} is not a unique attribute.`);return[o.id,s]}function Pr(t,e,n,r){const i=ee(t,e,n);return Array.isArray(i)?[["add-triple",i,q(t,e,"id").id,i]].concat(r):r}function Uo({attrs:t},[e,n,r]){const i=Object.entries(r).flatMap(([s,o])=>{const a=Array.isArray(o)?o:[o],u=q(t,e,s),d=me(t,e,s);return a.map(c=>u?["add-triple",ee(t,e,n),u.id,ee(t,u["reverse-identity"][1],c)]:["add-triple",ee(t,d["forward-identity"][1],c),d.id,ee(t,e,n)])});return Pr(t,e,n,i)}function Lo({attrs:t},[e,n,r]){const i=Object.entries(r).flatMap(([s,o])=>{const a=Array.isArray(o)?o:[o],u=q(t,e,s),d=me(t,e,s);return a.map(c=>u?["retract-triple",ee(t,e,n),u.id,ee(t,u["reverse-identity"][1],c)]:["retract-triple",ee(t,d["forward-identity"][1],c),d.id,ee(t,e,n)])});return Pr(t,e,n,i)}function Fo(t,e,n){if(Array.isArray(n)){const[r,i]=n;for(const s of t||[]){const o=s==null?void 0:s.aev.get(r);if(o){for(const[a,u,d]of X(o,2))if(d===i)return!0}}}else for(const r of t||[]){const i=r==null?void 0:r.eav.get(n);if(i){for(const s of i.keys())if(r.attrs[s]["forward-identity"][1]==e)return!0}}return!1}function Mr({stores:t,attrs:e},[n,r,i,s]){return(s==null?void 0:s.upsert)===!1?{mode:"update"}:(s==null?void 0:s.upsert)===!0?null:Fo(t,n,r)?{mode:"update"}:null}function No(t,e){const{stores:n,attrs:r}=t,[i,s,o,a]=e,u=Gt(o),d=ee(r,i,s);return[["id",d]].concat(Object.entries(u)).map(([f,h])=>{const p=q(r,i,f);return p["checked-data-type"]==="date"&&t.useDateObjects&&(h=ht(h)),["add-triple",d,p.id,h,{mode:"create"}]})}function Wo(t,e){const{stores:n,attrs:r}=t,[i,s,o,a]=e,u=Gt(o),d=ee(r,i,s),c=Mr(t,[i,d,o,a]);return[["id",d]].concat(Object.entries(u)).map(([h,p])=>{const b=q(r,i,h);return b["checked-data-type"]==="date"&&t.useDateObjects&&(p=ht(p)),["add-triple",d,b.id,p,...c?[c]:[]]})}function Vo({attrs:t},[e,n]){return[["delete-entity",ee(t,e,n),e]]}function zo(t,e){const{stores:n,attrs:r}=t,[i,s,o,a]=e,u=Gt(o),d=ee(r,i,s),c=Mr(t,[i,d,o,a]),f=Object.entries(u).map(([p,b])=>{const y=q(r,i,p);return["deep-merge-triple",d,y.id,b,...c?[c]:[]]});return[["add-triple",d,q(r,i,"id").id,d,...c?[c]:[]]].concat(f)}function Ko({attrs:t},[e,n,r]){return[["rule-params",ee(t,e,n),e,r]]}function qo(t){const[e,n,r,i,s]=t;if(!i)return t;const o=Object.assign({},i);return delete o.id,[e,n,r,o,...s?[s]:[]]}function Bo(t,e){const[n,...r]=qo(e);switch(n){case"merge":return zo(t,r);case"create":return No(t,r);case"update":return Wo(t,r);case"link":return Uo(t,r);case"unlink":return Lo(t,r);case"delete":return Vo(t,r);case"ruleParams":return Ko(t,r);default:throw new Error(`unsupported action ${n}`)}}function Go(t){switch(t){case"string":case"date":case"boolean":case"number":return t;default:return}}function Qo(t,e,n){var r,i;const s=(i=(r=t.entities[e])===null||r===void 0?void 0:r.attrs)===null||i===void 0?void 0:i[n];if(n==="id")return null;if(!s)throw new Error(`${e}.${n} does not exist in your schema`);const{unique:o,indexed:a}=s==null?void 0:s.config,u=Go(s==null?void 0:s.valueType);return{"index?":a,"unique?":o,"checked-data-type":u}}function Tt(t,e,n,r){const i=t?Qo(t,e,n):null,s=W(),a=[W(),e,n];return Object.assign(Object.assign({id:s,"forward-identity":a,"value-type":"blob",cardinality:"one","unique?":!1,"index?":!1,isUnsynced:!0},i||{}),r||{})}function Ho(t,e,n){return Object.values(t.links).find(i=>i.forward.on===e&&i.forward.label===n||i.reverse.on===e&&i.reverse.label===n)}function Yo(t,e,n){const r=Ho(t,e,n);if(!r)throw new Error(`Couldn't find the link ${e}.${n} in your schema`);const{forward:i,reverse:s}=r;return{"forward-identity":[W(),i.on,i.label],"reverse-identity":[W(),s.on,s.label],cardinality:i.has==="one"?"one":"many","unique?":s.has==="one","on-delete":i.onDelete,"on-delete-reverse":s.onDelete}}function Rr(t,e,n,r){const i=t?Yo(t,e,n):null,s=W(),o=[W(),e,n],a=[W(),n,e];return Object.assign(Object.assign({id:s,"forward-identity":o,"reverse-identity":a,"value-type":"ref",cardinality:"many","unique?":!1,"index?":!1,isUnsynced:!0},i||{}),r||{})}const Jo=new Set(["create","update","merge","link","unlink"]),Zo=new Set(["link","unlink"]),Xo=new Set(["create","update","merge"]),ea=new Set(["link","unlink","create","update","merge","delete","ruleParams"]),dn={"unique?":!0,"index?":!0},ta=Object.assign(Object.assign({},dn),{cardinality:"one"});function na(t){const e=[],[n,r,i,s]=t;if(!ea.has(n))return e;const o=cn(i);if(o&&e.push({etype:r,lookupPair:o}),n==="link")for(const[a,u]of Object.entries(s)){const d=Array.isArray(u)?u:[u];for(const c of d){const f=cn(c);f&&e.push({etype:r,lookupPair:f,linkLabel:a})}}return e}function ra({attrs:t,schema:e},n){var r,i;const[s,o,a]=[new Set,Object.assign({},t),[]];function u(f){o[f.id]=f,a.push(["add-attr",f]),s.add(f.id)}function d(f){f!=null&&f.isUnsynced&&!s.has(f.id)&&(a.push(["add-attr",f]),s.add(f.id))}function c(f,h){const p=q(o,f,h),b=me(o,f,h);d(p),d(b),!p&&!b&&u(Rr(e,f,h,ta))}for(const f of n)for(const{etype:h,lookupPair:p,linkLabel:b}of na(f)){const y=p[0];if(b){c(h,b);const _=q(o,h,b),T=me(o,h,b);d(_),d(T);const w=((r=_==null?void 0:_["reverse-identity"])===null||r===void 0?void 0:r[1])||((i=T==null?void 0:T["forward-identity"])===null||i===void 0?void 0:i[1])||b;if(an(o,w,y))c(w,un(y));else{const m=q(o,w,y);m||u(Tt(e,w,y,dn)),d(m)}}else if(an(o,h,y))c(h,un(y));else{const _=q(o,h,y);_||u(Tt(e,h,y,dn)),d(_)}}for(const f of n){const[h,p,b,y]=f;if(Jo.has(h)){const _=q(o,p,"id");d(_),_||u(Tt(e,p,"id",{"unique?":!0}));for(const T of Object.keys(y)){const w=q(o,p,T);if(d(w),Xo.has(h)&&(w||u(Tt(e,p,T,T==="id"?{"unique?":!0}:null))),Zo.has(h)){const m=me(o,p,T);!w&&!m&&u(Rr(e,p,T)),d(m)}}}}return[o,a]}function ia(t,e){const r=(Array.isArray(e)?e:[e]).flatMap(u=>Ro(u)),[i,s]=ra(t,r),o=Object.assign(Object.assign({},t),{attrs:i}),a=r.flatMap(u=>Bo(o,u));return[...s,...a]}var xr=function(t,e,n,r){function i(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function a(c){try{d(r.next(c))}catch(f){o(f)}}function u(c){try{d(r.throw(c))}catch(f){o(f)}}function d(c){c.done?s(c.value):i(c.value).then(a,u)}d((r=r.apply(t,e||[])).next())})};class Dr{constructor(e){this.dbName=e,this._storeName="kv",this._dbPromise=this._init()}_init(){return new Promise((e,n)=>{const r=indexedDB.open(this.dbName,1);r.onerror=i=>{n(i)},r.onsuccess=i=>{const s=i.target;e(s.result)},r.onupgradeneeded=i=>{i.target.result.createObjectStore(this._storeName)}})}getItem(e){return xr(this,void 0,void 0,function*(){const n=yield this._dbPromise;return new Promise((r,i)=>{const a=n.transaction([this._storeName],"readonly").objectStore(this._storeName).get(e);a.onerror=u=>{i(u)},a.onsuccess=u=>{a.result?r(a.result):r(null)}})})}setItem(e,n){return xr(this,void 0,void 0,function*(){const r=yield this._dbPromise;return new Promise((i,s)=>{const u=r.transaction([this._storeName],"readwrite").objectStore(this._storeName).put(n,e);u.onerror=d=>{s(d)},u.onsuccess=d=>{i()}})})}}var sa=function(t,e,n,r){function i(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function a(c){try{d(r.next(c))}catch(f){o(f)}}function u(c){try{d(r.throw(c))}catch(f){o(f)}}function d(c){c.done?s(c.value):i(c.value).then(a,u)}d((r=r.apply(t,e||[])).next())})};class $r{static getIsOnline(){return sa(this,void 0,void 0,function*(){return navigator.onLine})}static listen(e){const n=()=>{e(!0)},r=()=>{e(!1)};return addEventListener("online",n),addEventListener("offline",r),()=>{removeEventListener("online",n),removeEventListener("offline",r)}}}class Pe extends Error{constructor(e,n){super(e),this.hint=n;const r=new.target.prototype;Object.setPrototypeOf&&Object.setPrototypeOf(this,r),Error.captureStackTrace&&Error.captureStackTrace(this,Pe),this.name="InstantError"}get[Symbol.toStringTag](){return"InstantError"}}var oa=function(t,e,n,r){function i(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function a(c){try{d(r.next(c))}catch(f){o(f)}}function u(c){try{d(r.throw(c))}catch(f){o(f)}}function d(c){c.done?s(c.value):i(c.value).then(a,u)}d((r=r.apply(t,e||[])).next())})};class Ye extends Pe{constructor(e){var n;const r=((n=e.body)===null||n===void 0?void 0:n.message)||`API Error (${e.status})`;super(r,e.body.hint);const i=new.target.prototype;Object.setPrototypeOf&&Object.setPrototypeOf(this,i),Error.captureStackTrace&&Error.captureStackTrace(this,Ye),this.name="InstantAPIError",this.status=e.status,this.body=e.body}get[Symbol.toStringTag](){return"InstantAPIError"}}function ce(t,e){return oa(this,void 0,void 0,function*(){const n=yield fetch(t,e),r=yield n.json();return n.status===200?Promise.resolve(r):Promise.reject(new Ye({status:n.status,body:r}))})}var Me=function(t,e,n,r){function i(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function a(c){try{d(r.next(c))}catch(f){o(f)}}function u(c){try{d(r.throw(c))}catch(f){o(f)}}function d(c){c.done?s(c.value):i(c.value).then(a,u)}d((r=r.apply(t,e||[])).next())})};function aa({apiURI:t,appId:e,email:n}){return ce(`${t}/runtime/auth/send_magic_code`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({"app-id":e,email:n})})}function ua(t){return Me(this,arguments,void 0,function*({apiURI:e,appId:n,email:r,code:i,refreshToken:s}){return yield ce(`${e}/runtime/auth/verify_magic_code`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(Object.assign({"app-id":n,email:r,code:i},s?{"refresh-token":s}:{}))})})}function ca(t){return Me(this,arguments,void 0,function*({apiURI:e,appId:n,refreshToken:r}){return yield ce(`${e}/runtime/auth/verify_refresh_token`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({"app-id":n,"refresh-token":r})})})}function da(t){return Me(this,arguments,void 0,function*({apiURI:e,appId:n}){return yield ce(`${e}/runtime/auth/sign_in_guest`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({"app-id":n})})})}function Ur(t){return Me(this,arguments,void 0,function*({apiURI:e,appId:n,code:r,codeVerifier:i,refreshToken:s}){return yield ce(`${e}/runtime/oauth/token`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({app_id:n,code:r,code_verifier:i,refresh_token:s})})})}function fa(t){return Me(this,arguments,void 0,function*({apiURI:e,appId:n,nonce:r,idToken:i,clientName:s,refreshToken:o}){return yield ce(`${e}/runtime/oauth/id_token`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({app_id:n,nonce:r,id_token:i,client_name:s,refresh_token:o})})})}function la(t){return Me(this,arguments,void 0,function*({apiURI:e,appId:n,refreshToken:r}){return yield ce(`${e}/runtime/signout`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({app_id:n,refresh_token:r})})})}var Je=function(t,e,n,r){function i(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function a(c){try{d(r.next(c))}catch(f){o(f)}}function u(c){try{d(r.throw(c))}catch(f){o(f)}}function d(c){c.done?s(c.value):i(c.value).then(a,u)}d((r=r.apply(t,e||[])).next())})};function ha(t){return Je(this,arguments,void 0,function*({apiURI:e,appId:n,path:r,file:i,refreshToken:s,contentType:o,contentDisposition:a}){const u={app_id:n,path:r,authorization:`Bearer ${s}`,"content-type":o||i.type};return a&&(u["content-disposition"]=a),yield ce(`${e}/storage/upload`,{method:"PUT",headers:u,body:i})})}function pa(t){return Je(this,arguments,void 0,function*({apiURI:e,appId:n,path:r,refreshToken:i}){const{data:s}=yield ce(`${e}/storage/files?app_id=${n}&filename=${encodeURIComponent(r)}`,{method:"DELETE",headers:{"content-type":"application/json",authorization:`Bearer ${i}`}});return s})}function ya(t){return Je(this,arguments,void 0,function*({apiURI:e,appId:n,fileName:r,refreshToken:i,metadata:s={}}){const{data:o}=yield ce(`${e}/storage/signed-upload-url`,{method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${i}`},body:JSON.stringify({app_id:n,filename:r})});return o})}function ba(t,e){return Je(this,void 0,void 0,function*(){return(yield fetch(t,{method:"PUT",body:e,headers:{"Content-Type":e.type}})).ok})}function _a(t){return Je(this,arguments,void 0,function*({apiURI:e,appId:n,path:r,refreshToken:i}){const{data:s}=yield ce(`${e}/storage/signed-download-url?app_id=${n}&filename=${encodeURIComponent(r)}`,{method:"GET",headers:{"content-type":"application/json",authorization:`Bearer ${i}`}});return s})}let fn=!1,Lr=!1,Fr=!1;typeof window<"u"&&typeof window.localStorage<"u"&&(fn=!!window.localStorage.getItem("devBackend"),Lr=!!window.localStorage.getItem("__instantLogging"),Fr=!!window.localStorage.getItem("__devtoolLocalDash"));function Nr(t,e){if(!e)return t;const n={};return e.forEach(r=>{n[r]=t[r]}),n}function ga(t,e,n){var r,i;const s={peers:{}};if(e&&"user"in e?e.user:!0){const a=Nr((r=t.user)!==null&&r!==void 0?r:{},e==null?void 0:e.keys);s.user=Object.assign(Object.assign({},a),{peerId:n})}for(const a of Object.keys((i=t.peers)!==null&&i!==void 0?i:{})){const u=(e==null?void 0:e.peers)===void 0,d=Array.isArray(e==null?void 0:e.peers)&&(e==null?void 0:e.peers.includes(a));if(u||d){const c=Nr(t.peers[a],e==null?void 0:e.keys);s.peers[a]=Object.assign(Object.assign({},c),{peerId:a})}}return s}function Ta(t,e){if(t.isLoading!==e.isLoading||t.error!==e.error||(t.user||e.user)&&(!t.user||!e.user||!tr(t.user,e.user))||!er(t.peers,e.peers))return!0;for(const r of Object.keys(t.peers))if(!tr(t.peers[r],e.peers[r]))return!0;return!1}class Wr{constructor(){this.promise=new Promise((e,n)=>{this._resolve=e,this._reject=n})}resolve(e){this._resolve(e)}reject(e){this._reject(e)}}var Ze=function(t,e,n,r){function i(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function a(c){try{d(r.next(c))}catch(f){o(f)}}function u(c){try{d(r.throw(c))}catch(f){o(f)}}function d(c){c.done?s(c.value):i(c.value).then(a,u)}d((r=r.apply(t,e||[])).next())})};function wa(t,e){typeof requestIdleCallback>"u"?t():requestIdleCallback(t,{timeout:e})}class ln{constructor(e,n,r,i,s=d=>d,o=d=>d,a=100,u=1e3){this._subs=[],this._nextSave=null,this._persister=e,this._key=n,this._onMerge=i,this._loadedCbs=[],this._isLoading=!0,this.currentValue=r,this.serialize=s,this.parse=o,this._saveThrottleMs=a,this._pendingSaveCbs=[],this._version=0,this._idleCallbackMaxWaitMs=u,this._load()}_getFromStorage(){return Ze(this,void 0,void 0,function*(){try{return this.parse(yield this._persister.getItem(this._key))}catch(e){return console.error(`Unable to read from storage for key=${this._key}`,e),null}})}_load(){return Ze(this,void 0,void 0,function*(){const e=yield this._getFromStorage();this._isLoading=!1;const n=this._onMerge(e,this.currentValue);n&&(this.currentValue=n);for(const r of this._loadedCbs)r()})}waitForLoaded(){return Ze(this,void 0,void 0,function*(){if(!this._isLoading)return;yield new Promise(n=>{this._loadedCbs.push(n)})})}isLoading(){return this._isLoading}version(){return this._version}waitForSync(){return Ze(this,void 0,void 0,function*(){if(!this._nextSave)return;yield new Promise(n=>{this._pendingSaveCbs.push(n)})})}_writeToStorage(){this._persister.setItem(this._key,this.serialize(this.currentValue));for(const e of this._pendingSaveCbs)e();this._pendingSaveCbs.length=0}flush(){return Ze(this,void 0,void 0,function*(){this._nextSave&&(clearTimeout(this._nextSave),this._writeToStorage())})}_enqueuePersist(e){if(this._nextSave){e&&this._pendingSaveCbs.push(e);return}this._nextSave=setTimeout(()=>{wa(()=>{this._nextSave=null,this._writeToStorage()},this._idleCallbackMaxWaitMs)},this._saveThrottleMs)}set(e,n){this._version++,this.currentValue=e(this.currentValue),this._isLoading?this._loadedCbs.push(()=>this._enqueuePersist(n)):this._enqueuePersist(n);for(const r of this._subs)r(this.currentValue);return this.currentValue}subscribe(e){return this._subs.push(e),e(this.currentValue),()=>{this._subs=this._subs.filter(n=>n!==e)}}}function Vr(t,e=[]){t.forEach(n=>{const{data:r}=n,{"datalog-result":i}=r,{"join-rows":s}=i;for(const o of s)for(const a of o)e.push(a);Vr(n["child-nodes"],e)})}function zr(t){const e=[];return Vr(t,e),e}function Kr(t){return Object.values(t.links).reduce((e,n)=>{var r,i,s,o;return(r=e[s=n.forward.on])!==null&&r!==void 0||(e[s]={}),e[n.forward.on][n.forward.label]={isForward:!0,isSingular:n.forward.has==="one",link:n},(i=e[o=n.reverse.on])!==null&&i!==void 0||(e[o]={}),e[n.reverse.on][n.reverse.label]={isForward:!1,isSingular:n.reverse.has==="one",link:n},e},{})}const hn="v0.22.47-experimental.sync-table.19154203588.1";function ma(t,e){return{info:t?(...n)=>console.info(...n,e()):()=>{},debug:t?(...n)=>console.debug(...n,e()):()=>{},error:t?(...n)=>console.error(...n,e()):()=>{}}}class H{constructor(e,n,r,i={indexed:!1,unique:!1}){this.valueType=e,this.required=n,this.isIndexed=r,this.config=i,this.metadata={}}clientRequired(){return new H(this.valueType,!1,this.isIndexed,this.config)}optional(){return new H(this.valueType,!1,this.isIndexed,this.config)}unique(){return new H(this.valueType,this.required,this.isIndexed,Object.assign(Object.assign({},this.config),{unique:!0}))}indexed(){return new H(this.valueType,this.required,!0,Object.assign(Object.assign({},this.config),{indexed:!0}))}}class wt{constructor(e,n){this.attrs=e,this.links=n}asType(){return new wt(this.attrs,this.links)}}class mt{constructor(e,n,r){this.entities=e,this.links=n,this.rooms=r}withRoomSchema(){return new mt(this.entities,this.links,{})}}class x extends Error{constructor(e,n){const r=n?`At path '${n}': ${e}`:e;super(r),this.name="QueryValidationError"}}const qr=["where","order","limit","last","first","offset","after","before","fields","aggregate"],Sa=t=>t.valueType||"unknown",Br=(t,e,n=!1)=>{if(n||t==null)return!0;switch(e){case"string":return typeof t=="string";case"number":return typeof t=="number"&&!isNaN(t);case"boolean":return typeof t=="boolean";case"date":return t instanceof Date||typeof t=="string"||typeof t=="number";default:return!0}},va=(t,e,n,r,i,s,o)=>{const a=s.valueType==="json",u=(d,c,f)=>{if(!Br(f,c,a))throw new x(`Invalid value for operator '${d}' on attribute '${r}' in entity '${i}'. Expected ${c}, but received: ${typeof f}`,o)};switch(t){case"in":case"$in":if(!Array.isArray(e))throw new x(`Operator '${t}' for attribute '${r}' in entity '${i}' must be an array, but received: ${typeof e}`,o);for(const d of e)u(t,n,d);break;case"$not":case"$ne":case"$gt":case"$lt":case"$gte":case"$lte":u(t,n,e);break;case"$like":case"$ilike":if(u(t,"string",e),t==="$ilike"&&!s.isIndexed)throw new x(`Operator '${t}' can only be used with indexed attributes, but '${r}' in entity '${i}' is not indexed`,o);break;case"$isNull":u(t,"boolean",e);break;default:throw new x(`Unknown operator '${t}' for attribute '${r}' in entity '${i}'`,o)}},Re=(t,e,n,r,i)=>{const s=Sa(n),o=n.valueType==="json";if(typeof t=="object"&&t!==null&&!Array.isArray(t)){if(o)return;const u=t;for(const[d,c]of Object.entries(u))va(d,c,s,e,r,n,`${i}.${d}`)}else if(!Br(t,s,o))throw new x(`Invalid value for attribute '${e}' in entity '${r}'. Expected ${s}, but received: ${typeof t}`,i)},Oa=(t,e,n,r,i)=>{const s=t.split(".");if(s.length<2)throw new x(`Invalid dot notation path '${t}'. Must contain at least one dot.`,i);let o=n;for(let c=0;c<s.length-1;c++){const f=s[c],h=r.entities[o];if(!h)throw new x(`Entity '${o}' does not exist in schema while traversing dot notation path '${t}'.`,i);const p=h.links[f];if(!p){const b=Object.keys(h.links);throw new x(`Link '${f}' does not exist on entity '${o}' in dot notation path '${t}'. Available links: ${b.length>0?b.join(", "):"none"}`,i)}o=p.entityName}const a=s[s.length-1],u=r.entities[o];if(!u)throw new x(`Target entity '${o}' does not exist in schema for dot notation path '${t}'.`,i);if(a==="id"){if(typeof e=="string"&&!je(e))throw new x(`Invalid value for id field in entity '${o}'. Expected a UUID, but received: ${e}`,i);Re(e,t,new H("string",!1,!0),n,i);return}const d=u.attrs[a];if(Object.keys(u.links).includes(a)){if(typeof e=="string"&&!je(e))throw new x(`Invalid value for link '${a}' in entity '${o}'. Expected a UUID, but received: ${e}`,i);Re(e,t,new H("string",!1,!0),n,i);return}if(!d){const c=Object.keys(u.attrs);throw new x(`Attribute '${a}' does not exist on entity '${o}' in dot notation path '${t}'. Available attributes: ${c.length>0?c.join(", ")+", id":"id"}`,i)}Re(e,t,d,n,i)},Gr=(t,e,n,r)=>{for(const[i,s]of Object.entries(t)){if(i==="or"||i==="and"){if(Array.isArray(s))for(const d of s)typeof d=="object"&&d!==null&&Gr(d,e,n,`${r}.${i}[${d}]`);continue}if(i==="id"){Re(s,"id",new H("string",!1,!0),e,`${r}.id`);continue}if(i.includes(".")){Oa(i,s,e,n,`${r}.${i}`);continue}const o=n.entities[e];if(!o)continue;const a=o.attrs[i],u=o.links[i];if(!a&&!u){const d=Object.keys(o.attrs),c=Object.keys(o.links);throw new x(`Attribute or link '${i}' does not exist on entity '${e}'. Available attributes: ${d.length>0?d.join(", "):"none"}. Available links: ${c.length>0?c.join(", "):"none"}`,`${r}.${i}`)}if(a)Re(s,i,a,e,`${r}.${i}`);else if(u){if(typeof s=="string"&&!je(s))throw new x(`Invalid value for link '${i}' in entity '${e}'. Expected a UUID, but received: ${s}`,`${r}.${i}`);const d=new H("string",!1,!0);Re(s,i,d,e,`${r}.${i}`)}}},Ea=(t,e,n,r,i=0)=>{for(const o of Object.keys(t))if(!qr.includes(o))throw new x(`Invalid query parameter '${o}' in $ object. Valid parameters are: ${qr.join(", ")}. Found: ${o}`,r);const s=["offset","before","after","first","last"];for(const o of s)if(t[o]!==void 0&&i>0)throw new x(`'${o}' can only be used on top-level namespaces. It cannot be used in nested queries.`,r);if(t.where&&n){if(typeof t.where!="object"||t.where===null)throw new x(`'where' clause must be an object in entity '${e}', but received: ${typeof t.where}`,r?`${r}.where`:void 0);Gr(t.where,e,n,r?`${r}.where`:"where")}},Qr=(t,e,n,r,i=0)=>{var s;if(!t||typeof t!="object")throw new x(`Query part for entity '${e}' must be an object, but received: ${typeof t}`,r);for(const o of Object.keys(t))if(o!=="$"){if(n&&!(o in n.entities[e].links)){const u=Object.keys(n.entities[e].links);throw new x(`Link '${o}' does not exist on entity '${e}'. Available links: ${u.length>0?u.join(", "):"none"}`,`${r}.${o}`)}const a=t[o];if(typeof a=="object"&&a!==null){const u=(s=n==null?void 0:n.entities[e].links[o])===null||s===void 0?void 0:s.entityName;u&&Qr(a,u,n,`${r}.${o}`,i+1)}}else{const a=t[o];if(typeof a!="object"||a===null)throw new x(`Query parameter '$' must be an object in entity '${e}', but received: ${typeof a}`,`${r}.$`);Ea(a,e,n,`${r}.$`,i)}},Hr=(t,e)=>{if(typeof t!="object"||t===null)throw new x(`Query must be an object, but received: ${typeof t}${t===null?" (null)":""}`);if(Array.isArray(t))throw new x(`Query must be an object, but received: ${typeof t}`);const n=t;for(const r of Object.keys(n)){if(Array.isArray(t[r]))throw new x(`Query keys must be strings, but found key of type: ${typeof r}`,r);if(typeof r!="string")throw new x(`Query keys must be strings, but found key of type: ${typeof r}`,r);if(r!=="$$ruleParams"){if(e&&!e.entities[r]){const i=Object.keys(e.entities);throw new x(`Entity '${r}' does not exist in schema. Available entities: ${i.length>0?i.join(", "):"none"}`,r)}Qr(n[r],r,e,r,0)}}},Yr=t=>typeof t!="string"?!1:gt(t)?!0:je(t);class se extends Error{constructor(e){super(e),this.name="TransactionValidationError"}}const Jr=t=>t.length>0?t.join(", "):"none",Aa=(t,e)=>new se(`Entity '${t}' does not exist in schema. Available entities: ${Jr(e)}`),Zr={string:t=>typeof t=="string",number:t=>typeof t=="number"&&!isNaN(t),boolean:t=>typeof t=="boolean",date:t=>t instanceof Date||typeof t=="string"||typeof t=="number",json:()=>!0},Ca=(t,e)=>{var n,r;return t==null?!0:(r=(n=Zr[e.valueType])===null||n===void 0?void 0:n.call(Zr,t))!==null&&r!==void 0?r:!1},Xr=(t,e)=>{const n=e.entities[t];if(!n)throw Aa(t,Object.keys(e.entities));return n},pn=(t,e,n)=>{const r=Xr(t,n);if(typeof e!="object"||e===null)throw new se(`Arguments for data operation on entity '${t}' must be an object, but received: ${typeof e}`);for(const[i,s]of Object.entries(e)){if(i==="id")continue;const o=r.attrs[i];if(o&&!Ca(s,o))throw new se(`Invalid value for attribute '${i}' in entity '${t}'. Expected ${o.valueType}, but received: ${typeof s}`)}},ei=(t,e,n)=>{const r=Xr(t,n);if(typeof e!="object"||e===null)throw new se(`Arguments for link operation on entity '${t}' must be an object, but received: ${typeof e}`);for(const[i,s]of Object.entries(e)){if(!r.links[i]){const a=Object.keys(r.links);throw new se(`Link '${i}' does not exist on entity '${t}'. Available links: ${Jr(a)}`)}if(s!=null){if(Array.isArray(s)){for(const a of s)if(!Yr(a))throw new se(`Invalid entity ID in link '${i}' for entity '${t}'. Expected a UUID or a lookup, but received: ${a}`)}else if(!Yr(s))throw new se(`Invalid UUID in link '${i}' for entity '${t}'. Expected a UUID, but received: ${s}`)}}},ka={create:pn,update:pn,merge:pn,link:ei,unlink:ei,delete:()=>{}},ja=(t,e)=>{if(!e)return;const[n,r,i,s]=t;if(!Array.isArray(i)&&!je(i))throw new se(`Invalid id for entity '${r}'. Expected a UUID, but received: ${i}`);if(typeof r!="string")throw new se(`Entity name must be a string, but received: ${typeof r}`);const o=ka[n];o&&s!==void 0&&o(r,s,e)},Ia=(t,e)=>{const n=Array.isArray(t)?t:[t];for(const r of n){if(!r||typeof r!="object")throw new se(`Transaction chunk must be an object, but received: ${typeof r}`);if(!Array.isArray(r.__ops))throw new se(`Transaction chunk must have __ops array, but received: ${typeof r.__ops}`);for(const i of r.__ops){if(!Array.isArray(i))throw new se(`Transaction operation must be an array, but received: ${typeof i}`);ja(i,e)}}};var ti=function(t,e,n,r){function i(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function a(c){try{d(r.next(c))}catch(f){o(f)}}function u(c){try{d(r.throw(c))}catch(f){o(f)}}function d(c){c.done?s(c.value):i(c.value).then(a,u)}d((r=r.apply(t,e||[])).next())})};let ni=0;class ri{constructor(e){this.type="ws",this.id=`${this.type}_${ni++}`,this.conn=new WebSocket(e),this.conn.onopen=n=>{this.onopen&&this.onopen({target:this})},this.conn.onmessage=n=>{this.onmessage&&this.onmessage({target:this,message:JSON.parse(n.data.toString())})},this.conn.onclose=n=>{this.onclose&&this.onclose({target:this})},this.conn.onerror=n=>{this.onerror&&this.onerror({target:this})}}close(){this.conn.close()}isOpen(){return this.conn.readyState===WebSocket.OPEN}isConnecting(){return this.conn.readyState===WebSocket.CONNECTING}send(e){return this.conn.send(JSON.stringify(e))}}class Pa{constructor(e,n){this.type="sse",this.initParams=null,this.sendQueue=[],this.closeFired=!1,this.sseInitTimeout=null,this.id=`${this.type}_${ni++}`,this.url=n,this.ES=e,this.conn=new e(n),this.sseInitTimeout=setTimeout(()=>{this.initParams||this.handleError()},1e4),this.conn.onmessage=r=>{const i=JSON.parse(r.data);if(i.op==="sse-init"){this.initParams={machineId:i["machine-id"],sessionId:i["session-id"],sseToken:i["sse-token"]},this.onopen&&this.onopen({target:this}),clearTimeout(this.sseInitTimeout);return}this.onmessage&&this.onmessage({target:this,message:i})},this.conn.onerror=r=>{this.handleError()}}handleError(){try{this.onerror&&this.onerror({target:this})}finally{this.handleClose()}}handleClose(){this.conn.close(),this.onclose&&!this.closeFired&&(this.closeFired=!0,this.onclose({target:this}))}postMessages(e){return ti(this,void 0,void 0,function*(){try{(yield fetch(this.url,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({machine_id:this.initParams.machineId,session_id:this.initParams.sessionId,sse_token:this.initParams.sseToken,messages:e})})).ok||this.handleError()}catch{this.handleError()}})}flushQueue(){return ti(this,void 0,void 0,function*(){if(this.sendPromise||!this.sendQueue.length)return;const e=this.sendQueue;this.sendQueue=[];const n=this.postMessages(e);this.sendPromise=n,n.then(()=>{this.sendPromise=null,this.flushQueue()})})}send(e){if(!this.isOpen()||!this.initParams)throw this.isConnecting()?new Error("Failed to execute 'send' on 'EventSource': Still in CONNECTING state."):this.conn.readyState===this.ES.CLOSED?new Error("EventSource is already in CLOSING or CLOSED state."):new Error("EventSource is in invalid state.");this.sendQueue.push(e),this.flushQueue()}isOpen(){return this.conn.readyState===this.ES.OPEN&&this.initParams!==null}isConnecting(){return this.conn.readyState===this.ES.CONNECTING||this.conn.readyState===this.ES.OPEN&&this.initParams===null}close(){this.handleClose()}}var ii=function(t,e,n,r){function i(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function a(c){try{d(r.next(c))}catch(f){o(f)}}function u(c){try{d(r.throw(c))}catch(f){o(f)}}function d(c){c.done?s(c.value):i(c.value).then(a,u)}d((r=r.apply(t,e||[])).next())})};function Ma(t,e){for(const n in t){const r=t[n];for(const i of r.entities||[])i.store=cr(i.store)}return t}function Ra(t){const e={};for(const n in t){const r=t[n];if(r.entities){const i=[];for(const s of r.entities)i.push({store:ur(s.store),entity:s.entity});e[n]=Object.assign(Object.assign({},r),{entities:i})}else e[n]=r}return e}function xa(t,e){const n={};for(const[r,i]of Object.entries(e))n[r]=i;if(t)for(const[r,i]of Object.entries(t))n[r]=i;return n}function yn(t,e){const n=Object.keys(t.query)[0];return jr({store:e,pageInfo:null,aggregate:null},t.query).data[n][0]}function si(t,e){for(const{action:n,triple:r}of e)switch(n){case"added":lr(t,r);break;case"removed":dr(t,r);break}}function Da(t,e){var n,r,i,s;const o={};for(const{action:a,triple:u}of e){const[d,c,f]=u,h=(r=(n=t.attrs[c])===null||n===void 0?void 0:n["forward-identity"])===null||r===void 0?void 0:r[2];if(!h)continue;const p=(i=o[d])!==null&&i!==void 0?i:{};o[d]=p;const b=(s=p[h])!==null&&s!==void 0?s:{};switch(p[h]=b,a){case"added":b.newValue=f;break;case"removed":b.oldValue===void 0&&(b.oldValue=f);break}}return o}var xe;(function(t){t.InitialSyncBatch="InitialSyncBatch",t.InitialSyncComplete="InitialSyncComplete",t.LoadFromStorage="LoadFromStorage",t.SyncTransaction="SyncTransaction",t.Error="Error"})(xe||(xe={}));class $a{constructor(e,n,r,i,s){this.callbacks={},this.idToHash={},this.trySend=e,this.config=r,this.log=i,this.createStore=s,this.subs=new ln(n,"subs",{},xa,Ra,o=>Ma(o,this.config.useDateObjects))}beforeUnload(){this.subs.flush()}subscribe(e,n){const r=z(e);return this.callbacks[r]=this.callbacks[r]||[],this.callbacks[r].push(n),this.initSubscription(e,r,n),i=>{this.unsubscribe(r,n,i)}}unsubscribe(e,n,r){const i=(this.callbacks[e]||[]).filter(s=>s!==n);if(this.callbacks[e]=i,!i.length){if(delete this.callbacks[e],r)return;const s=this.subs.currentValue[e];s!=null&&s.state&&this.clearSubscriptionData(s.state.subscriptionId),this.subs.set(o=>(delete o[e],o))}}sendStart(e){this.trySend(W(),{op:"start-sync",q:e})}sendResync(e,n){this.idToHash[n.subscriptionId]=e.hash,this.trySend(n.subscriptionId,{op:"resync-table","subscription-id":n.subscriptionId,"tx-id":n.txId,token:n.token})}sendRemove(e){this.trySend(W(),{op:"remove-sync","subscription-id":e.subscriptionId})}initSubscription(e,n,r){return ii(this,void 0,void 0,function*(){yield this.subs.waitForLoaded();const i=this.subs.currentValue[n];if(i&&i.state&&i.state.txId){this.sendResync(i,i.state),i.entities&&r&&r({type:xe.LoadFromStorage,data:i.entities.map(s=>s.entity)});return}this.subs.set(s=>(s[n]={query:e,hash:n},s)),this.sendStart(e)})}flushPending(){return ii(this,void 0,void 0,function*(){yield this.subs.waitForLoaded();for(const e of Object.keys(this.callbacks)){const n=this.subs.currentValue[e];n?yield this.initSubscription(n.query,n.hash):this.log.error("Missing sub for hash in flushPending",e)}})}onStartSyncOk(e){const n=e["subscription-id"],r=e.q,i=z(r);this.idToHash[n]=i,this.subs.set(s=>{const o=s[i];return o?(o.state={subscriptionId:n,token:e.token},s):(this.log.error("Missing sub for hash",i,"subscription-id",n,"query",r),s)})}notifyCbs(e,n){for(const r of this.callbacks[e]||[])r(n)}onSyncLoadBatch(e){const n=e["subscription-id"],r=e["join-rows"],i=this.idToHash[n];if(!i){this.log.error("Missing hash for subscription",e);return}const s=[],a=this.subs.set(u=>{var d;const c=u[i];if(!c)return this.log.error("Missing sub for hash",i,e),u;const f=(d=c.entities)!==null&&d!==void 0?d:[];c.entities=f;for(const h of r){const p=this.createStore(h),b=yn(c,p);f.push({store:p,entity:b}),s.push(b)}return u})[i];a.entities&&this.notifyCbs(i,{type:xe.InitialSyncBatch,data:a.entities.map(u=>u.entity),batch:s})}onSyncInitFinish(e){const n=e["subscription-id"],r=this.idToHash[n];if(!r){this.log.error("Missing hash for subscription",e);return}this.subs.set(i=>{const s=i[r];if(!s)return this.log.error("Missing sub for hash",r,e),i;const o=s.state;return o?(o.txId=e["tx-id"],i):(this.log.error("Sub never set init, missing result",s,e),i)})}onSyncUpdateTriples(e){const n=e["subscription-id"],r=this.idToHash[n];if(!r){this.log.error("Missing hash for subscription",e);return}this.subs.set(i=>{var s;const o=i[r];if(!o)return this.log.error("Missing sub for hash",r,e),i;const a=o.state;if(!a)return this.log.error("Missing state for sub",o,e),i;for(const u of e.txes){if(a.txId>=u["tx-id"])continue;a.txId=u["tx-id"];const d=[],c={};for(const y of u.changes){const _=(s=c[y.triple[0]])!==null&&s!==void 0?s:[];c[y.triple[0]]=_,_.push(y)}const f=o.entities||[];o.entities=f;const h=[];e:for(const[y,_]of Object.entries(c))for(const[T,w]of Object.entries(f))if(ms(w.store,y)){si(w.store,_);const m=yn(o,w.store),I=Da(w.store,_)[y];for(const[v,{oldValue:R,newValue:F}]of Object.entries(I||{}))R===F&&delete I[v];m?(h.push({oldEntity:w.entity,newEntity:m,changedFields:I||{}}),w.entity=m):d.push(T),delete c[y];continue e}const p=[];for(const[y,_]of Object.entries(c)){const T=this.createStore([]);si(T,_);const w=yn(o,T);if(!w){this.log.error("No entity found after applying change",{sub:o,changes:_,store:T});continue}f.push({store:T,entity:w}),p.push(w)}const b=[];for(const y of d.sort().reverse())b.push(f[y].entity),f.splice(y,1);this.notifyCbs(r,{type:xe.SyncTransaction,data:f.map(y=>y.entity),added:p,removed:b,updated:h})}return i})}clearSubscriptionData(e){const n=this.idToHash[e];if(n){delete this.idToHash[e];const r=this.subs.currentValue[n];if(r.state&&this.sendRemove(r.state),this.subs.set(i=>(delete i[n],i)),r)return r}}onStartSyncError(e){const n=z(e["original-event"].q),r={message:e.message||"Uh-oh, something went wrong. Ping Joe & Stopa.",status:e.status,type:e.type,hint:e.hint};this.notifyCbs(n,{type:xe.Error,data:[],error:r})}onResyncError(e){const n=e["original-event"]["subscription-id"],r=this.clearSubscriptionData(n);r&&this.initSubscription(r.query,r.hash)}}var L=function(t,e,n,r){function i(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function a(c){try{d(r.next(c))}catch(f){o(f)}}function u(c){try{d(r.throw(c))}catch(f){o(f)}}function d(c){c.done?s(c.value):i(c.value).then(a,u)}d((r=r.apply(t,e||[])).next())})},Ua=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};const ye={CONNECTING:"connecting",OPENED:"opened",AUTHENTICATED:"authenticated",CLOSED:"closed",ERRORED:"errored"},La=3e4,Fa=3e4,Na=200,Wa={apiURI:"https://api.instantdb.com",websocketURI:"wss://api.instantdb.com/runtime/session"},bn="_instant_oauth_redirect",_n="currentUser";function Va({transportType:t,appId:e,apiURI:n,wsURI:r,EventSourceImpl:i}){if(!i)return new ri(`${r}?app_id=${e}`);switch(t){case"ws":return new ri(`${r}?app_id=${e}`);case"sse":return new Pa(i,`${n}/runtime/sse?app_id=${e}`);default:throw new Error("Unknown transport type "+t)}}function za(){return typeof window<"u"||typeof chrome<"u"}const oi={"set-presence":!0,"set-presence-ok":!0,"refresh-presence":!0,"patch-presence":!0};function Ka(t,e){var n;const r=typeof t=="string"?JSON.parse(t):t;for(const i in r){const s=r[i];if(!((n=s==null?void 0:s.result)===null||n===void 0)&&n.store){const o=s.result.store;s.result.store=cr(Object.assign(Object.assign({},o),{useDateObjects:e}))}}return r}function qa(t){var e;const n={};for(const r in t){const i=t[r],s=Object.assign({},i);!((e=i.result)===null||e===void 0)&&e.store&&(s.result=Object.assign(Object.assign({},i.result),{store:ur(i.result.store)})),n[r]=s}return n}function ai(t){return[...t].sort((e,n)=>{const[r,i]=e,[s,o]=n,a=i.order||0,u=o.order||0;return a==u?r<s?-1:r>s?1:0:a-u})}class Ba{constructor(e,n=Dr,r=$r,i,s){var o,a,u;if(this._isOnline=!0,this._isShutdown=!1,this.status=ye.CONNECTING,this.queryCbs={},this.queryOnceDfds={},this.authCbs=[],this.attrsCbs=[],this.mutationErrorCbs=[],this.connectionStatusCbs=[],this.mutationDeferredStore=new Map,this._reconnectTimeoutId=null,this._reconnectTimeoutMs=0,this._transportType="ws",this._wsOk=null,this._localIdPromises={},this._errorMessage=null,this._oauthCallbackResponse=null,this._linkIndex=null,this._rooms={},this._roomsPendingLeave={},this._presence={},this._broadcastQueue=[],this._broadcastSubs={},this._currentUserCached={isLoading:!0,error:void 0,user:void 0},this._beforeUnloadCbs=[],this._dataForQueryCache={},this._inFlightMutationEventIds=new Set,this._onMergeQuerySubs=(d,c)=>{const f=d||{},h=Object.assign({},c);Object.entries(c).forEach(([b,y])=>{var _;const T=(_=f==null?void 0:f[b])===null||_===void 0?void 0:_.result,w=y.result;T&&!w&&(h[b].result=T)}),Object.keys(f).filter(b=>!c[b]).sort((b,y)=>{var _,T;const w=((_=f[b])===null||_===void 0?void 0:_.lastAccessed)||0;return(((T=f[y])===null||T===void 0?void 0:T.lastAccessed)||0)-w}).slice(0,this.queryCacheLimit).forEach(b=>{h[b]=f[b]}),this.querySubs.set(b=>h),this.loadedNotifyAll()},this._onMergePendingMutations=(d,c)=>{const f=new Map([...d.entries(),...c.entries()]);this.pendingMutations.set(p=>f),this.loadedNotifyAll(),this._rewriteMutationsSorted(this.attrs,d).forEach(([p,b])=>{!c.has(p)&&!b["tx-id"]&&this._sendMutation(p,b)})},this.getPreviousResult=d=>{const c=z(d);return this.dataForQuery(c)},this.notifyOne=d=>{var c,f;const h=(c=this.queryCbs[d])!==null&&c!==void 0?c:[],p=(f=this._dataForQueryCache[d])===null||f===void 0?void 0:f.data,b=this.dataForQuery(d);b&&(lt(b,p)||h.forEach(y=>y.cb(b)))},this.notifyOneQueryOnce=d=>{var c;const f=(c=this.queryOnceDfds[d])!==null&&c!==void 0?c:[],h=this.dataForQuery(d);f.forEach(p=>{this._completeQueryOnce(p.q,d,p.dfd),p.dfd.resolve(h)})},this.notifyQueryError=(d,c)=>{(this.queryCbs[d]||[]).forEach(h=>h.cb({error:c}))},this.pushTx=d=>{this.config.disableValidation||Ia(d,this.config.schema);try{const c=ia({attrs:this.optimisticAttrs(),schema:this.config.schema,stores:Object.values(this.querySubs.currentValue).map(f=>{var h;return(h=f==null?void 0:f.result)===null||h===void 0?void 0:h.store}),useDateObjects:this.config.useDateObjects},d);return this.pushOps(c)}catch(c){return this.pushOps([],c)}},this.pushOps=(d,c)=>{const f=W(),h=[...this.pendingMutations.currentValue.values()],p=Math.max(0,...h.map(_=>_.order||0))+1,b={op:"transact","tx-steps":d,created:Date.now(),error:c,order:p};this.pendingMutations.set(_=>(_.set(f,b),_));const y=new Wr;return this.mutationDeferredStore.set(f,y),this._sendMutation(f,b),this.notifyAll(),y.promise},this._transportOnOpen=d=>{const c=d.target;if(this._transport!==c){this._log.info("[socket][open]",c.id,"skip; this is no longer the current transport");return}this._log.info("[socket][open]",this._transport.id),this._setStatus(ye.OPENED),this.getCurrentUser().then(f=>{var h;this._trySend(W(),{op:"init","app-id":this.config.appId,"refresh-token":(h=f.user)===null||h===void 0?void 0:h.refresh_token,versions:this.versions,"__admin-token":this.config.__adminToken})}).catch(f=>{this._log.error("[socket][error]",c.id,f)})},this._transportOnMessage=d=>{const c=d.target,f=d.message;if(this._transport!==c){this._log.info("[socket][message]",c.id,f,"skip; this is no longer the current transport");return}!this._wsOk&&c.type==="ws"&&(this._wsOk=!0),this._transportType="ws",this._handleReceive(c.id,d.message)},this._transportOnError=d=>{const c=d.target;if(this._transport!==c){this._log.info("[socket][error]",c.id,"skip; this is no longer the current transport");return}this._log.error("[socket][error]",c.id,d)},this._scheduleReconnect=()=>{!this._wsOk&&this._transportType!=="sse"&&(this._transportType="sse",this._reconnectTimeoutMs=0),setTimeout(()=>{if(this._reconnectTimeoutMs=Math.min(this._reconnectTimeoutMs+1e3,1e4),!this._isOnline){this._log.info("[socket][close]",this._transport.id,"we are offline, no need to start socket");return}this._startSocket()},this._reconnectTimeoutMs)},this._transportOnClose=d=>{const c=d.target;if(this._transport!==c){this._log.info("[socket][close]",c.id,"skip; this is no longer the current transport");return}this._setStatus(ye.CLOSED);for(const f of Object.values(this._rooms))f.isConnected=!1;if(this._isShutdown){this._log.info("[socket][close]",c.id,"Reactor has been shut down and will not reconnect");return}this._log.info("[socket][close]",c.id,"schedule reconnect, ms =",this._reconnectTimeoutMs),this._scheduleReconnect()},this._EventSource=s,this.config=Object.assign(Object.assign({},Wa),e),this.queryCacheLimit=(o=this.config.queryCacheLimit)!==null&&o!==void 0?o:10,this._pendingTxCleanupTimeout=(a=this.config.pendingTxCleanupTimeout)!==null&&a!==void 0?a:Fa,this._pendingMutationCleanupThreshold=(u=this.config.pendingMutationCleanupThreshold)!==null&&u!==void 0?u:Na,this._log=ma(e.verbose||fn||Lr,()=>this._reactorStats()),this.versions=Object.assign(Object.assign({},i||{}),{"@instantdb/core":hn}),this.config.schema&&(this._linkIndex=Kr(this.config.schema)),!!za()){if(!e.appId)throw new Error("Instant must be initialized with an appId.");if(!je(e.appId))throw new Error(`Instant must be initialized with a valid appId. \`${e.appId}\` is not a valid uuid.`);typeof BroadcastChannel=="function"&&(this._broadcastChannel=new BroadcastChannel("@instantdb"),this._broadcastChannel.addEventListener("message",d=>L(this,void 0,void 0,function*(){var c;try{if(((c=d.data)===null||c===void 0?void 0:c.type)==="auth"){const f=yield this.getCurrentUser();this.updateUser(f.user)}}catch(f){this._log.error("[error] handle broadcast channel",f)}}))),this._initStorage(n),this._syncTable=new $a(this._trySendAuthed.bind(this),this._persister,{useDateObjects:this.config.useDateObjects},this._log,d=>pt(this.attrs,d,this.config.enableCardinalityInference,this._linkIndex,this.config.useDateObjects)),this._oauthCallbackResponse=this._oauthLoginInit(),this.getCurrentUser(),r.getIsOnline().then(d=>{this._isOnline=d,this._startSocket(),r.listen(c=>{c!==this._isOnline&&(this._log.info("[network] online =",c),this._isOnline=c,this._isOnline?this._startSocket():(this._log.info("Changing status from",this.status,"to",ye.CLOSED),this._setStatus(ye.CLOSED)))})}),typeof addEventListener<"u"&&(this._beforeUnload=this._beforeUnload.bind(this),addEventListener("beforeunload",this._beforeUnload))}}updateSchema(e){this.config=Object.assign(Object.assign({},this.config),{schema:e,cardinalityInference:!!e}),this._linkIndex=e?Kr(this.config.schema):null}_reactorStats(){return{inFlightMutationCount:this._inFlightMutationEventIds.size,pendingMutationCount:this.pendingMutations.currentValue.size,transportType:this._transportType}}_initStorage(e){this._persister=new e(`instant_${this.config.appId}_5`),this.querySubs=new ln(this._persister,"querySubs",{},this._onMergeQuerySubs,qa,n=>Ka(n,this.config.useDateObjects)),this.pendingMutations=new ln(this._persister,"pendingMutations",new Map,this._onMergePendingMutations,n=>[...n.entries()],n=>new Map(typeof n=="string"?JSON.parse(n):n),100,100),this._beforeUnloadCbs.push(()=>{this.pendingMutations.flush(),this.querySubs.flush()})}_beforeUnload(){for(const e of this._beforeUnloadCbs)e();this._syncTable.beforeUnload()}_finishTransaction(e,n,r){const i=this.mutationDeferredStore.get(n);this.mutationDeferredStore.delete(n);const s=e!=="error"&&e!=="timeout";if(!i&&!s&&console.error("Mutation failed",Object.assign({status:e,eventId:n},r)),!!i)if(s)i.resolve({status:e,eventId:n});else if(r.type){const{status:o}=r,a=Ua(r,["status"]);i.reject(new Ye({body:a,status:o}))}else i.reject(new Pe(r.message,r.hint))}_setStatus(e,n){this.status=e,this._errorMessage=n,this.notifyConnectionStatusSubs(e)}_flushEnqueuedRoomData(e){var n,r;const i=(r=(n=this._presence[e])===null||n===void 0?void 0:n.result)===null||r===void 0?void 0:r.user,s=this._broadcastQueue[e];if(this._broadcastQueue[e]=[],i&&this._trySetPresence(e,i),s)for(const o of s){const{topic:a,roomType:u,data:d}=o;this._tryBroadcast(e,u,a,d)}}_handleReceive(e,n){var r,i,s,o,a,u;const d=!!this.config.schema&&("cardinalityInference"in this.config?!!this.config.cardinalityInference:!0);switch(oi[n.op]||this._log.info("[receive]",e,n.op,n),n.op){case"init-ok":{this._setStatus(ye.AUTHENTICATED),this._reconnectTimeoutMs=0,this._setAttrs(n.attrs),this._flushPendingMessages(),this._sessionId=n["session-id"];for(const h of Object.keys(this._rooms)){const p=(i=(r=this._presence[h])===null||r===void 0?void 0:r.result)===null||i===void 0?void 0:i.user;this._tryJoinRoom(h,p)}break}case"add-query-exists":{this.notifyOneQueryOnce(z(n.q));break}case"add-query-ok":{const{q:h,result:p}=n,b=z(h),y=(o=(s=p==null?void 0:p[0])===null||s===void 0?void 0:s.data)===null||o===void 0?void 0:o["page-info"],_=(u=(a=p==null?void 0:p[0])===null||a===void 0?void 0:a.data)===null||u===void 0?void 0:u.aggregate,T=zr(p),w=pt(this.attrs,T,d,this._linkIndex,this.config.useDateObjects);this.querySubs.set(m=>(m[b].result={store:w,pageInfo:y,aggregate:_,processedTxId:n["processed-tx-id"]},m)),this._cleanupPendingMutationsQueries(),this.notifyOne(b),this.notifyOneQueryOnce(b),this._cleanupPendingMutationsTimeout();break}case"start-sync-ok":{this._syncTable.onStartSyncOk(n);break}case"sync-load-batch":{this._syncTable.onSyncLoadBatch(n);break}case"sync-init-finish":{this._syncTable.onSyncInitFinish(n);break}case"sync-update-triples":{this._syncTable.onSyncUpdateTriples(n);break}case"refresh-ok":{const{computations:h,attrs:p}=n,b=n["processed-tx-id"];p&&this._setAttrs(p),this._cleanupPendingMutationsTimeout();const y=this._rewriteMutations(this.attrs,this.pendingMutations.currentValue,b);y!==this.pendingMutations.currentValue&&this.pendingMutations.set(()=>y);const _=ai(y.entries()),T=h.map(w=>{var m,I,v,R;const F=w["instaql-query"],Y=w["instaql-result"],st=z(F),Ct=zr(Y),Rn=pt(this.attrs,Ct,d,this._linkIndex,this.config.useDateObjects),xn=this._applyOptimisticUpdates(Rn,_,b),kt=(I=(m=Y==null?void 0:Y[0])===null||m===void 0?void 0:m.data)===null||I===void 0?void 0:I["page-info"],le=(R=(v=Y==null?void 0:Y[0])===null||v===void 0?void 0:v.data)===null||R===void 0?void 0:R.aggregate;return{hash:st,store:xn,pageInfo:kt,aggregate:le}});T.forEach(({hash:w,store:m,pageInfo:I,aggregate:v})=>{this.querySubs.set(R=>(R[w].result={store:m,pageInfo:I,aggregate:v,processedTxId:b},R))}),this._cleanupPendingMutationsQueries(),T.forEach(({hash:w})=>{this.notifyOne(w)});break}case"transact-ok":{const{"client-event-id":h,"tx-id":p}=n;this._inFlightMutationEventIds.delete(h);const y=this._rewriteMutations(this.attrs,this.pendingMutations.currentValue).get(h);if(!y)break;this.pendingMutations.set(T=>(T.set(h,Object.assign(Object.assign({},T.get(h)),{"tx-id":p,confirmed:Date.now()})),T));const _=y["tx-steps"].filter(([T,...w])=>T==="add-attr").map(([T,w])=>w).concat(Object.values(this.attrs));this._setAttrs(_),this._finishTransaction("synced",h),this._cleanupPendingMutationsTimeout();break}case"patch-presence":{const h=n["room-id"];this._trySetRoomConnected(h,!0),this._patchPresencePeers(h,n.edits),this._notifyPresenceSubs(h);break}case"refresh-presence":{const h=n["room-id"];this._trySetRoomConnected(h,!0),this._setPresencePeers(h,n.data),this._notifyPresenceSubs(h);break}case"server-broadcast":{const h=n["room-id"],p=n.topic;this._trySetRoomConnected(h,!0),this._notifyBroadcastSubs(h,p,n);break}case"join-room-ok":{const h=n["room-id"];if(!this._rooms[h]){this._roomsPendingLeave[h]&&(this._tryLeaveRoom(h),delete this._roomsPendingLeave[h]);break}this._trySetRoomConnected(h,!0),this._flushEnqueuedRoomData(h);break}case"leave-room-ok":{const h=n["room-id"];this._trySetRoomConnected(h,!1);break}case"join-room-error":const c=n["room-id"],f=this._rooms[c];f&&(f.error=n.error),this._notifyPresenceSubs(c);break;case"error":this._handleReceiveError(n);break;default:this._log.info("Uknown op",n.op,n);break}}_handleMutationError(e,n,r){const i=this.pendingMutations.currentValue.get(n);if(i&&(e!=="timeout"||!i["tx-id"])){this.pendingMutations.set(o=>(o.delete(n),o)),this._inFlightMutationEventIds.delete(n);const s={message:r.message,hint:r.hint};this.notifyAll(),this.notifyAttrsSubs(),this.notifyMutationErrorSubs(s),this._finishTransaction(e,n,r)}}_handleReceiveError(e){var n,r,i,s,o,a,u;console.log("error",e);const d=e["client-event-id"];this._inFlightMutationEventIds.delete(d);const c=this.pendingMutations.currentValue.get(d),f={message:e.message||"Uh-oh, something went wrong. Ping Joe & Stopa."};if(e.hint&&(f.hint=e.hint),c){this._handleMutationError("error",d,e);return}if(!((n=e["original-event"])===null||n===void 0)&&n.hasOwnProperty("q")&&((r=e["original-event"])===null||r===void 0?void 0:r.op)==="add-query"){const b=(i=e["original-event"])===null||i===void 0?void 0:i.q,y=z(b);this.notifyQueryError(z(b),f),this.notifyQueryOnceError(b,y,d,f);return}if(((s=e["original-event"])===null||s===void 0?void 0:s.op)==="init"){if(e.type==="record-not-found"&&((o=e.hint)===null||o===void 0?void 0:o["record-type"])==="app-user"){this.changeCurrentUser(null);return}this._setStatus(ye.ERRORED,f),this.notifyAll();return}if(((a=e["original-event"])===null||a===void 0?void 0:a.op)==="resync-table"){this._syncTable.onResyncError(e);return}if(((u=e["original-event"])===null||u===void 0?void 0:u.op)==="start-sync"){this._syncTable.onStartSyncError(e);return}const p=Object.assign({},e);delete p.message,delete p.hint,console.error(e.message,p),e.hint&&console.error(`This error comes with some debugging information. Here it is:
|
|
1
|
+
(function(G,k){typeof exports=="object"&&typeof module<"u"?k(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],k):(G=typeof globalThis<"u"?globalThis:G||self,k(G.instantReact={},G.React))})(this,function(G,k){"use strict";function z(t){if(typeof t=="number")return(Math.abs(t*2654435761)>>>0).toString(16);if(typeof t=="boolean")return t?"1":"0";if(t===null)return"null";if(t===void 0)return"undefined";if(typeof t=="string"){let e=2166136261;for(let n=0;n<t.length;n++)e^=t.charCodeAt(n),e+=(e<<1)+(e<<4)+(e<<7)+(e<<8)+(e<<24),e=e>>>0;return e.toString(16)}if(Array.isArray(t)){let e=2166136261;for(let n=0;n<t.length;n++){e^=(n+1)*2654435761;const r=z(t[n]);for(let i=0;i<r.length;i++)e^=r.charCodeAt(i),e*=16777619,e=e>>>0}return e.toString(16)}if(typeof t=="object"){let e=2166136261;const n=Object.keys(t).sort();for(let r=0;r<n.length;r++){const i=n[r],s=z(i);e^=parseInt(s,16),e*=16777619,e=e>>>0;const o=z(t[i]);e^=parseInt(o,16),e*=16777619,e=e>>>0}return e.toString(16)}return z(String(t))}const $={Remove:"remove",Replace:"replace",Add:"add"},zn=Symbol.for("__MUTATIVE_PROXY_DRAFT__"),Ki=Symbol("__MUTATIVE_RAW_RETURN_SYMBOL__"),ut=Symbol.iterator,re={mutable:"mutable",immutable:"immutable"},Rt={};function Ve(t,e){return t instanceof Map?t.has(e):Object.prototype.hasOwnProperty.call(t,e)}function Kn(t,e){if(e in t){let n=Reflect.getPrototypeOf(t);for(;n;){const r=Reflect.getOwnPropertyDescriptor(n,e);if(r)return r;n=Reflect.getPrototypeOf(n)}}}function xt(t){return Object.getPrototypeOf(t)===Set.prototype}function Dt(t){return Object.getPrototypeOf(t)===Map.prototype}function ie(t){var e;return(e=t.copy)!==null&&e!==void 0?e:t.original}function ge(t){return!!A(t)}function A(t){return typeof t!="object"?null:t==null?void 0:t[zn]}function $t(t){var e;const n=A(t);return n?(e=n.copy)!==null&&e!==void 0?e:n.original:t}function ae(t,e){if(!t||typeof t!="object")return!1;let n;return Object.getPrototypeOf(t)===Object.prototype||Array.isArray(t)||t instanceof Map||t instanceof Set||!!(e!=null&&e.mark)&&((n=e.mark(t,re))===re.immutable||typeof n=="function")}function qn(t,e=[]){if(Object.hasOwnProperty.call(t,"key")){const n=t.parent.copy,r=A(he(n,t.key));if(r!==null&&(r==null?void 0:r.original)!==t.original)return null;const i=t.parent.type===3,s=i?Array.from(t.parent.setMap.keys()).indexOf(t.key):t.key;if(!(i&&n.size>s||Ve(n,s)))return null;e.push(s)}if(t.parent)return qn(t.parent,e);e.reverse();try{qi(t.copy,e)}catch{return null}return e}function Te(t){return Array.isArray(t)?1:t instanceof Map?2:t instanceof Set?3:0}function he(t,e){return Te(t)===2?t.get(e):t[e]}function ze(t,e,n){Te(t)===2?t.set(e,n):t[e]=n}function Ut(t,e){const n=A(t);return(n?ie(n):t)[e]}function pe(t,e){return t===e?t!==0||1/t===1/e:t!==t&&e!==e}function Lt(t){if(t)for(;t.finalities.revoke.length>0;)t.finalities.revoke.pop()()}function we(t,e){return e?t:[""].concat(t).map(n=>{const r=`${n}`;return r.indexOf("/")===-1&&r.indexOf("~")===-1?r:r.replace(/~/g,"~0").replace(/\//g,"~1")}).join("/")}function qi(t,e){for(let n=0;n<e.length-1;n+=1){const r=e[n];if(t=he(Te(t)===3?Array.from(t):t,r),typeof t!="object")throw new Error(`Cannot resolve patch at '${e.join("/")}'.`)}return t}function Bi(t){const e=Object.create(Object.getPrototypeOf(t));return Reflect.ownKeys(t).forEach(n=>{let r=Reflect.getOwnPropertyDescriptor(t,n);if(r.enumerable&&r.configurable&&r.writable){e[n]=t[n];return}r.writable||(r.writable=!0,r.configurable=!0),(r.get||r.set)&&(r={configurable:!0,writable:!0,enumerable:r.enumerable,value:t[n]}),Reflect.defineProperty(e,n,r)}),e}const Gi=Object.prototype.propertyIsEnumerable;function Bn(t,e){let n;if(Array.isArray(t))return Array.prototype.concat.call(t);if(t instanceof Set){if(!xt(t)){const r=Object.getPrototypeOf(t).constructor;return new r(t.values())}return Set.prototype.difference?Set.prototype.difference.call(t,new Set):new Set(t.values())}else if(t instanceof Map){if(!Dt(t)){const r=Object.getPrototypeOf(t).constructor;return new r(t)}return new Map(t)}else if(e!=null&&e.mark&&(n=e.mark(t,re),n!==void 0)&&n!==re.mutable){if(n===re.immutable)return Bi(t);if(typeof n=="function"){if(e.enablePatches||e.enableAutoFreeze)throw new Error("You can't use mark and patches or auto freeze together.");return n()}throw new Error(`Unsupported mark result: ${n}`)}else if(typeof t=="object"&&Object.getPrototypeOf(t)===Object.prototype){const r={};return Object.keys(t).forEach(i=>{r[i]=t[i]}),Object.getOwnPropertySymbols(t).forEach(i=>{Gi.call(t,i)&&(r[i]=t[i])}),r}else throw new Error("Please check mark() to ensure that it is a stable marker draftable function.")}function Q(t){t.copy||(t.copy=Bn(t.original,t.options))}function Ke(t){if(!ae(t))return $t(t);if(Array.isArray(t))return t.map(Ke);if(t instanceof Map){const n=Array.from(t.entries()).map(([r,i])=>[r,Ke(i)]);if(!Dt(t)){const r=Object.getPrototypeOf(t).constructor;return new r(n)}return new Map(n)}if(t instanceof Set){const n=Array.from(t).map(Ke);if(!xt(t)){const r=Object.getPrototypeOf(t).constructor;return new r(n)}return new Set(n)}const e=Object.create(Object.getPrototypeOf(t));for(const n in t)e[n]=Ke(t[n]);return e}function ct(t){return ge(t)?Ke(t):t}function fe(t){var e;t.assignedMap=(e=t.assignedMap)!==null&&e!==void 0?e:new Map,t.operated||(t.operated=!0,t.parent&&fe(t.parent))}function Gn(){throw new Error("Cannot modify frozen object")}function Ae(t,e,n,r,i){{n=n??new WeakMap,r=r??[],i=i??[];const o=n.has(t)?n.get(t):t;if(r.length>0){const a=r.indexOf(o);if(o&&typeof o=="object"&&a!==-1)throw r[0]===o?new Error("Forbids circular reference"):new Error(`Forbids circular reference: ~/${i.slice(0,a).map((u,d)=>{if(typeof u=="symbol")return`[${u.toString()}]`;const c=r[d];return typeof u=="object"&&(c instanceof Map||c instanceof Set)?Array.from(c.keys()).indexOf(u):u}).join("/")}`);r.push(o),i.push(e)}else r.push(o)}if(Object.isFrozen(t)||ge(t)){r.pop(),i.pop();return}switch(Te(t)){case 2:for(const[a,u]of t)Ae(a,a,n,r,i),Ae(u,a,n,r,i);t.set=t.clear=t.delete=Gn;break;case 3:for(const a of t)Ae(a,a,n,r,i);t.add=t.clear=t.delete=Gn;break;case 1:Object.freeze(t);let o=0;for(const a of t)Ae(a,o,n,r,i),o+=1;break;default:Object.freeze(t),Object.keys(t).forEach(a=>{const u=t[a];Ae(u,a,n,r,i)})}r.pop(),i.pop()}function Ft(t,e){const n=Te(t);if(n===0)Reflect.ownKeys(t).forEach(r=>{e(r,t[r],t)});else if(n===1){let r=0;for(const i of t)e(r,i,t),r+=1}else t.forEach((r,i)=>e(i,r,t))}function Qn(t,e,n){if(ge(t)||!ae(t,n)||e.has(t)||Object.isFrozen(t))return;const r=t instanceof Set,i=r?new Map:void 0;if(e.add(t),Ft(t,(s,o)=>{var a;if(ge(o)){const u=A(o);Q(u);const d=!((a=u.assignedMap)===null||a===void 0)&&a.size||u.operated?u.copy:u.original;ze(r?i:t,s,d)}else Qn(o,e,n)}),i){const s=t,o=Array.from(s);s.clear(),o.forEach(a=>{s.add(i.has(a)?i.get(a):a)})}}function Qi(t,e){const n=t.type===3?t.setMap:t.copy;t.finalities.revoke.length>1&&t.assignedMap.get(e)&&n&&Qn(he(n,e),t.finalities.handledSet,t.options)}function Nt(t){t.type===3&&t.copy&&(t.copy.clear(),t.setMap.forEach(e=>{t.copy.add($t(e))}))}function Wt(t,e,n,r){if(t.operated&&t.assignedMap&&t.assignedMap.size>0&&!t.finalized){if(n&&r){const s=qn(t);s&&e(t,s,n,r)}t.finalized=!0}}function Vt(t,e,n,r){const i=A(n);i&&(i.callbacks||(i.callbacks=[]),i.callbacks.push((s,o)=>{var a;const u=t.type===3?t.setMap:t.copy;if(pe(he(u,e),n)){let d=i.original;i.copy&&(d=i.copy),Nt(t),Wt(t,r,s,o),t.options.enableAutoFreeze&&(t.options.updatedValues=(a=t.options.updatedValues)!==null&&a!==void 0?a:new WeakMap,t.options.updatedValues.set(d,i.original)),ze(u,e,d)}}),t.options.enableAutoFreeze&&i.finalities!==t.finalities&&(t.options.enableAutoFreeze=!1)),ae(n,t.options)&&t.finalities.draft.push(()=>{const s=t.type===3?t.setMap:t.copy;pe(he(s,e),n)&&Qi(t,e)})}function Hi(t,e,n,r,i){let{original:s,assignedMap:o,options:a}=t,u=t.copy;u.length<s.length&&([s,u]=[u,s],[n,r]=[r,n]);for(let d=0;d<s.length;d+=1)if(o.get(d.toString())&&u[d]!==s[d]){const c=e.concat([d]),f=we(c,i);n.push({op:$.Replace,path:f,value:ct(u[d])}),r.push({op:$.Replace,path:f,value:ct(s[d])})}for(let d=s.length;d<u.length;d+=1){const c=e.concat([d]),f=we(c,i);n.push({op:$.Add,path:f,value:ct(u[d])})}if(s.length<u.length){const{arrayLengthAssignment:d=!0}=a.enablePatches;if(d){const c=e.concat(["length"]),f=we(c,i);r.push({op:$.Replace,path:f,value:s.length})}else for(let c=u.length;s.length<c;c-=1){const f=e.concat([c-1]),h=we(f,i);r.push({op:$.Remove,path:h})}}}function Yi({original:t,copy:e,assignedMap:n},r,i,s,o){n.forEach((a,u)=>{const d=he(t,u),c=ct(he(e,u)),f=a?Ve(t,u)?$.Replace:$.Add:$.Remove;if(pe(d,c)&&f===$.Replace)return;const h=r.concat(u),p=we(h,o);i.push(f===$.Remove?{op:f,path:p}:{op:f,path:p,value:c}),s.push(f===$.Add?{op:$.Remove,path:p}:f===$.Remove?{op:$.Add,path:p,value:d}:{op:$.Replace,path:p,value:d})})}function Ji({original:t,copy:e},n,r,i,s){let o=0;t.forEach(a=>{if(!e.has(a)){const u=n.concat([o]),d=we(u,s);r.push({op:$.Remove,path:d,value:a}),i.unshift({op:$.Add,path:d,value:a})}o+=1}),o=0,e.forEach(a=>{if(!t.has(a)){const u=n.concat([o]),d=we(u,s);r.push({op:$.Add,path:d,value:a}),i.unshift({op:$.Remove,path:d,value:a})}o+=1})}function qe(t,e,n,r){const{pathAsArray:i=!0}=t.options.enablePatches;switch(t.type){case 0:case 2:return Yi(t,e,n,r,i);case 1:return Hi(t,e,n,r,i);case 3:return Ji(t,e,n,r,i)}}const dt=(t,e,n=!1)=>{if(typeof t=="object"&&t!==null&&(!ae(t,e)||n))throw new Error("Strict mode: Mutable data cannot be accessed directly, please use 'unsafe(callback)' wrap.")},zt={get size(){return ie(A(this)).size},has(t){return ie(A(this)).has(t)},set(t,e){const n=A(this),r=ie(n);return(!r.has(t)||!pe(r.get(t),e))&&(Q(n),fe(n),n.assignedMap.set(t,!0),n.copy.set(t,e),Vt(n,t,e,qe)),this},delete(t){if(!this.has(t))return!1;const e=A(this);return Q(e),fe(e),e.original.has(t)?e.assignedMap.set(t,!1):e.assignedMap.delete(t),e.copy.delete(t),!0},clear(){const t=A(this);if(this.size){Q(t),fe(t),t.assignedMap=new Map;for(const[e]of t.original)t.assignedMap.set(e,!1);t.copy.clear()}},forEach(t,e){const n=A(this);ie(n).forEach((r,i)=>{t.call(e,this.get(i),i,this)})},get(t){var e,n;const r=A(this),i=ie(r).get(t),s=((n=(e=r.options).mark)===null||n===void 0?void 0:n.call(e,i,re))===re.mutable;if(r.options.strict&&dt(i,r.options,s),s||r.finalized||!ae(i,r.options)||i!==r.original.get(t))return i;const o=Rt.createDraft({original:i,parentDraft:r,key:t,finalities:r.finalities,options:r.options});return Q(r),r.copy.set(t,o),o},keys(){return ie(A(this)).keys()},values(){const t=this.keys();return{[ut]:()=>this.values(),next:()=>{const e=t.next();return e.done?e:{done:!1,value:this.get(e.value)}}}},entries(){const t=this.keys();return{[ut]:()=>this.entries(),next:()=>{const e=t.next();if(e.done)return e;const n=this.get(e.value);return{done:!1,value:[e.value,n]}}}},[ut](){return this.entries()}},Zi=Reflect.ownKeys(zt),Hn=(t,e,{isValuesIterator:n})=>()=>{var r,i;const s=e.next();if(s.done)return s;const o=s.value;let a=t.setMap.get(o);const u=A(a),d=((i=(r=t.options).mark)===null||i===void 0?void 0:i.call(r,a,re))===re.mutable;if(t.options.strict&&dt(o,t.options,d),!d&&!u&&ae(o,t.options)&&!t.finalized&&t.original.has(o)){const c=Rt.createDraft({original:o,parentDraft:t,key:o,finalities:t.finalities,options:t.options});t.setMap.set(o,c),a=c}else u&&(a=u.proxy);return{done:!1,value:n?a:[a,a]}},ft={get size(){return A(this).setMap.size},has(t){const e=A(this);if(e.setMap.has(t))return!0;Q(e);const n=A(t);return!!(n&&e.setMap.has(n.original))},add(t){const e=A(this);return this.has(t)||(Q(e),fe(e),e.assignedMap.set(t,!0),e.setMap.set(t,t),Vt(e,t,t,qe)),this},delete(t){if(!this.has(t))return!1;const e=A(this);Q(e),fe(e);const n=A(t);return n&&e.setMap.has(n.original)?(e.assignedMap.set(n.original,!1),e.setMap.delete(n.original)):(!n&&e.setMap.has(t)?e.assignedMap.set(t,!1):e.assignedMap.delete(t),e.setMap.delete(t))},clear(){if(!this.size)return;const t=A(this);Q(t),fe(t);for(const e of t.original)t.assignedMap.set(e,!1);t.setMap.clear()},values(){const t=A(this);Q(t);const e=t.setMap.keys();return{[Symbol.iterator]:()=>this.values(),next:Hn(t,e,{isValuesIterator:!0})}},entries(){const t=A(this);Q(t);const e=t.setMap.keys();return{[Symbol.iterator]:()=>this.entries(),next:Hn(t,e,{isValuesIterator:!1})}},keys(){return this.values()},[ut](){return this.values()},forEach(t,e){const n=this.values();let r=n.next();for(;!r.done;)t.call(e,r.value,r.value,this),r=n.next()}};Set.prototype.difference&&Object.assign(ft,{intersection(t){return Set.prototype.intersection.call(new Set(this.values()),t)},union(t){return Set.prototype.union.call(new Set(this.values()),t)},difference(t){return Set.prototype.difference.call(new Set(this.values()),t)},symmetricDifference(t){return Set.prototype.symmetricDifference.call(new Set(this.values()),t)},isSubsetOf(t){return Set.prototype.isSubsetOf.call(new Set(this.values()),t)},isSupersetOf(t){return Set.prototype.isSupersetOf.call(new Set(this.values()),t)},isDisjointFrom(t){return Set.prototype.isDisjointFrom.call(new Set(this.values()),t)}});const Xi=Reflect.ownKeys(ft),Yn=new WeakSet,Jn={get(t,e,n){var r,i;const s=(r=t.copy)===null||r===void 0?void 0:r[e];if(s&&Yn.has(s))return s;if(e===zn)return t;let o;if(t.options.mark){const d=e==="size"&&(t.original instanceof Map||t.original instanceof Set)?Reflect.get(t.original,e):Reflect.get(t.original,e,n);if(o=t.options.mark(d,re),o===re.mutable)return t.options.strict&&dt(d,t.options,!0),d}const a=ie(t);if(a instanceof Map&&Zi.includes(e)){if(e==="size")return Object.getOwnPropertyDescriptor(zt,"size").get.call(t.proxy);const d=zt[e];if(d)return d.bind(t.proxy)}if(a instanceof Set&&Xi.includes(e)){if(e==="size")return Object.getOwnPropertyDescriptor(ft,"size").get.call(t.proxy);const d=ft[e];if(d)return d.bind(t.proxy)}if(!Ve(a,e)){const d=Kn(a,e);return d?"value"in d?d.value:(i=d.get)===null||i===void 0?void 0:i.call(t.proxy):void 0}const u=a[e];if(t.options.strict&&dt(u,t.options),t.finalized||!ae(u,t.options))return u;if(u===Ut(t.original,e)){if(Q(t),t.copy[e]=Kt({original:t.original[e],parentDraft:t,key:t.type===1?Number(e):e,finalities:t.finalities,options:t.options}),typeof o=="function"){const d=A(t.copy[e]);return Q(d),fe(d),d.copy}return t.copy[e]}return u},set(t,e,n){var r;if(t.type===3||t.type===2)throw new Error("Map/Set draft does not support any property assignment.");let i;if(t.type===1&&e!=="length"&&!(Number.isInteger(i=Number(e))&&i>=0&&(e===0||i===0||String(i)===String(e))))throw new Error("Only supports setting array indices and the 'length' property.");const s=Kn(ie(t),e);if(s!=null&&s.set)return s.set.call(t.proxy,n),!0;const o=Ut(ie(t),e),a=A(o);return a&&pe(a.original,n)?(t.copy[e]=n,t.assignedMap=(r=t.assignedMap)!==null&&r!==void 0?r:new Map,t.assignedMap.set(e,!1),!0):(pe(n,o)&&(n!==void 0||Ve(t.original,e))||(Q(t),fe(t),Ve(t.original,e)&&pe(n,t.original[e])?t.assignedMap.delete(e):t.assignedMap.set(e,!0),t.copy[e]=n,Vt(t,e,n,qe)),!0)},has(t,e){return e in ie(t)},ownKeys(t){return Reflect.ownKeys(ie(t))},getOwnPropertyDescriptor(t,e){const n=ie(t),r=Reflect.getOwnPropertyDescriptor(n,e);return r&&{writable:!0,configurable:t.type!==1||e!=="length",enumerable:r.enumerable,value:n[e]}},getPrototypeOf(t){return Reflect.getPrototypeOf(t.original)},setPrototypeOf(){throw new Error("Cannot call 'setPrototypeOf()' on drafts")},defineProperty(){throw new Error("Cannot call 'defineProperty()' on drafts")},deleteProperty(t,e){var n;return t.type===1?Jn.set.call(this,t,e,void 0,t.proxy):(Ut(t.original,e)!==void 0||e in t.original?(Q(t),fe(t),t.assignedMap.set(e,!1)):(t.assignedMap=(n=t.assignedMap)!==null&&n!==void 0?n:new Map,t.assignedMap.delete(e)),t.copy&&delete t.copy[e],!0)}};function Kt(t){const{original:e,parentDraft:n,key:r,finalities:i,options:s}=t,o=Te(e),a={type:o,finalized:!1,parent:n,original:e,copy:null,proxy:null,finalities:i,options:s,setMap:o===3?new Map(e.entries()):void 0};(r||"key"in t)&&(a.key=r);const{proxy:u,revoke:d}=Proxy.revocable(o===1?Object.assign([],a):a,Jn);if(i.revoke.push(d),Yn.add(u),a.proxy=u,n){const c=n;c.finalities.draft.push((f,h)=>{var p,b;const y=A(u);let _=c.type===3?c.setMap:c.copy;const T=he(_,r),w=A(T);if(w){let m=w.original;w.operated&&(m=$t(T)),Nt(w),Wt(w,qe,f,h),c.options.enableAutoFreeze&&(c.options.updatedValues=(p=c.options.updatedValues)!==null&&p!==void 0?p:new WeakMap,c.options.updatedValues.set(m,w.original)),ze(_,r,m)}(b=y.callbacks)===null||b===void 0||b.forEach(m=>{m(f,h)})})}else{const c=A(u);c.finalities.draft.push((f,h)=>{Nt(c),Wt(c,qe,f,h)})}return u}Rt.createDraft=Kt;function es(t,e,n,r,i){var s;const o=A(t),a=(s=o==null?void 0:o.original)!==null&&s!==void 0?s:t,u=!!e.length;if(o!=null&&o.operated)for(;o.finalities.draft.length>0;)o.finalities.draft.pop()(n,r);const d=u?e[0]:o?o.operated?o.copy:o.original:t;return o&&Lt(o),i&&Ae(d,d,o==null?void 0:o.options.updatedValues),[d,n&&u?[{op:$.Replace,path:[],value:e[0]}]:n,r&&u?[{op:$.Replace,path:[],value:a}]:r]}function ts(t,e){var n;const r={draft:[],revoke:[],handledSet:new WeakSet};let i,s;e.enablePatches&&(i=[],s=[]);const a=((n=e.mark)===null||n===void 0?void 0:n.call(e,t,re))===re.mutable||!ae(t,e)?t:Kt({original:t,parentDraft:null,finalities:r,options:e});return[a,(u=[])=>{const[d,c,f]=es(a,u,i,s,e.enableAutoFreeze);return e.enablePatches?[d,c,f]:d}]}function qt(t){const{rootDraft:e,value:n,useRawReturn:r=!1,isRoot:i=!0}=t;Ft(n,(s,o,a)=>{const u=A(o);if(u&&e&&u.finalities===e.finalities){t.isContainDraft=!0;const d=u.original;if(a instanceof Set){const c=Array.from(a);a.clear(),c.forEach(f=>a.add(s===f?d:f))}else ze(a,s,d)}else typeof o=="object"&&o!==null&&(t.value=o,t.isRoot=!1,qt(t))}),i&&(t.isContainDraft||console.warn("The return value does not contain any draft, please use 'rawReturn()' to wrap the return value to improve performance."),r&&console.warn("The return value contains drafts, please don't use 'rawReturn()' to wrap the return value."))}function Zn(t){var e;const n=A(t);if(!ae(t,n==null?void 0:n.options))return t;const r=Te(t);if(n&&!n.operated)return n.original;let i;function s(){i=r===2?Dt(t)?new Map(t):new(Object.getPrototypeOf(t)).constructor(t):r===3?Array.from(n.setMap.values()):Bn(t,n==null?void 0:n.options)}if(n){n.finalized=!0;try{s()}finally{n.finalized=!1}}else i=t;if(Ft(i,(o,a)=>{if(n&&pe(he(n.original,o),a))return;const u=Zn(a);u!==a&&(i===t&&s(),ze(i,o,u))}),r===3){const o=(e=n==null?void 0:n.original)!==null&&e!==void 0?e:i;return xt(o)?new Set(i):new(Object.getPrototypeOf(o)).constructor(i)}return i}function Xn(t){if(!ge(t))throw new Error(`current() is only used for Draft, parameter: ${t}`);return Zn(t)}const Bt=(t=>function e(n,r,i){var s,o,a;if(typeof n=="function"&&typeof r!="function")return function(v,...R){return e(v,F=>n.call(this,F,...R),r)};const u=n,d=r;let c=i;if(typeof r!="function"&&(c=r),c!==void 0&&Object.prototype.toString.call(c)!=="[object Object]")throw new Error(`Invalid options: ${c}, 'options' should be an object.`);c=Object.assign(Object.assign({},t),c);const f=ge(u)?Xn(u):u,h=Array.isArray(c.mark)?(v,R)=>{for(const F of c.mark){if(typeof F!="function")throw new Error(`Invalid mark: ${F}, 'mark' should be a function.`);const Y=F(v,R);if(Y)return Y}}:c.mark,p=(s=c.enablePatches)!==null&&s!==void 0?s:!1,b=(o=c.strict)!==null&&o!==void 0?o:!1,_={enableAutoFreeze:(a=c.enableAutoFreeze)!==null&&a!==void 0?a:!1,mark:h,strict:b,enablePatches:p};if(!ae(f,_)&&typeof f=="object"&&f!==null)throw new Error("Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.");const[T,w]=ts(f,_);if(typeof r!="function"){if(!ae(f,_))throw new Error("Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.");return[T,w]}let m;try{m=d(T)}catch(v){throw Lt(A(T)),v}const I=v=>{const R=A(T);if(!ge(v)){if(v!==void 0&&!pe(v,T)&&(R!=null&&R.operated))throw new Error("Either the value is returned as a new non-draft value, or only the draft is modified without returning any value.");const Y=v==null?void 0:v[Ki];if(Y){const st=Y[0];return _.strict&&typeof v=="object"&&v!==null&&qt({rootDraft:R,value:v,useRawReturn:!0}),w([st])}if(v!==void 0)return typeof v=="object"&&v!==null&&qt({rootDraft:R,value:v}),w([v])}if(v===T||v===void 0)return w([]);const F=A(v);if(_===F.options){if(F.operated)throw new Error("Cannot return a modified child draft.");return w([Xn(v)])}return w([v])};return m instanceof Promise?m.then(I,v=>{throw Lt(A(T)),v}):I(m)})();Object.prototype.constructor.toString();function er(t,e){const n=Object.keys(t),r=Object.keys(e);return n.length===r.length&&Object.keys(t).every(i=>e.hasOwnProperty(i))}function tr(t,e){return Object.keys(t).length===Object.keys(e).length&&Object.keys(t).every(n=>e.hasOwnProperty(n)&&t[n]===e[n])}function lt(t,e){return typeof t!="object"||typeof e!="object"||t===null||e===null?t===e:er(t,e)?Object.keys(t).every(n=>lt(t[n],e[n])):!1}function Gt(t){if(!Be(t))return t;const e={};for(const[n,r]of Object.entries(t))r!==void 0&&(e[n]=r);return e}function nr(t,e){if(!Be(t)||!Be(e))return e;const n=Object.assign({},t);for(const r of Object.keys(e)){if(e[r]===void 0)continue;if(e[r]===null){delete n[r];continue}const i=Be(t[r])&&Be(e[r]);n[r]=i?nr(t[r],e[r]):e[r]}return n}function Be(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function ns(t,e,n){if(!t||e.length===0)return;let r=t||{};for(let s=0;s<e.length-1;s++){const o=e[s];(!(o in r)||typeof r[o]!="object")&&(r[o]=typeof e[s+1]=="number"?[]:{}),r=r[o]}const i=e[e.length-1];Array.isArray(r)&&typeof i=="number"?r.splice(i,0,n):r[i]=n}function rr(t,e,n){if(!t||e.length===0)return;let r=t||{};for(let i=0;i<e.length-1;i++){const s=e[i];(!(s in r)||typeof r[s]!="object")&&(r[s]=typeof e[i+1]=="number"?[]:{}),r=r[s]}r[e[e.length-1]]=n}function ir(t,e){if(!t||e.length===0)return;const[n,...r]=e;if(n in t){if(r.length===0){Array.isArray(t)?t.splice(n,1):delete t[n];return}ir(t[n],r),rs(t[n])&&delete t[n]}}function rs(t){return t&&Object.keys(t).length===0}const sr=/ZULU|YEKT|YEKST|YAPT|YAKT|YAKST|XJT|WGT|WGST|WFT|WETDST|WET|WDT|WAT|WAST|WAKT|WADT|VUT|VOLT|VLAT|VLAST|VET|UZT|UZST|UYT|UYST|UTC|UT|ULAT|ULAST|UCT|TVT|TRUT|TOT|TMT|TKT|TJT|TFT|TAHT|SGT|SCT|SAST|SADT|RET|PYT|PYST|PWT|PST|PONT|PMST|PMDT|PKT|PKST|PHT|PGT|PETT|PETST|PET|PDT|OMST|OMSST|NZT|NZST|NZDT|NUT|NST|NPT|NOVT|NOVST|NFT|NDT|MYT|MVT|MUT|MUST|MST|MSK|MSD|MPT|MMT|MHT|MEZ|METDST|MET|MESZ|MEST|MDT|MAWT|MART|MAGT|MAGST|LKT|LINT|LIGT|LHST|LHDT|KST|KRAT|KRAST|KOST|KGT|KGST|KDT|JST|JAYT|IST|IRT|IRKT|IRKST|IOT|IDT|ICT|HST|HKT|GYT|GMT|GILT|GFT|GET|GEST|GAMT|GALT|FNT|FNST|FKT|FKST|FJT|FJST|FET|EST|EGT|EGST|EETDST|EET|EEST|EDT|EAT|EAST|EASST|DDUT|DAVT|CXT|CST|COT|CLT|CLST|CKT|CHUT|CHAST|CHADT|CETDST|CET|CEST|CDT|CCT|CAST|CADT|BTT|BST|BRT|BRST|BRA|BOT|BORT|BNT|BDT|BDST|AZT|AZST|AZOT|AZOST|AWST|AWSST|AST|ART|ARST|ANAT|ANAST|AMT|AMST|ALMT|ALMST|AKST|AKDT|AFT|AEST|AESST|AEDT|ADT|ACWST|ACT|ACST|ACSST|ACDT$/,is={ZULU:0,YEKT:18e3,YEKST:21600,YAPT:36e3,YAKT:32400,YAKST:32400,XJT:21600,WGT:-10800,WGST:-7200,WFT:43200,WETDST:3600,WET:0,WDT:32400,WAT:3600,WAST:25200,WAKT:43200,WADT:28800,VUT:39600,VOLT:10800,VLAT:36e3,VLAST:36e3,VET:-14400,UZT:18e3,UZST:21600,UYT:-10800,UYST:-7200,UTC:0,UT:0,ULAT:28800,ULAST:32400,UCT:0,TVT:43200,TRUT:36e3,TOT:46800,TMT:18e3,TKT:46800,TJT:18e3,TFT:18e3,TAHT:-36e3,SGT:28800,SCT:14400,SAST:7200,SADT:37800,RET:14400,PYT:-14400,PYST:-10800,PWT:32400,PST:-28800,PONT:39600,PMST:-10800,PMDT:-7200,PKT:18e3,PKST:21600,PHT:28800,PGT:36e3,PETT:43200,PETST:43200,PET:-18e3,PDT:-25200,OMST:21600,OMSST:21600,NZT:43200,NZST:43200,NZDT:46800,NUT:-39600,NST:-12600,NPT:20700,NOVT:25200,NOVST:25200,NFT:-12600,NDT:-9e3,MYT:28800,MVT:18e3,MUT:14400,MUST:18e3,MST:-25200,MSK:10800,MSD:14400,MPT:36e3,MMT:23400,MHT:43200,MEZ:3600,METDST:7200,MET:3600,MESZ:7200,MEST:7200,MDT:-21600,MAWT:18e3,MART:-34200,MAGT:39600,MAGST:39600,LKT:19800,LINT:50400,LIGT:36e3,LHST:37800,LHDT:37800,KST:32400,KRAT:25200,KRAST:25200,KOST:39600,KGT:21600,KGST:21600,KDT:36e3,JST:32400,JAYT:32400,IST:7200,IRT:12600,IRKT:28800,IRKST:28800,IOT:21600,IDT:10800,ICT:25200,HST:-36e3,HKT:28800,GYT:-14400,GMT:0,GILT:43200,GFT:-10800,GET:14400,GEST:14400,GAMT:-32400,GALT:-21600,FNT:-7200,FNST:-3600,FKT:-10800,FKST:-10800,FJT:43200,FJST:46800,FET:10800,EST:-18e3,EGT:-3600,EGST:0,EETDST:10800,EET:7200,EEST:10800,EDT:-14400,EAT:10800,EAST:-21600,EASST:-21600,DDUT:36e3,DAVT:25200,CXT:25200,CST:-21600,COT:-18e3,CLT:-14400,CLST:-10800,CKT:-36e3,CHUT:36e3,CHAST:45900,CHADT:49500,CETDST:7200,CET:3600,CEST:7200,CDT:-18e3,CCT:28800,CAST:34200,CADT:37800,BTT:21600,BST:3600,BRT:-10800,BRST:-7200,BRA:-10800,BOT:-14400,BORT:28800,BNT:28800,BDT:21600,BDST:7200,AZT:14400,AZST:14400,AZOT:-3600,AZOST:0,AWST:28800,AWSST:32400,AST:-14400,ART:-10800,ARST:-10800,ANAT:43200,ANAST:43200,AMT:-14400,AMST:14400,ALMT:21600,ALMST:25200,AKST:-32400,AKDT:-28800,AFT:16200,AEST:36e3,AESST:39600,AEDT:39600,ADT:-10800,ACWST:31500,ACT:-18e3,ACST:34200,ACSST:37800,ACDT:37800};function ss(t){return new Date(t)}function os(t){return new Date(t+"Z")}const as=/^(\d+)[\./-](\d+)[\./-](\d+)$/;function us(t){const e=t.match(as);if(!e)return null;const[n,r,i,s]=e;return r<=0||i<=0||s<=0?null:r>999?new Date(Date.UTC(r,i-1,s,0,0,0,0)):new Date(Date.UTC(s,r-1,i,0,0,0,0))}function cs(t){const[e,n]=t.split(" ");return new Date(e+"T"+n+"Z")}function ds(t){const[e,n]=t.split(" ");return new Date(e+"T"+n+"Z")}function fs(t){return new Date(t)}function ls(t){const e=/^(\w{3}) (\w{3}) (\d{2}) (\d{4})$/;if(!t.match(e))throw new Error(`Unable to parse \`${t}\` as a date.`);const r=new Date(t+" UTC");return new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate(),0,0,0,0))}function hs(t){const e=/^(.+T.+)([+-])(\d{2})$/,n=t.match(e);if(n){const[,r,i,s]=n,o=`${r}${i}${s}:00`;return new Date(o)}return null}function ps(t){const[e,n]=t.split(", "),[r,i,s]=e.split("/").map(Number),o=n.match(/(\d{1,2}):(\d{2}):(\d{2}) (AM|PM)/);if(!o)throw new Error(`Unable to parse time from: ${t}`);let[,a,u,d,c]=o;return a=Number(a),u=Number(u),d=Number(d),c==="PM"&&a!==12?a+=12:c==="AM"&&a===12&&(a=0),new Date(Date.UTC(s,r-1,i,a,u,d))}function ys(t){switch(t){case"epoch":return new Date(0);case"infinity":case"-infinity":case"today":case"tomorrow":case"yesterday":return null}}function bs(t){const e=t.match(sr);if(!e)return null;const[n]=e,r=is[n],i=new Date(t.replace(sr,"Z"));return new Date(i.getTime()-r*1e3)}const _s=[us,ds,ls,ps,fs,os,hs,cs,ss,ys,bs];function gs(t,e){try{const n=t(e);return n instanceof Date&&!isNaN(n.getTime())?n:null}catch{return null}}function Qt(t){for(const e of _s){const n=gs(e,t);if(n)return n}return null}function Ts(t){try{const e=JSON.parse(t);return typeof e=="string"?Qt(e):null}catch{return null}}function ht(t){if(t!==void 0){if(t===null)return null;if(t instanceof Date)return t;if(typeof t=="string"){const e=Qt(t)||Ts(t)||Qt(t.trim());if(!e)throw new Error(`Unable to parse \`${t}\` as a date.`);return e}else if(typeof t=="number")return new Date(t);throw new Error(`Invalid date value \`${t}\`. Expected a date, number, or string, got type ${typeof t}.`)}}function ws(t){return t.cardinality==="one"}function Ht(t){return t["value-type"]==="ref"}function Yt(t){return t["value-type"]==="blob"}function Ce(t,e){return t[e]}function Ge(t,e){return e.reduce((n,r)=>n&&n.get(r),t)}function ue(t,e){if(e.length===0)throw new Error("path must have at least one element");if(e.length===1){t.delete(e[0]);return}const[n,...r]=e;t.has(n)&&ue(t.get(n),r)}function Z(t,e,n){if(e.length===0)throw new Error("path must have at least one element");if(e.length===1){t.set(e[0],n);return}const[r,...i]=e;let s=t.get(r);s||(s=new Map,t.set(r,s)),Z(s,i,n)}function or(t,e,n){const r=new Map,i=new Map,s=new Map;for(const o of e){let[a,u,d,c]=o;const f=Ce(t,u);if(!f){console.warn("no such attr",a,t);continue}f["checked-data-type"]==="date"&&n&&(d=ht(d),o[2]=d),Ht(f)&&Z(s,[d,u,a],o),Z(r,[a,u,d],o),Z(i,[u,a,d],o)}return{eav:r,aev:i,vae:s}}function ar(t){const e=new Map,n=new Map,r=new Map,i=new Map;for(const s of Object.values(t)){const o=s["forward-identity"],[a,u,d]=o,c=s["reverse-identity"];if(Z(r,[u,d],s),Yt(s)&&Z(e,[u,d],s),s["primary?"]&&Z(n,[u],s),c){const[f,h,p]=c;Z(i,[h,p],s)}}return{blobAttrs:e,primaryKeys:n,forwardIdents:r,revIdents:i}}function ur(t){return{__type:t.__type,attrs:t.attrs,triples:X(t.eav,3),cardinalityInference:t.cardinalityInference,linkIndex:t.linkIndex,useDateObjects:t.useDateObjects}}function cr(t){return pt(t.attrs,t.triples,t.cardinalityInference,t.linkIndex,t.useDateObjects)}function ms(t,e){return Ge(t.eav,[e])!==void 0}function Jt(t){t.attrIndexes=ar(t.attrs)}function pt(t,e,n,r,i){const s=or(t,e,i);return s.useDateObjects=i,s.attrs=t,s.attrIndexes=ar(t),s.cardinalityInference=n,s.linkIndex=r,s.__type="store",s}function Qe(t,e){var n,r;let i;if(Array.isArray(e[0])){const[o,a]=e[0],u=t.aev.get(o);if(!u)return null;i=(n=X(u,2).find(c=>c[2]===a))===null||n===void 0?void 0:n[0]}else i=e[0];if(!i)return null;const s=e[2];if(Array.isArray(s)&&s.length===2&&t.aev.get(s[0])){const[o,a]=s,u=t.aev.get(o);if(!u)return null;const c=(r=X(u,2).find(y=>y[2]===a))===null||r===void 0?void 0:r[0];if(!c)return null;const[f,h,p,...b]=e;return[i,h,c,...b]}else{const[o,...a]=e;return[i,...a]}}function dr(t,e){const n=Qe(t,e);if(!n)return;const[r,i,s]=n,o=Ce(t.attrs,i);o&&(ue(t.eav,[r,i,s]),ue(t.aev,[i,r,s]),Ht(o)&&ue(t.vae,[s,i,r]))}let Ss=0;function fr(t,e,n){const[r,i,s]=n;let o;const a=Ge(t.ea,[r,i,s]);return a&&(o=a[3]),o||Date.now()*10+Ss++}function lr(t,e){var n;const r=Qe(t,e);if(!r)return;let[i,s,o]=r;const a=Ce(t.attrs,s);if(!a)return;a["checked-data-type"]==="date"&&t.useDateObjects&&(o=ht(o));const u=Ge(t.eav,[i,s,o]),d=(n=u==null?void 0:u[3])!==null&&n!==void 0?n:fr(t,a,r),c=[i,s,o,d];ws(a)?(Z(t.eav,[i,s],new Map([[o,c]])),Z(t.aev,[s,i],new Map([[o,c]]))):(Z(t.eav,[i,s,o],c),Z(t.aev,[s,i,o],c)),Ht(a)&&Z(t.vae,[o,s,i],c)}function vs(t,e){var n;const r=Qe(t,e);if(!r)return;const[i,s,o]=r,a=Ce(t.attrs,s);if(!a)return;if(!Yt(a))throw new Error("merge operation is not supported for links");const u=Ge(t.eav,[i,s]);if(!u)return;const d=(n=u.values().next())===null||n===void 0?void 0:n.value;if(!d)return;const c=d[2],f=nr(c,o),h=[i,s,f,fr(t,a,d)];Z(t.eav,[i,s],new Map([[f,h]]))}function Zt(t,e){var n,r;const[i,s]=e,o=Qe(t,[i]);if(!o)return;const[a]=o,u=t.eav.get(a);if(u){for(const c of u.keys()){const f=t.attrs[c];f&&f["on-delete-reverse"]==="cascade"&&X(u.get(c),1).forEach(([h,p,b])=>{var y;return Zt(t,[b,(y=f["reverse-identity"])===null||y===void 0?void 0:y[1]])}),(!s||!f||((n=f["forward-identity"])===null||n===void 0?void 0:n[1])===s)&&(ue(t.aev,[c,a]),ue(t.eav,[a,c]))}u.size===0&&ue(t.eav,[a])}const d=t.vae.get(a)&&X(t.vae.get(a),2);d&&d.forEach(c=>{var f,h,p;const[b,y,_]=c,T=t.attrs[y];(!s||!T||((f=T["reverse-identity"])===null||f===void 0?void 0:f[1])===s)&&(ue(t.eav,[b,y,_]),ue(t.aev,[y,b,_]),ue(t.vae,[_,y,b])),T&&T["on-delete"]==="cascade"&&((h=T["reverse-identity"])===null||h===void 0?void 0:h[1])===s&&Zt(t,[b,(p=T["forward-identity"])===null||p===void 0?void 0:p[1]])}),((r=t.vae.get(a))===null||r===void 0?void 0:r.size)===0&&ue(t.vae,[a])}function hr(t,e){const n=or(t.attrs,e,t.useDateObjects);Object.keys(n).forEach(r=>{t[r]=n[r]})}function Os(t,[e]){t.attrs[e.id]=e,Jt(t)}function pr(t){return X(t.eav,3)}function Es(t,[e]){if(!t.attrs[e])return;const n=pr(t).filter(([r,i])=>i!==e);delete t.attrs[e],Jt(t),hr(t,n)}function As(t,[e]){const n=t.attrs[e.id];n&&(t.attrs[e.id]=Object.assign(Object.assign({},n),e),Jt(t),hr(t,pr(t)))}function Cs(t,e){const[n,...r]=e;switch(n){case"add-triple":lr(t,r);break;case"deep-merge-triple":vs(t,r);break;case"retract-triple":dr(t,r);break;case"delete-entity":Zt(t,r);break;case"add-attr":Os(t,r);break;case"delete-attr":Es(t,r);break;case"update-attr":As(t,r);break;case"restore-attr":break;case"rule-params":break;default:throw new Error(`unhandled transaction action: ${n}`)}}function X(t,e,n=[]){if(!t||e===0)return n;if(e===1){for(const r of t.values())n.push(r);return n}for(const r of t.values())X(r,e-1,n);return n}function yt(t,e,n){var r,i;const s=[];if(n!=null&&n.hasOwnProperty("$not")){for(const a of e.keys())n.$not!==a&&s.push(e.get(a));return s}if(n!=null&&n.hasOwnProperty("$isNull")){const{attrId:a,isNull:u,reverse:d}=n.$isNull;if(d)for(const c of e.keys()){const f=t.vae.get(c),h=!f||((r=f.get(a))===null||r===void 0?void 0:r.get(null))||!f.get(a);(u?h:!h)&&s.push(e.get(c))}else{const c=t.aev.get(a);for(const f of e.keys()){const h=!c||((i=c.get(f))===null||i===void 0?void 0:i.get(null))||!c.get(f);(u?h:!h)&&s.push(e.get(f))}}return s}if(n!=null&&n.$comparator)return X(e,1).filter(n.$op);const o=n.in||n.$in||[n];for(const a of o){const u=e.get(a);u&&s.push(u)}return s}function ks(t,e,n){let r="";return t!==void 0&&(r+="e"),e!==void 0&&(r+="a"),n!==void 0&&(r+="v"),r}function js(t,[e,n,r]){var i,s;switch(ks(e,n,r)){case"e":{const a=t.eav.get(e);return X(a,2)}case"ea":{const a=(i=t.eav.get(e))===null||i===void 0?void 0:i.get(n);return X(a,1)}case"eav":{const a=(s=t.eav.get(e))===null||s===void 0?void 0:s.get(n);return a?yt(t,a,r):[]}case"ev":{const a=t.eav.get(e);if(!a)return[];const u=[];for(const d of a.values())u.push(...yt(t,d,r));return u}case"a":{const a=t.aev.get(n);return X(a,2)}case"av":{const a=t.aev.get(n);if(!a)return[];const u=[];for(const d of a.values())u.push(...yt(t,d,r));return u}case"v":{const a=[];for(const u of t.eav.values())for(const d of u.values())a.push(...yt(t,d,r));return a}default:return X(t.eav,3)}}function Is(t,e,n){var r;const i={};for(const[s,o]of e.entries()){const a=(r=t.eav.get(n))===null||r===void 0?void 0:r.get(o.id),u=X(a,1);for(const d of u)i[s]=d[2]}return i}function ke(t,e,n){var r;return(r=t.attrIndexes.forwardIdents.get(e))===null||r===void 0?void 0:r.get(n)}function yr(t,e,n){var r;return(r=t.attrIndexes.revIdents.get(e))===null||r===void 0?void 0:r.get(n)}function Ps(t,e){return t.attrIndexes.blobAttrs.get(e)}function br(t,e){var n;const r=t.attrIndexes.primaryKeys.get(e);return r||((n=t.attrIndexes.forwardIdents.get(e))===null||n===void 0?void 0:n.get("id"))}function Ms(t,e){const n=Qe(t,e);if(!n)return;const[r,i,s]=n;if(Ce(t.attrs,i))return Ge(t.eav,[r,i])}function Rs(t,e){const n=e.filter(([r,i,s,o,a])=>{if(r!=="add-triple"&&r!=="deep-merge-triple")return!0;const u=a==null?void 0:a.mode;if(u!=="create"&&u!=="update")return!0;let d=!1;const c=Ce(t.attrs,s);if(c){const f=br(t,c["forward-identity"][1]);d=!!Ms(t,[i,f.id,i])}return!(u==="create"&&d||u==="update"&&!d)});return Bt(t,r=>{n.forEach(i=>{Cs(r,i)})})}function xs(t){return typeof t=="string"&&t.startsWith("?")}function Ds(t,e,n){if(n.hasOwnProperty(t)){const r=n[t];return gr(r,e,n)}return Object.assign(Object.assign({},n),{[t]:e})}function _r(t,e,n){return t===e?n:null}function $s(t){switch(typeof t){case"string":return t.startsWith("?")?Ds:_r;default:return _r}}const Us=["in","$in","$not","$isNull","$comparator"];function Ls(t){for(const e of Us)if(t.hasOwnProperty(e))return!0;return!1}function gr(t,e,n){return n?typeof t=="object"?Ls(t)?n:null:$s(t)(t,e,n):null}function Fs(t,e,n){return t.reduce((r,i,s)=>{const o=e[s];return gr(i,o,r)},n)}function Ns(t,e,n){return zs(t,e,n).map(r=>Fs(e,r,n)).filter(r=>r)}function Ws(t,e,n){return e.or?e.or.patterns.flatMap(r=>Xt(t,r,n)):e.and?e.and.patterns.reduce((r,i)=>Xt(t,i,r),n):n.flatMap(r=>Ns(t,e,r))}function Xt(t,e,n=[{}]){return e.reduce((r,i)=>Ws(t,i,r),n)}function en(t,e){return Array.isArray(e)?e.map(n=>en(t,n)):xs(e)?t[e]:e}function Vs(t,{find:e,where:n}){return Xt(t,n).map(i=>en(i,e))}function zs(t,e,n){return js(t,en(n,e))}const Ks=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;function je(t){return typeof t=="string"&&Ks.test(t)}const K=[];for(let t=0;t<256;++t)K.push((t+256).toString(16).slice(1));function qs(t,e=0){return(K[t[e+0]]+K[t[e+1]]+K[t[e+2]]+K[t[e+3]]+"-"+K[t[e+4]]+K[t[e+5]]+"-"+K[t[e+6]]+K[t[e+7]]+"-"+K[t[e+8]]+K[t[e+9]]+"-"+K[t[e+10]]+K[t[e+11]]+K[t[e+12]]+K[t[e+13]]+K[t[e+14]]+K[t[e+15]]).toLowerCase()}let tn;const Bs=new Uint8Array(16);function Gs(){if(!tn){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");tn=crypto.getRandomValues.bind(crypto)}return tn(Bs)}const Tr={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function Qs(t,e,n){var i;if(Tr.randomUUID&&!t)return Tr.randomUUID();t=t||{};const r=t.random??((i=t.rng)==null?void 0:i.call(t))??Gs();if(r.length<16)throw new Error("Random bytes length must be >= 16");return r[6]=r[6]&15|64,r[8]=r[8]&63|128,qs(r)}function wr(t){const e=t.replace(/-/g,""),n=[];for(let r=0;r<e.length;r+=2)n.push(parseInt(e.substring(r,r+2),16));return n}function Hs(t,e){for(let n=0;n<t.length;n++){if(t[n]<e[n])return-1;if(t[n]>e[n])return 1}return 0}function Ys(t,e){return Hs(wr(t),wr(e))}function W(){return Qs()}function Js(t,e){return t.localeCompare(e)}function Zs(){let t=Js;if(typeof Intl=="object"&&Intl.hasOwnProperty("Collator"))try{t=Intl.Collator("en-US").compare}catch{}return t}const Xs=Zs();let eo=0;function He(t){return bt(`_${t}`,eo++)}function bt(t,e){return`?${t}-${e}`}class Ie extends Error{constructor(e){super(e),this.name="AttrNotFoundError"}}function to(t,e){const n=br(t,e);if(!n)throw new Ie(`Could not find id attr for ${e}`);return n}function mr(t,e,n,r){return[no(t,e,n,r)]}function no(t,e,n,r){return[t(n,r),to(e,n).id,t(n,r),t("time",r)]}function ro(t,e,n){return t.map(r=>r===e?n:r)}function Sr(t,e,n,r,i){const s=ke(e,n,i),o=yr(e,n,i),a=s||o;if(!a)throw new Ie(`Could not find attr for ${[n,i]}`);if(a["value-type"]!=="ref")throw new Error(`Attr ${a.id} is not a ref`);const[u,d]=a["forward-identity"],[c,f]=a["reverse-identity"],h=r+1,p=s?[t(d,r),a.id,t(f,h),He("time")]:[t(d,h),a.id,t(f,r),He("time")];return[s?f:d,h,p,a,!!s]}function vr(t,e){if(typeof e!="string")return function(o){return!1};const r=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/%/g,".*").replace(/_/g,"."),i=new RegExp(`^${r}$`,t?void 0:"i");return function(o){return typeof o!="string"?!1:i.test(o)}}function io(t,e){if(typeof e!="object"||e.hasOwnProperty("$in")||e.hasOwnProperty("in"))return e;const n=t["checked-data-type"]==="date";if(e.hasOwnProperty("$gt"))return{$comparator:!0,$op:n?function(i){return new Date(i[2])>new Date(e.$gt)}:function(i){return i[2]>e.$gt}};if(e.hasOwnProperty("$gte"))return{$comparator:!0,$op:n?function(i){return new Date(i[2])>=new Date(e.$gte)}:function(i){return i[2]>=e.$gte}};if(e.hasOwnProperty("$lt"))return{$comparator:!0,$op:n?function(i){return new Date(i[2])<new Date(e.$lt)}:function(i){return i[2]<e.$lt}};if(e.hasOwnProperty("$lte"))return{$comparator:!0,$op:n?function(i){return new Date(i[2])<=new Date(e.$lte)}:function(i){return i[2]<=e.$lte}};if(e.hasOwnProperty("$like")){const r=vr(!0,e.$like);return{$comparator:!0,$op:function(s){return r(s[2])}}}if(e.hasOwnProperty("$ilike")){const r=vr(!1,e.$ilike);return{$comparator:!0,$op:function(s){return r(s[2])}}}return e}function so(t,e,n,r,i,s){const o=ke(e,n,i),a=yr(e,n,i),u=o||a;if(!u)throw new Ie(`No attr for etype = ${n} label = ${i}`);if(s!=null&&s.hasOwnProperty("$isNull")){const d=ke(e,n,"id");if(!d)throw new Ie(`No attr for etype = ${n} label = id`);return[t(n,r),d.id,{$isNull:{attrId:u.id,isNull:s.$isNull,reverse:!o}},He("time")]}return o?[t(n,r),u.id,io(u,s),He("time")]:[s,u.id,t(n,r),He("time")]}function oo(t,e,n,r,i){const[s,o,a]=i.reduce((u,d)=>{const[c,f,h]=u,[p,b,y]=Sr(t,e,c,f,d);return[p,b,[...h,y]]},[n,r,[]]);return[s,o,a]}function nn(t,e,n,r,i,s){const o=i.slice(0,i.length-1),a=i[i.length-1],[u,d,c]=oo(t,e,n,r,o),f=so(t,e,u,d,a,s);return c.concat([f])}function ao(t,e){return e?[e].concat(t):t}function uo([t,e]){return t==="or"&&Array.isArray(e)}function co([t,e]){return t==="and"&&Array.isArray(e)}function fo(t,e,n){return(r,i)=>{const s=t(r,i);return e==s?s:`${s}-${n}`}}function Or(t,e,n,r,i,s){const o=t(r,i),a=s.map((u,d)=>{const c=fo(t,o,d);return Ar(c,n,r,i,u)});return{[e]:{patterns:a,joinSym:o}}}function lo(t){const e=[];for(let n=1;n<=t.length;n++)e.push(t.slice(0,n));return e}function Er(t,e,n,r,i){return lo(i).map(s=>nn(t,e,n,r,s,{$isNull:!0}))}function Ar(t,e,n,r,i){return Object.entries(i).flatMap(([s,o])=>{if(uo([s,o]))return Or(t,"or",e,n,r,o);if(co([s,o]))return Or(t,"and",e,n,r,o);if(s==="$entityIdStartsWith")return[];const a=s.split(".");if(o!=null&&o.hasOwnProperty("$ne")&&(o=Object.assign(Object.assign({},o),{$not:o.$ne}),delete o.$ne),o!=null&&o.hasOwnProperty("$not")){const u=nn(t,e,n,r,a,o),d=Er(t,e,n,r,a);return[{or:{patterns:[u,...d],joinSym:t(n,r)}}]}return o!=null&&o.hasOwnProperty("$isNull")&&o.$isNull===!0&&a.length>1?[{or:{patterns:Er(t,e,n,r,a),joinSym:t(n,r)}}]:nn(t,e,n,r,a,o)})}function ho(t,e,n,r){const i=bt;return r?Ar(i,t,e,n,r).concat(mr(i,t,e,n)):mr(i,t,e,n)}function po(t,e,n){return[t(e,n),t("time",n)]}function yo(t,e,n,r,i,s){const[o,a,u,d,c]=Sr(t,e,n,r,i),f=ro(u,t(n,r),s);return[o,a,f,d,c]}function bo(t,e,{etype:n,level:r,form:i},s){const o=Object.keys(i).filter(a=>a!=="$");return o.length?Object.entries(s).map(function([u,d]){return o.map(function(h){var p,b,y;const _=!!(e.cardinalityInference&&(!((y=(b=(p=e.linkIndex)===null||p===void 0?void 0:p[n])===null||b===void 0?void 0:b[h])===null||y===void 0)&&y.isSingular));try{const[T,w,m]=yo(t,e,n,r,h,u),I=kr(e,{etype:T,level:w,form:i[h],join:m}),v=_?I[0]:I;return{[h]:v}}catch(T){if(T instanceof Ie)return{[h]:_?void 0:[]};throw T}}).reduce(function(h,p){return Object.assign(Object.assign({},h),p)},d)}):Object.values(s)}function _o(t,e,n){return n==="string"?Xs(t,e):t>e?1:-1}function _t([t,e],[n,r],i){return e===r||e==null&&r==null?Ys(t,n):r==null?1:e==null?-1:_o(e,r,i)}function rn(t){return t==null?t:new Date(t).getTime()}function go(t,e,n,r){var i;const[s,o,a,u]=t,d=n==="desc"?1:-1;if(((i=e["forward-identity"])===null||i===void 0?void 0:i[2])==="id")return _t(r,[s,u],null)===d;const[c,f]=r,h=e["checked-data-type"],p=h==="date"?rn(f):f,b=h==="date"?rn(a):a;return _t([c,p],[s,b],h)===d}function To(t,e){const n=e[1];return t.attrs[n]}function wo(t,e,n){const r=Object.keys(n)[0];return ke(t,e,r)}function mo(t,e,n,r){if(n)return To(t,n);if(r)return wo(t,e,r)}function So(t,e,n){var r,i;if(!Array.isArray(n.fields))return Ps(t,e);const s=new Map;for(const o of n.fields){const a=ke(t,e,o),u=(r=a==null?void 0:a["forward-identity"])===null||r===void 0?void 0:r[2];u&&Yt(a)&&s.set(u,a)}if(!s.has("id")){const o=ke(t,e,"id"),a=(i=o==null?void 0:o["forward-identity"])===null||i===void 0?void 0:i[2];a&&s.set(a,o)}return s}function vo(t,{etype:e,pageInfo:n,dq:r,form:i}){var s,o;const a=(s=i==null?void 0:i.$)===null||s===void 0?void 0:s.order,u=Cr(i),d=Oo(i);let c=Vs(t,r);const f=n==null?void 0:n["start-cursor"],h=mo(t,e,f,a);if(h&&((o=h==null?void 0:h["forward-identity"])===null||o===void 0?void 0:o[2])!=="id"){const y=h["checked-data-type"]==="date",_=h.id;c=c.map(([T])=>{var w,m,I,v,R;let F=(R=(v=(I=(m=(w=t.eav.get(T))===null||w===void 0?void 0:w.get(_))===null||m===void 0?void 0:m.values())===null||I===void 0?void 0:I.next())===null||v===void 0?void 0:v.value)===null||R===void 0?void 0:R[2];return y&&(F=rn(F)),[T,F]})}c.sort(d==="asc"?function(_,T){return _t(_,T,h==null?void 0:h["checked-data-type"])}:function(_,T){return _t(T,_,h==null?void 0:h["checked-data-type"])});let p={};const b=So(t,e,r);for(const y of c){const[_]=y;if(p[_]||!u&&f&&h&&go(f,h,d,y))continue;const T=Is(t,b,_);T&&(p[_]=T)}return p}function Oo(t){var e;const n=(e=t.$)===null||e===void 0?void 0:e.order;return n&&n[Object.keys(n)[0]]||"asc"}function Cr(t){var e,n,r;const i=(e=t.$)===null||e===void 0?void 0:e.offset,s=(n=t.$)===null||n===void 0?void 0:n.before,o=(r=t.$)===null||r===void 0?void 0:r.after;return!i&&!s&&!o}function Eo(t,{etype:e,level:n,form:r,join:i,pageInfo:s}){var o,a,u,d,c;if(!Cr(r)&&(!s||!s["start-cursor"]))return[];const f=ao(ho(t,e,n,(o=r.$)===null||o===void 0?void 0:o.where),i),h=po(bt,e,n),p=(a=r.$)===null||a===void 0?void 0:a.fields,b=vo(t,{etype:e,pageInfo:s,form:r,dq:{where:f,find:h,fields:p}}),y=((u=r.$)===null||u===void 0?void 0:u.limit)||((d=r.$)===null||d===void 0?void 0:d.first)||((c=r.$)===null||c===void 0?void 0:c.last);if(y!=null){n>0&&console.warn("WARNING: Limits in child queries are only run client-side. Data returned from the server will not have a limit.");const _=Object.entries(b);return _.length<=y?b:Object.fromEntries(_.slice(0,y))}return b}function Ao(t,e){try{return Eo(t,e)}catch(n){if(n instanceof Ie)return{};throw n}}function kr(t,e){const n=Ao(t,e);return bo(bt,t,e,n)}function Co(t){const e={};for(const[n,r]of Object.entries(t))e[n]={startCursor:r["start-cursor"],endCursor:r["end-cursor"],hasNextPage:r["has-next-page?"],hasPreviousPage:r["has-previous-page?"]};return e}function jr({store:t,pageInfo:e,aggregate:n},r){const s={data:Object.keys(r).reduce(function(a,u){return n!=null&&n[u]||u==="$$ruleParams"||(a[u]=kr(t,{etype:u,form:r[u],level:0,pageInfo:e==null?void 0:e[u]})),a},{})};return e&&(s.pageInfo=Co(e)),n&&(s.aggregate=n),s}function ko(){const e={__etype:1,__ops:1,create:1,update:1,link:1,unlink:1,delete:1,merge:1,ruleParams:1};return new Set(Object.keys(e))}const jo=ko();function sn(t,e,n){const r={__etype:t,__ops:n};return new Proxy(r,{get:(i,s)=>{if(s==="__ops")return n;if(s==="__etype")return t;if(jo.has(s))return(o,a)=>sn(t,e,[...n,a?[s,t,e,o,a]:[s,t,e,o]])}})}function Io(t,e){return`lookup__${t}__${JSON.stringify(e)}`}function gt(t){return t.startsWith("lookup__")}function Ir(t){const[e,n,...r]=t.split("__");return[n,JSON.parse(r.join("__"))]}function Po(t){return new Proxy({__etype:t},{get(e,n){if(n==="__etype")return t;const r=n;return gt(r)?sn(t,Ir(r),[]):sn(t,r,[])}})}function on(){return new Proxy({},{get(t,e){return Po(e)}})}const Mo=on();function Ro(t){return t.__ops}function xo(t,e){const{attrIdMap:n,refSwapAttrIds:r}=t,i=[];for(const o of e){const a=n[o];if(a)i.push(a);else if(Array.isArray(o)&&o.length==2&&n[o[0]]){const[u,d]=o;i.push([n[u],d])}else i.push(o)}const[s]=e;if((s==="add-triple"||s==="retract-triple")&&r.has(e[2])){const o=i[1];i[1]=i[3],i[3]=o}return i}function q(t,e,n){return Object.values(t).find(r=>{const[i,s,o]=r["forward-identity"];return s===e&&o===n})}function me(t,e,n){return Object.values(t).find(r=>{const i=r["reverse-identity"];if(!i)return!1;const[s,o,a]=i;return o===e&&a===n})}function Do(t){if(Array.isArray(t))return t;const e=Object.entries(t);if(e.length!==1)throw new Error("lookup must be an object with a single unique attr and value.");return e[0]}function an(t,e,n){return n.indexOf(".")!==-1&&!q(t,e,n)}function un(t){const[e,n,...r]=t.split(".");if(r.length>0||n!=="id")throw new Error(`${t} is not a valid lookup attribute.`);return e}function $o(t,e,n){if(!an(t,e,n))return q(t,e,n);const r=un(n),i=q(t,e,r)||me(t,e,r);if(i&&i["value-type"]!=="ref")throw new Error(`${n} does not reference a valid link attribute.`);return i}function cn(t){return typeof t=="string"&&!gt(t)?null:typeof t=="string"&>(t)?Ir(t):Do(t)}function ee(t,e,n){const r=cn(n);if(r===null)return n;const[i,s]=r,o=$o(t,e,i);if(!o||!o["unique?"])throw new Error(`${i} is not a unique attribute.`);return[o.id,s]}function Pr(t,e,n,r){const i=ee(t,e,n);return Array.isArray(i)?[["add-triple",i,q(t,e,"id").id,i]].concat(r):r}function Uo({attrs:t},[e,n,r]){const i=Object.entries(r).flatMap(([s,o])=>{const a=Array.isArray(o)?o:[o],u=q(t,e,s),d=me(t,e,s);return a.map(c=>u?["add-triple",ee(t,e,n),u.id,ee(t,u["reverse-identity"][1],c)]:["add-triple",ee(t,d["forward-identity"][1],c),d.id,ee(t,e,n)])});return Pr(t,e,n,i)}function Lo({attrs:t},[e,n,r]){const i=Object.entries(r).flatMap(([s,o])=>{const a=Array.isArray(o)?o:[o],u=q(t,e,s),d=me(t,e,s);return a.map(c=>u?["retract-triple",ee(t,e,n),u.id,ee(t,u["reverse-identity"][1],c)]:["retract-triple",ee(t,d["forward-identity"][1],c),d.id,ee(t,e,n)])});return Pr(t,e,n,i)}function Fo(t,e,n){if(Array.isArray(n)){const[r,i]=n;for(const s of t||[]){const o=s==null?void 0:s.aev.get(r);if(o){for(const[a,u,d]of X(o,2))if(d===i)return!0}}}else for(const r of t||[]){const i=r==null?void 0:r.eav.get(n);if(i){for(const s of i.keys())if(r.attrs[s]["forward-identity"][1]==e)return!0}}return!1}function Mr({stores:t,attrs:e},[n,r,i,s]){return(s==null?void 0:s.upsert)===!1?{mode:"update"}:(s==null?void 0:s.upsert)===!0?null:Fo(t,n,r)?{mode:"update"}:null}function No(t,e){const{stores:n,attrs:r}=t,[i,s,o,a]=e,u=Gt(o),d=ee(r,i,s);return[["id",d]].concat(Object.entries(u)).map(([f,h])=>{const p=q(r,i,f);return p["checked-data-type"]==="date"&&t.useDateObjects&&(h=ht(h)),["add-triple",d,p.id,h,{mode:"create"}]})}function Wo(t,e){const{stores:n,attrs:r}=t,[i,s,o,a]=e,u=Gt(o),d=ee(r,i,s),c=Mr(t,[i,d,o,a]);return[["id",d]].concat(Object.entries(u)).map(([h,p])=>{const b=q(r,i,h);return b["checked-data-type"]==="date"&&t.useDateObjects&&(p=ht(p)),["add-triple",d,b.id,p,...c?[c]:[]]})}function Vo({attrs:t},[e,n]){return[["delete-entity",ee(t,e,n),e]]}function zo(t,e){const{stores:n,attrs:r}=t,[i,s,o,a]=e,u=Gt(o),d=ee(r,i,s),c=Mr(t,[i,d,o,a]),f=Object.entries(u).map(([p,b])=>{const y=q(r,i,p);return["deep-merge-triple",d,y.id,b,...c?[c]:[]]});return[["add-triple",d,q(r,i,"id").id,d,...c?[c]:[]]].concat(f)}function Ko({attrs:t},[e,n,r]){return[["rule-params",ee(t,e,n),e,r]]}function qo(t){const[e,n,r,i,s]=t;if(!i)return t;const o=Object.assign({},i);return delete o.id,[e,n,r,o,...s?[s]:[]]}function Bo(t,e){const[n,...r]=qo(e);switch(n){case"merge":return zo(t,r);case"create":return No(t,r);case"update":return Wo(t,r);case"link":return Uo(t,r);case"unlink":return Lo(t,r);case"delete":return Vo(t,r);case"ruleParams":return Ko(t,r);default:throw new Error(`unsupported action ${n}`)}}function Go(t){switch(t){case"string":case"date":case"boolean":case"number":return t;default:return}}function Qo(t,e,n){var r,i;const s=(i=(r=t.entities[e])===null||r===void 0?void 0:r.attrs)===null||i===void 0?void 0:i[n];if(n==="id")return null;if(!s)throw new Error(`${e}.${n} does not exist in your schema`);const{unique:o,indexed:a}=s==null?void 0:s.config,u=Go(s==null?void 0:s.valueType);return{"index?":a,"unique?":o,"checked-data-type":u}}function Tt(t,e,n,r){const i=t?Qo(t,e,n):null,s=W(),a=[W(),e,n];return Object.assign(Object.assign({id:s,"forward-identity":a,"value-type":"blob",cardinality:"one","unique?":!1,"index?":!1,isUnsynced:!0},i||{}),r||{})}function Ho(t,e,n){return Object.values(t.links).find(i=>i.forward.on===e&&i.forward.label===n||i.reverse.on===e&&i.reverse.label===n)}function Yo(t,e,n){const r=Ho(t,e,n);if(!r)throw new Error(`Couldn't find the link ${e}.${n} in your schema`);const{forward:i,reverse:s}=r;return{"forward-identity":[W(),i.on,i.label],"reverse-identity":[W(),s.on,s.label],cardinality:i.has==="one"?"one":"many","unique?":s.has==="one","on-delete":i.onDelete,"on-delete-reverse":s.onDelete}}function Rr(t,e,n,r){const i=t?Yo(t,e,n):null,s=W(),o=[W(),e,n],a=[W(),n,e];return Object.assign(Object.assign({id:s,"forward-identity":o,"reverse-identity":a,"value-type":"ref",cardinality:"many","unique?":!1,"index?":!1,isUnsynced:!0},i||{}),r||{})}const Jo=new Set(["create","update","merge","link","unlink"]),Zo=new Set(["link","unlink"]),Xo=new Set(["create","update","merge"]),ea=new Set(["link","unlink","create","update","merge","delete","ruleParams"]),dn={"unique?":!0,"index?":!0},ta=Object.assign(Object.assign({},dn),{cardinality:"one"});function na(t){const e=[],[n,r,i,s]=t;if(!ea.has(n))return e;const o=cn(i);if(o&&e.push({etype:r,lookupPair:o}),n==="link")for(const[a,u]of Object.entries(s)){const d=Array.isArray(u)?u:[u];for(const c of d){const f=cn(c);f&&e.push({etype:r,lookupPair:f,linkLabel:a})}}return e}function ra({attrs:t,schema:e},n){var r,i;const[s,o,a]=[new Set,Object.assign({},t),[]];function u(f){o[f.id]=f,a.push(["add-attr",f]),s.add(f.id)}function d(f){f!=null&&f.isUnsynced&&!s.has(f.id)&&(a.push(["add-attr",f]),s.add(f.id))}function c(f,h){const p=q(o,f,h),b=me(o,f,h);d(p),d(b),!p&&!b&&u(Rr(e,f,h,ta))}for(const f of n)for(const{etype:h,lookupPair:p,linkLabel:b}of na(f)){const y=p[0];if(b){c(h,b);const _=q(o,h,b),T=me(o,h,b);d(_),d(T);const w=((r=_==null?void 0:_["reverse-identity"])===null||r===void 0?void 0:r[1])||((i=T==null?void 0:T["forward-identity"])===null||i===void 0?void 0:i[1])||b;if(an(o,w,y))c(w,un(y));else{const m=q(o,w,y);m||u(Tt(e,w,y,dn)),d(m)}}else if(an(o,h,y))c(h,un(y));else{const _=q(o,h,y);_||u(Tt(e,h,y,dn)),d(_)}}for(const f of n){const[h,p,b,y]=f;if(Jo.has(h)){const _=q(o,p,"id");d(_),_||u(Tt(e,p,"id",{"unique?":!0}));for(const T of Object.keys(y)){const w=q(o,p,T);if(d(w),Xo.has(h)&&(w||u(Tt(e,p,T,T==="id"?{"unique?":!0}:null))),Zo.has(h)){const m=me(o,p,T);!w&&!m&&u(Rr(e,p,T)),d(m)}}}}return[o,a]}function ia(t,e){const r=(Array.isArray(e)?e:[e]).flatMap(u=>Ro(u)),[i,s]=ra(t,r),o=Object.assign(Object.assign({},t),{attrs:i}),a=r.flatMap(u=>Bo(o,u));return[...s,...a]}var xr=function(t,e,n,r){function i(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function a(c){try{d(r.next(c))}catch(f){o(f)}}function u(c){try{d(r.throw(c))}catch(f){o(f)}}function d(c){c.done?s(c.value):i(c.value).then(a,u)}d((r=r.apply(t,e||[])).next())})};class Dr{constructor(e){this.dbName=e,this._storeName="kv",this._dbPromise=this._init()}_init(){return new Promise((e,n)=>{const r=indexedDB.open(this.dbName,1);r.onerror=i=>{n(i)},r.onsuccess=i=>{const s=i.target;e(s.result)},r.onupgradeneeded=i=>{i.target.result.createObjectStore(this._storeName)}})}getItem(e){return xr(this,void 0,void 0,function*(){const n=yield this._dbPromise;return new Promise((r,i)=>{const a=n.transaction([this._storeName],"readonly").objectStore(this._storeName).get(e);a.onerror=u=>{i(u)},a.onsuccess=u=>{a.result?r(a.result):r(null)}})})}setItem(e,n){return xr(this,void 0,void 0,function*(){const r=yield this._dbPromise;return new Promise((i,s)=>{const u=r.transaction([this._storeName],"readwrite").objectStore(this._storeName).put(n,e);u.onerror=d=>{s(d)},u.onsuccess=d=>{i()}})})}}var sa=function(t,e,n,r){function i(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function a(c){try{d(r.next(c))}catch(f){o(f)}}function u(c){try{d(r.throw(c))}catch(f){o(f)}}function d(c){c.done?s(c.value):i(c.value).then(a,u)}d((r=r.apply(t,e||[])).next())})};class $r{static getIsOnline(){return sa(this,void 0,void 0,function*(){return navigator.onLine})}static listen(e){const n=()=>{e(!0)},r=()=>{e(!1)};return addEventListener("online",n),addEventListener("offline",r),()=>{removeEventListener("online",n),removeEventListener("offline",r)}}}class Pe extends Error{constructor(e,n){super(e),this.hint=n;const r=new.target.prototype;Object.setPrototypeOf&&Object.setPrototypeOf(this,r),Error.captureStackTrace&&Error.captureStackTrace(this,Pe),this.name="InstantError"}get[Symbol.toStringTag](){return"InstantError"}}var oa=function(t,e,n,r){function i(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function a(c){try{d(r.next(c))}catch(f){o(f)}}function u(c){try{d(r.throw(c))}catch(f){o(f)}}function d(c){c.done?s(c.value):i(c.value).then(a,u)}d((r=r.apply(t,e||[])).next())})};class Ye extends Pe{constructor(e){var n;const r=((n=e.body)===null||n===void 0?void 0:n.message)||`API Error (${e.status})`;super(r,e.body.hint);const i=new.target.prototype;Object.setPrototypeOf&&Object.setPrototypeOf(this,i),Error.captureStackTrace&&Error.captureStackTrace(this,Ye),this.name="InstantAPIError",this.status=e.status,this.body=e.body}get[Symbol.toStringTag](){return"InstantAPIError"}}function ce(t,e){return oa(this,void 0,void 0,function*(){const n=yield fetch(t,e),r=yield n.json();return n.status===200?Promise.resolve(r):Promise.reject(new Ye({status:n.status,body:r}))})}var Me=function(t,e,n,r){function i(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function a(c){try{d(r.next(c))}catch(f){o(f)}}function u(c){try{d(r.throw(c))}catch(f){o(f)}}function d(c){c.done?s(c.value):i(c.value).then(a,u)}d((r=r.apply(t,e||[])).next())})};function aa({apiURI:t,appId:e,email:n}){return ce(`${t}/runtime/auth/send_magic_code`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({"app-id":e,email:n})})}function ua(t){return Me(this,arguments,void 0,function*({apiURI:e,appId:n,email:r,code:i,refreshToken:s}){return yield ce(`${e}/runtime/auth/verify_magic_code`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(Object.assign({"app-id":n,email:r,code:i},s?{"refresh-token":s}:{}))})})}function ca(t){return Me(this,arguments,void 0,function*({apiURI:e,appId:n,refreshToken:r}){return yield ce(`${e}/runtime/auth/verify_refresh_token`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({"app-id":n,"refresh-token":r})})})}function da(t){return Me(this,arguments,void 0,function*({apiURI:e,appId:n}){return yield ce(`${e}/runtime/auth/sign_in_guest`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({"app-id":n})})})}function Ur(t){return Me(this,arguments,void 0,function*({apiURI:e,appId:n,code:r,codeVerifier:i,refreshToken:s}){return yield ce(`${e}/runtime/oauth/token`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({app_id:n,code:r,code_verifier:i,refresh_token:s})})})}function fa(t){return Me(this,arguments,void 0,function*({apiURI:e,appId:n,nonce:r,idToken:i,clientName:s,refreshToken:o}){return yield ce(`${e}/runtime/oauth/id_token`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({app_id:n,nonce:r,id_token:i,client_name:s,refresh_token:o})})})}function la(t){return Me(this,arguments,void 0,function*({apiURI:e,appId:n,refreshToken:r}){return yield ce(`${e}/runtime/signout`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({app_id:n,refresh_token:r})})})}var Je=function(t,e,n,r){function i(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function a(c){try{d(r.next(c))}catch(f){o(f)}}function u(c){try{d(r.throw(c))}catch(f){o(f)}}function d(c){c.done?s(c.value):i(c.value).then(a,u)}d((r=r.apply(t,e||[])).next())})};function ha(t){return Je(this,arguments,void 0,function*({apiURI:e,appId:n,path:r,file:i,refreshToken:s,contentType:o,contentDisposition:a}){const u={app_id:n,path:r,authorization:`Bearer ${s}`,"content-type":o||i.type};return a&&(u["content-disposition"]=a),yield ce(`${e}/storage/upload`,{method:"PUT",headers:u,body:i})})}function pa(t){return Je(this,arguments,void 0,function*({apiURI:e,appId:n,path:r,refreshToken:i}){const{data:s}=yield ce(`${e}/storage/files?app_id=${n}&filename=${encodeURIComponent(r)}`,{method:"DELETE",headers:{"content-type":"application/json",authorization:`Bearer ${i}`}});return s})}function ya(t){return Je(this,arguments,void 0,function*({apiURI:e,appId:n,fileName:r,refreshToken:i,metadata:s={}}){const{data:o}=yield ce(`${e}/storage/signed-upload-url`,{method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${i}`},body:JSON.stringify({app_id:n,filename:r})});return o})}function ba(t,e){return Je(this,void 0,void 0,function*(){return(yield fetch(t,{method:"PUT",body:e,headers:{"Content-Type":e.type}})).ok})}function _a(t){return Je(this,arguments,void 0,function*({apiURI:e,appId:n,path:r,refreshToken:i}){const{data:s}=yield ce(`${e}/storage/signed-download-url?app_id=${n}&filename=${encodeURIComponent(r)}`,{method:"GET",headers:{"content-type":"application/json",authorization:`Bearer ${i}`}});return s})}let fn=!1,Lr=!1,Fr=!1;typeof window<"u"&&typeof window.localStorage<"u"&&(fn=!!window.localStorage.getItem("devBackend"),Lr=!!window.localStorage.getItem("__instantLogging"),Fr=!!window.localStorage.getItem("__devtoolLocalDash"));function Nr(t,e){if(!e)return t;const n={};return e.forEach(r=>{n[r]=t[r]}),n}function ga(t,e,n){var r,i;const s={peers:{}};if(e&&"user"in e?e.user:!0){const a=Nr((r=t.user)!==null&&r!==void 0?r:{},e==null?void 0:e.keys);s.user=Object.assign(Object.assign({},a),{peerId:n})}for(const a of Object.keys((i=t.peers)!==null&&i!==void 0?i:{})){const u=(e==null?void 0:e.peers)===void 0,d=Array.isArray(e==null?void 0:e.peers)&&(e==null?void 0:e.peers.includes(a));if(u||d){const c=Nr(t.peers[a],e==null?void 0:e.keys);s.peers[a]=Object.assign(Object.assign({},c),{peerId:a})}}return s}function Ta(t,e){if(t.isLoading!==e.isLoading||t.error!==e.error||(t.user||e.user)&&(!t.user||!e.user||!tr(t.user,e.user))||!er(t.peers,e.peers))return!0;for(const r of Object.keys(t.peers))if(!tr(t.peers[r],e.peers[r]))return!0;return!1}class Wr{constructor(){this.promise=new Promise((e,n)=>{this._resolve=e,this._reject=n})}resolve(e){this._resolve(e)}reject(e){this._reject(e)}}var Ze=function(t,e,n,r){function i(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function a(c){try{d(r.next(c))}catch(f){o(f)}}function u(c){try{d(r.throw(c))}catch(f){o(f)}}function d(c){c.done?s(c.value):i(c.value).then(a,u)}d((r=r.apply(t,e||[])).next())})};function wa(t,e){typeof requestIdleCallback>"u"?t():requestIdleCallback(t,{timeout:e})}class ln{constructor(e,n,r,i,s=d=>d,o=d=>d,a=100,u=1e3){this._subs=[],this._nextSave=null,this._persister=e,this._key=n,this._onMerge=i,this._loadedCbs=[],this._isLoading=!0,this.currentValue=r,this.serialize=s,this.parse=o,this._saveThrottleMs=a,this._pendingSaveCbs=[],this._version=0,this._idleCallbackMaxWaitMs=u,this._load()}_getFromStorage(){return Ze(this,void 0,void 0,function*(){try{return this.parse(yield this._persister.getItem(this._key))}catch(e){return console.error(`Unable to read from storage for key=${this._key}`,e),null}})}_load(){return Ze(this,void 0,void 0,function*(){const e=yield this._getFromStorage();this._isLoading=!1;const n=this._onMerge(e,this.currentValue);n&&(this.currentValue=n);for(const r of this._loadedCbs)r()})}waitForLoaded(){return Ze(this,void 0,void 0,function*(){if(!this._isLoading)return;yield new Promise(n=>{this._loadedCbs.push(n)})})}isLoading(){return this._isLoading}version(){return this._version}waitForSync(){return Ze(this,void 0,void 0,function*(){if(!this._nextSave)return;yield new Promise(n=>{this._pendingSaveCbs.push(n)})})}_writeToStorage(){this._persister.setItem(this._key,this.serialize(this.currentValue));for(const e of this._pendingSaveCbs)e();this._pendingSaveCbs.length=0}flush(){return Ze(this,void 0,void 0,function*(){this._nextSave&&(clearTimeout(this._nextSave),this._writeToStorage())})}_enqueuePersist(e){if(this._nextSave){e&&this._pendingSaveCbs.push(e);return}this._nextSave=setTimeout(()=>{wa(()=>{this._nextSave=null,this._writeToStorage()},this._idleCallbackMaxWaitMs)},this._saveThrottleMs)}set(e,n){this._version++,this.currentValue=e(this.currentValue),this._isLoading?this._loadedCbs.push(()=>this._enqueuePersist(n)):this._enqueuePersist(n);for(const r of this._subs)r(this.currentValue);return this.currentValue}subscribe(e){return this._subs.push(e),e(this.currentValue),()=>{this._subs=this._subs.filter(n=>n!==e)}}}function Vr(t,e=[]){t.forEach(n=>{const{data:r}=n,{"datalog-result":i}=r,{"join-rows":s}=i;for(const o of s)for(const a of o)e.push(a);Vr(n["child-nodes"],e)})}function zr(t){const e=[];return Vr(t,e),e}function Kr(t){return Object.values(t.links).reduce((e,n)=>{var r,i,s,o;return(r=e[s=n.forward.on])!==null&&r!==void 0||(e[s]={}),e[n.forward.on][n.forward.label]={isForward:!0,isSingular:n.forward.has==="one",link:n},(i=e[o=n.reverse.on])!==null&&i!==void 0||(e[o]={}),e[n.reverse.on][n.reverse.label]={isForward:!1,isSingular:n.reverse.has==="one",link:n},e},{})}const hn="v0.22.47-experimental.sync-table.19174988015.1";function ma(t,e){return{info:t?(...n)=>console.info(...n,e()):()=>{},debug:t?(...n)=>console.debug(...n,e()):()=>{},error:t?(...n)=>console.error(...n,e()):()=>{}}}class H{constructor(e,n,r,i={indexed:!1,unique:!1}){this.valueType=e,this.required=n,this.isIndexed=r,this.config=i,this.metadata={}}clientRequired(){return new H(this.valueType,!1,this.isIndexed,this.config)}optional(){return new H(this.valueType,!1,this.isIndexed,this.config)}unique(){return new H(this.valueType,this.required,this.isIndexed,Object.assign(Object.assign({},this.config),{unique:!0}))}indexed(){return new H(this.valueType,this.required,!0,Object.assign(Object.assign({},this.config),{indexed:!0}))}}class wt{constructor(e,n){this.attrs=e,this.links=n}asType(){return new wt(this.attrs,this.links)}}class mt{constructor(e,n,r){this.entities=e,this.links=n,this.rooms=r}withRoomSchema(){return new mt(this.entities,this.links,{})}}class x extends Error{constructor(e,n){const r=n?`At path '${n}': ${e}`:e;super(r),this.name="QueryValidationError"}}const qr=["where","order","limit","last","first","offset","after","before","fields","aggregate"],Sa=t=>t.valueType||"unknown",Br=(t,e,n=!1)=>{if(n||t==null)return!0;switch(e){case"string":return typeof t=="string";case"number":return typeof t=="number"&&!isNaN(t);case"boolean":return typeof t=="boolean";case"date":return t instanceof Date||typeof t=="string"||typeof t=="number";default:return!0}},va=(t,e,n,r,i,s,o)=>{const a=s.valueType==="json",u=(d,c,f)=>{if(!Br(f,c,a))throw new x(`Invalid value for operator '${d}' on attribute '${r}' in entity '${i}'. Expected ${c}, but received: ${typeof f}`,o)};switch(t){case"in":case"$in":if(!Array.isArray(e))throw new x(`Operator '${t}' for attribute '${r}' in entity '${i}' must be an array, but received: ${typeof e}`,o);for(const d of e)u(t,n,d);break;case"$not":case"$ne":case"$gt":case"$lt":case"$gte":case"$lte":u(t,n,e);break;case"$like":case"$ilike":if(u(t,"string",e),t==="$ilike"&&!s.isIndexed)throw new x(`Operator '${t}' can only be used with indexed attributes, but '${r}' in entity '${i}' is not indexed`,o);break;case"$isNull":u(t,"boolean",e);break;default:throw new x(`Unknown operator '${t}' for attribute '${r}' in entity '${i}'`,o)}},Re=(t,e,n,r,i)=>{const s=Sa(n),o=n.valueType==="json";if(typeof t=="object"&&t!==null&&!Array.isArray(t)){if(o)return;const u=t;for(const[d,c]of Object.entries(u))va(d,c,s,e,r,n,`${i}.${d}`)}else if(!Br(t,s,o))throw new x(`Invalid value for attribute '${e}' in entity '${r}'. Expected ${s}, but received: ${typeof t}`,i)},Oa=(t,e,n,r,i)=>{const s=t.split(".");if(s.length<2)throw new x(`Invalid dot notation path '${t}'. Must contain at least one dot.`,i);let o=n;for(let c=0;c<s.length-1;c++){const f=s[c],h=r.entities[o];if(!h)throw new x(`Entity '${o}' does not exist in schema while traversing dot notation path '${t}'.`,i);const p=h.links[f];if(!p){const b=Object.keys(h.links);throw new x(`Link '${f}' does not exist on entity '${o}' in dot notation path '${t}'. Available links: ${b.length>0?b.join(", "):"none"}`,i)}o=p.entityName}const a=s[s.length-1],u=r.entities[o];if(!u)throw new x(`Target entity '${o}' does not exist in schema for dot notation path '${t}'.`,i);if(a==="id"){if(typeof e=="string"&&!je(e))throw new x(`Invalid value for id field in entity '${o}'. Expected a UUID, but received: ${e}`,i);Re(e,t,new H("string",!1,!0),n,i);return}const d=u.attrs[a];if(Object.keys(u.links).includes(a)){if(typeof e=="string"&&!je(e))throw new x(`Invalid value for link '${a}' in entity '${o}'. Expected a UUID, but received: ${e}`,i);Re(e,t,new H("string",!1,!0),n,i);return}if(!d){const c=Object.keys(u.attrs);throw new x(`Attribute '${a}' does not exist on entity '${o}' in dot notation path '${t}'. Available attributes: ${c.length>0?c.join(", ")+", id":"id"}`,i)}Re(e,t,d,n,i)},Gr=(t,e,n,r)=>{for(const[i,s]of Object.entries(t)){if(i==="or"||i==="and"){if(Array.isArray(s))for(const d of s)typeof d=="object"&&d!==null&&Gr(d,e,n,`${r}.${i}[${d}]`);continue}if(i==="id"){Re(s,"id",new H("string",!1,!0),e,`${r}.id`);continue}if(i.includes(".")){Oa(i,s,e,n,`${r}.${i}`);continue}const o=n.entities[e];if(!o)continue;const a=o.attrs[i],u=o.links[i];if(!a&&!u){const d=Object.keys(o.attrs),c=Object.keys(o.links);throw new x(`Attribute or link '${i}' does not exist on entity '${e}'. Available attributes: ${d.length>0?d.join(", "):"none"}. Available links: ${c.length>0?c.join(", "):"none"}`,`${r}.${i}`)}if(a)Re(s,i,a,e,`${r}.${i}`);else if(u){if(typeof s=="string"&&!je(s))throw new x(`Invalid value for link '${i}' in entity '${e}'. Expected a UUID, but received: ${s}`,`${r}.${i}`);const d=new H("string",!1,!0);Re(s,i,d,e,`${r}.${i}`)}}},Ea=(t,e,n,r,i=0)=>{for(const o of Object.keys(t))if(!qr.includes(o))throw new x(`Invalid query parameter '${o}' in $ object. Valid parameters are: ${qr.join(", ")}. Found: ${o}`,r);const s=["offset","before","after","first","last"];for(const o of s)if(t[o]!==void 0&&i>0)throw new x(`'${o}' can only be used on top-level namespaces. It cannot be used in nested queries.`,r);if(t.where&&n){if(typeof t.where!="object"||t.where===null)throw new x(`'where' clause must be an object in entity '${e}', but received: ${typeof t.where}`,r?`${r}.where`:void 0);Gr(t.where,e,n,r?`${r}.where`:"where")}},Qr=(t,e,n,r,i=0)=>{var s;if(!t||typeof t!="object")throw new x(`Query part for entity '${e}' must be an object, but received: ${typeof t}`,r);for(const o of Object.keys(t))if(o!=="$"){if(n&&!(o in n.entities[e].links)){const u=Object.keys(n.entities[e].links);throw new x(`Link '${o}' does not exist on entity '${e}'. Available links: ${u.length>0?u.join(", "):"none"}`,`${r}.${o}`)}const a=t[o];if(typeof a=="object"&&a!==null){const u=(s=n==null?void 0:n.entities[e].links[o])===null||s===void 0?void 0:s.entityName;u&&Qr(a,u,n,`${r}.${o}`,i+1)}}else{const a=t[o];if(typeof a!="object"||a===null)throw new x(`Query parameter '$' must be an object in entity '${e}', but received: ${typeof a}`,`${r}.$`);Ea(a,e,n,`${r}.$`,i)}},Hr=(t,e)=>{if(typeof t!="object"||t===null)throw new x(`Query must be an object, but received: ${typeof t}${t===null?" (null)":""}`);if(Array.isArray(t))throw new x(`Query must be an object, but received: ${typeof t}`);const n=t;for(const r of Object.keys(n)){if(Array.isArray(t[r]))throw new x(`Query keys must be strings, but found key of type: ${typeof r}`,r);if(typeof r!="string")throw new x(`Query keys must be strings, but found key of type: ${typeof r}`,r);if(r!=="$$ruleParams"){if(e&&!e.entities[r]){const i=Object.keys(e.entities);throw new x(`Entity '${r}' does not exist in schema. Available entities: ${i.length>0?i.join(", "):"none"}`,r)}Qr(n[r],r,e,r,0)}}},Yr=t=>typeof t!="string"?!1:gt(t)?!0:je(t);class se extends Error{constructor(e){super(e),this.name="TransactionValidationError"}}const Jr=t=>t.length>0?t.join(", "):"none",Aa=(t,e)=>new se(`Entity '${t}' does not exist in schema. Available entities: ${Jr(e)}`),Zr={string:t=>typeof t=="string",number:t=>typeof t=="number"&&!isNaN(t),boolean:t=>typeof t=="boolean",date:t=>t instanceof Date||typeof t=="string"||typeof t=="number",json:()=>!0},Ca=(t,e)=>{var n,r;return t==null?!0:(r=(n=Zr[e.valueType])===null||n===void 0?void 0:n.call(Zr,t))!==null&&r!==void 0?r:!1},Xr=(t,e)=>{const n=e.entities[t];if(!n)throw Aa(t,Object.keys(e.entities));return n},pn=(t,e,n)=>{const r=Xr(t,n);if(typeof e!="object"||e===null)throw new se(`Arguments for data operation on entity '${t}' must be an object, but received: ${typeof e}`);for(const[i,s]of Object.entries(e)){if(i==="id")continue;const o=r.attrs[i];if(o&&!Ca(s,o))throw new se(`Invalid value for attribute '${i}' in entity '${t}'. Expected ${o.valueType}, but received: ${typeof s}`)}},ei=(t,e,n)=>{const r=Xr(t,n);if(typeof e!="object"||e===null)throw new se(`Arguments for link operation on entity '${t}' must be an object, but received: ${typeof e}`);for(const[i,s]of Object.entries(e)){if(!r.links[i]){const a=Object.keys(r.links);throw new se(`Link '${i}' does not exist on entity '${t}'. Available links: ${Jr(a)}`)}if(s!=null){if(Array.isArray(s)){for(const a of s)if(!Yr(a))throw new se(`Invalid entity ID in link '${i}' for entity '${t}'. Expected a UUID or a lookup, but received: ${a}`)}else if(!Yr(s))throw new se(`Invalid UUID in link '${i}' for entity '${t}'. Expected a UUID, but received: ${s}`)}}},ka={create:pn,update:pn,merge:pn,link:ei,unlink:ei,delete:()=>{}},ja=(t,e)=>{if(!e)return;const[n,r,i,s]=t;if(!Array.isArray(i)&&!je(i))throw new se(`Invalid id for entity '${r}'. Expected a UUID, but received: ${i}`);if(typeof r!="string")throw new se(`Entity name must be a string, but received: ${typeof r}`);const o=ka[n];o&&s!==void 0&&o(r,s,e)},Ia=(t,e)=>{const n=Array.isArray(t)?t:[t];for(const r of n){if(!r||typeof r!="object")throw new se(`Transaction chunk must be an object, but received: ${typeof r}`);if(!Array.isArray(r.__ops))throw new se(`Transaction chunk must have __ops array, but received: ${typeof r.__ops}`);for(const i of r.__ops){if(!Array.isArray(i))throw new se(`Transaction operation must be an array, but received: ${typeof i}`);ja(i,e)}}};var ti=function(t,e,n,r){function i(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function a(c){try{d(r.next(c))}catch(f){o(f)}}function u(c){try{d(r.throw(c))}catch(f){o(f)}}function d(c){c.done?s(c.value):i(c.value).then(a,u)}d((r=r.apply(t,e||[])).next())})};let ni=0;class ri{constructor(e){this.type="ws",this.id=`${this.type}_${ni++}`,this.conn=new WebSocket(e),this.conn.onopen=n=>{this.onopen&&this.onopen({target:this})},this.conn.onmessage=n=>{this.onmessage&&this.onmessage({target:this,message:JSON.parse(n.data.toString())})},this.conn.onclose=n=>{this.onclose&&this.onclose({target:this})},this.conn.onerror=n=>{this.onerror&&this.onerror({target:this})}}close(){this.conn.close()}isOpen(){return this.conn.readyState===WebSocket.OPEN}isConnecting(){return this.conn.readyState===WebSocket.CONNECTING}send(e){return this.conn.send(JSON.stringify(e))}}class Pa{constructor(e,n){this.type="sse",this.initParams=null,this.sendQueue=[],this.closeFired=!1,this.sseInitTimeout=null,this.id=`${this.type}_${ni++}`,this.url=n,this.ES=e,this.conn=new e(n),this.sseInitTimeout=setTimeout(()=>{this.initParams||this.handleError()},1e4),this.conn.onmessage=r=>{const i=JSON.parse(r.data);if(i.op==="sse-init"){this.initParams={machineId:i["machine-id"],sessionId:i["session-id"],sseToken:i["sse-token"]},this.onopen&&this.onopen({target:this}),clearTimeout(this.sseInitTimeout);return}this.onmessage&&this.onmessage({target:this,message:i})},this.conn.onerror=r=>{this.handleError()}}handleError(){try{this.onerror&&this.onerror({target:this})}finally{this.handleClose()}}handleClose(){this.conn.close(),this.onclose&&!this.closeFired&&(this.closeFired=!0,this.onclose({target:this}))}postMessages(e){return ti(this,void 0,void 0,function*(){try{(yield fetch(this.url,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({machine_id:this.initParams.machineId,session_id:this.initParams.sessionId,sse_token:this.initParams.sseToken,messages:e})})).ok||this.handleError()}catch{this.handleError()}})}flushQueue(){return ti(this,void 0,void 0,function*(){if(this.sendPromise||!this.sendQueue.length)return;const e=this.sendQueue;this.sendQueue=[];const n=this.postMessages(e);this.sendPromise=n,n.then(()=>{this.sendPromise=null,this.flushQueue()})})}send(e){if(!this.isOpen()||!this.initParams)throw this.isConnecting()?new Error("Failed to execute 'send' on 'EventSource': Still in CONNECTING state."):this.conn.readyState===this.ES.CLOSED?new Error("EventSource is already in CLOSING or CLOSED state."):new Error("EventSource is in invalid state.");this.sendQueue.push(e),this.flushQueue()}isOpen(){return this.conn.readyState===this.ES.OPEN&&this.initParams!==null}isConnecting(){return this.conn.readyState===this.ES.CONNECTING||this.conn.readyState===this.ES.OPEN&&this.initParams===null}close(){this.handleClose()}}var ii=function(t,e,n,r){function i(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function a(c){try{d(r.next(c))}catch(f){o(f)}}function u(c){try{d(r.throw(c))}catch(f){o(f)}}function d(c){c.done?s(c.value):i(c.value).then(a,u)}d((r=r.apply(t,e||[])).next())})};function Ma(t,e){for(const n in t){const r=t[n];for(const i of r.entities||[])i.store=cr(i.store)}return t}function Ra(t){const e={};for(const n in t){const r=t[n];if(r.entities){const i=[];for(const s of r.entities)i.push({store:ur(s.store),entity:s.entity});e[n]=Object.assign(Object.assign({},r),{entities:i})}else e[n]=r}return e}function xa(t,e){const n={};for(const[r,i]of Object.entries(e))n[r]=i;if(t)for(const[r,i]of Object.entries(t))n[r]=i;return n}function yn(t,e){const n=Object.keys(t.query)[0];return jr({store:e,pageInfo:null,aggregate:null},t.query).data[n][0]}function si(t,e){for(const{action:n,triple:r}of e)switch(n){case"added":lr(t,r);break;case"removed":dr(t,r);break}}function Da(t,e){var n,r,i,s;const o={};for(const{action:a,triple:u}of e){const[d,c,f]=u,h=(r=(n=t.attrs[c])===null||n===void 0?void 0:n["forward-identity"])===null||r===void 0?void 0:r[2];if(!h)continue;const p=(i=o[d])!==null&&i!==void 0?i:{};o[d]=p;const b=(s=p[h])!==null&&s!==void 0?s:{};switch(p[h]=b,a){case"added":b.newValue=f;break;case"removed":b.oldValue===void 0&&(b.oldValue=f);break}}return o}var xe;(function(t){t.InitialSyncBatch="InitialSyncBatch",t.InitialSyncComplete="InitialSyncComplete",t.LoadFromStorage="LoadFromStorage",t.SyncTransaction="SyncTransaction",t.Error="Error"})(xe||(xe={}));class $a{constructor(e,n,r,i,s){this.callbacks={},this.idToHash={},this.trySend=e,this.config=r,this.log=i,this.createStore=s,this.subs=new ln(n,"subs",{},xa,Ra,o=>Ma(o,this.config.useDateObjects))}beforeUnload(){this.subs.flush()}subscribe(e,n){const r=z(e);return this.callbacks[r]=this.callbacks[r]||[],this.callbacks[r].push(n),this.initSubscription(e,r,n),i=>{this.unsubscribe(r,n,i==null?void 0:i.keepSubscription)}}unsubscribe(e,n,r){const i=(this.callbacks[e]||[]).filter(s=>s!==n);if(this.callbacks[e]=i,!i.length){if(delete this.callbacks[e],r)return;const s=this.subs.currentValue[e];s!=null&&s.state&&this.clearSubscriptionData(s.state.subscriptionId),this.subs.set(o=>(delete o[e],o))}}sendStart(e){this.trySend(W(),{op:"start-sync",q:e})}sendResync(e,n){this.idToHash[n.subscriptionId]=e.hash,this.trySend(n.subscriptionId,{op:"resync-table","subscription-id":n.subscriptionId,"tx-id":n.txId,token:n.token})}sendRemove(e){this.trySend(W(),{op:"remove-sync","subscription-id":e.subscriptionId})}initSubscription(e,n,r){return ii(this,void 0,void 0,function*(){yield this.subs.waitForLoaded();const i=this.subs.currentValue[n];if(i&&i.state&&i.state.txId){this.sendResync(i,i.state),i.entities&&r&&r({type:xe.LoadFromStorage,data:i.entities.map(s=>s.entity)});return}this.subs.set(s=>(s[n]={query:e,hash:n},s)),this.sendStart(e)})}flushPending(){return ii(this,void 0,void 0,function*(){yield this.subs.waitForLoaded();for(const e of Object.keys(this.callbacks)){const n=this.subs.currentValue[e];n?yield this.initSubscription(n.query,n.hash):this.log.error("Missing sub for hash in flushPending",e)}})}onStartSyncOk(e){const n=e["subscription-id"],r=e.q,i=z(r);this.idToHash[n]=i,this.subs.set(s=>{const o=s[i];return o?(o.state={subscriptionId:n,token:e.token},s):(this.log.error("Missing sub for hash",i,"subscription-id",n,"query",r),s)})}notifyCbs(e,n){for(const r of this.callbacks[e]||[])r(n)}onSyncLoadBatch(e){const n=e["subscription-id"],r=e["join-rows"],i=this.idToHash[n];if(!i){this.log.error("Missing hash for subscription",e);return}const s=[],a=this.subs.set(u=>{var d;const c=u[i];if(!c)return this.log.error("Missing sub for hash",i,e),u;const f=(d=c.entities)!==null&&d!==void 0?d:[];c.entities=f;for(const h of r){const p=this.createStore(h),b=yn(c,p);f.push({store:p,entity:b}),s.push(b)}return u})[i];a.entities&&this.notifyCbs(i,{type:xe.InitialSyncBatch,data:a.entities.map(u=>u.entity),batch:s})}onSyncInitFinish(e){const n=e["subscription-id"],r=this.idToHash[n];if(!r){this.log.error("Missing hash for subscription",e);return}this.subs.set(i=>{const s=i[r];if(!s)return this.log.error("Missing sub for hash",r,e),i;const o=s.state;return o?(o.txId=e["tx-id"],i):(this.log.error("Sub never set init, missing result",s,e),i)})}onSyncUpdateTriples(e){const n=e["subscription-id"],r=this.idToHash[n];if(!r){this.log.error("Missing hash for subscription",e);return}this.subs.set(i=>{var s;const o=i[r];if(!o)return this.log.error("Missing sub for hash",r,e),i;const a=o.state;if(!a)return this.log.error("Missing state for sub",o,e),i;for(const u of e.txes){if(a.txId>=u["tx-id"])continue;a.txId=u["tx-id"];const d=[],c={};for(const y of u.changes){const _=(s=c[y.triple[0]])!==null&&s!==void 0?s:[];c[y.triple[0]]=_,_.push(y)}const f=o.entities||[];o.entities=f;const h=[];e:for(const[y,_]of Object.entries(c))for(const[T,w]of Object.entries(f))if(ms(w.store,y)){si(w.store,_);const m=yn(o,w.store),I=Da(w.store,_)[y];for(const[v,{oldValue:R,newValue:F}]of Object.entries(I||{}))R===F&&delete I[v];m?(h.push({oldEntity:w.entity,newEntity:m,changedFields:I||{}}),w.entity=m):d.push(T),delete c[y];continue e}const p=[];for(const[y,_]of Object.entries(c)){const T=this.createStore([]);si(T,_);const w=yn(o,T);if(!w){this.log.error("No entity found after applying change",{sub:o,changes:_,store:T});continue}f.push({store:T,entity:w}),p.push(w)}const b=[];for(const y of d.sort().reverse())b.push(f[y].entity),f.splice(y,1);this.notifyCbs(r,{type:xe.SyncTransaction,data:f.map(y=>y.entity),added:p,removed:b,updated:h})}return i})}clearSubscriptionData(e){const n=this.idToHash[e];if(n){delete this.idToHash[e];const r=this.subs.currentValue[n];if(r.state&&this.sendRemove(r.state),this.subs.set(i=>(delete i[n],i)),r)return r}}onStartSyncError(e){const n=z(e["original-event"].q),r={message:e.message||"Uh-oh, something went wrong. Ping Joe & Stopa.",status:e.status,type:e.type,hint:e.hint};this.notifyCbs(n,{type:xe.Error,data:[],error:r})}onResyncError(e){const n=e["original-event"]["subscription-id"],r=this.clearSubscriptionData(n);r&&this.initSubscription(r.query,r.hash)}}var L=function(t,e,n,r){function i(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function a(c){try{d(r.next(c))}catch(f){o(f)}}function u(c){try{d(r.throw(c))}catch(f){o(f)}}function d(c){c.done?s(c.value):i(c.value).then(a,u)}d((r=r.apply(t,e||[])).next())})},Ua=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};const ye={CONNECTING:"connecting",OPENED:"opened",AUTHENTICATED:"authenticated",CLOSED:"closed",ERRORED:"errored"},La=3e4,Fa=3e4,Na=200,Wa={apiURI:"https://api.instantdb.com",websocketURI:"wss://api.instantdb.com/runtime/session"},bn="_instant_oauth_redirect",_n="currentUser";function Va({transportType:t,appId:e,apiURI:n,wsURI:r,EventSourceImpl:i}){if(!i)return new ri(`${r}?app_id=${e}`);switch(t){case"ws":return new ri(`${r}?app_id=${e}`);case"sse":return new Pa(i,`${n}/runtime/sse?app_id=${e}`);default:throw new Error("Unknown transport type "+t)}}function za(){return typeof window<"u"||typeof chrome<"u"}const oi={"set-presence":!0,"set-presence-ok":!0,"refresh-presence":!0,"patch-presence":!0};function Ka(t,e){var n;const r=typeof t=="string"?JSON.parse(t):t;for(const i in r){const s=r[i];if(!((n=s==null?void 0:s.result)===null||n===void 0)&&n.store){const o=s.result.store;s.result.store=cr(Object.assign(Object.assign({},o),{useDateObjects:e}))}}return r}function qa(t){var e;const n={};for(const r in t){const i=t[r],s=Object.assign({},i);!((e=i.result)===null||e===void 0)&&e.store&&(s.result=Object.assign(Object.assign({},i.result),{store:ur(i.result.store)})),n[r]=s}return n}function ai(t){return[...t].sort((e,n)=>{const[r,i]=e,[s,o]=n,a=i.order||0,u=o.order||0;return a==u?r<s?-1:r>s?1:0:a-u})}class Ba{constructor(e,n=Dr,r=$r,i,s){var o,a,u;if(this._isOnline=!0,this._isShutdown=!1,this.status=ye.CONNECTING,this.queryCbs={},this.queryOnceDfds={},this.authCbs=[],this.attrsCbs=[],this.mutationErrorCbs=[],this.connectionStatusCbs=[],this.mutationDeferredStore=new Map,this._reconnectTimeoutId=null,this._reconnectTimeoutMs=0,this._transportType="ws",this._wsOk=null,this._localIdPromises={},this._errorMessage=null,this._oauthCallbackResponse=null,this._linkIndex=null,this._rooms={},this._roomsPendingLeave={},this._presence={},this._broadcastQueue=[],this._broadcastSubs={},this._currentUserCached={isLoading:!0,error:void 0,user:void 0},this._beforeUnloadCbs=[],this._dataForQueryCache={},this._inFlightMutationEventIds=new Set,this._onMergeQuerySubs=(d,c)=>{const f=d||{},h=Object.assign({},c);Object.entries(c).forEach(([b,y])=>{var _;const T=(_=f==null?void 0:f[b])===null||_===void 0?void 0:_.result,w=y.result;T&&!w&&(h[b].result=T)}),Object.keys(f).filter(b=>!c[b]).sort((b,y)=>{var _,T;const w=((_=f[b])===null||_===void 0?void 0:_.lastAccessed)||0;return(((T=f[y])===null||T===void 0?void 0:T.lastAccessed)||0)-w}).slice(0,this.queryCacheLimit).forEach(b=>{h[b]=f[b]}),this.querySubs.set(b=>h),this.loadedNotifyAll()},this._onMergePendingMutations=(d,c)=>{const f=new Map([...d.entries(),...c.entries()]);this.pendingMutations.set(p=>f),this.loadedNotifyAll(),this._rewriteMutationsSorted(this.attrs,d).forEach(([p,b])=>{!c.has(p)&&!b["tx-id"]&&this._sendMutation(p,b)})},this.getPreviousResult=d=>{const c=z(d);return this.dataForQuery(c)},this.notifyOne=d=>{var c,f;const h=(c=this.queryCbs[d])!==null&&c!==void 0?c:[],p=(f=this._dataForQueryCache[d])===null||f===void 0?void 0:f.data,b=this.dataForQuery(d);b&&(lt(b,p)||h.forEach(y=>y.cb(b)))},this.notifyOneQueryOnce=d=>{var c;const f=(c=this.queryOnceDfds[d])!==null&&c!==void 0?c:[],h=this.dataForQuery(d);f.forEach(p=>{this._completeQueryOnce(p.q,d,p.dfd),p.dfd.resolve(h)})},this.notifyQueryError=(d,c)=>{(this.queryCbs[d]||[]).forEach(h=>h.cb({error:c}))},this.pushTx=d=>{this.config.disableValidation||Ia(d,this.config.schema);try{const c=ia({attrs:this.optimisticAttrs(),schema:this.config.schema,stores:Object.values(this.querySubs.currentValue).map(f=>{var h;return(h=f==null?void 0:f.result)===null||h===void 0?void 0:h.store}),useDateObjects:this.config.useDateObjects},d);return this.pushOps(c)}catch(c){return this.pushOps([],c)}},this.pushOps=(d,c)=>{const f=W(),h=[...this.pendingMutations.currentValue.values()],p=Math.max(0,...h.map(_=>_.order||0))+1,b={op:"transact","tx-steps":d,created:Date.now(),error:c,order:p};this.pendingMutations.set(_=>(_.set(f,b),_));const y=new Wr;return this.mutationDeferredStore.set(f,y),this._sendMutation(f,b),this.notifyAll(),y.promise},this._transportOnOpen=d=>{const c=d.target;if(this._transport!==c){this._log.info("[socket][open]",c.id,"skip; this is no longer the current transport");return}this._log.info("[socket][open]",this._transport.id),this._setStatus(ye.OPENED),this.getCurrentUser().then(f=>{var h;this._trySend(W(),{op:"init","app-id":this.config.appId,"refresh-token":(h=f.user)===null||h===void 0?void 0:h.refresh_token,versions:this.versions,"__admin-token":this.config.__adminToken})}).catch(f=>{this._log.error("[socket][error]",c.id,f)})},this._transportOnMessage=d=>{const c=d.target,f=d.message;if(this._transport!==c){this._log.info("[socket][message]",c.id,f,"skip; this is no longer the current transport");return}!this._wsOk&&c.type==="ws"&&(this._wsOk=!0),this._transportType="ws",this._handleReceive(c.id,d.message)},this._transportOnError=d=>{const c=d.target;if(this._transport!==c){this._log.info("[socket][error]",c.id,"skip; this is no longer the current transport");return}this._log.error("[socket][error]",c.id,d)},this._scheduleReconnect=()=>{!this._wsOk&&this._transportType!=="sse"&&(this._transportType="sse",this._reconnectTimeoutMs=0),setTimeout(()=>{if(this._reconnectTimeoutMs=Math.min(this._reconnectTimeoutMs+1e3,1e4),!this._isOnline){this._log.info("[socket][close]",this._transport.id,"we are offline, no need to start socket");return}this._startSocket()},this._reconnectTimeoutMs)},this._transportOnClose=d=>{const c=d.target;if(this._transport!==c){this._log.info("[socket][close]",c.id,"skip; this is no longer the current transport");return}this._setStatus(ye.CLOSED);for(const f of Object.values(this._rooms))f.isConnected=!1;if(this._isShutdown){this._log.info("[socket][close]",c.id,"Reactor has been shut down and will not reconnect");return}this._log.info("[socket][close]",c.id,"schedule reconnect, ms =",this._reconnectTimeoutMs),this._scheduleReconnect()},this._EventSource=s,this.config=Object.assign(Object.assign({},Wa),e),this.queryCacheLimit=(o=this.config.queryCacheLimit)!==null&&o!==void 0?o:10,this._pendingTxCleanupTimeout=(a=this.config.pendingTxCleanupTimeout)!==null&&a!==void 0?a:Fa,this._pendingMutationCleanupThreshold=(u=this.config.pendingMutationCleanupThreshold)!==null&&u!==void 0?u:Na,this._log=ma(e.verbose||fn||Lr,()=>this._reactorStats()),this.versions=Object.assign(Object.assign({},i||{}),{"@instantdb/core":hn}),this.config.schema&&(this._linkIndex=Kr(this.config.schema)),!!za()){if(!e.appId)throw new Error("Instant must be initialized with an appId.");if(!je(e.appId))throw new Error(`Instant must be initialized with a valid appId. \`${e.appId}\` is not a valid uuid.`);typeof BroadcastChannel=="function"&&(this._broadcastChannel=new BroadcastChannel("@instantdb"),this._broadcastChannel.addEventListener("message",d=>L(this,void 0,void 0,function*(){var c;try{if(((c=d.data)===null||c===void 0?void 0:c.type)==="auth"){const f=yield this.getCurrentUser();this.updateUser(f.user)}}catch(f){this._log.error("[error] handle broadcast channel",f)}}))),this._initStorage(n),this._syncTable=new $a(this._trySendAuthed.bind(this),this._persister,{useDateObjects:this.config.useDateObjects},this._log,d=>pt(this.attrs,d,this.config.enableCardinalityInference,this._linkIndex,this.config.useDateObjects)),this._oauthCallbackResponse=this._oauthLoginInit(),this.getCurrentUser(),r.getIsOnline().then(d=>{this._isOnline=d,this._startSocket(),r.listen(c=>{c!==this._isOnline&&(this._log.info("[network] online =",c),this._isOnline=c,this._isOnline?this._startSocket():(this._log.info("Changing status from",this.status,"to",ye.CLOSED),this._setStatus(ye.CLOSED)))})}),typeof addEventListener<"u"&&(this._beforeUnload=this._beforeUnload.bind(this),addEventListener("beforeunload",this._beforeUnload))}}updateSchema(e){this.config=Object.assign(Object.assign({},this.config),{schema:e,cardinalityInference:!!e}),this._linkIndex=e?Kr(this.config.schema):null}_reactorStats(){return{inFlightMutationCount:this._inFlightMutationEventIds.size,pendingMutationCount:this.pendingMutations.currentValue.size,transportType:this._transportType}}_initStorage(e){this._persister=new e(`instant_${this.config.appId}_5`),this.querySubs=new ln(this._persister,"querySubs",{},this._onMergeQuerySubs,qa,n=>Ka(n,this.config.useDateObjects)),this.pendingMutations=new ln(this._persister,"pendingMutations",new Map,this._onMergePendingMutations,n=>[...n.entries()],n=>new Map(typeof n=="string"?JSON.parse(n):n),100,100),this._beforeUnloadCbs.push(()=>{this.pendingMutations.flush(),this.querySubs.flush()})}_beforeUnload(){for(const e of this._beforeUnloadCbs)e();this._syncTable.beforeUnload()}_finishTransaction(e,n,r){const i=this.mutationDeferredStore.get(n);this.mutationDeferredStore.delete(n);const s=e!=="error"&&e!=="timeout";if(!i&&!s&&console.error("Mutation failed",Object.assign({status:e,eventId:n},r)),!!i)if(s)i.resolve({status:e,eventId:n});else if(r.type){const{status:o}=r,a=Ua(r,["status"]);i.reject(new Ye({body:a,status:o}))}else i.reject(new Pe(r.message,r.hint))}_setStatus(e,n){this.status=e,this._errorMessage=n,this.notifyConnectionStatusSubs(e)}_flushEnqueuedRoomData(e){var n,r;const i=(r=(n=this._presence[e])===null||n===void 0?void 0:n.result)===null||r===void 0?void 0:r.user,s=this._broadcastQueue[e];if(this._broadcastQueue[e]=[],i&&this._trySetPresence(e,i),s)for(const o of s){const{topic:a,roomType:u,data:d}=o;this._tryBroadcast(e,u,a,d)}}_handleReceive(e,n){var r,i,s,o,a,u;const d=!!this.config.schema&&("cardinalityInference"in this.config?!!this.config.cardinalityInference:!0);switch(oi[n.op]||this._log.info("[receive]",e,n.op,n),n.op){case"init-ok":{this._setStatus(ye.AUTHENTICATED),this._reconnectTimeoutMs=0,this._setAttrs(n.attrs),this._flushPendingMessages(),this._sessionId=n["session-id"];for(const h of Object.keys(this._rooms)){const p=(i=(r=this._presence[h])===null||r===void 0?void 0:r.result)===null||i===void 0?void 0:i.user;this._tryJoinRoom(h,p)}break}case"add-query-exists":{this.notifyOneQueryOnce(z(n.q));break}case"add-query-ok":{const{q:h,result:p}=n,b=z(h),y=(o=(s=p==null?void 0:p[0])===null||s===void 0?void 0:s.data)===null||o===void 0?void 0:o["page-info"],_=(u=(a=p==null?void 0:p[0])===null||a===void 0?void 0:a.data)===null||u===void 0?void 0:u.aggregate,T=zr(p),w=pt(this.attrs,T,d,this._linkIndex,this.config.useDateObjects);this.querySubs.set(m=>(m[b].result={store:w,pageInfo:y,aggregate:_,processedTxId:n["processed-tx-id"]},m)),this._cleanupPendingMutationsQueries(),this.notifyOne(b),this.notifyOneQueryOnce(b),this._cleanupPendingMutationsTimeout();break}case"start-sync-ok":{this._syncTable.onStartSyncOk(n);break}case"sync-load-batch":{this._syncTable.onSyncLoadBatch(n);break}case"sync-init-finish":{this._syncTable.onSyncInitFinish(n);break}case"sync-update-triples":{this._syncTable.onSyncUpdateTriples(n);break}case"refresh-ok":{const{computations:h,attrs:p}=n,b=n["processed-tx-id"];p&&this._setAttrs(p),this._cleanupPendingMutationsTimeout();const y=this._rewriteMutations(this.attrs,this.pendingMutations.currentValue,b);y!==this.pendingMutations.currentValue&&this.pendingMutations.set(()=>y);const _=ai(y.entries()),T=h.map(w=>{var m,I,v,R;const F=w["instaql-query"],Y=w["instaql-result"],st=z(F),Ct=zr(Y),Rn=pt(this.attrs,Ct,d,this._linkIndex,this.config.useDateObjects),xn=this._applyOptimisticUpdates(Rn,_,b),kt=(I=(m=Y==null?void 0:Y[0])===null||m===void 0?void 0:m.data)===null||I===void 0?void 0:I["page-info"],le=(R=(v=Y==null?void 0:Y[0])===null||v===void 0?void 0:v.data)===null||R===void 0?void 0:R.aggregate;return{hash:st,store:xn,pageInfo:kt,aggregate:le}});T.forEach(({hash:w,store:m,pageInfo:I,aggregate:v})=>{this.querySubs.set(R=>(R[w].result={store:m,pageInfo:I,aggregate:v,processedTxId:b},R))}),this._cleanupPendingMutationsQueries(),T.forEach(({hash:w})=>{this.notifyOne(w)});break}case"transact-ok":{const{"client-event-id":h,"tx-id":p}=n;this._inFlightMutationEventIds.delete(h);const y=this._rewriteMutations(this.attrs,this.pendingMutations.currentValue).get(h);if(!y)break;this.pendingMutations.set(T=>(T.set(h,Object.assign(Object.assign({},T.get(h)),{"tx-id":p,confirmed:Date.now()})),T));const _=y["tx-steps"].filter(([T,...w])=>T==="add-attr").map(([T,w])=>w).concat(Object.values(this.attrs));this._setAttrs(_),this._finishTransaction("synced",h),this._cleanupPendingMutationsTimeout();break}case"patch-presence":{const h=n["room-id"];this._trySetRoomConnected(h,!0),this._patchPresencePeers(h,n.edits),this._notifyPresenceSubs(h);break}case"refresh-presence":{const h=n["room-id"];this._trySetRoomConnected(h,!0),this._setPresencePeers(h,n.data),this._notifyPresenceSubs(h);break}case"server-broadcast":{const h=n["room-id"],p=n.topic;this._trySetRoomConnected(h,!0),this._notifyBroadcastSubs(h,p,n);break}case"join-room-ok":{const h=n["room-id"];if(!this._rooms[h]){this._roomsPendingLeave[h]&&(this._tryLeaveRoom(h),delete this._roomsPendingLeave[h]);break}this._trySetRoomConnected(h,!0),this._flushEnqueuedRoomData(h);break}case"leave-room-ok":{const h=n["room-id"];this._trySetRoomConnected(h,!1);break}case"join-room-error":const c=n["room-id"],f=this._rooms[c];f&&(f.error=n.error),this._notifyPresenceSubs(c);break;case"error":this._handleReceiveError(n);break;default:this._log.info("Uknown op",n.op,n);break}}_handleMutationError(e,n,r){const i=this.pendingMutations.currentValue.get(n);if(i&&(e!=="timeout"||!i["tx-id"])){this.pendingMutations.set(o=>(o.delete(n),o)),this._inFlightMutationEventIds.delete(n);const s={message:r.message,hint:r.hint};this.notifyAll(),this.notifyAttrsSubs(),this.notifyMutationErrorSubs(s),this._finishTransaction(e,n,r)}}_handleReceiveError(e){var n,r,i,s,o,a,u;console.log("error",e);const d=e["client-event-id"];this._inFlightMutationEventIds.delete(d);const c=this.pendingMutations.currentValue.get(d),f={message:e.message||"Uh-oh, something went wrong. Ping Joe & Stopa."};if(e.hint&&(f.hint=e.hint),c){this._handleMutationError("error",d,e);return}if(!((n=e["original-event"])===null||n===void 0)&&n.hasOwnProperty("q")&&((r=e["original-event"])===null||r===void 0?void 0:r.op)==="add-query"){const b=(i=e["original-event"])===null||i===void 0?void 0:i.q,y=z(b);this.notifyQueryError(z(b),f),this.notifyQueryOnceError(b,y,d,f);return}if(((s=e["original-event"])===null||s===void 0?void 0:s.op)==="init"){if(e.type==="record-not-found"&&((o=e.hint)===null||o===void 0?void 0:o["record-type"])==="app-user"){this.changeCurrentUser(null);return}this._setStatus(ye.ERRORED,f),this.notifyAll();return}if(((a=e["original-event"])===null||a===void 0?void 0:a.op)==="resync-table"){this._syncTable.onResyncError(e);return}if(((u=e["original-event"])===null||u===void 0?void 0:u.op)==="start-sync"){this._syncTable.onStartSyncError(e);return}const p=Object.assign({},e);delete p.message,delete p.hint,console.error(e.message,p),e.hint&&console.error(`This error comes with some debugging information. Here it is:
|
|
2
2
|
`,e.hint)}notifyQueryOnceError(e,n,r,i){var s;const o=(s=this.queryOnceDfds[n])===null||s===void 0?void 0:s.find(a=>a.eventId===r);o&&(o.dfd.reject(i),this._completeQueryOnce(e,n,o.dfd))}_setAttrs(e){this.attrs=e.reduce((n,r)=>(n[r.id]=r,n),{}),this.notifyAttrsSubs()}_startQuerySub(e,n){const r=W();return this.querySubs.set(i=>(i[n]=i[n]||{q:e,result:null,eventId:r},i[n].lastAccessed=Date.now(),i)),this._trySendAuthed(r,{op:"add-query",q:e}),r}subscribeTable(e,n){return this._syncTable.subscribe(e,n)}subscribeQuery(e,n,r){var i;this.config.disableValidation||Hr(e,this.config.schema),r&&"ruleParams"in r&&(e=Object.assign({$$ruleParams:r.ruleParams},e));const s=z(e),o=this.getPreviousResult(e);return o&&n(o),this.queryCbs[s]=(i=this.queryCbs[s])!==null&&i!==void 0?i:[],this.queryCbs[s].push({q:e,cb:n}),this._startQuerySub(e,s),()=>{this._unsubQuery(e,s,n)}}queryOnce(e,n){var r;this.config.disableValidation||Hr(e,this.config.schema),n&&"ruleParams"in n&&(e=Object.assign({$$ruleParams:n.ruleParams},e));const i=new Wr;if(!this._isOnline)return i.reject(new Error("We can't run `queryOnce`, because the device is offline.")),i.promise;if(!this.querySubs)return i.reject(new Error("We can't run `queryOnce` on the backend. Use adminAPI.query instead: https://www.instantdb.com/docs/backend#query")),i.promise;const s=z(e),o=this._startQuerySub(e,s);return this.queryOnceDfds[s]=(r=this.queryOnceDfds[s])!==null&&r!==void 0?r:[],this.queryOnceDfds[s].push({q:e,dfd:i,eventId:o}),setTimeout(()=>i.reject(new Error("Query timed out")),La),i.promise}_completeQueryOnce(e,n,r){this.queryOnceDfds[n]&&(this.queryOnceDfds[n]=this.queryOnceDfds[n].filter(i=>i.dfd!==r),this._cleanupQuery(e,n))}_unsubQuery(e,n,r){this.queryCbs[n]&&(this.queryCbs[n]=this.queryCbs[n].filter(i=>i.cb!==r),this._cleanupQuery(e,n))}_cleanupQuery(e,n){var r,i;!((r=this.queryCbs[n])===null||r===void 0)&&r.length||!((i=this.queryOnceDfds[n])===null||i===void 0)&&i.length||(delete this.queryCbs[n],delete this.queryOnceDfds[n],this._trySendAuthed(W(),{op:"remove-query",q:e}))}_rewriteMutations(e,n,r){if(!e)return n;const i=c=>{const[f,h,p]=c["forward-identity"];return q(e,h,p)},s=c=>{const[f,h,p]=c["forward-identity"];return me(e,h,p)},o={attrIdMap:{},refSwapAttrIds:new Set};let a=!1;const u=(c,f)=>{const h=[];for(const p of c){const[b]=p;if(b==="add-attr"){const[_,T]=p,w=i(T);if(w&&T.id!==w.id){o.attrIdMap[T.id]=w.id,a=!0;continue}if(T["value-type"]==="ref"){const m=s(T);if(m){o.attrIdMap[T.id]=m.id,o.refSwapAttrIds.add(T.id),a=!0;continue}}}if(r&&f&&r>=f&&b==="add-attr"||b==="update-attr"||b==="delete-attr"){a=!0;continue}const y=a?xo(o,p):p;h.push(y)}return a?h:c},d=new Map;for(const[c,f]of n.entries())d.set(c,Object.assign(Object.assign({},f),{"tx-steps":u(f["tx-steps"],f["tx-id"])}));return a?d:n}_rewriteMutationsSorted(e,n){return ai(this._rewriteMutations(e,n).entries())}optimisticAttrs(){var e;const n=[...this.pendingMutations.currentValue.values()].flatMap(a=>a["tx-steps"]),r=new Set(n.filter(([a,u])=>a==="delete-attr").map(([a,u])=>u)),i=[];for(const[a,u]of n)if(a==="add-attr")i.push(u);else if(a==="update-attr"&&u.id&&(!((e=this.attrs)===null||e===void 0)&&e[u.id])){const d=Object.assign(Object.assign({},this.attrs[u.id]),u);i.push(d)}const s=[...Object.values(this.attrs||{}),...i].filter(a=>!r.has(a.id));return Object.fromEntries(s.map(a=>[a.id,a]))}dataForQuery(e){const n=this._errorMessage;if(n)return{error:n};if(!this.querySubs||!this.pendingMutations)return;const r=this.querySubs.version(),i=this.querySubs.currentValue,s=this.pendingMutations.version(),o=this.pendingMutations.currentValue,{q:a,result:u}=i[e]||{};if(!u)return;const d=this._dataForQueryCache[e];if(d&&r===d.querySubVersion&&s===d.pendingMutationsVersion)return d.data;const{store:c,pageInfo:f,aggregate:h,processedTxId:p}=u,b=this._rewriteMutationsSorted(c.attrs,o),y=this._applyOptimisticUpdates(c,b,p),_=jr({store:y,pageInfo:f,aggregate:h},a);return this._dataForQueryCache[e]={querySubVersion:r,pendingMutationsVersion:s,data:_},_}_applyOptimisticUpdates(e,n,r){for(const[i,s]of n)(!s["tx-id"]||r&&s["tx-id"]>r)&&(e=Rs(e,s["tx-steps"]));return e}notifyAll(){Object.keys(this.queryCbs).forEach(e=>{this.notifyOne(e)})}loadedNotifyAll(){this.pendingMutations.isLoading()||this.querySubs.isLoading()||this.notifyAll()}shutdown(){var e;this._log.info("[shutdown]",this.config.appId),this._isShutdown=!0,(e=this._transport)===null||e===void 0||e.close()}_sendMutation(e,n){if(n.error){this._handleMutationError("error",e,{message:n.error.message});return}if(this.status!==ye.AUTHENTICATED){this._finishTransaction("enqueued",e);return}const r=Math.max(6e3,Math.min(this._inFlightMutationEventIds.size+1,this.pendingMutations.currentValue.size+1)*6e3);this._isOnline?(this._trySend(e,n),setTimeout(()=>{this._isOnline&&this._handleMutationError("timeout",e,{message:"transaction timed out"})},r)):this._finishTransaction("enqueued",e)}_flushPendingMessages(){Object.keys(this.queryCbs).map(i=>this.querySubs.currentValue[i]).filter(i=>i).forEach(({eventId:i,q:s})=>{this._trySendAuthed(i,{op:"add-query",q:s})}),Object.values(this.queryOnceDfds).flat().forEach(({eventId:i,q:s})=>{this._trySendAuthed(i,{op:"add-query",q:s})}),this._rewriteMutationsSorted(this.attrs,this.pendingMutations.currentValue).forEach(([i,s])=>{s["tx-id"]||this._sendMutation(i,s)}),this._syncTable.flushPending()}_cleanupPendingMutationsQueries(){let e=Number.MAX_SAFE_INTEGER;for(const{result:n}of Object.values(this.querySubs.currentValue))n!=null&&n.processedTxId&&(e=Math.min(e,n==null?void 0:n.processedTxId));this.pendingMutations.set(n=>{for(const[r,i]of Array.from(n.entries()))i["tx-id"]&&i["tx-id"]<=e&&n.delete(r);return n})}_cleanupPendingMutationsTimeout(){if(this.pendingMutations.currentValue.size<this._pendingMutationCleanupThreshold)return;const e=Date.now();this.pendingMutations.set(n=>{for(const[r,i]of Array.from(n.entries()))i.confirmed&&i.confirmed+this._pendingTxCleanupTimeout<e&&n.delete(r);return n})}_trySendAuthed(...e){this.status===ye.AUTHENTICATED&&this._trySend(...e)}_trySend(e,n,r){if(this._transport.isOpen()){switch(oi[n.op]||this._log.info("[send]",this._transport.id,n.op,n),n.op){case"transact":{this._inFlightMutationEventIds.add(e);break}case"init":this._inFlightMutationEventIds.clear()}this._transport.send(Object.assign({"client-event-id":e},n))}}_startSocket(){if(this._wsOk=null,this._isShutdown){this._log.info("[socket][start]",this.config.appId,"Reactor has been shut down and will not start a new socket");return}if(this._transport&&this._transport.isConnecting()){this._log.info("[socket][start]",this._transport.id,"maintained as current transport, we were still in a connecting state");return}const e=this._transport;this._transport=Va({transportType:this._transportType,appId:this.config.appId,apiURI:this.config.apiURI,wsURI:this.config.websocketURI,EventSourceImpl:this._EventSource}),this._transport.onopen=this._transportOnOpen,this._transport.onmessage=this._transportOnMessage,this._transport.onclose=this._transportOnClose,this._transport.onerror=this._transportOnError,this._log.info("[socket][start]",this._transport.id),e!=null&&e.isOpen()&&(this._log.info("[socket][start]",this._transport.id,"close previous transport id = ",e.id),e.close())}getLocalId(e){return L(this,void 0,void 0,function*(){const n=`localToken_${e}`,r=yield this._persister.getItem(n);if(r)return r;if(this._localIdPromises[n])return this._localIdPromises[n];const i=W();return this._localIdPromises[n]=this._persister.setItem(n,i).then(()=>i),this._localIdPromises[n]})}_replaceUrlAfterOAuth(){if(typeof URL>"u")return;const e=new URL(window.location.href);if(e.searchParams.get(bn)){const n=e.toString();e.searchParams.delete(bn),e.searchParams.delete("code"),e.searchParams.delete("error");const r=e.pathname+(e.searchParams.size?"?"+e.searchParams:"")+e.hash;if(history.replaceState(history.state,"",r),typeof navigation=="object"&&typeof navigation.addEventListener=="function"&&typeof navigation.removeEventListener=="function"){let i=!1;const s=o=>{var a;i||(i=!0,navigation.removeEventListener("navigate",s),!o.userInitiated&&o.navigationType==="replace"&&((a=o.destination)===null||a===void 0?void 0:a.url)===n&&history.replaceState(history.state,"",r))};navigation.addEventListener("navigate",s)}}}_oauthLoginInit(){return L(this,void 0,void 0,function*(){var e,n,r,i;if(typeof window>"u"||typeof window.location>"u"||typeof URLSearchParams>"u")return null;const s=new URLSearchParams(window.location.search);if(!s.get(bn))return null;const o=s.get("error");if(o)return this._replaceUrlAfterOAuth(),{error:{message:o}};const a=s.get("code");if(!a)return null;this._replaceUrlAfterOAuth();try{const u=yield this._getCurrentUser(),d=(u==null?void 0:u.type)==="guest",{user:c}=yield Ur({apiURI:this.config.apiURI,appId:this.config.appId,code:a,refreshToken:d?u.refresh_token:void 0});return this.setCurrentUser(c),null}catch(u){return((e=u==null?void 0:u.body)===null||e===void 0?void 0:e.type)==="record-not-found"&&((r=(n=u==null?void 0:u.body)===null||n===void 0?void 0:n.hint)===null||r===void 0?void 0:r["record-type"])==="app-oauth-code"&&(yield this._hasCurrentUser())?null:{error:{message:((i=u==null?void 0:u.body)===null||i===void 0?void 0:i.message)||"Error logging in."}}}})}_waitForOAuthCallbackResponse(){return L(this,void 0,void 0,function*(){return yield this._oauthCallbackResponse})}__subscribeMutationErrors(e){return this.mutationErrorCbs.push(e),()=>{this.mutationErrorCbs=this.mutationErrorCbs.filter(n=>n!==e)}}subscribeAuth(e){this.authCbs.push(e);const n=this._currentUserCached;n.isLoading||e(this._currentUserCached);let r=!1;return this.getCurrentUser().then(i=>{r||lt(i,n)||e(i)}),()=>{r=!0,this.authCbs=this.authCbs.filter(i=>i!==e)}}getAuth(){return L(this,void 0,void 0,function*(){const{user:e,error:n}=yield this.getCurrentUser();if(n)throw new Pe("Could not get current user: "+n.message);return e})}subscribeConnectionStatus(e){return this.connectionStatusCbs.push(e),()=>{this.connectionStatusCbs=this.connectionStatusCbs.filter(n=>n!==e)}}subscribeAttrs(e){return this.attrsCbs.push(e),this.attrs&&e(this.attrs),()=>{this.attrsCbs=this.attrsCbs.filter(n=>n!==e)}}notifyAuthSubs(e){this.authCbs.forEach(n=>n(e))}notifyMutationErrorSubs(e){this.mutationErrorCbs.forEach(n=>n(e))}notifyAttrsSubs(){if(!this.attrs)return;const e=this.optimisticAttrs();this.attrsCbs.forEach(n=>n(e))}notifyConnectionStatusSubs(e){this.connectionStatusCbs.forEach(n=>n(e))}setCurrentUser(e){return L(this,void 0,void 0,function*(){yield this._persister.setItem(_n,e)})}getCurrentUserCached(){return this._currentUserCached}_getCurrentUser(){return L(this,void 0,void 0,function*(){const e=yield this._persister.getItem(_n);return typeof e=="string"?JSON.parse(e):e})}getCurrentUser(){return L(this,void 0,void 0,function*(){const e=yield this._waitForOAuthCallbackResponse();if(e!=null&&e.error){const i={error:e.error,user:void 0};return this._currentUserCached=Object.assign({isLoading:!1},i),i}const r={user:yield this._getCurrentUser(),error:void 0};return this._currentUserCached=Object.assign({isLoading:!1},r),r})}_hasCurrentUser(){return L(this,void 0,void 0,function*(){const e=yield this._persister.getItem(_n);return JSON.parse(e)!=null})}changeCurrentUser(e){return L(this,void 0,void 0,function*(){var n;const{user:r}=yield this.getCurrentUser();if(!lt(r,e)){yield this.setCurrentUser(e),this.updateUser(e);try{(n=this._broadcastChannel)===null||n===void 0||n.postMessage({type:"auth"})}catch(i){console.error("Error posting message to broadcast channel",i)}}})}updateUser(e){const n={error:void 0,user:e};this._currentUserCached=Object.assign({isLoading:!1},n),this._dataForQueryCache={},this.querySubs.set(r=>(Object.keys(r).forEach(i=>{delete r[i].result}),r)),this._reconnectTimeoutMs=0,this._transport.close(),this._oauthCallbackResponse=null,this.notifyAuthSubs(n)}sendMagicCode({email:e}){return aa({apiURI:this.config.apiURI,appId:this.config.appId,email:e})}signInWithMagicCode(e){return L(this,arguments,void 0,function*({email:n,code:r}){var i;const s=yield this.getCurrentUser(),o=((i=s==null?void 0:s.user)===null||i===void 0?void 0:i.type)==="guest",a=yield ua({apiURI:this.config.apiURI,appId:this.config.appId,email:n,code:r,refreshToken:o?s.user.refresh_token:void 0});return yield this.changeCurrentUser(a.user),a})}signInWithCustomToken(e){return L(this,void 0,void 0,function*(){const n=yield ca({apiURI:this.config.apiURI,appId:this.config.appId,refreshToken:e});return yield this.changeCurrentUser(n.user),n})}signInAsGuest(){return L(this,void 0,void 0,function*(){const e=yield da({apiURI:this.config.apiURI,appId:this.config.appId});return yield this.changeCurrentUser(e.user),e})}potentiallyInvalidateToken(e,n){var r;const i=(r=e==null?void 0:e.user)===null||r===void 0?void 0:r.refresh_token;if(!i)return;if(n.invalidateToken===!1){this._log.info("[auth-invalidate] skipped invalidateToken");return}la({apiURI:this.config.apiURI,appId:this.config.appId,refreshToken:i}).then(()=>{this._log.info("[auth-invalidate] completed invalidateToken")}).catch(o=>{})}signOut(e){return L(this,void 0,void 0,function*(){const n=yield this.getCurrentUser();this.potentiallyInvalidateToken(n,e),yield this.changeCurrentUser(null)})}createAuthorizationURL({clientName:e,redirectURL:n}){const{apiURI:r,appId:i}=this.config;return`${r}/runtime/oauth/start?app_id=${i}&client_name=${e}&redirect_uri=${n}`}exchangeCodeForToken(e){return L(this,arguments,void 0,function*({code:n,codeVerifier:r}){var i;const s=yield this.getCurrentUser(),o=((i=s==null?void 0:s.user)===null||i===void 0?void 0:i.type)==="guest",a=yield Ur({apiURI:this.config.apiURI,appId:this.config.appId,code:n,codeVerifier:r,refreshToken:o?s.user.refresh_token:void 0});return yield this.changeCurrentUser(a.user),a})}issuerURI(){const{apiURI:e,appId:n}=this.config;return`${e}/runtime/${n}`}signInWithIdToken(e){return L(this,arguments,void 0,function*({idToken:n,clientName:r,nonce:i}){var s;const o=yield this.getCurrentUser(),a=(s=o==null?void 0:o.user)===null||s===void 0?void 0:s.refresh_token,u=yield fa({apiURI:this.config.apiURI,appId:this.config.appId,idToken:n,clientName:r,nonce:i,refreshToken:a});return yield this.changeCurrentUser(u.user),u})}joinRoom(e,n){let r=!1;this._rooms[e]||(r=!0,this._rooms[e]={isConnected:!1,error:void 0}),this._presence[e]=this._presence[e]||{};const i=this._presence[e].result;return n&&!i&&(this._presence[e].result=this._presence[e].result||{},this._presence[e].result.user=n,this._notifyPresenceSubs(e)),r&&this._tryJoinRoom(e,n),()=>{this._cleanupRoom(e)}}_cleanupRoom(e){var n,r,i,s;if(!(!((r=(n=this._presence[e])===null||n===void 0?void 0:n.handlers)===null||r===void 0)&&r.length)&&!Object.keys((i=this._broadcastSubs[e])!==null&&i!==void 0?i:{}).length){const o=(s=this._rooms[e])===null||s===void 0?void 0:s.isConnected;delete this._rooms[e],delete this._presence[e],delete this._broadcastSubs[e],o?this._tryLeaveRoom(e):this._roomsPendingLeave[e]=!0}}getPresence(e,n,r={}){const i=this._rooms[n],s=this._presence[n];return!i||!s||!s.result?null:Object.assign(Object.assign({},ga(s.result,r,this._sessionId)),{isLoading:!i.isConnected,error:i.error})}publishPresence(e,n,r){const i=this._rooms[n],s=this._presence[n];if(!i||!s)return;s.result=s.result||{};const o=Object.assign(Object.assign({},s.result.user),r);s.result.user=o,i.isConnected&&(this._trySetPresence(n,o),this._notifyPresenceSubs(n))}_trySetPresence(e,n){this._trySendAuthed(W(),{op:"set-presence","room-id":e,data:n})}_tryJoinRoom(e,n){this._trySendAuthed(W(),{op:"join-room","room-id":e,data:n}),delete this._roomsPendingLeave[e]}_tryLeaveRoom(e){this._trySendAuthed(W(),{op:"leave-room","room-id":e})}_trySetRoomConnected(e,n){const r=this._rooms[e];r&&(r.isConnected=n)}subscribePresence(e,n,r,i){const s=this.joinRoom(n,r.initialPresence||r.initialData),o=Object.assign(Object.assign({},r),{roomId:n,cb:i,prev:null});return this._presence[n]=this._presence[n]||{},this._presence[n].handlers=this._presence[n].handlers||[],this._presence[n].handlers.push(o),this._notifyPresenceSub(n,o),()=>{var a,u,d;this._presence[n].handlers=(d=(u=(a=this._presence[n])===null||a===void 0?void 0:a.handlers)===null||u===void 0?void 0:u.filter(c=>c!==o))!==null&&d!==void 0?d:[],s()}}_notifyPresenceSubs(e){var n,r;(r=(n=this._presence[e])===null||n===void 0?void 0:n.handlers)===null||r===void 0||r.forEach(i=>{this._notifyPresenceSub(e,i)})}_notifyPresenceSub(e,n){const r=this.getPresence("",e,n);r&&(n.prev&&!Ta(r,n.prev)||(n.prev=r,n.cb(r)))}_patchPresencePeers(e,n){var r,i,s;const o=((i=(r=this._presence[e])===null||r===void 0?void 0:r.result)===null||i===void 0?void 0:i.peers)||{};let a=Object.fromEntries(Object.entries(o).map(([d,c])=>[d,{data:c}]));(s=this._presence[e])===null||s===void 0||s.result;const u=Bt(a,d=>{for(let[c,f,h]of n)switch(f){case"+":ns(d,c,h);break;case"r":rr(d,c,h);break;case"-":ir(d,c);break}delete d[this._sessionId]});this._setPresencePeers(e,u)}_setPresencePeers(e,n){const r=Object.assign({},n);delete r[this._sessionId];const i=Object.fromEntries(Object.entries(r).map(([s,o])=>[s,o.data]));this._presence=Bt(this._presence,s=>{rr(s,[e,"result","peers"],i)})}publishTopic({roomType:e,roomId:n,topic:r,data:i}){var s;const o=this._rooms[n];if(o){if(!o.isConnected){this._broadcastQueue[n]=(s=this._broadcastQueue[n])!==null&&s!==void 0?s:[],this._broadcastQueue[n].push({topic:r,roomType:e,data:i});return}this._tryBroadcast(n,e,r,i)}}_tryBroadcast(e,n,r,i){this._trySendAuthed(W(),{op:"client-broadcast","room-id":e,roomType:n,topic:r,data:i})}subscribeTopic(e,n,r){const i=this.joinRoom(e);return this._broadcastSubs[e]=this._broadcastSubs[e]||{},this._broadcastSubs[e][n]=this._broadcastSubs[e][n]||[],this._broadcastSubs[e][n].push(r),this._presence[e]=this._presence[e]||{},()=>{this._broadcastSubs[e][n]=this._broadcastSubs[e][n].filter(s=>s!==r),this._broadcastSubs[e][n].length||delete this._broadcastSubs[e][n],i()}}_notifyBroadcastSubs(e,n,r){var i,s,o;(o=(s=(i=this._broadcastSubs)===null||i===void 0?void 0:i[e])===null||s===void 0?void 0:s[n])===null||o===void 0||o.forEach(a=>{var u,d,c,f,h,p;const b=(u=r.data)===null||u===void 0?void 0:u.data,y=r.data["peer-id"]===this._sessionId?(c=(d=this._presence[e])===null||d===void 0?void 0:d.result)===null||c===void 0?void 0:c.user:(p=(h=(f=this._presence[e])===null||f===void 0?void 0:f.result)===null||h===void 0?void 0:h.peers)===null||p===void 0?void 0:p[r.data["peer-id"]];return a(b,y)})}uploadFile(e,n,r){return L(this,void 0,void 0,function*(){var i;const s=yield this.getCurrentUser(),o=(i=s==null?void 0:s.user)===null||i===void 0?void 0:i.refresh_token;return ha(Object.assign(Object.assign({},r),{apiURI:this.config.apiURI,appId:this.config.appId,path:e,file:n,refreshToken:o}))})}deleteFile(e){return L(this,void 0,void 0,function*(){var n;const r=yield this.getCurrentUser(),i=(n=r==null?void 0:r.user)===null||n===void 0?void 0:n.refresh_token;return yield pa({apiURI:this.config.apiURI,appId:this.config.appId,path:e,refreshToken:i})})}upload(e,n){return L(this,void 0,void 0,function*(){var r;const i=yield this.getCurrentUser(),s=(r=i==null?void 0:i.user)===null||r===void 0?void 0:r.refresh_token,o=e||n.name,a=yield ya({apiURI:this.config.apiURI,appId:this.config.appId,fileName:o,refreshToken:s});return yield ba(a,n)})}getDownloadUrl(e){return L(this,void 0,void 0,function*(){var n;const r=yield this.getCurrentUser(),i=(n=r==null?void 0:r.user)===null||n===void 0?void 0:n.refresh_token;return yield _a({apiURI:this.config.apiURI,appId:this.config.appId,path:e,refreshToken:i})})}}function Ga(t,e){return new mt(ui(t,e),e,void 0)}function Qa(t){return new wt(t,{})}function Ha(){return new H("string",!0,!1)}function Ya(){return new H("number",!0,!1)}function Ja(){return new H("boolean",!0,!1)}function Za(){return new H("date",!0,!1)}function Xa(){return new H("json",!0,!1)}function eu(){return new H("json",!0,!1)}function ui(t,e){var n,r,i,s;const o={fwd:{},rev:{}};for(const u of Object.values(e))(n=o.fwd)[r=u.forward.on]||(n[r]={}),(i=o.rev)[s=u.reverse.on]||(i[s]={}),o.fwd[u.forward.on][u.forward.label]={entityName:u.reverse.on,cardinality:u.forward.has},o.rev[u.reverse.on][u.reverse.label]={entityName:u.forward.on,cardinality:u.reverse.has};return Object.fromEntries(Object.entries(t).map(([u,d])=>[u,new wt(d.attrs,Object.assign(Object.assign({},o.fwd[u]),o.rev[u]))]))}function tu({entities:t,links:e,rooms:n}){const r=e??{},i=n??{};return new mt(ui(t,r),r,i)}const nu={graph:Ga,schema:tu,entity:Qa,string:Ha,number:Ya,boolean:Ja,date:Za,json:Xa,any:eu};let St;function ru(t,e){St==null||St.dispose();const n=cu(e),r=ou(e,a),i=su(iu(t));function s(c){var f;c.source===i.element.contentWindow&&((f=c.data)===null||f===void 0?void 0:f.type)==="close"&&n.isVisible()&&a()}function o(c){const f=c.shiftKey&&c.ctrlKey&&c.key==="0",h=c.key==="Escape"||c.key==="Esc";(f||h&&n.isVisible())&&a()}function a(){n.isVisible()?n.element.style.display="none":(n.element.style.display="block",n.element.contains(i.element)||n.element.appendChild(i.element))}function u(){n.element.remove(),r.element.remove(),removeEventListener("keydown",o),removeEventListener("message",s)}function d(){document.body.appendChild(n.element),document.body.appendChild(r.element),addEventListener("keydown",o),addEventListener("message",s),St={dispose:u}}return d()}function iu(t){return`${fn||Fr?"http://localhost:3000":"https://instantdb.com"}/_devtool?appId=${t}`}function su(t){const e=document.createElement("iframe");return e.src=t,e.className="instant-devtool-iframe",Object.assign(e.style,{width:"100%",height:"100%",backgroundColor:"white",border:"none"}),{element:e}}function ou(t,e){const n=`
|
|
3
3
|
<svg width="32" height="32" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
4
4
|
<rect width="512" height="512" fill="black"/>
|
|
5
5
|
<rect x="97.0973" y="91.3297" width="140" height="330" fill="white"/>
|
|
6
6
|
</svg>
|
|
7
|
-
`,r=document.createElement("button");return r.innerHTML=n,r.className="instant-devtool-toggler",Object.assign(r.style,Object.assign(Object.assign({position:"fixed"},au(t.position)),{height:"32px",width:"32px",display:"flex",alignItems:"center",justifyContent:"center",zIndex:"9010",padding:"0",margin:"0",border:"none",cursor:"pointer"})),r.addEventListener("click",e),{element:r}}function au(t){switch(t){case"bottom-left":return{bottom:"24px",left:"24px"};case"bottom-right":return{bottom:"24px",right:"24px"};case"top-right":return{top:"24px",right:"24px"};case"top-left":return{top:"24px",left:"24px"}}}function uu(t){switch(t){case"bottom-left":return{bottom:"24px",right:"24px",left:"60px",top:"72px"};case"bottom-right":return{bottom:"24px",left:"24px",right:"60px",top:"72px"};case"top-right":return{top:"24px",left:"24px",right:"60px",bottom:"72px"};case"top-left":return{top:"24px",right:"24px",left:"60px",bottom:"72px"}}}function cu(t){const e=document.createElement("div");Object.assign(e.style,Object.assign(Object.assign({position:"fixed"},uu(t.position)),{display:"block",borderRadius:"4px",border:"1px #ccc solid",boxShadow:"0px 0px 8px #00000044",backgroundColor:"#eee",zIndex:"999990"})),e.style.display="none",e.className="instant-devtool-container";function n(){return e.style.display!=="none"}return{element:e,isVisible:n}}const du={apiURI:"https://api.instantdb.com",websocketURI:"wss://api.instantdb.com/runtime/session"};function fu(){var t;return globalThis.__instantDbSchemaHashStore=(t=globalThis.__instantDbSchemaHashStore)!==null&&t!==void 0?t:new WeakMap,globalThis.__instantDbSchemaHashStore}function lu(){var t;return globalThis.__instantDbStore=(t=globalThis.__instantDbStore)!==null&&t!==void 0?t:{},globalThis.__instantDbStore}function gn(t){const e=t.__adminToken;return t.appId+"_"+(t.websocketURI||"default_ws_uri")+"_"+(t.apiURI||"default_api_uri")+"_"+(e||"client_only")+"_"+t.useDateObjects}const Tn=lu(),wn=fu();class hu{constructor(e){this.db=e,this.sendMagicCode=n=>this.db.sendMagicCode(n),this.signInWithMagicCode=n=>this.db.signInWithMagicCode(n),this.signInWithToken=n=>this.db.signInWithCustomToken(n),this.signInAsGuest=()=>this.db.signInAsGuest(),this.createAuthorizationURL=n=>this.db.createAuthorizationURL(n),this.signInWithIdToken=n=>this.db.signInWithIdToken(n),this.exchangeOAuthCode=n=>this.db.exchangeCodeForToken(n),this.issuerURI=()=>this.db.issuerURI(),this.signOut=(n={invalidateToken:!0})=>this.db.signOut(n)}}class pu{constructor(e){this.db=e,this.uploadFile=(n,r,i={})=>this.db.uploadFile(n,r,i),this.delete=n=>this.db.deleteFile(n),this.upload=(n,r)=>this.db.upload(n,r),this.put=this.upload,this.getDownloadUrl=n=>this.db.getDownloadUrl(n)}}function yu(t){return JSON.parse(JSON.stringify(t))}class bu{constructor(e){this.tx=on(),this._reactor=e,this.auth=new hu(this._reactor),this.storage=new pu(this._reactor)}transact(e){return this._reactor.pushTx(e)}getLocalId(e){return this._reactor.getLocalId(e)}subscribeQuery(e,n,r){return this._reactor.subscribeQuery(e,n,r)}subscribeAuth(e){return this._reactor.subscribeAuth(e)}getAuth(){return this._reactor.getAuth()}subscribeConnectionStatus(e){return this._reactor.subscribeConnectionStatus(e)}joinRoom(e="_defaultRoomType",n="_defaultRoomId",r){return{leaveRoom:this._reactor.joinRoom(n,r==null?void 0:r.initialPresence),subscribeTopic:(s,o)=>this._reactor.subscribeTopic(n,s,o),subscribePresence:(s,o)=>this._reactor.subscribePresence(e,n,s,o),publishTopic:(s,o)=>this._reactor.publishTopic({roomType:e,roomId:n,topic:s,data:o}),publishPresence:s=>this._reactor.publishPresence(e,n,s),getPresence:s=>this._reactor.getPresence(e,n,s)}}shutdown(){delete Tn[gn(this._reactor.config)],this._reactor.shutdown()}queryOnce(e,n){return this._reactor.queryOnce(e,n)}}function ci(t){if(!t)return"0";if(wn.get(t))return wn.get(t);const e=z(t);return wn.set(t,e),e}function _u(t,e){return ci(t._reactor.config.schema)!==ci(e)}function gu(t,e,n,r,i){const s=Tn[gn(t)];if(s)return _u(s,t.schema)&&s._reactor.updateSchema(t.schema),s;const o=new Ba(Object.assign(Object.assign(Object.assign({},du),t),{cardinalityInference:!!t.schema}),e||Dr,n||$r,Object.assign(Object.assign({},r||{}),{"@instantdb/core":hn}),i),a=new bu(o);return Tn[gn(t)]=a,Tu(t.appId,t.devtool),a}function Tu(t,e){if(typeof window>"u"||typeof window.location>"u"||typeof document>"u"||typeof e=="boolean"&&!e)return;const n=Object.assign({position:"bottom-right",allowedHosts:["localhost"]},typeof e=="object"?e:{});n.allowedHosts.includes(window.location.hostname)&&ru(t,n)}var mn={exports:{}},Xe={};/**
|
|
7
|
+
`,r=document.createElement("button");return r.innerHTML=n,r.className="instant-devtool-toggler",Object.assign(r.style,Object.assign(Object.assign({position:"fixed"},au(t.position)),{height:"32px",width:"32px",display:"flex",alignItems:"center",justifyContent:"center",zIndex:"9010",padding:"0",margin:"0",border:"none",cursor:"pointer"})),r.addEventListener("click",e),{element:r}}function au(t){switch(t){case"bottom-left":return{bottom:"24px",left:"24px"};case"bottom-right":return{bottom:"24px",right:"24px"};case"top-right":return{top:"24px",right:"24px"};case"top-left":return{top:"24px",left:"24px"}}}function uu(t){switch(t){case"bottom-left":return{bottom:"24px",right:"24px",left:"60px",top:"72px"};case"bottom-right":return{bottom:"24px",left:"24px",right:"60px",top:"72px"};case"top-right":return{top:"24px",left:"24px",right:"60px",bottom:"72px"};case"top-left":return{top:"24px",right:"24px",left:"60px",bottom:"72px"}}}function cu(t){const e=document.createElement("div");Object.assign(e.style,Object.assign(Object.assign({position:"fixed"},uu(t.position)),{display:"block",borderRadius:"4px",border:"1px #ccc solid",boxShadow:"0px 0px 8px #00000044",backgroundColor:"#eee",zIndex:"999990"})),e.style.display="none",e.className="instant-devtool-container";function n(){return e.style.display!=="none"}return{element:e,isVisible:n}}const du={apiURI:"https://api.instantdb.com",websocketURI:"wss://api.instantdb.com/runtime/session"};function fu(){var t;return globalThis.__instantDbSchemaHashStore=(t=globalThis.__instantDbSchemaHashStore)!==null&&t!==void 0?t:new WeakMap,globalThis.__instantDbSchemaHashStore}function lu(){var t;return globalThis.__instantDbStore=(t=globalThis.__instantDbStore)!==null&&t!==void 0?t:{},globalThis.__instantDbStore}function gn(t){const e=t.__adminToken;return t.appId+"_"+(t.websocketURI||"default_ws_uri")+"_"+(t.apiURI||"default_api_uri")+"_"+(e||"client_only")+"_"+t.useDateObjects}const Tn=lu(),wn=fu();class hu{constructor(e){this.db=e,this.sendMagicCode=n=>this.db.sendMagicCode(n),this.signInWithMagicCode=n=>this.db.signInWithMagicCode(n),this.signInWithToken=n=>this.db.signInWithCustomToken(n),this.signInAsGuest=()=>this.db.signInAsGuest(),this.createAuthorizationURL=n=>this.db.createAuthorizationURL(n),this.signInWithIdToken=n=>this.db.signInWithIdToken(n),this.exchangeOAuthCode=n=>this.db.exchangeCodeForToken(n),this.issuerURI=()=>this.db.issuerURI(),this.signOut=(n={invalidateToken:!0})=>this.db.signOut(n)}}class pu{constructor(e){this.db=e,this.uploadFile=(n,r,i={})=>this.db.uploadFile(n,r,i),this.delete=n=>this.db.deleteFile(n),this.upload=(n,r)=>this.db.upload(n,r),this.put=this.upload,this.getDownloadUrl=n=>this.db.getDownloadUrl(n)}}function yu(t){return JSON.parse(JSON.stringify(t))}class bu{constructor(e){this.tx=on(),this._reactor=e,this.auth=new hu(this._reactor),this.storage=new pu(this._reactor)}transact(e){return this._reactor.pushTx(e)}getLocalId(e){return this._reactor.getLocalId(e)}subscribeQuery(e,n,r){return this._reactor.subscribeQuery(e,n,r)}subscribeAuth(e){return this._reactor.subscribeAuth(e)}getAuth(){return this._reactor.getAuth()}subscribeConnectionStatus(e){return this._reactor.subscribeConnectionStatus(e)}joinRoom(e="_defaultRoomType",n="_defaultRoomId",r){return{leaveRoom:this._reactor.joinRoom(n,r==null?void 0:r.initialPresence),subscribeTopic:(s,o)=>this._reactor.subscribeTopic(n,s,o),subscribePresence:(s,o)=>this._reactor.subscribePresence(e,n,s,o),publishTopic:(s,o)=>this._reactor.publishTopic({roomType:e,roomId:n,topic:s,data:o}),publishPresence:s=>this._reactor.publishPresence(e,n,s),getPresence:s=>this._reactor.getPresence(e,n,s)}}shutdown(){delete Tn[gn(this._reactor.config)],this._reactor.shutdown()}queryOnce(e,n){return this._reactor.queryOnce(e,n)}_syncTableExperimental(e,n){return this._reactor.subscribeTable(e,n)}}function ci(t){if(!t)return"0";if(wn.get(t))return wn.get(t);const e=z(t);return wn.set(t,e),e}function _u(t,e){return ci(t._reactor.config.schema)!==ci(e)}function gu(t,e,n,r,i){const s=Tn[gn(t)];if(s)return _u(s,t.schema)&&s._reactor.updateSchema(t.schema),s;const o=new Ba(Object.assign(Object.assign(Object.assign({},du),t),{cardinalityInference:!!t.schema}),e||Dr,n||$r,Object.assign(Object.assign({},r||{}),{"@instantdb/core":hn}),i),a=new bu(o);return Tn[gn(t)]=a,Tu(t.appId,t.devtool),a}function Tu(t,e){if(typeof window>"u"||typeof window.location>"u"||typeof document>"u"||typeof e=="boolean"&&!e)return;const n=Object.assign({position:"bottom-right",allowedHosts:["localhost"]},typeof e=="object"?e:{});n.allowedHosts.includes(window.location.hostname)&&ru(t,n)}var mn={exports:{}},Xe={};/**
|
|
8
8
|
* @license React
|
|
9
9
|
* react-jsx-runtime.production.min.js
|
|
10
10
|
*
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@instantdb/react",
|
|
3
|
-
"version": "v0.22.47-experimental.sync-table.
|
|
3
|
+
"version": "v0.22.47-experimental.sync-table.19174988015.1",
|
|
4
4
|
"description": "Instant DB for React",
|
|
5
5
|
"homepage": "https://github.com/instantdb/instant/tree/main/client/packages/react",
|
|
6
6
|
"repository": {
|
|
@@ -54,9 +54,9 @@
|
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
56
|
"eventsource": "^4.0.0",
|
|
57
|
-
"@instantdb/core": "v0.22.47-experimental.sync-table.
|
|
58
|
-
"@instantdb/
|
|
59
|
-
"@instantdb/
|
|
57
|
+
"@instantdb/core": "v0.22.47-experimental.sync-table.19174988015.1",
|
|
58
|
+
"@instantdb/react-common": "v0.22.47-experimental.sync-table.19174988015.1",
|
|
59
|
+
"@instantdb/version": "v0.22.47-experimental.sync-table.19174988015.1"
|
|
60
60
|
},
|
|
61
61
|
"scripts": {
|
|
62
62
|
"test": "vitest",
|