@mercurjs/cli 2.1.2 → 2.2.0-canary.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,48 +1,113 @@
1
1
  #!/usr/bin/env node
2
- import {Command}from'commander';import*as R from'path';import R__default,{join,basename}from'path';import $e from'prompts';import {z}from'zod';import Lt,{promises,existsSync,readFileSync,mkdirSync,writeFileSync,statSync}from'fs';import {cosmiconfig}from'cosmiconfig';import {loadConfig,createMatchPath}from'tsconfig-paths';import L from'fs-extra';import dt from'fast-glob';import {createHash}from'crypto';import mr from'deepmerge';import*as U from'fs/promises';import U__default,{writeFile,rm}from'fs/promises';import {homedir,tmpdir}from'os';import {Project,ScriptKind}from'ts-morph';import O from'kleur';import fi from'ora';import {execa}from'execa';import {detect}from'@antfu/ni';import {diffLines}from'diff';import {spawn,execSync}from'child_process';import {Readable}from'stream';import {pipeline}from'stream/promises';import Tt from'pg';import Ls from'open';import {x as x$1}from'tar';import Us from'terminal-link';import zs from'validate-npm-package-name';import Bs from'wait-on';import vn from'cross-spawn';import {packageDirectory}from'pkg-dir';import yn from'resolve-cwd';import {builtinModules}from'module';import {generatePluginEntryModule}from'@mercurjs/dashboard-sdk';var Ut={version:"2.1.2"};var zt="MISSING_DIR_OR_EMPTY_PROJECT",S="MISSING_CONFIG",B="BUILD_MISSING_REGISTRY_FILE";var So=z.enum(["registry:api","registry:vendor","registry:admin"]),Bt=z.object({path:z.string(),content:z.string().optional(),type:So,target:z.string().optional()}),Wt=z.object({$schema:z.string().optional(),name:z.string(),title:z.string().optional(),author:z.string().min(2).optional(),description:z.string().optional(),dependencies:z.array(z.string()).optional(),devDependencies:z.array(z.string()).optional(),registryDependencies:z.array(z.string()).optional(),meta:z.record(z.string(),z.any()).optional(),docs:z.string().optional(),categories:z.array(z.string()).optional()}),T=Wt.extend({files:z.array(Bt)}),Z=z.object({name:z.string(),homepage:z.string(),items:z.array(T)}),Hn=z.array(Wt),Gt=T.pick({dependencies:true,devDependencies:true,files:true,docs:true}),Co=z.union([z.string(),z.object({url:z.string(),params:z.record(z.string(),z.string()).optional(),headers:z.record(z.string(),z.string()).optional()})]),Vt=z.record(z.string().refine(e=>e.startsWith("@"),{message:"Registry names must start with @ (e.g., @mercurjs)"}),Co);var Le="https://registry.mercurjs.com/registry.json",Yt="https://registry.mercurjs.com/registry-item.json",ve=process.env.REGISTRY_URL??"https://raw.githubusercontent.com/mercurjs/mercur/canary/packages/registry/r",C={"@mercurjs":`${ve}/{name}.json`};var $={NOT_FOUND:"NOT_FOUND",UNAUTHORIZED:"UNAUTHORIZED",FORBIDDEN:"FORBIDDEN",FETCH_ERROR:"FETCH_ERROR",NOT_CONFIGURED:"NOT_CONFIGURED",INVALID_CONFIG:"INVALID_CONFIG",MISSING_ENV_VARS:"MISSING_ENV_VARS",LOCAL_FILE_ERROR:"LOCAL_FILE_ERROR",PARSE_ERROR:"PARSE_ERROR",VALIDATION_ERROR:"VALIDATION_ERROR",UNKNOWN_ERROR:"UNKNOWN_ERROR"},_=class extends Error{code;statusCode;context;suggestion;timestamp;cause;constructor(t,r={}){super(t),this.name="RegistryError",this.code=r.code||$.UNKNOWN_ERROR,this.statusCode=r.statusCode,this.cause=r.cause,this.context=r.context,this.suggestion=r.suggestion,this.timestamp=new Date,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor);}},de=class extends _{constructor(r,o){let i=`The item at ${r} was not found. It may not exist at the registry.`;super(i,{code:$.NOT_FOUND,statusCode:404,cause:o,context:{url:r},suggestion:"Check if the item name is correct and the registry URL is accessible."});this.url=r;this.name="RegistryNotFoundError";}},Me=class extends _{constructor(r,o){let i=`You are not authorized to access the item at ${r}. If this is a remote registry, you may need to authenticate.`;super(i,{code:$.UNAUTHORIZED,statusCode:401,cause:o,context:{url:r},suggestion:"Check your authentication credentials and environment variables."});this.url=r;this.name="RegistryUnauthorizedError";}},Ue=class extends _{constructor(r,o){let i=`You are not authorized to access the item at ${r}. If this is a remote registry, you may need to authenticate.`;super(i,{code:$.FORBIDDEN,statusCode:403,cause:o,context:{url:r},suggestion:"Check your authentication credentials and environment variables."});this.url=r;this.name="RegistryForbiddenError";}},ze=class extends _{constructor(r,o,i,s){let n=o?`Failed to fetch from registry (${o}): ${r}`:`Failed to fetch from registry: ${r}`,m=typeof s=="string"&&s?`${n} - ${s}`:n,p="Check your network connection and try again.";o===404?p="The requested resource was not found. Check the URL or item name.":o===500?p="The registry server encountered an error. Try again later.":o&&o>=400&&o<500&&(p="There was a client error. Check your request parameters.");super(m,{code:$.FETCH_ERROR,statusCode:o,cause:s,context:{url:r,responseBody:i},suggestion:p});this.url=r;this.responseBody=i;this.name="RegistryFetchError";}},Q=class extends _{constructor(r){let o=r?`Unknown registry "${r}". Make sure it is defined in agents.json as follows:
2
+ import {Command}from'commander';import*as R from'path';import R__default,{join,basename}from'path';import De from'prompts';import {z}from'zod';import Lt,{promises,existsSync,readFileSync,mkdirSync,writeFileSync,statSync}from'fs';import {cosmiconfig}from'cosmiconfig';import {loadConfig,createMatchPath}from'tsconfig-paths';import A from'fs-extra';import dt from'fast-glob';import {createHash}from'crypto';import mr from'deepmerge';import*as U from'fs/promises';import U__default,{writeFile,rm}from'fs/promises';import {homedir,tmpdir}from'os';import {Project,ScriptKind}from'ts-morph';import F from'kleur';import mi from'ora';import {execa}from'execa';import {detect}from'@antfu/ni';import {diffLines}from'diff';import {spawn,execSync}from'child_process';import hs from'cross-spawn';import {packageDirectory}from'pkg-dir';import fs from'resolve-cwd';import {Readable}from'stream';import {pipeline}from'stream/promises';import $t from'pg';import Ws from'open';import {x as x$1}from'tar';import Vs from'terminal-link';import Ys from'validate-npm-package-name';import qs from'wait-on';import {builtinModules}from'module';import {generatePluginEntryModule}from'@mercurjs/dashboard-sdk';var Ae={version:"2.2.0-canary.1"};var zt="MISSING_DIR_OR_EMPTY_PROJECT",E="MISSING_CONFIG",B="BUILD_MISSING_REGISTRY_FILE";var Ro=z.enum(["registry:api","registry:vendor","registry:admin"]),Bt=z.object({path:z.string(),content:z.string().optional(),type:Ro,target:z.string().optional()}),Wt=z.object({$schema:z.string().optional(),name:z.string(),title:z.string().optional(),author:z.string().min(2).optional(),description:z.string().optional(),dependencies:z.array(z.string()).optional(),devDependencies:z.array(z.string()).optional(),registryDependencies:z.array(z.string()).optional(),meta:z.record(z.string(),z.any()).optional(),docs:z.string().optional(),categories:z.array(z.string()).optional()}),T=Wt.extend({files:z.array(Bt)}),K=z.object({name:z.string(),homepage:z.string(),items:z.array(T)}),Pn=z.array(Wt),Gt=T.pick({dependencies:true,devDependencies:true,files:true,docs:true}),xo=z.union([z.string(),z.object({url:z.string(),params:z.record(z.string(),z.string()).optional(),headers:z.record(z.string(),z.string()).optional()})]),Vt=z.record(z.string().refine(e=>e.startsWith("@"),{message:"Registry names must start with @ (e.g., @mercurjs)"}),xo);var Le="https://registry.mercurjs.com/registry.json",Yt="https://registry.mercurjs.com/registry-item.json",we=process.env.REGISTRY_URL??"https://raw.githubusercontent.com/mercurjs/mercur/canary/packages/registry/r",I={"@mercurjs":`${we}/{name}.json`};var $={NOT_FOUND:"NOT_FOUND",UNAUTHORIZED:"UNAUTHORIZED",FORBIDDEN:"FORBIDDEN",FETCH_ERROR:"FETCH_ERROR",NOT_CONFIGURED:"NOT_CONFIGURED",INVALID_CONFIG:"INVALID_CONFIG",MISSING_ENV_VARS:"MISSING_ENV_VARS",LOCAL_FILE_ERROR:"LOCAL_FILE_ERROR",PARSE_ERROR:"PARSE_ERROR",VALIDATION_ERROR:"VALIDATION_ERROR",UNKNOWN_ERROR:"UNKNOWN_ERROR"},S=class extends Error{code;statusCode;context;suggestion;timestamp;cause;constructor(t,r={}){super(t),this.name="RegistryError",this.code=r.code||$.UNKNOWN_ERROR,this.statusCode=r.statusCode,this.cause=r.cause,this.context=r.context,this.suggestion=r.suggestion,this.timestamp=new Date,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor);}},ae=class extends S{constructor(r,o){let i=`The item at ${r} was not found. It may not exist at the registry.`;super(i,{code:$.NOT_FOUND,statusCode:404,cause:o,context:{url:r},suggestion:"Check if the item name is correct and the registry URL is accessible."});this.url=r;this.name="RegistryNotFoundError";}},Ue=class extends S{constructor(r,o){let i=`You are not authorized to access the item at ${r}. If this is a remote registry, you may need to authenticate.`;super(i,{code:$.UNAUTHORIZED,statusCode:401,cause:o,context:{url:r},suggestion:"Check your authentication credentials and environment variables."});this.url=r;this.name="RegistryUnauthorizedError";}},ze=class extends S{constructor(r,o){let i=`You are not authorized to access the item at ${r}. If this is a remote registry, you may need to authenticate.`;super(i,{code:$.FORBIDDEN,statusCode:403,cause:o,context:{url:r},suggestion:"Check your authentication credentials and environment variables."});this.url=r;this.name="RegistryForbiddenError";}},Be=class extends S{constructor(r,o,i,s){let n=o?`Failed to fetch from registry (${o}): ${r}`:`Failed to fetch from registry: ${r}`,m=typeof s=="string"&&s?`${n} - ${s}`:n,p="Check your network connection and try again.";o===404?p="The requested resource was not found. Check the URL or item name.":o===500?p="The registry server encountered an error. Try again later.":o&&o>=400&&o<500&&(p="There was a client error. Check your request parameters.");super(m,{code:$.FETCH_ERROR,statusCode:o,cause:s,context:{url:r,responseBody:i},suggestion:p});this.url=r;this.responseBody=i;this.name="RegistryFetchError";}},Z=class extends S{constructor(r){let o=r?`Unknown registry "${r}". Make sure it is defined in agents.json as follows:
3
3
  {
4
4
  "registries": {
5
5
  "${r}": "[URL_TO_REGISTRY]"
6
6
  }
7
- }`:'Unknown registry. Make sure it is defined in blocks.json under "registries".';super(o,{code:$.NOT_CONFIGURED,context:{registryName:r},suggestion:"Add the registry configuration to your blocks.json file. Consult the registry documentation for the correct format."});this.registryName=r;this.name="RegistryNotConfiguredError";}},X=class extends _{constructor(r,o){super(`Failed to read local registry file: ${r}`,{code:$.LOCAL_FILE_ERROR,cause:o,context:{filePath:r},suggestion:"Check if the file exists and you have read permissions."});this.filePath=r;this.name="RegistryLocalFileError";}},I=class extends _{constructor(r,o){let i=`Failed to parse registry item: ${r}`;o instanceof z.ZodError&&(i=`Failed to parse registry item: ${r}
7
+ }`:'Unknown registry. Make sure it is defined in blocks.json under "registries".';super(o,{code:$.NOT_CONFIGURED,context:{registryName:r},suggestion:"Add the registry configuration to your blocks.json file. Consult the registry documentation for the correct format."});this.registryName=r;this.name="RegistryNotConfiguredError";}},Q=class extends S{constructor(r,o){super(`Failed to read local registry file: ${r}`,{code:$.LOCAL_FILE_ERROR,cause:o,context:{filePath:r},suggestion:"Check if the file exists and you have read permissions."});this.filePath=r;this.name="RegistryLocalFileError";}},C=class extends S{constructor(r,o){let i=`Failed to parse registry item: ${r}`;o instanceof z.ZodError&&(i=`Failed to parse registry item: ${r}
8
8
  ${o.issues.map(s=>` - ${s.path.join(".")}: ${s.message}`).join(`
9
- `)}`);super(i,{code:$.PARSE_ERROR,cause:o,context:{item:r},suggestion:"The registry item may be corrupted or have an invalid format. Please make sure it returns a valid JSON object."});this.item=r;this.parseError=o,this.name="RegistryParseError";}parseError},Be=class extends _{constructor(r,o){let i=`Registry "${r}" requires the following environment variables:
9
+ `)}`);super(i,{code:$.PARSE_ERROR,cause:o,context:{item:r},suggestion:"The registry item may be corrupted or have an invalid format. Please make sure it returns a valid JSON object."});this.item=r;this.parseError=o,this.name="RegistryParseError";}parseError},We=class extends S{constructor(r,o){let i=`Registry "${r}" requires the following environment variables:
10
10
 
11
11
  `+o.map(s=>` \u2022 ${s}`).join(`
12
- `);super(i,{code:$.MISSING_ENV_VARS,context:{registryName:r,missingVars:o},suggestion:"Set the required environment variables to your .env or .env.local file."});this.registryName=r;this.missingVars=o;this.name="RegistryMissingEnvironmentVariablesError";}},We=class extends _{constructor(r){let o=`Invalid registry namespace: "${r}". Registry names must start with @ (e.g., @mercurjs).`;super(o,{code:$.VALIDATION_ERROR,context:{name:r},suggestion:"Use a valid registry name starting with @ or provide a direct URL to the registry."});this.name=r;this.name="RegistryInvalidNamespaceError";}};var Ge=class extends _{constructor(r,o){let i=`Invalid blocks.json configuration in ${r}.`;o instanceof z.ZodError&&(i=`Invalid blocks.json configuration in ${r}:
12
+ `);super(i,{code:$.MISSING_ENV_VARS,context:{registryName:r,missingVars:o},suggestion:"Set the required environment variables to your .env or .env.local file."});this.registryName=r;this.missingVars=o;this.name="RegistryMissingEnvironmentVariablesError";}},Ge=class extends S{constructor(r){let o=`Invalid registry namespace: "${r}". Registry names must start with @ (e.g., @mercurjs).`;super(o,{code:$.VALIDATION_ERROR,context:{name:r},suggestion:"Use a valid registry name starting with @ or provide a direct URL to the registry."});this.name=r;this.name="RegistryInvalidNamespaceError";}};var Ve=class extends S{constructor(r,o){let i=`Invalid blocks.json configuration in ${r}.`;o instanceof z.ZodError&&(i=`Invalid blocks.json configuration in ${r}:
13
13
  ${o.issues.map(s=>` - ${s.path.join(".")}: ${s.message}`).join(`
14
- `)}`);super(i,{code:$.INVALID_CONFIG,cause:o,context:{cwd:r},suggestion:"Check your blocks.json file for syntax errors or invalid configuration. Run '@mercurjs/cli init' to regenerate a valid configuration."});this.cwd=r;this.name="ConfigParseError";}};var W=z.object({$schema:z.string().optional(),aliases:z.object({api:z.string(),vendor:z.string(),admin:z.string()}),registries:Vt.optional()}).strict(),Jt=W.extend({resolvedPaths:z.object({cwd:z.string(),api:z.string(),vendor:z.string(),admin:z.string()})});async function me(e,t){return createMatchPath(t.absoluteBaseUrl,t.paths)(e,void 0,()=>true,[".ts",".tsx"])}var $o="packages/api/src",Do="apps/vendor/src",Oo="apps/admin/src",Fo=cosmiconfig("blocks",{searchPlaces:["blocks.json"]});async function b(e){let t=await No(e);return t?await at(e,t):null}async function at(e,t){t.registries={...t.registries||{},...C};let r=await loadConfig(e);if(r.resultType==="failed")throw new Error(`Failed to load tsconfig.json. ${r.message??""}`.trim());return Jt.parse({...t,resolvedPaths:{cwd:e,api:await me(t.aliases.api,r),vendor:await me(t.aliases.vendor,r),admin:await me(t.aliases.admin,r)}})}async function No(e){try{let t=await Fo.search(e);if(!t)return null;let r=W.parse(t.config);if(r.registries){for(let o of Object.keys(r.registries))if(o in C)throw new Error(`"${o}" is a built-in registry and cannot be overridden.`)}return r}catch(t){throw t instanceof Error&&t.message.includes("reserved registry")?t:new Ge(e,t)}}function G(e){let t={resolvedPaths:{cwd:process.cwd(),api:"",vendor:"",admin:""},aliases:{api:$o,vendor:Do,admin:Oo},registries:{...C}};return e?{...t,...e,resolvedPaths:{...t.resolvedPaths,...e.resolvedPaths||{}},aliases:{...t.aliases,...e.aliases||{}},registries:{...t.registries,...e.registries||{}}}:t}var mt=["**/node_modules/**","public","dist"];async function k(e){let[t,r,o,i,s,n]=await Promise.all([L.pathExists(R__default.resolve(e,"src")),Lo(e),je(e),Mo(e),Uo(e),zo(e)]);return {isSrcDir:t,aliasPrefix:r,packageJson:o,medusaConfigFile:i?.file??null,medusaVersion:s,mercurVersion:n}}async function Lo(e){let t=loadConfig(e);if(t.resultType==="failed")return null;let r=t.paths||{},o=Object.keys(r);if(o.length===0)return null;let i=o[0];return i?.includes("*")?i.replace("/*",""):i?.replace("/","")??null}function je(e="",t=true){let r=R__default.join(e,"package.json");return L.readJSONSync(r,{throws:t})}async function Mo(e){let t=await dt.glob("medusa-config.*",{cwd:e,deep:3,ignore:mt});if(!t.length)return null;let r=t[0];return {file:r,dir:R__default.resolve(e,R__default.dirname(r))}}async function Uo(e){let r=je(e,false)?.dependencies?.["@medusajs/framework"];if(r)return r;let o=await dt.glob("**/package.json",{cwd:e,deep:3,ignore:mt});for(let i of o){let n=je(R__default.join(e,R__default.dirname(i)),false)?.dependencies?.["@medusajs/framework"];if(n)return n}return null}async function zo(e){let r=je(e,false)?.dependencies?.["@mercurjs/cli"];if(r)return r;let o=await dt.glob("**/package.json",{cwd:e,deep:3,ignore:mt});for(let i of o){let n=je(R__default.join(e,R__default.dirname(i)),false)?.dependencies?.["@mercurjs/cli"];if(n)return n}return null}z.object({cwd:z.string(),blocks:z.array(z.string()).optional(),yes:z.boolean(),overwrite:z.boolean(),silent:z.boolean()});async function Kt(e){let t={},r=R__default.resolve(e.cwd);if(!existsSync(r))return t[zt]=true,{errors:t,config:null};let o=await b(r);if(!o)return t[S]=true,{errors:t,config:null};let i=await k(r);return {errors:t,config:o,projectInfo:i}}var Ve={headers:{}};function pt(e){Ve.headers={...Ve.headers,...e};}function Zt(e){return Ve.headers[e]||{}}function x(){Ve.headers={};}function pe(e){let t={aliases:{api:"packages/api/src",vendor:"apps/vendor/src",admin:"apps/admin/src"},registries:C};return {...t,...e||{},aliases:{...t.aliases,...e?.aliases||{}},registries:{...e?.registries||{},...C}}}function be(e){return e.replace(/\${(\w+)}/g,(t,r)=>process.env[r]||"")}function Re(e){let t=[],r=/\${(\w+)}/g,o=r.exec(e);for(;o!==null;){let i=o[1];i&&t.push(i),o=r.exec(e);}return t}var Go=/^(@[a-zA-Z0-9](?:[a-zA-Z0-9-_]*[a-zA-Z0-9])?)\/(.+)$/;function ce(e){if(!e.startsWith("@"))return {registry:null,item:e};let t=e.match(Go);return t?{registry:t[1],item:t[2]}:{registry:null,item:e}}var Qt=[".tsx",".ts"],Xt=["lib/utils.ts"],Ho=[/^(react|react-dom)(\/.*)?$/,/^(node|jsr|npm):.*$/],Ko=new Project({compilerOptions:{}});function Zo(e){if(Ho.some(t=>t.test(e)))return null;if(!e.startsWith("@")&&e.includes("/")&&(e=e.split("/")[0]),e.startsWith("@")){let t=e.split("/");t.length>2&&(e=t.slice(0,2).join("/"));}return e}async function ct(e,t,r,o=new Set){let i=R.resolve(t.resolvedPaths.cwd,e),s=R.relative(t.resolvedPaths.cwd,i);if(Xt.includes(s))return {dependencies:[],files:[]};let n=R.extname(e);if(!Qt.includes(n))return {dependencies:[],files:[]};if(o.has(s))return {dependencies:[],files:[]};o.add(s);try{if(!(await U.stat(i)).isFile())return {dependencies:[],files:[]}}catch{return {dependencies:[],files:[]}}let m=await U.readFile(i,"utf-8"),p=await Qo(R.basename(i)),d=Ko.createSourceFile(p,m,{scriptKind:ScriptKind.TSX}),u=await loadConfig(t.resolvedPaths.cwd);if(u.resultType==="failed")return {dependencies:[],files:[]};let c=[],f=new Set,y=er(e),h={path:s,type:y,target:"",content:""};c.push(h);let j=d.getImportDeclarations();for(let F of j){let z=F.getModuleSpecifierValue(),Fe=z.startsWith(".");if(!(r.aliasPrefix&&z.startsWith(`${r.aliasPrefix}/`))&&!Fe){let N=Zo(z);N&&f.add(N);continue}let ne=await me(z,u);if(Fe&&(ne=R.resolve(R.dirname(i),z)),!ne)continue;if(!R.extname(ne))for(let N of Qt){let Mt=`${ne}${N}`;try{await U.access(Mt),ne=Mt;break}catch{continue}}let Ne=R.relative(t.resolvedPaths.cwd,ne);if(o.has(Ne)||Xt.includes(Ne))continue;let _o=er(z),ko={path:Ne,type:_o,target:"",content:""};c.push(ko);let Ae=await ct(Ne,t,r,o);if(Ae.files)for(let N of Ae.files)o.has(N.path)||(o.add(N.path),c.push(N));Ae.dependencies&&Ae.dependencies.forEach(N=>f.add(N));}let E=Array.from(new Map(c.map(F=>[F.path,F])).values());return {dependencies:Array.from(f),files:E}}async function Qo(e){let t=await U.mkdtemp(R.join(tmpdir(),"mercur-"));return R.join(t,e)}function er(e){return e.includes("/vendor")?"registry:vendor":e.includes("/admin")?"registry:admin":"registry:api"}function q(e){try{return new URL(e),!0}catch{return false}}function te(e){return e.endsWith(".json")&&!q(e)}function Xo(e){let t=new Set;if(typeof e=="string")for(let r of Re(e))t.add(r);else {for(let r of Re(e.url))t.add(r);if(e.params)for(let r of Object.values(e.params))for(let o of Re(r))t.add(o);if(e.headers)for(let r of Object.values(e.headers))for(let o of Re(r))t.add(o);}return Array.from(t)}function tr(e,t){let o=Xo(t).filter(i=>!process.env[i]);if(o.length>0)throw new Be(e,o)}var Ye="{name}",ei=`${Ye}.json`,rr=/\${(\w+)}/g,or="?",ti="&";function ri(e){return e.includes(Ye)}function ir(e){return ri(e)?e:`${e.endsWith("/")?e:`${e}/`}${ei}`}function xe(e,t){let{registry:r,item:o}=ce(e);if(!r)return null;let s=(t?.registries||{})[r];if(!s)throw new Q(r);return tr(r,s),{url:oi(o,s),headers:ii(s)}}function oi(e,t,r){if(typeof t=="string"){let n=ir(t).replace(Ye,e);return be(n)}let i=ir(t.url).replace(Ye,e);return i=be(i),t.params?si(i,t.params):i}function ii(e){if(typeof e=="string"||!e.headers)return {};let t={};for(let[r,o]of Object.entries(e.headers)){let i=be(o);ni(o,i)&&(t[r]=i);}return t}function si(e,t){let r=new URLSearchParams;for(let[s,n]of Object.entries(t)){let m=be(n);m&&r.append(s,m);}let o=r.toString();if(!o)return e;let i=e.includes(or)?ti:or;return `${e}${i}${o}`}function ni(e,t){let r=t.trim();if(!r)return false;if(e.includes("${")&&e.match(rr)){let i=e.replace(rr,"").trim();return r!==i}return true}function sr(e){return q(e)||te(e)?e:`${ve}/${e}`}var qe=new Map;async function ai(e){let t=e;t.startsWith("file://")&&(t=t.slice(7)),t.startsWith("~/")&&(t=R__default.join(homedir(),t.slice(2)));let r=R__default.resolve(t);try{let o=await promises.readFile(r,"utf8");return JSON.parse(o)}catch(o){throw o instanceof Error&&(o.message.includes("ENOENT")||o.message.includes("no such file"))?new X(e,o):new X(e,o)}}async function re(e){return await Promise.all(e.map(async r=>{let o=sr(r);if(qe.has(o))return qe.get(o);if(te(o)){let s=ai(o);return qe.set(o,s),s}let i=(async()=>{let s=Zt(o),n=await fetch(o,{headers:{...s}});if(!n.ok){let m;if(n.headers.get("content-type")?.includes("application/json")){let p=await n.json(),d=z.object({detail:z.string().optional(),title:z.string().optional(),message:z.string().optional(),error:z.string().optional()}).safeParse(p);d.success&&(m=d.data.detail||d.data.message,d.data.error&&(m=`[${d.data.error}] ${m}`));}throw n.status===401?new Me(o,m):n.status===404?new de(o,m):n.status===403?new Ue(o,m):new ze(o,n.status,m)}return n.json()})();return qe.set(o,i),i}))}async function dr(e){try{let t=e;e.startsWith("~/")&&(t=R__default.join(homedir(),e.slice(2)));let r=R__default.resolve(t),o=await promises.readFile(r,"utf8"),i=JSON.parse(o);try{return T.parse(i)}catch(s){throw new I(e,s)}}catch(t){throw t instanceof Error&&(t.message.includes("ENOENT")||t.message.includes("no such file"))?new X(e,t):t instanceof I?t:new X(e,t)}}T.extend({_source:z.string().optional()});function ut(e,t){let r={},o=[...e];if(!t?.registries)return pt({}),o;for(let i=0;i<o.length;i++){let s=xe(o[i],t);s&&(o[i]=s.url,Object.keys(s.headers).length>0&&(r[s.url]=s.headers));}return pt(r),o}async function He(e,t){return await Promise.all(e.map(async o=>{if(te(o))return dr(o);if(q(o)){let[n]=await re([o]);try{return T.parse(n)}catch(m){throw new I(o,m)}}if(o.startsWith("@")&&t?.registries){let n=ut([o],t),[m]=await re(n);try{return T.parse(m)}catch(p){throw new I(o,p)}}let i=`${ve}/${o}.json`,[s]=await re([i]);try{return T.parse(s)}catch(n){throw new I(o,n)}}))}async function lt(e,t){let r=[],o=[],i=Array.from(new Set(e)),s=await He(i,t),n=new Map;for(let d=0;d<s.length;d++)s[d]&&n.set(i[d],s[d]);for(let[d,u]of Array.from(n.entries())){let c={...u,_source:d};if(r.push(c),u.registryDependencies){let f=u.registryDependencies;if(t?.registries)f=ut(u.registryDependencies,t);else {let h=u.registryDependencies.filter(j=>j.startsWith("@"));if(h.length>0){let{registry:j}=ce(h[0]);throw new Q(j)}}let{blocks:y}=await cr(f,t,new Set(i));o.push(...y);}}r.push(...o);let m=new Map;for(let d of r){let u=d._source||d.name;m.set(d,u);}return r=ci(r,m),Gt.parse({dependencies:mr.all(r.map(d=>d.dependencies??[])),devDependencies:mr.all(r.map(d=>d.devDependencies??[])),files:ui(r.map(d=>d.files??[])),docs:r.map(d=>d.docs).filter(Boolean).join(`
15
- `)})}async function cr(e,t,r=new Set){let o=[];for(let i of e){if(r.has(i))continue;if(r.add(i),i.startsWith("@")&&t?.registries){let{registry:n}=ce(i);if(n&&!(n in t.registries))throw new Q(n)}let[s]=await He([i],t);if(s&&(o.push({...s,_source:i}),s.registryDependencies)){let n=t?.registries?ut(s.registryDependencies,t):s.registryDependencies,m=await cr(n,t,r);o.push(...m.blocks);}}return {blocks:o}}function J(e,t){let r=t||e.name,o=createHash("sha256").update(r).digest("hex").substring(0,8);return `${e.name}::${o}`}function pi(e){if(q(e)){let o=new URL(e).pathname,i=o.match(/\/([^/]+)\.json$/),s=i?i[1]:R__default.basename(o,".json");return {name:s,hash:J({name:s},e)}}if(te(e)){let r=e.match(/\/([^/]+)\.json$/),o=r?r[1]:R__default.basename(e,".json");return {name:o,hash:J({name:o},e)}}let{item:t}=ce(e);return {name:t,hash:J({name:t},e)}}function ci(e,t){let r=new Map,o=new Map,i=new Map,s=new Map;for(let d of e){let u=t.get(d)||d.name,c=J(d,u);r.set(c,d),o.set(c,d),i.set(c,0),s.set(c,[]);}let n=new Map;for(let d of e){let u=t.get(d)||d.name,c=J(d,u);n.has(d.name)||n.set(d.name,[]),n.get(d.name).push(c),u!==d.name&&(n.has(u)||n.set(u,[]),n.get(u).push(c));}for(let d of e){let u=t.get(d)||d.name,c=J(d,u);if(d.registryDependencies)for(let f of d.registryDependencies){let y,h=n.get(f)||[];if(h.length===1)y=h[0];else if(h.length>1)y=h[0];else {let{name:j}=pi(f),E=n.get(j)||[];E.length>0&&(y=E[0]);}y&&r.has(y)&&(s.get(y).push(c),i.set(c,i.get(c)+1));}}let m=[],p=[];for(let[d,u]of i)u===0&&m.push(d);for(;m.length>0;){let d=m.shift(),u=r.get(d);p.push(u);for(let c of s.get(d)){let f=i.get(c)-1;i.set(c,f),f===0&&m.push(c);}}if(p.length!==e.length){let d=Array.from(r.keys()).filter(u=>!p.some(c=>J(c,t.get(c))===u));console.warn(`Warning: Circular dependencies detected. Some items may not be sorted correctly: ${d.join(", ")}`);for(let[u,c]of r.entries())p.some(f=>J(f,t.get(f))===u)||p.push(c);}return p}function ui(e){let t=new Map,r=[];for(let o of e)if(o)for(let i of o){let s=i.target||i.path;t.has(s)||(t.set(s,i),r.push(i));}return r}var l={error:e=>O.red(e),warn:e=>O.yellow(e),info:e=>O.blue(e),success:e=>O.green(e),dim:e=>O.cyan(e)};var a={error(...e){console.log(l.error(e.join(" ")));},warn(...e){console.log(l.warn(e.join(" ")));},info(...e){console.log(l.info(e.join(" ")));},success(...e){console.log(l.success(e.join(" ")));},log(...e){console.log(e.join(" "));},break(){console.log("");}};function w(e){if(a.break(),a.error("Something went wrong. Please check the error below for more details."),a.error("If the problem persists, please open an issue on GitHub."),a.error(""),typeof e=="string"&&(a.error(e),a.break(),process.exit(1)),e instanceof _&&(e.message&&(a.error(e.cause?"Error:":"Message:"),a.error(e.message)),e.cause&&(a.error(`
14
+ `)}`);super(i,{code:$.INVALID_CONFIG,cause:o,context:{cwd:r},suggestion:"Check your blocks.json file for syntax errors or invalid configuration. Run '@mercurjs/cli init' to regenerate a valid configuration."});this.cwd=r;this.name="ConfigParseError";}};var W=z.object({$schema:z.string().optional(),aliases:z.object({api:z.string(),vendor:z.string(),admin:z.string()}),registries:Vt.optional()}).strict(),Jt=W.extend({resolvedPaths:z.object({cwd:z.string(),api:z.string(),vendor:z.string(),admin:z.string()})});async function de(e,t){return createMatchPath(t.absoluteBaseUrl,t.paths)(e,void 0,()=>true,[".ts",".tsx"])}var Eo="packages/api/src",Io="apps/vendor/src",Co="apps/admin/src",Po=cosmiconfig("blocks",{searchPlaces:["blocks.json"]});async function b(e){let t=await To(e);return t?await at(e,t):null}async function at(e,t){t.registries={...t.registries||{},...I};let r=await loadConfig(e);if(r.resultType==="failed")throw new Error(`Failed to load tsconfig.json. ${r.message??""}`.trim());return Jt.parse({...t,resolvedPaths:{cwd:e,api:await de(t.aliases.api,r),vendor:await de(t.aliases.vendor,r),admin:await de(t.aliases.admin,r)}})}async function To(e){try{let t=await Po.search(e);if(!t)return null;let r=W.parse(t.config);if(r.registries){for(let o of Object.keys(r.registries))if(o in I)throw new Error(`"${o}" is a built-in registry and cannot be overridden.`)}return r}catch(t){throw t instanceof Error&&t.message.includes("reserved registry")?t:new Ve(e,t)}}function G(e){let t={resolvedPaths:{cwd:process.cwd(),api:"",vendor:"",admin:""},aliases:{api:Eo,vendor:Io,admin:Co},registries:{...I}};return e?{...t,...e,resolvedPaths:{...t.resolvedPaths,...e.resolvedPaths||{}},aliases:{...t.aliases,...e.aliases||{}},registries:{...t.registries,...e.registries||{}}}:t}var mt=["**/node_modules/**","public","dist"];async function _(e){let[t,r,o,i,s,n]=await Promise.all([A.pathExists(R__default.resolve(e,"src")),Do(e),je(e),Fo(e),No(e),Oo(e)]);return {isSrcDir:t,aliasPrefix:r,packageJson:o,medusaConfigFile:i?.file??null,medusaVersion:s,mercurVersion:n}}async function Do(e){let t=loadConfig(e);if(t.resultType==="failed")return null;let r=t.paths||{},o=Object.keys(r);if(o.length===0)return null;let i=o[0];return i?.includes("*")?i.replace("/*",""):i?.replace("/","")??null}function je(e="",t=true){let r=R__default.join(e,"package.json");return A.readJSONSync(r,{throws:t})}async function Fo(e){let t=await dt.glob("medusa-config.*",{cwd:e,deep:3,ignore:mt});if(!t.length)return null;let r=t[0];return {file:r,dir:R__default.resolve(e,R__default.dirname(r))}}async function No(e){let r=je(e,false)?.dependencies?.["@medusajs/framework"];if(r)return r;let o=await dt.glob("**/package.json",{cwd:e,deep:3,ignore:mt});for(let i of o){let n=je(R__default.join(e,R__default.dirname(i)),false)?.dependencies?.["@medusajs/framework"];if(n)return n}return null}async function Oo(e){let r=je(e,false)?.dependencies?.["@mercurjs/cli"];if(r)return r;let o=await dt.glob("**/package.json",{cwd:e,deep:3,ignore:mt});for(let i of o){let n=je(R__default.join(e,R__default.dirname(i)),false)?.dependencies?.["@mercurjs/cli"];if(n)return n}return null}z.object({cwd:z.string(),blocks:z.array(z.string()).optional(),yes:z.boolean(),overwrite:z.boolean(),silent:z.boolean()});async function Kt(e){let t={},r=R__default.resolve(e.cwd);if(!existsSync(r))return t[zt]=true,{errors:t,config:null};let o=await b(r);if(!o)return t[E]=true,{errors:t,config:null};let i=await _(r);return {errors:t,config:o,projectInfo:i}}var Ye={headers:{}};function pt(e){Ye.headers={...Ye.headers,...e};}function Zt(e){return Ye.headers[e]||{}}function x(){Ye.headers={};}function me(e){let t={aliases:{api:"packages/api/src",vendor:"apps/vendor/src",admin:"apps/admin/src"},registries:I};return {...t,...e||{},aliases:{...t.aliases,...e?.aliases||{}},registries:{...e?.registries||{},...I}}}function be(e){return e.replace(/\${(\w+)}/g,(t,r)=>process.env[r]||"")}function Re(e){let t=[],r=/\${(\w+)}/g,o=r.exec(e);for(;o!==null;){let i=o[1];i&&t.push(i),o=r.exec(e);}return t}var Lo=/^(@[a-zA-Z0-9](?:[a-zA-Z0-9-_]*[a-zA-Z0-9])?)\/(.+)$/;function pe(e){if(!e.startsWith("@"))return {registry:null,item:e};let t=e.match(Lo);return t?{registry:t[1],item:t[2]}:{registry:null,item:e}}var Qt=[".tsx",".ts"],Xt=["lib/utils.ts"],Go=[/^(react|react-dom)(\/.*)?$/,/^(node|jsr|npm):.*$/],Vo=new Project({compilerOptions:{}});function Yo(e){if(Go.some(t=>t.test(e)))return null;if(!e.startsWith("@")&&e.includes("/")&&(e=e.split("/")[0]),e.startsWith("@")){let t=e.split("/");t.length>2&&(e=t.slice(0,2).join("/"));}return e}async function ct(e,t,r,o=new Set){let i=R.resolve(t.resolvedPaths.cwd,e),s=R.relative(t.resolvedPaths.cwd,i);if(Xt.includes(s))return {dependencies:[],files:[]};let n=R.extname(e);if(!Qt.includes(n))return {dependencies:[],files:[]};if(o.has(s))return {dependencies:[],files:[]};o.add(s);try{if(!(await U.stat(i)).isFile())return {dependencies:[],files:[]}}catch{return {dependencies:[],files:[]}}let m=await U.readFile(i,"utf-8"),p=await qo(R.basename(i)),d=Vo.createSourceFile(p,m,{scriptKind:ScriptKind.TSX}),u=await loadConfig(t.resolvedPaths.cwd);if(u.resultType==="failed")return {dependencies:[],files:[]};let c=[],f=new Set,y=er(e),h={path:s,type:y,target:"",content:""};c.push(h);let j=d.getImportDeclarations();for(let N of j){let z=N.getModuleSpecifierValue(),Ne=z.startsWith(".");if(!(r.aliasPrefix&&z.startsWith(`${r.aliasPrefix}/`))&&!Ne){let O=Yo(z);O&&f.add(O);continue}let se=await de(z,u);if(Ne&&(se=R.resolve(R.dirname(i),z)),!se)continue;if(!R.extname(se))for(let O of Qt){let Ut=`${se}${O}`;try{await U.access(Ut),se=Ut;break}catch{continue}}let Oe=R.relative(t.resolvedPaths.cwd,se);if(o.has(Oe)||Xt.includes(Oe))continue;let wo=er(z),jo={path:Oe,type:wo,target:"",content:""};c.push(jo);let Me=await ct(Oe,t,r,o);if(Me.files)for(let O of Me.files)o.has(O.path)||(o.add(O.path),c.push(O));Me.dependencies&&Me.dependencies.forEach(O=>f.add(O));}let k=Array.from(new Map(c.map(N=>[N.path,N])).values());return {dependencies:Array.from(f),files:k}}async function qo(e){let t=await U.mkdtemp(R.join(tmpdir(),"mercur-"));return R.join(t,e)}function er(e){return e.includes("/vendor")?"registry:vendor":e.includes("/admin")?"registry:admin":"registry:api"}function q(e){try{return new URL(e),!0}catch{return false}}function ee(e){return e.endsWith(".json")&&!q(e)}function Jo(e){let t=new Set;if(typeof e=="string")for(let r of Re(e))t.add(r);else {for(let r of Re(e.url))t.add(r);if(e.params)for(let r of Object.values(e.params))for(let o of Re(r))t.add(o);if(e.headers)for(let r of Object.values(e.headers))for(let o of Re(r))t.add(o);}return Array.from(t)}function tr(e,t){let o=Jo(t).filter(i=>!process.env[i]);if(o.length>0)throw new We(e,o)}var qe="{name}",Ho=`${qe}.json`,rr=/\${(\w+)}/g,or="?",Ko="&";function Zo(e){return e.includes(qe)}function ir(e){return Zo(e)?e:`${e.endsWith("/")?e:`${e}/`}${Ho}`}function xe(e,t){let{registry:r,item:o}=pe(e);if(!r)return null;let s=(t?.registries||{})[r];if(!s)throw new Z(r);return tr(r,s),{url:Qo(o,s),headers:Xo(s)}}function Qo(e,t,r){if(typeof t=="string"){let n=ir(t).replace(qe,e);return be(n)}let i=ir(t.url).replace(qe,e);return i=be(i),t.params?ei(i,t.params):i}function Xo(e){if(typeof e=="string"||!e.headers)return {};let t={};for(let[r,o]of Object.entries(e.headers)){let i=be(o);ti(o,i)&&(t[r]=i);}return t}function ei(e,t){let r=new URLSearchParams;for(let[s,n]of Object.entries(t)){let m=be(n);m&&r.append(s,m);}let o=r.toString();if(!o)return e;let i=e.includes(or)?Ko:or;return `${e}${i}${o}`}function ti(e,t){let r=t.trim();if(!r)return false;if(e.includes("${")&&e.match(rr)){let i=e.replace(rr,"").trim();return r!==i}return true}function sr(e){return q(e)||ee(e)?e:`${we}/${e}`}var Je=new Map;async function ri(e){let t=e;t.startsWith("file://")&&(t=t.slice(7)),t.startsWith("~/")&&(t=R__default.join(homedir(),t.slice(2)));let r=R__default.resolve(t);try{let o=await promises.readFile(r,"utf8");return JSON.parse(o)}catch(o){throw o instanceof Error&&(o.message.includes("ENOENT")||o.message.includes("no such file"))?new Q(e,o):new Q(e,o)}}async function te(e){return await Promise.all(e.map(async r=>{let o=sr(r);if(Je.has(o))return Je.get(o);if(ee(o)){let s=ri(o);return Je.set(o,s),s}let i=(async()=>{let s=Zt(o),n=await fetch(o,{headers:{...s}});if(!n.ok){let m;if(n.headers.get("content-type")?.includes("application/json")){let p=await n.json(),d=z.object({detail:z.string().optional(),title:z.string().optional(),message:z.string().optional(),error:z.string().optional()}).safeParse(p);d.success&&(m=d.data.detail||d.data.message,d.data.error&&(m=`[${d.data.error}] ${m}`));}throw n.status===401?new Ue(o,m):n.status===404?new ae(o,m):n.status===403?new ze(o,m):new Be(o,n.status,m)}return n.json()})();return Je.set(o,i),i}))}async function dr(e){try{let t=e;e.startsWith("~/")&&(t=R__default.join(homedir(),e.slice(2)));let r=R__default.resolve(t),o=await promises.readFile(r,"utf8"),i=JSON.parse(o);try{return T.parse(i)}catch(s){throw new C(e,s)}}catch(t){throw t instanceof Error&&(t.message.includes("ENOENT")||t.message.includes("no such file"))?new Q(e,t):t instanceof C?t:new Q(e,t)}}T.extend({_source:z.string().optional()});function ut(e,t){let r={},o=[...e];if(!t?.registries)return pt({}),o;for(let i=0;i<o.length;i++){let s=xe(o[i],t);s&&(o[i]=s.url,Object.keys(s.headers).length>0&&(r[s.url]=s.headers));}return pt(r),o}async function Ke(e,t){return await Promise.all(e.map(async o=>{if(ee(o))return dr(o);if(q(o)){let[n]=await te([o]);try{return T.parse(n)}catch(m){throw new C(o,m)}}if(o.startsWith("@")&&t?.registries){let n=ut([o],t),[m]=await te(n);try{return T.parse(m)}catch(p){throw new C(o,p)}}let i=`${we}/${o}.json`,[s]=await te([i]);try{return T.parse(s)}catch(n){throw new C(o,n)}}))}async function lt(e,t){let r=[],o=[],i=Array.from(new Set(e)),s=await Ke(i,t),n=new Map;for(let d=0;d<s.length;d++)s[d]&&n.set(i[d],s[d]);for(let[d,u]of Array.from(n.entries())){let c={...u,_source:d};if(r.push(c),u.registryDependencies){let f=u.registryDependencies;if(t?.registries)f=ut(u.registryDependencies,t);else {let h=u.registryDependencies.filter(j=>j.startsWith("@"));if(h.length>0){let{registry:j}=pe(h[0]);throw new Z(j)}}let{blocks:y}=await cr(f,t,new Set(i));o.push(...y);}}r.push(...o);let m=new Map;for(let d of r){let u=d._source||d.name;m.set(d,u);}return r=ni(r,m),Gt.parse({dependencies:mr.all(r.map(d=>d.dependencies??[])),devDependencies:mr.all(r.map(d=>d.devDependencies??[])),files:ai(r.map(d=>d.files??[])),docs:r.map(d=>d.docs).filter(Boolean).join(`
15
+ `)})}async function cr(e,t,r=new Set){let o=[];for(let i of e){if(r.has(i))continue;if(r.add(i),i.startsWith("@")&&t?.registries){let{registry:n}=pe(i);if(n&&!(n in t.registries))throw new Z(n)}let[s]=await Ke([i],t);if(s&&(o.push({...s,_source:i}),s.registryDependencies)){let n=t?.registries?ut(s.registryDependencies,t):s.registryDependencies,m=await cr(n,t,r);o.push(...m.blocks);}}return {blocks:o}}function J(e,t){let r=t||e.name,o=createHash("sha256").update(r).digest("hex").substring(0,8);return `${e.name}::${o}`}function si(e){if(q(e)){let o=new URL(e).pathname,i=o.match(/\/([^/]+)\.json$/),s=i?i[1]:R__default.basename(o,".json");return {name:s,hash:J({name:s},e)}}if(ee(e)){let r=e.match(/\/([^/]+)\.json$/),o=r?r[1]:R__default.basename(e,".json");return {name:o,hash:J({name:o},e)}}let{item:t}=pe(e);return {name:t,hash:J({name:t},e)}}function ni(e,t){let r=new Map,o=new Map,i=new Map,s=new Map;for(let d of e){let u=t.get(d)||d.name,c=J(d,u);r.set(c,d),o.set(c,d),i.set(c,0),s.set(c,[]);}let n=new Map;for(let d of e){let u=t.get(d)||d.name,c=J(d,u);n.has(d.name)||n.set(d.name,[]),n.get(d.name).push(c),u!==d.name&&(n.has(u)||n.set(u,[]),n.get(u).push(c));}for(let d of e){let u=t.get(d)||d.name,c=J(d,u);if(d.registryDependencies)for(let f of d.registryDependencies){let y,h=n.get(f)||[];if(h.length===1)y=h[0];else if(h.length>1)y=h[0];else {let{name:j}=si(f),k=n.get(j)||[];k.length>0&&(y=k[0]);}y&&r.has(y)&&(s.get(y).push(c),i.set(c,i.get(c)+1));}}let m=[],p=[];for(let[d,u]of i)u===0&&m.push(d);for(;m.length>0;){let d=m.shift(),u=r.get(d);p.push(u);for(let c of s.get(d)){let f=i.get(c)-1;i.set(c,f),f===0&&m.push(c);}}if(p.length!==e.length){let d=Array.from(r.keys()).filter(u=>!p.some(c=>J(c,t.get(c))===u));console.warn(`Warning: Circular dependencies detected. Some items may not be sorted correctly: ${d.join(", ")}`);for(let[u,c]of r.entries())p.some(f=>J(f,t.get(f))===u)||p.push(c);}return p}function ai(e){let t=new Map,r=[];for(let o of e)if(o)for(let i of o){let s=i.target||i.path;t.has(s)||(t.set(s,i),r.push(i));}return r}var l={error:e=>F.red(e),warn:e=>F.yellow(e),info:e=>F.blue(e),success:e=>F.green(e),dim:e=>F.cyan(e)};var a={error(...e){console.log(l.error(e.join(" ")));},warn(...e){console.log(l.warn(e.join(" ")));},info(...e){console.log(l.info(e.join(" ")));},success(...e){console.log(l.success(e.join(" ")));},log(...e){console.log(e.join(" "));},break(){console.log("");}};function w(e){if(a.break(),a.error("Something went wrong. Please check the error below for more details."),a.error("If the problem persists, please open an issue on GitHub."),a.error(""),typeof e=="string"&&(a.error(e),a.break(),process.exit(1)),e instanceof S&&(e.message&&(a.error(e.cause?"Error:":"Message:"),a.error(e.message)),e.cause&&(a.error(`
16
16
  Message:`),a.error(e.cause)),e.suggestion&&(a.error(`
17
- Suggestion:`),a.error(e.suggestion)),a.break(),process.exit(1)),e instanceof z.ZodError){a.error("Validation failed:");for(let t of e.issues){let r=t.path.join(".")||"root";a.error(`- ${l.info(r)}: ${t.message}`);}a.break(),process.exit(1);}e instanceof Error&&(a.error(e.message),a.break(),process.exit(1)),a.break(),process.exit(1);}function v(e,t){return fi({text:e,isSilent:t?.silent??false})}async function A(e){let t=await detect({programmatic:true,cwd:e});if(t?.startsWith("bun"))return "bun";if(t?.startsWith("yarn"))return "yarn";if(t?.startsWith("pnpm"))return "pnpm";if(t?.startsWith("deno"))return "deno";if(t?.startsWith("npm"))return "npm";let r=process.env.npm_config_user_agent||"";return r.startsWith("bun")?"bun":r.startsWith("yarn")?"yarn":r.startsWith("pnpm")?"pnpm":r.startsWith("deno")?"deno":"npm"}async function ur(e,t,r,o={}){if(e=Array.from(new Set(e||[])),t=Array.from(new Set(t||[])),!e?.length&&!t?.length)return;o={silent:false,...o};let i=v("Installing dependencies.",{silent:o.silent})?.start(),s=await A(r.resolvedPaths.cwd);i?.start(),await yi(s,e,t,r.resolvedPaths.cwd),i?.succeed();}async function yi(e,t,r,o){if(e==="npm")return hi(t,r,o);if(e==="deno")return wi(t,r,o);t?.length&&await execa(e,["add",...t],{cwd:o}),r?.length&&await execa(e,["add","-D",...r],{cwd:o});}async function hi(e,t,r){e.length&&await execa("npm",["install",...e],{cwd:r}),t.length&&await execa("npm",["install","-D",...t],{cwd:r});}async function wi(e,t,r){e?.length&&await execa("deno",["add",...e.map(o=>`npm:${o}`)],{cwd:r}),t?.length&&await execa("deno",["add","-D",...t.map(o=>`npm:${o}`)],{cwd:r});}function lr(e,t,r={}){let{ignoreImports:o=false}=r,i=e.replace(/\r\n/g,`
17
+ Suggestion:`),a.error(e.suggestion)),a.break(),process.exit(1)),e instanceof z.ZodError){a.error("Validation failed:");for(let t of e.issues){let r=t.path.join(".")||"root";a.error(`- ${l.info(r)}: ${t.message}`);}a.break(),process.exit(1);}e instanceof Error&&(a.error(e.message),a.break(),process.exit(1)),a.break(),process.exit(1);}function v(e,t){return mi({text:e,isSilent:t?.silent??false})}async function M(e){let t=await detect({programmatic:true,cwd:e});if(t?.startsWith("bun"))return "bun";if(t?.startsWith("yarn"))return "yarn";if(t?.startsWith("pnpm"))return "pnpm";if(t?.startsWith("deno"))return "deno";if(t?.startsWith("npm"))return "npm";let r=process.env.npm_config_user_agent||"";return r.startsWith("bun")?"bun":r.startsWith("yarn")?"yarn":r.startsWith("pnpm")?"pnpm":r.startsWith("deno")?"deno":"npm"}async function ur(e,t,r,o={}){if(e=Array.from(new Set(e||[])),t=Array.from(new Set(t||[])),!e?.length&&!t?.length)return;o={silent:false,...o};let i=v("Installing dependencies.",{silent:o.silent})?.start(),s=await M(r.resolvedPaths.cwd);i?.start(),await ci(s,e,t,r.resolvedPaths.cwd),i?.succeed();}async function ci(e,t,r,o){if(e==="npm")return ui(t,r,o);if(e==="deno")return li(t,r,o);t?.length&&await execa(e,["add",...t],{cwd:o}),r?.length&&await execa(e,["add","-D",...r],{cwd:o});}async function ui(e,t,r){e.length&&await execa("npm",["install",...e],{cwd:r}),t.length&&await execa("npm",["install","-D",...t],{cwd:r});}async function li(e,t,r){e?.length&&await execa("deno",["add",...e.map(o=>`npm:${o}`)],{cwd:r}),t?.length&&await execa("deno",["add","-D",...t.map(o=>`npm:${o}`)],{cwd:r});}function lr(e,t,r={}){let{ignoreImports:o=false}=r,i=e.replace(/\r\n/g,`
18
18
  `).trim(),s=t.replace(/\r\n/g,`
19
- `).trim();if(i===s)return true;if(!o)return false;let n=/^(import\s+(?:type\s+)?(?:\*\s+as\s+\w+|\{[^}]*\}|\w+)?(?:\s*,\s*(?:\{[^}]*\}|\w+))?\s+from\s+["'])([^"']+)(["'])/gm,m=u=>u.replace(n,(c,f,y,h)=>{if(y.startsWith("."))return `${f}${y}${h}`;let j=y.split("/"),E=j[j.length-1];return `${f}@normalized/${E}${h}`}),p=m(i),d=m(s);return p===d}function vi(e,t){if(e.type==="registry:api")return t.resolvedPaths.api;if(e.type==="registry:vendor")return t.resolvedPaths.vendor;if(e.type==="registry:admin")return t.resolvedPaths.admin;throw new Error(`Unknown file type: ${e.type}`)}function Ke(e,t,r){let o=vi(e,t);if(e.type==="registry:api"){let n=e.path.replace(/^\/|\/$/g,"").split("/").slice(1).join("/");return R__default.join(o,n)}let i=ji(e.path,o);return R__default.join(o,i)}function ji(e,t){let r=e.replace(/^\/|\/$/g,""),o=t.replace(/^\/|\/$/g,""),i=r.split("/"),s=o.split("/");for(let n=s.length-1;n>=0;n--){let m=i.findIndex(p=>p===s[n]);if(m!==-1)return i.slice(m+1).join("/")}return i[i.length-1]}var _i=new Project({compilerOptions:{}});async function ki(e){let t=await promises.mkdtemp(R__default.join(tmpdir(),"mercurjs-")),r=R__default.basename(e,R__default.extname(e));return R__default.join(t,`${r}.ts`)}function Ei(e){switch(R__default.extname(e).toLowerCase()){case ".tsx":case ".ts":return ScriptKind.TS;default:return ScriptKind.Unknown}}async function Ze(e){let t=R__default.extname(e.filename).toLowerCase();if(![".tsx",".ts"].includes(t))return e.raw;let r=Ei(e.filename),o=await ki(e.filename),i=_i.createSourceFile(o,e.raw,{scriptKind:r});for(let s of i.getImportStringLiterals()){let n=Si(s.getLiteralValue(),e.config);s.setLiteralValue(n);}return i.getText()}function Si(e,t){if(e.startsWith("@/workflows/")){let r=e.replace(/^@\/workflows\//,"");return `${t.aliases.api}/workflows/${r}`}if(e==="@/workflows")return `${t.aliases.api}/workflows`;if(e.startsWith("@/api/")){let r=e.replace(/^@\/api\//,"");return `${t.aliases.api}/api/${r}`}if(e==="@/api")return `${t.aliases.api}/api`;if(e.startsWith("@/links/")){let r=e.replace(/^@\/links\//,"");return `${t.aliases.api}/links/${r}`}if(e==="@/links")return `${t.aliases.api}/links`;if(e.startsWith("@/modules/")){let r=e.replace(/^@\/modules\//,"");return `${t.aliases.api}/modules/${r}`}if(e==="@/modules")return `${t.aliases.api}/modules`;if(e.startsWith("@/lib/")){let r=e.replace(/^@\/lib\//,"");return `${t.aliases.api}/lib/${r}`}if(e==="@/lib")return `${t.aliases.api}/lib`;if(e.startsWith("@/vendor/")){let r=e.replace(/^@\/vendor\//,"");return `${t.aliases.vendor}/${r}`}if(e==="@/vendor")return t.aliases.vendor;if(e.startsWith("@/admin/")){let r=e.replace(/^@\/admin\//,"");return `${t.aliases.admin}/${r}`}return e==="@/admin"?t.aliases.admin:e}async function hr(e,t,r){if(!e?.length)return {filesCreated:[],filesUpdated:[],filesSkipped:[],filesDeclined:[]};r={overwrite:false,silent:false,yes:false,...r};let o=v("Updating files.",{silent:r.silent})?.start(),i=await k(t.resolvedPaths.cwd),s=[],n=[],m=[],p=[];for(let c of e){let f=Ke(c,t,{isSrcDir:i?.isSrcDir??false,path:r.path??""}),y=basename(c.path),h=R__default.dirname(f),j=existsSync(f);if(j&&statSync(f).isDirectory())throw new Error(`Cannot write to ${f}: path exists and is a directory. Please provide a file path instead.`);let E=await Ze({filename:c.path,raw:c.content,config:t});if(j&&!r.overwrite){let F=await promises.readFile(f,"utf-8");if(lr(F,E)){m.push(R__default.relative(t.resolvedPaths.cwd,f));continue}if(!r.yes){o.stop();let z=diffLines(F,E);a.info(`
20
- File: ${l.info(y)}`),Oi(z);let{overwrite:Fe}=await $e({type:"confirm",name:"overwrite",message:`The file ${l.info(y)} already exists. Would you like to overwrite?`,initial:false});if(!Fe){p.push(R__default.relative(t.resolvedPaths.cwd,f));continue}}}existsSync(h)||await promises.mkdir(h,{recursive:true}),await promises.writeFile(f,E,"utf-8"),j?n.push(R__default.relative(t.resolvedPaths.cwd,f)):s.push(R__default.relative(t.resolvedPaths.cwd,f));}let d=s.length+n.length,u=m.length+p.length;if(d>0){if(o?.succeed(),u>0&&!r.silent){let c=[];d===1?c.push("1 file updated"):c.push(`${d} files updated`),u===1?c.push("1 file skipped"):c.push(`${u} files skipped`),a.info(`${c.join(", ")}.`);}}else p.length?o?.info("No files were updated."):m.length?o?.info("Already up to date."):o?.info("No files to update.");return {filesCreated:s,filesUpdated:n,filesSkipped:m,filesDeclined:p}}var $i=3;function Di(e,t=$i){let r=[],o=new Set;for(let s=0;s<e.length;s++)(e[s]?.added||e[s]?.removed)&&o.add(s);if(o.size===0)return r;let i=new Map;for(let s=0;s<e.length;s++){let n=e[s];if(n)if(n.added||n.removed)i.set(s,"full");else {let m=o.has(s-1),p=o.has(s+1);m&&p?i.set(s,"both"):m?i.set(s,"start"):p&&i.set(s,"end");}}for(let s=0;s<e.length;s++){let n=e[s],m=i.get(s);if(!(!n||!m))if(n.added){let p=n.value.split(`
19
+ `).trim();if(i===s)return true;if(!o)return false;let n=/^(import\s+(?:type\s+)?(?:\*\s+as\s+\w+|\{[^}]*\}|\w+)?(?:\s*,\s*(?:\{[^}]*\}|\w+))?\s+from\s+["'])([^"']+)(["'])/gm,m=u=>u.replace(n,(c,f,y,h)=>{if(y.startsWith("."))return `${f}${y}${h}`;let j=y.split("/"),k=j[j.length-1];return `${f}@normalized/${k}${h}`}),p=m(i),d=m(s);return p===d}function fi(e,t){if(e.type==="registry:api")return t.resolvedPaths.api;if(e.type==="registry:vendor")return t.resolvedPaths.vendor;if(e.type==="registry:admin")return t.resolvedPaths.admin;throw new Error(`Unknown file type: ${e.type}`)}function Ze(e,t,r){let o=fi(e,t);if(e.type==="registry:api"){let n=e.path.replace(/^\/|\/$/g,"").split("/").slice(1).join("/");return R__default.join(o,n)}let i=gi(e.path,o);return R__default.join(o,i)}function gi(e,t){let r=e.replace(/^\/|\/$/g,""),o=t.replace(/^\/|\/$/g,""),i=r.split("/"),s=o.split("/");for(let n=s.length-1;n>=0;n--){let m=i.findIndex(p=>p===s[n]);if(m!==-1)return i.slice(m+1).join("/")}return i[i.length-1]}var wi=new Project({compilerOptions:{}});async function ji(e){let t=await promises.mkdtemp(R__default.join(tmpdir(),"mercurjs-")),r=R__default.basename(e,R__default.extname(e));return R__default.join(t,`${r}.ts`)}function bi(e){switch(R__default.extname(e).toLowerCase()){case ".tsx":case ".ts":return ScriptKind.TS;default:return ScriptKind.Unknown}}async function Qe(e){let t=R__default.extname(e.filename).toLowerCase();if(![".tsx",".ts"].includes(t))return e.raw;let r=bi(e.filename),o=await ji(e.filename),i=wi.createSourceFile(o,e.raw,{scriptKind:r});for(let s of i.getImportStringLiterals()){let n=Ri(s.getLiteralValue(),e.config);s.setLiteralValue(n);}return i.getText()}function Ri(e,t){if(e.startsWith("@/workflows/")){let r=e.replace(/^@\/workflows\//,"");return `${t.aliases.api}/workflows/${r}`}if(e==="@/workflows")return `${t.aliases.api}/workflows`;if(e.startsWith("@/api/")){let r=e.replace(/^@\/api\//,"");return `${t.aliases.api}/api/${r}`}if(e==="@/api")return `${t.aliases.api}/api`;if(e.startsWith("@/links/")){let r=e.replace(/^@\/links\//,"");return `${t.aliases.api}/links/${r}`}if(e==="@/links")return `${t.aliases.api}/links`;if(e.startsWith("@/modules/")){let r=e.replace(/^@\/modules\//,"");return `${t.aliases.api}/modules/${r}`}if(e==="@/modules")return `${t.aliases.api}/modules`;if(e.startsWith("@/lib/")){let r=e.replace(/^@\/lib\//,"");return `${t.aliases.api}/lib/${r}`}if(e==="@/lib")return `${t.aliases.api}/lib`;if(e.startsWith("@/vendor/")){let r=e.replace(/^@\/vendor\//,"");return `${t.aliases.vendor}/${r}`}if(e==="@/vendor")return t.aliases.vendor;if(e.startsWith("@/admin/")){let r=e.replace(/^@\/admin\//,"");return `${t.aliases.admin}/${r}`}return e==="@/admin"?t.aliases.admin:e}async function hr(e,t,r){if(!e?.length)return {filesCreated:[],filesUpdated:[],filesSkipped:[],filesDeclined:[]};r={overwrite:false,silent:false,yes:false,...r};let o=v("Updating files.",{silent:r.silent})?.start(),i=await _(t.resolvedPaths.cwd),s=[],n=[],m=[],p=[];for(let c of e){let f=Ze(c,t,{isSrcDir:i?.isSrcDir??false,path:r.path??""}),y=basename(c.path),h=R__default.dirname(f),j=existsSync(f);if(j&&statSync(f).isDirectory())throw new Error(`Cannot write to ${f}: path exists and is a directory. Please provide a file path instead.`);let k=await Qe({filename:c.path,raw:c.content,config:t});if(j&&!r.overwrite){let N=await promises.readFile(f,"utf-8");if(lr(N,k)){m.push(R__default.relative(t.resolvedPaths.cwd,f));continue}if(!r.yes){o.stop();let z=diffLines(N,k);a.info(`
20
+ File: ${l.info(y)}`),Ci(z);let{overwrite:Ne}=await De({type:"confirm",name:"overwrite",message:`The file ${l.info(y)} already exists. Would you like to overwrite?`,initial:false});if(!Ne){p.push(R__default.relative(t.resolvedPaths.cwd,f));continue}}}existsSync(h)||await promises.mkdir(h,{recursive:true}),await promises.writeFile(f,k,"utf-8"),j?n.push(R__default.relative(t.resolvedPaths.cwd,f)):s.push(R__default.relative(t.resolvedPaths.cwd,f));}let d=s.length+n.length,u=m.length+p.length;if(d>0){if(o?.succeed(),u>0&&!r.silent){let c=[];d===1?c.push("1 file updated"):c.push(`${d} files updated`),u===1?c.push("1 file skipped"):c.push(`${u} files skipped`),a.info(`${c.join(", ")}.`);}}else p.length?o?.info("No files were updated."):m.length?o?.info("Already up to date."):o?.info("No files to update.");return {filesCreated:s,filesUpdated:n,filesSkipped:m,filesDeclined:p}}var Ei=3;function Ii(e,t=Ei){let r=[],o=new Set;for(let s=0;s<e.length;s++)(e[s]?.added||e[s]?.removed)&&o.add(s);if(o.size===0)return r;let i=new Map;for(let s=0;s<e.length;s++){let n=e[s];if(n)if(n.added||n.removed)i.set(s,"full");else {let m=o.has(s-1),p=o.has(s+1);m&&p?i.set(s,"both"):m?i.set(s,"start"):p&&i.set(s,"end");}}for(let s=0;s<e.length;s++){let n=e[s],m=i.get(s);if(!(!n||!m))if(n.added){let p=n.value.split(`
21
21
  `);p[p.length-1]===""&&p.pop();for(let d of p)r.push(`+ ${d}`);}else if(n.removed){let p=n.value.split(`
22
22
  `);p[p.length-1]===""&&p.pop();for(let d of p)r.push(`- ${d}`);}else {let p=n.value.split(`
23
- `);p[p.length-1]===""&&p.pop();let d=[];m==="full"||p.length<=t*2+1?d=p.map(u=>` ${u}`):m==="start"?(d=p.slice(0,t).map(u=>` ${u}`),p.length>t&&d.push(` ... ${p.length-t} lines hidden ...`)):m==="end"?(p.length>t&&d.push(` ... ${p.length-t} lines hidden ...`),d.push(...p.slice(-t).map(u=>` ${u}`))):m==="both"&&(p.length<=t*2+1?d=p.map(u=>` ${u}`):d=[...p.slice(0,t).map(u=>` ${u}`),` ... ${p.length-t*2} lines hidden ...`,...p.slice(-t).map(u=>` ${u}`)]),r.push(...d);}}return r}function Oi(e){let t=Di(e);if(t.length!==0)for(let r of t)r.startsWith("+ ")?process.stdout.write(`${l.success(r)}
23
+ `);p[p.length-1]===""&&p.pop();let d=[];m==="full"||p.length<=t*2+1?d=p.map(u=>` ${u}`):m==="start"?(d=p.slice(0,t).map(u=>` ${u}`),p.length>t&&d.push(` ... ${p.length-t} lines hidden ...`)):m==="end"?(p.length>t&&d.push(` ... ${p.length-t} lines hidden ...`),d.push(...p.slice(-t).map(u=>` ${u}`))):m==="both"&&(p.length<=t*2+1?d=p.map(u=>` ${u}`):d=[...p.slice(0,t).map(u=>` ${u}`),` ... ${p.length-t*2} lines hidden ...`,...p.slice(-t).map(u=>` ${u}`)]),r.push(...d);}}return r}function Ci(e){let t=Ii(e);if(t.length!==0)for(let r of t)r.startsWith("+ ")?process.stdout.write(`${l.success(r)}
24
24
  `):r.startsWith("- ")?process.stdout.write(`${l.error(r)}
25
25
  `):r.includes("lines hidden")?process.stdout.write(`${l.info(r)}
26
26
  `):process.stdout.write(`${r}
27
- `);}async function wr(e,t,r){if(r={overwrite:false,silent:false,yes:false,...r},!e.length)return;let o=v("Checking registry.",{silent:r.silent})?.start(),i=await lt(e,pe(t));if(!i)return o?.fail(),w(new Error("Failed to fetch items from registry."));o?.succeed();let{filesCreated:s,filesUpdated:n}=await hr(i.files,t,{overwrite:r.overwrite,silent:r.silent,path:r.path,yes:r.yes});(s.length||n.length)&&await ur(i.dependencies,i.devDependencies,t,{silent:r.silent}),i.docs&&a.info(i.docs);}z.object({cwd:z.string(),yes:z.boolean(),defaults:z.boolean(),silent:z.boolean()});async function vr(e){let t={},r=R__default.resolve(e.cwd);existsSync(r)||(t.MISSING_DIR=true);let o=await k(r);return {errors:t,projectInfo:o}}var br=join(homedir(),".mercur"),gt=join(br,"config.json"),yt={telemetry_enabled:true,telemetry_email:null,notice_shown:false},ht=class{get(t){return this.read()[t]}set(t,r){let o=this.read();o[t]=r,this.write(o);}read(){try{if(!existsSync(gt))return {...yt};let t=readFileSync(gt,"utf-8"),r=JSON.parse(t);return {...yt,...r}}catch{return {...yt}}}write(t){try{mkdirSync(br,{recursive:!0}),writeFileSync(gt,JSON.stringify(t,null,2)+`
28
- `,{mode:384});}catch{}}},M=new ht;var fe=e=>Function("mm","return import(mm)")(e);function Bi(){let e=(...t)=>t.some(r=>!!process.env[r]);return e("MEDUSA_CLOUD_ENVIRONMENT_HANDLE","MEDUSA_CLOUD_SANDBOX_HANDLE","MEDUSA_CLOUD_API_KEY")?"medusa-cloud":e("RENDER","RENDER_URL","RENDER_INTERNAL_HOSTNAME","RENDER_SERVICE_ID")?"render":e("FLY_APP_NAME","FLY_REGION","FLY_ALLOC_ID")?"fly-io":e("RAILWAY_STATIC_URL","RAILWAY_ENVIRONMENT_NAME")?"railway":e("DYNO","HEROKU_APP_NAME")?"heroku":e("DO_DEPLOYMENT_ID","DO_APP_NAME","DIGITALOCEAN")?"digitalocean":e("KOYEB","KOYEB_DEPLOYMENT_ID","KOYEB_APP_NAME")?"koyeb":null}async function xr(){try{let e=await fe("os"),t=e.cpus();return {deploymentVendor:Bi(),systemPlatform:e.platform(),systemRelease:e.release(),systemArchitecture:e.arch(),cpuCount:t.length,cpuModel:t.length?t[0].model:null,cpuSpeed:t.length?t[0].speed:null,memory:e.totalmem(),isWSL:await Wi(),isDocker:await _r(),isTTY:typeof process<"u"&&process.stdout?process.stdout.isTTY:null}}catch{return {systemPlatform:null,systemRelease:null,systemArchitecture:null,cpuCount:null,cpuModel:null,cpuSpeed:null,memory:null,isWSL:null,isDocker:null,isTTY:null}}}async function Wi(){try{if(typeof process>"u"||process?.platform!=="linux")return !1;let e=await fe("fs");return (await fe("os")).release().toLowerCase().includes("microsoft")?!await Rr():e.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft")?!await Rr():!1}catch{return false}}var Gi=async()=>{try{return (await fe("fs")).statSync("/run/.containerenv"),!0}catch{return false}};async function _r(){return await Vi()||await Yi()}async function Vi(){try{return (await fe("fs")).statSync("/.dockerenv"),!0}catch{return false}}async function Yi(){try{return (await fe("fs")).readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return false}}async function Rr(){return await Gi()||await _r()}var wt=e=>createHash("sha256").update(e).digest("base64");var Hi=process.env.MERCUR_TELEMETRY_PROXY_URL||"https://telemetry.mercurjs.com/api/v1/events",kr=e=>{M.set("telemetry_email",e);},Er=e=>{M.set("telemetry_enabled",e);},Qe="https://docs.mercurjs.com/telemetry",H=()=>{M.get("notice_shown")||(M.set("notice_shown",true),process.env.MERCUR_DISABLE_TELEMETRY!=="true"&&console.error(["","Mercur collects anonymous usage data to improve the CLI experience.",`You can disable this at any time by running: ${l.info("mercurjs telemetry --disable")}`,`Or by setting ${l.info("MERCUR_DISABLE_TELEMETRY=true")}`,`Learn more: ${l.info(Qe)}`,""].join(`
29
- `)));},Ki=()=>M.get("telemetry_enabled")&&process.env.MERCUR_DISABLE_TELEMETRY!=="true",P=async(e,t)=>{try{if(!Ki())return;let r=await k(t.cwd),{projectId:o}=Xi(r.packageJson),i={nodeEnv:Zi(),nodeVersion:process.version,mercurVersion:r.mercurVersion,medusaVersion:r.medusaVersion,isSrcDir:r.isSrcDir,aliasPrefix:r.aliasPrefix,config:await b(t.cwd),projectId:o,systemInfo:await xr(),packageManager:await A(t.cwd),email:es()};await fetch(Hi,{body:JSON.stringify({...i,...e}),headers:{"Content-Type":"application/json"},method:"post"});}catch{}};function Zi(){return process.env.NODE_ENV||"development"}var Qi=()=>{try{let e=execSync("git config --local --get remote.origin.url",{stdio:"pipe",timeout:1e3});return String(e).trim()}catch{return null}},Xi=e=>{let t=Qi();if(t)return {projectId:wt(t)};let r=process.cwd();return {projectId:wt(r)}},es=()=>M.get("telemetry_email")||void 0;var os=z.object({cwd:z.string(),yes:z.boolean(),defaults:z.boolean(),silent:z.boolean()}),Cr=new Command().name("init").description("initialize your project and install dependencies").option("-y, --yes","skip confirmation prompt.",true).option("-d, --defaults","use default configuration.",false).option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).option("-s, --silent","mute output.",false).action(async e=>{try{H();let t=os.parse({cwd:R__default.resolve(e.cwd),...e});await jt(t),a.log(`${l.success("Success!")} Project initialization completed.
30
- You may now add blocks.`),a.break(),await P({type:"init",payload:{outcome:"success"}},{cwd:t.cwd});}catch(t){a.break(),w(t);}finally{x();}});async function jt(e){await vr(e);let t=await b(e.cwd),r=t?await ss(t,e):await is(e);if(!e.yes){let{proceed:s}=await $e({type:"confirm",name:"proceed",message:`Write configuration to ${l.info("blocks.json")}. Proceed?`,initial:true});s||process.exit(0);}let o=v("Writing blocks.json.").start(),i=R__default.resolve(e.cwd,"blocks.json");return r.registries=Object.fromEntries(Object.entries(r.registries||{}).filter(([s])=>!Object.keys(C).includes(s))),await promises.writeFile(i,`${JSON.stringify(r,null,2)}
31
- `,"utf8"),o.succeed(),await at(e.cwd,r)}async function is(e){if(e.defaults)return W.parse({$schema:Le,aliases:{api:"packages/api/src",vendor:"apps/vendor/src",admin:"apps/admin/src"},registries:C});a.info("");let t=await $e([{type:"text",name:"api",message:`Configure the import alias for ${l.info("api")}:`,initial:"packages/api/src"},{type:"text",name:"vendor",message:`Configure the import alias for ${l.info("vendor")}:`,initial:"apps/vendor/src"},{type:"text",name:"admin",message:`Configure the import alias for ${l.info("admin")}:`,initial:"apps/admin/src"}],{onCancel:()=>{process.exit(0);}});return W.parse({$schema:Le,aliases:{api:t.api??"packages/api/src",vendor:t.vendor??"apps/vendor/src",admin:t.admin??"apps/admin/src"},registries:C})}async function ss(e,t){if(t.defaults)return W.parse({$schema:Le,aliases:{api:"packages/api/src",vendor:"apps/vendor/src",admin:"apps/admin/src"},registries:C});let r=await $e([{type:"text",name:"api",message:`Configure the import alias for ${l.info("api")}:`,initial:e.aliases.api},{type:"text",name:"vendor",message:`Configure the import alias for ${l.info("vendor")}:`,initial:e.aliases.vendor},{type:"text",name:"admin",message:`Configure the import alias for ${l.info("admin")}:`,initial:e.aliases.admin}],{onCancel:()=>{process.exit(0);}});return W.parse({$schema:e.$schema,aliases:{api:r.api??e.aliases.api,vendor:r.vendor??e.aliases.vendor,admin:r.admin??e.aliases.admin}})}var ms=z.object({blocks:z.array(z.string()).optional(),yes:z.boolean(),overwrite:z.boolean(),cwd:z.string(),silent:z.boolean()}),Ir=new Command().name("add").description("add blocks to your project").argument("[blocks...]","names of blocks to add").option("-y, --yes","skip confirmation prompt.",false).option("-o, --overwrite","overwrite existing files.",false).option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).option("-s, --silent","mute output.",false).action(async(e,t)=>{try{H();let r=ms.parse({blocks:e,cwd:R__default.resolve(t.cwd),...t}),o=await b(r.cwd);o||(o=G({resolvedPaths:{cwd:r.cwd}})),r.blocks?.length||(a.error("Please specify at least one item to add."),process.exit(1));let{errors:i}=await Kt(r);if(i[S]){let{proceed:s}=await $e({type:"confirm",name:"proceed",message:`You need to create a ${l.info("blocks.json")} file to add items. Proceed?`,initial:!0});s||(a.break(),process.exit(1)),o=await jt({cwd:r.cwd,yes:!0,defaults:!1,silent:r.silent});}if(!o)throw new Error(`Failed to read config at ${l.info(r.cwd)}.`);await wr(r.blocks,o,{overwrite:r.overwrite,silent:r.silent,yes:r.yes,path:r.cwd}),await P({type:"add",payload:{outcome:"success",blocks:r.blocks}},{cwd:r.cwd});}catch(r){a.break(),w(r);}finally{x();}});async function Pr(e){let t={},r={cwd:e.cwd,registryFile:R__default.resolve(e.cwd,e.registryFile),outputDir:R__default.resolve(e.cwd,e.outputDir)};if(!L.existsSync(r.registryFile))return t[B]=true,{errors:t,resolvePaths:null,config:null};if(!L.existsSync(R__default.resolve(e.cwd,"blocks.json")))return t[S]=true,{errors:t,resolvePaths:null,config:null};await L.mkdir(r.outputDir,{recursive:true});try{let o=await b(e.cwd);return {errors:t,config:o,resolvePaths:r}}catch{a.break(),a.error(`An invalid ${l.info("blocks.json")} file was found at ${l.info(e.cwd)}.
32
- Before you can build the registry, you must create a valid ${l.info("blocks.json")} file by running the ${l.info("init")} command.`),a.break(),process.exit(1);}}var cs=z.object({cwd:z.string(),registryFile:z.string(),outputDir:z.string(),verbose:z.boolean().optional().default(false)}),Tr=new Command().name("registry:build").description("builds the registry").argument("[registry]","path to registry.json file","./registry.json").option("-o, --output <path>","destination directory for json files","./r").option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).option("-v, --verbose","verbose output").action(async(e,t)=>{await us({cwd:R.resolve(t.cwd),registryFile:e,outputDir:t.output,verbose:t.verbose});});async function us(e){try{H();let t=cs.parse(e),[{errors:r,resolvePaths:o,config:i},s]=await Promise.all([Pr(t),k(t.cwd)]);(r[S]||!s)&&(a.error(`A ${l.info("blocks.json")} file is required to build the registry. Run ${l.info("mercur init")} to create one.`),a.break(),await P({type:"build",payload:{outcome:"missing_config"}},{cwd:t.cwd}),process.exit(1)),(r[B]||!o)&&(a.error(`We could not find a registry file at ${l.info(R.resolve(t.cwd,t.registryFile))}.`),a.break(),await P({type:"build",payload:{outcome:"missing_registry_file"}},{cwd:t.cwd}),process.exit(1));let n=await U.readFile(o.registryFile,"utf-8"),m=Z.safeParse(JSON.parse(n));m.success||(a.error(`Invalid registry file found at ${l.info(o.registryFile)}.`),a.break(),process.exit(1));let p=v("Building registry..."),d=await ls(m.data,i,s);for(let u of d.items)u.files=u.files?.filter((c,f,y)=>f===y.findIndex(h=>h.path===c.path)),u.dependencies&&(u.dependencies=u.dependencies.filter((c,f,y)=>f===y.findIndex(h=>h===c)));for(let u of d.items){if(!u.files)continue;p.start(`Building ${u.name}...`),u.$schema=Yt;for(let f of u.files){let y=s.isSrcDir?"src":"",h=R.resolve(o.cwd,y,f.path);try{if(!(await U.stat(h)).isFile())continue;f.content=await U.readFile(h,"utf-8");}catch(j){console.error("Error reading file in registry build:",h,j);continue}}let c=T.safeParse(u);if(!c.success){a.error(`Invalid registry item found for ${l.info(u.name)}.`);continue}await U.writeFile(R.resolve(o.outputDir,`${c.data.name}.json`),JSON.stringify(c.data,null,2));}if(await U.copyFile(o.registryFile,R.resolve(o.outputDir,"registry.json")),p.succeed("Building registry."),t.verbose){v(`The registry has ${l.info(d.items.length.toString())} items:`).succeed();for(let u of d.items){a.log(` - ${u.name}`);for(let c of u.files??[])a.log(` - ${c.path}`);}}await P({type:"build",payload:{outcome:"success"}},{cwd:t.cwd});}catch(t){a.break(),w(t);}}async function ls(e,t,r){for(let o of e.items)if(o.files?.length)for(let i of o.files){let s=await ct(i.path,t,r);s.files=s.files?.filter(n=>n.path!==i.path),s.files&&o.files.push(...s.files),s.dependencies&&(o.dependencies=o.dependencies?o.dependencies.concat(s.dependencies):s.dependencies);}return e}var Xe=".mercur",ie=/route\.(ts|js)$/,$r={"/admin/api-keys":'typeof import("@medusajs/medusa/api/admin/api-keys/route")',"/admin/api-keys/:id":'typeof import("@medusajs/medusa/api/admin/api-keys/[id]/route")',"/admin/api-keys/:id/revoke":'typeof import("@medusajs/medusa/api/admin/api-keys/[id]/revoke/route")',"/admin/api-keys/:id/sales-channels":'typeof import("@medusajs/medusa/api/admin/api-keys/[id]/sales-channels/route")',"/admin/campaigns":'typeof import("@medusajs/medusa/api/admin/campaigns/route")',"/admin/campaigns/:id":'typeof import("@medusajs/medusa/api/admin/campaigns/[id]/route")',"/admin/campaigns/:id/promotions":'typeof import("@medusajs/medusa/api/admin/campaigns/[id]/promotions/route")',"/admin/claims":'typeof import("@medusajs/medusa/api/admin/claims/route")',"/admin/claims/:id":'typeof import("@medusajs/medusa/api/admin/claims/[id]/route")',"/admin/claims/:id/cancel":'typeof import("@medusajs/medusa/api/admin/claims/[id]/cancel/route")',"/admin/claims/:id/claim-items":'typeof import("@medusajs/medusa/api/admin/claims/[id]/claim-items/route")',"/admin/claims/:id/claim-items/:action_id":'typeof import("@medusajs/medusa/api/admin/claims/[id]/claim-items/[action_id]/route")',"/admin/claims/:id/inbound/items":'typeof import("@medusajs/medusa/api/admin/claims/[id]/inbound/items/route")',"/admin/claims/:id/inbound/items/:action_id":'typeof import("@medusajs/medusa/api/admin/claims/[id]/inbound/items/[action_id]/route")',"/admin/claims/:id/inbound/shipping-method":'typeof import("@medusajs/medusa/api/admin/claims/[id]/inbound/shipping-method/route")',"/admin/claims/:id/inbound/shipping-method/:action_id":'typeof import("@medusajs/medusa/api/admin/claims/[id]/inbound/shipping-method/[action_id]/route")',"/admin/claims/:id/outbound/items":'typeof import("@medusajs/medusa/api/admin/claims/[id]/outbound/items/route")',"/admin/claims/:id/outbound/items/:action_id":'typeof import("@medusajs/medusa/api/admin/claims/[id]/outbound/items/[action_id]/route")',"/admin/claims/:id/outbound/shipping-method":'typeof import("@medusajs/medusa/api/admin/claims/[id]/outbound/shipping-method/route")',"/admin/claims/:id/outbound/shipping-method/:action_id":'typeof import("@medusajs/medusa/api/admin/claims/[id]/outbound/shipping-method/[action_id]/route")',"/admin/claims/:id/request":'typeof import("@medusajs/medusa/api/admin/claims/[id]/request/route")',"/admin/collections":'typeof import("@medusajs/medusa/api/admin/collections/route")',"/admin/collections/:id":'typeof import("@medusajs/medusa/api/admin/collections/[id]/route")',"/admin/collections/:id/products":'typeof import("@medusajs/medusa/api/admin/collections/[id]/products/route")',"/admin/currencies":'typeof import("@medusajs/medusa/api/admin/currencies/route")',"/admin/currencies/:code":'typeof import("@medusajs/medusa/api/admin/currencies/[code]/route")',"/admin/customer-groups":'typeof import("@medusajs/medusa/api/admin/customer-groups/route")',"/admin/customer-groups/:id":'typeof import("@medusajs/medusa/api/admin/customer-groups/[id]/route")',"/admin/customer-groups/:id/customers":'typeof import("@medusajs/medusa/api/admin/customer-groups/[id]/customers/route")',"/admin/customers":'typeof import("@medusajs/medusa/api/admin/customers/route")',"/admin/customers/:id":'typeof import("@medusajs/medusa/api/admin/customers/[id]/route")',"/admin/customers/:id/addresses":'typeof import("@medusajs/medusa/api/admin/customers/[id]/addresses/route")',"/admin/customers/:id/addresses/:address_id":'typeof import("@medusajs/medusa/api/admin/customers/[id]/addresses/[address_id]/route")',"/admin/customers/:id/customer-groups":'typeof import("@medusajs/medusa/api/admin/customers/[id]/customer-groups/route")',"/admin/draft-orders":'typeof import("@medusajs/medusa/api/admin/draft-orders/route")',"/admin/draft-orders/:id":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/route")',"/admin/draft-orders/:id/convert-to-order":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/convert-to-order/route")',"/admin/draft-orders/:id/edit":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/route")',"/admin/draft-orders/:id/edit/confirm":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/confirm/route")',"/admin/draft-orders/:id/edit/items":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/items/route")',"/admin/draft-orders/:id/edit/items/:action_id":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/items/[action_id]/route")',"/admin/draft-orders/:id/edit/items/item/:item_id":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/items/item/[item_id]/route")',"/admin/draft-orders/:id/edit/promotions":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/promotions/route")',"/admin/draft-orders/:id/edit/request":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/request/route")',"/admin/draft-orders/:id/edit/shipping-methods":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/shipping-methods/route")',"/admin/draft-orders/:id/edit/shipping-methods/:action_id":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/shipping-methods/[action_id]/route")',"/admin/draft-orders/:id/edit/shipping-methods/method/:method_id":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/shipping-methods/method/[method_id]/route")',"/admin/exchanges":'typeof import("@medusajs/medusa/api/admin/exchanges/route")',"/admin/exchanges/:id":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/route")',"/admin/exchanges/:id/cancel":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/cancel/route")',"/admin/exchanges/:id/inbound/items":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/inbound/items/route")',"/admin/exchanges/:id/inbound/items/:action_id":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/inbound/items/[action_id]/route")',"/admin/exchanges/:id/inbound/shipping-method":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/inbound/shipping-method/route")',"/admin/exchanges/:id/inbound/shipping-method/:action_id":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/inbound/shipping-method/[action_id]/route")',"/admin/exchanges/:id/outbound/items":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/outbound/items/route")',"/admin/exchanges/:id/outbound/items/:action_id":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/outbound/items/[action_id]/route")',"/admin/exchanges/:id/outbound/shipping-method":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/outbound/shipping-method/route")',"/admin/exchanges/:id/outbound/shipping-method/:action_id":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/outbound/shipping-method/[action_id]/route")',"/admin/exchanges/:id/request":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/request/route")',"/admin/feature-flags":'typeof import("@medusajs/medusa/api/admin/feature-flags/route")',"/admin/fulfillment-providers":'typeof import("@medusajs/medusa/api/admin/fulfillment-providers/route")',"/admin/fulfillment-providers/:id/options":'typeof import("@medusajs/medusa/api/admin/fulfillment-providers/[id]/options/route")',"/admin/fulfillment-sets/:id":'typeof import("@medusajs/medusa/api/admin/fulfillment-sets/[id]/route")',"/admin/fulfillment-sets/:id/service-zones":'typeof import("@medusajs/medusa/api/admin/fulfillment-sets/[id]/service-zones/route")',"/admin/fulfillment-sets/:id/service-zones/:zone_id":'typeof import("@medusajs/medusa/api/admin/fulfillment-sets/[id]/service-zones/[zone_id]/route")',"/admin/fulfillments":'typeof import("@medusajs/medusa/api/admin/fulfillments/route")',"/admin/fulfillments/:id/cancel":'typeof import("@medusajs/medusa/api/admin/fulfillments/[id]/cancel/route")',"/admin/fulfillments/:id/shipment":'typeof import("@medusajs/medusa/api/admin/fulfillments/[id]/shipment/route")',"/admin/index/details":'typeof import("@medusajs/medusa/api/admin/index/details/route")',"/admin/index/sync":'typeof import("@medusajs/medusa/api/admin/index/sync/route")',"/admin/inventory-items":'typeof import("@medusajs/medusa/api/admin/inventory-items/route")',"/admin/inventory-items/:id":'typeof import("@medusajs/medusa/api/admin/inventory-items/[id]/route")',"/admin/inventory-items/:id/location-levels":'typeof import("@medusajs/medusa/api/admin/inventory-items/[id]/location-levels/route")',"/admin/inventory-items/:id/location-levels/:location_id":'typeof import("@medusajs/medusa/api/admin/inventory-items/[id]/location-levels/[location_id]/route")',"/admin/inventory-items/:id/location-levels/batch":'typeof import("@medusajs/medusa/api/admin/inventory-items/[id]/location-levels/batch/route")',"/admin/inventory-items/location-levels/batch":'typeof import("@medusajs/medusa/api/admin/inventory-items/location-levels/batch/route")',"/admin/invites":'typeof import("@medusajs/medusa/api/admin/invites/route")',"/admin/invites/:id":'typeof import("@medusajs/medusa/api/admin/invites/[id]/route")',"/admin/invites/:id/resend":'typeof import("@medusajs/medusa/api/admin/invites/[id]/resend/route")',"/admin/invites/accept":'typeof import("@medusajs/medusa/api/admin/invites/accept/route")',"/admin/locales":'typeof import("@medusajs/medusa/api/admin/locales/route")',"/admin/locales/:code":'typeof import("@medusajs/medusa/api/admin/locales/[code]/route")',"/admin/notifications":'typeof import("@medusajs/medusa/api/admin/notifications/route")',"/admin/notifications/:id":'typeof import("@medusajs/medusa/api/admin/notifications/[id]/route")',"/admin/order-changes/:id":'typeof import("@medusajs/medusa/api/admin/order-changes/[id]/route")',"/admin/order-edits":'typeof import("@medusajs/medusa/api/admin/order-edits/route")',"/admin/order-edits/:id":'typeof import("@medusajs/medusa/api/admin/order-edits/[id]/route")',"/admin/order-edits/:id/confirm":'typeof import("@medusajs/medusa/api/admin/order-edits/[id]/confirm/route")',"/admin/order-edits/:id/items":'typeof import("@medusajs/medusa/api/admin/order-edits/[id]/items/route")',"/admin/order-edits/:id/items/:action_id":'typeof import("@medusajs/medusa/api/admin/order-edits/[id]/items/[action_id]/route")',"/admin/order-edits/:id/items/item/:item_id":'typeof import("@medusajs/medusa/api/admin/order-edits/[id]/items/item/[item_id]/route")',"/admin/order-edits/:id/request":'typeof import("@medusajs/medusa/api/admin/order-edits/[id]/request/route")',"/admin/order-edits/:id/shipping-method":'typeof import("@medusajs/medusa/api/admin/order-edits/[id]/shipping-method/route")',"/admin/order-edits/:id/shipping-method/:action_id":'typeof import("@medusajs/medusa/api/admin/order-edits/[id]/shipping-method/[action_id]/route")',"/admin/orders":'typeof import("@medusajs/medusa/api/admin/orders/route")',"/admin/orders/:id":'typeof import("@medusajs/medusa/api/admin/orders/[id]/route")',"/admin/orders/:id/archive":'typeof import("@medusajs/medusa/api/admin/orders/[id]/archive/route")',"/admin/orders/:id/cancel":'typeof import("@medusajs/medusa/api/admin/orders/[id]/cancel/route")',"/admin/orders/:id/changes":'typeof import("@medusajs/medusa/api/admin/orders/[id]/changes/route")',"/admin/orders/:id/complete":'typeof import("@medusajs/medusa/api/admin/orders/[id]/complete/route")',"/admin/orders/:id/credit-lines":'typeof import("@medusajs/medusa/api/admin/orders/[id]/credit-lines/route")',"/admin/orders/:id/fulfillments":'typeof import("@medusajs/medusa/api/admin/orders/[id]/fulfillments/route")',"/admin/orders/:id/fulfillments/:fulfillment_id/cancel":'typeof import("@medusajs/medusa/api/admin/orders/[id]/fulfillments/[fulfillment_id]/cancel/route")',"/admin/orders/:id/fulfillments/:fulfillment_id/mark-as-delivered":'typeof import("@medusajs/medusa/api/admin/orders/[id]/fulfillments/[fulfillment_id]/mark-as-delivered/route")',"/admin/orders/:id/fulfillments/:fulfillment_id/shipments":'typeof import("@medusajs/medusa/api/admin/orders/[id]/fulfillments/[fulfillment_id]/shipments/route")',"/admin/orders/:id/line-items":'typeof import("@medusajs/medusa/api/admin/orders/[id]/line-items/route")',"/admin/orders/:id/preview":'typeof import("@medusajs/medusa/api/admin/orders/[id]/preview/route")',"/admin/orders/:id/shipping-options":'typeof import("@medusajs/medusa/api/admin/orders/[id]/shipping-options/route")',"/admin/orders/:id/transfer":'typeof import("@medusajs/medusa/api/admin/orders/[id]/transfer/route")',"/admin/orders/:id/transfer/cancel":'typeof import("@medusajs/medusa/api/admin/orders/[id]/transfer/cancel/route")',"/admin/orders/export":'typeof import("@medusajs/medusa/api/admin/orders/export/route")',"/admin/payment-collections":'typeof import("@medusajs/medusa/api/admin/payment-collections/route")',"/admin/payment-collections/:id":'typeof import("@medusajs/medusa/api/admin/payment-collections/[id]/route")',"/admin/payment-collections/:id/mark-as-paid":'typeof import("@medusajs/medusa/api/admin/payment-collections/[id]/mark-as-paid/route")',"/admin/payments":'typeof import("@medusajs/medusa/api/admin/payments/route")',"/admin/payments/:id":'typeof import("@medusajs/medusa/api/admin/payments/[id]/route")',"/admin/payments/:id/capture":'typeof import("@medusajs/medusa/api/admin/payments/[id]/capture/route")',"/admin/payments/:id/refund":'typeof import("@medusajs/medusa/api/admin/payments/[id]/refund/route")',"/admin/payments/payment-providers":'typeof import("@medusajs/medusa/api/admin/payments/payment-providers/route")',"/admin/plugins":'typeof import("@medusajs/medusa/api/admin/plugins/route")',"/admin/price-lists":'typeof import("@medusajs/medusa/api/admin/price-lists/route")',"/admin/price-lists/:id":'typeof import("@medusajs/medusa/api/admin/price-lists/[id]/route")',"/admin/price-lists/:id/prices":'typeof import("@medusajs/medusa/api/admin/price-lists/[id]/prices/route")',"/admin/price-lists/:id/prices/batch":'typeof import("@medusajs/medusa/api/admin/price-lists/[id]/prices/batch/route")',"/admin/price-lists/:id/products":'typeof import("@medusajs/medusa/api/admin/price-lists/[id]/products/route")',"/admin/price-preferences":'typeof import("@medusajs/medusa/api/admin/price-preferences/route")',"/admin/price-preferences/:id":'typeof import("@medusajs/medusa/api/admin/price-preferences/[id]/route")',"/admin/product-categories":'typeof import("@medusajs/medusa/api/admin/product-categories/route")',"/admin/product-categories/:id":'typeof import("@medusajs/medusa/api/admin/product-categories/[id]/route")',"/admin/product-categories/:id/products":'typeof import("@medusajs/medusa/api/admin/product-categories/[id]/products/route")',"/admin/product-tags":'typeof import("@medusajs/medusa/api/admin/product-tags/route")',"/admin/product-tags/:id":'typeof import("@medusajs/medusa/api/admin/product-tags/[id]/route")',"/admin/product-types":'typeof import("@medusajs/medusa/api/admin/product-types/route")',"/admin/product-types/:id":'typeof import("@medusajs/medusa/api/admin/product-types/[id]/route")',"/admin/product-variants":'typeof import("@medusajs/medusa/api/admin/product-variants/route")',"/admin/products":'typeof import("@medusajs/medusa/api/admin/products/route")',"/admin/products/:id":'typeof import("@medusajs/medusa/api/admin/products/[id]/route")',"/admin/products/:id/images/:image_id/variants/batch":'typeof import("@medusajs/medusa/api/admin/products/[id]/images/[image_id]/variants/batch/route")',"/admin/products/:id/options":'typeof import("@medusajs/medusa/api/admin/products/[id]/options/route")',"/admin/products/:id/options/:option_id":'typeof import("@medusajs/medusa/api/admin/products/[id]/options/[option_id]/route")',"/admin/products/:id/variants":'typeof import("@medusajs/medusa/api/admin/products/[id]/variants/route")',"/admin/products/:id/variants/:variant_id":'typeof import("@medusajs/medusa/api/admin/products/[id]/variants/[variant_id]/route")',"/admin/products/:id/variants/:variant_id/images/batch":'typeof import("@medusajs/medusa/api/admin/products/[id]/variants/[variant_id]/images/batch/route")',"/admin/products/:id/variants/:variant_id/inventory-items":'typeof import("@medusajs/medusa/api/admin/products/[id]/variants/[variant_id]/inventory-items/route")',"/admin/products/:id/variants/:variant_id/inventory-items/:inventory_item_id":'typeof import("@medusajs/medusa/api/admin/products/[id]/variants/[variant_id]/inventory-items/[inventory_item_id]/route")',"/admin/products/:id/variants/batch":'typeof import("@medusajs/medusa/api/admin/products/[id]/variants/batch/route")',"/admin/products/:id/variants/inventory-items/batch":'typeof import("@medusajs/medusa/api/admin/products/[id]/variants/inventory-items/batch/route")',"/admin/products/batch":'typeof import("@medusajs/medusa/api/admin/products/batch/route")',"/admin/products/export":'typeof import("@medusajs/medusa/api/admin/products/export/route")',"/admin/products/import":'typeof import("@medusajs/medusa/api/admin/products/import/route")',"/admin/products/import/:transaction_id/confirm":'typeof import("@medusajs/medusa/api/admin/products/import/[transaction_id]/confirm/route")',"/admin/products/imports":'typeof import("@medusajs/medusa/api/admin/products/imports/route")',"/admin/products/imports/:transaction_id/confirm":'typeof import("@medusajs/medusa/api/admin/products/imports/[transaction_id]/confirm/route")',"/admin/promotions":'typeof import("@medusajs/medusa/api/admin/promotions/route")',"/admin/promotions/:id":'typeof import("@medusajs/medusa/api/admin/promotions/[id]/route")',"/admin/promotions/:id/:rule_type":'typeof import("@medusajs/medusa/api/admin/promotions/[id]/[rule_type]/route")',"/admin/promotions/:id/buy-rules/batch":'typeof import("@medusajs/medusa/api/admin/promotions/[id]/buy-rules/batch/route")',"/admin/promotions/:id/rules/batch":'typeof import("@medusajs/medusa/api/admin/promotions/[id]/rules/batch/route")',"/admin/promotions/:id/target-rules/batch":'typeof import("@medusajs/medusa/api/admin/promotions/[id]/target-rules/batch/route")',"/admin/promotions/rule-attribute-options/:rule_type":'typeof import("@medusajs/medusa/api/admin/promotions/rule-attribute-options/[rule_type]/route")',"/admin/promotions/rule-value-options/:rule_type/:rule_attribute_id":'typeof import("@medusajs/medusa/api/admin/promotions/rule-value-options/[rule_type]/[rule_attribute_id]/route")',"/admin/rbac/policies":'typeof import("@medusajs/medusa/api/admin/rbac/policies/route")',"/admin/rbac/policies/:id":'typeof import("@medusajs/medusa/api/admin/rbac/policies/[id]/route")',"/admin/rbac/roles":'typeof import("@medusajs/medusa/api/admin/rbac/roles/route")',"/admin/rbac/roles/:id":'typeof import("@medusajs/medusa/api/admin/rbac/roles/[id]/route")',"/admin/rbac/roles/:id/policies":'typeof import("@medusajs/medusa/api/admin/rbac/roles/[id]/policies/route")',"/admin/rbac/roles/:id/policies/:policy_id":'typeof import("@medusajs/medusa/api/admin/rbac/roles/[id]/policies/[policy_id]/route")',"/admin/refund-reasons":'typeof import("@medusajs/medusa/api/admin/refund-reasons/route")',"/admin/refund-reasons/:id":'typeof import("@medusajs/medusa/api/admin/refund-reasons/[id]/route")',"/admin/regions":'typeof import("@medusajs/medusa/api/admin/regions/route")',"/admin/regions/:id":'typeof import("@medusajs/medusa/api/admin/regions/[id]/route")',"/admin/reservations":'typeof import("@medusajs/medusa/api/admin/reservations/route")',"/admin/reservations/:id":'typeof import("@medusajs/medusa/api/admin/reservations/[id]/route")',"/admin/return-reasons":'typeof import("@medusajs/medusa/api/admin/return-reasons/route")',"/admin/return-reasons/:id":'typeof import("@medusajs/medusa/api/admin/return-reasons/[id]/route")',"/admin/returns":'typeof import("@medusajs/medusa/api/admin/returns/route")',"/admin/returns/:id":'typeof import("@medusajs/medusa/api/admin/returns/[id]/route")',"/admin/returns/:id/cancel":'typeof import("@medusajs/medusa/api/admin/returns/[id]/cancel/route")',"/admin/returns/:id/dismiss-items":'typeof import("@medusajs/medusa/api/admin/returns/[id]/dismiss-items/route")',"/admin/returns/:id/dismiss-items/:action_id":'typeof import("@medusajs/medusa/api/admin/returns/[id]/dismiss-items/[action_id]/route")',"/admin/returns/:id/receive":'typeof import("@medusajs/medusa/api/admin/returns/[id]/receive/route")',"/admin/returns/:id/receive-items":'typeof import("@medusajs/medusa/api/admin/returns/[id]/receive-items/route")',"/admin/returns/:id/receive-items/:action_id":'typeof import("@medusajs/medusa/api/admin/returns/[id]/receive-items/[action_id]/route")',"/admin/returns/:id/receive/confirm":'typeof import("@medusajs/medusa/api/admin/returns/[id]/receive/confirm/route")',"/admin/returns/:id/request":'typeof import("@medusajs/medusa/api/admin/returns/[id]/request/route")',"/admin/returns/:id/request-items":'typeof import("@medusajs/medusa/api/admin/returns/[id]/request-items/route")',"/admin/returns/:id/request-items/:action_id":'typeof import("@medusajs/medusa/api/admin/returns/[id]/request-items/[action_id]/route")',"/admin/returns/:id/shipping-method":'typeof import("@medusajs/medusa/api/admin/returns/[id]/shipping-method/route")',"/admin/returns/:id/shipping-method/:action_id":'typeof import("@medusajs/medusa/api/admin/returns/[id]/shipping-method/[action_id]/route")',"/admin/sales-channels":'typeof import("@medusajs/medusa/api/admin/sales-channels/route")',"/admin/sales-channels/:id":'typeof import("@medusajs/medusa/api/admin/sales-channels/[id]/route")',"/admin/sales-channels/:id/products":'typeof import("@medusajs/medusa/api/admin/sales-channels/[id]/products/route")',"/admin/shipping-option-types":'typeof import("@medusajs/medusa/api/admin/shipping-option-types/route")',"/admin/shipping-option-types/:id":'typeof import("@medusajs/medusa/api/admin/shipping-option-types/[id]/route")',"/admin/shipping-options":'typeof import("@medusajs/medusa/api/admin/shipping-options/route")',"/admin/shipping-options/:id":'typeof import("@medusajs/medusa/api/admin/shipping-options/[id]/route")',"/admin/shipping-options/:id/rules/batch":'typeof import("@medusajs/medusa/api/admin/shipping-options/[id]/rules/batch/route")',"/admin/shipping-profiles":'typeof import("@medusajs/medusa/api/admin/shipping-profiles/route")',"/admin/shipping-profiles/:id":'typeof import("@medusajs/medusa/api/admin/shipping-profiles/[id]/route")',"/admin/stock-locations":'typeof import("@medusajs/medusa/api/admin/stock-locations/route")',"/admin/stock-locations/:id":'typeof import("@medusajs/medusa/api/admin/stock-locations/[id]/route")',"/admin/stock-locations/:id/fulfillment-providers":'typeof import("@medusajs/medusa/api/admin/stock-locations/[id]/fulfillment-providers/route")',"/admin/stock-locations/:id/fulfillment-sets":'typeof import("@medusajs/medusa/api/admin/stock-locations/[id]/fulfillment-sets/route")',"/admin/stock-locations/:id/sales-channels":'typeof import("@medusajs/medusa/api/admin/stock-locations/[id]/sales-channels/route")',"/admin/stores":'typeof import("@medusajs/medusa/api/admin/stores/route")',"/admin/stores/:id":'typeof import("@medusajs/medusa/api/admin/stores/[id]/route")',"/admin/tax-providers":'typeof import("@medusajs/medusa/api/admin/tax-providers/route")',"/admin/tax-rates":'typeof import("@medusajs/medusa/api/admin/tax-rates/route")',"/admin/tax-rates/:id":'typeof import("@medusajs/medusa/api/admin/tax-rates/[id]/route")',"/admin/tax-rates/:id/rules":'typeof import("@medusajs/medusa/api/admin/tax-rates/[id]/rules/route")',"/admin/tax-rates/:id/rules/:rule_id":'typeof import("@medusajs/medusa/api/admin/tax-rates/[id]/rules/[rule_id]/route")',"/admin/tax-regions":'typeof import("@medusajs/medusa/api/admin/tax-regions/route")',"/admin/tax-regions/:id":'typeof import("@medusajs/medusa/api/admin/tax-regions/[id]/route")',"/admin/translations":'typeof import("@medusajs/medusa/api/admin/translations/route")',"/admin/translations/batch":'typeof import("@medusajs/medusa/api/admin/translations/batch/route")',"/admin/translations/entities":'typeof import("@medusajs/medusa/api/admin/translations/entities/route")',"/admin/translations/settings":'typeof import("@medusajs/medusa/api/admin/translations/settings/route")',"/admin/translations/settings/batch":'typeof import("@medusajs/medusa/api/admin/translations/settings/batch/route")',"/admin/translations/statistics":'typeof import("@medusajs/medusa/api/admin/translations/statistics/route")',"/admin/uploads":'typeof import("@medusajs/medusa/api/admin/uploads/route")',"/admin/uploads/:id":'typeof import("@medusajs/medusa/api/admin/uploads/[id]/route")',"/admin/uploads/presigned-urls":'typeof import("@medusajs/medusa/api/admin/uploads/presigned-urls/route")',"/admin/users":'typeof import("@medusajs/medusa/api/admin/users/route")',"/admin/users/:id":'typeof import("@medusajs/medusa/api/admin/users/[id]/route")',"/admin/users/me":'typeof import("@medusajs/medusa/api/admin/users/me/route")',"/admin/views/:entity/columns":'typeof import("@medusajs/medusa/api/admin/views/[entity]/columns/route")',"/admin/views/:entity/configurations":'typeof import("@medusajs/medusa/api/admin/views/[entity]/configurations/route")',"/admin/views/:entity/configurations/:id":'typeof import("@medusajs/medusa/api/admin/views/[entity]/configurations/[id]/route")',"/admin/views/:entity/configurations/active":'typeof import("@medusajs/medusa/api/admin/views/[entity]/configurations/active/route")',"/admin/workflows-executions":'typeof import("@medusajs/medusa/api/admin/workflows-executions/route")',"/admin/workflows-executions/:id":'typeof import("@medusajs/medusa/api/admin/workflows-executions/[id]/route")',"/admin/workflows-executions/:workflow_id/:transaction_id":'typeof import("@medusajs/medusa/api/admin/workflows-executions/[workflow_id]/[transaction_id]/route")',"/admin/workflows-executions/:workflow_id/:transaction_id/:step_id/subscribe":'typeof import("@medusajs/medusa/api/admin/workflows-executions/[workflow_id]/[transaction_id]/[step_id]/subscribe/route")',"/admin/workflows-executions/:workflow_id/run":'typeof import("@medusajs/medusa/api/admin/workflows-executions/[workflow_id]/run/route")',"/admin/workflows-executions/:workflow_id/steps/failure":'typeof import("@medusajs/medusa/api/admin/workflows-executions/[workflow_id]/steps/failure/route")',"/admin/workflows-executions/:workflow_id/steps/success":'typeof import("@medusajs/medusa/api/admin/workflows-executions/[workflow_id]/steps/success/route")',"/admin/workflows-executions/:workflow_id/subscribe":'typeof import("@medusajs/medusa/api/admin/workflows-executions/[workflow_id]/subscribe/route")',"/auth/:actor_type/:auth_provider":'typeof import("@medusajs/medusa/api/auth/[actor_type]/[auth_provider]/route")',"/auth/:actor_type/:auth_provider/callback":'typeof import("@medusajs/medusa/api/auth/[actor_type]/[auth_provider]/callback/route")',"/auth/:actor_type/:auth_provider/register":'typeof import("@medusajs/medusa/api/auth/[actor_type]/[auth_provider]/register/route")',"/auth/:actor_type/:auth_provider/reset-password":'typeof import("@medusajs/medusa/api/auth/[actor_type]/[auth_provider]/reset-password/route")',"/auth/:actor_type/:auth_provider/update":'typeof import("@medusajs/medusa/api/auth/[actor_type]/[auth_provider]/update/route")',"/auth/session":'typeof import("@medusajs/medusa/api/auth/session/route")',"/auth/token/refresh":'typeof import("@medusajs/medusa/api/auth/token/refresh/route")',"/store/carts":'typeof import("@medusajs/medusa/api/store/carts/route")',"/store/carts/:id":'typeof import("@medusajs/medusa/api/store/carts/[id]/route")',"/store/carts/:id/complete":'typeof import("@medusajs/medusa/api/store/carts/[id]/complete/route")',"/store/carts/:id/customer":'typeof import("@medusajs/medusa/api/store/carts/[id]/customer/route")',"/store/carts/:id/line-items":'typeof import("@medusajs/medusa/api/store/carts/[id]/line-items/route")',"/store/carts/:id/line-items/:line_id":'typeof import("@medusajs/medusa/api/store/carts/[id]/line-items/[line_id]/route")',"/store/carts/:id/promotions":'typeof import("@medusajs/medusa/api/store/carts/[id]/promotions/route")',"/store/carts/:id/shipping-methods":'typeof import("@medusajs/medusa/api/store/carts/[id]/shipping-methods/route")',"/store/carts/:id/taxes":'typeof import("@medusajs/medusa/api/store/carts/[id]/taxes/route")',"/store/collections":'typeof import("@medusajs/medusa/api/store/collections/route")',"/store/collections/:id":'typeof import("@medusajs/medusa/api/store/collections/[id]/route")',"/store/currencies":'typeof import("@medusajs/medusa/api/store/currencies/route")',"/store/currencies/:code":'typeof import("@medusajs/medusa/api/store/currencies/[code]/route")',"/store/customers":'typeof import("@medusajs/medusa/api/store/customers/route")',"/store/customers/me":'typeof import("@medusajs/medusa/api/store/customers/me/route")',"/store/customers/me/addresses":'typeof import("@medusajs/medusa/api/store/customers/me/addresses/route")',"/store/customers/me/addresses/:address_id":'typeof import("@medusajs/medusa/api/store/customers/me/addresses/[address_id]/route")',"/store/locales":'typeof import("@medusajs/medusa/api/store/locales/route")',"/store/orders":'typeof import("@medusajs/medusa/api/store/orders/route")',"/store/orders/:id":'typeof import("@medusajs/medusa/api/store/orders/[id]/route")',"/store/orders/:id/transfer/accept":'typeof import("@medusajs/medusa/api/store/orders/[id]/transfer/accept/route")',"/store/orders/:id/transfer/cancel":'typeof import("@medusajs/medusa/api/store/orders/[id]/transfer/cancel/route")',"/store/orders/:id/transfer/decline":'typeof import("@medusajs/medusa/api/store/orders/[id]/transfer/decline/route")',"/store/orders/:id/transfer/request":'typeof import("@medusajs/medusa/api/store/orders/[id]/transfer/request/route")',"/store/payment-collections":'typeof import("@medusajs/medusa/api/store/payment-collections/route")',"/store/payment-collections/:id/payment-sessions":'typeof import("@medusajs/medusa/api/store/payment-collections/[id]/payment-sessions/route")',"/store/payment-providers":'typeof import("@medusajs/medusa/api/store/payment-providers/route")',"/store/product-categories":'typeof import("@medusajs/medusa/api/store/product-categories/route")',"/store/product-categories/:id":'typeof import("@medusajs/medusa/api/store/product-categories/[id]/route")',"/store/product-tags":'typeof import("@medusajs/medusa/api/store/product-tags/route")',"/store/product-tags/:id":'typeof import("@medusajs/medusa/api/store/product-tags/[id]/route")',"/store/product-types":'typeof import("@medusajs/medusa/api/store/product-types/route")',"/store/product-types/:id":'typeof import("@medusajs/medusa/api/store/product-types/[id]/route")',"/store/product-variants":'typeof import("@medusajs/medusa/api/store/product-variants/route")',"/store/product-variants/:id":'typeof import("@medusajs/medusa/api/store/product-variants/[id]/route")',"/store/products":'typeof import("@medusajs/medusa/api/store/products/route")',"/store/products/:id":'typeof import("@medusajs/medusa/api/store/products/[id]/route")',"/store/regions":'typeof import("@medusajs/medusa/api/store/regions/route")',"/store/regions/:id":'typeof import("@medusajs/medusa/api/store/regions/[id]/route")',"/store/return-reasons":'typeof import("@medusajs/medusa/api/store/return-reasons/route")',"/store/return-reasons/:id":'typeof import("@medusajs/medusa/api/store/return-reasons/[id]/route")',"/store/returns":'typeof import("@medusajs/medusa/api/store/returns/route")',"/store/shipping-options":'typeof import("@medusajs/medusa/api/store/shipping-options/route")',"/store/shipping-options/:id/calculate":'typeof import("@medusajs/medusa/api/store/shipping-options/[id]/calculate/route")'},Dr={"/admin/commission-rates":'typeof import("@mercurjs/core/api/admin/commission-rates/route")',"/admin/commission-rates/:id":'typeof import("@mercurjs/core/api/admin/commission-rates/[id]/route")',"/admin/commission-rates/:id/rules":'typeof import("@mercurjs/core/api/admin/commission-rates/[id]/rules/route")',"/admin/order-groups":'typeof import("@mercurjs/core/api/admin/order-groups/route")',"/admin/order-groups/:id":'typeof import("@mercurjs/core/api/admin/order-groups/[id]/route")',"/admin/payouts":'typeof import("@mercurjs/core/api/admin/payouts/route")',"/admin/payouts/:id":'typeof import("@mercurjs/core/api/admin/payouts/[id]/route")',"/admin/orders":'typeof import("@mercurjs/core/api/admin/orders/route")',"/admin/products":'typeof import("@mercurjs/core/api/admin/products/route")',"/admin/sellers":'typeof import("@mercurjs/core/api/admin/sellers/route")',"/admin/sellers/invite":'typeof import("@mercurjs/core/api/admin/sellers/invite/route")',"/admin/sellers/:id":'typeof import("@mercurjs/core/api/admin/sellers/[id]/route")',"/store/carts/:id/complete":'typeof import("@mercurjs/core/api/store/carts/[id]/complete/route")',"/store/carts/:id/promotions":'typeof import("@mercurjs/core/api/store/carts/[id]/promotions/route")',"/store/carts/:id/shipping-methods":'typeof import("@mercurjs/core/api/store/carts/[id]/shipping-methods/route")',"/store/order-groups":'typeof import("@mercurjs/core/api/store/order-groups/route")',"/store/order-groups/:id":'typeof import("@mercurjs/core/api/store/order-groups/[id]/route")',"/store/sellers":'typeof import("@mercurjs/core/api/store/sellers/route")',"/store/sellers/:id":'typeof import("@mercurjs/core/api/store/sellers/[id]/route")',"/store/shipping-options":'typeof import("@mercurjs/core/api/store/shipping-options/route")',"/vendor/campaigns":'typeof import("@mercurjs/core/api/vendor/campaigns/route")',"/vendor/campaigns/:id":'typeof import("@mercurjs/core/api/vendor/campaigns/[id]/route")',"/vendor/campaigns/:id/promotions":'typeof import("@mercurjs/core/api/vendor/campaigns/[id]/promotions/route")',"/vendor/collections":'typeof import("@mercurjs/core/api/vendor/collections/route")',"/vendor/collections/:id":'typeof import("@mercurjs/core/api/vendor/collections/[id]/route")',"/vendor/collections/:id/products":'typeof import("@mercurjs/core/api/vendor/collections/[id]/products/route")',"/vendor/currencies":'typeof import("@mercurjs/core/api/vendor/currencies/route")',"/vendor/currencies/:code":'typeof import("@mercurjs/core/api/vendor/currencies/[code]/route")',"/vendor/customers":'typeof import("@mercurjs/core/api/vendor/customers/route")',"/vendor/customers/:id":'typeof import("@mercurjs/core/api/vendor/customers/[id]/route")',"/vendor/fulfillment-sets/:id":'typeof import("@mercurjs/core/api/vendor/fulfillment-sets/[id]/route")',"/vendor/fulfillment-sets/:id/service-zones":'typeof import("@mercurjs/core/api/vendor/fulfillment-sets/[id]/service-zones/route")',"/vendor/fulfillment-sets/:id/service-zones/:zone_id":'typeof import("@mercurjs/core/api/vendor/fulfillment-sets/[id]/service-zones/[zone_id]/route")',"/vendor/inventory-items":'typeof import("@mercurjs/core/api/vendor/inventory-items/route")',"/vendor/inventory-items/:id":'typeof import("@mercurjs/core/api/vendor/inventory-items/[id]/route")',"/vendor/inventory-items/:id/location-levels":'typeof import("@mercurjs/core/api/vendor/inventory-items/[id]/location-levels/route")',"/vendor/inventory-items/:id/location-levels/:location_id":'typeof import("@mercurjs/core/api/vendor/inventory-items/[id]/location-levels/[location_id]/route")',"/vendor/inventory-items/:id/location-levels/batch":'typeof import("@mercurjs/core/api/vendor/inventory-items/[id]/location-levels/batch/route")',"/vendor/orders":'typeof import("@mercurjs/core/api/vendor/orders/route")',"/vendor/orders/:id":'typeof import("@mercurjs/core/api/vendor/orders/[id]/route")',"/vendor/orders/:id/cancel":'typeof import("@mercurjs/core/api/vendor/orders/[id]/cancel/route")',"/vendor/orders/:id/changes":'typeof import("@mercurjs/core/api/vendor/orders/[id]/changes/route")',"/vendor/orders/:id/complete":'typeof import("@mercurjs/core/api/vendor/orders/[id]/complete/route")',"/vendor/orders/:id/fulfillments":'typeof import("@mercurjs/core/api/vendor/orders/[id]/fulfillments/route")',"/vendor/orders/:id/fulfillments/:fulfillment_id/cancel":'typeof import("@mercurjs/core/api/vendor/orders/[id]/fulfillments/[fulfillment_id]/cancel/route")',"/vendor/orders/:id/fulfillments/:fulfillment_id/mark-as-delivered":'typeof import("@mercurjs/core/api/vendor/orders/[id]/fulfillments/[fulfillment_id]/mark-as-delivered/route")',"/vendor/orders/:id/fulfillments/:fulfillment_id/shipments":'typeof import("@mercurjs/core/api/vendor/orders/[id]/fulfillments/[fulfillment_id]/shipments/route")',"/vendor/orders/:id/preview":'typeof import("@mercurjs/core/api/vendor/orders/[id]/preview/route")',"/vendor/payments":'typeof import("@mercurjs/core/api/vendor/payments/route")',"/vendor/payments/:id":'typeof import("@mercurjs/core/api/vendor/payments/[id]/route")',"/vendor/payments/:id/capture":'typeof import("@mercurjs/core/api/vendor/payments/[id]/capture/route")',"/vendor/payments/:id/refund":'typeof import("@mercurjs/core/api/vendor/payments/[id]/refund/route")',"/vendor/payments/payment-providers":'typeof import("@mercurjs/core/api/vendor/payments/payment-providers/route")',"/vendor/payout-accounts":'typeof import("@mercurjs/core/api/vendor/payout-accounts/route")',"/vendor/payout-accounts/:id":'typeof import("@mercurjs/core/api/vendor/payout-accounts/[id]/route")',"/vendor/payout-accounts/:id/onboarding":'typeof import("@mercurjs/core/api/vendor/payout-accounts/[id]/onboarding/route")',"/vendor/payouts":'typeof import("@mercurjs/core/api/vendor/payouts/route")',"/vendor/payouts/:id":'typeof import("@mercurjs/core/api/vendor/payouts/[id]/route")',"/vendor/price-lists":'typeof import("@mercurjs/core/api/vendor/price-lists/route")',"/vendor/price-lists/:id":'typeof import("@mercurjs/core/api/vendor/price-lists/[id]/route")',"/vendor/price-lists/:id/products":'typeof import("@mercurjs/core/api/vendor/price-lists/[id]/products/route")',"/vendor/price-preferences":'typeof import("@mercurjs/core/api/vendor/price-preferences/route")',"/vendor/price-preferences/:id":'typeof import("@mercurjs/core/api/vendor/price-preferences/[id]/route")',"/vendor/product-categories":'typeof import("@mercurjs/core/api/vendor/product-categories/route")',"/vendor/product-categories/:id":'typeof import("@mercurjs/core/api/vendor/product-categories/[id]/route")',"/vendor/product-categories/:id/products":'typeof import("@mercurjs/core/api/vendor/product-categories/[id]/products/route")',"/vendor/product-tags":'typeof import("@mercurjs/core/api/vendor/product-tags/route")',"/vendor/product-tags/:id":'typeof import("@mercurjs/core/api/vendor/product-tags/[id]/route")',"/vendor/product-types":'typeof import("@mercurjs/core/api/vendor/product-types/route")',"/vendor/product-types/:id":'typeof import("@mercurjs/core/api/vendor/product-types/[id]/route")',"/vendor/products":'typeof import("@mercurjs/core/api/vendor/products/route")',"/vendor/products/:id":'typeof import("@mercurjs/core/api/vendor/products/[id]/route")',"/vendor/products/:id/options":'typeof import("@mercurjs/core/api/vendor/products/[id]/options/route")',"/vendor/products/:id/options/:option_id":'typeof import("@mercurjs/core/api/vendor/products/[id]/options/[option_id]/route")',"/vendor/products/:id/variants":'typeof import("@mercurjs/core/api/vendor/products/[id]/variants/route")',"/vendor/products/:id/variants/:variant_id":'typeof import("@mercurjs/core/api/vendor/products/[id]/variants/[variant_id]/route")',"/vendor/promotions":'typeof import("@mercurjs/core/api/vendor/promotions/route")',"/vendor/promotions/:id":'typeof import("@mercurjs/core/api/vendor/promotions/[id]/route")',"/vendor/promotions/:id/:rule_type":'typeof import("@mercurjs/core/api/vendor/promotions/[id]/[rule_type]/route")',"/vendor/promotions/:id/buy-rules/batch":'typeof import("@mercurjs/core/api/vendor/promotions/[id]/buy-rules/batch/route")',"/vendor/promotions/:id/rules/batch":'typeof import("@mercurjs/core/api/vendor/promotions/[id]/rules/batch/route")',"/vendor/promotions/:id/target-rules/batch":'typeof import("@mercurjs/core/api/vendor/promotions/[id]/target-rules/batch/route")',"/vendor/promotions/rule-attribute-options/:rule_type":'typeof import("@mercurjs/core/api/vendor/promotions/rule-attribute-options/[rule_type]/route")',"/vendor/promotions/rule-value-options/:rule_type/:rule_attribute_id":'typeof import("@mercurjs/core/api/vendor/promotions/rule-value-options/[rule_type]/[rule_attribute_id]/route")',"/vendor/refund-reasons":'typeof import("@mercurjs/core/api/vendor/refund-reasons/route")',"/vendor/refund-reasons/:id":'typeof import("@mercurjs/core/api/vendor/refund-reasons/[id]/route")',"/vendor/regions":'typeof import("@mercurjs/core/api/vendor/regions/route")',"/vendor/regions/:id":'typeof import("@mercurjs/core/api/vendor/regions/[id]/route")',"/vendor/return-reasons":'typeof import("@mercurjs/core/api/vendor/return-reasons/route")',"/vendor/return-reasons/:id":'typeof import("@mercurjs/core/api/vendor/return-reasons/[id]/route")',"/vendor/returns":'typeof import("@mercurjs/core/api/vendor/returns/route")',"/vendor/returns/:id":'typeof import("@mercurjs/core/api/vendor/returns/[id]/route")',"/vendor/returns/:id/cancel":'typeof import("@mercurjs/core/api/vendor/returns/[id]/cancel/route")',"/vendor/returns/:id/dismiss-items":'typeof import("@mercurjs/core/api/vendor/returns/[id]/dismiss-items/route")',"/vendor/returns/:id/dismiss-items/:action_id":'typeof import("@mercurjs/core/api/vendor/returns/[id]/dismiss-items/[action_id]/route")',"/vendor/returns/:id/receive":'typeof import("@mercurjs/core/api/vendor/returns/[id]/receive/route")',"/vendor/returns/:id/receive-items":'typeof import("@mercurjs/core/api/vendor/returns/[id]/receive-items/route")',"/vendor/returns/:id/receive-items/:action_id":'typeof import("@mercurjs/core/api/vendor/returns/[id]/receive-items/[action_id]/route")',"/vendor/returns/:id/receive/confirm":'typeof import("@mercurjs/core/api/vendor/returns/[id]/receive/confirm/route")',"/vendor/returns/:id/request":'typeof import("@mercurjs/core/api/vendor/returns/[id]/request/route")',"/vendor/returns/:id/request-items":'typeof import("@mercurjs/core/api/vendor/returns/[id]/request-items/route")',"/vendor/returns/:id/request-items/:action_id":'typeof import("@mercurjs/core/api/vendor/returns/[id]/request-items/[action_id]/route")',"/vendor/returns/:id/shipping-method":'typeof import("@mercurjs/core/api/vendor/returns/[id]/shipping-method/route")',"/vendor/returns/:id/shipping-method/:action_id":'typeof import("@mercurjs/core/api/vendor/returns/[id]/shipping-method/[action_id]/route")',"/vendor/sales-channels":'typeof import("@mercurjs/core/api/vendor/sales-channels/route")',"/vendor/sales-channels/:id":'typeof import("@mercurjs/core/api/vendor/sales-channels/[id]/route")',"/vendor/sales-channels/:id/products":'typeof import("@mercurjs/core/api/vendor/sales-channels/[id]/products/route")',"/vendor/sellers":'typeof import("@mercurjs/core/api/vendor/sellers/route")',"/vendor/sellers/me":'typeof import("@mercurjs/core/api/vendor/sellers/me/route")',"/vendor/shipping-option-types":'typeof import("@mercurjs/core/api/vendor/shipping-option-types/route")',"/vendor/shipping-option-types/:id":'typeof import("@mercurjs/core/api/vendor/shipping-option-types/[id]/route")',"/vendor/shipping-options":'typeof import("@mercurjs/core/api/vendor/shipping-options/route")',"/vendor/shipping-options/:id":'typeof import("@mercurjs/core/api/vendor/shipping-options/[id]/route")',"/vendor/shipping-options/:id/rules/batch":'typeof import("@mercurjs/core/api/vendor/shipping-options/[id]/rules/batch/route")',"/vendor/shipping-profiles":'typeof import("@mercurjs/core/api/vendor/shipping-profiles/route")',"/vendor/shipping-profiles/:id":'typeof import("@mercurjs/core/api/vendor/shipping-profiles/[id]/route")',"/vendor/stock-locations":'typeof import("@mercurjs/core/api/vendor/stock-locations/route")',"/vendor/stock-locations/:id":'typeof import("@mercurjs/core/api/vendor/stock-locations/[id]/route")',"/vendor/stock-locations/:id/fulfillment-providers":'typeof import("@mercurjs/core/api/vendor/stock-locations/[id]/fulfillment-providers/route")',"/vendor/stock-locations/:id/fulfillment-sets":'typeof import("@mercurjs/core/api/vendor/stock-locations/[id]/fulfillment-sets/route")',"/vendor/stock-locations/:id/sales-channels":'typeof import("@mercurjs/core/api/vendor/stock-locations/[id]/sales-channels/route")',"/vendor/uploads":'typeof import("@mercurjs/core/api/vendor/uploads/route")'};async function _t(e,t={}){let{pathnameFilter:r,ignoreFilter:o,ignorePartFilter:i,sortPathnames:s=true}=t,n=[],m=[e];for(;m.length>0;){let p=await Promise.all(m.map(async d=>{let u={directories:[],pathnames:[]};try{let c=await U__default.readdir(d,{withFileTypes:!0});for(let f of c){if(i&&i(f.name))continue;let y=R__default.join(d,f.name);o&&o(y)||(f.isDirectory()?u.directories.push(y):(!r||r(y))&&u.pathnames.push(y));}}catch(c){if(c.code!=="ENOENT"||d===e)throw c;return null}return u}));m=[];for(let d of p)d&&(m.push(...d.directories),n.push(...d.pathnames));}return s&&n.sort(),n}async function et(e){return await U__default.stat(e).catch(()=>null)!==null}async function tt(e){await et(e)||await U__default.mkdir(e,{recursive:true});}function ye(e){return e.replace(/\\/g,"/")}function Pe(e){return e.split("/").reduce((r,o)=>{if(!o||ie.test(o))return r;if(o.startsWith("[")&&o.endsWith("]")){let i=o.slice(1,-1);return `${r}/:${i}`}return `${r}/${o}`},"")||"/"}async function kt(e){return await et(e)?(await _t(e,{pathnameFilter:o=>ie.test(o),ignorePartFilter:o=>o.startsWith("_")||o==="node_modules"})).map(o=>{let i=R__default.relative(e,o);return {filePath:ye(i),route:Pe(ye(i))}}):[]}function Et(e){return e.replace(/[-_]+(.)?/g,(t,r)=>r?r.toUpperCase():"").replace(/^[A-Z]/,t=>t.toLowerCase())}function ys(e){return `../../src/api/${e.replace(/\.ts$/,"")}`}function hs(e){return e.startsWith(":")?`$${Et(e.slice(1))}`:Et(e)}function Or(){return {children:new Map}}function ws(e){let t=Or();for(let[r,o]of e){let i=r.split("/").filter(Boolean),s=t;for(let n of i){let m=hs(n);s.children.has(m)||s.children.set(m,Or()),s=s.children.get(m);}s.importType=o;}return t}function Nr(e,t=" "){let r=[];if(e.importType&&r.push(e.importType),e.children.size>0){let o=[];for(let[i,s]of e.children){let n=Nr(s,t+" ");o.push(`${t} ${i}: ${n}`);}r.push(`{
27
+ `);}async function vr(e,t,r){if(r={overwrite:false,silent:false,yes:false,...r},!e.length)return;let o=v("Checking registry.",{silent:r.silent})?.start(),i=await lt(e,me(t));if(!i)return o?.fail(),w(new Error("Failed to fetch items from registry."));o?.succeed();let{filesCreated:s,filesUpdated:n}=await hr(i.files,t,{overwrite:r.overwrite,silent:r.silent,path:r.path,yes:r.yes});(s.length||n.length)&&await ur(i.dependencies,i.devDependencies,t,{silent:r.silent}),i.docs&&a.info(i.docs);}z.object({cwd:z.string(),yes:z.boolean(),defaults:z.boolean(),silent:z.boolean()});async function wr(e){let t={},r=R__default.resolve(e.cwd);existsSync(r)||(t.MISSING_DIR=true);let o=await _(r);return {errors:t,projectInfo:o}}var br=join(homedir(),".mercur"),gt=join(br,"config.json"),yt={telemetry_enabled:true,telemetry_email:null,notice_shown:false},ht=class{get(t){return this.read()[t]}set(t,r){let o=this.read();o[t]=r,this.write(o);}read(){try{if(!existsSync(gt))return {...yt};let t=readFileSync(gt,"utf-8"),r=JSON.parse(t);return {...yt,...r}}catch{return {...yt}}}write(t){try{mkdirSync(br,{recursive:!0}),writeFileSync(gt,JSON.stringify(t,null,2)+`
28
+ `,{mode:384});}catch{}}},L=new ht;var le=e=>Function("mm","return import(mm)")(e);function Mi(){let e=(...t)=>t.some(r=>!!process.env[r]);return e("MEDUSA_CLOUD_ENVIRONMENT_HANDLE","MEDUSA_CLOUD_SANDBOX_HANDLE","MEDUSA_CLOUD_API_KEY")?"medusa-cloud":e("RENDER","RENDER_URL","RENDER_INTERNAL_HOSTNAME","RENDER_SERVICE_ID")?"render":e("FLY_APP_NAME","FLY_REGION","FLY_ALLOC_ID")?"fly-io":e("RAILWAY_STATIC_URL","RAILWAY_ENVIRONMENT_NAME")?"railway":e("DYNO","HEROKU_APP_NAME")?"heroku":e("DO_DEPLOYMENT_ID","DO_APP_NAME","DIGITALOCEAN")?"digitalocean":e("KOYEB","KOYEB_DEPLOYMENT_ID","KOYEB_APP_NAME")?"koyeb":null}async function xr(){try{let e=await le("os"),t=e.cpus();return {deploymentVendor:Mi(),systemPlatform:e.platform(),systemRelease:e.release(),systemArchitecture:e.arch(),cpuCount:t.length,cpuModel:t.length?t[0].model:null,cpuSpeed:t.length?t[0].speed:null,memory:e.totalmem(),isWSL:await Ai(),isDocker:await Sr(),isTTY:typeof process<"u"&&process.stdout?process.stdout.isTTY:null}}catch{return {systemPlatform:null,systemRelease:null,systemArchitecture:null,cpuCount:null,cpuModel:null,cpuSpeed:null,memory:null,isWSL:null,isDocker:null,isTTY:null}}}async function Ai(){try{if(typeof process>"u"||process?.platform!=="linux")return !1;let e=await le("fs");return (await le("os")).release().toLowerCase().includes("microsoft")?!await Rr():e.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft")?!await Rr():!1}catch{return false}}var Li=async()=>{try{return (await le("fs")).statSync("/run/.containerenv"),!0}catch{return false}};async function Sr(){return await Ui()||await zi()}async function Ui(){try{return (await le("fs")).statSync("/.dockerenv"),!0}catch{return false}}async function zi(){try{return (await le("fs")).readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return false}}async function Rr(){return await Li()||await Sr()}var vt=e=>createHash("sha256").update(e).digest("base64");var Gi=process.env.MERCUR_TELEMETRY_PROXY_URL||"https://telemetry.mercurjs.com/api/v1/events",_r=e=>{L.set("telemetry_email",e);},kr=e=>{L.set("telemetry_enabled",e);},Xe="https://docs.mercurjs.com/telemetry",H=()=>{L.get("notice_shown")||(L.set("notice_shown",true),process.env.MERCUR_DISABLE_TELEMETRY!=="true"&&console.error(["","Mercur collects anonymous usage data to improve the CLI experience.",`You can disable this at any time by running: ${l.info("mercurjs telemetry --disable")}`,`Or by setting ${l.info("MERCUR_DISABLE_TELEMETRY=true")}`,`Learn more: ${l.info(Xe)}`,""].join(`
29
+ `)));},Vi=()=>L.get("telemetry_enabled")&&process.env.MERCUR_DISABLE_TELEMETRY!=="true",P=async(e,t)=>{try{if(!Vi())return;let r=await _(t.cwd),{projectId:o}=Ji(r.packageJson),i={nodeEnv:Yi(),nodeVersion:process.version,mercurVersion:r.mercurVersion,medusaVersion:r.medusaVersion,isSrcDir:r.isSrcDir,aliasPrefix:r.aliasPrefix,config:await b(t.cwd),projectId:o,systemInfo:await xr(),packageManager:await M(t.cwd),email:Hi()};await fetch(Gi,{body:JSON.stringify({...i,...e}),headers:{"Content-Type":"application/json"},method:"post"});}catch{}};function Yi(){return process.env.NODE_ENV||"development"}var qi=()=>{try{let e=execSync("git config --local --get remote.origin.url",{stdio:"pipe",timeout:1e3});return String(e).trim()}catch{return null}},Ji=e=>{let t=qi();if(t)return {projectId:vt(t)};let r=process.cwd();return {projectId:vt(r)}},Hi=()=>L.get("telemetry_email")||void 0;var Qi=z.object({cwd:z.string(),yes:z.boolean(),defaults:z.boolean(),silent:z.boolean()}),Ir=new Command().name("init").description("initialize your project and install dependencies").option("-y, --yes","skip confirmation prompt.",true).option("-d, --defaults","use default configuration.",false).option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).option("-s, --silent","mute output.",false).action(async e=>{try{H();let t=Qi.parse({cwd:R__default.resolve(e.cwd),...e});await jt(t),a.log(`${l.success("Success!")} Project initialization completed.
30
+ You may now add blocks.`),a.break(),await P({type:"init",payload:{outcome:"success"}},{cwd:t.cwd});}catch(t){a.break(),w(t);}finally{x();}});async function jt(e){await wr(e);let t=await b(e.cwd),r=t?await es(t,e):await Xi(e);if(!e.yes){let{proceed:s}=await De({type:"confirm",name:"proceed",message:`Write configuration to ${l.info("blocks.json")}. Proceed?`,initial:true});s||process.exit(0);}let o=v("Writing blocks.json.").start(),i=R__default.resolve(e.cwd,"blocks.json");return r.registries=Object.fromEntries(Object.entries(r.registries||{}).filter(([s])=>!Object.keys(I).includes(s))),await promises.writeFile(i,`${JSON.stringify(r,null,2)}
31
+ `,"utf8"),o.succeed(),await at(e.cwd,r)}async function Xi(e){if(e.defaults)return W.parse({$schema:Le,aliases:{api:"packages/api/src",vendor:"apps/vendor/src",admin:"apps/admin/src"},registries:I});a.info("");let t=await De([{type:"text",name:"api",message:`Configure the import alias for ${l.info("api")}:`,initial:"packages/api/src"},{type:"text",name:"vendor",message:`Configure the import alias for ${l.info("vendor")}:`,initial:"apps/vendor/src"},{type:"text",name:"admin",message:`Configure the import alias for ${l.info("admin")}:`,initial:"apps/admin/src"}],{onCancel:()=>{process.exit(0);}});return W.parse({$schema:Le,aliases:{api:t.api??"packages/api/src",vendor:t.vendor??"apps/vendor/src",admin:t.admin??"apps/admin/src"},registries:I})}async function es(e,t){if(t.defaults)return W.parse({$schema:Le,aliases:{api:"packages/api/src",vendor:"apps/vendor/src",admin:"apps/admin/src"},registries:I});let r=await De([{type:"text",name:"api",message:`Configure the import alias for ${l.info("api")}:`,initial:e.aliases.api},{type:"text",name:"vendor",message:`Configure the import alias for ${l.info("vendor")}:`,initial:e.aliases.vendor},{type:"text",name:"admin",message:`Configure the import alias for ${l.info("admin")}:`,initial:e.aliases.admin}],{onCancel:()=>{process.exit(0);}});return W.parse({$schema:e.$schema,aliases:{api:r.api??e.aliases.api,vendor:r.vendor??e.aliases.vendor,admin:r.admin??e.aliases.admin}})}var is=z.object({blocks:z.array(z.string()).optional(),yes:z.boolean(),overwrite:z.boolean(),cwd:z.string(),silent:z.boolean()}),Cr=new Command().name("add").description("add blocks to your project").argument("[blocks...]","names of blocks to add").option("-y, --yes","skip confirmation prompt.",false).option("-o, --overwrite","overwrite existing files.",false).option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).option("-s, --silent","mute output.",false).action(async(e,t)=>{try{H();let r=is.parse({blocks:e,cwd:R__default.resolve(t.cwd),...t}),o=await b(r.cwd);o||(o=G({resolvedPaths:{cwd:r.cwd}})),r.blocks?.length||(a.error("Please specify at least one item to add."),process.exit(1));let{errors:i}=await Kt(r);if(i[E]){let{proceed:s}=await De({type:"confirm",name:"proceed",message:`You need to create a ${l.info("blocks.json")} file to add items. Proceed?`,initial:!0});s||(a.break(),process.exit(1)),o=await jt({cwd:r.cwd,yes:!0,defaults:!1,silent:r.silent});}if(!o)throw new Error(`Failed to read config at ${l.info(r.cwd)}.`);await vr(r.blocks,o,{overwrite:r.overwrite,silent:r.silent,yes:r.yes,path:r.cwd}),await P({type:"add",payload:{outcome:"success",blocks:r.blocks}},{cwd:r.cwd});}catch(r){a.break(),w(r);}finally{x();}});var fe=".mercur",oe=/route\.(ts|js)$/,Pr={"/admin/api-keys":'typeof import("@medusajs/medusa/api/admin/api-keys/route")',"/admin/api-keys/:id":'typeof import("@medusajs/medusa/api/admin/api-keys/[id]/route")',"/admin/api-keys/:id/revoke":'typeof import("@medusajs/medusa/api/admin/api-keys/[id]/revoke/route")',"/admin/api-keys/:id/sales-channels":'typeof import("@medusajs/medusa/api/admin/api-keys/[id]/sales-channels/route")',"/admin/campaigns":'typeof import("@medusajs/medusa/api/admin/campaigns/route")',"/admin/campaigns/:id":'typeof import("@medusajs/medusa/api/admin/campaigns/[id]/route")',"/admin/campaigns/:id/promotions":'typeof import("@medusajs/medusa/api/admin/campaigns/[id]/promotions/route")',"/admin/claims":'typeof import("@medusajs/medusa/api/admin/claims/route")',"/admin/claims/:id":'typeof import("@medusajs/medusa/api/admin/claims/[id]/route")',"/admin/claims/:id/cancel":'typeof import("@medusajs/medusa/api/admin/claims/[id]/cancel/route")',"/admin/claims/:id/claim-items":'typeof import("@medusajs/medusa/api/admin/claims/[id]/claim-items/route")',"/admin/claims/:id/claim-items/:action_id":'typeof import("@medusajs/medusa/api/admin/claims/[id]/claim-items/[action_id]/route")',"/admin/claims/:id/inbound/items":'typeof import("@medusajs/medusa/api/admin/claims/[id]/inbound/items/route")',"/admin/claims/:id/inbound/items/:action_id":'typeof import("@medusajs/medusa/api/admin/claims/[id]/inbound/items/[action_id]/route")',"/admin/claims/:id/inbound/shipping-method":'typeof import("@medusajs/medusa/api/admin/claims/[id]/inbound/shipping-method/route")',"/admin/claims/:id/inbound/shipping-method/:action_id":'typeof import("@medusajs/medusa/api/admin/claims/[id]/inbound/shipping-method/[action_id]/route")',"/admin/claims/:id/outbound/items":'typeof import("@medusajs/medusa/api/admin/claims/[id]/outbound/items/route")',"/admin/claims/:id/outbound/items/:action_id":'typeof import("@medusajs/medusa/api/admin/claims/[id]/outbound/items/[action_id]/route")',"/admin/claims/:id/outbound/shipping-method":'typeof import("@medusajs/medusa/api/admin/claims/[id]/outbound/shipping-method/route")',"/admin/claims/:id/outbound/shipping-method/:action_id":'typeof import("@medusajs/medusa/api/admin/claims/[id]/outbound/shipping-method/[action_id]/route")',"/admin/claims/:id/request":'typeof import("@medusajs/medusa/api/admin/claims/[id]/request/route")',"/admin/collections":'typeof import("@medusajs/medusa/api/admin/collections/route")',"/admin/collections/:id":'typeof import("@medusajs/medusa/api/admin/collections/[id]/route")',"/admin/collections/:id/products":'typeof import("@medusajs/medusa/api/admin/collections/[id]/products/route")',"/admin/currencies":'typeof import("@medusajs/medusa/api/admin/currencies/route")',"/admin/currencies/:code":'typeof import("@medusajs/medusa/api/admin/currencies/[code]/route")',"/admin/customer-groups":'typeof import("@medusajs/medusa/api/admin/customer-groups/route")',"/admin/customer-groups/:id":'typeof import("@medusajs/medusa/api/admin/customer-groups/[id]/route")',"/admin/customer-groups/:id/customers":'typeof import("@medusajs/medusa/api/admin/customer-groups/[id]/customers/route")',"/admin/customers":'typeof import("@medusajs/medusa/api/admin/customers/route")',"/admin/customers/:id":'typeof import("@medusajs/medusa/api/admin/customers/[id]/route")',"/admin/customers/:id/addresses":'typeof import("@medusajs/medusa/api/admin/customers/[id]/addresses/route")',"/admin/customers/:id/addresses/:address_id":'typeof import("@medusajs/medusa/api/admin/customers/[id]/addresses/[address_id]/route")',"/admin/customers/:id/customer-groups":'typeof import("@medusajs/medusa/api/admin/customers/[id]/customer-groups/route")',"/admin/draft-orders":'typeof import("@medusajs/medusa/api/admin/draft-orders/route")',"/admin/draft-orders/:id":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/route")',"/admin/draft-orders/:id/convert-to-order":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/convert-to-order/route")',"/admin/draft-orders/:id/edit":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/route")',"/admin/draft-orders/:id/edit/confirm":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/confirm/route")',"/admin/draft-orders/:id/edit/items":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/items/route")',"/admin/draft-orders/:id/edit/items/:action_id":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/items/[action_id]/route")',"/admin/draft-orders/:id/edit/items/item/:item_id":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/items/item/[item_id]/route")',"/admin/draft-orders/:id/edit/promotions":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/promotions/route")',"/admin/draft-orders/:id/edit/request":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/request/route")',"/admin/draft-orders/:id/edit/shipping-methods":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/shipping-methods/route")',"/admin/draft-orders/:id/edit/shipping-methods/:action_id":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/shipping-methods/[action_id]/route")',"/admin/draft-orders/:id/edit/shipping-methods/method/:method_id":'typeof import("@medusajs/medusa/api/admin/draft-orders/[id]/edit/shipping-methods/method/[method_id]/route")',"/admin/exchanges":'typeof import("@medusajs/medusa/api/admin/exchanges/route")',"/admin/exchanges/:id":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/route")',"/admin/exchanges/:id/cancel":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/cancel/route")',"/admin/exchanges/:id/inbound/items":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/inbound/items/route")',"/admin/exchanges/:id/inbound/items/:action_id":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/inbound/items/[action_id]/route")',"/admin/exchanges/:id/inbound/shipping-method":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/inbound/shipping-method/route")',"/admin/exchanges/:id/inbound/shipping-method/:action_id":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/inbound/shipping-method/[action_id]/route")',"/admin/exchanges/:id/outbound/items":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/outbound/items/route")',"/admin/exchanges/:id/outbound/items/:action_id":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/outbound/items/[action_id]/route")',"/admin/exchanges/:id/outbound/shipping-method":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/outbound/shipping-method/route")',"/admin/exchanges/:id/outbound/shipping-method/:action_id":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/outbound/shipping-method/[action_id]/route")',"/admin/exchanges/:id/request":'typeof import("@medusajs/medusa/api/admin/exchanges/[id]/request/route")',"/admin/feature-flags":'typeof import("@medusajs/medusa/api/admin/feature-flags/route")',"/admin/fulfillment-providers":'typeof import("@medusajs/medusa/api/admin/fulfillment-providers/route")',"/admin/fulfillment-providers/:id/options":'typeof import("@medusajs/medusa/api/admin/fulfillment-providers/[id]/options/route")',"/admin/fulfillment-sets/:id":'typeof import("@medusajs/medusa/api/admin/fulfillment-sets/[id]/route")',"/admin/fulfillment-sets/:id/service-zones":'typeof import("@medusajs/medusa/api/admin/fulfillment-sets/[id]/service-zones/route")',"/admin/fulfillment-sets/:id/service-zones/:zone_id":'typeof import("@medusajs/medusa/api/admin/fulfillment-sets/[id]/service-zones/[zone_id]/route")',"/admin/fulfillments":'typeof import("@medusajs/medusa/api/admin/fulfillments/route")',"/admin/fulfillments/:id/cancel":'typeof import("@medusajs/medusa/api/admin/fulfillments/[id]/cancel/route")',"/admin/fulfillments/:id/shipment":'typeof import("@medusajs/medusa/api/admin/fulfillments/[id]/shipment/route")',"/admin/index/details":'typeof import("@medusajs/medusa/api/admin/index/details/route")',"/admin/index/sync":'typeof import("@medusajs/medusa/api/admin/index/sync/route")',"/admin/inventory-items":'typeof import("@medusajs/medusa/api/admin/inventory-items/route")',"/admin/inventory-items/:id":'typeof import("@medusajs/medusa/api/admin/inventory-items/[id]/route")',"/admin/inventory-items/:id/location-levels":'typeof import("@medusajs/medusa/api/admin/inventory-items/[id]/location-levels/route")',"/admin/inventory-items/:id/location-levels/:location_id":'typeof import("@medusajs/medusa/api/admin/inventory-items/[id]/location-levels/[location_id]/route")',"/admin/inventory-items/:id/location-levels/batch":'typeof import("@medusajs/medusa/api/admin/inventory-items/[id]/location-levels/batch/route")',"/admin/inventory-items/location-levels/batch":'typeof import("@medusajs/medusa/api/admin/inventory-items/location-levels/batch/route")',"/admin/invites":'typeof import("@medusajs/medusa/api/admin/invites/route")',"/admin/invites/:id":'typeof import("@medusajs/medusa/api/admin/invites/[id]/route")',"/admin/invites/:id/resend":'typeof import("@medusajs/medusa/api/admin/invites/[id]/resend/route")',"/admin/invites/accept":'typeof import("@medusajs/medusa/api/admin/invites/accept/route")',"/admin/locales":'typeof import("@medusajs/medusa/api/admin/locales/route")',"/admin/locales/:code":'typeof import("@medusajs/medusa/api/admin/locales/[code]/route")',"/admin/notifications":'typeof import("@medusajs/medusa/api/admin/notifications/route")',"/admin/notifications/:id":'typeof import("@medusajs/medusa/api/admin/notifications/[id]/route")',"/admin/order-changes/:id":'typeof import("@medusajs/medusa/api/admin/order-changes/[id]/route")',"/admin/order-edits":'typeof import("@medusajs/medusa/api/admin/order-edits/route")',"/admin/order-edits/:id":'typeof import("@medusajs/medusa/api/admin/order-edits/[id]/route")',"/admin/order-edits/:id/confirm":'typeof import("@medusajs/medusa/api/admin/order-edits/[id]/confirm/route")',"/admin/order-edits/:id/items":'typeof import("@medusajs/medusa/api/admin/order-edits/[id]/items/route")',"/admin/order-edits/:id/items/:action_id":'typeof import("@medusajs/medusa/api/admin/order-edits/[id]/items/[action_id]/route")',"/admin/order-edits/:id/items/item/:item_id":'typeof import("@medusajs/medusa/api/admin/order-edits/[id]/items/item/[item_id]/route")',"/admin/order-edits/:id/request":'typeof import("@medusajs/medusa/api/admin/order-edits/[id]/request/route")',"/admin/order-edits/:id/shipping-method":'typeof import("@medusajs/medusa/api/admin/order-edits/[id]/shipping-method/route")',"/admin/order-edits/:id/shipping-method/:action_id":'typeof import("@medusajs/medusa/api/admin/order-edits/[id]/shipping-method/[action_id]/route")',"/admin/orders":'typeof import("@medusajs/medusa/api/admin/orders/route")',"/admin/orders/:id":'typeof import("@medusajs/medusa/api/admin/orders/[id]/route")',"/admin/orders/:id/archive":'typeof import("@medusajs/medusa/api/admin/orders/[id]/archive/route")',"/admin/orders/:id/cancel":'typeof import("@medusajs/medusa/api/admin/orders/[id]/cancel/route")',"/admin/orders/:id/changes":'typeof import("@medusajs/medusa/api/admin/orders/[id]/changes/route")',"/admin/orders/:id/complete":'typeof import("@medusajs/medusa/api/admin/orders/[id]/complete/route")',"/admin/orders/:id/credit-lines":'typeof import("@medusajs/medusa/api/admin/orders/[id]/credit-lines/route")',"/admin/orders/:id/fulfillments":'typeof import("@medusajs/medusa/api/admin/orders/[id]/fulfillments/route")',"/admin/orders/:id/fulfillments/:fulfillment_id/cancel":'typeof import("@medusajs/medusa/api/admin/orders/[id]/fulfillments/[fulfillment_id]/cancel/route")',"/admin/orders/:id/fulfillments/:fulfillment_id/mark-as-delivered":'typeof import("@medusajs/medusa/api/admin/orders/[id]/fulfillments/[fulfillment_id]/mark-as-delivered/route")',"/admin/orders/:id/fulfillments/:fulfillment_id/shipments":'typeof import("@medusajs/medusa/api/admin/orders/[id]/fulfillments/[fulfillment_id]/shipments/route")',"/admin/orders/:id/line-items":'typeof import("@medusajs/medusa/api/admin/orders/[id]/line-items/route")',"/admin/orders/:id/preview":'typeof import("@medusajs/medusa/api/admin/orders/[id]/preview/route")',"/admin/orders/:id/shipping-options":'typeof import("@medusajs/medusa/api/admin/orders/[id]/shipping-options/route")',"/admin/orders/:id/transfer":'typeof import("@medusajs/medusa/api/admin/orders/[id]/transfer/route")',"/admin/orders/:id/transfer/cancel":'typeof import("@medusajs/medusa/api/admin/orders/[id]/transfer/cancel/route")',"/admin/orders/export":'typeof import("@medusajs/medusa/api/admin/orders/export/route")',"/admin/payment-collections":'typeof import("@medusajs/medusa/api/admin/payment-collections/route")',"/admin/payment-collections/:id":'typeof import("@medusajs/medusa/api/admin/payment-collections/[id]/route")',"/admin/payment-collections/:id/mark-as-paid":'typeof import("@medusajs/medusa/api/admin/payment-collections/[id]/mark-as-paid/route")',"/admin/payments":'typeof import("@medusajs/medusa/api/admin/payments/route")',"/admin/payments/:id":'typeof import("@medusajs/medusa/api/admin/payments/[id]/route")',"/admin/payments/:id/capture":'typeof import("@medusajs/medusa/api/admin/payments/[id]/capture/route")',"/admin/payments/:id/refund":'typeof import("@medusajs/medusa/api/admin/payments/[id]/refund/route")',"/admin/payments/payment-providers":'typeof import("@medusajs/medusa/api/admin/payments/payment-providers/route")',"/admin/plugins":'typeof import("@medusajs/medusa/api/admin/plugins/route")',"/admin/price-lists":'typeof import("@medusajs/medusa/api/admin/price-lists/route")',"/admin/price-lists/:id":'typeof import("@medusajs/medusa/api/admin/price-lists/[id]/route")',"/admin/price-lists/:id/prices":'typeof import("@medusajs/medusa/api/admin/price-lists/[id]/prices/route")',"/admin/price-lists/:id/prices/batch":'typeof import("@medusajs/medusa/api/admin/price-lists/[id]/prices/batch/route")',"/admin/price-lists/:id/products":'typeof import("@medusajs/medusa/api/admin/price-lists/[id]/products/route")',"/admin/price-preferences":'typeof import("@medusajs/medusa/api/admin/price-preferences/route")',"/admin/price-preferences/:id":'typeof import("@medusajs/medusa/api/admin/price-preferences/[id]/route")',"/admin/product-categories":'typeof import("@medusajs/medusa/api/admin/product-categories/route")',"/admin/product-categories/:id":'typeof import("@medusajs/medusa/api/admin/product-categories/[id]/route")',"/admin/product-categories/:id/products":'typeof import("@medusajs/medusa/api/admin/product-categories/[id]/products/route")',"/admin/product-tags":'typeof import("@medusajs/medusa/api/admin/product-tags/route")',"/admin/product-tags/:id":'typeof import("@medusajs/medusa/api/admin/product-tags/[id]/route")',"/admin/product-types":'typeof import("@medusajs/medusa/api/admin/product-types/route")',"/admin/product-types/:id":'typeof import("@medusajs/medusa/api/admin/product-types/[id]/route")',"/admin/product-variants":'typeof import("@medusajs/medusa/api/admin/product-variants/route")',"/admin/products":'typeof import("@medusajs/medusa/api/admin/products/route")',"/admin/products/:id":'typeof import("@medusajs/medusa/api/admin/products/[id]/route")',"/admin/products/:id/images/:image_id/variants/batch":'typeof import("@medusajs/medusa/api/admin/products/[id]/images/[image_id]/variants/batch/route")',"/admin/products/:id/options":'typeof import("@medusajs/medusa/api/admin/products/[id]/options/route")',"/admin/products/:id/options/:option_id":'typeof import("@medusajs/medusa/api/admin/products/[id]/options/[option_id]/route")',"/admin/products/:id/variants":'typeof import("@medusajs/medusa/api/admin/products/[id]/variants/route")',"/admin/products/:id/variants/:variant_id":'typeof import("@medusajs/medusa/api/admin/products/[id]/variants/[variant_id]/route")',"/admin/products/:id/variants/:variant_id/images/batch":'typeof import("@medusajs/medusa/api/admin/products/[id]/variants/[variant_id]/images/batch/route")',"/admin/products/:id/variants/:variant_id/inventory-items":'typeof import("@medusajs/medusa/api/admin/products/[id]/variants/[variant_id]/inventory-items/route")',"/admin/products/:id/variants/:variant_id/inventory-items/:inventory_item_id":'typeof import("@medusajs/medusa/api/admin/products/[id]/variants/[variant_id]/inventory-items/[inventory_item_id]/route")',"/admin/products/:id/variants/batch":'typeof import("@medusajs/medusa/api/admin/products/[id]/variants/batch/route")',"/admin/products/:id/variants/inventory-items/batch":'typeof import("@medusajs/medusa/api/admin/products/[id]/variants/inventory-items/batch/route")',"/admin/products/batch":'typeof import("@medusajs/medusa/api/admin/products/batch/route")',"/admin/products/export":'typeof import("@medusajs/medusa/api/admin/products/export/route")',"/admin/products/import":'typeof import("@medusajs/medusa/api/admin/products/import/route")',"/admin/products/import/:transaction_id/confirm":'typeof import("@medusajs/medusa/api/admin/products/import/[transaction_id]/confirm/route")',"/admin/products/imports":'typeof import("@medusajs/medusa/api/admin/products/imports/route")',"/admin/products/imports/:transaction_id/confirm":'typeof import("@medusajs/medusa/api/admin/products/imports/[transaction_id]/confirm/route")',"/admin/promotions":'typeof import("@medusajs/medusa/api/admin/promotions/route")',"/admin/promotions/:id":'typeof import("@medusajs/medusa/api/admin/promotions/[id]/route")',"/admin/promotions/:id/:rule_type":'typeof import("@medusajs/medusa/api/admin/promotions/[id]/[rule_type]/route")',"/admin/promotions/:id/buy-rules/batch":'typeof import("@medusajs/medusa/api/admin/promotions/[id]/buy-rules/batch/route")',"/admin/promotions/:id/rules/batch":'typeof import("@medusajs/medusa/api/admin/promotions/[id]/rules/batch/route")',"/admin/promotions/:id/target-rules/batch":'typeof import("@medusajs/medusa/api/admin/promotions/[id]/target-rules/batch/route")',"/admin/promotions/rule-attribute-options/:rule_type":'typeof import("@medusajs/medusa/api/admin/promotions/rule-attribute-options/[rule_type]/route")',"/admin/promotions/rule-value-options/:rule_type/:rule_attribute_id":'typeof import("@medusajs/medusa/api/admin/promotions/rule-value-options/[rule_type]/[rule_attribute_id]/route")',"/admin/rbac/policies":'typeof import("@medusajs/medusa/api/admin/rbac/policies/route")',"/admin/rbac/policies/:id":'typeof import("@medusajs/medusa/api/admin/rbac/policies/[id]/route")',"/admin/rbac/roles":'typeof import("@medusajs/medusa/api/admin/rbac/roles/route")',"/admin/rbac/roles/:id":'typeof import("@medusajs/medusa/api/admin/rbac/roles/[id]/route")',"/admin/rbac/roles/:id/policies":'typeof import("@medusajs/medusa/api/admin/rbac/roles/[id]/policies/route")',"/admin/rbac/roles/:id/policies/:policy_id":'typeof import("@medusajs/medusa/api/admin/rbac/roles/[id]/policies/[policy_id]/route")',"/admin/refund-reasons":'typeof import("@medusajs/medusa/api/admin/refund-reasons/route")',"/admin/refund-reasons/:id":'typeof import("@medusajs/medusa/api/admin/refund-reasons/[id]/route")',"/admin/regions":'typeof import("@medusajs/medusa/api/admin/regions/route")',"/admin/regions/:id":'typeof import("@medusajs/medusa/api/admin/regions/[id]/route")',"/admin/reservations":'typeof import("@medusajs/medusa/api/admin/reservations/route")',"/admin/reservations/:id":'typeof import("@medusajs/medusa/api/admin/reservations/[id]/route")',"/admin/return-reasons":'typeof import("@medusajs/medusa/api/admin/return-reasons/route")',"/admin/return-reasons/:id":'typeof import("@medusajs/medusa/api/admin/return-reasons/[id]/route")',"/admin/returns":'typeof import("@medusajs/medusa/api/admin/returns/route")',"/admin/returns/:id":'typeof import("@medusajs/medusa/api/admin/returns/[id]/route")',"/admin/returns/:id/cancel":'typeof import("@medusajs/medusa/api/admin/returns/[id]/cancel/route")',"/admin/returns/:id/dismiss-items":'typeof import("@medusajs/medusa/api/admin/returns/[id]/dismiss-items/route")',"/admin/returns/:id/dismiss-items/:action_id":'typeof import("@medusajs/medusa/api/admin/returns/[id]/dismiss-items/[action_id]/route")',"/admin/returns/:id/receive":'typeof import("@medusajs/medusa/api/admin/returns/[id]/receive/route")',"/admin/returns/:id/receive-items":'typeof import("@medusajs/medusa/api/admin/returns/[id]/receive-items/route")',"/admin/returns/:id/receive-items/:action_id":'typeof import("@medusajs/medusa/api/admin/returns/[id]/receive-items/[action_id]/route")',"/admin/returns/:id/receive/confirm":'typeof import("@medusajs/medusa/api/admin/returns/[id]/receive/confirm/route")',"/admin/returns/:id/request":'typeof import("@medusajs/medusa/api/admin/returns/[id]/request/route")',"/admin/returns/:id/request-items":'typeof import("@medusajs/medusa/api/admin/returns/[id]/request-items/route")',"/admin/returns/:id/request-items/:action_id":'typeof import("@medusajs/medusa/api/admin/returns/[id]/request-items/[action_id]/route")',"/admin/returns/:id/shipping-method":'typeof import("@medusajs/medusa/api/admin/returns/[id]/shipping-method/route")',"/admin/returns/:id/shipping-method/:action_id":'typeof import("@medusajs/medusa/api/admin/returns/[id]/shipping-method/[action_id]/route")',"/admin/sales-channels":'typeof import("@medusajs/medusa/api/admin/sales-channels/route")',"/admin/sales-channels/:id":'typeof import("@medusajs/medusa/api/admin/sales-channels/[id]/route")',"/admin/sales-channels/:id/products":'typeof import("@medusajs/medusa/api/admin/sales-channels/[id]/products/route")',"/admin/shipping-option-types":'typeof import("@medusajs/medusa/api/admin/shipping-option-types/route")',"/admin/shipping-option-types/:id":'typeof import("@medusajs/medusa/api/admin/shipping-option-types/[id]/route")',"/admin/shipping-options":'typeof import("@medusajs/medusa/api/admin/shipping-options/route")',"/admin/shipping-options/:id":'typeof import("@medusajs/medusa/api/admin/shipping-options/[id]/route")',"/admin/shipping-options/:id/rules/batch":'typeof import("@medusajs/medusa/api/admin/shipping-options/[id]/rules/batch/route")',"/admin/shipping-profiles":'typeof import("@medusajs/medusa/api/admin/shipping-profiles/route")',"/admin/shipping-profiles/:id":'typeof import("@medusajs/medusa/api/admin/shipping-profiles/[id]/route")',"/admin/stock-locations":'typeof import("@medusajs/medusa/api/admin/stock-locations/route")',"/admin/stock-locations/:id":'typeof import("@medusajs/medusa/api/admin/stock-locations/[id]/route")',"/admin/stock-locations/:id/fulfillment-providers":'typeof import("@medusajs/medusa/api/admin/stock-locations/[id]/fulfillment-providers/route")',"/admin/stock-locations/:id/fulfillment-sets":'typeof import("@medusajs/medusa/api/admin/stock-locations/[id]/fulfillment-sets/route")',"/admin/stock-locations/:id/sales-channels":'typeof import("@medusajs/medusa/api/admin/stock-locations/[id]/sales-channels/route")',"/admin/stores":'typeof import("@medusajs/medusa/api/admin/stores/route")',"/admin/stores/:id":'typeof import("@medusajs/medusa/api/admin/stores/[id]/route")',"/admin/tax-providers":'typeof import("@medusajs/medusa/api/admin/tax-providers/route")',"/admin/tax-rates":'typeof import("@medusajs/medusa/api/admin/tax-rates/route")',"/admin/tax-rates/:id":'typeof import("@medusajs/medusa/api/admin/tax-rates/[id]/route")',"/admin/tax-rates/:id/rules":'typeof import("@medusajs/medusa/api/admin/tax-rates/[id]/rules/route")',"/admin/tax-rates/:id/rules/:rule_id":'typeof import("@medusajs/medusa/api/admin/tax-rates/[id]/rules/[rule_id]/route")',"/admin/tax-regions":'typeof import("@medusajs/medusa/api/admin/tax-regions/route")',"/admin/tax-regions/:id":'typeof import("@medusajs/medusa/api/admin/tax-regions/[id]/route")',"/admin/translations":'typeof import("@medusajs/medusa/api/admin/translations/route")',"/admin/translations/batch":'typeof import("@medusajs/medusa/api/admin/translations/batch/route")',"/admin/translations/entities":'typeof import("@medusajs/medusa/api/admin/translations/entities/route")',"/admin/translations/settings":'typeof import("@medusajs/medusa/api/admin/translations/settings/route")',"/admin/translations/settings/batch":'typeof import("@medusajs/medusa/api/admin/translations/settings/batch/route")',"/admin/translations/statistics":'typeof import("@medusajs/medusa/api/admin/translations/statistics/route")',"/admin/uploads":'typeof import("@medusajs/medusa/api/admin/uploads/route")',"/admin/uploads/:id":'typeof import("@medusajs/medusa/api/admin/uploads/[id]/route")',"/admin/uploads/presigned-urls":'typeof import("@medusajs/medusa/api/admin/uploads/presigned-urls/route")',"/admin/users":'typeof import("@medusajs/medusa/api/admin/users/route")',"/admin/users/:id":'typeof import("@medusajs/medusa/api/admin/users/[id]/route")',"/admin/users/me":'typeof import("@medusajs/medusa/api/admin/users/me/route")',"/admin/views/:entity/columns":'typeof import("@medusajs/medusa/api/admin/views/[entity]/columns/route")',"/admin/views/:entity/configurations":'typeof import("@medusajs/medusa/api/admin/views/[entity]/configurations/route")',"/admin/views/:entity/configurations/:id":'typeof import("@medusajs/medusa/api/admin/views/[entity]/configurations/[id]/route")',"/admin/views/:entity/configurations/active":'typeof import("@medusajs/medusa/api/admin/views/[entity]/configurations/active/route")',"/admin/workflows-executions":'typeof import("@medusajs/medusa/api/admin/workflows-executions/route")',"/admin/workflows-executions/:id":'typeof import("@medusajs/medusa/api/admin/workflows-executions/[id]/route")',"/admin/workflows-executions/:workflow_id/:transaction_id":'typeof import("@medusajs/medusa/api/admin/workflows-executions/[workflow_id]/[transaction_id]/route")',"/admin/workflows-executions/:workflow_id/:transaction_id/:step_id/subscribe":'typeof import("@medusajs/medusa/api/admin/workflows-executions/[workflow_id]/[transaction_id]/[step_id]/subscribe/route")',"/admin/workflows-executions/:workflow_id/run":'typeof import("@medusajs/medusa/api/admin/workflows-executions/[workflow_id]/run/route")',"/admin/workflows-executions/:workflow_id/steps/failure":'typeof import("@medusajs/medusa/api/admin/workflows-executions/[workflow_id]/steps/failure/route")',"/admin/workflows-executions/:workflow_id/steps/success":'typeof import("@medusajs/medusa/api/admin/workflows-executions/[workflow_id]/steps/success/route")',"/admin/workflows-executions/:workflow_id/subscribe":'typeof import("@medusajs/medusa/api/admin/workflows-executions/[workflow_id]/subscribe/route")',"/auth/:actor_type/:auth_provider":'typeof import("@medusajs/medusa/api/auth/[actor_type]/[auth_provider]/route")',"/auth/:actor_type/:auth_provider/callback":'typeof import("@medusajs/medusa/api/auth/[actor_type]/[auth_provider]/callback/route")',"/auth/:actor_type/:auth_provider/register":'typeof import("@medusajs/medusa/api/auth/[actor_type]/[auth_provider]/register/route")',"/auth/:actor_type/:auth_provider/reset-password":'typeof import("@medusajs/medusa/api/auth/[actor_type]/[auth_provider]/reset-password/route")',"/auth/:actor_type/:auth_provider/update":'typeof import("@medusajs/medusa/api/auth/[actor_type]/[auth_provider]/update/route")',"/auth/session":'typeof import("@medusajs/medusa/api/auth/session/route")',"/auth/token/refresh":'typeof import("@medusajs/medusa/api/auth/token/refresh/route")',"/store/carts":'typeof import("@medusajs/medusa/api/store/carts/route")',"/store/carts/:id":'typeof import("@medusajs/medusa/api/store/carts/[id]/route")',"/store/carts/:id/complete":'typeof import("@medusajs/medusa/api/store/carts/[id]/complete/route")',"/store/carts/:id/customer":'typeof import("@medusajs/medusa/api/store/carts/[id]/customer/route")',"/store/carts/:id/line-items":'typeof import("@medusajs/medusa/api/store/carts/[id]/line-items/route")',"/store/carts/:id/line-items/:line_id":'typeof import("@medusajs/medusa/api/store/carts/[id]/line-items/[line_id]/route")',"/store/carts/:id/promotions":'typeof import("@medusajs/medusa/api/store/carts/[id]/promotions/route")',"/store/carts/:id/shipping-methods":'typeof import("@medusajs/medusa/api/store/carts/[id]/shipping-methods/route")',"/store/carts/:id/taxes":'typeof import("@medusajs/medusa/api/store/carts/[id]/taxes/route")',"/store/collections":'typeof import("@medusajs/medusa/api/store/collections/route")',"/store/collections/:id":'typeof import("@medusajs/medusa/api/store/collections/[id]/route")',"/store/currencies":'typeof import("@medusajs/medusa/api/store/currencies/route")',"/store/currencies/:code":'typeof import("@medusajs/medusa/api/store/currencies/[code]/route")',"/store/customers":'typeof import("@medusajs/medusa/api/store/customers/route")',"/store/customers/me":'typeof import("@medusajs/medusa/api/store/customers/me/route")',"/store/customers/me/addresses":'typeof import("@medusajs/medusa/api/store/customers/me/addresses/route")',"/store/customers/me/addresses/:address_id":'typeof import("@medusajs/medusa/api/store/customers/me/addresses/[address_id]/route")',"/store/locales":'typeof import("@medusajs/medusa/api/store/locales/route")',"/store/orders":'typeof import("@medusajs/medusa/api/store/orders/route")',"/store/orders/:id":'typeof import("@medusajs/medusa/api/store/orders/[id]/route")',"/store/orders/:id/transfer/accept":'typeof import("@medusajs/medusa/api/store/orders/[id]/transfer/accept/route")',"/store/orders/:id/transfer/cancel":'typeof import("@medusajs/medusa/api/store/orders/[id]/transfer/cancel/route")',"/store/orders/:id/transfer/decline":'typeof import("@medusajs/medusa/api/store/orders/[id]/transfer/decline/route")',"/store/orders/:id/transfer/request":'typeof import("@medusajs/medusa/api/store/orders/[id]/transfer/request/route")',"/store/payment-collections":'typeof import("@medusajs/medusa/api/store/payment-collections/route")',"/store/payment-collections/:id/payment-sessions":'typeof import("@medusajs/medusa/api/store/payment-collections/[id]/payment-sessions/route")',"/store/payment-providers":'typeof import("@medusajs/medusa/api/store/payment-providers/route")',"/store/product-categories":'typeof import("@medusajs/medusa/api/store/product-categories/route")',"/store/product-categories/:id":'typeof import("@medusajs/medusa/api/store/product-categories/[id]/route")',"/store/product-tags":'typeof import("@medusajs/medusa/api/store/product-tags/route")',"/store/product-tags/:id":'typeof import("@medusajs/medusa/api/store/product-tags/[id]/route")',"/store/product-types":'typeof import("@medusajs/medusa/api/store/product-types/route")',"/store/product-types/:id":'typeof import("@medusajs/medusa/api/store/product-types/[id]/route")',"/store/product-variants":'typeof import("@medusajs/medusa/api/store/product-variants/route")',"/store/product-variants/:id":'typeof import("@medusajs/medusa/api/store/product-variants/[id]/route")',"/store/products":'typeof import("@medusajs/medusa/api/store/products/route")',"/store/products/:id":'typeof import("@medusajs/medusa/api/store/products/[id]/route")',"/store/regions":'typeof import("@medusajs/medusa/api/store/regions/route")',"/store/regions/:id":'typeof import("@medusajs/medusa/api/store/regions/[id]/route")',"/store/return-reasons":'typeof import("@medusajs/medusa/api/store/return-reasons/route")',"/store/return-reasons/:id":'typeof import("@medusajs/medusa/api/store/return-reasons/[id]/route")',"/store/returns":'typeof import("@medusajs/medusa/api/store/returns/route")',"/store/shipping-options":'typeof import("@medusajs/medusa/api/store/shipping-options/route")',"/store/shipping-options/:id/calculate":'typeof import("@medusajs/medusa/api/store/shipping-options/[id]/calculate/route")'},Tr={"/admin/commission-rates":'typeof import("@mercurjs/core/api/admin/commission-rates/route")',"/admin/commission-rates/:id":'typeof import("@mercurjs/core/api/admin/commission-rates/[id]/route")',"/admin/commission-rates/:id/rules":'typeof import("@mercurjs/core/api/admin/commission-rates/[id]/rules/route")',"/admin/members":'typeof import("@mercurjs/core/api/admin/members/route")',"/admin/offers":'typeof import("@mercurjs/core/api/admin/offers/route")',"/admin/offers/:id":'typeof import("@mercurjs/core/api/admin/offers/[id]/route")',"/admin/offers/batch":'typeof import("@mercurjs/core/api/admin/offers/batch/route")',"/admin/order-groups":'typeof import("@mercurjs/core/api/admin/order-groups/route")',"/admin/order-groups/:id":'typeof import("@mercurjs/core/api/admin/order-groups/[id]/route")',"/admin/orders":'typeof import("@mercurjs/core/api/admin/orders/route")',"/admin/orders/:id/order-group":'typeof import("@mercurjs/core/api/admin/orders/[id]/order-group/route")',"/admin/payouts":'typeof import("@mercurjs/core/api/admin/payouts/route")',"/admin/payouts/:id":'typeof import("@mercurjs/core/api/admin/payouts/[id]/route")',"/admin/product-attributes":'typeof import("@mercurjs/core/api/admin/product-attributes/route")',"/admin/product-attributes/:id":'typeof import("@mercurjs/core/api/admin/product-attributes/[id]/route")',"/admin/product-attributes/:id/values":'typeof import("@mercurjs/core/api/admin/product-attributes/[id]/values/route")',"/admin/product-attributes/:id/values/:value_id":'typeof import("@mercurjs/core/api/admin/product-attributes/[id]/values/[value_id]/route")',"/admin/product-brands":'typeof import("@mercurjs/core/api/admin/product-brands/route")',"/admin/product-brands/:id":'typeof import("@mercurjs/core/api/admin/product-brands/[id]/route")',"/admin/product-brands/:id/sellers":'typeof import("@mercurjs/core/api/admin/product-brands/[id]/sellers/route")',"/admin/product-categories":'typeof import("@mercurjs/core/api/admin/product-categories/route")',"/admin/product-categories/:id":'typeof import("@mercurjs/core/api/admin/product-categories/[id]/route")',"/admin/product-categories/:id/products":'typeof import("@mercurjs/core/api/admin/product-categories/[id]/products/route")',"/admin/product-categories/:id/sellers":'typeof import("@mercurjs/core/api/admin/product-categories/[id]/sellers/route")',"/admin/product-changes/:id/cancel":'typeof import("@mercurjs/core/api/admin/product-changes/[id]/cancel/route")',"/admin/product-changes/:id/confirm":'typeof import("@mercurjs/core/api/admin/product-changes/[id]/confirm/route")',"/admin/products":'typeof import("@mercurjs/core/api/admin/products/route")',"/admin/products/:id":'typeof import("@mercurjs/core/api/admin/products/[id]/route")',"/admin/products/:id/attributes":'typeof import("@mercurjs/core/api/admin/products/[id]/attributes/route")',"/admin/products/:id/attributes/:attribute_id":'typeof import("@mercurjs/core/api/admin/products/[id]/attributes/[attribute_id]/route")',"/admin/products/:id/attributes/batch":'typeof import("@mercurjs/core/api/admin/products/[id]/attributes/batch/route")',"/admin/products/:id/confirm":'typeof import("@mercurjs/core/api/admin/products/[id]/confirm/route")',"/admin/products/:id/preview":'typeof import("@mercurjs/core/api/admin/products/[id]/preview/route")',"/admin/products/:id/reject":'typeof import("@mercurjs/core/api/admin/products/[id]/reject/route")',"/admin/products/:id/request-changes":'typeof import("@mercurjs/core/api/admin/products/[id]/request-changes/route")',"/admin/products/:id/variants":'typeof import("@mercurjs/core/api/admin/products/[id]/variants/route")',"/admin/products/:id/variants/:variant_id":'typeof import("@mercurjs/core/api/admin/products/[id]/variants/[variant_id]/route")',"/admin/products/batch":'typeof import("@mercurjs/core/api/admin/products/batch/route")',"/admin/sellers":'typeof import("@mercurjs/core/api/admin/sellers/route")',"/admin/sellers/:id":'typeof import("@mercurjs/core/api/admin/sellers/[id]/route")',"/admin/sellers/:id/address":'typeof import("@mercurjs/core/api/admin/sellers/[id]/address/route")',"/admin/sellers/:id/approve":'typeof import("@mercurjs/core/api/admin/sellers/[id]/approve/route")',"/admin/sellers/:id/members":'typeof import("@mercurjs/core/api/admin/sellers/[id]/members/route")',"/admin/sellers/:id/members/:member_id":'typeof import("@mercurjs/core/api/admin/sellers/[id]/members/[member_id]/route")',"/admin/sellers/:id/members/invite":'typeof import("@mercurjs/core/api/admin/sellers/[id]/members/invite/route")',"/admin/sellers/:id/members/invites":'typeof import("@mercurjs/core/api/admin/sellers/[id]/members/invites/route")',"/admin/sellers/:id/members/invites/:invite_id":'typeof import("@mercurjs/core/api/admin/sellers/[id]/members/invites/[invite_id]/route")',"/admin/sellers/:id/members/invites/:invite_id/resend":'typeof import("@mercurjs/core/api/admin/sellers/[id]/members/invites/[invite_id]/resend/route")',"/admin/sellers/:id/payment-details":'typeof import("@mercurjs/core/api/admin/sellers/[id]/payment-details/route")',"/admin/sellers/:id/products":'typeof import("@mercurjs/core/api/admin/sellers/[id]/products/route")',"/admin/sellers/:id/professional-details":'typeof import("@mercurjs/core/api/admin/sellers/[id]/professional-details/route")',"/admin/sellers/:id/suspend":'typeof import("@mercurjs/core/api/admin/sellers/[id]/suspend/route")',"/admin/sellers/:id/terminate":'typeof import("@mercurjs/core/api/admin/sellers/[id]/terminate/route")',"/admin/sellers/:id/unsuspend":'typeof import("@mercurjs/core/api/admin/sellers/[id]/unsuspend/route")',"/admin/sellers/:id/unterminate":'typeof import("@mercurjs/core/api/admin/sellers/[id]/unterminate/route")',"/admin/subscription-plans":'typeof import("@mercurjs/core/api/admin/subscription-plans/route")',"/admin/subscription-plans/:id":'typeof import("@mercurjs/core/api/admin/subscription-plans/[id]/route")',"/admin/subscription-plans/:id/overrides":'typeof import("@mercurjs/core/api/admin/subscription-plans/[id]/overrides/route")',"/admin/subscription-plans/:id/overrides/:override_id":'typeof import("@mercurjs/core/api/admin/subscription-plans/[id]/overrides/[override_id]/route")',"/hooks/payout":'typeof import("@mercurjs/core/api/hooks/payout/route")',"/store/carts/:id/complete":'typeof import("@mercurjs/core/api/store/carts/[id]/complete/route")',"/store/carts/:id/line-items":'typeof import("@mercurjs/core/api/store/carts/[id]/line-items/route")',"/store/carts/:id/promotions":'typeof import("@mercurjs/core/api/store/carts/[id]/promotions/route")',"/store/carts/:id/shipping-methods":'typeof import("@mercurjs/core/api/store/carts/[id]/shipping-methods/route")',"/store/order-groups":'typeof import("@mercurjs/core/api/store/order-groups/route")',"/store/order-groups/:id":'typeof import("@mercurjs/core/api/store/order-groups/[id]/route")',"/store/product-attributes":'typeof import("@mercurjs/core/api/store/product-attributes/route")',"/store/product-attributes/:id":'typeof import("@mercurjs/core/api/store/product-attributes/[id]/route")',"/store/product-brands":'typeof import("@mercurjs/core/api/store/product-brands/route")',"/store/product-brands/:id":'typeof import("@mercurjs/core/api/store/product-brands/[id]/route")',"/store/product-categories":'typeof import("@mercurjs/core/api/store/product-categories/route")',"/store/product-categories/:id":'typeof import("@mercurjs/core/api/store/product-categories/[id]/route")',"/store/products":'typeof import("@mercurjs/core/api/store/products/route")',"/store/products/:id":'typeof import("@mercurjs/core/api/store/products/[id]/route")',"/store/sellers":'typeof import("@mercurjs/core/api/store/sellers/route")',"/store/sellers/:id":'typeof import("@mercurjs/core/api/store/sellers/[id]/route")',"/store/shipping-options":'typeof import("@mercurjs/core/api/store/shipping-options/route")',"/vendor/campaigns":'typeof import("@mercurjs/core/api/vendor/campaigns/route")',"/vendor/campaigns/:id":'typeof import("@mercurjs/core/api/vendor/campaigns/[id]/route")',"/vendor/campaigns/:id/promotions":'typeof import("@mercurjs/core/api/vendor/campaigns/[id]/promotions/route")',"/vendor/collections":'typeof import("@mercurjs/core/api/vendor/collections/route")',"/vendor/collections/:id":'typeof import("@mercurjs/core/api/vendor/collections/[id]/route")',"/vendor/collections/:id/products":'typeof import("@mercurjs/core/api/vendor/collections/[id]/products/route")',"/vendor/currencies":'typeof import("@mercurjs/core/api/vendor/currencies/route")',"/vendor/currencies/:code":'typeof import("@mercurjs/core/api/vendor/currencies/[code]/route")',"/vendor/customers":'typeof import("@mercurjs/core/api/vendor/customers/route")',"/vendor/customers/:id":'typeof import("@mercurjs/core/api/vendor/customers/[id]/route")',"/vendor/feature-flags":'typeof import("@mercurjs/core/api/vendor/feature-flags/route")',"/vendor/fulfillment-providers":'typeof import("@mercurjs/core/api/vendor/fulfillment-providers/route")',"/vendor/fulfillment-sets/:id":'typeof import("@mercurjs/core/api/vendor/fulfillment-sets/[id]/route")',"/vendor/fulfillment-sets/:id/service-zones":'typeof import("@mercurjs/core/api/vendor/fulfillment-sets/[id]/service-zones/route")',"/vendor/fulfillment-sets/:id/service-zones/:zone_id":'typeof import("@mercurjs/core/api/vendor/fulfillment-sets/[id]/service-zones/[zone_id]/route")',"/vendor/inventory-items":'typeof import("@mercurjs/core/api/vendor/inventory-items/route")',"/vendor/inventory-items/:id":'typeof import("@mercurjs/core/api/vendor/inventory-items/[id]/route")',"/vendor/inventory-items/:id/location-levels":'typeof import("@mercurjs/core/api/vendor/inventory-items/[id]/location-levels/route")',"/vendor/inventory-items/:id/location-levels/:location_id":'typeof import("@mercurjs/core/api/vendor/inventory-items/[id]/location-levels/[location_id]/route")',"/vendor/inventory-items/:id/location-levels/batch":'typeof import("@mercurjs/core/api/vendor/inventory-items/[id]/location-levels/batch/route")',"/vendor/inventory-items/location-levels/batch":'typeof import("@mercurjs/core/api/vendor/inventory-items/location-levels/batch/route")',"/vendor/members/invites/accept":'typeof import("@mercurjs/core/api/vendor/members/invites/accept/route")',"/vendor/members/me":'typeof import("@mercurjs/core/api/vendor/members/me/route")',"/vendor/offers":'typeof import("@mercurjs/core/api/vendor/offers/route")',"/vendor/offers/:id":'typeof import("@mercurjs/core/api/vendor/offers/[id]/route")',"/vendor/offers/:id/inventory-items/batch":'typeof import("@mercurjs/core/api/vendor/offers/[id]/inventory-items/batch/route")',"/vendor/offers/batch":'typeof import("@mercurjs/core/api/vendor/offers/batch/route")',"/vendor/orders":'typeof import("@mercurjs/core/api/vendor/orders/route")',"/vendor/orders/:id":'typeof import("@mercurjs/core/api/vendor/orders/[id]/route")',"/vendor/orders/:id/cancel":'typeof import("@mercurjs/core/api/vendor/orders/[id]/cancel/route")',"/vendor/orders/:id/changes":'typeof import("@mercurjs/core/api/vendor/orders/[id]/changes/route")',"/vendor/orders/:id/complete":'typeof import("@mercurjs/core/api/vendor/orders/[id]/complete/route")',"/vendor/orders/:id/fulfillments":'typeof import("@mercurjs/core/api/vendor/orders/[id]/fulfillments/route")',"/vendor/orders/:id/fulfillments/:fulfillment_id/cancel":'typeof import("@mercurjs/core/api/vendor/orders/[id]/fulfillments/[fulfillment_id]/cancel/route")',"/vendor/orders/:id/fulfillments/:fulfillment_id/mark-as-delivered":'typeof import("@mercurjs/core/api/vendor/orders/[id]/fulfillments/[fulfillment_id]/mark-as-delivered/route")',"/vendor/orders/:id/fulfillments/:fulfillment_id/shipments":'typeof import("@mercurjs/core/api/vendor/orders/[id]/fulfillments/[fulfillment_id]/shipments/route")',"/vendor/orders/:id/preview":'typeof import("@mercurjs/core/api/vendor/orders/[id]/preview/route")',"/vendor/payments":'typeof import("@mercurjs/core/api/vendor/payments/route")',"/vendor/payments/:id":'typeof import("@mercurjs/core/api/vendor/payments/[id]/route")',"/vendor/payments/:id/capture":'typeof import("@mercurjs/core/api/vendor/payments/[id]/capture/route")',"/vendor/payments/:id/refund":'typeof import("@mercurjs/core/api/vendor/payments/[id]/refund/route")',"/vendor/payments/payment-providers":'typeof import("@mercurjs/core/api/vendor/payments/payment-providers/route")',"/vendor/payout-accounts":'typeof import("@mercurjs/core/api/vendor/payout-accounts/route")',"/vendor/payout-accounts/:id":'typeof import("@mercurjs/core/api/vendor/payout-accounts/[id]/route")',"/vendor/payout-accounts/:id/onboarding":'typeof import("@mercurjs/core/api/vendor/payout-accounts/[id]/onboarding/route")',"/vendor/payouts":'typeof import("@mercurjs/core/api/vendor/payouts/route")',"/vendor/payouts/:id":'typeof import("@mercurjs/core/api/vendor/payouts/[id]/route")',"/vendor/price-lists":'typeof import("@mercurjs/core/api/vendor/price-lists/route")',"/vendor/price-lists/:id":'typeof import("@mercurjs/core/api/vendor/price-lists/[id]/route")',"/vendor/price-lists/:id/prices":'typeof import("@mercurjs/core/api/vendor/price-lists/[id]/prices/route")',"/vendor/price-lists/:id/prices/batch":'typeof import("@mercurjs/core/api/vendor/price-lists/[id]/prices/batch/route")',"/vendor/price-lists/:id/products":'typeof import("@mercurjs/core/api/vendor/price-lists/[id]/products/route")',"/vendor/price-preferences":'typeof import("@mercurjs/core/api/vendor/price-preferences/route")',"/vendor/price-preferences/:id":'typeof import("@mercurjs/core/api/vendor/price-preferences/[id]/route")',"/vendor/product-attributes":'typeof import("@mercurjs/core/api/vendor/product-attributes/route")',"/vendor/product-attributes/:id":'typeof import("@mercurjs/core/api/vendor/product-attributes/[id]/route")',"/vendor/product-brands":'typeof import("@mercurjs/core/api/vendor/product-brands/route")',"/vendor/product-brands/:id":'typeof import("@mercurjs/core/api/vendor/product-brands/[id]/route")',"/vendor/product-categories":'typeof import("@mercurjs/core/api/vendor/product-categories/route")',"/vendor/product-categories/:id":'typeof import("@mercurjs/core/api/vendor/product-categories/[id]/route")',"/vendor/product-tags":'typeof import("@mercurjs/core/api/vendor/product-tags/route")',"/vendor/product-tags/:id":'typeof import("@mercurjs/core/api/vendor/product-tags/[id]/route")',"/vendor/product-types":'typeof import("@mercurjs/core/api/vendor/product-types/route")',"/vendor/product-types/:id":'typeof import("@mercurjs/core/api/vendor/product-types/[id]/route")',"/vendor/product-variants":'typeof import("@mercurjs/core/api/vendor/product-variants/route")',"/vendor/products":'typeof import("@mercurjs/core/api/vendor/products/route")',"/vendor/products/:id":'typeof import("@mercurjs/core/api/vendor/products/[id]/route")',"/vendor/products/:id/attributes":'typeof import("@mercurjs/core/api/vendor/products/[id]/attributes/route")',"/vendor/products/:id/attributes/:attribute_id":'typeof import("@mercurjs/core/api/vendor/products/[id]/attributes/[attribute_id]/route")',"/vendor/products/:id/cancel":'typeof import("@mercurjs/core/api/vendor/products/[id]/cancel/route")',"/vendor/products/:id/preview":'typeof import("@mercurjs/core/api/vendor/products/[id]/preview/route")',"/vendor/products/:id/variants":'typeof import("@mercurjs/core/api/vendor/products/[id]/variants/route")',"/vendor/products/:id/variants/:variant_id":'typeof import("@mercurjs/core/api/vendor/products/[id]/variants/[variant_id]/route")',"/vendor/promotions":'typeof import("@mercurjs/core/api/vendor/promotions/route")',"/vendor/promotions/:id":'typeof import("@mercurjs/core/api/vendor/promotions/[id]/route")',"/vendor/promotions/:id/:rule_type":'typeof import("@mercurjs/core/api/vendor/promotions/[id]/[rule_type]/route")',"/vendor/promotions/:id/buy-rules/batch":'typeof import("@mercurjs/core/api/vendor/promotions/[id]/buy-rules/batch/route")',"/vendor/promotions/:id/rules/batch":'typeof import("@mercurjs/core/api/vendor/promotions/[id]/rules/batch/route")',"/vendor/promotions/:id/target-rules/batch":'typeof import("@mercurjs/core/api/vendor/promotions/[id]/target-rules/batch/route")',"/vendor/promotions/rule-attribute-options/:rule_type":'typeof import("@mercurjs/core/api/vendor/promotions/rule-attribute-options/[rule_type]/route")',"/vendor/promotions/rule-value-options/:rule_type/:rule_attribute_id":'typeof import("@mercurjs/core/api/vendor/promotions/rule-value-options/[rule_type]/[rule_attribute_id]/route")',"/vendor/refund-reasons":'typeof import("@mercurjs/core/api/vendor/refund-reasons/route")',"/vendor/refund-reasons/:id":'typeof import("@mercurjs/core/api/vendor/refund-reasons/[id]/route")',"/vendor/regions":'typeof import("@mercurjs/core/api/vendor/regions/route")',"/vendor/regions/:id":'typeof import("@mercurjs/core/api/vendor/regions/[id]/route")',"/vendor/return-reasons":'typeof import("@mercurjs/core/api/vendor/return-reasons/route")',"/vendor/return-reasons/:id":'typeof import("@mercurjs/core/api/vendor/return-reasons/[id]/route")',"/vendor/returns":'typeof import("@mercurjs/core/api/vendor/returns/route")',"/vendor/returns/:id":'typeof import("@mercurjs/core/api/vendor/returns/[id]/route")',"/vendor/returns/:id/cancel":'typeof import("@mercurjs/core/api/vendor/returns/[id]/cancel/route")',"/vendor/returns/:id/dismiss-items":'typeof import("@mercurjs/core/api/vendor/returns/[id]/dismiss-items/route")',"/vendor/returns/:id/dismiss-items/:action_id":'typeof import("@mercurjs/core/api/vendor/returns/[id]/dismiss-items/[action_id]/route")',"/vendor/returns/:id/receive":'typeof import("@mercurjs/core/api/vendor/returns/[id]/receive/route")',"/vendor/returns/:id/receive-items":'typeof import("@mercurjs/core/api/vendor/returns/[id]/receive-items/route")',"/vendor/returns/:id/receive-items/:action_id":'typeof import("@mercurjs/core/api/vendor/returns/[id]/receive-items/[action_id]/route")',"/vendor/returns/:id/receive/confirm":'typeof import("@mercurjs/core/api/vendor/returns/[id]/receive/confirm/route")',"/vendor/returns/:id/request":'typeof import("@mercurjs/core/api/vendor/returns/[id]/request/route")',"/vendor/returns/:id/request-items":'typeof import("@mercurjs/core/api/vendor/returns/[id]/request-items/route")',"/vendor/returns/:id/request-items/:action_id":'typeof import("@mercurjs/core/api/vendor/returns/[id]/request-items/[action_id]/route")',"/vendor/returns/:id/shipping-method":'typeof import("@mercurjs/core/api/vendor/returns/[id]/shipping-method/route")',"/vendor/returns/:id/shipping-method/:action_id":'typeof import("@mercurjs/core/api/vendor/returns/[id]/shipping-method/[action_id]/route")',"/vendor/sales-channels":'typeof import("@mercurjs/core/api/vendor/sales-channels/route")',"/vendor/sales-channels/:id":'typeof import("@mercurjs/core/api/vendor/sales-channels/[id]/route")',"/vendor/sales-channels/:id/products":'typeof import("@mercurjs/core/api/vendor/sales-channels/[id]/products/route")',"/vendor/sellers":'typeof import("@mercurjs/core/api/vendor/sellers/route")',"/vendor/sellers/:id":'typeof import("@mercurjs/core/api/vendor/sellers/[id]/route")',"/vendor/sellers/:id/address":'typeof import("@mercurjs/core/api/vendor/sellers/[id]/address/route")',"/vendor/sellers/:id/members":'typeof import("@mercurjs/core/api/vendor/sellers/[id]/members/route")',"/vendor/sellers/:id/members/:member_id":'typeof import("@mercurjs/core/api/vendor/sellers/[id]/members/[member_id]/route")',"/vendor/sellers/:id/members/invites":'typeof import("@mercurjs/core/api/vendor/sellers/[id]/members/invites/route")',"/vendor/sellers/:id/members/me":'typeof import("@mercurjs/core/api/vendor/sellers/[id]/members/me/route")',"/vendor/sellers/:id/payment-details":'typeof import("@mercurjs/core/api/vendor/sellers/[id]/payment-details/route")',"/vendor/sellers/:id/professional-details":'typeof import("@mercurjs/core/api/vendor/sellers/[id]/professional-details/route")',"/vendor/sellers/me":'typeof import("@mercurjs/core/api/vendor/sellers/me/route")',"/vendor/sellers/select":'typeof import("@mercurjs/core/api/vendor/sellers/select/route")',"/vendor/shipping-option-types":'typeof import("@mercurjs/core/api/vendor/shipping-option-types/route")',"/vendor/shipping-option-types/:id":'typeof import("@mercurjs/core/api/vendor/shipping-option-types/[id]/route")',"/vendor/shipping-options":'typeof import("@mercurjs/core/api/vendor/shipping-options/route")',"/vendor/shipping-options/:id":'typeof import("@mercurjs/core/api/vendor/shipping-options/[id]/route")',"/vendor/shipping-options/:id/rules/batch":'typeof import("@mercurjs/core/api/vendor/shipping-options/[id]/rules/batch/route")',"/vendor/shipping-profiles":'typeof import("@mercurjs/core/api/vendor/shipping-profiles/route")',"/vendor/shipping-profiles/:id":'typeof import("@mercurjs/core/api/vendor/shipping-profiles/[id]/route")',"/vendor/stock-locations":'typeof import("@mercurjs/core/api/vendor/stock-locations/route")',"/vendor/stock-locations/:id":'typeof import("@mercurjs/core/api/vendor/stock-locations/[id]/route")',"/vendor/stock-locations/:id/fulfillment-providers":'typeof import("@mercurjs/core/api/vendor/stock-locations/[id]/fulfillment-providers/route")',"/vendor/stock-locations/:id/fulfillment-sets":'typeof import("@mercurjs/core/api/vendor/stock-locations/[id]/fulfillment-sets/route")',"/vendor/stock-locations/:id/sales-channels":'typeof import("@mercurjs/core/api/vendor/stock-locations/[id]/sales-channels/route")',"/vendor/stores":'typeof import("@mercurjs/core/api/vendor/stores/route")',"/vendor/subscription":'typeof import("@mercurjs/core/api/vendor/subscription/route")',"/vendor/uploads":'typeof import("@mercurjs/core/api/vendor/uploads/route")'};async function Rt(e,t={}){let{pathnameFilter:r,ignoreFilter:o,ignorePartFilter:i,sortPathnames:s=true}=t,n=[],m=[e];for(;m.length>0;){let p=await Promise.all(m.map(async d=>{let u={directories:[],pathnames:[]};try{let c=await U__default.readdir(d,{withFileTypes:!0});for(let f of c){if(i&&i(f.name))continue;let y=R__default.join(d,f.name);o&&o(y)||(f.isDirectory()?u.directories.push(y):(!r||r(y))&&u.pathnames.push(y));}}catch(c){if(c.code!=="ENOENT"||d===e)throw c;return null}return u}));m=[];for(let d of p)d&&(m.push(...d.directories),n.push(...d.pathnames));}return s&&n.sort(),n}async function et(e){return await U__default.stat(e).catch(()=>null)!==null}async function ge(e){await et(e)||await U__default.mkdir(e,{recursive:true});}function ye(e){return e.replace(/\\/g,"/")}function Ce(e){return e.split("/").reduce((r,o)=>{if(!o||oe.test(o))return r;if(o.startsWith("[")&&o.endsWith("]")){let i=o.slice(1,-1);return `${r}/:${i}`}return `${r}/${o}`},"")||"/"}async function xt(e){return await et(e)?(await Rt(e,{pathnameFilter:o=>oe.test(o),ignorePartFilter:o=>o.startsWith("_")||o==="node_modules"})).map(o=>{let i=R__default.relative(e,o);return {filePath:ye(i),route:Ce(ye(i))}}):[]}function St(e){return e.replace(/[-_]+(.)?/g,(t,r)=>r?r.toUpperCase():"").replace(/^[A-Z]/,t=>t.toLowerCase())}function as(e){return `../../src/api/${e.replace(/\.ts$/,"")}`}function ds(e){return e.startsWith(":")?`$${St(e.slice(1))}`:St(e)}function $r(){return {children:new Map}}function ms(e){let t=$r();for(let[r,o]of e){let i=r.split("/").filter(Boolean),s=t;for(let n of i){let m=ds(n);s.children.has(m)||s.children.set(m,$r()),s=s.children.get(m);}s.importType=o;}return t}function Fr(e,t=" "){let r=[];if(e.importType&&r.push(e.importType),e.children.size>0){let o=[];for(let[i,s]of e.children){let n=Fr(s,t+" ");o.push(`${t} ${i}: ${n}`);}r.push(`{
33
32
  ${o.join(`;
34
33
  `)};
35
- ${t}}`);}return r.length===0?"{}":r.length===1?r[0]:r.join(" & ")}function Ar(e,t){let r=new Map;for(let[n,m]of Object.entries($r))r.set(n,m);for(let[n,m]of Object.entries(Dr))r.set(n,m);let o=t??ys;for(let n of e){let m=o(n.filePath);r.set(n.route,`typeof import("${m}")`);}let i=ws(r);return `// This file is generated automatically by Mercur CLI
34
+ ${t}}`);}return r.length===0?"{}":r.length===1?r[0]:r.join(" & ")}function Nr(e,t){let r=new Map;for(let[n,m]of Object.entries(Pr))r.set(n,m);for(let[n,m]of Object.entries(Tr))r.set(n,m);let o=t??as;for(let n of e){let m=o(n.filePath);r.set(n.route,`typeof import("${m}")`);}let i=ms(r);return `// This file is generated automatically by Mercur CLI
36
35
  // Do not edit this file manually
37
36
 
38
- export type Routes = ${Nr(i,"")};
39
- `}async function K(e){let t=R__default.join(e,Xe,"index.d.ts"),r=R__default.join(e,"src","api"),o=R__default.dirname(t);await tt(o);let i=await kt(r),s=Ar(i);await U__default.writeFile(t,s,"utf-8");}async function Lr(e,t){let r=R__default.join(e,Xe,"index.ts"),o=R__default.dirname(r);await tt(o);let i=t.map(m=>{let p=m.indexOf("/api/"),d=p!==-1?m.slice(p+5):m;return {filePath:m,route:Pe(ye(d))}}),n=Ar(i,m=>`../../src/${m.replace(/\.ts$/,"")}`);await U__default.writeFile(r,n,"utf-8");}async function zr(e){let t={},r={cwd:e.cwd,registryFile:R__default.resolve(e.cwd,e.registryFile)};if(!L.existsSync(r.registryFile))return t[B]=true,{errors:t,resolvePaths:null,config:null};if(!L.existsSync(R__default.resolve(e.cwd,"blocks.json")))return t[S]=true,{errors:t,resolvePaths:null,config:null};try{let o=await b(e.cwd);return {errors:t,config:o,resolvePaths:r}}catch{a.break(),a.error(`An invalid ${l.info("blocks.json")} file was found at ${l.info(e.cwd)}.
40
- Before you can run registry:codegen, you must create a valid ${l.info("blocks.json")} file by running the ${l.info("init")} command.`),a.break(),process.exit(1);}}var js=z.object({cwd:z.string(),registryFile:z.string()}),Wr=new Command().name("registry:codegen").description("generate type definitions for registry block API routes").argument("[registry]","path to registry.json file","./registry.json").option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).action(async(e,t)=>{await bs({cwd:R.resolve(t.cwd),registryFile:e});});async function bs(e){try{let t=js.parse(e),{errors:r,resolvePaths:o}=await zr(t);r[S]&&(a.error(`A ${l.info("blocks.json")} file is required to run registry:codegen. Run ${l.info("mercur init")} to create one.`),a.break(),process.exit(1)),(r[B]||!o)&&(a.error(`Could not find a registry file at ${l.info(R.resolve(t.cwd,t.registryFile))}.`),a.break(),process.exit(1));let i=await U.readFile(o.registryFile,"utf-8"),s=Z.safeParse(JSON.parse(i));s.success||(a.error(`Invalid registry file at ${l.info(o.registryFile)}.`),a.break(),process.exit(1));let n=[];for(let p of s.data.items)if(p.files)for(let d of p.files)d.type==="registry:api"&&ie.test(d.path)&&n.push(d.path);if(n.length===0){a.warn("No API route files found in registry.");return}let m=v("Generating registry route types...");await Lr(t.cwd,n),m.succeed("Registry route types generated successfully."),a.break();}catch(t){a.break(),w(t);}}var xs=z.object({cwd:z.string()}),Yr=new Command().name("codegen").description("generate type definitions for API routes").option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).action(async e=>{await _s({cwd:R.resolve(e.cwd)});});async function _s(e){try{let t=xs.parse(e),r=v("Generating route types...");await K(t.cwd),r.succeed("Route types generated successfully."),a.break();}catch(t){a.break(),w(t);}}var Pt=({contents:e,databaseUri:t})=>{let r=new Set,o=e;return e.includes("DATABASE_URL")||(o+=`
37
+ export type Routes = ${Fr(i,"")};
38
+ `}async function tt(e){let t=R__default.join(e,fe,"routes.d.ts"),r=R__default.join(e,"src","api"),o=R__default.dirname(t);await ge(o);let i=await xt(r),s=Nr(i);await U__default.writeFile(t,s,"utf-8");}async function Or(e,t){let r=R__default.join(e,fe,"index.ts"),o=R__default.dirname(r);await ge(o);let i=t.map(m=>{let p=m.indexOf("/api/"),d=p!==-1?m.slice(p+5):m;return {filePath:m,route:Ce(ye(d))}}),n=Nr(i,m=>`../../src/${m.replace(/\.ts$/,"")}`);await U__default.writeFile(r,n,"utf-8");}async function Ar(e){await tt(e);let t=R__default.join(e,fe);await ge(t),await U__default.writeFile(R__default.join(t,"types.d.ts"),ps(),"utf-8"),await U__default.writeFile(R__default.join(t,"tsconfig.augment.json"),cs(),"utf-8");}function ps(){return `// AUTO-GENERATED by \`mercur build\` \u2014 do not edit.
39
+
40
+ export type * from "@medusajs/types-original"
41
+
42
+ export type { MercurProductDTO as ProductDTO } from "@mercurjs/types/product"
43
+
44
+ import type {
45
+ IApiKeyModuleService,
46
+ IAuthModuleService,
47
+ ICacheService,
48
+ ICartModuleService,
49
+ ICurrencyModuleService,
50
+ ICustomerModuleService,
51
+ IEventBusModuleService,
52
+ IFileModuleService,
53
+ IFulfillmentModuleService,
54
+ IInventoryService,
55
+ ILockingModule,
56
+ INotificationModuleService,
57
+ IOrderModuleService,
58
+ IPaymentModuleService,
59
+ IPricingModuleService,
60
+ IPromotionModuleService,
61
+ IRbacModuleService,
62
+ IRegionModuleService,
63
+ ISalesChannelModuleService,
64
+ ISettingsModuleService,
65
+ IStockLocationService,
66
+ IStoreModuleService,
67
+ ITaxModuleService,
68
+ IUserModuleService,
69
+ IWorkflowEngineService,
70
+ } from "@medusajs/types-original"
71
+ import type { MercurProductModuleService } from "@mercurjs/core/modules/product"
72
+
73
+ export interface ModuleImplementations {
74
+ api_key: IApiKeyModuleService
75
+ auth: IAuthModuleService
76
+ cache: ICacheService
77
+ cart: ICartModuleService
78
+ currency: ICurrencyModuleService
79
+ customer: ICustomerModuleService
80
+ event_bus: IEventBusModuleService
81
+ file: IFileModuleService
82
+ fulfillment: IFulfillmentModuleService
83
+ inventory: IInventoryService
84
+ locking: ILockingModule
85
+ notification: INotificationModuleService
86
+ order: IOrderModuleService
87
+ payment: IPaymentModuleService
88
+ pricing: IPricingModuleService
89
+ promotion: IPromotionModuleService
90
+ rbac: IRbacModuleService
91
+ region: IRegionModuleService
92
+ sales_channel: ISalesChannelModuleService
93
+ settings: ISettingsModuleService
94
+ stock_location: IStockLocationService
95
+ store: IStoreModuleService
96
+ tax: ITaxModuleService
97
+ user: IUserModuleService
98
+ workflows: IWorkflowEngineService
99
+
100
+ product: MercurProductModuleService
101
+ }
102
+ `}function cs(){return JSON.stringify({compilerOptions:{paths:{"@medusajs/types":["./.mercur/types.d.ts"],"@medusajs/types-original":["./node_modules/@medusajs/types"]}}},null,2)+`
103
+ `}async function gs(e,t=e){let r=fs(e),o=await packageDirectory({cwd:r});if(!o)throw new Error(`Could not find package.json for '${e}'`);let{bin:i}=JSON.parse(readFileSync(R.join(o,"package.json"),"utf-8")),s=typeof i=="object"?i[t]:i;if(!s)throw new Error(`No bin '${t}' in module '${e}'`);return R.join(o,s)}async function Lr(e,t=e,r=process.cwd()){let o=await gs(e,t);return R.resolve(r,o)}var vs=z.object({cwd:z.string()}),Br=new Command().name("build").description("build the mercur application").option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).allowUnknownOption().action(async e=>{await ws({cwd:R.resolve(e.cwd)});});async function ws(e){try{let t=vs.parse(e);await Ar(t.cwd);let r=await Lr("@medusajs/cli","medusa",t.cwd),o=process.argv.slice(2).filter(i=>!["build"].includes(i));await new Promise((i,s)=>{hs(r,["build",...o],{cwd:t.cwd,env:{...process.env,FORCE_COLOR:"3"},stdio:"inherit"}).on("exit",n=>{n===0||n===null?i():process.exit(n);}).on("error",s);});}catch(t){a.break(),w(t);}}async function Wr(e){let t={},r={cwd:e.cwd,registryFile:R__default.resolve(e.cwd,e.registryFile),outputDir:R__default.resolve(e.cwd,e.outputDir)};if(!A.existsSync(r.registryFile))return t[B]=true,{errors:t,resolvePaths:null,config:null};if(!A.existsSync(R__default.resolve(e.cwd,"blocks.json")))return t[E]=true,{errors:t,resolvePaths:null,config:null};await A.mkdir(r.outputDir,{recursive:true});try{let o=await b(e.cwd);return {errors:t,config:o,resolvePaths:r}}catch{a.break(),a.error(`An invalid ${l.info("blocks.json")} file was found at ${l.info(e.cwd)}.
104
+ Before you can build the registry, you must create a valid ${l.info("blocks.json")} file by running the ${l.info("init")} command.`),a.break(),process.exit(1);}}var bs=z.object({cwd:z.string(),registryFile:z.string(),outputDir:z.string(),verbose:z.boolean().optional().default(false)}),Gr=new Command().name("registry:build").description("builds the registry").argument("[registry]","path to registry.json file","./registry.json").option("-o, --output <path>","destination directory for json files","./r").option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).option("-v, --verbose","verbose output").action(async(e,t)=>{await Rs({cwd:R.resolve(t.cwd),registryFile:e,outputDir:t.output,verbose:t.verbose});});async function Rs(e){try{H();let t=bs.parse(e),[{errors:r,resolvePaths:o,config:i},s]=await Promise.all([Wr(t),_(t.cwd)]);(r[E]||!s)&&(a.error(`A ${l.info("blocks.json")} file is required to build the registry. Run ${l.info("mercur init")} to create one.`),a.break(),await P({type:"build",payload:{outcome:"missing_config"}},{cwd:t.cwd}),process.exit(1)),(r[B]||!o)&&(a.error(`We could not find a registry file at ${l.info(R.resolve(t.cwd,t.registryFile))}.`),a.break(),await P({type:"build",payload:{outcome:"missing_registry_file"}},{cwd:t.cwd}),process.exit(1));let n=await U.readFile(o.registryFile,"utf-8"),m=K.safeParse(JSON.parse(n));m.success||(a.error(`Invalid registry file found at ${l.info(o.registryFile)}.`),a.break(),process.exit(1));let p=v("Building registry..."),d=await xs(m.data,i,s);for(let u of d.items)u.files=u.files?.filter((c,f,y)=>f===y.findIndex(h=>h.path===c.path)),u.dependencies&&(u.dependencies=u.dependencies.filter((c,f,y)=>f===y.findIndex(h=>h===c)));for(let u of d.items){if(!u.files)continue;p.start(`Building ${u.name}...`),u.$schema=Yt;for(let f of u.files){let y=s.isSrcDir?"src":"",h=R.resolve(o.cwd,y,f.path);try{if(!(await U.stat(h)).isFile())continue;f.content=await U.readFile(h,"utf-8");}catch(j){console.error("Error reading file in registry build:",h,j);continue}}let c=T.safeParse(u);if(!c.success){a.error(`Invalid registry item found for ${l.info(u.name)}.`);continue}await U.writeFile(R.resolve(o.outputDir,`${c.data.name}.json`),JSON.stringify(c.data,null,2));}if(await U.copyFile(o.registryFile,R.resolve(o.outputDir,"registry.json")),p.succeed("Building registry."),t.verbose){v(`The registry has ${l.info(d.items.length.toString())} items:`).succeed();for(let u of d.items){a.log(` - ${u.name}`);for(let c of u.files??[])a.log(` - ${c.path}`);}}await P({type:"build",payload:{outcome:"success"}},{cwd:t.cwd});}catch(t){a.break(),w(t);}}async function xs(e,t,r){for(let o of e.items)if(o.files?.length)for(let i of o.files){let s=await ct(i.path,t,r);s.files=s.files?.filter(n=>n.path!==i.path),s.files&&o.files.push(...s.files),s.dependencies&&(o.dependencies=o.dependencies?o.dependencies.concat(s.dependencies):s.dependencies);}return e}async function qr(e){let t={},r={cwd:e.cwd,registryFile:R__default.resolve(e.cwd,e.registryFile)};if(!A.existsSync(r.registryFile))return t[B]=true,{errors:t,resolvePaths:null,config:null};if(!A.existsSync(R__default.resolve(e.cwd,"blocks.json")))return t[E]=true,{errors:t,resolvePaths:null,config:null};try{let o=await b(e.cwd);return {errors:t,config:o,resolvePaths:r}}catch{a.break(),a.error(`An invalid ${l.info("blocks.json")} file was found at ${l.info(e.cwd)}.
105
+ Before you can run registry:codegen, you must create a valid ${l.info("blocks.json")} file by running the ${l.info("init")} command.`),a.break(),process.exit(1);}}var _s=z.object({cwd:z.string(),registryFile:z.string()}),Hr=new Command().name("registry:codegen").description("generate type definitions for registry block API routes").argument("[registry]","path to registry.json file","./registry.json").option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).action(async(e,t)=>{await ks({cwd:R.resolve(t.cwd),registryFile:e});});async function ks(e){try{let t=_s.parse(e),{errors:r,resolvePaths:o}=await qr(t);r[E]&&(a.error(`A ${l.info("blocks.json")} file is required to run registry:codegen. Run ${l.info("mercur init")} to create one.`),a.break(),process.exit(1)),(r[B]||!o)&&(a.error(`Could not find a registry file at ${l.info(R.resolve(t.cwd,t.registryFile))}.`),a.break(),process.exit(1));let i=await U.readFile(o.registryFile,"utf-8"),s=K.safeParse(JSON.parse(i));s.success||(a.error(`Invalid registry file at ${l.info(o.registryFile)}.`),a.break(),process.exit(1));let n=[];for(let p of s.data.items)if(p.files)for(let d of p.files)d.type==="registry:api"&&oe.test(d.path)&&n.push(d.path);if(n.length===0){a.warn("No API route files found in registry.");return}let m=v("Generating registry route types...");await Or(t.cwd,n),m.succeed("Registry route types generated successfully."),a.break();}catch(t){a.break(),w(t);}}var Is=z.object({cwd:z.string()}),Qr=new Command().name("codegen").description("generate type definitions for API routes").option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).action(async e=>{await Cs({cwd:R.resolve(e.cwd)});});async function Cs(e){try{let t=Is.parse(e),r=v("Generating route types...");await tt(t.cwd),r.succeed("Route types generated successfully."),a.break();}catch(t){a.break(),w(t);}}var Tt=({contents:e,databaseUri:t})=>{let r=new Set,o=e;return e.includes("DATABASE_URL")||(o+=`
41
106
  DATABASE_URL=your-connection-string-here`),o.split(`
42
107
  `).map(s=>{if(s.startsWith("#")||!s.includes("="))return s;let[n]=s.split("=");if(n)return n==="DATABASE_URL"&&(s=`DATABASE_URL=${t||"postgresql://localhost:5432/your-database-name"}`),r.has(n)?null:(r.add(n),s)}).filter(Boolean).join(`
43
- `)},ks=[{path:"packages/api"},{path:"apps/vendor"},{path:"apps/admin"}];async function rt({projectDir:e,databaseUri:t}){try{await Promise.all(ks.map(async({path:r})=>{let o=R__default.join(e,r);if(!L.existsSync(o))return;let i=R__default.join(o,".env.template"),s=R__default.join(o,".env");if(!r.includes("api")){L.existsSync(i)&&!L.existsSync(s)&&await L.copy(i,s);return}let m="";if(L.existsSync(i)){let p=await L.readFile(i,"utf8");m=Pt({contents:p,databaseUri:t});}if(L.existsSync(s)){let p=await L.readFile(s,"utf8"),d=Pt({contents:p,databaseUri:t});await L.writeFile(s,d);}else {let p=Pt({contents:m,databaseUri:t});await L.writeFile(s,p);}}));}catch(r){a.error("Unable to manage environment files"),r instanceof Error&&a.error(r.message),process.exit(1);}}var Ss="localhost",Hr=5432,Dt="packages/api",Cs="admin@mercur-test.com";async function Kr(e){let t=e.projectName.replace(/[^a-zA-Z0-9]/g,"-"),{client:r,dbConnectionString:o}=await Is({dbConnectionString:e.dbConnectionString,dbHost:e.dbHost??Ss,dbPort:e.dbPort??Hr,dbName:t,spinner:e.spinner});if(!r||!o)return {success:false,dbName:t,connectionString:null};try{return e.spinner&&(e.spinner.text="Checking if database exists..."),await Ps(r,t)?(await r.end(),qr({...e,dbName:t,connectionString:o,alreadyExists:!0})):(e.spinner&&(e.spinner.text=`Creating database "${t}"...`),await r.query(`CREATE DATABASE "${t}"`),await r.end(),qr({...e,dbName:t,connectionString:o,alreadyExists:!1}))}catch(i){return a.error(`Error creating database${i instanceof Error?`: ${i.message}`:""}.`),await r.end().catch(()=>{}),{success:false,dbName:t,connectionString:null}}}async function qr(e){let{projectDir:t,spinner:r,dbName:o,connectionString:i,alreadyExists:s}=e;if(await rt({projectDir:t,databaseUri:i}),!await Ts({projectDir:t,spinner:r}))return {success:false,dbName:o,connectionString:null};if(!await Ds({projectDir:t,spinner:r}))return {success:false,dbName:o,connectionString:null};let p=await $s({projectDir:t});return {success:true,dbName:o,connectionString:i,alreadyExists:s,inviteToken:p}}async function Is({dbConnectionString:e,dbHost:t,dbPort:r,dbName:o,spinner:i}){if(e)try{let n=new Tt.Client({connectionString:e});return await n.connect(),{client:n,dbConnectionString:e}}catch(n){return a.error(`Invalid database connection string${n instanceof Error?`: ${n.message}`:""}.`),{client:null,dbConnectionString:null}}i&&(i.text=`Trying default connection (postgres@${t}:${r})...`);try{let n=new Tt.Client({user:"postgres",password:"",host:t,port:r,database:"postgres",connectionTimeoutMillis:5e3});return await n.connect(),{client:n,dbConnectionString:Jr({user:"postgres",password:"",host:t,port:r,db:o})}}catch{}i?.stop(),a.break(),a.log(`PostgreSQL is required. Make sure it is installed and running on ${t}:${r}.`),a.break();let s=3;for(let n=1;n<=s;n++){let m=n>1?` (attempt ${n}/${s})`:"",p=await $e([{type:"text",name:"postgresUsername",message:`Enter your Postgres username${m}`,initial:"postgres"},{type:"password",name:"postgresPassword",message:'Enter your Postgres password (press Enter for "postgres")'}]);if(!p.postgresUsername)return {client:null,dbConnectionString:null};let d=p.postgresUsername,u=p.postgresPassword||"postgres";i?.start("Connecting to database...");try{let c=new Tt.Client({user:d,password:u,host:t,port:r,database:"postgres",connectionTimeoutMillis:5e3});return await c.connect(),{client:c,dbConnectionString:Jr({user:d,password:u,host:t,port:r,db:o})}}catch(c){i?.stop();let f=c instanceof Error?c.message:String(c);n<s?a.warn(`Attempt ${n}/${s} failed: ${f}`):a.error(`Couldn't connect to PostgreSQL: ${f}
108
+ `)},Ps=[{path:"packages/api"},{path:"apps/vendor"},{path:"apps/admin"}];async function rt({projectDir:e,databaseUri:t}){try{await Promise.all(Ps.map(async({path:r})=>{let o=R__default.join(e,r);if(!A.existsSync(o))return;let i=R__default.join(o,".env.template"),s=R__default.join(o,".env");if(!r.includes("api")){A.existsSync(i)&&!A.existsSync(s)&&await A.copy(i,s);return}let m="";if(A.existsSync(i)){let p=await A.readFile(i,"utf8");m=Tt({contents:p,databaseUri:t});}if(A.existsSync(s)){let p=await A.readFile(s,"utf8"),d=Tt({contents:p,databaseUri:t});await A.writeFile(s,d);}else {let p=Tt({contents:m,databaseUri:t});await A.writeFile(s,p);}}));}catch(r){a.error("Unable to manage environment files"),r instanceof Error&&a.error(r.message),process.exit(1);}}var $s="localhost",to=5432,Ft="packages/api",Ds="admin@mercur-test.com";async function ro(e){let t=e.projectName.replace(/[^a-zA-Z0-9]/g,"-"),{client:r,dbConnectionString:o}=await Fs({dbConnectionString:e.dbConnectionString,dbHost:e.dbHost??$s,dbPort:e.dbPort??to,dbName:t,spinner:e.spinner});if(!r||!o)return {success:false,dbName:t,connectionString:null};try{return e.spinner&&(e.spinner.text="Checking if database exists..."),await Ns(r,t)?(await r.end(),Xr({...e,dbName:t,connectionString:o,alreadyExists:!0})):(e.spinner&&(e.spinner.text=`Creating database "${t}"...`),await r.query(`CREATE DATABASE "${t}"`),await r.end(),Xr({...e,dbName:t,connectionString:o,alreadyExists:!1}))}catch(i){return a.error(`Error creating database${i instanceof Error?`: ${i.message}`:""}.`),await r.end().catch(()=>{}),{success:false,dbName:t,connectionString:null}}}async function Xr(e){let{projectDir:t,spinner:r,dbName:o,connectionString:i,alreadyExists:s}=e;if(await rt({projectDir:t,databaseUri:i}),!await Os({projectDir:t,spinner:r}))return {success:false,dbName:o,connectionString:null};if(!await As({projectDir:t,spinner:r}))return {success:false,dbName:o,connectionString:null};let p=await Ms({projectDir:t});return {success:true,dbName:o,connectionString:i,alreadyExists:s,inviteToken:p}}async function Fs({dbConnectionString:e,dbHost:t,dbPort:r,dbName:o,spinner:i}){if(e)try{let n=new $t.Client({connectionString:e});return await n.connect(),{client:n,dbConnectionString:e}}catch(n){return a.error(`Invalid database connection string${n instanceof Error?`: ${n.message}`:""}.`),{client:null,dbConnectionString:null}}i&&(i.text=`Trying default connection (postgres@${t}:${r})...`);try{let n=new $t.Client({user:"postgres",password:"",host:t,port:r,database:"postgres",connectionTimeoutMillis:5e3});return await n.connect(),{client:n,dbConnectionString:eo({user:"postgres",password:"",host:t,port:r,db:o})}}catch{}i?.stop(),a.break(),a.log(`PostgreSQL is required. Make sure it is installed and running on ${t}:${r}.`),a.break();let s=3;for(let n=1;n<=s;n++){let m=n>1?` (attempt ${n}/${s})`:"",p=await De([{type:"text",name:"postgresUsername",message:`Enter your Postgres username${m}`,initial:"postgres"},{type:"password",name:"postgresPassword",message:'Enter your Postgres password (press Enter for "postgres")'}]);if(!p.postgresUsername)return {client:null,dbConnectionString:null};let d=p.postgresUsername,u=p.postgresPassword||"postgres";i?.start("Connecting to database...");try{let c=new $t.Client({user:d,password:u,host:t,port:r,database:"postgres",connectionTimeoutMillis:5e3});return await c.connect(),{client:c,dbConnectionString:eo({user:d,password:u,host:t,port:r,db:o})}}catch(c){i?.stop();let f=c instanceof Error?c.message:String(c);n<s?a.warn(`Attempt ${n}/${s} failed: ${f}`):a.error(`Couldn't connect to PostgreSQL: ${f}
44
109
  \u2192 Is PostgreSQL running? Try: pg_isready -h ${t} -p ${r}
45
- \u2192 Check your username, password, and that the server is accessible.`);}}return {client:null,dbConnectionString:null}}async function Ps(e,t){return ((await e.query(`SELECT datname FROM pg_catalog.pg_database WHERE datname='${t}';`)).rowCount??0)>0}function Jr({user:e,password:t,host:r,port:o=Hr,db:i}){let s=encodeURIComponent(t);return `postgresql://${e}:${s}@${r}:${o}/${i}`}async function Ts({projectDir:e,spinner:t}){let r=R__default.join(e,Dt),o=await A(r),i=t||v("Running migrations...").start(),s=o==="yarn"?["yarn","run","build"]:o==="pnpm"?["pnpm","run","build"]:o==="bun"?["bun","run","build"]:["npm","run","build"],n=o==="pnpm"?["pnpm","dlx"]:o==="bun"?["bunx"]:["npx"];try{return i.text="Building project...",await execa(s[0],s.slice(1),{cwd:r}),i.text="Running database migrations...",await execa(n[0],[...n.slice(1),"medusa","db:migrate"],{cwd:r}),t||i.succeed("Migrations completed successfully."),!0}catch(m){return i.fail("Failed to run migrations."),a.error(`Error running migrations${m instanceof Error?`: ${m.message}`:""}.`),false}}async function $s({projectDir:e}){let t=R__default.join(e,Dt),r=await A(t),o=r==="pnpm"?["pnpm","dlx"]:r==="bun"?["bunx"]:["npx"];try{return (await execa(o[0],[...o.slice(1),"medusa","user","-e",Cs,"--invite"],{cwd:t})).stdout.match(/Invite token: (?<token>.+)/)?.groups?.token||null}catch(i){return a.error(`Error creating admin invite${i instanceof Error?`: ${i.message}`:""}.`),null}}async function Ds({projectDir:e,spinner:t}){let r=R__default.join(e,Dt),o=await A(r),i=t||v("Seeding database...").start();try{let s=o==="yarn"?["yarn","seed"]:o==="pnpm"?["pnpm","run","seed"]:o==="bun"?["bun","run","seed"]:["npm","run","seed"];return i.text="Seeding database with demo data...",await execa(s[0],s.slice(1),{cwd:r}),t||i.succeed("Database seeded successfully."),!0}catch(s){return i.fail("Failed to seed database."),a.error(`Error seeding database${s instanceof Error?`: ${s.message}`:""}.`),false}}var Zr="main",Ot=20,Xr={basic:{path:"basic",description:"Full marketplace starter \u2014 sellers, products, orders, admin & vendor panels"},plugin:{path:"plugin",description:"MedusaJS plugin template \u2014 for building reusable marketplace extensions"}},eo=new Command().name("create").description("create a new Mercur project").argument("[name]","the name of your project").option("-t, --template <template>","the template to use. e.g. basic, registry, or plugin").option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).option("--no-deps","skip installing dependencies.").option("--skip-db","skip database configuration.",false).option("--skip-email","skip email prompt.",false).option("--db-connection-string <string>","PostgreSQL connection string.").option("--db-host <host>","PostgreSQL host.","localhost").option("--db-port <port>","PostgreSQL port.","5432").action(async(e,t)=>{try{let r=Date.now();Zs(),H();let o=e;if(!o){let{enteredName:c}=await $e({type:"text",name:"enteredName",message:"What is your project named?",initial:t.template?`${t.template}-app`:"my-mercur",format:f=>f.trim(),validate:f=>zs(R__default.basename(R__default.resolve(f))).validForNewPackages?!0:"Invalid project name. Name should be lowercase, URL-friendly, and not start with a period or underscore."});c||process.exit(0),o=c;}let i=t.template;if(!i){let{selectedTemplate:c}=await $e({type:"select",name:"selectedTemplate",message:`Which ${l.info("template")} would you like to use?`,choices:Object.entries(Xr).map(([f,y])=>({title:f,value:f,description:y.description}))});c||process.exit(0),i=c;}if(!t.skipEmail){let{wantsEmail:c}=await $e({type:"confirm",name:"wantsEmail",message:"Mind sharing your email? We reach out for priority support, community events, and invite-only meetups. We never spam.",initial:!1});if(c){let{email:f}=await $e({type:"text",name:"email",message:"Enter your email:",format:y=>y.trim()});f&&kr(f);}}let s=R__default.resolve(t.cwd,o);await Ws(s);let n=v("Downloading template...").start();await Gs({projectDir:s,template:i}),n.succeed("Template downloaded successfully.");let m=await A(s);if(await Js(s,m),!t.deps)v("Dependency installation skipped.").warn();else {let c=v("Installing dependencies...").start(),f=Date.now(),y=await Ys({projectDir:s,packageManager:m}),h=((Date.now()-f)/1e3).toFixed(1);y?c.succeed(`Dependencies installed successfully in ${h}s.`):(c.fail("Failed to install dependencies"),await P({type:"create",payload:{outcome:"dependency_installation_failed",packageManager:m}},{cwd:s}),process.exit(1));}let p=t.dbConnectionString,d;if(t.skipDb)v("Database setup skipped.").warn();else {let c=v("Setting up database...").start();d=await Kr({projectDir:s,projectName:o,dbConnectionString:p,dbHost:t.dbHost,dbPort:parseInt(t.dbPort,10),spinner:c}),d.success?(d.alreadyExists?c.warn(`Database ${l.info(d.dbName)} already exists. Skipping database creation.`):c.succeed(`Database ${l.info(d.dbName)} setup successfully.`),p=d.connectionString):(c.fail("Failed to setup database."),a.log(Ft()),await P({type:"create",payload:{outcome:"database_setup_failed"}},{cwd:s}),process.exit(1));}await rt({projectDir:s,databaseUri:p}),await Hs(s),await P({type:"create",payload:{outcome:"created"}},{cwd:s});let u=((Date.now()-r)/1e3).toFixed(1);if(v(`Mercur project successfully created! (${u}s)`).succeed(),d?.success){v("Starting development server...").info();let c=d.inviteToken?`http://localhost:9000/dashboard/invite?token=${d.inviteToken}&first_run=true`:"http://localhost:9000/dashboard",h=spawn(m==="npm"?"npm":m,m==="npm"?["run","dev"]:["dev"],{cwd:s,stdio:"inherit",env:process.env}),j=()=>{a.break(),a.log(O.bgGreen(O.black(" Project stopped. To start again: "))),a.log(Qr(s,m)),a.log(Ft()),a.break();};process.on("SIGINT",()=>{}),h.on("close",()=>{j(),process.exit(0);}),Bs({resources:["http://localhost:9000/health"],timeout:6e4}).then(async()=>{a.break(),a.log(qs());try{await Ls(c),v("Admin panel opened in your browser.").succeed();}catch{v("Open this URL in your browser to create your admin account:").info(),a.log(l.info(c));}}).catch(()=>{v("To create your admin account, visit:").info(),a.log(l.info(c));});}else a.log(O.bgGreen(O.black(" Next Steps "))),a.log(Qr(s,m)),a.log(Ft()),a.break();}catch(r){a.break(),w(r);}finally{x();}});async function Ws(e){if(!await L.pathExists(e)){await L.mkdir(e);return}let o=(await L.readdir(e)).filter(i=>!i.startsWith("."));if(o.length>0){let{proceed:i}=await $e({type:"confirm",name:"proceed",message:`Directory ${l.info(R__default.basename(e))} already exists and contains ${o.length} file(s). Continue and overwrite?`,initial:false});i||process.exit(0);}}async function Gs({projectDir:e,template:t}){let r=`https://codeload.github.com/mercurjs/mercur/tar.gz/${Zr}`,o=Xr[t].path,i=`mercur-${Zr.replace(/^v/,"").replaceAll("/","-")}/templates/${o}/`;await pipeline(await Vs(r),x$1({cwd:e,filter:s=>s.includes(i),strip:2+o.split("/").length}));}async function Vs(e){let t=await fetch(e);if(!t.body)throw new Error(`Failed to download: ${e}`);return Readable.from(t.body)}async function Ys({projectDir:e,packageManager:t}){let r="npm",o=["install"];t==="yarn"?(r="yarn",o=[]):t==="pnpm"?(r="pnpm",o=["install"]):t==="bun"&&(r="bun",o=["install"]);try{return await execa(r,o,{cwd:R__default.resolve(e),stdin:"inherit",stdout:"inherit",stderr:"inherit",env:{...process.env,npm_config_yes:"true"}}),!0}catch(i){return a.error(`Error installing dependencies${i instanceof Error?`: ${i.message}`:""}.`),false}}function Qr(e,t){let r=R__default.relative(process.cwd(),e),o=i=>O.bold(i);return `
110
+ \u2192 Check your username, password, and that the server is accessible.`);}}return {client:null,dbConnectionString:null}}async function Ns(e,t){return ((await e.query(`SELECT datname FROM pg_catalog.pg_database WHERE datname='${t}';`)).rowCount??0)>0}function eo({user:e,password:t,host:r,port:o=to,db:i}){let s=encodeURIComponent(t);return `postgresql://${e}:${s}@${r}:${o}/${i}`}async function Os({projectDir:e,spinner:t}){let r=R__default.join(e,Ft),o=await M(r),i=t||v("Running migrations...").start(),s=o==="yarn"?["yarn","run","build"]:o==="pnpm"?["pnpm","run","build"]:o==="bun"?["bun","run","build"]:["npm","run","build"],n=o==="pnpm"?["pnpm","dlx"]:o==="bun"?["bunx"]:["npx"];try{return i.text="Building project...",await execa(s[0],s.slice(1),{cwd:r}),i.text="Running database migrations...",await execa(n[0],[...n.slice(1),"medusa","db:migrate"],{cwd:r}),t||i.succeed("Migrations completed successfully."),!0}catch(m){return i.fail("Failed to run migrations."),a.error(`Error running migrations${m instanceof Error?`: ${m.message}`:""}.`),false}}async function Ms({projectDir:e}){let t=R__default.join(e,Ft),r=await M(t),o=r==="pnpm"?["pnpm","dlx"]:r==="bun"?["bunx"]:["npx"];try{return (await execa(o[0],[...o.slice(1),"medusa","user","-e",Ds,"--invite"],{cwd:t})).stdout.match(/Invite token: (?<token>.+)/)?.groups?.token||null}catch(i){return a.error(`Error creating admin invite${i instanceof Error?`: ${i.message}`:""}.`),null}}async function As({projectDir:e,spinner:t}){let r=R__default.join(e,Ft),o=await M(r),i=t||v("Seeding database...").start();try{let s=o==="yarn"?["yarn","seed"]:o==="pnpm"?["pnpm","run","seed"]:o==="bun"?["bun","run","seed"]:["npm","run","seed"];return i.text="Seeding database with demo data...",await execa(s[0],s.slice(1),{cwd:r}),t||i.succeed("Database seeded successfully."),!0}catch(s){return i.fail("Failed to seed database."),a.error(`Error seeding database${s instanceof Error?`: ${s.message}`:""}.`),false}}var oo=Ae.version?.includes("-canary")?"canary":"main",Nt=20,so={basic:{path:"basic",description:"Full marketplace starter \u2014 sellers, products, orders, admin & vendor panels"},plugin:{path:"plugin",description:"MedusaJS plugin template \u2014 for building reusable marketplace extensions"}},no=new Command().name("create").description("create a new Mercur project").argument("[name]","the name of your project").option("-t, --template <template>","the template to use. e.g. basic, registry, or plugin").option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).option("--no-deps","skip installing dependencies.").option("--skip-db","skip database configuration.",false).option("--skip-email","skip email prompt.",false).option("--db-connection-string <string>","PostgreSQL connection string.").option("--db-host <host>","PostgreSQL host.","localhost").option("--db-port <port>","PostgreSQL port.","5432").action(async(e,t)=>{try{let r=Date.now();rn(),H();let o=e;if(!o){let{enteredName:c}=await De({type:"text",name:"enteredName",message:"What is your project named?",initial:t.template?`${t.template}-app`:"my-mercur",format:f=>f.trim(),validate:f=>Ys(R__default.basename(R__default.resolve(f))).validForNewPackages?!0:"Invalid project name. Name should be lowercase, URL-friendly, and not start with a period or underscore."});c||process.exit(0),o=c;}let i=t.template;if(!i){let{selectedTemplate:c}=await De({type:"select",name:"selectedTemplate",message:`Which ${l.info("template")} would you like to use?`,choices:Object.entries(so).map(([f,y])=>({title:f,value:f,description:y.description}))});c||process.exit(0),i=c;}if(!t.skipEmail){let{wantsEmail:c}=await De({type:"confirm",name:"wantsEmail",message:"Mind sharing your email? We reach out for priority support, community events, and invite-only meetups. We never spam.",initial:!1});if(c){let{email:f}=await De({type:"text",name:"email",message:"Enter your email:",format:y=>y.trim()});f&&_r(f);}}let s=R__default.resolve(t.cwd,o);await Js(s);let n=v("Downloading template...").start();await Hs({projectDir:s,template:i}),n.succeed("Template downloaded successfully.");let m=await M(s);if(await Xs(s,m),!t.deps)v("Dependency installation skipped.").warn();else {let c=v("Installing dependencies...").start(),f=Date.now(),y=await Zs({projectDir:s,packageManager:m}),h=((Date.now()-f)/1e3).toFixed(1);y?c.succeed(`Dependencies installed successfully in ${h}s.`):(c.fail("Failed to install dependencies"),await P({type:"create",payload:{outcome:"dependency_installation_failed",packageManager:m}},{cwd:s}),process.exit(1));}let p=t.dbConnectionString,d;if(t.skipDb)v("Database setup skipped.").warn();else {let c=v("Setting up database...").start();d=await ro({projectDir:s,projectName:o,dbConnectionString:p,dbHost:t.dbHost,dbPort:parseInt(t.dbPort,10),spinner:c}),d.success?(d.alreadyExists?c.warn(`Database ${l.info(d.dbName)} already exists. Skipping database creation.`):c.succeed(`Database ${l.info(d.dbName)} setup successfully.`),p=d.connectionString):(c.fail("Failed to setup database."),a.log(Ot()),await P({type:"create",payload:{outcome:"database_setup_failed"}},{cwd:s}),process.exit(1));}await rt({projectDir:s,databaseUri:p}),await en(s),await P({type:"create",payload:{outcome:"created"}},{cwd:s});let u=((Date.now()-r)/1e3).toFixed(1);if(v(`Mercur project successfully created! (${u}s)`).succeed(),d?.success){v("Starting development server...").info();let c=d.inviteToken?`http://localhost:9000/dashboard/invite?token=${d.inviteToken}&first_run=true`:"http://localhost:9000/dashboard",h=spawn(m==="npm"?"npm":m,m==="npm"?["run","dev"]:["dev"],{cwd:s,stdio:"inherit",env:process.env}),j=()=>{a.break(),a.log(F.bgGreen(F.black(" Project stopped. To start again: "))),a.log(io(s,m)),a.log(Ot()),a.break();};process.on("SIGINT",()=>{}),h.on("close",()=>{j(),process.exit(0);}),qs({resources:["http://localhost:9000/health"],timeout:6e4}).then(async()=>{a.break(),a.log(Qs());try{await Ws(c),v("Admin panel opened in your browser.").succeed();}catch{v("Open this URL in your browser to create your admin account:").info(),a.log(l.info(c));}}).catch(()=>{v("To create your admin account, visit:").info(),a.log(l.info(c));});}else a.log(F.bgGreen(F.black(" Next Steps "))),a.log(io(s,m)),a.log(Ot()),a.break();}catch(r){a.break(),w(r);}finally{x();}});async function Js(e){if(!await A.pathExists(e)){await A.mkdir(e);return}let o=(await A.readdir(e)).filter(i=>!i.startsWith("."));if(o.length>0){let{proceed:i}=await De({type:"confirm",name:"proceed",message:`Directory ${l.info(R__default.basename(e))} already exists and contains ${o.length} file(s). Continue and overwrite?`,initial:false});i||process.exit(0);}}async function Hs({projectDir:e,template:t}){let r=`https://codeload.github.com/mercurjs/mercur/tar.gz/${oo}`,o=so[t].path,i=`mercur-${oo.replace(/^v/,"").replaceAll("/","-")}/templates/${o}/`;await pipeline(await Ks(r),x$1({cwd:e,filter:s=>s.includes(i),strip:2+o.split("/").length}));}async function Ks(e){let t=await fetch(e);if(!t.body)throw new Error(`Failed to download: ${e}`);return Readable.from(t.body)}async function Zs({projectDir:e,packageManager:t}){let r="npm",o=["install"];t==="yarn"?(r="yarn",o=[]):t==="pnpm"?(r="pnpm",o=["install"]):t==="bun"&&(r="bun",o=["install"]);try{return await execa(r,o,{cwd:R__default.resolve(e),stdin:"inherit",stdout:"inherit",stderr:"inherit",env:{...process.env,npm_config_yes:"true"}}),!0}catch(i){return a.error(`Error installing dependencies${i instanceof Error?`: ${i.message}`:""}.`),false}}function io(e,t){let r=R__default.relative(process.cwd(),e),o=i=>F.bold(i);return `
46
111
  ${o("Launch Application:")}
47
112
 
48
113
  - cd ./${r}
@@ -55,8 +120,8 @@ ${o("Create your first seller:")}
55
120
 
56
121
  ${o("Documentation:")}
57
122
 
58
- - ${Nt("Getting Started","https://docs.mercurjs.com/welcome")}
59
- `}function qs(){let e=t=>O.bold(t);return `
123
+ - ${Mt("Getting Started","https://docs.mercurjs.com/welcome")}
124
+ `}function Qs(){let e=t=>F.bold(t);return `
60
125
  ${e("Your marketplace is running:")}
61
126
 
62
127
  API: ${l.info("http://localhost:9000")}
@@ -67,17 +132,7 @@ ${e("Create your first seller:")}
67
132
 
68
133
  Open the Vendor Panel and register a new account at:
69
134
  ${l.info("http://localhost:9000/seller/register")}
70
- `}function Ft(){return `${O.bgCyan(O.black(" Have feedback? "))} Visit us on ${Nt("GitHub","https://github.com/mercurjs/mercur")}.
71
- ${O.bgMagenta(O.black(" Join the community! "))} Chat with us on ${Nt("Discord","https://discord.gg/hnZBzc4NJU")}.`}function Nt(e,t){return Us(e,t,{fallback:(r,o)=>`${r}: ${O.cyan().underline(o)}`})}async function Js(e,t){let r=R__default.join(e,"package.json"),o=await L.readJSON(r),{stdout:i}=await execa(t,["--version"]);o.packageManager=`${t}@${i.trim()}`,await L.writeJSON(r,o,{spaces:2});}async function Hs(e){try{await execa("git",["init"],{cwd:e}),a.info("Initialized a git repository.");}catch{throw new Error("Failed to initialize git repository.")}}function Ks(){let[e]=process.versions.node.split(".").map(Number);return e}function Zs(){let e=Ks();if(e<Ot)throw new Error(`Mercur requires at least v${Ot} of Node.js. You're using v${e}. Please install at least v${Ot} and try again: https://nodejs.org/en/download`)}async function to(e,t){let{config:r}=t||{};if(q(e)){let[n]=await re([e]);try{return Z.parse(n)}catch(m){throw new I(e,m)}}if(!e.startsWith("@"))throw new We(e);let o=e;o.endsWith("/registry")||(o=`${o}/registry`);let i=xe(o,pe(r));if(!i?.url)throw new de(o);let[s]=await re([i.url]);try{return Z.parse(s)}catch(n){throw new I(o,n)}}async function it(e,t){let{config:r}=t||{};return x(),He(e,pe(r))}var on=z.object({blocks:z.array(z.string()).optional(),cwd:z.string()}),ro=new Command().name("diff").description("check for updates against the registry").argument("[blocks...]","the block names to diff").option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).action(async(e,t)=>{try{let r=on.parse({blocks:e,cwd:R__default.resolve(t.cwd),type:t.type}),o=await b(r.cwd);o||(o=G({resolvedPaths:{cwd:r.cwd}})),r.blocks?.length||(a.error("Please specify at least one block to diff."),process.exit(1));let i=await it(r.blocks,{config:o}),s=r.blocks.filter(m=>!i.some(p=>p.name===m));s.length>0&&(a.error(`Blocks ${s.join(", ")} not found in registry.`),process.exit(1));let n=await k(o.resolvedPaths.cwd);for(let m of i)for(let p of m.files){let d=Ke(p,o,{isSrcDir:n?.isSrcDir??!1,path:r.cwd});if(!existsSync(d)){a.info(`File ${d} does not exist locally.`);continue}let u=await promises.readFile(d,"utf-8"),c=await Ze({filename:p.path,raw:p.content,config:o,isRemote:!1}),f=diffLines(u,c);f.length>1&&(a.info(`
72
- File: ${l.info(p.path)}`),sn(f));}}catch(r){w(r);}finally{x();}});function sn(e){for(let t of e)t&&(t.added?process.stdout.write(l.success(t.value)):t.removed?process.stdout.write(l.error(t.value)):process.stdout.write(t.value));}var oo=new Command().name("info").description("get information about your project").option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).action(async e=>{try{a.info("> project info"),console.log(await k(e.cwd)),a.break(),a.info("> blocks.json"),console.log(await b(e.cwd));}catch(t){w(t);}});var mn=z.object({cwd:z.string(),query:z.string().optional(),registry:z.string().optional()}),io=new Command().name("search").description("search blocks from registries").option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).option("-q, --query <query>","query string").option("-r, --registry <registry>","the registry to search from (default: @mercurjs)","@mercurjs").action(async e=>{try{let t=mn.parse({cwd:R__default.resolve(e.cwd),query:e.query,type:e.type,registry:e.registry}),r=await b(t.cwd);r||(r=G({resolvedPaths:{cwd:t.cwd}}));let i=(await to(t.registry??"@mercurjs",{config:r})).items;if(t.query){let s=t.query.toLowerCase();i=i.filter(n=>n.name.toLowerCase().includes(s)||n.description?.toLowerCase().includes(s));}console.log(JSON.stringify(i,null,2)),process.exit(0);}catch(t){w(t);}finally{x();}});var so=new Command().name("telemetry").description("manage the collection of anonymous usage data").option("--enable","enable telemetry").option("--disable","disable telemetry").action(async e=>{try{if(e.enable&&e.disable){a.error("Cannot use --enable and --disable together.");return}if(!e.enable&&!e.disable){let r=M.get("telemetry_enabled"),o=process.env.MERCUR_DISABLE_TELEMETRY==="true",i=r&&!o,s=i?"enabled":"disabled";a.log(`Telemetry is currently ${s}.`),o&&r&&a.log("(Disabled via MERCUR_DISABLE_TELEMETRY environment variable)"),a.log(i?'Run "mercurjs telemetry --disable" to opt out.':'Run "mercurjs telemetry --enable" to opt in.'),a.log(`Learn more: ${Qe}`);return}let t=!!e.enable;Er(t),t?a.success(`Telemetry enabled. Learn more: ${Qe}`):a.success("Telemetry disabled. No data will be collected.");}catch(t){w(t);}});var ln=z.object({cwd:z.string()}),ao=new Command().name("view").description("view block details from the registry").argument("<blocks...>","the block names to view").option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).action(async(e,t)=>{try{let r=ln.parse({cwd:R__default.resolve(t.cwd),type:t.type}),o=await b(r.cwd);o||(o=G({resolvedPaths:{cwd:r.cwd}}));let i=await it(e,{config:o});console.log(JSON.stringify(i,null,2)),process.exit(0);}catch(r){w(r);}finally{x();}});async function hn(e,t=e){let r=yn(e),o=await packageDirectory({cwd:r});if(!o)throw new Error(`Could not find package.json for '${e}'`);let{bin:i}=JSON.parse(readFileSync(R.join(o,"package.json"),"utf-8")),s=typeof i=="object"?i[t]:i;if(!s)throw new Error(`No bin '${t}' in module '${e}'`);return R.join(o,s)}async function he(e,t=e,r=process.cwd()){let o=await hn(e,t);return R.resolve(r,o)}var jn=z.object({cwd:z.string()}),co=new Command().name("build").description("build the mercur application").option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).allowUnknownOption().action(async e=>{await bn({cwd:R.resolve(e.cwd)});});async function bn(e){try{let t=jn.parse(e);await K(t.cwd);let r=await he("@medusajs/cli","medusa",t.cwd),o=process.argv.slice(2).filter(i=>!["build"].includes(i));return new Promise((i,s)=>{vn(r,["build",...o],{cwd:t.cwd,env:{...process.env,FORCE_COLOR:"3"},stdio:"inherit"}).on("exit",n=>{n===0||n===null?i():process.exit(n);}).on("error",s);})}catch(t){a.break(),w(t);}}var _n=z.object({cwd:z.string()}),fo=new Command().name("develop").description("start the mercur development server").option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).allowUnknownOption().action(async e=>{await kn({cwd:R.resolve(e.cwd)});});async function kn(e){try{let t=_n.parse(e);await K(t.cwd);let r=await he("@medusajs/cli","medusa",t.cwd),o=process.argv.slice(2).filter(i=>!["develop"].includes(i));return new Promise((i,s)=>{vn(r,["develop",...o],{cwd:t.cwd,env:{...process.env,FORCE_COLOR:"3"},stdio:"inherit"}).on("exit",n=>{n===0||n===null?i():process.exit(n);}).on("error",s);})}catch(t){a.break(),w(t);}}var Pn={"dist/api/admin/products/middlewares.js":"adminProductRoutesMiddlewares","dist/api/admin/product-variants/middlewares.js":"adminProductVariantRoutesMiddlewares"},Tn=["dist/api/admin/products/**/route.js","dist/api/admin/product-variants/**/route.js"],$n=`"use strict";
73
- Object.defineProperty(exports, "__esModule", { value: true });
74
- const utils_1 = require("@medusajs/framework/utils");
75
- (0, utils_1.defineFileConfig)({
76
- isDisabled: () => true,
77
- });
78
- `;function Dn(e){return `"use strict";
79
- Object.defineProperty(exports, "__esModule", { value: true });
80
- exports.${e} = void 0;
81
- exports.${e} = [];
82
- `}async function yo(){try{let e=yn("@medusajs/medusa"),t=await packageDirectory({cwd:e});if(!t){a.warn("Could not find @medusajs/medusa package directory, skipping patches.");return}for(let[r,o]of Object.entries(Pn)){let i=join(t,r);writeFileSync(i,Dn(o));}for(let r of Tn){let o=await dt(r,{cwd:t,absolute:!0});for(let i of o)writeFileSync(i,$n);}}catch(e){a.error(`Failed to patch Medusa: ${e}`);}}var Nn=z.object({cwd:z.string()}),vo=new Command().name("start").description("start the mercur application").option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).allowUnknownOption().action(async e=>{await An({cwd:R.resolve(e.cwd)});});async function An(e){try{let t=Nn.parse(e);await K(t.cwd),await yo();let r=await he("@medusajs/cli","medusa",t.cwd),o=process.argv.slice(2).filter(i=>!["start"].includes(i));return new Promise((i,s)=>{vn(r,["start",...o],{cwd:t.cwd,env:{...process.env,FORCE_COLOR:"3"},stdio:"inherit"}).on("exit",n=>{n===0||n===null?i():process.exit(n);}).on("error",s);})}catch(t){a.break(),w(t);}}async function bo(e){let t=R__default.resolve(e.root,"src/vendor");if(!Lt.existsSync(t))return true;let r=await import('vite'),o=(await import('@vitejs/plugin-react')).default,i=JSON.parse(readFileSync(R__default.resolve(e.root,"package.json"),"utf-8")),s=new Set([...Object.keys(i.dependencies||{}),...Object.keys(i.peerDependencies||{}),...Object.keys(i.devDependencies||{}),"react","react/jsx-runtime","react-router-dom","react-i18next","@medusajs/js-sdk","@medusajs/admin-sdk","@mercurjs/client","@tanstack/react-query"]),n=R__default.resolve(e.outDir,"src/vendor"),m=R__default.resolve(e.root,"src/vendor/__vendor-extensions__.js");try{let p=generatePluginEntryModule(t);await writeFile(m,p,"utf-8");let d=process.env.NODE_ENV;process.env.NODE_ENV="production",await r.build({build:{lib:{entry:m,formats:["es","cjs"],fileName:"index"},emptyOutDir:!1,minify:!1,outDir:n,rollupOptions:{external:(f,y)=>{let h=f.split("/"),j=h[0]?.startsWith("@")?`${h[0]}/${h[1]}`:h[0],E=[...builtinModules,...builtinModules.map(F=>`node:${F}`)];return y?!!(j&&s.has(j)):!!(j&&s.has(j)||j&&E.includes(j))},output:{preserveModules:!1,interop:"auto",chunkFileNames:()=>"_chunks/[name]-[hash]"}}},plugins:[o()],logLevel:"silent",clearScreen:!1}),process.env.NODE_ENV=d;let u=R__default.join(n,"index.es.js"),c=R__default.join(n,"index.mjs");return Lt.existsSync(u)&&Lt.renameSync(u,c),!0}catch(p){return console.error(p),false}finally{try{await rm(m,{force:!0});}catch{}}}var xo=new Command().name("plugin:build").description("build a Medusa plugin").option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).action(async e=>{try{let t=R__default.resolve(e.cwd),r=v("Building plugin..."),{Compiler:o}=await import('@medusajs/framework/build-tools'),i=new o(t,a),s=await i.loadTSConfigFile();s||(r.fail("Unable to compile plugin \u2014 tsconfig not found."),process.exit(1));let n=await import('@medusajs/admin-bundler'),m=R__default.resolve(t,".medusa/server");(await Promise.all([i.buildPluginBackend(s),i.buildPluginAdminExtensions(n),bo({root:t,outDir:m})])).every(d=>d===!0)?r.succeed("Plugin built successfully."):(r.fail("Plugin build failed."),process.exit(1));}catch(t){a.break(),w(t);}});process.on("SIGINT",()=>process.exit(0));process.on("SIGTERM",()=>process.exit(0));async function Gn(){let e=new Command().name("@mercurjs/cli").description("Add blocks from registries to your project").version(Ut.version,"-v, --version","display the version number");e.addCommand(Ir).addCommand(Tr).addCommand(Wr).addCommand(Yr).addCommand(eo).addCommand(ro).addCommand(oo).addCommand(Cr).addCommand(io).addCommand(so).addCommand(ao).addCommand(xo).addCommand(co).addCommand(fo).addCommand(vo),e.parse();}Gn();export{Co as registryConfigItemSchema,Vt as registryConfigSchema,Hn as registryIndexSchema,Bt as registryItemFileSchema,T as registryItemSchema,So as registryItemTypeSchema,Gt as registryResolvedItemsTreeSchema,Z as registrySchema};//# sourceMappingURL=index.js.map
135
+ `}function Ot(){return `${F.bgCyan(F.black(" Have feedback? "))} Visit us on ${Mt("GitHub","https://github.com/mercurjs/mercur")}.
136
+ ${F.bgMagenta(F.black(" Join the community! "))} Chat with us on ${Mt("Discord","https://discord.gg/hnZBzc4NJU")}.`}function Mt(e,t){return Vs(e,t,{fallback:(r,o)=>`${r}: ${F.cyan().underline(o)}`})}async function Xs(e,t){let r=R__default.join(e,"package.json"),o=await A.readJSON(r),{stdout:i}=await execa(t,["--version"]);o.packageManager=`${t}@${i.trim()}`,await A.writeJSON(r,o,{spaces:2});}async function en(e){try{await execa("git",["init"],{cwd:e}),a.info("Initialized a git repository.");}catch{throw new Error("Failed to initialize git repository.")}}function tn(){let[e]=process.versions.node.split(".").map(Number);return e}function rn(){let e=tn();if(e<Nt)throw new Error(`Mercur requires at least v${Nt} of Node.js. You're using v${e}. Please install at least v${Nt} and try again: https://nodejs.org/en/download`)}async function ao(e,t){let{config:r}=t||{};if(q(e)){let[n]=await te([e]);try{return K.parse(n)}catch(m){throw new C(e,m)}}if(!e.startsWith("@"))throw new Ge(e);let o=e;o.endsWith("/registry")||(o=`${o}/registry`);let i=xe(o,me(r));if(!i?.url)throw new ae(o);let[s]=await te([i.url]);try{return K.parse(s)}catch(n){throw new C(o,n)}}async function it(e,t){let{config:r}=t||{};return x(),Ke(e,me(r))}var mn=z.object({blocks:z.array(z.string()).optional(),cwd:z.string()}),mo=new Command().name("diff").description("check for updates against the registry").argument("[blocks...]","the block names to diff").option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).action(async(e,t)=>{try{let r=mn.parse({blocks:e,cwd:R__default.resolve(t.cwd),type:t.type}),o=await b(r.cwd);o||(o=G({resolvedPaths:{cwd:r.cwd}})),r.blocks?.length||(a.error("Please specify at least one block to diff."),process.exit(1));let i=await it(r.blocks,{config:o}),s=r.blocks.filter(m=>!i.some(p=>p.name===m));s.length>0&&(a.error(`Blocks ${s.join(", ")} not found in registry.`),process.exit(1));let n=await _(o.resolvedPaths.cwd);for(let m of i)for(let p of m.files){let d=Ze(p,o,{isSrcDir:n?.isSrcDir??!1,path:r.cwd});if(!existsSync(d)){a.info(`File ${d} does not exist locally.`);continue}let u=await promises.readFile(d,"utf-8"),c=await Qe({filename:p.path,raw:p.content,config:o,isRemote:!1}),f=diffLines(u,c);f.length>1&&(a.info(`
137
+ File: ${l.info(p.path)}`),pn(f));}}catch(r){w(r);}finally{x();}});function pn(e){for(let t of e)t&&(t.added?process.stdout.write(l.success(t.value)):t.removed?process.stdout.write(l.error(t.value)):process.stdout.write(t.value));}var po=new Command().name("info").description("get information about your project").option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).action(async e=>{try{a.info("> project info"),console.log(await _(e.cwd)),a.break(),a.info("> blocks.json"),console.log(await b(e.cwd));}catch(t){w(t);}});var fn=z.object({cwd:z.string(),query:z.string().optional(),registry:z.string().optional()}),co=new Command().name("search").description("search blocks from registries").option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).option("-q, --query <query>","query string").option("-r, --registry <registry>","the registry to search from (default: @mercurjs)","@mercurjs").action(async e=>{try{let t=fn.parse({cwd:R__default.resolve(e.cwd),query:e.query,type:e.type,registry:e.registry}),r=await b(t.cwd);r||(r=G({resolvedPaths:{cwd:t.cwd}}));let i=(await ao(t.registry??"@mercurjs",{config:r})).items;if(t.query){let s=t.query.toLowerCase();i=i.filter(n=>n.name.toLowerCase().includes(s)||n.description?.toLowerCase().includes(s));}console.log(JSON.stringify(i,null,2)),process.exit(0);}catch(t){w(t);}finally{x();}});var uo=new Command().name("telemetry").description("manage the collection of anonymous usage data").option("--enable","enable telemetry").option("--disable","disable telemetry").action(async e=>{try{if(e.enable&&e.disable){a.error("Cannot use --enable and --disable together.");return}if(!e.enable&&!e.disable){let r=L.get("telemetry_enabled"),o=process.env.MERCUR_DISABLE_TELEMETRY==="true",i=r&&!o,s=i?"enabled":"disabled";a.log(`Telemetry is currently ${s}.`),o&&r&&a.log("(Disabled via MERCUR_DISABLE_TELEMETRY environment variable)"),a.log(i?'Run "mercurjs telemetry --disable" to opt out.':'Run "mercurjs telemetry --enable" to opt in.'),a.log(`Learn more: ${Xe}`);return}let t=!!e.enable;kr(t),t?a.success(`Telemetry enabled. Learn more: ${Xe}`):a.success("Telemetry disabled. No data will be collected.");}catch(t){w(t);}});var vn=z.object({cwd:z.string()}),fo=new Command().name("view").description("view block details from the registry").argument("<blocks...>","the block names to view").option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).action(async(e,t)=>{try{let r=vn.parse({cwd:R__default.resolve(t.cwd),type:t.type}),o=await b(r.cwd);o||(o=G({resolvedPaths:{cwd:r.cwd}}));let i=await it(e,{config:o});console.log(JSON.stringify(i,null,2)),process.exit(0);}catch(r){w(r);}finally{x();}});async function yo(e){let t=R__default.resolve(e.root,"src/vendor");if(!Lt.existsSync(t))return true;let r=await import('vite'),o=(await import('@vitejs/plugin-react')).default,i=JSON.parse(readFileSync(R__default.resolve(e.root,"package.json"),"utf-8")),s=new Set([...Object.keys(i.dependencies||{}),...Object.keys(i.peerDependencies||{}),...Object.keys(i.devDependencies||{}),"react","react/jsx-runtime","react-router-dom","react-i18next","@medusajs/js-sdk","@medusajs/admin-sdk","@mercurjs/client","@tanstack/react-query"]),n=R__default.resolve(e.outDir,"src/vendor"),m=R__default.resolve(e.root,"src/vendor/__vendor-extensions__.js");try{let p=generatePluginEntryModule(t);await writeFile(m,p,"utf-8");let d=process.env.NODE_ENV;process.env.NODE_ENV="production",await r.build({build:{lib:{entry:m,formats:["es","cjs"],fileName:"index"},emptyOutDir:!1,minify:!1,outDir:n,rollupOptions:{external:(f,y)=>{let h=f.split("/"),j=h[0]?.startsWith("@")?`${h[0]}/${h[1]}`:h[0],k=[...builtinModules,...builtinModules.map(N=>`node:${N}`)];return y?!!(j&&s.has(j)):!!(j&&s.has(j)||j&&k.includes(j))},output:{preserveModules:!1,interop:"auto",chunkFileNames:()=>"_chunks/[name]-[hash]"}}},plugins:[o()],logLevel:"silent",clearScreen:!1}),process.env.NODE_ENV=d;let u=R__default.join(n,"index.es.js"),c=R__default.join(n,"index.mjs");return Lt.existsSync(u)&&Lt.renameSync(u,c),!0}catch(p){return console.error(p),false}finally{try{await rm(m,{force:!0});}catch{}}}var vo=new Command().name("plugin:build").description("build a Medusa plugin").option("-c, --cwd <cwd>","the working directory. defaults to the current directory.",process.cwd()).action(async e=>{try{let t=R__default.resolve(e.cwd),r=v("Building plugin..."),{Compiler:o}=await import('@medusajs/framework/build-tools'),i=new o(t,a),s=await i.loadTSConfigFile();s||(r.fail("Unable to compile plugin \u2014 tsconfig not found."),process.exit(1));let n=await import('@medusajs/admin-bundler'),m=R__default.resolve(t,".medusa/server");(await Promise.all([i.buildPluginBackend(s),i.buildPluginAdminExtensions(n),yo({root:t,outDir:m})])).every(d=>d===!0)?r.succeed("Plugin built successfully."):(r.fail("Plugin build failed."),process.exit(1));}catch(t){a.break(),w(t);}});process.on("SIGINT",()=>process.exit(0));process.on("SIGTERM",()=>process.exit(0));async function _n(){let e=new Command().name("@mercurjs/cli").description("Add blocks from registries to your project").version(Ae.version,"-v, --version","display the version number");e.addCommand(Cr).addCommand(Br).addCommand(Gr).addCommand(Hr).addCommand(Qr).addCommand(no).addCommand(mo).addCommand(po).addCommand(Ir).addCommand(co).addCommand(uo).addCommand(fo).addCommand(vo),e.parse();}_n();export{xo as registryConfigItemSchema,Vt as registryConfigSchema,Pn as registryIndexSchema,Bt as registryItemFileSchema,T as registryItemSchema,Ro as registryItemTypeSchema,Gt as registryResolvedItemsTreeSchema,K as registrySchema};//# sourceMappingURL=index.js.map
83
138
  //# sourceMappingURL=index.js.map