@softspark/jira-mcp 1.4.1 → 1.4.2
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/CHANGELOG.md +15 -0
- package/README.md +6 -6
- package/dist/cli.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,21 @@ Versioning follows [Semantic Versioning](https://semver.org/).
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## v1.4.2 -- Supply-Chain Hardening (2026-04-18)
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
- **npm provenance attestation** -- `publish.yml` now publishes with `--provenance` and `id-token: write`, producing a SLSA v1 attestation on every release. Consumers can verify via `npm audit signatures` or the Provenance badge on npmjs.com.
|
|
14
|
+
- **Supply-chain gates in release SOP** -- `kb/procedures/sop-release.md` adds a pre-tag check for `--provenance` and `id-token: write` in `publish.yml`, plus a post-publish step that asserts `predicateType == https://slsa.dev/provenance/v1`.
|
|
15
|
+
- **Provenance verification in post-release SOP** -- `kb/procedures/sop-post-release-testing.md` adds Phase 5 covering the SLSA attestation check, `npm audit signatures`, and the npmjs.com Provenance badge.
|
|
16
|
+
- **Version-sync step in pre-commit SOP** -- `kb/procedures/sop-pre-commit.md` adds Step 6 verifying `package.json` and `package-lock.json` agree on the `version` field.
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
- **Release workflow permissions** -- `packages: write` and `id-token: write` added to `.github/workflows/publish.yml` for OIDC attestation.
|
|
20
|
+
- **Release commit now stages the lockfile** -- SOP Phase 5 stages `package.json`, `package-lock.json`, `CHANGELOG.md`, and `README.md`. Prevents lockfile drift between tags.
|
|
21
|
+
|
|
22
|
+
### Fixed
|
|
23
|
+
- **`package-lock.json` top-level version drift** -- lockfile root `version` was stuck at `1.0.0` across prior releases. Regenerated via `npm install --package-lock-only` and now matches `package.json` on every release commit.
|
|
24
|
+
|
|
10
25
|
## v1.4.1 -- Template Loading Fix (2026-04-15)
|
|
11
26
|
|
|
12
27
|
### Fixed
|
package/README.md
CHANGED
|
@@ -4,17 +4,17 @@
|
|
|
4
4
|
|
|
5
5
|
[](https://github.com/softspark/jira-mcp/actions/workflows/ci.yml)
|
|
6
6
|
[](https://www.npmjs.com/package/@softspark/jira-mcp)
|
|
7
|
-
[](CHANGELOG.md)
|
|
8
8
|
[](LICENSE)
|
|
9
9
|
|
|
10
10
|
---
|
|
11
11
|
|
|
12
|
-
## What's New in v1.4.
|
|
12
|
+
## What's New in v1.4.2
|
|
13
13
|
|
|
14
|
-
- **
|
|
15
|
-
-
|
|
16
|
-
- **
|
|
17
|
-
- **
|
|
14
|
+
- **npm provenance attestation** -- releases now ship with SLSA v1 attestation via `npm publish --provenance`. Verify with `npm audit signatures` or the Provenance badge on npmjs.com.
|
|
15
|
+
- **Release SOP hardening** -- supply-chain gates (`--provenance`, `id-token: write`) and a lockfile sync step are now part of the pre-tag checklist.
|
|
16
|
+
- **Post-release verification** -- new phase asserts the SLSA provenance predicate and runs `npm audit signatures` before the release is considered shipped.
|
|
17
|
+
- **Pre-commit version sync** -- new step catches `package.json` ↔ `package-lock.json` version drift before commit.
|
|
18
18
|
|
|
19
19
|
See [CHANGELOG.md](CHANGELOG.md) for full details.
|
|
20
20
|
|
package/dist/cli.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {readFileSync,readdirSync,existsSync}from'fs';import {readFile,mkdir,writeFile,unlink,access,rename}from'fs/promises';import {homedir}from'os';import {join,dirname,resolve}from'path';import {fileURLToPath}from'url';import rz from'process';import {Command}from'commander';var Yz=Object.create;var Lm=Object.defineProperty;var Qz=Object.getOwnPropertyDescriptor;var eI=Object.getOwnPropertyNames;var tI=Object.getPrototypeOf,rI=Object.prototype.hasOwnProperty;var f=(t,e)=>()=>(t&&(e=t(t=0)),e);var j=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Ut=(t,e)=>{for(var n in e)Lm(t,n,{get:e[n],enumerable:true});},nI=(t,e,n,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of eI(e))!rI.call(t,r)&&r!==n&&Lm(t,r,{get:()=>e[r],enumerable:!(o=Qz(e,r))||o.enumerable});return t};var z_=(t,e,n)=>(n=t!=null?Yz(tI(t)):{},nI(Lm(n,"default",{value:t,enumerable:true}),t));var As,qm=f(()=>{As="1.4.1";});var E_={};Ut(E_,{GLOBAL_CACHE_DIR:()=>wr,GLOBAL_COMMENT_TEMPLATES_DIR:()=>Zs,GLOBAL_CONFIG_DIR:()=>$e,GLOBAL_CONFIG_PATH:()=>Fm,GLOBAL_CREDENTIALS_PATH:()=>Jm,GLOBAL_STATE_PATH:()=>sI,GLOBAL_TASK_TEMPLATES_DIR:()=>Fn,GLOBAL_TASK_TEMPLATE_DEFINITIONS_DIR:()=>Ms,GLOBAL_TEMPLATES_DIR:()=>Us,GLOBAL_USERS_PATH:()=>vi,GLOBAL_WORKFLOWS_PATH:()=>yi,PACKAGE_ROOT_DIR:()=>j_,SYSTEM_COMMENT_TEMPLATES_DIR:()=>Gm,SYSTEM_TASK_TEMPLATES_DIR:()=>Bm,SYSTEM_TEMPLATES_DIR:()=>Vm,ensureGlobalDirs:()=>cI});function aI(t){let e=t;for(;;){if(existsSync(join(e,"package.json")))return e;let n=dirname(e);if(n===e)return fileURLToPath(new URL("../..",import.meta.url));e=n;}}async function cI(){await mkdir($e,{recursive:true}),await mkdir(wr,{recursive:true}),await mkdir(Zs,{recursive:true}),await mkdir(Ms,{recursive:true}),await mkdir(Fn,{recursive:true});}var $e,j_,Fm,Jm,wr,yi,vi,sI,Us,Zs,Ms,Fn,Vm,Gm,Bm,ze=f(()=>{$e=join(homedir(),".softspark","jira-mcp");j_=aI(dirname(fileURLToPath(import.meta.url))),Fm=join($e,"config.json"),Jm=join($e,"credentials.json"),wr=join($e,"cache"),yi=join(wr,"workflows.json"),vi=join(wr,"users.json"),sI=join($e,"state.json"),Us=join($e,"templates"),Zs=join(Us,"comments"),Ms=join(Us,"task-templates"),Fn=join(Us,"tasks"),Vm=join(j_,"templates-system"),Gm=join(Vm,"comments"),Bm=join(Vm,"task-templates");});async function Ee(t){try{return await access(t),!0}catch{return false}}async function Ls(t,e){await writeFile(t,e,{encoding:"utf-8",mode:384});}async function vt(t){let e=await readFile(t,"utf-8");return JSON.parse(e)}async function lr(t,e){await writeFile(t,JSON.stringify(e,null,2),"utf-8");}var st=f(()=>{});function h(t,e,n){function o(s,c){if(s._zod||Object.defineProperty(s,"_zod",{value:{def:c,constr:a,traits:new Set},enumerable:false}),s._zod.traits.has(t))return;s._zod.traits.add(t),e(s,c);let u=a.prototype,l=Object.keys(u);for(let d=0;d<l.length;d++){let p=l[d];p in s||(s[p]=u[p].bind(s));}}let r=n?.Parent??Object;class i extends r{}Object.defineProperty(i,"name",{value:t});function a(s){var c;let u=n?.Parent?new i:this;o(u,s),(c=u._zod).deferred??(c.deferred=[]);for(let l of u._zod.deferred)l();return u}return Object.defineProperty(a,"init",{value:o}),Object.defineProperty(a,Symbol.hasInstance,{value:s=>n?.Parent&&s instanceof n.Parent?true:s?._zod?.traits?.has(t)}),Object.defineProperty(a,"name",{value:t}),a}function Te(t){return t&&Object.assign($i,t),$i}var Fs,ki,Zt,Tr,$i,Jn=f(()=>{Fs=Object.freeze({status:"aborted"});ki=Symbol("zod_brand"),Zt=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.");}},Tr=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError";}},$i={};});var b={};Ut(b,{BIGINT_FORMAT_RANGES:()=>np,Class:()=>Hm,NUMBER_FORMAT_RANGES:()=>rp,aborted:()=>jr,allowsEval:()=>Qm,assert:()=>jI,assertEqual:()=>TI,assertIs:()=>II,assertNever:()=>PI,assertNotEqual:()=>zI,assignProp:()=>Ir,base64ToUint8Array:()=>J_,base64urlToUint8Array:()=>LI,cached:()=>Gn,captureStackTrace:()=>Vs,cleanEnum:()=>MI,cleanRegex:()=>wi,clone:()=>Ue,cloneDef:()=>OI,createTransparentProxy:()=>UI,defineLazy:()=>K,esc:()=>Js,escapeRegex:()=>Tt,extend:()=>M_,finalizeIssue:()=>ct,floatSafeRemainder:()=>Xm,getElementAtPath:()=>CI,getEnumValues:()=>xi,getLengthableOrigin:()=>zi,getParsedType:()=>AI,getSizableOrigin:()=>Ti,hexToUint8Array:()=>FI,isObject:()=>un,isPlainObject:()=>Pr,issue:()=>Bn,joinValues:()=>y,jsonStringifyReplacer:()=>Vn,merge:()=>ZI,mergeDefs:()=>dr,normalizeParams:()=>S,nullish:()=>zr,numKeys:()=>DI,objectClone:()=>EI,omit:()=>Z_,optionalKeys:()=>tp,parsedType:()=>w,partial:()=>q_,pick:()=>U_,prefixIssues:()=>_t,primitiveTypes:()=>ep,promiseAllObject:()=>RI,propertyKeyTypes:()=>Si,randomString:()=>NI,required:()=>F_,safeExtend:()=>L_,shallowClone:()=>Gs,slugify:()=>Ym,stringifyPrimitive:()=>k,uint8ArrayToBase64:()=>V_,uint8ArrayToBase64url:()=>qI,uint8ArrayToHex:()=>JI,unwrapMessage:()=>bi});function TI(t){return t}function zI(t){return t}function II(t){}function PI(t){throw new Error("Unexpected value in exhaustive check")}function jI(t){}function xi(t){let e=Object.values(t).filter(o=>typeof o=="number");return Object.entries(t).filter(([o,r])=>e.indexOf(+o)===-1).map(([o,r])=>r)}function y(t,e="|"){return t.map(n=>k(n)).join(e)}function Vn(t,e){return typeof e=="bigint"?e.toString():e}function Gn(t){return {get value(){{let n=t();return Object.defineProperty(this,"value",{value:n}),n}}}}function zr(t){return t==null}function wi(t){let e=t.startsWith("^")?1:0,n=t.endsWith("$")?t.length-1:t.length;return t.slice(e,n)}function Xm(t,e){let n=(t.toString().split(".")[1]||"").length,o=e.toString(),r=(o.split(".")[1]||"").length;if(r===0&&/\d?e-\d?/.test(o)){let c=o.match(/\d?e-(\d?)/);c?.[1]&&(r=Number.parseInt(c[1]));}let i=n>r?n:r,a=Number.parseInt(t.toFixed(i).replace(".","")),s=Number.parseInt(e.toFixed(i).replace(".",""));return a%s/10**i}function K(t,e,n){let o;Object.defineProperty(t,e,{get(){if(o!==A_)return o===void 0&&(o=A_,o=n()),o},set(r){Object.defineProperty(t,e,{value:r});},configurable:true});}function EI(t){return Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t))}function Ir(t,e,n){Object.defineProperty(t,e,{value:n,writable:true,enumerable:true,configurable:true});}function dr(...t){let e={};for(let n of t){let o=Object.getOwnPropertyDescriptors(n);Object.assign(e,o);}return Object.defineProperties({},e)}function OI(t){return dr(t._zod.def)}function CI(t,e){return e?e.reduce((n,o)=>n?.[o],t):t}function RI(t){let e=Object.keys(t),n=e.map(o=>t[o]);return Promise.all(n).then(o=>{let r={};for(let i=0;i<e.length;i++)r[e[i]]=o[i];return r})}function NI(t=10){let e="abcdefghijklmnopqrstuvwxyz",n="";for(let o=0;o<t;o++)n+=e[Math.floor(Math.random()*e.length)];return n}function Js(t){return JSON.stringify(t)}function Ym(t){return t.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function un(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Pr(t){if(un(t)===false)return false;let e=t.constructor;if(e===void 0||typeof e!="function")return true;let n=e.prototype;return !(un(n)===false||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===false)}function Gs(t){return Pr(t)?{...t}:Array.isArray(t)?[...t]:t}function DI(t){let e=0;for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&e++;return e}function Tt(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ue(t,e,n){let o=new t._zod.constr(e??t._zod.def);return (!e||n?.parent)&&(o._zod.parent=t),o}function S(t){let e=t;if(!e)return {};if(typeof e=="string")return {error:()=>e};if(e?.message!==void 0){if(e?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message;}return delete e.message,typeof e.error=="string"?{...e,error:()=>e.error}:e}function UI(t){let e;return new Proxy({},{get(n,o,r){return e??(e=t()),Reflect.get(e,o,r)},set(n,o,r,i){return e??(e=t()),Reflect.set(e,o,r,i)},has(n,o){return e??(e=t()),Reflect.has(e,o)},deleteProperty(n,o){return e??(e=t()),Reflect.deleteProperty(e,o)},ownKeys(n){return e??(e=t()),Reflect.ownKeys(e)},getOwnPropertyDescriptor(n,o){return e??(e=t()),Reflect.getOwnPropertyDescriptor(e,o)},defineProperty(n,o,r){return e??(e=t()),Reflect.defineProperty(e,o,r)}})}function k(t){return typeof t=="bigint"?t.toString()+"n":typeof t=="string"?`"${t}"`:`${t}`}function tp(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}function U_(t,e){let n=t._zod.def,o=n.checks;if(o&&o.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let i=dr(t._zod.def,{get shape(){let a={};for(let s in e){if(!(s in n.shape))throw new Error(`Unrecognized key: "${s}"`);e[s]&&(a[s]=n.shape[s]);}return Ir(this,"shape",a),a},checks:[]});return Ue(t,i)}function Z_(t,e){let n=t._zod.def,o=n.checks;if(o&&o.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let i=dr(t._zod.def,{get shape(){let a={...t._zod.def.shape};for(let s in e){if(!(s in n.shape))throw new Error(`Unrecognized key: "${s}"`);e[s]&&delete a[s];}return Ir(this,"shape",a),a},checks:[]});return Ue(t,i)}function M_(t,e){if(!Pr(e))throw new Error("Invalid input to extend: expected a plain object");let n=t._zod.def.checks;if(n&&n.length>0){let i=t._zod.def.shape;for(let a in e)if(Object.getOwnPropertyDescriptor(i,a)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let r=dr(t._zod.def,{get shape(){let i={...t._zod.def.shape,...e};return Ir(this,"shape",i),i}});return Ue(t,r)}function L_(t,e){if(!Pr(e))throw new Error("Invalid input to safeExtend: expected a plain object");let n=dr(t._zod.def,{get shape(){let o={...t._zod.def.shape,...e};return Ir(this,"shape",o),o}});return Ue(t,n)}function ZI(t,e){let n=dr(t._zod.def,{get shape(){let o={...t._zod.def.shape,...e._zod.def.shape};return Ir(this,"shape",o),o},get catchall(){return e._zod.def.catchall},checks:[]});return Ue(t,n)}function q_(t,e,n){let r=e._zod.def.checks;if(r&&r.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");let a=dr(e._zod.def,{get shape(){let s=e._zod.def.shape,c={...s};if(n)for(let u in n){if(!(u in s))throw new Error(`Unrecognized key: "${u}"`);n[u]&&(c[u]=t?new t({type:"optional",innerType:s[u]}):s[u]);}else for(let u in s)c[u]=t?new t({type:"optional",innerType:s[u]}):s[u];return Ir(this,"shape",c),c},checks:[]});return Ue(e,a)}function F_(t,e,n){let o=dr(e._zod.def,{get shape(){let r=e._zod.def.shape,i={...r};if(n)for(let a in n){if(!(a in i))throw new Error(`Unrecognized key: "${a}"`);n[a]&&(i[a]=new t({type:"nonoptional",innerType:r[a]}));}else for(let a in r)i[a]=new t({type:"nonoptional",innerType:r[a]});return Ir(this,"shape",i),i}});return Ue(e,o)}function jr(t,e=0){if(t.aborted===true)return true;for(let n=e;n<t.issues.length;n++)if(t.issues[n]?.continue!==true)return true;return false}function _t(t,e){return e.map(n=>{var o;return (o=n).path??(o.path=[]),n.path.unshift(t),n})}function bi(t){return typeof t=="string"?t:t?.message}function ct(t,e,n){let o={...t,path:t.path??[]};if(!t.message){let r=bi(t.inst?._zod.def?.error?.(t))??bi(e?.error?.(t))??bi(n.customError?.(t))??bi(n.localeError?.(t))??"Invalid input";o.message=r;}return delete o.inst,delete o.continue,e?.reportInput||delete o.input,o}function Ti(t){return t instanceof Set?"set":t instanceof Map?"map":t instanceof File?"file":"unknown"}function zi(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}function w(t){let e=typeof t;switch(e){case "number":return Number.isNaN(t)?"nan":"number";case "object":{if(t===null)return "null";if(Array.isArray(t))return "array";let n=t;if(n&&Object.getPrototypeOf(n)!==Object.prototype&&"constructor"in n&&n.constructor)return n.constructor.name}}return e}function Bn(...t){let[e,n,o]=t;return typeof e=="string"?{message:e,code:"custom",input:n,inst:o}:{...e}}function MI(t){return Object.entries(t).filter(([e,n])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}function J_(t){let e=atob(t),n=new Uint8Array(e.length);for(let o=0;o<e.length;o++)n[o]=e.charCodeAt(o);return n}function V_(t){let e="";for(let n=0;n<t.length;n++)e+=String.fromCharCode(t[n]);return btoa(e)}function LI(t){let e=t.replace(/-/g,"+").replace(/_/g,"/"),n="=".repeat((4-e.length%4)%4);return J_(e+n)}function qI(t){return V_(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function FI(t){let e=t.replace(/^0x/,"");if(e.length%2!==0)throw new Error("Invalid hex string length");let n=new Uint8Array(e.length/2);for(let o=0;o<e.length;o+=2)n[o/2]=Number.parseInt(e.slice(o,o+2),16);return n}function JI(t){return Array.from(t).map(e=>e.toString(16).padStart(2,"0")).join("")}var A_,Vs,Qm,AI,Si,ep,rp,np,Hm,A=f(()=>{A_=Symbol("evaluating");Vs="captureStackTrace"in Error?Error.captureStackTrace:(...t)=>{};Qm=Gn(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return false;try{let t=Function;return new t(""),!0}catch{return false}});AI=t=>{let e=typeof t;switch(e){case "undefined":return "undefined";case "string":return "string";case "number":return Number.isNaN(t)?"nan":"number";case "boolean":return "boolean";case "function":return "function";case "bigint":return "bigint";case "symbol":return "symbol";case "object":return Array.isArray(t)?"array":t===null?"null":t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?"promise":typeof Map<"u"&&t instanceof Map?"map":typeof Set<"u"&&t instanceof Set?"set":typeof Date<"u"&&t instanceof Date?"date":typeof File<"u"&&t instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${e}`)}},Si=new Set(["string","number","symbol"]),ep=new Set(["string","number","bigint","boolean","symbol","undefined"]);rp={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},np={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};Hm=class{constructor(...e){}};});function Kn(t,e=n=>n.message){let n={},o=[];for(let r of t.issues)r.path.length>0?(n[r.path[0]]=n[r.path[0]]||[],n[r.path[0]].push(e(r))):o.push(e(r));return {formErrors:o,fieldErrors:n}}function Wn(t,e=n=>n.message){let n={_errors:[]},o=r=>{for(let i of r.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(a=>o({issues:a}));else if(i.code==="invalid_key")o({issues:i.issues});else if(i.code==="invalid_element")o({issues:i.issues});else if(i.path.length===0)n._errors.push(e(i));else {let a=n,s=0;for(;s<i.path.length;){let c=i.path[s];s===i.path.length-1?(a[c]=a[c]||{_errors:[]},a[c]._errors.push(e(i))):a[c]=a[c]||{_errors:[]},a=a[c],s++;}}};return o(t),n}function Bs(t,e=n=>n.message){let n={errors:[]},o=(r,i=[])=>{var a,s;for(let c of r.issues)if(c.code==="invalid_union"&&c.errors.length)c.errors.map(u=>o({issues:u},c.path));else if(c.code==="invalid_key")o({issues:c.issues},c.path);else if(c.code==="invalid_element")o({issues:c.issues},c.path);else {let u=[...i,...c.path];if(u.length===0){n.errors.push(e(c));continue}let l=n,d=0;for(;d<u.length;){let p=u[d],m=d===u.length-1;typeof p=="string"?(l.properties??(l.properties={}),(a=l.properties)[p]??(a[p]={errors:[]}),l=l.properties[p]):(l.items??(l.items=[]),(s=l.items)[p]??(s[p]={errors:[]}),l=l.items[p]),m&&l.errors.push(e(c)),d++;}}};return o(t),n}function B_(t){let e=[],n=t.map(o=>typeof o=="object"?o.key:o);for(let o of n)typeof o=="number"?e.push(`[${o}]`):typeof o=="symbol"?e.push(`[${JSON.stringify(String(o))}]`):/[^\w$]/.test(o)?e.push(`[${JSON.stringify(o)}]`):(e.length&&e.push("."),e.push(o));return e.join("")}function Ks(t){let e=[],n=[...t.issues].sort((o,r)=>(o.path??[]).length-(r.path??[]).length);for(let o of n)e.push(`\u2716 ${o.message}`),o.path?.length&&e.push(` \u2192 at ${B_(o.path)}`);return e.join(`
|
|
2
|
+
import {readFileSync,readdirSync,existsSync}from'fs';import {readFile,mkdir,writeFile,unlink,access,rename}from'fs/promises';import {homedir}from'os';import {join,dirname,resolve}from'path';import {fileURLToPath}from'url';import rz from'process';import {Command}from'commander';var Yz=Object.create;var Lm=Object.defineProperty;var Qz=Object.getOwnPropertyDescriptor;var eI=Object.getOwnPropertyNames;var tI=Object.getPrototypeOf,rI=Object.prototype.hasOwnProperty;var f=(t,e)=>()=>(t&&(e=t(t=0)),e);var j=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Ut=(t,e)=>{for(var n in e)Lm(t,n,{get:e[n],enumerable:true});},nI=(t,e,n,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of eI(e))!rI.call(t,r)&&r!==n&&Lm(t,r,{get:()=>e[r],enumerable:!(o=Qz(e,r))||o.enumerable});return t};var z_=(t,e,n)=>(n=t!=null?Yz(tI(t)):{},nI(Lm(n,"default",{value:t,enumerable:true}),t));var As,qm=f(()=>{As="1.4.2";});var E_={};Ut(E_,{GLOBAL_CACHE_DIR:()=>wr,GLOBAL_COMMENT_TEMPLATES_DIR:()=>Zs,GLOBAL_CONFIG_DIR:()=>$e,GLOBAL_CONFIG_PATH:()=>Fm,GLOBAL_CREDENTIALS_PATH:()=>Jm,GLOBAL_STATE_PATH:()=>sI,GLOBAL_TASK_TEMPLATES_DIR:()=>Fn,GLOBAL_TASK_TEMPLATE_DEFINITIONS_DIR:()=>Ms,GLOBAL_TEMPLATES_DIR:()=>Us,GLOBAL_USERS_PATH:()=>vi,GLOBAL_WORKFLOWS_PATH:()=>yi,PACKAGE_ROOT_DIR:()=>j_,SYSTEM_COMMENT_TEMPLATES_DIR:()=>Gm,SYSTEM_TASK_TEMPLATES_DIR:()=>Bm,SYSTEM_TEMPLATES_DIR:()=>Vm,ensureGlobalDirs:()=>cI});function aI(t){let e=t;for(;;){if(existsSync(join(e,"package.json")))return e;let n=dirname(e);if(n===e)return fileURLToPath(new URL("../..",import.meta.url));e=n;}}async function cI(){await mkdir($e,{recursive:true}),await mkdir(wr,{recursive:true}),await mkdir(Zs,{recursive:true}),await mkdir(Ms,{recursive:true}),await mkdir(Fn,{recursive:true});}var $e,j_,Fm,Jm,wr,yi,vi,sI,Us,Zs,Ms,Fn,Vm,Gm,Bm,ze=f(()=>{$e=join(homedir(),".softspark","jira-mcp");j_=aI(dirname(fileURLToPath(import.meta.url))),Fm=join($e,"config.json"),Jm=join($e,"credentials.json"),wr=join($e,"cache"),yi=join(wr,"workflows.json"),vi=join(wr,"users.json"),sI=join($e,"state.json"),Us=join($e,"templates"),Zs=join(Us,"comments"),Ms=join(Us,"task-templates"),Fn=join(Us,"tasks"),Vm=join(j_,"templates-system"),Gm=join(Vm,"comments"),Bm=join(Vm,"task-templates");});async function Ee(t){try{return await access(t),!0}catch{return false}}async function Ls(t,e){await writeFile(t,e,{encoding:"utf-8",mode:384});}async function vt(t){let e=await readFile(t,"utf-8");return JSON.parse(e)}async function lr(t,e){await writeFile(t,JSON.stringify(e,null,2),"utf-8");}var st=f(()=>{});function h(t,e,n){function o(s,c){if(s._zod||Object.defineProperty(s,"_zod",{value:{def:c,constr:a,traits:new Set},enumerable:false}),s._zod.traits.has(t))return;s._zod.traits.add(t),e(s,c);let u=a.prototype,l=Object.keys(u);for(let d=0;d<l.length;d++){let p=l[d];p in s||(s[p]=u[p].bind(s));}}let r=n?.Parent??Object;class i extends r{}Object.defineProperty(i,"name",{value:t});function a(s){var c;let u=n?.Parent?new i:this;o(u,s),(c=u._zod).deferred??(c.deferred=[]);for(let l of u._zod.deferred)l();return u}return Object.defineProperty(a,"init",{value:o}),Object.defineProperty(a,Symbol.hasInstance,{value:s=>n?.Parent&&s instanceof n.Parent?true:s?._zod?.traits?.has(t)}),Object.defineProperty(a,"name",{value:t}),a}function Te(t){return t&&Object.assign($i,t),$i}var Fs,ki,Zt,Tr,$i,Jn=f(()=>{Fs=Object.freeze({status:"aborted"});ki=Symbol("zod_brand"),Zt=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.");}},Tr=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError";}},$i={};});var b={};Ut(b,{BIGINT_FORMAT_RANGES:()=>np,Class:()=>Hm,NUMBER_FORMAT_RANGES:()=>rp,aborted:()=>jr,allowsEval:()=>Qm,assert:()=>jI,assertEqual:()=>TI,assertIs:()=>II,assertNever:()=>PI,assertNotEqual:()=>zI,assignProp:()=>Ir,base64ToUint8Array:()=>J_,base64urlToUint8Array:()=>LI,cached:()=>Gn,captureStackTrace:()=>Vs,cleanEnum:()=>MI,cleanRegex:()=>wi,clone:()=>Ue,cloneDef:()=>OI,createTransparentProxy:()=>UI,defineLazy:()=>K,esc:()=>Js,escapeRegex:()=>Tt,extend:()=>M_,finalizeIssue:()=>ct,floatSafeRemainder:()=>Xm,getElementAtPath:()=>CI,getEnumValues:()=>xi,getLengthableOrigin:()=>zi,getParsedType:()=>AI,getSizableOrigin:()=>Ti,hexToUint8Array:()=>FI,isObject:()=>un,isPlainObject:()=>Pr,issue:()=>Bn,joinValues:()=>y,jsonStringifyReplacer:()=>Vn,merge:()=>ZI,mergeDefs:()=>dr,normalizeParams:()=>S,nullish:()=>zr,numKeys:()=>DI,objectClone:()=>EI,omit:()=>Z_,optionalKeys:()=>tp,parsedType:()=>w,partial:()=>q_,pick:()=>U_,prefixIssues:()=>_t,primitiveTypes:()=>ep,promiseAllObject:()=>RI,propertyKeyTypes:()=>Si,randomString:()=>NI,required:()=>F_,safeExtend:()=>L_,shallowClone:()=>Gs,slugify:()=>Ym,stringifyPrimitive:()=>k,uint8ArrayToBase64:()=>V_,uint8ArrayToBase64url:()=>qI,uint8ArrayToHex:()=>JI,unwrapMessage:()=>bi});function TI(t){return t}function zI(t){return t}function II(t){}function PI(t){throw new Error("Unexpected value in exhaustive check")}function jI(t){}function xi(t){let e=Object.values(t).filter(o=>typeof o=="number");return Object.entries(t).filter(([o,r])=>e.indexOf(+o)===-1).map(([o,r])=>r)}function y(t,e="|"){return t.map(n=>k(n)).join(e)}function Vn(t,e){return typeof e=="bigint"?e.toString():e}function Gn(t){return {get value(){{let n=t();return Object.defineProperty(this,"value",{value:n}),n}}}}function zr(t){return t==null}function wi(t){let e=t.startsWith("^")?1:0,n=t.endsWith("$")?t.length-1:t.length;return t.slice(e,n)}function Xm(t,e){let n=(t.toString().split(".")[1]||"").length,o=e.toString(),r=(o.split(".")[1]||"").length;if(r===0&&/\d?e-\d?/.test(o)){let c=o.match(/\d?e-(\d?)/);c?.[1]&&(r=Number.parseInt(c[1]));}let i=n>r?n:r,a=Number.parseInt(t.toFixed(i).replace(".","")),s=Number.parseInt(e.toFixed(i).replace(".",""));return a%s/10**i}function K(t,e,n){let o;Object.defineProperty(t,e,{get(){if(o!==A_)return o===void 0&&(o=A_,o=n()),o},set(r){Object.defineProperty(t,e,{value:r});},configurable:true});}function EI(t){return Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t))}function Ir(t,e,n){Object.defineProperty(t,e,{value:n,writable:true,enumerable:true,configurable:true});}function dr(...t){let e={};for(let n of t){let o=Object.getOwnPropertyDescriptors(n);Object.assign(e,o);}return Object.defineProperties({},e)}function OI(t){return dr(t._zod.def)}function CI(t,e){return e?e.reduce((n,o)=>n?.[o],t):t}function RI(t){let e=Object.keys(t),n=e.map(o=>t[o]);return Promise.all(n).then(o=>{let r={};for(let i=0;i<e.length;i++)r[e[i]]=o[i];return r})}function NI(t=10){let e="abcdefghijklmnopqrstuvwxyz",n="";for(let o=0;o<t;o++)n+=e[Math.floor(Math.random()*e.length)];return n}function Js(t){return JSON.stringify(t)}function Ym(t){return t.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function un(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Pr(t){if(un(t)===false)return false;let e=t.constructor;if(e===void 0||typeof e!="function")return true;let n=e.prototype;return !(un(n)===false||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===false)}function Gs(t){return Pr(t)?{...t}:Array.isArray(t)?[...t]:t}function DI(t){let e=0;for(let n in t)Object.prototype.hasOwnProperty.call(t,n)&&e++;return e}function Tt(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ue(t,e,n){let o=new t._zod.constr(e??t._zod.def);return (!e||n?.parent)&&(o._zod.parent=t),o}function S(t){let e=t;if(!e)return {};if(typeof e=="string")return {error:()=>e};if(e?.message!==void 0){if(e?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message;}return delete e.message,typeof e.error=="string"?{...e,error:()=>e.error}:e}function UI(t){let e;return new Proxy({},{get(n,o,r){return e??(e=t()),Reflect.get(e,o,r)},set(n,o,r,i){return e??(e=t()),Reflect.set(e,o,r,i)},has(n,o){return e??(e=t()),Reflect.has(e,o)},deleteProperty(n,o){return e??(e=t()),Reflect.deleteProperty(e,o)},ownKeys(n){return e??(e=t()),Reflect.ownKeys(e)},getOwnPropertyDescriptor(n,o){return e??(e=t()),Reflect.getOwnPropertyDescriptor(e,o)},defineProperty(n,o,r){return e??(e=t()),Reflect.defineProperty(e,o,r)}})}function k(t){return typeof t=="bigint"?t.toString()+"n":typeof t=="string"?`"${t}"`:`${t}`}function tp(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}function U_(t,e){let n=t._zod.def,o=n.checks;if(o&&o.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let i=dr(t._zod.def,{get shape(){let a={};for(let s in e){if(!(s in n.shape))throw new Error(`Unrecognized key: "${s}"`);e[s]&&(a[s]=n.shape[s]);}return Ir(this,"shape",a),a},checks:[]});return Ue(t,i)}function Z_(t,e){let n=t._zod.def,o=n.checks;if(o&&o.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let i=dr(t._zod.def,{get shape(){let a={...t._zod.def.shape};for(let s in e){if(!(s in n.shape))throw new Error(`Unrecognized key: "${s}"`);e[s]&&delete a[s];}return Ir(this,"shape",a),a},checks:[]});return Ue(t,i)}function M_(t,e){if(!Pr(e))throw new Error("Invalid input to extend: expected a plain object");let n=t._zod.def.checks;if(n&&n.length>0){let i=t._zod.def.shape;for(let a in e)if(Object.getOwnPropertyDescriptor(i,a)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let r=dr(t._zod.def,{get shape(){let i={...t._zod.def.shape,...e};return Ir(this,"shape",i),i}});return Ue(t,r)}function L_(t,e){if(!Pr(e))throw new Error("Invalid input to safeExtend: expected a plain object");let n=dr(t._zod.def,{get shape(){let o={...t._zod.def.shape,...e};return Ir(this,"shape",o),o}});return Ue(t,n)}function ZI(t,e){let n=dr(t._zod.def,{get shape(){let o={...t._zod.def.shape,...e._zod.def.shape};return Ir(this,"shape",o),o},get catchall(){return e._zod.def.catchall},checks:[]});return Ue(t,n)}function q_(t,e,n){let r=e._zod.def.checks;if(r&&r.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");let a=dr(e._zod.def,{get shape(){let s=e._zod.def.shape,c={...s};if(n)for(let u in n){if(!(u in s))throw new Error(`Unrecognized key: "${u}"`);n[u]&&(c[u]=t?new t({type:"optional",innerType:s[u]}):s[u]);}else for(let u in s)c[u]=t?new t({type:"optional",innerType:s[u]}):s[u];return Ir(this,"shape",c),c},checks:[]});return Ue(e,a)}function F_(t,e,n){let o=dr(e._zod.def,{get shape(){let r=e._zod.def.shape,i={...r};if(n)for(let a in n){if(!(a in i))throw new Error(`Unrecognized key: "${a}"`);n[a]&&(i[a]=new t({type:"nonoptional",innerType:r[a]}));}else for(let a in r)i[a]=new t({type:"nonoptional",innerType:r[a]});return Ir(this,"shape",i),i}});return Ue(e,o)}function jr(t,e=0){if(t.aborted===true)return true;for(let n=e;n<t.issues.length;n++)if(t.issues[n]?.continue!==true)return true;return false}function _t(t,e){return e.map(n=>{var o;return (o=n).path??(o.path=[]),n.path.unshift(t),n})}function bi(t){return typeof t=="string"?t:t?.message}function ct(t,e,n){let o={...t,path:t.path??[]};if(!t.message){let r=bi(t.inst?._zod.def?.error?.(t))??bi(e?.error?.(t))??bi(n.customError?.(t))??bi(n.localeError?.(t))??"Invalid input";o.message=r;}return delete o.inst,delete o.continue,e?.reportInput||delete o.input,o}function Ti(t){return t instanceof Set?"set":t instanceof Map?"map":t instanceof File?"file":"unknown"}function zi(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}function w(t){let e=typeof t;switch(e){case "number":return Number.isNaN(t)?"nan":"number";case "object":{if(t===null)return "null";if(Array.isArray(t))return "array";let n=t;if(n&&Object.getPrototypeOf(n)!==Object.prototype&&"constructor"in n&&n.constructor)return n.constructor.name}}return e}function Bn(...t){let[e,n,o]=t;return typeof e=="string"?{message:e,code:"custom",input:n,inst:o}:{...e}}function MI(t){return Object.entries(t).filter(([e,n])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}function J_(t){let e=atob(t),n=new Uint8Array(e.length);for(let o=0;o<e.length;o++)n[o]=e.charCodeAt(o);return n}function V_(t){let e="";for(let n=0;n<t.length;n++)e+=String.fromCharCode(t[n]);return btoa(e)}function LI(t){let e=t.replace(/-/g,"+").replace(/_/g,"/"),n="=".repeat((4-e.length%4)%4);return J_(e+n)}function qI(t){return V_(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function FI(t){let e=t.replace(/^0x/,"");if(e.length%2!==0)throw new Error("Invalid hex string length");let n=new Uint8Array(e.length/2);for(let o=0;o<e.length;o+=2)n[o/2]=Number.parseInt(e.slice(o,o+2),16);return n}function JI(t){return Array.from(t).map(e=>e.toString(16).padStart(2,"0")).join("")}var A_,Vs,Qm,AI,Si,ep,rp,np,Hm,A=f(()=>{A_=Symbol("evaluating");Vs="captureStackTrace"in Error?Error.captureStackTrace:(...t)=>{};Qm=Gn(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return false;try{let t=Function;return new t(""),!0}catch{return false}});AI=t=>{let e=typeof t;switch(e){case "undefined":return "undefined";case "string":return "string";case "number":return Number.isNaN(t)?"nan":"number";case "boolean":return "boolean";case "function":return "function";case "bigint":return "bigint";case "symbol":return "symbol";case "object":return Array.isArray(t)?"array":t===null?"null":t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?"promise":typeof Map<"u"&&t instanceof Map?"map":typeof Set<"u"&&t instanceof Set?"set":typeof Date<"u"&&t instanceof Date?"date":typeof File<"u"&&t instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${e}`)}},Si=new Set(["string","number","symbol"]),ep=new Set(["string","number","bigint","boolean","symbol","undefined"]);rp={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},np={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};Hm=class{constructor(...e){}};});function Kn(t,e=n=>n.message){let n={},o=[];for(let r of t.issues)r.path.length>0?(n[r.path[0]]=n[r.path[0]]||[],n[r.path[0]].push(e(r))):o.push(e(r));return {formErrors:o,fieldErrors:n}}function Wn(t,e=n=>n.message){let n={_errors:[]},o=r=>{for(let i of r.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(a=>o({issues:a}));else if(i.code==="invalid_key")o({issues:i.issues});else if(i.code==="invalid_element")o({issues:i.issues});else if(i.path.length===0)n._errors.push(e(i));else {let a=n,s=0;for(;s<i.path.length;){let c=i.path[s];s===i.path.length-1?(a[c]=a[c]||{_errors:[]},a[c]._errors.push(e(i))):a[c]=a[c]||{_errors:[]},a=a[c],s++;}}};return o(t),n}function Bs(t,e=n=>n.message){let n={errors:[]},o=(r,i=[])=>{var a,s;for(let c of r.issues)if(c.code==="invalid_union"&&c.errors.length)c.errors.map(u=>o({issues:u},c.path));else if(c.code==="invalid_key")o({issues:c.issues},c.path);else if(c.code==="invalid_element")o({issues:c.issues},c.path);else {let u=[...i,...c.path];if(u.length===0){n.errors.push(e(c));continue}let l=n,d=0;for(;d<u.length;){let p=u[d],m=d===u.length-1;typeof p=="string"?(l.properties??(l.properties={}),(a=l.properties)[p]??(a[p]={errors:[]}),l=l.properties[p]):(l.items??(l.items=[]),(s=l.items)[p]??(s[p]={errors:[]}),l=l.items[p]),m&&l.errors.push(e(c)),d++;}}};return o(t),n}function B_(t){let e=[],n=t.map(o=>typeof o=="object"?o.key:o);for(let o of n)typeof o=="number"?e.push(`[${o}]`):typeof o=="symbol"?e.push(`[${JSON.stringify(String(o))}]`):/[^\w$]/.test(o)?e.push(`[${JSON.stringify(o)}]`):(e.length&&e.push("."),e.push(o));return e.join("")}function Ks(t){let e=[],n=[...t.issues].sort((o,r)=>(o.path??[]).length-(r.path??[]).length);for(let o of n)e.push(`\u2716 ${o.message}`),o.path?.length&&e.push(` \u2192 at ${B_(o.path)}`);return e.join(`
|
|
3
3
|
`)}var G_,Ii,ut,op=f(()=>{Jn();A();G_=(t,e)=>{t.name="$ZodError",Object.defineProperty(t,"_zod",{value:t._zod,enumerable:false}),Object.defineProperty(t,"issues",{value:e,enumerable:false}),t.message=JSON.stringify(e,Vn,2),Object.defineProperty(t,"toString",{value:()=>t.message,enumerable:false});},Ii=h("$ZodError",G_),ut=h("$ZodError",G_,{Parent:Error});});var Hn,Xn,Yn,Qn,eo,ln,to,ro,Ws,K_,Hs,W_,Xs,H_,Ys,X_,Qs,Y_,ec,Q_,tc,e$,rc,t$,ip=f(()=>{Jn();op();A();Hn=t=>(e,n,o,r)=>{let i=o?Object.assign(o,{async:false}):{async:false},a=e._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new Zt;if(a.issues.length){let s=new(r?.Err??t)(a.issues.map(c=>ct(c,i,Te())));throw Vs(s,r?.callee),s}return a.value},Xn=Hn(ut),Yn=t=>async(e,n,o,r)=>{let i=o?Object.assign(o,{async:true}):{async:true},a=e._zod.run({value:n,issues:[]},i);if(a instanceof Promise&&(a=await a),a.issues.length){let s=new(r?.Err??t)(a.issues.map(c=>ct(c,i,Te())));throw Vs(s,r?.callee),s}return a.value},Qn=Yn(ut),eo=t=>(e,n,o)=>{let r=o?{...o,async:false}:{async:false},i=e._zod.run({value:n,issues:[]},r);if(i instanceof Promise)throw new Zt;return i.issues.length?{success:false,error:new(t??Ii)(i.issues.map(a=>ct(a,r,Te())))}:{success:true,data:i.value}},ln=eo(ut),to=t=>async(e,n,o)=>{let r=o?Object.assign(o,{async:true}):{async:true},i=e._zod.run({value:n,issues:[]},r);return i instanceof Promise&&(i=await i),i.issues.length?{success:false,error:new t(i.issues.map(a=>ct(a,r,Te())))}:{success:true,data:i.value}},ro=to(ut),Ws=t=>(e,n,o)=>{let r=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return Hn(t)(e,n,r)},K_=Ws(ut),Hs=t=>(e,n,o)=>Hn(t)(e,n,o),W_=Hs(ut),Xs=t=>async(e,n,o)=>{let r=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return Yn(t)(e,n,r)},H_=Xs(ut),Ys=t=>async(e,n,o)=>Yn(t)(e,n,o),X_=Ys(ut),Qs=t=>(e,n,o)=>{let r=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return eo(t)(e,n,r)},Y_=Qs(ut),ec=t=>(e,n,o)=>eo(t)(e,n,o),Q_=ec(ut),tc=t=>async(e,n,o)=>{let r=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return to(t)(e,n,r)},e$=tc(ut),rc=t=>async(e,n,o)=>to(t)(e,n,o),t$=rc(ut);});var lt={};Ut(lt,{base64:()=>kp,base64url:()=>nc,bigint:()=>zp,boolean:()=>Pp,browserEmail:()=>QI,cidrv4:()=>_p,cidrv6:()=>$p,cuid:()=>ap,cuid2:()=>sp,date:()=>xp,datetime:()=>Sp,domain:()=>rP,duration:()=>mp,e164:()=>bp,email:()=>fp,emoji:()=>hp,extendedDuration:()=>GI,guid:()=>pp,hex:()=>nP,hostname:()=>tP,html5Email:()=>HI,idnEmail:()=>YI,integer:()=>Ip,ipv4:()=>gp,ipv6:()=>yp,ksuid:()=>lp,lowercase:()=>Op,mac:()=>vp,md5_base64:()=>iP,md5_base64url:()=>aP,md5_hex:()=>oP,nanoid:()=>dp,null:()=>jp,number:()=>oc,rfc5322Email:()=>XI,sha1_base64:()=>cP,sha1_base64url:()=>uP,sha1_hex:()=>sP,sha256_base64:()=>dP,sha256_base64url:()=>mP,sha256_hex:()=>lP,sha384_base64:()=>fP,sha384_base64url:()=>hP,sha384_hex:()=>pP,sha512_base64:()=>yP,sha512_base64url:()=>vP,sha512_hex:()=>gP,string:()=>Tp,time:()=>wp,ulid:()=>cp,undefined:()=>Ep,unicodeEmail:()=>r$,uppercase:()=>Cp,uuid:()=>dn,uuid4:()=>BI,uuid6:()=>KI,uuid7:()=>WI,xid:()=>up});function hp(){return new RegExp(eP,"u")}function o$(t){let e="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof t.precision=="number"?t.precision===-1?`${e}`:t.precision===0?`${e}:[0-5]\\d`:`${e}:[0-5]\\d\\.\\d{${t.precision}}`:`${e}(?::[0-5]\\d(?:\\.\\d+)?)?`}function wp(t){return new RegExp(`^${o$(t)}$`)}function Sp(t){let e=o$({precision:t.precision}),n=["Z"];t.local&&n.push(""),t.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let o=`${e}(?:${n.join("|")})`;return new RegExp(`^${n$}T(?:${o})$`)}function Pi(t,e){return new RegExp(`^[A-Za-z0-9+/]{${t}}${e}$`)}function ji(t){return new RegExp(`^[A-Za-z0-9_-]{${t}}$`)}var ap,sp,cp,up,lp,dp,mp,GI,pp,dn,BI,KI,WI,fp,HI,XI,r$,YI,QI,eP,gp,yp,vp,_p,$p,kp,nc,tP,rP,bp,n$,xp,Tp,zp,Ip,oc,Pp,jp,Ep,Op,Cp,nP,oP,iP,aP,sP,cP,uP,lP,dP,mP,pP,fP,hP,gP,yP,vP,ic=f(()=>{A();ap=/^[cC][^\s-]{8,}$/,sp=/^[0-9a-z]+$/,cp=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,up=/^[0-9a-vA-V]{20}$/,lp=/^[A-Za-z0-9]{27}$/,dp=/^[a-zA-Z0-9_-]{21}$/,mp=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,GI=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,pp=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,dn=t=>t?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${t}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,BI=dn(4),KI=dn(6),WI=dn(7),fp=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,HI=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,XI=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,r$=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,YI=r$,QI=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,eP="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";gp=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,yp=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,vp=t=>{let e=Tt(t??":");return new RegExp(`^(?:[0-9A-F]{2}${e}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${e}){5}[0-9a-f]{2}$`)},_p=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,$p=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,kp=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,nc=/^[A-Za-z0-9_-]*$/,tP=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,rP=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,bp=/^\+[1-9]\d{6,14}$/,n$="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",xp=new RegExp(`^${n$}$`);Tp=t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)},zp=/^-?\d+n?$/,Ip=/^-?\d+$/,oc=/^-?\d+(?:\.\d+)?$/,Pp=/^(?:true|false)$/i,jp=/^null$/i,Ep=/^undefined$/i,Op=/^[^A-Z]*$/,Cp=/^[^a-z]*$/,nP=/^[0-9a-fA-F]*$/;oP=/^[0-9a-fA-F]{32}$/,iP=Pi(22,"=="),aP=ji(22),sP=/^[0-9a-fA-F]{40}$/,cP=Pi(27,"="),uP=ji(27),lP=/^[0-9a-fA-F]{64}$/,dP=Pi(43,"="),mP=ji(43),pP=/^[0-9a-fA-F]{96}$/,fP=Pi(64,""),hP=ji(64),gP=/^[0-9a-fA-F]{128}$/,yP=Pi(86,"=="),vP=ji(86);});function i$(t,e,n){t.issues.length&&e.issues.push(..._t(n,t.issues));}var he,a$,ac,sc,Rp,Np,Dp,Ap,Up,Zp,Mp,Lp,qp,no,Fp,Jp,Vp,Gp,Bp,Kp,Wp,Hp,Xp,cc=f(()=>{Jn();ic();A();he=h("$ZodCheck",(t,e)=>{var n;t._zod??(t._zod={}),t._zod.def=e,(n=t._zod).onattach??(n.onattach=[]);}),a$={number:"number",bigint:"bigint",object:"date"},ac=h("$ZodCheckLessThan",(t,e)=>{he.init(t,e);let n=a$[typeof e.value];t._zod.onattach.push(o=>{let r=o._zod.bag,i=(e.inclusive?r.maximum:r.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value<i&&(e.inclusive?r.maximum=e.value:r.exclusiveMaximum=e.value);}),t._zod.check=o=>{(e.inclusive?o.value<=e.value:o.value<e.value)||o.issues.push({origin:n,code:"too_big",maximum:typeof e.value=="object"?e.value.getTime():e.value,input:o.value,inclusive:e.inclusive,inst:t,continue:!e.abort});};}),sc=h("$ZodCheckGreaterThan",(t,e)=>{he.init(t,e);let n=a$[typeof e.value];t._zod.onattach.push(o=>{let r=o._zod.bag,i=(e.inclusive?r.minimum:r.exclusiveMinimum)??Number.NEGATIVE_INFINITY;e.value>i&&(e.inclusive?r.minimum=e.value:r.exclusiveMinimum=e.value);}),t._zod.check=o=>{(e.inclusive?o.value>=e.value:o.value>e.value)||o.issues.push({origin:n,code:"too_small",minimum:typeof e.value=="object"?e.value.getTime():e.value,input:o.value,inclusive:e.inclusive,inst:t,continue:!e.abort});};}),Rp=h("$ZodCheckMultipleOf",(t,e)=>{he.init(t,e),t._zod.onattach.push(n=>{var o;(o=n._zod.bag).multipleOf??(o.multipleOf=e.value);}),t._zod.check=n=>{if(typeof n.value!=typeof e.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof n.value=="bigint"?n.value%e.value===BigInt(0):Xm(n.value,e.value)===0)||n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:e.value,input:n.value,inst:t,continue:!e.abort});};}),Np=h("$ZodCheckNumberFormat",(t,e)=>{he.init(t,e),e.format=e.format||"float64";let n=e.format?.includes("int"),o=n?"int":"number",[r,i]=rp[e.format];t._zod.onattach.push(a=>{let s=a._zod.bag;s.format=e.format,s.minimum=r,s.maximum=i,n&&(s.pattern=Ip);}),t._zod.check=a=>{let s=a.value;if(n){if(!Number.isInteger(s)){a.issues.push({expected:o,format:e.format,code:"invalid_type",continue:false,input:s,inst:t});return}if(!Number.isSafeInteger(s)){s>0?a.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:o,inclusive:true,continue:!e.abort}):a.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:o,inclusive:true,continue:!e.abort});return}}s<r&&a.issues.push({origin:"number",input:s,code:"too_small",minimum:r,inclusive:true,inst:t,continue:!e.abort}),s>i&&a.issues.push({origin:"number",input:s,code:"too_big",maximum:i,inclusive:true,inst:t,continue:!e.abort});};}),Dp=h("$ZodCheckBigIntFormat",(t,e)=>{he.init(t,e);let[n,o]=np[e.format];t._zod.onattach.push(r=>{let i=r._zod.bag;i.format=e.format,i.minimum=n,i.maximum=o;}),t._zod.check=r=>{let i=r.value;i<n&&r.issues.push({origin:"bigint",input:i,code:"too_small",minimum:n,inclusive:true,inst:t,continue:!e.abort}),i>o&&r.issues.push({origin:"bigint",input:i,code:"too_big",maximum:o,inclusive:true,inst:t,continue:!e.abort});};}),Ap=h("$ZodCheckMaxSize",(t,e)=>{var n;he.init(t,e),(n=t._zod.def).when??(n.when=o=>{let r=o.value;return !zr(r)&&r.size!==void 0}),t._zod.onattach.push(o=>{let r=o._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum<r&&(o._zod.bag.maximum=e.maximum);}),t._zod.check=o=>{let r=o.value;r.size<=e.maximum||o.issues.push({origin:Ti(r),code:"too_big",maximum:e.maximum,inclusive:true,input:r,inst:t,continue:!e.abort});};}),Up=h("$ZodCheckMinSize",(t,e)=>{var n;he.init(t,e),(n=t._zod.def).when??(n.when=o=>{let r=o.value;return !zr(r)&&r.size!==void 0}),t._zod.onattach.push(o=>{let r=o._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>r&&(o._zod.bag.minimum=e.minimum);}),t._zod.check=o=>{let r=o.value;r.size>=e.minimum||o.issues.push({origin:Ti(r),code:"too_small",minimum:e.minimum,inclusive:true,input:r,inst:t,continue:!e.abort});};}),Zp=h("$ZodCheckSizeEquals",(t,e)=>{var n;he.init(t,e),(n=t._zod.def).when??(n.when=o=>{let r=o.value;return !zr(r)&&r.size!==void 0}),t._zod.onattach.push(o=>{let r=o._zod.bag;r.minimum=e.size,r.maximum=e.size,r.size=e.size;}),t._zod.check=o=>{let r=o.value,i=r.size;if(i===e.size)return;let a=i>e.size;o.issues.push({origin:Ti(r),...a?{code:"too_big",maximum:e.size}:{code:"too_small",minimum:e.size},inclusive:true,exact:true,input:o.value,inst:t,continue:!e.abort});};}),Mp=h("$ZodCheckMaxLength",(t,e)=>{var n;he.init(t,e),(n=t._zod.def).when??(n.when=o=>{let r=o.value;return !zr(r)&&r.length!==void 0}),t._zod.onattach.push(o=>{let r=o._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum<r&&(o._zod.bag.maximum=e.maximum);}),t._zod.check=o=>{let r=o.value;if(r.length<=e.maximum)return;let a=zi(r);o.issues.push({origin:a,code:"too_big",maximum:e.maximum,inclusive:true,input:r,inst:t,continue:!e.abort});};}),Lp=h("$ZodCheckMinLength",(t,e)=>{var n;he.init(t,e),(n=t._zod.def).when??(n.when=o=>{let r=o.value;return !zr(r)&&r.length!==void 0}),t._zod.onattach.push(o=>{let r=o._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>r&&(o._zod.bag.minimum=e.minimum);}),t._zod.check=o=>{let r=o.value;if(r.length>=e.minimum)return;let a=zi(r);o.issues.push({origin:a,code:"too_small",minimum:e.minimum,inclusive:true,input:r,inst:t,continue:!e.abort});};}),qp=h("$ZodCheckLengthEquals",(t,e)=>{var n;he.init(t,e),(n=t._zod.def).when??(n.when=o=>{let r=o.value;return !zr(r)&&r.length!==void 0}),t._zod.onattach.push(o=>{let r=o._zod.bag;r.minimum=e.length,r.maximum=e.length,r.length=e.length;}),t._zod.check=o=>{let r=o.value,i=r.length;if(i===e.length)return;let a=zi(r),s=i>e.length;o.issues.push({origin:a,...s?{code:"too_big",maximum:e.length}:{code:"too_small",minimum:e.length},inclusive:true,exact:true,input:o.value,inst:t,continue:!e.abort});};}),no=h("$ZodCheckStringFormat",(t,e)=>{var n,o;he.init(t,e),t._zod.onattach.push(r=>{let i=r._zod.bag;i.format=e.format,e.pattern&&(i.patterns??(i.patterns=new Set),i.patterns.add(e.pattern));}),e.pattern?(n=t._zod).check??(n.check=r=>{e.pattern.lastIndex=0,!e.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:e.format,input:r.value,...e.pattern?{pattern:e.pattern.toString()}:{},inst:t,continue:!e.abort});}):(o=t._zod).check??(o.check=()=>{});}),Fp=h("$ZodCheckRegex",(t,e)=>{no.init(t,e),t._zod.check=n=>{e.pattern.lastIndex=0,!e.pattern.test(n.value)&&n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:e.pattern.toString(),inst:t,continue:!e.abort});};}),Jp=h("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=Op),no.init(t,e);}),Vp=h("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=Cp),no.init(t,e);}),Gp=h("$ZodCheckIncludes",(t,e)=>{he.init(t,e);let n=Tt(e.includes),o=new RegExp(typeof e.position=="number"?`^.{${e.position}}${n}`:n);e.pattern=o,t._zod.onattach.push(r=>{let i=r._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(o);}),t._zod.check=r=>{r.value.includes(e.includes,e.position)||r.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:e.includes,input:r.value,inst:t,continue:!e.abort});};}),Bp=h("$ZodCheckStartsWith",(t,e)=>{he.init(t,e);let n=new RegExp(`^${Tt(e.prefix)}.*`);e.pattern??(e.pattern=n),t._zod.onattach.push(o=>{let r=o._zod.bag;r.patterns??(r.patterns=new Set),r.patterns.add(n);}),t._zod.check=o=>{o.value.startsWith(e.prefix)||o.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:e.prefix,input:o.value,inst:t,continue:!e.abort});};}),Kp=h("$ZodCheckEndsWith",(t,e)=>{he.init(t,e);let n=new RegExp(`.*${Tt(e.suffix)}$`);e.pattern??(e.pattern=n),t._zod.onattach.push(o=>{let r=o._zod.bag;r.patterns??(r.patterns=new Set),r.patterns.add(n);}),t._zod.check=o=>{o.value.endsWith(e.suffix)||o.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:e.suffix,input:o.value,inst:t,continue:!e.abort});};});Wp=h("$ZodCheckProperty",(t,e)=>{he.init(t,e),t._zod.check=n=>{let o=e.schema._zod.run({value:n.value[e.property],issues:[]},{});if(o instanceof Promise)return o.then(r=>i$(r,n,e.property));i$(o,n,e.property);};}),Hp=h("$ZodCheckMimeType",(t,e)=>{he.init(t,e);let n=new Set(e.mime);t._zod.onattach.push(o=>{o._zod.bag.mime=e.mime;}),t._zod.check=o=>{n.has(o.value.type)||o.issues.push({code:"invalid_value",values:e.mime,input:o.value.type,inst:t,continue:!e.abort});};}),Xp=h("$ZodCheckOverwrite",(t,e)=>{he.init(t,e),t._zod.check=n=>{n.value=e.tx(n.value);};});});var Ei,Yp=f(()=>{Ei=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e);}indented(e){this.indent+=1,e(this),this.indent-=1;}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let o=e.split(`
|
|
4
4
|
`).filter(a=>a),r=Math.min(...o.map(a=>a.length-a.trimStart().length)),i=o.map(a=>a.slice(r)).map(a=>" ".repeat(this.indent*2)+a);for(let a of i)this.content.push(a);}compile(){let e=Function,n=this?.args,r=[...(this?.content??[""]).map(i=>` ${i}`)];return new e(...n,r.join(`
|
|
5
5
|
`))}};});var Qp,ef=f(()=>{Qp={major:4,minor:3,patch:6};});function rf(t){if(t==="")return true;if(t.length%4!==0)return false;try{return atob(t),!0}catch{return false}}function _$(t){if(!nc.test(t))return false;let e=t.replace(/[-_]/g,o=>o==="-"?"+":"/"),n=e.padEnd(Math.ceil(e.length/4)*4,"=");return rf(n)}function $$(t,e=null){try{let n=t.split(".");if(n.length!==3)return !1;let[o]=n;if(!o)return !1;let r=JSON.parse(atob(o));return !("typ"in r&&r?.typ!=="JWT"||!r.alg||e&&(!("alg"in r)||r.alg!==e))}catch{return false}}function c$(t,e,n){t.issues.length&&e.issues.push(..._t(n,t.issues)),e.value[n]=t.value;}function pc(t,e,n,o,r){if(t.issues.length){if(r&&!(n in o))return;e.issues.push(..._t(n,t.issues));}t.value===void 0?n in o&&(e.value[n]=void 0):e.value[n]=t.value;}function k$(t){let e=Object.keys(t.shape);for(let o of e)if(!t.shape?.[o]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${o}": expected a Zod schema`);let n=tp(t.shape);return {...t,keys:e,keySet:new Set(e),numKeys:e.length,optionalKeys:new Set(n)}}function b$(t,e,n,o,r,i){let a=[],s=r.keySet,c=r.catchall._zod,u=c.def.type,l=c.optout==="optional";for(let d in e){if(s.has(d))continue;if(u==="never"){a.push(d);continue}let p=c.run({value:e[d],issues:[]},o);p instanceof Promise?t.push(p.then(m=>pc(m,n,d,e,l))):pc(p,n,d,e,l);}return a.length&&n.issues.push({code:"unrecognized_keys",keys:a,input:e,inst:i}),t.length?Promise.all(t).then(()=>n):n}function u$(t,e,n,o){for(let i of t)if(i.issues.length===0)return e.value=i.value,e;let r=t.filter(i=>!jr(i));return r.length===1?(e.value=r[0].value,r[0]):(e.issues.push({code:"invalid_union",input:e.value,inst:n,errors:t.map(i=>i.issues.map(a=>ct(a,o,Te())))}),e)}function l$(t,e,n,o){let r=t.filter(i=>i.issues.length===0);return r.length===1?(e.value=r[0].value,e):(r.length===0?e.issues.push({code:"invalid_union",input:e.value,inst:n,errors:t.map(i=>i.issues.map(a=>ct(a,o,Te())))}):e.issues.push({code:"invalid_union",input:e.value,inst:n,errors:[],inclusive:false}),e)}function tf(t,e){if(t===e)return {valid:true,data:t};if(t instanceof Date&&e instanceof Date&&+t==+e)return {valid:true,data:t};if(Pr(t)&&Pr(e)){let n=Object.keys(e),o=Object.keys(t).filter(i=>n.indexOf(i)!==-1),r={...t,...e};for(let i of o){let a=tf(t[i],e[i]);if(!a.valid)return {valid:false,mergeErrorPath:[i,...a.mergeErrorPath]};r[i]=a.data;}return {valid:true,data:r}}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return {valid:false,mergeErrorPath:[]};let n=[];for(let o=0;o<t.length;o++){let r=t[o],i=e[o],a=tf(r,i);if(!a.valid)return {valid:false,mergeErrorPath:[o,...a.mergeErrorPath]};n.push(a.data);}return {valid:true,data:n}}return {valid:false,mergeErrorPath:[]}}function d$(t,e,n){let o=new Map,r;for(let s of e.issues)if(s.code==="unrecognized_keys"){r??(r=s);for(let c of s.keys)o.has(c)||o.set(c,{}),o.get(c).l=true;}else t.issues.push(s);for(let s of n.issues)if(s.code==="unrecognized_keys")for(let c of s.keys)o.has(c)||o.set(c,{}),o.get(c).r=true;else t.issues.push(s);let i=[...o].filter(([,s])=>s.l&&s.r).map(([s])=>s);if(i.length&&r&&t.issues.push({...r,keys:i}),jr(t))return t;let a=tf(e.value,n.value);if(!a.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(a.mergeErrorPath)}`);return t.value=a.data,t}function uc(t,e,n){t.issues.length&&e.issues.push(..._t(n,t.issues)),e.value[n]=t.value;}function m$(t,e,n,o,r,i,a){t.issues.length&&(Si.has(typeof o)?n.issues.push(..._t(o,t.issues)):n.issues.push({code:"invalid_key",origin:"map",input:r,inst:i,issues:t.issues.map(s=>ct(s,a,Te()))})),e.issues.length&&(Si.has(typeof o)?n.issues.push(..._t(o,e.issues)):n.issues.push({origin:"map",code:"invalid_element",input:r,inst:i,key:o,issues:e.issues.map(s=>ct(s,a,Te()))})),n.value.set(t.value,e.value);}function p$(t,e){t.issues.length&&e.issues.push(...t.issues),e.value.add(t.value);}function f$(t,e){return t.issues.length&&e===void 0?{issues:[],value:void 0}:t}function h$(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}function g$(t,e){return !t.issues.length&&t.value===void 0&&t.issues.push({code:"invalid_type",expected:"nonoptional",input:t.value,inst:e}),t}function lc(t,e,n){return t.issues.length?(t.aborted=true,t):e._zod.run({value:t.value,issues:t.issues},n)}function dc(t,e,n){if(t.issues.length)return t.aborted=true,t;if((n.direction||"forward")==="forward"){let r=e.transform(t.value,t);return r instanceof Promise?r.then(i=>mc(t,i,e.out,n)):mc(t,r,e.out,n)}else {let r=e.reverseTransform(t.value,t);return r instanceof Promise?r.then(i=>mc(t,i,e.in,n)):mc(t,r,e.in,n)}}function mc(t,e,n,o){return t.issues.length?(t.aborted=true,t):n._zod.run({value:e,issues:t.issues},o)}function y$(t){return t.value=Object.freeze(t.value),t}function v$(t,e,n,o){if(!t){let r={code:"custom",input:n,inst:o,path:[...o._zod.def.path??[]],continue:!o._zod.def.abort};o._zod.def.params&&(r.params=o._zod.def.params),e.issues.push(Bn(r));}}var F,Er,pe,fc,hc,gc,yc,vc,_c,$c,kc,bc,xc,wc,Sc,Tc,zc,Ic,Pc,jc,Ec,Oc,Cc,Rc,Nc,Dc,Ac,Uc,Oi,Zc,oo,Ci,Mc,Lc,qc,Fc,Jc,Vc,Gc,Bc,Kc,Wc,nf,of,io,Hc,Xc,Yc,Ri,Qc,eu,tu,ru,nu,ou,iu,Ni,au,su,cu,uu,lu,du,mu,pu,fu,ao,hu,gu,yu,vu,_u,$u,af=f(()=>{cc();Jn();Yp();ip();ic();A();ef();A();F=h("$ZodType",(t,e)=>{var n;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=Qp;let o=[...t._zod.def.checks??[]];t._zod.traits.has("$ZodCheck")&&o.unshift(t);for(let r of o)for(let i of r._zod.onattach)i(t);if(o.length===0)(n=t._zod).deferred??(n.deferred=[]),t._zod.deferred?.push(()=>{t._zod.run=t._zod.parse;});else {let r=(a,s,c)=>{let u=jr(a),l;for(let d of s){if(d._zod.def.when){if(!d._zod.def.when(a))continue}else if(u)continue;let p=a.issues.length,m=d._zod.check(a);if(m instanceof Promise&&c?.async===false)throw new Zt;if(l||m instanceof Promise)l=(l??Promise.resolve()).then(async()=>{await m,a.issues.length!==p&&(u||(u=jr(a,p)));});else {if(a.issues.length===p)continue;u||(u=jr(a,p));}}return l?l.then(()=>a):a},i=(a,s,c)=>{if(jr(a))return a.aborted=true,a;let u=r(s,o,c);if(u instanceof Promise){if(c.async===false)throw new Zt;return u.then(l=>t._zod.parse(l,c))}return t._zod.parse(u,c)};t._zod.run=(a,s)=>{if(s.skipChecks)return t._zod.parse(a,s);if(s.direction==="backward"){let u=t._zod.parse({value:a.value,issues:[]},{...s,skipChecks:true});return u instanceof Promise?u.then(l=>i(l,a,s)):i(u,a,s)}let c=t._zod.parse(a,s);if(c instanceof Promise){if(s.async===false)throw new Zt;return c.then(u=>r(u,o,s))}return r(c,o,s)};}K(t,"~standard",()=>({validate:r=>{try{let i=ln(t,r);return i.success?{value:i.data}:{issues:i.error?.issues}}catch{return ro(t,r).then(a=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}));}),Er=h("$ZodString",(t,e)=>{F.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??Tp(t._zod.bag),t._zod.parse=(n,o)=>{if(e.coerce)try{n.value=String(n.value);}catch{}return typeof n.value=="string"||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:t}),n};}),pe=h("$ZodStringFormat",(t,e)=>{no.init(t,e),Er.init(t,e);}),fc=h("$ZodGUID",(t,e)=>{e.pattern??(e.pattern=pp),pe.init(t,e);}),hc=h("$ZodUUID",(t,e)=>{if(e.version){let o={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[e.version];if(o===void 0)throw new Error(`Invalid UUID version: "${e.version}"`);e.pattern??(e.pattern=dn(o));}else e.pattern??(e.pattern=dn());pe.init(t,e);}),gc=h("$ZodEmail",(t,e)=>{e.pattern??(e.pattern=fp),pe.init(t,e);}),yc=h("$ZodURL",(t,e)=>{pe.init(t,e),t._zod.check=n=>{try{let o=n.value.trim(),r=new URL(o);e.hostname&&(e.hostname.lastIndex=0,e.hostname.test(r.hostname)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:e.hostname.source,input:n.value,inst:t,continue:!e.abort})),e.protocol&&(e.protocol.lastIndex=0,e.protocol.test(r.protocol.endsWith(":")?r.protocol.slice(0,-1):r.protocol)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:e.protocol.source,input:n.value,inst:t,continue:!e.abort})),e.normalize?n.value=r.href:n.value=o;return}catch{n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:t,continue:!e.abort});}};}),vc=h("$ZodEmoji",(t,e)=>{e.pattern??(e.pattern=hp()),pe.init(t,e);}),_c=h("$ZodNanoID",(t,e)=>{e.pattern??(e.pattern=dp),pe.init(t,e);}),$c=h("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=ap),pe.init(t,e);}),kc=h("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=sp),pe.init(t,e);}),bc=h("$ZodULID",(t,e)=>{e.pattern??(e.pattern=cp),pe.init(t,e);}),xc=h("$ZodXID",(t,e)=>{e.pattern??(e.pattern=up),pe.init(t,e);}),wc=h("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=lp),pe.init(t,e);}),Sc=h("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=Sp(e)),pe.init(t,e);}),Tc=h("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=xp),pe.init(t,e);}),zc=h("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=wp(e)),pe.init(t,e);}),Ic=h("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=mp),pe.init(t,e);}),Pc=h("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=gp),pe.init(t,e),t._zod.bag.format="ipv4";}),jc=h("$ZodIPv6",(t,e)=>{e.pattern??(e.pattern=yp),pe.init(t,e),t._zod.bag.format="ipv6",t._zod.check=n=>{try{new URL(`http://[${n.value}]`);}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:t,continue:!e.abort});}};}),Ec=h("$ZodMAC",(t,e)=>{e.pattern??(e.pattern=vp(e.delimiter)),pe.init(t,e),t._zod.bag.format="mac";}),Oc=h("$ZodCIDRv4",(t,e)=>{e.pattern??(e.pattern=_p),pe.init(t,e);}),Cc=h("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=$p),pe.init(t,e),t._zod.check=n=>{let o=n.value.split("/");try{if(o.length!==2)throw new Error;let[r,i]=o;if(!i)throw new Error;let a=Number(i);if(`${a}`!==i)throw new Error;if(a<0||a>128)throw new Error;new URL(`http://[${r}]`);}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:t,continue:!e.abort});}};});Rc=h("$ZodBase64",(t,e)=>{e.pattern??(e.pattern=kp),pe.init(t,e),t._zod.bag.contentEncoding="base64",t._zod.check=n=>{rf(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:t,continue:!e.abort});};});Nc=h("$ZodBase64URL",(t,e)=>{e.pattern??(e.pattern=nc),pe.init(t,e),t._zod.bag.contentEncoding="base64url",t._zod.check=n=>{_$(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:t,continue:!e.abort});};}),Dc=h("$ZodE164",(t,e)=>{e.pattern??(e.pattern=bp),pe.init(t,e);});Ac=h("$ZodJWT",(t,e)=>{pe.init(t,e),t._zod.check=n=>{$$(n.value,e.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:t,continue:!e.abort});};}),Uc=h("$ZodCustomStringFormat",(t,e)=>{pe.init(t,e),t._zod.check=n=>{e.fn(n.value)||n.issues.push({code:"invalid_format",format:e.format,input:n.value,inst:t,continue:!e.abort});};}),Oi=h("$ZodNumber",(t,e)=>{F.init(t,e),t._zod.pattern=t._zod.bag.pattern??oc,t._zod.parse=(n,o)=>{if(e.coerce)try{n.value=Number(n.value);}catch{}let r=n.value;if(typeof r=="number"&&!Number.isNaN(r)&&Number.isFinite(r))return n;let i=typeof r=="number"?Number.isNaN(r)?"NaN":Number.isFinite(r)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:r,inst:t,...i?{received:i}:{}}),n};}),Zc=h("$ZodNumberFormat",(t,e)=>{Np.init(t,e),Oi.init(t,e);}),oo=h("$ZodBoolean",(t,e)=>{F.init(t,e),t._zod.pattern=Pp,t._zod.parse=(n,o)=>{if(e.coerce)try{n.value=!!n.value;}catch{}let r=n.value;return typeof r=="boolean"||n.issues.push({expected:"boolean",code:"invalid_type",input:r,inst:t}),n};}),Ci=h("$ZodBigInt",(t,e)=>{F.init(t,e),t._zod.pattern=zp,t._zod.parse=(n,o)=>{if(e.coerce)try{n.value=BigInt(n.value);}catch{}return typeof n.value=="bigint"||n.issues.push({expected:"bigint",code:"invalid_type",input:n.value,inst:t}),n};}),Mc=h("$ZodBigIntFormat",(t,e)=>{Dp.init(t,e),Ci.init(t,e);}),Lc=h("$ZodSymbol",(t,e)=>{F.init(t,e),t._zod.parse=(n,o)=>{let r=n.value;return typeof r=="symbol"||n.issues.push({expected:"symbol",code:"invalid_type",input:r,inst:t}),n};}),qc=h("$ZodUndefined",(t,e)=>{F.init(t,e),t._zod.pattern=Ep,t._zod.values=new Set([void 0]),t._zod.optin="optional",t._zod.optout="optional",t._zod.parse=(n,o)=>{let r=n.value;return typeof r>"u"||n.issues.push({expected:"undefined",code:"invalid_type",input:r,inst:t}),n};}),Fc=h("$ZodNull",(t,e)=>{F.init(t,e),t._zod.pattern=jp,t._zod.values=new Set([null]),t._zod.parse=(n,o)=>{let r=n.value;return r===null||n.issues.push({expected:"null",code:"invalid_type",input:r,inst:t}),n};}),Jc=h("$ZodAny",(t,e)=>{F.init(t,e),t._zod.parse=n=>n;}),Vc=h("$ZodUnknown",(t,e)=>{F.init(t,e),t._zod.parse=n=>n;}),Gc=h("$ZodNever",(t,e)=>{F.init(t,e),t._zod.parse=(n,o)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:t}),n);}),Bc=h("$ZodVoid",(t,e)=>{F.init(t,e),t._zod.parse=(n,o)=>{let r=n.value;return typeof r>"u"||n.issues.push({expected:"void",code:"invalid_type",input:r,inst:t}),n};}),Kc=h("$ZodDate",(t,e)=>{F.init(t,e),t._zod.parse=(n,o)=>{if(e.coerce)try{n.value=new Date(n.value);}catch{}let r=n.value,i=r instanceof Date;return i&&!Number.isNaN(r.getTime())||n.issues.push({expected:"date",code:"invalid_type",input:r,...i?{received:"Invalid Date"}:{},inst:t}),n};});Wc=h("$ZodArray",(t,e)=>{F.init(t,e),t._zod.parse=(n,o)=>{let r=n.value;if(!Array.isArray(r))return n.issues.push({expected:"array",code:"invalid_type",input:r,inst:t}),n;n.value=Array(r.length);let i=[];for(let a=0;a<r.length;a++){let s=r[a],c=e.element._zod.run({value:s,issues:[]},o);c instanceof Promise?i.push(c.then(u=>c$(u,n,a))):c$(c,n,a);}return i.length?Promise.all(i).then(()=>n):n};});nf=h("$ZodObject",(t,e)=>{if(F.init(t,e),!Object.getOwnPropertyDescriptor(e,"shape")?.get){let s=e.shape;Object.defineProperty(e,"shape",{get:()=>{let c={...s};return Object.defineProperty(e,"shape",{value:c}),c}});}let o=Gn(()=>k$(e));K(t._zod,"propValues",()=>{let s=e.shape,c={};for(let u in s){let l=s[u]._zod;if(l.values){c[u]??(c[u]=new Set);for(let d of l.values)c[u].add(d);}}return c});let r=un,i=e.catchall,a;t._zod.parse=(s,c)=>{a??(a=o.value);let u=s.value;if(!r(u))return s.issues.push({expected:"object",code:"invalid_type",input:u,inst:t}),s;s.value={};let l=[],d=a.shape;for(let p of a.keys){let m=d[p],g=m._zod.optout==="optional",v=m._zod.run({value:u[p],issues:[]},c);v instanceof Promise?l.push(v.then(T=>pc(T,s,p,u,g))):pc(v,s,p,u,g);}return i?b$(l,u,s,c,o.value,t):l.length?Promise.all(l).then(()=>s):s};}),of=h("$ZodObjectJIT",(t,e)=>{nf.init(t,e);let n=t._zod.parse,o=Gn(()=>k$(e)),r=p=>{let m=new Ei(["shape","payload","ctx"]),g=o.value,v=C=>{let L=Js(C);return `shape[${L}]._zod.run({ value: input[${L}], issues: [] }, ctx)`};m.write("const input = payload.value;");let T=Object.create(null),z=0;for(let C of g.keys)T[C]=`key_${z++}`;m.write("const newResult = {};");for(let C of g.keys){let L=T[C],U=Js(C),Be=p[C]?._zod?.optout==="optional";m.write(`const ${L} = ${v(C)};`),Be?m.write(`
|
package/dist/index.js
CHANGED
|
@@ -46,7 +46,7 @@ import {readFileSync,readdirSync,existsSync}from'fs';import {mkdir,readFile,writ
|
|
|
46
46
|
|
|
47
47
|
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let a of e.seen.entries()){let s=a[1];if(t===a[0]){i(a);continue}if(e.external){let u=e.external.registry.get(a[0])?.id;if(t!==a[0]&&u){i(a);continue}}if(e.metadataRegistry.get(a[0])?.id){i(a);continue}if(s.cycle){i(a);continue}if(s.count>1&&e.reused==="ref"){i(a);continue}}}function _r(e,t){let n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");let o=a=>{let s=e.seen.get(a);if(s.ref===null)return;let c=s.def??s.schema,u={...c},l=s.ref;if(s.ref=null,l){o(l);let m=e.seen.get(l),p=m.schema;if(p.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(c.allOf=c.allOf??[],c.allOf.push(p)):Object.assign(c,p),Object.assign(c,u),a._zod.parent===l)for(let v in c)v==="$ref"||v==="allOf"||v in u||delete c[v];if(p.$ref&&m.def)for(let v in c)v==="$ref"||v==="allOf"||v in m.def&&JSON.stringify(c[v])===JSON.stringify(m.def[v])&&delete c[v];}let d=a._zod.parent;if(d&&d!==l){o(d);let m=e.seen.get(d);if(m?.schema.$ref&&(c.$ref=m.schema.$ref,m.def))for(let p in c)p==="$ref"||p==="allOf"||p in m.def&&JSON.stringify(c[p])===JSON.stringify(m.def[p])&&delete c[p];}e.override({zodSchema:a,jsonSchema:c,path:s.path??[]});};for(let a of [...e.seen.entries()].reverse())o(a[0]);let r={};if(e.target==="draft-2020-12"?r.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?r.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?r.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){let a=e.external.registry.get(t)?.id;if(!a)throw new Error("Schema is missing an `id` property");r.$id=e.external.uri(a);}Object.assign(r,n.def??n.schema);let i=e.external?.defs??{};for(let a of e.seen.entries()){let s=a[1];s.def&&s.defId&&(i[s.defId]=s.def);}e.external||Object.keys(i).length>0&&(e.target==="draft-2020-12"?r.$defs=i:r.definitions=i);try{let a=JSON.parse(JSON.stringify(r));return Object.defineProperty(a,"~standard",{value:{...t["~standard"],jsonSchema:{input:Bn(t,"input",e.processors),output:Bn(t,"output",e.processors)}},enumerable:!1,writable:!1}),a}catch{throw new Error("Error converting schema to JSON.")}}function Ve(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return false;n.seen.add(e);let o=e._zod.def;if(o.type==="transform")return true;if(o.type==="array")return Ve(o.element,n);if(o.type==="set")return Ve(o.valueType,n);if(o.type==="lazy")return Ve(o.getter(),n);if(o.type==="promise"||o.type==="optional"||o.type==="nonoptional"||o.type==="nullable"||o.type==="readonly"||o.type==="default"||o.type==="prefault")return Ve(o.innerType,n);if(o.type==="intersection")return Ve(o.left,n)||Ve(o.right,n);if(o.type==="record"||o.type==="map")return Ve(o.keyType,n)||Ve(o.valueType,n);if(o.type==="pipe")return Ve(o.in,n)||Ve(o.out,n);if(o.type==="object"){for(let r in o.shape)if(Ve(o.shape[r],n))return true;return false}if(o.type==="union"){for(let r of o.options)if(Ve(r,n))return true;return false}if(o.type==="tuple"){for(let r of o.items)if(Ve(r,n))return true;return !!(o.rest&&Ve(o.rest,n))}return false}var Zp=(e,t={})=>n=>{let o=yr({...n,processors:t});return ce(e,o),vr(o,e),_r(o,e)},Bn=(e,t,n={})=>o=>{let{libraryOptions:r,target:i}=o??{},a=yr({...r??{},target:i,io:t,processors:n});return ce(e,a),vr(a,e),_r(a,e)};var pz={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Up=(e,t,n,o)=>{let r=n;r.type="string";let{minimum:i,maximum:a,format:s,patterns:c,contentEncoding:u}=e._zod.bag;if(typeof i=="number"&&(r.minLength=i),typeof a=="number"&&(r.maxLength=a),s&&(r.format=pz[s]??s,r.format===""&&delete r.format,s==="time"&&delete r.format),u&&(r.contentEncoding=u),c&&c.size>0){let l=[...c];l.length===1?r.pattern=l[0].source:l.length>1&&(r.allOf=[...l.map(d=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:d.source}))]);}},Mp=(e,t,n,o)=>{let r=n,{minimum:i,maximum:a,format:s,multipleOf:c,exclusiveMaximum:u,exclusiveMinimum:l}=e._zod.bag;typeof s=="string"&&s.includes("int")?r.type="integer":r.type="number",typeof l=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(r.minimum=l,r.exclusiveMinimum=true):r.exclusiveMinimum=l),typeof i=="number"&&(r.minimum=i,typeof l=="number"&&t.target!=="draft-04"&&(l>=i?delete r.minimum:delete r.exclusiveMinimum)),typeof u=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(r.maximum=u,r.exclusiveMaximum=true):r.exclusiveMaximum=u),typeof a=="number"&&(r.maximum=a,typeof u=="number"&&t.target!=="draft-04"&&(u<=a?delete r.maximum:delete r.exclusiveMaximum)),typeof c=="number"&&(r.multipleOf=c);},Lp=(e,t,n,o)=>{n.type="boolean";},qp=(e,t,n,o)=>{if(t.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema")},Fp=(e,t,n,o)=>{if(t.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema")},Vp=(e,t,n,o)=>{t.target==="openapi-3.0"?(n.type="string",n.nullable=true,n.enum=[null]):n.type="null";},Jp=(e,t,n,o)=>{if(t.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},Gp=(e,t,n,o)=>{if(t.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema")},Kp=(e,t,n,o)=>{n.not={};},Bp=(e,t,n,o)=>{},Hp=(e,t,n,o)=>{},Wp=(e,t,n,o)=>{if(t.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},Xp=(e,t,n,o)=>{let r=e._zod.def,i=Bo(r.entries);i.every(a=>typeof a=="number")&&(n.type="number"),i.every(a=>typeof a=="string")&&(n.type="string"),n.enum=i;},Yp=(e,t,n,o)=>{let r=e._zod.def,i=[];for(let a of r.values)if(a===void 0){if(t.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof a=="bigint"){if(t.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");i.push(Number(a));}else i.push(a);if(i.length!==0)if(i.length===1){let a=i[0];n.type=a===null?"null":typeof a,t.target==="draft-04"||t.target==="openapi-3.0"?n.enum=[a]:n.const=a;}else i.every(a=>typeof a=="number")&&(n.type="number"),i.every(a=>typeof a=="string")&&(n.type="string"),i.every(a=>typeof a=="boolean")&&(n.type="boolean"),i.every(a=>a===null)&&(n.type="null"),n.enum=i;},Qp=(e,t,n,o)=>{if(t.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema")},em=(e,t,n,o)=>{let r=n,i=e._zod.pattern;if(!i)throw new Error("Pattern not found in template literal");r.type="string",r.pattern=i.source;},tm=(e,t,n,o)=>{let r=n,i={type:"string",format:"binary",contentEncoding:"binary"},{minimum:a,maximum:s,mime:c}=e._zod.bag;a!==void 0&&(i.minLength=a),s!==void 0&&(i.maxLength=s),c?c.length===1?(i.contentMediaType=c[0],Object.assign(r,i)):(Object.assign(r,i),r.anyOf=c.map(u=>({contentMediaType:u}))):Object.assign(r,i);},rm=(e,t,n,o)=>{n.type="boolean";},nm=(e,t,n,o)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},om=(e,t,n,o)=>{if(t.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},im=(e,t,n,o)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},am=(e,t,n,o)=>{if(t.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema")},sm=(e,t,n,o)=>{if(t.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema")},cm=(e,t,n,o)=>{let r=n,i=e._zod.def,{minimum:a,maximum:s}=e._zod.bag;typeof a=="number"&&(r.minItems=a),typeof s=="number"&&(r.maxItems=s),r.type="array",r.items=ce(i.element,t,{...o,path:[...o.path,"items"]});},um=(e,t,n,o)=>{let r=n,i=e._zod.def;r.type="object",r.properties={};let a=i.shape;for(let u in a)r.properties[u]=ce(a[u],t,{...o,path:[...o.path,"properties",u]});let s=new Set(Object.keys(a)),c=new Set([...s].filter(u=>{let l=i.shape[u]._zod;return t.io==="input"?l.optin===void 0:l.optout===void 0}));c.size>0&&(r.required=Array.from(c)),i.catchall?._zod.def.type==="never"?r.additionalProperties=false:i.catchall?i.catchall&&(r.additionalProperties=ce(i.catchall,t,{...o,path:[...o.path,"additionalProperties"]})):t.io==="output"&&(r.additionalProperties=false);},pu=(e,t,n,o)=>{let r=e._zod.def,i=r.inclusive===false,a=r.options.map((s,c)=>ce(s,t,{...o,path:[...o.path,i?"oneOf":"anyOf",c]}));i?n.oneOf=a:n.anyOf=a;},lm=(e,t,n,o)=>{let r=e._zod.def,i=ce(r.left,t,{...o,path:[...o.path,"allOf",0]}),a=ce(r.right,t,{...o,path:[...o.path,"allOf",1]}),s=u=>"allOf"in u&&Object.keys(u).length===1,c=[...s(i)?i.allOf:[i],...s(a)?a.allOf:[a]];n.allOf=c;},dm=(e,t,n,o)=>{let r=n,i=e._zod.def;r.type="array";let a=t.target==="draft-2020-12"?"prefixItems":"items",s=t.target==="draft-2020-12"||t.target==="openapi-3.0"?"items":"additionalItems",c=i.items.map((m,p)=>ce(m,t,{...o,path:[...o.path,a,p]})),u=i.rest?ce(i.rest,t,{...o,path:[...o.path,s,...t.target==="openapi-3.0"?[i.items.length]:[]]}):null;t.target==="draft-2020-12"?(r.prefixItems=c,u&&(r.items=u)):t.target==="openapi-3.0"?(r.items={anyOf:c},u&&r.items.anyOf.push(u),r.minItems=c.length,u||(r.maxItems=c.length)):(r.items=c,u&&(r.additionalItems=u));let{minimum:l,maximum:d}=e._zod.bag;typeof l=="number"&&(r.minItems=l),typeof d=="number"&&(r.maxItems=d);},pm=(e,t,n,o)=>{let r=n,i=e._zod.def;r.type="object";let a=i.keyType,c=a._zod.bag?.patterns;if(i.mode==="loose"&&c&&c.size>0){let l=ce(i.valueType,t,{...o,path:[...o.path,"patternProperties","*"]});r.patternProperties={};for(let d of c)r.patternProperties[d.source]=l;}else (t.target==="draft-07"||t.target==="draft-2020-12")&&(r.propertyNames=ce(i.keyType,t,{...o,path:[...o.path,"propertyNames"]})),r.additionalProperties=ce(i.valueType,t,{...o,path:[...o.path,"additionalProperties"]});let u=a._zod.values;if(u){let l=[...u].filter(d=>typeof d=="string"||typeof d=="number");l.length>0&&(r.required=l);}},mm=(e,t,n,o)=>{let r=e._zod.def,i=ce(r.innerType,t,o),a=t.seen.get(e);t.target==="openapi-3.0"?(a.ref=r.innerType,n.nullable=true):n.anyOf=[i,{type:"null"}];},fm=(e,t,n,o)=>{let r=e._zod.def;ce(r.innerType,t,o);let i=t.seen.get(e);i.ref=r.innerType;},hm=(e,t,n,o)=>{let r=e._zod.def;ce(r.innerType,t,o);let i=t.seen.get(e);i.ref=r.innerType,n.default=JSON.parse(JSON.stringify(r.defaultValue));},gm=(e,t,n,o)=>{let r=e._zod.def;ce(r.innerType,t,o);let i=t.seen.get(e);i.ref=r.innerType,t.io==="input"&&(n._prefault=JSON.parse(JSON.stringify(r.defaultValue)));},ym=(e,t,n,o)=>{let r=e._zod.def;ce(r.innerType,t,o);let i=t.seen.get(e);i.ref=r.innerType;let a;try{a=r.catchValue(void 0);}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}n.default=a;},vm=(e,t,n,o)=>{let r=e._zod.def,i=t.io==="input"?r.in._zod.def.type==="transform"?r.out:r.in:r.out;ce(i,t,o);let a=t.seen.get(e);a.ref=i;},_m=(e,t,n,o)=>{let r=e._zod.def;ce(r.innerType,t,o);let i=t.seen.get(e);i.ref=r.innerType,n.readOnly=true;},$m=(e,t,n,o)=>{let r=e._zod.def;ce(r.innerType,t,o);let i=t.seen.get(e);i.ref=r.innerType;},mu=(e,t,n,o)=>{let r=e._zod.def;ce(r.innerType,t,o);let i=t.seen.get(e);i.ref=r.innerType;},km=(e,t,n,o)=>{let r=e._zod.innerType;ce(r,t,o);let i=t.seen.get(e);i.ref=r;},du={string:Up,number:Mp,boolean:Lp,bigint:qp,symbol:Fp,null:Vp,undefined:Jp,void:Gp,never:Kp,any:Bp,unknown:Hp,date:Wp,enum:Xp,literal:Yp,nan:Qp,template_literal:em,file:tm,success:rm,custom:nm,function:om,transform:im,map:am,set:sm,array:cm,object:um,union:pu,intersection:lm,tuple:dm,record:pm,nullable:mm,nonoptional:fm,default:hm,prefault:gm,catch:ym,pipe:vm,readonly:_m,promise:$m,optional:mu,lazy:km};function Hn(e,t){if("_idmap"in e){let o=e,r=yr({...t,processors:du}),i={};for(let c of o._idmap.entries()){let[u,l]=c;ce(l,r);}let a={},s={registry:o,uri:t?.uri,defs:i};r.external=s;for(let c of o._idmap.entries()){let[u,l]=c;vr(r,l),a[u]=_r(r,l);}if(Object.keys(i).length>0){let c=r.target==="draft-2020-12"?"$defs":"definitions";a.__shared={[c]:i};}return {schemas:a}}let n=yr({...t,processors:du});return ce(e,n),vr(n,e),_r(n,e)}var fu=class{get metadataRegistry(){return this.ctx.metadataRegistry}get target(){return this.ctx.target}get unrepresentable(){return this.ctx.unrepresentable}get override(){return this.ctx.override}get io(){return this.ctx.io}get counter(){return this.ctx.counter}set counter(t){this.ctx.counter=t;}get seen(){return this.ctx.seen}constructor(t){let n=t?.target??"draft-2020-12";n==="draft-4"&&(n="draft-04"),n==="draft-7"&&(n="draft-07"),this.ctx=yr({processors:du,target:n,...t?.metadata&&{metadata:t.metadata},...t?.unrepresentable&&{unrepresentable:t.unrepresentable},...t?.override&&{override:t.override},...t?.io&&{io:t.io}});}process(t,n={path:[],schemaPath:[]}){return ce(t,this.ctx,n)}emit(t,n){n&&(n.cycles&&(this.ctx.cycles=n.cycles),n.reused&&(this.ctx.reused=n.reused),n.external&&(this.ctx.external=n.external)),vr(this.ctx,t);let o=_r(this.ctx,t),{"~standard":r,...i}=o;return i}};var Kv={};function Wn(e){return !!e._zod}function $r(e,t){return Wn(e)?Zr(e,t):e.safeParse(t)}function hu(e){if(!e)return;let t;if(Wn(e)?t=e._zod?.def?.shape:t=e.shape,!!t){if(typeof t=="function")try{return t()}catch{return}return t}}function Wv(e){if(Wn(e)){let i=e._zod?.def;if(i){if(i.value!==void 0)return i.value;if(Array.isArray(i.values)&&i.values.length>0)return i.values[0]}}let n=e._def;if(n){if(n.value!==void 0)return n.value;if(Array.isArray(n.values)&&n.values.length>0)return n.values[0]}let o=e.value;if(o!==void 0)return o}var j={};Nt(j,{$brand:()=>Go,$input:()=>zc,$output:()=>Sc,NEVER:()=>Ja,TimePrecision:()=>jc,ZodAny:()=>qm,ZodArray:()=>Gm,ZodBase64:()=>Du,ZodBase64URL:()=>Cu,ZodBigInt:()=>ro,ZodBigIntFormat:()=>Uu,ZodBoolean:()=>to,ZodCIDRv4:()=>Ru,ZodCIDRv6:()=>Nu,ZodCUID:()=>zu,ZodCUID2:()=>Tu,ZodCatch:()=>mf,ZodCodec:()=>Ju,ZodCustom:()=>Ji,ZodCustomStringFormat:()=>Qn,ZodDate:()=>Mi,ZodDefault:()=>sf,ZodDiscriminatedUnion:()=>Bm,ZodE164:()=>Au,ZodEmail:()=>xu,ZodEmoji:()=>wu,ZodEnum:()=>Xn,ZodError:()=>vz,ZodExactOptional:()=>nf,ZodFile:()=>tf,ZodFirstPartyTypeKind:()=>Sf,ZodFunction:()=>bf,ZodGUID:()=>Di,ZodIPv4:()=>Eu,ZodIPv6:()=>Ou,ZodISODate:()=>vu,ZodISODateTime:()=>yu,ZodISODuration:()=>$u,ZodISOTime:()=>_u,ZodIntersection:()=>Hm,ZodIssueCode:()=>$z,ZodJWT:()=>Zu,ZodKSUID:()=>ju,ZodLazy:()=>_f,ZodLiteral:()=>ef,ZodMAC:()=>Zm,ZodMap:()=>Ym,ZodNaN:()=>hf,ZodNanoID:()=>Su,ZodNever:()=>Vm,ZodNonOptional:()=>Fu,ZodNull:()=>Lm,ZodNullable:()=>af,ZodNumber:()=>eo,ZodNumberFormat:()=>Yr,ZodObject:()=>Li,ZodOptional:()=>qu,ZodPipe:()=>Vu,ZodPrefault:()=>uf,ZodPromise:()=>kf,ZodReadonly:()=>gf,ZodRealError:()=>Xe,ZodRecord:()=>Vi,ZodSet:()=>Qm,ZodString:()=>Yn,ZodStringFormat:()=>pe,ZodSuccess:()=>pf,ZodSymbol:()=>Um,ZodTemplateLiteral:()=>vf,ZodTransform:()=>rf,ZodTuple:()=>Wm,ZodType:()=>J,ZodULID:()=>Iu,ZodURL:()=>Zi,ZodUUID:()=>At,ZodUndefined:()=>Mm,ZodUnion:()=>qi,ZodUnknown:()=>Fm,ZodVoid:()=>Jm,ZodXID:()=>Pu,ZodXor:()=>Km,_ZodString:()=>bu,_default:()=>cf,_function:()=>Q_,any:()=>D_,array:()=>X,base64:()=>v_,base64url:()=>__,bigint:()=>j_,boolean:()=>ke,catch:()=>ff,check:()=>e$,cidrv4:()=>g_,cidrv6:()=>y_,clone:()=>Ie,codec:()=>W_,coerce:()=>zf,config:()=>$e,core:()=>it,cuid:()=>c_,cuid2:()=>u_,custom:()=>Gu,date:()=>A_,decode:()=>Em,decodeAsync:()=>Rm,describe:()=>t$,discriminatedUnion:()=>Fi,e164:()=>$_,email:()=>Yv,emoji:()=>a_,encode:()=>jm,encodeAsync:()=>Om,endsWith:()=>Jr,enum:()=>Ee,exactOptional:()=>of,file:()=>G_,flattenError:()=>jn,float32:()=>z_,float64:()=>T_,formatError:()=>En,fromJSONSchema:()=>s$,function:()=>Q_,getErrorMap:()=>bz,globalRegistry:()=>Te,gt:()=>xt,gte:()=>Pe,guid:()=>Qv,hash:()=>S_,hex:()=>w_,hostname:()=>x_,httpUrl:()=>i_,includes:()=>Fr,instanceof:()=>n$,int:()=>ku,int32:()=>I_,int64:()=>E_,intersection:()=>no,ipv4:()=>m_,ipv6:()=>h_,iso:()=>kr,json:()=>i$,jwt:()=>k_,keyof:()=>Z_,ksuid:()=>p_,lazy:()=>$f,length:()=>gr,literal:()=>R,locales:()=>Vn,looseObject:()=>je,looseRecord:()=>q_,lowercase:()=>Lr,lt:()=>bt,lte:()=>Fe,mac:()=>f_,map:()=>F_,maxLength:()=>hr,maxSize:()=>Xt,meta:()=>r$,mime:()=>Gr,minLength:()=>Ct,minSize:()=>wt,multipleOf:()=>Wt,nan:()=>H_,nanoid:()=>s_,nativeEnum:()=>J_,negative:()=>ji,never:()=>Mu,nonnegative:()=>Oi,nonoptional:()=>df,nonpositive:()=>Ei,normalize:()=>Kr,null:()=>Ui,nullable:()=>Ci,nullish:()=>K_,number:()=>ae,object:()=>P,optional:()=>ge,overwrite:()=>ut,parse:()=>zm,parseAsync:()=>Tm,partialRecord:()=>L_,pipe:()=>Ai,positive:()=>Pi,prefault:()=>lf,preprocess:()=>Gi,prettifyError:()=>Wa,promise:()=>Y_,property:()=>Ri,readonly:()=>yf,record:()=>le,refine:()=>xf,regex:()=>Mr,regexes:()=>We,registry:()=>ci,safeDecode:()=>Dm,safeDecodeAsync:()=>Am,safeEncode:()=>Nm,safeEncodeAsync:()=>Cm,safeParse:()=>Im,safeParseAsync:()=>Pm,set:()=>V_,setErrorMap:()=>kz,size:()=>fr,slugify:()=>Kn,startsWith:()=>Vr,strictObject:()=>U_,string:()=>y,stringFormat:()=>b_,stringbool:()=>o$,success:()=>B_,superRefine:()=>wf,symbol:()=>R_,templateLiteral:()=>X_,toJSONSchema:()=>Hn,toLowerCase:()=>Hr,toUpperCase:()=>Wr,transform:()=>Lu,treeifyError:()=>Ha,trim:()=>Br,tuple:()=>Xm,uint32:()=>P_,uint64:()=>O_,ulid:()=>l_,undefined:()=>N_,union:()=>fe,unknown:()=>me,uppercase:()=>qr,url:()=>o_,util:()=>k,uuid:()=>e_,uuidv4:()=>t_,uuidv6:()=>r_,uuidv7:()=>n_,void:()=>C_,xid:()=>d_,xor:()=>M_});var Ni={};Nt(Ni,{ZodAny:()=>qm,ZodArray:()=>Gm,ZodBase64:()=>Du,ZodBase64URL:()=>Cu,ZodBigInt:()=>ro,ZodBigIntFormat:()=>Uu,ZodBoolean:()=>to,ZodCIDRv4:()=>Ru,ZodCIDRv6:()=>Nu,ZodCUID:()=>zu,ZodCUID2:()=>Tu,ZodCatch:()=>mf,ZodCodec:()=>Ju,ZodCustom:()=>Ji,ZodCustomStringFormat:()=>Qn,ZodDate:()=>Mi,ZodDefault:()=>sf,ZodDiscriminatedUnion:()=>Bm,ZodE164:()=>Au,ZodEmail:()=>xu,ZodEmoji:()=>wu,ZodEnum:()=>Xn,ZodExactOptional:()=>nf,ZodFile:()=>tf,ZodFunction:()=>bf,ZodGUID:()=>Di,ZodIPv4:()=>Eu,ZodIPv6:()=>Ou,ZodIntersection:()=>Hm,ZodJWT:()=>Zu,ZodKSUID:()=>ju,ZodLazy:()=>_f,ZodLiteral:()=>ef,ZodMAC:()=>Zm,ZodMap:()=>Ym,ZodNaN:()=>hf,ZodNanoID:()=>Su,ZodNever:()=>Vm,ZodNonOptional:()=>Fu,ZodNull:()=>Lm,ZodNullable:()=>af,ZodNumber:()=>eo,ZodNumberFormat:()=>Yr,ZodObject:()=>Li,ZodOptional:()=>qu,ZodPipe:()=>Vu,ZodPrefault:()=>uf,ZodPromise:()=>kf,ZodReadonly:()=>gf,ZodRecord:()=>Vi,ZodSet:()=>Qm,ZodString:()=>Yn,ZodStringFormat:()=>pe,ZodSuccess:()=>pf,ZodSymbol:()=>Um,ZodTemplateLiteral:()=>vf,ZodTransform:()=>rf,ZodTuple:()=>Wm,ZodType:()=>J,ZodULID:()=>Iu,ZodURL:()=>Zi,ZodUUID:()=>At,ZodUndefined:()=>Mm,ZodUnion:()=>qi,ZodUnknown:()=>Fm,ZodVoid:()=>Jm,ZodXID:()=>Pu,ZodXor:()=>Km,_ZodString:()=>bu,_default:()=>cf,_function:()=>Q_,any:()=>D_,array:()=>X,base64:()=>v_,base64url:()=>__,bigint:()=>j_,boolean:()=>ke,catch:()=>ff,check:()=>e$,cidrv4:()=>g_,cidrv6:()=>y_,codec:()=>W_,cuid:()=>c_,cuid2:()=>u_,custom:()=>Gu,date:()=>A_,describe:()=>t$,discriminatedUnion:()=>Fi,e164:()=>$_,email:()=>Yv,emoji:()=>a_,enum:()=>Ee,exactOptional:()=>of,file:()=>G_,float32:()=>z_,float64:()=>T_,function:()=>Q_,guid:()=>Qv,hash:()=>S_,hex:()=>w_,hostname:()=>x_,httpUrl:()=>i_,instanceof:()=>n$,int:()=>ku,int32:()=>I_,int64:()=>E_,intersection:()=>no,ipv4:()=>m_,ipv6:()=>h_,json:()=>i$,jwt:()=>k_,keyof:()=>Z_,ksuid:()=>p_,lazy:()=>$f,literal:()=>R,looseObject:()=>je,looseRecord:()=>q_,mac:()=>f_,map:()=>F_,meta:()=>r$,nan:()=>H_,nanoid:()=>s_,nativeEnum:()=>J_,never:()=>Mu,nonoptional:()=>df,null:()=>Ui,nullable:()=>Ci,nullish:()=>K_,number:()=>ae,object:()=>P,optional:()=>ge,partialRecord:()=>L_,pipe:()=>Ai,prefault:()=>lf,preprocess:()=>Gi,promise:()=>Y_,readonly:()=>yf,record:()=>le,refine:()=>xf,set:()=>V_,strictObject:()=>U_,string:()=>y,stringFormat:()=>b_,stringbool:()=>o$,success:()=>B_,superRefine:()=>wf,symbol:()=>R_,templateLiteral:()=>X_,transform:()=>Lu,tuple:()=>Xm,uint32:()=>P_,uint64:()=>O_,ulid:()=>l_,undefined:()=>N_,union:()=>fe,unknown:()=>me,url:()=>o_,uuid:()=>e_,uuidv4:()=>t_,uuidv6:()=>r_,uuidv7:()=>n_,void:()=>C_,xid:()=>d_,xor:()=>M_});var gu={};Nt(gu,{endsWith:()=>Jr,gt:()=>xt,gte:()=>Pe,includes:()=>Fr,length:()=>gr,lowercase:()=>Lr,lt:()=>bt,lte:()=>Fe,maxLength:()=>hr,maxSize:()=>Xt,mime:()=>Gr,minLength:()=>Ct,minSize:()=>wt,multipleOf:()=>Wt,negative:()=>ji,nonnegative:()=>Oi,nonpositive:()=>Ei,normalize:()=>Kr,overwrite:()=>ut,positive:()=>Pi,property:()=>Ri,regex:()=>Mr,size:()=>fr,slugify:()=>Kn,startsWith:()=>Vr,toLowerCase:()=>Hr,toUpperCase:()=>Wr,trim:()=>Br,uppercase:()=>qr});var kr={};Nt(kr,{ZodISODate:()=>vu,ZodISODateTime:()=>yu,ZodISODuration:()=>$u,ZodISOTime:()=>_u,date:()=>xm,datetime:()=>bm,duration:()=>Sm,time:()=>wm});var yu=f("ZodISODateTime",(e,t)=>{Ss.init(e,t),pe.init(e,t);});function bm(e){return Ec(yu,e)}var vu=f("ZodISODate",(e,t)=>{zs.init(e,t),pe.init(e,t);});function xm(e){return Oc(vu,e)}var _u=f("ZodISOTime",(e,t)=>{Ts.init(e,t),pe.init(e,t);});function wm(e){return Rc(_u,e)}var $u=f("ZodISODuration",(e,t)=>{Is.init(e,t),pe.init(e,t);});function Sm(e){return Nc($u,e)}var Xv=(e,t)=>{Qo.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:n=>En(e,n)},flatten:{value:n=>jn(e,n)},addIssue:{value:n=>{e.issues.push(n),e.message=JSON.stringify(e.issues,Tn,2);}},addIssues:{value:n=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,Tn,2);}},isEmpty:{get(){return e.issues.length===0}}});},vz=f("ZodError",Xv),Xe=f("ZodError",Xv,{Parent:Error});var zm=On(Xe),Tm=Nn(Xe),Im=Cn(Xe),Pm=An(Xe),jm=Xa(Xe),Em=Ya(Xe),Om=Qa(Xe),Rm=es(Xe),Nm=ts(Xe),Dm=rs(Xe),Cm=ns(Xe),Am=os(Xe);var J=f("ZodType",(e,t)=>(M.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:Bn(e,"input"),output:Bn(e,"output")}}),e.toJSONSchema=Zp(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone(k.mergeDefs(t,{checks:[...t.checks??[],...n.map(o=>typeof o=="function"?{_zod:{check:o,def:{check:"custom"},onattach:[]}}:o)]}),{parent:true}),e.with=e.check,e.clone=(n,o)=>Ie(e,n,o),e.brand=()=>e,e.register=((n,o)=>(n.add(e,o),e)),e.parse=(n,o)=>zm(e,n,o,{callee:e.parse}),e.safeParse=(n,o)=>Im(e,n,o),e.parseAsync=async(n,o)=>Tm(e,n,o,{callee:e.parseAsync}),e.safeParseAsync=async(n,o)=>Pm(e,n,o),e.spa=e.safeParseAsync,e.encode=(n,o)=>jm(e,n,o),e.decode=(n,o)=>Em(e,n,o),e.encodeAsync=async(n,o)=>Om(e,n,o),e.decodeAsync=async(n,o)=>Rm(e,n,o),e.safeEncode=(n,o)=>Nm(e,n,o),e.safeDecode=(n,o)=>Dm(e,n,o),e.safeEncodeAsync=async(n,o)=>Cm(e,n,o),e.safeDecodeAsync=async(n,o)=>Am(e,n,o),e.refine=(n,o)=>e.check(xf(n,o)),e.superRefine=n=>e.check(wf(n)),e.overwrite=n=>e.check(ut(n)),e.optional=()=>ge(e),e.exactOptional=()=>of(e),e.nullable=()=>Ci(e),e.nullish=()=>ge(Ci(e)),e.nonoptional=n=>df(e,n),e.array=()=>X(e),e.or=n=>fe([e,n]),e.and=n=>no(e,n),e.transform=n=>Ai(e,Lu(n)),e.default=n=>cf(e,n),e.prefault=n=>lf(e,n),e.catch=n=>ff(e,n),e.pipe=n=>Ai(e,n),e.readonly=()=>yf(e),e.describe=n=>{let o=e.clone();return Te.add(o,{description:n}),o},Object.defineProperty(e,"description",{get(){return Te.get(e)?.description},configurable:true}),e.meta=(...n)=>{if(n.length===0)return Te.get(e);let o=e.clone();return Te.add(o,n[0]),o},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=n=>n(e),e)),bu=f("_ZodString",(e,t)=>{mr.init(e,t),J.init(e,t),e._zod.processJSONSchema=(o,r,i)=>Up(e,o,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...o)=>e.check(Mr(...o)),e.includes=(...o)=>e.check(Fr(...o)),e.startsWith=(...o)=>e.check(Vr(...o)),e.endsWith=(...o)=>e.check(Jr(...o)),e.min=(...o)=>e.check(Ct(...o)),e.max=(...o)=>e.check(hr(...o)),e.length=(...o)=>e.check(gr(...o)),e.nonempty=(...o)=>e.check(Ct(1,...o)),e.lowercase=o=>e.check(Lr(o)),e.uppercase=o=>e.check(qr(o)),e.trim=()=>e.check(Br()),e.normalize=(...o)=>e.check(Kr(...o)),e.toLowerCase=()=>e.check(Hr()),e.toUpperCase=()=>e.check(Wr()),e.slugify=()=>e.check(Kn());}),Yn=f("ZodString",(e,t)=>{mr.init(e,t),bu.init(e,t),e.email=n=>e.check(ui(xu,n)),e.url=n=>e.check(Gn(Zi,n)),e.jwt=n=>e.check(Ii(Zu,n)),e.emoji=n=>e.check(fi(wu,n)),e.guid=n=>e.check(Jn(Di,n)),e.uuid=n=>e.check(li(At,n)),e.uuidv4=n=>e.check(di(At,n)),e.uuidv6=n=>e.check(pi(At,n)),e.uuidv7=n=>e.check(mi(At,n)),e.nanoid=n=>e.check(hi(Su,n)),e.guid=n=>e.check(Jn(Di,n)),e.cuid=n=>e.check(gi(zu,n)),e.cuid2=n=>e.check(yi(Tu,n)),e.ulid=n=>e.check(vi(Iu,n)),e.base64=n=>e.check(Si(Du,n)),e.base64url=n=>e.check(zi(Cu,n)),e.xid=n=>e.check(_i(Pu,n)),e.ksuid=n=>e.check($i(ju,n)),e.ipv4=n=>e.check(ki(Eu,n)),e.ipv6=n=>e.check(bi(Ou,n)),e.cidrv4=n=>e.check(xi(Ru,n)),e.cidrv6=n=>e.check(wi(Nu,n)),e.e164=n=>e.check(Ti(Au,n)),e.datetime=n=>e.check(bm(n)),e.date=n=>e.check(xm(n)),e.time=n=>e.check(wm(n)),e.duration=n=>e.check(Sm(n));});function y(e){return Tc(Yn,e)}var pe=f("ZodStringFormat",(e,t)=>{ue.init(e,t),bu.init(e,t);}),xu=f("ZodEmail",(e,t)=>{gs.init(e,t),pe.init(e,t);});function Yv(e){return ui(xu,e)}var Di=f("ZodGUID",(e,t)=>{fs.init(e,t),pe.init(e,t);});function Qv(e){return Jn(Di,e)}var At=f("ZodUUID",(e,t)=>{hs.init(e,t),pe.init(e,t);});function e_(e){return li(At,e)}function t_(e){return di(At,e)}function r_(e){return pi(At,e)}function n_(e){return mi(At,e)}var Zi=f("ZodURL",(e,t)=>{ys.init(e,t),pe.init(e,t);});function o_(e){return Gn(Zi,e)}function i_(e){return Gn(Zi,{protocol:/^https?$/,hostname:We.domain,...k.normalizeParams(e)})}var wu=f("ZodEmoji",(e,t)=>{vs.init(e,t),pe.init(e,t);});function a_(e){return fi(wu,e)}var Su=f("ZodNanoID",(e,t)=>{_s.init(e,t),pe.init(e,t);});function s_(e){return hi(Su,e)}var zu=f("ZodCUID",(e,t)=>{$s.init(e,t),pe.init(e,t);});function c_(e){return gi(zu,e)}var Tu=f("ZodCUID2",(e,t)=>{ks.init(e,t),pe.init(e,t);});function u_(e){return yi(Tu,e)}var Iu=f("ZodULID",(e,t)=>{bs.init(e,t),pe.init(e,t);});function l_(e){return vi(Iu,e)}var Pu=f("ZodXID",(e,t)=>{xs.init(e,t),pe.init(e,t);});function d_(e){return _i(Pu,e)}var ju=f("ZodKSUID",(e,t)=>{ws.init(e,t),pe.init(e,t);});function p_(e){return $i(ju,e)}var Eu=f("ZodIPv4",(e,t)=>{Ps.init(e,t),pe.init(e,t);});function m_(e){return ki(Eu,e)}var Zm=f("ZodMAC",(e,t)=>{Es.init(e,t),pe.init(e,t);});function f_(e){return Pc(Zm,e)}var Ou=f("ZodIPv6",(e,t)=>{js.init(e,t),pe.init(e,t);});function h_(e){return bi(Ou,e)}var Ru=f("ZodCIDRv4",(e,t)=>{Os.init(e,t),pe.init(e,t);});function g_(e){return xi(Ru,e)}var Nu=f("ZodCIDRv6",(e,t)=>{Rs.init(e,t),pe.init(e,t);});function y_(e){return wi(Nu,e)}var Du=f("ZodBase64",(e,t)=>{Ns.init(e,t),pe.init(e,t);});function v_(e){return Si(Du,e)}var Cu=f("ZodBase64URL",(e,t)=>{Ds.init(e,t),pe.init(e,t);});function __(e){return zi(Cu,e)}var Au=f("ZodE164",(e,t)=>{Cs.init(e,t),pe.init(e,t);});function $_(e){return Ti(Au,e)}var Zu=f("ZodJWT",(e,t)=>{As.init(e,t),pe.init(e,t);});function k_(e){return Ii(Zu,e)}var Qn=f("ZodCustomStringFormat",(e,t)=>{Zs.init(e,t),pe.init(e,t);});function b_(e,t,n={}){return Xr(Qn,e,t,n)}function x_(e){return Xr(Qn,"hostname",We.hostname,e)}function w_(e){return Xr(Qn,"hex",We.hex,e)}function S_(e,t){let n=t?.enc??"hex",o=`${e}_${n}`,r=We[o];if(!r)throw new Error(`Unrecognized hash format: ${o}`);return Xr(Qn,o,r,t)}var eo=f("ZodNumber",(e,t)=>{ni.init(e,t),J.init(e,t),e._zod.processJSONSchema=(o,r,i)=>Mp(e,o,r),e.gt=(o,r)=>e.check(xt(o,r)),e.gte=(o,r)=>e.check(Pe(o,r)),e.min=(o,r)=>e.check(Pe(o,r)),e.lt=(o,r)=>e.check(bt(o,r)),e.lte=(o,r)=>e.check(Fe(o,r)),e.max=(o,r)=>e.check(Fe(o,r)),e.int=o=>e.check(ku(o)),e.safe=o=>e.check(ku(o)),e.positive=o=>e.check(xt(0,o)),e.nonnegative=o=>e.check(Pe(0,o)),e.negative=o=>e.check(bt(0,o)),e.nonpositive=o=>e.check(Fe(0,o)),e.multipleOf=(o,r)=>e.check(Wt(o,r)),e.step=(o,r)=>e.check(Wt(o,r)),e.finite=()=>e;let n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=true,e.format=n.format??null;});function ae(e){return Dc(eo,e)}var Yr=f("ZodNumberFormat",(e,t)=>{Us.init(e,t),eo.init(e,t);});function ku(e){return Ac(Yr,e)}function z_(e){return Zc(Yr,e)}function T_(e){return Uc(Yr,e)}function I_(e){return Mc(Yr,e)}function P_(e){return Lc(Yr,e)}var to=f("ZodBoolean",(e,t)=>{Mn.init(e,t),J.init(e,t),e._zod.processJSONSchema=(n,o,r)=>Lp(e,n,o);});function ke(e){return qc(to,e)}var ro=f("ZodBigInt",(e,t)=>{oi.init(e,t),J.init(e,t),e._zod.processJSONSchema=(o,r,i)=>qp(e,o),e.gte=(o,r)=>e.check(Pe(o,r)),e.min=(o,r)=>e.check(Pe(o,r)),e.gt=(o,r)=>e.check(xt(o,r)),e.gte=(o,r)=>e.check(Pe(o,r)),e.min=(o,r)=>e.check(Pe(o,r)),e.lt=(o,r)=>e.check(bt(o,r)),e.lte=(o,r)=>e.check(Fe(o,r)),e.max=(o,r)=>e.check(Fe(o,r)),e.positive=o=>e.check(xt(BigInt(0),o)),e.negative=o=>e.check(bt(BigInt(0),o)),e.nonpositive=o=>e.check(Fe(BigInt(0),o)),e.nonnegative=o=>e.check(Pe(BigInt(0),o)),e.multipleOf=(o,r)=>e.check(Wt(o,r));let n=e._zod.bag;e.minValue=n.minimum??null,e.maxValue=n.maximum??null,e.format=n.format??null;});function j_(e){return Vc(ro,e)}var Uu=f("ZodBigIntFormat",(e,t)=>{Ms.init(e,t),ro.init(e,t);});function E_(e){return Gc(Uu,e)}function O_(e){return Kc(Uu,e)}var Um=f("ZodSymbol",(e,t)=>{Ls.init(e,t),J.init(e,t),e._zod.processJSONSchema=(n,o,r)=>Fp(e,n);});function R_(e){return Bc(Um,e)}var Mm=f("ZodUndefined",(e,t)=>{qs.init(e,t),J.init(e,t),e._zod.processJSONSchema=(n,o,r)=>Jp(e,n);});function N_(e){return Hc(Mm,e)}var Lm=f("ZodNull",(e,t)=>{Fs.init(e,t),J.init(e,t),e._zod.processJSONSchema=(n,o,r)=>Vp(e,n,o);});function Ui(e){return Wc(Lm,e)}var qm=f("ZodAny",(e,t)=>{Vs.init(e,t),J.init(e,t),e._zod.processJSONSchema=(n,o,r)=>Bp();});function D_(){return Xc(qm)}var Fm=f("ZodUnknown",(e,t)=>{Js.init(e,t),J.init(e,t),e._zod.processJSONSchema=(n,o,r)=>Hp();});function me(){return Yc(Fm)}var Vm=f("ZodNever",(e,t)=>{Gs.init(e,t),J.init(e,t),e._zod.processJSONSchema=(n,o,r)=>Kp(e,n,o);});function Mu(e){return Qc(Vm,e)}var Jm=f("ZodVoid",(e,t)=>{Ks.init(e,t),J.init(e,t),e._zod.processJSONSchema=(n,o,r)=>Gp(e,n);});function C_(e){return eu(Jm,e)}var Mi=f("ZodDate",(e,t)=>{Bs.init(e,t),J.init(e,t),e._zod.processJSONSchema=(o,r,i)=>Wp(e,o),e.min=(o,r)=>e.check(Pe(o,r)),e.max=(o,r)=>e.check(Fe(o,r));let n=e._zod.bag;e.minDate=n.minimum?new Date(n.minimum):null,e.maxDate=n.maximum?new Date(n.maximum):null;});function A_(e){return tu(Mi,e)}var Gm=f("ZodArray",(e,t)=>{Hs.init(e,t),J.init(e,t),e._zod.processJSONSchema=(n,o,r)=>cm(e,n,o,r),e.element=t.element,e.min=(n,o)=>e.check(Ct(n,o)),e.nonempty=n=>e.check(Ct(1,n)),e.max=(n,o)=>e.check(hr(n,o)),e.length=(n,o)=>e.check(gr(n,o)),e.unwrap=()=>e.element;});function X(e,t){return Ap(Gm,e,t)}function Z_(e){let t=e._zod.def.shape;return Ee(Object.keys(t))}var Li=f("ZodObject",(e,t)=>{Cp.init(e,t),J.init(e,t),e._zod.processJSONSchema=(n,o,r)=>um(e,n,o,r),k.defineLazy(e,"shape",()=>t.shape),e.keyof=()=>Ee(Object.keys(e._zod.def.shape)),e.catchall=n=>e.clone({...e._zod.def,catchall:n}),e.passthrough=()=>e.clone({...e._zod.def,catchall:me()}),e.loose=()=>e.clone({...e._zod.def,catchall:me()}),e.strict=()=>e.clone({...e._zod.def,catchall:Mu()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=n=>k.extend(e,n),e.safeExtend=n=>k.safeExtend(e,n),e.merge=n=>k.merge(e,n),e.pick=n=>k.pick(e,n),e.omit=n=>k.omit(e,n),e.partial=(...n)=>k.partial(qu,e,n[0]),e.required=(...n)=>k.required(Fu,e,n[0]);});function P(e,t){let n={type:"object",shape:e??{},...k.normalizeParams(t)};return new Li(n)}function U_(e,t){return new Li({type:"object",shape:e,catchall:Mu(),...k.normalizeParams(t)})}function je(e,t){return new Li({type:"object",shape:e,catchall:me(),...k.normalizeParams(t)})}var qi=f("ZodUnion",(e,t)=>{Ln.init(e,t),J.init(e,t),e._zod.processJSONSchema=(n,o,r)=>pu(e,n,o,r),e.options=t.options;});function fe(e,t){return new qi({type:"union",options:e,...k.normalizeParams(t)})}var Km=f("ZodXor",(e,t)=>{qi.init(e,t),Ws.init(e,t),e._zod.processJSONSchema=(n,o,r)=>pu(e,n,o,r),e.options=t.options;});function M_(e,t){return new Km({type:"union",options:e,inclusive:false,...k.normalizeParams(t)})}var Bm=f("ZodDiscriminatedUnion",(e,t)=>{qi.init(e,t),Xs.init(e,t);});function Fi(e,t,n){return new Bm({type:"union",options:t,discriminator:e,...k.normalizeParams(n)})}var Hm=f("ZodIntersection",(e,t)=>{Ys.init(e,t),J.init(e,t),e._zod.processJSONSchema=(n,o,r)=>lm(e,n,o,r);});function no(e,t){return new Hm({type:"intersection",left:e,right:t})}var Wm=f("ZodTuple",(e,t)=>{ii.init(e,t),J.init(e,t),e._zod.processJSONSchema=(n,o,r)=>dm(e,n,o,r),e.rest=n=>e.clone({...e._zod.def,rest:n});});function Xm(e,t,n){let o=t instanceof M,r=o?n:t,i=o?t:null;return new Wm({type:"tuple",items:e,rest:i,...k.normalizeParams(r)})}var Vi=f("ZodRecord",(e,t)=>{Qs.init(e,t),J.init(e,t),e._zod.processJSONSchema=(n,o,r)=>pm(e,n,o,r),e.keyType=t.keyType,e.valueType=t.valueType;});function le(e,t,n){return new Vi({type:"record",keyType:e,valueType:t,...k.normalizeParams(n)})}function L_(e,t,n){let o=Ie(e);return o._zod.values=void 0,new Vi({type:"record",keyType:o,valueType:t,...k.normalizeParams(n)})}function q_(e,t,n){return new Vi({type:"record",keyType:e,valueType:t,mode:"loose",...k.normalizeParams(n)})}var Ym=f("ZodMap",(e,t)=>{ec.init(e,t),J.init(e,t),e._zod.processJSONSchema=(n,o,r)=>am(e,n),e.keyType=t.keyType,e.valueType=t.valueType,e.min=(...n)=>e.check(wt(...n)),e.nonempty=n=>e.check(wt(1,n)),e.max=(...n)=>e.check(Xt(...n)),e.size=(...n)=>e.check(fr(...n));});function F_(e,t,n){return new Ym({type:"map",keyType:e,valueType:t,...k.normalizeParams(n)})}var Qm=f("ZodSet",(e,t)=>{tc.init(e,t),J.init(e,t),e._zod.processJSONSchema=(n,o,r)=>sm(e,n),e.min=(...n)=>e.check(wt(...n)),e.nonempty=n=>e.check(wt(1,n)),e.max=(...n)=>e.check(Xt(...n)),e.size=(...n)=>e.check(fr(...n));});function V_(e,t){return new Qm({type:"set",valueType:e,...k.normalizeParams(t)})}var Xn=f("ZodEnum",(e,t)=>{rc.init(e,t),J.init(e,t),e._zod.processJSONSchema=(o,r,i)=>Xp(e,o,r),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(o,r)=>{let i={};for(let a of o)if(n.has(a))i[a]=t.entries[a];else throw new Error(`Key ${a} not found in enum`);return new Xn({...t,checks:[],...k.normalizeParams(r),entries:i})},e.exclude=(o,r)=>{let i={...t.entries};for(let a of o)if(n.has(a))delete i[a];else throw new Error(`Key ${a} not found in enum`);return new Xn({...t,checks:[],...k.normalizeParams(r),entries:i})};});function Ee(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(o=>[o,o])):e;return new Xn({type:"enum",entries:n,...k.normalizeParams(t)})}function J_(e,t){return new Xn({type:"enum",entries:e,...k.normalizeParams(t)})}var ef=f("ZodLiteral",(e,t)=>{nc.init(e,t),J.init(e,t),e._zod.processJSONSchema=(n,o,r)=>Yp(e,n,o),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}});});function R(e,t){return new ef({type:"literal",values:Array.isArray(e)?e:[e],...k.normalizeParams(t)})}var tf=f("ZodFile",(e,t)=>{oc.init(e,t),J.init(e,t),e._zod.processJSONSchema=(n,o,r)=>tm(e,n,o),e.min=(n,o)=>e.check(wt(n,o)),e.max=(n,o)=>e.check(Xt(n,o)),e.mime=(n,o)=>e.check(Gr(Array.isArray(n)?n:[n],o));});function G_(e){return ou(tf,e)}var rf=f("ZodTransform",(e,t)=>{ic.init(e,t),J.init(e,t),e._zod.processJSONSchema=(n,o,r)=>im(e,n),e._zod.parse=(n,o)=>{if(o.direction==="backward")throw new cr(e.constructor.name);n.addIssue=i=>{if(typeof i=="string")n.issues.push(k.issue(i,n.value,t));else {let a=i;a.fatal&&(a.continue=false),a.code??(a.code="custom"),a.input??(a.input=n.value),a.inst??(a.inst=e),n.issues.push(k.issue(a));}};let r=t.transform(n.value,n);return r instanceof Promise?r.then(i=>(n.value=i,n)):(n.value=r,n)};});function Lu(e){return new rf({type:"transform",transform:e})}var qu=f("ZodOptional",(e,t)=>{ai.init(e,t),J.init(e,t),e._zod.processJSONSchema=(n,o,r)=>mu(e,n,o,r),e.unwrap=()=>e._zod.def.innerType;});function ge(e){return new qu({type:"optional",innerType:e})}var nf=f("ZodExactOptional",(e,t)=>{ac.init(e,t),J.init(e,t),e._zod.processJSONSchema=(n,o,r)=>mu(e,n,o,r),e.unwrap=()=>e._zod.def.innerType;});function of(e){return new nf({type:"optional",innerType:e})}var af=f("ZodNullable",(e,t)=>{sc.init(e,t),J.init(e,t),e._zod.processJSONSchema=(n,o,r)=>mm(e,n,o,r),e.unwrap=()=>e._zod.def.innerType;});function Ci(e){return new af({type:"nullable",innerType:e})}function K_(e){return ge(Ci(e))}var sf=f("ZodDefault",(e,t)=>{cc.init(e,t),J.init(e,t),e._zod.processJSONSchema=(n,o,r)=>hm(e,n,o,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap;});function cf(e,t){return new sf({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():k.shallowClone(t)}})}var uf=f("ZodPrefault",(e,t)=>{uc.init(e,t),J.init(e,t),e._zod.processJSONSchema=(n,o,r)=>gm(e,n,o,r),e.unwrap=()=>e._zod.def.innerType;});function lf(e,t){return new uf({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():k.shallowClone(t)}})}var Fu=f("ZodNonOptional",(e,t)=>{lc.init(e,t),J.init(e,t),e._zod.processJSONSchema=(n,o,r)=>fm(e,n,o,r),e.unwrap=()=>e._zod.def.innerType;});function df(e,t){return new Fu({type:"nonoptional",innerType:e,...k.normalizeParams(t)})}var pf=f("ZodSuccess",(e,t)=>{dc.init(e,t),J.init(e,t),e._zod.processJSONSchema=(n,o,r)=>rm(e,n,o),e.unwrap=()=>e._zod.def.innerType;});function B_(e){return new pf({type:"success",innerType:e})}var mf=f("ZodCatch",(e,t)=>{pc.init(e,t),J.init(e,t),e._zod.processJSONSchema=(n,o,r)=>ym(e,n,o,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap;});function ff(e,t){return new mf({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}var hf=f("ZodNaN",(e,t)=>{mc.init(e,t),J.init(e,t),e._zod.processJSONSchema=(n,o,r)=>Qp(e,n);});function H_(e){return nu(hf,e)}var Vu=f("ZodPipe",(e,t)=>{fc.init(e,t),J.init(e,t),e._zod.processJSONSchema=(n,o,r)=>vm(e,n,o,r),e.in=t.in,e.out=t.out;});function Ai(e,t){return new Vu({type:"pipe",in:e,out:t})}var Ju=f("ZodCodec",(e,t)=>{Vu.init(e,t),qn.init(e,t);});function W_(e,t,n){return new Ju({type:"pipe",in:e,out:t,transform:n.decode,reverseTransform:n.encode})}var gf=f("ZodReadonly",(e,t)=>{hc.init(e,t),J.init(e,t),e._zod.processJSONSchema=(n,o,r)=>_m(e,n,o,r),e.unwrap=()=>e._zod.def.innerType;});function yf(e){return new gf({type:"readonly",innerType:e})}var vf=f("ZodTemplateLiteral",(e,t)=>{gc.init(e,t),J.init(e,t),e._zod.processJSONSchema=(n,o,r)=>em(e,n,o);});function X_(e,t){return new vf({type:"template_literal",parts:e,...k.normalizeParams(t)})}var _f=f("ZodLazy",(e,t)=>{_c.init(e,t),J.init(e,t),e._zod.processJSONSchema=(n,o,r)=>km(e,n,o,r),e.unwrap=()=>e._zod.def.getter();});function $f(e){return new _f({type:"lazy",getter:e})}var kf=f("ZodPromise",(e,t)=>{vc.init(e,t),J.init(e,t),e._zod.processJSONSchema=(n,o,r)=>$m(e,n,o,r),e.unwrap=()=>e._zod.def.innerType;});function Y_(e){return new kf({type:"promise",innerType:e})}var bf=f("ZodFunction",(e,t)=>{yc.init(e,t),J.init(e,t),e._zod.processJSONSchema=(n,o,r)=>om(e,n);});function Q_(e){return new bf({type:"function",input:Array.isArray(e?.input)?Xm(e?.input):e?.input??X(me()),output:e?.output??me()})}var Ji=f("ZodCustom",(e,t)=>{$c.init(e,t),J.init(e,t),e._zod.processJSONSchema=(n,o,r)=>nm(e,n);});function e$(e){let t=new de({check:"custom"});return t._zod.check=e,t}function Gu(e,t){return iu(Ji,e??(()=>true),t)}function xf(e,t={}){return au(Ji,e,t)}function wf(e){return su(e)}var t$=cu,r$=uu;function n$(e,t={}){let n=new Ji({type:"custom",check:"custom",fn:o=>o instanceof e,abort:true,...k.normalizeParams(t)});return n._zod.bag.Class=e,n._zod.check=o=>{o.value instanceof e||o.issues.push({code:"invalid_type",expected:e.name,input:o.value,inst:n,path:[...n._zod.def.path??[]]});},n}var o$=(...e)=>lu({Codec:Ju,Boolean:to,String:Yn},...e);function i$(e){let t=$f(()=>fe([y(e),ae(),ke(),Ui(),X(t),le(y(),t)]));return t}function Gi(e,t){return Ai(Lu(e),t)}var $z={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};function kz(e){$e({customError:e});}function bz(){return $e().customError}var Sf;Sf||(Sf={});var z={...Ni,...gu,iso:kr},xz=new Set(["$schema","$ref","$defs","definitions","$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor","type","enum","const","anyOf","oneOf","allOf","not","properties","required","additionalProperties","patternProperties","propertyNames","minProperties","maxProperties","items","prefixItems","additionalItems","minItems","maxItems","uniqueItems","contains","minContains","maxContains","minLength","maxLength","pattern","format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","description","default","contentEncoding","contentMediaType","contentSchema","unevaluatedItems","unevaluatedProperties","if","then","else","dependentSchemas","dependentRequired","nullable","readOnly"]);function wz(e,t){let n=e.$schema;return n==="https://json-schema.org/draft/2020-12/schema"?"draft-2020-12":n==="http://json-schema.org/draft-07/schema#"?"draft-7":n==="http://json-schema.org/draft-04/schema#"?"draft-4":t??"draft-2020-12"}function Sz(e,t){if(!e.startsWith("#"))throw new Error("External $ref is not supported, only local refs (#/...) are allowed");let n=e.slice(1).split("/").filter(Boolean);if(n.length===0)return t.rootSchema;let o=t.version==="draft-2020-12"?"$defs":"definitions";if(n[0]===o){let r=n[1];if(!r||!t.defs[r])throw new Error(`Reference not found: ${e}`);return t.defs[r]}throw new Error(`Reference not found: ${e}`)}function a$(e,t){if(e.not!==void 0){if(typeof e.not=="object"&&Object.keys(e.not).length===0)return z.never();throw new Error("not is not supported in Zod (except { not: {} } for never)")}if(e.unevaluatedItems!==void 0)throw new Error("unevaluatedItems is not supported");if(e.unevaluatedProperties!==void 0)throw new Error("unevaluatedProperties is not supported");if(e.if!==void 0||e.then!==void 0||e.else!==void 0)throw new Error("Conditional schemas (if/then/else) are not supported");if(e.dependentSchemas!==void 0||e.dependentRequired!==void 0)throw new Error("dependentSchemas and dependentRequired are not supported");if(e.$ref){let r=e.$ref;if(t.refs.has(r))return t.refs.get(r);if(t.processing.has(r))return z.lazy(()=>{if(!t.refs.has(r))throw new Error(`Circular reference not resolved: ${r}`);return t.refs.get(r)});t.processing.add(r);let i=Sz(r,t),a=Ze(i,t);return t.refs.set(r,a),t.processing.delete(r),a}if(e.enum!==void 0){let r=e.enum;if(t.version==="openapi-3.0"&&e.nullable===true&&r.length===1&&r[0]===null)return z.null();if(r.length===0)return z.never();if(r.length===1)return z.literal(r[0]);if(r.every(a=>typeof a=="string"))return z.enum(r);let i=r.map(a=>z.literal(a));return i.length<2?i[0]:z.union([i[0],i[1],...i.slice(2)])}if(e.const!==void 0)return z.literal(e.const);let n=e.type;if(Array.isArray(n)){let r=n.map(i=>{let a={...e,type:i};return a$(a,t)});return r.length===0?z.never():r.length===1?r[0]:z.union(r)}if(!n)return z.any();let o;switch(n){case "string":{let r=z.string();if(e.format){let i=e.format;i==="email"?r=r.check(z.email()):i==="uri"||i==="uri-reference"?r=r.check(z.url()):i==="uuid"||i==="guid"?r=r.check(z.uuid()):i==="date-time"?r=r.check(z.iso.datetime()):i==="date"?r=r.check(z.iso.date()):i==="time"?r=r.check(z.iso.time()):i==="duration"?r=r.check(z.iso.duration()):i==="ipv4"?r=r.check(z.ipv4()):i==="ipv6"?r=r.check(z.ipv6()):i==="mac"?r=r.check(z.mac()):i==="cidr"?r=r.check(z.cidrv4()):i==="cidr-v6"?r=r.check(z.cidrv6()):i==="base64"?r=r.check(z.base64()):i==="base64url"?r=r.check(z.base64url()):i==="e164"?r=r.check(z.e164()):i==="jwt"?r=r.check(z.jwt()):i==="emoji"?r=r.check(z.emoji()):i==="nanoid"?r=r.check(z.nanoid()):i==="cuid"?r=r.check(z.cuid()):i==="cuid2"?r=r.check(z.cuid2()):i==="ulid"?r=r.check(z.ulid()):i==="xid"?r=r.check(z.xid()):i==="ksuid"&&(r=r.check(z.ksuid()));}typeof e.minLength=="number"&&(r=r.min(e.minLength)),typeof e.maxLength=="number"&&(r=r.max(e.maxLength)),e.pattern&&(r=r.regex(new RegExp(e.pattern))),o=r;break}case "number":case "integer":{let r=n==="integer"?z.number().int():z.number();typeof e.minimum=="number"&&(r=r.min(e.minimum)),typeof e.maximum=="number"&&(r=r.max(e.maximum)),typeof e.exclusiveMinimum=="number"?r=r.gt(e.exclusiveMinimum):e.exclusiveMinimum===true&&typeof e.minimum=="number"&&(r=r.gt(e.minimum)),typeof e.exclusiveMaximum=="number"?r=r.lt(e.exclusiveMaximum):e.exclusiveMaximum===true&&typeof e.maximum=="number"&&(r=r.lt(e.maximum)),typeof e.multipleOf=="number"&&(r=r.multipleOf(e.multipleOf)),o=r;break}case "boolean":{o=z.boolean();break}case "null":{o=z.null();break}case "object":{let r={},i=e.properties||{},a=new Set(e.required||[]);for(let[c,u]of Object.entries(i)){let l=Ze(u,t);r[c]=a.has(c)?l:l.optional();}if(e.propertyNames){let c=Ze(e.propertyNames,t),u=e.additionalProperties&&typeof e.additionalProperties=="object"?Ze(e.additionalProperties,t):z.any();if(Object.keys(r).length===0){o=z.record(c,u);break}let l=z.object(r).passthrough(),d=z.looseRecord(c,u);o=z.intersection(l,d);break}if(e.patternProperties){let c=e.patternProperties,u=Object.keys(c),l=[];for(let m of u){let p=Ze(c[m],t),h=z.string().regex(new RegExp(m));l.push(z.looseRecord(h,p));}let d=[];if(Object.keys(r).length>0&&d.push(z.object(r).passthrough()),d.push(...l),d.length===0)o=z.object({}).passthrough();else if(d.length===1)o=d[0];else {let m=z.intersection(d[0],d[1]);for(let p=2;p<d.length;p++)m=z.intersection(m,d[p]);o=m;}break}let s=z.object(r);e.additionalProperties===false?o=s.strict():typeof e.additionalProperties=="object"?o=s.catchall(Ze(e.additionalProperties,t)):o=s.passthrough();break}case "array":{let r=e.prefixItems,i=e.items;if(r&&Array.isArray(r)){let a=r.map(c=>Ze(c,t)),s=i&&typeof i=="object"&&!Array.isArray(i)?Ze(i,t):void 0;s?o=z.tuple(a).rest(s):o=z.tuple(a),typeof e.minItems=="number"&&(o=o.check(z.minLength(e.minItems))),typeof e.maxItems=="number"&&(o=o.check(z.maxLength(e.maxItems)));}else if(Array.isArray(i)){let a=i.map(c=>Ze(c,t)),s=e.additionalItems&&typeof e.additionalItems=="object"?Ze(e.additionalItems,t):void 0;s?o=z.tuple(a).rest(s):o=z.tuple(a),typeof e.minItems=="number"&&(o=o.check(z.minLength(e.minItems))),typeof e.maxItems=="number"&&(o=o.check(z.maxLength(e.maxItems)));}else if(i!==void 0){let a=Ze(i,t),s=z.array(a);typeof e.minItems=="number"&&(s=s.min(e.minItems)),typeof e.maxItems=="number"&&(s=s.max(e.maxItems)),o=s;}else o=z.array(z.any());break}default:throw new Error(`Unsupported type: ${n}`)}return e.description&&(o=o.describe(e.description)),e.default!==void 0&&(o=o.default(e.default)),o}function Ze(e,t){if(typeof e=="boolean")return e?z.any():z.never();let n=a$(e,t),o=e.type||e.enum!==void 0||e.const!==void 0;if(e.anyOf&&Array.isArray(e.anyOf)){let s=e.anyOf.map(u=>Ze(u,t)),c=z.union(s);n=o?z.intersection(n,c):c;}if(e.oneOf&&Array.isArray(e.oneOf)){let s=e.oneOf.map(u=>Ze(u,t)),c=z.xor(s);n=o?z.intersection(n,c):c;}if(e.allOf&&Array.isArray(e.allOf))if(e.allOf.length===0)n=o?n:z.any();else {let s=o?n:Ze(e.allOf[0],t),c=o?0:1;for(let u=c;u<e.allOf.length;u++)s=z.intersection(s,Ze(e.allOf[u],t));n=s;}e.nullable===true&&t.version==="openapi-3.0"&&(n=z.nullable(n)),e.readOnly===true&&(n=z.readonly(n));let r={},i=["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"];for(let s of i)s in e&&(r[s]=e[s]);let a=["contentEncoding","contentMediaType","contentSchema"];for(let s of a)s in e&&(r[s]=e[s]);for(let s of Object.keys(e))xz.has(s)||(r[s]=e[s]);return Object.keys(r).length>0&&t.registry.add(n,r),n}function s$(e,t){if(typeof e=="boolean")return e?z.any():z.never();let n=wz(e,t?.defaultTarget),o=e.$defs||e.definitions||{},r={version:n,defs:o,refs:new Map,processing:new Set,rootSchema:e,registry:t?.registry??Te};return Ze(e,r)}var zf={};Nt(zf,{bigint:()=>Pz,boolean:()=>Iz,date:()=>jz,number:()=>Tz,string:()=>zz});function zz(e){return Ic(Yn,e)}function Tz(e){return Cc(eo,e)}function Iz(e){return Fc(to,e)}function Pz(e){return Jc(ro,e)}function jz(e){return ru(Mi,e)}$e(kc());var If="2025-11-25";var c$=[If,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],br="io.modelcontextprotocol/related-task",Bu="2.0",Se=Gu(e=>e!==null&&(typeof e=="object"||typeof e=="function")),u$=fe([y(),ae().int()]),l$=y();je({ttl:ae().optional(),pollInterval:ae().optional()});var Oz=P({ttl:ae().optional()}),Rz=P({taskId:y()}),Pf=je({progressToken:u$.optional(),[br]:Rz.optional()}),at=P({_meta:Pf.optional()}),Ki=at.extend({task:Oz.optional()}),d$=e=>Ki.safeParse(e).success,Oe=P({method:y(),params:at.loose().optional()}),lt=P({_meta:Pf.optional()}),dt=P({method:y(),params:lt.loose().optional()}),Re=je({_meta:Pf.optional()}),Hu=fe([y(),ae().int()]),p$=P({jsonrpc:R(Bu),id:Hu,...Oe.shape}).strict(),jf=e=>p$.safeParse(e).success,m$=P({jsonrpc:R(Bu),...dt.shape}).strict(),f$=e=>m$.safeParse(e).success,Ef=P({jsonrpc:R(Bu),id:Hu,result:Re}).strict(),Bi=e=>Ef.safeParse(e).success;var re;(function(e){e[e.ConnectionClosed=-32e3]="ConnectionClosed",e[e.RequestTimeout=-32001]="RequestTimeout",e[e.ParseError=-32700]="ParseError",e[e.InvalidRequest=-32600]="InvalidRequest",e[e.MethodNotFound=-32601]="MethodNotFound",e[e.InvalidParams=-32602]="InvalidParams",e[e.InternalError=-32603]="InternalError",e[e.UrlElicitationRequired=-32042]="UrlElicitationRequired";})(re||(re={}));var Of=P({jsonrpc:R(Bu),id:Hu.optional(),error:P({code:ae().int(),message:y(),data:me().optional()})}).strict();var h$=e=>Of.safeParse(e).success;var g$=fe([p$,m$,Ef,Of]);fe([Ef,Of]);var Wu=Re.strict(),Nz=lt.extend({requestId:Hu.optional(),reason:y().optional()}),Xu=dt.extend({method:R("notifications/cancelled"),params:Nz}),Dz=P({src:y(),mimeType:y().optional(),sizes:X(y()).optional(),theme:Ee(["light","dark"]).optional()}),Hi=P({icons:X(Dz).optional()}),oo=P({name:y(),title:y().optional()}),y$=oo.extend({...oo.shape,...Hi.shape,version:y(),websiteUrl:y().optional(),description:y().optional()}),Cz=no(P({applyDefaults:ke().optional()}),le(y(),me())),Az=Gi(e=>e&&typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length===0?{form:{}}:e,no(P({form:Cz.optional(),url:Se.optional()}),le(y(),me()).optional())),Zz=je({list:Se.optional(),cancel:Se.optional(),requests:je({sampling:je({createMessage:Se.optional()}).optional(),elicitation:je({create:Se.optional()}).optional()}).optional()}),Uz=je({list:Se.optional(),cancel:Se.optional(),requests:je({tools:je({call:Se.optional()}).optional()}).optional()}),Mz=P({experimental:le(y(),Se).optional(),sampling:P({context:Se.optional(),tools:Se.optional()}).optional(),elicitation:Az.optional(),roots:P({listChanged:ke().optional()}).optional(),tasks:Zz.optional(),extensions:le(y(),Se).optional()}),Lz=at.extend({protocolVersion:y(),capabilities:Mz,clientInfo:y$}),Rf=Oe.extend({method:R("initialize"),params:Lz});var qz=P({experimental:le(y(),Se).optional(),logging:Se.optional(),completions:Se.optional(),prompts:P({listChanged:ke().optional()}).optional(),resources:P({subscribe:ke().optional(),listChanged:ke().optional()}).optional(),tools:P({listChanged:ke().optional()}).optional(),tasks:Uz.optional(),extensions:le(y(),Se).optional()}),Fz=Re.extend({protocolVersion:y(),capabilities:qz,serverInfo:y$,instructions:y().optional()}),Nf=dt.extend({method:R("notifications/initialized"),params:lt.optional()});var Yu=Oe.extend({method:R("ping"),params:at.optional()}),Vz=P({progress:ae(),total:ge(ae()),message:ge(y())}),Jz=P({...lt.shape,...Vz.shape,progressToken:u$}),Qu=dt.extend({method:R("notifications/progress"),params:Jz}),Gz=at.extend({cursor:l$.optional()}),Wi=Oe.extend({params:Gz.optional()}),Xi=Re.extend({nextCursor:l$.optional()}),Kz=Ee(["working","input_required","completed","failed","cancelled"]),Yi=P({taskId:y(),status:Kz,ttl:fe([ae(),Ui()]),createdAt:y(),lastUpdatedAt:y(),pollInterval:ge(ae()),statusMessage:ge(y())}),io=Re.extend({task:Yi}),Bz=lt.merge(Yi),Qi=dt.extend({method:R("notifications/tasks/status"),params:Bz}),el=Oe.extend({method:R("tasks/get"),params:at.extend({taskId:y()})}),tl=Re.merge(Yi),rl=Oe.extend({method:R("tasks/result"),params:at.extend({taskId:y()})});Re.loose();var nl=Wi.extend({method:R("tasks/list")}),ol=Xi.extend({tasks:X(Yi)}),il=Oe.extend({method:R("tasks/cancel"),params:at.extend({taskId:y()})}),v$=Re.merge(Yi),_$=P({uri:y(),mimeType:ge(y()),_meta:le(y(),me()).optional()}),$$=_$.extend({text:y()}),Df=y().refine(e=>{try{return atob(e),!0}catch{return false}},{message:"Invalid Base64 string"}),k$=_$.extend({blob:Df}),ea=Ee(["user","assistant"]),ao=P({audience:X(ea).optional(),priority:ae().min(0).max(1).optional(),lastModified:kr.datetime({offset:true}).optional()}),b$=P({...oo.shape,...Hi.shape,uri:y(),description:ge(y()),mimeType:ge(y()),size:ge(ae()),annotations:ao.optional(),_meta:ge(je({}))}),Hz=P({...oo.shape,...Hi.shape,uriTemplate:y(),description:ge(y()),mimeType:ge(y()),annotations:ao.optional(),_meta:ge(je({}))}),Wz=Wi.extend({method:R("resources/list")}),Xz=Xi.extend({resources:X(b$)}),Yz=Wi.extend({method:R("resources/templates/list")}),Qz=Xi.extend({resourceTemplates:X(Hz)}),Cf=at.extend({uri:y()}),eT=Cf,tT=Oe.extend({method:R("resources/read"),params:eT}),rT=Re.extend({contents:X(fe([$$,k$]))}),nT=dt.extend({method:R("notifications/resources/list_changed"),params:lt.optional()}),oT=Cf,iT=Oe.extend({method:R("resources/subscribe"),params:oT}),aT=Cf,sT=Oe.extend({method:R("resources/unsubscribe"),params:aT}),cT=lt.extend({uri:y()}),uT=dt.extend({method:R("notifications/resources/updated"),params:cT}),lT=P({name:y(),description:ge(y()),required:ge(ke())}),dT=P({...oo.shape,...Hi.shape,description:ge(y()),arguments:ge(X(lT)),_meta:ge(je({}))}),pT=Wi.extend({method:R("prompts/list")}),mT=Xi.extend({prompts:X(dT)}),fT=at.extend({name:y(),arguments:le(y(),y()).optional()}),hT=Oe.extend({method:R("prompts/get"),params:fT}),Af=P({type:R("text"),text:y(),annotations:ao.optional(),_meta:le(y(),me()).optional()}),Zf=P({type:R("image"),data:Df,mimeType:y(),annotations:ao.optional(),_meta:le(y(),me()).optional()}),Uf=P({type:R("audio"),data:Df,mimeType:y(),annotations:ao.optional(),_meta:le(y(),me()).optional()}),gT=P({type:R("tool_use"),name:y(),id:y(),input:le(y(),me()),_meta:le(y(),me()).optional()}),yT=P({type:R("resource"),resource:fe([$$,k$]),annotations:ao.optional(),_meta:le(y(),me()).optional()}),vT=b$.extend({type:R("resource_link")}),Mf=fe([Af,Zf,Uf,vT,yT]),_T=P({role:ea,content:Mf}),$T=Re.extend({description:y().optional(),messages:X(_T)}),kT=dt.extend({method:R("notifications/prompts/list_changed"),params:lt.optional()}),bT=P({title:y().optional(),readOnlyHint:ke().optional(),destructiveHint:ke().optional(),idempotentHint:ke().optional(),openWorldHint:ke().optional()}),xT=P({taskSupport:Ee(["required","optional","forbidden"]).optional()}),x$=P({...oo.shape,...Hi.shape,description:y().optional(),inputSchema:P({type:R("object"),properties:le(y(),Se).optional(),required:X(y()).optional()}).catchall(me()),outputSchema:P({type:R("object"),properties:le(y(),Se).optional(),required:X(y()).optional()}).catchall(me()).optional(),annotations:bT.optional(),execution:xT.optional(),_meta:le(y(),me()).optional()}),Lf=Wi.extend({method:R("tools/list")}),wT=Xi.extend({tools:X(x$)}),al=Re.extend({content:X(Mf).default([]),structuredContent:le(y(),me()).optional(),isError:ke().optional()});al.or(Re.extend({toolResult:me()}));var ST=Ki.extend({name:y(),arguments:le(y(),me()).optional()}),ta=Oe.extend({method:R("tools/call"),params:ST}),zT=dt.extend({method:R("notifications/tools/list_changed"),params:lt.optional()});P({autoRefresh:ke().default(true),debounceMs:ae().int().nonnegative().default(300)});var ra=Ee(["debug","info","notice","warning","error","critical","alert","emergency"]),TT=at.extend({level:ra}),qf=Oe.extend({method:R("logging/setLevel"),params:TT}),IT=lt.extend({level:ra,logger:y().optional(),data:me()}),PT=dt.extend({method:R("notifications/message"),params:IT}),jT=P({name:y().optional()}),ET=P({hints:X(jT).optional(),costPriority:ae().min(0).max(1).optional(),speedPriority:ae().min(0).max(1).optional(),intelligencePriority:ae().min(0).max(1).optional()}),OT=P({mode:Ee(["auto","required","none"]).optional()}),RT=P({type:R("tool_result"),toolUseId:y().describe("The unique identifier for the corresponding tool call."),content:X(Mf).default([]),structuredContent:P({}).loose().optional(),isError:ke().optional(),_meta:le(y(),me()).optional()}),NT=Fi("type",[Af,Zf,Uf]),Ku=Fi("type",[Af,Zf,Uf,gT,RT]),DT=P({role:ea,content:fe([Ku,X(Ku)]),_meta:le(y(),me()).optional()}),CT=Ki.extend({messages:X(DT),modelPreferences:ET.optional(),systemPrompt:y().optional(),includeContext:Ee(["none","thisServer","allServers"]).optional(),temperature:ae().optional(),maxTokens:ae().int(),stopSequences:X(y()).optional(),metadata:Se.optional(),tools:X(x$).optional(),toolChoice:OT.optional()}),AT=Oe.extend({method:R("sampling/createMessage"),params:CT}),na=Re.extend({model:y(),stopReason:ge(Ee(["endTurn","stopSequence","maxTokens"]).or(y())),role:ea,content:NT}),Ff=Re.extend({model:y(),stopReason:ge(Ee(["endTurn","stopSequence","maxTokens","toolUse"]).or(y())),role:ea,content:fe([Ku,X(Ku)])}),ZT=P({type:R("boolean"),title:y().optional(),description:y().optional(),default:ke().optional()}),UT=P({type:R("string"),title:y().optional(),description:y().optional(),minLength:ae().optional(),maxLength:ae().optional(),format:Ee(["email","uri","date","date-time"]).optional(),default:y().optional()}),MT=P({type:Ee(["number","integer"]),title:y().optional(),description:y().optional(),minimum:ae().optional(),maximum:ae().optional(),default:ae().optional()}),LT=P({type:R("string"),title:y().optional(),description:y().optional(),enum:X(y()),default:y().optional()}),qT=P({type:R("string"),title:y().optional(),description:y().optional(),oneOf:X(P({const:y(),title:y()})),default:y().optional()}),FT=P({type:R("string"),title:y().optional(),description:y().optional(),enum:X(y()),enumNames:X(y()).optional(),default:y().optional()}),VT=fe([LT,qT]),JT=P({type:R("array"),title:y().optional(),description:y().optional(),minItems:ae().optional(),maxItems:ae().optional(),items:P({type:R("string"),enum:X(y())}),default:X(y()).optional()}),GT=P({type:R("array"),title:y().optional(),description:y().optional(),minItems:ae().optional(),maxItems:ae().optional(),items:P({anyOf:X(P({const:y(),title:y()}))}),default:X(y()).optional()}),KT=fe([JT,GT]),BT=fe([FT,VT,KT]),HT=fe([BT,ZT,UT,MT]),WT=Ki.extend({mode:R("form").optional(),message:y(),requestedSchema:P({type:R("object"),properties:le(y(),HT),required:X(y()).optional()})}),XT=Ki.extend({mode:R("url"),message:y(),elicitationId:y(),url:y().url()}),YT=fe([WT,XT]),QT=Oe.extend({method:R("elicitation/create"),params:YT}),eI=lt.extend({elicitationId:y()}),tI=dt.extend({method:R("notifications/elicitation/complete"),params:eI}),so=Re.extend({action:Ee(["accept","decline","cancel"]),content:Gi(e=>e===null?void 0:e,le(y(),fe([y(),ae(),ke(),X(y())])).optional())}),rI=P({type:R("ref/resource"),uri:y()});var nI=P({type:R("ref/prompt"),name:y()}),oI=at.extend({ref:fe([nI,rI]),argument:P({name:y(),value:y()}),context:P({arguments:le(y(),y()).optional()}).optional()}),iI=Oe.extend({method:R("completion/complete"),params:oI});var aI=Re.extend({completion:je({values:X(y()).max(100),total:ge(ae().int()),hasMore:ge(ke())})}),sI=P({uri:y().startsWith("file://"),name:y().optional(),_meta:le(y(),me()).optional()}),cI=Oe.extend({method:R("roots/list"),params:at.optional()}),Vf=Re.extend({roots:X(sI)}),uI=dt.extend({method:R("notifications/roots/list_changed"),params:lt.optional()});fe([Yu,Rf,iI,qf,hT,pT,Wz,Yz,tT,iT,sT,ta,Lf,el,rl,nl,il]);fe([Xu,Qu,Nf,uI,Qi]);fe([Wu,na,Ff,so,Vf,tl,ol,io]);fe([Yu,AT,QT,cI,el,rl,nl,il]);fe([Xu,Qu,PT,uT,nT,zT,kT,Qi,tI]);fe([Wu,Fz,aI,$T,mT,Xz,Qz,rT,al,wT,tl,ol,io]);var K=class e extends Error{constructor(t,n,o){super(`MCP error ${t}: ${n}`),this.code=t,this.data=o,this.name="McpError";}static fromError(t,n,o){if(t===re.UrlElicitationRequired&&o){let r=o;if(r.elicitations)return new Tf(r.elicitations,n)}return new e(t,n,o)}},Tf=class extends K{constructor(t,n=`URL elicitation${t.length>1?"s":""} required`){super(re.UrlElicitationRequired,n,{elicitations:t});}get elicitations(){return this.data?.elicitations??[]}};function xr(e){return e==="completed"||e==="failed"||e==="cancelled"}new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function Jf(e){let n=hu(e)?.method;if(!n)throw new Error("Schema is missing a method literal");let o=Wv(n);if(typeof o!="string")throw new Error("Schema method literal must be a string");return o}function Gf(e,t){let n=$r(e,t);if(!n.success)throw n.error;return n.data}var hI=6e4,sl=class{constructor(t){this._options=t,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(Xu,n=>{this._oncancel(n);}),this.setNotificationHandler(Qu,n=>{this._onprogress(n);}),this.setRequestHandler(Yu,n=>({})),this._taskStore=t?.taskStore,this._taskMessageQueue=t?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(el,async(n,o)=>{let r=await this._taskStore.getTask(n.params.taskId,o.sessionId);if(!r)throw new K(re.InvalidParams,"Failed to retrieve task: Task not found");return {...r}}),this.setRequestHandler(rl,async(n,o)=>{let r=async()=>{let i=n.params.taskId;if(this._taskMessageQueue){let s;for(;s=await this._taskMessageQueue.dequeue(i,o.sessionId);){if(s.type==="response"||s.type==="error"){let c=s.message,u=c.id,l=this._requestResolvers.get(u);if(l)if(this._requestResolvers.delete(u),s.type==="response")l(c);else {let d=c,m=new K(d.error.code,d.error.message,d.error.data);l(m);}else {let d=s.type==="response"?"Response":"Error";this._onerror(new Error(`${d} handler missing for request ${u}`));}continue}await this._transport?.send(s.message,{relatedRequestId:o.requestId});}}let a=await this._taskStore.getTask(i,o.sessionId);if(!a)throw new K(re.InvalidParams,`Task not found: ${i}`);if(!xr(a.status))return await this._waitForTaskUpdate(i,o.signal),await r();if(xr(a.status)){let s=await this._taskStore.getTaskResult(i,o.sessionId);return this._clearTaskQueue(i),{...s,_meta:{...s._meta,[br]:{taskId:i}}}}return await r()};return await r()}),this.setRequestHandler(nl,async(n,o)=>{try{let{tasks:r,nextCursor:i}=await this._taskStore.listTasks(n.params?.cursor,o.sessionId);return {tasks:r,nextCursor:i,_meta:{}}}catch(r){throw new K(re.InvalidParams,`Failed to list tasks: ${r instanceof Error?r.message:String(r)}`)}}),this.setRequestHandler(il,async(n,o)=>{try{let r=await this._taskStore.getTask(n.params.taskId,o.sessionId);if(!r)throw new K(re.InvalidParams,`Task not found: ${n.params.taskId}`);if(xr(r.status))throw new K(re.InvalidParams,`Cannot cancel task in terminal status: ${r.status}`);await this._taskStore.updateTaskStatus(n.params.taskId,"cancelled","Client cancelled task execution.",o.sessionId),this._clearTaskQueue(n.params.taskId);let i=await this._taskStore.getTask(n.params.taskId,o.sessionId);if(!i)throw new K(re.InvalidParams,`Task not found after cancellation: ${n.params.taskId}`);return {_meta:{},...i}}catch(r){throw r instanceof K?r:new K(re.InvalidRequest,`Failed to cancel task: ${r instanceof Error?r.message:String(r)}`)}}));}async _oncancel(t){if(!t.params.requestId)return;this._requestHandlerAbortControllers.get(t.params.requestId)?.abort(t.params.reason);}_setupTimeout(t,n,o,r,i=false){this._timeoutInfo.set(t,{timeoutId:setTimeout(r,n),startTime:Date.now(),timeout:n,maxTotalTimeout:o,resetTimeoutOnProgress:i,onTimeout:r});}_resetTimeout(t){let n=this._timeoutInfo.get(t);if(!n)return false;let o=Date.now()-n.startTime;if(n.maxTotalTimeout&&o>=n.maxTotalTimeout)throw this._timeoutInfo.delete(t),K.fromError(re.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:n.maxTotalTimeout,totalElapsed:o});return clearTimeout(n.timeoutId),n.timeoutId=setTimeout(n.onTimeout,n.timeout),true}_cleanupTimeout(t){let n=this._timeoutInfo.get(t);n&&(clearTimeout(n.timeoutId),this._timeoutInfo.delete(t));}async connect(t){if(this._transport)throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=t;let n=this.transport?.onclose;this._transport.onclose=()=>{n?.(),this._onclose();};let o=this.transport?.onerror;this._transport.onerror=i=>{o?.(i),this._onerror(i);};let r=this._transport?.onmessage;this._transport.onmessage=(i,a)=>{r?.(i,a),Bi(i)||h$(i)?this._onresponse(i):jf(i)?this._onrequest(i,a):f$(i)?this._onnotification(i):this._onerror(new Error(`Unknown message type: ${JSON.stringify(i)}`));},await this._transport.start();}_onclose(){let t=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let o of this._timeoutInfo.values())clearTimeout(o.timeoutId);this._timeoutInfo.clear();for(let o of this._requestHandlerAbortControllers.values())o.abort();this._requestHandlerAbortControllers.clear();let n=K.fromError(re.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let o of t.values())o(n);}_onerror(t){this.onerror?.(t);}_onnotification(t){let n=this._notificationHandlers.get(t.method)??this.fallbackNotificationHandler;n!==void 0&&Promise.resolve().then(()=>n(t)).catch(o=>this._onerror(new Error(`Uncaught error in notification handler: ${o}`)));}_onrequest(t,n){let o=this._requestHandlers.get(t.method)??this.fallbackRequestHandler,r=this._transport,i=t.params?._meta?.[br]?.taskId;if(o===void 0){let l={jsonrpc:"2.0",id:t.id,error:{code:re.MethodNotFound,message:"Method not found"}};i&&this._taskMessageQueue?this._enqueueTaskMessage(i,{type:"error",message:l,timestamp:Date.now()},r?.sessionId).catch(d=>this._onerror(new Error(`Failed to enqueue error response: ${d}`))):r?.send(l).catch(d=>this._onerror(new Error(`Failed to send an error response: ${d}`)));return}let a=new AbortController;this._requestHandlerAbortControllers.set(t.id,a);let s=d$(t.params)?t.params.task:void 0,c=this._taskStore?this.requestTaskStore(t,r?.sessionId):void 0,u={signal:a.signal,sessionId:r?.sessionId,_meta:t.params?._meta,sendNotification:async l=>{if(a.signal.aborted)return;let d={relatedRequestId:t.id};i&&(d.relatedTask={taskId:i}),await this.notification(l,d);},sendRequest:async(l,d,m)=>{if(a.signal.aborted)throw new K(re.ConnectionClosed,"Request was cancelled");let p={...m,relatedRequestId:t.id};i&&!p.relatedTask&&(p.relatedTask={taskId:i});let h=p.relatedTask?.taskId??i;return h&&c&&await c.updateTaskStatus(h,"input_required"),await this.request(l,d,p)},authInfo:n?.authInfo,requestId:t.id,requestInfo:n?.requestInfo,taskId:i,taskStore:c,taskRequestedTtl:s?.ttl,closeSSEStream:n?.closeSSEStream,closeStandaloneSSEStream:n?.closeStandaloneSSEStream};Promise.resolve().then(()=>{s&&this.assertTaskHandlerCapability(t.method);}).then(()=>o(t,u)).then(async l=>{if(a.signal.aborted)return;let d={result:l,jsonrpc:"2.0",id:t.id};i&&this._taskMessageQueue?await this._enqueueTaskMessage(i,{type:"response",message:d,timestamp:Date.now()},r?.sessionId):await r?.send(d);},async l=>{if(a.signal.aborted)return;let d={jsonrpc:"2.0",id:t.id,error:{code:Number.isSafeInteger(l.code)?l.code:re.InternalError,message:l.message??"Internal error",...l.data!==void 0&&{data:l.data}}};i&&this._taskMessageQueue?await this._enqueueTaskMessage(i,{type:"error",message:d,timestamp:Date.now()},r?.sessionId):await r?.send(d);}).catch(l=>this._onerror(new Error(`Failed to send response: ${l}`))).finally(()=>{this._requestHandlerAbortControllers.get(t.id)===a&&this._requestHandlerAbortControllers.delete(t.id);});}_onprogress(t){let{progressToken:n,...o}=t.params,r=Number(n),i=this._progressHandlers.get(r);if(!i){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(t)}`));return}let a=this._responseHandlers.get(r),s=this._timeoutInfo.get(r);if(s&&a&&s.resetTimeoutOnProgress)try{this._resetTimeout(r);}catch(c){this._responseHandlers.delete(r),this._progressHandlers.delete(r),this._cleanupTimeout(r),a(c);return}i(o);}_onresponse(t){let n=Number(t.id),o=this._requestResolvers.get(n);if(o){if(this._requestResolvers.delete(n),Bi(t))o(t);else {let a=new K(t.error.code,t.error.message,t.error.data);o(a);}return}let r=this._responseHandlers.get(n);if(r===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(t)}`));return}this._responseHandlers.delete(n),this._cleanupTimeout(n);let i=false;if(Bi(t)&&t.result&&typeof t.result=="object"){let a=t.result;if(a.task&&typeof a.task=="object"){let s=a.task;typeof s.taskId=="string"&&(i=true,this._taskProgressTokens.set(s.taskId,n));}}if(i||this._progressHandlers.delete(n),Bi(t))r(t);else {let a=K.fromError(t.error.code,t.error.message,t.error.data);r(a);}}get transport(){return this._transport}async close(){await this._transport?.close();}async*requestStream(t,n,o){let{task:r}=o??{};if(!r){try{yield {type:"result",result:await this.request(t,n,o)};}catch(a){yield {type:"error",error:a instanceof K?a:new K(re.InternalError,String(a))};}return}let i;try{let a=await this.request(t,io,o);if(a.task)i=a.task.taskId,yield {type:"taskCreated",task:a.task};else throw new K(re.InternalError,"Task creation did not return a task");for(;;){let s=await this.getTask({taskId:i},o);if(yield {type:"taskStatus",task:s},xr(s.status)){s.status==="completed"?yield {type:"result",result:await this.getTaskResult({taskId:i},n,o)}:s.status==="failed"?yield {type:"error",error:new K(re.InternalError,`Task ${i} failed`)}:s.status==="cancelled"&&(yield {type:"error",error:new K(re.InternalError,`Task ${i} was cancelled`)});return}if(s.status==="input_required"){yield {type:"result",result:await this.getTaskResult({taskId:i},n,o)};return}let c=s.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(u=>setTimeout(u,c)),o?.signal?.throwIfAborted();}}catch(a){yield {type:"error",error:a instanceof K?a:new K(re.InternalError,String(a))};}}request(t,n,o){let{relatedRequestId:r,resumptionToken:i,onresumptiontoken:a,task:s,relatedTask:c}=o??{};return new Promise((u,l)=>{let d=A=>{l(A);};if(!this._transport){d(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===true)try{this.assertCapabilityForMethod(t.method),s&&this.assertTaskCapability(t.method);}catch(A){d(A);return}o?.signal?.throwIfAborted();let m=this._requestMessageId++,p={...t,jsonrpc:"2.0",id:m};o?.onprogress&&(this._progressHandlers.set(m,o.onprogress),p.params={...t.params,_meta:{...t.params?._meta||{},progressToken:m}}),s&&(p.params={...p.params,task:s}),c&&(p.params={...p.params,_meta:{...p.params?._meta||{},[br]:c}});let h=A=>{this._responseHandlers.delete(m),this._progressHandlers.delete(m),this._cleanupTimeout(m),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:m,reason:String(A)}},{relatedRequestId:r,resumptionToken:i,onresumptiontoken:a}).catch(q=>this._onerror(new Error(`Failed to send cancellation: ${q}`)));let N=A instanceof K?A:new K(re.RequestTimeout,String(A));l(N);};this._responseHandlers.set(m,A=>{if(!o?.signal?.aborted){if(A instanceof Error)return l(A);try{let N=$r(n,A.result);N.success?u(N.data):l(N.error);}catch(N){l(N);}}}),o?.signal?.addEventListener("abort",()=>{h(o?.signal?.reason);});let v=o?.timeout??hI,w=()=>h(K.fromError(re.RequestTimeout,"Request timed out",{timeout:v}));this._setupTimeout(m,v,o?.maxTotalTimeout,w,o?.resetTimeoutOnProgress??false);let T=c?.taskId;if(T){let A=N=>{let q=this._responseHandlers.get(m);q?q(N):this._onerror(new Error(`Response handler missing for side-channeled request ${m}`));};this._requestResolvers.set(m,A),this._enqueueTaskMessage(T,{type:"request",message:p,timestamp:Date.now()}).catch(N=>{this._cleanupTimeout(m),l(N);});}else this._transport.send(p,{relatedRequestId:r,resumptionToken:i,onresumptiontoken:a}).catch(A=>{this._cleanupTimeout(m),l(A);});})}async getTask(t,n){return this.request({method:"tasks/get",params:t},tl,n)}async getTaskResult(t,n,o){return this.request({method:"tasks/result",params:t},n,o)}async listTasks(t,n){return this.request({method:"tasks/list",params:t},ol,n)}async cancelTask(t,n){return this.request({method:"tasks/cancel",params:t},v$,n)}async notification(t,n){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(t.method);let o=n?.relatedTask?.taskId;if(o){let s={...t,jsonrpc:"2.0",params:{...t.params,_meta:{...t.params?._meta||{},[br]:n.relatedTask}}};await this._enqueueTaskMessage(o,{type:"notification",message:s,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(t.method)&&!t.params&&!n?.relatedRequestId&&!n?.relatedTask){if(this._pendingDebouncedNotifications.has(t.method))return;this._pendingDebouncedNotifications.add(t.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(t.method),!this._transport)return;let s={...t,jsonrpc:"2.0"};n?.relatedTask&&(s={...s,params:{...s.params,_meta:{...s.params?._meta||{},[br]:n.relatedTask}}}),this._transport?.send(s,n).catch(c=>this._onerror(c));});return}let a={...t,jsonrpc:"2.0"};n?.relatedTask&&(a={...a,params:{...a.params,_meta:{...a.params?._meta||{},[br]:n.relatedTask}}}),await this._transport.send(a,n);}setRequestHandler(t,n){let o=Jf(t);this.assertRequestHandlerCapability(o),this._requestHandlers.set(o,(r,i)=>{let a=Gf(t,r);return Promise.resolve(n(a,i))});}removeRequestHandler(t){this._requestHandlers.delete(t);}assertCanSetRequestHandler(t){if(this._requestHandlers.has(t))throw new Error(`A request handler for ${t} already exists, which would be overridden`)}setNotificationHandler(t,n){let o=Jf(t);this._notificationHandlers.set(o,r=>{let i=Gf(t,r);return Promise.resolve(n(i))});}removeNotificationHandler(t){this._notificationHandlers.delete(t);}_cleanupTaskProgressHandler(t){let n=this._taskProgressTokens.get(t);n!==void 0&&(this._progressHandlers.delete(n),this._taskProgressTokens.delete(t));}async _enqueueTaskMessage(t,n,o){if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let r=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(t,n,o,r);}async _clearTaskQueue(t,n){if(this._taskMessageQueue){let o=await this._taskMessageQueue.dequeueAll(t,n);for(let r of o)if(r.type==="request"&&jf(r.message)){let i=r.message.id,a=this._requestResolvers.get(i);a?(a(new K(re.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(i)):this._onerror(new Error(`Resolver missing for request ${i} during task ${t} cleanup`));}}}async _waitForTaskUpdate(t,n){let o=this._options?.defaultTaskPollInterval??1e3;try{let r=await this._taskStore?.getTask(t);r?.pollInterval&&(o=r.pollInterval);}catch{}return new Promise((r,i)=>{if(n.aborted){i(new K(re.InvalidRequest,"Request cancelled"));return}let a=setTimeout(r,o);n.addEventListener("abort",()=>{clearTimeout(a),i(new K(re.InvalidRequest,"Request cancelled"));},{once:true});})}requestTaskStore(t,n){let o=this._taskStore;if(!o)throw new Error("No task store configured");return {createTask:async r=>{if(!t)throw new Error("No request provided");return await o.createTask(r,t.id,{method:t.method,params:t.params},n)},getTask:async r=>{let i=await o.getTask(r,n);if(!i)throw new K(re.InvalidParams,"Failed to retrieve task: Task not found");return i},storeTaskResult:async(r,i,a)=>{await o.storeTaskResult(r,i,a,n);let s=await o.getTask(r,n);if(s){let c=Qi.parse({method:"notifications/tasks/status",params:s});await this.notification(c),xr(s.status)&&this._cleanupTaskProgressHandler(r);}},getTaskResult:r=>o.getTaskResult(r,n),updateTaskStatus:async(r,i,a)=>{let s=await o.getTask(r,n);if(!s)throw new K(re.InvalidParams,`Task "${r}" not found - it may have been cleaned up`);if(xr(s.status))throw new K(re.InvalidParams,`Cannot update task "${r}" from terminal status "${s.status}" to "${i}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await o.updateTaskStatus(r,i,a,n);let c=await o.getTask(r,n);if(c){let u=Qi.parse({method:"notifications/tasks/status",params:c});await this.notification(u),xr(c.status)&&this._cleanupTaskProgressHandler(r);}},listTasks:r=>o.listTasks(r,n)}}};function w$(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function S$(e,t){let n={...e};for(let o in t){let r=o,i=t[r];if(i===void 0)continue;let a=n[r];w$(a)&&w$(i)?n[r]={...a,...i}:n[r]=i;}return n}var dx=ny(Eg()),px=ny(lx());function aN(){let e=new dx.default({strict:false,validateFormats:true,validateSchema:false,allErrors:true});return (0, px.default)(e),e}var Fl=class{constructor(t){this._ajv=t??aN();}getValidator(t){let n="$id"in t&&typeof t.$id=="string"?this._ajv.getSchema(t.$id)??this._ajv.compile(t):this._ajv.compile(t);return o=>n(o)?{valid:true,data:o,errorMessage:void 0}:{valid:false,data:void 0,errorMessage:this._ajv.errorsText(n.errors)}}};var Vl=class{constructor(t){this._server=t;}requestStream(t,n,o){return this._server.requestStream(t,n,o)}createMessageStream(t,n){let o=this._server.getClientCapabilities();if((t.tools||t.toolChoice)&&!o?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(t.messages.length>0){let r=t.messages[t.messages.length-1],i=Array.isArray(r.content)?r.content:[r.content],a=i.some(l=>l.type==="tool_result"),s=t.messages.length>1?t.messages[t.messages.length-2]:void 0,c=s?Array.isArray(s.content)?s.content:[s.content]:[],u=c.some(l=>l.type==="tool_use");if(a){if(i.some(l=>l.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!u)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(u){let l=new Set(c.filter(m=>m.type==="tool_use").map(m=>m.id)),d=new Set(i.filter(m=>m.type==="tool_result").map(m=>m.toolUseId));if(l.size!==d.size||![...l].every(m=>d.has(m)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return this.requestStream({method:"sampling/createMessage",params:t},na,n)}elicitInputStream(t,n){let o=this._server.getClientCapabilities(),r=t.mode??"form";switch(r){case "url":{if(!o?.elicitation?.url)throw new Error("Client does not support url elicitation.");break}case "form":{if(!o?.elicitation?.form)throw new Error("Client does not support form elicitation.");break}}let i=r==="form"&&t.mode===void 0?{...t,mode:"form"}:t;return this.requestStream({method:"elicitation/create",params:i},so,n)}async getTask(t,n){return this._server.getTask({taskId:t},n)}async getTaskResult(t,n,o){return this._server.getTaskResult({taskId:t},n,o)}async listTasks(t,n){return this._server.listTasks(t?{cursor:t}:void 0,n)}async cancelTask(t,n){return this._server.cancelTask({taskId:t},n)}};function mx(e,t,n){if(!e)throw new Error(`${n} does not support task creation (required for ${t})`);switch(t){case "tools/call":if(!e.tools?.call)throw new Error(`${n} does not support task creation for tools/call (required for ${t})`);break;}}function fx(e,t,n){if(!e)throw new Error(`${n} does not support task creation (required for ${t})`);switch(t){case "sampling/createMessage":if(!e.sampling?.createMessage)throw new Error(`${n} does not support task creation for sampling/createMessage (required for ${t})`);break;case "elicitation/create":if(!e.elicitation?.create)throw new Error(`${n} does not support task creation for elicitation/create (required for ${t})`);break;}}var Jl=class extends sl{constructor(t,n){super(n),this._serverInfo=t,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(ra.options.map((o,r)=>[o,r])),this.isMessageIgnored=(o,r)=>{let i=this._loggingLevels.get(r);return i?this.LOG_LEVEL_SEVERITY.get(o)<this.LOG_LEVEL_SEVERITY.get(i):false},this._capabilities=n?.capabilities??{},this._instructions=n?.instructions,this._jsonSchemaValidator=n?.jsonSchemaValidator??new Fl,this.setRequestHandler(Rf,o=>this._oninitialize(o)),this.setNotificationHandler(Nf,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(qf,async(o,r)=>{let i=r.sessionId||r.requestInfo?.headers["mcp-session-id"]||void 0,{level:a}=o.params,s=ra.safeParse(a);return s.success&&this._loggingLevels.set(i,s.data),{}});}get experimental(){return this._experimental||(this._experimental={tasks:new Vl(this)}),this._experimental}registerCapabilities(t){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=S$(this._capabilities,t);}setRequestHandler(t,n){let r=hu(t)?.method;if(!r)throw new Error("Schema is missing a method literal");let i;if(Wn(r)){let s=r;i=s._zod?.def?.value??s.value;}else {let s=r;i=s._def?.value??s.value;}if(typeof i!="string")throw new Error("Schema method literal must be a string");if(i==="tools/call"){let s=async(c,u)=>{let l=$r(ta,c);if(!l.success){let h=l.error instanceof Error?l.error.message:String(l.error);throw new K(re.InvalidParams,`Invalid tools/call request: ${h}`)}let{params:d}=l.data,m=await Promise.resolve(n(c,u));if(d.task){let h=$r(io,m);if(!h.success){let v=h.error instanceof Error?h.error.message:String(h.error);throw new K(re.InvalidParams,`Invalid task creation result: ${v}`)}return h.data}let p=$r(al,m);if(!p.success){let h=p.error instanceof Error?p.error.message:String(p.error);throw new K(re.InvalidParams,`Invalid tools/call result: ${h}`)}return p.data};return super.setRequestHandler(t,s)}return super.setRequestHandler(t,n)}assertCapabilityForMethod(t){switch(t){case "sampling/createMessage":if(!this._clientCapabilities?.sampling)throw new Error(`Client does not support sampling (required for ${t})`);break;case "elicitation/create":if(!this._clientCapabilities?.elicitation)throw new Error(`Client does not support elicitation (required for ${t})`);break;case "roots/list":if(!this._clientCapabilities?.roots)throw new Error(`Client does not support listing roots (required for ${t})`);break;}}assertNotificationCapability(t){switch(t){case "notifications/message":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${t})`);break;case "notifications/resources/updated":case "notifications/resources/list_changed":if(!this._capabilities.resources)throw new Error(`Server does not support notifying about resources (required for ${t})`);break;case "notifications/tools/list_changed":if(!this._capabilities.tools)throw new Error(`Server does not support notifying of tool list changes (required for ${t})`);break;case "notifications/prompts/list_changed":if(!this._capabilities.prompts)throw new Error(`Server does not support notifying of prompt list changes (required for ${t})`);break;case "notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw new Error(`Client does not support URL elicitation (required for ${t})`);break;}}assertRequestHandlerCapability(t){if(this._capabilities)switch(t){case "completion/complete":if(!this._capabilities.completions)throw new Error(`Server does not support completions (required for ${t})`);break;case "logging/setLevel":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${t})`);break;case "prompts/get":case "prompts/list":if(!this._capabilities.prompts)throw new Error(`Server does not support prompts (required for ${t})`);break;case "resources/list":case "resources/templates/list":case "resources/read":if(!this._capabilities.resources)throw new Error(`Server does not support resources (required for ${t})`);break;case "tools/call":case "tools/list":if(!this._capabilities.tools)throw new Error(`Server does not support tools (required for ${t})`);break;case "tasks/get":case "tasks/list":case "tasks/result":case "tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Server does not support tasks capability (required for ${t})`);break;}}assertTaskCapability(t){fx(this._clientCapabilities?.tasks?.requests,t,"Client");}assertTaskHandlerCapability(t){this._capabilities&&mx(this._capabilities.tasks?.requests,t,"Server");}async _oninitialize(t){let n=t.params.protocolVersion;return this._clientCapabilities=t.params.capabilities,this._clientVersion=t.params.clientInfo,{protocolVersion:c$.includes(n)?n:If,capabilities:this.getCapabilities(),serverInfo:this._serverInfo,...this._instructions&&{instructions:this._instructions}}}getClientCapabilities(){return this._clientCapabilities}getClientVersion(){return this._clientVersion}getCapabilities(){return this._capabilities}async ping(){return this.request({method:"ping"},Wu)}async createMessage(t,n){if((t.tools||t.toolChoice)&&!this._clientCapabilities?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(t.messages.length>0){let o=t.messages[t.messages.length-1],r=Array.isArray(o.content)?o.content:[o.content],i=r.some(u=>u.type==="tool_result"),a=t.messages.length>1?t.messages[t.messages.length-2]:void 0,s=a?Array.isArray(a.content)?a.content:[a.content]:[],c=s.some(u=>u.type==="tool_use");if(i){if(r.some(u=>u.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!c)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(c){let u=new Set(s.filter(d=>d.type==="tool_use").map(d=>d.id)),l=new Set(r.filter(d=>d.type==="tool_result").map(d=>d.toolUseId));if(u.size!==l.size||![...u].every(d=>l.has(d)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return t.tools?this.request({method:"sampling/createMessage",params:t},Ff,n):this.request({method:"sampling/createMessage",params:t},na,n)}async elicitInput(t,n){switch(t.mode??"form"){case "url":{if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support url elicitation.");let r=t;return this.request({method:"elicitation/create",params:r},so,n)}case "form":{if(!this._clientCapabilities?.elicitation?.form)throw new Error("Client does not support form elicitation.");let r=t.mode==="form"?t:{...t,mode:"form"},i=await this.request({method:"elicitation/create",params:r},so,n);if(i.action==="accept"&&i.content&&r.requestedSchema)try{let s=this._jsonSchemaValidator.getValidator(r.requestedSchema)(i.content);if(!s.valid)throw new K(re.InvalidParams,`Elicitation response content does not match requested schema: ${s.errorMessage}`)}catch(a){throw a instanceof K?a:new K(re.InternalError,`Error validating elicitation response: ${a instanceof Error?a.message:String(a)}`)}return i}}}createElicitationCompletionNotifier(t,n){if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support URL elicitation (required for notifications/elicitation/complete)");return ()=>this.notification({method:"notifications/elicitation/complete",params:{elicitationId:t}},n)}async listRoots(t,n){return this.request({method:"roots/list",params:t},Vf,n)}async sendLoggingMessage(t,n){if(this._capabilities.logging&&!this.isMessageIgnored(t.level,n))return this.notification({method:"notifications/message",params:t})}async sendResourceUpdated(t){return this.notification({method:"notifications/resources/updated",params:t})}async sendResourceListChanged(){return this.notification({method:"notifications/resources/list_changed"})}async sendToolListChanged(){return this.notification({method:"notifications/tools/list_changed"})}async sendPromptListChanged(){return this.notification({method:"notifications/prompts/list_changed"})}};var Gl=class{append(t){this._buffer=this._buffer?Buffer.concat([this._buffer,t]):t;}readMessage(){if(!this._buffer)return null;let t=this._buffer.indexOf(`
|
|
48
48
|
`);if(t===-1)return null;let n=this._buffer.toString("utf8",0,t).replace(/\r$/,"");return this._buffer=this._buffer.subarray(t+1),sN(n)}clear(){this._buffer=void 0;}};function sN(e){return g$.parse(JSON.parse(e))}function hx(e){return JSON.stringify(e)+`
|
|
49
|
-
`}var Kl=class{constructor(t=gx.stdin,n=gx.stdout){this._stdin=t,this._stdout=n,this._readBuffer=new Gl,this._started=false,this._ondata=o=>{this._readBuffer.append(o),this.processReadBuffer();},this._onerror=o=>{this.onerror?.(o);};}async start(){if(this._started)throw new Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=true,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror);}processReadBuffer(){for(;;)try{let t=this._readBuffer.readMessage();if(t===null)break;this.onmessage?.(t);}catch(t){this.onerror?.(t);}}async close(){this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0&&this._stdin.pause(),this._readBuffer.clear(),this.onclose?.();}send(t){return new Promise(n=>{let o=hx(t);this._stdout.write(o)?n():this._stdout.once("drain",n);})}};var yx="1.4.1";async function Or(e){try{return await access(e),!0}catch{return false}}var uN=["pl","en","de","es","fr","pt","it","nl"],Bl=j.enum(uN),vx="pl",lN=j.object({url:j.string().url(),language:Bl.optional()}),_x=j.object({projects:j.record(j.string(),lN),default_project:j.string(),default_language:Bl.optional()}).refine(e=>e.default_project in e.projects,{message:"default_project must reference a configured project"}),zo=j.object({username:j.string().email(),api_token:j.string().min(1)}),Ug=j.object({default:zo,instances:j.record(j.string().url(),zo).optional()}),$x=j.union([zo,Ug]),Mg=j.object({url:j.string().url(),username:j.string().email(),api_token:j.string().min(1),language:Bl});j.object({projects:j.record(j.string(),Mg),default_project:j.string(),default_language:Bl,credentials:zo});var jt=class extends Error{code;constructor(t,n){super(t),this.name="JiraMcpError",this.code=n;}},Hl=class extends jt{constructor(t,n="CONFIG_ERROR"){super(t,n),this.name="ConfigError";}},Na=class extends Hl{constructor(t){super(t,"CONFIG_NOT_FOUND"),this.name="ConfigNotFoundError";}},Et=class extends Hl{constructor(t){super(t,"CONFIG_VALIDATION"),this.name="ConfigValidationError";}},Ot=class extends jt{constructor(t,n="JIRA_CONNECTION"){super(t,n),this.name="JiraConnectionError";}},Wl=class extends Ot{constructor(t){super(t,"JIRA_AUTH"),this.name="JiraAuthenticationError";}},Xl=class extends Ot{constructor(t){super(t,"JIRA_PERMISSION"),this.name="JiraPermissionError";}},Da=class extends jt{constructor(t,n="CACHE_ERROR"){super(t,n),this.name="CacheError";}},or=class extends Da{constructor(t){super(t,"CACHE_NOT_FOUND"),this.name="CacheNotFoundError";}},Rr=class extends Da{constructor(t){super(t,"CACHE_CORRUPTION"),this.name="CacheCorruptionError";}},Vt=class extends Da{constructor(t){super(t,"TASK_NOT_FOUND"),this.name="TaskNotFoundError";}},ln=class extends jt{constructor(t,n="TEMPLATE_ERROR"){super(t,n),this.name="TemplateError";}},To=class extends ln{constructor(t){super(t,"TEMPLATE_NOT_FOUND"),this.name="TemplateNotFoundError";}};var Yl=class extends jt{constructor(t,n="APPROVAL_ERROR"){super(t,n),this.name="ApprovalError";}},Ql=class extends Yl{constructor(t){super(t,"COMMENT_APPROVAL_REQUIRED"),this.name="CommentApprovalRequiredError";}},ed=class extends Yl{constructor(t){super(t,"DELETION_APPROVAL_REQUIRED"),this.name="DeletionApprovalRequiredError";}},Ca=class extends jt{constructor(t){super(t,"OWNERSHIP_REQUIRED"),this.name="OwnershipError";}},td=class extends jt{constructor(t){super(t,"COMMENT_NOT_FOUND"),this.name="CommentNotFoundError";}};Io();async function _N(e){let t=process.env.JIRA_CONFIG_PATH;if(t)return resolve(t);let n=resolve(process.cwd(),"config.json");return await Or(n)?(console.warn(`[jira-mcp] WARNING: Loading config.json from working directory (${n}) instead of global config. This may be a security risk if running from an untrusted directory.`),n):Lg}async function $N(e){let t=process.env.JIRA_CREDENTIALS_PATH;if(t)return resolve(t);let n=resolve(process.cwd(),"credentials.json");return await Or(n)?(console.warn(`[jira-mcp] WARNING: Loading credentials.json from working directory (${n}) instead of global config. This may be a security risk if running from an untrusted directory.`),n):qg}async function zx(e,t){if(!await Or(e))throw new Na(`${t} not found: ${e}`);let n;try{n=await readFile(e,"utf-8");}catch(o){let r=o instanceof Error?o.message:String(o);throw new Na(`Failed to read ${t}: ${r}`)}try{return JSON.parse(n)}catch(o){let r=o instanceof Error?o.message:String(o);throw new Et(`Invalid JSON in ${t}: ${r}`)}}function kN(e){let t=zo.safeParse(e);if(t.success&&!("default"in e))return {default:t.data,instances:{}};let n=Ug.safeParse(e);if(n.success)return {default:n.data.default,instances:n.data.instances??{}};throw new Et("Credentials file format not recognized. Expected { username, api_token } or { default: { username, api_token }, instances?: {} }.")}function bN(e,t){return e.instances[t]??e.default}async function Tx(e){let t=await _N(),n=await $N(),o=await zx(t,"configuration file"),r=_x.safeParse(o);if(!r.success)throw new Et(`Configuration validation failed: ${r.error.message}`);let i=r.data,a=await zx(n,"credentials file"),s=$x.safeParse(a);if(!s.success)throw new Et(`Credentials validation failed: ${s.error.message}`);let c=kN(s.data),u=i.default_language??vx,l={};for(let[d,m]of Object.entries(i.projects)){let p=bN(c,m.url),h={url:m.url,username:p.username,api_token:p.api_token,language:m.language??u},v=Mg.safeParse(h);if(!v.success)throw new Et(`Project '${d}' validation failed: ${v.error.message}`);l[d]=v.data;}return {projects:l,default_project:i.default_project,default_language:u,credentials:c.default}}function Ix(e){let t=new Map;for(let[o,r]of Object.entries(e.projects)){let i=t.get(r.url);i?i.keys.push(o):t.set(r.url,{keys:[o]});}let n=[];for(let[o,{keys:r}]of t){let i=r[0];if(!i)continue;let a=e.projects[i];a&&n.push({url:o,username:a.username,api_token:a.api_token,projectKeys:r});}return n}var xN=1e3,Px=3,wN=1e3,SN=new Set([429,503]);function zN(e){return new Promise(t=>setTimeout(t,e))}var TN=["summary","status","assignee","priority","issuetype","created","updated","project","customfield_10014"],ad=class{authToken;instanceUrl;constructor(t){this.instanceUrl=t.url,this.authToken=Buffer.from(`${t.username}:${t.api_token}`).toString("base64");}async request(t,n,o,r){let i=new URL(n,this.instanceUrl);if(r)for(let[u,l]of Object.entries(r))i.searchParams.set(u,l);let a={Authorization:`Basic ${this.authToken}`,Accept:"application/json"};o!==void 0&&(a["Content-Type"]="application/json");let s={method:t,headers:a,body:o!==void 0?JSON.stringify(o):void 0},c;for(let u=0;u<=Px;u++){let l=await fetch(i.toString(),s);if(l.ok)return l.status===204?void 0:await l.json();let m=await l.text()||l.statusText,p=m.length>200?`${m.slice(0,200)}...`:m;if(l.status===401)throw new Wl(`Authentication failed: ${p}`);if(l.status===403)throw new Xl(`Permission denied: ${p}`);if(SN.has(l.status)&&u<Px){let h=l.headers.get("Retry-After"),v=h?Math.min(parseInt(h,10)*1e3,3e4):wN*Math.pow(2,u);await zN(v),c=new Ot(`Jira API error (${l.status}): ${p}`);continue}throw new Ot(`Jira API error (${l.status}): ${p}`)}throw c??new Ot("Request failed after retries")}async searchIssues(t,n){return ((await this.request("GET","/rest/api/3/search/jql",void 0,{jql:t,fields:(n?[...n]:TN).join(","),maxResults:String(xN)})).issues??[]).map(i=>{let a=i.fields;return {key:i.key,summary:a.summary,status:a.status?.name??"Unknown",assignee:a.assignee?.emailAddress??null,priority:a.priority?.name??"None",issueType:a.issuetype?.name??a.issueType?.name??"Unknown",created:a.created,updated:a.updated,projectKey:i.key.split("-")[0]??"",epicLink:a.customfield_10014??null}})}async getIssue(t){let n=["summary","description","creator","status","assignee","priority","issuetype","created","updated","project","comment","timetracking"],o=await this.request("GET",`/rest/api/3/issue/${encodeURIComponent(t)}`,void 0,{fields:n.join(",")}),r=o.fields,i=(r.comment?.comments??[]).map(a=>({id:a.id??"",author:a.author?.emailAddress??a.author?.displayName??"Unknown",authorAccountId:a.author?.accountId??null,body:a.body??null,created:a.created??""}));return {key:o.key,summary:r.summary,description:r.description??null,creator:r.creator?.emailAddress??r.creator?.displayName??"Unknown",creatorAccountId:r.creator?.accountId??null,status:r.status?.name??"Unknown",assignee:r.assignee?.emailAddress??null,priority:r.priority?.name??"None",issueType:r.issuetype?.name??r.issueType?.name??"Unknown",created:r.created,updated:r.updated,projectKey:o.key.split("-")[0]??"",comments:i,timeTracking:{originalEstimate:r.timetracking?.originalEstimate??null,remainingEstimate:r.timetracking?.remainingEstimate??null,timeSpent:r.timetracking?.timeSpent??null,originalEstimateSeconds:r.timetracking?.originalEstimateSeconds??null,remainingEstimateSeconds:r.timetracking?.remainingEstimateSeconds??null,timeSpentSeconds:r.timetracking?.timeSpentSeconds??null}}}async addComment(t,n){let o=await this.request("POST",`/rest/api/3/issue/${encodeURIComponent(t)}/comment`,{body:n});return {id:o.id??"",author:o.author?.emailAddress??o.author?.displayName??"Unknown",authorAccountId:o.author?.accountId??null,body:o.body??null,created:o.created??""}}async deleteIssue(t){await this.request("DELETE",`/rest/api/3/issue/${encodeURIComponent(t)}`);}async deleteComment(t,n){await this.request("DELETE",`/rest/api/3/issue/${encodeURIComponent(t)}/comment/${encodeURIComponent(n)}`);}async getTransitions(t){return ((await this.request("GET",`/rest/api/3/issue/${encodeURIComponent(t)}/transitions`)).transitions??[]).map(o=>({id:o.id??"",name:o.name??"",toStatus:o.to?.name??""}))}async doTransition(t,n){await this.request("POST",`/rest/api/3/issue/${encodeURIComponent(t)}/transitions`,{transition:{id:n}});}async assignIssue(t,n){await this.request("PUT",`/rest/api/3/issue/${encodeURIComponent(t)}/assignee`,{accountId:n});}async findUser(t){let o=(await this.request("GET","/rest/api/3/user/search",void 0,{query:t,maxResults:"1"}))?.[0];if(!o?.accountId)throw new Ot(`User not found for email: ${t}`);return o.accountId}async getCurrentUser(){let t=await this.request("GET","/rest/api/3/myself");return {accountId:t.accountId,emailAddress:t.emailAddress??null,displayName:t.displayName??"Unknown",active:t.active}}async addWorklog(t,n,o){let r={timeSpentSeconds:n};o&&(r.comment=o);let i=await this.request("POST",`/rest/api/3/issue/${encodeURIComponent(t)}/worklog`,r);return {id:i.id??"",timeSpent:i.timeSpent??"",timeSpentSeconds:i.timeSpentSeconds??n,created:i.created??""}}async getTimeTracking(t){let o=(await this.request("GET",`/rest/api/3/issue/${encodeURIComponent(t)}`,void 0,{fields:"timetracking"})).fields.timetracking;return {originalEstimate:o?.originalEstimate??null,remainingEstimate:o?.remainingEstimate??null,timeSpent:o?.timeSpent??null,originalEstimateSeconds:o?.originalEstimateSeconds??null,remainingEstimateSeconds:o?.remainingEstimateSeconds??null,timeSpentSeconds:o?.timeSpentSeconds??null}}async createIssue(t){let n=await this.request("POST","/rest/api/3/issue",{fields:t});return {key:n.key,id:n.id,url:`${this.instanceUrl}/browse/${n.key}`}}async updateIssue(t,n){await this.request("PUT",`/rest/api/3/issue/${encodeURIComponent(t)}`,{fields:n});}async getFields(){return (await this.request("GET","/rest/api/3/field")).map(n=>({id:n.id??"",name:n.name??"",custom:n.custom??false,...n.schema?.custom!==void 0?{schema:{custom:n.schema.custom}}:{}}))}async searchUsers(t,n=50){return (await this.request("GET","/rest/api/3/user/search",void 0,{query:t,maxResults:String(n)})??[]).map(r=>({accountId:r.accountId,emailAddress:r.emailAddress??null,displayName:r.displayName??"Unknown",active:r.active}))}async getProjectStatuses(t){return (await this.request("GET",`/rest/api/3/project/${encodeURIComponent(t)}/statuses`)).map(o=>({id:o.id,name:o.name,statuses:o.statuses.map(r=>({name:r.name??"",id:r.id??""}))}))}};var sd=class{byProject=new Map;byUrl=new Map;config;constructor(t){this.config=t,this.#e();}getConnector(t){let n=this.byProject.get(t);if(!n)throw new Et(`Project '${t}' not found in configuration`);return n}getConnectorForTask(t){let n=t.split("-")[0];if(!n)throw new Et(`Invalid task key format: '${t}'. Expected 'PROJECT-NUMBER'.`);return this.getConnector(n)}getInstances(){return this.byUrl}#e(){let t=new Map;for(let[n,o]of Object.entries(this.config.projects)){let r=t.get(o.url);r?r.push(n):t.set(o.url,[n]);}for(let[n,o]of t){let r=o[0];if(!r)continue;let i=this.config.projects[r];if(!i)continue;let a=new ad(i),s={connector:a,projectKeys:o};this.byUrl.set(n,s);for(let c of o)this.byProject.set(c,a);}}};var Za="1.0",IN=j.object({key:j.string(),summary:j.string(),status:j.string(),assignee:j.string().nullable(),priority:j.string(),issue_type:j.string(),created:j.string(),updated:j.string(),project_key:j.string(),project_url:j.string().url(),epic_link:j.string().nullable()}),PN=j.object({version:j.string(),last_sync:j.string(),jira_user:j.string()}),Gg=j.object({metadata:PN,tasks:j.array(IN)});function DN(e){return e.replaceAll("@","_at_").replaceAll(".","_")}var cd=class{cacheDir;jiraUser;cachePath;constructor(t,n){this.cacheDir=t,this.jiraUser=n,this.cachePath=join(t,`tasks_${DN(n)}.json`);}async initialize(){if(await mkdir(this.cacheDir,{recursive:true}),await Or(this.cachePath)){try{await this.load();}catch(n){if(!(n instanceof or)){let o=n instanceof Error?n.message:String(n);throw new Rr(`Existing cache is corrupted: ${o}`)}}return}let t={metadata:{version:Za,last_sync:new Date().toISOString(),jira_user:this.jiraUser},tasks:[]};await this.#e(t);}async load(){if(!await Or(this.cachePath))throw new or(`Cache not found: ${this.cachePath}`);let t;try{t=await readFile(this.cachePath,"utf-8");}catch(r){let i=r instanceof Error?r.message:String(r);throw new or(`Failed to read cache file: ${i}`)}let n;try{n=JSON.parse(t);}catch(r){let i=r instanceof Error?r.message:String(r);throw new Rr(`Cache file is corrupted (invalid JSON): ${i}`)}let o=Gg.safeParse(n);if(!o.success)throw new Rr(`Cache data failed validation: ${o.error.message}`);if(o.data.metadata.version!==Za)throw new Rr(`Cache version ${o.data.metadata.version} !== ${Za}`);return o.data}async save(t){let n={metadata:{version:Za,last_sync:new Date().toISOString(),jira_user:this.jiraUser},tasks:[...t]},o=Gg.safeParse(n);if(!o.success)throw new Rr(`Task data failed validation: ${o.error.message}`);await this.#e(o.data);}async getTask(t){let o=(await this.load()).tasks.find(r=>r.key===t);if(!o)throw new Vt(`Task ${t} not found in cache`);return o}async getAllTasks(){return (await this.load()).tasks}async updateTask(t,n){let o=await this.load(),r=o.tasks.findIndex(c=>c.key===t);if(r===-1)throw new Vt(`Task ${t} not found in cache`);let i=o.tasks[r];if(!i)throw new Vt(`Task ${t} not found in cache`);let a={...i,...n,key:t,updated:new Date().toISOString()},s=[...o.tasks.slice(0,r),a,...o.tasks.slice(r+1)];return await this.save(s),a}async deleteTask(t){let n=await this.load(),o=n.tasks.filter(r=>r.key!==t);if(o.length===n.tasks.length)throw new Vt(`Task ${t} not found in cache`);await this.save(o);}async getMetadata(){return (await this.load()).metadata}async#e(t){let n=`${this.cachePath}.tmp`,o=JSON.stringify(t,null,2);await writeFile(n,o,{encoding:"utf-8",mode:384}),await rename(n,this.cachePath);}};function jx(e){return e.replace(/([+\-&|!(){}[\]^~*?\\:"])/g,"\\$1")}var ud=class{#e;#t;#r;constructor(t,n,o){this.#e=t,this.#t=n,this.#r=o;}async sync(t){let n=t?.jql??`assignee = "${jx(this.#t.credentials.username)}" ORDER BY updated DESC`,o=Ix(this.#t);if(t?.projectKey){let i=this.#t.projects[t.projectKey];i&&(o=o.filter(a=>a.url===i.url));}let r=[];for(let i of o){let c=(await this.#r(i.url,i.username,i.api_token).searchIssues(n)).map(u=>this.#n(u,i.url));r.push(...c);}return await this.#e.save(r),r.length}#n(t,n){let o=t.fields.assignee?.emailAddress??null,r=t.fields.priority?.name??"None",i=t.fields.customfield_10014??null;return {key:t.key,summary:t.fields.summary,status:t.fields.status.name,assignee:o,priority:r,issue_type:t.fields.issuetype.name,created:t.fields.created,updated:t.fields.updated,project_key:t.fields.project.key,project_url:n,epic_link:i}}};Io();var Nr={WORKFLOW:"workflow",COMMUNICATION:"communication",REPORTING:"reporting",DEVELOPMENT:"development"};var Rx=/^[a-z][a-z0-9-]*$/,Nx=j.object({name:j.string().regex(/^\w+$/,"Variable name must be alphanumeric/underscore"),description:j.string().default(""),required:j.boolean().default(false),default:j.string().optional(),example:j.string().optional()}),AN=j.object({kind:j.literal("comment"),id:j.string().regex(Rx,"Template id must be a URL-safe slug"),name:j.string().min(1),description:j.string().min(1),category:j.enum([Nr.WORKFLOW,Nr.COMMUNICATION,Nr.REPORTING,Nr.DEVELOPMENT]),variables:j.array(Nx).default([])}),ZN=j.object({kind:j.literal("task"),id:j.string().regex(Rx,"Template id must be a URL-safe slug"),name:j.string().min(1),description:j.string().min(1),summary:j.string().min(1),issue_type:j.string().optional(),priority:j.string().optional(),labels:j.array(j.string()).optional(),epic_key:j.string().optional(),variables:j.array(Nx).default([])});function Dx(e){return e.map(t=>({name:t.name,description:t.description,required:t.required,defaultValue:t.default,example:t.example}))}function Cx(e,t){let n=e.match(/^---\s*\n([\s\S]*?)\n---\s*\n?([\s\S]*)$/);if(!n)throw new ln(`Template file "${t}" must start with a JSON metadata block delimited by ---`);let[,o,r=""]=n;if(o===void 0)throw new ln(`Template file "${t}" is missing metadata.`);let i;try{i=JSON.parse(o);}catch(a){let s=a instanceof Error?a.message:String(a);throw new ln(`Template file "${t}" contains invalid JSON metadata: ${s}`)}return {metadata:i,body:r.trim()}}function Ax(e){if(!readdirSync||!e)return [];try{return readdirSync(e).filter(t=>t.endsWith(".md")).sort().map(t=>join(e,t))}catch{return []}}function ld(e,t){let n=[];for(let o of Ax(e)){let r=readFileSync(o,"utf-8"),i=Cx(r,o),a=AN.parse(i.metadata);n.push({id:a.id,name:a.name,description:a.description,category:a.category,variables:Dx(a.variables),body:i.body,source:t,filePath:o});}return n}function dd(e,t){let n=[];for(let o of Ax(e)){let r=readFileSync(o,"utf-8"),i=Cx(r,o),a=ZN.parse(i.metadata);n.push({id:a.id,name:a.name,description:a.description,summary:a.summary,issueType:a.issue_type,priority:a.priority,labels:a.labels,epicKey:a.epic_key,variables:Dx(a.variables),body:i.body,source:t,filePath:o});}return n}Io();var Zx=ld(Vg,"system");var pd=class{templates;constructor(t){let n=new Map;for(let o of Zx)n.set(o.id,o);if(t)for(let o of t)n.set(o.id,o);this.templates=n;}getTemplate(t){let n=this.templates.get(t);if(!n)throw new To(`Template "${t}" not found. Use listTemplates() to see available templates.`);return n}listTemplates(t){let n=[...this.templates.values()];return t?n.filter(o=>o.category===t):n}listCategories(){let t=new Set;for(let n of this.templates.values())t.add(n.category);return [...t]}};Io();var Ux=dd(Jg,"system");var md=class{templates;constructor(t){let n=new Map;for(let o of Ux)n.set(o.id,o);if(t)for(let o of t)n.set(o.id,o);this.templates=n;}getTemplate(t){let n=this.templates.get(t);if(!n)throw new To(`Task template "${t}" not found. Use listTaskTemplates() to see available templates.`);return n}listTemplates(){return [...this.templates.values()]}};function Mx(e){let t=ld(od,"user"),n=dd(id,"user");return {commentRegistry:new pd(t),taskRegistry:new md(n)}}function Kg(e){return {version:1,type:"doc",content:[{type:"paragraph",content:[{type:"text",text:e}]}]}}function pn(e){let t=e.replace(/\\n/g,`
|
|
49
|
+
`}var Kl=class{constructor(t=gx.stdin,n=gx.stdout){this._stdin=t,this._stdout=n,this._readBuffer=new Gl,this._started=false,this._ondata=o=>{this._readBuffer.append(o),this.processReadBuffer();},this._onerror=o=>{this.onerror?.(o);};}async start(){if(this._started)throw new Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=true,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror);}processReadBuffer(){for(;;)try{let t=this._readBuffer.readMessage();if(t===null)break;this.onmessage?.(t);}catch(t){this.onerror?.(t);}}async close(){this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0&&this._stdin.pause(),this._readBuffer.clear(),this.onclose?.();}send(t){return new Promise(n=>{let o=hx(t);this._stdout.write(o)?n():this._stdout.once("drain",n);})}};var yx="1.4.2";async function Or(e){try{return await access(e),!0}catch{return false}}var uN=["pl","en","de","es","fr","pt","it","nl"],Bl=j.enum(uN),vx="pl",lN=j.object({url:j.string().url(),language:Bl.optional()}),_x=j.object({projects:j.record(j.string(),lN),default_project:j.string(),default_language:Bl.optional()}).refine(e=>e.default_project in e.projects,{message:"default_project must reference a configured project"}),zo=j.object({username:j.string().email(),api_token:j.string().min(1)}),Ug=j.object({default:zo,instances:j.record(j.string().url(),zo).optional()}),$x=j.union([zo,Ug]),Mg=j.object({url:j.string().url(),username:j.string().email(),api_token:j.string().min(1),language:Bl});j.object({projects:j.record(j.string(),Mg),default_project:j.string(),default_language:Bl,credentials:zo});var jt=class extends Error{code;constructor(t,n){super(t),this.name="JiraMcpError",this.code=n;}},Hl=class extends jt{constructor(t,n="CONFIG_ERROR"){super(t,n),this.name="ConfigError";}},Na=class extends Hl{constructor(t){super(t,"CONFIG_NOT_FOUND"),this.name="ConfigNotFoundError";}},Et=class extends Hl{constructor(t){super(t,"CONFIG_VALIDATION"),this.name="ConfigValidationError";}},Ot=class extends jt{constructor(t,n="JIRA_CONNECTION"){super(t,n),this.name="JiraConnectionError";}},Wl=class extends Ot{constructor(t){super(t,"JIRA_AUTH"),this.name="JiraAuthenticationError";}},Xl=class extends Ot{constructor(t){super(t,"JIRA_PERMISSION"),this.name="JiraPermissionError";}},Da=class extends jt{constructor(t,n="CACHE_ERROR"){super(t,n),this.name="CacheError";}},or=class extends Da{constructor(t){super(t,"CACHE_NOT_FOUND"),this.name="CacheNotFoundError";}},Rr=class extends Da{constructor(t){super(t,"CACHE_CORRUPTION"),this.name="CacheCorruptionError";}},Vt=class extends Da{constructor(t){super(t,"TASK_NOT_FOUND"),this.name="TaskNotFoundError";}},ln=class extends jt{constructor(t,n="TEMPLATE_ERROR"){super(t,n),this.name="TemplateError";}},To=class extends ln{constructor(t){super(t,"TEMPLATE_NOT_FOUND"),this.name="TemplateNotFoundError";}};var Yl=class extends jt{constructor(t,n="APPROVAL_ERROR"){super(t,n),this.name="ApprovalError";}},Ql=class extends Yl{constructor(t){super(t,"COMMENT_APPROVAL_REQUIRED"),this.name="CommentApprovalRequiredError";}},ed=class extends Yl{constructor(t){super(t,"DELETION_APPROVAL_REQUIRED"),this.name="DeletionApprovalRequiredError";}},Ca=class extends jt{constructor(t){super(t,"OWNERSHIP_REQUIRED"),this.name="OwnershipError";}},td=class extends jt{constructor(t){super(t,"COMMENT_NOT_FOUND"),this.name="CommentNotFoundError";}};Io();async function _N(e){let t=process.env.JIRA_CONFIG_PATH;if(t)return resolve(t);let n=resolve(process.cwd(),"config.json");return await Or(n)?(console.warn(`[jira-mcp] WARNING: Loading config.json from working directory (${n}) instead of global config. This may be a security risk if running from an untrusted directory.`),n):Lg}async function $N(e){let t=process.env.JIRA_CREDENTIALS_PATH;if(t)return resolve(t);let n=resolve(process.cwd(),"credentials.json");return await Or(n)?(console.warn(`[jira-mcp] WARNING: Loading credentials.json from working directory (${n}) instead of global config. This may be a security risk if running from an untrusted directory.`),n):qg}async function zx(e,t){if(!await Or(e))throw new Na(`${t} not found: ${e}`);let n;try{n=await readFile(e,"utf-8");}catch(o){let r=o instanceof Error?o.message:String(o);throw new Na(`Failed to read ${t}: ${r}`)}try{return JSON.parse(n)}catch(o){let r=o instanceof Error?o.message:String(o);throw new Et(`Invalid JSON in ${t}: ${r}`)}}function kN(e){let t=zo.safeParse(e);if(t.success&&!("default"in e))return {default:t.data,instances:{}};let n=Ug.safeParse(e);if(n.success)return {default:n.data.default,instances:n.data.instances??{}};throw new Et("Credentials file format not recognized. Expected { username, api_token } or { default: { username, api_token }, instances?: {} }.")}function bN(e,t){return e.instances[t]??e.default}async function Tx(e){let t=await _N(),n=await $N(),o=await zx(t,"configuration file"),r=_x.safeParse(o);if(!r.success)throw new Et(`Configuration validation failed: ${r.error.message}`);let i=r.data,a=await zx(n,"credentials file"),s=$x.safeParse(a);if(!s.success)throw new Et(`Credentials validation failed: ${s.error.message}`);let c=kN(s.data),u=i.default_language??vx,l={};for(let[d,m]of Object.entries(i.projects)){let p=bN(c,m.url),h={url:m.url,username:p.username,api_token:p.api_token,language:m.language??u},v=Mg.safeParse(h);if(!v.success)throw new Et(`Project '${d}' validation failed: ${v.error.message}`);l[d]=v.data;}return {projects:l,default_project:i.default_project,default_language:u,credentials:c.default}}function Ix(e){let t=new Map;for(let[o,r]of Object.entries(e.projects)){let i=t.get(r.url);i?i.keys.push(o):t.set(r.url,{keys:[o]});}let n=[];for(let[o,{keys:r}]of t){let i=r[0];if(!i)continue;let a=e.projects[i];a&&n.push({url:o,username:a.username,api_token:a.api_token,projectKeys:r});}return n}var xN=1e3,Px=3,wN=1e3,SN=new Set([429,503]);function zN(e){return new Promise(t=>setTimeout(t,e))}var TN=["summary","status","assignee","priority","issuetype","created","updated","project","customfield_10014"],ad=class{authToken;instanceUrl;constructor(t){this.instanceUrl=t.url,this.authToken=Buffer.from(`${t.username}:${t.api_token}`).toString("base64");}async request(t,n,o,r){let i=new URL(n,this.instanceUrl);if(r)for(let[u,l]of Object.entries(r))i.searchParams.set(u,l);let a={Authorization:`Basic ${this.authToken}`,Accept:"application/json"};o!==void 0&&(a["Content-Type"]="application/json");let s={method:t,headers:a,body:o!==void 0?JSON.stringify(o):void 0},c;for(let u=0;u<=Px;u++){let l=await fetch(i.toString(),s);if(l.ok)return l.status===204?void 0:await l.json();let m=await l.text()||l.statusText,p=m.length>200?`${m.slice(0,200)}...`:m;if(l.status===401)throw new Wl(`Authentication failed: ${p}`);if(l.status===403)throw new Xl(`Permission denied: ${p}`);if(SN.has(l.status)&&u<Px){let h=l.headers.get("Retry-After"),v=h?Math.min(parseInt(h,10)*1e3,3e4):wN*Math.pow(2,u);await zN(v),c=new Ot(`Jira API error (${l.status}): ${p}`);continue}throw new Ot(`Jira API error (${l.status}): ${p}`)}throw c??new Ot("Request failed after retries")}async searchIssues(t,n){return ((await this.request("GET","/rest/api/3/search/jql",void 0,{jql:t,fields:(n?[...n]:TN).join(","),maxResults:String(xN)})).issues??[]).map(i=>{let a=i.fields;return {key:i.key,summary:a.summary,status:a.status?.name??"Unknown",assignee:a.assignee?.emailAddress??null,priority:a.priority?.name??"None",issueType:a.issuetype?.name??a.issueType?.name??"Unknown",created:a.created,updated:a.updated,projectKey:i.key.split("-")[0]??"",epicLink:a.customfield_10014??null}})}async getIssue(t){let n=["summary","description","creator","status","assignee","priority","issuetype","created","updated","project","comment","timetracking"],o=await this.request("GET",`/rest/api/3/issue/${encodeURIComponent(t)}`,void 0,{fields:n.join(",")}),r=o.fields,i=(r.comment?.comments??[]).map(a=>({id:a.id??"",author:a.author?.emailAddress??a.author?.displayName??"Unknown",authorAccountId:a.author?.accountId??null,body:a.body??null,created:a.created??""}));return {key:o.key,summary:r.summary,description:r.description??null,creator:r.creator?.emailAddress??r.creator?.displayName??"Unknown",creatorAccountId:r.creator?.accountId??null,status:r.status?.name??"Unknown",assignee:r.assignee?.emailAddress??null,priority:r.priority?.name??"None",issueType:r.issuetype?.name??r.issueType?.name??"Unknown",created:r.created,updated:r.updated,projectKey:o.key.split("-")[0]??"",comments:i,timeTracking:{originalEstimate:r.timetracking?.originalEstimate??null,remainingEstimate:r.timetracking?.remainingEstimate??null,timeSpent:r.timetracking?.timeSpent??null,originalEstimateSeconds:r.timetracking?.originalEstimateSeconds??null,remainingEstimateSeconds:r.timetracking?.remainingEstimateSeconds??null,timeSpentSeconds:r.timetracking?.timeSpentSeconds??null}}}async addComment(t,n){let o=await this.request("POST",`/rest/api/3/issue/${encodeURIComponent(t)}/comment`,{body:n});return {id:o.id??"",author:o.author?.emailAddress??o.author?.displayName??"Unknown",authorAccountId:o.author?.accountId??null,body:o.body??null,created:o.created??""}}async deleteIssue(t){await this.request("DELETE",`/rest/api/3/issue/${encodeURIComponent(t)}`);}async deleteComment(t,n){await this.request("DELETE",`/rest/api/3/issue/${encodeURIComponent(t)}/comment/${encodeURIComponent(n)}`);}async getTransitions(t){return ((await this.request("GET",`/rest/api/3/issue/${encodeURIComponent(t)}/transitions`)).transitions??[]).map(o=>({id:o.id??"",name:o.name??"",toStatus:o.to?.name??""}))}async doTransition(t,n){await this.request("POST",`/rest/api/3/issue/${encodeURIComponent(t)}/transitions`,{transition:{id:n}});}async assignIssue(t,n){await this.request("PUT",`/rest/api/3/issue/${encodeURIComponent(t)}/assignee`,{accountId:n});}async findUser(t){let o=(await this.request("GET","/rest/api/3/user/search",void 0,{query:t,maxResults:"1"}))?.[0];if(!o?.accountId)throw new Ot(`User not found for email: ${t}`);return o.accountId}async getCurrentUser(){let t=await this.request("GET","/rest/api/3/myself");return {accountId:t.accountId,emailAddress:t.emailAddress??null,displayName:t.displayName??"Unknown",active:t.active}}async addWorklog(t,n,o){let r={timeSpentSeconds:n};o&&(r.comment=o);let i=await this.request("POST",`/rest/api/3/issue/${encodeURIComponent(t)}/worklog`,r);return {id:i.id??"",timeSpent:i.timeSpent??"",timeSpentSeconds:i.timeSpentSeconds??n,created:i.created??""}}async getTimeTracking(t){let o=(await this.request("GET",`/rest/api/3/issue/${encodeURIComponent(t)}`,void 0,{fields:"timetracking"})).fields.timetracking;return {originalEstimate:o?.originalEstimate??null,remainingEstimate:o?.remainingEstimate??null,timeSpent:o?.timeSpent??null,originalEstimateSeconds:o?.originalEstimateSeconds??null,remainingEstimateSeconds:o?.remainingEstimateSeconds??null,timeSpentSeconds:o?.timeSpentSeconds??null}}async createIssue(t){let n=await this.request("POST","/rest/api/3/issue",{fields:t});return {key:n.key,id:n.id,url:`${this.instanceUrl}/browse/${n.key}`}}async updateIssue(t,n){await this.request("PUT",`/rest/api/3/issue/${encodeURIComponent(t)}`,{fields:n});}async getFields(){return (await this.request("GET","/rest/api/3/field")).map(n=>({id:n.id??"",name:n.name??"",custom:n.custom??false,...n.schema?.custom!==void 0?{schema:{custom:n.schema.custom}}:{}}))}async searchUsers(t,n=50){return (await this.request("GET","/rest/api/3/user/search",void 0,{query:t,maxResults:String(n)})??[]).map(r=>({accountId:r.accountId,emailAddress:r.emailAddress??null,displayName:r.displayName??"Unknown",active:r.active}))}async getProjectStatuses(t){return (await this.request("GET",`/rest/api/3/project/${encodeURIComponent(t)}/statuses`)).map(o=>({id:o.id,name:o.name,statuses:o.statuses.map(r=>({name:r.name??"",id:r.id??""}))}))}};var sd=class{byProject=new Map;byUrl=new Map;config;constructor(t){this.config=t,this.#e();}getConnector(t){let n=this.byProject.get(t);if(!n)throw new Et(`Project '${t}' not found in configuration`);return n}getConnectorForTask(t){let n=t.split("-")[0];if(!n)throw new Et(`Invalid task key format: '${t}'. Expected 'PROJECT-NUMBER'.`);return this.getConnector(n)}getInstances(){return this.byUrl}#e(){let t=new Map;for(let[n,o]of Object.entries(this.config.projects)){let r=t.get(o.url);r?r.push(n):t.set(o.url,[n]);}for(let[n,o]of t){let r=o[0];if(!r)continue;let i=this.config.projects[r];if(!i)continue;let a=new ad(i),s={connector:a,projectKeys:o};this.byUrl.set(n,s);for(let c of o)this.byProject.set(c,a);}}};var Za="1.0",IN=j.object({key:j.string(),summary:j.string(),status:j.string(),assignee:j.string().nullable(),priority:j.string(),issue_type:j.string(),created:j.string(),updated:j.string(),project_key:j.string(),project_url:j.string().url(),epic_link:j.string().nullable()}),PN=j.object({version:j.string(),last_sync:j.string(),jira_user:j.string()}),Gg=j.object({metadata:PN,tasks:j.array(IN)});function DN(e){return e.replaceAll("@","_at_").replaceAll(".","_")}var cd=class{cacheDir;jiraUser;cachePath;constructor(t,n){this.cacheDir=t,this.jiraUser=n,this.cachePath=join(t,`tasks_${DN(n)}.json`);}async initialize(){if(await mkdir(this.cacheDir,{recursive:true}),await Or(this.cachePath)){try{await this.load();}catch(n){if(!(n instanceof or)){let o=n instanceof Error?n.message:String(n);throw new Rr(`Existing cache is corrupted: ${o}`)}}return}let t={metadata:{version:Za,last_sync:new Date().toISOString(),jira_user:this.jiraUser},tasks:[]};await this.#e(t);}async load(){if(!await Or(this.cachePath))throw new or(`Cache not found: ${this.cachePath}`);let t;try{t=await readFile(this.cachePath,"utf-8");}catch(r){let i=r instanceof Error?r.message:String(r);throw new or(`Failed to read cache file: ${i}`)}let n;try{n=JSON.parse(t);}catch(r){let i=r instanceof Error?r.message:String(r);throw new Rr(`Cache file is corrupted (invalid JSON): ${i}`)}let o=Gg.safeParse(n);if(!o.success)throw new Rr(`Cache data failed validation: ${o.error.message}`);if(o.data.metadata.version!==Za)throw new Rr(`Cache version ${o.data.metadata.version} !== ${Za}`);return o.data}async save(t){let n={metadata:{version:Za,last_sync:new Date().toISOString(),jira_user:this.jiraUser},tasks:[...t]},o=Gg.safeParse(n);if(!o.success)throw new Rr(`Task data failed validation: ${o.error.message}`);await this.#e(o.data);}async getTask(t){let o=(await this.load()).tasks.find(r=>r.key===t);if(!o)throw new Vt(`Task ${t} not found in cache`);return o}async getAllTasks(){return (await this.load()).tasks}async updateTask(t,n){let o=await this.load(),r=o.tasks.findIndex(c=>c.key===t);if(r===-1)throw new Vt(`Task ${t} not found in cache`);let i=o.tasks[r];if(!i)throw new Vt(`Task ${t} not found in cache`);let a={...i,...n,key:t,updated:new Date().toISOString()},s=[...o.tasks.slice(0,r),a,...o.tasks.slice(r+1)];return await this.save(s),a}async deleteTask(t){let n=await this.load(),o=n.tasks.filter(r=>r.key!==t);if(o.length===n.tasks.length)throw new Vt(`Task ${t} not found in cache`);await this.save(o);}async getMetadata(){return (await this.load()).metadata}async#e(t){let n=`${this.cachePath}.tmp`,o=JSON.stringify(t,null,2);await writeFile(n,o,{encoding:"utf-8",mode:384}),await rename(n,this.cachePath);}};function jx(e){return e.replace(/([+\-&|!(){}[\]^~*?\\:"])/g,"\\$1")}var ud=class{#e;#t;#r;constructor(t,n,o){this.#e=t,this.#t=n,this.#r=o;}async sync(t){let n=t?.jql??`assignee = "${jx(this.#t.credentials.username)}" ORDER BY updated DESC`,o=Ix(this.#t);if(t?.projectKey){let i=this.#t.projects[t.projectKey];i&&(o=o.filter(a=>a.url===i.url));}let r=[];for(let i of o){let c=(await this.#r(i.url,i.username,i.api_token).searchIssues(n)).map(u=>this.#n(u,i.url));r.push(...c);}return await this.#e.save(r),r.length}#n(t,n){let o=t.fields.assignee?.emailAddress??null,r=t.fields.priority?.name??"None",i=t.fields.customfield_10014??null;return {key:t.key,summary:t.fields.summary,status:t.fields.status.name,assignee:o,priority:r,issue_type:t.fields.issuetype.name,created:t.fields.created,updated:t.fields.updated,project_key:t.fields.project.key,project_url:n,epic_link:i}}};Io();var Nr={WORKFLOW:"workflow",COMMUNICATION:"communication",REPORTING:"reporting",DEVELOPMENT:"development"};var Rx=/^[a-z][a-z0-9-]*$/,Nx=j.object({name:j.string().regex(/^\w+$/,"Variable name must be alphanumeric/underscore"),description:j.string().default(""),required:j.boolean().default(false),default:j.string().optional(),example:j.string().optional()}),AN=j.object({kind:j.literal("comment"),id:j.string().regex(Rx,"Template id must be a URL-safe slug"),name:j.string().min(1),description:j.string().min(1),category:j.enum([Nr.WORKFLOW,Nr.COMMUNICATION,Nr.REPORTING,Nr.DEVELOPMENT]),variables:j.array(Nx).default([])}),ZN=j.object({kind:j.literal("task"),id:j.string().regex(Rx,"Template id must be a URL-safe slug"),name:j.string().min(1),description:j.string().min(1),summary:j.string().min(1),issue_type:j.string().optional(),priority:j.string().optional(),labels:j.array(j.string()).optional(),epic_key:j.string().optional(),variables:j.array(Nx).default([])});function Dx(e){return e.map(t=>({name:t.name,description:t.description,required:t.required,defaultValue:t.default,example:t.example}))}function Cx(e,t){let n=e.match(/^---\s*\n([\s\S]*?)\n---\s*\n?([\s\S]*)$/);if(!n)throw new ln(`Template file "${t}" must start with a JSON metadata block delimited by ---`);let[,o,r=""]=n;if(o===void 0)throw new ln(`Template file "${t}" is missing metadata.`);let i;try{i=JSON.parse(o);}catch(a){let s=a instanceof Error?a.message:String(a);throw new ln(`Template file "${t}" contains invalid JSON metadata: ${s}`)}return {metadata:i,body:r.trim()}}function Ax(e){if(!readdirSync||!e)return [];try{return readdirSync(e).filter(t=>t.endsWith(".md")).sort().map(t=>join(e,t))}catch{return []}}function ld(e,t){let n=[];for(let o of Ax(e)){let r=readFileSync(o,"utf-8"),i=Cx(r,o),a=AN.parse(i.metadata);n.push({id:a.id,name:a.name,description:a.description,category:a.category,variables:Dx(a.variables),body:i.body,source:t,filePath:o});}return n}function dd(e,t){let n=[];for(let o of Ax(e)){let r=readFileSync(o,"utf-8"),i=Cx(r,o),a=ZN.parse(i.metadata);n.push({id:a.id,name:a.name,description:a.description,summary:a.summary,issueType:a.issue_type,priority:a.priority,labels:a.labels,epicKey:a.epic_key,variables:Dx(a.variables),body:i.body,source:t,filePath:o});}return n}Io();var Zx=ld(Vg,"system");var pd=class{templates;constructor(t){let n=new Map;for(let o of Zx)n.set(o.id,o);if(t)for(let o of t)n.set(o.id,o);this.templates=n;}getTemplate(t){let n=this.templates.get(t);if(!n)throw new To(`Template "${t}" not found. Use listTemplates() to see available templates.`);return n}listTemplates(t){let n=[...this.templates.values()];return t?n.filter(o=>o.category===t):n}listCategories(){let t=new Set;for(let n of this.templates.values())t.add(n.category);return [...t]}};Io();var Ux=dd(Jg,"system");var md=class{templates;constructor(t){let n=new Map;for(let o of Ux)n.set(o.id,o);if(t)for(let o of t)n.set(o.id,o);this.templates=n;}getTemplate(t){let n=this.templates.get(t);if(!n)throw new To(`Task template "${t}" not found. Use listTaskTemplates() to see available templates.`);return n}listTemplates(){return [...this.templates.values()]}};function Mx(e){let t=ld(od,"user"),n=dd(id,"user");return {commentRegistry:new pd(t),taskRegistry:new md(n)}}function Kg(e){return {version:1,type:"doc",content:[{type:"paragraph",content:[{type:"text",text:e}]}]}}function pn(e){let t=e.replace(/\\n/g,`
|
|
50
50
|
`);if(t.trim().length===0)return Kg(t);try{let n=Gx(t);return n.length===0?Kg(t):{version:1,type:"doc",content:n}}catch{return Kg(t)}}function UN(e){return {lines:e.split(`
|
|
51
51
|
`),pos:0}}function jo(e){return e.lines[e.pos]}function gt(e){let t=e.lines[e.pos]??"";return e.pos++,t}function Eo(e){return e.pos<e.lines.length}var Fx=/^(#{1,6})\s+(.+)$/,Hg=/^(\s*)[-*+]\s+(.*)$/,Wg=/^(\s*)\d+\.\s+(.*)$/,Vx=/^```(\w*)$/,Xg=/^>\s?(.*)$/,Jx=/^(?:---+|\*\*\*+|___+)\s*$/,MN=/^:?-{3,}:?$/;function Gx(e){let t=UN(e),n=[];for(;Eo(t);){let o=jo(t);if(o===void 0)break;if(o.trim()===""){gt(t);continue}let r=Vx.exec(o);if(r){n.push(LN(t,r[1]??""));continue}if(Jx.test(o)){gt(t),n.push({type:"rule"});continue}let i=Fx.exec(o);if(i){gt(t);let a=(i[1]??"#").length,s=i[2]??"";n.push({type:"heading",attrs:{level:a},content:Hx(s)});continue}if(Xg.test(o)){n.push(qN(t));continue}if(Hg.test(o)){n.push(FN(t));continue}if(Wg.test(o)){n.push(VN(t));continue}if(Bx(t)){n.push(GN(t));continue}n.push(JN(t));}return n}function LN(e,t){gt(e);let n=[];for(;Eo(e);){let r=jo(e);if(r!==void 0&&/^```\s*$/.test(r)){gt(e);break}n.push(gt(e));}let o=n.join(`
|
|
52
52
|
`);return {type:"codeBlock",attrs:{language:t||"text"},content:o.length>0?[{type:"text",text:o}]:[]}}function qN(e){let t=[];for(;Eo(e);){let r=jo(e);if(r===void 0)break;let i=Xg.exec(r);if(!i)break;gt(e),t.push(i[1]??"");}let n=t.join(`
|
package/package.json
CHANGED