UNPKG

eve

Version:

Filesystem-first framework for durable backend AI agents that run anywhere.

1 lines 2.4 kB
const e=`0123456789ABCDEFGHJKMNPQRSTVWXYZ`,t=(()=>{let t=new Int8Array(128).fill(-1);for(let n=0;n<32;n++)t[e.charCodeAt(n)]=n;for(let n=0;n<32;n++){let r=e[n].toLowerCase();r!==e[n]&&(t[r.charCodeAt(0)]=n)}return t})();function n(e){if(typeof e!=`string`)throw TypeError(`Expected ULID string, got ${typeof e}`);if(e.length!==26)throw Error(`Invalid ULID length: expected 26, got ${e.length}`);let n=new Uint8Array(26);for(let r=0;r<26;r++){let i=e.charCodeAt(r),a=i<128?t[i]:-1;if(a<0)throw Error(`Invalid Crockford-Base32 character at index ${r}: ${JSON.stringify(e[r])}`);n[r]=a}if(n[0]&24)throw Error(`Invalid ULID: top 2 bits must be zero (first char > '7'): ${JSON.stringify(e[0])}`);let r=new Uint8Array(16),i=n[0]&7,a=3,o=0;for(let e=1;e<26;e++)for(i=i<<5|n[e],a+=5;a>=8;)a-=8,r[o++]=i>>a&255;if(o!==16||a!==0)throw Error(`Internal error: ULID bit packing did not consume cleanly`);return r}function r(t){if(t.length!==16)throw Error(`Invalid byte length: expected 16, got ${t.length}`);let n=0,r=0;n=0,r=2;let i=``;for(let a=0;a<16;a++)for(n=n<<8|t[a],r+=8;r>=5;)r-=5,i+=e[n>>r&31];if(i.length!==26||r!==0)throw Error(`Internal error: ULID bit packing did not flush cleanly`);return i}const i={unknown:0,iad1:1,sfo1:2,pdx1:3,cle1:4,yul1:5,gru1:6,dub1:7,lhr1:8,cdg1:9,fra1:10,bru1:11,arn1:12,hel1:13,zrh1:14,cpt1:15,dxb1:16,bom1:17,sin1:18,hkg1:19,hnd1:20,icn1:21,kix1:22,syd1:23},a=`iad1`,o=new Map(Object.entries(i).filter(e=>e[0]!==`unknown`).map(([e,t])=>[t,e]));function s(e){return o.get(e)??null}function c(e){return e!==void 0&&e!==`unknown`&&Object.hasOwn(i,e)}function l(e){return typeof e==`string`&&e!==`unknown`&&Object.hasOwn(i,e)}function u(e,t,a={}){let o;if(typeof t==`number`){if(!Number.isInteger(t)||t<0||t>63)throw RangeError(`regionId must be an integer in [0, 63]; got ${t}`);o=t}else if(l(t))o=i[t];else throw Error(`Unknown region: ${String(t)}`);let s=a.version??1;if(!Number.isInteger(s)||s<0||s>31)throw RangeError(`version must be an integer in [0, 31]; got ${s}`);let c=n(e);c[0]|=128;let u=(o&63)<<2,d=s>>3&3,f=(s&7)<<5;return c[6]=c[6]&-256|u|d,c[7]=c[7]&-225|f,r(c)}function d(e){let t=n(e),i=(t[0]&128)!=0;t[0]&=-129;let a=r(t);if(!i)return{tagged:!1,ulid:a,version:null,regionId:null,region:null};let o=(t[6]&252)>>2;return{tagged:!0,ulid:a,version:(t[6]&3)<<3|(t[7]&224)>>5,regionId:o,region:s(o)}}export{c as a,i,u as n,r as o,a as r,n as s,d as t};