tempest.games 0.2.83 → 0.2.84
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/CHANGELOG.md +7 -0
- package/app/assets/{index-VxXg8xRM.js → index-BIesmSuD.js} +1 -1
- package/app/index.html +1 -1
- package/bin/backend.bun.js +9 -8
- package/bin/backend.worker.game.bun.js +3 -2
- package/bin/backend.worker.tribunal.bun.js +3 -2
- package/bin/frontend.bun.js +3 -2
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function vk(t,e){for(var n=0;n<e.length;n++){const r=e[n];if(typeof r!="string"&&!Array.isArray(r)){for(const a in r)if(a!=="default"&&!(a in t)){const u=Object.getOwnPropertyDescriptor(r,a);u&&Object.defineProperty(t,a,u.get?u:{enumerable:!0,get:()=>r[a]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))r(a);new MutationObserver(a=>{for(const u of a)if(u.type==="childList")for(const c of u.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&r(c)}).observe(document,{childList:!0,subtree:!0});function n(a){const u={};return a.integrity&&(u.integrity=a.integrity),a.referrerPolicy&&(u.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?u.credentials="include":a.crossOrigin==="anonymous"?u.credentials="omit":u.credentials="same-origin",u}function r(a){if(a.ep)return;a.ep=!0;const u=n(a);fetch(a.href,u)}})();function Sk(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Jh={exports:{}},Fa={};var TS;function wk(){if(TS)return Fa;TS=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.fragment");function n(r,a,u){var c=null;if(u!==void 0&&(c=""+u),a.key!==void 0&&(c=""+a.key),"key"in a){u={};for(var f in a)f!=="key"&&(u[f]=a[f])}else u=a;return a=u.ref,{$$typeof:t,type:r,key:c,ref:a!==void 0?a:null,props:u}}return Fa.Fragment=e,Fa.jsx=n,Fa.jsxs=n,Fa}var AS;function xk(){return AS||(AS=1,Jh.exports=wk()),Jh.exports}var F=xk();function ft(t){return ff(Jt.STORE,t,void 0)}function Tk(t){return uy(Jt.STORE,t,void 0)}function Ak(t){return ey(Jt.STORE,t)}function nt(...t){return qn(Jt.STORE,...t)}function z1(t){return mM(Jt.STORE,t)}function Ek(t,e){return gM(Jt.STORE,t)}const Kr={atom_family:"atom family",atom:"atom",continuity:"continuity",key:"key",mutable_atom_family:"atom family [m]",mutable_atom:"atom [m]",readonly_held_selector_family:"selector family [h]",readonly_held_selector:"selector [h]",readonly_pure_selector_family:"selector family",readonly_pure_selector:"selector",socket:"socket",state:"state",timeline:"timeline",transaction:"transaction",unknown:"unknown",writable_held_selector_family:"selector family [wh]",writable_held_selector:"selector [wh]",writable_pure_selector_family:"selector family [w]",writable_pure_selector:"selector [w]"},Xh=t=>(e,n,r,a,...u)=>{console[t](`${e} ${Kr[n]} \`${r}\` ${a}`,...u)},Ok={error:Xh("error"),info:Xh("info"),warn:Xh("warn")};var _k=class{logLevel;filter;logger;constructor(t,e,n=Ok){this.logLevel=t,this.filter=e,this.logger=n}error=(...t)=>{if(this.logLevel!==null){const e=this.filter?.(...t)??!0;e===!0?this.logger.error(...t):e&&this.logger.error(...e)}};info=(...t)=>{if(this.logLevel==="info"){const e=this.filter?.(...t)??!0;e===!0?this.logger.info(...t):e&&this.logger.info(...e)}};warn=(...t)=>{if(this.logLevel!=="error"&&this.logLevel!==null){const e=this.filter?.(...t)??!0;e===!0?this.logger.warn(...t):e&&this.logger.warn(...e)}}};function Sc(t,e){return[t,e].sort().join("")}function Rk(t){if(typeof t!="string")return null;const[e,n]=t.split("==");if(!n)return null;const r=e.slice(4),[a,u]=n.split("++");return r&&a&&u?[r,a,u]:null}function Wi(t){return sT(Jt.STORE,t)}function Ck(t){return nM(Jt.STORE,t)}function De(...t){Lt(Jt.STORE,...t)}function kk(t,e,n=af()){return dM(Jt.STORE,t,e,n)}function Mk(t){return Z1(Jt.STORE,t)}function Dk(t,e=af()){return Jm(Jt.STORE,t,e)}function Nk(t){return Object.entries(t)}function qr(t){return JSON.parse(t)}const zt=t=>JSON.stringify(t);function $k(t){const e={};let n=0;for(const r of t)e[r]=n,e[n]=r,++n;return e}const L1="",V1="",U1="",K1="",ES=t=>{if(t===null)return V1;switch(typeof t){case"string":return U1+t;case"number":return K1+t;case"boolean":return L1+ +t;case"object":return JSON.stringify(t)}},OS=t=>{switch(t[0]){case U1:return t.slice(1);case K1:return+t.slice(1);case L1:return t.slice(1)==="1";case V1:return null;case"[":return JSON.parse(t)}},_S=$k(["add","delete","clear"]);var q1=class Xa extends Set{mode="record";subject=new We;constructor(e){super(e)}READONLY_VIEW=this;toJSON(){return[...this]}static fromJSON(e){return new Xa(e)}add(e){const n=super.add(e);return this.mode==="record"&&this.emit({type:"add",value:e}),n}clear(){const e=this.mode==="record"?[...this]:null;super.clear(),e&&this.emit({type:"clear",values:e})}delete(e){const n=super.delete(e);return this.mode==="record"&&this.emit({type:"delete",value:e}),n}subscribe(e,n){return this.subject.subscribe(e,n)}emit(e){this.subject.next(Xa.packUpdate(e))}do(e){this.mode="playback";const n=Xa.unpackUpdate(e);switch(n.type){case"add":this.add(n.value);break;case"delete":this.delete(n.value);break;case"clear":this.clear()}return this.mode="record",null}undo(e){const n=Xa.unpackUpdate(e);switch(this.mode="playback",n.type){case"add":this.delete(n.value);break;case"delete":this.add(n.value);break;case"clear":{const r=n.values;for(const a of r)this.add(a)}}return this.mode="record",null}static packUpdate(e){const n=_S[e.type]+"";return e.type==="clear"?n+e.values.map(ES).join(""):n+ES(e.value)}static unpackUpdate(e){const[n,r]=e.split(""),a=_S[n];return a==="clear"?{type:"clear",values:r.split("").map(OS)}:{type:a,value:OS(r)}}};function af(t=Math.random){return t().toString(36).slice(2)}function Re(t){for(;t.child!==null;)t=t.child;return t}function Ym(t){for(;t.parent!==null;)t=t.parent;return t}const jk=/^\[object (?:Async|Generator|AsyncGenerator)?Function\]$/;function Br(t){const e=Object.prototype.toString.call(t);return jk.test(e)}function RS(t,e){return Br(t)?t(e):t}var Kp=class extends Promise{fate;resolve;reject;done=!1;constructor(t){let e,n;super((r,a)=>{e=r,n=a}),this.resolve=e,this.reject=n,this.use(t instanceof Promise?t:new Promise(t))}pass(t,e){t===this.fate&&(this.resolve(e),this.done=!0)}fail(t,e){t===this.fate&&(this.reject(e),this.done=!0)}use(t){if(this!==t)if(t instanceof Promise){const e=t;this.fate=e,e.then(n=>{this.pass(e,n)},n=>{this.fail(e,n)})}else this.resolve(t),this.fate=void 0}},We=class{Subscriber;subscribers=new Map;subscribe(t,e){return this.subscribers.set(t,e),()=>{this.unsubscribe(t)}}unsubscribe(t){this.subscribers.delete(t)}next(t){const e=this.subscribers.values();for(const n of e)n(t)}},Bk=class extends We{state;constructor(t){super(),this.state=t}next(t){this.state=t,super.next(t)}},zk=class P1{_buffer;_index=0;constructor(e){let n;typeof e=="number"?n=e:n=e.length,this._buffer=Array.from({length:n})}get buffer(){return this._buffer}get index(){return this._index}add(e){this._buffer[this._index]=e,this._index=(this._index+1)%this._buffer.length}copy(){const e=new P1([...this._buffer]);return e._index=this._index,e}};function zr(t){const e={key:t.key,type:t.type};return"family"in t&&(e.family=t.family),e}var Jn=class extends Map{deleted=new Set;changed=new Set;source;constructor(t){super(),this.source=t}get(t){if(super.has(t))return super.get(t);if(!this.deleted.has(t)&&this.source.has(t))return this.source.get(t)}set(t,e){return this.deleted.delete(t),this.source.has(t)&&this.changed.add(t),super.set(t,e)}hasOwn(t){return super.has(t)}has(t){return!this.deleted.has(t)&&(super.has(t)||this.source.has(t))}delete(t){return this.source.has(t)&&(this.deleted.add(t),this.changed.delete(t)),super.delete(t)}clear(){this.deleted=new Set(this.source.keys()),this.changed.clear(),super.clear()}*[Symbol.iterator](){yield*super[Symbol.iterator]();for(const[t,e]of this.source)!this.deleted.has(t)&&!this.changed.has(t)&&(yield[t,e])}*entries(){yield*this[Symbol.iterator]()}*keys(){yield*super.keys();for(const t of this.source.keys())!this.deleted.has(t)&&!this.changed.has(t)&&(yield t)}*values(){for(const[,t]of this[Symbol.iterator]())yield t}forEach(t){for(const[e,n]of this[Symbol.iterator]())t(n,e,this)}get size(){return super.size+this.source.size-this.changed.size-this.deleted.size}},I1=class extends Set{deleted=new Set;source;constructor(t){super(),this.source=t}add(t){return this.source.has(t)?(this.deleted.delete(t),this):super.add(t)}hasOwn(t){return super.has(t)}has(t){return!this.deleted.has(t)&&(super.has(t)||this.source.has(t))}delete(t){return this.source.has(t)?(this.deleted.add(t),!0):super.delete(t)}clear(){this.deleted=new Set(this.source),super.clear()}*[Symbol.iterator](){yield*super[Symbol.iterator]();for(const t of this.source)this.deleted.has(t)||(yield t)}*iterateOwn(){yield*super[Symbol.iterator]()}get size(){return super.size+this.source.size-this.deleted.size}},Lk=class extends Map{deleted=new Set;source;constructor(t){super(),this.source=t}get(t){if(super.has(t))return super.get(t);if(!this.deleted.has(t)&&this.source.has(t)){const e=new I1(this.source.get(t));return super.set(t,e),e}}set(t,e){return this.deleted.delete(t),super.set(t,e)}has(t){return!this.deleted.has(t)&&(super.has(t)||this.source.has(t))}delete(t){return this.deleted.add(t),super.delete(t)}},qi=class H1{a;b;cardinality;relations=new Map;contents=new Map;isAType;isBType;isContent;makeContentKey=(e,n)=>`${e}:${n}`;warn;getRelatedKeys(e){return this.relations.get(e)}addRelation(e,n){let r=this.relations.get(e),a=this.relations.get(n);r?r.add(n):(r=new Set([n]),this.relations.set(e,r)),a?a.add(e):(a=new Set([e]),this.relations.set(n,a))}deleteRelation(e,n){const r=this.relations.get(e);if(r){r.delete(n),r.size===0&&this.relations.delete(e);const a=this.relations.get(n);a&&(a.delete(e),a.size===0&&this.relations.delete(n))}}replaceRelationsUnsafely(e,n){this.relations.set(e,new Set(n));for(const r of n){const a=new Set().add(e);this.relations.set(r,a)}}replaceRelationsSafely(e,n){const r=this.relations.get(e);let a=this.isAType?.(e)?e:void 0,u=a===void 0?e:void 0;if(r)for(const c of r){a??=c,u??=c;const f=this.relations.get(c);f&&(f.size===1?this.relations.delete(c):f.delete(e),this.contents.delete(this.makeContentKey(a,u)))}this.relations.set(e,new Set(n));for(const c of n){let f=this.relations.get(c);f?f.add(e):(f=new Set().add(e),this.relations.set(c,f))}}getContentInternal(e){return this.contents.get(e)}setContent(e,n){this.contents.set(e,n)}deleteContent(e){this.contents.delete(e)}constructor(e,n){if(this.a=e.between[0],this.b=e.between[1],this.cardinality=e.cardinality,this.isAType=n?.isAType??null,this.isBType=n?.isBType??null,this.isContent=n?.isContent??null,n?.makeContentKey&&(this.makeContentKey=n.makeContentKey),!n?.externalStore){const r=n?.source;r===void 0&&(this.relations=new Map(e.relations?.map(([a,u])=>[a,new Set(u)])),this.contents=new Map(e.contents)),r&&(this.relations=new Lk(r.relations),this.contents=new Jn(r.contents))}if(n?.externalStore){const r=n.externalStore;this.has=(a,u)=>r.has(a,u),this.addRelation=(a,u)=>{r.addRelation(a,u)},this.deleteRelation=(a,u)=>{r.deleteRelation(a,u)},this.replaceRelationsSafely=(a,u)=>{r.replaceRelationsSafely(a,u)},this.replaceRelationsUnsafely=(a,u)=>{r.replaceRelationsUnsafely(a,u)},this.getRelatedKeys=(a=>r.getRelatedKeys(a)),r.getContent&&(this.getContentInternal=a=>r.getContent(a),this.setContent=(a,u)=>{r.setContent(a,u)},this.deleteContent=a=>{r.deleteContent(a)});for(const[a,u]of e.relations??[]){let c=this.isAType?.(a)?a:void 0,f=c===void 0?a:void 0;for(const h of u)c??=h,f??=h,this.addRelation(c,f)}for(const[a,u]of e.contents??[])this.setContent(a,u)}n?.warn&&(this.warn=n.warn)}toJSON(){return{between:[this.a,this.b],cardinality:this.cardinality,relations:[...this.relations.entries()].map(([e,n])=>[e,[...n]]),contents:[...this.contents.entries()]}}set(...e){let n,r,a;switch(e.length){case 1:{const u=e[0];n=u[this.a],r=u[this.b],a=void 0;break}case 2:{const u=e[0];typeof u=="string"?[n,r]=e:(n=u[this.a],r=u[this.b],a=e[1]);break}default:n=e[0],r=e[1],a=e[2];break}switch(this.cardinality){case"1:1":{const u=this.getRelatedKey(n);u&&u!==r&&this.delete(n,u)}case"1:n":{const u=this.getRelatedKey(r);u&&u!==n&&this.delete(u,r)}break}if(a){const u=this.makeContentKey(n,r);this.setContent(u,a)}return this.addRelation(n,r),this}delete(e,n){n=typeof n=="string"?n:e[this.b];const r=typeof e=="string"?e:e[this.a];if(r===void 0&&typeof n=="string"){const a=this.getRelatedKeys(n);if(a)for(const u of a)this.delete(u,n)}else if(typeof r=="string"&&n===void 0){const a=this.getRelatedKeys(r);if(a)for(const u of a)this.delete(r,u)}else if(typeof r=="string"&&typeof n=="string"){this.deleteRelation(r,n);const a=this.makeContentKey(r,n);this.deleteContent(a)}return this}getRelatedKey(e){const n=this.getRelatedKeys(e);if(n){n.size>1&&this.warn?.(`${n.size} related keys were found for key "${e}": (${[...n].map(a=>`"${a}"`).join(", ")}). Only one related key was expected.`);let r;for(const a of n){r=a;break}return r}}replaceRelations(e,n,r){const a=!Array.isArray(n),u=a?Object.keys(n):n;if(r?.reckless?this.replaceRelationsUnsafely(e,u):this.replaceRelationsSafely(e,u),a)for(const c of u){const f=this.makeContentKey(e,c),h=n[c];this.setContent(f,h)}return this}getContent(e,n){const r=this.makeContentKey(e,n);return this.getContentInternal(r)}getRelationEntries(e){const n=e[this.a],r=e[this.b];if(n!==void 0&&r===void 0){const a=this.getRelatedKeys(n);if(a)return[...a].map(u=>[u,this.getContent(n,u)])}if(n===void 0&&r!==void 0){const a=this.getRelatedKeys(r);if(a)return[...a].map(u=>[u,this.getContent(u,r)])}return[]}has(e,n){return n?this.getRelatedKeys(e)?.has(n)??!1:this.relations.has(e)}overlay(){const e={source:this,makeContentKey:this.makeContentKey};return this.isAType&&(e.isAType=this.isAType),this.isBType&&(e.isBType=this.isBType),this.isContent&&(e.isContent=this.isContent),this.warn&&(e.warn=this.warn),new H1({between:[this.a,this.b],cardinality:this.cardinality},e)}incorporate(e){const{relations:n,contents:r}=e;for(const[a,u]of n)if(u instanceof I1){const{source:c}=u;for(const f of u.iterateOwn())c.add(f)}else this.relations.set(a,u);for(const a of n.deleted)this.relations.delete(a);for(const[a,u]of r)this.contents.set(a,u);for(const a of r.deleted)this.contents.delete(a)}};function Vk(t){return t.startsWith("🔍 ")}const Uk=t=>{t.logger.info("🪂","transaction",t.transactionMeta.update.token.key,"Aborting transaction"),t.parent.child=null};function Jm(t,e,n){return(...r)=>ct(t,e).run(r,n)}function Kk(t,e,n){const{token:r,update:{newValue:a,oldValue:u}}=e;Lt(t,r,n==="newValue"?a:u)}function qk(t){const{stack:e}=t;return e?`
|
|
1
|
+
function vk(t,e){for(var n=0;n<e.length;n++){const r=e[n];if(typeof r!="string"&&!Array.isArray(r)){for(const a in r)if(a!=="default"&&!(a in t)){const u=Object.getOwnPropertyDescriptor(r,a);u&&Object.defineProperty(t,a,u.get?u:{enumerable:!0,get:()=>r[a]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))r(a);new MutationObserver(a=>{for(const u of a)if(u.type==="childList")for(const c of u.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&r(c)}).observe(document,{childList:!0,subtree:!0});function n(a){const u={};return a.integrity&&(u.integrity=a.integrity),a.referrerPolicy&&(u.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?u.credentials="include":a.crossOrigin==="anonymous"?u.credentials="omit":u.credentials="same-origin",u}function r(a){if(a.ep)return;a.ep=!0;const u=n(a);fetch(a.href,u)}})();function Sk(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Jh={exports:{}},Fa={};var TS;function wk(){if(TS)return Fa;TS=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.fragment");function n(r,a,u){var c=null;if(u!==void 0&&(c=""+u),a.key!==void 0&&(c=""+a.key),"key"in a){u={};for(var f in a)f!=="key"&&(u[f]=a[f])}else u=a;return a=u.ref,{$$typeof:t,type:r,key:c,ref:a!==void 0?a:null,props:u}}return Fa.Fragment=e,Fa.jsx=n,Fa.jsxs=n,Fa}var AS;function xk(){return AS||(AS=1,Jh.exports=wk()),Jh.exports}var F=xk();function ft(t){return ff(Jt.STORE,t,void 0)}function Tk(t){return uy(Jt.STORE,t,void 0)}function Ak(t){return ey(Jt.STORE,t)}function nt(...t){return qn(Jt.STORE,...t)}function z1(t){return mM(Jt.STORE,t)}function Ek(t,e){return gM(Jt.STORE,t)}const Kr={atom_family:"atom family",atom:"atom",continuity:"continuity",key:"key",mutable_atom_family:"atom family [m]",mutable_atom:"atom [m]",readonly_held_selector_family:"selector family [h]",readonly_held_selector:"selector [h]",readonly_pure_selector_family:"selector family",readonly_pure_selector:"selector",socket:"socket",state:"state",timeline:"timeline",transaction:"transaction",unknown:"unknown",user:"👤",writable_held_selector_family:"selector family [wh]",writable_held_selector:"selector [wh]",writable_pure_selector_family:"selector family [w]",writable_pure_selector:"selector [w]"},Xh=(t,e)=>(n,r,a,u,...c)=>{console[t](`${n} ${Kr[r]} \`${a}\` ${u}`,...c)},Ok={error:Xh("error"),info:Xh("info"),warn:Xh("warn")};var _k=class{logLevel;filter;logger;constructor(t,e,n=Ok){this.logLevel=t,this.filter=e,this.logger=n}error=(...t)=>{if(this.logLevel!==null){const e=this.filter?.(...t)??!0;e===!0?this.logger.error(...t):e&&this.logger.error(...e)}};info=(...t)=>{if(this.logLevel==="info"){const e=this.filter?.(...t)??!0;e===!0?this.logger.info(...t):e&&this.logger.info(...e)}};warn=(...t)=>{if(this.logLevel!=="error"&&this.logLevel!==null){const e=this.filter?.(...t)??!0;e===!0?this.logger.warn(...t):e&&this.logger.warn(...e)}}};function Sc(t,e){return[t,e].sort().join("")}function Rk(t){if(typeof t!="string")return null;const[e,n]=t.split("==");if(!n)return null;const r=e.slice(4),[a,u]=n.split("++");return r&&a&&u?[r,a,u]:null}function Wi(t){return sT(Jt.STORE,t)}function Ck(t){return nM(Jt.STORE,t)}function De(...t){Lt(Jt.STORE,...t)}function kk(t,e,n=af()){return dM(Jt.STORE,t,e,n)}function Mk(t){return Z1(Jt.STORE,t)}function Dk(t,e=af()){return Jm(Jt.STORE,t,e)}function Nk(t){return Object.entries(t)}function qr(t){return JSON.parse(t)}const zt=t=>JSON.stringify(t);function $k(t){const e={};let n=0;for(const r of t)e[r]=n,e[n]=r,++n;return e}const L1="",V1="",U1="",K1="",ES=t=>{if(t===null)return V1;switch(typeof t){case"string":return U1+t;case"number":return K1+t;case"boolean":return L1+ +t;case"object":return JSON.stringify(t)}},OS=t=>{switch(t[0]){case U1:return t.slice(1);case K1:return+t.slice(1);case L1:return t.slice(1)==="1";case V1:return null;case"[":return JSON.parse(t)}},_S=$k(["add","delete","clear"]);var q1=class Xa extends Set{mode="record";subject=new We;constructor(e){super(e)}READONLY_VIEW=this;toJSON(){return[...this]}static fromJSON(e){return new Xa(e)}add(e){const n=super.add(e);return this.mode==="record"&&this.emit({type:"add",value:e}),n}clear(){const e=this.mode==="record"?[...this]:null;super.clear(),e&&this.emit({type:"clear",values:e})}delete(e){const n=super.delete(e);return this.mode==="record"&&this.emit({type:"delete",value:e}),n}subscribe(e,n){return this.subject.subscribe(e,n)}emit(e){this.subject.next(Xa.packUpdate(e))}do(e){this.mode="playback";const n=Xa.unpackUpdate(e);switch(n.type){case"add":this.add(n.value);break;case"delete":this.delete(n.value);break;case"clear":this.clear()}return this.mode="record",null}undo(e){const n=Xa.unpackUpdate(e);switch(this.mode="playback",n.type){case"add":this.delete(n.value);break;case"delete":this.add(n.value);break;case"clear":{const r=n.values;for(const a of r)this.add(a)}}return this.mode="record",null}static packUpdate(e){const n=_S[e.type]+"";return e.type==="clear"?n+e.values.map(ES).join(""):n+ES(e.value)}static unpackUpdate(e){const[n,r]=e.split(""),a=_S[n];return a==="clear"?{type:"clear",values:r.split("").map(OS)}:{type:a,value:OS(r)}}};function af(t=Math.random){return t().toString(36).slice(2)}function Re(t){for(;t.child!==null;)t=t.child;return t}function Ym(t){for(;t.parent!==null;)t=t.parent;return t}const jk=/^\[object (?:Async|Generator|AsyncGenerator)?Function\]$/;function Br(t){const e=Object.prototype.toString.call(t);return jk.test(e)}function RS(t,e){return Br(t)?t(e):t}var Kp=class extends Promise{fate;resolve;reject;done=!1;constructor(t){let e,n;super((r,a)=>{e=r,n=a}),this.resolve=e,this.reject=n,this.use(t instanceof Promise?t:new Promise(t))}pass(t,e){t===this.fate&&(this.resolve(e),this.done=!0)}fail(t,e){t===this.fate&&(this.reject(e),this.done=!0)}use(t){if(this!==t)if(t instanceof Promise){const e=t;this.fate=e,e.then(n=>{this.pass(e,n)},n=>{this.fail(e,n)})}else this.resolve(t),this.fate=void 0}},We=class{Subscriber;subscribers=new Map;subscribe(t,e){return this.subscribers.set(t,e),()=>{this.unsubscribe(t)}}unsubscribe(t){this.subscribers.delete(t)}next(t){const e=this.subscribers.values();for(const n of e)n(t)}},Bk=class extends We{state;constructor(t){super(),this.state=t}next(t){this.state=t,super.next(t)}},zk=class P1{_buffer;_index=0;constructor(e){let n;typeof e=="number"?n=e:n=e.length,this._buffer=Array.from({length:n})}get buffer(){return this._buffer}get index(){return this._index}add(e){this._buffer[this._index]=e,this._index=(this._index+1)%this._buffer.length}copy(){const e=new P1([...this._buffer]);return e._index=this._index,e}};function zr(t){const e={key:t.key,type:t.type};return"family"in t&&(e.family=t.family),e}var Jn=class extends Map{deleted=new Set;changed=new Set;source;constructor(t){super(),this.source=t}get(t){if(super.has(t))return super.get(t);if(!this.deleted.has(t)&&this.source.has(t))return this.source.get(t)}set(t,e){return this.deleted.delete(t),this.source.has(t)&&this.changed.add(t),super.set(t,e)}hasOwn(t){return super.has(t)}has(t){return!this.deleted.has(t)&&(super.has(t)||this.source.has(t))}delete(t){return this.source.has(t)&&(this.deleted.add(t),this.changed.delete(t)),super.delete(t)}clear(){this.deleted=new Set(this.source.keys()),this.changed.clear(),super.clear()}*[Symbol.iterator](){yield*super[Symbol.iterator]();for(const[t,e]of this.source)!this.deleted.has(t)&&!this.changed.has(t)&&(yield[t,e])}*entries(){yield*this[Symbol.iterator]()}*keys(){yield*super.keys();for(const t of this.source.keys())!this.deleted.has(t)&&!this.changed.has(t)&&(yield t)}*values(){for(const[,t]of this[Symbol.iterator]())yield t}forEach(t){for(const[e,n]of this[Symbol.iterator]())t(n,e,this)}get size(){return super.size+this.source.size-this.changed.size-this.deleted.size}},I1=class extends Set{deleted=new Set;source;constructor(t){super(),this.source=t}add(t){return this.source.has(t)?(this.deleted.delete(t),this):super.add(t)}hasOwn(t){return super.has(t)}has(t){return!this.deleted.has(t)&&(super.has(t)||this.source.has(t))}delete(t){return this.source.has(t)?(this.deleted.add(t),!0):super.delete(t)}clear(){this.deleted=new Set(this.source),super.clear()}*[Symbol.iterator](){yield*super[Symbol.iterator]();for(const t of this.source)this.deleted.has(t)||(yield t)}*iterateOwn(){yield*super[Symbol.iterator]()}get size(){return super.size+this.source.size-this.deleted.size}},Lk=class extends Map{deleted=new Set;source;constructor(t){super(),this.source=t}get(t){if(super.has(t))return super.get(t);if(!this.deleted.has(t)&&this.source.has(t)){const e=new I1(this.source.get(t));return super.set(t,e),e}}set(t,e){return this.deleted.delete(t),super.set(t,e)}has(t){return!this.deleted.has(t)&&(super.has(t)||this.source.has(t))}delete(t){return this.deleted.add(t),super.delete(t)}},qi=class H1{a;b;cardinality;relations=new Map;contents=new Map;isAType;isBType;isContent;makeContentKey=(e,n)=>`${e}:${n}`;warn;getRelatedKeys(e){return this.relations.get(e)}addRelation(e,n){let r=this.relations.get(e),a=this.relations.get(n);r?r.add(n):(r=new Set([n]),this.relations.set(e,r)),a?a.add(e):(a=new Set([e]),this.relations.set(n,a))}deleteRelation(e,n){const r=this.relations.get(e);if(r){r.delete(n),r.size===0&&this.relations.delete(e);const a=this.relations.get(n);a&&(a.delete(e),a.size===0&&this.relations.delete(n))}}replaceRelationsUnsafely(e,n){this.relations.set(e,new Set(n));for(const r of n){const a=new Set().add(e);this.relations.set(r,a)}}replaceRelationsSafely(e,n){const r=this.relations.get(e);let a=this.isAType?.(e)?e:void 0,u=a===void 0?e:void 0;if(r)for(const c of r){a??=c,u??=c;const f=this.relations.get(c);f&&(f.size===1?this.relations.delete(c):f.delete(e),this.contents.delete(this.makeContentKey(a,u)))}this.relations.set(e,new Set(n));for(const c of n){let f=this.relations.get(c);f?f.add(e):(f=new Set().add(e),this.relations.set(c,f))}}getContentInternal(e){return this.contents.get(e)}setContent(e,n){this.contents.set(e,n)}deleteContent(e){this.contents.delete(e)}constructor(e,n){if(this.a=e.between[0],this.b=e.between[1],this.cardinality=e.cardinality,this.isAType=n?.isAType??null,this.isBType=n?.isBType??null,this.isContent=n?.isContent??null,n?.makeContentKey&&(this.makeContentKey=n.makeContentKey),!n?.externalStore){const r=n?.source;r===void 0&&(this.relations=new Map(e.relations?.map(([a,u])=>[a,new Set(u)])),this.contents=new Map(e.contents)),r&&(this.relations=new Lk(r.relations),this.contents=new Jn(r.contents))}if(n?.externalStore){const r=n.externalStore;this.has=(a,u)=>r.has(a,u),this.addRelation=(a,u)=>{r.addRelation(a,u)},this.deleteRelation=(a,u)=>{r.deleteRelation(a,u)},this.replaceRelationsSafely=(a,u)=>{r.replaceRelationsSafely(a,u)},this.replaceRelationsUnsafely=(a,u)=>{r.replaceRelationsUnsafely(a,u)},this.getRelatedKeys=(a=>r.getRelatedKeys(a)),r.getContent&&(this.getContentInternal=a=>r.getContent(a),this.setContent=(a,u)=>{r.setContent(a,u)},this.deleteContent=a=>{r.deleteContent(a)});for(const[a,u]of e.relations??[]){let c=this.isAType?.(a)?a:void 0,f=c===void 0?a:void 0;for(const h of u)c??=h,f??=h,this.addRelation(c,f)}for(const[a,u]of e.contents??[])this.setContent(a,u)}n?.warn&&(this.warn=n.warn)}toJSON(){return{between:[this.a,this.b],cardinality:this.cardinality,relations:[...this.relations.entries()].map(([e,n])=>[e,[...n]]),contents:[...this.contents.entries()]}}set(...e){let n,r,a;switch(e.length){case 1:{const u=e[0];n=u[this.a],r=u[this.b],a=void 0;break}case 2:{const u=e[0];typeof u=="string"?[n,r]=e:(n=u[this.a],r=u[this.b],a=e[1]);break}default:n=e[0],r=e[1],a=e[2];break}switch(this.cardinality){case"1:1":{const u=this.getRelatedKey(n);u&&u!==r&&this.delete(n,u)}case"1:n":{const u=this.getRelatedKey(r);u&&u!==n&&this.delete(u,r)}break}if(a){const u=this.makeContentKey(n,r);this.setContent(u,a)}return this.addRelation(n,r),this}delete(e,n){n=typeof n=="string"?n:e[this.b];const r=typeof e=="string"?e:e[this.a];if(r===void 0&&typeof n=="string"){const a=this.getRelatedKeys(n);if(a)for(const u of a)this.delete(u,n)}else if(typeof r=="string"&&n===void 0){const a=this.getRelatedKeys(r);if(a)for(const u of a)this.delete(r,u)}else if(typeof r=="string"&&typeof n=="string"){this.deleteRelation(r,n);const a=this.makeContentKey(r,n);this.deleteContent(a)}return this}getRelatedKey(e){const n=this.getRelatedKeys(e);if(n){n.size>1&&this.warn?.(`${n.size} related keys were found for key "${e}": (${[...n].map(a=>`"${a}"`).join(", ")}). Only one related key was expected.`);let r;for(const a of n){r=a;break}return r}}replaceRelations(e,n,r){const a=!Array.isArray(n),u=a?Object.keys(n):n;if(r?.reckless?this.replaceRelationsUnsafely(e,u):this.replaceRelationsSafely(e,u),a)for(const c of u){const f=this.makeContentKey(e,c),h=n[c];this.setContent(f,h)}return this}getContent(e,n){const r=this.makeContentKey(e,n);return this.getContentInternal(r)}getRelationEntries(e){const n=e[this.a],r=e[this.b];if(n!==void 0&&r===void 0){const a=this.getRelatedKeys(n);if(a)return[...a].map(u=>[u,this.getContent(n,u)])}if(n===void 0&&r!==void 0){const a=this.getRelatedKeys(r);if(a)return[...a].map(u=>[u,this.getContent(u,r)])}return[]}has(e,n){return n?this.getRelatedKeys(e)?.has(n)??!1:this.relations.has(e)}overlay(){const e={source:this,makeContentKey:this.makeContentKey};return this.isAType&&(e.isAType=this.isAType),this.isBType&&(e.isBType=this.isBType),this.isContent&&(e.isContent=this.isContent),this.warn&&(e.warn=this.warn),new H1({between:[this.a,this.b],cardinality:this.cardinality},e)}incorporate(e){const{relations:n,contents:r}=e;for(const[a,u]of n)if(u instanceof I1){const{source:c}=u;for(const f of u.iterateOwn())c.add(f)}else this.relations.set(a,u);for(const a of n.deleted)this.relations.delete(a);for(const[a,u]of r)this.contents.set(a,u);for(const a of r.deleted)this.contents.delete(a)}};function Vk(t){return t.startsWith("🔍 ")}const Uk=t=>{t.logger.info("🪂","transaction",t.transactionMeta.update.token.key,"Aborting transaction"),t.parent.child=null};function Jm(t,e,n){return(...r)=>ct(t,e).run(r,n)}function Kk(t,e,n){const{token:r,update:{newValue:a,oldValue:u}}=e;Lt(t,r,n==="newValue"?a:u)}function qk(t){const{stack:e}=t;return e?`
|
|
2
2
|
`+e.split(`
|
|
3
3
|
`)?.slice(1)?.join(`
|
|
4
4
|
`):""}function F1(t,e,n,r="any"){const a=e,u=zt(n),c=[],f=Re(t);if(Array.isArray(a))for(const y of a){const g=zt(y);f.molecules.get(g)?t.moleculeGraph.set(g,u,{source:g}):c.push(g)}else{const y=zt(a);f.molecules.get(y)?t.moleculeGraph.set(y,u,{source:y}):c.push(y)}const h=new We;c.length===0&&f.molecules.set(u,{key:n,stringKey:u,dependsOn:r,subject:h});const m={type:"molecule_creation",key:n,provenance:a,timestamp:Date.now()};Tn(f)&&f.transactionMeta.phase==="building"?f.transactionMeta.update.subEvents.push(m):f.on.moleculeCreation.next(m);for(const y of c){const g=t.disposalTraces.buffer.find(v=>v?.key===y);t.logger.error("❌","key",n,"allocation failed:",`Could not allocate to ${y} in store "${t.config.name}".`,g?`
|
package/app/index.html
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
7
|
<title>TEMPEST</title>
|
|
8
|
-
<script type="module" crossorigin src="/assets/index-
|
|
8
|
+
<script type="module" crossorigin src="/assets/index-BIesmSuD.js"></script>
|
|
9
9
|
<link rel="stylesheet" crossorigin href="/assets/index-DZ_4vJcE.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body>
|
package/bin/backend.bun.js
CHANGED
|
@@ -5244,7 +5244,7 @@ var require_luxon = __commonJS((exports) => {
|
|
|
5244
5244
|
exports.Zone = Zone;
|
|
5245
5245
|
});
|
|
5246
5246
|
|
|
5247
|
-
// ../../node_modules/.pnpm/cron@4.3.
|
|
5247
|
+
// ../../node_modules/.pnpm/cron@4.3.5/node_modules/cron/dist/constants.js
|
|
5248
5248
|
var require_constants = __commonJS((exports) => {
|
|
5249
5249
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5250
5250
|
exports.RE_RANGE = exports.RE_WILDCARDS = exports.PRESETS = exports.TIME_UNITS_LEN = exports.TIME_UNITS = exports.TIME_UNITS_MAP = exports.ALIASES = exports.PARSE_DEFAULTS = exports.CONSTRAINTS = undefined;
|
|
@@ -5310,7 +5310,7 @@ var require_constants = __commonJS((exports) => {
|
|
|
5310
5310
|
exports.RE_RANGE = /^(\d+)(?:-(\d+))?(?:\/(\d+))?$/g;
|
|
5311
5311
|
});
|
|
5312
5312
|
|
|
5313
|
-
// ../../node_modules/.pnpm/cron@4.3.
|
|
5313
|
+
// ../../node_modules/.pnpm/cron@4.3.5/node_modules/cron/dist/errors.js
|
|
5314
5314
|
var require_errors = __commonJS((exports) => {
|
|
5315
5315
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5316
5316
|
exports.ExclusiveParametersError = exports.CronError = undefined;
|
|
@@ -5327,7 +5327,7 @@ var require_errors = __commonJS((exports) => {
|
|
|
5327
5327
|
exports.ExclusiveParametersError = ExclusiveParametersError;
|
|
5328
5328
|
});
|
|
5329
5329
|
|
|
5330
|
-
// ../../node_modules/.pnpm/cron@4.3.
|
|
5330
|
+
// ../../node_modules/.pnpm/cron@4.3.5/node_modules/cron/dist/time.js
|
|
5331
5331
|
var require_time = __commonJS((exports) => {
|
|
5332
5332
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5333
5333
|
exports.CronTime = undefined;
|
|
@@ -5614,7 +5614,7 @@ var require_time = __commonJS((exports) => {
|
|
|
5614
5614
|
exports.CronTime = CronTime;
|
|
5615
5615
|
});
|
|
5616
5616
|
|
|
5617
|
-
// ../../node_modules/.pnpm/cron@4.3.
|
|
5617
|
+
// ../../node_modules/.pnpm/cron@4.3.5/node_modules/cron/dist/job.js
|
|
5618
5618
|
var require_job = __commonJS((exports) => {
|
|
5619
5619
|
var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P2, generator) {
|
|
5620
5620
|
function adopt(value) {
|
|
@@ -5792,7 +5792,7 @@ var require_job = __commonJS((exports) => {
|
|
|
5792
5792
|
let startTime;
|
|
5793
5793
|
const setCronTimeout = (t2) => {
|
|
5794
5794
|
startTime = Date.now();
|
|
5795
|
-
this._timeout = setTimeout(callbackWrapper, t2);
|
|
5795
|
+
this._timeout = setTimeout(callbackWrapper, Math.max(t2, 1));
|
|
5796
5796
|
if (this.unrefTimeout && typeof this._timeout.unref === "function") {
|
|
5797
5797
|
this._timeout.unref();
|
|
5798
5798
|
}
|
|
@@ -5881,7 +5881,7 @@ var require_job = __commonJS((exports) => {
|
|
|
5881
5881
|
exports.CronJob = CronJob;
|
|
5882
5882
|
});
|
|
5883
5883
|
|
|
5884
|
-
// ../../node_modules/.pnpm/cron@4.3.
|
|
5884
|
+
// ../../node_modules/.pnpm/cron@4.3.5/node_modules/cron/dist/index.js
|
|
5885
5885
|
var require_dist = __commonJS((exports) => {
|
|
5886
5886
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5887
5887
|
exports.validateCronExpression = exports.timeout = exports.sendAt = exports.CronTime = exports.CronJob = undefined;
|
|
@@ -51088,13 +51088,14 @@ var PRETTY_ENTITY_NAMES = {
|
|
|
51088
51088
|
timeline: `timeline`,
|
|
51089
51089
|
transaction: `transaction`,
|
|
51090
51090
|
unknown: `unknown`,
|
|
51091
|
+
user: `\uD83D\uDC64`,
|
|
51091
51092
|
writable_held_selector_family: `selector family [wh]`,
|
|
51092
51093
|
writable_held_selector: `selector [wh]`,
|
|
51093
51094
|
writable_pure_selector_family: `selector family [w]`,
|
|
51094
51095
|
writable_pure_selector: `selector [w]`
|
|
51095
51096
|
};
|
|
51096
|
-
var simpleLog = (logLevel) => (icon, denomination, tokenKey, message, ...rest) => {
|
|
51097
|
-
console[logLevel](`${icon} ${PRETTY_ENTITY_NAMES[denomination]} \`${tokenKey}\` ${message}`, ...rest);
|
|
51097
|
+
var simpleLog = (logLevel, prefix) => (icon, denomination, tokenKey, message, ...rest) => {
|
|
51098
|
+
console[logLevel](`${prefix ? `${prefix} ` : ``}${icon} ${PRETTY_ENTITY_NAMES[denomination]} \`${tokenKey}\` ${message}`, ...rest);
|
|
51098
51099
|
};
|
|
51099
51100
|
var simpleLogger = {
|
|
51100
51101
|
error: simpleLog(`error`),
|
|
@@ -61,13 +61,14 @@ var PRETTY_ENTITY_NAMES = {
|
|
|
61
61
|
timeline: `timeline`,
|
|
62
62
|
transaction: `transaction`,
|
|
63
63
|
unknown: `unknown`,
|
|
64
|
+
user: `\uD83D\uDC64`,
|
|
64
65
|
writable_held_selector_family: `selector family [wh]`,
|
|
65
66
|
writable_held_selector: `selector [wh]`,
|
|
66
67
|
writable_pure_selector_family: `selector family [w]`,
|
|
67
68
|
writable_pure_selector: `selector [w]`
|
|
68
69
|
};
|
|
69
|
-
var simpleLog = (logLevel) => (icon, denomination, tokenKey, message, ...rest) => {
|
|
70
|
-
console[logLevel](`${icon} ${PRETTY_ENTITY_NAMES[denomination]} \`${tokenKey}\` ${message}`, ...rest);
|
|
70
|
+
var simpleLog = (logLevel, prefix) => (icon, denomination, tokenKey, message, ...rest) => {
|
|
71
|
+
console[logLevel](`${prefix ? `${prefix} ` : ``}${icon} ${PRETTY_ENTITY_NAMES[denomination]} \`${tokenKey}\` ${message}`, ...rest);
|
|
71
72
|
};
|
|
72
73
|
var simpleLogger = {
|
|
73
74
|
error: simpleLog(`error`),
|
|
@@ -179,13 +179,14 @@ var PRETTY_ENTITY_NAMES = {
|
|
|
179
179
|
timeline: `timeline`,
|
|
180
180
|
transaction: `transaction`,
|
|
181
181
|
unknown: `unknown`,
|
|
182
|
+
user: `\uD83D\uDC64`,
|
|
182
183
|
writable_held_selector_family: `selector family [wh]`,
|
|
183
184
|
writable_held_selector: `selector [wh]`,
|
|
184
185
|
writable_pure_selector_family: `selector family [w]`,
|
|
185
186
|
writable_pure_selector: `selector [w]`
|
|
186
187
|
};
|
|
187
|
-
var simpleLog = (logLevel) => (icon, denomination, tokenKey, message, ...rest) => {
|
|
188
|
-
console[logLevel](`${icon} ${PRETTY_ENTITY_NAMES[denomination]} \`${tokenKey}\` ${message}`, ...rest);
|
|
188
|
+
var simpleLog = (logLevel, prefix) => (icon, denomination, tokenKey, message, ...rest) => {
|
|
189
|
+
console[logLevel](`${prefix ? `${prefix} ` : ``}${icon} ${PRETTY_ENTITY_NAMES[denomination]} \`${tokenKey}\` ${message}`, ...rest);
|
|
189
190
|
};
|
|
190
191
|
var simpleLogger = {
|
|
191
192
|
error: simpleLog(`error`),
|
package/bin/frontend.bun.js
CHANGED
|
@@ -8178,13 +8178,14 @@ var PRETTY_ENTITY_NAMES = {
|
|
|
8178
8178
|
timeline: `timeline`,
|
|
8179
8179
|
transaction: `transaction`,
|
|
8180
8180
|
unknown: `unknown`,
|
|
8181
|
+
user: `\uD83D\uDC64`,
|
|
8181
8182
|
writable_held_selector_family: `selector family [wh]`,
|
|
8182
8183
|
writable_held_selector: `selector [wh]`,
|
|
8183
8184
|
writable_pure_selector_family: `selector family [w]`,
|
|
8184
8185
|
writable_pure_selector: `selector [w]`
|
|
8185
8186
|
};
|
|
8186
|
-
var simpleLog = (logLevel) => (icon, denomination, tokenKey, message, ...rest) => {
|
|
8187
|
-
console[logLevel](`${icon} ${PRETTY_ENTITY_NAMES[denomination]} \`${tokenKey}\` ${message}`, ...rest);
|
|
8187
|
+
var simpleLog = (logLevel, prefix) => (icon, denomination, tokenKey, message, ...rest) => {
|
|
8188
|
+
console[logLevel](`${prefix ? `${prefix} ` : ``}${icon} ${PRETTY_ENTITY_NAMES[denomination]} \`${tokenKey}\` ${message}`, ...rest);
|
|
8188
8189
|
};
|
|
8189
8190
|
var simpleLogger = {
|
|
8190
8191
|
error: simpleLog(`error`),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tempest.games",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.84",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"@trpc/client": "11.7.2",
|
|
33
33
|
"@trpc/server": "11.7.2",
|
|
34
34
|
"arktype": "2.1.27",
|
|
35
|
-
"cron": "4.3.
|
|
35
|
+
"cron": "4.3.5",
|
|
36
36
|
"drizzle-orm": "0.44.7",
|
|
37
37
|
"motion": "12.23.24",
|
|
38
38
|
"nanoid": "5.1.6",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"safegen": "0.8.2",
|
|
46
46
|
"socket.io": "4.8.1",
|
|
47
47
|
"socket.io-client": "4.8.1",
|
|
48
|
-
"atom.io": "0.44.
|
|
48
|
+
"atom.io": "0.44.15",
|
|
49
49
|
"safedeposit": "0.1.2",
|
|
50
50
|
"treetrunks": "0.1.5"
|
|
51
51
|
},
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
"sass-embedded": "1.93.3",
|
|
70
70
|
"vite": "7.2.4",
|
|
71
71
|
"vitest": "4.0.14",
|
|
72
|
-
"flightdeck": "0.3.
|
|
72
|
+
"flightdeck": "0.3.13",
|
|
73
73
|
"varmint": "0.5.11"
|
|
74
74
|
},
|
|
75
75
|
"scripts": {
|