@tailorkit/cli 0.1.0-beta.14 → 0.1.0-beta.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,59 +1,18 @@
1
1
  #!/usr/bin/env node
2
- import{fileURLToPath as e}from"node:url";import{dirname as t}from"node:path";const n=e(import.meta.url);t(n);import{createRequire as r}from"node:module";import{cancel as i,confirm as a,intro as o,isCancel as s,log as c,outro as l,select as u,spinner as d,text as f}from"@clack/prompts";import{cac as p}from"cac";import m from"picocolors";import{chmod as h,mkdir as g,readFile as _,readdir as v,realpath as ee,rm as y,writeFile as b}from"node:fs/promises";import{homedir as x,platform as te}from"node:os";import S from"node:path";import{z as C}from"zod";import ne from"path";import{createHash as re}from"node:crypto";import{existsSync as ie}from"node:fs";import{promisify as ae}from"node:util";import{gzip as oe}from"node:zlib";import{spawn as se}from"node:child_process";import{Liquid as ce}from"liquidjs";var w=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),T=r(import.meta.url),le=C.object({entry:C.string().default(`./src/client.ts`)}),ue=C.object({outDir:C.string().default(`.tailorkit`)}),de=C.object({dark:C.string().min(1).optional(),light:C.string().min(1).optional()}),fe=C.object({appId:C.string().min(1).optional(),build:ue.optional(),client:le.optional(),host:C.string().url(),logos:de.optional()}),pe=w((e=>{Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=Symbol(`NOT_RESOLVED`);function n(e,t){return{tagName:e,nodeKind:`scalar`,implicit:t.implicit??!1,matchByTagPrefix:t.matchByTagPrefix??!1,implicitFirstChars:t.implicitFirstChars??null,resolve:t.resolve,identify:t.identify,represent:t.represent??(e=>String(e)),representTagName:t.representTagName??(()=>e)}}function r(e,t){let n=t.finalize===void 0;return{tagName:e,nodeKind:`sequence`,implicit:!1,matchByTagPrefix:t.matchByTagPrefix??!1,create:t.create,addItem:t.addItem,finalize:t.finalize??(e=>e),carrierIsResult:n,identify:t.identify,represent:t.represent??(e=>e),representTagName:t.representTagName??(()=>e)}}function i(e,t){let n=t.finalize===void 0;return{tagName:e,nodeKind:`mapping`,implicit:!1,matchByTagPrefix:t.matchByTagPrefix??!1,create:t.create,addPair:t.addPair,has:t.has,keys:t.keys,get:t.get,finalize:t.finalize??(e=>e),carrierIsResult:n,identify:t.identify,represent:t.represent??(e=>e),representTagName:t.representTagName??(()=>e)}}var a=n(`tag:yaml.org,2002:str`,{resolve:e=>e,identify:e=>typeof e==`string`}),o=[``,`~`,`null`,`Null`,`NULL`],s=n(`tag:yaml.org,2002:null`,{implicit:!0,implicitFirstChars:[``,`~`,`n`,`N`],resolve:e=>o.indexOf(e)===-1?t:null,identify:e=>e===null,represent:()=>`null`}),c=n(`tag:yaml.org,2002:null`,{implicit:!0,implicitFirstChars:[`n`],resolve:(e,n)=>e===`null`||n&&e===``?null:t,identify:e=>e===null,represent:()=>`null`}),l=[``,`~`,`null`,`Null`,`NULL`],u=n(`tag:yaml.org,2002:null`,{implicit:!0,implicitFirstChars:[``,`~`,`n`,`N`],resolve:e=>l.indexOf(e)===-1?t:null,identify:e=>e===null,represent:()=>`null`}),d=[`true`,`True`,`TRUE`],f=[`false`,`False`,`FALSE`],p=n(`tag:yaml.org,2002:bool`,{implicit:!0,implicitFirstChars:[`t`,`T`,`f`,`F`],resolve:e=>d.indexOf(e)!==-1||f.indexOf(e)===-1&&t,identify:e=>Object.prototype.toString.call(e)===`[object Boolean]`,represent:e=>e?`true`:`false`}),m=[`true`],h=[`false`],g=n(`tag:yaml.org,2002:bool`,{implicit:!0,implicitFirstChars:[`t`,`f`],resolve:e=>m.indexOf(e)!==-1||h.indexOf(e)===-1&&t,identify:e=>Object.prototype.toString.call(e)===`[object Boolean]`,represent:e=>e?`true`:`false`}),_=[`true`,`True`,`TRUE`,`y`,`Y`,`yes`,`Yes`,`YES`,`on`,`On`,`ON`],v=[`false`,`False`,`FALSE`,`n`,`N`,`no`,`No`,`NO`,`off`,`Off`,`OFF`],ee=n(`tag:yaml.org,2002:bool`,{implicit:!0,implicitFirstChars:[`y`,`Y`,`n`,`N`,`t`,`T`,`f`,`F`,`o`,`O`],resolve:e=>_.indexOf(e)!==-1||v.indexOf(e)===-1&&t,identify:e=>Object.prototype.toString.call(e)===`[object Boolean]`,represent:e=>e?`true`:`false`}),y=RegExp(`^(?:0o[0-7]+|0x[0-9a-fA-F]+|[-+]?[0-9]+)$`),b=RegExp(`^(?:[-+]?0b[0-1]+|[-+]?0o[0-7]+|[-+]?0x[0-9a-fA-F]+|[-+]?[0-9]+)$`);function x(e){let t=e,n=1;return(t[0]===`-`||t[0]===`+`)&&(t[0]===`-`&&(n=-1),t=t.slice(1)),t.startsWith(`0b`)?n*parseInt(t.slice(2),2):t.startsWith(`0o`)?n*parseInt(t.slice(2),8):t.startsWith(`0x`)?n*parseInt(t.slice(2),16):n*parseInt(t,10)}function te(e,n){if(n){if(!b.test(e))return t}else if(!y.test(e))return t;let r=x(e);return Number.isFinite(r)?r:t}var S=n(`tag:yaml.org,2002:int`,{implicit:!0,implicitFirstChars:[`-`,`+`,...`0123456789`],resolve:te,identify:e=>Number.isInteger(e)&&!Object.is(e,-0)&&e.toString(10).indexOf(`e`)<0,represent:e=>e.toString(10)}),C=RegExp(`^-?(?:0|[1-9][0-9]*)$`),ne=RegExp(`^(?:[-+]?0b[0-1]+|[-+]?0o[0-7]+|[-+]?0x[0-9a-fA-F]+|[-+]?[0-9]+)$`);function re(e){let t=e,n=1;return(t[0]===`-`||t[0]===`+`)&&(t[0]===`-`&&(n=-1),t=t.slice(1)),t.startsWith(`0b`)?n*parseInt(t.slice(2),2):t.startsWith(`0o`)?n*parseInt(t.slice(2),8):t.startsWith(`0x`)?n*parseInt(t.slice(2),16):n*parseInt(t,10)}function ie(e,n){if(n){if(!ne.test(e))return t}else if(!C.test(e))return t;let r=re(e);return Number.isFinite(r)?r:t}var ae=n(`tag:yaml.org,2002:int`,{implicit:!0,implicitFirstChars:[`-`,...`0123456789`],resolve:ie,identify:e=>Number.isInteger(e)&&!Object.is(e,-0)&&e.toString(10).indexOf(`e`)<0,represent:e=>e.toString(10)}),oe=RegExp(`^(?:[-+]?0b[0-1_]+|[-+]?0[0-7_]+|[-+]?0x[0-9a-fA-F_]+|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+|[-+]?(?:0|[1-9][0-9_]*))$`);function se(e){let t=e.replace(/_/g,``),n=1;if((t[0]===`-`||t[0]===`+`)&&(t[0]===`-`&&(n=-1),t=t.slice(1)),t.startsWith(`0b`))return n*parseInt(t.slice(2),2);if(t.startsWith(`0x`))return n*parseInt(t.slice(2),16);if(t.includes(`:`)){let e=0;for(let n of t.split(`:`))e=e*60+Number(n);return n*e}return t!==`0`&&t[0]===`0`?n*parseInt(t,8):n*parseInt(t,10)}function ce(e){if(!oe.test(e))return t;let n=se(e);return Number.isFinite(n)?n:t}var w=n(`tag:yaml.org,2002:int`,{implicit:!0,implicitFirstChars:[`-`,`+`,...`0123456789`],resolve:ce,identify:e=>Number.isInteger(e)&&!Object.is(e,-0)&&e.toString(10).indexOf(`e`)<0,represent:e=>e.toString(10)}),T=RegExp(`^(?:[-+]?[0-9]+(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?|[-+]?\\.[0-9]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$`),le=RegExp(`^(?:[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$`);function ue(e){if(!T.test(e))return t;let n=e.toLowerCase(),r=n[0]===`-`?-1:1;if(`+-`.includes(n[0])&&(n=n.slice(1)),n===`.inf`)return r===1?1/0:-1/0;if(n===`.nan`)return NaN;let i=r*parseFloat(n);return Number.isFinite(i)||le.test(e)?i:t}function de(e){if(isNaN(e))return`.nan`;if(e===1/0)return`.inf`;if(e===-1/0)return`-.inf`;if(Object.is(e,-0))return`-0.0`;let t=e.toString(10);return/^[-+]?[0-9]+e/.test(t)?t.replace(`e`,`.e`):t}var fe=n(`tag:yaml.org,2002:float`,{implicit:!0,implicitFirstChars:[`-`,`+`,`.`,...`0123456789`],resolve:ue,identify:e=>typeof e==`number`&&(!Number.isInteger(e)||Object.is(e,-0)||e.toString(10).indexOf(`e`)>=0),represent:de}),pe=RegExp(`^-?(?:0|[1-9][0-9]*)(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$`),me=RegExp(`^(?:[-+]?[0-9]+(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?|[-+]?\\.[0-9]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$`);function he(e,n){if(n){if(!me.test(e))return t;let n=e.toLowerCase(),r=n[0]===`-`?-1:1;if(`+-`.includes(n[0])&&(n=n.slice(1)),n===`.inf`)return r===1?1/0:-1/0;if(n===`.nan`)return NaN;let i=r*parseFloat(n);return Number.isFinite(i)?i:t}if(!pe.test(e))return t;let r=Number(e);return Number.isFinite(r)?r:t}function ge(e){if(isNaN(e))return`.nan`;if(e===1/0)return`.inf`;if(e===-1/0)return`-.inf`;if(Object.is(e,-0))return`-0.0`;let t=e.toString(10);return/^[-+]?[0-9]+e/.test(t)?t.replace(`e`,`.e`):t}var _e=n(`tag:yaml.org,2002:float`,{implicit:!0,implicitFirstChars:[`-`,...`0123456789`],resolve:he,identify:e=>typeof e==`number`&&(!Number.isInteger(e)||Object.is(e,-0)||e.toString(10).indexOf(`e`)>=0),represent:ge}),ve=RegExp(`^(?:[-+]?(?:(?:[0-9][0-9_]*)?\\.[0-9_]*)(?:[eE][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$`),ye=RegExp(`^(?:[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$`);function be(e){if(!ve.test(e))return t;let n=e.toLowerCase().replace(/_/g,``),r=n[0]===`-`?-1:1;if(`+-`.includes(n[0])&&(n=n.slice(1)),n===`.inf`)return r===1?1/0:-1/0;if(n===`.nan`)return NaN;let i=0;if(n.includes(`:`)){for(let e of n.split(`:`))i=i*60+Number(e);i*=r}else i=r*parseFloat(n);return Number.isFinite(i)||ye.test(e)?i:t}function xe(e){if(isNaN(e))return`.nan`;if(e===1/0)return`.inf`;if(e===-1/0)return`-.inf`;if(Object.is(e,-0))return`-0.0`;let t=e.toString(10);return/^[-+]?[0-9]+e/.test(t)?t.replace(`e`,`.e`):t}var Se=n(`tag:yaml.org,2002:float`,{implicit:!0,implicitFirstChars:[`-`,`+`,`.`,...`0123456789`],resolve:be,identify:e=>typeof e==`number`&&(!Number.isInteger(e)||Object.is(e,-0)||e.toString(10).indexOf(`e`)>=0),represent:xe}),Ce=n(`tag:yaml.org,2002:merge`,{implicit:!0,implicitFirstChars:[`<`],resolve:(e,n)=>e===`<<`||n&&e===``?`<<`:t,identify:()=>!1}),we=/^[A-Za-z0-9+/]*={0,2}$/;function Te(e){let n=e.replace(/\s/g,``);if(n.length%4!=0||!we.test(n))return t;let r=atob(n),i=new Uint8Array(r.length);for(let e=0;e<r.length;e++)i[e]=r.charCodeAt(e);return i}function Ee(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}var De=n(`tag:yaml.org,2002:binary`,{resolve:Te,identify:e=>Object.prototype.toString.call(e)===`[object Uint8Array]`,represent:Ee}),Oe=RegExp(`^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$`),ke=RegExp(`^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$`);function Ae(e,t,n,r=0,i=0,a=0,o=0){let s=new Date(Date.UTC(e,t,n,r,i,a,o));return s.setUTCFullYear(e,t,n),s}function je(e){let n=Oe.exec(e);if(n===null&&(n=ke.exec(e)),n===null)return t;let r=+n[1],i=n[2]-1,a=+n[3];if(!n[4]){let e=Ae(r,i,a);return e.getUTCFullYear()!==r||e.getUTCMonth()!==i||e.getUTCDate()!==a?t:e}let o=+n[4],s=+n[5],c=+n[6],l=0;if(o>23||s>59||c>59)return t;if(n[7]){let e=n[7].slice(0,3);for(;e.length<3;)e+=`0`;l=+e}let u=Ae(r,i,a,o,s,c,l);if(u.getUTCFullYear()!==r||u.getUTCMonth()!==i||u.getUTCDate()!==a)return t;if(n[9]){let e=+n[10],r=+(n[11]||0);if(e>23||r>59)return t;let i=(e*60+r)*6e4;u.setTime(u.getTime()-(n[9]===`-`?-i:i))}return u}var Me=n(`tag:yaml.org,2002:timestamp`,{implicit:!0,implicitFirstChars:[...`0123456789`],resolve:je,identify:e=>e instanceof Date,represent:e=>e.toISOString()}),Ne=r(`tag:yaml.org,2002:seq`,{create:()=>[],addItem:(e,t)=>{e.push(t)},identify:Array.isArray});function Pe(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function Fe(e,t){let n={};for(let r of t)e[r]!==void 0&&(n[r]=e[r]);return n}var Ie=r(`tag:yaml.org,2002:omap`,{create:()=>({list:[],seen:new Set}),addItem:(e,t)=>{let n;if(t instanceof Map){if(t.size!==1)return`cannot resolve an ordered map item`;n=t.keys().next().value}else if(Pe(t)){let e=Object.keys(t);if(e.length!==1)return`cannot resolve an ordered map item`;n=e[0]}else return`cannot resolve an ordered map item`;return e.seen.has(n)?`duplicate key in ordered map`:(e.seen.add(n),e.list.push(t),``)},finalize:e=>e.list,identify:()=>!1}),E=r(`tag:yaml.org,2002:pairs`,{create:()=>[],addItem:(e,t)=>{if(t instanceof Map)return t.size===1?(e.push(t.entries().next().value),``):`cannot resolve a pairs item`;if(Object.prototype.toString.call(t)!==`[object Object]`)return`cannot resolve a pairs item`;let n=t,r=Object.keys(n);return r.length===1?(e.push([r[0],n[r[0]]]),``):`cannot resolve a pairs item`},identify:()=>!1}),Le=i(`tag:yaml.org,2002:map`,{create:()=>({}),identify:Pe,represent:e=>{let t=new Map;for(let n of Object.keys(e))t.set(n,e[n]);return t},addPair:(e,t,n)=>{if(typeof t==`object`&&t)return`object-based map does not support complex keys`;let r=String(t);return r===`__proto__`?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,``},has:(e,t)=>typeof t==`object`&&t?!1:Object.prototype.hasOwnProperty.call(e,String(t)),keys:e=>Object.keys(e),get:(e,t)=>{let n=String(t);return Object.prototype.hasOwnProperty.call(e,n)?e[n]:null}}),D=i(`tag:yaml.org,2002:set`,{create:()=>new Set,identify:e=>e instanceof Set,represent:e=>{let t=new Map;for(let n of e)t.set(n,null);return t},addPair:(e,t,n)=>n===null?(e.add(t),``):`cannot resolve a set item`,has:(e,t)=>e.has(t),keys:e=>e.keys(),get:()=>null});function O(e){"@babel/helpers - typeof";return O=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},O(e)}function Re(e,t){if(O(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(O(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function ze(e){var t=Re(e,`string`);return O(t)==`symbol`?t:t+``}function k(e,t,n){return(t=ze(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Be(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function A(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Be(Object(n),!0).forEach(function(t){k(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Be(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Ve(){return{scalar:Object.create(null),sequence:Object.create(null),mapping:Object.create(null)}}function He(){return{scalar:[],sequence:[],mapping:[]}}function Ue(e){let t=[];for(let n of e){let e=t.length;for(let r=0;r<t.length;r++){let i=t[r];if(i.nodeKind===n.nodeKind&&i.tagName===n.tagName&&i.matchByTagPrefix===n.matchByTagPrefix){e=r;break}}t[e]=n}return t}var j=class e{constructor(e){k(this,`tags`,void 0),k(this,`implicitScalarTags`,void 0),k(this,`implicitScalarByFirstChar`,void 0),k(this,`implicitScalarAnyFirstChar`,void 0),k(this,`defaultScalarTag`,void 0),k(this,`defaultSequenceTag`,void 0),k(this,`defaultMappingTag`,void 0),k(this,`exact`,void 0),k(this,`prefix`,void 0);let t=Ue(e),n=[],r=Ve(),i=He();for(let e of t){if(e.nodeKind===`scalar`&&e.implicit){if(e.matchByTagPrefix)throw Error(`Implicit scalar tags cannot match by tag prefix`);n.push(e)}switch(e.nodeKind){case`scalar`:e.matchByTagPrefix?i.scalar.push(e):r.scalar[e.tagName]=e;break;case`sequence`:e.matchByTagPrefix?i.sequence.push(e):r.sequence[e.tagName]=e;break;case`mapping`:e.matchByTagPrefix?i.mapping.push(e):r.mapping[e.tagName]=e}}let a=n.filter(e=>e.implicitFirstChars===null),o=new Set;for(let e of n)if(e.implicitFirstChars!==null)for(let t of e.implicitFirstChars)o.add(t);let s=new Map;for(let e of o)s.set(e,n.filter(t=>t.implicitFirstChars===null||t.implicitFirstChars.indexOf(e)!==-1));let c=r.scalar[`tag:yaml.org,2002:str`];if(!c)throw Error(`schema does not define the default scalar tag (tag:yaml.org,2002:str)`);this.tags=t,this.implicitScalarTags=n,this.implicitScalarByFirstChar=s,this.implicitScalarAnyFirstChar=a,this.defaultScalarTag=c,this.defaultSequenceTag=r.sequence[`tag:yaml.org,2002:seq`],this.defaultMappingTag=r.mapping[`tag:yaml.org,2002:map`],this.exact=r,this.prefix=i}lookupScalarTag(e){let t=this.exact.scalar[e];if(t)return t;for(let t of this.prefix.scalar)if(e.startsWith(t.tagName))return t}lookupSequenceTag(e){let t=this.exact.sequence[e];if(t)return t;for(let t of this.prefix.sequence)if(e.startsWith(t.tagName))return t}lookupMappingTag(e){let t=this.exact.mapping[e];if(t)return t;for(let t of this.prefix.mapping)if(e.startsWith(t.tagName))return t}resolveImplicitScalarTag(e){let n=this.implicitScalarByFirstChar.get(e.charAt(0))??this.implicitScalarAnyFirstChar;for(let r of n){let n=r.resolve(e,!1,r.tagName);if(n!==t)return{value:n,tag:r}}let r=this.defaultScalarTag;return{value:r.resolve(e,!1,r.tagName),tag:r}}withTags(...t){let n=[];for(let e of t)n=n.concat(e);return new e([...this.tags,...n])}},We=new j([a,Ne,Le]),Ge=new j([...We.tags,c,g,ae,_e]),Ke=new j([...We.tags,s,p,S,fe]),qe=new j([...We.tags,u,ee,w,Se,Me,Ce,De,Ie,E,D]),Je=qe.withTags(A(A({},w),{},{resolve:(e,n,r)=>{let i=w.resolve(e,n,r);return i===t?S.resolve(e,n,r):i}}),A(A({},Se),{},{resolve:(e,n,r)=>{let i=Se.resolve(e,n,r);return i===t?fe.resolve(e,n,r):i}})),Ye=i(`tag:yaml.org,2002:map`,{create:()=>new Map,addPair:(e,t,n)=>(e.set(t,n),``),has:(e,t)=>e.has(t),keys:e=>e.keys(),get:(e,t)=>e.get(t),identify:e=>e instanceof Map||Pe(e),represent:e=>{if(e instanceof Map)return e;let t=new Map,n=e;for(let e of Object.keys(n))t.set(e,n[e]);return t}});function Xe(e){if(Array.isArray(e)){let t=Array.prototype.slice.call(e);for(let e=0;e<t.length;e++){if(Array.isArray(t[e]))return null;typeof t[e]==`object`&&Object.prototype.toString.call(t[e])===`[object Object]`&&(t[e]=`[object Object]`)}return String(t)}return typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`?`[object Object]`:String(e)}var Ze=i(`tag:yaml.org,2002:map`,{create:()=>({}),identify:Pe,represent:e=>{let t=new Map;for(let n of Object.keys(e))t.set(n,e[n]);return t},addPair:(e,t,n)=>{let r=Xe(t);return r===null?`nested arrays are not supported inside keys`:(r===`__proto__`?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,``)},has:(e,t)=>{let n=Xe(t);return n!==null&&Object.prototype.hasOwnProperty.call(e,n)},keys:e=>Object.keys(e),get:(e,t)=>{let n=String(t);return Object.prototype.hasOwnProperty.call(e,n)?e[n]:null}}),Qe={maxLength:79,indent:1,linesBefore:3,linesAfter:2};function $e(e,t,n,r,i){let a=``,o=``,s=Math.floor(i/2)-1;return r-t>s&&(a=` ... `,t=r-s+a.length),n-r>s&&(o=` ...`,n=r+s-o.length),{str:a+e.slice(t,n).replace(/\t/g,`→`)+o,pos:r-t+a.length}}function et(e,t){return` `.repeat(Math.max(t-e.length,0))+e}function tt(e,t){if(!e.buffer)return null;let n=A(A({},Qe),t),r=/\r?\n|\r|\0/g,i=[0],a=[],o,s=-1;for(;o=r.exec(e.buffer);)a.push(o.index),i.push(o.index+o[0].length),e.position<=o.index&&s<0&&(s=i.length-2);s<0&&(s=i.length-1);let c=``,l=Math.min(e.line+n.linesAfter,a.length).toString().length,u=n.maxLength-(n.indent+l+3);for(let t=1;t<=n.linesBefore&&!(s-t<0);t++){let r=$e(e.buffer,i[s-t],a[s-t],e.position-(i[s]-i[s-t]),u);c=`${` `.repeat(n.indent)}${et((e.line-t+1).toString(),l)} | ${r.str}\n${c}`}let d=$e(e.buffer,i[s],a[s],e.position,u);c+=`${` `.repeat(n.indent)}${et((e.line+1).toString(),l)} | ${d.str}\n`,c+=`${`-`.repeat(n.indent+l+3+d.pos)}^\n`;for(let t=1;t<=n.linesAfter&&!(s+t>=a.length);t++){let r=$e(e.buffer,i[s+t],a[s+t],e.position-(i[s]-i[s+t]),u);c+=`${` `.repeat(n.indent)}${et((e.line+t+1).toString(),l)} | ${r.str}\n`}return c.replace(/\n$/,``)}function nt(e,t){let n=``;return e.mark?(e.mark.name&&(n+=`in "${e.mark.name}" `),n+=`(${e.mark.line+1}:${e.mark.column+1})`,!t&&e.mark.snippet&&(n+=`\n\n${e.mark.snippet}`),`${e.reason} ${n}`):e.reason}var M=class e extends Error{constructor(e,t){super(),k(this,`reason`,void 0),k(this,`mark`,void 0),this.name=`YAMLException`,this.reason=e,this.mark=t,this.message=nt(this,!1),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}toString(e){return`${this.name}: ${nt(this,e)}`}static throwAt(t,n,r,i=``){let a=0,o=0;for(let e=0;e<n;e++){let n=t.charCodeAt(e);n===10?(a++,o=e+1):n===13&&(a++,t.charCodeAt(e+1)===10&&e++,o=e+1)}let s={name:i,buffer:t,position:n,line:a,column:n-o};throw s.snippet=tt(s),new e(r,s)}},N={DOCUMENT:1,SEQUENCE:2,MAPPING:3,SCALAR:4,ALIAS:5,POP:6},P={PLAIN:1,SINGLE_QUOTED:2,DOUBLE_QUOTED:3,LITERAL_BLOCK:4,FOLDED_BLOCK:5},F={BLOCK:1,FLOW:2},I={CLIP:1,STRIP:2,KEEP:3},rt=-1;function it(e){switch(e){case 48:return`\0`;case 97:return`\x07`;case 98:return`\b`;case 116:return` `;case 9:return` `;case 110:return`
3
- `;case 118:return`\v`;case 102:return`\f`;case 114:return`\r`;case 101:return`\x1B`;case 32:return` `;case 34:return`"`;case 47:return`/`;case 92:return`\\`;case 78:return`…`;case 95:return`\xA0`;case 76:return`\u2028`;case 80:return`\u2029`;default:return``}}var at=Array(256),ot=Array(256);for(let e=0;e<256;e++)at[e]=+!!it(e),ot[e]=it(e);function st(e){return e<=65535?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}function ct(e){return e>=48&&e<=57?e-48:(e|32)-97+10}function lt(e){return e===120?2:e===117?4:8}function ut(e,t,n){let r=0;for(;t<n;){let n=e.charCodeAt(t);if(n===10)r++,t++;else if(n===13)r++,t++,e.charCodeAt(t)===10&&t++;else if(n===32||n===9)t++;else break}return{position:t,breaks:r}}function dt(e){return e===1?` `:`
4
- `.repeat(e-1)}function ft(e,t,n){let r=``,i=t,a=t,o=t;for(;i<n;){let t=e.charCodeAt(i);if(t===10||t===13){r+=e.slice(a,o);let t=ut(e,i,n);r+=dt(t.breaks),i=a=o=t.position}else i++,t!==32&&t!==9&&(o=i)}return r+e.slice(a,o)}function pt(e,t,n){let r=``,i=t,a=t,o=t;for(;i<n;){let t=e.charCodeAt(i);if(t===39)r+=e.slice(a,i)+`'`,i+=2,a=o=i;else if(t===10||t===13){r+=e.slice(a,o);let t=ut(e,i,n);r+=dt(t.breaks),i=a=o=t.position}else i++,t!==32&&t!==9&&(o=i)}return r+e.slice(a,n)}function mt(e,t,n){let r=``,i=t,a=t,o=t;for(;i<n;){let t=e.charCodeAt(i);if(t===92){r+=e.slice(a,i),i++;let t=e.charCodeAt(i);if(t===10||t===13)i=ut(e,i,n).position;else if(t<256&&at[t])r+=ot[t],i++;else{let n=lt(t),a=0;for(;n>0;n--){i++;let t=ct(e.charCodeAt(i));a=(a<<4)+t}r+=st(a),i++}a=o=i}else if(t===10||t===13){r+=e.slice(a,o);let t=ut(e,i,n);r+=dt(t.breaks),i=a=o=t.position}else i++,t!==32&&t!==9&&(o=i)}return r+e.slice(a,n)}function ht(e,t,n,r,i,a){let o=r<0?0:r,s=e.slice(t,n).replace(/\r\n?/g,`
5
- `),c=s===``?[]:(s.endsWith(`
6
- `)?s.slice(0,-1):s).split(`
7
- `),l=``,u=!1,d=0,f=!1;for(let e of c){let t=0;for(;t<o&&e.charCodeAt(t)===32;)t++;if(r<0||t>=e.length){d++;continue}let n=e.slice(o),i=n.charCodeAt(0);a?i===32||i===9?(f=!0,l+=`
8
- `.repeat(u?1+d:d)):f?(f=!1,l+=`
9
- `.repeat(d+1)):d===0?u&&(l+=` `):l+=`
10
- `.repeat(d):l+=`
11
- `.repeat(u?1+d:d),l+=n,u=!0,d=0}return i===I.KEEP?l+=`
12
- `.repeat(u?1+d:d):i!==I.STRIP&&u&&(l+=`
13
- `),l}function gt(e,t){if(t.valueStart===rt)return``;let{valueStart:n,valueEnd:r}=t;if(t.fast)return e.slice(n,r);switch(t.style){case P.SINGLE_QUOTED:return pt(e,n,r);case P.DOUBLE_QUOTED:return mt(e,n,r);case P.LITERAL_BLOCK:return ht(e,n,r,t.indent,t.chomping,!1);case P.FOLDED_BLOCK:return ht(e,n,r,t.indent,t.chomping,!0);default:return ft(e,n,r)}}var _t=Object.assign(Object.create(null),{"!":`!`,"!!":`tag:yaml.org,2002:`});function vt(e){return encodeURI(e).replace(/!/g,`%21`)}function yt(e,t){if(e.startsWith(`!<`)&&e.endsWith(`>`))return decodeURIComponent(e.slice(2,-1));let n=e.indexOf(`!`,1),r=n===-1?`!`:e.slice(0,n+1),i=t?.[r]??_t[r]??r;return decodeURIComponent(i)+decodeURIComponent(e.slice(r.length))}function bt(e){let t=e;return t.charCodeAt(0)===33?(t=t.slice(1),`!${vt(t)}`):t.slice(0,18)===`tag:yaml.org,2002:`?`!!${vt(t.slice(18))}`:`!<${vt(t)}>`}var xt=-1,St=`tag:yaml.org,2002:merge`,Ct={filename:``,schema:Ke,json:!1,maxTotalMergeKeys:1e4,maxAliases:-1};function wt(e){return`tagStart`in e&&e.tagStart!==xt?e.tagStart:`anchorStart`in e&&e.anchorStart!==xt?e.anchorStart:`valueStart`in e&&e.valueStart!==xt?e.valueStart:`start`in e?e.start:0}function L(e,t){M.throwAt(e.source,e.position,t,e.filename)}function Tt(e,t,n,r){try{return n.finalize(r)}catch(n){if(n instanceof M)throw n;M.throwAt(e.source,t,n instanceof Error?n.message:String(n),e.filename)}}function Et(e,n){let r=gt(e.source,n),i=n.tagStart===xt?``:e.source.slice(n.tagStart,n.tagEnd),a=e.schema.defaultScalarTag;if(i!==``){if(i===`!`)return{value:r,tag:a};let n=yt(i,e.tagHandlers),o=e.schema.lookupScalarTag(n);if(o){let i=o.resolve(r,!0,n);return i===t&&L(e,`cannot resolve a node with !<${n}> explicit tag`),{value:i,tag:o}}let s=e.schema.lookupMappingTag(n)??e.schema.lookupSequenceTag(n);if(s){r!==``&&L(e,`cannot resolve a node with !<${n}> explicit tag`);let t=s.create(n);return{value:s.carrierIsResult?t:Tt(e,e.position,s,t),tag:s}}L(e,`unknown scalar tag !<${n}>`)}return n.style===P.PLAIN?e.schema.resolveImplicitScalarTag(r):{value:a.resolve(r,!1,a.tagName),tag:a}}function Dt(e,t,n){let r=t.tagStart===xt?``:e.source.slice(t.tagStart,t.tagEnd);return r===``||r===`!`?n:yt(r,e.tagHandlers)}function Ot(e){return e.nodeKind===`mapping`}function kt(e){e.totalMergeKeys++,e.maxTotalMergeKeys!==-1&&e.totalMergeKeys>e.maxTotalMergeKeys&&L(e,`merge keys exceeded maxTotalMergeKeys (${e.maxTotalMergeKeys})`)}function At(e,t,n,r){kt(e);for(let i of r.keys(n)){if(kt(e),t.tag.has(t.value,i))continue;let a=t.tag.addPair(t.value,i,r.get(n,i));a&&L(e,a),t.overridable??=new Set,t.overridable.add(i)}}function jt(e,t,n,r){if(e.position=t.keyPosition,Ot(r))At(e,t,n,r);else if(r.nodeKind===`sequence`&&Array.isArray(n)){n.length>100&&L(e,`abnormal merge sequence size`);for(let r of n){let n=e.nodeTags.get(r);n||L(e,`cannot merge mappings; the provided source object is unacceptable`),At(e,t,r,n)}}else L(e,`cannot merge mappings; the provided source object is unacceptable`)}function Mt(e,t,n,r,i){var a;if(e.position=t.keyPosition,t.keyIsMerge){jt(e,t,r,i);return}!e.json&&t.tag.has(t.value,n)&&!t.overridable?.has(n)&&L(e,`duplicated mapping key`);let o=t.tag.addPair(t.value,n,r);o&&L(e,o),(a=t.overridable)==null||a.delete(n)}function Nt(e,t,n){let r=e.frames[e.frames.length-1];if(r.kind===`document`)r.value=t,r.hasValue=!0;else if(r.kind===`sequence`){Ot(n)&&e.nodeTags.set(t,n);let i=r.tag.addItem(r.value,t,r.index++);i&&L(e,i)}else if(r.hasKey){let i=r.key;r.key=void 0,r.hasKey=!1,Mt(e,r,i,t,n)}else r.key=t,r.keyPosition=e.position,r.hasKey=!0,r.keyIsMerge=n.tagName===St}function Pt(e,t,n,r,i){if(t.anchorStart!==xt){let a={value:n,tag:r,isValueFinal:i};return e.anchors.set(e.source.slice(t.anchorStart,t.anchorEnd),a),a}return null}function Ft(e,t){let n=A(A(A({},Ct),t),{},{events:e,documents:[],eventIndex:0,position:0,frames:[],anchors:new Map,nodeTags:new Map,tagHandlers:Object.create(null),totalMergeKeys:0,aliasCount:0});for(;n.eventIndex<n.events.length;){let e=n.events[n.eventIndex++];switch(n.position=wt(e),e.type){case N.DOCUMENT:n.anchors=new Map,n.nodeTags=new Map,n.aliasCount=0,n.tagHandlers=Object.create(null);for(let t of e.directives)t.kind===`tag`&&(n.tagHandlers[t.handle]=t.prefix);n.frames.push({kind:`document`,position:n.position,value:void 0,hasValue:!1});break;case N.SCALAR:{let{value:t,tag:r}=Et(n,e);Pt(n,e,t,r,!0),Nt(n,t,r);break}case N.SEQUENCE:{let t=Dt(n,e,`tag:yaml.org,2002:seq`),r=n.schema.lookupSequenceTag(t);r||L(n,`unknown sequence tag !<${t}>`);let i=r.create(t),a=Pt(n,e,i,r,r.carrierIsResult);n.frames.push({kind:`sequence`,position:n.position,value:i,tag:r,anchor:a,index:0});break}case N.MAPPING:{let t=Dt(n,e,`tag:yaml.org,2002:map`),r=n.schema.lookupMappingTag(t);r||L(n,`unknown mapping tag !<${t}>`);let i=r.create(t),a=Pt(n,e,i,r,r.carrierIsResult);n.frames.push({kind:`mapping`,position:n.position,value:i,tag:r,anchor:a,key:void 0,keyPosition:n.position,hasKey:!1,keyIsMerge:!1,overridable:null});break}case N.ALIAS:{n.maxAliases!==-1&&++n.aliasCount>n.maxAliases&&L(n,`aliases exceeded maxAliases (${n.maxAliases})`);let t=n.source.slice(e.anchorStart,e.anchorEnd),r=n.anchors.get(t);r||L(n,`unidentified alias "${t}"`),r.isValueFinal||L(n,`recursive alias "${t}" is not supported for tag ${r.tag.tagName} because it uses finalize()`),Nt(n,r.value,r.tag);break}case N.POP:{let e=n.frames.pop();if(e.kind===`mapping`&&e.hasKey&&(n.position=e.keyPosition,L(n,`incomplete mapping pair in event stream`)),e.kind===`document`)n.documents.push(e.value);else{let t=e.tag.carrierIsResult?e.value:Tt(n,e.position,e.tag,e.value);e.anchor&&(e.anchor.value=t,e.anchor.isValueFinal=!0),Nt(n,t,e.tag)}break}}}return n.documents}var R=-1,It=Object.prototype.hasOwnProperty,Lt=1,Rt=2,zt=3,Bt=4,Vt=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Ht=/[,\[\]{}]/,Ut=/^(?:!|!!|![0-9A-Za-z-]+!)$/,Wt=String.raw`(?:%[0-9A-Fa-f]{2}|[0-9A-Za-z\-#;/?:@&=+$,_.!~*'()\[\]])`,Gt=String.raw`(?:%[0-9A-Fa-f]{2}|[0-9A-Za-z\-#;/?:@&=+$.~*'()_])`,Kt=RegExp(`^(?:${Wt})*$`),qt=RegExp(`^(?:${Gt})+$`),Jt=RegExp(`^(?:!(?:${Wt})*|${Gt}(?:${Wt})*)$`),z={filename:``,maxDepth:100};function Yt(e,t,n){e.events.push({type:N.DOCUMENT,explicitStart:t,explicitEnd:n,directives:e.directives})}function Xt(e,t,n,r,i,a,o){e.events.push({type:N.SEQUENCE,start:t,anchorStart:n,anchorEnd:r,tagStart:i,tagEnd:a,style:o})}function Zt(e,t,n,r,i,a,o){e.events.push({type:N.MAPPING,start:t,anchorStart:n,anchorEnd:r,tagStart:i,tagEnd:a,style:o})}function Qt(e,t){e.events.splice(t.eventsLength,0,{type:N.MAPPING,start:t.position,anchorStart:R,anchorEnd:R,tagStart:R,tagEnd:R,style:F.FLOW})}function $t(e,t,n,r,i,a,o,s,c=I.CLIP,l=-1,u=!1){e.events.push({type:N.SCALAR,valueStart:t,valueEnd:n,anchorStart:r,anchorEnd:i,tagStart:a,tagEnd:o,style:s,chomping:c,indent:l,fast:u})}function en(e,t,n){e.events.push({type:N.ALIAS,anchorStart:t,anchorEnd:n})}function tn(e){e.events.push({type:N.POP})}function B(e){$t(e,R,R,R,R,R,R,P.PLAIN)}function nn(){return{anchorStart:R,anchorEnd:R,tagStart:R,tagEnd:R}}function rn(e){return{position:e.position,line:e.line,lineStart:e.lineStart,lineIndent:e.lineIndent,firstTabInLine:e.firstTabInLine,eventsLength:e.events.length}}function an(e,t){e.position=t.position,e.line=t.line,e.lineStart=t.lineStart,e.lineIndent=t.lineIndent,e.firstTabInLine=t.firstTabInLine,e.events.length=t.eventsLength}function V(e,t){M.throwAt(e.input.slice(0,e.length),e.position,t,e.filename)}function H(e){return e===10||e===13}function on(e){return e===9||e===32}function U(e){return on(e)||H(e)}function W(e){return e===0||U(e)}function sn(e){return e===44||e===91||e===93||e===123||e===125}function cn(e){return e>=48&&e<=57?e-48:-1}function ln(e){if(e>=48&&e<=57)return e-48;let t=e|32;return t>=97&&t<=102?t-97+10:-1}function un(e){return e===120?2:e===117?4:e===85?8:0}function dn(e){return e===48||e===97||e===98||e===116||e===9||e===110||e===118||e===102||e===114||e===101||e===32||e===34||e===47||e===92||e===78||e===95||e===76||e===80}function fn(e){e.input.charCodeAt(e.position)===10?e.position++:(e.position++,e.input.charCodeAt(e.position)===10&&e.position++),e.line++,e.lineStart=e.position,e.lineIndent=0,e.firstTabInLine=-1}function G(e,t){let n=0,r=e.input.charCodeAt(e.position),i=e.position===e.lineStart||U(e.input.charCodeAt(e.position-1));for(;r!==0;){for(;on(r);)i=!0,r===9&&e.firstTabInLine===-1&&(e.firstTabInLine=e.position),r=e.input.charCodeAt(++e.position);if(t&&i&&r===35)do r=e.input.charCodeAt(++e.position);while(!H(r)&&r!==0);if(!H(r))break;for(fn(e),n++,i=!0,r=e.input.charCodeAt(e.position);r===32;)e.lineIndent++,r=e.input.charCodeAt(++e.position)}return n}function pn(e,t=e.position){let n=e.input.charCodeAt(t);if((n===45||n===46)&&n===e.input.charCodeAt(t+1)&&n===e.input.charCodeAt(t+2)){let n=e.input.charCodeAt(t+3);return n===0||U(n)}return!1}function mn(e){e.position===e.lineStart&&e.input.charCodeAt(e.position)===65279&&(e.position++,e.lineStart=e.position)}function hn(e){if(e.position!==e.lineStart)return!1;if(pn(e))return!0;if(e.input.charCodeAt(e.position)!==65279)return!1;let t=rn(e);mn(e),G(e,!0);let n=e.input.charCodeAt(e.position),r=e.position===e.lineStart&&(n===37||n===45&&pn(e));return an(e,t),r}function gn(e){let t=e.input.charCodeAt(e.position);for(;t!==0&&!H(t);)t=e.input.charCodeAt(++e.position)}function _n(e,t,n){Vt.test(e.input.slice(t,n))&&V(e,`the stream contains non-printable characters`)}function vn(e,t,n){if(e.input.charCodeAt(e.position)!==33)return!1;t.tagStart!==R&&V(e,`duplication of a tag property`);let r=e.position,i=!1,a=!1,o=`!`,s=e.input.charCodeAt(++e.position);s===60?(i=!0,s=e.input.charCodeAt(++e.position)):s===33&&(a=!0,o=`!!`,s=e.input.charCodeAt(++e.position));let c=e.position,l;if(i){for(;s!==0&&s!==62;)s=e.input.charCodeAt(++e.position);s!==62&&V(e,`unexpected end of the stream within a verbatim tag`),l=e.input.slice(c,e.position),e.position++}else{for(;s!==0&&!U(s)&&!(n&&sn(s));)s===33&&(a?V(e,`tag suffix cannot contain exclamation marks`):(o=e.input.slice(c-1,e.position+1),Ut.test(o)||V(e,`named tag handle cannot contain such characters`),a=!0,c=e.position+1)),s=e.input.charCodeAt(++e.position);l=e.input.slice(c,e.position),Ht.test(l)&&V(e,`tag suffix cannot contain flow indicator characters`)}return l&&!(i?Kt.test(l):qt.test(l))&&V(e,`tag name cannot contain such characters: ${l}`),!i&&o!==`!`&&o!==`!!`&&!It.call(e.tagHandlers,o)&&V(e,`undeclared tag handle "${o}"`),t.tagStart=r,t.tagEnd=e.position,!0}function yn(e,t){if(e.input.charCodeAt(e.position)!==38)return!1;t.anchorStart!==R&&V(e,`duplication of an anchor property`),e.position++;let n=e.position;for(;e.input.charCodeAt(e.position)!==0&&!U(e.input.charCodeAt(e.position))&&!sn(e.input.charCodeAt(e.position));)e.position++;return e.position===n&&V(e,`name of an anchor node must contain at least one character`),t.anchorStart=n,t.anchorEnd=e.position,!0}function bn(e,t){if(e.input.charCodeAt(e.position)!==42)return!1;(t.anchorStart!==R||t.tagStart!==R)&&V(e,`alias node should not have any properties`),e.position++;let n=e.position;for(;e.input.charCodeAt(e.position)!==0&&!U(e.input.charCodeAt(e.position))&&!sn(e.input.charCodeAt(e.position));)e.position++;return e.position===n&&V(e,`name of an alias node must contain at least one character`),en(e,n,e.position),!0}function xn(e,t){G(e,!1),e.lineIndent<t&&V(e,`deficient indentation`)}function Sn(e,t,n){if(e.input.charCodeAt(e.position)!==39)return!1;e.position++;let r=e.position,i=!0;for(;e.input.charCodeAt(e.position)!==0;){let a=e.input.charCodeAt(e.position);if(a===39){if(e.input.charCodeAt(e.position+1)===39){i=!1,e.position+=2;continue}let t=e.position;return e.position++,$t(e,r,t,n.anchorStart,n.anchorEnd,n.tagStart,n.tagEnd,P.SINGLE_QUOTED,I.CLIP,-1,i),!0}H(a)?(i=!1,xn(e,t)):e.position===e.lineStart&&pn(e)?V(e,`unexpected end of the document within a single quoted scalar`):a!==9&&a<32?V(e,`expected valid JSON character`):e.position++}V(e,`unexpected end of the stream within a single quoted scalar`)}function Cn(e,t,n){if(e.input.charCodeAt(e.position)!==34)return!1;e.position++;let r=e.position,i=!0;for(;e.input.charCodeAt(e.position)!==0;){let a=e.input.charCodeAt(e.position);if(a===34){let t=e.position;return e.position++,$t(e,r,t,n.anchorStart,n.anchorEnd,n.tagStart,n.tagEnd,P.DOUBLE_QUOTED,I.CLIP,-1,i),!0}if(a===92){i=!1;let n=e.input.charCodeAt(++e.position);if(H(n))xn(e,t);else if(dn(n))e.position++;else{let t=un(n);for(t===0&&V(e,`unknown escape sequence`);t-->0;)e.position++,ln(e.input.charCodeAt(e.position))<0&&V(e,`expected hexadecimal character`);e.position++}}else H(a)?(i=!1,xn(e,t)):e.position===e.lineStart&&pn(e)?V(e,`unexpected end of the document within a double quoted scalar`):a!==9&&a<32?V(e,`expected valid JSON character`):e.position++}V(e,`unexpected end of the stream within a double quoted scalar`)}function wn(e,t,n){let r=e.input.charCodeAt(e.position),i=I.CLIP,a=-1,o=!1;if(r!==124&&r!==62)return!1;let s=r===124?P.LITERAL_BLOCK:P.FOLDED_BLOCK;for(e.position++;e.input.charCodeAt(e.position)!==0;){let n=e.input.charCodeAt(e.position),r=cn(n);if(n===43||n===45)i!==I.CLIP&&V(e,`repeat of a chomping mode identifier`),i=n===43?I.KEEP:I.STRIP,e.position++;else if(r>=0)r===0&&V(e,`bad explicit indentation width of a block scalar; it cannot be less than one`),o&&V(e,`repeat of an indentation width identifier`),a=t+r-1,o=!0,e.position++;else break}let c=!1;for(;on(e.input.charCodeAt(e.position));)c=!0,e.position++;c&&e.input.charCodeAt(e.position)===35&&gn(e),H(e.input.charCodeAt(e.position))?fn(e):e.input.charCodeAt(e.position)!==0&&V(e,`a line break is expected`);let l=o?a:-1,u=0,d=e.position,f=e.position;for(;e.input.charCodeAt(e.position)!==0;){let n=e.position,r=0;for(;e.input.charCodeAt(n+r)===32;)r++;let i=e.input.charCodeAt(n+r);if(i===0){l>=0?r>l&&(f=n+r):r>0&&(f=n+r);break}if(hn(e))break;if(!o&&l===-1&&H(i)&&(u=Math.max(u,r)),!o&&l===-1&&!H(i)&&(i===9&&r<t&&(e.position=n+r,V(e,`tab characters must not be used in indentation`)),r<u&&(e.position=n+r,V(e,`bad indentation of a mapping entry`))),l===-1&&i!==0&&!H(i)&&r<t){e.lineIndent=r,e.position=n+r;break}!o&&i!==0&&!H(i)&&l===-1&&(l=r);let a=l===-1?t+1:l;if(i!==0&&!H(i)&&r<a){e.lineIndent=r,e.position=n+r;break}gn(e),f=e.position,H(e.input.charCodeAt(e.position))&&(fn(e),f=e.position)}return _n(e,d,f),$t(e,d,f,n.anchorStart,n.anchorEnd,n.tagStart,n.tagEnd,s,i,l),!0}function Tn(e,t){let n=e.input.charCodeAt(e.position),r=t===Lt;if(n===0||U(n)||n===35||n===38||n===42||n===33||n===124||n===62||n===39||n===34||n===37||n===64||n===96||r&&sn(n))return!1;if(n===63||n===45){let t=e.input.charCodeAt(e.position+1);if(W(t)||r&&sn(t))return!1}return!0}function En(e,t,n,r){if(!Tn(e,n))return!1;let i=e.position,a=e.position,o=e.input.charCodeAt(e.position),s=n===Lt,c=!1;for(;o!==0&&!hn(e);){if(o===58){let t=e.input.charCodeAt(e.position+1);if(W(t)||s&&sn(t))break}else if(o===35){if(U(e.input.charCodeAt(e.position-1)))break}else if(s&&sn(o))break;else if(H(o)){let n=e.position,r=e.line,i=e.lineStart,a=e.lineIndent;if(G(e,!1),e.lineIndent>=t){c=!0,o=e.input.charCodeAt(e.position);continue}e.position=n,e.line=r,e.lineStart=i,e.lineIndent=a;break}on(o)||(a=e.position+1),o=e.input.charCodeAt(++e.position)}return a!==i&&(_n(e,i,a),$t(e,i,a,r.anchorStart,r.anchorEnd,r.tagStart,r.tagEnd,P.PLAIN,I.CLIP,-1,!c),!0)}function Dn(e,t){let n=e.line;G(e,!0),(e.line>n&&e.lineIndent<t||e.firstTabInLine!==-1&&e.lineIndent<t)&&V(e,`deficient indentation`)}function On(e,t,n){let r=e.input.charCodeAt(e.position),i=r===123,a=e.position,o=!0;if(r!==91&&r!==123)return!1;let s=i?125:93;for(i?Zt(e,a,n.anchorStart,n.anchorEnd,n.tagStart,n.tagEnd,F.FLOW):Xt(e,a,n.anchorStart,n.anchorEnd,n.tagStart,n.tagEnd,F.FLOW),e.position++;e.input.charCodeAt(e.position)!==0;){Dn(e,t);let n=e.input.charCodeAt(e.position);if(n===s)return e.position++,tn(e),!0;o?n===44&&V(e,`expected the node content, but found ','`):V(e,`missed comma between flow collection entries`);let r=!1,a=!1;n===63&&U(e.input.charCodeAt(e.position+1))&&(r=a=!0,e.position+=1,Dn(e,t));let c=e.line,l=rn(e),u=jn(e,t,Lt,!1,!0);Dn(e,t),n=e.input.charCodeAt(e.position),(i||a||e.line===c)&&n===58?(r=!0,e.position++,Dn(e,t),i||Qt(e,l),u||B(e),jn(e,t,Lt,!1,!0)||B(e),Dn(e,t),i||tn(e)):i&&r?(u||B(e),B(e)):i?B(e):r&&(Qt(e,l),u||B(e),B(e),tn(e)),n=e.input.charCodeAt(e.position),n===44?(o=!0,e.position++):o=!1}V(e,`unexpected end of the stream within a flow collection`)}function kn(e,t,n){if(e.firstTabInLine!==-1||e.input.charCodeAt(e.position)!==45||!W(e.input.charCodeAt(e.position+1)))return!1;for(Xt(e,e.position,n.anchorStart,n.anchorEnd,n.tagStart,n.tagEnd,F.BLOCK);e.input.charCodeAt(e.position)===45&&W(e.input.charCodeAt(e.position+1));){e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,V(e,`tab characters must not be used in indentation`));let n=e.line;e.position++;let r=G(e,!0)>0;if(e.firstTabInLine!==-1&&e.input.charCodeAt(e.position)===45&&W(e.input.charCodeAt(e.position+1))&&V(e,`bad indentation of a sequence entry`),r&&e.lineIndent<=t?B(e):jn(e,t,zt,!1,!0),G(e,!0),e.lineIndent<t||e.position>=e.length)break;e.lineIndent>t&&V(e,`bad indentation of a sequence entry`),e.line===n&&e.input.charCodeAt(e.position)===45&&W(e.input.charCodeAt(e.position+1))&&V(e,`bad indentation of a sequence entry`)}return tn(e),!0}function An(e,t,n,r){let i=!1,a=!1,o=!1,s=!1;if(e.firstTabInLine!==-1)return!1;let c=e.input.charCodeAt(e.position);for(;c!==0;){!i&&e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,V(e,`tab characters must not be used in indentation`));let l=e.input.charCodeAt(e.position+1),u=e.line;if((c===63||c===58)&&W(l))o||=(Zt(e,e.position,r.anchorStart,r.anchorEnd,r.tagStart,r.tagEnd,F.BLOCK),!0),c===63?(i&&B(e),a=!0,i=!0):i?i=!1:(B(e),a=!0,i=!1),e.position+=1,s=!0;else{i&&=(B(e),!1);let t=rn(e);if(!jn(e,n,Rt,!1,!0))break;if(e.line===u){for(c=e.input.charCodeAt(e.position);on(c);)c=e.input.charCodeAt(++e.position);if(c===58){if(c=e.input.charCodeAt(++e.position),W(c)||V(e,`a whitespace character is expected after the key-value separator within a block mapping`),!o){for(an(e,t),Zt(e,t.position,r.anchorStart,r.anchorEnd,r.tagStart,r.tagEnd,F.BLOCK),o=!0,jn(e,n,Rt,!1,!0),c=e.input.charCodeAt(e.position);on(c);)c=e.input.charCodeAt(++e.position);e.position++}a=!0,i=!1,s=!1}else if(a)V(e,`expected ':' after a mapping key`);else return r.anchorStart!==R||r.tagStart!==R?(an(e,t),!1):!0}else if(a)V(e,`can not read a block mapping entry; a multiline key may not be an implicit key`);else return r.anchorStart!==R||r.tagStart!==R?(an(e,t),!1):!0}if(jn(e,t,Bt,!0,s)&&(s=!1),i||(s&&=(B(e),!1)),G(e,!0),c=e.input.charCodeAt(e.position),(e.line===u||e.lineIndent>t)&&c!==0)V(e,`bad indentation of a mapping entry`);else if(e.lineIndent<t)break}return a?(i&&B(e),o&&tn(e),!0):!1}function jn(e,t,n,r,i,a=!0){e.depth>=e.maxDepth&&V(e,`nesting exceeded maxDepth (${e.maxDepth})`),e.depth++;let o=1,s=!1,c=!1,l=null,u=nn(),d=n===Bt||n===zt,f=d,p=d;if(r&&G(e,!0)&&(s=!0,o=e.lineIndent>t?1:e.lineIndent===t?0:-1),o===1)for(;;){let r=e.input.charCodeAt(e.position),i=rn(e);if(s&&o!==1&&(r===33||r===38))break;if(s&&p&&(u.tagStart!==R||u.anchorStart!==R)&&(r===33||r===38)){let n=rn(e),r=t+1;if(An(e,e.position-e.lineStart,r,u)&&e.events[n.eventsLength]?.type===N.MAPPING)return e.depth--,!0;an(e,n)}if(s&&(r===33&&u.tagStart!==R||r===38&&u.anchorStart!==R)||!vn(e,u,n===Lt)&&!yn(e,u))break;l===null&&(l=i),G(e,!0)?(s=!0,f=p,o=e.lineIndent>t?1:e.lineIndent===t?0:-1):f=!1}if(f&&=s||i,o===1||n===Bt){let r=n===Lt||n===Rt?t:t+1,i=e.position-e.lineStart;if(o===1){if(f&&(kn(e,i,u)||An(e,i,r,u))||On(e,r,u))c=!0;else{let t=e.input.charCodeAt(e.position);if(l!==null&&a&&p&&!f&&t!==124&&t!==62){let t=rn(e),n=l.position-l.lineStart;an(e,l),An(e,n,r,nn())&&e.events[t.eventsLength]?.type===N.MAPPING?c=!0:an(e,t)}!c&&(d&&wn(e,r,u)||Sn(e,r,u)||Cn(e,r,u)||bn(e,u)||En(e,r,n,u))&&(c=!0)}}else o===0&&(c=f&&kn(e,i,u))}return d&&=!c,!c&&(u.anchorStart!==R||u.tagStart!==R||d)&&($t(e,R,R,u.anchorStart,u.anchorEnd,u.tagStart,u.tagEnd,P.PLAIN),c=!0),e.depth--,c||u.anchorStart!==R||u.tagStart!==R}function Mn(e){if(e.lineIndent>0||e.input.charCodeAt(e.position)!==37)return!1;e.position++;let t=e.position;for(;e.input.charCodeAt(e.position)!==0&&!U(e.input.charCodeAt(e.position));)e.position++;let n=e.input.slice(t,e.position),r=[];for(n.length===0&&V(e,`directive name must not be less than one character in length`);e.input.charCodeAt(e.position)!==0&&!H(e.input.charCodeAt(e.position));){for(;on(e.input.charCodeAt(e.position));)e.position++;if(e.input.charCodeAt(e.position)===35||H(e.input.charCodeAt(e.position))||e.input.charCodeAt(e.position)===0)break;let t=e.position;for(;e.input.charCodeAt(e.position)!==0&&!U(e.input.charCodeAt(e.position));)e.position++;r.push(e.input.slice(t,e.position))}if(H(e.input.charCodeAt(e.position))&&fn(e),n===`YAML`){e.directives.some(e=>e.kind===`yaml`)&&V(e,`duplication of %YAML directive`),r.length!==1&&V(e,`YAML directive accepts exactly one argument`);let t=/^([0-9]+)\.([0-9]+)$/.exec(r[0]);t===null&&V(e,`ill-formed argument of the YAML directive`),parseInt(t[1],10)!==1&&V(e,`unacceptable YAML version of the document`),e.directives.push({kind:`yaml`,version:r[0]})}else if(n===`TAG`){r.length!==2&&V(e,`TAG directive accepts exactly two arguments`);let[t,n]=r;Ut.test(t)||V(e,`ill-formed tag handle (first argument) of the TAG directive`),It.call(e.tagHandlers,t)&&V(e,`there is a previously declared suffix for "${t}" tag handle`),Jt.test(n)||V(e,`ill-formed tag prefix (second argument) of the TAG directive`),e.tagHandlers[t]=n,e.directives.push({kind:`tag`,handle:t,prefix:n})}return!0}function Nn(e){e.directives=[],e.tagHandlers=Object.create(null);let t=!1;for(G(e,!0);Mn(e);)t=!0,G(e,!0);let n=!1,r=!1,i=!0;if(e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45&&W(e.input.charCodeAt(e.position+3))){n=!0;let t=e.line;e.position+=3,G(e,!0),i=e.line>t}else t&&V(e,`directives end mark is expected`);let a=e.events.length;if(!n&&e.position===e.lineStart&&e.input.charCodeAt(e.position)===46&&pn(e)){e.position+=3,G(e,!0);return}if(Yt(e,n,!1),jn(e,e.lineIndent-1,Bt,!1,i,i)||B(e),G(e,!0),e.position===e.lineStart&&pn(e)&&(r=e.input.charCodeAt(e.position)===46,r)){let t=e.line;e.position+=3,G(e,!0),e.line===t&&e.position<e.length&&V(e,`end of the stream or a document separator is expected`)}let o=e.events[a];o?.type===N.DOCUMENT&&(o.explicitEnd=r),tn(e),!r&&e.position<e.length&&!hn(e)&&V(e,`end of the stream or a document separator is expected`)}function Pn(e,t){let n=e.length,r=A(A(A({},z),t),{},{input:`${e}\0`,length:n,position:0,line:0,lineStart:0,lineIndent:0,firstTabInLine:-1,depth:0,directives:[],tagHandlers:Object.create(null),events:[]}),i=e.indexOf(`\0`);for(i!==-1&&M.throwAt(e,i,`null byte is not allowed in input`,r.filename);r.position<r.length&&(mn(r),G(r,!0),!(r.position>=r.length));){let e=r.position;Nn(r),r.position===e&&V(r,`can not read a document`)}return r.events}var Fn=A(A({},z),Ct);function In(e,t={}){let n=A(A({},Fn),t),r=String(e),i=Object.keys(z),a=Object.keys(Ct);return Ft(Pn(r,Fe(n,i)),A(A({},Fe(n,a)),{},{source:r}))}function Ln(e,t,n){let r=null;typeof t==`function`?r=t:typeof t==`object`&&t&&(n=t);let i=In(e,n);if(r===null)return i;for(let e of i)r(e)}function Rn(e,t){let n=In(e,t);if(n.length===0)throw new M(`expected a document, but the input is empty`);if(n.length===1)return n[0];throw new M(`expected a single document in the stream, but found more`)}var zn=Symbol(`INVALID`);function Bn(e){let t=new Set([e.defaultScalarTag,e.defaultSequenceTag,e.defaultMappingTag].filter(e=>e!==void 0)),n=e.implicitScalarTags,r=e.tags.filter(e=>!(e.nodeKind===`scalar`&&e.implicit)&&!t.has(e)),i=e.tags.filter(e=>t.has(e));return[...n.map(e=>({tag:e,implicitTag:!0})),...r.map(e=>({tag:e,implicitTag:!1})),...i.map(e=>({tag:e,implicitTag:!0}))]}function Vn(e,t){for(let n=0,r=e.representTypes.length;n<r;n+=1){let{tag:r,implicitTag:i}=e.representTypes[n];if(r.identify(t)){let e;return e=r.matchByTagPrefix?r.representTagName(t):r.tagName,{tag:r,tagName:e,implicitTag:i}}}return null}function Hn(e,t){if(!e.noRefs&&typeof t==`object`&&t){let n=e.refs.get(t);if(n)return n.anchor===void 0&&(n.anchor=`ref_${e.refCounter++}`),{kind:`alias`,anchor:n.anchor}}let n=Vn(e,t);if(!n){if(t===void 0||e.skipInvalid)return zn;throw new M(`unacceptable kind of an object to dump ${Object.prototype.toString.call(t)}`)}let{tag:r,tagName:i,implicitTag:a}=n,o=a?i:bt(i);if(r.nodeKind===`scalar`)return{kind:`scalar`,tag:o,tagged:!a,style:P.PLAIN,value:r.represent(t)};if(r.nodeKind===`sequence`){let n=r.represent(t),i={kind:`sequence`,tag:o,tagged:!a,style:F.BLOCK,items:[]};e.noRefs||e.refs.set(t,i);for(let t=0,r=n.length;t<r;t+=1){let r=Hn(e,n[t]);r===zn&&n[t]===void 0&&(r=Hn(e,null)),r!==zn&&i.items.push(r)}return i}let s=r.represent(t),c={kind:`mapping`,tag:o,tagged:!a,style:F.BLOCK,items:[]};e.noRefs||e.refs.set(t,c);for(let[t,n]of s){let r=Hn(e,t);if(r===zn)continue;let i=Hn(e,n);i!==zn&&c.items.push({key:r,value:i})}return c}function Un(e,t,n={}){let r=Hn({representTypes:Bn(t),noRefs:n.noRefs??!1,skipInvalid:n.skipInvalid??!1,refs:new Map,refCounter:0},e);return[{contents:r===zn?null:r,directives:[]}]}var Wn=Symbol(`visit:break`),Gn=Symbol(`visit:skip`);function Kn(e,t,n){let r=t(e,n);if(r===Wn)return!0;if(r===Gn)return!1;let i=n.depth+1;switch(e.kind){case`sequence`:for(let n of e.items)if(Kn(n,t,{depth:i,parent:e,isKey:!1}))return!0;break;case`mapping`:for(let{key:n,value:r}of e.items)if(Kn(n,t,{depth:i,parent:e,isKey:!0})||Kn(r,t,{depth:i,parent:e,isKey:!1}))return!0}return!1}function qn(e,t){for(let n of e)if(n.contents&&Kn(n.contents,t,{depth:0,parent:null,isKey:!1}))return}function Jn(e,t){return!!(e&1<<t)}var Yn={applyQuoteFlowKeysOption:Zn,doubleQuoteForInvisibles:Qn,doubleQuoteWhitespaceOnly:$n,applyForceQuotesOption:er,tryLongOrMultilineAsBlock:tr,quoteInvalidPlain:nr,fallbackToDoubleQuoted:rr};function Xn(e){return e.presenterOptions.quoteStyle===`single`&&Jn(e.allowedStylesMask,P.SINGLE_QUOTED)?P.SINGLE_QUOTED:P.DOUBLE_QUOTED}function Zn(e){e.presenterOptions.quoteFlowKeys&&e.isKey&&e.flowOnly&&e.style===P.PLAIN&&(e.style=P.DOUBLE_QUOTED)}function Qn(e){e.style===P.PLAIN&&/[\t\x7F-\xA0\u2028\u2029\uFEFF\uFFFE\uFFFF]/.test(e.node.value)&&(e.style=P.DOUBLE_QUOTED)}function $n(e){e.style===P.PLAIN&&/^\s+$/.test(e.node.value)&&(e.style=P.DOUBLE_QUOTED)}function er(e){e.presenterOptions.forceQuotes&&(e.isKey||e.style!==P.PLAIN||(e.style=e.node.value.includes(`
14
- `)?P.DOUBLE_QUOTED:Xn(e)))}function tr(e){if(e.style!==P.PLAIN||e.isKey)return;let t=e.node.value,n=t.indexOf(`
15
- `)!==-1;if(!Jn(e.allowedStylesMask,P.LITERAL_BLOCK)){n&&(e.style=P.DOUBLE_QUOTED);return}let r=e.presenterOptions.lineWidth;if(r===-1){n&&(e.style=P.LITERAL_BLOCK);return}let i=Math.max(Math.min(r,40),r-e.shiftOfContent),a=0,o=!1;for(;a<=t.length;){let e=t.length,n=t.indexOf(`
16
- `,a);n!==-1&&(e=n);let r=t.slice(a,e);if(r.length>i&&r[0]!==` `&&/ [^ \t]/.test(r)&&(o=!0),n===-1)break;a=n+1}o?e.style=P.FOLDED_BLOCK:n&&(e.style=P.LITERAL_BLOCK)}function nr(e){e.style===P.PLAIN&&!Jn(e.allowedStylesMask,P.PLAIN)&&(e.style=Xn(e))}function rr(e){Jn(e.allowedStylesMask,e.style)||(e.style=P.DOUBLE_QUOTED)}function ir(e,t){return e|1<<t}var K=`[\\x09\\x0A\\x0D\\x20-\\x7E\\x85\\xA0-\\uD7FF\\uE000-\\uFFFD\\u{10000}-\\u{10FFFF}]`,ar=`[\\n\\r]`,or=`\\uFEFF`,sr=`[ \\t]`,cr=`(?:(?!(?:${ar}|${or}))${K})`,lr=`(?:(?!${sr})${cr})`,ur=`[\\x09\\x20-\\uD7FF\\uE000-\\uFFFF\\u{10000}-\\u{10FFFF}]`,dr=`[-?:,\\[\\]{}#&*!|>'"%@\`]`,fr=`[,\\[\\]{}]`,pr=lr,mr=`(?:(?!${fr})${lr})`,hr=`(?:(?:(?!${dr})${lr})|[?:-](?=${pr}))`,gr=`(?:(?:(?!${dr})${lr})|[?:-](?=${mr}))`,_r=`(?:(?:(?![:#])${pr})|:(?=${pr}))#*`,vr=`(?:(?:(?![:#])${mr})|:(?=${mr}))#*`,yr=`(?:${sr}*${_r})*`,br=`(?:${sr}*${vr})*`,xr=`${hr}#*${yr}`,Sr=`${gr}#*${br}`,q=xr,Cr=Sr,wr=`\\n+${_r}${yr}`,Tr=`\\n+${vr}${br}`,Er=`${xr}(?:${wr})*`,Dr=`${Sr}(?:${Tr})*`,Or=RegExp(`^(?:${Er})$`,`u`),J=RegExp(`^(?:${Dr})$`,`u`),kr=RegExp(`^(?:${q})$`,`u`),Y=RegExp(`^(?:${Cr})$`,`u`),Ar=RegExp(`^(?:${ur})*$`,`u`),X=RegExp(`^(?:${ur}|\\n)*$`,`u`),jr=RegExp(`^(?:${cr}|\\n)*$`,`u`),Mr=/^(?:---|\.\.\.)(?=$|[ \t\n\r])/,Nr=/^(?:---|\.\.\.)(?=$|[ \t\n\r])/m;function Pr(e){let t=e.node.value;if(t!==``){if(!(e.isKey?e.flowOnly?Y:kr:e.flowOnly?J:Or).test(t)||e.shiftOfFirstLine===0&&Mr.test(t))return!1;if(e.shiftOfContent===0){let e=t.indexOf(`
17
- `);if(e!==-1){let n=t.slice(e+1);if(Nr.test(n))return!1}}}let n=e.presenterOptions.schema.resolveImplicitScalarTag(t).tag.tagName;return!(!e.node.tagged&&n!==e.node.tag||!e.node.tagged&&t===`=`&&n===e.presenterOptions.schema.defaultScalarTag.tagName)}function Fr(e){let t=e.node.value;if(!(e.isKey?Ar:X).test(t)||/[ \t]\n|\n[ \t]/.test(t))return!1;if(!e.isKey&&e.shiftOfContent===0){let e=t.indexOf(`
18
- `);if(e!==-1&&Nr.test(t.slice(e+1)))return!1}return!0}function Ir(e){if(e.flowOnly||!jr.test(e.node.value))return!1;let t=e.shiftOfContent-e.shiftOfParent;return!(t<1||t>9&&/^\n* /.test(e.node.value)||e.shiftOfContent===0&&Nr.test(e.node.value))}function Lr(e){let t=ir(0,P.DOUBLE_QUOTED);Pr(e)&&(t=ir(t,P.PLAIN)),Fr(e)&&(t=ir(t,P.SINGLE_QUOTED)),Ir(e)&&(t=ir(ir(t,P.LITERAL_BLOCK),P.FOLDED_BLOCK)),e.allowedStylesMask=t}function Rr(e){switch(e.style){case P.PLAIN:return zr(e);case P.SINGLE_QUOTED:return Br(e);case P.LITERAL_BLOCK:return Vr(e);case P.FOLDED_BLOCK:return Hr(e);case P.DOUBLE_QUOTED:return Ur(e)}}function zr(e){return Wr(e.node.value,e.shiftOfContent)}function Br(e){return`'${Wr(e.node.value,e.shiftOfContent).replace(/'/g,`''`)}'`}function Vr(e){let t=e.node.value;return`|`+qr(t,e.shiftOfParent,e.shiftOfContent)+Jr(Gr(t,e.shiftOfContent))}function Hr(e){let t=e.node.value,n=e.presenterOptions.lineWidth,r=1/0;return n!==-1&&(r=Math.max(Math.min(n,40),n-e.shiftOfContent)),`>`+qr(t,e.shiftOfParent,e.shiftOfContent)+Jr(Gr(Zr(t,r),e.shiftOfContent))}function Ur(e){return`"${ei(e.node.value)}"`}function Wr(e,t){let n=e.indexOf(`
19
- `);if(n===-1)return e;let r=` `.repeat(t),i=e.slice(0,n),a=/(\n+)([^\n]*)/g;a.lastIndex=n;let o;for(;o=a.exec(e);){let e=o[1].length,t=o[2];i+=`
20
- `.repeat(e+1)+r+t}return i}function Gr(e,t){let n=` `.repeat(t),r=0,i=``,a=e.length;for(;r<a;){let t,o=e.indexOf(`
21
- `,r);o===-1?(t=e.slice(r),r=a):(t=e.slice(r,o+1),r=o+1),t.length&&t!==`
22
- `&&(i+=n),i+=t}return i}function Kr(e){return/^\n* /.test(e)}function qr(e,t,n){let r=Kr(e)?String(n-t):``,i=e[e.length-1]===`
23
- `;return`${r}${i&&(e[e.length-2]===`
24
- `||e===`
25
- `)?`+`:i?``:`-`}\n`}function Jr(e){return e[e.length-1]===`
26
- `?e.slice(0,-1):e}function Yr(e){return e===` `||e===` `}function Xr(e,t){if(e===``||Yr(e[0]))return e;let n=/ [^ \t]/g,r,i=0,a,o=0,s=0,c=``;for(;r=n.exec(e);)s=r.index,s-i>t&&(a=o>i?o:s,c+=`\n${e.slice(i,a)}`,i=a+1),o=s;return c+=`
27
- `,e.length-i>t&&o>i?c+=`${e.slice(i,o)}\n${e.slice(o+1)}`:c+=e.slice(i),c.slice(1)}function Zr(e,t){let n=/(\n+)([^\n]*)/g,r=e.indexOf(`
28
- `);r===-1&&(r=e.length),n.lastIndex=r;let i=Xr(e.slice(0,r),t),a=e[0]===`
29
- `||Yr(e[0]),o,s;for(;s=n.exec(e);){let e=s[1],n=s[2];o=n!==``&&Yr(n[0]),i+=e+(!a&&!o&&n!==``?`
30
- `:``)+Xr(n,t),a=o}return i}var Qr=/["\\\x00-\x1F\x7F-\xA0\u2028\u2029\uD800-\uDFFF\uFEFF\uFFFE\uFFFF]/gu;function $r(e){switch(e){case`\0`:return`\\0`;case`\x07`:return`\\a`;case`\b`:return`\\b`;case` `:return`\\t`;case`
31
- `:return`\\n`;case`\v`:return`\\v`;case`\f`:return`\\f`;case`\r`:return`\\r`;case`\x1B`:return`\\e`;case`"`:return`\\"`;case`\\`:return`\\\\`;case`…`:return`\\N`;case`\xA0`:return`\\_`;case`\u2028`:return`\\L`;case`\u2029`:return`\\P`}let t=e.charCodeAt(0),n=t.toString(16).toUpperCase();return t<=255?`\\x${`0`.repeat(2-n.length)}${n}`:`\\u${`0`.repeat(4-n.length)}${n}`}function ei(e){return e.replace(Qr,$r)}var ti=10,ni={indent:2,seqNoIndent:!1,seqInlineFirst:!0,lineWidth:80,flowBracketPadding:!1,flowSkipCommaSpace:!1,flowSkipColonSpace:!1,quoteFlowKeys:!1,quoteStyle:`single`,forceQuotes:!1,scalarStyleRules:Object.keys(Yn).map(e=>Reflect.get(Yn,e)),tagBeforeAnchor:!1};function ri(e){return e.tagged?e.tag:bt(e.tag)}function ii(e){let t=A(A({},ni),e);return t.flowSkipColonSpace&&(t.quoteFlowKeys=!0),A(A({},t),{},{defaultScalarTagName:t.schema.defaultScalarTag.tagName,openEnded:!1})}function ai(e,t){return`\n${` `.repeat(e.indent*t)}`}function oi(e,t,n,r,i,a){return{node:t,parent:n,level:r,isKey:i,flowOnly:a,shiftOfParent:r===0?-1:e.indent*(r-1),shiftOfContent:e.indent*Math.max(1,r),shiftOfFirstLine:r===0?0:e.indent*r,presenterOptions:e,allowedStylesMask:0,style:t.style}}function si(e,t,n){let r=``;for(let i=0,a=n.items.length;i<a;i+=1){let a=Z(e,t,n.items[i],n,{}).text;i>0&&(r+=`,${e.flowSkipCommaSpace?``:` `}`),r+=a}let i=e.flowBracketPadding&&n.items.length>0?` `:``;return`[${i}${r}${i}]`}function ci(e,t,n,r){let i=``;for(let a=0,o=n.items.length;a<o;a+=1){let o=Z(e,t+1,n.items[a],n,{block:!0,compact:e.seqInlineFirst,isblockseq:!0}).text;(!r||i!==``)&&(i+=ai(e,t)),o===``||ti===o.charCodeAt(0)?i+=`-`:i+=`- `,i+=o}return i}function li(e,t,n){let r=``;for(let{key:i,value:a}of n.items){let o=``;r!==``&&(o+=`,${e.flowSkipCommaSpace?``:` `}`);let s=Z(e,t,i,n,{iskey:!0}),c=s.text,l=Z(e,t,a,n,{}).text,u=e.flowSkipColonSpace||l===``?``:` `,d=i.kind===`scalar`&&s.noBody&&(i.tagged||i.anchor!==void 0),f=i.kind===`alias`||d?` `:``;o+=`${c}${f}:${u}${l}`,r+=o}let i=e.flowBracketPadding&&r!==``?` `:``;return`{${i}${r}${i}}`}function ui(e,t,n,r){let i=``;for(let a=0,o=n.items.length;a<o;a+=1){let o=``;(!r||i!==``)&&(o+=ai(e,t));let{key:s,value:c}=n.items[a],l=(s.kind===`mapping`||s.kind===`sequence`)&&s.style===F.BLOCK&&s.items.length!==0||s.kind===`scalar`&&(s.style===P.LITERAL_BLOCK||s.style===P.FOLDED_BLOCK),u=l?Z(e,t+1,s,n,{block:!0,compact:!0,isblockseq:!di(e,s,t+1)}):Z(e,t+1,s,n,{block:!0,compact:!0,iskey:!0}),d=u.text,f=s.kind===`scalar`&&s.value.indexOf(`
32
- `)!==-1,p=d.length>1024&&/^[\s\S]{1025}/u.test(d),m=l||f||p;m&&(d&&ti===d.charCodeAt(0)?o+=`?`:o+=`? `),o+=d,m&&(o+=ai(e,t));let h=Z(e,t+1,c,n,{block:!0,compact:m,isblockseq:m&&!di(e,c,t+1)}).text,g=s.kind===`scalar`&&u.noBody&&(s.tagged||s.anchor!==void 0),_=!m&&(s.kind===`alias`||g)?` `:``;h===``||ti===h.charCodeAt(0)?o+=`${_}:`:o+=`${_}: `,o+=h,i+=o}return i}function di(e,t,n){return t.kind===`alias`||t.tagged||t.anchor!==void 0||e.indent<2&&n>0}function Z(e,t,n,r,i){if(n.kind===`alias`)return e.openEnded=!1,{text:`*${n.anchor}`,noBody:!1};let{block:a=!1,iskey:o=!1,isblockseq:s=!1}=i,c=i.compact??!1,l=n.anchor!==void 0;di(e,n,t)&&(c=!1);let u,d=n.tagged,f=a&&(n.kind===`mapping`||n.kind===`sequence`)&&n.style===F.BLOCK&&n.items.length!==0;if(n.kind===`mapping`)u=f?ui(e,t,n,c):li(e,t,n);else if(n.kind===`sequence`)u=f?e.seqNoIndent&&!s&&t>0?ci(e,t-1,n,c):ci(e,t,n,c):si(e,t,n);else{let i=oi(e,n,r,t,o,!a);Lr(i);for(let t of e.scalarStyleRules)t(i);u=Rr(i),e.openEnded=(i.style===P.LITERAL_BLOCK||i.style===P.FOLDED_BLOCK)&&(n.value===`
33
- `||n.value.endsWith(`
34
-
35
- `)),d=n.tagged||u===``&&i.flowOnly&&r?.kind===`sequence`&&!l||i.style!==P.PLAIN&&n.tag!==e.defaultScalarTagName}(n.kind===`mapping`||n.kind===`sequence`)&&!f&&(e.openEnded=!1),f&&c&&t>0&&e.indent>2&&(u=`${` `.repeat(e.indent-2)}${u}`);let p=u===``,m=u;if(d||l){let t=[],r=d?ri(n):null,i=l?`&${n.anchor}`:null;e.tagBeforeAnchor?(r!==null&&t.push(r),i!==null&&t.push(i)):(i!==null&&t.push(i),r!==null&&t.push(r));let a=u===``||u.charCodeAt(0)===ti?``:` `;m=`${t.join(` `)}${a}${u}`}return{text:m,noBody:p}}function fi(e){return(e.kind===`sequence`||e.kind===`mapping`)&&e.style===F.BLOCK&&e.items.length!==0&&!e.tagged&&e.anchor===void 0}function pi(e){let t=``;for(let n of e.directives){if(n.kind===`yaml`){t+=`%YAML ${n.version}\n`;continue}let{handle:e,prefix:r}=n;t+=`%TAG ${e} ${r}\n`}return t}function mi(e,t){let n=ii(t),r=``,i=!1;for(let t=0;t<e.length;t+=1){let a=e[t];n.openEnded=!1;let o=pi(a),s=o!==``,c=a.explicitStart||s||t>0&&!i;if(r+=o,a.contents===null)c&&(r+=`---
36
- `);else if(c){let e=Z(n,0,a.contents,null,{block:!0,compact:!0}).text,t=e===``?``:s||fi(a.contents)?`
37
- `:` `;r+=`---${t}${e}\n`}else r+=Z(n,0,a.contents,null,{block:!0,compact:!0}).text+`
38
- `;i=a.explicitEnd||n.openEnded,i&&(r+=`...
39
- `)}return r}var hi=A(A({},ni),{},{schema:Je,skipInvalid:!1,noRefs:!1,flowLevel:-1,sortKeys:!1,transform:()=>{}});function gi(e,t){let n=String(e),r=String(t);return n<r?-1:+(n>r)}function _i(e,t={}){let n=A(A({},hi),t),r=Un(e,n.schema,{noRefs:n.noRefs,skipInvalid:n.skipInvalid});if(n.flowLevel>=0&&qn(r,(e,t)=>{if(!(t.depth<n.flowLevel))return(e.kind===`sequence`||e.kind===`mapping`)&&(e.style=F.FLOW),Gn}),n.sortKeys){let e=n.sortKeys===!0?gi:n.sortKeys;qn(r,t=>{t.kind===`mapping`&&t.items.sort((t,n)=>e(t.key.kind===`scalar`?t.key.value:``,n.key.kind===`scalar`?n.key.value:``))})}return n.transform(r),mi(r,A(A({},Fe(n,Object.keys(ni))),{},{schema:n.schema}))}var vi=-1;function yi(e){return`tagStart`in e&&e.tagStart!==vi?e.tagStart:`anchorStart`in e&&e.anchorStart!==vi?e.anchorStart:`valueStart`in e&&e.valueStart!==vi?e.valueStart:`start`in e?e.start:0}function bi(e,t){return t.tagStart===vi?``:e.source.slice(t.tagStart,t.tagEnd)}function xi(e,t){return t.anchorStart===vi?void 0:e.source.slice(t.anchorStart,t.anchorEnd)}function Si(e,t){let n=gt(e.source,t),r=bi(e,t),i,a=!1;return r===``?i=t.style===P.PLAIN?e.schema.resolveImplicitScalarTag(n).tag.tagName:e.schema.defaultScalarTag.tagName:(a=!0,i=r),{kind:`scalar`,tag:i,tagged:a,style:t.style,anchor:xi(e,t),value:n}}function Ci(e,t,n){let r=bi(e,t),i,a=!1;return r===``?i=n:(i=r,a=!0),{tag:i,tagged:a,style:t.style,anchor:xi(e,t)}}function wi(e,t){let n=e.frames[e.frames.length-1];n.kind===`document`?n.doc.contents=t:n.kind===`sequence`?n.node.items.push(t):n.key?(n.node.items.push({key:n.key,value:t}),n.key=null):n.key=t}function Ti(e,t){let n={source:t.source,schema:t.schema,eventIndex:0,position:0,frames:[],documents:[]};for(;n.eventIndex<e.length;){let t=e[n.eventIndex++];switch(n.position=yi(t),t.type){case N.DOCUMENT:{let e={contents:null,explicitStart:t.explicitStart,explicitEnd:t.explicitEnd,directives:t.directives};n.frames.push({kind:`document`,doc:e});break}case N.SCALAR:wi(n,Si(n,t));break;case N.SEQUENCE:{let{tag:e,tagged:r,style:i,anchor:a}=Ci(n,t,`tag:yaml.org,2002:seq`),o={kind:`sequence`,tag:e,tagged:r,style:i,anchor:a,items:[]};n.frames.push({kind:`sequence`,node:o});break}case N.MAPPING:{let{tag:e,tagged:r,style:i,anchor:a}=Ci(n,t,`tag:yaml.org,2002:map`),o={kind:`mapping`,tag:e,tagged:r,style:i,anchor:a,items:[]};n.frames.push({kind:`mapping`,node:o,key:null});break}case N.ALIAS:wi(n,{kind:`alias`,anchor:n.source.slice(t.anchorStart,t.anchorEnd)});break;case N.POP:{let e=n.frames.pop();if(e.kind===`mapping`&&e.key)throw Error(`incomplete mapping pair in event stream`);e.kind===`document`?n.documents.push(e.doc):wi(n,e.node);break}}}return n.documents}var Q=N.DOCUMENT,Ei=N.SEQUENCE,Di=N.MAPPING,Oi=N.SCALAR,ki=N.ALIAS,Ai=N.POP,ji=P.PLAIN,Mi=P.SINGLE_QUOTED,Ni=P.DOUBLE_QUOTED,Pi=P.LITERAL_BLOCK,Fi=P.FOLDED_BLOCK,Ii=F.BLOCK,Li=F.FLOW,Ri=I.CLIP,zi=I.STRIP,Bi=I.KEEP;e.CHOMPING_CLIP=Ri,e.CHOMPING_KEEP=Bi,e.CHOMPING_MODE=I,e.CHOMPING_STRIP=zi,e.COLLECTION_STYLE=F,e.COLLECTION_STYLE_BLOCK=Ii,e.COLLECTION_STYLE_FLOW=Li,e.CORE_SCHEMA=Ke,e.DEFAULT_SCALAR_STYLE_RULES=Yn,e.DUMP_SCHEMA=Je,e.EVENT_ALIAS=ki,e.EVENT_DOCUMENT=Q,e.EVENT_ID=N,e.EVENT_MAPPING=Di,e.EVENT_POP=Ai,e.EVENT_SCALAR=Oi,e.EVENT_SEQUENCE=Ei,e.FAILSAFE_SCHEMA=We,e.JSON_SCHEMA=Ge,e.NOT_RESOLVED=t,e.SCALAR_STYLE=P,e.SCALAR_STYLE_DOUBLE_QUOTED=Ni,e.SCALAR_STYLE_FOLDED_BLOCK=Fi,e.SCALAR_STYLE_LITERAL_BLOCK=Pi,e.SCALAR_STYLE_PLAIN=ji,e.SCALAR_STYLE_SINGLE_QUOTED=Mi,e.Schema=j,e.VISIT_BREAK=Wn,e.VISIT_SKIP=Gn,e.YAML11_SCHEMA=qe,e.YAMLException=M,e.binaryTag=De,e.boolCoreTag=p,e.boolJsonTag=g,e.boolYaml11Tag=ee,e.constructFromEvents=Ft,e.defineMappingTag=i,e.defineScalarTag=n,e.defineSequenceTag=r,e.dump=_i,e.eventsToAst=Ti,e.floatCoreTag=fe,e.floatJsonTag=_e,e.floatYaml11Tag=Se,e.getScalarValue=gt,e.intCoreTag=S,e.intJsonTag=ae,e.intYaml11Tag=w,e.jsToAst=Un,e.legacyMapTag=Ze,e.load=Rn,e.loadAll=Ln,e.mapTag=Le,e.mergeTag=Ce,e.nullCoreTag=s,e.nullJsonTag=c,e.nullYaml11Tag=u,e.omapTag=Ie,e.pairsTag=E,e.parseEvents=Pn,e.present=mi,e.realMapTag=Ye,e.seqTag=Ne,e.setTag=D,e.strTag=a,e.timestampTag=Me,e.visit=qn})),me=w((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.loadYaml=e.loadJson=e.loadJs=e.loadJsSync=void 0;var t=T(`fs/promises`),n=T(`url`);e.loadJsSync=function(e){return delete T.cache[T.resolve(e)],T(e)},e.loadJs=async function(r){try{let{href:e}=(0,n.pathToFileURL)(await(0,t.realpath)(r));return(await import(e)).default}catch(t){try{return(0,e.loadJsSync)(r,``)}catch(e){throw e.code===`ERR_REQUIRE_ESM`||e instanceof SyntaxError&&e.toString().includes(`Cannot use import statement outside a module`)?t:e}}},e.loadJson=function(e,t){try{return JSON.parse(t)}catch(t){throw t.message=`JSON Error in ${e}:\n${t.message}`,t}};var r;e.loadYaml=function(e,t){r===void 0&&(r=pe());try{return r.load(t)}catch(t){throw t.message=`YAML Error in ${e}:\n${t.message}`,t}}})),he=w((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.defaultLoadersSync=e.defaultLoaders=e.metaSearchPlaces=e.globalConfigSearchPlacesSync=e.globalConfigSearchPlaces=e.getDefaultSearchPlacesSync=e.getDefaultSearchPlaces=void 0;var t=me();function n(e){return[`package.json`,`.${e}rc`,`.${e}rc.json`,`.${e}rc.yaml`,`.${e}rc.yml`,`.${e}rc.js`,`.${e}rc.ts`,`.${e}rc.cjs`,`.${e}rc.mjs`,`.config/${e}rc`,`.config/${e}rc.json`,`.config/${e}rc.yaml`,`.config/${e}rc.yml`,`.config/${e}rc.js`,`.config/${e}rc.ts`,`.config/${e}rc.cjs`,`.config/${e}rc.mjs`,`${e}.config.js`,`${e}.config.ts`,`${e}.config.cjs`,`${e}.config.mjs`]}e.getDefaultSearchPlaces=n;function r(e){return[`package.json`,`.${e}rc`,`.${e}rc.json`,`.${e}rc.yaml`,`.${e}rc.yml`,`.${e}rc.js`,`.${e}rc.ts`,`.${e}rc.cjs`,`.config/${e}rc`,`.config/${e}rc.json`,`.config/${e}rc.yaml`,`.config/${e}rc.yml`,`.config/${e}rc.js`,`.config/${e}rc.ts`,`.config/${e}rc.cjs`,`${e}.config.js`,`${e}.config.ts`,`${e}.config.cjs`]}e.getDefaultSearchPlacesSync=r,e.globalConfigSearchPlaces=[`config`,`config.json`,`config.yaml`,`config.yml`,`config.js`,`config.ts`,`config.cjs`,`config.mjs`],e.globalConfigSearchPlacesSync=[`config`,`config.json`,`config.yaml`,`config.yml`,`config.js`,`config.ts`,`config.cjs`],e.metaSearchPlaces=[`package.json`,`package.yaml`,`.config/config.json`,`.config/config.yaml`,`.config/config.yml`,`.config/config.js`,`.config/config.ts`,`.config/config.cjs`,`.config/config.mjs`],e.defaultLoaders=Object.freeze({".mjs":t.loadJs,".cjs":t.loadJs,".js":t.loadJs,".ts":t.loadJs,".cts":t.loadJs,".mts":t.loadJs,".json":t.loadJson,".yaml":t.loadYaml,".yml":t.loadYaml,noExt:t.loadYaml}),e.defaultLoadersSync=Object.freeze({".cjs":t.loadJsSync,".js":t.loadJsSync,".cts":t.loadJsSync,".ts":t.loadJsSync,".json":t.loadJson,".yaml":t.loadYaml,".yml":t.loadYaml,noExt:t.loadYaml})})),ge=w(((e,t)=>{var n=T(`path`),r=T(`os`),i=r.homedir(),a=r.tmpdir(),{env:o}=process,s=e=>{let t=n.join(i,`Library`);return{data:n.join(t,`Application Support`,e),config:n.join(t,`Preferences`,e),cache:n.join(t,`Caches`,e),log:n.join(t,`Logs`,e),temp:n.join(a,e)}},c=e=>{let t=o.APPDATA||n.join(i,`AppData`,`Roaming`),r=o.LOCALAPPDATA||n.join(i,`AppData`,`Local`);return{data:n.join(r,e,`Data`),config:n.join(t,e,`Config`),cache:n.join(r,e,`Cache`),log:n.join(r,e,`Log`),temp:n.join(a,e)}},l=e=>{let t=n.basename(i);return{data:n.join(o.XDG_DATA_HOME||n.join(i,`.local`,`share`),e),config:n.join(o.XDG_CONFIG_HOME||n.join(i,`.config`),e),cache:n.join(o.XDG_CACHE_HOME||n.join(i,`.cache`),e),log:n.join(o.XDG_STATE_HOME||n.join(i,`.local`,`state`),e),temp:n.join(a,t,e)}},u=(e,t)=>{if(typeof e!=`string`)throw TypeError(`Expected string, got ${typeof e}`);return t=Object.assign({suffix:`nodejs`},t),t.suffix&&(e+=`-${t.suffix}`),process.platform===`darwin`?s(e):process.platform===`win32`?c(e):l(e)};t.exports=u,t.exports.default=u})),_e=w((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),n=e&&e.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),r=e&&e.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var i in e)i!=="default"&&Object.prototype.hasOwnProperty.call(e,i)&&t(r,e,i);return n(r,e),r};Object.defineProperty(e,"__esModule",{value:!0}),e.isDirectorySync=e.isDirectory=e.removeUndefinedValuesFromObject=e.decodeFileContent=e.getPropertyByPath=e.emplace=void 0;var i=r(T(`fs`));function a(e,t,n){let r=e.get(t);if(r!==void 0)return r;let i=n();return e.set(t,i),i}e.emplace=a;function o(e,t){return typeof t==`string`&&Object.prototype.hasOwnProperty.call(e,t)?e[t]:(typeof t==`string`?t.split(`.`):t).reduce((e,t)=>e===void 0?e:e[t],e)}e.getPropertyByPath=o;function s(e){return e[0]===255&&e[1]===254?new TextDecoder(`utf-16le`).decode(e):e[0]===254&&e[1]===255?new TextDecoder(`utf-16be`).decode(e):e.toString(`utf-8`)}e.decodeFileContent=s;function c(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0))}e.removeUndefinedValuesFromObject=c;async function l(e){try{return(await i.promises.stat(e)).isDirectory()}catch(e){if(e.code===`ENOENT`)return!1;throw e}}e.isDirectory=l;function u(e){try{return i.default.statSync(e).isDirectory()}catch(e){if(e.code===`ENOENT`)return!1;throw e}}e.isDirectorySync=u})),ve=w((e=>{var t=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0}),e.getExtensionDescription=e.ExplorerBase=void 0;var n=t(ge()),r=t(T(`os`)),i=t(T(`path`)),a=_e();e.ExplorerBase=class{#e=!1;config;loadCache;searchCache;constructor(e){this.config=e,e.cache&&(this.loadCache=new Map,this.searchCache=new Map),this.#t()}set loadingMetaConfig(e){this.#e=e}#t(){let e=this.config;for(let t of e.searchPlaces){let e=i.default.extname(t),n=this.config.loaders[e||`noExt`]??this.config.loaders.default;if(n===void 0)throw Error(`Missing loader for ${o(t)}.`);if(typeof n!=`function`)throw Error(`Loader for ${o(t)} is not a function: Received ${typeof n}.`)}}clearLoadCache(){this.loadCache&&this.loadCache.clear()}clearSearchCache(){this.searchCache&&this.searchCache.clear()}clearCaches(){this.clearLoadCache(),this.clearSearchCache()}toCosmiconfigResult(e,t){if(t===null)return null;if(t===void 0)return{filepath:e,config:void 0,isEmpty:!0};if(this.config.applyPackagePropertyPathToConfiguration||this.#e){let e=this.config.packageProp??this.config.moduleName;t=(0,a.getPropertyByPath)(t,e)}return t===void 0?{filepath:e,config:void 0,isEmpty:!0}:{config:t,filepath:e}}validateImports(e,t,n){let r=i.default.dirname(e);for(let a of t){if(typeof a!=`string`)throw Error(`${e}: Key $import must contain a string or a list of strings`);let t=i.default.resolve(r,a);if(t===e)throw Error(`Self-import detected in ${e}`);let o=n.indexOf(t);if(o!==-1)throw Error(`Circular import detected:
40
- ${[...n,t].map((e,t)=>`${t+1}. ${e}`).join(`
41
- `)} (same as ${o+1}.)`)}}getSearchPlacesForDir(e,t){return(e.isGlobalConfig?t:this.config.searchPlaces).map(t=>i.default.join(e.path,t))}getGlobalConfigDir(){return(0,n.default)(this.config.moduleName,{suffix:``}).config}*getGlobalDirs(e){let t=i.default.resolve(this.config.stopDir??r.default.homedir());yield{path:e,isGlobalConfig:!1};let n=e;for(;n!==t;){let e=i.default.dirname(n);if(e===n)break;yield{path:e,isGlobalConfig:!1},n=e}yield{path:this.getGlobalConfigDir(),isGlobalConfig:!0}}};function o(e){return e?`extension "${e}"`:`files without extensions`}e.getExtensionDescription=o})),ye=w((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.mergeAll=e.hasOwn=void 0,e.hasOwn=Function.prototype.call.bind(Object.prototype.hasOwnProperty);var t=Function.prototype.call.bind(Object.prototype.toString);function n(e){return t(e)===`[object Object]`}function r(t,i,a){for(let o of Object.keys(i)){if(o===`__proto__`||o===`constructor`)continue;let s=i[o];if((0,e.hasOwn)(t,o)){if(Array.isArray(t[o])&&Array.isArray(s)){if(a.mergeArrays){t[o].push(...s);continue}}else if(n(t[o])&&n(s)){t[o]=r(t[o],s,a);continue}}t[o]=s}return t}function i(e,t){return e.reduce((e,n)=>r(e,n,t),{})}e.mergeAll=i})),be=w((e=>{var t=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0}),e.Explorer=void 0;var n=t(T(`fs/promises`)),r=t(T(`path`)),i=he(),a=ve(),o=ye(),s=_e();e.Explorer=class extends a.ExplorerBase{async load(e){e=r.default.resolve(e);let t=async()=>await this.config.transform(await this.#e(e));return this.loadCache?await(0,s.emplace)(this.loadCache,e,t):await t()}async search(e=``){if(this.config.metaConfigFilePath){this.loadingMetaConfig=!0;let e=await this.load(this.config.metaConfigFilePath);if(this.loadingMetaConfig=!1,e&&!e.isEmpty)return e}e=r.default.resolve(e);let t=this.#i(e),n=await t.next();if(n.done)throw Error(`Could not find any folders to iterate through (start from ${e})`);let a=n.value,o=async()=>{if(await(0,s.isDirectory)(a.path))for(let e of this.getSearchPlacesForDir(a,i.globalConfigSearchPlaces))try{let t=await this.#e(e);if(t!==null&&!(t.isEmpty&&this.config.ignoreEmptySearchPlaces))return await this.config.transform(t)}catch(e){if(e.code===`ENOENT`||e.code===`EISDIR`||e.code===`ENOTDIR`||e.code===`EACCES`)continue;throw e}let e=await t.next();return e.done?await this.config.transform(null):(a=e.value,this.searchCache?await(0,s.emplace)(this.searchCache,a.path,o):await o())};return this.searchCache?await(0,s.emplace)(this.searchCache,e,o):await o()}async#e(e,t=[]){let r=(0,s.decodeFileContent)(await n.default.readFile(e));return this.toCosmiconfigResult(e,await this.#t(e,r,t))}async#t(e,t,n){let i=await this.#n(e,t);if(!i||!(0,o.hasOwn)(i,`$import`))return i;let a=r.default.dirname(e),{$import:s,...c}=i,l=Array.isArray(s)?s:[s],u=[...n,e];this.validateImports(e,l,u);let d=await Promise.all(l.map(async e=>{let t=r.default.resolve(a,e);return(await this.#e(t,u))?.config}));return(0,o.mergeAll)([...d,c],{mergeArrays:this.config.mergeImportArrays})}async#n(e,t){if(t.trim()===``)return;let n=r.default.extname(e),i=this.config.loaders[n||`noExt`]??this.config.loaders.default;if(!i)throw Error(`No loader specified for ${(0,a.getExtensionDescription)(n)}`);try{let a=await i(e,t);return r.default.basename(e,n)===`package`?(0,s.getPropertyByPath)(a,this.config.packageProp??this.config.moduleName)??null:a}catch(t){throw t.filepath=e,t}}async#r(e){try{return await n.default.stat(e),!0}catch{return!1}}async*#i(e){switch(this.config.searchStrategy){case`none`:yield{path:e,isGlobalConfig:!1};return;case`project`:{let t=e;for(;;){yield{path:t,isGlobalConfig:!1};let e=!1;for(let n of[`json`,`yaml`]){let i=r.default.join(t,`package.${n}`);if(await this.#r(i)){e=!0;break}}if(e)return;let n=r.default.dirname(t);if(n===t)return;t=n}}case`global`:yield*this.getGlobalDirs(e)}}}})),xe=w((e=>{var t=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0}),e.ExplorerSync=void 0;var n=t(T(`fs`)),r=t(T(`path`)),i=he(),a=ve(),o=ye(),s=_e();e.ExplorerSync=class extends a.ExplorerBase{load(e){e=r.default.resolve(e);let t=()=>this.config.transform(this.#e(e));return this.loadCache?(0,s.emplace)(this.loadCache,e,t):t()}search(e=``){if(this.config.metaConfigFilePath){this.loadingMetaConfig=!0;let e=this.load(this.config.metaConfigFilePath);if(this.loadingMetaConfig=!1,e&&!e.isEmpty)return e}e=r.default.resolve(e);let t=this.#i(e),n=t.next();if(n.done)throw Error(`Could not find any folders to iterate through (start from ${e})`);let a=n.value,o=()=>{if((0,s.isDirectorySync)(a.path))for(let e of this.getSearchPlacesForDir(a,i.globalConfigSearchPlacesSync))try{let t=this.#e(e);if(t!==null&&!(t.isEmpty&&this.config.ignoreEmptySearchPlaces))return this.config.transform(t)}catch(e){if(e.code===`ENOENT`||e.code===`EISDIR`||e.code===`ENOTDIR`||e.code===`EACCES`)continue;throw e}let e=t.next();return e.done?this.config.transform(null):(a=e.value,this.searchCache?(0,s.emplace)(this.searchCache,a.path,o):o())};return this.searchCache?(0,s.emplace)(this.searchCache,e,o):o()}#e(e,t=[]){let r=(0,s.decodeFileContent)(n.default.readFileSync(e));return this.toCosmiconfigResult(e,this.#t(e,r,t))}#t(e,t,n){let i=this.#n(e,t);if(!i||!(0,o.hasOwn)(i,`$import`))return i;let a=r.default.dirname(e),{$import:s,...c}=i,l=Array.isArray(s)?s:[s],u=[...n,e];this.validateImports(e,l,u);let d=l.map(e=>{let t=r.default.resolve(a,e);return this.#e(t,u)?.config});return(0,o.mergeAll)([...d,c],{mergeArrays:this.config.mergeImportArrays})}#n(e,t){if(t.trim()===``)return;let n=r.default.extname(e),i=this.config.loaders[n||`noExt`]??this.config.loaders.default;if(!i)throw Error(`No loader specified for ${(0,a.getExtensionDescription)(n)}`);try{let a=i(e,t);return r.default.basename(e,n)===`package`?(0,s.getPropertyByPath)(a,this.config.packageProp??this.config.moduleName)??null:a}catch(t){throw t.filepath=e,t}}#r(e){try{return n.default.statSync(e),!0}catch{return!1}}*#i(e){switch(this.config.searchStrategy){case`none`:yield{path:e,isGlobalConfig:!1};return;case`project`:{let t=e;for(;;){yield{path:t,isGlobalConfig:!1};let e=!1;for(let n of[`json`,`yaml`]){let i=r.default.join(t,`package.${n}`);if(this.#r(i)){e=!0;break}}if(e)return;let n=r.default.dirname(t);if(n===t)return;t=n}}case`global`:yield*this.getGlobalDirs(e)}}loadSync(e){return this.load(e)}searchSync(e=``){return this.search(e)}}})),Se=(0,w((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.defaultLoadersSync=e.defaultLoaders=e.globalConfigSearchPlacesSync=e.globalConfigSearchPlaces=e.getDefaultSearchPlacesSync=e.getDefaultSearchPlaces=e.cosmiconfigSync=e.cosmiconfig=void 0;var t=he();Object.defineProperty(e,"defaultLoaders",{enumerable:!0,get:function(){return t.defaultLoaders}}),Object.defineProperty(e,"defaultLoadersSync",{enumerable:!0,get:function(){return t.defaultLoadersSync}}),Object.defineProperty(e,"getDefaultSearchPlaces",{enumerable:!0,get:function(){return t.getDefaultSearchPlaces}}),Object.defineProperty(e,"getDefaultSearchPlacesSync",{enumerable:!0,get:function(){return t.getDefaultSearchPlacesSync}}),Object.defineProperty(e,"globalConfigSearchPlaces",{enumerable:!0,get:function(){return t.globalConfigSearchPlaces}}),Object.defineProperty(e,"globalConfigSearchPlacesSync",{enumerable:!0,get:function(){return t.globalConfigSearchPlacesSync}});var n=be(),r=xe(),i=_e(),a=function(e){return e};function o(){let e=new r.ExplorerSync({moduleName:`cosmiconfig`,stopDir:process.cwd(),searchPlaces:t.metaSearchPlaces,ignoreEmptySearchPlaces:!1,applyPackagePropertyPathToConfiguration:!0,loaders:t.defaultLoaders,transform:a,cache:!0,metaConfigFilePath:null,mergeImportArrays:!0,mergeSearchPlaces:!0,searchStrategy:`none`}).search();if(!e)return null;if(e.config?.loaders)throw Error(`Can not specify loaders in meta config file`);if(e.config?.searchStrategy)throw Error(`Can not specify searchStrategy in meta config file`);let n={mergeSearchPlaces:!0,...e.config??{}};return{config:(0,i.removeUndefinedValuesFromObject)(n),filepath:e.filepath}}function s(e,t,n){let r=n.searchPlaces?.map(t=>t.replace(`{name}`,e));return n.mergeSearchPlaces?[...r??[],...t]:r??t}function c(e,t,n){let r=o();if(!r)return{...t,...(0,i.removeUndefinedValuesFromObject)(n),loaders:{...t.loaders,...n.loaders}};let a=r.config,c=n.searchPlaces??t.searchPlaces;return{...t,...(0,i.removeUndefinedValuesFromObject)(n),metaConfigFilePath:r.filepath,...a,searchPlaces:s(e,c,a),loaders:{...t.loaders,...n.loaders}}}function l(e){if(e.searchStrategy!=null&&e.searchStrategy!==`global`&&e.stopDir)throw Error('Can not supply `stopDir` option with `searchStrategy` other than "global"')}function u(e,n){return l(n),c(e,{moduleName:e,searchPlaces:(0,t.getDefaultSearchPlaces)(e),ignoreEmptySearchPlaces:!0,cache:!0,transform:a,loaders:t.defaultLoaders,metaConfigFilePath:null,mergeImportArrays:!0,mergeSearchPlaces:!0,searchStrategy:n.stopDir?`global`:`none`},n)}function d(e,n){return l(n),c(e,{moduleName:e,searchPlaces:(0,t.getDefaultSearchPlacesSync)(e),ignoreEmptySearchPlaces:!0,cache:!0,transform:a,loaders:t.defaultLoadersSync,metaConfigFilePath:null,mergeImportArrays:!0,mergeSearchPlaces:!0,searchStrategy:n.stopDir?`global`:`none`},n)}function f(e,t={}){let r=u(e,t),i=new n.Explorer(r);return{search:i.search.bind(i),load:i.load.bind(i),clearLoadCache:i.clearLoadCache.bind(i),clearSearchCache:i.clearSearchCache.bind(i),clearCaches:i.clearCaches.bind(i)}}e.cosmiconfig=f;function p(e,t={}){let n=d(e,t),i=new r.ExplorerSync(n);return{search:i.search.bind(i),load:i.load.bind(i),clearLoadCache:i.clearLoadCache.bind(i),clearSearchCache:i.clearSearchCache.bind(i),clearCaches:i.clearCaches.bind(i)}}e.cosmiconfigSync=p}))().cosmiconfig)(`tailorkit`,{searchPlaces:[`tailorkit.config.ts`,`tailorkit.config.mjs`,`tailorkit.config.js`]}),Ce=async(e,t=process.cwd())=>{let n=ne.resolve(t),r=e===void 0?await Se.search(n):await Se.load(ne.resolve(n,e));if(r===null)throw Error(`Could not find tailorkit config from ${n}.`);return{config:fe.parse(r.config),filepath:r.filepath,root:ne.dirname(r.filepath)}};function we(e){return e[0]??{}}function Te(e){return Array.isArray(e)?e:e==null?[]:[e]}function Ee(e){return typeof e.bytes==`function`?e.bytes():e.arrayBuffer()}var De=`orpc`,Oe=`@orpc/shared`,ke=`1.15.0`,Ae=class extends Error{constructor(...e){super(...e),this.name=`AbortError`}};function je(e){let t;return()=>{if(t)return t.result;let n=e();return t={result:n},n}}function Me(e){let t=Promise.resolve();return(...n)=>t=t.catch(()=>{}).then(()=>e(...n))}var Ne=2,Pe=`__${Oe}@${ke}/otel/config__`;function Fe(){return globalThis[Pe]}function Ie(e,t={},n){return(Fe()?.tracer)?.startSpan(e,t,n)}function E(e,t,n={}){if(!e)return;let r=Le(t);e.recordException(r),(!n.signal?.aborted||n.signal.reason!==t)&&e.setStatus({code:Ne,message:r.message})}function Le(e){if(e instanceof Error){let t={message:e.message,name:e.name,stack:e.stack};return`code`in e&&(typeof e.code==`string`||typeof e.code==`number`)&&(t.code=e.code),t}return{message:String(e)}}async function D({name:e,context:t,...n},r){let i=Fe()?.tracer;if(!i)return r();let a=async e=>{try{return await r(e)}catch(t){throw E(e,t,n),t}finally{e.end()}};return t?i.startActiveSpan(e,n,t,a):i.startActiveSpan(e,n,a)}async function O(e,t){let n=Fe();if(!e||!n)return t();let r=n.trace.setSpan(n.context.active(),e);return n.context.with(r,t)}var Re=class{openIds=new Set;queues=new Map;waiters=new Map;get length(){return this.openIds.size}get waiterIds(){return Array.from(this.waiters.keys())}hasBufferedItems(e){return!!this.queues.get(e)?.length}open(e){this.openIds.add(e)}isOpen(e){return this.openIds.has(e)}push(e,t){this.assertOpen(e);let n=this.waiters.get(e);if(n?.length)n.shift()[0](t),n.length===0&&this.waiters.delete(e);else{let n=this.queues.get(e);n?n.push(t):this.queues.set(e,[t])}}async pull(e){this.assertOpen(e);let t=this.queues.get(e);if(t?.length){let n=t.shift();return t.length===0&&this.queues.delete(e),n}return new Promise((t,n)=>{let r=this.waiters.get(e),i=[t,n];r?r.push(i):this.waiters.set(e,[i])})}close({id:e,reason:t}={}){if(e===void 0){this.waiters.forEach((e,n)=>{let r=t??new Ae(`[AsyncIdQueue] Queue[${n}] was closed or aborted while waiting for pulling.`);e.forEach(([,e])=>e(r))}),this.waiters.clear(),this.openIds.clear(),this.queues.clear();return}let n=t??new Ae(`[AsyncIdQueue] Queue[${e}] was closed or aborted while waiting for pulling.`);this.waiters.get(e)?.forEach(([,e])=>e(n)),this.waiters.delete(e),this.openIds.delete(e),this.queues.delete(e)}assertOpen(e){if(!this.isOpen(e))throw Error(`[AsyncIdQueue] Cannot access queue[${e}] because it is not open or aborted.`)}};function ze(e){return!e||typeof e!=`object`?!1:`next`in e&&typeof e.next==`function`&&Symbol.asyncIterator in e&&typeof e[Symbol.asyncIterator]==`function`}var k=Symbol.asyncDispose??Symbol.for(`asyncDispose`),Be=class{#e=!1;#t=!1;#n;#r;constructor(e,t){this.#n=t,this.#r=Me(async()=>{if(this.#e)return{done:!0,value:void 0};try{let t=await e();return t.done&&(this.#e=!0),t}catch(e){throw this.#e=!0,e}finally{this.#e&&!this.#t&&(this.#t=!0,await this.#n(`next`))}})}next(){return this.#r()}async return(e){return this.#e=!0,this.#t||(this.#t=!0,await this.#n(`return`)),{done:!0,value:e}}async throw(e){throw this.#e=!0,this.#t||(this.#t=!0,await this.#n(`throw`)),e}async[k](){this.#e=!0,this.#t||(this.#t=!0,await this.#n(`dispose`))}[Symbol.asyncIterator](){return this}};function A({name:e,...t},n){let r;return new Be(async()=>{r??=Ie(e);try{let e=await O(r,()=>n.next());return r?.addEvent(e.done?`completed`:`yielded`),e}catch(e){throw E(r,e,t),e}},async e=>{try{e!==`next`&&await O(r,()=>n.return?.())}catch(e){throw E(r,e,t),e}finally{r?.end()}})}var Ve=class{index=BigInt(1);generate(){let e=this.index.toString(36);return this.index++,e}};function He(e,t,n){let r=(t,i)=>{let a=e[i];return a?a({...t,next:(e=t)=>r(e,i+1)}):n(t)};return r(t,0)}function Ue(e){if(e)return JSON.parse(e)}function j(e){return JSON.stringify(e)}function We(e){return Ke(e)?Object.getPrototypeOf(e)?.constructor:null}function Ge(e){if(!e||typeof e!=`object`)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||!t||!t.constructor}function Ke(e){return!!e&&(typeof e==`object`||typeof e==`function`)}function qe(e){if(Array.isArray(e))return e.map(qe);if(Ge(e)){let t={};for(let n in e)t[n]=qe(e[n]);for(let n of Object.getOwnPropertySymbols(e))t[n]=qe(e[n]);return t}return e}function Je(e,...t){return typeof e==`function`?e(...t):e}function Ye(e){return new Proxy(e,{get(e,t,n){let r=Reflect.get(e,t,n);return t!==`then`||typeof r!=`function`?r:new Proxy(r,{apply(t,n,r){if(r.length!==2||r.some(e=>!Ze(e)))return Reflect.apply(t,n,r);let i=!0;r[0].call(n,Ye(new Proxy(e,{get:(e,t,n)=>{if(i&&t===`then`){i=!1;return}return Reflect.get(e,t,n)}})))}})}})}var Xe=/^\s*function\s*\(\)\s*\{\s*\[native code\]\s*\}\s*$/;function Ze(e){return typeof e==`function`&&Xe.test(e.toString())}function Qe(e,t){return new Proxy(typeof e==`function`?t:e,{get(n,r){let i=r in t?t:Je(e),a=Reflect.get(i,r);return typeof a==`function`?a.bind(i):a},has(n,r){return Reflect.has(t,r)||Reflect.has(Je(e),r)}})}function $e(e){try{return decodeURIComponent(e)}catch{return e}}var et=`@orpc/client`,tt=`1.15.0`,nt=new Set([`bind`,`valueOf`,`toString`,`toJSON`]),M={BAD_REQUEST:{status:400,message:`Bad Request`},UNAUTHORIZED:{status:401,message:`Unauthorized`},FORBIDDEN:{status:403,message:`Forbidden`},NOT_FOUND:{status:404,message:`Not Found`},METHOD_NOT_SUPPORTED:{status:405,message:`Method Not Supported`},NOT_ACCEPTABLE:{status:406,message:`Not Acceptable`},TIMEOUT:{status:408,message:`Request Timeout`},CONFLICT:{status:409,message:`Conflict`},PRECONDITION_FAILED:{status:412,message:`Precondition Failed`},PAYLOAD_TOO_LARGE:{status:413,message:`Payload Too Large`},UNSUPPORTED_MEDIA_TYPE:{status:415,message:`Unsupported Media Type`},UNPROCESSABLE_CONTENT:{status:422,message:`Unprocessable Content`},TOO_MANY_REQUESTS:{status:429,message:`Too Many Requests`},CLIENT_CLOSED_REQUEST:{status:499,message:`Client Closed Request`},INTERNAL_SERVER_ERROR:{status:500,message:`Internal Server Error`},NOT_IMPLEMENTED:{status:501,message:`Not Implemented`},BAD_GATEWAY:{status:502,message:`Bad Gateway`},SERVICE_UNAVAILABLE:{status:503,message:`Service Unavailable`},GATEWAY_TIMEOUT:{status:504,message:`Gateway Timeout`}};function N(e,t){return t??M[e]?.status??500}function P(e,t){return t||M[e]?.message||e}var F,I=class e extends Error{defined;code;status;data;static{let t=Symbol.for(`__${et}@${tt}/error/ORPC_ERROR_CONSTRUCTORS__`);globalThis[t]??=new WeakSet,F=globalThis[t],F.add(e)}constructor(e,...t){let n=we(t);if(n.status!==void 0&&!it(n.status))throw Error(`[ORPCError] Invalid error status code.`);let r=P(e,n.message);super(r,n),this.code=e,this.status=N(e,n.status),this.defined=n.defined??!1,this.data=n.data}toJSON(){return{defined:this.defined,code:this.code,status:this.status,message:this.message,data:this.data}}static[Symbol.hasInstance](e){if(F.has(this)){let t=We(e);if(t&&F.has(t))return!0}return super[Symbol.hasInstance](e)}};function rt(e){return e instanceof I?e:new I(`INTERNAL_SERVER_ERROR`,{message:`Internal server error`,cause:e})}function it(e){return e<200||e>=400}function at(e){if(!Ge(e))return!1;let t=[`defined`,`code`,`status`,`message`,`data`];return!Object.keys(e).some(e=>!t.includes(e))&&`defined`in e&&typeof e.defined==`boolean`&&`code`in e&&typeof e.code==`string`&&`status`in e&&typeof e.status==`number`&&it(e.status)&&`message`in e&&typeof e.message==`string`}function ot(e,t={}){return new I(e.code,{...t,...e})}var st=class extends TypeError{},ct=class extends TypeError{},lt=class extends Error{data;constructor(e){super(e?.message??`An error event was received`,e),this.data=e?.data}},ut=/\r\n|\r(?!\n)|\n/,dt=/(?:\r\n|\r(?!\n)|\n){2}/,ft=/(?:\r\n|\r(?!\n)|\n){2}/g,pt=13,mt=10,ht=32;function gt(e){let t={data:void 0,event:void 0,id:void 0,retry:void 0,comments:[]};for(let n of e.split(ut)){if(n===``)continue;let e=n.indexOf(`:`),r=e===-1?``:n.slice(n.charCodeAt(e+1)===ht?e+2:e+1);if(e===0){t.comments.push(r);continue}switch(e===-1?n:n.slice(0,e)){case`data`:t.data=t.data===void 0?r:`${t.data}
42
- ${r}`;break;case`event`:t.event=r;break;case`id`:t.id=r;break;case`retry`:{let e=Number.parseInt(r,10);e>=0&&e.toString()===r&&(t.retry=e);break}}}return t}var _t=class{constructor(e={}){this.options=e}pending=[];tail=``;discardLeadingLF=!1;feed(e){if(e===``||this.discardLeadingLF&&(this.discardLeadingLF=!1,e.charCodeAt(0)===mt&&(e=e.slice(1),e===``)))return;let t=this.tail+e;if(!dt.test(t)){this.pending.push(e),this.tail=t.slice(-3);return}this.pending.push(e);let n=this.pending.length===1?e:this.pending.join(``),r=n.length-t.length,i=[],a=0;for(let e of t.matchAll(ft))i.push(n.slice(a,r+e.index)),a=r+e.index+e[0].length;let o=n.slice(a);this.pending.length=0,this.tail=o.slice(-3),o===``?this.discardLeadingLF=e.charCodeAt(e.length-1)===pt:this.pending.push(o);for(let e of i){let t=gt(e);this.options.onEvent&&this.options.onEvent(t)}}end(){if(this.pending.length!==0)throw new ct(`Event Iterator ended before complete`)}},vt=class extends TransformStream{constructor(){let e;super({start(t){e=new _t({onEvent:e=>{t.enqueue(e)}})},transform(t){e.feed(t)},flush(){e.end()}})}},yt=/\r\n|[\n\r]/,bt=/\r\n|[\n\r]/g;function xt(e){return yt.test(e)}function St(e){if(xt(e))throw new st(`Event's id must not contain a carriage return or newline character`)}function Ct(e){if(xt(e))throw new st(`Event's event must not contain a carriage return or newline character`)}function wt(e){if(!Number.isInteger(e)||e<0)throw new st(`Event's retry must be a integer and >= 0`)}function L(e){if(xt(e))throw new st(`Event's comment must not contain a carriage return or newline character`)}function Tt(e){return e===void 0?``:`data: ${e.replace(bt,`
2
+ import{fileURLToPath as e}from"node:url";import{dirname as t}from"node:path";const n=e(import.meta.url);t(n);import{createRequire as r}from"node:module";import{cancel as i,confirm as a,intro as o,isCancel as s,log as c,outro as l,select as u,spinner as d,text as f}from"@clack/prompts";import{cac as p}from"cac";import m from"picocolors";import{chmod as h,mkdir as g,mkdtemp as _,readFile as v,readdir as y,realpath as b,rm as x,stat as S,writeFile as C}from"node:fs/promises";import{homedir as w,platform as ee}from"node:os";import T from"node:path";import{loadTailorKitConfig as te}from"@tailorkit/app/config/loader";import{z as E}from"zod";import{createHash as D}from"node:crypto";import{execFile as ne,spawn as re}from"node:child_process";import{existsSync as ie}from"node:fs";import{promisify as ae}from"node:util";import{gzip as O}from"node:zlib";import{Liquid as oe}from"liquidjs";function k(e){return Array.isArray(e)?e:e==null?[]:[e]}var A=class extends Error{constructor(...e){super(...e),this.name=`AbortError`}};function se(e){let t=Promise.resolve();return(...n)=>t=t.catch(()=>{}).then(()=>e(...n))}var ce=class{index=BigInt(1);generate(){let e=this.index.toString(36);return this.index++,e}};function j(e){return!e||typeof e!=`object`?!1:`next`in e&&typeof e.next==`function`&&Symbol.asyncIterator in e&&typeof e[Symbol.asyncIterator]==`function`}var le=Symbol.asyncDispose??Symbol.for(`asyncDispose`),ue=class{isDone=!1;isExecuteComplete=!1;cleanup;next;constructor(e,t){this.cleanup=t,this.next=se(async()=>{if(this.isDone)return{done:!0,value:void 0};let t;try{let t=await e();return t.done&&(this.isDone=!0),t}catch(e){throw t={value:e},this.isDone=!0,e}finally{this.isDone&&!this.isExecuteComplete&&(this.isExecuteComplete=!0,await this.cleanup(t?{kind:`error`,error:t.value}:{kind:`success`}))}})}async return(e){return this.isDone=!0,this.isExecuteComplete||(this.isExecuteComplete=!0,await this.cleanup({kind:`cancelled`})),{done:!0,value:e}}async throw(e){throw this.isDone=!0,this.isExecuteComplete||(this.isExecuteComplete=!0,await this.cleanup({kind:`cancelled`,error:e})),e}async[le](){this.isDone=!0,this.isExecuteComplete||(this.isExecuteComplete=!0,await this.cleanup({kind:`cancelled`}))}[Symbol.asyncIterator](){return this}};function de(e){if(e)return JSON.parse(e)}function M(e){return JSON.stringify(e)}function fe(e){for(let t of Object.values(e))if(t!==void 0)return!0;return!1}function N(e){if(!e)return!1;let t=typeof e;return t===`object`||t===`function`}var pe=new WeakMap;function me(e,t,{bind:n=!0}={}){let r=Reflect.get(e,t);if(!n||typeof r!=`function`)return r;let i=pe.get(r);i||pe.set(r,i=new WeakMap);let a=i.get(e);return a||i.set(e,a=r.bind(e)),a}var he=class{items=[];pendingPulls=[];closed;push(e){if(this.closed)throw this.closed.reason;let t=this.pendingPulls.shift();t?t[0](e):this.items.push(e)}async pull(){if(this.items.length>0)return this.items.shift();if(this.closed)throw this.closed.reason;return new Promise((e,t)=>{this.pendingPulls.push([e,t])})}close(e){this.closed||(e??=new A(`Queue was closed.`),this.closed={reason:e},this.pendingPulls.forEach(([,t])=>t(e)),this.pendingPulls.length=0)}abort(e){e??=new A(`Queue was aborted.`),this.items.length=0,this.close(e)}};function ge(e,{signal:t}={}){return new Promise((n,r)=>{if(t?.aborted){r(t.reason);return}let i=null,a=setTimeout(()=>{i&&t?.removeEventListener(`abort`,i),n()},e);t&&t.addEventListener(`abort`,i=()=>{clearTimeout(a),r(t?.reason)},{once:!0})})}var _e=/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g;function ve(e){try{return encodeURIComponent(e)}catch{return encodeURIComponent(e.replace(_e,`�`))}}function ye(e){if(!e.includes(`%`))return e;try{return decodeURIComponent(e)}catch{return e}}function be(e){return e[0]??{}}async function xe(e){return typeof e.bytes==`function`?e.bytes():new Uint8Array(await e.arrayBuffer())}function Se(e){return typeof e==`string`?e:e instanceof ArrayBuffer?new Uint8Array(e):Array.isArray(e)?we(e):e instanceof Uint8Array?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function Ce(e){return typeof e==`string`?new TextEncoder().encode(e):e instanceof ArrayBuffer?new Uint8Array(e):e instanceof Uint8Array?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function we(e){let t=e.map(Ce),n=t.reduce((e,t)=>e+t.byteLength,0),r=new Uint8Array(n),i=0;for(let e of t)r.set(e,i),i+=e.byteLength;return r}var Te=`orpc`;function Ee(e){return e instanceof Error&&e.name.includes(`Abort`)}Object.getPrototypeOf(async function*(){}).constructor;function De(e){let t;return()=>{if(t)return t.result;let n=e();return t={result:n},n}}function Oe(e){return`/${e.map(ve).join(`/`)}`}var ke=Symbol.for(`ORPC_TRACER`);function P(){return globalThis[ke]}function Ae(e){let t=P();if(t)return typeof e==`string`?t.startSpan(e):t.startSpan(e.name,e.parent)}function je(e,t){e&&e.recordException(Ee(t)?`info`:`error`,Me(t))}function Me(e){if(e instanceof Error){let t={message:e.message,name:e.name,stack:e.stack};return`code`in e&&(typeof e.code==`string`||typeof e.code==`number`)&&(t.code=e.code),t}return{message:String(e)}}async function Ne(e,t){let n=P();if(!n)return t();let r=typeof e==`string`?e:e.name,i=typeof e==`string`?void 0:e.parent;return n.startActiveSpan(r,i,async e=>{try{return await t(e)}catch(t){throw je(e,t),t}finally{e.end()}})}function Pe(e,t){let n=P();return!e||!n?t():n.withActiveSpan(e,t)}function Fe(e,{runWith:t,mapResult:n,mapError:r,onError:i,onFinish:a}){t??=e=>e();let o;return new ue(async()=>{try{let r;try{r=await t(()=>e.next()),o=r.done}catch(e){throw o=!0,e}return n?await n(r):r}catch(e){throw await i?.(e),r?await r(e):e}},async n=>{try{if(!o)try{await t(async()=>e.return?.())}catch(e){throw await i?.(e),e}}finally{await a?.()}})}function Ie(e,t){let n=De(()=>Ae(e));return Fe(t,{runWith:e=>Pe(n(),e),mapResult(e){return n()?.addEvent(e.done?`completed`:`yielded`),e},onError(e){je(n(),e)},onFinish(){n()?.end()}})}function F(e,...t){return typeof e==`function`?e(...t):e}function Le(e,t){return new Proxy(typeof e==`function`?t:e,{get(n,r){return me(r in t?t:F(e),r)},has(n,r){return Reflect.has(t,r)||Reflect.has(F(e),r)}})}function Re(e){return N(e)?Object.getPrototypeOf(e)?.constructor:null}function*ze(e){if(!N(e))return;let t=Object.getPrototypeOf(e);for(;t!=null;)t.constructor&&(yield t.constructor),t=Object.getPrototypeOf(t)}function Be(e){if(!e||typeof e!=`object`)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||!t||!t.constructor}function Ve(e,t,n){t===`__proto__`?Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0}):e[t]=n}function He(e,t){let n={...e};for(let e of t)delete n[e];return n}function Ue(e,t,n){let r=e[t];if(r!==n)return r;let i;if(Array.isArray(r))i=r.slice();else if(Be(r))i={...r};else return r;return Ve(e,t,i),i}var We=(()=>{let e=function(){};return e.prototype=Object.create(null),Object.freeze(e.prototype),e})();function Ge(){let e={};return e.promise=new Promise((t,n)=>{e.resolve=t,e.reject=n}),e}function Ke(e,{runWith:t,mapResult:n,mapError:r,onError:i,onFinish:a}){t??=e=>e();let o=De(()=>e.getReader()),s=De(async()=>a?.());return new ReadableStream({async pull(e){let a;try{let e=await t(()=>o().read());a=n?await n(e):e}catch(t){try{await i?.(t),e.error(r?await r(t):t)}finally{await s()}return}a.done?(e.close(),await s()):e.enqueue(a.value)},async cancel(e){try{try{await t(()=>o().cancel(e))}catch(e){throw await i?.(e),e}}finally{await s()}}})}function qe(e,t){let n=De(()=>Ae(e));return Ke(t,{runWith:e=>Pe(n(),e),mapResult(e){return n()?.addEvent(e.done?`closed`:`enqueued`),e},onError(e){je(n(),e)},onFinish(){n()?.end()}})}function Je(e,t,n){if(!e?.length)return n(t);let r=(t,i)=>{let a=e[i];return a?a({...t,next:(e=t)=>r(e,i+1)}):n(t)};return r(t,0)}function Ye(e){let t=e.length,n=new Map;for(let r=0;r<t;r++){let t=e[r],i=n.get(t.name);i===void 0?n.set(t.name,[r]):i.push(r)}let r=Array.from({length:t},()=>[]);for(let i=0;i<t;i++){let t=e[i];if(t.before!==void 0)for(let e of t.before){let t=n.get(e);if(t!==void 0)for(let e of t)r[e].push(i)}if(t.after!==void 0)for(let e of t.after){let t=n.get(e);if(t!==void 0)for(let e of t)r[i].push(e)}}let i=[],a=new Set;for(;i.length<t;){let t=e.findIndex((e,t)=>!a.has(t)&&r[t].every(e=>a.has(e)));if(t===-1)throw Error(`Circular dependency detected involving plugin "${Xe(e,r,a).name}"`);a.add(t),i.push(e[t])}return i}function Xe(e,t,n){let r=new Set,i=e.findIndex((e,t)=>!n.has(t));for(;!r.has(i);)r.add(i),i=t[i].find(e=>!n.has(e));return e[i]}async function Ze(e,t){if(!e)return t();e.throwIfAborted();let{promise:n,reject:r,resolve:i}=Ge(),a;e.addEventListener(`abort`,a=()=>{r(e.reason),a=void 0});try{return t().then(i,r),await n}finally{a&&e.removeEventListener(`abort`,a)}}var Qe=class extends TypeError{},$e=class extends TypeError{},I=class extends Error{constructor(e,t={}){super(t?.message??`Error Event`,t),this.data=e}},et=/\r\n|\r(?!\n)|\n/,tt=/(?:\r\n|\r(?!\n)|\n){2}/,nt=/(?:\r\n|\r(?!\n)|\n){2}/g,rt=13,it=10,at=32;function ot(e){let t={};for(let n of e.split(et)){if(n===``)continue;let e=n.indexOf(`:`),r=e===-1?``:n.slice(n.charCodeAt(e+1)===at?e+2:e+1);if(e===0){(t.comments??=[]).push(r);continue}switch(e===-1?n:n.slice(0,e)){case`data`:t.data=t.data===void 0?r:`${t.data}
3
+ ${r}`;break;case`event`:t.event=r;break;case`id`:t.id=r;break;case`retry`:{let e=Number.parseInt(r,10);e>=0&&e.toString()===r&&(t.retry=e);break}}}return t}var st=class{constructor(e){this.onEvent=e}pending=[];tail=``;discardLeadingLF=!1;feed(e){if(e===``||this.discardLeadingLF&&(this.discardLeadingLF=!1,e.charCodeAt(0)===it&&(e=e.slice(1),e===``)))return;let t=this.tail+e;if(!tt.test(t)){this.pending.push(e),this.tail=t.slice(-3);return}this.pending.push(e);let n=this.pending.length===1?e:this.pending.join(``),r=n.length-t.length,i=[],a=0;for(let e of t.matchAll(nt))i.push(n.slice(a,r+e.index)),a=r+e.index+e[0].length;let o=n.slice(a);this.pending.length=0,this.tail=o.slice(-3),o===``?this.discardLeadingLF=e.charCodeAt(e.length-1)===rt:this.pending.push(o);for(let e of i)this.onEvent(ot(e))}end(){if(this.pending.length!==0)throw new $e(`Event Stream ended before complete`)}},ct=class{readable;writable;constructor(){let e,t=new TransformStream({start(t){e=new st(e=>{t.enqueue(e)})},transform(t){e.feed(t)},flush(){e.end()}});this.readable=t.readable,this.writable=t.writable}},lt=/\r\n|[\n\r]/,ut=/\r\n|[\n\r]/g;function dt(e){return lt.test(e)}function ft(e){if(dt(e))throw new Qe(`Event's id must not contain a carriage return or newline character`)}function pt(e){if(dt(e))throw new Qe(`Event's event must not contain a carriage return or newline character`)}function mt(e){if(!Number.isInteger(e)||e<0)throw new Qe(`Event's retry must be a integer and >= 0`)}function ht(e){if(dt(e))throw new Qe(`Event's comment must not contain a carriage return or newline character`)}function gt(e){return e===void 0?``:`data: ${e.replace(ut,`
43
4
  data: `)}
44
- `}function Et(e){let t=``;for(let n of e??[])L(n),t+=`: ${n}
45
- `;return t}function Dt(e){let t=``;return t+=Et(e.comments),e.event!==void 0&&(Ct(e.event),t+=`event: ${e.event}
46
- `),e.retry!==void 0&&(wt(e.retry),t+=`retry: ${e.retry}
47
- `),e.id!==void 0&&(St(e.id),t+=`id: ${e.id}
48
- `),t+=Tt(e.data),t+=`
49
- `,t}var Ot=Symbol(`ORPC_EVENT_SOURCE_META`);function kt(e,t){if(t.id===void 0&&t.retry===void 0&&!t.comments?.length)return e;if(t.id!==void 0&&St(t.id),t.retry!==void 0&&wt(t.retry),t.comments!==void 0)for(let e of t.comments)L(e);return new Proxy(e,{get(e,n,r){return n===Ot?t:Reflect.get(e,n,r)}})}function At(e){return Ke(e)?Reflect.get(e,Ot):void 0}var jt=class extends Be{hibernationCallback;constructor(e){super(async()=>{throw Error(`Cannot iterate over hibernating iterator directly`)},async e=>{if(e!==`next`)throw Error(`Cannot cleanup hibernating iterator directly`)}),this.hibernationCallback=e}};function Mt(e,t=`inline`){return`${t}; filename="${e.replace(/[^\x20-\x7E]/g,`_`).replace(/"/g,`\\"`)}"; filename*=utf-8''${encodeURIComponent(e).replace(/['()*]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`).replace(/%(7C|60|5E)/g,(e,t)=>String.fromCharCode(Number.parseInt(t,16)))}`}function Nt(e){let t=e.match(/filename\*=(UTF-8'')?([^;]*)/i);if(t&&typeof t[2]==`string`)return $e(t[2]);let n=e.match(/filename="((?:\\"|[^"])*)"/i);if(n&&typeof n[1]==`string`)return n[1].replace(/\\"/g,`"`)}function Pt(e,t){let n={...e};for(let e in t)Array.isArray(t[e])?n[e]=[...Te(n[e]),...t[e]]:t[e]!==void 0&&(n[e]=Array.isArray(n[e])?[...n[e],t[e]]:n[e]===void 0?t[e]:[n[e],t[e]]);return n}function Ft(e){if(typeof e==`string`||e===void 0)return e;if(e.length!==0)return e.join(`, `)}function R(e){return!!(Ft(e[`content-type`])?.startsWith(`text/event-stream`)&&Ft(e[`content-disposition`])===void 0)}function It(e,t){let n=async e=>{let n=await t.error(e);if(n!==e){let t=At(e);t&&Ke(n)&&(n=kt(n,t))}return n};return new Be(async()=>{let{done:r,value:i}=await(async()=>{try{return await e.next()}catch(e){throw await n(e)}})(),a=await t.value(i,r);if(a!==i){let e=At(i);e&&Ke(a)&&(a=kt(a,e))}return{done:r,value:a}},async()=>{try{await e.return?.()}catch(e){throw await n(e)}})}function Lt(e){return{...e,context:e.context??{}}}function Rt(e,t={}){let n=t.path??[];return Ye(new Proxy(async(...[t,r={}])=>await e.call(n,t,Lt(r)),{get(r,i){return typeof i!=`string`||nt.has(i)?Reflect.get(r,i):Rt(e,{...t,path:[...n,i]})}}))}function zt(e,t={}){let n=(e?.pipeThrough(new TextDecoderStream).pipeThrough(new vt))?.getReader(),r,i=!1;return new Be(async()=>{r??=Ie(`consume_event_iterator_stream`);try{for(;;){if(n===void 0)return{done:!0,value:void 0};let{done:e,value:t}=await O(r,()=>n.read());if(e){if(i)throw new Ae(`Stream was cancelled`);return{done:!0,value:void 0}}switch(t.event){case`message`:{let e=Ue(t.data);return Ke(e)&&(e=kt(e,t)),r?.addEvent(`message`),{done:!1,value:e}}case`error`:{let e=new lt({data:Ue(t.data)});throw e=kt(e,t),r?.addEvent(`error`),e}case`done`:{let e=Ue(t.data);return Ke(e)&&(e=kt(e,t)),r?.addEvent(`done`),{done:!0,value:e}}default:r?.addEvent(`maybe_keepalive`)}}}catch(e){throw e instanceof lt||E(r,e,t),e}},async e=>{try{e!==`next`&&(i=!0,r?.addEvent(`cancelled`)),await O(r,()=>n?.cancel())}catch(e){throw E(r,e,t),e}finally{r?.end()}})}function Bt(e,t={}){let n=t.eventIteratorKeepAliveEnabled??!0,r=t.eventIteratorKeepAliveInterval??5e3,i=t.eventIteratorKeepAliveComment??``,a=t.eventIteratorInitialCommentEnabled??!0,o=t.eventIteratorInitialComment??``,s=!1,c,l;return new ReadableStream({start(e){l=Ie(`stream_event_iterator`),a&&e.enqueue(Dt({comments:[o]}))},async pull(t){try{n&&(c=setInterval(()=>{t.enqueue(Dt({comments:[i]})),l?.addEvent(`keepalive`)},r));let a=await O(l,()=>e.next());if(clearInterval(c),s)return;let o=At(a.value);if(!a.done||a.value!==void 0||o!==void 0){let e=a.done?`done`:`message`;t.enqueue(Dt({...o,event:e,data:j(a.value)})),l?.addEvent(e)}a.done&&(t.close(),l?.end())}catch(e){if(clearInterval(c),s)return;e instanceof lt?(t.enqueue(Dt({...At(e),event:`error`,data:j(e.data)})),l?.addEvent(`error`),t.close()):(E(l,e),t.error(e)),l?.end()}},async cancel(){try{s=!0,clearInterval(c),l?.addEvent(`cancelled`),await O(l,()=>e.return?.())}catch(e){throw E(l,e),e}finally{l?.end()}}}).pipeThrough(new TextEncoderStream)}function Vt(e,t={}){return D({name:`parse_standard_body`,signal:t.signal},async()=>{let n=e.headers.get(`content-disposition`);if(typeof n==`string`){let t=Nt(n)??`blob`,r=await e.blob();return new File([r],t,{type:r.type})}let r=e.headers.get(`content-type`);if(!r||r.startsWith(`application/json`))return Ue(await e.text());if(r.startsWith(`multipart/form-data`))return await e.formData();if(r.startsWith(`application/x-www-form-urlencoded`)){let t=await e.text();return new URLSearchParams(t)}if(r.startsWith(`text/event-stream`))return zt(e.body,t);if(r.startsWith(`text/plain`))return await e.text();let i=await e.blob();return new File([i],`blob`,{type:i.type})})}function Ht(e,t,n={}){if(e instanceof ReadableStream)return e;let r=t.get(`content-disposition`);if(t.delete(`content-type`),t.delete(`content-disposition`),e!==void 0)return e instanceof Blob?(t.set(`content-type`,e.type),t.set(`content-length`,e.size.toString()),t.set(`content-disposition`,r??Mt(e instanceof File?e.name:`blob`)),e):e instanceof FormData||e instanceof URLSearchParams?e:ze(e)?(t.set(`content-type`,`text/event-stream`),Bt(e,n)):(t.set(`content-type`,`application/json`),j(e))}function Ut(e,t={}){return e.forEach((e,n)=>{Array.isArray(t[n])?t[n].push(e):t[n]=t[n]===void 0?e:[t[n],e]}),t}function Wt(e,t=new Headers){for(let[n,r]of Object.entries(e))if(Array.isArray(r))for(let e of r)t.append(n,e);else r!==void 0&&t.append(n,r);return t}function Gt(e,t={}){let n=Wt(e.headers),r=Ht(e.body,n,t);return new Request(e.url,{signal:e.signal,method:e.method,headers:n,body:r})}function Kt(e,t={}){return{body:je(()=>Vt(e,t)),status:e.status,get headers(){let t=Ut(e.headers);return Object.defineProperty(this,"headers",{value:t,writable:!0}),t},set headers(e){Object.defineProperty(this,"headers",{value:e,writable:!0})}}}var qt=class{plugins;constructor(e=[]){this.plugins=[...e].sort((e,t)=>(e.order??0)-(t.order??0))}init(e){for(let t of this.plugins)t.init?.(e)}},Jt=class{constructor(e,t,n={}){this.codec=e,this.sender=t,new qt(n.plugins).init(n),this.interceptors=Te(n.interceptors),this.clientInterceptors=Te(n.clientInterceptors)}interceptors;clientInterceptors;call(e,t,n){return D({name:`${De}.${e.join(`/`)}`,signal:n.signal},r=>(r?.setAttribute(`rpc.system`,De),r?.setAttribute(`rpc.method`,e.join(`.`)),ze(t)&&(t=A({name:`consume_event_iterator_input`,signal:n.signal},t)),He(this.interceptors,{...n,path:e,input:t},async({path:e,input:t,...n})=>{let i=Fe(),a,o=i?.trace.getActiveSpan()??r;o&&i&&(a=i?.trace.setSpan(i.context.active(),o));let s=await D({name:`encode_request`,context:a},()=>this.codec.encode(e,t,n)),c=await He(this.clientInterceptors,{...n,input:t,path:e,request:s},({input:e,path:t,request:n,...r})=>D({name:`send_request`,signal:r.signal,context:a},()=>this.sender.call(n,r,t,e))),l=await D({name:`decode_response`,context:a},()=>this.codec.decode(c,n,e,t));return ze(l)?A({name:`consume_event_iterator_output`,signal:n.signal},l):l})))}},z={BIGINT:0,DATE:1,NAN:2,UNDEFINED:3,URL:4,REGEXP:5,SET:6,MAP:7},Yt=class{customSerializers;constructor(e={}){if(this.customSerializers=e.customJsonSerializers??[],this.customSerializers.length!==new Set(this.customSerializers.map(e=>e.type)).size)throw Error(`Custom serializer type must be unique.`)}serialize(e,t=[],n=[],r=[],i=[]){for(let a of this.customSerializers)if(a.condition(e)){let o=this.serialize(a.serialize(e),t,n,r,i);return n.push([a.type,...t]),o}if(e instanceof Blob)return r.push(t),i.push(e),[e,n,r,i];if(typeof e==`bigint`)return n.push([z.BIGINT,...t]),[e.toString(),n,r,i];if(e instanceof Date)return n.push([z.DATE,...t]),Number.isNaN(e.getTime())?[null,n,r,i]:[e.toISOString(),n,r,i];if(Number.isNaN(e))return n.push([z.NAN,...t]),[null,n,r,i];if(e instanceof URL)return n.push([z.URL,...t]),[e.toString(),n,r,i];if(e instanceof RegExp)return n.push([z.REGEXP,...t]),[e.toString(),n,r,i];if(e instanceof Set){let a=this.serialize(Array.from(e),t,n,r,i);return n.push([z.SET,...t]),a}if(e instanceof Map){let a=this.serialize(Array.from(e.entries()),t,n,r,i);return n.push([z.MAP,...t]),a}if(Array.isArray(e))return[e.map((e,a)=>e===void 0?(n.push([z.UNDEFINED,...t,a]),null):this.serialize(e,[...t,a],n,r,i)[0]),n,r,i];if(Ge(e)){let a={};for(let o in e)(o!==`toJSON`||typeof e[o]!=`function`)&&(a[o]=this.serialize(e[o],[...t,o],n,r,i)[0]);return[a,n,r,i]}return[e,n,r,i]}deserialize(e,t,n,r){let i={data:e};n&&r&&n.forEach((e,t)=>{let n=i,a=`data`;e.forEach(e=>{if(n=n[a],a=e,!Object.hasOwn(n,a))throw Error(`Security error: accessing non-existent path during deserialization. Path segment: ${a}`)}),n[a]=r(t)});for(let e of t){let t=e[0],n=i,r=`data`;for(let t=1;t<e.length;t++)if(n=n[r],r=e[t],!Object.hasOwn(n,r))throw Error(`Security error: accessing non-existent path during deserialization. Path segment: ${r}`);for(let e of this.customSerializers)if(e.type===t){n[r]=e.deserialize(n[r]);break}switch(t){case z.BIGINT:n[r]=BigInt(n[r]);break;case z.DATE:n[r]=new Date(n[r]??`Invalid Date`);break;case z.NAN:n[r]=NaN;break;case z.UNDEFINED:n[r]=void 0;break;case z.URL:n[r]=new URL(n[r]);break;case z.REGEXP:{let[,e,t]=n[r].match(/^\/(.*)\/([a-z]*)$/);n[r]=new RegExp(e,t);break}case z.SET:n[r]=new Set(n[r]);break;case z.MAP:n[r]=new Map(n[r])}}return i.data}};function Xt(e){return`/${e.map(encodeURIComponent).join(`/`)}`}function Zt(e){return typeof e.forEach==`function`?Ut(e):e}function Qt(e){return Object.entries(M).find(([,t])=>t.status===e)?.[0]??`MALFORMED_ORPC_ERROR_RESPONSE`}var $t=class{constructor(e,t){this.serializer=e,this.baseUrl=t.url,this.maxUrlLength=t.maxUrlLength??2083,this.fallbackMethod=t.fallbackMethod??`POST`,this.expectedMethod=t.method??this.fallbackMethod,this.headers=t.headers??{}}baseUrl;maxUrlLength;fallbackMethod;expectedMethod;headers;async encode(e,t,n){let r=Zt(await Je(this.headers,n,e,t));n.lastEventId!==void 0&&(r=Pt(r,{"last-event-id":n.lastEventId}));let i=await Je(this.expectedMethod,n,e,t),a=await Je(this.baseUrl,n,e,t),o=new URL(a);o.pathname=`${o.pathname.replace(/\/$/,``)}${Xt(e)}`;let s=this.serializer.serialize(t);if(i===`GET`&&!(s instanceof FormData)&&!ze(s)){let a=await Je(this.maxUrlLength,n,e,t),c=new URL(o);if(c.searchParams.append(`data`,j(s)),c.toString().length<=a)return{body:void 0,method:i,headers:r,url:c,signal:n.signal}}return{url:o,method:i===`GET`?this.fallbackMethod:i,headers:r,body:s,signal:n.signal}}async decode(e){let t=!it(e.status),n=await(async()=>{let t=!1;try{let n=await e.body();return t=!0,this.serializer.deserialize(n)}catch(e){throw Error(t?`Invalid RPC response format.`:`Cannot parse response body, please check the response body and content-type.`,{cause:e})}})();if(!t)throw at(n)?ot(n):new I(Qt(e.status),{status:e.status,data:{...e,body:n}});return n}},en=class{constructor(e){this.jsonSerializer=e}serialize(e){return ze(e)?It(e,{value:async e=>this.#e(e,!1),error:async e=>new lt({data:this.#e(rt(e).toJSON(),!1),cause:e})}):this.#e(e,!0)}#e(e,t){let[n,r,i,a]=this.jsonSerializer.serialize(e),o=r.length===0?void 0:r;if(!t||a.length===0)return{json:n,meta:o};let s=new FormData;return s.set(`data`,j({json:n,meta:o,maps:i})),a.forEach((e,t)=>{s.set(t.toString(),e)}),s}deserialize(e){return ze(e)?It(e,{value:async e=>this.#t(e),error:async e=>{if(!(e instanceof lt))return e;let t=this.#t(e.data);return at(t)?ot(t,{cause:e}):new lt({data:t,cause:e})}}):this.#t(e)}#t(e){if(e===void 0)return;if(!(e instanceof FormData))return this.jsonSerializer.deserialize(e.json,e.meta??[]);let t=JSON.parse(e.get(`data`));return this.jsonSerializer.deserialize(t.json,t.meta??[],t.maps,t=>e.get(t.toString()))}},tn=class extends Jt{constructor(e,t){let n=new $t(new en(new Yt(t)),t);super(n,e,t)}},B=class extends qt{initRuntimeAdapter(e){for(let t of this.plugins)t.initRuntimeAdapter?.(e)}},nn=class{fetch;toFetchRequestOptions;adapterInterceptors;constructor(e){new B(e.plugins).initRuntimeAdapter(e),this.fetch=e.fetch??globalThis.fetch.bind(globalThis),this.toFetchRequestOptions=e,this.adapterInterceptors=Te(e.adapterInterceptors)}async call(e,t,n,r){let i=Gt(e,this.toFetchRequestOptions);return Kt(await He(this.adapterInterceptors,{...t,request:i,path:n,input:r,init:{redirect:`manual`}},({request:e,path:t,input:n,init:r,...i})=>this.fetch(e,r,i,t,n)),{signal:i.signal})}},rn=class extends tn{constructor(e){let t=new nn(e);super(t,e)}},an=class extends Error{issues;data;constructor(e){super(e.message,e),this.issues=e.issues,this.data=e.data}};function V(e,t){return{...e,...t}}async function H(e,t){let{code:n,status:r,message:i,data:a,cause:o,defined:s}=t,c=e?.[t.code];if(!c||N(t.code,c.status)!==t.status)return s?new I(n,{defined:!1,status:r,message:i,data:a,cause:o}):t;if(!c.data)return s?t:new I(n,{defined:!0,status:r,message:i,data:a,cause:o});let l=await c.data[`~standard`].validate(t.data);return l.issues?s?new I(n,{defined:!1,status:r,message:i,data:a,cause:o}):t:new I(n,{defined:!0,status:r,message:i,data:l.value,cause:o})}var on=class{"~orpc";constructor(e){if(e.route?.successStatus&&it(e.route.successStatus))throw Error(`[ContractProcedure] Invalid successStatus.`);if(Object.values(e.errorMap).some(e=>e&&e.status&&!it(e.status)))throw Error(`[ContractProcedure] Invalid error status code.`);this[`~orpc`]=e}};function U(e){return e instanceof on||(typeof e==`object`||typeof e==`function`)&&e!==null&&`~orpc`in e&&typeof e[`~orpc`]==`object`&&e[`~orpc`]!==null&&`errorMap`in e[`~orpc`]&&`route`in e[`~orpc`]&&`meta`in e[`~orpc`]}function W(e,t){return{...e,...t}}function sn(e,t){return{...e,...t}}function cn(e,t){return e.path?{...e,path:`${t}${e.path}`}:e}function ln(e,t){return{...e,tags:[...t,...e.tags??[]]}}function un(e,t){return e?`${e}${t}`:t}function dn(e,t){return e?[...e,...t]:t}function fn(e,t){let n=e;return t.prefix&&(n=cn(n,t.prefix)),t.tags?.length&&(n=ln(n,t.tags)),n}function G(e,t){if(U(e))return new on({...e[`~orpc`],errorMap:V(t.errorMap,e[`~orpc`].errorMap),route:fn(e[`~orpc`].route,t)});if(typeof e!=`object`||!e)return e;let n={};for(let r in e)n[r]=G(e[r],t);return n}new class e extends on{constructor(e){super(e),this[`~orpc`].prefix=e.prefix,this[`~orpc`].tags=e.tags}$meta(t){return new e({...this[`~orpc`],meta:t})}$route(t){return new e({...this[`~orpc`],route:t})}$input(t){return new e({...this[`~orpc`],inputSchema:t})}errors(t){return new e({...this[`~orpc`],errorMap:V(this[`~orpc`].errorMap,t)})}meta(t){return new e({...this[`~orpc`],meta:W(this[`~orpc`].meta,t)})}route(t){return new e({...this[`~orpc`],route:sn(this[`~orpc`].route,t)})}input(t){return new e({...this[`~orpc`],inputSchema:t})}output(t){return new e({...this[`~orpc`],outputSchema:t})}prefix(t){return new e({...this[`~orpc`],prefix:un(this[`~orpc`].prefix,t)})}tag(...t){return new e({...this[`~orpc`],tags:dn(this[`~orpc`].tags,t)})}router(e){return G(e,this[`~orpc`])}}({errorMap:{},route:{},meta:{}});var pn=Symbol(`ORPC_LAZY_SYMBOL`);function mn(e,t={}){return{[pn]:{loader:e,meta:t}}}function hn(e){return(typeof e==`object`||typeof e==`function`)&&e!==null&&pn in e}function gn(e){return e[pn].meta}function _n(e){return hn(e)?e[pn].loader():Promise.resolve({default:e})}function vn(e,t){if(t.length>e.length)return!1;for(let n=0;n<e.length;n++){if(t[n]===void 0)return!0;if(e[n]!==t[n])return!1}return!0}function yn(e,t,n){return n.dedupeLeading&&vn(t,e)?t:[...e,...t]}function bn(e,t){return[...e,t]}var xn=class{"~orpc";constructor(e){this[`~orpc`]=e}};function Sn(e){return e instanceof xn||U(e)&&`middlewares`in e[`~orpc`]&&`inputValidationIndex`in e[`~orpc`]&&`outputValidationIndex`in e[`~orpc`]&&`handler`in e[`~orpc`]}function Cn(e,t){return{...e,...t}}function wn(e){return new Proxy(e,{get(t,n){return typeof n==`string`?(...t)=>{let r=we(t),i=e[n];return new I(n,{defined:!!i,status:i?.status,message:r.message??i?.message,data:r.data,cause:r.cause})}:Reflect.get(t,n)}})}function Tn(e){return{output:e,context:{}}}function En(e,...t){let n=we(t);return async(...[t,r])=>{let i=Te(n.path),{default:a}=await _n(e),o=r?.context??{},s=await Je(n.context??{},o),c=wn(a[`~orpc`].errorMap),l=async e=>e instanceof I?await H(a[`~orpc`].errorMap,e):e;try{let e=await D({name:`call_procedure`,signal:r?.signal},e=>(e?.setAttribute(`procedure.path`,[...i]),He(Te(n.interceptors),{context:s,input:t,errors:c,path:i,procedure:a,signal:r?.signal,lastEventId:r?.lastEventId},e=>kn(e.procedure,e))));return ze(e)?e instanceof jt?e:Qe(e,It(A({name:`consume_event_iterator_output`,signal:r?.signal},e),{value:e=>e,error:e=>l(e)})):e}catch(e){throw await l(e)}}}async function Dn(e,t){let n=e[`~orpc`].inputSchema;return n?D({name:`validate_input`},async()=>{let e=await n[`~standard`].validate(t);if(e.issues)throw new I(`BAD_REQUEST`,{message:`Input validation failed`,data:{issues:e.issues},cause:new an({message:`Input validation failed`,issues:e.issues,data:t})});return e.value}):t}async function On(e,t){let n=e[`~orpc`].outputSchema;return n?D({name:`validate_output`},async()=>{let e=await n[`~standard`].validate(t);if(e.issues)throw new I(`INTERNAL_SERVER_ERROR`,{message:`Output validation failed`,cause:new an({message:`Output validation failed`,issues:e.issues,data:t})});return e.value}):t}async function kn(e,t){let n=e[`~orpc`].middlewares,r=Math.min(Math.max(0,e[`~orpc`].inputValidationIndex),n.length),i=Math.min(Math.max(0,e[`~orpc`].outputValidationIndex),n.length),a=async(o,s,c)=>{let l=c;o===r&&(l=await Dn(e,l));let u=n[o],d=u?await D({name:`middleware.${u.name}`,signal:t.signal},async e=>(e?.setAttribute(`middleware.index`,o),e?.setAttribute(`middleware.name`,u.name),(await u({...t,context:s,next:async(...[e])=>{let t=e?.context??{};return{output:await a(o+1,Cn(s,t),l),context:t}}},l,Tn)).output)):await D({name:`handler`,signal:t.signal},()=>e[`~orpc`].handler({...t,context:s,input:l}));return o===i?await On(e,d):d};return a(0,t.context,t.input)}function An(e,t){let n=e;for(let e=0;e<t.length;e++){let r=t[e];if(!n||Sn(n)||!Ke(n))return;if(!hn(n)){n=n[r];continue}let i=n,a=t.slice(e);return mn(async()=>_n(An((await _n(i)).default,a)),gn(i))}return n}function jn(e){return new Proxy(e,{get(t,n){return typeof n==`string`?jn(An(e,[n])):Reflect.get(t,n)}})}function Mn(e,t){if(hn(e)){let n=gn(e),r=n?.prefix?un(t.prefix,n?.prefix):t.prefix;return jn(mn(async()=>{let{default:n}=await _n(e);return _n(Mn(n,t))},{...n,prefix:r}))}if(Sn(e)){let n=yn(t.middlewares,e[`~orpc`].middlewares,{dedupeLeading:t.dedupeLeadingMiddlewares}),r=n.length-e[`~orpc`].middlewares.length;return new xn({...e[`~orpc`],route:fn(e[`~orpc`].route,t),errorMap:V(t.errorMap,e[`~orpc`].errorMap),middlewares:n,inputValidationIndex:e[`~orpc`].inputValidationIndex+r,outputValidationIndex:e[`~orpc`].outputValidationIndex+r})}if(typeof e!=`object`||!e)return e;let n={};for(let r in e)n[r]=Mn(e[r],t);return n}function Nn({onRequest:e,onSseError:t,onSseEvent:n,responseTransformer:r,responseValidator:i,sseDefaultRetryDelay:a,sseMaxRetryAttempts:o,sseMaxRetryDelay:s,sseSleepFn:c,url:l,...u}){let d,f=c??(e=>new Promise(t=>setTimeout(t,e)));return{stream:async function*(){let c=a??3e3,p=0,m=u.signal??new AbortController().signal;for(;!m.aborted;){p++;let a=u.headers instanceof Headers?u.headers:new Headers(u.headers);d!==void 0&&a.set(`Last-Event-ID`,d);try{let t={redirect:`follow`,...u,body:u.serializedBody,headers:a,signal:m},o=new Request(l,t);e&&(o=await e(l,t));let s=await(u.fetch??globalThis.fetch)(o);if(!s.ok)throw Error(`SSE failed: ${s.status} ${s.statusText}`);if(!s.body)throw Error(`No body in SSE response`);let f=s.body.pipeThrough(new TextDecoderStream).getReader(),p=``,h=()=>{try{f.cancel()}catch{}};m.addEventListener(`abort`,h);try{for(;;){let{done:e,value:t}=await f.read();if(e)break;p+=t,p=p.replace(/\r\n?/g,`
5
+ `}function _t(e){let t=``;for(let n of e??[])ht(n),t+=`: ${n}
6
+ `;return t}function vt(e){let t=``;return t+=_t(e.comments),e.event!==void 0&&(pt(e.event),t+=`event: ${e.event}
7
+ `),e.retry!==void 0&&(mt(e.retry),t+=`retry: ${e.retry}
8
+ `),e.id!==void 0&&(ft(e.id),t+=`id: ${e.id}
9
+ `),t+=gt(e.data),t+=`
10
+ `,t}var yt=Symbol.for(`STANDARD_SERVER_EVENT_META`),bt=Symbol.for(`STANDARD_SERVER_EVENT_SOURCE`);function L(e,t){let n;if(t.id!==void 0&&(ft(t.id),n??={},n.id=t.id),t.retry!==void 0&&(mt(t.retry),n??={},n.retry=t.retry),t.comments!==void 0){for(let e of t.comments)ht(e);n??={},n.comments=t.comments}return n?new Proxy(e,{get(e,t,r){return t===bt?e:t===yt?n:me(e,t)}}):e}function xt(e){if(!N(e))return[e,void 0];let t=e[yt];return[e[bt]??e,t]}function St(e){if(N(e))return e[yt]}function Ct(e,t=`inline`){return`${t}; filename="${e.replace(/[^\x20-\x7E]/g,`_`).replace(/[\\"]/g,`\\$&`)}"; filename*=utf-8''${ve(e).replace(/['()*]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`).replace(/%(7C|60|5E)/g,(e,t)=>String.fromCharCode(Number.parseInt(t,16)))}`}function wt(e){let t=e.match(/(?:^|;)\s*filename\*=([^;]*)/i)?.[1]?.trim(),n=t?.match(/^([^']*)'[^']*'(.*)$/);if(n){let[,e=``,t=``]=n;if(/^(?:utf-8|us-ascii)$/i.test(e))return ye(t)}else if(t)return ye(t);let r=e.match(/(?:^|;)\s*filename=(?:"((?:\\.|[^"\\])*)"|([^";]*))/i);return r?.[1]===void 0?r?.[2]?.trim()||void 0:r[1].replace(/\\(.)/g,`$1`)}function R(e){if(typeof e==`string`||e===void 0)return e;if(e.length!==0)return e.join(`, `)}var Tt=new Set([`json`,`form-data`,`url-search-params`,`event-stream`,`octet-stream`,`file`,`none`]);function Et(e){let t=R(e[`standard-server`]);if(t!==void 0&&Tt.has(t))return t;let n=R(e[`content-type`])?.split(`;`)[0]?.trim().toLowerCase(),r=R(e[`content-length`]),i=R(e[`content-disposition`]),a=i===void 0?void 0:wt(i);return n===void 0&&(r===void 0||r===`0`)?`none`:n===`application/json`?`json`:n===`multipart/form-data`?`form-data`:n===`application/x-www-form-urlencoded`?`url-search-params`:n===`text/event-stream`?`event-stream`:a!==void 0||r!==void 0?`file`:`octet-stream`}function Dt(e,t){let n={...e,...t};for(let r of Object.keys(t)){if(!Object.hasOwn(e,r))continue;let i=e[r],a=t[r];n[r]=i===void 0||a===void 0?i??a:[...k(i),...k(a)]}return n}function Ot(e){let t=e.indexOf(`#`),n=e.indexOf(`?`),r=n!==-1&&(t===-1||n<t),i=r?n:t===-1?e.length:t,a=t===-1?e.length:t;return[e.slice(0,i),r?e.slice(n,a):void 0,t===-1?void 0:e.slice(t)]}function kt(e){return N(e)?Object.values(e).every(e=>e===void 0||typeof e==`string`||Array.isArray(e)&&e.every(e=>typeof e==`string`)):!1}function At(e){return Number.isInteger(e)}var jt={BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_SUPPORTED:405,NOT_ACCEPTABLE:406,TIMEOUT:408,CONFLICT:409,GONE:410,PRECONDITION_FAILED:412,PAYLOAD_TOO_LARGE:413,UNSUPPORTED_MEDIA_TYPE:415,UNPROCESSABLE_CONTENT:422,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,CLIENT_CLOSED_REQUEST:499,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504},Mt,z=class e extends Error{static{let t=Symbol.for(`ORPC_ERROR_CONSTRUCTORS`);globalThis[t]??=new WeakSet,Mt=globalThis[t],Mt.add(e)}name=`ORPCError`;defined=!1;code;data;constructor(e,...t){let n=be(t),r=n.message??e.split(`_`).map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(` `);super(r,n),this.code=e,this.data=n.data}toJSON(){return{defined:this.defined,code:this.code,message:this.message,data:this.data}}static[Symbol.hasInstance](e){if(!Mt.has(this))return super[Symbol.hasInstance](e);for(let t of ze(e))if(Mt.has(t))return!0;return!1}},Nt=class extends Error{name=`MalformedResponseError`;response;constructor(e){super(e.message,e),this.response=e.response}};function Pt(e){return e instanceof z?e:new z(`INTERNAL_SERVER_ERROR`,{cause:e})}function Ft(e){if(!Be(e))return!1;let t=[`defined`,`code`,`message`,`data`];return!Object.keys(e).some(e=>!t.includes(e))&&`defined`in e&&typeof e.defined==`boolean`&&`code`in e&&typeof e.code==`string`&&`message`in e&&typeof e.message==`string`}function It(e,t={}){let n=new z(e.code,{...e,...t});return n.defined=e.defined,n}function Lt(e){let t=new z(`MALFORMED_ORPC_RESPONSE`,{message:e.message??Vt(e.response),data:e.response});return t.cause=new Nt({...e,message:t.message}),t}var Rt=1,zt=256;function Bt(e){return e.length>=Rt&&e.length<=zt}function Vt(e){return typeof e.body==`string`&&Bt(e.body)?e.body:Be(e.body)&&typeof e.body.message==`string`&&Bt(e.body.message)?e.body.message:(Object.entries(jt).find(([,t])=>t===e.status)?.[0])?.split(`_`).map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(` `)}function Ht(e,{mapResult:t,mapError:n,...r}){return Fe(e,{...r,mapResult:t&&(async e=>{let n=await t(e);if(n.value!==e.value){let t=St(e.value);if(t&&N(n.value))return{done:n.done,value:L(n.value,t)}}return n}),mapError:n&&(async e=>{let t=await n(e);if(t!==e){let n=St(e);if(n&&N(t))return L(t,n)}return t})})}function Ut(e){return TypeError(`Invalid RPC serialized data: ${e}`)}function B(e,t,n){if(!e)throw Ut(`type "${t}" expects ${n}.`)}var Wt={undefined:{condition(e){return e===void 0},serialize(){return null},deserialize(e){B(e===null,`undefined`,`null`)},isTerminal:!0},bigint:{condition(e){return typeof e==`bigint`},serialize(e){return e.toString()},deserialize(e){return B(typeof e==`string`,`bigint`,`a string`),BigInt(e)},isTerminal:!0},date:{condition(e){return e instanceof Date},serialize(e){return Number.isNaN(e.getTime())?null:e.toISOString()},deserialize(e){return B(typeof e==`string`||e===null,`date`,`a string or null`),new Date(e??NaN)},isTerminal:!0},nan:{condition(e){return typeof e==`number`&&Number.isNaN(e)},serialize(){return null},deserialize(e){return B(e===null,`nan`,`null`),NaN},isTerminal:!0},url:{condition(e){return e instanceof URL},serialize(e){return e.toString()},deserialize(e){return B(typeof e==`string`,`url`,`a string`),new URL(e)},isTerminal:!0},set:{condition(e){return e instanceof Set},serialize(e){return Array.from(e)},deserialize(e){return B(Array.isArray(e),`set`,`an array`),new Set(e)}},map:{condition(e){return e instanceof Map},serialize(e){return Array.from(e.entries())},deserialize(e){return B(Array.isArray(e),`map`,`an array`),new Map(e)}}},Gt=class{handlers;inlineBuiltInHandlers;handlerEntries;omitUndefinedProperties;constructor(e={}){this.omitUndefinedProperties=e.omitUndefinedProperties!==!1,this.handlers=Object.assign(new We,Wt);let t=e.handlers;if(t===void 0){this.inlineBuiltInHandlers=!0;return}let n=!0,r=[];for(let e of Object.keys(t)){let i=t[e];this.handlers[e]=i,n&&e in Wt&&(n=!1),n&&i!==void 0&&r.push([e,i])}if(!n){r=[];for(let e of Object.keys(this.handlers)){let t=this.handlers[e];t!==void 0&&r.push([e,t])}}this.inlineBuiltInHandlers=n,this.handlerEntries=r}serialize(e){let t=[],n=[],r=[],i=this.serializeValue(e,[],t,n,r);return t=t.length===0?void 0:t,n.length===0?{json:i,meta:t}:{json:i,meta:t,maps:n,blobs:r}}serializeValue(e,t,n,r,i){if(this.inlineBuiltInHandlers)switch(typeof e){case`string`:case`boolean`:return e;case`number`:return Number.isNaN(e)?(n.push([`nan`,...t]),null):e;case`undefined`:return n.push([`undefined`,...t]),null;case`bigint`:return n.push([`bigint`,...t]),e.toString();case`object`:if(e===null)return e;if(e instanceof Date)return n.push([`date`,...t]),Number.isNaN(e.getTime())?null:e.toISOString();if(e instanceof URL)return n.push([`url`,...t]),e.toString();if(e instanceof Set){let a=this.serializeValue(Array.from(e),t,n,r,i);return n.push([`set`,...t]),a}if(e instanceof Map){let a=this.serializeValue(Array.from(e.entries()),t,n,r,i);return n.push([`map`,...t]),a}}let a=this.handlerEntries;if(a)for(let o=0;o<a.length;o++){let s=a[o],c=s[1];if(c.condition(e)){let a=c.serialize(e);if(c.isTerminal)return n.push([s[0],...t]),a instanceof Blob&&(r.push(t.slice()),i.push(a)),a;let o=this.serializeValue(a,t,n,r,i);return n.push([s[0],...t]),o}}if(e instanceof Blob)return r.push(t.slice()),i.push(e),e;if(Array.isArray(e)){let a=[];for(let o=0;o<e.length;o++)t.push(o),a.push(this.serializeValue(e[o],t,n,r,i)),t.pop();return a}if(Be(e)){let a=new We;for(let o of Object.keys(e)){let s=e[o];(o!==`toJSON`||typeof s!=`function`)&&(s===void 0&&this.omitUndefinedProperties||(t.push(o),a[o]=this.serializeValue(s,t,n,r,i),t.pop()))}return a}return e}deserialize(e){let t={json:e.json};if(e.blobs?.length)for(let n=0;n<e.maps.length;n++){let r=e.blobs[n];if(!(r instanceof Blob))throw Ut(`blob ${n} is not a Blob.`);let i=e.maps[n],a=e,o=t,s=`json`;for(let e=0;e<i.length;e++)if(a=a[s],o=Ue(o,s,a),s=i[e],!Object.hasOwn(o,s))throw Ut(`segment "${s}" does not exist.`);o[s]=r}if(e.meta)for(let n of e.meta){let r=n[0],i=this.handlers[r];if(i===void 0)throw Ut(`type "${r}" is not supported.`);let a=e,o=t,s=`json`;for(let e=1;e<n.length;e++)if(a=a[s],o=Ue(o,s,a),s=n[e],!Object.hasOwn(o,s))throw Ut(`segment "${s}" does not exist.`);o[s]=i.deserialize(o[s])}return t.json}},Kt=class{jsonSerializer;defaultSerializeOptions;constructor(e={}){this.jsonSerializer=new Gt(e),this.defaultSerializeOptions=e.serialize}serialize(e,t={}){if(e===void 0||e instanceof ReadableStream||e instanceof Blob)return e;if(j(e))return Ht(e,{mapResult:e=>e.value===void 0?e:{done:e.done,value:this.serializeValue(e.value,!1)},mapError:e=>new I(this.serializeValue(Pt(e).toJSON(),!1),{cause:e})});let n=t.useFormDataForBlobFields??this.defaultSerializeOptions?.useFormDataForBlobFields??!0;return this.serializeValue(e,n)}serializeValue(e,t){let{json:n,meta:r,maps:i,blobs:a}=this.jsonSerializer.serialize(e);if(!t||!a?.length)return{json:n,meta:r};let o=new FormData;return o.set(`data`,M({json:n,meta:r,maps:i})),a.forEach((e,t)=>{o.set(t.toString(),e)}),o}deserialize(e){return e===void 0||e instanceof ReadableStream||e instanceof Blob?e:j(e)?Ht(e,{mapResult:e=>e.value===void 0?e:{done:e.done,value:this.deserializeValue(e.value)},mapError:e=>{if(!(e instanceof I))return e;let t=this.deserializeValue(e.data);return Ft(t)?It(t,{cause:e}):new I(t,{cause:e})}}):this.deserializeValue(e)}deserializeValue(e){if(!(e instanceof FormData))return this.jsonSerializer.deserialize(e);let t=JSON.parse(e.get(`data`)),n=[];for(let[t,r]of e)r instanceof Blob&&(n[Number(t)]=r);return this.jsonSerializer.deserialize({...t,blobs:n})}},qt=new Set([`then`,`bind`,`call`,`apply`,`valueOf`,`toString`,`toJSON`]);function Jt(e){return{...e,context:e.context??{}}}function Yt(e){return[e[0],Jt(e[1]??{})]}function Xt(e,{path:t=[],...n}={}){let r=(...r)=>{let[i,a]=Yt(r);return Je([...k(n.interceptors),...k(n.scoped?.interceptors)],{...a,input:i,path:t},({path:t,input:n,...r})=>e.call(t,n,r))},i=new Map;return new Proxy(r,{get(r,a){if(typeof a!=`string`||qt.has(a))return Reflect.get(r,a);let o=i.get(a);return o===void 0&&(o=Xt(e,{...n,path:[...t,a],scoped:n.scoped?.[a]}),i.set(a,o)),o}})}function Zt(e){let t=(e?.pipeThrough(new TextDecoderStream).pipeThrough(new ct))?.getReader(),n=!1;return new ue(async()=>{for(;;){if(t===void 0)return{done:!0,value:void 0};let{done:e,value:r}=await t.read();if(e){if(n)throw new A(`Stream was cancelled`);return{done:!0,value:void 0}}switch(r.event){case`message`:{let e=de(r.data);return N(e)&&(e=L(e,r)),{done:!1,value:e}}case`error`:{let e=new I(de(r.data));throw e=L(e,r),e}case`close`:{let e=de(r.data);return N(e)&&(e=L(e,r)),{done:!0,value:e}}}}},async e=>{e.kind===`cancelled`&&(n=!0),await t?.cancel()})}function Qt(e,t={}){let n=t.keepAlive?.enabled??!0,r=t.keepAlive?.interval??15e3,i=t.keepAlive?.comment??``,a=t.initialComment?.enabled??!0,o=t.initialComment?.comment??``,s=t.emptyCloseEventEnabled??!0,c=!1,l;return new ReadableStream({start(e){a&&e.enqueue(vt({comments:[o]}))},async pull(t){try{n&&(l=setInterval(()=>{t.enqueue(vt({comments:[i]}))},r));let a=await e.next();if(clearInterval(l),c)return;let[o,u]=xt(a.value);if(!a.done||o!==void 0||u!==void 0||s){let e=a.done?`close`:`message`;t.enqueue(vt({...u,event:e,data:M(o)}))}a.done&&t.close()}catch(e){if(clearInterval(l),c)return;e instanceof I?(t.enqueue(vt({...St(e),event:`error`,data:M(e.data)})),t.close()):t.error(e)}},async cancel(){c=!0,clearInterval(l),await e.return?.()}}).pipeThrough(new TextEncoderStream)}async function $t(e,t){let n=t?.hint??Et({"standard-server":e.headers.get(`standard-server`)??void 0,"content-type":e.headers.get(`content-type`)??void 0,"content-length":e.headers.get(`content-length`)??void 0,"content-disposition":e.headers.get(`content-disposition`)??void 0});if(n!==`none`){if(e.bodyUsed)throw TypeError(`Failed to read body: body stream already read`);if(n===`json`)return de(await e.text());if(n===`form-data`)return await e.formData();if(n===`url-search-params`){let t=await e.text();return new URLSearchParams(t)}if(n===`event-stream`)return Zt(e.body);if(n===`file`){let t=e.headers.get(`content-disposition`),n=t===null?void 0:wt(t),r=await e.blob();return new File([r],n??`blob`,{type:r.type})}return e.body??new ReadableStream({start(e){e.close()}})}}function en(e,t,n={}){return t={...t},e instanceof ReadableStream?(t[`standard-server`]??=`octet-stream`,t[`content-type`]??=`application/octet-stream`,[e,t]):e instanceof Blob?(t[`standard-server`]??=`file`,t[`content-type`]=e.type,t[`content-disposition`]??=Ct(e instanceof File?e.name??``:`blob`),Number.isFinite(e.size)?(t[`content-length`]=e.size.toString(),[e,t]):[e.stream(),t]):(t[`standard-server`]=void 0,t[`content-length`]=void 0,e===void 0?(t[`content-type`]=void 0,[void 0,t]):e instanceof FormData||e instanceof URLSearchParams?(t[`content-type`]=void 0,[e,t]):j(e)?(t[`content-type`]=`text/event-stream`,[Qt(e,n.eventStream),t]):(t[`content-type`]=`application/json`,[M(e),t]))}function tn(e){let t=Object.create(null);return e.forEach((e,n)=>{Array.isArray(t[n])?t[n].push(e):t[n]===void 0?t[n]=e:t[n]=[t[n],e]}),t}function nn(e){let t=new Headers;for(let n of Object.keys(e)){let r=e[n];if(Array.isArray(r))for(let e of r)t.append(n,e);else r!==void 0&&t.append(n,r)}return t}function rn(e){return{resolveBody:t=>$t(e,{hint:t}),status:e.status,get headers(){let t=tn(e.headers);return Object.defineProperty(this,"headers",{value:t,writable:!0}),t},set headers(e){Object.defineProperty(this,"headers",{value:e,writable:!0})}}}var an=class{name=`~composite`;plugins;constructor(e=[]){this.plugins=Ye(e)}init(e){for(let t of this.plugins)t.init&&(e=t.init(e));return e}},on=class{constructor(e,t,n={}){this.codec=e,this.transport=t,n=new an(n.plugins).init(n),this.interceptors=n.interceptors,this.transportInterceptors=n.transportInterceptors}interceptors;transportInterceptors;call(e,t,n){return Ne(`${Te}.${e.join(`/`)}`,r=>(r?.setAttribute(`rpc.system`,Te),r?.setAttribute(`rpc.method`,e.join(`.`)),P()&&j(t)?t=Le(t,Ie(`consume_async_iterator_object_input`,t)):P()&&t instanceof ReadableStream&&(t=Le(t,qe(`consume_octet_stream_input`,t))),Je(this.interceptors,{...n,path:e,input:t},async({path:e,input:t,...n})=>{let i=P(),a=i?.getActiveSpan()??r,o=await Ne({name:`encode_input`,parent:a},()=>this.codec.encodeInput(t,e,n));if(a&&i?.inject){let e={...o.headers};i.inject(a,e),o={...o,headers:e}}let s=await Je(this.transportInterceptors,{...n,path:e,request:o},({path:e,request:t,...n})=>Ne({name:`send_request`,parent:i?.getActiveSpan()??a},()=>this.transport.send(t,e,n))),c=await Ne({name:`decode_response`,parent:a},()=>this.codec.decodeResponse(s,e,n));if(c.kind===`error`)throw c.error;let l=c.output;return P()&&j(l)?Le(l,Ie(`consume_async_iterator_object_output`,l)):P()&&l instanceof ReadableStream?Le(l,qe(`consume_octet_stream_output`,l)):l})))}},sn=/\/$/,cn=class{baseUrl;maxUrlLength;fallbackMethod;expectedMethod;headers;serializer;constructor(e){this.baseUrl=e.url??`/`,this.maxUrlLength=e.maxUrlLength??2083,this.fallbackMethod=e.fallbackMethod??`POST`,this.expectedMethod=e.method??this.fallbackMethod,this.headers=e.headers??{},this.serializer=e.serializer??new Kt}async encodeInput(e,t,n){let r=ln(await F(this.headers,n,t,e));n.lastEventId!==void 0&&(r=Dt(r,{"last-event-id":n.lastEventId}));let i=await F(this.expectedMethod,n,t,e),[a,o,s]=Ot(await F(this.baseUrl,n,t,e)),c=`${a.replace(sn,``)}${Oe(t)}`,l=this.serializer.serialize(e);if(i===`GET`&&!(l instanceof Blob)&&!(l instanceof ReadableStream)&&!(l instanceof FormData)&&!j(l)){let a=await F(this.maxUrlLength,n,t,e),u=new URLSearchParams(o);u.append(`data`,M(l)??``);let d=`${c}?${u}${s??``}`;if(d.length<=a)return{body:void 0,method:i,headers:r,url:d,signal:n.signal}}return{url:`${c}${o??``}${s??``}`,method:i===`GET`?this.fallbackMethod:i,headers:r,body:l,signal:n.signal}}async decodeResponse(e){let t=e.status<400,n=await e.resolveBody(),r=await(async()=>{try{return this.serializer.deserialize(n)}catch(t){throw Lt({message:`Invalid RPC response format.`,response:{status:e.status,headers:e.headers,body:n},cause:t})}})();return t?{kind:`output`,output:r}:Ft(r)?{kind:`error`,error:It(r)}:{kind:`error`,error:Lt({response:{headers:e.headers,status:e.status,body:n}})}}};function ln(e){return typeof e.forEach==`function`?tn(e):e}var un=De(()=>{try{let e;return new Request(`https://example.com`,{method:`POST`,body:new ReadableStream,get duplex(){return e=`half`,`half`}}),e}catch{return}}),dn=class{origin;fetch;toFetchRequestOptions;constructor(e){this.origin=e.origin,this.fetch=e.fetch??((e,t)=>globalThis.fetch(e,t)),this.toFetchRequestOptions=e.toFetchRequest}async send(e,t,n){let r=await F(this.origin,n,t);r?.endsWith(`/`)&&(r=r.slice(0,-1));let i=`${r??``}${e.url}`,[a,o]=en(e.body,e.headers,this.toFetchRequestOptions),s={body:a,headers:nn(o),method:e.method,signal:n.signal,redirect:`manual`};if(a instanceof ReadableStream){let e=un();e!==void 0&&(s.duplex=e)}return rn(await this.fetch(i,s,n,t))}},fn=class extends on{constructor(e){let t=new cn(e),n=new dn(e);super(t,n,e)}};function V(e,t){return{...e,...t}}function pn(e,t,n){t=k(t),n=k(n);let r=e;for(let e of n)e.init&&(r=e.init(r));let i=[...t,...n];for(let e of i)e.apply&&(r=e.apply(r));return[r,i]}var mn=class e{"~orpc";constructor(e){this[`~orpc`]=e}static[Symbol.hasInstance](t){return this===e?Re(t)===e||N(t)&&N(t[`~orpc`])&&N(t[`~orpc`].errorMap)&&N(t[`~orpc`].meta)&&(t[`~orpc`].inputSchemas===void 0||Array.isArray(t[`~orpc`].inputSchemas))&&(t[`~orpc`].outputSchemas===void 0||Array.isArray(t[`~orpc`].outputSchemas)):Function.prototype[Symbol.hasInstance].call(this,t)}};function hn(e,t){if(e instanceof mn){let[n,r]=pn(t.meta,t.metaPlugins,e[`~orpc`].metaPlugins);return new mn({...e[`~orpc`],errorMap:V(t.errorMap,e[`~orpc`].errorMap),meta:n,metaPlugins:r})}if(!N(e))return e;let n={};for(let r of Object.keys(e))n[r]=hn(e[r],t);return n}var gn=Symbol.for(`ORPC_HIDDEN_META_PLUGINS`);function H(e){if(N(e))return e[gn]}(class e extends mn{constructor(e){super(e)}static create(){return new e({errorMap:{},meta:{}})}meta(...t){let[n,r]=pn(this[`~orpc`].meta,this[`~orpc`].metaPlugins,t);return new e({...this[`~orpc`],meta:n,metaPlugins:r})}errors(t){let n=new e({...this[`~orpc`],errorMap:V(this[`~orpc`].errorMap,t)}),r=H(t);return r&&(n=n.meta(...r)),n}input(t){let n=new e({...this[`~orpc`],inputSchemas:[...k(this[`~orpc`].inputSchemas),t]}),r=H(t);return r&&(n=n.meta(...r)),n}output(t){let n=new e({...this[`~orpc`],outputSchemas:[...k(this[`~orpc`].outputSchemas),t]}),r=H(t);return r&&(n=n.meta(...r)),n}router(e){return hn(e,this[`~orpc`])}}).create();var _n=class e{"~orpc";constructor(e){this[`~orpc`]=e}static[Symbol.hasInstance](t){return this===e?Re(t)===e||N(t)&&N(t[`~orpc`])&&N(t[`~orpc`].meta)&&(t[`~orpc`].metaPlugins===void 0||Array.isArray(t[`~orpc`].metaPlugins))&&typeof t[`~orpc`].loader==`function`:Function.prototype[Symbol.hasInstance].call(this,t)}};function vn(e){return e instanceof _n?e[`~orpc`].loader():Promise.resolve({default:e})}var yn=class e{"~orpc";constructor(e){this[`~orpc`]=e}static[Symbol.hasInstance](t){return this===e?Re(t)===e||t instanceof mn&&Array.isArray(t[`~orpc`].orderedMiddlewares)&&typeof t[`~orpc`].handler==`function`:Function.prototype[Symbol.hasInstance].call(this,t)}};function bn(e,t){if(e instanceof _n){let[n,r]=pn(t.meta,t.metaPlugins,e[`~orpc`].metaPlugins);return new _n({meta:n,metaPlugins:r,async loader(){let{default:n}=await vn(e);return vn(bn(n,t))}})}if(e instanceof yn){let[n,r]=pn(t.meta,t.metaPlugins,e[`~orpc`].metaPlugins);return new yn({...He(t,[`middlewares`,`errorMap`,`meta`,`metaPlugins`]),...e[`~orpc`],meta:n,metaPlugins:r,errorMap:V(t.errorMap,e[`~orpc`].errorMap),orderedMiddlewares:[...t.middlewares.map(e=>({middleware:e,inputSchemasLengthAtUse:0,outputSchemasLengthAtUse:0})),...e[`~orpc`].orderedMiddlewares]})}if(!N(e))return e;let n={};for(let[r,i]of Object.entries(e))n[r]=bn(i,t);return n}function xn({onRequest:e,onSseError:t,onSseEvent:n,responseTransformer:r,responseValidator:i,sseDefaultRetryDelay:a,sseMaxRetryAttempts:o,sseMaxRetryDelay:s,sseSleepFn:c,url:l,...u}){let d,f=c??(e=>new Promise(t=>setTimeout(t,e)));return{stream:async function*(){let c=a??3e3,p=0,m=u.signal??new AbortController().signal;for(;!m.aborted;){p++;let a=u.headers instanceof Headers?u.headers:new Headers(u.headers);d!==void 0&&a.set(`Last-Event-ID`,d);try{let t={redirect:`follow`,...u,body:u.serializedBody,headers:a,signal:m},o=new Request(l,t);e&&(o=await e(l,t));let s=await(u.fetch??globalThis.fetch)(o);if(!s.ok)throw Error(`SSE failed: ${s.status} ${s.statusText}`);if(!s.body)throw Error(`No body in SSE response`);let f=s.body.pipeThrough(new TextDecoderStream).getReader(),p=``,h=()=>{try{f.cancel()}catch{}};m.addEventListener(`abort`,h);try{for(;;){let{done:e,value:t}=await f.read();if(e)break;p+=t,p=p.replace(/\r\n?/g,`
50
11
  `);let a=p.split(`
51
12
 
52
13
  `);p=a.pop()??``;for(let e of a){let t=e.split(`
53
14
  `),a=[],o;for(let e of t)if(e.startsWith(`data:`))a.push(e.replace(/^data:\s*/,``));else if(e.startsWith(`event:`))o=e.replace(/^event:\s*/,``);else if(e.startsWith(`id:`))d=e.replace(/^id:\s*/,``);else if(e.startsWith(`retry:`)){let t=Number.parseInt(e.replace(/^retry:\s*/,``),10);Number.isNaN(t)||(c=t)}let s,l=!1;if(a.length){let e=a.join(`
54
- `);try{s=JSON.parse(e),l=!0}catch{s=e}}l&&(i&&await i(s),r&&(s=await r(s))),n?.({data:s,event:o,id:d,retry:c}),a.length&&(yield s)}}}finally{m.removeEventListener(`abort`,h),f.releaseLock()}break}catch(e){if(t?.(e),o!==void 0&&p>=o)break;let n=Math.min(c*2**(p-1),s??3e4);await f(n)}}}()}}var Pn=e=>{switch(e){case`label`:return`.`;case`matrix`:return`;`;case`simple`:return`,`;default:return`&`}},Fn=e=>{switch(e){case`form`:return`,`;case`pipeDelimited`:return`|`;case`spaceDelimited`:return`%20`;default:return`,`}},In=e=>{switch(e){case`label`:return`.`;case`matrix`:return`;`;case`simple`:return`,`;default:return`&`}},Ln=({allowReserved:e,explode:t,name:n,style:r,value:i})=>{if(!t){let t=(e?i:i.map(e=>encodeURIComponent(e))).join(Fn(r));switch(r){case`label`:return`.${t}`;case`matrix`:return`;${n}=${t}`;case`simple`:return t;default:return`${n}=${t}`}}let a=Pn(r),o=i.map(t=>r===`label`||r===`simple`?e?t:encodeURIComponent(t):Rn({allowReserved:e,name:n,value:t})).join(a);return r===`label`||r===`matrix`?a+o:o},Rn=({allowReserved:e,name:t,value:n})=>{if(n==null)return``;if(typeof n==`object`)throw Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?n:encodeURIComponent(n)}`},zn=({allowReserved:e,explode:t,name:n,style:r,value:i,valueOnly:a})=>{if(i instanceof Date)return a?i.toISOString():`${n}=${i.toISOString()}`;if(r!==`deepObject`&&!t){let t=[];Object.entries(i).forEach(([n,r])=>{t=[...t,n,e?r:encodeURIComponent(r)]});let a=t.join(`,`);switch(r){case`form`:return`${n}=${a}`;case`label`:return`.${a}`;case`matrix`:return`;${n}=${a}`;default:return a}}let o=In(r),s=Object.entries(i).map(([t,i])=>Rn({allowReserved:e,name:r===`deepObject`?`${n}[${t}]`:t,value:i})).join(o);return r===`label`||r===`matrix`?o+s:s},Bn=/\{[^{}]+\}/g,Vn=({path:e,url:t})=>{let n=t,r=t.match(Bn);if(r)for(let t of r){let r=!1,i=t.substring(1,t.length-1),a=`simple`;i.endsWith(`*`)&&(r=!0,i=i.substring(0,i.length-1)),i.startsWith(`.`)?(i=i.substring(1),a=`label`):i.startsWith(`;`)&&(i=i.substring(1),a=`matrix`);let o=e[i];if(o==null)continue;if(Array.isArray(o)){n=n.replace(t,Ln({explode:r,name:i,style:a,value:o}));continue}if(typeof o==`object`){n=n.replace(t,zn({explode:r,name:i,style:a,value:o,valueOnly:!0}));continue}if(a===`matrix`){n=n.replace(t,`;${Rn({name:i,value:o})}`);continue}let s=encodeURIComponent(a===`label`?`.${o}`:o);n=n.replace(t,s)}return n},Hn=({baseUrl:e,path:t,query:n,querySerializer:r,url:i})=>{let a=i.startsWith(`/`)?i:`/${i}`,o=(e??``)+a;t&&(o=Vn({path:t,url:o}));let s=n?r(n):``;return s.startsWith(`?`)&&(s=s.substring(1)),s&&(o+=`?${s}`),o};function Un(e){let t=e.body!==void 0;if(t&&e.bodySerializer)return`serializedBody`in e?e.serializedBody!==void 0&&e.serializedBody!==``?e.serializedBody:null:e.body===``?null:e.body;if(t)return e.body}var Wn=async(e,t)=>{let n=typeof t==`function`?await t(e):t;if(n)return e.scheme===`bearer`?`Bearer ${n}`:e.scheme===`basic`?`Basic ${btoa(n)}`:n},Gn={bodySerializer:e=>JSON.stringify(e,(e,t)=>typeof t==`bigint`?t.toString():t)},Kn=({parameters:e={},...t}={})=>n=>{let r=[];if(n&&typeof n==`object`)for(let i in n){let a=n[i];if(a==null)continue;let o=e[i]||t;if(Array.isArray(a)){let e=Ln({allowReserved:o.allowReserved,explode:!0,name:i,style:`form`,value:a,...o.array});e&&r.push(e)}else if(typeof a==`object`){let e=zn({allowReserved:o.allowReserved,explode:!0,name:i,style:`deepObject`,value:a,...o.object});e&&r.push(e)}else{let e=Rn({allowReserved:o.allowReserved,name:i,value:a});e&&r.push(e)}}return r.join(`&`)},qn=e=>{if(!e)return`stream`;let t=e.split(`;`)[0]?.trim();if(t){if(t.startsWith(`application/json`)||t.endsWith(`+json`))return`json`;if(t===`multipart/form-data`)return`formData`;if([`application/`,`audio/`,`image/`,`video/`].some(e=>t.startsWith(e)))return`blob`;if(t.startsWith(`text/`))return`text`}},Jn=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get(`Cookie`)?.includes(`${t}=`)):!1;async function Yn(e){for(let t of e.security??[]){if(Jn(e,t.name))continue;let n=await Wn(t,e.auth);if(!n)continue;let r=t.name??`Authorization`;switch(t.in){case`query`:e.query||={},e.query[r]=n;break;case`cookie`:e.headers.append(`Cookie`,`${r}=${n}`);break;default:e.headers.set(r,n)}}}var Xn=e=>Hn({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer==`function`?e.querySerializer:Kn(e.querySerializer),url:e.url}),Zn=(e,t)=>{let n={...e,...t};return n.baseUrl?.endsWith(`/`)&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=$n(e.headers,t.headers),n},Qn=e=>{let t=[];return e.forEach((e,n)=>{t.push([n,e])}),t},$n=(...e)=>{let t=new Headers;for(let n of e){if(!n)continue;let e=n instanceof Headers?Qn(n):Object.entries(n);for(let[n,r]of e)if(r===null)t.delete(n);else if(Array.isArray(r))for(let e of r)t.append(n,e);else r!==void 0&&t.set(n,typeof r==`object`?JSON.stringify(r):r)}return t},er=class{fns=[];clear(){this.fns=[]}eject(e){let t=this.getInterceptorIndex(e);this.fns[t]&&(this.fns[t]=null)}exists(e){let t=this.getInterceptorIndex(e);return!!this.fns[t]}getInterceptorIndex(e){return typeof e==`number`?this.fns[e]?e:-1:this.fns.indexOf(e)}update(e,t){let n=this.getInterceptorIndex(e);return this.fns[n]?(this.fns[n]=t,e):!1}use(e){return this.fns.push(e),this.fns.length-1}},tr=()=>({error:new er,request:new er,response:new er}),nr=Kn({allowReserved:!1,array:{explode:!0,style:`form`},object:{explode:!0,style:`deepObject`}}),rr={"Content-Type":`application/json`},ir=(e={})=>({...Gn,headers:rr,parseAs:`auto`,querySerializer:nr,...e}),K=((e={})=>{let t=Zn(ir(),e),n=()=>({...t}),r=e=>(t=Zn(t,e),n()),i=tr(),a=async e=>{let n={...t,...e,fetch:e.fetch??t.fetch??globalThis.fetch,headers:$n(t.headers,e.headers),serializedBody:void 0};n.security&&await Yn(n),n.requestValidator&&await n.requestValidator(n),n.body!==void 0&&n.bodySerializer&&(n.serializedBody=n.bodySerializer(n.body)),(n.body===void 0||n.serializedBody===``)&&n.headers.delete(`Content-Type`);let r=n;return{opts:r,url:Xn(r)}},o=async e=>{let n=e.throwOnError??t.throwOnError,r=e.responseStyle??t.responseStyle,o,s;try{let{opts:t,url:n}=await a(e),r={redirect:`follow`,...t,body:Un(t)};o=new Request(n,r);for(let e of i.request.fns)e&&(o=await e(o,t));let c=t.fetch;s=await c(o);for(let e of i.response.fns)e&&(s=await e(s,o,t));let l={request:o,response:s};if(s.ok){let e=(t.parseAs===`auto`?qn(s.headers.get(`Content-Type`)):t.parseAs)??`json`;if(s.status===204||s.headers.get(`Content-Length`)===`0`){let n;switch(e){case`arrayBuffer`:case`blob`:case`text`:n=await s[e]();break;case`formData`:n=new FormData;break;case`stream`:n=s.body;break;default:n={}}return t.responseStyle===`data`?n:{data:n,...l}}let n;switch(e){case`arrayBuffer`:case`blob`:case`formData`:case`text`:n=await s[e]();break;case`json`:{let e=await s.text();n=e?JSON.parse(e):{};break}case`stream`:return t.responseStyle===`data`?s.body:{data:s.body,...l}}return e===`json`&&(t.responseValidator&&await t.responseValidator(n),t.responseTransformer&&(n=await t.responseTransformer(n))),t.responseStyle===`data`?n:{data:n,...l}}let u=await s.text(),d;try{d=JSON.parse(u)}catch{}throw d??u}catch(t){let a=t;for(let t of i.error.fns)t&&(a=await t(a,s,o,e));if(a||={},n)throw a;return r===`data`?void 0:{error:a,request:o,response:s}}},s=e=>t=>o({...t,method:e}),c=e=>async t=>{let{opts:n,url:r}=await a(t);return Nn({...n,body:n.body,method:e,onRequest:async(e,t)=>{let r=new Request(e,t);for(let e of i.request.fns)e&&(r=await e(r,n));return r},serializedBody:Un(n),url:r})};return{buildUrl:e=>Xn({...t,...e}),connect:s(`CONNECT`),delete:s(`DELETE`),get:s(`GET`),getConfig:n,head:s(`HEAD`),interceptors:i,options:s(`OPTIONS`),patch:s(`PATCH`),post:s(`POST`),put:s(`PUT`),request:o,setConfig:r,sse:{connect:c(`CONNECT`),delete:c(`DELETE`),get:c(`GET`),head:c(`HEAD`),options:c(`OPTIONS`),patch:c(`PATCH`),post:c(`POST`),put:c(`PUT`),trace:c(`TRACE`)},trace:s(`TRACE`)}})(ir({baseUrl:`https://tailorkit.dev/api/platform`})),ar=e=>(e.client??K).get({url:`/apps`,...e}),or=e=>(e.client??K).post({url:`/apps`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),sr=e=>(e.client??K).delete({url:`/apps/{appId}`,...e}),cr=e=>(e.client??K).get({url:`/apps/{appId}`,...e}),lr=e=>(e.client??K).put({url:`/apps/{appId}`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),ur=e=>(e.client??K).post({url:`/apps/{appId}/deploy`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),dr=e=>(e.client??K).post({url:`/cli-auth/approve`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),fr=e=>(e.client??K).post({url:`/cli-auth/deny`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),pr=e=>(e.client??K).post({url:`/cli-auth/poll`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),mr=e=>(e.client??K).post({url:`/cli-auth/start`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),hr=e=>(e.client??K).post({url:`/cli-auth/verify-token`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),gr=e=>(e.client??K).get({url:`/deployments`,...e}),_r=e=>(e.client??K).post({url:`/deployments`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),vr=e=>(e.client??K).get({url:`/deployments/{deploymentId}`,...e}),yr=e=>(e.client??K).post({url:`/deployments/{deploymentId}`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),br=e=>(e.client??K).post({url:`/preview/start`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),xr=e=>(e.client??K).post({url:`/preview/{sessionId}/stop`,...e,headers:{"Content-Type":`application/json`,...e.headers}});Object.entries({$body_:`body`,$headers_:`headers`,$path_:`path`,$query_:`query`});var Sr={initialInputValidationIndex:0,initialOutputValidationIndex:0,dedupeLeadingMiddlewares:!0};function q(e,t){return t===void 0?Sr[e]:t}function Cr(e){let t=((...t)=>e(...t));return t.mapInput=t=>Cr((n,r,...i)=>e(n,t(r),...i)),t.concat=(t,n)=>{let r=n?Cr(t).mapInput(n):t;return Cr((t,n,i,...a)=>e({...t,next:(...[e])=>r({...t,context:{...t.context,...e?.context},next:(...[n])=>t.next({context:{...e?.context,...n?.context}})},n,i,...a)},n,i,...a))},t}function wr(e){return async t=>{try{return[null,await e(t)]}catch(e){if(e instanceof Error&&`digest`in e&&typeof e.digest==`string`&&e.digest.startsWith(`NEXT_`)||e instanceof Response&&`options`in e&&Ge(e.options)||Ge(e)&&e.isNotFound===!0)throw e;return[rt(e).toJSON(),void 0]}}}var Tr=class e extends xn{errors(t){return new e({...this[`~orpc`],errorMap:V(this[`~orpc`].errorMap,t)})}meta(t){return new e({...this[`~orpc`],meta:W(this[`~orpc`].meta,t)})}route(t){return new e({...this[`~orpc`],route:sn(this[`~orpc`].route,t)})}use(t,n){let r=n?Cr(t).mapInput(n):t;return new e({...this[`~orpc`],middlewares:bn(this[`~orpc`].middlewares,r)})}callable(...e){let t=En(this,...e);return new Proxy(t,{get:(e,t)=>Reflect.has(this,t)?Reflect.get(this,t):Reflect.get(e,t),has:(e,t)=>Reflect.has(this,t)||Reflect.has(e,t)})}actionable(...e){let t=wr(En(this,...e));return new Proxy(t,{get:(e,t)=>Reflect.has(this,t)?Reflect.get(this,t):Reflect.get(e,t),has:(e,t)=>Reflect.has(this,t)||Reflect.has(e,t)})}},Er=new class e{"~orpc";constructor(e){this[`~orpc`]=e}$config(t){let n=this[`~orpc`].inputValidationIndex-q(`initialInputValidationIndex`,this[`~orpc`].config.initialInputValidationIndex),r=this[`~orpc`].outputValidationIndex-q(`initialOutputValidationIndex`,this[`~orpc`].config.initialOutputValidationIndex);return new e({...this[`~orpc`],config:t,dedupeLeadingMiddlewares:q(`dedupeLeadingMiddlewares`,t.dedupeLeadingMiddlewares),inputValidationIndex:q(`initialInputValidationIndex`,t.initialInputValidationIndex)+n,outputValidationIndex:q(`initialOutputValidationIndex`,t.initialOutputValidationIndex)+r})}$context(){return new e({...this[`~orpc`],middlewares:[],inputValidationIndex:q(`initialInputValidationIndex`,this[`~orpc`].config.initialInputValidationIndex),outputValidationIndex:q(`initialOutputValidationIndex`,this[`~orpc`].config.initialOutputValidationIndex)})}$meta(t){return new e({...this[`~orpc`],meta:t})}$route(t){return new e({...this[`~orpc`],route:t})}$input(t){return new e({...this[`~orpc`],inputSchema:t})}middleware(e){return Cr(e)}errors(t){return new e({...this[`~orpc`],errorMap:V(this[`~orpc`].errorMap,t)})}use(t,n){let r=n?Cr(t).mapInput(n):t;return new e({...this[`~orpc`],middlewares:bn(this[`~orpc`].middlewares,r)})}meta(t){return new e({...this[`~orpc`],meta:W(this[`~orpc`].meta,t)})}route(t){return new e({...this[`~orpc`],route:sn(this[`~orpc`].route,t)})}input(t){return new e({...this[`~orpc`],inputSchema:t,inputValidationIndex:q(`initialInputValidationIndex`,this[`~orpc`].config.initialInputValidationIndex)+this[`~orpc`].middlewares.length})}output(t){return new e({...this[`~orpc`],outputSchema:t,outputValidationIndex:q(`initialOutputValidationIndex`,this[`~orpc`].config.initialOutputValidationIndex)+this[`~orpc`].middlewares.length})}handler(e){return new Tr({...this[`~orpc`],handler:e})}prefix(t){return new e({...this[`~orpc`],prefix:un(this[`~orpc`].prefix,t)})}tag(...t){return new e({...this[`~orpc`],tags:dn(this[`~orpc`].tags,t)})}router(e){return Mn(e,this[`~orpc`])}lazy(e){return Mn(mn(e),this[`~orpc`])}}({config:{},route:{},meta:{},errorMap:{},inputValidationIndex:q(`initialInputValidationIndex`),outputValidationIndex:q(`initialOutputValidationIndex`),middlewares:[],dedupeLeadingMiddlewares:!0});function Dr(e){return Rt(new rn({async fetch(t,n){let r=await(typeof e.headers==`function`?e.headers():e.headers),i=new Headers(r);return new Headers(n?.headers).forEach((e,t)=>{i.set(t,e)}),(e.fetch??fetch)(t,{...n,headers:i})},method:`POST`,url:e.url}))}var Or=C.string().regex(/^[A-Za-z0-9_-]{43}$/u);C.array(Or).max(20),C.enum([`accept`,`cancel`]);var J=Er.$context();function kr(e){if(!e.tailorkit)throw new I(`UNAUTHORIZED`,{message:`Unauthorized.`});return e.tailorkit}function Y(e){return kr(e).scopeId}function Ar(e){let[t,n]=e.headers.get(`authorization`)?.split(` `)??[];if(t!==`Bearer`||!n)throw new I(`UNAUTHORIZED`,{message:`Missing CLI deploy token.`});return n}var X=J.middleware(async({context:e,next:t})=>{let n=await hr({body:{deployToken:Ar(e.request)},client:e.platform,headers:e.platformHeaders}),r=`data`in n?n.data:n;if(!r?.scopeId)throw new I(`UNAUTHORIZED`,{message:`Invalid CLI deploy token.`});return t({context:{tailorkit:{scopeId:r.scopeId}}})}),jr=J.middleware(async({context:e,next:t})=>{let n=await e.authenticate({request:e.request});if(!n)throw new I(`UNAUTHORIZED`,{message:`Unauthorized.`});return t({context:{tailorkit:n}})}),Mr=async(e,t)=>{if(e===void 0)return t;let n=await e[`~standard`].validate(t);if(`issues`in n)throw new I(`BAD_REQUEST`,{message:`Invalid TailorKit payload`});return n.value};J.use(jr).input(C.object({input:C.unknown().optional(),path:C.string()})).handler(async({context:e,input:t})=>{let n=e.actions.get(t.path);if(n===void 0)throw new I(`NOT_FOUND`,{message:`Action not found`});let r=await Mr(n.definition.input,t.input),i=await n.handler({context:kr(e).actionContext,input:r});return Mr(n.definition.output,i)});var Nr=C.object({page:C.number().int().min(1).optional(),pageSize:C.number().int().min(1).max(100).optional()}),Pr=C.object({description:C.string().nullable(),name:C.string()});J.use(X).input(Pr).handler(async({context:e,input:t})=>await or({body:{...t,scopeId:Y(e)},client:e.platform,headers:e.platformHeaders})),J.use(X).input(C.object({appId:C.string()})).handler(async({context:e,input:t})=>await sr({client:e.platform,headers:e.platformHeaders,path:{appId:t.appId},query:{scopeId:Y(e)}})),J.use(X).input(C.object({appId:C.string(),deploymentId:C.string()})).handler(async({context:e,input:t})=>await ur({body:{deploymentId:t.deploymentId},client:e.platform,headers:e.platformHeaders,path:{appId:t.appId},query:{scopeId:Y(e)}})),J.use(X).input(C.object({appId:C.string()})).handler(async({context:e,input:t})=>await cr({client:e.platform,headers:e.platformHeaders,path:{appId:t.appId},query:{scopeId:Y(e)}})),J.use(X).input(Nr.optional()).handler(async({context:e,input:t})=>await ar({client:e.platform,headers:e.platformHeaders,query:{page:t?.page,pageSize:t?.pageSize,scopeId:Y(e)}})),J.use(X).input(C.object({appId:C.string()}).extend(Pr.shape)).handler(async({context:e,input:t})=>await lr({body:{description:t.description,name:t.name},client:e.platform,headers:e.platformHeaders,path:{appId:t.appId},query:{scopeId:Y(e)}}));var Fr=async e=>{try{return await e}catch(e){throw typeof e==`string`&&e.toLowerCase()===`unauthorized`?new I(`UNAUTHORIZED`,{message:`TailorKit platform rejected the host project key. Check TAILORKIT_PROJECT_KEY.`}):e}};J.use(jr).input(C.object({userCode:C.string().min(1)})).handler(async({context:e,input:t})=>await Fr(dr({body:{scopeId:Y(e),userCode:t.userCode},client:e.platform,headers:e.platformHeaders}))),J.use(jr).input(C.object({userCode:C.string().min(1)})).handler(async({context:e,input:t})=>await Fr(fr({body:{userCode:t.userCode},client:e.platform,headers:e.platformHeaders}))),J.input(C.object({deviceCode:C.string().min(1)})).handler(async({context:e,input:t})=>await Fr(pr({body:{deviceCode:t.deviceCode},client:e.platform,headers:e.platformHeaders}))),J.input(C.object({})).handler(async({context:e})=>await Fr(mr({body:{},client:e.platform,headers:e.platformHeaders}))),J.input(C.object({})).use(X).handler(({context:e})=>({scopeId:Y(e)}));var Ir=C.object({page:C.number().int().min(1).optional(),pageSize:C.number().int().min(1).max(100).optional()}),Lr=C.object({checksum:C.string(),contentLength:C.number().int().min(1),contentType:C.literal(`application/javascript`),encoding:C.literal(`utf-8`),objectKey:C.literal(`client.js`)}),Rr=C.object({checksum:C.string(),contentLength:C.number().int().min(1).max(262144),contentType:C.enum([`image/svg+xml`,`image/png`,`image/webp`])}),zr=C.tuple([Lr]),Br=C.object({dark:Rr.optional(),light:Rr.optional()}).optional(),Vr=e=>{if(e instanceof Error)return e.message;if(typeof e==`string`)return e;if(e&&typeof e==`object`&&`message`in e){let t=e.message;return typeof t==`string`?t:void 0}},Hr=e=>Vr(e)?.toLowerCase().includes(`not found`)??!1,Ur=e=>{throw Hr(e)?new I(`NOT_FOUND`,{message:`App not found.`}):e};J.use(X).input(C.object({appId:C.string(),assets:zr,logos:Br})).handler(async({context:e,input:t})=>{try{return await _r({body:{appId:t.appId,assets:t.assets,logos:t.logos,scopeId:Y(e)},client:e.platform,headers:e.platformHeaders})}catch(e){Ur(e)}}),J.use(X).input(C.object({deploymentId:C.string()})).handler(async({context:e,input:t})=>await vr({client:e.platform,headers:e.platformHeaders,path:{deploymentId:t.deploymentId},query:{scopeId:Y(e)}})),J.use(X).input(C.object({appId:C.string()}).merge(Ir)).handler(async({context:e,input:t})=>await gr({client:e.platform,headers:e.platformHeaders,query:{appId:t.appId,page:t.page,pageSize:t.pageSize,scopeId:Y(e)}})),J.use(X).input(C.object({deploymentId:C.string(),rollout:C.boolean().optional()})).handler(async({context:e,input:t})=>await yr({body:{scopeId:Y(e),rollout:t.rollout},client:e.platform,headers:e.platformHeaders,path:{deploymentId:t.deploymentId}})),J.use(X).input(C.object({appId:C.string().min(1)})).handler(async({context:e,input:t})=>await br({body:{appId:t.appId,deployToken:Ar(e.request)},client:e.platform,headers:e.platformHeaders})),J.use(X).input(C.object({sessionId:C.uuid()})).handler(async({context:e,input:t})=>await xr({body:{deployToken:Ar(e.request)},client:e.platform,headers:e.platformHeaders,path:{sessionId:t.sessionId}}));var Wr=e=>{let t=new URL(e);return t.hash=``,t.search=``,t.pathname=t.pathname.replace(/\/+$/u,``),t.toString().replace(/\/$/u,``)},Gr=S.join(x(),`.tailorkit`,`auth.json`),Kr=18e5,qr=2e3,Jr=C.object({deployToken:C.string().min(1),scopeId:C.string().min(1).optional()}),Yr=C.object({hosts:C.record(C.string(),Jr).optional()}).passthrough(),Xr=e=>new Promise(t=>setTimeout(t,e)),Zr=e=>{if(e&&typeof e==`object`&&`error`in e&&e.error!==void 0)throw e.error},Qr=async()=>{try{return Yr.parse(JSON.parse(await _(Gr,`utf-8`)))}catch(e){if(e&&typeof e==`object`&&`code`in e&&e.code===`ENOENT`)return{};throw e}},$r=async e=>{await g(S.dirname(Gr),{recursive:!0}),await b(Gr,`${JSON.stringify(e,null,2)}\n`,{encoding:`utf-8`,mode:384}),await h(Gr,384)},ei=async e=>{let t=await Ce(e.configPath,e.cwd);if(t.config.host)return Wr(t.config.host);throw Error(`Missing TailorKit host URL. Set host in tailorkit.config.ts.`)},ti=(e,t)=>{let n=new URL(e);return n.pathname=`${n.pathname.replace(/\/+$/u,``)}/cli-auth/approve`,n.search=``,n.searchParams.set(`code`,t),n.hash=``,n.toString()},ni=e=>Error(`Not logged in for ${e}. Run tailorkit login after checking host in tailorkit.config.ts.`),ri=async(e,t)=>{let n=await Qr();await $r({...n,hosts:{...n.hosts,[e]:t}})},ii=async e=>{let t=await Qr();if(!t.hosts?.[e])return!1;let{[e]:n,...r}=t.hosts,i={...t,hosts:r};return Object.keys(r).length===0?(await y(Gr,{force:!0}),!0):(await $r(i),!0)},ai=async e=>(await Qr()).hosts?.[e],oi=async(e,t)=>{let n=await ei(e),r=Dr({url:n}),i=await r.cliAuth.start({});Zr(i);let a=`data`in i?i.data:i,o=new Date(a.expiresAt),s=Date.now()+(e.timeout??Kr);for(t({expiresAt:o,hostUrl:n,userCode:a.userCode});Date.now()<s&&Date.now()<o.getTime();){await Xr(qr);let e=await r.cliAuth.poll({deviceCode:a.deviceCode});Zr(e);let t=`data`in e?e.data:e;switch(t.status){case`pending`:continue;case`denied`:throw Error(`CLI login was denied.`);case`expired`:throw Error(`CLI login expired.`);case`approved`:return await ri(n,{deployToken:t.deployToken,scopeId:t.scopeId}),{hostUrl:n,scopeId:t.scopeId};default:throw Error(`Unexpected CLI login status.`)}}throw Error(`Timed out waiting for CLI login approval.`)},si=async e=>{let t=await ei(e),n=await ai(t);if(!n?.deployToken)throw ni(t);let r=Dr({headers:{authorization:`Bearer ${n.deployToken}`},url:t}),i;try{let e=await r.cliAuth.verifyToken({});Zr(e),i=`data`in e?e.data:e}catch{throw ni(t)}return await ri(t,{deployToken:n.deployToken,scopeId:i.scopeId}),{hostUrl:t,scopeId:i.scopeId}},ci=async e=>{let t=await ei(e);return{hostUrl:t,removed:await ii(t)}},li=1048576,ui=ae(oe),di={png:`image/png`,svg:`image/svg+xml`,webp:`image/webp`},Z=e=>{if(e&&typeof e==`object`&&`error`in e&&e.error!==void 0)throw e.error;let t=e&&typeof e==`object`&&`data`in e?e.data:e;return t&&typeof t==`object`&&`body`in t?t.body:t},fi=e=>{if(e instanceof Error)return e.message;if(typeof e==`string`)return e;if(e&&typeof e==`object`&&`message`in e){let t=e.message;return typeof t==`string`?t:void 0}},pi=e=>fi(e)?.toLowerCase().includes(`not found`)??!1,mi=async(e,t)=>{let n=S.join(e,`tailorkit-upload.json`);return t.parse(JSON.parse(await _(n,`utf-8`)))},hi=e=>re(`sha256`).update(e).digest(`hex`),gi=async e=>{try{let t=JSON.parse(await _(S.join(e,`package.json`),`utf-8`));if(typeof t.name==`string`&&t.name.trim())return t.name.trim()}catch{}return S.basename(e)},_i=async(e,t)=>{let n=await _(e,`utf-8`),r=` appId: ${JSON.stringify(t)},`;if(/^\s*appId\s*:/mu.test(n)){await b(e,n.replace(/^(\s*)appId\s*:\s*(['"]).*?\2\s*,?/mu,`$1appId: ${JSON.stringify(t)},`),`utf-8`);return}let i=/(export\s+default\s+\{)(\r?\n)/u;if(i.test(n)){await b(e,n.replace(i,`$1$2${r}$2`),`utf-8`);return}let a=/(export\s+default\s+(?:defineTailorKitConfig|defineConfig)\(\s*\{)(\r?\n)/u;if(a.test(n)){await b(e,n.replace(a,`$1$2${r}$2`),`utf-8`);return}throw Error(`Could not write appId to ${e}. Add appId: ${JSON.stringify(t)} manually.`)},vi=async(e,t)=>{if(!e.uploadUrl)return;if(t.byteLength>li)throw Error(`Deployment asset exceeds ${li} bytes.`);let n=new Headers(e.headers);n.has(`content-type`)||n.set(`content-type`,`application/javascript`);let r=await fetch(e.uploadUrl,{body:new Uint8Array(t),headers:n,method:`PUT`});if(!r.ok)throw Error(`Asset upload failed with ${r.status} ${r.statusText}.`)},yi=e=>{for(let t of[`tsconfig.json`,`jsconfig.json`]){let n=S.join(e,t);if(ie(n))return n}},bi=e=>{let t=r(S.join(e,`package.json`));try{return t(`typescript`)}catch{return}},xi=(e,t,n)=>t.map(t=>{let r=t,i=e.flattenDiagnosticMessageText(r.messageText,`
55
- `);if(r.file===void 0||r.start===void 0)return`TS${r.code}: ${i}`;let a=e.getLineAndCharacterOfPosition(r.file,r.start);return`${S.relative(n,r.file.fileName)}(${a.line+1},${a.character+1}): error TS${r.code}: ${i}`}).join(`
56
- `),Si=(e,t)=>{let n=bi(e.root),r=yi(e.root);if(n===void 0||r===void 0)return;let i=t.entry??e.config.client?.entry??`./src/client.ts`,a=S.resolve(e.root,i),o=n.readConfigFile(r,n.sys.readFile);if(o.error!==void 0)return{command:`tsc --noEmit ${S.relative(e.root,a)}`,exitCode:1,output:xi(n,[o.error],e.root)};let s=n.parseJsonConfigFileContent(o.config,n.sys,e.root,{noEmit:!0},r);if(s.errors.length>0)return{command:`tsc --noEmit ${S.relative(e.root,a)}`,exitCode:1,output:xi(n,s.errors,e.root)};let c=n.createCompilerHost(s.options),l=n.createProgram({host:c,options:s.options,rootNames:[a]}),u=[...n.getPreEmitDiagnostics(l),...l.emit().diagnostics];if(u.length!==0)return{command:`tsc --noEmit ${S.relative(e.root,a)}`,exitCode:1,output:xi(n,u,e.root)}},Ci=async e=>{let t=await Ce(e.configPath,e.cwd),n=t.config.appId,r=!1,i=await si(e),a=await ai(i.hostUrl);if(!a?.deployToken)throw Error(`Not logged in for ${i.hostUrl}. Run tailorkit login after checking host in tailorkit.config.ts.`);let{buildApp:o,tailorkitUploadManifestSchema:s}=await import(`./assets/builder-CvioCjKE.js`),[c,l]=await Promise.allSettled([o(e),Si(t,e)]);if(c.status===`rejected`)throw c.reason;if(l.status===`rejected`)throw l.reason;if(l.value!==void 0&&!await e.onTypecheckFailed?.(l.value))throw Error(`Deployment cancelled because type check failed.`);let u=S.resolve(t.root,e.outDir??t.config.build?.outDir??`.tailorkit`),d=await mi(u,s),f=S.join(u,d.assets.client),p=await _(f),m=await ui(p),h=Object.entries(d.assets.logos??{}),g=await Promise.all(h.map(async([e,t])=>{let n=await _(S.join(u,t)),r=di[S.extname(t).slice(1)];if(!r)throw Error(`Unsupported ${e} logo format.`);return{content:n,contentType:r,filename:t,variant:e}}));if(p.byteLength>li)throw Error(`Combined client assets are ${p.byteLength} bytes and cannot exceed ${li} bytes.`);let v=Dr({headers:{authorization:`Bearer ${a.deployToken}`},url:i.hostUrl}),ee=async a=>{let o=await gi(t.root);if(!await e.onMissingAppId?.({appName:o,configPath:t.filepath,hostUrl:i.hostUrl,reason:a}))throw Error(`Deployment cancelled.`);return n=Z(await v.apps.create({description:null,name:o})).id,r=!0,await _i(t.filepath,n),n};n||=await ee(`missing`);let y=async e=>Z(await v.deployments.create({appId:e,assets:[{checksum:hi(p),contentLength:p.byteLength,contentType:`application/javascript`,encoding:`utf-8`,objectKey:`client.js`}],logos:g.length>0?Object.fromEntries(g.map(e=>[e.variant,{checksum:hi(e.content),contentLength:e.content.byteLength,contentType:e.contentType}])):void 0})),b;try{b=await y(n)}catch(e){if(!pi(e))throw e;n=await ee(`not-found`),b=await y(n)}if(b.assets.length!==1||!b.assets[0])throw Error(`Deployment did not return an upload URL for the client asset.`);await Promise.all([vi(b.assets[0],p),...g.map(e=>{let t=b.logos?.[e.variant];if(!t)throw Error(`Deployment did not return an upload URL for the ${e.variant} logo.`);return vi(t,e.content)})]);let x=Z(await v.deployments.publish({deploymentId:b.deployment.id,rollout:!0})),te=await Promise.all(g.map(async e=>({gzipSize:(await ui(e.content)).byteLength,path:e.filename,size:e.content.byteLength})));return{appId:n,createdApp:r,deploymentId:x.id,hostUrl:i.hostUrl,status:x.status,uploadedFiles:[{gzipSize:m.byteLength,path:d.assets.client,size:p.byteLength},...te]}};function wi(e,t){return e===`/`||e===t||t.startsWith(`${e}/`)}var Ti=C.enum([`object`,`array`,`string`,`number`,`boolean`,`null`]),Q=C.object({$schema:C.enum([`https://json-schema.org/draft/2020-12/schema`]).optional(),type:C.union([Ti,C.array(C.string())]).optional(),properties:C.lazy(()=>C.record(C.string(),Q)).optional(),required:C.array(C.string()).optional(),additionalProperties:C.union([C.boolean(),C.lazy(()=>Q)]).optional(),enum:C.array(C.unknown()).optional(),const:C.unknown().optional(),items:C.lazy(()=>Q).optional(),anyOf:C.lazy(()=>C.array(Q)).optional(),oneOf:C.lazy(()=>C.array(Q)).optional(),allOf:C.lazy(()=>C.array(Q)).optional(),not:C.lazy(()=>Q).optional()}).strict(),Ei=C.object({async:C.boolean().optional(),input:Q.optional(),output:Q.optional()}),Di=C.object({fields:Q.optional(),callbacks:C.record(C.string(),Ei),children:C.boolean()}),Oi=C.record(C.string(),Di),ki=C.string().regex(/^\/.*$/u,{message:`View keys must start with "/".`}),Ai=C.object({context:Q.optional(),contextOptional:C.boolean().optional()}).strict(),ji=C.record(ki,Ai),Mi=C.object({input:C.record(C.string(),C.unknown()).optional(),output:C.record(C.string(),C.unknown()).optional()}),Ni=C.lazy(()=>C.record(C.string(),C.union([Mi,Ni])));C.object({version:C.literal(1),slots:C.record(C.string().min(1),C.object({views:C.array(C.string().startsWith(`/`))})).default({}),actions:Ni.default({}),components:Oi,views:ji.default({})}).superRefine((e,t)=>{for(let[n,r]of Object.entries(e.slots))r.views.forEach((r,i)=>{Object.hasOwn(e.views,r)||t.addIssue({code:`custom`,path:[`slots`,n,`views`,i],message:`Unknown view "${r}".`})})});var Pi=`/* eslint-disable */
15
+ `);try{s=JSON.parse(e),l=!0}catch{s=e}}l&&(i&&await i(s),r&&(s=await r(s))),n?.({data:s,event:o,id:d,retry:c}),a.length&&(yield s)}}}finally{m.removeEventListener(`abort`,h),f.releaseLock()}break}catch(e){if(t?.(e),o!==void 0&&p>=o)break;let n=Math.min(c*2**(p-1),s??3e4);await f(n)}}}()}}var Sn=e=>{switch(e){case`label`:return`.`;case`matrix`:return`;`;case`simple`:return`,`;default:return`&`}},Cn=e=>{switch(e){case`form`:return`,`;case`pipeDelimited`:return`|`;case`spaceDelimited`:return`%20`;default:return`,`}},wn=e=>{switch(e){case`label`:return`.`;case`matrix`:return`;`;case`simple`:return`,`;default:return`&`}},Tn=({allowReserved:e,explode:t,name:n,style:r,value:i})=>{if(!t){let t=(e?i:i.map(e=>encodeURIComponent(e))).join(Cn(r));switch(r){case`label`:return`.${t}`;case`matrix`:return`;${n}=${t}`;case`simple`:return t;default:return`${n}=${t}`}}let a=Sn(r),o=i.map(t=>r===`label`||r===`simple`?e?t:encodeURIComponent(t):En({allowReserved:e,name:n,value:t})).join(a);return r===`label`||r===`matrix`?a+o:o},En=({allowReserved:e,name:t,value:n})=>{if(n==null)return``;if(typeof n==`object`)throw Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?n:encodeURIComponent(n)}`},Dn=({allowReserved:e,explode:t,name:n,style:r,value:i,valueOnly:a})=>{if(i instanceof Date)return a?i.toISOString():`${n}=${i.toISOString()}`;if(r!==`deepObject`&&!t){let t=[];Object.entries(i).forEach(([n,r])=>{t=[...t,n,e?r:encodeURIComponent(r)]});let a=t.join(`,`);switch(r){case`form`:return`${n}=${a}`;case`label`:return`.${a}`;case`matrix`:return`;${n}=${a}`;default:return a}}let o=wn(r),s=Object.entries(i).map(([t,i])=>En({allowReserved:e,name:r===`deepObject`?`${n}[${t}]`:t,value:i})).join(o);return r===`label`||r===`matrix`?o+s:s},On=/\{[^{}]+\}/g,kn=({path:e,url:t})=>{let n=t,r=t.match(On);if(r)for(let t of r){let r=!1,i=t.substring(1,t.length-1),a=`simple`;i.endsWith(`*`)&&(r=!0,i=i.substring(0,i.length-1)),i.startsWith(`.`)?(i=i.substring(1),a=`label`):i.startsWith(`;`)&&(i=i.substring(1),a=`matrix`);let o=e[i];if(o==null)continue;if(Array.isArray(o)){n=n.replace(t,Tn({explode:r,name:i,style:a,value:o}));continue}if(typeof o==`object`){n=n.replace(t,Dn({explode:r,name:i,style:a,value:o,valueOnly:!0}));continue}if(a===`matrix`){n=n.replace(t,`;${En({name:i,value:o})}`);continue}let s=encodeURIComponent(a===`label`?`.${o}`:o);n=n.replace(t,s)}return n},An=({baseUrl:e,path:t,query:n,querySerializer:r,url:i})=>{let a=i.startsWith(`/`)?i:`/${i}`,o=(e??``)+a;t&&(o=kn({path:t,url:o}));let s=n?r(n):``;return s.startsWith(`?`)&&(s=s.substring(1)),s&&(o+=`?${s}`),o};function jn(e){let t=e.body!==void 0;if(t&&e.bodySerializer)return`serializedBody`in e?e.serializedBody!==void 0&&e.serializedBody!==``?e.serializedBody:null:e.body===``?null:e.body;if(t)return e.body}var Mn=async(e,t)=>{let n=typeof t==`function`?await t(e):t;if(n)return e.scheme===`bearer`?`Bearer ${n}`:e.scheme===`basic`?`Basic ${btoa(n)}`:n},Nn={bodySerializer:e=>JSON.stringify(e,(e,t)=>typeof t==`bigint`?t.toString():t)},Pn=({parameters:e={},...t}={})=>n=>{let r=[];if(n&&typeof n==`object`)for(let i in n){let a=n[i];if(a==null)continue;let o=e[i]||t;if(Array.isArray(a)){let e=Tn({allowReserved:o.allowReserved,explode:!0,name:i,style:`form`,value:a,...o.array});e&&r.push(e)}else if(typeof a==`object`){let e=Dn({allowReserved:o.allowReserved,explode:!0,name:i,style:`deepObject`,value:a,...o.object});e&&r.push(e)}else{let e=En({allowReserved:o.allowReserved,name:i,value:a});e&&r.push(e)}}return r.join(`&`)},Fn=e=>{if(!e)return`stream`;let t=e.split(`;`)[0]?.trim();if(t){if(t.startsWith(`application/json`)||t.endsWith(`+json`))return`json`;if(t===`multipart/form-data`)return`formData`;if([`application/`,`audio/`,`image/`,`video/`].some(e=>t.startsWith(e)))return`blob`;if(t.startsWith(`text/`))return`text`}},In=(e,t)=>t?!!(e.headers.has(t)||e.query?.[t]||e.headers.get(`Cookie`)?.includes(`${t}=`)):!1;async function Ln(e){for(let t of e.security??[]){if(In(e,t.name))continue;let n=await Mn(t,e.auth);if(!n)continue;let r=t.name??`Authorization`;switch(t.in){case`query`:e.query||={},e.query[r]=n;break;case`cookie`:e.headers.append(`Cookie`,`${r}=${n}`);break;default:e.headers.set(r,n)}}}var Rn=e=>An({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer==`function`?e.querySerializer:Pn(e.querySerializer),url:e.url}),zn=(e,t)=>{let n={...e,...t};return n.baseUrl?.endsWith(`/`)&&(n.baseUrl=n.baseUrl.substring(0,n.baseUrl.length-1)),n.headers=Vn(e.headers,t.headers),n},Bn=e=>{let t=[];return e.forEach((e,n)=>{t.push([n,e])}),t},Vn=(...e)=>{let t=new Headers;for(let n of e){if(!n)continue;let e=n instanceof Headers?Bn(n):Object.entries(n);for(let[n,r]of e)if(r===null)t.delete(n);else if(Array.isArray(r))for(let e of r)t.append(n,e);else r!==void 0&&t.set(n,typeof r==`object`?JSON.stringify(r):r)}return t},Hn=class{fns=[];clear(){this.fns=[]}eject(e){let t=this.getInterceptorIndex(e);this.fns[t]&&(this.fns[t]=null)}exists(e){let t=this.getInterceptorIndex(e);return!!this.fns[t]}getInterceptorIndex(e){return typeof e==`number`?this.fns[e]?e:-1:this.fns.indexOf(e)}update(e,t){let n=this.getInterceptorIndex(e);return this.fns[n]?(this.fns[n]=t,e):!1}use(e){return this.fns.push(e),this.fns.length-1}},Un=()=>({error:new Hn,request:new Hn,response:new Hn}),Wn=Pn({allowReserved:!1,array:{explode:!0,style:`form`},object:{explode:!0,style:`deepObject`}}),Gn={"Content-Type":`application/json`},Kn=(e={})=>({...Nn,headers:Gn,parseAs:`auto`,querySerializer:Wn,...e}),U=((e={})=>{let t=zn(Kn(),e),n=()=>({...t}),r=e=>(t=zn(t,e),n()),i=Un(),a=async e=>{let n={...t,...e,fetch:e.fetch??t.fetch??globalThis.fetch,headers:Vn(t.headers,e.headers),serializedBody:void 0};n.security&&await Ln(n),n.requestValidator&&await n.requestValidator(n),n.body!==void 0&&n.bodySerializer&&(n.serializedBody=n.bodySerializer(n.body)),(n.body===void 0||n.serializedBody===``)&&n.headers.delete(`Content-Type`);let r=n;return{opts:r,url:Rn(r)}},o=async e=>{let n=e.throwOnError??t.throwOnError,r=e.responseStyle??t.responseStyle,o,s;try{let{opts:t,url:n}=await a(e),r={redirect:`follow`,...t,body:jn(t)};o=new Request(n,r);for(let e of i.request.fns)e&&(o=await e(o,t));let c=t.fetch;s=await c(o);for(let e of i.response.fns)e&&(s=await e(s,o,t));let l={request:o,response:s};if(s.ok){let e=(t.parseAs===`auto`?Fn(s.headers.get(`Content-Type`)):t.parseAs)??`json`;if(s.status===204||s.headers.get(`Content-Length`)===`0`){let n;switch(e){case`arrayBuffer`:case`blob`:case`text`:n=await s[e]();break;case`formData`:n=new FormData;break;case`stream`:n=s.body;break;default:n={}}return t.responseStyle===`data`?n:{data:n,...l}}let n;switch(e){case`arrayBuffer`:case`blob`:case`formData`:case`text`:n=await s[e]();break;case`json`:{let e=await s.text();n=e?JSON.parse(e):{};break}case`stream`:return t.responseStyle===`data`?s.body:{data:s.body,...l}}return e===`json`&&(t.responseValidator&&await t.responseValidator(n),t.responseTransformer&&(n=await t.responseTransformer(n))),t.responseStyle===`data`?n:{data:n,...l}}let u=await s.text(),d;try{d=JSON.parse(u)}catch{}throw d??u}catch(t){let a=t;for(let t of i.error.fns)t&&(a=await t(a,s,o,e));if(a||={},n)throw a;return r===`data`?void 0:{error:a,request:o,response:s}}},s=e=>t=>o({...t,method:e}),c=e=>async t=>{let{opts:n,url:r}=await a(t);return xn({...n,body:n.body,method:e,onRequest:async(e,t)=>{let r=new Request(e,t);for(let e of i.request.fns)e&&(r=await e(r,n));return r},serializedBody:jn(n),url:r})};return{buildUrl:e=>Rn({...t,...e}),connect:s(`CONNECT`),delete:s(`DELETE`),get:s(`GET`),getConfig:n,head:s(`HEAD`),interceptors:i,options:s(`OPTIONS`),patch:s(`PATCH`),post:s(`POST`),put:s(`PUT`),request:o,setConfig:r,sse:{connect:c(`CONNECT`),delete:c(`DELETE`),get:c(`GET`),head:c(`HEAD`),options:c(`OPTIONS`),patch:c(`PATCH`),post:c(`POST`),put:c(`PUT`),trace:c(`TRACE`)},trace:s(`TRACE`)}})(Kn({baseUrl:`https://tailorkit.dev/api/platform`})),qn=e=>(e.client??U).post({url:`/apps/list`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Jn=e=>(e.client??U).post({url:`/apps/{appId}/lookup`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Yn=e=>(e.client??U).post({url:`/apps`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Xn=e=>(e.client??U).delete({url:`/apps/{appId}`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Zn=e=>(e.client??U).put({url:`/apps/{appId}`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),Qn=e=>(e.client??U).post({url:`/apps/{appId}/deploy`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),$n=e=>(e.client??U).post({url:`/cli-auth/approve`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),er=e=>(e.client??U).post({url:`/cli-auth/deny`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),tr=e=>(e.client??U).post({url:`/cli-auth/poll`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),nr=e=>(e.client??U).post({url:`/cli-auth/start`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),rr=e=>(e.client??U).post({url:`/cli-auth/verify-token`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),ir=e=>(e.client??U).post({url:`/deployments/list`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),ar=e=>(e.client??U).post({url:`/deployments/{deploymentId}/lookup`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),or=e=>(e.client??U).post({url:`/deployments`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),sr=e=>(e.client??U).post({url:`/deployments/{deploymentId}`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),cr=e=>(e.client??U).post({url:`/preview/start`,...e,headers:{"Content-Type":`application/json`,...e.headers}}),lr=e=>(e.client??U).post({url:`/preview/{sessionId}/stop`,...e,headers:{"Content-Type":`application/json`,...e.headers}});Object.entries({$body_:`body`,$headers_:`headers`,$path_:`path`,$query_:`query`});var ur=class e extends yn{meta(...t){let[n,r]=pn(this[`~orpc`].meta,this[`~orpc`].metaPlugins,t);return new e({...this[`~orpc`],meta:n,metaPlugins:r})}errors(t){let n=new e({...this[`~orpc`],errorMap:V(this[`~orpc`].errorMap,t)}),r=H(t);return r&&(n=n.meta(...r)),n}use(t){let n=new e({...this[`~orpc`],errorMap:V(t[`~orpc`]?.errorMap,this[`~orpc`].errorMap),orderedMiddlewares:[...this[`~orpc`].orderedMiddlewares,{middleware:t,inputSchemasLengthAtUse:this[`~orpc`].inputSchemas?.length,outputSchemasLengthAtUse:this[`~orpc`].outputSchemas?.length}]});return t[`~orpc`]?.metaPlugins&&(n=n.meta(...t[`~orpc`]?.metaPlugins)),n}};function dr(e){let t=((...t)=>e(...t));return t[`~orpc`]=e[`~orpc`],Object.defineProperty(t,"name",{value:e.name}),t.adaptInput=t=>{let n=dr((n,r,...i)=>e(n,t(r),...i));return n[`~orpc`]=e[`~orpc`],Object.defineProperty(n,"name",{value:e.name}),n},t.errors=e=>{let n=dr(t);return n[`~orpc`]={...t[`~orpc`],errorMap:V(t[`~orpc`]?.errorMap,e)},n},t.use=n=>{let r=dr((t,...r)=>e({...t,async next(e){let i=await n({...t,context:{...t.context,...e?.context},next(n,...r){return t.next({...t,context:{...e?.context,...n?.context}},...r)}},...r);return{...i,context:{...e?.context,...i.context}}}},...r));return r[`~orpc`]={...t[`~orpc`],errorMap:V(n[`~orpc`]?.errorMap,t[`~orpc`]?.errorMap),metaPlugins:[...k(e[`~orpc`]?.metaPlugins),...k(n[`~orpc`]?.metaPlugins)]},Object.defineProperty(r,"name",{value:`${e.name} + ${n.name}`}),r},t}var fr=class e{"~orpc";constructor(e){this[`~orpc`]=e}static create(){return new e({errorMap:{},meta:{},orderedMiddlewares:[]})}$context(){return this}$config(t){return new e({...this[`~orpc`],...t})}meta(...t){let[n,r]=pn(this[`~orpc`].meta,this[`~orpc`].metaPlugins,t);return new e({...this[`~orpc`],meta:n,metaPlugins:r})}errors(t){let n=new e({...this[`~orpc`],errorMap:V(this[`~orpc`].errorMap,t)}),r=H(t);return r&&(n=n.meta(...r)),n}use(t){let n=new e({...this[`~orpc`],errorMap:V(t[`~orpc`]?.errorMap??{},this[`~orpc`].errorMap),orderedMiddlewares:[...this[`~orpc`].orderedMiddlewares,{middleware:t,inputSchemasLengthAtUse:this[`~orpc`].inputSchemas?.length,outputSchemasLengthAtUse:this[`~orpc`].outputSchemas?.length}]});return t[`~orpc`]?.metaPlugins&&(n=n.meta(...t[`~orpc`]?.metaPlugins)),n}middleware(e){let t=[...this[`~orpc`].orderedMiddlewares.map(({middleware:e})=>e),e],n=dr(t.shift());for(let e of t)n=n.use(e);return n[`~orpc`]={...n[`~orpc`],errorMap:this[`~orpc`].errorMap,metaPlugins:[...k(this[`~orpc`].metaPlugins),...k(e[`~orpc`]?.metaPlugins)]},n}input(t){let n=new e({...this[`~orpc`],inputSchemas:[...k(this[`~orpc`].inputSchemas),t]}),r=H(t);return r&&(n=n.meta(...r)),n}output(t){let n=new e({...this[`~orpc`],outputSchemas:[...k(this[`~orpc`].outputSchemas),t]}),r=H(t);return r&&(n=n.meta(...r)),n}handler(e){let t=new ur({...this[`~orpc`],handler:e}),n=H(e);return n&&(t=t.meta(...n)),t}router(e){return bn(e,{...this[`~orpc`],middlewares:this[`~orpc`].orderedMiddlewares.map(({middleware:e})=>e)})}lazy(e){return new _n({loader:async()=>{let{default:t}=await e();return{default:this.router(t)}},meta:this[`~orpc`].meta,metaPlugins:this[`~orpc`].metaPlugins})}}.create();function pr(e,t){return new ue(async()=>{for(;;){let{json:t}=await e.pull();switch(t.event){case void 0:case`message`:{let e=t.data;return N(e)&&(e=L(e,t)),{value:e,done:!1}}case`error`:throw L(new I(t.data),t);case`close`:{let e=t.data;return N(e)&&(e=L(e,t)),{value:e,done:!0}}}}},t)}var mr=class{constructor(e,t,n){this.iterator=e,this.messageId=t,this.send=n}isDone=!1;async cancel(){this.isDone||(this.isDone=!0,await this.iterator.return?.())}async transmit(){for(;;)try{let e=await this.iterator.next();if(this.isDone)return;e.done&&(this.isDone=!0);try{let[t,n]=xt(e.value);await this.send({kind:`event-stream`,id:this.messageId,json:{...n,event:e.done?`close`:void 0,data:t}})}catch(e){throw await this.cancel(),e}if(this.isDone)return}catch(e){if(e instanceof I){if(!this.isDone){this.isDone=!0;let[t,n]=xt(e);await this.send({kind:`event-stream`,id:this.messageId,json:{...n,event:`error`,data:t.data}})}return}throw this.isDone=!0,e}}};function hr(e,t){return new ReadableStream({async pull(n){try{let{json:r,binary:i}=await e.pull();i&&n.enqueue(i instanceof Uint8Array?i:new Uint8Array(await i.arrayBuffer())),r.close&&(await t({kind:`success`}),n.close())}catch(e){await t({kind:`error`,error:e}),n.error(e)}},async cancel(e){await t({kind:`cancelled`,error:e})}})}var gr=class{constructor(e,t,n){this.messageId=t,this.send=n,this.reader=e.getReader()}isDone=!1;reader;async cancel(){this.isDone||(this.isDone=!0,await this.reader.cancel())}async transmit(){for(;;)try{let e=await this.reader.read();if(this.isDone)return;e.done&&(this.isDone=!0);try{await this.send({json:{close:e.done?!0:void 0},binary:e.value,kind:`octet-stream`,id:this.messageId})}catch(e){throw await this.cancel(),e}if(this.isDone)return}catch(e){throw this.isDone=!0,e}}};function _r(e,t){let n=R(e.json.headers?.[`content-type`]),r=R(e.json.headers?.[`standard-server`]);if(e.json.body===void 0&&e.binary===void 0){if(n===void 0&&r===`event-stream`){let e=new he;return{resolveBody:async()=>pr(e,t),eventStreamMessageQueue:e}}if(n!==void 0){let e=new he;return{resolveBody:async()=>hr(e,t),octetStreamMessageQueue:e}}}return{resolveBody:async()=>{let i;try{if(e.binary){if(r===`form-data`){let t={};return n!==void 0&&(t[`content-type`]=n),await new Response(e.binary,{headers:t}).formData()}let t=R(e.json.headers?.[`content-disposition`]),i=t===void 0?void 0:wt(t);return new File([e.binary],i??`blob`,{type:n??`application/octet-stream`})}if(r===`url-search-params`){if(typeof e.json.body!=`string`)throw TypeError(`Expected body to be a string for url-search-params bodyHint`);return new URLSearchParams(e.json.body)}return e.json.body}catch(e){throw i={value:e},e}finally{await t(i?{kind:`error`,error:i.value}:{kind:`success`})}}}}async function vr(e,t){if(t={...t},e instanceof ReadableStream)return t[`content-type`]??=`application/octet-stream`,{jsonBody:void 0,headers:t,binary:void 0};if(e instanceof Blob)return t[`content-type`]=e.type,t[`content-disposition`]??=Ct(e instanceof File?e.name??``:`blob`),Number.isFinite(e.size)&&(t[`content-length`]=e.size.toString()),{jsonBody:void 0,headers:t,binary:e};if(t[`standard-server`]=void 0,t[`content-type`]=void 0,j(e))return t[`standard-server`]=`event-stream`,{jsonBody:void 0,headers:t,binary:void 0};if(e instanceof FormData){let n=await new Response(e).blob();return t[`standard-server`]=`form-data`,t[`content-type`]=n.type,t[`content-length`]=n.size.toString(),{jsonBody:void 0,headers:t,binary:n}}return e instanceof URLSearchParams?(t[`standard-server`]=`url-search-params`,{jsonBody:e.toString(),headers:t,binary:void 0}):{jsonBody:e,headers:t,binary:void 0}}var yr=class{constructor(e){this.send=e}idGenerator=new ce;requests=new Map;request(e){return new Promise((t,n)=>{let r=e.signal;r?.throwIfAborted();let i=this.idGenerator.generate(),a={resolve:t,reject:n};if(this.requests.set(i,a),r){let e=()=>{this.abortById(i,r.reason).catch(()=>{})};r.addEventListener(`abort`,e),a.removeAbortListener=()=>r.removeEventListener(`abort`,e)}this.transmitRequest(i,a,e)})}async transmitRequest(e,t,n){try{let r=await vr(n.body,n.headers);if(n.signal?.throwIfAborted(),this.requests.get(e)!==t)return;if(await this.send({id:e,kind:`request`,json:{method:n.method===`POST`?void 0:n.method,url:n.url,headers:fe(r.headers)?r.headers:void 0,body:r.jsonBody},binary:r.binary}),j(n.body)){let r=new mr(n.body,e,this.send);this.requests.get(e)===t?(t.eventStreamTransmitter=r,await r.transmit().catch(n=>{if(t.eventStreamTransmitter)return this.abortById(e,n)})):await r.cancel()}else if(n.body instanceof ReadableStream){let r=new gr(n.body,e,this.send);this.requests.get(e)===t?(t.octetStreamTransmitter=r,await r.transmit().catch(n=>{if(t.octetStreamTransmitter)return this.abortById(e,n)})):await r.cancel()}}catch(t){await this.closeById(e,t)}}async message(e){let t=e.id,n=this.requests.get(t);if(!n)return;if(e.kind===`stream/cancel`){let e=Promise.all([n.eventStreamTransmitter?.cancel(),n.octetStreamTransmitter?.cancel()]);n.eventStreamTransmitter=void 0,n.octetStreamTransmitter=void 0,await e;return}if(e.kind===`cancel`){await this.closeById(t,new A(`Server canceled the request`));return}if(e.kind===`event-stream`){n.eventStreamMessageQueue?.push(e);return}if(e.kind===`octet-stream`){n.octetStreamMessageQueue?.push(e);return}if(!n.resolve)return;let r=n.resolve;n.resolve=void 0;try{let i=_r(e,async e=>{e.kind===`cancelled`?await this.abortById(t,e.error):(n.eventStreamMessageQueue||n.octetStreamMessageQueue)&&await this.closeById(t,e.error)});n.eventStreamMessageQueue=i.eventStreamMessageQueue,n.octetStreamMessageQueue=i.octetStreamMessageQueue,r({headers:e.json.headers??{},status:e.json.status??200,resolveBody:i.resolveBody}),n.reject=void 0,!n.eventStreamMessageQueue&&!n.octetStreamMessageQueue&&await this.closeById(t)}catch(e){await this.closeById(t,e)}}async close(e){e??=new A(`Peer was closed`),await Promise.all(Array.from(this.requests.keys()).map(t=>this.closeById(t,e)))}async closeById(e,t){let n=this.requests.get(e);if(!n)return;this.requests.delete(e),(n.reject||n.eventStreamMessageQueue||n.octetStreamMessageQueue)&&(t??=new A(`Request was closed`)),n.reject?.(t),n.resolve=void 0,n.reject=void 0,n.eventStreamMessageQueue?.close(t),n.octetStreamMessageQueue?.close(t),n.eventStreamMessageQueue=void 0,n.octetStreamMessageQueue=void 0;let r=[n.eventStreamTransmitter?.cancel(),n.octetStreamTransmitter?.cancel()];n.eventStreamTransmitter=void 0,n.octetStreamTransmitter=void 0,n.removeAbortListener?.(),n.removeAbortListener=void 0,await Promise.all(r)}async abortById(e,t){let n=this.requests.get(e);if(!n)return;this.requests.delete(e),t??=new A(`Request was aborted`),n.reject?.(t),n.resolve=void 0,n.reject=void 0,n.eventStreamMessageQueue?.abort(t),n.octetStreamMessageQueue?.abort(t),n.eventStreamMessageQueue=void 0,n.octetStreamMessageQueue=void 0;let r=[this.send({id:e,kind:`cancel`}),n.eventStreamTransmitter?.cancel(),n.octetStreamTransmitter?.cancel()];n.eventStreamTransmitter=void 0,n.octetStreamTransmitter=void 0,n.removeAbortListener?.(),n.removeAbortListener=void 0,await Promise.all(r)}};function br(e){return!(!N(e)||typeof e.id!=`string`||typeof e.kind!=`string`||e.binary!==void 0&&!(e.binary instanceof Uint8Array)&&!(e.binary instanceof Blob))}function xr(e){return!(e.kind!==`response`||!N(e.json)||e.json.status!==void 0&&!At(e.json.status)||e.json.headers!==void 0&&!kt(e.json.headers))}function Sr(e){return e.kind===`cancel`&&e.json===void 0&&e.binary===void 0}function Cr(e){return!(e.kind!==`event-stream`||e.binary!==void 0||!N(e.json)||e.json.id!==void 0&&typeof e.json.id!=`string`||e.json.event!==void 0&&e.json.event!==`message`&&e.json.event!==`error`&&e.json.event!==`close`||e.json.retry!==void 0&&!Number.isFinite(e.json.retry)||e.json.comments!==void 0&&!(Array.isArray(e.json.comments)&&e.json.comments.every(e=>typeof e==`string`)))}function wr(e){return e.kind===`octet-stream`&&N(e.json)&&(e.json.close===void 0||typeof e.json.close==`boolean`)}function Tr(e){return e.kind===`stream/cancel`&&e.json===void 0&&e.binary===void 0}function Er(e){return xr(e)||Sr(e)||Cr(e)||wr(e)||Tr(e)}var Dr=255,Or=new TextEncoder,kr=new TextDecoder;async function Ar(e,t={}){if(e.binary===void 0){let n=M(e);return t.prefix?t.prefix+n:n}let n=M({...e,binary:void 0}),r=Or.encode(t.prefix?t.prefix+n:n),i=e.binary instanceof Blob?new Uint8Array(await e.binary.arrayBuffer()):e.binary,a=new Uint8Array(r.length+1+i.length);return a.set(r,0),a[r.length]=Dr,a.set(i,r.length+1),a}function jr(e,t={}){try{if(typeof e==`string`){if(t.prefix){if(!e.startsWith(t.prefix))return{matched:!1};e=e.slice(t.prefix.length)}let n=JSON.parse(e);return br(n)?{matched:!0,message:n}:{matched:!1}}if(t.prefix){let n=Or.encode(t.prefix);for(let t=0;t<n.length;t++)if(e[t]!==n[t])return{matched:!1};e=e.subarray(n.length)}let n=e.indexOf(Dr);if(n===-1){let t=JSON.parse(kr.decode(e));return br(t)?{matched:!0,message:t}:{matched:!1}}let r=e.subarray(0,n),i=e.subarray(n+1),a=JSON.parse(kr.decode(r));return br(a)?(a.binary=i,{matched:!0,message:a}):{matched:!1}}catch{return{matched:!1}}}var Mr=0,Nr=1,Pr=class{connect;reconnectEnabled;reconnectDelay;reconnectMaxAttempt;reconnectOnCloseEnabled;reconnectOnCloseDelay;encodePeerMessageOptions;decodePeerMessageOptions;constructor(e){this.connect=e.connect,this.reconnectEnabled=e.reconnect?.enabled??!1,this.reconnectDelay=e.reconnect?.delay??(e=>e.attempt===1?0:2e3),this.reconnectMaxAttempt=e.reconnect?.maxAttempt??1/0,this.reconnectOnCloseEnabled=this.reconnectEnabled&&(e.reconnect?.onClose?.enabled??!1),this.reconnectOnCloseDelay=e.reconnect?.onClose?.delay??0,this.encodePeerMessageOptions=e.encodePeerMessage,this.decodePeerMessageOptions=e.decodePeerMessage,e.connectOnInit&&this.getConnectedPeer().catch(()=>{})}async send(e,t,n){return(await Ze(e.signal,()=>this.getConnectedPeer())).request(e)}totalAttempt=0;attempt=0;current;async getConnectedPeer(){let e=this.current,t=await e;if(t&&(!this.reconnectEnabled||t.websocket.readyState===Nr))return this.attempt=0,t.peer;if(e!==this.current)return this.getConnectedPeer();if(this.attempt>=this.reconnectMaxAttempt)throw new A(`WebSocket reconnect failed after ${this.attempt} attempt(s)`);return this.current=(async()=>{this.totalAttempt+=1,this.attempt+=1;let e={totalAttempt:this.totalAttempt,attempt:this.attempt};await ge(this.reconnectDelay(e));let t=await this.connect(e),n=new yr(async e=>{let n=await Ar(e,this.encodePeerMessageOptions);return t.send(n)}),r;return t.readyState===Mr&&(r=Ge(),t.addEventListener(`open`,()=>{r?.resolve()})),t.addEventListener(`message`,se(async e=>{let t=jr(e.data instanceof Blob?await xe(e.data):Se(e.data),this.decodePeerMessageOptions);t.matched&&Er(t.message)&&n.message(t.message)})),t.addEventListener(`close`,async e=>{r?.resolve(),this.reconnectOnCloseEnabled&&ge(this.reconnectOnCloseDelay).then(()=>this.getConnectedPeer()).catch(()=>{});let t=new A(`WebSocket closed (code ${e.code}: ${e.reason})`);await n.close(t)}),await r?.promise,r=void 0,{websocket:t,peer:n}})().catch(e=>{if(!this.reconnectEnabled)throw e}),this.getConnectedPeer()}},Fr=class extends on{constructor(e){let t=new cn(e),n=new Pr(e);super(t,n,e)}},Ir=E.string().regex(/^[A-Za-z0-9_-]{1,128}$/u),Lr=E.string().max(349528).regex(/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/u),Rr=e=>[...e].some(e=>(e.codePointAt(0)??0)<32),zr=E.object({path:E.string().min(1).max(1024).refine(e=>new TextEncoder().encode(e).byteLength<=1024,{message:`Preview path exceeds 1024 UTF-8 bytes`}),contentType:E.string().min(1).max(255).refine(e=>!/[\r\n]/u.test(e),{message:`Invalid preview content type`}),size:E.number().int().min(0).max(1048576),chunks:E.number().int().min(0).max(4),sha256:E.string().regex(/^[a-f0-9]{64}$/u)}),Br=E.object({files:E.array(zr).max(100)}).superRefine((e,t)=>{let n=new Set,r=0;for(let[i,a]of e.files.entries())(a.path.startsWith(`/`)||a.path.includes(`\\`)||a.path.split(`/`).some(e=>!e||e===`.`||e===`..`)||Rr(a.path)||n.has(a.path))&&t.addIssue({code:`custom`,message:`Invalid or duplicate preview path`,path:[`files`,i,`path`]}),a.chunks!==Math.ceil(a.size/262144)&&t.addIssue({code:`custom`,message:`Invalid preview chunk count`,path:[`files`,i,`chunks`]}),n.add(a.path),r+=a.size;n.has(`client.js`)||t.addIssue({code:`custom`,message:`Missing client.js`}),r>10485760&&t.addIssue({code:`custom`,message:`Preview build exceeds 10 MiB`})}),Vr=E.discriminatedUnion(`type`,[E.object({type:E.literal(`begin`),buildId:Ir,revision:E.number().int().positive(),manifest:Br}),E.object({type:E.literal(`chunk`),revision:E.number().int().positive(),fileIndex:E.number().int().min(0).max(99),chunkIndex:E.number().int().min(0).max(3),base64:Lr}),E.object({type:E.literal(`complete`),revision:E.number().int().positive()}),E.object({type:E.literal(`ended`)})]);E.object({sessionId:E.uuid(),expiresAt:E.string().min(1),websocketUrl:E.url(),token:E.string().min(1)});var Hr=E.object({manifest:Br}),Ur=E.object({buildId:Ir,fileIndex:E.number().int().min(0).max(99),chunkIndex:E.number().int().min(0).max(3),base64:Lr}),Wr=E.object({buildId:Ir}),Gr=E.object({accepted:E.literal(!0)}),Kr=E.object({revision:E.number().int().positive()});function qr(e){let t=Xt(new Fr({connect:()=>e}));return{beginBuild:async e=>Wr.parse(await t.beginBuild(Hr.parse(e))),uploadChunk:async e=>Gr.parse(await t.uploadChunk(Ur.parse(e))),commitBuild:async e=>Kr.parse(await t.commitBuild({buildId:Ir.parse(e.buildId)})),heartbeat:async()=>Gr.parse(await t.heartbeat()),subscribe:async()=>{let e=await t.subscribe();return(async function*(){for await(let t of e)yield Vr.parse(t)})()}}}function Jr(e){let t=URL.canParse(e.url)?new URL(e.url):void 0;return Xt(new fn({origin:t?.origin,async fetch(t,n){let r=await(typeof e.headers==`function`?e.headers():e.headers),i=new Headers(r);return new Headers(n.headers).forEach((e,t)=>{i.set(t,e)}),(e.fetch??fetch)(t,{...n,headers:i})},url:t?`${t.pathname}${t.search}${t.hash}`:e.url}))}var Yr=32,Xr=64,Zr=255,Qr=16,$r=100,ei=16384,ti=512,ni=/^[A-Za-z][A-Za-z0-9_-]{0,63}$/u;function ri(e){if(!ni.test(e))throw TypeError(`TailorKit scope names must start with a letter and contain only letters, numbers, "_", or "-".`);return e}function ii(e){if(!li(e))throw TypeError(`TailorKit scope values must be nonempty plain JSON objects.`);let t=0,n=si(e,0,!0,new Set,()=>{if(t+=1,t>ti)throw TypeError(`TailorKit scope values may contain at most ${ti} JSON values.`)}),r=JSON.stringify(n);if(r===void 0||new TextEncoder().encode(r).byteLength>ei)throw TypeError(`TailorKit scope values may not exceed ${ei} bytes of JSON.`);return n}function ai(e){if(!li(e))throw TypeError(`TailorKit scope identity must contain a name and value.`);if(ci(e,`TailorKit scope identity must contain data properties.`).length!==2||!Object.hasOwn(e,`name`)||!Object.hasOwn(e,`value`))throw TypeError(`TailorKit scope identity must contain only a name and value.`);let t=Object.getOwnPropertyDescriptor(e,`name`)?.value,n=Object.getOwnPropertyDescriptor(e,`value`)?.value;if(typeof t!=`string`)throw TypeError(`TailorKit scope identity must contain a name and value.`);return ri(t),{name:t,value:ii(n)}}function oi(e,t){let n=t??Object.keys(e);if(n.length===0)throw TypeError(`At least one TailorKit scope must be selected.`);let r=[],i=new Set;for(let t of n){if(ri(t),i.has(t))continue;if(i.add(t),!Object.hasOwn(e,t))throw TypeError(`TailorKit scope "${t}" is not available for this request.`);let n=e[t];if(!n)throw TypeError(`TailorKit scope "${t}" is not available for this request.`);r.push({name:t,value:n})}if(r.length===0)throw TypeError(`At least one TailorKit scope must be selected.`);return r}function si(e,t,n,r,i){if(i(),e===null||typeof e==`boolean`||typeof e==`string`){if(typeof e==`string`&&e.length>Zr)throw TypeError(`TailorKit scope strings may not exceed ${Zr} characters.`);return e}if(typeof e==`number`){if(!Number.isFinite(e)||Number.isInteger(e)&&!Number.isSafeInteger(e))throw TypeError(`TailorKit scope numbers must be finite and safe when integral.`);if(Object.is(e,-0))throw TypeError(`TailorKit scope numbers may not be negative zero.`);return e}if(typeof e!=`object`)throw TypeError(`TailorKit scope values must contain only JSON values.`);if(t>Qr)throw TypeError(`TailorKit scope values may be nested at most ${Qr} levels deep.`);if(r.has(e))throw TypeError(`TailorKit scope values may not contain cycles.`);if(r.add(e),Array.isArray(e)){if(Object.getPrototypeOf(e)!==Array.prototype)throw TypeError(`TailorKit scope arrays must be standard arrays.`);if(e.length>$r)throw TypeError(`TailorKit scope arrays may contain at most ${$r} items.`);let n=Reflect.ownKeys(e);if(n.length!==e.length+1||!n.includes(`length`)||n.some(e=>typeof e!=`string`))throw TypeError(`TailorKit scope arrays must be dense and have no extra properties.`);let a=[];for(let n=0;n<e.length;n+=1){let o=Object.getOwnPropertyDescriptor(e,String(n));if(!o?.enumerable||!(`value`in o))throw TypeError(`TailorKit scope arrays must contain enumerable data items.`);a.push(si(o.value,t+1,!1,r,i))}return r.delete(e),Object.freeze(a)}if(!li(e))throw TypeError(`TailorKit scope objects must be plain JSON objects.`);let a=ci(e,`TailorKit scope objects must contain data properties.`);if(n&&a.length===0)throw TypeError(`TailorKit scope values must be nonempty plain JSON objects.`);if(a.length>Yr)throw TypeError(`TailorKit scope objects may contain at most ${Yr} properties.`);let o=Object.fromEntries(a.sort(([e],[t])=>ui(e,t)).map(([e,n])=>[e,si(n,t+1,!1,r,i)]));return r.delete(e),Object.freeze(o)}function ci(e,t){let n=Reflect.ownKeys(e);if(n.some(e=>typeof e!=`string`))throw TypeError(t);let r=[];for(let i of n){if(i===`__proto__`)throw TypeError(`TailorKit scope property names may not be "__proto__".`);if(i.length===0||i.length>Xr)throw TypeError(`TailorKit scope property names must be 1 to ${Xr} characters.`);let n=Object.getOwnPropertyDescriptor(e,i);if(!n?.enumerable||!(`value`in n))throw TypeError(t);r.push([i,n.value])}return r}function li(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function ui(e,t){return e<t?-1:+(e>t)}var di=E.string().regex(/^[A-Za-z0-9_-]{43}$/u);E.array(di).max(20),E.enum([`accept`,`cancel`]);var W=fr.$context();function fi(e){if(!e.tailorkit)throw new z(`UNAUTHORIZED`,{message:`Unauthorized.`});return e.tailorkit}function G(e,t){let n=fi(e).scopes,r=t===void 0?Object.keys(n):[t];if(r.length!==1)throw new z(`BAD_REQUEST`,{message:`Choose one TailorKit scope for this operation.`});try{return oi(n,r)[0]}catch(e){throw new z(`BAD_REQUEST`,{message:e instanceof Error?e.message:`Invalid TailorKit scope selection.`})}}function pi(e,t){try{return oi(fi(e).scopes,t)}catch(e){throw new z(`BAD_REQUEST`,{message:e instanceof Error?e.message:`Invalid TailorKit scope selection.`})}}function mi(e){let[t,n]=e.headers.get(`authorization`)?.split(` `)??[];if(t!==`Bearer`||!n)throw new z(`UNAUTHORIZED`,{message:`Missing CLI deploy token.`});return n}var K=W.middleware(async({context:e,next:t})=>{let n=await rr({body:{deployToken:mi(e.request)},client:e.platform,headers:e.platformHeaders}),r=`data`in n?n.data:n;if(!r?.scope)throw new z(`UNAUTHORIZED`,{message:`Invalid CLI deploy token.`});let i;try{let t=ai(r.scope);if(!Object.hasOwn(e.scopeSchemas,t.name))throw TypeError(`CLI token uses an undeclared scope.`);i=Object.freeze({[t.name]:t.value})}catch{throw new z(`UNAUTHORIZED`,{message:`Invalid CLI deploy token.`})}return t({context:{tailorkit:{scopes:i}}})}),hi=W.middleware(async({context:e,next:t})=>{let n=await e.authenticate({request:e.request});if(!n)throw new z(`UNAUTHORIZED`,{message:`Unauthorized.`});return t({context:{tailorkit:n}})}),gi=async(e,t)=>{if(e===void 0)return t;let n=await e[`~standard`].validate(t);if(`issues`in n)throw new z(`BAD_REQUEST`,{message:`Invalid TailorKit payload`});return n.value};W.use(hi).input(E.object({input:E.unknown().optional(),path:E.string()})).handler(async({context:e,input:t})=>{let n=e.actions.get(t.path);if(n===void 0)throw new z(`NOT_FOUND`,{message:`Action not found`});let r=await gi(n.definition.input,t.input),i=await n.handler({context:fi(e).actionContext,input:r});return gi(n.definition.output,i)});var _i=E.object({page:E.number().int().min(1).optional(),pageSize:E.number().int().min(1).max(100).optional()}),vi=E.object({description:E.string().nullable(),name:E.string()});W.use(K).input(vi).handler(async({context:e,input:t})=>await Yn({body:{...t,scope:G(e)},client:e.platform,headers:e.platformHeaders})),W.use(K).input(E.object({appId:E.string()})).handler(async({context:e,input:t})=>await Xn({body:{scope:G(e)},client:e.platform,headers:e.platformHeaders,path:{appId:t.appId}})),W.use(K).input(E.object({appId:E.string(),deploymentId:E.string()})).handler(async({context:e,input:t})=>await Qn({body:{deploymentId:t.deploymentId,scope:G(e)},client:e.platform,headers:e.platformHeaders,path:{appId:t.appId}})),W.use(K).input(E.object({appId:E.string(),scopes:E.array(E.string()).optional()})).handler(async({context:e,input:t})=>await Jn({body:{scopes:pi(e,t.scopes)},client:e.platform,headers:e.platformHeaders,path:{appId:t.appId}})),W.use(K).input(_i.extend({scopes:E.array(E.string()).optional()}).optional()).handler(async({context:e,input:t})=>await qn({client:e.platform,headers:e.platformHeaders,body:{page:t?.page,pageSize:t?.pageSize,scopes:pi(e,t?.scopes)}})),W.use(K).input(E.object({appId:E.string()}).extend(vi.shape)).handler(async({context:e,input:t})=>await Zn({body:{description:t.description,name:t.name,scope:G(e)},client:e.platform,headers:e.platformHeaders,path:{appId:t.appId}}));var yi=async e=>{try{return await e}catch(e){throw typeof e==`string`&&e.toLowerCase()===`unauthorized`?new z(`UNAUTHORIZED`,{message:`TailorKit platform rejected the host project key. Check TAILORKIT_PROJECT_KEY.`}):e}};W.use(hi).input(E.object({scope:E.string().min(1),userCode:E.string().min(1)})).handler(async({context:e,input:t})=>await yi($n({body:{scope:G(e,t.scope),userCode:t.userCode},client:e.platform,headers:e.platformHeaders}))),W.use(hi).input(E.object({userCode:E.string().min(1)})).handler(async({context:e,input:t})=>await yi(er({body:{userCode:t.userCode},client:e.platform,headers:e.platformHeaders}))),W.input(E.object({deviceCode:E.string().min(1)})).handler(async({context:e,input:t})=>await yi(tr({body:{deviceCode:t.deviceCode},client:e.platform,headers:e.platformHeaders}))),W.input(E.object({})).handler(async({context:e})=>await yi(nr({body:{},client:e.platform,headers:e.platformHeaders}))),W.input(E.object({})).use(K).handler(({context:e})=>({scope:G(e)}));var bi=E.object({page:E.number().int().min(1).optional(),pageSize:E.number().int().min(1).max(100).optional()}),xi=E.object({checksum:E.string(),contentLength:E.number().int().min(1),contentType:E.literal(`application/javascript`),encoding:E.literal(`utf-8`),objectKey:E.literal(`client.js`)}),Si=xi.extend({objectKey:E.literal(`server.js`)}),Ci=E.object({checksum:E.string(),contentLength:E.number().int().min(1).max(262144),contentType:E.enum([`image/svg+xml`,`image/png`,`image/webp`])}),wi=E.tuple([xi]),Ti=E.object({dark:Ci.optional(),light:Ci.optional()}).optional(),Ei=e=>{if(e instanceof Error)return e.message;if(typeof e==`string`)return e;if(e&&typeof e==`object`&&`message`in e){let t=e.message;return typeof t==`string`?t:void 0}},Di=e=>Ei(e)?.toLowerCase().includes(`not found`)??!1,Oi=e=>{throw Di(e)?new z(`NOT_FOUND`,{message:`App not found.`}):e};W.use(K).input(E.object({appId:E.string(),assets:wi,server:Si.optional(),logos:Ti})).handler(async({context:e,input:t})=>{try{return await or({body:{appId:t.appId,assets:t.assets,server:t.server,logos:t.logos,scope:G(e)},client:e.platform,headers:e.platformHeaders})}catch(e){Oi(e)}}),W.use(K).input(E.object({deploymentId:E.string(),scopes:E.array(E.string()).optional()})).handler(async({context:e,input:t})=>await ar({body:{scopes:pi(e,t.scopes)},client:e.platform,headers:e.platformHeaders,path:{deploymentId:t.deploymentId}})),W.use(K).input(E.object({appId:E.string(),scopes:E.array(E.string()).optional()}).merge(bi)).handler(async({context:e,input:t})=>await ir({client:e.platform,headers:e.platformHeaders,body:{appId:t.appId,page:t.page,pageSize:t.pageSize,scopes:pi(e,t.scopes)}})),W.use(K).input(E.object({deploymentId:E.string(),rollout:E.boolean().optional()})).handler(async({context:e,input:t})=>await sr({body:{scope:G(e),rollout:t.rollout},client:e.platform,headers:e.platformHeaders,path:{deploymentId:t.deploymentId}}));function ki(e){if(!e||typeof e!=`object`)return!1;if(`data`in e&&e.data&&typeof e.data==`object`&&`reason`in e.data&&e.data.reason===`ACTIVE_PREVIEW_EXISTS`)return!0;let t=`message`in e&&typeof e.message==`string`?e.message:``;return/active preview already exists|preview is already running/iu.test(t)?!0:`error`in e&&ki(e.error)||`cause`in e&&ki(e.cause)}W.use(K).input(E.object({appId:E.string().min(1),replaceActive:E.boolean().optional()})).handler(async({context:e,input:t})=>{try{return await cr({body:{appId:t.appId,deployToken:mi(e.request),replaceActive:t.replaceActive},client:e.platform,headers:e.platformHeaders})}catch(e){throw ki(e)?new z(`CONFLICT`,{message:"A preview is already running for this app. Run `pnpm tailorkit preview --replace` to end it and start a new one."}):e}}),W.use(K).input(E.object({sessionId:E.uuid()})).handler(async({context:e,input:t})=>await lr({body:{deployToken:mi(e.request)},client:e.platform,headers:e.platformHeaders,path:{sessionId:t.sessionId}}));var Ai=e=>{let t=new URL(e);return t.hash=``,t.search=``,t.pathname=t.pathname.replace(/\/+$/u,``),t.toString().replace(/\/$/u,``)},ji=E.object({name:E.string().min(1),value:E.record(E.string(),E.unknown())}),Mi=E.record(E.string(),E.string()),Ni=E.preprocess(e=>typeof e==`object`&&e&&!Array.isArray(e)&&!Object.hasOwn(e,`value`)&&Mi.safeParse(e).success?void 0:e,ji.optional()),Pi=T.join(w(),`.tailorkit`,`auth.json`),Fi=18e5,Ii=2e3,Li=E.object({deployToken:E.string().min(1),scope:Ni}),Ri=E.object({deployToken:E.string().min(1),scope:ji}),zi=E.object({scope:ji}),Bi=E.object({hosts:E.record(E.string(),Li).optional()}).passthrough(),Vi=e=>new Promise(t=>setTimeout(t,e)),Hi=e=>{if(e&&typeof e==`object`&&`error`in e&&e.error!==void 0)throw e.error},Ui=async()=>{try{return Bi.parse(JSON.parse(await v(Pi,`utf-8`)))}catch(e){if(e&&typeof e==`object`&&`code`in e&&e.code===`ENOENT`)return{};throw e}},Wi=async e=>{await g(T.dirname(Pi),{recursive:!0}),await C(Pi,`${JSON.stringify(e,null,2)}\n`,{encoding:`utf-8`,mode:384}),await h(Pi,384)},Gi=async e=>{let t=await te(e.configPath,e.cwd);if(t.config.host)return Ai(t.config.host);throw Error(`Missing TailorKit host URL. Set host in tailorkit.config.ts.`)},Ki=(e,t)=>{let n=new URL(e);return n.pathname=`${n.pathname.replace(/\/+$/u,``)}/cli-auth/approve`,n.search=``,n.searchParams.set(`code`,t),n.hash=``,n.toString()},qi=class extends Error{constructor(e){super(`Not logged in for ${e}. Run tailorkit login after checking host in tailorkit.config.ts.`),this.name=`NotLoggedInError`}},Ji=async(e,t)=>{let n=await Ui();await Wi({...n,hosts:{...n.hosts,[e]:t}})},Yi=async e=>{let t=await Ui();if(!t.hosts?.[e])return!1;let{[e]:n,...r}=t.hosts,i={...t,hosts:r};return Object.keys(r).length===0?(await x(Pi,{force:!0}),!0):(await Wi(i),!0)},Xi=async e=>(await Ui()).hosts?.[e],Zi=async(e,t)=>{let n=await Gi(e),r=Jr({url:n}),i=await r.cliAuth.start({});Hi(i);let a=`data`in i?i.data:i,o=new Date(a.expiresAt),s=Date.now()+(e.timeout??Fi);for(t({expiresAt:o,hostUrl:n,userCode:a.userCode});Date.now()<s&&Date.now()<o.getTime();){await Vi(Ii);let e=await r.cliAuth.poll({deviceCode:a.deviceCode});Hi(e);let t=`data`in e?e.data:e;switch(t.status){case`pending`:continue;case`denied`:throw Error(`CLI login was denied.`);case`expired`:throw Error(`CLI login expired.`);case`approved`:{let e=Ri.parse(t);return await Ji(n,{deployToken:e.deployToken,scope:e.scope}),{hostUrl:n,scope:e.scope}}default:throw Error(`Unexpected CLI login status.`)}}throw Error(`Timed out waiting for CLI login approval.`)},Qi=async e=>{let t=await Gi(e),n=await Xi(t);if(!n?.deployToken)throw new qi(t);let r=Jr({headers:{authorization:`Bearer ${n.deployToken}`},url:t}),i;try{let e=await r.cliAuth.verifyToken({});Hi(e),i=zi.parse(`data`in e?e.data:e)}catch(e){throw typeof e==`object`&&e&&`code`in e&&e.code===`UNAUTHORIZED`?new qi(t):e}return await Ji(t,{deployToken:n.deployToken,scope:i.scope}),{hostUrl:t,scope:i.scope}},$i=async e=>{let t=await Gi(e);return{hostUrl:t,removed:await Yi(t)}},ea=1048576,ta=ae(O),na={png:`image/png`,svg:`image/svg+xml`,webp:`image/webp`},ra=e=>{if(e&&typeof e==`object`&&`error`in e&&e.error!==void 0)throw e.error;let t=e&&typeof e==`object`&&`data`in e?e.data:e;return t&&typeof t==`object`&&`body`in t?t.body:t},ia=e=>{if(e instanceof Error)return e.message;if(typeof e==`string`)return e;if(e&&typeof e==`object`&&`message`in e){let t=e.message;return typeof t==`string`?t:void 0}},aa=e=>ia(e)?.toLowerCase().includes(`not found`)??!1,oa=async(e,t)=>{let n=T.join(e,`tailorkit-upload.json`);return t.parse(JSON.parse(await v(n,`utf-8`)))},sa=e=>D(`sha256`).update(e).digest(`hex`),ca=async e=>{try{let t=JSON.parse(await v(T.join(e,`package.json`),`utf-8`));if(typeof t.name==`string`&&t.name.trim())return t.name.trim()}catch{}return T.basename(e)},la=async(e,t)=>{let n=await v(e,`utf-8`),r=` appId: ${JSON.stringify(t)},`;if(/^\s*appId\s*:/mu.test(n)){await C(e,n.replace(/^(\s*)appId\s*:\s*(['"]).*?\2\s*,?/mu,`$1appId: ${JSON.stringify(t)},`),`utf-8`);return}let i=/(export\s+default\s+\{)(\r?\n)/u;if(i.test(n)){await C(e,n.replace(i,`$1$2${r}$2`),`utf-8`);return}let a=/(export\s+default\s+(?:defineTailorKitConfig|defineConfig)\(\s*\{)(\r?\n)/u;if(a.test(n)){await C(e,n.replace(a,`$1$2${r}$2`),`utf-8`);return}let{parseSync:o}=await import(`vite`),{program:s}=o(e,n),c=s.body.find(e=>e.type===`ExportDefaultDeclaration`);if(c?.declaration.type===`Identifier`){let t=c.declaration.name,i=s.body.filter(e=>e.type===`VariableDeclaration`).flatMap(e=>e.declarations).find(e=>e.id.type===`Identifier`&&e.id.name===t)?.init;for(;i?.type===`TSSatisfiesExpression`||i?.type===`TSAsExpression`;)i=i.expression;if(i?.type===`ObjectExpression`){let t=n.slice(i.start),a=/^(\{)(\r?\n)/u;if(a.test(t)){await C(e,n.slice(0,i.start)+t.replace(a,`$1$2${r}$2`),`utf-8`);return}}}throw Error(`Could not write appId to ${e}. Add appId: ${JSON.stringify(t)} manually.`)},ua=async(e,t)=>{if(!e.uploadUrl)return;if(t.byteLength>ea)throw Error(`Deployment asset exceeds ${ea} bytes.`);let n=new Headers(e.headers);n.has(`content-type`)||n.set(`content-type`,`application/javascript`);let r=await fetch(e.uploadUrl,{body:new Uint8Array(t),headers:n,method:`PUT`});if(!r.ok)throw Error(`Asset upload failed with ${r.status} ${r.statusText}.`)},da=e=>{for(let t of[`tsconfig.json`,`jsconfig.json`]){let n=T.join(e,t);if(ie(n))return n}},fa=async e=>{let t=da(e.root);if(!t)return;let n=r(T.join(e.root,`package.json`)),i;try{i=T.join(T.dirname(n.resolve(`typescript/package.json`)),`bin/tsc`)}catch{return}let a=T.resolve(e.root,e.config.client?.entry??`src/client.ts`),o=await _(T.join(e.root,`.tailorkit-typecheck-`));try{let n=T.join(o,`tsconfig.json`);await C(n,JSON.stringify({extends:t,compilerOptions:{noEmit:!0,incremental:!1,composite:!1},files:[a,...e.config.server?[T.resolve(e.root,e.config.server.entry??`src/server.ts`)]:[]],include:[]})),await ae(ne)(process.execPath,[i,`--noEmit`,`--project`,n,`--pretty`,`false`],{cwd:e.root,maxBuffer:4194304})}catch(t){let n=t;return{command:`tsc --noEmit ${T.relative(e.root,a)}`,exitCode:typeof n.code==`number`?n.code:null,output:`${n.stdout??``}${n.stderr??``}`.trim()||n.message||String(t)}}finally{await x(o,{recursive:!0,force:!0})}},pa=async e=>{let t=await te(e.configPath,e.cwd),n=t.config.appId,r=!1,i=await Qi(e).catch(t=>{if(t instanceof qi&&e.onLoginRequired)return e.onLoginRequired();throw t}),a=await Xi(i.hostUrl);if(!a?.deployToken)throw Error(`Not logged in for ${i.hostUrl}. Run tailorkit login after checking host in tailorkit.config.ts.`);let{buildApp:o,tailorkitUploadManifestSchema:s}=await import(`@tailorkit/app/builder`),[c,l]=await Promise.allSettled([o(e),fa(t)]);if(c.status===`rejected`)throw c.reason;if(l.status===`rejected`)throw l.reason;if(l.value!==void 0&&!await e.onTypecheckFailed?.(l.value))throw Error(`Deployment cancelled because type check failed.`);let u=T.resolve(t.root,e.outDir??t.config.build?.outDir??`.tailorkit`),d=await oa(u,s),f=T.join(u,d.assets.client),p=await v(f),m=await ta(p),h=d.assets.server?await v(T.join(u,d.assets.server)):void 0,g=Object.entries(d.assets.logos??{}),_=await Promise.all(g.map(async([e,t])=>{let n=await v(T.join(u,t)),r=na[T.extname(t).slice(1)];if(!r)throw Error(`Unsupported ${e} logo format.`);return{content:n,contentType:r,filename:t,variant:e}}));if(p.byteLength>ea)throw Error(`Combined client assets are ${p.byteLength} bytes and cannot exceed ${ea} bytes.`);let y=Jr({headers:{authorization:`Bearer ${a.deployToken}`},url:i.hostUrl}),b=async a=>{let o=await ca(t.root);if(!await e.onMissingAppId?.({appName:o,configPath:t.filepath,hostUrl:i.hostUrl,reason:a}))throw Error(`Deployment cancelled.`);return n=ra(await y.apps.create({description:null,name:o})).id,r=!0,await la(t.filepath,n),n};n||=await b(`missing`);let x=async e=>ra(await y.deployments.create({appId:e,assets:[{checksum:sa(p),contentLength:p.byteLength,contentType:`application/javascript`,encoding:`utf-8`,objectKey:`client.js`}],server:h?{checksum:sa(h),contentLength:h.byteLength,contentType:`application/javascript`,encoding:`utf-8`,objectKey:`server.js`}:void 0,logos:_.length>0?Object.fromEntries(_.map(e=>[e.variant,{checksum:sa(e.content),contentLength:e.content.byteLength,contentType:e.contentType}])):void 0})),S;try{S=await x(n)}catch(e){if(!aa(e))throw e;n=await b(`not-found`),S=await x(n)}if(S.assets.length!==1||!S.assets[0])throw Error(`Deployment did not return an upload URL for the client asset.`);if(h&&!S.server)throw Error(`Deployment did not return an upload URL for the server asset.`);await Promise.all([...h&&S.server?[ua(S.server,h)]:[],ua(S.assets[0],p),..._.map(e=>{let t=S.logos?.[e.variant];if(!t)throw Error(`Deployment did not return an upload URL for the ${e.variant} logo.`);return ua(t,e.content)})]);let C=ra(await y.deployments.publish({deploymentId:S.deployment.id,rollout:!0})),w=await Promise.all(_.map(async e=>({gzipSize:(await ta(e.content)).byteLength,path:e.filename,size:e.content.byteLength}))),ee=[];if(h&&d.assets.server){let e=await ta(h);ee.push({gzipSize:e.byteLength,path:d.assets.server,size:h.byteLength})}return{appId:n,createdApp:r,deploymentId:C.id,hostUrl:i.hostUrl,status:C.status,uploadedFiles:[{gzipSize:m.byteLength,path:d.assets.client,size:p.byteLength},...ee,...w]}};function ma(e,t){return e===`/`||e===t||t.startsWith(`${e}/`)}var ha=E.enum([`object`,`array`,`string`,`number`,`integer`,`boolean`,`null`]),q=E.object({$schema:E.enum([`https://json-schema.org/draft/2020-12/schema`]).optional(),type:E.union([ha,E.array(E.string())]).optional(),properties:E.lazy(()=>E.record(E.string(),q)).optional(),required:E.array(E.string()).optional(),additionalProperties:E.union([E.boolean(),E.lazy(()=>q)]).optional(),enum:E.array(E.unknown()).optional(),const:E.unknown().optional(),items:E.union([E.boolean(),E.lazy(()=>q)]).optional(),prefixItems:E.lazy(()=>E.array(q)).optional(),minItems:E.number().int().nonnegative().optional(),maxItems:E.number().int().nonnegative().optional(),propertyNames:E.lazy(()=>q).optional(),minimum:E.number().optional(),maximum:E.number().optional(),anyOf:E.lazy(()=>E.array(q)).optional(),oneOf:E.lazy(()=>E.array(q)).optional(),allOf:E.lazy(()=>E.array(q)).optional(),not:E.lazy(()=>q).optional()}).strict(),ga=E.object({async:E.boolean().optional(),input:q.optional(),output:q.optional()}),_a=E.object({fields:q.optional(),callbacks:E.record(E.string(),ga),children:E.boolean()}),va=E.record(E.string(),_a),ya=E.string().regex(/^\/.*$/u,{message:`View keys must start with "/".`}),ba=E.object({context:q.optional(),contextOptional:E.boolean().optional()}).strict(),xa=E.record(ya,ba),Sa=E.object({input:E.record(E.string(),E.unknown()).optional(),output:E.record(E.string(),E.unknown()).optional()}),Ca=E.lazy(()=>E.record(E.string(),E.union([Sa,Ca])));E.object({version:E.literal(1),slots:E.record(E.string().min(1),E.object({views:E.array(E.string().startsWith(`/`))})).default({}),actions:Ca.default({}),components:va,views:xa.default({})}).superRefine((e,t)=>{for(let[n,r]of Object.entries(e.slots))r.views.forEach((r,i)=>{Object.hasOwn(e.views,r)||t.addIssue({code:`custom`,path:[`slots`,n,`views`,i],message:`Unknown view "${r}".`})})});var wa=`/* eslint-disable */
57
16
 
58
17
  // This file was automatically generated by TailorKit.
59
18
  // Documentation: https://tailorkit.dev/docs
@@ -61,27 +20,27 @@ data: `)}
61
20
  // Do not make changes to this file directly, as it will be overwritten.
62
21
  // Exclude this file from linting and formatting to avoid checking generated code.
63
22
 
64
- import { createRemoteComponent } from "tailorkit/app";
65
- `,Fi=`Record<string, never>`,Ii=new Set([`Box`,`Flex`,`Grid`,`Inline`]),Li=e=>JSON.stringify(e),Ri=e=>/^[A-Za-z_$][A-Za-z0-9_$]*$/u.test(e)?e:Li(e),zi=e=>typeof e==`string`?Li(e):typeof e==`number`||typeof e==`boolean`||e===null?JSON.stringify(e):`unknown`,Bi=(e,t=0)=>{if(e===void 0)return`unknown`;if(Vi(e))return`never`;if(e.const!==void 0)return zi(e.const);if(e.enum!==void 0&&e.enum.length>0)return e.enum.map(zi).join(` | `);if(e.anyOf!==void 0&&e.anyOf.length>0){let n=e.anyOf.filter(e=>!Vi(e)).map(e=>Bi(e,t)).filter(e=>e!==`never`);return n.length===0?`never`:[...new Set(n)].join(` | `)}let n=Array.isArray(e.type)?e.type[0]:e.type;return n===`string`?`string`:n===`number`||n===`integer`?`number`:n===`boolean`?`boolean`:n===`array`?`${Bi(e.items,t)}[]`:n===`object`?Ui(e,t):`unknown`},Vi=e=>e.not!==void 0&&Object.keys(e.not).length===0,Hi=e=>{let t=e.properties??{},n=Object.values(t);return(Array.isArray(e.type)?e.type.includes(`object`):e.type===`object`)&&n.length>0&&n.every(Vi)},Ui=(e,t)=>{let n=e.properties??{},r=Object.entries(n);if(Hi(e))return`never`;if(r.length===0)return Fi;let i=new Set(e.required),a=` `.repeat(t),o=` `.repeat(t+2),s=[`{`];for(let[e,n]of r){let r=i.has(e)?``:`?`;s.push(`${o}${Ri(e)}${r}: ${Bi(n,t+2)};`)}return s.push(`${a}}`),s.join(`
66
- `)},Wi=e=>{let t=e.replaceAll(/[^A-Za-z0-9_$]/gu,`_`);return/^[A-Za-z_$]/u.test(t)?t:`_${t}`},Gi=e=>`${Wi(e)}Props`,Ki=e=>{let t=Wi(e);return`${t.charAt(0).toUpperCase()}${t.slice(1)}`},qi=e=>{if(e.fields?.properties!==void 0)return e.fields.properties;let t={};for(let n of e.fieldKeys??[])t[n]={};return t},Ji=(e,t)=>{if(e?.anyOf===void 0||e.anyOf.length!==2)return;let[n,r]=e.anyOf.filter(e=>!Vi(e));if(n===void 0||r===void 0)return;let i,a;if(n.type===`object`?(i=r,a=n):r.type===`object`&&(i=n,a=r),i===void 0||a===void 0)return;let o=Bi(i,t);if(o===`never`)return`never`;let s=Object.values(a.properties??{});if(s.length!==0&&!s.map(e=>Bi(e,t)).some(e=>e!==o&&e!==`never`))return`Responsive<${o}>`},Yi=(e,t)=>Ji(e,t)??Bi(e,t),Xi=e=>{let t={},n=new Map,r=new Set;for(let[i,a]of Object.entries(e))if(Ii.has(i))for(let[e,i]of Object.entries(qi(a))){let a=Ki(e),o=Yi(i,0),s=n.get(a);if(s===void 0){n.set(a,o),t[e]=a;continue}s!==o&&r.add(a)}return Object.fromEntries(Object.entries(t).filter(([,e])=>!r.has(e)))},Zi=(e,t)=>{let n=[`export type Breakpoint = "base" | "sm" | "md" | "lg" | "xl" | "2xl";`,`export type Responsive<TValue> = TValue | Partial<Record<Breakpoint, TValue>>;`],r=new Set;for(let[i,a]of Object.entries(e))if(Ii.has(i))for(let[e,i]of Object.entries(qi(a))){let a=t[e];a===void 0||r.has(a)||(r.add(a),n.push(`export type ${a} = ${Yi(i,0)};`))}return n.join(`
67
- `)},Qi=e=>{let t=[`export interface ViewPropsByPath {`];for(let n of Object.keys(e)){let r=Object.entries(e).filter(([e])=>wi(e,n)).filter(([,e])=>e.context!==void 0).map(([,e])=>{let t=Bi(e.context,4);return e.contextOptional?`Partial<${t}>`:t}).filter(e=>e!==`Record<string, never>`),i=(r.length>1?r.map(e=>`(${e})`).join(` & `):r[0]??`Record<string, never>`).split(`
68
- `);t.push(` ${Li(n)}: {`),t.push(` context: ${i[0]}`);for(let e of i.slice(1,-1))t.push(e);let a=i.at(-1);a!==void 0&&i.length>1?t.push(`${a};`):t[t.length-1]=`${t.at(-1)};`,t.push(` };`)}return t.push(`}`),t.join(`
69
- `)},$i=(e,t,n)=>{let r=Gi(e),i=qi(t),a=t.callbacks??{},o=[`export interface ${r} {`];for(let[e,t]of Object.entries(i))o.push(` ${Ri(e)}?: ${n[e]??Yi(t,2)};`);for(let[e,t]of Object.entries(a)){let n=t.input===void 0?``:`input: ${Bi(t.input,2)}`;o.push(` ${Ri(e)}?: (${n}) => void;`)}o.push(`}`),o.push(``);let s=Object.entries(a).map(([e,t])=>`${Li(e)}: ${t.input===void 0?0:1}`),c=s.length>0?`,\n callbacks: { ${s.join(`, `)} }`:``;return o.push(`export const ${Wi(e)} = /* @__PURE__ */ createRemoteComponent<${r}, ${t.children===!0}>(${Li(e)}, {`),o.push(` children: ${t.children===!0}${c},`),o.push(`});`),o.join(`
70
- `)},ea=e=>`input`in e||`output`in e,ta=(e,t=0)=>{let n=` `.repeat(t),r=` `.repeat(t+2),i=[`{`];for(let[n,a]of Object.entries(e))if(ea(a)){let e=Bi(a.input,t+2),o=Bi(a.output,t+2);i.push(`${r}${Ri(n)}: (input: ${e}) => Promise<${o}>;`)}else{let e=ta(a,t+2).split(`
71
- `);i.push(`${r}${Ri(n)}: ${e[0]}`),i.push(...e.slice(1,-1)),i.push(`${e.at(-1)};`)}return i.push(`${n}}`),i.join(`
72
- `)},na=(e,t=[])=>{let n=[`{`];for(let[r,i]of Object.entries(e)){let e=[...t,r];if(ea(i))n.push(` ${Ri(r)}: async (input: unknown) => {`),n.push(` const response = await fetch(${Li(`/api/tailorkit/actions/${e.join(`.`)}`)}, {`),n.push(` body: JSON.stringify(input),`),n.push(` headers: { "content-type": "application/json" },`),n.push(` method: "POST",`),n.push(` });`),n.push(` if (!response.ok) throw new Error(await response.text());`),n.push(` return response.json();`),n.push(` },`);else{let t=na(i,e).split(`
73
- `);n.push(` ${Ri(r)}: ${t[0]}`),n.push(...t.slice(1).map(e=>` ${e}`)),n.push(`,`)}}return n.push(`}`),n.join(`
74
- `)},ra=e=>{let t=ta(e.actions??{}),n=e.components??{},r=Xi(n),i=[Pi,Qi(e.views??{}),`declare module "tailorkit/app" {
23
+ import { createRemoteComponent } from "tailorkit/client";
24
+ `,Ta=`Record<string, never>`,Ea=new Set([`Box`,`Flex`,`Grid`,`Inline`]),J=e=>JSON.stringify(e),Y=e=>/^[A-Za-z_$][A-Za-z0-9_$]*$/u.test(e)?e:J(e),Da=e=>typeof e==`string`?J(e):typeof e==`number`||typeof e==`boolean`||e===null?JSON.stringify(e):`unknown`,X=(e,t=0)=>{if(e===void 0)return`unknown`;if(ka(e))return`never`;if(e.const!==void 0)return Da(e.const);if(e.enum!==void 0&&e.enum.length>0)return e.enum.map(Da).join(` | `);if(e.allOf!==void 0&&e.allOf.length>0){let n=e.allOf.map(e=>X(e,t));return[...new Set(n)].map(e=>e.includes(` | `)?`(${e})`:e).join(` & `)}let n=e.anyOf??e.oneOf;if(n!==void 0&&n.length>0){let e=n.filter(e=>!ka(e)).map(e=>X(e,t)).filter(e=>e!==`never`);return e.length===0?`never`:[...new Set(e)].join(` | `)}if(Array.isArray(e.type)){let n=e.type.map(n=>X({...e,type:n},t));return[...new Set(n)].join(` | `)||`never`}let r=e.type;if(r===`null`)return`null`;if(r===`string`)return`string`;if(r===`number`||r===`integer`)return`number`;if(r===`boolean`)return`boolean`;if(r===`array`){let n=typeof e.items==`object`?e.items:void 0;if(e.prefixItems!==void 0){let r=e.prefixItems.map((n,r)=>{let i=X(n,t);return r<(e.minItems??0)?i:`(${i})?`}),i=(e.minItems??0)-e.prefixItems.length;if(i>0&&e.items===!1)return`never`;for(let e=0;e<i;e+=1)r.push(X(n,t));return e.items!==!1&&r.push(`...${Oa(X(n,t))}`),`[${r.join(`, `)}]`}return Oa(e.items===!1?`never`:X(n,t))}return r===`object`?ja(e,t):`unknown`},Oa=e=>`${e.includes(` | `)||e.includes(` & `)?`(${e})`:e}[]`,ka=e=>e.not!==void 0&&Object.keys(e.not).length===0,Aa=e=>{let t=e.properties??{},n=Object.values(t);return(Array.isArray(e.type)?e.type.includes(`object`):e.type===`object`)&&n.length>0&&n.every(ka)},ja=(e,t)=>{let n=e.properties??{},r=Object.entries(n);if(Aa(e))return`never`;let i=new Set(e.required),a=X(e.additionalProperties===!0?void 0:e.additionalProperties||void 0,t),o=[a];if(a!==`unknown`)for(let[e,n]of r)o.push(X(n,t)),i.has(e)||o.push(`undefined`);let s=e.additionalProperties===!1||e.additionalProperties===void 0?void 0:`Record<string, ${[...new Set(o)].join(` | `)}>`;if(r.length===0)return s??Ta;let c=` `.repeat(t),l=` `.repeat(t+2),u=[`{`];for(let[e,n]of r){let r=i.has(e)?``:`?`;u.push(`${l}${Y(e)}${r}: ${X(n,t+2)};`)}u.push(`${c}}`);let d=u.join(`
25
+ `);return s===void 0?d:`${d} & ${s}`},Ma=e=>{let t=e.replaceAll(/[^A-Za-z0-9_$]/gu,`_`);return/^[A-Za-z_$]/u.test(t)?t:`_${t}`},Na=e=>`${Ma(e)}Props`,Pa=e=>{let t=Ma(e);return`${t.charAt(0).toUpperCase()}${t.slice(1)}`},Fa=e=>{if(e.fields?.properties!==void 0)return e.fields.properties;let t={};for(let n of e.fieldKeys??[])t[n]={};return t},Ia=(e,t)=>{if(e?.anyOf===void 0||e.anyOf.length!==2)return;let[n,r]=e.anyOf.filter(e=>!ka(e));if(n===void 0||r===void 0)return;let i,a;if(n.type===`object`?(i=r,a=n):r.type===`object`&&(i=n,a=r),i===void 0||a===void 0)return;let o=X(i,t);if(o===`never`)return`never`;let s=Object.values(a.properties??{});if(s.length!==0&&!s.map(e=>X(e,t)).some(e=>e!==o&&e!==`never`))return`Responsive<${o}>`},La=(e,t)=>Ia(e,t)??X(e,t),Ra=e=>{let t={},n=new Map,r=new Set;for(let[i,a]of Object.entries(e))if(Ea.has(i))for(let[e,i]of Object.entries(Fa(a))){let a=Pa(e),o=La(i,0),s=n.get(a);if(s===void 0){n.set(a,o),t[e]=a;continue}s!==o&&r.add(a)}return Object.fromEntries(Object.entries(t).filter(([,e])=>!r.has(e)))},za=(e,t)=>{let n=[`export type Breakpoint = "base" | "sm" | "md" | "lg" | "xl" | "2xl";`,`export type Responsive<TValue> = TValue | Partial<Record<Breakpoint, TValue>>;`],r=new Set;for(let[i,a]of Object.entries(e))if(Ea.has(i))for(let[e,i]of Object.entries(Fa(a))){let a=t[e];a===void 0||r.has(a)||(r.add(a),n.push(`export type ${a} = ${La(i,0)};`))}return n.join(`
26
+ `)},Ba=e=>{let t=[`export interface ViewPropsByPath {`];for(let n of Object.keys(e)){let r=Object.entries(e).filter(([e])=>ma(e,n)).filter(([,e])=>e.context!==void 0).map(([,e])=>{let t=X(e.context,4);return e.contextOptional?`Partial<${t}>`:t}).filter(e=>e!==`Record<string, never>`),i=(r.length>1?r.map(e=>`(${e})`).join(` & `):r[0]??`Record<string, never>`).split(`
27
+ `);t.push(` ${J(n)}: {`),t.push(` context: ${i[0]}`);for(let e of i.slice(1,-1))t.push(e);let a=i.at(-1);a!==void 0&&i.length>1?t.push(`${a};`):t[t.length-1]=`${t.at(-1)};`,t.push(` };`)}return t.push(`}`),t.join(`
28
+ `)},Va=(e,t,n)=>{let r=Na(e),i=Fa(t),a=t.callbacks??{},o=[`export interface ${r} {`];for(let[e,t]of Object.entries(i))o.push(` ${Y(e)}?: ${n[e]??La(t,2)};`);for(let[e,t]of Object.entries(a)){let n=t.input===void 0?``:`input: ${X(t.input,2)}`;o.push(` ${Y(e)}?: (${n}) => void;`)}o.push(`}`),o.push(``);let s=Object.entries(a).map(([e,t])=>`${J(e)}: ${t.input===void 0?0:1}`),c=s.length>0?`,\n callbacks: { ${s.join(`, `)} }`:``;return o.push(`export const ${Ma(e)} = /* @__PURE__ */ createRemoteComponent<${r}, ${t.children===!0}>(${J(e)}, {`),o.push(` children: ${t.children===!0}${c},`),o.push(`});`),o.join(`
29
+ `)},Ha=e=>`input`in e||`output`in e,Ua=(e,t=0)=>{let n=` `.repeat(t),r=` `.repeat(t+2),i=[`{`];for(let[n,a]of Object.entries(e))if(Ha(a)){let e=X(a.input,t+2),o=X(a.output,t+2);i.push(`${r}${Y(n)}: (input: ${e}) => Promise<${o}>;`)}else{let e=Ua(a,t+2).split(`
30
+ `);i.push(`${r}${Y(n)}: ${e[0]}`),i.push(...e.slice(1,-1)),i.push(`${e.at(-1)};`)}return i.push(`${n}}`),i.join(`
31
+ `)},Wa=(e,t=[])=>{let n=[`{`];for(let[r,i]of Object.entries(e)){let e=[...t,r];if(Ha(i))n.push(` ${Y(r)}: async (input: unknown) => {`),n.push(` const response = await fetch(${J(`/api/tailorkit/actions/${e.join(`.`)}`)}, {`),n.push(` body: JSON.stringify(input),`),n.push(` headers: { "content-type": "application/json" },`),n.push(` method: "POST",`),n.push(` });`),n.push(` if (!response.ok) throw new Error(await response.text());`),n.push(` return response.json();`),n.push(` },`);else{let t=Wa(i,e).split(`
32
+ `);n.push(` ${Y(r)}: ${t[0]}`),n.push(...t.slice(1).map(e=>` ${e}`)),n.push(`,`)}}return n.push(`}`),n.join(`
33
+ `)},Ga=(e,t={})=>{let n=Ua(e.actions??{}),r=e.components??{},i=Ra(r),a=[wa,Ba(e.views??{}),`declare module "tailorkit/client" {
75
34
  interface TailorKitViews extends ViewPropsByPath {}
76
- interface TailorKitSlots { ${Object.entries(e.slots??{}).map(([e,t])=>`${Li(e)}: ${t.views.map(Li).join(` | `)||`never`};`).join(` `)} }
35
+ interface TailorKitSlots { ${Object.entries(e.slots??{}).map(([e,t])=>`${J(e)}: ${t.views.map(J).join(` | `)||`never`};`).join(` `)} }
77
36
  }
78
37
 
79
38
  export type ViewPath = keyof ViewPropsByPath & string;
80
39
  export type ViewProps<TPath extends ViewPath> = ViewPropsByPath[TPath];
81
- export type TailorKitActions = ${t};
82
- export const actions = ${na(e.actions??{})} as TailorKitActions;`,Zi(n,r)];for(let[e,t]of Object.entries(n)){let{children:n}=Di.parse(t);i.push($i(e,{...t,children:n},r))}return`${i.join(`
40
+ export type TailorKitActions = ${n};
41
+ export const actions = ${Wa(e.actions??{})} as TailorKitActions;`,za(r,i)];t.serverModule&&a.splice(1,0,`import { createApi } from "tailorkit/client";\nimport type app from ${J(t.serverModule)};\n\nexport const api = createApi<typeof app.functions>();`);for(let[e,t]of Object.entries(r)){let{children:n}=_a.parse(t);a.push(Va(e,{...t,children:n},i))}return`${a.join(`
83
42
 
84
- `)}\n`},ia=(e,t)=>{let n=new URL(e);return n.pathname=`${n.pathname.replace(/\/$/u,``)}/${t.replace(/^\//u,``)}`,n.toString()},aa=async e=>{let t=ia(e,`schema`),n=await fetch(t);if(!n.ok)throw Error(`Unable to fetch TailorKit schema from ${t}: ${n.statusText}`);return await n.json()},oa=async(e={})=>{let t=S.resolve(e.cwd??`.`),n=S.resolve(t,e.outFile??S.join(`src`,`tailorkit.gen.ts`)),r=ra(await aa((await Ce(e.configPath,t)).config.host));return await g(S.dirname(n),{recursive:!0}),await b(n,r,`utf-8`),n},sa=`{
43
+ `)}\n`},Ka=(e,t)=>{let n=new URL(e);return n.pathname=`${n.pathname.replace(/\/$/u,``)}/${t.replace(/^\//u,``)}`,n.toString()},qa=async e=>{let t=Ka(e,`schema`),n=await fetch(t);if(!n.ok)throw Error(`Unable to fetch TailorKit schema from ${t}: ${n.statusText}`);return await n.json()},Ja=async(e={})=>{let t=T.resolve(e.cwd??`.`),n=T.resolve(t,e.outFile??T.join(`src`,`tailorkit.gen.ts`)),r=await te(e.configPath,t),i=e.schema??await qa(r.config.host),a=T.resolve(r.root,r.config.server?.entry??`src/server.ts`),o=await S(a).then(e=>e.isFile()).catch(e=>{let t=e.code;if(t===`ENOENT`||t===`ENOTDIR`)return!1;throw e}),s;if(o){let e=T.relative(T.dirname(n),a).replaceAll(T.sep,`/`).replace(/\.tsx?$/u,``);s=e.startsWith(`.`)?e:`./${e}`}let c=Ga(i,{serverModule:s});return await g(T.dirname(n),{recursive:!0}),await C(n,c,`utf-8`),n},Ya=`1.0.0-rc.4-5d5b77c`,Xa=`https://registry.npmjs.org`,Za=5e3,Qa={oxfmt:{fallback:`^0.46.0`,matcher:`^0`,packageName:`oxfmt`},oxlint:{fallback:`^1.61.0`,matcher:`^1`,packageName:`oxlint`},preact:{fallback:`^10.29.1`,matcher:`^10`,packageName:`preact`},tailorkit:{fallback:`latest`,matcher:`^0`,packageName:`tailorkit`},typescript:{fallback:`^6.0.3`,matcher:`^6`,packageName:`typescript`},zod:{fallback:`^4.0.0`,matcher:`^4`,packageName:`zod`}},$a=e=>{let t=/^(?<major>\d+)\.(?<minor>\d+)\.(?<patch>\d+)$/u.exec(e);if(!t?.groups)return;let{major:n,minor:r,patch:i}=t.groups;if(n&&r&&i)return{major:Number.parseInt(n,10),minor:Number.parseInt(r,10),patch:Number.parseInt(i,10),raw:e}},eo=(e,t)=>e.major===t.major?e.minor===t.minor?e.patch-t.patch:e.minor-t.minor:e.major-t.major,to=(e,t)=>{let n=/^\^(?<major>\d+)(?:\.(?<minor>\d+))?/u.exec(t);if(!n?.groups?.major)return!1;let r=Number.parseInt(n.groups.major,10),i=Number.parseInt(n.groups.minor??`0`,10);return e.major===r&&e.minor>=i},Z=async({fallback:e,matcher:t,packageName:n})=>{try{let r=await fetch(`${Xa}/${encodeURIComponent(n)}`,{signal:AbortSignal.timeout(Za)});if(!r.ok)return e;let i=await r.json(),a=Object.keys(i.versions??{}).map($a).filter(e=>e!==void 0).filter(e=>to(e,t)).toSorted(eo).at(-1);return a?`^${a.raw}`:e}catch{return e}},no=async()=>{let[e,t,n,r,i,a]=await Promise.all([Z(Qa.oxfmt),Z(Qa.oxlint),Z(Qa.preact),Z(Qa.tailorkit),Z(Qa.typescript),Z(Qa.zod)]);return{drizzleKit:Ya,drizzleOrm:Ya,oxfmt:e,oxlint:t,preact:n,tailorkit:r,typescript:i,zod:a}},ro=`{
85
44
  "name": "{{ packageName }}",
86
45
  "description": "A TailorKit.dev app that embeds in a host app to extend what it can do.",
87
46
  "private": true,
@@ -90,6 +49,7 @@ export const actions = ${na(e.actions??{})} as TailorKitActions;`,Zi(n,r)];for(l
90
49
  },
91
50
  "scripts": {
92
51
  "build": "tailorkit build",
52
+ "db:generate": "tailorkit db generate",
93
53
  "deploy": "tailorkit deploy",
94
54
  "generate": "tailorkit generate"{% if linting %},
95
55
  "lint": "oxlint",
@@ -101,16 +61,19 @@ export const actions = ${na(e.actions??{})} as TailorKitActions;`,Zi(n,r)];for(l
101
61
  },
102
62
  "dependencies": {
103
63
  "tailorkit": "{{ tailorkitVersion }}",
104
- "preact": "{{ preactVersion }}"
64
+ "preact": "{{ preactVersion }}",
65
+ "zod": "{{ zodVersion }}"
105
66
  },
106
67
  "devDependencies": {
68
+ "drizzle-kit": "{{ drizzleKitVersion }}",
69
+ "drizzle-orm": "{{ drizzleOrmVersion }}",
107
70
  "typescript": "{{ typescriptVersion }}"{% if linting %},
108
71
  "oxlint": "{{ oxlintVersion }}"{% endif %}{% if formatting %},
109
72
  "oxfmt": "{{ oxfmtVersion }}"{% endif %}
110
73
  },
111
74
  "type": "module"
112
75
  }
113
- `,ca=`{
76
+ `,io=`{
114
77
  "compilerOptions": {
115
78
  "allowSyntheticDefaultImports": true,
116
79
  "esModuleInterop": true,
@@ -121,131 +84,109 @@ export const actions = ${na(e.actions??{})} as TailorKitActions;`,Zi(n,r)];for(l
121
84
  "module": "ESNext",
122
85
  "moduleResolution": "bundler",
123
86
  "noEmit": true,
87
+ "skipLibCheck": true,
124
88
  "strict": true,
125
89
  "target": "ESNext",
126
90
  "verbatimModuleSyntax": true
127
91
  },
128
92
  "include": ["src", "tailorkit.config.ts"]
129
93
  }
130
- `,la=`import type { TailorKitConfig } from "tailorkit/app/config";
94
+ `,ao=`import type { TailorKitConfig } from "tailorkit/app/config";
131
95
 
132
96
  const config = {
133
97
  host: "{{ hostUrl }}",
134
- client: {
135
- entry: "./src/client.ts",
98
+ logos: {
99
+ dark: "logo-dark.svg",
100
+ light: "logo-light.svg",
136
101
  },
137
102
  } satisfies TailorKitConfig;
138
103
 
139
104
  export default config;
140
- `,ua=`# TailorKit
105
+ `,oo=`# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
106
+
107
+ # TailorKit
141
108
  .tailorkit
142
109
 
143
- # Logs
144
- logs
145
- *.log
110
+ # debug
146
111
  npm-debug.log*
147
112
  yarn-debug.log*
148
113
  yarn-error.log*
149
114
  pnpm-debug.log*
150
- lerna-debug.log*
151
115
 
152
- node_modules
153
- dist
154
- dist-ssr
155
- *.local
116
+ # testing
117
+ /coverage
118
+
119
+ # dependencies
120
+ /node_modules
121
+ /.pnp
122
+ .pnp.js
156
123
 
157
- # Env
124
+ # misc
125
+ .DS_Store
126
+ *.pem
127
+
128
+ # local env files
129
+ .env*.local
158
130
  .env
159
- .env.*
160
- !.env.example
161
-
162
- # Claude Code (local settings and session files)
163
- .claude/settings.local.json
164
- .claude/plans/
165
- .claude/todos.json
166
- .claude/worktrees
167
- CLAUDE.local.md
168
-
169
- # Editors
170
- **/.idea
171
- **/.#*
172
- .nvmrc
173
- `,da=`import { defineConfig } from "oxlint";
131
+
132
+ # typescript
133
+ *.tsbuildinfo
134
+ `,so=`import { defineConfig } from "oxlint";
174
135
 
175
136
  export default defineConfig({
176
137
  ignorePatterns: ["src/tailorkit.gen.ts"],
177
138
  });
178
- `,fa=`import { defineConfig } from "oxfmt";
139
+ `,co=`import { defineConfig } from "oxfmt";
179
140
 
180
141
  export default defineConfig({
181
142
  ignorePatterns: ["src/tailorkit.gen.ts"],
182
143
  });
183
- `,pa=`import { defineClient } from "tailorkit/app";
144
+ `,lo=`import { ClientProvider, defineClient } from "tailorkit/client";
184
145
  import defaultView from "./views/default";
185
146
 
186
147
  const client = defineClient({
148
+ component: ClientProvider,
187
149
  slots: {
188
- panel: { "/": defaultView },
150
+ {{ slotName }}: { {{ viewPath }}: defaultView },
189
151
  },
190
152
  });
191
153
 
192
154
  export default client;
193
- `,ma=`import { createView } from "tailorkit/app";
155
+ `,uo=`import { createView, useQuery } from "tailorkit/client";
156
+ import { api{% if useBox %}, Box{% endif %} } from "#tailorkit";
194
157
 
195
- const view = createView("/", {
158
+ const view = createView({{ viewPath }}, {
196
159
  component: ViewComponent,
197
160
  });
198
161
 
199
162
  function ViewComponent() {
200
- const context = view.useContext();
163
+ const greeting = useQuery(api.greeting, { name: "TailorKit" });
201
164
 
202
- return <div>{context.user.name}</div>;
165
+ return <{% if useBox %}Box{% endif %}>{greeting.isLoading ? "Loading…" : greeting.error?.message ?? greeting.data}</{% if useBox %}Box{% endif %}>;
203
166
  }
204
167
 
205
168
  export default view;
206
- `,ha=`/* eslint-disable */
207
-
208
- // This file was automatically generated by TailorKit.
209
- // Documentation: https://tailorkit.dev/docs
210
-
211
- // Do not make changes to this file directly, as it will be overwritten.
212
- // Exclude this file from linting and formatting to avoid checking generated code.
213
-
214
- import { createRemoteComponent } from "tailorkit/app";
215
-
216
-
217
- export interface ViewPropsByPath {
218
- "/": {
219
- context: {
220
- user: {
221
- name: string;
222
- };
223
- };
224
- };
225
- }
226
-
227
- declare module "tailorkit/app" {
228
- interface TailorKitViews extends ViewPropsByPath {}
229
- interface TailorKitSlots { panel: "/" }
230
- }
231
-
232
- export type ViewPath = keyof ViewPropsByPath & string;
233
- export type ViewProps<TPath extends ViewPath> = ViewPropsByPath[TPath];
234
-
235
- export interface ButtonProps {
236
- disabled?: unknown;
237
- variant?: unknown;
238
- onClick?: () => void;
239
- }
240
-
241
- export const Button = createRemoteComponent<ButtonProps, true>("Button", {
242
- children: true,
243
- });
244
-
245
- export interface CardProps {
246
- }
247
-
248
- export const Card = createRemoteComponent<CardProps, true>("Card", {
249
- children: true,
250
- });
251
- `,ga=new ce({strictVariables:!0}),_a=(e,t)=>ga.parseAndRender(e,t),va=e=>g(e,{recursive:!0}).then(()=>{}),ya=async(e,t,n)=>{if(!n&&ie(e))throw Error(`${e} already exists. Use --force to overwrite it.`);await b(e,t,`utf-8`)},ba=async e=>{let{targetDirectory:t,force:n,formatting:r,hostUrl:i,linting:a,packageName:o,packageVersions:s,useWorkspaceDependencies:c}=e,l=c?`workspace:*`:s.tailorkit,u=[],d=[];a&&(u.push(`pnpm run lint`),d.push(`pnpm run lint:fix`)),r&&(u.push(`pnpm run format`),d.push(`pnpm run format:fix`));let f={checkScript:u.join(` && `),fixScript:d.join(` && `),formatting:r,hostUrl:i,linting:a,oxfmtVersion:s.oxfmt,oxlintVersion:s.oxlint,packageName:o,preactVersion:s.preact,tailorkitVersion:l,typescriptVersion:s.typescript};await va(S.join(t,`src`,`views`));let p=[{template:sa,dest:`package.json`},{template:ca,dest:`tsconfig.json`},{template:la,dest:`tailorkit.config.ts`},{template:ua,dest:`.gitignore`},{template:da,dest:`oxlint.config.ts`,condition:a},{template:fa,dest:`oxfmt.config.ts`,condition:r},{template:pa,dest:S.join(`src`,`client.ts`)},{template:ma,dest:S.join(`src`,`views`,`default.tsx`)},{template:ha,dest:S.join(`src`,`tailorkit.gen.ts`)}];await Promise.all(p.filter(e=>e.condition!==!1).map(async({template:e,dest:r})=>{let i=await _a(e,f);await ya(S.join(t,r),i,n)}))},xa=`https://registry.npmjs.org`,Sa=5e3,Ca={oxfmt:{fallback:`^0.46.0`,matcher:`^0`,packageName:`oxfmt`},oxlint:{fallback:`^1.61.0`,matcher:`^1`,packageName:`oxlint`},preact:{fallback:`^10.29.1`,matcher:`^10`,packageName:`preact`},tailorkit:{fallback:`latest`,matcher:`^0`,packageName:`tailorkit`},typescript:{fallback:`^6.0.3`,matcher:`^6`,packageName:`typescript`}},wa=e=>{let t=/^(?<major>\d+)\.(?<minor>\d+)\.(?<patch>\d+)$/u.exec(e);if(!t?.groups)return;let{major:n,minor:r,patch:i}=t.groups;if(n&&r&&i)return{major:Number.parseInt(n,10),minor:Number.parseInt(r,10),patch:Number.parseInt(i,10),raw:e}},Ta=(e,t)=>e.major===t.major?e.minor===t.minor?e.patch-t.patch:e.minor-t.minor:e.major-t.major,Ea=(e,t)=>{let n=/^\^(?<major>\d+)(?:\.(?<minor>\d+))?/u.exec(t);if(!n?.groups?.major)return!1;let r=Number.parseInt(n.groups.major,10),i=Number.parseInt(n.groups.minor??`0`,10);return e.major===r&&e.minor>=i},Da=async({fallback:e,matcher:t,packageName:n})=>{try{let r=await fetch(`${xa}/${encodeURIComponent(n)}`,{signal:AbortSignal.timeout(Sa)});if(!r.ok)return e;let i=await r.json(),a=Object.keys(i.versions??{}).map(wa).filter(e=>e!==void 0).filter(e=>Ea(e,t)).toSorted(Ta).at(-1);return a?`^${a.raw}`:e}catch{return e}},Oa=async()=>{let[e,t,n,r,i]=await Promise.all([Da(Ca.oxfmt),Da(Ca.oxlint),Da(Ca.preact),Da(Ca.tailorkit),Da(Ca.typescript)]);return{oxfmt:e,oxlint:t,preact:n,tailorkit:r,typescript:i}},ka=[`pnpm`,`yarn`,`npm`,`bun`],Aa=e=>ka.includes(e),ja=e=>e.trim().toLowerCase().replaceAll(/[^a-z0-9._/-]+/gu,`-`).replaceAll(/^-+|-+$/gu,``),Ma=e=>(s(e)&&(i(`Init cancelled.`),process.exit(0)),e),Na=(e,t)=>S.resolve(t,e??`.`),Pa=async(e,t)=>{let n=ja(S.basename(t))||`tailorkit-app`;return ja(e===void 0?Ma(await f({defaultValue:n,message:`Package name`,placeholder:n,validate:e=>ja(e??``).length===0?`Enter a package name.`:void 0})):e)},Fa=async e=>{if(e!==void 0){if(Aa(e))return e;throw Error(`--package-manager must be one of: ${ka.join(`, `)}.`)}return Ma(await u({initialValue:`pnpm`,message:`Package manager`,options:ka.map(e=>({label:e,value:e}))}))},Ia=async e=>e===void 0?Ma(await a({initialValue:!0,message:`Add linting with oxlint?`})):e,La=async e=>e===void 0?Ma(await a({initialValue:!0,message:`Add formatting with oxfmt?`})):e,Ra=e=>{try{Wr(e??``);return}catch{return`Enter a valid host URL.`}},za=async e=>{if(e!==void 0){let t=Ra(e);if(t!==void 0)throw Error(t);return Wr(e)}let t=`https://example.com/api/tailorkit`;return Wr(Ma(await f({defaultValue:t,message:`Host URL`,placeholder:t,validate:Ra})))},Ba=async e=>e===void 0?Ma(await a({initialValue:!0,message:`Install dependencies?`})):e,Va=async(e,t)=>t||!ie(e)?t:Ma(await a({initialValue:!1,message:`${m.cyan(e)} already exists. Overwrite matching files?`})),Ha=(e,t,n)=>new Promise((r,i)=>{let a=se(e,t,{cwd:n,stdio:`inherit`});a.on(`close`,r),a.on(`error`,i)}),Ua=async(e,t)=>{let n=d();n.start(`Installing dependencies with ${t}`);let r=await Ha(t,[`install`],e);if(r!==0)throw n.stop(`Install failed.`),Error(`${t} install exited with code ${r}.`);n.stop(`Installed dependencies.`)},Wa=async(e,t)=>{let n=d();n.start(`Formatting project`);let r=await Ha(t,[`run`,`format:fix`],e);if(r!==0)throw n.stop(`Formatting failed.`),Error(`${t} run format:fix exited with code ${r}.`);n.stop(`Formatted project.`)},Ga=async e=>{let t=Na(e.directory,e.cwd),n=await Pa(e.name,t),r=S.join(t,n),i=await Va(r,e.force??!1),a=await Fa(e.packageManager),o=await za(e.host),s=await Ia(e.linting),c=await La(e.formatting),l=await Ba(e.install),u=d();u.start(`Resolving package versions`);let f=await Oa();return u.stop(`Resolved package versions.`),await g(r,{recursive:!0}),await ba({force:i,formatting:c,hostUrl:o,linting:s,packageName:n,packageVersions:f,targetDirectory:r}),l&&(await Ua(r,a),c&&await Wa(r,a)),r},Ka=/^http:\/\/orpc\//,qa=(e=>(e[e.REQUEST=1]=`REQUEST`,e[e.RESPONSE=2]=`RESPONSE`,e[e.EVENT_ITERATOR=3]=`EVENT_ITERATOR`,e[e.ABORT_SIGNAL=4]=`ABORT_SIGNAL`,e))(qa||{});function Ja(e,t,n){if(t===3){let r=n;return{i:e,t,p:{e:r.event,d:r.data,m:r.meta}}}if(t===4)return{i:e,t,p:n};let r=n;return{i:e,p:{u:r.url.toString().replace(Ka,`/`),b:r.body,h:Object.keys(r.headers).length>0?r.headers:void 0,m:r.method===`POST`?void 0:r.method}}}function Ya(e){let t=e.i,n=e.t;if(n===3){let r=e.p;return[t,n,{event:r.e,data:r.d,meta:r.m}]}if(n===4)return[t,n,e.p];let r=e.p;return[t,2,{status:r.s??200,headers:r.h??{},body:r.b}]}async function Xa(e,t,n){if(t===3||t===4)return to(Ja(e,t,n));let r=n,{body:i,headers:a}=await Qa(r.body,r.headers),o=Ja(e,1,{...r,body:i instanceof Blob?void 0:i,headers:a});return i instanceof Blob?to(o,i):to(o)}async function Za(e){let{json:t,buffer:n}=await no(e),[r,i,a]=Ya(t);if(i===3||i===4)return[r,i,a];let o=a,s=await $a(o.headers,o.body,n);return[r,i,{...o,body:s}]}async function Qa(e,t){let n={...t},r=n[`content-disposition`];if(delete n[`content-type`],delete n[`content-disposition`],e instanceof Blob)return n[`content-type`]=e.type,n[`content-disposition`]=r??Mt(e instanceof File?e.name:`blob`),{body:e,headers:n};if(e instanceof FormData){let t=new Response(e);return n[`content-type`]=t.headers.get(`content-type`),{body:await t.blob(),headers:n}}return e instanceof URLSearchParams?(n[`content-type`]=`application/x-www-form-urlencoded`,{body:e.toString(),headers:n}):ze(e)?(n[`content-type`]=`text/event-stream`,{body:void 0,headers:n}):{body:e,headers:n}}async function $a(e,t,n){let r=Ft(e[`content-type`]),i=Ft(e[`content-disposition`]);if(typeof i==`string`){let e=Nt(i)??`blob`;return new File(n===void 0?[]:[n],e,{type:r})}return r?.startsWith(`multipart/form-data`)?new Response(n,{headers:{"content-type":r}}).formData():r?.startsWith(`application/x-www-form-urlencoded`)&&typeof t==`string`?new URLSearchParams(t):t}var eo=255;async function to(e,t){let n=j(e);return t===void 0||t.size===0?n:Ee(new Blob([new TextEncoder().encode(n),new Uint8Array([eo]),t]))}async function no(e){if(typeof e==`string`)return{json:JSON.parse(e)};let t=e instanceof Uint8Array?e:new Uint8Array(e),n=t.indexOf(eo);if(n===-1){let e=new TextDecoder().decode(t);return{json:JSON.parse(e)}}let r=new TextDecoder().decode(t.subarray(0,n)),i=t.subarray(n+1);return{json:JSON.parse(r),buffer:i}}function ro(e,t,n,r={}){let i;return new Be(async()=>{i??=Ie(`consume_event_iterator_stream`);try{let n=await O(i,()=>e.pull(t));switch(n.event){case`message`:{let e=n.data;return n.meta&&Ke(e)&&(e=kt(e,n.meta)),i?.addEvent(`message`),{value:e,done:!1}}case`error`:{let e=new lt({data:n.data});throw n.meta&&(e=kt(e,n.meta)),i?.addEvent(`error`),e}case`done`:{let e=n.data;return n.meta&&Ke(e)&&(e=kt(e,n.meta)),i?.addEvent(`done`),{value:e,done:!0}}}}catch(e){throw e instanceof lt||E(i,e,r),e}},async e=>{try{e!==`next`&&i?.addEvent(`cancelled`),await O(i,()=>n(e))}catch(e){throw E(i,e,r),e}finally{i?.end()}})}function io(e,t){return D({name:`stream_event_iterator`},async n=>{for(;;){let r=await(async()=>{try{let{value:t,done:r}=await e.next();return r?(n?.addEvent(`done`),{event:`done`,data:t,meta:At(t)}):(n?.addEvent(`message`),{event:`message`,data:t,meta:At(t)})}catch(e){if(e instanceof lt)return n?.addEvent(`error`),{event:`error`,data:e.data,meta:At(e)};try{await t({event:`error`,data:void 0})}catch(t){throw E(n,e),t}throw e}})(),i=!1;try{let n=await t(r);if(r.event===`done`||r.event===`error`)return;if(n===`abort`){i=!0,await e.return?.();return}}catch(t){if(!i)try{await e.return?.()}catch(e){throw E(n,t),e}throw t}}})}var ao=class{peer;constructor(e){this.peer=new oo(async([t,n,r])=>{await e(await Xa(t,n,r))})}get length(){return this.peer.length}open(e){return this.peer.open(e)}async request(e){return this.peer.request(e)}async message(e){return this.peer.message(await Za(e))}close(e={}){return this.peer.close(e)}},oo=class{idGenerator=new Ve;responseQueue=new Re;serverEventIteratorQueue=new Re;serverControllers=new Map;cleanupFns=new Map;send;constructor(e){this.send=async t=>{let n=t[0];this.serverControllers.has(n)&&await e(t)}}get length(){return(+this.responseQueue.length+this.serverEventIteratorQueue.length+this.serverControllers.size+this.cleanupFns.size)/4}open(e){this.serverEventIteratorQueue.open(e),this.responseQueue.open(e);let t=new AbortController;return this.serverControllers.set(e,t),this.cleanupFns.set(e,[]),t}async request(e){let t=e.signal;return D({name:`send_peer_request`,signal:t},async()=>{if(t?.aborted)throw t.reason;let n=this.idGenerator.generate(),r=this.open(n);try{let i=Fe();if(i){let t=qe(e.headers);i.propagation.inject(i.context.active(),t),e={...e,headers:t}}if(await this.send([n,qa.REQUEST,e]),t?.aborted)throw await this.send([n,qa.ABORT_SIGNAL,void 0]),t.reason;let a;if(t?.addEventListener(`abort`,a=async()=>{await this.send([n,qa.ABORT_SIGNAL,void 0]),this.close({id:n,reason:t.reason})},{once:!0}),this.cleanupFns.get(n)?.push(()=>{t?.removeEventListener(`abort`,a)}),ze(e.body)){let t=e.body;io(t,async e=>r.signal.aborted?`abort`:(await this.send([n,qa.EVENT_ITERATOR,e]),`next`))}let o=await this.responseQueue.pull(n);if(R(o.headers)){let e=ro(this.serverEventIteratorQueue,n,async e=>{try{e!==`next`&&await this.send([n,qa.ABORT_SIGNAL,void 0])}finally{this.close({id:n})}},{signal:t});return{...o,body:e}}return this.close({id:n}),o}catch(e){throw this.close({id:n,reason:e}),e}})}async message([e,t,n]){if(t===qa.ABORT_SIGNAL){this.serverControllers.get(e)?.abort();return}if(t===qa.EVENT_ITERATOR){this.serverEventIteratorQueue.isOpen(e)&&this.serverEventIteratorQueue.push(e,n);return}this.responseQueue.isOpen(e)&&this.responseQueue.push(e,n)}close(e={}){e.id===void 0?(this.serverControllers.forEach(t=>t.abort(e.reason)),this.serverControllers.clear(),this.cleanupFns.forEach(e=>e.forEach(e=>e())),this.cleanupFns.clear()):(this.serverControllers.get(e.id)?.abort(e.reason),this.serverControllers.delete(e.id),this.cleanupFns.get(e.id)?.forEach(e=>e()),this.cleanupFns.delete(e.id)),this.responseQueue.close(e),this.serverEventIteratorQueue.close(e)}},so=0,co=1,lo=class{peer;constructor(e){this.peer=new ao(async t=>{if(e.websocket.readyState===so&&await new Promise(t=>{let n=()=>{e.websocket.removeEventListener(`open`,n),e.websocket.removeEventListener(`close`,n),t()};e.websocket.addEventListener(`open`,n,{once:!0}),e.websocket.addEventListener(`close`,n,{once:!0})}),e.websocket.readyState!==co)throw Error(`Cannot send message, WebSocket is not open.`);return e.websocket.send(t)}),e.websocket.addEventListener(`message`,async e=>{let t=e.data instanceof Blob?await Ee(e.data):e.data;this.peer.message(t)}),e.websocket.addEventListener(`close`,()=>{this.peer.close()})}async call(e,t,n,r){let i=await this.peer.request(e);return{...i,body:()=>Promise.resolve(i.body)}}},uo=class extends tn{constructor(e){let t=new lo(e);super(t,{...e,url:`http://orpc`})}},fo=C.string().regex(/^[A-Za-z0-9_-]{1,128}$/u),po=C.string().max(349528).regex(/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/u),mo=e=>[...e].some(e=>(e.codePointAt(0)??0)<32),ho=C.object({path:C.string().min(1).max(1024).refine(e=>new TextEncoder().encode(e).byteLength<=1024,{message:`Preview path exceeds 1024 UTF-8 bytes`}),contentType:C.string().min(1).max(255).refine(e=>!/[\r\n]/u.test(e),{message:`Invalid preview content type`}),size:C.number().int().min(0).max(1048576),chunks:C.number().int().min(0).max(4),sha256:C.string().regex(/^[a-f0-9]{64}$/u)}),go=C.object({files:C.array(ho).max(100)}).superRefine((e,t)=>{let n=new Set,r=0;for(let[i,a]of e.files.entries())(a.path.startsWith(`/`)||a.path.includes(`\\`)||a.path.split(`/`).some(e=>!e||e===`.`||e===`..`)||mo(a.path)||n.has(a.path))&&t.addIssue({code:`custom`,message:`Invalid or duplicate preview path`,path:[`files`,i,`path`]}),a.chunks!==Math.ceil(a.size/262144)&&t.addIssue({code:`custom`,message:`Invalid preview chunk count`,path:[`files`,i,`chunks`]}),n.add(a.path),r+=a.size;n.has(`client.js`)||t.addIssue({code:`custom`,message:`Missing client.js`}),r>10485760&&t.addIssue({code:`custom`,message:`Preview build exceeds 10 MiB`})}),_o=C.discriminatedUnion(`type`,[C.object({type:C.literal(`begin`),buildId:fo,revision:C.number().int().positive(),manifest:go}),C.object({type:C.literal(`chunk`),revision:C.number().int().positive(),fileIndex:C.number().int().min(0).max(99),chunkIndex:C.number().int().min(0).max(3),base64:po}),C.object({type:C.literal(`complete`),revision:C.number().int().positive()}),C.object({type:C.literal(`ended`)})]);C.object({sessionId:C.uuid(),expiresAt:C.string().min(1),websocketUrl:C.url(),token:C.string().min(1)});var vo=C.object({manifest:go}),yo=C.object({buildId:fo,fileIndex:C.number().int().min(0).max(99),chunkIndex:C.number().int().min(0).max(3),base64:po}),bo=C.object({buildId:fo}),xo=C.object({accepted:C.literal(!0)}),So=C.object({revision:C.number().int().positive()});function Co(e){let t=Rt(new uo({websocket:e}));return{beginBuild:async e=>bo.parse(await t.beginBuild(vo.parse(e))),uploadChunk:async e=>xo.parse(await t.uploadChunk(yo.parse(e))),commitBuild:async e=>So.parse(await t.commitBuild({buildId:fo.parse(e.buildId)})),heartbeat:async()=>xo.parse(await t.heartbeat()),subscribe:async()=>{let e=await t.subscribe();return(async function*(){for await(let t of e)yield _o.parse(t)})()}}}var wo=262144,To={".css":`text/css; charset=utf-8`,".html":`text/html; charset=utf-8`,".js":`text/javascript; charset=utf-8`,".json":`application/json; charset=utf-8`,".map":`application/json; charset=utf-8`},Eo=e=>e instanceof Error?e.message:String(e),Do=e=>typeof e==`object`&&!!e&&`code`in e&&e.code===`UNAUTHORIZED`&&`message`in e&&typeof e.message==`string`&&/Preview session is unavailable|Preview developer reconnect grace expired|Preview CLI token is unavailable/u.test(e.message);async function Oo(e){let t=await ee(e),n=(await v(t,{recursive:!0,withFileTypes:!0})).filter(e=>e.isFile()).toSorted((e,t)=>S.join(e.parentPath,e.name).localeCompare(S.join(t.parentPath,t.name)));if(n.length>100)throw Error(`Preview build exceeds 100 files.`);let r=[],i={files:[]},a=0;for(let e of n){let n=await ee(S.join(e.parentPath,e.name)),o=S.relative(t,n).replaceAll(S.sep,`/`);if(!o||o.startsWith(`../`)||S.isAbsolute(o))throw Error(`Preview file escapes the build output.`);let s=await _(n);if(s.length>1048576)throw Error(`Preview file ${o} exceeds 1 MiB.`);if(a+=s.length,a>10485760)throw Error(`Preview build exceeds 10 MiB.`);r.push(s),i.files.push({path:o,contentType:To[S.extname(o)]??`application/octet-stream`,size:s.length,chunks:Math.ceil(s.length/wo),sha256:re(`sha256`).update(s).digest(`hex`)})}if(!i.files.some(e=>e.path===`client.js`))throw Error(`Preview build is missing client.js.`);return{files:r,manifest:i,fingerprint:re(`sha256`).update(JSON.stringify(i)).digest(`hex`)}}function ko(e,t,n){let r=0;return async()=>{let i=++r;try{let n=await e();i===r&&t(n)}catch(e){i===r&&n(e)}}}async function Ao(e,t){let{buildId:n}=await e.beginBuild({manifest:t.manifest});for(let[r,i]of t.files.entries())for(let a=0;a<(t.manifest.files[r]?.chunks??0);a++)await e.uploadChunk({buildId:n,fileIndex:r,chunkIndex:a,base64:i.subarray(a*wo,(a+1)*wo).toString(`base64`)});await e.commitBuild({buildId:n})}var jo=C.object({config:C.string().optional(),cwd:C.string().default(`.`),entry:C.string().optional(),mode:C.string().optional(),outDir:C.string().optional()}),Mo=e=>{let t=jo.parse(e);return{configPath:t.config,cwd:t.cwd,entry:t.entry,mode:t.mode,outDir:t.outDir}};async function No(e){let t=await Ce(e.configPath,e.cwd);if(!t.config.appId)throw Error(`Missing appId. Deploy once before starting a remote preview.`);let n=await si(e),r=await ai(n.hostUrl);if(!r?.deployToken)throw Error(`Not logged in. Run tailorkit login first.`);let{buildApp:i}=await import(`./assets/builder-CvioCjKE.js`),a=await i({...e,watch:!0}),o=async()=>{a&&typeof a==`object`&&`close`in a&&await a.close()},s=await Dr({headers:{authorization:`Bearer ${r.deployToken}`},url:n.hostUrl}).preview.start({appId:t.config.appId}).catch(async e=>{throw await o(),e}),l=`data`in s?s.data:s;if(!l)throw await o(),Error(`Unable to start preview session.`);let u=Dr({fetch:(e,t)=>fetch(e,{...t,signal:AbortSignal.timeout(5e3)}),headers:{authorization:`Bearer ${r.deployToken}`},url:n.hostUrl}),d=async()=>{try{await u.preview.stop({sessionId:l.sessionId})}catch(e){c.warn(`Unable to end preview session: ${Eo(e)}`)}},f=S.resolve(t.root,e.outDir??t.config.build?.outDir??`.tailorkit`),p,h;try{p=await ee(f),h=await Oo(p)}catch(e){try{await o()}catch(e){c.warn(`Unable to close preview watcher: ${Eo(e)}`)}throw await d(),e}let g,_,v,y=!1,b=!1,x,te,C,ne=0,re=1e3,ie=0,ae=()=>{y||(y=!0,process.off(`SIGINT`,w),process.off(`SIGTERM`,w),x&&clearTimeout(x),te&&clearTimeout(te),C&&clearInterval(C),v?.close(),o().catch(e=>{c.warn(`Unable to close preview watcher: ${Eo(e)}`)}),c.warn(`Preview session ended. Start a new preview to continue.`))},oe=()=>{y||!_||b||(x&&clearTimeout(x),x=setTimeout(()=>{if(x=void 0,!_||h.fingerprint===g)return;let e=h,t=_,n=ie;b=!0,ne=Date.now(),Ao(t,e).then(()=>{n===ie&&(g=e.fingerprint)}).catch(e=>{y||c.warn(`Preview upload interrupted: ${Eo(e)}`)}).finally(()=>{n===ie&&(b=!1,h.fingerprint!==g&&oe())})},Math.max(500,500-(Date.now()-ne))))},se=ko(()=>Oo(p),e=>{y||(h=e,oe())},e=>{y||c.warn(`Keeping the last successful preview: ${Eo(e)}`)});a&&typeof a==`object`&&`on`in a&&a.on(`event`,e=>{e.code===`BUNDLE_END`&&se()});let ce=()=>{if(y)return;let e=new URL(l.tunnelUrl);e.searchParams.set(`role`,`uploader`);let t=new WebSocket(e,l.tunnelToken);v=t,t.addEventListener(`open`,()=>{ie+=1,re=1e3,_=Co(t);let e=()=>void _?.heartbeat().catch(e=>{v!==t||y||(Do(e)?ae():t.close())});e(),C=setInterval(e,2e4),oe()}),t.addEventListener(`close`,()=>{ie+=1,b=!1,C&&clearInterval(C),v===t&&(v=void 0,_=void 0),y||(te=setTimeout(ce,re),re=Math.min(re*2,3e4))}),t.addEventListener(`error`,()=>t.close())};ce();let w=()=>{y||(y=!0,process.off(`SIGINT`,w),process.off(`SIGTERM`,w),o().catch(e=>{c.warn(`Unable to close preview watcher: ${Eo(e)}`)}),x&&clearTimeout(x),te&&clearTimeout(te),C&&clearInterval(C),v?.close(),d().finally(()=>process.exit(0)))};process.once(`SIGINT`,w),process.once(`SIGTERM`,w);let T=new URL(n.hostUrl);T.pathname=`${T.pathname.replace(/\/+$/u,``)}/preview/${l.shareId}`,c.info(m.green(`Host preview: ${T.href}`)),c.info(m.dim(`Uploading built app assets from ${f}`))}var Po=e=>{let t=te();return t===`darwin`?{args:[e],command:`open`}:t===`win32`?{args:[`/c`,`start`,``,e],command:`cmd`}:{args:[e],command:`xdg-open`}},Fo=e=>new Promise(t=>{let{args:n,command:r}=Po(e),i=se(r,n,{detached:!0,stdio:`ignore`,windowsHide:!0});i.once(`error`,()=>{t(!1)}),i.once(`spawn`,()=>{i.unref(),t(!0)})}),$=p(`tailorkit`),Io=e=>{if(e<1024)return`${e} B`;let t=[`KB`,`MB`,`GB`],n=e/1024,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r+=1;return`${n.toFixed(n>=10?1:2)} ${t[r]}`};$.option(`--cwd <path>`,`Working directory`,{default:`.`}),$.command(`preview`,`Preview the app inside a host app`).option(`--config <path>`,`Path to tailorkit config`).option(`--entry <path>`,`Client entry file`).option(`--out-dir <path>`,`Build output directory`).option(`--mode <mode>`,`Vite mode`).action(async e=>{o(m.bold(`TailorKit`));try{await No(Mo(e))}catch(e){c.error(e instanceof Error?e.message:String(e)),process.exit(1)}}),$.command(`login`,`Authenticate the TailorKit CLI with a host app`).option(`--config <path>`,`Path to tailorkit config`).option(`--open`,`Open the approval URL in the default browser`,{default:!0}).option(`--timeout <seconds>`,`Seconds to wait for approval`,{default:1800}).action(async e=>{o(m.bold(`TailorKit`));let t=d(),n=!1;try{let r=Number.parseInt(String(e.timeout??`1800`),10);if(!Number.isInteger(r)||r<=0)throw Error(`--timeout must be a positive integer.`);await oi({configPath:e.config,cwd:String(e.cwd??`.`),timeout:r*1e3},({expiresAt:r,hostUrl:i,userCode:a})=>{let o=ti(i,a);e.open!==!1&&Fo(o),c.info(`Enter this code in the host app: ${m.bold(a)}`),c.info(`Approval URL: ${m.cyan(o)}`),c.info(`Code expires at ${r.toLocaleString()}.`),c.info(`Waiting for approval...`),t.start(`Checking approval status`),n=!0}),n&&t.stop(`Approved.`),l(`Authenticated successfully.`)}catch(e){n&&t.stop(`Approval failed.`),c.error(e instanceof Error?e.message:String(e)),process.exit(1)}}),$.command(`logout`,`Remove stored TailorKit CLI credentials for a host app`).option(`--config <path>`,`Path to tailorkit config`).action(async e=>{o(m.bold(`TailorKit`));try{let t=await ci({configPath:e.config,cwd:String(e.cwd??`.`)});l(t.removed?`Logged out of ${m.cyan(t.hostUrl)}.`:`No stored credentials found for ${m.cyan(t.hostUrl)}.`)}catch(e){c.error(e instanceof Error?e.message:String(e)),process.exit(1)}}),$.command(`whoami`,`Show the current TailorKit CLI authentication scope`).option(`--config <path>`,`Path to tailorkit config`).action(async e=>{o(m.bold(`TailorKit`));try{let t=await si({configPath:e.config,cwd:String(e.cwd??`.`)});c.info(`Host: ${m.cyan(t.hostUrl)}`),c.info(`Scope: ${m.cyan(t.scopeId)}`),l(`Authenticated.`)}catch(e){c.error(e instanceof Error?e.message:String(e)),process.exit(1)}}),$.command(`deploy`,`Build and deploy the TailorKit app`).option(`--config <path>`,`Path to tailorkit config`).option(`--entry <path>`,`Client entry file`).option(`--out-dir <path>`,`Build output directory`).option(`--mode <mode>`,`Vite mode`).action(async e=>{o(m.bold(`TailorKit`));let t=d();try{t.start(`Building and deploying app`);let n=await Ci({configPath:e.config,cwd:String(e.cwd??`.`),entry:e.entry,mode:e.mode,onMissingAppId:async({appName:e,configPath:n,hostUrl:r,reason:i})=>{t.stop(`App not linked.`),c.info(i===`missing`?`No appId found in ${m.cyan(n)}.`:`The appId in ${m.cyan(n)} does not exist.`),c.info(`Host: ${m.cyan(r)}`);let o=await a({initialValue:!0,message:i===`missing`?`Create a TailorKit app named ${e}?`:`Create a new TailorKit app named ${e} and update the config?`});return!s(o)&&(o&&t.start(`Creating app and deploying`),o===!0)},onTypecheckFailed:async({command:e,output:n})=>{t.stop(`Type check failed.`),c.error(`Type check failed while running ${m.cyan(e)}.`),n&&c.error(n);let r=await a({initialValue:!1,message:`Type check failed, but the app built successfully. Upload anyway?`});return!s(r)&&(r&&t.start(`Uploading app`),r===!0)},outDir:e.outDir});t.stop(`Deployed app.`),n.createdApp&&c.info(`Created app and updated tailorkit.config.ts with ${m.cyan(n.appId)}.`),c.info(`Host: ${m.cyan(n.hostUrl)}`),c.info(`App: ${m.cyan(n.appId)}`),c.info(`Deployment: ${m.cyan(n.deploymentId)}`),c.info(`Uploaded files:`);for(let e of n.uploadedFiles)c.info(` ${m.cyan(e.path)} ${m.dim(`${Io(e.size)} raw, ${Io(e.gzipSize)} gzip`)}`);n.status&&c.info(`Status: ${m.cyan(n.status)}`),l(`Deployment published.`)}catch(e){t.stop(`Deployment failed.`),c.error(e instanceof Error?e.message:String(e)),process.exit(1)}}),$.command(`build`,`Build the TailorKit app`).option(`--config <path>`,`Path to tailorkit config`).option(`--entry <path>`,`Client entry file`).option(`--out-dir <path>`,`Build output directory`).option(`--mode <mode>`,`Vite mode`).action(async e=>{o(m.bold(`TailorKit`));try{let{buildApp:t}=await import(`./assets/builder-CvioCjKE.js`);await t({configPath:e.config,cwd:String(e.cwd??`.`),entry:e.entry,mode:e.mode,outDir:e.outDir}),l(`Built app.`)}catch(e){c.error(e instanceof Error?e.message:String(e)),process.exit(1)}}),$.command(`generate`,`Generate TailorKit app bindings`).option(`--config <path>`,`Path to tailorkit config`).option(`--out <path>`,`Generated TypeScript output file`).action(async e=>{o(m.bold(`TailorKit`));try{let t=await oa({configPath:e.config,cwd:String(e.cwd??`.`),outFile:e.out});l(`Generated ${m.cyan(t)}.`)}catch(e){c.error(e instanceof Error?e.message:String(e)),process.exit(1)}}),$.command(`init [directory]`,`Create a new TailorKit app`).option(`--name <name>`,`Package name`).option(`--host <url>`,`TailorKit host URL`).option(`--package-manager <pm>`,`Package manager: bun, yarn, pnpm, or npm`).option(`--lint`,`Add oxlint (use --no-lint to skip)`).option(`--format`,`Add oxfmt (use --no-format to skip)`).option(`--install`,`Install dependencies after scaffolding (use --no-install to skip)`).option(`--force`,`Overwrite existing files`).action(async(e,t)=>{o(m.bold(`TailorKit`));try{let n=await Ga({cwd:String(t.cwd??`.`),directory:e,force:t.force,formatting:t.format,host:t.host,install:t.install,linting:t.lint,name:t.name,packageManager:t.packageManager});l(`Created app at ${m.cyan(n)}.`)}catch(e){c.error(e instanceof Error?e.message:String(e)),process.exit(1)}}),$.help(),$.version(`0.1.0-beta.14`),$.parse();export{Ce as t};
169
+ `,fo=`import { defineServer } from "tailorkit/server";
170
+ import * as functions from "./functions/greeting";
171
+
172
+ const app = defineServer(functions);
173
+
174
+ export default app;
175
+ `,po=`// Define your SQLite tables here using table(), text(), boolean(), etc.
176
+ // Run pnpm db:generate and commit migrations/ when adding or changing tables.
177
+ export {};
178
+ `,mo=`import { tk } from "tailorkit/server";
179
+ import { z } from "zod";
180
+
181
+ export const greeting = tk.query
182
+ .input(z.object({ name: z.string() }))
183
+ .handler(({ input }) => \`Hello, \${input.name}!\`);
184
+ `,ho=`<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 24 24">
185
+ <path d="M3 6h6v6H3z" style="fill:#f5f5f5" transform="matrix(1.5 0 0 1.5 10.5 -9)"/>
186
+ <path d="M2 6v12h12v-6H8V6z" style="fill:#f5f5f5" transform="matrix(1.5 0 0 1.5 -3 -3)"/>
187
+ </svg>
188
+ `,go=`<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 24 24">
189
+ <path d="M3 6h6v6H3z" style="fill:#262626" transform="matrix(1.5 0 0 1.5 10.5 -9)"/>
190
+ <path d="M2 6v12h12v-6H8V6z" style="fill:#262626" transform="matrix(1.5 0 0 1.5 -3 -3)"/>
191
+ </svg>
192
+ `,_o=new oe({strictVariables:!0}),vo=(e,t)=>_o.parseAndRender(e,t),yo=e=>g(e,{recursive:!0}).then(()=>{}),bo=async(e,t,n)=>{if(!n&&ie(e))throw Error(`${e} already exists. Use --force to overwrite it.`);await C(e,t,`utf-8`)},xo=async e=>{let{targetDirectory:t,force:n,formatting:r,hostUrl:i,schema:a,linting:o,packageName:s,packageVersions:c,useWorkspaceDependencies:l}=e,u=Object.keys(a.slots??{}).sort(),d=Object.keys(a.views??{}).sort().find(e=>u.some(t=>a.slots?.[t]?.views.includes(e)));if(d===void 0)throw Error(`The host schema has no views supported by a slot. Add a view and slot before running tailorkit init.`);let f=u.find(e=>a.slots?.[e]?.views.includes(d)),p=a.components?.Box,m=p?.children===!0&&!p.fields?.required?.length,h=T.join(t,`src`,`tailorkit.gen.ts`);if(!n&&ie(h))throw Error(`${h} already exists. Use --force to overwrite it.`);let g=l?`workspace:*`:c.tailorkit,_=[],v=[];o&&(_.push(`pnpm run lint`),v.push(`pnpm run lint:fix`)),r&&(_.push(`pnpm run format`),v.push(`pnpm run format:fix`));let y={viewPath:JSON.stringify(d),slotName:JSON.stringify(f),useBox:m,checkScript:_.join(` && `),fixScript:v.join(` && `),formatting:r,hostUrl:i,linting:o,oxfmtVersion:c.oxfmt,oxlintVersion:c.oxlint,packageName:s,preactVersion:c.preact,tailorkitVersion:g,typescriptVersion:c.typescript,zodVersion:c.zod??`^4.0.0`,drizzleKitVersion:c.drizzleKit??`1.0.0-rc.4-5d5b77c`,drizzleOrmVersion:c.drizzleOrm??`1.0.0-rc.4-5d5b77c`};await yo(T.join(t,`src`,`views`)),await yo(T.join(t,`src`,`functions`));let b=[{template:ro,dest:`package.json`},{template:io,dest:`tsconfig.json`},{template:ao,dest:`tailorkit.config.ts`},{template:ho,dest:`logo-dark.svg`},{template:go,dest:`logo-light.svg`},{template:oo,dest:`.gitignore`},{template:so,dest:`oxlint.config.ts`,condition:o},{template:co,dest:`oxfmt.config.ts`,condition:r},{template:lo,dest:T.join(`src`,`client.ts`)},{template:uo,dest:T.join(`src`,`views`,`default.tsx`)},{template:fo,dest:T.join(`src`,`server.ts`)},{template:po,dest:T.join(`src`,`schema.ts`)},{template:mo,dest:T.join(`src`,`functions`,`greeting.ts`)}];await Promise.all(b.filter(e=>e.condition!==!1).map(async({template:e,dest:r})=>{let i=await vo(e,y);await bo(T.join(t,r),i,n)})),await Ja({cwd:t,schema:a})},So=[`pnpm`,`yarn`,`npm`,`bun`],Co=e=>So.includes(e),wo=e=>e.trim().toLowerCase().replaceAll(/[^a-z0-9._/-]+/gu,`-`).replaceAll(/^-+|-+$/gu,``),Q=e=>(s(e)&&(i(`Init cancelled.`),process.exit(0)),e),To=(e,t)=>T.resolve(t,e??`.`),Eo=async(e,t)=>{let n=wo(T.basename(t))||`tailorkit-app`;return wo(e===void 0?Q(await f({defaultValue:n,message:`Package name`,placeholder:n,validate:e=>wo(e??``).length===0?`Enter a package name.`:void 0})):e)},Do=async e=>{if(e!==void 0){if(Co(e))return e;throw Error(`--package-manager must be one of: ${So.join(`, `)}.`)}return Q(await u({initialValue:`pnpm`,message:`Package manager`,options:So.map(e=>({label:e,value:e}))}))},Oo=async e=>e===void 0?Q(await a({initialValue:!0,message:`Add linting with oxlint?`})):e,ko=async e=>e===void 0?Q(await a({initialValue:!0,message:`Add formatting with oxfmt?`})):e,Ao=e=>{try{Ai(e??``);return}catch{return`Enter a valid host URL.`}},jo=async e=>{if(e!==void 0){let t=Ao(e);if(t!==void 0)throw Error(t);return Ai(e)}let t=`https://example.com/api/tailorkit`;return Ai(Q(await f({defaultValue:t,message:`Host URL`,placeholder:t,validate:Ao})))},Mo=async e=>e===void 0?Q(await a({initialValue:!0,message:`Install dependencies?`})):e,No=async(e,t)=>t||!ie(e)?t:Q(await a({initialValue:!1,message:`${m.cyan(e)} already exists. Overwrite matching files?`})),Po=(e,t,n)=>new Promise((r,i)=>{let a=re(e,t,{cwd:n,stdio:`inherit`});a.on(`close`,r),a.on(`error`,i)}),Fo=async(e,t)=>{let n=d();n.start(`Installing dependencies with ${t}`);let r=await Po(t,[`install`],e);if(r!==0)throw n.stop(`Install failed.`),Error(`${t} install exited with code ${r}.`);n.stop(`Installed dependencies.`)},Io=async(e,t)=>{let n=d();n.start(`Formatting project`);let r=await Po(t,[`run`,`format:fix`],e);if(r!==0)throw n.stop(`Formatting failed.`),Error(`${t} run format:fix exited with code ${r}.`);n.stop(`Formatted project.`)},Lo=async e=>{let t=To(e.directory,e.cwd),n=await Eo(e.name,t),r=T.join(t,n),i=await No(r,e.force??!1),a=await Do(e.packageManager),o=await jo(e.host),s=await Oo(e.linting),c=await ko(e.formatting),l=await Mo(e.install),u=d();u.start(`Fetching host schema`);let f;try{f=await qa(o),u.stop(`Fetched host schema.`)}catch(e){throw u.stop(`Unable to fetch host schema.`),e}u.start(`Resolving package versions`);let p=await no();return u.stop(`Resolved package versions.`),await g(r,{recursive:!0}),await xo({force:i,formatting:c,hostUrl:o,linting:s,packageName:n,packageVersions:p,schema:f,targetDirectory:r}),l&&(await Fo(r,a),c&&await Io(r,a)),r},Ro=262144,zo={".css":`text/css; charset=utf-8`,".html":`text/html; charset=utf-8`,".js":`text/javascript; charset=utf-8`,".json":`application/json; charset=utf-8`,".map":`application/json; charset=utf-8`},Bo=e=>e instanceof Error?e.message:String(e),Vo=e=>typeof e==`object`&&!!e&&`code`in e&&e.code===`UNAUTHORIZED`&&`message`in e&&typeof e.message==`string`&&/Preview session is unavailable|Preview developer reconnect grace expired|Preview CLI token is unavailable/u.test(e.message);async function Ho(e){let t=await b(e),n=(await y(t,{recursive:!0,withFileTypes:!0})).filter(e=>e.isFile()).toSorted((e,t)=>T.join(e.parentPath,e.name).localeCompare(T.join(t.parentPath,t.name)));if(n.length>100)throw Error(`Preview build exceeds 100 files.`);let r=[],i={files:[]},a=0;for(let e of n){let n=await b(T.join(e.parentPath,e.name)),o=T.relative(t,n).replaceAll(T.sep,`/`);if(!o||o.startsWith(`../`)||T.isAbsolute(o))throw Error(`Preview file escapes the build output.`);let s=await v(n);if(s.length>1048576)throw Error(`Preview file ${o} exceeds 1 MiB.`);if(a+=s.length,a>10485760)throw Error(`Preview build exceeds 10 MiB.`);r.push(s),i.files.push({path:o,contentType:zo[T.extname(o)]??`application/octet-stream`,size:s.length,chunks:Math.ceil(s.length/Ro),sha256:D(`sha256`).update(s).digest(`hex`)})}if(!i.files.some(e=>e.path===`client.js`))throw Error(`Preview build is missing client.js.`);return{files:r,manifest:i,fingerprint:D(`sha256`).update(JSON.stringify(i)).digest(`hex`)}}function Uo(e,t,n){let r=0;return async()=>{let i=++r;try{let n=await e();i===r&&t(n)}catch(e){i===r&&n(e)}}}async function Wo(e,t){let{buildId:n}=await e.beginBuild({manifest:t.manifest});for(let[r,i]of t.files.entries())for(let a=0;a<(t.manifest.files[r]?.chunks??0);a++)await e.uploadChunk({buildId:n,fileIndex:r,chunkIndex:a,base64:i.subarray(a*Ro,(a+1)*Ro).toString(`base64`)});await e.commitBuild({buildId:n})}var Go=E.object({config:E.string().optional(),cwd:E.string().default(`.`),mode:E.string().optional(),outDir:E.string().optional(),replace:E.boolean().optional()}),Ko=e=>{let t=Go.parse(e);return{configPath:t.config,cwd:t.cwd,mode:t.mode,outDir:t.outDir,replace:t.replace}};async function qo(e){let t=await te(e.configPath,e.cwd);if(!t.config.appId)throw Error(`Missing appId. Deploy once before starting a remote preview.`);let n=await Qi(e),r=await Xi(n.hostUrl);if(!r?.deployToken)throw Error(`Not logged in. Run tailorkit login first.`);let{buildApp:i}=await import(`@tailorkit/app/builder`),a=await i({...e,watch:!0}),o=async()=>{a&&typeof a==`object`&&`close`in a&&await a.close()},s=await Jr({headers:{authorization:`Bearer ${r.deployToken}`},url:n.hostUrl}).preview.start({appId:t.config.appId,replaceActive:e.replace}).catch(async e=>{throw await o(),e}),l=`data`in s?s.data:s;if(!l)throw await o(),Error(`Unable to start preview session.`);let u=Jr({fetch:(e,t)=>fetch(e,{...t,signal:AbortSignal.timeout(5e3)}),headers:{authorization:`Bearer ${r.deployToken}`},url:n.hostUrl}),d=async()=>{try{await u.preview.stop({sessionId:l.sessionId})}catch(e){c.warn(`Unable to end preview session: ${Bo(e)}`)}},f=T.resolve(t.root,e.outDir??t.config.build?.outDir??`.tailorkit`),p,h;try{p=await b(T.join(f,`client`)),h=await Ho(p)}catch(e){try{await o()}catch(e){c.warn(`Unable to close preview watcher: ${Bo(e)}`)}throw await d(),e}let g,_,v,y=!1,x=!1,S,C,w,ee=0,E=1e3,D=0,ne=()=>{y||(y=!0,process.off(`SIGINT`,O),process.off(`SIGTERM`,O),S&&clearTimeout(S),C&&clearTimeout(C),w&&clearInterval(w),v?.close(),o().catch(e=>{c.warn(`Unable to close preview watcher: ${Bo(e)}`)}),c.warn(`Preview session ended. Start a new preview to continue.`))},re=()=>{y||!_||x||(S&&clearTimeout(S),S=setTimeout(()=>{if(S=void 0,!_||h.fingerprint===g)return;let e=h,t=_,n=D;x=!0,ee=Date.now(),Wo(t,e).then(()=>{n===D&&(g=e.fingerprint)}).catch(e=>{y||c.warn(`Preview upload interrupted: ${Bo(e)}`)}).finally(()=>{n===D&&(x=!1,h.fingerprint!==g&&re())})},Math.max(500,500-(Date.now()-ee))))},ie=Uo(()=>Ho(p),e=>{y||(h=e,re())},e=>{y||c.warn(`Keeping the last successful preview: ${Bo(e)}`)});a&&typeof a==`object`&&`on`in a&&a.on(`event`,e=>{e.code===`BUNDLE_END`&&ie()});let ae=()=>{if(y)return;let e=new URL(l.tunnelUrl);e.searchParams.set(`role`,`uploader`);let t=new WebSocket(e,l.tunnelToken);v=t,t.addEventListener(`open`,()=>{D+=1,E=1e3,_=qr(t);let e=()=>void _?.heartbeat().catch(e=>{v!==t||y||(Vo(e)?ne():t.close())});e(),w=setInterval(e,2e4),re()}),t.addEventListener(`close`,()=>{D+=1,x=!1,w&&clearInterval(w),v===t&&(v=void 0,_=void 0),y||(C=setTimeout(ae,E),E=Math.min(E*2,3e4))}),t.addEventListener(`error`,()=>t.close())};ae();let O=()=>{y||(y=!0,process.off(`SIGINT`,O),process.off(`SIGTERM`,O),o().catch(e=>{c.warn(`Unable to close preview watcher: ${Bo(e)}`)}),S&&clearTimeout(S),C&&clearTimeout(C),w&&clearInterval(w),v?.close(),d().finally(()=>process.exit(0)))};process.once(`SIGINT`,O),process.once(`SIGTERM`,O);let oe=new URL(n.hostUrl);oe.pathname=`${oe.pathname.replace(/\/+$/u,``)}/preview/${l.shareId}`,c.info(m.green(`Host preview: ${oe.href}`)),c.info(m.dim(`Uploading built app assets from ${p}`))}var Jo=e=>{let t=ee();return t===`darwin`?{args:[e],command:`open`}:t===`win32`?{args:[`/c`,`start`,``,e],command:`cmd`}:{args:[e],command:`xdg-open`}},Yo=e=>new Promise(t=>{let{args:n,command:r}=Jo(e),i=re(r,n,{detached:!0,stdio:`ignore`,windowsHide:!0});i.once(`error`,()=>{t(!1)}),i.once(`spawn`,()=>{i.unref(),t(!0)})}),$=p(`tailorkit`),Xo=e=>{if(e<1024)return`${e} B`;let t=[`KB`,`MB`,`GB`],n=e/1024,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r+=1;return`${n.toFixed(n>=10?1:2)} ${t[r]}`},Zo=async(e,t=!0)=>{let n=d(),r=!1;try{let i=await Zi(e,({expiresAt:e,hostUrl:i,userCode:a})=>{let o=Ki(i,a);t&&Yo(o),c.info(`Enter this code in the host app: ${m.bold(a)}`),c.info(`Approval URL: ${m.cyan(o)}`),c.info(`Code expires at ${e.toLocaleString()}.`),c.info(`Waiting for approval...`),n.start(`Checking approval status`),r=!0});return r&&n.stop(`Approved.`),i}catch(e){throw r&&n.stop(`Approval failed.`),e}};$.option(`--cwd <path>`,`Working directory`,{default:`.`}),$.command(`preview`,`Preview the app inside a host app`).option(`--config <path>`,`Path to tailorkit config`).option(`--out-dir <path>`,`Build output directory`).option(`--mode <mode>`,`Vite mode`).option(`--replace`,`End the active preview for this app and start a new one`).action(async e=>{o(m.bold(`TailorKit`));try{await qo(Ko(e))}catch(e){c.error(e instanceof Error?e.message:String(e)),process.exit(1)}}),$.command(`login`,`Authenticate the TailorKit CLI with a host app`).option(`--config <path>`,`Path to tailorkit config`).option(`--open`,`Open the approval URL in the default browser`,{default:!0}).option(`--timeout <seconds>`,`Seconds to wait for approval`,{default:1800}).action(async e=>{o(m.bold(`TailorKit`));try{let t=Number.parseInt(String(e.timeout??`1800`),10);if(!Number.isInteger(t)||t<=0)throw Error(`--timeout must be a positive integer.`);await Zo({configPath:e.config,cwd:String(e.cwd??`.`),timeout:t*1e3},e.open!==!1),l(`Authenticated successfully.`)}catch(e){c.error(e instanceof Error?e.message:String(e)),process.exit(1)}}),$.command(`logout`,`Remove stored TailorKit CLI credentials for a host app`).option(`--config <path>`,`Path to tailorkit config`).action(async e=>{o(m.bold(`TailorKit`));try{let t=await $i({configPath:e.config,cwd:String(e.cwd??`.`)});l(t.removed?`Logged out of ${m.cyan(t.hostUrl)}.`:`No stored credentials found for ${m.cyan(t.hostUrl)}.`)}catch(e){c.error(e instanceof Error?e.message:String(e)),process.exit(1)}}),$.command(`whoami`,`Show the current TailorKit CLI authentication scope`).option(`--config <path>`,`Path to tailorkit config`).action(async e=>{o(m.bold(`TailorKit`));try{let t=await Qi({configPath:e.config,cwd:String(e.cwd??`.`)});c.info(`Host: ${m.cyan(t.hostUrl)}`),c.info(`Scope: ${m.cyan(JSON.stringify(t.scope))}`),l(`Authenticated.`)}catch(e){c.error(e instanceof Error?e.message:String(e)),process.exit(1)}}),$.command(`deploy`,`Build and deploy the TailorKit app`).option(`--config <path>`,`Path to tailorkit config`).option(`--out-dir <path>`,`Build output directory`).option(`--mode <mode>`,`Vite mode`).action(async e=>{o(m.bold(`TailorKit`));let t=d();try{t.start(`Building and deploying app`);let n=await pa({configPath:e.config,cwd:String(e.cwd??`.`),mode:e.mode,onLoginRequired:async()=>{t.stop(`Authentication required.`);let n=await Zo({configPath:e.config,cwd:String(e.cwd??`.`)});return t.start(`Building and deploying app`),n},onMissingAppId:async({appName:e,configPath:n,hostUrl:r,reason:i})=>{t.stop(`App not linked.`),c.info(i===`missing`?`No appId found in ${m.cyan(n)}.`:`The appId in ${m.cyan(n)} does not exist.`),c.info(`Host: ${m.cyan(r)}`);let o=await a({initialValue:!0,message:i===`missing`?`Create a TailorKit app named ${e}?`:`Create a new TailorKit app named ${e} and update the config?`});return!s(o)&&(o&&t.start(`Creating app and deploying`),o===!0)},onTypecheckFailed:async({command:e,output:n})=>{t.stop(`Type check failed.`),c.error(`Type check failed while running ${m.cyan(e)}.`),n&&c.error(n);let r=await a({initialValue:!1,message:`Type check failed, but the app built successfully. Upload anyway?`});return!s(r)&&(r&&t.start(`Uploading app`),r===!0)},outDir:e.outDir});t.stop(`Deployed app.`),n.createdApp&&c.info(`Created app and updated tailorkit.config.ts with ${m.cyan(n.appId)}.`),c.info(`Host: ${m.cyan(n.hostUrl)}`),c.info(`App: ${m.cyan(n.appId)}`),c.info(`Deployment: ${m.cyan(n.deploymentId)}`),c.info(`Uploaded files:`);for(let e of n.uploadedFiles)c.info(` ${m.cyan(e.path)} ${m.dim(`${Xo(e.size)} raw, ${Xo(e.gzipSize)} gzip`)}`);n.status&&c.info(`Status: ${m.cyan(n.status)}`),l(`Deployment published.`)}catch(e){t.stop(`Deployment failed.`),c.error(e instanceof Error?e.message:String(e)),process.exit(1)}}),$.command(`build`,`Build the TailorKit app`).option(`--config <path>`,`Path to tailorkit config`).option(`--out-dir <path>`,`Build output directory`).option(`--mode <mode>`,`Vite mode`).action(async e=>{o(m.bold(`TailorKit`));try{let{buildApp:t}=await import(`@tailorkit/app/builder`);await t({configPath:e.config,cwd:String(e.cwd??`.`),mode:e.mode,outDir:e.outDir}),l(`Built app.`)}catch(e){c.error(e instanceof Error?e.message:String(e)),process.exit(1)}}),$.command(`db <command>`,`Generate database migrations with db generate`).option(`--config <path>`,`Path to tailorkit config`).option(`--name <name>`,`Migration name`).action(async(e,t)=>{o(m.bold(`TailorKit`));try{if(e!==`generate`)throw Error(`Unknown database command: ${e}. Use tailorkit db generate.`);let{generateAppMigrations:n}=await import(`@tailorkit/app/builder`),r=await n({configPath:t.config,cwd:String(t.cwd??`.`),name:t.name});l(`Migrations are up to date in ${m.cyan(r)}.`)}catch(e){c.error(e instanceof Error?e.message:String(e)),process.exit(1)}}),$.command(`generate`,`Generate TailorKit app bindings`).option(`--config <path>`,`Path to tailorkit config`).option(`--out <path>`,`Generated TypeScript output file`).action(async e=>{o(m.bold(`TailorKit`));try{let t=await Ja({configPath:e.config,cwd:String(e.cwd??`.`),outFile:e.out});l(`Generated ${m.cyan(t)}.`)}catch(e){c.error(e instanceof Error?e.message:String(e)),process.exit(1)}}),$.command(`init [directory]`,`Create a new TailorKit app`).option(`--name <name>`,`Package name`).option(`--host <url>`,`TailorKit host URL`).option(`--package-manager <pm>`,`Package manager: bun, yarn, pnpm, or npm`).option(`--lint`,`Add oxlint (use --no-lint to skip)`).option(`--format`,`Add oxfmt (use --no-format to skip)`).option(`--install`,`Install dependencies after scaffolding (use --no-install to skip)`).option(`--force`,`Overwrite existing files`).action(async(e,t)=>{o(m.bold(`TailorKit`));try{let n=await Lo({cwd:String(t.cwd??`.`),directory:e,force:t.force,formatting:t.format,host:t.host,install:t.install,linting:t.lint,name:t.name,packageManager:t.packageManager});l(`Created app at ${m.cyan(n)}.`)}catch(e){c.error(e instanceof Error?e.message:String(e)),process.exit(1)}}),$.help(),$.version(`0.1.0-beta.17`),$.parse();export{};
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@tailorkit/cli",
3
- "version": "0.1.0-beta.14",
3
+ "version": "0.1.0-beta.17",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
7
- "url": "git+https://github.com/AlfieJones/tailorkit.git",
7
+ "url": "git+https://github.com/tailorkit-labs/TailorKit.git",
8
8
  "directory": "packages/cli"
9
9
  },
10
10
  "bin": {
@@ -22,25 +22,26 @@
22
22
  "access": "public"
23
23
  },
24
24
  "dependencies": {
25
- "@clack/prompts": "^1.8.0",
26
- "@tailorkit/app": "0.1.0-beta.14",
27
- "@tailorkit/client-platform": "0.1.0-beta.14",
28
- "@tailorkit/core": "0.1.0-beta.14",
25
+ "@clack/prompts": "^1.8.1",
26
+ "@tailorkit/app": "0.1.0-beta.17",
27
+ "@tailorkit/client-platform": "0.1.0-beta.17",
28
+ "@tailorkit/core": "0.1.0-beta.17",
29
29
  "cac": "^7.0.0",
30
+ "jose": "6.2.12",
30
31
  "liquidjs": "^10.29.0",
31
32
  "picocolors": "^1.1.1",
32
- "zod": "^4.6.2"
33
+ "vite": "npm:@voidzero-dev/vite-plus-core@1.0.0",
34
+ "zod": "^4.6.5"
33
35
  },
34
36
  "devDependencies": {
35
37
  "@tailorkit/config": "0.0.0",
36
- "@types/node": "26.2.0",
38
+ "@types/node": "26.6.3",
37
39
  "typescript": "^7.0.2",
38
- "vite": "^8.3.0",
39
- "vitest": "^5.0.0"
40
+ "vite-plus": "1.0.0"
40
41
  },
41
42
  "scripts": {
42
- "build": "vite build",
43
+ "build": "vp build",
43
44
  "check-types": "tsc --noEmit",
44
- "test": "vitest run"
45
+ "test": "vp test run"
45
46
  }
46
47
  }
@@ -1,2 +0,0 @@
1
- import{fileURLToPath as e}from"node:url";import{dirname as t}from"node:path";const n=e(import.meta.url);t(n);import{t as r}from"../index.js";import{z as i}from"zod";import{readFile as a,writeFile as o}from"fs/promises";import s from"path";import{createRequire as c}from"module";import{build as l}from"vite";var u=262144,d=2048,f=e=>{if(e.length<33||![137,80,78,71,13,10,26,10].every((t,n)=>e[n]===t))throw Error(`Logo content is not a valid PNG file.`);let t=new DataView(e.buffer,e.byteOffset,e.byteLength),n=e[12]===73&&e[13]===72&&e[14]===68&&e[15]===82;if(t.getUint32(8)!==13||!n)throw Error(`Logo content is not a valid PNG file.`);return{width:t.getUint32(16),height:t.getUint32(20)}},p=e=>{let t=(t,n)=>new TextDecoder().decode(e.subarray(t,n));if(e.length<30||t(0,4)!==`RIFF`||t(8,12)!==`WEBP`)throw Error(`Logo content is not a valid WebP file.`);let n=new DataView(e.buffer,e.byteOffset,e.byteLength),r=t(12,16);if(r===`VP8X`)return{width:1+n.getUint16(24,!0)+(e[26]??0)*65536,height:1+n.getUint16(27,!0)+(e[29]??0)*65536};if(r===`VP8L`&&e[20]===47){let e=n.getUint32(21,!0);return{width:e%16384+1,height:Math.floor(e/16384)%16384+1}}if(r===`VP8 `&&e[23]===157&&e[24]===1&&e[25]===42)return{width:n.getUint16(26,!0)%16384,height:n.getUint16(28,!0)%16384};throw Error(`Logo content is not a supported WebP file.`)},m=e=>{let t=new TextDecoder(`utf-8`,{fatal:!0,ignoreBOM:!1}).decode(e);if(!/<svg(?:\s|>)/iu.test(t))throw Error(`Logo content is not a valid SVG file.`);if(/<(?:script|foreignObject|iframe|object|embed)(?:\s|>)/iu.test(t)||/\son[a-z]+\s*=/iu.test(t)||/(?:href|src)\s*=\s*["'](?!#)/iu.test(t)||/(?:@import|url\(\s*(?!["']?#))/iu.test(t)||/<!DOCTYPE|<!ENTITY|<\?xml-stylesheet/iu.test(t))throw Error(`SVG logos cannot contain scripts or external resources.`)};function h(e,t){if(e.byteLength<1||e.byteLength>262144)throw Error(`Logo must be between 1 and ${u} bytes.`);if(t===`image/svg+xml`)return m(e),{};let n=t===`image/png`?f(e):p(e);if(n.width<1||n.height<1||n.width>2048||n.height>2048)throw Error(`Raster logos cannot exceed ${d} by ${d} pixels.`);return n}var g=10,_=e=>{let t=/^(\d+)\./u.exec(e);if(!t?.[1])throw Error(`Unable to parse Preact version "${e}".`);return{major:Number.parseInt(t[1],10),version:e}},v=e=>{let t=_(e);if(t.major<g)throw Error(`TailorKit requires Preact ${g}.0.0 or newer, but found ${e}.`);return t},y=i.object({assets:i.object({client:i.literal(`client.js`),logos:i.object({dark:i.string().regex(/^logo-dark\.(?:png|svg|webp)$/u).optional(),light:i.string().regex(/^logo-light\.(?:png|svg|webp)$/u).optional()}).optional()}),version:i.literal(1)}),b=e=>y.parse({assets:{client:`client.js`,...e&&Object.keys(e).length>0?{logos:e}:{}},version:1}),x=`preact/package.json`,S=`\0tailorkit-preact-package-json`,C=async(e={})=>{let t=await r(e.configPath,e.cwd),n=e.entry??t.config.client?.entry??`./src/client.ts`,i=e.outDir??t.config.build?.outDir??`.tailorkit`,c=w(t.root);v(c);let u=s.resolve(t.root,i),d=async()=>{let e={};for(let n of[`light`,`dark`]){let r=t.config.logos?.[n];if(!r)continue;let i=s.extname(r).toLowerCase().slice(1),c={png:`image/png`,svg:`image/svg+xml`,webp:`image/webp`}[i];if(!c)throw Error(`The ${n} logo must be an SVG, PNG, or WebP file.`);let l=await a(s.resolve(t.root,r));h(l,c);let d=`logo-${n}.${i}`;await o(s.join(u,d),l),e[n]=d}await o(s.join(u,`tailorkit-upload.json`),`${JSON.stringify(b(e),null,2)}
2
- `,`utf-8`)},f,p,m=new Promise((e,t)=>{f=e,p=t});e.watch||m.catch(()=>{});let g=await l({build:{emptyOutDir:!0,lib:{entry:s.resolve(t.root,n),fileName:`client`,formats:[`es`]},outDir:u,watch:e.watch?{}:null,minify:`oxc`,rollupOptions:{output:{comments:{annotation:!1,jsdoc:!1,legal:!1},minify:!0,minifyInternalExports:!0}}},configFile:!1,mode:e.mode,oxc:{jsx:{importSource:`preact`}},plugins:[{name:`tailorkit-preview-build-ready`,async closeBundle(){try{await d(),f?.()}catch(e){throw p?.(e instanceof Error?e:Error(String(e))),e}}},{name:`tailorkit-preact-package-json`,enforce:`pre`,resolveId(e){return e===x?S:null},load(e){if(e===S){let e=JSON.stringify(c);return`export const version = ${e}; export default { version: ${e} };`}return null}}],root:t.root});return e.watch&&(g&&typeof g==`object`&&`on`in g&&g.on(`event`,e=>{e.code===`ERROR`&&p?.(e.error??Error(`Initial app build failed.`))}),await m),g};function w(e){let t=c(s.join(e,`package.json`));try{let e=t(t.resolve(`preact/package.json`));if(typeof e.version==`string`)return e.version}catch(e){throw Error(`TailorKit requires Preact to build an app. Install preact@^10 and try again.`,{cause:e})}throw Error(`Unable to read the installed Preact version.`)}export{C as buildApp,y as tailorkitUploadManifestSchema};