@director.run/cli 0.0.21 → 0.0.22
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/cli.js +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -501,7 +501,7 @@ Please see the 3.x to 4.x migration guide for details on how to update your app.
|
|
|
501
501
|
`)+$,Y=Q+1,Q=D.indexOf(`
|
|
502
502
|
`,Y)}while(Q!==-1);return X+=D.slice(Y),X}var{stdout:xx,stderr:Lx}=Ex,lW=Symbol("GENERATOR"),x9=Symbol("STYLER"),a7=Symbol("IS_EMPTY"),Ox=["ansi","ansi","ansi256","ansi16m"],L9=Object.create(null),o10=(D,F={})=>{if(F.level&&!(Number.isInteger(F.level)&&F.level>=0&&F.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let $=xx?xx.level:0;D.level=F.level===void 0?$:F.level};var s10=(D)=>{let F=(...$)=>$.join(" ");return o10(F,D),Object.setPrototypeOf(F,o7.prototype),F};function o7(D){return s10(D)}Object.setPrototypeOf(o7.prototype,Function.prototype);for(let[D,F]of Object.entries(m8))L9[D]={get(){let $=hY(this,dW(F.open,F.close,this[x9]),this[a7]);return Object.defineProperty(this,D,{value:$}),$}};L9.visible={get(){let D=hY(this,this[x9],!0);return Object.defineProperty(this,"visible",{value:D}),D}};var nW=(D,F,$,...Q)=>{if(D==="rgb"){if(F==="ansi16m")return m8[$].ansi16m(...Q);if(F==="ansi256")return m8[$].ansi256(m8.rgbToAnsi256(...Q));return m8[$].ansi(m8.rgbToAnsi(...Q))}if(D==="hex")return nW("rgb",F,$,...m8.hexToRgb(...Q));return m8[$][D](...Q)},r10=["rgb","hex","ansi256"];for(let D of r10){L9[D]={get(){let{level:$}=this;return function(...Q){let Y=dW(nW(D,Ox[$],"color",...Q),m8.color.close,this[x9]);return hY(this,Y,this[a7])}}};let F="bg"+D[0].toUpperCase()+D.slice(1);L9[F]={get(){let{level:$}=this;return function(...Q){let Y=dW(nW(D,Ox[$],"bgColor",...Q),m8.bgColor.close,this[x9]);return hY(this,Y,this[a7])}}}}var t10=Object.defineProperties(()=>{},{...L9,level:{enumerable:!0,get(){return this[lW].level},set(D){this[lW].level=D}}}),dW=(D,F,$)=>{let Q,Y;if($===void 0)Q=D,Y=F;else Q=$.openAll+D,Y=F+$.closeAll;return{open:D,close:F,openAll:Q,closeAll:Y,parent:$}},hY=(D,F,$)=>{let Q=(...Y)=>e10(Q,Y.length===1?""+Y[0]:Y.join(" "));return Object.setPrototypeOf(Q,t10),Q[lW]=D,Q[x9]=F,Q[a7]=$,Q},e10=(D,F)=>{if(D.level<=0||!F)return D[a7]?"":F;let $=D[x9];if($===void 0)return F;let{openAll:Q,closeAll:Y}=$;if(F.includes("\x1B"))while($!==void 0)F=Ax(F,$.close,$.open),$=$.parent;let X=F.indexOf(`
|
|
503
503
|
`);if(X!==-1)F=Zx(F,Y,Q,X);return Q+F+Y};Object.defineProperties(o7.prototype,L9);var DD0=o7(),vj0=o7({level:Lx?Lx.level:0});var Z1=DD0;var Cx=s0(Tx(),1),N4=rW("#0099F7"),oW=rW("#F11712"),YD0=rW("#00FF00"),sW=(D)=>Z1.yellow(D);function rW(D){let F=XD0(D);return($)=>`\x1B[38;5;${F}m${$}${Cx.default.reset("")}`}function XD0(D){let F=parseInt(D.slice(1),16),$=Math.floor(F/65536)%256,Q=Math.floor(F/256)%256,Y=F%256;return 16+36*Math.round($/255*5)+6*Math.round(Q/255*5)+Math.round(Y/255*5)}function E4(D){return Z1.white.bold(D)}var tW=" ".repeat(2);function _x(D){let F=[];if(D._enableDebugCommands)F.push(sW("\uD83D\uDEA7 debug commands appear in yellow \uD83D\uDEA7")),F.push("");if(F.push(D.description().trim()),F.push(""),F.push(O9("usage")),F.push(tW+s7([D.parent?D.parent.name():"",D.name(),fx("command"),"[subcommand]","[flags]"])),F.push(""),D.parent)F.push(O9(`${D.name()} commands`));else F.push(O9("core commands"));D.commands.toSorted((Q,Y)=>Number(!!Q.commands.length)-Number(!!Y.commands.length)).forEach((Q)=>{if(Q.commands.length)F.push(""),F.push(O9(Q.name())),Q.commands.forEach((Y)=>{F.push(Ix(Y))});else F.push(Ix(Q))}),F.push("");let $=[D._helpOption,...D.options].filter((Q)=>Q!==void 0);if($.length)F.push(O9("flags")),$.forEach((Q)=>{F.push(s7([tW,Q.flags,Sx(Q.description,Q.flags.length)]))}),F.push("");if(D.examples)F.push(O9("examples")),F.push(" "+D.examples.trim()),F.push("");return F.push(""),F.join(`
|
|
504
|
-
`)}var O9=(D)=>{return E4(D.toLocaleUpperCase())},Ix=(D)=>{let F=D.registeredArguments.map((X)=>X.required?fx(X.name()):jx(X.name())).filter((X)=>X!=="").join(" "),$=s7([s7([D.parent&&D.parent.parent?D.parent?.name():void 0,D.name()]),F,D.options.length?jx("options"):""]),Q=D.description()||oW("TODO"),Y=s7([tW,$,Sx(Q,$.length)]);return D._debug?sW(Y):Y},Sx=(D,F)=>{return" ".repeat(Math.max(0,45-F))+D},fx=(D)=>["<",D,">"].join(""),jx=(D)=>["[",D,"]"].join(""),s7=(D)=>D.filter(Boolean).join(" ");class l2 extends pW{debug=!0;examples="";constructor(D){super(D);this.helpCommand(!1)}showDebugCommands(D){return this._enableDebugCommands=D,this}debugCommand(D,F){if(this._enableDebugCommands){let $=super.command(D,F);return $._enableDebugCommands=!0,$._debug=!0,$}else return new pW(D)}helpInformation(D){return _x(this)}addExamples(D){this.examples=D}addCommand(D,F){return D._enableDebugCommands=this._enableDebugCommands,D._debug=this._debug,super.addCommand(D,F)}}function A4({flags:D,description:F,defaultValue:$,choices:Q,mandatory:Y}){let X=new Mx(D,F);return Y&&X.makeOptionMandatory(),$&&X.default($),Q&&X.choices(Q),X}var vx={name:"@director.run/cli",type:"module",version:"0.0.21",files:["dist","README.md"],bin:{director:"./dist/cli.js"},scripts:{lint:"biome check .",format:"biome format --write .",clean:"rm -rf .turbo dist/*",test:"bun run vitest --fileParallelism=false",cli:"NODE_ENV=development bun run bin/cli.ts",typecheck:"tsc --noEmit",build:"bun build --production --target=node bin/cli.ts --outdir dist",release:"bun publish --access public --omit=peer",prepare:"bun run build",dev:"bun --watch bin/cli.ts"},dependencies:{"@inquirer/prompts":"^7.5.2"},peerDependencies:{typescript:"^5"},devDependencies:{"type-fest":"^4.40.0","@director.run/gateway":"workspace:*","@director.run/mcp":"workspace:*","@director.run/utilities":"workspace:*",chalk:"^5.4.1","cli-table3":"^0.6.5",commander:"^13.1.0",superjson:"^2.2.2"}};var kx=s0(e7(),1);class k0 extends Error{code;props;name="AppError";constructor(D,F,$={}){super(F);this.code=D;this.props=$}}function gY(D){return D instanceof k0}function bx(D){return D instanceof Error&&"statusCode"in D&&kx.isNumber(D.statusCode)}import{exec as fF0,execSync as jP}from"node:child_process";import{existsSync as vF0}from"node:fs";import{promisify as kF0}from"node:util";var xX=s0(e7(),1),ZX=s0(nz(),1),IP=s0(CP(),1);var IF0=process.env.LOG_LEVEL??(U4()?"silent":"info"),jF0=process.env.LOG_PRETTY!=="false",_F0=process.env.LOG_ERROR_STACK==="true",SF0=ZX.default({level:IF0.toLowerCase(),messageKey:"message",timestamp:!0,serializers:{error:(D)=>{if(gY(D))return{type:D.name,...xX.pick(D,"message","stack","code","props"),...D.cause?{cause:ZX.default.stdSerializers.errWithCause(D)}:{}};let F=ZX.default.stdSerializers.errWithCause(D);return _F0?F:xX.omit(F,"stack")}}},jF0?IP.default({colorize:!0,translateTime:"HH:MM:ss",ignore:"pid,hostname"}):void 0),S0=(D)=>SF0.child({name:D});function BF(D){return new Promise((F)=>setTimeout(F,D))}var OX=kF0(fF0),LX=S0("restartApp");async function S9(D){if(LX.info(`restarting ${D}...`),!bF0(D)){LX.info(`${D} is not running, skipping restart`);return}await OX(`osascript -e 'tell application "${D}" to quit'`),await BF(2000),await OX(`open -a ${D}`),LX.info(`${D} has been restarted`)}async function f9(D){LX.info(`opening ${D}`),await OX(`code "${D}"`)}function F8(D){try{let F=process.platform==="win32",$;switch(D){case"Claude":$="claude";break;case"Cursor":$="cursor";break;case"Visual Studio Code":$="code";break;default:$=D}let Q=F?`where ${$}`:`which ${$}`;return jP(Q,{stdio:"pipe",encoding:"utf8"}),!0}catch(F){return!1}}function v9(D){return vF0(D)}function bF0(D){try{return jP(`pgrep -x "${D}"`,{stdio:"pipe"}),!0}catch(F){return!1}}async function _P(D){if(!D||typeof D!=="string")throw new Error("Invalid URL provided");let F=D.startsWith("http://")||D.startsWith("https://")?D:`https://${D}`,$=process.platform,Q;switch($){case"darwin":Q=`open "${F}"`;break;case"win32":Q=`start "" "${F}"`;break;case"linux":Q=`xdg-open "${F}"`;break;default:throw new Error(`Unsupported platform: ${$}`)}try{await OX(Q)}catch(Y){throw new Error(`Failed to open URL: ${Y instanceof Error?Y.message:"Unknown error"}`)}}import yF0 from"node:os";import mF0 from"node:path";import IK from"node:fs";import{existsSync as uF0}from"node:fs";import{dirname as hF0}from"node:path";async function a6(D){if(!uF0(D))throw new k0("NOT_FOUND",`file not found at: ${D}`);let F=await IK.promises.readFile(D),$=new TextDecoder().decode(F);return JSON.parse($)}async function o6(D,F){return await IK.promises.mkdir(hF0(D),{recursive:!0}),IK.promises.writeFile(D,JSON.stringify(F,null,2))}class t2{}var gF0="claude",fP=mF0.join(yF0.homedir(),"Library/Application Support/Claude/claude_desktop_config.json"),vP="director__",O4=S0("client-configurator/claude");class s6 extends t2{config;configPath;constructor(D){super();this.configPath=D.configPath,this.config=D.config}static async create(D=fP){if(O4.info(`reading config from ${D}`),!F8("Claude"))throw new k0("NOT_FOUND",`Claude desktop app is not installed command: ${gF0}`);if(!pF0())throw new k0("NOT_FOUND",`Claude config file not found at ${D}`);let F=await a6(D);return new s6({configPath:D,config:SP.parse(F)})}isInstalled(D){return this.config.mcpServers[jK(D)]!==void 0}async uninstall(D){if(!this.isInstalled(D))throw new k0("NOT_FOUND",`server '${D}' is not installed`);O4.info(`uninstalling ${D}`);let F={...this.config};delete F.mcpServers[jK(D)],await this.updateConfig(F)}async install(D){if(this.isInstalled(D.name))throw new k0("BAD_REQUEST",`server '${D.name}' is already installed`);O4.info(`installing ${D.name}`);let F={...this.config};F.mcpServers[jK(D.name)]={command:"npx",args:["-y","@director.run/cli","http2stdio",D.url],env:{LOG_LEVEL:"silent"}},await this.updateConfig(F)}async reset(){O4.info("purging claude config");let D={...this.config};D.mcpServers={},await this.updateConfig(D)}async list(){return O4.info("listing servers"),Object.entries(this.config.mcpServers).filter(([D])=>D.startsWith(vP)).map(([D,F])=>({name:D,url:F.args[3]}))}async openConfig(){O4.info("opening claude config"),await f9(this.configPath)}async restart(){if(!U4())O4.info("restarting claude"),await S9("Claude");else O4.warn("skipping restart of claude in test environment")}async reload(D){O4.info(`reloading ${D}`),await this.restart()}async updateConfig(D){this.config=SP.parse(D),O4.info(`writing config to ${this.configPath}`),await o6(this.configPath,this.config),await this.restart()}}var jK=(D)=>`${vP}${D}`,cF0=d.object({command:d.string().describe('The command to execute (e.g., "bun", "node")'),args:d.array(d.string()).describe("Command line arguments"),env:d.record(d.string()).optional().describe("Environment variables")}),SP=d.object({mcpServers:d.record(d.string(),cF0).describe("Map of MCP server configurations")});function pF0(){return v9(fP)}import iF0 from"node:os";import lF0 from"node:path";var nF0="cursor",kP=lF0.join(iF0.homedir(),".cursor/mcp.json"),dF0="director__",R4=S0("client-configurator/cursor");class r6 extends t2{config;configPath;constructor(D){super();this.configPath=D.configPath,this.config=D.config}static async create(D=kP){if(R4.info(`reading config from ${D}`),!F8("Cursor"))throw new k0("NOT_FOUND",`Cursor is not installed command: ${nF0}`);if(!aF0())throw new k0("NOT_FOUND",`Cursor config file not found at ${D}`);let F=await a6(D);return new r6({configPath:D,config:F})}isInstalled(D){return this.config.mcpServers[PX(D)]!==void 0}async uninstall(D){if(!this.isInstalled(D))throw new k0("NOT_FOUND",`server '${D}' is not installed`);R4.info(`uninstalling ${D}`);let F={...this.config};delete F.mcpServers[PX(D)],await this.updateConfig(F)}async install(D){if(this.isInstalled(D.name))throw new k0("BAD_REQUEST",`server '${D.name}' is already installed`);R4.info(`installing ${D.name}`);let F={...this.config};F.mcpServers[PX(D.name)]={url:D.url},await this.updateConfig(F)}async restart(){if(!U4())R4.info("restarting cursor"),await S9("Cursor");else R4.warn("skipping restart of cursor in test environment")}async reload(D){R4.info(`reloading ${D}`);let F=this.config.mcpServers[PX(D)].url;await this.uninstall(D),await BF(1000),await this.install({name:D,url:F})}async list(){return R4.info("listing servers"),Object.entries(this.config.mcpServers).map(([D,F])=>({name:D,url:F.url}))}async openConfig(){R4.info("opening cursor config"),await f9(this.configPath)}async reset(){R4.info("purging cursor config");let D={...this.config};D.mcpServers={},await this.updateConfig(D)}async updateConfig(D){R4.info(`writing config to ${this.configPath}`),await o6(this.configPath,D),this.config=D}}var PX=(D)=>`${dF0}${D}`;function aF0(){return v9(kP)}import oF0 from"node:fs";import sF0 from"node:os";import uP from"node:path";var rF0="code",hP=uP.join(sF0.homedir(),"Library/Application Support/Code/User/settings.json"),yP="director__",i8=S0("client-configurator/vscode");class k9 extends t2{config;configPath;constructor(D){super();this.configPath=D.configPath,this.config=D.config}static async create(D=hP){if(i8.info(`reading config from ${D}`),!tF0())throw new k0("NOT_FOUND",`VSCode is not installed command: ${rF0}`);let F;if(!bP())i8.info(`VSCode config file not found at ${D}, creating new one`),F={mcp:{servers:{}}};else F=await a6(D);if(!F.mcp)F.mcp={servers:{}};let $=new k9({configPath:D,config:F});if(!bP())await $.updateConfig($.config);return $}isInstalled(D){return this.config.mcp.servers[TX(D)]!==void 0}async uninstall(D){if(!this.isInstalled(D))throw new k0("NOT_FOUND",`server '${D}' is not installed`);i8.info(`uninstalling ${D}`);let F={...this.config};delete F.mcp.servers[TX(D)],await this.updateConfig(F)}async install(D){if(this.isInstalled(D.name))throw new k0("BAD_REQUEST",`server '${D.name}' is already installed`);i8.info(`installing ${D.name}`);let F={...this.config};F.mcp.servers[TX(D.name)]={url:D.url},await this.updateConfig(F)}async restart(){if(!U4())i8.info("restarting vscode"),await S9("Visual Studio Code");else i8.warn("skipping restart of vscode in test environment")}async reload(D){i8.info(`reloading ${D}`);let F=this.config.mcp.servers[TX(D)].url;await this.uninstall(D),await BF(1000),await this.install({name:D,url:F})}async list(){return i8.info("listing servers"),Object.entries(this.config.mcp.servers).filter(([D])=>D.startsWith(yP)).map(([D,F])=>({name:D,url:F.url}))}async openConfig(){i8.info("opening vscode config"),await f9(this.configPath)}async reset(){i8.info("purging vscode config");let D={...this.config};D.mcp.servers={},await this.updateConfig(D)}async updateConfig(D){i8.info(`writing config to ${this.configPath}`);let F=uP.dirname(this.configPath);await oF0.promises.mkdir(F,{recursive:!0}),await o6(this.configPath,this.config),this.config=D}}var TX=(D)=>`${yP}${D}`;function tF0(){return F8("Visual Studio Code")}function bP(){return v9(hP)}var b9;((Q)=>{Q.Claude="claude";Q.Cursor="cursor";Q.VSCode="vscode"})(b9||={});function $8(D){switch(D){case"claude":return s6.create();case"cursor":return r6.create();case"vscode":return k9.create();default:throw new k0("BAD_REQUEST",`Client ${D} is not supported`)}}async function CX(){let D=await Promise.all(Object.values(b9).map($8));for(let F of D)await F.reset()}async function eF0(D){switch(D){case"claude":return await F8("Claude");case"cursor":return await F8("Cursor");case"vscode":return await F8("Visual Studio Code");default:throw new k0("BAD_REQUEST",`Client ${D} is not supported`)}}async function IX(){return await Promise.all(Object.values(b9).map(async(D)=>({name:D,present:await eF0(D)})))}function GF(D){return typeof D==="object"&&D!==null&&"subscribe"in D}function YD(D){let F={subscribe($){let Q=null,Y=!1,X=!1,J=!1;function B(){if(Q===null){J=!0;return}if(X)return;if(X=!0,typeof Q==="function")Q();else if(Q)Q.unsubscribe()}if(Q=D({next(W){if(Y)return;$.next?.(W)},error(W){if(Y)return;Y=!0,$.error?.(W),B()},complete(){if(Y)return;Y=!0,$.complete?.(),B()}}),J)B();return{unsubscribe:B}},pipe(...$){return $.reduce(D$0,F)}};return F}function D$0(D,F){return F(D)}function _K(D){let F=new AbortController;return new Promise((Q,Y)=>{let X=!1;function J(){if(X)return;X=!0,B.unsubscribe()}F.signal.addEventListener("abort",()=>{Y(F.signal.reason)});let B=D.subscribe({next(W){X=!0,Q(W),J()},error(W){Y(W)},complete(){F.abort(),J()}})})}function F$0(D,F){let $=null,Q=()=>{$?.unsubscribe(),$=null,F.removeEventListener("abort",Q)};return new ReadableStream({start(Y){if($=D.subscribe({next(X){Y.enqueue({ok:!0,value:X})},error(X){Y.enqueue({ok:!1,error:X}),Y.close()},complete(){Y.close()}}),F.aborted)Q();else F.addEventListener("abort",Q,{once:!0})},cancel(){Q()}})}function jX(D,F){let Q=F$0(D,F).getReader(),Y={async next(){let X=await Q.read();if(X.done)return{value:void 0,done:!0};let{value:J}=X;if(!J.ok)throw J.error;return{value:J.value,done:!1}},async return(){return await Q.cancel(),{value:void 0,done:!0}}};return{[Symbol.asyncIterator](){return Y}}}function SK(D){return(F)=>{let $=0,Q=null,Y=[];function X(){if(Q)return;Q=F.subscribe({next(B){for(let W of Y)W.next?.(B)},error(B){for(let W of Y)W.error?.(B)},complete(){for(let B of Y)B.complete?.()}})}function J(){if($===0&&Q){let B=Q;Q=null,B.unsubscribe()}}return YD((B)=>{return $++,Y.push(B),X(),{unsubscribe(){$--,J();let W=Y.findIndex((z)=>z===B);if(W>-1)Y.splice(W,1)}}})}}var Vf0=Symbol();function WF(D){let F=D,$=[],Q=(J)=>{if(F!==void 0)J.next(F);$.push(J)},Y=(J)=>{$.splice($.indexOf(J),1)},X=YD((J)=>{return Q(J),()=>{Y(J)}});return X.next=(J)=>{if(F===J)return;F=J;for(let B of $)B.next(J)},X.get=()=>F,X}function fK(D){return YD((F)=>{function $(Y=0,X=D.op){let J=D.links[Y];if(!J)throw new Error("No more links to execute - did you forget to add an ending link?");return J({op:X,next(W){return $(Y+1,W)}})}return $().subscribe(F)})}var gP=()=>{},mP=(D)=>{if(Object.freeze)Object.freeze(D)};function cP(D,F,$){var Q,Y;let X=F.join(".");return(Q=$)[Y=X]??(Q[Y]=new Proxy(gP,{get(J,B){if(typeof B!=="string"||B==="then")return;return cP(D,[...F,B],$)},apply(J,B,W){let z=F[F.length-1],M={args:W,path:F};if(z==="call")M={args:W.length>=2?[W[1]]:[],path:F.slice(0,-1)};else if(z==="apply")M={args:W.length>=2?W[1]:[],path:F.slice(0,-1)};return mP(M.args),mP(M.path),D(M)}})),$[X]}var u9=(D)=>cP(D,[],Object.create(null)),_X=(D)=>{return new Proxy(gP,{get(F,$){if($==="then")return;return D($)}})};var t6=({shape:D})=>{return D};var G6={PARSE_ERROR:-32700,BAD_REQUEST:-32600,INTERNAL_SERVER_ERROR:-32603,NOT_IMPLEMENTED:-32603,BAD_GATEWAY:-32603,SERVICE_UNAVAILABLE:-32603,GATEWAY_TIMEOUT:-32603,UNAUTHORIZED:-32001,FORBIDDEN:-32003,NOT_FOUND:-32004,METHOD_NOT_SUPPORTED:-32005,TIMEOUT:-32008,CONFLICT:-32009,PRECONDITION_FAILED:-32012,PAYLOAD_TOO_LARGE:-32013,UNSUPPORTED_MEDIA_TYPE:-32015,UNPROCESSABLE_CONTENT:-32022,TOO_MANY_REQUESTS:-32029,CLIENT_CLOSED_REQUEST:-32099},SX={[-32700]:"PARSE_ERROR",[-32600]:"BAD_REQUEST",[-32603]:"INTERNAL_SERVER_ERROR",[-32001]:"UNAUTHORIZED",[-32003]:"FORBIDDEN",[-32004]:"NOT_FOUND",[-32005]:"METHOD_NOT_SUPPORTED",[-32008]:"TIMEOUT",[-32009]:"CONFLICT",[-32012]:"PRECONDITION_FAILED",[-32013]:"PAYLOAD_TOO_LARGE",[-32015]:"UNSUPPORTED_MEDIA_TYPE",[-32022]:"UNPROCESSABLE_CONTENT",[-32029]:"TOO_MANY_REQUESTS",[-32099]:"CLIENT_CLOSED_REQUEST"};var zF=Symbol();function KF(D,...F){let $=Object.assign(Object.create(null),D);for(let Q of F)for(let Y in Q){if(Y in $&&$[Y]!==Q[Y])throw new Error(`Duplicate key ${Y}`);$[Y]=Q[Y]}return $}function $1(D){return!!D&&!Array.isArray(D)&&typeof D==="object"}function MF(D){return typeof D==="function"}function UF(D){return Object.assign(Object.create(null),D)}var Q$0=typeof Symbol==="function"&&!!Symbol.asyncIterator;function e2(D){return Q$0&&$1(D)&&Symbol.asyncIterator in D}var kD=(D)=>D();function vK(D){return D}var pP={PARSE_ERROR:400,BAD_REQUEST:400,UNAUTHORIZED:401,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_SUPPORTED:405,TIMEOUT:408,CONFLICT:409,PRECONDITION_FAILED:412,PAYLOAD_TOO_LARGE:413,UNSUPPORTED_MEDIA_TYPE:415,UNPROCESSABLE_CONTENT:422,TOO_MANY_REQUESTS:429,CLIENT_CLOSED_REQUEST:499,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504};function kK(D){return pP[D]??500}function bK(D){let F=Array.isArray(D)?D:[D],$=new Set(F.map((Y)=>{if("error"in Y&&$1(Y.error.data)){if(typeof Y.error.data?.httpStatus==="number")return Y.error.data.httpStatus;let X=SX[Y.error.code];return kK(X)}return 200}));if($.size!==1)return 207;return $.values().next().value}function uK(D){return kK(D.code)}function l8(D){let{path:F,error:$,config:Q}=D,{code:Y}=D.error,X={message:$.message,code:G6[Y],data:{code:Y,httpStatus:uK($)}};if(Q.isDev&&typeof D.error.stack==="string")X.data.stack=D.error.stack;if(typeof F==="string")X.data.path=F;return Q.errorFormatter({...D,shape:X})}function iP(D,F,$){if(F in D)Object.defineProperty(D,F,{value:$,enumerable:!0,configurable:!0,writable:!0});else D[F]=$;return D}class lP extends Error{}function nP(D){if(D instanceof Error)return D;let F=typeof D;if(F==="undefined"||F==="function"||D===null)return;if(F!=="object")return new Error(String(D));if($1(D)){let $=new lP;for(let Q in D)$[Q]=D[Q];return $}return}function l1(D){if(D instanceof n0)return D;if(D instanceof Error&&D.name==="TRPCError")return D;let F=new n0({code:"INTERNAL_SERVER_ERROR",cause:D});if(D instanceof Error&&D.stack)F.stack=D.stack;return F}class n0 extends Error{constructor(D){let F=nP(D.cause),$=D.message??F?.message??D.code;if(super($,{cause:F}),iP(this,"cause",void 0),iP(this,"code",void 0),this.code=D.code,this.name="TRPCError",!this.cause)this.cause=F}}function hK(D){if("input"in D)return D;return{input:D,output:D}}var e6={input:{serialize:(D)=>D,deserialize:(D)=>D},output:{serialize:(D)=>D,deserialize:(D)=>D}};function dP(D,F){if("error"in F)return{...F,error:D.transformer.output.serialize(F.error)};if("data"in F.result)return{...F,result:{...F.result,data:D.transformer.output.serialize(F.result.data)}};return F}function D2(D,F){return Array.isArray(F)?F.map(($)=>dP(D,$)):dP(D,F)}function Y$0(D,F){if("error"in D){let Q=F.deserialize(D.error);return{ok:!1,error:{...D,error:Q}}}return{ok:!0,result:{...D.result,...(!D.result.type||D.result.type==="data")&&{type:"data",data:F.deserialize(D.result.data)}}}}class fX extends Error{constructor(){super("Unable to transform response from server")}}function VF(D,F){let $;try{$=Y$0(D,F)}catch{throw new fX}if(!$.ok&&(!$1($.error.error)||typeof $.error.error.code!=="number"))throw new fX;if($.ok&&!$1($.result))throw new fX;return $}var X$0=Symbol("lazy");function J$0(D){let F=Symbol(),$=F;return()=>{if($===F)$=D();return $}}function H$0(D){return typeof D==="function"&&X$0 in D}function B$0(D){return $1(D)&&$1(D._def)&&"router"in D._def}var G$0={_ctx:null,_errorShape:null,_meta:null,queries:{},mutations:{},subscriptions:{},errorFormatter:t6,transformer:e6},W$0=["then","call","apply"];function vX(D){function F($){let Q=new Set(Object.keys($).filter((U)=>W$0.includes(U)));if(Q.size>0)throw new Error("Reserved words used in `router({})` call: "+Array.from(Q).join(", "));let Y=UF({}),X=UF({});function J(U){return{ref:U.ref,load:J$0(async()=>{let N=await U.ref(),q=[...U.path,U.key],V=q.join(".");U.aggregate[U.key]=B(N._def.record,q),delete X[V];for(let[E,A]of Object.entries(N._def.lazy)){let R=[...q,E].join(".");X[R]=J({ref:A.ref,path:q,key:E,aggregate:U.aggregate[U.key]})}})}}function B(U,N=[]){let q=UF({});for(let[V,E]of Object.entries(U??{})){if(H$0(E)){X[[...N,V].join(".")]=J({path:N,ref:E,key:V,aggregate:q});continue}if(B$0(E)){q[V]=B(E._def.record,[...N,V]);continue}if(!z$0(E)){q[V]=B(E,[...N,V]);continue}let A=[...N,V].join(".");if(Y[A])throw new Error(`Duplicate key: ${A}`);Y[A]=E,q[V]=E}return q}let W=B($),z={_config:D,router:!0,procedures:Y,lazy:X,...G$0,record:W};return{...W,_def:z,createCaller:kX()({_def:z})}}return F}function z$0(D){return typeof D==="function"}async function h9(D,F){let{_def:$}=D,Q=$.procedures[F];while(!Q){let Y=Object.keys($.lazy).find((J)=>F.startsWith(J));if(!Y)return null;await $.lazy[Y].load(),Q=$.procedures[F]}return Q}function kX(){return function D(F){let{_def:$}=F;return function Q(Y,X){return u9(async({path:J,args:B})=>{let W=J.join(".");if(J.length===1&&J[0]==="_def")return $;let z=await h9(F,W),M=void 0;try{if(!z)throw new n0({code:"NOT_FOUND",message:`No procedure found on path "${J}"`});return M=MF(Y)?await Promise.resolve(Y()):Y,await z({path:W,getRawInput:async()=>B[0],ctx:M,type:z._def.type,signal:X?.signal})}catch(U){throw X?.onError?.({ctx:M,error:l1(U),input:B[0],path:W,type:z?._def.type??"unknown"}),U}})}}}function yK(...D){let F=KF({},...D.map((X)=>X._def.record)),$=D.reduce((X,J)=>{if(J._def._config.errorFormatter&&J._def._config.errorFormatter!==t6){if(X!==t6&&X!==J._def._config.errorFormatter)throw new Error("You seem to have several error formatters");return J._def._config.errorFormatter}return X},t6),Q=D.reduce((X,J)=>{if(J._def._config.transformer&&J._def._config.transformer!==e6){if(X!==e6&&X!==J._def._config.transformer)throw new Error("You seem to have several transformers");return J._def._config.transformer}return X},e6);return vX({errorFormatter:$,transformer:Q,isDev:D.every((X)=>X._def._config.isDev),allowOutsideOfServer:D.every((X)=>X._def._config.allowOutsideOfServer),isServer:D.every((X)=>X._def._config.isServer),$types:D[0]?._def._config.$types})(F)}function aP(D){try{if(D===null)return null;if(!$1(D))throw new Error("Expected object");let F=Object.entries(D).filter(([$,Q])=>typeof Q!=="string");if(F.length>0)throw new Error(`Expected connectionParams to be string values. Got ${F.map(([$,Q])=>`${$}: ${typeof Q}`).join(", ")}`);return D}catch(F){throw new n0({code:"PARSE_ERROR",message:"Invalid connection params shape",cause:F})}}function mK(D){let F;try{F=JSON.parse(D)}catch($){throw new n0({code:"PARSE_ERROR",message:"Not JSON-parsable query params",cause:$})}return aP(F)}function gK(D){let F=null,$=zF;return{read:async()=>{if($!==zF)return $;if(F===null)F=D().catch((Q)=>{if(Q instanceof n0)throw Q;throw new n0({code:"BAD_REQUEST",message:Q instanceof Error?Q.message:"Invalid input",cause:Q})});return $=await F,F=null,$},result:()=>{return $!==zF?$:void 0}}}var oP={isMatch(D){return!!D.headers.get("content-type")?.startsWith("application/json")},async parse(D){let{req:F}=D,$=D.searchParams.get("batch")==="1",Q=$?D.path.split(","):[D.path],Y=gK(async()=>{let M=void 0;if(F.method==="GET"){let N=D.searchParams.get("input");if(N)M=JSON.parse(N)}else M=await F.json();if(M===void 0)return{};if(!$)return{0:D.router._def._config.transformer.input.deserialize(M)};if(!$1(M))throw new n0({code:"BAD_REQUEST",message:'"input" needs to be an object when doing a batch call'});let U={};for(let N of Q.keys()){let q=M[N];if(q!==void 0)U[N]=D.router._def._config.transformer.input.deserialize(q)}return U}),X=await Promise.all(Q.map(async(M,U)=>{let N=await h9(D.router,M);return{path:M,procedure:N,getRawInput:async()=>{let V=(await Y.read())[U];if(N?._def.type==="subscription"){let E=D.headers.get("last-event-id")??D.searchParams.get("lastEventId")??D.searchParams.get("Last-Event-Id");if(E)if($1(V))V={...V,lastEventId:E};else V??(V={lastEventId:E})}return V},result:()=>{return Y.result()?.[U]}}})),J=new Set(X.map((M)=>M.procedure?._def.type).filter(Boolean));if(J.size>1)throw new n0({code:"BAD_REQUEST",message:`Cannot mix procedure types in call: ${Array.from(J).join(", ")}`});let B=J.values().next().value??"unknown",W=D.searchParams.get("connectionParams");return{isBatchCall:$,accept:F.headers.get("trpc-accept"),calls:X,type:B,connectionParams:W===null?null:mK(W),signal:F.signal,url:D.url}}},K$0={isMatch(D){return!!D.headers.get("content-type")?.startsWith("multipart/form-data")},async parse(D){let{req:F}=D;if(F.method!=="POST")throw new n0({code:"METHOD_NOT_SUPPORTED",message:"Only POST requests are supported for multipart/form-data requests"});let $=gK(async()=>{return await F.formData()}),Q=await h9(D.router,D.path);return{accept:null,calls:[{path:D.path,getRawInput:$.read,result:$.result,procedure:Q}],isBatchCall:!1,type:"mutation",connectionParams:null,signal:F.signal,url:D.url}}},M$0={isMatch(D){return!!D.headers.get("content-type")?.startsWith("application/octet-stream")},async parse(D){let{req:F}=D;if(F.method!=="POST")throw new n0({code:"METHOD_NOT_SUPPORTED",message:"Only POST requests are supported for application/octet-stream requests"});let $=gK(async()=>{return F.body});return{calls:[{path:D.path,getRawInput:$.read,result:$.result,procedure:await h9(D.router,D.path)}],isBatchCall:!1,accept:null,type:"mutation",connectionParams:null,signal:F.signal,url:D.url}}},U$0=[oP,K$0,M$0];function V$0(D){let F=U$0.find(($)=>$.isMatch(D));if(F)return F;if(!F&&D.method==="GET")return oP;throw new n0({code:"UNSUPPORTED_MEDIA_TYPE",message:D.headers.has("content-type")?`Unsupported content-type "${D.headers.get("content-type")}`:"Missing content-type header"})}async function cK(D){return await V$0(D.req).parse(D)}function qF(D){return $1(D)&&D.name==="AbortError"}function bX(D="AbortError"){throw new DOMException(D,"AbortError")}function uX(D,F,$){if(F in D)Object.defineProperty(D,F,{value:$,enumerable:!0,configurable:!0,writable:!0});else D[F]=$;return D}var sP,pK=new WeakMap,q$0=()=>{};sP=Symbol.toStringTag;var w$0=sP;class ND{subscribe(){let D,F,{settlement:$}=this;if($===null){if(this.subscribers===null)throw new Error("Unpromise settled but still has subscribers");let Q=E$0();this.subscribers=A$0(this.subscribers,Q),D=Q.promise,F=()=>{if(this.subscribers!==null)this.subscribers=x$0(this.subscribers,Q)}}else{let{status:Q}=$;if(Q==="fulfilled")D=Promise.resolve($.value);else D=Promise.reject($.reason);F=q$0}return Object.assign(D,{unsubscribe:F})}then(D,F){let $=this.subscribe(),{unsubscribe:Q}=$;return Object.assign($.then(D,F),{unsubscribe:Q})}catch(D){let F=this.subscribe(),{unsubscribe:$}=F;return Object.assign(F.catch(D),{unsubscribe:$})}finally(D){let F=this.subscribe(),{unsubscribe:$}=F;return Object.assign(F.finally(D),{unsubscribe:$})}static proxy(D){let F=ND.getSubscribablePromise(D);return typeof F!=="undefined"?F:ND.createSubscribablePromise(D)}static createSubscribablePromise(D){let F=new ND(D);return pK.set(D,F),pK.set(F,F),F}static getSubscribablePromise(D){return pK.get(D)}static resolve(D){let F=typeof D==="object"&&D!==null&&"then"in D&&typeof D.then==="function"?D:Promise.resolve(D);return ND.proxy(F).subscribe()}static async any(D){let $=(Array.isArray(D)?D:[...D]).map(ND.resolve);try{return await Promise.any($)}finally{$.forEach(({unsubscribe:Q})=>{Q()})}}static async race(D){let $=(Array.isArray(D)?D:[...D]).map(ND.resolve);try{return await Promise.race($)}finally{$.forEach(({unsubscribe:Q})=>{Q()})}}static async raceReferences(D){let F=D.map(N$0);try{return await Promise.race(F)}finally{for(let $ of F)$.unsubscribe()}}constructor(D){if(uX(this,"promise",void 0),uX(this,"subscribers",[]),uX(this,"settlement",null),uX(this,w$0,"Unpromise"),typeof D==="function")this.promise=new Promise(D);else this.promise=D;let F=this.promise.then(($)=>{let{subscribers:Q}=this;this.subscribers=null,this.settlement={status:"fulfilled",value:$},Q?.forEach(({resolve:Y})=>{Y($)})});if("catch"in F)F.catch(($)=>{let{subscribers:Q}=this;this.subscribers=null,this.settlement={status:"rejected",reason:$},Q?.forEach(({reject:Y})=>{Y($)})})}}function N$0(D){return ND.proxy(D).then(()=>[D])}function E$0(){let D,F;return{promise:new Promise((Q,Y)=>{D=Q,F=Y}),resolve:D,reject:F}}function A$0(D,F){return[...D,F]}function Z$0(D,F){return[...D.slice(0,F),...D.slice(F+1)]}function x$0(D,F){let $=D.indexOf(F);if($!==-1)return Z$0(D,$);return D}var rP,tP;(rP=Symbol).dispose??(rP.dispose=Symbol());(tP=Symbol).asyncDispose??(tP.asyncDispose=Symbol());function hX(D,F){let $=D,Q=$[Symbol.dispose];return $[Symbol.dispose]=()=>{F(),Q?.()},$}function y9(D,F){let $=D,Q=$[Symbol.asyncDispose];return $[Symbol.asyncDispose]=async()=>{await F(),await Q?.()},$}var D3=Symbol();function m9(D){let F=null;return hX({start(){if(F)throw new Error("Timer already started");return new Promise((Q)=>{F=setTimeout(()=>Q(D3),D)})}},()=>{if(F)clearTimeout(F)})}function yX(D,F,$){if(F!==null&&F!==void 0){if(typeof F!=="object"&&typeof F!=="function")throw new TypeError("Object expected.");var Q,Y;if($){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");Q=F[Symbol.asyncDispose]}if(Q===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");if(Q=F[Symbol.dispose],$)Y=Q}if(typeof Q!=="function")throw new TypeError("Object not disposable.");if(Y)Q=function(){try{Y.call(this)}catch(X){return Promise.reject(X)}};D.stack.push({value:F,dispose:Q,async:$})}else if($)D.stack.push({async:!0});return F}function iK(D){var F=typeof SuppressedError==="function"?SuppressedError:function($,Q,Y){var X=new Error(Y);return X.name="SuppressedError",X.error=$,X.suppressed=Q,X};return(iK=function $(Q){function Y(W){Q.error=Q.hasError?new F(W,Q.error,"An error was suppressed during disposal."):W,Q.hasError=!0}var X,J=0;function B(){while(X=Q.stack.pop())try{if(!X.async&&J===1)return J=0,Q.stack.push(X),Promise.resolve().then(B);if(X.dispose){var W=X.dispose.call(X.value);if(X.async)return J|=2,Promise.resolve(W).then(B,function(z){return Y(z),B()})}else J|=1}catch(z){Y(z)}if(J===1)return Q.hasError?Promise.reject(Q.error):Promise.resolve();if(Q.hasError)throw Q.error}return B()})(D)}function F3(D){let F=D[Symbol.asyncIterator]();return y9(F,async()=>{await F.return?.()})}async function*lK(D,F){let $={stack:[],error:void 0,hasError:!1};try{let Q=yX($,F3(D),!0),X=yX($,m9(F.maxDurationMs),!1).start(),J;while(!0){if(J=await ND.race([Q.next(),X]),J===D3)bX();if(J.done)return J;yield J.value,J=null}}catch(Q){$.error=Q,$.hasError=!0}finally{let Q=iK($);if(Q)await Q}}async function*nK(D,F){let $={stack:[],error:void 0,hasError:!1};try{let Q=yX($,F3(D),!0),Y,X=yX($,m9(F.gracePeriodMs),!1),J=F.count,B=new Promise(()=>{});while(!0){if(Y=await ND.race([Q.next(),B]),Y===D3)bX();if(Y.done)return Y.value;if(yield Y.value,--J===0)B=X.start();Y=null}}catch(Q){$.error=Q,$.hasError=!0}finally{let Q=iK($);if(Q)await Q}}function wF(){let D,F;return{promise:new Promise((Q,Y)=>{D=Q,F=Y}),resolve:D,reject:F}}function L$0(D,F,$){if(F!==null&&F!==void 0){if(typeof F!=="object"&&typeof F!=="function")throw new TypeError("Object expected.");var Q,Y;{if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");Q=F[Symbol.asyncDispose]}if(Q===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");Q=F[Symbol.dispose],Y=Q}if(typeof Q!=="function")throw new TypeError("Object not disposable.");if(Y)Q=function(){try{Y.call(this)}catch(X){return Promise.reject(X)}};D.stack.push({value:F,dispose:Q,async:$})}else D.stack.push({async:!0});return F}function eP(D){var F=typeof SuppressedError==="function"?SuppressedError:function($,Q,Y){var X=new Error(Y);return X.name="SuppressedError",X.error=$,X.suppressed=Q,X};return(eP=function $(Q){function Y(W){Q.error=Q.hasError?new F(W,Q.error,"An error was suppressed during disposal."):W,Q.hasError=!0}var X,J=0;function B(){while(X=Q.stack.pop())try{if(!X.async&&J===1)return J=0,Q.stack.push(X),Promise.resolve().then(B);if(X.dispose){var W=X.dispose.call(X.value);if(X.async)return J|=2,Promise.resolve(W).then(B,function(z){return Y(z),B()})}else J|=1}catch(z){Y(z)}if(J===1)return Q.hasError?Promise.reject(Q.error):Promise.resolve();if(Q.hasError)throw Q.error}return B()})(D)}function O$0(D,F){let $=D[Symbol.asyncIterator](),Q="idle";function Y(){Q="done",F=()=>{}}function X(){if(Q!=="idle")return;Q="pending",$.next().then((B)=>{if(B.done){Q="done",F({status:"return",value:B.value}),Y();return}Q="idle",F({status:"yield",value:B.value})}).catch((B)=>{F({status:"error",error:B}),Y()})}return{pull:X,destroy:async()=>{Y(),await $.return?.()}}}function DT(){let D="idle",F=wF(),$=[],Q=new Set,Y=[];function X(J){if(D!=="pending")return;let B=O$0(J,(W)=>{if(D!=="pending")return;switch(W.status){case"yield":Y.push([B,W]);break;case"return":Q.delete(B);break;case"error":Y.push([B,W]),Q.delete(B);break}F.resolve()});Q.add(B),B.pull()}return{add(J){switch(D){case"idle":$.push(J);break;case"pending":X(J);break}},async*[Symbol.asyncIterator](){let J={stack:[],error:void 0,hasError:!1};try{if(D!=="idle")throw new Error("Cannot iterate twice");D="pending";let B=L$0(J,y9({},async()=>{D="done";let W=[];if(await Promise.all(Array.from(Q.values()).map(async(z)=>{try{await z.destroy()}catch(M){W.push(M)}})),Y.length=0,Q.clear(),F.resolve(),W.length>0)throw new AggregateError(W)}),!0);while($.length>0)X($.shift());while(Q.size>0){await F.promise;while(Y.length>0){let[W,z]=Y.shift();switch(z.status){case"yield":yield z.value,W.pull();break;case"error":throw z.error}}F=wF()}}catch(B){J.error=B,J.hasError=!0}finally{let B=eP(J);if(B)await B}}}}function mX(D){let F=D[Symbol.asyncIterator]();return new ReadableStream({async cancel(){await F.return?.()},async pull($){let Q=await F.next();if(Q.done){$.close();return}$.enqueue(Q.value)}})}function FT(D,F,$){if(F!==null&&F!==void 0){if(typeof F!=="object"&&typeof F!=="function")throw new TypeError("Object expected.");var Q,Y;if($){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");Q=F[Symbol.asyncDispose]}if(Q===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");if(Q=F[Symbol.dispose],$)Y=Q}if(typeof Q!=="function")throw new TypeError("Object not disposable.");if(Y)Q=function(){try{Y.call(this)}catch(X){return Promise.reject(X)}};D.stack.push({value:F,dispose:Q,async:$})}else if($)D.stack.push({async:!0});return F}function dK(D){var F=typeof SuppressedError==="function"?SuppressedError:function($,Q,Y){var X=new Error(Y);return X.name="SuppressedError",X.error=$,X.suppressed=Q,X};return(dK=function $(Q){function Y(W){Q.error=Q.hasError?new F(W,Q.error,"An error was suppressed during disposal."):W,Q.hasError=!0}var X,J=0;function B(){while(X=Q.stack.pop())try{if(!X.async&&J===1)return J=0,Q.stack.push(X),Promise.resolve().then(B);if(X.dispose){var W=X.dispose.call(X.value);if(X.async)return J|=2,Promise.resolve(W).then(B,function(z){return Y(z),B()})}else J|=1}catch(z){Y(z)}if(J===1)return Q.hasError?Promise.reject(Q.error):Promise.resolve();if(Q.hasError)throw Q.error}return B()})(D)}var $3=Symbol("ping");async function*gX(D,F){let $={stack:[],error:void 0,hasError:!1};try{let Q=FT($,F3(D),!0),Y,X=Q.next();while(!0){let J={stack:[],error:void 0,hasError:!1};try{let B=FT(J,m9(F),!1);if(Y=await ND.race([X,B.start()]),Y===D3){yield $3;continue}if(Y.done)return Y.value;X=Q.next(),yield Y.value,Y=null}catch(B){J.error=B,J.hasError=!0}finally{dK(J)}}}catch(Q){$.error=Q,$.hasError=!0}finally{let Q=dK($);if(Q)await Q}}function R$0(D,F,$){if(F in D)Object.defineProperty(D,F,{value:$,enumerable:!0,configurable:!0,writable:!0});else D[F]=$;return D}function P$0(D,F,$){if(F!==null&&F!==void 0){if(typeof F!=="object"&&typeof F!=="function")throw new TypeError("Object expected.");var Q,Y;if($){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");Q=F[Symbol.asyncDispose]}if(Q===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");if(Q=F[Symbol.dispose],$)Y=Q}if(typeof Q!=="function")throw new TypeError("Object not disposable.");if(Y)Q=function(){try{Y.call(this)}catch(X){return Promise.reject(X)}};D.stack.push({value:F,dispose:Q,async:$})}else if($)D.stack.push({async:!0});return F}function $T(D){var F=typeof SuppressedError==="function"?SuppressedError:function($,Q,Y){var X=new Error(Y);return X.name="SuppressedError",X.error=$,X.suppressed=Q,X};return($T=function $(Q){function Y(W){Q.error=Q.hasError?new F(W,Q.error,"An error was suppressed during disposal."):W,Q.hasError=!0}var X,J=0;function B(){while(X=Q.stack.pop())try{if(!X.async&&J===1)return J=0,Q.stack.push(X),Promise.resolve().then(B);if(X.dispose){var W=X.dispose.call(X.value);if(X.async)return J|=2,Promise.resolve(W).then(B,function(z){return Y(z),B()})}else J|=1}catch(z){Y(z)}if(J===1)return Q.hasError?Promise.reject(Q.error):Promise.resolve();if(Q.hasError)throw Q.error}return B()})(D)}function T$0(D){return Object.prototype.toString.call(D)==="[object Object]"}var C$0=0,I$0=1,j$0=0,_$0=1,S$0=0,f$0=1,v$0=2;function cX(D){return($1(D)||MF(D))&&typeof D?.then==="function"&&typeof D?.catch==="function"}class QT extends Error{constructor(D){super("Max depth reached at path: "+D.join(".")),R$0(this,"path",void 0),this.path=D}}async function*k$0(D){let{data:F}=D,$=0,Q=0,Y=DT();function X(q){let V=$++,E=q(V);return Y.add(E),V}function J(q,V){return X(async function*(E){let A=W(V);if(A)q.catch((R)=>{D.onError?.({error:R,path:V})}),q=Promise.reject(A);try{let R=await q;yield[E,j$0,M(R,V)]}catch(R){D.onError?.({error:R,path:V}),yield[E,_$0,D.formatError?.({error:R,path:V})]}})}function B(q,V){return X(async function*(E){let A={stack:[],error:void 0,hasError:!1};try{let R=W(V);if(R)throw R;let T=P$0(A,F3(q),!0);try{while(!0){let C=await T.next();if(C.done){yield[E,S$0,M(C.value,V)];break}yield[E,f$0,M(C.value,V)]}}catch(C){D.onError?.({error:C,path:V}),yield[E,v$0,D.formatError?.({error:C,path:V})]}}catch(R){A.error=R,A.hasError=!0}finally{let R=$T(A);if(R)await R}})}function W(q){if(D.maxDepth&&q.length>D.maxDepth)return new QT(q);return null}function z(q,V){if(cX(q))return[C$0,J(q,V)];if(e2(q)){if(D.maxDepth&&V.length>=D.maxDepth)throw new Error("Max depth reached");return[I$0,B(q,V)]}return null}function M(q,V){if(q===void 0)return[[]];let E=z(q,V);if(E)return[[Q],[null,...E]];if(!T$0(q))return[[q]];let A={},R=[];for(let[T,C]of Object.entries(q)){let _=z(C,[...V,T]);if(!_){A[T]=C;continue}A[T]=Q,R.push([T,..._])}return[[A],...R]}let U={};for(let[q,V]of Object.entries(F))U[q]=M(V,[q]);yield U;let N=Y;if(D.pingMs)N=gX(Y,D.pingMs);for await(let q of N)yield q}function aK(D){let F=mX(k$0(D)),{serialize:$}=D;if($)F=F.pipeThrough(new TransformStream({transform(Q,Y){if(Q===$3)Y.enqueue($3);else Y.enqueue($(Q))}}));return F.pipeThrough(new TransformStream({transform(Q,Y){if(Q===$3)Y.enqueue(" ");else Y.enqueue(JSON.stringify(Q)+`
|
|
504
|
+
`)}var O9=(D)=>{return E4(D.toLocaleUpperCase())},Ix=(D)=>{let F=D.registeredArguments.map((X)=>X.required?fx(X.name()):jx(X.name())).filter((X)=>X!=="").join(" "),$=s7([s7([D.parent&&D.parent.parent?D.parent?.name():void 0,D.name()]),F,D.options.length?jx("options"):""]),Q=D.description()||oW("TODO"),Y=s7([tW,$,Sx(Q,$.length)]);return D._debug?sW(Y):Y},Sx=(D,F)=>{return" ".repeat(Math.max(0,45-F))+D},fx=(D)=>["<",D,">"].join(""),jx=(D)=>["[",D,"]"].join(""),s7=(D)=>D.filter(Boolean).join(" ");class l2 extends pW{debug=!0;examples="";constructor(D){super(D);this.helpCommand(!1)}showDebugCommands(D){return this._enableDebugCommands=D,this}debugCommand(D,F){if(this._enableDebugCommands){let $=super.command(D,F);return $._enableDebugCommands=!0,$._debug=!0,$}else return new pW(D)}helpInformation(D){return _x(this)}addExamples(D){this.examples=D}addCommand(D,F){return D._enableDebugCommands=this._enableDebugCommands,D._debug=this._debug,super.addCommand(D,F)}}function A4({flags:D,description:F,defaultValue:$,choices:Q,mandatory:Y}){let X=new Mx(D,F);return Y&&X.makeOptionMandatory(),$&&X.default($),Q&&X.choices(Q),X}var vx={name:"@director.run/cli",type:"module",version:"0.0.22",files:["dist","README.md"],bin:{director:"./dist/cli.js"},scripts:{lint:"biome check .",format:"biome format --write .",clean:"rm -rf .turbo dist/*",test:"bun run vitest --fileParallelism=false",cli:"NODE_ENV=development bun run bin/cli.ts",typecheck:"tsc --noEmit",build:"bun build --production --target=node bin/cli.ts --outdir dist",release:"bun publish --access public --omit=peer",prepare:"bun run build",dev:"bun --watch bin/cli.ts"},dependencies:{"@inquirer/prompts":"^7.5.2"},peerDependencies:{typescript:"^5"},devDependencies:{"type-fest":"^4.40.0","@director.run/gateway":"workspace:*","@director.run/mcp":"workspace:*","@director.run/utilities":"workspace:*",chalk:"^5.4.1","cli-table3":"^0.6.5",commander:"^13.1.0",superjson:"^2.2.2"}};var kx=s0(e7(),1);class k0 extends Error{code;props;name="AppError";constructor(D,F,$={}){super(F);this.code=D;this.props=$}}function gY(D){return D instanceof k0}function bx(D){return D instanceof Error&&"statusCode"in D&&kx.isNumber(D.statusCode)}import{exec as fF0,execSync as jP}from"node:child_process";import{existsSync as vF0}from"node:fs";import{promisify as kF0}from"node:util";var xX=s0(e7(),1),ZX=s0(nz(),1),IP=s0(CP(),1);var IF0=process.env.LOG_LEVEL??(U4()?"silent":"info"),jF0=process.env.LOG_PRETTY!=="false",_F0=process.env.LOG_ERROR_STACK==="true",SF0=ZX.default({level:IF0.toLowerCase(),messageKey:"message",timestamp:!0,serializers:{error:(D)=>{if(gY(D))return{type:D.name,...xX.pick(D,"message","stack","code","props"),...D.cause?{cause:ZX.default.stdSerializers.errWithCause(D)}:{}};let F=ZX.default.stdSerializers.errWithCause(D);return _F0?F:xX.omit(F,"stack")}}},jF0?IP.default({colorize:!0,translateTime:"HH:MM:ss",ignore:"pid,hostname"}):void 0),S0=(D)=>SF0.child({name:D});function BF(D){return new Promise((F)=>setTimeout(F,D))}var OX=kF0(fF0),LX=S0("restartApp");async function S9(D){if(LX.info(`restarting ${D}...`),!bF0(D)){LX.info(`${D} is not running, skipping restart`);return}await OX(`osascript -e 'tell application "${D}" to quit'`),await BF(2000),await OX(`open -a ${D}`),LX.info(`${D} has been restarted`)}async function f9(D){LX.info(`opening ${D}`),await OX(`code "${D}"`)}function F8(D){try{let F=process.platform==="win32",$;switch(D){case"Claude":$="claude";break;case"Cursor":$="cursor";break;case"Visual Studio Code":$="code";break;default:$=D}let Q=F?`where ${$}`:`which ${$}`;return jP(Q,{stdio:"pipe",encoding:"utf8"}),!0}catch(F){return!1}}function v9(D){return vF0(D)}function bF0(D){try{return jP(`pgrep -x "${D}"`,{stdio:"pipe"}),!0}catch(F){return!1}}async function _P(D){if(!D||typeof D!=="string")throw new Error("Invalid URL provided");let F=D.startsWith("http://")||D.startsWith("https://")?D:`https://${D}`,$=process.platform,Q;switch($){case"darwin":Q=`open "${F}"`;break;case"win32":Q=`start "" "${F}"`;break;case"linux":Q=`xdg-open "${F}"`;break;default:throw new Error(`Unsupported platform: ${$}`)}try{await OX(Q)}catch(Y){throw new Error(`Failed to open URL: ${Y instanceof Error?Y.message:"Unknown error"}`)}}import yF0 from"node:os";import mF0 from"node:path";import IK from"node:fs";import{existsSync as uF0}from"node:fs";import{dirname as hF0}from"node:path";async function a6(D){if(!uF0(D))throw new k0("NOT_FOUND",`file not found at: ${D}`);let F=await IK.promises.readFile(D),$=new TextDecoder().decode(F);return JSON.parse($)}async function o6(D,F){return await IK.promises.mkdir(hF0(D),{recursive:!0}),IK.promises.writeFile(D,JSON.stringify(F,null,2))}class t2{}var gF0="claude",fP=mF0.join(yF0.homedir(),"Library/Application Support/Claude/claude_desktop_config.json"),vP="director__",O4=S0("client-configurator/claude");class s6 extends t2{config;configPath;constructor(D){super();this.configPath=D.configPath,this.config=D.config}static async create(D=fP){if(O4.info(`reading config from ${D}`),!F8("Claude"))throw new k0("NOT_FOUND",`Claude desktop app is not installed command: ${gF0}`);if(!pF0())throw new k0("NOT_FOUND",`Claude config file not found at ${D}`);let F=await a6(D);return new s6({configPath:D,config:SP.parse(F)})}isInstalled(D){return this.config.mcpServers[jK(D)]!==void 0}async uninstall(D){if(!this.isInstalled(D))throw new k0("NOT_FOUND",`server '${D}' is not installed`);O4.info(`uninstalling ${D}`);let F={...this.config};delete F.mcpServers[jK(D)],await this.updateConfig(F)}async install(D){if(this.isInstalled(D.name))throw new k0("BAD_REQUEST",`server '${D.name}' is already installed`);O4.info(`installing ${D.name}`);let F={...this.config};F.mcpServers[jK(D.name)]={command:"npx",args:["-y","@director.run/cli","http2stdio",D.url],env:{LOG_LEVEL:"silent"}},await this.updateConfig(F)}async reset(){O4.info("purging claude config");let D={...this.config};D.mcpServers={},await this.updateConfig(D)}async list(){return O4.info("listing servers"),Object.entries(this.config.mcpServers).filter(([D])=>D.startsWith(vP)).map(([D,F])=>({name:D,url:F.args[3]}))}async openConfig(){O4.info("opening claude config"),await f9(this.configPath)}async restart(){if(!U4())O4.info("restarting claude"),await S9("Claude");else O4.warn("skipping restart of claude in test environment")}async reload(D){O4.info(`reloading ${D}`),await this.restart()}async updateConfig(D){this.config=SP.parse(D),O4.info(`writing config to ${this.configPath}`),await o6(this.configPath,this.config),await this.restart()}}var jK=(D)=>`${vP}${D}`,cF0=d.object({command:d.string().describe('The command to execute (e.g., "bun", "node")'),args:d.array(d.string()).describe("Command line arguments"),env:d.record(d.string()).optional().describe("Environment variables")}),SP=d.object({mcpServers:d.record(d.string(),cF0).describe("Map of MCP server configurations")});function pF0(){return v9(fP)}import iF0 from"node:os";import lF0 from"node:path";var nF0="cursor",kP=lF0.join(iF0.homedir(),".cursor/mcp.json"),dF0="director__",R4=S0("client-configurator/cursor");class r6 extends t2{config;configPath;constructor(D){super();this.configPath=D.configPath,this.config=D.config}static async create(D=kP){if(R4.info(`reading config from ${D}`),!F8("Cursor"))throw new k0("NOT_FOUND",`Cursor is not installed command: ${nF0}`);if(!aF0())throw new k0("NOT_FOUND",`Cursor config file not found at ${D}`);let F=await a6(D);return new r6({configPath:D,config:F})}isInstalled(D){return this.config.mcpServers[PX(D)]!==void 0}async uninstall(D){if(!this.isInstalled(D))throw new k0("NOT_FOUND",`server '${D}' is not installed`);R4.info(`uninstalling ${D}`);let F={...this.config};delete F.mcpServers[PX(D)],await this.updateConfig(F)}async install(D){if(this.isInstalled(D.name))throw new k0("BAD_REQUEST",`server '${D.name}' is already installed`);R4.info(`installing ${D.name}`);let F={...this.config};F.mcpServers[PX(D.name)]={url:D.url},await this.updateConfig(F)}async restart(){if(!U4())R4.info("restarting cursor"),await S9("Cursor");else R4.warn("skipping restart of cursor in test environment")}async reload(D){R4.info(`reloading ${D}`);let F=this.config.mcpServers[PX(D)].url;await this.uninstall(D),await BF(1000),await this.install({name:D,url:F})}async list(){return R4.info("listing servers"),Object.entries(this.config.mcpServers).map(([D,F])=>({name:D,url:F.url}))}async openConfig(){R4.info("opening cursor config"),await f9(this.configPath)}async reset(){R4.info("purging cursor config");let D={...this.config};D.mcpServers={},await this.updateConfig(D)}async updateConfig(D){R4.info(`writing config to ${this.configPath}`),await o6(this.configPath,D),this.config=D}}var PX=(D)=>`${dF0}${D}`;function aF0(){return v9(kP)}import oF0 from"node:fs";import sF0 from"node:os";import uP from"node:path";var rF0="code",hP=uP.join(sF0.homedir(),"Library/Application Support/Code/User/settings.json"),yP="director__",i8=S0("client-configurator/vscode");class k9 extends t2{config;configPath;constructor(D){super();this.configPath=D.configPath,this.config=D.config}static async create(D=hP){if(i8.info(`reading config from ${D}`),!tF0())throw new k0("NOT_FOUND",`VSCode is not installed command: ${rF0}`);let F;if(!bP())i8.info(`VSCode config file not found at ${D}, creating new one`),F={mcp:{servers:{}}};else F=await a6(D);if(!F.mcp)F.mcp={servers:{}};let $=new k9({configPath:D,config:F});if(!bP())await $.updateConfig($.config);return $}isInstalled(D){return this.config.mcp.servers[TX(D)]!==void 0}async uninstall(D){if(!this.isInstalled(D))throw new k0("NOT_FOUND",`server '${D}' is not installed`);i8.info(`uninstalling ${D}`);let F={...this.config};delete F.mcp.servers[TX(D)],await this.updateConfig(F)}async install(D){if(this.isInstalled(D.name))throw new k0("BAD_REQUEST",`server '${D.name}' is already installed`);i8.info(`installing ${D.name}`);let F={...this.config};F.mcp.servers[TX(D.name)]={url:D.url},await this.updateConfig(F)}async restart(){if(!U4())i8.info("restarting vscode"),await S9("Visual Studio Code");else i8.warn("skipping restart of vscode in test environment")}async reload(D){i8.info(`reloading ${D}`);let F=this.config.mcp.servers[TX(D)].url;await this.uninstall(D),await BF(1000),await this.install({name:D,url:F})}async list(){return i8.info("listing servers"),Object.entries(this.config.mcp.servers).filter(([D])=>D.startsWith(yP)).map(([D,F])=>({name:D,url:F.url}))}async openConfig(){i8.info("opening vscode config"),await f9(this.configPath)}async reset(){i8.info("purging vscode config");let D={...this.config};D.mcp.servers={},await this.updateConfig(D)}async updateConfig(D){i8.info(`writing config to ${this.configPath}`);let F=uP.dirname(this.configPath);await oF0.promises.mkdir(F,{recursive:!0}),await o6(this.configPath,this.config),this.config=D}}var TX=(D)=>`${yP}${D}`;function tF0(){return F8("Visual Studio Code")}function bP(){return v9(hP)}var b9;((Q)=>{Q.Claude="claude";Q.Cursor="cursor";Q.VSCode="vscode"})(b9||={});function $8(D){switch(D){case"claude":return s6.create();case"cursor":return r6.create();case"vscode":return k9.create();default:throw new k0("BAD_REQUEST",`Client ${D} is not supported`)}}async function CX(){let D=await Promise.all(Object.values(b9).map($8));for(let F of D)await F.reset()}async function eF0(D){switch(D){case"claude":return await F8("Claude");case"cursor":return await F8("Cursor");case"vscode":return await F8("Visual Studio Code");default:throw new k0("BAD_REQUEST",`Client ${D} is not supported`)}}async function IX(){return await Promise.all(Object.values(b9).map(async(D)=>({name:D,present:await eF0(D)})))}function GF(D){return typeof D==="object"&&D!==null&&"subscribe"in D}function YD(D){let F={subscribe($){let Q=null,Y=!1,X=!1,J=!1;function B(){if(Q===null){J=!0;return}if(X)return;if(X=!0,typeof Q==="function")Q();else if(Q)Q.unsubscribe()}if(Q=D({next(W){if(Y)return;$.next?.(W)},error(W){if(Y)return;Y=!0,$.error?.(W),B()},complete(){if(Y)return;Y=!0,$.complete?.(),B()}}),J)B();return{unsubscribe:B}},pipe(...$){return $.reduce(D$0,F)}};return F}function D$0(D,F){return F(D)}function _K(D){let F=new AbortController;return new Promise((Q,Y)=>{let X=!1;function J(){if(X)return;X=!0,B.unsubscribe()}F.signal.addEventListener("abort",()=>{Y(F.signal.reason)});let B=D.subscribe({next(W){X=!0,Q(W),J()},error(W){Y(W)},complete(){F.abort(),J()}})})}function F$0(D,F){let $=null,Q=()=>{$?.unsubscribe(),$=null,F.removeEventListener("abort",Q)};return new ReadableStream({start(Y){if($=D.subscribe({next(X){Y.enqueue({ok:!0,value:X})},error(X){Y.enqueue({ok:!1,error:X}),Y.close()},complete(){Y.close()}}),F.aborted)Q();else F.addEventListener("abort",Q,{once:!0})},cancel(){Q()}})}function jX(D,F){let Q=F$0(D,F).getReader(),Y={async next(){let X=await Q.read();if(X.done)return{value:void 0,done:!0};let{value:J}=X;if(!J.ok)throw J.error;return{value:J.value,done:!1}},async return(){return await Q.cancel(),{value:void 0,done:!0}}};return{[Symbol.asyncIterator](){return Y}}}function SK(D){return(F)=>{let $=0,Q=null,Y=[];function X(){if(Q)return;Q=F.subscribe({next(B){for(let W of Y)W.next?.(B)},error(B){for(let W of Y)W.error?.(B)},complete(){for(let B of Y)B.complete?.()}})}function J(){if($===0&&Q){let B=Q;Q=null,B.unsubscribe()}}return YD((B)=>{return $++,Y.push(B),X(),{unsubscribe(){$--,J();let W=Y.findIndex((z)=>z===B);if(W>-1)Y.splice(W,1)}}})}}var Vf0=Symbol();function WF(D){let F=D,$=[],Q=(J)=>{if(F!==void 0)J.next(F);$.push(J)},Y=(J)=>{$.splice($.indexOf(J),1)},X=YD((J)=>{return Q(J),()=>{Y(J)}});return X.next=(J)=>{if(F===J)return;F=J;for(let B of $)B.next(J)},X.get=()=>F,X}function fK(D){return YD((F)=>{function $(Y=0,X=D.op){let J=D.links[Y];if(!J)throw new Error("No more links to execute - did you forget to add an ending link?");return J({op:X,next(W){return $(Y+1,W)}})}return $().subscribe(F)})}var gP=()=>{},mP=(D)=>{if(Object.freeze)Object.freeze(D)};function cP(D,F,$){var Q,Y;let X=F.join(".");return(Q=$)[Y=X]??(Q[Y]=new Proxy(gP,{get(J,B){if(typeof B!=="string"||B==="then")return;return cP(D,[...F,B],$)},apply(J,B,W){let z=F[F.length-1],M={args:W,path:F};if(z==="call")M={args:W.length>=2?[W[1]]:[],path:F.slice(0,-1)};else if(z==="apply")M={args:W.length>=2?W[1]:[],path:F.slice(0,-1)};return mP(M.args),mP(M.path),D(M)}})),$[X]}var u9=(D)=>cP(D,[],Object.create(null)),_X=(D)=>{return new Proxy(gP,{get(F,$){if($==="then")return;return D($)}})};var t6=({shape:D})=>{return D};var G6={PARSE_ERROR:-32700,BAD_REQUEST:-32600,INTERNAL_SERVER_ERROR:-32603,NOT_IMPLEMENTED:-32603,BAD_GATEWAY:-32603,SERVICE_UNAVAILABLE:-32603,GATEWAY_TIMEOUT:-32603,UNAUTHORIZED:-32001,FORBIDDEN:-32003,NOT_FOUND:-32004,METHOD_NOT_SUPPORTED:-32005,TIMEOUT:-32008,CONFLICT:-32009,PRECONDITION_FAILED:-32012,PAYLOAD_TOO_LARGE:-32013,UNSUPPORTED_MEDIA_TYPE:-32015,UNPROCESSABLE_CONTENT:-32022,TOO_MANY_REQUESTS:-32029,CLIENT_CLOSED_REQUEST:-32099},SX={[-32700]:"PARSE_ERROR",[-32600]:"BAD_REQUEST",[-32603]:"INTERNAL_SERVER_ERROR",[-32001]:"UNAUTHORIZED",[-32003]:"FORBIDDEN",[-32004]:"NOT_FOUND",[-32005]:"METHOD_NOT_SUPPORTED",[-32008]:"TIMEOUT",[-32009]:"CONFLICT",[-32012]:"PRECONDITION_FAILED",[-32013]:"PAYLOAD_TOO_LARGE",[-32015]:"UNSUPPORTED_MEDIA_TYPE",[-32022]:"UNPROCESSABLE_CONTENT",[-32029]:"TOO_MANY_REQUESTS",[-32099]:"CLIENT_CLOSED_REQUEST"};var zF=Symbol();function KF(D,...F){let $=Object.assign(Object.create(null),D);for(let Q of F)for(let Y in Q){if(Y in $&&$[Y]!==Q[Y])throw new Error(`Duplicate key ${Y}`);$[Y]=Q[Y]}return $}function $1(D){return!!D&&!Array.isArray(D)&&typeof D==="object"}function MF(D){return typeof D==="function"}function UF(D){return Object.assign(Object.create(null),D)}var Q$0=typeof Symbol==="function"&&!!Symbol.asyncIterator;function e2(D){return Q$0&&$1(D)&&Symbol.asyncIterator in D}var kD=(D)=>D();function vK(D){return D}var pP={PARSE_ERROR:400,BAD_REQUEST:400,UNAUTHORIZED:401,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_SUPPORTED:405,TIMEOUT:408,CONFLICT:409,PRECONDITION_FAILED:412,PAYLOAD_TOO_LARGE:413,UNSUPPORTED_MEDIA_TYPE:415,UNPROCESSABLE_CONTENT:422,TOO_MANY_REQUESTS:429,CLIENT_CLOSED_REQUEST:499,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504};function kK(D){return pP[D]??500}function bK(D){let F=Array.isArray(D)?D:[D],$=new Set(F.map((Y)=>{if("error"in Y&&$1(Y.error.data)){if(typeof Y.error.data?.httpStatus==="number")return Y.error.data.httpStatus;let X=SX[Y.error.code];return kK(X)}return 200}));if($.size!==1)return 207;return $.values().next().value}function uK(D){return kK(D.code)}function l8(D){let{path:F,error:$,config:Q}=D,{code:Y}=D.error,X={message:$.message,code:G6[Y],data:{code:Y,httpStatus:uK($)}};if(Q.isDev&&typeof D.error.stack==="string")X.data.stack=D.error.stack;if(typeof F==="string")X.data.path=F;return Q.errorFormatter({...D,shape:X})}function iP(D,F,$){if(F in D)Object.defineProperty(D,F,{value:$,enumerable:!0,configurable:!0,writable:!0});else D[F]=$;return D}class lP extends Error{}function nP(D){if(D instanceof Error)return D;let F=typeof D;if(F==="undefined"||F==="function"||D===null)return;if(F!=="object")return new Error(String(D));if($1(D)){let $=new lP;for(let Q in D)$[Q]=D[Q];return $}return}function l1(D){if(D instanceof n0)return D;if(D instanceof Error&&D.name==="TRPCError")return D;let F=new n0({code:"INTERNAL_SERVER_ERROR",cause:D});if(D instanceof Error&&D.stack)F.stack=D.stack;return F}class n0 extends Error{constructor(D){let F=nP(D.cause),$=D.message??F?.message??D.code;if(super($,{cause:F}),iP(this,"cause",void 0),iP(this,"code",void 0),this.code=D.code,this.name="TRPCError",!this.cause)this.cause=F}}function hK(D){if("input"in D)return D;return{input:D,output:D}}var e6={input:{serialize:(D)=>D,deserialize:(D)=>D},output:{serialize:(D)=>D,deserialize:(D)=>D}};function dP(D,F){if("error"in F)return{...F,error:D.transformer.output.serialize(F.error)};if("data"in F.result)return{...F,result:{...F.result,data:D.transformer.output.serialize(F.result.data)}};return F}function D2(D,F){return Array.isArray(F)?F.map(($)=>dP(D,$)):dP(D,F)}function Y$0(D,F){if("error"in D){let Q=F.deserialize(D.error);return{ok:!1,error:{...D,error:Q}}}return{ok:!0,result:{...D.result,...(!D.result.type||D.result.type==="data")&&{type:"data",data:F.deserialize(D.result.data)}}}}class fX extends Error{constructor(){super("Unable to transform response from server")}}function VF(D,F){let $;try{$=Y$0(D,F)}catch{throw new fX}if(!$.ok&&(!$1($.error.error)||typeof $.error.error.code!=="number"))throw new fX;if($.ok&&!$1($.result))throw new fX;return $}var X$0=Symbol("lazy");function J$0(D){let F=Symbol(),$=F;return()=>{if($===F)$=D();return $}}function H$0(D){return typeof D==="function"&&X$0 in D}function B$0(D){return $1(D)&&$1(D._def)&&"router"in D._def}var G$0={_ctx:null,_errorShape:null,_meta:null,queries:{},mutations:{},subscriptions:{},errorFormatter:t6,transformer:e6},W$0=["then","call","apply"];function vX(D){function F($){let Q=new Set(Object.keys($).filter((U)=>W$0.includes(U)));if(Q.size>0)throw new Error("Reserved words used in `router({})` call: "+Array.from(Q).join(", "));let Y=UF({}),X=UF({});function J(U){return{ref:U.ref,load:J$0(async()=>{let N=await U.ref(),q=[...U.path,U.key],V=q.join(".");U.aggregate[U.key]=B(N._def.record,q),delete X[V];for(let[E,A]of Object.entries(N._def.lazy)){let R=[...q,E].join(".");X[R]=J({ref:A.ref,path:q,key:E,aggregate:U.aggregate[U.key]})}})}}function B(U,N=[]){let q=UF({});for(let[V,E]of Object.entries(U??{})){if(H$0(E)){X[[...N,V].join(".")]=J({path:N,ref:E,key:V,aggregate:q});continue}if(B$0(E)){q[V]=B(E._def.record,[...N,V]);continue}if(!z$0(E)){q[V]=B(E,[...N,V]);continue}let A=[...N,V].join(".");if(Y[A])throw new Error(`Duplicate key: ${A}`);Y[A]=E,q[V]=E}return q}let W=B($),z={_config:D,router:!0,procedures:Y,lazy:X,...G$0,record:W};return{...W,_def:z,createCaller:kX()({_def:z})}}return F}function z$0(D){return typeof D==="function"}async function h9(D,F){let{_def:$}=D,Q=$.procedures[F];while(!Q){let Y=Object.keys($.lazy).find((J)=>F.startsWith(J));if(!Y)return null;await $.lazy[Y].load(),Q=$.procedures[F]}return Q}function kX(){return function D(F){let{_def:$}=F;return function Q(Y,X){return u9(async({path:J,args:B})=>{let W=J.join(".");if(J.length===1&&J[0]==="_def")return $;let z=await h9(F,W),M=void 0;try{if(!z)throw new n0({code:"NOT_FOUND",message:`No procedure found on path "${J}"`});return M=MF(Y)?await Promise.resolve(Y()):Y,await z({path:W,getRawInput:async()=>B[0],ctx:M,type:z._def.type,signal:X?.signal})}catch(U){throw X?.onError?.({ctx:M,error:l1(U),input:B[0],path:W,type:z?._def.type??"unknown"}),U}})}}}function yK(...D){let F=KF({},...D.map((X)=>X._def.record)),$=D.reduce((X,J)=>{if(J._def._config.errorFormatter&&J._def._config.errorFormatter!==t6){if(X!==t6&&X!==J._def._config.errorFormatter)throw new Error("You seem to have several error formatters");return J._def._config.errorFormatter}return X},t6),Q=D.reduce((X,J)=>{if(J._def._config.transformer&&J._def._config.transformer!==e6){if(X!==e6&&X!==J._def._config.transformer)throw new Error("You seem to have several transformers");return J._def._config.transformer}return X},e6);return vX({errorFormatter:$,transformer:Q,isDev:D.every((X)=>X._def._config.isDev),allowOutsideOfServer:D.every((X)=>X._def._config.allowOutsideOfServer),isServer:D.every((X)=>X._def._config.isServer),$types:D[0]?._def._config.$types})(F)}function aP(D){try{if(D===null)return null;if(!$1(D))throw new Error("Expected object");let F=Object.entries(D).filter(([$,Q])=>typeof Q!=="string");if(F.length>0)throw new Error(`Expected connectionParams to be string values. Got ${F.map(([$,Q])=>`${$}: ${typeof Q}`).join(", ")}`);return D}catch(F){throw new n0({code:"PARSE_ERROR",message:"Invalid connection params shape",cause:F})}}function mK(D){let F;try{F=JSON.parse(D)}catch($){throw new n0({code:"PARSE_ERROR",message:"Not JSON-parsable query params",cause:$})}return aP(F)}function gK(D){let F=null,$=zF;return{read:async()=>{if($!==zF)return $;if(F===null)F=D().catch((Q)=>{if(Q instanceof n0)throw Q;throw new n0({code:"BAD_REQUEST",message:Q instanceof Error?Q.message:"Invalid input",cause:Q})});return $=await F,F=null,$},result:()=>{return $!==zF?$:void 0}}}var oP={isMatch(D){return!!D.headers.get("content-type")?.startsWith("application/json")},async parse(D){let{req:F}=D,$=D.searchParams.get("batch")==="1",Q=$?D.path.split(","):[D.path],Y=gK(async()=>{let M=void 0;if(F.method==="GET"){let N=D.searchParams.get("input");if(N)M=JSON.parse(N)}else M=await F.json();if(M===void 0)return{};if(!$)return{0:D.router._def._config.transformer.input.deserialize(M)};if(!$1(M))throw new n0({code:"BAD_REQUEST",message:'"input" needs to be an object when doing a batch call'});let U={};for(let N of Q.keys()){let q=M[N];if(q!==void 0)U[N]=D.router._def._config.transformer.input.deserialize(q)}return U}),X=await Promise.all(Q.map(async(M,U)=>{let N=await h9(D.router,M);return{path:M,procedure:N,getRawInput:async()=>{let V=(await Y.read())[U];if(N?._def.type==="subscription"){let E=D.headers.get("last-event-id")??D.searchParams.get("lastEventId")??D.searchParams.get("Last-Event-Id");if(E)if($1(V))V={...V,lastEventId:E};else V??(V={lastEventId:E})}return V},result:()=>{return Y.result()?.[U]}}})),J=new Set(X.map((M)=>M.procedure?._def.type).filter(Boolean));if(J.size>1)throw new n0({code:"BAD_REQUEST",message:`Cannot mix procedure types in call: ${Array.from(J).join(", ")}`});let B=J.values().next().value??"unknown",W=D.searchParams.get("connectionParams");return{isBatchCall:$,accept:F.headers.get("trpc-accept"),calls:X,type:B,connectionParams:W===null?null:mK(W),signal:F.signal,url:D.url}}},K$0={isMatch(D){return!!D.headers.get("content-type")?.startsWith("multipart/form-data")},async parse(D){let{req:F}=D;if(F.method!=="POST")throw new n0({code:"METHOD_NOT_SUPPORTED",message:"Only POST requests are supported for multipart/form-data requests"});let $=gK(async()=>{return await F.formData()}),Q=await h9(D.router,D.path);return{accept:null,calls:[{path:D.path,getRawInput:$.read,result:$.result,procedure:Q}],isBatchCall:!1,type:"mutation",connectionParams:null,signal:F.signal,url:D.url}}},M$0={isMatch(D){return!!D.headers.get("content-type")?.startsWith("application/octet-stream")},async parse(D){let{req:F}=D;if(F.method!=="POST")throw new n0({code:"METHOD_NOT_SUPPORTED",message:"Only POST requests are supported for application/octet-stream requests"});let $=gK(async()=>{return F.body});return{calls:[{path:D.path,getRawInput:$.read,result:$.result,procedure:await h9(D.router,D.path)}],isBatchCall:!1,accept:null,type:"mutation",connectionParams:null,signal:F.signal,url:D.url}}},U$0=[oP,K$0,M$0];function V$0(D){let F=U$0.find(($)=>$.isMatch(D));if(F)return F;if(!F&&D.method==="GET")return oP;throw new n0({code:"UNSUPPORTED_MEDIA_TYPE",message:D.headers.has("content-type")?`Unsupported content-type "${D.headers.get("content-type")}`:"Missing content-type header"})}async function cK(D){return await V$0(D.req).parse(D)}function qF(D){return $1(D)&&D.name==="AbortError"}function bX(D="AbortError"){throw new DOMException(D,"AbortError")}function uX(D,F,$){if(F in D)Object.defineProperty(D,F,{value:$,enumerable:!0,configurable:!0,writable:!0});else D[F]=$;return D}var sP,pK=new WeakMap,q$0=()=>{};sP=Symbol.toStringTag;var w$0=sP;class ND{subscribe(){let D,F,{settlement:$}=this;if($===null){if(this.subscribers===null)throw new Error("Unpromise settled but still has subscribers");let Q=E$0();this.subscribers=A$0(this.subscribers,Q),D=Q.promise,F=()=>{if(this.subscribers!==null)this.subscribers=x$0(this.subscribers,Q)}}else{let{status:Q}=$;if(Q==="fulfilled")D=Promise.resolve($.value);else D=Promise.reject($.reason);F=q$0}return Object.assign(D,{unsubscribe:F})}then(D,F){let $=this.subscribe(),{unsubscribe:Q}=$;return Object.assign($.then(D,F),{unsubscribe:Q})}catch(D){let F=this.subscribe(),{unsubscribe:$}=F;return Object.assign(F.catch(D),{unsubscribe:$})}finally(D){let F=this.subscribe(),{unsubscribe:$}=F;return Object.assign(F.finally(D),{unsubscribe:$})}static proxy(D){let F=ND.getSubscribablePromise(D);return typeof F!=="undefined"?F:ND.createSubscribablePromise(D)}static createSubscribablePromise(D){let F=new ND(D);return pK.set(D,F),pK.set(F,F),F}static getSubscribablePromise(D){return pK.get(D)}static resolve(D){let F=typeof D==="object"&&D!==null&&"then"in D&&typeof D.then==="function"?D:Promise.resolve(D);return ND.proxy(F).subscribe()}static async any(D){let $=(Array.isArray(D)?D:[...D]).map(ND.resolve);try{return await Promise.any($)}finally{$.forEach(({unsubscribe:Q})=>{Q()})}}static async race(D){let $=(Array.isArray(D)?D:[...D]).map(ND.resolve);try{return await Promise.race($)}finally{$.forEach(({unsubscribe:Q})=>{Q()})}}static async raceReferences(D){let F=D.map(N$0);try{return await Promise.race(F)}finally{for(let $ of F)$.unsubscribe()}}constructor(D){if(uX(this,"promise",void 0),uX(this,"subscribers",[]),uX(this,"settlement",null),uX(this,w$0,"Unpromise"),typeof D==="function")this.promise=new Promise(D);else this.promise=D;let F=this.promise.then(($)=>{let{subscribers:Q}=this;this.subscribers=null,this.settlement={status:"fulfilled",value:$},Q?.forEach(({resolve:Y})=>{Y($)})});if("catch"in F)F.catch(($)=>{let{subscribers:Q}=this;this.subscribers=null,this.settlement={status:"rejected",reason:$},Q?.forEach(({reject:Y})=>{Y($)})})}}function N$0(D){return ND.proxy(D).then(()=>[D])}function E$0(){let D,F;return{promise:new Promise((Q,Y)=>{D=Q,F=Y}),resolve:D,reject:F}}function A$0(D,F){return[...D,F]}function Z$0(D,F){return[...D.slice(0,F),...D.slice(F+1)]}function x$0(D,F){let $=D.indexOf(F);if($!==-1)return Z$0(D,$);return D}var rP,tP;(rP=Symbol).dispose??(rP.dispose=Symbol());(tP=Symbol).asyncDispose??(tP.asyncDispose=Symbol());function hX(D,F){let $=D,Q=$[Symbol.dispose];return $[Symbol.dispose]=()=>{F(),Q?.()},$}function y9(D,F){let $=D,Q=$[Symbol.asyncDispose];return $[Symbol.asyncDispose]=async()=>{await F(),await Q?.()},$}var D3=Symbol();function m9(D){let F=null;return hX({start(){if(F)throw new Error("Timer already started");return new Promise((Q)=>{F=setTimeout(()=>Q(D3),D)})}},()=>{if(F)clearTimeout(F)})}function yX(D,F,$){if(F!==null&&F!==void 0){if(typeof F!=="object"&&typeof F!=="function")throw new TypeError("Object expected.");var Q,Y;if($){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");Q=F[Symbol.asyncDispose]}if(Q===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");if(Q=F[Symbol.dispose],$)Y=Q}if(typeof Q!=="function")throw new TypeError("Object not disposable.");if(Y)Q=function(){try{Y.call(this)}catch(X){return Promise.reject(X)}};D.stack.push({value:F,dispose:Q,async:$})}else if($)D.stack.push({async:!0});return F}function iK(D){var F=typeof SuppressedError==="function"?SuppressedError:function($,Q,Y){var X=new Error(Y);return X.name="SuppressedError",X.error=$,X.suppressed=Q,X};return(iK=function $(Q){function Y(W){Q.error=Q.hasError?new F(W,Q.error,"An error was suppressed during disposal."):W,Q.hasError=!0}var X,J=0;function B(){while(X=Q.stack.pop())try{if(!X.async&&J===1)return J=0,Q.stack.push(X),Promise.resolve().then(B);if(X.dispose){var W=X.dispose.call(X.value);if(X.async)return J|=2,Promise.resolve(W).then(B,function(z){return Y(z),B()})}else J|=1}catch(z){Y(z)}if(J===1)return Q.hasError?Promise.reject(Q.error):Promise.resolve();if(Q.hasError)throw Q.error}return B()})(D)}function F3(D){let F=D[Symbol.asyncIterator]();return y9(F,async()=>{await F.return?.()})}async function*lK(D,F){let $={stack:[],error:void 0,hasError:!1};try{let Q=yX($,F3(D),!0),X=yX($,m9(F.maxDurationMs),!1).start(),J;while(!0){if(J=await ND.race([Q.next(),X]),J===D3)bX();if(J.done)return J;yield J.value,J=null}}catch(Q){$.error=Q,$.hasError=!0}finally{let Q=iK($);if(Q)await Q}}async function*nK(D,F){let $={stack:[],error:void 0,hasError:!1};try{let Q=yX($,F3(D),!0),Y,X=yX($,m9(F.gracePeriodMs),!1),J=F.count,B=new Promise(()=>{});while(!0){if(Y=await ND.race([Q.next(),B]),Y===D3)bX();if(Y.done)return Y.value;if(yield Y.value,--J===0)B=X.start();Y=null}}catch(Q){$.error=Q,$.hasError=!0}finally{let Q=iK($);if(Q)await Q}}function wF(){let D,F;return{promise:new Promise((Q,Y)=>{D=Q,F=Y}),resolve:D,reject:F}}function L$0(D,F,$){if(F!==null&&F!==void 0){if(typeof F!=="object"&&typeof F!=="function")throw new TypeError("Object expected.");var Q,Y;{if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");Q=F[Symbol.asyncDispose]}if(Q===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");Q=F[Symbol.dispose],Y=Q}if(typeof Q!=="function")throw new TypeError("Object not disposable.");if(Y)Q=function(){try{Y.call(this)}catch(X){return Promise.reject(X)}};D.stack.push({value:F,dispose:Q,async:$})}else D.stack.push({async:!0});return F}function eP(D){var F=typeof SuppressedError==="function"?SuppressedError:function($,Q,Y){var X=new Error(Y);return X.name="SuppressedError",X.error=$,X.suppressed=Q,X};return(eP=function $(Q){function Y(W){Q.error=Q.hasError?new F(W,Q.error,"An error was suppressed during disposal."):W,Q.hasError=!0}var X,J=0;function B(){while(X=Q.stack.pop())try{if(!X.async&&J===1)return J=0,Q.stack.push(X),Promise.resolve().then(B);if(X.dispose){var W=X.dispose.call(X.value);if(X.async)return J|=2,Promise.resolve(W).then(B,function(z){return Y(z),B()})}else J|=1}catch(z){Y(z)}if(J===1)return Q.hasError?Promise.reject(Q.error):Promise.resolve();if(Q.hasError)throw Q.error}return B()})(D)}function O$0(D,F){let $=D[Symbol.asyncIterator](),Q="idle";function Y(){Q="done",F=()=>{}}function X(){if(Q!=="idle")return;Q="pending",$.next().then((B)=>{if(B.done){Q="done",F({status:"return",value:B.value}),Y();return}Q="idle",F({status:"yield",value:B.value})}).catch((B)=>{F({status:"error",error:B}),Y()})}return{pull:X,destroy:async()=>{Y(),await $.return?.()}}}function DT(){let D="idle",F=wF(),$=[],Q=new Set,Y=[];function X(J){if(D!=="pending")return;let B=O$0(J,(W)=>{if(D!=="pending")return;switch(W.status){case"yield":Y.push([B,W]);break;case"return":Q.delete(B);break;case"error":Y.push([B,W]),Q.delete(B);break}F.resolve()});Q.add(B),B.pull()}return{add(J){switch(D){case"idle":$.push(J);break;case"pending":X(J);break}},async*[Symbol.asyncIterator](){let J={stack:[],error:void 0,hasError:!1};try{if(D!=="idle")throw new Error("Cannot iterate twice");D="pending";let B=L$0(J,y9({},async()=>{D="done";let W=[];if(await Promise.all(Array.from(Q.values()).map(async(z)=>{try{await z.destroy()}catch(M){W.push(M)}})),Y.length=0,Q.clear(),F.resolve(),W.length>0)throw new AggregateError(W)}),!0);while($.length>0)X($.shift());while(Q.size>0){await F.promise;while(Y.length>0){let[W,z]=Y.shift();switch(z.status){case"yield":yield z.value,W.pull();break;case"error":throw z.error}}F=wF()}}catch(B){J.error=B,J.hasError=!0}finally{let B=eP(J);if(B)await B}}}}function mX(D){let F=D[Symbol.asyncIterator]();return new ReadableStream({async cancel(){await F.return?.()},async pull($){let Q=await F.next();if(Q.done){$.close();return}$.enqueue(Q.value)}})}function FT(D,F,$){if(F!==null&&F!==void 0){if(typeof F!=="object"&&typeof F!=="function")throw new TypeError("Object expected.");var Q,Y;if($){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");Q=F[Symbol.asyncDispose]}if(Q===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");if(Q=F[Symbol.dispose],$)Y=Q}if(typeof Q!=="function")throw new TypeError("Object not disposable.");if(Y)Q=function(){try{Y.call(this)}catch(X){return Promise.reject(X)}};D.stack.push({value:F,dispose:Q,async:$})}else if($)D.stack.push({async:!0});return F}function dK(D){var F=typeof SuppressedError==="function"?SuppressedError:function($,Q,Y){var X=new Error(Y);return X.name="SuppressedError",X.error=$,X.suppressed=Q,X};return(dK=function $(Q){function Y(W){Q.error=Q.hasError?new F(W,Q.error,"An error was suppressed during disposal."):W,Q.hasError=!0}var X,J=0;function B(){while(X=Q.stack.pop())try{if(!X.async&&J===1)return J=0,Q.stack.push(X),Promise.resolve().then(B);if(X.dispose){var W=X.dispose.call(X.value);if(X.async)return J|=2,Promise.resolve(W).then(B,function(z){return Y(z),B()})}else J|=1}catch(z){Y(z)}if(J===1)return Q.hasError?Promise.reject(Q.error):Promise.resolve();if(Q.hasError)throw Q.error}return B()})(D)}var $3=Symbol("ping");async function*gX(D,F){let $={stack:[],error:void 0,hasError:!1};try{let Q=FT($,F3(D),!0),Y,X=Q.next();while(!0){let J={stack:[],error:void 0,hasError:!1};try{let B=FT(J,m9(F),!1);if(Y=await ND.race([X,B.start()]),Y===D3){yield $3;continue}if(Y.done)return Y.value;X=Q.next(),yield Y.value,Y=null}catch(B){J.error=B,J.hasError=!0}finally{dK(J)}}}catch(Q){$.error=Q,$.hasError=!0}finally{let Q=dK($);if(Q)await Q}}function R$0(D,F,$){if(F in D)Object.defineProperty(D,F,{value:$,enumerable:!0,configurable:!0,writable:!0});else D[F]=$;return D}function P$0(D,F,$){if(F!==null&&F!==void 0){if(typeof F!=="object"&&typeof F!=="function")throw new TypeError("Object expected.");var Q,Y;if($){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");Q=F[Symbol.asyncDispose]}if(Q===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");if(Q=F[Symbol.dispose],$)Y=Q}if(typeof Q!=="function")throw new TypeError("Object not disposable.");if(Y)Q=function(){try{Y.call(this)}catch(X){return Promise.reject(X)}};D.stack.push({value:F,dispose:Q,async:$})}else if($)D.stack.push({async:!0});return F}function $T(D){var F=typeof SuppressedError==="function"?SuppressedError:function($,Q,Y){var X=new Error(Y);return X.name="SuppressedError",X.error=$,X.suppressed=Q,X};return($T=function $(Q){function Y(W){Q.error=Q.hasError?new F(W,Q.error,"An error was suppressed during disposal."):W,Q.hasError=!0}var X,J=0;function B(){while(X=Q.stack.pop())try{if(!X.async&&J===1)return J=0,Q.stack.push(X),Promise.resolve().then(B);if(X.dispose){var W=X.dispose.call(X.value);if(X.async)return J|=2,Promise.resolve(W).then(B,function(z){return Y(z),B()})}else J|=1}catch(z){Y(z)}if(J===1)return Q.hasError?Promise.reject(Q.error):Promise.resolve();if(Q.hasError)throw Q.error}return B()})(D)}function T$0(D){return Object.prototype.toString.call(D)==="[object Object]"}var C$0=0,I$0=1,j$0=0,_$0=1,S$0=0,f$0=1,v$0=2;function cX(D){return($1(D)||MF(D))&&typeof D?.then==="function"&&typeof D?.catch==="function"}class QT extends Error{constructor(D){super("Max depth reached at path: "+D.join(".")),R$0(this,"path",void 0),this.path=D}}async function*k$0(D){let{data:F}=D,$=0,Q=0,Y=DT();function X(q){let V=$++,E=q(V);return Y.add(E),V}function J(q,V){return X(async function*(E){let A=W(V);if(A)q.catch((R)=>{D.onError?.({error:R,path:V})}),q=Promise.reject(A);try{let R=await q;yield[E,j$0,M(R,V)]}catch(R){D.onError?.({error:R,path:V}),yield[E,_$0,D.formatError?.({error:R,path:V})]}})}function B(q,V){return X(async function*(E){let A={stack:[],error:void 0,hasError:!1};try{let R=W(V);if(R)throw R;let T=P$0(A,F3(q),!0);try{while(!0){let C=await T.next();if(C.done){yield[E,S$0,M(C.value,V)];break}yield[E,f$0,M(C.value,V)]}}catch(C){D.onError?.({error:C,path:V}),yield[E,v$0,D.formatError?.({error:C,path:V})]}}catch(R){A.error=R,A.hasError=!0}finally{let R=$T(A);if(R)await R}})}function W(q){if(D.maxDepth&&q.length>D.maxDepth)return new QT(q);return null}function z(q,V){if(cX(q))return[C$0,J(q,V)];if(e2(q)){if(D.maxDepth&&V.length>=D.maxDepth)throw new Error("Max depth reached");return[I$0,B(q,V)]}return null}function M(q,V){if(q===void 0)return[[]];let E=z(q,V);if(E)return[[Q],[null,...E]];if(!T$0(q))return[[q]];let A={},R=[];for(let[T,C]of Object.entries(q)){let _=z(C,[...V,T]);if(!_){A[T]=C;continue}A[T]=Q,R.push([T,..._])}return[[A],...R]}let U={};for(let[q,V]of Object.entries(F))U[q]=M(V,[q]);yield U;let N=Y;if(D.pingMs)N=gX(Y,D.pingMs);for await(let q of N)yield q}function aK(D){let F=mX(k$0(D)),{serialize:$}=D;if($)F=F.pipeThrough(new TransformStream({transform(Q,Y){if(Q===$3)Y.enqueue($3);else Y.enqueue($(Q))}}));return F.pipeThrough(new TransformStream({transform(Q,Y){if(Q===$3)Y.enqueue(" ");else Y.enqueue(JSON.stringify(Q)+`
|
|
505
505
|
`)}})).pipeThrough(new TextEncoderStream)}var b$0=Symbol();function pX(D){return Array.isArray(D)&&D[2]===b$0}var u$0="ping",h$0="serialized-error",y$0="connected",m$0="return";function oK(D){let{serialize:F=vK}=D,$={enabled:D.ping?.enabled??!1,intervalMs:D.ping?.intervalMs??1000},Q=D.client??{};if($.enabled&&Q.reconnectAfterInactivityMs&&$.intervalMs>Q.reconnectAfterInactivityMs)throw new Error(`Ping interval must be less than client reconnect interval to prevent unnecessary reconnection - ping.intervalMs: ${$.intervalMs} client.reconnectAfterInactivityMs: ${Q.reconnectAfterInactivityMs}`);async function*Y(){yield{event:y$0,data:JSON.stringify(Q)};let B=D.data;if(D.emitAndEndImmediately)B=nK(B,{count:1,gracePeriodMs:1});if(D.maxDurationMs&&D.maxDurationMs>0&&D.maxDurationMs!==1/0)B=lK(B,{maxDurationMs:D.maxDurationMs});if($.enabled&&$.intervalMs!==1/0&&$.intervalMs>0)B=gX(B,$.intervalMs);let W,z;for await(W of B){if(W===$3){yield{event:u$0,data:""};continue}z=pX(W)?{id:W[0],data:W[1]}:{data:W},z.data=JSON.stringify(F(z.data)),yield z,W=null,z=null}}async function*X(){try{yield*Y(),yield{event:m$0,data:""}}catch(B){if(qF(B))return;let W=l1(B),z=D.formatError?.({error:W})??null;yield{event:h$0,data:JSON.stringify(F(z))}}}return mX(X()).pipeThrough(new TransformStream({transform(B,W){if("event"in B)W.enqueue(`event: ${B.event}
|
|
506
506
|
`);if("data"in B)W.enqueue(`data: ${B.data}
|
|
507
507
|
`);if("id"in B)W.enqueue(`id: ${B.id}
|