@roughapp/feature 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. package/index.d.ts +45 -821
  2. package/index.js +35 -24
  3. package/package.json +2 -2
  4. package/style.css +1 -1
package/index.js CHANGED
@@ -1,11 +1,21 @@
1
- import{z as e}from"zod";import{errorBoundary as t}from"@stayradiated/error-boundary";import{z as n}from"zod/mini";import*as r from"svelte/internal/client";import{getContext as i,mount as a,onDestroy as o,onMount as s,unmount as c,untrack as l}from"svelte";import"svelte/internal/disclose-version";import"svelte/internal/flags/async";import{SvelteMap as u,SvelteSet as d}from"svelte/reactivity";import{newMessagePortRpcSession as f}from"capnweb";import"@andypf/json-viewer";var p=e=>Object.fromEntries(e.map(e=>{switch(e.type){case`mutation`:case`query`:return[e.id,t=>e.call(t)];case`subscription`:return[e.id,async(t,n)=>{let r=n.dup(),i=await e.subscribe(r,t);return async()=>{i(),r[Symbol.dispose]()}}];default:throw Error(`Unknown tool type: '${JSON.stringify(e)}'`)}})),m=e=>Object.fromEntries(e.map(e=>{switch(e.type){case`mutation`:case`query`:return[e.id,async t=>e.outputSample];case`subscription`:return[e.id,async(t,n)=>{let r=n.dup();return r(e.outputSample),async()=>{r[Symbol.dispose]()}}];default:throw Error(`Unknown tool type: '${JSON.stringify(e)}'`)}})),h=e=>({type:e.type,id:e.id,name:e.name,description:e.description,inputSchema:e.inputSchema.toJSONSchema(),outputSchema:e.outputSchema.toJSONSchema(),outputSample:e.outputSample}),g=class t{type=`mutation`;id;name;description;inputSchema;outputSchema;outputSample;implementation;static create(e){new t(e)}constructor(e){this.id=e.id,this.name=e.name,this.description=e.description,this.inputSchema=e.inputSchema,this.outputSchema=e.outputSchema,this.outputSample=e.outputSample,this.implementation=e.implementation}toJSON(){return h(this)}async call(t){let n=this.inputSchema.safeParse(t);if(!n.success)throw Error(`Invalid input for ${this.id}: ${e.prettifyError(n.error)}`);let r=await this.implementation(n.data),i=this.outputSchema.safeParse(r);if(!i.success)throw Error(`Invalid output for ${this.id}: ${e.prettifyError(i.error)}`);return i.data}},_=class t{type=`query`;id;name;description;inputSchema;outputSchema;outputSample;implementation;static create(e){new t(e)}constructor(e){this.id=e.id,this.name=e.name,this.description=e.description,this.inputSchema=e.inputSchema,this.outputSchema=e.outputSchema,this.outputSample=e.outputSample,this.implementation=e.implementation}toJSON(){return h(this)}async call(t){let n=this.inputSchema.safeParse(t);if(!n.success)throw Error(`Invalid input for ${this.id}: ${e.prettifyError(n.error)}`);let r=await this.implementation(n.data),i=this.outputSchema.safeParse(r);if(!i.success)throw Error(`Invalid output for ${this.id}: ${e.prettifyError(i.error)}`);return i.data}},v=class t{type=`subscription`;id;name;description;inputSchema;outputSchema;outputSample;implementation;static create(e){new t(e)}constructor(e){this.id=e.id,this.name=e.name,this.description=e.description,this.inputSchema=e.inputSchema,this.outputSchema=e.outputSchema,this.outputSample=e.outputSample,this.implementation=e.implementation}toJSON(){return h(this)}async subscribe(t,n){let r=this.inputSchema.safeParse(n);if(!r.success)throw Error(`Invalid input for ${this.id}: ${e.prettifyError(r.error)}`);return await this.implementation(n=>{let r=this.outputSchema.safeParse(n);if(!r.success)throw Error(`Invalid output for ${this.id}: ${e.prettifyError(r.error)}`);t(r.data)},r.data)}},y=e=>e,b=e=>n.object({token:n.string().check(n.minLength(1),n.refine(e=>e.trim()!==``,{message:`Token must not be empty or whitespace`})),expiresAt:n.number().check(n.int(),n.gt(e))}),x=(e,t=Date.now())=>{let r=b(t).safeParse(e);return r.success?r.data:Error(n.prettifyError(r.error))},S=`https://gateway.rough.app`,C=S,w,ee=e=>{C=e.baseUrl??S,w=e.projectId},te=()=>C,T=()=>{if(!w)throw Error("You must call `initRough()` before using the components");return w},E=e=>{let t=new URL(e.path,te());for(let[n,r]of Object.entries(e.query??{}))r!==void 0&&t.searchParams.set(n,String(r));return t.toString()},D=class extends Error{status;constructor(e,t){super(t),this.name=`GatewayHttpError`,this.status=e}},O=n.object({message:n.string()}),k=async e=>{let t=`Gateway request failed with status ${e.status}`;try{let n=await e.json(),r=O.safeParse(n);r.success&&(t=r.data.message)}catch{}return new D(e.status,t)},A=async e=>{try{return await e.json()}catch{return Error(`Gateway returned an invalid JSON response`)}},ne=async e=>{let{projectId:n,userToken:r}=e,i=await t(()=>fetch(E({path:`/api/v1/project/${encodeURIComponent(n)}/session-token`}),{method:`POST`,headers:{authorization:`Bearer ${r}`}}));if(i instanceof Error)return i;if(!i.ok)return k(i);let a=await A(i);return a instanceof Error?a:x(a)},re=n.object({token:n.string(),expiresAt:n.number()}),j=e=>re.safeParse(e).success,M=1e3,ie=3e4,N=6e4,P=e=>Math.min(M*2**Math.max(e-1,0),ie),F=(e,t)=>t>=e.expiresAt-N,ae=e=>{let{fetchSessionToken:t,now:n=Date.now}=e,r,i,a=0,o=0,s=0,c=()=>{r=void 0,i=void 0,a=0,o=0,s+=1},l=e=>{r&&(e!==void 0&&r.token!==e||(r=void 0))},u=()=>{let e=o-n();if(e>0)return Promise.reject(Error(`fetchSessionToken is rate limited after repeated failures; retry in ${e}ms`));let c=s;return i=t().then(e=>{if(c!==s)throw Error(`Session token fetch was reset before it completed`);return r=e,a=0,o=0,e.token}).catch(e=>{throw c===s&&(r=void 0,a+=1,o=n()+P(a)),e}).finally(()=>{c===s&&(i=void 0)}),i};return{getToken:()=>r&&!F(r,n())?Promise.resolve(r.token):i===void 0?u():i,invalidateToken:l,reset:c}},I,L,R,z,oe=e=>{let{baseUrl:t,projectId:n,fetchUserToken:r,exchangeIdentityTokenForSessionToken:i=ne}=e;(I!==t||L!==n||R!==r)&&(z?.reset(),z=ae({fetchSessionToken:async()=>{let e=await r();if(typeof e==`string`){if(e.trim()===``)throw Error(`fetchUserToken must return a non-empty string`);let t=await i({projectId:n,userToken:e});if(t instanceof Error)throw t;return t}if(j(e)){let t=x(e);if(t instanceof Error)throw t;return t}throw Error(`fetchUserToken must return a non-empty string`)}}),I=t,L=n,R=r)},B=async()=>{if(!z)throw Error(`fetchUserToken must be provided!`);return z.getToken()},se=e=>{z?.invalidateToken(e)},V=e=>e instanceof D&&e.status===401,H=async e=>{let t=await e.getSessionToken(),n=await e.call(t);if(!(n instanceof Error)||!V(n))return n;e.invalidateSessionToken(t);let r=await e.getSessionToken();return e.call(r)},U=async e=>H({getSessionToken:B,invalidateSessionToken:se,call:e.call}),W=async e=>{let{path:t,method:r=`GET`,bearerToken:i,body:a,query:o,signal:s,schema:c,invalidResponseMessage:l}=e,u;try{u=await fetch(E({path:t,query:o}),{method:r,signal:s,headers:{authorization:`Bearer ${i}`,...a===void 0?{}:{"content-type":`application/json`}},...a===void 0?{}:{body:JSON.stringify(a)}})}catch(e){return e instanceof Error?e:Error(String(e))}if(!u.ok)return k(u);let d=await A(u);if(d instanceof Error)return d;let f=c.safeParse(d);return f.success?f.data:Error(`${l}\n${n.prettifyError(f.error)}`)},G=n.enum([`PENDING`,`IN_PROGRESS`,`READY`,`ERROR`]),K=n.object({id:n.string().check(n.minLength(1)),name:n.string()}),q=n.object({id:n.string().check(n.minLength(1)),spriteId:n.string().check(n.minLength(1)),parentSpriteBuildId:n.nullable(n.string().check(n.minLength(1))),createdByPerson:K,prompt:n.string(),status:G,artifactUrl:n.nullable(n.url()),sourceUrl:n.nullable(n.url()),startedAt:n.nullable(n.number()),stoppedAt:n.nullable(n.number()),error:n.nullable(n.record(n.string(),n.unknown())),reasoningSummary:n.nullable(n.string()),publishedAt:n.nullable(n.number())}),ce=n.array(q),J=n.object({id:n.string().check(n.minLength(1)),name:n.string(),ownedByPersonId:n.string().check(n.minLength(1)),publishedSpriteBuild:n.nullable(q)}),le=n.array(J),ue=async e=>{let{name:t,prompt:n,toolList:r,surfaceId:i,projectId:a,signal:o}=e;return U({call:e=>W({path:`/api/v1/project/${encodeURIComponent(a)}/sprite`,method:`POST`,bearerToken:e,signal:o,schema:J,invalidResponseMessage:`Create sprite returned an invalid response`,body:{surfaceId:i,name:t,prompt:n,toolList:r.map(e=>e.toJSON())}})})},de=async e=>{let{spriteId:t,parentSpriteBuildId:n,prompt:r,signal:i}=e,a=T();return U({call:e=>W({path:`/api/v1/project/${encodeURIComponent(a)}/sprite/${encodeURIComponent(t)}/build`,method:`POST`,bearerToken:e,signal:i,schema:q,invalidResponseMessage:`Create sprite build returned an invalid response`,body:{parentSpriteBuildId:n,prompt:r}})})},fe=async e=>{let{spriteId:t,signal:n}=e,r=T();return U({call:e=>W({path:`/api/v1/project/${encodeURIComponent(r)}/sprite/${encodeURIComponent(t)}`,bearerToken:e,signal:n,schema:J,invalidResponseMessage:`Get sprite returned an invalid response`})})},pe=async e=>{let{spriteId:t,spriteBuildId:n,signal:r}=e,i=T();return U({call:e=>W({path:`/api/v1/project/${encodeURIComponent(i)}/sprite/${encodeURIComponent(t)}/build/${encodeURIComponent(n)}`,bearerToken:e,signal:r,schema:q,invalidResponseMessage:`Get sprite build returned an invalid response`})})},me=n.enum([`STEP_STARTED`,`STEP_COMPLETED`,`STEP_FAILED`,`EXEC_STARTED`,`EXEC_COMPLETED`,`EXEC_FAILED`,`FETCH_STARTED`,`FETCH_COMPLETED`,`FETCH_FAILED`,`AGENT_STARTED`,`AGENT_COMPLETED`,`AGENT_TOOL_STARTED`,`AGENT_TOOL_COMPLETED`,`AGENT_TOOL_FAILED`,`AGENT_META`,`AGENT_MESSAGE`,`AGENT_THOUGHT`]),he=n.object({id:n.string().check(n.minLength(1)),spriteBuildId:n.string().check(n.minLength(1)),actionedAt:n.number(),type:me,detail:n.unknown()}),ge=n.array(he),_e=async e=>{let{spriteId:t,spriteBuildId:n,cursor:r,limit:i,signal:a}=e,o=T();return U({call:e=>W({path:`/api/v1/project/${encodeURIComponent(o)}/sprite/${encodeURIComponent(t)}/build/${encodeURIComponent(n)}/logs`,bearerToken:e,signal:a,schema:ge,invalidResponseMessage:`Get sprite build events returned an invalid response`,query:{cursor:r,limit:i}})})},ve=async e=>{let{spriteId:t,signal:n}=e,r=T();return U({call:e=>W({path:`/api/v1/project/${encodeURIComponent(r)}/sprite/${encodeURIComponent(t)}/build`,bearerToken:e,signal:n,schema:ce,invalidResponseMessage:`Get sprite build list returned an invalid response`})})},ye=async e=>{let{surfaceId:t,signal:n}=e,r=T();return U({call:e=>W({path:`/api/v1/project/${encodeURIComponent(r)}/sprite`,bearerToken:e,signal:n,schema:le,invalidResponseMessage:`Get sprite list returned an invalid response`,query:{surfaceId:t}})})},be=async e=>{let{projectId:t,signal:r}=e,i=await U({call:e=>W({path:`/api/v1/project/${encodeURIComponent(t)}/ping`,method:`POST`,bearerToken:e,signal:r,schema:n.object({success:n.boolean()}),invalidResponseMessage:`Ping project returned an invalid response`})});if(i instanceof Error)return i},xe=async e=>{let{spriteId:t,spriteBuildId:n,signal:r}=e,i=T();return U({call:e=>W({path:`/api/v1/project/${encodeURIComponent(i)}/sprite/${encodeURIComponent(t)}/publish`,method:`POST`,bearerToken:e,signal:r,schema:J,invalidResponseMessage:`Publish sprite returned an invalid response`,body:{spriteBuildId:n}})})},Se=n.object({id:n.string().check(n.minLength(1)),key:n.string(),name:n.string(),description:n.string()}),Ce=async e=>{let{key:t,name:n,description:r,toolList:i,projectId:a,signal:o}=e;return U({call:e=>W({path:`/api/v1/project/${encodeURIComponent(a)}/surface`,method:`POST`,bearerToken:e,signal:o,schema:Se,invalidResponseMessage:`Register surface returned an invalid response`,body:{key:t,name:n,description:r,toolList:i.map(e=>e.toJSON())}})})},we=e=>new Promise(t=>setTimeout(t,e)),Te=async e=>{let{spriteId:t,spriteBuildId:n,signal:r,onUpdate:i}=e;if(r?.aborted)return Error(r.reason);let a=await pe({spriteId:t,spriteBuildId:n,signal:r});return a instanceof Error?a:(i?.(a),a.status===`PENDING`||a.status===`IN_PROGRESS`?(await we(1e3),Te(e)):a)},Y=r.proxy({}),Ee=(e,t)=>(Y[e]=[...Y[e]??[],t],()=>{Y[e]=(Y[e]??[]).filter(e=>e!==t),Y[e].length===0&&delete Y[e]}),De=e=>{let t=Y[e];if(!t?.length)return;let[n]=t;if(n)return{surfaceId:n.surfaceId,toolList:n.toolList,triggerRefresh:()=>{for(let e of t)e.triggerRefresh()}}},Oe=(e,t)=>{let n=new AbortController,r,i,a=async()=>{if(!i||n.signal.aborted)return;let e=await ye({surfaceId:i,signal:n.signal});!(e instanceof Error)&&!n.signal.aborted&&t([...e.filter(e=>e.publishedSpriteBuild?.artifactUrl)].sort((e,t)=>e.id<t.id?1:e.id>t.id?-1:0))};return(async()=>{let t=T(),o=await Ce({key:e.key,name:e.name,description:e.description,toolList:e.toolList,projectId:t,signal:n.signal});!(o instanceof Error)&&!n.signal.aborted&&(i=o.id,r=Ee(e.key,{surfaceId:i,toolList:e.toolList,triggerRefresh:a}),await a())})(),()=>{n.abort(),r?.()}},ke=e=>{let{baseUrl:t,projectId:n,fetchUserToken:r}=e;ee({baseUrl:t,projectId:n}),oe({baseUrl:t,projectId:n,fetchUserToken:r}),be({projectId:n})},Ae={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`},je=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},Me=Symbol(`lucide-context`),Ne=()=>i(Me),Pe=new Set([`$$slots`,`$$events`,`$$legacy`,`$$host`,`name`,`color`,`size`,`strokeWidth`,`absoluteStrokeWidth`,`iconNode`,`children`]),Fe=r.from_svg(`<svg><!><!></svg>`);function Ie(e,t){r.push(t,!0);let n=Ne()??{},i=r.prop(t,`name`,7),a=r.prop(t,`color`,23,()=>n.color??`currentColor`),o=r.prop(t,`size`,23,()=>n.size??24),s=r.prop(t,`strokeWidth`,23,()=>n.strokeWidth??2),c=r.prop(t,`absoluteStrokeWidth`,23,()=>n.absoluteStrokeWidth??!1),l=r.prop(t,`iconNode`,23,()=>[]),u=r.prop(t,`children`,7),d=r.rest_props(t,Pe),f=r.derived(()=>c()?Number(s())*24/Number(o()):s());var p={get name(){return i()},set name(e){i(e),r.flush()},get color(){return a()},set color(e=n.color??`currentColor`){a(e),r.flush()},get size(){return o()},set size(e=n.size??24){o(e),r.flush()},get strokeWidth(){return s()},set strokeWidth(e=n.strokeWidth??2){s(e),r.flush()},get absoluteStrokeWidth(){return c()},set absoluteStrokeWidth(e=n.absoluteStrokeWidth??!1){c(e),r.flush()},get iconNode(){return l()},set iconNode(e=[]){l(e),r.flush()},get children(){return u()},set children(e){u(e),r.flush()}},m=Fe();r.attribute_effect(m,e=>({...Ae,...e,...d,width:o(),height:o(),stroke:a(),"stroke-width":r.get(f),class:[`lucide-icon lucide`,n.class,i()&&`lucide-${i()}`,t.class]}),[()=>!u()&&!je(d)&&{"aria-hidden":`true`}]);var h=r.child(m);r.each(h,17,l,r.index,(e,t)=>{var n=r.derived(()=>r.to_array(r.get(t),2));let i=()=>r.get(n)[0],a=()=>r.get(n)[1];var o=r.comment(),s=r.first_child(o);r.element(s,i,!0,(e,t)=>{r.attribute_effect(e,()=>({...a()}))}),r.append(e,o)});var g=r.sibling(h);return r.snippet(g,()=>u()??r.noop),r.reset(m),r.append(e,m),r.pop(p)}r.create_custom_element(Ie,{name:{},color:{},size:{},strokeWidth:{},absoluteStrokeWidth:{},iconNode:{},children:{}},[],[],{mode:`open`});var Le=new Set([`$$slots`,`$$events`,`$$legacy`,`$$host`]);function Re(e,t){let n=r.rest_props(t,Le),i=[[`path`,{d:`m5 12 7-7 7 7`}],[`path`,{d:`M12 19V5`}]];Ie(e,r.spread_props({name:`arrow-up`},()=>n,{get iconNode(){return i}}))}r.create_custom_element(Re,{},[],[],{mode:`open`});var ze=new Set([`$$slots`,`$$events`,`$$legacy`,`$$host`]);function Be(e,t){let n=r.rest_props(t,ze),i=[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`}]];Ie(e,r.spread_props({name:`loader-circle`},()=>n,{get iconNode(){return i}}))}r.create_custom_element(Be,{},[],[],{mode:`open`});var Ve=r.from_html(`<span class="loader-circle svelte-galthg" aria-hidden="true"><!></span>`),He={hash:`svelte-galthg`,code:`.loader-circle.svelte-galthg {display:inline-flex;
1
+ import{z as e}from"zod";import{errorBoundary as t}from"@stayradiated/error-boundary";import{z as n}from"zod/mini";import*as r from"svelte/internal/client";import{SvelteMap as i,SvelteSet as a}from"svelte/reactivity";import{getContext as o,mount as s,onDestroy as c,onMount as l,unmount as u}from"svelte";import"svelte/internal/disclose-version";import"svelte/internal/flags/async";import{newMessagePortRpcSession as d}from"capnweb";import"@andypf/json-viewer";var f=Object.create,p=Object.defineProperty,m=Object.getOwnPropertyDescriptor,h=Object.getOwnPropertyNames,g=Object.getPrototypeOf,_=Object.prototype.hasOwnProperty,v=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},y=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),b=(e,t)=>{let n={};for(var r in e)p(n,r,{get:e[r],enumerable:!0});return t||p(n,Symbol.toStringTag,{value:`Module`}),n},ee=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=h(t),a=0,o=i.length,s;a<o;a++)s=i[a],!_.call(e,s)&&s!==n&&p(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=m(t,s))||r.enumerable});return e},te=(e,t,n)=>(n=e==null?{}:f(g(e)),ee(t||!e||!e.__esModule||!_.call(e,`default`)?p(n,`default`,{value:e,enumerable:!0}):n,e)),ne=e=>Object.fromEntries(e.map(e=>{switch(e.type){case`mutation`:case`query`:return[e.id,t=>e.call(t)];case`subscription`:return[e.id,async(t,n)=>{let r=n.dup(),i=await e.subscribe(r,t);return async()=>{i(),r[Symbol.dispose]()}}];default:throw Error(`Unknown tool type: '${JSON.stringify(e)}'`)}})),re=e=>Object.fromEntries(e.map(e=>{switch(e.type){case`mutation`:case`query`:return[e.id,async t=>e.outputSample];case`subscription`:return[e.id,async(t,n)=>{let r=n.dup();return r(e.outputSample),async()=>{r[Symbol.dispose]()}}];default:throw Error(`Unknown tool type: '${JSON.stringify(e)}'`)}})),ie=e=>({type:e.type,id:e.id,name:e.name,description:e.description,inputSchema:e.inputSchema.toJSONSchema(),outputSchema:e.outputSchema.toJSONSchema(),outputSample:e.outputSample}),ae=class t{type=`mutation`;id;name;description;inputSchema;outputSchema;outputSample;implementation;static create(e){new t(e)}constructor(e){this.id=e.id,this.name=e.name,this.description=e.description,this.inputSchema=e.inputSchema,this.outputSchema=e.outputSchema,this.outputSample=e.outputSample,this.implementation=e.implementation}toJSON(){return ie(this)}async call(t){let n=this.inputSchema.safeParse(t);if(!n.success)throw Error(`Invalid input for ${this.id}: ${e.prettifyError(n.error)}`);let r=await this.implementation(n.data),i=this.outputSchema.safeParse(r);if(!i.success)throw Error(`Invalid output for ${this.id}: ${e.prettifyError(i.error)}`);return i.data}},oe=class t{type=`query`;id;name;description;inputSchema;outputSchema;outputSample;implementation;static create(e){new t(e)}constructor(e){this.id=e.id,this.name=e.name,this.description=e.description,this.inputSchema=e.inputSchema,this.outputSchema=e.outputSchema,this.outputSample=e.outputSample,this.implementation=e.implementation}toJSON(){return ie(this)}async call(t){let n=this.inputSchema.safeParse(t);if(!n.success)throw Error(`Invalid input for ${this.id}: ${e.prettifyError(n.error)}`);let r=await this.implementation(n.data),i=this.outputSchema.safeParse(r);if(!i.success)throw Error(`Invalid output for ${this.id}: ${e.prettifyError(i.error)}`);return i.data}},se=class t{type=`subscription`;id;name;description;inputSchema;outputSchema;outputSample;implementation;static create(e){new t(e)}constructor(e){this.id=e.id,this.name=e.name,this.description=e.description,this.inputSchema=e.inputSchema,this.outputSchema=e.outputSchema,this.outputSample=e.outputSample,this.implementation=e.implementation}toJSON(){return ie(this)}async subscribe(t,n){let r=this.inputSchema.safeParse(n);if(!r.success)throw Error(`Invalid input for ${this.id}: ${e.prettifyError(r.error)}`);return await this.implementation(n=>{let r=this.outputSchema.safeParse(n);if(!r.success)throw Error(`Invalid output for ${this.id}: ${e.prettifyError(r.error)}`);t(r.data)},r.data)}},ce=e=>e,le=y(((e,t)=>{var n=self.crypto;function r(e){let t=new Uint8Array(e);return n.getRandomValues(t),t}t.exports={randomBytes:r}})),ue=y(((e,t)=>{var{randomBytes:n}=le(),r=16;t.exports=new class{compare(e,t){let n=e.findIndex((e,n)=>e!==t[n]);return~n&&Math.sign(e[n]-t[n])}generateOneFilled(){return new Uint8Array(r).fill(255)}generateRandomFilled(){return n(r)}generateZeroFilled(){return new Uint8Array(r).fill(0)}}})),de=y(((e,t)=>{var n=class extends Error{get name(){return this.constructor.name}};t.exports={Id128Error:n,ClockSequenceOverflow:class extends n{},InvalidBytes:class extends n{},InvalidEncoding:class extends n{},InvalidEpoch:class extends n{},UnsupportedVersion:class extends n{}}})),x=y(((e,t)=>{var{InvalidEpoch:n}=de(),r=0,i=2**48;t.exports=new class{fromEpoch(e,t){return new Date(t+e)}toEpoch(e,t=null){let a=(t===null?Date.now():Number.isInteger(t)?t:t instanceof Date?t.getTime():(()=>{throw new n(`Failed to coerce time [${t}] to epoch`)})())-e;if(a<r||a>=i)throw new n(`Epoch must be between ${new Date(r+e).toISOString()} and ${new Date(i-1+e).toISOString()}`);return a}}})),fe=y(((e,t)=>{var n=ue(),r=Symbol(`bytes`);t.exports={BaseId:class{constructor(e){this[r]=e}clone(){return new this.constructor(this.bytes.slice())}get bytes(){return this[r]}get[Symbol.toStringTag](){return this.constructor.name}compare(e){return n.compare(this.bytes,e.bytes)}equal(e){return this.compare(e)===0}}}})),pe=y(((e,t)=>{var n=ue(),r=x(),{BaseId:i}=fe(),a=0,o=2**32,s=255;function c(e,t){let n=e%o,r=(e-n)/o,i=-1;t[++i]=r>>>8&s,t[++i]=r>>>0&s,t[++i]=n>>>24&s,t[++i]=n>>>16&s,t[++i]=n>>>8&s,t[++i]=n>>>0&s}t.exports={Ulid:class extends i{static generate({time:e}={}){e=r.toEpoch(a,e);let t=n.generateRandomFilled();return c(e,t),new this(t)}static MIN(){return new this(n.generateZeroFilled())}static MAX(){return new this(n.generateOneFilled())}get time(){let e=-1,t=0|this.bytes[++e]<<8|this.bytes[++e]<<0,n=0|this.bytes[++e]<<24|this.bytes[++e]<<16|this.bytes[++e]<<8|this.bytes[++e]<<0,i=t*o+(n>>>0);return r.fromEpoch(a,i)}},setTime:c}})),me=y(((e,t)=>{var{Ulid:n,setTime:r}=pe(),i=ue(),a=x(),{ClockSequenceOverflow:o}=de(),s=0,c=6,l=8,u=0,d,f;function p(e){for(let t=7;t>5;--t)if(e[t]===255)e[t]=0;else{++e[t];return}throw new o(`Exhausted clock sequence`)}function m(e){e[c]&=127}function h(e){for(let t=s;t<l;++t)e[t]=d.bytes[t]}var g=class extends n{static reset(){f=-1,d=this.MIN()}static generate({time:e}={}){e=a.toEpoch(u,e);let t=i.generateRandomFilled();return e<=f?(h(t),p(t)):(r(e,t),m(t),f=e),d=new this(t)}};g.reset(),t.exports={UlidMonotonic:g}})),he=y(((e,t)=>{var{BaseId:n}=fe(),r=ue(),i=8,a=6;function o(e,t){t[i]&=255>>>e+1,t[i]|=(7<<3-e&7)<<5}function s(e,t){t[a]&=15,t[a]|=e<<4}t.exports={Uuid:class extends n{static MIN(){let e=r.generateZeroFilled();return o(this.VARIANT,e),s(this.VERSION,e),new this(e)}static MAX(){let e=r.generateOneFilled();return o(this.VARIANT,e),s(this.VERSION,e),new this(e)}get variant(){let e=this.bytes[i]>>>5;return e===7?3:(e&6)==6?2:+((e&4)==4)}get version(){return this.bytes[a]>>>4}},setVersion:s,setVariant:o}})),ge=y(((e,t)=>{var{randomBytes:n}=le(),r=Symbol(`mac-address`);t.exports=new class{constructor(){this.reset()}get mac_address(){let e=this[r];return e||(e=this[r]=n(6),e[0]|=1),e}reset(){this[r]=null}}})),_e=y(((e,t)=>{var n=ue(),r=x(),i=ge(),{Uuid:a,setVariant:o,setVersion:s}=he(),c=2,l=8,u=10,d=2**14,f=Date.parse(`1582-10-15Z`),p=2**12,m=2**20,h=255,g,_,v;function y(){g=(g+1)%d}function b(e,t){if(g===null){let e=n.generateRandomFilled();g=(0|e[8]<<8|e[9]<<0)%d}else e<v&&y();let r=7;t[++r]=g>>>8&h,t[++r]=g>>>0&h}function ee(e,t){for(let n=0;n<6;++n)t[u+n]=e[n]}function te(e,t){_=e>v?0:_+1,_===p&&(_=0,y());let n=e%m,r=n*p+_,i=(e-n)/m,a=-1;t[++a]=r>>>24&h,t[++a]=r>>>16&h,t[++a]=r>>>8&h,t[++a]=r>>>0&h,t[++a]=i>>>8&h,t[++a]=i>>>0&h,t[++a]=i>>>24&h,t[++a]=i>>>16&h}var ne=class extends a{static get VARIANT(){return 1}static get VERSION(){return 1}static reset(){g=null,_=-1,v=-1}static generate({node:e,time:t}={}){t=r.toEpoch(f,t);let a=n.generateZeroFilled();return te(t,a),b(t,a),ee(e||i.mac_address,a),o(this.VARIANT,a),s(this.VERSION,a),t>v&&(v=t),new this(a)}get clock_sequence(){return(0|this.bytes[l]<<8|this.bytes[9])&d-1}get hires_time(){return(0|this.bytes[c]<<8|this.bytes[3])&p-1}get node(){return this.bytes.slice(u)}get time(){let e=-1,t=0|this.bytes[++e]<<12|this.bytes[++e]<<4|this.bytes[++e]>>>4;++e;let n=(0|this.bytes[++e]<<8|this.bytes[++e]<<0|(this.bytes[++e]&15)<<24|this.bytes[++e]<<16)*m+t;return r.fromEpoch(f,n)}};ne.reset(),t.exports={Uuid1:ne}})),ve=y(((e,t)=>{var n=ue(),{Uuid:r,setVariant:i,setVersion:a}=he();t.exports={Uuid4:class extends r{static get VARIANT(){return 1}static get VERSION(){return 4}static generate(){let e=n.generateRandomFilled();return i(this.VARIANT,e),a(this.VERSION,e),new this(e)}}}})),ye=y(((e,t)=>{var n=ue(),r=x(),i=ge(),{Uuid:a,setVariant:o,setVersion:s}=he(),c=6,l=8,u=10,d=2**14,f=Date.parse(`1582-10-15Z`),p=2**12,m=2**32,h=255,g,_,v;function y(){g=(g+1)%d}function b(e,t){if(g===null){let e=n.generateRandomFilled();g=(0|e[8]<<8|e[9]<<0)%d}else e<v&&y();let r=7;t[++r]=g>>>8&h,t[++r]=g>>>0&h}function ee(e,t){for(let n=0;n<6;++n)t[u+n]=e[n]}function te(e,t){_=e>v?0:_+1,_===p&&(_=0,y());let n=e%m,r=(e-n)/m,i=-1;t[++i]=r>>>8&h,t[++i]=r>>>0&h,t[++i]=n>>>24&h,t[++i]=n>>>16&h,t[++i]=n>>>8&h,t[++i]=n>>>0&h,t[++i]=_>>>8&h,t[++i]=_>>>0&h}var ne=class extends a{static get VARIANT(){return 1}static get VERSION(){return 6}static reset(){g=null,_=-1,v=-1}static generate({node:e,time:t}={}){t=r.toEpoch(f,t);let a=n.generateZeroFilled();return te(t,a),b(t,a),ee(e||i.mac_address,a),o(this.VARIANT,a),s(this.VERSION,a),t>v&&(v=t),new this(a)}get clock_sequence(){return(0|this.bytes[l]<<8|this.bytes[9])&d-1}get hires_time(){return(0|this.bytes[c]<<8|this.bytes[7])&p-1}get node(){return this.bytes.slice(u)}get time(){let e=-1,t=0|this.bytes[++e]<<8|this.bytes[++e]<<0,n=0|this.bytes[++e]<<24|this.bytes[++e]<<16|this.bytes[++e]<<8|this.bytes[++e]<<0,i=t*m+(n>>>0);return r.fromEpoch(f,i)}};ne.reset(),t.exports={Uuid6:ne}})),be=y(((e,t)=>{var n=ue(),{Uuid:r,setVariant:i,setVersion:a}=he();t.exports={UuidNil:class extends r{static get VARIANT(){return 0}static get VERSION(){return 0}static generate(){let e=n.generateZeroFilled();return i(this.VARIANT,e),a(this.VERSION,e),new this(e)}static MAX(){let e=n.generateZeroFilled();return i(this.VARIANT,e),a(this.VERSION,e),new this(e)}}}})),xe=y(((e,t)=>{var{InvalidEncoding:n,InvalidBytes:r}=de(),i=Symbol(`valid_encoding_pattern`);t.exports={BaseCoder:class{constructor({valid_encoding_pattern:e}={}){this[i]=e}decode(e){if(this.isValidEncoding(e))return this.decodeTrusted(e);throw new n(`Encoding [${e}] does not satisfy ${this[i]}`)}decodeTrusted(e){return ByteArray.generateRandomFilled()}encode(e){if(this.isValidBytes(e))return this.encodeTrusted(e);throw new r(`Requires a 16-byte Uint8Array`)}encodeTrusted(e){return``}isValidBytes(e){return e instanceof Uint8Array&&e.length===16}isValidEncoding(e){return(typeof e==`string`||e instanceof String)&&this[i].test(e)}}}})),Se=y(((e,t)=>{var{BaseCoder:n}=xe(),r=`0123456789ABCDEFGHJKMNPQRSTVWXYZ`,i=31,a=Array.from(r).reduce((e,t,n)=>(e[t]=e[t.toLowerCase()]=n,e),{I:r.indexOf(`1`),i:r.indexOf(`1`),L:r.indexOf(`1`),l:r.indexOf(`1`),O:r.indexOf(`0`),o:r.indexOf(`0`),U:r.indexOf(`V`),u:r.indexOf(`V`)}),o=Array.from(r);function s(e){return a[e]}function c(e){return o[e&i]}t.exports=new class extends n{constructor(){super({valid_encoding_pattern:/^[0-7][^\W_]{25}$/})}decodeTrusted(e){let t=new Uint8Array(16),n=[];for(let t=0,r=e.length;t<r;++t)n.push(s(e[t]));return t[0]=n[0]<<5|n[1],t[1]=n[2]<<3|n[3]>>2,t[2]=n[3]<<6|n[4]<<1|n[5]>>4,t[3]=n[5]<<4|n[6]>>1,t[4]=n[6]<<7|n[7]<<2|n[8]>>3,t[5]=n[8]<<5|n[9],t[6]=n[10]<<3|n[11]>>2,t[7]=n[11]<<6|n[12]<<1|n[13]>>4,t[8]=n[13]<<4|n[14]>>1,t[9]=n[14]<<7|n[15]<<2|n[16]>>3,t[10]=n[16]<<5|n[17],t[11]=n[18]<<3|n[19]>>2,t[12]=n[19]<<6|n[20]<<1|n[21]>>4,t[13]=n[21]<<4|n[22]>>1,t[14]=n[22]<<7|n[23]<<2|n[24]>>3,t[15]=n[24]<<5|n[25],t}encodeTrusted(e){let t=[e[0]>>5,e[0],e[1]>>3,e[1]<<2|e[2]>>6,e[2]>>1,e[2]<<4|e[3]>>4,e[3]<<1|e[4]>>7,e[4]>>2,e[4]<<3|e[5]>>5,e[5],e[6]>>3,e[6]<<2|e[7]>>6,e[7]>>1,e[7]<<4|e[8]>>4,e[8]<<1|e[9]>>7,e[9]>>2,e[9]<<3|e[10]>>5,e[10],e[11]>>3,e[11]<<2|e[12]>>6,e[12]>>1,e[12]<<4|e[13]>>4,e[13]<<1|e[14]>>7,e[14]>>2,e[14]<<3|e[15]>>5,e[15]],n=``;for(let e=0,r=t.length;e<r;++e)n+=c(t[e]);return n}}})),Ce=y(((e,t)=>{var{BaseCoder:n}=xe(),r=`0123456789ABCDEF`,i=Array.from({length:256}).map((e,t)=>``+r.charAt(t/16)+r.charAt(t%16)),a=Array.from(r).reduce((e,t,n)=>Object.assign(e,{[t.toUpperCase()]:n,[t.toLowerCase()]:n}),Object.create(null));t.exports=new class extends n{constructor(){super({valid_encoding_pattern:/^[0-9A-Fa-f]{32}$/})}decodeTrusted(e){let t=new Uint8Array(16);for(let n=0,r=!0,i=0,o=e.length;i<o;++i){let o=e[i];r?t[n]=a[o]<<4:t[n++]|=a[o],r=!r}return t}encodeTrusted(e){let t=``;for(let n=0,r=e.length;n<r;++n)t+=i[e[n]];return t}}})),we=y(((e,t)=>{var{BaseCoder:n}=xe(),r=`0123456789ABCDEF`,i=Array.from({length:256}).map((e,t)=>``+r.charAt(t/16)+r.charAt(t%16)),a=Array.from(r).reduce((e,t,n)=>Object.assign(e,{[t.toUpperCase()]:n,[t.toLowerCase()]:n}),Object.create(null));t.exports=new class extends n{constructor(){super({valid_encoding_pattern:/^[0-9A-Fa-f]{4}(?:-?[0-9A-Fa-f]{4}){7}$/})}decodeTrusted(e){let t=new Uint8Array(16);for(let n=0,r=!0,i=0,o=e.length;i<o;++i){let o=e[i];o!==`-`&&(r?t[n]=a[o]<<4:t[n++]|=a[o],r=!r)}return t}encodeTrusted(e){let t=-1;return``+i[e[++t]]+i[e[++t]]+i[e[++t]]+i[e[++t]]+`-`+i[e[++t]]+i[e[++t]]+`-`+i[e[++t]]+i[e[++t]]+`-`+i[e[++t]]+i[e[++t]]+`-`+i[e[++t]]+i[e[++t]]+i[e[++t]]+i[e[++t]]+i[e[++t]]+i[e[++t]]}}})),Te=y(((e,t)=>{var n=Symbol(`id`),r=Symbol(`canonical_coder`),i=Symbol(`raw_coder`);t.exports={IdFactory:class{constructor({id:e,canonical_coder:t,raw_coder:a}={}){this[n]=class extends e{static get name(){return e.name}static get[Symbol.species](){return e}get[Symbol.toStringTag](){return`${e.name} ${this.toRaw()}`}toCanonical(){return t.encodeTrusted(this.bytes)}toRaw(){return a.encodeTrusted(this.bytes)}},this[r]=t,this[i]=a}get name(){return this[n].name}get type(){return this[n][Symbol.species]}construct(e){return new this[n](e)}generate(){return this[n].generate(...arguments)}MIN(){return this[n].MIN(...arguments)}MAX(){return this[n].MAX(...arguments)}fromCanonical(e){return this.construct(this[r].decode(e))}fromCanonicalTrusted(e){return this.construct(this[r].decodeTrusted(e))}fromRaw(e){return this.construct(this[i].decode(e))}fromRawTrusted(e){return this.construct(this[i].decodeTrusted(e))}toCanonical(e){return this[r].encode(e.bytes)}toRaw(e){return this[i].encode(e.bytes)}compare(e,t){return console.warn(`Deprecated: use generic idCompare instead.`),e.compare(t)}equal(e,t){return console.warn(`Deprecated: use generic idEqual instead.`),e.equal(t)}isCanonical(e){return this[r].isValidEncoding(e)}isRaw(e){return this[i].isValidEncoding(e)}}}})),Ee=y(((e,t)=>{var{IdFactory:n}=Te(),{UnsupportedVersion:r}=de(),i=Symbol(`id_by_version`);function a(e,{version:t}={}){return e[i][t]||(()=>{throw new r(`No support for version [${t}]`)})()}t.exports={VersionedIdFactory:class extends n{constructor({abstract_id:e,versioned_ids:t,canonical_coder:r,raw_coder:a}){super({id:e,canonical_coder:r,raw_coder:a}),this[i]=t.reduce((e,t)=>Object.assign(e,{[t.MIN().version]:new n({id:t,canonical_coder:r,raw_coder:a})}),Object.create(null))}get versioned_ids(){return Object.values(this[i])}construct(e){let t=super.construct(e),n=t.version;try{return a(this,{version:n}).construct(e)}catch(e){if(e instanceof r)return t;throw e}}generate(){return a(this,...arguments).generate(...arguments)}MIN(){return a(this,...arguments).MIN()}MAX(){return a(this,...arguments).MAX()}}}})),De=te(y(((e,t)=>{var{Ulid:n}=pe(),{UlidMonotonic:r}=me(),{Uuid:i}=he(),{Uuid1:a}=_e(),{Uuid4:o}=ve(),{Uuid6:s}=ye(),{UuidNil:c}=be(),l=Se(),u=Ce(),d=we(),{IdFactory:f}=Te(),{VersionedIdFactory:p}=Ee(),m={idCompare:function(e,t){return e.compare(t)},idEqual:function(e,t){return e.equal(t)},Exception:de(),Ulid:new f({id:n,canonical_coder:l,raw_coder:u}),UlidMonotonic:new f({id:r,canonical_coder:l,raw_coder:u}),Uuid:new p({abstract_id:i,versioned_ids:[a,o,s,c],canonical_coder:d,raw_coder:u})};m.Uuid.versioned_ids.reduce((e,t)=>Object.assign(e,{[t.name]:t}),m),t.exports=m}))(),1),Oe=e=>De.default.UlidMonotonic.generate({time:e}).toCanonical(),ke=class{#e;constructor(e){this.#e=e}log(e,t,...n){for(let r of this.#e)r.log(e,t,...n)}async flush(){await Promise.all(this.#e.map(e=>e.flush?.()))}},Ae=class{debug=void 0;info=void 0;warn=void 0;error=void 0;flush;#e;#t;constructor(e,t=`info`,n){switch(this.#e=e,this.#t=n,t){case`debug`:this.debug=this.#n;case`info`:this.info=this.#r;case`warn`:this.warn=this.#i;case`error`:this.error=this.#a}this.flush=this.#o}#n(...e){this.#e.log(`debug`,this.#t,...e)}#r(...e){this.#e.log(`info`,this.#t,...e)}#i(...e){this.#e.log(`warn`,this.#t,...e)}#a(...e){this.#e.log(`error`,this.#t,...e)}#o(){return this.#e.flush?.()??Promise.resolve()}},je={log(e,t,...n){console[e](...Ne(t),...n.map(Pe))}},Me=class e extends Ae{#e;#t;#n;constructor(e=`info`,t,n=je){super(n,e,t),this.#t=e,this.#e=n,this.#n=t}withContext(t,n){let r={...this.#n,[t]:n};return new e(this.#t,r,this.#e)}};function Ne(e){let t=[];for(let[n,r]of Object.entries(e??{})){let e=r===void 0?n:`${n}=${r}`;t.push(e)}return t}function Pe(e){switch(typeof e){case`string`:case`number`:case`boolean`:case`undefined`:case`symbol`:case`bigint`:return e;case`object`:if(e===null)return null}return JSON.stringify(e,Fe)}function Fe(e,t){return t instanceof Error?{name:t.name,message:t.message,stack:t.stack,...`cause`in t?{cause:t.cause}:null}:t}function S(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var Ie=class{_lockP=null;async lock(){let e=this._lockP,{promise:t,resolve:n}=S();return this._lockP=t,await e,n}withLock(e){return Re(this.lock(),e)}},Le=class{_lock=new Ie;_writeP=null;_readP=[];read(){return this._lock.withLock(async()=>{await this._writeP;let{promise:e,resolve:t}=S();return this._readP.push(e),t})}withRead(e){return Re(this.read(),e)}async write(){return await this._lock.withLock(async()=>{await this._writeP,await Promise.all(this._readP);let{promise:e,resolve:t}=S();return this._writeP=e,this._readP=[],t})}withWrite(e){return Re(this.write(),e)}};async function Re(e,t){let n=await e;try{return await t()}finally{n()}}var ze=b({ValitaError:()=>Je,array:()=>Ut,bigint:()=>Pt,boolean:()=>Rt,err:()=>Ze,lazy:()=>Kt,literal:()=>Bt,never:()=>wt,null:()=>At,number:()=>Mt,object:()=>Vt,ok:()=>Xe,record:()=>Ht,string:()=>It,tuple:()=>Wt,undefined:()=>Ot,union:()=>Gt,unknown:()=>Et});function Be(e,t){return e?{ok:!1,code:`join`,left:e,right:t}:t}function Ve(e,t){return{ok:!1,code:`prepend`,key:e,tree:t}}function He(e,t){let n=e.code;switch(n){case`invalid_type`:return{code:n,path:t,expected:e.expected};case`invalid_literal`:return{code:n,path:t,expected:e.expected};case`missing_value`:return{code:n,path:t};case`invalid_length`:return{code:n,path:t,minLength:e.minLength,maxLength:e.maxLength};case`unrecognized_keys`:return{code:n,path:t,keys:e.keys};case`invalid_union`:return{code:n,path:t,tree:e.tree};case`custom_error`:return{code:n,path:t,error:e.error}}}function Ue(e,t=[],n=[]){for(;;)if(e.code===`join`)Ue(e.left,t.slice(),n),e=e.right;else if(e.code===`prepend`)t.push(e.key),e=e.tree;else return e.code===`custom_error`&&typeof e.error==`object`&&e.error.path!==void 0&&t.push(...e.error.path),n.push(He(e,t)),n}function We(e,t){return e.length===0?`nothing`:e.length===1?e[0]:`${e.slice(0,-1).join(`, `)} ${t} ${e[e.length-1]}`}function Ge(e){return typeof e==`bigint`?`${e}n`:JSON.stringify(e)}function Ke(e){let t=0;for(;;)if(e.code===`join`)t+=Ke(e.left),e=e.right;else if(e.code===`prepend`)e=e.tree;else return t+1}function qe(e){let t=``,n=0;for(;;)if(e.code===`join`)n+=Ke(e.right),e=e.left;else if(e.code===`prepend`)t+=`.${e.key}`,e=e.tree;else break;let r=`validation failed`;if(e.code===`invalid_type`)r=`expected ${We(e.expected,`or`)}`;else if(e.code===`invalid_literal`)r=`expected ${We(e.expected.map(Ge),`or`)}`;else if(e.code===`missing_value`)r=`missing value`;else if(e.code===`unrecognized_keys`){let t=e.keys;r=`unrecognized ${t.length===1?`key`:`keys`} ${We(t.map(Ge),`and`)}`}else if(e.code===`invalid_length`){let t=e.minLength,n=e.maxLength;r=`expected an array with `,r+=t>0?n===t?`${t}`:n===void 0?`at least ${t}`:`between ${t} and ${n}`:`at most ${n??`∞`}`,r+=` item(s)`}else if(e.code===`custom_error`){let n=e.error;typeof n==`string`?r=n:n!==void 0&&(n.message!==void 0&&(r=n.message),n.path!==void 0&&(t+=`.`+n.path.join(`.`)))}let i=`${e.code} at .${t.slice(1)} (${r})`;return n===1?i+=` (+ 1 other issue)`:n>1&&(i+=` (+ ${n} other issues)`),i}var Je=class extends Error{constructor(e){super(qe(e)),this.issueTree=e,Object.setPrototypeOf(this,new.target.prototype),this.name=new.target.name,this._issues=void 0}get issues(){return this._issues===void 0&&(this._issues=Ue(this.issueTree)),this._issues}},Ye=class{constructor(e){this.issueTree=e,this.ok=!1,this._issues=void 0,this._message=void 0}get issues(){return this._issues===void 0&&(this._issues=Ue(this.issueTree)),this._issues}get message(){return this._message===void 0&&(this._message=qe(this.issueTree)),this._message}throw(){throw new Je(this.issueTree)}};function Xe(e){return{ok:!0,value:e}}function Ze(e){return new Ye({ok:!1,code:`custom_error`,error:e})}function Qe(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var $e=1,et=2,tt=4,nt=class{optional(e){let t=new it(this);return e?new xt(t,t=>t===void 0?{ok:!0,value:e()}:void 0):t}default(e){let t=Xe(e);return new xt(this.optional(),e=>e===void 0?t:void 0)}assert(e,t){let n={ok:!1,code:`custom_error`,error:t};return new xt(this,(t,r)=>e(t,r)?void 0:n)}map(e){return new xt(this,(t,n)=>({ok:!0,value:e(t,n)}))}chain(e){return new xt(this,(t,n)=>{let r=e(t,n);return r.ok?r:r.issueTree})}},C=class extends nt{nullable(){return new rt(this)}toTerminals(e){e(this)}try(e,t){let n=$e;t?.mode===`passthrough`?n=0:t?.mode===`strip`&&(n=et);let r=this.func(e,n);return r===void 0?{ok:!0,value:e}:r.ok?{ok:!0,value:r.value}:new Ye(r)}parse(e,t){let n=$e;t?.mode===`passthrough`?n=0:t?.mode===`strip`&&(n=et);let r=this.func(e,n);if(r===void 0)return e;if(r.ok)return r.value;throw new Je(r)}},rt=class extends C{constructor(e){super(),this.type=e,this.name=`nullable`}func(e,t){return e===null?void 0:this.type.func(e,t)}toTerminals(e){e(kt),this.type.toTerminals(e)}nullable(){return this}},it=class extends nt{constructor(e){super(),this.type=e,this.name=`optional`}func(e,t){return e===void 0||t&tt?void 0:this.type.func(e,t)}toTerminals(e){e(this),e(Dt),this.type.toTerminals(e)}optional(e){return e?new xt(this,t=>t===void 0?{ok:!0,value:e()}:void 0):this}};function at(e,t){if(typeof e!=`number`){let n=t>>5;for(let t=e.length;t<=n;t++)e.push(0);return e[n]|=1<<t%32,e}return t<32?e|1<<t:at([e,0],t)}function ot(e,t){return typeof e==`number`?t<32?e>>>t&1:0:e[t>>5]>>>t%32&1}var st=class e extends C{constructor(e,t,n){super(),this.shape=e,this.restType=t,this.checks=n,this.name=`object`,this._invalidType={ok:!1,code:`invalid_type`,expected:[`object`]}}check(t,n){let r={ok:!1,code:`custom_error`,error:n};return new e(this.shape,this.restType,[...this.checks??[],{func:t,issue:r}])}func(e,t){if(!Qe(e))return this._invalidType;let n=this._func;return n===void 0&&(n=ct(this.shape,this.restType,this.checks),this._func=n),n(e,t)}rest(t){return new e(this.shape,t)}extend(t){return new e(Object.assign(Object.assign({},this.shape),t),this.restType)}pick(...t){let n={};return t.forEach(e=>{n[e]=this.shape[e]}),new e(n,void 0)}omit(...t){let n=Object.assign({},this.shape);return t.forEach(e=>{delete n[e]}),new e(n,this.restType)}partial(){let t={};Object.keys(this.shape).forEach(e=>{t[e]=this.shape[e].optional()});let n=this.restType?.optional();return new e(t,n)}};function ct(e,t,n){let r=[],i=[];for(let t in e){let n=!1;e[t].toTerminals(e=>{n||=e.name===`optional`}),n?i.push(t):r.push(t)}let a=[...r,...i],o=a.length;if(o===0&&t?.name===`unknown`)return function(e,t){if(n!==void 0){for(let t=0;t<n.length;t++)if(!n[t].func(e))return n[t].issue}};let s=a.map(t=>e[t]),c=r.length,l=Object.create(null);a.forEach((e,t)=>{l[e]=~t});let u=r.map(e=>Ve(e,{ok:!1,code:`missing_value`}));function d(e,t,n){t===`__proto__`?Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0}):e[t]=n}return function(e,r){let i=!1,f=e,p,m,h=0,g=0;if(r&$e||r&et||t!==void 0)for(let n in e){let c=e[n],u=~l[n],_;if(u>=0)g++,h=at(h,u),_=s[u].func(c,r);else if(t!==void 0)_=t.func(c,r);else{if(r&$e)m===void 0?m=[n]:m.push(n);else if(r&et&&p===void 0&&!i){f={},i=!0;for(let t=0;t<o;t++)if(ot(h,t)){let n=a[t];d(f,n,e[n])}}continue}if(_===void 0)i&&p===void 0&&d(f,n,c);else if(!_.ok)p=Be(p,Ve(n,_));else if(p===void 0){if(!i)if(f={},i=!0,t===void 0){for(let t=0;t<o;t++)if(t!==u&&ot(h,t)){let n=a[t];d(f,n,e[n])}}else for(let t in e)d(f,t,e[t]);d(f,n,_.value)}}if(g<o)for(let n=0;n<o;n++){if(ot(h,n))continue;let l=a[n],m=e[l],g=r&-5;if(m===void 0&&!(l in e)){if(n<c){p=Be(p,u[n]);continue}g|=tt}let _=s[n].func(m,g);if(_===void 0)i&&p===void 0&&!(g&tt)&&d(f,l,m);else if(!_.ok)p=Be(p,Ve(l,_));else if(p===void 0){if(!i)if(f={},i=!0,t===void 0){for(let t=0;t<o;t++)if(t<n||ot(h,t)){let n=a[t];d(f,n,e[n])}}else{for(let t in e)d(f,t,e[t]);for(let t=0;t<n;t++)if(!ot(h,t)){let n=a[t];d(f,n,e[n])}}d(f,l,_.value)}}if(m!==void 0&&(p=Be(p,{ok:!1,code:`unrecognized_keys`,keys:m})),p===void 0&&n!==void 0){for(let e=0;e<n.length;e++)if(!n[e].func(f))return n[e].issue}return p===void 0&&i?{ok:!0,value:f}:p}}var lt=class e extends C{constructor(e,t,n){super(),this.prefix=e,this.rest=t,this.suffix=n,this.name=`array`,this.restType=t??wt(),this.minLength=this.prefix.length+this.suffix.length,this.maxLength=t?void 0:this.minLength,this.invalidType={ok:!1,code:`invalid_type`,expected:[`array`]},this.invalidLength={ok:!1,code:`invalid_length`,minLength:this.minLength,maxLength:this.maxLength}}func(e,t){if(!Array.isArray(e))return this.invalidType;let n=e.length,r=this.minLength,i=this.maxLength??1/0;if(n<r||n>i)return this.invalidLength;let a=this.prefix.length,o=e.length-this.suffix.length,s,c=e;for(let n=0;n<e.length;n++){let r=(n<a?this.prefix[n]:n>=o?this.suffix[n-o]:this.restType).func(e[n],t);r!==void 0&&(r.ok?(c===e&&(c=e.slice()),c[n]=r.value):s=Be(s,Ve(n,r)))}return s||(e===c?void 0:{ok:!0,value:c})}concat(t){if(this.rest){if(t.rest)throw TypeError(`can not concatenate two variadic types`);return new e(this.prefix,this.rest,[...this.suffix,...t.prefix,...t.suffix])}return t.rest?new e([...this.prefix,...this.suffix,...t.prefix],t.rest,t.suffix):new e([...this.prefix,...this.suffix,...t.prefix,...t.suffix],t.rest,t.suffix)}};function ut(e){let t=typeof e;return t===`object`?e===null?`null`:Array.isArray(e)?`array`:t:t}function dt(e){return Array.from(new Set(e))}function ft(e){let t=new Map;e.forEach(e=>{for(let n in e)t.set(n,(t.get(n)??0)+1)});let n=[];return t.forEach((t,r)=>{t===e.length&&n.push(r)}),n}function pt(e){let t=new Map,n=new Map,r=new Map,i=[],a=[],o=[];e.forEach(({root:e,terminal:s})=>{if(t.set(e,t.get(e)??t.size),s.name!==`never`)if(s.name===`optional`)a.push(e);else if(s.name===`unknown`)i.push(e);else if(s.name===`literal`){let t=n.get(s.value)??[];t.push(e),n.set(s.value,t),o.push(ut(s.value))}else{let t=r.get(s.name)??[];t.push(e),r.set(s.name,t),o.push(s.name)}}),n.forEach((e,t)=>{let i=r.get(ut(t));i&&(i.push(...e),n.delete(t))});let s=(e,n)=>(t.get(e)??0)-(t.get(n)??0);return r.forEach((e,t)=>r.set(t,dt(e.concat(i).sort(s)))),n.forEach((e,t)=>n.set(t,dt(e.concat(i)).sort(s))),{types:r,literals:n,unknowns:dt(i).sort(s),optionals:dt(a).sort(s),expectedTypes:dt(o)}}function mt(e,t){let n=[];for(let{root:r,terminal:i}of e)i.shape[t].toTerminals(e=>n.push({root:r,terminal:e}));let{types:r,literals:i,optionals:a,unknowns:o,expectedTypes:s}=pt(n);if(o.length>0||a.length>1)return;for(let e of i.values())if(e.length>1)return;for(let e of r.values())if(e.length>1)return;let c=Ve(t,{ok:!1,code:`missing_value`}),l=Ve(t,r.size===0?{ok:!1,code:`invalid_literal`,expected:Array.from(i.keys())}:{ok:!1,code:`invalid_type`,expected:s}),u=i.size>0?new Map:void 0;for(let[e,t]of i)u.set(e,t[0]);let d=r.size>0?{}:void 0;for(let[e,t]of r)d[e]=t[0];return function(e,n){let r=e,i=r[t];if(i===void 0&&!(t in r))return a.length>0?a[0].func(r,n):c;let o=d?.[ut(i)]??u?.get(i);return o?o.func(r,n):l}}function ht(e){if(e.some(({terminal:e})=>e.name===`unknown`))return;let t=e.filter(e=>e.terminal.name===`object`);if(t.length<2)return;let n=t.map(({terminal:e})=>e.shape);for(let e of ft(n)){let n=mt(t,e);if(n)return n}}function gt(e){let{expectedTypes:t,literals:n,types:r,unknowns:i,optionals:a}=pt(e),o=r.size===0&&i.length===0?{ok:!1,code:`invalid_literal`,expected:Array.from(n.keys())}:{ok:!1,code:`invalid_type`,expected:t},s=n.size>0?n:void 0,c=r.size>0?{}:void 0;for(let[e,t]of r)c[e]=t;return function(e,t){let n=t&tt?a:c?.[ut(e)]??s?.get(e)??i,r=0,l=o;for(let i=0;i<n.length;i++){let a=n[i].func(e,t);if(a===void 0||a.ok)return a;l=r>0?Be(l,a):a,r++}return r>1?{ok:!1,code:`invalid_union`,tree:l}:l}}var _t=class extends C{constructor(e){super(),this.options=e,this.name=`union`}toTerminals(e){this.options.forEach(t=>{t.toTerminals(e)})}func(e,t){let n=this._func;if(n===void 0){let e=[];this.options.forEach(t=>{t.toTerminals(n=>{e.push({root:t,terminal:n})})});let t=gt(e),r=ht(e);n=r?function(e,n){return Qe(e)?r(e,n):t(e,n)}:t,this._func=n}return n(e,t)}},vt=Object.freeze({mode:`strict`}),yt=Object.freeze({mode:`strip`}),bt=Object.freeze({mode:`passthrough`}),xt=class e extends C{constructor(e,t){super(),this.transformed=e,this.transform=t,this.name=`transform`,this.undef=Xe(void 0),this.transformChain=void 0,this.transformRoot=void 0}func(t,n){let r=this.transformChain;if(!r){r=[];let t=this;for(;t instanceof e;)r.push(t.transform),t=t.transformed;r.reverse(),this.transformChain=r,this.transformRoot=t}let i=this.transformRoot.func(t,n);if(i!==void 0&&!i.ok)return i;let a;i===void 0?n&tt?(a=void 0,i=this.undef):a=t:a=i.value;let o=n&$e?vt:n&et?yt:bt;for(let e=0;e<r.length;e++){let t=r[e](a,o);if(t!==void 0){if(!t.ok)return t;a=t.value,i=t}}return i}toTerminals(e){this.transformed.toTerminals(e)}},St=class extends C{constructor(e){super(),this.definer=e,this.name=`lazy`,this.recursing=!1}func(e,t){return this.type||=this.definer(),this.type.func(e,t)}toTerminals(e){if(!this.recursing)try{this.recursing=!0,this.type||=this.definer(),this.type.toTerminals(e)}finally{this.recursing=!1}}},Ct=new class extends C{constructor(){super(...arguments),this.name=`never`,this.issue={ok:!1,code:`invalid_type`,expected:[]}}func(e,t){return this.issue}};function wt(){return Ct}var Tt=new class extends C{constructor(){super(...arguments),this.name=`unknown`}func(e,t){}};function Et(){return Tt}var Dt=new class extends C{constructor(){super(...arguments),this.name=`undefined`,this.issue={ok:!1,code:`invalid_type`,expected:[`undefined`]}}func(e,t){return e===void 0?void 0:this.issue}};function Ot(){return Dt}var kt=new class extends C{constructor(){super(...arguments),this.name=`null`,this.issue={ok:!1,code:`invalid_type`,expected:[`null`]}}func(e,t){return e===null?void 0:this.issue}};function At(){return kt}var jt=new class extends C{constructor(){super(...arguments),this.name=`number`,this.issue={ok:!1,code:`invalid_type`,expected:[`number`]}}func(e,t){return typeof e==`number`?void 0:this.issue}};function Mt(){return jt}var Nt=new class extends C{constructor(){super(...arguments),this.name=`bigint`,this.issue={ok:!1,code:`invalid_type`,expected:[`bigint`]}}func(e,t){return typeof e==`bigint`?void 0:this.issue}};function Pt(){return Nt}var Ft=new class extends C{constructor(){super(...arguments),this.name=`string`,this.issue={ok:!1,code:`invalid_type`,expected:[`string`]}}func(e,t){return typeof e==`string`?void 0:this.issue}};function It(){return Ft}var Lt=new class extends C{constructor(){super(...arguments),this.name=`boolean`,this.issue={ok:!1,code:`invalid_type`,expected:[`boolean`]}}func(e,t){return typeof e==`boolean`?void 0:this.issue}};function Rt(){return Lt}var zt=class extends C{constructor(e){super(),this.value=e,this.name=`literal`,this.issue={ok:!1,code:`invalid_literal`,expected:[e]}}func(e,t){return e===this.value?void 0:this.issue}};function Bt(e){return new zt(e)}function Vt(e){return new st(e,void 0)}function Ht(e){return new st({},e??Et())}function Ut(e){return new lt([],e??Et(),[])}function Wt(e){return new lt(e,void 0,[])}function Gt(...e){return new _t(e)}function Kt(e){return new St(e)}var qt=Object.defineProperty,Jt=Object.getOwnPropertyDescriptor,Yt=Object.getOwnPropertyNames,Xt=Object.prototype.hasOwnProperty,Zt=(e,t)=>{for(var n in t)qt(e,n,{get:t[n],enumerable:!0})},Qt=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let i of Yt(t))!Xt.call(e,i)&&i!==n&&qt(e,i,{get:()=>t[i],enumerable:!(r=Jt(t,i))||r.enumerable});return e},$t=(e,t,n)=>(Qt(e,t,`default`),n&&Qt(n,t,`default`)),en=class extends Error{name=`AbortError`};function w(e,t=`Assertion failed`){if(!e)throw Error(t)}function T(e){nn(e,`string`)}function E(e){nn(e,`number`)}function tn(e){nn(e,`boolean`)}function nn(e,t){typeof e!==t&&on(e,t)}function D(e){e===null&&on(e,`object`),nn(e,`object`)}function rn(e){Array.isArray(e)||on(e,`array`)}function an(e,t){let n=`Invalid type: `;return n+=e==null?e:`${typeof e} \`${e}\``,n+`, expected ${t}`}function on(e,t){throw Error(an(e,t))}function sn(e){if(e===null)throw Error(`Expected non-null value`)}function cn(e,t=`Expected non undefined value`){if(e===void 0)throw Error(t)}function ln(e){throw Error(`Unreachable`)}function un(){return typeof document<`u`?document:void 0}function dn(e,t,n){return e?new fn(e,t,n):new hn}var fn=class{#e;#t;#n=0;visibilityState;#r=new Set;constructor(e,t,n){this.#e=e,this.#t=t,this.visibilityState=e.visibilityState,this.#e.addEventListener(`visibilitychange`,this.#i,{signal:n})}#i=()=>{this.#e.visibilityState===`visible`?(clearTimeout(this.#n),this.#a(`visible`)):this.#n=setTimeout(()=>{this.#a(`hidden`)},this.#t)};#a(e){if(e!==this.visibilityState){this.visibilityState=e;for(let t of this.#r){let{resolve:n,state:r}=t;r===e&&(n(),this.#r.delete(t))}}}waitForVisible(){return this.#o(`visible`)}waitForHidden(){return this.#o(`hidden`)}#o(e){if(this.visibilityState===e)return Promise.resolve();let{promise:t,resolve:n}=S();return this.#r.add({resolve:n,state:e}),t}},pn=Promise.resolve(),mn=new Promise(()=>{}),hn=class{visibilityState=`visible`;waitForVisible(){return pn}waitForHidden(){return mn}},gn=class{rep;invokeSend;maxConnections=1;constructor(e,t){this.rep=e,this.invokeSend=t}get maxDelayMs(){return this.rep.requestOptions.maxDelayMs}get minDelayMs(){return this.rep.requestOptions.minDelayMs}},_n=class extends gn{debounceDelay=0;get watchdogTimer(){return this.rep.pullInterval}},vn=class extends gn{get debounceDelay(){return this.rep.pushDelay}watchdogTimer=null},yn=Promise.resolve();new Promise(()=>{});function bn(e,t){return e===0?yn:new Promise((n,r)=>{let i;t&&(i=()=>{clearTimeout(a),r(new en(`Aborted`))},t.addEventListener(`abort`,i,{once:!0}));let a=setTimeout(()=>{n(),t?.removeEventListener(`abort`,i)},e)})}var xn=30,Sn=6e4,Cn=class{#e=S();#t=S();#n=S();#r;#i=!1;#a=0;#o;#s;constructor(e,t,n){this.#o=e,this.#r=t,this.#s=n,this.run()}close(){this.#i=!0,this.#a>0&&this.#n.resolve({error:Tn()})}async send(e){if(this.#i)return{error:Tn()};this.#a++,this.#o.debug?.(`send`,e),e?this.#t.resolve():await this.#s?.waitForVisible(),this.#e.resolve();let t=await this.#n.promise;return this.#a--,t}async run(){let e=[],t=S(),n,r=0,i=this.#r,{debug:a}=this.#o,o=0;a?.(`Starting connection loop`);let s=e=>Promise.race([this.#t.promise,bn(e)]);for(;!this.#i;){a?.(On(e)?`Last request failed. Trying again`:`Waiting for a send`);let c=[this.#e.promise],l=i.watchdogTimer;if(l!==null&&c.push(bn(l)),await Promise.race(c),this.#i||(a?.(`Waiting for debounce`),await s(i.debounceDelay),this.#i))break;if(a?.(`debounced`),this.#e=S(),r>=i.maxConnections){if(a?.(`Too many request in flight. Waiting until one finishes...`),await this.#u(),this.#i)break;a?.(`...finished`)}r>0||On(e)?(o=En(o,i,e),a?.(On(e)?`Last connection errored. Sleeping for`:`More than one outstanding connection (`+r+`). Sleeping for`,o,`ms`)):o=0;let u=Math.min(i.maxDelayMs,Math.max(i.minDelayMs,o));if(n!==void 0){let e=Date.now()-n;if(u>e&&(await Promise.race([s(u-e),t.promise]),this.#i))break}r++,(async()=>{let o=Date.now(),s,c;try{n=o,a?.(`Sending request`),this.#t=S(),s=await i.invokeSend(),a?.(`Send returned`,s)}catch(e){a?.(`Send failed`,e),c=e,s=!1}if(this.#i){a?.(`Closed after invokeSend`);return}a?.(`Request done`,{duration:Date.now()-o,ok:s}),e.push({duration:Date.now()-o,ok:s}),kn(e)&&(t.resolve(),t=S()),r--,this.#l();let l=this.#n;this.#n=S(),c?l.resolve({error:c}):l.resolve(void 0),s||this.#e.resolve()})()}}#c=void 0;#l(){if(this.#c){let e=this.#c;this.#c=void 0,e()}}#u(){let{promise:e,resolve:t}=S();return this.#c=t,e}},wn=9;function Tn(){return Error(`Closed`)}function En(e,t,n){let{length:r}=n;if(r===0)return e;let{ok:i}=n[n.length-1],{maxConnections:a,minDelayMs:o}=t;if(!i)return e===0?o:e*2;if(r>1){let e=n[n.length-2];for(;n.length>wn;)n.shift();if(i&&!e.ok)return o}return Dn(n.filter(({ok:e})=>e).map(({duration:e})=>e))/a|0}function Dn(e){e.sort();let{length:t}=e,n=t>>1;return t%2==1?e[n]:(e[n-1]+e[n])/2}function On(e){return e.length>0&&!e[e.length-1].ok}function kn(e){return e.length>1&&!e[e.length-2].ok&&e[e.length-1].ok}var An=process.env.NODE_ENV===`production`,jn=Object.prototype.hasOwnProperty,Mn=Object.hasOwn||((e,t)=>jn.call(e,t));function Nn(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;switch(typeof e){case`boolean`:case`number`:case`string`:return!1}if(e=e,Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!Nn(e[n],t[n]))return!1;return!0}if(e===null||t===null||Array.isArray(t))return!1;e=e,t=t;let n=0;for(let r in e)if(Mn(e,r)){if(!Nn(e[r],t[r]))return!1;n++}let r=0;for(let e in t)Mn(t,e)&&r++;return n===r}function Pn(e){if(!An){switch(typeof e){case`boolean`:case`number`:case`string`:return;case`object`:return e===null?void 0:Array.isArray(e)?Ln(e):In(e)}on(e,`JSON value`)}}function Fn(e){D(e),In(e)}function In(e){for(let t in e)if(Mn(e,t)){let n=e[t];n!==void 0&&Pn(n)}}function Ln(e){for(let t of e)Pn(t)}function Rn(e,t){switch(typeof e){case`boolean`:case`number`:case`string`:return!0;case`object`:return e===null?!0:Array.isArray(e)?Vn(e,t):Bn(e,t)}return!1}function zn(e,t){return typeof e!=`object`||!e?!1:Bn(e,t)}function Bn(e,t){for(let n in e)if(Mn(e,n)){t.push(n);let r=e[n];if(r!==void 0&&!Rn(r,t))return!1;t.pop()}return!0}function Vn(e,t){for(let n=0;n<e.length;n++){if(t.push(n),!Rn(e[n],t))return!1;t.pop()}return!0}function Hn(e,t){return e===t?0:e<t?-1:1}function Un(e,t){if(e===t)return 0;if(e===null)return-1;if(t===null)return 1;let n=Wn(e),r=Wn(t);return typeof n==`string`||typeof r==`string`?Hn(String(n),String(r)):n-r}function Wn(e){return typeof e==`string`||typeof e==`number`?e:e.order}function Gn(e){if(e!==null&&typeof e!=`string`&&typeof e!=`number`&&(Fn(e),typeof e.order!=`string`&&typeof e.order!=`number`))throw Error(`Invalid cookie`)}function*Kn(...e){for(let t of e)yield*t}var qn=Promise.resolve(!0),Jn=Promise.resolve(!1);Promise.resolve(void 0);var Yn=Promise.resolve(),Xn=1,Zn=4,Qn=5,$n=8;function er(e){switch(typeof e){case`string`:return Xn+Zn+e.length;case`number`:return tr(e)?e<=-(2**30)||e>=2**30-1?Xn+Qn:Xn+Zn:Xn+$n;case`boolean`:return Xn;case`object`:if(e===null)return Xn;if(Array.isArray(e)){let t=2*Xn+Zn;for(let n of e)t+=er(n);return t}{let t=e,n=2*Xn+Zn;for(let e in t)if(Mn(t,e)){let r=t[e];r!==void 0&&(n+=er(e)+er(r))}return n}}throw Error(`Invalid value. type: ${typeof e}, value: ${e}`)}function tr(e){return e===(e|0)}var nr=2*Xn+Zn+Xn+Zn;function rr(e,t){return nr+er(e)+er(t)}var ir=new WeakSet;function ar(e){return An||or(e,[]),e}function or(e,t){switch(typeof e){case`undefined`:throw TypeError(`Unexpected value undefined`);case`boolean`:case`number`:case`string`:return;case`object`:if(e===null||ir.has(e))return;ir.add(e),t.includes(e)&&on(e,`Cyclic JSON object`),t.push(e),Object.freeze(e),Array.isArray(e)?sr(e,t):cr(e,t),t.pop();return;default:on(e,`JSON value`)}}function sr(e,t){for(let n of e)or(n,t)}function cr(e,t){for(let n in e)if(Mn(e,n)){let r=e[n];r!==void 0&&or(r,t)}}function lr(e){if(!An&&!ur(e,[]))throw Error(`Expected frozen object`)}function ur(e,t){switch(typeof e){case`boolean`:case`number`:case`string`:return!0;case`object`:if(e===null||ir.has(e))return!0;if(!Object.isFrozen(e))return!1;if(t.includes(e)&&on(e,`Cyclic JSON object`),t.push(e),Array.isArray(e)){for(let n of e)if(!ur(n,t))return t.pop(),!1}else for(let n in e)if(Mn(e,n)){let r=e[n];if(r!==void 0&&!ur(r,t))return t.pop(),!1}return ir.add(e),t.pop(),!0;default:on(e,`JSON value`)}}function dr(e){if(e!==void 0)return ar(e)}function fr(e){if(Array.isArray(e)){e.sort();for(let t=1;t<e.length;t++)w(e[t-1]!==e[t],`Refs must not have duplicates`);return e}let t=[...e];return t.sort(),t}var pr=class{hash;data;meta;constructor(e,t,n){w(!n.includes(e),`Chunk cannot reference itself`),lr(t),this.hash=e,this.data=t,this.meta=n}};function mr(e){if(!Array.isArray(e))throw Error(`Refs must be an array`);if(e.length>0){T(e[0]);for(let t=1;t<e.length;t++)T(e[t])}}function hr(e,t,n){return new pr(n(),e,t)}function gr(){throw Error(`unexpected call to compute chunk hash`)}function _r(){let e=Math.floor(Math.random()*4294967295),t=Math.floor(Math.random()*4294967295);return BigInt(e)<<32n|BigInt(t)}var O={};Zt(O,{assert:()=>wr,is:()=>Cr,parse:()=>Sr,readonly:()=>Er,readonlyArray:()=>Or,readonlyObject:()=>Dr,readonlyRecord:()=>kr,test:()=>Tr}),$t(O,ze);function vr(e){switch(typeof e){case`string`:case`number`:case`boolean`:return JSON.stringify(e);case`undefined`:return`undefined`;case`bigint`:return e.toString()+`n`;default:return e===null?`null`:Array.isArray(e)?`array`:typeof e}}function yr(e,t){if(!t?.length)return vr(e);let n=e;for(let e of t)n=n[e];return vr(n)}function br(e,t,n=e=>String(e)){if(t.length===1)return n(t[0]);let r=`${n(t[t.length-2])} ${e} ${n(t[t.length-1])}`;return t.length===2?r:`${t.slice(0,-2).map(n).join(`, `)}, ${r}`}function xr(e,t){let n=e.issues[0],{path:r}=n,i=r?.length?` at ${r.join(`.`)}`:``;switch(n.code){case`invalid_type`:return`Expected ${br(`or`,n.expected)}${i}. Got ${yr(t,r)}`;case`missing_value`:{let e=r&&r.length>1?` at ${r.slice(0,-1).join(`.`)}`:``;return n.path?.length?`Missing property ${n.path.at(-1)}${e}`:`TODO Unknown missing property${e}`}case`invalid_literal`:return`Expected literal value ${br(`or`,n.expected,vr)}${i} Got ${yr(t,r)}`;case`invalid_length`:return`Expected array with length ${n.minLength===n.maxLength?n.minLength:`between ${n.minLength} and ${n.maxLength}`}${i}. Got array with length ${t.length}`;case`unrecognized_keys`:return n.keys.length===1?`Unexpected property ${n.keys[0]}${i}`:`Unexpected properties ${br(`and`,n.keys)}${i}`;case`invalid_union`:return`Invalid union value${i}`;case`custom_error`:{let{error:e}=n;return`${e?typeof e==`string`?e:e.message??`unknown`:`unknown`}${i}. Got ${yr(t,r)}`}}}function Sr(e,t,n){let r=Tr(e,t,n);if(!r.ok)throw TypeError(r.error);return r.value}function Cr(e,t,n){return Tr(e,t,n).ok}function wr(e,t,n){Sr(e,t,n)}function Tr(e,t,n){let r=t.try(e,n?{mode:n}:void 0);return r.ok?r:{ok:!1,error:xr(r,e)}}function Er(e){return e}function Dr(e){return Vt(e)}function Or(e){return Ut(e)}function kr(e){return Ht(e)}var Ar=22,jr=/^[0-9a-v-]+$/,k=`0`.repeat(Ar),Mr=Pr();function Nr(e,t){return e.toString(32).slice(-t).padStart(t,`0`)}function Pr(){let e=``,t=0;return()=>{e||=Nr(_r(),12);let n=Nr(t++,10);return e+n}}function Fr(e){return typeof e==`string`&&jr.test(e)}function Ir(e){wr(e,Lr)}var Lr=O.string().assert(Fr,`Invalid hash`);function Rr(e,t,n){return new zr(e,t,n).compute()}var zr=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e,t,n){let r=[],i=[];for(let t of e)t.old!==t.new&&(t.old&&i.push(t.old),t.new&&r.push(t.new));this.#e=r,this.#t=i,this.#n=t,this.#r=n,this.#a=new Map,this.#o=new Map,this.#s=n.areRefsCounted!==void 0,this.#i=this.#s?new Set:null}async compute(){for(let e of this.#e)await this.#c(e,1);if(await Promise.all(Array.from(this.#n.values(),e=>this.#u(e))),this.#s){w(this.#r.areRefsCounted),w(this.#i);let e;do{e=!1;for(let t of this.#n.values())if(!this.#r.areRefsCounted(t)&&!this.#i.has(t)&&this.#a.get(t)!==0){await this.#l(t,1),e=!0;break}}while(e)}for(let e of this.#t)await this.#c(e,-1);if(!An)for(let[e,t]of this.#a)w(t>=0,`ref count update must be non-negative. ${e}:${t}`);return this.#a}async#c(e,t){await this.#u(e),this.#d(e,t)&&await this.#l(e,t)}async#l(e,t){if(e===k)return;let n=await this.#r.getRefs(e);if(An||w(n||this.#s&&!this.#n.has(e),`refs must be defined`),n!==void 0){this.#i?.add(e);let r=n.map(e=>this.#c(e,t));await Promise.all(r)}}#u(e){let t=this.#o.get(e);return t===void 0&&(t=(async()=>{let t=await this.#r.getRefCount(e)||0;return this.#a.set(e,t),t})(),this.#o.set(e,t)),t}#d(e,t){let n=this.#a.get(e);return E(n),this.#a.set(e,n+t),n===0&&t===1||n===1&&t===-1}},Br=class extends Error{name=`ChunkNotFoundError`;hash;constructor(e){super(`Chunk not found ${e}`),this.hash=e}};async function Vr(e,t){let n=await e.getChunk(t);if(n)return n;throw new Br(t)}async function Hr(e,t){let n=await t.getHead(e);return w(n,`Missing head ${e}`),n}var Ur=class{#e=new Le;#t=new Map;#n;#r;#i;t=new Map;n;h=new Map;m=new Map;constructor(e,t,n,r,i=er){this.n=new Kr(t,i,this.h,this.m),this.#n=e,this.#r=n,this.#i=r}async read(){let e=await this.#e.read();return new Wr(this.#t,this.t,this.n,this.#n,e,this.#i)}async write(){let e=await this.#e.write();return new Gr(this.#t,this.t,this.n,this.#n,this.h,this.m,e,this.#r,this.#i)}close(){return Yn}isCached(e){return this.n.getWithoutUpdatingLRU(e)!==void 0}withSuspendedSourceCacheEvictsAndDeletes(e){return this.n.withSuspendedEvictsAndDeletes(e)}},Wr=class{a;t;n;f;#e=void 0;#t;#n=!1;assertValidHash;constructor(e,t,n,r,i,a){this.a=e,this.t=t,this.n=n,this.f=r,this.#t=i,this.assertValidHash=a}isMemOnlyChunkHash(e){return this.t.has(e)}async hasChunk(e){return await this.getChunk(e)!==void 0}async getChunk(e){let t=this.t.get(e);if(t!==void 0)return t;let n=this.n.get(e);return n===void 0&&(n=await(await this.y()).getChunk(e),n!==void 0&&this.n.put(n)),n}mustGetChunk(e){return Vr(this,e)}getHead(e){return Promise.resolve(this.a.get(e))}release(){this.#n||=(this.#t(),this.#e?.then(e=>e.release()).catch(e=>{}),!0)}get closed(){return this.#n}y(){return this.#e||=this.f.read(),this.#e}},Gr=class extends Wr{#e;#t;#n;i=new Map;o=new Map;s=new Map;#r=new Set;constructor(e,t,n,r,i,a,o,s,c){super(e,t,n,r,o,c),this.#e=i,this.#t=a,this.#n=s}createChunk=(e,t)=>{let n=hr(e,t,this.#n);return this.#r.add(n.hash),n};putChunk(e,t){let{hash:n,meta:r}=e;if(this.assertValidHash(n),r.length>0)for(let e of r)this.assertValidHash(e);return this.#r.has(n)||this.isMemOnlyChunkHash(n)?this.o.set(n,e):this.s.set(n,{chunk:e,size:t??-1}),Yn}async setHead(e,t){await this.#i(e,t)}async removeHead(e){await this.#i(e,void 0)}async#i(e,t){let n=await this.getHead(e),r=this.i.get(e);r===void 0?this.i.set(e,{new:t,old:n}):r.new=t}isMemOnlyChunkHash(e){return this.o.has(e)||super.isMemOnlyChunkHash(e)}async getChunk(e){let t=this.o.get(e);if(t!==void 0)return t;let n=this.t.get(e);if(n!==void 0)return n;let r=this.s.get(e);if(r!==void 0)return r.chunk;let i=this.n.get(e);return i===void 0&&(i=await(await this.y()).getChunk(e),i!==void 0&&this.s.set(i.hash,{chunk:i,size:-1})),i}getHead(e){let t=this.i.get(e);return t?Promise.resolve(t.new):super.getHead(e)}async commit(){let e=new Set(Kn(this.o.keys(),this.s.keys())),t=await Rr(this.i.values(),e,this);for(let[e,n]of t)if(this.isMemOnlyChunkHash(e)){if(n===0)this.#e.delete(e),this.t.delete(e),this.#t.delete(e);else{this.#e.set(e,n);let t=this.o.get(e);t&&(this.#t.set(e,t.meta),this.t.set(e,t))}t.delete(e)}this.n.updateForCommit(this.s,t);for(let[e,t]of this.i)t.new?this.a.set(e,t.new):this.a.delete(e);this.o.clear(),this.s.clear(),this.i.clear(),this.release()}getRefCount(e){return this.#e.get(e)}getRefs(e){let t=this.o.get(e);if(t)return t.meta;let n=this.t.get(e);if(n)return n.meta;let r=this.s.get(e);return r===void 0?this.#t.get(e):r.chunk.meta}areRefsCounted(e){return this.#t.has(e)}chunksPersisted(e){let t=[];for(let n of e){let e=this.t.get(n);e&&(this.t.delete(n),t.push(e))}this.n.persisted(t)}},Kr=class{#e;#t;#n;#r;#i=0;#a=!1;#o=[];cacheEntries=new Map;constructor(e,t,n,r){this.#e=e,this.#t=t,this.#n=n,this.#r=r}get(e){let t=this.cacheEntries.get(e);return t&&(this.cacheEntries.delete(e),this.cacheEntries.set(e,t)),t?.chunk}getWithoutUpdatingLRU(e){return this.cacheEntries.get(e)?.chunk}put(e){let{hash:t}=e,n=this.cacheEntries.get(t);if(n){this.cacheEntries.delete(t),this.cacheEntries.set(t,n);return}let r=this.#n.get(t);if(!(r===void 0||r<1)&&this.#c(e)){if(!this.#r.has(t)){for(let t of e.meta)this.#n.set(t,(this.#n.get(t)||0)+1);this.#r.set(t,e.meta)}this.#s()}}#s(){if(!this.#a)for(let e of this.cacheEntries.values()){if(this.#i<=this.#e)break;this.#l(e)}}#c(e,t){let n=t??this.#t(e);return n>this.#e?!1:(this.#i+=n,this.cacheEntries.set(e.hash,{chunk:e,size:n}),!0)}#l(e){let{hash:t}=e.chunk;this.#i-=e.size,this.cacheEntries.delete(t)}#u(e){this.#n.delete(e),this.#r.delete(e);let t=this.cacheEntries.get(e);t&&(this.#i-=t.size,this.cacheEntries.delete(e))}updateForCommit(e,t){for(let[n,r]of t)if(r===0)this.#a?(this.#n.set(n,0),this.#o.push(n)):this.#u(n);else{this.#n.set(n,r);let t=e.get(n);if(t){let{chunk:e,size:r}=t,i=this.cacheEntries.get(n);i?(this.cacheEntries.delete(n),this.cacheEntries.set(n,i)):(this.#c(e,r===-1?void 0:r),this.#r.set(n,e.meta))}}this.#s()}persisted(e){for(let t of e)this.#c(t);this.#s()}async withSuspendedEvictsAndDeletes(e){this.#a=!0;try{return await e()}finally{this.#a=!1;for(let e of this.#o)this.#n.get(e)===0&&this.#u(e);this.#s()}}};function qr(e){return`c/${e}/d`}function Jr(e){return`c/${e}/m`}function Yr(e){return`c/${e}/r`}function Xr(e){return`h/${e}`}var Zr=class{#e;#t;#n;constructor(e,t,n){this.#e=e,this.#t=t,this.#n=n}async read(){return new Qr(await this.#e.read(),this.#n)}async write(){return new $r(await this.#e.write(),this.#t,this.#n)}close(){return this.#e.close()}},Qr=class{e;assertValidHash;constructor(e,t){this.e=e,this.assertValidHash=t}hasChunk(e){return this.e.has(qr(e))}async getChunk(e){let t=await this.e.get(qr(e));if(t===void 0)return;let n=await this.e.get(Jr(e)),r;return n===void 0?r=[]:(mr(n),r=n),new pr(e,t,r)}mustGetChunk(e){return Vr(this,e)}async getHead(e){let t=await this.e.get(Xr(e));if(t!==void 0)return Ir(t),t}release(){this.e.release()}get closed(){return this.e.closed}},$r=class extends Qr{#e;#t=new Set;#n=new Map;constructor(e,t,n){super(e,n),this.#e=t}createChunk=(e,t)=>hr(e,t,this.#e);get kvWrite(){return this.e}async putChunk(e){let{hash:t,data:n,meta:r}=e;this.assertValidHash(t);let i=qr(t),a=this.e.put(i,n),o;if(r.length>0){for(let e of r)this.assertValidHash(e);o=this.e.put(Jr(t),r)}this.#t.add(t),await a,await o}setHead(e,t){return this.#r(e,t)}removeHead(e){return this.#r(e,void 0)}async#r(e,t){let n=await this.getHead(e),r=Xr(e),i;i=t===void 0?this.e.del(r):this.e.put(r,t);let a=this.#n.get(e);a===void 0?this.#n.set(e,{new:t,old:n}):a.new=t,await i}async commit(){let e=await Rr(this.#n.values(),this.#t,this);await this.#i(e),await this.e.commit()}async getRefCount(e){let t=await this.e.get(Yr(e));if(t!==void 0){if(E(t),t<0||t>65535||t!==(t|0))throw Error(`Invalid ref count ${t}. We expect the value to be a Uint16`);return t}}async getRefs(e){let t=await this.e.get(Jr(e));return t===void 0?[]:(mr(t),t)}async#i(e){let t=[];for(let[n,r]of e)if(r===0)t.push(this.#a(n));else{let e=Yr(n);t.push(this.e.put(e,r))}await Promise.all(t)}async#a(e){await Promise.all([this.e.del(qr(e)),this.e.del(Jr(e)),this.e.del(Yr(e))]),this.#t.delete(e)}release(){this.e.release()}},A=`main`;function ei(e){return Ci(e.meta)}function ti(e){return Si(e.meta)}function ni(e){return ti(e)||ei(e)}function ri(e){return ki(e.meta)}function ii(e){return Ai(e.meta)}function ai(e){return ri(e)||ii(e)}var oi=class{chunk;constructor(e){this.chunk=e}get meta(){return this.chunk.data.meta}get valueHash(){return this.chunk.data.valueHash}getMutationID(e,t){return si(e,t,this.meta)}async getNextMutationID(e,t){return await this.getMutationID(e,t)+1}get indexes(){return this.chunk.data.indexes}};async function si(e,t,n){switch(n.type){case 1:return n.lastMutationID;case 3:return n.lastMutationID;case 5:return n.lastMutationIDs[e]??0;case 2:return n.mutationID;case 4:{if(n.clientID===e)return n.mutationID;let{basisHash:r}=n;return si(e,t,(await j(r,t)).meta)}default:ln(n)}}async function ci(e,t){return(await _i(e,t)).filter(e=>ni(e))}async function li(e,t){return(await _i(e,t)).filter(e=>ti(e))}async function ui(e,t,n){let r=[],i=new Map(Object.entries(t));for(;!ai(e)&&i.size>0;){if(ti(e)){let{meta:t}=e,n=i.get(t.clientID);n!==void 0&&(t.mutationID<=n?i.delete(t.clientID):r.push(e))}let{basisHash:t}=e.meta;if(t===null)throw Error(`Commit ${e.chunk.hash} has no basis`);e=await j(t,n)}return r}async function di(e,t){let n=await t.getHead(e);return w(n,`Missing head ${e}`),pi(n,t)}async function fi(e,t){return(await pi(e,t)).chunk.hash}async function pi(e,t){return mi(await j(e,t),t)}async function mi(e,t){for(;!ai(e);){let{meta:n}=e;if(Si(n))e=await j(n.baseSnapshotHash,t);else{let{basisHash:r}=n;if(r===null)throw Error(`Commit ${e.chunk.hash} has no basis`);e=await j(r,t)}}return e}function hi(e,t){let n=e.meta;return ki(n)?[n.lastMutationIDs[t]??0,n.cookieJSON]:[n.lastMutationID,n.cookieJSON]}function gi(e,t){return Un(e.meta.cookieJSON,t.meta.cookieJSON)}async function _i(e,t){let n=await j(e,t),r=[];for(;!ai(n);){let{meta:e}=n,{basisHash:i}=e;if(i===null)throw Error(`Commit ${n.chunk.hash} has no basis`);r.push(n),n=await j(i,t)}return r.push(n),r}async function j(e,t){return Wi(await t.mustGetChunk(e))}async function vi(e,t){return j(await Hr(e,t),t)}function yi(e){E(e.lastMutationID)}function bi(e){if(E(e.mutationID),T(e.mutatorName),!e.mutatorName)throw Error(`Missing mutator name`);Pn(e.mutatorArgsJSON),e.originalHash!==null&&Ir(e.originalHash),E(e.timestamp)}function xi(e){T(e.clientID),bi(e)}function Si(e){return e.type===4}function Ci(e){return e.type===2}function wi(e){e.basisHash!==null&&Ir(e.basisHash),Pn(e.cookieJSON)}function Ti(e){wi(e),E(e.lastMutationID)}function Ei(e){wi(e),Di(e.lastMutationIDs)}function Di(e){D(e);for(let t of Object.values(e))E(t)}function Oi(e){Ei(e.meta)}function ki(e){return e.type===5}function Ai(e){return e.type===3}function ji(e){switch(D(e),lr(e),e.basisHash!==null&&T(e.basisHash),E(e.type),e.type){case 1:yi(e);break;case 2:bi(e);break;case 4:xi(e);break;case 3:Ti(e);break;case 5:Ei(e);break;default:throw Error(`Invalid enum value ${e.type}`)}}function Mi(e,t){return e.jsonPointer===t.jsonPointer&&(e.allowEmpty??!1)===(t.allowEmpty??!1)&&e.keyPrefix===t.keyPrefix}function Ni(e){D(e),lr(e),T(e.name),T(e.keyPrefix),T(e.jsonPointer),e.allowEmpty!==void 0&&tn(e.allowEmpty)}function Pi(e,t){return{name:e,keyPrefix:t.prefix??``,jsonPointer:t.jsonPointer,allowEmpty:t.allowEmpty??!1}}function Fi(e){D(e),lr(e),Ni(e.definition),T(e.valueHash)}function Ii(e){rn(e),lr(e);for(let t of e)Fi(t)}function Li(e,t,n,r,i,a,o,s,c){return Gi(e,qi({type:2,basisHash:t,mutationID:n,mutatorName:r,mutatorArgsJSON:i,originalHash:a,timestamp:c},o,s))}function Ri(e,t,n,r,i,a,o,s,c,l,u){return Gi(e,qi({type:4,basisHash:t,baseSnapshotHash:n,mutationID:r,mutatorName:i,mutatorArgsJSON:a,originalHash:o,timestamp:l,clientID:u},s,c))}function zi(e,t,n,r,i,a){return Gi(e,Vi(t,n,r,i,a))}function Bi(e,t,n,r,i,a){return Gi(e,Hi(t,n,r,i,a))}function Vi(e,t,n,r,i){return qi({type:3,basisHash:e,lastMutationID:t,cookieJSON:n},r,i)}function Hi(e,t,n,r,i){return qi({type:5,basisHash:e,lastMutationIDs:t,cookieJSON:n},r,i)}function Ui(e,t,n,r,i){return Gi(e,qi({type:1,basisHash:t,lastMutationID:n},r,i))}function Wi(e){return Yi(e),new oi(e)}function Gi(e,t){return new oi(e(t,Ki(t)))}function Ki(e){let t=new Set;t.add(e.valueHash);let{meta:n}=e;switch(n.type){case 1:n.basisHash&&t.add(n.basisHash);break;case 2:case 4:n.basisHash&&t.add(n.basisHash);break;case 3:case 5:break;default:ln(n)}for(let n of e.indexes)t.add(n.valueHash);return fr(t)}function qi(e,t,n){return ar({meta:e,valueHash:t,indexes:n})}function Ji(e){An||(D(e),lr(e),ji(e.meta),T(e.valueHash),Ii(e.indexes))}function Yi(e){let{data:t}=e;Ji(t);let n=new Set;for(let e of t.indexes){let{name:t}=e.definition;if(n.has(t))throw Error(`Duplicate index ${t}`);n.add(t)}}function Xi(e,t){let n=e.length,r=t.length,i=Math.min(n,r);for(let n=0;n<i;){let r=e.codePointAt(n),i=t.codePointAt(n);if(r!==i)return r<128&&i<128?r-i:Zi(ea,na(r,ea),ta,na(i,ta));n+=Qi(r)}return n-r}function Zi(e,t,n,r){let i=Math.min(t,r);for(let t=0;t<i;t++){let r=e[t],i=n[t];if(r!==i)return r-i}return t-r}function Qi(e){return e>65535?2:1}var $i=()=>Array.from({length:4},()=>0),ea=$i(),ta=$i();function na(e,t){if(e<128)return t[0]=e,1;let n,r;if(e<=2047)n=1,r=192;else if(e<=65535)n=2,r=224;else if(e<=1114111)n=3,r=240;else throw Error(`Invalid code point`);t[0]=(e>>6*n)+r;let i=1;for(;n>0;n--){let r=e>>6*(n-1);t[i++]=128|r&63}return i}function ra(e,t){return Xi(e,t)>0}function ia(e,t){return Xi(e,t)<0}function aa(e,t){return Xi(e,t)<=0}function oa(e,t){let n=0;for(;n<e;){let r=n+(e-n>>1),i=t(r);if(i===0)return r;i>0?n=r+1:e=r}return n}function sa(e){if(e!==(e|0)||e<4||e>7)throw Error(`Unsupported format version: ${e}`);return e}var ca=0,la=1;function ua(e,t,n){return ar([e,n>=7?t:t.map(e=>e.slice(0,2))])}async function da(e,t,n,r){let i=await n.getNode(t);if(r!==n.rootHash)return da(e,n.rootHash,n,n.rootHash);if(Ca(i))return i;let{entries:a}=i,o=fa(e,a);o===a.length&&o--;let s=a[o];return da(e,s[1],n,r)}function fa(e,t){return oa(t.length,n=>Xi(e,t[n][0]))}function pa(e,t,n){return e!==t.length&&t[e][0]===n}function ma(e,t,n){if(An&&t>=7)return e;rn(e),lr(e),w(e.length>=2);let[r,i]=e;E(r),rn(i);let a=r>0?T:Pn;if(t>=7){for(let e of i)ha(e,a);return e}return[r,i.map(e=>ga(e,a,n))]}function ha(e,t){rn(e),w(e.length>=3),T(e[0]),t(e[1]),E(e[2])}function ga(e,t,n){rn(e),w(e.length>=2),T(e[0]),t(e[1]);let r=n(e[0],e[1]);return[e[0],e[1],r]}var _a=class{entries;hash;isMutable;#e=-1;constructor(e,t,n){this.entries=e,this.hash=t,this.isMutable=n}maxKey(){return this.entries[this.entries.length-1][0]}getChildNodeSize(e){if(this.#e!==-1)return this.#e;let t=e.chunkHeaderSize;for(let e of this.entries)t+=e[2];return this.#e=t}c(e){this.#e=-1,e.updateNode(this)}};function va(e,t){return ua(e.level,e.entries,t)}var ya=class extends _a{level=0;set(e,t,n,r){let i,a=fa(e,this.entries);return i=+!!pa(a,this.entries,e),Promise.resolve(this.#e(r,a,i,[e,t,n]))}#e(e,t,n,...r){if(this.isMutable)return this.entries.splice(t,n,...r),this.c(e),this;let i=ba(this.entries,t,n,...r);return e.newDataNodeImpl(i)}del(e,t){let n=fa(e,this.entries);return pa(n,this.entries,e)?Promise.resolve(this.#e(t,n,1)):Promise.resolve(this)}async*keys(e){for(let e of this.entries)yield e[0]}async*entriesIter(e){for(let e of this.entries)yield e}};function ba(e,t,n,...r){let i=e.slice(0,t);for(let e=0;e<r.length;e++)i.push(r[e]);for(let r=t+n;r<e.length;r++)i.push(e[r]);return i}var xa=class e extends _a{level;constructor(e,t,n,r){super(e,t,r),this.level=n}async set(e,t,n,r){let i=fa(e,this.entries);i===this.entries.length&&i--;let a=this.entries[i][1],o=await(await r.getNode(a)).set(e,t,n,r),s=o.getChildNodeSize(r);if(s>r.maxSize||s<r.minSize)return this.#e(r,i,o);let c=Da(o,r.getEntrySize);return this.#t(r,i,c)}async#e(e,t,n){let r=this.level-1,i=this.entries,a,o,s;if(t>0){let r=i[t-1][1];a=Kn((await e.getNode(r)).entries,n.entries),o=t-1,s=2}else if(t<i.length-1){let r=i[t+1][1],c=await e.getNode(r);a=Kn(n.entries,c.entries),o=t,s=2}else a=n.entries,o=t,s=1;let c=wa(a,e=>e[2],e.minSize-e.chunkHeaderSize,e.maxSize-e.chunkHeaderSize),l=[];for(let t of c){let n=Da(e.newNodeImpl(t,r),e.getEntrySize);l.push(n)}if(this.isMutable)return this.entries.splice(o,s,...l),this.c(e),this;let u=ba(i,o,s,...l);return e.newInternalNodeImpl(u,this.level)}#t(e,t,n){if(this.isMutable)return this.entries.splice(t,1,n),this.c(e),this;let r=ba(this.entries,t,1,n);return e.newInternalNodeImpl(r,this.level)}async del(e,t){let n=fa(e,this.entries);if(n===this.entries.length)return this;let r=this.entries[n][1],i=await t.getNode(r),a=i.hash,o=await i.del(e,t);if(o.hash===a)return this;if(o.entries.length===0){let e=ba(this.entries,n,1);return t.newInternalNodeImpl(e,this.level)}if(n===0&&this.entries.length===1)return o;if(o.getChildNodeSize(t)>t.minSize){let e=Da(o,t.getEntrySize);return this.#t(t,n,e)}return this.#e(t,n,o)}async*keys(e){for(let t of this.entries)yield*(await e.getNode(t[1])).keys(e)}async*entriesIter(e){for(let t of this.entries)yield*(await e.getNode(t[1])).entriesIter(e)}getChildren(e,t,n){let r=[];for(let i=e;i<t&&i<this.entries.length;i++)r.push(n.getNode(this.entries[i][1]));return Promise.all(r)}async getCompositeChildren(t,n,r){let{level:i}=this;if(n===0)return new e([],Mr(),i-1,!0);let a=await this.getChildren(t,t+n,r);if(i>1){let t=[];for(let e of a)t.push(...e.entries);return new e(t,Mr(),i-1,!0)}w(i===1);let o=[];for(let e of a)o.push(...e.entries);return new ya(o,Mr(),!0)}};function Sa(e,t,n,r){return n===0?new ya(e,t,r):new xa(e,t,n,r)}function Ca(e){return e.level===0}function wa(e,t,n,r){let i=[],a=[],o=0,s=[];for(let c of e){let e=t(c);e>=r?(s.length>0&&(i.push(s),a.push(o)),i.push([c]),a.push(e),o=0,s=[]):o+e>=n?(s.push(c),i.push(s),a.push(o+e),o=0,s=[]):(o+=e,s.push(c))}return o>0&&(a.length>0&&o+a[a.length-1]<=r?i[i.length-1].push(...s):i.push(s)),i}var Ta=ua(0,[],7),Ea=new ya([],k,!1);function Da(e,t){let n=e.maxKey(),r=e.hash;return[n,r,t(n,r)]}var Oa=-1,ka=0,Aa=1,ja=2,Ma=3,Na=0,Pa=1;function*Fa(e,t){let n=0,r=0,i;function a(e,t){e[Ma]===Oa&&(e[Ma]=t)}function o(){return[n,0,0,Oa]}for(;n<e.length&&r<t.length;)e[n][Na]===t[r][Na]?(Nn(e[n][Pa],t[r][Pa])?i&&=(a(i,0),yield i,void 0):(i||=o(),i[ja]++,i[Aa]++,a(i,r)),n++,r++):e[n][Na]<t[r][Na]?(i||=o(),i[Aa]++,n++):(i||=o(),i[ja]++,a(i,r),r++);r<t.length&&(i||=o(),i[ja]+=t.length-r,a(i,r)),n<e.length&&(i||=o(),i[Aa]+=e.length-n),i&&(a(i,0),yield i)}var Ia=11,La=class{p=new Map;l;u;rootHash;getEntrySize;chunkHeaderSize;constructor(e,t,n=k,r=rr,i=Ia){this.l=e,this.u=t,this.rootHash=n,this.getEntrySize=r,this.chunkHeaderSize=i}async getNode(e){if(e===k)return Ea;let t=this.p.get(e);if(t)return t;let n=ma((await this.l.mustGetChunk(e)).data,this.u,this.getEntrySize),r=Sa(n[la],e,n[ca],!1);return this.p.set(e,r),r}async get(e){let t=await da(e,this.rootHash,this,this.rootHash),n=fa(e,t.entries);if(pa(n,t.entries,e))return t.entries[n][1]}async has(e){let t=await da(e,this.rootHash,this,this.rootHash);return pa(fa(e,t.entries),t.entries,e)}async isEmpty(){let{rootHash:e}=this,t=await this.getNode(this.rootHash);return this.rootHash===e?t.entries.length===0:this.isEmpty()}scan(e){return Ba(this.rootHash,()=>this.rootHash,this.rootHash,e,async e=>{let t=await this.getNode(e);return t?[t.level,t.isMutable?t.entries.slice():t.entries]:ma((await this.l.mustGetChunk(e)).data,this.u,this.getEntrySize)})}async*keys(){yield*(await this.getNode(this.rootHash)).keys(this)}async*entries(){yield*(await this.getNode(this.rootHash)).entriesIter(this)}[Symbol.asyncIterator](){return this.entries()}async*diff(e){let[t,n]=await Promise.all([this.getNode(this.rootHash),e.getNode(e.rootHash)]);yield*Ra(n,t,e,this)}};async function*Ra(e,t,n,r){if(e.level>t.level){yield*Ra(await e.getCompositeChildren(0,e.entries.length,n),t,n,r);return}if(t.level>e.level){yield*Ra(e,await t.getCompositeChildren(0,t.entries.length,r),n,r);return}if(Ca(e)&&Ca(t)){yield*za(e.entries,t.entries);return}let i=Fa(e.entries,t.entries);for(let a of i){let[i,o]=await Promise.all([e.getCompositeChildren(a[ka],a[Aa],n),t.getCompositeChildren(a[Ma],a[ja],r)]);yield*Ra(i,o,n,r)}}function*za(e,t){let n=e.length,r=t.length,i=0,a=0;for(;i<n&&a<r;){let n=e[i][0],r=t[a][0];n===r?(Nn(e[i][1],t[a][1])||(yield{op:`change`,key:n,oldValue:e[i][1],newValue:t[a][1]}),i++,a++):n<r?(yield{op:`del`,key:n,oldValue:e[i][1]},i++):(yield{op:`add`,key:r,newValue:t[a][1]},a++)}for(;i<n;i++)yield{op:`del`,key:e[i][0],oldValue:e[i][1]};for(;a<r;a++)yield{op:`add`,key:t[a][0],newValue:t[a][1]}}async function*Ba(e,t,n,r,i){if(n===k)return;let a=await i(n),o=a[la],s=0;if(r&&(s=fa(r,o)),a[ca]>0)for(;s<o.length;s++)yield*Ba(e,t,o[s][1],r,i),r=``;else for(;s<o.length;s++){let n=t();if(e!==n){yield*Ba(n,t,n,o[s][0],i);return}yield o[s]}}async function Va(e,t){let n=[],r=t===`add`?e=>({op:`add`,key:e[0],newValue:e[1]}):e=>({op:`del`,key:e[0],oldValue:e[1]});for await(let t of e.entries())n.push(r(t));return n}var Ha=class{meta;map;constructor(e,t){this.meta=e,this.map=t}},Ua=class extends Ha{flush(){return this.map.flush()}clear(){return this.map.clear()}};async function Wa(e,t,n,r,i,a,o){try{for(let e of Ga(r,i,a,o))switch(n){case 0:await t.put(e,i);break;case 1:await t.del(e);break}}catch(t){e.info?.(`Not indexing value`,i,`:`,t)}}function Ga(e,t,n,r){let i=Za(t,n);if(i===void 0){if(r)return[];throw Error(`No value at path: ${n}`)}let a=Array.isArray(i)?i:[i],o=[];for(let t of a)if(typeof t==`string`)o.push(Ja([t,e]));else throw Error(`Unsupported target type`);return o}var Ka=`\0`,qa=`\0`;function Ja(e){let t=e[0],n=e[1];if(t.includes(`\0`))throw Error(`Secondary key cannot contain null byte`);return Ka+t+qa+n}function Ya(e,t){let n=Ja([e,t||``]);return t===void 0?n.slice(0,n.length-1):n}function Xa(e){if(e[0]!==Ka)throw Error(`Invalid version`);let t=Ka.length,n=qa.length,r=e.indexOf(qa,t);if(r===-1)throw Error(`Invalid formatting`);return[e.slice(t,r),e.slice(r+n)]}function Za(e,t){function n(e){if(!(e.startsWith(`+`)||e.startsWith(`0`)&&e.length!==1))return parseInt(e,10)}if(t===``)return e;if(!t.startsWith(`/`))throw Error(`Invalid JSON pointer: ${t}`);let r=t.split(`/`).slice(1).map(e=>e.replace(/~1/g,`/`).replace(/~0/g,`~`)),i=e;for(let e of r){let t;if(Array.isArray(i)){let r=n(e);if(r===void 0)return;t=i[r]}else{if(i===null)return;typeof i==`object`&&(i=i,t=i[e])}if(t===void 0)return;i=t}return i}var Qa=class{#e;map;indexes;constructor(e,t,n){this.#e=e,this.map=t,this.indexes=n}has(e){return this.map.has(e)}get(e){return this.map.get(e)}isEmpty(){return this.map.isEmpty()}getMapForIndex(e){let t=this.indexes.get(e);if(t===void 0)throw Error(`Unknown index name: ${e}`);return t.map}get closed(){return this.#e.closed}close(){this.#e.release()}};function $a(e,t){return eo(A,e,t)}async function eo(e,t,n){return to(await vi(e,t),t,n)}function to(e,t,n){let r=no(e,t,n);return new Qa(t,new La(t,n,e.valueHash),r)}function no(e,t,n){let r=new Map;for(let i of e.indexes)r.set(i.definition.name,new Ha(i,new La(t,n,i.valueHash)));return r}async function ro(e){let t=[];for await(let n of e)t.push(n);return t}function io(e){return e.indexName!==void 0}function ao(e){return typeof e==`string`?[e]:e}function oo(e){if(!e)return{};let t,n,r,i;return e.start&&({key:t,exclusive:n}=e.start,e.indexName?typeof t==`string`?i=t:(i=t[0],r=t[1]):r=t),{prefix:e.prefix,startSecondaryKey:i,startKey:r,startExclusive:n,limit:e.limit,indexName:e.indexName}}var so=class extends Error{constructor(){super(`Transaction is closed`)}};function co(e){if(e.closed)throw new so}function lo(e){return e.closed?Promise.reject(new so):void 0}var uo=class{#e;#t;#n;#r;constructor(e,t,n,r){this.#e=e,this.#t=t,this.#n=n,this.#r=r}[Symbol.asyncIterator](){return this.values()}values(){return new fo(this.#i(e=>e[1]))}keys(){return new fo(this.#i(e=>e[0]))}entries(){return new fo(this.#i(e=>[e[0],e[1]]))}toArray(){return this.values().toArray()}#i(e){return po(e,this.#e,this.#t,this.#n,this.#r)}},fo=class{#e;constructor(e){this.#e=e}next(){return this.#e.next()}[Symbol.asyncIterator](){return this.#e[Symbol.asyncIterator]()}toArray(){return ro(this.#e)}};async function*po(e,t,n,r,i){co(r);let{limit:a=1/0}=n,{prefix:o=``}=n,s=n.start?.exclusive,c=io(n);for await(let r of t){let t=r[0];if(!(c?t[0]:t).startsWith(o))return;if(s){if(s=!0,c){if(mo(t,n.start.key))continue}else if(ho(t,n.start.key))continue}if(yield e(r),--a===0){c||i(t);return}}}function mo(e,t){let[n,r]=ao(t),[i,a]=ao(e);return i===n?r===void 0||a===r:!1}function ho(e,t){return e===t}function go(e){let{prefix:t,start:n}=e,r=``;if(t!==void 0&&(r=Ya(t,void 0)),!n)return r;let{key:i}=n,[a,o]=ao(i),s=Ya(a,o);return ra(s,r)?s:r}var _o=0,vo=class{clientID;dbtx;d;location;environment;constructor(e,t,n,r=`openReadTransaction`){this.clientID=e,this.dbtx=t,this.d=n.withContext(r).withContext(`txid`,_o++),this.environment=`client`,this.location=`client`}get(e){return lo(this.dbtx)||this.dbtx.get(e)}async has(e){return co(this.dbtx),this.dbtx.has(e)}async isEmpty(){return co(this.dbtx),this.dbtx.isEmpty()}scan(e){return bo(e,this.dbtx,yo)}};function yo(e){}function bo(e,t,n){return To(Co(t,e),e??{},t,n)}var xo=class{#e=new Set;#t=[];#n;constructor(e){this.#n=e}get environment(){return this.#n.location}get location(){return this.#n.location}get clientID(){return this.#n.clientID}isEmpty(){return this.#t.push({options:{}}),this.#n.isEmpty()}get(e){return this.#e.add(e),this.#n.get(e)}has(e){return this.#e.add(e),this.#n.has(e)}scan(e){let t={options:oo(e),inclusiveLimitKey:void 0};return this.#t.push(t),bo(e,this.#n.dbtx,e=>{t.inclusiveLimitKey=e})}get keys(){return this.#e}get scans(){return this.#t}},So=class extends vo{reason;mutationID;constructor(e,t,n,r,i,a=`openWriteTransaction`){super(e,r,i,a),this.mutationID=t,this.reason=n}put(e,t){return this.set(e,t)}async set(e,t){co(this.dbtx),await this.dbtx.put(this.d,e,ar(t))}del(e){return lo(this.dbtx)??this.dbtx.del(this.d,e)}};function Co(e,t){return t&&io(t)?Eo(e,t):e.map.scan(wo(t))}function wo(e){if(!e)return``;let{prefix:t=``,start:n}=e;return n&&ra(n.key,t)?n.key:t}function To(e,t,n,r){return new uo(e,t,n,r)}async function*Eo(e,t){let n=e.getMapForIndex(t.indexName);for await(let e of n.scan(go(t)))yield[Xa(e[0]),e[1]]}function Do(e,t){return ro(t.diff(e))}var Oo=class extends La{#e=new Ie;#t=new Map;minSize;maxSize;constructor(e,t,n=k,r=8192,i=16384,a=rr,o){super(e,t,n,a,o),this.minSize=r,this.maxSize=i}#n(e){w(e.isMutable),this.#t.set(e.hash,e),this.p.set(e.hash,e)}updateNode(e){w(e.isMutable),this.#t.delete(e.hash),e.hash=Mr(),this.#n(e)}newInternalNodeImpl(e,t){let n=new xa(e,Mr(),t,!0);return this.#n(n),n}newDataNodeImpl(e){let t=new ya(e,Mr(),!0);return this.#n(t),t}newNodeImpl(e,t){let n=Sa(e,Mr(),t,!0);return this.#n(n),n}put(e,t){return this.#e.withLock(async()=>{let n=await this.getNode(this.rootHash),r=this.getEntrySize(e,t),i=await n.set(e,t,r,this);if(i.getChildNodeSize(this)>this.maxSize){let e=this.chunkHeaderSize,t=wa(i.entries,e=>e[2],this.minSize-e,this.maxSize-e),{level:n}=i,r=t.map(e=>Da(this.newNodeImpl(e,n),this.getEntrySize)),a=this.newInternalNodeImpl(r,n+1);this.rootHash=a.hash;return}this.rootHash=i.hash})}del(e){return this.#e.withLock(async()=>{let t=await(await this.getNode(this.rootHash)).del(e,this),n=this.rootHash!==t.hash;return n&&(this.rootHash=t.level>0&&t.entries.length===1?t.entries[0][1]:t.hash),n})}clear(){return this.#e.withLock(()=>{this.#t.clear(),this.rootHash=k})}flush(){return this.#e.withLock(async()=>{let e=this.l;if(this.rootHash===k){let t=e.createChunk(Ta,[]);return await e.putChunk(t),t.hash}let t=[],n=ko(this.rootHash,t,e.createChunk,this.#t,this.u);return await Promise.all(t.map(t=>e.putChunk(t))),this.#t.clear(),this.rootHash=n,n})}};function ko(e,t,n,r,i){let a=r.get(e);if(a===void 0)return e;if(Ca(a)){let e=n(va(a,i),[]);return t.push(e),e.hash}let o=[],{entries:s}=a;for(let e=0;e<s.length;e++){let a=s[e],c=a[1],l=ko(c,t,n,r,i);l!==c&&(s[e]=[a[0],l,a[2]]),o.push(l)}let c=n(va(a,i),fr(o));return t.push(c),c.hash}function Ao(e){let t;return()=>(t===void 0&&(t=e()),t)}var jo=class extends Map{set(e,t){return t.length===0?this:super.set(e,t)}};async function Mo(e,t,n,r,i){let a=new jo;if(!r.shouldComputeDiffs())return a;let o=await Do(new La(n,i,e.valueHash),new La(n,i,t.valueHash));return a.set(``,o),await No(e,t,n,a,r,i),a}async function No(e,t,n,r,i,a){let o=no(e,n,a),s=no(t,n,a);for(let[e,t]of o){if(!i.shouldComputeDiffsForIndex(e))continue;let n=s.get(e);if(n!==void 0){w(n!==t);let i=await Do(t.map,n.map);s.delete(e),r.set(e,i)}else{let n=await Va(t.map,`del`);r.set(e,n)}}for(let[e,t]of s){if(!i.shouldComputeDiffsForIndex(e))continue;let n=await Va(t.map,`add`);r.set(e,n)}}var Po=class extends Qa{#e;#t;#n;#r;#i;constructor(e,t,n,r,i,a,o){super(e,t,i),this.#e=e,this.#t=n,this.#n=r,this.#r=a,this.#i=o,w(n===void 0?r.basisHash===k:r.basisHash===n.chunk.hash)}async put(e,t,n){if(this.#n.type===1)throw Error(`Not allowed`);let r=Ao(()=>this.map.get(t));await Ro(e,this.indexes,t,r,n),await this.map.put(t,n)}getMutationID(){return si(this.#r,this.#e,this.#n)}async del(e,t){if(this.#n.type===1)throw Error(`Not allowed`);let n=Ao(()=>this.map.get(t));return n!==void 0&&await Ro(e,this.indexes,t,n,void 0),this.map.del(t)}async clear(){if(this.#n.type===1)throw Error(`Not allowed`);await this.map.clear();let e=[];for(let t of this.indexes.values())e.push(t.clear());await Promise.all(e)}async putCommit(){let e=await this.map.flush(),t=[];for(let e of this.indexes.values()){let n=await e.flush(),r={definition:e.meta.definition,valueHash:n};t.push(r)}let n,r=this.#n;switch(r.type){case 2:{let{basisHash:i,mutationID:a,mutatorName:o,mutatorArgsJSON:s,originalHash:c,timestamp:l}=r;n=Li(this.#e.createChunk,i,a,o,s,c,e,t,l);break}case 4:{w(this.#i>=5);let{basisHash:i,mutationID:a,mutatorName:o,mutatorArgsJSON:s,originalHash:c,timestamp:l}=r;n=Ri(this.#e.createChunk,i,await fi(i,this.#e),a,o,s,c,e,t,l,this.#r);break}case 3:{w(this.#i<=4);let{basisHash:i,lastMutationID:a,cookieJSON:o}=r;n=zi(this.#e.createChunk,i,a,o,e,t);break}case 5:{w(this.#i>5);let{basisHash:i,lastMutationIDs:a,cookieJSON:o}=r;n=Bi(this.#e.createChunk,i,a,o,e,t);break}case 1:{let{basisHash:i,lastMutationID:a}=r;if(this.#t!==void 0){if(await this.#t.getMutationID(this.#r,this.#e)!==a)throw Error(`Index change must not change mutationID`);if(this.#t.valueHash!==e)throw Error(`Index change must not change valueHash`)}n=Ui(this.#e.createChunk,i,a,e,t);break}}return await this.#e.putChunk(n.chunk),n}async commit(e){let t=(await this.putCommit()).chunk.hash;return await this.#e.setHead(e,t),await this.#e.commit(),t}async commitWithDiffs(e,t){let n=this.putCommit(),r=await this.#a(t),i=(await n).chunk.hash;return await this.#e.setHead(e,i),await this.#e.commit(),r}async#a(e){let t=new jo;if(!e.shouldComputeDiffs())return t;let n=[];this.#t&&(n=await Do(new La(this.#e,this.#i,this.#t.valueHash),this.map)),t.set(``,n);let r;r=this.#t?no(this.#t,this.#e,this.#i):new Map;for(let[n,i]of this.indexes){if(!e.shouldComputeDiffsForIndex(n))continue;let a=r.get(n);w(i!==a);let o=await(a?Do(a.map,i.map):Va(i.map,`add`));t.set(n,o)}for(let[n,i]of r)if(!this.indexes.has(n)&&e.shouldComputeDiffsForIndex(n)){let e=await Va(i.map,`del`);t.set(n,e)}return t}close(){this.#e.release()}};async function Fo(e,t,n,r,i,a,o,s){let c=await j(e,i),l=new Oo(i,s,c.valueHash),u=await c.getNextMutationID(o,i),d=zo(c,i,s);return new Po(i,l,c,s>=5?{type:4,basisHash:e,baseSnapshotHash:await fi(e,i),mutatorName:t,mutatorArgsJSON:n,mutationID:u,originalHash:r,timestamp:a,clientID:o}:{type:2,basisHash:e,mutatorName:t,mutatorArgsJSON:n,mutationID:u,originalHash:r,timestamp:a},d,o,s)}async function Io(e,t,n,r,i,a,o){w(o<=4);let s=await j(e,r);return new Po(r,new Oo(r,o,s.valueHash),s,{basisHash:e,type:3,lastMutationID:t,cookieJSON:n},i,a,o)}async function Lo(e,t,n,r,i,a){let o=await j(e,r);return new Po(r,new Oo(r,a,o.valueHash),o,{basisHash:e,type:5,lastMutationIDs:t,cookieJSON:n},zo(o,r,a),i,a)}async function Ro(e,t,n,r,i){let a=[];for(let o of t.values()){let{keyPrefix:t}=o.meta.definition;if(!t||n.startsWith(t)){let t=await r();t!==void 0&&a.push(Wa(e,o.map,1,n,t,o.meta.definition.jsonPointer,o.meta.definition.allowEmpty??!1)),i!==void 0&&a.push(Wa(e,o.map,0,n,i,o.meta.definition.jsonPointer,o.meta.definition.allowEmpty??!1))}}await Promise.all(a)}function zo(e,t,n){let r=new Map;for(let i of e.indexes)r.set(i.definition.name,new Ua(i,new Oo(t,n,i.valueHash)));return r}async function Bo(e,t,n,r,i,a,o){let s=new Oo(t,o);for await(let t of n.scan(r)){let n=t[0];if(!n.startsWith(r))break;await Wa(e,s,0,n,t[1],i,a)}return s}async function Vo(e,t,n,r,i,a,o){let s=e.meta,c=s.mutatorName;Si(s)&&w(s.clientID===a,`mutationClientID must match clientID of LocalMeta`);let l=r[c];l||i.error?.(`Cannot rebase unknown mutator ${c}`);let u=l||(async()=>{}),d=s.mutatorArgsJSON,f=await(await j(n,t)).getNextMutationID(a,t);if(f!==s.mutationID)throw Error(`Inconsistent mutation ID: original: ${s.mutationID}, next: ${f} - mutationClientID: ${a} mutatorName: ${c}`);o>=5&&xi(s);let p=await Fo(n,c,d,e.chunk.hash,t,s.timestamp,a,o);return await u(new So(a,await p.getMutationID(),`rebase`,p,i),d),p}async function Ho(e,t,n,r,i,a,o){return(await Vo(e,t,n,r,i,a,o)).putCommit()}async function Uo(e,t,n,r,i,a,o,s){return(await Vo(e,t,n,i,a,o,s)).commit(r)}function Wo(e,t){return typeof e==`object`&&!!e&&e.error===t}function Go(e){return typeof e.error==`string`}function Ko(e){return Wo(e,`ClientStateNotFound`)}function qo(e){if(!Wo(e,`VersionNotSupported`))return!1;let{versionType:t}=e;switch(t){case void 0:case`pull`:case`push`:case`schema`:return!0}return!1}function Jo(e){w(qo(e))}async function Yo(e,t,n,r){let i={headers:{"Content-type":`application/json`,Authorization:t,"X-Replicache-RequestID":n},body:JSON.stringify(r),method:`POST`},a=new Request(e,i),o=await fetch(a),s=o.status;return s===200?[o,{httpStatusCode:s,errorMessage:``}]:[void 0,{httpStatusCode:s,errorMessage:await o.text()}]}function Xo(e){D(e),E(e.httpStatusCode),T(e.errorMessage)}function Zo(e){rn(e);for(let t of e)Qo(t)}function Qo(e){switch(D(e),e.op){case`put`:T(e.key),Pn(e.value);break;case`update`:if(T(e.key),e.merge!==void 0&&Fn(e.merge),e.constrain!==void 0){rn(e.constrain);for(let t of e.constrain)T(t)}break;case`del`:T(e.key);break;case`clear`:break;default:throw Error(`unknown patch op \`${e.op}\`, expected one of \`put\`, \`del\`, \`clear\``)}}function $o(e){async function t(t,n){let[r,i]=await Yo(e.pullURL,e.auth,n,t);return r?{response:await r.json(),httpRequestInfo:i}:{httpRequestInfo:i}}return es.add(t),t}var es=new WeakSet;function ts(e){return es.has(e)}function ns(e){if(D(e),Ko(e)||qo(e))return;let t=e;t.cookie!==void 0&&Pn(t.cookie),E(t.lastMutationID),Zo(t.patch)}function rs(e){if(D(e),Ko(e)||qo(e))return;let t=e;t.cookie!==void 0&&Gn(t.cookie),is(t.lastMutationIDChanges),Zo(t.patch)}function is(e){D(e);for(let[t,n]of Object.entries(e))T(t),E(n)}function as(e){D(e),Xo(e.httpRequestInfo),e.response!==void 0&&rs(e.response)}function os(e){D(e),Xo(e.httpRequestInfo),e.response!==void 0&&ns(e.response)}function ss(e){async function t(t,n){let[r,i]=await Yo(e.pushURL,e.auth,n,t);if(!r)return{httpRequestInfo:i};let a={httpRequestInfo:i},o;try{o=await r.json()}catch{return a}return(Ko(o)||qo(o))&&(a.response=o),a}return cs.add(t),t}var cs=new WeakSet;function ls(e){return cs.has(e)}function us(e=`info`,t=[je],n){return new Me(e,n,t.length===1?t[0]:new ke(t))}var ds=kr(Dr({prefix:O.string().optional(),jsonPointer:O.string(),allowEmpty:O.boolean().optional()}));function fs(e,t){return e.jsonPointer===t.jsonPointer&&(e.allowEmpty??!1)===(t.allowEmpty??!1)&&(e.prefix??``)===(t.prefix??``)}function ps(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let[n,r]of Object.entries(e)){let e=t[n];if(!e||!fs(r,e))return!1}return!0}var ms=Dr({headHash:Lr,mutatorNames:Or(O.string()),indexes:ds,mutationIDs:kr(O.number()),lastServerAckdMutationIDs:O.record(O.number()),disabled:O.boolean()}),hs=`client-groups`;function gs(e){wr(e,ms)}function _s(e){D(e);let t=new Map;for(let[n,r]of Object.entries(e))r!==void 0&&(gs(r),t.set(n,r));return t}function vs(e,t){let n={};for(let[r,i]of e.entries())t.assertValidHash(i.headHash),n[r]={...i,mutatorNames:[...i.mutatorNames.values()]};return ar(n)}async function ys(e,t){return _s((await t.getChunk(e))?.data)}async function bs(e){let t=await e.getHead(hs);return t?ys(t,e):new Map}async function xs(e,t){let n=await bs(t);for(let[t,r]of e)Cs(r,n.get(t));return ws(e,t)}async function Ss(e,t,n){let r=await bs(n);Cs(t,r.get(e));let i=new Map(r);return i.set(e,t),ws(i,n)}function Cs(e,t){let n=new Set(e.mutatorNames);w(n.size===e.mutatorNames.length,`A client group's mutatorNames must be a set.`),t!==void 0&&(w(ps(t.indexes,e.indexes),`A client group's index definitions must never change.`),w(Ts(n,t.mutatorNames),`A client group's mutatorNames must never change.`))}async function ws(e,t){let n=vs(e,t),r=new Set;for(let t of e.values())r.add(t.headHash);let i=t.createChunk(n,fr(r));return await t.putChunk(i),await t.setHead(hs,i.hash),e}function Ts(e,t){if(t.length!==e.size)return!1;for(let n of t)if(!e.has(n))return!1;return!0}async function Es(e,t){return(await bs(t)).get(e)}function Ds(e){for(let[t,n]of Object.entries(e.mutationIDs)){let r=e.lastServerAckdMutationIDs[t];if(r===void 0&&n!==0||r<n)return!0}return!1}async function Os(e,t){let n=await Es(e,t);n&&await Ss(e,{...n,disabled:!0},t)}var ks=O.string(),As=O.string();function M(e,t){return Ms(e.read(),t)}function js(e,t){return Ms(e.write(),t)}function N(e,t){return Ms(e.write(),async e=>{let n=await t(e);return await e.commit(),n})}async function Ms(e,t){let n=await e;try{return await t(n)}finally{n.release()}}function Ns(){let e=_r(),t=_r();return(e<<64n|t).toString(32).slice(-18).padStart(18,`0`)}var Ps=Dr({heartbeatTimestampMs:O.number(),headHash:Lr,mutationID:O.number(),lastServerAckdMutationID:O.number()}),Fs=Dr({heartbeatTimestampMs:O.number(),headHash:Lr,tempRefreshHash:Lr.nullable(),clientGroupID:ks}),Is=Dr({heartbeatTimestampMs:O.number(),refreshHashes:Or(Lr),persistHash:Lr.nullable(),clientGroupID:ks});function Ls(e){return e.refreshHashes!==void 0}function Rs(e){return e.clientGroupID!==void 0}var zs=`clients`,Bs=O.union(Ps,Fs,Is);function Vs(e){wr(e,Bs)}function Hs(e){wr(e,Ps)}function Us(e){wr(e,Is)}function Ws(e){D(e);let t=new Map;for(let n in e)if(Mn(e,n)){let r=e[n];r!==void 0&&(Vs(r),t.set(n,r))}return t}function Gs(e,t){for(let n of e.values())Ls(n)?(n.refreshHashes.forEach(t.assertValidHash),n.persistHash&&t.assertValidHash(n.persistHash)):(t.assertValidHash(n.headHash),Rs(n)&&n.tempRefreshHash&&t.assertValidHash(n.tempRefreshHash));return ar(Object.fromEntries(e))}async function Ks(e){return qs(await e.getHead(zs),e)}async function qs(e,t){return e?Ws((await t.getChunk(e))?.data):new Map}var Js=class extends Error{name=`ClientStateNotFoundError`;id;constructor(e){super(`Client state not found, id: ${e}`),this.id=e}};async function Ys(e,t){if(!await Xs(e,t))throw new Js(e)}async function Xs(e,t){return!!await Zs(e,t)}async function Zs(e,t){return(await Ks(t)).get(e)}async function Qs(e,t){let n=await Zs(e,t);if(!n)throw new Js(e);return n}function $s(e,t,n,r,i,a,o){return js(n,async n=>{async function s(t,a,o,s){let l=Hi(t,{},a,o,s),u=n.createChunk(l,Ki(l)),d=Ns(),f={heartbeatTimestampMs:Date.now(),refreshHashes:[u.hash],persistHash:null,clientGroupID:d},p=new Map(c).set(e,f),m={headHash:u.hash,mutatorNames:r,indexes:i,mutationIDs:{},lastServerAckdMutationIDs:{},disabled:!1};return await Promise.all([n.putChunk(u),lc(p,n),Ss(d,m,n)]),await n.commit(),[f,u.hash,p,!0]}let c=await Ks(n),l=await ic(n,r,i);if(l.type===rc){let{clientGroupID:t,headHash:r}=l,i={clientGroupID:t,refreshHashes:[r],heartbeatTimestampMs:Date.now(),persistHash:null},a=new Map(c).set(e,i);return await lc(a,n),await n.commit(),[i,r,a,!1]}if(!o||l.type===tc){let e=n.createChunk(Ta,[]);await n.putChunk(e);let t=[];for(let[n,r]of Object.entries(i)){let i=Pi(n,r);t.push({definition:i,valueHash:e.hash})}return s(null,null,e.hash,t)}w(l.type===nc);let{snapshot:u}=l,d=[],{valueHash:f,indexes:p}=u,m=new La(n,a,f);for(let[e,r]of Object.entries(i)){let{prefix:i=``,jsonPointer:o,allowEmpty:s=!1}=r,c={name:e,keyPrefix:i,jsonPointer:o,allowEmpty:s},l=ec(p,c);if(l)d.push({definition:c,valueHash:l.valueHash});else{let e=await Bo(t,n,m,i,o,s,a);d.push({definition:c,valueHash:await e.flush()})}}return s(u.meta.basisHash,u.meta.cookieJSON,u.valueHash,d)})}function ec(e,t){return e.find(e=>Mi(e.definition,t))}var tc=0,nc=1,rc=2;async function ic(e,t,n){let r,i,a=new Set(t),o=await bs(e);for(let[t,s]of o){if(!s.disabled&&Ts(a,s.mutatorNames)&&ps(n,s.indexes))return{type:rc,clientGroupID:t,headHash:s.headHash};let o=await pi(s.headHash,e);Oi(o);let{cookieJSON:c}=o.meta;(r===void 0||Un(c,r)>0)&&(r=c,i=o)}return i?{type:nc,snapshot:i}:{type:tc}}function ac(e){let t=new Set;for(let n of e.values())if(Ls(n)){for(let e of n.refreshHashes)t.add(e);n.persistHash&&t.add(n.persistHash)}else t.add(n.headHash),Rs(n)&&n.tempRefreshHash&&t.add(n.tempRefreshHash);return fr(t)}async function oc(e,t){let n=await sc(e,t);if(n)return Es(n,t)}async function sc(e,t){let n=await Zs(e,t);if(!(!n||!Rs(n)))return n.clientGroupID}async function cc(e,t,n){let r=await Ks(n);return lc(new Map(r).set(e,t),n)}async function lc(e,t){let n=Gs(e,t),r=t.createChunk(n,ac(e));return await t.putChunk(r),await t.setHead(zs,r.hash),r.hash}var uc=typeof navigator<`u`?navigator:void 0,dc=Symbol(),fc=class{r=new Map;#e;constructor(e){this.#e=e}has(e){switch(this.r.get(e)){case void 0:return this.#e.has(e);case dc:return Jn;default:return qn}}async get(e){let t=this.r.get(e);switch(t){case dc:return;case void 0:return dr(await this.#e.get(e));default:return t}}put(e,t){return this.r.set(e,ar(t)),Yn}del(e){return this.r.set(e,dc),Yn}release(){this.#e.release()}get closed(){return this.#e.closed}},pc={durability:`relaxed`},mc=`chunks`,hc=class{#e;#t=!1;#n=!1;constructor(e){this.#e=xc(e)}read(){return this.#r(yc)}write(){return this.#r(vc)}async close(){this.#n||(await this.#e).close(),this.#t=!0}get closed(){return this.#t}async#r(e){let t=async e=>{let{promise:t,resolve:n,reject:r}=S(),i=indexedDB.open(e);i.onupgradeneeded=()=>{let t=i.transaction;sn(t),t.abort(),this.#n=!0,r(new Sc(`Replicache IndexedDB not found: ${e}`))},i.onsuccess=()=>n(i.result),i.onerror=()=>r(i.error);let a=await t;return a.onversionchange=()=>a.close(),a},n=await this.#e;try{return e(n)}catch(r){if(!this.#t&&r instanceof DOMException){if(r.name===`InvalidStateError`)return this.#e=t(n.name),e(await this.#e);if(r.name===`NotFoundError`)throw this.#n=!0,indexedDB.deleteDatabase(n.name),new Sc(`Replicache IndexedDB ${n.name} missing object store. Deleting db.`)}throw r}}},gc=class{#e;#t=!1;constructor(e){this.#e=e}has(e){return new Promise((t,n)=>{let r=bc(this.#e).count(e);r.onsuccess=()=>t(r.result>0),r.onerror=()=>n(r.error)})}get(e){return new Promise((t,n)=>{let r=bc(this.#e).get(e);r.onsuccess=()=>t(dr(r.result)),r.onerror=()=>n(r.error)})}release(){this.#t=!0}get closed(){return this.#t}},_c=class extends fc{#e;#t=!1;constructor(e){super(new gc(e)),this.#e=e}commit(){return this.r.size===0?Yn:new Promise((e,t)=>{let n=this.#e,r=bc(n);for(let[e,t]of this.r)t===dc?r.delete(e):r.put(t,e);n.oncomplete=()=>e(),n.onerror=()=>t(n.error)})}release(){this.#t=!0}get closed(){return this.#t}};function vc(e){return new _c(e.transaction(mc,`readwrite`,pc))}function yc(e){return new gc(e.transaction(mc,`readonly`))}function bc(e){return e.objectStore(mc)}function xc(e){return new Promise((t,n)=>{let r=indexedDB.open(e);r.onupgradeneeded=()=>{r.result.createObjectStore(mc)},r.onsuccess=()=>{let e=r.result;e.onversionchange=()=>e.close(),t(e)},r.onerror=()=>n(r.error)})}var Sc=class extends Error{name=`IDBNotFoundError`},Cc=class{#e;#t;#n=!1;constructor(e,t){this.#e=e,this.#t=t}release(){this.#t(),this.#n=!0}get closed(){return this.#n}has(e){return Promise.resolve(this.#e.has(e))}get(e){return Promise.resolve(this.#e.get(e))}},wc=class extends fc{#e;constructor(e,t){super(new Cc(e,t)),this.#e=e}commit(){return this.r.forEach((e,t)=>{e===dc?this.#e.delete(t):this.#e.set(t,e)}),this.r.clear(),this.release(),Yn}},Tc=new Map;function Ec(e){return Tc.delete(e),Yn}var Dc=class{#e;#t;#n=!1;constructor(e){let t=Tc.get(e),n,r;t?{lock:n,map:r}=t:(n=new Le,r=new Map,Tc.set(e,{lock:n,map:r})),this.#t=n,this.#e=r}async read(){let e=await this.#t.read();return new Cc(this.#e,e)}async write(){let e=await this.#t.write();return new wc(this.#e,e)}close(){return this.#n=!0,Yn}get closed(){return this.#n}},Oc=class{#e;#t;#n;constructor(e,t){this.#e=e,this.#t=t,this.#n=new hc(t)}read(){return this.#r(e=>e.read())}write(){return this.#r(e=>e.write())}async#r(e){try{return await e(this.#n)}catch(t){if(kc(t))return this.#n instanceof hc&&(this.#e.info?.(`Switching to MemStore because of Firefox private browsing error`),this.#n=new Dc(this.#t)),e(this.#n);throw t}}close(){return this.#n.close()}get closed(){return this.#n.closed}};function kc(e){return Ac()&&e instanceof DOMException&&e.name===`InvalidStateError`&&e.message===`A mutation operation was attempted on a database that did not allow mutations.`}function Ac(){return uc?.userAgent.includes(`Firefox`)??!1}function jc(e,t){return Ac()?new Oc(e,t):new hc(t)}function Mc(e){if(!Ac())return Nc(e);try{return Nc(e)}catch(t){if(kc(t))return Ec(e)}return Yn}function Nc(e){return new Promise((t,n)=>{let r=indexedDB.deleteDatabase(e);r.onsuccess=()=>t(),r.onerror=()=>n(r.error)})}var Pc=e=>new od(e),Fc=401;function Ic(e,t){return Lc(e,t,7)}function Lc(e,t,n){let r=`rep:${e}:${n}`;return t?`${r}:${t}`:r}var Rc=class{#e;constructor(e){this.#e=Pc(e)}get pullURL(){return this.#e.pullURL}set pullURL(e){this.#e.pullURL=e}get pushURL(){return this.#e.pushURL}set pushURL(e){this.#e.pushURL=e}get auth(){return this.#e.auth}set auth(e){this.#e.auth=e}get name(){return this.#e.name}get idbName(){return Ic(this.name,this.schemaVersion)}get schemaVersion(){return this.#e.schemaVersion}get mutate(){return this.#e.mutate}get pullInterval(){return this.#e.pullInterval}set pullInterval(e){this.#e.pullInterval=e}get pushDelay(){return this.#e.pushDelay}set pushDelay(e){this.#e.pushDelay=e}get puller(){return this.#e.puller}set puller(e){this.#e.puller=e}get pusher(){return this.#e.pusher}set pusher(e){this.#e.pusher=e}get requestOptions(){return this.#e.requestOptions}get onSync(){return this.#e.onSync}set onSync(e){this.#e.onSync=e}get onClientStateNotFound(){return this.#e.onClientStateNotFound}set onClientStateNotFound(e){this.#e.onClientStateNotFound=e}get onUpdateNeeded(){return this.#e.onUpdateNeeded}set onUpdateNeeded(e){this.#e.onUpdateNeeded=e}get getAuth(){return this.#e.getAuth}set getAuth(e){this.#e.getAuth=e}get profileID(){return this.#e.profileID}get clientID(){return this.#e.clientID}get clientGroupID(){return this.#e.clientGroupID}get onOnlineChange(){return this.#e.onOnlineChange}set onOnlineChange(e){this.#e.onOnlineChange=e}get online(){return this.#e.online}get closed(){return this.#e.closed}close(){return this.#e.close()}push({now:e=!1}={}){return this.#e.push({now:e})}pull({now:e=!1}={}){return this.#e.pull({now:e})}poke(e){return this.#e.poke(e)}subscribe(e,t){return this.#e.subscribe(e,t)}experimentalWatch(e,t){return this.#e.experimentalWatch(e,t)}query(e){return this.#e.query(e)}experimentalPendingMutations(){return this.#e.experimentalPendingMutations()}},zc=class extends Error{};function Bc(e){return new Dc(e)}function Vc(e,t){switch(t){case`idb`:case void 0:return{create:t=>jc(e,t),drop:Mc};case`mem`:return{create:Bc,drop:e=>Ec(e)};default:return t}}function Hc(e){return e instanceof Error?e:Error(String(e))}async function Uc(e,t,n){for(let r of n)switch(r.op){case`put`:await t.put(e,r.key,ar(r.value));break;case`update`:{let n=await t.get(r.key),i=[],a=e=>{for(let[t,n]of Object.entries(e))(!r.constrain||r.constrain.length===0||r.constrain.indexOf(t)>-1)&&i.push([t,n])};n!==void 0&&(D(n),a(n)),r.merge&&a(r.merge),await t.put(e,r.key,ar(Object.fromEntries(i)));break}case`del`:await t.del(e,r.key);break;case`clear`:await t.clear();break}}var Wc=class extends Error{name=`PullError`;causedBy;constructor(e){super(`Failed to pull`),this.causedBy=e}},Gc=`sync`,Kc=0,qc=1;function Jc(e){return e.pullVersion===qc}async function Yc(e,t,n,r,i,a,o,s,c=!0){let[l,u]=await M(a,async e=>{let n=await e.getHead(A);if(!n)throw Error(`Internal no main head found`);let r=await pi(n,e),i=r.meta.cookieJSON;return[await r.getMutationID(t,e),i]}),{response:d,httpRequestInfo:f}=await Zc(s,r,{profileID:e,clientID:t,cookie:u,lastMutationID:l,pullVersion:Kc,schemaVersion:n},i);if(!d)return{httpRequestInfo:f,syncHead:k};if(!c||Go(d))return{httpRequestInfo:f,pullResponse:d,syncHead:k};let p=await Qc(s,a,u,d,t,o);if(p.type===2)throw Error(`Overlapping sync`);return{httpRequestInfo:f,pullResponse:d,syncHead:p.type===0?p.syncHead:k}}async function Xc(e,t,n,r,i,a,o,s,c,l=!0){let u=await M(o,async e=>{let t=await e.getHead(A);if(!t)throw Error(`Internal no main head found`);let n=(await pi(t,e)).meta;return Ei(n),n.cookieJSON}),{response:d,httpRequestInfo:f}=await Zc(c,i,{profileID:e,clientGroupID:n,cookie:u,pullVersion:qc,schemaVersion:r},a);if(!d)return{httpRequestInfo:f,syncHead:k};if(!l||Go(d))return{httpRequestInfo:f,pullResponse:d,syncHead:k};let p=await el(c,o,u,d,t,s);return{httpRequestInfo:f,pullResponse:d,syncHead:p.type===0?p.syncHead:k}}async function Zc(e,t,n,r){e.debug?.(`Starting pull...`);let i=Date.now(),a;try{a=await t(n,r),e.debug?.(`...Pull ${a.response?`complete`:`failed`} in `,Date.now()-i,`ms`)}catch(e){throw new Wc(Hc(e))}try{return Jc(n)?as(a):os(a),a}catch(e){throw new zc(`Invalid puller result`,Hc(e))}}function Qc(e,t,n,r,i,a){return js(t,async t=>{w(a<=4);let o=t,s=await o.getHead(A);if(s===void 0)throw Error(`Main head disappeared`);let c=await pi(s,o),[l,u]=hi(c,i);if(!Nn(n,u))return{type:2};if(r.lastMutationID<l)throw Error($c(`lastMutationID`,String(r.lastMutationID),String(l)));let d=ar(r.cookie??null);if(Nn(d,u))return r.patch.length>0&&e.error?.(`handlePullResponse: cookie ${JSON.stringify(u)} did not change, but patch is not empty`),r.lastMutationID!==l&&e.error?.(`handlePullResponse: cookie ${JSON.stringify(u)} did not change, but lastMutationID did change`),{type:1};let f=await _i(s,o),p;for(let e of f)if(await e.getMutationID(i,o)<=r.lastMutationID){p=e;break}if(!p)throw Error(`Internal invalid chain`);let m=await Io(c.chunk.hash,r.lastMutationID,d,t,zo(p,t,a),i,a);await Uc(e,m,r.patch);let h=new La(o,a,p.valueHash);for await(let t of m.map.diff(h))await Ro(e,m.indexes,t.key,()=>Promise.resolve(t.oldValue),t.newValue);return{type:0,syncHead:await m.commit(Gc)}})}function $c(e,t,n){return`Received ${e} ${t} is < than last snapshot ${e} ${n}; ignoring client view`}function el(e,t,n,r,i,a){return js(t,async t=>{let o=t,s=await o.getHead(A);if(s===void 0)throw Error(`Main head disappeared`);let c=await pi(s,o),l=c.meta;Ei(l);let u=l.cookieJSON;if(!Nn(n,u))return e.debug?.(`handlePullResponse: cookie mismatch, response is not applicable`),{type:2};for(let[e,t]of Object.entries(r.lastMutationIDChanges)){let n=l.lastMutationIDs[e];if(n!==void 0&&t<n)throw Error($c(`${e} lastMutationID`,String(t),String(n)))}let d=ar(r.cookie);if(Un(d,u)<0)throw Error($c(`cookie`,JSON.stringify(d),JSON.stringify(u)));if(Nn(d,u))return r.patch.length>0&&e.error?.(`handlePullResponse: cookie ${JSON.stringify(u)} did not change, but patch is not empty`),Object.keys(r.lastMutationIDChanges).length>0&&(console.log(r.lastMutationIDChanges),e.error?.(`handlePullResponse: cookie ${JSON.stringify(u)} did not change, but lastMutationIDChanges is not empty`)),{type:1};let f=await Lo(c.chunk.hash,{...l.lastMutationIDs,...r.lastMutationIDChanges},d,t,i,a);return await Uc(e,f,r.patch),{type:0,syncHead:await f.commit(Gc)}})}function tl(e,t,n,r,i,a){return js(e,async e=>{let o=e,s=await o.getHead(Gc);if(s===void 0)throw Error(`Missing sync head`);if(s!==n)throw t.error?.(`maybeEndPull, Wrong sync head. Expecting:`,n,`got:`,s),Error(`Wrong sync head`);let c=await pi(s,o),l=await o.getHead(A);if(l===void 0)throw Error(`Missing main head`);let u=await pi(l,o),{meta:d}=c,f=d.basisHash;if(c===null)throw Error(`Sync snapshot with no basis`);if(f!==u.chunk.hash)throw Error(`Overlapping syncs`);let p=await j(s,o),m=[],h=await ci(l,o);for(let e of h){let t=r;ti(e)&&(t=e.meta.clientID),await e.getMutationID(t,o)>await p.getMutationID(t,o)&&m.push(e)}m.reverse();let g=new jo;if(m.length>0)return{syncHead:s,replayMutations:m,diffs:g};let _=await j(l,o);if(i.shouldComputeDiffs()){let e=await Do(new La(o,a,_.valueHash),new La(o,a,p.valueHash));g.set(``,e),await No(_,p,o,g,i,a)}if(await Promise.all([e.setHead(A,s),e.removeHead(Gc)]),await e.commit(),t.debug){let[e,n]=hi(u,r),[i,a]=hi(c,r);t.debug(`Successfully pulled new snapshot with lastMutationID:`,i,`(prev:`,e,`), cookie: `,a,`(prev:`,n,`), sync head hash:`,s,`, main head hash:`,l,`, valueHash:`,p.valueHash,`(prev:`,u.valueHash)}return{syncHead:s,replayMutations:[],diffs:g}})}var nl=[],rl=O.unknown().chain(e=>{if(An)return Xe(e);let t=Rn(e,nl)?Xe(e):Ze({message:`Not a JSON value`,path:nl.slice()});return nl.length=0,t});O.unknown().chain(e=>{if(An)return Xe(e);let t=zn(e,nl)?Xe(e):Ze({message:`Not a JSON object`,path:nl.slice()});return nl.length=0,t});function il(e){D(e),Xo(e.httpRequestInfo),e.response!==void 0&&al(e.response)}function al(e){Ko(e)||Jo(e)}var ol=class extends Error{name=`PushError`;causedBy;constructor(e){super(`Failed to push`),this.causedBy=e}},sl=0,cl=1,ll=Dr({id:O.number(),name:O.string(),args:rl,timestamp:O.number()}),ul=Dr({id:O.number(),name:O.string(),args:rl,timestamp:O.number(),clientID:As});O.object({pushVersion:O.literal(0),schemaVersion:O.string(),profileID:O.string(),clientID:As,mutations:O.array(ll)}),O.object({pushVersion:O.literal(1),schemaVersion:O.string(),profileID:O.string(),clientGroupID:ks,mutations:O.array(ul)});function dl(e){return{id:e.mutationID,name:e.mutatorName,args:e.mutatorArgsJSON,timestamp:e.timestamp}}function fl(e){return{id:e.mutationID,name:e.mutatorName,args:e.mutatorArgsJSON,timestamp:e.timestamp,clientID:e.clientID}}async function pl(e,t,n,r,i,a,o,s,c){let l=await M(t,async e=>{let t=await e.getHead(A);if(!t)throw Error(`Internal no main head`);return ci(t,e)});if(l.length===0)return;l.reverse();let u;if(c===cl){let e=[];for(let t of l)if(ti(t))e.push(fl(t.meta));else throw Error(`Internal non local pending commit`);w(i),u={profileID:r,clientGroupID:i,mutations:e,pushVersion:cl,schemaVersion:s}}else{w(c===sl);let e=[];for(let t of l)if(ei(t))e.push(dl(t.meta));else throw Error(`Internal non local pending commit`);u={profileID:r,clientID:a,mutations:e,pushVersion:sl,schemaVersion:s}}n.debug?.(`Starting push...`);let d=Date.now(),f=await ml(o,u,e);return n.debug?.(`...Push complete in `,Date.now()-d,`ms`),f}async function ml(e,t,n){let r;try{r=await e(t,n)}catch(e){throw new ol(Hc(e))}try{return il(r),r}catch(e){throw new zc(`Invalid pusher result`,Hc(e))}}var hl=10*2**20,gl=class{#e=!1;#t;constructor(e){this.#t=e}async recoverMutations(e,t,n,r,i,a){let{lc:o,enableMutationRecovery:s,isPushDisabled:c,delegate:l}=this.#t;if(!s||this.#e||!l.online||l.closed||c())return!1;let u=`Recovering mutations.`;o.debug?.(`Start:`,u);try{this.#e=!0,await t,await bl(r,this.#t,n,e);for(let e of Object.values(await i.getDatabases())){if(l.closed)return o.debug?.(`Exiting early due to close:`,u),!0;if(e.replicacheName===l.name&&e.name!==l.idbName)switch(e.replicacheFormatVersion){case 4:case 5:case 6:case 7:await yl(e,this.#t,void 0,a)}}}catch(e){_l(e,o,u,l)}finally{o.debug?.(`End:`,u),this.#e=!1}return!0}};function _l(e,t,n,r){r.closed?t.debug?.(`Mutation recovery error likely due to close during:
2
+ ${n}
3
+ Error:
4
+ `,e):t.error?.(`Mutation recovery error during:
5
+ ${n}
6
+ Error:
7
+ `,e)}async function vl(e,t,n,r,i,a){w(r.replicacheFormatVersion===4),Hs(e);let{delegate:o,lc:s,wrapInOnlineCheck:c,wrapInReauthRetries:l,isPushDisabled:u,isPullDisabled:d}=i,f=o.clientID;if(f===t||e.lastServerAckdMutationID>=e.mutationID)return;let p=`Recovering mutations for ${t}.`;s.debug?.(`Start:`,p);let m=new Ur(n,hl,gr,Ir);try{if(await N(m,t=>t.setHead(A,e.headHash)),u()){s.debug?.(`Cannot recover mutations for client ${t} because push is disabled.`);return}let{pusher:i}=o,p=`recoveringMutationsPush`;if(!await c(async()=>{let{result:e}=await l(async(e,n)=>{cn(m);let a=await pl(e,m,n,await o.profileID,void 0,t,i,r.schemaVersion,sl);return{result:a,httpRequestInfo:a?.httpRequestInfo}},p,s);return!!e&&e.httpRequestInfo.httpStatusCode===200},p)){s.debug?.(`Failed to recover mutations for client ${t} due to a push error.`);return}if(d()){s.debug?.(`Cannot confirm mutations were recovered for client ${t} because pull is disabled.`);return}let{puller:h}=o,g=`recoveringMutationsPull`,_;if(!await c(async()=>{let{result:e}=await l(async(e,n)=>{let i=await Yc(await o.profileID,t,r.schemaVersion,h,e,m,a,n,!1);return{result:i,httpRequestInfo:i.httpRequestInfo}},g,s);return{pullResponse:_}=e,!!_&&e.httpRequestInfo.httpStatusCode===200},g)){s.debug?.(`Failed to recover mutations for client ${t} due to a pull error.`);return}return s.debug&&_&&(Ko(_)?s.debug?.(`Client ${f} cannot recover mutations for client ${t}. The client no longer exists on the server.`):qo(_)?s.debug?.(`Version is not supported on the server. versionType: ${_.versionType}. Cannot recover mutations for client ${t}.`):s.debug?.(`Client ${f} recovered mutations for client ${t}. Details`,{mutationID:e.mutationID,lastServerAckdMutationID:e.lastServerAckdMutationID,lastMutationID:_.lastMutationID})),await N(n,async e=>{let n=await Ks(e),r=n.get(t);if(!r)return n;Hs(r);let i=async t=>(await lc(t,e),t);if(Ko(_)||qo(_)){let e=new Map(n);return e.delete(t),i(e)}return w(_),r.lastServerAckdMutationID>=_.lastMutationID?n:i(new Map(n).set(t,{...r,lastServerAckdMutationID:_.lastMutationID}))})}catch(e){_l(e,s,p,o)}finally{await m.close(),s.debug?.(`End:`,p)}}async function yl(e,t,n,r){let i=new Zr(r(e.name),Mr,Ir);try{await bl(e,t,i,n)}finally{await i.close()}}function bl(e,t,n,r){return e.replicacheFormatVersion>=5?Sl(e,t,n):xl(e,t,n,r)}async function xl(e,t,n,r){let{delegate:i,lc:a}=t,o=`Recovering mutations from db ${e.name}.`;a.debug?.(`Start:`,o);try{let s=sa(e.replicacheFormatVersion),c=r||await M(n,e=>Ks(e)),l=new Set;for(;c;){let r;for(let[u,d]of c){if(i.closed){a.debug?.(`Exiting early due to close:`,o);return}if(!l.has(u)&&(l.add(u),r=await vl(d,u,n,e,t,s),r))break}c=r}}catch(e){_l(e,a,o,i)}a.debug?.(`End:`,o)}async function Sl(e,t,n){let{delegate:r,lc:i}=t,a=`Recovering mutations from db ${e.name}.`;i.debug?.(`Start:`,a);try{let o=sa(e.replicacheFormatVersion),s=await M(n,e=>bs(e)),c=new Set;for(;s;){let l;for(let[u,d]of s){if(r.closed){i.debug?.(`Exiting early due to close:`,a);return}if(!c.has(u)&&(c.add(u),l=await Tl(d,u,n,e,t,o),l))break}s=l}}catch(e){_l(e,i,a,r)}i.debug?.(`End:`,a)}function Cl(e){return Ko(e)||qo(e)}async function wl(e,t,n,r,i){Ko(r)?e.debug?.(`Client group ${t} cannot recover mutations for client group ${n}. The client group is unknown on the server. Marking it as disabled.`):qo(r)&&e.debug?.(`Client group ${t} cannot recover mutations for client group ${n}. The client group's version is not supported on the server. versionType: ${r.versionType}. Marking it as disabled.`),await N(i,e=>Os(n,e))}async function Tl(e,t,n,r,i,a){w(r.replicacheFormatVersion>=5);let{delegate:o,lc:s,wrapInOnlineCheck:c,wrapInReauthRetries:l,isPushDisabled:u,isPullDisabled:d,clientGroupIDPromise:f}=i,p=await f;if(cn(p),p===t)return;let m,h=!0;for(let[t,n]of Object.entries(e.mutationIDs))if(!e.lastServerAckdMutationIDs[t]||e.lastServerAckdMutationIDs[t]<n){m=t,h=!1;break}if(h)return;if(e.disabled){s.debug?.(`Not recovering mutations for client group ${t} because group is disabled.`);return}let g=`Recovering mutations for client group ${t}.`;s.debug?.(`Start:`,g);let _=new Ur(n,hl,gr,Ir);try{if(await N(_,t=>t.setHead(A,e.headHash)),u()){s.debug?.(`Cannot recover mutations for client group ${t} because push is disabled.`);return}let{pusher:i}=o,f=`recoveringMutationsPush`;if(!await c(async()=>{let{result:e}=await l(async(e,n)=>{w(m),w(_);let a=await pl(e,_,n,await o.profileID,t,m,i,r.schemaVersion,cl);return{result:a,httpRequestInfo:a?.httpRequestInfo}},f,s);if(!e)return!1;let a=e.response;return Cl(a)?(await wl(s,p,t,a,n),!1):e.httpRequestInfo.httpStatusCode===200},f)){s.debug?.(`Failed to recover mutations for client ${t} due to a push error.`);return}if(d()){s.debug?.(`Cannot confirm mutations were recovered for client ${t} because pull is disabled.`);return}let{puller:h}=o,g=`recoveringMutationsPull`,v;if(!await c(async()=>{let{result:e}=await l(async(e,n)=>{w(m);let i=await Xc(await o.profileID,m,t,r.schemaVersion,h,e,_,a,n,!1);return{result:i,httpRequestInfo:i.httpRequestInfo}},g,s),{pullResponse:i}=e;return Cl(i)?(await wl(s,p,t,i,n),!1):!i||e.httpRequestInfo.httpStatusCode!==200?!1:(v=i,!0)},g)){s.debug?.(`Failed to recover mutations for client ${t} due to a pull error.`);return}return w(v),s.debug?.(`Client group ${p} recovered mutations for client group ${t}. Details`,{mutationIDs:e.mutationIDs,lastServerAckdMutationIDs:e.lastServerAckdMutationIDs,lastMutationIDChanges:v.lastMutationIDChanges}),await N(n,async e=>{let n=await bs(e),r=n.get(t);if(!r)return n;w(v);let i={},a=!1;for(let[e,t]of Object.entries(v.lastMutationIDChanges))(r.lastServerAckdMutationIDs[e]??0)<t&&(i[e]=t,a=!0);if(!a)return n;let o=new Map(n).set(t,{...r,lastServerAckdMutationIDs:{...r.lastServerAckdMutationIDs,...i}});return await xs(o,e),o})}catch(e){_l(e,s,g,o)}finally{await _.close(),s.debug?.(`End:`,g)}}var El=class{name;onmessage=null;onmessageerror=null;constructor(e){this.name=e}addEventListener(){}removeEventListener(){}dispatchEvent(){return!1}close(){}postMessage(){}},Dl=typeof BroadcastChannel>`u`?El:BroadcastChannel;function Ol(e){return`replicache-new-client-group:${e}`}function kl(e){return`replicache-new-client-group-v1:${e}`}function Al(e){return typeof e==`object`&&typeof e.clientGroupID==`string`&&typeof e.idbName==`string`}function jl(e,t,n,r,i,a,o){if(n.aborted)return;let s=new Dl(kl(e));if(i){s.postMessage({clientGroupID:r,idbName:t});let n=new Dl(Ol(e));n.postMessage([r]),n.close()}s.onmessage=async e=>{let{data:n}=e;if(Al(n)){let{clientGroupID:e,idbName:i}=n;if(e!==r)if(i===t)await M(o,async t=>await Es(e,t)!==void 0)&&a();else{a();return}}},n.addEventListener(`abort`,()=>s.close(),{once:!0})}function Ml(e){return`replicache-on-persist:${e}`}function Nl(e){D(e),T(e.clientGroupID),T(e.clientID)}function Pl(e,t,n){if(t.aborted)return()=>{};let r=new Dl(Ml(e));return r.onmessage=e=>{let{data:t}=e;Nl(t),n({clientGroupID:t.clientGroupID,clientID:t.clientID})},t.addEventListener(`abort`,()=>r.close(),{once:!0}),e=>{t.aborted||(r.postMessage(e),n(e))}}async function Fl(e){return(await li(await Hr(A,e),e)).map(e=>({id:e.meta.mutationID,name:e.meta.mutatorName,args:e.meta.mutatorArgsJSON,clientID:e.meta.clientID})).reverse()}function Il(e,t,n,r,i){Ll(e,t,n,r,i)}async function Ll(e,t,n,r,i){if(!i.aborted){for(r=r.withContext(`bgIntervalProcess`,e),r.debug?.(`Starting`);!i.aborted;){try{await bn(n(),i)}catch(e){if(!(e instanceof en))throw e}if(!i.aborted){r.debug?.(`Running`);try{await t()}catch(e){i.aborted?r.debug?.(`Error running most likely due to close.`,e):r.error?.(`Error running.`,e)}}}r.debug?.(`Stopping`)}}var Rl=864e5,zl=3e5,Bl;function Vl(e,t,n,r,i,a){Il(`ClientGC`,()=>(Bl=Hl(e,t,n),Bl),()=>r,i,a)}function Hl(e,t,n){return N(t,async t=>{let r=Date.now(),i=await Ks(t),a=Array.from(i).filter(([t,i])=>t===e||r-i.heartbeatTimestampMs<=n);if(a.length===i.size)return i;let o=new Map(a);return await lc(o,t),o})}var Ul=3e5,Wl;function Gl(e,t,n){Il(`ClientGroupGC`,()=>(Wl=Kl(e),Wl),()=>Ul,t,n)}function Kl(e){return N(e,async e=>{let t=await Ks(e),n=new Set;for(let e of t.values())Us(e),n.add(e.clientGroupID);let r=new Map;for(let[t,i]of await bs(e))(n.has(t)||Ds(i))&&r.set(t,i);return await xs(r,e),r})}var ql=`replicache-dbs-v0`,Jl=``;function Yl(){return Jl+ql}var Xl=`dbs`,Zl=`profileId`;function Ql(e){D(e);for(let[t,n]of Object.entries(e))T(t),$l(n),w(t===n.name)}function $l(e){D(e),T(e.name),T(e.replicacheName),E(e.replicacheFormatVersion),T(e.schemaVersion),e.lastOpenedTimestampMS!==void 0&&E(e.lastOpenedTimestampMS)}var eu=class{#e;constructor(e){this.#e=e(Yl())}putDatabase(e){return this.#t({...e,lastOpenedTimestampMS:Date.now()})}putDatabaseForTesting(e){return this.#t(e)}#t(e){return N(this.#e,async t=>{let n={...await tu(t),[e.name]:e};return await t.put(Xl,n),n})}clearDatabases(){return N(this.#e,e=>e.del(Xl))}deleteDatabases(e){return N(this.#e,async t=>{let n={...await tu(t)};for(let t of e)delete n[t];await t.put(Xl,n)})}getDatabases(){return M(this.#e,tu)}close(){return this.#e.close()}getProfileID(){return N(this.#e,async e=>{let t=await e.get(Zl);return t===void 0&&(t=`p${Ns()}`,await e.put(Zl,t)),T(t),t})}};async function tu(e){let t=await e.get(Xl);return t||=ar({}),Ql(t),t}var nu=432e5,ru=2592e6,iu=3e5;function au(e,t,n,r,i,a,o,s){let c=!0;Il(`CollectIDBDatabases`,async()=>{await ou(e,Date.now(),i,a,t)},()=>c?(c=!1,r):n,o,s)}async function ou(e,t,n,r,i,a=lu){let o=await e.getDatabases(),s=Object.values(o),{errors:c}=await cu(e,(await Promise.all(s.map(async e=>[e.name,await uu(e,t,n,r,a)]))).filter(e=>e[1]).map(e=>e[0]),i);if(c.length)throw c[0]}async function su(e,t,n){await n(e),await t.deleteDatabases([e])}async function cu(e,t,n){let r=await Promise.allSettled(t.map(async t=>(await su(t,e,n),t))),i=[],a=[];for(let e of r)e.status===`fulfilled`?i.push(e.value):a.push(e.reason);return{dropped:i,errors:a}}function lu(e){return new Zr(new hc(e),Mr,Ir)}async function uu(e,t,n,r,i){if(e.replicacheFormatVersion>7)return!1;if(e.lastOpenedTimestampMS!==void 0){let a=e.replicacheFormatVersion>=5;return t-e.lastOpenedTimestampMS<(a?r:n)?!1:!a||(w(e.replicacheFormatVersion===5||e.replicacheFormatVersion===6||e.replicacheFormatVersion===7),!await fu(i(e.name)))}let a=i(e.name),o=await M(a,Ks);return await a.close(),du(o,t,n)}function du(e,t,n){for(let r of e.values())if(t-r.heartbeatTimestampMs<n)return!1;return!0}async function fu(e){let t=await M(e,bs);for(let e of t.values())if(Ds(e))return!0;return!1}var pu=6e4,mu;function hu(e,t,n,r,i,a){Il(`Heartbeat`,async()=>{mu=gu(e,t);try{return await mu}catch(e){if(e instanceof Js){n();return}throw e}},()=>r,i,a)}function gu(e,t){return N(t,async t=>{let n=await Ks(t),r=n.get(e);if(!r)throw new Js(e);let i={...r,heartbeatTimestampMs:Date.now()},a=new Map(n).set(e,i);return await lc(a,t),a})}var _u=class{#e=new Set;#t;constructor(e){this.#t=e}async visit(e){if(this.#e.has(e))return;this.#e.add(e);let t=await this.#t.mustGetChunk(e);await this.visitChunk(t)}async visitChunk(e){await Promise.all(e.meta.map(e=>this.visit(e)))}},vu=class extends _u{#e=new Map;#t;constructor(e){super(e),this.#t=e}get gatheredChunks(){return this.#e}visit(e){return this.#t.isMemOnlyChunkHash(e)?super.visit(e):Yn}visitChunk(e){return this.#e.set(e.hash,e),super.visitChunk(e)}};async function yu(e,t,n,r,i,a,o,s=()=>Promise.resolve()){if(a())return;let[c,l,u]=await M(r,async e=>{await Ys(t,e);let n=await sc(t,e);w(n,`No main client group for clientID: ${t}`);let[,r]=await bu(e,n),i=await r.getMutationID(t,e),a=await mi(r,e);return Oi(a),[i,a,n]});if(a())return;let[d,f,p]=await M(n,async e=>{let n=await vi(A,e),r=await ui(n,{[t]:c||0},e),i=await mi(n,e);Oi(i);let a;if(gi(i,l)>0){await s();let t=i.chunk.hash,n=new vu(e);await n.visit(t),a=n.gatheredChunks}return[r,i,a]});if(a())return;let m=!1;await N(r,async n=>{let[r,a]=await bu(n,u),s=a.chunk.hash,c={...r.mutationIDs},{lastServerAckdMutationIDs:l}=r;if(p){let u=await Qs(t,n);Us(u);let d=await mi(a,n);if(Oi(d),gi(f,d)>0){m=!0,await Promise.all(Array.from(p.values(),e=>n.putChunk(e))),await cc(t,{...u,persistHash:f.chunk.hash},n),s=f.chunk.hash;let a=await li(r.headHash,n);l=f.meta.lastMutationIDs,c={...l},s=await xu(a,s,n,i,c,e,o)}}s=await xu(d,s,n,i,c,e,o);let h={...r,headHash:s,mutationIDs:c,lastServerAckdMutationIDs:l};await Ss(u,h,n)}),p&&m&&await N(n,e=>e.chunksPersisted([...p.keys()]))}async function bu(e,t){let n=await Es(t,e);return w(n,`No client group for clientGroupID: ${t}`),[n,await j(n.headHash,e)]}async function xu(e,t,n,r,i,a,o){for(let s=e.length-1;s>=0;s--){let c=e[s],{meta:l}=c,u=await j(t,n);await c.getMutationID(l.clientID,n)>await u.getMutationID(l.clientID,n)&&(i[l.clientID]=l.mutationID,t=(await Ho(c,n,t,r,a,l.clientID,o)).chunk.hash)}return t}var Su=class extends _u{#e=new Map;#t=0;#n;#r;#i;constructor(e,t,n,r=er){super(e),this.#n=t,this.#r=n,this.#i=r}get gatheredChunks(){return this.#e}visit(e){return this.#t>=this.#r||this.#n.isCached(e)?Yn:super.visit(e)}visitChunk(e){if(this.#t<this.#r){let t=this.#i(e);this.#e.set(e.hash,{chunk:e,size:t}),this.#t+=t}return super.visitChunk(e)}},Cu=5*2**20,wu=300;async function Tu(e,t,n,r,i,a,o,s){if(o())return;let c=await M(t,e=>di(A,e));Oi(c);let l=await t.withSuspendedSourceCacheEvictsAndDeletes(async()=>{let l=await N(n,async e=>{let n=await oc(r,e);if(!n)throw new Js(r);let i=n.headHash,a=await(await j(i,e)).getMutationID(r,e),o=await Qs(r,e);Us(o);let s=await pi(i,e);if(Oi(s),Eu(c,s,i))return;let l=new Su(e,t,Cu);await l.visit(i);let{gatheredChunks:u}=l,d=new Set(o.refreshHashes);return d.add(i),await cc(r,{...o,refreshHashes:[...d]},e),[i,s,a,u,o.refreshHashes]});if(o()||!l||(await bn(wu),o()))return{type:`aborted`};let[u,d,f,p,m]=l;return N(t,async t=>{let n=await vi(A,t),o=await mi(n,t);if(Oi(o),Eu(o,d,u))return{type:`aborted`,refreshHashesForRevert:m};let c=await ui(n,{[r]:f},t),l=[];for(let{chunk:e,size:n}of p.values())l.push(t.putChunk(e,n));await Promise.all(l);let h=u;for(let n=c.length-1;n>=0;n--)h=(await Ho(c[n],t,h,i,e,c[n].meta.clientID,s)).chunk.hash;let g=await Mo(n,await j(h,t),t,a,s);return await t.setHead(A,h),{type:`complete`,diffs:g,newPerdagClientHeadHash:u}})});if(o())return;let u=e=>N(n,async t=>{await cc(r,{...await Qs(r,t),refreshHashes:e},t)});if(l.type===`aborted`){l.refreshHashesForRevert&&await u(l.refreshHashesForRevert);return}return await u([l.newPerdagClientHeadHash]),l.diffs}function Eu(e,t,n){let r=gi(e,t);return r>0||r===0&&n===t.chunk.hash}function Du(e){return new Promise(t=>{typeof requestIdleCallback==`function`?requestIdleCallback(()=>t(),{timeout:e}):setTimeout(()=>t(),e)})}var Ou=class{#e;#t;#n;#r;#i;#a=void 0;#o=void 0;#s=Promise.resolve();#c=Promise.resolve();constructor(e,t,n,r,i=Du){this.#e=e,this.#t=t,this.#n=n,this.#r=r,this.#i=i,this.#r.addEventListener(`abort`,()=>{let e=new en(`Aborted`);this.#o?.reject(e),this.#a?.reject(e),this.#o=void 0,this.#a=void 0},{once:!0})}schedule(){return this.#r.aborted?Promise.reject(new en(`Aborted`)):this.#a?this.#a.promise:(this.#a=S(),this.#l(),this.#a.promise)}async#l(){try{await this.#s}catch{}if(await this.#c,this.#a&&(await this.#i(this.#t),this.#a)){this.#c=ku(this.#n,this.#r),this.#o=this.#a,this.#a=void 0;try{this.#s=this.#e(),await this.#s,this.#o?.resolve()}catch(e){this.#o?.reject(e)}this.#o=void 0}}};async function ku(e,t){try{await bn(e,t)}catch(e){w(e instanceof en)}}function Au(e,t,n){let r=setInterval(e,t);n.addEventListener(`abort`,()=>{clearInterval(r)})}var ju=new Set,Mu=Symbol(),Nu=class{#e;#t;#n=Mu;#r=ju;#i=[];onError;onDone;#a;constructor(e,t,n,r,i=Nn){this.#e=e,this.#t=t,this.onError=n,this.onDone=r,this.#a=i}hasIndexSubscription(e){for(let t of this.#i)if(t.options.indexName===e)return!0;return!1}invoke(e,t,n){return this.#e(e)}matches(e){for(let[t,n]of e)if(Lu(this.#r,this.#i,t,n))return!0;return!1}updateDeps(e,t){this.#r=e,this.#i=t}onData(e){(this.#n===Mu||!this.#a(this.#n,e))&&(this.#n=e,this.#t(e))}},Pu=class{#e;#t;#n;#r;onError=void 0;onDone=void 0;constructor(e,t){this.#e=e,this.#t=t?.prefix??``,this.#n=t?.indexName,this.#r=t?.initialValuesInFirstDiff??!1}hasIndexSubscription(e){return this.#n===e}onData(e){e!==void 0&&this.#e(e)}invoke(e,t,n){let r=async(r,i,a,o)=>{let s;if(t===0){if(!this.#r)return;w(n===void 0);let t=[];for await(let n of e.scan({prefix:i,indexName:r}).entries())t.push({op:`add`,key:n[0],newValue:n[1]});s=t}else w(n),s=o(n.get(r??``)??[]);let c=[],{length:l}=s;for(let e=Uu(s,i,a);e<l&&a(s[e]).startsWith(i);e++)c.push(s[e]);return t===0||c.length>0?c:void 0};return this.#n?r(this.#n,this.#t,e=>e.key[0],e=>Fu(e,Xa)):r(void 0,this.#t,e=>e.key,e=>Fu(e,e=>e))}matches(e){let t=e.get(this.#n??``);return t!==void 0&&Hu(t,this.#t,this.#n)}updateDeps(e,t){}};function Fu(e,t){return e.map(e=>{let n=t(e.key);switch(e.op){case`add`:return{op:`add`,key:n,newValue:e.newValue};case`change`:return{op:`change`,key:n,oldValue:e.oldValue,newValue:e.newValue};case`del`:return{op:`del`,key:n,oldValue:e.oldValue}}})}var Iu=class{#e=new Set;#t=new Set;#n;#r;hasPendingSubscriptionRuns=!1;constructor(e,t){this.#n=e,this.#r=t}add(e){return this.#e.add(e),this.#a(e),()=>this.#e.delete(e)}clear(){for(let e of this.#e)e.onDone?.();this.#e.clear()}async fire(e){let t=Vu(this.#e,e);await this.#i(t,1,e)}async#i(e,t,n){let r=[...e];if(r.length===0)return;let i=await this.#n(e=>Promise.allSettled(r.map(async r=>{let i=new xo(e);try{return await r.invoke(i,t,n)}finally{r.updateDeps(i.keys,i.scans)}})));this.callCallbacks(r,i)}callCallbacks(e,t){for(let n=0;n<e.length;n++){let r=e[n],i=t[n];i.status===`fulfilled`?r.onData(i.value):r.onError?r.onError(i.reason):this.#r.error?.(`Error in subscription body:`,i.reason)}}async#a(e){if(this.#t.add(e),!this.hasPendingSubscriptionRuns){this.hasPendingSubscriptionRuns=!0,await Promise.resolve(),this.hasPendingSubscriptionRuns=!1;let e=[...this.#t];this.#t.clear(),await this.#i(e,0,void 0)}}shouldComputeDiffs(){return this.#e.size>0}shouldComputeDiffsForIndex(e){for(let t of this.#e)if(t.hasIndexSubscription(e))return!0;return!1}};function Lu(e,t,n,r){if(n===``){for(let t of r)if(e.has(t.key))return!0}for(let e of t)if(Ru(e,n,r))return!0;return!1}function Ru(e,t,n){for(let r of n)if(zu(e,t,r.key))return!0;return!1}function zu(e,t,n){let{indexName:r=``,limit:i,prefix:a,startKey:o,startExclusive:s,startSecondaryKey:c}=e.options;if(t!==r)return!1;if(!r)return i!==void 0&&i<=0?!1:!a&&!o||!(a&&(!n.startsWith(a)||Bu(e,n))||o&&(s&&aa(n,o)||ia(n,o)||Bu(e,n)));if(!a&&!o&&!c)return!0;let[l,u]=Xa(n);return!(a&&!l.startsWith(a)||c&&(s&&aa(l,c)||ia(l,c))||o&&(s&&aa(u,o)||ia(u,o)))}function Bu(e,t){let{inclusiveLimitKey:n}=e;return e.options.limit!==void 0&&n!==void 0&&ra(t,n)}function*Vu(e,t){for(let n of e)n.matches(t)&&(yield n)}function Hu(e,t,n){if(t===``)return!0;let r=n?e=>Xa(e.key)[0]:e=>e.key,i=Uu(e,t,r);return i<e.length&&r(e[i]).startsWith(t)}function Uu(e,t,n){return oa(e.length,r=>Xi(t,n(e[r])))}function Wu(e){if(e===null)throw TypeError(`array cannot be null`);for(let t=0;t<e.length;t++)e[t]=Math.floor(Math.random()*256);return e}var Gu=``;function Ku(){if(Gu===``){let e=new Uint8Array(4);Wu(e),Gu=Array.from(e,e=>e.toString(16)).join(``)}return Gu}var qu=new Map;function Ju(e){let t=qu.get(e);return t?(t++,qu.set(e,t)):(qu.set(e,0),t=0),`${e}-${Ku()}-${t}`}var Yu=`15.3.0`,Xu=8,Zu=1e3,Qu=1e3,$u=500,ed=500,td=100*2**20,nd=3e5,rd=()=>{},id={type:`NewClientGroup`},ad=(e,t)=>new Iu(e,t),od=class{pullURL;pushURL;auth;name;subscriptions;#e;isClientGroupDisabled=!1;#t;lastMutationID=0;get idbName(){return Ic(this.name,this.schemaVersion)}schemaVersion;get#n(){return{name:this.idbName,replicacheName:this.name,replicacheFormatVersion:7,schemaVersion:this.schemaVersion}}#r=!1;#i=!0;#a=Ns();#o;#s;#c;#l={};mutate;#u=0;#d=0;#f;#p;pullInterval;pushDelay;#m;puller;pusher;memdag;perdag;#h;#g;#_=new AbortController;#v=!1;#y;#b;#x;#S=new Ou(()=>this.persist(),Zu,$u,this.#_.signal);#C;#w=new Ou(()=>this.refresh(),Qu,ed,this.#_.signal);get requestOptions(){return this.#m}onSync=null;onClientStateNotFound=ld;onUpdateNeeded=ld;getAuth=null;onPushInvoked=()=>{};onBeginPull=()=>{};onRecoverMutations=e=>e;constructor(e,t={}){ud(e);let{name:n,logLevel:r=`info`,logSinks:i=[je],pullURL:a=``,auth:o,pushDelay:s=10,pushURL:c=``,schemaVersion:l=``,pullInterval:u=6e4,mutators:d={},requestOptions:f={},puller:p,pusher:m,indexes:h={},clientMaxAgeMs:g=Rl}=e,{enableMutationRecovery:_=!0,enableScheduledPersist:v=!0,enableScheduledRefresh:y=!0,enablePullAndPushInOpen:b=!0,makeSubscriptionsManager:ee=ad,enableClientGroupForking:te=!0}=t;this.auth=o??``,this.pullURL=a,this.pushURL=c,this.name=n,this.schemaVersion=l,this.pullInterval=u,this.pushDelay=s,this.puller=p??$o(this),this.pusher=m??ss(this),this.#y=v,this.#b=y,this.#x=b,this.#g=us(r,i,{name:n}),this.#g.debug?.(`Constructing Replicache`,{name:n,"replicache version":Yu}),this.subscriptions=ee(this.#W,this.#g);let ne=Vc(this.#g,e.kvStore);this.#t=ne;let re=ne.create(this.idbName);this.#h=new eu(ne.create),this.perdag=new Zr(re,Mr,Ir),this.memdag=new Ur(this.perdag,td,Mr,Ir);let ie=S();this.#o=ie.promise;let{minDelayMs:ae=xn,maxDelayMs:oe=Sn}=f;this.#m={maxDelayMs:oe,minDelayMs:ae};let se=dn(un(),0,this.#_.signal);this.#f=new Cn(this.#g.withContext(`PULL`),new _n(this,()=>this.#O()),se),this.#p=new Cn(this.#g.withContext(`PUSH`),new vn(this,()=>this.#N())),this.mutate=this.#K(d);let ce=S();this.#s=ce.promise;let le=S();this.#c=le.promise,this.#e=new gl({delegate:this,lc:this.#g,enableMutationRecovery:_,wrapInOnlineCheck:this.#A.bind(this),wrapInReauthRetries:this.#j.bind(this),isPullDisabled:this.#k.bind(this),isPushDisabled:this.#M.bind(this),clientGroupIDPromise:this.#c}),this.#C=Pl(this.name,this.#_.signal,e=>{this.#B(e)}),this.#T(h,te,g,ce.resolve,le.resolve,ie.resolve)}async#T(e,t,n,r,i,a){let{clientID:o}=this;await sd.get(this.name),await this.#h.getProfileID().then(r),await this.#h.putDatabase(this.#n);let[s,c,l,u]=await $s(o,this.#g,this.perdag,Object.keys(this.#l),e,7,t);i(s.clientGroupID),await N(this.memdag,e=>e.setHead(A,c)),a(),this.#x&&(this.pull().catch(rd),this.push().catch(rd));let{signal:d}=this.#_;hu(o,this.perdag,()=>{this.#I(o)},pu,this.#g,d),Vl(o,this.perdag,n,zl,this.#g,d),au(this.#h,this.#t.drop,nu,iu,ru,2*n,this.#g,d),Gl(this.perdag,this.#g,d),jl(this.name,this.idbName,d,s.clientGroupID,u,()=>{this.#R(id)},this.perdag),Au(()=>this.recoverMutations(),nd,d),this.recoverMutations(l),un()?.addEventListener(`visibilitychange`,this.#E)}#E=async()=>{this.#r||un()?.visibilityState===`visible`&&await this.#D()};async#D(){let{clientID:e}=this,t=await M(this.perdag,t=>Xs(e,t));return t||this.#I(e),!t}get profileID(){return this.#s}get clientID(){return this.#a}get clientGroupID(){return this.#c}onOnlineChange=null;get online(){return this.#i}get closed(){return this.#r}async close(){this.#r=!0;let{promise:e,resolve:t}=S();sd.set(this.name,e),this.#_.abort(),un()?.removeEventListener(`visibilitychange`,this.#E),await this.#o;let n=[this.memdag.close(),this.perdag.close(),this.#h.close()];this.#f.close(),this.#p.close(),this.subscriptions.clear(),await Promise.all(n),sd.delete(this.name),t()}async maybeEndPull(e,t){for(;;){if(this.#r)return;await this.#o;let{clientID:n}=this,r=this.#g.withContext(`maybeEndPull`).withContext(`requestID`,t),{replayMutations:i,diffs:a}=await tl(this.memdag,r,e,n,this.subscriptions,7);if(!i||i.length===0){await this.subscriptions.fire(a),this.#z();return}for(let t of i){this.subscriptions.hasPendingSubscriptionRuns&&await Promise.resolve();let{meta:i}=t;e=await js(this.memdag,a=>Uo(t,a,e,Gc,this.#l,r,Si(i)?i.clientID:n,7))}}}#O(){return this.#k()?Promise.resolve(!0):this.#A(async()=>{try{this.#U(0,1);let{syncHead:e,requestID:t,ok:n}=await this.beginPull();if(!n)return!1;e!==k&&await this.maybeEndPull(e,t)}catch(e){throw await this.#J(e)}finally{this.#U(0,-1)}return!0},`Pull`)}#k(){return this.isClientGroupDisabled||this.pullURL===``&&ts(this.puller)}async#A(e,t){let n=!0;try{return await e()}catch(e){return e instanceof ol||e instanceof Wc?(n=!1,this.#g.debug?.(`${t} threw:
8
+ `,e,`
9
+ with cause:
10
+ `,e.causedBy)):e instanceof zc?this.#g.error?.(e):this.#g.info?.(`${t} threw:
11
+ `,e),!1}finally{this.#i!==n&&(this.#i=n,this.onOnlineChange?.(n),n&&this.recoverMutations())}}async#j(e,t,n,r=rd,i=rd){let{clientID:a}=this,o=0,s;n=n.withContext(t);do{let c=Ju(a),l=n.withContext(`requestID`,c),{httpRequestInfo:u,result:d}=await e(c,l);if(s=d,!u)return{result:d,authFailure:!1};let{errorMessage:f,httpStatusCode:p}=u;if((f||p!==200)&&l.error?.(`Got a non 200 response doing ${t}: ${p}`+(f?`: ${f}`:``)),p!==Fc)return{result:d,authFailure:!1};if(!this.getAuth)return{result:d,authFailure:!0};let m;try{await r(),m=await this.getAuth()}finally{await i()}if(m==null)return{result:d,authFailure:!0};this.auth=m,o++}while(o<Xu);return n.info?.(`Tried to reauthenticate too many times`),{result:s,authFailure:!0}}#M(){return this.isClientGroupDisabled||this.pushURL===``&&ls(this.pusher)}async#N(){if(this.#M())return!0;await this.#o;let e=await this.#s,{clientID:t}=this,n=await this.#c;return this.#A(async()=>{let{result:r}=await this.#j(async(r,i)=>{try{this.#U(1,0);let a=await pl(r,this.memdag,i,e,n,t,this.pusher,this.schemaVersion,cl);return{result:a,httpRequestInfo:a?.httpRequestInfo}}finally{this.#U(-1,0)}},`push`,this.#g);if(r===void 0)return!0;let{response:i,httpRequestInfo:a}=r;return qo(i)?this.#P(i):Ko(i)&&await this.#L(),a.httpStatusCode===200},`Push`)}#P(e){let t={type:e.error};e.versionType&&(t.versionType=e.versionType),this.#R(t)}push({now:e=!1}={}){return cd(this.#p.send(e))}pull({now:e=!1}={}){return cd(this.#f.send(e))}async poke(e){await this.#o;let{clientID:t}=this,n=Ju(t),r=this.#g.withContext(`handlePullResponse`).withContext(`requestID`,n),{pullResponse:i}=e;if(qo(i)){this.#P(i);return}if(Ko(i)){await this.#L();return}let a=await el(r,this.memdag,ar(e.baseCookie),i,t,7);switch(a.type){case 0:await this.maybeEndPull(a.syncHead,n);break;case 2:throw Error(`unexpected base cookie for poke: `+JSON.stringify(e))}}async beginPull(){await this.#o;let e=await this.profileID,{clientID:t}=this,n=await this.#c,{result:{beginPullResponse:r,requestID:i}}=await this.#j(async(r,i)=>{let a=await Xc(e,t,n,this.schemaVersion,this.puller,r,this.memdag,7,i);return{result:{beginPullResponse:a,requestID:r},httpRequestInfo:a.httpRequestInfo}},`pull`,this.#g,()=>this.#U(0,-1),()=>this.#U(0,1)),{pullResponse:a}=r;qo(a)?this.#P(a):Ko(r.pullResponse)&&await this.#L();let{syncHead:o,httpRequestInfo:s}=r;return{requestID:i,syncHead:o,ok:s.httpStatusCode===200}}async persist(){w(!this.#v),this.#v=!0;try{let{clientID:e}=this;if(await this.#o,this.#r)return;try{await yu(this.#g,e,this.memdag,this.perdag,this.#l,()=>this.closed,7)}catch(t){if(t instanceof Js)this.#I(e);else if(this.#r)this.#g.debug?.(`Exception persisting during close`,t);else throw t}}finally{this.#v=!1}let{clientID:e}=this,t=await this.#c;w(t),this.#C({clientID:e,clientGroupID:t})}async refresh(){await this.#o;let{clientID:e}=this;if(this.#r)return;let t;try{t=await Tu(this.#g,this.memdag,this.perdag,e,this.#l,this.subscriptions,()=>this.closed,7)}catch(t){if(t instanceof Js)this.#I(e);else if(this.#r)this.#g.debug?.(`Exception refreshing during close`,t);else throw t}t!==void 0&&await this.subscriptions.fire(t)}#F(){this.onClientStateNotFound?.()}#I(e){this.#g.error?.(`Client state not found on client, clientID: ${e}`),this.#F()}async#L(){let e=await this.#c;this.#g.error?.(`Client state not found on server, clientGroupID: ${e}`),await this.disableClientGroup(),this.#F()}async disableClientGroup(){let e=await this.#c;w(e),this.isClientGroupDisabled=!0,await N(this.perdag,t=>Os(e,t))}#R(e){this.#g.debug?.(`Update needed, reason: ${e}`),this.onUpdateNeeded?.(e)}async#z(){this.#y&&await this.#H(`persist`,this.#S)}async#B(e){this.#g.debug?.(`Handling persist`,e);let t=await this.#c;e.clientGroupID===t&&this.#V()}async#V(){this.#b&&await this.#H(`refresh from storage`,this.#w)}async#H(e,t){try{await t.schedule()}catch(t){t instanceof en?this.#g.debug?.(`Scheduled ${e} did not complete before close.`):this.#g.error?.(`Error during ${e}`,t)}}#U(e,t){this.#u+=e,this.#d+=t;let n=e+t,r=this.#u+this.#d;if(n===1&&r===1||r===0){let e=r>0;Promise.resolve().then(()=>this.onSync?.(e))}}subscribe(e,t){typeof t==`function`&&(t={onData:t});let{onData:n,onError:r,onDone:i,isEqual:a}=t;return this.subscriptions.add(new Nu(e,n,r,i,a))}experimentalWatch(e,t){return this.subscriptions.add(new Pu(e,t))}query(e){return this.#W(e)}get cookie(){return this.#o.then(()=>M(this.memdag,async e=>{let t=await e.getHead(A);if(!t)throw Error(`Internal no main head found`);let n=(await pi(t,e)).meta.cookieJSON;return Gn(n),n}))}#W=async e=>{await this.#o;let{clientID:t}=this;return M(this.memdag,async n=>{try{let r=await $a(n,7);return await e(new vo(t,r,this.#g))}catch(e){throw await this.#J(e)}})};#G(e,t){return this.#l[e]=t,n=>this.#q(e,t,n,performance.now())}#K(e){let t=Object.create(null);for(let n in e)t[n]=this.#G(n,e[n]);return t}async#q(e,t,n,r){let i=ar(n??null);this.subscriptions.hasPendingSubscriptionRuns&&await Promise.resolve(),await this.#o;let{clientID:a}=this;return js(this.memdag,async o=>{try{let s=await Fo(await Hr(A,o),e,i,null,o,r,a,7),c=await t(new So(a,await s.getMutationID(),`initial`,s,this.#g),n);co(s);let l=await s.getMutationID(),u=await s.commitWithDiffs(A,this.subscriptions);return this.lastMutationID=l,this.#p.send(!1).catch(()=>{}),await this.subscriptions.fire(u),this.#z(),c}catch(e){throw await this.#J(e)}})}async#J(e){return e instanceof Br&&await this.#D()?new Js(this.clientID):e}recoverMutations(e){return this.#e.recoverMutations(e,this.#o,this.perdag,this.#n,this.#h,this.#t.create)}experimentalPendingMutations(){return M(this.memdag,Fl)}},sd=new Map;async function cd(e){let t=await e;if(t)throw t.error}function ld(){typeof location<`u`&&location.reload()}function ud(e){let{name:t,clientMaxAgeMs:n}=e;if(typeof t!=`string`||!t)throw TypeError(`name is required and must be non-empty`);if(n!==void 0){let e=Math.max(zl,pu);if(typeof n!=`number`||n<=e)throw TypeError(`clientAgeMaxMs must be a number larger than ${e}ms`)}}var dd,P,F,fd=v((()=>{dd=`/`,P=e=>{let t=`${e}${dd}`,n=t.length;return()=>({name:e,value:t=>({name:e,idA:t,idB:void 0}),trimPrefix:e=>e.substring(n),prefix:(...e)=>{switch(e.length){case 0:return t;case 1:return`${t}${e[0]}`;default:throw Error(`Unexpected number of ids: "${e}"`)}},isMatch:e=>e.startsWith(t),encode:e=>`${t}${e}`,decode:e=>{if(!e.startsWith(t))throw Error(`Expected serialized to start with prefix "${t}", received "${e}"`);return e.substring(n)},decodeWithoutPrefix:e=>e})},F=e=>{let t=`${e}${dd}`,n=t.length;return()=>({name:e,value:(t,n)=>({name:e,idA:t,idB:n}),trimPrefix:e=>e.substring(n),prefix:(...e)=>{switch(e.length){case 0:return t;case 1:return`${t}${e[0]}${dd}`;case 2:return`${t}${e[0]}${dd}${e[1]}`;default:throw Error(`Unexpected number of ids: "${e}"`)}},isMatch:e=>e.startsWith(t),encode:(e,n)=>`${t}${e}${dd}${n}`,decode:e=>{if(!e.startsWith(t))throw Error(`Expected serialized to start with prefix "${t}", received "${e}"`);return e.substring(n).split(dd)},decodeWithoutPrefix:e=>e.split(dd)})}})),I,pd=v((()=>{fd(),I={internal:P(`__internal`)(),apiToken:P(`apiToken`)(),asset:P(`asset`)(),backlogTask:P(`backlogTask`)(),block:P(`block`)(),comment:P(`comment`)(),content:P(`content`)(),document:P(`document`)(),draftContent:P(`draftContent`)(),event:P(`event`)(),filter:P(`filter`)(),filterRule:P(`filterRule`)(),fizzyAccount:P(`fizzyAccount`)(),fizzyBoard:P(`fizzyBoard`)(),fizzyIntegration:P(`fizzyIntegration`)(),invitation:P(`invitation`)(),inviteLink:P(`inviteLink`)(),label:P(`label`)(),note:P(`note`)(),notification:P(`notification`)(),person:P(`person`)(),project:P(`project`)(),projectAccount:P(`projectAccount`)(),reaction:P(`reaction`)(),reference:P(`reference`)(),sequence:P(`sequence`)(),signingKey:P(`signingKey`)(),sprite:P(`sprite`)(),spriteBuild:P(`spriteBuild`)(),spriteBuildEvent:P(`spriteBuildEvent`)(),surface:P(`surface`)(),task:P(`task`)(),vcsBranch:P(`vcsBranch`)(),vcsCommit:P(`vcsCommit`)(),vcsIntegration:P(`vcsIntegration`)(),vcsRepo:P(`vcsRepo`)(),vcsUser:P(`vcsUser`)(),watch:P(`watch`)(),workspace:P(`workspace`)(),blockUser:F(`blockUser`)(),documentUser:F(`documentUser`)(),sequenceDocument:F(`sequenceDocument`)(),signingKeyProject:F(`signingKeyProject`)(),vcsCommitDocument:F(`vcsCommitDocument`)(),noteLabel:F(`noteLabel`)(),spriteProjectAccount:F(`spriteProjectAccount`)(),taskLabel:F(`taskLabel`)(),relatedDocumentNote:F(`relatedDocumentNote`)(),relatedDocumentPair:F(`relatedDocumentPair`)(),relatedNotePair:F(`relatedNotePair`)(),relatedSpritePair:F(`relatedSpritePair`)(),stackTask:F(`stackTask`)(),workspaceUser:P(`workspaceUser`)()}})),md=b({default:()=>hd}),hd,gd=v((()=>{pd(),hd=async(e,t)=>{let{tx:n}=e,{surfaceId:r,key:i,name:a,description:o}=t,s={key:i,name:a,description:o};for await(let[e,t]of n.scan({prefix:I.surface.prefix()}).entries())if(t.key===i){await n.set(e,s);return}await n.set(I.surface.encode(r),s)}})),_d=b({default:()=>vd}),vd,yd=v((()=>{vd=async()=>{}})),bd,xd=v((()=>{bd={PENDING:`PENDING`,IN_PROGRESS:`IN_PROGRESS`,READY:`READY`,ERROR:`ERROR`}})),Sd=b({default:()=>Cd}),Cd,wd=v((()=>{xd(),pd(),Cd=async(e,t)=>{let{tx:n,sessionPersonId:r}=e,{spriteId:i,spriteBuildId:a,prompt:o,name:s,surfaceId:c}=t,l=I.sprite.encode(i);if(await n.get(l))return Error(`Sprite "${i}" already exists`);let u=I.spriteBuild.encode(a);if(await n.get(u))return Error(`SpriteBuild "${a}" already exists`);let d={name:s?.trim().length?s:``,surfaceId:c,ownedByPersonId:r};await n.set(l,d);let f={spriteId:i,parentSpriteBuildId:null,prompt:o,status:bd.PENDING,artifactUrl:null,error:null,reasoningSummary:null,publishedAt:null,createdByPersonId:r};await n.set(u,f)}})),Td=b({default:()=>Ed}),Ed,Dd=v((()=>{xd(),pd(),Ed=async(e,t)=>{let{tx:n,sessionPersonId:r}=e,{spriteBuildId:i,spriteId:a,parentSpriteBuildId:o,prompt:s}=t,c=I.spriteBuild.encode(i);if(await n.get(c))return Error(`SpriteBuild "${i}" already exists`);let l={spriteId:a,parentSpriteBuildId:o,prompt:s,status:bd.PENDING,artifactUrl:null,error:null,reasoningSummary:null,publishedAt:null,createdByPersonId:r};await n.set(c,l)}})),Od=b({default:()=>kd}),kd,Ad=v((()=>{xd(),pd(),kd=async(e,t)=>{let{tx:n,actionedAt:r}=e,{spriteBuildId:i}=t,a=I.spriteBuild.encode(i),o=await n.get(a);if(!o)return Error(`Could not find that build.`);if(o.status!==bd.READY)return Error(`Only ready builds can be published.`);await n.set(a,{...o,publishedAt:r})}})),jd={surface_upsert_v1:Promise.resolve().then(()=>(gd(),md)),project_ping_v1:Promise.resolve().then(()=>(yd(),_d)),sprite_create_v1:Promise.resolve().then(()=>(wd(),Sd)),spriteBuild_create_v1:Promise.resolve().then(()=>(Dd(),Td)),spriteBuild_publish_v1:Promise.resolve().then(()=>(Ad(),Od))},Md=async(e,t)=>{let n=await Promise.all(Object.entries(t).map(async([t,n])=>{let r=(await n).default;return[t,async(t,n)=>{let{context:i,...a}=n,o={...e,tx:t,actionedAt:i?.actionedAt??Date.now(),sessionPersonId:i?.sessionPersonId??e.sessionPersonId},s=await r(o,a);if(s instanceof Error)throw s;return s}]}));return Object.fromEntries(n)},Nd=`2026.07.02/1`,Pd=async e=>{let{name:t,pushURL:n,pullURL:r,auth:i,getAuth:a,pullInterval:o,sessionPersonId:s}=e;if(!t)return Error(`Replicache name is required`);let c=new Rc({schemaVersion:Nd,name:t,pushURL:n,pullURL:r,auth:i,pullInterval:o,mutators:await Md({sessionPersonId:s},jd)});return c.getAuth=a,c},Fd=`https://gateway.rough.app`,Id=Fd,Ld,Rd=e=>{Id=e.baseUrl??Fd,Ld=e.projectId},zd=()=>Id,Bd=()=>{if(!Ld)throw Error("You must call `initRough()` before using the components");return Ld},Vd=e=>{let t=new URL(e.path,zd());for(let[n,r]of Object.entries(e.query??{}))r!==void 0&&t.searchParams.set(n,String(r));return t.toString()},Hd=e.enum([`ACTIVE`,`DELETED`]),Ud=e.enum([`DOCUMENTS_ENABLED`,`TASKS_ENABLED`]),L=e.string();e.object({id:L,publicId:e.string(),name:e.string(),createdAt:e.number(),updatedAt:e.number(),icp:e.string(),strategy:e.string(),vision:e.string(),icon:e.string(),status:Hd,deletedAt:e.number().nullable(),version:e.number(),flagList:Ud.array()}),e.object({id:L,publicId:e.string(),name:e.string(),createdAt:e.number(),updatedAt:e.number(),icp:e.string().optional(),strategy:e.string().optional(),vision:e.string().optional(),icon:e.string(),status:Hd,deletedAt:e.number().optional().nullable(),version:e.number(),flagList:Ud.array()}),e.object({id:L.optional(),publicId:e.string().optional(),name:e.string().optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),icp:e.string().optional(),strategy:e.string().optional(),vision:e.string().optional(),icon:e.string().optional(),status:Hd.optional(),deletedAt:e.number().optional().nullable(),version:e.number().optional(),flagList:Ud.array().optional()});var Wd=e.string();e.object({id:Wd,name:e.string(),url:e.string(),workspaceId:L,version:e.number(),createdAt:e.number(),updatedAt:e.number()}),e.object({id:Wd,name:e.string(),url:e.string(),workspaceId:L,version:e.number(),createdAt:e.number(),updatedAt:e.number()}),e.object({id:Wd.optional(),name:e.string().optional(),url:e.string().optional(),workspaceId:L.optional(),version:e.number().optional(),createdAt:e.number().optional(),updatedAt:e.number().optional()});var Gd=e.enum([`authorization_code`,`client_credentials`,`refresh_token`]),Kd=e.enum([`read:workspace`,`write:workspace`,`create:sprite`,`read:sprite`]),qd=e.string();e.object({id:qd,name:e.string(),secret:e.string().nullable(),redirectUris:e.string().array(),allowedGrants:Gd.array(),scopes:Kd.array(),createdAt:e.number(),updatedAt:e.number()}),e.object({id:qd,name:e.string(),secret:e.string().optional().nullable(),redirectUris:e.string().array(),allowedGrants:Gd.array(),scopes:Kd.array(),createdAt:e.number(),updatedAt:e.number()}),e.object({id:qd.optional(),name:e.string().optional(),secret:e.string().optional().nullable(),redirectUris:e.string().array().optional(),allowedGrants:Gd.array().optional(),scopes:Kd.array().optional(),createdAt:e.number().optional(),updatedAt:e.number().optional()});var Jd=e.enum([`UNKNOWN`]),R=e.string();e.object({id:R,workspaceId:L,createdAt:e.number(),updatedAt:e.number(),state:e.instanceof(Uint8Array),serialized:e.record(e.string(),e.json()),plaintext:e.string(),version:e.number(),documentMentionList:e.string().array(),hash:e.instanceof(Uint8Array),dirtyAt:e.number().nullable(),flagList:Jd.array(),personMentionList:e.string().array()}),e.object({id:R,workspaceId:L,createdAt:e.number(),updatedAt:e.number(),state:e.instanceof(Uint8Array),serialized:e.record(e.string(),e.json()),plaintext:e.string(),version:e.number(),documentMentionList:e.string().array(),hash:e.instanceof(Uint8Array),dirtyAt:e.number().optional().nullable(),flagList:Jd.array(),personMentionList:e.string().array()}),e.object({id:R.optional(),workspaceId:L.optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),state:e.instanceof(Uint8Array).optional(),serialized:e.record(e.string(),e.json()).optional(),plaintext:e.string().optional(),version:e.number().optional(),documentMentionList:e.string().array().optional(),hash:e.instanceof(Uint8Array).optional(),dirtyAt:e.number().optional().nullable(),flagList:Jd.array().optional(),personMentionList:e.string().array().optional()});var Yd=e=>{let t=e.toLowerCase().trim().split(`@`),n=t.at(0)?.trim(),r=t.at(1)?.split(`,`).at(0)?.trim();return!n||!r?Error(`Invalid email address`):`${n}@${r}`},z=e.string().min(1).transform((t,n)=>{let r=Yd(t);return r instanceof Error?(n.issues.push({code:`custom`,message:r.message,input:t}),e.NEVER):r}).pipe(e.string()),Xd=e.enum([`WORKSPACE`,`USER`]),Zd=e.enum([`PENDING`,`UPLOADING`,`READY`,`ERROR`]),Qd=e.enum([`IMAGE`,`VIDEO`,`AUDIO`,`OTHER`]),$d=e.string();e.object({id:$d,scope:Xd,userId:e.lazy(()=>B),workspaceId:L.nullable(),storageBucket:e.string(),storageKey:e.string(),status:Zd,type:Qd,mimeType:e.string(),originalFileName:e.string(),byteSize:e.number(),metadata:e.record(e.string(),e.json()),tusUploadToken:e.string().nullable(),createdAt:e.number(),updatedAt:e.number(),deletedAt:e.number().nullable(),version:e.number(),originalAssetId:$d.nullable()}),e.object({id:$d,scope:Xd,userId:e.lazy(()=>B),workspaceId:L.optional().nullable(),storageBucket:e.string(),storageKey:e.string(),status:Zd,type:Qd,mimeType:e.string(),originalFileName:e.string(),byteSize:e.number(),metadata:e.record(e.string(),e.json()),tusUploadToken:e.string().optional().nullable(),createdAt:e.number(),updatedAt:e.number(),deletedAt:e.number().optional().nullable(),version:e.number(),originalAssetId:$d.optional().nullable()}),e.object({id:$d.optional(),scope:Xd.optional(),userId:e.lazy(()=>B.optional()),workspaceId:L.optional().nullable(),storageBucket:e.string().optional(),storageKey:e.string().optional(),status:Zd.optional(),type:Qd.optional(),mimeType:e.string().optional(),originalFileName:e.string().optional(),byteSize:e.number().optional(),metadata:e.record(e.string(),e.json()).optional(),tusUploadToken:e.string().optional().nullable(),createdAt:e.number().optional(),updatedAt:e.number().optional(),deletedAt:e.number().optional().nullable(),version:e.number().optional(),originalAssetId:$d.optional().nullable()});var B=e.string();e.object({id:B,name:e.string(),email:z,isDemoAccount:e.boolean(),createdAt:e.number(),updatedAt:e.number(),passwordHash:e.string().nullable(),googleUid:e.string().nullable(),totpSecret:e.string().nullable(),totpEnabledAt:e.number().nullable(),recoveryHash:e.string().nullable(),recoveryCodeGeneratedAt:e.number().nullable(),avatarAssetId:$d.nullable()}),e.object({id:B,name:e.string(),email:z,isDemoAccount:e.boolean().optional(),createdAt:e.number(),updatedAt:e.number(),passwordHash:e.string().optional().nullable(),googleUid:e.string().optional().nullable(),totpSecret:e.string().optional().nullable(),totpEnabledAt:e.number().optional().nullable(),recoveryHash:e.string().optional().nullable(),recoveryCodeGeneratedAt:e.number().optional().nullable(),avatarAssetId:$d.optional().nullable()}),e.object({id:B.optional(),name:e.string().optional(),email:z.optional(),isDemoAccount:e.boolean().optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),passwordHash:e.string().optional().nullable(),googleUid:e.string().optional().nullable(),totpSecret:e.string().optional().nullable(),totpEnabledAt:e.number().optional().nullable(),recoveryHash:e.string().optional().nullable(),recoveryCodeGeneratedAt:e.number().optional().nullable(),avatarAssetId:$d.optional().nullable()});var ef=e.enum([`DRAFT`,`ACTIVE`]),V=e.string();e.object({id:V,name:e.string(),workspaceId:L,version:e.number(),createdAt:e.number(),updatedAt:e.number(),description:e.string(),avatarAssetId:$d.nullable()}),e.object({id:V,name:e.string(),workspaceId:L,version:e.number(),createdAt:e.number(),updatedAt:e.number(),description:e.string(),avatarAssetId:$d.optional().nullable()}),e.object({id:V.optional(),name:e.string().optional(),workspaceId:L.optional(),version:e.number().optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),description:e.string().optional(),avatarAssetId:$d.optional().nullable()});var H=e.string();e.object({id:H,workspaceId:L,contentId:R,createdAt:e.number(),updatedAt:e.number(),userId:B,version:e.number(),lastModifiedAt:e.number(),status:ef,personId:V,referenceId:Wd.nullable(),publicId:e.number(),parentNoteId:H.nullable(),sortOrder:e.number(),transcriptContentId:R.nullable()}),e.object({id:H,workspaceId:L,contentId:R,createdAt:e.number(),updatedAt:e.number(),userId:B,version:e.number(),lastModifiedAt:e.number(),status:ef,personId:V,referenceId:Wd.optional().nullable(),publicId:e.number(),parentNoteId:H.optional().nullable(),sortOrder:e.number(),transcriptContentId:R.optional().nullable()}),e.object({id:H.optional(),workspaceId:L.optional(),contentId:R.optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),userId:B.optional(),version:e.number().optional(),lastModifiedAt:e.number().optional(),status:ef.optional(),personId:V.optional(),referenceId:Wd.optional().nullable(),publicId:e.number().optional(),parentNoteId:H.optional().nullable(),sortOrder:e.number().optional(),transcriptContentId:R.optional().nullable()});var tf=e.enum([`NOTE`,`TASK`]),nf=e.string();e.object({id:nf,workspaceId:L,name:e.string(),color:e.string(),createdAt:e.number(),updatedAt:e.number(),version:e.number(),description:e.string(),type:tf}),e.object({id:nf,workspaceId:L,name:e.string(),color:e.string(),createdAt:e.number(),updatedAt:e.number(),version:e.number(),description:e.string(),type:tf}),e.object({id:nf.optional(),workspaceId:L.optional(),name:e.string().optional(),color:e.string().optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),version:e.number().optional(),description:e.string().optional(),type:tf.optional()}),e.object({noteId:H,labelId:nf,workspaceId:L,createdAt:e.number(),updatedAt:e.number(),version:e.number(),labelType:tf}),e.object({noteId:H,labelId:nf,workspaceId:L,createdAt:e.number(),updatedAt:e.number(),version:e.number(),labelType:tf}),e.object({noteId:H.optional(),labelId:nf.optional(),workspaceId:L.optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),version:e.number().optional(),labelType:tf.optional()});var rf=e.string();e.object({code:rf,redirectUri:e.string().nullable(),codeChallenge:e.string().nullable(),codeChallengeMethod:e.string().nullable(),expiresAt:e.number(),userId:B,workspaceId:L,oauthClientId:qd,scopes:Kd.array(),createdAt:e.number(),updatedAt:e.number()}),e.object({code:rf,redirectUri:e.string().optional().nullable(),codeChallenge:e.string().optional().nullable(),codeChallengeMethod:e.string().optional().nullable(),expiresAt:e.number(),userId:B,workspaceId:L,oauthClientId:qd,scopes:Kd.array(),createdAt:e.number(),updatedAt:e.number()}),e.object({code:rf.optional(),redirectUri:e.string().optional().nullable(),codeChallenge:e.string().optional().nullable(),codeChallengeMethod:e.string().optional().nullable(),expiresAt:e.number().optional(),userId:B.optional(),workspaceId:L.optional(),oauthClientId:qd.optional(),scopes:Kd.array().optional(),createdAt:e.number().optional(),updatedAt:e.number().optional()});var af=e.string();e.object({accessToken:af,accessTokenExpiresAt:e.number(),refreshToken:e.string().nullable(),refreshTokenExpiresAt:e.number().nullable(),userId:B,workspaceId:L,oauthClientId:qd,scopes:Kd.array(),originatingAuthCodeId:rf.nullable(),createdAt:e.number(),updatedAt:e.number()}),e.object({accessToken:af,accessTokenExpiresAt:e.number(),refreshToken:e.string().optional().nullable(),refreshTokenExpiresAt:e.number().optional().nullable(),userId:B,workspaceId:L,oauthClientId:qd,scopes:Kd.array(),originatingAuthCodeId:rf.optional().nullable(),createdAt:e.number(),updatedAt:e.number()}),e.object({accessToken:af.optional(),accessTokenExpiresAt:e.number().optional(),refreshToken:e.string().optional().nullable(),refreshTokenExpiresAt:e.number().optional().nullable(),userId:B.optional(),workspaceId:L.optional(),oauthClientId:qd.optional(),scopes:Kd.array().optional(),originatingAuthCodeId:rf.optional().nullable(),createdAt:e.number().optional(),updatedAt:e.number().optional()});var U=e.string();e.object({id:U,workspaceId:L,name:e.string(),createdAt:e.number(),updatedAt:e.number(),version:e.number(),firstUsedViaApiAt:e.number().nullable(),publicId:e.string()}),e.object({id:U,workspaceId:L,name:e.string(),createdAt:e.number(),updatedAt:e.number(),version:e.number(),firstUsedViaApiAt:e.number().optional().nullable(),publicId:e.string()}),e.object({id:U.optional(),workspaceId:L.optional(),name:e.string().optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),version:e.number().optional(),firstUsedViaApiAt:e.number().optional().nullable(),publicId:e.string().optional()});var of=e.string();e.object({id:of,createdAt:e.number(),updatedAt:e.number(),version:e.number(),workspaceId:L,projectId:U,personId:V,key:e.string(),name:e.string(),email:z.nullable().nullable(),lastSeenAt:e.number().nullable()}),e.object({id:of,createdAt:e.number(),updatedAt:e.number(),version:e.number(),workspaceId:L,projectId:U,personId:V,key:e.string(),name:e.string(),email:z.nullable().optional().nullable(),lastSeenAt:e.number().optional().nullable()}),e.object({id:of.optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),version:e.number().optional(),workspaceId:L.optional(),projectId:U.optional(),personId:V.optional(),key:e.string().optional(),name:e.string().optional(),email:z.nullable().optional().nullable(),lastSeenAt:e.number().optional().nullable()});var W=e.string();e.object({id:W,createdAt:e.number(),updatedAt:e.number(),version:e.number(),workspaceId:L,projectId:U,key:e.string(),name:e.string(),lastSeenAt:e.number().nullable()}),e.object({id:W,createdAt:e.number(),updatedAt:e.number(),version:e.number(),workspaceId:L,projectId:U,key:e.string(),name:e.string(),lastSeenAt:e.number().optional().nullable()}),e.object({id:W.optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),version:e.number().optional(),workspaceId:L.optional(),projectId:U.optional(),key:e.string().optional(),name:e.string().optional(),lastSeenAt:e.number().optional().nullable()});var sf=e.string();e.object({id:sf,publicId:e.string(),workspaceId:L,name:e.string(),publicKey:e.string(),createdByUserId:B,createdAt:e.number(),updatedAt:e.number(),version:e.number(),revokedAt:e.number().nullable(),revokedByUserId:B.nullable(),lastUsedAt:e.number().nullable()}),e.object({id:sf,publicId:e.string(),workspaceId:L,name:e.string(),publicKey:e.string(),createdByUserId:B,createdAt:e.number(),updatedAt:e.number(),version:e.number(),revokedAt:e.number().optional().nullable(),revokedByUserId:B.optional().nullable(),lastUsedAt:e.number().optional().nullable()}),e.object({id:sf.optional(),publicId:e.string().optional(),workspaceId:L.optional(),name:e.string().optional(),publicKey:e.string().optional(),createdByUserId:B.optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),version:e.number().optional(),revokedAt:e.number().optional().nullable(),revokedByUserId:B.optional().nullable(),lastUsedAt:e.number().optional().nullable()});var cf=e.string();e.object({id:cf,workspaceId:L,projectId:U,projectUserId:of,projectAccountId:W,signingKeyId:sf,hash:e.instanceof(Uint8Array),createdAt:e.number(),updatedAt:e.number(),expiresAt:e.number()}),e.object({id:cf,workspaceId:L,projectId:U,projectUserId:of,projectAccountId:W,signingKeyId:sf,hash:e.instanceof(Uint8Array),createdAt:e.number(),updatedAt:e.number(),expiresAt:e.number()}),e.object({id:cf.optional(),workspaceId:L.optional(),projectId:U.optional(),projectUserId:of.optional(),projectAccountId:W.optional(),signingKeyId:sf.optional(),hash:e.instanceof(Uint8Array).optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),expiresAt:e.number().optional()});var lf=e.enum([`PENDING`,`INSTALLED`]),uf=e.string();e.object({id:uf,fizzyIntegrationId:e.lazy(()=>df),fizzyAccountId:e.lazy(()=>ff),workspaceId:L,publicId:e.string(),name:e.string(),url:e.string(),createdAt:e.number(),updatedAt:e.number(),version:e.number()}),e.object({id:uf,fizzyIntegrationId:e.lazy(()=>df),fizzyAccountId:e.lazy(()=>ff),workspaceId:L,publicId:e.string(),name:e.string(),url:e.string(),createdAt:e.number(),updatedAt:e.number(),version:e.number()}),e.object({id:uf.optional(),fizzyIntegrationId:e.lazy(()=>df.optional()),fizzyAccountId:e.lazy(()=>ff.optional()),workspaceId:L.optional(),publicId:e.string().optional(),name:e.string().optional(),url:e.string().optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),version:e.number().optional()});var df=e.string();e.object({id:df,workspaceId:L,email:e.string(),state:lf,pendingAuthenticationToken:e.string().nullable(),sessionToken:e.string().nullable(),defaultFizzyBoardId:uf.nullable(),syncAccountListStartedAt:e.number().nullable(),syncAccountListFinishedAt:e.number().nullable(),createdAt:e.number(),updatedAt:e.number(),version:e.number(),lastRequestedMagicLinkAt:e.number().nullable()}),e.object({id:df,workspaceId:L,email:e.string(),state:lf,pendingAuthenticationToken:e.string().optional().nullable(),sessionToken:e.string().optional().nullable(),defaultFizzyBoardId:uf.optional().nullable(),syncAccountListStartedAt:e.number().optional().nullable(),syncAccountListFinishedAt:e.number().optional().nullable(),createdAt:e.number(),updatedAt:e.number(),version:e.number(),lastRequestedMagicLinkAt:e.number().optional().nullable()}),e.object({id:df.optional(),workspaceId:L.optional(),email:e.string().optional(),state:lf.optional(),pendingAuthenticationToken:e.string().optional().nullable(),sessionToken:e.string().optional().nullable(),defaultFizzyBoardId:uf.optional().nullable(),syncAccountListStartedAt:e.number().optional().nullable(),syncAccountListFinishedAt:e.number().optional().nullable(),createdAt:e.number().optional(),updatedAt:e.number().optional(),version:e.number().optional(),lastRequestedMagicLinkAt:e.number().optional().nullable()});var ff=e.string();e.object({id:ff,fizzyIntegrationId:df,workspaceId:L,slug:e.string(),name:e.string(),syncBoardListStartedAt:e.number().nullable(),syncBoardListFinishedAt:e.number().nullable(),createdAt:e.number(),updatedAt:e.number(),version:e.number()}),e.object({id:ff,fizzyIntegrationId:df,workspaceId:L,slug:e.string(),name:e.string(),syncBoardListStartedAt:e.number().optional().nullable(),syncBoardListFinishedAt:e.number().optional().nullable(),createdAt:e.number(),updatedAt:e.number(),version:e.number()}),e.object({id:ff.optional(),fizzyIntegrationId:df.optional(),workspaceId:L.optional(),slug:e.string().optional(),name:e.string().optional(),syncBoardListStartedAt:e.number().optional().nullable(),syncBoardListFinishedAt:e.number().optional().nullable(),createdAt:e.number().optional(),updatedAt:e.number().optional(),version:e.number().optional()});var pf=e.string();e.object({id:pf,userId:B.nullable(),workspaceId:L,pullCount:e.number(),projectUserId:of.nullable(),projectAccountId:W.nullable()}),e.object({id:pf,userId:B.optional().nullable(),workspaceId:L,pullCount:e.number(),projectUserId:of.optional().nullable(),projectAccountId:W.optional().nullable()}),e.object({id:pf.optional(),userId:B.optional().nullable(),workspaceId:L.optional(),pullCount:e.number().optional(),projectUserId:of.optional().nullable(),projectAccountId:W.optional().nullable()});var mf=e.enum([`GITHUB`]),hf=e.enum([`PENDING`,`INSTALLED`,`DELETED`]),G=e.string();e.object({id:G,createdAt:e.number(),updatedAt:e.number(),workspaceId:L,type:mf,state:hf,token:e.string().nullable(),ghInstallationId:e.number().nullable(),ghSettingsUrl:e.string().nullable(),version:e.number(),ghInstallationUrl:e.string().nullable(),name:e.string().nullable(),avatarUrl:e.string().nullable(),syncRepoListStartedAt:e.number().nullable(),syncRepoListFinishedAt:e.number().nullable()}),e.object({id:G,createdAt:e.number(),updatedAt:e.number(),workspaceId:L,type:mf,state:hf,token:e.string().optional().nullable(),ghInstallationId:e.number().optional().nullable(),ghSettingsUrl:e.string().optional().nullable(),version:e.number(),ghInstallationUrl:e.string().optional().nullable(),name:e.string().optional().nullable(),avatarUrl:e.string().optional().nullable(),syncRepoListStartedAt:e.number().optional().nullable(),syncRepoListFinishedAt:e.number().optional().nullable()}),e.object({id:G.optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),workspaceId:L.optional(),type:mf.optional(),state:hf.optional(),token:e.string().optional().nullable(),ghInstallationId:e.number().optional().nullable(),ghSettingsUrl:e.string().optional().nullable(),version:e.number().optional(),ghInstallationUrl:e.string().optional().nullable(),name:e.string().optional().nullable(),avatarUrl:e.string().optional().nullable(),syncRepoListStartedAt:e.number().optional().nullable(),syncRepoListFinishedAt:e.number().optional().nullable()});var gf=e.string();e.object({id:gf,createdAt:e.number(),updatedAt:e.number(),vcsIntegrationId:G,owner:e.string(),name:e.string(),branch:e.string(),excludeAuthorEmail:e.string().array().nullable(),version:e.number(),activatedAt:e.number().nullable(),unavailableAt:e.number().nullable(),defaultBranch:e.string(),workspaceId:L,description:e.string(),url:e.string(),syncCommitListStartedAt:e.number().nullable(),syncCommitListFinishedAt:e.number().nullable(),originId:e.string().nullable(),originUpdatedAt:e.number().nullable(),syncBranchListStartedAt:e.number().nullable(),syncBranchListFinishedAt:e.number().nullable()}),e.object({id:gf,createdAt:e.number(),updatedAt:e.number(),vcsIntegrationId:G,owner:e.string(),name:e.string(),branch:e.string(),excludeAuthorEmail:e.string().array().optional().nullable(),version:e.number(),activatedAt:e.number().optional().nullable(),unavailableAt:e.number().optional().nullable(),defaultBranch:e.string(),workspaceId:L,description:e.string(),url:e.string(),syncCommitListStartedAt:e.number().optional().nullable(),syncCommitListFinishedAt:e.number().optional().nullable(),originId:e.string().optional().nullable(),originUpdatedAt:e.number().optional().nullable(),syncBranchListStartedAt:e.number().optional().nullable(),syncBranchListFinishedAt:e.number().optional().nullable()}),e.object({id:gf.optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),vcsIntegrationId:G.optional(),owner:e.string().optional(),name:e.string().optional(),branch:e.string().optional(),excludeAuthorEmail:e.string().array().optional().nullable(),version:e.number().optional(),activatedAt:e.number().optional().nullable(),unavailableAt:e.number().optional().nullable(),defaultBranch:e.string().optional(),workspaceId:L.optional(),description:e.string().optional(),url:e.string().optional(),syncCommitListStartedAt:e.number().optional().nullable(),syncCommitListFinishedAt:e.number().optional().nullable(),originId:e.string().optional().nullable(),originUpdatedAt:e.number().optional().nullable(),syncBranchListStartedAt:e.number().optional().nullable(),syncBranchListFinishedAt:e.number().optional().nullable()});var _f=e.string();e.object({id:_f,createdAt:e.number(),updatedAt:e.number(),version:e.number(),vcsRepoId:gf,vcsIntegrationId:G,workspaceId:L,name:e.string(),commitSha:e.string()}),e.object({id:_f,createdAt:e.number(),updatedAt:e.number(),version:e.number(),vcsRepoId:gf,vcsIntegrationId:G,workspaceId:L,name:e.string(),commitSha:e.string()}),e.object({id:_f.optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),version:e.number().optional(),vcsRepoId:gf.optional(),vcsIntegrationId:G.optional(),workspaceId:L.optional(),name:e.string().optional(),commitSha:e.string().optional()});var vf=e.enum([`SUGGESTED`,`APPROVED`,`REJECTED`]);e.object({noteIdA:H,noteIdB:H,workspaceId:L,createdAt:e.number(),updatedAt:e.number(),distance:e.number().nullable(),version:e.number(),status:vf,createdByUserId:B.nullable(),lastModifiedByUserId:B.nullable(),lastModifiedAt:e.number().nullable()}),e.object({noteIdA:H,noteIdB:H,workspaceId:L,createdAt:e.number(),updatedAt:e.number(),distance:e.number().optional().nullable(),version:e.number(),status:vf,createdByUserId:B.optional().nullable(),lastModifiedByUserId:B.optional().nullable(),lastModifiedAt:e.number().optional().nullable()}),e.object({noteIdA:H.optional(),noteIdB:H.optional(),workspaceId:L.optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),distance:e.number().optional().nullable(),version:e.number().optional(),status:vf.optional(),createdByUserId:B.optional().nullable(),lastModifiedByUserId:B.optional().nullable(),lastModifiedAt:e.number().optional().nullable()});var yf=e.string();e.object({id:yf,workspaceId:L,projectId:U,key:e.string(),name:e.string(),toolList:e.array(e.json()),createdAt:e.number(),updatedAt:e.number(),description:e.string(),version:e.number()}),e.object({id:yf,workspaceId:L,projectId:U,key:e.string(),name:e.string(),toolList:e.array(e.json()),createdAt:e.number(),updatedAt:e.number(),description:e.string(),version:e.number()}),e.object({id:yf.optional(),workspaceId:L.optional(),projectId:U.optional(),key:e.string().optional(),name:e.string().optional(),toolList:e.array(e.json()).optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),description:e.string().optional(),version:e.number().optional()});var K=e.string();e.object({id:K,workspaceId:L,version:e.number(),createdAt:e.number(),updatedAt:e.number(),name:e.string(),projectId:U,surfaceId:yf,ownedByPersonId:V}),e.object({id:K,workspaceId:L,version:e.number(),createdAt:e.number(),updatedAt:e.number(),name:e.string(),projectId:U,surfaceId:yf,ownedByPersonId:V}),e.object({id:K.optional(),workspaceId:L.optional(),version:e.number().optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),name:e.string().optional(),projectId:U.optional(),surfaceId:yf.optional(),ownedByPersonId:V.optional()});var bf=e.enum([`PENDING`,`IN_PROGRESS`,`READY`,`ERROR`]),xf=e.string();e.object({id:xf,workspaceId:L,version:e.number(),createdAt:e.number(),updatedAt:e.number(),spriteId:K,parentSpriteBuildId:xf.nullable(),prompt:e.string(),artifactUrl:e.string().nullable(),sourceUrl:e.string().nullable(),status:bf,startedAt:e.number().nullable(),stoppedAt:e.number().nullable(),error:e.record(e.string(),e.json()).nullable(),toolList:e.array(e.json()),reasoningSummary:e.string().nullable(),publishedAt:e.number().nullable(),createdByPersonId:V,agentProvider:e.string(),agentModel:e.string(),agentInputTokens:e.number(),agentOutputTokens:e.number(),agentCacheReadTokens:e.number(),agentCacheWriteTokens:e.number(),agentEstimatedCostUsd:e.number()}),e.object({id:xf,workspaceId:L,version:e.number(),createdAt:e.number(),updatedAt:e.number(),spriteId:K,parentSpriteBuildId:xf.optional().nullable(),prompt:e.string(),artifactUrl:e.string().optional().nullable(),sourceUrl:e.string().optional().nullable(),status:bf,startedAt:e.number().optional().nullable(),stoppedAt:e.number().optional().nullable(),error:e.record(e.string(),e.json()).optional().nullable(),toolList:e.array(e.json()),reasoningSummary:e.string().optional().nullable(),publishedAt:e.number().optional().nullable(),createdByPersonId:V,agentProvider:e.string(),agentModel:e.string(),agentInputTokens:e.number(),agentOutputTokens:e.number(),agentCacheReadTokens:e.number(),agentCacheWriteTokens:e.number(),agentEstimatedCostUsd:e.number()}),e.object({id:xf.optional(),workspaceId:L.optional(),version:e.number().optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),spriteId:K.optional(),parentSpriteBuildId:xf.optional().nullable(),prompt:e.string().optional(),artifactUrl:e.string().optional().nullable(),sourceUrl:e.string().optional().nullable(),status:bf.optional(),startedAt:e.number().optional().nullable(),stoppedAt:e.number().optional().nullable(),error:e.record(e.string(),e.json()).optional().nullable(),toolList:e.array(e.json()).optional(),reasoningSummary:e.string().optional().nullable(),publishedAt:e.number().optional().nullable(),createdByPersonId:V.optional(),agentProvider:e.string().optional(),agentModel:e.string().optional(),agentInputTokens:e.number().optional(),agentOutputTokens:e.number().optional(),agentCacheReadTokens:e.number().optional(),agentCacheWriteTokens:e.number().optional(),agentEstimatedCostUsd:e.number().optional()});var Sf=e.string();e.object({id:Sf,workspaceId:L,createdAt:e.number(),updatedAt:e.number(),snapshot:e.record(e.string(),e.json()).nullable()}),e.object({id:Sf,workspaceId:L,createdAt:e.number(),updatedAt:e.number(),snapshot:e.record(e.string(),e.json()).optional().nullable()}),e.object({id:Sf.optional(),workspaceId:L.optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),snapshot:e.record(e.string(),e.json()).optional().nullable()});var Cf=e.enum(`DOCUMENT_COMMENT_CREATE.DOCUMENT_COMMENT_DELETE.DOCUMENT_COMMENT_RESOLVE.DOCUMENT_COMMENT_UPDATE.DOCUMENT_CREATE.DOCUMENT_DELETE.DOCUMENT_PERSON_MENTION.DOCUMENT_UPDATE_BLOCK_CONTENT.DOCUMENT_UPDATE_STATUS.DOCUMENT_UPDATE_TITLE.NOTE_COMMENT_CREATE.NOTE_COMMENT_DELETE.NOTE_COMMENT_RESOLVE.NOTE_COMMENT_UPDATE.NOTE_CREATE.NOTE_PERSON_MENTION.NOTE_UPDATE_CONTENT.NOTE_UPDATE_LABEL.NOTE_UPDATE_PERSON.NOTE_UPDATE_REFERENCE.NOTE_UPDATE_STATUS.NOTE_UPDATE_TITLE.SEQUENCE_DOCUMENT_DELETE.SEQUENCE_DOCUMENT_INSERT.SEQUENCE_DOCUMENT_STATUS_IN.SEQUENCE_DOCUMENT_STATUS_OUT.SEQUENCE_DOCUMENT_UPDATE_ORDER.SEQUENCE_COMMENT_CREATE.SEQUENCE_COMMENT_DELETE.SEQUENCE_COMMENT_RESOLVE.SEQUENCE_COMMENT_UPDATE.SEQUENCE_PERSON_MENTION.SPRITE_CREATE.SPRITE_COMMENT_CREATE`.split(`.`)),wf=e.enum([`CANCELED`,`IDEA`,`DEVELOPMENT`,`RELEASED`,`DRAFT`,`ARCHIVED`]),q=e.string();e.object({id:q,title:e.string(),status:wf,createdAt:e.number(),updatedAt:e.number(),publicId:e.number(),createdByUserId:B,workspaceId:L,vcsTagList:e.string().array(),archivedAt:e.number().nullable(),archivedByUserId:B.nullable(),version:e.number(),lastModifiedAt:e.number(),releasedAt:e.number().nullable(),ownedByPersonId:V}),e.object({id:q,title:e.string(),status:wf,createdAt:e.number(),updatedAt:e.number(),publicId:e.number(),createdByUserId:B,workspaceId:L,vcsTagList:e.string().array(),archivedAt:e.number().optional().nullable(),archivedByUserId:B.optional().nullable(),version:e.number(),lastModifiedAt:e.number(),releasedAt:e.number().optional().nullable(),ownedByPersonId:V}),e.object({id:q.optional(),title:e.string().optional(),status:wf.optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),publicId:e.number().optional(),createdByUserId:B.optional(),workspaceId:L.optional(),vcsTagList:e.string().array().optional(),archivedAt:e.number().optional().nullable(),archivedByUserId:B.optional().nullable(),version:e.number().optional(),lastModifiedAt:e.number().optional(),releasedAt:e.number().optional().nullable(),ownedByPersonId:V.optional()});var Tf=e.enum([`USER`,`STATUS`,`WISH`]),Ef=e.enum([`NONE`,`STATUS`]),J=e.string();e.object({id:J,createdAt:e.number(),updatedAt:e.number(),name:e.string(),workspaceId:L,publicId:e.string(),type:Tf,status:wf.nullable().nullable(),version:e.number(),icon:e.string(),pinned:e.number().nullable(),groupBy:Ef,ownedByPersonId:V.nullable()}),e.object({id:J,createdAt:e.number(),updatedAt:e.number(),name:e.string(),workspaceId:L,publicId:e.string(),type:Tf,status:wf.nullable().optional().nullable(),version:e.number(),icon:e.string(),pinned:e.number().optional().nullable(),groupBy:Ef,ownedByPersonId:V.optional().nullable()}),e.object({id:J.optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),name:e.string().optional(),workspaceId:L.optional(),publicId:e.string().optional(),type:Tf.optional(),status:wf.nullable().optional().nullable(),version:e.number().optional(),icon:e.string().optional(),pinned:e.number().optional().nullable(),groupBy:Ef.optional(),ownedByPersonId:V.optional().nullable()});var Df=e.string();e.object({id:Df,workspaceId:L,type:Cf,detail:e.record(e.string(),e.json()),actionedAt:e.number(),createdAt:e.number(),updatedAt:e.number(),version:e.number(),documentId:q.nullable(),noteId:H.nullable(),sequenceId:J.nullable(),spriteId:K.nullable(),actionedByPersonId:V}),e.object({id:Df,workspaceId:L,type:Cf,detail:e.record(e.string(),e.json()),actionedAt:e.number(),createdAt:e.number(),updatedAt:e.number(),version:e.number(),documentId:q.optional().nullable(),noteId:H.optional().nullable(),sequenceId:J.optional().nullable(),spriteId:K.optional().nullable(),actionedByPersonId:V}),e.object({id:Df.optional(),workspaceId:L.optional(),type:Cf.optional(),detail:e.record(e.string(),e.json()).optional(),actionedAt:e.number().optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),version:e.number().optional(),documentId:q.optional().nullable(),noteId:H.optional().nullable(),sequenceId:J.optional().nullable(),spriteId:K.optional().nullable(),actionedByPersonId:V.optional()});var Of=e.enum([`DOCUMENT`,`NOTE`,`SEQUENCE`,`SPRITE`]),kf=e.enum([`TEXT`,`DRAWING`]),Af=e.enum([`UNKNOWN`]),jf=e.string();e.object({id:jf,sortOrder:e.number(),documentId:q,createdAt:e.number(),updatedAt:e.number(),type:kf,lockedAt:e.number().nullable(),version:e.number(),lastModifiedAt:e.number(),workspaceId:L,archivedAt:e.number().nullable(),archivedByUserId:B.nullable(),flagList:Af.array(),title:e.string(),contentId:R.nullable(),canvasId:Sf.nullable(),lastModifiedByUserId:B}),e.object({id:jf,sortOrder:e.number(),documentId:q,createdAt:e.number(),updatedAt:e.number(),type:kf,lockedAt:e.number().optional().nullable(),version:e.number(),lastModifiedAt:e.number(),workspaceId:L,archivedAt:e.number().optional().nullable(),archivedByUserId:B.optional().nullable(),flagList:Af.array(),title:e.string(),contentId:R.optional().nullable(),canvasId:Sf.optional().nullable(),lastModifiedByUserId:B}),e.object({id:jf.optional(),sortOrder:e.number().optional(),documentId:q.optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),type:kf.optional(),lockedAt:e.number().optional().nullable(),version:e.number().optional(),lastModifiedAt:e.number().optional(),workspaceId:L.optional(),archivedAt:e.number().optional().nullable(),archivedByUserId:B.optional().nullable(),flagList:Af.array().optional(),title:e.string().optional(),contentId:R.optional().nullable(),canvasId:Sf.optional().nullable(),lastModifiedByUserId:B.optional()});var Y=e.string();e.object({id:Y,createdAt:e.number(),updatedAt:e.number(),postedAt:e.number(),documentId:q.nullable(),userId:B,parentCommentId:Y.nullable(),onBlockId:jf.nullable(),resolvedAt:e.number().nullable(),resolvedByUserId:B.nullable(),sequenceId:J.nullable(),workspaceId:L,version:e.number(),noteId:H.nullable(),contentId:R,onEventId:Df.nullable(),spriteId:K.nullable()}),e.object({id:Y,createdAt:e.number(),updatedAt:e.number(),postedAt:e.number(),documentId:q.optional().nullable(),userId:B,parentCommentId:Y.optional().nullable(),onBlockId:jf.optional().nullable(),resolvedAt:e.number().optional().nullable(),resolvedByUserId:B.optional().nullable(),sequenceId:J.optional().nullable(),workspaceId:L,version:e.number(),noteId:H.optional().nullable(),contentId:R,onEventId:Df.optional().nullable(),spriteId:K.optional().nullable()}),e.object({id:Y.optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),postedAt:e.number().optional(),documentId:q.optional().nullable(),userId:B.optional(),parentCommentId:Y.optional().nullable(),onBlockId:jf.optional().nullable(),resolvedAt:e.number().optional().nullable(),resolvedByUserId:B.optional().nullable(),sequenceId:J.optional().nullable(),workspaceId:L.optional(),version:e.number().optional(),noteId:H.optional().nullable(),contentId:R.optional(),onEventId:Df.optional().nullable(),spriteId:K.optional().nullable()});var Mf=e.string();e.object({id:Mf,workspaceId:L,userId:B,eventId:Df,readAt:e.number().nullable(),createdAt:e.number(),updatedAt:e.number(),version:e.number(),type:Of,documentId:q.nullable(),noteId:H.nullable(),sequenceId:J.nullable(),commentId:Y.nullable(),spriteId:K.nullable()}),e.object({id:Mf,workspaceId:L,userId:B,eventId:Df,readAt:e.number().optional().nullable(),createdAt:e.number(),updatedAt:e.number(),version:e.number(),type:Of,documentId:q.optional().nullable(),noteId:H.optional().nullable(),sequenceId:J.optional().nullable(),commentId:Y.optional().nullable(),spriteId:K.optional().nullable()}),e.object({id:Mf.optional(),workspaceId:L.optional(),userId:B.optional(),eventId:Df.optional(),readAt:e.number().optional().nullable(),createdAt:e.number().optional(),updatedAt:e.number().optional(),version:e.number().optional(),type:Of.optional(),documentId:q.optional().nullable(),noteId:H.optional().nullable(),sequenceId:J.optional().nullable(),commentId:Y.optional().nullable(),spriteId:K.optional().nullable()});var Nf=e.string();e.object({id:Nf,workspaceId:L,createdAt:e.number(),updatedAt:e.number(),version:e.number(),title:e.string(),contentId:R,completedAt:e.number().nullable(),createdByPersonId:V}),e.object({id:Nf,workspaceId:L,createdAt:e.number(),updatedAt:e.number(),version:e.number(),title:e.string(),contentId:R,completedAt:e.number().optional().nullable(),createdByPersonId:V}),e.object({id:Nf.optional(),workspaceId:L.optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),version:e.number().optional(),title:e.string().optional(),contentId:R.optional(),completedAt:e.number().optional().nullable(),createdByPersonId:V.optional()});var Pf=e.string();e.object({id:Pf,userId:B,contentId:R,workspaceId:L,createdAt:e.number(),updatedAt:e.number(),version:e.number(),state:e.instanceof(Uint8Array)}),e.object({id:Pf,userId:B,contentId:R,workspaceId:L,createdAt:e.number(),updatedAt:e.number(),version:e.number(),state:e.instanceof(Uint8Array)}),e.object({id:Pf.optional(),userId:B.optional(),contentId:R.optional(),workspaceId:L.optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),version:e.number().optional(),state:e.instanceof(Uint8Array).optional()});var Ff=e.string();e.object({id:Ff,createdAt:e.number(),record:e.record(e.string(),e.json())}),e.object({id:Ff,createdAt:e.number(),record:e.record(e.string(),e.json())}),e.object({id:Ff.optional(),createdAt:e.number().optional(),record:e.record(e.string(),e.json()).optional()}),e.object({spriteId:K,projectAccountId:W,workspaceId:L,projectId:U,createdAt:e.number(),updatedAt:e.number(),version:e.number()}),e.object({spriteId:K,projectAccountId:W,workspaceId:L,projectId:U,createdAt:e.number(),updatedAt:e.number(),version:e.number()}),e.object({spriteId:K.optional(),projectAccountId:W.optional(),workspaceId:L.optional(),projectId:U.optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),version:e.number().optional()}),e.object({projectAccountId:W,projectUserId:of,createdAt:e.number(),updatedAt:e.number(),version:e.number(),workspaceId:L,projectId:U}),e.object({projectAccountId:W,projectUserId:of,createdAt:e.number(),updatedAt:e.number(),version:e.number(),workspaceId:L,projectId:U}),e.object({projectAccountId:W.optional(),projectUserId:of.optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),version:e.number().optional(),workspaceId:L.optional(),projectId:U.optional()});var If=e.string();e.object({id:If,workspaceId:L,userId:B,emoji:e.string(),createdAt:e.number(),updatedAt:e.number(),version:e.number(),commentId:Y.nullable(),noteId:H.nullable()}),e.object({id:If,workspaceId:L,userId:B,emoji:e.string(),createdAt:e.number(),updatedAt:e.number(),version:e.number(),commentId:Y.optional().nullable(),noteId:H.optional().nullable()}),e.object({id:If.optional(),workspaceId:L.optional(),userId:B.optional(),emoji:e.string().optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),version:e.number().optional(),commentId:Y.optional().nullable(),noteId:H.optional().nullable()}),e.object({taskId:Nf,workspaceId:L,createdAt:e.number(),updatedAt:e.number(),version:e.number(),sortOrder:e.number()}),e.object({taskId:Nf,workspaceId:L,createdAt:e.number(),updatedAt:e.number(),version:e.number(),sortOrder:e.number()}),e.object({taskId:Nf.optional(),workspaceId:L.optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),version:e.number().optional(),sortOrder:e.number().optional()});var Lf=e.string();e.object({id:Lf,workspaceId:L,token:e.string(),createdAt:e.number(),updatedAt:e.number(),version:e.number()}),e.object({id:Lf,workspaceId:L,token:e.string(),createdAt:e.number(),updatedAt:e.number(),version:e.number()}),e.object({id:Lf.optional(),workspaceId:L.optional(),token:e.string().optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),version:e.number().optional()});var Rf=e.string();e.object({id:Rf,workspaceId:L,userId:B,hash:e.instanceof(Uint8Array),createdAt:e.number(),updatedAt:e.number(),expiresAt:e.number()}),e.object({id:Rf,workspaceId:L,userId:B,hash:e.instanceof(Uint8Array),createdAt:e.number(),updatedAt:e.number(),expiresAt:e.number()}),e.object({id:Rf.optional(),workspaceId:L.optional(),userId:B.optional(),hash:e.instanceof(Uint8Array).optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),expiresAt:e.number().optional()});var zf=e.enum([`STEP_STARTED`,`STEP_COMPLETED`,`STEP_FAILED`,`EXEC_STARTED`,`EXEC_COMPLETED`,`EXEC_FAILED`,`FETCH_STARTED`,`FETCH_COMPLETED`,`FETCH_FAILED`,`AGENT_STARTED`,`AGENT_COMPLETED`,`AGENT_TOOL_STARTED`,`AGENT_TOOL_COMPLETED`,`AGENT_TOOL_FAILED`,`AGENT_META`,`AGENT_MESSAGE`,`AGENT_THOUGHT`,`AGENT_USAGE`]),Bf=e.string();e.object({id:Bf,workspaceId:L,spriteBuildId:xf,createdAt:e.number(),updatedAt:e.number(),version:e.number(),type:zf,detail:e.record(e.string(),e.json()),actionedAt:e.number()}),e.object({id:Bf,workspaceId:L,spriteBuildId:xf,createdAt:e.number(),updatedAt:e.number(),version:e.number(),type:zf,detail:e.record(e.string(),e.json()),actionedAt:e.number()}),e.object({id:Bf.optional(),workspaceId:L.optional(),spriteBuildId:xf.optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),version:e.number().optional(),type:zf.optional(),detail:e.record(e.string(),e.json()).optional(),actionedAt:e.number().optional()}),e.object({blockId:jf,userId:B,workspaceId:L,lastReadAt:e.number(),createdAt:e.number(),updatedAt:e.number(),version:e.number()}),e.object({blockId:jf,userId:B,workspaceId:L,lastReadAt:e.number(),createdAt:e.number(),updatedAt:e.number(),version:e.number()}),e.object({blockId:jf.optional(),userId:B.optional(),workspaceId:L.optional(),lastReadAt:e.number().optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),version:e.number().optional()});var Vf=e.enum([`NOTE`,`DOCUMENT`]),Hf=e.string();e.object({id:Hf,workspaceId:L,userId:B,type:Vf,matchAll:e.boolean(),createdAt:e.number(),updatedAt:e.number(),version:e.number()}),e.object({id:Hf,workspaceId:L,userId:B,type:Vf,matchAll:e.boolean(),createdAt:e.number(),updatedAt:e.number(),version:e.number()}),e.object({id:Hf.optional(),workspaceId:L.optional(),userId:B.optional(),type:Vf.optional(),matchAll:e.boolean().optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),version:e.number().optional()});var Uf=e.enum([`ADMIN`,`GUEST`,`ARCHIVED`,`DEMO`]);e.object({workspaceId:L,userId:B,createdAt:e.number(),updatedAt:e.number(),role:Uf,version:e.number(),personId:V,lastReadNotificationsAt:e.number().nullable()}),e.object({workspaceId:L,userId:B,createdAt:e.number(),updatedAt:e.number(),role:Uf,version:e.number(),personId:V,lastReadNotificationsAt:e.number().optional().nullable()}),e.object({workspaceId:L.optional(),userId:B.optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),role:Uf.optional(),version:e.number().optional(),personId:V.optional(),lastReadNotificationsAt:e.number().optional().nullable()});var Wf=e.string();e.object({id:Wf,workspaceId:L,name:e.string(),url:e.string(),secret:e.string(),eventTypeList:Cf.array(),createdByPersonId:V,createdAt:e.number(),updatedAt:e.number()}),e.object({id:Wf,workspaceId:L,name:e.string(),url:e.string(),secret:e.string(),eventTypeList:Cf.array(),createdByPersonId:V,createdAt:e.number(),updatedAt:e.number()}),e.object({id:Wf.optional(),workspaceId:L.optional(),name:e.string().optional(),url:e.string().optional(),secret:e.string().optional(),eventTypeList:Cf.array().optional(),createdByPersonId:V.optional(),createdAt:e.number().optional(),updatedAt:e.number().optional()});var Gf=e.enum([`FEATURE`,`FIX`,`RELEASE`,`CHORE`]),Kf=e.string();e.object({id:Kf,createdAt:e.number(),updatedAt:e.number(),version:e.number(),vcsIntegrationId:G,workspaceId:L,name:e.string(),email:e.string(),avatarUrl:e.string().nullable()}),e.object({id:Kf,createdAt:e.number(),updatedAt:e.number(),version:e.number(),vcsIntegrationId:G,workspaceId:L,name:e.string(),email:e.string(),avatarUrl:e.string().optional().nullable()}),e.object({id:Kf.optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),version:e.number().optional(),vcsIntegrationId:G.optional(),workspaceId:L.optional(),name:e.string().optional(),email:e.string().optional(),avatarUrl:e.string().optional().nullable()});var qf=e.string();e.object({id:qf,createdAt:e.number(),updatedAt:e.number(),sha:e.string(),vcsRepoId:gf,url:e.string(),message:e.string(),parentShaList:e.string().array().nullable(),version:e.number(),authoredAt:e.number().nullable(),committedAt:e.number().nullable(),vcsIntegrationId:G,workspaceId:L,type:Gf,subject:e.string(),scope:e.string().nullable(),authorId:Kf.nullable(),committerId:Kf.nullable()}),e.object({id:qf,createdAt:e.number(),updatedAt:e.number(),sha:e.string(),vcsRepoId:gf,url:e.string(),message:e.string(),parentShaList:e.string().array().optional().nullable(),version:e.number(),authoredAt:e.number().optional().nullable(),committedAt:e.number().optional().nullable(),vcsIntegrationId:G,workspaceId:L,type:Gf,subject:e.string(),scope:e.string().optional().nullable(),authorId:Kf.optional().nullable(),committerId:Kf.optional().nullable()}),e.object({id:qf.optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),sha:e.string().optional(),vcsRepoId:gf.optional(),url:e.string().optional(),message:e.string().optional(),parentShaList:e.string().array().optional().nullable(),version:e.number().optional(),authoredAt:e.number().optional().nullable(),committedAt:e.number().optional().nullable(),vcsIntegrationId:G.optional(),workspaceId:L.optional(),type:Gf.optional(),subject:e.string().optional(),scope:e.string().optional().nullable(),authorId:Kf.optional().nullable(),committerId:Kf.optional().nullable()}),e.object({vcsCommitId:qf,documentId:q,createdAt:e.number(),updatedAt:e.number(),description:e.string(),version:e.number(),vcsIntegrationId:G,workspaceId:L}),e.object({vcsCommitId:qf,documentId:q,createdAt:e.number(),updatedAt:e.number(),description:e.string(),version:e.number(),vcsIntegrationId:G,workspaceId:L}),e.object({vcsCommitId:qf.optional(),documentId:q.optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),description:e.string().optional(),version:e.number().optional(),vcsIntegrationId:G.optional(),workspaceId:L.optional()}),e.object({documentId:q,userId:B,workspaceId:L,lastReadAt:e.number(),createdAt:e.number(),updatedAt:e.number(),version:e.number()}),e.object({documentId:q,userId:B,workspaceId:L,lastReadAt:e.number(),createdAt:e.number(),updatedAt:e.number(),version:e.number()}),e.object({documentId:q.optional(),userId:B.optional(),workspaceId:L.optional(),lastReadAt:e.number().optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),version:e.number().optional()}),e.object({personId:V,taskId:Nf,workspaceId:L,createdAt:e.number(),updatedAt:e.number(),version:e.number(),sortOrder:e.number(),date:e.iso.date()}),e.object({personId:V,taskId:Nf,workspaceId:L,createdAt:e.number(),updatedAt:e.number(),version:e.number(),sortOrder:e.number(),date:e.iso.date()}),e.object({personId:V.optional(),taskId:Nf.optional(),workspaceId:L.optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),version:e.number().optional(),sortOrder:e.number().optional(),date:e.iso.date().optional()});var Jf=e.enum([`DOCUMENT`,`NOTE`,`SEQUENCE`,`COMMENT`,`NEW_NOTE`,`SPRITE`]),Yf=e.string();e.object({id:Yf,workspaceId:L,userId:B,type:Jf,commentId:Y.nullable(),noteId:H.nullable(),documentId:q.nullable(),sequenceId:J.nullable(),createdAt:e.number(),updatedAt:e.number(),version:e.number(),spriteId:K.nullable()}),e.object({id:Yf,workspaceId:L,userId:B,type:Jf,commentId:Y.optional().nullable(),noteId:H.optional().nullable(),documentId:q.optional().nullable(),sequenceId:J.optional().nullable(),createdAt:e.number(),updatedAt:e.number(),version:e.number(),spriteId:K.optional().nullable()}),e.object({id:Yf.optional(),workspaceId:L.optional(),userId:B.optional(),type:Jf.optional(),commentId:Y.optional().nullable(),noteId:H.optional().nullable(),documentId:q.optional().nullable(),sequenceId:J.optional().nullable(),createdAt:e.number().optional(),updatedAt:e.number().optional(),version:e.number().optional(),spriteId:K.optional().nullable()});var Xf=e.string();e.object({id:Xf,workspaceId:L,email:z,lastSentAt:e.number().nullable(),invitedByUserId:B,createdAt:e.number(),updatedAt:e.number(),version:e.number(),token:e.string().nullable()}),e.object({id:Xf,workspaceId:L,email:z,lastSentAt:e.number().optional().nullable(),invitedByUserId:B,createdAt:e.number(),updatedAt:e.number(),version:e.number(),token:e.string().optional().nullable()}),e.object({id:Xf.optional(),workspaceId:L.optional(),email:z.optional(),lastSentAt:e.number().optional().nullable(),invitedByUserId:B.optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),version:e.number().optional(),token:e.string().optional().nullable()});var Zf=e.string();e.object({id:Zf,clientGroupId:pf,lastMutationId:e.number(),version:e.number()}),e.object({id:Zf,clientGroupId:pf,lastMutationId:e.number(),version:e.number()}),e.object({id:Zf.optional(),clientGroupId:pf.optional(),lastMutationId:e.number().optional(),version:e.number().optional()}),e.object({documentIdA:q,documentIdB:q,workspaceId:L,createdAt:e.number(),updatedAt:e.number(),distance:e.number().nullable(),version:e.number(),status:vf,createdByUserId:B.nullable(),lastModifiedByUserId:B.nullable(),lastModifiedAt:e.number().nullable()}),e.object({documentIdA:q,documentIdB:q,workspaceId:L,createdAt:e.number(),updatedAt:e.number(),distance:e.number().optional().nullable(),version:e.number(),status:vf,createdByUserId:B.optional().nullable(),lastModifiedByUserId:B.optional().nullable(),lastModifiedAt:e.number().optional().nullable()}),e.object({documentIdA:q.optional(),documentIdB:q.optional(),workspaceId:L.optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),distance:e.number().optional().nullable(),version:e.number().optional(),status:vf.optional(),createdByUserId:B.optional().nullable(),lastModifiedByUserId:B.optional().nullable(),lastModifiedAt:e.number().optional().nullable()});var Qf=e.string();e.object({id:Qf,userId:B,createdAt:e.number(),updatedAt:e.number(),expiresAt:e.number(),twoFactorVerifiedAt:e.number().nullable()}),e.object({id:Qf,userId:B,createdAt:e.number(),updatedAt:e.number(),expiresAt:e.number(),twoFactorVerifiedAt:e.number().optional().nullable()}),e.object({id:Qf.optional(),userId:B.optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),expiresAt:e.number().optional(),twoFactorVerifiedAt:e.number().optional().nullable()});var $f=e.string();e.object({id:$f,workspaceId:L,hash:e.instanceof(Uint8Array),createdAt:e.number(),updatedAt:e.number(),contentHash:e.instanceof(Uint8Array),contentId:R,offset:e.number(),size:e.number(),tokenCount:e.number(),plaintext:e.string()}),e.object({id:$f,workspaceId:L,hash:e.instanceof(Uint8Array),createdAt:e.number(),updatedAt:e.number(),contentHash:e.instanceof(Uint8Array),contentId:R,offset:e.number(),size:e.number(),tokenCount:e.number(),plaintext:e.string()}),e.object({id:$f.optional(),workspaceId:L.optional(),hash:e.instanceof(Uint8Array).optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),contentHash:e.instanceof(Uint8Array).optional(),contentId:R.optional(),offset:e.number().optional(),size:e.number().optional(),tokenCount:e.number().optional(),plaintext:e.string().optional()});var ep=e.enum([`IS_IN`,`IS_NOT_IN`]),tp=e.string();e.object({id:tp,filterId:Hf,workspaceId:L,field:e.string(),comparator:ep,value:e.record(e.string(),e.json()),createdAt:e.number(),updatedAt:e.number(),version:e.number()}),e.object({id:tp,filterId:Hf,workspaceId:L,field:e.string(),comparator:ep,value:e.record(e.string(),e.json()),createdAt:e.number(),updatedAt:e.number(),version:e.number()}),e.object({id:tp.optional(),filterId:Hf.optional(),workspaceId:L.optional(),field:e.string().optional(),comparator:ep.optional(),value:e.record(e.string(),e.json()).optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),version:e.number().optional()}),e.object({spriteIdA:K,spriteIdB:K,workspaceId:L,createdAt:e.number(),updatedAt:e.number(),distance:e.number().nullable(),version:e.number(),status:vf,createdByUserId:B.nullable(),lastModifiedByUserId:B.nullable(),lastModifiedAt:e.number().nullable()}),e.object({spriteIdA:K,spriteIdB:K,workspaceId:L,createdAt:e.number(),updatedAt:e.number(),distance:e.number().optional().nullable(),version:e.number(),status:vf,createdByUserId:B.optional().nullable(),lastModifiedByUserId:B.optional().nullable(),lastModifiedAt:e.number().optional().nullable()}),e.object({spriteIdA:K.optional(),spriteIdB:K.optional(),workspaceId:L.optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),distance:e.number().optional().nullable(),version:e.number().optional(),status:vf.optional(),createdByUserId:B.optional().nullable(),lastModifiedByUserId:B.optional().nullable(),lastModifiedAt:e.number().optional().nullable()}),e.object({taskId:Nf,labelId:nf,labelType:tf,workspaceId:L,createdAt:e.number(),updatedAt:e.number(),version:e.number()}),e.object({taskId:Nf,labelId:nf,labelType:tf,workspaceId:L,createdAt:e.number(),updatedAt:e.number(),version:e.number()}),e.object({taskId:Nf.optional(),labelId:nf.optional(),labelType:tf.optional(),workspaceId:L.optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),version:e.number().optional()});var np=e.enum([`SIGNUP_REQUEST`,`SIGNUP_ATTEMPT_TOKEN`,`SIGNUP_SUCCESS`,`LOGIN_VIA_GOOGLE_SUCCESS`,`LOGIN_VIA_PASSWORD_ATTEMPT`,`LOGIN_VIA_PASSWORD_SUCCESS`,`RESET_PASSWORD_REQUEST`,`RESET_PASSWORD_ATTEMPT_TOKEN`,`RESET_PASSWORD_SUCCESS`,`PASSWORD_CHANGE`,`TOTP_ENABLE`,`TOTP_DISABLE`,`TOTP_VERIFY_ATTEMPT`,`TOTP_VERIFY_SUCCESS`,`RECOVERY_CODE_REGENERATED`,`RECOVERY_CODE_ATTEMPT`,`RECOVERY_CODE_SUCCESS`,`VALIDATE_INVITE_LINK_ATTEMPT`,`VALIDATE_INVITE_LINK_SUCCESS`,`VALIDATE_INVITATION_ATTEMPT`,`VALIDATE_INVITATION_SUCCESS`]),rp=e.string();e.object({id:rp,type:np,userId:B.nullable(),email:z.nullable().nullable(),clientAddress:e.string(),userAgent:e.string(),createdAt:e.number(),updatedAt:e.number()}),e.object({id:rp,type:np,userId:B.optional().nullable(),email:z.nullable().optional().nullable(),clientAddress:e.string(),userAgent:e.string(),createdAt:e.number(),updatedAt:e.number()}),e.object({id:rp.optional(),type:np.optional(),userId:B.optional().nullable(),email:z.nullable().optional().nullable(),clientAddress:e.string().optional(),userAgent:e.string().optional(),createdAt:e.number().optional(),updatedAt:e.number().optional()});var ip=z;e.object({workspaceId:L,personId:V,email:ip,createdAt:e.number(),updatedAt:e.number(),isPrimary:e.boolean()}),e.object({workspaceId:L,personId:V,email:ip,createdAt:e.number(),updatedAt:e.number(),isPrimary:e.boolean()}),e.object({workspaceId:L.optional(),personId:V.optional(),email:ip.optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),isPrimary:e.boolean().optional()}),e.object({documentId:q,noteId:H,workspaceId:L,createdAt:e.number(),updatedAt:e.number(),distance:e.number().nullable(),version:e.number(),status:vf,createdByUserId:B.nullable(),lastModifiedByUserId:B.nullable(),lastModifiedAt:e.number().nullable()}),e.object({documentId:q,noteId:H,workspaceId:L,createdAt:e.number(),updatedAt:e.number(),distance:e.number().optional().nullable(),version:e.number(),status:vf,createdByUserId:B.optional().nullable(),lastModifiedByUserId:B.optional().nullable(),lastModifiedAt:e.number().optional().nullable()}),e.object({documentId:q.optional(),noteId:H.optional(),workspaceId:L.optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),distance:e.number().optional().nullable(),version:e.number().optional(),status:vf.optional(),createdByUserId:B.optional().nullable(),lastModifiedByUserId:B.optional().nullable(),lastModifiedAt:e.number().optional().nullable()});var ap=e.string();e.object({id:ap,workspaceId:L,name:e.string(),hash:e.instanceof(Uint8Array),createdByUserId:B,lastUsedAt:e.number().nullable(),createdAt:e.number(),updatedAt:e.number(),version:e.number(),scopeList:Kd.array()}),e.object({id:ap,workspaceId:L,name:e.string(),hash:e.instanceof(Uint8Array),createdByUserId:B,lastUsedAt:e.number().optional().nullable(),createdAt:e.number(),updatedAt:e.number(),version:e.number(),scopeList:Kd.array()}),e.object({id:ap.optional(),workspaceId:L.optional(),name:e.string().optional(),hash:e.instanceof(Uint8Array).optional(),createdByUserId:B.optional(),lastUsedAt:e.number().optional().nullable(),createdAt:e.number().optional(),updatedAt:e.number().optional(),version:e.number().optional(),scopeList:Kd.array().optional()});var op=e.enum([`MXBAI_EMBED_LARGE_V1`,`TEST`,`STELLA_EN_400M_V5`,`GTE_MULTILINGUAL_BASE`]),sp=e.enum([`DIM_1024`,`DIM_768`]),cp=e.string();e.object({id:cp,createdAt:e.number(),updatedAt:e.number(),hash:e.instanceof(Uint8Array),model:op,dimension:sp,vector1024:e.array(e.number()).nullable(),vector768:e.array(e.number()).nullable()}),e.object({id:cp,createdAt:e.number(),updatedAt:e.number(),hash:e.instanceof(Uint8Array),model:op,dimension:sp,vector1024:e.array(e.number()).optional().nullable(),vector768:e.array(e.number()).optional().nullable()}),e.object({id:cp.optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),hash:e.instanceof(Uint8Array).optional(),model:op.optional(),dimension:sp.optional(),vector1024:e.array(e.number()).optional().nullable(),vector768:e.array(e.number()).optional().nullable()});var lp=e.string(),up=e.string(),dp=e.string();e.object({tableName:lp,idA:up,idB:dp,workspaceId:L,deletedAt:e.number(),version:e.number()}),e.object({tableName:lp,idA:up,idB:dp,workspaceId:L,deletedAt:e.number(),version:e.number()}),e.object({tableName:lp.optional(),idA:up.optional(),idB:dp.optional(),workspaceId:L.optional(),deletedAt:e.number().optional(),version:e.number().optional()}),e.object({sequenceId:J,documentId:q,createdAt:e.number(),updatedAt:e.number(),sortOrder:e.number(),version:e.number(),workspaceId:L}),e.object({sequenceId:J,documentId:q,createdAt:e.number(),updatedAt:e.number(),sortOrder:e.number(),version:e.number(),workspaceId:L}),e.object({sequenceId:J.optional(),documentId:q.optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),sortOrder:e.number().optional(),version:e.number().optional(),workspaceId:L.optional()}),e.object({spriteId:K,workspaceId:L,hash:e.instanceof(Uint8Array),version:e.number(),updatedAt:e.number(),plaintext:e.string()}),e.object({spriteId:K,workspaceId:L,hash:e.instanceof(Uint8Array),version:e.number(),updatedAt:e.number(),plaintext:e.string()}),e.object({spriteId:K.optional(),workspaceId:L.optional(),hash:e.instanceof(Uint8Array).optional(),version:e.number().optional(),updatedAt:e.number().optional(),plaintext:e.string().optional()});var fp=e.enum([`SIGNUP`,`PASSWORD_RESET`]),pp=e.string();e.object({id:pp,type:fp,userId:B.nullable(),email:z,tokenHash:e.string(),createdAt:e.number(),updatedAt:e.number(),expiresAt:e.number(),verifiedAt:e.number().nullable(),retryCount:e.number()}),e.object({id:pp,type:fp,userId:B.optional().nullable(),email:z,tokenHash:e.string(),createdAt:e.number(),updatedAt:e.number(),expiresAt:e.number(),verifiedAt:e.number().optional().nullable(),retryCount:e.number()}),e.object({id:pp.optional(),type:fp.optional(),userId:B.optional().nullable(),email:z.optional(),tokenHash:e.string().optional(),createdAt:e.number().optional(),updatedAt:e.number().optional(),expiresAt:e.number().optional(),verifiedAt:e.number().optional().nullable(),retryCount:e.number().optional()}),e.object({clientId:e.string(),tableName:e.string(),idA:e.string(),idB:e.string(),version:e.number()}),e.object({id:V,name:e.string(),workspaceId:L,version:e.number(),createdAt:e.number(),updatedAt:e.number(),avatarAssetId:$d.nullable(),description:e.string(),emailList:z.array()}),e.enum([`PENDING`,`CREATED`,`FINISHED`,`TERMINATED`]);var mp=e.number();e.object({id:mp,jobQueueId:e.number().nullable(),taskId:e.number(),payload:e.unknown(),priority:e.number(),runAt:e.date(),attempts:e.number(),maxAttempts:e.number(),lastError:e.string().nullable(),createdAt:e.date(),updatedAt:e.date(),key:e.string().nullable(),lockedAt:e.date().nullable(),lockedBy:e.string().nullable(),revision:e.number(),flags:e.record(e.string(),e.json()).nullable(),isAvailable:e.boolean()}),e.object({id:mp.optional(),jobQueueId:e.number().optional().nullable(),taskId:e.number(),payload:e.unknown().optional(),priority:e.number().optional(),runAt:e.date().optional(),attempts:e.number().optional(),maxAttempts:e.number().optional(),lastError:e.string().optional().nullable(),createdAt:e.date().optional(),updatedAt:e.date().optional(),key:e.string().optional().nullable(),lockedAt:e.date().optional().nullable(),lockedBy:e.string().optional().nullable(),revision:e.number().optional(),flags:e.record(e.string(),e.json()).optional().nullable(),isAvailable:e.boolean()}),e.object({id:mp.optional(),jobQueueId:e.number().optional().nullable(),taskId:e.number().optional(),payload:e.unknown().optional(),priority:e.number().optional(),runAt:e.date().optional(),attempts:e.number().optional(),maxAttempts:e.number().optional(),lastError:e.string().optional().nullable(),createdAt:e.date().optional(),updatedAt:e.date().optional(),key:e.string().optional().nullable(),lockedAt:e.date().optional().nullable(),lockedBy:e.string().optional().nullable(),revision:e.number().optional(),flags:e.record(e.string(),e.json()).optional().nullable(),isAvailable:e.boolean().optional()});var hp=e.number();e.object({id:hp,ts:e.date(),breaking:e.boolean()}),e.object({id:hp,ts:e.date().optional(),breaking:e.boolean().optional()}),e.object({id:hp.optional(),ts:e.date().optional(),breaking:e.boolean().optional()});var gp=e.enum([`IN_PROGRESS`,`SUCCESS`,`ERROR`]),_p=e.string();e.object({id:_p,graphileWorkerJobId:e.string(),serviceName:e.string(),machineId:e.string(),attempt:e.number(),taskIdentifier:e.string(),payload:e.record(e.string(),e.json()),jobKey:e.string().nullable(),queueName:e.string().nullable(),workerId:e.string(),status:gp,runnableAt:e.number(),startedAt:e.number(),finishedAt:e.number().nullable(),error:e.record(e.string(),e.json()).nullable(),createdAt:e.number(),updatedAt:e.number()}),e.object({id:_p,graphileWorkerJobId:e.string(),serviceName:e.string(),machineId:e.string(),attempt:e.number(),taskIdentifier:e.string(),payload:e.record(e.string(),e.json()),jobKey:e.string().optional().nullable(),queueName:e.string().optional().nullable(),workerId:e.string(),status:gp,runnableAt:e.number(),startedAt:e.number(),finishedAt:e.number().optional().nullable(),error:e.record(e.string(),e.json()).optional().nullable(),createdAt:e.number(),updatedAt:e.number()}),e.object({id:_p.optional(),graphileWorkerJobId:e.string().optional(),serviceName:e.string().optional(),machineId:e.string().optional(),attempt:e.number().optional(),taskIdentifier:e.string().optional(),payload:e.record(e.string(),e.json()).optional(),jobKey:e.string().optional().nullable(),queueName:e.string().optional().nullable(),workerId:e.string().optional(),status:gp.optional(),runnableAt:e.number().optional(),startedAt:e.number().optional(),finishedAt:e.number().optional().nullable(),error:e.record(e.string(),e.json()).optional().nullable(),createdAt:e.number().optional(),updatedAt:e.number().optional()});var vp=e.number();e.object({id:vp,identifier:e.string()}),e.object({id:vp.optional(),identifier:e.string()}),e.object({id:vp.optional(),identifier:e.string().optional()});var yp=e.enum([`MISSING_HEARTBEAT`,`STALE_HEARTBEAT`,`STOPPED_WITH_LOCKS`,`ALREADY_RECOVERED_WITH_LOCKS`]),bp=e.string();e.object({workerPoolId:bp,serviceName:e.string(),machineId:e.string(),startedAt:e.number().nullable(),lastHeartbeatAt:e.number().nullable(),stoppedAt:e.number().nullable(),recoveredAt:e.number().nullable(),recoveryReason:yp.nullable().nullable(),recoveredJobCount:e.number().nullable(),createdAt:e.number(),updatedAt:e.number()}),e.object({workerPoolId:bp,serviceName:e.string(),machineId:e.string(),startedAt:e.number().optional().nullable(),lastHeartbeatAt:e.number().optional().nullable(),stoppedAt:e.number().optional().nullable(),recoveredAt:e.number().optional().nullable(),recoveryReason:yp.nullable().optional().nullable(),recoveredJobCount:e.number().optional().nullable(),createdAt:e.number(),updatedAt:e.number()}),e.object({workerPoolId:bp.optional(),serviceName:e.string().optional(),machineId:e.string().optional(),startedAt:e.number().optional().nullable(),lastHeartbeatAt:e.number().optional().nullable(),stoppedAt:e.number().optional().nullable(),recoveredAt:e.number().optional().nullable(),recoveryReason:yp.nullable().optional().nullable(),recoveredJobCount:e.number().optional().nullable(),createdAt:e.number().optional(),updatedAt:e.number().optional()});var xp=e.string();e.object({identifier:xp,knownSince:e.date(),lastExecution:e.date().nullable()}),e.object({identifier:xp,knownSince:e.date(),lastExecution:e.date().optional().nullable()}),e.object({identifier:xp.optional(),knownSince:e.date().optional(),lastExecution:e.date().optional().nullable()});var Sp=e.number();e.object({id:Sp,queueName:e.string(),lockedAt:e.date().nullable(),lockedBy:e.string().nullable(),isAvailable:e.boolean()}),e.object({id:Sp.optional(),queueName:e.string(),lockedAt:e.date().optional().nullable(),lockedBy:e.string().optional().nullable(),isAvailable:e.boolean()}),e.object({id:Sp.optional(),queueName:e.string().optional(),lockedAt:e.date().optional().nullable(),lockedBy:e.string().optional().nullable(),isAvailable:e.boolean().optional()}),e.object({id:mp,queueName:e.string(),taskIdentifier:e.string(),priority:e.number(),runAt:e.date(),attempts:e.number(),maxAttempts:e.number(),lastError:e.string().nullable(),createdAt:e.date(),updatedAt:e.date(),key:e.string().nullable(),lockedAt:e.date().nullable(),lockedBy:e.string().nullable(),revision:e.number(),flags:e.record(e.string(),e.json()).nullable()}),e.object({identifier:e.string().nullable(),payload:e.unknown().nullable(),queueName:e.string().nullable(),runAt:e.date().nullable(),maxAttempts:e.number().nullable(),jobKey:e.string().nullable(),priority:e.number().nullable(),flags:e.string().nullable()});var Cp=e=>n.object({token:n.string().check(n.minLength(1),n.refine(e=>e.trim()!==``,{message:`Token must not be empty or whitespace`})),expiresAt:n.number().check(n.int(),n.gt(e)),personId:V}),wp=(e,t=Date.now())=>{let r=Cp(t).safeParse(e);return r.success?r.data:Error(n.prettifyError(r.error))},Tp=class extends Error{status;constructor(e,t){super(t),this.name=`GatewayHttpError`,this.status=e}},Ep=n.object({message:n.string()}),Dp=async e=>{let t=`Gateway request failed with status ${e.status}`;try{let n=await e.json(),r=Ep.safeParse(n);r.success&&(t=r.data.message)}catch{}return new Tp(e.status,t)},Op=async e=>{try{return await e.json()}catch{return Error(`Gateway returned an invalid JSON response`)}},kp=async e=>{let{projectId:n,userToken:r}=e,i=await t(()=>fetch(Vd({path:`/api/v1/project/${encodeURIComponent(n)}/session-token`}),{method:`POST`,headers:{authorization:`Bearer ${r}`}}));if(i instanceof Error)return i;if(!i.ok)return Dp(i);let a=await Op(i);return a instanceof Error?a:wp(a)},Ap=n.object({token:n.string(),expiresAt:n.number(),personId:n.string()}),jp=e=>Ap.safeParse(e).success,Mp=1e3,Np=3e4,Pp=6e4,Fp=e=>Math.min(Mp*2**Math.max(e-1,0),Np),Ip=(e,t)=>t>=e.expiresAt-Pp,Lp=e=>{let{fetchSessionToken:t,now:n=Date.now}=e,r,i,a=0,o=0,s=0,c=()=>{r=void 0,i=void 0,a=0,o=0,s+=1},l=e=>{r&&(e===void 0||r.token===e)&&(r=void 0)},u=()=>{let e=o-n();if(e>0)return Promise.reject(Error(`fetchSessionToken is rate limited after repeated failures; retry in ${e}ms`));let c=s;return i=t().then(e=>{if(c!==s)throw Error(`Session token fetch was reset before it completed`);return r=e,a=0,o=0,e}).catch(e=>{throw c===s&&(r=void 0,a+=1,o=n()+Fp(a)),e}).finally(()=>{c===s&&(i=void 0)}),i};return{getSessionToken:()=>r&&!Ip(r,n())?Promise.resolve(r):i===void 0?u():i,invalidateToken:l,reset:c}},Rp,zp,Bp,Vp=0,Hp,Up=e=>{let{baseUrl:t,projectId:n,fetchUserToken:r,exchangeIdentityTokenForSessionToken:i=kp}=e;(Rp!==t||zp!==n||Bp!==r)&&(Vp+=1,Hp?.reset(),Hp=Lp({fetchSessionToken:async()=>{let e=await r();if(typeof e==`string`){if(e.trim()===``)throw Error(`fetchUserToken must return a non-empty string`);let t=await i({projectId:n,userToken:e});if(t instanceof Error)throw t;return t}if(jp(e)){let t=wp(e);if(t instanceof Error)throw t;return t}throw Error(`fetchUserToken must return a non-empty string`)}}),Rp=t,zp=n,Bp=r)},Wp=async()=>{if(!Hp)throw Error(`fetchUserToken must be provided!`);return Hp.getSessionToken()},Gp=e=>{Hp?.invalidateToken(e)},Kp=()=>Vp,qp=(e,t)=>{let n={};for(let r of e){let e=t(r);Object.hasOwn(n,e)?n[e]?.push(r):Object.defineProperty(n,e,{configurable:!0,enumerable:!0,value:[r],writable:!0})}return n},Jp=class{arraySize=0;array=Array(8);set=null;get isEmpty(){if(this.array)return this.arraySize===0;if(this.set)return this.set.size===0;throw Error(`no set or array`)}add(e){if(this.array)return this.array.indexOf(e)===-1?this.arraySize<8?(this.array[this.arraySize]=e,this.arraySize++,!0):(this.set=new Set(this.array),this.array=null,this.set.add(e),!0):!1;if(this.set)return!this.set.has(e)&&(this.set.add(e),!0);throw Error(`no set or array`)}remove(e){if(this.array){let t=this.array.indexOf(e);return t!==-1&&(this.array[t]=void 0,this.arraySize--,t!==this.arraySize&&(this.array[t]=this.array[this.arraySize],this.array[this.arraySize]=void 0),!0)}if(this.set)return this.set.has(e)?(this.set.delete(e),!0):!1;throw Error(`no set or array`)}visit(e){if(this.array){for(let t=0;t<this.arraySize;t++){let n=this.array[t];n!==void 0&&e(n)}return}if(this.set){this.set.forEach(e);return}throw Error(`no set or array`)}};function Yp(e){return e&&typeof e==`object`&&`parents`in e}function Xp(e){for(let t=0,n=e.parents.length;t<n;t++)if(e.parents[t].__unsafe__getWithoutCapture(),e.parents[t].lastChangedEpoch!==e.parentEpochs[t])return!0;return!1}var Zp=(e,t)=>{if(e.children.remove(t)&&e.children.isEmpty&&Yp(e))for(let t=0,n=e.parents.length;t<n;t++)Zp(e.parents[t],e)},Qp=(e,t)=>{if(e.children.add(t)&&Yp(e))for(let t=0,n=e.parents.length;t<n;t++)Qp(e.parents[t],e)};function $p(e,t){return e===t||Object.is(e,t)||!!(e&&t&&typeof e.equals==`function`&&e.equals(t))}var em=Object.freeze([]),tm=Symbol.for(`__signia__`),nm=globalThis;nm[tm]?console.error(`Multiple versions of signia detected. This will cause unexpected behavior. Please add "resolutions" (yarn/pnpm) or "overrides" (npm) in your package.json to ensure only one version of signia is loaded.`):nm[tm]=!0;var rm=class{constructor(e,t){this.below=e,this.child=t}offset=0;numNewParents=0;maybeRemoved},X=null;function im(e){X=new rm(X,e)}function am(){let e=X;if(X=e.below,e.numNewParents>0||e.offset!==e.child.parents.length){for(let t=e.offset;t<e.child.parents.length;t++){let n=e.child.parents[t];e.child.parents.indexOf(n)>=e.offset&&Zp(n,e.child)}if(e.child.parents.length=e.offset,e.child.parentEpochs.length=e.offset,X?.maybeRemoved)for(let t=0;t<X.maybeRemoved.length;t++){let n=X.maybeRemoved[t];e.child.parents.indexOf(n)===-1&&Zp(n,e.child)}}}function om(e){if(X){let t=X.child.parents.indexOf(e);if(t<0&&(X.numNewParents++,X.child.isActivelyListening&&Qp(e,X.child)),t<0||t>=X.offset){if(t!==X.offset&&t>0){let e=X.child.parents[X.offset];X.maybeRemoved?X.maybeRemoved.indexOf(e)===-1&&X.maybeRemoved.push(e):X.maybeRemoved=[e]}X.child.parents[X.offset]=e,X.child.parentEpochs[X.offset]=e.lastChangedEpoch,X.offset++}}}var sm=Symbol(`RESET_VALUE`),cm=class{constructor(e){this.capacity=e,this.buffer=Array(e)}index=0;buffer;pushEntry(e,t,n){if(n!==void 0){if(n===sm){this.clear();return}this.buffer[this.index]=[e,t,n],this.index=(this.index+1)%this.capacity}}clear(){this.index=0,this.buffer.fill(void 0)}getChangesSince(e){let{index:t,capacity:n,buffer:r}=this;for(let i=0;i<n;i++){let a=(t-1+n-i)%n,o=r[a];if(!o)return sm;let[s,c]=o;if(i===0&&e>=c)return[];if(s<=e&&e<c){let e=i+1,t=Array(e);for(let i=0;i<e;i++)t[i]=r[(a+i)%n][2];return t}}return sm}},Z=0,lm=!1;function um(){Z++}function dm(e){if(lm)throw Error(`cannot change atoms during reaction cycle`);try{lm=!0;let t=new Set,n=e=>{e.lastTraversedEpoch!==Z&&(e.lastTraversedEpoch=Z,`maybeScheduleEffect`in e?t.add(e):e.children.visit(n))};for(let t of e)t.children.visit(n);for(let e of t)e.maybeScheduleEffect()}finally{lm=!1}}function fm(e,t){pm?pm.initialAtomValues.has(e)||pm.initialAtomValues.set(e,t):dm([e])}var pm=null,mm=class{constructor(e,t,n){this.name=e,this.current=t,this.isEqual=n?.isEqual??null,n&&(n.historyLength&&(this.historyBuffer=new cm(n.historyLength)),this.computeDiff=n.computeDiff)}isEqual;computeDiff;lastChangedEpoch=Z;children=new Jp;historyBuffer;__unsafe__getWithoutCapture(){return this.current}get value(){return om(this),this.current}set(e,t){if(this.isEqual?.(this.current,e)??$p(this.current,e))return this.current;um(),this.historyBuffer&&this.historyBuffer.pushEntry(this.lastChangedEpoch,Z,t??this.computeDiff?.(this.current,e,this.lastChangedEpoch,Z)??sm),this.lastChangedEpoch=Z;let n=this.current;return this.current=e,fm(this,n),e}update(e){return this.set(e(this.current))}getDiffSince(e){return om(this),e>=this.lastChangedEpoch?em:this.historyBuffer?.getChangesSince(e)??sm}};function hm(e,t,n){return new mm(e,t,n)}var gm=Symbol(`UNINITIALIZED`),_m=class{constructor(e,t){this.value=e,this.diff=t}},vm=class{constructor(e,t,n){this.name=e,this.derive=t,n?.historyLength&&(this.historyBuffer=new cm(n.historyLength)),this.computeDiff=n?.computeDiff,this.isEqual=n?.isEqual??$p}lastChangedEpoch=-1;lastTraversedEpoch=-1;lastCheckedEpoch=-1;parents=[];parentEpochs=[];children=new Jp;get isActivelyListening(){return!this.children.isEmpty}historyBuffer;state=gm;computeDiff;isEqual;__unsafe__getWithoutCapture(){let e=this.lastChangedEpoch===-1;if(!e&&(this.lastCheckedEpoch===Z||!Xp(this)))return this.lastCheckedEpoch=Z,this.state;try{im(this);let t=this.derive(this.state,this.lastCheckedEpoch),n=t instanceof _m?t.value:t;if(this.state===gm||!this.isEqual(n,this.state)){if(this.historyBuffer&&!e){let e=t instanceof _m?t.diff:void 0;this.historyBuffer.pushEntry(this.lastChangedEpoch,Z,e??this.computeDiff?.(this.state,n,this.lastCheckedEpoch,Z)??sm)}this.lastChangedEpoch=Z,this.state=n}return this.lastCheckedEpoch=Z,this.state}finally{am()}}get value(){let e=this.__unsafe__getWithoutCapture();return om(this),e}getDiffSince(e){return this.value,e>=this.lastChangedEpoch?em:this.historyBuffer?.getChangesSince(e)??sm}};function ym(e={},t,n,r){let i=r.get,a=Symbol.for(`__signia__computed__`+n);return r.get=function(){let t=this[a];return t||(t=new vm(n,i.bind(this),e),Object.defineProperty(this,a,{enumerable:!1,configurable:!1,writable:!1,value:t})),t.value},r}function bm(){if(arguments.length===1){let e=arguments[0];return(t,n,r)=>ym(e,t,n,r)}return typeof arguments[0]==`string`?new vm(arguments[0],arguments[1],arguments[2]):ym(void 0,arguments[0],arguments[1],arguments[2])}var xm=class{constructor(e,t,n){this.name=e,this.runEffect=t,this._scheduleEffect=n?.scheduleEffect}_isActivelyListening=!1;get isActivelyListening(){return this._isActivelyListening}lastTraversedEpoch=-1;lastReactedEpoch=-1;_scheduleCount=0;get scheduleCount(){return this._scheduleCount}parentEpochs=[];parents=[];_scheduleEffect;maybeScheduleEffect(){if(this._isActivelyListening&&this.lastReactedEpoch!==Z){if(this.parents.length&&!Xp(this)){this.lastReactedEpoch=Z;return}this.scheduleEffect()}}scheduleEffect(){this._scheduleCount++,this._scheduleEffect?this._scheduleEffect(this.maybeExecute):this.execute()}maybeExecute=()=>{this._isActivelyListening&&this.execute()};attach(){this._isActivelyListening=!0;for(let e=0,t=this.parents.length;e<t;e++)Qp(this.parents[e],this)}detach(){this._isActivelyListening=!1;for(let e=0,t=this.parents.length;e<t;e++)Zp(this.parents[e],this)}execute(){try{im(this);let e=this.runEffect(this.lastReactedEpoch);return this.lastReactedEpoch=Z,e}finally{am()}}};function Sm(e,t,n){let r=new xm(e,t,n);return r.attach(),r.scheduleEffect(),()=>{r.detach()}}var Cm=e=>{let{diffList:t,source:n,mapKey:r,mapValue:i}=e;if(t.length===0)return;let a={...n.__unsafe__getWithoutCapture()},o=[];for(let e of t)switch(e.op){case`add`:{let t=r(e.key),n=i(e.newValue,e.key);a[t]=n,o.push({op:`add`,key:t,value:n});break}case`change`:{let t=r(e.key),n=i(e.newValue,e.key);a[t]=n,o.push({op:`replace`,key:t,value:n});break}case`del`:{let t=r(e.key);delete a[t],o.push({op:`remove`,key:t});break}default:throw Error(`Unhandled diff op: ${JSON.stringify(e)}`)}n.set(a,o)},wm=class{key;mapValue;name;atom;asRecord;asList;getCache=new Map;findCache=new Map;filterCache=new Map;mapCache=new Map;someCache=new Map;constructor(e){this.key=e.key,this.mapValue=e.mapValue,this.name=`Table(${this.key.name})`,this.atom=hm(this.name,{},{historyLength:1}),this.asRecord=this.atom,this.asList=bm(`${this.name}:values`,()=>Object.values(this.atom.value))}get(e){let t=e,n=this.getCache.get(t);return n||(n=bm(`${this.name}:get(${t})`,()=>this.atom.value[t]),this.getCache.set(t,n)),n}find(e,t){let n=this.findCache.get(e);return n||(n=bm(`${this.name}:find(${e})`,()=>this.asList.value.find(t)),this.findCache.set(e,n)),n}filter(e,t){let n=this.filterCache.get(e);return n||(n=bm(`${this.name}:filter(${e})`,()=>this.asList.value.filter(t)),this.filterCache.set(e,n)),n}map(e,t){let n=this.mapCache.get(e);return n||(n=bm(`${this.name}:map(${e})`,()=>this.asList.value.map(t)),this.mapCache.set(e,n)),n}some(e,t){let n=this.someCache.get(e);return n||(n=bm(`${this.name}:some(${e})`,()=>this.asList.value.some(t)),this.someCache.set(e,n)),n}clear(){this.atom.set({},[])}set(e,t){let n=this.atom.__unsafe__getWithoutCapture(),r=Object.hasOwn(n,e);this.atom.set({...n,[e]:t},[]),r||this.getCache.delete(e)}pushDiffList(e){Cm({diffList:e,source:this.atom,mapKey:e=>this.key.trimPrefix(e),mapValue:(e,t)=>this.mapValue(e,this.key.decode(t))})}};pd(),fd();var Tm=`store`,Q={meta:new wm({key:P(`meta`)(),mapValue:e=>e}),person:new wm({key:I.person,mapValue:(e,t)=>({id:t,name:e.name})}),surface:new wm({key:I.surface,mapValue:(e,t)=>({id:t,key:e.key,name:e.name,description:e.description})}),sprite:new wm({key:I.sprite,mapValue:(e,t)=>({id:t,name:e.name,surfaceId:e.surfaceId,ownedByPersonId:e.ownedByPersonId})}),spriteBuild:new wm({key:I.spriteBuild,mapValue:(e,t)=>({id:t,spriteId:e.spriteId,parentSpriteBuildId:e.parentSpriteBuildId,createdByPersonId:e.createdByPersonId,prompt:e.prompt,status:e.status,artifactUrl:e.artifactUrl,sourceUrl:null,startedAt:null,stoppedAt:null,error:e.error,reasoningSummary:e.reasoningSummary,publishedAt:e.publishedAt})}),spriteBuildEvent:new wm({key:I.spriteBuildEvent,mapValue:(e,t)=>({id:t,spriteBuildId:e.spriteBuildId,actionedAt:e.actionedAt,type:e.type,detail:e.detail})})},Em={[I.person.name]:Q.person,[I.surface.name]:Q.surface,[I.spriteBuildEvent.name]:Q.spriteBuildEvent,[I.spriteBuild.name]:Q.spriteBuild,[I.sprite.name]:Q.sprite},Dm,Om=new a,km=()=>{Q.meta.clear(),Q.person.clear(),Q.surface.clear(),Q.sprite.clear(),Q.spriteBuild.clear(),Q.spriteBuildEvent.clear()},Am=()=>{for(let e of Om)e()},jm=e=>{Dm?.(),km(),Q.meta.set(Tm,{state:`LOADING`});let t=!1;Dm=e.experimentalWatch(e=>{let n=qp(e,e=>e.key.match(/^(\w+)\//)?.[1]??``);for(let[e,t]of Object.entries(n))Em[e]?.pushDiffList(t);t||(t=!0,Q.meta.set(Tm,{state:`READY`})),Am()},{initialValuesInFirstDiff:!0})},Mm=e=>(Om.add(e),()=>{Om.delete(e)}),Nm,Pm,Fm=e=>{let{baseUrl:t,personId:n,projectId:r}=e;return[`rough-feature`,t,r,n].join(`:`)},Im=async e=>{let{name:t}=e,{sessionToken:n}=e,r=n.personId;return Pd({name:t,pushURL:Vd({path:`/api/v1/internal/replicache/push`}),pullURL:Vd({path:`/api/v1/internal/replicache/pull`}),auth:`Bearer ${n.token}`,getAuth:async()=>{Gp(n.token);let e=await Wp();if(e.personId!==r)throw Error("Session person changed during auth refresh. Call `initRough()` again.");return n=e,`Bearer ${n.token}`},pullInterval:5e3,sessionPersonId:r})},Lm=e=>{let{projectId:t}=e,n=zd(),r=Kp();if(Pm&&Pm.baseUrl===n&&Pm.projectId===t&&Pm.authGeneration===r)return Pm.promise;let i,a=Promise.resolve().then(async()=>{try{let e=await Wp(),r=Fm({baseUrl:n,projectId:t,personId:e.personId});if(Nm?.name===r){if(Pm!==i)throw Error(`Replicache startup was superseded`);return Nm.replicache}let a=await Im({name:r,sessionToken:e});if(a instanceof Error)throw a;if(Pm!==i)throw a.close?.(),Error(`Replicache startup was superseded`);let o=Nm?.replicache;return Nm={name:r,replicache:a},o?.close?.(),jm(a),await a.pull({now:!0}),a}finally{Pm===i&&(Pm=void 0)}});return i={authGeneration:r,baseUrl:n,projectId:t,promise:a},Pm=i,a},Rm=async()=>{if(Nm)return Nm.replicache;if(Pm)try{return await Pm.promise}catch(e){return e instanceof Error?e:Error(String(e))}return Error(`Replicache has not been initialized`)},zm=async e=>{let{name:n,prompt:r,toolList:i,surfaceId:a,signal:o}=e;return o?.aborted?Error(`Create sprite aborted`):t(async()=>{let e=await Rm();if(e instanceof Error)return e;let t=Oe(),o=Oe(),s=n?.trim().length?n:``;return await e.mutate.sprite_create_v1({spriteId:t,spriteBuildId:o,prompt:r,surfaceId:a,name:s,toolList:i.map(e=>e.toJSON()),context:{actionedAt:Date.now()}}),await e.push({now:!0}),{spriteId:t,spriteBuildId:o}})},Bm=async e=>{let{spriteId:n,parentSpriteBuildId:r,prompt:i,signal:a}=e;return a?.aborted?Error(`Create sprite build aborted`):t(async()=>{let e=await Rm();if(e instanceof Error)return e;let t=Oe();return await e.mutate.spriteBuild_create_v1({spriteBuildId:t,spriteId:n,parentSpriteBuildId:r,prompt:i}),{spriteBuildId:t}})},Vm=async e=>{let{projectId:n,signal:r}=e;return r?.aborted?Error(`Ping project aborted`):t(async()=>{let e=await Rm();if(e instanceof Error)return e;await e.mutate.project_ping_v1({projectPublicId:n,context:{actionedAt:Date.now()}}),await e.push({now:!0})})},Hm=async e=>{let{spriteId:n,spriteBuildId:r,signal:i}=e;return i?.aborted?Error(`Publish sprite aborted`):t(async()=>{let e=await Rm();return e instanceof Error?e:(await e.mutate.spriteBuild_publish_v1({spriteId:n,spriteBuildId:r,context:{actionedAt:Date.now()}}),await e.push({now:!0}),{spriteId:n,spriteBuildId:r})})};pd();var Um=async(e,t)=>e.query(async e=>{for await(let[n,r]of e.scan({prefix:I.surface.prefix()}).entries())if(r.key===t)return{id:I.surface.decode(n),...r}}),Wm=async e=>{let{key:n,name:r,description:i,toolList:a,projectId:o,signal:s}=e;return s?.aborted?Error(`Register surface aborted`):t(async()=>{let e=await Rm();if(e instanceof Error)return e;let t=Oe();return await e.mutate.surface_upsert_v1({surfaceId:t,projectPublicId:o,key:n,name:r,description:i,toolList:a.map(e=>e.toJSON()),context:{actionedAt:Date.now()}}),await e.push({now:!0}),await e.pull({now:!0}),await Um(e,n)||Error(`Surface "${n}" missing from Replicache`)})},Gm=e=>e.filter(e=>e.publishedAt!==null).toSorted((e,t)=>{let n=(t.publishedAt??0)-(e.publishedAt??0);return n===0?t.id.localeCompare(e.id):n}).at(0)??null,Km=e=>{let{sprite:t,spriteBuildList:n}=e;return{id:t.id,name:t.name,ownedByPersonId:t.ownedByPersonId,publishedSpriteBuildId:Gm(n)?.id??null}},qm=r.proxy({}),Jm=(e,t)=>(qm[e]=[...qm[e]??[],t],()=>{qm[e]=(qm[e]??[]).filter(e=>e!==t),qm[e].length===0&&delete qm[e]}),Ym=e=>{let t=qm[e];if(!t?.length)return;let[n]=t;if(n)return{surfaceId:n.surfaceId,toolList:n.toolList}},Xm=(e,t)=>{let n=new AbortController,r,i,a,o=()=>{if(!a||n.signal.aborted)return;let e=new Map;for(let t of Q.spriteBuild.asList.value){let n=e.get(t.spriteId);n||(n=[],e.set(t.spriteId,n)),n.push(t)}let r=[];for(let t of Q.sprite.asList.value){if(t.surfaceId!==a)continue;let n=Km({sprite:t,spriteBuildList:e.get(t.id)??[]});n.publishedSpriteBuildId&&r.push(n)}t(r.toSorted((e,t)=>t.id.localeCompare(e.id)))};return(async()=>{let t=Bd(),s=await Wm({key:e.key,name:e.name,description:e.description,toolList:e.toolList,projectId:t,signal:n.signal});if(s instanceof Error){n.signal.aborted||console.error(`[Rough] Failed to register surface`,s);return}n.signal.aborted||(a=s.id,r=Jm(e.key,{surfaceId:a,toolList:e.toolList}),i=Mm(o),o())})(),()=>{n.abort(),i?.(),r?.()}},Zm=e=>{let{baseUrl:t,projectId:n,fetchUserToken:r}=e;Rd({baseUrl:t,projectId:n}),Up({baseUrl:t,projectId:n,fetchUserToken:r}),typeof window<`u`&&Lm({projectId:n}).then(async()=>{let e=await Vm({projectId:n});e instanceof Error&&console.error(`[Rough] Failed to ping project`,e)}).catch(e=>{console.error(`[Rough] Failed to initialize Replicache`,e)})},Qm={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`},$m=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},eh=Symbol(`lucide-context`),th=()=>o(eh),nh=new Set([`$$slots`,`$$events`,`$$legacy`,`$$host`,`name`,`color`,`size`,`strokeWidth`,`absoluteStrokeWidth`,`iconNode`,`children`]),rh=r.from_svg(`<svg><!><!></svg>`);function ih(e,t){r.push(t,!0);let n=th()??{},i=r.prop(t,`name`,7),a=r.prop(t,`color`,23,()=>n.color??`currentColor`),o=r.prop(t,`size`,23,()=>n.size??24),s=r.prop(t,`strokeWidth`,23,()=>n.strokeWidth??2),c=r.prop(t,`absoluteStrokeWidth`,23,()=>n.absoluteStrokeWidth??!1),l=r.prop(t,`iconNode`,23,()=>[]),u=r.prop(t,`children`,7),d=r.rest_props(t,nh),f=r.derived(()=>c()?Number(s())*24/Number(o()):s());var p={get name(){return i()},set name(e){i(e),r.flush()},get color(){return a()},set color(e=n.color??`currentColor`){a(e),r.flush()},get size(){return o()},set size(e=n.size??24){o(e),r.flush()},get strokeWidth(){return s()},set strokeWidth(e=n.strokeWidth??2){s(e),r.flush()},get absoluteStrokeWidth(){return c()},set absoluteStrokeWidth(e=n.absoluteStrokeWidth??!1){c(e),r.flush()},get iconNode(){return l()},set iconNode(e=[]){l(e),r.flush()},get children(){return u()},set children(e){u(e),r.flush()}},m=rh();r.attribute_effect(m,e=>({...Qm,...e,...d,width:o(),height:o(),stroke:a(),"stroke-width":r.get(f),class:[`lucide-icon lucide`,n.class,i()&&`lucide-${i()}`,t.class]}),[()=>!u()&&!$m(d)&&{"aria-hidden":`true`}]);var h=r.child(m);r.each(h,17,l,r.index,(e,t)=>{var n=r.derived(()=>r.to_array(r.get(t),2));let i=()=>r.get(n)[0],a=()=>r.get(n)[1];var o=r.comment(),s=r.first_child(o);r.element(s,i,!0,(e,t)=>{r.attribute_effect(e,()=>({...a()}))}),r.append(e,o)});var g=r.sibling(h);return r.snippet(g,()=>u()??r.noop),r.reset(m),r.append(e,m),r.pop(p)}r.create_custom_element(ih,{name:{},color:{},size:{},strokeWidth:{},absoluteStrokeWidth:{},iconNode:{},children:{}},[],[],{mode:`open`});var ah=new Set([`$$slots`,`$$events`,`$$legacy`,`$$host`]);function oh(e,t){let n=r.rest_props(t,ah),i=[[`path`,{d:`m5 12 7-7 7 7`}],[`path`,{d:`M12 19V5`}]];ih(e,r.spread_props({name:`arrow-up`},()=>n,{get iconNode(){return i}}))}r.create_custom_element(oh,{},[],[],{mode:`open`});var sh=new Set([`$$slots`,`$$events`,`$$legacy`,`$$host`]);function ch(e,t){let n=r.rest_props(t,sh),i=[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`}]];ih(e,r.spread_props({name:`loader-circle`},()=>n,{get iconNode(){return i}}))}r.create_custom_element(ch,{},[],[],{mode:`open`});var lh=r.from_html(`<span class="loader-circle svelte-galthg" aria-hidden="true"><!></span>`),uh={hash:`svelte-galthg`,code:`.loader-circle.svelte-galthg {display:inline-flex;
2
12
  animation: svelte-galthg-spin 700ms linear infinite;}
3
13
 
4
14
  @keyframes svelte-galthg-spin {
5
15
  to {
6
16
  transform: rotate(360deg);
7
17
  }
8
- }`};function X(e){r.append_styles(e,He);var t=Ve();Be(r.child(t),{size:16}),r.reset(t),r.append(e,t)}r.create_custom_element(X,{},[],[],{mode:`open`});var Ue=r.from_html(`<div class="summary dots svelte-qp0d57">Planning</div>`),We=r.from_html(`<span class="svelte-qp0d57">Done</span>`),Ge=r.from_html(`<span class="svelte-qp0d57">Failed</span>`),Ke=r.from_html(`<span class="chip svelte-qp0d57"> </span>`),qe=r.from_html(`<span class="svelte-qp0d57"> </span> <!>`,1),Je=r.from_html(`<span class="phase svelte-qp0d57"> </span>`),Ye=r.from_html(`<div class="trailing svelte-qp0d57"><!></div>`),Xe=r.from_html(`<span class="dots svelte-qp0d57"></span>`),Ze=r.from_html(`<div class="summary svelte-qp0d57"> <!></div>`),Qe=r.from_html(`<div class="summary placeholder svelte-qp0d57">Just getting started<span class="dots svelte-qp0d57"></span></div>`),$e=r.from_html(`<div class="top svelte-qp0d57"><div class="label svelte-qp0d57"><!></div> <!></div> <!>`,1),et=r.from_html(`<div><!></div>`),tt={hash:`svelte-qp0d57`,code:`.card.svelte-qp0d57 {padding:0.75rem 1rem;border:1px solid var(--base1, #93a1a1);background:transparent;display:flex;flex-direction:column;gap:0.4rem;}.top.svelte-qp0d57 {display:flex;align-items:center;justify-content:space-between;gap:0.75rem;color:var(--base01, #586e75);font-weight:600;}.label.svelte-qp0d57 {display:inline-flex;align-items:center;gap:0.5rem;min-width:0;}.trailing.svelte-qp0d57 {display:inline-flex;align-items:center;gap:0.5rem;color:var(--base1, #93a1a1);}.chip.svelte-qp0d57 {font-family:ui-monospace, SFMono-Regular, Menlo, monospace;font-size:0.8rem;font-weight:500;padding:0.1rem 0.4rem;background:var(--base2, #eee8d5);color:var(--base01, #586e75);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.phase.svelte-qp0d57 {text-transform:capitalize;}.summary.svelte-qp0d57 {font-size:0.95rem;color:var(--base00, #657b83);word-break:break-word;}.summary.placeholder.svelte-qp0d57 {color:var(--base1, #93a1a1);}.terminal.svelte-qp0d57 .label:where(.svelte-qp0d57) {color:var(--base01, #586e75);}.failed.svelte-qp0d57 .label:where(.svelte-qp0d57) {color:var(--orange, #cb4b16);}.dots.svelte-qp0d57::after {content:'';
18
+ }`};function dh(e){r.append_styles(e,uh);var t=lh();ch(r.child(t),{size:16}),r.reset(t),r.append(e,t)}r.create_custom_element(dh,{},[],[],{mode:`open`});var $=e=>{let t=r.state(e.value);return r.user_effect(()=>Sm(`watch(${e.name})`,()=>{r.set(t,e.value)})),{get _(){return r.get(t)}}};$.undefined={_:void 0},$.lit=e=>({_:e});var fh=r.from_html(`<div class="summary dots svelte-qp0d57">Planning</div>`),ph=r.from_html(`<span class="svelte-qp0d57">Done</span>`),mh=r.from_html(`<span class="svelte-qp0d57">Failed</span>`),hh=r.from_html(`<span class="chip svelte-qp0d57"> </span>`),gh=r.from_html(`<span class="svelte-qp0d57"> </span> <!>`,1),_h=r.from_html(`<span class="phase svelte-qp0d57"> </span>`),vh=r.from_html(`<div class="trailing svelte-qp0d57"><!></div>`),yh=r.from_html(`<span class="dots svelte-qp0d57"></span>`),bh=r.from_html(`<div class="summary svelte-qp0d57"> <!></div>`),xh=r.from_html(`<div class="summary placeholder svelte-qp0d57">Just getting started<span class="dots svelte-qp0d57"></span></div>`),Sh=r.from_html(`<div class="top svelte-qp0d57"><div class="label svelte-qp0d57"><!></div> <!></div> <!>`,1),Ch=r.from_html(`<div><!></div>`),wh={hash:`svelte-qp0d57`,code:`.card.svelte-qp0d57 {display:flex;gap:0.4rem;flex-direction:column;border:1px solid var(--rough-border, oklch(0.922 0 0));border-radius:var(--rough-radius-lg, 0.625rem);padding:0.75rem 1rem;background:var(--rough-card, white);box-shadow:var(--rough-shadow-xs, 0 1px 2px rgb(0 0 0 / 0.05));}.top.svelte-qp0d57 {display:flex;align-items:center;justify-content:space-between;gap:0.75rem;color:var(--rough-muted-foreground, oklch(0.556 0 0));font-weight:600;}.label.svelte-qp0d57 {display:inline-flex;align-items:center;gap:0.5rem;min-width:0;}.trailing.svelte-qp0d57 {display:inline-flex;align-items:center;gap:0.5rem;color:var(--rough-muted-foreground, oklch(0.556 0 0));}.chip.svelte-qp0d57 {max-width:16rem;border:1px solid var(--rough-border, oklch(0.922 0 0));border-radius:var(--rough-radius-sm, 0.25rem);padding:0.1rem 0.45rem;overflow:hidden;background:var(--rough-muted, oklch(0.97 0 0));color:var(--rough-muted-foreground, oklch(0.556 0 0));font-family:ui-monospace, SFMono-Regular, Menlo, monospace;font-size:0.75rem;font-weight:500;white-space:nowrap;text-overflow:ellipsis;}.phase.svelte-qp0d57 {text-transform:capitalize;}.summary.svelte-qp0d57 {color:var(--rough-muted-foreground, oklch(0.556 0 0));font-size:0.875rem;line-height:1.45;word-break:break-word;}.summary.placeholder.svelte-qp0d57 {color:color-mix(in oklch, var(--rough-muted-foreground, oklch(0.556 0 0)) 60%, transparent);}.terminal.svelte-qp0d57 .label:where(.svelte-qp0d57) {color:var(--rough-foreground, oklch(0.145 0 0));}.failed.svelte-qp0d57 .label:where(.svelte-qp0d57) {color:var(--rough-destructive, oklch(0.577 0.245 27.325));}.dots.svelte-qp0d57::after {content:'';
9
19
  animation: svelte-qp0d57-ellipsis 1.5s steps(4, end) infinite;}
10
20
 
11
21
  @keyframes svelte-qp0d57-ellipsis {
@@ -13,13 +23,12 @@ import{z as e}from"zod";import{errorBoundary as t}from"@stayradiated/error-bound
13
23
  25% { content: '.'; }
14
24
  50% { content: '..'; }
15
25
  75% { content: '...'; }
16
- }`};function nt(e,t){r.push(t,!0),r.append_styles(e,tt);let n=r.prop(t,`activity`,7),i=r.prop(t,`summaryText`,7),a=r.derived(()=>n().status===`ready`||n().status===`error`),o=r.derived(()=>n().status===`error`||n().toolOutcome===`failed`||n().phase?.outcome===`failed`);var s={get activity(){return n()},set activity(e){n(e),r.flush()},get summaryText(){return i()},set summaryText(e){i(e),r.flush()}},c=et();let l;var u=r.child(c),d=e=>{var t=Ue();r.append(e,t)},f=e=>{var t=$e(),a=r.first_child(t),o=r.child(a),s=r.child(o),c=e=>{var t=We();r.append(e,t)},l=e=>{var t=Ge();r.append(e,t)},u=e=>{var t=qe(),i=r.first_child(t),a=r.child(i,!0);r.reset(i);var o=r.sibling(i,2),s=e=>{var t=Ke(),i=r.child(t,!0);r.reset(t),r.template_effect(()=>r.set_text(i,n().action.filename)),r.append(e,t)};r.if(o,e=>{n().action.filename&&e(s)}),r.template_effect(()=>r.set_text(a,n().action.verb)),r.append(e,t)},d=e=>{var t=Je(),i=r.child(t,!0);r.reset(t),r.template_effect(()=>r.set_text(i,n().phase.name)),r.append(e,t)};r.if(s,e=>{n().status===`ready`?e(c):n().status===`error`?e(l,1):n().action?e(u,2):n().phase&&e(d,3)}),r.reset(o);var f=r.sibling(o,2),p=e=>{var t=Ye();X(r.child(t),{}),r.reset(t),r.append(e,t)};r.if(f,e=>{n().status===`working`&&!n().toolOutcome&&!n().phase?.outcome&&e(p)}),r.reset(a);var m=r.sibling(a,2),h=e=>{var t=Ze(),a=r.child(t,!0),o=r.sibling(a),s=e=>{var t=Xe();r.append(e,t)};r.if(o,e=>{n().status===`working`&&e(s)}),r.reset(t),r.template_effect(()=>r.set_text(a,i())),r.append(e,t)},g=e=>{var t=Qe();r.append(e,t)};r.if(m,e=>{i()?e(h):n().status===`working`&&e(g,1)}),r.append(e,t)};return r.if(u,e=>{n().status===`idle`?e(d):e(f,-1)}),r.reset(c),r.template_effect(()=>l=r.set_class(c,1,`card svelte-qp0d57`,null,l,{terminal:r.get(a),failed:r.get(o)})),r.append(e,c),r.pop(s)}r.create_custom_element(nt,{activity:{},summaryText:{}},[],[],{mode:`open`});var rt=e=>{switch(e.name){case`edit`:return`Editing`;case`write`:return`Writing`;case`read`:return`Reading`;case`bash`:return`Running`;default:return`Using tool`}},it=(e,t)=>{let n,r,i;for(let t of e){let e=t;switch(e.type){case`AGENT_TOOL_STARTED`:{let{toolCallId:t,tool:i}=e.detail;n={tool:i.name,toolCallId:t,verb:rt(i),filename:`path`in i?i.path:i.command},r=void 0;break}case`AGENT_TOOL_COMPLETED`:n?.toolCallId===e.detail.toolCallId&&(r=`success`);break;case`AGENT_TOOL_FAILED`:n?.toolCallId===e.detail.toolCallId&&(r=`failed`);break;case`AGENT_STARTED`:i={name:`agent`,outcome:void 0};break;case`AGENT_COMPLETED`:i={name:`agent`,outcome:`success`};break}}let a;return a=t===`READY`?`ready`:t===`ERROR`?`error`:n||i?`working`:`idle`,{activity:a===`ready`?{status:a}:{status:a,action:n,toolOutcome:r,phase:i}}},at=r.from_html(`<div class="panel pending svelte-rsawb0"><!> <span>Waiting for build to start</span></div>`),ot=r.from_html(`<div class="build-log svelte-rsawb0"><!></div>`),st={hash:`svelte-rsawb0`,code:`.build-log.svelte-rsawb0 {width:100%;display:flex;flex-direction:column;gap:0.5rem;}.panel.svelte-rsawb0 {padding:0.75rem 1rem;border:1px solid var(--base1, #93a1a1);background:transparent;}.pending.svelte-rsawb0 {color:var(--base01, #586e75);font-weight:600;}.pending.svelte-rsawb0 {display:flex;align-items:center;gap:0.5rem;}`};function ct(e,t){r.push(t,!0),r.append_styles(e,st);let n=r.prop(t,`spriteBuild`,7),i=r.state(r.proxy([])),a=r.derived(()=>n().spriteId),o=r.derived(()=>n().id),s=r.derived(()=>n().status),c=r.derived(()=>it(r.get(i),r.get(s))),u=r.derived(()=>n().reasoningSummary??void 0),d=r.derived(()=>r.get(s)===`PENDING`);r.user_effect(()=>{let e=r.get(a),t=r.get(o),n=new AbortController,c;r.set(i,[],!0);let u=async()=>{let a=await _e({spriteId:e,spriteBuildId:t,cursor:c,signal:n.signal});if(a instanceof Error){console.error(a);return}a.length>0&&(c=a.at(-1)?.id,r.set(i,[...r.get(i),...a],!0))};return(async()=>{for(;!n.signal.aborted;){await u();let e=l(()=>r.get(s));if(e===`READY`||e===`ERROR`)return;await new Promise(e=>setTimeout(e,1e3))}})(),()=>{n.abort()}});var f={get spriteBuild(){return n()},set spriteBuild(e){n(e),r.flush()}},p=ot(),m=r.child(p),h=e=>{var t=at();X(r.child(t),{}),r.next(2),r.reset(t),r.append(e,t)},g=e=>{nt(e,{get activity(){return r.get(c).activity},get summaryText(){return r.get(u)}})};return r.if(m,e=>{r.get(d)?e(h):e(g,-1)}),r.reset(p),r.append(e,p),r.pop(f)}r.create_custom_element(ct,{spriteBuild:{}},[],[],{mode:`open`});var lt=e=>e.toLowerCase().split(/[_-]+/).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `),ut=e=>{switch(e.name){case`edit`:case`read`:case`write`:return`${e.name} ${e.path}`;case`bash`:return e.command;default:return`tool call`}},dt=e=>{switch(e?.name){case`bash`:return`command`;case`read`:case`edit`:case`write`:return`path`;default:return`plain`}},ft=e=>{if(!(!e||typeof e!=`object`)){if(`message`in e&&typeof e.message==`string`)return e.message;if(`error`in e&&e.error&&typeof e.error==`object`){let t=ft(e.error);if(t)return t}if(`url`in e&&typeof e.url==`string`)return e.url;if(`command`in e&&typeof e.command==`string`)return e.command}},pt=e=>{let t=new Map,n=new Map,r=new Map;return e.map(e=>{let i=e,a,o=`plain`,s=`neutral`;switch(i.type){case`STEP_STARTED`:a=lt(i.detail.stepName),o=`xml-open`,s=`active`;break;case`STEP_COMPLETED`:a=lt(i.detail.stepName),o=`xml-close`,s=`success`;break;case`STEP_FAILED`:a=ft(i.detail.error)??lt(i.detail.stepName),s=`error`;break;case`EXEC_STARTED`:n.set(i.detail.execId,{command:i.detail.command,cwd:i.detail.cwd}),a=i.detail.command,o=`command`,s=`active`;break;case`EXEC_COMPLETED`:a=n.get(i.detail.execId)?.command,o=`command`,s=`success`;break;case`EXEC_FAILED`:a=n.get(i.detail.execId)?.command,o=`command`,s=`error`;break;case`FETCH_STARTED`:r.set(i.detail.fetchId,{url:i.detail.url}),a=i.detail.url,s=`active`;break;case`FETCH_COMPLETED`:a=r.get(i.detail.fetchId)?.url,s=`success`;break;case`FETCH_FAILED`:{let e=r.get(i.detail.fetchId);a=ft(i.detail.error)??e?.url,s=`error`;break}case`AGENT_STARTED`:s=`active`;break;case`AGENT_COMPLETED`:s=`success`;break;case`AGENT_TOOL_STARTED`:t.set(i.detail.toolCallId,i.detail.tool),a=ut(i.detail.tool),o=dt(i.detail.tool),s=`active`;break;case`AGENT_TOOL_COMPLETED`:{let e=t.get(i.detail.toolCallId);a=e?ut(e):i.detail.toolCallId,o=dt(e),s=`success`;break}case`AGENT_TOOL_FAILED`:{let e=t.get(i.detail.toolCallId);a=e?ut(e):i.detail.toolCallId,o=dt(e),s=`error`;break}case`AGENT_META`:a=i.detail.message,s=`neutral`;break;case`AGENT_MESSAGE`:a=i.detail.message,s=`neutral`;break;case`AGENT_THOUGHT`:a=i.detail.message,s=`neutral`;break;default:a=ft(e.detail),s=`neutral`;break}return{id:e.id,actionedAt:e.actionedAt,type:e.type,detailText:a,detailStyle:o,tone:s}})},mt=r.from_html(`<div class="polling-indicator svelte-5iw9fb"><!> <span>Live</span></div>`),ht=r.from_html(`<div class="panel state-panel svelte-5iw9fb"><!> <span>Loading build events…</span></div>`),gt=r.from_html(`<div class="panel state-panel error-panel svelte-5iw9fb"><div class="state-title svelte-5iw9fb">Couldn't load build events</div> <div class="state-detail svelte-5iw9fb"> </div></div>`),_t=r.from_html(`<div class="panel state-panel empty-panel svelte-5iw9fb"><div class="state-title svelte-5iw9fb"><!></div> <div class="state-detail"><!></div></div>`),vt=r.from_html(`<code class="svelte-5iw9fb"><strong class="svelte-5iw9fb"> </strong> </code>`),yt=r.from_html(`<code class="svelte-5iw9fb"> </code>`),bt=r.from_html(`<div><!></div>`),xt=r.from_html(`<span class="event-detail-empty svelte-5iw9fb">—</span>`),St=r.from_html(`<li><time class="event-date svelte-5iw9fb"> </time> <div class="event-type-cell svelte-5iw9fb"><span class="event-type svelte-5iw9fb"> </span></div> <div class="event-detail-cell svelte-5iw9fb"><!></div></li>`),Ct=r.from_html(`<ol class="event-list svelte-5iw9fb"></ol>`),wt=r.from_html(`<div class="detailed-build-log svelte-5iw9fb" aria-live="polite"><div class="header svelte-5iw9fb"><div><div class="eyebrow svelte-5iw9fb">Detailed logs</div> <div class="title svelte-5iw9fb">Build event stream</div></div> <!></div> <!></div>`),Tt={hash:`svelte-5iw9fb`,code:`.detailed-build-log.svelte-5iw9fb {border:1px solid var(--rough-surface-border, rgba(147, 161, 161, 0.32));}.header.svelte-5iw9fb {display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0.85rem 1rem;border-bottom:1px solid var(--rough-surface-border, rgba(147, 161, 161, 0.32));}.eyebrow.svelte-5iw9fb {font-size:0.72rem;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:var(--base01, #586e75);}.title.svelte-5iw9fb {margin-top:0.15rem;color:var(--rough-text, #073642);font-weight:600;}.polling-indicator.svelte-5iw9fb {display:inline-flex;align-items:center;gap:0.45rem;color:var(--rough-accent, #268bd2);font-size:0.85rem;font-weight:600;}.panel.svelte-5iw9fb {padding:0.85rem 1rem;}.state-panel.svelte-5iw9fb {display:flex;flex-direction:column;gap:0.35rem;color:var(--base00, #657b83);}.state-title.svelte-5iw9fb {color:var(--base01, #586e75);font-weight:600;}.error-panel.svelte-5iw9fb .state-title:where(.svelte-5iw9fb),
17
- .error-panel.svelte-5iw9fb .state-detail:where(.svelte-5iw9fb) {color:var(--orange, #cb4b16);}.event-list.svelte-5iw9fb {list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(7.5rem, auto) minmax(12rem, auto) minmax(0, 1fr);}.event.svelte-5iw9fb {display:contents;}.event-date.svelte-5iw9fb,
26
+ }`};function Th(e,t){r.push(t,!0),r.append_styles(e,wh);let n=r.prop(t,`activity`,7),i=r.prop(t,`summaryText`,7),a=r.derived(()=>n().status===`ready`||n().status===`error`),o=r.derived(()=>n().status===`error`||n().toolOutcome===`failed`||n().phase?.outcome===`failed`);var s={get activity(){return n()},set activity(e){n(e),r.flush()},get summaryText(){return i()},set summaryText(e){i(e),r.flush()}},c=Ch();let l;var u=r.child(c),d=e=>{var t=fh();r.append(e,t)},f=e=>{var t=Sh(),a=r.first_child(t),o=r.child(a),s=r.child(o),c=e=>{var t=ph();r.append(e,t)},l=e=>{var t=mh();r.append(e,t)},u=e=>{var t=gh(),i=r.first_child(t),a=r.child(i,!0);r.reset(i);var o=r.sibling(i,2),s=e=>{var t=hh(),i=r.child(t,!0);r.reset(t),r.template_effect(()=>r.set_text(i,n().action.filename)),r.append(e,t)};r.if(o,e=>{n().action.filename&&e(s)}),r.template_effect(()=>r.set_text(a,n().action.verb)),r.append(e,t)},d=e=>{var t=_h(),i=r.child(t,!0);r.reset(t),r.template_effect(()=>r.set_text(i,n().phase.name)),r.append(e,t)};r.if(s,e=>{n().status===`ready`?e(c):n().status===`error`?e(l,1):n().action?e(u,2):n().phase&&e(d,3)}),r.reset(o);var f=r.sibling(o,2),p=e=>{var t=vh();dh(r.child(t),{}),r.reset(t),r.append(e,t)};r.if(f,e=>{n().status===`working`&&!n().toolOutcome&&!n().phase?.outcome&&e(p)}),r.reset(a);var m=r.sibling(a,2),h=e=>{var t=bh(),a=r.child(t,!0),o=r.sibling(a),s=e=>{var t=yh();r.append(e,t)};r.if(o,e=>{n().status===`working`&&e(s)}),r.reset(t),r.template_effect(()=>r.set_text(a,i())),r.append(e,t)},g=e=>{var t=xh();r.append(e,t)};r.if(m,e=>{i()?e(h):n().status===`working`&&e(g,1)}),r.append(e,t)};return r.if(u,e=>{n().status===`idle`?e(d):e(f,-1)}),r.reset(c),r.template_effect(()=>l=r.set_class(c,1,`card svelte-qp0d57`,null,l,{terminal:r.get(a),failed:r.get(o)})),r.append(e,c),r.pop(s)}r.create_custom_element(Th,{activity:{},summaryText:{}},[],[],{mode:`open`});var Eh=e=>{switch(e.name){case`edit`:return`Editing`;case`write`:return`Writing`;case`read`:return`Reading`;case`bash`:return`Running`;default:return`Using tool`}},Dh=(e,t)=>{let n,r,i;for(let t of e){let e=t;switch(e.type){case`AGENT_TOOL_STARTED`:{let{toolCallId:t,tool:i}=e.detail;n={tool:i.name,toolCallId:t,verb:Eh(i),filename:`path`in i?i.path:i.command},r=void 0;break}case`AGENT_TOOL_COMPLETED`:n?.toolCallId===e.detail.toolCallId&&(r=`success`);break;case`AGENT_TOOL_FAILED`:n?.toolCallId===e.detail.toolCallId&&(r=`failed`);break;case`AGENT_STARTED`:i={name:`agent`,outcome:void 0};break;case`AGENT_COMPLETED`:i={name:`agent`,outcome:`success`}}}let a;return a=t===`READY`?`ready`:t===`ERROR`?`error`:n||i?`working`:`idle`,{activity:a===`ready`?{status:a}:{status:a,action:n,toolOutcome:r,phase:i}}},Oh=r.from_html(`<div class="panel pending svelte-rsawb0"><!> <span>Waiting for build to start</span></div>`),kh=r.from_html(`<div class="build-log svelte-rsawb0"><!></div>`),Ah={hash:`svelte-rsawb0`,code:`.build-log.svelte-rsawb0 {display:flex;gap:0.5rem;flex-direction:column;width:100%;}.panel.svelte-rsawb0 {border:1px solid var(--rough-border, oklch(0.922 0 0));border-radius:var(--rough-radius-lg, 0.625rem);padding:0.75rem 1rem;background:var(--rough-card, white);box-shadow:var(--rough-shadow-xs, 0 1px 2px rgb(0 0 0 / 0.05));}.pending.svelte-rsawb0 {display:flex;align-items:center;gap:0.5rem;color:var(--rough-muted-foreground, oklch(0.556 0 0));font-weight:500;}`};function jh(e,t){r.push(t,!0),r.append_styles(e,Ah);let n=r.prop(t,`spriteBuild`,7),i=r.derived(()=>$(Q.spriteBuildEvent.filter(`build-log:${n().id}`,e=>e.spriteBuildId===n().id))),a=r.derived(()=>r.get(i)._),o=r.derived(()=>r.get(a).toSorted((e,t)=>e.actionedAt-t.actionedAt||e.id.localeCompare(t.id)).slice(-100)),s=r.derived(()=>n().status),c=r.derived(()=>Dh(r.get(o),r.get(s))),l=r.derived(()=>n().reasoningSummary??void 0),u=r.derived(()=>r.get(s)===`PENDING`);var d={get spriteBuild(){return n()},set spriteBuild(e){n(e),r.flush()}},f=kh(),p=r.child(f),m=e=>{var t=Oh();dh(r.child(t),{}),r.next(2),r.reset(t),r.append(e,t)},h=e=>{Th(e,{get activity(){return r.get(c).activity},get summaryText(){return r.get(l)}})};return r.if(p,e=>{r.get(u)?e(m):e(h,-1)}),r.reset(f),r.append(e,f),r.pop(d)}r.create_custom_element(jh,{spriteBuild:{}},[],[],{mode:`open`});var Mh=100,Nh=new Intl.NumberFormat(`en-US`,{style:`currency`,currency:`USD`,minimumFractionDigits:2,maximumFractionDigits:2}),Ph=e=>{let t=Math.round(e*Mh*10)/10;return Math.abs(t)<Mh?`${t.toFixed(1)}c`:Nh.format(e)},Fh=e=>e.toLowerCase().split(/[_-]+/).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `),Ih=e=>{switch(e.name){case`edit`:case`read`:case`write`:return`${e.name} ${e.path}`;case`bash`:return e.command;default:return`tool call`}},Lh=e=>{switch(e?.name){case`bash`:return`command`;case`read`:case`edit`:case`write`:return`path`;default:return`plain`}},Rh=e=>{let t=new Intl.NumberFormat(`en-US`,{maximumFractionDigits:2}),{tokens:n}=e.detail;return[`${e.detail.provider}/${e.detail.model}`,`${t.format(n.input)} input`,`${t.format(n.output)} output`,`${t.format(n.cacheRead)} cache read`,`${t.format(n.cacheWrite)} cache write`,`${t.format(n.total)} total`,Ph(e.detail.estimatedCostUsd)].join(` · `)},zh=e=>{if(!(!e||typeof e!=`object`)){if(`message`in e&&typeof e.message==`string`)return e.message;if(`error`in e&&e.error&&typeof e.error==`object`){let t=zh(e.error);if(t)return t}if(`url`in e&&typeof e.url==`string`)return e.url;if(`command`in e&&typeof e.command==`string`)return e.command}},Bh=e=>{let t=new Map,n=new Map,r=new Map;return e.map(e=>{let i=e,a,o=`plain`,s=`neutral`;switch(i.type){case`STEP_STARTED`:a=Fh(i.detail.stepName),o=`xml-open`,s=`active`;break;case`STEP_COMPLETED`:a=Fh(i.detail.stepName),o=`xml-close`,s=`success`;break;case`STEP_FAILED`:a=zh(i.detail.error)??Fh(i.detail.stepName),s=`error`;break;case`EXEC_STARTED`:n.set(i.detail.execId,{command:i.detail.command,cwd:i.detail.cwd}),a=i.detail.command,o=`command`,s=`active`;break;case`EXEC_COMPLETED`:a=n.get(i.detail.execId)?.command,o=`command`,s=`success`;break;case`EXEC_FAILED`:a=n.get(i.detail.execId)?.command,o=`command`,s=`error`;break;case`FETCH_STARTED`:r.set(i.detail.fetchId,{url:i.detail.url}),a=i.detail.url,s=`active`;break;case`FETCH_COMPLETED`:a=r.get(i.detail.fetchId)?.url,s=`success`;break;case`FETCH_FAILED`:{let e=r.get(i.detail.fetchId);a=zh(i.detail.error)??e?.url,s=`error`;break}case`AGENT_STARTED`:s=`active`;break;case`AGENT_COMPLETED`:s=`success`;break;case`AGENT_USAGE`:a=Rh(i),s=`neutral`;break;case`AGENT_TOOL_STARTED`:t.set(i.detail.toolCallId,i.detail.tool),a=Ih(i.detail.tool),o=Lh(i.detail.tool),s=`active`;break;case`AGENT_TOOL_COMPLETED`:{let e=t.get(i.detail.toolCallId);a=e?Ih(e):i.detail.toolCallId,o=Lh(e),s=`success`;break}case`AGENT_TOOL_FAILED`:{let e=t.get(i.detail.toolCallId);a=e?Ih(e):i.detail.toolCallId,o=Lh(e),s=`error`;break}case`AGENT_META`:a=i.detail.message,s=`neutral`;break;case`AGENT_MESSAGE`:a=i.detail.message,s=`neutral`;break;case`AGENT_THOUGHT`:a=i.detail.message,s=`neutral`;break;default:a=zh(e.detail),s=`neutral`}return{id:e.id,actionedAt:e.actionedAt,type:e.type,detailText:a,detailStyle:o,tone:s}})},Vh=r.from_html(`<div class="polling-indicator svelte-5iw9fb"><!> <span>Live</span></div>`),Hh=r.from_html(`<div class="panel state-panel empty-panel svelte-5iw9fb"><div class="state-title svelte-5iw9fb"><!></div> <div class="state-detail"><!></div></div>`),Uh=r.from_html(`<code class="svelte-5iw9fb"><strong class="svelte-5iw9fb"> </strong> </code>`),Wh=r.from_html(`<code class="svelte-5iw9fb"> </code>`),Gh=r.from_html(`<div><!></div>`),Kh=r.from_html(`<span class="event-detail-empty svelte-5iw9fb">—</span>`),qh=r.from_html(`<li><time class="event-date svelte-5iw9fb"> </time> <div class="event-type-cell svelte-5iw9fb"><span class="event-type svelte-5iw9fb"> </span></div> <div class="event-detail-cell svelte-5iw9fb"><!></div></li>`),Jh=r.from_html(`<ol class="event-list svelte-5iw9fb"></ol>`),Yh=r.from_html(`<div class="detailed-build-log svelte-5iw9fb" aria-live="polite"><div class="header svelte-5iw9fb"><div><div class="eyebrow svelte-5iw9fb">Detailed logs</div> <div class="title svelte-5iw9fb">Build event stream</div></div> <!></div> <!></div>`),Xh={hash:`svelte-5iw9fb`,code:`.detailed-build-log.svelte-5iw9fb {border:1px solid var(--rough-border, oklch(0.922 0 0));border-radius:var(--rough-radius-lg, 0.625rem);background:var(--rough-card, white);box-shadow:var(--rough-shadow-xs, 0 1px 2px rgb(0 0 0 / 0.05));color:var(--rough-card-foreground, oklch(0.145 0 0));}.header.svelte-5iw9fb {display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--rough-border, oklch(0.922 0 0));padding:0.85rem 1rem;background:var(--rough-muted, oklch(0.97 0 0));}.eyebrow.svelte-5iw9fb {color:var(--rough-muted-foreground, oklch(0.556 0 0));font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;}.title.svelte-5iw9fb {margin-top:0.15rem;color:var(--rough-foreground, oklch(0.145 0 0));font-weight:600;}.polling-indicator.svelte-5iw9fb {display:inline-flex;align-items:center;gap:0.45rem;border:1px solid var(--rough-border, oklch(0.922 0 0));border-radius:999px;padding:0.15rem 0.55rem;background:var(--rough-background, white);color:var(--rough-muted-foreground, oklch(0.556 0 0));font-size:0.8rem;font-weight:600;}.panel.svelte-5iw9fb {padding:0.85rem 1rem;}.state-panel.svelte-5iw9fb {display:flex;gap:0.35rem;flex-direction:column;color:var(--rough-muted-foreground, oklch(0.556 0 0));}.state-title.svelte-5iw9fb {color:var(--rough-foreground, oklch(0.145 0 0));font-weight:600;}.event-list.svelte-5iw9fb {display:grid;grid-template-columns:minmax(7.5rem, auto) minmax(12rem, auto) minmax(0, 1fr);margin:0;padding:0;list-style:none;}.event.svelte-5iw9fb {display:contents;}.event-date.svelte-5iw9fb,
18
27
  .event-type-cell.svelte-5iw9fb,
19
- .event-detail-cell.svelte-5iw9fb {padding-top:0.85rem;padding-bottom:0.85rem;border-top:1px solid var(--rough-surface-border, rgba(147, 161, 161, 0.24));}.event-date.svelte-5iw9fb {padding-left:1rem;font-size:0.8rem;color:var(--base01, #586e75);}.event-type-cell.svelte-5iw9fb,
28
+ .event-detail-cell.svelte-5iw9fb {border-top:1px solid var(--rough-border, oklch(0.922 0 0));padding-top:0.85rem;padding-bottom:0.85rem;}.event-date.svelte-5iw9fb {padding-left:1rem;color:var(--rough-muted-foreground, oklch(0.556 0 0));font-size:0.8rem;}.event-type-cell.svelte-5iw9fb,
20
29
  .event-detail-cell.svelte-5iw9fb {min-width:0;}.event-detail-cell.svelte-5iw9fb {padding-right:1rem;}.event.svelte-5iw9fb:first-child .event-date:where(.svelte-5iw9fb),
21
30
  .event.svelte-5iw9fb:first-child .event-type-cell:where(.svelte-5iw9fb),
22
- .event.svelte-5iw9fb:first-child .event-detail-cell:where(.svelte-5iw9fb) {border-top:none;}.event-type.svelte-5iw9fb {display:inline-flex;align-self:flex-start;max-width:100%;padding:0.1rem 0.4rem;background:color-mix(in srgb, currentColor 12%, white);color:var(--base01, #586e75);font-size:0.72rem;font-weight:700;letter-spacing:0.03em;word-break:break-word;}.event-detail.svelte-5iw9fb {color:var(--base00, #657b83);font-size:0.92rem;white-space:pre-wrap;word-break:break-word;}.event-detail-xml.svelte-5iw9fb code:where(.svelte-5iw9fb) {font:inherit;font-family:var(
31
+ .event.svelte-5iw9fb:first-child .event-detail-cell:where(.svelte-5iw9fb) {border-top:none;}.event-type.svelte-5iw9fb {display:inline-flex;align-self:flex-start;max-width:100%;border:1px solid var(--rough-border, oklch(0.922 0 0));border-radius:var(--rough-radius-sm, 0.25rem);padding:0.1rem 0.45rem;background:var(--rough-muted, oklch(0.97 0 0));color:var(--rough-muted-foreground, oklch(0.556 0 0));font-size:0.72rem;font-weight:700;letter-spacing:0.03em;word-break:break-word;}.event-detail.svelte-5iw9fb {color:var(--rough-muted-foreground, oklch(0.556 0 0));font-size:0.875rem;line-height:1.45;white-space:pre-wrap;word-break:break-word;}.event-detail-xml.svelte-5iw9fb code:where(.svelte-5iw9fb) {color:var(--rough-foreground, oklch(0.145 0 0));font:inherit;font-family:var(
23
32
  --rough-font-mono,
24
33
  ui-monospace,
25
34
  'SFMono-Regular',
@@ -28,7 +37,7 @@ import{z as e}from"zod";import{errorBoundary as t}from"@stayradiated/error-bound
28
37
  'Liberation Mono',
29
38
  Menlo,
30
39
  monospace
31
- );font-weight:700;color:var(--rough-text, #073642);}.event-detail-empty.svelte-5iw9fb {color:var(--base1, #93a1a1);}.event-detail-command.svelte-5iw9fb code:where(.svelte-5iw9fb),
40
+ );font-weight:700;}.event-detail-empty.svelte-5iw9fb {color:color-mix(in oklch, var(--rough-muted-foreground, oklch(0.556 0 0)) 60%, transparent);}.event-detail-command.svelte-5iw9fb code:where(.svelte-5iw9fb),
32
41
  .event-detail-path.svelte-5iw9fb code:where(.svelte-5iw9fb) {font:inherit;font-family:var(
33
42
  --rough-font-mono,
34
43
  ui-monospace,
@@ -38,31 +47,33 @@ import{z as e}from"zod";import{errorBoundary as t}from"@stayradiated/error-bound
38
47
  'Liberation Mono',
39
48
  Menlo,
40
49
  monospace
41
- );font-weight:400;}.event-detail-command.svelte-5iw9fb strong:where(.svelte-5iw9fb) {font-weight:700;}.tone-active.svelte-5iw9fb .event-type:where(.svelte-5iw9fb) {color:var(--rough-accent, #268bd2);}.tone-success.svelte-5iw9fb .event-type:where(.svelte-5iw9fb) {color:var(--green, #859900);}.tone-error.svelte-5iw9fb .event-type:where(.svelte-5iw9fb) {color:var(--orange, #cb4b16);}
50
+ );font-weight:400;}.event-detail-command.svelte-5iw9fb strong:where(.svelte-5iw9fb) {font-weight:700;}.tone-active.svelte-5iw9fb .event-type:where(.svelte-5iw9fb) {color:var(--rough-foreground, oklch(0.145 0 0));}.tone-success.svelte-5iw9fb .event-type:where(.svelte-5iw9fb) {color:var(--rough-success, oklch(0.527 0.154 150.069));}.tone-error.svelte-5iw9fb .event-type:where(.svelte-5iw9fb) {color:var(--rough-destructive, oklch(0.577 0.245 27.325));}
42
51
 
43
- @media (max-width: 720px) {.event-list.svelte-5iw9fb {grid-template-columns:1fr;column-gap:0;}.event.svelte-5iw9fb {display:block;padding:0.85rem 0;border-top:1px solid var(--rough-surface-border, rgba(147, 161, 161, 0.24));}.event.svelte-5iw9fb:first-child {border-top:none;}.event-date.svelte-5iw9fb,
52
+ @media (max-width: 720px) {.event-list.svelte-5iw9fb {grid-template-columns:1fr;column-gap:0;}.event.svelte-5iw9fb {display:block;border-top:1px solid var(--rough-border, oklch(0.922 0 0));padding:0.85rem 0;}.event.svelte-5iw9fb:first-child {border-top:none;}.event-date.svelte-5iw9fb,
44
53
  .event-type-cell.svelte-5iw9fb,
45
- .event-detail-cell.svelte-5iw9fb {display:block;border-top:none;padding-top:0;padding-bottom:0;padding-left:1rem;padding-right:1rem;}.event-type-cell.svelte-5iw9fb {margin-top:0.35rem;}.event-detail-cell.svelte-5iw9fb {margin-top:0.55rem;}
46
- }`};function Et(e,t){r.push(t,!0),r.append_styles(e,Tt);let n=r.prop(t,`spriteBuild`,7),i=r.prop(t,`loadEventList`,7,_e),a=r.prop(t,`pollIntervalMs`,7,1e3),o=r.state(r.proxy([])),s=r.state(void 0),c=r.state(!0),d=r.derived(()=>n().spriteId),f=r.derived(()=>n().id),p=r.derived(()=>n().status),m=r.derived(()=>pt(r.get(o))),h=r.derived(()=>r.get(p)===`PENDING`||r.get(p)===`IN_PROGRESS`),g=(e,t)=>{let n=new u(e.map(e=>[e.id,e]));for(let e of t)n.set(e.id,e);return[...n.values()].sort((e,t)=>e.actionedAt-t.actionedAt||e.id.localeCompare(t.id))},_=(e,t)=>new Promise(n=>{let r=setTimeout(n,e);t.addEventListener(`abort`,()=>{clearTimeout(r),n()},{once:!0})}),v=e=>new Intl.DateTimeFormat(void 0,{hour:`numeric`,minute:`2-digit`,second:`2-digit`}).format(new Date(e)),y=e=>{let t=e.trim(),n=t.match(/^(\S+)(?:\s+(.*))?$/);return n?{head:n[1]??t,tail:n[2]??``}:{head:t,tail:``}};r.user_effect(()=>{let e=r.get(d),t=r.get(f),n=i(),u=a(),p=new AbortController,m;r.set(o,[],!0),r.set(s,void 0),r.set(c,!0);let v=async()=>{for(;!p.signal.aborted;){let i=await n({spriteId:e,spriteBuildId:t,cursor:m,limit:100,signal:p.signal});if(p.signal.aborted)return;if(i instanceof Error){r.set(s,i,!0);return}if(i.length===0||(m=i.at(-1)?.id,r.set(o,g(r.get(o),i),!0),i.length<100))return}};return(async()=>{for(;!p.signal.aborted;){if(await v(),r.set(c,!1),r.get(s)||!l(()=>r.get(h)))return;await _(u,p.signal)}})(),()=>{p.abort()}});var b={get spriteBuild(){return n()},set spriteBuild(e){n(e),r.flush()},get loadEventList(){return i()},set loadEventList(e=_e){i(e),r.flush()},get pollIntervalMs(){return a()},set pollIntervalMs(e=1e3){a(e),r.flush()}},x=wt(),S=r.child(x),C=r.sibling(r.child(S),2),w=e=>{var t=mt();X(r.child(t),{}),r.next(2),r.reset(t),r.append(e,t)};r.if(C,e=>{r.get(h)&&!r.get(s)&&e(w)}),r.reset(S);var ee=r.sibling(S,2),te=e=>{var t=ht();X(r.child(t),{}),r.next(2),r.reset(t),r.append(e,t)},T=e=>{var t=gt(),n=r.sibling(r.child(t),2),i=r.child(n,!0);r.reset(n),r.reset(t),r.template_effect(()=>r.set_text(i,r.get(s).message)),r.append(e,t)},E=e=>{var t=_t(),n=r.child(t),i=r.child(n),a=e=>{var t=r.text(`Waiting for the build to emit logs`);r.append(e,t)},o=e=>{var t=r.text(`No build events yet`);r.append(e,t)};r.if(i,e=>{r.get(p)===`PENDING`?e(a):e(o,-1)}),r.reset(n);var s=r.sibling(n,2),c=r.child(s),l=e=>{var t=r.text(`Events will appear here as the build progresses.`);r.append(e,t)},u=e=>{var t=r.text(`This build did not record any events.`);r.append(e,t)};r.if(c,e=>{r.get(p)===`PENDING`||r.get(p)===`IN_PROGRESS`?e(l):e(u,-1)}),r.reset(s),r.reset(t),r.append(e,t)},D=e=>{var t=Ct();r.each(t,21,()=>r.get(m),e=>e.id,(e,t)=>{var n=St(),i=r.child(n),a=r.child(i,!0);r.reset(i);var o=r.sibling(i,2),s=r.child(o),c=r.child(s,!0);r.reset(s),r.reset(o);var l=r.sibling(o,2),u=r.child(l),d=e=>{var n=bt();let i;var a=r.child(n),o=e=>{let n=r.derived(()=>y(r.get(t).detailText));var i=vt(),a=r.child(i),o=r.child(a,!0);r.reset(a);var s=r.sibling(a,1,!0);r.reset(i),r.template_effect(()=>{r.set_text(o,r.get(n).head),r.set_text(s,r.get(n).tail?` ${r.get(n).tail}`:``)}),r.append(e,i)},s=e=>{let n=r.derived(()=>y(r.get(t).detailText));var i=vt(),a=r.child(i),o=r.child(a,!0);r.reset(a);var s=r.sibling(a,1,!0);r.reset(i),r.template_effect(()=>{r.set_text(o,r.get(n).head),r.set_text(s,r.get(n).tail?` ${r.get(n).tail}`:``)}),r.append(e,i)},c=e=>{var n=yt(),i=r.child(n);r.reset(n),r.template_effect(e=>r.set_text(i,`<${e??``}>`),[()=>r.get(t).detailText.replaceAll(` `,``)]),r.append(e,n)},l=e=>{var n=yt(),i=r.child(n);r.reset(n),r.template_effect(e=>r.set_text(i,`</${e??``}>`),[()=>r.get(t).detailText.replaceAll(` `,``)]),r.append(e,n)},u=e=>{var n=r.text();r.template_effect(()=>r.set_text(n,r.get(t).detailText)),r.append(e,n)};r.if(a,e=>{r.get(t).detailStyle===`command`?e(o):r.get(t).detailStyle===`path`?e(s,1):r.get(t).detailStyle===`xml-open`?e(c,2):r.get(t).detailStyle===`xml-close`?e(l,3):e(u,-1)}),r.reset(n),r.template_effect(()=>i=r.set_class(n,1,`event-detail svelte-5iw9fb`,null,i,{"event-detail-xml":r.get(t).detailStyle===`xml-open`||r.get(t).detailStyle===`xml-close`,"event-detail-command":r.get(t).detailStyle===`command`,"event-detail-path":r.get(t).detailStyle===`path`})),r.append(e,n)},f=e=>{var t=xt();r.append(e,t)};r.if(u,e=>{r.get(t).detailText?e(d):e(f,-1)}),r.reset(l),r.reset(n),r.template_effect((e,o)=>{r.set_class(n,1,`event tone-${r.get(t).tone}`,`svelte-5iw9fb`),r.set_attribute(i,`datetime`,e),r.set_text(a,o),r.set_text(c,r.get(t).type)},[()=>new Date(r.get(t).actionedAt).toISOString(),()=>v(r.get(t).actionedAt)]),r.append(e,n)}),r.reset(t),r.append(e,t)};return r.if(ee,e=>{r.get(c)?e(te):r.get(s)?e(T,1):r.get(m).length===0?e(E,2):e(D,-1)}),r.reset(x),r.append(e,x),r.pop(b)}r.create_custom_element(Et,{spriteBuild:{},loadEventList:{},pollIntervalMs:{}},[],[],{mode:`open`});var Dt=r.from_html(`<p class="detail svelte-elh43j"> </p>`),Ot=r.from_html(`<div class="error svelte-elh43j"><div class="error-label svelte-elh43j">Error</div> <div class="error-detail svelte-elh43j"> </div></div>`),kt=r.from_html(`<div class="overlay svelte-elh43j" role="dialog" aria-modal="true" aria-labelledby="confirm-overlay-title"><div class="panel svelte-elh43j"><h4 id="confirm-overlay-title" class="title svelte-elh43j"> </h4> <!> <!> <div class="actions svelte-elh43j"><!></div></div></div>`),At={hash:`svelte-elh43j`,code:`.overlay.svelte-elh43j {position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(7, 54, 66, 0.32);z-index:10;}.panel.svelte-elh43j {width:min(28rem, 90%);background:var(--rough-surface, white);border:1px solid var(--rough-surface-border, rgba(147, 161, 161, 0.32));padding:1.25rem;display:flex;flex-direction:column;gap:0.75rem;}.title.svelte-elh43j {margin:0;font-size:1rem;color:var(--rough-text, #073642);}.detail.svelte-elh43j {margin:0;font-size:0.9rem;color:var(--base01, #586e75);}.error.svelte-elh43j {background:color-mix(in srgb, var(--rough-danger, #cb4b16) 10%, white);border:1px solid var(--rough-danger, #cb4b16);padding:0.5rem 0.75rem;}.error-label.svelte-elh43j {font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--rough-danger, #cb4b16);}.error-detail.svelte-elh43j {font-size:0.85rem;color:var(--rough-text, #073642);margin-top:0.25rem;}.actions.svelte-elh43j {display:flex;justify-content:flex-end;gap:0.5rem;margin-top:0.5rem;}`};function jt(e,t){r.push(t,!0),r.append_styles(e,At);let n=r.prop(t,`title`,7),i=r.prop(t,`detail`,7),a=r.prop(t,`error`,7),o=r.prop(t,`actions`,7);var s={get title(){return n()},set title(e){n(e),r.flush()},get detail(){return i()},set detail(e){i(e),r.flush()},get error(){return a()},set error(e){a(e),r.flush()},get actions(){return o()},set actions(e){o(e),r.flush()}},c=kt(),l=r.child(c),u=r.child(l),d=r.child(u,!0);r.reset(u);var f=r.sibling(u,2),p=e=>{var t=Dt(),n=r.child(t,!0);r.reset(t),r.template_effect(()=>r.set_text(n,i())),r.append(e,t)};r.if(f,e=>{i()&&e(p)});var m=r.sibling(f,2),h=e=>{var t=Ot(),n=r.sibling(r.child(t),2),i=r.child(n,!0);r.reset(n),r.reset(t),r.template_effect(()=>r.set_text(i,a().message)),r.append(e,t)};r.if(m,e=>{a()&&e(h)});var g=r.sibling(m,2),_=r.child(g);return r.snippet(_,o),r.reset(g),r.reset(l),r.reset(c),r.template_effect(()=>r.set_text(d,n())),r.append(e,c),r.pop(s)}r.create_custom_element(jt,{title:{},detail:{},error:{},actions:{}},[],[],{mode:`open`});var Mt=r.from_html(`<button type="button" role="tab"> </button>`),Nt=r.from_html(`<footer class="MobileTabBar svelte-17gs0md"><div class="tabs svelte-17gs0md" role="tablist"></div></footer>`),Pt={hash:`svelte-17gs0md`,code:`.MobileTabBar.svelte-17gs0md {display:none;flex:none;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--rough-surface-border, rgba(147, 161, 161, 0.32));background:var(--rough-surface, white);}.tabs.svelte-17gs0md {display:grid;grid-template-columns:repeat(var(--mobile-tab-count, 3), minmax(0, 1fr));}.tab.svelte-17gs0md {appearance:none;min-width:0;border:0;border-right:1px solid var(--rough-surface-border, rgba(147, 161, 161, 0.32));border-top:3px solid transparent;padding:0.7rem 0.75rem 0.85rem;background:transparent;color:var(--base01, #586e75);cursor:pointer;font:inherit;font-size:0.9rem;font-weight:650;line-height:1;transition:background-color 120ms ease, border-color 120ms ease, color 120ms ease;}.tab.svelte-17gs0md:last-child {border-right:0;}.tab.svelte-17gs0md:hover {background:color-mix(in srgb, var(--rough-text, #073642) 4%, white);color:var(--rough-text, #073642);}.tab.active.svelte-17gs0md {border-top-color:var(--rough-accent, #268bd2);background:white;color:var(--rough-accent, #268bd2);}.tab.svelte-17gs0md:focus-visible {outline:2px solid var(--rough-accent, #268bd2);outline-offset:-2px;}
54
+ .event-detail-cell.svelte-5iw9fb {display:block;border-top:none;padding-top:0;padding-right:1rem;padding-bottom:0;padding-left:1rem;}.event-type-cell.svelte-5iw9fb {margin-top:0.35rem;}.event-detail-cell.svelte-5iw9fb {margin-top:0.55rem;}
55
+ }`};function Zh(e,t){r.push(t,!0),r.append_styles(e,Xh);let n=r.prop(t,`spriteBuild`,7),i=r.prop(t,`eventList`,7),a=r.derived(()=>n().status),o=r.derived(()=>$(Q.spriteBuildEvent.filter(`detailed-build-log:${n().id}`,e=>e.spriteBuildId===n().id))),s=r.derived(()=>r.get(o)._),c=r.derived(()=>(i()??r.get(s)).toSorted((e,t)=>e.actionedAt-t.actionedAt||e.id.localeCompare(t.id)).slice(-500)),l=r.derived(()=>Bh(r.get(c))),u=r.derived(()=>r.get(a)===`PENDING`||r.get(a)===`IN_PROGRESS`),d=e=>new Intl.DateTimeFormat(void 0,{hour:`numeric`,minute:`2-digit`,second:`2-digit`}).format(new Date(e)),f=e=>{let t=e.trim(),n=t.match(/^(\S+)(?:\s+(.*))?$/);return n?{head:n[1]??t,tail:n[2]??``}:{head:t,tail:``}};var p={get spriteBuild(){return n()},set spriteBuild(e){n(e),r.flush()},get eventList(){return i()},set eventList(e){i(e),r.flush()}},m=Yh(),h=r.child(m),g=r.sibling(r.child(h),2),_=e=>{var t=Vh();dh(r.child(t),{}),r.next(2),r.reset(t),r.append(e,t)};r.if(g,e=>{r.get(u)&&e(_)}),r.reset(h);var v=r.sibling(h,2),y=e=>{var t=Hh(),n=r.child(t),i=r.child(n),o=e=>{var t=r.text(`Waiting for the build to emit logs`);r.append(e,t)},s=e=>{var t=r.text(`No build events yet`);r.append(e,t)};r.if(i,e=>{r.get(a)===`PENDING`?e(o):e(s,-1)}),r.reset(n);var c=r.sibling(n,2),l=r.child(c),u=e=>{var t=r.text(`Events will appear here as the build progresses.`);r.append(e,t)},d=e=>{var t=r.text(`This build did not record any events.`);r.append(e,t)};r.if(l,e=>{r.get(a)===`PENDING`||r.get(a)===`IN_PROGRESS`?e(u):e(d,-1)}),r.reset(c),r.reset(t),r.append(e,t)},b=e=>{var t=Jh();r.each(t,21,()=>r.get(l),e=>e.id,(e,t)=>{var n=qh(),i=r.child(n),a=r.child(i,!0);r.reset(i);var o=r.sibling(i,2),s=r.child(o),c=r.child(s,!0);r.reset(s),r.reset(o);var l=r.sibling(o,2),u=r.child(l),p=e=>{var n=Gh();let i;var a=r.child(n),o=e=>{let n=r.derived(()=>f(r.get(t).detailText));var i=Uh(),a=r.child(i),o=r.child(a,!0);r.reset(a);var s=r.sibling(a,1,!0);r.reset(i),r.template_effect(()=>{r.set_text(o,r.get(n).head),r.set_text(s,r.get(n).tail?` ${r.get(n).tail}`:``)}),r.append(e,i)},s=e=>{let n=r.derived(()=>f(r.get(t).detailText));var i=Uh(),a=r.child(i),o=r.child(a,!0);r.reset(a);var s=r.sibling(a,1,!0);r.reset(i),r.template_effect(()=>{r.set_text(o,r.get(n).head),r.set_text(s,r.get(n).tail?` ${r.get(n).tail}`:``)}),r.append(e,i)},c=e=>{var n=Wh(),i=r.child(n);r.reset(n),r.template_effect(e=>r.set_text(i,`<${e??``}>`),[()=>r.get(t).detailText.replaceAll(` `,``)]),r.append(e,n)},l=e=>{var n=Wh(),i=r.child(n);r.reset(n),r.template_effect(e=>r.set_text(i,`</${e??``}>`),[()=>r.get(t).detailText.replaceAll(` `,``)]),r.append(e,n)},u=e=>{var n=r.text();r.template_effect(()=>r.set_text(n,r.get(t).detailText)),r.append(e,n)};r.if(a,e=>{r.get(t).detailStyle===`command`?e(o):r.get(t).detailStyle===`path`?e(s,1):r.get(t).detailStyle===`xml-open`?e(c,2):r.get(t).detailStyle===`xml-close`?e(l,3):e(u,-1)}),r.reset(n),r.template_effect(()=>i=r.set_class(n,1,`event-detail svelte-5iw9fb`,null,i,{"event-detail-xml":r.get(t).detailStyle===`xml-open`||r.get(t).detailStyle===`xml-close`,"event-detail-command":r.get(t).detailStyle===`command`,"event-detail-path":r.get(t).detailStyle===`path`})),r.append(e,n)},m=e=>{var t=Kh();r.append(e,t)};r.if(u,e=>{r.get(t).detailText?e(p):e(m,-1)}),r.reset(l),r.reset(n),r.template_effect((e,o)=>{r.set_class(n,1,`event tone-${r.get(t).tone}`,`svelte-5iw9fb`),r.set_attribute(i,`datetime`,e),r.set_text(a,o),r.set_text(c,r.get(t).type)},[()=>new Date(r.get(t).actionedAt).toISOString(),()=>d(r.get(t).actionedAt)]),r.append(e,n)}),r.reset(t),r.append(e,t)};return r.if(v,e=>{r.get(l).length===0?e(y):e(b,-1)}),r.reset(m),r.append(e,m),r.pop(p)}r.create_custom_element(Zh,{spriteBuild:{},eventList:{}},[],[],{mode:`open`});var Qh=r.from_html(`<p class="detail svelte-elh43j"> </p>`),$h=r.from_html(`<div class="error svelte-elh43j"><div class="error-label svelte-elh43j">Error</div> <div class="error-detail svelte-elh43j"> </div></div>`),eg=r.from_html(`<div class="overlay svelte-elh43j" role="dialog" aria-modal="true" aria-labelledby="confirm-overlay-title"><div class="panel svelte-elh43j"><h4 id="confirm-overlay-title" class="title svelte-elh43j"> </h4> <!> <!> <div class="actions svelte-elh43j"><!></div></div></div>`),tg={hash:`svelte-elh43j`,code:`.overlay.svelte-elh43j {position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;background:rgb(0 0 0 / 0.5);}.panel.svelte-elh43j {display:flex;gap:0.75rem;flex-direction:column;width:min(28rem, 90%);border:1px solid var(--rough-border, oklch(0.922 0 0));border-radius:var(--rough-radius-lg, 0.625rem);padding:1.5rem;background:var(--rough-card, white);box-shadow:var(--rough-shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 0.1));color:var(--rough-card-foreground, oklch(0.145 0 0));}.title.svelte-elh43j {margin:0;color:var(--rough-card-foreground, oklch(0.145 0 0));font-size:1.125rem;font-weight:600;line-height:1;}.detail.svelte-elh43j {margin:0;color:var(--rough-muted-foreground, oklch(0.556 0 0));font-size:0.875rem;line-height:1.45;}.error.svelte-elh43j {border:1px solid color-mix(in oklch, var(--rough-destructive, oklch(0.577 0.245 27.325)) 30%, transparent);border-radius:var(--rough-radius-md, 0.375rem);padding:0.75rem;background:color-mix(in oklch, var(--rough-destructive, oklch(0.577 0.245 27.325)) 10%, var(--rough-card, white));}.error-label.svelte-elh43j {color:var(--rough-destructive, oklch(0.577 0.245 27.325));font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;}.error-detail.svelte-elh43j {margin-top:0.25rem;color:var(--rough-foreground, oklch(0.145 0 0));font-size:0.875rem;}.actions.svelte-elh43j {display:flex;justify-content:flex-end;gap:0.5rem;margin-top:0.5rem;}`};function ng(e,t){r.push(t,!0),r.append_styles(e,tg);let n=r.prop(t,`title`,7),i=r.prop(t,`detail`,7),a=r.prop(t,`error`,7),o=r.prop(t,`actions`,7);var s={get title(){return n()},set title(e){n(e),r.flush()},get detail(){return i()},set detail(e){i(e),r.flush()},get error(){return a()},set error(e){a(e),r.flush()},get actions(){return o()},set actions(e){o(e),r.flush()}},c=eg(),l=r.child(c),u=r.child(l),d=r.child(u,!0);r.reset(u);var f=r.sibling(u,2),p=e=>{var t=Qh(),n=r.child(t,!0);r.reset(t),r.template_effect(()=>r.set_text(n,i())),r.append(e,t)};r.if(f,e=>{i()&&e(p)});var m=r.sibling(f,2),h=e=>{var t=$h(),n=r.sibling(r.child(t),2),i=r.child(n,!0);r.reset(n),r.reset(t),r.template_effect(()=>r.set_text(i,a().message)),r.append(e,t)};r.if(m,e=>{a()&&e(h)});var g=r.sibling(m,2),_=r.child(g);return r.snippet(_,o),r.reset(g),r.reset(l),r.reset(c),r.template_effect(()=>r.set_text(d,n())),r.append(e,c),r.pop(s)}r.create_custom_element(ng,{title:{},detail:{},error:{},actions:{}},[],[],{mode:`open`});var rg=r.from_html(`<button type="button" role="tab"> </button>`),ig=r.from_html(`<footer class="MobileTabBar svelte-17gs0md"><div class="tabs svelte-17gs0md" role="tablist"></div></footer>`),ag={hash:`svelte-17gs0md`,code:`.MobileTabBar.svelte-17gs0md {display:none;flex:none;border-top:1px solid var(--rough-border, oklch(0.922 0 0));padding:0.5rem 0.75rem calc(0.5rem + env(safe-area-inset-bottom));background:var(--rough-card, white);}.tabs.svelte-17gs0md {display:grid;grid-template-columns:repeat(var(--mobile-tab-count, 3), minmax(0, 1fr));gap:0.125rem;border-radius:var(--rough-radius-lg, 0.625rem);padding:0.1875rem;background:var(--rough-muted, oklch(0.97 0 0));color:var(--rough-muted-foreground, oklch(0.556 0 0));}.tab.svelte-17gs0md {appearance:none;height:2.25rem;min-width:0;border:1px solid transparent;border-radius:var(--rough-radius-md, 0.375rem);padding:0.25rem 0.5rem;background:transparent;color:inherit;font:inherit;font-size:0.875rem;font-weight:500;line-height:1;cursor:pointer;transition:background-color 120ms ease, border-color 120ms ease,
56
+ box-shadow 120ms ease, color 120ms ease;}.tab.svelte-17gs0md:hover {color:var(--rough-foreground, oklch(0.145 0 0));}.tab.active.svelte-17gs0md {border-color:var(--rough-border, oklch(0.922 0 0));background:var(--rough-background, white);box-shadow:var(--rough-shadow-xs, 0 1px 2px rgb(0 0 0 / 0.05));color:var(--rough-foreground, oklch(0.145 0 0));}.tab.svelte-17gs0md:focus-visible {border-color:var(--rough-ring, oklch(0.708 0 0));outline:none;box-shadow:0 0 0 3px color-mix(in oklch, var(--rough-ring, oklch(0.708 0 0)) 45%, transparent);}
47
57
 
48
58
  @media (max-width: 1000px) {.MobileTabBar.svelte-17gs0md {display:block;}
49
- }`};function Ft(e,t){r.push(t,!0),r.append_styles(e,Pt);let n=r.prop(t,`active`,15),i=r.prop(t,`tabs`,7),a=r.prop(t,`ariaLabel`,7,`Navigation`),o=e=>{let t=e.key;if(![`ArrowLeft`,`ArrowRight`,`Home`,`End`].includes(t))return;let n=e.currentTarget,r=n.closest(`[role="tablist"]`),i=Array.from(r?.querySelectorAll(`[role="tab"]`)??[]),a=i.indexOf(n);if(a===-1||i.length===0)return;e.preventDefault();let o=t===`Home`?0:t===`End`?i.length-1:t===`ArrowLeft`?(a-1+i.length)%i.length:(a+1)%i.length;i[o]?.focus(),i[o]?.click()};var s={get active(){return n()},set active(e){n(e),r.flush()},get tabs(){return i()},set tabs(e){i(e),r.flush()},get ariaLabel(){return a()},set ariaLabel(e=`Navigation`){a(e),r.flush()}},c=Nt(),l=r.child(c);let u;return r.each(l,21,i,e=>e.key,(e,t)=>{var i=Mt();let a;var s=r.child(i,!0);r.reset(i),r.template_effect(()=>{a=r.set_class(i,1,`tab svelte-17gs0md`,null,a,{active:n()===r.get(t).key}),r.set_attribute(i,`aria-selected`,n()===r.get(t).key),r.set_attribute(i,`tabindex`,n()===r.get(t).key?0:-1),r.set_text(s,r.get(t).label)}),r.delegated(`click`,i,()=>n(r.get(t).key)),r.delegated(`keydown`,i,o),r.append(e,i)}),r.reset(l),r.reset(c),r.template_effect(()=>{r.set_attribute(c,`aria-label`,a()),r.set_attribute(l,`aria-label`,a()),u=r.set_style(l,``,u,{"--mobile-tab-count":i().length})}),r.append(e,c),r.pop(s)}r.delegate([`click`,`keydown`]),r.create_custom_element(Ft,{active:{},tabs:{},ariaLabel:{}},[],[],{mode:`open`});var It=r.from_html(`<button><!></button>`),Lt={hash:`svelte-om76s9`,code:`button.svelte-om76s9 {appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;border:1px solid var(--rough-accent, #268bd2);border-radius:0;padding:0.7rem 1rem;font-weight:600;cursor:pointer;color:var(--rough-background, #fdf6e3);background:var(--rough-accent, #268bd2);transition:background-color 120ms ease,
50
- border-color 120ms ease,
51
- opacity 120ms ease;}button.svelte-om76s9:hover {background:#1f7fc3;border-color:#1f7fc3;}button.svelte-om76s9:focus-visible {outline:3px solid color-mix(in srgb, var(--rough-accent, #268bd2) 25%, white);outline-offset:2px;}button.svelte-om76s9:disabled {cursor:not-allowed;opacity:0.55;}.block.svelte-om76s9 {display:flex;width:100%;}.iconOnly.svelte-om76s9 {padding-inline:0.7rem;min-width:2.6rem;min-height:2.6rem;}.alignStart.svelte-om76s9 {justify-content:flex-start;}`};function Z(e,t){r.push(t,!0),r.append_styles(e,Lt);let n=r.prop(t,`children`,7),i=r.prop(t,`class`,7,``),a=r.prop(t,`type`,7,`button`),o=r.prop(t,`disabled`,7,!1),s=r.prop(t,`onclick`,7),c=r.prop(t,`role`,7),l=r.prop(t,`block`,7,!1),u=r.prop(t,`iconOnly`,7,!1),d=r.prop(t,`alignStart`,7,!1),f=r.prop(t,`aria-label`,7),p=r.prop(t,`aria-haspopup`,7),m=r.prop(t,`aria-expanded`,7);var h={get children(){return n()},set children(e){n(e),r.flush()},get class(){return i()},set class(e=``){i(e),r.flush()},get type(){return a()},set type(e=`button`){a(e),r.flush()},get disabled(){return o()},set disabled(e=!1){o(e),r.flush()},get onclick(){return s()},set onclick(e){s(e),r.flush()},get role(){return c()},set role(e){c(e),r.flush()},get block(){return l()},set block(e=!1){l(e),r.flush()},get iconOnly(){return u()},set iconOnly(e=!1){u(e),r.flush()},get alignStart(){return d()},set alignStart(e=!1){d(e),r.flush()},get"aria-label"(){return f()},set"aria-label"(e){f(e),r.flush()},get"aria-haspopup"(){return p()},set"aria-haspopup"(e){p(e),r.flush()},get"aria-expanded"(){return m()},set"aria-expanded"(e){m(e),r.flush()}},g=It();let _;var v=r.child(g);return r.snippet(v,()=>n()??r.noop),r.reset(g),r.template_effect(()=>{r.set_attribute(g,`type`,a()),g.disabled=o(),r.set_attribute(g,`role`,c()),r.set_attribute(g,`aria-label`,f()),r.set_attribute(g,`aria-haspopup`,p()),r.set_attribute(g,`aria-expanded`,m()),_=r.set_class(g,1,r.clsx(i()),`svelte-om76s9`,_,{block:l(),iconOnly:u(),alignStart:d()})}),r.delegated(`click`,g,function(...e){s()?.apply(this,e)}),r.append(e,g),r.pop(h)}r.delegate([`click`]),r.create_custom_element(Z,{children:{},class:{},type:{},disabled:{},onclick:{},role:{},block:{},iconOnly:{},alignStart:{},"aria-label":{},"aria-haspopup":{},"aria-expanded":{}},[],[],{mode:`open`});var Rt=(e=window.document.body)=>t=>(e.appendChild(t),t.hidden=!1,()=>{t.parentNode===e&&e.removeChild(t)}),zt=r.from_html(`<dialog class="svelte-1phmmvx"><!></dialog>`),Bt={hash:`svelte-1phmmvx`,code:`dialog.svelte-1phmmvx {position:fixed;inset:2rem;width:auto;height:auto;max-width:none;max-height:none;margin:0;padding:0;border:none;background:transparent;}dialog.svelte-1phmmvx::backdrop {background:rgba(7, 54, 66, 0.42);}`};function Vt(e,t){r.push(t,!0),r.append_styles(e,Bt);let n=r.prop(t,`isOpen`,15,!0),i=r.prop(t,`onclose`,7),a=r.prop(t,`oncancel`,7),o=r.prop(t,`children`,7),s=r.state(void 0);r.user_effect(()=>{if(r.get(s)){if(n()&&!r.get(s).open){r.get(s).showModal();return}!n()&&r.get(s).open&&r.get(s).close()}});var c={get isOpen(){return n()},set isOpen(e=!0){n(e),r.flush()},get onclose(){return i()},set onclose(e){i(e),r.flush()},get oncancel(){return a()},set oncancel(e){a(e),r.flush()},get children(){return o()},set children(e){o(e),r.flush()}},l=zt(),u=r.child(l);return r.snippet(u,()=>o()??r.noop),r.reset(l),r.bind_this(l,e=>r.set(s,e),()=>r.get(s)),r.attach(l,Rt),r.event(`close`,l,()=>{n(!1),i()?.()}),r.event(`cancel`,l,function(...e){a()?.apply(this,e)}),r.append(e,l),r.pop(c)}r.create_custom_element(Vt,{isOpen:{},onclose:{},oncancel:{},children:{}},[],[],{mode:`open`});var Ht=r.from_html(`<button><!></button>`),Ut={hash:`svelte-1yyy6r1`,code:`button.svelte-1yyy6r1 {appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;border:1px solid var(--rough-border, #93a1a1);border-radius:0;padding:0.7rem 1rem;font-weight:600;cursor:pointer;color:var(--rough-text-secondary, #586e75);background:var(--rough-background, #fdf6e3);transition:border-color 120ms ease,
52
- background-color 120ms ease,
53
- opacity 120ms ease;}button.svelte-1yyy6r1:hover {border-color:var(--rough-accent-secondary, #2aa198);background:var(--rough-background-muted, #eee8d5);}button.svelte-1yyy6r1:focus-visible {outline:3px solid color-mix(in srgb, var(--rough-accent-secondary, #2aa198) 18%, white);outline-offset:2px;}button.svelte-1yyy6r1:disabled {cursor:not-allowed;opacity:0.55;}.block.svelte-1yyy6r1 {display:flex;width:100%;}.iconOnly.svelte-1yyy6r1 {padding-inline:0.7rem;min-width:2.6rem;min-height:2.6rem;}.alignStart.svelte-1yyy6r1 {justify-content:flex-start;}`};function Q(e,t){r.push(t,!0),r.append_styles(e,Ut);let n=r.prop(t,`children`,7),i=r.prop(t,`class`,7,``),a=r.prop(t,`type`,7,`button`),o=r.prop(t,`disabled`,7,!1),s=r.prop(t,`onclick`,7),c=r.prop(t,`role`,7),l=r.prop(t,`block`,7,!1),u=r.prop(t,`iconOnly`,7,!1),d=r.prop(t,`alignStart`,7,!1),f=r.prop(t,`aria-label`,7),p=r.prop(t,`aria-haspopup`,7),m=r.prop(t,`aria-expanded`,7);var h={get children(){return n()},set children(e){n(e),r.flush()},get class(){return i()},set class(e=``){i(e),r.flush()},get type(){return a()},set type(e=`button`){a(e),r.flush()},get disabled(){return o()},set disabled(e=!1){o(e),r.flush()},get onclick(){return s()},set onclick(e){s(e),r.flush()},get role(){return c()},set role(e){c(e),r.flush()},get block(){return l()},set block(e=!1){l(e),r.flush()},get iconOnly(){return u()},set iconOnly(e=!1){u(e),r.flush()},get alignStart(){return d()},set alignStart(e=!1){d(e),r.flush()},get"aria-label"(){return f()},set"aria-label"(e){f(e),r.flush()},get"aria-haspopup"(){return p()},set"aria-haspopup"(e){p(e),r.flush()},get"aria-expanded"(){return m()},set"aria-expanded"(e){m(e),r.flush()}},g=Ht();let _;var v=r.child(g);return r.snippet(v,()=>n()??r.noop),r.reset(g),r.template_effect(()=>{r.set_attribute(g,`type`,a()),g.disabled=o(),r.set_attribute(g,`role`,c()),r.set_attribute(g,`aria-label`,f()),r.set_attribute(g,`aria-haspopup`,p()),r.set_attribute(g,`aria-expanded`,m()),_=r.set_class(g,1,r.clsx(i()),`svelte-1yyy6r1`,_,{block:l(),iconOnly:u(),alignStart:d()})}),r.delegated(`click`,g,function(...e){s()?.apply(this,e)}),r.append(e,g),r.pop(h)}r.delegate([`click`]),r.create_custom_element(Q,{children:{},class:{},type:{},disabled:{},onclick:{},role:{},block:{},iconOnly:{},alignStart:{},"aria-label":{},"aria-haspopup":{},"aria-expanded":{}},[],[],{mode:`open`});var Wt=`2.0.0`,Gt=`app.rough.frame.server.port`,Kt=(e,t)=>!!e&&typeof e==`object`&&`type`in e&&e.type===t&&`version`in e&&typeof e.version==`string`,qt=class{serverWindow;clientWindow;clientOrigin;createSession;createMessageChannel;session;listening=!1;constructor(e){this.serverWindow=e.serverWindow,this.clientWindow=e.clientWindow,this.clientOrigin=e.clientOrigin,this.createSession=e.createSession,this.createMessageChannel=e.createMessageChannel??(()=>new MessageChannel)}start(){this.listening||=(this.serverWindow.addEventListener(`message`,this.onMessage),!0)}stop(){this.listening&&(this.serverWindow.removeEventListener(`message`,this.onMessage),this.listening=!1,this.disposeSession())}onMessage=e=>{if(this.clientOrigin!==`*`&&e.origin!==this.clientOrigin){console.warn(`ignoring message from unexpected origin: "${e.origin}"`);return}if(!Kt(e.data,`app.rough.frame.client.ready`)){console.warn(`ignoring message with unexpected type: "${e.data.type}"`);return}if(e.source!==this.clientWindow){console.warn(`ignoring message from unexpected source`);return}let t=this.createMessageChannel();this.disposeSession(),this.session=this.createSession(t.port1),this.clientWindow.postMessage({type:Gt,version:Wt},{targetOrigin:this.clientOrigin,transfer:[t.port2]})};disposeSession(){this.session&&=(this.session[Symbol.dispose]?.(),void 0)}},Jt=[{},{}],Yt=e=>{let{store:t,iframeElement:n,onReportSize:r,getBridgeMethodDefinitions:i}=e;return{_internal:{reportSize(e){n&&(n.style.minHeight=`${e.height}px`),r?.(e)},getBridgeMethodDefinitions(){return i?.()??[]},state:{get(){return t.get()??Jt},set(e){t.set(e)},addListener(e){let n=e.dup(),r=t.addListener(n);return()=>{r(),n[Symbol.dispose]()}}}}}},Xt=class{containerElement;channelServer;iframeElement;constructor(e){let{iframe:t,serverWindow:n=globalThis.window,clientOrigin:r=`*`,getTools:i,getBridgeMethodDefinitions:a,store:o}=e,s;if(`contentWindow`in t)this.iframeElement=void 0,s=t.contentWindow;else{let{containerElement:e,src:n,title:r,allow:i=[`fullscreen`,`camera`,`microphone`]}=t;this.containerElement=e,this.iframeElement=document.createElement(`iframe`),this.iframeElement.width=`100%`,this.iframeElement.src=n,this.iframeElement.title=r,this.iframeElement.allow=i.join(`; `),this.iframeElement.style=`border: none;`,e.appendChild(this.iframeElement),s=this.iframeElement.contentWindow??void 0}if(!s)throw Error(`no client window`);let c=Yt({store:o,iframeElement:this.iframeElement,onReportSize:t.onReportSize,getBridgeMethodDefinitions:a});this.channelServer=new qt({clientWindow:s,serverWindow:n,clientOrigin:r,createSession:e=>f(e,{...i(),...c})})}start(){this.channelServer.start()}stop(){this.channelServer.stop(),this.containerElement&&this.iframeElement&&(this.containerElement.removeChild(this.iframeElement),this.iframeElement=void 0)}},Zt=r.from_html(`<div><!></div>`);function Qt(e,t){r.push(t,!0);let n=r.prop(t,`handle`,7),i=r.prop(t,`children`,7),a=r.prop(t,`class`,7,``),s,c=r.derived(()=>[n().class,a()].filter(Boolean).join(` `));o(()=>{s&&n().destroy(s)});var l={get handle(){return n()},set handle(e){n(e),r.flush()},get children(){return i()},set children(e){i(e),r.flush()},get class(){return a()},set class(e=``){a(e),r.flush()}},u=Zt(),d=r.child(u);return r.snippet(d,()=>i()??r.noop),r.reset(u),r.bind_this(u,e=>s=e,()=>s),r.template_effect(()=>{r.set_class(u,1,r.clsx(r.get(c))),r.set_attribute(u,`role`,n().role),r.set_attribute(u,`aria-orientation`,n()[`aria-orientation`]),r.set_attribute(u,`aria-label`,n()[`aria-label`]),r.set_attribute(u,`title`,n().title)}),r.delegated(`pointerdown`,u,function(...e){n().onpointerdown?.apply(this,e)}),r.delegated(`pointermove`,u,function(...e){n().onpointermove?.apply(this,e)}),r.delegated(`pointerup`,u,function(...e){n().onpointerup?.apply(this,e)}),r.event(`pointercancel`,u,function(...e){n().onpointercancel?.apply(this,e)}),r.delegated(`dblclick`,u,function(...e){n().ondblclick?.apply(this,e)}),r.append(e,u),r.pop(l)}r.delegate([`pointerdown`,`pointermove`,`pointerup`,`dblclick`]),r.create_custom_element(Qt,{handle:{},children:{},class:{}},[],[],{mode:`open`});var $t=e=>e.minHeight??100,en=e=>e.maxHeight??2e3,tn=(e,t)=>Math.min(en(t),Math.max($t(t),Math.round(e))),nn={resized:`Resizable--resized`,handle:`Resizable__resize-handle`},rn={triggerPx:60,maxSpeedPx:16},an=e=>{let t,n=0,r=()=>{t=void 0,!(!e.isActive()||n===0)&&(e.scrollBy(n),e.onScroll(),t=requestAnimationFrame(r))},i=e=>{n=e,t===void 0&&(t=requestAnimationFrame(r))},a=()=>{t!==void 0&&(cancelAnimationFrame(t),t=void 0),n=0};return{stop:a,updateForPointer:t=>{let n=e.getViewport(),r=n.bottom-t,o=t-n.top;if(r<rn.triggerPx){let e=Math.min(1,1-r/rn.triggerPx);i(Math.max(1,Math.round(rn.maxSpeedPx*e)))}else o<=0?i(-rn.maxSpeedPx):a()}}},on=()=>{let e=document.documentElement,t=document.body;return Math.max(e.clientHeight,t?.offsetHeight??0,t?.scrollHeight??0)},sn=()=>{let e,t,n=()=>{t!==void 0&&(cancelAnimationFrame(t),t=void 0)};return{lock:()=>{n();let t=document.documentElement;e={previous:e?.previous??t.style.minHeight,element:t},t.style.minHeight=`${t.scrollHeight}px`},growToContent:()=>{if(!e)return;let t=e.element,n=Number.parseFloat(t.style.minHeight),r=Math.max(Number.isFinite(n)?n:0,t.scrollHeight);t.style.minHeight=`${r}px`},release:(r=!0)=>{if(n(),!e)return;let i=e,a=i.element,o=a.scrollHeight,s=Number.parseFloat(i.previous),c=Math.max(on(),Number.isFinite(s)?s:0);if(!r||c>=o){a.style.minHeight=i.previous,e=void 0;return}let l=performance.now(),u=n=>{let r=Math.min(1,(n-l)/180),s=1-(1-r)**3;if(a.style.minHeight=`${o+(c-o)*s}px`,r<1){t=requestAnimationFrame(u);return}a.style.minHeight=i.previous,e=void 0,t=void 0};t=requestAnimationFrame(u)}}},cn=e=>{let t=e.parentElement;for(;t&&t!==document.body&&t!==document.documentElement;){let e=window.getComputedStyle(t);if((e.overflowY===`auto`||e.overflowY===`scroll`)&&t.scrollHeight>t.clientHeight)return t;t=t.parentElement}},ln=e=>({...nn,...e.classNames}),un=(e={})=>{let t,n,r,i,a=sn(),o=n=>{if(t)if(i&&=(t.classList.remove(i),void 0),typeof n==`number`){let r=ln(e);t.style.height=`${n}px`,t.classList.add(r.resized),i=r.resized}else t.style.removeProperty(`height`)},s=()=>{if(n?.scrollTarget){let e=n.scrollTarget.getBoundingClientRect();return{top:e.top,bottom:e.bottom}}return{top:0,bottom:window.innerHeight}},c=e=>{e!==0&&(n?.scrollTarget?n.scrollTarget.scrollTop+=e:window.scrollBy({top:e,left:0,behavior:`instant`}))},l=()=>{if(!n||!t)return;let r=t.getBoundingClientRect();o(tn(n.lastClientY-n.grabOffset-r.top,e)),a.growToContent()},u=an({getViewport:s,isActive:()=>n!==void 0,scrollBy:c,onScroll:l}),d=(e=!0)=>{n=void 0,r=void 0,u.stop(),a.release(e)},f=i=>{if(!t||i.button!==0&&i.pointerType===`mouse`)return;i.preventDefault();let s=i.currentTarget,c=t.getBoundingClientRect();n={pointerId:i.pointerId,grabOffset:i.clientY-c.bottom,lastClientY:i.clientY,scrollTarget:cn(t)},r=s,o(tn(c.height,e)),a.lock(),s.setPointerCapture(i.pointerId)},p=e=>{n?.pointerId===e.pointerId&&(n.lastClientY=e.clientY,l(),u.updateForPointer(e.clientY))},m=r=>{if(n?.pointerId!==r.pointerId)return;let i=r.currentTarget;if(d(),i.hasPointerCapture(r.pointerId)&&i.releasePointerCapture(r.pointerId),!t)return;let a=Number.parseFloat(t.style.height);Number.isFinite(a)&&e.heightStore?.set(a)},h=()=>{e.heightStore?.clear(),o(void 0)},g=e=>{r===e&&d(!1)},_=i=>(t=i,o(e.heightStore?.get()),()=>{u.stop(),a.release(!1),o(void 0),n=void 0,r=void 0,t=void 0});return _.handle=()=>({class:ln(e).handle,role:`separator`,"aria-orientation":`horizontal`,"aria-label":e.label??`Resize`,title:e.title??`Drag to resize, double-click to reset`,onpointerdown:f,onpointermove:p,onpointerup:m,onpointercancel:m,ondblclick:h,destroy:g}),_},dn=()=>{let e=new Set;return{addListener(t){return e.add(t),()=>{e.delete(t)}},notify(t){for(let n of e)n(t)}}},fn=e=>e,pn=e=>e,mn=e=>e,hn=e=>({get:()=>pn(e.get()),set:t=>{e.set(mn(t))},addListener:t=>e.addListener(e=>{t(fn(e))})}),gn=()=>{let e=dn(),t;return{get:()=>t,set:n=>{t=n,e.notify(n)},addListener:e.addListener}},_n=(e,t=globalThis.localStorage)=>{let n=dn(),r=`app.rough.feature/sprite/${e}`;return{get:()=>{let e=t.getItem(r);return e===null?void 0:JSON.parse(e)},set:e=>{t.setItem(r,JSON.stringify(e)),n.notify(e)},addListener:n.addListener}},vn=({datastore:e,isMock:t,spriteInstanceId:n,storage:r})=>{if(e)return hn(e);if(t)return gn();if(n)return _n(n,r);throw Error(`SpriteFrame is missing a spriteInstanceId.`)},$=e=>{let t=r.state(!0),n=r.state(void 0),i=r.state(void 0);return r.user_effect(()=>{let a=new AbortController;return e(a.signal).then(e=>{e instanceof Error?(r.set(n,e),r.set(i,void 0)):(r.set(i,e),r.set(n,void 0)),r.set(t,!1)}),()=>{a.abort()}}),{get isLoading(){return r.get(t)},get error(){return r.get(n)},get data(){return r.get(i)}}};$.resolve=e=>({data:e,isLoading:!1,error:void 0});var yn=r.from_html(`<div class="SpriteFrame svelte-ncf2zx"><!></div>`),bn={hash:`svelte-ncf2zx`,code:`.SpriteFrame.svelte-ncf2zx {position:relative;width:100%;flex:1;border:1px solid var(--rough-surface-border, rgba(147, 161, 161, 0.32));background:white;box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.6);min-height:100px;
59
+ }`};function og(e,t){r.push(t,!0),r.append_styles(e,ag);let n=r.prop(t,`active`,15),i=r.prop(t,`tabs`,7),a=r.prop(t,`ariaLabel`,7,`Navigation`),o=e=>{let t=e.key;if(![`ArrowLeft`,`ArrowRight`,`Home`,`End`].includes(t))return;let n=e.currentTarget,r=n.closest(`[role="tablist"]`),i=Array.from(r?.querySelectorAll(`[role="tab"]`)??[]),a=i.indexOf(n);if(a===-1||i.length===0)return;e.preventDefault();let o=t===`Home`?0:t===`End`?i.length-1:t===`ArrowLeft`?(a-1+i.length)%i.length:(a+1)%i.length;i[o]?.focus(),i[o]?.click()};var s={get active(){return n()},set active(e){n(e),r.flush()},get tabs(){return i()},set tabs(e){i(e),r.flush()},get ariaLabel(){return a()},set ariaLabel(e=`Navigation`){a(e),r.flush()}},c=ig(),l=r.child(c);let u;return r.each(l,21,i,e=>e.key,(e,t)=>{var i=rg();let a;var s=r.child(i,!0);r.reset(i),r.template_effect(()=>{a=r.set_class(i,1,`tab svelte-17gs0md`,null,a,{active:n()===r.get(t).key}),r.set_attribute(i,`aria-selected`,n()===r.get(t).key),r.set_attribute(i,`tabindex`,n()===r.get(t).key?0:-1),r.set_text(s,r.get(t).label)}),r.delegated(`click`,i,()=>n(r.get(t).key)),r.delegated(`keydown`,i,o),r.append(e,i)}),r.reset(l),r.reset(c),r.template_effect(()=>{r.set_attribute(c,`aria-label`,a()),r.set_attribute(l,`aria-label`,a()),u=r.set_style(l,``,u,{"--mobile-tab-count":i().length})}),r.append(e,c),r.pop(s)}r.delegate([`click`,`keydown`]),r.create_custom_element(og,{active:{},tabs:{},ariaLabel:{}},[],[],{mode:`open`});var sg=r.from_html(`<button><!></button>`),cg={hash:`svelte-om76s9`,code:`button.svelte-om76s9 {appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;min-height:2.25rem;border:1px solid var(--rough-primary, oklch(0.205 0 0));border-radius:var(--rough-radius-md, 0.375rem);padding:0.5rem 1rem;background:var(--rough-primary, oklch(0.205 0 0));box-shadow:var(--rough-shadow-xs, 0 1px 2px rgb(0 0 0 / 0.05));color:var(--rough-primary-foreground, white);font:inherit;font-size:0.875rem;font-weight:500;line-height:1.25rem;white-space:nowrap;cursor:pointer;transition:background-color 120ms ease, border-color 120ms ease,
60
+ box-shadow 120ms ease, opacity 120ms ease;}button.svelte-om76s9:hover:not(:disabled) {border-color:color-mix(in oklch, var(--rough-primary, oklch(0.205 0 0)) 90%, transparent);background:color-mix(in oklch, var(--rough-primary, oklch(0.205 0 0)) 90%, transparent);}button.svelte-om76s9:focus-visible {border-color:var(--rough-ring, oklch(0.708 0 0));outline:none;box-shadow:0 0 0 3px color-mix(in oklch, var(--rough-ring, oklch(0.708 0 0)) 45%, transparent);}button.svelte-om76s9:disabled {opacity:0.5;cursor:not-allowed;}.block.svelte-om76s9 {display:flex;width:100%;}.iconOnly.svelte-om76s9 {width:2.25rem;min-width:2.25rem;min-height:2.25rem;padding:0;}.alignStart.svelte-om76s9 {justify-content:flex-start;}`};function lg(e,t){r.push(t,!0),r.append_styles(e,cg);let n=r.prop(t,`children`,7),i=r.prop(t,`class`,7,``),a=r.prop(t,`type`,7,`button`),o=r.prop(t,`disabled`,7,!1),s=r.prop(t,`onclick`,7),c=r.prop(t,`role`,7),l=r.prop(t,`block`,7,!1),u=r.prop(t,`iconOnly`,7,!1),d=r.prop(t,`alignStart`,7,!1),f=r.prop(t,`aria-label`,7),p=r.prop(t,`aria-haspopup`,7),m=r.prop(t,`aria-expanded`,7);var h={get children(){return n()},set children(e){n(e),r.flush()},get class(){return i()},set class(e=``){i(e),r.flush()},get type(){return a()},set type(e=`button`){a(e),r.flush()},get disabled(){return o()},set disabled(e=!1){o(e),r.flush()},get onclick(){return s()},set onclick(e){s(e),r.flush()},get role(){return c()},set role(e){c(e),r.flush()},get block(){return l()},set block(e=!1){l(e),r.flush()},get iconOnly(){return u()},set iconOnly(e=!1){u(e),r.flush()},get alignStart(){return d()},set alignStart(e=!1){d(e),r.flush()},get"aria-label"(){return f()},set"aria-label"(e){f(e),r.flush()},get"aria-haspopup"(){return p()},set"aria-haspopup"(e){p(e),r.flush()},get"aria-expanded"(){return m()},set"aria-expanded"(e){m(e),r.flush()}},g=sg();let _;var v=r.child(g);return r.snippet(v,()=>n()??r.noop),r.reset(g),r.template_effect(()=>{r.set_attribute(g,`type`,a()),g.disabled=o(),r.set_attribute(g,`role`,c()),r.set_attribute(g,`aria-label`,f()),r.set_attribute(g,`aria-haspopup`,p()),r.set_attribute(g,`aria-expanded`,m()),_=r.set_class(g,1,r.clsx(i()),`svelte-om76s9`,_,{block:l(),iconOnly:u(),alignStart:d()})}),r.delegated(`click`,g,function(...e){s()?.apply(this,e)}),r.append(e,g),r.pop(h)}r.delegate([`click`]),r.create_custom_element(lg,{children:{},class:{},type:{},disabled:{},onclick:{},role:{},block:{},iconOnly:{},alignStart:{},"aria-label":{},"aria-haspopup":{},"aria-expanded":{}},[],[],{mode:`open`});var ug=(e=window.document.body)=>t=>(e.appendChild(t),t.hidden=!1,()=>{t.parentNode===e&&e.removeChild(t)}),dg=r.from_html(`<dialog class="svelte-1phmmvx"><!></dialog>`),fg={hash:`svelte-1phmmvx`,code:`dialog.svelte-1phmmvx {position:fixed;inset:2rem;width:auto;height:auto;max-width:none;max-height:none;margin:0;border:none;padding:0;background:transparent;}dialog.svelte-1phmmvx::backdrop {background:rgb(0 0 0 / 0.5);}`};function pg(e,t){r.push(t,!0),r.append_styles(e,fg);let n=r.prop(t,`isOpen`,15,!0),i=r.prop(t,`onclose`,7),a=r.prop(t,`oncancel`,7),o=r.prop(t,`children`,7),s=r.state(void 0);r.user_effect(()=>{if(r.get(s)){if(n()&&!r.get(s).open){r.get(s).showModal();return}!n()&&r.get(s).open&&r.get(s).close()}});var c={get isOpen(){return n()},set isOpen(e=!0){n(e),r.flush()},get onclose(){return i()},set onclose(e){i(e),r.flush()},get oncancel(){return a()},set oncancel(e){a(e),r.flush()},get children(){return o()},set children(e){o(e),r.flush()}},l=dg(),u=r.child(l);return r.snippet(u,()=>o()??r.noop),r.reset(l),r.bind_this(l,e=>r.set(s,e),()=>r.get(s)),r.attach(l,ug),r.event(`close`,l,()=>{n(!1),i()?.()}),r.event(`cancel`,l,function(...e){a()?.apply(this,e)}),r.append(e,l),r.pop(c)}r.create_custom_element(pg,{isOpen:{},onclose:{},oncancel:{},children:{}},[],[],{mode:`open`});var mg=r.from_html(`<button><!></button>`),hg={hash:`svelte-1yyy6r1`,code:`button.svelte-1yyy6r1 {appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;min-height:2.25rem;border:1px solid transparent;border-radius:var(--rough-radius-md, 0.375rem);padding:0.5rem 1rem;background:var(--rough-secondary, oklch(0.97 0 0));box-shadow:var(--rough-shadow-xs, 0 1px 2px rgb(0 0 0 / 0.05));color:var(--rough-secondary-foreground, oklch(0.205 0 0));font:inherit;font-size:0.875rem;font-weight:500;line-height:1.25rem;white-space:nowrap;cursor:pointer;transition:background-color 120ms ease, border-color 120ms ease,
61
+ box-shadow 120ms ease, opacity 120ms ease;}button.svelte-1yyy6r1:hover:not(:disabled) {background:color-mix(in oklch, var(--rough-secondary, oklch(0.97 0 0)) 80%, var(--rough-foreground, black));}button.svelte-1yyy6r1:focus-visible {border-color:var(--rough-ring, oklch(0.708 0 0));outline:none;box-shadow:0 0 0 3px color-mix(in oklch, var(--rough-ring, oklch(0.708 0 0)) 45%, transparent);}button.svelte-1yyy6r1:disabled {opacity:0.5;cursor:not-allowed;}.block.svelte-1yyy6r1 {display:flex;width:100%;}.iconOnly.svelte-1yyy6r1 {width:2.25rem;min-width:2.25rem;min-height:2.25rem;padding:0;}.alignStart.svelte-1yyy6r1 {justify-content:flex-start;}`};function gg(e,t){r.push(t,!0),r.append_styles(e,hg);let n=r.prop(t,`children`,7),i=r.prop(t,`class`,7,``),a=r.prop(t,`type`,7,`button`),o=r.prop(t,`disabled`,7,!1),s=r.prop(t,`onclick`,7),c=r.prop(t,`role`,7),l=r.prop(t,`block`,7,!1),u=r.prop(t,`iconOnly`,7,!1),d=r.prop(t,`alignStart`,7,!1),f=r.prop(t,`aria-label`,7),p=r.prop(t,`aria-haspopup`,7),m=r.prop(t,`aria-expanded`,7);var h={get children(){return n()},set children(e){n(e),r.flush()},get class(){return i()},set class(e=``){i(e),r.flush()},get type(){return a()},set type(e=`button`){a(e),r.flush()},get disabled(){return o()},set disabled(e=!1){o(e),r.flush()},get onclick(){return s()},set onclick(e){s(e),r.flush()},get role(){return c()},set role(e){c(e),r.flush()},get block(){return l()},set block(e=!1){l(e),r.flush()},get iconOnly(){return u()},set iconOnly(e=!1){u(e),r.flush()},get alignStart(){return d()},set alignStart(e=!1){d(e),r.flush()},get"aria-label"(){return f()},set"aria-label"(e){f(e),r.flush()},get"aria-haspopup"(){return p()},set"aria-haspopup"(e){p(e),r.flush()},get"aria-expanded"(){return m()},set"aria-expanded"(e){m(e),r.flush()}},g=mg();let _;var v=r.child(g);return r.snippet(v,()=>n()??r.noop),r.reset(g),r.template_effect(()=>{r.set_attribute(g,`type`,a()),g.disabled=o(),r.set_attribute(g,`role`,c()),r.set_attribute(g,`aria-label`,f()),r.set_attribute(g,`aria-haspopup`,p()),r.set_attribute(g,`aria-expanded`,m()),_=r.set_class(g,1,r.clsx(i()),`svelte-1yyy6r1`,_,{block:l(),iconOnly:u(),alignStart:d()})}),r.delegated(`click`,g,function(...e){s()?.apply(this,e)}),r.append(e,g),r.pop(h)}r.delegate([`click`]),r.create_custom_element(gg,{children:{},class:{},type:{},disabled:{},onclick:{},role:{},block:{},iconOnly:{},alignStart:{},"aria-label":{},"aria-haspopup":{},"aria-expanded":{}},[],[],{mode:`open`});var _g=`2.0.0`,vg=`app.rough.frame.server.port`,yg=(e,t)=>!!e&&typeof e==`object`&&`type`in e&&e.type===t&&`version`in e&&typeof e.version==`string`,bg=class{serverWindow;getClientWindow;clientOrigin;createSession;createMessageChannel;session;listening=!1;constructor(e){this.serverWindow=e.serverWindow,this.getClientWindow=e.getClientWindow,this.clientOrigin=e.clientOrigin,this.createSession=e.createSession,this.createMessageChannel=e.createMessageChannel??(()=>new MessageChannel)}start(){this.listening||=(this.serverWindow.addEventListener(`message`,this.onMessage),!0)}stop(){this.listening&&(this.serverWindow.removeEventListener(`message`,this.onMessage),this.listening=!1,this.disposeSession())}onMessage=e=>{if(this.clientOrigin!==`*`&&e.origin!==this.clientOrigin){console.warn(`ignoring message from unexpected origin: "${e.origin}"`);return}if(!yg(e.data,`app.rough.frame.client.ready`)){console.warn(`ignoring message with unexpected type: "${e.data.type}"`);return}let t=this.getClientWindow();if(!t||e.source!==t){console.warn(`ignoring message from unexpected source`);return}let n=this.createMessageChannel();this.disposeSession(),this.session=this.createSession(n.port1),t.postMessage({type:vg,version:_g},{targetOrigin:this.clientOrigin,transfer:[n.port2]})};disposeSession(){this.session&&=(this.session[Symbol.dispose]?.(),void 0)}},xg=[{},{}],Sg=e=>{let{store:t,iframeElement:n,onReportSize:r,getBridgeMethodDefinitions:i}=e;return{_internal:{reportSize(e){n&&(n.style.minHeight=`${e.height}px`),r?.(e)},getBridgeMethodDefinitions(){return i?.()??[]},state:{get(){return t.get()??xg},set(e){t.set(e)},addListener(e){let n=e.dup(),r=t.addListener(n);return()=>{r(),n[Symbol.dispose]()}}}}}},Cg=class{containerElement;channelServer;iframeSrc;iframeElement;constructor(e){let{iframe:t,serverWindow:n=globalThis.window,clientOrigin:r=`*`,getTools:i,getBridgeMethodDefinitions:a,store:o}=e,s;if(`contentWindow`in t)this.iframeElement=void 0,s=()=>t.contentWindow;else{let{containerElement:e,src:n,title:r,allow:i=[`fullscreen`,`camera`,`microphone`]}=t;this.containerElement=e,this.iframeElement=document.createElement(`iframe`),this.iframeSrc=n,this.iframeElement.width=`100%`,this.iframeElement.title=r,this.iframeElement.allow=i.join(`; `),this.iframeElement.style=`border: none;`,e.appendChild(this.iframeElement),s=()=>this.iframeElement?.contentWindow??void 0}let c=Sg({store:o,iframeElement:this.iframeElement,onReportSize:t.onReportSize,getBridgeMethodDefinitions:a});this.channelServer=new bg({getClientWindow:s,serverWindow:n,clientOrigin:r,createSession:e=>{let t=i();return d(e,{...t,...c})}})}start(){this.channelServer.start(),this.iframeElement&&this.iframeSrc!==void 0&&(this.iframeElement.src=this.iframeSrc,this.iframeSrc=void 0)}stop(){this.channelServer.stop(),this.containerElement&&this.iframeElement&&(this.containerElement.removeChild(this.iframeElement),this.iframeElement=void 0)}},wg=r.from_html(`<div><!></div>`);function Tg(e,t){r.push(t,!0);let n=r.prop(t,`handle`,7),i=r.prop(t,`children`,7),a=r.prop(t,`class`,7,``),o,s=r.derived(()=>[n().class,a()].filter(Boolean).join(` `));c(()=>{o&&n().destroy(o)});var l={get handle(){return n()},set handle(e){n(e),r.flush()},get children(){return i()},set children(e){i(e),r.flush()},get class(){return a()},set class(e=``){a(e),r.flush()}},u=wg(),d=r.child(u);return r.snippet(d,()=>i()??r.noop),r.reset(u),r.bind_this(u,e=>o=e,()=>o),r.template_effect(()=>{r.set_class(u,1,r.clsx(r.get(s))),r.set_attribute(u,`role`,n().role),r.set_attribute(u,`aria-orientation`,n()[`aria-orientation`]),r.set_attribute(u,`aria-label`,n()[`aria-label`]),r.set_attribute(u,`title`,n().title)}),r.delegated(`pointerdown`,u,function(...e){n().onpointerdown?.apply(this,e)}),r.delegated(`pointermove`,u,function(...e){n().onpointermove?.apply(this,e)}),r.delegated(`pointerup`,u,function(...e){n().onpointerup?.apply(this,e)}),r.event(`pointercancel`,u,function(...e){n().onpointercancel?.apply(this,e)}),r.delegated(`dblclick`,u,function(...e){n().ondblclick?.apply(this,e)}),r.append(e,u),r.pop(l)}r.delegate([`pointerdown`,`pointermove`,`pointerup`,`dblclick`]),r.create_custom_element(Tg,{handle:{},children:{},class:{}},[],[],{mode:`open`});var Eg=e=>e.minHeight??100,Dg=e=>e.maxHeight??2e3,Og=(e,t)=>Math.min(Dg(t),Math.max(Eg(t),Math.round(e))),kg={resized:`Resizable--resized`,handle:`Resizable__resize-handle`},Ag={triggerPx:60,maxSpeedPx:16},jg=e=>{let t,n=0,r=()=>{t=void 0,!(!e.isActive()||n===0)&&(e.scrollBy(n),e.onScroll(),t=requestAnimationFrame(r))},i=e=>{n=e,t===void 0&&(t=requestAnimationFrame(r))},a=()=>{t!==void 0&&(cancelAnimationFrame(t),t=void 0),n=0};return{stop:a,updateForPointer:t=>{let n=e.getViewport(),r=n.bottom-t,o=t-n.top;if(r<Ag.triggerPx){let e=Math.min(1,1-r/Ag.triggerPx);i(Math.max(1,Math.round(Ag.maxSpeedPx*e)))}else o<=0?i(-Ag.maxSpeedPx):a()}}},Mg=()=>{let e=document.documentElement,t=document.body;return Math.max(e.clientHeight,t?.offsetHeight??0,t?.scrollHeight??0)},Ng=()=>{let e,t,n=()=>{t!==void 0&&(cancelAnimationFrame(t),t=void 0)};return{lock:()=>{n();let t=document.documentElement;e={previous:e?.previous??t.style.minHeight,element:t},t.style.minHeight=`${t.scrollHeight}px`},growToContent:()=>{if(!e)return;let t=e.element,n=Number.parseFloat(t.style.minHeight),r=Math.max(Number.isFinite(n)?n:0,t.scrollHeight);t.style.minHeight=`${r}px`},release:(r=!0)=>{if(n(),!e)return;let i=e,a=i.element,o=a.scrollHeight,s=Number.parseFloat(i.previous),c=Math.max(Mg(),Number.isFinite(s)?s:0);if(!r||c>=o){a.style.minHeight=i.previous,e=void 0;return}let l=performance.now(),u=n=>{let r=Math.min(1,(n-l)/180),s=1-(1-r)**3;if(a.style.minHeight=`${o+(c-o)*s}px`,r<1){t=requestAnimationFrame(u);return}a.style.minHeight=i.previous,e=void 0,t=void 0};t=requestAnimationFrame(u)}}},Pg=e=>{let t=e.parentElement;for(;t&&t!==document.body&&t!==document.documentElement;){let e=window.getComputedStyle(t);if((e.overflowY===`auto`||e.overflowY===`scroll`)&&t.scrollHeight>t.clientHeight)return t;t=t.parentElement}},Fg=e=>({...kg,...e.classNames}),Ig=(e={})=>{let t,n,r,i,a=Ng(),o=n=>{if(t)if(i&&=(t.classList.remove(i),void 0),typeof n==`number`){let r=Fg(e);t.style.height=`${n}px`,t.classList.add(r.resized),i=r.resized}else t.style.removeProperty(`height`)},s=()=>{if(n?.scrollTarget){let e=n.scrollTarget.getBoundingClientRect();return{top:e.top,bottom:e.bottom}}return{top:0,bottom:window.innerHeight}},c=e=>{e!==0&&(n?.scrollTarget?n.scrollTarget.scrollTop+=e:window.scrollBy({top:e,left:0,behavior:`instant`}))},l=()=>{if(!n||!t)return;let r=t.getBoundingClientRect(),i=n.lastClientY-n.grabOffset;o(Og(i-r.top,e)),a.growToContent()},u=jg({getViewport:s,isActive:()=>n!==void 0,scrollBy:c,onScroll:l}),d=(e=!0)=>{n=void 0,r=void 0,u.stop(),a.release(e)},f=i=>{if(!t||i.button!==0&&i.pointerType===`mouse`)return;i.preventDefault();let s=i.currentTarget,c=t.getBoundingClientRect();n={pointerId:i.pointerId,grabOffset:i.clientY-c.bottom,lastClientY:i.clientY,scrollTarget:Pg(t)},r=s,o(Og(c.height,e)),a.lock(),s.setPointerCapture(i.pointerId)},p=e=>{n?.pointerId===e.pointerId&&(n.lastClientY=e.clientY,l(),u.updateForPointer(e.clientY))},m=r=>{if(n?.pointerId!==r.pointerId)return;let i=r.currentTarget;if(d(),i.hasPointerCapture(r.pointerId)&&i.releasePointerCapture(r.pointerId),!t)return;let a=Number.parseFloat(t.style.height);Number.isFinite(a)&&e.heightStore?.set(a)},h=()=>{e.heightStore?.clear(),o(void 0)},g=e=>{r===e&&d(!1)},_=i=>(t=i,o(e.heightStore?.get()),()=>{u.stop(),a.release(!1),o(void 0),n=void 0,r=void 0,t=void 0});return _.handle=()=>({class:Fg(e).handle,role:`separator`,"aria-orientation":`horizontal`,"aria-label":e.label??`Resize`,title:e.title??`Drag to resize, double-click to reset`,onpointerdown:f,onpointermove:p,onpointerup:m,onpointercancel:m,ondblclick:h,destroy:g}),_},Lg=()=>{let e=new Set;return{addListener(t){return e.add(t),()=>{e.delete(t)}},notify(t){for(let n of e)n(t)}}},Rg=e=>e,zg=e=>e,Bg=e=>e,Vg=e=>({get:()=>zg(e.get()),set:t=>{e.set(Bg(t))},addListener:t=>e.addListener(e=>{t(Rg(e))})}),Hg=()=>{let e=Lg(),t;return{get:()=>t,set:n=>{t=n,e.notify(n)},addListener:e.addListener}},Ug=(e,t=globalThis.localStorage)=>{let n=Lg(),r=`app.rough.feature/sprite/${e}`;return{get:()=>{let e=t.getItem(r);return e===null?void 0:JSON.parse(e)},set:e=>{t.setItem(r,JSON.stringify(e)),n.notify(e)},addListener:n.addListener}},Wg=({datastore:e,isMock:t,spriteInstanceId:n,storage:r})=>{if(e)return Vg(e);if(t)return Hg();if(n)return Ug(n,r);throw Error(`SpriteFrame is missing a spriteInstanceId.`)},Gg=r.from_html(`<div class="SpriteFrame svelte-ncf2zx"><!></div>`),Kg={hash:`svelte-ncf2zx`,code:`.SpriteFrame.svelte-ncf2zx {position:relative;flex:1;width:100%;min-height:100px;border:1px solid var(--rough-border, oklch(0.922 0 0));border-radius:var(--rough-radius-lg, 0.625rem);overflow-y:auto;background:var(--rough-background, white);box-shadow:var(--rough-shadow-xs, 0 1px 2px rgb(0 0 0 / 0.05));
54
62
  /* The frame's iframe sets its own min-height from reportSize, so tall
55
63
  content would push past the bounded preview viewport and clip at the
56
- modal. Scroll inside the frame instead. */overflow-y:auto;}.SpriteFrame.svelte-ncf2zx.Resizable--resized {flex:none;overflow:hidden;}.SpriteFrame.svelte-ncf2zx.Resizable--resized iframe {height:100%;min-height:0 !important;}.SpriteFrame.svelte-ncf2zx .Resizable__resize-handle {position:absolute;left:0;right:0;bottom:0;height:8px;cursor:ns-resize;touch-action:none;z-index:1;}.SpriteFrame.svelte-ncf2zx .Resizable__resize-handle::after {content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--rough-surface-border, rgba(147, 161, 161, 0.32));transition:height 120ms ease, background-color 120ms ease;}.SpriteFrame.svelte-ncf2zx .Resizable__resize-handle:hover::after,
57
- .SpriteFrame.svelte-ncf2zx .Resizable__resize-handle:active::after {height:4px;background:var(--rough-accent, rgba(60, 90, 220, 0.55));}`};function xn(e,t){r.push(t,!0),r.append_styles(e,bn);let n=r.prop(t,`spriteId`,7),i=r.prop(t,`spriteBuildId`,7),a=r.prop(t,`artifactUrl`,7),o=r.prop(t,`toolList`,7),s=r.prop(t,`datastore`,7),c=r.prop(t,`isMock`,7),l=r.prop(t,`spriteInstanceId`,7),u=r.prop(t,`minHeight`,7,100),d=r.prop(t,`maxHeight`,7,2e3),f=$(e=>pe({spriteId:n(),spriteBuildId:i(),signal:e})),h=r.derived(()=>typeof a()==`string`?a():f.data?.artifactUrl??void 0),g=r.state(void 0),_=r.derived(()=>s()?vn({datastore:s(),spriteInstanceId:void 0}):void 0),v=r.derived(()=>vn({isMock:c(),spriteInstanceId:l()})),y=r.derived(()=>r.get(_)??r.get(v)),b=e=>{if(!e||c()){let e;return{get:()=>e,set:t=>{e=t},clear:()=>{e=void 0}}}let t=`app.rough.feature/sprite/${e}/height`;return{get:()=>{let e=localStorage.getItem(t);if(e!==null)try{let t=JSON.parse(e);return typeof t?.height==`number`?t.height:void 0}catch{return}},set:e=>{localStorage.setItem(t,JSON.stringify({height:e}))},clear:()=>{localStorage.removeItem(t)}}},x=r.derived(()=>b(l())),S=un({get minHeight(){return u()},get maxHeight(){return d()},get heightStore(){return r.get(x)},label:`Resize Rough feature`,title:`Drag to resize, double-click to reset`});r.user_effect(()=>{if(!r.get(h)||!r.get(g))return;let e=new Xt({iframe:{containerElement:r.get(g),src:r.get(h),title:`Sprite Frame`},getTools:()=>c()?m(o()):p(o()),getBridgeMethodDefinitions:()=>o().map(e=>e.toJSON()),store:r.get(y)});return e.start(),()=>{e.stop()}});var C={get spriteId(){return n()},set spriteId(e){n(e),r.flush()},get spriteBuildId(){return i()},set spriteBuildId(e){i(e),r.flush()},get artifactUrl(){return a()},set artifactUrl(e){a(e),r.flush()},get toolList(){return o()},set toolList(e){o(e),r.flush()},get datastore(){return s()},set datastore(e){s(e),r.flush()},get isMock(){return c()},set isMock(e){c(e),r.flush()},get spriteInstanceId(){return l()},set spriteInstanceId(e){l(e),r.flush()},get minHeight(){return u()},set minHeight(e=100){u(e),r.flush()},get maxHeight(){return d()},set maxHeight(e=2e3){d(e),r.flush()}},w=yn(),ee=r.child(w);{let e=r.derived(()=>S.handle());Qt(ee,{get handle(){return r.get(e)}})}return r.reset(w),r.bind_this(w,e=>r.set(g,e),()=>r.get(g)),r.attach(w,()=>S),r.append(e,w),r.pop(C)}r.create_custom_element(xn,{spriteId:{},spriteBuildId:{},artifactUrl:{},toolList:{},datastore:{},isMock:{},spriteInstanceId:{},minHeight:{},maxHeight:{}},[],[],{mode:`open`});var Sn=r.from_html(`<button type="button" role="tab"> </button>`),Cn=r.from_html(`<div class="TabBar svelte-1jp57o0" role="tablist"></div>`),wn={hash:`svelte-1jp57o0`,code:`.TabBar.svelte-1jp57o0 {display:flex;flex-shrink:0;border-bottom:1px solid var(--rough-surface-border);}.tab.svelte-1jp57o0 {padding:0.45rem 0.9rem;font:inherit;font-size:0.85rem;color:var(--base01);background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;transition:color 120ms ease, border-color 120ms ease, box-shadow 120ms ease,
58
- background-color 120ms ease;&:hover:not(:disabled) {color:var(--base02);}&.active {color:var(--rough-accent);border-bottom-color:var(--rough-accent);font-weight:600;}&:focus-visible {outline:none;background:color-mix(in srgb, var(--rough-accent) 8%, white);box-shadow:inset 0 0 0 2px var(--rough-accent);}&:disabled {cursor:not-allowed;opacity:0.5;}}`};function Tn(e,t){r.push(t,!0),r.append_styles(e,wn);let n=r.prop(t,`active`,15),i=r.prop(t,`tabs`,7),a=e=>{e.disabled||n(e.key)},o=e=>{let t=e.key;if(![`ArrowLeft`,`ArrowRight`,`Home`,`End`].includes(t))return;let n=e.currentTarget,r=n.closest(`[role="tablist"]`),i=Array.from(r?.querySelectorAll(`[role="tab"]:not(:disabled)`)??[]),a=i.indexOf(n);if(a===-1||i.length===0)return;e.preventDefault();let o=t===`Home`?0:t===`End`?i.length-1:t===`ArrowLeft`?(a-1+i.length)%i.length:(a+1)%i.length;i[o]?.focus(),i[o]?.click()};var s={get active(){return n()},set active(e){n(e),r.flush()},get tabs(){return i()},set tabs(e){i(e),r.flush()}},c=Cn();return r.each(c,21,i,e=>e.key,(e,t)=>{var i=Sn();let s;var c=r.child(i,!0);r.reset(i),r.template_effect(()=>{s=r.set_class(i,1,`tab svelte-1jp57o0`,null,s,{active:n()===r.get(t).key}),r.set_attribute(i,`aria-selected`,n()===r.get(t).key),r.set_attribute(i,`tabindex`,n()===r.get(t).key?0:-1),i.disabled=r.get(t).disabled,r.set_text(c,r.get(t).label)}),r.delegated(`click`,i,()=>a(r.get(t))),r.delegated(`keydown`,i,o),r.append(e,i)}),r.reset(c),r.append(e,c),r.pop(s)}r.delegate([`click`,`keydown`]),r.create_custom_element(Tn,{active:{},tabs:{}},[],[],{mode:`open`});var En=r.from_html(`<div role="tabpanel"><!></div>`),Dn={hash:`svelte-1ermak1`,code:`.TabPanel.svelte-1ermak1 {display:none;min-width:0;min-height:0;}.TabPanel.isActive.svelte-1ermak1 {display:flex;flex:1;flex-direction:column;}`};function On(e,t){r.push(t,!0),r.append_styles(e,Dn);let n=r.prop(t,`isActive`,7),i=r.prop(t,`children`,7),a=r.prop(t,`class`,7,``);var o={get isActive(){return n()},set isActive(e){n(e),r.flush()},get children(){return i()},set children(e){i(e),r.flush()},get class(){return a()},set class(e=``){a(e),r.flush()}},s=En();let c;var l=r.child(s);return r.snippet(l,()=>i()??r.noop),r.reset(s),r.template_effect(()=>{c=r.set_class(s,1,`TabPanel ${a()}`,`svelte-1ermak1`,c,{isActive:n()}),r.set_attribute(s,`aria-hidden`,!n()),s.inert=!n()}),r.append(e,s),r.pop(o)}r.create_custom_element(On,{isActive:{},children:{},class:{}},[],[],{mode:`open`});var kn=new Set([`$$slots`,`$$events`,`$$legacy`,`$$host`]);function An(e,t){let n=r.rest_props(t,kn),i=[[`path`,{d:`m6 9 6 6 6-6`}]];Ie(e,r.spread_props({name:`chevron-down`},()=>n,{get iconNode(){return i}}))}r.create_custom_element(An,{},[],[],{mode:`open`});var jn=r.from_html(`<div class="preview svelte-khztz9"><!></div>`),Mn=r.from_html(`<details class="Accordion svelte-khztz9"><summary class="svelte-khztz9"><header class="svelte-khztz9"><span class="heading svelte-khztz9"><!></span> <span class="chevron svelte-khztz9"><!></span></header> <!></summary> <!></details>`),Nn={hash:`svelte-khztz9`,code:`.Accordion.svelte-khztz9 {box-sizing:border-box;width:100%;max-width:420px;display:flex;flex-direction:column;gap:0.4rem;border:1px solid var(--rough-surface-border, rgba(147, 161, 161, 0.32));padding:0.75rem 0.85rem;&[open] {
64
+ modal. Scroll inside the frame instead. */}.SpriteFrame.svelte-ncf2zx.Resizable--resized {flex:none;overflow:hidden;}.SpriteFrame.svelte-ncf2zx.Resizable--resized iframe {height:100%;min-height:0 !important;}.SpriteFrame.svelte-ncf2zx .Resizable__resize-handle {position:absolute;right:0;bottom:0;left:0;z-index:1;height:10px;cursor:ns-resize;touch-action:none;}.SpriteFrame.svelte-ncf2zx .Resizable__resize-handle::after {content:'';position:absolute;bottom:3px;left:50%;width:3rem;height:3px;border-radius:999px;background:var(--rough-border, oklch(0.922 0 0));transform:translateX(-50%);transition:background-color 120ms ease, height 120ms ease;}.SpriteFrame.svelte-ncf2zx .Resizable__resize-handle:hover::after,
65
+ .SpriteFrame.svelte-ncf2zx .Resizable__resize-handle:active::after {height:4px;background:var(--rough-ring, oklch(0.708 0 0));}`};function qg(e,t){r.push(t,!0),r.append_styles(e,Kg);let n=r.prop(t,`spriteBuildId`,7),i=r.prop(t,`artifactUrl`,7),a=r.prop(t,`toolList`,7),o=r.prop(t,`datastore`,7),s=r.prop(t,`isMock`,7),c=r.prop(t,`spriteInstanceId`,7),l=r.prop(t,`minHeight`,7,100),u=r.prop(t,`maxHeight`,7,2e3),d=r.derived(()=>$(Q.spriteBuild.get(n()))),f=r.derived(()=>r.get(d)._),p=r.derived(()=>typeof i()==`string`?i():r.get(f)?.artifactUrl??void 0),m=r.state(void 0),h=r.derived(()=>Wg({datastore:o(),isMock:s(),spriteInstanceId:c()})),g=e=>{if(!e||s()){let e;return{get:()=>e,set:t=>{e=t},clear:()=>{e=void 0}}}let t=`app.rough.feature/sprite/${e}/height`;return{get:()=>{let e=localStorage.getItem(t);if(e!==null)try{let t=JSON.parse(e);return typeof t?.height==`number`?t.height:void 0}catch{return}},set:e=>{localStorage.setItem(t,JSON.stringify({height:e}))},clear:()=>{localStorage.removeItem(t)}}},_=r.derived(()=>g(c())),v=Ig({get minHeight(){return l()},get maxHeight(){return u()},get heightStore(){return r.get(_)},label:`Resize Rough feature`,title:`Drag to resize, double-click to reset`});r.user_effect(()=>{if(!r.get(p)||!r.get(m))return;let e=new Cg({iframe:{containerElement:r.get(m),src:r.get(p),title:`Sprite Frame`},getTools:()=>s()?re(a()):ne(a()),getBridgeMethodDefinitions:()=>a().map(e=>e.toJSON()),store:r.get(h)});return e.start(),()=>{e.stop()}});var y={get spriteBuildId(){return n()},set spriteBuildId(e){n(e),r.flush()},get artifactUrl(){return i()},set artifactUrl(e){i(e),r.flush()},get toolList(){return a()},set toolList(e){a(e),r.flush()},get datastore(){return o()},set datastore(e){o(e),r.flush()},get isMock(){return s()},set isMock(e){s(e),r.flush()},get spriteInstanceId(){return c()},set spriteInstanceId(e){c(e),r.flush()},get minHeight(){return l()},set minHeight(e=100){l(e),r.flush()},get maxHeight(){return u()},set maxHeight(e=2e3){u(e),r.flush()}},b=Gg(),ee=r.child(b);{let e=r.derived(()=>v.handle());Tg(ee,{get handle(){return r.get(e)}})}return r.reset(b),r.bind_this(b,e=>r.set(m,e),()=>r.get(m)),r.attach(b,()=>v),r.append(e,b),r.pop(y)}r.create_custom_element(qg,{spriteBuildId:{},artifactUrl:{},toolList:{},datastore:{},isMock:{},spriteInstanceId:{},minHeight:{},maxHeight:{}},[],[],{mode:`open`});var Jg=r.from_html(`<button type="button" role="tab"> </button>`),Yg=r.from_html(`<div class="TabBar svelte-1jp57o0" role="tablist"></div>`),Xg={hash:`svelte-1jp57o0`,code:`.TabBar.svelte-1jp57o0 {display:inline-flex;align-items:center;justify-content:center;gap:0.125rem;flex-shrink:0;width:fit-content;margin:0.75rem;border-radius:var(--rough-radius-lg, 0.625rem);padding:0.1875rem;background:var(--rough-muted, oklch(0.97 0 0));color:var(--rough-muted-foreground, oklch(0.556 0 0));}.tab.svelte-1jp57o0 {appearance:none;height:2rem;border:1px solid transparent;border-radius:var(--rough-radius-md, 0.375rem);padding:0.25rem 0.75rem;background:transparent;color:inherit;font:inherit;font-size:0.875rem;font-weight:500;white-space:nowrap;cursor:pointer;transition:color 120ms ease, background-color 120ms ease,
66
+ border-color 120ms ease, box-shadow 120ms ease;}.tab.svelte-1jp57o0:hover:not(:disabled) {color:var(--rough-foreground, oklch(0.145 0 0));}.tab.active.svelte-1jp57o0 {border-color:var(--rough-border, oklch(0.922 0 0));background:var(--rough-background, white);box-shadow:var(--rough-shadow-xs, 0 1px 2px rgb(0 0 0 / 0.05));color:var(--rough-foreground, oklch(0.145 0 0));}.tab.svelte-1jp57o0:focus-visible {border-color:var(--rough-ring, oklch(0.708 0 0));outline:none;box-shadow:0 0 0 3px color-mix(in oklch, var(--rough-ring, oklch(0.708 0 0)) 45%, transparent);}.tab.svelte-1jp57o0:disabled {opacity:0.5;cursor:not-allowed;}`};function Zg(e,t){r.push(t,!0),r.append_styles(e,Xg);let n=r.prop(t,`active`,15),i=r.prop(t,`tabs`,7),a=e=>{e.disabled||n(e.key)},o=e=>{let t=e.key;if(![`ArrowLeft`,`ArrowRight`,`Home`,`End`].includes(t))return;let n=e.currentTarget,r=n.closest(`[role="tablist"]`),i=Array.from(r?.querySelectorAll(`[role="tab"]:not(:disabled)`)??[]),a=i.indexOf(n);if(a===-1||i.length===0)return;e.preventDefault();let o=t===`Home`?0:t===`End`?i.length-1:t===`ArrowLeft`?(a-1+i.length)%i.length:(a+1)%i.length;i[o]?.focus(),i[o]?.click()};var s={get active(){return n()},set active(e){n(e),r.flush()},get tabs(){return i()},set tabs(e){i(e),r.flush()}},c=Yg();return r.each(c,21,i,e=>e.key,(e,t)=>{var i=Jg();let s;var c=r.child(i,!0);r.reset(i),r.template_effect(()=>{s=r.set_class(i,1,`tab svelte-1jp57o0`,null,s,{active:n()===r.get(t).key}),r.set_attribute(i,`aria-selected`,n()===r.get(t).key),r.set_attribute(i,`tabindex`,n()===r.get(t).key?0:-1),i.disabled=r.get(t).disabled,r.set_text(c,r.get(t).label)}),r.delegated(`click`,i,()=>a(r.get(t))),r.delegated(`keydown`,i,o),r.append(e,i)}),r.reset(c),r.append(e,c),r.pop(s)}r.delegate([`click`,`keydown`]),r.create_custom_element(Zg,{active:{},tabs:{}},[],[],{mode:`open`});var Qg=r.from_html(`<div role="tabpanel"><!></div>`),$g={hash:`svelte-1ermak1`,code:`.TabPanel.svelte-1ermak1 {display:none;min-width:0;min-height:0;}.TabPanel.isActive.svelte-1ermak1 {display:flex;flex:1;flex-direction:column;}`};function e_(e,t){r.push(t,!0),r.append_styles(e,$g);let n=r.prop(t,`isActive`,7),i=r.prop(t,`children`,7),a=r.prop(t,`class`,7,``);var o={get isActive(){return n()},set isActive(e){n(e),r.flush()},get children(){return i()},set children(e){i(e),r.flush()},get class(){return a()},set class(e=``){a(e),r.flush()}},s=Qg();let c;var l=r.child(s);return r.snippet(l,()=>i()??r.noop),r.reset(s),r.template_effect(()=>{c=r.set_class(s,1,`TabPanel ${a()}`,`svelte-1ermak1`,c,{isActive:n()}),r.set_attribute(s,`aria-hidden`,!n()),s.inert=!n()}),r.append(e,s),r.pop(o)}r.create_custom_element(e_,{isActive:{},children:{},class:{}},[],[],{mode:`open`});var t_=new Set([`$$slots`,`$$events`,`$$legacy`,`$$host`]);function n_(e,t){let n=r.rest_props(t,t_),i=[[`path`,{d:`m6 9 6 6 6-6`}]];ih(e,r.spread_props({name:`chevron-down`},()=>n,{get iconNode(){return i}}))}r.create_custom_element(n_,{},[],[],{mode:`open`});var r_=r.from_html(`<div class="preview svelte-khztz9"><!></div>`),i_=r.from_html(`<details class="Accordion svelte-khztz9"><summary class="svelte-khztz9"><header class="svelte-khztz9"><span class="heading svelte-khztz9"><!></span> <span class="chevron svelte-khztz9"><!></span></header> <!></summary> <!></details>`),a_={hash:`svelte-khztz9`,code:`.Accordion.svelte-khztz9 {display:flex;gap:0.5rem;flex-direction:column;box-sizing:border-box;width:100%;max-width:420px;border:1px solid var(--rough-border, oklch(0.922 0 0));border-radius:var(--rough-radius-lg, 0.625rem);padding:0.75rem 0.85rem;background:var(--rough-card, white);box-shadow:var(--rough-shadow-xs, 0 1px 2px rgb(0 0 0 / 0.05));&[open] {
59
67
  /* note: we must use strict descendant selectors here */
60
- /* otherwise nested Accordions will not be displayed correctly */> summary:where(.svelte-khztz9) > header:where(.svelte-khztz9) > .chevron:where(.svelte-khztz9) {transform:rotate(0deg);}> summary:where(.svelte-khztz9) > .preview:where(.svelte-khztz9) {display:none;}}}summary.svelte-khztz9 {display:flex;flex-direction:column;}header.svelte-khztz9 {display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;padding:0.1rem 0;cursor:pointer;font:inherit;gap:0.5rem;text-align:left;}.heading.svelte-khztz9 {font-size:0.72rem;font-weight:600;text-transform:uppercase;letter-spacing:0.07em;color:var(--base01, #586e75);}.chevron.svelte-khztz9 {color:var(--base1, #93a1a1);flex-shrink:0;transition:transform 150ms ease;transform:rotate(-90deg);}.preview.svelte-khztz9 {margin:0;font-size:0.8rem;color:var(--base01, #586e75);padding:0 0.1rem;}`};function Pn(e,t){r.push(t,!0),r.append_styles(e,Nn);let n=r.prop(t,`heading`,7),i=r.prop(t,`preview`,7),a=r.prop(t,`children`,7);var o={get heading(){return n()},set heading(e){n(e),r.flush()},get preview(){return i()},set preview(e){i(e),r.flush()},get children(){return a()},set children(e){a(e),r.flush()}},s=Mn(),c=r.child(s),l=r.child(c),u=r.child(l),d=r.child(u),f=e=>{var t=r.text();r.template_effect(()=>r.set_text(t,n())),r.append(e,t)},p=e=>{var t=r.comment(),i=r.first_child(t);r.snippet(i,n),r.append(e,t)};r.if(d,e=>{typeof n()==`string`?e(f):e(p,-1)}),r.reset(u);var m=r.sibling(u,2);An(r.child(m),{size:14}),r.reset(m),r.reset(l);var h=r.sibling(l,2),g=e=>{var t=jn(),n=r.child(t);r.snippet(n,i),r.reset(t),r.append(e,t)};r.if(h,e=>{i()&&e(g)}),r.reset(c);var _=r.sibling(c,2);return r.snippet(_,()=>a()??r.noop),r.reset(s),r.append(e,s),r.pop(o)}r.create_custom_element(Pn,{heading:{},preview:{},children:{}},[],[],{mode:`open`});var Fn=r.from_html(`<andypf-json-viewer></andypf-json-viewer>`,2);function In(e,t){r.push(t,!0);let n=r.prop(t,`value`,7);var i={get value(){return n()},set value(e){n(e),r.flush()}},a=Fn();return r.template_effect(()=>r.set_custom_element_data(a,`data`,n())),r.set_custom_element_data(a,`expanded`,2),r.set_custom_element_data(a,`indent`,2),r.set_custom_element_data(a,`theme`,`default-light`),r.set_custom_element_data(a,`showDataTypes`,!1),r.set_custom_element_data(a,`showToolbar`,!1),r.set_custom_element_data(a,`showCopy`,!1),r.set_custom_element_data(a,`showSize`,!1),r.set_custom_element_data(a,`expandIconType`,`arrow`),r.set_custom_element_data(a,`expandEmpty`,!1),r.append(e,a),r.pop(i)}r.create_custom_element(In,{value:{}},[],[],{mode:`open`});var Ln=r.from_html(`<div class="tool-desc svelte-15f985v"> </div>`),Rn=r.from_html(`<div class="tool-list svelte-15f985v"></div>`),zn=r.from_html(`<!> <div class="arrows svelte-15f985v" aria-hidden="true"><span class="arrow svelte-15f985v">↓</span> <span class="arrow svelte-15f985v">↓</span> <span class="arrow svelte-15f985v">↓</span></div>`,1),Bn=r.from_html(`<div class="arrows svelte-15f985v" aria-hidden="true"><span class="arrow svelte-15f985v">↓</span> <span class="arrow svelte-15f985v">↓</span> <span class="arrow svelte-15f985v">↓</span></div>`),Vn=r.from_html(`<div class="tool-card svelte-15f985v"><div class="tool-name svelte-15f985v"> </div> <!></div>`),Hn=r.from_html(`<div class="tool-list svelte-15f985v"><!> <div class="tool-card tool-card-builtin svelte-15f985v"><div class="tool-name svelte-15f985v">Save feature data</div> <div class="tool-desc svelte-15f985v">Features can save their own data that persists across sessions</div></div></div>`),Un=r.from_html(`<div class="diagram svelte-15f985v"><!> <div class="feature-node svelte-15f985v"><span class="feature-node-label svelte-15f985v">This is your feature, you can build anything here</span></div> <!> <!></div>`),Wn={hash:`svelte-15f985v`,code:`.diagram.svelte-15f985v {display:flex;flex-direction:column;align-items:center;gap:1.5rem;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:2rem 1.5rem;min-height:0;}.feature-node.svelte-15f985v {box-sizing:border-box;width:100%;max-width:420px;border:2px solid var(--rough-accent, #268bd2);padding:0.85rem 1.25rem;background:color-mix(in srgb, var(--rough-accent, #268bd2) 6%, white);text-align:center;flex-shrink:0;}.feature-node-label.svelte-15f985v {font-size:0.85rem;font-weight:600;color:var(--rough-accent, #268bd2);}.tool-list.svelte-15f985v {display:flex;flex-direction:column;gap:0.4rem;}.tool-card.svelte-15f985v {box-sizing:border-box;border:1px solid var(--rough-surface-border, rgba(147, 161, 161, 0.32));padding:0.65rem 0.85rem;background:white;display:flex;flex-direction:column;gap:0.3rem;width:100%;font:inherit;text-align:left;}.tool-card-builtin.svelte-15f985v {background:var(--base3, #fdf6e3);}.tool-name.svelte-15f985v {font-size:0.875rem;font-weight:600;color:var(--base02, #073642);}.tool-desc.svelte-15f985v {font-size:0.8rem;color:var(--base01, #586e75);line-height:1.45;}.arrows.svelte-15f985v {display:flex;justify-content:space-evenly;align-items:center;width:100%;max-width:420px;}.arrow.svelte-15f985v {font-size:1.25rem;color:var(--base1, #93a1a1);line-height:1;}`};function Gn(e,t){r.push(t,!0),r.append_styles(e,Wn);let n=r.prop(t,`toolList`,7),i=r.derived(()=>n().filter(e=>e.type===`query`||e.type===`subscription`)),a=r.derived(()=>n().filter(e=>e.type===`mutation`));var o={get toolList(){return n()},set toolList(e){n(e),r.flush()}},s=Un(),c=r.child(s),l=e=>{var t=zn();Pn(r.first_child(t),{heading:`Data this feature can see`,preview:e=>{r.next();var t=r.text();r.template_effect(e=>r.set_text(t,e),[()=>r.get(i).map(e=>e.name).join(`, `)]),r.append(e,t)},children:(e,t)=>{var n=Rn();r.each(n,21,()=>r.get(i),e=>e.name,(e,t)=>{Pn(e,{get heading(){return r.get(t).name},preview:e=>{var n=r.comment(),i=r.first_child(n),a=e=>{var n=Ln(),i=r.child(n,!0);r.reset(n),r.template_effect(()=>r.set_text(i,r.get(t).description)),r.append(e,n)};r.if(i,e=>{r.get(t).description&&e(a)}),r.append(e,n)},children:(e,n)=>{var i=r.comment(),a=r.first_child(i),o=e=>{In(e,{get value(){return r.get(t).outputSample}})};r.if(a,e=>{r.get(t).outputSample!=null&&e(o)}),r.append(e,i)},$$slots:{preview:!0,default:!0}})}),r.reset(n),r.append(e,n)},$$slots:{preview:!0,default:!0}}),r.next(2),r.append(e,t)};r.if(c,e=>{r.get(i).length>0&&e(l)});var u=r.sibling(c,4),d=e=>{var t=Bn();r.append(e,t)};return r.if(u,e=>{r.get(i).length>0&&e(d)}),Pn(r.sibling(u,2),{heading:`Changes you can make`,preview:e=>{r.next();var t=r.text();r.template_effect(e=>r.set_text(t,e),[()=>[...r.get(a).map(e=>e.name),`Save feature data`].join(`, `)]),r.append(e,t)},children:(e,t)=>{var n=Hn(),i=r.child(n);r.each(i,17,()=>r.get(a),e=>e.name,(e,t)=>{var n=Vn(),i=r.child(n),a=r.child(i,!0);r.reset(i);var o=r.sibling(i,2),s=e=>{var n=Ln(),i=r.child(n,!0);r.reset(n),r.template_effect(()=>r.set_text(i,r.get(t).description)),r.append(e,n)};r.if(o,e=>{r.get(t).description&&e(s)}),r.reset(n),r.template_effect(()=>r.set_text(a,r.get(t).name)),r.append(e,n)}),r.next(2),r.reset(n),r.append(e,n)},$$slots:{preview:!0,default:!0}}),r.reset(s),r.append(e,s),r.pop(o)}r.create_custom_element(Gn,{toolList:{}},[],[],{mode:`open`});var Kn=100,qn=e=>{let t=e.keyStepPx??Kn,n=r.state(void 0),i=r.derived(()=>r.get(n)===void 0?`1fr`:`${r.get(n)}px`),a=(t,n)=>{let r=n-e.minColumnPx-e.dividerWidthPx;return Math.max(e.minColumnPx,Math.min(r,t))},o=e=>{e.currentTarget.setPointerCapture(e.pointerId),e.preventDefault()},s=t=>{let i=e.getContainer();if(!t.currentTarget.hasPointerCapture(t.pointerId)||!i)return;let o=i.getBoundingClientRect(),s=t.clientX-o.left-e.dividerWidthPx/2;r.set(n,a(s,o.width),!0)},c=e=>{e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId)};return{get column(){return r.get(i)},get widthPx(){return r.get(n)},onpointerdown:o,onpointermove:s,onpointerup:c,onpointercancel:c,onkeydown:i=>{if(i.key!==`ArrowLeft`&&i.key!==`ArrowRight`)return;let o=e.getContainer();if(!o)return;i.preventDefault();let s=o.getBoundingClientRect(),c=r.get(n)??s.width*.25,l=i.key===`ArrowLeft`?-t:t;r.set(n,a(c+l,s.width),!0)}}},Jn=r.from_html(`<p class="svelte-t9dwgq">Loading…</p>`),Yn=r.from_html(`<div class="error svelte-t9dwgq"> </div>`),Xn=r.from_html(`<div class="system-message-detail svelte-t9dwgq"> </div>`),Zn=r.from_html(`<details class="system-message-raw svelte-t9dwgq"><summary class="svelte-t9dwgq">Details</summary> <pre class="svelte-t9dwgq"> </pre></details>`),Qn=r.from_html(`<div class="system-message system-message-error svelte-t9dwgq"><div class="system-message-label svelte-t9dwgq"> </div> <!> <!></div>`),$n=r.from_html(`<p class="loading svelte-t9dwgq">Loading…</p>`),er=r.from_html(`<div class="bubble svelte-t9dwgq"><span class="author svelte-t9dwgq"> </span> <pre class="svelte-t9dwgq"> </pre></div>`),tr=r.from_html(`<span class="published-tag svelte-t9dwgq">Published</span>`),nr=r.from_html(`<div class="system-message system-message-ready svelte-t9dwgq"><button type="button" class="system-message-button svelte-t9dwgq"><span class="system-message-label svelte-t9dwgq"> <!></span></button></div>`),rr=r.from_html(`<div><!> <!> <!></div>`),ir=r.from_html(`<!> <!>`,1),ar=r.from_html(`<div class="preview-placeholder svelte-t9dwgq">Your feature preview will appear here.</div>`),or=r.from_html(`<div class="preview-placeholder svelte-t9dwgq">Build logs will appear here.</div>`),sr=r.from_html(`<div class="logs-panel svelte-t9dwgq"><!></div>`),cr=r.from_html(`<!> <!> <!>`,1),lr=r.from_html(`<div><div class="transcript svelte-t9dwgq"><div class="transcript-content svelte-t9dwgq"><!></div></div> <div class="divider svelte-t9dwgq" role="slider" aria-label="Resize chat column" tabindex="0"></div> <div class="preview svelte-t9dwgq"><div class="desktop-preview-tabs svelte-t9dwgq"><!></div> <!> <!> <!> <!></div> <form class="composer svelte-t9dwgq"><div><textarea rows="1" placeholder="Describe what you want to generate" class="svelte-t9dwgq"></textarea> <button type="submit" class="send-button svelte-t9dwgq"><!></button></div></form> <div class="preview-actions svelte-t9dwgq"><!></div> <!></div>`),ur=r.from_html(`<div class="surface svelte-t9dwgq"><header class="surface-header svelte-t9dwgq"><h3 class="svelte-t9dwgq"> </h3> <button type="button" class="close-button svelte-t9dwgq" aria-label="Close">×</button></header> <!> <!></div>`),dr={hash:`svelte-t9dwgq`,code:`.surface.svelte-t9dwgq {width:100%;height:100%;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--rough-surface-border, rgba(147, 161, 161, 0.32));border-radius:0;padding:0;background:var(--rough-surface, rgba(255, 255, 255));box-shadow:var(--rough-shadow, 0 24px 70px rgba(7, 54, 66, 0.12));box-sizing:border-box;}.surface-header.svelte-t9dwgq {display:flex;align-items:center;justify-content:space-between;gap:1rem;flex:none;padding:1rem 1.25rem;border-bottom:1px solid var(--rough-surface-border, rgba(147, 161, 161, 0.32));}h3.svelte-t9dwgq {margin:0;font-size:1.25rem;color:var(--rough-text, #073642);}.close-button.svelte-t9dwgq {appearance:none;background:transparent;border:1px solid transparent;color:var(--rough-text, #073642);cursor:pointer;font-size:1.75rem;line-height:1;padding:0.1rem 0.55rem 0.25rem;}.close-button.svelte-t9dwgq:hover {background:color-mix(in srgb, var(--rough-text, #073642) 8%, white);}.close-button.svelte-t9dwgq:focus-visible {outline:3px solid color-mix(in srgb, var(--rough-accent, #268bd2) 25%, white);outline-offset:2px;}.feature-builder.svelte-t9dwgq {display:grid;grid-template-columns:var(--chat-column, 1fr) 12px 3fr;grid-template-rows:1fr auto;column-gap:0;row-gap:0.5rem;min-height:0;flex:1;padding:1rem 1.25rem;}.error.svelte-t9dwgq {color:var(--rough-danger, #cb4b16);flex:1;padding:1rem 1.25rem;}.transcript.svelte-t9dwgq {grid-column:1;grid-row:1;overflow-y:auto;min-height:0;}
68
+ /* otherwise nested Accordions will not be displayed correctly */> summary:where(.svelte-khztz9) > header:where(.svelte-khztz9) > .chevron:where(.svelte-khztz9) {transform:rotate(0deg);}> summary:where(.svelte-khztz9) > .preview:where(.svelte-khztz9) {display:none;}}}summary.svelte-khztz9 {display:flex;flex-direction:column;}summary.svelte-khztz9:focus-visible {outline:none;}summary.svelte-khztz9:focus-visible header:where(.svelte-khztz9) {border-color:var(--rough-ring, oklch(0.708 0 0));box-shadow:0 0 0 3px color-mix(in oklch, var(--rough-ring, oklch(0.708 0 0)) 45%, transparent);}header.svelte-khztz9 {display:flex;align-items:center;justify-content:space-between;gap:0.5rem;width:100%;border:1px solid transparent;border-radius:var(--rough-radius-md, 0.375rem);padding:0.25rem 0.35rem;background:none;font:inherit;text-align:left;cursor:pointer;transition:background-color 120ms ease, border-color 120ms ease,
69
+ box-shadow 120ms ease;}header.svelte-khztz9:hover {background:var(--rough-accent, oklch(0.97 0 0));}.heading.svelte-khztz9 {color:var(--rough-foreground, oklch(0.145 0 0));font-size:0.875rem;font-weight:600;}.chevron.svelte-khztz9 {flex-shrink:0;transform:rotate(-90deg);color:var(--rough-muted-foreground, oklch(0.556 0 0));transition:transform 150ms ease;}.preview.svelte-khztz9 {margin:0;padding:0 0.35rem 0.25rem;color:var(--rough-muted-foreground, oklch(0.556 0 0));font-size:0.8rem;line-height:1.45;}`};function o_(e,t){r.push(t,!0),r.append_styles(e,a_);let n=r.prop(t,`heading`,7),i=r.prop(t,`preview`,7),a=r.prop(t,`children`,7);var o={get heading(){return n()},set heading(e){n(e),r.flush()},get preview(){return i()},set preview(e){i(e),r.flush()},get children(){return a()},set children(e){a(e),r.flush()}},s=i_(),c=r.child(s),l=r.child(c),u=r.child(l),d=r.child(u),f=e=>{var t=r.text();r.template_effect(()=>r.set_text(t,n())),r.append(e,t)},p=e=>{var t=r.comment(),i=r.first_child(t);r.snippet(i,n),r.append(e,t)};r.if(d,e=>{typeof n()==`string`?e(f):e(p,-1)}),r.reset(u);var m=r.sibling(u,2);n_(r.child(m),{size:14}),r.reset(m),r.reset(l);var h=r.sibling(l,2),g=e=>{var t=r_(),n=r.child(t);r.snippet(n,i),r.reset(t),r.append(e,t)};r.if(h,e=>{i()&&e(g)}),r.reset(c);var _=r.sibling(c,2);return r.snippet(_,()=>a()??r.noop),r.reset(s),r.append(e,s),r.pop(o)}r.create_custom_element(o_,{heading:{},preview:{},children:{}},[],[],{mode:`open`});var s_=r.from_html(`<div class="JsonViewer svelte-17yau2j"><andypf-json-viewer></andypf-json-viewer></div>`,2),c_={hash:`svelte-17yau2j`,code:`.JsonViewer.svelte-17yau2j {max-height:18rem;border:1px solid var(--rough-border, oklch(0.922 0 0));border-radius:var(--rough-radius-md, 0.375rem);padding:0.5rem;overflow:auto;background:var(--rough-muted, oklch(0.97 0 0));}.JsonViewer.svelte-17yau2j andypf-json-viewer {display:block;max-width:100%;font-size:0.8rem;}`};function l_(e,t){r.push(t,!0),r.append_styles(e,c_);let n=r.prop(t,`value`,7);var i={get value(){return n()},set value(e){n(e),r.flush()}},a=s_(),o=r.child(a);return r.template_effect(()=>r.set_custom_element_data(o,`data`,n())),r.set_custom_element_data(o,`expanded`,2),r.set_custom_element_data(o,`indent`,2),r.set_custom_element_data(o,`theme`,`default-light`),r.set_custom_element_data(o,`showDataTypes`,!1),r.set_custom_element_data(o,`showToolbar`,!1),r.set_custom_element_data(o,`showCopy`,!1),r.set_custom_element_data(o,`showSize`,!1),r.set_custom_element_data(o,`expandIconType`,`arrow`),r.set_custom_element_data(o,`expandEmpty`,!1),r.reset(a),r.append(e,a),r.pop(i)}r.create_custom_element(l_,{value:{}},[],[],{mode:`open`});var u_=r.from_html(`<div class="tool-desc svelte-15f985v"> </div>`),d_=r.from_html(`<div class="tool-list svelte-15f985v"></div>`),f_=r.from_html(`<!> <div class="arrows svelte-15f985v" aria-hidden="true"><span class="arrow svelte-15f985v">↓</span> <span class="arrow svelte-15f985v">↓</span> <span class="arrow svelte-15f985v">↓</span></div>`,1),p_=r.from_html(`<div class="arrows svelte-15f985v" aria-hidden="true"><span class="arrow svelte-15f985v">↓</span> <span class="arrow svelte-15f985v">↓</span> <span class="arrow svelte-15f985v">↓</span></div>`),m_=r.from_html(`<div class="tool-card svelte-15f985v"><div class="tool-name svelte-15f985v"> </div> <!></div>`),h_=r.from_html(`<div class="tool-list svelte-15f985v"><!> <div class="tool-card tool-card-builtin svelte-15f985v"><div class="tool-name svelte-15f985v">Save feature data</div> <div class="tool-desc svelte-15f985v">Features can save their own data that persists across sessions</div></div></div>`),g_=r.from_html(`<div class="diagram svelte-15f985v"><!> <div class="feature-node svelte-15f985v"><span class="feature-node-label svelte-15f985v">This is your feature, you can build anything here</span></div> <!> <!></div>`),__={hash:`svelte-15f985v`,code:`.diagram.svelte-15f985v {display:flex;align-items:center;gap:1.25rem;flex-direction:column;min-height:0;padding:1.5rem;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:var(--rough-background, white);}.feature-node.svelte-15f985v {flex-shrink:0;box-sizing:border-box;width:100%;max-width:420px;border:1px solid var(--rough-border, oklch(0.922 0 0));border-radius:var(--rough-radius-lg, 0.625rem);padding:0.85rem 1.25rem;background:var(--rough-primary, oklch(0.205 0 0));box-shadow:var(--rough-shadow-xs, 0 1px 2px rgb(0 0 0 / 0.05));text-align:center;}.feature-node-label.svelte-15f985v {color:var(--rough-primary-foreground, white);font-size:0.875rem;font-weight:600;}.tool-list.svelte-15f985v {display:flex;gap:0.5rem;flex-direction:column;}.tool-card.svelte-15f985v {display:flex;gap:0.35rem;flex-direction:column;box-sizing:border-box;width:100%;border:1px solid var(--rough-border, oklch(0.922 0 0));border-radius:var(--rough-radius-md, 0.375rem);padding:0.75rem;background:var(--rough-card, white);color:var(--rough-card-foreground, oklch(0.145 0 0));font:inherit;text-align:left;}.tool-card-builtin.svelte-15f985v {background:var(--rough-muted, oklch(0.97 0 0));}.tool-name.svelte-15f985v {color:var(--rough-foreground, oklch(0.145 0 0));font-size:0.875rem;font-weight:600;}.tool-desc.svelte-15f985v {color:var(--rough-muted-foreground, oklch(0.556 0 0));font-size:0.8rem;line-height:1.45;}.arrows.svelte-15f985v {display:flex;align-items:center;justify-content:space-evenly;width:100%;max-width:420px;}.arrow.svelte-15f985v {color:var(--rough-muted-foreground, oklch(0.556 0 0));font-size:1.25rem;line-height:1;}`};function v_(e,t){r.push(t,!0),r.append_styles(e,__);let n=r.prop(t,`toolList`,7),i=r.derived(()=>n().filter(e=>e.type===`query`||e.type===`subscription`)),a=r.derived(()=>n().filter(e=>e.type===`mutation`));var o={get toolList(){return n()},set toolList(e){n(e),r.flush()}},s=g_(),c=r.child(s),l=e=>{var t=f_();o_(r.first_child(t),{heading:`Data this feature can see`,preview:e=>{r.next();var t=r.text();r.template_effect(e=>r.set_text(t,e),[()=>r.get(i).map(e=>e.name).join(`, `)]),r.append(e,t)},children:(e,t)=>{var n=d_();r.each(n,21,()=>r.get(i),e=>e.name,(e,t)=>{o_(e,{get heading(){return r.get(t).name},preview:e=>{var n=r.comment(),i=r.first_child(n),a=e=>{var n=u_(),i=r.child(n,!0);r.reset(n),r.template_effect(()=>r.set_text(i,r.get(t).description)),r.append(e,n)};r.if(i,e=>{r.get(t).description&&e(a)}),r.append(e,n)},children:(e,n)=>{var i=r.comment(),a=r.first_child(i),o=e=>{l_(e,{get value(){return r.get(t).outputSample}})};r.if(a,e=>{r.get(t).outputSample!=null&&e(o)}),r.append(e,i)},$$slots:{preview:!0,default:!0}})}),r.reset(n),r.append(e,n)},$$slots:{preview:!0,default:!0}}),r.next(2),r.append(e,t)};r.if(c,e=>{r.get(i).length>0&&e(l)});var u=r.sibling(c,4),d=e=>{var t=p_();r.append(e,t)};return r.if(u,e=>{r.get(i).length>0&&e(d)}),o_(r.sibling(u,2),{heading:`Changes you can make`,preview:e=>{r.next();var t=r.text();r.template_effect(e=>r.set_text(t,e),[()=>[...r.get(a).map(e=>e.name),`Save feature data`].join(`, `)]),r.append(e,t)},children:(e,t)=>{var n=h_(),i=r.child(n);r.each(i,17,()=>r.get(a),e=>e.name,(e,t)=>{var n=m_(),i=r.child(n),a=r.child(i,!0);r.reset(i);var o=r.sibling(i,2),s=e=>{var n=u_(),i=r.child(n,!0);r.reset(n),r.template_effect(()=>r.set_text(i,r.get(t).description)),r.append(e,n)};r.if(o,e=>{r.get(t).description&&e(s)}),r.reset(n),r.template_effect(()=>r.set_text(a,r.get(t).name)),r.append(e,n)}),r.next(2),r.reset(n),r.append(e,n)},$$slots:{preview:!0,default:!0}}),r.reset(s),r.append(e,s),r.pop(o)}r.create_custom_element(v_,{toolList:{}},[],[],{mode:`open`});var y_=100,b_=e=>{let t=e.keyStepPx??y_,n=r.state(void 0),i=r.derived(()=>r.get(n)===void 0?`1fr`:`${r.get(n)}px`),a=(t,n)=>{let r=n-e.minColumnPx-e.dividerWidthPx;return Math.max(e.minColumnPx,Math.min(r,t))},o=e=>{e.currentTarget.setPointerCapture(e.pointerId),e.preventDefault()},s=t=>{let i=e.getContainer();if(!t.currentTarget.hasPointerCapture(t.pointerId)||!i)return;let o=i.getBoundingClientRect(),s=t.clientX-o.left-e.dividerWidthPx/2;r.set(n,a(s,o.width),!0)},c=e=>{e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId)};return{get column(){return r.get(i)},get widthPx(){return r.get(n)},onpointerdown:o,onpointermove:s,onpointerup:c,onpointercancel:c,onkeydown:i=>{if(i.key!==`ArrowLeft`&&i.key!==`ArrowRight`)return;let o=e.getContainer();if(!o)return;i.preventDefault();let s=o.getBoundingClientRect(),c=r.get(n)??s.width*.25,l=i.key===`ArrowLeft`?-t:t;r.set(n,a(c+l,s.width),!0)}}},x_=r.from_html(`<p class="svelte-t9dwgq">Loading…</p>`),S_=r.from_html(`<div class="error svelte-t9dwgq"> </div>`),C_=r.from_html(`<div class="system-message-detail svelte-t9dwgq"> </div>`),w_=r.from_html(`<details class="system-message-raw svelte-t9dwgq"><summary class="svelte-t9dwgq">Details</summary> <pre class="svelte-t9dwgq"> </pre></details>`),T_=r.from_html(`<div class="system-message system-message-error svelte-t9dwgq"><div class="system-message-label svelte-t9dwgq"> </div> <!> <!></div>`),E_=r.from_html(`<p class="loading svelte-t9dwgq">Loading…</p>`),D_=r.from_html(`<div class="bubble svelte-t9dwgq"><span class="author svelte-t9dwgq"> </span> <pre class="svelte-t9dwgq"> </pre></div>`),O_=r.from_html(`<span class="published-tag svelte-t9dwgq">Published</span>`),k_=r.from_html(`<div class="system-message system-message-ready svelte-t9dwgq"><button type="button" class="system-message-button svelte-t9dwgq"><span class="system-message-label svelte-t9dwgq"> <!></span></button></div>`),A_=r.from_html(`<div><!> <!> <!></div>`),j_=r.from_html(`<!> <!>`,1),M_=r.from_html(`<div class="preview-placeholder svelte-t9dwgq">Your feature preview will appear here.</div>`),N_=r.from_html(`<div class="preview-placeholder svelte-t9dwgq">Build logs will appear here.</div>`),P_=r.from_html(`<div class="logs-panel svelte-t9dwgq"><!></div>`),F_=r.from_html(`<!> <!> <!>`,1),I_=r.from_html(`<div><div class="transcript svelte-t9dwgq"><div class="transcript-content svelte-t9dwgq"><!></div></div> <div class="divider svelte-t9dwgq" role="slider" aria-label="Resize chat column" tabindex="0"></div> <div class="preview svelte-t9dwgq"><div class="desktop-preview-tabs svelte-t9dwgq"><!></div> <!> <!> <!> <!></div> <form class="composer svelte-t9dwgq"><div><textarea rows="1" placeholder="Describe what you want to generate" class="svelte-t9dwgq"></textarea> <button type="submit" class="send-button svelte-t9dwgq"><!></button></div></form> <div class="preview-actions svelte-t9dwgq"><!></div> <!></div>`),L_=r.from_html(`<div><header class="surface-header svelte-t9dwgq"><h3 title="Option-click to toggle theme" class="svelte-t9dwgq"> </h3> <button type="button" class="close-button svelte-t9dwgq" aria-label="Close">×</button></header> <!> <!></div>`),R_={hash:`svelte-t9dwgq`,code:`.surface.svelte-t9dwgq {display:flex;flex-direction:column;box-sizing:border-box;width:100%;height:100%;border:1px solid var(--rough-border, oklch(0.922 0 0));border-radius:var(--rough-radius-xl, 0.875rem);padding:0;overflow:hidden;background:var(--rough-card, white);box-shadow:var(--rough-shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 0.1));color:var(--rough-card-foreground, oklch(0.145 0 0));}.surface-header.svelte-t9dwgq {display:flex;align-items:center;justify-content:space-between;gap:1rem;flex:none;border-bottom:1px solid var(--rough-border, oklch(0.922 0 0));padding:1rem 1.25rem;background:var(--rough-card, white);}h3.svelte-t9dwgq {margin:0;color:var(--rough-foreground, oklch(0.145 0 0));font-size:1.125rem;font-weight:600;line-height:1;}.close-button.svelte-t9dwgq {appearance:none;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid transparent;border-radius:var(--rough-radius-md, 0.375rem);padding:0;background:transparent;color:var(--rough-muted-foreground, oklch(0.556 0 0));font:inherit;font-size:1.25rem;line-height:1;cursor:pointer;transition:background-color 120ms ease, color 120ms ease,
70
+ border-color 120ms ease, box-shadow 120ms ease;}.close-button.svelte-t9dwgq:hover {background:var(--rough-accent, oklch(0.97 0 0));color:var(--rough-accent-foreground, oklch(0.205 0 0));}.close-button.svelte-t9dwgq:focus-visible {border-color:var(--rough-ring, oklch(0.708 0 0));outline:none;box-shadow:0 0 0 3px color-mix(in oklch, var(--rough-ring, oklch(0.708 0 0)) 45%, transparent);}.feature-builder.svelte-t9dwgq {display:grid;grid-template-columns:var(--chat-column, 1fr) 12px 3fr;grid-template-rows:1fr auto;column-gap:0;row-gap:0.75rem;flex:1;min-height:0;padding:1rem 1.25rem;background:var(--rough-background, white);}.error.svelte-t9dwgq {flex:1;padding:1rem 1.25rem;color:var(--rough-destructive, oklch(0.577 0.245 27.325));}.transcript.svelte-t9dwgq {grid-column:1;grid-row:1;min-height:0;overflow-y:auto;}
61
71
 
62
72
  /* Inner wrapper so the ResizeObserver can watch content growth separately
63
- from the outer scroll container; needed to auto-scroll on streaming logs. */.transcript-content.svelte-t9dwgq {padding:0.25rem 0;display:flex;flex-direction:column;gap:1rem;}.composer.svelte-t9dwgq {grid-column:1;grid-row:2;display:flex;flex-direction:column;gap:0.5rem;}.divider.svelte-t9dwgq {grid-column:2;grid-row:1 / span 2;position:relative;cursor:col-resize;background:transparent;touch-action:none;}.divider.svelte-t9dwgq::before {content:'';position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--rough-surface-border, rgba(147, 161, 161, 0.32));transform:translateX(-50%);transition:width 120ms ease, background-color 120ms ease;}.divider.svelte-t9dwgq:hover::before,
73
+ from the outer scroll container; needed to auto-scroll on streaming logs. */.transcript-content.svelte-t9dwgq {display:flex;gap:1rem;flex-direction:column;padding:0.25rem 0;}.composer.svelte-t9dwgq {display:flex;gap:0.5rem;flex-direction:column;grid-column:1;grid-row:2;}.divider.svelte-t9dwgq {position:relative;grid-column:2;grid-row:1 / span 2;background:transparent;cursor:col-resize;touch-action:none;}.divider.svelte-t9dwgq::before {content:'';position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--rough-border, oklch(0.922 0 0));transform:translateX(-50%);transition:width 120ms ease, background-color 120ms ease;}.divider.svelte-t9dwgq:hover::before,
64
74
  .divider.svelte-t9dwgq:active::before,
65
- .divider.svelte-t9dwgq:focus-visible::before {width:3px;background:var(--rough-accent, #268bd2);}.divider.svelte-t9dwgq:focus-visible {outline:none;}.preview.svelte-t9dwgq {grid-column:3;grid-row:1;display:flex;flex-direction:column;min-height:0;min-width:0;border:1px solid var(--rough-surface-border, rgba(147, 161, 161, 0.32));background:white;}.preview-actions.svelte-t9dwgq {grid-column:3;grid-row:2;display:flex;justify-content:flex-end;align-items:center;}.desktop-preview-tabs.svelte-t9dwgq {flex:none;}.published-tag.svelte-t9dwgq {display:inline-block;margin-left:0.5rem;padding:0.05rem 0.4rem;font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--rough-accent, #268bd2);border:1px solid var(--rough-accent, #268bd2);}.turn-published.svelte-t9dwgq .system-message-ready:where(.svelte-t9dwgq) {border-color:var(--rough-accent, #268bd2);}.preview-placeholder.svelte-t9dwgq {flex:1;display:flex;align-items:center;justify-content:center;color:var(--base01, #586e75);padding:1rem;text-align:center;}.logs-panel.svelte-t9dwgq {flex:1;min-height:0;display:flex;flex-direction:column;padding:0.75rem;overflow:auto;}.turn.svelte-t9dwgq {display:flex;flex-direction:column;gap:0.5rem;}.bubble.svelte-t9dwgq {border:1px solid var(--base1, #93a1a1);padding:0.6rem 0.85rem;background:color-mix(in srgb, var(--rough-accent, #268bd2) 8%, white);align-self:flex-end;max-width:85%;display:flex;flex-direction:column;gap:0.35rem;}.author.svelte-t9dwgq {font-size:0.75rem;color:var(--base01, #586e75);}.bubble.svelte-t9dwgq pre:where(.svelte-t9dwgq) {margin:0;white-space:pre-wrap;word-break:break-word;font-family:inherit;font-size:0.95rem;}.system-message.svelte-t9dwgq {padding:0.75rem 1rem;border:1px solid var(--base1, #93a1a1);background:transparent;display:flex;flex-direction:column;gap:0.4rem;}.system-message-button.svelte-t9dwgq {appearance:none;width:100%;border:none;padding:0;background:transparent;text-align:left;cursor:pointer;font:inherit;}.system-message-button.svelte-t9dwgq:focus-visible {outline:3px solid color-mix(in srgb, var(--rough-accent, #268bd2) 25%, white);outline-offset:2px;}.system-message-label.svelte-t9dwgq {color:var(--base01, #586e75);font-weight:600;}.system-message-ready.svelte-t9dwgq {border-color:color-mix(in srgb, var(--green, #859900) 40%, white);background:color-mix(in srgb, var(--green, #859900) 10%, white);}.system-message-ready.svelte-t9dwgq .system-message-label:where(.svelte-t9dwgq) {color:var(--green, #859900);}.system-message-error.svelte-t9dwgq .system-message-label:where(.svelte-t9dwgq) {color:var(--orange, #cb4b16);}.system-message-detail.svelte-t9dwgq {font-size:0.95rem;color:var(--base00, #657b83);word-break:break-word;}.system-message-raw.svelte-t9dwgq {font-size:0.85rem;}.system-message-raw.svelte-t9dwgq summary:where(.svelte-t9dwgq) {cursor:pointer;color:var(--base01, #586e75);}.system-message-raw.svelte-t9dwgq pre:where(.svelte-t9dwgq) {margin:0.4rem 0 0;padding:0.4rem 0.5rem;background:var(--base2, #eee8d5);color:var(--base02, #073642);white-space:pre-wrap;word-break:break-word;overflow-x:auto;font-size:0.8rem;}.composer-input.svelte-t9dwgq {display:flex;align-items:flex-end;gap:0.5rem;border:1px solid var(--rough-border, #93a1a1);padding:0.4rem 0.4rem 0.4rem 0.85rem;background:white;transition:border-color 120ms ease, box-shadow 120ms ease;}.composer-input.svelte-t9dwgq:focus-within {border-color:var(--rough-accent, #268bd2);box-shadow:0 0 0 3px color-mix(in srgb, var(--rough-accent, #268bd2) 18%, white);}.composer-input.isBuilding.svelte-t9dwgq {opacity:0.75;}textarea.svelte-t9dwgq {flex:1;min-width:0;border:none;outline:none;padding:0.45rem 0;color:var(--rough-text, #073642);background:transparent;font:inherit;resize:none;min-height:1.5rem;max-height:12rem;overflow-y:auto;line-height:1.4;}textarea.svelte-t9dwgq::placeholder {color:var(--base01, #586e75);opacity:0.7;}.send-button.svelte-t9dwgq {display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;flex:none;border:none;padding:0;background:var(--rough-accent, #268bd2);color:var(--rough-background, #fdf6e3);cursor:pointer;transition:background-color 120ms ease, transform 120ms ease;}.send-button.svelte-t9dwgq:hover:not(:disabled) {background:color-mix(in srgb, var(--rough-accent, #268bd2) 85%, black);}.send-button.svelte-t9dwgq:active:not(:disabled) {transform:scale(0.95);}.send-button.svelte-t9dwgq:focus-visible {outline:3px solid color-mix(in srgb, var(--rough-accent, #268bd2) 25%, white);outline-offset:2px;}.send-button.svelte-t9dwgq:disabled {background:color-mix(in srgb, var(--rough-accent, #268bd2) 30%, white);cursor:not-allowed;}.loading.svelte-t9dwgq {margin:0;color:var(--base01, #586e75);font-size:0.9rem;}.surface.svelte-t9dwgq > p:where(.svelte-t9dwgq) {flex:1;margin:0;padding:1rem 1.25rem;}
75
+ .divider.svelte-t9dwgq:focus-visible::before {width:3px;background:var(--rough-ring, oklch(0.708 0 0));}.divider.svelte-t9dwgq:focus-visible {outline:none;}.preview.svelte-t9dwgq {display:flex;flex-direction:column;grid-column:3;grid-row:1;min-width:0;min-height:0;border:1px solid var(--rough-border, oklch(0.922 0 0));border-radius:var(--rough-radius-lg, 0.625rem);overflow:hidden;background:var(--rough-card, white);box-shadow:var(--rough-shadow-xs, 0 1px 2px rgb(0 0 0 / 0.05));}.preview-actions.svelte-t9dwgq {display:flex;align-items:center;justify-content:flex-end;grid-column:3;grid-row:2;}.desktop-preview-tabs.svelte-t9dwgq {flex:none;}.published-tag.svelte-t9dwgq {display:inline-flex;align-items:center;margin-left:0.5rem;border:1px solid var(--rough-border, oklch(0.922 0 0));border-radius:var(--rough-radius-sm, 0.25rem);padding:0.05rem 0.4rem;background:var(--rough-secondary, oklch(0.97 0 0));color:var(--rough-secondary-foreground, oklch(0.205 0 0));font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;}.turn-published.svelte-t9dwgq .system-message-ready:where(.svelte-t9dwgq) {border-color:var(--rough-success-border, color-mix(in srgb, #15803d 45%, var(--rough-border, oklch(0.922 0 0))));}.preview-placeholder.svelte-t9dwgq {display:flex;align-items:center;justify-content:center;flex:1;padding:1rem;color:var(--rough-muted-foreground, oklch(0.556 0 0));text-align:center;}.logs-panel.svelte-t9dwgq {display:flex;flex:1;flex-direction:column;min-height:0;padding:0.75rem;overflow:auto;}.turn.svelte-t9dwgq {display:flex;gap:0.5rem;flex-direction:column;}.bubble.svelte-t9dwgq {display:flex;align-self:flex-end;gap:0.35rem;flex-direction:column;max-width:85%;border-radius:var(--rough-radius-lg, 0.625rem);padding:0.65rem 0.85rem;background:var(--rough-primary, oklch(0.205 0 0));box-shadow:var(--rough-shadow-xs, 0 1px 2px rgb(0 0 0 / 0.05));color:var(--rough-primary-foreground, white);}.author.svelte-t9dwgq {color:color-mix(in oklch, var(--rough-primary-foreground, white) 75%, transparent);font-size:0.75rem;}.bubble.svelte-t9dwgq pre:where(.svelte-t9dwgq) {margin:0;color:inherit;font-family:inherit;font-size:0.875rem;line-height:1.45;white-space:pre-wrap;word-break:break-word;}.system-message.svelte-t9dwgq {display:flex;gap:0.4rem;flex-direction:column;border:1px solid var(--rough-border, oklch(0.922 0 0));border-radius:var(--rough-radius-lg, 0.625rem);padding:0.75rem 1rem;background:var(--rough-card, white);box-shadow:var(--rough-shadow-xs, 0 1px 2px rgb(0 0 0 / 0.05));}.system-message-button.svelte-t9dwgq {appearance:none;width:100%;border:none;padding:0;background:transparent;font:inherit;text-align:left;cursor:pointer;}.system-message-button.svelte-t9dwgq:focus-visible {border-radius:var(--rough-radius-md, 0.375rem);outline:none;box-shadow:0 0 0 3px color-mix(in oklch, var(--rough-ring, oklch(0.708 0 0)) 45%, transparent);}.system-message-label.svelte-t9dwgq {color:var(--rough-foreground, oklch(0.145 0 0));font-weight:600;}.system-message-ready.svelte-t9dwgq {border-color:var(--rough-success-border, color-mix(in srgb, #15803d 45%, var(--rough-border, oklch(0.922 0 0))));background:var(--rough-success-background, color-mix(in srgb, #15803d 12%, var(--rough-card, white)));}.system-message-ready.svelte-t9dwgq .system-message-label:where(.svelte-t9dwgq) {color:var(--rough-success, #15803d);}.system-message-error.svelte-t9dwgq {border-color:color-mix(in oklch, var(--rough-destructive, oklch(0.577 0.245 27.325)) 35%, var(--rough-border, oklch(0.922 0 0)));background:color-mix(in oklch, var(--rough-destructive, oklch(0.577 0.245 27.325)) 8%, var(--rough-card, white));}.system-message-error.svelte-t9dwgq .system-message-label:where(.svelte-t9dwgq) {color:var(--rough-destructive, oklch(0.577 0.245 27.325));}.system-message-detail.svelte-t9dwgq {color:var(--rough-muted-foreground, oklch(0.556 0 0));font-size:0.875rem;line-height:1.45;word-break:break-word;}.system-message-raw.svelte-t9dwgq {font-size:0.85rem;}.system-message-raw.svelte-t9dwgq summary:where(.svelte-t9dwgq) {color:var(--rough-muted-foreground, oklch(0.556 0 0));cursor:pointer;}.system-message-raw.svelte-t9dwgq pre:where(.svelte-t9dwgq) {margin:0.4rem 0 0;border-radius:var(--rough-radius-md, 0.375rem);padding:0.5rem 0.65rem;overflow-x:auto;background:var(--rough-muted, oklch(0.97 0 0));color:var(--rough-foreground, oklch(0.145 0 0));font-size:0.8rem;white-space:pre-wrap;word-break:break-word;}.composer-input.svelte-t9dwgq {display:flex;align-items:flex-end;gap:0.5rem;border:1px solid var(--rough-input, oklch(0.922 0 0));border-radius:var(--rough-radius-lg, 0.625rem);padding:0.5rem 0.5rem 0.5rem 0.85rem;background:var(--rough-background, white);box-shadow:var(--rough-shadow-xs, 0 1px 2px rgb(0 0 0 / 0.05));transition:border-color 120ms ease, box-shadow 120ms ease;}.composer-input.svelte-t9dwgq:focus-within {border-color:var(--rough-ring, oklch(0.708 0 0));box-shadow:0 0 0 3px color-mix(in oklch, var(--rough-ring, oklch(0.708 0 0)) 45%, transparent);}.composer-input.isBuilding.svelte-t9dwgq {opacity:0.75;}textarea.svelte-t9dwgq {flex:1;min-width:0;min-height:1.5rem;max-height:12rem;border:none;outline:none;padding:0.35rem 0;overflow-y:auto;background:transparent;color:var(--rough-foreground, oklch(0.145 0 0));font:inherit;font-size:0.875rem;line-height:1.45;resize:none;}textarea.svelte-t9dwgq::placeholder {color:var(--rough-muted-foreground, oklch(0.556 0 0));}.send-button.svelte-t9dwgq {display:inline-flex;align-items:center;justify-content:center;flex:none;width:2.25rem;height:2.25rem;border:1px solid var(--rough-primary, oklch(0.205 0 0));border-radius:999px;padding:0;background:var(--rough-primary, oklch(0.205 0 0));color:var(--rough-primary-foreground, white);cursor:pointer;transition:background-color 120ms ease, border-color 120ms ease,
76
+ box-shadow 120ms ease, transform 120ms ease, opacity 120ms ease;}.send-button.svelte-t9dwgq:hover:not(:disabled) {background:color-mix(in oklch, var(--rough-primary, oklch(0.205 0 0)) 90%, transparent);}.send-button.svelte-t9dwgq:active:not(:disabled) {transform:scale(0.95);}.send-button.svelte-t9dwgq:focus-visible {border-color:var(--rough-ring, oklch(0.708 0 0));outline:none;box-shadow:0 0 0 3px color-mix(in oklch, var(--rough-ring, oklch(0.708 0 0)) 45%, transparent);}.send-button.svelte-t9dwgq:disabled {opacity:0.5;cursor:not-allowed;}.loading.svelte-t9dwgq {margin:0;color:var(--rough-muted-foreground, oklch(0.556 0 0));font-size:0.875rem;}.surface.svelte-t9dwgq > p:where(.svelte-t9dwgq) {flex:1;margin:0;padding:1rem 1.25rem;color:var(--rough-muted-foreground, oklch(0.556 0 0));}
66
77
 
67
78
  @media (max-width: 1000px) {.feature-builder.svelte-t9dwgq {grid-template-columns:1fr;}.desktop-preview-tabs.svelte-t9dwgq,
68
79
  .divider.svelte-t9dwgq,
@@ -74,6 +85,6 @@ import{z as e}from"zod";import{errorBoundary as t}from"@stayradiated/error-bound
74
85
  .feature-builder.tab-logs.svelte-t9dwgq .preview:where(.svelte-t9dwgq) {display:flex;grid-column:1;grid-row:1;}.feature-builder.tab-preview.svelte-t9dwgq .preview-actions:where(.svelte-t9dwgq),
75
86
  .feature-builder.tab-capabilities.svelte-t9dwgq .preview-actions:where(.svelte-t9dwgq),
76
87
  .feature-builder.tab-logs.svelte-t9dwgq .preview-actions:where(.svelte-t9dwgq) {display:flex;grid-column:1;grid-row:2;}
77
- }`};function fr(e,t){r.push(t,!0),r.append_styles(e,dr);let n=r.prop(t,`toolList`,7),i=r.prop(t,`onpublish`,7),a=r.prop(t,`onclose`,7),o=r.prop(t,`action`,7),s=r.state(!0),c=r.state(void 0),l=r.derived(()=>o().type===`edit`?$(e=>fe({spriteId:o().spriteId,signal:e})):$.resolve(r.get(c))),f=r.state(!1),p=r.state(void 0),m=r.state(void 0),h=r.state(void 0),g=r.derived(()=>r.get(f)||r.get(p)!=null&&r.get(p).status!==`READY`&&r.get(p).status!==`ERROR`&&!r.get(h)),_=(e,t)=>JSON.stringify(e)!==JSON.stringify(t),v=e=>{r.set(p,e,!0),r.set(m,e.id,!0),se.add(e.id)};r.user_effect(()=>{let e=r.get(l).data,t=r.get(m);if(!e||!t)return;let n=new AbortController;return Te({spriteId:e.id,spriteBuildId:t,signal:n.signal,onUpdate:e=>{e.id===t&&_(r.get(p),e)&&r.set(p,e,!0)}}).then(e=>{if(!n.signal.aborted){if(e instanceof Error){r.set(h,e,!0);return}if(e.status!==`READY`&&e.status!==`ERROR`){r.set(h,Error(`Unexpected status: '${e.status}'`),!0);return}r.set(p,e,!0),r.set(m,void 0)}}),()=>n.abort()});let y=[{key:`preview`,label:`Preview`},{key:`capabilities`,label:`Capabilities`},{key:`logs`,label:`Logs`}],b=[{key:`chat`,label:`Chat`},...y],x=r.state(`chat`),S=r.state(`capabilities`),C=r.derived(()=>r.get(x)===`chat`),w=r.derived(()=>r.get(x)===`capabilities`),ee=r.derived(()=>r.get(x)===`preview`),te=r.derived(()=>r.get(x)===`logs`),T=r.derived(()=>r.get(S)===`capabilities`),E=r.derived(()=>r.get(S)===`preview`),D=r.derived(()=>r.get(S)===`logs`),O=r.state(``),k=r.state(void 0),A=r.state(void 0),ne=r.state(void 0),re=r.state(void 0),j=r.state(void 0),M=qn({getContainer:()=>r.get(j),minColumnPx:280,dividerWidthPx:12}),ie=r.derived(()=>{if(M.widthPx===void 0||!r.get(j))return;let e=r.get(j).getBoundingClientRect().width;if(e)return Math.round(M.widthPx/e*100)}),N=$(e=>r.get(l).data?ve({spriteId:r.get(l).data.id,signal:e}):Promise.resolve([])),P=r.derived(()=>{let e=new u;for(let t of N.data??[])e.set(t.id,t);return r.get(p)&&e.set(r.get(p).id,r.get(p)),[...e.values()].sort((e,t)=>e.id.localeCompare(t.id))}),F=!1,ae=e=>{r.set(A,e,!0),F=!0,r.set(S,`preview`),r.set(x,`preview`)},I=r.derived(()=>r.get(P).findLast(e=>e.status===`READY`&&e.artifactUrl)),L=r.derived(()=>{if(r.get(A)){let e=r.get(P).find(e=>e.id===r.get(A));if(e)return e}return r.get(I)??r.get(P).at(-1)}),R=r.derived(()=>r.get(L)?.status===`READY`&&r.get(L).artifactUrl?r.get(L):void 0),z=r.derived(()=>r.get(R)??r.get(I)),oe=!1;r.user_effect(()=>{!oe&&r.get(I)&&(r.set(x,`preview`),r.set(S,`preview`),oe=!0)}),r.user_effect(()=>{if(r.get(P).length===0){r.set(A,void 0),F=!1;return}(!F||!r.get(A)||!r.get(P).some(e=>e.id===r.get(A)))&&(r.set(A,r.get(I)?.id??r.get(P).at(-1)?.id,!0),F=!1)});let B=r.derived(()=>r.get(I)?.id),se=new d,V=r.state(void 0),H=r.derived(()=>r.get(V)??r.get(l).data?.publishedSpriteBuild?.id??void 0),U=r.derived(()=>!r.get(g)&&r.get(z)!=null&&r.get(z).id!==r.get(H)),W=r.derived(()=>r.get(H)!==r.get(B)),G=r.state(!1),K=r.state(void 0),q=r.state(!1),ce=async()=>{if(!(!r.get(l).data||!r.get(z)||r.get(G))){r.set(G,!0),r.set(K,void 0);try{let e=await xe({spriteId:r.get(l).data.id,spriteBuildId:r.get(z).id});if(e instanceof Error){r.set(K,e,!0);return}let t=e.publishedSpriteBuild;r.set(V,t?.id??void 0,!0),t&&i()?.(e,t),r.set(q,!1)}finally{r.set(G,!1)}}},J=()=>{r.set(s,!1)},le=()=>{r.get(W)?r.set(q,!0):J()},pe=()=>{r.set(q,!1),J()},me=()=>{r.set(q,!1)},he=e=>{if(e){if(typeof e.message==`string`)return e.message;if(typeof e.error==`string`)return e.error}},ge=e=>e.createdByPerson.name,_e=r.derived(()=>!r.get(g)&&r.get(O).trim().length>0),ye=async e=>{e.preventDefault();let t=r.get(O).trim();if(!(!t||r.get(g))){r.set(O,``),r.set(h,void 0),r.set(f,!0);try{if(o().type===`create`&&!r.get(l).data){let e=await ue({toolList:n(),prompt:t,surfaceId:o().surfaceId,projectId:o().projectId});if(e instanceof Error){r.set(h,e,!0);return}let i=await ve({spriteId:e.id});if(i instanceof Error){r.set(h,i,!0);return}let a=i.toSorted((e,t)=>e.id.localeCompare(t.id)).at(-1);if(!a){r.set(h,Error(`Server did not provide an initial sprite build`),!0);return}r.set(c,e,!0),v(a);return}if(!r.get(B)){r.set(h,Error(`Missing parent build id`),!0);return}if(!r.get(l).data){r.set(h,Error(`No sprite?`),!0);return}let e=await de({spriteId:r.get(l)?.data.id,parentSpriteBuildId:r.get(B),prompt:t});if(e instanceof Error){r.set(h,e,!0);return}v(e)}finally{r.set(f,!1)}}},be=e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),ye(e))};return r.user_effect(()=>{r.get(x)!==`chat`&&r.set(S,r.get(x),!0)}),r.user_effect(()=>{let e=r.get(k);e&&(r.get(O),e.style.height=`auto`,e.style.height=`${e.scrollHeight}px`)}),r.user_effect(()=>{let e=r.get(re),t=r.get(ne);if(!e||!t)return;let n=new ResizeObserver(()=>{t.scrollTop=t.scrollHeight});return n.observe(e),()=>n.disconnect()}),Vt(e,{oncancel:le,get onclose(){return a()},get isOpen(){return r.get(s)},set isOpen(e){r.set(s,e,!0)},children:(e,t)=>{var i=ur(),a=r.child(i),o=r.child(a),s=r.child(o,!0);r.reset(o);var c=r.sibling(o,2);r.reset(a);var u=r.sibling(a,2),d=e=>{var t=Jn();r.append(e,t)},f=e=>{var t=Yn(),n=r.child(t,!0);r.reset(t),r.template_effect(()=>r.set_text(n,r.get(l)?.error.message)),r.append(e,t)},p=e=>{var t=lr();let i,a;{let e=(e,t=r.noop,n=r.noop,i=r.noop)=>{var a=Qn(),o=r.child(a),s=r.child(o,!0);r.reset(o);var c=r.sibling(o,2),l=e=>{var t=Xn(),i=r.child(t,!0);r.reset(t),r.template_effect(()=>r.set_text(i,n())),r.append(e,t)};r.if(c,e=>{n()&&e(l)});var u=r.sibling(c,2),d=e=>{var t=Zn(),n=r.sibling(r.child(t),2),a=r.child(n,!0);r.reset(n),r.reset(t),r.template_effect(e=>r.set_text(a,e),[()=>JSON.stringify(i(),null,2)]),r.append(e,t)};r.if(u,e=>{i()&&e(d)}),r.reset(a),r.template_effect(()=>r.set_text(s,t())),r.append(e,a)};var o=r.child(t),s=r.child(o),c=r.child(s),u=e=>{var t=$n();r.append(e,t)},d=t=>{e(t,()=>`Couldn't load versions`,()=>N.error.message)},f=t=>{var n=ir(),i=r.first_child(n);r.each(i,19,()=>r.get(P),e=>e.id,(t,n,i)=>{let a=r.derived(()=>r.get(n).id===r.get(H));var o=rr();let s;var c=r.child(o),l=e=>{var t=er(),i=r.child(t),a=r.child(i,!0);r.reset(i);var o=r.sibling(i,2),s=r.child(o,!0);r.reset(o),r.reset(t),r.template_effect(e=>{r.set_text(a,e),r.set_text(s,r.get(n).prompt)},[()=>ge(r.get(n))]),r.append(e,t)};r.if(c,e=>{r.get(n).prompt&&e(l)});var u=r.sibling(c,2);ct(u,{get spriteBuild(){return r.get(n)}});var d=r.sibling(u,2),f=e=>{var t=nr(),o=r.child(t),s=r.child(o),c=r.child(s),l=r.sibling(c),u=e=>{var t=tr();r.append(e,t)};r.if(l,e=>{r.get(a)&&e(u)}),r.reset(s),r.reset(o),r.reset(t),r.template_effect(()=>r.set_text(c,`Version ${r.get(i)+1} ready `)),r.delegated(`click`,o,()=>ae(r.get(n).id)),r.append(e,t)},p=t=>{{let a=r.derived(()=>he(r.get(n).error));e(t,()=>`Version ${r.get(i)+1} failed`,()=>r.get(a),()=>r.get(n).error)}};r.if(d,e=>{r.get(n).status===`READY`?e(f):r.get(n).status===`ERROR`&&e(p,1)}),r.reset(o),r.template_effect(()=>s=r.set_class(o,1,`turn svelte-t9dwgq`,null,s,{"turn-published":r.get(a)})),r.append(t,o)});var a=r.sibling(i,2),o=t=>{e(t,()=>`Couldn't send message`,()=>r.get(h).message)};r.if(a,e=>{r.get(h)&&e(o)}),r.append(t,n)};r.if(c,e=>{N.isLoading?e(u):N.error?e(d,1):e(f,-1)}),r.reset(s),r.bind_this(s,e=>r.set(re,e),()=>r.get(re)),r.reset(o),r.bind_this(o,e=>r.set(ne,e),()=>r.get(ne));var p=r.sibling(o,2);r.set_attribute(p,`aria-valuemin`,0),r.set_attribute(p,`aria-valuemax`,100);var m=r.sibling(p,2),_=r.child(m);Tn(r.child(_),{get tabs(){return y},get active(){return r.get(S)},set active(e){r.set(S,e,!0)}}),r.reset(_);var v=r.sibling(_,2),b=t=>{e(t,()=>`Couldn't publish version`,()=>r.get(K).message)};r.if(v,e=>{r.get(K)&&e(b)});var x=r.sibling(v,2);On(x,{get isActive(){return r.get(T)},children:(e,t)=>{Gn(e,{get toolList(){return n()}})},$$slots:{default:!0}});var A=r.sibling(x,2);On(A,{get isActive(){return r.get(E)},children:(e,t)=>{var i=r.comment(),a=r.first_child(i),o=e=>{{let t=r.derived(()=>r.get(L).artifactUrl??void 0);xn(e,{get toolList(){return n()},get spriteId(){return r.get(l).data.id},get spriteBuildId(){return r.get(L).id},get artifactUrl(){return r.get(t)},spriteInstanceId:void 0,isMock:!0})}},s=e=>{var t=ar();r.append(e,t)};r.if(a,e=>{r.get(l).data&&r.get(L)?.status===`READY`&&r.get(L).artifactUrl?e(o):e(s,-1)}),r.append(e,i)},$$slots:{default:!0}}),On(r.sibling(A,2),{get isActive(){return r.get(D)},children:(e,t)=>{var n=sr(),i=r.child(n),a=e=>{Et(e,{get spriteBuild(){return r.get(L)}})},o=e=>{var t=or();r.append(e,t)};r.if(i,e=>{r.get(L)?e(a):e(o,-1)}),r.reset(n),r.append(e,n)},$$slots:{default:!0}}),r.reset(m);var F=r.sibling(m,2),I=r.child(F);let i;var R=r.child(I);r.remove_textarea_child(R),r.bind_this(R,e=>r.set(k,e),()=>r.get(k));var z=r.sibling(R,2),oe=r.child(z),B=e=>{X(e,{})},se=e=>{Re(e,{size:16,"aria-hidden":`true`})};r.if(oe,e=>{r.get(g)?e(B):e(se,-1)}),r.reset(z),r.reset(I),r.reset(F);var V=r.sibling(F,2),W=r.child(V);{let e=r.derived(()=>!r.get(U)||r.get(G));Z(W,{get disabled(){return r.get(e)},onclick:()=>void ce(),children:(e,t)=>{r.next();var n=r.text();r.template_effect(()=>r.set_text(n,r.get(G)?`Publishing…`:`Publish`)),r.append(e,n)},$$slots:{default:!0}})}r.reset(V);var J=r.sibling(V,2),le=e=>{jt(e,{title:`Publish before closing?`,detail:`You have iterations from this session that aren't published yet.`,get error(){return r.get(K)},actions:e=>{var t=cr(),n=r.first_child(t);Q(n,{onclick:me,children:(e,t)=>{r.next();var n=r.text(`Keep editing`);r.append(e,n)},$$slots:{default:!0}});var i=r.sibling(n,2);Q(i,{onclick:pe,children:(e,t)=>{r.next();var n=r.text(`Close anyway`);r.append(e,n)},$$slots:{default:!0}});var a=r.sibling(i,2);{let e=r.derived(()=>!r.get(U)||r.get(G));Z(a,{get disabled(){return r.get(e)},onclick:()=>void ce(),children:(e,t)=>{r.next();var n=r.text();r.template_effect(()=>r.set_text(n,r.get(G)?`Publishing…`:`Publish`)),r.append(e,n)},$$slots:{default:!0}})}r.append(e,t)},$$slots:{actions:!0}})};r.if(J,e=>{r.get(q)&&e(le)}),r.reset(t),r.bind_this(t,e=>r.set(j,e),()=>r.get(j)),r.template_effect(()=>{r.set_attribute(p,`aria-valuenow`,r.get(ie)),i=r.set_class(I,1,`composer-input svelte-t9dwgq`,null,i,{isBuilding:r.get(g)}),R.disabled=r.get(g),z.disabled=!r.get(_e),r.set_attribute(z,`aria-label`,r.get(g)?`Building`:`Send message`)}),r.delegated(`pointerdown`,p,function(...e){M.onpointerdown?.apply(this,e)}),r.delegated(`pointermove`,p,function(...e){M.onpointermove?.apply(this,e)}),r.delegated(`pointerup`,p,function(...e){M.onpointerup?.apply(this,e)}),r.event(`pointercancel`,p,function(...e){M.onpointercancel?.apply(this,e)}),r.delegated(`keydown`,p,function(...e){M.onkeydown?.apply(this,e)}),r.event(`submit`,F,ye),r.delegated(`keydown`,R,be),r.bind_value(R,()=>r.get(O),e=>r.set(O,e))}r.template_effect(()=>{i=r.set_class(t,1,`feature-builder svelte-t9dwgq`,null,i,{"tab-chat":r.get(C),"tab-preview":r.get(ee),"tab-capabilities":r.get(w),"tab-logs":r.get(te)}),a=r.set_style(t,``,a,{"--chat-column":M.column})}),r.append(e,t)};r.if(u,e=>{r.get(l).isLoading?e(d):r.get(l).error?e(f,1):e(p,-1)}),Ft(r.sibling(u,2),{get tabs(){return b},ariaLabel:`Feature builder sections`,get active(){return r.get(x)},set active(e){r.set(x,e,!0)}}),r.reset(i),r.template_effect(()=>r.set_text(s,`⌥ ${r.get(l).data?.name??`Rough`}`)),r.delegated(`click`,c,le),r.append(e,i)},$$slots:{default:!0}}),r.pop({get toolList(){return n()},set toolList(e){n(e),r.flush()},get onpublish(){return i()},set onpublish(e){i(e),r.flush()},get onclose(){return a()},set onclose(e){a(e),r.flush()},get action(){return o()},set action(e){o(e),r.flush()}})}r.delegate([`click`,`pointerdown`,`pointermove`,`pointerup`,`keydown`]),r.create_custom_element(fr,{toolList:{},onpublish:{},onclose:{},action:{}},[],[],{mode:`open`});function pr(e,t){r.push(t,!0);let n=r.prop(t,`toolList`,7),i=r.prop(t,`surfaceId`,7),a=r.prop(t,`projectId`,23,T),o=r.prop(t,`onclose`,7),s=r.prop(t,`onpublish`,7);var c={get toolList(){return n()},set toolList(e){n(e),r.flush()},get surfaceId(){return i()},set surfaceId(e){i(e),r.flush()},get projectId(){return a()},set projectId(e=T()){a(e),r.flush()},get onclose(){return o()},set onclose(e){o(e),r.flush()},get onpublish(){return s()},set onpublish(e){s(e),r.flush()}};{let t=r.derived(()=>({type:`create`,surfaceId:i(),projectId:a()}));fr(e,{get action(){return r.get(t)},get toolList(){return n()},get onpublish(){return s()},get onclose(){return o()}})}return r.pop(c)}customElements.define(`rough-create-modal`,r.create_custom_element(pr,{toolList:{},surfaceId:{},projectId:{},onclose:{},onpublish:{}},[],[]));var mr=(e,t={})=>{let n=De(e.key);if(!n){console.warn(`[Rough] No surface registered for key "${e.key}". Make sure the surface has mounted or getRoughFeatures() has been called.`);return}let r;if(t.projectId)r=t.projectId;else try{r=T()}catch{console.warn(`[Rough] Pass a projectId option to openRoughCreate(), or call initRough() first.`);return}let i=document.createElement(`div`);document.body.appendChild(i);let o=a(pr,{target:i,props:{surfaceId:n.surfaceId,projectId:r,toolList:n.toolList,onclose:()=>{c(o),document.body.removeChild(i)},onpublish:()=>{n.triggerRefresh()}}})};function hr(e,t){r.push(t,!0);let n=r.prop(t,`toolList`,7),i=r.prop(t,`spriteId`,7),a=r.prop(t,`onclose`,7),o=r.prop(t,`onpublish`,7);var s={get toolList(){return n()},set toolList(e){n(e),r.flush()},get spriteId(){return i()},set spriteId(e){i(e),r.flush()},get onclose(){return a()},set onclose(e){a(e),r.flush()},get onpublish(){return o()},set onpublish(e){o(e),r.flush()}};{let t=r.derived(()=>({type:`edit`,spriteId:i()}));fr(e,{get action(){return r.get(t)},get toolList(){return n()},get onpublish(){return o()},get onclose(){return a()}})}return r.pop(s)}customElements.define(`rough-edit-modal`,r.create_custom_element(hr,{toolList:{},spriteId:{},onclose:{},onpublish:{}},[],[]));var gr=r.from_html(`<!> <!>`,1);function _r(e,t){r.push(t,!0);let n=r.prop(t,`toolList`,7),i=r.prop(t,`label`,7,`Edit Rough Feature`),a=r.prop(t,`spriteId`,7),o=r.prop(t,`onpublish`,7),s=r.state(!1),c=()=>{r.set(s,!0)},l=()=>{r.set(s,!1)};var u={get toolList(){return n()},set toolList(e){n(e),r.flush()},get label(){return i()},set label(e=`Edit Rough Feature`){i(e),r.flush()},get spriteId(){return a()},set spriteId(e){a(e),r.flush()},get onpublish(){return o()},set onpublish(e){o(e),r.flush()}},d=gr(),f=r.first_child(d);Z(f,{onclick:c,children:(e,t)=>{r.next();var n=r.text();r.template_effect(()=>r.set_text(n,`⌥ ${i()??``}`)),r.append(e,n)},$$slots:{default:!0}});var p=r.sibling(f,2),m=e=>{hr(e,{get toolList(){return n()},get spriteId(){return a()},onclose:l,get onpublish(){return o()}})};return r.if(p,e=>{r.get(s)&&e(m)}),r.append(e,d),r.pop(u)}customElements.define(`rough-edit-button`,r.create_custom_element(_r,{toolList:{},label:{},spriteId:{},onpublish:{}},[],[]));var vr=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='17441%2015570%20441%20441'%20fill='none'%20stroke='currentColor'%20stroke-linecap='square'%20stroke-linejoin='miter'%20%3e%3ctitle%3eRough%20logo%3c/title%3e%3cdefs%3e%3cclipPath%20id='rough-logo'%3e%3crect%20x='17501'%20y='15630'%20width='321'%20height='321'%20/%3e%3c/clipPath%3e%3c/defs%3e%3cg%20clip-path='url(%23rough-logo)'%3e%3cg%20transform='matrix(1,0,0,1,17606.5311,15766.3152)'%3e%3cpolygon%20fill='currentColor'%20stroke='none'%20points='17.41,-136.32%20173.47,179.78%20173.47,184.68%2088.38,184.68%20-63.53,-122.94%20-63.53,-136.32'%20/%3e%3c/g%3e%3cpath%20stroke-width='78.5'%20d='M%2017473%2015669.25%20L%2017543%2015669.25'%20/%3e%3cpath%20stroke-width='78.5'%20d='M%2017780%2015669.25%20L%2017750%2015669.25'%20/%3e%3cpath%20stroke-width='78.5'%20d='M%2017780%2015911.75%20L%2017850%2015911.75'%20/%3e%3c/g%3e%3c/svg%3e`,yr=r.from_html(`<div class="chrome svelte-1aurlo0"><button class="badge svelte-1aurlo0" aria-label="Edit Rough Feature"><img alt="Rough Logo"/></button> <!></div> <!>`,1),br={hash:`svelte-1aurlo0`,code:`.chrome.svelte-1aurlo0 {position:relative;isolation:isolate;}.badge.svelte-1aurlo0 {position:absolute;top:8px;right:8px;z-index:10;width:24px;height:24px;border-radius:2px;background:var(--rough-danger, #cb4b16);border:none;padding:1px;display:flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:none;opacity:0;transition:opacity 150ms ease;}.chrome.svelte-1aurlo0:hover .badge:where(.svelte-1aurlo0),
88
+ }`};function z_(e,t){r.push(t,!0),r.append_styles(e,R_);let n=r.prop(t,`toolList`,7),o=r.prop(t,`onclose`,7),s=r.prop(t,`action`,7),c=r.state(!0),l=r.state(void 0),u=r.derived(()=>$(Q.meta.get(`store`))),d=r.derived(()=>r.get(u)._),f=r.derived(()=>r.get(d)?.state===`READY`),p=r.derived(()=>s().type===`edit`?s().spriteId:r.get(l)),m=r.derived(()=>r.get(p)?$(Q.sprite.get(r.get(p))):$.undefined),h=r.derived(()=>r.get(m)._),g=r.derived(()=>$(Q.person.asList)),_=r.derived(()=>r.get(g)._),v=r.derived(()=>r.get(p)?$(Q.spriteBuild.filter(`sprite:${r.get(p)}`,e=>e.spriteId===r.get(p))):$.lit([])),y=r.derived(()=>r.get(v)._),b=r.derived(()=>{if(r.get(h))return Km({sprite:r.get(h),spriteBuildList:r.get(y)})}),ee=r.derived(()=>s().type===`edit`&&!r.get(f)),te=r.derived(()=>{if(!(s().type!==`edit`||!r.get(f)||r.get(h)))return Error(`Sprite "${s().spriteId}" not found`)}),ne=r.state(!1),re=r.state(void 0),ie=r.state(void 0),ae=r.state(void 0),oe=r.derived(()=>r.get(ne)||r.get(re)!=null&&r.get(re).status!==`READY`&&r.get(re).status!==`ERROR`&&!r.get(ae)),se=e=>{r.set(re,e,!0),r.set(ie,e.id,!0),Le.add(e.id)},ce=r.derived(()=>r.get(ie)?$(Q.spriteBuild.get(r.get(ie))):$.undefined),le=r.derived(()=>r.get(ce)._);r.user_effect(()=>{let e=r.get(le);e&&(e.id===r.get(ie)&&JSON.stringify(r.get(re))!==JSON.stringify(e)&&r.set(re,e,!0),(e.status===`READY`||e.status===`ERROR`)&&r.set(ie,void 0))});let ue=[{key:`preview`,label:`Preview`},{key:`capabilities`,label:`Capabilities`},{key:`logs`,label:`Logs`}],de=[{key:`chat`,label:`Chat`},...ue],x=r.state(`chat`),fe=r.state(`capabilities`),pe=r.derived(()=>r.get(x)===`chat`),me=r.derived(()=>r.get(x)===`capabilities`),he=r.derived(()=>r.get(x)===`preview`),ge=r.derived(()=>r.get(x)===`logs`),_e=r.derived(()=>r.get(fe)===`capabilities`),ve=r.derived(()=>r.get(fe)===`preview`),ye=r.derived(()=>r.get(fe)===`logs`),be=r.state(``),xe=r.state(void 0),Se=r.state(void 0),Ce=r.state(void 0),we=r.state(void 0),Te=r.state(void 0),Ee=b_({getContainer:()=>r.get(Te),minColumnPx:280,dividerWidthPx:12}),De=r.derived(()=>{if(Ee.widthPx===void 0||!r.get(Te))return;let e=r.get(Te).getBoundingClientRect().width;if(e)return Math.round(Ee.widthPx/e*100)}),Oe=r.derived(()=>{let e=new i;for(let t of r.get(y))e.set(t.id,t);return r.get(re)&&e.set(r.get(re).id,r.get(re)),[...e.values()].sort((e,t)=>e.id.localeCompare(t.id))}),ke=!1,Ae=e=>{r.set(Se,e,!0),ke=!0,r.set(fe,`preview`),r.set(x,`preview`)},je=r.derived(()=>r.get(Oe).findLast(e=>e.status===`READY`&&e.artifactUrl)),Me=r.derived(()=>{if(r.get(Se)){let e=r.get(Oe).find(e=>e.id===r.get(Se));if(e)return e}return r.get(je)??r.get(Oe).at(-1)}),Ne=r.derived(()=>r.get(Me)?.status===`READY`&&r.get(Me).artifactUrl?r.get(Me):void 0),Pe=r.derived(()=>r.get(Ne)??r.get(je)),Fe=!1;r.user_effect(()=>{!Fe&&r.get(je)&&(r.set(x,`preview`),r.set(fe,`preview`),Fe=!0)}),r.user_effect(()=>{if(r.get(Oe).length===0){r.set(Se,void 0),ke=!1;return}(!ke||!r.get(Se)||!r.get(Oe).some(e=>e.id===r.get(Se)))&&(r.set(Se,r.get(je)?.id??r.get(Oe).at(-1)?.id,!0),ke=!1)});let S=r.derived(()=>r.get(je)?.id),Ie=r.derived(()=>Gm(r.get(y))),Le=new a,Re=r.state(void 0),ze=r.derived(()=>r.get(Re)??r.get(Ie)?.id??void 0),Be=r.derived(()=>!r.get(oe)&&r.get(Pe)!=null&&r.get(Pe).id!==r.get(ze)),Ve=r.derived(()=>r.get(ze)!==r.get(S)),He=r.state(!1),Ue=r.state(void 0),We=r.state(!1),Ge=r.state(!1),Ke=async()=>{if(!(!r.get(b)||!r.get(Pe)||r.get(He))){r.set(He,!0),r.set(Ue,void 0);try{let e=await Hm({spriteId:r.get(b).id,spriteBuildId:r.get(Pe).id});if(e instanceof Error){r.set(Ue,e,!0);return}r.set(Re,e.spriteBuildId,!0),r.set(We,!1)}finally{r.set(He,!1)}}},qe=()=>{r.set(c,!1)},Je=()=>{r.get(Ve)?r.set(We,!0):qe()},Ye=()=>{r.set(We,!1),qe()},Xe=()=>{r.set(We,!1)},Ze=e=>{if(e){if(typeof e.message==`string`)return e.message;if(typeof e.error==`string`)return e.error}},Qe=e=>r.get(_).find(t=>t.id===e.createdByPersonId)?.name??``,$e=r.derived(()=>!r.get(oe)&&r.get(be).trim().length>0),et=async e=>{e.preventDefault();let t=r.get(be).trim();if(!(!t||r.get(oe))){r.set(be,``),r.set(ae,void 0),r.set(ne,!0);try{if(s().type===`create`&&!r.get(b)){let e=await zm({toolList:n(),prompt:t,surfaceId:s().surfaceId});if(e instanceof Error){r.set(ae,e,!0);return}r.set(l,e.spriteId,!0);let i=Q.spriteBuild.get(e.spriteBuildId).value;i?se(i):r.set(ie,e.spriteBuildId,!0);return}if(!r.get(S)){r.set(ae,Error(`Missing parent build id`),!0);return}if(!r.get(b)){r.set(ae,Error(`No sprite?`),!0);return}let e=await Bm({spriteId:r.get(b).id,parentSpriteBuildId:r.get(S),prompt:t});if(e instanceof Error){r.set(ae,e,!0);return}let i=Q.spriteBuild.get(e.spriteBuildId).value;i?se(i):r.set(ie,e.spriteBuildId,!0)}finally{r.set(ne,!1)}}},tt=e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),et(e))};return r.user_effect(()=>{r.get(x)!==`chat`&&r.set(fe,r.get(x),!0)}),r.user_effect(()=>{let e=r.get(xe);e&&(r.get(be),e.style.height=`auto`,e.style.height=`${e.scrollHeight}px`)}),r.user_effect(()=>{let e=r.get(we),t=r.get(Ce);if(!e||!t)return;let n=new ResizeObserver(()=>{t.scrollTop=t.scrollHeight});return n.observe(e),()=>n.disconnect()}),pg(e,{oncancel:Je,get onclose(){return o()},get isOpen(){return r.get(c)},set isOpen(e){r.set(c,e,!0)},children:(e,t)=>{var i=L_();let a;var o=r.child(i),s=r.child(o),c=r.child(s,!0);r.reset(s);var l=r.sibling(s,2);r.reset(o);var u=r.sibling(o,2),d=e=>{var t=x_();r.append(e,t)},f=e=>{var t=S_(),n=r.child(t,!0);r.reset(t),r.template_effect(()=>r.set_text(n,r.get(te).message)),r.append(e,t)},p=e=>{var t=I_();let i,a;{let e=(e,t=r.noop,n=r.noop,i=r.noop)=>{var a=T_(),o=r.child(a),s=r.child(o,!0);r.reset(o);var c=r.sibling(o,2),l=e=>{var t=C_(),i=r.child(t,!0);r.reset(t),r.template_effect(()=>r.set_text(i,n())),r.append(e,t)};r.if(c,e=>{n()&&e(l)});var u=r.sibling(c,2),d=e=>{var t=w_(),n=r.sibling(r.child(t),2),a=r.child(n,!0);r.reset(n),r.reset(t),r.template_effect(e=>r.set_text(a,e),[()=>JSON.stringify(i(),null,2)]),r.append(e,t)};r.if(u,e=>{i()&&e(d)}),r.reset(a),r.template_effect(()=>r.set_text(s,t())),r.append(e,a)};var o=r.child(t),s=r.child(o),c=r.child(s),l=e=>{var t=E_();r.append(e,t)},u=t=>{var n=j_(),i=r.first_child(n);r.each(i,19,()=>r.get(Oe),e=>e.id,(t,n,i)=>{let a=r.derived(()=>r.get(n).id===r.get(ze));var o=A_();let s;var c=r.child(o),l=e=>{var t=D_(),i=r.child(t),a=r.child(i,!0);r.reset(i);var o=r.sibling(i,2),s=r.child(o,!0);r.reset(o),r.reset(t),r.template_effect(e=>{r.set_text(a,e),r.set_text(s,r.get(n).prompt)},[()=>Qe(r.get(n))]),r.append(e,t)};r.if(c,e=>{r.get(n).prompt&&e(l)});var u=r.sibling(c,2);jh(u,{get spriteBuild(){return r.get(n)}});var d=r.sibling(u,2),f=e=>{var t=k_(),o=r.child(t),s=r.child(o),c=r.child(s),l=r.sibling(c),u=e=>{var t=O_();r.append(e,t)};r.if(l,e=>{r.get(a)&&e(u)}),r.reset(s),r.reset(o),r.reset(t),r.template_effect(()=>r.set_text(c,`Version ${r.get(i)+1} ready `)),r.delegated(`click`,o,()=>Ae(r.get(n).id)),r.append(e,t)},p=t=>{{let a=r.derived(()=>Ze(r.get(n).error));e(t,()=>`Version ${r.get(i)+1} failed`,()=>r.get(a),()=>r.get(n).error)}};r.if(d,e=>{r.get(n).status===`READY`?e(f):r.get(n).status===`ERROR`&&e(p,1)}),r.reset(o),r.template_effect(()=>s=r.set_class(o,1,`turn svelte-t9dwgq`,null,s,{"turn-published":r.get(a)})),r.append(t,o)});var a=r.sibling(i,2),o=t=>{e(t,()=>`Couldn't send message`,()=>r.get(ae).message)};r.if(a,e=>{r.get(ae)&&e(o)}),r.append(t,n)};r.if(c,e=>{r.get(Oe).length===0&&r.get(ne)?e(l):e(u,-1)}),r.reset(s),r.bind_this(s,e=>r.set(we,e),()=>r.get(we)),r.reset(o),r.bind_this(o,e=>r.set(Ce,e),()=>r.get(Ce));var d=r.sibling(o,2);r.set_attribute(d,`aria-valuemin`,0),r.set_attribute(d,`aria-valuemax`,100);var f=r.sibling(d,2),p=r.child(f);Zg(r.child(p),{get tabs(){return ue},get active(){return r.get(fe)},set active(e){r.set(fe,e,!0)}}),r.reset(p);var m=r.sibling(p,2),h=t=>{e(t,()=>`Couldn't publish version`,()=>r.get(Ue).message)};r.if(m,e=>{r.get(Ue)&&e(h)});var g=r.sibling(m,2);e_(g,{get isActive(){return r.get(_e)},children:(e,t)=>{v_(e,{get toolList(){return n()}})},$$slots:{default:!0}});var _=r.sibling(g,2);e_(_,{get isActive(){return r.get(ve)},children:(e,t)=>{var i=r.comment(),a=r.first_child(i),o=e=>{{let t=r.derived(()=>r.get(Me).artifactUrl??void 0);qg(e,{get toolList(){return n()},get spriteId(){return r.get(b).id},get spriteBuildId(){return r.get(Me).id},get artifactUrl(){return r.get(t)},spriteInstanceId:void 0,isMock:!0})}},s=e=>{var t=M_();r.append(e,t)};r.if(a,e=>{r.get(b)&&r.get(Me)?.status===`READY`&&r.get(Me).artifactUrl?e(o):e(s,-1)}),r.append(e,i)},$$slots:{default:!0}}),e_(r.sibling(_,2),{get isActive(){return r.get(ye)},children:(e,t)=>{var n=P_(),i=r.child(n),a=e=>{Zh(e,{get spriteBuild(){return r.get(Me)}})},o=e=>{var t=N_();r.append(e,t)};r.if(i,e=>{r.get(Me)?e(a):e(o,-1)}),r.reset(n),r.append(e,n)},$$slots:{default:!0}}),r.reset(f);var v=r.sibling(f,2),y=r.child(v);let i;var ee=r.child(y);r.remove_textarea_child(ee),r.bind_this(ee,e=>r.set(xe,e),()=>r.get(xe));var te=r.sibling(ee,2),re=r.child(te),ie=e=>{dh(e,{})},se=e=>{oh(e,{size:16,"aria-hidden":`true`})};r.if(re,e=>{r.get(oe)?e(ie):e(se,-1)}),r.reset(te),r.reset(y),r.reset(v);var ce=r.sibling(v,2),le=r.child(ce);{let e=r.derived(()=>!r.get(Be)||r.get(He));lg(le,{get disabled(){return r.get(e)},onclick:()=>void Ke(),children:(e,t)=>{r.next();var n=r.text();r.template_effect(()=>r.set_text(n,r.get(He)?`Publishing…`:`Publish`)),r.append(e,n)},$$slots:{default:!0}})}r.reset(ce);var de=r.sibling(ce,2),x=e=>{ng(e,{title:`Publish before closing?`,detail:`You have iterations from this session that aren't published yet.`,get error(){return r.get(Ue)},actions:e=>{var t=F_(),n=r.first_child(t);gg(n,{onclick:Xe,children:(e,t)=>{r.next();var n=r.text(`Keep editing`);r.append(e,n)},$$slots:{default:!0}});var i=r.sibling(n,2);gg(i,{onclick:Ye,children:(e,t)=>{r.next();var n=r.text(`Close anyway`);r.append(e,n)},$$slots:{default:!0}});var a=r.sibling(i,2);{let e=r.derived(()=>!r.get(Be)||r.get(He));lg(a,{get disabled(){return r.get(e)},onclick:()=>void Ke(),children:(e,t)=>{r.next();var n=r.text();r.template_effect(()=>r.set_text(n,r.get(He)?`Publishing…`:`Publish`)),r.append(e,n)},$$slots:{default:!0}})}r.append(e,t)},$$slots:{actions:!0}})};r.if(de,e=>{r.get(We)&&e(x)}),r.reset(t),r.bind_this(t,e=>r.set(Te,e),()=>r.get(Te)),r.template_effect(()=>{r.set_attribute(d,`aria-valuenow`,r.get(De)),i=r.set_class(y,1,`composer-input svelte-t9dwgq`,null,i,{isBuilding:r.get(oe)}),ee.disabled=r.get(oe),te.disabled=!r.get($e),r.set_attribute(te,`aria-label`,r.get(oe)?`Building`:`Send message`)}),r.delegated(`pointerdown`,d,function(...e){Ee.onpointerdown?.apply(this,e)}),r.delegated(`pointermove`,d,function(...e){Ee.onpointermove?.apply(this,e)}),r.delegated(`pointerup`,d,function(...e){Ee.onpointerup?.apply(this,e)}),r.event(`pointercancel`,d,function(...e){Ee.onpointercancel?.apply(this,e)}),r.delegated(`keydown`,d,function(...e){Ee.onkeydown?.apply(this,e)}),r.event(`submit`,v,et),r.delegated(`keydown`,ee,tt),r.bind_value(ee,()=>r.get(be),e=>r.set(be,e))}r.template_effect(()=>{i=r.set_class(t,1,`feature-builder svelte-t9dwgq`,null,i,{"tab-chat":r.get(pe),"tab-preview":r.get(he),"tab-capabilities":r.get(me),"tab-logs":r.get(ge)}),a=r.set_style(t,``,a,{"--chat-column":Ee.column})}),r.append(e,t)};r.if(u,e=>{r.get(ee)?e(d):r.get(te)?e(f,1):e(p,-1)}),og(r.sibling(u,2),{get tabs(){return de},ariaLabel:`Feature builder sections`,get active(){return r.get(x)},set active(e){r.set(x,e,!0)}}),r.reset(i),r.template_effect(()=>{a=r.set_class(i,1,`surface svelte-t9dwgq`,null,a,{"rough-dark":r.get(Ge)}),r.set_text(c,`⌥ ${r.get(b)?.name??`Rough`}`)}),r.delegated(`pointerup`,s,e=>{e.altKey&&r.set(Ge,!r.get(Ge))}),r.delegated(`click`,l,Je),r.append(e,i)},$$slots:{default:!0}}),r.pop({get toolList(){return n()},set toolList(e){n(e),r.flush()},get onclose(){return o()},set onclose(e){o(e),r.flush()},get action(){return s()},set action(e){s(e),r.flush()}})}r.delegate([`pointerup`,`click`,`pointerdown`,`pointermove`,`keydown`]),r.create_custom_element(z_,{toolList:{},onclose:{},action:{}},[],[],{mode:`open`});function B_(e,t){r.push(t,!0);let n=r.prop(t,`toolList`,7),i=r.prop(t,`surfaceId`,7),a=r.prop(t,`projectId`,23,Bd),o=r.prop(t,`onclose`,7);var s={get toolList(){return n()},set toolList(e){n(e),r.flush()},get surfaceId(){return i()},set surfaceId(e){i(e),r.flush()},get projectId(){return a()},set projectId(e=Bd()){a(e),r.flush()},get onclose(){return o()},set onclose(e){o(e),r.flush()}};{let t=r.derived(()=>({type:`create`,surfaceId:i(),projectId:a()}));z_(e,{get action(){return r.get(t)},get toolList(){return n()},get onclose(){return o()}})}return r.pop(s)}customElements.define(`rough-create-modal`,r.create_custom_element(B_,{toolList:{},surfaceId:{},projectId:{},onclose:{}},[],[]));var V_=(e,t={})=>{let n=Ym(e.key);if(!n){console.warn(`[Rough] No surface registered for key "${e.key}". Make sure the surface has mounted or getRoughFeatures() has been called.`);return}let r;if(t.projectId)r=t.projectId;else try{r=Bd()}catch{console.warn(`[Rough] Pass a projectId option to openRoughCreate(), or call initRough() first.`);return}let i=document.createElement(`div`);document.body.appendChild(i);let a=s(B_,{target:i,props:{surfaceId:n.surfaceId,projectId:r,toolList:n.toolList,onclose:()=>{u(a),document.body.removeChild(i)}}})};function H_(e,t){r.push(t,!0);let n=r.prop(t,`toolList`,7),i=r.prop(t,`spriteId`,7),a=r.prop(t,`onclose`,7);var o={get toolList(){return n()},set toolList(e){n(e),r.flush()},get spriteId(){return i()},set spriteId(e){i(e),r.flush()},get onclose(){return a()},set onclose(e){a(e),r.flush()}};{let t=r.derived(()=>({type:`edit`,spriteId:i()}));z_(e,{get action(){return r.get(t)},get toolList(){return n()},get onclose(){return a()}})}return r.pop(o)}customElements.define(`rough-edit-modal`,r.create_custom_element(H_,{toolList:{},spriteId:{},onclose:{}},[],[]));var U_=r.from_html(`<!> <!>`,1);function W_(e,t){r.push(t,!0);let n=r.prop(t,`toolList`,7),i=r.prop(t,`label`,7,`Edit Rough Feature`),a=r.prop(t,`spriteId`,7),o=r.state(!1),s=()=>{r.set(o,!0)},c=()=>{r.set(o,!1)};var l={get toolList(){return n()},set toolList(e){n(e),r.flush()},get label(){return i()},set label(e=`Edit Rough Feature`){i(e),r.flush()},get spriteId(){return a()},set spriteId(e){a(e),r.flush()}},u=U_(),d=r.first_child(u);lg(d,{onclick:s,children:(e,t)=>{r.next();var n=r.text();r.template_effect(()=>r.set_text(n,`⌥ ${i()??``}`)),r.append(e,n)},$$slots:{default:!0}});var f=r.sibling(d,2),p=e=>{H_(e,{get toolList(){return n()},get spriteId(){return a()},onclose:c})};return r.if(f,e=>{r.get(o)&&e(p)}),r.append(e,u),r.pop(l)}customElements.define(`rough-edit-button`,r.create_custom_element(W_,{toolList:{},label:{},spriteId:{}},[],[]));var G_=`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='17441%2015570%20441%20441'%20fill='none'%20stroke='currentColor'%20stroke-linecap='square'%20stroke-linejoin='miter'%20%3e%3ctitle%3eRough%20logo%3c/title%3e%3cdefs%3e%3cclipPath%20id='rough-logo'%3e%3crect%20x='17501'%20y='15630'%20width='321'%20height='321'%20/%3e%3c/clipPath%3e%3c/defs%3e%3cg%20clip-path='url(%23rough-logo)'%3e%3cg%20transform='matrix(1,0,0,1,17606.5311,15766.3152)'%3e%3cpolygon%20fill='currentColor'%20stroke='none'%20points='17.41,-136.32%20173.47,179.78%20173.47,184.68%2088.38,184.68%20-63.53,-122.94%20-63.53,-136.32'%20/%3e%3c/g%3e%3cpath%20stroke-width='78.5'%20d='M%2017473%2015669.25%20L%2017543%2015669.25'%20/%3e%3cpath%20stroke-width='78.5'%20d='M%2017780%2015669.25%20L%2017750%2015669.25'%20/%3e%3cpath%20stroke-width='78.5'%20d='M%2017780%2015911.75%20L%2017850%2015911.75'%20/%3e%3c/g%3e%3c/svg%3e`,K_=r.from_html(`<div class="chrome svelte-1aurlo0"><button class="badge svelte-1aurlo0" aria-label="Edit Rough Feature"><img alt="Rough Logo"/></button> <!></div> <!>`,1),q_={hash:`svelte-1aurlo0`,code:`.chrome.svelte-1aurlo0 {position:relative;isolation:isolate;}.badge.svelte-1aurlo0 {position:absolute;top:8px;right:8px;z-index:10;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid var(--rough-border, oklch(0.922 0 0));border-radius:var(--rough-radius-md, 0.375rem);padding:0.25rem;background:var(--rough-brand, #cb4b16);box-shadow:var(--rough-shadow-xs, 0 1px 2px rgb(0 0 0 / 0.05));opacity:0;cursor:pointer;pointer-events:none;transition:opacity 150ms ease, box-shadow 120ms ease;}.badge.svelte-1aurlo0:focus-visible {border-color:var(--rough-ring, oklch(0.708 0 0));outline:none;box-shadow:0 0 0 3px color-mix(in oklch, var(--rough-ring, oklch(0.708 0 0)) 45%, transparent);}.chrome.svelte-1aurlo0:hover .badge:where(.svelte-1aurlo0),
78
89
  .chrome.svelte-1aurlo0:focus-within .badge:where(.svelte-1aurlo0),
79
- .chrome.svelte-1aurlo0:active .badge:where(.svelte-1aurlo0) {opacity:1;pointer-events:auto;}`};function xr(e,t){r.push(t,!0),r.append_styles(e,br);let n=r.prop(t,`spriteId`,7),i=r.prop(t,`toolList`,7),a=r.prop(t,`onpublish`,7),o=r.prop(t,`children`,7),s=r.state(!1),c=()=>{r.set(s,!0)},l=()=>{r.set(s,!1)};var u={get spriteId(){return n()},set spriteId(e){n(e),r.flush()},get toolList(){return i()},set toolList(e){i(e),r.flush()},get onpublish(){return a()},set onpublish(e){a(e),r.flush()},get children(){return o()},set children(e){o(e),r.flush()}},d=yr(),f=r.first_child(d),p=r.child(f),m=r.child(p);r.reset(p);var h=r.sibling(p,2);r.snippet(h,o),r.reset(f);var g=r.sibling(f,2),_=e=>{hr(e,{get toolList(){return i()},get spriteId(){return n()},onclose:l,get onpublish(){return a()}})};return r.if(g,e=>{r.get(s)&&e(_)}),r.template_effect(()=>r.set_attribute(m,`src`,vr)),r.delegated(`click`,p,c),r.append(e,d),r.pop(u)}r.delegate([`click`]),r.create_custom_element(xr,{spriteId:{},toolList:{},onpublish:{},children:{}},[],[],{mode:`open`});function Sr(e,t){r.push(t,!0);let n=r.prop(t,`featureId`,7),i=r.prop(t,`buildId`,7),a=r.prop(t,`surfaceKey`,7),o=r.prop(t,`datastore`,7),s=r.derived(()=>De(a()));var c={get featureId(){return n()},set featureId(e){n(e),r.flush()},get buildId(){return i()},set buildId(e){i(e),r.flush()},get surfaceKey(){return a()},set surfaceKey(e){a(e),r.flush()},get datastore(){return o()},set datastore(e){o(e),r.flush()}},l=r.comment(),u=r.first_child(l),d=e=>{xr(e,{get spriteId(){return n()},get toolList(){return r.get(s).toolList},get onpublish(){return r.get(s).triggerRefresh},children:(e,t)=>{xn(e,{get spriteId(){return n()},get spriteBuildId(){return i()},get spriteInstanceId(){return n()},get toolList(){return r.get(s).toolList},get datastore(){return o()}})},$$slots:{default:!0}})};return r.if(u,e=>{r.get(s)&&e(d)}),r.append(e,l),r.pop(c)}customElements.define(`rough-feature`,r.create_custom_element(Sr,{featureId:{},buildId:{},surfaceKey:{},datastore:{}},[],[]));var Cr=r.from_html(`<div class="surface svelte-1f41bpr"><div class="frame-container svelte-1f41bpr"></div></div>`),wr={hash:`svelte-1f41bpr`,code:`.surface.svelte-1f41bpr {flex:1;width:100%;outline:1px dashed rgba(147, 161, 161, 0.5);padding:0.5rem;}.frame-container.svelte-1f41bpr {display:flex;flex-direction:column;gap:0.5rem;}`};function Tr(e,t){r.push(t,!0),r.append_styles(e,wr);let n=r.prop(t,`surface`,7),i=r.prop(t,`getDatastore`,7),a=r.state(r.proxy([]));s(()=>Oe(n(),e=>{r.set(a,e,!0)}));var o={get surface(){return n()},set surface(e){n(e),r.flush()},get getDatastore(){return i()},set getDatastore(e){i(e),r.flush()}},c=Cr(),l=r.child(c);return r.each(l,21,()=>r.get(a),e=>e.id,(e,t)=>{let a=r.derived(()=>r.get(t).publishedSpriteBuild),o=r.derived(()=>i()?.({spriteId:r.get(t).id,spriteInstanceId:r.get(t).id}));var s=r.comment(),c=r.first_child(s),l=e=>{Sr(e,{get featureId(){return r.get(t).id},get buildId(){return r.get(a).id},get surfaceKey(){return n().key},get datastore(){return r.get(o)}})};r.if(c,e=>{r.get(a)?.artifactUrl&&e(l)}),r.append(e,s)}),r.reset(l),r.reset(c),r.append(e,c),r.pop(o)}customElements.define(`rough-surface`,r.create_custom_element(Tr,{surface:{},getDatastore:{}},[],[]));var Er=r.from_html(`<div class="SpriteBuildMenuItem svelte-1uvsqdj" role="none"><div class="copy svelte-1uvsqdj"><h3> </h3> <p class="svelte-1uvsqdj"> </p></div> <!></div>`),Dr={hash:`svelte-1uvsqdj`,code:`.SpriteBuildMenuItem.svelte-1uvsqdj {display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:0.75rem;background:var(--rough-background-muted, #eee8d5);border:1px solid var(--rough-border, #93a1a1);}.copy.svelte-1uvsqdj {min-width:0;}.copy.svelte-1uvsqdj p:where(.svelte-1uvsqdj) {margin-bottom:0;}`};function Or(e,t){r.push(t,!0),r.append_styles(e,Dr);let n=r.prop(t,`sprite`,7),i=r.prop(t,`spriteBuild`,7),a=r.prop(t,`onselect`,7),o=async()=>{a()?.(n(),i())};var s={get sprite(){return n()},set sprite(e){n(e),r.flush()},get spriteBuild(){return i()},set spriteBuild(e){i(e),r.flush()},get onselect(){return a()},set onselect(e){a(e),r.flush()}},c=Er(),l=r.child(c),u=r.child(l),d=r.child(u,!0);r.reset(u);var f=r.sibling(u,2),p=r.child(f,!0);return r.reset(f),r.reset(l),Z(r.sibling(l,2),{onclick:o,role:`menuitem`,children:(e,t)=>{r.next();var n=r.text(`Insert`);r.append(e,n)},$$slots:{default:!0}}),r.reset(c),r.template_effect(()=>{r.set_text(d,n().name),r.set_text(p,i().prompt)}),r.append(e,c),r.pop(s)}r.create_custom_element(Or,{sprite:{},spriteBuild:{},onselect:{}},[],[],{mode:`open`});var kr=r.from_html(`<!> Insert Existing Rough Feature`,1),Ar=r.from_html(`<p>Loading…</p>`),jr=r.from_html(`<p> </p>`),Mr=r.from_html(`<div class="menu svelte-17o42e2" role="menu"><!></div>`),Nr=r.from_html(`<div class="SpriteBuildMenu svelte-17o42e2"><!> <!></div>`),Pr={hash:`svelte-17o42e2`,code:`.SpriteBuildMenu.svelte-17o42e2 {position:relative;}.menu.svelte-17o42e2 {position:absolute;top:calc(100% + 0.5rem);left:0;min-width:22rem;display:grid;gap:0.5rem;padding:0.5rem;background:var(--rough-background, #fdf6e3);border:1px solid var(--rough-border, #93a1a1);z-index:10;}`};function Fr(e,t){r.push(t,!0),r.append_styles(e,Pr);let n=r.prop(t,`surfaceId`,7),i=r.prop(t,`onselect`,7),a=$(e=>ye({surfaceId:n(),signal:e})),o=r.state(!1),s=()=>{r.set(o,!r.get(o))},c=(e,t)=>{r.set(o,!1),i()?.(e,t)};var l={get surfaceId(){return n()},set surfaceId(e){n(e),r.flush()},get onselect(){return i()},set onselect(e){i(e),r.flush()}},u=Nr(),d=r.child(u);Q(d,{onclick:s,"aria-haspopup":`menu`,get"aria-expanded"(){return r.get(o)},children:(e,t)=>{var n=kr();An(r.first_child(n),{size:20}),r.next(),r.append(e,n)},$$slots:{default:!0}});var f=r.sibling(d,2),p=e=>{var t=Mr(),n=r.child(t),i=e=>{var t=Ar();r.append(e,t)},o=e=>{var t=jr(),n=r.child(t);r.reset(t),r.template_effect(()=>r.set_text(n,`ERROR: ${a.error.message??``}`)),r.append(e,t)},s=e=>{var t=r.comment(),n=r.first_child(t);r.each(n,17,()=>a.data,e=>e.id,(e,t)=>{let n=r.derived(()=>r.get(t).publishedSpriteBuild);var i=r.comment(),a=r.first_child(i),o=e=>{Or(e,{get sprite(){return r.get(t)},get spriteBuild(){return r.get(n)},onselect:c})};r.if(a,e=>{r.get(n)&&e(o)}),r.append(e,i)}),r.append(e,t)};r.if(n,e=>{a.isLoading?e(i):a.error?e(o,1):e(s,-1)}),r.reset(t),r.append(e,t)};return r.if(f,e=>{r.get(o)&&e(p)}),r.reset(u),r.append(e,u),r.pop(l)}r.create_custom_element(Fr,{surfaceId:{},onselect:{}},[],[],{mode:`open`});export{g as Mutation,Z as PrimaryButton,_ as Query,Qt as ResizeHandle,pr as RoughCreateModal,_r as RoughEditButton,Sr as RoughFeature,Tr as RoughSurface,Q as SecondaryButton,Fr as SpriteBuildMenu,xn as SpriteFrame,v as Subscription,y as defineSurface,Oe as getRoughFeatures,ke as initRough,mr as openRoughCreate,Ee as registerSurfaceEntry};
90
+ .chrome.svelte-1aurlo0:active .badge:where(.svelte-1aurlo0) {opacity:1;pointer-events:auto;}`};function J_(e,t){r.push(t,!0),r.append_styles(e,q_);let n=r.prop(t,`spriteId`,7),i=r.prop(t,`toolList`,7),a=r.prop(t,`children`,7),o=r.state(!1),s=()=>{r.set(o,!0)},c=()=>{r.set(o,!1)};var l={get spriteId(){return n()},set spriteId(e){n(e),r.flush()},get toolList(){return i()},set toolList(e){i(e),r.flush()},get children(){return a()},set children(e){a(e),r.flush()}},u=K_(),d=r.first_child(u),f=r.child(d),p=r.child(f);r.reset(f);var m=r.sibling(f,2);r.snippet(m,a),r.reset(d);var h=r.sibling(d,2),g=e=>{H_(e,{get toolList(){return i()},get spriteId(){return n()},onclose:c})};return r.if(h,e=>{r.get(o)&&e(g)}),r.template_effect(()=>r.set_attribute(p,`src`,G_)),r.delegated(`click`,f,s),r.append(e,u),r.pop(l)}r.delegate([`click`]),r.create_custom_element(J_,{spriteId:{},toolList:{},children:{}},[],[],{mode:`open`});function Y_(e,t){r.push(t,!0);let n=r.prop(t,`featureId`,7),i=r.prop(t,`buildId`,7),a=r.prop(t,`surfaceKey`,7),o=r.prop(t,`datastore`,7),s=r.derived(()=>Ym(a()));var c={get featureId(){return n()},set featureId(e){n(e),r.flush()},get buildId(){return i()},set buildId(e){i(e),r.flush()},get surfaceKey(){return a()},set surfaceKey(e){a(e),r.flush()},get datastore(){return o()},set datastore(e){o(e),r.flush()}},l=r.comment(),u=r.first_child(l),d=e=>{J_(e,{get spriteId(){return n()},get toolList(){return r.get(s).toolList},children:(e,t)=>{qg(e,{get spriteId(){return n()},get spriteBuildId(){return i()},get spriteInstanceId(){return n()},get toolList(){return r.get(s).toolList},get datastore(){return o()}})},$$slots:{default:!0}})};return r.if(u,e=>{r.get(s)&&e(d)}),r.append(e,l),r.pop(c)}customElements.define(`rough-feature`,r.create_custom_element(Y_,{featureId:{},buildId:{},surfaceKey:{},datastore:{}},[],[]));var X_=r.from_html(`<div class="surface svelte-1f41bpr"><div class="frame-container svelte-1f41bpr"></div></div>`),Z_={hash:`svelte-1f41bpr`,code:`.surface.svelte-1f41bpr {flex:1;width:100%;border:1px dashed var(--rough-border, oklch(0.922 0 0));border-radius:var(--rough-radius-lg, 0.625rem);padding:0.5rem;background:var(--rough-background, white);}.frame-container.svelte-1f41bpr {display:flex;gap:0.5rem;flex-direction:column;}`};function Q_(e,t){r.push(t,!0),r.append_styles(e,Z_);let n=r.prop(t,`surface`,7),i=r.prop(t,`getDatastore`,7),a=r.state(r.proxy([]));l(()=>Xm(n(),e=>{r.set(a,e,!0)}));var o={get surface(){return n()},set surface(e){n(e),r.flush()},get getDatastore(){return i()},set getDatastore(e){i(e),r.flush()}},s=X_(),c=r.child(s);return r.each(c,21,()=>r.get(a),e=>e.id,(e,t)=>{let a=r.derived(()=>i()?.({spriteId:r.get(t).id,spriteInstanceId:r.get(t).id}));var o=r.comment(),s=r.first_child(o),c=e=>{Y_(e,{get featureId(){return r.get(t).id},get buildId(){return r.get(t).publishedSpriteBuildId},get surfaceKey(){return n().key},get datastore(){return r.get(a)}})};r.if(s,e=>{r.get(t).publishedSpriteBuildId&&e(c)}),r.append(e,o)}),r.reset(c),r.reset(s),r.append(e,s),r.pop(o)}customElements.define(`rough-surface`,r.create_custom_element(Q_,{surface:{},getDatastore:{}},[],[]));var $_=r.from_html(`<div class="SpriteBuildMenuItem svelte-1uvsqdj" role="none"><div class="copy svelte-1uvsqdj"><h3 class="svelte-1uvsqdj"> </h3> <p class="svelte-1uvsqdj"> </p></div> <!></div>`),ev={hash:`svelte-1uvsqdj`,code:`.SpriteBuildMenuItem.svelte-1uvsqdj {display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border-radius:var(--rough-radius-sm, 0.25rem);padding:0.75rem;background:transparent;color:var(--rough-popover-foreground, oklch(0.145 0 0));}.SpriteBuildMenuItem.svelte-1uvsqdj:hover {background:var(--rough-accent, oklch(0.97 0 0));color:var(--rough-accent-foreground, oklch(0.205 0 0));}.copy.svelte-1uvsqdj {min-width:0;}.copy.svelte-1uvsqdj h3:where(.svelte-1uvsqdj) {margin:0;font-size:0.875rem;font-weight:600;}.copy.svelte-1uvsqdj p:where(.svelte-1uvsqdj) {margin:0.25rem 0 0;color:var(--rough-muted-foreground, oklch(0.556 0 0));font-size:0.8rem;line-height:1.45;}`};function tv(e,t){r.push(t,!0),r.append_styles(e,ev);let n=r.prop(t,`sprite`,7),i=r.prop(t,`spriteBuild`,7),a=r.prop(t,`onselect`,7),o=async()=>{a()?.(n(),i())};var s={get sprite(){return n()},set sprite(e){n(e),r.flush()},get spriteBuild(){return i()},set spriteBuild(e){i(e),r.flush()},get onselect(){return a()},set onselect(e){a(e),r.flush()}},c=$_(),l=r.child(c),u=r.child(l),d=r.child(u,!0);r.reset(u);var f=r.sibling(u,2),p=r.child(f,!0);return r.reset(f),r.reset(l),lg(r.sibling(l,2),{onclick:o,role:`menuitem`,children:(e,t)=>{r.next();var n=r.text(`Insert`);r.append(e,n)},$$slots:{default:!0}}),r.reset(c),r.template_effect(()=>{r.set_text(d,n().name),r.set_text(p,i().prompt)}),r.append(e,c),r.pop(s)}r.create_custom_element(tv,{sprite:{},spriteBuild:{},onselect:{}},[],[],{mode:`open`});var nv=r.from_html(`<!> Insert Existing Rough Feature`,1),rv=r.from_html(`<p class="svelte-17o42e2">Loading…</p>`),iv=r.from_html(`<div class="menu svelte-17o42e2" role="menu"><!></div>`),av=r.from_html(`<div class="SpriteBuildMenu svelte-17o42e2"><!> <!></div>`),ov={hash:`svelte-17o42e2`,code:`.SpriteBuildMenu.svelte-17o42e2 {position:relative;}.menu.svelte-17o42e2 {position:absolute;top:calc(100% + 0.5rem);left:0;z-index:10;display:grid;gap:0.25rem;min-width:22rem;border:1px solid var(--rough-border, oklch(0.922 0 0));border-radius:var(--rough-radius-md, 0.375rem);padding:0.25rem;background:var(--rough-popover, white);box-shadow:var(--rough-shadow-md, 0 4px 6px -1px rgb(0 0 0 / 0.1));color:var(--rough-popover-foreground, oklch(0.145 0 0));}.menu.svelte-17o42e2 p:where(.svelte-17o42e2) {margin:0;padding:0.75rem;color:var(--rough-muted-foreground, oklch(0.556 0 0));font-size:0.875rem;}`};function sv(e,t){r.push(t,!0),r.append_styles(e,ov);let n=r.prop(t,`surfaceId`,7),i=r.prop(t,`onselect`,7),a=r.derived(()=>$(Q.meta.get(`store`))),o=r.derived(()=>r.get(a)._),s=r.derived(()=>$(Q.sprite.filter(`sprite-build-menu:${n()}`,e=>e.surfaceId===n()))),c=r.derived(()=>r.get(s)._),l=r.derived(()=>$(Q.spriteBuild.asList)),u=r.derived(()=>r.get(l)._),d=r.derived(()=>r.get(o)?.state===`READY`),f=r.derived(()=>r.get(c).flatMap(e=>{let t=Gm(r.get(u).filter(t=>t.spriteId===e.id));return t?[{sprite:{id:e.id,name:e.name,ownedByPersonId:e.ownedByPersonId,publishedSpriteBuildId:t.id},spriteBuild:t}]:[]})),p=r.state(!1),m=()=>{r.set(p,!r.get(p))},h=(e,t)=>{r.set(p,!1),i()?.(e,t)};var g={get surfaceId(){return n()},set surfaceId(e){n(e),r.flush()},get onselect(){return i()},set onselect(e){i(e),r.flush()}},_=av(),v=r.child(_);gg(v,{onclick:m,"aria-haspopup":`menu`,get"aria-expanded"(){return r.get(p)},children:(e,t)=>{var n=nv();n_(r.first_child(n),{size:20}),r.next(),r.append(e,n)},$$slots:{default:!0}});var y=r.sibling(v,2),b=e=>{var t=iv(),n=r.child(t),i=e=>{var t=rv();r.append(e,t)},a=e=>{var t=r.comment(),n=r.first_child(t);r.each(n,17,()=>r.get(f),e=>e.sprite.id,(e,t)=>{tv(e,{get sprite(){return r.get(t).sprite},get spriteBuild(){return r.get(t).spriteBuild},onselect:h})}),r.append(e,t)};r.if(n,e=>{r.get(d)?e(a,-1):e(i)}),r.reset(t),r.append(e,t)};return r.if(y,e=>{r.get(p)&&e(b)}),r.reset(_),r.append(e,_),r.pop(g)}r.create_custom_element(sv,{surfaceId:{},onselect:{}},[],[],{mode:`open`});export{ae as Mutation,lg as PrimaryButton,oe as Query,Tg as ResizeHandle,B_ as RoughCreateModal,W_ as RoughEditButton,Y_ as RoughFeature,Q_ as RoughSurface,gg as SecondaryButton,sv as SpriteBuildMenu,qg as SpriteFrame,se as Subscription,ce as defineSurface,Xm as getRoughFeatures,Zm as initRough,V_ as openRoughCreate,Jm as registerSurfaceEntry};