@tailorkit/cli 0.1.0-beta.13 → 0.1.0-beta.16
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 +81 -104
- package/package.json +13 -12
- package/dist/assets/builder-D5o0m6gu.js +0 -2
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 ee,mkdir as h,readFile as g,realpath as te,rm as ne,stat as re,writeFile as _}from"node:fs/promises";import{homedir as ie,platform as ae}from"node:os";import v from"node:path";import{z as y}from"zod";import oe from"path";import{createHash as se}from"node:crypto";import{existsSync as ce}from"node:fs";import{promisify as le}from"node:util";import{gzip as ue}from"node:zlib";import{spawn as de}from"node:child_process";import{Liquid as fe}from"liquidjs";var b=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),x=r(import.meta.url),pe=y.object({entry:y.string().default(`./src/client.ts`)}),me=y.object({outDir:y.string().default(`.tailorkit`)}),he=y.object({dark:y.string().min(1).optional(),light:y.string().min(1).optional()}),ge=y.object({appId:y.string().min(1).optional(),build:me.optional(),client:pe.optional(),host:y.string().url(),logos:he.optional()}),_e=b((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`],ee=[`false`],h=n(`tag:yaml.org,2002:bool`,{implicit:!0,implicitFirstChars:[`t`,`f`],resolve:e=>m.indexOf(e)!==-1||ee.indexOf(e)===-1&&t,identify:e=>Object.prototype.toString.call(e)===`[object Boolean]`,represent:e=>e?`true`:`false`}),g=[`true`,`True`,`TRUE`,`y`,`Y`,`yes`,`Yes`,`YES`,`on`,`On`,`ON`],te=[`false`,`False`,`FALSE`,`n`,`N`,`no`,`No`,`NO`,`off`,`Off`,`OFF`],ne=n(`tag:yaml.org,2002:bool`,{implicit:!0,implicitFirstChars:[`y`,`Y`,`n`,`N`,`t`,`T`,`f`,`F`,`o`,`O`],resolve:e=>g.indexOf(e)!==-1||te.indexOf(e)===-1&&t,identify:e=>Object.prototype.toString.call(e)===`[object Boolean]`,represent:e=>e?`true`:`false`}),re=RegExp(`^(?:0o[0-7]+|0x[0-9a-fA-F]+|[-+]?[0-9]+)$`),_=RegExp(`^(?:[-+]?0b[0-1]+|[-+]?0o[0-7]+|[-+]?0x[0-9a-fA-F]+|[-+]?[0-9]+)$`);function ie(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 ae(e,n){if(n){if(!_.test(e))return t}else if(!re.test(e))return t;let r=ie(e);return Number.isFinite(r)?r:t}var v=n(`tag:yaml.org,2002:int`,{implicit:!0,implicitFirstChars:[`-`,`+`,...`0123456789`],resolve:ae,identify:e=>Number.isInteger(e)&&!Object.is(e,-0)&&e.toString(10).indexOf(`e`)<0,represent:e=>e.toString(10)}),y=RegExp(`^-?(?:0|[1-9][0-9]*)$`),oe=RegExp(`^(?:[-+]?0b[0-1]+|[-+]?0o[0-7]+|[-+]?0x[0-9a-fA-F]+|[-+]?[0-9]+)$`);function se(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 ce(e,n){if(n){if(!oe.test(e))return t}else if(!y.test(e))return t;let r=se(e);return Number.isFinite(r)?r:t}var le=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)}),ue=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 de(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 fe(e){if(!ue.test(e))return t;let n=de(e);return Number.isFinite(n)?n:t}var b=n(`tag:yaml.org,2002:int`,{implicit:!0,implicitFirstChars:[`-`,`+`,...`0123456789`],resolve:fe,identify:e=>Number.isInteger(e)&&!Object.is(e,-0)&&e.toString(10).indexOf(`e`)<0,represent:e=>e.toString(10)}),x=RegExp(`^(?:[-+]?[0-9]+(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?|[-+]?\\.[0-9]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$`),pe=RegExp(`^(?:[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$`);function me(e){if(!x.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)||pe.test(e)?i:t}function he(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 ge=n(`tag:yaml.org,2002:float`,{implicit:!0,implicitFirstChars:[`-`,`+`,`.`,...`0123456789`],resolve:me,identify:e=>typeof e==`number`&&(!Number.isInteger(e)||Object.is(e,-0)||e.toString(10).indexOf(`e`)>=0),represent:he}),_e=RegExp(`^-?(?:0|[1-9][0-9]*)(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$`),ve=RegExp(`^(?:[-+]?[0-9]+(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?|[-+]?\\.[0-9]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$`);function ye(e,n){if(n){if(!ve.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(!_e.test(e))return t;let r=Number(e);return Number.isFinite(r)?r:t}function be(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 xe=n(`tag:yaml.org,2002:float`,{implicit:!0,implicitFirstChars:[`-`,...`0123456789`],resolve:ye,identify:e=>typeof e==`number`&&(!Number.isInteger(e)||Object.is(e,-0)||e.toString(10).indexOf(`e`)>=0),represent:be}),Se=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))$`),Ce=RegExp(`^(?:[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$`);function we(e){if(!Se.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)||Ce.test(e)?i:t}function Te(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 Ee=n(`tag:yaml.org,2002:float`,{implicit:!0,implicitFirstChars:[`-`,`+`,`.`,...`0123456789`],resolve:we,identify:e=>typeof e==`number`&&(!Number.isInteger(e)||Object.is(e,-0)||e.toString(10).indexOf(`e`)>=0),represent:Te}),De=n(`tag:yaml.org,2002:merge`,{implicit:!0,implicitFirstChars:[`<`],resolve:(e,n)=>e===`<<`||n&&e===``?`<<`:t,identify:()=>!1}),Oe=/^[A-Za-z0-9+/]*={0,2}$/;function ke(e){let n=e.replace(/\s/g,``);if(n.length%4!=0||!Oe.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 Ae(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}var je=n(`tag:yaml.org,2002:binary`,{resolve:ke,identify:e=>Object.prototype.toString.call(e)===`[object Uint8Array]`,represent:Ae}),Me=RegExp(`^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$`),Ne=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 Pe(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 Fe(e){let n=Me.exec(e);if(n===null&&(n=Ne.exec(e)),n===null)return t;let r=+n[1],i=n[2]-1,a=+n[3];if(!n[4]){let e=Pe(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=Pe(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 Ie=n(`tag:yaml.org,2002:timestamp`,{implicit:!0,implicitFirstChars:[...`0123456789`],resolve:Fe,identify:e=>e instanceof Date,represent:e=>e.toISOString()}),Le=r(`tag:yaml.org,2002:seq`,{create:()=>[],addItem:(e,t)=>{e.push(t)},identify:Array.isArray});function Re(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function ze(e,t){let n={};for(let r of t)e[r]!==void 0&&(n[r]=e[r]);return n}var Be=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(Re(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}),S=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}),Ve=i(`tag:yaml.org,2002:map`,{create:()=>({}),identify:Re,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}}),C=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 w(e){"@babel/helpers - typeof";return w=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},w(e)}function He(e,t){if(w(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(w(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Ue(e){var t=He(e,`string`);return w(t)==`symbol`?t:t+``}function T(e,t,n){return(t=Ue(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function We(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 E(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?We(Object(n),!0).forEach(function(t){T(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):We(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Ge(){return{scalar:Object.create(null),sequence:Object.create(null),mapping:Object.create(null)}}function Ke(){return{scalar:[],sequence:[],mapping:[]}}function qe(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 D=class e{constructor(e){T(this,`tags`,void 0),T(this,`implicitScalarTags`,void 0),T(this,`implicitScalarByFirstChar`,void 0),T(this,`implicitScalarAnyFirstChar`,void 0),T(this,`defaultScalarTag`,void 0),T(this,`defaultSequenceTag`,void 0),T(this,`defaultMappingTag`,void 0),T(this,`exact`,void 0),T(this,`prefix`,void 0);let t=qe(e),n=[],r=Ge(),i=Ke();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])}},Je=new D([a,Le,Ve]),Ye=new D([...Je.tags,c,h,le,xe]),O=new D([...Je.tags,s,p,v,ge]),Xe=new D([...Je.tags,u,ne,b,Ee,Ie,De,je,Be,S,C]),Ze=Xe.withTags(E(E({},b),{},{resolve:(e,n,r)=>{let i=b.resolve(e,n,r);return i===t?v.resolve(e,n,r):i}}),E(E({},Ee),{},{resolve:(e,n,r)=>{let i=Ee.resolve(e,n,r);return i===t?ge.resolve(e,n,r):i}})),Qe=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||Re(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 $e(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 et=i(`tag:yaml.org,2002:map`,{create:()=>({}),identify:Re,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=$e(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=$e(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}}),tt={maxLength:79,indent:1,linesBefore:3,linesAfter:2};function nt(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 rt(e,t){return` `.repeat(Math.max(t-e.length,0))+e}function it(e,t){if(!e.buffer)return null;let n=E(E({},tt),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=nt(e.buffer,i[s-t],a[s-t],e.position-(i[s]-i[s-t]),u);c=`${` `.repeat(n.indent)}${rt((e.line-t+1).toString(),l)} | ${r.str}\n${c}`}let d=nt(e.buffer,i[s],a[s],e.position,u);c+=`${` `.repeat(n.indent)}${rt((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=nt(e.buffer,i[s+t],a[s+t],e.position-(i[s]-i[s+t]),u);c+=`${` `.repeat(n.indent)}${rt((e.line+t+1).toString(),l)} | ${r.str}\n`}return c.replace(/\n$/,``)}function at(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 k=class e extends Error{constructor(e,t){super(),T(this,`reason`,void 0),T(this,`mark`,void 0),this.name=`YAMLException`,this.reason=e,this.mark=t,this.message=at(this,!1),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}toString(e){return`${this.name}: ${at(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=it(s),new e(r,s)}},A={DOCUMENT:1,SEQUENCE:2,MAPPING:3,SCALAR:4,ALIAS:5,POP:6},j={PLAIN:1,SINGLE_QUOTED:2,DOUBLE_QUOTED:3,LITERAL_BLOCK:4,FOLDED_BLOCK:5},M={BLOCK:1,FLOW:2},N={CLIP:1,STRIP:2,KEEP:3},ot=-1;function st(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
|
|
4
|
-
`.repeat(e-1)}function mt(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=ft(e,i,n);r+=pt(t.breaks),i=a=o=t.position}else i++,t!==32&&t!==9&&(o=i)}return r+e.slice(a,o)}function ht(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=ft(e,i,n);r+=pt(t.breaks),i=a=o=t.position}else i++,t!==32&&t!==9&&(o=i)}return r+e.slice(a,n)}function gt(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=ft(e,i,n).position;else if(t<256&&ct[t])r+=lt[t],i++;else{let n=P(t),a=0;for(;n>0;n--){i++;let t=dt(e.charCodeAt(i));a=(a<<4)+t}r+=ut(a),i++}a=o=i}else if(t===10||t===13){r+=e.slice(a,o);let t=ft(e,i,n);r+=pt(t.breaks),i=a=o=t.position}else i++,t!==32&&t!==9&&(o=i)}return r+e.slice(a,n)}function _t(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===N.KEEP?l+=`
|
|
12
|
-
`.repeat(u?1+d:d):i!==N.STRIP&&u&&(l+=`
|
|
13
|
-
`),l}function vt(e,t){if(t.valueStart===ot)return``;let{valueStart:n,valueEnd:r}=t;if(t.fast)return e.slice(n,r);switch(t.style){case j.SINGLE_QUOTED:return ht(e,n,r);case j.DOUBLE_QUOTED:return gt(e,n,r);case j.LITERAL_BLOCK:return _t(e,n,r,t.indent,t.chomping,!1);case j.FOLDED_BLOCK:return _t(e,n,r,t.indent,t.chomping,!0);default:return mt(e,n,r)}}var yt=Object.assign(Object.create(null),{"!":`!`,"!!":`tag:yaml.org,2002:`});function bt(e){return encodeURI(e).replace(/!/g,`%21`)}function xt(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]??yt[r]??r;return decodeURIComponent(i)+decodeURIComponent(e.slice(r.length))}function St(e){let t=e;return t.charCodeAt(0)===33?(t=t.slice(1),`!${bt(t)}`):t.slice(0,18)===`tag:yaml.org,2002:`?`!!${bt(t.slice(18))}`:`!<${bt(t)}>`}var Ct=-1,wt=`tag:yaml.org,2002:merge`,Tt={filename:``,schema:O,json:!1,maxTotalMergeKeys:1e4,maxAliases:-1};function Et(e){return`tagStart`in e&&e.tagStart!==Ct?e.tagStart:`anchorStart`in e&&e.anchorStart!==Ct?e.anchorStart:`valueStart`in e&&e.valueStart!==Ct?e.valueStart:`start`in e?e.start:0}function F(e,t){k.throwAt(e.source,e.position,t,e.filename)}function Dt(e,t,n,r){try{return n.finalize(r)}catch(n){if(n instanceof k)throw n;k.throwAt(e.source,t,n instanceof Error?n.message:String(n),e.filename)}}function Ot(e,n){let r=vt(e.source,n),i=n.tagStart===Ct?``:e.source.slice(n.tagStart,n.tagEnd),a=e.schema.defaultScalarTag;if(i!==``){if(i===`!`)return{value:r,tag:a};let n=xt(i,e.tagHandlers),o=e.schema.lookupScalarTag(n);if(o){let i=o.resolve(r,!0,n);return i===t&&F(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!==``&&F(e,`cannot resolve a node with !<${n}> explicit tag`);let t=s.create(n);return{value:s.carrierIsResult?t:Dt(e,e.position,s,t),tag:s}}F(e,`unknown scalar tag !<${n}>`)}return n.style===j.PLAIN?e.schema.resolveImplicitScalarTag(r):{value:a.resolve(r,!1,a.tagName),tag:a}}function kt(e,t,n){let r=t.tagStart===Ct?``:e.source.slice(t.tagStart,t.tagEnd);return r===``||r===`!`?n:xt(r,e.tagHandlers)}function At(e){return e.nodeKind===`mapping`}function jt(e){e.totalMergeKeys++,e.maxTotalMergeKeys!==-1&&e.totalMergeKeys>e.maxTotalMergeKeys&&F(e,`merge keys exceeded maxTotalMergeKeys (${e.maxTotalMergeKeys})`)}function Mt(e,t,n,r){jt(e);for(let i of r.keys(n)){if(jt(e),t.tag.has(t.value,i))continue;let a=t.tag.addPair(t.value,i,r.get(n,i));a&&F(e,a),t.overridable??=new Set,t.overridable.add(i)}}function Nt(e,t,n,r){if(e.position=t.keyPosition,At(r))Mt(e,t,n,r);else if(r.nodeKind===`sequence`&&Array.isArray(n)){n.length>100&&F(e,`abnormal merge sequence size`);for(let r of n){let n=e.nodeTags.get(r);n||F(e,`cannot merge mappings; the provided source object is unacceptable`),Mt(e,t,r,n)}}else F(e,`cannot merge mappings; the provided source object is unacceptable`)}function Pt(e,t,n,r,i){var a;if(e.position=t.keyPosition,t.keyIsMerge){Nt(e,t,r,i);return}!e.json&&t.tag.has(t.value,n)&&!t.overridable?.has(n)&&F(e,`duplicated mapping key`);let o=t.tag.addPair(t.value,n,r);o&&F(e,o),(a=t.overridable)==null||a.delete(n)}function Ft(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`){At(n)&&e.nodeTags.set(t,n);let i=r.tag.addItem(r.value,t,r.index++);i&&F(e,i)}else if(r.hasKey){let i=r.key;r.key=void 0,r.hasKey=!1,Pt(e,r,i,t,n)}else r.key=t,r.keyPosition=e.position,r.hasKey=!0,r.keyIsMerge=n.tagName===wt}function It(e,t,n,r,i){if(t.anchorStart!==Ct){let a={value:n,tag:r,isValueFinal:i};return e.anchors.set(e.source.slice(t.anchorStart,t.anchorEnd),a),a}return null}function Lt(e,t){let n=E(E(E({},Tt),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=Et(e),e.type){case A.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 A.SCALAR:{let{value:t,tag:r}=Ot(n,e);It(n,e,t,r,!0),Ft(n,t,r);break}case A.SEQUENCE:{let t=kt(n,e,`tag:yaml.org,2002:seq`),r=n.schema.lookupSequenceTag(t);r||F(n,`unknown sequence tag !<${t}>`);let i=r.create(t),a=It(n,e,i,r,r.carrierIsResult);n.frames.push({kind:`sequence`,position:n.position,value:i,tag:r,anchor:a,index:0});break}case A.MAPPING:{let t=kt(n,e,`tag:yaml.org,2002:map`),r=n.schema.lookupMappingTag(t);r||F(n,`unknown mapping tag !<${t}>`);let i=r.create(t),a=It(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 A.ALIAS:{n.maxAliases!==-1&&++n.aliasCount>n.maxAliases&&F(n,`aliases exceeded maxAliases (${n.maxAliases})`);let t=n.source.slice(e.anchorStart,e.anchorEnd),r=n.anchors.get(t);r||F(n,`unidentified alias "${t}"`),r.isValueFinal||F(n,`recursive alias "${t}" is not supported for tag ${r.tag.tagName} because it uses finalize()`),Ft(n,r.value,r.tag);break}case A.POP:{let e=n.frames.pop();if(e.kind===`mapping`&&e.hasKey&&(n.position=e.keyPosition,F(n,`incomplete mapping pair in event stream`)),e.kind===`document`)n.documents.push(e.value);else{let t=e.tag.carrierIsResult?e.value:Dt(n,e.position,e.tag,e.value);e.anchor&&(e.anchor.value=t,e.anchor.isValueFinal=!0),Ft(n,t,e.tag)}break}}}return n.documents}var I=-1,Rt=Object.prototype.hasOwnProperty,zt=1,Bt=2,Vt=3,Ht=4,Ut=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Wt=/[,\[\]{}]/,Gt=/^(?:!|!!|![0-9A-Za-z-]+!)$/,Kt=String.raw`(?:%[0-9A-Fa-f]{2}|[0-9A-Za-z\-#;/?:@&=+$,_.!~*'()\[\]])`,qt=String.raw`(?:%[0-9A-Fa-f]{2}|[0-9A-Za-z\-#;/?:@&=+$.~*'()_])`,Jt=RegExp(`^(?:${Kt})*$`),Yt=RegExp(`^(?:${qt})+$`),Xt=RegExp(`^(?:!(?:${Kt})*|${qt}(?:${Kt})*)$`),L={filename:``,maxDepth:100};function Zt(e,t,n){e.events.push({type:A.DOCUMENT,explicitStart:t,explicitEnd:n,directives:e.directives})}function Qt(e,t,n,r,i,a,o){e.events.push({type:A.SEQUENCE,start:t,anchorStart:n,anchorEnd:r,tagStart:i,tagEnd:a,style:o})}function $t(e,t,n,r,i,a,o){e.events.push({type:A.MAPPING,start:t,anchorStart:n,anchorEnd:r,tagStart:i,tagEnd:a,style:o})}function en(e,t){e.events.splice(t.eventsLength,0,{type:A.MAPPING,start:t.position,anchorStart:I,anchorEnd:I,tagStart:I,tagEnd:I,style:M.FLOW})}function tn(e,t,n,r,i,a,o,s,c=N.CLIP,l=-1,u=!1){e.events.push({type:A.SCALAR,valueStart:t,valueEnd:n,anchorStart:r,anchorEnd:i,tagStart:a,tagEnd:o,style:s,chomping:c,indent:l,fast:u})}function nn(e,t,n){e.events.push({type:A.ALIAS,anchorStart:t,anchorEnd:n})}function rn(e){e.events.push({type:A.POP})}function R(e){tn(e,I,I,I,I,I,I,j.PLAIN)}function an(){return{anchorStart:I,anchorEnd:I,tagStart:I,tagEnd:I}}function on(e){return{position:e.position,line:e.line,lineStart:e.lineStart,lineIndent:e.lineIndent,firstTabInLine:e.firstTabInLine,eventsLength:e.events.length}}function sn(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 z(e,t){k.throwAt(e.input.slice(0,e.length),e.position,t,e.filename)}function B(e){return e===10||e===13}function V(e){return e===9||e===32}function H(e){return V(e)||B(e)}function U(e){return e===0||H(e)}function W(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||H(e.input.charCodeAt(e.position-1));for(;r!==0;){for(;V(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(!B(r)&&r!==0);if(!B(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||H(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=on(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 sn(e,t),r}function gn(e){let t=e.input.charCodeAt(e.position);for(;t!==0&&!B(t);)t=e.input.charCodeAt(++e.position)}function _n(e,t,n){Ut.test(e.input.slice(t,n))&&z(e,`the stream contains non-printable characters`)}function vn(e,t,n){if(e.input.charCodeAt(e.position)!==33)return!1;t.tagStart!==I&&z(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&&z(e,`unexpected end of the stream within a verbatim tag`),l=e.input.slice(c,e.position),e.position++}else{for(;s!==0&&!H(s)&&!(n&&W(s));)s===33&&(a?z(e,`tag suffix cannot contain exclamation marks`):(o=e.input.slice(c-1,e.position+1),Gt.test(o)||z(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),Wt.test(l)&&z(e,`tag suffix cannot contain flow indicator characters`)}return l&&!(i?Jt.test(l):Yt.test(l))&&z(e,`tag name cannot contain such characters: ${l}`),!i&&o!==`!`&&o!==`!!`&&!Rt.call(e.tagHandlers,o)&&z(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!==I&&z(e,`duplication of an anchor property`),e.position++;let n=e.position;for(;e.input.charCodeAt(e.position)!==0&&!H(e.input.charCodeAt(e.position))&&!W(e.input.charCodeAt(e.position));)e.position++;return e.position===n&&z(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!==I||t.tagStart!==I)&&z(e,`alias node should not have any properties`),e.position++;let n=e.position;for(;e.input.charCodeAt(e.position)!==0&&!H(e.input.charCodeAt(e.position))&&!W(e.input.charCodeAt(e.position));)e.position++;return e.position===n&&z(e,`name of an alias node must contain at least one character`),nn(e,n,e.position),!0}function xn(e,t){G(e,!1),e.lineIndent<t&&z(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++,tn(e,r,t,n.anchorStart,n.anchorEnd,n.tagStart,n.tagEnd,j.SINGLE_QUOTED,N.CLIP,-1,i),!0}B(a)?(i=!1,xn(e,t)):e.position===e.lineStart&&pn(e)?z(e,`unexpected end of the document within a single quoted scalar`):a!==9&&a<32?z(e,`expected valid JSON character`):e.position++}z(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++,tn(e,r,t,n.anchorStart,n.anchorEnd,n.tagStart,n.tagEnd,j.DOUBLE_QUOTED,N.CLIP,-1,i),!0}if(a===92){i=!1;let n=e.input.charCodeAt(++e.position);if(B(n))xn(e,t);else if(dn(n))e.position++;else{let t=un(n);for(t===0&&z(e,`unknown escape sequence`);t-->0;)e.position++,ln(e.input.charCodeAt(e.position))<0&&z(e,`expected hexadecimal character`);e.position++}}else B(a)?(i=!1,xn(e,t)):e.position===e.lineStart&&pn(e)?z(e,`unexpected end of the document within a double quoted scalar`):a!==9&&a<32?z(e,`expected valid JSON character`):e.position++}z(e,`unexpected end of the stream within a double quoted scalar`)}function wn(e,t,n){let r=e.input.charCodeAt(e.position),i=N.CLIP,a=-1,o=!1;if(r!==124&&r!==62)return!1;let s=r===124?j.LITERAL_BLOCK:j.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!==N.CLIP&&z(e,`repeat of a chomping mode identifier`),i=n===43?N.KEEP:N.STRIP,e.position++;else if(r>=0)r===0&&z(e,`bad explicit indentation width of a block scalar; it cannot be less than one`),o&&z(e,`repeat of an indentation width identifier`),a=t+r-1,o=!0,e.position++;else break}let c=!1;for(;V(e.input.charCodeAt(e.position));)c=!0,e.position++;c&&e.input.charCodeAt(e.position)===35&&gn(e),B(e.input.charCodeAt(e.position))?fn(e):e.input.charCodeAt(e.position)!==0&&z(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&&B(i)&&(u=Math.max(u,r)),!o&&l===-1&&!B(i)&&(i===9&&r<t&&(e.position=n+r,z(e,`tab characters must not be used in indentation`)),r<u&&(e.position=n+r,z(e,`bad indentation of a mapping entry`))),l===-1&&i!==0&&!B(i)&&r<t){e.lineIndent=r,e.position=n+r;break}!o&&i!==0&&!B(i)&&l===-1&&(l=r);let a=l===-1?t+1:l;if(i!==0&&!B(i)&&r<a){e.lineIndent=r,e.position=n+r;break}gn(e),f=e.position,B(e.input.charCodeAt(e.position))&&(fn(e),f=e.position)}return _n(e,d,f),tn(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===zt;if(n===0||H(n)||n===35||n===38||n===42||n===33||n===124||n===62||n===39||n===34||n===37||n===64||n===96||r&&W(n))return!1;if(n===63||n===45){let t=e.input.charCodeAt(e.position+1);if(U(t)||r&&W(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===zt,c=!1;for(;o!==0&&!hn(e);){if(o===58){let t=e.input.charCodeAt(e.position+1);if(U(t)||s&&W(t))break}else if(o===35){if(H(e.input.charCodeAt(e.position-1)))break}else if(s&&W(o))break;else if(B(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}V(o)||(a=e.position+1),o=e.input.charCodeAt(++e.position)}return a!==i&&(_n(e,i,a),tn(e,i,a,r.anchorStart,r.anchorEnd,r.tagStart,r.tagEnd,j.PLAIN,N.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)&&z(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?$t(e,a,n.anchorStart,n.anchorEnd,n.tagStart,n.tagEnd,M.FLOW):Qt(e,a,n.anchorStart,n.anchorEnd,n.tagStart,n.tagEnd,M.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++,rn(e),!0;o?n===44&&z(e,`expected the node content, but found ','`):z(e,`missed comma between flow collection entries`);let r=!1,a=!1;n===63&&H(e.input.charCodeAt(e.position+1))&&(r=a=!0,e.position+=1,Dn(e,t));let c=e.line,l=on(e),u=jn(e,t,zt,!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||en(e,l),u||R(e),jn(e,t,zt,!1,!0)||R(e),Dn(e,t),i||rn(e)):i&&r?(u||R(e),R(e)):i?R(e):r&&(en(e,l),u||R(e),R(e),rn(e)),n=e.input.charCodeAt(e.position),n===44?(o=!0,e.position++):o=!1}z(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||!U(e.input.charCodeAt(e.position+1)))return!1;for(Qt(e,e.position,n.anchorStart,n.anchorEnd,n.tagStart,n.tagEnd,M.BLOCK);e.input.charCodeAt(e.position)===45&&U(e.input.charCodeAt(e.position+1));){e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,z(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&&U(e.input.charCodeAt(e.position+1))&&z(e,`bad indentation of a sequence entry`),r&&e.lineIndent<=t?R(e):jn(e,t,Vt,!1,!0),G(e,!0),e.lineIndent<t||e.position>=e.length)break;e.lineIndent>t&&z(e,`bad indentation of a sequence entry`),e.line===n&&e.input.charCodeAt(e.position)===45&&U(e.input.charCodeAt(e.position+1))&&z(e,`bad indentation of a sequence entry`)}return rn(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,z(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)&&U(l))o||=($t(e,e.position,r.anchorStart,r.anchorEnd,r.tagStart,r.tagEnd,M.BLOCK),!0),c===63?(i&&R(e),a=!0,i=!0):i?i=!1:(R(e),a=!0,i=!1),e.position+=1,s=!0;else{i&&=(R(e),!1);let t=on(e);if(!jn(e,n,Bt,!1,!0))break;if(e.line===u){for(c=e.input.charCodeAt(e.position);V(c);)c=e.input.charCodeAt(++e.position);if(c===58){if(c=e.input.charCodeAt(++e.position),U(c)||z(e,`a whitespace character is expected after the key-value separator within a block mapping`),!o){for(sn(e,t),$t(e,t.position,r.anchorStart,r.anchorEnd,r.tagStart,r.tagEnd,M.BLOCK),o=!0,jn(e,n,Bt,!1,!0),c=e.input.charCodeAt(e.position);V(c);)c=e.input.charCodeAt(++e.position);e.position++}a=!0,i=!1,s=!1}else if(a)z(e,`expected ':' after a mapping key`);else return r.anchorStart!==I||r.tagStart!==I?(sn(e,t),!1):!0}else if(a)z(e,`can not read a block mapping entry; a multiline key may not be an implicit key`);else return r.anchorStart!==I||r.tagStart!==I?(sn(e,t),!1):!0}if(jn(e,t,Ht,!0,s)&&(s=!1),i||(s&&=(R(e),!1)),G(e,!0),c=e.input.charCodeAt(e.position),(e.line===u||e.lineIndent>t)&&c!==0)z(e,`bad indentation of a mapping entry`);else if(e.lineIndent<t)break}return a?(i&&R(e),o&&rn(e),!0):!1}function jn(e,t,n,r,i,a=!0){e.depth>=e.maxDepth&&z(e,`nesting exceeded maxDepth (${e.maxDepth})`),e.depth++;let o=1,s=!1,c=!1,l=null,u=an(),d=n===Ht||n===Vt,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=on(e);if(s&&o!==1&&(r===33||r===38))break;if(s&&p&&(u.tagStart!==I||u.anchorStart!==I)&&(r===33||r===38)){let n=on(e),r=t+1;if(An(e,e.position-e.lineStart,r,u)&&e.events[n.eventsLength]?.type===A.MAPPING)return e.depth--,!0;sn(e,n)}if(s&&(r===33&&u.tagStart!==I||r===38&&u.anchorStart!==I)||!vn(e,u,n===zt)&&!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===Ht){let r=n===zt||n===Bt?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=on(e),n=l.position-l.lineStart;sn(e,l),An(e,n,r,an())&&e.events[t.eventsLength]?.type===A.MAPPING?c=!0:sn(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!==I||u.tagStart!==I||d)&&(tn(e,I,I,u.anchorStart,u.anchorEnd,u.tagStart,u.tagEnd,j.PLAIN),c=!0),e.depth--,c||u.anchorStart!==I||u.tagStart!==I}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&&!H(e.input.charCodeAt(e.position));)e.position++;let n=e.input.slice(t,e.position),r=[];for(n.length===0&&z(e,`directive name must not be less than one character in length`);e.input.charCodeAt(e.position)!==0&&!B(e.input.charCodeAt(e.position));){for(;V(e.input.charCodeAt(e.position));)e.position++;if(e.input.charCodeAt(e.position)===35||B(e.input.charCodeAt(e.position))||e.input.charCodeAt(e.position)===0)break;let t=e.position;for(;e.input.charCodeAt(e.position)!==0&&!H(e.input.charCodeAt(e.position));)e.position++;r.push(e.input.slice(t,e.position))}if(B(e.input.charCodeAt(e.position))&&fn(e),n===`YAML`){e.directives.some(e=>e.kind===`yaml`)&&z(e,`duplication of %YAML directive`),r.length!==1&&z(e,`YAML directive accepts exactly one argument`);let t=/^([0-9]+)\.([0-9]+)$/.exec(r[0]);t===null&&z(e,`ill-formed argument of the YAML directive`),parseInt(t[1],10)!==1&&z(e,`unacceptable YAML version of the document`),e.directives.push({kind:`yaml`,version:r[0]})}else if(n===`TAG`){r.length!==2&&z(e,`TAG directive accepts exactly two arguments`);let[t,n]=r;Gt.test(t)||z(e,`ill-formed tag handle (first argument) of the TAG directive`),Rt.call(e.tagHandlers,t)&&z(e,`there is a previously declared suffix for "${t}" tag handle`),Xt.test(n)||z(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&&U(e.input.charCodeAt(e.position+3))){n=!0;let t=e.line;e.position+=3,G(e,!0),i=e.line>t}else t&&z(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(Zt(e,n,!1),jn(e,e.lineIndent-1,Ht,!1,i,i)||R(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&&z(e,`end of the stream or a document separator is expected`)}let o=e.events[a];o?.type===A.DOCUMENT&&(o.explicitEnd=r),rn(e),!r&&e.position<e.length&&!hn(e)&&z(e,`end of the stream or a document separator is expected`)}function Pn(e,t){let n=e.length,r=E(E(E({},L),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&&k.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&&z(r,`can not read a document`)}return r.events}var Fn=E(E({},L),Tt);function In(e,t={}){let n=E(E({},Fn),t),r=String(e),i=Object.keys(L),a=Object.keys(Tt);return Lt(Pn(r,ze(n,i)),E(E({},ze(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 k(`expected a document, but the input is empty`);if(n.length===1)return n[0];throw new k(`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 k(`unacceptable kind of an object to dump ${Object.prototype.toString.call(t)}`)}let{tag:r,tagName:i,implicitTag:a}=n,o=a?i:St(i);if(r.nodeKind===`scalar`)return{kind:`scalar`,tag:o,tagged:!a,style:j.PLAIN,value:r.represent(t)};if(r.nodeKind===`sequence`){let n=r.represent(t),i={kind:`sequence`,tag:o,tagged:!a,style:M.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:M.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,j.SINGLE_QUOTED)?j.SINGLE_QUOTED:j.DOUBLE_QUOTED}function Zn(e){e.presenterOptions.quoteFlowKeys&&e.isKey&&e.flowOnly&&e.style===j.PLAIN&&(e.style=j.DOUBLE_QUOTED)}function Qn(e){e.style===j.PLAIN&&/[\t\x7F-\xA0\u2028\u2029\uFEFF\uFFFE\uFFFF]/.test(e.node.value)&&(e.style=j.DOUBLE_QUOTED)}function $n(e){e.style===j.PLAIN&&/^\s+$/.test(e.node.value)&&(e.style=j.DOUBLE_QUOTED)}function er(e){e.presenterOptions.forceQuotes&&(e.isKey||e.style!==j.PLAIN||(e.style=e.node.value.includes(`
|
|
14
|
-
`)?j.DOUBLE_QUOTED:Xn(e)))}function tr(e){if(e.style!==j.PLAIN||e.isKey)return;let t=e.node.value,n=t.indexOf(`
|
|
15
|
-
`)!==-1;if(!Jn(e.allowedStylesMask,j.LITERAL_BLOCK)){n&&(e.style=j.DOUBLE_QUOTED);return}let r=e.presenterOptions.lineWidth;if(r===-1){n&&(e.style=j.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=j.FOLDED_BLOCK:n&&(e.style=j.LITERAL_BLOCK)}function nr(e){e.style===j.PLAIN&&!Jn(e.allowedStylesMask,j.PLAIN)&&(e.style=Xn(e))}function rr(e){Jn(e.allowedStylesMask,e.style)||(e.style=j.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})*`,J=RegExp(`^(?:${Er})$`,`u`),Or=RegExp(`^(?:${Dr})$`,`u`),Y=RegExp(`^(?:${q})$`,`u`),kr=RegExp(`^(?:${Cr})$`,`u`),X=RegExp(`^(?:${ur})*$`,`u`),Ar=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?kr:Y:e.flowOnly?Or:J).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?X:Ar).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,j.DOUBLE_QUOTED);Pr(e)&&(t=ir(t,j.PLAIN)),Fr(e)&&(t=ir(t,j.SINGLE_QUOTED)),Ir(e)&&(t=ir(ir(t,j.LITERAL_BLOCK),j.FOLDED_BLOCK)),e.allowedStylesMask=t}function Rr(e){switch(e.style){case j.PLAIN:return zr(e);case j.SINGLE_QUOTED:return Br(e);case j.LITERAL_BLOCK:return Vr(e);case j.FOLDED_BLOCK:return Hr(e);case j.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:St(e.tag)}function ii(e){let t=E(E({},ni),e);return t.flowSkipColonSpace&&(t.quoteFlowKeys=!0),E(E({},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=fi(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=fi(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=fi(e,t,i,n,{iskey:!0}),c=s.text,l=fi(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===M.BLOCK&&s.items.length!==0||s.kind===`scalar`&&(s.style===j.LITERAL_BLOCK||s.style===j.FOLDED_BLOCK),u=l?fi(e,t+1,s,n,{block:!0,compact:!0,isblockseq:!di(e,s,t+1)}):fi(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 ee=fi(e,t+1,c,n,{block:!0,compact:m,isblockseq:m&&!di(e,c,t+1)}).text,h=s.kind===`scalar`&&u.noBody&&(s.tagged||s.anchor!==void 0),g=!m&&(s.kind===`alias`||h)?` `:``;ee===``||ti===ee.charCodeAt(0)?o+=`${g}:`:o+=`${g}: `,o+=ee,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 fi(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===M.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===j.LITERAL_BLOCK||i.style===j.FOLDED_BLOCK)&&(n.value===`
|
|
33
|
-
`||n.value.endsWith(`
|
|
34
|
-
|
|
35
|
-
`)),d=n.tagged||u===``&&i.flowOnly&&r?.kind===`sequence`&&!l||i.style!==j.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 pi(e){return(e.kind===`sequence`||e.kind===`mapping`)&&e.style===M.BLOCK&&e.items.length!==0&&!e.tagged&&e.anchor===void 0}function mi(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 hi(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=mi(a),s=o!==``,c=a.explicitStart||s||t>0&&!i;if(r+=o,a.contents===null)c&&(r+=`---
|
|
36
|
-
`);else if(c){let e=fi(n,0,a.contents,null,{block:!0,compact:!0}).text,t=e===``?``:s||pi(a.contents)?`
|
|
37
|
-
`:` `;r+=`---${t}${e}\n`}else r+=fi(n,0,a.contents,null,{block:!0,compact:!0}).text+`
|
|
38
|
-
`;i=a.explicitEnd||n.openEnded,i&&(r+=`...
|
|
39
|
-
`)}return r}var gi=E(E({},ni),{},{schema:Ze,skipInvalid:!1,noRefs:!1,flowLevel:-1,sortKeys:!1,transform:()=>{}});function _i(e,t){let n=String(e),r=String(t);return n<r?-1:+(n>r)}function vi(e,t={}){let n=E(E({},gi),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=M.FLOW),Gn}),n.sortKeys){let e=n.sortKeys===!0?_i: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),hi(r,E(E({},ze(n,Object.keys(ni))),{},{schema:n.schema}))}var yi=-1;function bi(e){return`tagStart`in e&&e.tagStart!==yi?e.tagStart:`anchorStart`in e&&e.anchorStart!==yi?e.anchorStart:`valueStart`in e&&e.valueStart!==yi?e.valueStart:`start`in e?e.start:0}function xi(e,t){return t.tagStart===yi?``:e.source.slice(t.tagStart,t.tagEnd)}function Si(e,t){return t.anchorStart===yi?void 0:e.source.slice(t.anchorStart,t.anchorEnd)}function Ci(e,t){let n=vt(e.source,t),r=xi(e,t),i,a=!1;return r===``?i=t.style===j.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:Si(e,t),value:n}}function wi(e,t,n){let r=xi(e,t),i,a=!1;return r===``?i=n:(i=r,a=!0),{tag:i,tagged:a,style:t.style,anchor:Si(e,t)}}function Ti(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 Z(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=bi(t),t.type){case A.DOCUMENT:{let e={contents:null,explicitStart:t.explicitStart,explicitEnd:t.explicitEnd,directives:t.directives};n.frames.push({kind:`document`,doc:e});break}case A.SCALAR:Ti(n,Ci(n,t));break;case A.SEQUENCE:{let{tag:e,tagged:r,style:i,anchor:a}=wi(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 A.MAPPING:{let{tag:e,tagged:r,style:i,anchor:a}=wi(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 A.ALIAS:Ti(n,{kind:`alias`,anchor:n.source.slice(t.anchorStart,t.anchorEnd)});break;case A.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):Ti(n,e.node);break}}}return n.documents}var Ei=A.DOCUMENT,Di=A.SEQUENCE,Oi=A.MAPPING,ki=A.SCALAR,Ai=A.ALIAS,ji=A.POP,Mi=j.PLAIN,Ni=j.SINGLE_QUOTED,Pi=j.DOUBLE_QUOTED,Fi=j.LITERAL_BLOCK,Ii=j.FOLDED_BLOCK,Li=M.BLOCK,Ri=M.FLOW,zi=N.CLIP,Q=N.STRIP,Bi=N.KEEP;e.CHOMPING_CLIP=zi,e.CHOMPING_KEEP=Bi,e.CHOMPING_MODE=N,e.CHOMPING_STRIP=Q,e.COLLECTION_STYLE=M,e.COLLECTION_STYLE_BLOCK=Li,e.COLLECTION_STYLE_FLOW=Ri,e.CORE_SCHEMA=O,e.DEFAULT_SCALAR_STYLE_RULES=Yn,e.DUMP_SCHEMA=Ze,e.EVENT_ALIAS=Ai,e.EVENT_DOCUMENT=Ei,e.EVENT_ID=A,e.EVENT_MAPPING=Oi,e.EVENT_POP=ji,e.EVENT_SCALAR=ki,e.EVENT_SEQUENCE=Di,e.FAILSAFE_SCHEMA=Je,e.JSON_SCHEMA=Ye,e.NOT_RESOLVED=t,e.SCALAR_STYLE=j,e.SCALAR_STYLE_DOUBLE_QUOTED=Pi,e.SCALAR_STYLE_FOLDED_BLOCK=Ii,e.SCALAR_STYLE_LITERAL_BLOCK=Fi,e.SCALAR_STYLE_PLAIN=Mi,e.SCALAR_STYLE_SINGLE_QUOTED=Ni,e.Schema=D,e.VISIT_BREAK=Wn,e.VISIT_SKIP=Gn,e.YAML11_SCHEMA=Xe,e.YAMLException=k,e.binaryTag=je,e.boolCoreTag=p,e.boolJsonTag=h,e.boolYaml11Tag=ne,e.constructFromEvents=Lt,e.defineMappingTag=i,e.defineScalarTag=n,e.defineSequenceTag=r,e.dump=vi,e.eventsToAst=Z,e.floatCoreTag=ge,e.floatJsonTag=xe,e.floatYaml11Tag=Ee,e.getScalarValue=vt,e.intCoreTag=v,e.intJsonTag=le,e.intYaml11Tag=b,e.jsToAst=Un,e.legacyMapTag=et,e.load=Rn,e.loadAll=Ln,e.mapTag=Ve,e.mergeTag=De,e.nullCoreTag=s,e.nullJsonTag=c,e.nullYaml11Tag=u,e.omapTag=Be,e.pairsTag=S,e.parseEvents=Pn,e.present=hi,e.realMapTag=Qe,e.seqTag=Le,e.setTag=C,e.strTag=a,e.timestampTag=Ie,e.visit=qn})),ve=b((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.loadYaml=e.loadJson=e.loadJs=e.loadJsSync=void 0;var t=x(`fs/promises`),n=x(`url`);e.loadJsSync=function(e){return delete x.cache[x.resolve(e)],x(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=_e());try{return r.load(t)}catch(t){throw t.message=`YAML Error in ${e}:\n${t.message}`,t}}})),ye=b((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=ve();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})})),be=b(((e,t)=>{var n=x(`path`),r=x(`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})),xe=b((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(x(`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})),Se=b((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(be()),r=t(x(`os`)),i=t(x(`path`)),a=xe();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})),Ce=b((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})),we=b((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(x(`fs/promises`)),r=t(x(`path`)),i=ye(),a=Se(),o=Ce(),s=xe();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)}}}})),Te=b((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(x(`fs`)),r=t(x(`path`)),i=ye(),a=Se(),o=Ce(),s=xe();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)}}})),Ee=(0,b((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=ye();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=we(),r=Te(),i=xe(),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`]}),De=async(e,t=process.cwd())=>{let n=oe.resolve(t),r=e===void 0?await Ee.search(n):await Ee.load(oe.resolve(n,e));if(r===null)throw Error(`Could not find tailorkit config from ${n}.`);return{config:ge.parse(r.config),filepath:r.filepath,root:oe.dirname(r.filepath)}};function Oe(e){return e[0]??{}}function ke(e){return Array.isArray(e)?e:e==null?[]:[e]}function Ae(e){return typeof e.bytes==`function`?e.bytes():e.arrayBuffer()}var je=`orpc`,Me=`@orpc/shared`,Ne=`1.15.0`,Pe=class extends Error{constructor(...e){super(...e),this.name=`AbortError`}};function Fe(e){let t;return()=>{if(t)return t.result;let n=e();return t={result:n},n}}function Ie(e){let t=Promise.resolve();return(...n)=>t=t.catch(()=>{}).then(()=>e(...n))}var Le=2,Re=`__${Me}@${Ne}/otel/config__`;function ze(){return globalThis[Re]}function Be(e,t={},n){return(ze()?.tracer)?.startSpan(e,t,n)}function S(e,t,n={}){if(!e)return;let r=Ve(t);e.recordException(r),(!n.signal?.aborted||n.signal.reason!==t)&&e.setStatus({code:Le,message:r.message})}function Ve(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 C({name:e,context:t,...n},r){let i=ze()?.tracer;if(!i)return r();let a=async e=>{try{return await r(e)}catch(t){throw S(e,t,n),t}finally{e.end()}};return t?i.startActiveSpan(e,n,t,a):i.startActiveSpan(e,n,a)}async function w(e,t){let n=ze();if(!e||!n)return t();let r=n.trace.setSpan(n.context.active(),e);return n.context.with(r,t)}var He=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 Pe(`[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 Pe(`[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 Ue(e){return!e||typeof e!=`object`?!1:`next`in e&&typeof e.next==`function`&&Symbol.asyncIterator in e&&typeof e[Symbol.asyncIterator]==`function`}var T=Symbol.asyncDispose??Symbol.for(`asyncDispose`),We=class{#e=!1;#t=!1;#n;#r;constructor(e,t){this.#n=t,this.#r=Ie(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[T](){this.#e=!0,this.#t||(this.#t=!0,await this.#n(`dispose`))}[Symbol.asyncIterator](){return this}};function E({name:e,...t},n){let r;return new We(async()=>{r??=Be(e);try{let e=await w(r,()=>n.next());return r?.addEvent(e.done?`completed`:`yielded`),e}catch(e){throw S(r,e,t),e}},async e=>{try{e!==`next`&&await w(r,()=>n.return?.())}catch(e){throw S(r,e,t),e}finally{r?.end()}})}var Ge=class{index=BigInt(1);generate(){let e=this.index.toString(36);return this.index++,e}};function Ke(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 qe(e){if(e)return JSON.parse(e)}function D(e){return JSON.stringify(e)}function Je(e){return O(e)?Object.getPrototypeOf(e)?.constructor:null}function Ye(e){if(!e||typeof e!=`object`)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||!t||!t.constructor}function O(e){return!!e&&(typeof e==`object`||typeof e==`function`)}function Xe(e){if(Array.isArray(e))return e.map(Xe);if(Ye(e)){let t={};for(let n in e)t[n]=Xe(e[n]);for(let n of Object.getOwnPropertySymbols(e))t[n]=Xe(e[n]);return t}return e}function Ze(e,...t){return typeof e==`function`?e(...t):e}function Qe(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=>!et(e)))return Reflect.apply(t,n,r);let i=!0;r[0].call(n,Qe(new Proxy(e,{get:(e,t,n)=>{if(i&&t===`then`){i=!1;return}return Reflect.get(e,t,n)}})))}})}})}var $e=/^\s*function\s*\(\)\s*\{\s*\[native code\]\s*\}\s*$/;function et(e){return typeof e==`function`&&$e.test(e.toString())}function tt(e,t){return new Proxy(typeof e==`function`?t:e,{get(n,r){let i=r in t?t:Ze(e),a=Reflect.get(i,r);return typeof a==`function`?a.bind(i):a},has(n,r){return Reflect.has(t,r)||Reflect.has(Ze(e),r)}})}function nt(e){try{return decodeURIComponent(e)}catch{return e}}var rt=`@orpc/client`,it=`1.15.0`,at=new Set([`bind`,`valueOf`,`toString`,`toJSON`]),k={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 A(e,t){return t??k[e]?.status??500}function j(e,t){return t||k[e]?.message||e}var M,N=class e extends Error{defined;code;status;data;static{let t=Symbol.for(`__${rt}@${it}/error/ORPC_ERROR_CONSTRUCTORS__`);globalThis[t]??=new WeakSet,M=globalThis[t],M.add(e)}constructor(e,...t){let n=Oe(t);if(n.status!==void 0&&!st(n.status))throw Error(`[ORPCError] Invalid error status code.`);let r=j(e,n.message);super(r,n),this.code=e,this.status=A(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(M.has(this)){let t=Je(e);if(t&&M.has(t))return!0}return super[Symbol.hasInstance](e)}};function ot(e){return e instanceof N?e:new N(`INTERNAL_SERVER_ERROR`,{message:`Internal server error`,cause:e})}function st(e){return e<200||e>=400}function ct(e){if(!Ye(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`&&st(e.status)&&`message`in e&&typeof e.message==`string`}function lt(e,t={}){return new N(e.code,{...t,...e})}var ut=class extends TypeError{},dt=class extends TypeError{},P=class extends Error{data;constructor(e){super(e?.message??`An error event was received`,e),this.data=e?.data}},ft=/\r\n|\r(?!\n)|\n/,pt=/(?:\r\n|\r(?!\n)|\n){2}/,mt=/(?:\r\n|\r(?!\n)|\n){2}/g,ht=13,gt=10,_t=32;function vt(e){let t={data:void 0,event:void 0,id:void 0,retry:void 0,comments:[]};for(let n of e.split(ft)){if(n===``)continue;let e=n.indexOf(`:`),r=e===-1?``:n.slice(n.charCodeAt(e+1)===_t?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 yt=class{constructor(e={}){this.options=e}pending=[];tail=``;discardLeadingLF=!1;feed(e){if(e===``||this.discardLeadingLF&&(this.discardLeadingLF=!1,e.charCodeAt(0)===gt&&(e=e.slice(1),e===``)))return;let t=this.tail+e;if(!pt.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(mt))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)===ht:this.pending.push(o);for(let e of i){let t=vt(e);this.options.onEvent&&this.options.onEvent(t)}}end(){if(this.pending.length!==0)throw new dt(`Event Iterator ended before complete`)}},bt=class extends TransformStream{constructor(){let e;super({start(t){e=new yt({onEvent:e=>{t.enqueue(e)}})},transform(t){e.feed(t)},flush(){e.end()}})}},xt=/\r\n|[\n\r]/,St=/\r\n|[\n\r]/g;function Ct(e){return xt.test(e)}function wt(e){if(Ct(e))throw new ut(`Event's id must not contain a carriage return or newline character`)}function Tt(e){if(Ct(e))throw new ut(`Event's event must not contain a carriage return or newline character`)}function Et(e){if(!Number.isInteger(e)||e<0)throw new ut(`Event's retry must be a integer and >= 0`)}function F(e){if(Ct(e))throw new ut(`Event's comment must not contain a carriage return or newline character`)}function Dt(e){return e===void 0?``:`data: ${e.replace(St,`
|
|
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 ee,rm as b,stat as x,writeFile as S}from"node:fs/promises";import{homedir as C,platform as te}from"node:os";import w from"node:path";import{loadTailorKitConfig as ne}from"@tailorkit/app/config/loader";import{z as T}from"zod";import{createHash as E}from"node:crypto";import{execFile as re,spawn as ie}from"node:child_process";import{existsSync as ae}from"node:fs";import{promisify as oe}from"node:util";import{gzip as D}from"node:zlib";import{Liquid as se}from"liquidjs";function O(e){return Array.isArray(e)?e:e==null?[]:[e]}var k=class extends Error{constructor(...e){super(...e),this.name=`AbortError`}};function ce(e){let t=Promise.resolve();return(...n)=>t=t.catch(()=>{}).then(()=>e(...n))}var le=class{index=BigInt(1);generate(){let e=this.index.toString(36);return this.index++,e}};function A(e){return!e||typeof e!=`object`?!1:`next`in e&&typeof e.next==`function`&&Symbol.asyncIterator in e&&typeof e[Symbol.asyncIterator]==`function`}var ue=Symbol.asyncDispose??Symbol.for(`asyncDispose`),de=class{isDone=!1;isExecuteComplete=!1;cleanup;next;constructor(e,t){this.cleanup=t,this.next=ce(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[ue](){this.isDone=!0,this.isExecuteComplete||(this.isExecuteComplete=!0,await this.cleanup({kind:`cancelled`}))}[Symbol.asyncIterator](){return this}};function fe(e){if(e)return JSON.parse(e)}function j(e){return JSON.stringify(e)}function pe(e){for(let t of Object.values(e))if(t!==void 0)return!0;return!1}function M(e){if(!e)return!1;let t=typeof e;return t===`object`||t===`function`}var me=new WeakMap;function he(e,t,{bind:n=!0}={}){let r=Reflect.get(e,t);if(!n||typeof r!=`function`)return r;let i=me.get(r);i||me.set(r,i=new WeakMap);let a=i.get(e);return a||i.set(e,a=r.bind(e)),a}var ge=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 k(`Queue was closed.`),this.closed={reason:e},this.pendingPulls.forEach(([,t])=>t(e)),this.pendingPulls.length=0)}abort(e){e??=new k(`Queue was aborted.`),this.items.length=0,this.close(e)}};function _e(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 ve=/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g;function ye(e){try{return encodeURIComponent(e)}catch{return encodeURIComponent(e.replace(ve,`�`))}}function be(e){if(!e.includes(`%`))return e;try{return decodeURIComponent(e)}catch{return e}}function xe(e){return e[0]??{}}async function Se(e){return typeof e.bytes==`function`?e.bytes():new Uint8Array(await e.arrayBuffer())}function Ce(e){return typeof e==`string`?e:e instanceof ArrayBuffer?new Uint8Array(e):Array.isArray(e)?Te(e):e instanceof Uint8Array?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function we(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 Te(e){let t=e.map(we),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 Ee=`orpc`;function De(e){return e instanceof Error&&e.name.includes(`Abort`)}Object.getPrototypeOf(async function*(){}).constructor;function Oe(e){let t;return()=>{if(t)return t.result;let n=e();return t={result:n},n}}function ke(e){return`/${e.map(ye).join(`/`)}`}var Ae=Symbol.for(`ORPC_TRACER`);function N(){return globalThis[Ae]}function je(e){let t=N();if(t)return typeof e==`string`?t.startSpan(e):t.startSpan(e.name,e.parent)}function Me(e,t){e&&e.recordException(De(t)?`info`:`error`,Ne(t))}function Ne(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 Pe(e,t){let n=N();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 Me(e,t),t}finally{e.end()}})}function Fe(e,t){let n=N();return!e||!n?t():n.withActiveSpan(e,t)}function Ie(e,{runWith:t,mapResult:n,mapError:r,onError:i,onFinish:a}){t??=e=>e();let o;return new de(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 Le(e,t){let n=Oe(()=>je(e));return Ie(t,{runWith:e=>Fe(n(),e),mapResult(e){return n()?.addEvent(e.done?`completed`:`yielded`),e},onError(e){Me(n(),e)},onFinish(){n()?.end()}})}function P(e,...t){return typeof e==`function`?e(...t):e}function Re(e,t){return new Proxy(typeof e==`function`?t:e,{get(n,r){return he(r in t?t:P(e),r)},has(n,r){return Reflect.has(t,r)||Reflect.has(P(e),r)}})}function ze(e){return M(e)?Object.getPrototypeOf(e)?.constructor:null}function*Be(e){if(!M(e))return;let t=Object.getPrototypeOf(e);for(;t!=null;)t.constructor&&(yield t.constructor),t=Object.getPrototypeOf(t)}function Ve(e){if(!e||typeof e!=`object`)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||!t||!t.constructor}function He(e,t,n){t===`__proto__`?Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0}):e[t]=n}function Ue(e,t){let n={...e};for(let e of t)delete n[e];return n}function We(e,t,n){let r=e[t];if(r!==n)return r;let i;if(Array.isArray(r))i=r.slice();else if(Ve(r))i={...r};else return r;return He(e,t,i),i}var Ge=(()=>{let e=function(){};return e.prototype=Object.create(null),Object.freeze(e.prototype),e})();function Ke(){let e={};return e.promise=new Promise((t,n)=>{e.resolve=t,e.reject=n}),e}function qe(e,{runWith:t,mapResult:n,mapError:r,onError:i,onFinish:a}){t??=e=>e();let o=Oe(()=>e.getReader()),s=Oe(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 Je(e,t){let n=Oe(()=>je(e));return qe(t,{runWith:e=>Fe(n(),e),mapResult(e){return n()?.addEvent(e.done?`closed`:`enqueued`),e},onError(e){Me(n(),e)},onFinish(){n()?.end()}})}function Ye(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 Xe(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 "${Ze(e,r,a).name}"`);a.add(t),i.push(e[t])}return i}function Ze(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 Qe(e,t){if(!e)return t();e.throwIfAborted();let{promise:n,reject:r,resolve:i}=Ke(),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 $e=class extends TypeError{},et=class extends TypeError{},F=class extends Error{constructor(e,t={}){super(t?.message??`Error Event`,t),this.data=e}},tt=/\r\n|\r(?!\n)|\n/,nt=/(?:\r\n|\r(?!\n)|\n){2}/,rt=/(?:\r\n|\r(?!\n)|\n){2}/g,it=13,at=10,ot=32;function st(e){let t={};for(let n of e.split(tt)){if(n===``)continue;let e=n.indexOf(`:`),r=e===-1?``:n.slice(n.charCodeAt(e+1)===ot?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 ct=class{constructor(e){this.onEvent=e}pending=[];tail=``;discardLeadingLF=!1;feed(e){if(e===``||this.discardLeadingLF&&(this.discardLeadingLF=!1,e.charCodeAt(0)===at&&(e=e.slice(1),e===``)))return;let t=this.tail+e;if(!nt.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(rt))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)===it:this.pending.push(o);for(let e of i)this.onEvent(st(e))}end(){if(this.pending.length!==0)throw new et(`Event Stream ended before complete`)}},lt=class{readable;writable;constructor(){let e,t=new TransformStream({start(t){e=new ct(e=>{t.enqueue(e)})},transform(t){e.feed(t)},flush(){e.end()}});this.readable=t.readable,this.writable=t.writable}},ut=/\r\n|[\n\r]/,dt=/\r\n|[\n\r]/g;function ft(e){return ut.test(e)}function pt(e){if(ft(e))throw new $e(`Event's id must not contain a carriage return or newline character`)}function mt(e){if(ft(e))throw new $e(`Event's event must not contain a carriage return or newline character`)}function ht(e){if(!Number.isInteger(e)||e<0)throw new $e(`Event's retry must be a integer and >= 0`)}function gt(e){if(ft(e))throw new $e(`Event's comment must not contain a carriage return or newline character`)}function _t(e){return e===void 0?``:`data: ${e.replace(dt,`
|
|
43
4
|
data: `)}
|
|
44
|
-
`}function
|
|
45
|
-
`;return t}function
|
|
46
|
-
`),e.retry!==void 0&&(
|
|
47
|
-
`),e.id!==void 0&&(
|
|
48
|
-
`),t+=
|
|
49
|
-
`,t}var At=Symbol(`ORPC_EVENT_SOURCE_META`);function jt(e,t){if(t.id===void 0&&t.retry===void 0&&!t.comments?.length)return e;if(t.id!==void 0&&wt(t.id),t.retry!==void 0&&Et(t.retry),t.comments!==void 0)for(let e of t.comments)F(e);return new Proxy(e,{get(e,n,r){return n===At?t:Reflect.get(e,n,r)}})}function Mt(e){return O(e)?Reflect.get(e,At):void 0}var Nt=class extends We{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 Pt(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 Ft(e){let t=e.match(/filename\*=(UTF-8'')?([^;]*)/i);if(t&&typeof t[2]==`string`)return nt(t[2]);let n=e.match(/filename="((?:\\"|[^"])*)"/i);if(n&&typeof n[1]==`string`)return n[1].replace(/\\"/g,`"`)}function It(e,t){let n={...e};for(let e in t)Array.isArray(t[e])?n[e]=[...ke(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 Lt(e){if(typeof e==`string`||e===void 0)return e;if(e.length!==0)return e.join(`, `)}function I(e){return!!(Lt(e[`content-type`])?.startsWith(`text/event-stream`)&&Lt(e[`content-disposition`])===void 0)}function Rt(e,t){let n=async e=>{let n=await t.error(e);if(n!==e){let t=Mt(e);t&&O(n)&&(n=jt(n,t))}return n};return new We(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=Mt(i);e&&O(a)&&(a=jt(a,e))}return{done:r,value:a}},async()=>{try{await e.return?.()}catch(e){throw await n(e)}})}function zt(e){return{...e,context:e.context??{}}}function Bt(e,t={}){let n=t.path??[];return Qe(new Proxy(async(...[t,r={}])=>await e.call(n,t,zt(r)),{get(r,i){return typeof i!=`string`||at.has(i)?Reflect.get(r,i):Bt(e,{...t,path:[...n,i]})}}))}function Vt(e,t={}){let n=(e?.pipeThrough(new TextDecoderStream).pipeThrough(new bt))?.getReader(),r,i=!1;return new We(async()=>{r??=Be(`consume_event_iterator_stream`);try{for(;;){if(n===void 0)return{done:!0,value:void 0};let{done:e,value:t}=await w(r,()=>n.read());if(e){if(i)throw new Pe(`Stream was cancelled`);return{done:!0,value:void 0}}switch(t.event){case`message`:{let e=qe(t.data);return O(e)&&(e=jt(e,t)),r?.addEvent(`message`),{done:!1,value:e}}case`error`:{let e=new P({data:qe(t.data)});throw e=jt(e,t),r?.addEvent(`error`),e}case`done`:{let e=qe(t.data);return O(e)&&(e=jt(e,t)),r?.addEvent(`done`),{done:!0,value:e}}default:r?.addEvent(`maybe_keepalive`)}}}catch(e){throw e instanceof P||S(r,e,t),e}},async e=>{try{e!==`next`&&(i=!0,r?.addEvent(`cancelled`)),await w(r,()=>n?.cancel())}catch(e){throw S(r,e,t),e}finally{r?.end()}})}function Ht(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=Be(`stream_event_iterator`),a&&e.enqueue(kt({comments:[o]}))},async pull(t){try{n&&(c=setInterval(()=>{t.enqueue(kt({comments:[i]})),l?.addEvent(`keepalive`)},r));let a=await w(l,()=>e.next());if(clearInterval(c),s)return;let o=Mt(a.value);if(!a.done||a.value!==void 0||o!==void 0){let e=a.done?`done`:`message`;t.enqueue(kt({...o,event:e,data:D(a.value)})),l?.addEvent(e)}a.done&&(t.close(),l?.end())}catch(e){if(clearInterval(c),s)return;e instanceof P?(t.enqueue(kt({...Mt(e),event:`error`,data:D(e.data)})),l?.addEvent(`error`),t.close()):(S(l,e),t.error(e)),l?.end()}},async cancel(){try{s=!0,clearInterval(c),l?.addEvent(`cancelled`),await w(l,()=>e.return?.())}catch(e){throw S(l,e),e}finally{l?.end()}}}).pipeThrough(new TextEncoderStream)}function Ut(e,t={}){return C({name:`parse_standard_body`,signal:t.signal},async()=>{let n=e.headers.get(`content-disposition`);if(typeof n==`string`){let t=Ft(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 qe(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 Vt(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 Wt(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??Pt(e instanceof File?e.name:`blob`)),e):e instanceof FormData||e instanceof URLSearchParams?e:Ue(e)?(t.set(`content-type`,`text/event-stream`),Ht(e,n)):(t.set(`content-type`,`application/json`),D(e))}function Gt(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 Kt(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 qt(e,t={}){let n=Kt(e.headers),r=Wt(e.body,n,t);return new Request(e.url,{signal:e.signal,method:e.method,headers:n,body:r})}function Jt(e,t={}){return{body:Fe(()=>Ut(e,t)),status:e.status,get headers(){let t=Gt(e.headers);return Object.defineProperty(this,"headers",{value:t,writable:!0}),t},set headers(e){Object.defineProperty(this,"headers",{value:e,writable:!0})}}}var Yt=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)}},Xt=class{constructor(e,t,n={}){this.codec=e,this.sender=t,new Yt(n.plugins).init(n),this.interceptors=ke(n.interceptors),this.clientInterceptors=ke(n.clientInterceptors)}interceptors;clientInterceptors;call(e,t,n){return C({name:`${je}.${e.join(`/`)}`,signal:n.signal},r=>(r?.setAttribute(`rpc.system`,je),r?.setAttribute(`rpc.method`,e.join(`.`)),Ue(t)&&(t=E({name:`consume_event_iterator_input`,signal:n.signal},t)),Ke(this.interceptors,{...n,path:e,input:t},async({path:e,input:t,...n})=>{let i=ze(),a,o=i?.trace.getActiveSpan()??r;o&&i&&(a=i?.trace.setSpan(i.context.active(),o));let s=await C({name:`encode_request`,context:a},()=>this.codec.encode(e,t,n)),c=await Ke(this.clientInterceptors,{...n,input:t,path:e,request:s},({input:e,path:t,request:n,...r})=>C({name:`send_request`,signal:r.signal,context:a},()=>this.sender.call(n,r,t,e))),l=await C({name:`decode_response`,context:a},()=>this.codec.decode(c,n,e,t));return Ue(l)?E({name:`consume_event_iterator_output`,signal:n.signal},l):l})))}},L={BIGINT:0,DATE:1,NAN:2,UNDEFINED:3,URL:4,REGEXP:5,SET:6,MAP:7},Zt=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([L.BIGINT,...t]),[e.toString(),n,r,i];if(e instanceof Date)return n.push([L.DATE,...t]),Number.isNaN(e.getTime())?[null,n,r,i]:[e.toISOString(),n,r,i];if(Number.isNaN(e))return n.push([L.NAN,...t]),[null,n,r,i];if(e instanceof URL)return n.push([L.URL,...t]),[e.toString(),n,r,i];if(e instanceof RegExp)return n.push([L.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([L.SET,...t]),a}if(e instanceof Map){let a=this.serialize(Array.from(e.entries()),t,n,r,i);return n.push([L.MAP,...t]),a}if(Array.isArray(e))return[e.map((e,a)=>e===void 0?(n.push([L.UNDEFINED,...t,a]),null):this.serialize(e,[...t,a],n,r,i)[0]),n,r,i];if(Ye(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 L.BIGINT:n[r]=BigInt(n[r]);break;case L.DATE:n[r]=new Date(n[r]??`Invalid Date`);break;case L.NAN:n[r]=NaN;break;case L.UNDEFINED:n[r]=void 0;break;case L.URL:n[r]=new URL(n[r]);break;case L.REGEXP:{let[,e,t]=n[r].match(/^\/(.*)\/([a-z]*)$/);n[r]=new RegExp(e,t);break}case L.SET:n[r]=new Set(n[r]);break;case L.MAP:n[r]=new Map(n[r])}}return i.data}};function Qt(e){return`/${e.map(encodeURIComponent).join(`/`)}`}function $t(e){return typeof e.forEach==`function`?Gt(e):e}function en(e){return Object.entries(k).find(([,t])=>t.status===e)?.[0]??`MALFORMED_ORPC_ERROR_RESPONSE`}var tn=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=$t(await Ze(this.headers,n,e,t));n.lastEventId!==void 0&&(r=It(r,{"last-event-id":n.lastEventId}));let i=await Ze(this.expectedMethod,n,e,t),a=await Ze(this.baseUrl,n,e,t),o=new URL(a);o.pathname=`${o.pathname.replace(/\/$/,``)}${Qt(e)}`;let s=this.serializer.serialize(t);if(i===`GET`&&!(s instanceof FormData)&&!Ue(s)){let a=await Ze(this.maxUrlLength,n,e,t),c=new URL(o);if(c.searchParams.append(`data`,D(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=!st(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 ct(n)?lt(n):new N(en(e.status),{status:e.status,data:{...e,body:n}});return n}},nn=class{constructor(e){this.jsonSerializer=e}serialize(e){return Ue(e)?Rt(e,{value:async e=>this.#e(e,!1),error:async e=>new P({data:this.#e(ot(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`,D({json:n,meta:o,maps:i})),a.forEach((e,t)=>{s.set(t.toString(),e)}),s}deserialize(e){return Ue(e)?Rt(e,{value:async e=>this.#t(e),error:async e=>{if(!(e instanceof P))return e;let t=this.#t(e.data);return ct(t)?lt(t,{cause:e}):new P({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()))}},rn=class extends Xt{constructor(e,t){let n=new tn(new nn(new Zt(t)),t);super(n,e,t)}},R=class extends Yt{initRuntimeAdapter(e){for(let t of this.plugins)t.initRuntimeAdapter?.(e)}},an=class{fetch;toFetchRequestOptions;adapterInterceptors;constructor(e){new R(e.plugins).initRuntimeAdapter(e),this.fetch=e.fetch??globalThis.fetch.bind(globalThis),this.toFetchRequestOptions=e,this.adapterInterceptors=ke(e.adapterInterceptors)}async call(e,t,n,r){let i=qt(e,this.toFetchRequestOptions);return Jt(await Ke(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})}},on=class extends rn{constructor(e){let t=new an(e);super(t,e)}},sn=class extends Error{issues;data;constructor(e){super(e.message,e),this.issues=e.issues,this.data=e.data}};function z(e,t){return{...e,...t}}async function B(e,t){let{code:n,status:r,message:i,data:a,cause:o,defined:s}=t,c=e?.[t.code];if(!c||A(t.code,c.status)!==t.status)return s?new N(n,{defined:!1,status:r,message:i,data:a,cause:o}):t;if(!c.data)return s?t:new N(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 N(n,{defined:!1,status:r,message:i,data:a,cause:o}):t:new N(n,{defined:!0,status:r,message:i,data:l.value,cause:o})}var V=class{"~orpc";constructor(e){if(e.route?.successStatus&&st(e.route.successStatus))throw Error(`[ContractProcedure] Invalid successStatus.`);if(Object.values(e.errorMap).some(e=>e&&e.status&&!st(e.status)))throw Error(`[ContractProcedure] Invalid error status code.`);this[`~orpc`]=e}};function H(e){return e instanceof V||(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 U(e,t){return{...e,...t}}function W(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(H(e))return new V({...e[`~orpc`],errorMap:z(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 V{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:z(this[`~orpc`].errorMap,t)})}meta(t){return new e({...this[`~orpc`],meta:U(this[`~orpc`].meta,t)})}route(t){return new e({...this[`~orpc`],route:W(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||H(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=Oe(t),i=e[n];return new N(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=Oe(t);return async(...[t,r])=>{let i=ke(n.path),{default:a}=await _n(e),o=r?.context??{},s=await Ze(n.context??{},o),c=wn(a[`~orpc`].errorMap),l=async e=>e instanceof N?await B(a[`~orpc`].errorMap,e):e;try{let e=await C({name:`call_procedure`,signal:r?.signal},e=>(e?.setAttribute(`procedure.path`,[...i]),Ke(ke(n.interceptors),{context:s,input:t,errors:c,path:i,procedure:a,signal:r?.signal,lastEventId:r?.lastEventId},e=>kn(e.procedure,e))));return Ue(e)?e instanceof Nt?e:tt(e,Rt(E({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?C({name:`validate_input`},async()=>{let e=await n[`~standard`].validate(t);if(e.issues)throw new N(`BAD_REQUEST`,{message:`Input validation failed`,data:{issues:e.issues},cause:new sn({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?C({name:`validate_output`},async()=>{let e=await n[`~standard`].validate(t);if(e.issues)throw new N(`INTERNAL_SERVER_ERROR`,{message:`Output validation failed`,cause:new sn({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 C({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 C({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)||!O(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:z(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=``,ee=()=>{try{f.cancel()}catch{}};m.addEventListener(`abort`,ee);try{for(;;){let{done:e,value:t}=await f.read();if(e)break;p+=t,p=p.replace(/\r\n?/g,`
|
|
5
|
+
`}function vt(e){let t=``;for(let n of e??[])gt(n),t+=`: ${n}
|
|
6
|
+
`;return t}function yt(e){let t=``;return t+=vt(e.comments),e.event!==void 0&&(mt(e.event),t+=`event: ${e.event}
|
|
7
|
+
`),e.retry!==void 0&&(ht(e.retry),t+=`retry: ${e.retry}
|
|
8
|
+
`),e.id!==void 0&&(pt(e.id),t+=`id: ${e.id}
|
|
9
|
+
`),t+=_t(e.data),t+=`
|
|
10
|
+
`,t}var bt=Symbol.for(`STANDARD_SERVER_EVENT_META`),xt=Symbol.for(`STANDARD_SERVER_EVENT_SOURCE`);function I(e,t){let n;if(t.id!==void 0&&(pt(t.id),n??={},n.id=t.id),t.retry!==void 0&&(ht(t.retry),n??={},n.retry=t.retry),t.comments!==void 0){for(let e of t.comments)gt(e);n??={},n.comments=t.comments}return n?new Proxy(e,{get(e,t,r){return t===xt?e:t===bt?n:he(e,t)}}):e}function St(e){if(!M(e))return[e,void 0];let t=e[bt];return[e[xt]??e,t]}function Ct(e){if(M(e))return e[bt]}function wt(e,t=`inline`){return`${t}; filename="${e.replace(/[^\x20-\x7E]/g,`_`).replace(/[\\"]/g,`\\$&`)}"; filename*=utf-8''${ye(e).replace(/['()*]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`).replace(/%(7C|60|5E)/g,(e,t)=>String.fromCharCode(Number.parseInt(t,16)))}`}function Tt(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 be(t)}else if(t)return be(t);let r=e.match(/(?:^|;)\s*filename=(?:"((?:\\.|[^"\\])*)"|([^";]*))/i);return r?.[1]===void 0?r?.[2]?.trim()||void 0:r[1].replace(/\\(.)/g,`$1`)}function L(e){if(typeof e==`string`||e===void 0)return e;if(e.length!==0)return e.join(`, `)}var Et=new Set([`json`,`form-data`,`url-search-params`,`event-stream`,`octet-stream`,`file`,`none`]);function Dt(e){let t=L(e[`standard-server`]);if(t!==void 0&&Et.has(t))return t;let n=L(e[`content-type`])?.split(`;`)[0]?.trim().toLowerCase(),r=L(e[`content-length`]),i=L(e[`content-disposition`]),a=i===void 0?void 0:Tt(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 Ot(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:[...O(i),...O(a)]}return n}function kt(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 At(e){return M(e)?Object.values(e).every(e=>e===void 0||typeof e==`string`||Array.isArray(e)&&e.every(e=>typeof e==`string`)):!1}function jt(e){return Number.isInteger(e)}var Mt={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},Nt,R=class e extends Error{static{let t=Symbol.for(`ORPC_ERROR_CONSTRUCTORS`);globalThis[t]??=new WeakSet,Nt=globalThis[t],Nt.add(e)}name=`ORPCError`;defined=!1;code;data;constructor(e,...t){let n=xe(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(!Nt.has(this))return super[Symbol.hasInstance](e);for(let t of Be(e))if(Nt.has(t))return!0;return!1}},Pt=class extends Error{name=`MalformedResponseError`;response;constructor(e){super(e.message,e),this.response=e.response}};function Ft(e){return e instanceof R?e:new R(`INTERNAL_SERVER_ERROR`,{cause:e})}function It(e){if(!Ve(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 Lt(e,t={}){let n=new R(e.code,{...e,...t});return n.defined=e.defined,n}function Rt(e){let t=new R(`MALFORMED_ORPC_RESPONSE`,{message:e.message??Ht(e.response),data:e.response});return t.cause=new Pt({...e,message:t.message}),t}var zt=1,Bt=256;function Vt(e){return e.length>=zt&&e.length<=Bt}function Ht(e){return typeof e.body==`string`&&Vt(e.body)?e.body:Ve(e.body)&&typeof e.body.message==`string`&&Vt(e.body.message)?e.body.message:(Object.entries(Mt).find(([,t])=>t===e.status)?.[0])?.split(`_`).map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(` `)}function Ut(e,{mapResult:t,mapError:n,...r}){return Ie(e,{...r,mapResult:t&&(async e=>{let n=await t(e);if(n.value!==e.value){let t=Ct(e.value);if(t&&M(n.value))return{done:n.done,value:I(n.value,t)}}return n}),mapError:n&&(async e=>{let t=await n(e);if(t!==e){let n=Ct(e);if(n&&M(t))return I(t,n)}return t})})}function Wt(e){return TypeError(`Invalid RPC serialized data: ${e}`)}function z(e,t,n){if(!e)throw Wt(`type "${t}" expects ${n}.`)}var Gt={undefined:{condition(e){return e===void 0},serialize(){return null},deserialize(e){z(e===null,`undefined`,`null`)},isTerminal:!0},bigint:{condition(e){return typeof e==`bigint`},serialize(e){return e.toString()},deserialize(e){return z(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 z(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 z(e===null,`nan`,`null`),NaN},isTerminal:!0},url:{condition(e){return e instanceof URL},serialize(e){return e.toString()},deserialize(e){return z(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 z(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 z(Array.isArray(e),`map`,`an array`),new Map(e)}}},Kt=class{handlers;inlineBuiltInHandlers;handlerEntries;omitUndefinedProperties;constructor(e={}){this.omitUndefinedProperties=e.omitUndefinedProperties!==!1,this.handlers=Object.assign(new Ge,Gt);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 Gt&&(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(Ve(e)){let a=new Ge;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 Wt(`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=We(o,s,a),s=i[e],!Object.hasOwn(o,s))throw Wt(`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 Wt(`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=We(o,s,a),s=n[e],!Object.hasOwn(o,s))throw Wt(`segment "${s}" does not exist.`);o[s]=i.deserialize(o[s])}return t.json}},qt=class{jsonSerializer;defaultSerializeOptions;constructor(e={}){this.jsonSerializer=new Kt(e),this.defaultSerializeOptions=e.serialize}serialize(e,t={}){if(e===void 0||e instanceof ReadableStream||e instanceof Blob)return e;if(A(e))return Ut(e,{mapResult:e=>e.value===void 0?e:{done:e.done,value:this.serializeValue(e.value,!1)},mapError:e=>new F(this.serializeValue(Ft(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`,j({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:A(e)?Ut(e,{mapResult:e=>e.value===void 0?e:{done:e.done,value:this.deserializeValue(e.value)},mapError:e=>{if(!(e instanceof F))return e;let t=this.deserializeValue(e.data);return It(t)?Lt(t,{cause:e}):new F(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})}},Jt=new Set([`then`,`bind`,`call`,`apply`,`valueOf`,`toString`,`toJSON`]);function Yt(e){return{...e,context:e.context??{}}}function Xt(e){return[e[0],Yt(e[1]??{})]}function Zt(e,{path:t=[],...n}={}){let r=(...r)=>{let[i,a]=Xt(r);return Ye([...O(n.interceptors),...O(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`||Jt.has(a))return Reflect.get(r,a);let o=i.get(a);return o===void 0&&(o=Zt(e,{...n,path:[...t,a],scoped:n.scoped?.[a]}),i.set(a,o)),o}})}function Qt(e){let t=(e?.pipeThrough(new TextDecoderStream).pipeThrough(new lt))?.getReader(),n=!1;return new de(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 k(`Stream was cancelled`);return{done:!0,value:void 0}}switch(r.event){case`message`:{let e=fe(r.data);return M(e)&&(e=I(e,r)),{done:!1,value:e}}case`error`:{let e=new F(fe(r.data));throw e=I(e,r),e}case`close`:{let e=fe(r.data);return M(e)&&(e=I(e,r)),{done:!0,value:e}}}}},async e=>{e.kind===`cancelled`&&(n=!0),await t?.cancel()})}function $t(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(yt({comments:[o]}))},async pull(t){try{n&&(l=setInterval(()=>{t.enqueue(yt({comments:[i]}))},r));let a=await e.next();if(clearInterval(l),c)return;let[o,u]=St(a.value);if(!a.done||o!==void 0||u!==void 0||s){let e=a.done?`close`:`message`;t.enqueue(yt({...u,event:e,data:j(o)}))}a.done&&t.close()}catch(e){if(clearInterval(l),c)return;e instanceof F?(t.enqueue(yt({...Ct(e),event:`error`,data:j(e.data)})),t.close()):t.error(e)}},async cancel(){c=!0,clearInterval(l),await e.return?.()}}).pipeThrough(new TextEncoderStream)}async function en(e,t){let n=t?.hint??Dt({"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 fe(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 Qt(e.body);if(n===`file`){let t=e.headers.get(`content-disposition`),n=t===null?void 0:Tt(t),r=await e.blob();return new File([r],n??`blob`,{type:r.type})}return e.body??new ReadableStream({start(e){e.close()}})}}function tn(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`]??=wt(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]):A(e)?(t[`content-type`]=`text/event-stream`,[$t(e,n.eventStream),t]):(t[`content-type`]=`application/json`,[j(e),t]))}function nn(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 rn(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 an(e){return{resolveBody:t=>en(e,{hint:t}),status:e.status,get headers(){let t=nn(e.headers);return Object.defineProperty(this,"headers",{value:t,writable:!0}),t},set headers(e){Object.defineProperty(this,"headers",{value:e,writable:!0})}}}var on=class{name=`~composite`;plugins;constructor(e=[]){this.plugins=Xe(e)}init(e){for(let t of this.plugins)t.init&&(e=t.init(e));return e}},sn=class{constructor(e,t,n={}){this.codec=e,this.transport=t,n=new on(n.plugins).init(n),this.interceptors=n.interceptors,this.transportInterceptors=n.transportInterceptors}interceptors;transportInterceptors;call(e,t,n){return Pe(`${Ee}.${e.join(`/`)}`,r=>(r?.setAttribute(`rpc.system`,Ee),r?.setAttribute(`rpc.method`,e.join(`.`)),N()&&A(t)?t=Re(t,Le(`consume_async_iterator_object_input`,t)):N()&&t instanceof ReadableStream&&(t=Re(t,Je(`consume_octet_stream_input`,t))),Ye(this.interceptors,{...n,path:e,input:t},async({path:e,input:t,...n})=>{let i=N(),a=i?.getActiveSpan()??r,o=await Pe({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 Ye(this.transportInterceptors,{...n,path:e,request:o},({path:e,request:t,...n})=>Pe({name:`send_request`,parent:i?.getActiveSpan()??a},()=>this.transport.send(t,e,n))),c=await Pe({name:`decode_response`,parent:a},()=>this.codec.decodeResponse(s,e,n));if(c.kind===`error`)throw c.error;let l=c.output;return N()&&A(l)?Re(l,Le(`consume_async_iterator_object_output`,l)):N()&&l instanceof ReadableStream?Re(l,Je(`consume_octet_stream_output`,l)):l})))}},cn=/\/$/,ln=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 qt}async encodeInput(e,t,n){let r=un(await P(this.headers,n,t,e));n.lastEventId!==void 0&&(r=Ot(r,{"last-event-id":n.lastEventId}));let i=await P(this.expectedMethod,n,t,e),[a,o,s]=kt(await P(this.baseUrl,n,t,e)),c=`${a.replace(cn,``)}${ke(t)}`,l=this.serializer.serialize(e);if(i===`GET`&&!(l instanceof Blob)&&!(l instanceof ReadableStream)&&!(l instanceof FormData)&&!A(l)){let a=await P(this.maxUrlLength,n,t,e),u=new URLSearchParams(o);u.append(`data`,j(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 Rt({message:`Invalid RPC response format.`,response:{status:e.status,headers:e.headers,body:n},cause:t})}})();return t?{kind:`output`,output:r}:It(r)?{kind:`error`,error:Lt(r)}:{kind:`error`,error:Rt({response:{headers:e.headers,status:e.status,body:n}})}}};function un(e){return typeof e.forEach==`function`?nn(e):e}var dn=Oe(()=>{try{let e;return new Request(`https://example.com`,{method:`POST`,body:new ReadableStream,get duplex(){return e=`half`,`half`}}),e}catch{return}}),fn=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 P(this.origin,n,t);r?.endsWith(`/`)&&(r=r.slice(0,-1));let i=`${r??``}${e.url}`,[a,o]=tn(e.body,e.headers,this.toFetchRequestOptions),s={body:a,headers:rn(o),method:e.method,signal:n.signal,redirect:`manual`};if(a instanceof ReadableStream){let e=dn();e!==void 0&&(s.duplex=e)}return an(await this.fetch(i,s,n,t))}},pn=class extends sn{constructor(e){let t=new ln(e),n=new fn(e);super(t,n,e)}};function B(e,t){return{...e,...t}}function V(e,t,n){t=O(t),n=O(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?ze(t)===e||M(t)&&M(t[`~orpc`])&&M(t[`~orpc`].errorMap)&&M(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]=V(t.meta,t.metaPlugins,e[`~orpc`].metaPlugins);return new mn({...e[`~orpc`],errorMap:B(t.errorMap,e[`~orpc`].errorMap),meta:n,metaPlugins:r})}if(!M(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(M(e))return e[gn]}(class e extends mn{constructor(e){super(e)}static create(){return new e({errorMap:{},meta:{}})}meta(...t){let[n,r]=V(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:B(this[`~orpc`].errorMap,t)}),r=H(t);return r&&(n=n.meta(...r)),n}input(t){let n=new e({...this[`~orpc`],inputSchemas:[...O(this[`~orpc`].inputSchemas),t]}),r=H(t);return r&&(n=n.meta(...r)),n}output(t){let n=new e({...this[`~orpc`],outputSchemas:[...O(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?ze(t)===e||M(t)&&M(t[`~orpc`])&&M(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?ze(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]=V(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]=V(t.meta,t.metaPlugins,e[`~orpc`].metaPlugins);return new yn({...Ue(t,[`middlewares`,`errorMap`,`meta`,`metaPlugins`]),...e[`~orpc`],meta:n,metaPlugins:r,errorMap:B(t.errorMap,e[`~orpc`].errorMap),orderedMiddlewares:[...t.middlewares.map(e=>({middleware:e,inputSchemasLengthAtUse:0,outputSchemasLengthAtUse:0})),...e[`~orpc`].orderedMiddlewares]})}if(!M(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`,ee),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&&Ye(e.options)||Ye(e)&&e.isNotFound===!0)throw e;return[ot(e).toJSON(),void 0]}}}var Tr=class e extends xn{errors(t){return new e({...this[`~orpc`],errorMap:z(this[`~orpc`].errorMap,t)})}meta(t){return new e({...this[`~orpc`],meta:U(this[`~orpc`].meta,t)})}route(t){return new e({...this[`~orpc`],route:W(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:z(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:U(this[`~orpc`].meta,t)})}route(t){return new e({...this[`~orpc`],route:W(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 Bt(new on({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 J=Er.$context();function Or(e){if(!e.tailorkit)throw new N(`UNAUTHORIZED`,{message:`Unauthorized.`});return e.tailorkit}function Y(e){return Or(e).scopeId}function kr(e){let[t,n]=e.headers.get(`authorization`)?.split(` `)??[];if(t!==`Bearer`||!n)throw new N(`UNAUTHORIZED`,{message:`Missing CLI deploy token.`});return n}var X=J.middleware(async({context:e,next:t})=>{let n=await hr({body:{deployToken:kr(e.request)},client:e.platform,headers:e.platformHeaders}),r=`data`in n?n.data:n;if(!r?.scopeId)throw new N(`UNAUTHORIZED`,{message:`Invalid CLI deploy token.`});return t({context:{tailorkit:{scopeId:r.scopeId}}})}),Ar=J.middleware(async({context:e,next:t})=>{let n=await e.authenticate({request:e.request});if(!n)throw new N(`UNAUTHORIZED`,{message:`Unauthorized.`});return t({context:{tailorkit:n}})}),jr=async(e,t)=>{if(e===void 0)return t;let n=await e[`~standard`].validate(t);if(`issues`in n)throw new N(`BAD_REQUEST`,{message:`Invalid TailorKit payload`});return n.value};J.use(Ar).input(y.object({input:y.unknown().optional(),path:y.string()})).handler(async({context:e,input:t})=>{let n=e.actions.get(t.path);if(n===void 0)throw new N(`NOT_FOUND`,{message:`Action not found`});let r=await jr(n.definition.input,t.input),i=await n.handler({context:Or(e).actionContext,input:r});return jr(n.definition.output,i)});var Mr=y.object({page:y.number().int().min(1).optional(),pageSize:y.number().int().min(1).max(100).optional()}),Nr=y.object({description:y.string().nullable(),name:y.string()});J.use(X).input(Nr).handler(async({context:e,input:t})=>await or({body:{...t,scopeId:Y(e)},client:e.platform,headers:e.platformHeaders})),J.use(X).input(y.object({appId:y.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(y.object({appId:y.string(),deploymentId:y.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(y.object({appId:y.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(Mr.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(y.object({appId:y.string()}).extend(Nr.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 Pr=async e=>{try{return await e}catch(e){throw typeof e==`string`&&e.toLowerCase()===`unauthorized`?new N(`UNAUTHORIZED`,{message:`TailorKit platform rejected the host project key. Check TAILORKIT_PROJECT_KEY.`}):e}};J.use(Ar).input(y.object({userCode:y.string().min(1)})).handler(async({context:e,input:t})=>await Pr(dr({body:{scopeId:Y(e),userCode:t.userCode},client:e.platform,headers:e.platformHeaders}))),J.use(Ar).input(y.object({userCode:y.string().min(1)})).handler(async({context:e,input:t})=>await Pr(fr({body:{userCode:t.userCode},client:e.platform,headers:e.platformHeaders}))),J.input(y.object({deviceCode:y.string().min(1)})).handler(async({context:e,input:t})=>await Pr(pr({body:{deviceCode:t.deviceCode},client:e.platform,headers:e.platformHeaders}))),J.input(y.object({})).handler(async({context:e})=>await Pr(mr({body:{},client:e.platform,headers:e.platformHeaders}))),J.input(y.object({})).use(X).handler(({context:e})=>({scopeId:Y(e)}));var Fr=y.object({page:y.number().int().min(1).optional(),pageSize:y.number().int().min(1).max(100).optional()}),Ir=y.object({checksum:y.string(),contentLength:y.number().int().min(1),contentType:y.literal(`application/javascript`),encoding:y.literal(`utf-8`),objectKey:y.literal(`client.js`)}),Lr=y.object({checksum:y.string(),contentLength:y.number().int().min(1).max(262144),contentType:y.enum([`image/svg+xml`,`image/png`,`image/webp`])}),Rr=y.tuple([Ir]),zr=y.object({dark:Lr.optional(),light:Lr.optional()}).optional(),Br=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}},Vr=e=>Br(e)?.toLowerCase().includes(`not found`)??!1,Hr=e=>{throw Vr(e)?new N(`NOT_FOUND`,{message:`App not found.`}):e};J.use(X).input(y.object({appId:y.string(),assets:Rr,logos:zr})).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){Hr(e)}}),J.use(X).input(y.object({deploymentId:y.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(y.object({appId:y.string()}).merge(Fr)).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(y.object({deploymentId:y.string(),rollout:y.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(y.object({appId:y.string().min(1)})).handler(async({context:e,input:t})=>await br({body:{appId:t.appId,deployToken:kr(e.request)},client:e.platform,headers:e.platformHeaders})),J.use(X).input(y.object({sessionId:y.uuid()})).handler(async({context:e,input:t})=>await xr({body:{deployToken:kr(e.request)},client:e.platform,headers:e.platformHeaders,path:{sessionId:t.sessionId}}));var Ur=e=>{let t=new URL(e);return t.hash=``,t.search=``,t.pathname=t.pathname.replace(/\/+$/u,``),t.toString().replace(/\/$/u,``)},Wr=v.join(ie(),`.tailorkit`,`auth.json`),Gr=18e5,Kr=2e3,qr=y.object({deployToken:y.string().min(1),scopeId:y.string().min(1).optional()}),Jr=y.object({hosts:y.record(y.string(),qr).optional()}).passthrough(),Yr=e=>new Promise(t=>setTimeout(t,e)),Xr=e=>{if(e&&typeof e==`object`&&`error`in e&&e.error!==void 0)throw e.error},Zr=async()=>{try{return Jr.parse(JSON.parse(await g(Wr,`utf-8`)))}catch(e){if(e&&typeof e==`object`&&`code`in e&&e.code===`ENOENT`)return{};throw e}},Qr=async e=>{await h(v.dirname(Wr),{recursive:!0}),await _(Wr,`${JSON.stringify(e,null,2)}\n`,{encoding:`utf-8`,mode:384}),await ee(Wr,384)},$r=async e=>{let t=await De(e.configPath,e.cwd);if(t.config.host)return Ur(t.config.host);throw Error(`Missing TailorKit host URL. Set host in tailorkit.config.ts.`)},ei=(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()},ti=e=>Error(`Not logged in for ${e}. Run tailorkit login after checking host in tailorkit.config.ts.`),ni=async(e,t)=>{let n=await Zr();await Qr({...n,hosts:{...n.hosts,[e]:t}})},ri=async e=>{let t=await Zr();if(!t.hosts?.[e])return!1;let{[e]:n,...r}=t.hosts,i={...t,hosts:r};return Object.keys(r).length===0?(await ne(Wr,{force:!0}),!0):(await Qr(i),!0)},ii=async e=>(await Zr()).hosts?.[e],ai=async(e,t)=>{let n=await $r(e),r=Dr({url:n}),i=await r.cliAuth.start({});Xr(i);let a=`data`in i?i.data:i,o=new Date(a.expiresAt),s=Date.now()+(e.timeout??Gr);for(t({expiresAt:o,hostUrl:n,userCode:a.userCode});Date.now()<s&&Date.now()<o.getTime();){await Yr(Kr);let e=await r.cliAuth.poll({deviceCode:a.deviceCode});Xr(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 ni(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.`)},oi=async e=>{let t=await $r(e),n=await ii(t);if(!n?.deployToken)throw ti(t);let r=Dr({headers:{authorization:`Bearer ${n.deployToken}`},url:t}),i;try{let e=await r.cliAuth.verifyToken({});Xr(e),i=`data`in e?e.data:e}catch{throw ti(t)}return await ni(t,{deployToken:n.deployToken,scopeId:i.scopeId}),{hostUrl:t,scopeId:i.scopeId}},si=async e=>{let t=await $r(e);return{hostUrl:t,removed:await ri(t)}},ci=1048576,li=le(ue),ui={png:`image/png`,svg:`image/svg+xml`,webp:`image/webp`},di=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=v.join(e,`tailorkit-upload.json`);return t.parse(JSON.parse(await g(n,`utf-8`)))},hi=e=>se(`sha256`).update(e).digest(`hex`),gi=async e=>{try{let t=JSON.parse(await g(v.join(e,`package.json`),`utf-8`));if(typeof t.name==`string`&&t.name.trim())return t.name.trim()}catch{}return v.basename(e)},_i=async(e,t)=>{let n=await g(e,`utf-8`),r=` appId: ${JSON.stringify(t)},`;if(/^\s*appId\s*:/mu.test(n)){await _(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 _(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 _(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>ci)throw Error(`Deployment asset exceeds ${ci} 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=v.join(e,t);if(ce(n))return n}},bi=e=>{let t=r(v.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`${v.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=v.resolve(e.root,i),o=n.readConfigFile(r,n.sys.readFile);if(o.error!==void 0)return{command:`tsc --noEmit ${v.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 ${v.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 ${v.relative(e.root,a)}`,exitCode:1,output:xi(n,u,e.root)}},Ci=async e=>{let t=await De(e.configPath,e.cwd),n=t.config.appId,r=!1,i=await oi(e),a=await ii(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-D5o0m6gu.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=v.resolve(t.root,e.outDir??t.config.build?.outDir??`.tailorkit`),d=await mi(u,s),f=v.join(u,d.assets.client),p=await g(f),m=await li(p),ee=Object.entries(d.assets.logos??{}),h=await Promise.all(ee.map(async([e,t])=>{let n=await g(v.join(u,t)),r=ui[v.extname(t).slice(1)];if(!r)throw Error(`Unsupported ${e} logo format.`);return{content:n,contentType:r,filename:t,variant:e}}));if(p.byteLength>ci)throw Error(`Combined client assets are ${p.byteLength} bytes and cannot exceed ${ci} bytes.`);let te=Dr({headers:{authorization:`Bearer ${a.deployToken}`},url:i.hostUrl}),ne=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=di(await te.apps.create({description:null,name:o})).id,r=!0,await _i(t.filepath,n),n};n||=await ne(`missing`);let re=async e=>di(await te.deployments.create({appId:e,assets:[{checksum:hi(p),contentLength:p.byteLength,contentType:`application/javascript`,encoding:`utf-8`,objectKey:`client.js`}],logos:h.length>0?Object.fromEntries(h.map(e=>[e.variant,{checksum:hi(e.content),contentLength:e.content.byteLength,contentType:e.contentType}])):void 0})),_;try{_=await re(n)}catch(e){if(!pi(e))throw e;n=await ne(`not-found`),_=await re(n)}if(_.assets.length!==1||!_.assets[0])throw Error(`Deployment did not return an upload URL for the client asset.`);await Promise.all([vi(_.assets[0],p),...h.map(e=>{let t=_.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 ie=di(await te.deployments.publish({deploymentId:_.deployment.id,rollout:!0})),ae=await Promise.all(h.map(async e=>({gzipSize:(await li(e.content)).byteLength,path:e.filename,size:e.content.byteLength})));return{appId:n,createdApp:r,deploymentId:ie.id,hostUrl:i.hostUrl,status:ie.status,uploadedFiles:[{gzipSize:m.byteLength,path:d.assets.client,size:p.byteLength},...ae]}};function wi(e,t){return e===`/`||e===t||t.startsWith(`${e}/`)}var Ti=y.enum([`object`,`array`,`string`,`number`,`boolean`,`null`]),Z=y.object({$schema:y.enum([`https://json-schema.org/draft/2020-12/schema`]).optional(),type:y.union([Ti,y.array(y.string())]).optional(),properties:y.lazy(()=>y.record(y.string(),Z)).optional(),required:y.array(y.string()).optional(),additionalProperties:y.union([y.boolean(),y.lazy(()=>Z)]).optional(),enum:y.array(y.unknown()).optional(),const:y.unknown().optional(),items:y.lazy(()=>Z).optional(),anyOf:y.lazy(()=>y.array(Z)).optional(),oneOf:y.lazy(()=>y.array(Z)).optional(),allOf:y.lazy(()=>y.array(Z)).optional(),not:y.lazy(()=>Z).optional()}).strict(),Ei=y.object({async:y.boolean().optional(),input:Z.optional(),output:Z.optional()}),Di=y.object({fields:Z.optional(),callbacks:y.record(y.string(),Ei),children:y.boolean()}),Oi=y.record(y.string(),Di),ki=y.string().regex(/^\/.*$/u,{message:`View keys must start with "/".`}),Ai=y.object({context:Z.optional(),contextOptional:y.boolean().optional()}).strict(),ji=y.record(ki,Ai),Mi=y.object({input:y.record(y.string(),y.unknown()).optional(),output:y.record(y.string(),y.unknown()).optional()}),Ni=y.lazy(()=>y.record(y.string(),y.union([Mi,Ni])));y.object({version:y.literal(1),slots:y.record(y.string().min(1),y.object({views:y.array(y.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]=V(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:B(this[`~orpc`].errorMap,t)}),r=H(t);return r&&(n=n.meta(...r)),n}use(t){let n=new e({...this[`~orpc`],errorMap:B(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:B(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:B(n[`~orpc`]?.errorMap,t[`~orpc`]?.errorMap),metaPlugins:[...O(e[`~orpc`]?.metaPlugins),...O(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]=V(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:B(this[`~orpc`].errorMap,t)}),r=H(t);return r&&(n=n.meta(...r)),n}use(t){let n=new e({...this[`~orpc`],errorMap:B(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:[...O(this[`~orpc`].metaPlugins),...O(e[`~orpc`]?.metaPlugins)]},n}input(t){let n=new e({...this[`~orpc`],inputSchemas:[...O(this[`~orpc`].inputSchemas),t]}),r=H(t);return r&&(n=n.meta(...r)),n}output(t){let n=new e({...this[`~orpc`],outputSchemas:[...O(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 de(async()=>{for(;;){let{json:t}=await e.pull();switch(t.event){case void 0:case`message`:{let e=t.data;return M(e)&&(e=I(e,t)),{value:e,done:!1}}case`error`:throw I(new F(t.data),t);case`close`:{let e=t.data;return M(e)&&(e=I(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]=St(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 F){if(!this.isDone){this.isDone=!0;let[t,n]=St(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=L(e.json.headers?.[`content-type`]),r=L(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 ge;return{resolveBody:async()=>pr(e,t),eventStreamMessageQueue:e}}if(n!==void 0){let e=new ge;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=L(e.json.headers?.[`content-disposition`]),i=t===void 0?void 0:Tt(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`]??=wt(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,A(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 le;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:pe(r.headers)?r.headers:void 0,body:r.jsonBody},binary:r.binary}),A(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 k(`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 k(`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 k(`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 k(`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!(!M(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`||!M(e.json)||e.json.status!==void 0&&!jt(e.json.status)||e.json.headers!==void 0&&!At(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||!M(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`&&M(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=j(e);return t.prefix?t.prefix+n:n}let n=j({...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 Qe(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 k(`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 _e(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=Ke(),t.addEventListener(`open`,()=>{r?.resolve()})),t.addEventListener(`message`,ce(async e=>{let t=jr(e.data instanceof Blob?await Se(e.data):Ce(e.data),this.decodePeerMessageOptions);t.matched&&Er(t.message)&&n.message(t.message)})),t.addEventListener(`close`,async e=>{r?.resolve(),this.reconnectOnCloseEnabled&&_e(this.reconnectOnCloseDelay).then(()=>this.getConnectedPeer()).catch(()=>{});let t=new k(`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 sn{constructor(e){let t=new ln(e),n=new Pr(e);super(t,n,e)}},Ir=T.string().regex(/^[A-Za-z0-9_-]{1,128}$/u),Lr=T.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=T.object({path:T.string().min(1).max(1024).refine(e=>new TextEncoder().encode(e).byteLength<=1024,{message:`Preview path exceeds 1024 UTF-8 bytes`}),contentType:T.string().min(1).max(255).refine(e=>!/[\r\n]/u.test(e),{message:`Invalid preview content type`}),size:T.number().int().min(0).max(1048576),chunks:T.number().int().min(0).max(4),sha256:T.string().regex(/^[a-f0-9]{64}$/u)}),Br=T.object({files:T.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=T.discriminatedUnion(`type`,[T.object({type:T.literal(`begin`),buildId:Ir,revision:T.number().int().positive(),manifest:Br}),T.object({type:T.literal(`chunk`),revision:T.number().int().positive(),fileIndex:T.number().int().min(0).max(99),chunkIndex:T.number().int().min(0).max(3),base64:Lr}),T.object({type:T.literal(`complete`),revision:T.number().int().positive()}),T.object({type:T.literal(`ended`)})]);T.object({sessionId:T.uuid(),expiresAt:T.string().min(1),websocketUrl:T.url(),token:T.string().min(1)});var Hr=T.object({manifest:Br}),Ur=T.object({buildId:Ir,fileIndex:T.number().int().min(0).max(99),chunkIndex:T.number().int().min(0).max(3),base64:Lr}),Wr=T.object({buildId:Ir}),Gr=T.object({accepted:T.literal(!0)}),Kr=T.object({revision:T.number().int().positive()});function qr(e){let t=Zt(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 Zt(new pn({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=T.string().regex(/^[A-Za-z0-9_-]{43}$/u);T.array(di).max(20),T.enum([`accept`,`cancel`]);var W=fr.$context();function fi(e){if(!e.tailorkit)throw new R(`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 R(`BAD_REQUEST`,{message:`Choose one TailorKit scope for this operation.`});try{return oi(n,r)[0]}catch(e){throw new R(`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 R(`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 R(`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 R(`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 R(`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 R(`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 R(`BAD_REQUEST`,{message:`Invalid TailorKit payload`});return n.value};W.use(hi).input(T.object({input:T.unknown().optional(),path:T.string()})).handler(async({context:e,input:t})=>{let n=e.actions.get(t.path);if(n===void 0)throw new R(`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=T.object({page:T.number().int().min(1).optional(),pageSize:T.number().int().min(1).max(100).optional()}),vi=T.object({description:T.string().nullable(),name:T.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(T.object({appId:T.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(T.object({appId:T.string(),deploymentId:T.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(T.object({appId:T.string(),scopes:T.array(T.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:T.array(T.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(T.object({appId:T.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 R(`UNAUTHORIZED`,{message:`TailorKit platform rejected the host project key. Check TAILORKIT_PROJECT_KEY.`}):e}};W.use(hi).input(T.object({scope:T.string().min(1),userCode:T.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(T.object({userCode:T.string().min(1)})).handler(async({context:e,input:t})=>await yi(er({body:{userCode:t.userCode},client:e.platform,headers:e.platformHeaders}))),W.input(T.object({deviceCode:T.string().min(1)})).handler(async({context:e,input:t})=>await yi(tr({body:{deviceCode:t.deviceCode},client:e.platform,headers:e.platformHeaders}))),W.input(T.object({})).handler(async({context:e})=>await yi(nr({body:{},client:e.platform,headers:e.platformHeaders}))),W.input(T.object({})).use(K).handler(({context:e})=>({scope:G(e)}));var bi=T.object({page:T.number().int().min(1).optional(),pageSize:T.number().int().min(1).max(100).optional()}),xi=T.object({checksum:T.string(),contentLength:T.number().int().min(1),contentType:T.literal(`application/javascript`),encoding:T.literal(`utf-8`),objectKey:T.literal(`client.js`)}),Si=xi.extend({objectKey:T.literal(`server.js`)}),Ci=T.object({checksum:T.string(),contentLength:T.number().int().min(1).max(262144),contentType:T.enum([`image/svg+xml`,`image/png`,`image/webp`])}),wi=T.tuple([xi]),Ti=T.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 R(`NOT_FOUND`,{message:`App not found.`}):e};W.use(K).input(T.object({appId:T.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(T.object({deploymentId:T.string(),scopes:T.array(T.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(T.object({appId:T.string(),scopes:T.array(T.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(T.object({deploymentId:T.string(),rollout:T.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(T.object({appId:T.string().min(1),replaceActive:T.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 R(`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(T.object({sessionId:T.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=T.object({name:T.string().min(1),value:T.record(T.string(),T.unknown())}),Mi=T.record(T.string(),T.string()),Ni=T.preprocess(e=>typeof e==`object`&&e&&!Array.isArray(e)&&!Object.hasOwn(e,`value`)&&Mi.safeParse(e).success?void 0:e,ji.optional()),Pi=w.join(C(),`.tailorkit`,`auth.json`),Fi=18e5,Ii=2e3,Li=T.object({deployToken:T.string().min(1),scope:Ni}),Ri=T.object({deployToken:T.string().min(1),scope:ji}),zi=T.object({scope:ji}),Bi=T.object({hosts:T.record(T.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(w.dirname(Pi),{recursive:!0}),await S(Pi,`${JSON.stringify(e,null,2)}\n`,{encoding:`utf-8`,mode:384}),await h(Pi,384)},Gi=async e=>{let t=await ne(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=e=>Error(`Not logged in for ${e}. Run tailorkit login after checking host in tailorkit.config.ts.`),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 b(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 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{throw qi(t)}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=oe(D),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=w.join(e,`tailorkit-upload.json`);return t.parse(JSON.parse(await v(n,`utf-8`)))},sa=e=>E(`sha256`).update(e).digest(`hex`),ca=async e=>{try{let t=JSON.parse(await v(w.join(e,`package.json`),`utf-8`));if(typeof t.name==`string`&&t.name.trim())return t.name.trim()}catch{}return w.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 S(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 S(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 S(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.`)},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=w.join(e,t);if(ae(n))return n}},fa=async e=>{let t=da(e.root);if(!t)return;let n=r(w.join(e.root,`package.json`)),i;try{i=w.join(w.dirname(n.resolve(`typescript/package.json`)),`bin/tsc`)}catch{return}let a=w.resolve(e.root,e.config.client?.entry??`src/client.ts`),o=await _(w.join(e.root,`.tailorkit-typecheck-`));try{let n=w.join(o,`tsconfig.json`);await S(n,JSON.stringify({extends:t,compilerOptions:{noEmit:!0,incremental:!1,composite:!1},files:[a,...e.config.server?[w.resolve(e.root,e.config.server.entry??`src/server.ts`)]:[]],include:[]})),await oe(re)(process.execPath,[i,`--noEmit`,`--project`,n,`--pretty`,`false`],{cwd:e.root,maxBuffer:4194304})}catch(t){let n=t;return{command:`tsc --noEmit ${w.relative(e.root,a)}`,exitCode:typeof n.code==`number`?n.code:null,output:`${n.stdout??``}${n.stderr??``}`.trim()||n.message||String(t)}}finally{await b(o,{recursive:!0,force:!0})}},pa=async e=>{let t=await ne(e.configPath,e.cwd),n=t.config.appId,r=!1,i=await Qi(e),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=w.resolve(t.root,e.outDir??t.config.build?.outDir??`.tailorkit`),d=await oa(u,s),f=w.join(u,d.assets.client),p=await v(f),m=await ta(p),h=d.assets.server?await v(w.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(w.join(u,t)),r=na[w.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}),ee=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 ee(`missing`);let b=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})),x;try{x=await b(n)}catch(e){if(!aa(e))throw e;n=await ee(`not-found`),x=await b(n)}if(x.assets.length!==1||!x.assets[0])throw Error(`Deployment did not return an upload URL for the client asset.`);if(h&&!x.server)throw Error(`Deployment did not return an upload URL for the server asset.`);await Promise.all([...h&&x.server?[ua(x.server,h)]:[],ua(x.assets[0],p),..._.map(e=>{let t=x.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 S=ra(await y.deployments.publish({deploymentId:x.deployment.id,rollout:!0})),C=await Promise.all(_.map(async e=>({gzipSize:(await ta(e.content)).byteLength,path:e.filename,size:e.content.byteLength}))),te=[];if(h&&d.assets.server){let e=await ta(h);te.push({gzipSize:e.byteLength,path:d.assets.server,size:h.byteLength})}return{appId:n,createdApp:r,deploymentId:S.id,hostUrl:i.hostUrl,status:S.status,uploadedFiles:[{gzipSize:m.byteLength,path:d.assets.client,size:p.byteLength},...te,...C]}};function ma(e,t){return e===`/`||e===t||t.startsWith(`${e}/`)}var ha=T.enum([`object`,`array`,`string`,`number`,`boolean`,`null`]),q=T.object({$schema:T.enum([`https://json-schema.org/draft/2020-12/schema`]).optional(),type:T.union([ha,T.array(T.string())]).optional(),properties:T.lazy(()=>T.record(T.string(),q)).optional(),required:T.array(T.string()).optional(),additionalProperties:T.union([T.boolean(),T.lazy(()=>q)]).optional(),enum:T.array(T.unknown()).optional(),const:T.unknown().optional(),items:T.lazy(()=>q).optional(),anyOf:T.lazy(()=>T.array(q)).optional(),oneOf:T.lazy(()=>T.array(q)).optional(),allOf:T.lazy(()=>T.array(q)).optional(),not:T.lazy(()=>q).optional()}).strict(),ga=T.object({async:T.boolean().optional(),input:q.optional(),output:q.optional()}),_a=T.object({fields:q.optional(),callbacks:T.record(T.string(),ga),children:T.boolean()}),va=T.record(T.string(),_a),ya=T.string().regex(/^\/.*$/u,{message:`View keys must start with "/".`}),ba=T.object({context:q.optional(),contextOptional:T.boolean().optional()}).strict(),xa=T.record(ya,ba),Sa=T.object({input:T.record(T.string(),T.unknown()).optional(),output:T.record(T.string(),T.unknown()).optional()}),Ca=T.lazy(()=>T.record(T.string(),T.union([Sa,Ca])));T.object({version:T.literal(1),slots:T.record(T.string().min(1),T.object({views:T.array(T.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/
|
|
65
|
-
`,
|
|
66
|
-
`)},
|
|
67
|
-
`)},
|
|
68
|
-
`);t.push(` ${
|
|
69
|
-
`)},
|
|
70
|
-
`)}
|
|
71
|
-
`);i.push(`${r}${
|
|
72
|
-
`)},
|
|
73
|
-
`);n.push(` ${
|
|
74
|
-
`)},
|
|
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(Oa(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.anyOf!==void 0&&e.anyOf.length>0){let n=e.anyOf.filter(e=>!Oa(e)).map(e=>X(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`?`${X(e.items,t)}[]`:n===`object`?Aa(e,t):`unknown`},Oa=e=>e.not!==void 0&&Object.keys(e.not).length===0,ka=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(Oa)},Aa=(e,t)=>{let n=e.properties??{},r=Object.entries(n);if(ka(e))return`never`;if(r.length===0)return Ta;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}${Y(e)}${r}: ${X(n,t+2)};`)}return s.push(`${a}}`),s.join(`
|
|
25
|
+
`)},ja=e=>{let t=e.replaceAll(/[^A-Za-z0-9_$]/gu,`_`);return/^[A-Za-z_$]/u.test(t)?t:`_${t}`},Ma=e=>`${ja(e)}Props`,Na=e=>{let t=ja(e);return`${t.charAt(0).toUpperCase()}${t.slice(1)}`},Pa=e=>{if(e.fields?.properties!==void 0)return e.fields.properties;let t={};for(let n of e.fieldKeys??[])t[n]={};return t},Fa=(e,t)=>{if(e?.anyOf===void 0||e.anyOf.length!==2)return;let[n,r]=e.anyOf.filter(e=>!Oa(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}>`},Ia=(e,t)=>Fa(e,t)??X(e,t),La=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(Pa(a))){let a=Na(e),o=Ia(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)))},Ra=(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(Pa(a))){let a=t[e];a===void 0||r.has(a)||(r.add(a),n.push(`export type ${a} = ${Ia(i,0)};`))}return n.join(`
|
|
26
|
+
`)},za=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
|
+
`)},Ba=(e,t,n)=>{let r=Ma(e),i=Pa(t),a=t.callbacks??{},o=[`export interface ${r} {`];for(let[e,t]of Object.entries(i))o.push(` ${Y(e)}?: ${n[e]??Ia(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 ${ja(e)} = /* @__PURE__ */ createRemoteComponent<${r}, ${t.children===!0}>(${J(e)}, {`),o.push(` children: ${t.children===!0}${c},`),o.push(`});`),o.join(`
|
|
29
|
+
`)},Va=e=>`input`in e||`output`in e,Ha=(e,t=0)=>{let n=` `.repeat(t),r=` `.repeat(t+2),i=[`{`];for(let[n,a]of Object.entries(e))if(Va(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=Ha(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
|
+
`)},Ua=(e,t=[])=>{let n=[`{`];for(let[r,i]of Object.entries(e)){let e=[...t,r];if(Va(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=Ua(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
|
+
`)},Wa=(e,t={})=>{let n=Ha(e.actions??{}),r=e.components??{},i=La(r),a=[wa,za(e.views??{}),`declare module "tailorkit/client" {
|
|
75
34
|
interface TailorKitViews extends ViewPropsByPath {}
|
|
76
|
-
interface TailorKitSlots { ${Object.entries(e.slots??{}).map(([e,t])=>`${
|
|
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 = ${
|
|
82
|
-
export const actions = ${
|
|
40
|
+
export type TailorKitActions = ${n};
|
|
41
|
+
export const actions = ${Ua(e.actions??{})} as TailorKitActions;`,Ra(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(Ba(e,{...t,children:n},i))}return`${a.join(`
|
|
83
42
|
|
|
84
|
-
`)}\n`},
|
|
43
|
+
`)}\n`},Ga=(e,t)=>{let n=new URL(e);return n.pathname=`${n.pathname.replace(/\/$/u,``)}/${t.replace(/^\//u,``)}`,n.toString()},Ka=async e=>{let t=Ga(e,`schema`),n=await fetch(t);if(!n.ok)throw Error(`Unable to fetch TailorKit schema from ${t}: ${n.statusText}`);return await n.json()},qa=async(e={})=>{let t=w.resolve(e.cwd??`.`),n=w.resolve(t,e.outFile??w.join(`src`,`tailorkit.gen.ts`)),r=await ne(e.configPath,t),i=await Ka(r.config.host),a=w.resolve(r.root,r.config.server?.entry??`src/server.ts`),o=await x(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=w.relative(w.dirname(n),a).replaceAll(w.sep,`/`).replace(/\.tsx?$/u,``);s=e.startsWith(`.`)?e:`./${e}`}let c=Wa(i,{serverModule:s});return await g(w.dirname(n),{recursive:!0}),await S(n,c,`utf-8`),n},Ja=`1.0.0-rc.4-5d5b77c`,Ya=`https://registry.npmjs.org`,Xa=5e3,Z={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`}},Za=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}},Qa=(e,t)=>e.major===t.major?e.minor===t.minor?e.patch-t.patch:e.minor-t.minor:e.major-t.major,$a=(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},eo=async({fallback:e,matcher:t,packageName:n})=>{try{let r=await fetch(`${Ya}/${encodeURIComponent(n)}`,{signal:AbortSignal.timeout(Xa)});if(!r.ok)return e;let i=await r.json(),a=Object.keys(i.versions??{}).map(Za).filter(e=>e!==void 0).filter(e=>$a(e,t)).toSorted(Qa).at(-1);return a?`^${a.raw}`:e}catch{return e}},to=async()=>{let[e,t,n,r,i,a]=await Promise.all([eo(Z.oxfmt),eo(Z.oxlint),eo(Z.preact),eo(Z.tailorkit),eo(Z.typescript),eo(Z.zod)]);return{drizzleKit:Ja,drizzleOrm:Ja,oxfmt:e,oxlint:t,preact:n,tailorkit:r,typescript:i,zod:a}},no=`{
|
|
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 = ${ta(e.actions??{})} as TailorKitActions;`,Xi(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 = ${ta(e.actions??{})} as TailorKitActions;`,Xi(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
|
-
`,
|
|
76
|
+
`,ro=`{
|
|
114
77
|
"compilerOptions": {
|
|
115
78
|
"allowSyntheticDefaultImports": true,
|
|
116
79
|
"esModuleInterop": true,
|
|
@@ -127,70 +90,66 @@ export const actions = ${ta(e.actions??{})} as TailorKitActions;`,Xi(n,r)];for(l
|
|
|
127
90
|
},
|
|
128
91
|
"include": ["src", "tailorkit.config.ts"]
|
|
129
92
|
}
|
|
130
|
-
`,
|
|
93
|
+
`,io=`import type { TailorKitConfig } from "tailorkit/app/config";
|
|
131
94
|
|
|
132
95
|
const config = {
|
|
133
96
|
host: "{{ hostUrl }}",
|
|
134
|
-
|
|
135
|
-
entry: "./src/client.ts",
|
|
136
|
-
},
|
|
97
|
+
server: {},
|
|
137
98
|
} satisfies TailorKitConfig;
|
|
138
99
|
|
|
139
100
|
export default config;
|
|
140
|
-
`,
|
|
101
|
+
`,ao=`# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
|
|
102
|
+
|
|
103
|
+
# TailorKit
|
|
141
104
|
.tailorkit
|
|
142
105
|
|
|
143
|
-
#
|
|
144
|
-
logs
|
|
145
|
-
*.log
|
|
106
|
+
# debug
|
|
146
107
|
npm-debug.log*
|
|
147
108
|
yarn-debug.log*
|
|
148
109
|
yarn-error.log*
|
|
149
110
|
pnpm-debug.log*
|
|
150
|
-
lerna-debug.log*
|
|
151
111
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
112
|
+
# testing
|
|
113
|
+
/coverage
|
|
114
|
+
|
|
115
|
+
# dependencies
|
|
116
|
+
/node_modules
|
|
117
|
+
/.pnp
|
|
118
|
+
.pnp.js
|
|
156
119
|
|
|
157
|
-
#
|
|
120
|
+
# misc
|
|
121
|
+
.DS_Store
|
|
122
|
+
*.pem
|
|
123
|
+
|
|
124
|
+
# local env files
|
|
125
|
+
.env*.local
|
|
158
126
|
.env
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
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
|
-
`,ua=`import { defineConfig } from "oxlint";
|
|
127
|
+
|
|
128
|
+
# typescript
|
|
129
|
+
*.tsbuildinfo
|
|
130
|
+
`,oo=`import { defineConfig } from "oxlint";
|
|
174
131
|
|
|
175
132
|
export default defineConfig({
|
|
176
133
|
ignorePatterns: ["src/tailorkit.gen.ts"],
|
|
177
134
|
});
|
|
178
|
-
`,
|
|
135
|
+
`,so=`import { defineConfig } from "oxfmt";
|
|
179
136
|
|
|
180
137
|
export default defineConfig({
|
|
181
138
|
ignorePatterns: ["src/tailorkit.gen.ts"],
|
|
182
139
|
});
|
|
183
|
-
`,
|
|
140
|
+
`,co=`import { ClientProvider, defineClient } from "tailorkit/client";
|
|
184
141
|
import defaultView from "./views/default";
|
|
185
142
|
|
|
186
143
|
const client = defineClient({
|
|
144
|
+
component: ClientProvider,
|
|
187
145
|
slots: {
|
|
188
146
|
panel: { "/": defaultView },
|
|
189
147
|
},
|
|
190
148
|
});
|
|
191
149
|
|
|
192
150
|
export default client;
|
|
193
|
-
`,
|
|
151
|
+
`,lo=`import { createView, useQuery } from "tailorkit/client";
|
|
152
|
+
import { api, Card } from "#tailorkit";
|
|
194
153
|
|
|
195
154
|
const view = createView("/", {
|
|
196
155
|
component: ViewComponent,
|
|
@@ -198,12 +157,13 @@ const view = createView("/", {
|
|
|
198
157
|
|
|
199
158
|
function ViewComponent() {
|
|
200
159
|
const context = view.useContext();
|
|
160
|
+
const greeting = useQuery(api.greeting, { name: context.user.name });
|
|
201
161
|
|
|
202
|
-
return <
|
|
162
|
+
return <Card>{greeting.isLoading ? "Loading…" : greeting.error?.message ?? greeting.data}</Card>;
|
|
203
163
|
}
|
|
204
164
|
|
|
205
165
|
export default view;
|
|
206
|
-
`,
|
|
166
|
+
`,uo=`/* eslint-disable */
|
|
207
167
|
|
|
208
168
|
// This file was automatically generated by TailorKit.
|
|
209
169
|
// Documentation: https://tailorkit.dev/docs
|
|
@@ -211,8 +171,10 @@ export default view;
|
|
|
211
171
|
// Do not make changes to this file directly, as it will be overwritten.
|
|
212
172
|
// Exclude this file from linting and formatting to avoid checking generated code.
|
|
213
173
|
|
|
214
|
-
import { createRemoteComponent } from "tailorkit/
|
|
174
|
+
import { createApi, createRemoteComponent } from "tailorkit/client";
|
|
175
|
+
import type app from "./server";
|
|
215
176
|
|
|
177
|
+
export const api = createApi<typeof app.functions>();
|
|
216
178
|
|
|
217
179
|
export interface ViewPropsByPath {
|
|
218
180
|
"/": {
|
|
@@ -224,7 +186,7 @@ export interface ViewPropsByPath {
|
|
|
224
186
|
};
|
|
225
187
|
}
|
|
226
188
|
|
|
227
|
-
declare module "tailorkit/
|
|
189
|
+
declare module "tailorkit/client" {
|
|
228
190
|
interface TailorKitViews extends ViewPropsByPath {}
|
|
229
191
|
interface TailorKitSlots { panel: "/" }
|
|
230
192
|
}
|
|
@@ -248,4 +210,19 @@ export interface CardProps {
|
|
|
248
210
|
export const Card = createRemoteComponent<CardProps, true>("Card", {
|
|
249
211
|
children: true,
|
|
250
212
|
});
|
|
251
|
-
`,ha=new fe({strictVariables:!0}),ga=(e,t)=>ha.parseAndRender(e,t),_a=e=>h(e,{recursive:!0}).then(()=>{}),va=async(e,t,n)=>{if(!n&&ce(e))throw Error(`${e} already exists. Use --force to overwrite it.`);await _(e,t,`utf-8`)},ya=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 _a(v.join(t,`src`,`views`));let p=[{template:oa,dest:`package.json`},{template:sa,dest:`tsconfig.json`},{template:ca,dest:`tailorkit.config.ts`},{template:la,dest:`.gitignore`},{template:ua,dest:`oxlint.config.ts`,condition:a},{template:da,dest:`oxfmt.config.ts`,condition:r},{template:fa,dest:v.join(`src`,`client.ts`)},{template:pa,dest:v.join(`src`,`views`,`default.tsx`)},{template:ma,dest:v.join(`src`,`tailorkit.gen.ts`)}];await Promise.all(p.filter(e=>e.condition!==!1).map(async({template:e,dest:r})=>{let i=await ga(e,f);await va(v.join(t,r),i,n)}))},ba=`https://registry.npmjs.org`,xa=5e3,Sa={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`}},Ca=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}},wa=(e,t)=>e.major===t.major?e.minor===t.minor?e.patch-t.patch:e.minor-t.minor:e.major-t.major,Ta=(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},Ea=async({fallback:e,matcher:t,packageName:n})=>{try{let r=await fetch(`${ba}/${encodeURIComponent(n)}`,{signal:AbortSignal.timeout(xa)});if(!r.ok)return e;let i=await r.json(),a=Object.keys(i.versions??{}).map(Ca).filter(e=>e!==void 0).filter(e=>Ta(e,t)).toSorted(wa).at(-1);return a?`^${a.raw}`:e}catch{return e}},Da=async()=>{let[e,t,n,r,i]=await Promise.all([Ea(Sa.oxfmt),Ea(Sa.oxlint),Ea(Sa.preact),Ea(Sa.tailorkit),Ea(Sa.typescript)]);return{oxfmt:e,oxlint:t,preact:n,tailorkit:r,typescript:i}},Oa=[`pnpm`,`yarn`,`npm`,`bun`],ka=e=>Oa.includes(e),Aa=e=>e.trim().toLowerCase().replaceAll(/[^a-z0-9._/-]+/gu,`-`).replaceAll(/^-+|-+$/gu,``),ja=e=>(s(e)&&(i(`Init cancelled.`),process.exit(0)),e),Ma=(e,t)=>v.resolve(t,e??`.`),Na=async(e,t)=>{let n=Aa(v.basename(t))||`tailorkit-app`;return Aa(e===void 0?ja(await f({defaultValue:n,message:`Package name`,placeholder:n,validate:e=>Aa(e??``).length===0?`Enter a package name.`:void 0})):e)},Pa=async e=>{if(e!==void 0){if(ka(e))return e;throw Error(`--package-manager must be one of: ${Oa.join(`, `)}.`)}return ja(await u({initialValue:`pnpm`,message:`Package manager`,options:Oa.map(e=>({label:e,value:e}))}))},Fa=async e=>e===void 0?ja(await a({initialValue:!0,message:`Add linting with oxlint?`})):e,Ia=async e=>e===void 0?ja(await a({initialValue:!0,message:`Add formatting with oxfmt?`})):e,La=e=>{try{Ur(e??``);return}catch{return`Enter a valid host URL.`}},Ra=async e=>{if(e!==void 0){let t=La(e);if(t!==void 0)throw Error(t);return Ur(e)}let t=`https://example.com/api/tailorkit`;return Ur(ja(await f({defaultValue:t,message:`Host URL`,placeholder:t,validate:La})))},za=async e=>e===void 0?ja(await a({initialValue:!0,message:`Install dependencies?`})):e,Ba=async(e,t)=>t||!ce(e)?t:ja(await a({initialValue:!1,message:`${m.cyan(e)} already exists. Overwrite matching files?`})),Va=(e,t,n)=>new Promise((r,i)=>{let a=de(e,t,{cwd:n,stdio:`inherit`});a.on(`close`,r),a.on(`error`,i)}),Ha=async(e,t)=>{let n=d();n.start(`Installing dependencies with ${t}`);let r=await Va(t,[`install`],e);if(r!==0)throw n.stop(`Install failed.`),Error(`${t} install exited with code ${r}.`);n.stop(`Installed dependencies.`)},Ua=async(e,t)=>{let n=d();n.start(`Formatting project`);let r=await Va(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.`)},Wa=async e=>{let t=Ma(e.directory,e.cwd),n=await Na(e.name,t),r=v.join(t,n),i=await Ba(r,e.force??!1),a=await Pa(e.packageManager),o=await Ra(e.host),s=await Fa(e.linting),c=await Ia(e.formatting),l=await za(e.install),u=d();u.start(`Resolving package versions`);let f=await Da();return u.stop(`Resolved package versions.`),await h(r,{recursive:!0}),await ya({force:i,formatting:c,hostUrl:o,linting:s,packageName:n,packageVersions:f,targetDirectory:r}),l&&(await Ha(r,a),c&&await Ua(r,a)),r},Ga=/^http:\/\/orpc\//,Ka=(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))(Ka||{});function qa(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(Ga,`/`),b:r.body,h:Object.keys(r.headers).length>0?r.headers:void 0,m:r.method===`POST`?void 0:r.method}}}function Ja(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 Ya(e,t,n){if(t===3||t===4)return eo(qa(e,t,n));let r=n,{body:i,headers:a}=await Za(r.body,r.headers),o=qa(e,1,{...r,body:i instanceof Blob?void 0:i,headers:a});return i instanceof Blob?eo(o,i):eo(o)}async function Xa(e){let{json:t,buffer:n}=await to(e),[r,i,a]=Ja(t);if(i===3||i===4)return[r,i,a];let o=a,s=await Qa(o.headers,o.body,n);return[r,i,{...o,body:s}]}async function Za(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??Pt(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}):Ue(e)?(n[`content-type`]=`text/event-stream`,{body:void 0,headers:n}):{body:e,headers:n}}async function Qa(e,t,n){let r=Lt(e[`content-type`]),i=Lt(e[`content-disposition`]);if(typeof i==`string`){let e=Ft(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 $a=255;async function eo(e,t){let n=D(e);return t===void 0||t.size===0?n:Ae(new Blob([new TextEncoder().encode(n),new Uint8Array([$a]),t]))}async function to(e){if(typeof e==`string`)return{json:JSON.parse(e)};let t=e instanceof Uint8Array?e:new Uint8Array(e),n=t.indexOf($a);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 no(e,t,n,r={}){let i;return new We(async()=>{i??=Be(`consume_event_iterator_stream`);try{let n=await w(i,()=>e.pull(t));switch(n.event){case`message`:{let e=n.data;return n.meta&&O(e)&&(e=jt(e,n.meta)),i?.addEvent(`message`),{value:e,done:!1}}case`error`:{let e=new P({data:n.data});throw n.meta&&(e=jt(e,n.meta)),i?.addEvent(`error`),e}case`done`:{let e=n.data;return n.meta&&O(e)&&(e=jt(e,n.meta)),i?.addEvent(`done`),{value:e,done:!0}}}}catch(e){throw e instanceof P||S(i,e,r),e}},async e=>{try{e!==`next`&&i?.addEvent(`cancelled`),await w(i,()=>n(e))}catch(e){throw S(i,e,r),e}finally{i?.end()}})}function ro(e,t){return C({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:Mt(t)}):(n?.addEvent(`message`),{event:`message`,data:t,meta:Mt(t)})}catch(e){if(e instanceof P)return n?.addEvent(`error`),{event:`error`,data:e.data,meta:Mt(e)};try{await t({event:`error`,data:void 0})}catch(t){throw S(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 S(n,t),e}throw t}}})}var io=class{peer;constructor(e){this.peer=new ao(async([t,n,r])=>{await e(await Ya(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 Xa(e))}close(e={}){return this.peer.close(e)}},ao=class{idGenerator=new Ge;responseQueue=new He;serverEventIteratorQueue=new He;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 C({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=ze();if(i){let t=Xe(e.headers);i.propagation.inject(i.context.active(),t),e={...e,headers:t}}if(await this.send([n,Ka.REQUEST,e]),t?.aborted)throw await this.send([n,Ka.ABORT_SIGNAL,void 0]),t.reason;let a;if(t?.addEventListener(`abort`,a=async()=>{await this.send([n,Ka.ABORT_SIGNAL,void 0]),this.close({id:n,reason:t.reason})},{once:!0}),this.cleanupFns.get(n)?.push(()=>{t?.removeEventListener(`abort`,a)}),Ue(e.body)){let t=e.body;ro(t,async e=>r.signal.aborted?`abort`:(await this.send([n,Ka.EVENT_ITERATOR,e]),`next`))}let o=await this.responseQueue.pull(n);if(I(o.headers)){let e=no(this.serverEventIteratorQueue,n,async e=>{try{e!==`next`&&await this.send([n,Ka.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===Ka.ABORT_SIGNAL){this.serverControllers.get(e)?.abort();return}if(t===Ka.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)}},oo=0,so=1,co=class{peer;constructor(e){this.peer=new io(async t=>{if(e.websocket.readyState===oo&&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!==so)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 Ae(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)}}},lo=class extends rn{constructor(e){let t=new co(e);super(t,{...e,url:`http://orpc`})}};function uo(e){return Bt(new lo({websocket:e}))}var fo=1048576,po=5e3,mo={".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`},ho=e=>mo[v.extname(e)]??`application/octet-stream`,go=class extends Error{status;constructor(e,t){super(e),this.name=`PreviewAssetError`,this.status=t}},_o=(e,t)=>{let n=v.relative(e,t);return n===`..`||n.startsWith(`..${v.sep}`)||v.isAbsolute(n)},vo=e=>e instanceof Error?e.message:String(e);async function yo(e,t){try{let n;try{n=decodeURIComponent(new URL(e.path,`http://localhost`).pathname)}catch{throw new go(`Invalid preview asset path.`,400)}let r=v.resolve(t,n.slice(1));if(_o(t,r))throw new go(`Preview asset path is outside the build output.`,403);let i=await te(r).catch(e=>{throw e.code===`ENOENT`?new go(`Preview asset was not found.`,404):e});if(_o(t,i))throw new go(`Preview asset path is outside the build output.`,403);let a=await re(i);if(!a?.isFile())throw new go(`Preview asset was not found.`,404);if(a.size>fo)throw new go(`Preview asset exceeds the maximum supported size.`,413);return{status:200,body:(e.method===`HEAD`?void 0:await g(i))?.toString(`base64`)??``,contentType:ho(i)}}catch(e){let t=e instanceof go?e:new go(`Unable to read preview asset: ${vo(e)}`,500);return t.status>=500&&c.error(t.message),{status:t.status,body:Buffer.from(t.message).toString(`base64`),contentType:`text/plain; charset=utf-8`}}}async function bo(e,t,n){let r=await yo(t,n);await e.respond({type:`response`,id:t.id,...r})}async function xo(e,t,n){let r=1e3,i=!1,a,o,s=!1;return await new Promise((l,u)=>{let d=()=>{i=!0,a&&clearTimeout(a),o?.close()},f=()=>{!s&&!i&&(d(),u(Error(`Unable to connect to the preview tunnel.`)))},p=()=>{a=setTimeout(m,r),r=Math.min(r*2,3e4)},m=()=>{if(i)return;let a;try{a=new WebSocket(e,t)}catch{f();return}o=a;let u=uo(a);a.addEventListener(`open`,()=>{r=1e3,s||(s=!0,l(d)),(async()=>{try{let e=await u.connect();for await(let t of e)bo(u,t,n).catch(e=>{c.error(`Unable to send preview asset response: ${vo(e)}`)})}catch(e){c.error(`Preview tunnel request stream failed: ${vo(e)}`),a.close()}})()}),a.addEventListener(`error`,()=>{f()}),a.addEventListener(`close`,()=>{if(!i){if(!s){f();return}p()}})};m()})}var So=e=>({configPath:e.config,cwd:String(e.cwd??`.`),entry:e.entry,mode:e.mode,outDir:e.outDir});async function Co(e){let t=await De(e.configPath,e.cwd);if(!t.config.appId)throw Error(`Missing appId. Deploy once before starting a remote preview.`);let n=await oi(e),r=await ii(n.hostUrl);if(!r?.deployToken)throw Error(`Not logged in. Run tailorkit login first.`);let{buildApp:i}=await import(`./assets/builder-D5o0m6gu.js`),a=await i({configPath:e.configPath,cwd:e.cwd,entry:e.entry,mode:e.mode,outDir:e.outDir,watch:!0}),o=()=>{a&&typeof a==`object`&&`close`in a&&a.close()},s=await Dr({headers:{authorization:`Bearer ${r.deployToken}`},url:n.hostUrl}).preview.start({appId:t.config.appId}).catch(e=>{throw o(),e}),l=`data`in s?s.data:s;if(!l)throw o(),Error(`Unable to start preview session.`);let u=Dr({fetch:(e,t)=>fetch(e,{...t,signal:AbortSignal.timeout(po)}),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: ${vo(e)}`)}},f=v.resolve(t.root,e.outDir??t.config.build?.outDir??`.tailorkit`),p=await te(f).catch(async e=>{throw o(),await d(),Error(`Unable to resolve preview build output: ${vo(e)}`)}),ee=await xo(l.tunnelUrl,l.tunnelToken,p).catch(async e=>{throw o(),await d(),e}),h=()=>{o(),ee(),d().finally(()=>process.exit(0))};process.once(`SIGINT`,h),process.once(`SIGTERM`,h),c.info(m.green(`Host preview session: ${l.sessionId}`)),c.info(m.dim(`Serving built app assets from ${f} through the preview tunnel`))}var wo=e=>{let t=ae();return t===`darwin`?{args:[e],command:`open`}:t===`win32`?{args:[`/c`,`start`,``,e],command:`cmd`}:{args:[e],command:`xdg-open`}},To=e=>new Promise(t=>{let{args:n,command:r}=wo(e),i=de(r,n,{detached:!0,stdio:`ignore`,windowsHide:!0});i.once(`error`,()=>{t(!1)}),i.once(`spawn`,()=>{i.unref(),t(!0)})}),$=p(`tailorkit`),Eo=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 Co(So(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 ai({configPath:e.config,cwd:String(e.cwd??`.`),timeout:r*1e3},({expiresAt:r,hostUrl:i,userCode:a})=>{let o=ei(i,a);e.open!==!1&&To(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 si({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 oi({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(`${Eo(e.size)} raw, ${Eo(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-D5o0m6gu.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 aa({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 Wa({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.13`),$.parse();export{De as t};
|
|
213
|
+
`,fo=`import { defineServer } from "tailorkit/server";
|
|
214
|
+
import * as functions from "./functions/greeting";
|
|
215
|
+
|
|
216
|
+
const app = defineServer(functions);
|
|
217
|
+
|
|
218
|
+
export default app;
|
|
219
|
+
`,po=`// Define your SQLite tables here using table(), text(), boolean(), etc.
|
|
220
|
+
// Run pnpm db:generate and commit migrations/ when adding or changing tables.
|
|
221
|
+
export {};
|
|
222
|
+
`,mo=`import { tk } from "tailorkit/server";
|
|
223
|
+
import { z } from "zod";
|
|
224
|
+
|
|
225
|
+
export const greeting = tk.query
|
|
226
|
+
.input(z.object({ name: z.string() }))
|
|
227
|
+
.handler(({ input }) => \`Hello, \${input.name}!\`);
|
|
228
|
+
`,ho=new se({strictVariables:!0}),go=(e,t)=>ho.parseAndRender(e,t),_o=e=>g(e,{recursive:!0}).then(()=>{}),vo=async(e,t,n)=>{if(!n&&ae(e))throw Error(`${e} already exists. Use --force to overwrite it.`);await S(e,t,`utf-8`)},yo=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,zodVersion:s.zod??`^4.0.0`,drizzleKitVersion:s.drizzleKit??`1.0.0-rc.4-5d5b77c`,drizzleOrmVersion:s.drizzleOrm??`1.0.0-rc.4-5d5b77c`};await _o(w.join(t,`src`,`views`)),await _o(w.join(t,`src`,`functions`));let p=[{template:no,dest:`package.json`},{template:ro,dest:`tsconfig.json`},{template:io,dest:`tailorkit.config.ts`},{template:ao,dest:`.gitignore`},{template:oo,dest:`oxlint.config.ts`,condition:a},{template:so,dest:`oxfmt.config.ts`,condition:r},{template:co,dest:w.join(`src`,`client.ts`)},{template:lo,dest:w.join(`src`,`views`,`default.tsx`)},{template:uo,dest:w.join(`src`,`tailorkit.gen.ts`)},{template:fo,dest:w.join(`src`,`server.ts`)},{template:po,dest:w.join(`src`,`schema.ts`)},{template:mo,dest:w.join(`src`,`functions`,`greeting.ts`)}];await Promise.all(p.filter(e=>e.condition!==!1).map(async({template:e,dest:r})=>{let i=await go(e,f);await vo(w.join(t,r),i,n)}))},bo=[`pnpm`,`yarn`,`npm`,`bun`],xo=e=>bo.includes(e),So=e=>e.trim().toLowerCase().replaceAll(/[^a-z0-9._/-]+/gu,`-`).replaceAll(/^-+|-+$/gu,``),Q=e=>(s(e)&&(i(`Init cancelled.`),process.exit(0)),e),Co=(e,t)=>w.resolve(t,e??`.`),wo=async(e,t)=>{let n=So(w.basename(t))||`tailorkit-app`;return So(e===void 0?Q(await f({defaultValue:n,message:`Package name`,placeholder:n,validate:e=>So(e??``).length===0?`Enter a package name.`:void 0})):e)},To=async e=>{if(e!==void 0){if(xo(e))return e;throw Error(`--package-manager must be one of: ${bo.join(`, `)}.`)}return Q(await u({initialValue:`pnpm`,message:`Package manager`,options:bo.map(e=>({label:e,value:e}))}))},Eo=async e=>e===void 0?Q(await a({initialValue:!0,message:`Add linting with oxlint?`})):e,Do=async e=>e===void 0?Q(await a({initialValue:!0,message:`Add formatting with oxfmt?`})):e,Oo=e=>{try{Ai(e??``);return}catch{return`Enter a valid host URL.`}},ko=async e=>{if(e!==void 0){let t=Oo(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:Oo})))},Ao=async e=>e===void 0?Q(await a({initialValue:!0,message:`Install dependencies?`})):e,jo=async(e,t)=>t||!ae(e)?t:Q(await a({initialValue:!1,message:`${m.cyan(e)} already exists. Overwrite matching files?`})),Mo=(e,t,n)=>new Promise((r,i)=>{let a=ie(e,t,{cwd:n,stdio:`inherit`});a.on(`close`,r),a.on(`error`,i)}),No=async(e,t)=>{let n=d();n.start(`Installing dependencies with ${t}`);let r=await Mo(t,[`install`],e);if(r!==0)throw n.stop(`Install failed.`),Error(`${t} install exited with code ${r}.`);n.stop(`Installed dependencies.`)},Po=async(e,t)=>{let n=d();n.start(`Formatting project`);let r=await Mo(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.`)},Fo=async e=>{let t=Co(e.directory,e.cwd),n=await wo(e.name,t),r=w.join(t,n),i=await jo(r,e.force??!1),a=await To(e.packageManager),o=await ko(e.host),s=await Eo(e.linting),c=await Do(e.formatting),l=await Ao(e.install),u=d();u.start(`Resolving package versions`);let f=await to();return u.stop(`Resolved package versions.`),await g(r,{recursive:!0}),await yo({force:i,formatting:c,hostUrl:o,linting:s,packageName:n,packageVersions:f,targetDirectory:r}),l&&(await No(r,a),c&&await Po(r,a)),r},Io=262144,Lo={".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`},Ro=e=>e instanceof Error?e.message:String(e),zo=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 Bo(e){let t=await ee(e),n=(await y(t,{recursive:!0,withFileTypes:!0})).filter(e=>e.isFile()).toSorted((e,t)=>w.join(e.parentPath,e.name).localeCompare(w.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(w.join(e.parentPath,e.name)),o=w.relative(t,n).replaceAll(w.sep,`/`);if(!o||o.startsWith(`../`)||w.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:Lo[w.extname(o)]??`application/octet-stream`,size:s.length,chunks:Math.ceil(s.length/Io),sha256:E(`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:E(`sha256`).update(JSON.stringify(i)).digest(`hex`)}}function Vo(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 Ho(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*Io,(a+1)*Io).toString(`base64`)});await e.commitBuild({buildId:n})}var Uo=T.object({config:T.string().optional(),cwd:T.string().default(`.`),mode:T.string().optional(),outDir:T.string().optional(),replace:T.boolean().optional()}),Wo=e=>{let t=Uo.parse(e);return{configPath:t.config,cwd:t.cwd,mode:t.mode,outDir:t.outDir,replace:t.replace}};async function Go(e){let t=await ne(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: ${Ro(e)}`)}},f=w.resolve(t.root,e.outDir??t.config.build?.outDir??`.tailorkit`),p,h;try{p=await ee(w.join(f,`client`)),h=await Bo(p)}catch(e){try{await o()}catch(e){c.warn(`Unable to close preview watcher: ${Ro(e)}`)}throw await d(),e}let g,_,v,y=!1,b=!1,x,S,C,te=0,T=1e3,E=0,re=()=>{y||(y=!0,process.off(`SIGINT`,D),process.off(`SIGTERM`,D),x&&clearTimeout(x),S&&clearTimeout(S),C&&clearInterval(C),v?.close(),o().catch(e=>{c.warn(`Unable to close preview watcher: ${Ro(e)}`)}),c.warn(`Preview session ended. Start a new preview to continue.`))},ie=()=>{y||!_||b||(x&&clearTimeout(x),x=setTimeout(()=>{if(x=void 0,!_||h.fingerprint===g)return;let e=h,t=_,n=E;b=!0,te=Date.now(),Ho(t,e).then(()=>{n===E&&(g=e.fingerprint)}).catch(e=>{y||c.warn(`Preview upload interrupted: ${Ro(e)}`)}).finally(()=>{n===E&&(b=!1,h.fingerprint!==g&&ie())})},Math.max(500,500-(Date.now()-te))))},ae=Vo(()=>Bo(p),e=>{y||(h=e,ie())},e=>{y||c.warn(`Keeping the last successful preview: ${Ro(e)}`)});a&&typeof a==`object`&&`on`in a&&a.on(`event`,e=>{e.code===`BUNDLE_END`&&ae()});let oe=()=>{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`,()=>{E+=1,T=1e3,_=qr(t);let e=()=>void _?.heartbeat().catch(e=>{v!==t||y||(zo(e)?re():t.close())});e(),C=setInterval(e,2e4),ie()}),t.addEventListener(`close`,()=>{E+=1,b=!1,C&&clearInterval(C),v===t&&(v=void 0,_=void 0),y||(S=setTimeout(oe,T),T=Math.min(T*2,3e4))}),t.addEventListener(`error`,()=>t.close())};oe();let D=()=>{y||(y=!0,process.off(`SIGINT`,D),process.off(`SIGTERM`,D),o().catch(e=>{c.warn(`Unable to close preview watcher: ${Ro(e)}`)}),x&&clearTimeout(x),S&&clearTimeout(S),C&&clearInterval(C),v?.close(),d().finally(()=>process.exit(0)))};process.once(`SIGINT`,D),process.once(`SIGTERM`,D);let se=new URL(n.hostUrl);se.pathname=`${se.pathname.replace(/\/+$/u,``)}/preview/${l.shareId}`,c.info(m.green(`Host preview: ${se.href}`)),c.info(m.dim(`Uploading built app assets from ${p}`))}var Ko=e=>{let t=te();return t===`darwin`?{args:[e],command:`open`}:t===`win32`?{args:[`/c`,`start`,``,e],command:`cmd`}:{args:[e],command:`xdg-open`}},qo=e=>new Promise(t=>{let{args:n,command:r}=Ko(e),i=ie(r,n,{detached:!0,stdio:`ignore`,windowsHide:!0});i.once(`error`,()=>{t(!1)}),i.once(`spawn`,()=>{i.unref(),t(!0)})}),$=p(`tailorkit`),Jo=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(`--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 Go(Wo(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 Zi({configPath:e.config,cwd:String(e.cwd??`.`),timeout:r*1e3},({expiresAt:r,hostUrl:i,userCode:a})=>{let o=Ki(i,a);e.open!==!1&&qo(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 $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,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(`${Jo(e.size)} raw, ${Jo(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 qa({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 Fo({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.16`),$.parse();export{};
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tailorkit/cli",
|
|
3
|
-
"version": "0.1.0-beta.
|
|
3
|
+
"version": "0.1.0-beta.16",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
|
-
"url": "git+https://github.com/
|
|
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.
|
|
26
|
-
"@tailorkit/app": "0.1.0-beta.
|
|
27
|
-
"@tailorkit/client-platform": "0.1.0-beta.
|
|
28
|
-
"@tailorkit/core": "0.1.0-beta.
|
|
25
|
+
"@clack/prompts": "^1.8.1",
|
|
26
|
+
"@tailorkit/app": "0.1.0-beta.16",
|
|
27
|
+
"@tailorkit/client-platform": "0.1.0-beta.16",
|
|
28
|
+
"@tailorkit/core": "0.1.0-beta.16",
|
|
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.
|
|
33
|
+
"zod": "^4.6.5"
|
|
33
34
|
},
|
|
34
35
|
"devDependencies": {
|
|
35
36
|
"@tailorkit/config": "0.0.0",
|
|
36
|
-
"@types/node": "26.
|
|
37
|
+
"@types/node": "26.6.3",
|
|
37
38
|
"typescript": "^7.0.2",
|
|
38
|
-
"vite": "
|
|
39
|
-
"
|
|
39
|
+
"vite": "npm:@voidzero-dev/vite-plus-core@1.0.0",
|
|
40
|
+
"vite-plus": "1.0.0"
|
|
40
41
|
},
|
|
41
42
|
"scripts": {
|
|
42
|
-
"build": "
|
|
43
|
+
"build": "vp build",
|
|
43
44
|
"check-types": "tsc --noEmit",
|
|
44
|
-
"test": "
|
|
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=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,plugins:[{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}),f={};for(let e of[`light`,`dark`]){let n=t.config.logos?.[e];if(!n)continue;let r=s.extname(n).toLowerCase().slice(1),i={png:`image/png`,svg:`image/svg+xml`,webp:`image/webp`}[r];if(!i)throw Error(`The ${e} logo must be an SVG, PNG, or WebP file.`);let c=await a(s.resolve(t.root,n));h(c,i);let l=`logo-${e}.${r}`;await o(s.join(u,l),c),f[e]=l}return await o(s.join(u,`tailorkit-upload.json`),`${JSON.stringify(b(f),null,2)}
|
|
2
|
-
`,`utf-8`),d};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};
|