@gobing-ai/spur 0.3.90 → 0.3.92
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/.claude-plugin/marketplace.json +1 -1
- package/config/pipeline-budgets.json +9 -2
- package/config/plugin-scripts.json +17 -1
- package/config/workflows/decision-routing-example.yaml +134 -0
- package/config/workflows/feature-lifecycle.yaml +14 -5
- package/config/workflows/feature-verification.yaml +35 -27
- package/config/workflows/history-anatomy.yaml +14 -25
- package/config/workflows/idea-pipeline.yaml +17 -5
- package/config/workflows/task-pipeline.yaml +187 -4
- package/config/workflows/wayfinder-resolution.yaml +2 -0
- package/config/workflows/wrapup-pipeline.yaml +49 -5
- package/package.json +9 -9
- package/plugins/sp/README.md +1 -0
- package/plugins/sp/agents/expert-spur.md +2 -2
- package/plugins/sp/agents/super-planner.md +14 -5
- package/plugins/sp/commands/dev-dogfood.md +4 -4
- package/plugins/sp/commands/dev-fixall.md +8 -5
- package/plugins/sp/commands/dev-run.md +6 -0
- package/plugins/sp/commands/dev-runall.md +12 -6
- package/plugins/sp/commands/dev-verify.md +9 -0
- package/plugins/sp/commands/dev-verifyall.md +5 -0
- package/plugins/sp/lib/idea-handoff.generated.mjs +301 -300
- package/plugins/sp/lib/inline-run.generated.d.mts +17 -0
- package/plugins/sp/lib/inline-run.generated.mjs +1460 -0
- package/plugins/sp/plugin.json +1 -1
- package/plugins/sp/references/environment-lens.md +1 -1
- package/plugins/sp/scripts/dogfood-testing/validate-report.mjs +136 -0
- package/plugins/sp/scripts/dogfood-testing/validate-report.ts +196 -2
- package/plugins/sp/scripts/feature-verification-steps.mjs +174 -0
- package/plugins/sp/scripts/feature-verification-steps.ts +275 -0
- package/plugins/sp/scripts/history-anatomy-cache.mjs +104 -4
- package/plugins/sp/scripts/history-anatomy-cache.ts +137 -13
- package/plugins/sp/scripts/inline-pipeline-parity-check.ts +2 -0
- package/plugins/sp/scripts/inline-run-setup.mjs +349 -0
- package/plugins/sp/scripts/inline-run-setup.ts +192 -75
- package/plugins/sp/scripts/record-feature-sync.mjs +63 -0
- package/plugins/sp/scripts/record-feature-sync.ts +84 -0
- package/plugins/sp/scripts/residual-scan.mjs +476 -0
- package/plugins/sp/scripts/residual-scan.ts +614 -0
- package/plugins/sp/scripts/surface-drift-inventory.ts +71 -6
- package/plugins/sp/scripts/task-evidence-precheck.ts +8 -3
- package/plugins/sp/scripts/task-size-precheck.ts +8 -3
- package/plugins/sp/scripts/validate-flag-contracts.ts +3 -3
- package/plugins/sp/skills/branch-workflow/SKILL.md +1 -0
- package/plugins/sp/skills/branch-workflow/references/worktree-patterns.md +2 -0
- package/plugins/sp/skills/code-implementation/SKILL.md +17 -0
- package/plugins/sp/skills/code-verification/SKILL.md +21 -0
- package/plugins/sp/skills/code-verification/references/verdict-schema.md +1 -0
- package/plugins/sp/skills/dogfood-testing/SKILL.md +5 -3
- package/plugins/sp/skills/dogfood-testing/references/monitor-ledger.md +63 -26
- package/plugins/sp/skills/dogfood-testing/references/report-template.md +33 -10
- package/plugins/sp/skills/history-anatomy/references/modes.md +5 -3
- package/plugins/sp/skills/next-feature/references/ranking-rubric.md +1 -1
- package/plugins/sp/skills/next-router/references/routing-table.md +7 -0
- package/plugins/sp/skills/parallel-execution/references/dispatch-surface.md +1 -1
- package/plugins/sp/skills/session-review/SKILL.md +12 -2
- package/plugins/sp/skills/spur-cli/references/agent.md +11 -2
- package/plugins/sp/skills/spur-cli/references/features.md +1 -1
- package/plugins/sp/skills/spur-cli/references/projects.md +3 -1
- package/plugins/sp/skills/spur-cli/references/self.md +5 -1
- package/plugins/sp/skills/spur-cli/references/workflows.md +42 -20
- package/plugins/sp/skills/spur-dev/SKILL.md +11 -4
- package/plugins/sp/skills/spur-dev/references/cross-cutting.md +25 -3
- package/plugins/sp/skills/spur-dev/references/dev-operations.md +2 -2
- package/plugins/sp/skills/spur-dev/references/execution-batch.md +285 -57
- package/plugins/sp/skills/spur-dev/references/execution-workflow.md +14 -5
- package/plugins/sp/skills/spur-dev/references/flag-glossary.md +19 -4
- package/plugins/sp/skills/spur-dev/references/glossary.md +9 -1
- package/plugins/sp/skills/spur-dev/references/inline-pipeline-driver.md +51 -16
- package/plugins/sp/skills/spur-dev/references/planning-workflow.md +5 -0
- package/plugins/sp/skills/wayfinder/SKILL.md +1 -1
- package/spur.js +23422 -19364
- package/web/_astro/BoardApp.CerSBgis.js +192 -0
- package/web/_astro/BoardApp.eoTz0pZs.js +1 -0
- package/web/_astro/{TaskDetail.DwTmbQp5.js → TaskDetail.DCqiC-OZ.js} +1 -1
- package/web/_astro/arc.CPwg6Rw0.js +1 -0
- package/web/_astro/{architectureDiagram-3BPJPVTR.jvdDahWM.js → architectureDiagram-3BPJPVTR.DM_vp_hO.js} +1 -1
- package/web/_astro/{blockDiagram-GPEHLZMM.zSg4AmFD.js → blockDiagram-GPEHLZMM.DXVIiv0p.js} +1 -1
- package/web/_astro/{c4Diagram-AAUBKEIU.BkUIUQWH.js → c4Diagram-AAUBKEIU.BbF_zCxW.js} +1 -1
- package/web/_astro/channel.MYZLKNwy.js +1 -0
- package/web/_astro/{chunk-2J33WTMH.DvfQ_f50.js → chunk-2J33WTMH.CAgQHpPC.js} +1 -1
- package/web/_astro/{chunk-4BX2VUAB.DuI4gQqX.js → chunk-4BX2VUAB.BN-5tpw4.js} +1 -1
- package/web/_astro/{chunk-55IACEB6.D3BWBOpF.js → chunk-55IACEB6.CnPkEEr0.js} +1 -1
- package/web/_astro/{chunk-727SXJPM.3QSi0a9M.js → chunk-727SXJPM.BQzQeMVm.js} +4 -4
- package/web/_astro/{chunk-AQP2D5EJ.xazCQrAF.js → chunk-AQP2D5EJ.B6xNyDnL.js} +1 -1
- package/web/_astro/{chunk-FMBD7UC4.B2g6u4rA.js → chunk-FMBD7UC4.C7f9Ih78.js} +1 -1
- package/web/_astro/{chunk-ND2GUHAM.wWwWs99t.js → chunk-ND2GUHAM.CNV1dFXT.js} +1 -1
- package/web/_astro/{chunk-QZHKN3VN.BD5g3qa9.js → chunk-QZHKN3VN.Cudn2TkJ.js} +1 -1
- package/web/_astro/{classDiagram-4FO5ZUOK.C7CzCdsX.js → classDiagram-4FO5ZUOK.D1NwP50q.js} +1 -1
- package/web/_astro/{classDiagram-v2-Q7XG4LA2.C7CzCdsX.js → classDiagram-v2-Q7XG4LA2.D1NwP50q.js} +1 -1
- package/web/_astro/{cose-bilkent-S5V4N54A.Xyiau0gw.js → cose-bilkent-S5V4N54A.B1wSL-Xb.js} +1 -1
- package/web/_astro/{cynefin-OW5HDTMX.BeC5MWas.js → cynefin-OW5HDTMX.BmK52w8G.js} +1 -1
- package/web/_astro/{dagre-BM42HDAG.yZbMN9vc.js → dagre-BM42HDAG.Bfy5CTDT.js} +2 -2
- package/web/_astro/diagram-2AECGRRQ.DhNnvUvX.js +43 -0
- package/web/_astro/diagram-5GNKFQAL.lTX5KwnS.js +10 -0
- package/web/_astro/{diagram-KO2AKTUF.CR6k3Y3G.js → diagram-KO2AKTUF.CW_vMJ4z.js} +3 -3
- package/web/_astro/{diagram-LMA3HP47.x7mwu8jz.js → diagram-LMA3HP47.B_8ZGF67.js} +1 -1
- package/web/_astro/{diagram-OG6HWLK6.D8aTTvUr.js → diagram-OG6HWLK6.BppnHsdS.js} +1 -1
- package/web/_astro/{erDiagram-TEJ5UH35.BoBqcKXQ.js → erDiagram-TEJ5UH35.BEuHXcjJ.js} +5 -5
- package/web/_astro/{flowDiagram-I6XJVG4X.D3mTQdrU.js → flowDiagram-I6XJVG4X.CH-UlnGr.js} +4 -4
- package/web/_astro/{ganttDiagram-6RSMTGT7.H-cqgIh-.js → ganttDiagram-6RSMTGT7.BO81S85v.js} +1 -1
- package/web/_astro/{gitGraphDiagram-PVQCEYII.B6s9zbfC.js → gitGraphDiagram-PVQCEYII.XnPxPPZN.js} +1 -1
- package/web/_astro/index.Hjbr15fG.css +1 -0
- package/web/_astro/{infoDiagram-5YYISTIA.BzgCoV6P.js → infoDiagram-5YYISTIA.JyjYRu_T.js} +1 -1
- package/web/_astro/{ishikawaDiagram-YF4QCWOH.BZzVhy1-.js → ishikawaDiagram-YF4QCWOH.BBRBF-Fo.js} +5 -5
- package/web/_astro/{journeyDiagram-JHISSGLW.BV3195Py.js → journeyDiagram-JHISSGLW.C_iymSyp.js} +1 -1
- package/web/_astro/{kanban-definition-UN3LZRKU.BjRd2DWz.js → kanban-definition-UN3LZRKU.DdfW-Oqt.js} +7 -7
- package/web/_astro/{linear.BILTgS5N.js → linear.C2_IkbZT.js} +1 -1
- package/web/_astro/mermaid.core.GAOYeSR0.js +303 -0
- package/web/_astro/{mindmap-definition-RKZ34NQL.BiEjaI4-.js → mindmap-definition-RKZ34NQL.DAZIxQSK.js} +2 -2
- package/web/_astro/{pieDiagram-4H26LBE5.i_8V5pIn.js → pieDiagram-4H26LBE5.CN8sIhKM.js} +3 -3
- package/web/_astro/{quadrantDiagram-W4KKPZXB.BWaW3MHn.js → quadrantDiagram-W4KKPZXB.3dGcX5GP.js} +1 -1
- package/web/_astro/{requirementDiagram-4Y6WPE33.CzddBbtg.js → requirementDiagram-4Y6WPE33.BV2y4dd6.js} +3 -3
- package/web/_astro/{sankeyDiagram-5OEKKPKP.X2ww0e-D.js → sankeyDiagram-5OEKKPKP.Cqo15Tvo.js} +4 -4
- package/web/_astro/{sequenceDiagram-3UESZ5HK.DSA4kTcc.js → sequenceDiagram-3UESZ5HK.CROCPMJB.js} +1 -1
- package/web/_astro/{stateDiagram-AJRCARHV.D0DtFSpR.js → stateDiagram-AJRCARHV.RfXZrkFE.js} +1 -1
- package/web/_astro/{stateDiagram-v2-BHNVJYJU.BfQq0zQv.js → stateDiagram-v2-BHNVJYJU.CPXmbBs9.js} +1 -1
- package/web/_astro/{timeline-definition-PNZ67QCA.Dmlrgi1m.js → timeline-definition-PNZ67QCA.DdgKTiO8.js} +3 -3
- package/web/_astro/{vennDiagram-CIIHVFJN.D5mpl00Z.js → vennDiagram-CIIHVFJN.CPNVSHF1.js} +5 -5
- package/web/_astro/{wardleyDiagram-YWT4CUSO.Df4BdzO4.js → wardleyDiagram-YWT4CUSO.CQhA0Jyr.js} +3 -3
- package/web/_astro/{xychartDiagram-2RQKCTM6.DiTRreKN.js → xychartDiagram-2RQKCTM6.n61BWyy4.js} +1 -1
- package/web/index.html +2 -2
- package/web/_astro/BoardApp.CDUcHlTJ.js +0 -188
- package/web/_astro/BoardApp.CaCGU_uX.js +0 -1
- package/web/_astro/arc.BzF71EFI.js +0 -1
- package/web/_astro/channel.SSVY0JPQ.js +0 -1
- package/web/_astro/diagram-2AECGRRQ.Cmo2zQM-.js +0 -43
- package/web/_astro/diagram-5GNKFQAL.D033eSVi.js +0 -10
- package/web/_astro/index.CcU5weKX.css +0 -1
- package/web/_astro/mermaid.core.DBy_WKeW.js +0 -301
|
@@ -0,0 +1,1460 @@
|
|
|
1
|
+
import{createRequire}from"node:module";var __create=Object.create;var{getPrototypeOf:__getProtoOf,defineProperty:__defProp,getOwnPropertyNames:__getOwnPropNames}=Object;var __hasOwnProp=Object.prototype.hasOwnProperty;function __accessProp(key){return this[key]}var __toESMCache_node,__toESMCache_esm,__toESM=(mod,isNodeMode,target)=>{var canCache=mod!=null&&typeof mod==="object";if(canCache){var cache=isNodeMode?__toESMCache_node??=new WeakMap:__toESMCache_esm??=new WeakMap,cached=cache.get(mod);if(cached)return cached}target=mod!=null?__create(__getProtoOf(mod)):{};let to=isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target;for(let key of __getOwnPropNames(mod))if(!__hasOwnProp.call(to,key))__defProp(to,key,{get:__accessProp.bind(mod,key),enumerable:!0});if(canCache)cache.set(mod,to);return to};var __commonJS=(cb,mod)=>()=>(mod||cb((mod={exports:{}}).exports,mod),mod.exports);var __returnValue=(v)=>v;function __exportSetter(name,newValue){this[name]=__returnValue.bind(null,newValue)}var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0,configurable:!0,set:__exportSetter.bind(all,name)})};var __esm=(fn,res)=>()=>(fn&&(res=fn(fn=0)),res);var __require=createRequire(import.meta.url);function $constructor(name,initializer,params){function init(inst,def){if(!inst._zod)Object.defineProperty(inst,"_zod",{value:{def,constr:_,traits:new Set},enumerable:!1});if(inst._zod.traits.has(name))return;inst._zod.traits.add(name),initializer(inst,def);let proto=_.prototype,keys=Object.keys(proto);for(let i=0;i<keys.length;i++){let k=keys[i];if(!(k in inst))inst[k]=proto[k].bind(inst)}}let Parent=params?.Parent??Object;class Definition extends Parent{}Object.defineProperty(Definition,"name",{value:name});function _(def){var _a2;let inst=params?.Parent?new Definition:this;init(inst,def),(_a2=inst._zod).deferred??(_a2.deferred=[]);for(let fn of inst._zod.deferred)fn();return inst}return Object.defineProperty(_,"init",{value:init}),Object.defineProperty(_,Symbol.hasInstance,{value:(inst)=>{if(params?.Parent&&inst instanceof params.Parent)return!0;return inst?._zod?.traits?.has(name)}}),Object.defineProperty(_,"name",{value:name}),_}function config(newConfig){if(newConfig)Object.assign(globalConfig,newConfig);return globalConfig}var _a,NEVER,$brand,$ZodAsyncError,$ZodEncodeError,globalConfig;var init_core=__esm(()=>{NEVER=Object.freeze({status:"aborted"});$brand=Symbol("zod_brand");$ZodAsyncError=class $ZodAsyncError extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};$ZodEncodeError=class $ZodEncodeError extends Error{constructor(name){super(`Encountered unidirectional transform during encode: ${name}`);this.name="ZodEncodeError"}};(_a=globalThis).__zod_globalConfig??(_a.__zod_globalConfig={});globalConfig=globalThis.__zod_globalConfig});var exports_util={};__export(exports_util,{unwrapMessage:()=>unwrapMessage,uint8ArrayToHex:()=>uint8ArrayToHex,uint8ArrayToBase64url:()=>uint8ArrayToBase64url,uint8ArrayToBase64:()=>uint8ArrayToBase64,stringifyPrimitive:()=>stringifyPrimitive,slugify:()=>slugify,shallowClone:()=>shallowClone,safeExtend:()=>safeExtend,required:()=>required,randomString:()=>randomString,propertyKeyTypes:()=>propertyKeyTypes,promiseAllObject:()=>promiseAllObject,primitiveTypes:()=>primitiveTypes,prefixIssues:()=>prefixIssues,pick:()=>pick,partial:()=>partial,parsedType:()=>parsedType,optionalKeys:()=>optionalKeys,omit:()=>omit,objectClone:()=>objectClone,numKeys:()=>numKeys,nullish:()=>nullish,normalizeParams:()=>normalizeParams,mergeDefs:()=>mergeDefs,merge:()=>merge,jsonStringifyReplacer:()=>jsonStringifyReplacer,joinValues:()=>joinValues,issue:()=>issue,isPlainObject:()=>isPlainObject,isObject:()=>isObject,hexToUint8Array:()=>hexToUint8Array,getSizableOrigin:()=>getSizableOrigin,getParsedType:()=>getParsedType,getLengthableOrigin:()=>getLengthableOrigin,getEnumValues:()=>getEnumValues,getElementAtPath:()=>getElementAtPath,floatSafeRemainder:()=>floatSafeRemainder,finalizeIssue:()=>finalizeIssue,extend:()=>extend,explicitlyAborted:()=>explicitlyAborted,escapeRegex:()=>escapeRegex,esc:()=>esc,defineLazy:()=>defineLazy,createTransparentProxy:()=>createTransparentProxy,cloneDef:()=>cloneDef,clone:()=>clone,cleanRegex:()=>cleanRegex,cleanEnum:()=>cleanEnum,captureStackTrace:()=>captureStackTrace,cached:()=>cached,base64urlToUint8Array:()=>base64urlToUint8Array,base64ToUint8Array:()=>base64ToUint8Array,assignProp:()=>assignProp,assertNotEqual:()=>assertNotEqual,assertNever:()=>assertNever,assertIs:()=>assertIs,assertEqual:()=>assertEqual,assert:()=>assert,allowsEval:()=>allowsEval,aborted:()=>aborted,NUMBER_FORMAT_RANGES:()=>NUMBER_FORMAT_RANGES,Class:()=>Class,BIGINT_FORMAT_RANGES:()=>BIGINT_FORMAT_RANGES});function assertEqual(val){return val}function assertNotEqual(val){return val}function assertIs(_arg){}function assertNever(_x){throw Error("Unexpected value in exhaustive check")}function assert(_){}function getEnumValues(entries){let numericValues=Object.values(entries).filter((v)=>typeof v==="number");return Object.entries(entries).filter(([k,_])=>numericValues.indexOf(+k)===-1).map(([_,v])=>v)}function joinValues(array,separator="|"){return array.map((val)=>stringifyPrimitive(val)).join(separator)}function jsonStringifyReplacer(_,value){if(typeof value==="bigint")return value.toString();return value}function cached(getter){return{get value(){{let value=getter();return Object.defineProperty(this,"value",{value}),value}throw Error("cached value already set")}}}function nullish(input){return input===null||input===void 0}function cleanRegex(source){let start=source.startsWith("^")?1:0,end=source.endsWith("$")?source.length-1:source.length;return source.slice(start,end)}function floatSafeRemainder(val,step){let ratio=val/step,roundedRatio=Math.round(ratio),tolerance=Number.EPSILON*Math.max(Math.abs(ratio),1);if(Math.abs(ratio-roundedRatio)<tolerance)return 0;return ratio-roundedRatio}function defineLazy(object,key,getter){let value=void 0;Object.defineProperty(object,key,{get(){if(value===EVALUATING)return;if(value===void 0)value=EVALUATING,value=getter();return value},set(v){Object.defineProperty(object,key,{value:v})},configurable:!0})}function objectClone(obj){return Object.create(Object.getPrototypeOf(obj),Object.getOwnPropertyDescriptors(obj))}function assignProp(target,prop,value){Object.defineProperty(target,prop,{value,writable:!0,enumerable:!0,configurable:!0})}function mergeDefs(...defs){let mergedDescriptors={};for(let def of defs){let descriptors=Object.getOwnPropertyDescriptors(def);Object.assign(mergedDescriptors,descriptors)}return Object.defineProperties({},mergedDescriptors)}function cloneDef(schema){return mergeDefs(schema._zod.def)}function getElementAtPath(obj,path){if(!path)return obj;return path.reduce((acc,key)=>acc?.[key],obj)}function promiseAllObject(promisesObj){let keys=Object.keys(promisesObj),promises=keys.map((key)=>promisesObj[key]);return Promise.all(promises).then((results)=>{let resolvedObj={};for(let i=0;i<keys.length;i++)resolvedObj[keys[i]]=results[i];return resolvedObj})}function randomString(length=10){let str="";for(let i=0;i<length;i++)str+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return str}function esc(str){return JSON.stringify(str)}function slugify(input){return input.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function isObject(data){return typeof data==="object"&&data!==null&&!Array.isArray(data)}function isPlainObject(o){if(isObject(o)===!1)return!1;let ctor=o.constructor;if(ctor===void 0)return!0;if(typeof ctor!=="function")return!0;let prot=ctor.prototype;if(isObject(prot)===!1)return!1;if(Object.prototype.hasOwnProperty.call(prot,"isPrototypeOf")===!1)return!1;return!0}function shallowClone(o){if(isPlainObject(o))return{...o};if(Array.isArray(o))return[...o];if(o instanceof Map)return new Map(o);if(o instanceof Set)return new Set(o);return o}function numKeys(data){let keyCount=0;for(let key in data)if(Object.prototype.hasOwnProperty.call(data,key))keyCount++;return keyCount}function escapeRegex(str){return str.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function clone(inst,def,params){let cl=new inst._zod.constr(def??inst._zod.def);if(!def||params?.parent)cl._zod.parent=inst;return cl}function normalizeParams(_params){let params=_params;if(!params)return{};if(typeof params==="string")return{error:()=>params};if(params?.message!==void 0){if(params?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");params.error=params.message}if(delete params.message,typeof params.error==="string")return{...params,error:()=>params.error};return params}function createTransparentProxy(getter){let target;return new Proxy({},{get(_,prop,receiver){return target??(target=getter()),Reflect.get(target,prop,receiver)},set(_,prop,value,receiver){return target??(target=getter()),Reflect.set(target,prop,value,receiver)},has(_,prop){return target??(target=getter()),Reflect.has(target,prop)},deleteProperty(_,prop){return target??(target=getter()),Reflect.deleteProperty(target,prop)},ownKeys(_){return target??(target=getter()),Reflect.ownKeys(target)},getOwnPropertyDescriptor(_,prop){return target??(target=getter()),Reflect.getOwnPropertyDescriptor(target,prop)},defineProperty(_,prop,descriptor){return target??(target=getter()),Reflect.defineProperty(target,prop,descriptor)}})}function stringifyPrimitive(value){if(typeof value==="bigint")return value.toString()+"n";if(typeof value==="string")return`"${value}"`;return`${value}`}function optionalKeys(shape){return Object.keys(shape).filter((k)=>{return shape[k]._zod.optin==="optional"&&shape[k]._zod.optout==="optional"})}function pick(schema,mask){let currDef=schema._zod.def,checks=currDef.checks;if(checks&&checks.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let def=mergeDefs(schema._zod.def,{get shape(){let newShape={};for(let key in mask){if(!(key in currDef.shape))throw Error(`Unrecognized key: "${key}"`);if(!mask[key])continue;newShape[key]=currDef.shape[key]}return assignProp(this,"shape",newShape),newShape},checks:[]});return clone(schema,def)}function omit(schema,mask){let currDef=schema._zod.def,checks=currDef.checks;if(checks&&checks.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let def=mergeDefs(schema._zod.def,{get shape(){let newShape={...schema._zod.def.shape};for(let key in mask){if(!(key in currDef.shape))throw Error(`Unrecognized key: "${key}"`);if(!mask[key])continue;delete newShape[key]}return assignProp(this,"shape",newShape),newShape},checks:[]});return clone(schema,def)}function extend(schema,shape){if(!isPlainObject(shape))throw Error("Invalid input to extend: expected a plain object");let checks=schema._zod.def.checks;if(checks&&checks.length>0){let existingShape=schema._zod.def.shape;for(let key in shape)if(Object.getOwnPropertyDescriptor(existingShape,key)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let def=mergeDefs(schema._zod.def,{get shape(){let _shape={...schema._zod.def.shape,...shape};return assignProp(this,"shape",_shape),_shape}});return clone(schema,def)}function safeExtend(schema,shape){if(!isPlainObject(shape))throw Error("Invalid input to safeExtend: expected a plain object");let def=mergeDefs(schema._zod.def,{get shape(){let _shape={...schema._zod.def.shape,...shape};return assignProp(this,"shape",_shape),_shape}});return clone(schema,def)}function merge(a,b){if(a._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let def=mergeDefs(a._zod.def,{get shape(){let _shape={...a._zod.def.shape,...b._zod.def.shape};return assignProp(this,"shape",_shape),_shape},get catchall(){return b._zod.def.catchall},checks:b._zod.def.checks??[]});return clone(a,def)}function partial(Class,schema,mask){let checks=schema._zod.def.checks;if(checks&&checks.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let def=mergeDefs(schema._zod.def,{get shape(){let oldShape=schema._zod.def.shape,shape={...oldShape};if(mask)for(let key in mask){if(!(key in oldShape))throw Error(`Unrecognized key: "${key}"`);if(!mask[key])continue;shape[key]=Class?new Class({type:"optional",innerType:oldShape[key]}):oldShape[key]}else for(let key in oldShape)shape[key]=Class?new Class({type:"optional",innerType:oldShape[key]}):oldShape[key];return assignProp(this,"shape",shape),shape},checks:[]});return clone(schema,def)}function required(Class,schema,mask){let def=mergeDefs(schema._zod.def,{get shape(){let oldShape=schema._zod.def.shape,shape={...oldShape};if(mask)for(let key in mask){if(!(key in shape))throw Error(`Unrecognized key: "${key}"`);if(!mask[key])continue;shape[key]=new Class({type:"nonoptional",innerType:oldShape[key]})}else for(let key in oldShape)shape[key]=new Class({type:"nonoptional",innerType:oldShape[key]});return assignProp(this,"shape",shape),shape}});return clone(schema,def)}function aborted(x,startIndex=0){if(x.aborted===!0)return!0;for(let i=startIndex;i<x.issues.length;i++)if(x.issues[i]?.continue!==!0)return!0;return!1}function explicitlyAborted(x,startIndex=0){if(x.aborted===!0)return!0;for(let i=startIndex;i<x.issues.length;i++)if(x.issues[i]?.continue===!1)return!0;return!1}function prefixIssues(path,issues){return issues.map((iss)=>{var _a2;return(_a2=iss).path??(_a2.path=[]),iss.path.unshift(path),iss})}function unwrapMessage(message){return typeof message==="string"?message:message?.message}function finalizeIssue(iss,ctx,config2){let message=iss.message?iss.message:unwrapMessage(iss.inst?._zod.def?.error?.(iss))??unwrapMessage(ctx?.error?.(iss))??unwrapMessage(config2.customError?.(iss))??unwrapMessage(config2.localeError?.(iss))??"Invalid input",{inst:_inst,continue:_continue,input:_input,...rest}=iss;if(rest.path??(rest.path=[]),rest.message=message,ctx?.reportInput)rest.input=_input;return rest}function getSizableOrigin(input){if(input instanceof Set)return"set";if(input instanceof Map)return"map";if(input instanceof File)return"file";return"unknown"}function getLengthableOrigin(input){if(Array.isArray(input))return"array";if(typeof input==="string")return"string";return"unknown"}function parsedType(data){let t=typeof data;switch(t){case"number":return Number.isNaN(data)?"nan":"number";case"object":{if(data===null)return"null";if(Array.isArray(data))return"array";let obj=data;if(obj&&Object.getPrototypeOf(obj)!==Object.prototype&&"constructor"in obj&&obj.constructor)return obj.constructor.name}}return t}function issue(...args){let[iss,input,inst]=args;if(typeof iss==="string")return{message:iss,code:"custom",input,inst};return{...iss}}function cleanEnum(obj){return Object.entries(obj).filter(([k,_])=>{return Number.isNaN(Number.parseInt(k,10))}).map((el)=>el[1])}function base64ToUint8Array(base64){let binaryString=atob(base64),bytes=new Uint8Array(binaryString.length);for(let i=0;i<binaryString.length;i++)bytes[i]=binaryString.charCodeAt(i);return bytes}function uint8ArrayToBase64(bytes){let binaryString="";for(let i=0;i<bytes.length;i++)binaryString+=String.fromCharCode(bytes[i]);return btoa(binaryString)}function base64urlToUint8Array(base64url){let base64=base64url.replace(/-/g,"+").replace(/_/g,"/"),padding="=".repeat((4-base64.length%4)%4);return base64ToUint8Array(base64+padding)}function uint8ArrayToBase64url(bytes){return uint8ArrayToBase64(bytes).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function hexToUint8Array(hex){let cleanHex=hex.replace(/^0x/,"");if(cleanHex.length%2!==0)throw Error("Invalid hex string length");let bytes=new Uint8Array(cleanHex.length/2);for(let i=0;i<cleanHex.length;i+=2)bytes[i/2]=Number.parseInt(cleanHex.slice(i,i+2),16);return bytes}function uint8ArrayToHex(bytes){return Array.from(bytes).map((b)=>b.toString(16).padStart(2,"0")).join("")}class Class{constructor(..._args){}}var EVALUATING,captureStackTrace,allowsEval,getParsedType=(data)=>{let t=typeof data;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(data)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray(data))return"array";if(data===null)return"null";if(data.then&&typeof data.then==="function"&&data.catch&&typeof data.catch==="function")return"promise";if(typeof Map<"u"&&data instanceof Map)return"map";if(typeof Set<"u"&&data instanceof Set)return"set";if(typeof Date<"u"&&data instanceof Date)return"date";if(typeof File<"u"&&data instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${t}`)}},propertyKeyTypes,primitiveTypes,NUMBER_FORMAT_RANGES,BIGINT_FORMAT_RANGES;var init_util=__esm(()=>{init_core();EVALUATING=Symbol("evaluating");captureStackTrace="captureStackTrace"in Error?Error.captureStackTrace:(..._args)=>{};allowsEval=cached(()=>{if(globalConfig.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(_){return!1}});propertyKeyTypes=new Set(["string","number","symbol"]),primitiveTypes=new Set(["string","number","bigint","boolean","symbol","undefined"]);NUMBER_FORMAT_RANGES={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},BIGINT_FORMAT_RANGES={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]}});function flattenError(error,mapper=(issue2)=>issue2.message){let fieldErrors={},formErrors=[];for(let sub of error.issues)if(sub.path.length>0)fieldErrors[sub.path[0]]=fieldErrors[sub.path[0]]||[],fieldErrors[sub.path[0]].push(mapper(sub));else formErrors.push(mapper(sub));return{formErrors,fieldErrors}}function formatError(error,mapper=(issue2)=>issue2.message){let fieldErrors={_errors:[]},processError=(error2,path=[])=>{for(let issue2 of error2.issues)if(issue2.code==="invalid_union"&&issue2.errors.length)issue2.errors.map((issues)=>processError({issues},[...path,...issue2.path]));else if(issue2.code==="invalid_key")processError({issues:issue2.issues},[...path,...issue2.path]);else if(issue2.code==="invalid_element")processError({issues:issue2.issues},[...path,...issue2.path]);else{let fullpath=[...path,...issue2.path];if(fullpath.length===0)fieldErrors._errors.push(mapper(issue2));else{let curr=fieldErrors,i=0;while(i<fullpath.length){let el=fullpath[i];if(i!==fullpath.length-1)curr[el]=curr[el]||{_errors:[]};else curr[el]=curr[el]||{_errors:[]},curr[el]._errors.push(mapper(issue2));curr=curr[el],i++}}}};return processError(error),fieldErrors}function treeifyError(error,mapper=(issue2)=>issue2.message){let result={errors:[]},processError=(error2,path=[])=>{var _a2,_b;for(let issue2 of error2.issues)if(issue2.code==="invalid_union"&&issue2.errors.length)issue2.errors.map((issues)=>processError({issues},[...path,...issue2.path]));else if(issue2.code==="invalid_key")processError({issues:issue2.issues},[...path,...issue2.path]);else if(issue2.code==="invalid_element")processError({issues:issue2.issues},[...path,...issue2.path]);else{let fullpath=[...path,...issue2.path];if(fullpath.length===0){result.errors.push(mapper(issue2));continue}let curr=result,i=0;while(i<fullpath.length){let el=fullpath[i],terminal=i===fullpath.length-1;if(typeof el==="string")curr.properties??(curr.properties={}),(_a2=curr.properties)[el]??(_a2[el]={errors:[]}),curr=curr.properties[el];else curr.items??(curr.items=[]),(_b=curr.items)[el]??(_b[el]={errors:[]}),curr=curr.items[el];if(terminal)curr.errors.push(mapper(issue2));i++}}};return processError(error),result}function toDotPath(_path){let segs=[],path=_path.map((seg)=>typeof seg==="object"?seg.key:seg);for(let seg of path)if(typeof seg==="number")segs.push(`[${seg}]`);else if(typeof seg==="symbol")segs.push(`[${JSON.stringify(String(seg))}]`);else if(/[^\w$]/.test(seg))segs.push(`[${JSON.stringify(seg)}]`);else{if(segs.length)segs.push(".");segs.push(seg)}return segs.join("")}function prettifyError(error){let lines=[],issues=[...error.issues].sort((a,b)=>(a.path??[]).length-(b.path??[]).length);for(let issue2 of issues)if(lines.push(`✖ ${issue2.message}`),issue2.path?.length)lines.push(` → at ${toDotPath(issue2.path)}`);return lines.join(`
|
|
2
|
+
`)}var initializer=(inst,def)=>{inst.name="$ZodError",Object.defineProperty(inst,"_zod",{value:inst._zod,enumerable:!1}),Object.defineProperty(inst,"issues",{value:def,enumerable:!1}),inst.message=JSON.stringify(def,jsonStringifyReplacer,2),Object.defineProperty(inst,"toString",{value:()=>inst.message,enumerable:!1})},$ZodError,$ZodRealError;var init_errors=__esm(()=>{init_core();init_util();$ZodError=$constructor("$ZodError",initializer),$ZodRealError=$constructor("$ZodError",initializer,{Parent:Error})});var _parse=(_Err)=>(schema,value,_ctx,_params)=>{let ctx=_ctx?{..._ctx,async:!1}:{async:!1},result=schema._zod.run({value,issues:[]},ctx);if(result instanceof Promise)throw new $ZodAsyncError;if(result.issues.length){let e=new(_params?.Err??_Err)(result.issues.map((iss)=>finalizeIssue(iss,ctx,config())));throw captureStackTrace(e,_params?.callee),e}return result.value},parse,_parseAsync=(_Err)=>async(schema,value,_ctx,params)=>{let ctx=_ctx?{..._ctx,async:!0}:{async:!0},result=schema._zod.run({value,issues:[]},ctx);if(result instanceof Promise)result=await result;if(result.issues.length){let e=new(params?.Err??_Err)(result.issues.map((iss)=>finalizeIssue(iss,ctx,config())));throw captureStackTrace(e,params?.callee),e}return result.value},parseAsync,_safeParse=(_Err)=>(schema,value,_ctx)=>{let ctx=_ctx?{..._ctx,async:!1}:{async:!1},result=schema._zod.run({value,issues:[]},ctx);if(result instanceof Promise)throw new $ZodAsyncError;return result.issues.length?{success:!1,error:new(_Err??$ZodError)(result.issues.map((iss)=>finalizeIssue(iss,ctx,config())))}:{success:!0,data:result.value}},safeParse,_safeParseAsync=(_Err)=>async(schema,value,_ctx)=>{let ctx=_ctx?{..._ctx,async:!0}:{async:!0},result=schema._zod.run({value,issues:[]},ctx);if(result instanceof Promise)result=await result;return result.issues.length?{success:!1,error:new _Err(result.issues.map((iss)=>finalizeIssue(iss,ctx,config())))}:{success:!0,data:result.value}},safeParseAsync,_encode=(_Err)=>(schema,value,_ctx)=>{let ctx=_ctx?{..._ctx,direction:"backward"}:{direction:"backward"};return _parse(_Err)(schema,value,ctx)},encode,_decode=(_Err)=>(schema,value,_ctx)=>{return _parse(_Err)(schema,value,_ctx)},decode,_encodeAsync=(_Err)=>async(schema,value,_ctx)=>{let ctx=_ctx?{..._ctx,direction:"backward"}:{direction:"backward"};return _parseAsync(_Err)(schema,value,ctx)},encodeAsync,_decodeAsync=(_Err)=>async(schema,value,_ctx)=>{return _parseAsync(_Err)(schema,value,_ctx)},decodeAsync,_safeEncode=(_Err)=>(schema,value,_ctx)=>{let ctx=_ctx?{..._ctx,direction:"backward"}:{direction:"backward"};return _safeParse(_Err)(schema,value,ctx)},safeEncode,_safeDecode=(_Err)=>(schema,value,_ctx)=>{return _safeParse(_Err)(schema,value,_ctx)},safeDecode,_safeEncodeAsync=(_Err)=>async(schema,value,_ctx)=>{let ctx=_ctx?{..._ctx,direction:"backward"}:{direction:"backward"};return _safeParseAsync(_Err)(schema,value,ctx)},safeEncodeAsync,_safeDecodeAsync=(_Err)=>async(schema,value,_ctx)=>{return _safeParseAsync(_Err)(schema,value,_ctx)},safeDecodeAsync;var init_parse=__esm(()=>{init_core();init_errors();init_util();parse=_parse($ZodRealError),parseAsync=_parseAsync($ZodRealError),safeParse=_safeParse($ZodRealError),safeParseAsync=_safeParseAsync($ZodRealError),encode=_encode($ZodRealError),decode=_decode($ZodRealError),encodeAsync=_encodeAsync($ZodRealError),decodeAsync=_decodeAsync($ZodRealError),safeEncode=_safeEncode($ZodRealError),safeDecode=_safeDecode($ZodRealError),safeEncodeAsync=_safeEncodeAsync($ZodRealError),safeDecodeAsync=_safeDecodeAsync($ZodRealError)});var exports_regexes={};__export(exports_regexes,{xid:()=>xid,uuid7:()=>uuid7,uuid6:()=>uuid6,uuid4:()=>uuid4,uuid:()=>uuid,uppercase:()=>uppercase,unicodeEmail:()=>unicodeEmail,undefined:()=>_undefined,ulid:()=>ulid,time:()=>time,string:()=>string,sha512_hex:()=>sha512_hex,sha512_base64url:()=>sha512_base64url,sha512_base64:()=>sha512_base64,sha384_hex:()=>sha384_hex,sha384_base64url:()=>sha384_base64url,sha384_base64:()=>sha384_base64,sha256_hex:()=>sha256_hex,sha256_base64url:()=>sha256_base64url,sha256_base64:()=>sha256_base64,sha1_hex:()=>sha1_hex,sha1_base64url:()=>sha1_base64url,sha1_base64:()=>sha1_base64,rfc5322Email:()=>rfc5322Email,number:()=>number,null:()=>_null,nanoid:()=>nanoid,md5_hex:()=>md5_hex,md5_base64url:()=>md5_base64url,md5_base64:()=>md5_base64,mac:()=>mac,lowercase:()=>lowercase,ksuid:()=>ksuid,ipv6:()=>ipv6,ipv4:()=>ipv4,integer:()=>integer,idnEmail:()=>idnEmail,httpProtocol:()=>httpProtocol,html5Email:()=>html5Email,hostname:()=>hostname,hex:()=>hex,guid:()=>guid,extendedDuration:()=>extendedDuration,emoji:()=>emoji,email:()=>email,e164:()=>e164,duration:()=>duration,domain:()=>domain,datetime:()=>datetime,date:()=>date,cuid2:()=>cuid2,cuid:()=>cuid,cidrv6:()=>cidrv6,cidrv4:()=>cidrv4,browserEmail:()=>browserEmail,boolean:()=>boolean,bigint:()=>bigint,base64url:()=>base64url,base64:()=>base64});function emoji(){return new RegExp(_emoji,"u")}function timeSource(args){return typeof args.precision==="number"?args.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":args.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${args.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function time(args){return new RegExp(`^${timeSource(args)}$`)}function datetime(args){let time2=timeSource({precision:args.precision}),opts=["Z"];if(args.local)opts.push("");if(args.offset)opts.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let timeRegex=`${time2}(?:${opts.join("|")})`;return new RegExp(`^${dateSource}T(?:${timeRegex})$`)}function fixedBase64(bodyLength,padding){return new RegExp(`^[A-Za-z0-9+/]{${bodyLength}}${padding}$`)}function fixedBase64url(length){return new RegExp(`^[A-Za-z0-9_-]{${length}}$`)}var cuid,cuid2,ulid,xid,ksuid,nanoid,duration,extendedDuration,guid,uuid=(version)=>{if(!version)return/^([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)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${version}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)},uuid4,uuid6,uuid7,email,html5Email,rfc5322Email,unicodeEmail,idnEmail,browserEmail,_emoji="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",ipv4,ipv6,mac=(delimiter)=>{let escapedDelim=escapeRegex(delimiter??":");return new RegExp(`^(?:[0-9A-F]{2}${escapedDelim}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${escapedDelim}){5}[0-9a-f]{2}$`)},cidrv4,cidrv6,base64,base64url,hostname,domain,httpProtocol,e164,dateSource="(?:(?:\\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])))",date,string=(params)=>{let regex=params?`[\\s\\S]{${params?.minimum??0},${params?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${regex}$`)},bigint,integer,number,boolean,_null,_undefined,lowercase,uppercase,hex,md5_hex,md5_base64,md5_base64url,sha1_hex,sha1_base64,sha1_base64url,sha256_hex,sha256_base64,sha256_base64url,sha384_hex,sha384_base64,sha384_base64url,sha512_hex,sha512_base64,sha512_base64url;var init_regexes=__esm(()=>{init_util();cuid=/^[cC][0-9a-z]{6,}$/,cuid2=/^[0-9a-z]+$/,ulid=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,xid=/^[0-9a-vA-V]{20}$/,ksuid=/^[A-Za-z0-9]{27}$/,nanoid=/^[a-zA-Z0-9_-]{21}$/,duration=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,extendedDuration=/^[-+]?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)?)??$/,guid=/^([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})$/,uuid4=uuid(4),uuid6=uuid(6),uuid7=uuid(7),email=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,html5Email=/^[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])?)*$/,rfc5322Email=/^(([^<>()\[\]\\.,;:\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,}))$/,unicodeEmail=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,idnEmail=unicodeEmail,browserEmail=/^[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])?)*$/;ipv4=/^(?:(?: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])$/,ipv6=/^(([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}|:))$/,cidrv4=/^((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])$/,cidrv6=/^(([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])$/,base64=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,base64url=/^[A-Za-z0-9_-]*$/,hostname=/^(?=.{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])?)*\.?$/,domain=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,httpProtocol=/^https?$/,e164=/^\+[1-9]\d{6,14}$/,date=new RegExp(`^${dateSource}$`);bigint=/^-?\d+n?$/,integer=/^-?\d+$/,number=/^-?\d+(?:\.\d+)?$/,boolean=/^(?:true|false)$/i,_null=/^null$/i,_undefined=/^undefined$/i,lowercase=/^[^A-Z]*$/,uppercase=/^[^a-z]*$/,hex=/^[0-9a-fA-F]*$/;md5_hex=/^[0-9a-fA-F]{32}$/,md5_base64=fixedBase64(22,"=="),md5_base64url=fixedBase64url(22),sha1_hex=/^[0-9a-fA-F]{40}$/,sha1_base64=fixedBase64(27,"="),sha1_base64url=fixedBase64url(27),sha256_hex=/^[0-9a-fA-F]{64}$/,sha256_base64=fixedBase64(43,"="),sha256_base64url=fixedBase64url(43),sha384_hex=/^[0-9a-fA-F]{96}$/,sha384_base64=fixedBase64(64,""),sha384_base64url=fixedBase64url(64),sha512_hex=/^[0-9a-fA-F]{128}$/,sha512_base64=fixedBase64(86,"=="),sha512_base64url=fixedBase64url(86)});function handleCheckPropertyResult(result,payload,property){if(result.issues.length)payload.issues.push(...prefixIssues(property,result.issues))}var $ZodCheck,numericOriginMap,$ZodCheckLessThan,$ZodCheckGreaterThan,$ZodCheckMultipleOf,$ZodCheckNumberFormat,$ZodCheckBigIntFormat,$ZodCheckMaxSize,$ZodCheckMinSize,$ZodCheckSizeEquals,$ZodCheckMaxLength,$ZodCheckMinLength,$ZodCheckLengthEquals,$ZodCheckStringFormat,$ZodCheckRegex,$ZodCheckLowerCase,$ZodCheckUpperCase,$ZodCheckIncludes,$ZodCheckStartsWith,$ZodCheckEndsWith,$ZodCheckProperty,$ZodCheckMimeType,$ZodCheckOverwrite;var init_checks=__esm(()=>{init_core();init_regexes();init_util();$ZodCheck=$constructor("$ZodCheck",(inst,def)=>{var _a2;inst._zod??(inst._zod={}),inst._zod.def=def,(_a2=inst._zod).onattach??(_a2.onattach=[])}),numericOriginMap={number:"number",bigint:"bigint",object:"date"},$ZodCheckLessThan=$constructor("$ZodCheckLessThan",(inst,def)=>{$ZodCheck.init(inst,def);let origin=numericOriginMap[typeof def.value];inst._zod.onattach.push((inst2)=>{let bag=inst2._zod.bag,curr=(def.inclusive?bag.maximum:bag.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(def.value<curr)if(def.inclusive)bag.maximum=def.value;else bag.exclusiveMaximum=def.value}),inst._zod.check=(payload)=>{if(def.inclusive?payload.value<=def.value:payload.value<def.value)return;payload.issues.push({origin,code:"too_big",maximum:typeof def.value==="object"?def.value.getTime():def.value,input:payload.value,inclusive:def.inclusive,inst,continue:!def.abort})}}),$ZodCheckGreaterThan=$constructor("$ZodCheckGreaterThan",(inst,def)=>{$ZodCheck.init(inst,def);let origin=numericOriginMap[typeof def.value];inst._zod.onattach.push((inst2)=>{let bag=inst2._zod.bag,curr=(def.inclusive?bag.minimum:bag.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(def.value>curr)if(def.inclusive)bag.minimum=def.value;else bag.exclusiveMinimum=def.value}),inst._zod.check=(payload)=>{if(def.inclusive?payload.value>=def.value:payload.value>def.value)return;payload.issues.push({origin,code:"too_small",minimum:typeof def.value==="object"?def.value.getTime():def.value,input:payload.value,inclusive:def.inclusive,inst,continue:!def.abort})}}),$ZodCheckMultipleOf=$constructor("$ZodCheckMultipleOf",(inst,def)=>{$ZodCheck.init(inst,def),inst._zod.onattach.push((inst2)=>{var _a2;(_a2=inst2._zod.bag).multipleOf??(_a2.multipleOf=def.value)}),inst._zod.check=(payload)=>{if(typeof payload.value!==typeof def.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof payload.value==="bigint"?payload.value%def.value===BigInt(0):floatSafeRemainder(payload.value,def.value)===0)return;payload.issues.push({origin:typeof payload.value,code:"not_multiple_of",divisor:def.value,input:payload.value,inst,continue:!def.abort})}}),$ZodCheckNumberFormat=$constructor("$ZodCheckNumberFormat",(inst,def)=>{$ZodCheck.init(inst,def),def.format=def.format||"float64";let isInt=def.format?.includes("int"),origin=isInt?"int":"number",[minimum,maximum]=NUMBER_FORMAT_RANGES[def.format];inst._zod.onattach.push((inst2)=>{let bag=inst2._zod.bag;if(bag.format=def.format,bag.minimum=minimum,bag.maximum=maximum,isInt)bag.pattern=integer}),inst._zod.check=(payload)=>{let input=payload.value;if(isInt){if(!Number.isInteger(input)){payload.issues.push({expected:origin,format:def.format,code:"invalid_type",continue:!1,input,inst});return}if(!Number.isSafeInteger(input)){if(input>0)payload.issues.push({input,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst,origin,inclusive:!0,continue:!def.abort});else payload.issues.push({input,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst,origin,inclusive:!0,continue:!def.abort});return}}if(input<minimum)payload.issues.push({origin:"number",input,code:"too_small",minimum,inclusive:!0,inst,continue:!def.abort});if(input>maximum)payload.issues.push({origin:"number",input,code:"too_big",maximum,inclusive:!0,inst,continue:!def.abort})}}),$ZodCheckBigIntFormat=$constructor("$ZodCheckBigIntFormat",(inst,def)=>{$ZodCheck.init(inst,def);let[minimum,maximum]=BIGINT_FORMAT_RANGES[def.format];inst._zod.onattach.push((inst2)=>{let bag=inst2._zod.bag;bag.format=def.format,bag.minimum=minimum,bag.maximum=maximum}),inst._zod.check=(payload)=>{let input=payload.value;if(input<minimum)payload.issues.push({origin:"bigint",input,code:"too_small",minimum,inclusive:!0,inst,continue:!def.abort});if(input>maximum)payload.issues.push({origin:"bigint",input,code:"too_big",maximum,inclusive:!0,inst,continue:!def.abort})}}),$ZodCheckMaxSize=$constructor("$ZodCheckMaxSize",(inst,def)=>{var _a2;$ZodCheck.init(inst,def),(_a2=inst._zod.def).when??(_a2.when=(payload)=>{let val=payload.value;return!nullish(val)&&val.size!==void 0}),inst._zod.onattach.push((inst2)=>{let curr=inst2._zod.bag.maximum??Number.POSITIVE_INFINITY;if(def.maximum<curr)inst2._zod.bag.maximum=def.maximum}),inst._zod.check=(payload)=>{let input=payload.value;if(input.size<=def.maximum)return;payload.issues.push({origin:getSizableOrigin(input),code:"too_big",maximum:def.maximum,inclusive:!0,input,inst,continue:!def.abort})}}),$ZodCheckMinSize=$constructor("$ZodCheckMinSize",(inst,def)=>{var _a2;$ZodCheck.init(inst,def),(_a2=inst._zod.def).when??(_a2.when=(payload)=>{let val=payload.value;return!nullish(val)&&val.size!==void 0}),inst._zod.onattach.push((inst2)=>{let curr=inst2._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(def.minimum>curr)inst2._zod.bag.minimum=def.minimum}),inst._zod.check=(payload)=>{let input=payload.value;if(input.size>=def.minimum)return;payload.issues.push({origin:getSizableOrigin(input),code:"too_small",minimum:def.minimum,inclusive:!0,input,inst,continue:!def.abort})}}),$ZodCheckSizeEquals=$constructor("$ZodCheckSizeEquals",(inst,def)=>{var _a2;$ZodCheck.init(inst,def),(_a2=inst._zod.def).when??(_a2.when=(payload)=>{let val=payload.value;return!nullish(val)&&val.size!==void 0}),inst._zod.onattach.push((inst2)=>{let bag=inst2._zod.bag;bag.minimum=def.size,bag.maximum=def.size,bag.size=def.size}),inst._zod.check=(payload)=>{let input=payload.value,size=input.size;if(size===def.size)return;let tooBig=size>def.size;payload.issues.push({origin:getSizableOrigin(input),...tooBig?{code:"too_big",maximum:def.size}:{code:"too_small",minimum:def.size},inclusive:!0,exact:!0,input:payload.value,inst,continue:!def.abort})}}),$ZodCheckMaxLength=$constructor("$ZodCheckMaxLength",(inst,def)=>{var _a2;$ZodCheck.init(inst,def),(_a2=inst._zod.def).when??(_a2.when=(payload)=>{let val=payload.value;return!nullish(val)&&val.length!==void 0}),inst._zod.onattach.push((inst2)=>{let curr=inst2._zod.bag.maximum??Number.POSITIVE_INFINITY;if(def.maximum<curr)inst2._zod.bag.maximum=def.maximum}),inst._zod.check=(payload)=>{let input=payload.value;if(input.length<=def.maximum)return;let origin=getLengthableOrigin(input);payload.issues.push({origin,code:"too_big",maximum:def.maximum,inclusive:!0,input,inst,continue:!def.abort})}}),$ZodCheckMinLength=$constructor("$ZodCheckMinLength",(inst,def)=>{var _a2;$ZodCheck.init(inst,def),(_a2=inst._zod.def).when??(_a2.when=(payload)=>{let val=payload.value;return!nullish(val)&&val.length!==void 0}),inst._zod.onattach.push((inst2)=>{let curr=inst2._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(def.minimum>curr)inst2._zod.bag.minimum=def.minimum}),inst._zod.check=(payload)=>{let input=payload.value;if(input.length>=def.minimum)return;let origin=getLengthableOrigin(input);payload.issues.push({origin,code:"too_small",minimum:def.minimum,inclusive:!0,input,inst,continue:!def.abort})}}),$ZodCheckLengthEquals=$constructor("$ZodCheckLengthEquals",(inst,def)=>{var _a2;$ZodCheck.init(inst,def),(_a2=inst._zod.def).when??(_a2.when=(payload)=>{let val=payload.value;return!nullish(val)&&val.length!==void 0}),inst._zod.onattach.push((inst2)=>{let bag=inst2._zod.bag;bag.minimum=def.length,bag.maximum=def.length,bag.length=def.length}),inst._zod.check=(payload)=>{let input=payload.value,length=input.length;if(length===def.length)return;let origin=getLengthableOrigin(input),tooBig=length>def.length;payload.issues.push({origin,...tooBig?{code:"too_big",maximum:def.length}:{code:"too_small",minimum:def.length},inclusive:!0,exact:!0,input:payload.value,inst,continue:!def.abort})}}),$ZodCheckStringFormat=$constructor("$ZodCheckStringFormat",(inst,def)=>{var _a2,_b;if($ZodCheck.init(inst,def),inst._zod.onattach.push((inst2)=>{let bag=inst2._zod.bag;if(bag.format=def.format,def.pattern)bag.patterns??(bag.patterns=new Set),bag.patterns.add(def.pattern)}),def.pattern)(_a2=inst._zod).check??(_a2.check=(payload)=>{if(def.pattern.lastIndex=0,def.pattern.test(payload.value))return;payload.issues.push({origin:"string",code:"invalid_format",format:def.format,input:payload.value,...def.pattern?{pattern:def.pattern.toString()}:{},inst,continue:!def.abort})});else(_b=inst._zod).check??(_b.check=()=>{})}),$ZodCheckRegex=$constructor("$ZodCheckRegex",(inst,def)=>{$ZodCheckStringFormat.init(inst,def),inst._zod.check=(payload)=>{if(def.pattern.lastIndex=0,def.pattern.test(payload.value))return;payload.issues.push({origin:"string",code:"invalid_format",format:"regex",input:payload.value,pattern:def.pattern.toString(),inst,continue:!def.abort})}}),$ZodCheckLowerCase=$constructor("$ZodCheckLowerCase",(inst,def)=>{def.pattern??(def.pattern=lowercase),$ZodCheckStringFormat.init(inst,def)}),$ZodCheckUpperCase=$constructor("$ZodCheckUpperCase",(inst,def)=>{def.pattern??(def.pattern=uppercase),$ZodCheckStringFormat.init(inst,def)}),$ZodCheckIncludes=$constructor("$ZodCheckIncludes",(inst,def)=>{$ZodCheck.init(inst,def);let escapedRegex=escapeRegex(def.includes),pattern=new RegExp(typeof def.position==="number"?`^.{${def.position}}${escapedRegex}`:escapedRegex);def.pattern=pattern,inst._zod.onattach.push((inst2)=>{let bag=inst2._zod.bag;bag.patterns??(bag.patterns=new Set),bag.patterns.add(pattern)}),inst._zod.check=(payload)=>{if(payload.value.includes(def.includes,def.position))return;payload.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:def.includes,input:payload.value,inst,continue:!def.abort})}}),$ZodCheckStartsWith=$constructor("$ZodCheckStartsWith",(inst,def)=>{$ZodCheck.init(inst,def);let pattern=new RegExp(`^${escapeRegex(def.prefix)}.*`);def.pattern??(def.pattern=pattern),inst._zod.onattach.push((inst2)=>{let bag=inst2._zod.bag;bag.patterns??(bag.patterns=new Set),bag.patterns.add(pattern)}),inst._zod.check=(payload)=>{if(payload.value.startsWith(def.prefix))return;payload.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:def.prefix,input:payload.value,inst,continue:!def.abort})}}),$ZodCheckEndsWith=$constructor("$ZodCheckEndsWith",(inst,def)=>{$ZodCheck.init(inst,def);let pattern=new RegExp(`.*${escapeRegex(def.suffix)}$`);def.pattern??(def.pattern=pattern),inst._zod.onattach.push((inst2)=>{let bag=inst2._zod.bag;bag.patterns??(bag.patterns=new Set),bag.patterns.add(pattern)}),inst._zod.check=(payload)=>{if(payload.value.endsWith(def.suffix))return;payload.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:def.suffix,input:payload.value,inst,continue:!def.abort})}});$ZodCheckProperty=$constructor("$ZodCheckProperty",(inst,def)=>{$ZodCheck.init(inst,def),inst._zod.check=(payload)=>{let result=def.schema._zod.run({value:payload.value[def.property],issues:[]},{});if(result instanceof Promise)return result.then((result2)=>handleCheckPropertyResult(result2,payload,def.property));handleCheckPropertyResult(result,payload,def.property);return}}),$ZodCheckMimeType=$constructor("$ZodCheckMimeType",(inst,def)=>{$ZodCheck.init(inst,def);let mimeSet=new Set(def.mime);inst._zod.onattach.push((inst2)=>{inst2._zod.bag.mime=def.mime}),inst._zod.check=(payload)=>{if(mimeSet.has(payload.value.type))return;payload.issues.push({code:"invalid_value",values:def.mime,input:payload.value.type,inst,continue:!def.abort})}}),$ZodCheckOverwrite=$constructor("$ZodCheckOverwrite",(inst,def)=>{$ZodCheck.init(inst,def),inst._zod.check=(payload)=>{payload.value=def.tx(payload.value)}})});class Doc{constructor(args=[]){if(this.content=[],this.indent=0,this)this.args=args}indented(fn){this.indent+=1,fn(this),this.indent-=1}write(arg){if(typeof arg==="function"){arg(this,{execution:"sync"}),arg(this,{execution:"async"});return}let lines=arg.split(`
|
|
3
|
+
`).filter((x)=>x),minIndent=Math.min(...lines.map((x)=>x.length-x.trimStart().length)),dedented=lines.map((x)=>x.slice(minIndent)).map((x)=>" ".repeat(this.indent*2)+x);for(let line of dedented)this.content.push(line)}compile(){let F=Function,args=this?.args,lines=[...(this?.content??[""]).map((x)=>` ${x}`)];return new F(...args,lines.join(`
|
|
4
|
+
`))}}var version;var init_versions=__esm(()=>{version={major:4,minor:4,patch:3}});function isValidBase64(data){if(data==="")return!0;if(/\s/.test(data))return!1;if(data.length%4!==0)return!1;try{return atob(data),!0}catch{return!1}}function isValidBase64URL(data){if(!base64url.test(data))return!1;let base642=data.replace(/[-_]/g,(c)=>c==="-"?"+":"/"),padded=base642.padEnd(Math.ceil(base642.length/4)*4,"=");return isValidBase64(padded)}function isValidJWT(token,algorithm=null){try{let tokensParts=token.split(".");if(tokensParts.length!==3)return!1;let[header]=tokensParts;if(!header)return!1;let parsedHeader=JSON.parse(atob(header));if("typ"in parsedHeader&&parsedHeader?.typ!=="JWT")return!1;if(!parsedHeader.alg)return!1;if(algorithm&&(!("alg"in parsedHeader)||parsedHeader.alg!==algorithm))return!1;return!0}catch{return!1}}function handleArrayResult(result,final,index){if(result.issues.length)final.issues.push(...prefixIssues(index,result.issues));final.value[index]=result.value}function handlePropertyResult(result,final,key,input,isOptionalIn,isOptionalOut){let isPresent=key in input;if(result.issues.length){if(isOptionalIn&&isOptionalOut&&!isPresent)return;final.issues.push(...prefixIssues(key,result.issues))}if(!isPresent&&!isOptionalIn){if(!result.issues.length)final.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[key]});return}if(result.value===void 0){if(isPresent)final.value[key]=void 0}else final.value[key]=result.value}function normalizeDef(def){let keys=Object.keys(def.shape);for(let k of keys)if(!def.shape?.[k]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${k}": expected a Zod schema`);let okeys=optionalKeys(def.shape);return{...def,keys,keySet:new Set(keys),numKeys:keys.length,optionalKeys:new Set(okeys)}}function handleCatchall(proms,input,payload,ctx,def,inst){let unrecognized=[],keySet=def.keySet,_catchall=def.catchall._zod,t=_catchall.def.type,isOptionalIn=_catchall.optin==="optional",isOptionalOut=_catchall.optout==="optional";for(let key in input){if(key==="__proto__")continue;if(keySet.has(key))continue;if(t==="never"){unrecognized.push(key);continue}let r=_catchall.run({value:input[key],issues:[]},ctx);if(r instanceof Promise)proms.push(r.then((r2)=>handlePropertyResult(r2,payload,key,input,isOptionalIn,isOptionalOut)));else handlePropertyResult(r,payload,key,input,isOptionalIn,isOptionalOut)}if(unrecognized.length)payload.issues.push({code:"unrecognized_keys",keys:unrecognized,input,inst});if(!proms.length)return payload;return Promise.all(proms).then(()=>{return payload})}function handleUnionResults(results,final,inst,ctx){for(let result of results)if(result.issues.length===0)return final.value=result.value,final;let nonaborted=results.filter((r)=>!aborted(r));if(nonaborted.length===1)return final.value=nonaborted[0].value,nonaborted[0];return final.issues.push({code:"invalid_union",input:final.value,inst,errors:results.map((result)=>result.issues.map((iss)=>finalizeIssue(iss,ctx,config())))}),final}function handleExclusiveUnionResults(results,final,inst,ctx){let successes=results.filter((r)=>r.issues.length===0);if(successes.length===1)return final.value=successes[0].value,final;if(successes.length===0)final.issues.push({code:"invalid_union",input:final.value,inst,errors:results.map((result)=>result.issues.map((iss)=>finalizeIssue(iss,ctx,config())))});else final.issues.push({code:"invalid_union",input:final.value,inst,errors:[],inclusive:!1});return final}function mergeValues(a,b){if(a===b)return{valid:!0,data:a};if(a instanceof Date&&b instanceof Date&&+a===+b)return{valid:!0,data:a};if(isPlainObject(a)&&isPlainObject(b)){let bKeys=Object.keys(b),sharedKeys=Object.keys(a).filter((key)=>bKeys.indexOf(key)!==-1),newObj={...a,...b};for(let key of sharedKeys){let sharedValue=mergeValues(a[key],b[key]);if(!sharedValue.valid)return{valid:!1,mergeErrorPath:[key,...sharedValue.mergeErrorPath]};newObj[key]=sharedValue.data}return{valid:!0,data:newObj}}if(Array.isArray(a)&&Array.isArray(b)){if(a.length!==b.length)return{valid:!1,mergeErrorPath:[]};let newArray=[];for(let index=0;index<a.length;index++){let itemA=a[index],itemB=b[index],sharedValue=mergeValues(itemA,itemB);if(!sharedValue.valid)return{valid:!1,mergeErrorPath:[index,...sharedValue.mergeErrorPath]};newArray.push(sharedValue.data)}return{valid:!0,data:newArray}}return{valid:!1,mergeErrorPath:[]}}function handleIntersectionResults(result,left,right){let unrecKeys=new Map,unrecIssue;for(let iss of left.issues)if(iss.code==="unrecognized_keys"){unrecIssue??(unrecIssue=iss);for(let k of iss.keys){if(!unrecKeys.has(k))unrecKeys.set(k,{});unrecKeys.get(k).l=!0}}else result.issues.push(iss);for(let iss of right.issues)if(iss.code==="unrecognized_keys")for(let k of iss.keys){if(!unrecKeys.has(k))unrecKeys.set(k,{});unrecKeys.get(k).r=!0}else result.issues.push(iss);let bothKeys=[...unrecKeys].filter(([,f])=>f.l&&f.r).map(([k])=>k);if(bothKeys.length&&unrecIssue)result.issues.push({...unrecIssue,keys:bothKeys});if(aborted(result))return result;let merged=mergeValues(left.value,right.value);if(!merged.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(merged.mergeErrorPath)}`);return result.value=merged.data,result}function getTupleOptStart(items,key){for(let i=items.length-1;i>=0;i--)if(items[i]._zod[key]!=="optional")return i+1;return 0}function handleTupleResult(result,final,index){if(result.issues.length)final.issues.push(...prefixIssues(index,result.issues));final.value[index]=result.value}function handleTupleResults(itemResults,final,items,input,optoutStart){for(let i=0;i<items.length;i++){let r=itemResults[i],isPresent=i<input.length;if(r.issues.length){if(!isPresent&&i>=optoutStart){final.value.length=i;break}final.issues.push(...prefixIssues(i,r.issues))}final.value[i]=r.value}for(let i=final.value.length-1;i>=input.length;i--)if(items[i]._zod.optout==="optional"&&final.value[i]===void 0)final.value.length=i;else break;return final}function handleMapResult(keyResult,valueResult,final,key,input,inst,ctx){if(keyResult.issues.length)if(propertyKeyTypes.has(typeof key))final.issues.push(...prefixIssues(key,keyResult.issues));else final.issues.push({code:"invalid_key",origin:"map",input,inst,issues:keyResult.issues.map((iss)=>finalizeIssue(iss,ctx,config()))});if(valueResult.issues.length)if(propertyKeyTypes.has(typeof key))final.issues.push(...prefixIssues(key,valueResult.issues));else final.issues.push({origin:"map",code:"invalid_element",input,inst,key,issues:valueResult.issues.map((iss)=>finalizeIssue(iss,ctx,config()))});final.value.set(keyResult.value,valueResult.value)}function handleSetResult(result,final){if(result.issues.length)final.issues.push(...result.issues);final.value.add(result.value)}function handleOptionalResult(result,input){if(input===void 0&&(result.issues.length||result.fallback))return{issues:[],value:void 0};return result}function handleDefaultResult(payload,def){if(payload.value===void 0)payload.value=def.defaultValue;return payload}function handleNonOptionalResult(payload,inst){if(!payload.issues.length&&payload.value===void 0)payload.issues.push({code:"invalid_type",expected:"nonoptional",input:payload.value,inst});return payload}function handlePipeResult(left,next,ctx){if(left.issues.length)return left.aborted=!0,left;return next._zod.run({value:left.value,issues:left.issues,fallback:left.fallback},ctx)}function handleCodecAResult(result,def,ctx){if(result.issues.length)return result.aborted=!0,result;if((ctx.direction||"forward")==="forward"){let transformed=def.transform(result.value,result);if(transformed instanceof Promise)return transformed.then((value)=>handleCodecTxResult(result,value,def.out,ctx));return handleCodecTxResult(result,transformed,def.out,ctx)}else{let transformed=def.reverseTransform(result.value,result);if(transformed instanceof Promise)return transformed.then((value)=>handleCodecTxResult(result,value,def.in,ctx));return handleCodecTxResult(result,transformed,def.in,ctx)}}function handleCodecTxResult(left,value,nextSchema,ctx){if(left.issues.length)return left.aborted=!0,left;return nextSchema._zod.run({value,issues:left.issues},ctx)}function handleReadonlyResult(payload){return payload.value=Object.freeze(payload.value),payload}function handleRefineResult(result,payload,input,inst){if(!result){let _iss={code:"custom",input,inst,path:[...inst._zod.def.path??[]],continue:!inst._zod.def.abort};if(inst._zod.def.params)_iss.params=inst._zod.def.params;payload.issues.push(issue(_iss))}}var $ZodType,$ZodString,$ZodStringFormat,$ZodGUID,$ZodUUID,$ZodEmail,$ZodURL,$ZodEmoji,$ZodNanoID,$ZodCUID,$ZodCUID2,$ZodULID,$ZodXID,$ZodKSUID,$ZodISODateTime,$ZodISODate,$ZodISOTime,$ZodISODuration,$ZodIPv4,$ZodIPv6,$ZodMAC,$ZodCIDRv4,$ZodCIDRv6,$ZodBase64,$ZodBase64URL,$ZodE164,$ZodJWT,$ZodCustomStringFormat,$ZodNumber,$ZodNumberFormat,$ZodBoolean,$ZodBigInt,$ZodBigIntFormat,$ZodSymbol,$ZodUndefined,$ZodNull,$ZodAny,$ZodUnknown,$ZodNever,$ZodVoid,$ZodDate,$ZodArray,$ZodObject,$ZodObjectJIT,$ZodUnion,$ZodXor,$ZodDiscriminatedUnion,$ZodIntersection,$ZodTuple,$ZodRecord,$ZodMap,$ZodSet,$ZodEnum,$ZodLiteral,$ZodFile,$ZodTransform,$ZodOptional,$ZodExactOptional,$ZodNullable,$ZodDefault,$ZodPrefault,$ZodNonOptional,$ZodSuccess,$ZodCatch,$ZodNaN,$ZodPipe,$ZodCodec,$ZodPreprocess,$ZodReadonly,$ZodTemplateLiteral,$ZodFunction,$ZodPromise,$ZodLazy,$ZodCustom;var init_schemas=__esm(()=>{init_checks();init_core();init_parse();init_regexes();init_util();init_versions();init_util();$ZodType=$constructor("$ZodType",(inst,def)=>{var _a2;inst??(inst={}),inst._zod.def=def,inst._zod.bag=inst._zod.bag||{},inst._zod.version=version;let checks=[...inst._zod.def.checks??[]];if(inst._zod.traits.has("$ZodCheck"))checks.unshift(inst);for(let ch of checks)for(let fn of ch._zod.onattach)fn(inst);if(checks.length===0)(_a2=inst._zod).deferred??(_a2.deferred=[]),inst._zod.deferred?.push(()=>{inst._zod.run=inst._zod.parse});else{let runChecks=(payload,checks2,ctx)=>{let isAborted=aborted(payload),asyncResult;for(let ch of checks2){if(ch._zod.def.when){if(explicitlyAborted(payload))continue;if(!ch._zod.def.when(payload))continue}else if(isAborted)continue;let currLen=payload.issues.length,_=ch._zod.check(payload);if(_ instanceof Promise&&ctx?.async===!1)throw new $ZodAsyncError;if(asyncResult||_ instanceof Promise)asyncResult=(asyncResult??Promise.resolve()).then(async()=>{if(await _,payload.issues.length===currLen)return;if(!isAborted)isAborted=aborted(payload,currLen)});else{if(payload.issues.length===currLen)continue;if(!isAborted)isAborted=aborted(payload,currLen)}}if(asyncResult)return asyncResult.then(()=>{return payload});return payload},handleCanaryResult=(canary,payload,ctx)=>{if(aborted(canary))return canary.aborted=!0,canary;let checkResult=runChecks(payload,checks,ctx);if(checkResult instanceof Promise){if(ctx.async===!1)throw new $ZodAsyncError;return checkResult.then((checkResult2)=>inst._zod.parse(checkResult2,ctx))}return inst._zod.parse(checkResult,ctx)};inst._zod.run=(payload,ctx)=>{if(ctx.skipChecks)return inst._zod.parse(payload,ctx);if(ctx.direction==="backward"){let canary=inst._zod.parse({value:payload.value,issues:[]},{...ctx,skipChecks:!0});if(canary instanceof Promise)return canary.then((canary2)=>{return handleCanaryResult(canary2,payload,ctx)});return handleCanaryResult(canary,payload,ctx)}let result=inst._zod.parse(payload,ctx);if(result instanceof Promise){if(ctx.async===!1)throw new $ZodAsyncError;return result.then((result2)=>runChecks(result2,checks,ctx))}return runChecks(result,checks,ctx)}}defineLazy(inst,"~standard",()=>({validate:(value)=>{try{let r=safeParse(inst,value);return r.success?{value:r.data}:{issues:r.error?.issues}}catch(_){return safeParseAsync(inst,value).then((r)=>r.success?{value:r.data}:{issues:r.error?.issues})}},vendor:"zod",version:1}))}),$ZodString=$constructor("$ZodString",(inst,def)=>{$ZodType.init(inst,def),inst._zod.pattern=[...inst?._zod.bag?.patterns??[]].pop()??string(inst._zod.bag),inst._zod.parse=(payload,_)=>{if(def.coerce)try{payload.value=String(payload.value)}catch(_2){}if(typeof payload.value==="string")return payload;return payload.issues.push({expected:"string",code:"invalid_type",input:payload.value,inst}),payload}}),$ZodStringFormat=$constructor("$ZodStringFormat",(inst,def)=>{$ZodCheckStringFormat.init(inst,def),$ZodString.init(inst,def)}),$ZodGUID=$constructor("$ZodGUID",(inst,def)=>{def.pattern??(def.pattern=guid),$ZodStringFormat.init(inst,def)}),$ZodUUID=$constructor("$ZodUUID",(inst,def)=>{if(def.version){let v={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[def.version];if(v===void 0)throw Error(`Invalid UUID version: "${def.version}"`);def.pattern??(def.pattern=uuid(v))}else def.pattern??(def.pattern=uuid());$ZodStringFormat.init(inst,def)}),$ZodEmail=$constructor("$ZodEmail",(inst,def)=>{def.pattern??(def.pattern=email),$ZodStringFormat.init(inst,def)}),$ZodURL=$constructor("$ZodURL",(inst,def)=>{$ZodStringFormat.init(inst,def),inst._zod.check=(payload)=>{try{let trimmed=payload.value.trim();if(!def.normalize&&def.protocol?.source===httpProtocol.source){if(!/^https?:\/\//i.test(trimmed)){payload.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:payload.value,inst,continue:!def.abort});return}}let url=new URL(trimmed);if(def.hostname){if(def.hostname.lastIndex=0,!def.hostname.test(url.hostname))payload.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:def.hostname.source,input:payload.value,inst,continue:!def.abort})}if(def.protocol){if(def.protocol.lastIndex=0,!def.protocol.test(url.protocol.endsWith(":")?url.protocol.slice(0,-1):url.protocol))payload.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:def.protocol.source,input:payload.value,inst,continue:!def.abort})}if(def.normalize)payload.value=url.href;else payload.value=trimmed;return}catch(_){payload.issues.push({code:"invalid_format",format:"url",input:payload.value,inst,continue:!def.abort})}}}),$ZodEmoji=$constructor("$ZodEmoji",(inst,def)=>{def.pattern??(def.pattern=emoji()),$ZodStringFormat.init(inst,def)}),$ZodNanoID=$constructor("$ZodNanoID",(inst,def)=>{def.pattern??(def.pattern=nanoid),$ZodStringFormat.init(inst,def)}),$ZodCUID=$constructor("$ZodCUID",(inst,def)=>{def.pattern??(def.pattern=cuid),$ZodStringFormat.init(inst,def)}),$ZodCUID2=$constructor("$ZodCUID2",(inst,def)=>{def.pattern??(def.pattern=cuid2),$ZodStringFormat.init(inst,def)}),$ZodULID=$constructor("$ZodULID",(inst,def)=>{def.pattern??(def.pattern=ulid),$ZodStringFormat.init(inst,def)}),$ZodXID=$constructor("$ZodXID",(inst,def)=>{def.pattern??(def.pattern=xid),$ZodStringFormat.init(inst,def)}),$ZodKSUID=$constructor("$ZodKSUID",(inst,def)=>{def.pattern??(def.pattern=ksuid),$ZodStringFormat.init(inst,def)}),$ZodISODateTime=$constructor("$ZodISODateTime",(inst,def)=>{def.pattern??(def.pattern=datetime(def)),$ZodStringFormat.init(inst,def)}),$ZodISODate=$constructor("$ZodISODate",(inst,def)=>{def.pattern??(def.pattern=date),$ZodStringFormat.init(inst,def)}),$ZodISOTime=$constructor("$ZodISOTime",(inst,def)=>{def.pattern??(def.pattern=time(def)),$ZodStringFormat.init(inst,def)}),$ZodISODuration=$constructor("$ZodISODuration",(inst,def)=>{def.pattern??(def.pattern=duration),$ZodStringFormat.init(inst,def)}),$ZodIPv4=$constructor("$ZodIPv4",(inst,def)=>{def.pattern??(def.pattern=ipv4),$ZodStringFormat.init(inst,def),inst._zod.bag.format="ipv4"}),$ZodIPv6=$constructor("$ZodIPv6",(inst,def)=>{def.pattern??(def.pattern=ipv6),$ZodStringFormat.init(inst,def),inst._zod.bag.format="ipv6",inst._zod.check=(payload)=>{try{new URL(`http://[${payload.value}]`)}catch{payload.issues.push({code:"invalid_format",format:"ipv6",input:payload.value,inst,continue:!def.abort})}}}),$ZodMAC=$constructor("$ZodMAC",(inst,def)=>{def.pattern??(def.pattern=mac(def.delimiter)),$ZodStringFormat.init(inst,def),inst._zod.bag.format="mac"}),$ZodCIDRv4=$constructor("$ZodCIDRv4",(inst,def)=>{def.pattern??(def.pattern=cidrv4),$ZodStringFormat.init(inst,def)}),$ZodCIDRv6=$constructor("$ZodCIDRv6",(inst,def)=>{def.pattern??(def.pattern=cidrv6),$ZodStringFormat.init(inst,def),inst._zod.check=(payload)=>{let parts=payload.value.split("/");try{if(parts.length!==2)throw Error();let[address,prefix]=parts;if(!prefix)throw Error();let prefixNum=Number(prefix);if(`${prefixNum}`!==prefix)throw Error();if(prefixNum<0||prefixNum>128)throw Error();new URL(`http://[${address}]`)}catch{payload.issues.push({code:"invalid_format",format:"cidrv6",input:payload.value,inst,continue:!def.abort})}}});$ZodBase64=$constructor("$ZodBase64",(inst,def)=>{def.pattern??(def.pattern=base64),$ZodStringFormat.init(inst,def),inst._zod.bag.contentEncoding="base64",inst._zod.check=(payload)=>{if(isValidBase64(payload.value))return;payload.issues.push({code:"invalid_format",format:"base64",input:payload.value,inst,continue:!def.abort})}});$ZodBase64URL=$constructor("$ZodBase64URL",(inst,def)=>{def.pattern??(def.pattern=base64url),$ZodStringFormat.init(inst,def),inst._zod.bag.contentEncoding="base64url",inst._zod.check=(payload)=>{if(isValidBase64URL(payload.value))return;payload.issues.push({code:"invalid_format",format:"base64url",input:payload.value,inst,continue:!def.abort})}}),$ZodE164=$constructor("$ZodE164",(inst,def)=>{def.pattern??(def.pattern=e164),$ZodStringFormat.init(inst,def)});$ZodJWT=$constructor("$ZodJWT",(inst,def)=>{$ZodStringFormat.init(inst,def),inst._zod.check=(payload)=>{if(isValidJWT(payload.value,def.alg))return;payload.issues.push({code:"invalid_format",format:"jwt",input:payload.value,inst,continue:!def.abort})}}),$ZodCustomStringFormat=$constructor("$ZodCustomStringFormat",(inst,def)=>{$ZodStringFormat.init(inst,def),inst._zod.check=(payload)=>{if(def.fn(payload.value))return;payload.issues.push({code:"invalid_format",format:def.format,input:payload.value,inst,continue:!def.abort})}}),$ZodNumber=$constructor("$ZodNumber",(inst,def)=>{$ZodType.init(inst,def),inst._zod.pattern=inst._zod.bag.pattern??number,inst._zod.parse=(payload,_ctx)=>{if(def.coerce)try{payload.value=Number(payload.value)}catch(_){}let input=payload.value;if(typeof input==="number"&&!Number.isNaN(input)&&Number.isFinite(input))return payload;let received=typeof input==="number"?Number.isNaN(input)?"NaN":!Number.isFinite(input)?"Infinity":void 0:void 0;return payload.issues.push({expected:"number",code:"invalid_type",input,inst,...received?{received}:{}}),payload}}),$ZodNumberFormat=$constructor("$ZodNumberFormat",(inst,def)=>{$ZodCheckNumberFormat.init(inst,def),$ZodNumber.init(inst,def)}),$ZodBoolean=$constructor("$ZodBoolean",(inst,def)=>{$ZodType.init(inst,def),inst._zod.pattern=boolean,inst._zod.parse=(payload,_ctx)=>{if(def.coerce)try{payload.value=Boolean(payload.value)}catch(_){}let input=payload.value;if(typeof input==="boolean")return payload;return payload.issues.push({expected:"boolean",code:"invalid_type",input,inst}),payload}}),$ZodBigInt=$constructor("$ZodBigInt",(inst,def)=>{$ZodType.init(inst,def),inst._zod.pattern=bigint,inst._zod.parse=(payload,_ctx)=>{if(def.coerce)try{payload.value=BigInt(payload.value)}catch(_){}if(typeof payload.value==="bigint")return payload;return payload.issues.push({expected:"bigint",code:"invalid_type",input:payload.value,inst}),payload}}),$ZodBigIntFormat=$constructor("$ZodBigIntFormat",(inst,def)=>{$ZodCheckBigIntFormat.init(inst,def),$ZodBigInt.init(inst,def)}),$ZodSymbol=$constructor("$ZodSymbol",(inst,def)=>{$ZodType.init(inst,def),inst._zod.parse=(payload,_ctx)=>{let input=payload.value;if(typeof input==="symbol")return payload;return payload.issues.push({expected:"symbol",code:"invalid_type",input,inst}),payload}}),$ZodUndefined=$constructor("$ZodUndefined",(inst,def)=>{$ZodType.init(inst,def),inst._zod.pattern=_undefined,inst._zod.values=new Set([void 0]),inst._zod.parse=(payload,_ctx)=>{let input=payload.value;if(typeof input>"u")return payload;return payload.issues.push({expected:"undefined",code:"invalid_type",input,inst}),payload}}),$ZodNull=$constructor("$ZodNull",(inst,def)=>{$ZodType.init(inst,def),inst._zod.pattern=_null,inst._zod.values=new Set([null]),inst._zod.parse=(payload,_ctx)=>{let input=payload.value;if(input===null)return payload;return payload.issues.push({expected:"null",code:"invalid_type",input,inst}),payload}}),$ZodAny=$constructor("$ZodAny",(inst,def)=>{$ZodType.init(inst,def),inst._zod.parse=(payload)=>payload}),$ZodUnknown=$constructor("$ZodUnknown",(inst,def)=>{$ZodType.init(inst,def),inst._zod.parse=(payload)=>payload}),$ZodNever=$constructor("$ZodNever",(inst,def)=>{$ZodType.init(inst,def),inst._zod.parse=(payload,_ctx)=>{return payload.issues.push({expected:"never",code:"invalid_type",input:payload.value,inst}),payload}}),$ZodVoid=$constructor("$ZodVoid",(inst,def)=>{$ZodType.init(inst,def),inst._zod.parse=(payload,_ctx)=>{let input=payload.value;if(typeof input>"u")return payload;return payload.issues.push({expected:"void",code:"invalid_type",input,inst}),payload}}),$ZodDate=$constructor("$ZodDate",(inst,def)=>{$ZodType.init(inst,def),inst._zod.parse=(payload,_ctx)=>{if(def.coerce)try{payload.value=new Date(payload.value)}catch(_err){}let input=payload.value,isDate=input instanceof Date;if(isDate&&!Number.isNaN(input.getTime()))return payload;return payload.issues.push({expected:"date",code:"invalid_type",input,...isDate?{received:"Invalid Date"}:{},inst}),payload}});$ZodArray=$constructor("$ZodArray",(inst,def)=>{$ZodType.init(inst,def),inst._zod.parse=(payload,ctx)=>{let input=payload.value;if(!Array.isArray(input))return payload.issues.push({expected:"array",code:"invalid_type",input,inst}),payload;payload.value=Array(input.length);let proms=[];for(let i=0;i<input.length;i++){let item=input[i],result=def.element._zod.run({value:item,issues:[]},ctx);if(result instanceof Promise)proms.push(result.then((result2)=>handleArrayResult(result2,payload,i)));else handleArrayResult(result,payload,i)}if(proms.length)return Promise.all(proms).then(()=>payload);return payload}});$ZodObject=$constructor("$ZodObject",(inst,def)=>{if($ZodType.init(inst,def),!Object.getOwnPropertyDescriptor(def,"shape")?.get){let sh=def.shape;Object.defineProperty(def,"shape",{get:()=>{let newSh={...sh};return Object.defineProperty(def,"shape",{value:newSh}),newSh}})}let _normalized=cached(()=>normalizeDef(def));defineLazy(inst._zod,"propValues",()=>{let shape=def.shape,propValues={};for(let key in shape){let field=shape[key]._zod;if(field.values){propValues[key]??(propValues[key]=new Set);for(let v of field.values)propValues[key].add(v)}}return propValues});let isObject2=isObject,catchall=def.catchall,value;inst._zod.parse=(payload,ctx)=>{value??(value=_normalized.value);let input=payload.value;if(!isObject2(input))return payload.issues.push({expected:"object",code:"invalid_type",input,inst}),payload;payload.value={};let proms=[],shape=value.shape;for(let key of value.keys){let el=shape[key],isOptionalIn=el._zod.optin==="optional",isOptionalOut=el._zod.optout==="optional",r=el._zod.run({value:input[key],issues:[]},ctx);if(r instanceof Promise)proms.push(r.then((r2)=>handlePropertyResult(r2,payload,key,input,isOptionalIn,isOptionalOut)));else handlePropertyResult(r,payload,key,input,isOptionalIn,isOptionalOut)}if(!catchall)return proms.length?Promise.all(proms).then(()=>payload):payload;return handleCatchall(proms,input,payload,ctx,_normalized.value,inst)}}),$ZodObjectJIT=$constructor("$ZodObjectJIT",(inst,def)=>{$ZodObject.init(inst,def);let superParse=inst._zod.parse,_normalized=cached(()=>normalizeDef(def)),generateFastpass=(shape)=>{let doc=new Doc(["shape","payload","ctx"]),normalized=_normalized.value,parseStr=(key)=>{let k=esc(key);return`shape[${k}]._zod.run({ value: input[${k}], issues: [] }, ctx)`};doc.write("const input = payload.value;");let ids=Object.create(null),counter=0;for(let key of normalized.keys)ids[key]=`key_${counter++}`;doc.write("const newResult = {};");for(let key of normalized.keys){let id=ids[key],k=esc(key),schema=shape[key],isOptionalIn=schema?._zod?.optin==="optional",isOptionalOut=schema?._zod?.optout==="optional";if(doc.write(`const ${id} = ${parseStr(key)};`),isOptionalIn&&isOptionalOut)doc.write(`
|
|
5
|
+
if (${id}.issues.length) {
|
|
6
|
+
if (${k} in input) {
|
|
7
|
+
payload.issues = payload.issues.concat(${id}.issues.map(iss => ({
|
|
8
|
+
...iss,
|
|
9
|
+
path: iss.path ? [${k}, ...iss.path] : [${k}]
|
|
10
|
+
})));
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
if (${id}.value === undefined) {
|
|
15
|
+
if (${k} in input) {
|
|
16
|
+
newResult[${k}] = undefined;
|
|
17
|
+
}
|
|
18
|
+
} else {
|
|
19
|
+
newResult[${k}] = ${id}.value;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
`);else if(!isOptionalIn)doc.write(`
|
|
23
|
+
const ${id}_present = ${k} in input;
|
|
24
|
+
if (${id}.issues.length) {
|
|
25
|
+
payload.issues = payload.issues.concat(${id}.issues.map(iss => ({
|
|
26
|
+
...iss,
|
|
27
|
+
path: iss.path ? [${k}, ...iss.path] : [${k}]
|
|
28
|
+
})));
|
|
29
|
+
}
|
|
30
|
+
if (!${id}_present && !${id}.issues.length) {
|
|
31
|
+
payload.issues.push({
|
|
32
|
+
code: "invalid_type",
|
|
33
|
+
expected: "nonoptional",
|
|
34
|
+
input: undefined,
|
|
35
|
+
path: [${k}]
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
if (${id}_present) {
|
|
40
|
+
if (${id}.value === undefined) {
|
|
41
|
+
newResult[${k}] = undefined;
|
|
42
|
+
} else {
|
|
43
|
+
newResult[${k}] = ${id}.value;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
`);else doc.write(`
|
|
48
|
+
if (${id}.issues.length) {
|
|
49
|
+
payload.issues = payload.issues.concat(${id}.issues.map(iss => ({
|
|
50
|
+
...iss,
|
|
51
|
+
path: iss.path ? [${k}, ...iss.path] : [${k}]
|
|
52
|
+
})));
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
if (${id}.value === undefined) {
|
|
56
|
+
if (${k} in input) {
|
|
57
|
+
newResult[${k}] = undefined;
|
|
58
|
+
}
|
|
59
|
+
} else {
|
|
60
|
+
newResult[${k}] = ${id}.value;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
`)}doc.write("payload.value = newResult;"),doc.write("return payload;");let fn=doc.compile();return(payload,ctx)=>fn(shape,payload,ctx)},fastpass,isObject2=isObject,jit=!globalConfig.jitless,fastEnabled=jit&&allowsEval.value,catchall=def.catchall,value;inst._zod.parse=(payload,ctx)=>{value??(value=_normalized.value);let input=payload.value;if(!isObject2(input))return payload.issues.push({expected:"object",code:"invalid_type",input,inst}),payload;if(jit&&fastEnabled&&ctx?.async===!1&&ctx.jitless!==!0){if(!fastpass)fastpass=generateFastpass(def.shape);if(payload=fastpass(payload,ctx),!catchall)return payload;return handleCatchall([],input,payload,ctx,value,inst)}return superParse(payload,ctx)}});$ZodUnion=$constructor("$ZodUnion",(inst,def)=>{$ZodType.init(inst,def),defineLazy(inst._zod,"optin",()=>def.options.some((o)=>o._zod.optin==="optional")?"optional":void 0),defineLazy(inst._zod,"optout",()=>def.options.some((o)=>o._zod.optout==="optional")?"optional":void 0),defineLazy(inst._zod,"values",()=>{if(def.options.every((o)=>o._zod.values))return new Set(def.options.flatMap((option)=>Array.from(option._zod.values)));return}),defineLazy(inst._zod,"pattern",()=>{if(def.options.every((o)=>o._zod.pattern)){let patterns=def.options.map((o)=>o._zod.pattern);return new RegExp(`^(${patterns.map((p)=>cleanRegex(p.source)).join("|")})$`)}return});let first=def.options.length===1?def.options[0]._zod.run:null;inst._zod.parse=(payload,ctx)=>{if(first)return first(payload,ctx);let async=!1,results=[];for(let option of def.options){let result=option._zod.run({value:payload.value,issues:[]},ctx);if(result instanceof Promise)results.push(result),async=!0;else{if(result.issues.length===0)return result;results.push(result)}}if(!async)return handleUnionResults(results,payload,inst,ctx);return Promise.all(results).then((results2)=>{return handleUnionResults(results2,payload,inst,ctx)})}});$ZodXor=$constructor("$ZodXor",(inst,def)=>{$ZodUnion.init(inst,def),def.inclusive=!1;let first=def.options.length===1?def.options[0]._zod.run:null;inst._zod.parse=(payload,ctx)=>{if(first)return first(payload,ctx);let async=!1,results=[];for(let option of def.options){let result=option._zod.run({value:payload.value,issues:[]},ctx);if(result instanceof Promise)results.push(result),async=!0;else results.push(result)}if(!async)return handleExclusiveUnionResults(results,payload,inst,ctx);return Promise.all(results).then((results2)=>{return handleExclusiveUnionResults(results2,payload,inst,ctx)})}}),$ZodDiscriminatedUnion=$constructor("$ZodDiscriminatedUnion",(inst,def)=>{def.inclusive=!1,$ZodUnion.init(inst,def);let _super=inst._zod.parse;defineLazy(inst._zod,"propValues",()=>{let propValues={};for(let option of def.options){let pv=option._zod.propValues;if(!pv||Object.keys(pv).length===0)throw Error(`Invalid discriminated union option at index "${def.options.indexOf(option)}"`);for(let[k,v]of Object.entries(pv)){if(!propValues[k])propValues[k]=new Set;for(let val of v)propValues[k].add(val)}}return propValues});let disc=cached(()=>{let opts=def.options,map=new Map;for(let o of opts){let values=o._zod.propValues?.[def.discriminator];if(!values||values.size===0)throw Error(`Invalid discriminated union option at index "${def.options.indexOf(o)}"`);for(let v of values){if(map.has(v))throw Error(`Duplicate discriminator value "${String(v)}"`);map.set(v,o)}}return map});inst._zod.parse=(payload,ctx)=>{let input=payload.value;if(!isObject(input))return payload.issues.push({code:"invalid_type",expected:"object",input,inst}),payload;let opt=disc.value.get(input?.[def.discriminator]);if(opt)return opt._zod.run(payload,ctx);if(def.unionFallback||ctx.direction==="backward")return _super(payload,ctx);return payload.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:def.discriminator,options:Array.from(disc.value.keys()),input,path:[def.discriminator],inst}),payload}}),$ZodIntersection=$constructor("$ZodIntersection",(inst,def)=>{$ZodType.init(inst,def),inst._zod.parse=(payload,ctx)=>{let input=payload.value,left=def.left._zod.run({value:input,issues:[]},ctx),right=def.right._zod.run({value:input,issues:[]},ctx);if(left instanceof Promise||right instanceof Promise)return Promise.all([left,right]).then(([left2,right2])=>{return handleIntersectionResults(payload,left2,right2)});return handleIntersectionResults(payload,left,right)}});$ZodTuple=$constructor("$ZodTuple",(inst,def)=>{$ZodType.init(inst,def);let items=def.items;inst._zod.parse=(payload,ctx)=>{let input=payload.value;if(!Array.isArray(input))return payload.issues.push({input,inst,expected:"tuple",code:"invalid_type"}),payload;payload.value=[];let proms=[],optinStart=getTupleOptStart(items,"optin"),optoutStart=getTupleOptStart(items,"optout");if(!def.rest){if(input.length<optinStart)return payload.issues.push({code:"too_small",minimum:optinStart,inclusive:!0,input,inst,origin:"array"}),payload;if(input.length>items.length)payload.issues.push({code:"too_big",maximum:items.length,inclusive:!0,input,inst,origin:"array"})}let itemResults=Array(items.length);for(let i=0;i<items.length;i++){let r=items[i]._zod.run({value:input[i],issues:[]},ctx);if(r instanceof Promise)proms.push(r.then((rr)=>{itemResults[i]=rr}));else itemResults[i]=r}if(def.rest){let i=items.length-1,rest=input.slice(items.length);for(let el of rest){i++;let result=def.rest._zod.run({value:el,issues:[]},ctx);if(result instanceof Promise)proms.push(result.then((r)=>handleTupleResult(r,payload,i)));else handleTupleResult(result,payload,i)}}if(proms.length)return Promise.all(proms).then(()=>handleTupleResults(itemResults,payload,items,input,optoutStart));return handleTupleResults(itemResults,payload,items,input,optoutStart)}});$ZodRecord=$constructor("$ZodRecord",(inst,def)=>{$ZodType.init(inst,def),inst._zod.parse=(payload,ctx)=>{let input=payload.value;if(!isPlainObject(input))return payload.issues.push({expected:"record",code:"invalid_type",input,inst}),payload;let proms=[],values=def.keyType._zod.values;if(values){payload.value={};let recordKeys=new Set;for(let key of values)if(typeof key==="string"||typeof key==="number"||typeof key==="symbol"){recordKeys.add(typeof key==="number"?key.toString():key);let keyResult=def.keyType._zod.run({value:key,issues:[]},ctx);if(keyResult instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(keyResult.issues.length){payload.issues.push({code:"invalid_key",origin:"record",issues:keyResult.issues.map((iss)=>finalizeIssue(iss,ctx,config())),input:key,path:[key],inst});continue}let outKey=keyResult.value,result=def.valueType._zod.run({value:input[key],issues:[]},ctx);if(result instanceof Promise)proms.push(result.then((result2)=>{if(result2.issues.length)payload.issues.push(...prefixIssues(key,result2.issues));payload.value[outKey]=result2.value}));else{if(result.issues.length)payload.issues.push(...prefixIssues(key,result.issues));payload.value[outKey]=result.value}}let unrecognized;for(let key in input)if(!recordKeys.has(key))unrecognized=unrecognized??[],unrecognized.push(key);if(unrecognized&&unrecognized.length>0)payload.issues.push({code:"unrecognized_keys",input,inst,keys:unrecognized})}else{payload.value={};for(let key of Reflect.ownKeys(input)){if(key==="__proto__")continue;if(!Object.prototype.propertyIsEnumerable.call(input,key))continue;let keyResult=def.keyType._zod.run({value:key,issues:[]},ctx);if(keyResult instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof key==="string"&&number.test(key)&&keyResult.issues.length){let retryResult=def.keyType._zod.run({value:Number(key),issues:[]},ctx);if(retryResult instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(retryResult.issues.length===0)keyResult=retryResult}if(keyResult.issues.length){if(def.mode==="loose")payload.value[key]=input[key];else payload.issues.push({code:"invalid_key",origin:"record",issues:keyResult.issues.map((iss)=>finalizeIssue(iss,ctx,config())),input:key,path:[key],inst});continue}let result=def.valueType._zod.run({value:input[key],issues:[]},ctx);if(result instanceof Promise)proms.push(result.then((result2)=>{if(result2.issues.length)payload.issues.push(...prefixIssues(key,result2.issues));payload.value[keyResult.value]=result2.value}));else{if(result.issues.length)payload.issues.push(...prefixIssues(key,result.issues));payload.value[keyResult.value]=result.value}}}if(proms.length)return Promise.all(proms).then(()=>payload);return payload}}),$ZodMap=$constructor("$ZodMap",(inst,def)=>{$ZodType.init(inst,def),inst._zod.parse=(payload,ctx)=>{let input=payload.value;if(!(input instanceof Map))return payload.issues.push({expected:"map",code:"invalid_type",input,inst}),payload;let proms=[];payload.value=new Map;for(let[key,value]of input){let keyResult=def.keyType._zod.run({value:key,issues:[]},ctx),valueResult=def.valueType._zod.run({value,issues:[]},ctx);if(keyResult instanceof Promise||valueResult instanceof Promise)proms.push(Promise.all([keyResult,valueResult]).then(([keyResult2,valueResult2])=>{handleMapResult(keyResult2,valueResult2,payload,key,input,inst,ctx)}));else handleMapResult(keyResult,valueResult,payload,key,input,inst,ctx)}if(proms.length)return Promise.all(proms).then(()=>payload);return payload}});$ZodSet=$constructor("$ZodSet",(inst,def)=>{$ZodType.init(inst,def),inst._zod.parse=(payload,ctx)=>{let input=payload.value;if(!(input instanceof Set))return payload.issues.push({input,inst,expected:"set",code:"invalid_type"}),payload;let proms=[];payload.value=new Set;for(let item of input){let result=def.valueType._zod.run({value:item,issues:[]},ctx);if(result instanceof Promise)proms.push(result.then((result2)=>handleSetResult(result2,payload)));else handleSetResult(result,payload)}if(proms.length)return Promise.all(proms).then(()=>payload);return payload}});$ZodEnum=$constructor("$ZodEnum",(inst,def)=>{$ZodType.init(inst,def);let values=getEnumValues(def.entries),valuesSet=new Set(values);inst._zod.values=valuesSet,inst._zod.pattern=new RegExp(`^(${values.filter((k)=>propertyKeyTypes.has(typeof k)).map((o)=>typeof o==="string"?escapeRegex(o):o.toString()).join("|")})$`),inst._zod.parse=(payload,_ctx)=>{let input=payload.value;if(valuesSet.has(input))return payload;return payload.issues.push({code:"invalid_value",values,input,inst}),payload}}),$ZodLiteral=$constructor("$ZodLiteral",(inst,def)=>{if($ZodType.init(inst,def),def.values.length===0)throw Error("Cannot create literal schema with no valid values");let values=new Set(def.values);inst._zod.values=values,inst._zod.pattern=new RegExp(`^(${def.values.map((o)=>typeof o==="string"?escapeRegex(o):o?escapeRegex(o.toString()):String(o)).join("|")})$`),inst._zod.parse=(payload,_ctx)=>{let input=payload.value;if(values.has(input))return payload;return payload.issues.push({code:"invalid_value",values:def.values,input,inst}),payload}}),$ZodFile=$constructor("$ZodFile",(inst,def)=>{$ZodType.init(inst,def),inst._zod.parse=(payload,_ctx)=>{let input=payload.value;if(input instanceof File)return payload;return payload.issues.push({expected:"file",code:"invalid_type",input,inst}),payload}}),$ZodTransform=$constructor("$ZodTransform",(inst,def)=>{$ZodType.init(inst,def),inst._zod.optin="optional",inst._zod.parse=(payload,ctx)=>{if(ctx.direction==="backward")throw new $ZodEncodeError(inst.constructor.name);let _out=def.transform(payload.value,payload);if(ctx.async)return(_out instanceof Promise?_out:Promise.resolve(_out)).then((output2)=>{return payload.value=output2,payload.fallback=!0,payload});if(_out instanceof Promise)throw new $ZodAsyncError;return payload.value=_out,payload.fallback=!0,payload}});$ZodOptional=$constructor("$ZodOptional",(inst,def)=>{$ZodType.init(inst,def),inst._zod.optin="optional",inst._zod.optout="optional",defineLazy(inst._zod,"values",()=>{return def.innerType._zod.values?new Set([...def.innerType._zod.values,void 0]):void 0}),defineLazy(inst._zod,"pattern",()=>{let pattern=def.innerType._zod.pattern;return pattern?new RegExp(`^(${cleanRegex(pattern.source)})?$`):void 0}),inst._zod.parse=(payload,ctx)=>{if(def.innerType._zod.optin==="optional"){let input=payload.value,result=def.innerType._zod.run(payload,ctx);if(result instanceof Promise)return result.then((r)=>handleOptionalResult(r,input));return handleOptionalResult(result,input)}if(payload.value===void 0)return payload;return def.innerType._zod.run(payload,ctx)}}),$ZodExactOptional=$constructor("$ZodExactOptional",(inst,def)=>{$ZodOptional.init(inst,def),defineLazy(inst._zod,"values",()=>def.innerType._zod.values),defineLazy(inst._zod,"pattern",()=>def.innerType._zod.pattern),inst._zod.parse=(payload,ctx)=>{return def.innerType._zod.run(payload,ctx)}}),$ZodNullable=$constructor("$ZodNullable",(inst,def)=>{$ZodType.init(inst,def),defineLazy(inst._zod,"optin",()=>def.innerType._zod.optin),defineLazy(inst._zod,"optout",()=>def.innerType._zod.optout),defineLazy(inst._zod,"pattern",()=>{let pattern=def.innerType._zod.pattern;return pattern?new RegExp(`^(${cleanRegex(pattern.source)}|null)$`):void 0}),defineLazy(inst._zod,"values",()=>{return def.innerType._zod.values?new Set([...def.innerType._zod.values,null]):void 0}),inst._zod.parse=(payload,ctx)=>{if(payload.value===null)return payload;return def.innerType._zod.run(payload,ctx)}}),$ZodDefault=$constructor("$ZodDefault",(inst,def)=>{$ZodType.init(inst,def),inst._zod.optin="optional",defineLazy(inst._zod,"values",()=>def.innerType._zod.values),inst._zod.parse=(payload,ctx)=>{if(ctx.direction==="backward")return def.innerType._zod.run(payload,ctx);if(payload.value===void 0)return payload.value=def.defaultValue,payload;let result=def.innerType._zod.run(payload,ctx);if(result instanceof Promise)return result.then((result2)=>handleDefaultResult(result2,def));return handleDefaultResult(result,def)}});$ZodPrefault=$constructor("$ZodPrefault",(inst,def)=>{$ZodType.init(inst,def),inst._zod.optin="optional",defineLazy(inst._zod,"values",()=>def.innerType._zod.values),inst._zod.parse=(payload,ctx)=>{if(ctx.direction==="backward")return def.innerType._zod.run(payload,ctx);if(payload.value===void 0)payload.value=def.defaultValue;return def.innerType._zod.run(payload,ctx)}}),$ZodNonOptional=$constructor("$ZodNonOptional",(inst,def)=>{$ZodType.init(inst,def),defineLazy(inst._zod,"values",()=>{let v=def.innerType._zod.values;return v?new Set([...v].filter((x)=>x!==void 0)):void 0}),inst._zod.parse=(payload,ctx)=>{let result=def.innerType._zod.run(payload,ctx);if(result instanceof Promise)return result.then((result2)=>handleNonOptionalResult(result2,inst));return handleNonOptionalResult(result,inst)}});$ZodSuccess=$constructor("$ZodSuccess",(inst,def)=>{$ZodType.init(inst,def),inst._zod.parse=(payload,ctx)=>{if(ctx.direction==="backward")throw new $ZodEncodeError("ZodSuccess");let result=def.innerType._zod.run(payload,ctx);if(result instanceof Promise)return result.then((result2)=>{return payload.value=result2.issues.length===0,payload});return payload.value=result.issues.length===0,payload}}),$ZodCatch=$constructor("$ZodCatch",(inst,def)=>{$ZodType.init(inst,def),inst._zod.optin="optional",defineLazy(inst._zod,"optout",()=>def.innerType._zod.optout),defineLazy(inst._zod,"values",()=>def.innerType._zod.values),inst._zod.parse=(payload,ctx)=>{if(ctx.direction==="backward")return def.innerType._zod.run(payload,ctx);let result=def.innerType._zod.run(payload,ctx);if(result instanceof Promise)return result.then((result2)=>{if(payload.value=result2.value,result2.issues.length)payload.value=def.catchValue({...payload,error:{issues:result2.issues.map((iss)=>finalizeIssue(iss,ctx,config()))},input:payload.value}),payload.issues=[],payload.fallback=!0;return payload});if(payload.value=result.value,result.issues.length)payload.value=def.catchValue({...payload,error:{issues:result.issues.map((iss)=>finalizeIssue(iss,ctx,config()))},input:payload.value}),payload.issues=[],payload.fallback=!0;return payload}}),$ZodNaN=$constructor("$ZodNaN",(inst,def)=>{$ZodType.init(inst,def),inst._zod.parse=(payload,_ctx)=>{if(typeof payload.value!=="number"||!Number.isNaN(payload.value))return payload.issues.push({input:payload.value,inst,expected:"nan",code:"invalid_type"}),payload;return payload}}),$ZodPipe=$constructor("$ZodPipe",(inst,def)=>{$ZodType.init(inst,def),defineLazy(inst._zod,"values",()=>def.in._zod.values),defineLazy(inst._zod,"optin",()=>def.in._zod.optin),defineLazy(inst._zod,"optout",()=>def.out._zod.optout),defineLazy(inst._zod,"propValues",()=>def.in._zod.propValues),inst._zod.parse=(payload,ctx)=>{if(ctx.direction==="backward"){let right=def.out._zod.run(payload,ctx);if(right instanceof Promise)return right.then((right2)=>handlePipeResult(right2,def.in,ctx));return handlePipeResult(right,def.in,ctx)}let left=def.in._zod.run(payload,ctx);if(left instanceof Promise)return left.then((left2)=>handlePipeResult(left2,def.out,ctx));return handlePipeResult(left,def.out,ctx)}});$ZodCodec=$constructor("$ZodCodec",(inst,def)=>{$ZodType.init(inst,def),defineLazy(inst._zod,"values",()=>def.in._zod.values),defineLazy(inst._zod,"optin",()=>def.in._zod.optin),defineLazy(inst._zod,"optout",()=>def.out._zod.optout),defineLazy(inst._zod,"propValues",()=>def.in._zod.propValues),inst._zod.parse=(payload,ctx)=>{if((ctx.direction||"forward")==="forward"){let left=def.in._zod.run(payload,ctx);if(left instanceof Promise)return left.then((left2)=>handleCodecAResult(left2,def,ctx));return handleCodecAResult(left,def,ctx)}else{let right=def.out._zod.run(payload,ctx);if(right instanceof Promise)return right.then((right2)=>handleCodecAResult(right2,def,ctx));return handleCodecAResult(right,def,ctx)}}});$ZodPreprocess=$constructor("$ZodPreprocess",(inst,def)=>{$ZodPipe.init(inst,def)}),$ZodReadonly=$constructor("$ZodReadonly",(inst,def)=>{$ZodType.init(inst,def),defineLazy(inst._zod,"propValues",()=>def.innerType._zod.propValues),defineLazy(inst._zod,"values",()=>def.innerType._zod.values),defineLazy(inst._zod,"optin",()=>def.innerType?._zod?.optin),defineLazy(inst._zod,"optout",()=>def.innerType?._zod?.optout),inst._zod.parse=(payload,ctx)=>{if(ctx.direction==="backward")return def.innerType._zod.run(payload,ctx);let result=def.innerType._zod.run(payload,ctx);if(result instanceof Promise)return result.then(handleReadonlyResult);return handleReadonlyResult(result)}});$ZodTemplateLiteral=$constructor("$ZodTemplateLiteral",(inst,def)=>{$ZodType.init(inst,def);let regexParts=[];for(let part of def.parts)if(typeof part==="object"&&part!==null){if(!part._zod.pattern)throw Error(`Invalid template literal part, no pattern found: ${[...part._zod.traits].shift()}`);let source=part._zod.pattern instanceof RegExp?part._zod.pattern.source:part._zod.pattern;if(!source)throw Error(`Invalid template literal part: ${part._zod.traits}`);let start=source.startsWith("^")?1:0,end=source.endsWith("$")?source.length-1:source.length;regexParts.push(source.slice(start,end))}else if(part===null||primitiveTypes.has(typeof part))regexParts.push(escapeRegex(`${part}`));else throw Error(`Invalid template literal part: ${part}`);inst._zod.pattern=new RegExp(`^${regexParts.join("")}$`),inst._zod.parse=(payload,_ctx)=>{if(typeof payload.value!=="string")return payload.issues.push({input:payload.value,inst,expected:"string",code:"invalid_type"}),payload;if(inst._zod.pattern.lastIndex=0,!inst._zod.pattern.test(payload.value))return payload.issues.push({input:payload.value,inst,code:"invalid_format",format:def.format??"template_literal",pattern:inst._zod.pattern.source}),payload;return payload}}),$ZodFunction=$constructor("$ZodFunction",(inst,def)=>{return $ZodType.init(inst,def),inst._def=def,inst._zod.def=def,inst.implement=(func)=>{if(typeof func!=="function")throw Error("implement() must be called with a function");return function(...args){let parsedArgs=inst._def.input?parse(inst._def.input,args):args,result=Reflect.apply(func,this,parsedArgs);if(inst._def.output)return parse(inst._def.output,result);return result}},inst.implementAsync=(func)=>{if(typeof func!=="function")throw Error("implementAsync() must be called with a function");return async function(...args){let parsedArgs=inst._def.input?await parseAsync(inst._def.input,args):args,result=await Reflect.apply(func,this,parsedArgs);if(inst._def.output)return await parseAsync(inst._def.output,result);return result}},inst._zod.parse=(payload,_ctx)=>{if(typeof payload.value!=="function")return payload.issues.push({code:"invalid_type",expected:"function",input:payload.value,inst}),payload;if(inst._def.output&&inst._def.output._zod.def.type==="promise")payload.value=inst.implementAsync(payload.value);else payload.value=inst.implement(payload.value);return payload},inst.input=(...args)=>{let F=inst.constructor;if(Array.isArray(args[0]))return new F({type:"function",input:new $ZodTuple({type:"tuple",items:args[0],rest:args[1]}),output:inst._def.output});return new F({type:"function",input:args[0],output:inst._def.output})},inst.output=(output)=>{return new inst.constructor({type:"function",input:inst._def.input,output})},inst}),$ZodPromise=$constructor("$ZodPromise",(inst,def)=>{$ZodType.init(inst,def),inst._zod.parse=(payload,ctx)=>{return Promise.resolve(payload.value).then((inner)=>def.innerType._zod.run({value:inner,issues:[]},ctx))}}),$ZodLazy=$constructor("$ZodLazy",(inst,def)=>{$ZodType.init(inst,def),defineLazy(inst._zod,"innerType",()=>{let d=def;if(!d._cachedInner)d._cachedInner=def.getter();return d._cachedInner}),defineLazy(inst._zod,"pattern",()=>inst._zod.innerType?._zod?.pattern),defineLazy(inst._zod,"propValues",()=>inst._zod.innerType?._zod?.propValues),defineLazy(inst._zod,"optin",()=>inst._zod.innerType?._zod?.optin??void 0),defineLazy(inst._zod,"optout",()=>inst._zod.innerType?._zod?.optout??void 0),inst._zod.parse=(payload,ctx)=>{return inst._zod.innerType._zod.run(payload,ctx)}}),$ZodCustom=$constructor("$ZodCustom",(inst,def)=>{$ZodCheck.init(inst,def),$ZodType.init(inst,def),inst._zod.parse=(payload,_)=>{return payload},inst._zod.check=(payload)=>{let input=payload.value,r=def.fn(input);if(r instanceof Promise)return r.then((r2)=>handleRefineResult(r2,payload,input,inst));handleRefineResult(r,payload,input,inst);return}})});function ar_default(){return{localeError:error()}}var error=()=>{let Sizable={string:{unit:"حرف",verb:"أن يحوي"},file:{unit:"بايت",verb:"أن يحوي"},array:{unit:"عنصر",verb:"أن يحوي"},set:{unit:"عنصر",verb:"أن يحوي"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"مدخل",email:"بريد إلكتروني",url:"رابط",emoji:"إيموجي",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"تاريخ ووقت بمعيار ISO",date:"تاريخ بمعيار ISO",time:"وقت بمعيار ISO",duration:"مدة بمعيار ISO",ipv4:"عنوان IPv4",ipv6:"عنوان IPv6",cidrv4:"مدى عناوين بصيغة IPv4",cidrv6:"مدى عناوين بصيغة IPv6",base64:"نَص بترميز base64-encoded",base64url:"نَص بترميز base64url-encoded",json_string:"نَص على هيئة JSON",e164:"رقم هاتف بمعيار E.164",jwt:"JWT",template_literal:"مدخل"},TypeDictionary={nan:"NaN"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`مدخلات غير مقبولة: يفترض إدخال instanceof ${issue2.expected}، ولكن تم إدخال ${received}`;return`مدخلات غير مقبولة: يفترض إدخال ${expected}، ولكن تم إدخال ${received}`}case"invalid_value":if(issue2.values.length===1)return`مدخلات غير مقبولة: يفترض إدخال ${stringifyPrimitive(issue2.values[0])}`;return`اختيار غير مقبول: يتوقع انتقاء أحد هذه الخيارات: ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing)return` أكبر من اللازم: يفترض أن تكون ${issue2.origin??"القيمة"} ${adj} ${issue2.maximum.toString()} ${sizing.unit??"عنصر"}`;return`أكبر من اللازم: يفترض أن تكون ${issue2.origin??"القيمة"} ${adj} ${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing)return`أصغر من اللازم: يفترض لـ ${issue2.origin} أن يكون ${adj} ${issue2.minimum.toString()} ${sizing.unit}`;return`أصغر من اللازم: يفترض لـ ${issue2.origin} أن يكون ${adj} ${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`نَص غير مقبول: يجب أن يبدأ بـ "${issue2.prefix}"`;if(_issue.format==="ends_with")return`نَص غير مقبول: يجب أن ينتهي بـ "${_issue.suffix}"`;if(_issue.format==="includes")return`نَص غير مقبول: يجب أن يتضمَّن "${_issue.includes}"`;if(_issue.format==="regex")return`نَص غير مقبول: يجب أن يطابق النمط ${_issue.pattern}`;return`${FormatDictionary[_issue.format]??issue2.format} غير مقبول`}case"not_multiple_of":return`رقم غير مقبول: يجب أن يكون من مضاعفات ${issue2.divisor}`;case"unrecognized_keys":return`معرف${issue2.keys.length>1?"ات":""} غريب${issue2.keys.length>1?"ة":""}: ${joinValues(issue2.keys,"، ")}`;case"invalid_key":return`معرف غير مقبول في ${issue2.origin}`;case"invalid_union":return"مدخل غير مقبول";case"invalid_element":return`مدخل غير مقبول في ${issue2.origin}`;default:return"مدخل غير مقبول"}}};var init_ar=__esm(()=>{init_util()});function az_default(){return{localeError:error2()}}var error2=()=>{let Sizable={string:{unit:"simvol",verb:"olmalıdır"},file:{unit:"bayt",verb:"olmalıdır"},array:{unit:"element",verb:"olmalıdır"},set:{unit:"element",verb:"olmalıdır"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},TypeDictionary={nan:"NaN"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`Yanlış dəyər: gözlənilən instanceof ${issue2.expected}, daxil olan ${received}`;return`Yanlış dəyər: gözlənilən ${expected}, daxil olan ${received}`}case"invalid_value":if(issue2.values.length===1)return`Yanlış dəyər: gözlənilən ${stringifyPrimitive(issue2.values[0])}`;return`Yanlış seçim: aşağıdakılardan biri olmalıdır: ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing)return`Çox böyük: gözlənilən ${issue2.origin??"dəyər"} ${adj}${issue2.maximum.toString()} ${sizing.unit??"element"}`;return`Çox böyük: gözlənilən ${issue2.origin??"dəyər"} ${adj}${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing)return`Çox kiçik: gözlənilən ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit}`;return`Çox kiçik: gözlənilən ${issue2.origin} ${adj}${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`Yanlış mətn: "${_issue.prefix}" ilə başlamalıdır`;if(_issue.format==="ends_with")return`Yanlış mətn: "${_issue.suffix}" ilə bitməlidir`;if(_issue.format==="includes")return`Yanlış mətn: "${_issue.includes}" daxil olmalıdır`;if(_issue.format==="regex")return`Yanlış mətn: ${_issue.pattern} şablonuna uyğun olmalıdır`;return`Yanlış ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`Yanlış ədəd: ${issue2.divisor} ilə bölünə bilən olmalıdır`;case"unrecognized_keys":return`Tanınmayan açar${issue2.keys.length>1?"lar":""}: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`${issue2.origin} daxilində yanlış açar`;case"invalid_union":return"Yanlış dəyər";case"invalid_element":return`${issue2.origin} daxilində yanlış dəyər`;default:return"Yanlış dəyər"}}};var init_az=__esm(()=>{init_util()});function getBelarusianPlural(count,one,few,many){let absCount=Math.abs(count),lastDigit=absCount%10,lastTwoDigits=absCount%100;if(lastTwoDigits>=11&&lastTwoDigits<=19)return many;if(lastDigit===1)return one;if(lastDigit>=2&&lastDigit<=4)return few;return many}function be_default(){return{localeError:error3()}}var error3=()=>{let Sizable={string:{unit:{one:"сімвал",few:"сімвалы",many:"сімвалаў"},verb:"мець"},array:{unit:{one:"элемент",few:"элементы",many:"элементаў"},verb:"мець"},set:{unit:{one:"элемент",few:"элементы",many:"элементаў"},verb:"мець"},file:{unit:{one:"байт",few:"байты",many:"байтаў"},verb:"мець"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"увод",email:"email адрас",url:"URL",emoji:"эмодзі",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO дата і час",date:"ISO дата",time:"ISO час",duration:"ISO працягласць",ipv4:"IPv4 адрас",ipv6:"IPv6 адрас",cidrv4:"IPv4 дыяпазон",cidrv6:"IPv6 дыяпазон",base64:"радок у фармаце base64",base64url:"радок у фармаце base64url",json_string:"JSON радок",e164:"нумар E.164",jwt:"JWT",template_literal:"увод"},TypeDictionary={nan:"NaN",number:"лік",array:"масіў"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`Няправільны ўвод: чакаўся instanceof ${issue2.expected}, атрымана ${received}`;return`Няправільны ўвод: чакаўся ${expected}, атрымана ${received}`}case"invalid_value":if(issue2.values.length===1)return`Няправільны ўвод: чакалася ${stringifyPrimitive(issue2.values[0])}`;return`Няправільны варыянт: чакаўся адзін з ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing){let maxValue=Number(issue2.maximum),unit=getBelarusianPlural(maxValue,sizing.unit.one,sizing.unit.few,sizing.unit.many);return`Занадта вялікі: чакалася, што ${issue2.origin??"значэнне"} павінна ${sizing.verb} ${adj}${issue2.maximum.toString()} ${unit}`}return`Занадта вялікі: чакалася, што ${issue2.origin??"значэнне"} павінна быць ${adj}${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing){let minValue=Number(issue2.minimum),unit=getBelarusianPlural(minValue,sizing.unit.one,sizing.unit.few,sizing.unit.many);return`Занадта малы: чакалася, што ${issue2.origin} павінна ${sizing.verb} ${adj}${issue2.minimum.toString()} ${unit}`}return`Занадта малы: чакалася, што ${issue2.origin} павінна быць ${adj}${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`Няправільны радок: павінен пачынацца з "${_issue.prefix}"`;if(_issue.format==="ends_with")return`Няправільны радок: павінен заканчвацца на "${_issue.suffix}"`;if(_issue.format==="includes")return`Няправільны радок: павінен змяшчаць "${_issue.includes}"`;if(_issue.format==="regex")return`Няправільны радок: павінен адпавядаць шаблону ${_issue.pattern}`;return`Няправільны ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`Няправільны лік: павінен быць кратным ${issue2.divisor}`;case"unrecognized_keys":return`Нераспазнаны ${issue2.keys.length>1?"ключы":"ключ"}: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`Няправільны ключ у ${issue2.origin}`;case"invalid_union":return"Няправільны ўвод";case"invalid_element":return`Няправільнае значэнне ў ${issue2.origin}`;default:return"Няправільны ўвод"}}};var init_be=__esm(()=>{init_util()});function bg_default(){return{localeError:error4()}}var error4=()=>{let Sizable={string:{unit:"символа",verb:"да съдържа"},file:{unit:"байта",verb:"да съдържа"},array:{unit:"елемента",verb:"да съдържа"},set:{unit:"елемента",verb:"да съдържа"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"вход",email:"имейл адрес",url:"URL",emoji:"емоджи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO време",date:"ISO дата",time:"ISO време",duration:"ISO продължителност",ipv4:"IPv4 адрес",ipv6:"IPv6 адрес",cidrv4:"IPv4 диапазон",cidrv6:"IPv6 диапазон",base64:"base64-кодиран низ",base64url:"base64url-кодиран низ",json_string:"JSON низ",e164:"E.164 номер",jwt:"JWT",template_literal:"вход"},TypeDictionary={nan:"NaN",number:"число",array:"масив"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`Невалиден вход: очакван instanceof ${issue2.expected}, получен ${received}`;return`Невалиден вход: очакван ${expected}, получен ${received}`}case"invalid_value":if(issue2.values.length===1)return`Невалиден вход: очакван ${stringifyPrimitive(issue2.values[0])}`;return`Невалидна опция: очаквано едно от ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing)return`Твърде голямо: очаква се ${issue2.origin??"стойност"} да съдържа ${adj}${issue2.maximum.toString()} ${sizing.unit??"елемента"}`;return`Твърде голямо: очаква се ${issue2.origin??"стойност"} да бъде ${adj}${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing)return`Твърде малко: очаква се ${issue2.origin} да съдържа ${adj}${issue2.minimum.toString()} ${sizing.unit}`;return`Твърде малко: очаква се ${issue2.origin} да бъде ${adj}${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`Невалиден низ: трябва да започва с "${_issue.prefix}"`;if(_issue.format==="ends_with")return`Невалиден низ: трябва да завършва с "${_issue.suffix}"`;if(_issue.format==="includes")return`Невалиден низ: трябва да включва "${_issue.includes}"`;if(_issue.format==="regex")return`Невалиден низ: трябва да съвпада с ${_issue.pattern}`;let invalid_adj="Невалиден";if(_issue.format==="emoji")invalid_adj="Невалидно";if(_issue.format==="datetime")invalid_adj="Невалидно";if(_issue.format==="date")invalid_adj="Невалидна";if(_issue.format==="time")invalid_adj="Невалидно";if(_issue.format==="duration")invalid_adj="Невалидна";return`${invalid_adj} ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`Невалидно число: трябва да бъде кратно на ${issue2.divisor}`;case"unrecognized_keys":return`Неразпознат${issue2.keys.length>1?"и":""} ключ${issue2.keys.length>1?"ове":""}: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`Невалиден ключ в ${issue2.origin}`;case"invalid_union":return"Невалиден вход";case"invalid_element":return`Невалидна стойност в ${issue2.origin}`;default:return"Невалиден вход"}}};var init_bg=__esm(()=>{init_util()});function ca_default(){return{localeError:error5()}}var error5=()=>{let Sizable={string:{unit:"caràcters",verb:"contenir"},file:{unit:"bytes",verb:"contenir"},array:{unit:"elements",verb:"contenir"},set:{unit:"elements",verb:"contenir"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"entrada",email:"adreça electrònica",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i hora ISO",date:"data ISO",time:"hora ISO",duration:"durada ISO",ipv4:"adreça IPv4",ipv6:"adreça IPv6",cidrv4:"rang IPv4",cidrv6:"rang IPv6",base64:"cadena codificada en base64",base64url:"cadena codificada en base64url",json_string:"cadena JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"},TypeDictionary={nan:"NaN"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`Tipus invàlid: s'esperava instanceof ${issue2.expected}, s'ha rebut ${received}`;return`Tipus invàlid: s'esperava ${expected}, s'ha rebut ${received}`}case"invalid_value":if(issue2.values.length===1)return`Valor invàlid: s'esperava ${stringifyPrimitive(issue2.values[0])}`;return`Opció invàlida: s'esperava una de ${joinValues(issue2.values," o ")}`;case"too_big":{let adj=issue2.inclusive?"com a màxim":"menys de",sizing=getSizing(issue2.origin);if(sizing)return`Massa gran: s'esperava que ${issue2.origin??"el valor"} contingués ${adj} ${issue2.maximum.toString()} ${sizing.unit??"elements"}`;return`Massa gran: s'esperava que ${issue2.origin??"el valor"} fos ${adj} ${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?"com a mínim":"més de",sizing=getSizing(issue2.origin);if(sizing)return`Massa petit: s'esperava que ${issue2.origin} contingués ${adj} ${issue2.minimum.toString()} ${sizing.unit}`;return`Massa petit: s'esperava que ${issue2.origin} fos ${adj} ${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`Format invàlid: ha de començar amb "${_issue.prefix}"`;if(_issue.format==="ends_with")return`Format invàlid: ha d'acabar amb "${_issue.suffix}"`;if(_issue.format==="includes")return`Format invàlid: ha d'incloure "${_issue.includes}"`;if(_issue.format==="regex")return`Format invàlid: ha de coincidir amb el patró ${_issue.pattern}`;return`Format invàlid per a ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`Número invàlid: ha de ser múltiple de ${issue2.divisor}`;case"unrecognized_keys":return`Clau${issue2.keys.length>1?"s":""} no reconeguda${issue2.keys.length>1?"s":""}: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`Clau invàlida a ${issue2.origin}`;case"invalid_union":return"Entrada invàlida";case"invalid_element":return`Element invàlid a ${issue2.origin}`;default:return"Entrada invàlida"}}};var init_ca=__esm(()=>{init_util()});function cs_default(){return{localeError:error6()}}var error6=()=>{let Sizable={string:{unit:"znaků",verb:"mít"},file:{unit:"bajtů",verb:"mít"},array:{unit:"prvků",verb:"mít"},set:{unit:"prvků",verb:"mít"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"regulární výraz",email:"e-mailová adresa",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"datum a čas ve formátu ISO",date:"datum ve formátu ISO",time:"čas ve formátu ISO",duration:"doba trvání ISO",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"rozsah IPv4",cidrv6:"rozsah IPv6",base64:"řetězec zakódovaný ve formátu base64",base64url:"řetězec zakódovaný ve formátu base64url",json_string:"řetězec ve formátu JSON",e164:"číslo E.164",jwt:"JWT",template_literal:"vstup"},TypeDictionary={nan:"NaN",number:"číslo",string:"řetězec",function:"funkce",array:"pole"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`Neplatný vstup: očekáváno instanceof ${issue2.expected}, obdrženo ${received}`;return`Neplatný vstup: očekáváno ${expected}, obdrženo ${received}`}case"invalid_value":if(issue2.values.length===1)return`Neplatný vstup: očekáváno ${stringifyPrimitive(issue2.values[0])}`;return`Neplatná možnost: očekávána jedna z hodnot ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing)return`Hodnota je příliš velká: ${issue2.origin??"hodnota"} musí mít ${adj}${issue2.maximum.toString()} ${sizing.unit??"prvků"}`;return`Hodnota je příliš velká: ${issue2.origin??"hodnota"} musí být ${adj}${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing)return`Hodnota je příliš malá: ${issue2.origin??"hodnota"} musí mít ${adj}${issue2.minimum.toString()} ${sizing.unit??"prvků"}`;return`Hodnota je příliš malá: ${issue2.origin??"hodnota"} musí být ${adj}${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`Neplatný řetězec: musí začínat na "${_issue.prefix}"`;if(_issue.format==="ends_with")return`Neplatný řetězec: musí končit na "${_issue.suffix}"`;if(_issue.format==="includes")return`Neplatný řetězec: musí obsahovat "${_issue.includes}"`;if(_issue.format==="regex")return`Neplatný řetězec: musí odpovídat vzoru ${_issue.pattern}`;return`Neplatný formát ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`Neplatné číslo: musí být násobkem ${issue2.divisor}`;case"unrecognized_keys":return`Neznámé klíče: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`Neplatný klíč v ${issue2.origin}`;case"invalid_union":return"Neplatný vstup";case"invalid_element":return`Neplatná hodnota v ${issue2.origin}`;default:return"Neplatný vstup"}}};var init_cs=__esm(()=>{init_util()});function da_default(){return{localeError:error7()}}var error7=()=>{let Sizable={string:{unit:"tegn",verb:"havde"},file:{unit:"bytes",verb:"havde"},array:{unit:"elementer",verb:"indeholdt"},set:{unit:"elementer",verb:"indeholdt"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"input",email:"e-mailadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkeslæt",date:"ISO-dato",time:"ISO-klokkeslæt",duration:"ISO-varighed",ipv4:"IPv4-område",ipv6:"IPv6-område",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodet streng",base64url:"base64url-kodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},TypeDictionary={nan:"NaN",string:"streng",number:"tal",boolean:"boolean",array:"liste",object:"objekt",set:"sæt",file:"fil"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`Ugyldigt input: forventede instanceof ${issue2.expected}, fik ${received}`;return`Ugyldigt input: forventede ${expected}, fik ${received}`}case"invalid_value":if(issue2.values.length===1)return`Ugyldig værdi: forventede ${stringifyPrimitive(issue2.values[0])}`;return`Ugyldigt valg: forventede en af følgende ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin),origin=TypeDictionary[issue2.origin]??issue2.origin;if(sizing)return`For stor: forventede ${origin??"value"} ${sizing.verb} ${adj} ${issue2.maximum.toString()} ${sizing.unit??"elementer"}`;return`For stor: forventede ${origin??"value"} havde ${adj} ${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin),origin=TypeDictionary[issue2.origin]??issue2.origin;if(sizing)return`For lille: forventede ${origin} ${sizing.verb} ${adj} ${issue2.minimum.toString()} ${sizing.unit}`;return`For lille: forventede ${origin} havde ${adj} ${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`Ugyldig streng: skal starte med "${_issue.prefix}"`;if(_issue.format==="ends_with")return`Ugyldig streng: skal ende med "${_issue.suffix}"`;if(_issue.format==="includes")return`Ugyldig streng: skal indeholde "${_issue.includes}"`;if(_issue.format==="regex")return`Ugyldig streng: skal matche mønsteret ${_issue.pattern}`;return`Ugyldig ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`Ugyldigt tal: skal være deleligt med ${issue2.divisor}`;case"unrecognized_keys":return`${issue2.keys.length>1?"Ukendte nøgler":"Ukendt nøgle"}: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`Ugyldig nøgle i ${issue2.origin}`;case"invalid_union":return"Ugyldigt input: matcher ingen af de tilladte typer";case"invalid_element":return`Ugyldig værdi i ${issue2.origin}`;default:return"Ugyldigt input"}}};var init_da=__esm(()=>{init_util()});function de_default(){return{localeError:error8()}}var error8=()=>{let Sizable={string:{unit:"Zeichen",verb:"zu haben"},file:{unit:"Bytes",verb:"zu haben"},array:{unit:"Elemente",verb:"zu haben"},set:{unit:"Elemente",verb:"zu haben"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"Eingabe",email:"E-Mail-Adresse",url:"URL",emoji:"Emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-Datum und -Uhrzeit",date:"ISO-Datum",time:"ISO-Uhrzeit",duration:"ISO-Dauer",ipv4:"IPv4-Adresse",ipv6:"IPv6-Adresse",cidrv4:"IPv4-Bereich",cidrv6:"IPv6-Bereich",base64:"Base64-codierter String",base64url:"Base64-URL-codierter String",json_string:"JSON-String",e164:"E.164-Nummer",jwt:"JWT",template_literal:"Eingabe"},TypeDictionary={nan:"NaN",number:"Zahl",array:"Array"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`Ungültige Eingabe: erwartet instanceof ${issue2.expected}, erhalten ${received}`;return`Ungültige Eingabe: erwartet ${expected}, erhalten ${received}`}case"invalid_value":if(issue2.values.length===1)return`Ungültige Eingabe: erwartet ${stringifyPrimitive(issue2.values[0])}`;return`Ungültige Option: erwartet eine von ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing)return`Zu groß: erwartet, dass ${issue2.origin??"Wert"} ${adj}${issue2.maximum.toString()} ${sizing.unit??"Elemente"} hat`;return`Zu groß: erwartet, dass ${issue2.origin??"Wert"} ${adj}${issue2.maximum.toString()} ist`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing)return`Zu klein: erwartet, dass ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit} hat`;return`Zu klein: erwartet, dass ${issue2.origin} ${adj}${issue2.minimum.toString()} ist`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`Ungültiger String: muss mit "${_issue.prefix}" beginnen`;if(_issue.format==="ends_with")return`Ungültiger String: muss mit "${_issue.suffix}" enden`;if(_issue.format==="includes")return`Ungültiger String: muss "${_issue.includes}" enthalten`;if(_issue.format==="regex")return`Ungültiger String: muss dem Muster ${_issue.pattern} entsprechen`;return`Ungültig: ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`Ungültige Zahl: muss ein Vielfaches von ${issue2.divisor} sein`;case"unrecognized_keys":return`${issue2.keys.length>1?"Unbekannte Schlüssel":"Unbekannter Schlüssel"}: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`Ungültiger Schlüssel in ${issue2.origin}`;case"invalid_union":return"Ungültige Eingabe";case"invalid_element":return`Ungültiger Wert in ${issue2.origin}`;default:return"Ungültige Eingabe"}}};var init_de=__esm(()=>{init_util()});function el_default(){return{localeError:error9()}}var error9=()=>{let Sizable={string:{unit:"χαρακτήρες",verb:"να έχει"},file:{unit:"bytes",verb:"να έχει"},array:{unit:"στοιχεία",verb:"να έχει"},set:{unit:"στοιχεία",verb:"να έχει"},map:{unit:"καταχωρήσεις",verb:"να έχει"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"είσοδος",email:"διεύθυνση email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO ημερομηνία και ώρα",date:"ISO ημερομηνία",time:"ISO ώρα",duration:"ISO διάρκεια",ipv4:"διεύθυνση IPv4",ipv6:"διεύθυνση IPv6",mac:"διεύθυνση MAC",cidrv4:"εύρος IPv4",cidrv6:"εύρος IPv6",base64:"συμβολοσειρά κωδικοποιημένη σε base64",base64url:"συμβολοσειρά κωδικοποιημένη σε base64url",json_string:"συμβολοσειρά JSON",e164:"αριθμός E.164",jwt:"JWT",template_literal:"είσοδος"},TypeDictionary={nan:"NaN"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(typeof issue2.expected==="string"&&/^[A-Z]/.test(issue2.expected))return`Μη έγκυρη είσοδος: αναμενόταν instanceof ${issue2.expected}, λήφθηκε ${received}`;return`Μη έγκυρη είσοδος: αναμενόταν ${expected}, λήφθηκε ${received}`}case"invalid_value":if(issue2.values.length===1)return`Μη έγκυρη είσοδος: αναμενόταν ${stringifyPrimitive(issue2.values[0])}`;return`Μη έγκυρη επιλογή: αναμενόταν ένα από ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing)return`Πολύ μεγάλο: αναμενόταν ${issue2.origin??"τιμή"} να έχει ${adj}${issue2.maximum.toString()} ${sizing.unit??"στοιχεία"}`;return`Πολύ μεγάλο: αναμενόταν ${issue2.origin??"τιμή"} να είναι ${adj}${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing)return`Πολύ μικρό: αναμενόταν ${issue2.origin} να έχει ${adj}${issue2.minimum.toString()} ${sizing.unit}`;return`Πολύ μικρό: αναμενόταν ${issue2.origin} να είναι ${adj}${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`Μη έγκυρη συμβολοσειρά: πρέπει να ξεκινά με "${_issue.prefix}"`;if(_issue.format==="ends_with")return`Μη έγκυρη συμβολοσειρά: πρέπει να τελειώνει με "${_issue.suffix}"`;if(_issue.format==="includes")return`Μη έγκυρη συμβολοσειρά: πρέπει να περιέχει "${_issue.includes}"`;if(_issue.format==="regex")return`Μη έγκυρη συμβολοσειρά: πρέπει να ταιριάζει με το μοτίβο ${_issue.pattern}`;return`Μη έγκυρο: ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`Μη έγκυρος αριθμός: πρέπει να είναι πολλαπλάσιο του ${issue2.divisor}`;case"unrecognized_keys":return`Άγνωστ${issue2.keys.length>1?"α":"ο"} κλειδ${issue2.keys.length>1?"ιά":"ί"}: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`Μη έγκυρο κλειδί στο ${issue2.origin}`;case"invalid_union":return"Μη έγκυρη είσοδος";case"invalid_element":return`Μη έγκυρη τιμή στο ${issue2.origin}`;default:return"Μη έγκυρη είσοδος"}}};var init_el=__esm(()=>{init_util()});function en_default(){return{localeError:error10()}}var error10=()=>{let Sizable={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},TypeDictionary={nan:"NaN"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;return`Invalid input: expected ${expected}, received ${received}`}case"invalid_value":if(issue2.values.length===1)return`Invalid input: expected ${stringifyPrimitive(issue2.values[0])}`;return`Invalid option: expected one of ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing)return`Too big: expected ${issue2.origin??"value"} to have ${adj}${issue2.maximum.toString()} ${sizing.unit??"elements"}`;return`Too big: expected ${issue2.origin??"value"} to be ${adj}${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing)return`Too small: expected ${issue2.origin} to have ${adj}${issue2.minimum.toString()} ${sizing.unit}`;return`Too small: expected ${issue2.origin} to be ${adj}${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`Invalid string: must start with "${_issue.prefix}"`;if(_issue.format==="ends_with")return`Invalid string: must end with "${_issue.suffix}"`;if(_issue.format==="includes")return`Invalid string: must include "${_issue.includes}"`;if(_issue.format==="regex")return`Invalid string: must match pattern ${_issue.pattern}`;return`Invalid ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${issue2.divisor}`;case"unrecognized_keys":return`Unrecognized key${issue2.keys.length>1?"s":""}: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`Invalid key in ${issue2.origin}`;case"invalid_union":if(issue2.options&&Array.isArray(issue2.options)&&issue2.options.length>0)return`Invalid discriminator value. Expected ${issue2.options.map((o)=>`'${o}'`).join(" | ")}`;return"Invalid input";case"invalid_element":return`Invalid value in ${issue2.origin}`;default:return"Invalid input"}}};var init_en=__esm(()=>{init_util()});function eo_default(){return{localeError:error11()}}var error11=()=>{let Sizable={string:{unit:"karaktrojn",verb:"havi"},file:{unit:"bajtojn",verb:"havi"},array:{unit:"elementojn",verb:"havi"},set:{unit:"elementojn",verb:"havi"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"enigo",email:"retadreso",url:"URL",emoji:"emoĝio",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datotempo",date:"ISO-dato",time:"ISO-tempo",duration:"ISO-daŭro",ipv4:"IPv4-adreso",ipv6:"IPv6-adreso",cidrv4:"IPv4-rango",cidrv6:"IPv6-rango",base64:"64-ume kodita karaktraro",base64url:"URL-64-ume kodita karaktraro",json_string:"JSON-karaktraro",e164:"E.164-nombro",jwt:"JWT",template_literal:"enigo"},TypeDictionary={nan:"NaN",number:"nombro",array:"tabelo",null:"senvalora"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`Nevalida enigo: atendiĝis instanceof ${issue2.expected}, riceviĝis ${received}`;return`Nevalida enigo: atendiĝis ${expected}, riceviĝis ${received}`}case"invalid_value":if(issue2.values.length===1)return`Nevalida enigo: atendiĝis ${stringifyPrimitive(issue2.values[0])}`;return`Nevalida opcio: atendiĝis unu el ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing)return`Tro granda: atendiĝis ke ${issue2.origin??"valoro"} havu ${adj}${issue2.maximum.toString()} ${sizing.unit??"elementojn"}`;return`Tro granda: atendiĝis ke ${issue2.origin??"valoro"} havu ${adj}${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing)return`Tro malgranda: atendiĝis ke ${issue2.origin} havu ${adj}${issue2.minimum.toString()} ${sizing.unit}`;return`Tro malgranda: atendiĝis ke ${issue2.origin} estu ${adj}${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`Nevalida karaktraro: devas komenciĝi per "${_issue.prefix}"`;if(_issue.format==="ends_with")return`Nevalida karaktraro: devas finiĝi per "${_issue.suffix}"`;if(_issue.format==="includes")return`Nevalida karaktraro: devas inkluzivi "${_issue.includes}"`;if(_issue.format==="regex")return`Nevalida karaktraro: devas kongrui kun la modelo ${_issue.pattern}`;return`Nevalida ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`Nevalida nombro: devas esti oblo de ${issue2.divisor}`;case"unrecognized_keys":return`Nekonata${issue2.keys.length>1?"j":""} ŝlosilo${issue2.keys.length>1?"j":""}: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`Nevalida ŝlosilo en ${issue2.origin}`;case"invalid_union":return"Nevalida enigo";case"invalid_element":return`Nevalida valoro en ${issue2.origin}`;default:return"Nevalida enigo"}}};var init_eo=__esm(()=>{init_util()});function es_default(){return{localeError:error12()}}var error12=()=>{let Sizable={string:{unit:"caracteres",verb:"tener"},file:{unit:"bytes",verb:"tener"},array:{unit:"elementos",verb:"tener"},set:{unit:"elementos",verb:"tener"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"entrada",email:"dirección de correo electrónico",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"fecha y hora ISO",date:"fecha ISO",time:"hora ISO",duration:"duración ISO",ipv4:"dirección IPv4",ipv6:"dirección IPv6",cidrv4:"rango IPv4",cidrv6:"rango IPv6",base64:"cadena codificada en base64",base64url:"URL codificada en base64",json_string:"cadena JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"},TypeDictionary={nan:"NaN",string:"texto",number:"número",boolean:"booleano",array:"arreglo",object:"objeto",set:"conjunto",file:"archivo",date:"fecha",bigint:"número grande",symbol:"símbolo",undefined:"indefinido",null:"nulo",function:"función",map:"mapa",record:"registro",tuple:"tupla",enum:"enumeración",union:"unión",literal:"literal",promise:"promesa",void:"vacío",never:"nunca",unknown:"desconocido",any:"cualquiera"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`Entrada inválida: se esperaba instanceof ${issue2.expected}, recibido ${received}`;return`Entrada inválida: se esperaba ${expected}, recibido ${received}`}case"invalid_value":if(issue2.values.length===1)return`Entrada inválida: se esperaba ${stringifyPrimitive(issue2.values[0])}`;return`Opción inválida: se esperaba una de ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin),origin=TypeDictionary[issue2.origin]??issue2.origin;if(sizing)return`Demasiado grande: se esperaba que ${origin??"valor"} tuviera ${adj}${issue2.maximum.toString()} ${sizing.unit??"elementos"}`;return`Demasiado grande: se esperaba que ${origin??"valor"} fuera ${adj}${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin),origin=TypeDictionary[issue2.origin]??issue2.origin;if(sizing)return`Demasiado pequeño: se esperaba que ${origin} tuviera ${adj}${issue2.minimum.toString()} ${sizing.unit}`;return`Demasiado pequeño: se esperaba que ${origin} fuera ${adj}${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`Cadena inválida: debe comenzar con "${_issue.prefix}"`;if(_issue.format==="ends_with")return`Cadena inválida: debe terminar en "${_issue.suffix}"`;if(_issue.format==="includes")return`Cadena inválida: debe incluir "${_issue.includes}"`;if(_issue.format==="regex")return`Cadena inválida: debe coincidir con el patrón ${_issue.pattern}`;return`Inválido ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`Número inválido: debe ser múltiplo de ${issue2.divisor}`;case"unrecognized_keys":return`Llave${issue2.keys.length>1?"s":""} desconocida${issue2.keys.length>1?"s":""}: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`Llave inválida en ${TypeDictionary[issue2.origin]??issue2.origin}`;case"invalid_union":return"Entrada inválida";case"invalid_element":return`Valor inválido en ${TypeDictionary[issue2.origin]??issue2.origin}`;default:return"Entrada inválida"}}};var init_es=__esm(()=>{init_util()});function fa_default(){return{localeError:error13()}}var error13=()=>{let Sizable={string:{unit:"کاراکتر",verb:"داشته باشد"},file:{unit:"بایت",verb:"داشته باشد"},array:{unit:"آیتم",verb:"داشته باشد"},set:{unit:"آیتم",verb:"داشته باشد"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"ورودی",email:"آدرس ایمیل",url:"URL",emoji:"ایموجی",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"تاریخ و زمان ایزو",date:"تاریخ ایزو",time:"زمان ایزو",duration:"مدت زمان ایزو",ipv4:"IPv4 آدرس",ipv6:"IPv6 آدرس",cidrv4:"IPv4 دامنه",cidrv6:"IPv6 دامنه",base64:"base64-encoded رشته",base64url:"base64url-encoded رشته",json_string:"JSON رشته",e164:"E.164 عدد",jwt:"JWT",template_literal:"ورودی"},TypeDictionary={nan:"NaN",number:"عدد",array:"آرایه"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`ورودی نامعتبر: میبایست instanceof ${issue2.expected} میبود، ${received} دریافت شد`;return`ورودی نامعتبر: میبایست ${expected} میبود، ${received} دریافت شد`}case"invalid_value":if(issue2.values.length===1)return`ورودی نامعتبر: میبایست ${stringifyPrimitive(issue2.values[0])} میبود`;return`گزینه نامعتبر: میبایست یکی از ${joinValues(issue2.values,"|")} میبود`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing)return`خیلی بزرگ: ${issue2.origin??"مقدار"} باید ${adj}${issue2.maximum.toString()} ${sizing.unit??"عنصر"} باشد`;return`خیلی بزرگ: ${issue2.origin??"مقدار"} باید ${adj}${issue2.maximum.toString()} باشد`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing)return`خیلی کوچک: ${issue2.origin} باید ${adj}${issue2.minimum.toString()} ${sizing.unit} باشد`;return`خیلی کوچک: ${issue2.origin} باید ${adj}${issue2.minimum.toString()} باشد`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`رشته نامعتبر: باید با "${_issue.prefix}" شروع شود`;if(_issue.format==="ends_with")return`رشته نامعتبر: باید با "${_issue.suffix}" تمام شود`;if(_issue.format==="includes")return`رشته نامعتبر: باید شامل "${_issue.includes}" باشد`;if(_issue.format==="regex")return`رشته نامعتبر: باید با الگوی ${_issue.pattern} مطابقت داشته باشد`;return`${FormatDictionary[_issue.format]??issue2.format} نامعتبر`}case"not_multiple_of":return`عدد نامعتبر: باید مضرب ${issue2.divisor} باشد`;case"unrecognized_keys":return`کلید${issue2.keys.length>1?"های":""} ناشناس: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`کلید ناشناس در ${issue2.origin}`;case"invalid_union":return"ورودی نامعتبر";case"invalid_element":return`مقدار نامعتبر در ${issue2.origin}`;default:return"ورودی نامعتبر"}}};var init_fa=__esm(()=>{init_util()});function fi_default(){return{localeError:error14()}}var error14=()=>{let Sizable={string:{unit:"merkkiä",subject:"merkkijonon"},file:{unit:"tavua",subject:"tiedoston"},array:{unit:"alkiota",subject:"listan"},set:{unit:"alkiota",subject:"joukon"},number:{unit:"",subject:"luvun"},bigint:{unit:"",subject:"suuren kokonaisluvun"},int:{unit:"",subject:"kokonaisluvun"},date:{unit:"",subject:"päivämäärän"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"säännöllinen lauseke",email:"sähköpostiosoite",url:"URL-osoite",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-aikaleima",date:"ISO-päivämäärä",time:"ISO-aika",duration:"ISO-kesto",ipv4:"IPv4-osoite",ipv6:"IPv6-osoite",cidrv4:"IPv4-alue",cidrv6:"IPv6-alue",base64:"base64-koodattu merkkijono",base64url:"base64url-koodattu merkkijono",json_string:"JSON-merkkijono",e164:"E.164-luku",jwt:"JWT",template_literal:"templaattimerkkijono"},TypeDictionary={nan:"NaN"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`Virheellinen tyyppi: odotettiin instanceof ${issue2.expected}, oli ${received}`;return`Virheellinen tyyppi: odotettiin ${expected}, oli ${received}`}case"invalid_value":if(issue2.values.length===1)return`Virheellinen syöte: täytyy olla ${stringifyPrimitive(issue2.values[0])}`;return`Virheellinen valinta: täytyy olla yksi seuraavista: ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing)return`Liian suuri: ${sizing.subject} täytyy olla ${adj}${issue2.maximum.toString()} ${sizing.unit}`.trim();return`Liian suuri: arvon täytyy olla ${adj}${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing)return`Liian pieni: ${sizing.subject} täytyy olla ${adj}${issue2.minimum.toString()} ${sizing.unit}`.trim();return`Liian pieni: arvon täytyy olla ${adj}${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`Virheellinen syöte: täytyy alkaa "${_issue.prefix}"`;if(_issue.format==="ends_with")return`Virheellinen syöte: täytyy loppua "${_issue.suffix}"`;if(_issue.format==="includes")return`Virheellinen syöte: täytyy sisältää "${_issue.includes}"`;if(_issue.format==="regex")return`Virheellinen syöte: täytyy vastata säännöllistä lauseketta ${_issue.pattern}`;return`Virheellinen ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`Virheellinen luku: täytyy olla luvun ${issue2.divisor} monikerta`;case"unrecognized_keys":return`${issue2.keys.length>1?"Tuntemattomat avaimet":"Tuntematon avain"}: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return"Virheellinen avain tietueessa";case"invalid_union":return"Virheellinen unioni";case"invalid_element":return"Virheellinen arvo joukossa";default:return"Virheellinen syöte"}}};var init_fi=__esm(()=>{init_util()});function fr_default(){return{localeError:error15()}}var error15=()=>{let Sizable={string:{unit:"caractères",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"éléments",verb:"avoir"},set:{unit:"éléments",verb:"avoir"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"entrée",email:"adresse e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date et heure ISO",date:"date ISO",time:"heure ISO",duration:"durée ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"chaîne encodée en base64",base64url:"chaîne encodée en base64url",json_string:"chaîne JSON",e164:"numéro E.164",jwt:"JWT",template_literal:"entrée"},TypeDictionary={string:"chaîne",number:"nombre",int:"entier",boolean:"booléen",bigint:"grand entier",symbol:"symbole",undefined:"indéfini",null:"null",never:"jamais",void:"vide",date:"date",array:"tableau",object:"objet",tuple:"tuple",record:"enregistrement",map:"carte",set:"ensemble",file:"fichier",nonoptional:"non-optionnel",nan:"NaN",function:"fonction"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`Entrée invalide : instanceof ${issue2.expected} attendu, ${received} reçu`;return`Entrée invalide : ${expected} attendu, ${received} reçu`}case"invalid_value":if(issue2.values.length===1)return`Entrée invalide : ${stringifyPrimitive(issue2.values[0])} attendu`;return`Option invalide : une valeur parmi ${joinValues(issue2.values,"|")} attendue`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing)return`Trop grand : ${TypeDictionary[issue2.origin]??"valeur"} doit ${sizing.verb} ${adj}${issue2.maximum.toString()} ${sizing.unit??"élément(s)"}`;return`Trop grand : ${TypeDictionary[issue2.origin]??"valeur"} doit être ${adj}${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing)return`Trop petit : ${TypeDictionary[issue2.origin]??"valeur"} doit ${sizing.verb} ${adj}${issue2.minimum.toString()} ${sizing.unit}`;return`Trop petit : ${TypeDictionary[issue2.origin]??"valeur"} doit être ${adj}${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`Chaîne invalide : doit commencer par "${_issue.prefix}"`;if(_issue.format==="ends_with")return`Chaîne invalide : doit se terminer par "${_issue.suffix}"`;if(_issue.format==="includes")return`Chaîne invalide : doit inclure "${_issue.includes}"`;if(_issue.format==="regex")return`Chaîne invalide : doit correspondre au modèle ${_issue.pattern}`;return`${FormatDictionary[_issue.format]??issue2.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit être un multiple de ${issue2.divisor}`;case"unrecognized_keys":return`Clé${issue2.keys.length>1?"s":""} non reconnue${issue2.keys.length>1?"s":""} : ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`Clé invalide dans ${issue2.origin}`;case"invalid_union":return"Entrée invalide";case"invalid_element":return`Valeur invalide dans ${issue2.origin}`;default:return"Entrée invalide"}}};var init_fr=__esm(()=>{init_util()});function fr_CA_default(){return{localeError:error16()}}var error16=()=>{let Sizable={string:{unit:"caractères",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"éléments",verb:"avoir"},set:{unit:"éléments",verb:"avoir"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"entrée",email:"adresse courriel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date-heure ISO",date:"date ISO",time:"heure ISO",duration:"durée ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"chaîne encodée en base64",base64url:"chaîne encodée en base64url",json_string:"chaîne JSON",e164:"numéro E.164",jwt:"JWT",template_literal:"entrée"},TypeDictionary={nan:"NaN"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`Entrée invalide : attendu instanceof ${issue2.expected}, reçu ${received}`;return`Entrée invalide : attendu ${expected}, reçu ${received}`}case"invalid_value":if(issue2.values.length===1)return`Entrée invalide : attendu ${stringifyPrimitive(issue2.values[0])}`;return`Option invalide : attendu l'une des valeurs suivantes ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"≤":"<",sizing=getSizing(issue2.origin);if(sizing)return`Trop grand : attendu que ${issue2.origin??"la valeur"} ait ${adj}${issue2.maximum.toString()} ${sizing.unit}`;return`Trop grand : attendu que ${issue2.origin??"la valeur"} soit ${adj}${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?"≥":">",sizing=getSizing(issue2.origin);if(sizing)return`Trop petit : attendu que ${issue2.origin} ait ${adj}${issue2.minimum.toString()} ${sizing.unit}`;return`Trop petit : attendu que ${issue2.origin} soit ${adj}${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`Chaîne invalide : doit commencer par "${_issue.prefix}"`;if(_issue.format==="ends_with")return`Chaîne invalide : doit se terminer par "${_issue.suffix}"`;if(_issue.format==="includes")return`Chaîne invalide : doit inclure "${_issue.includes}"`;if(_issue.format==="regex")return`Chaîne invalide : doit correspondre au motif ${_issue.pattern}`;return`${FormatDictionary[_issue.format]??issue2.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit être un multiple de ${issue2.divisor}`;case"unrecognized_keys":return`Clé${issue2.keys.length>1?"s":""} non reconnue${issue2.keys.length>1?"s":""} : ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`Clé invalide dans ${issue2.origin}`;case"invalid_union":return"Entrée invalide";case"invalid_element":return`Valeur invalide dans ${issue2.origin}`;default:return"Entrée invalide"}}};var init_fr_CA=__esm(()=>{init_util()});function he_default(){return{localeError:error17()}}var error17=()=>{let TypeNames={string:{label:"מחרוזת",gender:"f"},number:{label:"מספר",gender:"m"},boolean:{label:"ערך בוליאני",gender:"m"},bigint:{label:"BigInt",gender:"m"},date:{label:"תאריך",gender:"m"},array:{label:"מערך",gender:"m"},object:{label:"אובייקט",gender:"m"},null:{label:"ערך ריק (null)",gender:"m"},undefined:{label:"ערך לא מוגדר (undefined)",gender:"m"},symbol:{label:"סימבול (Symbol)",gender:"m"},function:{label:"פונקציה",gender:"f"},map:{label:"מפה (Map)",gender:"f"},set:{label:"קבוצה (Set)",gender:"f"},file:{label:"קובץ",gender:"m"},promise:{label:"Promise",gender:"m"},NaN:{label:"NaN",gender:"m"},unknown:{label:"ערך לא ידוע",gender:"m"},value:{label:"ערך",gender:"m"}},Sizable={string:{unit:"תווים",shortLabel:"קצר",longLabel:"ארוך"},file:{unit:"בייטים",shortLabel:"קטן",longLabel:"גדול"},array:{unit:"פריטים",shortLabel:"קטן",longLabel:"גדול"},set:{unit:"פריטים",shortLabel:"קטן",longLabel:"גדול"},number:{unit:"",shortLabel:"קטן",longLabel:"גדול"}},typeEntry=(t)=>t?TypeNames[t]:void 0,typeLabel=(t)=>{let e=typeEntry(t);if(e)return e.label;return t??TypeNames.unknown.label},withDefinite=(t)=>`ה${typeLabel(t)}`,verbFor=(t)=>{return(typeEntry(t)?.gender??"m")==="f"?"צריכה להיות":"צריך להיות"},getSizing=(origin)=>{if(!origin)return null;return Sizable[origin]??null},FormatDictionary={regex:{label:"קלט",gender:"m"},email:{label:"כתובת אימייל",gender:"f"},url:{label:"כתובת רשת",gender:"f"},emoji:{label:"אימוג'י",gender:"m"},uuid:{label:"UUID",gender:"m"},nanoid:{label:"nanoid",gender:"m"},guid:{label:"GUID",gender:"m"},cuid:{label:"cuid",gender:"m"},cuid2:{label:"cuid2",gender:"m"},ulid:{label:"ULID",gender:"m"},xid:{label:"XID",gender:"m"},ksuid:{label:"KSUID",gender:"m"},datetime:{label:"תאריך וזמן ISO",gender:"m"},date:{label:"תאריך ISO",gender:"m"},time:{label:"זמן ISO",gender:"m"},duration:{label:"משך זמן ISO",gender:"m"},ipv4:{label:"כתובת IPv4",gender:"f"},ipv6:{label:"כתובת IPv6",gender:"f"},cidrv4:{label:"טווח IPv4",gender:"m"},cidrv6:{label:"טווח IPv6",gender:"m"},base64:{label:"מחרוזת בבסיס 64",gender:"f"},base64url:{label:"מחרוזת בבסיס 64 לכתובות רשת",gender:"f"},json_string:{label:"מחרוזת JSON",gender:"f"},e164:{label:"מספר E.164",gender:"m"},jwt:{label:"JWT",gender:"m"},ends_with:{label:"קלט",gender:"m"},includes:{label:"קלט",gender:"m"},lowercase:{label:"קלט",gender:"m"},starts_with:{label:"קלט",gender:"m"},uppercase:{label:"קלט",gender:"m"}},TypeDictionary={nan:"NaN"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expectedKey=issue2.expected,expected=TypeDictionary[expectedKey??""]??typeLabel(expectedKey),receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??TypeNames[receivedType]?.label??receivedType;if(/^[A-Z]/.test(issue2.expected))return`קלט לא תקין: צריך להיות instanceof ${issue2.expected}, התקבל ${received}`;return`קלט לא תקין: צריך להיות ${expected}, התקבל ${received}`}case"invalid_value":{if(issue2.values.length===1)return`ערך לא תקין: הערך חייב להיות ${stringifyPrimitive(issue2.values[0])}`;let stringified=issue2.values.map((v)=>stringifyPrimitive(v));if(issue2.values.length===2)return`ערך לא תקין: האפשרויות המתאימות הן ${stringified[0]} או ${stringified[1]}`;let lastValue=stringified[stringified.length-1];return`ערך לא תקין: האפשרויות המתאימות הן ${stringified.slice(0,-1).join(", ")} או ${lastValue}`}case"too_big":{let sizing=getSizing(issue2.origin),subject=withDefinite(issue2.origin??"value");if(issue2.origin==="string")return`${sizing?.longLabel??"ארוך"} מדי: ${subject} צריכה להכיל ${issue2.maximum.toString()} ${sizing?.unit??""} ${issue2.inclusive?"או פחות":"לכל היותר"}`.trim();if(issue2.origin==="number"){let comparison=issue2.inclusive?`קטן או שווה ל-${issue2.maximum}`:`קטן מ-${issue2.maximum}`;return`גדול מדי: ${subject} צריך להיות ${comparison}`}if(issue2.origin==="array"||issue2.origin==="set"){let verb=issue2.origin==="set"?"צריכה":"צריך",comparison=issue2.inclusive?`${issue2.maximum} ${sizing?.unit??""} או פחות`:`פחות מ-${issue2.maximum} ${sizing?.unit??""}`;return`גדול מדי: ${subject} ${verb} להכיל ${comparison}`.trim()}let adj=issue2.inclusive?"<=":"<",be=verbFor(issue2.origin??"value");if(sizing?.unit)return`${sizing.longLabel} מדי: ${subject} ${be} ${adj}${issue2.maximum.toString()} ${sizing.unit}`;return`${sizing?.longLabel??"גדול"} מדי: ${subject} ${be} ${adj}${issue2.maximum.toString()}`}case"too_small":{let sizing=getSizing(issue2.origin),subject=withDefinite(issue2.origin??"value");if(issue2.origin==="string")return`${sizing?.shortLabel??"קצר"} מדי: ${subject} צריכה להכיל ${issue2.minimum.toString()} ${sizing?.unit??""} ${issue2.inclusive?"או יותר":"לפחות"}`.trim();if(issue2.origin==="number"){let comparison=issue2.inclusive?`גדול או שווה ל-${issue2.minimum}`:`גדול מ-${issue2.minimum}`;return`קטן מדי: ${subject} צריך להיות ${comparison}`}if(issue2.origin==="array"||issue2.origin==="set"){let verb=issue2.origin==="set"?"צריכה":"צריך";if(issue2.minimum===1&&issue2.inclusive){let singularPhrase=issue2.origin==="set"?"לפחות פריט אחד":"לפחות פריט אחד";return`קטן מדי: ${subject} ${verb} להכיל ${singularPhrase}`}let comparison=issue2.inclusive?`${issue2.minimum} ${sizing?.unit??""} או יותר`:`יותר מ-${issue2.minimum} ${sizing?.unit??""}`;return`קטן מדי: ${subject} ${verb} להכיל ${comparison}`.trim()}let adj=issue2.inclusive?">=":">",be=verbFor(issue2.origin??"value");if(sizing?.unit)return`${sizing.shortLabel} מדי: ${subject} ${be} ${adj}${issue2.minimum.toString()} ${sizing.unit}`;return`${sizing?.shortLabel??"קטן"} מדי: ${subject} ${be} ${adj}${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`המחרוזת חייבת להתחיל ב "${_issue.prefix}"`;if(_issue.format==="ends_with")return`המחרוזת חייבת להסתיים ב "${_issue.suffix}"`;if(_issue.format==="includes")return`המחרוזת חייבת לכלול "${_issue.includes}"`;if(_issue.format==="regex")return`המחרוזת חייבת להתאים לתבנית ${_issue.pattern}`;let nounEntry=FormatDictionary[_issue.format],noun=nounEntry?.label??_issue.format,adjective=(nounEntry?.gender??"m")==="f"?"תקינה":"תקין";return`${noun} לא ${adjective}`}case"not_multiple_of":return`מספר לא תקין: חייב להיות מכפלה של ${issue2.divisor}`;case"unrecognized_keys":return`מפתח${issue2.keys.length>1?"ות":""} לא מזוה${issue2.keys.length>1?"ים":"ה"}: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return"שדה לא תקין באובייקט";case"invalid_union":return"קלט לא תקין";case"invalid_element":return`ערך לא תקין ב${withDefinite(issue2.origin??"array")}`;default:return"קלט לא תקין"}}};var init_he=__esm(()=>{init_util()});function hr_default(){return{localeError:error18()}}var error18=()=>{let Sizable={string:{unit:"znakova",verb:"imati"},file:{unit:"bajtova",verb:"imati"},array:{unit:"stavki",verb:"imati"},set:{unit:"stavki",verb:"imati"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"unos",email:"email adresa",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum i vrijeme",date:"ISO datum",time:"ISO vrijeme",duration:"ISO trajanje",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"IPv4 raspon",cidrv6:"IPv6 raspon",base64:"base64 kodirani tekst",base64url:"base64url kodirani tekst",json_string:"JSON tekst",e164:"E.164 broj",jwt:"JWT",template_literal:"unos"},TypeDictionary={nan:"NaN",string:"tekst",number:"broj",boolean:"boolean",array:"niz",object:"objekt",set:"skup",file:"datoteka",date:"datum",bigint:"bigint",symbol:"simbol",undefined:"undefined",null:"null",function:"funkcija",map:"mapa"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`Neispravan unos: očekuje se instanceof ${issue2.expected}, a primljeno je ${received}`;return`Neispravan unos: očekuje se ${expected}, a primljeno je ${received}`}case"invalid_value":if(issue2.values.length===1)return`Neispravna vrijednost: očekivano ${stringifyPrimitive(issue2.values[0])}`;return`Neispravna opcija: očekivano jedno od ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin),origin=TypeDictionary[issue2.origin]??issue2.origin;if(sizing)return`Preveliko: očekivano da ${origin??"vrijednost"} ima ${adj}${issue2.maximum.toString()} ${sizing.unit??"elemenata"}`;return`Preveliko: očekivano da ${origin??"vrijednost"} bude ${adj}${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin),origin=TypeDictionary[issue2.origin]??issue2.origin;if(sizing)return`Premalo: očekivano da ${origin} ima ${adj}${issue2.minimum.toString()} ${sizing.unit}`;return`Premalo: očekivano da ${origin} bude ${adj}${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`Neispravan tekst: mora započinjati s "${_issue.prefix}"`;if(_issue.format==="ends_with")return`Neispravan tekst: mora završavati s "${_issue.suffix}"`;if(_issue.format==="includes")return`Neispravan tekst: mora sadržavati "${_issue.includes}"`;if(_issue.format==="regex")return`Neispravan tekst: mora odgovarati uzorku ${_issue.pattern}`;return`Neispravna ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`Neispravan broj: mora biti višekratnik od ${issue2.divisor}`;case"unrecognized_keys":return`Neprepoznat${issue2.keys.length>1?"i ključevi":" ključ"}: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`Neispravan ključ u ${TypeDictionary[issue2.origin]??issue2.origin}`;case"invalid_union":return"Neispravan unos";case"invalid_element":return`Neispravna vrijednost u ${TypeDictionary[issue2.origin]??issue2.origin}`;default:return"Neispravan unos"}}};var init_hr=__esm(()=>{init_util()});function hu_default(){return{localeError:error19()}}var error19=()=>{let Sizable={string:{unit:"karakter",verb:"legyen"},file:{unit:"byte",verb:"legyen"},array:{unit:"elem",verb:"legyen"},set:{unit:"elem",verb:"legyen"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"bemenet",email:"email cím",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO időbélyeg",date:"ISO dátum",time:"ISO idő",duration:"ISO időintervallum",ipv4:"IPv4 cím",ipv6:"IPv6 cím",cidrv4:"IPv4 tartomány",cidrv6:"IPv6 tartomány",base64:"base64-kódolt string",base64url:"base64url-kódolt string",json_string:"JSON string",e164:"E.164 szám",jwt:"JWT",template_literal:"bemenet"},TypeDictionary={nan:"NaN",number:"szám",array:"tömb"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`Érvénytelen bemenet: a várt érték instanceof ${issue2.expected}, a kapott érték ${received}`;return`Érvénytelen bemenet: a várt érték ${expected}, a kapott érték ${received}`}case"invalid_value":if(issue2.values.length===1)return`Érvénytelen bemenet: a várt érték ${stringifyPrimitive(issue2.values[0])}`;return`Érvénytelen opció: valamelyik érték várt ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing)return`Túl nagy: ${issue2.origin??"érték"} mérete túl nagy ${adj}${issue2.maximum.toString()} ${sizing.unit??"elem"}`;return`Túl nagy: a bemeneti érték ${issue2.origin??"érték"} túl nagy: ${adj}${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing)return`Túl kicsi: a bemeneti érték ${issue2.origin} mérete túl kicsi ${adj}${issue2.minimum.toString()} ${sizing.unit}`;return`Túl kicsi: a bemeneti érték ${issue2.origin} túl kicsi ${adj}${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`Érvénytelen string: "${_issue.prefix}" értékkel kell kezdődnie`;if(_issue.format==="ends_with")return`Érvénytelen string: "${_issue.suffix}" értékkel kell végződnie`;if(_issue.format==="includes")return`Érvénytelen string: "${_issue.includes}" értéket kell tartalmaznia`;if(_issue.format==="regex")return`Érvénytelen string: ${_issue.pattern} mintának kell megfelelnie`;return`Érvénytelen ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`Érvénytelen szám: ${issue2.divisor} többszörösének kell lennie`;case"unrecognized_keys":return`Ismeretlen kulcs${issue2.keys.length>1?"s":""}: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`Érvénytelen kulcs ${issue2.origin}`;case"invalid_union":return"Érvénytelen bemenet";case"invalid_element":return`Érvénytelen érték: ${issue2.origin}`;default:return"Érvénytelen bemenet"}}};var init_hu=__esm(()=>{init_util()});function getArmenianPlural(count,one,many){return Math.abs(count)===1?one:many}function withDefiniteArticle(word){if(!word)return"";let vowels=["ա","ե","ը","ի","ո","ու","օ"],lastChar=word[word.length-1];return word+(vowels.includes(lastChar)?"ն":"ը")}function hy_default(){return{localeError:error20()}}var error20=()=>{let Sizable={string:{unit:{one:"նշան",many:"նշաններ"},verb:"ունենալ"},file:{unit:{one:"բայթ",many:"բայթեր"},verb:"ունենալ"},array:{unit:{one:"տարր",many:"տարրեր"},verb:"ունենալ"},set:{unit:{one:"տարր",many:"տարրեր"},verb:"ունենալ"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"մուտք",email:"էլ. հասցե",url:"URL",emoji:"էմոջի",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO ամսաթիվ և ժամ",date:"ISO ամսաթիվ",time:"ISO ժամ",duration:"ISO տևողություն",ipv4:"IPv4 հասցե",ipv6:"IPv6 հասցե",cidrv4:"IPv4 միջակայք",cidrv6:"IPv6 միջակայք",base64:"base64 ձևաչափով տող",base64url:"base64url ձևաչափով տող",json_string:"JSON տող",e164:"E.164 համար",jwt:"JWT",template_literal:"մուտք"},TypeDictionary={nan:"NaN",number:"թիվ",array:"զանգված"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`Սխալ մուտքագրում․ սպասվում էր instanceof ${issue2.expected}, ստացվել է ${received}`;return`Սխալ մուտքագրում․ սպասվում էր ${expected}, ստացվել է ${received}`}case"invalid_value":if(issue2.values.length===1)return`Սխալ մուտքագրում․ սպասվում էր ${stringifyPrimitive(issue2.values[1])}`;return`Սխալ տարբերակ․ սպասվում էր հետևյալներից մեկը՝ ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing){let maxValue=Number(issue2.maximum),unit=getArmenianPlural(maxValue,sizing.unit.one,sizing.unit.many);return`Չափազանց մեծ արժեք․ սպասվում է, որ ${withDefiniteArticle(issue2.origin??"արժեք")} կունենա ${adj}${issue2.maximum.toString()} ${unit}`}return`Չափազանց մեծ արժեք․ սպասվում է, որ ${withDefiniteArticle(issue2.origin??"արժեք")} լինի ${adj}${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing){let minValue=Number(issue2.minimum),unit=getArmenianPlural(minValue,sizing.unit.one,sizing.unit.many);return`Չափազանց փոքր արժեք․ սպասվում է, որ ${withDefiniteArticle(issue2.origin)} կունենա ${adj}${issue2.minimum.toString()} ${unit}`}return`Չափազանց փոքր արժեք․ սպասվում է, որ ${withDefiniteArticle(issue2.origin)} լինի ${adj}${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`Սխալ տող․ պետք է սկսվի "${_issue.prefix}"-ով`;if(_issue.format==="ends_with")return`Սխալ տող․ պետք է ավարտվի "${_issue.suffix}"-ով`;if(_issue.format==="includes")return`Սխալ տող․ պետք է պարունակի "${_issue.includes}"`;if(_issue.format==="regex")return`Սխալ տող․ պետք է համապատասխանի ${_issue.pattern} ձևաչափին`;return`Սխալ ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`Սխալ թիվ․ պետք է բազմապատիկ լինի ${issue2.divisor}-ի`;case"unrecognized_keys":return`Չճանաչված բանալի${issue2.keys.length>1?"ներ":""}. ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`Սխալ բանալի ${withDefiniteArticle(issue2.origin)}-ում`;case"invalid_union":return"Սխալ մուտքագրում";case"invalid_element":return`Սխալ արժեք ${withDefiniteArticle(issue2.origin)}-ում`;default:return"Սխալ մուտքագրում"}}};var init_hy=__esm(()=>{init_util()});function id_default(){return{localeError:error21()}}var error21=()=>{let Sizable={string:{unit:"karakter",verb:"memiliki"},file:{unit:"byte",verb:"memiliki"},array:{unit:"item",verb:"memiliki"},set:{unit:"item",verb:"memiliki"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"input",email:"alamat email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tanggal dan waktu format ISO",date:"tanggal format ISO",time:"jam format ISO",duration:"durasi format ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"rentang alamat IPv4",cidrv6:"rentang alamat IPv6",base64:"string dengan enkode base64",base64url:"string dengan enkode base64url",json_string:"string JSON",e164:"angka E.164",jwt:"JWT",template_literal:"input"},TypeDictionary={nan:"NaN"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`Input tidak valid: diharapkan instanceof ${issue2.expected}, diterima ${received}`;return`Input tidak valid: diharapkan ${expected}, diterima ${received}`}case"invalid_value":if(issue2.values.length===1)return`Input tidak valid: diharapkan ${stringifyPrimitive(issue2.values[0])}`;return`Pilihan tidak valid: diharapkan salah satu dari ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing)return`Terlalu besar: diharapkan ${issue2.origin??"value"} memiliki ${adj}${issue2.maximum.toString()} ${sizing.unit??"elemen"}`;return`Terlalu besar: diharapkan ${issue2.origin??"value"} menjadi ${adj}${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing)return`Terlalu kecil: diharapkan ${issue2.origin} memiliki ${adj}${issue2.minimum.toString()} ${sizing.unit}`;return`Terlalu kecil: diharapkan ${issue2.origin} menjadi ${adj}${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`String tidak valid: harus dimulai dengan "${_issue.prefix}"`;if(_issue.format==="ends_with")return`String tidak valid: harus berakhir dengan "${_issue.suffix}"`;if(_issue.format==="includes")return`String tidak valid: harus menyertakan "${_issue.includes}"`;if(_issue.format==="regex")return`String tidak valid: harus sesuai pola ${_issue.pattern}`;return`${FormatDictionary[_issue.format]??issue2.format} tidak valid`}case"not_multiple_of":return`Angka tidak valid: harus kelipatan dari ${issue2.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali ${issue2.keys.length>1?"s":""}: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`Kunci tidak valid di ${issue2.origin}`;case"invalid_union":return"Input tidak valid";case"invalid_element":return`Nilai tidak valid di ${issue2.origin}`;default:return"Input tidak valid"}}};var init_id=__esm(()=>{init_util()});function is_default(){return{localeError:error22()}}var error22=()=>{let Sizable={string:{unit:"stafi",verb:"að hafa"},file:{unit:"bæti",verb:"að hafa"},array:{unit:"hluti",verb:"að hafa"},set:{unit:"hluti",verb:"að hafa"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"gildi",email:"netfang",url:"vefslóð",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dagsetning og tími",date:"ISO dagsetning",time:"ISO tími",duration:"ISO tímalengd",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded strengur",base64url:"base64url-encoded strengur",json_string:"JSON strengur",e164:"E.164 tölugildi",jwt:"JWT",template_literal:"gildi"},TypeDictionary={nan:"NaN",number:"númer",array:"fylki"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`Rangt gildi: Þú slóst inn ${received} þar sem á að vera instanceof ${issue2.expected}`;return`Rangt gildi: Þú slóst inn ${received} þar sem á að vera ${expected}`}case"invalid_value":if(issue2.values.length===1)return`Rangt gildi: gert ráð fyrir ${stringifyPrimitive(issue2.values[0])}`;return`Ógilt val: má vera eitt af eftirfarandi ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing)return`Of stórt: gert er ráð fyrir að ${issue2.origin??"gildi"} hafi ${adj}${issue2.maximum.toString()} ${sizing.unit??"hluti"}`;return`Of stórt: gert er ráð fyrir að ${issue2.origin??"gildi"} sé ${adj}${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing)return`Of lítið: gert er ráð fyrir að ${issue2.origin} hafi ${adj}${issue2.minimum.toString()} ${sizing.unit}`;return`Of lítið: gert er ráð fyrir að ${issue2.origin} sé ${adj}${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`Ógildur strengur: verður að byrja á "${_issue.prefix}"`;if(_issue.format==="ends_with")return`Ógildur strengur: verður að enda á "${_issue.suffix}"`;if(_issue.format==="includes")return`Ógildur strengur: verður að innihalda "${_issue.includes}"`;if(_issue.format==="regex")return`Ógildur strengur: verður að fylgja mynstri ${_issue.pattern}`;return`Rangt ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`Röng tala: verður að vera margfeldi af ${issue2.divisor}`;case"unrecognized_keys":return`Óþekkt ${issue2.keys.length>1?"ir lyklar":"ur lykill"}: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`Rangur lykill í ${issue2.origin}`;case"invalid_union":return"Rangt gildi";case"invalid_element":return`Rangt gildi í ${issue2.origin}`;default:return"Rangt gildi"}}};var init_is=__esm(()=>{init_util()});function it_default(){return{localeError:error23()}}var error23=()=>{let Sizable={string:{unit:"caratteri",verb:"avere"},file:{unit:"byte",verb:"avere"},array:{unit:"elementi",verb:"avere"},set:{unit:"elementi",verb:"avere"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"input",email:"indirizzo email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e ora ISO",date:"data ISO",time:"ora ISO",duration:"durata ISO",ipv4:"indirizzo IPv4",ipv6:"indirizzo IPv6",cidrv4:"intervallo IPv4",cidrv6:"intervallo IPv6",base64:"stringa codificata in base64",base64url:"URL codificata in base64",json_string:"stringa JSON",e164:"numero E.164",jwt:"JWT",template_literal:"input"},TypeDictionary={nan:"NaN",number:"numero",array:"vettore"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`Input non valido: atteso instanceof ${issue2.expected}, ricevuto ${received}`;return`Input non valido: atteso ${expected}, ricevuto ${received}`}case"invalid_value":if(issue2.values.length===1)return`Input non valido: atteso ${stringifyPrimitive(issue2.values[0])}`;return`Opzione non valida: atteso uno tra ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing)return`Troppo grande: ${issue2.origin??"valore"} deve avere ${adj}${issue2.maximum.toString()} ${sizing.unit??"elementi"}`;return`Troppo grande: ${issue2.origin??"valore"} deve essere ${adj}${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing)return`Troppo piccolo: ${issue2.origin} deve avere ${adj}${issue2.minimum.toString()} ${sizing.unit}`;return`Troppo piccolo: ${issue2.origin} deve essere ${adj}${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`Stringa non valida: deve iniziare con "${_issue.prefix}"`;if(_issue.format==="ends_with")return`Stringa non valida: deve terminare con "${_issue.suffix}"`;if(_issue.format==="includes")return`Stringa non valida: deve includere "${_issue.includes}"`;if(_issue.format==="regex")return`Stringa non valida: deve corrispondere al pattern ${_issue.pattern}`;return`Input non valido: ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`Numero non valido: deve essere un multiplo di ${issue2.divisor}`;case"unrecognized_keys":return`Chiav${issue2.keys.length>1?"i":"e"} non riconosciut${issue2.keys.length>1?"e":"a"}: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`Chiave non valida in ${issue2.origin}`;case"invalid_union":return"Input non valido";case"invalid_element":return`Valore non valido in ${issue2.origin}`;default:return"Input non valido"}}};var init_it=__esm(()=>{init_util()});function ja_default(){return{localeError:error24()}}var error24=()=>{let Sizable={string:{unit:"文字",verb:"である"},file:{unit:"バイト",verb:"である"},array:{unit:"要素",verb:"である"},set:{unit:"要素",verb:"である"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"入力値",email:"メールアドレス",url:"URL",emoji:"絵文字",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO日時",date:"ISO日付",time:"ISO時刻",duration:"ISO期間",ipv4:"IPv4アドレス",ipv6:"IPv6アドレス",cidrv4:"IPv4範囲",cidrv6:"IPv6範囲",base64:"base64エンコード文字列",base64url:"base64urlエンコード文字列",json_string:"JSON文字列",e164:"E.164番号",jwt:"JWT",template_literal:"入力値"},TypeDictionary={nan:"NaN",number:"数値",array:"配列"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`無効な入力: instanceof ${issue2.expected}が期待されましたが、${received}が入力されました`;return`無効な入力: ${expected}が期待されましたが、${received}が入力されました`}case"invalid_value":if(issue2.values.length===1)return`無効な入力: ${stringifyPrimitive(issue2.values[0])}が期待されました`;return`無効な選択: ${joinValues(issue2.values,"、")}のいずれかである必要があります`;case"too_big":{let adj=issue2.inclusive?"以下である":"より小さい",sizing=getSizing(issue2.origin);if(sizing)return`大きすぎる値: ${issue2.origin??"値"}は${issue2.maximum.toString()}${sizing.unit??"要素"}${adj}必要があります`;return`大きすぎる値: ${issue2.origin??"値"}は${issue2.maximum.toString()}${adj}必要があります`}case"too_small":{let adj=issue2.inclusive?"以上である":"より大きい",sizing=getSizing(issue2.origin);if(sizing)return`小さすぎる値: ${issue2.origin}は${issue2.minimum.toString()}${sizing.unit}${adj}必要があります`;return`小さすぎる値: ${issue2.origin}は${issue2.minimum.toString()}${adj}必要があります`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`無効な文字列: "${_issue.prefix}"で始まる必要があります`;if(_issue.format==="ends_with")return`無効な文字列: "${_issue.suffix}"で終わる必要があります`;if(_issue.format==="includes")return`無効な文字列: "${_issue.includes}"を含む必要があります`;if(_issue.format==="regex")return`無効な文字列: パターン${_issue.pattern}に一致する必要があります`;return`無効な${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`無効な数値: ${issue2.divisor}の倍数である必要があります`;case"unrecognized_keys":return`認識されていないキー${issue2.keys.length>1?"群":""}: ${joinValues(issue2.keys,"、")}`;case"invalid_key":return`${issue2.origin}内の無効なキー`;case"invalid_union":return"無効な入力";case"invalid_element":return`${issue2.origin}内の無効な値`;default:return"無効な入力"}}};var init_ja=__esm(()=>{init_util()});function ka_default(){return{localeError:error25()}}var error25=()=>{let Sizable={string:{unit:"სიმბოლო",verb:"უნდა შეიცავდეს"},file:{unit:"ბაიტი",verb:"უნდა შეიცავდეს"},array:{unit:"ელემენტი",verb:"უნდა შეიცავდეს"},set:{unit:"ელემენტი",verb:"უნდა შეიცავდეს"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"შეყვანა",email:"ელ-ფოსტის მისამართი",url:"URL",emoji:"ემოჯი",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"თარიღი-დრო",date:"თარიღი",time:"დრო",duration:"ხანგრძლივობა",ipv4:"IPv4 მისამართი",ipv6:"IPv6 მისამართი",cidrv4:"IPv4 დიაპაზონი",cidrv6:"IPv6 დიაპაზონი",base64:"base64-კოდირებული ველი",base64url:"base64url-კოდირებული ველი",json_string:"JSON ველი",e164:"E.164 ნომერი",jwt:"JWT",template_literal:"შეყვანა"},TypeDictionary={nan:"NaN",number:"რიცხვი",string:"ველი",boolean:"ბულეანი",function:"ფუნქცია",array:"მასივი"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`არასწორი შეყვანა: მოსალოდნელი instanceof ${issue2.expected}, მიღებული ${received}`;return`არასწორი შეყვანა: მოსალოდნელი ${expected}, მიღებული ${received}`}case"invalid_value":if(issue2.values.length===1)return`არასწორი შეყვანა: მოსალოდნელი ${stringifyPrimitive(issue2.values[0])}`;return`არასწორი ვარიანტი: მოსალოდნელია ერთ-ერთი ${joinValues(issue2.values,"|")}-დან`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing)return`ზედმეტად დიდი: მოსალოდნელი ${issue2.origin??"მნიშვნელობა"} ${sizing.verb} ${adj}${issue2.maximum.toString()} ${sizing.unit}`;return`ზედმეტად დიდი: მოსალოდნელი ${issue2.origin??"მნიშვნელობა"} იყოს ${adj}${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing)return`ზედმეტად პატარა: მოსალოდნელი ${issue2.origin} ${sizing.verb} ${adj}${issue2.minimum.toString()} ${sizing.unit}`;return`ზედმეტად პატარა: მოსალოდნელი ${issue2.origin} იყოს ${adj}${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`არასწორი ველი: უნდა იწყებოდეს "${_issue.prefix}"-ით`;if(_issue.format==="ends_with")return`არასწორი ველი: უნდა მთავრდებოდეს "${_issue.suffix}"-ით`;if(_issue.format==="includes")return`არასწორი ველი: უნდა შეიცავდეს "${_issue.includes}"-ს`;if(_issue.format==="regex")return`არასწორი ველი: უნდა შეესაბამებოდეს შაბლონს ${_issue.pattern}`;return`არასწორი ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`არასწორი რიცხვი: უნდა იყოს ${issue2.divisor}-ის ჯერადი`;case"unrecognized_keys":return`უცნობი გასაღებ${issue2.keys.length>1?"ები":"ი"}: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`არასწორი გასაღები ${issue2.origin}-ში`;case"invalid_union":return"არასწორი შეყვანა";case"invalid_element":return`არასწორი მნიშვნელობა ${issue2.origin}-ში`;default:return"არასწორი შეყვანა"}}};var init_ka=__esm(()=>{init_util()});function km_default(){return{localeError:error26()}}var error26=()=>{let Sizable={string:{unit:"តួអក្សរ",verb:"គួរមាន"},file:{unit:"បៃ",verb:"គួរមាន"},array:{unit:"ធាតុ",verb:"គួរមាន"},set:{unit:"ធាតុ",verb:"គួរមាន"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"ទិន្នន័យបញ្ចូល",email:"អាសយដ្ឋានអ៊ីមែល",url:"URL",emoji:"សញ្ញាអារម្មណ៍",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"កាលបរិច្ឆេទ និងម៉ោង ISO",date:"កាលបរិច្ឆេទ ISO",time:"ម៉ោង ISO",duration:"រយៈពេល ISO",ipv4:"អាសយដ្ឋាន IPv4",ipv6:"អាសយដ្ឋាន IPv6",cidrv4:"ដែនអាសយដ្ឋាន IPv4",cidrv6:"ដែនអាសយដ្ឋាន IPv6",base64:"ខ្សែអក្សរអ៊ិកូដ base64",base64url:"ខ្សែអក្សរអ៊ិកូដ base64url",json_string:"ខ្សែអក្សរ JSON",e164:"លេខ E.164",jwt:"JWT",template_literal:"ទិន្នន័យបញ្ចូល"},TypeDictionary={nan:"NaN",number:"លេខ",array:"អារេ (Array)",null:"គ្មានតម្លៃ (null)"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ instanceof ${issue2.expected} ប៉ុន្តែទទួលបាន ${received}`;return`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${expected} ប៉ុន្តែទទួលបាន ${received}`}case"invalid_value":if(issue2.values.length===1)return`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${stringifyPrimitive(issue2.values[0])}`;return`ជម្រើសមិនត្រឹមត្រូវ៖ ត្រូវជាមួយក្នុងចំណោម ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing)return`ធំពេក៖ ត្រូវការ ${issue2.origin??"តម្លៃ"} ${adj} ${issue2.maximum.toString()} ${sizing.unit??"ធាតុ"}`;return`ធំពេក៖ ត្រូវការ ${issue2.origin??"តម្លៃ"} ${adj} ${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing)return`តូចពេក៖ ត្រូវការ ${issue2.origin} ${adj} ${issue2.minimum.toString()} ${sizing.unit}`;return`តូចពេក៖ ត្រូវការ ${issue2.origin} ${adj} ${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវចាប់ផ្តើមដោយ "${_issue.prefix}"`;if(_issue.format==="ends_with")return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវបញ្ចប់ដោយ "${_issue.suffix}"`;if(_issue.format==="includes")return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវមាន "${_issue.includes}"`;if(_issue.format==="regex")return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវតែផ្គូផ្គងនឹងទម្រង់ដែលបានកំណត់ ${_issue.pattern}`;return`មិនត្រឹមត្រូវ៖ ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`លេខមិនត្រឹមត្រូវ៖ ត្រូវតែជាពហុគុណនៃ ${issue2.divisor}`;case"unrecognized_keys":return`រកឃើញសោមិនស្គាល់៖ ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`សោមិនត្រឹមត្រូវនៅក្នុង ${issue2.origin}`;case"invalid_union":return"ទិន្នន័យមិនត្រឹមត្រូវ";case"invalid_element":return`ទិន្នន័យមិនត្រឹមត្រូវនៅក្នុង ${issue2.origin}`;default:return"ទិន្នន័យមិនត្រឹមត្រូវ"}}};var init_km=__esm(()=>{init_util()});function kh_default(){return km_default()}var init_kh=__esm(()=>{init_km()});function ko_default(){return{localeError:error27()}}var error27=()=>{let Sizable={string:{unit:"문자",verb:"to have"},file:{unit:"바이트",verb:"to have"},array:{unit:"개",verb:"to have"},set:{unit:"개",verb:"to have"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"입력",email:"이메일 주소",url:"URL",emoji:"이모지",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO 날짜시간",date:"ISO 날짜",time:"ISO 시간",duration:"ISO 기간",ipv4:"IPv4 주소",ipv6:"IPv6 주소",cidrv4:"IPv4 범위",cidrv6:"IPv6 범위",base64:"base64 인코딩 문자열",base64url:"base64url 인코딩 문자열",json_string:"JSON 문자열",e164:"E.164 번호",jwt:"JWT",template_literal:"입력"},TypeDictionary={nan:"NaN"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`잘못된 입력: 예상 타입은 instanceof ${issue2.expected}, 받은 타입은 ${received}입니다`;return`잘못된 입력: 예상 타입은 ${expected}, 받은 타입은 ${received}입니다`}case"invalid_value":if(issue2.values.length===1)return`잘못된 입력: 값은 ${stringifyPrimitive(issue2.values[0])} 이어야 합니다`;return`잘못된 옵션: ${joinValues(issue2.values,"또는 ")} 중 하나여야 합니다`;case"too_big":{let adj=issue2.inclusive?"이하":"미만",suffix=adj==="미만"?"이어야 합니다":"여야 합니다",sizing=getSizing(issue2.origin),unit=sizing?.unit??"요소";if(sizing)return`${issue2.origin??"값"}이 너무 큽니다: ${issue2.maximum.toString()}${unit} ${adj}${suffix}`;return`${issue2.origin??"값"}이 너무 큽니다: ${issue2.maximum.toString()} ${adj}${suffix}`}case"too_small":{let adj=issue2.inclusive?"이상":"초과",suffix=adj==="이상"?"이어야 합니다":"여야 합니다",sizing=getSizing(issue2.origin),unit=sizing?.unit??"요소";if(sizing)return`${issue2.origin??"값"}이 너무 작습니다: ${issue2.minimum.toString()}${unit} ${adj}${suffix}`;return`${issue2.origin??"값"}이 너무 작습니다: ${issue2.minimum.toString()} ${adj}${suffix}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`잘못된 문자열: "${_issue.prefix}"(으)로 시작해야 합니다`;if(_issue.format==="ends_with")return`잘못된 문자열: "${_issue.suffix}"(으)로 끝나야 합니다`;if(_issue.format==="includes")return`잘못된 문자열: "${_issue.includes}"을(를) 포함해야 합니다`;if(_issue.format==="regex")return`잘못된 문자열: 정규식 ${_issue.pattern} 패턴과 일치해야 합니다`;return`잘못된 ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`잘못된 숫자: ${issue2.divisor}의 배수여야 합니다`;case"unrecognized_keys":return`인식할 수 없는 키: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`잘못된 키: ${issue2.origin}`;case"invalid_union":return"잘못된 입력";case"invalid_element":return`잘못된 값: ${issue2.origin}`;default:return"잘못된 입력"}}};var init_ko=__esm(()=>{init_util()});function getUnitTypeFromNumber(number2){let abs=Math.abs(number2),last=abs%10,last2=abs%100;if(last2>=11&&last2<=19||last===0)return"many";if(last===1)return"one";return"few"}function lt_default(){return{localeError:error28()}}var capitalizeFirstCharacter=(text)=>{return text.charAt(0).toUpperCase()+text.slice(1)},error28=()=>{let Sizable={string:{unit:{one:"simbolis",few:"simboliai",many:"simbolių"},verb:{smaller:{inclusive:"turi būti ne ilgesnė kaip",notInclusive:"turi būti trumpesnė kaip"},bigger:{inclusive:"turi būti ne trumpesnė kaip",notInclusive:"turi būti ilgesnė kaip"}}},file:{unit:{one:"baitas",few:"baitai",many:"baitų"},verb:{smaller:{inclusive:"turi būti ne didesnis kaip",notInclusive:"turi būti mažesnis kaip"},bigger:{inclusive:"turi būti ne mažesnis kaip",notInclusive:"turi būti didesnis kaip"}}},array:{unit:{one:"elementą",few:"elementus",many:"elementų"},verb:{smaller:{inclusive:"turi turėti ne daugiau kaip",notInclusive:"turi turėti mažiau kaip"},bigger:{inclusive:"turi turėti ne mažiau kaip",notInclusive:"turi turėti daugiau kaip"}}},set:{unit:{one:"elementą",few:"elementus",many:"elementų"},verb:{smaller:{inclusive:"turi turėti ne daugiau kaip",notInclusive:"turi turėti mažiau kaip"},bigger:{inclusive:"turi turėti ne mažiau kaip",notInclusive:"turi turėti daugiau kaip"}}}};function getSizing(origin,unitType,inclusive,targetShouldBe){let result=Sizable[origin]??null;if(result===null)return result;return{unit:result.unit[unitType],verb:result.verb[targetShouldBe][inclusive?"inclusive":"notInclusive"]}}let FormatDictionary={regex:"įvestis",email:"el. pašto adresas",url:"URL",emoji:"jaustukas",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO data ir laikas",date:"ISO data",time:"ISO laikas",duration:"ISO trukmė",ipv4:"IPv4 adresas",ipv6:"IPv6 adresas",cidrv4:"IPv4 tinklo prefiksas (CIDR)",cidrv6:"IPv6 tinklo prefiksas (CIDR)",base64:"base64 užkoduota eilutė",base64url:"base64url užkoduota eilutė",json_string:"JSON eilutė",e164:"E.164 numeris",jwt:"JWT",template_literal:"įvestis"},TypeDictionary={nan:"NaN",number:"skaičius",bigint:"sveikasis skaičius",string:"eilutė",boolean:"loginė reikšmė",undefined:"neapibrėžta reikšmė",function:"funkcija",symbol:"simbolis",array:"masyvas",object:"objektas",null:"nulinė reikšmė"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`Gautas tipas ${received}, o tikėtasi - instanceof ${issue2.expected}`;return`Gautas tipas ${received}, o tikėtasi - ${expected}`}case"invalid_value":if(issue2.values.length===1)return`Privalo būti ${stringifyPrimitive(issue2.values[0])}`;return`Privalo būti vienas iš ${joinValues(issue2.values,"|")} pasirinkimų`;case"too_big":{let origin=TypeDictionary[issue2.origin]??issue2.origin,sizing=getSizing(issue2.origin,getUnitTypeFromNumber(Number(issue2.maximum)),issue2.inclusive??!1,"smaller");if(sizing?.verb)return`${capitalizeFirstCharacter(origin??issue2.origin??"reikšmė")} ${sizing.verb} ${issue2.maximum.toString()} ${sizing.unit??"elementų"}`;let adj=issue2.inclusive?"ne didesnis kaip":"mažesnis kaip";return`${capitalizeFirstCharacter(origin??issue2.origin??"reikšmė")} turi būti ${adj} ${issue2.maximum.toString()} ${sizing?.unit}`}case"too_small":{let origin=TypeDictionary[issue2.origin]??issue2.origin,sizing=getSizing(issue2.origin,getUnitTypeFromNumber(Number(issue2.minimum)),issue2.inclusive??!1,"bigger");if(sizing?.verb)return`${capitalizeFirstCharacter(origin??issue2.origin??"reikšmė")} ${sizing.verb} ${issue2.minimum.toString()} ${sizing.unit??"elementų"}`;let adj=issue2.inclusive?"ne mažesnis kaip":"didesnis kaip";return`${capitalizeFirstCharacter(origin??issue2.origin??"reikšmė")} turi būti ${adj} ${issue2.minimum.toString()} ${sizing?.unit}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`Eilutė privalo prasidėti "${_issue.prefix}"`;if(_issue.format==="ends_with")return`Eilutė privalo pasibaigti "${_issue.suffix}"`;if(_issue.format==="includes")return`Eilutė privalo įtraukti "${_issue.includes}"`;if(_issue.format==="regex")return`Eilutė privalo atitikti ${_issue.pattern}`;return`Neteisingas ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`Skaičius privalo būti ${issue2.divisor} kartotinis.`;case"unrecognized_keys":return`Neatpažint${issue2.keys.length>1?"i":"as"} rakt${issue2.keys.length>1?"ai":"as"}: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return"Rastas klaidingas raktas";case"invalid_union":return"Klaidinga įvestis";case"invalid_element":{let origin=TypeDictionary[issue2.origin]??issue2.origin;return`${capitalizeFirstCharacter(origin??issue2.origin??"reikšmė")} turi klaidingą įvestį`}default:return"Klaidinga įvestis"}}};var init_lt=__esm(()=>{init_util()});function mk_default(){return{localeError:error29()}}var error29=()=>{let Sizable={string:{unit:"знаци",verb:"да имаат"},file:{unit:"бајти",verb:"да имаат"},array:{unit:"ставки",verb:"да имаат"},set:{unit:"ставки",verb:"да имаат"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"внес",email:"адреса на е-пошта",url:"URL",emoji:"емоџи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO датум и време",date:"ISO датум",time:"ISO време",duration:"ISO времетраење",ipv4:"IPv4 адреса",ipv6:"IPv6 адреса",cidrv4:"IPv4 опсег",cidrv6:"IPv6 опсег",base64:"base64-енкодирана низа",base64url:"base64url-енкодирана низа",json_string:"JSON низа",e164:"E.164 број",jwt:"JWT",template_literal:"внес"},TypeDictionary={nan:"NaN",number:"број",array:"низа"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`Грешен внес: се очекува instanceof ${issue2.expected}, примено ${received}`;return`Грешен внес: се очекува ${expected}, примено ${received}`}case"invalid_value":if(issue2.values.length===1)return`Invalid input: expected ${stringifyPrimitive(issue2.values[0])}`;return`Грешана опција: се очекува една ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing)return`Премногу голем: се очекува ${issue2.origin??"вредноста"} да има ${adj}${issue2.maximum.toString()} ${sizing.unit??"елементи"}`;return`Премногу голем: се очекува ${issue2.origin??"вредноста"} да биде ${adj}${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing)return`Премногу мал: се очекува ${issue2.origin} да има ${adj}${issue2.minimum.toString()} ${sizing.unit}`;return`Премногу мал: се очекува ${issue2.origin} да биде ${adj}${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`Неважечка низа: мора да започнува со "${_issue.prefix}"`;if(_issue.format==="ends_with")return`Неважечка низа: мора да завршува со "${_issue.suffix}"`;if(_issue.format==="includes")return`Неважечка низа: мора да вклучува "${_issue.includes}"`;if(_issue.format==="regex")return`Неважечка низа: мора да одгоара на патернот ${_issue.pattern}`;return`Invalid ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`Грешен број: мора да биде делив со ${issue2.divisor}`;case"unrecognized_keys":return`${issue2.keys.length>1?"Непрепознаени клучеви":"Непрепознаен клуч"}: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`Грешен клуч во ${issue2.origin}`;case"invalid_union":return"Грешен внес";case"invalid_element":return`Грешна вредност во ${issue2.origin}`;default:return"Грешен внес"}}};var init_mk=__esm(()=>{init_util()});function ms_default(){return{localeError:error30()}}var error30=()=>{let Sizable={string:{unit:"aksara",verb:"mempunyai"},file:{unit:"bait",verb:"mempunyai"},array:{unit:"elemen",verb:"mempunyai"},set:{unit:"elemen",verb:"mempunyai"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"input",email:"alamat e-mel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tarikh masa ISO",date:"tarikh ISO",time:"masa ISO",duration:"tempoh ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"julat IPv4",cidrv6:"julat IPv6",base64:"string dikodkan base64",base64url:"string dikodkan base64url",json_string:"string JSON",e164:"nombor E.164",jwt:"JWT",template_literal:"input"},TypeDictionary={nan:"NaN",number:"nombor"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`Input tidak sah: dijangka instanceof ${issue2.expected}, diterima ${received}`;return`Input tidak sah: dijangka ${expected}, diterima ${received}`}case"invalid_value":if(issue2.values.length===1)return`Input tidak sah: dijangka ${stringifyPrimitive(issue2.values[0])}`;return`Pilihan tidak sah: dijangka salah satu daripada ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing)return`Terlalu besar: dijangka ${issue2.origin??"nilai"} ${sizing.verb} ${adj}${issue2.maximum.toString()} ${sizing.unit??"elemen"}`;return`Terlalu besar: dijangka ${issue2.origin??"nilai"} adalah ${adj}${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing)return`Terlalu kecil: dijangka ${issue2.origin} ${sizing.verb} ${adj}${issue2.minimum.toString()} ${sizing.unit}`;return`Terlalu kecil: dijangka ${issue2.origin} adalah ${adj}${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`String tidak sah: mesti bermula dengan "${_issue.prefix}"`;if(_issue.format==="ends_with")return`String tidak sah: mesti berakhir dengan "${_issue.suffix}"`;if(_issue.format==="includes")return`String tidak sah: mesti mengandungi "${_issue.includes}"`;if(_issue.format==="regex")return`String tidak sah: mesti sepadan dengan corak ${_issue.pattern}`;return`${FormatDictionary[_issue.format]??issue2.format} tidak sah`}case"not_multiple_of":return`Nombor tidak sah: perlu gandaan ${issue2.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`Kunci tidak sah dalam ${issue2.origin}`;case"invalid_union":return"Input tidak sah";case"invalid_element":return`Nilai tidak sah dalam ${issue2.origin}`;default:return"Input tidak sah"}}};var init_ms=__esm(()=>{init_util()});function nl_default(){return{localeError:error31()}}var error31=()=>{let Sizable={string:{unit:"tekens",verb:"heeft"},file:{unit:"bytes",verb:"heeft"},array:{unit:"elementen",verb:"heeft"},set:{unit:"elementen",verb:"heeft"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"invoer",email:"emailadres",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum en tijd",date:"ISO datum",time:"ISO tijd",duration:"ISO duur",ipv4:"IPv4-adres",ipv6:"IPv6-adres",cidrv4:"IPv4-bereik",cidrv6:"IPv6-bereik",base64:"base64-gecodeerde tekst",base64url:"base64 URL-gecodeerde tekst",json_string:"JSON string",e164:"E.164-nummer",jwt:"JWT",template_literal:"invoer"},TypeDictionary={nan:"NaN",number:"getal"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`Ongeldige invoer: verwacht instanceof ${issue2.expected}, ontving ${received}`;return`Ongeldige invoer: verwacht ${expected}, ontving ${received}`}case"invalid_value":if(issue2.values.length===1)return`Ongeldige invoer: verwacht ${stringifyPrimitive(issue2.values[0])}`;return`Ongeldige optie: verwacht één van ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin),longName=issue2.origin==="date"?"laat":issue2.origin==="string"?"lang":"groot";if(sizing)return`Te ${longName}: verwacht dat ${issue2.origin??"waarde"} ${adj}${issue2.maximum.toString()} ${sizing.unit??"elementen"} ${sizing.verb}`;return`Te ${longName}: verwacht dat ${issue2.origin??"waarde"} ${adj}${issue2.maximum.toString()} is`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin),shortName=issue2.origin==="date"?"vroeg":issue2.origin==="string"?"kort":"klein";if(sizing)return`Te ${shortName}: verwacht dat ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit} ${sizing.verb}`;return`Te ${shortName}: verwacht dat ${issue2.origin} ${adj}${issue2.minimum.toString()} is`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`Ongeldige tekst: moet met "${_issue.prefix}" beginnen`;if(_issue.format==="ends_with")return`Ongeldige tekst: moet op "${_issue.suffix}" eindigen`;if(_issue.format==="includes")return`Ongeldige tekst: moet "${_issue.includes}" bevatten`;if(_issue.format==="regex")return`Ongeldige tekst: moet overeenkomen met patroon ${_issue.pattern}`;return`Ongeldig: ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`Ongeldig getal: moet een veelvoud van ${issue2.divisor} zijn`;case"unrecognized_keys":return`Onbekende key${issue2.keys.length>1?"s":""}: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`Ongeldige key in ${issue2.origin}`;case"invalid_union":return"Ongeldige invoer";case"invalid_element":return`Ongeldige waarde in ${issue2.origin}`;default:return"Ongeldige invoer"}}};var init_nl=__esm(()=>{init_util()});function no_default(){return{localeError:error32()}}var error32=()=>{let Sizable={string:{unit:"tegn",verb:"å ha"},file:{unit:"bytes",verb:"å ha"},array:{unit:"elementer",verb:"å inneholde"},set:{unit:"elementer",verb:"å inneholde"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"input",email:"e-postadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkeslett",date:"ISO-dato",time:"ISO-klokkeslett",duration:"ISO-varighet",ipv4:"IPv4-område",ipv6:"IPv6-område",cidrv4:"IPv4-spekter",cidrv6:"IPv6-spekter",base64:"base64-enkodet streng",base64url:"base64url-enkodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},TypeDictionary={nan:"NaN",number:"tall",array:"liste"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`Ugyldig input: forventet instanceof ${issue2.expected}, fikk ${received}`;return`Ugyldig input: forventet ${expected}, fikk ${received}`}case"invalid_value":if(issue2.values.length===1)return`Ugyldig verdi: forventet ${stringifyPrimitive(issue2.values[0])}`;return`Ugyldig valg: forventet en av ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing)return`For stor(t): forventet ${issue2.origin??"value"} til å ha ${adj}${issue2.maximum.toString()} ${sizing.unit??"elementer"}`;return`For stor(t): forventet ${issue2.origin??"value"} til å ha ${adj}${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing)return`For lite(n): forventet ${issue2.origin} til å ha ${adj}${issue2.minimum.toString()} ${sizing.unit}`;return`For lite(n): forventet ${issue2.origin} til å ha ${adj}${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`Ugyldig streng: må starte med "${_issue.prefix}"`;if(_issue.format==="ends_with")return`Ugyldig streng: må ende med "${_issue.suffix}"`;if(_issue.format==="includes")return`Ugyldig streng: må inneholde "${_issue.includes}"`;if(_issue.format==="regex")return`Ugyldig streng: må matche mønsteret ${_issue.pattern}`;return`Ugyldig ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`Ugyldig tall: må være et multiplum av ${issue2.divisor}`;case"unrecognized_keys":return`${issue2.keys.length>1?"Ukjente nøkler":"Ukjent nøkkel"}: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`Ugyldig nøkkel i ${issue2.origin}`;case"invalid_union":return"Ugyldig input";case"invalid_element":return`Ugyldig verdi i ${issue2.origin}`;default:return"Ugyldig input"}}};var init_no=__esm(()=>{init_util()});function ota_default(){return{localeError:error33()}}var error33=()=>{let Sizable={string:{unit:"harf",verb:"olmalıdır"},file:{unit:"bayt",verb:"olmalıdır"},array:{unit:"unsur",verb:"olmalıdır"},set:{unit:"unsur",verb:"olmalıdır"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"giren",email:"epostagâh",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO hengâmı",date:"ISO tarihi",time:"ISO zamanı",duration:"ISO müddeti",ipv4:"IPv4 nişânı",ipv6:"IPv6 nişânı",cidrv4:"IPv4 menzili",cidrv6:"IPv6 menzili",base64:"base64-şifreli metin",base64url:"base64url-şifreli metin",json_string:"JSON metin",e164:"E.164 sayısı",jwt:"JWT",template_literal:"giren"},TypeDictionary={nan:"NaN",number:"numara",array:"saf",null:"gayb"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`Fâsit giren: umulan instanceof ${issue2.expected}, alınan ${received}`;return`Fâsit giren: umulan ${expected}, alınan ${received}`}case"invalid_value":if(issue2.values.length===1)return`Fâsit giren: umulan ${stringifyPrimitive(issue2.values[0])}`;return`Fâsit tercih: mûteberler ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing)return`Fazla büyük: ${issue2.origin??"value"}, ${adj}${issue2.maximum.toString()} ${sizing.unit??"elements"} sahip olmalıydı.`;return`Fazla büyük: ${issue2.origin??"value"}, ${adj}${issue2.maximum.toString()} olmalıydı.`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing)return`Fazla küçük: ${issue2.origin}, ${adj}${issue2.minimum.toString()} ${sizing.unit} sahip olmalıydı.`;return`Fazla küçük: ${issue2.origin}, ${adj}${issue2.minimum.toString()} olmalıydı.`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`Fâsit metin: "${_issue.prefix}" ile başlamalı.`;if(_issue.format==="ends_with")return`Fâsit metin: "${_issue.suffix}" ile bitmeli.`;if(_issue.format==="includes")return`Fâsit metin: "${_issue.includes}" ihtivâ etmeli.`;if(_issue.format==="regex")return`Fâsit metin: ${_issue.pattern} nakşına uymalı.`;return`Fâsit ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`Fâsit sayı: ${issue2.divisor} katı olmalıydı.`;case"unrecognized_keys":return`Tanınmayan anahtar ${issue2.keys.length>1?"s":""}: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`${issue2.origin} için tanınmayan anahtar var.`;case"invalid_union":return"Giren tanınamadı.";case"invalid_element":return`${issue2.origin} için tanınmayan kıymet var.`;default:return"Kıymet tanınamadı."}}};var init_ota=__esm(()=>{init_util()});function ps_default(){return{localeError:error34()}}var error34=()=>{let Sizable={string:{unit:"توکي",verb:"ولري"},file:{unit:"بایټس",verb:"ولري"},array:{unit:"توکي",verb:"ولري"},set:{unit:"توکي",verb:"ولري"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"ورودي",email:"بریښنالیک",url:"یو آر ال",emoji:"ایموجي",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"نیټه او وخت",date:"نېټه",time:"وخت",duration:"موده",ipv4:"د IPv4 پته",ipv6:"د IPv6 پته",cidrv4:"د IPv4 ساحه",cidrv6:"د IPv6 ساحه",base64:"base64-encoded متن",base64url:"base64url-encoded متن",json_string:"JSON متن",e164:"د E.164 شمېره",jwt:"JWT",template_literal:"ورودي"},TypeDictionary={nan:"NaN",number:"عدد",array:"ارې"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`ناسم ورودي: باید instanceof ${issue2.expected} وای, مګر ${received} ترلاسه شو`;return`ناسم ورودي: باید ${expected} وای, مګر ${received} ترلاسه شو`}case"invalid_value":if(issue2.values.length===1)return`ناسم ورودي: باید ${stringifyPrimitive(issue2.values[0])} وای`;return`ناسم انتخاب: باید یو له ${joinValues(issue2.values,"|")} څخه وای`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing)return`ډیر لوی: ${issue2.origin??"ارزښت"} باید ${adj}${issue2.maximum.toString()} ${sizing.unit??"عنصرونه"} ولري`;return`ډیر لوی: ${issue2.origin??"ارزښت"} باید ${adj}${issue2.maximum.toString()} وي`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing)return`ډیر کوچنی: ${issue2.origin} باید ${adj}${issue2.minimum.toString()} ${sizing.unit} ولري`;return`ډیر کوچنی: ${issue2.origin} باید ${adj}${issue2.minimum.toString()} وي`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`ناسم متن: باید د "${_issue.prefix}" سره پیل شي`;if(_issue.format==="ends_with")return`ناسم متن: باید د "${_issue.suffix}" سره پای ته ورسيږي`;if(_issue.format==="includes")return`ناسم متن: باید "${_issue.includes}" ولري`;if(_issue.format==="regex")return`ناسم متن: باید د ${_issue.pattern} سره مطابقت ولري`;return`${FormatDictionary[_issue.format]??issue2.format} ناسم دی`}case"not_multiple_of":return`ناسم عدد: باید د ${issue2.divisor} مضرب وي`;case"unrecognized_keys":return`ناسم ${issue2.keys.length>1?"کلیډونه":"کلیډ"}: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`ناسم کلیډ په ${issue2.origin} کې`;case"invalid_union":return"ناسمه ورودي";case"invalid_element":return`ناسم عنصر په ${issue2.origin} کې`;default:return"ناسمه ورودي"}}};var init_ps=__esm(()=>{init_util()});function pl_default(){return{localeError:error35()}}var error35=()=>{let Sizable={string:{unit:"znaków",verb:"mieć"},file:{unit:"bajtów",verb:"mieć"},array:{unit:"elementów",verb:"mieć"},set:{unit:"elementów",verb:"mieć"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"wyrażenie",email:"adres email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i godzina w formacie ISO",date:"data w formacie ISO",time:"godzina w formacie ISO",duration:"czas trwania ISO",ipv4:"adres IPv4",ipv6:"adres IPv6",cidrv4:"zakres IPv4",cidrv6:"zakres IPv6",base64:"ciąg znaków zakodowany w formacie base64",base64url:"ciąg znaków zakodowany w formacie base64url",json_string:"ciąg znaków w formacie JSON",e164:"liczba E.164",jwt:"JWT",template_literal:"wejście"},TypeDictionary={nan:"NaN",number:"liczba",array:"tablica"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`Nieprawidłowe dane wejściowe: oczekiwano instanceof ${issue2.expected}, otrzymano ${received}`;return`Nieprawidłowe dane wejściowe: oczekiwano ${expected}, otrzymano ${received}`}case"invalid_value":if(issue2.values.length===1)return`Nieprawidłowe dane wejściowe: oczekiwano ${stringifyPrimitive(issue2.values[0])}`;return`Nieprawidłowa opcja: oczekiwano jednej z wartości ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing)return`Za duża wartość: oczekiwano, że ${issue2.origin??"wartość"} będzie mieć ${adj}${issue2.maximum.toString()} ${sizing.unit??"elementów"}`;return`Zbyt duż(y/a/e): oczekiwano, że ${issue2.origin??"wartość"} będzie wynosić ${adj}${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing)return`Za mała wartość: oczekiwano, że ${issue2.origin??"wartość"} będzie mieć ${adj}${issue2.minimum.toString()} ${sizing.unit??"elementów"}`;return`Zbyt mał(y/a/e): oczekiwano, że ${issue2.origin??"wartość"} będzie wynosić ${adj}${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`Nieprawidłowy ciąg znaków: musi zaczynać się od "${_issue.prefix}"`;if(_issue.format==="ends_with")return`Nieprawidłowy ciąg znaków: musi kończyć się na "${_issue.suffix}"`;if(_issue.format==="includes")return`Nieprawidłowy ciąg znaków: musi zawierać "${_issue.includes}"`;if(_issue.format==="regex")return`Nieprawidłowy ciąg znaków: musi odpowiadać wzorcowi ${_issue.pattern}`;return`Nieprawidłow(y/a/e) ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`Nieprawidłowa liczba: musi być wielokrotnością ${issue2.divisor}`;case"unrecognized_keys":return`Nierozpoznane klucze${issue2.keys.length>1?"s":""}: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`Nieprawidłowy klucz w ${issue2.origin}`;case"invalid_union":return"Nieprawidłowe dane wejściowe";case"invalid_element":return`Nieprawidłowa wartość w ${issue2.origin}`;default:return"Nieprawidłowe dane wejściowe"}}};var init_pl=__esm(()=>{init_util()});function pt_default(){return{localeError:error36()}}var error36=()=>{let Sizable={string:{unit:"caracteres",verb:"ter"},file:{unit:"bytes",verb:"ter"},array:{unit:"itens",verb:"ter"},set:{unit:"itens",verb:"ter"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"padrão",email:"endereço de e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e hora ISO",date:"data ISO",time:"hora ISO",duration:"duração ISO",ipv4:"endereço IPv4",ipv6:"endereço IPv6",cidrv4:"faixa de IPv4",cidrv6:"faixa de IPv6",base64:"texto codificado em base64",base64url:"URL codificada em base64",json_string:"texto JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"},TypeDictionary={nan:"NaN",number:"número",null:"nulo"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`Tipo inválido: esperado instanceof ${issue2.expected}, recebido ${received}`;return`Tipo inválido: esperado ${expected}, recebido ${received}`}case"invalid_value":if(issue2.values.length===1)return`Entrada inválida: esperado ${stringifyPrimitive(issue2.values[0])}`;return`Opção inválida: esperada uma das ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing)return`Muito grande: esperado que ${issue2.origin??"valor"} tivesse ${adj}${issue2.maximum.toString()} ${sizing.unit??"elementos"}`;return`Muito grande: esperado que ${issue2.origin??"valor"} fosse ${adj}${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing)return`Muito pequeno: esperado que ${issue2.origin} tivesse ${adj}${issue2.minimum.toString()} ${sizing.unit}`;return`Muito pequeno: esperado que ${issue2.origin} fosse ${adj}${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`Texto inválido: deve começar com "${_issue.prefix}"`;if(_issue.format==="ends_with")return`Texto inválido: deve terminar com "${_issue.suffix}"`;if(_issue.format==="includes")return`Texto inválido: deve incluir "${_issue.includes}"`;if(_issue.format==="regex")return`Texto inválido: deve corresponder ao padrão ${_issue.pattern}`;return`${FormatDictionary[_issue.format]??issue2.format} inválido`}case"not_multiple_of":return`Número inválido: deve ser múltiplo de ${issue2.divisor}`;case"unrecognized_keys":return`Chave${issue2.keys.length>1?"s":""} desconhecida${issue2.keys.length>1?"s":""}: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`Chave inválida em ${issue2.origin}`;case"invalid_union":return"Entrada inválida";case"invalid_element":return`Valor inválido em ${issue2.origin}`;default:return"Campo inválido"}}};var init_pt=__esm(()=>{init_util()});function ro_default(){return{localeError:error37()}}var error37=()=>{let Sizable={string:{unit:"caractere",verb:"să aibă"},file:{unit:"octeți",verb:"să aibă"},array:{unit:"elemente",verb:"să aibă"},set:{unit:"elemente",verb:"să aibă"},map:{unit:"intrări",verb:"să aibă"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"intrare",email:"adresă de email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"dată și oră ISO",date:"dată ISO",time:"oră ISO",duration:"durată ISO",ipv4:"adresă IPv4",ipv6:"adresă IPv6",mac:"adresă MAC",cidrv4:"interval IPv4",cidrv6:"interval IPv6",base64:"șir codat base64",base64url:"șir codat base64url",json_string:"șir JSON",e164:"număr E.164",jwt:"JWT",template_literal:"intrare"},TypeDictionary={nan:"NaN",string:"șir",number:"număr",boolean:"boolean",function:"funcție",array:"matrice",object:"obiect",undefined:"nedefinit",symbol:"simbol",bigint:"număr mare",void:"void",never:"never",map:"hartă",set:"set"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;return`Intrare invalidă: așteptat ${expected}, primit ${received}`}case"invalid_value":if(issue2.values.length===1)return`Intrare invalidă: așteptat ${stringifyPrimitive(issue2.values[0])}`;return`Opțiune invalidă: așteptat una dintre ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing)return`Prea mare: așteptat ca ${issue2.origin??"valoarea"} ${sizing.verb} ${adj}${issue2.maximum.toString()} ${sizing.unit??"elemente"}`;return`Prea mare: așteptat ca ${issue2.origin??"valoarea"} să fie ${adj}${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing)return`Prea mic: așteptat ca ${issue2.origin} ${sizing.verb} ${adj}${issue2.minimum.toString()} ${sizing.unit}`;return`Prea mic: așteptat ca ${issue2.origin} să fie ${adj}${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`Șir invalid: trebuie să înceapă cu "${_issue.prefix}"`;if(_issue.format==="ends_with")return`Șir invalid: trebuie să se termine cu "${_issue.suffix}"`;if(_issue.format==="includes")return`Șir invalid: trebuie să includă "${_issue.includes}"`;if(_issue.format==="regex")return`Șir invalid: trebuie să se potrivească cu modelul ${_issue.pattern}`;return`Format invalid: ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`Număr invalid: trebuie să fie multiplu de ${issue2.divisor}`;case"unrecognized_keys":return`Chei nerecunoscute: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`Cheie invalidă în ${issue2.origin}`;case"invalid_union":return"Intrare invalidă";case"invalid_element":return`Valoare invalidă în ${issue2.origin}`;default:return"Intrare invalidă"}}};var init_ro=__esm(()=>{init_util()});function getRussianPlural(count,one,few,many){let absCount=Math.abs(count),lastDigit=absCount%10,lastTwoDigits=absCount%100;if(lastTwoDigits>=11&&lastTwoDigits<=19)return many;if(lastDigit===1)return one;if(lastDigit>=2&&lastDigit<=4)return few;return many}function ru_default(){return{localeError:error38()}}var error38=()=>{let Sizable={string:{unit:{one:"символ",few:"символа",many:"символов"},verb:"иметь"},file:{unit:{one:"байт",few:"байта",many:"байт"},verb:"иметь"},array:{unit:{one:"элемент",few:"элемента",many:"элементов"},verb:"иметь"},set:{unit:{one:"элемент",few:"элемента",many:"элементов"},verb:"иметь"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"ввод",email:"email адрес",url:"URL",emoji:"эмодзи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO дата и время",date:"ISO дата",time:"ISO время",duration:"ISO длительность",ipv4:"IPv4 адрес",ipv6:"IPv6 адрес",cidrv4:"IPv4 диапазон",cidrv6:"IPv6 диапазон",base64:"строка в формате base64",base64url:"строка в формате base64url",json_string:"JSON строка",e164:"номер E.164",jwt:"JWT",template_literal:"ввод"},TypeDictionary={nan:"NaN",number:"число",array:"массив"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`Неверный ввод: ожидалось instanceof ${issue2.expected}, получено ${received}`;return`Неверный ввод: ожидалось ${expected}, получено ${received}`}case"invalid_value":if(issue2.values.length===1)return`Неверный ввод: ожидалось ${stringifyPrimitive(issue2.values[0])}`;return`Неверный вариант: ожидалось одно из ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing){let maxValue=Number(issue2.maximum),unit=getRussianPlural(maxValue,sizing.unit.one,sizing.unit.few,sizing.unit.many);return`Слишком большое значение: ожидалось, что ${issue2.origin??"значение"} будет иметь ${adj}${issue2.maximum.toString()} ${unit}`}return`Слишком большое значение: ожидалось, что ${issue2.origin??"значение"} будет ${adj}${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing){let minValue=Number(issue2.minimum),unit=getRussianPlural(minValue,sizing.unit.one,sizing.unit.few,sizing.unit.many);return`Слишком маленькое значение: ожидалось, что ${issue2.origin} будет иметь ${adj}${issue2.minimum.toString()} ${unit}`}return`Слишком маленькое значение: ожидалось, что ${issue2.origin} будет ${adj}${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`Неверная строка: должна начинаться с "${_issue.prefix}"`;if(_issue.format==="ends_with")return`Неверная строка: должна заканчиваться на "${_issue.suffix}"`;if(_issue.format==="includes")return`Неверная строка: должна содержать "${_issue.includes}"`;if(_issue.format==="regex")return`Неверная строка: должна соответствовать шаблону ${_issue.pattern}`;return`Неверный ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`Неверное число: должно быть кратным ${issue2.divisor}`;case"unrecognized_keys":return`Нераспознанн${issue2.keys.length>1?"ые":"ый"} ключ${issue2.keys.length>1?"и":""}: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`Неверный ключ в ${issue2.origin}`;case"invalid_union":return"Неверные входные данные";case"invalid_element":return`Неверное значение в ${issue2.origin}`;default:return"Неверные входные данные"}}};var init_ru=__esm(()=>{init_util()});function sl_default(){return{localeError:error39()}}var error39=()=>{let Sizable={string:{unit:"znakov",verb:"imeti"},file:{unit:"bajtov",verb:"imeti"},array:{unit:"elementov",verb:"imeti"},set:{unit:"elementov",verb:"imeti"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"vnos",email:"e-poštni naslov",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum in čas",date:"ISO datum",time:"ISO čas",duration:"ISO trajanje",ipv4:"IPv4 naslov",ipv6:"IPv6 naslov",cidrv4:"obseg IPv4",cidrv6:"obseg IPv6",base64:"base64 kodiran niz",base64url:"base64url kodiran niz",json_string:"JSON niz",e164:"E.164 številka",jwt:"JWT",template_literal:"vnos"},TypeDictionary={nan:"NaN",number:"število",array:"tabela"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`Neveljaven vnos: pričakovano instanceof ${issue2.expected}, prejeto ${received}`;return`Neveljaven vnos: pričakovano ${expected}, prejeto ${received}`}case"invalid_value":if(issue2.values.length===1)return`Neveljaven vnos: pričakovano ${stringifyPrimitive(issue2.values[0])}`;return`Neveljavna možnost: pričakovano eno izmed ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing)return`Preveliko: pričakovano, da bo ${issue2.origin??"vrednost"} imelo ${adj}${issue2.maximum.toString()} ${sizing.unit??"elementov"}`;return`Preveliko: pričakovano, da bo ${issue2.origin??"vrednost"} ${adj}${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing)return`Premajhno: pričakovano, da bo ${issue2.origin} imelo ${adj}${issue2.minimum.toString()} ${sizing.unit}`;return`Premajhno: pričakovano, da bo ${issue2.origin} ${adj}${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`Neveljaven niz: mora se začeti z "${_issue.prefix}"`;if(_issue.format==="ends_with")return`Neveljaven niz: mora se končati z "${_issue.suffix}"`;if(_issue.format==="includes")return`Neveljaven niz: mora vsebovati "${_issue.includes}"`;if(_issue.format==="regex")return`Neveljaven niz: mora ustrezati vzorcu ${_issue.pattern}`;return`Neveljaven ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`Neveljavno število: mora biti večkratnik ${issue2.divisor}`;case"unrecognized_keys":return`Neprepoznan${issue2.keys.length>1?"i ključi":" ključ"}: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`Neveljaven ključ v ${issue2.origin}`;case"invalid_union":return"Neveljaven vnos";case"invalid_element":return`Neveljavna vrednost v ${issue2.origin}`;default:return"Neveljaven vnos"}}};var init_sl=__esm(()=>{init_util()});function sv_default(){return{localeError:error40()}}var error40=()=>{let Sizable={string:{unit:"tecken",verb:"att ha"},file:{unit:"bytes",verb:"att ha"},array:{unit:"objekt",verb:"att innehålla"},set:{unit:"objekt",verb:"att innehålla"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"reguljärt uttryck",email:"e-postadress",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datum och tid",date:"ISO-datum",time:"ISO-tid",duration:"ISO-varaktighet",ipv4:"IPv4-intervall",ipv6:"IPv6-intervall",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodad sträng",base64url:"base64url-kodad sträng",json_string:"JSON-sträng",e164:"E.164-nummer",jwt:"JWT",template_literal:"mall-literal"},TypeDictionary={nan:"NaN",number:"antal",array:"lista"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`Ogiltig inmatning: förväntat instanceof ${issue2.expected}, fick ${received}`;return`Ogiltig inmatning: förväntat ${expected}, fick ${received}`}case"invalid_value":if(issue2.values.length===1)return`Ogiltig inmatning: förväntat ${stringifyPrimitive(issue2.values[0])}`;return`Ogiltigt val: förväntade en av ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing)return`För stor(t): förväntade ${issue2.origin??"värdet"} att ha ${adj}${issue2.maximum.toString()} ${sizing.unit??"element"}`;return`För stor(t): förväntat ${issue2.origin??"värdet"} att ha ${adj}${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing)return`För lite(t): förväntade ${issue2.origin??"värdet"} att ha ${adj}${issue2.minimum.toString()} ${sizing.unit}`;return`För lite(t): förväntade ${issue2.origin??"värdet"} att ha ${adj}${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`Ogiltig sträng: måste börja med "${_issue.prefix}"`;if(_issue.format==="ends_with")return`Ogiltig sträng: måste sluta med "${_issue.suffix}"`;if(_issue.format==="includes")return`Ogiltig sträng: måste innehålla "${_issue.includes}"`;if(_issue.format==="regex")return`Ogiltig sträng: måste matcha mönstret "${_issue.pattern}"`;return`Ogiltig(t) ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`Ogiltigt tal: måste vara en multipel av ${issue2.divisor}`;case"unrecognized_keys":return`${issue2.keys.length>1?"Okända nycklar":"Okänd nyckel"}: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`Ogiltig nyckel i ${issue2.origin??"värdet"}`;case"invalid_union":return"Ogiltig input";case"invalid_element":return`Ogiltigt värde i ${issue2.origin??"värdet"}`;default:return"Ogiltig input"}}};var init_sv=__esm(()=>{init_util()});function ta_default(){return{localeError:error41()}}var error41=()=>{let Sizable={string:{unit:"எழுத்துக்கள்",verb:"கொண்டிருக்க வேண்டும்"},file:{unit:"பைட்டுகள்",verb:"கொண்டிருக்க வேண்டும்"},array:{unit:"உறுப்புகள்",verb:"கொண்டிருக்க வேண்டும்"},set:{unit:"உறுப்புகள்",verb:"கொண்டிருக்க வேண்டும்"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"உள்ளீடு",email:"மின்னஞ்சல் முகவரி",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO தேதி நேரம்",date:"ISO தேதி",time:"ISO நேரம்",duration:"ISO கால அளவு",ipv4:"IPv4 முகவரி",ipv6:"IPv6 முகவரி",cidrv4:"IPv4 வரம்பு",cidrv6:"IPv6 வரம்பு",base64:"base64-encoded சரம்",base64url:"base64url-encoded சரம்",json_string:"JSON சரம்",e164:"E.164 எண்",jwt:"JWT",template_literal:"input"},TypeDictionary={nan:"NaN",number:"எண்",array:"அணி",null:"வெறுமை"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது instanceof ${issue2.expected}, பெறப்பட்டது ${received}`;return`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${expected}, பெறப்பட்டது ${received}`}case"invalid_value":if(issue2.values.length===1)return`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${stringifyPrimitive(issue2.values[0])}`;return`தவறான விருப்பம்: எதிர்பார்க்கப்பட்டது ${joinValues(issue2.values,"|")} இல் ஒன்று`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing)return`மிக பெரியது: எதிர்பார்க்கப்பட்டது ${issue2.origin??"மதிப்பு"} ${adj}${issue2.maximum.toString()} ${sizing.unit??"உறுப்புகள்"} ஆக இருக்க வேண்டும்`;return`மிக பெரியது: எதிர்பார்க்கப்பட்டது ${issue2.origin??"மதிப்பு"} ${adj}${issue2.maximum.toString()} ஆக இருக்க வேண்டும்`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing)return`மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit} ஆக இருக்க வேண்டும்`;return`மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${issue2.origin} ${adj}${issue2.minimum.toString()} ஆக இருக்க வேண்டும்`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`தவறான சரம்: "${_issue.prefix}" இல் தொடங்க வேண்டும்`;if(_issue.format==="ends_with")return`தவறான சரம்: "${_issue.suffix}" இல் முடிவடைய வேண்டும்`;if(_issue.format==="includes")return`தவறான சரம்: "${_issue.includes}" ஐ உள்ளடக்க வேண்டும்`;if(_issue.format==="regex")return`தவறான சரம்: ${_issue.pattern} முறைபாட்டுடன் பொருந்த வேண்டும்`;return`தவறான ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`தவறான எண்: ${issue2.divisor} இன் பலமாக இருக்க வேண்டும்`;case"unrecognized_keys":return`அடையாளம் தெரியாத விசை${issue2.keys.length>1?"கள்":""}: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`${issue2.origin} இல் தவறான விசை`;case"invalid_union":return"தவறான உள்ளீடு";case"invalid_element":return`${issue2.origin} இல் தவறான மதிப்பு`;default:return"தவறான உள்ளீடு"}}};var init_ta=__esm(()=>{init_util()});function th_default(){return{localeError:error42()}}var error42=()=>{let Sizable={string:{unit:"ตัวอักษร",verb:"ควรมี"},file:{unit:"ไบต์",verb:"ควรมี"},array:{unit:"รายการ",verb:"ควรมี"},set:{unit:"รายการ",verb:"ควรมี"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"ข้อมูลที่ป้อน",email:"ที่อยู่อีเมล",url:"URL",emoji:"อิโมจิ",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"วันที่เวลาแบบ ISO",date:"วันที่แบบ ISO",time:"เวลาแบบ ISO",duration:"ช่วงเวลาแบบ ISO",ipv4:"ที่อยู่ IPv4",ipv6:"ที่อยู่ IPv6",cidrv4:"ช่วง IP แบบ IPv4",cidrv6:"ช่วง IP แบบ IPv6",base64:"ข้อความแบบ Base64",base64url:"ข้อความแบบ Base64 สำหรับ URL",json_string:"ข้อความแบบ JSON",e164:"เบอร์โทรศัพท์ระหว่างประเทศ (E.164)",jwt:"โทเคน JWT",template_literal:"ข้อมูลที่ป้อน"},TypeDictionary={nan:"NaN",number:"ตัวเลข",array:"อาร์เรย์ (Array)",null:"ไม่มีค่า (null)"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น instanceof ${issue2.expected} แต่ได้รับ ${received}`;return`ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น ${expected} แต่ได้รับ ${received}`}case"invalid_value":if(issue2.values.length===1)return`ค่าไม่ถูกต้อง: ควรเป็น ${stringifyPrimitive(issue2.values[0])}`;return`ตัวเลือกไม่ถูกต้อง: ควรเป็นหนึ่งใน ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"ไม่เกิน":"น้อยกว่า",sizing=getSizing(issue2.origin);if(sizing)return`เกินกำหนด: ${issue2.origin??"ค่า"} ควรมี${adj} ${issue2.maximum.toString()} ${sizing.unit??"รายการ"}`;return`เกินกำหนด: ${issue2.origin??"ค่า"} ควรมี${adj} ${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?"อย่างน้อย":"มากกว่า",sizing=getSizing(issue2.origin);if(sizing)return`น้อยกว่ากำหนด: ${issue2.origin} ควรมี${adj} ${issue2.minimum.toString()} ${sizing.unit}`;return`น้อยกว่ากำหนด: ${issue2.origin} ควรมี${adj} ${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`รูปแบบไม่ถูกต้อง: ข้อความต้องขึ้นต้นด้วย "${_issue.prefix}"`;if(_issue.format==="ends_with")return`รูปแบบไม่ถูกต้อง: ข้อความต้องลงท้ายด้วย "${_issue.suffix}"`;if(_issue.format==="includes")return`รูปแบบไม่ถูกต้อง: ข้อความต้องมี "${_issue.includes}" อยู่ในข้อความ`;if(_issue.format==="regex")return`รูปแบบไม่ถูกต้อง: ต้องตรงกับรูปแบบที่กำหนด ${_issue.pattern}`;return`รูปแบบไม่ถูกต้อง: ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`ตัวเลขไม่ถูกต้อง: ต้องเป็นจำนวนที่หารด้วย ${issue2.divisor} ได้ลงตัว`;case"unrecognized_keys":return`พบคีย์ที่ไม่รู้จัก: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`คีย์ไม่ถูกต้องใน ${issue2.origin}`;case"invalid_union":return"ข้อมูลไม่ถูกต้อง: ไม่ตรงกับรูปแบบยูเนียนที่กำหนดไว้";case"invalid_element":return`ข้อมูลไม่ถูกต้องใน ${issue2.origin}`;default:return"ข้อมูลไม่ถูกต้อง"}}};var init_th=__esm(()=>{init_util()});function tr_default(){return{localeError:error43()}}var error43=()=>{let Sizable={string:{unit:"karakter",verb:"olmalı"},file:{unit:"bayt",verb:"olmalı"},array:{unit:"öğe",verb:"olmalı"},set:{unit:"öğe",verb:"olmalı"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"girdi",email:"e-posta adresi",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO tarih ve saat",date:"ISO tarih",time:"ISO saat",duration:"ISO süre",ipv4:"IPv4 adresi",ipv6:"IPv6 adresi",cidrv4:"IPv4 aralığı",cidrv6:"IPv6 aralığı",base64:"base64 ile şifrelenmiş metin",base64url:"base64url ile şifrelenmiş metin",json_string:"JSON dizesi",e164:"E.164 sayısı",jwt:"JWT",template_literal:"Şablon dizesi"},TypeDictionary={nan:"NaN"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`Geçersiz değer: beklenen instanceof ${issue2.expected}, alınan ${received}`;return`Geçersiz değer: beklenen ${expected}, alınan ${received}`}case"invalid_value":if(issue2.values.length===1)return`Geçersiz değer: beklenen ${stringifyPrimitive(issue2.values[0])}`;return`Geçersiz seçenek: aşağıdakilerden biri olmalı: ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing)return`Çok büyük: beklenen ${issue2.origin??"değer"} ${adj}${issue2.maximum.toString()} ${sizing.unit??"öğe"}`;return`Çok büyük: beklenen ${issue2.origin??"değer"} ${adj}${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing)return`Çok küçük: beklenen ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit}`;return`Çok küçük: beklenen ${issue2.origin} ${adj}${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`Geçersiz metin: "${_issue.prefix}" ile başlamalı`;if(_issue.format==="ends_with")return`Geçersiz metin: "${_issue.suffix}" ile bitmeli`;if(_issue.format==="includes")return`Geçersiz metin: "${_issue.includes}" içermeli`;if(_issue.format==="regex")return`Geçersiz metin: ${_issue.pattern} desenine uymalı`;return`Geçersiz ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`Geçersiz sayı: ${issue2.divisor} ile tam bölünebilmeli`;case"unrecognized_keys":return`Tanınmayan anahtar${issue2.keys.length>1?"lar":""}: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`${issue2.origin} içinde geçersiz anahtar`;case"invalid_union":return"Geçersiz değer";case"invalid_element":return`${issue2.origin} içinde geçersiz değer`;default:return"Geçersiz değer"}}};var init_tr=__esm(()=>{init_util()});function uk_default(){return{localeError:error44()}}var error44=()=>{let Sizable={string:{unit:"символів",verb:"матиме"},file:{unit:"байтів",verb:"матиме"},array:{unit:"елементів",verb:"матиме"},set:{unit:"елементів",verb:"матиме"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"вхідні дані",email:"адреса електронної пошти",url:"URL",emoji:"емодзі",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"дата та час ISO",date:"дата ISO",time:"час ISO",duration:"тривалість ISO",ipv4:"адреса IPv4",ipv6:"адреса IPv6",cidrv4:"діапазон IPv4",cidrv6:"діапазон IPv6",base64:"рядок у кодуванні base64",base64url:"рядок у кодуванні base64url",json_string:"рядок JSON",e164:"номер E.164",jwt:"JWT",template_literal:"вхідні дані"},TypeDictionary={nan:"NaN",number:"число",array:"масив"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`Неправильні вхідні дані: очікується instanceof ${issue2.expected}, отримано ${received}`;return`Неправильні вхідні дані: очікується ${expected}, отримано ${received}`}case"invalid_value":if(issue2.values.length===1)return`Неправильні вхідні дані: очікується ${stringifyPrimitive(issue2.values[0])}`;return`Неправильна опція: очікується одне з ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing)return`Занадто велике: очікується, що ${issue2.origin??"значення"} ${sizing.verb} ${adj}${issue2.maximum.toString()} ${sizing.unit??"елементів"}`;return`Занадто велике: очікується, що ${issue2.origin??"значення"} буде ${adj}${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing)return`Занадто мале: очікується, що ${issue2.origin} ${sizing.verb} ${adj}${issue2.minimum.toString()} ${sizing.unit}`;return`Занадто мале: очікується, що ${issue2.origin} буде ${adj}${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`Неправильний рядок: повинен починатися з "${_issue.prefix}"`;if(_issue.format==="ends_with")return`Неправильний рядок: повинен закінчуватися на "${_issue.suffix}"`;if(_issue.format==="includes")return`Неправильний рядок: повинен містити "${_issue.includes}"`;if(_issue.format==="regex")return`Неправильний рядок: повинен відповідати шаблону ${_issue.pattern}`;return`Неправильний ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`Неправильне число: повинно бути кратним ${issue2.divisor}`;case"unrecognized_keys":return`Нерозпізнаний ключ${issue2.keys.length>1?"і":""}: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`Неправильний ключ у ${issue2.origin}`;case"invalid_union":return"Неправильні вхідні дані";case"invalid_element":return`Неправильне значення у ${issue2.origin}`;default:return"Неправильні вхідні дані"}}};var init_uk=__esm(()=>{init_util()});function ua_default(){return uk_default()}var init_ua=__esm(()=>{init_uk()});function ur_default(){return{localeError:error45()}}var error45=()=>{let Sizable={string:{unit:"حروف",verb:"ہونا"},file:{unit:"بائٹس",verb:"ہونا"},array:{unit:"آئٹمز",verb:"ہونا"},set:{unit:"آئٹمز",verb:"ہونا"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"ان پٹ",email:"ای میل ایڈریس",url:"یو آر ایل",emoji:"ایموجی",uuid:"یو یو آئی ڈی",uuidv4:"یو یو آئی ڈی وی 4",uuidv6:"یو یو آئی ڈی وی 6",nanoid:"نینو آئی ڈی",guid:"جی یو آئی ڈی",cuid:"سی یو آئی ڈی",cuid2:"سی یو آئی ڈی 2",ulid:"یو ایل آئی ڈی",xid:"ایکس آئی ڈی",ksuid:"کے ایس یو آئی ڈی",datetime:"آئی ایس او ڈیٹ ٹائم",date:"آئی ایس او تاریخ",time:"آئی ایس او وقت",duration:"آئی ایس او مدت",ipv4:"آئی پی وی 4 ایڈریس",ipv6:"آئی پی وی 6 ایڈریس",cidrv4:"آئی پی وی 4 رینج",cidrv6:"آئی پی وی 6 رینج",base64:"بیس 64 ان کوڈڈ سٹرنگ",base64url:"بیس 64 یو آر ایل ان کوڈڈ سٹرنگ",json_string:"جے ایس او این سٹرنگ",e164:"ای 164 نمبر",jwt:"جے ڈبلیو ٹی",template_literal:"ان پٹ"},TypeDictionary={nan:"NaN",number:"نمبر",array:"آرے",null:"نل"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`غلط ان پٹ: instanceof ${issue2.expected} متوقع تھا، ${received} موصول ہوا`;return`غلط ان پٹ: ${expected} متوقع تھا، ${received} موصول ہوا`}case"invalid_value":if(issue2.values.length===1)return`غلط ان پٹ: ${stringifyPrimitive(issue2.values[0])} متوقع تھا`;return`غلط آپشن: ${joinValues(issue2.values,"|")} میں سے ایک متوقع تھا`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing)return`بہت بڑا: ${issue2.origin??"ویلیو"} کے ${adj}${issue2.maximum.toString()} ${sizing.unit??"عناصر"} ہونے متوقع تھے`;return`بہت بڑا: ${issue2.origin??"ویلیو"} کا ${adj}${issue2.maximum.toString()} ہونا متوقع تھا`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing)return`بہت چھوٹا: ${issue2.origin} کے ${adj}${issue2.minimum.toString()} ${sizing.unit} ہونے متوقع تھے`;return`بہت چھوٹا: ${issue2.origin} کا ${adj}${issue2.minimum.toString()} ہونا متوقع تھا`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`غلط سٹرنگ: "${_issue.prefix}" سے شروع ہونا چاہیے`;if(_issue.format==="ends_with")return`غلط سٹرنگ: "${_issue.suffix}" پر ختم ہونا چاہیے`;if(_issue.format==="includes")return`غلط سٹرنگ: "${_issue.includes}" شامل ہونا چاہیے`;if(_issue.format==="regex")return`غلط سٹرنگ: پیٹرن ${_issue.pattern} سے میچ ہونا چاہیے`;return`غلط ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`غلط نمبر: ${issue2.divisor} کا مضاعف ہونا چاہیے`;case"unrecognized_keys":return`غیر تسلیم شدہ کی${issue2.keys.length>1?"ز":""}: ${joinValues(issue2.keys,"، ")}`;case"invalid_key":return`${issue2.origin} میں غلط کی`;case"invalid_union":return"غلط ان پٹ";case"invalid_element":return`${issue2.origin} میں غلط ویلیو`;default:return"غلط ان پٹ"}}};var init_ur=__esm(()=>{init_util()});function uz_default(){return{localeError:error46()}}var error46=()=>{let Sizable={string:{unit:"belgi",verb:"bo‘lishi kerak"},file:{unit:"bayt",verb:"bo‘lishi kerak"},array:{unit:"element",verb:"bo‘lishi kerak"},set:{unit:"element",verb:"bo‘lishi kerak"},map:{unit:"yozuv",verb:"bo‘lishi kerak"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"kirish",email:"elektron pochta manzili",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO sana va vaqti",date:"ISO sana",time:"ISO vaqt",duration:"ISO davomiylik",ipv4:"IPv4 manzil",ipv6:"IPv6 manzil",mac:"MAC manzil",cidrv4:"IPv4 diapazon",cidrv6:"IPv6 diapazon",base64:"base64 kodlangan satr",base64url:"base64url kodlangan satr",json_string:"JSON satr",e164:"E.164 raqam",jwt:"JWT",template_literal:"kirish"},TypeDictionary={nan:"NaN",number:"raqam",array:"massiv"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`Noto‘g‘ri kirish: kutilgan instanceof ${issue2.expected}, qabul qilingan ${received}`;return`Noto‘g‘ri kirish: kutilgan ${expected}, qabul qilingan ${received}`}case"invalid_value":if(issue2.values.length===1)return`Noto‘g‘ri kirish: kutilgan ${stringifyPrimitive(issue2.values[0])}`;return`Noto‘g‘ri variant: quyidagilardan biri kutilgan ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing)return`Juda katta: kutilgan ${issue2.origin??"qiymat"} ${adj}${issue2.maximum.toString()} ${sizing.unit} ${sizing.verb}`;return`Juda katta: kutilgan ${issue2.origin??"qiymat"} ${adj}${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing)return`Juda kichik: kutilgan ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit} ${sizing.verb}`;return`Juda kichik: kutilgan ${issue2.origin} ${adj}${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`Noto‘g‘ri satr: "${_issue.prefix}" bilan boshlanishi kerak`;if(_issue.format==="ends_with")return`Noto‘g‘ri satr: "${_issue.suffix}" bilan tugashi kerak`;if(_issue.format==="includes")return`Noto‘g‘ri satr: "${_issue.includes}" ni o‘z ichiga olishi kerak`;if(_issue.format==="regex")return`Noto‘g‘ri satr: ${_issue.pattern} shabloniga mos kelishi kerak`;return`Noto‘g‘ri ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`Noto‘g‘ri raqam: ${issue2.divisor} ning karralisi bo‘lishi kerak`;case"unrecognized_keys":return`Noma’lum kalit${issue2.keys.length>1?"lar":""}: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`${issue2.origin} dagi kalit noto‘g‘ri`;case"invalid_union":return"Noto‘g‘ri kirish";case"invalid_element":return`${issue2.origin} da noto‘g‘ri qiymat`;default:return"Noto‘g‘ri kirish"}}};var init_uz=__esm(()=>{init_util()});function vi_default(){return{localeError:error47()}}var error47=()=>{let Sizable={string:{unit:"ký tự",verb:"có"},file:{unit:"byte",verb:"có"},array:{unit:"phần tử",verb:"có"},set:{unit:"phần tử",verb:"có"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"đầu vào",email:"địa chỉ email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ngày giờ ISO",date:"ngày ISO",time:"giờ ISO",duration:"khoảng thời gian ISO",ipv4:"địa chỉ IPv4",ipv6:"địa chỉ IPv6",cidrv4:"dải IPv4",cidrv6:"dải IPv6",base64:"chuỗi mã hóa base64",base64url:"chuỗi mã hóa base64url",json_string:"chuỗi JSON",e164:"số E.164",jwt:"JWT",template_literal:"đầu vào"},TypeDictionary={nan:"NaN",number:"số",array:"mảng"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`Đầu vào không hợp lệ: mong đợi instanceof ${issue2.expected}, nhận được ${received}`;return`Đầu vào không hợp lệ: mong đợi ${expected}, nhận được ${received}`}case"invalid_value":if(issue2.values.length===1)return`Đầu vào không hợp lệ: mong đợi ${stringifyPrimitive(issue2.values[0])}`;return`Tùy chọn không hợp lệ: mong đợi một trong các giá trị ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing)return`Quá lớn: mong đợi ${issue2.origin??"giá trị"} ${sizing.verb} ${adj}${issue2.maximum.toString()} ${sizing.unit??"phần tử"}`;return`Quá lớn: mong đợi ${issue2.origin??"giá trị"} ${adj}${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing)return`Quá nhỏ: mong đợi ${issue2.origin} ${sizing.verb} ${adj}${issue2.minimum.toString()} ${sizing.unit}`;return`Quá nhỏ: mong đợi ${issue2.origin} ${adj}${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`Chuỗi không hợp lệ: phải bắt đầu bằng "${_issue.prefix}"`;if(_issue.format==="ends_with")return`Chuỗi không hợp lệ: phải kết thúc bằng "${_issue.suffix}"`;if(_issue.format==="includes")return`Chuỗi không hợp lệ: phải bao gồm "${_issue.includes}"`;if(_issue.format==="regex")return`Chuỗi không hợp lệ: phải khớp với mẫu ${_issue.pattern}`;return`${FormatDictionary[_issue.format]??issue2.format} không hợp lệ`}case"not_multiple_of":return`Số không hợp lệ: phải là bội số của ${issue2.divisor}`;case"unrecognized_keys":return`Khóa không được nhận dạng: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`Khóa không hợp lệ trong ${issue2.origin}`;case"invalid_union":return"Đầu vào không hợp lệ";case"invalid_element":return`Giá trị không hợp lệ trong ${issue2.origin}`;default:return"Đầu vào không hợp lệ"}}};var init_vi=__esm(()=>{init_util()});function zh_CN_default(){return{localeError:error48()}}var error48=()=>{let Sizable={string:{unit:"字符",verb:"包含"},file:{unit:"字节",verb:"包含"},array:{unit:"项",verb:"包含"},set:{unit:"项",verb:"包含"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"输入",email:"电子邮件",url:"URL",emoji:"表情符号",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO日期时间",date:"ISO日期",time:"ISO时间",duration:"ISO时长",ipv4:"IPv4地址",ipv6:"IPv6地址",cidrv4:"IPv4网段",cidrv6:"IPv6网段",base64:"base64编码字符串",base64url:"base64url编码字符串",json_string:"JSON字符串",e164:"E.164号码",jwt:"JWT",template_literal:"输入"},TypeDictionary={nan:"NaN",number:"数字",array:"数组",null:"空值(null)"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`无效输入:期望 instanceof ${issue2.expected},实际接收 ${received}`;return`无效输入:期望 ${expected},实际接收 ${received}`}case"invalid_value":if(issue2.values.length===1)return`无效输入:期望 ${stringifyPrimitive(issue2.values[0])}`;return`无效选项:期望以下之一 ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing)return`数值过大:期望 ${issue2.origin??"值"} ${adj}${issue2.maximum.toString()} ${sizing.unit??"个元素"}`;return`数值过大:期望 ${issue2.origin??"值"} ${adj}${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing)return`数值过小:期望 ${issue2.origin} ${adj}${issue2.minimum.toString()} ${sizing.unit}`;return`数值过小:期望 ${issue2.origin} ${adj}${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`无效字符串:必须以 "${_issue.prefix}" 开头`;if(_issue.format==="ends_with")return`无效字符串:必须以 "${_issue.suffix}" 结尾`;if(_issue.format==="includes")return`无效字符串:必须包含 "${_issue.includes}"`;if(_issue.format==="regex")return`无效字符串:必须满足正则表达式 ${_issue.pattern}`;return`无效${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`无效数字:必须是 ${issue2.divisor} 的倍数`;case"unrecognized_keys":return`出现未知的键(key): ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`${issue2.origin} 中的键(key)无效`;case"invalid_union":return"无效输入";case"invalid_element":return`${issue2.origin} 中包含无效值(value)`;default:return"无效输入"}}};var init_zh_CN=__esm(()=>{init_util()});function zh_TW_default(){return{localeError:error49()}}var error49=()=>{let Sizable={string:{unit:"字元",verb:"擁有"},file:{unit:"位元組",verb:"擁有"},array:{unit:"項目",verb:"擁有"},set:{unit:"項目",verb:"擁有"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"輸入",email:"郵件地址",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO 日期時間",date:"ISO 日期",time:"ISO 時間",duration:"ISO 期間",ipv4:"IPv4 位址",ipv6:"IPv6 位址",cidrv4:"IPv4 範圍",cidrv6:"IPv6 範圍",base64:"base64 編碼字串",base64url:"base64url 編碼字串",json_string:"JSON 字串",e164:"E.164 數值",jwt:"JWT",template_literal:"輸入"},TypeDictionary={nan:"NaN"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`無效的輸入值:預期為 instanceof ${issue2.expected},但收到 ${received}`;return`無效的輸入值:預期為 ${expected},但收到 ${received}`}case"invalid_value":if(issue2.values.length===1)return`無效的輸入值:預期為 ${stringifyPrimitive(issue2.values[0])}`;return`無效的選項:預期為以下其中之一 ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing)return`數值過大:預期 ${issue2.origin??"值"} 應為 ${adj}${issue2.maximum.toString()} ${sizing.unit??"個元素"}`;return`數值過大:預期 ${issue2.origin??"值"} 應為 ${adj}${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing)return`數值過小:預期 ${issue2.origin} 應為 ${adj}${issue2.minimum.toString()} ${sizing.unit}`;return`數值過小:預期 ${issue2.origin} 應為 ${adj}${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`無效的字串:必須以 "${_issue.prefix}" 開頭`;if(_issue.format==="ends_with")return`無效的字串:必須以 "${_issue.suffix}" 結尾`;if(_issue.format==="includes")return`無效的字串:必須包含 "${_issue.includes}"`;if(_issue.format==="regex")return`無效的字串:必須符合格式 ${_issue.pattern}`;return`無效的 ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`無效的數字:必須為 ${issue2.divisor} 的倍數`;case"unrecognized_keys":return`無法識別的鍵值${issue2.keys.length>1?"們":""}:${joinValues(issue2.keys,"、")}`;case"invalid_key":return`${issue2.origin} 中有無效的鍵值`;case"invalid_union":return"無效的輸入值";case"invalid_element":return`${issue2.origin} 中有無效的值`;default:return"無效的輸入值"}}};var init_zh_TW=__esm(()=>{init_util()});function yo_default(){return{localeError:error50()}}var error50=()=>{let Sizable={string:{unit:"àmi",verb:"ní"},file:{unit:"bytes",verb:"ní"},array:{unit:"nkan",verb:"ní"},set:{unit:"nkan",verb:"ní"}};function getSizing(origin){return Sizable[origin]??null}let FormatDictionary={regex:"ẹ̀rọ ìbáwọlé",email:"àdírẹ́sì ìmẹ́lì",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"àkókò ISO",date:"ọjọ́ ISO",time:"àkókò ISO",duration:"àkókò tó pé ISO",ipv4:"àdírẹ́sì IPv4",ipv6:"àdírẹ́sì IPv6",cidrv4:"àgbègbè IPv4",cidrv6:"àgbègbè IPv6",base64:"ọ̀rọ̀ tí a kọ́ ní base64",base64url:"ọ̀rọ̀ base64url",json_string:"ọ̀rọ̀ JSON",e164:"nọ́mbà E.164",jwt:"JWT",template_literal:"ẹ̀rọ ìbáwọlé"},TypeDictionary={nan:"NaN",number:"nọ́mbà",array:"akopọ"};return(issue2)=>{switch(issue2.code){case"invalid_type":{let expected=TypeDictionary[issue2.expected]??issue2.expected,receivedType=parsedType(issue2.input),received=TypeDictionary[receivedType]??receivedType;if(/^[A-Z]/.test(issue2.expected))return`Ìbáwọlé aṣìṣe: a ní láti fi instanceof ${issue2.expected}, àmọ̀ a rí ${received}`;return`Ìbáwọlé aṣìṣe: a ní láti fi ${expected}, àmọ̀ a rí ${received}`}case"invalid_value":if(issue2.values.length===1)return`Ìbáwọlé aṣìṣe: a ní láti fi ${stringifyPrimitive(issue2.values[0])}`;return`Àṣàyàn aṣìṣe: yan ọ̀kan lára ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);if(sizing)return`Tó pọ̀ jù: a ní láti jẹ́ pé ${issue2.origin??"iye"} ${sizing.verb} ${adj}${issue2.maximum} ${sizing.unit}`;return`Tó pọ̀ jù: a ní láti jẹ́ ${adj}${issue2.maximum}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);if(sizing)return`Kéré ju: a ní láti jẹ́ pé ${issue2.origin} ${sizing.verb} ${adj}${issue2.minimum} ${sizing.unit}`;return`Kéré ju: a ní láti jẹ́ ${adj}${issue2.minimum}`}case"invalid_format":{let _issue=issue2;if(_issue.format==="starts_with")return`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ bẹ̀rẹ̀ pẹ̀lú "${_issue.prefix}"`;if(_issue.format==="ends_with")return`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ parí pẹ̀lú "${_issue.suffix}"`;if(_issue.format==="includes")return`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ ní "${_issue.includes}"`;if(_issue.format==="regex")return`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ bá àpẹẹrẹ mu ${_issue.pattern}`;return`Aṣìṣe: ${FormatDictionary[_issue.format]??issue2.format}`}case"not_multiple_of":return`Nọ́mbà aṣìṣe: gbọ́dọ̀ jẹ́ èyà pípín ti ${issue2.divisor}`;case"unrecognized_keys":return`Bọtìnì àìmọ̀: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`Bọtìnì aṣìṣe nínú ${issue2.origin}`;case"invalid_union":return"Ìbáwọlé aṣìṣe";case"invalid_element":return`Iye aṣìṣe nínú ${issue2.origin}`;default:return"Ìbáwọlé aṣìṣe"}}};var init_yo=__esm(()=>{init_util()});var exports_locales={};__export(exports_locales,{zhTW:()=>zh_TW_default,zhCN:()=>zh_CN_default,yo:()=>yo_default,vi:()=>vi_default,uz:()=>uz_default,ur:()=>ur_default,uk:()=>uk_default,ua:()=>ua_default,tr:()=>tr_default,th:()=>th_default,ta:()=>ta_default,sv:()=>sv_default,sl:()=>sl_default,ru:()=>ru_default,ro:()=>ro_default,pt:()=>pt_default,ps:()=>ps_default,pl:()=>pl_default,ota:()=>ota_default,no:()=>no_default,nl:()=>nl_default,ms:()=>ms_default,mk:()=>mk_default,lt:()=>lt_default,ko:()=>ko_default,km:()=>km_default,kh:()=>kh_default,ka:()=>ka_default,ja:()=>ja_default,it:()=>it_default,is:()=>is_default,id:()=>id_default,hy:()=>hy_default,hu:()=>hu_default,hr:()=>hr_default,he:()=>he_default,frCA:()=>fr_CA_default,fr:()=>fr_default,fi:()=>fi_default,fa:()=>fa_default,es:()=>es_default,eo:()=>eo_default,en:()=>en_default,el:()=>el_default,de:()=>de_default,da:()=>da_default,cs:()=>cs_default,ca:()=>ca_default,bg:()=>bg_default,be:()=>be_default,az:()=>az_default,ar:()=>ar_default});var init_locales=__esm(()=>{init_ar();init_az();init_be();init_bg();init_ca();init_cs();init_da();init_de();init_el();init_en();init_eo();init_es();init_fa();init_fi();init_fr();init_fr_CA();init_he();init_hr();init_hu();init_hy();init_id();init_is();init_it();init_ja();init_ka();init_kh();init_km();init_ko();init_lt();init_mk();init_ms();init_nl();init_no();init_ota();init_ps();init_pl();init_pt();init_ro();init_ru();init_sl();init_sv();init_ta();init_th();init_tr();init_ua();init_uk();init_ur();init_uz();init_vi();init_zh_CN();init_zh_TW();init_yo()});class $ZodRegistry{constructor(){this._map=new WeakMap,this._idmap=new Map}add(schema,..._meta){let meta=_meta[0];if(this._map.set(schema,meta),meta&&typeof meta==="object"&&"id"in meta)this._idmap.set(meta.id,schema);return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(schema){let meta=this._map.get(schema);if(meta&&typeof meta==="object"&&"id"in meta)this._idmap.delete(meta.id);return this._map.delete(schema),this}get(schema){let p=schema._zod.parent;if(p){let pm={...this.get(p)??{}};delete pm.id;let f={...pm,...this._map.get(schema)};return Object.keys(f).length?f:void 0}return this._map.get(schema)}has(schema){return this._map.has(schema)}}function registry(){return new $ZodRegistry}var _a2,$output,$input,globalRegistry;var init_registries=__esm(()=>{$output=Symbol("ZodOutput"),$input=Symbol("ZodInput");(_a2=globalThis).__zod_globalRegistry??(_a2.__zod_globalRegistry=registry());globalRegistry=globalThis.__zod_globalRegistry});function _string(Class2,params){return new Class2({type:"string",...normalizeParams(params)})}function _coercedString(Class2,params){return new Class2({type:"string",coerce:!0,...normalizeParams(params)})}function _email(Class2,params){return new Class2({type:"string",format:"email",check:"string_format",abort:!1,...normalizeParams(params)})}function _guid(Class2,params){return new Class2({type:"string",format:"guid",check:"string_format",abort:!1,...normalizeParams(params)})}function _uuid(Class2,params){return new Class2({type:"string",format:"uuid",check:"string_format",abort:!1,...normalizeParams(params)})}function _uuidv4(Class2,params){return new Class2({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...normalizeParams(params)})}function _uuidv6(Class2,params){return new Class2({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...normalizeParams(params)})}function _uuidv7(Class2,params){return new Class2({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...normalizeParams(params)})}function _url(Class2,params){return new Class2({type:"string",format:"url",check:"string_format",abort:!1,...normalizeParams(params)})}function _emoji2(Class2,params){return new Class2({type:"string",format:"emoji",check:"string_format",abort:!1,...normalizeParams(params)})}function _nanoid(Class2,params){return new Class2({type:"string",format:"nanoid",check:"string_format",abort:!1,...normalizeParams(params)})}function _cuid(Class2,params){return new Class2({type:"string",format:"cuid",check:"string_format",abort:!1,...normalizeParams(params)})}function _cuid2(Class2,params){return new Class2({type:"string",format:"cuid2",check:"string_format",abort:!1,...normalizeParams(params)})}function _ulid(Class2,params){return new Class2({type:"string",format:"ulid",check:"string_format",abort:!1,...normalizeParams(params)})}function _xid(Class2,params){return new Class2({type:"string",format:"xid",check:"string_format",abort:!1,...normalizeParams(params)})}function _ksuid(Class2,params){return new Class2({type:"string",format:"ksuid",check:"string_format",abort:!1,...normalizeParams(params)})}function _ipv4(Class2,params){return new Class2({type:"string",format:"ipv4",check:"string_format",abort:!1,...normalizeParams(params)})}function _ipv6(Class2,params){return new Class2({type:"string",format:"ipv6",check:"string_format",abort:!1,...normalizeParams(params)})}function _mac(Class2,params){return new Class2({type:"string",format:"mac",check:"string_format",abort:!1,...normalizeParams(params)})}function _cidrv4(Class2,params){return new Class2({type:"string",format:"cidrv4",check:"string_format",abort:!1,...normalizeParams(params)})}function _cidrv6(Class2,params){return new Class2({type:"string",format:"cidrv6",check:"string_format",abort:!1,...normalizeParams(params)})}function _base64(Class2,params){return new Class2({type:"string",format:"base64",check:"string_format",abort:!1,...normalizeParams(params)})}function _base64url(Class2,params){return new Class2({type:"string",format:"base64url",check:"string_format",abort:!1,...normalizeParams(params)})}function _e164(Class2,params){return new Class2({type:"string",format:"e164",check:"string_format",abort:!1,...normalizeParams(params)})}function _jwt(Class2,params){return new Class2({type:"string",format:"jwt",check:"string_format",abort:!1,...normalizeParams(params)})}function _isoDateTime(Class2,params){return new Class2({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...normalizeParams(params)})}function _isoDate(Class2,params){return new Class2({type:"string",format:"date",check:"string_format",...normalizeParams(params)})}function _isoTime(Class2,params){return new Class2({type:"string",format:"time",check:"string_format",precision:null,...normalizeParams(params)})}function _isoDuration(Class2,params){return new Class2({type:"string",format:"duration",check:"string_format",...normalizeParams(params)})}function _number(Class2,params){return new Class2({type:"number",checks:[],...normalizeParams(params)})}function _coercedNumber(Class2,params){return new Class2({type:"number",coerce:!0,checks:[],...normalizeParams(params)})}function _int(Class2,params){return new Class2({type:"number",check:"number_format",abort:!1,format:"safeint",...normalizeParams(params)})}function _float32(Class2,params){return new Class2({type:"number",check:"number_format",abort:!1,format:"float32",...normalizeParams(params)})}function _float64(Class2,params){return new Class2({type:"number",check:"number_format",abort:!1,format:"float64",...normalizeParams(params)})}function _int32(Class2,params){return new Class2({type:"number",check:"number_format",abort:!1,format:"int32",...normalizeParams(params)})}function _uint32(Class2,params){return new Class2({type:"number",check:"number_format",abort:!1,format:"uint32",...normalizeParams(params)})}function _boolean(Class2,params){return new Class2({type:"boolean",...normalizeParams(params)})}function _coercedBoolean(Class2,params){return new Class2({type:"boolean",coerce:!0,...normalizeParams(params)})}function _bigint(Class2,params){return new Class2({type:"bigint",...normalizeParams(params)})}function _coercedBigint(Class2,params){return new Class2({type:"bigint",coerce:!0,...normalizeParams(params)})}function _int64(Class2,params){return new Class2({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...normalizeParams(params)})}function _uint64(Class2,params){return new Class2({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...normalizeParams(params)})}function _symbol(Class2,params){return new Class2({type:"symbol",...normalizeParams(params)})}function _undefined2(Class2,params){return new Class2({type:"undefined",...normalizeParams(params)})}function _null2(Class2,params){return new Class2({type:"null",...normalizeParams(params)})}function _any(Class2){return new Class2({type:"any"})}function _unknown(Class2){return new Class2({type:"unknown"})}function _never(Class2,params){return new Class2({type:"never",...normalizeParams(params)})}function _void(Class2,params){return new Class2({type:"void",...normalizeParams(params)})}function _date(Class2,params){return new Class2({type:"date",...normalizeParams(params)})}function _coercedDate(Class2,params){return new Class2({type:"date",coerce:!0,...normalizeParams(params)})}function _nan(Class2,params){return new Class2({type:"nan",...normalizeParams(params)})}function _lt(value,params){return new $ZodCheckLessThan({check:"less_than",...normalizeParams(params),value,inclusive:!1})}function _lte(value,params){return new $ZodCheckLessThan({check:"less_than",...normalizeParams(params),value,inclusive:!0})}function _gt(value,params){return new $ZodCheckGreaterThan({check:"greater_than",...normalizeParams(params),value,inclusive:!1})}function _gte(value,params){return new $ZodCheckGreaterThan({check:"greater_than",...normalizeParams(params),value,inclusive:!0})}function _positive(params){return _gt(0,params)}function _negative(params){return _lt(0,params)}function _nonpositive(params){return _lte(0,params)}function _nonnegative(params){return _gte(0,params)}function _multipleOf(value,params){return new $ZodCheckMultipleOf({check:"multiple_of",...normalizeParams(params),value})}function _maxSize(maximum,params){return new $ZodCheckMaxSize({check:"max_size",...normalizeParams(params),maximum})}function _minSize(minimum,params){return new $ZodCheckMinSize({check:"min_size",...normalizeParams(params),minimum})}function _size(size,params){return new $ZodCheckSizeEquals({check:"size_equals",...normalizeParams(params),size})}function _maxLength(maximum,params){return new $ZodCheckMaxLength({check:"max_length",...normalizeParams(params),maximum})}function _minLength(minimum,params){return new $ZodCheckMinLength({check:"min_length",...normalizeParams(params),minimum})}function _length(length,params){return new $ZodCheckLengthEquals({check:"length_equals",...normalizeParams(params),length})}function _regex(pattern,params){return new $ZodCheckRegex({check:"string_format",format:"regex",...normalizeParams(params),pattern})}function _lowercase(params){return new $ZodCheckLowerCase({check:"string_format",format:"lowercase",...normalizeParams(params)})}function _uppercase(params){return new $ZodCheckUpperCase({check:"string_format",format:"uppercase",...normalizeParams(params)})}function _includes(includes,params){return new $ZodCheckIncludes({check:"string_format",format:"includes",...normalizeParams(params),includes})}function _startsWith(prefix,params){return new $ZodCheckStartsWith({check:"string_format",format:"starts_with",...normalizeParams(params),prefix})}function _endsWith(suffix,params){return new $ZodCheckEndsWith({check:"string_format",format:"ends_with",...normalizeParams(params),suffix})}function _property(property,schema,params){return new $ZodCheckProperty({check:"property",property,schema,...normalizeParams(params)})}function _mime(types,params){return new $ZodCheckMimeType({check:"mime_type",mime:types,...normalizeParams(params)})}function _overwrite(tx){return new $ZodCheckOverwrite({check:"overwrite",tx})}function _normalize(form){return _overwrite((input)=>input.normalize(form))}function _trim(){return _overwrite((input)=>input.trim())}function _toLowerCase(){return _overwrite((input)=>input.toLowerCase())}function _toUpperCase(){return _overwrite((input)=>input.toUpperCase())}function _slugify(){return _overwrite((input)=>slugify(input))}function _array(Class2,element,params){return new Class2({type:"array",element,...normalizeParams(params)})}function _union(Class2,options,params){return new Class2({type:"union",options,...normalizeParams(params)})}function _xor(Class2,options,params){return new Class2({type:"union",options,inclusive:!1,...normalizeParams(params)})}function _discriminatedUnion(Class2,discriminator,options,params){return new Class2({type:"union",options,discriminator,...normalizeParams(params)})}function _intersection(Class2,left,right){return new Class2({type:"intersection",left,right})}function _tuple(Class2,items,_paramsOrRest,_params){let hasRest=_paramsOrRest instanceof $ZodType;return new Class2({type:"tuple",items,rest:hasRest?_paramsOrRest:null,...normalizeParams(hasRest?_params:_paramsOrRest)})}function _record(Class2,keyType,valueType,params){return new Class2({type:"record",keyType,valueType,...normalizeParams(params)})}function _map(Class2,keyType,valueType,params){return new Class2({type:"map",keyType,valueType,...normalizeParams(params)})}function _set(Class2,valueType,params){return new Class2({type:"set",valueType,...normalizeParams(params)})}function _enum(Class2,values,params){let entries=Array.isArray(values)?Object.fromEntries(values.map((v)=>[v,v])):values;return new Class2({type:"enum",entries,...normalizeParams(params)})}function _nativeEnum(Class2,entries,params){return new Class2({type:"enum",entries,...normalizeParams(params)})}function _literal(Class2,value,params){return new Class2({type:"literal",values:Array.isArray(value)?value:[value],...normalizeParams(params)})}function _file(Class2,params){return new Class2({type:"file",...normalizeParams(params)})}function _transform(Class2,fn){return new Class2({type:"transform",transform:fn})}function _optional(Class2,innerType){return new Class2({type:"optional",innerType})}function _nullable(Class2,innerType){return new Class2({type:"nullable",innerType})}function _default(Class2,innerType,defaultValue){return new Class2({type:"default",innerType,get defaultValue(){return typeof defaultValue==="function"?defaultValue():shallowClone(defaultValue)}})}function _nonoptional(Class2,innerType,params){return new Class2({type:"nonoptional",innerType,...normalizeParams(params)})}function _success(Class2,innerType){return new Class2({type:"success",innerType})}function _catch(Class2,innerType,catchValue){return new Class2({type:"catch",innerType,catchValue:typeof catchValue==="function"?catchValue:()=>catchValue})}function _pipe(Class2,in_,out){return new Class2({type:"pipe",in:in_,out})}function _readonly(Class2,innerType){return new Class2({type:"readonly",innerType})}function _templateLiteral(Class2,parts,params){return new Class2({type:"template_literal",parts,...normalizeParams(params)})}function _lazy(Class2,getter){return new Class2({type:"lazy",getter})}function _promise(Class2,innerType){return new Class2({type:"promise",innerType})}function _custom(Class2,fn,_params){let norm=normalizeParams(_params);return norm.abort??(norm.abort=!0),new Class2({type:"custom",check:"custom",fn,...norm})}function _refine(Class2,fn,_params){return new Class2({type:"custom",check:"custom",fn,...normalizeParams(_params)})}function _superRefine(fn,params){let ch=_check((payload)=>{return payload.addIssue=(issue2)=>{if(typeof issue2==="string")payload.issues.push(issue(issue2,payload.value,ch._zod.def));else{let _issue=issue2;if(_issue.fatal)_issue.continue=!1;_issue.code??(_issue.code="custom"),_issue.input??(_issue.input=payload.value),_issue.inst??(_issue.inst=ch),_issue.continue??(_issue.continue=!ch._zod.def.abort),payload.issues.push(issue(_issue))}},fn(payload.value,payload)},params);return ch}function _check(fn,params){let ch=new $ZodCheck({check:"custom",...normalizeParams(params)});return ch._zod.check=fn,ch}function describe(description){let ch=new $ZodCheck({check:"describe"});return ch._zod.onattach=[(inst)=>{let existing=globalRegistry.get(inst)??{};globalRegistry.add(inst,{...existing,description})}],ch._zod.check=()=>{},ch}function meta(metadata){let ch=new $ZodCheck({check:"meta"});return ch._zod.onattach=[(inst)=>{let existing=globalRegistry.get(inst)??{};globalRegistry.add(inst,{...existing,...metadata})}],ch._zod.check=()=>{},ch}function _stringbool(Classes,_params){let params=normalizeParams(_params),truthyArray=params.truthy??["true","1","yes","on","y","enabled"],falsyArray=params.falsy??["false","0","no","off","n","disabled"];if(params.case!=="sensitive")truthyArray=truthyArray.map((v)=>typeof v==="string"?v.toLowerCase():v),falsyArray=falsyArray.map((v)=>typeof v==="string"?v.toLowerCase():v);let truthySet=new Set(truthyArray),falsySet=new Set(falsyArray),_Codec=Classes.Codec??$ZodCodec,_Boolean=Classes.Boolean??$ZodBoolean,stringSchema=new(Classes.String??$ZodString)({type:"string",error:params.error}),booleanSchema=new _Boolean({type:"boolean",error:params.error}),codec=new _Codec({type:"pipe",in:stringSchema,out:booleanSchema,transform:(input,payload)=>{let data=input;if(params.case!=="sensitive")data=data.toLowerCase();if(truthySet.has(data))return!0;else if(falsySet.has(data))return!1;else return payload.issues.push({code:"invalid_value",expected:"stringbool",values:[...truthySet,...falsySet],input:payload.value,inst:codec,continue:!1}),{}},reverseTransform:(input,_payload)=>{if(input===!0)return truthyArray[0]||"true";else return falsyArray[0]||"false"},error:params.error});return codec}function _stringFormat(Class2,format,fnOrRegex,_params={}){let params=normalizeParams(_params),def={...normalizeParams(_params),check:"string_format",type:"string",format,fn:typeof fnOrRegex==="function"?fnOrRegex:(val)=>fnOrRegex.test(val),...params};if(fnOrRegex instanceof RegExp)def.pattern=fnOrRegex;return new Class2(def)}var TimePrecision;var init_api=__esm(()=>{init_checks();init_registries();init_schemas();init_util();TimePrecision={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6}});function initializeContext(params){let target=params?.target??"draft-2020-12";if(target==="draft-4")target="draft-04";if(target==="draft-7")target="draft-07";return{processors:params.processors??{},metadataRegistry:params?.metadata??globalRegistry,target,unrepresentable:params?.unrepresentable??"throw",override:params?.override??(()=>{}),io:params?.io??"output",counter:0,seen:new Map,cycles:params?.cycles??"ref",reused:params?.reused??"inline",external:params?.external??void 0}}function process2(schema,ctx,_params={path:[],schemaPath:[]}){var _a3;let def=schema._zod.def,seen=ctx.seen.get(schema);if(seen){if(seen.count++,_params.schemaPath.includes(schema))seen.cycle=_params.path;return seen.schema}let result={schema:{},count:1,cycle:void 0,path:_params.path};ctx.seen.set(schema,result);let overrideSchema=schema._zod.toJSONSchema?.();if(overrideSchema)result.schema=overrideSchema;else{let params={..._params,schemaPath:[..._params.schemaPath,schema],path:_params.path};if(schema._zod.processJSONSchema)schema._zod.processJSONSchema(ctx,result.schema,params);else{let _json=result.schema,processor=ctx.processors[def.type];if(!processor)throw Error(`[toJSONSchema]: Non-representable type encountered: ${def.type}`);processor(schema,ctx,_json,params)}let parent=schema._zod.parent;if(parent){if(!result.ref)result.ref=parent;process2(parent,ctx,params),ctx.seen.get(parent).isParent=!0}}let meta2=ctx.metadataRegistry.get(schema);if(meta2)Object.assign(result.schema,meta2);if(ctx.io==="input"&&isTransforming(schema))delete result.schema.examples,delete result.schema.default;if(ctx.io==="input"&&"_prefault"in result.schema)(_a3=result.schema).default??(_a3.default=result.schema._prefault);return delete result.schema._prefault,ctx.seen.get(schema).schema}function extractDefs(ctx,schema){let root=ctx.seen.get(schema);if(!root)throw Error("Unprocessed schema. This is a bug in Zod.");let idToSchema=new Map;for(let entry of ctx.seen.entries()){let id=ctx.metadataRegistry.get(entry[0])?.id;if(id){let existing=idToSchema.get(id);if(existing&&existing!==entry[0])throw Error(`Duplicate schema id "${id}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);idToSchema.set(id,entry[0])}}let makeURI=(entry)=>{let defsSegment=ctx.target==="draft-2020-12"?"$defs":"definitions";if(ctx.external){let externalId=ctx.external.registry.get(entry[0])?.id,uriGenerator=ctx.external.uri??((id2)=>id2);if(externalId)return{ref:uriGenerator(externalId)};let id=entry[1].defId??entry[1].schema.id??`schema${ctx.counter++}`;return entry[1].defId=id,{defId:id,ref:`${uriGenerator("__shared")}#/${defsSegment}/${id}`}}if(entry[1]===root)return{ref:"#"};let defUriPrefix=`${"#"}/${defsSegment}/`,defId=entry[1].schema.id??`__schema${ctx.counter++}`;return{defId,ref:defUriPrefix+defId}},extractToDef=(entry)=>{if(entry[1].schema.$ref)return;let seen=entry[1],{ref,defId}=makeURI(entry);if(seen.def={...seen.schema},defId)seen.defId=defId;let schema2=seen.schema;for(let key in schema2)delete schema2[key];schema2.$ref=ref};if(ctx.cycles==="throw")for(let entry of ctx.seen.entries()){let seen=entry[1];if(seen.cycle)throw Error(`Cycle detected: #/${seen.cycle?.join("/")}/<root>
|
|
64
|
+
|
|
65
|
+
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let entry of ctx.seen.entries()){let seen=entry[1];if(schema===entry[0]){extractToDef(entry);continue}if(ctx.external){let ext=ctx.external.registry.get(entry[0])?.id;if(schema!==entry[0]&&ext){extractToDef(entry);continue}}if(ctx.metadataRegistry.get(entry[0])?.id){extractToDef(entry);continue}if(seen.cycle){extractToDef(entry);continue}if(seen.count>1){if(ctx.reused==="ref"){extractToDef(entry);continue}}}}function finalize(ctx,schema){let root=ctx.seen.get(schema);if(!root)throw Error("Unprocessed schema. This is a bug in Zod.");let flattenRef=(zodSchema)=>{let seen=ctx.seen.get(zodSchema);if(seen.ref===null)return;let schema2=seen.def??seen.schema,_cached={...schema2},ref=seen.ref;if(seen.ref=null,ref){flattenRef(ref);let refSeen=ctx.seen.get(ref),refSchema=refSeen.schema;if(refSchema.$ref&&(ctx.target==="draft-07"||ctx.target==="draft-04"||ctx.target==="openapi-3.0"))schema2.allOf=schema2.allOf??[],schema2.allOf.push(refSchema);else Object.assign(schema2,refSchema);if(Object.assign(schema2,_cached),zodSchema._zod.parent===ref)for(let key in schema2){if(key==="$ref"||key==="allOf")continue;if(!(key in _cached))delete schema2[key]}if(refSchema.$ref&&refSeen.def)for(let key in schema2){if(key==="$ref"||key==="allOf")continue;if(key in refSeen.def&&JSON.stringify(schema2[key])===JSON.stringify(refSeen.def[key]))delete schema2[key]}}let parent=zodSchema._zod.parent;if(parent&&parent!==ref){flattenRef(parent);let parentSeen=ctx.seen.get(parent);if(parentSeen?.schema.$ref){if(schema2.$ref=parentSeen.schema.$ref,parentSeen.def)for(let key in schema2){if(key==="$ref"||key==="allOf")continue;if(key in parentSeen.def&&JSON.stringify(schema2[key])===JSON.stringify(parentSeen.def[key]))delete schema2[key]}}}ctx.override({zodSchema,jsonSchema:schema2,path:seen.path??[]})};for(let entry of[...ctx.seen.entries()].reverse())flattenRef(entry[0]);let result={};if(ctx.target==="draft-2020-12")result.$schema="https://json-schema.org/draft/2020-12/schema";else if(ctx.target==="draft-07")result.$schema="http://json-schema.org/draft-07/schema#";else if(ctx.target==="draft-04")result.$schema="http://json-schema.org/draft-04/schema#";else if(ctx.target==="openapi-3.0");if(ctx.external?.uri){let id=ctx.external.registry.get(schema)?.id;if(!id)throw Error("Schema is missing an `id` property");result.$id=ctx.external.uri(id)}Object.assign(result,root.def??root.schema);let rootMetaId=ctx.metadataRegistry.get(schema)?.id;if(rootMetaId!==void 0&&result.id===rootMetaId)delete result.id;let defs=ctx.external?.defs??{};for(let entry of ctx.seen.entries()){let seen=entry[1];if(seen.def&&seen.defId){if(seen.def.id===seen.defId)delete seen.def.id;defs[seen.defId]=seen.def}}if(ctx.external);else if(Object.keys(defs).length>0)if(ctx.target==="draft-2020-12")result.$defs=defs;else result.definitions=defs;try{let finalized=JSON.parse(JSON.stringify(result));return Object.defineProperty(finalized,"~standard",{value:{...schema["~standard"],jsonSchema:{input:createStandardJSONSchemaMethod(schema,"input",ctx.processors),output:createStandardJSONSchemaMethod(schema,"output",ctx.processors)}},enumerable:!1,writable:!1}),finalized}catch(_err){throw Error("Error converting schema to JSON.")}}function isTransforming(_schema,_ctx){let ctx=_ctx??{seen:new Set};if(ctx.seen.has(_schema))return!1;ctx.seen.add(_schema);let def=_schema._zod.def;if(def.type==="transform")return!0;if(def.type==="array")return isTransforming(def.element,ctx);if(def.type==="set")return isTransforming(def.valueType,ctx);if(def.type==="lazy")return isTransforming(def.getter(),ctx);if(def.type==="promise"||def.type==="optional"||def.type==="nonoptional"||def.type==="nullable"||def.type==="readonly"||def.type==="default"||def.type==="prefault")return isTransforming(def.innerType,ctx);if(def.type==="intersection")return isTransforming(def.left,ctx)||isTransforming(def.right,ctx);if(def.type==="record"||def.type==="map")return isTransforming(def.keyType,ctx)||isTransforming(def.valueType,ctx);if(def.type==="pipe"){if(_schema._zod.traits.has("$ZodCodec"))return!0;return isTransforming(def.in,ctx)||isTransforming(def.out,ctx)}if(def.type==="object"){for(let key in def.shape)if(isTransforming(def.shape[key],ctx))return!0;return!1}if(def.type==="union"){for(let option of def.options)if(isTransforming(option,ctx))return!0;return!1}if(def.type==="tuple"){for(let item of def.items)if(isTransforming(item,ctx))return!0;if(def.rest&&isTransforming(def.rest,ctx))return!0;return!1}return!1}var createToJSONSchemaMethod=(schema,processors={})=>(params)=>{let ctx=initializeContext({...params,processors});return process2(schema,ctx),extractDefs(ctx,schema),finalize(ctx,schema)},createStandardJSONSchemaMethod=(schema,io,processors={})=>(params)=>{let{libraryOptions,target}=params??{},ctx=initializeContext({...libraryOptions??{},target,io,processors});return process2(schema,ctx),extractDefs(ctx,schema),finalize(ctx,schema)};var init_to_json_schema=__esm(()=>{init_registries()});function toJSONSchema(input,params){if("_idmap"in input){let registry2=input,ctx2=initializeContext({...params,processors:allProcessors}),defs={};for(let entry of registry2._idmap.entries()){let[_,schema]=entry;process2(schema,ctx2)}let schemas={},external={registry:registry2,uri:params?.uri,defs};ctx2.external=external;for(let entry of registry2._idmap.entries()){let[key,schema]=entry;extractDefs(ctx2,schema),schemas[key]=finalize(ctx2,schema)}if(Object.keys(defs).length>0){let defsSegment=ctx2.target==="draft-2020-12"?"$defs":"definitions";schemas.__shared={[defsSegment]:defs}}return{schemas}}let ctx=initializeContext({...params,processors:allProcessors});return process2(input,ctx),extractDefs(ctx,input),finalize(ctx,input)}var formatMap,stringProcessor=(schema,ctx,_json,_params)=>{let json=_json;json.type="string";let{minimum,maximum,format,patterns,contentEncoding}=schema._zod.bag;if(typeof minimum==="number")json.minLength=minimum;if(typeof maximum==="number")json.maxLength=maximum;if(format){if(json.format=formatMap[format]??format,json.format==="")delete json.format;if(format==="time")delete json.format}if(contentEncoding)json.contentEncoding=contentEncoding;if(patterns&&patterns.size>0){let regexes=[...patterns];if(regexes.length===1)json.pattern=regexes[0].source;else if(regexes.length>1)json.allOf=[...regexes.map((regex)=>({...ctx.target==="draft-07"||ctx.target==="draft-04"||ctx.target==="openapi-3.0"?{type:"string"}:{},pattern:regex.source}))]}},numberProcessor=(schema,ctx,_json,_params)=>{let json=_json,{minimum,maximum,format,multipleOf,exclusiveMaximum,exclusiveMinimum}=schema._zod.bag;if(typeof format==="string"&&format.includes("int"))json.type="integer";else json.type="number";let exMin=typeof exclusiveMinimum==="number"&&exclusiveMinimum>=(minimum??Number.NEGATIVE_INFINITY),exMax=typeof exclusiveMaximum==="number"&&exclusiveMaximum<=(maximum??Number.POSITIVE_INFINITY),legacy=ctx.target==="draft-04"||ctx.target==="openapi-3.0";if(exMin)if(legacy)json.minimum=exclusiveMinimum,json.exclusiveMinimum=!0;else json.exclusiveMinimum=exclusiveMinimum;else if(typeof minimum==="number")json.minimum=minimum;if(exMax)if(legacy)json.maximum=exclusiveMaximum,json.exclusiveMaximum=!0;else json.exclusiveMaximum=exclusiveMaximum;else if(typeof maximum==="number")json.maximum=maximum;if(typeof multipleOf==="number")json.multipleOf=multipleOf},booleanProcessor=(_schema,_ctx,json,_params)=>{json.type="boolean"},bigintProcessor=(_schema,ctx,_json,_params)=>{if(ctx.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},symbolProcessor=(_schema,ctx,_json,_params)=>{if(ctx.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},nullProcessor=(_schema,ctx,json,_params)=>{if(ctx.target==="openapi-3.0")json.type="string",json.nullable=!0,json.enum=[null];else json.type="null"},undefinedProcessor=(_schema,ctx,_json,_params)=>{if(ctx.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},voidProcessor=(_schema,ctx,_json,_params)=>{if(ctx.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},neverProcessor=(_schema,_ctx,json,_params)=>{json.not={}},anyProcessor=(_schema,_ctx,_json,_params)=>{},unknownProcessor=(_schema,_ctx,_json,_params)=>{},dateProcessor=(_schema,ctx,_json,_params)=>{if(ctx.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},enumProcessor=(schema,_ctx,json,_params)=>{let def=schema._zod.def,values=getEnumValues(def.entries);if(values.every((v)=>typeof v==="number"))json.type="number";if(values.every((v)=>typeof v==="string"))json.type="string";json.enum=values},literalProcessor=(schema,ctx,json,_params)=>{let def=schema._zod.def,vals=[];for(let val of def.values)if(val===void 0){if(ctx.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof val==="bigint")if(ctx.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else vals.push(Number(val));else vals.push(val);if(vals.length===0);else if(vals.length===1){let val=vals[0];if(json.type=val===null?"null":typeof val,ctx.target==="draft-04"||ctx.target==="openapi-3.0")json.enum=[val];else json.const=val}else{if(vals.every((v)=>typeof v==="number"))json.type="number";if(vals.every((v)=>typeof v==="string"))json.type="string";if(vals.every((v)=>typeof v==="boolean"))json.type="boolean";if(vals.every((v)=>v===null))json.type="null";json.enum=vals}},nanProcessor=(_schema,ctx,_json,_params)=>{if(ctx.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},templateLiteralProcessor=(schema,_ctx,json,_params)=>{let _json=json,pattern=schema._zod.pattern;if(!pattern)throw Error("Pattern not found in template literal");_json.type="string",_json.pattern=pattern.source},fileProcessor=(schema,_ctx,json,_params)=>{let _json=json,file={type:"string",format:"binary",contentEncoding:"binary"},{minimum,maximum,mime}=schema._zod.bag;if(minimum!==void 0)file.minLength=minimum;if(maximum!==void 0)file.maxLength=maximum;if(mime)if(mime.length===1)file.contentMediaType=mime[0],Object.assign(_json,file);else Object.assign(_json,file),_json.anyOf=mime.map((m)=>({contentMediaType:m}));else Object.assign(_json,file)},successProcessor=(_schema,_ctx,json,_params)=>{json.type="boolean"},customProcessor=(_schema,ctx,_json,_params)=>{if(ctx.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},functionProcessor=(_schema,ctx,_json,_params)=>{if(ctx.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},transformProcessor=(_schema,ctx,_json,_params)=>{if(ctx.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},mapProcessor=(_schema,ctx,_json,_params)=>{if(ctx.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},setProcessor=(_schema,ctx,_json,_params)=>{if(ctx.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},arrayProcessor=(schema,ctx,_json,params)=>{let json=_json,def=schema._zod.def,{minimum,maximum}=schema._zod.bag;if(typeof minimum==="number")json.minItems=minimum;if(typeof maximum==="number")json.maxItems=maximum;json.type="array",json.items=process2(def.element,ctx,{...params,path:[...params.path,"items"]})},objectProcessor=(schema,ctx,_json,params)=>{let json=_json,def=schema._zod.def;json.type="object",json.properties={};let shape=def.shape;for(let key in shape)json.properties[key]=process2(shape[key],ctx,{...params,path:[...params.path,"properties",key]});let allKeys=new Set(Object.keys(shape)),requiredKeys=new Set([...allKeys].filter((key)=>{let v=def.shape[key]._zod;if(ctx.io==="input")return v.optin===void 0;else return v.optout===void 0}));if(requiredKeys.size>0)json.required=Array.from(requiredKeys);if(def.catchall?._zod.def.type==="never")json.additionalProperties=!1;else if(!def.catchall){if(ctx.io==="output")json.additionalProperties=!1}else if(def.catchall)json.additionalProperties=process2(def.catchall,ctx,{...params,path:[...params.path,"additionalProperties"]})},unionProcessor=(schema,ctx,json,params)=>{let def=schema._zod.def,isExclusive=def.inclusive===!1,options=def.options.map((x,i)=>process2(x,ctx,{...params,path:[...params.path,isExclusive?"oneOf":"anyOf",i]}));if(isExclusive)json.oneOf=options;else json.anyOf=options},intersectionProcessor=(schema,ctx,json,params)=>{let def=schema._zod.def,a=process2(def.left,ctx,{...params,path:[...params.path,"allOf",0]}),b=process2(def.right,ctx,{...params,path:[...params.path,"allOf",1]}),isSimpleIntersection=(val)=>("allOf"in val)&&Object.keys(val).length===1,allOf=[...isSimpleIntersection(a)?a.allOf:[a],...isSimpleIntersection(b)?b.allOf:[b]];json.allOf=allOf},tupleProcessor=(schema,ctx,_json,params)=>{let json=_json,def=schema._zod.def;json.type="array";let prefixPath=ctx.target==="draft-2020-12"?"prefixItems":"items",restPath=ctx.target==="draft-2020-12"?"items":ctx.target==="openapi-3.0"?"items":"additionalItems",prefixItems=def.items.map((x,i)=>process2(x,ctx,{...params,path:[...params.path,prefixPath,i]})),rest=def.rest?process2(def.rest,ctx,{...params,path:[...params.path,restPath,...ctx.target==="openapi-3.0"?[def.items.length]:[]]}):null;if(ctx.target==="draft-2020-12"){if(json.prefixItems=prefixItems,rest)json.items=rest}else if(ctx.target==="openapi-3.0"){if(json.items={anyOf:prefixItems},rest)json.items.anyOf.push(rest);if(json.minItems=prefixItems.length,!rest)json.maxItems=prefixItems.length}else if(json.items=prefixItems,rest)json.additionalItems=rest;let{minimum,maximum}=schema._zod.bag;if(typeof minimum==="number")json.minItems=minimum;if(typeof maximum==="number")json.maxItems=maximum},recordProcessor=(schema,ctx,_json,params)=>{let json=_json,def=schema._zod.def;json.type="object";let keyType=def.keyType,patterns=keyType._zod.bag?.patterns;if(def.mode==="loose"&&patterns&&patterns.size>0){let valueSchema=process2(def.valueType,ctx,{...params,path:[...params.path,"patternProperties","*"]});json.patternProperties={};for(let pattern of patterns)json.patternProperties[pattern.source]=valueSchema}else{if(ctx.target==="draft-07"||ctx.target==="draft-2020-12")json.propertyNames=process2(def.keyType,ctx,{...params,path:[...params.path,"propertyNames"]});json.additionalProperties=process2(def.valueType,ctx,{...params,path:[...params.path,"additionalProperties"]})}let keyValues=keyType._zod.values;if(keyValues){let validKeyValues=[...keyValues].filter((v)=>typeof v==="string"||typeof v==="number");if(validKeyValues.length>0)json.required=validKeyValues}},nullableProcessor=(schema,ctx,json,params)=>{let def=schema._zod.def,inner=process2(def.innerType,ctx,params),seen=ctx.seen.get(schema);if(ctx.target==="openapi-3.0")seen.ref=def.innerType,json.nullable=!0;else json.anyOf=[inner,{type:"null"}]},nonoptionalProcessor=(schema,ctx,_json,params)=>{let def=schema._zod.def;process2(def.innerType,ctx,params);let seen=ctx.seen.get(schema);seen.ref=def.innerType},defaultProcessor=(schema,ctx,json,params)=>{let def=schema._zod.def;process2(def.innerType,ctx,params);let seen=ctx.seen.get(schema);seen.ref=def.innerType,json.default=JSON.parse(JSON.stringify(def.defaultValue))},prefaultProcessor=(schema,ctx,json,params)=>{let def=schema._zod.def;process2(def.innerType,ctx,params);let seen=ctx.seen.get(schema);if(seen.ref=def.innerType,ctx.io==="input")json._prefault=JSON.parse(JSON.stringify(def.defaultValue))},catchProcessor=(schema,ctx,json,params)=>{let def=schema._zod.def;process2(def.innerType,ctx,params);let seen=ctx.seen.get(schema);seen.ref=def.innerType;let catchValue;try{catchValue=def.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}json.default=catchValue},pipeProcessor=(schema,ctx,_json,params)=>{let def=schema._zod.def,inIsTransform=def.in._zod.traits.has("$ZodTransform"),innerType=ctx.io==="input"?inIsTransform?def.out:def.in:def.out;process2(innerType,ctx,params);let seen=ctx.seen.get(schema);seen.ref=innerType},readonlyProcessor=(schema,ctx,json,params)=>{let def=schema._zod.def;process2(def.innerType,ctx,params);let seen=ctx.seen.get(schema);seen.ref=def.innerType,json.readOnly=!0},promiseProcessor=(schema,ctx,_json,params)=>{let def=schema._zod.def;process2(def.innerType,ctx,params);let seen=ctx.seen.get(schema);seen.ref=def.innerType},optionalProcessor=(schema,ctx,_json,params)=>{let def=schema._zod.def;process2(def.innerType,ctx,params);let seen=ctx.seen.get(schema);seen.ref=def.innerType},lazyProcessor=(schema,ctx,_json,params)=>{let innerType=schema._zod.innerType;process2(innerType,ctx,params);let seen=ctx.seen.get(schema);seen.ref=innerType},allProcessors;var init_json_schema_processors=__esm(()=>{init_to_json_schema();init_util();formatMap={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},allProcessors={string:stringProcessor,number:numberProcessor,boolean:booleanProcessor,bigint:bigintProcessor,symbol:symbolProcessor,null:nullProcessor,undefined:undefinedProcessor,void:voidProcessor,never:neverProcessor,any:anyProcessor,unknown:unknownProcessor,date:dateProcessor,enum:enumProcessor,literal:literalProcessor,nan:nanProcessor,template_literal:templateLiteralProcessor,file:fileProcessor,success:successProcessor,custom:customProcessor,function:functionProcessor,transform:transformProcessor,map:mapProcessor,set:setProcessor,array:arrayProcessor,object:objectProcessor,union:unionProcessor,intersection:intersectionProcessor,tuple:tupleProcessor,record:recordProcessor,nullable:nullableProcessor,nonoptional:nonoptionalProcessor,default:defaultProcessor,prefault:prefaultProcessor,catch:catchProcessor,pipe:pipeProcessor,readonly:readonlyProcessor,promise:promiseProcessor,optional:optionalProcessor,lazy:lazyProcessor}});class JSONSchemaGenerator{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(value){this.ctx.counter=value}get seen(){return this.ctx.seen}constructor(params){let normalizedTarget=params?.target??"draft-2020-12";if(normalizedTarget==="draft-4")normalizedTarget="draft-04";if(normalizedTarget==="draft-7")normalizedTarget="draft-07";this.ctx=initializeContext({processors:allProcessors,target:normalizedTarget,...params?.metadata&&{metadata:params.metadata},...params?.unrepresentable&&{unrepresentable:params.unrepresentable},...params?.override&&{override:params.override},...params?.io&&{io:params.io}})}process(schema,_params={path:[],schemaPath:[]}){return process2(schema,this.ctx,_params)}emit(schema,_params){if(_params){if(_params.cycles)this.ctx.cycles=_params.cycles;if(_params.reused)this.ctx.reused=_params.reused;if(_params.external)this.ctx.external=_params.external}extractDefs(this.ctx,schema);let result=finalize(this.ctx,schema),{"~standard":_,...plainResult}=result;return plainResult}}var init_json_schema_generator=__esm(()=>{init_json_schema_processors();init_to_json_schema()});var exports_json_schema={};var init_json_schema=()=>{};var exports_core2={};__export(exports_core2,{version:()=>version,util:()=>exports_util,treeifyError:()=>treeifyError,toJSONSchema:()=>toJSONSchema,toDotPath:()=>toDotPath,safeParseAsync:()=>safeParseAsync,safeParse:()=>safeParse,safeEncodeAsync:()=>safeEncodeAsync,safeEncode:()=>safeEncode,safeDecodeAsync:()=>safeDecodeAsync,safeDecode:()=>safeDecode,registry:()=>registry,regexes:()=>exports_regexes,process:()=>process2,prettifyError:()=>prettifyError,parseAsync:()=>parseAsync,parse:()=>parse,meta:()=>meta,locales:()=>exports_locales,isValidJWT:()=>isValidJWT,isValidBase64URL:()=>isValidBase64URL,isValidBase64:()=>isValidBase64,initializeContext:()=>initializeContext,globalRegistry:()=>globalRegistry,globalConfig:()=>globalConfig,formatError:()=>formatError,flattenError:()=>flattenError,finalize:()=>finalize,extractDefs:()=>extractDefs,encodeAsync:()=>encodeAsync,encode:()=>encode,describe:()=>describe,decodeAsync:()=>decodeAsync,decode:()=>decode,createToJSONSchemaMethod:()=>createToJSONSchemaMethod,createStandardJSONSchemaMethod:()=>createStandardJSONSchemaMethod,config:()=>config,clone:()=>clone,_xor:()=>_xor,_xid:()=>_xid,_void:()=>_void,_uuidv7:()=>_uuidv7,_uuidv6:()=>_uuidv6,_uuidv4:()=>_uuidv4,_uuid:()=>_uuid,_url:()=>_url,_uppercase:()=>_uppercase,_unknown:()=>_unknown,_union:()=>_union,_undefined:()=>_undefined2,_ulid:()=>_ulid,_uint64:()=>_uint64,_uint32:()=>_uint32,_tuple:()=>_tuple,_trim:()=>_trim,_transform:()=>_transform,_toUpperCase:()=>_toUpperCase,_toLowerCase:()=>_toLowerCase,_templateLiteral:()=>_templateLiteral,_symbol:()=>_symbol,_superRefine:()=>_superRefine,_success:()=>_success,_stringbool:()=>_stringbool,_stringFormat:()=>_stringFormat,_string:()=>_string,_startsWith:()=>_startsWith,_slugify:()=>_slugify,_size:()=>_size,_set:()=>_set,_safeParseAsync:()=>_safeParseAsync,_safeParse:()=>_safeParse,_safeEncodeAsync:()=>_safeEncodeAsync,_safeEncode:()=>_safeEncode,_safeDecodeAsync:()=>_safeDecodeAsync,_safeDecode:()=>_safeDecode,_regex:()=>_regex,_refine:()=>_refine,_record:()=>_record,_readonly:()=>_readonly,_property:()=>_property,_promise:()=>_promise,_positive:()=>_positive,_pipe:()=>_pipe,_parseAsync:()=>_parseAsync,_parse:()=>_parse,_overwrite:()=>_overwrite,_optional:()=>_optional,_number:()=>_number,_nullable:()=>_nullable,_null:()=>_null2,_normalize:()=>_normalize,_nonpositive:()=>_nonpositive,_nonoptional:()=>_nonoptional,_nonnegative:()=>_nonnegative,_never:()=>_never,_negative:()=>_negative,_nativeEnum:()=>_nativeEnum,_nanoid:()=>_nanoid,_nan:()=>_nan,_multipleOf:()=>_multipleOf,_minSize:()=>_minSize,_minLength:()=>_minLength,_min:()=>_gte,_mime:()=>_mime,_maxSize:()=>_maxSize,_maxLength:()=>_maxLength,_max:()=>_lte,_map:()=>_map,_mac:()=>_mac,_lte:()=>_lte,_lt:()=>_lt,_lowercase:()=>_lowercase,_literal:()=>_literal,_length:()=>_length,_lazy:()=>_lazy,_ksuid:()=>_ksuid,_jwt:()=>_jwt,_isoTime:()=>_isoTime,_isoDuration:()=>_isoDuration,_isoDateTime:()=>_isoDateTime,_isoDate:()=>_isoDate,_ipv6:()=>_ipv6,_ipv4:()=>_ipv4,_intersection:()=>_intersection,_int64:()=>_int64,_int32:()=>_int32,_int:()=>_int,_includes:()=>_includes,_guid:()=>_guid,_gte:()=>_gte,_gt:()=>_gt,_float64:()=>_float64,_float32:()=>_float32,_file:()=>_file,_enum:()=>_enum,_endsWith:()=>_endsWith,_encodeAsync:()=>_encodeAsync,_encode:()=>_encode,_emoji:()=>_emoji2,_email:()=>_email,_e164:()=>_e164,_discriminatedUnion:()=>_discriminatedUnion,_default:()=>_default,_decodeAsync:()=>_decodeAsync,_decode:()=>_decode,_date:()=>_date,_custom:()=>_custom,_cuid2:()=>_cuid2,_cuid:()=>_cuid,_coercedString:()=>_coercedString,_coercedNumber:()=>_coercedNumber,_coercedDate:()=>_coercedDate,_coercedBoolean:()=>_coercedBoolean,_coercedBigint:()=>_coercedBigint,_cidrv6:()=>_cidrv6,_cidrv4:()=>_cidrv4,_check:()=>_check,_catch:()=>_catch,_boolean:()=>_boolean,_bigint:()=>_bigint,_base64url:()=>_base64url,_base64:()=>_base64,_array:()=>_array,_any:()=>_any,TimePrecision:()=>TimePrecision,NEVER:()=>NEVER,JSONSchemaGenerator:()=>JSONSchemaGenerator,JSONSchema:()=>exports_json_schema,Doc:()=>Doc,$output:()=>$output,$input:()=>$input,$constructor:()=>$constructor,$brand:()=>$brand,$ZodXor:()=>$ZodXor,$ZodXID:()=>$ZodXID,$ZodVoid:()=>$ZodVoid,$ZodUnknown:()=>$ZodUnknown,$ZodUnion:()=>$ZodUnion,$ZodUndefined:()=>$ZodUndefined,$ZodUUID:()=>$ZodUUID,$ZodURL:()=>$ZodURL,$ZodULID:()=>$ZodULID,$ZodType:()=>$ZodType,$ZodTuple:()=>$ZodTuple,$ZodTransform:()=>$ZodTransform,$ZodTemplateLiteral:()=>$ZodTemplateLiteral,$ZodSymbol:()=>$ZodSymbol,$ZodSuccess:()=>$ZodSuccess,$ZodStringFormat:()=>$ZodStringFormat,$ZodString:()=>$ZodString,$ZodSet:()=>$ZodSet,$ZodRegistry:()=>$ZodRegistry,$ZodRecord:()=>$ZodRecord,$ZodRealError:()=>$ZodRealError,$ZodReadonly:()=>$ZodReadonly,$ZodPromise:()=>$ZodPromise,$ZodPreprocess:()=>$ZodPreprocess,$ZodPrefault:()=>$ZodPrefault,$ZodPipe:()=>$ZodPipe,$ZodOptional:()=>$ZodOptional,$ZodObjectJIT:()=>$ZodObjectJIT,$ZodObject:()=>$ZodObject,$ZodNumberFormat:()=>$ZodNumberFormat,$ZodNumber:()=>$ZodNumber,$ZodNullable:()=>$ZodNullable,$ZodNull:()=>$ZodNull,$ZodNonOptional:()=>$ZodNonOptional,$ZodNever:()=>$ZodNever,$ZodNanoID:()=>$ZodNanoID,$ZodNaN:()=>$ZodNaN,$ZodMap:()=>$ZodMap,$ZodMAC:()=>$ZodMAC,$ZodLiteral:()=>$ZodLiteral,$ZodLazy:()=>$ZodLazy,$ZodKSUID:()=>$ZodKSUID,$ZodJWT:()=>$ZodJWT,$ZodIntersection:()=>$ZodIntersection,$ZodISOTime:()=>$ZodISOTime,$ZodISODuration:()=>$ZodISODuration,$ZodISODateTime:()=>$ZodISODateTime,$ZodISODate:()=>$ZodISODate,$ZodIPv6:()=>$ZodIPv6,$ZodIPv4:()=>$ZodIPv4,$ZodGUID:()=>$ZodGUID,$ZodFunction:()=>$ZodFunction,$ZodFile:()=>$ZodFile,$ZodExactOptional:()=>$ZodExactOptional,$ZodError:()=>$ZodError,$ZodEnum:()=>$ZodEnum,$ZodEncodeError:()=>$ZodEncodeError,$ZodEmoji:()=>$ZodEmoji,$ZodEmail:()=>$ZodEmail,$ZodE164:()=>$ZodE164,$ZodDiscriminatedUnion:()=>$ZodDiscriminatedUnion,$ZodDefault:()=>$ZodDefault,$ZodDate:()=>$ZodDate,$ZodCustomStringFormat:()=>$ZodCustomStringFormat,$ZodCustom:()=>$ZodCustom,$ZodCodec:()=>$ZodCodec,$ZodCheckUpperCase:()=>$ZodCheckUpperCase,$ZodCheckStringFormat:()=>$ZodCheckStringFormat,$ZodCheckStartsWith:()=>$ZodCheckStartsWith,$ZodCheckSizeEquals:()=>$ZodCheckSizeEquals,$ZodCheckRegex:()=>$ZodCheckRegex,$ZodCheckProperty:()=>$ZodCheckProperty,$ZodCheckOverwrite:()=>$ZodCheckOverwrite,$ZodCheckNumberFormat:()=>$ZodCheckNumberFormat,$ZodCheckMultipleOf:()=>$ZodCheckMultipleOf,$ZodCheckMinSize:()=>$ZodCheckMinSize,$ZodCheckMinLength:()=>$ZodCheckMinLength,$ZodCheckMimeType:()=>$ZodCheckMimeType,$ZodCheckMaxSize:()=>$ZodCheckMaxSize,$ZodCheckMaxLength:()=>$ZodCheckMaxLength,$ZodCheckLowerCase:()=>$ZodCheckLowerCase,$ZodCheckLessThan:()=>$ZodCheckLessThan,$ZodCheckLengthEquals:()=>$ZodCheckLengthEquals,$ZodCheckIncludes:()=>$ZodCheckIncludes,$ZodCheckGreaterThan:()=>$ZodCheckGreaterThan,$ZodCheckEndsWith:()=>$ZodCheckEndsWith,$ZodCheckBigIntFormat:()=>$ZodCheckBigIntFormat,$ZodCheck:()=>$ZodCheck,$ZodCatch:()=>$ZodCatch,$ZodCUID2:()=>$ZodCUID2,$ZodCUID:()=>$ZodCUID,$ZodCIDRv6:()=>$ZodCIDRv6,$ZodCIDRv4:()=>$ZodCIDRv4,$ZodBoolean:()=>$ZodBoolean,$ZodBigIntFormat:()=>$ZodBigIntFormat,$ZodBigInt:()=>$ZodBigInt,$ZodBase64URL:()=>$ZodBase64URL,$ZodBase64:()=>$ZodBase64,$ZodAsyncError:()=>$ZodAsyncError,$ZodArray:()=>$ZodArray,$ZodAny:()=>$ZodAny});var init_core2=__esm(()=>{init_util();init_regexes();init_locales();init_json_schema_processors();init_json_schema_generator();init_json_schema();init_core();init_parse();init_errors();init_schemas();init_checks();init_versions();init_registries();init_api();init_to_json_schema()});var exports_checks2={};__export(exports_checks2,{uppercase:()=>_uppercase,trim:()=>_trim,toUpperCase:()=>_toUpperCase,toLowerCase:()=>_toLowerCase,startsWith:()=>_startsWith,slugify:()=>_slugify,size:()=>_size,regex:()=>_regex,property:()=>_property,positive:()=>_positive,overwrite:()=>_overwrite,normalize:()=>_normalize,nonpositive:()=>_nonpositive,nonnegative:()=>_nonnegative,negative:()=>_negative,multipleOf:()=>_multipleOf,minSize:()=>_minSize,minLength:()=>_minLength,mime:()=>_mime,maxSize:()=>_maxSize,maxLength:()=>_maxLength,lte:()=>_lte,lt:()=>_lt,lowercase:()=>_lowercase,length:()=>_length,includes:()=>_includes,gte:()=>_gte,gt:()=>_gt,endsWith:()=>_endsWith});var init_checks2=__esm(()=>{init_core2()});var exports_iso={};__export(exports_iso,{time:()=>time2,duration:()=>duration2,datetime:()=>datetime2,date:()=>date2,ZodISOTime:()=>ZodISOTime,ZodISODuration:()=>ZodISODuration,ZodISODateTime:()=>ZodISODateTime,ZodISODate:()=>ZodISODate});function datetime2(params){return _isoDateTime(ZodISODateTime,params)}function date2(params){return _isoDate(ZodISODate,params)}function time2(params){return _isoTime(ZodISOTime,params)}function duration2(params){return _isoDuration(ZodISODuration,params)}var ZodISODateTime,ZodISODate,ZodISOTime,ZodISODuration;var init_iso=__esm(()=>{init_core2();init_schemas2();ZodISODateTime=$constructor("ZodISODateTime",(inst,def)=>{$ZodISODateTime.init(inst,def),ZodStringFormat.init(inst,def)});ZodISODate=$constructor("ZodISODate",(inst,def)=>{$ZodISODate.init(inst,def),ZodStringFormat.init(inst,def)});ZodISOTime=$constructor("ZodISOTime",(inst,def)=>{$ZodISOTime.init(inst,def),ZodStringFormat.init(inst,def)});ZodISODuration=$constructor("ZodISODuration",(inst,def)=>{$ZodISODuration.init(inst,def),ZodStringFormat.init(inst,def)})});var initializer2=(inst,issues)=>{$ZodError.init(inst,issues),inst.name="ZodError",Object.defineProperties(inst,{format:{value:(mapper)=>formatError(inst,mapper)},flatten:{value:(mapper)=>flattenError(inst,mapper)},addIssue:{value:(issue2)=>{inst.issues.push(issue2),inst.message=JSON.stringify(inst.issues,jsonStringifyReplacer,2)}},addIssues:{value:(issues2)=>{inst.issues.push(...issues2),inst.message=JSON.stringify(inst.issues,jsonStringifyReplacer,2)}},isEmpty:{get(){return inst.issues.length===0}}})},ZodError,ZodRealError;var init_errors2=__esm(()=>{init_core2();init_core2();init_util();ZodError=$constructor("ZodError",initializer2),ZodRealError=$constructor("ZodError",initializer2,{Parent:Error})});var parse3,parseAsync2,safeParse2,safeParseAsync2,encode2,decode2,encodeAsync2,decodeAsync2,safeEncode2,safeDecode2,safeEncodeAsync2,safeDecodeAsync2;var init_parse2=__esm(()=>{init_core2();init_errors2();parse3=_parse(ZodRealError),parseAsync2=_parseAsync(ZodRealError),safeParse2=_safeParse(ZodRealError),safeParseAsync2=_safeParseAsync(ZodRealError),encode2=_encode(ZodRealError),decode2=_decode(ZodRealError),encodeAsync2=_encodeAsync(ZodRealError),decodeAsync2=_decodeAsync(ZodRealError),safeEncode2=_safeEncode(ZodRealError),safeDecode2=_safeDecode(ZodRealError),safeEncodeAsync2=_safeEncodeAsync(ZodRealError),safeDecodeAsync2=_safeDecodeAsync(ZodRealError)});var exports_schemas2={};__export(exports_schemas2,{xor:()=>xor,xid:()=>xid2,void:()=>_void2,uuidv7:()=>uuidv7,uuidv6:()=>uuidv6,uuidv4:()=>uuidv4,uuid:()=>uuid2,url:()=>url,unknown:()=>unknown,union:()=>union,undefined:()=>_undefined3,ulid:()=>ulid2,uint64:()=>uint64,uint32:()=>uint32,tuple:()=>tuple,transform:()=>transform,templateLiteral:()=>templateLiteral,symbol:()=>symbol,superRefine:()=>superRefine,success:()=>success,stringbool:()=>stringbool,stringFormat:()=>stringFormat,string:()=>string2,strictObject:()=>strictObject,set:()=>set,refine:()=>refine,record:()=>record,readonly:()=>readonly,promise:()=>promise,preprocess:()=>preprocess,prefault:()=>prefault,pipe:()=>pipe,partialRecord:()=>partialRecord,optional:()=>optional,object:()=>object,number:()=>number2,nullish:()=>nullish2,nullable:()=>nullable,null:()=>_null3,nonoptional:()=>nonoptional,never:()=>never,nativeEnum:()=>nativeEnum,nanoid:()=>nanoid2,nan:()=>nan,meta:()=>meta2,map:()=>map,mac:()=>mac2,looseRecord:()=>looseRecord,looseObject:()=>looseObject,literal:()=>literal,lazy:()=>lazy,ksuid:()=>ksuid2,keyof:()=>keyof,jwt:()=>jwt,json:()=>json,ipv6:()=>ipv62,ipv4:()=>ipv42,invertCodec:()=>invertCodec,intersection:()=>intersection,int64:()=>int64,int32:()=>int32,int:()=>int,instanceof:()=>_instanceof,httpUrl:()=>httpUrl,hostname:()=>hostname2,hex:()=>hex2,hash:()=>hash,guid:()=>guid2,function:()=>_function,float64:()=>float64,float32:()=>float32,file:()=>file,exactOptional:()=>exactOptional,enum:()=>_enum2,emoji:()=>emoji2,email:()=>email2,e164:()=>e1642,discriminatedUnion:()=>discriminatedUnion,describe:()=>describe2,date:()=>date3,custom:()=>custom,cuid2:()=>cuid22,cuid:()=>cuid3,codec:()=>codec,cidrv6:()=>cidrv62,cidrv4:()=>cidrv42,check:()=>check,catch:()=>_catch2,boolean:()=>boolean2,bigint:()=>bigint2,base64url:()=>base64url2,base64:()=>base642,array:()=>array,any:()=>any,_function:()=>_function,_default:()=>_default2,_ZodString:()=>_ZodString,ZodXor:()=>ZodXor,ZodXID:()=>ZodXID,ZodVoid:()=>ZodVoid,ZodUnknown:()=>ZodUnknown,ZodUnion:()=>ZodUnion,ZodUndefined:()=>ZodUndefined,ZodUUID:()=>ZodUUID,ZodURL:()=>ZodURL,ZodULID:()=>ZodULID,ZodType:()=>ZodType,ZodTuple:()=>ZodTuple,ZodTransform:()=>ZodTransform,ZodTemplateLiteral:()=>ZodTemplateLiteral,ZodSymbol:()=>ZodSymbol,ZodSuccess:()=>ZodSuccess,ZodStringFormat:()=>ZodStringFormat,ZodString:()=>ZodString,ZodSet:()=>ZodSet,ZodRecord:()=>ZodRecord,ZodReadonly:()=>ZodReadonly,ZodPromise:()=>ZodPromise,ZodPreprocess:()=>ZodPreprocess,ZodPrefault:()=>ZodPrefault,ZodPipe:()=>ZodPipe,ZodOptional:()=>ZodOptional,ZodObject:()=>ZodObject,ZodNumberFormat:()=>ZodNumberFormat,ZodNumber:()=>ZodNumber,ZodNullable:()=>ZodNullable,ZodNull:()=>ZodNull,ZodNonOptional:()=>ZodNonOptional,ZodNever:()=>ZodNever,ZodNanoID:()=>ZodNanoID,ZodNaN:()=>ZodNaN,ZodMap:()=>ZodMap,ZodMAC:()=>ZodMAC,ZodLiteral:()=>ZodLiteral,ZodLazy:()=>ZodLazy,ZodKSUID:()=>ZodKSUID,ZodJWT:()=>ZodJWT,ZodIntersection:()=>ZodIntersection,ZodIPv6:()=>ZodIPv6,ZodIPv4:()=>ZodIPv4,ZodGUID:()=>ZodGUID,ZodFunction:()=>ZodFunction,ZodFile:()=>ZodFile,ZodExactOptional:()=>ZodExactOptional,ZodEnum:()=>ZodEnum,ZodEmoji:()=>ZodEmoji,ZodEmail:()=>ZodEmail,ZodE164:()=>ZodE164,ZodDiscriminatedUnion:()=>ZodDiscriminatedUnion,ZodDefault:()=>ZodDefault,ZodDate:()=>ZodDate,ZodCustomStringFormat:()=>ZodCustomStringFormat,ZodCustom:()=>ZodCustom,ZodCodec:()=>ZodCodec,ZodCatch:()=>ZodCatch,ZodCUID2:()=>ZodCUID2,ZodCUID:()=>ZodCUID,ZodCIDRv6:()=>ZodCIDRv6,ZodCIDRv4:()=>ZodCIDRv4,ZodBoolean:()=>ZodBoolean,ZodBigIntFormat:()=>ZodBigIntFormat,ZodBigInt:()=>ZodBigInt,ZodBase64URL:()=>ZodBase64URL,ZodBase64:()=>ZodBase64,ZodArray:()=>ZodArray,ZodAny:()=>ZodAny});function _installLazyMethods(inst,group,methods){let proto=Object.getPrototypeOf(inst),installed=_installedGroups.get(proto);if(!installed)installed=new Set,_installedGroups.set(proto,installed);if(installed.has(group))return;installed.add(group);for(let key in methods){let fn=methods[key];Object.defineProperty(proto,key,{configurable:!0,enumerable:!1,get(){let bound=fn.bind(this);return Object.defineProperty(this,key,{configurable:!0,writable:!0,enumerable:!0,value:bound}),bound},set(v){Object.defineProperty(this,key,{configurable:!0,writable:!0,enumerable:!0,value:v})}})}}function string2(params){return _string(ZodString,params)}function email2(params){return _email(ZodEmail,params)}function guid2(params){return _guid(ZodGUID,params)}function uuid2(params){return _uuid(ZodUUID,params)}function uuidv4(params){return _uuidv4(ZodUUID,params)}function uuidv6(params){return _uuidv6(ZodUUID,params)}function uuidv7(params){return _uuidv7(ZodUUID,params)}function url(params){return _url(ZodURL,params)}function httpUrl(params){return _url(ZodURL,{protocol:exports_regexes.httpProtocol,hostname:exports_regexes.domain,...exports_util.normalizeParams(params)})}function emoji2(params){return _emoji2(ZodEmoji,params)}function nanoid2(params){return _nanoid(ZodNanoID,params)}function cuid3(params){return _cuid(ZodCUID,params)}function cuid22(params){return _cuid2(ZodCUID2,params)}function ulid2(params){return _ulid(ZodULID,params)}function xid2(params){return _xid(ZodXID,params)}function ksuid2(params){return _ksuid(ZodKSUID,params)}function ipv42(params){return _ipv4(ZodIPv4,params)}function mac2(params){return _mac(ZodMAC,params)}function ipv62(params){return _ipv6(ZodIPv6,params)}function cidrv42(params){return _cidrv4(ZodCIDRv4,params)}function cidrv62(params){return _cidrv6(ZodCIDRv6,params)}function base642(params){return _base64(ZodBase64,params)}function base64url2(params){return _base64url(ZodBase64URL,params)}function e1642(params){return _e164(ZodE164,params)}function jwt(params){return _jwt(ZodJWT,params)}function stringFormat(format,fnOrRegex,_params={}){return _stringFormat(ZodCustomStringFormat,format,fnOrRegex,_params)}function hostname2(_params){return _stringFormat(ZodCustomStringFormat,"hostname",exports_regexes.hostname,_params)}function hex2(_params){return _stringFormat(ZodCustomStringFormat,"hex",exports_regexes.hex,_params)}function hash(alg,params){let enc=params?.enc??"hex",format=`${alg}_${enc}`,regex=exports_regexes[format];if(!regex)throw Error(`Unrecognized hash format: ${format}`);return _stringFormat(ZodCustomStringFormat,format,regex,params)}function number2(params){return _number(ZodNumber,params)}function int(params){return _int(ZodNumberFormat,params)}function float32(params){return _float32(ZodNumberFormat,params)}function float64(params){return _float64(ZodNumberFormat,params)}function int32(params){return _int32(ZodNumberFormat,params)}function uint32(params){return _uint32(ZodNumberFormat,params)}function boolean2(params){return _boolean(ZodBoolean,params)}function bigint2(params){return _bigint(ZodBigInt,params)}function int64(params){return _int64(ZodBigIntFormat,params)}function uint64(params){return _uint64(ZodBigIntFormat,params)}function symbol(params){return _symbol(ZodSymbol,params)}function _undefined3(params){return _undefined2(ZodUndefined,params)}function _null3(params){return _null2(ZodNull,params)}function any(){return _any(ZodAny)}function unknown(){return _unknown(ZodUnknown)}function never(params){return _never(ZodNever,params)}function _void2(params){return _void(ZodVoid,params)}function date3(params){return _date(ZodDate,params)}function array(element,params){return _array(ZodArray,element,params)}function keyof(schema){let shape=schema._zod.def.shape;return _enum2(Object.keys(shape))}function object(shape,params){let def={type:"object",shape:shape??{},...exports_util.normalizeParams(params)};return new ZodObject(def)}function strictObject(shape,params){return new ZodObject({type:"object",shape,catchall:never(),...exports_util.normalizeParams(params)})}function looseObject(shape,params){return new ZodObject({type:"object",shape,catchall:unknown(),...exports_util.normalizeParams(params)})}function union(options,params){return new ZodUnion({type:"union",options,...exports_util.normalizeParams(params)})}function xor(options,params){return new ZodXor({type:"union",options,inclusive:!1,...exports_util.normalizeParams(params)})}function discriminatedUnion(discriminator,options,params){return new ZodDiscriminatedUnion({type:"union",options,discriminator,...exports_util.normalizeParams(params)})}function intersection(left,right){return new ZodIntersection({type:"intersection",left,right})}function tuple(items,_paramsOrRest,_params){let hasRest=_paramsOrRest instanceof $ZodType,params=hasRest?_params:_paramsOrRest;return new ZodTuple({type:"tuple",items,rest:hasRest?_paramsOrRest:null,...exports_util.normalizeParams(params)})}function record(keyType,valueType,params){if(!valueType||!valueType._zod)return new ZodRecord({type:"record",keyType:string2(),valueType:keyType,...exports_util.normalizeParams(valueType)});return new ZodRecord({type:"record",keyType,valueType,...exports_util.normalizeParams(params)})}function partialRecord(keyType,valueType,params){let k=clone(keyType);return k._zod.values=void 0,new ZodRecord({type:"record",keyType:k,valueType,...exports_util.normalizeParams(params)})}function looseRecord(keyType,valueType,params){return new ZodRecord({type:"record",keyType,valueType,mode:"loose",...exports_util.normalizeParams(params)})}function map(keyType,valueType,params){return new ZodMap({type:"map",keyType,valueType,...exports_util.normalizeParams(params)})}function set(valueType,params){return new ZodSet({type:"set",valueType,...exports_util.normalizeParams(params)})}function _enum2(values,params){let entries=Array.isArray(values)?Object.fromEntries(values.map((v)=>[v,v])):values;return new ZodEnum({type:"enum",entries,...exports_util.normalizeParams(params)})}function nativeEnum(entries,params){return new ZodEnum({type:"enum",entries,...exports_util.normalizeParams(params)})}function literal(value,params){return new ZodLiteral({type:"literal",values:Array.isArray(value)?value:[value],...exports_util.normalizeParams(params)})}function file(params){return _file(ZodFile,params)}function transform(fn){return new ZodTransform({type:"transform",transform:fn})}function optional(innerType){return new ZodOptional({type:"optional",innerType})}function exactOptional(innerType){return new ZodExactOptional({type:"optional",innerType})}function nullable(innerType){return new ZodNullable({type:"nullable",innerType})}function nullish2(innerType){return optional(nullable(innerType))}function _default2(innerType,defaultValue){return new ZodDefault({type:"default",innerType,get defaultValue(){return typeof defaultValue==="function"?defaultValue():exports_util.shallowClone(defaultValue)}})}function prefault(innerType,defaultValue){return new ZodPrefault({type:"prefault",innerType,get defaultValue(){return typeof defaultValue==="function"?defaultValue():exports_util.shallowClone(defaultValue)}})}function nonoptional(innerType,params){return new ZodNonOptional({type:"nonoptional",innerType,...exports_util.normalizeParams(params)})}function success(innerType){return new ZodSuccess({type:"success",innerType})}function _catch2(innerType,catchValue){return new ZodCatch({type:"catch",innerType,catchValue:typeof catchValue==="function"?catchValue:()=>catchValue})}function nan(params){return _nan(ZodNaN,params)}function pipe(in_,out){return new ZodPipe({type:"pipe",in:in_,out})}function codec(in_,out,params){return new ZodCodec({type:"pipe",in:in_,out,transform:params.decode,reverseTransform:params.encode})}function invertCodec(codec2){let def=codec2._zod.def;return new ZodCodec({type:"pipe",in:def.out,out:def.in,transform:def.reverseTransform,reverseTransform:def.transform})}function readonly(innerType){return new ZodReadonly({type:"readonly",innerType})}function templateLiteral(parts,params){return new ZodTemplateLiteral({type:"template_literal",parts,...exports_util.normalizeParams(params)})}function lazy(getter){return new ZodLazy({type:"lazy",getter})}function promise(innerType){return new ZodPromise({type:"promise",innerType})}function _function(params){return new ZodFunction({type:"function",input:Array.isArray(params?.input)?tuple(params?.input):params?.input??array(unknown()),output:params?.output??unknown()})}function check(fn){let ch=new $ZodCheck({check:"custom"});return ch._zod.check=fn,ch}function custom(fn,_params){return _custom(ZodCustom,fn??(()=>!0),_params)}function refine(fn,_params={}){return _refine(ZodCustom,fn,_params)}function superRefine(fn,params){return _superRefine(fn,params)}function _instanceof(cls,params={}){let inst=new ZodCustom({type:"custom",check:"custom",fn:(data)=>data instanceof cls,abort:!0,...exports_util.normalizeParams(params)});return inst._zod.bag.Class=cls,inst._zod.check=(payload)=>{if(!(payload.value instanceof cls))payload.issues.push({code:"invalid_type",expected:cls.name,input:payload.value,inst,path:[...inst._zod.def.path??[]]})},inst}function json(params){let jsonSchema=lazy(()=>{return union([string2(params),number2(),boolean2(),_null3(),array(jsonSchema),record(string2(),jsonSchema)])});return jsonSchema}function preprocess(fn,schema){return new ZodPreprocess({type:"pipe",in:transform(fn),out:schema})}var _installedGroups,ZodType,_ZodString,ZodString,ZodStringFormat,ZodEmail,ZodGUID,ZodUUID,ZodURL,ZodEmoji,ZodNanoID,ZodCUID,ZodCUID2,ZodULID,ZodXID,ZodKSUID,ZodIPv4,ZodMAC,ZodIPv6,ZodCIDRv4,ZodCIDRv6,ZodBase64,ZodBase64URL,ZodE164,ZodJWT,ZodCustomStringFormat,ZodNumber,ZodNumberFormat,ZodBoolean,ZodBigInt,ZodBigIntFormat,ZodSymbol,ZodUndefined,ZodNull,ZodAny,ZodUnknown,ZodNever,ZodVoid,ZodDate,ZodArray,ZodObject,ZodUnion,ZodXor,ZodDiscriminatedUnion,ZodIntersection,ZodTuple,ZodRecord,ZodMap,ZodSet,ZodEnum,ZodLiteral,ZodFile,ZodTransform,ZodOptional,ZodExactOptional,ZodNullable,ZodDefault,ZodPrefault,ZodNonOptional,ZodSuccess,ZodCatch,ZodNaN,ZodPipe,ZodCodec,ZodPreprocess,ZodReadonly,ZodTemplateLiteral,ZodLazy,ZodPromise,ZodFunction,ZodCustom,describe2,meta2,stringbool=(...args)=>_stringbool({Codec:ZodCodec,Boolean:ZodBoolean,String:ZodString},...args);var init_schemas2=__esm(()=>{init_core2();init_core2();init_json_schema_processors();init_to_json_schema();init_checks2();init_iso();init_parse2();_installedGroups=new WeakMap;ZodType=$constructor("ZodType",(inst,def)=>{return $ZodType.init(inst,def),Object.assign(inst["~standard"],{jsonSchema:{input:createStandardJSONSchemaMethod(inst,"input"),output:createStandardJSONSchemaMethod(inst,"output")}}),inst.toJSONSchema=createToJSONSchemaMethod(inst,{}),inst.def=def,inst.type=def.type,Object.defineProperty(inst,"_def",{value:def}),inst.parse=(data,params)=>parse3(inst,data,params,{callee:inst.parse}),inst.safeParse=(data,params)=>safeParse2(inst,data,params),inst.parseAsync=async(data,params)=>parseAsync2(inst,data,params,{callee:inst.parseAsync}),inst.safeParseAsync=async(data,params)=>safeParseAsync2(inst,data,params),inst.spa=inst.safeParseAsync,inst.encode=(data,params)=>encode2(inst,data,params),inst.decode=(data,params)=>decode2(inst,data,params),inst.encodeAsync=async(data,params)=>encodeAsync2(inst,data,params),inst.decodeAsync=async(data,params)=>decodeAsync2(inst,data,params),inst.safeEncode=(data,params)=>safeEncode2(inst,data,params),inst.safeDecode=(data,params)=>safeDecode2(inst,data,params),inst.safeEncodeAsync=async(data,params)=>safeEncodeAsync2(inst,data,params),inst.safeDecodeAsync=async(data,params)=>safeDecodeAsync2(inst,data,params),_installLazyMethods(inst,"ZodType",{check(...chks){let def2=this.def;return this.clone(exports_util.mergeDefs(def2,{checks:[...def2.checks??[],...chks.map((ch)=>typeof ch==="function"?{_zod:{check:ch,def:{check:"custom"},onattach:[]}}:ch)]}),{parent:!0})},with(...chks){return this.check(...chks)},clone(def2,params){return clone(this,def2,params)},brand(){return this},register(reg,meta2){return reg.add(this,meta2),this},refine(check,params){return this.check(refine(check,params))},superRefine(refinement,params){return this.check(superRefine(refinement,params))},overwrite(fn){return this.check(_overwrite(fn))},optional(){return optional(this)},exactOptional(){return exactOptional(this)},nullable(){return nullable(this)},nullish(){return optional(nullable(this))},nonoptional(params){return nonoptional(this,params)},array(){return array(this)},or(arg){return union([this,arg])},and(arg){return intersection(this,arg)},transform(tx){return pipe(this,transform(tx))},default(d){return _default2(this,d)},prefault(d){return prefault(this,d)},catch(params){return _catch2(this,params)},pipe(target){return pipe(this,target)},readonly(){return readonly(this)},describe(description){let cl=this.clone();return globalRegistry.add(cl,{description}),cl},meta(...args){if(args.length===0)return globalRegistry.get(this);let cl=this.clone();return globalRegistry.add(cl,args[0]),cl},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(fn){return fn(this)}}),Object.defineProperty(inst,"description",{get(){return globalRegistry.get(inst)?.description},configurable:!0}),inst}),_ZodString=$constructor("_ZodString",(inst,def)=>{$ZodString.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>stringProcessor(inst,ctx,json,params);let bag=inst._zod.bag;inst.format=bag.format??null,inst.minLength=bag.minimum??null,inst.maxLength=bag.maximum??null,_installLazyMethods(inst,"_ZodString",{regex(...args){return this.check(_regex(...args))},includes(...args){return this.check(_includes(...args))},startsWith(...args){return this.check(_startsWith(...args))},endsWith(...args){return this.check(_endsWith(...args))},min(...args){return this.check(_minLength(...args))},max(...args){return this.check(_maxLength(...args))},length(...args){return this.check(_length(...args))},nonempty(...args){return this.check(_minLength(1,...args))},lowercase(params){return this.check(_lowercase(params))},uppercase(params){return this.check(_uppercase(params))},trim(){return this.check(_trim())},normalize(...args){return this.check(_normalize(...args))},toLowerCase(){return this.check(_toLowerCase())},toUpperCase(){return this.check(_toUpperCase())},slugify(){return this.check(_slugify())}})}),ZodString=$constructor("ZodString",(inst,def)=>{$ZodString.init(inst,def),_ZodString.init(inst,def),inst.email=(params)=>inst.check(_email(ZodEmail,params)),inst.url=(params)=>inst.check(_url(ZodURL,params)),inst.jwt=(params)=>inst.check(_jwt(ZodJWT,params)),inst.emoji=(params)=>inst.check(_emoji2(ZodEmoji,params)),inst.guid=(params)=>inst.check(_guid(ZodGUID,params)),inst.uuid=(params)=>inst.check(_uuid(ZodUUID,params)),inst.uuidv4=(params)=>inst.check(_uuidv4(ZodUUID,params)),inst.uuidv6=(params)=>inst.check(_uuidv6(ZodUUID,params)),inst.uuidv7=(params)=>inst.check(_uuidv7(ZodUUID,params)),inst.nanoid=(params)=>inst.check(_nanoid(ZodNanoID,params)),inst.guid=(params)=>inst.check(_guid(ZodGUID,params)),inst.cuid=(params)=>inst.check(_cuid(ZodCUID,params)),inst.cuid2=(params)=>inst.check(_cuid2(ZodCUID2,params)),inst.ulid=(params)=>inst.check(_ulid(ZodULID,params)),inst.base64=(params)=>inst.check(_base64(ZodBase64,params)),inst.base64url=(params)=>inst.check(_base64url(ZodBase64URL,params)),inst.xid=(params)=>inst.check(_xid(ZodXID,params)),inst.ksuid=(params)=>inst.check(_ksuid(ZodKSUID,params)),inst.ipv4=(params)=>inst.check(_ipv4(ZodIPv4,params)),inst.ipv6=(params)=>inst.check(_ipv6(ZodIPv6,params)),inst.cidrv4=(params)=>inst.check(_cidrv4(ZodCIDRv4,params)),inst.cidrv6=(params)=>inst.check(_cidrv6(ZodCIDRv6,params)),inst.e164=(params)=>inst.check(_e164(ZodE164,params)),inst.datetime=(params)=>inst.check(datetime2(params)),inst.date=(params)=>inst.check(date2(params)),inst.time=(params)=>inst.check(time2(params)),inst.duration=(params)=>inst.check(duration2(params))});ZodStringFormat=$constructor("ZodStringFormat",(inst,def)=>{$ZodStringFormat.init(inst,def),_ZodString.init(inst,def)}),ZodEmail=$constructor("ZodEmail",(inst,def)=>{$ZodEmail.init(inst,def),ZodStringFormat.init(inst,def)});ZodGUID=$constructor("ZodGUID",(inst,def)=>{$ZodGUID.init(inst,def),ZodStringFormat.init(inst,def)});ZodUUID=$constructor("ZodUUID",(inst,def)=>{$ZodUUID.init(inst,def),ZodStringFormat.init(inst,def)});ZodURL=$constructor("ZodURL",(inst,def)=>{$ZodURL.init(inst,def),ZodStringFormat.init(inst,def)});ZodEmoji=$constructor("ZodEmoji",(inst,def)=>{$ZodEmoji.init(inst,def),ZodStringFormat.init(inst,def)});ZodNanoID=$constructor("ZodNanoID",(inst,def)=>{$ZodNanoID.init(inst,def),ZodStringFormat.init(inst,def)});ZodCUID=$constructor("ZodCUID",(inst,def)=>{$ZodCUID.init(inst,def),ZodStringFormat.init(inst,def)});ZodCUID2=$constructor("ZodCUID2",(inst,def)=>{$ZodCUID2.init(inst,def),ZodStringFormat.init(inst,def)});ZodULID=$constructor("ZodULID",(inst,def)=>{$ZodULID.init(inst,def),ZodStringFormat.init(inst,def)});ZodXID=$constructor("ZodXID",(inst,def)=>{$ZodXID.init(inst,def),ZodStringFormat.init(inst,def)});ZodKSUID=$constructor("ZodKSUID",(inst,def)=>{$ZodKSUID.init(inst,def),ZodStringFormat.init(inst,def)});ZodIPv4=$constructor("ZodIPv4",(inst,def)=>{$ZodIPv4.init(inst,def),ZodStringFormat.init(inst,def)});ZodMAC=$constructor("ZodMAC",(inst,def)=>{$ZodMAC.init(inst,def),ZodStringFormat.init(inst,def)});ZodIPv6=$constructor("ZodIPv6",(inst,def)=>{$ZodIPv6.init(inst,def),ZodStringFormat.init(inst,def)});ZodCIDRv4=$constructor("ZodCIDRv4",(inst,def)=>{$ZodCIDRv4.init(inst,def),ZodStringFormat.init(inst,def)});ZodCIDRv6=$constructor("ZodCIDRv6",(inst,def)=>{$ZodCIDRv6.init(inst,def),ZodStringFormat.init(inst,def)});ZodBase64=$constructor("ZodBase64",(inst,def)=>{$ZodBase64.init(inst,def),ZodStringFormat.init(inst,def)});ZodBase64URL=$constructor("ZodBase64URL",(inst,def)=>{$ZodBase64URL.init(inst,def),ZodStringFormat.init(inst,def)});ZodE164=$constructor("ZodE164",(inst,def)=>{$ZodE164.init(inst,def),ZodStringFormat.init(inst,def)});ZodJWT=$constructor("ZodJWT",(inst,def)=>{$ZodJWT.init(inst,def),ZodStringFormat.init(inst,def)});ZodCustomStringFormat=$constructor("ZodCustomStringFormat",(inst,def)=>{$ZodCustomStringFormat.init(inst,def),ZodStringFormat.init(inst,def)});ZodNumber=$constructor("ZodNumber",(inst,def)=>{$ZodNumber.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>numberProcessor(inst,ctx,json,params),_installLazyMethods(inst,"ZodNumber",{gt(value,params){return this.check(_gt(value,params))},gte(value,params){return this.check(_gte(value,params))},min(value,params){return this.check(_gte(value,params))},lt(value,params){return this.check(_lt(value,params))},lte(value,params){return this.check(_lte(value,params))},max(value,params){return this.check(_lte(value,params))},int(params){return this.check(int(params))},safe(params){return this.check(int(params))},positive(params){return this.check(_gt(0,params))},nonnegative(params){return this.check(_gte(0,params))},negative(params){return this.check(_lt(0,params))},nonpositive(params){return this.check(_lte(0,params))},multipleOf(value,params){return this.check(_multipleOf(value,params))},step(value,params){return this.check(_multipleOf(value,params))},finite(){return this}});let bag=inst._zod.bag;inst.minValue=Math.max(bag.minimum??Number.NEGATIVE_INFINITY,bag.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,inst.maxValue=Math.min(bag.maximum??Number.POSITIVE_INFINITY,bag.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,inst.isInt=(bag.format??"").includes("int")||Number.isSafeInteger(bag.multipleOf??0.5),inst.isFinite=!0,inst.format=bag.format??null});ZodNumberFormat=$constructor("ZodNumberFormat",(inst,def)=>{$ZodNumberFormat.init(inst,def),ZodNumber.init(inst,def)});ZodBoolean=$constructor("ZodBoolean",(inst,def)=>{$ZodBoolean.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>booleanProcessor(inst,ctx,json,params)});ZodBigInt=$constructor("ZodBigInt",(inst,def)=>{$ZodBigInt.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>bigintProcessor(inst,ctx,json,params),inst.gte=(value,params)=>inst.check(_gte(value,params)),inst.min=(value,params)=>inst.check(_gte(value,params)),inst.gt=(value,params)=>inst.check(_gt(value,params)),inst.gte=(value,params)=>inst.check(_gte(value,params)),inst.min=(value,params)=>inst.check(_gte(value,params)),inst.lt=(value,params)=>inst.check(_lt(value,params)),inst.lte=(value,params)=>inst.check(_lte(value,params)),inst.max=(value,params)=>inst.check(_lte(value,params)),inst.positive=(params)=>inst.check(_gt(BigInt(0),params)),inst.negative=(params)=>inst.check(_lt(BigInt(0),params)),inst.nonpositive=(params)=>inst.check(_lte(BigInt(0),params)),inst.nonnegative=(params)=>inst.check(_gte(BigInt(0),params)),inst.multipleOf=(value,params)=>inst.check(_multipleOf(value,params));let bag=inst._zod.bag;inst.minValue=bag.minimum??null,inst.maxValue=bag.maximum??null,inst.format=bag.format??null});ZodBigIntFormat=$constructor("ZodBigIntFormat",(inst,def)=>{$ZodBigIntFormat.init(inst,def),ZodBigInt.init(inst,def)});ZodSymbol=$constructor("ZodSymbol",(inst,def)=>{$ZodSymbol.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>symbolProcessor(inst,ctx,json,params)});ZodUndefined=$constructor("ZodUndefined",(inst,def)=>{$ZodUndefined.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>undefinedProcessor(inst,ctx,json,params)});ZodNull=$constructor("ZodNull",(inst,def)=>{$ZodNull.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>nullProcessor(inst,ctx,json,params)});ZodAny=$constructor("ZodAny",(inst,def)=>{$ZodAny.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>anyProcessor(inst,ctx,json,params)});ZodUnknown=$constructor("ZodUnknown",(inst,def)=>{$ZodUnknown.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>unknownProcessor(inst,ctx,json,params)});ZodNever=$constructor("ZodNever",(inst,def)=>{$ZodNever.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>neverProcessor(inst,ctx,json,params)});ZodVoid=$constructor("ZodVoid",(inst,def)=>{$ZodVoid.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>voidProcessor(inst,ctx,json,params)});ZodDate=$constructor("ZodDate",(inst,def)=>{$ZodDate.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>dateProcessor(inst,ctx,json,params),inst.min=(value,params)=>inst.check(_gte(value,params)),inst.max=(value,params)=>inst.check(_lte(value,params));let c=inst._zod.bag;inst.minDate=c.minimum?new Date(c.minimum):null,inst.maxDate=c.maximum?new Date(c.maximum):null});ZodArray=$constructor("ZodArray",(inst,def)=>{$ZodArray.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>arrayProcessor(inst,ctx,json,params),inst.element=def.element,_installLazyMethods(inst,"ZodArray",{min(n,params){return this.check(_minLength(n,params))},nonempty(params){return this.check(_minLength(1,params))},max(n,params){return this.check(_maxLength(n,params))},length(n,params){return this.check(_length(n,params))},unwrap(){return this.element}})});ZodObject=$constructor("ZodObject",(inst,def)=>{$ZodObjectJIT.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>objectProcessor(inst,ctx,json,params),exports_util.defineLazy(inst,"shape",()=>{return def.shape}),_installLazyMethods(inst,"ZodObject",{keyof(){return _enum2(Object.keys(this._zod.def.shape))},catchall(catchall){return this.clone({...this._zod.def,catchall})},passthrough(){return this.clone({...this._zod.def,catchall:unknown()})},loose(){return this.clone({...this._zod.def,catchall:unknown()})},strict(){return this.clone({...this._zod.def,catchall:never()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(incoming){return exports_util.extend(this,incoming)},safeExtend(incoming){return exports_util.safeExtend(this,incoming)},merge(other){return exports_util.merge(this,other)},pick(mask){return exports_util.pick(this,mask)},omit(mask){return exports_util.omit(this,mask)},partial(...args){return exports_util.partial(ZodOptional,this,args[0])},required(...args){return exports_util.required(ZodNonOptional,this,args[0])}})});ZodUnion=$constructor("ZodUnion",(inst,def)=>{$ZodUnion.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>unionProcessor(inst,ctx,json,params),inst.options=def.options});ZodXor=$constructor("ZodXor",(inst,def)=>{ZodUnion.init(inst,def),$ZodXor.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>unionProcessor(inst,ctx,json,params),inst.options=def.options});ZodDiscriminatedUnion=$constructor("ZodDiscriminatedUnion",(inst,def)=>{ZodUnion.init(inst,def),$ZodDiscriminatedUnion.init(inst,def)});ZodIntersection=$constructor("ZodIntersection",(inst,def)=>{$ZodIntersection.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>intersectionProcessor(inst,ctx,json,params)});ZodTuple=$constructor("ZodTuple",(inst,def)=>{$ZodTuple.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>tupleProcessor(inst,ctx,json,params),inst.rest=(rest)=>inst.clone({...inst._zod.def,rest})});ZodRecord=$constructor("ZodRecord",(inst,def)=>{$ZodRecord.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>recordProcessor(inst,ctx,json,params),inst.keyType=def.keyType,inst.valueType=def.valueType});ZodMap=$constructor("ZodMap",(inst,def)=>{$ZodMap.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>mapProcessor(inst,ctx,json,params),inst.keyType=def.keyType,inst.valueType=def.valueType,inst.min=(...args)=>inst.check(_minSize(...args)),inst.nonempty=(params)=>inst.check(_minSize(1,params)),inst.max=(...args)=>inst.check(_maxSize(...args)),inst.size=(...args)=>inst.check(_size(...args))});ZodSet=$constructor("ZodSet",(inst,def)=>{$ZodSet.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>setProcessor(inst,ctx,json,params),inst.min=(...args)=>inst.check(_minSize(...args)),inst.nonempty=(params)=>inst.check(_minSize(1,params)),inst.max=(...args)=>inst.check(_maxSize(...args)),inst.size=(...args)=>inst.check(_size(...args))});ZodEnum=$constructor("ZodEnum",(inst,def)=>{$ZodEnum.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>enumProcessor(inst,ctx,json,params),inst.enum=def.entries,inst.options=Object.values(def.entries);let keys=new Set(Object.keys(def.entries));inst.extract=(values,params)=>{let newEntries={};for(let value of values)if(keys.has(value))newEntries[value]=def.entries[value];else throw Error(`Key ${value} not found in enum`);return new ZodEnum({...def,checks:[],...exports_util.normalizeParams(params),entries:newEntries})},inst.exclude=(values,params)=>{let newEntries={...def.entries};for(let value of values)if(keys.has(value))delete newEntries[value];else throw Error(`Key ${value} not found in enum`);return new ZodEnum({...def,checks:[],...exports_util.normalizeParams(params),entries:newEntries})}});ZodLiteral=$constructor("ZodLiteral",(inst,def)=>{$ZodLiteral.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>literalProcessor(inst,ctx,json,params),inst.values=new Set(def.values),Object.defineProperty(inst,"value",{get(){if(def.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return def.values[0]}})});ZodFile=$constructor("ZodFile",(inst,def)=>{$ZodFile.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>fileProcessor(inst,ctx,json,params),inst.min=(size,params)=>inst.check(_minSize(size,params)),inst.max=(size,params)=>inst.check(_maxSize(size,params)),inst.mime=(types,params)=>inst.check(_mime(Array.isArray(types)?types:[types],params))});ZodTransform=$constructor("ZodTransform",(inst,def)=>{$ZodTransform.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>transformProcessor(inst,ctx,json,params),inst._zod.parse=(payload,_ctx)=>{if(_ctx.direction==="backward")throw new $ZodEncodeError(inst.constructor.name);payload.addIssue=(issue2)=>{if(typeof issue2==="string")payload.issues.push(exports_util.issue(issue2,payload.value,def));else{let _issue=issue2;if(_issue.fatal)_issue.continue=!1;_issue.code??(_issue.code="custom"),_issue.input??(_issue.input=payload.value),_issue.inst??(_issue.inst=inst),payload.issues.push(exports_util.issue(_issue))}};let output=def.transform(payload.value,payload);if(output instanceof Promise)return output.then((output2)=>{return payload.value=output2,payload.fallback=!0,payload});return payload.value=output,payload.fallback=!0,payload}});ZodOptional=$constructor("ZodOptional",(inst,def)=>{$ZodOptional.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>optionalProcessor(inst,ctx,json,params),inst.unwrap=()=>inst._zod.def.innerType});ZodExactOptional=$constructor("ZodExactOptional",(inst,def)=>{$ZodExactOptional.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>optionalProcessor(inst,ctx,json,params),inst.unwrap=()=>inst._zod.def.innerType});ZodNullable=$constructor("ZodNullable",(inst,def)=>{$ZodNullable.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>nullableProcessor(inst,ctx,json,params),inst.unwrap=()=>inst._zod.def.innerType});ZodDefault=$constructor("ZodDefault",(inst,def)=>{$ZodDefault.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>defaultProcessor(inst,ctx,json,params),inst.unwrap=()=>inst._zod.def.innerType,inst.removeDefault=inst.unwrap});ZodPrefault=$constructor("ZodPrefault",(inst,def)=>{$ZodPrefault.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>prefaultProcessor(inst,ctx,json,params),inst.unwrap=()=>inst._zod.def.innerType});ZodNonOptional=$constructor("ZodNonOptional",(inst,def)=>{$ZodNonOptional.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>nonoptionalProcessor(inst,ctx,json,params),inst.unwrap=()=>inst._zod.def.innerType});ZodSuccess=$constructor("ZodSuccess",(inst,def)=>{$ZodSuccess.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>successProcessor(inst,ctx,json,params),inst.unwrap=()=>inst._zod.def.innerType});ZodCatch=$constructor("ZodCatch",(inst,def)=>{$ZodCatch.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>catchProcessor(inst,ctx,json,params),inst.unwrap=()=>inst._zod.def.innerType,inst.removeCatch=inst.unwrap});ZodNaN=$constructor("ZodNaN",(inst,def)=>{$ZodNaN.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>nanProcessor(inst,ctx,json,params)});ZodPipe=$constructor("ZodPipe",(inst,def)=>{$ZodPipe.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>pipeProcessor(inst,ctx,json,params),inst.in=def.in,inst.out=def.out});ZodCodec=$constructor("ZodCodec",(inst,def)=>{ZodPipe.init(inst,def),$ZodCodec.init(inst,def)});ZodPreprocess=$constructor("ZodPreprocess",(inst,def)=>{ZodPipe.init(inst,def),$ZodPreprocess.init(inst,def)}),ZodReadonly=$constructor("ZodReadonly",(inst,def)=>{$ZodReadonly.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>readonlyProcessor(inst,ctx,json,params),inst.unwrap=()=>inst._zod.def.innerType});ZodTemplateLiteral=$constructor("ZodTemplateLiteral",(inst,def)=>{$ZodTemplateLiteral.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>templateLiteralProcessor(inst,ctx,json,params)});ZodLazy=$constructor("ZodLazy",(inst,def)=>{$ZodLazy.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>lazyProcessor(inst,ctx,json,params),inst.unwrap=()=>inst._zod.def.getter()});ZodPromise=$constructor("ZodPromise",(inst,def)=>{$ZodPromise.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>promiseProcessor(inst,ctx,json,params),inst.unwrap=()=>inst._zod.def.innerType});ZodFunction=$constructor("ZodFunction",(inst,def)=>{$ZodFunction.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>functionProcessor(inst,ctx,json,params)});ZodCustom=$constructor("ZodCustom",(inst,def)=>{$ZodCustom.init(inst,def),ZodType.init(inst,def),inst._zod.processJSONSchema=(ctx,json,params)=>customProcessor(inst,ctx,json,params)});describe2=describe,meta2=meta});function setErrorMap(map2){config({customError:map2})}function getErrorMap(){return config().customError}var ZodIssueCode,ZodFirstPartyTypeKind;var init_compat=__esm(()=>{init_core2();ZodIssueCode={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(ZodFirstPartyTypeKind2){})(ZodFirstPartyTypeKind||(ZodFirstPartyTypeKind={}))});function detectVersion(schema,defaultTarget){let $schema=schema.$schema;if($schema==="https://json-schema.org/draft/2020-12/schema")return"draft-2020-12";if($schema==="http://json-schema.org/draft-07/schema#")return"draft-7";if($schema==="http://json-schema.org/draft-04/schema#")return"draft-4";return defaultTarget??"draft-2020-12"}function resolveRef(ref,ctx){if(!ref.startsWith("#"))throw Error("External $ref is not supported, only local refs (#/...) are allowed");let path=ref.slice(1).split("/").filter(Boolean);if(path.length===0)return ctx.rootSchema;let defsKey=ctx.version==="draft-2020-12"?"$defs":"definitions";if(path[0]===defsKey){let key=path[1];if(!key||!ctx.defs[key])throw Error(`Reference not found: ${ref}`);return ctx.defs[key]}throw Error(`Reference not found: ${ref}`)}function convertBaseSchema(schema,ctx){if(schema.not!==void 0){if(typeof schema.not==="object"&&Object.keys(schema.not).length===0)return z.never();throw Error("not is not supported in Zod (except { not: {} } for never)")}if(schema.unevaluatedItems!==void 0)throw Error("unevaluatedItems is not supported");if(schema.unevaluatedProperties!==void 0)throw Error("unevaluatedProperties is not supported");if(schema.if!==void 0||schema.then!==void 0||schema.else!==void 0)throw Error("Conditional schemas (if/then/else) are not supported");if(schema.dependentSchemas!==void 0||schema.dependentRequired!==void 0)throw Error("dependentSchemas and dependentRequired are not supported");if(schema.$ref){let refPath=schema.$ref;if(ctx.refs.has(refPath))return ctx.refs.get(refPath);if(ctx.processing.has(refPath))return z.lazy(()=>{if(!ctx.refs.has(refPath))throw Error(`Circular reference not resolved: ${refPath}`);return ctx.refs.get(refPath)});ctx.processing.add(refPath);let resolved=resolveRef(refPath,ctx),zodSchema2=convertSchema(resolved,ctx);return ctx.refs.set(refPath,zodSchema2),ctx.processing.delete(refPath),zodSchema2}if(schema.enum!==void 0){let enumValues=schema.enum;if(ctx.version==="openapi-3.0"&&schema.nullable===!0&&enumValues.length===1&&enumValues[0]===null)return z.null();if(enumValues.length===0)return z.never();if(enumValues.length===1)return z.literal(enumValues[0]);if(enumValues.every((v)=>typeof v==="string"))return z.enum(enumValues);let literalSchemas=enumValues.map((v)=>z.literal(v));if(literalSchemas.length<2)return literalSchemas[0];return z.union([literalSchemas[0],literalSchemas[1],...literalSchemas.slice(2)])}if(schema.const!==void 0)return z.literal(schema.const);let type=schema.type;if(Array.isArray(type)){let typeSchemas=type.map((t)=>{let typeSchema={...schema,type:t};return convertBaseSchema(typeSchema,ctx)});if(typeSchemas.length===0)return z.never();if(typeSchemas.length===1)return typeSchemas[0];return z.union(typeSchemas)}if(!type)return z.any();let zodSchema;switch(type){case"string":{let stringSchema=z.string();if(schema.format){let format=schema.format;if(format==="email")stringSchema=stringSchema.check(z.email());else if(format==="uri"||format==="uri-reference")stringSchema=stringSchema.check(z.url());else if(format==="uuid"||format==="guid")stringSchema=stringSchema.check(z.uuid());else if(format==="date-time")stringSchema=stringSchema.check(z.iso.datetime());else if(format==="date")stringSchema=stringSchema.check(z.iso.date());else if(format==="time")stringSchema=stringSchema.check(z.iso.time());else if(format==="duration")stringSchema=stringSchema.check(z.iso.duration());else if(format==="ipv4")stringSchema=stringSchema.check(z.ipv4());else if(format==="ipv6")stringSchema=stringSchema.check(z.ipv6());else if(format==="mac")stringSchema=stringSchema.check(z.mac());else if(format==="cidr")stringSchema=stringSchema.check(z.cidrv4());else if(format==="cidr-v6")stringSchema=stringSchema.check(z.cidrv6());else if(format==="base64")stringSchema=stringSchema.check(z.base64());else if(format==="base64url")stringSchema=stringSchema.check(z.base64url());else if(format==="e164")stringSchema=stringSchema.check(z.e164());else if(format==="jwt")stringSchema=stringSchema.check(z.jwt());else if(format==="emoji")stringSchema=stringSchema.check(z.emoji());else if(format==="nanoid")stringSchema=stringSchema.check(z.nanoid());else if(format==="cuid")stringSchema=stringSchema.check(z.cuid());else if(format==="cuid2")stringSchema=stringSchema.check(z.cuid2());else if(format==="ulid")stringSchema=stringSchema.check(z.ulid());else if(format==="xid")stringSchema=stringSchema.check(z.xid());else if(format==="ksuid")stringSchema=stringSchema.check(z.ksuid())}if(typeof schema.minLength==="number")stringSchema=stringSchema.min(schema.minLength);if(typeof schema.maxLength==="number")stringSchema=stringSchema.max(schema.maxLength);if(schema.pattern)stringSchema=stringSchema.regex(new RegExp(schema.pattern));zodSchema=stringSchema;break}case"number":case"integer":{let numberSchema=type==="integer"?z.number().int():z.number();if(typeof schema.minimum==="number")numberSchema=numberSchema.min(schema.minimum);if(typeof schema.maximum==="number")numberSchema=numberSchema.max(schema.maximum);if(typeof schema.exclusiveMinimum==="number")numberSchema=numberSchema.gt(schema.exclusiveMinimum);else if(schema.exclusiveMinimum===!0&&typeof schema.minimum==="number")numberSchema=numberSchema.gt(schema.minimum);if(typeof schema.exclusiveMaximum==="number")numberSchema=numberSchema.lt(schema.exclusiveMaximum);else if(schema.exclusiveMaximum===!0&&typeof schema.maximum==="number")numberSchema=numberSchema.lt(schema.maximum);if(typeof schema.multipleOf==="number")numberSchema=numberSchema.multipleOf(schema.multipleOf);zodSchema=numberSchema;break}case"boolean":{zodSchema=z.boolean();break}case"null":{zodSchema=z.null();break}case"object":{let shape={},properties=schema.properties||{},requiredSet=new Set(schema.required||[]);for(let[key,propSchema]of Object.entries(properties)){let propZodSchema=convertSchema(propSchema,ctx);shape[key]=requiredSet.has(key)?propZodSchema:propZodSchema.optional()}if(schema.propertyNames){let keySchema=convertSchema(schema.propertyNames,ctx),valueSchema=schema.additionalProperties&&typeof schema.additionalProperties==="object"?convertSchema(schema.additionalProperties,ctx):z.any();if(Object.keys(shape).length===0){zodSchema=z.record(keySchema,valueSchema);break}let objectSchema2=z.object(shape).passthrough(),recordSchema=z.looseRecord(keySchema,valueSchema);zodSchema=z.intersection(objectSchema2,recordSchema);break}if(schema.patternProperties){let patternProps=schema.patternProperties,patternKeys=Object.keys(patternProps),looseRecords=[];for(let pattern of patternKeys){let patternValue=convertSchema(patternProps[pattern],ctx),keySchema=z.string().regex(new RegExp(pattern));looseRecords.push(z.looseRecord(keySchema,patternValue))}let schemasToIntersect=[];if(Object.keys(shape).length>0)schemasToIntersect.push(z.object(shape).passthrough());if(schemasToIntersect.push(...looseRecords),schemasToIntersect.length===0)zodSchema=z.object({}).passthrough();else if(schemasToIntersect.length===1)zodSchema=schemasToIntersect[0];else{let result=z.intersection(schemasToIntersect[0],schemasToIntersect[1]);for(let i=2;i<schemasToIntersect.length;i++)result=z.intersection(result,schemasToIntersect[i]);zodSchema=result}break}let objectSchema=z.object(shape);if(schema.additionalProperties===!1)zodSchema=objectSchema.strict();else if(typeof schema.additionalProperties==="object")zodSchema=objectSchema.catchall(convertSchema(schema.additionalProperties,ctx));else zodSchema=objectSchema.passthrough();break}case"array":{let{prefixItems,items}=schema;if(prefixItems&&Array.isArray(prefixItems)){let tupleItems=prefixItems.map((item)=>convertSchema(item,ctx)),rest=items&&typeof items==="object"&&!Array.isArray(items)?convertSchema(items,ctx):void 0;if(rest)zodSchema=z.tuple(tupleItems).rest(rest);else zodSchema=z.tuple(tupleItems);if(typeof schema.minItems==="number")zodSchema=zodSchema.check(z.minLength(schema.minItems));if(typeof schema.maxItems==="number")zodSchema=zodSchema.check(z.maxLength(schema.maxItems))}else if(Array.isArray(items)){let tupleItems=items.map((item)=>convertSchema(item,ctx)),rest=schema.additionalItems&&typeof schema.additionalItems==="object"?convertSchema(schema.additionalItems,ctx):void 0;if(rest)zodSchema=z.tuple(tupleItems).rest(rest);else zodSchema=z.tuple(tupleItems);if(typeof schema.minItems==="number")zodSchema=zodSchema.check(z.minLength(schema.minItems));if(typeof schema.maxItems==="number")zodSchema=zodSchema.check(z.maxLength(schema.maxItems))}else if(items!==void 0){let element=convertSchema(items,ctx),arraySchema=z.array(element);if(typeof schema.minItems==="number")arraySchema=arraySchema.min(schema.minItems);if(typeof schema.maxItems==="number")arraySchema=arraySchema.max(schema.maxItems);zodSchema=arraySchema}else zodSchema=z.array(z.any());break}default:throw Error(`Unsupported type: ${type}`)}return zodSchema}function convertSchema(schema,ctx){if(typeof schema==="boolean")return schema?z.any():z.never();let baseSchema=convertBaseSchema(schema,ctx),hasExplicitType=schema.type||schema.enum!==void 0||schema.const!==void 0;if(schema.anyOf&&Array.isArray(schema.anyOf)){let options=schema.anyOf.map((s)=>convertSchema(s,ctx)),anyOfUnion=z.union(options);baseSchema=hasExplicitType?z.intersection(baseSchema,anyOfUnion):anyOfUnion}if(schema.oneOf&&Array.isArray(schema.oneOf)){let options=schema.oneOf.map((s)=>convertSchema(s,ctx)),oneOfUnion=z.xor(options);baseSchema=hasExplicitType?z.intersection(baseSchema,oneOfUnion):oneOfUnion}if(schema.allOf&&Array.isArray(schema.allOf))if(schema.allOf.length===0)baseSchema=hasExplicitType?baseSchema:z.any();else{let result=hasExplicitType?baseSchema:convertSchema(schema.allOf[0],ctx),startIdx=hasExplicitType?0:1;for(let i=startIdx;i<schema.allOf.length;i++)result=z.intersection(result,convertSchema(schema.allOf[i],ctx));baseSchema=result}if(schema.nullable===!0&&ctx.version==="openapi-3.0")baseSchema=z.nullable(baseSchema);if(schema.readOnly===!0)baseSchema=z.readonly(baseSchema);if(schema.default!==void 0)baseSchema=baseSchema.default(schema.default);let extraMeta={},coreMetadataKeys=["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"];for(let key of coreMetadataKeys)if(key in schema)extraMeta[key]=schema[key];let contentMetadataKeys=["contentEncoding","contentMediaType","contentSchema"];for(let key of contentMetadataKeys)if(key in schema)extraMeta[key]=schema[key];for(let key of Object.keys(schema))if(!RECOGNIZED_KEYS.has(key))extraMeta[key]=schema[key];if(Object.keys(extraMeta).length>0)ctx.registry.add(baseSchema,extraMeta);if(schema.description)baseSchema=baseSchema.describe(schema.description);return baseSchema}function fromJSONSchema(schema,params){if(typeof schema==="boolean")return schema?z.any():z.never();let normalized;try{normalized=JSON.parse(JSON.stringify(schema))}catch{throw Error("fromJSONSchema input is not valid JSON (possibly cyclic); use $defs/$ref for recursive schemas")}let version2=detectVersion(normalized,params?.defaultTarget),defs=normalized.$defs||normalized.definitions||{},ctx={version:version2,defs,refs:new Map,processing:new Set,rootSchema:normalized,registry:params?.registry??globalRegistry};return convertSchema(normalized,ctx)}var z,RECOGNIZED_KEYS;var init_from_json_schema=__esm(()=>{init_registries();init_checks2();init_iso();init_schemas2();z={...exports_schemas2,...exports_checks2,iso:exports_iso},RECOGNIZED_KEYS=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"])});var exports_coerce={};__export(exports_coerce,{string:()=>string3,number:()=>number3,date:()=>date4,boolean:()=>boolean3,bigint:()=>bigint3});function string3(params){return _coercedString(ZodString,params)}function number3(params){return _coercedNumber(ZodNumber,params)}function boolean3(params){return _coercedBoolean(ZodBoolean,params)}function bigint3(params){return _coercedBigint(ZodBigInt,params)}function date4(params){return _coercedDate(ZodDate,params)}var init_coerce=__esm(()=>{init_core2();init_schemas2()});var exports_external={};__export(exports_external,{xor:()=>xor,xid:()=>xid2,void:()=>_void2,uuidv7:()=>uuidv7,uuidv6:()=>uuidv6,uuidv4:()=>uuidv4,uuid:()=>uuid2,util:()=>exports_util,url:()=>url,uppercase:()=>_uppercase,unknown:()=>unknown,union:()=>union,undefined:()=>_undefined3,ulid:()=>ulid2,uint64:()=>uint64,uint32:()=>uint32,tuple:()=>tuple,trim:()=>_trim,treeifyError:()=>treeifyError,transform:()=>transform,toUpperCase:()=>_toUpperCase,toLowerCase:()=>_toLowerCase,toJSONSchema:()=>toJSONSchema,templateLiteral:()=>templateLiteral,symbol:()=>symbol,superRefine:()=>superRefine,success:()=>success,stringbool:()=>stringbool,stringFormat:()=>stringFormat,string:()=>string2,strictObject:()=>strictObject,startsWith:()=>_startsWith,slugify:()=>_slugify,size:()=>_size,setErrorMap:()=>setErrorMap,set:()=>set,safeParseAsync:()=>safeParseAsync2,safeParse:()=>safeParse2,safeEncodeAsync:()=>safeEncodeAsync2,safeEncode:()=>safeEncode2,safeDecodeAsync:()=>safeDecodeAsync2,safeDecode:()=>safeDecode2,registry:()=>registry,regexes:()=>exports_regexes,regex:()=>_regex,refine:()=>refine,record:()=>record,readonly:()=>readonly,property:()=>_property,promise:()=>promise,prettifyError:()=>prettifyError,preprocess:()=>preprocess,prefault:()=>prefault,positive:()=>_positive,pipe:()=>pipe,partialRecord:()=>partialRecord,parseAsync:()=>parseAsync2,parse:()=>parse3,overwrite:()=>_overwrite,optional:()=>optional,object:()=>object,number:()=>number2,nullish:()=>nullish2,nullable:()=>nullable,null:()=>_null3,normalize:()=>_normalize,nonpositive:()=>_nonpositive,nonoptional:()=>nonoptional,nonnegative:()=>_nonnegative,never:()=>never,negative:()=>_negative,nativeEnum:()=>nativeEnum,nanoid:()=>nanoid2,nan:()=>nan,multipleOf:()=>_multipleOf,minSize:()=>_minSize,minLength:()=>_minLength,mime:()=>_mime,meta:()=>meta2,maxSize:()=>_maxSize,maxLength:()=>_maxLength,map:()=>map,mac:()=>mac2,lte:()=>_lte,lt:()=>_lt,lowercase:()=>_lowercase,looseRecord:()=>looseRecord,looseObject:()=>looseObject,locales:()=>exports_locales,literal:()=>literal,length:()=>_length,lazy:()=>lazy,ksuid:()=>ksuid2,keyof:()=>keyof,jwt:()=>jwt,json:()=>json,iso:()=>exports_iso,ipv6:()=>ipv62,ipv4:()=>ipv42,invertCodec:()=>invertCodec,intersection:()=>intersection,int64:()=>int64,int32:()=>int32,int:()=>int,instanceof:()=>_instanceof,includes:()=>_includes,httpUrl:()=>httpUrl,hostname:()=>hostname2,hex:()=>hex2,hash:()=>hash,guid:()=>guid2,gte:()=>_gte,gt:()=>_gt,globalRegistry:()=>globalRegistry,getErrorMap:()=>getErrorMap,function:()=>_function,fromJSONSchema:()=>fromJSONSchema,formatError:()=>formatError,float64:()=>float64,float32:()=>float32,flattenError:()=>flattenError,file:()=>file,exactOptional:()=>exactOptional,enum:()=>_enum2,endsWith:()=>_endsWith,encodeAsync:()=>encodeAsync2,encode:()=>encode2,emoji:()=>emoji2,email:()=>email2,e164:()=>e1642,discriminatedUnion:()=>discriminatedUnion,describe:()=>describe2,decodeAsync:()=>decodeAsync2,decode:()=>decode2,date:()=>date3,custom:()=>custom,cuid2:()=>cuid22,cuid:()=>cuid3,core:()=>exports_core2,config:()=>config,coerce:()=>exports_coerce,codec:()=>codec,clone:()=>clone,cidrv6:()=>cidrv62,cidrv4:()=>cidrv42,check:()=>check,catch:()=>_catch2,boolean:()=>boolean2,bigint:()=>bigint2,base64url:()=>base64url2,base64:()=>base642,array:()=>array,any:()=>any,_function:()=>_function,_default:()=>_default2,_ZodString:()=>_ZodString,ZodXor:()=>ZodXor,ZodXID:()=>ZodXID,ZodVoid:()=>ZodVoid,ZodUnknown:()=>ZodUnknown,ZodUnion:()=>ZodUnion,ZodUndefined:()=>ZodUndefined,ZodUUID:()=>ZodUUID,ZodURL:()=>ZodURL,ZodULID:()=>ZodULID,ZodType:()=>ZodType,ZodTuple:()=>ZodTuple,ZodTransform:()=>ZodTransform,ZodTemplateLiteral:()=>ZodTemplateLiteral,ZodSymbol:()=>ZodSymbol,ZodSuccess:()=>ZodSuccess,ZodStringFormat:()=>ZodStringFormat,ZodString:()=>ZodString,ZodSet:()=>ZodSet,ZodRecord:()=>ZodRecord,ZodRealError:()=>ZodRealError,ZodReadonly:()=>ZodReadonly,ZodPromise:()=>ZodPromise,ZodPreprocess:()=>ZodPreprocess,ZodPrefault:()=>ZodPrefault,ZodPipe:()=>ZodPipe,ZodOptional:()=>ZodOptional,ZodObject:()=>ZodObject,ZodNumberFormat:()=>ZodNumberFormat,ZodNumber:()=>ZodNumber,ZodNullable:()=>ZodNullable,ZodNull:()=>ZodNull,ZodNonOptional:()=>ZodNonOptional,ZodNever:()=>ZodNever,ZodNanoID:()=>ZodNanoID,ZodNaN:()=>ZodNaN,ZodMap:()=>ZodMap,ZodMAC:()=>ZodMAC,ZodLiteral:()=>ZodLiteral,ZodLazy:()=>ZodLazy,ZodKSUID:()=>ZodKSUID,ZodJWT:()=>ZodJWT,ZodIssueCode:()=>ZodIssueCode,ZodIntersection:()=>ZodIntersection,ZodISOTime:()=>ZodISOTime,ZodISODuration:()=>ZodISODuration,ZodISODateTime:()=>ZodISODateTime,ZodISODate:()=>ZodISODate,ZodIPv6:()=>ZodIPv6,ZodIPv4:()=>ZodIPv4,ZodGUID:()=>ZodGUID,ZodFunction:()=>ZodFunction,ZodFirstPartyTypeKind:()=>ZodFirstPartyTypeKind,ZodFile:()=>ZodFile,ZodExactOptional:()=>ZodExactOptional,ZodError:()=>ZodError,ZodEnum:()=>ZodEnum,ZodEmoji:()=>ZodEmoji,ZodEmail:()=>ZodEmail,ZodE164:()=>ZodE164,ZodDiscriminatedUnion:()=>ZodDiscriminatedUnion,ZodDefault:()=>ZodDefault,ZodDate:()=>ZodDate,ZodCustomStringFormat:()=>ZodCustomStringFormat,ZodCustom:()=>ZodCustom,ZodCodec:()=>ZodCodec,ZodCatch:()=>ZodCatch,ZodCUID2:()=>ZodCUID2,ZodCUID:()=>ZodCUID,ZodCIDRv6:()=>ZodCIDRv6,ZodCIDRv4:()=>ZodCIDRv4,ZodBoolean:()=>ZodBoolean,ZodBigIntFormat:()=>ZodBigIntFormat,ZodBigInt:()=>ZodBigInt,ZodBase64URL:()=>ZodBase64URL,ZodBase64:()=>ZodBase64,ZodArray:()=>ZodArray,ZodAny:()=>ZodAny,TimePrecision:()=>TimePrecision,NEVER:()=>NEVER,$output:()=>$output,$input:()=>$input,$brand:()=>$brand});var init_external=__esm(()=>{init_core2();init_core2();init_en();init_core2();init_json_schema_processors();init_from_json_schema();init_locales();init_iso();init_iso();init_coerce();init_schemas2();init_checks2();init_errors2();init_parse2();init_compat();config(en_default())});var init_zod=__esm(()=>{init_external();init_external()});var ErrorCode;var init_errors3=__esm(()=>{ErrorCode={NotFound:"NOT_FOUND",Validation:"VALIDATION",Conflict:"CONFLICT",Internal:"INTERNAL"}});var API_ERROR_CODES,ERROR_CODE_TO_HTTP,CLIENT_SAFE_CODES;var init_api_response=__esm(()=>{init_errors3();API_ERROR_CODES={SUCCESS:0,NOT_FOUND:404,VALIDATION_ERROR:422,BAD_REQUEST:400,UNAUTHORIZED:401,FORBIDDEN:403,CONFLICT:409,INTERNAL_ERROR:500},ERROR_CODE_TO_HTTP={[ErrorCode.NotFound]:API_ERROR_CODES.NOT_FOUND,[ErrorCode.Validation]:API_ERROR_CODES.VALIDATION_ERROR,[ErrorCode.Conflict]:API_ERROR_CODES.CONFLICT,[ErrorCode.Internal]:API_ERROR_CODES.INTERNAL_ERROR},CLIENT_SAFE_CODES=new Set([ErrorCode.NotFound,ErrorCode.Validation,ErrorCode.Conflict])});var init_cursor=()=>{};function getEnvVar(name,fallback){let raw=process.env[name];return raw===void 0?fallback:raw}function getEnvVars(){return process.env}var init_event_severity=()=>{};function isPlainObject2(value){return typeof value==="object"&&value!==null&&!Array.isArray(value)}function deepMerge(target,source){let result={...target};for(let[key,value]of Object.entries(source)){if(key==="__proto__")continue;if(isPlainObject2(value)&&isPlainObject2(result[key]))result[key]=deepMerge(result[key],value);else result[key]=value}return result}var init_dist=__esm(()=>{init_api_response();init_cursor();init_errors3();init_event_severity()});var require_identity=__commonJS((exports)=>{var ALIAS=Symbol.for("yaml.alias"),DOC=Symbol.for("yaml.document"),MAP=Symbol.for("yaml.map"),PAIR=Symbol.for("yaml.pair"),SCALAR=Symbol.for("yaml.scalar"),SEQ=Symbol.for("yaml.seq"),NODE_TYPE=Symbol.for("yaml.node.type"),isAlias=(node)=>!!node&&typeof node==="object"&&node[NODE_TYPE]===ALIAS,isDocument=(node)=>!!node&&typeof node==="object"&&node[NODE_TYPE]===DOC,isMap=(node)=>!!node&&typeof node==="object"&&node[NODE_TYPE]===MAP,isPair=(node)=>!!node&&typeof node==="object"&&node[NODE_TYPE]===PAIR,isScalar=(node)=>!!node&&typeof node==="object"&&node[NODE_TYPE]===SCALAR,isSeq=(node)=>!!node&&typeof node==="object"&&node[NODE_TYPE]===SEQ;function isCollection(node){if(node&&typeof node==="object")switch(node[NODE_TYPE]){case MAP:case SEQ:return!0}return!1}function isNode(node){if(node&&typeof node==="object")switch(node[NODE_TYPE]){case ALIAS:case MAP:case SCALAR:case SEQ:return!0}return!1}var hasAnchor=(node)=>(isScalar(node)||isCollection(node))&&!!node.anchor;exports.ALIAS=ALIAS;exports.DOC=DOC;exports.MAP=MAP;exports.NODE_TYPE=NODE_TYPE;exports.PAIR=PAIR;exports.SCALAR=SCALAR;exports.SEQ=SEQ;exports.hasAnchor=hasAnchor;exports.isAlias=isAlias;exports.isCollection=isCollection;exports.isDocument=isDocument;exports.isMap=isMap;exports.isNode=isNode;exports.isPair=isPair;exports.isScalar=isScalar;exports.isSeq=isSeq});var require_visit=__commonJS((exports)=>{var identity=require_identity(),BREAK=Symbol("break visit"),SKIP=Symbol("skip children"),REMOVE=Symbol("remove node");function visit(node,visitor){let visitor_=initVisitor(visitor);if(identity.isDocument(node)){if(visit_(null,node.contents,visitor_,Object.freeze([node]))===REMOVE)node.contents=null}else visit_(null,node,visitor_,Object.freeze([]))}visit.BREAK=BREAK;visit.SKIP=SKIP;visit.REMOVE=REMOVE;function visit_(key,node,visitor,path){let ctrl=callVisitor(key,node,visitor,path);if(identity.isNode(ctrl)||identity.isPair(ctrl))return replaceNode(key,path,ctrl),visit_(key,ctrl,visitor,path);if(typeof ctrl!=="symbol"){if(identity.isCollection(node)){path=Object.freeze(path.concat(node));for(let i=0;i<node.items.length;++i){let ci=visit_(i,node.items[i],visitor,path);if(typeof ci==="number")i=ci-1;else if(ci===BREAK)return BREAK;else if(ci===REMOVE)node.items.splice(i,1),i-=1}}else if(identity.isPair(node)){path=Object.freeze(path.concat(node));let ck=visit_("key",node.key,visitor,path);if(ck===BREAK)return BREAK;else if(ck===REMOVE)node.key=null;let cv=visit_("value",node.value,visitor,path);if(cv===BREAK)return BREAK;else if(cv===REMOVE)node.value=null}}return ctrl}async function visitAsync(node,visitor){let visitor_=initVisitor(visitor);if(identity.isDocument(node)){if(await visitAsync_(null,node.contents,visitor_,Object.freeze([node]))===REMOVE)node.contents=null}else await visitAsync_(null,node,visitor_,Object.freeze([]))}visitAsync.BREAK=BREAK;visitAsync.SKIP=SKIP;visitAsync.REMOVE=REMOVE;async function visitAsync_(key,node,visitor,path){let ctrl=await callVisitor(key,node,visitor,path);if(identity.isNode(ctrl)||identity.isPair(ctrl))return replaceNode(key,path,ctrl),visitAsync_(key,ctrl,visitor,path);if(typeof ctrl!=="symbol"){if(identity.isCollection(node)){path=Object.freeze(path.concat(node));for(let i=0;i<node.items.length;++i){let ci=await visitAsync_(i,node.items[i],visitor,path);if(typeof ci==="number")i=ci-1;else if(ci===BREAK)return BREAK;else if(ci===REMOVE)node.items.splice(i,1),i-=1}}else if(identity.isPair(node)){path=Object.freeze(path.concat(node));let ck=await visitAsync_("key",node.key,visitor,path);if(ck===BREAK)return BREAK;else if(ck===REMOVE)node.key=null;let cv=await visitAsync_("value",node.value,visitor,path);if(cv===BREAK)return BREAK;else if(cv===REMOVE)node.value=null}}return ctrl}function initVisitor(visitor){if(typeof visitor==="object"&&(visitor.Collection||visitor.Node||visitor.Value))return Object.assign({Alias:visitor.Node,Map:visitor.Node,Scalar:visitor.Node,Seq:visitor.Node},visitor.Value&&{Map:visitor.Value,Scalar:visitor.Value,Seq:visitor.Value},visitor.Collection&&{Map:visitor.Collection,Seq:visitor.Collection},visitor);return visitor}function callVisitor(key,node,visitor,path){if(typeof visitor==="function")return visitor(key,node,path);if(identity.isMap(node))return visitor.Map?.(key,node,path);if(identity.isSeq(node))return visitor.Seq?.(key,node,path);if(identity.isPair(node))return visitor.Pair?.(key,node,path);if(identity.isScalar(node))return visitor.Scalar?.(key,node,path);if(identity.isAlias(node))return visitor.Alias?.(key,node,path);return}function replaceNode(key,path,node){let parent=path[path.length-1];if(identity.isCollection(parent))parent.items[key]=node;else if(identity.isPair(parent))if(key==="key")parent.key=node;else parent.value=node;else if(identity.isDocument(parent))parent.contents=node;else{let pt=identity.isAlias(parent)?"alias":"scalar";throw Error(`Cannot replace node with ${pt} parent`)}}exports.visit=visit;exports.visitAsync=visitAsync});var require_directives=__commonJS((exports)=>{var identity=require_identity(),visit=require_visit(),escapeChars={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},escapeTagName=(tn)=>tn.replace(/[!,[\]{}]/g,(ch)=>escapeChars[ch]);class Directives{constructor(yaml,tags){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},Directives.defaultYaml,yaml),this.tags=Object.assign({},Directives.defaultTags,tags)}clone(){let copy=new Directives(this.yaml,this.tags);return copy.docStart=this.docStart,copy}atDocument(){let res=new Directives(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:Directives.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},Directives.defaultTags);break}return res}add(line,onError){if(this.atNextDocument)this.yaml={explicit:Directives.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},Directives.defaultTags),this.atNextDocument=!1;let parts=line.trim().split(/[ \t]+/),name=parts.shift();switch(name){case"%TAG":{if(parts.length!==2){if(onError(0,"%TAG directive should contain exactly two parts"),parts.length<2)return!1}let[handle,prefix]=parts;return this.tags[handle]=prefix,!0}case"%YAML":{if(this.yaml.explicit=!0,parts.length!==1)return onError(0,"%YAML directive should contain exactly one part"),!1;let[version2]=parts;if(version2==="1.1"||version2==="1.2")return this.yaml.version=version2,!0;else{let isValid=/^\d+\.\d+$/.test(version2);return onError(6,`Unsupported YAML version ${version2}`,isValid),!1}}default:return onError(0,`Unknown directive ${name}`,!0),!1}}tagName(source,onError){if(source==="!")return"!";if(source[0]!=="!")return onError(`Not a valid tag: ${source}`),null;if(source[1]==="<"){let verbatim=source.slice(2,-1);if(verbatim==="!"||verbatim==="!!")return onError(`Verbatim tags aren't resolved, so ${source} is invalid.`),null;if(source[source.length-1]!==">")onError("Verbatim tags must end with a >");return verbatim}let[,handle,suffix]=source.match(/^(.*!)([^!]*)$/s);if(!suffix)onError(`The ${source} tag has no suffix`);let prefix=this.tags[handle];if(prefix)try{return prefix+decodeURIComponent(suffix)}catch(error51){return onError(String(error51)),null}if(handle==="!")return source;return onError(`Could not resolve tag: ${source}`),null}tagString(tag){for(let[handle,prefix]of Object.entries(this.tags))if(tag.startsWith(prefix))return handle+escapeTagName(tag.substring(prefix.length));return tag[0]==="!"?tag:`!<${tag}>`}toString(doc2){let lines=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],tagEntries=Object.entries(this.tags),tagNames;if(doc2&&tagEntries.length>0&&identity.isNode(doc2.contents)){let tags={};visit.visit(doc2.contents,(_key,node)=>{if(identity.isNode(node)&&node.tag)tags[node.tag]=!0}),tagNames=Object.keys(tags)}else tagNames=[];for(let[handle,prefix]of tagEntries){if(handle==="!!"&&prefix==="tag:yaml.org,2002:")continue;if(!doc2||tagNames.some((tn)=>tn.startsWith(prefix)))lines.push(`%TAG ${handle} ${prefix}`)}return lines.join(`
|
|
66
|
+
`)}}Directives.defaultYaml={explicit:!1,version:"1.2"};Directives.defaultTags={"!!":"tag:yaml.org,2002:"};exports.Directives=Directives});var require_anchors=__commonJS((exports)=>{var identity=require_identity(),visit=require_visit();function anchorIsValid(anchor){if(/[\x00-\x19\s,[\]{}]/.test(anchor)){let msg=`Anchor must not contain whitespace or control characters: ${JSON.stringify(anchor)}`;throw Error(msg)}return!0}function anchorNames(root){let anchors=new Set;return visit.visit(root,{Value(_key,node){if(node.anchor)anchors.add(node.anchor)}}),anchors}function findNewAnchor(prefix,exclude){for(let i=1;;++i){let name=`${prefix}${i}`;if(!exclude.has(name))return name}}function createNodeAnchors(doc2,prefix){let aliasObjects=[],sourceObjects=new Map,prevAnchors=null;return{onAnchor:(source)=>{aliasObjects.push(source),prevAnchors??(prevAnchors=anchorNames(doc2));let anchor=findNewAnchor(prefix,prevAnchors);return prevAnchors.add(anchor),anchor},setAnchors:()=>{for(let source of aliasObjects){let ref=sourceObjects.get(source);if(typeof ref==="object"&&ref.anchor&&(identity.isScalar(ref.node)||identity.isCollection(ref.node)))ref.node.anchor=ref.anchor;else{let error51=Error("Failed to resolve repeated object (this should not happen)");throw error51.source=source,error51}}},sourceObjects}}exports.anchorIsValid=anchorIsValid;exports.anchorNames=anchorNames;exports.createNodeAnchors=createNodeAnchors;exports.findNewAnchor=findNewAnchor});var require_applyReviver=__commonJS((exports)=>{function applyReviver(reviver,obj,key,val){if(val&&typeof val==="object")if(Array.isArray(val))for(let i=0,len=val.length;i<len;++i){let v0=val[i],v1=applyReviver(reviver,val,String(i),v0);if(v1===void 0)delete val[i];else if(v1!==v0)val[i]=v1}else if(val instanceof Map)for(let k of Array.from(val.keys())){let v0=val.get(k),v1=applyReviver(reviver,val,k,v0);if(v1===void 0)val.delete(k);else if(v1!==v0)val.set(k,v1)}else if(val instanceof Set)for(let v0 of Array.from(val)){let v1=applyReviver(reviver,val,v0,v0);if(v1===void 0)val.delete(v0);else if(v1!==v0)val.delete(v0),val.add(v1)}else for(let[k,v0]of Object.entries(val)){let v1=applyReviver(reviver,val,k,v0);if(v1===void 0)delete val[k];else if(v1!==v0)val[k]=v1}return reviver.call(obj,key,val)}exports.applyReviver=applyReviver});var require_toJS=__commonJS((exports)=>{var identity=require_identity();function toJS(value,arg,ctx){if(Array.isArray(value))return value.map((v,i)=>toJS(v,String(i),ctx));if(value&&typeof value.toJSON==="function"){if(!ctx||!identity.hasAnchor(value))return value.toJSON(arg,ctx);let data={aliasCount:0,count:1,res:void 0};ctx.anchors.set(value,data),ctx.onCreate=(res2)=>{data.res=res2,delete ctx.onCreate};let res=value.toJSON(arg,ctx);if(ctx.onCreate)ctx.onCreate(res);return res}if(typeof value==="bigint"&&!ctx?.keep)return Number(value);return value}exports.toJS=toJS});var require_Node=__commonJS((exports)=>{var applyReviver=require_applyReviver(),identity=require_identity(),toJS=require_toJS();class NodeBase{constructor(type){Object.defineProperty(this,identity.NODE_TYPE,{value:type})}clone(){let copy=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(this.range)copy.range=this.range.slice();return copy}toJS(doc2,{mapAsMap,maxAliasCount,onAnchor,reviver}={}){if(!identity.isDocument(doc2))throw TypeError("A document argument is required");let ctx={anchors:new Map,doc:doc2,keep:!0,mapAsMap:mapAsMap===!0,mapKeyWarned:!1,maxAliasCount:typeof maxAliasCount==="number"?maxAliasCount:100},res=toJS.toJS(this,"",ctx);if(typeof onAnchor==="function")for(let{count,res:res2}of ctx.anchors.values())onAnchor(res2,count);return typeof reviver==="function"?applyReviver.applyReviver(reviver,{"":res},"",res):res}}exports.NodeBase=NodeBase});var require_Alias=__commonJS((exports)=>{var anchors=require_anchors(),visit=require_visit(),identity=require_identity(),Node=require_Node(),toJS=require_toJS();class Alias extends Node.NodeBase{constructor(source){super(identity.ALIAS);this.source=source,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(doc2,ctx){if(ctx?.maxAliasCount===0)throw ReferenceError("Alias resolution is disabled");let nodes;if(ctx?.aliasResolveCache)nodes=ctx.aliasResolveCache;else if(nodes=[],visit.visit(doc2,{Node:(_key,node)=>{if(identity.isAlias(node)||identity.hasAnchor(node))nodes.push(node)}}),ctx)ctx.aliasResolveCache=nodes;let found=void 0;for(let node of nodes){if(node===this)break;if(node.anchor===this.source)found=node}return found}toJSON(_arg,ctx){if(!ctx)return{source:this.source};let{anchors:anchors2,doc:doc2,maxAliasCount}=ctx,source=this.resolve(doc2,ctx);if(!source){let msg=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw ReferenceError(msg)}let data=anchors2.get(source);if(!data)toJS.toJS(source,null,ctx),data=anchors2.get(source);if(data?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(maxAliasCount>=0){if(data.count+=1,data.aliasCount===0)data.aliasCount=getAliasCount(doc2,source,anchors2);if(data.count*data.aliasCount>maxAliasCount)throw ReferenceError("Excessive alias count indicates a resource exhaustion attack")}return data.res}toString(ctx,_onComment,_onChompKeep){let src=`*${this.source}`;if(ctx){if(anchors.anchorIsValid(this.source),ctx.options.verifyAliasOrder&&!ctx.anchors.has(this.source)){let msg=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw Error(msg)}if(ctx.implicitKey)return`${src} `}return src}}function getAliasCount(doc2,node,anchors2){if(identity.isAlias(node)){let source=node.resolve(doc2),anchor=anchors2&&source&&anchors2.get(source);return anchor?anchor.count*anchor.aliasCount:0}else if(identity.isCollection(node)){let count=0;for(let item of node.items){let c=getAliasCount(doc2,item,anchors2);if(c>count)count=c}return count}else if(identity.isPair(node)){let kc=getAliasCount(doc2,node.key,anchors2),vc=getAliasCount(doc2,node.value,anchors2);return Math.max(kc,vc)}return 1}exports.Alias=Alias});var require_Scalar=__commonJS((exports)=>{var identity=require_identity(),Node=require_Node(),toJS=require_toJS(),isScalarValue=(value)=>!value||typeof value!=="function"&&typeof value!=="object";class Scalar extends Node.NodeBase{constructor(value){super(identity.SCALAR);this.value=value}toJSON(arg,ctx){return ctx?.keep?this.value:toJS.toJS(this.value,arg,ctx)}toString(){return String(this.value)}}Scalar.BLOCK_FOLDED="BLOCK_FOLDED";Scalar.BLOCK_LITERAL="BLOCK_LITERAL";Scalar.PLAIN="PLAIN";Scalar.QUOTE_DOUBLE="QUOTE_DOUBLE";Scalar.QUOTE_SINGLE="QUOTE_SINGLE";exports.Scalar=Scalar;exports.isScalarValue=isScalarValue});var require_createNode=__commonJS((exports)=>{var Alias=require_Alias(),identity=require_identity(),Scalar=require_Scalar(),defaultTagPrefix="tag:yaml.org,2002:";function findTagObject(value,tagName,tags){if(tagName){let match=tags.filter((t)=>t.tag===tagName),tagObj=match.find((t)=>!t.format)??match[0];if(!tagObj)throw Error(`Tag ${tagName} not found`);return tagObj}return tags.find((t)=>t.identify?.(value)&&!t.format)}function createNode(value,tagName,ctx){if(identity.isDocument(value))value=value.contents;if(identity.isNode(value))return value;if(identity.isPair(value)){let map2=ctx.schema[identity.MAP].createNode?.(ctx.schema,null,ctx);return map2.items.push(value),map2}if(value instanceof String||value instanceof Number||value instanceof Boolean||typeof BigInt<"u"&&value instanceof BigInt)value=value.valueOf();let{aliasDuplicateObjects,onAnchor,onTagObj,schema,sourceObjects}=ctx,ref=void 0;if(aliasDuplicateObjects&&value&&typeof value==="object")if(ref=sourceObjects.get(value),ref)return ref.anchor??(ref.anchor=onAnchor(value)),new Alias.Alias(ref.anchor);else ref={anchor:null,node:null},sourceObjects.set(value,ref);if(tagName?.startsWith("!!"))tagName=defaultTagPrefix+tagName.slice(2);let tagObj=findTagObject(value,tagName,schema.tags);if(!tagObj){if(value&&typeof value.toJSON==="function")value=value.toJSON();if(!value||typeof value!=="object"){let node2=new Scalar.Scalar(value);if(ref)ref.node=node2;return node2}tagObj=value instanceof Map?schema[identity.MAP]:(Symbol.iterator in Object(value))?schema[identity.SEQ]:schema[identity.MAP]}if(onTagObj)onTagObj(tagObj),delete ctx.onTagObj;let node=tagObj?.createNode?tagObj.createNode(ctx.schema,value,ctx):typeof tagObj?.nodeClass?.from==="function"?tagObj.nodeClass.from(ctx.schema,value,ctx):new Scalar.Scalar(value);if(tagName)node.tag=tagName;else if(!tagObj.default)node.tag=tagObj.tag;if(ref)ref.node=node;return node}exports.createNode=createNode});var require_Collection=__commonJS((exports)=>{var createNode=require_createNode(),identity=require_identity(),Node=require_Node();function collectionFromPath(schema,path,value){let v=value;for(let i=path.length-1;i>=0;--i){let k=path[i];if(typeof k==="number"&&Number.isInteger(k)&&k>=0){let a=[];a[k]=v,v=a}else v=new Map([[k,v]])}return createNode.createNode(v,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema,sourceObjects:new Map})}var isEmptyPath=(path)=>path==null||typeof path==="object"&&!!path[Symbol.iterator]().next().done;class Collection extends Node.NodeBase{constructor(type,schema){super(type);Object.defineProperty(this,"schema",{value:schema,configurable:!0,enumerable:!1,writable:!0})}clone(schema){let copy=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(schema)copy.schema=schema;if(copy.items=copy.items.map((it)=>identity.isNode(it)||identity.isPair(it)?it.clone(schema):it),this.range)copy.range=this.range.slice();return copy}addIn(path,value){if(isEmptyPath(path))this.add(value);else{let[key,...rest]=path,node=this.get(key,!0);if(identity.isCollection(node))node.addIn(rest,value);else if(node===void 0&&this.schema)this.set(key,collectionFromPath(this.schema,rest,value));else throw Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`)}}deleteIn(path){let[key,...rest]=path;if(rest.length===0)return this.delete(key);let node=this.get(key,!0);if(identity.isCollection(node))return node.deleteIn(rest);else throw Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`)}getIn(path,keepScalar){let[key,...rest]=path,node=this.get(key,!0);if(rest.length===0)return!keepScalar&&identity.isScalar(node)?node.value:node;else return identity.isCollection(node)?node.getIn(rest,keepScalar):void 0}hasAllNullValues(allowScalar){return this.items.every((node)=>{if(!identity.isPair(node))return!1;let n=node.value;return n==null||allowScalar&&identity.isScalar(n)&&n.value==null&&!n.commentBefore&&!n.comment&&!n.tag})}hasIn(path){let[key,...rest]=path;if(rest.length===0)return this.has(key);let node=this.get(key,!0);return identity.isCollection(node)?node.hasIn(rest):!1}setIn(path,value){let[key,...rest]=path;if(rest.length===0)this.set(key,value);else{let node=this.get(key,!0);if(identity.isCollection(node))node.setIn(rest,value);else if(node===void 0&&this.schema)this.set(key,collectionFromPath(this.schema,rest,value));else throw Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`)}}}exports.Collection=Collection;exports.collectionFromPath=collectionFromPath;exports.isEmptyPath=isEmptyPath});var require_stringifyComment=__commonJS((exports)=>{var stringifyComment=(str)=>str.replace(/^(?!$)(?: $)?/gm,"#");function indentComment(comment,indent){if(/^\n+$/.test(comment))return comment.substring(1);return indent?comment.replace(/^(?! *$)/gm,indent):comment}var lineComment=(str,indent,comment)=>str.endsWith(`
|
|
67
|
+
`)?indentComment(comment,indent):comment.includes(`
|
|
68
|
+
`)?`
|
|
69
|
+
`+indentComment(comment,indent):(str.endsWith(" ")?"":" ")+comment;exports.indentComment=indentComment;exports.lineComment=lineComment;exports.stringifyComment=stringifyComment});var require_foldFlowLines=__commonJS((exports)=>{function foldFlowLines(text,indent,mode="flow",{indentAtStart,lineWidth=80,minContentWidth=20,onFold,onOverflow}={}){if(!lineWidth||lineWidth<0)return text;if(lineWidth<minContentWidth)minContentWidth=0;let endStep=Math.max(1+minContentWidth,1+lineWidth-indent.length);if(text.length<=endStep)return text;let folds=[],escapedFolds={},end=lineWidth-indent.length;if(typeof indentAtStart==="number")if(indentAtStart>lineWidth-Math.max(2,minContentWidth))folds.push(0);else end=lineWidth-indentAtStart;let split=void 0,prev=void 0,overflow=!1,i=-1,escStart=-1,escEnd=-1;if(mode==="block"){if(i=consumeMoreIndentedLines(text,i,indent.length),i!==-1)end=i+endStep}for(let ch;ch=text[i+=1];){if(mode==="quoted"&&ch==="\\"){switch(escStart=i,text[i+1]){case"x":i+=3;break;case"u":i+=5;break;case"U":i+=9;break;default:i+=1}escEnd=i}if(ch===`
|
|
70
|
+
`){if(mode==="block")i=consumeMoreIndentedLines(text,i,indent.length);end=i+indent.length+endStep,split=void 0}else{if(ch===" "&&prev&&prev!==" "&&prev!==`
|
|
71
|
+
`&&prev!=="\t"){let next=text[i+1];if(next&&next!==" "&&next!==`
|
|
72
|
+
`&&next!=="\t")split=i}if(i>=end)if(split)folds.push(split),end=split+endStep,split=void 0;else if(mode==="quoted"){while(prev===" "||prev==="\t")prev=ch,ch=text[i+=1],overflow=!0;let j=i>escEnd+1?i-2:escStart-1;if(escapedFolds[j])return text;folds.push(j),escapedFolds[j]=!0,end=j+endStep,split=void 0}else overflow=!0}prev=ch}if(overflow&&onOverflow)onOverflow();if(folds.length===0)return text;if(onFold)onFold();let res=text.slice(0,folds[0]);for(let i2=0;i2<folds.length;++i2){let fold=folds[i2],end2=folds[i2+1]||text.length;if(fold===0)res=`
|
|
73
|
+
${indent}${text.slice(0,end2)}`;else{if(mode==="quoted"&&escapedFolds[fold])res+=`${text[fold]}\\`;res+=`
|
|
74
|
+
${indent}${text.slice(fold+1,end2)}`}}return res}function consumeMoreIndentedLines(text,i,indent){let end=i,start=i+1,ch=text[start];while(ch===" "||ch==="\t")if(i<start+indent)ch=text[++i];else{do ch=text[++i];while(ch&&ch!==`
|
|
75
|
+
`);end=i,start=i+1,ch=text[start]}return end}exports.FOLD_BLOCK="block";exports.FOLD_FLOW="flow";exports.FOLD_QUOTED="quoted";exports.foldFlowLines=foldFlowLines});var require_stringifyString=__commonJS((exports)=>{var Scalar=require_Scalar(),foldFlowLines=require_foldFlowLines(),getFoldOptions=(ctx,isBlock)=>({indentAtStart:isBlock?ctx.indent.length:ctx.indentAtStart,lineWidth:ctx.options.lineWidth,minContentWidth:ctx.options.minContentWidth}),containsDocumentMarker=(str)=>/^(%|---|\.\.\.)/m.test(str);function lineLengthOverLimit(str,lineWidth,indentLength){if(!lineWidth||lineWidth<0)return!1;let limit=lineWidth-indentLength,strLen=str.length;if(strLen<=limit)return!1;for(let i=0,start=0;i<strLen;++i)if(str[i]===`
|
|
76
|
+
`){if(i-start>limit)return!0;if(start=i+1,strLen-start<=limit)return!1}return!0}function doubleQuotedString(value,ctx){let json2=JSON.stringify(value);if(ctx.options.doubleQuotedAsJSON)return json2;let{implicitKey}=ctx,minMultiLineLength=ctx.options.doubleQuotedMinMultiLineLength,indent=ctx.indent||(containsDocumentMarker(value)?" ":""),str="",start=0;for(let i=0,ch=json2[i];ch;ch=json2[++i]){if(ch===" "&&json2[i+1]==="\\"&&json2[i+2]==="n")str+=json2.slice(start,i)+"\\ ",i+=1,start=i,ch="\\";if(ch==="\\")switch(json2[i+1]){case"u":{str+=json2.slice(start,i);let code=json2.substr(i+2,4);switch(code){case"0000":str+="\\0";break;case"0007":str+="\\a";break;case"000b":str+="\\v";break;case"001b":str+="\\e";break;case"0085":str+="\\N";break;case"00a0":str+="\\_";break;case"2028":str+="\\L";break;case"2029":str+="\\P";break;default:if(code.substr(0,2)==="00")str+="\\x"+code.substr(2);else str+=json2.substr(i,6)}i+=5,start=i+1}break;case"n":if(implicitKey||json2[i+2]==='"'||json2.length<minMultiLineLength)i+=1;else{str+=json2.slice(start,i)+`
|
|
77
|
+
|
|
78
|
+
`;while(json2[i+2]==="\\"&&json2[i+3]==="n"&&json2[i+4]!=='"')str+=`
|
|
79
|
+
`,i+=2;if(str+=indent,json2[i+2]===" ")str+="\\";i+=1,start=i+1}break;default:i+=1}}return str=start?str+json2.slice(start):json2,implicitKey?str:foldFlowLines.foldFlowLines(str,indent,foldFlowLines.FOLD_QUOTED,getFoldOptions(ctx,!1))}function singleQuotedString(value,ctx){if(ctx.options.singleQuote===!1||ctx.implicitKey&&value.includes(`
|
|
80
|
+
`)||/[ \t]\n|\n[ \t]/.test(value))return doubleQuotedString(value,ctx);let indent=ctx.indent||(containsDocumentMarker(value)?" ":""),res="'"+value.replace(/'/g,"''").replace(/\n+/g,`$&
|
|
81
|
+
${indent}`)+"'";return ctx.implicitKey?res:foldFlowLines.foldFlowLines(res,indent,foldFlowLines.FOLD_FLOW,getFoldOptions(ctx,!1))}function quotedString(value,ctx){let{singleQuote}=ctx.options,qs;if(singleQuote===!1)qs=doubleQuotedString;else{let hasDouble=value.includes('"'),hasSingle=value.includes("'");if(hasDouble&&!hasSingle)qs=singleQuotedString;else if(hasSingle&&!hasDouble)qs=doubleQuotedString;else qs=singleQuote?singleQuotedString:doubleQuotedString}return qs(value,ctx)}var blockEndNewlines;try{blockEndNewlines=new RegExp(`(^|(?<!
|
|
82
|
+
))
|
|
83
|
+
+(?!
|
|
84
|
+
|$)`,"g")}catch{blockEndNewlines=/\n+(?!\n|$)/g}function blockString({comment,type,value},ctx,onComment,onChompKeep){let{blockQuote,commentString,lineWidth}=ctx.options;if(!blockQuote||/\n[\t ]+$/.test(value))return quotedString(value,ctx);let indent=ctx.indent||(ctx.forceBlockIndent||containsDocumentMarker(value)?" ":""),literal2=blockQuote==="literal"?!0:blockQuote==="folded"||type===Scalar.Scalar.BLOCK_FOLDED?!1:type===Scalar.Scalar.BLOCK_LITERAL?!0:!lineLengthOverLimit(value,lineWidth,indent.length);if(!value)return literal2?`|
|
|
85
|
+
`:`>
|
|
86
|
+
`;let chomp,endStart;for(endStart=value.length;endStart>0;--endStart){let ch=value[endStart-1];if(ch!==`
|
|
87
|
+
`&&ch!=="\t"&&ch!==" ")break}let end=value.substring(endStart),endNlPos=end.indexOf(`
|
|
88
|
+
`);if(endNlPos===-1)chomp="-";else if(value===end||endNlPos!==end.length-1){if(chomp="+",onChompKeep)onChompKeep()}else chomp="";if(end){if(value=value.slice(0,-end.length),end[end.length-1]===`
|
|
89
|
+
`)end=end.slice(0,-1);end=end.replace(blockEndNewlines,`$&${indent}`)}let startWithSpace=!1,startEnd,startNlPos=-1;for(startEnd=0;startEnd<value.length;++startEnd){let ch=value[startEnd];if(ch===" ")startWithSpace=!0;else if(ch===`
|
|
90
|
+
`)startNlPos=startEnd;else break}let start=value.substring(0,startNlPos<startEnd?startNlPos+1:startEnd);if(start)value=value.substring(start.length),start=start.replace(/\n+/g,`$&${indent}`);let header=(startWithSpace?indent?"2":"1":"")+chomp;if(comment){if(header+=" "+commentString(comment.replace(/ ?[\r\n]+/g," ")),onComment)onComment()}if(!literal2){let foldedValue=value.replace(/\n+/g,`
|
|
91
|
+
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${indent}`),literalFallback=!1,foldOptions=getFoldOptions(ctx,!0);if(blockQuote!=="folded"&&type!==Scalar.Scalar.BLOCK_FOLDED)foldOptions.onOverflow=()=>{literalFallback=!0};let body=foldFlowLines.foldFlowLines(`${start}${foldedValue}${end}`,indent,foldFlowLines.FOLD_BLOCK,foldOptions);if(!literalFallback)return`>${header}
|
|
92
|
+
${indent}${body}`}return value=value.replace(/\n+/g,`$&${indent}`),`|${header}
|
|
93
|
+
${indent}${start}${value}${end}`}function plainString(item,ctx,onComment,onChompKeep){let{type,value}=item,{actualString,implicitKey,indent,indentStep,inFlow}=ctx;if(implicitKey&&value.includes(`
|
|
94
|
+
`)||inFlow&&/[[\]{},]/.test(value))return quotedString(value,ctx);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(value))return implicitKey||inFlow||!value.includes(`
|
|
95
|
+
`)?quotedString(value,ctx):blockString(item,ctx,onComment,onChompKeep);if(!implicitKey&&!inFlow&&type!==Scalar.Scalar.PLAIN&&value.includes(`
|
|
96
|
+
`))return blockString(item,ctx,onComment,onChompKeep);if(containsDocumentMarker(value)){if(indent==="")return ctx.forceBlockIndent=!0,blockString(item,ctx,onComment,onChompKeep);else if(implicitKey&&indent===indentStep)return quotedString(value,ctx)}let str=value.replace(/\n+/g,`$&
|
|
97
|
+
${indent}`);if(actualString){let test=(tag)=>tag.default&&tag.tag!=="tag:yaml.org,2002:str"&&tag.test?.test(str),{compat:compat2,tags}=ctx.doc.schema;if(tags.some(test)||compat2?.some(test))return quotedString(value,ctx)}return implicitKey?str:foldFlowLines.foldFlowLines(str,indent,foldFlowLines.FOLD_FLOW,getFoldOptions(ctx,!1))}function stringifyString(item,ctx,onComment,onChompKeep){let{implicitKey,inFlow}=ctx,ss=typeof item.value==="string"?item:Object.assign({},item,{value:String(item.value)}),{type}=item;if(type!==Scalar.Scalar.QUOTE_DOUBLE){if(/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(ss.value))type=Scalar.Scalar.QUOTE_DOUBLE}let _stringify=(_type)=>{switch(_type){case Scalar.Scalar.BLOCK_FOLDED:case Scalar.Scalar.BLOCK_LITERAL:return implicitKey||inFlow?quotedString(ss.value,ctx):blockString(ss,ctx,onComment,onChompKeep);case Scalar.Scalar.QUOTE_DOUBLE:return doubleQuotedString(ss.value,ctx);case Scalar.Scalar.QUOTE_SINGLE:return singleQuotedString(ss.value,ctx);case Scalar.Scalar.PLAIN:return plainString(ss,ctx,onComment,onChompKeep);default:return null}},res=_stringify(type);if(res===null){let{defaultKeyType,defaultStringType}=ctx.options,t=implicitKey&&defaultKeyType||defaultStringType;if(res=_stringify(t),res===null)throw Error(`Unsupported default string type ${t}`)}return res}exports.stringifyString=stringifyString});var require_stringify=__commonJS((exports)=>{var anchors=require_anchors(),identity=require_identity(),stringifyComment=require_stringifyComment(),stringifyString=require_stringifyString();function createStringifyContext(doc2,options){let opt=Object.assign({blockQuote:!0,commentString:stringifyComment.stringifyComment,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trailingComma:!1,trueStr:"true",verifyAliasOrder:!0},doc2.schema.toStringOptions,options),inFlow;switch(opt.collectionStyle){case"block":inFlow=!1;break;case"flow":inFlow=!0;break;default:inFlow=null}return{anchors:new Set,doc:doc2,flowCollectionPadding:opt.flowCollectionPadding?" ":"",indent:"",indentStep:typeof opt.indent==="number"?" ".repeat(opt.indent):" ",inFlow,options:opt}}function getTagObject(tags,item){if(item.tag){let match=tags.filter((t)=>t.tag===item.tag);if(match.length>0)return match.find((t)=>t.format===item.format)??match[0]}let tagObj=void 0,obj;if(identity.isScalar(item)){obj=item.value;let match=tags.filter((t)=>t.identify?.(obj));if(match.length>1){let testMatch=match.filter((t)=>t.test);if(testMatch.length>0)match=testMatch}tagObj=match.find((t)=>t.format===item.format)??match.find((t)=>!t.format)}else obj=item,tagObj=tags.find((t)=>t.nodeClass&&obj instanceof t.nodeClass);if(!tagObj){let name=obj?.constructor?.name??(obj===null?"null":typeof obj);throw Error(`Tag not resolved for ${name} value`)}return tagObj}function stringifyProps(node,tagObj,{anchors:anchors$1,doc:doc2}){if(!doc2.directives)return"";let props=[],anchor=(identity.isScalar(node)||identity.isCollection(node))&&node.anchor;if(anchor&&anchors.anchorIsValid(anchor))anchors$1.add(anchor),props.push(`&${anchor}`);let tag=node.tag??(tagObj.default?null:tagObj.tag);if(tag)props.push(doc2.directives.tagString(tag));return props.join(" ")}function stringify(item,ctx,onComment,onChompKeep){if(identity.isPair(item))return item.toString(ctx,onComment,onChompKeep);if(identity.isAlias(item)){if(ctx.doc.directives)return item.toString(ctx);if(ctx.resolvedAliases?.has(item))throw TypeError("Cannot stringify circular structure without alias nodes");else{if(ctx.resolvedAliases)ctx.resolvedAliases.add(item);else ctx.resolvedAliases=new Set([item]);item=item.resolve(ctx.doc)}}let tagObj=void 0,node=identity.isNode(item)?item:ctx.doc.createNode(item,{onTagObj:(o2)=>tagObj=o2});tagObj??(tagObj=getTagObject(ctx.doc.schema.tags,node));let props=stringifyProps(node,tagObj,ctx);if(props.length>0)ctx.indentAtStart=(ctx.indentAtStart??0)+props.length+1;let str=typeof tagObj.stringify==="function"?tagObj.stringify(node,ctx,onComment,onChompKeep):identity.isScalar(node)?stringifyString.stringifyString(node,ctx,onComment,onChompKeep):node.toString(ctx,onComment,onChompKeep);if(!props)return str;return identity.isScalar(node)||str[0]==="{"||str[0]==="["?`${props} ${str}`:`${props}
|
|
98
|
+
${ctx.indent}${str}`}exports.createStringifyContext=createStringifyContext;exports.stringify=stringify});var require_stringifyPair=__commonJS((exports)=>{var identity=require_identity(),Scalar=require_Scalar(),stringify=require_stringify(),stringifyComment=require_stringifyComment();function stringifyPair({key,value},ctx,onComment,onChompKeep){let{allNullValues,doc:doc2,indent,indentStep,options:{commentString,indentSeq,simpleKeys}}=ctx,keyComment=identity.isNode(key)&&key.comment||null;if(simpleKeys){if(keyComment)throw Error("With simple keys, key nodes cannot have comments");if(identity.isCollection(key)||!identity.isNode(key)&&typeof key==="object")throw Error("With simple keys, collection cannot be used as a key value")}let explicitKey=!simpleKeys&&(!key||keyComment&&value==null&&!ctx.inFlow||identity.isCollection(key)||(identity.isScalar(key)?key.type===Scalar.Scalar.BLOCK_FOLDED||key.type===Scalar.Scalar.BLOCK_LITERAL:typeof key==="object"));ctx=Object.assign({},ctx,{allNullValues:!1,implicitKey:!explicitKey&&(simpleKeys||!allNullValues),indent:indent+indentStep});let keyCommentDone=!1,chompKeep=!1,str=stringify.stringify(key,ctx,()=>keyCommentDone=!0,()=>chompKeep=!0);if(!explicitKey&&!ctx.inFlow&&str.length>1024){if(simpleKeys)throw Error("With simple keys, single line scalar must not span more than 1024 characters");explicitKey=!0}if(ctx.inFlow){if(allNullValues||value==null){if(keyCommentDone&&onComment)onComment();return str===""?"?":explicitKey?`? ${str}`:str}}else if(allNullValues&&!simpleKeys||value==null&&explicitKey){if(str=`? ${str}`,keyComment&&!keyCommentDone)str+=stringifyComment.lineComment(str,ctx.indent,commentString(keyComment));else if(chompKeep&&onChompKeep)onChompKeep();return str}if(keyCommentDone)keyComment=null;if(explicitKey){if(keyComment)str+=stringifyComment.lineComment(str,ctx.indent,commentString(keyComment));str=`? ${str}
|
|
99
|
+
${indent}:`}else if(str=`${str}:`,keyComment)str+=stringifyComment.lineComment(str,ctx.indent,commentString(keyComment));let vsb,vcb,valueComment;if(identity.isNode(value))vsb=!!value.spaceBefore,vcb=value.commentBefore,valueComment=value.comment;else if(vsb=!1,vcb=null,valueComment=null,value&&typeof value==="object")value=doc2.createNode(value);if(ctx.implicitKey=!1,!explicitKey&&!keyComment&&identity.isScalar(value))ctx.indentAtStart=str.length+1;if(chompKeep=!1,!indentSeq&&indentStep.length>=2&&!ctx.inFlow&&!explicitKey&&identity.isSeq(value)&&!value.flow&&!value.tag&&!value.anchor)ctx.indent=ctx.indent.substring(2);let valueCommentDone=!1,valueStr=stringify.stringify(value,ctx,()=>valueCommentDone=!0,()=>chompKeep=!0),ws=" ";if(keyComment||vsb||vcb){if(ws=vsb?`
|
|
100
|
+
`:"",vcb){let cs=commentString(vcb);ws+=`
|
|
101
|
+
${stringifyComment.indentComment(cs,ctx.indent)}`}if(valueStr===""&&!ctx.inFlow){if(ws===`
|
|
102
|
+
`&&valueComment)ws=`
|
|
103
|
+
|
|
104
|
+
`}else ws+=`
|
|
105
|
+
${ctx.indent}`}else if(!explicitKey&&identity.isCollection(value)){let vs0=valueStr[0],nl0=valueStr.indexOf(`
|
|
106
|
+
`),hasNewline=nl0!==-1,flow=ctx.inFlow??value.flow??value.items.length===0;if(hasNewline||!flow){let hasPropsLine=!1;if(hasNewline&&(vs0==="&"||vs0==="!")){let sp0=valueStr.indexOf(" ");if(vs0==="&"&&sp0!==-1&&sp0<nl0&&valueStr[sp0+1]==="!")sp0=valueStr.indexOf(" ",sp0+1);if(sp0===-1||nl0<sp0)hasPropsLine=!0}if(!hasPropsLine)ws=`
|
|
107
|
+
${ctx.indent}`}}else if(valueStr===""||valueStr[0]===`
|
|
108
|
+
`)ws="";if(str+=ws+valueStr,ctx.inFlow){if(valueCommentDone&&onComment)onComment()}else if(valueComment&&!valueCommentDone)str+=stringifyComment.lineComment(str,ctx.indent,commentString(valueComment));else if(chompKeep&&onChompKeep)onChompKeep();return str}exports.stringifyPair=stringifyPair});var require_log=__commonJS((exports)=>{var node_process=__require("process");function debug(logLevel,...messages){if(logLevel==="debug")console.log(...messages)}function warn(logLevel,warning){if(logLevel==="debug"||logLevel==="warn")if(typeof node_process.emitWarning==="function")node_process.emitWarning(warning);else console.warn(warning)}exports.debug=debug;exports.warn=warn});var require_merge=__commonJS((exports)=>{var identity=require_identity(),Scalar=require_Scalar(),MERGE_KEY="<<",merge2={identify:(value)=>value===MERGE_KEY||typeof value==="symbol"&&value.description===MERGE_KEY,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new Scalar.Scalar(Symbol(MERGE_KEY)),{addToJSMap:addMergeToJSMap}),stringify:()=>MERGE_KEY},isMergeKey=(ctx,key)=>(merge2.identify(key)||identity.isScalar(key)&&(!key.type||key.type===Scalar.Scalar.PLAIN)&&merge2.identify(key.value))&&ctx?.doc.schema.tags.some((tag)=>tag.tag===merge2.tag&&tag.default);function addMergeToJSMap(ctx,map2,value){let source=resolveAliasValue(ctx,value);if(identity.isSeq(source))for(let it of source.items)mergeValue(ctx,map2,it);else if(Array.isArray(source))for(let it of source)mergeValue(ctx,map2,it);else mergeValue(ctx,map2,source)}function mergeValue(ctx,map2,value){let source=resolveAliasValue(ctx,value);if(!identity.isMap(source))throw Error("Merge sources must be maps or map aliases");let srcMap=source.toJSON(null,ctx,Map);for(let[key,value2]of srcMap)if(map2 instanceof Map){if(!map2.has(key))map2.set(key,value2)}else if(map2 instanceof Set)map2.add(key);else if(!Object.prototype.hasOwnProperty.call(map2,key))Object.defineProperty(map2,key,{value:value2,writable:!0,enumerable:!0,configurable:!0});return map2}function resolveAliasValue(ctx,value){return ctx&&identity.isAlias(value)?value.resolve(ctx.doc,ctx):value}exports.addMergeToJSMap=addMergeToJSMap;exports.isMergeKey=isMergeKey;exports.merge=merge2});var require_addPairToJSMap=__commonJS((exports)=>{var log=require_log(),merge2=require_merge(),stringify=require_stringify(),identity=require_identity(),toJS=require_toJS();function addPairToJSMap(ctx,map2,{key,value}){if(identity.isNode(key)&&key.addToJSMap)key.addToJSMap(ctx,map2,value);else if(merge2.isMergeKey(ctx,key))merge2.addMergeToJSMap(ctx,map2,value);else{let jsKey=toJS.toJS(key,"",ctx);if(map2 instanceof Map)map2.set(jsKey,toJS.toJS(value,jsKey,ctx));else if(map2 instanceof Set)map2.add(jsKey);else{let stringKey=stringifyKey(key,jsKey,ctx),jsValue=toJS.toJS(value,stringKey,ctx);if(stringKey in map2)Object.defineProperty(map2,stringKey,{value:jsValue,writable:!0,enumerable:!0,configurable:!0});else map2[stringKey]=jsValue}}return map2}function stringifyKey(key,jsKey,ctx){if(jsKey===null)return"";if(typeof jsKey!=="object")return String(jsKey);if(identity.isNode(key)&&ctx?.doc){let strCtx=stringify.createStringifyContext(ctx.doc,{});strCtx.anchors=new Set;for(let node of ctx.anchors.keys())strCtx.anchors.add(node.anchor);strCtx.inFlow=!0,strCtx.inStringifyKey=!0;let strKey=key.toString(strCtx);if(!ctx.mapKeyWarned){let jsonStr=JSON.stringify(strKey);if(jsonStr.length>40)jsonStr=jsonStr.substring(0,36)+'..."';log.warn(ctx.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${jsonStr}. Set mapAsMap: true to use object keys.`),ctx.mapKeyWarned=!0}return strKey}return JSON.stringify(jsKey)}exports.addPairToJSMap=addPairToJSMap});var require_Pair=__commonJS((exports)=>{var createNode=require_createNode(),stringifyPair=require_stringifyPair(),addPairToJSMap=require_addPairToJSMap(),identity=require_identity();function createPair(key,value,ctx){let k=createNode.createNode(key,void 0,ctx),v=createNode.createNode(value,void 0,ctx);return new Pair(k,v)}class Pair{constructor(key,value=null){Object.defineProperty(this,identity.NODE_TYPE,{value:identity.PAIR}),this.key=key,this.value=value}clone(schema){let{key,value}=this;if(identity.isNode(key))key=key.clone(schema);if(identity.isNode(value))value=value.clone(schema);return new Pair(key,value)}toJSON(_,ctx){let pair=ctx?.mapAsMap?new Map:{};return addPairToJSMap.addPairToJSMap(ctx,pair,this)}toString(ctx,onComment,onChompKeep){return ctx?.doc?stringifyPair.stringifyPair(this,ctx,onComment,onChompKeep):JSON.stringify(this)}}exports.Pair=Pair;exports.createPair=createPair});var require_stringifyCollection=__commonJS((exports)=>{var identity=require_identity(),stringify=require_stringify(),stringifyComment=require_stringifyComment();function stringifyCollection(collection,ctx,options){return(ctx.inFlow??collection.flow?stringifyFlowCollection:stringifyBlockCollection)(collection,ctx,options)}function stringifyBlockCollection({comment,items},ctx,{blockItemPrefix,flowChars,itemIndent,onChompKeep,onComment}){let{indent,options:{commentString}}=ctx,itemCtx=Object.assign({},ctx,{indent:itemIndent,type:null}),chompKeep=!1,lines=[];for(let i=0;i<items.length;++i){let item=items[i],comment2=null;if(identity.isNode(item)){if(!chompKeep&&item.spaceBefore)lines.push("");if(addCommentBefore(ctx,lines,item.commentBefore,chompKeep),item.comment)comment2=item.comment}else if(identity.isPair(item)){let ik=identity.isNode(item.key)?item.key:null;if(ik){if(!chompKeep&&ik.spaceBefore)lines.push("");addCommentBefore(ctx,lines,ik.commentBefore,chompKeep)}}chompKeep=!1;let str2=stringify.stringify(item,itemCtx,()=>comment2=null,()=>chompKeep=!0);if(comment2)str2+=stringifyComment.lineComment(str2,itemIndent,commentString(comment2));if(chompKeep&&comment2)chompKeep=!1;lines.push(blockItemPrefix+str2)}let str;if(lines.length===0)str=flowChars.start+flowChars.end;else{str=lines[0];for(let i=1;i<lines.length;++i){let line=lines[i];str+=line?`
|
|
109
|
+
${indent}${line}`:`
|
|
110
|
+
`}}if(comment){if(str+=`
|
|
111
|
+
`+stringifyComment.indentComment(commentString(comment),indent),onComment)onComment()}else if(chompKeep&&onChompKeep)onChompKeep();return str}function stringifyFlowCollection({items},ctx,{flowChars,itemIndent}){let{indent,indentStep,flowCollectionPadding:fcPadding,options:{commentString}}=ctx;itemIndent+=indentStep;let itemCtx=Object.assign({},ctx,{indent:itemIndent,inFlow:!0,type:null}),reqNewline=!1,linesAtValue=0,lines=[];for(let i=0;i<items.length;++i){let item=items[i],comment=null;if(identity.isNode(item)){if(item.spaceBefore)lines.push("");if(addCommentBefore(ctx,lines,item.commentBefore,!1),item.comment)comment=item.comment}else if(identity.isPair(item)){let ik=identity.isNode(item.key)?item.key:null;if(ik){if(ik.spaceBefore)lines.push("");if(addCommentBefore(ctx,lines,ik.commentBefore,!1),ik.comment)reqNewline=!0}let iv=identity.isNode(item.value)?item.value:null;if(iv){if(iv.comment)comment=iv.comment;if(iv.commentBefore)reqNewline=!0}else if(item.value==null&&ik?.comment)comment=ik.comment}if(comment)reqNewline=!0;let str=stringify.stringify(item,itemCtx,()=>comment=null);if(reqNewline||(reqNewline=lines.length>linesAtValue||str.includes(`
|
|
112
|
+
`)),i<items.length-1)str+=",";else if(ctx.options.trailingComma){if(ctx.options.lineWidth>0)reqNewline||(reqNewline=lines.reduce((sum,line)=>sum+line.length+2,2)+(str.length+2)>ctx.options.lineWidth);if(reqNewline)str+=","}if(comment)str+=stringifyComment.lineComment(str,itemIndent,commentString(comment));lines.push(str),linesAtValue=lines.length}let{start,end}=flowChars;if(lines.length===0)return start+end;else{if(!reqNewline){let len=lines.reduce((sum,line)=>sum+line.length+2,2);reqNewline=ctx.options.lineWidth>0&&len>ctx.options.lineWidth}if(reqNewline){let str=start;for(let line of lines)str+=line?`
|
|
113
|
+
${indentStep}${indent}${line}`:`
|
|
114
|
+
`;return`${str}
|
|
115
|
+
${indent}${end}`}else return`${start}${fcPadding}${lines.join(" ")}${fcPadding}${end}`}}function addCommentBefore({indent,options:{commentString}},lines,comment,chompKeep){if(comment&&chompKeep)comment=comment.replace(/^\n+/,"");if(comment){let ic=stringifyComment.indentComment(commentString(comment),indent);lines.push(ic.trimStart())}}exports.stringifyCollection=stringifyCollection});var require_YAMLMap=__commonJS((exports)=>{var stringifyCollection=require_stringifyCollection(),addPairToJSMap=require_addPairToJSMap(),Collection=require_Collection(),identity=require_identity(),Pair=require_Pair(),Scalar=require_Scalar();function findPair(items,key){let k=identity.isScalar(key)?key.value:key;for(let it of items)if(identity.isPair(it)){if(it.key===key||it.key===k)return it;if(identity.isScalar(it.key)&&it.key.value===k)return it}return}class YAMLMap extends Collection.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(schema){super(identity.MAP,schema);this.items=[]}static from(schema,obj,ctx){let{keepUndefined,replacer}=ctx,map2=new this(schema),add=(key,value)=>{if(typeof replacer==="function")value=replacer.call(obj,key,value);else if(Array.isArray(replacer)&&!replacer.includes(key))return;if(value!==void 0||keepUndefined)map2.items.push(Pair.createPair(key,value,ctx))};if(obj instanceof Map)for(let[key,value]of obj)add(key,value);else if(obj&&typeof obj==="object")for(let key of Object.keys(obj))add(key,obj[key]);if(typeof schema.sortMapEntries==="function")map2.items.sort(schema.sortMapEntries);return map2}add(pair,overwrite){let _pair;if(identity.isPair(pair))_pair=pair;else if(!pair||typeof pair!=="object"||!("key"in pair))_pair=new Pair.Pair(pair,pair?.value);else _pair=new Pair.Pair(pair.key,pair.value);let prev=findPair(this.items,_pair.key),sortEntries=this.schema?.sortMapEntries;if(prev){if(!overwrite)throw Error(`Key ${_pair.key} already set`);if(identity.isScalar(prev.value)&&Scalar.isScalarValue(_pair.value))prev.value.value=_pair.value;else prev.value=_pair.value}else if(sortEntries){let i=this.items.findIndex((item)=>sortEntries(_pair,item)<0);if(i===-1)this.items.push(_pair);else this.items.splice(i,0,_pair)}else this.items.push(_pair)}delete(key){let it=findPair(this.items,key);if(!it)return!1;return this.items.splice(this.items.indexOf(it),1).length>0}get(key,keepScalar){let node=findPair(this.items,key)?.value;return(!keepScalar&&identity.isScalar(node)?node.value:node)??void 0}has(key){return!!findPair(this.items,key)}set(key,value){this.add(new Pair.Pair(key,value),!0)}toJSON(_,ctx,Type){let map2=Type?new Type:ctx?.mapAsMap?new Map:{};if(ctx?.onCreate)ctx.onCreate(map2);for(let item of this.items)addPairToJSMap.addPairToJSMap(ctx,map2,item);return map2}toString(ctx,onComment,onChompKeep){if(!ctx)return JSON.stringify(this);for(let item of this.items)if(!identity.isPair(item))throw Error(`Map items must all be pairs; found ${JSON.stringify(item)} instead`);if(!ctx.allNullValues&&this.hasAllNullValues(!1))ctx=Object.assign({},ctx,{allNullValues:!0});return stringifyCollection.stringifyCollection(this,ctx,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:ctx.indent||"",onChompKeep,onComment})}}exports.YAMLMap=YAMLMap;exports.findPair=findPair});var require_map=__commonJS((exports)=>{var identity=require_identity(),YAMLMap=require_YAMLMap(),map2={collection:"map",default:!0,nodeClass:YAMLMap.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(map3,onError){if(!identity.isMap(map3))onError("Expected a mapping for this tag");return map3},createNode:(schema,obj,ctx)=>YAMLMap.YAMLMap.from(schema,obj,ctx)};exports.map=map2});var require_YAMLSeq=__commonJS((exports)=>{var createNode=require_createNode(),stringifyCollection=require_stringifyCollection(),Collection=require_Collection(),identity=require_identity(),Scalar=require_Scalar(),toJS=require_toJS();class YAMLSeq extends Collection.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(schema){super(identity.SEQ,schema);this.items=[]}add(value){this.items.push(value)}delete(key){let idx=asItemIndex(key);if(typeof idx!=="number")return!1;return this.items.splice(idx,1).length>0}get(key,keepScalar){let idx=asItemIndex(key);if(typeof idx!=="number")return;let it=this.items[idx];return!keepScalar&&identity.isScalar(it)?it.value:it}has(key){let idx=asItemIndex(key);return typeof idx==="number"&&idx<this.items.length}set(key,value){let idx=asItemIndex(key);if(typeof idx!=="number")throw Error(`Expected a valid index, not ${key}.`);let prev=this.items[idx];if(identity.isScalar(prev)&&Scalar.isScalarValue(value))prev.value=value;else this.items[idx]=value}toJSON(_,ctx){let seq=[];if(ctx?.onCreate)ctx.onCreate(seq);let i=0;for(let item of this.items)seq.push(toJS.toJS(item,String(i++),ctx));return seq}toString(ctx,onComment,onChompKeep){if(!ctx)return JSON.stringify(this);return stringifyCollection.stringifyCollection(this,ctx,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(ctx.indent||"")+" ",onChompKeep,onComment})}static from(schema,obj,ctx){let{replacer}=ctx,seq=new this(schema);if(obj&&Symbol.iterator in Object(obj)){let i=0;for(let it of obj){if(typeof replacer==="function"){let key=obj instanceof Set?it:String(i++);it=replacer.call(obj,key,it)}seq.items.push(createNode.createNode(it,void 0,ctx))}}return seq}}function asItemIndex(key){let idx=identity.isScalar(key)?key.value:key;if(idx&&typeof idx==="string")idx=Number(idx);return typeof idx==="number"&&Number.isInteger(idx)&&idx>=0?idx:null}exports.YAMLSeq=YAMLSeq});var require_seq=__commonJS((exports)=>{var identity=require_identity(),YAMLSeq=require_YAMLSeq(),seq={collection:"seq",default:!0,nodeClass:YAMLSeq.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(seq2,onError){if(!identity.isSeq(seq2))onError("Expected a sequence for this tag");return seq2},createNode:(schema,obj,ctx)=>YAMLSeq.YAMLSeq.from(schema,obj,ctx)};exports.seq=seq});var require_string=__commonJS((exports)=>{var stringifyString=require_stringifyString(),string4={identify:(value)=>typeof value==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(str)=>str,stringify(item,ctx,onComment,onChompKeep){return ctx=Object.assign({actualString:!0},ctx),stringifyString.stringifyString(item,ctx,onComment,onChompKeep)}};exports.string=string4});var require_null=__commonJS((exports)=>{var Scalar=require_Scalar(),nullTag={identify:(value)=>value==null,createNode:()=>new Scalar.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new Scalar.Scalar(null),stringify:({source},ctx)=>typeof source==="string"&&nullTag.test.test(source)?source:ctx.options.nullStr};exports.nullTag=nullTag});var require_bool=__commonJS((exports)=>{var Scalar=require_Scalar(),boolTag={identify:(value)=>typeof value==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:(str)=>new Scalar.Scalar(str[0]==="t"||str[0]==="T"),stringify({source,value},ctx){if(source&&boolTag.test.test(source)){let sv=source[0]==="t"||source[0]==="T";if(value===sv)return source}return value?ctx.options.trueStr:ctx.options.falseStr}};exports.boolTag=boolTag});var require_stringifyNumber=__commonJS((exports)=>{function stringifyNumber({format,minFractionDigits,tag,value}){if(typeof value==="bigint")return String(value);let num=typeof value==="number"?value:Number(value);if(!isFinite(num))return isNaN(num)?".nan":num<0?"-.inf":".inf";let n=Object.is(value,-0)?"-0":JSON.stringify(value);if(!format&&minFractionDigits&&(!tag||tag==="tag:yaml.org,2002:float")&&/^-?\d/.test(n)&&!n.includes("e")){let i=n.indexOf(".");if(i<0)i=n.length,n+=".";let d=minFractionDigits-(n.length-i-1);while(d-- >0)n+="0"}return n}exports.stringifyNumber=stringifyNumber});var require_float=__commonJS((exports)=>{var Scalar=require_Scalar(),stringifyNumber=require_stringifyNumber(),floatNaN={identify:(value)=>typeof value==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:(str)=>str.slice(-3).toLowerCase()==="nan"?NaN:str[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:stringifyNumber.stringifyNumber},floatExp={identify:(value)=>typeof value==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:(str)=>parseFloat(str),stringify(node){let num=Number(node.value);return isFinite(num)?num.toExponential():stringifyNumber.stringifyNumber(node)}},float={identify:(value)=>typeof value==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(str){let node=new Scalar.Scalar(parseFloat(str)),dot=str.indexOf(".");if(dot!==-1&&str[str.length-1]==="0")node.minFractionDigits=str.length-dot-1;return node},stringify:stringifyNumber.stringifyNumber};exports.float=float;exports.floatExp=floatExp;exports.floatNaN=floatNaN});var require_int=__commonJS((exports)=>{var stringifyNumber=require_stringifyNumber(),intIdentify=(value)=>typeof value==="bigint"||Number.isInteger(value),intResolve=(str,offset,radix,{intAsBigInt})=>intAsBigInt?BigInt(str):parseInt(str.substring(offset),radix);function intStringify(node,radix,prefix){let{value}=node;if(intIdentify(value)&&value>=0)return prefix+value.toString(radix);return stringifyNumber.stringifyNumber(node)}var intOct={identify:(value)=>intIdentify(value)&&value>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(str,_onError,opt)=>intResolve(str,2,8,opt),stringify:(node)=>intStringify(node,8,"0o")},int2={identify:intIdentify,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(str,_onError,opt)=>intResolve(str,0,10,opt),stringify:stringifyNumber.stringifyNumber},intHex={identify:(value)=>intIdentify(value)&&value>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(str,_onError,opt)=>intResolve(str,2,16,opt),stringify:(node)=>intStringify(node,16,"0x")};exports.int=int2;exports.intHex=intHex;exports.intOct=intOct});var require_schema=__commonJS((exports)=>{var map2=require_map(),_null4=require_null(),seq=require_seq(),string4=require_string(),bool=require_bool(),float=require_float(),int2=require_int(),schema=[map2.map,seq.seq,string4.string,_null4.nullTag,bool.boolTag,int2.intOct,int2.int,int2.intHex,float.floatNaN,float.floatExp,float.float];exports.schema=schema});var require_schema2=__commonJS((exports)=>{var Scalar=require_Scalar(),map2=require_map(),seq=require_seq();function intIdentify(value){return typeof value==="bigint"||Number.isInteger(value)}var stringifyJSON=({value})=>JSON.stringify(value),jsonScalars=[{identify:(value)=>typeof value==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(str)=>str,stringify:stringifyJSON},{identify:(value)=>value==null,createNode:()=>new Scalar.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:stringifyJSON},{identify:(value)=>typeof value==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:(str)=>str==="true",stringify:stringifyJSON},{identify:intIdentify,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(str,_onError,{intAsBigInt})=>intAsBigInt?BigInt(str):parseInt(str,10),stringify:({value})=>intIdentify(value)?value.toString():JSON.stringify(value)},{identify:(value)=>typeof value==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:(str)=>parseFloat(str),stringify:stringifyJSON}],jsonError={default:!0,tag:"",test:/^/,resolve(str,onError){return onError(`Unresolved plain scalar ${JSON.stringify(str)}`),str}},schema=[map2.map,seq.seq].concat(jsonScalars,jsonError);exports.schema=schema});var require_binary=__commonJS((exports)=>{var node_buffer=__require("buffer"),Scalar=require_Scalar(),stringifyString=require_stringifyString(),binary={identify:(value)=>value instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(src,onError){if(typeof node_buffer.Buffer==="function")return node_buffer.Buffer.from(src,"base64");else if(typeof atob==="function"){let str=atob(src.replace(/[\n\r]/g,"")),buffer=new Uint8Array(str.length);for(let i=0;i<str.length;++i)buffer[i]=str.charCodeAt(i);return buffer}else return onError("This environment does not support reading binary tags; either Buffer or atob is required"),src},stringify({comment,type,value},ctx,onComment,onChompKeep){if(!value)return"";let buf=value,str;if(typeof node_buffer.Buffer==="function")str=buf instanceof node_buffer.Buffer?buf.toString("base64"):node_buffer.Buffer.from(buf.buffer).toString("base64");else if(typeof btoa==="function"){let s2="";for(let i=0;i<buf.length;++i)s2+=String.fromCharCode(buf[i]);str=btoa(s2)}else throw Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(type??(type=Scalar.Scalar.BLOCK_LITERAL),type!==Scalar.Scalar.QUOTE_DOUBLE){let lineWidth=Math.max(ctx.options.lineWidth-ctx.indent.length,ctx.options.minContentWidth),n=Math.ceil(str.length/lineWidth),lines=Array(n);for(let i=0,o2=0;i<n;++i,o2+=lineWidth)lines[i]=str.substr(o2,lineWidth);str=lines.join(type===Scalar.Scalar.BLOCK_LITERAL?`
|
|
116
|
+
`:" ")}return stringifyString.stringifyString({comment,type,value:str},ctx,onComment,onChompKeep)}};exports.binary=binary});var require_pairs=__commonJS((exports)=>{var identity=require_identity(),Pair=require_Pair(),Scalar=require_Scalar(),YAMLSeq=require_YAMLSeq();function resolvePairs(seq,onError){if(identity.isSeq(seq))for(let i=0;i<seq.items.length;++i){let item=seq.items[i];if(identity.isPair(item))continue;else if(identity.isMap(item)){if(item.items.length>1)onError("Each pair must have its own sequence indicator");let pair=item.items[0]||new Pair.Pair(new Scalar.Scalar(null));if(item.commentBefore)pair.key.commentBefore=pair.key.commentBefore?`${item.commentBefore}
|
|
117
|
+
${pair.key.commentBefore}`:item.commentBefore;if(item.comment){let cn=pair.value??pair.key;cn.comment=cn.comment?`${item.comment}
|
|
118
|
+
${cn.comment}`:item.comment}item=pair}seq.items[i]=identity.isPair(item)?item:new Pair.Pair(item)}else onError("Expected a sequence for this tag");return seq}function createPairs(schema,iterable,ctx){let{replacer}=ctx,pairs2=new YAMLSeq.YAMLSeq(schema);pairs2.tag="tag:yaml.org,2002:pairs";let i=0;if(iterable&&Symbol.iterator in Object(iterable))for(let it of iterable){if(typeof replacer==="function")it=replacer.call(iterable,String(i++),it);let key,value;if(Array.isArray(it))if(it.length===2)key=it[0],value=it[1];else throw TypeError(`Expected [key, value] tuple: ${it}`);else if(it&&it instanceof Object){let keys=Object.keys(it);if(keys.length===1)key=keys[0],value=it[key];else throw TypeError(`Expected tuple with one key, not ${keys.length} keys`)}else key=it;pairs2.items.push(Pair.createPair(key,value,ctx))}return pairs2}var pairs={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:resolvePairs,createNode:createPairs};exports.createPairs=createPairs;exports.pairs=pairs;exports.resolvePairs=resolvePairs});var require_omap=__commonJS((exports)=>{var identity=require_identity(),toJS=require_toJS(),YAMLMap=require_YAMLMap(),YAMLSeq=require_YAMLSeq(),pairs=require_pairs();class YAMLOMap extends YAMLSeq.YAMLSeq{constructor(){super();this.add=YAMLMap.YAMLMap.prototype.add.bind(this),this.delete=YAMLMap.YAMLMap.prototype.delete.bind(this),this.get=YAMLMap.YAMLMap.prototype.get.bind(this),this.has=YAMLMap.YAMLMap.prototype.has.bind(this),this.set=YAMLMap.YAMLMap.prototype.set.bind(this),this.tag=YAMLOMap.tag}toJSON(_,ctx){if(!ctx)return super.toJSON(_);let map2=new Map;if(ctx?.onCreate)ctx.onCreate(map2);for(let pair of this.items){let key,value;if(identity.isPair(pair))key=toJS.toJS(pair.key,"",ctx),value=toJS.toJS(pair.value,key,ctx);else key=toJS.toJS(pair,"",ctx);if(map2.has(key))throw Error("Ordered maps must not include duplicate keys");map2.set(key,value)}return map2}static from(schema,iterable,ctx){let pairs$1=pairs.createPairs(schema,iterable,ctx),omap2=new this;return omap2.items=pairs$1.items,omap2}}YAMLOMap.tag="tag:yaml.org,2002:omap";var omap={collection:"seq",identify:(value)=>value instanceof Map,nodeClass:YAMLOMap,default:!1,tag:"tag:yaml.org,2002:omap",resolve(seq,onError){let pairs$1=pairs.resolvePairs(seq,onError),seenKeys=[];for(let{key}of pairs$1.items)if(identity.isScalar(key))if(seenKeys.includes(key.value))onError(`Ordered maps must not include duplicate keys: ${key.value}`);else seenKeys.push(key.value);return Object.assign(new YAMLOMap,pairs$1)},createNode:(schema,iterable,ctx)=>YAMLOMap.from(schema,iterable,ctx)};exports.YAMLOMap=YAMLOMap;exports.omap=omap});var require_bool2=__commonJS((exports)=>{var Scalar=require_Scalar();function boolStringify({value,source},ctx){if(source&&(value?trueTag:falseTag).test.test(source))return source;return value?ctx.options.trueStr:ctx.options.falseStr}var trueTag={identify:(value)=>value===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new Scalar.Scalar(!0),stringify:boolStringify},falseTag={identify:(value)=>value===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new Scalar.Scalar(!1),stringify:boolStringify};exports.falseTag=falseTag;exports.trueTag=trueTag});var require_float2=__commonJS((exports)=>{var Scalar=require_Scalar(),stringifyNumber=require_stringifyNumber(),floatNaN={identify:(value)=>typeof value==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:(str)=>str.slice(-3).toLowerCase()==="nan"?NaN:str[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:stringifyNumber.stringifyNumber},floatExp={identify:(value)=>typeof value==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:(str)=>parseFloat(str.replace(/_/g,"")),stringify(node){let num=Number(node.value);return isFinite(num)?num.toExponential():stringifyNumber.stringifyNumber(node)}},float={identify:(value)=>typeof value==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(str){let node=new Scalar.Scalar(parseFloat(str.replace(/_/g,""))),dot=str.indexOf(".");if(dot!==-1){let f=str.substring(dot+1).replace(/_/g,"");if(f[f.length-1]==="0")node.minFractionDigits=f.length}return node},stringify:stringifyNumber.stringifyNumber};exports.float=float;exports.floatExp=floatExp;exports.floatNaN=floatNaN});var require_int2=__commonJS((exports)=>{var stringifyNumber=require_stringifyNumber(),intIdentify=(value)=>typeof value==="bigint"||Number.isInteger(value);function intResolve(str,offset,radix,{intAsBigInt}){let sign=str[0];if(sign==="-"||sign==="+")offset+=1;if(str=str.substring(offset).replace(/_/g,""),intAsBigInt){switch(radix){case 2:str=`0b${str}`;break;case 8:str=`0o${str}`;break;case 16:str=`0x${str}`;break}let n2=BigInt(str);return sign==="-"?BigInt(-1)*n2:n2}let n=parseInt(str,radix);return sign==="-"?-1*n:n}function intStringify(node,radix,prefix){let{value}=node;if(intIdentify(value)){let str=value.toString(radix);return value<0?"-"+prefix+str.substr(1):prefix+str}return stringifyNumber.stringifyNumber(node)}var intBin={identify:intIdentify,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(str,_onError,opt)=>intResolve(str,2,2,opt),stringify:(node)=>intStringify(node,2,"0b")},intOct={identify:intIdentify,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(str,_onError,opt)=>intResolve(str,1,8,opt),stringify:(node)=>intStringify(node,8,"0")},int2={identify:intIdentify,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(str,_onError,opt)=>intResolve(str,0,10,opt),stringify:stringifyNumber.stringifyNumber},intHex={identify:intIdentify,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(str,_onError,opt)=>intResolve(str,2,16,opt),stringify:(node)=>intStringify(node,16,"0x")};exports.int=int2;exports.intBin=intBin;exports.intHex=intHex;exports.intOct=intOct});var require_set=__commonJS((exports)=>{var identity=require_identity(),Pair=require_Pair(),YAMLMap=require_YAMLMap();class YAMLSet extends YAMLMap.YAMLMap{constructor(schema){super(schema);this.tag=YAMLSet.tag}add(key){let pair;if(identity.isPair(key))pair=key;else if(key&&typeof key==="object"&&"key"in key&&"value"in key&&key.value===null)pair=new Pair.Pair(key.key,null);else pair=new Pair.Pair(key,null);if(!YAMLMap.findPair(this.items,pair.key))this.items.push(pair)}get(key,keepPair){let pair=YAMLMap.findPair(this.items,key);return!keepPair&&identity.isPair(pair)?identity.isScalar(pair.key)?pair.key.value:pair.key:pair}set(key,value){if(typeof value!=="boolean")throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof value}`);let prev=YAMLMap.findPair(this.items,key);if(prev&&!value)this.items.splice(this.items.indexOf(prev),1);else if(!prev&&value)this.items.push(new Pair.Pair(key))}toJSON(_,ctx){return super.toJSON(_,ctx,Set)}toString(ctx,onComment,onChompKeep){if(!ctx)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},ctx,{allNullValues:!0}),onComment,onChompKeep);else throw Error("Set items must all have null values")}static from(schema,iterable,ctx){let{replacer}=ctx,set3=new this(schema);if(iterable&&Symbol.iterator in Object(iterable))for(let value of iterable){if(typeof replacer==="function")value=replacer.call(iterable,value,value);set3.items.push(Pair.createPair(value,null,ctx))}return set3}}YAMLSet.tag="tag:yaml.org,2002:set";var set2={collection:"map",identify:(value)=>value instanceof Set,nodeClass:YAMLSet,default:!1,tag:"tag:yaml.org,2002:set",createNode:(schema,iterable,ctx)=>YAMLSet.from(schema,iterable,ctx),resolve(map2,onError){if(identity.isMap(map2))if(map2.hasAllNullValues(!0))return Object.assign(new YAMLSet,map2);else onError("Set items must all have null values");else onError("Expected a mapping for this tag");return map2}};exports.YAMLSet=YAMLSet;exports.set=set2});var require_timestamp=__commonJS((exports)=>{var stringifyNumber=require_stringifyNumber();function parseSexagesimal(str,asBigInt){let sign=str[0],parts=sign==="-"||sign==="+"?str.substring(1):str,num=(n)=>asBigInt?BigInt(n):Number(n),res=parts.replace(/_/g,"").split(":").reduce((res2,p)=>res2*num(60)+num(p),num(0));return sign==="-"?num(-1)*res:res}function stringifySexagesimal(node){let{value}=node,num=(n)=>n;if(typeof value==="bigint")num=(n)=>BigInt(n);else if(isNaN(value)||!isFinite(value))return stringifyNumber.stringifyNumber(node);let sign="";if(value<0)sign="-",value*=num(-1);let _60=num(60),parts=[value%_60];if(value<60)parts.unshift(0);else if(value=(value-parts[0])/_60,parts.unshift(value%_60),value>=60)value=(value-parts[0])/_60,parts.unshift(value);return sign+parts.map((n)=>String(n).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var intTime={identify:(value)=>typeof value==="bigint"||Number.isInteger(value),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(str,_onError,{intAsBigInt})=>parseSexagesimal(str,intAsBigInt),stringify:stringifySexagesimal},floatTime={identify:(value)=>typeof value==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:(str)=>parseSexagesimal(str,!1),stringify:stringifySexagesimal},timestamp={identify:(value)=>value instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(str){let match=str.match(timestamp.test);if(!match)throw Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,year,month,day,hour,minute,second]=match.map(Number),millisec=match[7]?Number((match[7]+"00").substr(1,3)):0,date6=Date.UTC(year,month-1,day,hour||0,minute||0,second||0,millisec),tz=match[8];if(tz&&tz!=="Z"){let d=parseSexagesimal(tz,!1);if(Math.abs(d)<30)d*=60;date6-=60000*d}return new Date(date6)},stringify:({value})=>value?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};exports.floatTime=floatTime;exports.intTime=intTime;exports.timestamp=timestamp});var require_schema3=__commonJS((exports)=>{var map2=require_map(),_null4=require_null(),seq=require_seq(),string4=require_string(),binary=require_binary(),bool=require_bool2(),float=require_float2(),int2=require_int2(),merge2=require_merge(),omap=require_omap(),pairs=require_pairs(),set2=require_set(),timestamp=require_timestamp(),schema=[map2.map,seq.seq,string4.string,_null4.nullTag,bool.trueTag,bool.falseTag,int2.intBin,int2.intOct,int2.int,int2.intHex,float.floatNaN,float.floatExp,float.float,binary.binary,merge2.merge,omap.omap,pairs.pairs,set2.set,timestamp.intTime,timestamp.floatTime,timestamp.timestamp];exports.schema=schema});var require_tags=__commonJS((exports)=>{var map2=require_map(),_null4=require_null(),seq=require_seq(),string4=require_string(),bool=require_bool(),float=require_float(),int2=require_int(),schema=require_schema(),schema$1=require_schema2(),binary=require_binary(),merge2=require_merge(),omap=require_omap(),pairs=require_pairs(),schema$2=require_schema3(),set2=require_set(),timestamp=require_timestamp(),schemas3=new Map([["core",schema.schema],["failsafe",[map2.map,seq.seq,string4.string]],["json",schema$1.schema],["yaml11",schema$2.schema],["yaml-1.1",schema$2.schema]]),tagsByName={binary:binary.binary,bool:bool.boolTag,float:float.float,floatExp:float.floatExp,floatNaN:float.floatNaN,floatTime:timestamp.floatTime,int:int2.int,intHex:int2.intHex,intOct:int2.intOct,intTime:timestamp.intTime,map:map2.map,merge:merge2.merge,null:_null4.nullTag,omap:omap.omap,pairs:pairs.pairs,seq:seq.seq,set:set2.set,timestamp:timestamp.timestamp},coreKnownTags={"tag:yaml.org,2002:binary":binary.binary,"tag:yaml.org,2002:merge":merge2.merge,"tag:yaml.org,2002:omap":omap.omap,"tag:yaml.org,2002:pairs":pairs.pairs,"tag:yaml.org,2002:set":set2.set,"tag:yaml.org,2002:timestamp":timestamp.timestamp};function getTags(customTags,schemaName,addMergeTag){let schemaTags=schemas3.get(schemaName);if(schemaTags&&!customTags)return addMergeTag&&!schemaTags.includes(merge2.merge)?schemaTags.concat(merge2.merge):schemaTags.slice();let tags=schemaTags;if(!tags)if(Array.isArray(customTags))tags=[];else{let keys=Array.from(schemas3.keys()).filter((key)=>key!=="yaml11").map((key)=>JSON.stringify(key)).join(", ");throw Error(`Unknown schema "${schemaName}"; use one of ${keys} or define customTags array`)}if(Array.isArray(customTags))for(let tag of customTags)tags=tags.concat(tag);else if(typeof customTags==="function")tags=customTags(tags.slice());if(addMergeTag)tags=tags.concat(merge2.merge);return tags.reduce((tags2,tag)=>{let tagObj=typeof tag==="string"?tagsByName[tag]:tag;if(!tagObj){let tagName=JSON.stringify(tag),keys=Object.keys(tagsByName).map((key)=>JSON.stringify(key)).join(", ");throw Error(`Unknown custom tag ${tagName}; use one of ${keys}`)}if(!tags2.includes(tagObj))tags2.push(tagObj);return tags2},[])}exports.coreKnownTags=coreKnownTags;exports.getTags=getTags});var require_Schema=__commonJS((exports)=>{var identity=require_identity(),map2=require_map(),seq=require_seq(),string4=require_string(),tags=require_tags(),sortMapEntriesByKey=(a,b)=>a.key<b.key?-1:a.key>b.key?1:0;class Schema{constructor({compat:compat2,customTags,merge:merge2,resolveKnownTags,schema,sortMapEntries,toStringDefaults}){this.compat=Array.isArray(compat2)?tags.getTags(compat2,"compat"):compat2?tags.getTags(null,compat2):null,this.name=typeof schema==="string"&&schema||"core",this.knownTags=resolveKnownTags?tags.coreKnownTags:{},this.tags=tags.getTags(customTags,this.name,merge2),this.toStringOptions=toStringDefaults??null,Object.defineProperty(this,identity.MAP,{value:map2.map}),Object.defineProperty(this,identity.SCALAR,{value:string4.string}),Object.defineProperty(this,identity.SEQ,{value:seq.seq}),this.sortMapEntries=typeof sortMapEntries==="function"?sortMapEntries:sortMapEntries===!0?sortMapEntriesByKey:null}clone(){let copy=Object.create(Schema.prototype,Object.getOwnPropertyDescriptors(this));return copy.tags=this.tags.slice(),copy}}exports.Schema=Schema});var require_stringifyDocument=__commonJS((exports)=>{var identity=require_identity(),stringify=require_stringify(),stringifyComment=require_stringifyComment();function stringifyDocument(doc2,options){let lines=[],hasDirectives=options.directives===!0;if(options.directives!==!1&&doc2.directives){let dir=doc2.directives.toString(doc2);if(dir)lines.push(dir),hasDirectives=!0;else if(doc2.directives.docStart)hasDirectives=!0}if(hasDirectives)lines.push("---");let ctx=stringify.createStringifyContext(doc2,options),{commentString}=ctx.options;if(doc2.commentBefore){if(lines.length!==1)lines.unshift("");let cs=commentString(doc2.commentBefore);lines.unshift(stringifyComment.indentComment(cs,""))}let chompKeep=!1,contentComment=null;if(doc2.contents){if(identity.isNode(doc2.contents)){if(doc2.contents.spaceBefore&&hasDirectives)lines.push("");if(doc2.contents.commentBefore){let cs=commentString(doc2.contents.commentBefore);lines.push(stringifyComment.indentComment(cs,""))}ctx.forceBlockIndent=!!doc2.comment,contentComment=doc2.contents.comment}let onChompKeep=contentComment?void 0:()=>chompKeep=!0,body=stringify.stringify(doc2.contents,ctx,()=>contentComment=null,onChompKeep);if(contentComment)body+=stringifyComment.lineComment(body,"",commentString(contentComment));if((body[0]==="|"||body[0]===">")&&lines[lines.length-1]==="---")lines[lines.length-1]=`--- ${body}`;else lines.push(body)}else lines.push(stringify.stringify(doc2.contents,ctx));if(doc2.directives?.docEnd)if(doc2.comment){let cs=commentString(doc2.comment);if(cs.includes(`
|
|
119
|
+
`))lines.push("..."),lines.push(stringifyComment.indentComment(cs,""));else lines.push(`... ${cs}`)}else lines.push("...");else{let dc=doc2.comment;if(dc&&chompKeep)dc=dc.replace(/^\n+/,"");if(dc){if((!chompKeep||contentComment)&&lines[lines.length-1]!=="")lines.push("");lines.push(stringifyComment.indentComment(commentString(dc),""))}}return lines.join(`
|
|
120
|
+
`)+`
|
|
121
|
+
`}exports.stringifyDocument=stringifyDocument});var require_Document=__commonJS((exports)=>{var Alias=require_Alias(),Collection=require_Collection(),identity=require_identity(),Pair=require_Pair(),toJS=require_toJS(),Schema=require_Schema(),stringifyDocument=require_stringifyDocument(),anchors=require_anchors(),applyReviver=require_applyReviver(),createNode=require_createNode(),directives=require_directives();class Document{constructor(value,replacer,options){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,identity.NODE_TYPE,{value:identity.DOC});let _replacer=null;if(typeof replacer==="function"||Array.isArray(replacer))_replacer=replacer;else if(options===void 0&&replacer)options=replacer,replacer=void 0;let opt=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},options);this.options=opt;let{version:version2}=opt;if(options?._directives){if(this.directives=options._directives.atDocument(),this.directives.yaml.explicit)version2=this.directives.yaml.version}else this.directives=new directives.Directives({version:version2});this.setSchema(version2,options),this.contents=value===void 0?null:this.createNode(value,_replacer,options)}clone(){let copy=Object.create(Document.prototype,{[identity.NODE_TYPE]:{value:identity.DOC}});if(copy.commentBefore=this.commentBefore,copy.comment=this.comment,copy.errors=this.errors.slice(),copy.warnings=this.warnings.slice(),copy.options=Object.assign({},this.options),this.directives)copy.directives=this.directives.clone();if(copy.schema=this.schema.clone(),copy.contents=identity.isNode(this.contents)?this.contents.clone(copy.schema):this.contents,this.range)copy.range=this.range.slice();return copy}add(value){if(assertCollection(this.contents))this.contents.add(value)}addIn(path,value){if(assertCollection(this.contents))this.contents.addIn(path,value)}createAlias(node,name){if(!node.anchor){let prev=anchors.anchorNames(this);node.anchor=!name||prev.has(name)?anchors.findNewAnchor(name||"a",prev):name}return new Alias.Alias(node.anchor)}createNode(value,replacer,options){let _replacer=void 0;if(typeof replacer==="function")value=replacer.call({"":value},"",value),_replacer=replacer;else if(Array.isArray(replacer)){let keyToStr=(v)=>typeof v==="number"||v instanceof String||v instanceof Number,asStr=replacer.filter(keyToStr).map(String);if(asStr.length>0)replacer=replacer.concat(asStr);_replacer=replacer}else if(options===void 0&&replacer)options=replacer,replacer=void 0;let{aliasDuplicateObjects,anchorPrefix,flow,keepUndefined,onTagObj,tag}=options??{},{onAnchor,setAnchors,sourceObjects}=anchors.createNodeAnchors(this,anchorPrefix||"a"),ctx={aliasDuplicateObjects:aliasDuplicateObjects??!0,keepUndefined:keepUndefined??!1,onAnchor,onTagObj,replacer:_replacer,schema:this.schema,sourceObjects},node=createNode.createNode(value,tag,ctx);if(flow&&identity.isCollection(node))node.flow=!0;return setAnchors(),node}createPair(key,value,options={}){let k=this.createNode(key,null,options),v=this.createNode(value,null,options);return new Pair.Pair(k,v)}delete(key){return assertCollection(this.contents)?this.contents.delete(key):!1}deleteIn(path){if(Collection.isEmptyPath(path)){if(this.contents==null)return!1;return this.contents=null,!0}return assertCollection(this.contents)?this.contents.deleteIn(path):!1}get(key,keepScalar){return identity.isCollection(this.contents)?this.contents.get(key,keepScalar):void 0}getIn(path,keepScalar){if(Collection.isEmptyPath(path))return!keepScalar&&identity.isScalar(this.contents)?this.contents.value:this.contents;return identity.isCollection(this.contents)?this.contents.getIn(path,keepScalar):void 0}has(key){return identity.isCollection(this.contents)?this.contents.has(key):!1}hasIn(path){if(Collection.isEmptyPath(path))return this.contents!==void 0;return identity.isCollection(this.contents)?this.contents.hasIn(path):!1}set(key,value){if(this.contents==null)this.contents=Collection.collectionFromPath(this.schema,[key],value);else if(assertCollection(this.contents))this.contents.set(key,value)}setIn(path,value){if(Collection.isEmptyPath(path))this.contents=value;else if(this.contents==null)this.contents=Collection.collectionFromPath(this.schema,Array.from(path),value);else if(assertCollection(this.contents))this.contents.setIn(path,value)}setSchema(version2,options={}){if(typeof version2==="number")version2=String(version2);let opt;switch(version2){case"1.1":if(this.directives)this.directives.yaml.version="1.1";else this.directives=new directives.Directives({version:"1.1"});opt={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":if(this.directives)this.directives.yaml.version=version2;else this.directives=new directives.Directives({version:version2});opt={resolveKnownTags:!0,schema:"core"};break;case null:if(this.directives)delete this.directives;opt=null;break;default:{let sv=JSON.stringify(version2);throw Error(`Expected '1.1', '1.2' or null as first argument, but found: ${sv}`)}}if(options.schema instanceof Object)this.schema=options.schema;else if(opt)this.schema=new Schema.Schema(Object.assign(opt,options));else throw Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:json2,jsonArg,mapAsMap,maxAliasCount,onAnchor,reviver}={}){let ctx={anchors:new Map,doc:this,keep:!json2,mapAsMap:mapAsMap===!0,mapKeyWarned:!1,maxAliasCount:typeof maxAliasCount==="number"?maxAliasCount:100},res=toJS.toJS(this.contents,jsonArg??"",ctx);if(typeof onAnchor==="function")for(let{count,res:res2}of ctx.anchors.values())onAnchor(res2,count);return typeof reviver==="function"?applyReviver.applyReviver(reviver,{"":res},"",res):res}toJSON(jsonArg,onAnchor){return this.toJS({json:!0,jsonArg,mapAsMap:!1,onAnchor})}toString(options={}){if(this.errors.length>0)throw Error("Document with errors cannot be stringified");if("indent"in options&&(!Number.isInteger(options.indent)||Number(options.indent)<=0)){let s2=JSON.stringify(options.indent);throw Error(`"indent" option must be a positive integer, not ${s2}`)}return stringifyDocument.stringifyDocument(this,options)}}function assertCollection(contents){if(identity.isCollection(contents))return!0;throw Error("Expected a YAML collection as document contents")}exports.Document=Document});var require_errors=__commonJS((exports)=>{class YAMLError extends Error{constructor(name,pos,code,message){super();this.name=name,this.code=code,this.message=message,this.pos=pos}}class YAMLParseError extends YAMLError{constructor(pos,code,message){super("YAMLParseError",pos,code,message)}}class YAMLWarning extends YAMLError{constructor(pos,code,message){super("YAMLWarning",pos,code,message)}}var prettifyError2=(src,lc)=>(error51)=>{if(error51.pos[0]===-1)return;error51.linePos=error51.pos.map((pos)=>lc.linePos(pos));let{line,col}=error51.linePos[0];error51.message+=` at line ${line}, column ${col}`;let ci=col-1,lineStr=src.substring(lc.lineStarts[line-1],lc.lineStarts[line]).replace(/[\n\r]+$/,"");if(ci>=60&&lineStr.length>80){let trimStart=Math.min(ci-39,lineStr.length-79);lineStr="…"+lineStr.substring(trimStart),ci-=trimStart-1}if(lineStr.length>80)lineStr=lineStr.substring(0,79)+"…";if(line>1&&/^ *$/.test(lineStr.substring(0,ci))){let prev=src.substring(lc.lineStarts[line-2],lc.lineStarts[line-1]);if(prev.length>80)prev=prev.substring(0,79)+`…
|
|
122
|
+
`;lineStr=prev+lineStr}if(/[^ ]/.test(lineStr)){let count=1,end=error51.linePos[1];if(end?.line===line&&end.col>col)count=Math.max(1,Math.min(end.col-col,80-ci));let pointer=" ".repeat(ci)+"^".repeat(count);error51.message+=`:
|
|
123
|
+
|
|
124
|
+
${lineStr}
|
|
125
|
+
${pointer}
|
|
126
|
+
`}};exports.YAMLError=YAMLError;exports.YAMLParseError=YAMLParseError;exports.YAMLWarning=YAMLWarning;exports.prettifyError=prettifyError2});var require_resolve_props=__commonJS((exports)=>{function resolveProps(tokens,{flow,indicator,next,offset,onError,parentIndent,startOnNewline}){let spaceBefore=!1,atNewline=startOnNewline,hasSpace=startOnNewline,comment="",commentSep="",hasNewline=!1,reqSpace=!1,tab=null,anchor=null,tag=null,newlineAfterProp=null,comma=null,found=null,start=null;for(let token of tokens){if(reqSpace){if(token.type!=="space"&&token.type!=="newline"&&token.type!=="comma")onError(token.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");reqSpace=!1}if(tab){if(atNewline&&token.type!=="comment"&&token.type!=="newline")onError(tab,"TAB_AS_INDENT","Tabs are not allowed as indentation");tab=null}switch(token.type){case"space":if(!flow&&(indicator!=="doc-start"||next?.type!=="flow-collection")&&token.source.includes("\t"))tab=token;hasSpace=!0;break;case"comment":{if(!hasSpace)onError(token,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let cb=token.source.substring(1)||" ";if(!comment)comment=cb;else comment+=commentSep+cb;commentSep="",atNewline=!1;break}case"newline":if(atNewline){if(comment)comment+=token.source;else if(!found||indicator!=="seq-item-ind")spaceBefore=!0}else commentSep+=token.source;if(atNewline=!0,hasNewline=!0,anchor||tag)newlineAfterProp=token;hasSpace=!0;break;case"anchor":if(anchor)onError(token,"MULTIPLE_ANCHORS","A node can have at most one anchor");if(token.source.endsWith(":"))onError(token.offset+token.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0);anchor=token,start??(start=token.offset),atNewline=!1,hasSpace=!1,reqSpace=!0;break;case"tag":{if(tag)onError(token,"MULTIPLE_TAGS","A node can have at most one tag");tag=token,start??(start=token.offset),atNewline=!1,hasSpace=!1,reqSpace=!0;break}case indicator:if(anchor||tag)onError(token,"BAD_PROP_ORDER",`Anchors and tags must be after the ${token.source} indicator`);if(found)onError(token,"UNEXPECTED_TOKEN",`Unexpected ${token.source} in ${flow??"collection"}`);found=token,atNewline=indicator==="seq-item-ind"||indicator==="explicit-key-ind",hasSpace=!1;break;case"comma":if(flow){if(comma)onError(token,"UNEXPECTED_TOKEN",`Unexpected , in ${flow}`);comma=token,atNewline=!1,hasSpace=!1;break}default:onError(token,"UNEXPECTED_TOKEN",`Unexpected ${token.type} token`),atNewline=!1,hasSpace=!1}}let last=tokens[tokens.length-1],end=last?last.offset+last.source.length:offset;if(reqSpace&&next&&next.type!=="space"&&next.type!=="newline"&&next.type!=="comma"&&(next.type!=="scalar"||next.source!==""))onError(next.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");if(tab&&(atNewline&&tab.indent<=parentIndent||next?.type==="block-map"||next?.type==="block-seq"))onError(tab,"TAB_AS_INDENT","Tabs are not allowed as indentation");return{comma,found,spaceBefore,comment,hasNewline,anchor,tag,newlineAfterProp,end,start:start??end}}exports.resolveProps=resolveProps});var require_util_contains_newline=__commonJS((exports)=>{function containsNewline(key){if(!key)return null;switch(key.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(key.source.includes(`
|
|
127
|
+
`))return!0;if(key.end){for(let st of key.end)if(st.type==="newline")return!0}return!1;case"flow-collection":for(let it of key.items){for(let st of it.start)if(st.type==="newline")return!0;if(it.sep){for(let st of it.sep)if(st.type==="newline")return!0}if(containsNewline(it.key)||containsNewline(it.value))return!0}return!1;default:return!0}}exports.containsNewline=containsNewline});var require_util_flow_indent_check=__commonJS((exports)=>{var utilContainsNewline=require_util_contains_newline();function flowIndentCheck(indent,fc,onError){if(fc?.type==="flow-collection"){let end=fc.end[0];if(end.indent===indent&&(end.source==="]"||end.source==="}")&&utilContainsNewline.containsNewline(fc))onError(end,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}exports.flowIndentCheck=flowIndentCheck});var require_util_map_includes=__commonJS((exports)=>{var identity=require_identity();function mapIncludes(ctx,items,search){let{uniqueKeys}=ctx.options;if(uniqueKeys===!1)return!1;let isEqual=typeof uniqueKeys==="function"?uniqueKeys:(a,b)=>a===b||identity.isScalar(a)&&identity.isScalar(b)&&a.value===b.value;return items.some((pair)=>isEqual(pair.key,search))}exports.mapIncludes=mapIncludes});var require_resolve_block_map=__commonJS((exports)=>{var Pair=require_Pair(),YAMLMap=require_YAMLMap(),resolveProps=require_resolve_props(),utilContainsNewline=require_util_contains_newline(),utilFlowIndentCheck=require_util_flow_indent_check(),utilMapIncludes=require_util_map_includes(),startColMsg="All mapping items must start at the same column";function resolveBlockMap({composeNode,composeEmptyNode},ctx,bm,onError,tag){let map2=new(tag?.nodeClass??YAMLMap.YAMLMap)(ctx.schema);if(ctx.atRoot)ctx.atRoot=!1;let offset=bm.offset,commentEnd=null;for(let collItem of bm.items){let{start,key,sep,value}=collItem,keyProps=resolveProps.resolveProps(start,{indicator:"explicit-key-ind",next:key??sep?.[0],offset,onError,parentIndent:bm.indent,startOnNewline:!0}),implicitKey=!keyProps.found;if(implicitKey){if(key){if(key.type==="block-seq")onError(offset,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key");else if("indent"in key&&key.indent!==bm.indent)onError(offset,"BAD_INDENT",startColMsg)}if(!keyProps.anchor&&!keyProps.tag&&!sep){if(commentEnd=keyProps.end,keyProps.comment)if(map2.comment)map2.comment+=`
|
|
128
|
+
`+keyProps.comment;else map2.comment=keyProps.comment;continue}if(keyProps.newlineAfterProp||utilContainsNewline.containsNewline(key))onError(key??start[start.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else if(keyProps.found?.indent!==bm.indent)onError(offset,"BAD_INDENT",startColMsg);ctx.atKey=!0;let keyStart=keyProps.end,keyNode=key?composeNode(ctx,key,keyProps,onError):composeEmptyNode(ctx,keyStart,start,null,keyProps,onError);if(ctx.schema.compat)utilFlowIndentCheck.flowIndentCheck(bm.indent,key,onError);if(ctx.atKey=!1,utilMapIncludes.mapIncludes(ctx,map2.items,keyNode))onError(keyStart,"DUPLICATE_KEY","Map keys must be unique");let valueProps=resolveProps.resolveProps(sep??[],{indicator:"map-value-ind",next:value,offset:keyNode.range[2],onError,parentIndent:bm.indent,startOnNewline:!key||key.type==="block-scalar"});if(offset=valueProps.end,valueProps.found){if(implicitKey){if(value?.type==="block-map"&&!valueProps.hasNewline)onError(offset,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings");if(ctx.options.strict&&keyProps.start<valueProps.found.offset-1024)onError(keyNode.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key")}let valueNode=value?composeNode(ctx,value,valueProps,onError):composeEmptyNode(ctx,offset,sep,null,valueProps,onError);if(ctx.schema.compat)utilFlowIndentCheck.flowIndentCheck(bm.indent,value,onError);offset=valueNode.range[2];let pair=new Pair.Pair(keyNode,valueNode);if(ctx.options.keepSourceTokens)pair.srcToken=collItem;map2.items.push(pair)}else{if(implicitKey)onError(keyNode.range,"MISSING_CHAR","Implicit map keys need to be followed by map values");if(valueProps.comment)if(keyNode.comment)keyNode.comment+=`
|
|
129
|
+
`+valueProps.comment;else keyNode.comment=valueProps.comment;let pair=new Pair.Pair(keyNode);if(ctx.options.keepSourceTokens)pair.srcToken=collItem;map2.items.push(pair)}}if(commentEnd&&commentEnd<offset)onError(commentEnd,"IMPOSSIBLE","Map comment with trailing content");return map2.range=[bm.offset,offset,commentEnd??offset],map2}exports.resolveBlockMap=resolveBlockMap});var require_resolve_block_seq=__commonJS((exports)=>{var YAMLSeq=require_YAMLSeq(),resolveProps=require_resolve_props(),utilFlowIndentCheck=require_util_flow_indent_check();function resolveBlockSeq({composeNode,composeEmptyNode},ctx,bs,onError,tag){let seq=new(tag?.nodeClass??YAMLSeq.YAMLSeq)(ctx.schema);if(ctx.atRoot)ctx.atRoot=!1;if(ctx.atKey)ctx.atKey=!1;let offset=bs.offset,commentEnd=null;for(let{start,value}of bs.items){let props=resolveProps.resolveProps(start,{indicator:"seq-item-ind",next:value,offset,onError,parentIndent:bs.indent,startOnNewline:!0});if(!props.found)if(props.anchor||props.tag||value)if(value?.type==="block-seq")onError(props.end,"BAD_INDENT","All sequence items must start at the same column");else onError(offset,"MISSING_CHAR","Sequence item without - indicator");else{if(commentEnd=props.end,props.comment)seq.comment=props.comment;continue}let node=value?composeNode(ctx,value,props,onError):composeEmptyNode(ctx,props.end,start,null,props,onError);if(ctx.schema.compat)utilFlowIndentCheck.flowIndentCheck(bs.indent,value,onError);offset=node.range[2],seq.items.push(node)}return seq.range=[bs.offset,offset,commentEnd??offset],seq}exports.resolveBlockSeq=resolveBlockSeq});var require_resolve_end=__commonJS((exports)=>{function resolveEnd(end,offset,reqSpace,onError){let comment="";if(end){let hasSpace=!1,sep="";for(let token of end){let{source,type}=token;switch(type){case"space":hasSpace=!0;break;case"comment":{if(reqSpace&&!hasSpace)onError(token,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let cb=source.substring(1)||" ";if(!comment)comment=cb;else comment+=sep+cb;sep="";break}case"newline":if(comment)sep+=source;hasSpace=!0;break;default:onError(token,"UNEXPECTED_TOKEN",`Unexpected ${type} at node end`)}offset+=source.length}}return{comment,offset}}exports.resolveEnd=resolveEnd});var require_resolve_flow_collection=__commonJS((exports)=>{var identity=require_identity(),Pair=require_Pair(),YAMLMap=require_YAMLMap(),YAMLSeq=require_YAMLSeq(),resolveEnd=require_resolve_end(),resolveProps=require_resolve_props(),utilContainsNewline=require_util_contains_newline(),utilMapIncludes=require_util_map_includes(),blockMsg="Block collections are not allowed within flow collections",isBlock=(token)=>token&&(token.type==="block-map"||token.type==="block-seq");function resolveFlowCollection({composeNode,composeEmptyNode},ctx,fc,onError,tag){let isMap=fc.start.source==="{",fcName=isMap?"flow map":"flow sequence",coll=new(tag?.nodeClass??(isMap?YAMLMap.YAMLMap:YAMLSeq.YAMLSeq))(ctx.schema);coll.flow=!0;let atRoot=ctx.atRoot;if(atRoot)ctx.atRoot=!1;if(ctx.atKey)ctx.atKey=!1;let offset=fc.offset+fc.start.source.length;for(let i=0;i<fc.items.length;++i){let collItem=fc.items[i],{start,key,sep,value}=collItem,props=resolveProps.resolveProps(start,{flow:fcName,indicator:"explicit-key-ind",next:key??sep?.[0],offset,onError,parentIndent:fc.indent,startOnNewline:!1});if(!props.found){if(!props.anchor&&!props.tag&&!sep&&!value){if(i===0&&props.comma)onError(props.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${fcName}`);else if(i<fc.items.length-1)onError(props.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${fcName}`);if(props.comment)if(coll.comment)coll.comment+=`
|
|
130
|
+
`+props.comment;else coll.comment=props.comment;offset=props.end;continue}if(!isMap&&ctx.options.strict&&utilContainsNewline.containsNewline(key))onError(key,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(i===0){if(props.comma)onError(props.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${fcName}`)}else{if(!props.comma)onError(props.start,"MISSING_CHAR",`Missing , between ${fcName} items`);if(props.comment){let prevItemComment="";loop:for(let st of start)switch(st.type){case"comma":case"space":break;case"comment":prevItemComment=st.source.substring(1);break loop;default:break loop}if(prevItemComment){let prev=coll.items[coll.items.length-1];if(identity.isPair(prev))prev=prev.value??prev.key;if(prev.comment)prev.comment+=`
|
|
131
|
+
`+prevItemComment;else prev.comment=prevItemComment;props.comment=props.comment.substring(prevItemComment.length+1)}}}if(!isMap&&!sep&&!props.found){let valueNode=value?composeNode(ctx,value,props,onError):composeEmptyNode(ctx,props.end,sep,null,props,onError);if(coll.items.push(valueNode),offset=valueNode.range[2],isBlock(value))onError(valueNode.range,"BLOCK_IN_FLOW",blockMsg)}else{ctx.atKey=!0;let keyStart=props.end,keyNode=key?composeNode(ctx,key,props,onError):composeEmptyNode(ctx,keyStart,start,null,props,onError);if(isBlock(key))onError(keyNode.range,"BLOCK_IN_FLOW",blockMsg);ctx.atKey=!1;let valueProps=resolveProps.resolveProps(sep??[],{flow:fcName,indicator:"map-value-ind",next:value,offset:keyNode.range[2],onError,parentIndent:fc.indent,startOnNewline:!1});if(valueProps.found){if(!isMap&&!props.found&&ctx.options.strict){if(sep)for(let st of sep){if(st===valueProps.found)break;if(st.type==="newline"){onError(st,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}if(props.start<valueProps.found.offset-1024)onError(valueProps.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else if(value)if("source"in value&&value.source?.[0]===":")onError(value,"MISSING_CHAR",`Missing space after : in ${fcName}`);else onError(valueProps.start,"MISSING_CHAR",`Missing , or : between ${fcName} items`);let valueNode=value?composeNode(ctx,value,valueProps,onError):valueProps.found?composeEmptyNode(ctx,valueProps.end,sep,null,valueProps,onError):null;if(valueNode){if(isBlock(value))onError(valueNode.range,"BLOCK_IN_FLOW",blockMsg)}else if(valueProps.comment)if(keyNode.comment)keyNode.comment+=`
|
|
132
|
+
`+valueProps.comment;else keyNode.comment=valueProps.comment;let pair=new Pair.Pair(keyNode,valueNode);if(ctx.options.keepSourceTokens)pair.srcToken=collItem;if(isMap){let map2=coll;if(utilMapIncludes.mapIncludes(ctx,map2.items,keyNode))onError(keyStart,"DUPLICATE_KEY","Map keys must be unique");map2.items.push(pair)}else{let map2=new YAMLMap.YAMLMap(ctx.schema);map2.flow=!0,map2.items.push(pair);let endRange=(valueNode??keyNode).range;map2.range=[keyNode.range[0],endRange[1],endRange[2]],coll.items.push(map2)}offset=valueNode?valueNode.range[2]:valueProps.end}}let expectedEnd=isMap?"}":"]",[ce,...ee]=fc.end,cePos=offset;if(ce?.source===expectedEnd)cePos=ce.offset+ce.source.length;else{let name=fcName[0].toUpperCase()+fcName.substring(1),msg=atRoot?`${name} must end with a ${expectedEnd}`:`${name} in block collection must be sufficiently indented and end with a ${expectedEnd}`;if(onError(offset,atRoot?"MISSING_CHAR":"BAD_INDENT",msg),ce&&ce.source.length!==1)ee.unshift(ce)}if(ee.length>0){let end=resolveEnd.resolveEnd(ee,cePos,ctx.options.strict,onError);if(end.comment)if(coll.comment)coll.comment+=`
|
|
133
|
+
`+end.comment;else coll.comment=end.comment;coll.range=[fc.offset,cePos,end.offset]}else coll.range=[fc.offset,cePos,cePos];return coll}exports.resolveFlowCollection=resolveFlowCollection});var require_compose_collection=__commonJS((exports)=>{var identity=require_identity(),Scalar=require_Scalar(),YAMLMap=require_YAMLMap(),YAMLSeq=require_YAMLSeq(),resolveBlockMap=require_resolve_block_map(),resolveBlockSeq=require_resolve_block_seq(),resolveFlowCollection=require_resolve_flow_collection();function resolveCollection(CN,ctx,token,onError,tagName,tag){let coll=token.type==="block-map"?resolveBlockMap.resolveBlockMap(CN,ctx,token,onError,tag):token.type==="block-seq"?resolveBlockSeq.resolveBlockSeq(CN,ctx,token,onError,tag):resolveFlowCollection.resolveFlowCollection(CN,ctx,token,onError,tag),Coll=coll.constructor;if(tagName==="!"||tagName===Coll.tagName)return coll.tag=Coll.tagName,coll;if(tagName)coll.tag=tagName;return coll}function composeCollection(CN,ctx,token,props,onError){let tagToken=props.tag,tagName=!tagToken?null:ctx.directives.tagName(tagToken.source,(msg)=>onError(tagToken,"TAG_RESOLVE_FAILED",msg));if(token.type==="block-seq"){let{anchor,newlineAfterProp:nl}=props,lastProp=anchor&&tagToken?anchor.offset>tagToken.offset?anchor:tagToken:anchor??tagToken;if(lastProp&&(!nl||nl.offset<lastProp.offset))onError(lastProp,"MISSING_CHAR","Missing newline after block sequence props")}let expType=token.type==="block-map"?"map":token.type==="block-seq"?"seq":token.start.source==="{"?"map":"seq";if(!tagToken||!tagName||tagName==="!"||tagName===YAMLMap.YAMLMap.tagName&&expType==="map"||tagName===YAMLSeq.YAMLSeq.tagName&&expType==="seq")return resolveCollection(CN,ctx,token,onError,tagName);let tag=ctx.schema.tags.find((t)=>t.tag===tagName&&t.collection===expType);if(!tag){let kt=ctx.schema.knownTags[tagName];if(kt?.collection===expType)ctx.schema.tags.push(Object.assign({},kt,{default:!1})),tag=kt;else{if(kt)onError(tagToken,"BAD_COLLECTION_TYPE",`${kt.tag} used for ${expType} collection, but expects ${kt.collection??"scalar"}`,!0);else onError(tagToken,"TAG_RESOLVE_FAILED",`Unresolved tag: ${tagName}`,!0);return resolveCollection(CN,ctx,token,onError,tagName)}}let coll=resolveCollection(CN,ctx,token,onError,tagName,tag),res=tag.resolve?.(coll,(msg)=>onError(tagToken,"TAG_RESOLVE_FAILED",msg),ctx.options)??coll,node=identity.isNode(res)?res:new Scalar.Scalar(res);if(node.range=coll.range,node.tag=tagName,tag?.format)node.format=tag.format;return node}exports.composeCollection=composeCollection});var require_resolve_block_scalar=__commonJS((exports)=>{var Scalar=require_Scalar();function resolveBlockScalar(ctx,scalar,onError){let start=scalar.offset,header=parseBlockScalarHeader(scalar,ctx.options.strict,onError);if(!header)return{value:"",type:null,comment:"",range:[start,start,start]};let type=header.mode===">"?Scalar.Scalar.BLOCK_FOLDED:Scalar.Scalar.BLOCK_LITERAL,lines=scalar.source?splitLines(scalar.source):[],chompStart=lines.length;for(let i=lines.length-1;i>=0;--i){let content=lines[i][1];if(content===""||content==="\r")chompStart=i;else break}if(chompStart===0){let value2=header.chomp==="+"&&lines.length>0?`
|
|
134
|
+
`.repeat(Math.max(1,lines.length-1)):"",end2=start+header.length;if(scalar.source)end2+=scalar.source.length;return{value:value2,type,comment:header.comment,range:[start,end2,end2]}}let trimIndent=scalar.indent+header.indent,offset=scalar.offset+header.length,contentStart=0;for(let i=0;i<chompStart;++i){let[indent,content]=lines[i];if(content===""||content==="\r"){if(header.indent===0&&indent.length>trimIndent)trimIndent=indent.length}else{if(indent.length<trimIndent)onError(offset+indent.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator");if(header.indent===0)trimIndent=indent.length;if(contentStart=i,trimIndent===0&&!ctx.atRoot)onError(offset,"BAD_INDENT","Block scalar values in collections must be indented");break}offset+=indent.length+content.length+1}for(let i=lines.length-1;i>=chompStart;--i)if(lines[i][0].length>trimIndent)chompStart=i+1;let value="",sep="",prevMoreIndented=!1;for(let i=0;i<contentStart;++i)value+=lines[i][0].slice(trimIndent)+`
|
|
135
|
+
`;for(let i=contentStart;i<chompStart;++i){let[indent,content]=lines[i];offset+=indent.length+content.length+1;let crlf=content[content.length-1]==="\r";if(crlf)content=content.slice(0,-1);if(content&&indent.length<trimIndent){let message=`Block scalar lines must not be less indented than their ${header.indent?"explicit indentation indicator":"first line"}`;onError(offset-content.length-(crlf?2:1),"BAD_INDENT",message),indent=""}if(type===Scalar.Scalar.BLOCK_LITERAL)value+=sep+indent.slice(trimIndent)+content,sep=`
|
|
136
|
+
`;else if(indent.length>trimIndent||content[0]==="\t"){if(sep===" ")sep=`
|
|
137
|
+
`;else if(!prevMoreIndented&&sep===`
|
|
138
|
+
`)sep=`
|
|
139
|
+
|
|
140
|
+
`;value+=sep+indent.slice(trimIndent)+content,sep=`
|
|
141
|
+
`,prevMoreIndented=!0}else if(content==="")if(sep===`
|
|
142
|
+
`)value+=`
|
|
143
|
+
`;else sep=`
|
|
144
|
+
`;else value+=sep+content,sep=" ",prevMoreIndented=!1}switch(header.chomp){case"-":break;case"+":for(let i=chompStart;i<lines.length;++i)value+=`
|
|
145
|
+
`+lines[i][0].slice(trimIndent);if(value[value.length-1]!==`
|
|
146
|
+
`)value+=`
|
|
147
|
+
`;break;default:value+=`
|
|
148
|
+
`}let end=start+header.length+scalar.source.length;return{value,type,comment:header.comment,range:[start,end,end]}}function parseBlockScalarHeader({offset,props},strict,onError){if(props[0].type!=="block-scalar-header")return onError(props[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source}=props[0],mode=source[0],indent=0,chomp="",error51=-1;for(let i=1;i<source.length;++i){let ch=source[i];if(!chomp&&(ch==="-"||ch==="+"))chomp=ch;else{let n=Number(ch);if(!indent&&n)indent=n;else if(error51===-1)error51=offset+i}}if(error51!==-1)onError(error51,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${source}`);let hasSpace=!1,comment="",length=source.length;for(let i=1;i<props.length;++i){let token=props[i];switch(token.type){case"space":hasSpace=!0;case"newline":length+=token.source.length;break;case"comment":if(strict&&!hasSpace)onError(token,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");length+=token.source.length,comment=token.source.substring(1);break;case"error":onError(token,"UNEXPECTED_TOKEN",token.message),length+=token.source.length;break;default:{let message=`Unexpected token in block scalar header: ${token.type}`;onError(token,"UNEXPECTED_TOKEN",message);let ts=token.source;if(ts&&typeof ts==="string")length+=ts.length}}}return{mode,indent,chomp,comment,length}}function splitLines(source){let split=source.split(/\n( *)/),first=split[0],m=first.match(/^( *)/),lines=[m?.[1]?[m[1],first.slice(m[1].length)]:["",first]];for(let i=1;i<split.length;i+=2)lines.push([split[i],split[i+1]]);return lines}exports.resolveBlockScalar=resolveBlockScalar});var require_resolve_flow_scalar=__commonJS((exports)=>{var Scalar=require_Scalar(),resolveEnd=require_resolve_end();function resolveFlowScalar(scalar,strict,onError){let{offset,type,source,end}=scalar,_type,value,_onError=(rel,code,msg)=>onError(offset+rel,code,msg);switch(type){case"scalar":_type=Scalar.Scalar.PLAIN,value=plainValue(source,_onError);break;case"single-quoted-scalar":_type=Scalar.Scalar.QUOTE_SINGLE,value=singleQuotedValue(source,_onError);break;case"double-quoted-scalar":_type=Scalar.Scalar.QUOTE_DOUBLE,value=doubleQuotedValue(source,_onError);break;default:return onError(scalar,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${type}`),{value:"",type:null,comment:"",range:[offset,offset+source.length,offset+source.length]}}let valueEnd=offset+source.length,re=resolveEnd.resolveEnd(end,valueEnd,strict,onError);return{value,type:_type,comment:re.comment,range:[offset,valueEnd,re.offset]}}function plainValue(source,onError){let badChar="";switch(source[0]){case"\t":badChar="a tab character";break;case",":badChar="flow indicator character ,";break;case"%":badChar="directive indicator character %";break;case"|":case">":{badChar=`block scalar indicator ${source[0]}`;break}case"@":case"`":{badChar=`reserved character ${source[0]}`;break}}if(badChar)onError(0,"BAD_SCALAR_START",`Plain value cannot start with ${badChar}`);return foldLines(source)}function singleQuotedValue(source,onError){if(source[source.length-1]!=="'"||source.length===1)onError(source.length,"MISSING_CHAR","Missing closing 'quote");return foldLines(source.slice(1,-1)).replace(/''/g,"'")}function foldLines(source){let first,line;try{first=new RegExp(`(.*?)(?<![ ])[ ]*\r?
|
|
149
|
+
`,"sy"),line=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
|
|
150
|
+
`,"sy")}catch{first=/(.*?)[ \t]*\r?\n/sy,line=/[ \t]*(.*?)[ \t]*\r?\n/sy}let match=first.exec(source);if(!match)return source;let res=match[1],sep=" ",pos=first.lastIndex;line.lastIndex=pos;while(match=line.exec(source)){if(match[1]==="")if(sep===`
|
|
151
|
+
`)res+=sep;else sep=`
|
|
152
|
+
`;else res+=sep+match[1],sep=" ";pos=line.lastIndex}let last=/[ \t]*(.*)/sy;return last.lastIndex=pos,match=last.exec(source),res+sep+(match?.[1]??"")}function doubleQuotedValue(source,onError){let res="";for(let i=1;i<source.length-1;++i){let ch=source[i];if(ch==="\r"&&source[i+1]===`
|
|
153
|
+
`)continue;if(ch===`
|
|
154
|
+
`){let{fold,offset}=foldNewline(source,i);res+=fold,i=offset}else if(ch==="\\"){let next=source[++i],cc=escapeCodes[next];if(cc)res+=cc;else if(next===`
|
|
155
|
+
`){next=source[i+1];while(next===" "||next==="\t")next=source[++i+1]}else if(next==="\r"&&source[i+1]===`
|
|
156
|
+
`){next=source[++i+1];while(next===" "||next==="\t")next=source[++i+1]}else if(next==="x"||next==="u"||next==="U"){let length=next==="x"?2:next==="u"?4:8;res+=parseCharCode(source,i+1,length,onError),i+=length}else{let raw=source.substr(i-1,2);onError(i-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${raw}`),res+=raw}}else if(ch===" "||ch==="\t"){let wsStart=i,next=source[i+1];while(next===" "||next==="\t")next=source[++i+1];if(next!==`
|
|
157
|
+
`&&!(next==="\r"&&source[i+2]===`
|
|
158
|
+
`))res+=i>wsStart?source.slice(wsStart,i+1):ch}else res+=ch}if(source[source.length-1]!=='"'||source.length===1)onError(source.length,"MISSING_CHAR",'Missing closing "quote');return res}function foldNewline(source,offset){let fold="",ch=source[offset+1];while(ch===" "||ch==="\t"||ch===`
|
|
159
|
+
`||ch==="\r"){if(ch==="\r"&&source[offset+2]!==`
|
|
160
|
+
`)break;if(ch===`
|
|
161
|
+
`)fold+=`
|
|
162
|
+
`;offset+=1,ch=source[offset+1]}if(!fold)fold=" ";return{fold,offset}}var escapeCodes={"0":"\x00",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
|
|
163
|
+
`,r:"\r",t:"\t",v:"\v",N:"
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\","\t":"\t"};function parseCharCode(source,offset,length,onError){let cc=source.substr(offset,length),code=cc.length===length&&/^[0-9a-fA-F]+$/.test(cc)?parseInt(cc,16):NaN;try{return String.fromCodePoint(code)}catch{let raw=source.substr(offset-2,length+2);return onError(offset-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${raw}`),raw}}exports.resolveFlowScalar=resolveFlowScalar});var require_compose_scalar=__commonJS((exports)=>{var identity=require_identity(),Scalar=require_Scalar(),resolveBlockScalar=require_resolve_block_scalar(),resolveFlowScalar=require_resolve_flow_scalar();function composeScalar(ctx,token,tagToken,onError){let{value,type,comment,range}=token.type==="block-scalar"?resolveBlockScalar.resolveBlockScalar(ctx,token,onError):resolveFlowScalar.resolveFlowScalar(token,ctx.options.strict,onError),tagName=tagToken?ctx.directives.tagName(tagToken.source,(msg)=>onError(tagToken,"TAG_RESOLVE_FAILED",msg)):null,tag;if(ctx.options.stringKeys&&ctx.atKey)tag=ctx.schema[identity.SCALAR];else if(tagName)tag=findScalarTagByName(ctx.schema,value,tagName,tagToken,onError);else if(token.type==="scalar")tag=findScalarTagByTest(ctx,value,token,onError);else tag=ctx.schema[identity.SCALAR];let scalar;try{let res=tag.resolve(value,(msg)=>onError(tagToken??token,"TAG_RESOLVE_FAILED",msg),ctx.options);scalar=identity.isScalar(res)?res:new Scalar.Scalar(res)}catch(error51){let msg=error51 instanceof Error?error51.message:String(error51);onError(tagToken??token,"TAG_RESOLVE_FAILED",msg),scalar=new Scalar.Scalar(value)}if(scalar.range=range,scalar.source=value,type)scalar.type=type;if(tagName)scalar.tag=tagName;if(tag.format)scalar.format=tag.format;if(comment)scalar.comment=comment;return scalar}function findScalarTagByName(schema,value,tagName,tagToken,onError){if(tagName==="!")return schema[identity.SCALAR];let matchWithTest=[];for(let tag of schema.tags)if(!tag.collection&&tag.tag===tagName)if(tag.default&&tag.test)matchWithTest.push(tag);else return tag;for(let tag of matchWithTest)if(tag.test?.test(value))return tag;let kt=schema.knownTags[tagName];if(kt&&!kt.collection)return schema.tags.push(Object.assign({},kt,{default:!1,test:void 0})),kt;return onError(tagToken,"TAG_RESOLVE_FAILED",`Unresolved tag: ${tagName}`,tagName!=="tag:yaml.org,2002:str"),schema[identity.SCALAR]}function findScalarTagByTest({atKey,directives,schema},value,token,onError){let tag=schema.tags.find((tag2)=>(tag2.default===!0||atKey&&tag2.default==="key")&&tag2.test?.test(value))||schema[identity.SCALAR];if(schema.compat){let compat2=schema.compat.find((tag2)=>tag2.default&&tag2.test?.test(value))??schema[identity.SCALAR];if(tag.tag!==compat2.tag){let ts=directives.tagString(tag.tag),cs=directives.tagString(compat2.tag),msg=`Value may be parsed as either ${ts} or ${cs}`;onError(token,"TAG_RESOLVE_FAILED",msg,!0)}}return tag}exports.composeScalar=composeScalar});var require_util_empty_scalar_position=__commonJS((exports)=>{function emptyScalarPosition(offset,before,pos){if(before){pos??(pos=before.length);for(let i=pos-1;i>=0;--i){let st=before[i];switch(st.type){case"space":case"comment":case"newline":offset-=st.source.length;continue}st=before[++i];while(st?.type==="space")offset+=st.source.length,st=before[++i];break}}return offset}exports.emptyScalarPosition=emptyScalarPosition});var require_compose_node=__commonJS((exports)=>{var Alias=require_Alias(),identity=require_identity(),composeCollection=require_compose_collection(),composeScalar=require_compose_scalar(),resolveEnd=require_resolve_end(),utilEmptyScalarPosition=require_util_empty_scalar_position(),CN={composeNode,composeEmptyNode};function composeNode(ctx,token,props,onError){let atKey=ctx.atKey,{spaceBefore,comment,anchor,tag}=props,node,isSrcToken=!0;switch(token.type){case"alias":if(node=composeAlias(ctx,token,onError),anchor||tag)onError(token,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":if(node=composeScalar.composeScalar(ctx,token,tag,onError),anchor)node.anchor=anchor.source.substring(1);break;case"block-map":case"block-seq":case"flow-collection":try{if(node=composeCollection.composeCollection(CN,ctx,token,props,onError),anchor)node.anchor=anchor.source.substring(1)}catch(error51){let message=error51 instanceof Error?error51.message:String(error51);onError(token,"RESOURCE_EXHAUSTION",message)}break;default:{let message=token.type==="error"?token.message:`Unsupported token (type: ${token.type})`;onError(token,"UNEXPECTED_TOKEN",message),isSrcToken=!1}}if(node??(node=composeEmptyNode(ctx,token.offset,void 0,null,props,onError)),anchor&&node.anchor==="")onError(anchor,"BAD_ALIAS","Anchor cannot be an empty string");if(atKey&&ctx.options.stringKeys&&(!identity.isScalar(node)||typeof node.value!=="string"||node.tag&&node.tag!=="tag:yaml.org,2002:str"))onError(tag??token,"NON_STRING_KEY","With stringKeys, all keys must be strings");if(spaceBefore)node.spaceBefore=!0;if(comment)if(token.type==="scalar"&&token.source==="")node.comment=comment;else node.commentBefore=comment;if(ctx.options.keepSourceTokens&&isSrcToken)node.srcToken=token;return node}function composeEmptyNode(ctx,offset,before,pos,{spaceBefore,comment,anchor,tag,end},onError){let token={type:"scalar",offset:utilEmptyScalarPosition.emptyScalarPosition(offset,before,pos),indent:-1,source:""},node=composeScalar.composeScalar(ctx,token,tag,onError);if(anchor){if(node.anchor=anchor.source.substring(1),node.anchor==="")onError(anchor,"BAD_ALIAS","Anchor cannot be an empty string")}if(spaceBefore)node.spaceBefore=!0;if(comment)node.comment=comment,node.range[2]=end;return node}function composeAlias({options},{offset,source,end},onError){let alias=new Alias.Alias(source.substring(1));if(alias.source==="")onError(offset,"BAD_ALIAS","Alias cannot be an empty string");if(alias.source.endsWith(":"))onError(offset+source.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let valueEnd=offset+source.length,re=resolveEnd.resolveEnd(end,valueEnd,options.strict,onError);if(alias.range=[offset,valueEnd,re.offset],re.comment)alias.comment=re.comment;return alias}exports.composeEmptyNode=composeEmptyNode;exports.composeNode=composeNode});var require_compose_doc=__commonJS((exports)=>{var Document=require_Document(),composeNode=require_compose_node(),resolveEnd=require_resolve_end(),resolveProps=require_resolve_props();function composeDoc(options,directives,{offset,start,value,end},onError){let opts=Object.assign({_directives:directives},options),doc2=new Document.Document(void 0,opts),ctx={atKey:!1,atRoot:!0,directives:doc2.directives,options:doc2.options,schema:doc2.schema},props=resolveProps.resolveProps(start,{indicator:"doc-start",next:value??end?.[0],offset,onError,parentIndent:0,startOnNewline:!0});if(props.found){if(doc2.directives.docStart=!0,value&&(value.type==="block-map"||value.type==="block-seq")&&!props.hasNewline)onError(props.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")}doc2.contents=value?composeNode.composeNode(ctx,value,props,onError):composeNode.composeEmptyNode(ctx,props.end,start,null,props,onError);let contentEnd=doc2.contents.range[2],re=resolveEnd.resolveEnd(end,contentEnd,!1,onError);if(re.comment)doc2.comment=re.comment;return doc2.range=[offset,contentEnd,re.offset],doc2}exports.composeDoc=composeDoc});var require_composer=__commonJS((exports)=>{var node_process=__require("process"),directives=require_directives(),Document=require_Document(),errors4=require_errors(),identity=require_identity(),composeDoc=require_compose_doc(),resolveEnd=require_resolve_end();function getErrorPos(src){if(typeof src==="number")return[src,src+1];if(Array.isArray(src))return src.length===2?src:[src[0],src[1]];let{offset,source}=src;return[offset,offset+(typeof source==="string"?source.length:1)]}function parsePrelude(prelude){let comment="",atComment=!1,afterEmptyLine=!1;for(let i=0;i<prelude.length;++i){let source=prelude[i];switch(source[0]){case"#":comment+=(comment===""?"":afterEmptyLine?`
|
|
164
|
+
|
|
165
|
+
`:`
|
|
166
|
+
`)+(source.substring(1)||" "),atComment=!0,afterEmptyLine=!1;break;case"%":if(prelude[i+1]?.[0]!=="#")i+=1;atComment=!1;break;default:if(!atComment)afterEmptyLine=!0;atComment=!1}}return{comment,afterEmptyLine}}class Composer{constructor(options={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(source,code,message,warning)=>{let pos=getErrorPos(source);if(warning)this.warnings.push(new errors4.YAMLWarning(pos,code,message));else this.errors.push(new errors4.YAMLParseError(pos,code,message))},this.directives=new directives.Directives({version:options.version||"1.2"}),this.options=options}decorate(doc2,afterDoc){let{comment,afterEmptyLine}=parsePrelude(this.prelude);if(comment){let dc=doc2.contents;if(afterDoc)doc2.comment=doc2.comment?`${doc2.comment}
|
|
167
|
+
${comment}`:comment;else if(afterEmptyLine||doc2.directives.docStart||!dc)doc2.commentBefore=comment;else if(identity.isCollection(dc)&&!dc.flow&&dc.items.length>0){let it=dc.items[0];if(identity.isPair(it))it=it.key;let cb=it.commentBefore;it.commentBefore=cb?`${comment}
|
|
168
|
+
${cb}`:comment}else{let cb=dc.commentBefore;dc.commentBefore=cb?`${comment}
|
|
169
|
+
${cb}`:comment}}if(afterDoc){for(let i=0;i<this.errors.length;++i)doc2.errors.push(this.errors[i]);for(let i=0;i<this.warnings.length;++i)doc2.warnings.push(this.warnings[i])}else doc2.errors=this.errors,doc2.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:parsePrelude(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(tokens,forceDoc=!1,endOffset=-1){for(let token of tokens)yield*this.next(token);yield*this.end(forceDoc,endOffset)}*next(token){if(node_process.env.LOG_STREAM)console.dir(token,{depth:null});switch(token.type){case"directive":this.directives.add(token.source,(offset,message,warning)=>{let pos=getErrorPos(token);pos[0]+=offset,this.onError(pos,"BAD_DIRECTIVE",message,warning)}),this.prelude.push(token.source),this.atDirectives=!0;break;case"document":{let doc2=composeDoc.composeDoc(this.options,this.directives,token,this.onError);if(this.atDirectives&&!doc2.directives.docStart)this.onError(token,"MISSING_CHAR","Missing directives-end/doc-start indicator line");if(this.decorate(doc2,!1),this.doc)yield this.doc;this.doc=doc2,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(token.source);break;case"error":{let msg=token.source?`${token.message}: ${JSON.stringify(token.source)}`:token.message,error51=new errors4.YAMLParseError(getErrorPos(token),"UNEXPECTED_TOKEN",msg);if(this.atDirectives||!this.doc)this.errors.push(error51);else this.doc.errors.push(error51);break}case"doc-end":{if(!this.doc){this.errors.push(new errors4.YAMLParseError(getErrorPos(token),"UNEXPECTED_TOKEN","Unexpected doc-end without preceding document"));break}this.doc.directives.docEnd=!0;let end=resolveEnd.resolveEnd(token.end,token.offset+token.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),end.comment){let dc=this.doc.comment;this.doc.comment=dc?`${dc}
|
|
170
|
+
${end.comment}`:end.comment}this.doc.range[2]=end.offset;break}default:this.errors.push(new errors4.YAMLParseError(getErrorPos(token),"UNEXPECTED_TOKEN",`Unsupported token ${token.type}`))}}*end(forceDoc=!1,endOffset=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(forceDoc){let opts=Object.assign({_directives:this.directives},this.options),doc2=new Document.Document(void 0,opts);if(this.atDirectives)this.onError(endOffset,"MISSING_CHAR","Missing directives-end indicator line");doc2.range=[0,endOffset,endOffset],this.decorate(doc2,!1),yield doc2}}}exports.Composer=Composer});var require_cst_scalar=__commonJS((exports)=>{var resolveBlockScalar=require_resolve_block_scalar(),resolveFlowScalar=require_resolve_flow_scalar(),errors4=require_errors(),stringifyString=require_stringifyString();function resolveAsScalar(token,strict=!0,onError){if(token){let _onError=(pos,code,message)=>{let offset=typeof pos==="number"?pos:Array.isArray(pos)?pos[0]:pos.offset;if(onError)onError(offset,code,message);else throw new errors4.YAMLParseError([offset,offset+1],code,message)};switch(token.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return resolveFlowScalar.resolveFlowScalar(token,strict,_onError);case"block-scalar":return resolveBlockScalar.resolveBlockScalar({options:{strict}},token,_onError)}}return null}function createScalarToken(value,context){let{implicitKey=!1,indent,inFlow=!1,offset=-1,type="PLAIN"}=context,source=stringifyString.stringifyString({type,value},{implicitKey,indent:indent>0?" ".repeat(indent):"",inFlow,options:{blockQuote:!0,lineWidth:-1}}),end=context.end??[{type:"newline",offset:-1,indent,source:`
|
|
171
|
+
`}];switch(source[0]){case"|":case">":{let he=source.indexOf(`
|
|
172
|
+
`),head=source.substring(0,he),body=source.substring(he+1)+`
|
|
173
|
+
`,props=[{type:"block-scalar-header",offset,indent,source:head}];if(!addEndtoBlockProps(props,end))props.push({type:"newline",offset:-1,indent,source:`
|
|
174
|
+
`});return{type:"block-scalar",offset,indent,props,source:body}}case'"':return{type:"double-quoted-scalar",offset,indent,source,end};case"'":return{type:"single-quoted-scalar",offset,indent,source,end};default:return{type:"scalar",offset,indent,source,end}}}function setScalarValue(token,value,context={}){let{afterKey=!1,implicitKey=!1,inFlow=!1,type}=context,indent="indent"in token?token.indent:null;if(afterKey&&typeof indent==="number")indent+=2;if(!type)switch(token.type){case"single-quoted-scalar":type="QUOTE_SINGLE";break;case"double-quoted-scalar":type="QUOTE_DOUBLE";break;case"block-scalar":{let header=token.props[0];if(header.type!=="block-scalar-header")throw Error("Invalid block scalar header");type=header.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:type="PLAIN"}let source=stringifyString.stringifyString({type,value},{implicitKey:implicitKey||indent===null,indent:indent!==null&&indent>0?" ".repeat(indent):"",inFlow,options:{blockQuote:!0,lineWidth:-1}});switch(source[0]){case"|":case">":setBlockScalarValue(token,source);break;case'"':setFlowScalarValue(token,source,"double-quoted-scalar");break;case"'":setFlowScalarValue(token,source,"single-quoted-scalar");break;default:setFlowScalarValue(token,source,"scalar")}}function setBlockScalarValue(token,source){let he=source.indexOf(`
|
|
175
|
+
`),head=source.substring(0,he),body=source.substring(he+1)+`
|
|
176
|
+
`;if(token.type==="block-scalar"){let header=token.props[0];if(header.type!=="block-scalar-header")throw Error("Invalid block scalar header");header.source=head,token.source=body}else{let{offset}=token,indent="indent"in token?token.indent:-1,props=[{type:"block-scalar-header",offset,indent,source:head}];if(!addEndtoBlockProps(props,"end"in token?token.end:void 0))props.push({type:"newline",offset:-1,indent,source:`
|
|
177
|
+
`});for(let key of Object.keys(token))if(key!=="type"&&key!=="offset")delete token[key];Object.assign(token,{type:"block-scalar",indent,props,source:body})}}function addEndtoBlockProps(props,end){if(end)for(let st of end)switch(st.type){case"space":case"comment":props.push(st);break;case"newline":return props.push(st),!0}return!1}function setFlowScalarValue(token,source,type){switch(token.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":token.type=type,token.source=source;break;case"block-scalar":{let end=token.props.slice(1),oa=source.length;if(token.props[0].type==="block-scalar-header")oa-=token.props[0].source.length;for(let tok of end)tok.offset+=oa;delete token.props,Object.assign(token,{type,source,end});break}case"block-map":case"block-seq":{let nl={type:"newline",offset:token.offset+source.length,indent:token.indent,source:`
|
|
178
|
+
`};delete token.items,Object.assign(token,{type,source,end:[nl]});break}default:{let indent="indent"in token?token.indent:-1,end="end"in token&&Array.isArray(token.end)?token.end.filter((st)=>st.type==="space"||st.type==="comment"||st.type==="newline"):[];for(let key of Object.keys(token))if(key!=="type"&&key!=="offset")delete token[key];Object.assign(token,{type,indent,source,end})}}}exports.createScalarToken=createScalarToken;exports.resolveAsScalar=resolveAsScalar;exports.setScalarValue=setScalarValue});var require_cst_stringify=__commonJS((exports)=>{var stringify=(cst)=>("type"in cst)?stringifyToken(cst):stringifyItem(cst);function stringifyToken(token){switch(token.type){case"block-scalar":{let res="";for(let tok of token.props)res+=stringifyToken(tok);return res+token.source}case"block-map":case"block-seq":{let res="";for(let item of token.items)res+=stringifyItem(item);return res}case"flow-collection":{let res=token.start.source;for(let item of token.items)res+=stringifyItem(item);for(let st of token.end)res+=st.source;return res}case"document":{let res=stringifyItem(token);if(token.end)for(let st of token.end)res+=st.source;return res}default:{let res=token.source;if("end"in token&&token.end)for(let st of token.end)res+=st.source;return res}}}function stringifyItem({start,key,sep,value}){let res="";for(let st of start)res+=st.source;if(key)res+=stringifyToken(key);if(sep)for(let st of sep)res+=st.source;if(value)res+=stringifyToken(value);return res}exports.stringify=stringify});var require_cst_visit=__commonJS((exports)=>{var BREAK=Symbol("break visit"),SKIP=Symbol("skip children"),REMOVE=Symbol("remove item");function visit(cst,visitor){if("type"in cst&&cst.type==="document")cst={start:cst.start,value:cst.value};_visit(Object.freeze([]),cst,visitor)}visit.BREAK=BREAK;visit.SKIP=SKIP;visit.REMOVE=REMOVE;visit.itemAtPath=(cst,path)=>{let item=cst;for(let[field,index]of path){let tok=item?.[field];if(tok&&"items"in tok)item=tok.items[index];else return}return item};visit.parentCollection=(cst,path)=>{let parent=visit.itemAtPath(cst,path.slice(0,-1)),field=path[path.length-1][0],coll=parent?.[field];if(coll&&"items"in coll)return coll;throw Error("Parent collection not found")};function _visit(path,item,visitor){let ctrl=visitor(item,path);if(typeof ctrl==="symbol")return ctrl;for(let field of["key","value"]){let token=item[field];if(token&&"items"in token){for(let i=0;i<token.items.length;++i){let ci=_visit(Object.freeze(path.concat([[field,i]])),token.items[i],visitor);if(typeof ci==="number")i=ci-1;else if(ci===BREAK)return BREAK;else if(ci===REMOVE)token.items.splice(i,1),i-=1}if(typeof ctrl==="function"&&field==="key")ctrl=ctrl(item,path)}}return typeof ctrl==="function"?ctrl(item,path):ctrl}exports.visit=visit});var require_cst=__commonJS((exports)=>{var cstScalar=require_cst_scalar(),cstStringify=require_cst_stringify(),cstVisit=require_cst_visit(),BOM="\uFEFF",DOCUMENT="\x02",FLOW_END="\x18",SCALAR="\x1F",isCollection=(token)=>!!token&&("items"in token),isScalar=(token)=>!!token&&(token.type==="scalar"||token.type==="single-quoted-scalar"||token.type==="double-quoted-scalar"||token.type==="block-scalar");function prettyToken(token){switch(token){case BOM:return"<BOM>";case DOCUMENT:return"<DOC>";case FLOW_END:return"<FLOW_END>";case SCALAR:return"<SCALAR>";default:return JSON.stringify(token)}}function tokenType(source){switch(source){case BOM:return"byte-order-mark";case DOCUMENT:return"doc-mode";case FLOW_END:return"flow-error-end";case SCALAR:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
|
|
179
|
+
`:case`\r
|
|
180
|
+
`:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(source[0]){case" ":case"\t":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}exports.createScalarToken=cstScalar.createScalarToken;exports.resolveAsScalar=cstScalar.resolveAsScalar;exports.setScalarValue=cstScalar.setScalarValue;exports.stringify=cstStringify.stringify;exports.visit=cstVisit.visit;exports.BOM=BOM;exports.DOCUMENT=DOCUMENT;exports.FLOW_END=FLOW_END;exports.SCALAR=SCALAR;exports.isCollection=isCollection;exports.isScalar=isScalar;exports.prettyToken=prettyToken;exports.tokenType=tokenType});var require_lexer=__commonJS((exports)=>{var cst=require_cst();function isEmpty(ch){switch(ch){case void 0:case" ":case`
|
|
181
|
+
`:case"\r":case"\t":return!0;default:return!1}}var hexDigits=new Set("0123456789ABCDEFabcdef"),tagChars=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),flowIndicatorChars=new Set(",[]{}"),invalidAnchorChars=new Set(` ,[]{}
|
|
182
|
+
\r `),isNotAnchorChar=(ch)=>!ch||invalidAnchorChars.has(ch);class Lexer{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(source,incomplete=!1){if(source){if(typeof source!=="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+source:source,this.lineEndPos=null}this.atEnd=!incomplete;let next=this.next??"stream";while(next&&(incomplete||this.hasChars(1)))next=yield*this.parseNext(next)}atLineEnd(){let i=this.pos,ch=this.buffer[i];while(ch===" "||ch==="\t")ch=this.buffer[++i];if(!ch||ch==="#"||ch===`
|
|
183
|
+
`)return!0;if(ch==="\r")return this.buffer[i+1]===`
|
|
184
|
+
`;return!1}charAt(n){return this.buffer[this.pos+n]}continueScalar(offset){let ch=this.buffer[offset];if(this.indentNext>0){let indent=0;while(ch===" ")ch=this.buffer[++indent+offset];if(ch==="\r"){let next=this.buffer[indent+offset+1];if(next===`
|
|
185
|
+
`||!next&&!this.atEnd)return offset+indent+1}return ch===`
|
|
186
|
+
`||indent>=this.indentNext||!ch&&!this.atEnd?offset+indent:-1}if(ch==="-"||ch==="."){let dt=this.buffer.substr(offset,3);if((dt==="---"||dt==="...")&&isEmpty(this.buffer[offset+3]))return-1}return offset}getLine(){let end=this.lineEndPos;if(typeof end!=="number"||end!==-1&&end<this.pos)end=this.buffer.indexOf(`
|
|
187
|
+
`,this.pos),this.lineEndPos=end;if(end===-1)return this.atEnd?this.buffer.substring(this.pos):null;if(this.buffer[end-1]==="\r")end-=1;return this.buffer.substring(this.pos,end)}hasChars(n){return this.pos+n<=this.buffer.length}setNext(state){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=state,null}peek(n){return this.buffer.substr(this.pos,n)}*parseNext(next){switch(next){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let line=this.getLine();if(line===null)return this.setNext("stream");if(line[0]===cst.BOM)yield*this.pushCount(1),line=line.substring(1);if(line[0]==="%"){let dirEnd=line.length,cs=line.indexOf("#");while(cs!==-1){let ch=line[cs-1];if(ch===" "||ch==="\t"){dirEnd=cs-1;break}else cs=line.indexOf("#",cs+1)}while(!0){let ch=line[dirEnd-1];if(ch===" "||ch==="\t")dirEnd-=1;else break}let n=(yield*this.pushCount(dirEnd))+(yield*this.pushSpaces(!0));return yield*this.pushCount(line.length-n),this.pushNewline(),"stream"}if(this.atLineEnd()){let sp=yield*this.pushSpaces(!0);return yield*this.pushCount(line.length-sp),yield*this.pushNewline(),"stream"}return yield cst.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let ch=this.charAt(0);if(!ch&&!this.atEnd)return this.setNext("line-start");if(ch==="-"||ch==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let s2=this.peek(3);if((s2==="---"||s2==="...")&&isEmpty(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,s2==="---"?"doc":"stream"}if(this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!isEmpty(this.charAt(1)))this.indentNext=this.indentValue;return yield*this.parseBlockStart()}*parseBlockStart(){let[ch0,ch1]=this.peek(2);if(!ch1&&!this.atEnd)return this.setNext("block-start");if((ch0==="-"||ch0==="?"||ch0===":")&&isEmpty(ch1)){let n=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=n,"block-start"}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let line=this.getLine();if(line===null)return this.setNext("doc");let n=yield*this.pushIndicators();switch(line[n]){case"#":yield*this.pushCount(line.length-n);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(isNotAnchorChar),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return n+=yield*this.parseBlockScalarHeader(),n+=yield*this.pushSpaces(!0),yield*this.pushCount(line.length-n),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let nl,sp,indent=-1;do{if(nl=yield*this.pushNewline(),nl>0)sp=yield*this.pushSpaces(!1),this.indentValue=indent=sp;else sp=0;sp+=yield*this.pushSpaces(!0)}while(nl+sp>0);let line=this.getLine();if(line===null)return this.setNext("flow");if(indent!==-1&&indent<this.indentNext&&line[0]!=="#"||indent===0&&(line.startsWith("---")||line.startsWith("..."))&&isEmpty(line[3])){if(!(indent===this.indentNext-1&&this.flowLevel===1&&(line[0]==="]"||line[0]==="}")))return this.flowLevel=0,yield cst.FLOW_END,yield*this.parseLineStart()}let n=0;while(line[n]===",")n+=yield*this.pushCount(1),n+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(n+=yield*this.pushIndicators(),line[n]){case void 0:return"flow";case"#":return yield*this.pushCount(line.length-n),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(isNotAnchorChar),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let next=this.charAt(1);if(this.flowKey||isEmpty(next)||next===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let quote=this.charAt(0),end=this.buffer.indexOf(quote,this.pos+1);if(quote==="'")while(end!==-1&&this.buffer[end+1]==="'")end=this.buffer.indexOf("'",end+2);else while(end!==-1){let n=0;while(this.buffer[end-1-n]==="\\")n+=1;if(n%2===0)break;end=this.buffer.indexOf('"',end+1)}let qb=this.buffer.substring(0,end),nl=qb.indexOf(`
|
|
188
|
+
`,this.pos);if(nl!==-1){while(nl!==-1){let cs=this.continueScalar(nl+1);if(cs===-1)break;nl=qb.indexOf(`
|
|
189
|
+
`,cs)}if(nl!==-1)end=nl-(qb[nl-1]==="\r"?2:1)}if(end===-1){if(!this.atEnd)return this.setNext("quoted-scalar");end=this.buffer.length}return yield*this.pushToIndex(end+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let i=this.pos;while(!0){let ch=this.buffer[++i];if(ch==="+")this.blockScalarKeep=!0;else if(ch>"0"&&ch<="9")this.blockScalarIndent=Number(ch)-1;else if(ch!=="-")break}return yield*this.pushUntil((ch)=>isEmpty(ch)||ch==="#")}*parseBlockScalar(){let nl=this.pos-1,indent=0,ch;loop:for(let i2=this.pos;ch=this.buffer[i2];++i2)switch(ch){case" ":indent+=1;break;case`
|
|
190
|
+
`:nl=i2,indent=0;break;case"\r":{let next=this.buffer[i2+1];if(!next&&!this.atEnd)return this.setNext("block-scalar");if(next===`
|
|
191
|
+
`)break}default:break loop}if(!ch&&!this.atEnd)return this.setNext("block-scalar");if(indent>=this.indentNext){if(this.blockScalarIndent===-1)this.indentNext=indent;else this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{let cs=this.continueScalar(nl+1);if(cs===-1)break;nl=this.buffer.indexOf(`
|
|
192
|
+
`,cs)}while(nl!==-1);if(nl===-1){if(!this.atEnd)return this.setNext("block-scalar");nl=this.buffer.length}}let i=nl+1;ch=this.buffer[i];while(ch===" ")ch=this.buffer[++i];if(ch==="\t"){while(ch==="\t"||ch===" "||ch==="\r"||ch===`
|
|
193
|
+
`)ch=this.buffer[++i];nl=i-1}else if(!this.blockScalarKeep)do{let i2=nl-1,ch2=this.buffer[i2];if(ch2==="\r")ch2=this.buffer[--i2];let lastChar=i2;while(ch2===" ")ch2=this.buffer[--i2];if(ch2===`
|
|
194
|
+
`&&i2>=this.pos&&i2+1+indent>lastChar)nl=i2;else break}while(!0);return yield cst.SCALAR,yield*this.pushToIndex(nl+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let inFlow=this.flowLevel>0,end=this.pos-1,i=this.pos-1,ch;while(ch=this.buffer[++i])if(ch===":"){let next=this.buffer[i+1];if(isEmpty(next)||inFlow&&flowIndicatorChars.has(next))break;end=i}else if(isEmpty(ch)){let next=this.buffer[i+1];if(ch==="\r")if(next===`
|
|
195
|
+
`)i+=1,ch=`
|
|
196
|
+
`,next=this.buffer[i+1];else end=i;if(next==="#"||inFlow&&flowIndicatorChars.has(next))break;if(ch===`
|
|
197
|
+
`){let cs=this.continueScalar(i+1);if(cs===-1)break;i=Math.max(i,cs-2)}}else{if(inFlow&&flowIndicatorChars.has(ch))break;end=i}if(!ch&&!this.atEnd)return this.setNext("plain-scalar");return yield cst.SCALAR,yield*this.pushToIndex(end+1,!0),inFlow?"flow":"doc"}*pushCount(n){if(n>0)return yield this.buffer.substr(this.pos,n),this.pos+=n,n;return 0}*pushToIndex(i,allowEmpty){let s2=this.buffer.slice(this.pos,i);if(s2)return yield s2,this.pos+=s2.length,s2.length;else if(allowEmpty)yield"";return 0}*pushIndicators(){let n=0;loop:while(!0){switch(this.charAt(0)){case"!":n+=yield*this.pushTag(),n+=yield*this.pushSpaces(!0);continue loop;case"&":n+=yield*this.pushUntil(isNotAnchorChar),n+=yield*this.pushSpaces(!0);continue loop;case"-":case"?":case":":{let inFlow=this.flowLevel>0,ch1=this.charAt(1);if(isEmpty(ch1)||inFlow&&flowIndicatorChars.has(ch1)){if(!inFlow)this.indentNext=this.indentValue+1;else if(this.flowKey)this.flowKey=!1;n+=yield*this.pushCount(1),n+=yield*this.pushSpaces(!0);continue loop}}}break loop}return n}*pushTag(){if(this.charAt(1)==="<"){let i=this.pos+2,ch=this.buffer[i];while(!isEmpty(ch)&&ch!==">")ch=this.buffer[++i];return yield*this.pushToIndex(ch===">"?i+1:i,!1)}else{let i=this.pos+1,ch=this.buffer[i];while(ch)if(tagChars.has(ch))ch=this.buffer[++i];else if(ch==="%"&&hexDigits.has(this.buffer[i+1])&&hexDigits.has(this.buffer[i+2]))ch=this.buffer[i+=3];else break;return yield*this.pushToIndex(i,!1)}}*pushNewline(){let ch=this.buffer[this.pos];if(ch===`
|
|
198
|
+
`)return yield*this.pushCount(1);else if(ch==="\r"&&this.charAt(1)===`
|
|
199
|
+
`)return yield*this.pushCount(2);else return 0}*pushSpaces(allowTabs){let i=this.pos-1,ch;do ch=this.buffer[++i];while(ch===" "||allowTabs&&ch==="\t");let n=i-this.pos;if(n>0)yield this.buffer.substr(this.pos,n),this.pos=i;return n}*pushUntil(test){let i=this.pos,ch=this.buffer[i];while(!test(ch))ch=this.buffer[++i];return yield*this.pushToIndex(i,!1)}}exports.Lexer=Lexer});var require_line_counter=__commonJS((exports)=>{class LineCounter{constructor(){this.lineStarts=[],this.addNewLine=(offset)=>this.lineStarts.push(offset),this.linePos=(offset)=>{let low=0,high=this.lineStarts.length;while(low<high){let mid=low+high>>1;if(this.lineStarts[mid]<offset)low=mid+1;else high=mid}if(this.lineStarts[low]===offset)return{line:low+1,col:1};if(low===0)return{line:0,col:offset};let start=this.lineStarts[low-1];return{line:low,col:offset-start+1}}}}exports.LineCounter=LineCounter});var require_parser=__commonJS((exports)=>{var node_process=__require("process"),cst=require_cst(),lexer=require_lexer();function includesToken(list,type){for(let i=0;i<list.length;++i)if(list[i].type===type)return!0;return!1}function findNonEmptyIndex(list){for(let i=0;i<list.length;++i)switch(list[i].type){case"space":case"comment":case"newline":break;default:return i}return-1}function isFlowToken(token){switch(token?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function getPrevProps(parent){switch(parent.type){case"document":return parent.start;case"block-map":{let it=parent.items[parent.items.length-1];return it.sep??it.start}case"block-seq":return parent.items[parent.items.length-1].start;default:return[]}}function getFirstKeyStartProps(prev){if(prev.length===0)return[];let i=prev.length;loop:while(--i>=0)switch(prev[i].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break loop}while(prev[++i]?.type==="space");return prev.splice(i,prev.length)}function arrayPushArray(target,source){if(source.length<1e5)Array.prototype.push.apply(target,source);else for(let i=0;i<source.length;++i)target.push(source[i])}function fixFlowSeqItems(fc){if(fc.start.type==="flow-seq-start"){for(let it of fc.items)if(it.sep&&!it.value&&!includesToken(it.start,"explicit-key-ind")&&!includesToken(it.sep,"map-value-ind")){if(it.key)it.value=it.key;if(delete it.key,isFlowToken(it.value))if(it.value.end)arrayPushArray(it.value.end,it.sep);else it.value.end=it.sep;else arrayPushArray(it.start,it.sep);delete it.sep}}}class Parser{constructor(onNewLine){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new lexer.Lexer,this.onNewLine=onNewLine}*parse(source,incomplete=!1){if(this.onNewLine&&this.offset===0)this.onNewLine(0);for(let lexeme of this.lexer.lex(source,incomplete))yield*this.next(lexeme);if(!incomplete)yield*this.end()}*next(source){if(this.source=source,node_process.env.LOG_TOKENS)console.log("|",cst.prettyToken(source));if(this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=source.length;return}let type=cst.tokenType(source);if(!type){let message=`Not a YAML token: ${source}`;yield*this.pop({type:"error",offset:this.offset,message,source}),this.offset+=source.length}else if(type==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=type,yield*this.step(),type){case"newline":if(this.atNewLine=!0,this.indent=0,this.onNewLine)this.onNewLine(this.offset+source.length);break;case"space":if(this.atNewLine&&source[0]===" ")this.indent+=source.length;break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":if(this.atNewLine)this.indent+=source.length;break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=source.length}}*end(){while(this.stack.length>0)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let top=this.peek(1);if(this.type==="doc-end"&&top?.type!=="doc-end"){while(this.stack.length>0)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!top)return yield*this.stream();switch(top.type){case"document":return yield*this.document(top);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(top);case"block-scalar":return yield*this.blockScalar(top);case"block-map":return yield*this.blockMap(top);case"block-seq":return yield*this.blockSequence(top);case"flow-collection":return yield*this.flowCollection(top);case"doc-end":return yield*this.documentEnd(top)}yield*this.pop()}peek(n){return this.stack[this.stack.length-n]}*pop(error51){let token=error51??this.stack.pop();if(!token)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield token;else{let top=this.peek(1);if(token.type==="block-scalar")token.indent="indent"in top?top.indent:0;else if(token.type==="flow-collection"&&top.type==="document")token.indent=0;if(token.type==="flow-collection")fixFlowSeqItems(token);switch(top.type){case"document":top.value=token;break;case"block-scalar":top.props.push(token);break;case"block-map":{let it=top.items[top.items.length-1];if(it.value){top.items.push({start:[],key:token,sep:[]}),this.onKeyLine=!0;return}else if(it.sep)it.value=token;else{Object.assign(it,{key:token,sep:[]}),this.onKeyLine=!it.explicitKey;return}break}case"block-seq":{let it=top.items[top.items.length-1];if(it.value)top.items.push({start:[],value:token});else it.value=token;break}case"flow-collection":{let it=top.items[top.items.length-1];if(!it||it.value)top.items.push({start:[],key:token,sep:[]});else if(it.sep)it.value=token;else Object.assign(it,{key:token,sep:[]});return}default:yield*this.pop(),yield*this.pop(token)}if((top.type==="document"||top.type==="block-map"||top.type==="block-seq")&&(token.type==="block-map"||token.type==="block-seq")){let last=token.items[token.items.length-1];if(last&&!last.sep&&!last.value&&last.start.length>0&&findNonEmptyIndex(last.start)===-1&&(token.indent===0||last.start.every((st)=>st.type!=="comment"||st.indent<token.indent))){if(top.type==="document")top.end=last.start;else top.items.push({start:last.start});token.items.splice(-1,1)}}}}*stream(){switch(this.type){case"directive-line":yield{type:"directive",offset:this.offset,source:this.source};return;case"byte-order-mark":case"space":case"comment":case"newline":yield this.sourceToken;return;case"doc-mode":case"doc-start":{let doc2={type:"document",offset:this.offset,start:[]};if(this.type==="doc-start")doc2.start.push(this.sourceToken);this.stack.push(doc2);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(doc2){if(doc2.value)return yield*this.lineEnd(doc2);switch(this.type){case"doc-start":{if(findNonEmptyIndex(doc2.start)!==-1)yield*this.pop(),yield*this.step();else doc2.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":doc2.start.push(this.sourceToken);return}let bv=this.startBlockValue(doc2);if(bv)this.stack.push(bv);else yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(scalar){if(this.type==="map-value-ind"){let prev=getPrevProps(this.peek(2)),start=getFirstKeyStartProps(prev),sep;if(scalar.end)sep=scalar.end,sep.push(this.sourceToken),delete scalar.end;else sep=[this.sourceToken];let map2={type:"block-map",offset:scalar.offset,indent:scalar.indent,items:[{start,key:scalar,sep}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=map2}else yield*this.lineEnd(scalar)}*blockScalar(scalar){switch(this.type){case"space":case"comment":case"newline":scalar.props.push(this.sourceToken);return;case"scalar":if(scalar.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let nl=this.source.indexOf(`
|
|
200
|
+
`)+1;while(nl!==0)this.onNewLine(this.offset+nl),nl=this.source.indexOf(`
|
|
201
|
+
`,nl)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(map2){let it=map2.items[map2.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,it.value){let end="end"in it.value?it.value.end:void 0;if((Array.isArray(end)?end[end.length-1]:void 0)?.type==="comment")end?.push(this.sourceToken);else map2.items.push({start:[this.sourceToken]})}else if(it.sep)it.sep.push(this.sourceToken);else it.start.push(this.sourceToken);return;case"space":case"comment":if(it.value)map2.items.push({start:[this.sourceToken]});else if(it.sep)it.sep.push(this.sourceToken);else{if(this.atIndentedComment(it.start,map2.indent)){let end=map2.items[map2.items.length-2]?.value?.end;if(Array.isArray(end)){arrayPushArray(end,it.start),end.push(this.sourceToken),map2.items.pop();return}}it.start.push(this.sourceToken)}return}if(this.indent>=map2.indent){let atMapIndent=!this.onKeyLine&&this.indent===map2.indent,atNextItem=atMapIndent&&(it.sep||it.explicitKey)&&this.type!=="seq-item-ind",start=[];if(atNextItem&&it.sep&&!it.value){let nl=[];for(let i=0;i<it.sep.length;++i){let st=it.sep[i];switch(st.type){case"newline":nl.push(i);break;case"space":break;case"comment":if(st.indent>map2.indent)nl.length=0;break;default:nl.length=0}}if(nl.length>=2)start=it.sep.splice(nl[1])}switch(this.type){case"anchor":case"tag":if(atNextItem||it.value)start.push(this.sourceToken),map2.items.push({start}),this.onKeyLine=!0;else if(it.sep)it.sep.push(this.sourceToken);else it.start.push(this.sourceToken);return;case"explicit-key-ind":if(!it.sep&&!it.explicitKey)it.start.push(this.sourceToken),it.explicitKey=!0;else if(atNextItem||it.value)start.push(this.sourceToken),map2.items.push({start,explicitKey:!0});else this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]});this.onKeyLine=!0;return;case"map-value-ind":if(it.explicitKey)if(!it.sep)if(includesToken(it.start,"newline"))Object.assign(it,{key:null,sep:[this.sourceToken]});else{let start2=getFirstKeyStartProps(it.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:start2,key:null,sep:[this.sourceToken]}]})}else if(it.value)map2.items.push({start:[],key:null,sep:[this.sourceToken]});else if(includesToken(it.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start,key:null,sep:[this.sourceToken]}]});else if(isFlowToken(it.key)&&!includesToken(it.sep,"newline")){let start2=getFirstKeyStartProps(it.start),key=it.key,sep=it.sep;sep.push(this.sourceToken),delete it.key,delete it.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:start2,key,sep}]})}else if(start.length>0)it.sep=it.sep.concat(start,this.sourceToken);else it.sep.push(this.sourceToken);else if(!it.sep)Object.assign(it,{key:null,sep:[this.sourceToken]});else if(it.value||atNextItem)map2.items.push({start,key:null,sep:[this.sourceToken]});else if(includesToken(it.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]});else it.sep.push(this.sourceToken);this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let fs=this.flowScalar(this.type);if(atNextItem||it.value)map2.items.push({start,key:fs,sep:[]}),this.onKeyLine=!0;else if(it.sep)this.stack.push(fs);else Object.assign(it,{key:fs,sep:[]}),this.onKeyLine=!0;return}default:{let bv=this.startBlockValue(map2);if(bv){if(bv.type==="block-seq"){if(!it.explicitKey&&it.sep&&!includesToken(it.sep,"newline")){yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source});return}}else if(atMapIndent)map2.items.push({start});this.stack.push(bv);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(seq){let it=seq.items[seq.items.length-1];switch(this.type){case"newline":if(it.value){let end="end"in it.value?it.value.end:void 0;if((Array.isArray(end)?end[end.length-1]:void 0)?.type==="comment")end?.push(this.sourceToken);else seq.items.push({start:[this.sourceToken]})}else it.start.push(this.sourceToken);return;case"space":case"comment":if(it.value)seq.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(it.start,seq.indent)){let end=seq.items[seq.items.length-2]?.value?.end;if(Array.isArray(end)){arrayPushArray(end,it.start),end.push(this.sourceToken),seq.items.pop();return}}it.start.push(this.sourceToken)}return;case"anchor":case"tag":if(it.value||this.indent<=seq.indent)break;it.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==seq.indent)break;if(it.value||includesToken(it.start,"seq-item-ind"))seq.items.push({start:[this.sourceToken]});else it.start.push(this.sourceToken);return}if(this.indent>seq.indent){let bv=this.startBlockValue(seq);if(bv){this.stack.push(bv);return}}yield*this.pop(),yield*this.step()}*flowCollection(fc){let it=fc.items[fc.items.length-1];if(this.type==="flow-error-end"){let top;do yield*this.pop(),top=this.peek(1);while(top?.type==="flow-collection")}else if(fc.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":if(!it||it.sep)fc.items.push({start:[this.sourceToken]});else it.start.push(this.sourceToken);return;case"map-value-ind":if(!it||it.value)fc.items.push({start:[],key:null,sep:[this.sourceToken]});else if(it.sep)it.sep.push(this.sourceToken);else Object.assign(it,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":if(!it||it.value)fc.items.push({start:[this.sourceToken]});else if(it.sep)it.sep.push(this.sourceToken);else it.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let fs=this.flowScalar(this.type);if(!it||it.value)fc.items.push({start:[],key:fs,sep:[]});else if(it.sep)this.stack.push(fs);else Object.assign(it,{key:fs,sep:[]});return}case"flow-map-end":case"flow-seq-end":fc.end.push(this.sourceToken);return}let bv=this.startBlockValue(fc);if(bv)this.stack.push(bv);else yield*this.pop(),yield*this.step()}else{let parent=this.peek(2);if(parent.type==="block-map"&&(this.type==="map-value-ind"&&parent.indent===fc.indent||this.type==="newline"&&!parent.items[parent.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&parent.type!=="flow-collection"){let prev=getPrevProps(parent),start=getFirstKeyStartProps(prev);fixFlowSeqItems(fc);let sep=fc.end.splice(1,fc.end.length);sep.push(this.sourceToken);let map2={type:"block-map",offset:fc.offset,indent:fc.indent,items:[{start,key:fc,sep}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=map2}else yield*this.lineEnd(fc)}}flowScalar(type){if(this.onNewLine){let nl=this.source.indexOf(`
|
|
202
|
+
`)+1;while(nl!==0)this.onNewLine(this.offset+nl),nl=this.source.indexOf(`
|
|
203
|
+
`,nl)+1}return{type,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(parent){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let prev=getPrevProps(parent),start=getFirstKeyStartProps(prev);return start.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let prev=getPrevProps(parent),start=getFirstKeyStartProps(prev);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(start,indent){if(this.type!=="comment")return!1;if(this.indent<=indent)return!1;return start.every((st)=>st.type==="newline"||st.type==="space")}*documentEnd(docEnd){if(this.type!=="doc-mode"){if(docEnd.end)docEnd.end.push(this.sourceToken);else docEnd.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}*lineEnd(token){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:if(token.end)token.end.push(this.sourceToken);else token.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}}exports.Parser=Parser});var require_public_api=__commonJS((exports)=>{var composer=require_composer(),Document=require_Document(),errors4=require_errors(),log=require_log(),identity=require_identity(),lineCounter=require_line_counter(),parser=require_parser();function parseOptions(options){let prettyErrors=options.prettyErrors!==!1;return{lineCounter:options.lineCounter||prettyErrors&&new lineCounter.LineCounter||null,prettyErrors}}function parseAllDocuments(source,options={}){let{lineCounter:lineCounter2,prettyErrors}=parseOptions(options),parser$1=new parser.Parser(lineCounter2?.addNewLine),composer$1=new composer.Composer(options),docs=Array.from(composer$1.compose(parser$1.parse(source)));if(prettyErrors&&lineCounter2)for(let doc2 of docs)doc2.errors.forEach(errors4.prettifyError(source,lineCounter2)),doc2.warnings.forEach(errors4.prettifyError(source,lineCounter2));if(docs.length>0)return docs;return Object.assign([],{empty:!0},composer$1.streamInfo())}function parseDocument(source,options={}){let{lineCounter:lineCounter2,prettyErrors}=parseOptions(options),parser$1=new parser.Parser(lineCounter2?.addNewLine),composer$1=new composer.Composer(options),doc2=null;for(let _doc of composer$1.compose(parser$1.parse(source),!0,source.length))if(!doc2)doc2=_doc;else if(doc2.options.logLevel!=="silent"){doc2.errors.push(new errors4.YAMLParseError(_doc.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(prettyErrors&&lineCounter2)doc2.errors.forEach(errors4.prettifyError(source,lineCounter2)),doc2.warnings.forEach(errors4.prettifyError(source,lineCounter2));return doc2}function parse5(src,reviver,options){let _reviver=void 0;if(typeof reviver==="function")_reviver=reviver;else if(options===void 0&&reviver&&typeof reviver==="object")options=reviver;let doc2=parseDocument(src,options);if(!doc2)return null;if(doc2.warnings.forEach((warning)=>log.warn(doc2.options.logLevel,warning)),doc2.errors.length>0)if(doc2.options.logLevel!=="silent")throw doc2.errors[0];else doc2.errors=[];return doc2.toJS(Object.assign({reviver:_reviver},options))}function stringify(value,replacer,options){let _replacer=null;if(typeof replacer==="function"||Array.isArray(replacer))_replacer=replacer;else if(options===void 0&&replacer)options=replacer;if(typeof options==="string")options=options.length;if(typeof options==="number"){let indent=Math.round(options);options=indent<1?void 0:indent>8?{indent:8}:{indent}}if(value===void 0){let{keepUndefined}=options??replacer??{};if(!keepUndefined)return}if(identity.isDocument(value)&&!_replacer)return value.toString(options);return new Document.Document(value,_replacer,options).toString(options)}exports.parse=parse5;exports.parseAllDocuments=parseAllDocuments;exports.parseDocument=parseDocument;exports.stringify=stringify});var composer,Document,Schema,errors4,Alias,identity,Pair,Scalar,YAMLMap,YAMLSeq,cst,lexer,lineCounter,parser,publicApi,visit,$Composer,$Document,$Schema,$YAMLError,$YAMLParseError,$YAMLWarning,$Alias,$isAlias,$isCollection,$isDocument,$isMap,$isNode,$isPair,$isScalar,$isSeq,$Pair,$Scalar,$YAMLMap,$YAMLSeq,$Lexer,$LineCounter,$Parser,$parse,$parseAllDocuments,$parseDocument,$stringify,$visit,$visitAsync;var init_dist2=__esm(()=>{composer=require_composer(),Document=require_Document(),Schema=require_Schema(),errors4=require_errors(),Alias=require_Alias(),identity=require_identity(),Pair=require_Pair(),Scalar=require_Scalar(),YAMLMap=require_YAMLMap(),YAMLSeq=require_YAMLSeq(),cst=require_cst(),lexer=require_lexer(),lineCounter=require_line_counter(),parser=require_parser(),publicApi=require_public_api(),visit=require_visit();$Composer=composer.Composer,$Document=Document.Document,$Schema=Schema.Schema,$YAMLError=errors4.YAMLError,$YAMLParseError=errors4.YAMLParseError,$YAMLWarning=errors4.YAMLWarning,$Alias=Alias.Alias,$isAlias=identity.isAlias,$isCollection=identity.isCollection,$isDocument=identity.isDocument,$isMap=identity.isMap,$isNode=identity.isNode,$isPair=identity.isPair,$isScalar=identity.isScalar,$isSeq=identity.isSeq,$Pair=Pair.Pair,$Scalar=Scalar.Scalar,$YAMLMap=YAMLMap.YAMLMap,$YAMLSeq=YAMLSeq.YAMLSeq,$Lexer=lexer.Lexer,$LineCounter=lineCounter.LineCounter,$Parser=parser.Parser,$parse=publicApi.parse,$parseAllDocuments=publicApi.parseAllDocuments,$parseDocument=publicApi.parseDocument,$stringify=publicApi.stringify,$visit=visit.visit,$visitAsync=visit.visitAsync});var configSchema;var init_config=__esm(()=>{init_dist2();init_zod();configSchema=exports_external.object({app:exports_external.object({name:exports_external.string().default("app"),env:exports_external.enum(["development","staging","production","test"]).default("development"),port:exports_external.number().int().positive().default(3000)}).default({name:"app",env:"development",port:3000}),database:exports_external.object({url:exports_external.string().default(":memory:")}).default({url:":memory:"}),logging:exports_external.object({level:exports_external.enum(["trace","debug","info","warn","error","fatal"]).default("info"),console:exports_external.boolean().default(!0),file:exports_external.boolean().default(!1),filePath:exports_external.string().optional(),json:exports_external.boolean().default(!1)}).default({level:"info",console:!0,file:!1,json:!1})})});function isPlainObject3(value){if(typeof value!=="object"||value===null)return!1;let prototype=Object.getPrototypeOf(value);return(prototype===null||prototype===Object.prototype||Object.getPrototypeOf(prototype)===null)&&!(Symbol.toStringTag in value)&&!(Symbol.iterator in value)}import{fileURLToPath}from"node:url";var safeNormalizeFileUrl=(file2,name)=>{let fileString=normalizeFileUrl(normalizeDenoExecPath(file2));if(typeof fileString!=="string")throw TypeError(`${name} must be a string or a file URL: ${fileString}.`);return fileString},normalizeDenoExecPath=(file2)=>isDenoExecPath(file2)?file2.toString():file2,isDenoExecPath=(file2)=>typeof file2!=="string"&&file2&&Object.getPrototypeOf(file2)===String.prototype,normalizeFileUrl=(file2)=>file2 instanceof URL?fileURLToPath(file2):file2;var init_file_url=()=>{};var normalizeParameters=(rawFile,rawArguments=[],rawOptions={})=>{let filePath=safeNormalizeFileUrl(rawFile,"First argument"),[commandArguments,options]=isPlainObject3(rawArguments)?[[],rawArguments]:[rawArguments,rawOptions];if(!Array.isArray(commandArguments))throw TypeError(`Second argument must be either an array of arguments or an options object: ${commandArguments}`);if(commandArguments.some((commandArgument)=>typeof commandArgument==="object"&&commandArgument!==null))throw TypeError(`Second argument must be an array of strings: ${commandArguments}`);let normalizedArguments=commandArguments.map(String),nullByteArgument=normalizedArguments.find((normalizedArgument)=>normalizedArgument.includes("\x00"));if(nullByteArgument!==void 0)throw TypeError(`Arguments cannot contain null bytes ("\\0"): ${nullByteArgument}`);if(!isPlainObject3(options))throw TypeError(`Last argument must be an options object: ${options}`);return[filePath,normalizedArguments,options]};var init_parameters=__esm(()=>{init_file_url()});import{StringDecoder}from"node:string_decoder";var objectToString,isArrayBuffer=(value)=>objectToString.call(value)==="[object ArrayBuffer]",isUint8Array=(value)=>objectToString.call(value)==="[object Uint8Array]",bufferToUint8Array=(buffer)=>new Uint8Array(buffer.buffer,buffer.byteOffset,buffer.byteLength),textEncoder,stringToUint8Array=(string4)=>textEncoder.encode(string4),textDecoder,uint8ArrayToString=(uint8Array)=>textDecoder.decode(uint8Array),joinToString=(uint8ArraysOrStrings,encoding)=>{return uint8ArraysToStrings(uint8ArraysOrStrings,encoding).join("")},uint8ArraysToStrings=(uint8ArraysOrStrings,encoding)=>{if(encoding==="utf8"&&uint8ArraysOrStrings.every((uint8ArrayOrString)=>typeof uint8ArrayOrString==="string"))return uint8ArraysOrStrings;let decoder=new StringDecoder(encoding),strings=uint8ArraysOrStrings.map((uint8ArrayOrString)=>typeof uint8ArrayOrString==="string"?stringToUint8Array(uint8ArrayOrString):uint8ArrayOrString).map((uint8Array)=>decoder.write(uint8Array)),finalString=decoder.end();return finalString===""?strings:[...strings,finalString]},joinToUint8Array=(uint8ArraysOrStrings)=>{if(uint8ArraysOrStrings.length===1&&isUint8Array(uint8ArraysOrStrings[0]))return uint8ArraysOrStrings[0];return concatUint8Arrays(stringsToUint8Arrays(uint8ArraysOrStrings))},stringsToUint8Arrays=(uint8ArraysOrStrings)=>uint8ArraysOrStrings.map((uint8ArrayOrString)=>typeof uint8ArrayOrString==="string"?stringToUint8Array(uint8ArrayOrString):uint8ArrayOrString),concatUint8Arrays=(uint8Arrays)=>{let result=new Uint8Array(getJoinLength(uint8Arrays)),index=0;for(let uint8Array of uint8Arrays)result.set(uint8Array,index),index+=uint8Array.length;return result},getJoinLength=(uint8Arrays)=>{let joinLength=0;for(let uint8Array of uint8Arrays)joinLength+=uint8Array.length;return joinLength};var init_uint_array=__esm(()=>{({toString:objectToString}=Object.prototype),textEncoder=new TextEncoder,textDecoder=new TextDecoder});import{ChildProcess}from"node:child_process";var isTemplateString=(templates)=>Array.isArray(templates)&&Array.isArray(templates.raw),parseTemplates=(templates,expressions)=>{let tokens=[];for(let[index,template]of templates.entries())tokens=parseTemplate({templates,expressions,tokens,index,template});if(tokens.length===0)throw TypeError("Template script must not be empty");let[file2,...commandArguments]=tokens;return[file2,commandArguments,{}]},parseTemplate=({templates,expressions,tokens,index,template})=>{if(template===void 0)throw TypeError(`Invalid backslash sequence: ${templates.raw[index]}`);let{nextTokens,leadingWhitespaces,trailingWhitespaces}=splitByWhitespaces(template,templates.raw[index]),newTokens=concatTokens(tokens,nextTokens,leadingWhitespaces);if(index===expressions.length)return newTokens;let expression=expressions[index],expressionTokens=Array.isArray(expression)?expression.map((expression2)=>parseExpression(expression2)):[parseExpression(expression)];return concatTokens(newTokens,expressionTokens,trailingWhitespaces)},splitByWhitespaces=(template,rawTemplate)=>{if(rawTemplate.length===0)return{nextTokens:[],leadingWhitespaces:!1,trailingWhitespaces:!1};let nextTokens=[],templateStart=0,leadingWhitespaces=DELIMITERS.has(rawTemplate[0]);for(let templateIndex=0,rawIndex=0;templateIndex<template.length;templateIndex+=1,rawIndex+=1){let rawCharacter=rawTemplate[rawIndex];if(DELIMITERS.has(rawCharacter)){if(templateStart!==templateIndex)nextTokens.push(template.slice(templateStart,templateIndex));templateStart=templateIndex+1}else if(rawCharacter==="\\"){let nextRawCharacter=rawTemplate[rawIndex+1];if(nextRawCharacter===`
|
|
204
|
+
`)templateIndex-=1,rawIndex+=1;else if(nextRawCharacter==="u"&&rawTemplate[rawIndex+2]==="{")rawIndex=rawTemplate.indexOf("}",rawIndex+3);else rawIndex+=ESCAPE_LENGTH[nextRawCharacter]??1}}let trailingWhitespaces=templateStart===template.length;if(!trailingWhitespaces)nextTokens.push(template.slice(templateStart));return{nextTokens,leadingWhitespaces,trailingWhitespaces}},DELIMITERS,ESCAPE_LENGTH,concatTokens=(tokens,nextTokens,isSeparated)=>isSeparated||tokens.length===0||nextTokens.length===0?[...tokens,...nextTokens]:[...tokens.slice(0,-1),`${tokens.at(-1)}${nextTokens[0]}`,...nextTokens.slice(1)],parseExpression=(expression)=>{let typeOfExpression=typeof expression;if(typeOfExpression==="string")return expression;if(typeOfExpression==="number")return String(expression);if(isPlainObject3(expression)&&(("stdout"in expression)||("isMaxBuffer"in expression)))return getSubprocessResult(expression);if(expression instanceof ChildProcess||Object.prototype.toString.call(expression)==="[object Promise]")throw TypeError("Unexpected subprocess in template expression. Please use ${await subprocess} instead of ${subprocess}.");throw TypeError(`Unexpected "${typeOfExpression}" in template expression`)},getSubprocessResult=({stdout})=>{if(typeof stdout==="string")return stdout;if(isUint8Array(stdout))return uint8ArrayToString(stdout);if(stdout===void 0)throw TypeError(`Missing result.stdout in template expression. This is probably due to the previous subprocess' "stdout" option.`);throw TypeError(`Unexpected "${typeof stdout}" stdout in template expression`)};var init_template=__esm(()=>{init_uint_array();DELIMITERS=new Set([" ","\t","\r",`
|
|
205
|
+
`]),ESCAPE_LENGTH={x:3,u:5}});import process3 from"node:process";var isStandardStream=(stream)=>STANDARD_STREAMS.includes(stream),STANDARD_STREAMS,STANDARD_STREAMS_ALIASES,getStreamName=(fdNumber)=>STANDARD_STREAMS_ALIASES[fdNumber]??`stdio[${fdNumber}]`;var init_standard_stream=__esm(()=>{STANDARD_STREAMS=[process3.stdin,process3.stdout,process3.stderr],STANDARD_STREAMS_ALIASES=["stdin","stdout","stderr"]});import{debuglog}from"node:util";var normalizeFdSpecificOptions=(options)=>{let optionsCopy={...options};for(let optionName of FD_SPECIFIC_OPTIONS)optionsCopy[optionName]=normalizeFdSpecificOption(options,optionName);return optionsCopy},normalizeFdSpecificOption=(options,optionName)=>{let optionBaseArray=Array.from({length:getStdioLength(options)+1}),optionArray=normalizeFdSpecificValue(options[optionName],optionBaseArray,optionName);return addDefaultValue(optionArray,optionName)},getStdioLength=({stdio})=>Array.isArray(stdio)?Math.max(stdio.length,STANDARD_STREAMS_ALIASES.length):STANDARD_STREAMS_ALIASES.length,normalizeFdSpecificValue=(optionValue,optionArray,optionName)=>isPlainObject3(optionValue)?normalizeOptionObject(optionValue,optionArray,optionName):optionArray.fill(optionValue),normalizeOptionObject=(optionValue,optionArray,optionName)=>{for(let fdName of Object.keys(optionValue).sort(compareFdName))for(let fdNumber of parseFdName(fdName,optionName,optionArray))optionArray[fdNumber]=optionValue[fdName];return optionArray},compareFdName=(fdNameA,fdNameB)=>getFdNameOrder(fdNameA)<getFdNameOrder(fdNameB)?1:-1,getFdNameOrder=(fdName)=>{if(fdName==="stdout"||fdName==="stderr")return 0;return fdName==="all"?2:1},parseFdName=(fdName,optionName,optionArray)=>{if(fdName==="ipc")return[optionArray.length-1];let fdNumber=parseFd(fdName);if(fdNumber===void 0||fdNumber===0)throw TypeError(`"${optionName}.${fdName}" is invalid.
|
|
206
|
+
It must be "${optionName}.stdout", "${optionName}.stderr", "${optionName}.all", "${optionName}.ipc", or "${optionName}.fd3", "${optionName}.fd4" (and so on).`);if(fdNumber>=optionArray.length)throw TypeError(`"${optionName}.${fdName}" is invalid: that file descriptor does not exist.
|
|
207
|
+
Please set the "stdio" option to ensure that file descriptor exists.`);return fdNumber==="all"?[1,2]:[fdNumber]},parseFd=(fdName)=>{if(fdName==="all")return fdName;if(STANDARD_STREAMS_ALIASES.includes(fdName))return STANDARD_STREAMS_ALIASES.indexOf(fdName);let regexpResult=FD_REGEXP.exec(fdName);if(regexpResult!==null)return Number(regexpResult[1])},FD_REGEXP,addDefaultValue=(optionArray,optionName)=>optionArray.map((optionValue)=>optionValue===void 0?DEFAULT_OPTIONS[optionName]:optionValue),verboseDefault,DEFAULT_OPTIONS,FD_SPECIFIC_OPTIONS,getFdSpecificValue=(optionArray,fdNumber)=>fdNumber==="ipc"?optionArray.at(-1):optionArray[fdNumber];var init_specific=__esm(()=>{init_standard_stream();FD_REGEXP=/^fd(\d+)$/,verboseDefault=debuglog("execa").enabled?"full":"none",DEFAULT_OPTIONS={lines:!1,buffer:!0,maxBuffer:1e8,verbose:verboseDefault,stripFinalNewline:!0},FD_SPECIFIC_OPTIONS=["lines","buffer","maxBuffer","verbose","stripFinalNewline"]});var isVerbose=({verbose},fdNumber)=>getFdVerbose(verbose,fdNumber)!=="none",isFullVerbose=({verbose},fdNumber)=>!["none","short"].includes(getFdVerbose(verbose,fdNumber)),getVerboseFunction=({verbose},fdNumber)=>{let fdVerbose=getFdVerbose(verbose,fdNumber);return isVerboseFunction(fdVerbose)?fdVerbose:void 0},getFdVerbose=(verbose,fdNumber)=>fdNumber===void 0?getFdGenericVerbose(verbose):getFdSpecificValue(verbose,fdNumber),getFdGenericVerbose=(verbose)=>verbose.find((fdVerbose)=>isVerboseFunction(fdVerbose))??VERBOSE_VALUES.findLast((fdVerbose)=>verbose.includes(fdVerbose)),isVerboseFunction=(fdVerbose)=>typeof fdVerbose==="function",VERBOSE_VALUES;var init_values=__esm(()=>{init_specific();VERBOSE_VALUES=["none","short","full"]});import{platform}from"node:process";import{stripVTControlCharacters}from"node:util";var joinCommand=(filePath,rawArguments)=>{let fileAndArguments=[filePath,...rawArguments],command=fileAndArguments.join(" "),escapedCommand=fileAndArguments.map((fileAndArgument)=>quoteString(escapeControlCharacters(fileAndArgument))).join(" ");return{command,escapedCommand}},escapeLines=(lines)=>stripVTControlCharacters(lines).split(`
|
|
208
|
+
`).map((line)=>escapeControlCharacters(line)).join(`
|
|
209
|
+
`),escapeControlCharacters=(line)=>line.replaceAll(SPECIAL_CHAR_REGEXP,(character)=>escapeControlCharacter(character)),escapeControlCharacter=(character)=>{let commonEscape=COMMON_ESCAPES[character];if(commonEscape!==void 0)return commonEscape;let codepoint=character.codePointAt(0),codepointHex=codepoint.toString(16);return codepoint<=ASTRAL_START?`\\u${codepointHex.padStart(4,"0")}`:`\\U${codepointHex}`},getSpecialCharRegExp=()=>{try{return new RegExp("\\p{Separator}|\\p{Other}","gu")}catch{return/[\s\u0000-\u001F\u007F-\u009F\u00AD]/g}},SPECIAL_CHAR_REGEXP,COMMON_ESCAPES,ASTRAL_START=65535,quoteString=(escapedArgument)=>{if(NO_ESCAPE_REGEXP.test(escapedArgument))return escapedArgument;return platform==="win32"?`"${escapedArgument.replaceAll('"','""')}"`:`'${escapedArgument.replaceAll("'","'\\''")}'`},NO_ESCAPE_REGEXP;var init_escape=__esm(()=>{SPECIAL_CHAR_REGEXP=getSpecialCharRegExp(),COMMON_ESCAPES={" ":" ","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"},NO_ESCAPE_REGEXP=/^[\w./-]+$/});import process4 from"node:process";function isUnicodeSupported(){let{env:env2}=process4,{TERM,TERM_PROGRAM}=env2;if(process4.platform!=="win32")return TERM!=="linux";return Boolean(env2.WT_SESSION)||Boolean(env2.TERMINUS_SUBLIME)||env2.ConEmuTask==="{cmd::Cmder}"||TERM_PROGRAM==="Terminus-Sublime"||TERM_PROGRAM==="vscode"||TERM==="xterm-256color"||TERM==="alacritty"||TERM==="rxvt-unicode"||TERM==="rxvt-unicode-256color"||env2.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var init_is_unicode_supported=()=>{};var common,specialMainSymbols,specialFallbackSymbols,mainSymbols,fallbackSymbols,shouldUseMain,figures,figures_default,replacements;var init_figures=__esm(()=>{init_is_unicode_supported();common={circleQuestionMark:"(?)",questionMarkPrefix:"(?)",square:"█",squareDarkShade:"▓",squareMediumShade:"▒",squareLightShade:"░",squareTop:"▀",squareBottom:"▄",squareLeft:"▌",squareRight:"▐",squareCenter:"■",bullet:"●",dot:"․",ellipsis:"…",pointerSmall:"›",triangleUp:"▲",triangleUpSmall:"▴",triangleDown:"▼",triangleDownSmall:"▾",triangleLeftSmall:"◂",triangleRightSmall:"▸",home:"⌂",heart:"♥",musicNote:"♪",musicNoteBeamed:"♫",arrowUp:"↑",arrowDown:"↓",arrowLeft:"←",arrowRight:"→",arrowLeftRight:"↔",arrowUpDown:"↕",almostEqual:"≈",notEqual:"≠",lessOrEqual:"≤",greaterOrEqual:"≥",identical:"≡",infinity:"∞",subscriptZero:"₀",subscriptOne:"₁",subscriptTwo:"₂",subscriptThree:"₃",subscriptFour:"₄",subscriptFive:"₅",subscriptSix:"₆",subscriptSeven:"₇",subscriptEight:"₈",subscriptNine:"₉",oneHalf:"½",oneThird:"⅓",oneQuarter:"¼",oneFifth:"⅕",oneSixth:"⅙",oneEighth:"⅛",twoThirds:"⅔",twoFifths:"⅖",threeQuarters:"¾",threeFifths:"⅗",threeEighths:"⅜",fourFifths:"⅘",fiveSixths:"⅚",fiveEighths:"⅝",sevenEighths:"⅞",line:"─",lineBold:"━",lineDouble:"═",lineDashed0:"┄",lineDashed1:"┅",lineDashed2:"┈",lineDashed3:"┉",lineDashed4:"╌",lineDashed5:"╍",lineDashed6:"╴",lineDashed7:"╶",lineDashed8:"╸",lineDashed9:"╺",lineDashed10:"╼",lineDashed11:"╾",lineDashed12:"−",lineDashed13:"–",lineDashed14:"‐",lineDashed15:"⁃",lineVertical:"│",lineVerticalBold:"┃",lineVerticalDouble:"║",lineVerticalDashed0:"┆",lineVerticalDashed1:"┇",lineVerticalDashed2:"┊",lineVerticalDashed3:"┋",lineVerticalDashed4:"╎",lineVerticalDashed5:"╏",lineVerticalDashed6:"╵",lineVerticalDashed7:"╷",lineVerticalDashed8:"╹",lineVerticalDashed9:"╻",lineVerticalDashed10:"╽",lineVerticalDashed11:"╿",lineDownLeft:"┐",lineDownLeftArc:"╮",lineDownBoldLeftBold:"┓",lineDownBoldLeft:"┒",lineDownLeftBold:"┑",lineDownDoubleLeftDouble:"╗",lineDownDoubleLeft:"╖",lineDownLeftDouble:"╕",lineDownRight:"┌",lineDownRightArc:"╭",lineDownBoldRightBold:"┏",lineDownBoldRight:"┎",lineDownRightBold:"┍",lineDownDoubleRightDouble:"╔",lineDownDoubleRight:"╓",lineDownRightDouble:"╒",lineUpLeft:"┘",lineUpLeftArc:"╯",lineUpBoldLeftBold:"┛",lineUpBoldLeft:"┚",lineUpLeftBold:"┙",lineUpDoubleLeftDouble:"╝",lineUpDoubleLeft:"╜",lineUpLeftDouble:"╛",lineUpRight:"└",lineUpRightArc:"╰",lineUpBoldRightBold:"┗",lineUpBoldRight:"┖",lineUpRightBold:"┕",lineUpDoubleRightDouble:"╚",lineUpDoubleRight:"╙",lineUpRightDouble:"╘",lineUpDownLeft:"┤",lineUpBoldDownBoldLeftBold:"┫",lineUpBoldDownBoldLeft:"┨",lineUpDownLeftBold:"┥",lineUpBoldDownLeftBold:"┩",lineUpDownBoldLeftBold:"┪",lineUpDownBoldLeft:"┧",lineUpBoldDownLeft:"┦",lineUpDoubleDownDoubleLeftDouble:"╣",lineUpDoubleDownDoubleLeft:"╢",lineUpDownLeftDouble:"╡",lineUpDownRight:"├",lineUpBoldDownBoldRightBold:"┣",lineUpBoldDownBoldRight:"┠",lineUpDownRightBold:"┝",lineUpBoldDownRightBold:"┡",lineUpDownBoldRightBold:"┢",lineUpDownBoldRight:"┟",lineUpBoldDownRight:"┞",lineUpDoubleDownDoubleRightDouble:"╠",lineUpDoubleDownDoubleRight:"╟",lineUpDownRightDouble:"╞",lineDownLeftRight:"┬",lineDownBoldLeftBoldRightBold:"┳",lineDownLeftBoldRightBold:"┯",lineDownBoldLeftRight:"┰",lineDownBoldLeftBoldRight:"┱",lineDownBoldLeftRightBold:"┲",lineDownLeftRightBold:"┮",lineDownLeftBoldRight:"┭",lineDownDoubleLeftDoubleRightDouble:"╦",lineDownDoubleLeftRight:"╥",lineDownLeftDoubleRightDouble:"╤",lineUpLeftRight:"┴",lineUpBoldLeftBoldRightBold:"┻",lineUpLeftBoldRightBold:"┷",lineUpBoldLeftRight:"┸",lineUpBoldLeftBoldRight:"┹",lineUpBoldLeftRightBold:"┺",lineUpLeftRightBold:"┶",lineUpLeftBoldRight:"┵",lineUpDoubleLeftDoubleRightDouble:"╩",lineUpDoubleLeftRight:"╨",lineUpLeftDoubleRightDouble:"╧",lineUpDownLeftRight:"┼",lineUpBoldDownBoldLeftBoldRightBold:"╋",lineUpDownBoldLeftBoldRightBold:"╈",lineUpBoldDownLeftBoldRightBold:"╇",lineUpBoldDownBoldLeftRightBold:"╊",lineUpBoldDownBoldLeftBoldRight:"╉",lineUpBoldDownLeftRight:"╀",lineUpDownBoldLeftRight:"╁",lineUpDownLeftBoldRight:"┽",lineUpDownLeftRightBold:"┾",lineUpBoldDownBoldLeftRight:"╂",lineUpDownLeftBoldRightBold:"┿",lineUpBoldDownLeftBoldRight:"╃",lineUpBoldDownLeftRightBold:"╄",lineUpDownBoldLeftBoldRight:"╅",lineUpDownBoldLeftRightBold:"╆",lineUpDoubleDownDoubleLeftDoubleRightDouble:"╬",lineUpDoubleDownDoubleLeftRight:"╫",lineUpDownLeftDoubleRightDouble:"╪",lineCross:"╳",lineBackslash:"╲",lineSlash:"╱"},specialMainSymbols={tick:"✔",info:"ℹ",warning:"⚠",cross:"✘",squareSmall:"◻",squareSmallFilled:"◼",circle:"◯",circleFilled:"◉",circleDotted:"◌",circleDouble:"◎",circleCircle:"ⓞ",circleCross:"ⓧ",circlePipe:"Ⓘ",radioOn:"◉",radioOff:"◯",checkboxOn:"☒",checkboxOff:"☐",checkboxCircleOn:"ⓧ",checkboxCircleOff:"Ⓘ",pointer:"❯",triangleUpOutline:"△",triangleLeft:"◀",triangleRight:"▶",lozenge:"◆",lozengeOutline:"◇",hamburger:"☰",smiley:"㋡",mustache:"෴",star:"★",play:"▶",nodejs:"⬢",oneSeventh:"⅐",oneNinth:"⅑",oneTenth:"⅒"},specialFallbackSymbols={tick:"√",info:"i",warning:"‼",cross:"×",squareSmall:"□",squareSmallFilled:"■",circle:"( )",circleFilled:"(*)",circleDotted:"( )",circleDouble:"( )",circleCircle:"(○)",circleCross:"(×)",circlePipe:"(│)",radioOn:"(*)",radioOff:"( )",checkboxOn:"[×]",checkboxOff:"[ ]",checkboxCircleOn:"(×)",checkboxCircleOff:"( )",pointer:">",triangleUpOutline:"∆",triangleLeft:"◄",triangleRight:"►",lozenge:"♦",lozengeOutline:"◊",hamburger:"≡",smiley:"☺",mustache:"┌─┐",star:"✶",play:"►",nodejs:"♦",oneSeventh:"1/7",oneNinth:"1/9",oneTenth:"1/10"},mainSymbols={...common,...specialMainSymbols},fallbackSymbols={...common,...specialFallbackSymbols},shouldUseMain=isUnicodeSupported(),figures=shouldUseMain?mainSymbols:fallbackSymbols,figures_default=figures,replacements=Object.entries(specialMainSymbols)});import tty from"node:tty";var hasColors,format=(open,close)=>{if(!hasColors)return(input)=>input;let openCode=`\x1B[${open}m`,closeCode=`\x1B[${close}m`;return(input)=>{let string4=input+"",index=string4.indexOf(closeCode);if(index===-1)return openCode+string4+closeCode;let result=openCode,lastIndex=0,replaceCode=(close===22?closeCode:"")+openCode;while(index!==-1)result+=string4.slice(lastIndex,index)+replaceCode,lastIndex=index+closeCode.length,index=string4.indexOf(closeCode,lastIndex);return result+=string4.slice(lastIndex)+closeCode,result}},reset,bold,dim,italic,underline,underlineDouble,underlineCurly,underlineDotted,underlineDashed,overline,inverse,hidden,strikethrough,black,red,green,yellow,blue,magenta,cyan,white,gray,bgBlack,bgRed,bgGreen,bgYellow,bgBlue,bgMagenta,bgCyan,bgWhite,bgGray,redBright,greenBright,yellowBright,blueBright,magentaBright,cyanBright,whiteBright,bgRedBright,bgGreenBright,bgYellowBright,bgBlueBright,bgMagentaBright,bgCyanBright,bgWhiteBright,underlineBlack,underlineRed,underlineGreen,underlineYellow,underlineBlue,underlineMagenta,underlineCyan,underlineWhite,underlineGray,underlineRedBright,underlineGreenBright,underlineYellowBright,underlineBlueBright,underlineMagentaBright,underlineCyanBright,underlineWhiteBright;var init_base=__esm(()=>{hasColors=tty?.WriteStream?.prototype?.hasColors?.()??!1,reset=format(0,0),bold=format(1,22),dim=format(2,22),italic=format(3,23),underline=format(4,24),underlineDouble=format("4:2",24),underlineCurly=format("4:3",24),underlineDotted=format("4:4",24),underlineDashed=format("4:5",24),overline=format(53,55),inverse=format(7,27),hidden=format(8,28),strikethrough=format(9,29),black=format(30,39),red=format(31,39),green=format(32,39),yellow=format(33,39),blue=format(34,39),magenta=format(35,39),cyan=format(36,39),white=format(37,39),gray=format(90,39),bgBlack=format(40,49),bgRed=format(41,49),bgGreen=format(42,49),bgYellow=format(43,49),bgBlue=format(44,49),bgMagenta=format(45,49),bgCyan=format(46,49),bgWhite=format(47,49),bgGray=format(100,49),redBright=format(91,39),greenBright=format(92,39),yellowBright=format(93,39),blueBright=format(94,39),magentaBright=format(95,39),cyanBright=format(96,39),whiteBright=format(97,39),bgRedBright=format(101,49),bgGreenBright=format(102,49),bgYellowBright=format(103,49),bgBlueBright=format(104,49),bgMagentaBright=format(105,49),bgCyanBright=format(106,49),bgWhiteBright=format(107,49),underlineBlack=format("58;5;0",59),underlineRed=format("58;5;1",59),underlineGreen=format("58;5;2",59),underlineYellow=format("58;5;3",59),underlineBlue=format("58;5;4",59),underlineMagenta=format("58;5;5",59),underlineCyan=format("58;5;6",59),underlineWhite=format("58;5;7",59),underlineGray=format("58;5;8",59),underlineRedBright=format("58;5;9",59),underlineGreenBright=format("58;5;10",59),underlineYellowBright=format("58;5;11",59),underlineBlueBright=format("58;5;12",59),underlineMagentaBright=format("58;5;13",59),underlineCyanBright=format("58;5;14",59),underlineWhiteBright=format("58;5;15",59)});var init_yoctocolors=__esm(()=>{init_base()});var defaultVerboseFunction=({type,message,timestamp,piped,commandId,result:{failed=!1}={},options:{reject=!0}})=>{let timestampString=serializeTimestamp(timestamp),icon=ICONS[type]({failed,reject,piped}),color=COLORS[type]({reject});return`${gray(`[${timestampString}]`)} ${gray(`[${commandId}]`)} ${color(icon)} ${color(message)}`},serializeTimestamp=(timestamp)=>`${padField(timestamp.getHours(),2)}:${padField(timestamp.getMinutes(),2)}:${padField(timestamp.getSeconds(),2)}.${padField(timestamp.getMilliseconds(),3)}`,padField=(field,padding)=>String(field).padStart(padding,"0"),getFinalIcon=({failed,reject})=>{if(!failed)return figures_default.tick;return reject?figures_default.cross:figures_default.warning},ICONS,identity2=(string4)=>string4,COLORS;var init_default=__esm(()=>{init_figures();init_yoctocolors();ICONS={command:({piped})=>piped?"|":"$",output:()=>" ",ipc:()=>"*",error:getFinalIcon,duration:getFinalIcon},COLORS={command:()=>bold,output:()=>identity2,ipc:()=>identity2,error:({reject})=>reject?redBright:yellowBright,duration:()=>gray}});var applyVerboseOnLines=(printedLines,verboseInfo,fdNumber)=>{let verboseFunction=getVerboseFunction(verboseInfo,fdNumber);return printedLines.map(({verboseLine,verboseObject})=>applyVerboseFunction(verboseLine,verboseObject,verboseFunction)).filter((printedLine)=>printedLine!==void 0).map((printedLine)=>appendNewline(printedLine)).join("")},applyVerboseFunction=(verboseLine,verboseObject,verboseFunction)=>{if(verboseFunction===void 0)return verboseLine;let printedLine=verboseFunction(verboseLine,verboseObject);if(typeof printedLine==="string")return printedLine},appendNewline=(printedLine)=>printedLine.endsWith(`
|
|
210
|
+
`)?printedLine:`${printedLine}
|
|
211
|
+
`;var init_custom=__esm(()=>{init_values()});import{inspect}from"node:util";var verboseLog=({type,verboseMessage,fdNumber,verboseInfo,result})=>{let verboseObject=getVerboseObject({type,result,verboseInfo}),printedLines=getPrintedLines(verboseMessage,verboseObject),finalLines=applyVerboseOnLines(printedLines,verboseInfo,fdNumber);if(finalLines!=="")console.warn(finalLines.slice(0,-1))},getVerboseObject=({type,result,verboseInfo:{escapedCommand,commandId,rawOptions:{piped=!1,...options}}})=>({type,escapedCommand,commandId:`${commandId}`,timestamp:new Date,piped,result,options}),getPrintedLines=(verboseMessage,verboseObject)=>verboseMessage.split(`
|
|
212
|
+
`).map((message)=>getPrintedLine({...verboseObject,message})),getPrintedLine=(verboseObject)=>{return{verboseLine:defaultVerboseFunction(verboseObject),verboseObject}},serializeVerboseMessage=(message)=>{let messageString=typeof message==="string"?message:inspect(message);return escapeLines(messageString).replaceAll("\t"," ".repeat(TAB_SIZE))},TAB_SIZE=2;var init_log=__esm(()=>{init_escape();init_default();init_custom()});var logCommand=(escapedCommand,verboseInfo)=>{if(!isVerbose(verboseInfo))return;verboseLog({type:"command",verboseMessage:escapedCommand,verboseInfo})};var init_start=__esm(()=>{init_values();init_log()});var getVerboseInfo=(verbose,escapedCommand,rawOptions)=>{validateVerbose(verbose);let commandId=getCommandId(verbose);return{verbose,escapedCommand,commandId,rawOptions}},getCommandId=(verbose)=>isVerbose({verbose})?COMMAND_ID++:void 0,COMMAND_ID=0n,validateVerbose=(verbose)=>{for(let fdVerbose of verbose){if(fdVerbose===!1)throw TypeError(`The "verbose: false" option was renamed to "verbose: 'none'".`);if(fdVerbose===!0)throw TypeError(`The "verbose: true" option was renamed to "verbose: 'short'".`);if(!VERBOSE_VALUES.includes(fdVerbose)&&!isVerboseFunction(fdVerbose)){let allowedValues=VERBOSE_VALUES.map((allowedValue)=>`'${allowedValue}'`).join(", ");throw TypeError(`The "verbose" option must not be ${fdVerbose}. Allowed values are: ${allowedValues} or a function.`)}}};var init_info=__esm(()=>{init_values()});import{hrtime}from"node:process";var getStartTime=()=>hrtime.bigint(),getDurationMs=(startTime)=>Number(hrtime.bigint()-startTime)/1e6;var init_duration=()=>{};var handleCommand=(filePath,rawArguments,rawOptions)=>{let startTime=getStartTime(),{command,escapedCommand}=joinCommand(filePath,rawArguments),verbose=normalizeFdSpecificOption(rawOptions,"verbose"),verboseInfo=getVerboseInfo(verbose,escapedCommand,{...rawOptions});return logCommand(escapedCommand,verboseInfo),{command,escapedCommand,startTime,verboseInfo}};var init_command=__esm(()=>{init_start();init_info();init_duration();init_escape();init_specific()});var require_windows=__commonJS((exports,module)=>{module.exports=isexe;isexe.sync=sync;var fs=__require("fs");function checkPathExt(path,options){var pathext=options.pathExt!==void 0?options.pathExt:process.env.PATHEXT;if(!pathext)return!0;if(pathext=pathext.split(";"),pathext.indexOf("")!==-1)return!0;for(var i=0;i<pathext.length;i++){var p=pathext[i].toLowerCase();if(p&&path.substr(-p.length).toLowerCase()===p)return!0}return!1}function checkStat(stat,path,options){if(!stat.isSymbolicLink()&&!stat.isFile())return!1;return checkPathExt(path,options)}function isexe(path,options,cb){fs.stat(path,function(er,stat){cb(er,er?!1:checkStat(stat,path,options))})}function sync(path,options){return checkStat(fs.statSync(path),path,options)}});var require_mode=__commonJS((exports,module)=>{module.exports=isexe;isexe.sync=sync;var fs=__require("fs");function isexe(path,options,cb){fs.stat(path,function(er,stat){cb(er,er?!1:checkStat(stat,options))})}function sync(path,options){return checkStat(fs.statSync(path),options)}function checkStat(stat,options){return stat.isFile()&&checkMode(stat,options)}function checkMode(stat,options){var{mode:mod,uid,gid}=stat,myUid=options.uid!==void 0?options.uid:process.getuid&&process.getuid(),myGid=options.gid!==void 0?options.gid:process.getgid&&process.getgid(),u=parseInt("100",8),g=parseInt("010",8),o2=parseInt("001",8),ug=u|g,ret=mod&o2||mod&g&&gid===myGid||mod&u&&uid===myUid||mod&ug&&myUid===0;return ret}});var require_isexe=__commonJS((exports,module)=>{var fs=__require("fs"),core2;if(process.platform==="win32"||global.TESTING_WINDOWS)core2=require_windows();else core2=require_mode();module.exports=isexe;isexe.sync=sync;function isexe(path,options,cb){if(typeof options==="function")cb=options,options={};if(!cb){if(typeof Promise!=="function")throw TypeError("callback not provided");return new Promise(function(resolve,reject){isexe(path,options||{},function(er,is){if(er)reject(er);else resolve(is)})})}core2(path,options||{},function(er,is){if(er){if(er.code==="EACCES"||options&&options.ignoreErrors)er=null,is=!1}cb(er,is)})}function sync(path,options){try{return core2.sync(path,options||{})}catch(er){if(options&&options.ignoreErrors||er.code==="EACCES")return!1;else throw er}}});var require_which=__commonJS((exports,module)=>{var isWindows=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",path=__require("path"),COLON=isWindows?";":":",isexe=require_isexe(),getNotFoundError=(cmd)=>Object.assign(Error(`not found: ${cmd}`),{code:"ENOENT"}),getPathInfo=(cmd,opt)=>{let colon=opt.colon||COLON,pathEnv=cmd.match(/\//)||isWindows&&cmd.match(/\\/)?[""]:[...isWindows?[process.cwd()]:[],...(opt.path||process.env.PATH||"").split(colon)],pathExtExe=isWindows?opt.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",pathExt=isWindows?pathExtExe.split(colon):[""];if(isWindows){if(cmd.indexOf(".")!==-1&&pathExt[0]!=="")pathExt.unshift("")}return{pathEnv,pathExt,pathExtExe}},which=(cmd,opt,cb)=>{if(typeof opt==="function")cb=opt,opt={};if(!opt)opt={};let{pathEnv,pathExt,pathExtExe}=getPathInfo(cmd,opt),found=[],step=(i)=>new Promise((resolve,reject)=>{if(i===pathEnv.length)return opt.all&&found.length?resolve(found):reject(getNotFoundError(cmd));let ppRaw=pathEnv[i],pathPart=/^".*"$/.test(ppRaw)?ppRaw.slice(1,-1):ppRaw,pCmd=path.join(pathPart,cmd),p=!pathPart&&/^\.[\\\/]/.test(cmd)?cmd.slice(0,2)+pCmd:pCmd;resolve(subStep(p,i,0))}),subStep=(p,i,ii)=>new Promise((resolve,reject)=>{if(ii===pathExt.length)return resolve(step(i+1));let ext=pathExt[ii];isexe(p+ext,{pathExt:pathExtExe},(er,is)=>{if(!er&&is)if(opt.all)found.push(p+ext);else return resolve(p+ext);return resolve(subStep(p,i,ii+1))})});return cb?step(0).then((res)=>cb(null,res),cb):step(0)},whichSync=(cmd,opt)=>{opt=opt||{};let{pathEnv,pathExt,pathExtExe}=getPathInfo(cmd,opt),found=[];for(let i=0;i<pathEnv.length;i++){let ppRaw=pathEnv[i],pathPart=/^".*"$/.test(ppRaw)?ppRaw.slice(1,-1):ppRaw,pCmd=path.join(pathPart,cmd),p=!pathPart&&/^\.[\\\/]/.test(cmd)?cmd.slice(0,2)+pCmd:pCmd;for(let j=0;j<pathExt.length;j++){let cur=p+pathExt[j];try{if(isexe.sync(cur,{pathExt:pathExtExe}))if(opt.all)found.push(cur);else return cur}catch(ex){}}}if(opt.all&&found.length)return found;if(opt.nothrow)return null;throw getNotFoundError(cmd)};module.exports=which;which.sync=whichSync});var require_path_key=__commonJS((exports,module)=>{var pathKey=(options={})=>{let environment=options.env||process.env;if((options.platform||process.platform)!=="win32")return"PATH";return Object.keys(environment).reverse().find((key)=>key.toUpperCase()==="PATH")||"Path"};module.exports=pathKey;module.exports.default=pathKey});var require_resolveCommand=__commonJS((exports,module)=>{var path=__require("path"),which=require_which(),getPathKey=require_path_key();function resolveCommandAttempt(parsed,withoutPathExt){let env2=parsed.options.env||process.env,cwd=process.cwd(),hasCustomCwd=parsed.options.cwd!=null,shouldSwitchCwd=hasCustomCwd&&process.chdir!==void 0&&!process.chdir.disabled;if(shouldSwitchCwd)try{process.chdir(parsed.options.cwd)}catch(err){}let resolved;try{resolved=which.sync(parsed.command,{path:env2[getPathKey({env:env2})],pathExt:withoutPathExt?path.delimiter:void 0})}catch(e){}finally{if(shouldSwitchCwd)process.chdir(cwd)}if(resolved)resolved=path.resolve(hasCustomCwd?parsed.options.cwd:"",resolved);return resolved}function resolveCommand(parsed){return resolveCommandAttempt(parsed)||resolveCommandAttempt(parsed,!0)}module.exports=resolveCommand});var require_escape=__commonJS((exports,module)=>{var metaCharsRegExp=/([()\][%!^"`<>&|;, *?])/g;function escapeCommand(arg){return arg=arg.replace(metaCharsRegExp,"^$1"),arg}function escapeArgument(arg,doubleEscapeMetaChars){if(arg=`${arg}`,arg=arg.replace(/(?=(\\+?)?)\1"/g,"$1$1\\\""),arg=arg.replace(/(?=(\\+?)?)\1$/,"$1$1"),arg=`"${arg}"`,arg=arg.replace(metaCharsRegExp,"^$1"),doubleEscapeMetaChars)arg=arg.replace(metaCharsRegExp,"^$1");return arg}exports.command=escapeCommand;exports.argument=escapeArgument});var require_shebang_regex=__commonJS((exports,module)=>{module.exports=/^#!(.*)/});var require_shebang_command=__commonJS((exports,module)=>{var shebangRegex=require_shebang_regex();module.exports=(string4="")=>{let match=string4.match(shebangRegex);if(!match)return null;let[path,argument]=match[0].replace(/#! ?/,"").split(" "),binary=path.split("/").pop();if(binary==="env")return argument;return argument?`${binary} ${argument}`:binary}});var require_readShebang=__commonJS((exports,module)=>{var fs=__require("fs"),shebangCommand=require_shebang_command();function readShebang(command){let buffer=Buffer.alloc(150),fd;try{fd=fs.openSync(command,"r"),fs.readSync(fd,buffer,0,150,0),fs.closeSync(fd)}catch(e){}return shebangCommand(buffer.toString())}module.exports=readShebang});var require_parse=__commonJS((exports,module)=>{var path=__require("path"),resolveCommand=require_resolveCommand(),escape=require_escape(),readShebang=require_readShebang(),isWin=process.platform==="win32",isExecutableRegExp=/\.(?:com|exe)$/i,isCmdShimRegExp=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function detectShebang(parsed){parsed.file=resolveCommand(parsed);let shebang=parsed.file&&readShebang(parsed.file);if(shebang)return parsed.args.unshift(parsed.file),parsed.command=shebang,resolveCommand(parsed);return parsed.file}function parseNonShell(parsed){if(!isWin)return parsed;let commandFile=detectShebang(parsed),needsShell=!isExecutableRegExp.test(commandFile);if(parsed.options.forceShell||needsShell){let needsDoubleEscapeMetaChars=isCmdShimRegExp.test(commandFile);parsed.command=path.normalize(parsed.command),parsed.command=escape.command(parsed.command),parsed.args=parsed.args.map((arg)=>escape.argument(arg,needsDoubleEscapeMetaChars));let shellCommand=[parsed.command].concat(parsed.args).join(" ");parsed.args=["/d","/s","/c",`"${shellCommand}"`],parsed.command=process.env.comspec||"cmd.exe",parsed.options.windowsVerbatimArguments=!0}return parsed}function parse5(command,args,options){if(args&&!Array.isArray(args))options=args,args=null;args=args?args.slice(0):[],options=Object.assign({},options);let parsed={command,args,options,file:void 0,original:{command,args}};return options.shell?parsed:parseNonShell(parsed)}module.exports=parse5});var require_enoent=__commonJS((exports,module)=>{var isWin=process.platform==="win32";function notFoundError(original,syscall){return Object.assign(Error(`${syscall} ${original.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${syscall} ${original.command}`,path:original.command,spawnargs:original.args})}function hookChildProcess(cp,parsed){if(!isWin)return;let originalEmit=cp.emit;cp.emit=function(name,arg1){if(name==="exit"){let err=verifyENOENT(arg1,parsed);if(err)return originalEmit.call(cp,"error",err)}return originalEmit.apply(cp,arguments)}}function verifyENOENT(status,parsed){if(isWin&&status===1&&!parsed.file)return notFoundError(parsed.original,"spawn");return null}function verifyENOENTSync(status,parsed){if(isWin&&status===1&&!parsed.file)return notFoundError(parsed.original,"spawnSync");return null}module.exports={hookChildProcess,verifyENOENT,verifyENOENTSync,notFoundError}});var require_cross_spawn=__commonJS((exports,module)=>{var cp=__require("child_process"),parse5=require_parse(),enoent=require_enoent();function spawn(command,args,options){let parsed=parse5(command,args,options),spawned=cp.spawn(parsed.command,parsed.args,parsed.options);return enoent.hookChildProcess(spawned,parsed),spawned}function spawnSync(command,args,options){let parsed=parse5(command,args,options),result=cp.spawnSync(parsed.command,parsed.args,parsed.options);return result.error=result.error||enoent.verifyENOENTSync(result.status,parsed),result}module.exports=spawn;module.exports.spawn=spawn;module.exports.sync=spawnSync;module.exports._parse=parse5;module.exports._enoent=enoent});function pathKey(options={}){let{env:env2=process.env,platform:platform2=process.platform}=options;if(platform2!=="win32")return"PATH";return Object.keys(env2).reverse().find((key)=>key.toUpperCase()==="PATH")||"Path"}import{promisify}from"node:util";import{execFile as execFileCallback,execFileSync as execFileSyncOriginal}from"node:child_process";import path from"node:path";import{fileURLToPath as fileURLToPath2}from"node:url";function toPath(urlOrPath){return urlOrPath instanceof URL?fileURLToPath2(urlOrPath):urlOrPath}function traversePathUp(startPath){return{*[Symbol.iterator](){let currentPath=path.resolve(toPath(startPath)),previousPath;while(previousPath!==currentPath)yield currentPath,previousPath=currentPath,currentPath=path.resolve(currentPath,"..")}}}var execFileOriginal;var init_node=__esm(()=>{execFileOriginal=promisify(execFileCallback)});import process5 from"node:process";import path2 from"node:path";var npmRunPath=({cwd=process5.cwd(),path:pathOption=process5.env[pathKey()],preferLocal=!0,execPath=process5.execPath,addExecPath=!0}={})=>{let cwdPath=path2.resolve(toPath(cwd)),result=[],pathParts=pathOption.split(path2.delimiter);if(preferLocal)applyPreferLocal(result,pathParts,cwdPath);if(addExecPath)applyExecPath(result,pathParts,execPath,cwdPath);return pathOption===""||pathOption===path2.delimiter?`${result.join(path2.delimiter)}${pathOption}`:[...result,pathOption].join(path2.delimiter)},applyPreferLocal=(result,pathParts,cwdPath)=>{for(let directory of traversePathUp(cwdPath)){let pathPart=path2.join(directory,"node_modules/.bin");if(!pathParts.includes(pathPart))result.push(pathPart)}},applyExecPath=(result,pathParts,execPath,cwdPath)=>{let pathPart=path2.resolve(cwdPath,toPath(execPath),"..");if(!pathParts.includes(pathPart))result.push(pathPart)},npmRunPathEnv=({env:env2=process5.env,...options}={})=>{env2={...env2};let pathName=pathKey({env:env2});return options.path=env2[pathName],env2[pathName]=npmRunPath(options),env2};var init_npm_run_path=__esm(()=>{init_node()});var getFinalError=(originalError,message,isSync)=>{let ErrorClass=isSync?ExecaSyncError:ExecaError,options=originalError instanceof DiscardedError?{}:{cause:originalError};return new ErrorClass(message,options)},DiscardedError,setErrorName=(ErrorClass,value)=>{Object.defineProperty(ErrorClass.prototype,"name",{value,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(ErrorClass.prototype,execaErrorSymbol,{value:!0,writable:!1,enumerable:!1,configurable:!1})},isExecaError=(error51)=>isErrorInstance(error51)&&(execaErrorSymbol in error51),execaErrorSymbol,isErrorInstance=(value)=>Object.prototype.toString.call(value)==="[object Error]",ExecaError,ExecaSyncError;var init_final_error=__esm(()=>{DiscardedError=class DiscardedError extends Error{};execaErrorSymbol=Symbol("isExecaError");ExecaError=class ExecaError extends Error{};setErrorName(ExecaError,ExecaError.name);ExecaSyncError=class ExecaSyncError extends Error{};setErrorName(ExecaSyncError,ExecaSyncError.name)});var getRealtimeSignals=()=>{let length=SIGRTMAX-SIGRTMIN+1;return Array.from({length},getRealtimeSignal)},getRealtimeSignal=(value,index)=>({name:`SIGRT${index+1}`,number:SIGRTMIN+index,action:"terminate",description:"Application-specific signal (realtime)",standard:"posix"}),SIGRTMIN=34,SIGRTMAX=64;var SIGNALS;var init_core3=__esm(()=>{SIGNALS=[{name:"SIGHUP",number:1,action:"terminate",description:"Terminal closed",standard:"posix"},{name:"SIGINT",number:2,action:"terminate",description:"User interruption with CTRL-C",standard:"ansi"},{name:"SIGQUIT",number:3,action:"core",description:"User interruption with CTRL-\\",standard:"posix"},{name:"SIGILL",number:4,action:"core",description:"Invalid machine instruction",standard:"ansi"},{name:"SIGTRAP",number:5,action:"core",description:"Debugger breakpoint",standard:"posix"},{name:"SIGABRT",number:6,action:"core",description:"Aborted",standard:"ansi"},{name:"SIGIOT",number:6,action:"core",description:"Aborted",standard:"bsd"},{name:"SIGBUS",number:7,action:"core",description:"Bus error due to misaligned, non-existing address or paging error",standard:"bsd"},{name:"SIGEMT",number:7,action:"terminate",description:"Command should be emulated but is not implemented",standard:"other"},{name:"SIGFPE",number:8,action:"core",description:"Floating point arithmetic error",standard:"ansi"},{name:"SIGKILL",number:9,action:"terminate",description:"Forced termination",standard:"posix",forced:!0},{name:"SIGUSR1",number:10,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGSEGV",number:11,action:"core",description:"Segmentation fault",standard:"ansi"},{name:"SIGUSR2",number:12,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGPIPE",number:13,action:"terminate",description:"Broken pipe or socket",standard:"posix"},{name:"SIGALRM",number:14,action:"terminate",description:"Timeout or timer",standard:"posix"},{name:"SIGTERM",number:15,action:"terminate",description:"Termination",standard:"ansi"},{name:"SIGSTKFLT",number:16,action:"terminate",description:"Stack is empty or overflowed",standard:"other"},{name:"SIGCHLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"posix"},{name:"SIGCLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"other"},{name:"SIGCONT",number:18,action:"unpause",description:"Unpaused",standard:"posix",forced:!0},{name:"SIGSTOP",number:19,action:"pause",description:"Paused",standard:"posix",forced:!0},{name:"SIGTSTP",number:20,action:"pause",description:'Paused using CTRL-Z or "suspend"',standard:"posix"},{name:"SIGTTIN",number:21,action:"pause",description:"Background process cannot read terminal input",standard:"posix"},{name:"SIGBREAK",number:21,action:"terminate",description:"User interruption with CTRL-BREAK",standard:"other"},{name:"SIGTTOU",number:22,action:"pause",description:"Background process cannot write to terminal output",standard:"posix"},{name:"SIGURG",number:23,action:"ignore",description:"Socket received out-of-band data",standard:"bsd"},{name:"SIGXCPU",number:24,action:"core",description:"Process timed out",standard:"bsd"},{name:"SIGXFSZ",number:25,action:"core",description:"File too big",standard:"bsd"},{name:"SIGVTALRM",number:26,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGPROF",number:27,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGWINCH",number:28,action:"ignore",description:"Terminal window size changed",standard:"bsd"},{name:"SIGIO",number:29,action:"terminate",description:"I/O is available",standard:"other"},{name:"SIGPOLL",number:29,action:"terminate",description:"Watched event",standard:"other"},{name:"SIGINFO",number:29,action:"ignore",description:"Request for process information",standard:"other"},{name:"SIGPWR",number:30,action:"terminate",description:"Device running out of power",standard:"systemv"},{name:"SIGSYS",number:31,action:"core",description:"Invalid system call",standard:"other"},{name:"SIGUNUSED",number:31,action:"terminate",description:"Invalid system call",standard:"other"}]});import{constants}from"node:os";var getSignals=()=>{let realtimeSignals=getRealtimeSignals();return[...SIGNALS,...realtimeSignals].map(normalizeSignal)},normalizeSignal=({name,number:defaultNumber,description,action,forced=!1,standard})=>{let{signals:{[name]:constantSignal}}=constants,supported=constantSignal!==void 0;return{name,number:supported?constantSignal:defaultNumber,description,supported,action,forced,standard}};var init_signals=__esm(()=>{init_core3()});import{constants as constants2}from"node:os";var getSignalsByName=()=>{let signals=getSignals();return Object.fromEntries(signals.map(getSignalByName))},getSignalByName=({name,number:number4,description,supported,action,forced,standard})=>[name,{name,number:number4,description,supported,action,forced,standard}],signalsByName,getSignalsByNumber=()=>{let signals=getSignals(),length=SIGRTMAX+1,signalsA=Array.from({length},(value,number4)=>getSignalByNumber(number4,signals));return Object.assign({},...signalsA)},getSignalByNumber=(number4,signals)=>{let signal=findSignalByNumber(number4,signals);if(signal===void 0)return{};let{name,description,supported,action,forced,standard}=signal;return{[number4]:{name,number:number4,description,supported,action,forced,standard}}},findSignalByNumber=(number4,signals)=>{let signal=signals.find(({name})=>constants2.signals[name]===number4);if(signal!==void 0)return signal;return signals.find((signalA)=>signalA.number===number4)},signalsByNumber;var init_main=__esm(()=>{init_signals();signalsByName=getSignalsByName(),signalsByNumber=getSignalsByNumber()});import{constants as constants3}from"node:os";var normalizeKillSignal=(killSignal)=>{if(killSignal===0)throw TypeError("Invalid option `killSignal`: 0 cannot be used.");return normalizeSignal2(killSignal,"option `killSignal`")},normalizeSignalArgument=(signal)=>signal===0?signal:normalizeSignal2(signal,"`subprocess.kill()`'s argument"),normalizeSignal2=(signalNameOrInteger,optionName)=>{if(Number.isInteger(signalNameOrInteger))return normalizeSignalInteger(signalNameOrInteger,optionName);if(typeof signalNameOrInteger==="string")return normalizeSignalName(signalNameOrInteger,optionName);throw TypeError(`Invalid ${optionName} ${String(signalNameOrInteger)}: it must be a string or an integer.
|
|
213
|
+
${getAvailableSignals()}`)},normalizeSignalInteger=(signalInteger,optionName)=>{if(signalsIntegerToName.has(signalInteger))return signalsIntegerToName.get(signalInteger);throw TypeError(`Invalid ${optionName} ${signalInteger}: this signal integer does not exist.
|
|
214
|
+
${getAvailableSignals()}`)},getSignalsIntegerToName=()=>new Map(Object.entries(constants3.signals).reverse().map(([signalName,signalInteger])=>[signalInteger,signalName])),signalsIntegerToName,normalizeSignalName=(signalName,optionName)=>{if(signalName in constants3.signals)return signalName;if(signalName.toUpperCase()in constants3.signals)throw TypeError(`Invalid ${optionName} '${signalName}': please rename it to '${signalName.toUpperCase()}'.`);throw TypeError(`Invalid ${optionName} '${signalName}': this signal name does not exist.
|
|
215
|
+
${getAvailableSignals()}`)},getAvailableSignals=()=>`Available signal names: ${getAvailableSignalNames()}.
|
|
216
|
+
Available signal numbers: ${getAvailableSignalIntegers()}.`,getAvailableSignalNames=()=>Object.keys(constants3.signals).sort().map((signalName)=>`'${signalName}'`).join(", "),getAvailableSignalIntegers=()=>[...new Set(Object.values(constants3.signals).sort((signalInteger,signalIntegerTwo)=>signalInteger-signalIntegerTwo))].join(", "),getSignalDescription=(signal)=>signalsByName[signal].description;var init_signal=__esm(()=>{init_main();signalsIntegerToName=getSignalsIntegerToName()});import{setTimeout as setTimeout2}from"node:timers/promises";var normalizeForceKillAfterDelay=(forceKillAfterDelay)=>{if(forceKillAfterDelay===!1)return forceKillAfterDelay;if(forceKillAfterDelay===!0)return DEFAULT_FORCE_KILL_TIMEOUT;if(!Number.isFinite(forceKillAfterDelay)||forceKillAfterDelay<0)throw TypeError(`Expected the \`forceKillAfterDelay\` option to be a non-negative integer, got \`${forceKillAfterDelay}\` (${typeof forceKillAfterDelay})`);return forceKillAfterDelay},DEFAULT_FORCE_KILL_TIMEOUT=5000,subprocessKill=({kill,options:{forceKillAfterDelay,killSignal},onInternalError,context,controller},signalOrError,errorArgument)=>{let{signal,error:error51}=parseKillArguments(signalOrError,errorArgument,killSignal);emitKillError(error51,onInternalError);let killResult=kill(signal);return setKillTimeout({kill,signal,forceKillAfterDelay,killSignal,killResult,context,controller}),killResult},parseKillArguments=(signalOrError,errorArgument,killSignal)=>{let[signal=killSignal,error51]=isErrorInstance(signalOrError)?[void 0,signalOrError]:[signalOrError,errorArgument];if(typeof signal!=="string"&&!Number.isInteger(signal))throw TypeError(`The first argument must be an error instance or a signal name string/integer: ${String(signal)}`);if(error51!==void 0&&!isErrorInstance(error51))throw TypeError(`The second argument is optional. If specified, it must be an error instance: ${error51}`);return{signal:normalizeSignalArgument(signal),error:error51}},emitKillError=(error51,onInternalError)=>{if(error51!==void 0)onInternalError.reject(error51)},setKillTimeout=async({kill,signal,forceKillAfterDelay,killSignal,killResult,context,controller})=>{if(signal===killSignal&&killResult)killOnTimeout({kill,forceKillAfterDelay,context,controllerSignal:controller.signal})},killOnTimeout=async({kill,forceKillAfterDelay,context,controllerSignal})=>{if(forceKillAfterDelay===!1)return;try{if(await setTimeout2(forceKillAfterDelay,void 0,{signal:controllerSignal}),kill("SIGKILL"))context.isForcefullyTerminated??=!0}catch{}};var init_kill=__esm(()=>{init_final_error();init_signal()});import{once}from"node:events";var onAbortedSignal=async(mainSignal,stopSignal)=>{if(!mainSignal.aborted)await once(mainSignal,"abort",{signal:stopSignal})};var init_abort_signal=()=>{};var validateCancelSignal=({cancelSignal})=>{if(cancelSignal!==void 0&&Object.prototype.toString.call(cancelSignal)!=="[object AbortSignal]")throw Error(`The \`cancelSignal\` option must be an AbortSignal: ${String(cancelSignal)}`)},throwOnCancel=({subprocess,cancelSignal,gracefulCancel,context,controller})=>cancelSignal===void 0||gracefulCancel?[]:[terminateOnCancel(subprocess,cancelSignal,context,controller)],terminateOnCancel=async(subprocess,cancelSignal,context,{signal})=>{throw await onAbortedSignal(cancelSignal,signal),context.terminationReason??="cancel",subprocess.kill(),cancelSignal.reason};var init_cancel=__esm(()=>{init_abort_signal()});var validateIpcMethod=({methodName,isSubprocess,ipc,isConnected})=>{validateIpcOption(methodName,isSubprocess,ipc),validateConnection(methodName,isSubprocess,isConnected)},validateIpcOption=(methodName,isSubprocess,ipc)=>{if(!ipc)throw Error(`${getMethodName(methodName,isSubprocess)} can only be used if the \`ipc\` option is \`true\`.`)},validateConnection=(methodName,isSubprocess,isConnected)=>{if(!isConnected)throw Error(`${getMethodName(methodName,isSubprocess)} cannot be used: the ${getOtherProcessName(isSubprocess)} has already exited or disconnected.`)},throwOnEarlyDisconnect=(isSubprocess)=>{throw Error(`${getMethodName("getOneMessage",isSubprocess)} could not complete: the ${getOtherProcessName(isSubprocess)} exited or disconnected.`)},throwOnStrictDeadlockError=(isSubprocess)=>{throw Error(`${getMethodName("sendMessage",isSubprocess)} failed: the ${getOtherProcessName(isSubprocess)} is sending a message too, instead of listening to incoming messages.
|
|
217
|
+
This can be fixed by both sending a message and listening to incoming messages at the same time:
|
|
218
|
+
|
|
219
|
+
const [receivedMessage] = await Promise.all([
|
|
220
|
+
${getMethodName("getOneMessage",isSubprocess)},
|
|
221
|
+
${getMethodName("sendMessage",isSubprocess,"message, {strict: true}")},
|
|
222
|
+
]);`)},getStrictResponseError=(error51,isSubprocess)=>Error(`${getMethodName("sendMessage",isSubprocess)} failed when sending an acknowledgment response to the ${getOtherProcessName(isSubprocess)}.`,{cause:error51}),throwOnMissingStrict=(isSubprocess)=>{throw Error(`${getMethodName("sendMessage",isSubprocess)} failed: the ${getOtherProcessName(isSubprocess)} is not listening to incoming messages.`)},throwOnStrictDisconnect=(isSubprocess)=>{throw Error(`${getMethodName("sendMessage",isSubprocess)} failed: the ${getOtherProcessName(isSubprocess)} exited without listening to incoming messages.`)},getAbortDisconnectError=()=>Error(`\`cancelSignal\` aborted: the ${getOtherProcessName(!0)} disconnected.`),throwOnMissingParent=()=>{throw Error("`getCancelSignal()` cannot be used without setting the `cancelSignal` subprocess option.")},handleEpipeError=({error:error51,methodName,isSubprocess})=>{if(error51.code==="EPIPE")throw Error(`${getMethodName(methodName,isSubprocess)} cannot be used: the ${getOtherProcessName(isSubprocess)} is disconnecting.`,{cause:error51})},handleSerializationError=({error:error51,methodName,isSubprocess,message})=>{if(isSerializationError(error51))throw Error(`${getMethodName(methodName,isSubprocess)}'s argument type is invalid: the message cannot be serialized: ${String(message)}.`,{cause:error51})},isSerializationError=({code,message})=>SERIALIZATION_ERROR_CODES.has(code)||SERIALIZATION_ERROR_MESSAGES.some((serializationErrorMessage)=>message.includes(serializationErrorMessage)),SERIALIZATION_ERROR_CODES,SERIALIZATION_ERROR_MESSAGES,getMethodName=(methodName,isSubprocess,parameters="")=>methodName==="cancelSignal"?"`cancelSignal`'s `controller.abort()`":`${getNamespaceName(isSubprocess)}${methodName}(${parameters})`,getNamespaceName=(isSubprocess)=>isSubprocess?"":"subprocess.",getOtherProcessName=(isSubprocess)=>isSubprocess?"parent process":"subprocess",disconnect=(anyProcess)=>{if(anyProcess.connected)anyProcess.disconnect()};var init_validation=__esm(()=>{SERIALIZATION_ERROR_CODES=new Set(["ERR_MISSING_ARGS","ERR_INVALID_ARG_TYPE"]),SERIALIZATION_ERROR_MESSAGES=["could not be cloned","circular structure","call stack size exceeded"]});var createDeferred=()=>{let methods={},promise2=new Promise((resolve,reject)=>{Object.assign(methods,{resolve,reject})});return Object.assign(promise2,methods)};var getToStream=(destination,to="stdin")=>{let{options,fileDescriptors}=SUBPROCESS_OPTIONS.get(destination),fdNumber=getFdNumber(fileDescriptors,to,!0),destinationStream=destination.stdio[fdNumber];if(destinationStream===null)throw TypeError(getInvalidStdioOptionMessage(fdNumber,to,options,!0));return destinationStream},getFromStream=(source,from="stdout")=>{let{options,fileDescriptors}=SUBPROCESS_OPTIONS.get(source),fdNumber=getFdNumber(fileDescriptors,from,!1),sourceStream=fdNumber==="all"?source.all:source.stdio[fdNumber];if(sourceStream===null||sourceStream===void 0)throw TypeError(getInvalidStdioOptionMessage(fdNumber,from,options,!1));return sourceStream},SUBPROCESS_OPTIONS,getFdNumber=(fileDescriptors,fdName,isWritable)=>{let fdNumber=parseFdNumber(fdName,isWritable);return validateFdNumber(fdNumber,fdName,isWritable,fileDescriptors),fdNumber},parseFdNumber=(fdName,isWritable)=>{let fdNumber=parseFd(fdName);if(fdNumber!==void 0)return fdNumber;let{validOptions,defaultValue}=isWritable?{validOptions:'"stdin"',defaultValue:"stdin"}:{validOptions:'"stdout", "stderr", "all"',defaultValue:"stdout"};throw TypeError(`"${getOptionName(isWritable)}" must not be "${fdName}".
|
|
223
|
+
It must be ${validOptions} or "fd3", "fd4" (and so on).
|
|
224
|
+
It is optional and defaults to "${defaultValue}".`)},validateFdNumber=(fdNumber,fdName,isWritable,fileDescriptors)=>{let fileDescriptor=fileDescriptors[getUsedDescriptor(fdNumber)];if(fileDescriptor===void 0)throw TypeError(`"${getOptionName(isWritable)}" must not be ${fdName}. That file descriptor does not exist.
|
|
225
|
+
Please set the "stdio" option to ensure that file descriptor exists.`);if(fileDescriptor.direction==="input"&&!isWritable)throw TypeError(`"${getOptionName(isWritable)}" must not be ${fdName}. It must be a readable stream, not writable.`);if(fileDescriptor.direction!=="input"&&isWritable)throw TypeError(`"${getOptionName(isWritable)}" must not be ${fdName}. It must be a writable stream, not readable.`)},getInvalidStdioOptionMessage=(fdNumber,fdName,options,isWritable)=>{if(fdNumber==="all"&&!options.all)return`The "all" option must be true to use "from: 'all'".`;let{optionName,optionValue}=getInvalidStdioOption(fdNumber,options);return`The "${optionName}: ${serializeOptionValue(optionValue)}" option is incompatible with using "${getOptionName(isWritable)}: ${serializeOptionValue(fdName)}".
|
|
226
|
+
Please set this option with "pipe" instead.`},getInvalidStdioOption=(fdNumber,{stdin,stdout,stderr,stdio})=>{let usedDescriptor=getUsedDescriptor(fdNumber);if(usedDescriptor===0&&stdin!==void 0)return{optionName:"stdin",optionValue:stdin};if(usedDescriptor===1&&stdout!==void 0)return{optionName:"stdout",optionValue:stdout};if(usedDescriptor===2&&stderr!==void 0)return{optionName:"stderr",optionValue:stderr};return{optionName:`stdio[${usedDescriptor}]`,optionValue:stdio[usedDescriptor]}},getUsedDescriptor=(fdNumber)=>fdNumber==="all"?1:fdNumber,getOptionName=(isWritable)=>isWritable?"to":"from",serializeOptionValue=(value)=>{if(typeof value==="string")return`'${value}'`;return typeof value==="number"?`${value}`:"Stream"};var init_fd_options=__esm(()=>{init_specific();SUBPROCESS_OPTIONS=new WeakMap});import{addAbortListener}from"node:events";var incrementMaxListeners=(eventEmitter,maxListenersIncrement,signal)=>{let maxListeners=eventEmitter.getMaxListeners();if(maxListeners===0||maxListeners===Number.POSITIVE_INFINITY)return;eventEmitter.setMaxListeners(maxListeners+maxListenersIncrement),addAbortListener(signal,()=>{eventEmitter.setMaxListeners(eventEmitter.getMaxListeners()-maxListenersIncrement)})};var init_max_listeners=()=>{};var addReference=(channel,reference)=>{if(reference)addReferenceCount(channel)},addReferenceCount=(channel)=>{channel.refCounted()},removeReference=(channel,reference)=>{if(reference)removeReferenceCount(channel)},removeReferenceCount=(channel)=>{channel.unrefCounted()},undoAddedReferences=(channel,isSubprocess)=>{if(isSubprocess)removeReferenceCount(channel),removeReferenceCount(channel)},redoAddedReferences=(channel,isSubprocess)=>{if(isSubprocess)addReferenceCount(channel),addReferenceCount(channel)};import{once as once2}from"node:events";import{scheduler}from"node:timers/promises";var onMessage=async({anyProcess,channel,isSubprocess,ipcEmitter},wrappedMessage)=>{if(handleStrictResponse(wrappedMessage)||handleAbort(wrappedMessage))return;if(!INCOMING_MESSAGES.has(anyProcess))INCOMING_MESSAGES.set(anyProcess,[]);let incomingMessages=INCOMING_MESSAGES.get(anyProcess);if(incomingMessages.push(wrappedMessage),incomingMessages.length>1)return;while(incomingMessages.length>0){await waitForOutgoingMessages(anyProcess,ipcEmitter,wrappedMessage),await scheduler.yield();let message=await handleStrictRequest({wrappedMessage:incomingMessages[0],anyProcess,channel,isSubprocess,ipcEmitter});incomingMessages.shift(),ipcEmitter.emit("message",message),ipcEmitter.emit("message:done")}},onDisconnect=async({anyProcess,channel,isSubprocess,ipcEmitter,boundOnMessage})=>{abortOnDisconnect();let incomingMessages=INCOMING_MESSAGES.get(anyProcess);while(incomingMessages?.length>0)await once2(ipcEmitter,"message:done");anyProcess.removeListener("message",boundOnMessage),redoAddedReferences(channel,isSubprocess),ipcEmitter.connected=!1,ipcEmitter.emit("disconnect")},INCOMING_MESSAGES;var init_incoming=__esm(()=>{init_outgoing();init_strict();init_graceful();INCOMING_MESSAGES=new WeakMap});import{EventEmitter}from"node:events";var getIpcEmitter=(anyProcess,channel,isSubprocess)=>{if(IPC_EMITTERS.has(anyProcess))return IPC_EMITTERS.get(anyProcess);let ipcEmitter=new EventEmitter;return ipcEmitter.connected=!0,IPC_EMITTERS.set(anyProcess,ipcEmitter),forwardEvents({ipcEmitter,anyProcess,channel,isSubprocess}),ipcEmitter},IPC_EMITTERS,forwardEvents=({ipcEmitter,anyProcess,channel,isSubprocess})=>{let boundOnMessage=onMessage.bind(void 0,{anyProcess,channel,isSubprocess,ipcEmitter});anyProcess.on("message",boundOnMessage),anyProcess.once("disconnect",onDisconnect.bind(void 0,{anyProcess,channel,isSubprocess,ipcEmitter,boundOnMessage})),undoAddedReferences(channel,isSubprocess)},isConnected=(anyProcess)=>{let ipcEmitter=IPC_EMITTERS.get(anyProcess);return ipcEmitter===void 0?anyProcess.channel!==null:ipcEmitter.connected};var init_forward=__esm(()=>{init_incoming();IPC_EMITTERS=new WeakMap});import{once as once3}from"node:events";var handleSendStrict=({anyProcess,channel,isSubprocess,message,strict})=>{if(!strict)return message;let ipcEmitter=getIpcEmitter(anyProcess,channel,isSubprocess),hasListeners=hasMessageListeners(anyProcess,ipcEmitter);return{id:count++,type:REQUEST_TYPE,message,hasListeners}},count=0n,validateStrictDeadlock=(outgoingMessages,wrappedMessage)=>{if(wrappedMessage?.type!==REQUEST_TYPE||wrappedMessage.hasListeners)return;for(let{id}of outgoingMessages)if(id!==void 0)STRICT_RESPONSES[id].resolve({isDeadlock:!0,hasListeners:!1})},handleStrictRequest=async({wrappedMessage,anyProcess,channel,isSubprocess,ipcEmitter})=>{if(wrappedMessage?.type!==REQUEST_TYPE||!anyProcess.connected)return wrappedMessage;let{id,message}=wrappedMessage,response={id,type:RESPONSE_TYPE,message:hasMessageListeners(anyProcess,ipcEmitter)};try{await sendMessage({anyProcess,channel,isSubprocess,ipc:!0},response)}catch(error51){ipcEmitter.emit("strict:error",error51)}return message},handleStrictResponse=(wrappedMessage)=>{if(wrappedMessage?.type!==RESPONSE_TYPE)return!1;let{id,message:hasListeners}=wrappedMessage;return STRICT_RESPONSES[id]?.resolve({isDeadlock:!1,hasListeners}),!0},waitForStrictResponse=async(wrappedMessage,anyProcess,isSubprocess)=>{if(wrappedMessage?.type!==REQUEST_TYPE)return;let deferred=createDeferred();STRICT_RESPONSES[wrappedMessage.id]=deferred;let controller=new AbortController;try{let{isDeadlock,hasListeners}=await Promise.race([deferred,throwOnDisconnect(anyProcess,isSubprocess,controller)]);if(isDeadlock)throwOnStrictDeadlockError(isSubprocess);if(!hasListeners)throwOnMissingStrict(isSubprocess)}finally{controller.abort(),delete STRICT_RESPONSES[wrappedMessage.id]}},STRICT_RESPONSES,throwOnDisconnect=async(anyProcess,isSubprocess,{signal})=>{incrementMaxListeners(anyProcess,1,signal),await once3(anyProcess,"disconnect",{signal}),throwOnStrictDisconnect(isSubprocess)},REQUEST_TYPE="execa:ipc:request",RESPONSE_TYPE="execa:ipc:response";var init_strict=__esm(()=>{init_max_listeners();init_send();init_validation();init_forward();init_outgoing();STRICT_RESPONSES={}});var startSendMessage=(anyProcess,wrappedMessage,strict)=>{if(!OUTGOING_MESSAGES.has(anyProcess))OUTGOING_MESSAGES.set(anyProcess,new Set);let outgoingMessages=OUTGOING_MESSAGES.get(anyProcess),onMessageSent=createDeferred(),id=strict?wrappedMessage.id:void 0,outgoingMessage={onMessageSent,id};return outgoingMessages.add(outgoingMessage),{outgoingMessages,outgoingMessage}},endSendMessage=({outgoingMessages,outgoingMessage})=>{outgoingMessages.delete(outgoingMessage),outgoingMessage.onMessageSent.resolve()},waitForOutgoingMessages=async(anyProcess,ipcEmitter,wrappedMessage)=>{while(!hasMessageListeners(anyProcess,ipcEmitter)&&OUTGOING_MESSAGES.get(anyProcess)?.size>0){let outgoingMessages=[...OUTGOING_MESSAGES.get(anyProcess)];validateStrictDeadlock(outgoingMessages,wrappedMessage),await Promise.all(outgoingMessages.map(({onMessageSent})=>onMessageSent))}},OUTGOING_MESSAGES,hasMessageListeners=(anyProcess,ipcEmitter)=>ipcEmitter.listenerCount("message")>getMinListenerCount(anyProcess),getMinListenerCount=(anyProcess)=>SUBPROCESS_OPTIONS.has(anyProcess)&&!getFdSpecificValue(SUBPROCESS_OPTIONS.get(anyProcess).options.buffer,"ipc")?1:0;var init_outgoing=__esm(()=>{init_specific();init_fd_options();init_strict();OUTGOING_MESSAGES=new WeakMap});import{promisify as promisify2}from"node:util";var sendMessage=({anyProcess,channel,isSubprocess,ipc},message,{strict=!1}={})=>{return validateIpcMethod({methodName:"sendMessage",isSubprocess,ipc,isConnected:anyProcess.connected}),sendMessageAsync({anyProcess,channel,methodName:"sendMessage",isSubprocess,message,strict})},sendMessageAsync=async({anyProcess,channel,methodName,isSubprocess,message,strict})=>{let wrappedMessage=handleSendStrict({anyProcess,channel,isSubprocess,message,strict}),outgoingMessagesState=startSendMessage(anyProcess,wrappedMessage,strict);try{await sendOneMessage({anyProcess,methodName,isSubprocess,wrappedMessage,message})}catch(error51){throw disconnect(anyProcess),error51}finally{endSendMessage(outgoingMessagesState)}},sendOneMessage=async({anyProcess,methodName,isSubprocess,wrappedMessage,message})=>{let sendMethod=getSendMethod(anyProcess);try{await Promise.all([waitForStrictResponse(wrappedMessage,anyProcess,isSubprocess),sendMethod(wrappedMessage)])}catch(error51){throw handleEpipeError({error:error51,methodName,isSubprocess}),handleSerializationError({error:error51,methodName,isSubprocess,message}),error51}},getSendMethod=(anyProcess)=>{if(PROCESS_SEND_METHODS.has(anyProcess))return PROCESS_SEND_METHODS.get(anyProcess);let sendMethod=promisify2(anyProcess.send.bind(anyProcess));return PROCESS_SEND_METHODS.set(anyProcess,sendMethod),sendMethod},PROCESS_SEND_METHODS;var init_send=__esm(()=>{init_validation();init_outgoing();init_strict();PROCESS_SEND_METHODS=new WeakMap});import{scheduler as scheduler2}from"node:timers/promises";var sendAbort=(subprocess,message)=>{return validateConnection("cancelSignal",!1,subprocess.connected),sendOneMessage({anyProcess:subprocess,methodName:"cancelSignal",isSubprocess:!1,wrappedMessage:{type:GRACEFUL_CANCEL_TYPE,message},message})},getCancelSignal=async({anyProcess,channel,isSubprocess,ipc})=>{return await startIpc({anyProcess,channel,isSubprocess,ipc}),cancelController.signal},startIpc=async({anyProcess,channel,isSubprocess,ipc})=>{if(cancelListening)return;if(cancelListening=!0,!ipc){throwOnMissingParent();return}if(channel===null){abortOnDisconnect();return}getIpcEmitter(anyProcess,channel,isSubprocess),await scheduler2.yield()},cancelListening=!1,handleAbort=(wrappedMessage)=>{if(wrappedMessage?.type!==GRACEFUL_CANCEL_TYPE)return!1;return cancelController.abort(wrappedMessage.message),!0},GRACEFUL_CANCEL_TYPE="execa:ipc:cancel",abortOnDisconnect=()=>{cancelController.abort(getAbortDisconnectError())},cancelController;var init_graceful=__esm(()=>{init_send();init_forward();init_validation();cancelController=new AbortController});var validateGracefulCancel=({gracefulCancel,cancelSignal,ipc,serialization})=>{if(!gracefulCancel)return;if(cancelSignal===void 0)throw Error("The `cancelSignal` option must be defined when setting the `gracefulCancel` option.");if(!ipc)throw Error("The `ipc` option cannot be false when setting the `gracefulCancel` option.");if(serialization==="json")throw Error("The `serialization` option cannot be 'json' when setting the `gracefulCancel` option.")},throwOnGracefulCancel=({subprocess,cancelSignal,gracefulCancel,forceKillAfterDelay,context,controller})=>gracefulCancel?[sendOnAbort({subprocess,cancelSignal,forceKillAfterDelay,context,controller})]:[],sendOnAbort=async({subprocess,cancelSignal,forceKillAfterDelay,context,controller:{signal}})=>{await onAbortedSignal(cancelSignal,signal);let reason=getReason(cancelSignal);throw await sendAbort(subprocess,reason),killOnTimeout({kill:subprocess.kill,forceKillAfterDelay,context,controllerSignal:signal}),context.terminationReason??="gracefulCancel",cancelSignal.reason},getReason=({reason})=>{if(!(reason instanceof DOMException))return reason;let error51=Error(reason.message);return Object.defineProperty(error51,"stack",{value:reason.stack,enumerable:!1,configurable:!0,writable:!0}),error51};var init_graceful2=__esm(()=>{init_abort_signal();init_graceful();init_kill()});import{setTimeout as setTimeout3}from"node:timers/promises";var validateTimeout=({timeout})=>{if(timeout!==void 0&&(!Number.isFinite(timeout)||timeout<0))throw TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${timeout}\` (${typeof timeout})`)},throwOnTimeout=(subprocess,timeout,context,controller)=>timeout===0||timeout===void 0?[]:[killAfterTimeout(subprocess,timeout,context,controller)],killAfterTimeout=async(subprocess,timeout,context,{signal})=>{throw await setTimeout3(timeout,void 0,{signal}),context.terminationReason??="timeout",subprocess.kill(),new DiscardedError};var init_timeout=__esm(()=>{init_final_error()});import{execPath,execArgv}from"node:process";import path3 from"node:path";var mapNode=({options})=>{if(options.node===!1)throw TypeError('The "node" option cannot be false with `execaNode()`.');return{options:{...options,node:!0}}},handleNodeOption=(file2,commandArguments,{node:shouldHandleNode=!1,nodePath=execPath,nodeOptions=execArgv.filter((nodeOption)=>!nodeOption.startsWith("--inspect")),cwd,execPath:formerNodePath,...options})=>{if(formerNodePath!==void 0)throw TypeError('The "execPath" option has been removed. Please use the "nodePath" option instead.');let normalizedNodePath=safeNormalizeFileUrl(nodePath,'The "nodePath" option'),resolvedNodePath=path3.resolve(cwd,normalizedNodePath),newOptions={...options,nodePath:resolvedNodePath,node:shouldHandleNode,cwd};if(!shouldHandleNode)return[file2,commandArguments,newOptions];if(path3.basename(file2,".exe")==="node")throw TypeError('When the "node" option is true, the first argument does not need to be "node".');return[resolvedNodePath,[...nodeOptions,file2,...commandArguments],{ipc:!0,...newOptions,shell:!1}]};var init_node2=__esm(()=>{init_file_url()});import{serialize}from"node:v8";var validateIpcInputOption=({ipcInput,ipc,serialization})=>{if(ipcInput===void 0)return;if(!ipc)throw Error("The `ipcInput` option cannot be set unless the `ipc` option is `true`.");validateIpcInput[serialization](ipcInput)},validateAdvancedInput=(ipcInput)=>{try{serialize(ipcInput)}catch(error51){throw Error("The `ipcInput` option is not serializable with a structured clone.",{cause:error51})}},validateJsonInput=(ipcInput)=>{try{JSON.stringify(ipcInput)}catch(error51){throw Error("The `ipcInput` option is not serializable with JSON.",{cause:error51})}},validateIpcInput,sendIpcInput=async(subprocess,ipcInput)=>{if(ipcInput===void 0)return;await subprocess.sendMessage(ipcInput)};var init_ipc_input=__esm(()=>{validateIpcInput={advanced:validateAdvancedInput,json:validateJsonInput}});var validateEncoding=({encoding})=>{if(ENCODINGS.has(encoding))return;let correctEncoding=getCorrectEncoding(encoding);if(correctEncoding!==void 0)throw TypeError(`Invalid option \`encoding: ${serializeEncoding(encoding)}\`.
|
|
227
|
+
Please rename it to ${serializeEncoding(correctEncoding)}.`);let correctEncodings=[...ENCODINGS].map((correctEncoding2)=>serializeEncoding(correctEncoding2)).join(", ");throw TypeError(`Invalid option \`encoding: ${serializeEncoding(encoding)}\`.
|
|
228
|
+
Please rename it to one of: ${correctEncodings}.`)},TEXT_ENCODINGS,BINARY_ENCODINGS,ENCODINGS,getCorrectEncoding=(encoding)=>{if(encoding===null)return"buffer";if(typeof encoding!=="string")return;let lowerEncoding=encoding.toLowerCase();if(lowerEncoding in ENCODING_ALIASES)return ENCODING_ALIASES[lowerEncoding];if(ENCODINGS.has(lowerEncoding))return lowerEncoding},ENCODING_ALIASES,serializeEncoding=(encoding)=>typeof encoding==="string"?`"${encoding}"`:String(encoding);var init_encoding_option=__esm(()=>{TEXT_ENCODINGS=new Set(["utf8","utf16le"]),BINARY_ENCODINGS=new Set(["buffer","hex","base64","base64url","latin1","ascii"]),ENCODINGS=new Set([...TEXT_ENCODINGS,...BINARY_ENCODINGS]),ENCODING_ALIASES={"utf-8":"utf8","utf-16le":"utf16le","ucs-2":"utf16le",ucs2:"utf16le",binary:"latin1"}});import{statSync}from"node:fs";import path4 from"node:path";import process6 from"node:process";var normalizeCwd=(cwd=getDefaultCwd())=>{let cwdString=safeNormalizeFileUrl(cwd,'The "cwd" option');return path4.resolve(cwdString)},getDefaultCwd=()=>{try{return process6.cwd()}catch(error51){throw error51.message=`The current directory does not exist.
|
|
229
|
+
${error51.message}`,error51}},fixCwdError=(originalMessage,cwd)=>{if(cwd===getDefaultCwd())return originalMessage;let cwdStat;try{cwdStat=statSync(cwd)}catch(error51){return`The "cwd" option is invalid: ${cwd}.
|
|
230
|
+
${error51.message}
|
|
231
|
+
${originalMessage}`}if(!cwdStat.isDirectory())return`The "cwd" option is not a directory: ${cwd}.
|
|
232
|
+
${originalMessage}`;return originalMessage};var init_cwd=__esm(()=>{init_file_url()});import path5 from"node:path";import process7 from"node:process";var import_cross_spawn,normalizeOptions=(filePath,rawArguments,rawOptions)=>{rawOptions.cwd=normalizeCwd(rawOptions.cwd);let[processedFile,processedArguments,processedOptions]=handleNodeOption(filePath,rawArguments,rawOptions),{command:file2,args:commandArguments,options:initialOptions}=import_cross_spawn.default._parse(processedFile,processedArguments,processedOptions),fdOptions=normalizeFdSpecificOptions(initialOptions),options=addDefaultOptions(fdOptions);if(validateTimeout(options),validateEncoding(options),validateIpcInputOption(options),validateCancelSignal(options),validateGracefulCancel(options),options.shell=normalizeFileUrl(options.shell),options.env=getEnv(options),options.killSignal=normalizeKillSignal(options.killSignal),options.forceKillAfterDelay=normalizeForceKillAfterDelay(options.forceKillAfterDelay),options.lines=options.lines.map((lines,fdNumber)=>lines&&!BINARY_ENCODINGS.has(options.encoding)&&options.buffer[fdNumber]),process7.platform==="win32"&&path5.basename(file2,".exe")==="cmd")commandArguments.unshift("/q");return{file:file2,commandArguments,options}},addDefaultOptions=({extendEnv=!0,preferLocal=!1,cwd,localDir:localDirectory=cwd,encoding="utf8",reject=!0,cleanup=!0,all=!1,windowsHide=!0,killSignal="SIGTERM",forceKillAfterDelay=!0,gracefulCancel=!1,ipcInput,ipc=ipcInput!==void 0||gracefulCancel,serialization="advanced",...options})=>({...options,extendEnv,preferLocal,cwd,localDirectory,encoding,reject,cleanup,all,windowsHide,killSignal,forceKillAfterDelay,gracefulCancel,ipcInput,ipc,serialization}),getEnv=({env:envOption,extendEnv,preferLocal,node,localDirectory,nodePath})=>{let env2=extendEnv?{...process7.env,...envOption}:envOption;if(preferLocal||node)return npmRunPathEnv({env:env2,cwd:localDirectory,execPath:nodePath,preferLocal,addExecPath:node});return env2};var init_options=__esm(()=>{init_npm_run_path();init_kill();init_signal();init_cancel();init_graceful2();init_timeout();init_node2();init_ipc_input();init_encoding_option();init_cwd();init_file_url();init_specific();import_cross_spawn=__toESM(require_cross_spawn(),1)});var concatenateShell=(file2,commandArguments,options)=>options.shell&&commandArguments.length>0?[[file2,...commandArguments].join(" "),[],options]:[file2,commandArguments,options];function stripFinalNewline(input){if(typeof input==="string")return stripFinalNewlineString(input);if(!(ArrayBuffer.isView(input)&&input.BYTES_PER_ELEMENT===1))throw Error("Input must be a string or a Uint8Array");return stripFinalNewlineBinary(input)}var stripFinalNewlineString=(input)=>input.at(-1)===LF?input.slice(0,input.at(-2)===CR?-2:-1):input,stripFinalNewlineBinary=(input)=>input.at(-1)===LF_BINARY?input.subarray(0,input.at(-2)===CR_BINARY?-2:-1):input,LF=`
|
|
233
|
+
`,LF_BINARY,CR="\r",CR_BINARY;var init_strip_final_newline=__esm(()=>{LF_BINARY=LF.codePointAt(0),CR_BINARY=CR.codePointAt(0)});function isStream(stream,{checkOpen=!0}={}){return stream!==null&&typeof stream==="object"&&(stream.writable||stream.readable||!checkOpen||stream.writable===void 0&&stream.readable===void 0)&&typeof stream.pipe==="function"}function isWritableStream(stream,{checkOpen=!0}={}){return isStream(stream,{checkOpen})&&(stream.writable||!checkOpen)&&typeof stream.write==="function"&&typeof stream.end==="function"&&typeof stream.writable==="boolean"&&typeof stream.writableObjectMode==="boolean"&&typeof stream.destroy==="function"&&typeof stream.destroyed==="boolean"}function isReadableStream(stream,{checkOpen=!0}={}){return isStream(stream,{checkOpen})&&(stream.readable||!checkOpen)&&typeof stream.read==="function"&&typeof stream.readable==="boolean"&&typeof stream.readableObjectMode==="boolean"&&typeof stream.destroy==="function"&&typeof stream.destroyed==="boolean"}function isDuplexStream(stream,options){return isWritableStream(stream,options)&&isReadableStream(stream,options)}class c{#t;#n;#r=!1;#e=void 0;constructor(e,t){this.#t=e,this.#n=t}next(){let e=()=>this.#s();return this.#e=this.#e?this.#e.then(e,e):e(),this.#e}return(e){let t=()=>this.#i(e);return this.#e?this.#e.then(t,t):t()}async#s(){if(this.#r)return{done:!0,value:void 0};let e;try{e=await this.#t.read()}catch(t){throw this.#e=void 0,this.#r=!0,this.#t.releaseLock(),t}return e.done&&(this.#e=void 0,this.#r=!0,this.#t.releaseLock()),e}async#i(e){if(this.#r)return{done:!0,value:e};if(this.#r=!0,!this.#n){let t=this.#t.cancel(e);return this.#t.releaseLock(),await t,{done:!0,value:e}}return this.#t.releaseLock(),{done:!0,value:e}}}function i(){return this[n].next()}function o2(r){return this[n].return(r)}function h({preventCancel:r=!1}={}){let e=this.getReader(),t=new c(e,r),s2=Object.create(u);return s2[n]=t,s2}var a,n,u;var init_asyncIterator=__esm(()=>{a=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype);n=Symbol();Object.defineProperty(i,"name",{value:"next"});Object.defineProperty(o2,"name",{value:"return"});u=Object.create(a,{next:{enumerable:!0,configurable:!0,writable:!0,value:i},return:{enumerable:!0,configurable:!0,writable:!0,value:o2}})});var init_fromAnyIterable=()=>{};var init_ponyfill=__esm(()=>{init_asyncIterator();init_fromAnyIterable()});var getAsyncIterable=(stream)=>{if(isReadableStream(stream,{checkOpen:!1})&&nodeImports.on!==void 0)return getStreamIterable(stream);if(typeof stream?.[Symbol.asyncIterator]==="function")return stream;if(toString.call(stream)==="[object ReadableStream]")return h.call(stream);throw TypeError("The first argument must be a Readable, a ReadableStream, or an async iterable.")},toString,getStreamIterable=async function*(stream){let controller=new AbortController,state={};handleStreamEnd(stream,controller,state);try{for await(let[chunk]of nodeImports.on(stream,"data",{signal:controller.signal}))yield chunk}catch(error51){if(state.error!==void 0)throw state.error;else if(!controller.signal.aborted)throw error51}finally{stream.destroy()}},handleStreamEnd=async(stream,controller,state)=>{try{await nodeImports.finished(stream,{cleanup:!0,readable:!0,writable:!1,error:!1})}catch(error51){state.error=error51}finally{controller.abort()}},nodeImports;var init_stream=__esm(()=>{init_ponyfill();({toString}=Object.prototype),nodeImports={}});var getStreamContents=async(stream,{init,convertChunk,getSize,truncateChunk,addChunk,getFinalChunk,finalize:finalize2},{maxBuffer=Number.POSITIVE_INFINITY}={})=>{let asyncIterable=getAsyncIterable(stream),state=init();state.length=0;try{for await(let chunk of asyncIterable){let chunkType=getChunkType(chunk),convertedChunk=convertChunk[chunkType](chunk,state);appendChunk({convertedChunk,state,getSize,truncateChunk,addChunk,maxBuffer})}return appendFinalChunk({state,convertChunk,getSize,truncateChunk,addChunk,getFinalChunk,maxBuffer}),finalize2(state)}catch(error51){let normalizedError=typeof error51==="object"&&error51!==null?error51:Error(error51);throw normalizedError.bufferedData=finalize2(state),normalizedError}},appendFinalChunk=({state,getSize,truncateChunk,addChunk,getFinalChunk,maxBuffer})=>{let convertedChunk=getFinalChunk(state);if(convertedChunk!==void 0)appendChunk({convertedChunk,state,getSize,truncateChunk,addChunk,maxBuffer})},appendChunk=({convertedChunk,state,getSize,truncateChunk,addChunk,maxBuffer})=>{let chunkSize=getSize(convertedChunk),newLength=state.length+chunkSize;if(newLength<=maxBuffer){addNewChunk(convertedChunk,state,addChunk,newLength);return}let truncatedChunk=truncateChunk(convertedChunk,maxBuffer-state.length);if(truncatedChunk!==void 0)addNewChunk(truncatedChunk,state,addChunk,maxBuffer);throw new MaxBufferError},addNewChunk=(convertedChunk,state,addChunk,newLength)=>{state.contents=addChunk(convertedChunk,state,newLength),state.length=newLength},getChunkType=(chunk)=>{let typeOfChunk=typeof chunk;if(typeOfChunk==="string")return"string";if(typeOfChunk!=="object"||chunk===null)return"others";if(globalThis.Buffer?.isBuffer(chunk))return"buffer";let prototypeName=objectToString2.call(chunk);if(prototypeName==="[object ArrayBuffer]")return"arrayBuffer";if(prototypeName==="[object DataView]")return"dataView";if(Number.isInteger(chunk.byteLength)&&Number.isInteger(chunk.byteOffset)&&objectToString2.call(chunk.buffer)==="[object ArrayBuffer]")return"typedArray";return"others"},objectToString2,MaxBufferError;var init_contents=__esm(()=>{init_stream();({toString:objectToString2}=Object.prototype);MaxBufferError=class MaxBufferError extends Error{name="MaxBufferError";constructor(){super("maxBuffer exceeded")}}});var identity3=(value)=>value,noop=()=>{return},getContentsProperty=({contents})=>contents,throwObjectStream=(chunk)=>{throw Error(`Streams in object mode are not supported: ${String(chunk)}`)},getLengthProperty=(convertedChunk)=>convertedChunk.length;async function getStreamAsArray(stream,options){return getStreamContents(stream,arrayMethods,options)}var initArray=()=>({contents:[]}),increment=()=>1,addArrayChunk=(convertedChunk,{contents})=>{return contents.push(convertedChunk),contents},arrayMethods;var init_array=__esm(()=>{init_contents();arrayMethods={init:initArray,convertChunk:{string:identity3,buffer:identity3,arrayBuffer:identity3,dataView:identity3,typedArray:identity3,others:identity3},getSize:increment,truncateChunk:noop,addChunk:addArrayChunk,getFinalChunk:noop,finalize:getContentsProperty}});async function getStreamAsArrayBuffer(stream,options){return getStreamContents(stream,arrayBufferMethods,options)}var initArrayBuffer=()=>({contents:new ArrayBuffer(0)}),useTextEncoder=(chunk)=>textEncoder2.encode(chunk),textEncoder2,useUint8Array=(chunk)=>new Uint8Array(chunk),useUint8ArrayWithOffset=(chunk)=>new Uint8Array(chunk.buffer,chunk.byteOffset,chunk.byteLength),truncateArrayBufferChunk=(convertedChunk,chunkSize)=>convertedChunk.slice(0,chunkSize),addArrayBufferChunk=(convertedChunk,{contents,length:previousLength},length)=>{let newContents=hasArrayBufferResize()?resizeArrayBuffer(contents,length):resizeArrayBufferSlow(contents,length);return new Uint8Array(newContents).set(convertedChunk,previousLength),newContents},resizeArrayBufferSlow=(contents,length)=>{if(length<=contents.byteLength)return contents;let arrayBuffer=new ArrayBuffer(getNewContentsLength(length));return new Uint8Array(arrayBuffer).set(new Uint8Array(contents),0),arrayBuffer},resizeArrayBuffer=(contents,length)=>{if(length<=contents.maxByteLength)return contents.resize(length),contents;let arrayBuffer=new ArrayBuffer(length,{maxByteLength:getNewContentsLength(length)});return new Uint8Array(arrayBuffer).set(new Uint8Array(contents),0),arrayBuffer},getNewContentsLength=(length)=>SCALE_FACTOR**Math.ceil(Math.log(length)/Math.log(SCALE_FACTOR)),SCALE_FACTOR=2,finalizeArrayBuffer=({contents,length})=>hasArrayBufferResize()?contents:contents.slice(0,length),hasArrayBufferResize=()=>("resize"in ArrayBuffer.prototype),arrayBufferMethods;var init_array_buffer=__esm(()=>{init_contents();textEncoder2=new TextEncoder,arrayBufferMethods={init:initArrayBuffer,convertChunk:{string:useTextEncoder,buffer:useUint8Array,arrayBuffer:useUint8Array,dataView:useUint8ArrayWithOffset,typedArray:useUint8ArrayWithOffset,others:throwObjectStream},getSize:getLengthProperty,truncateChunk:truncateArrayBufferChunk,addChunk:addArrayBufferChunk,getFinalChunk:noop,finalize:finalizeArrayBuffer}});async function getStreamAsString(stream,options){return getStreamContents(stream,stringMethods,options)}var initString=()=>({contents:"",textDecoder:new TextDecoder}),useTextDecoder=(chunk,{textDecoder:textDecoder2})=>textDecoder2.decode(chunk,{stream:!0}),addStringChunk=(convertedChunk,{contents})=>contents+convertedChunk,truncateStringChunk=(convertedChunk,chunkSize)=>convertedChunk.slice(0,chunkSize),getFinalStringChunk=({textDecoder:textDecoder2})=>{let finalChunk=textDecoder2.decode();return finalChunk===""?void 0:finalChunk},stringMethods;var init_string=__esm(()=>{init_contents();stringMethods={init:initString,convertChunk:{string:identity3,buffer:useTextDecoder,arrayBuffer:useTextDecoder,dataView:useTextDecoder,typedArray:useTextDecoder,others:throwObjectStream},getSize:getLengthProperty,truncateChunk:truncateStringChunk,addChunk:addStringChunk,getFinalChunk:getFinalStringChunk,finalize:getContentsProperty}});var init_exports=__esm(()=>{init_array();init_array_buffer();init_string();init_contents()});import{on}from"node:events";import{finished}from"node:stream/promises";var init_source=__esm(()=>{init_stream();init_exports();Object.assign(nodeImports,{on,finished})});var handleMaxBuffer=({error:error51,stream,readableObjectMode,lines,encoding,fdNumber})=>{if(!(error51 instanceof MaxBufferError))throw error51;if(fdNumber==="all")return error51;let unit=getMaxBufferUnit(readableObjectMode,lines,encoding);throw error51.maxBufferInfo={fdNumber,unit},stream.destroy(),error51},getMaxBufferUnit=(readableObjectMode,lines,encoding)=>{if(readableObjectMode)return"objects";if(lines)return"lines";if(encoding==="buffer")return"bytes";return"characters"},checkIpcMaxBuffer=(subprocess,ipcOutput,maxBuffer)=>{if(ipcOutput.length!==maxBuffer)return;let error51=new MaxBufferError;throw error51.maxBufferInfo={fdNumber:"ipc"},error51},getMaxBufferMessage=(error51,maxBuffer)=>{let{streamName,threshold,unit}=getMaxBufferInfo(error51,maxBuffer);return`Command's ${streamName} was larger than ${threshold} ${unit}`},getMaxBufferInfo=(error51,maxBuffer)=>{if(error51?.maxBufferInfo===void 0)return{streamName:"output",threshold:maxBuffer[1],unit:"bytes"};let{maxBufferInfo:{fdNumber,unit}}=error51;delete error51.maxBufferInfo;let threshold=getFdSpecificValue(maxBuffer,fdNumber);if(fdNumber==="ipc")return{streamName:"IPC output",threshold,unit:"messages"};return{streamName:getStreamName(fdNumber),threshold,unit}},isMaxBufferSync=(resultError,output2,maxBuffer)=>resultError?.code==="ENOBUFS"&&output2!==null&&output2.some((result)=>result!==null&&result.length>getMaxBufferSync(maxBuffer)),truncateMaxBufferSync=(result,isMaxBuffer,maxBuffer)=>{if(!isMaxBuffer)return result;let maxBufferValue=getMaxBufferSync(maxBuffer);return result.length>maxBufferValue?result.slice(0,maxBufferValue):result},getMaxBufferSync=([,stdoutMaxBuffer])=>stdoutMaxBuffer;var init_max_buffer=__esm(()=>{init_source();init_standard_stream();init_specific()});import{inspect as inspect2}from"node:util";var createMessages=({stdio,all,ipcOutput,originalError,signal,signalDescription,exitCode,escapedCommand,timedOut,isCanceled,isGracefullyCanceled,isMaxBuffer,isForcefullyTerminated,forceKillAfterDelay,killSignal,maxBuffer,timeout,cwd})=>{let errorCode=originalError?.code,prefix=getErrorPrefix({originalError,timedOut,timeout,isMaxBuffer,maxBuffer,errorCode,signal,signalDescription,exitCode,isCanceled,isGracefullyCanceled,isForcefullyTerminated,forceKillAfterDelay,killSignal}),originalMessage=getOriginalMessage(originalError,cwd),suffix=originalMessage===void 0?"":`
|
|
234
|
+
${originalMessage}`,shortMessage=`${prefix}: ${escapedCommand}${suffix}`,messageStdio=all===void 0?[stdio[2],stdio[1]]:[all],message=[shortMessage,...messageStdio,...stdio.slice(3),ipcOutput.map((ipcMessage)=>serializeIpcMessage(ipcMessage)).join(`
|
|
235
|
+
`)].map((messagePart)=>escapeLines(stripFinalNewline(serializeMessagePart(messagePart)))).filter(Boolean).join(`
|
|
236
|
+
|
|
237
|
+
`);return{originalMessage,shortMessage,message}},getErrorPrefix=({originalError,timedOut,timeout,isMaxBuffer,maxBuffer,errorCode,signal,signalDescription,exitCode,isCanceled,isGracefullyCanceled,isForcefullyTerminated,forceKillAfterDelay,killSignal})=>{let forcefulSuffix=getForcefulSuffix(isForcefullyTerminated,forceKillAfterDelay);if(timedOut)return`Command timed out after ${timeout} milliseconds${forcefulSuffix}`;if(isGracefullyCanceled){if(signal===void 0)return`Command was gracefully canceled with exit code ${exitCode}`;return isForcefullyTerminated?`Command was gracefully canceled${forcefulSuffix}`:`Command was gracefully canceled with ${signal} (${signalDescription})`}if(isCanceled)return`Command was canceled${forcefulSuffix}`;if(isMaxBuffer)return`${getMaxBufferMessage(originalError,maxBuffer)}${forcefulSuffix}`;if(errorCode!==void 0)return`Command failed with ${errorCode}${forcefulSuffix}`;if(isForcefullyTerminated)return`Command was killed with ${killSignal} (${getSignalDescription(killSignal)})${forcefulSuffix}`;if(signal!==void 0)return`Command was killed with ${signal} (${signalDescription})`;if(exitCode!==void 0)return`Command failed with exit code ${exitCode}`;return"Command failed"},getForcefulSuffix=(isForcefullyTerminated,forceKillAfterDelay)=>isForcefullyTerminated?` and was forcefully terminated after ${forceKillAfterDelay} milliseconds`:"",getOriginalMessage=(originalError,cwd)=>{if(originalError instanceof DiscardedError)return;let originalMessage=isExecaError(originalError)?originalError.originalMessage:String(originalError?.message??originalError),escapedOriginalMessage=escapeLines(fixCwdError(originalMessage,cwd));return escapedOriginalMessage===""?void 0:escapedOriginalMessage},serializeIpcMessage=(ipcMessage)=>typeof ipcMessage==="string"?ipcMessage:inspect2(ipcMessage),serializeMessagePart=(messagePart)=>Array.isArray(messagePart)?messagePart.map((messageItem)=>stripFinalNewline(serializeMessageItem(messageItem))).filter(Boolean).join(`
|
|
238
|
+
`):serializeMessageItem(messagePart),serializeMessageItem=(messageItem)=>{if(typeof messageItem==="string")return messageItem;if(isUint8Array(messageItem))return uint8ArrayToString(messageItem);return""};var init_message=__esm(()=>{init_strip_final_newline();init_uint_array();init_cwd();init_escape();init_max_buffer();init_signal();init_final_error()});var makeSuccessResult=({command,escapedCommand,stdio,all,ipcOutput,options:{cwd},startTime})=>omitUndefinedProperties({command,escapedCommand,cwd,durationMs:getDurationMs(startTime),failed:!1,timedOut:!1,isCanceled:!1,isGracefullyCanceled:!1,isTerminated:!1,isMaxBuffer:!1,isForcefullyTerminated:!1,exitCode:0,stdout:stdio[1],stderr:stdio[2],all,stdio,ipcOutput,pipedFrom:[]}),makeEarlyError=({error:error51,command,escapedCommand,fileDescriptors,options,startTime,isSync})=>makeError({error:error51,command,escapedCommand,startTime,timedOut:!1,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:!1,isForcefullyTerminated:!1,stdio:Array.from({length:fileDescriptors.length}),ipcOutput:[],options,isSync}),makeError=({error:originalError,command,escapedCommand,startTime,timedOut,isCanceled,isGracefullyCanceled,isMaxBuffer,isForcefullyTerminated,exitCode:rawExitCode,signal:rawSignal,stdio,all,ipcOutput,options:{timeoutDuration,timeout=timeoutDuration,forceKillAfterDelay,killSignal,cwd,maxBuffer},isSync})=>{let{exitCode,signal,signalDescription}=normalizeExitPayload(rawExitCode,rawSignal),{originalMessage,shortMessage,message}=createMessages({stdio,all,ipcOutput,originalError,signal,signalDescription,exitCode,escapedCommand,timedOut,isCanceled,isGracefullyCanceled,isMaxBuffer,isForcefullyTerminated,forceKillAfterDelay,killSignal,maxBuffer,timeout,cwd}),error51=getFinalError(originalError,message,isSync);return Object.assign(error51,getErrorProperties({error:error51,command,escapedCommand,startTime,timedOut,isCanceled,isGracefullyCanceled,isMaxBuffer,isForcefullyTerminated,exitCode,signal,signalDescription,stdio,all,ipcOutput,cwd,originalMessage,shortMessage})),error51},getErrorProperties=({error:error51,command,escapedCommand,startTime,timedOut,isCanceled,isGracefullyCanceled,isMaxBuffer,isForcefullyTerminated,exitCode,signal,signalDescription,stdio,all,ipcOutput,cwd,originalMessage,shortMessage})=>omitUndefinedProperties({shortMessage,originalMessage,command,escapedCommand,cwd,durationMs:getDurationMs(startTime),failed:!0,timedOut,isCanceled,isGracefullyCanceled,isTerminated:signal!==void 0,isMaxBuffer,isForcefullyTerminated,exitCode,signal,signalDescription,code:error51.cause?.code,stdout:stdio[1],stderr:stdio[2],all,stdio,ipcOutput,pipedFrom:[]}),omitUndefinedProperties=(result)=>Object.fromEntries(Object.entries(result).filter(([,value])=>value!==void 0)),normalizeExitPayload=(rawExitCode,rawSignal)=>{let exitCode=rawExitCode===null?void 0:rawExitCode,signal=rawSignal===null?void 0:rawSignal,signalDescription=signal===void 0?void 0:getSignalDescription(rawSignal);return{exitCode,signal,signalDescription}};var init_result=__esm(()=>{init_signal();init_duration();init_final_error();init_message()});function parseNumber(milliseconds){return{days:Math.trunc(milliseconds/86400000),hours:Math.trunc(milliseconds/3600000%24),minutes:Math.trunc(milliseconds/60000%60),seconds:Math.trunc(milliseconds/1000%60),milliseconds:Math.trunc(milliseconds%1000),microseconds:Math.trunc(toZeroIfInfinity(milliseconds*1000)%1000),nanoseconds:Math.trunc(toZeroIfInfinity(milliseconds*1e6)%1000)}}function parseBigint(milliseconds){return{days:milliseconds/86400000n,hours:milliseconds/3600000n%24n,minutes:milliseconds/60000n%60n,seconds:milliseconds/1000n%60n,milliseconds:milliseconds%1000n,microseconds:0n,nanoseconds:0n}}function parseMilliseconds(milliseconds){switch(typeof milliseconds){case"number":{if(Number.isFinite(milliseconds))return parseNumber(milliseconds);break}case"bigint":return parseBigint(milliseconds)}throw TypeError("Expected a finite number or bigint")}var toZeroIfInfinity=(value)=>Number.isFinite(value)?value:0;function prettyMilliseconds(milliseconds,options){let isBigInt=typeof milliseconds==="bigint";if(!isBigInt&&!Number.isFinite(milliseconds))throw TypeError("Expected a finite number or bigint");options={...options};let sign=milliseconds<0?"-":"";if(milliseconds=milliseconds<0?-milliseconds:milliseconds,options.colonNotation)options.compact=!1,options.formatSubMilliseconds=!1,options.separateMilliseconds=!1,options.verbose=!1;if(options.compact)options.unitCount=1,options.secondsDecimalDigits=0,options.millisecondsDecimalDigits=0;let result=[],floorDecimals=(value,decimalDigits)=>{let flooredInterimValue=Math.floor(value*10**decimalDigits+SECOND_ROUNDING_EPSILON);return(Math.round(flooredInterimValue)/10**decimalDigits).toFixed(decimalDigits)},add=(value,long,short,valueString)=>{if((result.length===0||!options.colonNotation)&&isZero(value)&&!(options.colonNotation&&short==="m"))return;if(valueString??=String(value),options.colonNotation){let wholeDigits=valueString.includes(".")?valueString.split(".")[0].length:valueString.length,minLength=result.length>0?2:1;valueString="0".repeat(Math.max(0,minLength-wholeDigits))+valueString}else valueString+=options.verbose?" "+pluralize(long,value):short;result.push(valueString)},parsed=parseMilliseconds(milliseconds),days=BigInt(parsed.days);if(options.hideYearAndDays)add(BigInt(days)*24n+BigInt(parsed.hours),"hour","h");else{if(options.hideYear)add(days,"day","d");else add(days/365n,"year","y"),add(days%365n,"day","d");add(Number(parsed.hours),"hour","h")}if(add(Number(parsed.minutes),"minute","m"),!options.hideSeconds)if(options.separateMilliseconds||options.formatSubMilliseconds||!options.colonNotation&&milliseconds<1000&&!options.subSecondsAsDecimals){let seconds=Number(parsed.seconds),milliseconds2=Number(parsed.milliseconds),microseconds=Number(parsed.microseconds),nanoseconds=Number(parsed.nanoseconds);if(add(seconds,"second","s"),options.formatSubMilliseconds)add(milliseconds2,"millisecond","ms"),add(microseconds,"microsecond","µs"),add(nanoseconds,"nanosecond","ns");else{let millisecondsAndBelow=milliseconds2+microseconds/1000+nanoseconds/1e6,millisecondsDecimalDigits=typeof options.millisecondsDecimalDigits==="number"?options.millisecondsDecimalDigits:0,roundedMilliseconds=millisecondsAndBelow>=1?Math.round(millisecondsAndBelow):Math.ceil(millisecondsAndBelow),maximumMilliseconds=1000-10**-millisecondsDecimalDigits,millisecondsString=millisecondsDecimalDigits?Math.min(millisecondsAndBelow,maximumMilliseconds).toFixed(millisecondsDecimalDigits):Math.min(roundedMilliseconds,maximumMilliseconds);add(Number.parseFloat(millisecondsString),"millisecond","ms",millisecondsString)}}else{let seconds=(isBigInt?Number(milliseconds%ONE_DAY_IN_MILLISECONDS):milliseconds)/1000%60,secondsDecimalDigits=typeof options.secondsDecimalDigits==="number"?options.secondsDecimalDigits:1,secondsFixed=floorDecimals(seconds,secondsDecimalDigits),secondsString=options.keepDecimalsOnWholeSeconds?secondsFixed:secondsFixed.replace(/\.0+$/,"");add(Number.parseFloat(secondsString),"second","s",secondsString)}if(result.length===0)return sign+"0"+(options.verbose?" milliseconds":"ms");let separator=options.colonNotation?":":" ";if(typeof options.unitCount==="number")result=result.slice(0,Math.max(options.unitCount,1));return sign+result.join(separator)}var isZero=(value)=>value===0||value===0n,pluralize=(word,count2)=>count2===1||count2===1n?word:`${word}s`,SECOND_ROUNDING_EPSILON=0.0000001,ONE_DAY_IN_MILLISECONDS;var init_pretty_ms=__esm(()=>{ONE_DAY_IN_MILLISECONDS=24n*60n*60n*1000n});var logError=(result,verboseInfo)=>{if(result.failed)verboseLog({type:"error",verboseMessage:result.shortMessage,verboseInfo,result})};var init_error=__esm(()=>{init_log()});var logResult=(result,verboseInfo)=>{if(!isVerbose(verboseInfo))return;logError(result,verboseInfo),logDuration(result,verboseInfo)},logDuration=(result,verboseInfo)=>{let verboseMessage=`(done in ${prettyMilliseconds(result.durationMs)})`;verboseLog({type:"duration",verboseMessage,verboseInfo,result})};var init_complete=__esm(()=>{init_pretty_ms();init_values();init_log();init_error()});var handleResult=(result,verboseInfo,{reject})=>{if(logResult(result,verboseInfo),result.failed&&reject)throw result;return result};var init_reject=__esm(()=>{init_complete()});var getStdioItemType=(value,optionName)=>{if(isAsyncGenerator(value))return"asyncGenerator";if(isSyncGenerator(value))return"generator";if(isUrl(value))return"fileUrl";if(isFilePathObject(value))return"filePath";if(isWebStream(value))return"webStream";if(isStream(value,{checkOpen:!1}))return"native";if(isUint8Array(value))return"uint8Array";if(isAsyncIterableObject(value))return"asyncIterable";if(isIterableObject(value))return"iterable";if(isTransformStream(value))return getTransformStreamType({transform:value},optionName);if(isTransformOptions(value))return getTransformObjectType(value,optionName);return"native"},getTransformObjectType=(value,optionName)=>{if(isDuplexStream(value.transform,{checkOpen:!1}))return getDuplexType(value,optionName);if(isTransformStream(value.transform))return getTransformStreamType(value,optionName);return getGeneratorObjectType(value,optionName)},getDuplexType=(value,optionName)=>{return validateNonGeneratorType(value,optionName,"Duplex stream"),"duplex"},getTransformStreamType=(value,optionName)=>{return validateNonGeneratorType(value,optionName,"web TransformStream"),"webTransform"},validateNonGeneratorType=({final,binary,objectMode},optionName,typeName)=>{checkUndefinedOption(final,`${optionName}.final`,typeName),checkUndefinedOption(binary,`${optionName}.binary`,typeName),checkBooleanOption(objectMode,`${optionName}.objectMode`)},checkUndefinedOption=(value,optionName,typeName)=>{if(value!==void 0)throw TypeError(`The \`${optionName}\` option can only be defined when using a generator, not a ${typeName}.`)},getGeneratorObjectType=({transform:transform2,final,binary,objectMode},optionName)=>{if(transform2!==void 0&&!isGenerator(transform2))throw TypeError(`The \`${optionName}.transform\` option must be a generator, a Duplex stream or a web TransformStream.`);if(isDuplexStream(final,{checkOpen:!1}))throw TypeError(`The \`${optionName}.final\` option must not be a Duplex stream.`);if(isTransformStream(final))throw TypeError(`The \`${optionName}.final\` option must not be a web TransformStream.`);if(final!==void 0&&!isGenerator(final))throw TypeError(`The \`${optionName}.final\` option must be a generator.`);return checkBooleanOption(binary,`${optionName}.binary`),checkBooleanOption(objectMode,`${optionName}.objectMode`),isAsyncGenerator(transform2)||isAsyncGenerator(final)?"asyncGenerator":"generator"},checkBooleanOption=(value,optionName)=>{if(value!==void 0&&typeof value!=="boolean")throw TypeError(`The \`${optionName}\` option must use a boolean.`)},isGenerator=(value)=>isAsyncGenerator(value)||isSyncGenerator(value),isAsyncGenerator=(value)=>Object.prototype.toString.call(value)==="[object AsyncGeneratorFunction]",isSyncGenerator=(value)=>Object.prototype.toString.call(value)==="[object GeneratorFunction]",isTransformOptions=(value)=>isPlainObject3(value)&&(value.transform!==void 0||value.final!==void 0),isUrl=(value)=>Object.prototype.toString.call(value)==="[object URL]",isRegularUrl=(value)=>isUrl(value)&&value.protocol!=="file:",isFilePathObject=(value)=>isPlainObject3(value)&&Object.keys(value).length>0&&Object.keys(value).every((key)=>FILE_PATH_KEYS.has(key))&&isFilePathString(value.file),FILE_PATH_KEYS,isFilePathString=(file2)=>typeof file2==="string",isUnknownStdioString=(type,value)=>type==="native"&&typeof value==="string"&&!KNOWN_STDIO_STRINGS.has(value),KNOWN_STDIO_STRINGS,isReadableStream2=(value)=>Object.prototype.toString.call(value)==="[object ReadableStream]",isWritableStream2=(value)=>Object.prototype.toString.call(value)==="[object WritableStream]",isWebStream=(value)=>isReadableStream2(value)||isWritableStream2(value),isTransformStream=(value)=>isReadableStream2(value?.readable)&&isWritableStream2(value?.writable),isAsyncIterableObject=(value)=>isObject2(value)&&typeof value[Symbol.asyncIterator]==="function",isIterableObject=(value)=>isObject2(value)&&typeof value[Symbol.iterator]==="function",isObject2=(value)=>typeof value==="object"&&value!==null,TRANSFORM_TYPES,FILE_TYPES,SPECIAL_DUPLICATE_TYPES_SYNC,SPECIAL_DUPLICATE_TYPES,FORBID_DUPLICATE_TYPES,TYPE_TO_MESSAGE;var init_type=__esm(()=>{init_uint_array();FILE_PATH_KEYS=new Set(["file","append"]),KNOWN_STDIO_STRINGS=new Set(["ipc","ignore","inherit","overlapped","pipe"]),TRANSFORM_TYPES=new Set(["generator","asyncGenerator","duplex","webTransform"]),FILE_TYPES=new Set(["fileUrl","filePath","fileNumber"]),SPECIAL_DUPLICATE_TYPES_SYNC=new Set(["fileUrl","filePath"]),SPECIAL_DUPLICATE_TYPES=new Set([...SPECIAL_DUPLICATE_TYPES_SYNC,"webStream","nodeStream"]),FORBID_DUPLICATE_TYPES=new Set(["webTransform","duplex"]),TYPE_TO_MESSAGE={generator:"a generator",asyncGenerator:"an async generator",fileUrl:"a file URL",filePath:"a file path string",fileNumber:"a file descriptor number",webStream:"a web stream",nodeStream:"a Node.js stream",webTransform:"a web TransformStream",duplex:"a Duplex stream",native:"any value",iterable:"an iterable",asyncIterable:"an async iterable",string:"a string",uint8Array:"a Uint8Array"}});var getTransformObjectModes=(objectMode,index,newTransforms,direction)=>direction==="output"?getOutputObjectModes(objectMode,index,newTransforms):getInputObjectModes(objectMode,index,newTransforms),getOutputObjectModes=(objectMode,index,newTransforms)=>{let writableObjectMode=index!==0&&newTransforms[index-1].value.readableObjectMode;return{writableObjectMode,readableObjectMode:objectMode??writableObjectMode}},getInputObjectModes=(objectMode,index,newTransforms)=>{let writableObjectMode=index===0?objectMode===!0:newTransforms[index-1].value.readableObjectMode,readableObjectMode=index!==newTransforms.length-1&&(objectMode??writableObjectMode);return{writableObjectMode,readableObjectMode}},getFdObjectMode=(stdioItems,direction)=>{let lastTransform=stdioItems.findLast(({type})=>TRANSFORM_TYPES.has(type));if(lastTransform===void 0)return!1;return direction==="input"?lastTransform.value.writableObjectMode:lastTransform.value.readableObjectMode};var init_object_mode=__esm(()=>{init_type()});var normalizeTransforms=(stdioItems,optionName,direction,options)=>[...stdioItems.filter(({type})=>!TRANSFORM_TYPES.has(type)),...getTransforms(stdioItems,optionName,direction,options)],getTransforms=(stdioItems,optionName,direction,{encoding})=>{let transforms2=stdioItems.filter(({type})=>TRANSFORM_TYPES.has(type)),newTransforms=Array.from({length:transforms2.length});for(let[index,stdioItem]of Object.entries(transforms2))newTransforms[index]=normalizeTransform({stdioItem,index:Number(index),newTransforms,optionName,direction,encoding});return sortTransforms(newTransforms,direction)},normalizeTransform=({stdioItem,stdioItem:{type},index,newTransforms,optionName,direction,encoding})=>{if(type==="duplex")return normalizeDuplex({stdioItem,optionName});if(type==="webTransform")return normalizeTransformStream({stdioItem,index,newTransforms,direction});return normalizeGenerator({stdioItem,index,newTransforms,direction,encoding})},normalizeDuplex=({stdioItem,stdioItem:{value:{transform:transform2,transform:{writableObjectMode,readableObjectMode},objectMode=readableObjectMode}},optionName})=>{if(objectMode&&!readableObjectMode)throw TypeError(`The \`${optionName}.objectMode\` option can only be \`true\` if \`new Duplex({objectMode: true})\` is used.`);if(!objectMode&&readableObjectMode)throw TypeError(`The \`${optionName}.objectMode\` option cannot be \`false\` if \`new Duplex({objectMode: true})\` is used.`);return{...stdioItem,value:{transform:transform2,writableObjectMode,readableObjectMode}}},normalizeTransformStream=({stdioItem,stdioItem:{value},index,newTransforms,direction})=>{let{transform:transform2,objectMode}=isPlainObject3(value)?value:{transform:value},{writableObjectMode,readableObjectMode}=getTransformObjectModes(objectMode,index,newTransforms,direction);return{...stdioItem,value:{transform:transform2,writableObjectMode,readableObjectMode}}},normalizeGenerator=({stdioItem,stdioItem:{value},index,newTransforms,direction,encoding})=>{let{transform:transform2,final,binary:binaryOption=!1,preserveNewlines=!1,objectMode}=isPlainObject3(value)?value:{transform:value},binary=binaryOption||BINARY_ENCODINGS.has(encoding),{writableObjectMode,readableObjectMode}=getTransformObjectModes(objectMode,index,newTransforms,direction);return{...stdioItem,value:{transform:transform2,final,binary,preserveNewlines,writableObjectMode,readableObjectMode}}},sortTransforms=(newTransforms,direction)=>direction==="input"?newTransforms.reverse():newTransforms;var init_normalize=__esm(()=>{init_encoding_option();init_type();init_object_mode()});import process8 from"node:process";var getStreamDirection=(stdioItems,fdNumber,optionName)=>{let directions=stdioItems.map((stdioItem)=>getStdioItemDirection(stdioItem,fdNumber));if(directions.includes("input")&&directions.includes("output"))throw TypeError(`The \`${optionName}\` option must not be an array of both readable and writable values.`);return directions.find(Boolean)??DEFAULT_DIRECTION},getStdioItemDirection=({type,value},fdNumber)=>KNOWN_DIRECTIONS[fdNumber]??guessStreamDirection[type](value),KNOWN_DIRECTIONS,anyDirection=()=>{return},alwaysInput=()=>"input",guessStreamDirection,getStandardStreamDirection=(value)=>{if([0,process8.stdin].includes(value))return"input";if([1,2,process8.stdout,process8.stderr].includes(value))return"output"},DEFAULT_DIRECTION="output";var init_direction=__esm(()=>{init_type();KNOWN_DIRECTIONS=["input","output","output"],guessStreamDirection={generator:anyDirection,asyncGenerator:anyDirection,fileUrl:anyDirection,filePath:anyDirection,iterable:alwaysInput,asyncIterable:alwaysInput,uint8Array:alwaysInput,webStream:(value)=>isWritableStream2(value)?"output":"input",nodeStream(value){if(!isReadableStream(value,{checkOpen:!1}))return"output";return isWritableStream(value,{checkOpen:!1})?void 0:"input"},webTransform:anyDirection,duplex:anyDirection,native(value){let standardStreamDirection=getStandardStreamDirection(value);if(standardStreamDirection!==void 0)return standardStreamDirection;if(isStream(value,{checkOpen:!1}))return guessStreamDirection.nodeStream(value)}}});var normalizeIpcStdioArray=(stdioArray,ipc)=>ipc&&!stdioArray.includes("ipc")?[...stdioArray,"ipc"]:stdioArray;var normalizeStdioOption=({stdio,ipc,buffer,...options},verboseInfo,isSync)=>{let stdioArray=getStdioArray(stdio,options).map((stdioOption,fdNumber)=>addDefaultValue2(stdioOption,fdNumber));return isSync?normalizeStdioSync(stdioArray,buffer,verboseInfo):normalizeIpcStdioArray(stdioArray,ipc)},getStdioArray=(stdio,options)=>{if(stdio===void 0)return STANDARD_STREAMS_ALIASES.map((alias)=>options[alias]);if(hasAlias(options))throw Error(`It's not possible to provide \`stdio\` in combination with one of ${STANDARD_STREAMS_ALIASES.map((alias)=>`\`${alias}\``).join(", ")}`);if(typeof stdio==="string")return[stdio,stdio,stdio];if(!Array.isArray(stdio))throw TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof stdio}\``);let length=Math.max(stdio.length,STANDARD_STREAMS_ALIASES.length);return Array.from({length},(_,fdNumber)=>stdio[fdNumber])},hasAlias=(options)=>STANDARD_STREAMS_ALIASES.some((alias)=>options[alias]!==void 0),addDefaultValue2=(stdioOption,fdNumber)=>{if(Array.isArray(stdioOption))return stdioOption.map((item)=>addDefaultValue2(item,fdNumber));if(stdioOption===null||stdioOption===void 0)return fdNumber>=STANDARD_STREAMS_ALIASES.length?"ignore":"pipe";return stdioOption},normalizeStdioSync=(stdioArray,buffer,verboseInfo)=>stdioArray.map((stdioOption,fdNumber)=>!buffer[fdNumber]&&fdNumber!==0&&!isFullVerbose(verboseInfo,fdNumber)&&isOutputPipeOnly(stdioOption)?"ignore":stdioOption),isOutputPipeOnly=(stdioOption)=>stdioOption==="pipe"||Array.isArray(stdioOption)&&stdioOption.every((item)=>item==="pipe");var init_stdio_option=__esm(()=>{init_standard_stream();init_values()});import{readFileSync}from"node:fs";import tty2 from"node:tty";var handleNativeStream=({stdioItem,stdioItem:{type},isStdioArray,fdNumber,direction,isSync})=>{if(!isStdioArray||type!=="native")return stdioItem;return isSync?handleNativeStreamSync({stdioItem,fdNumber,direction}):handleNativeStreamAsync({stdioItem,fdNumber})},handleNativeStreamSync=({stdioItem,stdioItem:{value,optionName},fdNumber,direction})=>{let targetFd=getTargetFd({value,optionName,fdNumber,direction});if(targetFd!==void 0)return targetFd;if(isStream(value,{checkOpen:!1}))throw TypeError(`The \`${optionName}: Stream\` option cannot both be an array and include a stream with synchronous methods.`);return stdioItem},getTargetFd=({value,optionName,fdNumber,direction})=>{let targetFdNumber=getTargetFdNumber(value,fdNumber);if(targetFdNumber===void 0)return;if(direction==="output")return{type:"fileNumber",value:targetFdNumber,optionName};if(tty2.isatty(targetFdNumber))throw TypeError(`The \`${optionName}: ${serializeOptionValue(value)}\` option is invalid: it cannot be a TTY with synchronous methods.`);return{type:"uint8Array",value:bufferToUint8Array(readFileSync(targetFdNumber)),optionName}},getTargetFdNumber=(value,fdNumber)=>{if(value==="inherit")return fdNumber;if(typeof value==="number")return value;let standardStreamIndex=STANDARD_STREAMS.indexOf(value);if(standardStreamIndex!==-1)return standardStreamIndex},handleNativeStreamAsync=({stdioItem,stdioItem:{value,optionName},fdNumber})=>{if(value==="inherit")return{type:"nodeStream",value:getStandardStream(fdNumber,value,optionName),optionName};if(typeof value==="number")return{type:"nodeStream",value:getStandardStream(value,value,optionName),optionName};if(isStream(value,{checkOpen:!1}))return{type:"nodeStream",value,optionName};return stdioItem},getStandardStream=(fdNumber,value,optionName)=>{let standardStream=STANDARD_STREAMS[fdNumber];if(standardStream===void 0)throw TypeError(`The \`${optionName}: ${value}\` option is invalid: no such standard stream.`);return standardStream};var init_native=__esm(()=>{init_standard_stream();init_uint_array();init_fd_options()});var handleInputOptions=({input,inputFile},fdNumber)=>fdNumber===0?[...handleInputOption(input),...handleInputFileOption(inputFile)]:[],handleInputOption=(input)=>input===void 0?[]:[{type:getInputType(input),value:input,optionName:"input"}],getInputType=(input)=>{if(isReadableStream(input,{checkOpen:!1}))return"nodeStream";if(typeof input==="string")return"string";if(isUint8Array(input))return"uint8Array";throw Error("The `input` option must be a string, a Uint8Array or a Node.js Readable stream.")},handleInputFileOption=(inputFile)=>inputFile===void 0?[]:[{...getInputFileType(inputFile),optionName:"inputFile"}],getInputFileType=(inputFile)=>{if(isUrl(inputFile))return{type:"fileUrl",value:inputFile};if(isFilePathString(inputFile))return{type:"filePath",value:{file:inputFile}};throw Error("The `inputFile` option must be a file path string or a file URL.")};var init_input_option=__esm(()=>{init_uint_array();init_type()});var filterDuplicates=(stdioItems)=>stdioItems.filter((stdioItemOne,indexOne)=>stdioItems.every((stdioItemTwo,indexTwo)=>stdioItemOne.value!==stdioItemTwo.value||indexOne>=indexTwo||stdioItemOne.type==="generator"||stdioItemOne.type==="asyncGenerator")),getDuplicateStream=({stdioItem:{type,value,optionName},direction,fileDescriptors,isSync})=>{let otherStdioItems=getOtherStdioItems(fileDescriptors,type);if(otherStdioItems.length===0)return;if(isSync){validateDuplicateStreamSync({otherStdioItems,type,value,optionName,direction});return}if(SPECIAL_DUPLICATE_TYPES.has(type))return getDuplicateStreamInstance({otherStdioItems,type,value,optionName,direction});if(FORBID_DUPLICATE_TYPES.has(type))validateDuplicateTransform({otherStdioItems,type,value,optionName})},getOtherStdioItems=(fileDescriptors,type)=>fileDescriptors.flatMap(({direction,stdioItems})=>stdioItems.filter((stdioItem)=>stdioItem.type===type).map((stdioItem)=>({...stdioItem,direction}))),validateDuplicateStreamSync=({otherStdioItems,type,value,optionName,direction})=>{if(SPECIAL_DUPLICATE_TYPES_SYNC.has(type))getDuplicateStreamInstance({otherStdioItems,type,value,optionName,direction})},getDuplicateStreamInstance=({otherStdioItems,type,value,optionName,direction})=>{let duplicateStdioItems=otherStdioItems.filter((stdioItem)=>hasSameValue(stdioItem,value));if(duplicateStdioItems.length===0)return;let differentStdioItem=duplicateStdioItems.find((stdioItem)=>stdioItem.direction!==direction);return throwOnDuplicateStream(differentStdioItem,optionName,type),direction==="output"?duplicateStdioItems[0].stream:void 0},hasSameValue=({type,value},secondValue)=>{if(type==="filePath")return value.file===secondValue.file;if(type==="fileUrl")return value.href===secondValue.href;return value===secondValue},validateDuplicateTransform=({otherStdioItems,type,value,optionName})=>{let duplicateStdioItem=otherStdioItems.find(({value:{transform:transform2}})=>transform2===value.transform);throwOnDuplicateStream(duplicateStdioItem,optionName,type)},throwOnDuplicateStream=(stdioItem,optionName,type)=>{if(stdioItem!==void 0)throw TypeError(`The \`${stdioItem.optionName}\` and \`${optionName}\` options must not target ${TYPE_TO_MESSAGE[type]} that is the same.`)};var init_duplicate=__esm(()=>{init_type()});var handleStdio=(addProperties,options,verboseInfo,isSync)=>{let initialFileDescriptors=normalizeStdioOption(options,verboseInfo,isSync).map((stdioOption,fdNumber)=>getFileDescriptor({stdioOption,fdNumber,options,isSync})),fileDescriptors=getFinalFileDescriptors({initialFileDescriptors,addProperties,options,isSync});return options.stdio=fileDescriptors.map(({stdioItems})=>forwardStdio(stdioItems)),fileDescriptors},getFileDescriptor=({stdioOption,fdNumber,options,isSync})=>{let optionName=getStreamName(fdNumber),{stdioItems:initialStdioItems,isStdioArray}=initializeStdioItems({stdioOption,fdNumber,options,optionName}),direction=getStreamDirection(initialStdioItems,fdNumber,optionName),stdioItems=initialStdioItems.map((stdioItem)=>handleNativeStream({stdioItem,isStdioArray,fdNumber,direction,isSync})),normalizedStdioItems=normalizeTransforms(stdioItems,optionName,direction,options),objectMode=getFdObjectMode(normalizedStdioItems,direction);return validateFileObjectMode(normalizedStdioItems,objectMode),{direction,objectMode,stdioItems:normalizedStdioItems}},initializeStdioItems=({stdioOption,fdNumber,options,optionName})=>{let initialStdioItems=[...(Array.isArray(stdioOption)?stdioOption:[stdioOption]).map((value)=>initializeStdioItem(value,optionName)),...handleInputOptions(options,fdNumber)],stdioItems=filterDuplicates(initialStdioItems),isStdioArray=stdioItems.length>1;return validateStdioArray(stdioItems,isStdioArray,optionName),validateStreams(stdioItems),{stdioItems,isStdioArray}},initializeStdioItem=(value,optionName)=>({type:getStdioItemType(value,optionName),value,optionName}),validateStdioArray=(stdioItems,isStdioArray,optionName)=>{if(stdioItems.length===0)throw TypeError(`The \`${optionName}\` option must not be an empty array.`);if(!isStdioArray)return;for(let{value,optionName:optionName2}of stdioItems)if(INVALID_STDIO_ARRAY_OPTIONS.has(value))throw Error(`The \`${optionName2}\` option must not include \`${value}\`.`)},INVALID_STDIO_ARRAY_OPTIONS,validateStreams=(stdioItems)=>{for(let stdioItem of stdioItems)validateFileStdio(stdioItem)},validateFileStdio=({type,value,optionName})=>{if(isRegularUrl(value))throw TypeError(`The \`${optionName}: URL\` option must use the \`file:\` scheme.
|
|
239
|
+
For example, you can use the \`pathToFileURL()\` method of the \`url\` core module.`);if(isUnknownStdioString(type,value))throw TypeError(`The \`${optionName}: { file: '...' }\` option must be used instead of \`${optionName}: '...'\`.`)},validateFileObjectMode=(stdioItems,objectMode)=>{if(!objectMode)return;let fileStdioItem=stdioItems.find(({type})=>FILE_TYPES.has(type));if(fileStdioItem!==void 0)throw TypeError(`The \`${fileStdioItem.optionName}\` option cannot use both files and transforms in objectMode.`)},getFinalFileDescriptors=({initialFileDescriptors,addProperties,options,isSync})=>{let fileDescriptors=[];try{for(let fileDescriptor of initialFileDescriptors)fileDescriptors.push(getFinalFileDescriptor({fileDescriptor,fileDescriptors,addProperties,options,isSync}));return fileDescriptors}catch(error51){throw cleanupCustomStreams(fileDescriptors),error51}},getFinalFileDescriptor=({fileDescriptor:{direction,objectMode,stdioItems},fileDescriptors,addProperties,options,isSync})=>{let finalStdioItems=stdioItems.map((stdioItem)=>addStreamProperties({stdioItem,addProperties,direction,options,fileDescriptors,isSync}));return{direction,objectMode,stdioItems:finalStdioItems}},addStreamProperties=({stdioItem,addProperties,direction,options,fileDescriptors,isSync})=>{let duplicateStream=getDuplicateStream({stdioItem,direction,fileDescriptors,isSync});if(duplicateStream!==void 0)return{...stdioItem,stream:duplicateStream};return{...stdioItem,...addProperties[direction][stdioItem.type](stdioItem,options)}},cleanupCustomStreams=(fileDescriptors)=>{for(let{stdioItems}of fileDescriptors)for(let{stream}of stdioItems)if(stream!==void 0&&!isStandardStream(stream))stream.destroy()},forwardStdio=(stdioItems)=>{if(stdioItems.length>1)return stdioItems.some(({value:value2})=>value2==="overlapped")?"overlapped":"pipe";let[{type,value}]=stdioItems;return type==="native"?value:"pipe"};var init_handle=__esm(()=>{init_standard_stream();init_normalize();init_object_mode();init_type();init_direction();init_stdio_option();init_native();init_input_option();init_duplicate();INVALID_STDIO_ARRAY_OPTIONS=new Set(["ignore","ipc"])});import{readFileSync as readFileSync2}from"node:fs";var handleStdioSync=(options,verboseInfo)=>handleStdio(addPropertiesSync,options,verboseInfo,!0),forbiddenIfSync=({type,optionName})=>{throwInvalidSyncValue(optionName,TYPE_TO_MESSAGE[type])},forbiddenNativeIfSync=({optionName,value})=>{if(value==="ipc"||value==="overlapped")throwInvalidSyncValue(optionName,`"${value}"`);return{}},throwInvalidSyncValue=(optionName,value)=>{throw TypeError(`The \`${optionName}\` option cannot be ${value} with synchronous methods.`)},addProperties,addPropertiesSync;var init_handle_sync=__esm(()=>{init_uint_array();init_handle();init_type();addProperties={generator(){},asyncGenerator:forbiddenIfSync,webStream:forbiddenIfSync,nodeStream:forbiddenIfSync,webTransform:forbiddenIfSync,duplex:forbiddenIfSync,asyncIterable:forbiddenIfSync,native:forbiddenNativeIfSync},addPropertiesSync={input:{...addProperties,fileUrl:({value})=>({contents:[bufferToUint8Array(readFileSync2(value))]}),filePath:({value:{file:file2}})=>({contents:[bufferToUint8Array(readFileSync2(file2))]}),fileNumber:forbiddenIfSync,iterable:({value})=>({contents:[...value]}),string:({value})=>({contents:[value]}),uint8Array:({value})=>({contents:[value]})},output:{...addProperties,fileUrl:({value})=>({path:value}),filePath:({value:{file:file2,append}})=>({path:file2,append}),fileNumber:({value})=>({path:value}),iterable:forbiddenIfSync,string:forbiddenIfSync,uint8Array:forbiddenIfSync}}});var stripNewline=(value,{stripFinalNewline:stripFinalNewline2},fdNumber)=>getStripFinalNewline(stripFinalNewline2,fdNumber)&&value!==void 0&&!Array.isArray(value)?stripFinalNewline(value):value,getStripFinalNewline=(stripFinalNewline2,fdNumber)=>fdNumber==="all"?stripFinalNewline2[1]||stripFinalNewline2[2]:stripFinalNewline2[fdNumber];var init_strip_newline=__esm(()=>{init_strip_final_newline()});var getSplitLinesGenerator=(binary,preserveNewlines,skipped,state)=>binary||skipped?void 0:initializeSplitLines(preserveNewlines,state),splitLinesSync=(chunk,preserveNewlines,objectMode)=>objectMode?chunk.flatMap((item)=>splitLinesItemSync(item,preserveNewlines)):splitLinesItemSync(chunk,preserveNewlines),splitLinesItemSync=(chunk,preserveNewlines)=>{let{transform:transform2,final}=initializeSplitLines(preserveNewlines,{});return[...transform2(chunk),...final()]},initializeSplitLines=(preserveNewlines,state)=>{return state.previousChunks="",{transform:splitGenerator.bind(void 0,state,preserveNewlines),final:linesFinal.bind(void 0,state)}},splitGenerator=function*(state,preserveNewlines,chunk){if(typeof chunk!=="string"){yield chunk;return}let{previousChunks}=state,start=-1;for(let end=0;end<chunk.length;end+=1)if(chunk[end]===`
|
|
240
|
+
`){let newlineLength=getNewlineLength(chunk,end,preserveNewlines,state),line=chunk.slice(start+1,end+1-newlineLength);if(previousChunks.length>0)line=concatString(previousChunks,line),previousChunks="";yield line,start=end}if(start!==chunk.length-1)previousChunks=concatString(previousChunks,chunk.slice(start+1));state.previousChunks=previousChunks},getNewlineLength=(chunk,end,preserveNewlines,state)=>{if(preserveNewlines)return 0;return state.isWindowsNewline=end!==0&&chunk[end-1]==="\r",state.isWindowsNewline?2:1},linesFinal=function*({previousChunks}){if(previousChunks.length>0)yield previousChunks},getAppendNewlineGenerator=({binary,preserveNewlines,readableObjectMode,state})=>binary||preserveNewlines||readableObjectMode?void 0:{transform:appendNewlineGenerator.bind(void 0,state)},appendNewlineGenerator=function*({isWindowsNewline=!1},chunk){let{unixNewline,windowsNewline,LF:LF2,concatBytes}=typeof chunk==="string"?linesStringInfo:linesUint8ArrayInfo;if(chunk.at(-1)===LF2){yield chunk;return}yield concatBytes(chunk,isWindowsNewline?windowsNewline:unixNewline)},concatString=(firstChunk,secondChunk)=>`${firstChunk}${secondChunk}`,linesStringInfo,concatUint8Array=(firstChunk,secondChunk)=>{let chunk=new Uint8Array(firstChunk.length+secondChunk.length);return chunk.set(firstChunk,0),chunk.set(secondChunk,firstChunk.length),chunk},linesUint8ArrayInfo;var init_split=__esm(()=>{linesStringInfo={windowsNewline:`\r
|
|
241
|
+
`,unixNewline:`
|
|
242
|
+
`,LF:`
|
|
243
|
+
`,concatBytes:concatString},linesUint8ArrayInfo={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:concatUint8Array}});import{Buffer as Buffer2}from"node:buffer";var getValidateTransformInput=(writableObjectMode,optionName)=>writableObjectMode?void 0:validateStringTransformInput.bind(void 0,optionName),validateStringTransformInput=function*(optionName,chunk){if(typeof chunk!=="string"&&!isUint8Array(chunk)&&!Buffer2.isBuffer(chunk))throw TypeError(`The \`${optionName}\` option's transform must use "objectMode: true" to receive as input: ${typeof chunk}.`);yield chunk},getValidateTransformReturn=(readableObjectMode,optionName)=>readableObjectMode?validateObjectTransformReturn.bind(void 0,optionName):validateStringTransformReturn.bind(void 0,optionName),validateObjectTransformReturn=function*(optionName,chunk){validateEmptyReturn(optionName,chunk),yield chunk},validateStringTransformReturn=function*(optionName,chunk){if(validateEmptyReturn(optionName,chunk),typeof chunk!=="string"&&!isUint8Array(chunk))throw TypeError(`The \`${optionName}\` option's function must yield a string or an Uint8Array, not ${typeof chunk}.`);yield chunk},validateEmptyReturn=(optionName,chunk)=>{if(chunk===null||chunk===void 0)throw TypeError(`The \`${optionName}\` option's function must not call \`yield ${chunk}\`.
|
|
244
|
+
Instead, \`yield\` should either be called with a value, or not be called at all. For example:
|
|
245
|
+
if (condition) { yield value; }`)};var init_validate=__esm(()=>{init_uint_array()});import{Buffer as Buffer3}from"node:buffer";import{StringDecoder as StringDecoder2}from"node:string_decoder";var getEncodingTransformGenerator=(binary,encoding,skipped)=>{if(skipped)return;if(binary)return{transform:encodingUint8ArrayGenerator.bind(void 0,new TextEncoder)};let stringDecoder=new StringDecoder2(encoding);return{transform:encodingStringGenerator.bind(void 0,stringDecoder),final:encodingStringFinal.bind(void 0,stringDecoder)}},encodingUint8ArrayGenerator=function*(textEncoder3,chunk){if(Buffer3.isBuffer(chunk))yield bufferToUint8Array(chunk);else if(typeof chunk==="string")yield textEncoder3.encode(chunk);else yield chunk},encodingStringGenerator=function*(stringDecoder,chunk){yield isUint8Array(chunk)?stringDecoder.write(chunk):chunk},encodingStringFinal=function*(stringDecoder){let lastChunk=stringDecoder.end();if(lastChunk!=="")yield lastChunk};var init_encoding_transform=__esm(()=>{init_uint_array()});import{callbackify}from"node:util";var pushChunks,transformChunk=async function*(chunk,generators,index){if(index===generators.length){yield chunk;return}let{transform:transform2=identityGenerator}=generators[index];for await(let transformedChunk of transform2(chunk))yield*transformChunk(transformedChunk,generators,index+1)},finalChunks=async function*(generators){for(let[index,{final}]of Object.entries(generators))yield*generatorFinalChunks(final,Number(index),generators)},generatorFinalChunks=async function*(final,index,generators){if(final===void 0)return;for await(let finalChunk of final())yield*transformChunk(finalChunk,generators,index+1)},destroyTransform,identityGenerator=function*(chunk){yield chunk};var init_run_async=__esm(()=>{pushChunks=callbackify(async(getChunks,state,getChunksArguments,transformStream)=>{state.currentIterable=getChunks(...getChunksArguments);try{for await(let chunk of state.currentIterable)transformStream.push(chunk)}finally{delete state.currentIterable}}),destroyTransform=callbackify(async({currentIterable},error51)=>{if(currentIterable!==void 0){await(error51?currentIterable.throw(error51):currentIterable.return());return}if(error51)throw error51})});var pushChunksSync=(getChunksSync,getChunksArguments,transformStream,done)=>{try{for(let chunk of getChunksSync(...getChunksArguments))transformStream.push(chunk);done()}catch(error51){done(error51)}},runTransformSync=(generators,chunks)=>[...chunks.flatMap((chunk)=>[...transformChunkSync(chunk,generators,0)]),...finalChunksSync(generators)],transformChunkSync=function*(chunk,generators,index){if(index===generators.length){yield chunk;return}let{transform:transform2=identityGenerator2}=generators[index];for(let transformedChunk of transform2(chunk))yield*transformChunkSync(transformedChunk,generators,index+1)},finalChunksSync=function*(generators){for(let[index,{final}]of Object.entries(generators))yield*generatorFinalChunksSync(final,Number(index),generators)},generatorFinalChunksSync=function*(final,index,generators){if(final===void 0)return;for(let finalChunk of final())yield*transformChunkSync(finalChunk,generators,index+1)},identityGenerator2=function*(chunk){yield chunk};import{Transform,getDefaultHighWaterMark}from"node:stream";var generatorToStream=({value,value:{transform:transform2,final,writableObjectMode,readableObjectMode},optionName},{encoding})=>{let state={},generators=addInternalGenerators(value,encoding,optionName),transformAsync=isAsyncGenerator(transform2),finalAsync=isAsyncGenerator(final),transformMethod=transformAsync?pushChunks.bind(void 0,transformChunk,state):pushChunksSync.bind(void 0,transformChunkSync),finalMethod=transformAsync||finalAsync?pushChunks.bind(void 0,finalChunks,state):pushChunksSync.bind(void 0,finalChunksSync),destroyMethod=transformAsync||finalAsync?destroyTransform.bind(void 0,state):void 0;return{stream:new Transform({writableObjectMode,writableHighWaterMark:getDefaultHighWaterMark(writableObjectMode),readableObjectMode,readableHighWaterMark:getDefaultHighWaterMark(readableObjectMode),transform(chunk,encoding2,done){transformMethod([chunk,generators,0],this,done)},flush(done){finalMethod([generators],this,done)},destroy:destroyMethod})}},runGeneratorsSync=(chunks,stdioItems,encoding,isInput)=>{let generators=stdioItems.filter(({type})=>type==="generator"),reversedGenerators=isInput?generators.reverse():generators;for(let{value,optionName}of reversedGenerators){let generators2=addInternalGenerators(value,encoding,optionName);chunks=runTransformSync(generators2,chunks)}return chunks},addInternalGenerators=({transform:transform2,final,binary,writableObjectMode,readableObjectMode,preserveNewlines},encoding,optionName)=>{let state={};return[{transform:getValidateTransformInput(writableObjectMode,optionName)},getEncodingTransformGenerator(binary,encoding,writableObjectMode),getSplitLinesGenerator(binary,preserveNewlines,writableObjectMode,state),{transform:transform2,final},{transform:getValidateTransformReturn(readableObjectMode,optionName)},getAppendNewlineGenerator({binary,preserveNewlines,readableObjectMode,state})].filter(Boolean)};var init_generator=__esm(()=>{init_type();init_split();init_validate();init_encoding_transform();init_run_async()});var addInputOptionsSync=(fileDescriptors,options)=>{for(let fdNumber of getInputFdNumbers(fileDescriptors))addInputOptionSync(fileDescriptors,fdNumber,options)},getInputFdNumbers=(fileDescriptors)=>new Set(Object.entries(fileDescriptors).filter(([,{direction}])=>direction==="input").map(([fdNumber])=>Number(fdNumber))),addInputOptionSync=(fileDescriptors,fdNumber,options)=>{let{stdioItems}=fileDescriptors[fdNumber],allStdioItems=stdioItems.filter(({contents})=>contents!==void 0);if(allStdioItems.length===0)return;if(fdNumber!==0){let[{type,optionName}]=allStdioItems;throw TypeError(`Only the \`stdin\` option, not \`${optionName}\`, can be ${TYPE_TO_MESSAGE[type]} with synchronous methods.`)}let transformedContents=allStdioItems.map(({contents})=>contents).map((contents)=>applySingleInputGeneratorsSync(contents,stdioItems));options.input=joinToUint8Array(transformedContents)},applySingleInputGeneratorsSync=(contents,stdioItems)=>{let newContents=runGeneratorsSync(contents,stdioItems,"utf8",!0);return validateSerializable(newContents),joinToUint8Array(newContents)},validateSerializable=(newContents)=>{let invalidItem=newContents.find((item)=>typeof item!=="string"&&!isUint8Array(item));if(invalidItem!==void 0)throw TypeError(`The \`stdin\` option is invalid: when passing objects as input, a transform must be used to serialize them to strings or Uint8Arrays: ${invalidItem}.`)};var init_input_sync=__esm(()=>{init_generator();init_uint_array();init_type()});var shouldLogOutput=({stdioItems,encoding,verboseInfo,fdNumber})=>fdNumber!=="all"&&isFullVerbose(verboseInfo,fdNumber)&&!BINARY_ENCODINGS.has(encoding)&&fdUsesVerbose(fdNumber)&&(stdioItems.some(({type,value})=>type==="native"&&PIPED_STDIO_VALUES.has(value))||stdioItems.every(({type})=>TRANSFORM_TYPES.has(type))),fdUsesVerbose=(fdNumber)=>fdNumber===1||fdNumber===2,PIPED_STDIO_VALUES,logLines=async(linesIterable,stream,fdNumber,verboseInfo)=>{for await(let line of linesIterable)if(!isPipingStream(stream))logLine(line,fdNumber,verboseInfo)},logLinesSync=(linesArray,fdNumber,verboseInfo)=>{for(let line of linesArray)logLine(line,fdNumber,verboseInfo)},isPipingStream=(stream)=>stream._readableState.pipes.length>0,logLine=(line,fdNumber,verboseInfo)=>{let verboseMessage=serializeVerboseMessage(line);verboseLog({type:"output",verboseMessage,fdNumber,verboseInfo})};var init_output=__esm(()=>{init_encoding_option();init_type();init_log();init_values();PIPED_STDIO_VALUES=new Set(["pipe","overlapped"])});import{writeFileSync,appendFileSync}from"node:fs";var transformOutputSync=({fileDescriptors,syncResult:{output:output2},options,isMaxBuffer,verboseInfo})=>{if(output2===null)return{output:Array.from({length:3})};let state={},outputFiles=new Set([]);return{output:output2.map((result,fdNumber)=>transformOutputResultSync({result,fileDescriptors,fdNumber,state,outputFiles,isMaxBuffer,verboseInfo},options)),...state}},transformOutputResultSync=({result,fileDescriptors,fdNumber,state,outputFiles,isMaxBuffer,verboseInfo},{buffer,encoding,lines,stripFinalNewline:stripFinalNewline2,maxBuffer})=>{if(result===null)return;let truncatedResult=truncateMaxBufferSync(result,isMaxBuffer,maxBuffer),uint8ArrayResult=bufferToUint8Array(truncatedResult),{stdioItems,objectMode}=fileDescriptors[fdNumber],chunks=runOutputGeneratorsSync([uint8ArrayResult],stdioItems,encoding,state),{serializedResult,finalResult=serializedResult}=serializeChunks({chunks,objectMode,encoding,lines,stripFinalNewline:stripFinalNewline2,fdNumber});logOutputSync({serializedResult,fdNumber,state,verboseInfo,encoding,stdioItems,objectMode});let returnedResult=buffer[fdNumber]?finalResult:void 0;try{if(state.error===void 0)writeToFiles(serializedResult,stdioItems,outputFiles);return returnedResult}catch(error51){return state.error=error51,returnedResult}},runOutputGeneratorsSync=(chunks,stdioItems,encoding,state)=>{try{return runGeneratorsSync(chunks,stdioItems,encoding,!1)}catch(error51){return state.error=error51,chunks}},serializeChunks=({chunks,objectMode,encoding,lines,stripFinalNewline:stripFinalNewline2,fdNumber})=>{if(objectMode)return{serializedResult:chunks};if(encoding==="buffer")return{serializedResult:joinToUint8Array(chunks)};let serializedResult=joinToString(chunks,encoding);if(lines[fdNumber])return{serializedResult,finalResult:splitLinesSync(serializedResult,!stripFinalNewline2[fdNumber],objectMode)};return{serializedResult}},logOutputSync=({serializedResult,fdNumber,state,verboseInfo,encoding,stdioItems,objectMode})=>{if(!shouldLogOutput({stdioItems,encoding,verboseInfo,fdNumber}))return;let linesArray=splitLinesSync(serializedResult,!1,objectMode);try{logLinesSync(linesArray,fdNumber,verboseInfo)}catch(error51){state.error??=error51}},writeToFiles=(serializedResult,stdioItems,outputFiles)=>{for(let{path:path6,append}of stdioItems.filter(({type})=>FILE_TYPES.has(type))){let pathString=typeof path6==="string"?path6:path6.toString();if(append||outputFiles.has(pathString))appendFileSync(path6,serializedResult);else outputFiles.add(pathString),writeFileSync(path6,serializedResult)}};var init_output_sync=__esm(()=>{init_output();init_generator();init_split();init_uint_array();init_type();init_max_buffer()});var getAllSync=([,stdout,stderr],options)=>{if(!options.all)return;if(stdout===void 0)return stderr;if(stderr===void 0)return stdout;if(Array.isArray(stdout))return Array.isArray(stderr)?[...stdout,...stderr]:[...stdout,stripNewline(stderr,options,"all")];if(Array.isArray(stderr))return[stripNewline(stdout,options,"all"),...stderr];if(isUint8Array(stdout)&&isUint8Array(stderr))return concatUint8Arrays([stdout,stderr]);return`${stdout}${stderr}`};var init_all_sync=__esm(()=>{init_uint_array();init_strip_newline()});import{once as once4}from"node:events";var waitForExit=async(subprocess,context)=>{let[exitCode,signal]=await waitForExitOrError(subprocess);return context.isForcefullyTerminated??=!1,[exitCode,signal]},waitForExitOrError=async(subprocess)=>{let[spawnPayload,exitPayload]=await Promise.allSettled([once4(subprocess,"spawn"),once4(subprocess,"exit")]);if(spawnPayload.status==="rejected")return[];return exitPayload.status==="rejected"?waitForSubprocessExit(subprocess):exitPayload.value},waitForSubprocessExit=async(subprocess)=>{try{return await once4(subprocess,"exit")}catch{return waitForSubprocessExit(subprocess)}},waitForSuccessfulExit=async(exitPromise)=>{let[exitCode,signal]=await exitPromise;if(!isSubprocessErrorExit(exitCode,signal)&&isFailedExit(exitCode,signal))throw new DiscardedError;return[exitCode,signal]},isSubprocessErrorExit=(exitCode,signal)=>exitCode===void 0&&signal===void 0,isFailedExit=(exitCode,signal)=>exitCode!==0||signal!==null;var init_exit_async=__esm(()=>{init_final_error()});var getExitResultSync=({error:error51,status:exitCode,signal,output:output2},{maxBuffer})=>{let resultError=getResultError(error51,exitCode,signal),timedOut=resultError?.code==="ETIMEDOUT",isMaxBuffer=isMaxBufferSync(resultError,output2,maxBuffer);return{resultError,exitCode,signal,timedOut,isMaxBuffer}},getResultError=(error51,exitCode,signal)=>{if(error51!==void 0)return error51;return isFailedExit(exitCode,signal)?new DiscardedError:void 0};var init_exit_sync=__esm(()=>{init_final_error();init_max_buffer();init_exit_async()});import{spawnSync}from"node:child_process";var execaCoreSync=(rawFile,rawArguments,rawOptions)=>{let{file:file2,commandArguments,command,escapedCommand,startTime,verboseInfo,options,fileDescriptors}=handleSyncArguments(rawFile,rawArguments,rawOptions),result=spawnSubprocessSync({file:file2,commandArguments,options,command,escapedCommand,verboseInfo,fileDescriptors,startTime});return handleResult(result,verboseInfo,options)},handleSyncArguments=(rawFile,rawArguments,rawOptions)=>{let{command,escapedCommand,startTime,verboseInfo}=handleCommand(rawFile,rawArguments,rawOptions),syncOptions=normalizeSyncOptions(rawOptions),{file:file2,commandArguments,options}=normalizeOptions(rawFile,rawArguments,syncOptions);validateSyncOptions(options);let fileDescriptors=handleStdioSync(options,verboseInfo);return{file:file2,commandArguments,command,escapedCommand,startTime,verboseInfo,options,fileDescriptors}},normalizeSyncOptions=(options)=>options.node&&!options.ipc?{...options,ipc:!1}:options,validateSyncOptions=({ipc,ipcInput,detached,cancelSignal})=>{if(ipcInput)throwInvalidSyncOption("ipcInput");if(ipc)throwInvalidSyncOption("ipc: true");if(detached)throwInvalidSyncOption("detached: true");if(cancelSignal)throwInvalidSyncOption("cancelSignal")},throwInvalidSyncOption=(value)=>{throw TypeError(`The "${value}" option cannot be used with synchronous methods.`)},spawnSubprocessSync=({file:file2,commandArguments,options,command,escapedCommand,verboseInfo,fileDescriptors,startTime})=>{let syncResult=runSubprocessSync({file:file2,commandArguments,options,command,escapedCommand,fileDescriptors,startTime});if(syncResult.failed)return syncResult;let{resultError,exitCode,signal,timedOut,isMaxBuffer}=getExitResultSync(syncResult,options),{output:output2,error:error51=resultError}=transformOutputSync({fileDescriptors,syncResult,options,isMaxBuffer,verboseInfo}),stdio=output2.map((stdioOutput,fdNumber)=>stripNewline(stdioOutput,options,fdNumber)),all=stripNewline(getAllSync(output2,options),options,"all");return getSyncResult({error:error51,exitCode,signal,timedOut,isMaxBuffer,stdio,all,options,command,escapedCommand,startTime})},runSubprocessSync=({file:file2,commandArguments,options,command,escapedCommand,fileDescriptors,startTime})=>{try{addInputOptionsSync(fileDescriptors,options);let normalizedOptions=normalizeSpawnSyncOptions(options);return spawnSync(...concatenateShell(file2,commandArguments,normalizedOptions))}catch(error51){return makeEarlyError({error:error51,command,escapedCommand,fileDescriptors,options,startTime,isSync:!0})}},normalizeSpawnSyncOptions=({encoding,maxBuffer,...options})=>({...options,encoding:"buffer",maxBuffer:getMaxBufferSync(maxBuffer)}),getSyncResult=({error:error51,exitCode,signal,timedOut,isMaxBuffer,stdio,all,options,command,escapedCommand,startTime})=>error51===void 0?makeSuccessResult({command,escapedCommand,stdio,all,ipcOutput:[],options,startTime}):makeError({error:error51,command,escapedCommand,timedOut,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer,isForcefullyTerminated:!1,exitCode,signal,stdio,all,ipcOutput:[],options,startTime,isSync:!0});var init_main_sync=__esm(()=>{init_command();init_options();init_result();init_reject();init_handle_sync();init_strip_newline();init_input_sync();init_output_sync();init_max_buffer();init_all_sync();init_exit_sync()});import{once as once5,on as on2}from"node:events";var getOneMessage=({anyProcess,channel,isSubprocess,ipc},{reference=!0,filter}={})=>{return validateIpcMethod({methodName:"getOneMessage",isSubprocess,ipc,isConnected:isConnected(anyProcess)}),getOneMessageAsync({anyProcess,channel,isSubprocess,filter,reference})},getOneMessageAsync=async({anyProcess,channel,isSubprocess,filter,reference})=>{addReference(channel,reference);let ipcEmitter=getIpcEmitter(anyProcess,channel,isSubprocess),controller=new AbortController;try{return await Promise.race([getMessage(ipcEmitter,filter,controller),throwOnDisconnect2(ipcEmitter,isSubprocess,controller),throwOnStrictError(ipcEmitter,isSubprocess,controller)])}catch(error51){throw disconnect(anyProcess),error51}finally{controller.abort(),removeReference(channel,reference)}},getMessage=async(ipcEmitter,filter,{signal})=>{if(filter===void 0){let[message]=await once5(ipcEmitter,"message",{signal});return message}for await(let[message]of on2(ipcEmitter,"message",{signal}))if(filter(message))return message},throwOnDisconnect2=async(ipcEmitter,isSubprocess,{signal})=>{await once5(ipcEmitter,"disconnect",{signal}),throwOnEarlyDisconnect(isSubprocess)},throwOnStrictError=async(ipcEmitter,isSubprocess,{signal})=>{let[error51]=await once5(ipcEmitter,"strict:error",{signal});throw getStrictResponseError(error51,isSubprocess)};var init_get_one=__esm(()=>{init_validation();init_forward()});import{once as once6,on as on3}from"node:events";var getEachMessage=({anyProcess,channel,isSubprocess,ipc},{reference=!0}={})=>loopOnMessages({anyProcess,channel,isSubprocess,ipc,shouldAwait:!isSubprocess,reference}),loopOnMessages=({anyProcess,channel,isSubprocess,ipc,shouldAwait,reference})=>{validateIpcMethod({methodName:"getEachMessage",isSubprocess,ipc,isConnected:isConnected(anyProcess)}),addReference(channel,reference);let ipcEmitter=getIpcEmitter(anyProcess,channel,isSubprocess),controller=new AbortController,state={};return stopOnDisconnect(anyProcess,ipcEmitter,controller),abortOnStrictError({ipcEmitter,isSubprocess,controller,state}),iterateOnMessages({anyProcess,channel,ipcEmitter,isSubprocess,shouldAwait,controller,state,reference})},stopOnDisconnect=async(anyProcess,ipcEmitter,controller)=>{try{await once6(ipcEmitter,"disconnect",{signal:controller.signal}),controller.abort()}catch{}},abortOnStrictError=async({ipcEmitter,isSubprocess,controller,state})=>{try{let[error51]=await once6(ipcEmitter,"strict:error",{signal:controller.signal});state.error=getStrictResponseError(error51,isSubprocess),controller.abort()}catch{}},iterateOnMessages=async function*({anyProcess,channel,ipcEmitter,isSubprocess,shouldAwait,controller,state,reference}){try{for await(let[message]of on3(ipcEmitter,"message",{signal:controller.signal}))throwIfStrictError(state),yield message}catch{throwIfStrictError(state)}finally{if(controller.abort(),removeReference(channel,reference),!isSubprocess)disconnect(anyProcess);if(shouldAwait)await anyProcess}},throwIfStrictError=({error:error51})=>{if(error51)throw error51};var init_get_each=__esm(()=>{init_validation();init_forward()});import process9 from"node:process";var addIpcMethods=(subprocess,{ipc})=>{Object.assign(subprocess,getIpcMethods(subprocess,!1,ipc))},getIpcExport=()=>{let anyProcess=process9,isSubprocess=!0,ipc=process9.channel!==void 0;return{...getIpcMethods(anyProcess,!0,ipc),getCancelSignal:getCancelSignal.bind(void 0,{anyProcess,channel:anyProcess.channel,isSubprocess:!0,ipc})}},getIpcMethods=(anyProcess,isSubprocess,ipc)=>({sendMessage:sendMessage.bind(void 0,{anyProcess,channel:anyProcess.channel,isSubprocess,ipc}),getOneMessage:getOneMessage.bind(void 0,{anyProcess,channel:anyProcess.channel,isSubprocess,ipc}),getEachMessage:getEachMessage.bind(void 0,{anyProcess,channel:anyProcess.channel,isSubprocess,ipc})});var init_methods=__esm(()=>{init_send();init_get_one();init_get_each();init_graceful()});import{ChildProcess as ChildProcess2}from"node:child_process";import{PassThrough,Readable,Writable,Duplex}from"node:stream";var handleEarlyError=({error:error51,command,escapedCommand,fileDescriptors,options,startTime,verboseInfo})=>{cleanupCustomStreams(fileDescriptors);let subprocess=new ChildProcess2;createDummyStreams(subprocess,fileDescriptors),Object.assign(subprocess,{readable,writable,duplex});let earlyError=makeEarlyError({error:error51,command,escapedCommand,fileDescriptors,options,startTime,isSync:!1}),promise2=handleDummyPromise(earlyError,verboseInfo,options);return{subprocess,promise:promise2}},createDummyStreams=(subprocess,fileDescriptors)=>{let stdin=createDummyStream(),stdout=createDummyStream(),stderr=createDummyStream(),extraStdio=Array.from({length:fileDescriptors.length-3},createDummyStream),all=createDummyStream(),stdio=[stdin,stdout,stderr,...extraStdio];Object.assign(subprocess,{stdin,stdout,stderr,all,stdio})},createDummyStream=()=>{let stream=new PassThrough;return stream.end(),stream},readable=()=>new Readable({read(){}}),writable=()=>new Writable({write(){}}),duplex=()=>new Duplex({read(){},write(){}}),handleDummyPromise=async(error51,verboseInfo,options)=>handleResult(error51,verboseInfo,options);var init_early_error=__esm(()=>{init_handle();init_result();init_reject()});import{createReadStream,createWriteStream}from"node:fs";import{Buffer as Buffer4}from"node:buffer";import{Readable as Readable2,Writable as Writable2,Duplex as Duplex2}from"node:stream";var handleStdioAsync=(options,verboseInfo)=>handleStdio(addPropertiesAsync,options,verboseInfo,!1),forbiddenIfAsync=({type,optionName})=>{throw TypeError(`The \`${optionName}\` option cannot be ${TYPE_TO_MESSAGE[type]}.`)},addProperties2,addPropertiesAsync;var init_handle_async=__esm(()=>{init_generator();init_handle();init_type();addProperties2={fileNumber:forbiddenIfAsync,generator:generatorToStream,asyncGenerator:generatorToStream,nodeStream:({value})=>({stream:value}),webTransform({value:{transform:transform2,writableObjectMode,readableObjectMode}}){let objectMode=writableObjectMode||readableObjectMode;return{stream:Duplex2.fromWeb(transform2,{objectMode})}},duplex:({value:{transform:transform2}})=>({stream:transform2}),native(){}},addPropertiesAsync={input:{...addProperties2,fileUrl:({value})=>({stream:createReadStream(value)}),filePath:({value:{file:file2}})=>({stream:createReadStream(file2)}),webStream:({value})=>({stream:Readable2.fromWeb(value)}),iterable:({value})=>({stream:Readable2.from(value)}),asyncIterable:({value})=>({stream:Readable2.from(value)}),string:({value})=>({stream:Readable2.from(value)}),uint8Array:({value})=>({stream:Readable2.from(Buffer4.from(value))})},output:{...addProperties2,fileUrl:({value})=>({stream:createWriteStream(value)}),filePath:({value:{file:file2,append}})=>({stream:createWriteStream(file2,append?{flags:"a"}:{})}),webStream:({value})=>({stream:Writable2.fromWeb(value)}),iterable:forbiddenIfAsync,asyncIterable:forbiddenIfAsync,string:forbiddenIfAsync,uint8Array:forbiddenIfAsync}}});import{on as on4,once as once7}from"node:events";import{PassThrough as PassThroughStream,getDefaultHighWaterMark as getDefaultHighWaterMark2}from"node:stream";import{finished as finished2}from"node:stream/promises";function mergeStreams(streams){if(!Array.isArray(streams))throw TypeError(`Expected an array, got \`${typeof streams}\`.`);for(let stream of streams)validateStream(stream);let objectMode=streams.some(({readableObjectMode})=>readableObjectMode),highWaterMark=getHighWaterMark(streams,objectMode),passThroughStream=new MergedStream({objectMode,writableHighWaterMark:highWaterMark,readableHighWaterMark:highWaterMark});for(let stream of streams)passThroughStream.add(stream);return passThroughStream}var getHighWaterMark=(streams,objectMode)=>{if(streams.length===0)return getDefaultHighWaterMark2(objectMode);let highWaterMarks=streams.filter(({readableObjectMode})=>readableObjectMode===objectMode).map(({readableHighWaterMark})=>readableHighWaterMark);return Math.max(...highWaterMarks)},MergedStream,onMergedStreamFinished=async(passThroughStream,streams,unpipeEvent)=>{updateMaxListeners(passThroughStream,PASSTHROUGH_LISTENERS_COUNT);let controller=new AbortController;try{await Promise.race([onMergedStreamEnd(passThroughStream,controller),onInputStreamsUnpipe(passThroughStream,streams,unpipeEvent,controller)])}finally{controller.abort(),updateMaxListeners(passThroughStream,-PASSTHROUGH_LISTENERS_COUNT)}},onMergedStreamEnd=async(passThroughStream,{signal})=>{try{await finished2(passThroughStream,{signal,cleanup:!0})}catch(error51){throw errorOrAbortStream(passThroughStream,error51),error51}},onInputStreamsUnpipe=async(passThroughStream,streams,unpipeEvent,{signal})=>{for await(let[unpipedStream]of on4(passThroughStream,"unpipe",{signal}))if(streams.has(unpipedStream))unpipedStream.emit(unpipeEvent)},validateStream=(stream)=>{if(typeof stream?.pipe!=="function")throw TypeError(`Expected a readable stream, got: \`${typeof stream}\`.`)},endWhenStreamsDone=async({passThroughStream,stream,streams,ended,aborted:aborted2,onFinished,unpipeEvent})=>{updateMaxListeners(passThroughStream,PASSTHROUGH_LISTENERS_PER_STREAM);let controller=new AbortController;try{await Promise.race([afterMergedStreamFinished(onFinished,stream,controller),onInputStreamEnd({passThroughStream,stream,streams,ended,aborted:aborted2,controller}),onInputStreamUnpipe({stream,streams,ended,aborted:aborted2,unpipeEvent,controller})])}finally{controller.abort(),updateMaxListeners(passThroughStream,-PASSTHROUGH_LISTENERS_PER_STREAM)}if(streams.size>0&&streams.size===ended.size+aborted2.size)if(ended.size===0&&aborted2.size>0)abortStream(passThroughStream);else endStream(passThroughStream)},afterMergedStreamFinished=async(onFinished,stream,{signal})=>{try{if(await onFinished,!signal.aborted)abortStream(stream)}catch(error51){if(!signal.aborted)errorOrAbortStream(stream,error51)}},onInputStreamEnd=async({passThroughStream,stream,streams,ended,aborted:aborted2,controller:{signal}})=>{try{if(await finished2(stream,{signal,cleanup:!0,readable:!0,writable:!1}),streams.has(stream))ended.add(stream)}catch(error51){if(signal.aborted||!streams.has(stream))return;if(isAbortError(error51))aborted2.add(stream);else errorStream(passThroughStream,error51)}},onInputStreamUnpipe=async({stream,streams,ended,aborted:aborted2,unpipeEvent,controller:{signal}})=>{if(await once7(stream,unpipeEvent,{signal}),!stream.readable)return once7(signal,"abort",{signal});streams.delete(stream),ended.delete(stream),aborted2.delete(stream)},endStream=(stream)=>{if(stream.writable)stream.end()},errorOrAbortStream=(stream,error51)=>{if(isAbortError(error51))abortStream(stream);else errorStream(stream,error51)},isAbortError=(error51)=>error51?.code==="ERR_STREAM_PREMATURE_CLOSE",abortStream=(stream)=>{if(stream.readable||stream.writable)stream.destroy()},errorStream=(stream,error51)=>{if(!stream.destroyed)stream.once("error",noop2),stream.destroy(error51)},noop2=()=>{},updateMaxListeners=(passThroughStream,increment2)=>{let maxListeners=passThroughStream.getMaxListeners();if(maxListeners!==0&&maxListeners!==Number.POSITIVE_INFINITY)passThroughStream.setMaxListeners(maxListeners+increment2)},PASSTHROUGH_LISTENERS_COUNT=2,PASSTHROUGH_LISTENERS_PER_STREAM=1;var init_merge_streams=__esm(()=>{MergedStream=class MergedStream extends PassThroughStream{#streams=new Set([]);#ended=new Set([]);#aborted=new Set([]);#onFinished;#unpipeEvent=Symbol("unpipe");#streamPromises=new WeakMap;add(stream){if(validateStream(stream),this.#streams.has(stream))return;this.#streams.add(stream),this.#onFinished??=onMergedStreamFinished(this,this.#streams,this.#unpipeEvent);let streamPromise=endWhenStreamsDone({passThroughStream:this,stream,streams:this.#streams,ended:this.#ended,aborted:this.#aborted,onFinished:this.#onFinished,unpipeEvent:this.#unpipeEvent});this.#streamPromises.set(stream,streamPromise),stream.pipe(this,{end:!1})}async remove(stream){if(validateStream(stream),!this.#streams.has(stream))return!1;let streamPromise=this.#streamPromises.get(stream);if(streamPromise===void 0)return!1;return this.#streamPromises.delete(stream),stream.unpipe(this),await streamPromise,!0}}});import{finished as finished3}from"node:stream/promises";var pipeStreams=(source,destination)=>{source.pipe(destination),onSourceFinish(source,destination),onDestinationFinish(source,destination)},onSourceFinish=async(source,destination)=>{if(isStandardStream(source)||isStandardStream(destination))return;try{await finished3(source,{cleanup:!0,readable:!0,writable:!1})}catch{}endDestinationStream(destination)},endDestinationStream=(destination)=>{if(destination.writable)destination.end()},onDestinationFinish=async(source,destination)=>{if(isStandardStream(source)||isStandardStream(destination))return;try{await finished3(destination,{cleanup:!0,readable:!1,writable:!0})}catch{}abortSourceStream(source)},abortSourceStream=(source)=>{if(source.readable)source.destroy()};var init_pipeline=__esm(()=>{init_standard_stream()});var pipeOutputAsync=(subprocess,fileDescriptors,controller)=>{let pipeGroups=new Map;for(let[fdNumber,{stdioItems,direction}]of Object.entries(fileDescriptors)){for(let{stream}of stdioItems.filter(({type})=>TRANSFORM_TYPES.has(type)))pipeTransform(subprocess,stream,direction,fdNumber);for(let{stream}of stdioItems.filter(({type})=>!TRANSFORM_TYPES.has(type)))pipeStdioItem({subprocess,stream,direction,fdNumber,pipeGroups,controller})}for(let[outputStream,inputStreams]of pipeGroups.entries()){let inputStream=inputStreams.length===1?inputStreams[0]:mergeStreams(inputStreams);pipeStreams(inputStream,outputStream)}},pipeTransform=(subprocess,stream,direction,fdNumber)=>{if(direction==="output")pipeStreams(subprocess.stdio[fdNumber],stream);else pipeStreams(stream,subprocess.stdio[fdNumber]);let streamProperty=SUBPROCESS_STREAM_PROPERTIES[fdNumber];if(streamProperty!==void 0)subprocess[streamProperty]=stream;subprocess.stdio[fdNumber]=stream},SUBPROCESS_STREAM_PROPERTIES,pipeStdioItem=({subprocess,stream,direction,fdNumber,pipeGroups,controller})=>{if(stream===void 0)return;setStandardStreamMaxListeners(stream,controller);let[inputStream,outputStream]=direction==="output"?[stream,subprocess.stdio[fdNumber]]:[subprocess.stdio[fdNumber],stream],outputStreams=pipeGroups.get(inputStream)??[];pipeGroups.set(inputStream,[...outputStreams,outputStream])},setStandardStreamMaxListeners=(stream,{signal})=>{if(isStandardStream(stream))incrementMaxListeners(stream,MAX_LISTENERS_INCREMENT,signal)},MAX_LISTENERS_INCREMENT=2;var init_output_async=__esm(()=>{init_merge_streams();init_standard_stream();init_max_listeners();init_type();init_pipeline();SUBPROCESS_STREAM_PROPERTIES=["stdin","stdout","stderr"]});var signals;var init_signals2=__esm(()=>{signals=[];signals.push("SIGHUP","SIGINT","SIGTERM");if(process.platform!=="win32")signals.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(process.platform==="linux")signals.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT")});class Emitter{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(global2[kExitEmitter])return global2[kExitEmitter];ObjectDefineProperty(global2,kExitEmitter,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(ev,fn){this.listeners[ev].push(fn)}removeListener(ev,fn){let list=this.listeners[ev],i2=list.indexOf(fn);if(i2===-1)return;if(i2===0&&list.length===1)list.length=0;else list.splice(i2,1)}emit(ev,code,signal){if(this.emitted[ev])return!1;this.emitted[ev]=!0;let ret=!1;for(let fn of this.listeners[ev])ret=fn(code,signal)===!0||ret;if(ev==="exit")ret=this.emit("afterExit",code,signal)||ret;return ret}}class SignalExitBase{}var processOk=(process10)=>!!process10&&typeof process10==="object"&&typeof process10.removeListener==="function"&&typeof process10.emit==="function"&&typeof process10.reallyExit==="function"&&typeof process10.listeners==="function"&&typeof process10.kill==="function"&&typeof process10.pid==="number"&&typeof process10.on==="function",kExitEmitter,global2,ObjectDefineProperty,signalExitWrap=(handler)=>{return{onExit(cb,opts){return handler.onExit(cb,opts)},load(){return handler.load()},unload(){return handler.unload()}}},SignalExitFallback,SignalExit,process10,onExit,load,unload;var init_mjs=__esm(()=>{init_signals2();kExitEmitter=Symbol.for("signal-exit emitter"),global2=globalThis,ObjectDefineProperty=Object.defineProperty.bind(Object);SignalExitFallback=class SignalExitFallback extends SignalExitBase{onExit(){return()=>{}}load(){}unload(){}};SignalExit=class SignalExit extends SignalExitBase{#hupSig=process10.platform==="win32"?"SIGINT":"SIGHUP";#emitter=new Emitter;#process;#originalProcessEmit;#originalProcessReallyExit;#sigListeners={};#loaded=!1;constructor(process10){super();this.#process=process10,this.#sigListeners={};for(let sig of signals)this.#sigListeners[sig]=()=>{let listeners=this.#process.listeners(sig),{count:count2}=this.#emitter,p=process10;if(typeof p.__signal_exit_emitter__==="object"&&typeof p.__signal_exit_emitter__.count==="number")count2+=p.__signal_exit_emitter__.count;if(listeners.length===count2){this.unload();let ret=this.#emitter.emit("exit",null,sig),s2=sig==="SIGHUP"?this.#hupSig:sig;if(!ret)process10.kill(process10.pid,s2)}};this.#originalProcessReallyExit=process10.reallyExit,this.#originalProcessEmit=process10.emit}onExit(cb,opts){if(!processOk(this.#process))return()=>{};if(this.#loaded===!1)this.load();let ev=opts?.alwaysLast?"afterExit":"exit";return this.#emitter.on(ev,cb),()=>{if(this.#emitter.removeListener(ev,cb),this.#emitter.listeners.exit.length===0&&this.#emitter.listeners.afterExit.length===0)this.unload()}}load(){if(this.#loaded)return;this.#loaded=!0,this.#emitter.count+=1;for(let sig of signals)try{let fn=this.#sigListeners[sig];if(fn)this.#process.on(sig,fn)}catch(_){}this.#process.emit=(ev,...a2)=>{return this.#processEmit(ev,...a2)},this.#process.reallyExit=(code)=>{return this.#processReallyExit(code)}}unload(){if(!this.#loaded)return;this.#loaded=!1,signals.forEach((sig)=>{let listener=this.#sigListeners[sig];if(!listener)throw Error("Listener not defined for signal: "+sig);try{this.#process.removeListener(sig,listener)}catch(_){}}),this.#process.emit=this.#originalProcessEmit,this.#process.reallyExit=this.#originalProcessReallyExit,this.#emitter.count-=1}#processReallyExit(code){if(!processOk(this.#process))return 0;return this.#process.exitCode=code||0,this.#emitter.emit("exit",this.#process.exitCode,null),this.#originalProcessReallyExit.call(this.#process,this.#process.exitCode)}#processEmit(ev,...args){let og=this.#originalProcessEmit;if(ev==="exit"&&processOk(this.#process)){if(typeof args[0]==="number")this.#process.exitCode=args[0];let ret=og.call(this.#process,ev,...args);return this.#emitter.emit("exit",this.#process.exitCode,null),ret}else return og.call(this.#process,ev,...args)}};process10=globalThis.process,{onExit,load,unload}=signalExitWrap(processOk(process10)?new SignalExit(process10):new SignalExitFallback)});import{addAbortListener as addAbortListener2}from"node:events";var cleanupOnExit=(subprocess,{cleanup,detached},{signal})=>{if(!cleanup||detached)return;let removeExitHandler=onExit(()=>{subprocess.kill()});addAbortListener2(signal,()=>{removeExitHandler()})};var init_cleanup=__esm(()=>{init_mjs()});var normalizePipeArguments=({source,sourcePromise,boundOptions,createNested},...pipeArguments)=>{let startTime=getStartTime(),{destination,destinationStream,destinationError,from,unpipeSignal}=getDestinationStream(boundOptions,createNested,pipeArguments),{sourceStream,sourceError}=getSourceStream(source,from),{options:sourceOptions,fileDescriptors}=SUBPROCESS_OPTIONS.get(source);return{sourcePromise,sourceStream,sourceOptions,sourceError,destination,destinationStream,destinationError,unpipeSignal,fileDescriptors,startTime}},getDestinationStream=(boundOptions,createNested,pipeArguments)=>{try{let{destination,pipeOptions:{from,to,unpipeSignal}={}}=getDestination(boundOptions,createNested,...pipeArguments),destinationStream=getToStream(destination,to);return{destination,destinationStream,from,unpipeSignal}}catch(error51){return{destinationError:error51}}},getDestination=(boundOptions,createNested,firstArgument,...pipeArguments)=>{if(Array.isArray(firstArgument))return{destination:createNested(mapDestinationArguments,boundOptions)(firstArgument,...pipeArguments),pipeOptions:boundOptions};if(typeof firstArgument==="string"||firstArgument instanceof URL||isDenoExecPath(firstArgument)){if(Object.keys(boundOptions).length>0)throw TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).');let[rawFile,rawArguments,rawOptions]=normalizeParameters(firstArgument,...pipeArguments);return{destination:createNested(mapDestinationArguments)(rawFile,rawArguments,rawOptions),pipeOptions:rawOptions}}if(SUBPROCESS_OPTIONS.has(firstArgument)){if(Object.keys(boundOptions).length>0)throw TypeError("Please use .pipe(options)`command` or .pipe($(options)`command`) instead of .pipe(options)($`command`).");return{destination:firstArgument,pipeOptions:pipeArguments[0]}}throw TypeError(`The first argument must be a template string, an options object, or an Execa subprocess: ${firstArgument}`)},mapDestinationArguments=({options})=>({options:{...options,stdin:"pipe",piped:!0}}),getSourceStream=(source,from)=>{try{return{sourceStream:getFromStream(source,from)}}catch(error51){return{sourceError:error51}}};var init_pipe_arguments=__esm(()=>{init_parameters();init_duration();init_fd_options();init_file_url()});var handlePipeArgumentsError=({sourceStream,sourceError,destinationStream,destinationError,fileDescriptors,sourceOptions,startTime})=>{let error51=getPipeArgumentsError({sourceStream,sourceError,destinationStream,destinationError});if(error51!==void 0)throw createNonCommandError({error:error51,fileDescriptors,sourceOptions,startTime})},getPipeArgumentsError=({sourceStream,sourceError,destinationStream,destinationError})=>{if(sourceError!==void 0&&destinationError!==void 0)return destinationError;if(destinationError!==void 0)return abortSourceStream(sourceStream),destinationError;if(sourceError!==void 0)return endDestinationStream(destinationStream),sourceError},createNonCommandError=({error:error51,fileDescriptors,sourceOptions,startTime})=>makeEarlyError({error:error51,command:PIPE_COMMAND_MESSAGE,escapedCommand:PIPE_COMMAND_MESSAGE,fileDescriptors,options:sourceOptions,startTime,isSync:!1}),PIPE_COMMAND_MESSAGE="source.pipe(destination)";var init_throw=__esm(()=>{init_result();init_pipeline()});var waitForBothSubprocesses=async(subprocessPromises)=>{let[{status:sourceStatus,reason:sourceReason,value:sourceResult=sourceReason},{status:destinationStatus,reason:destinationReason,value:destinationResult=destinationReason}]=await subprocessPromises;if(!destinationResult.pipedFrom.includes(sourceResult))destinationResult.pipedFrom.push(sourceResult);if(destinationStatus==="rejected")throw destinationResult;if(sourceStatus==="rejected")throw sourceResult;return destinationResult};import{finished as finished4}from"node:stream/promises";var pipeSubprocessStream=(sourceStream,destinationStream,maxListenersController)=>{let mergedStream=MERGED_STREAMS.has(destinationStream)?pipeMoreSubprocessStream(sourceStream,destinationStream):pipeFirstSubprocessStream(sourceStream,destinationStream);return incrementMaxListeners(sourceStream,SOURCE_LISTENERS_PER_PIPE,maxListenersController.signal),incrementMaxListeners(destinationStream,DESTINATION_LISTENERS_PER_PIPE,maxListenersController.signal),cleanupMergedStreamsMap(destinationStream),mergedStream},pipeFirstSubprocessStream=(sourceStream,destinationStream)=>{let mergedStream=mergeStreams([sourceStream]);return pipeStreams(mergedStream,destinationStream),MERGED_STREAMS.set(destinationStream,mergedStream),mergedStream},pipeMoreSubprocessStream=(sourceStream,destinationStream)=>{let mergedStream=MERGED_STREAMS.get(destinationStream);return mergedStream.add(sourceStream),mergedStream},cleanupMergedStreamsMap=async(destinationStream)=>{try{await finished4(destinationStream,{cleanup:!0,readable:!1,writable:!0})}catch{}MERGED_STREAMS.delete(destinationStream)},MERGED_STREAMS,SOURCE_LISTENERS_PER_PIPE=2,DESTINATION_LISTENERS_PER_PIPE=1;var init_streaming=__esm(()=>{init_merge_streams();init_max_listeners();init_pipeline();MERGED_STREAMS=new WeakMap});import{aborted as aborted2}from"node:util";var unpipeOnAbort=(unpipeSignal,unpipeContext)=>unpipeSignal===void 0?[]:[unpipeOnSignalAbort(unpipeSignal,unpipeContext)],unpipeOnSignalAbort=async(unpipeSignal,{sourceStream,mergedStream,fileDescriptors,sourceOptions,startTime})=>{await aborted2(unpipeSignal,sourceStream),await mergedStream.remove(sourceStream);let error51=Error("Pipe canceled by `unpipeSignal` option.");throw createNonCommandError({error:error51,fileDescriptors,sourceOptions,startTime})};var init_abort=__esm(()=>{init_throw()});var pipeToSubprocess=(sourceInfo,...pipeArguments)=>{if(isPlainObject3(pipeArguments[0]))return pipeToSubprocess.bind(void 0,{...sourceInfo,boundOptions:{...sourceInfo.boundOptions,...pipeArguments[0]}});let{destination,...normalizedInfo}=normalizePipeArguments(sourceInfo,...pipeArguments),promise2=handlePipePromise({...normalizedInfo,destination});return promise2.pipe=pipeToSubprocess.bind(void 0,{...sourceInfo,source:destination,sourcePromise:promise2,boundOptions:{}}),promise2},handlePipePromise=async({sourcePromise,sourceStream,sourceOptions,sourceError,destination,destinationStream,destinationError,unpipeSignal,fileDescriptors,startTime})=>{let subprocessPromises=getSubprocessPromises(sourcePromise,destination);handlePipeArgumentsError({sourceStream,sourceError,destinationStream,destinationError,fileDescriptors,sourceOptions,startTime});let maxListenersController=new AbortController;try{let mergedStream=pipeSubprocessStream(sourceStream,destinationStream,maxListenersController);return await Promise.race([waitForBothSubprocesses(subprocessPromises),...unpipeOnAbort(unpipeSignal,{sourceStream,mergedStream,sourceOptions,fileDescriptors,startTime})])}finally{maxListenersController.abort()}},getSubprocessPromises=(sourcePromise,destination)=>Promise.allSettled([sourcePromise,destination]);var init_setup=__esm(()=>{init_pipe_arguments();init_throw();init_streaming();init_abort()});import{on as on5}from"node:events";import{getDefaultHighWaterMark as getDefaultHighWaterMark3}from"node:stream";var iterateOnSubprocessStream=({subprocessStdout,subprocess,binary,shouldEncode,encoding,preserveNewlines})=>{let controller=new AbortController;return stopReadingOnExit(subprocess,controller),iterateOnStream({stream:subprocessStdout,controller,binary,shouldEncode:!subprocessStdout.readableObjectMode&&shouldEncode,encoding,shouldSplit:!subprocessStdout.readableObjectMode,preserveNewlines})},stopReadingOnExit=async(subprocess,controller)=>{try{await subprocess}catch{}finally{controller.abort()}},iterateForResult=({stream,onStreamEnd,lines,encoding,stripFinalNewline:stripFinalNewline2,allMixed})=>{let controller=new AbortController;stopReadingOnStreamEnd(onStreamEnd,controller,stream);let objectMode=stream.readableObjectMode&&!allMixed;return iterateOnStream({stream,controller,binary:encoding==="buffer",shouldEncode:!objectMode,encoding,shouldSplit:!objectMode&&lines,preserveNewlines:!stripFinalNewline2})},stopReadingOnStreamEnd=async(onStreamEnd,controller,stream)=>{try{await onStreamEnd}catch{stream.destroy()}finally{controller.abort()}},iterateOnStream=({stream,controller,binary,shouldEncode,encoding,shouldSplit,preserveNewlines})=>{let onStdoutChunk=on5(stream,"data",{signal:controller.signal,highWaterMark:HIGH_WATER_MARK,highWatermark:HIGH_WATER_MARK});return iterateOnData({onStdoutChunk,controller,binary,shouldEncode,encoding,shouldSplit,preserveNewlines})},DEFAULT_OBJECT_HIGH_WATER_MARK,HIGH_WATER_MARK,iterateOnData=async function*({onStdoutChunk,controller,binary,shouldEncode,encoding,shouldSplit,preserveNewlines}){let generators=getGenerators({binary,shouldEncode,encoding,shouldSplit,preserveNewlines});try{for await(let[chunk]of onStdoutChunk)yield*transformChunkSync(chunk,generators,0)}catch(error51){if(!controller.signal.aborted)throw error51}finally{yield*finalChunksSync(generators)}},getGenerators=({binary,shouldEncode,encoding,shouldSplit,preserveNewlines})=>[getEncodingTransformGenerator(binary,encoding,!shouldEncode),getSplitLinesGenerator(binary,preserveNewlines,!shouldSplit,{})].filter(Boolean);var init_iterate=__esm(()=>{init_encoding_transform();init_split();DEFAULT_OBJECT_HIGH_WATER_MARK=getDefaultHighWaterMark3(!0),HIGH_WATER_MARK=DEFAULT_OBJECT_HIGH_WATER_MARK});import{setImmediate}from"node:timers/promises";var getStreamOutput=async({stream,onStreamEnd,fdNumber,encoding,buffer,maxBuffer,lines,allMixed,stripFinalNewline:stripFinalNewline2,verboseInfo,streamInfo})=>{let logPromise=logOutputAsync({stream,onStreamEnd,fdNumber,encoding,allMixed,verboseInfo,streamInfo});if(!buffer){await Promise.all([resumeStream(stream),logPromise]);return}let stripFinalNewlineValue=getStripFinalNewline(stripFinalNewline2,fdNumber),iterable=iterateForResult({stream,onStreamEnd,lines,encoding,stripFinalNewline:stripFinalNewlineValue,allMixed}),[output2]=await Promise.all([getStreamContents2({stream,iterable,fdNumber,encoding,maxBuffer,lines}),logPromise]);return output2},logOutputAsync=async({stream,onStreamEnd,fdNumber,encoding,allMixed,verboseInfo,streamInfo:{fileDescriptors}})=>{if(!shouldLogOutput({stdioItems:fileDescriptors[fdNumber]?.stdioItems,encoding,verboseInfo,fdNumber}))return;let linesIterable=iterateForResult({stream,onStreamEnd,lines:!0,encoding,stripFinalNewline:!0,allMixed});await logLines(linesIterable,stream,fdNumber,verboseInfo)},resumeStream=async(stream)=>{if(await setImmediate(),stream.readableFlowing===null)stream.resume()},getStreamContents2=async({stream,stream:{readableObjectMode},iterable,fdNumber,encoding,maxBuffer,lines})=>{try{if(readableObjectMode||lines)return await getStreamAsArray(iterable,{maxBuffer});if(encoding==="buffer")return new Uint8Array(await getStreamAsArrayBuffer(iterable,{maxBuffer}));return await getStreamAsString(iterable,{maxBuffer})}catch(error51){return handleBufferedData(handleMaxBuffer({error:error51,stream,readableObjectMode,lines,encoding,fdNumber}))}},getBufferedData=async(streamPromise)=>{try{return await streamPromise}catch(error51){return handleBufferedData(error51)}},handleBufferedData=({bufferedData})=>isArrayBuffer(bufferedData)?new Uint8Array(bufferedData):bufferedData;var init_contents2=__esm(()=>{init_source();init_uint_array();init_output();init_iterate();init_max_buffer();init_strip_newline()});import{finished as finished5}from"node:stream/promises";var waitForStream=async(stream,fdNumber,streamInfo,{isSameDirection,stopOnExit=!1}={})=>{let state=handleStdinDestroy(stream,streamInfo),abortController=new AbortController;try{await Promise.race([...stopOnExit?[streamInfo.exitPromise]:[],finished5(stream,{cleanup:!0,signal:abortController.signal})])}catch(error51){if(!state.stdinCleanedUp)handleStreamError(error51,fdNumber,streamInfo,isSameDirection)}finally{abortController.abort()}},handleStdinDestroy=(stream,{originalStreams:[originalStdin],subprocess})=>{let state={stdinCleanedUp:!1};if(stream===originalStdin)spyOnStdinDestroy(stream,subprocess,state);return state},spyOnStdinDestroy=(subprocessStdin,subprocess,state)=>{let{_destroy}=subprocessStdin;subprocessStdin._destroy=(...destroyArguments)=>{setStdinCleanedUp(subprocess,state),_destroy.call(subprocessStdin,...destroyArguments)}},setStdinCleanedUp=({exitCode,signalCode},state)=>{if(exitCode!==null||signalCode!==null)state.stdinCleanedUp=!0},handleStreamError=(error51,fdNumber,streamInfo,isSameDirection)=>{if(!shouldIgnoreStreamError(error51,fdNumber,streamInfo,isSameDirection))throw error51},shouldIgnoreStreamError=(error51,fdNumber,streamInfo,isSameDirection=!0)=>{if(streamInfo.propagating)return isStreamEpipe(error51)||isStreamAbort(error51);return streamInfo.propagating=!0,isInputFileDescriptor(streamInfo,fdNumber)===isSameDirection?isStreamEpipe(error51):isStreamAbort(error51)},isInputFileDescriptor=({fileDescriptors},fdNumber)=>fdNumber!=="all"&&fileDescriptors[fdNumber].direction==="input",isStreamAbort=(error51)=>error51?.code==="ERR_STREAM_PREMATURE_CLOSE",isStreamEpipe=(error51)=>error51?.code==="EPIPE";var init_wait_stream=()=>{};var waitForStdioStreams=({subprocess,encoding,buffer,maxBuffer,lines,stripFinalNewline:stripFinalNewline2,verboseInfo,streamInfo})=>subprocess.stdio.map((stream,fdNumber)=>waitForSubprocessStream({stream,fdNumber,encoding,buffer:buffer[fdNumber],maxBuffer:maxBuffer[fdNumber],lines:lines[fdNumber],allMixed:!1,stripFinalNewline:stripFinalNewline2,verboseInfo,streamInfo})),waitForSubprocessStream=async({stream,fdNumber,encoding,buffer,maxBuffer,lines,allMixed,stripFinalNewline:stripFinalNewline2,verboseInfo,streamInfo})=>{if(!stream)return;let onStreamEnd=waitForStream(stream,fdNumber,streamInfo);if(isInputFileDescriptor(streamInfo,fdNumber)){await onStreamEnd;return}let[output2]=await Promise.all([getStreamOutput({stream,onStreamEnd,fdNumber,encoding,buffer,maxBuffer,lines,allMixed,stripFinalNewline:stripFinalNewline2,verboseInfo,streamInfo}),onStreamEnd]);return output2};var init_stdio=__esm(()=>{init_contents2();init_wait_stream()});var makeAllStream=({stdout,stderr},{all})=>all&&(stdout||stderr)?mergeStreams([stdout,stderr].filter(Boolean)):void 0,waitForAllStream=({subprocess,encoding,buffer,maxBuffer,lines,stripFinalNewline:stripFinalNewline2,verboseInfo,streamInfo})=>waitForSubprocessStream({...getAllStream(subprocess,buffer),fdNumber:"all",encoding,maxBuffer:maxBuffer[1]+maxBuffer[2],lines:lines[1]||lines[2],allMixed:getAllMixed(subprocess),stripFinalNewline:stripFinalNewline2,verboseInfo,streamInfo}),getAllStream=({stdout,stderr,all},[,bufferStdout,bufferStderr])=>{let buffer=bufferStdout||bufferStderr;if(!buffer)return{stream:all,buffer};if(!bufferStdout)return{stream:stderr,buffer};if(!bufferStderr)return{stream:stdout,buffer};return{stream:all,buffer}},getAllMixed=({all,stdout,stderr})=>all&&stdout&&stderr&&stdout.readableObjectMode!==stderr.readableObjectMode;var init_all_async=__esm(()=>{init_merge_streams();init_stdio()});var shouldLogIpc=(verboseInfo)=>isFullVerbose(verboseInfo,"ipc"),logIpcOutput=(message,verboseInfo)=>{let verboseMessage=serializeVerboseMessage(message);verboseLog({type:"ipc",verboseMessage,fdNumber:"ipc",verboseInfo})};var init_ipc=__esm(()=>{init_log();init_values()});var waitForIpcOutput=async({subprocess,buffer:bufferArray,maxBuffer:maxBufferArray,ipc,ipcOutput,verboseInfo})=>{if(!ipc)return ipcOutput;let isVerbose2=shouldLogIpc(verboseInfo),buffer=getFdSpecificValue(bufferArray,"ipc"),maxBuffer=getFdSpecificValue(maxBufferArray,"ipc");for await(let message of loopOnMessages({anyProcess:subprocess,channel:subprocess.channel,isSubprocess:!1,ipc,shouldAwait:!1,reference:!0})){if(buffer)checkIpcMaxBuffer(subprocess,ipcOutput,maxBuffer),ipcOutput.push(message);if(isVerbose2)logIpcOutput(message,verboseInfo)}return ipcOutput},getBufferedIpcOutput=async(ipcOutputPromise,ipcOutput)=>{return await Promise.allSettled([ipcOutputPromise]),ipcOutput};var init_buffer_messages=__esm(()=>{init_max_buffer();init_ipc();init_specific();init_get_each()});import{once as once8}from"node:events";var waitForSubprocessResult=async({subprocess,options:{encoding,buffer,maxBuffer,lines,timeoutDuration:timeout,cancelSignal,gracefulCancel,forceKillAfterDelay,stripFinalNewline:stripFinalNewline2,ipc,ipcInput},context,verboseInfo,fileDescriptors,originalStreams,onInternalError,controller})=>{let exitPromise=waitForExit(subprocess,context),streamInfo={originalStreams,fileDescriptors,subprocess,exitPromise,propagating:!1},stdioPromises=waitForStdioStreams({subprocess,encoding,buffer,maxBuffer,lines,stripFinalNewline:stripFinalNewline2,verboseInfo,streamInfo}),allPromise=waitForAllStream({subprocess,encoding,buffer,maxBuffer,lines,stripFinalNewline:stripFinalNewline2,verboseInfo,streamInfo}),ipcOutput=[],ipcOutputPromise=waitForIpcOutput({subprocess,buffer,maxBuffer,ipc,ipcOutput,verboseInfo}),originalPromises=waitForOriginalStreams(originalStreams,subprocess,streamInfo),customStreamsEndPromises=waitForCustomStreamsEnd(fileDescriptors,streamInfo);try{return await Promise.race([Promise.all([{},waitForSuccessfulExit(exitPromise),Promise.all(stdioPromises),allPromise,ipcOutputPromise,sendIpcInput(subprocess,ipcInput),...originalPromises,...customStreamsEndPromises]),onInternalError,throwOnSubprocessError(subprocess,controller),...throwOnTimeout(subprocess,timeout,context,controller),...throwOnCancel({subprocess,cancelSignal,gracefulCancel,context,controller}),...throwOnGracefulCancel({subprocess,cancelSignal,gracefulCancel,forceKillAfterDelay,context,controller})])}catch(error51){return context.terminationReason??="other",Promise.all([{error:error51},exitPromise,Promise.all(stdioPromises.map((stdioPromise)=>getBufferedData(stdioPromise))),getBufferedData(allPromise),getBufferedIpcOutput(ipcOutputPromise,ipcOutput),Promise.allSettled(originalPromises),Promise.allSettled(customStreamsEndPromises)])}},waitForOriginalStreams=(originalStreams,subprocess,streamInfo)=>originalStreams.map((stream,fdNumber)=>stream===subprocess.stdio[fdNumber]?void 0:waitForStream(stream,fdNumber,streamInfo)),waitForCustomStreamsEnd=(fileDescriptors,streamInfo)=>fileDescriptors.flatMap(({stdioItems},fdNumber)=>stdioItems.filter(({value,stream=value})=>isStream(stream,{checkOpen:!1})&&!isStandardStream(stream)).map(({type,value,stream=value})=>waitForStream(stream,fdNumber,streamInfo,{isSameDirection:TRANSFORM_TYPES.has(type),stopOnExit:type==="native"}))),throwOnSubprocessError=async(subprocess,{signal})=>{let[error51]=await once8(subprocess,"error",{signal});throw error51};var init_wait_subprocess=__esm(()=>{init_timeout();init_cancel();init_graceful2();init_standard_stream();init_type();init_contents2();init_buffer_messages();init_ipc_input();init_all_async();init_stdio();init_exit_async();init_wait_stream()});var initializeConcurrentStreams=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),addConcurrentStream=(concurrentStreams,stream,waitName)=>{let weakMap=concurrentStreams[waitName];if(!weakMap.has(stream))weakMap.set(stream,[]);let promises=weakMap.get(stream),promise2=createDeferred();return promises.push(promise2),{resolve:promise2.resolve.bind(promise2),promises}},waitForConcurrentStreams=async({resolve,promises},subprocess)=>{resolve();let[isSubprocessExit]=await Promise.race([Promise.allSettled([!0,subprocess]),Promise.all([!1,...promises])]);return!isSubprocessExit};var init_concurrent=()=>{};import{finished as finished6}from"node:stream/promises";var safeWaitForSubprocessStdin=async(subprocessStdin)=>{if(subprocessStdin===void 0)return;try{await waitForSubprocessStdin(subprocessStdin)}catch{}},safeWaitForSubprocessStdout=async(subprocessStdout)=>{if(subprocessStdout===void 0)return;try{await waitForSubprocessStdout(subprocessStdout)}catch{}},waitForSubprocessStdin=async(subprocessStdin)=>{await finished6(subprocessStdin,{cleanup:!0,readable:!1,writable:!0})},waitForSubprocessStdout=async(subprocessStdout)=>{await finished6(subprocessStdout,{cleanup:!0,readable:!0,writable:!1})},waitForSubprocess=async(subprocess,error51)=>{if(await subprocess,error51)throw error51},destroyOtherStream=(stream,isOpen,error51)=>{if(error51&&!isStreamAbort(error51))stream.destroy(error51);else if(isOpen)stream.destroy()};var init_shared=__esm(()=>{init_wait_stream()});import{Readable as Readable3}from"node:stream";import{callbackify as callbackify2}from"node:util";var createReadable=({subprocess,concurrentStreams,encoding},{from,binary:binaryOption=!0,preserveNewlines=!0}={})=>{let binary=binaryOption||BINARY_ENCODINGS.has(encoding),{subprocessStdout,waitReadableDestroy}=getSubprocessStdout(subprocess,from,concurrentStreams),{readableEncoding,readableObjectMode,readableHighWaterMark}=getReadableOptions(subprocessStdout,binary),{read,onStdoutDataDone}=getReadableMethods({subprocessStdout,subprocess,binary,encoding,preserveNewlines}),readable2=new Readable3({read,destroy:callbackify2(onReadableDestroy.bind(void 0,{subprocessStdout,subprocess,waitReadableDestroy})),highWaterMark:readableHighWaterMark,objectMode:readableObjectMode,encoding:readableEncoding});return onStdoutFinished({subprocessStdout,onStdoutDataDone,readable:readable2,subprocess}),readable2},getSubprocessStdout=(subprocess,from,concurrentStreams)=>{let subprocessStdout=getFromStream(subprocess,from),waitReadableDestroy=addConcurrentStream(concurrentStreams,subprocessStdout,"readableDestroy");return{subprocessStdout,waitReadableDestroy}},getReadableOptions=({readableEncoding,readableObjectMode,readableHighWaterMark},binary)=>binary?{readableEncoding,readableObjectMode,readableHighWaterMark}:{readableEncoding,readableObjectMode:!0,readableHighWaterMark:DEFAULT_OBJECT_HIGH_WATER_MARK},getReadableMethods=({subprocessStdout,subprocess,binary,encoding,preserveNewlines})=>{let onStdoutDataDone=createDeferred(),onStdoutData=iterateOnSubprocessStream({subprocessStdout,subprocess,binary,shouldEncode:!binary,encoding,preserveNewlines});return{read(){onRead(this,onStdoutData,onStdoutDataDone)},onStdoutDataDone}},onRead=async(readable2,onStdoutData,onStdoutDataDone)=>{try{let{value,done}=await onStdoutData.next();if(done)onStdoutDataDone.resolve();else readable2.push(value)}catch{}},onStdoutFinished=async({subprocessStdout,onStdoutDataDone,readable:readable2,subprocess,subprocessStdin})=>{try{if(await waitForSubprocessStdout(subprocessStdout),await subprocess,await safeWaitForSubprocessStdin(subprocessStdin),await onStdoutDataDone,readable2.readable)readable2.push(null)}catch(error51){await safeWaitForSubprocessStdin(subprocessStdin),destroyOtherReadable(readable2,error51)}},onReadableDestroy=async({subprocessStdout,subprocess,waitReadableDestroy},error51)=>{if(await waitForConcurrentStreams(waitReadableDestroy,subprocess))destroyOtherReadable(subprocessStdout,error51),await waitForSubprocess(subprocess,error51)},destroyOtherReadable=(stream,error51)=>{destroyOtherStream(stream,stream.readable,error51)};var init_readable=__esm(()=>{init_encoding_option();init_fd_options();init_iterate();init_concurrent();init_shared()});import{Writable as Writable3}from"node:stream";import{callbackify as callbackify3}from"node:util";var createWritable=({subprocess,concurrentStreams},{to}={})=>{let{subprocessStdin,waitWritableFinal,waitWritableDestroy}=getSubprocessStdin(subprocess,to,concurrentStreams),writable2=new Writable3({...getWritableMethods(subprocessStdin,subprocess,waitWritableFinal),destroy:callbackify3(onWritableDestroy.bind(void 0,{subprocessStdin,subprocess,waitWritableFinal,waitWritableDestroy})),highWaterMark:subprocessStdin.writableHighWaterMark,objectMode:subprocessStdin.writableObjectMode});return onStdinFinished(subprocessStdin,writable2),writable2},getSubprocessStdin=(subprocess,to,concurrentStreams)=>{let subprocessStdin=getToStream(subprocess,to),waitWritableFinal=addConcurrentStream(concurrentStreams,subprocessStdin,"writableFinal"),waitWritableDestroy=addConcurrentStream(concurrentStreams,subprocessStdin,"writableDestroy");return{subprocessStdin,waitWritableFinal,waitWritableDestroy}},getWritableMethods=(subprocessStdin,subprocess,waitWritableFinal)=>({write:onWrite.bind(void 0,subprocessStdin),final:callbackify3(onWritableFinal.bind(void 0,subprocessStdin,subprocess,waitWritableFinal))}),onWrite=(subprocessStdin,chunk,encoding,done)=>{if(subprocessStdin.write(chunk,encoding))done();else subprocessStdin.once("drain",done)},onWritableFinal=async(subprocessStdin,subprocess,waitWritableFinal)=>{if(await waitForConcurrentStreams(waitWritableFinal,subprocess)){if(subprocessStdin.writable)subprocessStdin.end();await subprocess}},onStdinFinished=async(subprocessStdin,writable2,subprocessStdout)=>{try{if(await waitForSubprocessStdin(subprocessStdin),writable2.writable)writable2.end()}catch(error51){await safeWaitForSubprocessStdout(subprocessStdout),destroyOtherWritable(writable2,error51)}},onWritableDestroy=async({subprocessStdin,subprocess,waitWritableFinal,waitWritableDestroy},error51)=>{if(await waitForConcurrentStreams(waitWritableFinal,subprocess),await waitForConcurrentStreams(waitWritableDestroy,subprocess))destroyOtherWritable(subprocessStdin,error51),await waitForSubprocess(subprocess,error51)},destroyOtherWritable=(stream,error51)=>{destroyOtherStream(stream,stream.writable,error51)};var init_writable=__esm(()=>{init_fd_options();init_concurrent();init_shared()});import{Duplex as Duplex3}from"node:stream";import{callbackify as callbackify4}from"node:util";var createDuplex=({subprocess,concurrentStreams,encoding},{from,to,binary:binaryOption=!0,preserveNewlines=!0}={})=>{let binary=binaryOption||BINARY_ENCODINGS.has(encoding),{subprocessStdout,waitReadableDestroy}=getSubprocessStdout(subprocess,from,concurrentStreams),{subprocessStdin,waitWritableFinal,waitWritableDestroy}=getSubprocessStdin(subprocess,to,concurrentStreams),{readableEncoding,readableObjectMode,readableHighWaterMark}=getReadableOptions(subprocessStdout,binary),{read,onStdoutDataDone}=getReadableMethods({subprocessStdout,subprocess,binary,encoding,preserveNewlines}),duplex2=new Duplex3({read,...getWritableMethods(subprocessStdin,subprocess,waitWritableFinal),destroy:callbackify4(onDuplexDestroy.bind(void 0,{subprocessStdout,subprocessStdin,subprocess,waitReadableDestroy,waitWritableFinal,waitWritableDestroy})),readableHighWaterMark,writableHighWaterMark:subprocessStdin.writableHighWaterMark,readableObjectMode,writableObjectMode:subprocessStdin.writableObjectMode,encoding:readableEncoding});return onStdoutFinished({subprocessStdout,onStdoutDataDone,readable:duplex2,subprocess,subprocessStdin}),onStdinFinished(subprocessStdin,duplex2,subprocessStdout),duplex2},onDuplexDestroy=async({subprocessStdout,subprocessStdin,subprocess,waitReadableDestroy,waitWritableFinal,waitWritableDestroy},error51)=>{await Promise.all([onReadableDestroy({subprocessStdout,subprocess,waitReadableDestroy},error51),onWritableDestroy({subprocessStdin,subprocess,waitWritableFinal,waitWritableDestroy},error51)])};var init_duplex=__esm(()=>{init_encoding_option();init_readable();init_writable()});var createIterable=(subprocess,encoding,{from,binary:binaryOption=!1,preserveNewlines=!1}={})=>{let binary=binaryOption||BINARY_ENCODINGS.has(encoding),subprocessStdout=getFromStream(subprocess,from),onStdoutData=iterateOnSubprocessStream({subprocessStdout,subprocess,binary,shouldEncode:!0,encoding,preserveNewlines});return iterateOnStdoutData(onStdoutData,subprocessStdout,subprocess)},iterateOnStdoutData=async function*(onStdoutData,subprocessStdout,subprocess){try{yield*onStdoutData}finally{if(subprocessStdout.readable)subprocessStdout.destroy();await subprocess}};var init_iterable=__esm(()=>{init_encoding_option();init_fd_options();init_iterate()});var addConvertedStreams=(subprocess,{encoding})=>{let concurrentStreams=initializeConcurrentStreams();subprocess.readable=createReadable.bind(void 0,{subprocess,concurrentStreams,encoding}),subprocess.writable=createWritable.bind(void 0,{subprocess,concurrentStreams}),subprocess.duplex=createDuplex.bind(void 0,{subprocess,concurrentStreams,encoding}),subprocess.iterable=createIterable.bind(void 0,subprocess,encoding),subprocess[Symbol.asyncIterator]=createIterable.bind(void 0,subprocess,encoding,{})};var init_add=__esm(()=>{init_concurrent();init_readable();init_writable();init_duplex();init_iterable()});var mergePromise=(subprocess,promise2)=>{for(let[property,descriptor]of descriptors){let value=descriptor.value.bind(promise2);Reflect.defineProperty(subprocess,property,{...descriptor,value})}},nativePromisePrototype,descriptors;var init_promise=__esm(()=>{nativePromisePrototype=(async()=>{})().constructor.prototype,descriptors=["then","catch","finally"].map((property)=>[property,Reflect.getOwnPropertyDescriptor(nativePromisePrototype,property)])});import{setMaxListeners}from"node:events";import{spawn}from"node:child_process";var execaCoreAsync=(rawFile,rawArguments,rawOptions,createNested)=>{let{file:file2,commandArguments,command,escapedCommand,startTime,verboseInfo,options,fileDescriptors}=handleAsyncArguments(rawFile,rawArguments,rawOptions),{subprocess,promise:promise2}=spawnSubprocessAsync({file:file2,commandArguments,options,startTime,verboseInfo,command,escapedCommand,fileDescriptors});return subprocess.pipe=pipeToSubprocess.bind(void 0,{source:subprocess,sourcePromise:promise2,boundOptions:{},createNested}),mergePromise(subprocess,promise2),SUBPROCESS_OPTIONS.set(subprocess,{options,fileDescriptors}),subprocess},handleAsyncArguments=(rawFile,rawArguments,rawOptions)=>{let{command,escapedCommand,startTime,verboseInfo}=handleCommand(rawFile,rawArguments,rawOptions),{file:file2,commandArguments,options:normalizedOptions}=normalizeOptions(rawFile,rawArguments,rawOptions),options=handleAsyncOptions(normalizedOptions),fileDescriptors=handleStdioAsync(options,verboseInfo);return{file:file2,commandArguments,command,escapedCommand,startTime,verboseInfo,options,fileDescriptors}},handleAsyncOptions=({timeout,signal,...options})=>{if(signal!==void 0)throw TypeError('The "signal" option has been renamed to "cancelSignal" instead.');return{...options,timeoutDuration:timeout}},spawnSubprocessAsync=({file:file2,commandArguments,options,startTime,verboseInfo,command,escapedCommand,fileDescriptors})=>{let subprocess;try{subprocess=spawn(...concatenateShell(file2,commandArguments,options))}catch(error51){return handleEarlyError({error:error51,command,escapedCommand,fileDescriptors,options,startTime,verboseInfo})}let controller=new AbortController;setMaxListeners(Number.POSITIVE_INFINITY,controller.signal);let originalStreams=[...subprocess.stdio];pipeOutputAsync(subprocess,fileDescriptors,controller),cleanupOnExit(subprocess,options,controller);let context={},onInternalError=createDeferred();subprocess.kill=subprocessKill.bind(void 0,{kill:subprocess.kill.bind(subprocess),options,onInternalError,context,controller}),subprocess.all=makeAllStream(subprocess,options),addConvertedStreams(subprocess,options),addIpcMethods(subprocess,options);let promise2=handlePromise({subprocess,options,startTime,verboseInfo,fileDescriptors,originalStreams,command,escapedCommand,context,onInternalError,controller});return{subprocess,promise:promise2}},handlePromise=async({subprocess,options,startTime,verboseInfo,fileDescriptors,originalStreams,command,escapedCommand,context,onInternalError,controller})=>{let[errorInfo,[exitCode,signal],stdioResults,allResult,ipcOutput]=await waitForSubprocessResult({subprocess,options,context,verboseInfo,fileDescriptors,originalStreams,onInternalError,controller});controller.abort(),onInternalError.resolve();let stdio=stdioResults.map((stdioResult,fdNumber)=>stripNewline(stdioResult,options,fdNumber)),all=stripNewline(allResult,options,"all"),result=getAsyncResult({errorInfo,exitCode,signal,stdio,all,ipcOutput,context,options,command,escapedCommand,startTime});return handleResult(result,verboseInfo,options)},getAsyncResult=({errorInfo,exitCode,signal,stdio,all,ipcOutput,context,options,command,escapedCommand,startTime})=>("error"in errorInfo)?makeError({error:errorInfo.error,command,escapedCommand,timedOut:context.terminationReason==="timeout",isCanceled:context.terminationReason==="cancel"||context.terminationReason==="gracefulCancel",isGracefullyCanceled:context.terminationReason==="gracefulCancel",isMaxBuffer:errorInfo.error instanceof MaxBufferError,isForcefullyTerminated:context.isForcefullyTerminated,exitCode,signal,stdio,all,ipcOutput,options,startTime,isSync:!1}):makeSuccessResult({command,escapedCommand,stdio,all,ipcOutput,options,startTime});var init_main_async=__esm(()=>{init_source();init_command();init_options();init_fd_options();init_methods();init_result();init_reject();init_early_error();init_handle_async();init_strip_newline();init_output_async();init_kill();init_cleanup();init_setup();init_all_async();init_wait_subprocess();init_add();init_promise()});var mergeOptions=(boundOptions,options)=>{let newOptions=Object.fromEntries(Object.entries(options).map(([optionName,optionValue])=>[optionName,mergeOption(optionName,boundOptions[optionName],optionValue)]));return{...boundOptions,...newOptions}},mergeOption=(optionName,boundOptionValue,optionValue)=>{if(DEEP_OPTIONS.has(optionName)&&isPlainObject3(boundOptionValue)&&isPlainObject3(optionValue))return{...boundOptionValue,...optionValue};return optionValue},DEEP_OPTIONS;var init_bind=__esm(()=>{init_specific();DEEP_OPTIONS=new Set(["env",...FD_SPECIFIC_OPTIONS])});var createExeca=(mapArguments,boundOptions,deepOptions,setBoundExeca)=>{let createNested=(mapArguments2,boundOptions2,setBoundExeca2)=>createExeca(mapArguments2,boundOptions2,deepOptions,setBoundExeca2),boundExeca=(...execaArguments)=>callBoundExeca({mapArguments,deepOptions,boundOptions,setBoundExeca,createNested},...execaArguments);if(setBoundExeca!==void 0)setBoundExeca(boundExeca,createNested,boundOptions);return boundExeca},callBoundExeca=({mapArguments,deepOptions={},boundOptions={},setBoundExeca,createNested},firstArgument,...nextArguments)=>{if(isPlainObject3(firstArgument))return createNested(mapArguments,mergeOptions(boundOptions,firstArgument),setBoundExeca);let{file:file2,commandArguments,options,isSync}=parseArguments({mapArguments,firstArgument,nextArguments,deepOptions,boundOptions});return isSync?execaCoreSync(file2,commandArguments,options):execaCoreAsync(file2,commandArguments,options,createNested)},parseArguments=({mapArguments,firstArgument,nextArguments,deepOptions,boundOptions})=>{let callArguments=isTemplateString(firstArgument)?parseTemplates(firstArgument,nextArguments):[firstArgument,...nextArguments],[initialFile,initialArguments,initialOptions]=normalizeParameters(...callArguments),mergedOptions=mergeOptions(mergeOptions(deepOptions,boundOptions),initialOptions),{file:file2=initialFile,commandArguments=initialArguments,options=mergedOptions,isSync=!1}=mapArguments({file:initialFile,commandArguments:initialArguments,options:mergedOptions});return{file:file2,commandArguments,options,isSync}};var init_create=__esm(()=>{init_parameters();init_template();init_main_sync();init_main_async();init_bind()});var mapCommandAsync=({file:file2,commandArguments})=>parseCommand(file2,commandArguments),mapCommandSync=({file:file2,commandArguments})=>({...parseCommand(file2,commandArguments),isSync:!0}),parseCommand=(command,unusedArguments)=>{if(unusedArguments.length>0)throw TypeError(`The command and its arguments must be passed as a single string: ${command} ${unusedArguments}.`);let[file2,...commandArguments]=parseCommandString(command);return{file:file2,commandArguments}},parseCommandString=(command)=>{if(typeof command!=="string")throw TypeError(`The command must be a string: ${String(command)}.`);let trimmedCommand=command.trim();if(trimmedCommand==="")return[];let tokens=[];for(let token of trimmedCommand.split(SPACES_REGEXP)){let previousToken=tokens.at(-1);if(previousToken&&previousToken.endsWith("\\"))tokens[tokens.length-1]=`${previousToken.slice(0,-1)} ${token}`;else tokens.push(token)}return tokens},SPACES_REGEXP;var init_command2=__esm(()=>{SPACES_REGEXP=/ +/g});var setScriptSync=(boundExeca,createNested,boundOptions)=>{boundExeca.sync=createNested(mapScriptSync,boundOptions),boundExeca.s=boundExeca.sync},mapScriptAsync=({options})=>getScriptOptions(options),mapScriptSync=({options})=>({...getScriptOptions(options),isSync:!0}),getScriptOptions=(options)=>({options:{...getScriptStdinOption(options),...options}}),getScriptStdinOption=({input,inputFile,stdio})=>input===void 0&&inputFile===void 0&&stdio===void 0?{stdin:"inherit"}:{},deepScriptOptions;var init_script=__esm(()=>{deepScriptOptions={preferLocal:!0}});var execa,execaSync,execaCommand,execaCommandSync,execaNode,$,sendMessage2,getOneMessage2,getEachMessage2,getCancelSignal2;var init_execa=__esm(()=>{init_create();init_command2();init_node2();init_script();init_methods();execa=createExeca(()=>({})),execaSync=createExeca(()=>({isSync:!0})),execaCommand=createExeca(mapCommandAsync),execaCommandSync=createExeca(mapCommandSync),execaNode=createExeca(mapNode),$=createExeca(mapScriptAsync,{},deepScriptOptions,setScriptSync),{sendMessage:sendMessage2,getOneMessage:getOneMessage2,getEachMessage:getEachMessage2,getCancelSignal:getCancelSignal2}=getIpcExport()});var init_context=()=>{};function normalizeSeparators(path6){return path6.replaceAll("\\","/")}function isAbsolutePath(path6){return path6.startsWith("/")||/^[A-Za-z]:\//.test(normalizeSeparators(path6))}function splitRoot(path6){let normalized=normalizeSeparators(path6),drive=normalized.match(/^([A-Za-z]:)(?:\/|$)/);if(drive)return{root:drive[1]??"",rest:normalized.slice((drive[1]??"").length).replace(/^\/+/,"")};if(normalized.startsWith("/"))return{root:"/",rest:normalized.replace(/^\/+/,"")};return{root:"",rest:normalized}}function joinPath(...segments){let filtered=segments.filter((segment)=>segment.length>0).map(normalizeSeparators);if(filtered.length===0)return".";let absolute=isAbsolutePath(filtered[0]??""),joined=filtered.join("/").replace(/\/+/g,"/");return absolute?joined:joined.replace(/^\//,"")}function resolvePath(...segments){let candidates=segments.length===0?[getProcessCwd()]:segments,resolved="";for(let segment of candidates.map(normalizeSeparators)){if(segment.length===0)continue;resolved=isAbsolutePath(segment)?segment:joinPath(resolved||getProcessCwd(),segment)}let{root,rest}=splitRoot(resolved),parts=[],absolute=root!=="";for(let part of rest.split("/")){if(part===""||part===".")continue;if(part===".."){if(parts.length>0)parts.pop();continue}parts.push(part)}if(!absolute)return parts.join("/")||".";if(root==="/")return`/${parts.join("/")}`||"/";return parts.length>0?`${root}/${parts.join("/")}`:`${root}/`}function getProcessCwd(){return globalThis.process?.cwd?.()??"/"}var SEP;var init_path=__esm(()=>{SEP=globalThis.process?.platform==="win32"?"\\":"/"});var init_schema_validation=__esm(()=>{init_dist2()});var init_types=()=>{};var init_dist3=__esm(()=>{init_config();init_context();init_path();init_schema_validation();init_types()});import{Database}from"bun:sqlite";var init_bun_sqlite=()=>{};function is(value,type){if(!value||typeof value!=="object")return!1;if(value instanceof type)return!0;if(!Object.prototype.hasOwnProperty.call(type,entityKind))throw Error(`Class "${type.name??"<unknown>"}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let cls=Object.getPrototypeOf(value).constructor;if(cls)while(cls){if(entityKind in cls&&cls[entityKind]===type[entityKind])return!0;cls=Object.getPrototypeOf(cls)}return!1}var entityKind;var init_entity=__esm(()=>{entityKind=Symbol.for("drizzle:entityKind")});var ConsoleLogWriter,DefaultLogger,NoopLogger;var init_logger=__esm(()=>{init_entity();ConsoleLogWriter=class ConsoleLogWriter{static[entityKind]="ConsoleLogWriter";write(message){console.log(message)}};DefaultLogger=class DefaultLogger{static[entityKind]="DefaultLogger";writer;constructor(config3){this.writer=config3?.writer??new ConsoleLogWriter}logQuery(query,params){let stringifiedParams=params.map((p)=>{try{return JSON.stringify(p)}catch{return String(p)}}),paramsStr=stringifiedParams.length?` -- params: [${stringifiedParams.join(", ")}]`:"";this.writer.write(`Query: ${query}${paramsStr}`)}};NoopLogger=class NoopLogger{static[entityKind]="NoopLogger";logQuery(){}}});var TableName;var init_table_utils=__esm(()=>{TableName=Symbol.for("drizzle:Name")});function isTable(table){return typeof table==="object"&&table!==null&&IsDrizzleTable in table}function getTableName(table){return table[TableName]}function getTableUniqueName(table){return`${table[Schema2]??"public"}.${table[TableName]}`}var Schema2,Columns,ExtraConfigColumns,OriginalName,BaseName,IsAlias,ExtraConfigBuilder,IsDrizzleTable,Table;var init_table=__esm(()=>{init_entity();init_table_utils();Schema2=Symbol.for("drizzle:Schema"),Columns=Symbol.for("drizzle:Columns"),ExtraConfigColumns=Symbol.for("drizzle:ExtraConfigColumns"),OriginalName=Symbol.for("drizzle:OriginalName"),BaseName=Symbol.for("drizzle:BaseName"),IsAlias=Symbol.for("drizzle:IsAlias"),ExtraConfigBuilder=Symbol.for("drizzle:ExtraConfigBuilder"),IsDrizzleTable=Symbol.for("drizzle:IsDrizzleTable");Table=class Table{static[entityKind]="Table";static Symbol={Name:TableName,Schema:Schema2,OriginalName,Columns,ExtraConfigColumns,BaseName,IsAlias,ExtraConfigBuilder};[TableName];[OriginalName];[Schema2];[Columns];[ExtraConfigColumns];[BaseName];[IsAlias]=!1;[IsDrizzleTable]=!0;[ExtraConfigBuilder]=void 0;constructor(name,schema,baseName){this[TableName]=this[OriginalName]=name,this[Schema2]=schema,this[BaseName]=baseName}}});var Column;var init_column=__esm(()=>{init_entity();Column=class Column{constructor(table,config3){this.table=table,this.config=config3,this.name=config3.name,this.keyAsName=config3.keyAsName,this.notNull=config3.notNull,this.default=config3.default,this.defaultFn=config3.defaultFn,this.onUpdateFn=config3.onUpdateFn,this.hasDefault=config3.hasDefault,this.primary=config3.primaryKey,this.isUnique=config3.isUnique,this.uniqueName=config3.uniqueName,this.uniqueType=config3.uniqueType,this.dataType=config3.dataType,this.columnType=config3.columnType,this.generated=config3.generated,this.generatedIdentity=config3.generatedIdentity}static[entityKind]="Column";name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue(value){return value}mapToDriverValue(value){return value}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!=="byDefault"}}});var ColumnBuilder;var init_column_builder=__esm(()=>{init_entity();ColumnBuilder=class ColumnBuilder{static[entityKind]="ColumnBuilder";config;constructor(name,dataType,columnType){this.config={name,keyAsName:name==="",notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType,columnType,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(value){return this.config.default=value,this.config.hasDefault=!0,this}$defaultFn(fn){return this.config.defaultFn=fn,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(fn){return this.config.onUpdateFn=fn,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(name){if(this.config.name!=="")return;this.config.name=name}}});function iife(fn,...args){return fn(...args)}var init_tracing_utils=()=>{};function uniqueKeyName(table,columns){return`${table[TableName]}_${columns.join("_")}_unique`}var init_unique_constraint=__esm(()=>{init_table_utils()});var PgColumn,ExtraConfigColumn;var init_common=__esm(()=>{init_column();init_entity();init_unique_constraint();PgColumn=class PgColumn extends Column{constructor(table,config3){if(!config3.uniqueName)config3.uniqueName=uniqueKeyName(table,[config3.name]);super(table,config3);this.table=table}static[entityKind]="PgColumn"};ExtraConfigColumn=class ExtraConfigColumn extends PgColumn{static[entityKind]="ExtraConfigColumn";getSQLType(){return this.getSQLType()}indexConfig={order:this.config.order??"asc",nulls:this.config.nulls??"last",opClass:this.config.opClass};defaultConfig={order:"asc",nulls:"last",opClass:void 0};asc(){return this.indexConfig.order="asc",this}desc(){return this.indexConfig.order="desc",this}nullsFirst(){return this.indexConfig.nulls="first",this}nullsLast(){return this.indexConfig.nulls="last",this}op(opClass){return this.indexConfig.opClass=opClass,this}}});function isPgEnum(obj){return!!obj&&typeof obj==="function"&&isPgEnumSym in obj&&obj[isPgEnumSym]===!0}var PgEnumObjectColumn,isPgEnumSym,PgEnumColumn;var init_enum=__esm(()=>{init_entity();init_common();PgEnumObjectColumn=class PgEnumObjectColumn extends PgColumn{static[entityKind]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor(table,config3){super(table,config3);this.enum=config3.enum}getSQLType(){return this.enum.enumName}};isPgEnumSym=Symbol.for("drizzle:isPgEnum");PgEnumColumn=class PgEnumColumn extends PgColumn{static[entityKind]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(table,config3){super(table,config3);this.enum=config3.enum}getSQLType(){return this.enum.enumName}}});var Subquery,WithSubquery;var init_subquery=__esm(()=>{init_entity();Subquery=class Subquery{static[entityKind]="Subquery";constructor(sql,fields,alias,isWith=!1,usedTables=[]){this._={brand:"Subquery",sql,selectedFields:fields,alias,isWith,usedTables}}};WithSubquery=class WithSubquery extends Subquery{static[entityKind]="WithSubquery"}});var version2="0.44.7";var init_version=()=>{};var otel,rawTracer,tracer;var init_tracing=__esm(()=>{init_tracing_utils();init_version();tracer={startActiveSpan(name,fn){if(!otel)return fn();if(!rawTracer)rawTracer=otel.trace.getTracer("drizzle-orm",version2);return iife((otel2,rawTracer2)=>rawTracer2.startActiveSpan(name,(span)=>{try{return fn(span)}catch(e){throw span.setStatus({code:otel2.SpanStatusCode.ERROR,message:e instanceof Error?e.message:"Unknown error"}),e}finally{span.end()}}),otel,rawTracer)}}});var ViewBaseConfig;var init_view_common=__esm(()=>{ViewBaseConfig=Symbol.for("drizzle:ViewBaseConfig")});function isSQLWrapper(value){return value!==null&&value!==void 0&&typeof value.getSQL==="function"}function mergeQueries(queries){let result={sql:"",params:[]};for(let query of queries)if(result.sql+=query.sql,result.params.push(...query.params),query.typings?.length){if(!result.typings)result.typings=[];result.typings.push(...query.typings)}return result}function isDriverValueEncoder(value){return typeof value==="object"&&value!==null&&"mapToDriverValue"in value&&typeof value.mapToDriverValue==="function"}function sql(strings,...params){let queryChunks=[];if(params.length>0||strings.length>0&&strings[0]!=="")queryChunks.push(new StringChunk(strings[0]));for(let[paramIndex,param2]of params.entries())queryChunks.push(param2,new StringChunk(strings[paramIndex+1]));return new SQL(queryChunks)}function fillPlaceholders(params,values){return params.map((p)=>{if(is(p,Placeholder)){if(!(p.name in values))throw Error(`No value for placeholder "${p.name}" was provided`);return values[p.name]}if(is(p,Param)&&is(p.value,Placeholder)){if(!(p.value.name in values))throw Error(`No value for placeholder "${p.value.name}" was provided`);return p.encoder.mapToDriverValue(values[p.value.name])}return p})}function isView(view){return typeof view==="object"&&view!==null&&IsDrizzleView in view}var StringChunk,SQL,Name,noopDecoder,noopEncoder,noopMapper,Param,Placeholder,IsDrizzleView,View;var init_sql=__esm(()=>{init_entity();init_enum();init_subquery();init_tracing();init_view_common();init_column();init_table();StringChunk=class StringChunk{static[entityKind]="StringChunk";value;constructor(value){this.value=Array.isArray(value)?value:[value]}getSQL(){return new SQL([this])}};SQL=class SQL{constructor(queryChunks){this.queryChunks=queryChunks;for(let chunk of queryChunks)if(is(chunk,Table)){let schemaName=chunk[Table.Symbol.Schema];this.usedTables.push(schemaName===void 0?chunk[Table.Symbol.Name]:schemaName+"."+chunk[Table.Symbol.Name])}}static[entityKind]="SQL";decoder=noopDecoder;shouldInlineParams=!1;usedTables=[];append(query){return this.queryChunks.push(...query.queryChunks),this}toQuery(config3){return tracer.startActiveSpan("drizzle.buildSQL",(span)=>{let query=this.buildQueryFromSourceParams(this.queryChunks,config3);return span?.setAttributes({"drizzle.query.text":query.sql,"drizzle.query.params":JSON.stringify(query.params)}),query})}buildQueryFromSourceParams(chunks,_config){let config3=Object.assign({},_config,{inlineParams:_config.inlineParams||this.shouldInlineParams,paramStartIndex:_config.paramStartIndex||{value:0}}),{casing,escapeName,escapeParam,prepareTyping,inlineParams,paramStartIndex}=config3;return mergeQueries(chunks.map((chunk)=>{if(is(chunk,StringChunk))return{sql:chunk.value.join(""),params:[]};if(is(chunk,Name))return{sql:escapeName(chunk.value),params:[]};if(chunk===void 0)return{sql:"",params:[]};if(Array.isArray(chunk)){let result=[new StringChunk("(")];for(let[i2,p]of chunk.entries())if(result.push(p),i2<chunk.length-1)result.push(new StringChunk(", "));return result.push(new StringChunk(")")),this.buildQueryFromSourceParams(result,config3)}if(is(chunk,SQL))return this.buildQueryFromSourceParams(chunk.queryChunks,{...config3,inlineParams:inlineParams||chunk.shouldInlineParams});if(is(chunk,Table)){let schemaName=chunk[Table.Symbol.Schema],tableName=chunk[Table.Symbol.Name];return{sql:schemaName===void 0||chunk[IsAlias]?escapeName(tableName):escapeName(schemaName)+"."+escapeName(tableName),params:[]}}if(is(chunk,Column)){let columnName=casing.getColumnCasing(chunk);if(_config.invokeSource==="indexes")return{sql:escapeName(columnName),params:[]};let schemaName=chunk.table[Table.Symbol.Schema];return{sql:chunk.table[IsAlias]||schemaName===void 0?escapeName(chunk.table[Table.Symbol.Name])+"."+escapeName(columnName):escapeName(schemaName)+"."+escapeName(chunk.table[Table.Symbol.Name])+"."+escapeName(columnName),params:[]}}if(is(chunk,View)){let schemaName=chunk[ViewBaseConfig].schema,viewName=chunk[ViewBaseConfig].name;return{sql:schemaName===void 0||chunk[ViewBaseConfig].isAlias?escapeName(viewName):escapeName(schemaName)+"."+escapeName(viewName),params:[]}}if(is(chunk,Param)){if(is(chunk.value,Placeholder))return{sql:escapeParam(paramStartIndex.value++,chunk),params:[chunk],typings:["none"]};let mappedValue=chunk.value===null?null:chunk.encoder.mapToDriverValue(chunk.value);if(is(mappedValue,SQL))return this.buildQueryFromSourceParams([mappedValue],config3);if(inlineParams)return{sql:this.mapInlineParam(mappedValue,config3),params:[]};let typings=["none"];if(prepareTyping)typings=[prepareTyping(chunk.encoder)];return{sql:escapeParam(paramStartIndex.value++,mappedValue),params:[mappedValue],typings}}if(is(chunk,Placeholder))return{sql:escapeParam(paramStartIndex.value++,chunk),params:[chunk],typings:["none"]};if(is(chunk,SQL.Aliased)&&chunk.fieldAlias!==void 0)return{sql:escapeName(chunk.fieldAlias),params:[]};if(is(chunk,Subquery)){if(chunk._.isWith)return{sql:escapeName(chunk._.alias),params:[]};return this.buildQueryFromSourceParams([new StringChunk("("),chunk._.sql,new StringChunk(") "),new Name(chunk._.alias)],config3)}if(isPgEnum(chunk)){if(chunk.schema)return{sql:escapeName(chunk.schema)+"."+escapeName(chunk.enumName),params:[]};return{sql:escapeName(chunk.enumName),params:[]}}if(isSQLWrapper(chunk)){if(chunk.shouldOmitSQLParens?.())return this.buildQueryFromSourceParams([chunk.getSQL()],config3);return this.buildQueryFromSourceParams([new StringChunk("("),chunk.getSQL(),new StringChunk(")")],config3)}if(inlineParams)return{sql:this.mapInlineParam(chunk,config3),params:[]};return{sql:escapeParam(paramStartIndex.value++,chunk),params:[chunk],typings:["none"]}}))}mapInlineParam(chunk,{escapeString}){if(chunk===null)return"null";if(typeof chunk==="number"||typeof chunk==="boolean")return chunk.toString();if(typeof chunk==="string")return escapeString(chunk);if(typeof chunk==="object"){let mappedValueAsString=chunk.toString();if(mappedValueAsString==="[object Object]")return escapeString(JSON.stringify(chunk));return escapeString(mappedValueAsString)}throw Error("Unexpected param value: "+chunk)}getSQL(){return this}as(alias){if(alias===void 0)return this;return new SQL.Aliased(this,alias)}mapWith(decoder){return this.decoder=typeof decoder==="function"?{mapFromDriverValue:decoder}:decoder,this}inlineParams(){return this.shouldInlineParams=!0,this}if(condition){return condition?this:void 0}};Name=class Name{constructor(value){this.value=value}static[entityKind]="Name";brand;getSQL(){return new SQL([this])}};noopDecoder={mapFromDriverValue:(value)=>value},noopEncoder={mapToDriverValue:(value)=>value},noopMapper={...noopDecoder,...noopEncoder};Param=class Param{constructor(value,encoder=noopEncoder){this.value=value,this.encoder=encoder}static[entityKind]="Param";brand;getSQL(){return new SQL([this])}};((sql2)=>{function empty(){return new SQL([])}sql2.empty=empty;function fromList(list){return new SQL(list)}sql2.fromList=fromList;function raw(str){return new SQL([new StringChunk(str)])}sql2.raw=raw;function join(chunks,separator){let result=[];for(let[i2,chunk]of chunks.entries()){if(i2>0&&separator!==void 0)result.push(separator);result.push(chunk)}return new SQL(result)}sql2.join=join;function identifier(value){return new Name(value)}sql2.identifier=identifier;function placeholder2(name2){return new Placeholder(name2)}sql2.placeholder=placeholder2;function param2(value,encoder){return new Param(value,encoder)}sql2.param=param2})(sql||(sql={}));((SQL2)=>{class Aliased{constructor(sql2,fieldAlias){this.sql=sql2,this.fieldAlias=fieldAlias}static[entityKind]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new Aliased(this.sql,this.fieldAlias)}}SQL2.Aliased=Aliased})(SQL||(SQL={}));Placeholder=class Placeholder{constructor(name2){this.name=name2}static[entityKind]="Placeholder";getSQL(){return new SQL([this])}};IsDrizzleView=Symbol.for("drizzle:IsDrizzleView");View=class View{static[entityKind]="View";[ViewBaseConfig];[IsDrizzleView]=!0;constructor({name:name2,schema,selectedFields,query}){this[ViewBaseConfig]={name:name2,originalName:name2,schema,selectedFields,query,isExisting:!query,isAlias:!1}}getSQL(){return new SQL([this])}};Column.prototype.getSQL=function(){return new SQL([this])};Table.prototype.getSQL=function(){return new SQL([this])};Subquery.prototype.getSQL=function(){return new SQL([this])}});function mapResultRow(columns,row,joinsNotNullableMap){let nullifyMap={},result=columns.reduce((result2,{path:path7,field},columnIndex)=>{let decoder;if(is(field,Column))decoder=field;else if(is(field,SQL))decoder=field.decoder;else decoder=field.sql.decoder;let node=result2;for(let[pathChunkIndex,pathChunk]of path7.entries())if(pathChunkIndex<path7.length-1){if(!(pathChunk in node))node[pathChunk]={};node=node[pathChunk]}else{let rawValue=row[columnIndex],value=node[pathChunk]=rawValue===null?null:decoder.mapFromDriverValue(rawValue);if(joinsNotNullableMap&&is(field,Column)&&path7.length===2){let objectName=path7[0];if(!(objectName in nullifyMap))nullifyMap[objectName]=value===null?getTableName(field.table):!1;else if(typeof nullifyMap[objectName]==="string"&&nullifyMap[objectName]!==getTableName(field.table))nullifyMap[objectName]=!1}}return result2},{});if(joinsNotNullableMap&&Object.keys(nullifyMap).length>0){for(let[objectName,tableName]of Object.entries(nullifyMap))if(typeof tableName==="string"&&!joinsNotNullableMap[tableName])result[objectName]=null}return result}function orderSelectedFields(fields,pathPrefix){return Object.entries(fields).reduce((result,[name,field])=>{if(typeof name!=="string")return result;let newPath=pathPrefix?[...pathPrefix,name]:[name];if(is(field,Column)||is(field,SQL)||is(field,SQL.Aliased))result.push({path:newPath,field});else if(is(field,Table))result.push(...orderSelectedFields(field[Table.Symbol.Columns],newPath));else result.push(...orderSelectedFields(field,newPath));return result},[])}function haveSameKeys(left,right){let leftKeys=Object.keys(left),rightKeys=Object.keys(right);if(leftKeys.length!==rightKeys.length)return!1;for(let[index,key]of leftKeys.entries())if(key!==rightKeys[index])return!1;return!0}function mapUpdateSet(table,values){let entries=Object.entries(values).filter(([,value])=>value!==void 0).map(([key,value])=>{if(is(value,SQL)||is(value,Column))return[key,value];else return[key,new Param(value,table[Table.Symbol.Columns][key])]});if(entries.length===0)throw Error("No values to set");return Object.fromEntries(entries)}function applyMixins(baseClass,extendedClasses){for(let extendedClass of extendedClasses)for(let name of Object.getOwnPropertyNames(extendedClass.prototype)){if(name==="constructor")continue;Object.defineProperty(baseClass.prototype,name,Object.getOwnPropertyDescriptor(extendedClass.prototype,name)||Object.create(null))}}function getTableColumns(table){return table[Table.Symbol.Columns]}function getViewSelectedFields(view){return view[ViewBaseConfig].selectedFields}function getTableLikeName(table){return is(table,Subquery)?table._.alias:is(table,View)?table[ViewBaseConfig].name:is(table,SQL)?void 0:table[Table.Symbol.IsAlias]?table[Table.Symbol.Name]:table[Table.Symbol.BaseName]}function getColumnNameAndConfig(a2,b){return{name:typeof a2==="string"&&a2.length>0?a2:"",config:typeof a2==="object"?a2:b}}function isConfig(data){if(typeof data!=="object"||data===null)return!1;if(data.constructor.name!=="Object")return!1;if("logger"in data){let type=typeof data.logger;if(type!=="boolean"&&(type!=="object"||typeof data.logger.logQuery!=="function")&&type!=="undefined")return!1;return!0}if("schema"in data){let type=typeof data.schema;if(type!=="object"&&type!=="undefined")return!1;return!0}if("casing"in data){let type=typeof data.casing;if(type!=="string"&&type!=="undefined")return!1;return!0}if("mode"in data){if(data.mode!=="default"||data.mode!=="planetscale"||data.mode!==void 0)return!1;return!0}if("connection"in data){let type=typeof data.connection;if(type!=="string"&&type!=="object"&&type!=="undefined")return!1;return!0}if("client"in data){let type=typeof data.client;if(type!=="object"&&type!=="function"&&type!=="undefined")return!1;return!0}if(Object.keys(data).length===0)return!0;return!1}var textDecoder2;var init_utils=__esm(()=>{init_column();init_entity();init_sql();init_subquery();init_table();init_view_common();textDecoder2=typeof TextDecoder>"u"?null:new TextDecoder});var InlineForeignKeys,EnableRLS,PgTable;var init_table2=__esm(()=>{init_entity();init_table();InlineForeignKeys=Symbol.for("drizzle:PgInlineForeignKeys"),EnableRLS=Symbol.for("drizzle:EnableRLS");PgTable=class PgTable extends Table{static[entityKind]="PgTable";static Symbol=Object.assign({},Table.Symbol,{InlineForeignKeys,EnableRLS});[InlineForeignKeys]=[];[EnableRLS]=!1;[Table.Symbol.ExtraConfigBuilder]=void 0;[Table.Symbol.ExtraConfigColumns]={}}});var PrimaryKeyBuilder,PrimaryKey;var init_primary_keys=__esm(()=>{init_entity();init_table2();PrimaryKeyBuilder=class PrimaryKeyBuilder{static[entityKind]="PgPrimaryKeyBuilder";columns;name;constructor(columns,name){this.columns=columns,this.name=name}build(table){return new PrimaryKey(table,this.columns,this.name)}};PrimaryKey=class PrimaryKey{constructor(table,columns,name){this.table=table,this.columns=columns,this.name=name}static[entityKind]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[PgTable.Symbol.Name]}_${this.columns.map((column)=>column.name).join("_")}_pk`}}});function bindIfParam(value,column){if(isDriverValueEncoder(column)&&!isSQLWrapper(value)&&!is(value,Param)&&!is(value,Placeholder)&&!is(value,Column)&&!is(value,Table)&&!is(value,View))return new Param(value,column);return value}function and(...unfilteredConditions){let conditions=unfilteredConditions.filter((c3)=>c3!==void 0);if(conditions.length===0)return;if(conditions.length===1)return new SQL(conditions);return new SQL([new StringChunk("("),sql.join(conditions,new StringChunk(" and ")),new StringChunk(")")])}function or(...unfilteredConditions){let conditions=unfilteredConditions.filter((c3)=>c3!==void 0);if(conditions.length===0)return;if(conditions.length===1)return new SQL(conditions);return new SQL([new StringChunk("("),sql.join(conditions,new StringChunk(" or ")),new StringChunk(")")])}function not(condition){return sql`not ${condition}`}function inArray(column,values){if(Array.isArray(values)){if(values.length===0)return sql`false`;return sql`${column} in ${values.map((v)=>bindIfParam(v,column))}`}return sql`${column} in ${bindIfParam(values,column)}`}function notInArray(column,values){if(Array.isArray(values)){if(values.length===0)return sql`true`;return sql`${column} not in ${values.map((v)=>bindIfParam(v,column))}`}return sql`${column} not in ${bindIfParam(values,column)}`}function isNull(value){return sql`${value} is null`}function isNotNull(value){return sql`${value} is not null`}function exists(subquery){return sql`exists ${subquery}`}function notExists(subquery){return sql`not exists ${subquery}`}function between(column,min,max){return sql`${column} between ${bindIfParam(min,column)} and ${bindIfParam(max,column)}`}function notBetween(column,min,max){return sql`${column} not between ${bindIfParam(min,column)} and ${bindIfParam(max,column)}`}function like(column,value){return sql`${column} like ${value}`}function notLike(column,value){return sql`${column} not like ${value}`}function ilike(column,value){return sql`${column} ilike ${value}`}function notIlike(column,value){return sql`${column} not ilike ${value}`}var eq=(left,right)=>{return sql`${left} = ${bindIfParam(right,left)}`},ne=(left,right)=>{return sql`${left} <> ${bindIfParam(right,left)}`},gt=(left,right)=>{return sql`${left} > ${bindIfParam(right,left)}`},gte=(left,right)=>{return sql`${left} >= ${bindIfParam(right,left)}`},lt=(left,right)=>{return sql`${left} < ${bindIfParam(right,left)}`},lte=(left,right)=>{return sql`${left} <= ${bindIfParam(right,left)}`};var init_conditions=__esm(()=>{init_column();init_entity();init_table();init_sql()});function asc(column){return sql`${column} asc`}function desc(column){return sql`${column} desc`}var init_select=__esm(()=>{init_sql()});var init_expressions=__esm(()=>{init_conditions();init_select()});function getOperators(){return{and,between,eq,exists,gt,gte,ilike,inArray,isNull,isNotNull,like,lt,lte,ne,not,notBetween,notExists,notLike,notIlike,notInArray,or,sql}}function getOrderByOperators(){return{sql,asc,desc}}function extractTablesRelationalConfig(schema,configHelpers){if(Object.keys(schema).length===1&&"default"in schema&&!is(schema.default,Table))schema=schema.default;let tableNamesMap={},relationsBuffer={},tablesConfig={};for(let[key,value]of Object.entries(schema))if(is(value,Table)){let dbName=getTableUniqueName(value),bufferedRelations=relationsBuffer[dbName];tableNamesMap[dbName]=key,tablesConfig[key]={tsName:key,dbName:value[Table.Symbol.Name],schema:value[Table.Symbol.Schema],columns:value[Table.Symbol.Columns],relations:bufferedRelations?.relations??{},primaryKey:bufferedRelations?.primaryKey??[]};for(let column of Object.values(value[Table.Symbol.Columns]))if(column.primary)tablesConfig[key].primaryKey.push(column);let extraConfig=value[Table.Symbol.ExtraConfigBuilder]?.(value[Table.Symbol.ExtraConfigColumns]);if(extraConfig){for(let configEntry of Object.values(extraConfig))if(is(configEntry,PrimaryKeyBuilder))tablesConfig[key].primaryKey.push(...configEntry.columns)}}else if(is(value,Relations)){let dbName=getTableUniqueName(value.table),tableName=tableNamesMap[dbName],relations2=value.config(configHelpers(value.table)),primaryKey;for(let[relationName,relation]of Object.entries(relations2))if(tableName){let tableConfig=tablesConfig[tableName];if(tableConfig.relations[relationName]=relation,primaryKey)tableConfig.primaryKey.push(...primaryKey)}else{if(!(dbName in relationsBuffer))relationsBuffer[dbName]={relations:{},primaryKey};relationsBuffer[dbName].relations[relationName]=relation}}return{tables:tablesConfig,tableNamesMap}}function createOne(sourceTable){return function(table,config3){return new One(sourceTable,table,config3,config3?.fields.reduce((res,f)=>res&&f.notNull,!0)??!1)}}function createMany(sourceTable){return function(referencedTable,config3){return new Many(sourceTable,referencedTable,config3)}}function normalizeRelation(schema,tableNamesMap,relation){if(is(relation,One)&&relation.config)return{fields:relation.config.fields,references:relation.config.references};let referencedTableTsName=tableNamesMap[getTableUniqueName(relation.referencedTable)];if(!referencedTableTsName)throw Error(`Table "${relation.referencedTable[Table.Symbol.Name]}" not found in schema`);let referencedTableConfig=schema[referencedTableTsName];if(!referencedTableConfig)throw Error(`Table "${referencedTableTsName}" not found in schema`);let sourceTable=relation.sourceTable,sourceTableTsName=tableNamesMap[getTableUniqueName(sourceTable)];if(!sourceTableTsName)throw Error(`Table "${sourceTable[Table.Symbol.Name]}" not found in schema`);let reverseRelations=[];for(let referencedTableRelation of Object.values(referencedTableConfig.relations))if(relation.relationName&&relation!==referencedTableRelation&&referencedTableRelation.relationName===relation.relationName||!relation.relationName&&referencedTableRelation.referencedTable===relation.sourceTable)reverseRelations.push(referencedTableRelation);if(reverseRelations.length>1)throw relation.relationName?Error(`There are multiple relations with name "${relation.relationName}" in table "${referencedTableTsName}"`):Error(`There are multiple relations between "${referencedTableTsName}" and "${relation.sourceTable[Table.Symbol.Name]}". Please specify relation name`);if(reverseRelations[0]&&is(reverseRelations[0],One)&&reverseRelations[0].config)return{fields:reverseRelations[0].config.references,references:reverseRelations[0].config.fields};throw Error(`There is not enough information to infer relation "${sourceTableTsName}.${relation.fieldName}"`)}function createTableRelationsHelpers(sourceTable){return{one:createOne(sourceTable),many:createMany(sourceTable)}}function mapRelationalRow(tablesConfig,tableConfig,row,buildQueryResultSelection,mapColumnValue=(value)=>value){let result={};for(let[selectionItemIndex,selectionItem]of buildQueryResultSelection.entries())if(selectionItem.isJson){let relation=tableConfig.relations[selectionItem.tsKey],rawSubRows=row[selectionItemIndex],subRows=typeof rawSubRows==="string"?JSON.parse(rawSubRows):rawSubRows;result[selectionItem.tsKey]=is(relation,One)?subRows&&mapRelationalRow(tablesConfig,tablesConfig[selectionItem.relationTableTsKey],subRows,selectionItem.selection,mapColumnValue):subRows.map((subRow)=>mapRelationalRow(tablesConfig,tablesConfig[selectionItem.relationTableTsKey],subRow,selectionItem.selection,mapColumnValue))}else{let value=mapColumnValue(row[selectionItemIndex]),field=selectionItem.field,decoder;if(is(field,Column))decoder=field;else if(is(field,SQL))decoder=field.decoder;else decoder=field.sql.decoder;result[selectionItem.tsKey]=value===null?null:decoder.mapFromDriverValue(value)}return result}var Relation,Relations,One,Many;var init_relations=__esm(()=>{init_table();init_column();init_entity();init_primary_keys();init_expressions();init_sql();Relation=class Relation{constructor(sourceTable,referencedTable,relationName){this.sourceTable=sourceTable,this.referencedTable=referencedTable,this.relationName=relationName,this.referencedTableName=referencedTable[Table.Symbol.Name]}static[entityKind]="Relation";referencedTableName;fieldName};Relations=class Relations{constructor(table,config3){this.table=table,this.config=config3}static[entityKind]="Relations"};One=class One extends Relation{constructor(sourceTable,referencedTable,config3,isNullable){super(sourceTable,referencedTable,config3?.relationName);this.config=config3,this.isNullable=isNullable}static[entityKind]="One";withFieldName(fieldName){let relation=new One(this.sourceTable,this.referencedTable,this.config,this.isNullable);return relation.fieldName=fieldName,relation}};Many=class Many extends Relation{constructor(sourceTable,referencedTable,config3){super(sourceTable,referencedTable,config3?.relationName);this.config=config3}static[entityKind]="Many";withFieldName(fieldName){let relation=new Many(this.sourceTable,this.referencedTable,this.config);return relation.fieldName=fieldName,relation}}});function aliasedTable(table,tableAlias){return new Proxy(table,new TableAliasProxyHandler(tableAlias,!1))}function aliasedTableColumn(column,tableAlias){return new Proxy(column,new ColumnAliasProxyHandler(new Proxy(column.table,new TableAliasProxyHandler(tableAlias,!1))))}function mapColumnsInAliasedSQLToAlias(query,alias){return new SQL.Aliased(mapColumnsInSQLToAlias(query.sql,alias),query.fieldAlias)}function mapColumnsInSQLToAlias(query,alias){return sql.join(query.queryChunks.map((c3)=>{if(is(c3,Column))return aliasedTableColumn(c3,alias);if(is(c3,SQL))return mapColumnsInSQLToAlias(c3,alias);if(is(c3,SQL.Aliased))return mapColumnsInAliasedSQLToAlias(c3,alias);return c3}))}var ColumnAliasProxyHandler,TableAliasProxyHandler;var init_alias=__esm(()=>{init_column();init_entity();init_sql();init_table();init_view_common();ColumnAliasProxyHandler=class ColumnAliasProxyHandler{constructor(table){this.table=table}static[entityKind]="ColumnAliasProxyHandler";get(columnObj,prop){if(prop==="table")return this.table;return columnObj[prop]}};TableAliasProxyHandler=class TableAliasProxyHandler{constructor(alias,replaceOriginalName){this.alias=alias,this.replaceOriginalName=replaceOriginalName}static[entityKind]="TableAliasProxyHandler";get(target,prop){if(prop===Table.Symbol.IsAlias)return!0;if(prop===Table.Symbol.Name)return this.alias;if(this.replaceOriginalName&&prop===Table.Symbol.OriginalName)return this.alias;if(prop===ViewBaseConfig)return{...target[ViewBaseConfig],name:this.alias,isAlias:!0};if(prop===Table.Symbol.Columns){let columns=target[Table.Symbol.Columns];if(!columns)return columns;let proxiedColumns={};return Object.keys(columns).map((key)=>{proxiedColumns[key]=new Proxy(columns[key],new ColumnAliasProxyHandler(new Proxy(target,this)))}),proxiedColumns}let value=target[prop];if(is(value,Column))return new Proxy(value,new ColumnAliasProxyHandler(new Proxy(target,this)));return value}}});var SelectionProxyHandler;var init_selection_proxy=__esm(()=>{init_alias();init_column();init_entity();init_sql();init_subquery();init_view_common();SelectionProxyHandler=class SelectionProxyHandler{static[entityKind]="SelectionProxyHandler";config;constructor(config3){this.config={...config3}}get(subquery,prop){if(prop==="_")return{...subquery._,selectedFields:new Proxy(subquery._.selectedFields,this)};if(prop===ViewBaseConfig)return{...subquery[ViewBaseConfig],selectedFields:new Proxy(subquery[ViewBaseConfig].selectedFields,this)};if(typeof prop==="symbol")return subquery[prop];let value=(is(subquery,Subquery)?subquery._.selectedFields:is(subquery,View)?subquery[ViewBaseConfig].selectedFields:subquery)[prop];if(is(value,SQL.Aliased)){if(this.config.sqlAliasedBehavior==="sql"&&!value.isSelectionField)return value.sql;let newValue=value.clone();return newValue.isSelectionField=!0,newValue}if(is(value,SQL)){if(this.config.sqlBehavior==="sql")return value;throw Error(`You tried to reference "${prop}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}if(is(value,Column)){if(this.config.alias)return new Proxy(value,new ColumnAliasProxyHandler(new Proxy(value.table,new TableAliasProxyHandler(this.config.alias,this.config.replaceOriginalName??!1))));return value}if(typeof value!=="object"||value===null)return value;return new Proxy(value,new SelectionProxyHandler(this.config))}}});var QueryPromise;var init_query_promise=__esm(()=>{init_entity();QueryPromise=class QueryPromise{static[entityKind]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(onRejected){return this.then(void 0,onRejected)}finally(onFinally){return this.then((value)=>{return onFinally?.(),value},(reason)=>{throw onFinally?.(),reason})}then(onFulfilled,onRejected){return this.execute().then(onFulfilled,onRejected)}}});var ForeignKeyBuilder,ForeignKey;var init_foreign_keys=__esm(()=>{init_entity();init_table_utils();ForeignKeyBuilder=class ForeignKeyBuilder{static[entityKind]="SQLiteForeignKeyBuilder";reference;_onUpdate;_onDelete;constructor(config3,actions){if(this.reference=()=>{let{name,columns,foreignColumns}=config3();return{name,columns,foreignTable:foreignColumns[0].table,foreignColumns}},actions)this._onUpdate=actions.onUpdate,this._onDelete=actions.onDelete}onUpdate(action){return this._onUpdate=action,this}onDelete(action){return this._onDelete=action,this}build(table){return new ForeignKey(table,this)}};ForeignKey=class ForeignKey{constructor(table,builder){this.table=table,this.reference=builder.reference,this.onUpdate=builder._onUpdate,this.onDelete=builder._onDelete}static[entityKind]="SQLiteForeignKey";reference;onUpdate;onDelete;getName(){let{name,columns,foreignColumns}=this.reference(),columnNames=columns.map((column)=>column.name),foreignColumnNames=foreignColumns.map((column)=>column.name),chunks=[this.table[TableName],...columnNames,foreignColumns[0].table[TableName],...foreignColumnNames];return name??`${chunks.join("_")}_fk`}}});function uniqueKeyName2(table,columns){return`${table[TableName]}_${columns.join("_")}_unique`}var UniqueConstraintBuilder,UniqueConstraint;var init_unique_constraint2=__esm(()=>{init_entity();init_table_utils();UniqueConstraintBuilder=class UniqueConstraintBuilder{constructor(columns,name){this.name=name,this.columns=columns}static[entityKind]="SQLiteUniqueConstraintBuilder";columns;build(table){return new UniqueConstraint(table,this.columns,this.name)}};UniqueConstraint=class UniqueConstraint{constructor(table,columns,name){this.table=table,this.columns=columns,this.name=name??uniqueKeyName2(this.table,this.columns.map((column)=>column.name))}static[entityKind]="SQLiteUniqueConstraint";columns;name;getName(){return this.name}}});var SQLiteColumnBuilder,SQLiteColumn;var init_common2=__esm(()=>{init_column_builder();init_column();init_entity();init_foreign_keys();init_unique_constraint2();SQLiteColumnBuilder=class SQLiteColumnBuilder extends ColumnBuilder{static[entityKind]="SQLiteColumnBuilder";foreignKeyConfigs=[];references(ref,actions={}){return this.foreignKeyConfigs.push({ref,actions}),this}unique(name){return this.config.isUnique=!0,this.config.uniqueName=name,this}generatedAlwaysAs(as,config3){return this.config.generated={as,type:"always",mode:config3?.mode??"virtual"},this}buildForeignKeys(column,table){return this.foreignKeyConfigs.map(({ref,actions})=>{return((ref2,actions2)=>{let builder=new ForeignKeyBuilder(()=>{let foreignColumn=ref2();return{columns:[column],foreignColumns:[foreignColumn]}});if(actions2.onUpdate)builder.onUpdate(actions2.onUpdate);if(actions2.onDelete)builder.onDelete(actions2.onDelete);return builder.build(table)})(ref,actions)})}};SQLiteColumn=class SQLiteColumn extends Column{constructor(table,config3){if(!config3.uniqueName)config3.uniqueName=uniqueKeyName2(table,[config3.name]);super(table,config3);this.table=table}static[entityKind]="SQLiteColumn"}});function blob(a2,b){let{name,config:config3}=getColumnNameAndConfig(a2,b);if(config3?.mode==="json")return new SQLiteBlobJsonBuilder(name);if(config3?.mode==="bigint")return new SQLiteBigIntBuilder(name);return new SQLiteBlobBufferBuilder(name)}var SQLiteBigIntBuilder,SQLiteBigInt,SQLiteBlobJsonBuilder,SQLiteBlobJson,SQLiteBlobBufferBuilder,SQLiteBlobBuffer;var init_blob=__esm(()=>{init_entity();init_utils();init_common2();SQLiteBigIntBuilder=class SQLiteBigIntBuilder extends SQLiteColumnBuilder{static[entityKind]="SQLiteBigIntBuilder";constructor(name){super(name,"bigint","SQLiteBigInt")}build(table){return new SQLiteBigInt(table,this.config)}};SQLiteBigInt=class SQLiteBigInt extends SQLiteColumn{static[entityKind]="SQLiteBigInt";getSQLType(){return"blob"}mapFromDriverValue(value){if(typeof Buffer<"u"&&Buffer.from){let buf=Buffer.isBuffer(value)?value:value instanceof ArrayBuffer?Buffer.from(value):value.buffer?Buffer.from(value.buffer,value.byteOffset,value.byteLength):Buffer.from(value);return BigInt(buf.toString("utf8"))}return BigInt(textDecoder2.decode(value))}mapToDriverValue(value){return Buffer.from(value.toString())}};SQLiteBlobJsonBuilder=class SQLiteBlobJsonBuilder extends SQLiteColumnBuilder{static[entityKind]="SQLiteBlobJsonBuilder";constructor(name){super(name,"json","SQLiteBlobJson")}build(table){return new SQLiteBlobJson(table,this.config)}};SQLiteBlobJson=class SQLiteBlobJson extends SQLiteColumn{static[entityKind]="SQLiteBlobJson";getSQLType(){return"blob"}mapFromDriverValue(value){if(typeof Buffer<"u"&&Buffer.from){let buf=Buffer.isBuffer(value)?value:value instanceof ArrayBuffer?Buffer.from(value):value.buffer?Buffer.from(value.buffer,value.byteOffset,value.byteLength):Buffer.from(value);return JSON.parse(buf.toString("utf8"))}return JSON.parse(textDecoder2.decode(value))}mapToDriverValue(value){return Buffer.from(JSON.stringify(value))}};SQLiteBlobBufferBuilder=class SQLiteBlobBufferBuilder extends SQLiteColumnBuilder{static[entityKind]="SQLiteBlobBufferBuilder";constructor(name){super(name,"buffer","SQLiteBlobBuffer")}build(table){return new SQLiteBlobBuffer(table,this.config)}};SQLiteBlobBuffer=class SQLiteBlobBuffer extends SQLiteColumn{static[entityKind]="SQLiteBlobBuffer";mapFromDriverValue(value){if(Buffer.isBuffer(value))return value;return Buffer.from(value)}getSQLType(){return"blob"}}});function customType(customTypeParams){return(a2,b)=>{let{name,config:config3}=getColumnNameAndConfig(a2,b);return new SQLiteCustomColumnBuilder(name,config3,customTypeParams)}}var SQLiteCustomColumnBuilder,SQLiteCustomColumn;var init_custom2=__esm(()=>{init_entity();init_utils();init_common2();SQLiteCustomColumnBuilder=class SQLiteCustomColumnBuilder extends SQLiteColumnBuilder{static[entityKind]="SQLiteCustomColumnBuilder";constructor(name,fieldConfig,customTypeParams){super(name,"custom","SQLiteCustomColumn");this.config.fieldConfig=fieldConfig,this.config.customTypeParams=customTypeParams}build(table){return new SQLiteCustomColumn(table,this.config)}};SQLiteCustomColumn=class SQLiteCustomColumn extends SQLiteColumn{static[entityKind]="SQLiteCustomColumn";sqlName;mapTo;mapFrom;constructor(table,config3){super(table,config3);this.sqlName=config3.customTypeParams.dataType(config3.fieldConfig),this.mapTo=config3.customTypeParams.toDriver,this.mapFrom=config3.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(value){return typeof this.mapFrom==="function"?this.mapFrom(value):value}mapToDriverValue(value){return typeof this.mapTo==="function"?this.mapTo(value):value}}});function integer2(a2,b){let{name,config:config3}=getColumnNameAndConfig(a2,b);if(config3?.mode==="timestamp"||config3?.mode==="timestamp_ms")return new SQLiteTimestampBuilder(name,config3.mode);if(config3?.mode==="boolean")return new SQLiteBooleanBuilder(name,config3.mode);return new SQLiteIntegerBuilder(name)}var SQLiteBaseIntegerBuilder,SQLiteBaseInteger,SQLiteIntegerBuilder,SQLiteInteger,SQLiteTimestampBuilder,SQLiteTimestamp,SQLiteBooleanBuilder,SQLiteBoolean;var init_integer=__esm(()=>{init_entity();init_sql();init_utils();init_common2();SQLiteBaseIntegerBuilder=class SQLiteBaseIntegerBuilder extends SQLiteColumnBuilder{static[entityKind]="SQLiteBaseIntegerBuilder";constructor(name,dataType,columnType){super(name,dataType,columnType);this.config.autoIncrement=!1}primaryKey(config3){if(config3?.autoIncrement)this.config.autoIncrement=!0;return this.config.hasDefault=!0,super.primaryKey()}};SQLiteBaseInteger=class SQLiteBaseInteger extends SQLiteColumn{static[entityKind]="SQLiteBaseInteger";autoIncrement=this.config.autoIncrement;getSQLType(){return"integer"}};SQLiteIntegerBuilder=class SQLiteIntegerBuilder extends SQLiteBaseIntegerBuilder{static[entityKind]="SQLiteIntegerBuilder";constructor(name){super(name,"number","SQLiteInteger")}build(table){return new SQLiteInteger(table,this.config)}};SQLiteInteger=class SQLiteInteger extends SQLiteBaseInteger{static[entityKind]="SQLiteInteger"};SQLiteTimestampBuilder=class SQLiteTimestampBuilder extends SQLiteBaseIntegerBuilder{static[entityKind]="SQLiteTimestampBuilder";constructor(name,mode){super(name,"date","SQLiteTimestamp");this.config.mode=mode}defaultNow(){return this.default(sql`(cast((julianday('now') - 2440587.5)*86400000 as integer))`)}build(table){return new SQLiteTimestamp(table,this.config)}};SQLiteTimestamp=class SQLiteTimestamp extends SQLiteBaseInteger{static[entityKind]="SQLiteTimestamp";mode=this.config.mode;mapFromDriverValue(value){if(this.config.mode==="timestamp")return new Date(value*1000);return new Date(value)}mapToDriverValue(value){let unix=value.getTime();if(this.config.mode==="timestamp")return Math.floor(unix/1000);return unix}};SQLiteBooleanBuilder=class SQLiteBooleanBuilder extends SQLiteBaseIntegerBuilder{static[entityKind]="SQLiteBooleanBuilder";constructor(name,mode){super(name,"boolean","SQLiteBoolean");this.config.mode=mode}build(table){return new SQLiteBoolean(table,this.config)}};SQLiteBoolean=class SQLiteBoolean extends SQLiteBaseInteger{static[entityKind]="SQLiteBoolean";mode=this.config.mode;mapFromDriverValue(value){return Number(value)===1}mapToDriverValue(value){return value?1:0}}});function numeric(a2,b){let{name,config:config3}=getColumnNameAndConfig(a2,b),mode=config3?.mode;return mode==="number"?new SQLiteNumericNumberBuilder(name):mode==="bigint"?new SQLiteNumericBigIntBuilder(name):new SQLiteNumericBuilder(name)}var SQLiteNumericBuilder,SQLiteNumeric,SQLiteNumericNumberBuilder,SQLiteNumericNumber,SQLiteNumericBigIntBuilder,SQLiteNumericBigInt;var init_numeric=__esm(()=>{init_entity();init_utils();init_common2();SQLiteNumericBuilder=class SQLiteNumericBuilder extends SQLiteColumnBuilder{static[entityKind]="SQLiteNumericBuilder";constructor(name){super(name,"string","SQLiteNumeric")}build(table){return new SQLiteNumeric(table,this.config)}};SQLiteNumeric=class SQLiteNumeric extends SQLiteColumn{static[entityKind]="SQLiteNumeric";mapFromDriverValue(value){if(typeof value==="string")return value;return String(value)}getSQLType(){return"numeric"}};SQLiteNumericNumberBuilder=class SQLiteNumericNumberBuilder extends SQLiteColumnBuilder{static[entityKind]="SQLiteNumericNumberBuilder";constructor(name){super(name,"number","SQLiteNumericNumber")}build(table){return new SQLiteNumericNumber(table,this.config)}};SQLiteNumericNumber=class SQLiteNumericNumber extends SQLiteColumn{static[entityKind]="SQLiteNumericNumber";mapFromDriverValue(value){if(typeof value==="number")return value;return Number(value)}mapToDriverValue=String;getSQLType(){return"numeric"}};SQLiteNumericBigIntBuilder=class SQLiteNumericBigIntBuilder extends SQLiteColumnBuilder{static[entityKind]="SQLiteNumericBigIntBuilder";constructor(name){super(name,"bigint","SQLiteNumericBigInt")}build(table){return new SQLiteNumericBigInt(table,this.config)}};SQLiteNumericBigInt=class SQLiteNumericBigInt extends SQLiteColumn{static[entityKind]="SQLiteNumericBigInt";mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return"numeric"}}});function real(name){return new SQLiteRealBuilder(name??"")}var SQLiteRealBuilder,SQLiteReal;var init_real=__esm(()=>{init_entity();init_common2();SQLiteRealBuilder=class SQLiteRealBuilder extends SQLiteColumnBuilder{static[entityKind]="SQLiteRealBuilder";constructor(name){super(name,"number","SQLiteReal")}build(table){return new SQLiteReal(table,this.config)}};SQLiteReal=class SQLiteReal extends SQLiteColumn{static[entityKind]="SQLiteReal";getSQLType(){return"real"}}});function text(a2,b={}){let{name,config:config3}=getColumnNameAndConfig(a2,b);if(config3.mode==="json")return new SQLiteTextJsonBuilder(name);return new SQLiteTextBuilder(name,config3)}var SQLiteTextBuilder,SQLiteText,SQLiteTextJsonBuilder,SQLiteTextJson;var init_text=__esm(()=>{init_entity();init_utils();init_common2();SQLiteTextBuilder=class SQLiteTextBuilder extends SQLiteColumnBuilder{static[entityKind]="SQLiteTextBuilder";constructor(name,config3){super(name,"string","SQLiteText");this.config.enumValues=config3.enum,this.config.length=config3.length}build(table){return new SQLiteText(table,this.config)}};SQLiteText=class SQLiteText extends SQLiteColumn{static[entityKind]="SQLiteText";enumValues=this.config.enumValues;length=this.config.length;constructor(table,config3){super(table,config3)}getSQLType(){return`text${this.config.length?`(${this.config.length})`:""}`}};SQLiteTextJsonBuilder=class SQLiteTextJsonBuilder extends SQLiteColumnBuilder{static[entityKind]="SQLiteTextJsonBuilder";constructor(name){super(name,"json","SQLiteTextJson")}build(table){return new SQLiteTextJson(table,this.config)}};SQLiteTextJson=class SQLiteTextJson extends SQLiteColumn{static[entityKind]="SQLiteTextJson";getSQLType(){return"text"}mapFromDriverValue(value){return JSON.parse(value)}mapToDriverValue(value){return JSON.stringify(value)}}});function getSQLiteColumnBuilders(){return{blob,customType,integer:integer2,numeric,real,text}}var init_all=__esm(()=>{init_blob();init_custom2();init_integer();init_numeric();init_real();init_text()});function sqliteTableBase(name,columns,extraConfig,schema,baseName=name){let rawTable=new SQLiteTable(name,schema,baseName),parsedColumns=typeof columns==="function"?columns(getSQLiteColumnBuilders()):columns,builtColumns=Object.fromEntries(Object.entries(parsedColumns).map(([name2,colBuilderBase])=>{let colBuilder=colBuilderBase;colBuilder.setName(name2);let column=colBuilder.build(rawTable);return rawTable[InlineForeignKeys2].push(...colBuilder.buildForeignKeys(column,rawTable)),[name2,column]})),table=Object.assign(rawTable,builtColumns);if(table[Table.Symbol.Columns]=builtColumns,table[Table.Symbol.ExtraConfigColumns]=builtColumns,extraConfig)table[SQLiteTable.Symbol.ExtraConfigBuilder]=extraConfig;return table}var InlineForeignKeys2,SQLiteTable,sqliteTable=(name,columns,extraConfig)=>{return sqliteTableBase(name,columns,extraConfig)};var init_table3=__esm(()=>{init_entity();init_table();init_all();InlineForeignKeys2=Symbol.for("drizzle:SQLiteInlineForeignKeys");SQLiteTable=class SQLiteTable extends Table{static[entityKind]="SQLiteTable";static Symbol=Object.assign({},Table.Symbol,{InlineForeignKeys:InlineForeignKeys2});[Table.Symbol.Columns];[InlineForeignKeys2]=[];[Table.Symbol.ExtraConfigBuilder]=void 0}});var CheckBuilder,Check;var init_checks3=__esm(()=>{init_entity();CheckBuilder=class CheckBuilder{constructor(name,value){this.name=name,this.value=value}static[entityKind]="SQLiteCheckBuilder";brand;build(table){return new Check(table,this)}};Check=class Check{constructor(table,builder){this.table=table,this.name=builder.name,this.value=builder.value}static[entityKind]="SQLiteCheck";name;value}});function index(name){return new IndexBuilderOn(name,!1)}var IndexBuilderOn,IndexBuilder,Index;var init_indexes=__esm(()=>{init_entity();IndexBuilderOn=class IndexBuilderOn{constructor(name,unique){this.name=name,this.unique=unique}static[entityKind]="SQLiteIndexBuilderOn";on(...columns){return new IndexBuilder(this.name,columns,this.unique)}};IndexBuilder=class IndexBuilder{static[entityKind]="SQLiteIndexBuilder";config;constructor(name,columns,unique){this.config={name,columns,unique,where:void 0}}where(condition){return this.config.where=condition,this}build(table){return new Index(this.config,table)}};Index=class Index{static[entityKind]="SQLiteIndex";config;constructor(config3,table){this.config={...config3,table}}}});var PrimaryKeyBuilder2,PrimaryKey2;var init_primary_keys2=__esm(()=>{init_entity();init_table3();PrimaryKeyBuilder2=class PrimaryKeyBuilder2{static[entityKind]="SQLitePrimaryKeyBuilder";columns;name;constructor(columns,name){this.columns=columns,this.name=name}build(table){return new PrimaryKey2(table,this.columns,this.name)}};PrimaryKey2=class PrimaryKey2{constructor(table,columns,name){this.table=table,this.columns=columns,this.name=name}static[entityKind]="SQLitePrimaryKey";columns;name;getName(){return this.name??`${this.table[SQLiteTable.Symbol.Name]}_${this.columns.map((column)=>column.name).join("_")}_pk`}}});function getTableConfig(table){let columns=Object.values(table[SQLiteTable.Symbol.Columns]),indexes=[],checks3=[],primaryKeys=[],uniqueConstraints=[],foreignKeys=Object.values(table[SQLiteTable.Symbol.InlineForeignKeys]),name=table[Table.Symbol.Name],extraConfigBuilder=table[SQLiteTable.Symbol.ExtraConfigBuilder];if(extraConfigBuilder!==void 0){let extraConfig=extraConfigBuilder(table[SQLiteTable.Symbol.Columns]),extraValues=Array.isArray(extraConfig)?extraConfig.flat(1):Object.values(extraConfig);for(let builder of Object.values(extraValues))if(is(builder,IndexBuilder))indexes.push(builder.build(table));else if(is(builder,CheckBuilder))checks3.push(builder.build(table));else if(is(builder,UniqueConstraintBuilder))uniqueConstraints.push(builder.build(table));else if(is(builder,PrimaryKeyBuilder2))primaryKeys.push(builder.build(table));else if(is(builder,ForeignKeyBuilder))foreignKeys.push(builder.build(table))}return{columns,indexes,foreignKeys,checks:checks3,primaryKeys,uniqueConstraints,name}}function extractUsedTable(table){if(is(table,SQLiteTable))return[`${table[Table.Symbol.BaseName]}`];if(is(table,Subquery))return table._.usedTables??[];if(is(table,SQL))return table.usedTables??[];return[]}var init_utils2=__esm(()=>{init_entity();init_sql();init_subquery();init_table();init_checks3();init_foreign_keys();init_indexes();init_primary_keys2();init_table3();init_unique_constraint2()});var SQLiteDeleteBase;var init_delete=__esm(()=>{init_entity();init_query_promise();init_selection_proxy();init_table3();init_table();init_utils();init_utils2();SQLiteDeleteBase=class SQLiteDeleteBase extends QueryPromise{constructor(table,session,dialect,withList){super();this.table=table,this.session=session,this.dialect=dialect,this.config={table,withList}}static[entityKind]="SQLiteDelete";config;where(where){return this.config.where=where,this}orderBy(...columns){if(typeof columns[0]==="function"){let orderBy=columns[0](new Proxy(this.config.table[Table.Symbol.Columns],new SelectionProxyHandler({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),orderByArray=Array.isArray(orderBy)?orderBy:[orderBy];this.config.orderBy=orderByArray}else{let orderByArray=columns;this.config.orderBy=orderByArray}return this}limit(limit){return this.config.limit=limit,this}returning(fields=this.table[SQLiteTable.Symbol.Columns]){return this.config.returning=orderSelectedFields(fields),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){let{typings:_typings,...rest}=this.dialect.sqlToQuery(this.getSQL());return rest}_prepare(isOneTimeQuery=!0){return this.session[isOneTimeQuery?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"delete",tables:extractUsedTable(this.config.table)})}prepare(){return this._prepare(!1)}run=(placeholderValues)=>{return this._prepare().run(placeholderValues)};all=(placeholderValues)=>{return this._prepare().all(placeholderValues)};get=(placeholderValues)=>{return this._prepare().get(placeholderValues)};values=(placeholderValues)=>{return this._prepare().values(placeholderValues)};async execute(placeholderValues){return this._prepare().execute(placeholderValues)}$dynamic(){return this}}});function toSnakeCase(input){return(input.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map((word)=>word.toLowerCase()).join("_")}function toCamelCase(input){return(input.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).reduce((acc,word,i2)=>{let formattedWord=i2===0?word.toLowerCase():`${word[0].toUpperCase()}${word.slice(1)}`;return acc+formattedWord},"")}function noopCase(input){return input}var CasingCache;var init_casing=__esm(()=>{init_entity();init_table();CasingCache=class CasingCache{static[entityKind]="CasingCache";cache={};cachedTables={};convert;constructor(casing){this.convert=casing==="snake_case"?toSnakeCase:casing==="camelCase"?toCamelCase:noopCase}getColumnCasing(column){if(!column.keyAsName)return column.name;let schema=column.table[Table.Symbol.Schema]??"public",tableName=column.table[Table.Symbol.OriginalName],key=`${schema}.${tableName}.${column.name}`;if(!this.cache[key])this.cacheTable(column.table);return this.cache[key]}cacheTable(table){let schema=table[Table.Symbol.Schema]??"public",tableName=table[Table.Symbol.OriginalName],tableKey=`${schema}.${tableName}`;if(!this.cachedTables[tableKey]){for(let column of Object.values(table[Table.Symbol.Columns])){let columnKey=`${tableKey}.${column.name}`;this.cache[columnKey]=this.convert(column.name)}this.cachedTables[tableKey]=!0}}clearCache(){this.cache={},this.cachedTables={}}}});var DrizzleError,DrizzleQueryError,TransactionRollbackError;var init_errors4=__esm(()=>{init_entity();DrizzleError=class DrizzleError extends Error{static[entityKind]="DrizzleError";constructor({message,cause}){super(message);this.name="DrizzleError",this.cause=cause}};DrizzleQueryError=class DrizzleQueryError extends Error{constructor(query,params,cause){super(`Failed query: ${query}
|
|
246
|
+
params: ${params}`);if(this.query=query,this.params=params,this.cause=cause,Error.captureStackTrace(this,DrizzleQueryError),cause)this.cause=cause}};TransactionRollbackError=class TransactionRollbackError extends DrizzleError{static[entityKind]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}});function count2(expression){return sql`count(${expression||sql.raw("*")})`.mapWith(Number)}var init_aggregate=__esm(()=>{init_sql()});var init_vector=()=>{};var init_functions=__esm(()=>{init_aggregate();init_vector()});var init_sql2=__esm(()=>{init_expressions();init_functions();init_sql()});var init_columns=__esm(()=>{init_blob();init_common2();init_custom2();init_integer();init_numeric();init_real();init_text()});var SQLiteViewBase;var init_view_base=__esm(()=>{init_entity();init_sql();SQLiteViewBase=class SQLiteViewBase extends View{static[entityKind]="SQLiteViewBase"}});var SQLiteDialect,SQLiteSyncDialect,SQLiteAsyncDialect;var init_dialect=__esm(()=>{init_alias();init_casing();init_column();init_entity();init_errors4();init_relations();init_sql2();init_sql();init_columns();init_table3();init_subquery();init_table();init_utils();init_view_common();init_view_base();SQLiteDialect=class SQLiteDialect{static[entityKind]="SQLiteDialect";casing;constructor(config3){this.casing=new CasingCache(config3?.casing)}escapeName(name){return`"${name}"`}escapeParam(_num){return"?"}escapeString(str){return`'${str.replace(/'/g,"''")}'`}buildWithCTE(queries){if(!queries?.length)return;let withSqlChunks=[sql`with `];for(let[i2,w]of queries.entries())if(withSqlChunks.push(sql`${sql.identifier(w._.alias)} as (${w._.sql})`),i2<queries.length-1)withSqlChunks.push(sql`, `);return withSqlChunks.push(sql` `),sql.join(withSqlChunks)}buildDeleteQuery({table,where,returning,withList,limit,orderBy}){let withSql=this.buildWithCTE(withList),returningSql=returning?sql` returning ${this.buildSelection(returning,{isSingleTable:!0})}`:void 0,whereSql=where?sql` where ${where}`:void 0,orderBySql=this.buildOrderBy(orderBy),limitSql=this.buildLimit(limit);return sql`${withSql}delete from ${table}${whereSql}${returningSql}${orderBySql}${limitSql}`}buildUpdateSet(table,set2){let tableColumns=table[Table.Symbol.Columns],columnNames=Object.keys(tableColumns).filter((colName)=>set2[colName]!==void 0||tableColumns[colName]?.onUpdateFn!==void 0),setSize=columnNames.length;return sql.join(columnNames.flatMap((colName,i2)=>{let col=tableColumns[colName],value=set2[colName]??sql.param(col.onUpdateFn(),col),res=sql`${sql.identifier(this.casing.getColumnCasing(col))} = ${value}`;if(i2<setSize-1)return[res,sql.raw(", ")];return[res]}))}buildUpdateQuery({table,set:set2,where,returning,withList,joins,from,limit,orderBy}){let withSql=this.buildWithCTE(withList),setSql=this.buildUpdateSet(table,set2),fromSql=from&&sql.join([sql.raw(" from "),this.buildFromTable(from)]),joinsSql=this.buildJoins(joins),returningSql=returning?sql` returning ${this.buildSelection(returning,{isSingleTable:!0})}`:void 0,whereSql=where?sql` where ${where}`:void 0,orderBySql=this.buildOrderBy(orderBy),limitSql=this.buildLimit(limit);return sql`${withSql}update ${table} set ${setSql}${fromSql}${joinsSql}${whereSql}${returningSql}${orderBySql}${limitSql}`}buildSelection(fields,{isSingleTable=!1}={}){let columnsLen=fields.length,chunks=fields.flatMap(({field},i2)=>{let chunk=[];if(is(field,SQL.Aliased)&&field.isSelectionField)chunk.push(sql.identifier(field.fieldAlias));else if(is(field,SQL.Aliased)||is(field,SQL)){let query=is(field,SQL.Aliased)?field.sql:field;if(isSingleTable)chunk.push(new SQL(query.queryChunks.map((c3)=>{if(is(c3,Column))return sql.identifier(this.casing.getColumnCasing(c3));return c3})));else chunk.push(query);if(is(field,SQL.Aliased))chunk.push(sql` as ${sql.identifier(field.fieldAlias)}`)}else if(is(field,Column)){let tableName=field.table[Table.Symbol.Name];if(field.columnType==="SQLiteNumericBigInt")if(isSingleTable)chunk.push(sql`cast(${sql.identifier(this.casing.getColumnCasing(field))} as text)`);else chunk.push(sql`cast(${sql.identifier(tableName)}.${sql.identifier(this.casing.getColumnCasing(field))} as text)`);else if(isSingleTable)chunk.push(sql.identifier(this.casing.getColumnCasing(field)));else chunk.push(sql`${sql.identifier(tableName)}.${sql.identifier(this.casing.getColumnCasing(field))}`)}if(i2<columnsLen-1)chunk.push(sql`, `);return chunk});return sql.join(chunks)}buildJoins(joins){if(!joins||joins.length===0)return;let joinsArray=[];if(joins)for(let[index2,joinMeta]of joins.entries()){if(index2===0)joinsArray.push(sql` `);let table=joinMeta.table,onSql=joinMeta.on?sql` on ${joinMeta.on}`:void 0;if(is(table,SQLiteTable)){let tableName=table[SQLiteTable.Symbol.Name],tableSchema=table[SQLiteTable.Symbol.Schema],origTableName=table[SQLiteTable.Symbol.OriginalName],alias=tableName===origTableName?void 0:joinMeta.alias;joinsArray.push(sql`${sql.raw(joinMeta.joinType)} join ${tableSchema?sql`${sql.identifier(tableSchema)}.`:void 0}${sql.identifier(origTableName)}${alias&&sql` ${sql.identifier(alias)}`}${onSql}`)}else joinsArray.push(sql`${sql.raw(joinMeta.joinType)} join ${table}${onSql}`);if(index2<joins.length-1)joinsArray.push(sql` `)}return sql.join(joinsArray)}buildLimit(limit){return typeof limit==="object"||typeof limit==="number"&&limit>=0?sql` limit ${limit}`:void 0}buildOrderBy(orderBy){let orderByList=[];if(orderBy){for(let[index2,orderByValue]of orderBy.entries())if(orderByList.push(orderByValue),index2<orderBy.length-1)orderByList.push(sql`, `)}return orderByList.length>0?sql` order by ${sql.join(orderByList)}`:void 0}buildFromTable(table){if(is(table,Table)&&table[Table.Symbol.IsAlias])return sql`${sql`${sql.identifier(table[Table.Symbol.Schema]??"")}.`.if(table[Table.Symbol.Schema])}${sql.identifier(table[Table.Symbol.OriginalName])} ${sql.identifier(table[Table.Symbol.Name])}`;return table}buildSelectQuery({withList,fields,fieldsFlat,where,having,table,joins,orderBy,groupBy,limit,offset,distinct,setOperators}){let fieldsList=fieldsFlat??orderSelectedFields(fields);for(let f of fieldsList)if(is(f.field,Column)&&getTableName(f.field.table)!==(is(table,Subquery)?table._.alias:is(table,SQLiteViewBase)?table[ViewBaseConfig].name:is(table,SQL)?void 0:getTableName(table))&&!((table2)=>joins?.some(({alias})=>alias===(table2[Table.Symbol.IsAlias]?getTableName(table2):table2[Table.Symbol.BaseName])))(f.field.table)){let tableName=getTableName(f.field.table);throw Error(`Your "${f.path.join("->")}" field references a column "${tableName}"."${f.field.name}", but the table "${tableName}" is not part of the query! Did you forget to join it?`)}let isSingleTable=!joins||joins.length===0,withSql=this.buildWithCTE(withList),distinctSql=distinct?sql` distinct`:void 0,selection=this.buildSelection(fieldsList,{isSingleTable}),tableSql=this.buildFromTable(table),joinsSql=this.buildJoins(joins),whereSql=where?sql` where ${where}`:void 0,havingSql=having?sql` having ${having}`:void 0,groupByList=[];if(groupBy){for(let[index2,groupByValue]of groupBy.entries())if(groupByList.push(groupByValue),index2<groupBy.length-1)groupByList.push(sql`, `)}let groupBySql=groupByList.length>0?sql` group by ${sql.join(groupByList)}`:void 0,orderBySql=this.buildOrderBy(orderBy),limitSql=this.buildLimit(limit),offsetSql=offset?sql` offset ${offset}`:void 0,finalQuery=sql`${withSql}select${distinctSql} ${selection} from ${tableSql}${joinsSql}${whereSql}${groupBySql}${havingSql}${orderBySql}${limitSql}${offsetSql}`;if(setOperators.length>0)return this.buildSetOperations(finalQuery,setOperators);return finalQuery}buildSetOperations(leftSelect,setOperators){let[setOperator,...rest]=setOperators;if(!setOperator)throw Error("Cannot pass undefined values to any set operator");if(rest.length===0)return this.buildSetOperationQuery({leftSelect,setOperator});return this.buildSetOperations(this.buildSetOperationQuery({leftSelect,setOperator}),rest)}buildSetOperationQuery({leftSelect,setOperator:{type,isAll,rightSelect,limit,orderBy,offset}}){let leftChunk=sql`${leftSelect.getSQL()} `,rightChunk=sql`${rightSelect.getSQL()}`,orderBySql;if(orderBy&&orderBy.length>0){let orderByValues=[];for(let singleOrderBy of orderBy)if(is(singleOrderBy,SQLiteColumn))orderByValues.push(sql.identifier(singleOrderBy.name));else if(is(singleOrderBy,SQL)){for(let i2=0;i2<singleOrderBy.queryChunks.length;i2++){let chunk=singleOrderBy.queryChunks[i2];if(is(chunk,SQLiteColumn))singleOrderBy.queryChunks[i2]=sql.identifier(this.casing.getColumnCasing(chunk))}orderByValues.push(sql`${singleOrderBy}`)}else orderByValues.push(sql`${singleOrderBy}`);orderBySql=sql` order by ${sql.join(orderByValues,sql`, `)}`}let limitSql=typeof limit==="object"||typeof limit==="number"&&limit>=0?sql` limit ${limit}`:void 0,operatorChunk=sql.raw(`${type} ${isAll?"all ":""}`),offsetSql=offset?sql` offset ${offset}`:void 0;return sql`${leftChunk}${operatorChunk}${rightChunk}${orderBySql}${limitSql}${offsetSql}`}buildInsertQuery({table,values:valuesOrSelect,onConflict,returning,withList,select:select2}){let valuesSqlList=[],columns=table[Table.Symbol.Columns],colEntries=Object.entries(columns).filter(([_,col])=>!col.shouldDisableInsert()),insertOrder=colEntries.map(([,column])=>sql.identifier(this.casing.getColumnCasing(column)));if(select2){let select22=valuesOrSelect;if(is(select22,SQL))valuesSqlList.push(select22);else valuesSqlList.push(select22.getSQL())}else{let values=valuesOrSelect;valuesSqlList.push(sql.raw("values "));for(let[valueIndex,value]of values.entries()){let valueList=[];for(let[fieldName,col]of colEntries){let colValue=value[fieldName];if(colValue===void 0||is(colValue,Param)&&colValue.value===void 0){let defaultValue;if(col.default!==null&&col.default!==void 0)defaultValue=is(col.default,SQL)?col.default:sql.param(col.default,col);else if(col.defaultFn!==void 0){let defaultFnResult=col.defaultFn();defaultValue=is(defaultFnResult,SQL)?defaultFnResult:sql.param(defaultFnResult,col)}else if(!col.default&&col.onUpdateFn!==void 0){let onUpdateFnResult=col.onUpdateFn();defaultValue=is(onUpdateFnResult,SQL)?onUpdateFnResult:sql.param(onUpdateFnResult,col)}else defaultValue=sql`null`;valueList.push(defaultValue)}else valueList.push(colValue)}if(valuesSqlList.push(valueList),valueIndex<values.length-1)valuesSqlList.push(sql`, `)}}let withSql=this.buildWithCTE(withList),valuesSql=sql.join(valuesSqlList),returningSql=returning?sql` returning ${this.buildSelection(returning,{isSingleTable:!0})}`:void 0,onConflictSql=onConflict?.length?sql.join(onConflict):void 0;return sql`${withSql}insert into ${table} ${insertOrder} ${valuesSql}${onConflictSql}${returningSql}`}sqlToQuery(sql22,invokeSource){return sql22.toQuery({casing:this.casing,escapeName:this.escapeName,escapeParam:this.escapeParam,escapeString:this.escapeString,invokeSource})}buildRelationalQuery({fullSchema,schema,tableNamesMap,table,tableConfig,queryConfig:config3,tableAlias,nestedQueryRelation,joinOn}){let selection=[],limit,offset,orderBy=[],where,joins=[];if(config3===!0)selection=Object.entries(tableConfig.columns).map(([key,value])=>({dbKey:value.name,tsKey:key,field:aliasedTableColumn(value,tableAlias),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{let aliasedColumns=Object.fromEntries(Object.entries(tableConfig.columns).map(([key,value])=>[key,aliasedTableColumn(value,tableAlias)]));if(config3.where){let whereSql=typeof config3.where==="function"?config3.where(aliasedColumns,getOperators()):config3.where;where=whereSql&&mapColumnsInSQLToAlias(whereSql,tableAlias)}let fieldsSelection=[],selectedColumns=[];if(config3.columns){let isIncludeMode=!1;for(let[field,value]of Object.entries(config3.columns)){if(value===void 0)continue;if(field in tableConfig.columns){if(!isIncludeMode&&value===!0)isIncludeMode=!0;selectedColumns.push(field)}}if(selectedColumns.length>0)selectedColumns=isIncludeMode?selectedColumns.filter((c3)=>config3.columns?.[c3]===!0):Object.keys(tableConfig.columns).filter((key)=>!selectedColumns.includes(key))}else selectedColumns=Object.keys(tableConfig.columns);for(let field of selectedColumns){let column=tableConfig.columns[field];fieldsSelection.push({tsKey:field,value:column})}let selectedRelations=[];if(config3.with)selectedRelations=Object.entries(config3.with).filter((entry)=>!!entry[1]).map(([tsKey,queryConfig])=>({tsKey,queryConfig,relation:tableConfig.relations[tsKey]}));let extras;if(config3.extras){extras=typeof config3.extras==="function"?config3.extras(aliasedColumns,{sql}):config3.extras;for(let[tsKey,value]of Object.entries(extras))fieldsSelection.push({tsKey,value:mapColumnsInAliasedSQLToAlias(value,tableAlias)})}for(let{tsKey,value}of fieldsSelection)selection.push({dbKey:is(value,SQL.Aliased)?value.fieldAlias:tableConfig.columns[tsKey].name,tsKey,field:is(value,Column)?aliasedTableColumn(value,tableAlias):value,relationTableTsKey:void 0,isJson:!1,selection:[]});let orderByOrig=typeof config3.orderBy==="function"?config3.orderBy(aliasedColumns,getOrderByOperators()):config3.orderBy??[];if(!Array.isArray(orderByOrig))orderByOrig=[orderByOrig];orderBy=orderByOrig.map((orderByValue)=>{if(is(orderByValue,Column))return aliasedTableColumn(orderByValue,tableAlias);return mapColumnsInSQLToAlias(orderByValue,tableAlias)}),limit=config3.limit,offset=config3.offset;for(let{tsKey:selectedRelationTsKey,queryConfig:selectedRelationConfigValue,relation}of selectedRelations){let normalizedRelation=normalizeRelation(schema,tableNamesMap,relation),relationTableName=getTableUniqueName(relation.referencedTable),relationTableTsName=tableNamesMap[relationTableName],relationTableAlias=`${tableAlias}_${selectedRelationTsKey}`,joinOn2=and(...normalizedRelation.fields.map((field2,i2)=>eq(aliasedTableColumn(normalizedRelation.references[i2],relationTableAlias),aliasedTableColumn(field2,tableAlias)))),builtRelation=this.buildRelationalQuery({fullSchema,schema,tableNamesMap,table:fullSchema[relationTableTsName],tableConfig:schema[relationTableTsName],queryConfig:is(relation,One)?selectedRelationConfigValue===!0?{limit:1}:{...selectedRelationConfigValue,limit:1}:selectedRelationConfigValue,tableAlias:relationTableAlias,joinOn:joinOn2,nestedQueryRelation:relation}),field=sql`(${builtRelation.sql})`.as(selectedRelationTsKey);selection.push({dbKey:selectedRelationTsKey,tsKey:selectedRelationTsKey,field,relationTableTsKey:relationTableTsName,isJson:!0,selection:builtRelation.selection})}}if(selection.length===0)throw new DrizzleError({message:`No fields selected for table "${tableConfig.tsName}" ("${tableAlias}"). You need to have at least one item in "columns", "with" or "extras". If you need to select all columns, omit the "columns" key or set it to undefined.`});let result;if(where=and(joinOn,where),nestedQueryRelation){let field=sql`json_array(${sql.join(selection.map(({field:field2})=>is(field2,SQLiteColumn)?sql.identifier(this.casing.getColumnCasing(field2)):is(field2,SQL.Aliased)?field2.sql:field2),sql`, `)})`;if(is(nestedQueryRelation,Many))field=sql`coalesce(json_group_array(${field}), json_array())`;let nestedSelection=[{dbKey:"data",tsKey:"data",field:field.as("data"),isJson:!0,relationTableTsKey:tableConfig.tsName,selection}];if(limit!==void 0||offset!==void 0||orderBy.length>0)result=this.buildSelectQuery({table:aliasedTable(table,tableAlias),fields:{},fieldsFlat:[{path:[],field:sql.raw("*")}],where,limit,offset,orderBy,setOperators:[]}),where=void 0,limit=void 0,offset=void 0,orderBy=void 0;else result=aliasedTable(table,tableAlias);result=this.buildSelectQuery({table:is(result,SQLiteTable)?result:new Subquery(result,{},tableAlias),fields:{},fieldsFlat:nestedSelection.map(({field:field2})=>({path:[],field:is(field2,Column)?aliasedTableColumn(field2,tableAlias):field2})),joins,where,limit,offset,orderBy,setOperators:[]})}else result=this.buildSelectQuery({table:aliasedTable(table,tableAlias),fields:{},fieldsFlat:selection.map(({field})=>({path:[],field:is(field,Column)?aliasedTableColumn(field,tableAlias):field})),joins,where,limit,offset,orderBy,setOperators:[]});return{tableTsKey:tableConfig.tsName,sql:result,selection}}};SQLiteSyncDialect=class SQLiteSyncDialect extends SQLiteDialect{static[entityKind]="SQLiteSyncDialect";migrate(migrations,session,config3){let migrationsTable=config3===void 0?"__drizzle_migrations":typeof config3==="string"?"__drizzle_migrations":config3.migrationsTable??"__drizzle_migrations",migrationTableCreate=sql`
|
|
247
|
+
CREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (
|
|
248
|
+
id SERIAL PRIMARY KEY,
|
|
249
|
+
hash text NOT NULL,
|
|
250
|
+
created_at numeric
|
|
251
|
+
)
|
|
252
|
+
`;session.run(migrationTableCreate);let lastDbMigration=session.values(sql`SELECT id, hash, created_at FROM ${sql.identifier(migrationsTable)} ORDER BY created_at DESC LIMIT 1`)[0]??void 0;session.run(sql`BEGIN`);try{for(let migration of migrations)if(!lastDbMigration||Number(lastDbMigration[2])<migration.folderMillis){for(let stmt of migration.sql)session.run(sql.raw(stmt));session.run(sql`INSERT INTO ${sql.identifier(migrationsTable)} ("hash", "created_at") VALUES(${migration.hash}, ${migration.folderMillis})`)}session.run(sql`COMMIT`)}catch(e){throw session.run(sql`ROLLBACK`),e}}};SQLiteAsyncDialect=class SQLiteAsyncDialect extends SQLiteDialect{static[entityKind]="SQLiteAsyncDialect";async migrate(migrations,session,config3){let migrationsTable=config3===void 0?"__drizzle_migrations":typeof config3==="string"?"__drizzle_migrations":config3.migrationsTable??"__drizzle_migrations",migrationTableCreate=sql`
|
|
253
|
+
CREATE TABLE IF NOT EXISTS ${sql.identifier(migrationsTable)} (
|
|
254
|
+
id SERIAL PRIMARY KEY,
|
|
255
|
+
hash text NOT NULL,
|
|
256
|
+
created_at numeric
|
|
257
|
+
)
|
|
258
|
+
`;await session.run(migrationTableCreate);let lastDbMigration=(await session.values(sql`SELECT id, hash, created_at FROM ${sql.identifier(migrationsTable)} ORDER BY created_at DESC LIMIT 1`))[0]??void 0;await session.transaction(async(tx)=>{for(let migration of migrations)if(!lastDbMigration||Number(lastDbMigration[2])<migration.folderMillis){for(let stmt of migration.sql)await tx.run(sql.raw(stmt));await tx.run(sql`INSERT INTO ${sql.identifier(migrationsTable)} ("hash", "created_at") VALUES(${migration.hash}, ${migration.folderMillis})`)}})}}});var TypedQueryBuilder;var init_query_builder=__esm(()=>{init_entity();TypedQueryBuilder=class TypedQueryBuilder{static[entityKind]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}});function createSetOperator(type,isAll){return(leftSelect,rightSelect,...restSelects)=>{let setOperators=[rightSelect,...restSelects].map((select2)=>({type,isAll,rightSelect:select2}));for(let setOperator of setOperators)if(!haveSameKeys(leftSelect.getSelectedFields(),setOperator.rightSelect.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return leftSelect.addSetOperators(setOperators)}}var SQLiteSelectBuilder,SQLiteSelectQueryBuilderBase,SQLiteSelectBase,getSQLiteSetOperators=()=>({union:union2,unionAll,intersect,except}),union2,unionAll,intersect,except;var init_select2=__esm(()=>{init_entity();init_query_builder();init_query_promise();init_selection_proxy();init_sql();init_subquery();init_table();init_utils();init_view_common();init_utils2();init_view_base();SQLiteSelectBuilder=class SQLiteSelectBuilder{static[entityKind]="SQLiteSelectBuilder";fields;session;dialect;withList;distinct;constructor(config3){this.fields=config3.fields,this.session=config3.session,this.dialect=config3.dialect,this.withList=config3.withList,this.distinct=config3.distinct}from(source){let isPartialSelect=!!this.fields,fields;if(this.fields)fields=this.fields;else if(is(source,Subquery))fields=Object.fromEntries(Object.keys(source._.selectedFields).map((key)=>[key,source[key]]));else if(is(source,SQLiteViewBase))fields=source[ViewBaseConfig].selectedFields;else if(is(source,SQL))fields={};else fields=getTableColumns(source);return new SQLiteSelectBase({table:source,fields,isPartialSelect,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct})}};SQLiteSelectQueryBuilderBase=class SQLiteSelectQueryBuilderBase extends TypedQueryBuilder{static[entityKind]="SQLiteSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table,fields,isPartialSelect,session,dialect,withList,distinct}){super();this.config={withList,table,fields:{...fields},distinct,setOperators:[]},this.isPartialSelect=isPartialSelect,this.session=session,this.dialect=dialect,this._={selectedFields:fields,config:this.config},this.tableName=getTableLikeName(table),this.joinsNotNullableMap=typeof this.tableName==="string"?{[this.tableName]:!0}:{};for(let item of extractUsedTable(table))this.usedTables.add(item)}getUsedTables(){return[...this.usedTables]}createJoin(joinType){return(table,on6)=>{let baseTableName=this.tableName,tableName=getTableLikeName(table);for(let item of extractUsedTable(table))this.usedTables.add(item);if(typeof tableName==="string"&&this.config.joins?.some((join)=>join.alias===tableName))throw Error(`Alias "${tableName}" is already used in this query`);if(!this.isPartialSelect){if(Object.keys(this.joinsNotNullableMap).length===1&&typeof baseTableName==="string")this.config.fields={[baseTableName]:this.config.fields};if(typeof tableName==="string"&&!is(table,SQL)){let selection=is(table,Subquery)?table._.selectedFields:is(table,View)?table[ViewBaseConfig].selectedFields:table[Table.Symbol.Columns];this.config.fields[tableName]=selection}}if(typeof on6==="function")on6=on6(new Proxy(this.config.fields,new SelectionProxyHandler({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));if(!this.config.joins)this.config.joins=[];if(this.config.joins.push({on:on6,table,joinType,alias:tableName}),typeof tableName==="string")switch(joinType){case"left":{this.joinsNotNullableMap[tableName]=!1;break}case"right":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([key])=>[key,!1])),this.joinsNotNullableMap[tableName]=!0;break}case"cross":case"inner":{this.joinsNotNullableMap[tableName]=!0;break}case"full":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([key])=>[key,!1])),this.joinsNotNullableMap[tableName]=!1;break}}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");crossJoin=this.createJoin("cross");createSetOperator(type,isAll){return(rightSelection)=>{let rightSelect=typeof rightSelection==="function"?rightSelection(getSQLiteSetOperators()):rightSelection;if(!haveSameKeys(this.getSelectedFields(),rightSelect.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type,isAll,rightSelect}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);except=this.createSetOperator("except",!1);addSetOperators(setOperators){return this.config.setOperators.push(...setOperators),this}where(where){if(typeof where==="function")where=where(new Proxy(this.config.fields,new SelectionProxyHandler({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.where=where,this}having(having){if(typeof having==="function")having=having(new Proxy(this.config.fields,new SelectionProxyHandler({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.having=having,this}groupBy(...columns){if(typeof columns[0]==="function"){let groupBy=columns[0](new Proxy(this.config.fields,new SelectionProxyHandler({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(groupBy)?groupBy:[groupBy]}else this.config.groupBy=columns;return this}orderBy(...columns){if(typeof columns[0]==="function"){let orderBy=columns[0](new Proxy(this.config.fields,new SelectionProxyHandler({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),orderByArray=Array.isArray(orderBy)?orderBy:[orderBy];if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=orderByArray;else this.config.orderBy=orderByArray}else{let orderByArray=columns;if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=orderByArray;else this.config.orderBy=orderByArray}return this}limit(limit){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).limit=limit;else this.config.limit=limit;return this}offset(offset){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).offset=offset;else this.config.offset=offset;return this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:_typings,...rest}=this.dialect.sqlToQuery(this.getSQL());return rest}as(alias){let usedTables=[];if(usedTables.push(...extractUsedTable(this.config.table)),this.config.joins)for(let it of this.config.joins)usedTables.push(...extractUsedTable(it.table));return new Proxy(new Subquery(this.getSQL(),this.config.fields,alias,!1,[...new Set(usedTables)]),new SelectionProxyHandler({alias,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new SelectionProxyHandler({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}};SQLiteSelectBase=class SQLiteSelectBase extends SQLiteSelectQueryBuilderBase{static[entityKind]="SQLiteSelect";_prepare(isOneTimeQuery=!0){if(!this.session)throw Error("Cannot execute a query on a query builder. Please use a database instance instead.");let fieldsList=orderSelectedFields(this.config.fields),query=this.session[isOneTimeQuery?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),fieldsList,"all",!0,void 0,{type:"select",tables:[...this.usedTables]},this.cacheConfig);return query.joinsNotNullableMap=this.joinsNotNullableMap,query}$withCache(config3){return this.cacheConfig=config3===void 0?{config:{},enable:!0,autoInvalidate:!0}:config3===!1?{enable:!1}:{enable:!0,autoInvalidate:!0,...config3},this}prepare(){return this._prepare(!1)}run=(placeholderValues)=>{return this._prepare().run(placeholderValues)};all=(placeholderValues)=>{return this._prepare().all(placeholderValues)};get=(placeholderValues)=>{return this._prepare().get(placeholderValues)};values=(placeholderValues)=>{return this._prepare().values(placeholderValues)};async execute(){return this.all()}};applyMixins(SQLiteSelectBase,[QueryPromise]);union2=createSetOperator("union",!1),unionAll=createSetOperator("union",!0),intersect=createSetOperator("intersect",!1),except=createSetOperator("except",!1)});var QueryBuilder;var init_query_builder2=__esm(()=>{init_entity();init_selection_proxy();init_dialect();init_subquery();init_select2();QueryBuilder=class QueryBuilder{static[entityKind]="SQLiteQueryBuilder";dialect;dialectConfig;constructor(dialect){this.dialect=is(dialect,SQLiteDialect)?dialect:void 0,this.dialectConfig=is(dialect,SQLiteDialect)?void 0:dialect}$with=(alias,selection)=>{let queryBuilder=this;return{as:(qb)=>{if(typeof qb==="function")qb=qb(queryBuilder);return new Proxy(new WithSubquery(qb.getSQL(),selection??("getSelectedFields"in qb?qb.getSelectedFields()??{}:{}),alias,!0),new SelectionProxyHandler({alias,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};with(...queries){let self2=this;function select2(fields){return new SQLiteSelectBuilder({fields:fields??void 0,session:void 0,dialect:self2.getDialect(),withList:queries})}function selectDistinct(fields){return new SQLiteSelectBuilder({fields:fields??void 0,session:void 0,dialect:self2.getDialect(),withList:queries,distinct:!0})}return{select:select2,selectDistinct}}select(fields){return new SQLiteSelectBuilder({fields:fields??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(fields){return new SQLiteSelectBuilder({fields:fields??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}getDialect(){if(!this.dialect)this.dialect=new SQLiteSyncDialect(this.dialectConfig);return this.dialect}}});var SQLiteInsertBuilder,SQLiteInsertBase;var init_insert=__esm(()=>{init_entity();init_query_promise();init_sql();init_table3();init_table();init_utils();init_utils2();init_query_builder2();SQLiteInsertBuilder=class SQLiteInsertBuilder{constructor(table,session,dialect,withList){this.table=table,this.session=session,this.dialect=dialect,this.withList=withList}static[entityKind]="SQLiteInsertBuilder";values(values){if(values=Array.isArray(values)?values:[values],values.length===0)throw Error("values() must be called with at least one value");let mappedValues=values.map((entry)=>{let result={},cols=this.table[Table.Symbol.Columns];for(let colKey of Object.keys(entry)){let colValue=entry[colKey];result[colKey]=is(colValue,SQL)?colValue:new Param(colValue,cols[colKey])}return result});return new SQLiteInsertBase(this.table,mappedValues,this.session,this.dialect,this.withList)}select(selectQuery){let select2=typeof selectQuery==="function"?selectQuery(new QueryBuilder):selectQuery;if(!is(select2,SQL)&&!haveSameKeys(this.table[Columns],select2._.selectedFields))throw Error("Insert select error: selected fields are not the same or are in a different order compared to the table definition");return new SQLiteInsertBase(this.table,select2,this.session,this.dialect,this.withList,!0)}};SQLiteInsertBase=class SQLiteInsertBase extends QueryPromise{constructor(table,values,session,dialect,withList,select2){super();this.session=session,this.dialect=dialect,this.config={table,values,withList,select:select2}}static[entityKind]="SQLiteInsert";config;returning(fields=this.config.table[SQLiteTable.Symbol.Columns]){return this.config.returning=orderSelectedFields(fields),this}onConflictDoNothing(config3={}){if(!this.config.onConflict)this.config.onConflict=[];if(config3.target===void 0)this.config.onConflict.push(sql` on conflict do nothing`);else{let targetSql=Array.isArray(config3.target)?sql`${config3.target}`:sql`${[config3.target]}`,whereSql=config3.where?sql` where ${config3.where}`:sql``;this.config.onConflict.push(sql` on conflict ${targetSql} do nothing${whereSql}`)}return this}onConflictDoUpdate(config3){if(config3.where&&(config3.targetWhere||config3.setWhere))throw Error('You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.');if(!this.config.onConflict)this.config.onConflict=[];let whereSql=config3.where?sql` where ${config3.where}`:void 0,targetWhereSql=config3.targetWhere?sql` where ${config3.targetWhere}`:void 0,setWhereSql=config3.setWhere?sql` where ${config3.setWhere}`:void 0,targetSql=Array.isArray(config3.target)?sql`${config3.target}`:sql`${[config3.target]}`,setSql=this.dialect.buildUpdateSet(this.config.table,mapUpdateSet(this.config.table,config3.set));return this.config.onConflict.push(sql` on conflict ${targetSql}${targetWhereSql} do update set ${setSql}${whereSql}${setWhereSql}`),this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:_typings,...rest}=this.dialect.sqlToQuery(this.getSQL());return rest}_prepare(isOneTimeQuery=!0){return this.session[isOneTimeQuery?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:extractUsedTable(this.config.table)})}prepare(){return this._prepare(!1)}run=(placeholderValues)=>{return this._prepare().run(placeholderValues)};all=(placeholderValues)=>{return this._prepare().all(placeholderValues)};get=(placeholderValues)=>{return this._prepare().get(placeholderValues)};values=(placeholderValues)=>{return this._prepare().values(placeholderValues)};async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}});var SQLiteUpdateBuilder,SQLiteUpdateBase;var init_update=__esm(()=>{init_entity();init_query_promise();init_selection_proxy();init_table3();init_subquery();init_table();init_utils();init_view_common();init_utils2();init_view_base();SQLiteUpdateBuilder=class SQLiteUpdateBuilder{constructor(table,session,dialect,withList){this.table=table,this.session=session,this.dialect=dialect,this.withList=withList}static[entityKind]="SQLiteUpdateBuilder";set(values){return new SQLiteUpdateBase(this.table,mapUpdateSet(this.table,values),this.session,this.dialect,this.withList)}};SQLiteUpdateBase=class SQLiteUpdateBase extends QueryPromise{constructor(table,set2,session,dialect,withList){super();this.session=session,this.dialect=dialect,this.config={set:set2,table,withList,joins:[]}}static[entityKind]="SQLiteUpdate";config;from(source){return this.config.from=source,this}createJoin(joinType){return(table,on6)=>{let tableName=getTableLikeName(table);if(typeof tableName==="string"&&this.config.joins.some((join)=>join.alias===tableName))throw Error(`Alias "${tableName}" is already used in this query`);if(typeof on6==="function"){let from=this.config.from?is(table,SQLiteTable)?table[Table.Symbol.Columns]:is(table,Subquery)?table._.selectedFields:is(table,SQLiteViewBase)?table[ViewBaseConfig].selectedFields:void 0:void 0;on6=on6(new Proxy(this.config.table[Table.Symbol.Columns],new SelectionProxyHandler({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),from&&new Proxy(from,new SelectionProxyHandler({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))}return this.config.joins.push({on:on6,table,joinType,alias:tableName}),this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");where(where){return this.config.where=where,this}orderBy(...columns){if(typeof columns[0]==="function"){let orderBy=columns[0](new Proxy(this.config.table[Table.Symbol.Columns],new SelectionProxyHandler({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),orderByArray=Array.isArray(orderBy)?orderBy:[orderBy];this.config.orderBy=orderByArray}else{let orderByArray=columns;this.config.orderBy=orderByArray}return this}limit(limit){return this.config.limit=limit,this}returning(fields=this.config.table[SQLiteTable.Symbol.Columns]){return this.config.returning=orderSelectedFields(fields),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:_typings,...rest}=this.dialect.sqlToQuery(this.getSQL());return rest}_prepare(isOneTimeQuery=!0){return this.session[isOneTimeQuery?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:extractUsedTable(this.config.table)})}prepare(){return this._prepare(!1)}run=(placeholderValues)=>{return this._prepare().run(placeholderValues)};all=(placeholderValues)=>{return this._prepare().all(placeholderValues)};get=(placeholderValues)=>{return this._prepare().get(placeholderValues)};values=(placeholderValues)=>{return this._prepare().values(placeholderValues)};async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}});var init_query_builders=__esm(()=>{init_delete();init_insert();init_query_builder2();init_select2();init_update()});var SQLiteCountBuilder;var init_count=__esm(()=>{init_entity();init_sql();SQLiteCountBuilder=class SQLiteCountBuilder extends SQL{constructor(params){super(SQLiteCountBuilder.buildEmbeddedCount(params.source,params.filters).queryChunks);this.params=params,this.session=params.session,this.sql=SQLiteCountBuilder.buildCount(params.source,params.filters)}sql;static[entityKind]="SQLiteCountBuilderAsync";[Symbol.toStringTag]="SQLiteCountBuilderAsync";session;static buildEmbeddedCount(source,filters){return sql`(select count(*) from ${source}${sql.raw(" where ").if(filters)}${filters})`}static buildCount(source,filters){return sql`select count(*) from ${source}${sql.raw(" where ").if(filters)}${filters}`}then(onfulfilled,onrejected){return Promise.resolve(this.session.count(this.sql)).then(onfulfilled,onrejected)}catch(onRejected){return this.then(void 0,onRejected)}finally(onFinally){return this.then((value)=>{return onFinally?.(),value},(reason)=>{throw onFinally?.(),reason})}}});var RelationalQueryBuilder,SQLiteRelationalQuery,SQLiteSyncRelationalQuery;var init_query=__esm(()=>{init_entity();init_query_promise();init_relations();RelationalQueryBuilder=class RelationalQueryBuilder{constructor(mode,fullSchema,schema,tableNamesMap,table,tableConfig,dialect,session){this.mode=mode,this.fullSchema=fullSchema,this.schema=schema,this.tableNamesMap=tableNamesMap,this.table=table,this.tableConfig=tableConfig,this.dialect=dialect,this.session=session}static[entityKind]="SQLiteAsyncRelationalQueryBuilder";findMany(config3){return this.mode==="sync"?new SQLiteSyncRelationalQuery(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,config3?config3:{},"many"):new SQLiteRelationalQuery(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,config3?config3:{},"many")}findFirst(config3){return this.mode==="sync"?new SQLiteSyncRelationalQuery(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,config3?{...config3,limit:1}:{limit:1},"first"):new SQLiteRelationalQuery(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,config3?{...config3,limit:1}:{limit:1},"first")}};SQLiteRelationalQuery=class SQLiteRelationalQuery extends QueryPromise{constructor(fullSchema,schema,tableNamesMap,table,tableConfig,dialect,session,config3,mode){super();this.fullSchema=fullSchema,this.schema=schema,this.tableNamesMap=tableNamesMap,this.table=table,this.tableConfig=tableConfig,this.dialect=dialect,this.session=session,this.config=config3,this.mode=mode}static[entityKind]="SQLiteAsyncRelationalQuery";mode;getSQL(){return this.dialect.buildRelationalQuery({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName}).sql}_prepare(isOneTimeQuery=!1){let{query,builtQuery}=this._toSQL();return this.session[isOneTimeQuery?"prepareOneTimeQuery":"prepareQuery"](builtQuery,void 0,this.mode==="first"?"get":"all",!0,(rawRows,mapColumnValue)=>{let rows=rawRows.map((row)=>mapRelationalRow(this.schema,this.tableConfig,row,query.selection,mapColumnValue));if(this.mode==="first")return rows[0];return rows})}prepare(){return this._prepare(!1)}_toSQL(){let query=this.dialect.buildRelationalQuery({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName}),builtQuery=this.dialect.sqlToQuery(query.sql);return{query,builtQuery}}toSQL(){return this._toSQL().builtQuery}executeRaw(){if(this.mode==="first")return this._prepare(!1).get();return this._prepare(!1).all()}async execute(){return this.executeRaw()}};SQLiteSyncRelationalQuery=class SQLiteSyncRelationalQuery extends SQLiteRelationalQuery{static[entityKind]="SQLiteSyncRelationalQuery";sync(){return this.executeRaw()}}});var SQLiteRaw;var init_raw=__esm(()=>{init_entity();init_query_promise();SQLiteRaw=class SQLiteRaw extends QueryPromise{constructor(execute,getSQL,action,dialect,mapBatchResult){super();this.execute=execute,this.getSQL=getSQL,this.dialect=dialect,this.mapBatchResult=mapBatchResult,this.config={action}}static[entityKind]="SQLiteRaw";config;getQuery(){return{...this.dialect.sqlToQuery(this.getSQL()),method:this.config.action}}mapResult(result,isFromBatch){return isFromBatch?this.mapBatchResult(result):result}_prepare(){return this}isResponseInArrayMode(){return!1}}});var BaseSQLiteDatabase;var init_db=__esm(()=>{init_entity();init_selection_proxy();init_sql();init_query_builders();init_subquery();init_count();init_query();init_raw();BaseSQLiteDatabase=class BaseSQLiteDatabase{constructor(resultKind,dialect,session,schema){this.resultKind=resultKind,this.dialect=dialect,this.session=session,this._=schema?{schema:schema.schema,fullSchema:schema.fullSchema,tableNamesMap:schema.tableNamesMap}:{schema:void 0,fullSchema:{},tableNamesMap:{}},this.query={};let query=this.query;if(this._.schema)for(let[tableName,columns]of Object.entries(this._.schema))query[tableName]=new RelationalQueryBuilder(resultKind,schema.fullSchema,this._.schema,this._.tableNamesMap,schema.fullSchema[tableName],columns,dialect,session);this.$cache={invalidate:async(_params)=>{}}}static[entityKind]="BaseSQLiteDatabase";query;$with=(alias,selection)=>{let self2=this;return{as:(qb)=>{if(typeof qb==="function")qb=qb(new QueryBuilder(self2.dialect));return new Proxy(new WithSubquery(qb.getSQL(),selection??("getSelectedFields"in qb?qb.getSelectedFields()??{}:{}),alias,!0),new SelectionProxyHandler({alias,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};$count(source,filters){return new SQLiteCountBuilder({source,filters,session:this.session})}with(...queries){let self2=this;function select3(fields){return new SQLiteSelectBuilder({fields:fields??void 0,session:self2.session,dialect:self2.dialect,withList:queries})}function selectDistinct(fields){return new SQLiteSelectBuilder({fields:fields??void 0,session:self2.session,dialect:self2.dialect,withList:queries,distinct:!0})}function update2(table){return new SQLiteUpdateBuilder(table,self2.session,self2.dialect,queries)}function insert2(into){return new SQLiteInsertBuilder(into,self2.session,self2.dialect,queries)}function delete_(from){return new SQLiteDeleteBase(from,self2.session,self2.dialect,queries)}return{select:select3,selectDistinct,update:update2,insert:insert2,delete:delete_}}select(fields){return new SQLiteSelectBuilder({fields:fields??void 0,session:this.session,dialect:this.dialect})}selectDistinct(fields){return new SQLiteSelectBuilder({fields:fields??void 0,session:this.session,dialect:this.dialect,distinct:!0})}update(table){return new SQLiteUpdateBuilder(table,this.session,this.dialect)}$cache;insert(into){return new SQLiteInsertBuilder(into,this.session,this.dialect)}delete(from){return new SQLiteDeleteBase(from,this.session,this.dialect)}run(query){let sequel=typeof query==="string"?sql.raw(query):query.getSQL();if(this.resultKind==="async")return new SQLiteRaw(async()=>this.session.run(sequel),()=>sequel,"run",this.dialect,this.session.extractRawRunValueFromBatchResult.bind(this.session));return this.session.run(sequel)}all(query){let sequel=typeof query==="string"?sql.raw(query):query.getSQL();if(this.resultKind==="async")return new SQLiteRaw(async()=>this.session.all(sequel),()=>sequel,"all",this.dialect,this.session.extractRawAllValueFromBatchResult.bind(this.session));return this.session.all(sequel)}get(query){let sequel=typeof query==="string"?sql.raw(query):query.getSQL();if(this.resultKind==="async")return new SQLiteRaw(async()=>this.session.get(sequel),()=>sequel,"get",this.dialect,this.session.extractRawGetValueFromBatchResult.bind(this.session));return this.session.get(sequel)}values(query){let sequel=typeof query==="string"?sql.raw(query):query.getSQL();if(this.resultKind==="async")return new SQLiteRaw(async()=>this.session.values(sequel),()=>sequel,"values",this.dialect,this.session.extractRawValuesValueFromBatchResult.bind(this.session));return this.session.values(sequel)}transaction(transaction,config3){return this.session.transaction(transaction,config3)}}});var init_alias2=()=>{};async function hashQuery(sql3,params){let dataToHash=`${sql3}-${JSON.stringify(params)}`,data=new TextEncoder().encode(dataToHash),hashBuffer=await crypto.subtle.digest("SHA-256",data);return[...new Uint8Array(hashBuffer)].map((b)=>b.toString(16).padStart(2,"0")).join("")}var Cache,NoopCache;var init_cache=__esm(()=>{init_entity();Cache=class Cache{static[entityKind]="Cache"};NoopCache=class NoopCache extends Cache{strategy(){return"all"}static[entityKind]="NoopCache";async get(_key){return}async put(_hashedQuery,_response,_tables,_config){}async onMutate(_params){}}});var ExecuteResultSync,SQLitePreparedQuery,SQLiteSession,SQLiteTransaction;var init_session=__esm(()=>{init_cache();init_entity();init_errors4();init_query_promise();init_db();ExecuteResultSync=class ExecuteResultSync extends QueryPromise{constructor(resultCb){super();this.resultCb=resultCb}static[entityKind]="ExecuteResultSync";async execute(){return this.resultCb()}sync(){return this.resultCb()}};SQLitePreparedQuery=class SQLitePreparedQuery{constructor(mode,executeMethod,query,cache,queryMetadata,cacheConfig){if(this.mode=mode,this.executeMethod=executeMethod,this.query=query,this.cache=cache,this.queryMetadata=queryMetadata,this.cacheConfig=cacheConfig,cache&&cache.strategy()==="all"&&cacheConfig===void 0)this.cacheConfig={enable:!0,autoInvalidate:!0};if(!this.cacheConfig?.enable)this.cacheConfig=void 0}static[entityKind]="PreparedQuery";joinsNotNullableMap;async queryWithCache(queryString,params,query){if(this.cache===void 0||is(this.cache,NoopCache)||this.queryMetadata===void 0)try{return await query()}catch(e){throw new DrizzleQueryError(queryString,params,e)}if(this.cacheConfig&&!this.cacheConfig.enable)try{return await query()}catch(e){throw new DrizzleQueryError(queryString,params,e)}if((this.queryMetadata.type==="insert"||this.queryMetadata.type==="update"||this.queryMetadata.type==="delete")&&this.queryMetadata.tables.length>0)try{let[res]=await Promise.all([query(),this.cache.onMutate({tables:this.queryMetadata.tables})]);return res}catch(e){throw new DrizzleQueryError(queryString,params,e)}if(!this.cacheConfig)try{return await query()}catch(e){throw new DrizzleQueryError(queryString,params,e)}if(this.queryMetadata.type==="select"){let fromCache=await this.cache.get(this.cacheConfig.tag??await hashQuery(queryString,params),this.queryMetadata.tables,this.cacheConfig.tag!==void 0,this.cacheConfig.autoInvalidate);if(fromCache===void 0){let result;try{result=await query()}catch(e){throw new DrizzleQueryError(queryString,params,e)}return await this.cache.put(this.cacheConfig.tag??await hashQuery(queryString,params),result,this.cacheConfig.autoInvalidate?this.queryMetadata.tables:[],this.cacheConfig.tag!==void 0,this.cacheConfig.config),result}return fromCache}try{return await query()}catch(e){throw new DrizzleQueryError(queryString,params,e)}}getQuery(){return this.query}mapRunResult(result,_isFromBatch){return result}mapAllResult(_result,_isFromBatch){throw Error("Not implemented")}mapGetResult(_result,_isFromBatch){throw Error("Not implemented")}execute(placeholderValues){if(this.mode==="async")return this[this.executeMethod](placeholderValues);return new ExecuteResultSync(()=>this[this.executeMethod](placeholderValues))}mapResult(response,isFromBatch){switch(this.executeMethod){case"run":return this.mapRunResult(response,isFromBatch);case"all":return this.mapAllResult(response,isFromBatch);case"get":return this.mapGetResult(response,isFromBatch)}}};SQLiteSession=class SQLiteSession{constructor(dialect){this.dialect=dialect}static[entityKind]="SQLiteSession";prepareOneTimeQuery(query,fields,executeMethod,isResponseInArrayMode,customResultMapper,queryMetadata,cacheConfig){return this.prepareQuery(query,fields,executeMethod,isResponseInArrayMode,customResultMapper,queryMetadata,cacheConfig)}run(query){let staticQuery=this.dialect.sqlToQuery(query);try{return this.prepareOneTimeQuery(staticQuery,void 0,"run",!1).run()}catch(err){throw new DrizzleError({cause:err,message:`Failed to run the query '${staticQuery.sql}'`})}}extractRawRunValueFromBatchResult(result){return result}all(query){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(query),void 0,"run",!1).all()}extractRawAllValueFromBatchResult(_result){throw Error("Not implemented")}get(query){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(query),void 0,"run",!1).get()}extractRawGetValueFromBatchResult(_result){throw Error("Not implemented")}values(query){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(query),void 0,"run",!1).values()}async count(sql3){return(await this.values(sql3))[0][0]}extractRawValuesValueFromBatchResult(_result){throw Error("Not implemented")}};SQLiteTransaction=class SQLiteTransaction extends BaseSQLiteDatabase{constructor(resultType,dialect,session,schema,nestedIndex=0){super(resultType,dialect,session,schema);this.schema=schema,this.nestedIndex=nestedIndex}static[entityKind]="SQLiteTransaction";rollback(){throw new TransactionRollbackError}}});var init_view=()=>{};var init_sqlite_core=__esm(()=>{init_alias2();init_checks3();init_columns();init_db();init_dialect();init_foreign_keys();init_indexes();init_primary_keys2();init_query_builders();init_session();init_table3();init_unique_constraint2();init_utils2();init_view()});var SQLiteBunSession,SQLiteBunTransaction,PreparedQuery;var init_session2=__esm(()=>{init_entity();init_logger();init_sql();init_sqlite_core();init_session();init_utils();SQLiteBunSession=class SQLiteBunSession extends SQLiteSession{constructor(client,dialect2,schema,options={}){super(dialect2);this.client=client,this.schema=schema,this.logger=options.logger??new NoopLogger}static[entityKind]="SQLiteBunSession";logger;exec(query){this.client.exec(query)}prepareQuery(query,fields,executeMethod,isResponseInArrayMode,customResultMapper){let stmt=this.client.prepare(query.sql);return new PreparedQuery(stmt,query,this.logger,fields,executeMethod,isResponseInArrayMode,customResultMapper)}transaction(transaction,config3={}){let tx=new SQLiteBunTransaction("sync",this.dialect,this,this.schema),result;return this.client.transaction(()=>{result=transaction(tx)})[config3.behavior??"deferred"](),result}};SQLiteBunTransaction=class SQLiteBunTransaction extends SQLiteTransaction{static[entityKind]="SQLiteBunTransaction";transaction(transaction){let savepointName=`sp${this.nestedIndex}`,tx=new SQLiteBunTransaction("sync",this.dialect,this.session,this.schema,this.nestedIndex+1);this.session.run(sql.raw(`savepoint ${savepointName}`));try{let result=transaction(tx);return this.session.run(sql.raw(`release savepoint ${savepointName}`)),result}catch(err){throw this.session.run(sql.raw(`rollback to savepoint ${savepointName}`)),err}}};PreparedQuery=class PreparedQuery extends SQLitePreparedQuery{constructor(stmt,query,logger,fields,executeMethod,_isResponseInArrayMode,customResultMapper){super("sync",executeMethod,query);this.stmt=stmt,this.logger=logger,this.fields=fields,this._isResponseInArrayMode=_isResponseInArrayMode,this.customResultMapper=customResultMapper}static[entityKind]="SQLiteBunPreparedQuery";run(placeholderValues){let params=fillPlaceholders(this.query.params,placeholderValues??{});return this.logger.logQuery(this.query.sql,params),this.stmt.run(...params)}all(placeholderValues){let{fields,query,logger,joinsNotNullableMap,stmt,customResultMapper}=this;if(!fields&&!customResultMapper){let params=fillPlaceholders(query.params,placeholderValues??{});return logger.logQuery(query.sql,params),stmt.all(...params)}let rows=this.values(placeholderValues);if(customResultMapper)return customResultMapper(rows);return rows.map((row)=>mapResultRow(fields,row,joinsNotNullableMap))}get(placeholderValues){let params=fillPlaceholders(this.query.params,placeholderValues??{});this.logger.logQuery(this.query.sql,params);let row=this.stmt.values(...params)[0];if(!row)return;let{fields,joinsNotNullableMap,customResultMapper}=this;if(!fields&&!customResultMapper)return row;if(customResultMapper)return customResultMapper([row]);return mapResultRow(fields,row,joinsNotNullableMap)}values(placeholderValues){let params=fillPlaceholders(this.query.params,placeholderValues??{});return this.logger.logQuery(this.query.sql,params),this.stmt.values(...params)}isResponseInArrayMode(){return this._isResponseInArrayMode}}});import{Database as Database2}from"bun:sqlite";function construct(client,config3={}){let dialect2=new SQLiteSyncDialect({casing:config3.casing}),logger;if(config3.logger===!0)logger=new DefaultLogger;else if(config3.logger!==!1)logger=config3.logger;let schema;if(config3.schema){let tablesConfig=extractTablesRelationalConfig(config3.schema,createTableRelationsHelpers);schema={fullSchema:config3.schema,schema:tablesConfig.tables,tableNamesMap:tablesConfig.tableNamesMap}}let session2=new SQLiteBunSession(client,dialect2,schema,{logger}),db2=new BunSQLiteDatabase("sync",dialect2,session2,schema);return db2.$client=client,db2}function drizzle(...params){if(params[0]===void 0||typeof params[0]==="string"){let instance=params[0]===void 0?new Database2:new Database2(params[0]);return construct(instance,params[1])}if(isConfig(params[0])){let{connection,client,...drizzleConfig}=params[0];if(client)return construct(client,drizzleConfig);if(typeof connection==="object"){let{source,...opts}=connection,options=Object.values(opts).filter((v)=>v!==void 0).length?opts:void 0,instance2=new Database2(source,options);return construct(instance2,drizzleConfig)}let instance=new Database2(connection);return construct(instance,drizzleConfig)}return construct(params[0],params[1])}var BunSQLiteDatabase;var init_driver=__esm(()=>{init_entity();init_logger();init_relations();init_db();init_dialect();init_utils();init_session2();BunSQLiteDatabase=class BunSQLiteDatabase extends BaseSQLiteDatabase{static[entityKind]="BunSQLiteDatabase"};((drizzle2)=>{function mock(config3){return construct({},config3)}drizzle2.mock=mock})(drizzle||(drizzle={}))});var init_bun_sqlite2=__esm(()=>{init_driver();init_session2()});var inboxMessages;var init_inbox_messages=__esm(()=>{init_sqlite_core();inboxMessages=sqliteTable("inbox_messages",{id:text("id").primaryKey(),fromId:text("from_id"),toId:text("to_id").notNull(),body:text("body").notNull(),status:text("status").notNull().default("queued"),inReplyTo:text("in_reply_to"),createdAt:integer2("created_at").notNull(),updatedAt:integer2("updated_at").notNull(),deliveredAt:integer2("delivered_at"),injectAttempts:integer2("inject_attempts").notNull().default(0),injectError:text("inject_error"),requestKey:text("request_key")},(table2)=>[index("idx_inbox_messages_to_status").on(table2.toId,table2.status)])});function nowTimestamp(){return Date.now()}function buildStandardColumns(){return{createdAt:integer2("created_at").notNull().$defaultFn(nowTimestamp).default(0),updatedAt:integer2("updated_at").notNull().$defaultFn(nowTimestamp).default(0)}}function buildStandardColumnsWithSoftDelete(){return{...buildStandardColumns(),inUsed:integer2("in_used").notNull().default(1)}}function buildAppendOnlyColumns(){return{createdAt:integer2("created_at").notNull().$defaultFn(nowTimestamp).default(0)}}var standardColumns,standardColumnsWithSoftDelete,appendOnlyColumns;var init_common3=__esm(()=>{init_sqlite_core();standardColumns=buildStandardColumns();standardColumnsWithSoftDelete=buildStandardColumnsWithSoftDelete();appendOnlyColumns=buildAppendOnlyColumns()});var queueJobs;var init_queue_jobs=__esm(()=>{init_sqlite_core();init_common3();queueJobs=sqliteTable("queue_jobs",{id:text("id").primaryKey(),type:text("type").notNull(),payload:text("payload").notNull(),status:text("status").notNull().default("pending"),attempts:integer2("attempts").notNull().default(0),maxRetries:integer2("max_retries").notNull().default(3),...standardColumns,nextRetryAt:integer2("next_retry_at"),lastError:text("last_error"),processingAt:integer2("processing_at"),expiresAt:integer2("expires_at"),timeoutMs:integer2("timeout_ms"),timeoutUnlimited:integer2("timeout_unlimited").notNull().default(0),attemptToken:text("attempt_token"),leaseExpiresAt:integer2("lease_expires_at")},(table2)=>[index("queue_jobs_ready_idx").on(table2.status,table2.nextRetryAt,table2.createdAt)])});var exports_runtime={};__export(exports_runtime,{queueJobs:()=>queueJobs,inboxMessages:()=>inboxMessages});var init_runtime=__esm(()=>{init_inbox_messages();init_queue_jobs()});var exports_bun_sqlite={};__export(exports_bun_sqlite,{BunSqliteAdapter:()=>BunSqliteAdapter});class BunSqliteAdapter{sqlite;drizzleDb;stmtCache=new Map;getStatement(sql3){let cached2=this.stmtCache.get(sql3);if(cached2!==void 0)return cached2;let stmt=this.sqlite.prepare(sql3);return this.stmtCache.set(sql3,stmt),stmt}constructor(options){let dbPath=options?.databaseUrl??DEFAULT_DB_PATH,pragmas={...DEFAULT_PRAGMAS,...options?.pragmas};if(dbPath!==":memory:"&&!isAbsolutePath(dbPath))dbPath=resolvePath(dbPath);this.sqlite=new Database(dbPath,{create:!0}),this.sqlite.run(pragmas.journalMode),this.sqlite.run(pragmas.synchronous),this.sqlite.run(pragmas.foreignKeys),this.sqlite.run(pragmas.busyTimeout),this.drizzleDb=drizzle({client:this.sqlite,schema:exports_runtime})}get db(){return this.drizzleDb}getDrizzleDb(){return this.drizzleDb}async exec(sql3){this.sqlite.prepare(sql3).run()}async run(sql3,...params){this.getStatement(sql3).run(...params)}async queryFirst(sql3,...params){return this.getStatement(sql3).get(...params)??void 0}async queryAll(sql3,...params){return this.getStatement(sql3).all(...params)??[]}async batch(operations){if(operations.length===0)return;this.sqlite.transaction(()=>{for(let op of operations)this.getStatement(op.sql).run(...op.params)})()}close(){this.sqlite.close()}}var DEFAULT_PRAGMAS,DEFAULT_DB_PATH=".spur/spur.db";var init_bun_sqlite3=__esm(()=>{init_dist3();init_bun_sqlite();init_bun_sqlite2();init_runtime();DEFAULT_PRAGMAS={journalMode:"PRAGMA journal_mode = WAL",synchronous:"PRAGMA synchronous = NORMAL",foreignKeys:"PRAGMA foreign_keys = ON",busyTimeout:"PRAGMA busy_timeout = 5000"}});var init_core4=__esm(()=>{init_cache()});function d1ToRawMapping(results){let rows=[];for(let row of results){let entry=Object.keys(row).map((k)=>row[k]);rows.push(entry)}return rows}var SQLiteD1Session,D1Transaction,D1PreparedQuery;var init_session3=__esm(()=>{init_core4();init_entity();init_logger();init_sql();init_sqlite_core();init_session();init_utils();SQLiteD1Session=class SQLiteD1Session extends SQLiteSession{constructor(client,dialect2,schema,options={}){super(dialect2);this.client=client,this.schema=schema,this.options=options,this.logger=options.logger??new NoopLogger,this.cache=options.cache??new NoopCache}static[entityKind]="SQLiteD1Session";logger;cache;prepareQuery(query,fields,executeMethod,isResponseInArrayMode,customResultMapper,queryMetadata,cacheConfig){let stmt=this.client.prepare(query.sql);return new D1PreparedQuery(stmt,query,this.logger,this.cache,queryMetadata,cacheConfig,fields,executeMethod,isResponseInArrayMode,customResultMapper)}async batch(queries){let preparedQueries=[],builtQueries=[];for(let query of queries){let preparedQuery=query._prepare(),builtQuery=preparedQuery.getQuery();if(preparedQueries.push(preparedQuery),builtQuery.params.length>0)builtQueries.push(preparedQuery.stmt.bind(...builtQuery.params));else{let builtQuery2=preparedQuery.getQuery();builtQueries.push(this.client.prepare(builtQuery2.sql).bind(...builtQuery2.params))}}return(await this.client.batch(builtQueries)).map((result,i2)=>preparedQueries[i2].mapResult(result,!0))}extractRawAllValueFromBatchResult(result){return result.results}extractRawGetValueFromBatchResult(result){return result.results[0]}extractRawValuesValueFromBatchResult(result){return d1ToRawMapping(result.results)}async transaction(transaction,config3){let tx=new D1Transaction("async",this.dialect,this,this.schema);await this.run(sql.raw(`begin${config3?.behavior?" "+config3.behavior:""}`));try{let result=await transaction(tx);return await this.run(sql`commit`),result}catch(err){throw await this.run(sql`rollback`),err}}};D1Transaction=class D1Transaction extends SQLiteTransaction{static[entityKind]="D1Transaction";async transaction(transaction){let savepointName=`sp${this.nestedIndex}`,tx=new D1Transaction("async",this.dialect,this.session,this.schema,this.nestedIndex+1);await this.session.run(sql.raw(`savepoint ${savepointName}`));try{let result=await transaction(tx);return await this.session.run(sql.raw(`release savepoint ${savepointName}`)),result}catch(err){throw await this.session.run(sql.raw(`rollback to savepoint ${savepointName}`)),err}}};D1PreparedQuery=class D1PreparedQuery extends SQLitePreparedQuery{constructor(stmt,query,logger,cache2,queryMetadata,cacheConfig,fields,executeMethod,_isResponseInArrayMode,customResultMapper){super("async",executeMethod,query,cache2,queryMetadata,cacheConfig);this.logger=logger,this._isResponseInArrayMode=_isResponseInArrayMode,this.customResultMapper=customResultMapper,this.fields=fields,this.stmt=stmt}static[entityKind]="D1PreparedQuery";customResultMapper;fields;stmt;async run(placeholderValues){let params=fillPlaceholders(this.query.params,placeholderValues??{});return this.logger.logQuery(this.query.sql,params),await this.queryWithCache(this.query.sql,params,async()=>{return this.stmt.bind(...params).run()})}async all(placeholderValues){let{fields,query,logger,stmt,customResultMapper}=this;if(!fields&&!customResultMapper){let params=fillPlaceholders(query.params,placeholderValues??{});return logger.logQuery(query.sql,params),await this.queryWithCache(query.sql,params,async()=>{return stmt.bind(...params).all().then(({results})=>this.mapAllResult(results))})}let rows=await this.values(placeholderValues);return this.mapAllResult(rows)}mapAllResult(rows,isFromBatch){if(isFromBatch)rows=d1ToRawMapping(rows.results);if(!this.fields&&!this.customResultMapper)return rows;if(this.customResultMapper)return this.customResultMapper(rows);return rows.map((row)=>mapResultRow(this.fields,row,this.joinsNotNullableMap))}async get(placeholderValues){let{fields,joinsNotNullableMap,query,logger,stmt,customResultMapper}=this;if(!fields&&!customResultMapper){let params=fillPlaceholders(query.params,placeholderValues??{});return logger.logQuery(query.sql,params),await this.queryWithCache(query.sql,params,async()=>{return stmt.bind(...params).all().then(({results})=>results[0])})}let rows=await this.values(placeholderValues);if(!rows[0])return;if(customResultMapper)return customResultMapper(rows);return mapResultRow(fields,rows[0],joinsNotNullableMap)}mapGetResult(result,isFromBatch){if(isFromBatch)result=d1ToRawMapping(result.results)[0];if(!this.fields&&!this.customResultMapper)return result;if(this.customResultMapper)return this.customResultMapper([result]);return mapResultRow(this.fields,result,this.joinsNotNullableMap)}async values(placeholderValues){let params=fillPlaceholders(this.query.params,placeholderValues??{});return this.logger.logQuery(this.query.sql,params),await this.queryWithCache(this.query.sql,params,async()=>{return this.stmt.bind(...params).raw()})}isResponseInArrayMode(){return this._isResponseInArrayMode}}});function drizzle2(client,config3={}){let dialect2=new SQLiteAsyncDialect({casing:config3.casing}),logger;if(config3.logger===!0)logger=new DefaultLogger;else if(config3.logger!==!1)logger=config3.logger;let schema;if(config3.schema){let tablesConfig=extractTablesRelationalConfig(config3.schema,createTableRelationsHelpers);schema={fullSchema:config3.schema,schema:tablesConfig.tables,tableNamesMap:tablesConfig.tableNamesMap}}let session3=new SQLiteD1Session(client,dialect2,schema,{logger,cache:config3.cache}),db2=new DrizzleD1Database("async",dialect2,session3,schema);if(db2.$client=client,db2.$cache=config3.cache,db2.$cache)db2.$cache.invalidate=config3.cache?.onMutate;return db2}var DrizzleD1Database;var init_driver2=__esm(()=>{init_entity();init_logger();init_relations();init_db();init_dialect();init_session3();DrizzleD1Database=class DrizzleD1Database extends BaseSQLiteDatabase{static[entityKind]="D1Database";async batch(batch){return this.session.batch(batch)}}});var init_d1=__esm(()=>{init_driver2();init_session3()});var exports_d1={};__export(exports_d1,{D1Adapter:()=>D1Adapter});class D1Adapter{binding;drizzleDb;constructor(binding){this.binding=binding,this.drizzleDb=drizzle2(this.binding,{schema:exports_runtime})}get db(){return this.drizzleDb}getDrizzleDb(){return this.drizzleDb}getBinding(){return this.binding}async exec(sql3){await this.binding.exec(sql3)}async run(sql3,...params){let stmt=this.binding.prepare(sql3);await(params.length>0?stmt.bind(...params):stmt).run()}async queryFirst(sql3,...params){let stmt=this.binding.prepare(sql3);return await(params.length>0?stmt.bind(...params):stmt).first()??void 0}async queryAll(sql3,...params){return(await this.binding.prepare(sql3).bind(...params).all()).results??[]}async batch(operations){if(operations.length===0)return;if(this.binding.batch===void 0&&operations.length>1)throw Error(`D1 binding has no batch() — cannot execute ${operations.length} statements atomically; provide a binding with native batch() support`);let boundStmts=operations.map((op)=>{let stmt=this.binding.prepare(op.sql);return op.params.length>0?stmt.bind(...op.params):stmt.bind()});if(this.binding.batch!==void 0)await this.binding.batch(boundStmts);else await boundStmts[0]?.run()}close(){}}var init_d12=__esm(()=>{init_d1();init_runtime()});async function createDbAdapter(config3){switch(config3.driver){case"bun-sqlite":{let{BunSqliteAdapter:BunSqliteAdapter2}=await Promise.resolve().then(() => (init_bun_sqlite3(),exports_bun_sqlite));return new BunSqliteAdapter2({...config3.url?{databaseUrl:config3.url}:{},...config3.pragmas?{pragmas:config3.pragmas}:{}})}case"d1":{let{D1Adapter:D1Adapter2}=await Promise.resolve().then(() => (init_d12(),exports_d1));return new D1Adapter2(config3.binding)}}}var init_drizzle_orm=__esm(()=>{init_alias();init_column_builder();init_column();init_entity();init_errors4();init_logger();init_query_promise();init_relations();init_sql2();init_subquery();init_table();init_utils();init_view_common()});function compilePredicate(predicate){if("and"in predicate){let parts=predicate.and.map(compilePredicate).filter((p)=>p!==void 0);return parts.length>0?and(...parts):void 0}if("or"in predicate){let parts=predicate.or.map(compilePredicate).filter((p)=>p!==void 0);return parts.length>0?or(...parts):void 0}switch(predicate.op){case"isNull":return isNull(predicate.col);case"isNotNull":return isNotNull(predicate.col);case"in":return inArray(predicate.col,predicate.values);default:return COMPARISON_BUILDERS[predicate.op](predicate.col,predicate.value)}}function compileOrderBy(orderBy){return orderBy.map((term)=>term.dir==="desc"?desc(term.col):asc(term.col))}var COMPARISON_BUILDERS;var init_query_spec=__esm(()=>{init_drizzle_orm();COMPARISON_BUILDERS={eq:(col,value)=>eq(col,value),ne:(col,value)=>ne(col,value),gt:(col,value)=>gt(col,value),gte:(col,value)=>gte(col,value),lt:(col,value)=>lt(col,value),lte:(col,value)=>lte(col,value),like:(col,value)=>like(col,value)}});function asSelectQuery(query){return query}class BaseDao{adapter;constructor(adapter){this.adapter=adapter}get db(){return this.adapter.db}now(){return Date.now()}async tx(fn){return this.db.transaction((tx)=>fn(tx))}async query(table3,spec={}){let condition=spec.where?compilePredicate(spec.where):void 0,order=spec.orderBy?compileOrderBy(spec.orderBy):[],q=asSelectQuery(this.db.select().from(table3));if(condition)q=q.where(condition);if(order.length>0)q=q.orderBy(...order);if(spec.limit!==void 0)q=q.limit(spec.limit);if(spec.offset!==void 0)q=q.offset(spec.offset);return await q??[]}async one(table3,where){return(await this.query(table3,{where,limit:1}))[0]}}var init_base_dao=__esm(()=>{init_query_spec()});var embeddedMigrations;var init_embedded_migrations=__esm(()=>{embeddedMigrations=[{tag:"0000_init",sql:"CREATE TABLE `queue_jobs` (\n\t`id` text PRIMARY KEY NOT NULL,\n\t`type` text NOT NULL,\n\t`payload` text NOT NULL,\n\t`status` text DEFAULT 'pending' NOT NULL,\n\t`attempts` integer DEFAULT 0 NOT NULL,\n\t`max_retries` integer DEFAULT 3 NOT NULL,\n\t`created_at` integer NOT NULL,\n\t`updated_at` integer NOT NULL,\n\t`next_retry_at` integer,\n\t`last_error` text,\n\t`processing_at` integer\n);\n",hash:"558dea3834348925f79b4d30ca79d0afd0d990b2883341377d369444d50ce76e"},{tag:"0001_salty_red_ghost",sql:"CREATE INDEX `queue_jobs_ready_idx` ON `queue_jobs` (`status`,`next_retry_at`,`created_at`);",hash:"f842da3f49edeec8a17bcab399669410db09996ab258dc4fa781357d0400ddbf"},{tag:"0002_nasty_namora",sql:"ALTER TABLE `queue_jobs` ADD `expires_at` integer;",hash:"7380f8c162352a61b15205af5a87e0e7313a499203dae98fe62151a1dc7fec0e"},{tag:"0003_inbox_messages",sql:"CREATE TABLE `inbox_messages` (\n\t`id` text PRIMARY KEY NOT NULL,\n\t`from_id` text,\n\t`to_id` text NOT NULL,\n\t`body` text NOT NULL,\n\t`status` text DEFAULT 'queued' NOT NULL,\n\t`in_reply_to` text,\n\t`created_at` integer NOT NULL,\n\t`updated_at` integer NOT NULL,\n\t`delivered_at` integer,\n\t`inject_attempts` integer DEFAULT 0 NOT NULL,\n\t`inject_error` text\n);",hash:"c4ba569172d1be276c42b5c164c668404e6229dcf48b41d7fb2bc93e8d29d11b"},{tag:"0004_inbox_messages_to_status_idx",sql:"CREATE INDEX `idx_inbox_messages_to_status` ON `inbox_messages` (`to_id`,`status`);",hash:"3c00f1bce4f569e442f3142df31ff478d6c9b3d460824d46575f50a324bfae61"},{tag:"0005_queue_attempt_ownership",sql:"ALTER TABLE `queue_jobs` ADD `timeout_ms` integer;\nALTER TABLE `queue_jobs` ADD `timeout_unlimited` integer DEFAULT 0 NOT NULL;\nALTER TABLE `queue_jobs` ADD `attempt_token` text;\nALTER TABLE `queue_jobs` ADD `lease_expires_at` integer;",hash:"f6a4eaf11eee838f424515e57eca3a46539260bb2fb5b0b112870ca5ed38d040"},{tag:"0014_inbox_messages_request_key",sql:"ALTER TABLE `inbox_messages` ADD `request_key` text;\nCREATE UNIQUE INDEX `idx_inbox_messages_request_key` ON `inbox_messages` (`request_key`) WHERE `request_key` IS NOT NULL;\n",hash:"7277e79f8339975b29565e7b33e04f0dbd50995b99b82048fd83079757334f71"}]});var EntityDao;var init_entity_dao=__esm(()=>{init_drizzle_orm();init_base_dao();init_query_spec();EntityDao=class EntityDao extends BaseDao{table;primaryKey;collectionName;validation;constructor(adapter,table3,primaryKey,collectionName,options={}){super(adapter);this.table=table3,this.primaryKey=Array.isArray(primaryKey)?primaryKey:[primaryKey],this.collectionName=collectionName,this.validation=options}validate(op,input){let schema=op==="update"?this.validation.updateSchema:this.validation.insertSchema;if(schema===void 0)return;if(!(this.validation.validateOn??["create","createMany","upsert","update"]).includes(op))return;schema.parse(input)}get hasSoftDelete(){return"inUsed"in this.table}get activeCondition(){let table3=this.table;if("inUsed"in table3)return eq(table3.inUsed,1);return}pkCondition(id){let values=Array.isArray(id)?id:[id];if(values.length!==this.primaryKey.length)throw Error(`${this.collectionName}: primary key expects ${this.primaryKey.length} value(s), got ${values.length}`);let parts=this.primaryKey.map((col,i2)=>eq(col,values[i2]));return parts.length===1?parts[0]:and(...parts)}get insertBuilder(){return this.db.insert(this.table)}async create(data){let now=this.now(),record2={createdAt:now,updatedAt:now,...data};return this.validate("create",record2),(await this.insertBuilder.values(record2).returning())[0]}async createMany(data){if(data.length===0)return[];let now=this.now(),records=data.map((d)=>({createdAt:now,updatedAt:now,...d}));for(let record2 of records)this.validate("createMany",record2);return await this.insertBuilder.values(records).returning()}async upsert(data,conflictColumns,updateColumns){let now=this.now(),record2={createdAt:now,updatedAt:now,...data};this.validate("upsert",record2);let identityCols=new Set([...conflictColumns,...this.primaryKey]),identityProps=new Set(Object.entries(this.table).filter(([,col])=>identityCols.has(col)).map(([key])=>key)),defaultSet=Object.fromEntries(Object.entries(data).filter(([key])=>!identityProps.has(key))),setOnConflict={...updateColumns??defaultSet,updatedAt:now};return(await this.insertBuilder.values(record2).onConflictDoUpdate({target:conflictColumns,set:setOnConflict}).returning())[0]}async findById(id,includeDeleted=!1){let conditions2=[this.pkCondition(id)];if(!includeDeleted&&this.activeCondition)conditions2.push(this.activeCondition);return(await this.db.select().from(this.table).where(and(...conditions2)))[0]}async findAll(includeDeleted=!1){return this.list({includeDeleted})}async findBy(column2,value,includeDeleted=!1){return(await this.list({where:{col:column2,op:"eq",value},limit:1,includeDeleted}))[0]}async findAllBy(column2,value,includeDeleted=!1){return this.list({where:{col:column2,op:"eq",value},includeDeleted})}async update(id,data){let updateData={...data,updatedAt:this.now()};return this.validate("update",updateData),(await this.db.update(this.table).set(updateData).where(this.pkCondition(id)).returning())[0]}async delete(id,soft){if((soft??this.hasSoftDelete)&&this.hasSoftDelete)return this.update(id,{inUsed:0});await this.db.delete(this.table).where(this.pkCondition(id));return}async list(spec={}){let where=this.withActive(spec.where,spec.includeDeleted);return this.query(this.table,{...where?{where}:{},...spec.orderBy?{orderBy:spec.orderBy}:{},...spec.limit!==void 0?{limit:spec.limit}:{},...spec.offset!==void 0?{offset:spec.offset}:{}})}async listByCursor(spec){let dir=spec.direction??"asc",filters=[];if(spec.where)filters.push(spec.where);if(spec.cursor!==void 0)filters.push({col:spec.cursorColumn,op:dir==="asc"?"gt":"lt",value:spec.cursor});let where=this.withActive(filters.length>0?{and:filters}:void 0,spec.includeDeleted),rows=await this.query(this.table,{...where?{where}:{},orderBy:[{col:spec.cursorColumn,dir}],limit:spec.limit}),last=rows[rows.length-1],cursorResultKey=this.resultKeyForColumn(spec.cursorColumn),nextCursor=rows.length===spec.limit&&last?last[cursorResultKey]:void 0;return nextCursor!==void 0?{rows,nextCursor}:{rows}}resultKeyForColumn(column2){for(let[key,value]of Object.entries(this.table))if(value===column2)return key;return column2.name}async count(where,includeDeleted=!1){let condition=this.withActive(where,includeDeleted),compiled=condition?compilePredicate(condition):void 0,base2=this.db.select({value:count2()}).from(this.table);return(await(compiled?base2.where(compiled):base2))[0]?.value??0}withActive(where,includeDeleted){if(includeDeleted||!this.hasSoftDelete)return where;let table3=this.table;if(!("inUsed"in table3))return where;let active={col:table3.inUsed,op:"eq",value:1};if(!where)return active;return{and:[where,active]}}}});function isPromiseLike(value){return value!==null&&(typeof value==="object"||typeof value==="function")&&typeof value.then==="function"}function isRequestKeyUniqueViolation(error51){let msg=error51 instanceof Error?error51.message:String(error51);return msg.includes("UNIQUE constraint failed")&&(msg.includes("idx_inbox_messages_request_key")||msg.includes("inbox_messages.request_key"))}var RequestKeyConflictError,InboxMessageDao;var init_inbox_message_dao=__esm(()=>{init_drizzle_orm();init_entity_dao();init_inbox_messages();RequestKeyConflictError=class RequestKeyConflictError extends Error{requestKey;existingId;constructor(requestKey,existingId){super("Request key conflict: key is already bound to another payload"+(existingId?` (existing message id: ${existingId})`:""));this.name="RequestKeyConflictError",this.requestKey=requestKey,this.existingId=existingId}};InboxMessageDao=class InboxMessageDao extends EntityDao{events;constructor(adapter,options={}){super(adapter,inboxMessages,[inboxMessages.id],"inbox_messages");this.events=options.events}async enqueue(fromId,toId,body,inReplyTo){let id=crypto.randomUUID(),now=this.now();return await this.create({id,fromId,toId,body,status:"queued",injectAttempts:0,createdAt:now,updatedAt:now,...inReplyTo!==void 0?{inReplyTo}:{}}),this.emitEvent("message.enqueued",{id,fromId,toId,...inReplyTo!==void 0?{inReplyTo}:{},timestamp:now}),id}async enqueueIdempotent(fromId,toId,body,requestKey,inReplyTo){let id=crypto.randomUUID(),now=this.now();try{await this.create({id,fromId,toId,body,status:"queued",injectAttempts:0,requestKey,createdAt:now,updatedAt:now,...inReplyTo!==void 0?{inReplyTo}:{}})}catch(error51){if(isRequestKeyUniqueViolation(error51)){let existing=await this.findBy(inboxMessages.requestKey,requestKey);if(existing&&existing.body===body&&existing.toId===toId)return{id:existing.id,replayed:!0};throw new RequestKeyConflictError(requestKey,existing?.id??"")}throw error51}return this.emitEvent("message.enqueued",{id,fromId,toId,...inReplyTo!==void 0?{inReplyTo}:{},timestamp:now}),{id,replayed:!1}}async drainPending(toId,options){let limit=options?.limit??100;if(!Number.isInteger(limit)||limit<=0)throw RangeError(`drainPending limit must be a positive integer; received ${limit}`);let now=this.now(),rows=await this.db.update(inboxMessages).set({status:"injected",injectAttempts:sql`${inboxMessages.injectAttempts} + 1`,updatedAt:now}).where(sql`${inboxMessages.id} IN (
|
|
259
|
+
SELECT id
|
|
260
|
+
FROM ${inboxMessages}
|
|
261
|
+
WHERE to_id = ${toId}
|
|
262
|
+
AND status = 'queued'
|
|
263
|
+
ORDER BY created_at
|
|
264
|
+
LIMIT ${limit}
|
|
265
|
+
)
|
|
266
|
+
AND ${inboxMessages.status} = 'queued'`).returning();for(let row of rows)this.emitEvent("message.injected",{id:row.id,fromId:row.fromId,toId:row.toId,inReplyTo:row.inReplyTo,injectAttempts:row.injectAttempts,timestamp:now});return rows}async markDelivered(msgId){let now=this.now(),updated=await this.update(msgId,{status:"delivered",deliveredAt:now});if(updated)this.emitEvent("message.delivered",{id:updated.id,fromId:updated.fromId,toId:updated.toId,deliveredAt:now,timestamp:now})}async markFailed(msgId,error51){let updated=await this.update(msgId,{status:"failed",injectError:error51});if(updated)this.emitEvent("message.failed",{id:updated.id,fromId:updated.fromId,toId:updated.toId,error:error51,timestamp:updated.updatedAt})}async release(msgIds){if(msgIds.length===0)return 0;let now=this.now(),rows=await this.db.update(inboxMessages).set({status:"queued",updatedAt:now}).where(and(inArray(inboxMessages.id,msgIds),eq(inboxMessages.status,"injected"))).returning();for(let row of rows)this.emitEvent("message.requeued",{id:row.id,fromId:row.fromId,toId:row.toId,timestamp:now});return rows.length}async inbox(toId,limit,offset){return this.list({where:{col:inboxMessages.toId,op:"eq",value:toId},orderBy:[{col:inboxMessages.createdAt,dir:"desc"}],...limit!==void 0?{limit}:{},...offset!==void 0?{offset}:{}})}async countPending(toId){return this.count({and:[{col:inboxMessages.toId,op:"eq",value:toId},{col:inboxMessages.status,op:"eq",value:"queued"}]})}async getById(id){return this.findBy(inboxMessages.id,id)}emitEvent(event,...args){if(!this.events)return;try{let pending=this.events.emit(event,...args);if(isPromiseLike(pending))Promise.resolve(pending).catch(()=>{})}catch{}}}});import crypto2 from"node:crypto";import fs from"node:fs";function readMigrationFiles(config3){let migrationFolderTo=config3.migrationsFolder,migrationQueries=[],journalPath=`${migrationFolderTo}/meta/_journal.json`;if(!fs.existsSync(journalPath))throw Error("Can't find meta/_journal.json file");let journalAsString=fs.readFileSync(`${migrationFolderTo}/meta/_journal.json`).toString(),journal=JSON.parse(journalAsString);for(let journalEntry of journal.entries){let migrationPath=`${migrationFolderTo}/${journalEntry.tag}.sql`;try{let query=fs.readFileSync(`${migrationFolderTo}/${journalEntry.tag}.sql`).toString(),result=query.split("--> statement-breakpoint").map((it)=>{return it});migrationQueries.push({sql:result,bps:journalEntry.breakpoints,folderMillis:journalEntry.when,hash:crypto2.createHash("sha256").update(query).digest("hex")})}catch{throw Error(`No file ${migrationPath} found in ${migrationFolderTo} folder`)}}return migrationQueries}var init_migrator=()=>{};var exports_migrator={};__export(exports_migrator,{migrate:()=>migrate});function migrate(db2,config3){let migrations=readMigrationFiles(config3);db2.dialect.migrate(migrations,db2.session,config3)}var init_migrator2=__esm(()=>{init_migrator()});async function ensureJournalTable(adapter,table3){await adapter.exec(`CREATE TABLE IF NOT EXISTS "${table3}" (id INTEGER PRIMARY KEY AUTOINCREMENT, hash text NOT NULL, created_at numeric)`)}function validateMigrationTableName(table3){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(table3))throw Error(`Invalid migration journal table name: ${table3}`);return table3}async function applyEmbeddedMigrations(adapter,journalTable,logger2){validateMigrationTableName(journalTable);let appliedHashes=new Set;try{let rows=await adapter.queryAll(`SELECT hash FROM "${journalTable}"`);for(let row of rows)appliedHashes.add(row.hash)}catch{}let applied=0;for(let migration of embeddedMigrations){if(appliedHashes.has(migration.hash))continue;logger2.info(`Applying embedded migration: ${migration.tag}`);let statements=migration.sql.split(";").map((s2)=>s2.trim()).filter((s2)=>s2.length>0);for(let stmt of statements)await adapter.exec(stmt);await adapter.run(`INSERT INTO "${journalTable}" (hash, created_at) VALUES (?, ?)`,migration.hash,Date.now()),applied++}if(applied>0)logger2.info(`Applied ${applied} embedded migration(s)`)}async function applyMigrations(adapter,options){let logger2=options?.logger??console,{BunSqliteAdapter:BunSqliteAdapter2}=await Promise.resolve().then(() => (init_bun_sqlite3(),exports_bun_sqlite));if(!(adapter instanceof BunSqliteAdapter2)){logger2.warn("Skipping in-app migrations: only supported for bun-sqlite adapter");return}let table3=validateMigrationTableName(options?.migrationsTable??"__drizzle_migrations");await ensureJournalTable(adapter,table3);let folder=options?.migrationsFolder??resolvePath(getProcessCwd(),"drizzle"),fs2=options?.fs;if(fs2?await fs2.exists(folder):!0)try{let{migrate:drizzleMigrate}=await Promise.resolve().then(() => (init_migrator2(),exports_migrator));logger2.info(`Applying database migrations from ${folder}`),await drizzleMigrate(adapter.getDrizzleDb(),{migrationsFolder:folder,...options?.migrationsTable!==void 0?{migrationsTable:table3}:{}}),logger2.info("Database migrations complete");return}catch(error51){let message=error51 instanceof Error?error51.message:String(error51);if(message.includes("journal")||message.includes("ENOENT")||message.includes("meta"))logger2.info(`File-based migrations unavailable, using embedded: ${message}`);else throw logger2.error(`[MIGRATE] drizzleMigrate failed: ${message}`),error51}logger2.info("No drizzle/ folder found — applying embedded migrations"),await applyEmbeddedMigrations(adapter,table3,logger2)}var init_migrate=__esm(()=>{init_dist3();init_embedded_migrations()});function assertValidTimeoutMs(value){if(value===void 0||value===null)return;if(typeof value!=="number"||!Number.isInteger(value)||value<=0)throw RangeError(`enqueue timeoutMs must be a positive integer or null; received ${String(value)}`)}function timeoutColumns(timeoutMs){if(timeoutMs===void 0)return{};return timeoutMs===null?{timeoutUnlimited:1}:{timeoutMs}}var QueueJobDao;var init_queue_job_dao=__esm(()=>{init_drizzle_orm();init_entity_dao();init_queue_jobs();QueueJobDao=class QueueJobDao extends EntityDao{constructor(adapter){super(adapter,queueJobs,[queueJobs.id],"queue_jobs")}async enqueue(type,payload,options){assertValidTimeoutMs(options?.timeoutMs);let now=this.now(),id=crypto.randomUUID();return await this.create({id,type,payload:JSON.stringify(payload),status:"pending",attempts:0,maxRetries:options?.maxRetries??3,nextRetryAt:options?.delay!==void 0?now+options.delay:now,...options?.ttlMs!==void 0?{expiresAt:now+options.ttlMs}:{},...timeoutColumns(options?.timeoutMs)}),id}async enqueueBatch(jobs){for(let job of jobs)assertValidTimeoutMs(job.timeoutMs);let now=this.now(),ids=[],rows=jobs.map((job)=>{let id=crypto.randomUUID();return ids.push(id),{id,type:job.type,payload:JSON.stringify(job.payload),status:"pending",attempts:0,maxRetries:job.maxRetries??3,nextRetryAt:job.delay!==void 0?now+job.delay:now,...job.ttlMs!==void 0?{expiresAt:now+job.ttlMs}:{},...timeoutColumns(job.timeoutMs)}});if(rows.length>0)await this.tx(async(tx)=>{for(let row of rows)await tx.insert(queueJobs).values(row)});return ids}async getById(id){return this.findBy(queueJobs.id,id)}async getStats(){let rows=await this.db.select({status:queueJobs.status,count:sql`count(*)`}).from(queueJobs).groupBy(queueJobs.status),map2=Object.fromEntries(rows.map((r)=>[r.status,Number(r.count??0)]));return{pending:map2.pending??0,processing:map2.processing??0,completed:map2.completed??0,failed:map2.failed??0}}async countByStatus(status){return(await this.db.select({value:sql`count(*)`}).from(queueJobs).where(sql`${queueJobs.status} = ${status}`))[0]?.value??0}async findPending(batchSize){let now=this.now();return await this.db.select().from(queueJobs).where(sql`${queueJobs.status} = 'pending' AND (${queueJobs.nextRetryAt} IS NULL OR ${queueJobs.nextRetryAt} <= ${now})`).orderBy(queueJobs.createdAt).limit(batchSize)}async claimReady(batchSize,options){let limit=Math.floor(batchSize);if(limit<=0)return[];let now=this.now(),leaseMs=options?.leaseMs,leased=leaseMs!==void 0,leaseExpiresAt=leased?now+leaseMs:null;await this.db.update(queueJobs).set({status:"failed",attempts:sql`${queueJobs.attempts} + 1`,lastError:"lease expired: attempts exhausted",processingAt:null,attemptToken:null,leaseExpiresAt:null,updatedAt:now}).where(sql`${queueJobs.status} = 'processing' AND ${queueJobs.attemptToken} IS NOT NULL AND ${queueJobs.leaseExpiresAt} IS NOT NULL
|
|
267
|
+
AND ${queueJobs.leaseExpiresAt} <= ${now} AND ${queueJobs.attempts} + 1 >= ${queueJobs.maxRetries}`);let reclaimable=sql`(
|
|
268
|
+
${queueJobs.status} = 'pending'
|
|
269
|
+
AND (${queueJobs.nextRetryAt} IS NULL OR ${queueJobs.nextRetryAt} <= ${now})
|
|
270
|
+
) OR (
|
|
271
|
+
${queueJobs.status} = 'processing'
|
|
272
|
+
AND ${queueJobs.attemptToken} IS NOT NULL
|
|
273
|
+
AND ${queueJobs.leaseExpiresAt} IS NOT NULL
|
|
274
|
+
AND ${queueJobs.leaseExpiresAt} <= ${now}
|
|
275
|
+
)`;return await this.db.update(queueJobs).set({status:"processing",processingAt:now,updatedAt:now,attemptToken:leased?sql`lower(hex(randomblob(16)))`:null,leaseExpiresAt,attempts:sql`CASE WHEN ${queueJobs.status} = 'processing' THEN ${queueJobs.attempts} + 1 ELSE ${queueJobs.attempts} END`}).where(sql`${queueJobs.id} IN (
|
|
276
|
+
SELECT id
|
|
277
|
+
FROM ${queueJobs}
|
|
278
|
+
WHERE ${reclaimable}
|
|
279
|
+
ORDER BY created_at
|
|
280
|
+
LIMIT ${limit}
|
|
281
|
+
)
|
|
282
|
+
AND ${reclaimable}`).returning()}async markProcessing(ids){if(ids.length===0)return;let now=this.now();await this.db.update(queueJobs).set({status:"processing",processingAt:now,updatedAt:now}).where(and(inArray(queueJobs.id,ids),eq(queueJobs.status,"pending")))}async markCompleted(id,attemptToken){let where=attemptToken===void 0?eq(queueJobs.id,id):and(eq(queueJobs.id,id),eq(queueJobs.attemptToken,attemptToken));return(await this.db.update(queueJobs).set({status:"completed",processingAt:null,attemptToken:null,leaseExpiresAt:null,updatedAt:this.now()}).where(where)).changes===1}async markFailed(id,attempts,error51,attemptToken){let where=attemptToken===void 0?eq(queueJobs.id,id):and(eq(queueJobs.id,id),eq(queueJobs.attemptToken,attemptToken));return(await this.db.update(queueJobs).set({status:"failed",attempts,lastError:error51,processingAt:null,attemptToken:null,leaseExpiresAt:null,updatedAt:this.now()}).where(where)).changes===1}async markForRetry(id,attempts,errorMessage,nextRetryAt,attemptToken){let where=attemptToken===void 0?eq(queueJobs.id,id):and(eq(queueJobs.id,id),eq(queueJobs.attemptToken,attemptToken));return(await this.db.update(queueJobs).set({status:"pending",attempts,lastError:errorMessage,nextRetryAt,processingAt:null,attemptToken:null,leaseExpiresAt:null,updatedAt:this.now()}).where(where)).changes===1}async renewLease(id,attemptToken,leaseMs){let now=this.now();return(await this.db.update(queueJobs).set({leaseExpiresAt:now+leaseMs,updatedAt:now}).where(and(eq(queueJobs.id,id),eq(queueJobs.attemptToken,attemptToken),eq(queueJobs.status,"processing")))).changes===1}async resetStuckJobs(visibilityTimeout){let cutoff=this.now()-visibilityTimeout;return await this.db.update(queueJobs).set({status:"failed",attempts:sql`${queueJobs.attempts} + 1`,lastError:"stuck job: attempts exhausted",processingAt:null,attemptToken:null,leaseExpiresAt:null,updatedAt:this.now()}).where(sql`${queueJobs.status} = 'processing' AND ${queueJobs.processingAt} IS NOT NULL AND ${queueJobs.processingAt} <= ${cutoff}
|
|
283
|
+
AND ${queueJobs.attemptToken} IS NULL AND ${queueJobs.attempts} + 1 >= ${queueJobs.maxRetries}`),(await this.db.update(queueJobs).set({status:"pending",processingAt:null,updatedAt:this.now(),attempts:sql`${queueJobs.attempts} + 1`}).where(sql`${queueJobs.status} = 'processing' AND ${queueJobs.processingAt} IS NOT NULL AND ${queueJobs.processingAt} <= ${cutoff}
|
|
284
|
+
AND ${queueJobs.attemptToken} IS NULL`)).changes}async failExpiredJobs(){let now=this.now();return(await this.db.update(queueJobs).set({status:"failed",lastError:"Job expired — not processed before TTL deadline",updatedAt:now,attempts:sql`${queueJobs.attempts} + 1`,processingAt:null}).where(sql`${queueJobs.status} = 'pending' AND ${queueJobs.expiresAt} IS NOT NULL AND ${queueJobs.expiresAt} <= ${now}`)).changes}}});var exports_dist={};__export(exports_dist,{embeddedMigrations:()=>embeddedMigrations,createDbAdapter:()=>createDbAdapter,compilePredicate:()=>compilePredicate,compileOrderBy:()=>compileOrderBy,applyMigrations:()=>applyMigrations,RequestKeyConflictError:()=>RequestKeyConflictError,QueueJobDao:()=>QueueJobDao,InboxMessageDao:()=>InboxMessageDao,EntityDao:()=>EntityDao,BaseDao:()=>BaseDao});var init_dist4=__esm(()=>{init_base_dao();init_embedded_migrations();init_entity_dao();init_inbox_message_dao();init_migrate();init_query_spec();init_queue_job_dao()});function sqlExpressionToText(value){if(typeof value!=="object"||value===null||!("queryChunks"in value))return;let chunks=value.queryChunks;if(!chunks)return;return chunks.map((chunk)=>{if("value"in chunk&&typeof chunk.value==="string")return chunk.value;if("input"in chunk&&chunk.input!==void 0)return String(chunk.input);return String(chunk.value??"?")}).join("")}function getDrizzleTableName(table3){return String(table3[Symbol.for("drizzle:Name")])}function quoteIdent(name){return`"${name.replace(/"/g,'""')}"`}function defaultToSql(value){if(value==null)return value===null?"NULL":void 0;if(typeof value==="number")return String(value);if(typeof value==="string")return`'${value.replace(/'/g,"''")}'`;if(typeof value==="boolean")return value?"1":"0";return sqlExpressionToText(value)??String(value)}function generateCreateTableSql(table3){let config3=getTableConfig(table3),columnDefs=[],tableConstraints=[],compositeUniqueCols=new Set;for(let uc of config3.uniqueConstraints)if(uc.columns.length>1)for(let col of uc.columns)compositeUniqueCols.add(col.name);let compositePkCols=new Set;for(let pk of config3.primaryKeys)if(pk.columns.length>1)for(let col of pk.columns)compositePkCols.add(col.name);for(let col of config3.columns){let parts=[quoteIdent(col.name),col.getSQLType()];if(col.primary&&!compositePkCols.has(col.name))parts.push("PRIMARY KEY");if(col.notNull)parts.push("NOT NULL");if(col.hasDefault&&col.default!==void 0){let sqlDefault=defaultToSql(col.default);if(sqlDefault!==void 0)parts.push(`DEFAULT ${sqlDefault}`)}if(col.isUnique&&!compositeUniqueCols.has(col.name))parts.push("UNIQUE");columnDefs.push(parts.join(" "))}for(let pk of config3.primaryKeys)if(pk.columns.length>1){let pkCols=pk.columns.map((c3)=>quoteIdent(c3.name)).join(", ");tableConstraints.push(`PRIMARY KEY (${pkCols})`)}for(let uc of config3.uniqueConstraints)if(uc.columns.length>1){let cols=uc.columns.map((c3)=>quoteIdent(c3.name)).join(", ");tableConstraints.push(`UNIQUE (${cols})`)}for(let fk of config3.foreignKeys){let ref=fk.reference(),localCols=ref.columns.map((c3)=>quoteIdent(c3.name)).join(", "),foreignCols=ref.foreignColumns.map((c3)=>quoteIdent(c3.name)).join(", "),foreignTableName=getDrizzleTableName(ref.foreignTable),constraint=`FOREIGN KEY (${localCols}) REFERENCES ${quoteIdent(foreignTableName)} (${foreignCols})`;if(fk.onDelete)constraint+=` ON DELETE ${fk.onDelete}`;if(fk.onUpdate)constraint+=` ON UPDATE ${fk.onUpdate}`;tableConstraints.push(constraint)}let allDefs=[...columnDefs,...tableConstraints];return`CREATE TABLE IF NOT EXISTS ${quoteIdent(config3.name)} (
|
|
285
|
+
${allDefs.join(`,
|
|
286
|
+
`)}
|
|
287
|
+
)`}var init_ddl=__esm(()=>{init_sqlite_core()});var init_classic=__esm(()=>{init_external();init_external()});var init_v4=__esm(()=>{init_classic()});function isColumnType(column2,columnTypes){return columnTypes.includes(column2.columnType)}function isWithEnum(column2){return"enumValues"in column2&&Array.isArray(column2.enumValues)&&column2.enumValues.length>0}function columnToSchema(column2,factory){let z$1=factory?.zodInstance??exports_external,coerce=factory?.coerce??{},schema;if(isWithEnum(column2))schema=column2.enumValues.length?z$1.enum(column2.enumValues):z$1.string();if(!schema){if(isColumnType(column2,["PgGeometry","PgPointTuple"]))schema=z$1.tuple([z$1.number(),z$1.number()]);else if(isColumnType(column2,["PgGeometryObject","PgPointObject"]))schema=z$1.object({x:z$1.number(),y:z$1.number()});else if(isColumnType(column2,["PgHalfVector","PgVector"]))schema=z$1.array(z$1.number()),schema=column2.dimensions?schema.length(column2.dimensions):schema;else if(isColumnType(column2,["PgLine"]))schema=z$1.tuple([z$1.number(),z$1.number(),z$1.number()]);else if(isColumnType(column2,["PgLineABC"]))schema=z$1.object({a:z$1.number(),b:z$1.number(),c:z$1.number()});else if(isColumnType(column2,["PgArray"]))schema=z$1.array(columnToSchema(column2.baseColumn,factory)),schema=column2.size?schema.length(column2.size):schema;else if(column2.dataType==="array")schema=z$1.array(z$1.any());else if(column2.dataType==="number")schema=numberColumnToSchema(column2,z$1,coerce);else if(column2.dataType==="bigint")schema=bigintColumnToSchema(column2,z$1,coerce);else if(column2.dataType==="boolean")schema=coerce===!0||coerce.boolean?z$1.coerce.boolean():z$1.boolean();else if(column2.dataType==="date")schema=coerce===!0||coerce.date?z$1.coerce.date():z$1.date();else if(column2.dataType==="string")schema=stringColumnToSchema(column2,z$1,coerce);else if(column2.dataType==="json")schema=jsonSchema;else if(column2.dataType==="custom")schema=z$1.any();else if(column2.dataType==="buffer")schema=bufferSchema}if(!schema)schema=z$1.any();return schema}function numberColumnToSchema(column2,z2,coerce){let unsigned=column2.getSQLType().includes("unsigned"),min,max,integer4=!1;if(isColumnType(column2,["MySqlTinyInt","SingleStoreTinyInt"]))min=unsigned?0:CONSTANTS.INT8_MIN,max=unsigned?CONSTANTS.INT8_UNSIGNED_MAX:CONSTANTS.INT8_MAX,integer4=!0;else if(isColumnType(column2,["PgSmallInt","PgSmallSerial","MySqlSmallInt","SingleStoreSmallInt"]))min=unsigned?0:CONSTANTS.INT16_MIN,max=unsigned?CONSTANTS.INT16_UNSIGNED_MAX:CONSTANTS.INT16_MAX,integer4=!0;else if(isColumnType(column2,["PgReal","MySqlFloat","MySqlMediumInt","SingleStoreMediumInt","SingleStoreFloat"]))min=unsigned?0:CONSTANTS.INT24_MIN,max=unsigned?CONSTANTS.INT24_UNSIGNED_MAX:CONSTANTS.INT24_MAX,integer4=isColumnType(column2,["MySqlMediumInt","SingleStoreMediumInt"]);else if(isColumnType(column2,["PgInteger","PgSerial","MySqlInt","SingleStoreInt"]))min=unsigned?0:CONSTANTS.INT32_MIN,max=unsigned?CONSTANTS.INT32_UNSIGNED_MAX:CONSTANTS.INT32_MAX,integer4=!0;else if(isColumnType(column2,["PgDoublePrecision","MySqlReal","MySqlDouble","SingleStoreReal","SingleStoreDouble","SQLiteReal"]))min=unsigned?0:CONSTANTS.INT48_MIN,max=unsigned?CONSTANTS.INT48_UNSIGNED_MAX:CONSTANTS.INT48_MAX;else if(isColumnType(column2,["PgBigInt53","PgBigSerial53","MySqlBigInt53","MySqlSerial","SingleStoreBigInt53","SingleStoreSerial","SQLiteInteger"]))unsigned=unsigned||isColumnType(column2,["MySqlSerial","SingleStoreSerial"]),min=unsigned?0:Number.MIN_SAFE_INTEGER,max=Number.MAX_SAFE_INTEGER,integer4=!0;else if(isColumnType(column2,["MySqlYear","SingleStoreYear"]))min=1901,max=2155,integer4=!0;else min=Number.MIN_SAFE_INTEGER,max=Number.MAX_SAFE_INTEGER;let schema=coerce===!0||coerce?.number?integer4?z2.coerce.number():z2.coerce.number().int():integer4?z2.int():z2.number();return schema=schema.gte(min).lte(max),schema}function bigintColumnToSchema(column2,z2,coerce){let unsigned=column2.getSQLType().includes("unsigned"),min=unsigned?0n:CONSTANTS.INT64_MIN,max=unsigned?CONSTANTS.INT64_UNSIGNED_MAX:CONSTANTS.INT64_MAX;return(coerce===!0||coerce?.bigint?z2.coerce.bigint():z2.bigint()).gte(min).lte(max)}function stringColumnToSchema(column2,z2,coerce){if(isColumnType(column2,["PgUUID"]))return z2.uuid();let max,regex,fixed=!1;if(isColumnType(column2,["PgVarchar","SQLiteText"]))max=column2.length;else if(isColumnType(column2,["MySqlVarChar","SingleStoreVarChar"]))max=column2.length??CONSTANTS.INT16_UNSIGNED_MAX;else if(isColumnType(column2,["MySqlText","SingleStoreText"]))if(column2.textType==="longtext")max=CONSTANTS.INT32_UNSIGNED_MAX;else if(column2.textType==="mediumtext")max=CONSTANTS.INT24_UNSIGNED_MAX;else if(column2.textType==="text")max=CONSTANTS.INT16_UNSIGNED_MAX;else max=CONSTANTS.INT8_UNSIGNED_MAX;if(isColumnType(column2,["PgChar","MySqlChar","SingleStoreChar"]))max=column2.length,fixed=!0;if(isColumnType(column2,["PgBinaryVector"]))regex=/^[01]+$/,max=column2.dimensions;let schema=coerce===!0||coerce?.string?z2.coerce.string():z2.string();return schema=regex?schema.regex(regex):schema,max&&fixed?schema.length(max):max?schema.max(max):schema}function getColumns(tableLike){return isTable(tableLike)?getTableColumns(tableLike):getViewSelectedFields(tableLike)}function handleColumns(columns2,refinements,conditions2,factory){let columnSchemas={};for(let[key,selected]of Object.entries(columns2)){if(!is(selected,Column)&&!is(selected,SQL)&&!is(selected,SQL.Aliased)&&typeof selected==="object"){let columns3=isTable(selected)||isView(selected)?getColumns(selected):selected;columnSchemas[key]=handleColumns(columns3,refinements[key]??{},conditions2,factory);continue}let refinement=refinements[key];if(refinement!==void 0&&typeof refinement!=="function"){columnSchemas[key]=refinement;continue}let column2=is(selected,Column)?selected:void 0,schema=column2?columnToSchema(column2,factory):exports_external.any(),refined=typeof refinement==="function"?refinement(schema):schema;if(conditions2.never(column2))continue;else columnSchemas[key]=refined;if(column2){if(conditions2.nullable(column2))columnSchemas[key]=columnSchemas[key].nullable();if(conditions2.optional(column2))columnSchemas[key]=columnSchemas[key].optional()}}return exports_external.object(columnSchemas)}function handleEnum(enum_,factory){return(factory?.zodInstance??exports_external).enum(enum_.enumValues)}var CONSTANTS,isPgEnum2,literalSchema,jsonSchema,bufferSchema,selectConditions,insertConditions,createSelectSchema=(entity2,refine2)=>{if(isPgEnum2(entity2))return handleEnum(entity2);let columns2=getColumns(entity2);return handleColumns(columns2,refine2??{},selectConditions)},createInsertSchema=(entity2,refine2)=>{let columns2=getColumns(entity2);return handleColumns(columns2,refine2??{},insertConditions)};var init_drizzle_zod=__esm(()=>{init_v4();init_drizzle_orm();CONSTANTS={INT8_MIN:-128,INT8_MAX:127,INT8_UNSIGNED_MAX:255,INT16_MIN:-32768,INT16_MAX:32767,INT16_UNSIGNED_MAX:65535,INT24_MIN:-8388608,INT24_MAX:8388607,INT24_UNSIGNED_MAX:16777215,INT32_MIN:-2147483648,INT32_MAX:2147483647,INT32_UNSIGNED_MAX:4294967295,INT48_MIN:-140737488355328,INT48_MAX:140737488355327,INT48_UNSIGNED_MAX:281474976710655,INT64_MIN:-9223372036854775808n,INT64_MAX:9223372036854775807n,INT64_UNSIGNED_MAX:18446744073709551615n};isPgEnum2=isWithEnum,literalSchema=exports_external.union([exports_external.string(),exports_external.number(),exports_external.boolean(),exports_external.null()]),jsonSchema=exports_external.union([literalSchema,exports_external.record(exports_external.string(),exports_external.any()),exports_external.array(exports_external.any())]),bufferSchema=exports_external.custom((v)=>v instanceof Buffer);selectConditions={never:()=>!1,optional:()=>!1,nullable:(column2)=>!column2.notNull},insertConditions={never:(column2)=>column2?.generated?.type==="always"||column2?.generatedIdentity?.type==="always",optional:(column2)=>!column2.notNull||column2.notNull&&column2.hasDefault,nullable:(column2)=>!column2.notNull}});function defineTable(name,columns2){let table3=sqliteTable(name,columns2),insert2,select3,ddl;return{table:table3,get insertSchema(){if(insert2===void 0)insert2=createInsertSchema(table3);return insert2},get selectSchema(){if(select3===void 0)select3=createSelectSchema(table3);return select3},get createTableSql(){if(ddl===void 0)ddl=generateCreateTableSql(table3);return ddl}}}var init_define_table=__esm(()=>{init_sqlite_core();init_drizzle_zod();init_ddl()});var init_schema=__esm(()=>{init_sqlite_core();init_define_table();init_common3()});function getProcessEnv(){return getEnvVars()}function interpolateEnv(value){return value.replace(ENV_INTERPOLATION_RE,(_match,name)=>getEnvVar(name)??`\${${name}}`)}function interpolateTree(value){if(typeof value==="string")return interpolateEnv(value);if(Array.isArray(value))return value.map(interpolateTree);if(isPlainObject4(value))return Object.fromEntries(Object.entries(value).map(([key,child])=>[key,interpolateTree(child)]));return value}function buildConfigFromObject(raw,options={}){let interpolated=interpolateTree(raw),merged=options.overrides?deepMerge(interpolated,options.overrides):interpolated,result=configSchema2.safeParse(merged);if(!result.success)throw new ConfigLoadError("Config validation failed",result.error.issues);return deepFreeze(result.data)}function isPlainObject4(value){return typeof value==="object"&&value!==null&&!Array.isArray(value)}function deepFreeze(obj){Object.freeze(obj);for(let value of Object.values(obj))if(Array.isArray(value)){Object.freeze(value);for(let item of value)if(isPlainObject4(item)&&!Object.isFrozen(item))deepFreeze(item)}else if(isPlainObject4(value)&&!Object.isFrozen(value))deepFreeze(value);return obj}var configSchema2,ENV_INTERPOLATION_RE,ConfigLoadError;var init_config2=__esm(()=>{init_dist();init_dist2();init_zod();configSchema2=exports_external.object({app:exports_external.object({name:exports_external.string().default("app"),env:exports_external.enum(["development","staging","production","test"]).default("development"),port:exports_external.number().int().positive().default(3000)}).default({name:"app",env:"development",port:3000}),database:exports_external.object({url:exports_external.string().default(":memory:")}).default({url:":memory:"}),logging:exports_external.object({level:exports_external.enum(["trace","debug","info","warn","error","fatal"]).default("info"),console:exports_external.boolean().default(!0),file:exports_external.boolean().default(!1),filePath:exports_external.string().optional(),json:exports_external.boolean().default(!1)}).default({level:"info",console:!0,file:!1,json:!1})}),ENV_INTERPOLATION_RE=/\$\{([A-Z_][A-Z0-9_]*)\}/g;ConfigLoadError=class ConfigLoadError extends Error{issues;constructor(message,issues=[]){super(message);this.name="ConfigLoadError",this.issues=issues}}});import{appendFileSync as appendFileSync2,cpSync,createReadStream as createReadStream2,createWriteStream as createWriteStream2,existsSync,mkdirSync,readdirSync,readFileSync as readFileSync3,realpathSync,renameSync,rmSync,statSync as statSync2,writeFileSync as writeFileSync2}from"node:fs";import{dirname,resolve as resolvePath2}from"node:path";function createNodeFileSystem2(root,paths){let projectRoot=root??findProjectRoot2(paths?.cwd??process.cwd());return{getProjectRoot:()=>projectRoot,resolve:(...segments)=>resolvePath2(projectRoot,...segments),exists:(path7)=>existsSync(path7),readFile:(path7)=>readFileSync3(path7,"utf-8"),readFileStream:async function*(path7){let stream=createReadStream2(path7,{encoding:"utf-8"}),buffer="";for await(let chunk of stream){buffer+=chunk;let lines=buffer.split(/\r?\n/);buffer=lines.pop()??"";for(let line of lines)yield line}if(buffer.length>0)yield buffer},writeFile:(path7,content)=>{ensureParentDir(path7),writeFileSync2(path7,content,"utf-8")},appendFile:(path7,content)=>{ensureParentDir(path7),appendFileSync2(path7,content,"utf-8")},ensureDir:(path7)=>{mkdirSync(path7,{recursive:!0})},readDir:(path7)=>readdirSync(path7),deleteFile:(path7)=>{rmSync(path7,{recursive:!0,force:!0})},rename:(src,dest)=>{renameSync(src,dest)},copy:(src,dest)=>{cpSync(src,dest,{recursive:!0})},createWriteStream:(path7)=>{return ensureParentDir(path7),createWriteStream2(path7,{flags:"a"})},stat:(path7)=>{try{let s2=statSync2(path7);return{isFile:()=>s2.isFile(),isDirectory:()=>s2.isDirectory(),size:s2.size,mtimeMs:s2.mtimeMs}}catch{return null}},realPath:(path7)=>realpathSync(path7)}}function ensureParentDir(filePath){let dir=dirname(filePath);if(!existsSync(dir))mkdirSync(dir,{recursive:!0})}function findProjectRoot2(startDir){let dir=resolvePath2(startDir),root=resolvePath2("/");while(dir!==root){if(existsSync(resolvePath2(dir,"bun.lock"))||existsSync(resolvePath2(dir,"package.json")))return dir;let parent=resolvePath2(dir,"..");if(parent===dir)break;dir=parent}return startDir}var init_file_system_node=()=>{};var DbModuleNotInstalledError2;var init_db_errors=__esm(()=>{DbModuleNotInstalledError2=class DbModuleNotInstalledError2 extends Error{constructor(message="@gobing-ai/ts-db is not installed. It is an optional peer of @gobing-ai/ts-runtime, required only for createDbAdapter on node-bun. Install it (`bun add @gobing-ai/ts-db`) or, when bundling, mark `@gobing-ai/ts-db` external.",options){super(message,options);this.name="DbModuleNotInstalledError"}}});function resolveDeadline(optionTimeout,defaultTimeout){if(optionTimeout===null)return null;let candidate=optionTimeout===void 0?defaultTimeout:optionTimeout;if(candidate===void 0||candidate===null)return candidate;if(!Number.isInteger(candidate)||candidate<=0||candidate>2147483647)throw TypeError(`Process timeout must be a positive integer within the native timer range (1-2147483647 ms), got ${String(candidate)}`);return candidate}function resolveKillGraceMs(optionGraceMs){if(optionGraceMs===void 0)return 5000;if(!Number.isInteger(optionGraceMs)||optionGraceMs<0||optionGraceMs>2147483647)throw TypeError(`Process killGraceMs must be a non-negative integer within the native timer range (0-2147483647 ms), got ${String(optionGraceMs)}`);return optionGraceMs}function groupExists(pid){try{return process.kill(-pid,0),!0}catch(error51){return error51.code==="EPERM"}}function signalGroup(pid,signal){try{return process.kill(-pid,signal),!0}catch{return!1}}async function waitForGroupExit(pid,budgetMs){let giveUpAt=Date.now()+budgetMs;while(groupExists(pid)){if(Date.now()>=giveUpAt)return!1;await new Promise((resolve)=>setTimeout(resolve,25))}return!0}async function reapProcessGroup(pid,graceMs){if(!signalGroup(pid,"SIGTERM"))return!1;if(await waitForGroupExit(pid,graceMs))return!0;return signalGroup(pid,"SIGKILL"),await waitForGroupExit(pid,2000),!0}function ownProcessGroupLifecycle(ownership){let{pid,graceMs}=ownership,trigger,termination,timer,initiate=(reason)=>{if(trigger!==void 0)return;trigger=reason,termination=reapProcessGroup(pid,graceMs)};if(ownership.deadlineMs!==void 0)timer=setTimeout(()=>initiate("timeout"),ownership.deadlineMs);let onAbort=()=>initiate("cancelled");if(ownership.signal!==void 0)if(ownership.signal.aborted)onAbort();else ownership.signal.addEventListener("abort",onAbort,{once:!0});return{finish:async()=>{if(trigger===void 0){await reapProcessGroup(pid,graceMs);return}return await termination?trigger:void 0},stop:()=>{if(timer!==void 0)clearTimeout(timer);ownership.signal?.removeEventListener("abort",onAbort)}}}import{isatty}from"node:tty";function processEventSeverity(reason,exitCode){if(reason==="error")return"error";if(reason==="timeout"||reason==="cancelled")return"warning";if(exitCode!==null&&exitCode!==0)return"warning";return"info"}function resolveChildEnv(env2,envMode){if(envMode==="replace")return env2;let merged={};for(let[key,value]of Object.entries(getProcessEnv()))if(value!==void 0)merged[key]=value;return{...merged,...env2}}class NodeProcessExecutor2{config;constructor(config3={}){this.config=config3}async run(options){return this.trace("process.run",()=>this.runUntraced(options))}async runUntraced(options){let args=options.args??[],deadline=resolveDeadline(options.timeout,this.config.defaultTimeout),killGraceMs=resolveKillGraceMs(options.killGraceMs),groupOwned=process.platform!=="win32"&&(typeof deadline==="number"||options.signal!==void 0),execaOptions=buildExecaOptions({cwd:options.cwd??this.config.paths?.cwd,env:options.env,timeout:typeof deadline==="number"?deadline:void 0,maxOutput:options.maxOutput??this.config.defaultMaxOutput,rejectOnError:options.rejectOnError??!1,outputPolicy:this.config.output,forceBuffered:options.forceBuffered??!1,signal:options.signal,groupOwned}),startedAt=Date.now(),startedIso=new Date(startedAt).toISOString(),registryId=this.beginRegistry(options.command,args,{label:options.label,source:options.source??"one-shot",teamId:options.teamId,agentId:options.agentId,startedAt:startedIso});this.emitProcessEvent("process.started",{command:options.command,args,exitCode:null,durationMs:0,reason:"exit",timestamp:startedIso,severity:"info",...options.label!==void 0?{label:options.label}:{}});let ownership;try{let subprocess=execa(options.command,args,execaOptions);if(groupOwned&&subprocess.pid!==void 0)ownership=ownProcessGroupLifecycle({pid:subprocess.pid,deadlineMs:typeof deadline==="number"?deadline:void 0,signal:options.signal,graceMs:killGraceMs});if(subprocess.pid!==void 0){if(this.config.registry?.update(registryId,{pid:subprocess.pid}),options.onSpawn!==void 0)try{options.onSpawn(subprocess.pid)}catch{}}let stopOwnedTermination=()=>ownership?.stop();observeOutput(subprocess.stdout,"stdout",options.onOutput),observeOutput(subprocess.stderr,"stderr",options.onOutput);let result=await subprocess.finally(stopOwnedTermination),ownedOutcome=ownership!==void 0?await ownership.finish():void 0,processResult={command:options.command,args,exitCode:result.exitCode??null,stdout:asString(result.stdout),stderr:asString(result.stderr),...result.signalDescription!==void 0?{signal:result.signalDescription}:{},durationMs:result.durationMs,outcome:ownedOutcome??(result.signalDescription!==void 0?"signal":"exit")};return this.completeRegistry(registryId,processResult.exitCode),this.emitExitedFromResult(options,processResult,result),processResult}catch(error51){let failed=error51,ownedOutcome=ownership!==void 0?await ownership.finish():void 0,processResult={command:options.command,args,exitCode:failed.exitCode??null,stdout:asString(failed.stdout),stderr:asString(failed.stderr),...failed.signalDescription!==void 0?{signal:failed.signalDescription}:failed.signal!==void 0?{signal:failed.signal}:{},durationMs:failed.durationMs??Date.now()-startedAt,outcome:ownedOutcome??classifyFailedCompletion(failed)};if(this.completeRegistry(registryId,processResult.exitCode),this.emitExitedFromResult(options,processResult,error51,error51),options.rejectOnError)throw error51;return processResult}}runStreaming(options){let args=options.args??[],startedAt=Date.now(),startedIso=new Date(startedAt).toISOString(),registryId=this.beginRegistry(options.command,args,{label:options.label,source:options.source??"other",teamId:options.teamId,agentId:options.agentId,startedAt:startedIso});try{this.emitProcessEvent("process.started",{command:options.command,args,exitCode:null,durationMs:0,reason:"exit",timestamp:startedIso,severity:"info",...options.label!==void 0?{label:options.label}:{}});let subprocess=Bun.spawn({cmd:[options.command,...args],stdin:"pipe",stdout:"pipe",stderr:"pipe",...options.cwd!==void 0?{cwd:options.cwd}:{},...options.env!==void 0?{env:resolveChildEnv(options.env,options.envMode)}:{}}),pipe2=new BunPipeProcess(subprocess);if(pipe2.pid!==null)this.config.registry?.update(registryId,{pid:pipe2.pid});return new ObservedPipeProcess(pipe2,this.config.events,{command:options.command,args,startedAt,registry:this.config.registry,registryId,...options.label!==void 0?{label:options.label}:{}})}catch(error51){throw this.completeRegistry(registryId,null),this.emitProcessEvent("process.exited",{command:options.command,args,exitCode:null,durationMs:0,reason:"error",timestamp:new Date().toISOString(),severity:processEventSeverity("error",null),...options.label!==void 0?{label:options.label}:{},error:errorMessage(error51)}),error51}}async trace(name,fn){if(this.config.tracer===void 0)return await fn();return await this.config.tracer.traceAsync(name,async()=>await fn())}beginRegistry(command,args,meta3){let registry2=this.config.registry;if(!registry2)return"";return registry2.begin({command,args,source:meta3.source,startedAt:meta3.startedAt,...meta3.label!==void 0?{label:meta3.label}:{},...meta3.teamId!==void 0?{teamId:meta3.teamId}:{},...meta3.agentId!==void 0?{agentId:meta3.agentId}:{}})}completeRegistry(id,exitCode,pid){if(!id||!this.config.registry)return;this.config.registry.complete(id,{exitCode,...pid!==void 0?{pid}:{}})}emitExitedFromResult(options,result,completion,error51){let reason=result.outcome??(isTimedOut(completion)?"timeout":result.signal!==void 0?"signal":error51?"error":"exit");this.emitProcessEvent("process.exited",{command:result.command,args:result.args,exitCode:result.exitCode,...result.signal!==void 0?{signal:result.signal}:{},durationMs:result.durationMs,reason,timestamp:new Date().toISOString(),severity:processEventSeverity(reason,result.exitCode),...options.label!==void 0?{label:options.label}:{},...error51!==void 0?{error:errorMessage(error51)}:{}})}emitProcessEvent(event,detail){this.config.events?.emit(event,detail)}}class ObservedPipeProcess{inner;killedWith;exited;constructor(inner,events,context2){this.inner=inner,this.exited=inner.exited.then((exitCode)=>{if(context2.registry&&context2.registryId)context2.registry.complete(context2.registryId,{exitCode,...inner.pid!==null?{pid:inner.pid}:{}});return events?.emit("process.exited",{command:context2.command,args:context2.args,exitCode,...this.killedWith!==void 0?{signal:String(this.killedWith)}:{},durationMs:Date.now()-context2.startedAt,reason:this.killedWith!==void 0?"signal":"exit",timestamp:new Date().toISOString(),severity:processEventSeverity(this.killedWith!==void 0?"signal":"exit",exitCode),...context2.label!==void 0?{label:context2.label}:{}}),exitCode})}get pid(){return this.inner.pid}get stdout(){return this.inner.stdout}get stderr(){return this.inner.stderr}writeStdin(input){this.inner.writeStdin(input)}endStdin(){this.inner.endStdin()}kill(signal){this.killedWith=signal,this.inner.kill(signal)}}class BunPipeProcess{subprocess;writer;constructor(subprocess){this.subprocess=subprocess,this.writer=subprocess.stdin}get pid(){return this.subprocess.pid??null}get stdout(){return isReadableStream3(this.subprocess.stdout)?this.subprocess.stdout:null}get stderr(){return isReadableStream3(this.subprocess.stderr)?this.subprocess.stderr:null}get exited(){return this.subprocess.exited}writeStdin(input){this.writer.write(input),this.writer.flush?.()}endStdin(){this.writer.end?.()}kill(signal){this.subprocess.kill(signal)}}function buildExecaOptions(opts){let mode=opts.forceBuffered?"buffered":opts.outputPolicy?.mode??"buffered",streamToTerminal=mode==="stream"&&(opts.outputPolicy?.mode==="stream"?opts.outputPolicy.isTTY??process.stdout.isTTY??isatty(1):!1);return{reject:opts.rejectOnError,stdin:"ignore",stripFinalNewline:!0,...mode==="pipe"?{stdout:"pipe",stderr:"pipe"}:streamToTerminal?{stdout:["inherit","pipe"],stderr:["inherit","pipe"]}:{all:!0},...opts.cwd!==void 0?{cwd:opts.cwd}:{},...opts.env!==void 0?{env:opts.env}:{},...opts.timeout!==void 0&&!opts.groupOwned?{timeout:opts.timeout}:{},...opts.maxOutput!==void 0?{maxBuffer:opts.maxOutput}:{},...opts.groupOwned?{detached:!0}:{},...opts.signal!==void 0&&!opts.groupOwned?{cancelSignal:opts.signal}:{}}}function classifyFailedCompletion(error51){if(error51.timedOut===!0)return"timeout";if(error51.isCanceled===!0)return"cancelled";if(error51.isTerminated===!0||error51.signalDescription!==void 0||error51.signal!==void 0)return"signal";return"error"}function observeOutput(stream,name,observer){if(!stream||!observer)return;let decoder=new TextDecoder,emit=(chunk)=>{try{observer({stream:name,chunk,timestamp:new Date().toISOString()})}catch{}};stream.on("data",(chunk)=>{emit(typeof chunk==="string"?chunk:decoder.decode(chunk,{stream:!0}))}),stream.on("end",()=>{let tail=decoder.decode();if(tail.length>0)emit(tail)})}function asString(value){if(typeof value==="string")return value;if(value instanceof Uint8Array)return new TextDecoder().decode(value);if(Array.isArray(value))return value.map(String).join("");return""}function isReadableStream3(value){return value instanceof ReadableStream}function isTimedOut(error51){return typeof error51==="object"&&error51!==null&&"timedOut"in error51&&error51.timedOut===!0}function errorMessage(error51){return error51 instanceof Error?error51.message:String(error51)}var init_process_executor=__esm(()=>{init_execa();init_config2()});import{Database as Database3}from"bun:sqlite";var init_bun_sqlite4=()=>{};var inboxMessages2;var init_inbox_messages2=__esm(()=>{init_sqlite_core();inboxMessages2=sqliteTable("inbox_messages",{id:text("id").primaryKey(),fromId:text("from_id"),toId:text("to_id").notNull(),body:text("body").notNull(),status:text("status").notNull().default("queued"),inReplyTo:text("in_reply_to"),createdAt:integer2("created_at").notNull(),updatedAt:integer2("updated_at").notNull(),deliveredAt:integer2("delivered_at"),injectAttempts:integer2("inject_attempts").notNull().default(0),injectError:text("inject_error"),requestKey:text("request_key")},(table3)=>[index("idx_inbox_messages_to_status").on(table3.toId,table3.status)])});function nowTimestamp2(){return Date.now()}function buildStandardColumns2(){return{createdAt:integer2("created_at").notNull().$defaultFn(nowTimestamp2).default(0),updatedAt:integer2("updated_at").notNull().$defaultFn(nowTimestamp2).default(0)}}function buildStandardColumnsWithSoftDelete2(){return{...buildStandardColumns2(),inUsed:integer2("in_used").notNull().default(1)}}function buildAppendOnlyColumns2(){return{createdAt:integer2("created_at").notNull().$defaultFn(nowTimestamp2).default(0)}}var standardColumns2,standardColumnsWithSoftDelete2,appendOnlyColumns2;var init_common4=__esm(()=>{init_sqlite_core();standardColumns2=buildStandardColumns2();standardColumnsWithSoftDelete2=buildStandardColumnsWithSoftDelete2();appendOnlyColumns2=buildAppendOnlyColumns2()});var queueJobs2;var init_queue_jobs2=__esm(()=>{init_sqlite_core();init_common4();queueJobs2=sqliteTable("queue_jobs",{id:text("id").primaryKey(),type:text("type").notNull(),payload:text("payload").notNull(),status:text("status").notNull().default("pending"),attempts:integer2("attempts").notNull().default(0),maxRetries:integer2("max_retries").notNull().default(3),...standardColumns2,nextRetryAt:integer2("next_retry_at"),lastError:text("last_error"),processingAt:integer2("processing_at"),expiresAt:integer2("expires_at"),timeoutMs:integer2("timeout_ms"),timeoutUnlimited:integer2("timeout_unlimited").notNull().default(0),attemptToken:text("attempt_token"),leaseExpiresAt:integer2("lease_expires_at")},(table3)=>[index("queue_jobs_ready_idx").on(table3.status,table3.nextRetryAt,table3.createdAt)])});var exports_runtime2={};__export(exports_runtime2,{queueJobs:()=>queueJobs2,inboxMessages:()=>inboxMessages2});var init_runtime2=__esm(()=>{init_inbox_messages2();init_queue_jobs2()});var exports_bun_sqlite2={};__export(exports_bun_sqlite2,{BunSqliteAdapter:()=>BunSqliteAdapter2});class BunSqliteAdapter2{sqlite;drizzleDb;stmtCache=new Map;getStatement(sql4){let cached2=this.stmtCache.get(sql4);if(cached2!==void 0)return cached2;let stmt=this.sqlite.prepare(sql4);return this.stmtCache.set(sql4,stmt),stmt}constructor(options){let dbPath=options?.databaseUrl??DEFAULT_DB_PATH2,pragmas={...DEFAULT_PRAGMAS2,...options?.pragmas};if(dbPath!==":memory:"&&!isAbsolutePath2(dbPath))dbPath=resolvePath3(dbPath);this.sqlite=new Database3(dbPath,{create:!0}),this.sqlite.run(pragmas.journalMode),this.sqlite.run(pragmas.synchronous),this.sqlite.run(pragmas.foreignKeys),this.sqlite.run(pragmas.busyTimeout),this.drizzleDb=drizzle({client:this.sqlite,schema:exports_runtime2})}get db(){return this.drizzleDb}getDrizzleDb(){return this.drizzleDb}async exec(sql4){this.sqlite.prepare(sql4).run()}async run(sql4,...params){this.getStatement(sql4).run(...params)}async queryFirst(sql4,...params){return this.getStatement(sql4).get(...params)??void 0}async queryAll(sql4,...params){return this.getStatement(sql4).all(...params)??[]}async batch(operations2){if(operations2.length===0)return;this.sqlite.transaction(()=>{for(let op of operations2)this.getStatement(op.sql).run(...op.params)})()}close(){this.sqlite.close()}}var DEFAULT_PRAGMAS2,DEFAULT_DB_PATH2=".spur/spur.db";var init_bun_sqlite5=__esm(()=>{init_dist6();init_bun_sqlite4();init_bun_sqlite2();init_runtime2();DEFAULT_PRAGMAS2={journalMode:"PRAGMA journal_mode = WAL",synchronous:"PRAGMA synchronous = NORMAL",foreignKeys:"PRAGMA foreign_keys = ON",busyTimeout:"PRAGMA busy_timeout = 5000"}});var exports_d12={};__export(exports_d12,{D1Adapter:()=>D1Adapter2});class D1Adapter2{binding;drizzleDb;constructor(binding){this.binding=binding,this.drizzleDb=drizzle2(this.binding,{schema:exports_runtime2})}get db(){return this.drizzleDb}getDrizzleDb(){return this.drizzleDb}getBinding(){return this.binding}async exec(sql4){await this.binding.exec(sql4)}async run(sql4,...params){let stmt=this.binding.prepare(sql4);await(params.length>0?stmt.bind(...params):stmt).run()}async queryFirst(sql4,...params){let stmt=this.binding.prepare(sql4);return await(params.length>0?stmt.bind(...params):stmt).first()??void 0}async queryAll(sql4,...params){return(await this.binding.prepare(sql4).bind(...params).all()).results??[]}async batch(operations2){if(operations2.length===0)return;if(this.binding.batch===void 0&&operations2.length>1)throw Error(`D1 binding has no batch() — cannot execute ${operations2.length} statements atomically; provide a binding with native batch() support`);let boundStmts=operations2.map((op)=>{let stmt=this.binding.prepare(op.sql);return op.params.length>0?stmt.bind(...op.params):stmt.bind()});if(this.binding.batch!==void 0)await this.binding.batch(boundStmts);else await boundStmts[0]?.run()}close(){}}var init_d13=__esm(()=>{init_d1();init_runtime2()});async function createDbAdapter2(config3){switch(config3.driver){case"bun-sqlite":{let{BunSqliteAdapter:BunSqliteAdapter3}=await Promise.resolve().then(() => (init_bun_sqlite5(),exports_bun_sqlite2));return new BunSqliteAdapter3({...config3.url?{databaseUrl:config3.url}:{},...config3.pragmas?{pragmas:config3.pragmas}:{}})}case"d1":{let{D1Adapter:D1Adapter3}=await Promise.resolve().then(() => (init_d13(),exports_d12));return new D1Adapter3(config3.binding)}}}function compilePredicate2(predicate){if("and"in predicate){let parts=predicate.and.map(compilePredicate2).filter((p)=>p!==void 0);return parts.length>0?and(...parts):void 0}if("or"in predicate){let parts=predicate.or.map(compilePredicate2).filter((p)=>p!==void 0);return parts.length>0?or(...parts):void 0}switch(predicate.op){case"isNull":return isNull(predicate.col);case"isNotNull":return isNotNull(predicate.col);case"in":return inArray(predicate.col,predicate.values);default:return COMPARISON_BUILDERS2[predicate.op](predicate.col,predicate.value)}}function compileOrderBy2(orderBy){return orderBy.map((term)=>term.dir==="desc"?desc(term.col):asc(term.col))}var COMPARISON_BUILDERS2;var init_query_spec2=__esm(()=>{init_drizzle_orm();COMPARISON_BUILDERS2={eq:(col,value)=>eq(col,value),ne:(col,value)=>ne(col,value),gt:(col,value)=>gt(col,value),gte:(col,value)=>gte(col,value),lt:(col,value)=>lt(col,value),lte:(col,value)=>lte(col,value),like:(col,value)=>like(col,value)}});function asSelectQuery2(query){return query}class BaseDao2{adapter;constructor(adapter){this.adapter=adapter}get db(){return this.adapter.db}now(){return Date.now()}async tx(fn){return this.db.transaction((tx)=>fn(tx))}async query(table3,spec={}){let condition=spec.where?compilePredicate2(spec.where):void 0,order=spec.orderBy?compileOrderBy2(spec.orderBy):[],q=asSelectQuery2(this.db.select().from(table3));if(condition)q=q.where(condition);if(order.length>0)q=q.orderBy(...order);if(spec.limit!==void 0)q=q.limit(spec.limit);if(spec.offset!==void 0)q=q.offset(spec.offset);return await q??[]}async one(table3,where){return(await this.query(table3,{where,limit:1}))[0]}}var init_base_dao2=__esm(()=>{init_query_spec2()});var embeddedMigrations2;var init_embedded_migrations2=__esm(()=>{embeddedMigrations2=[{tag:"0000_init",sql:"CREATE TABLE `queue_jobs` (\n\t`id` text PRIMARY KEY NOT NULL,\n\t`type` text NOT NULL,\n\t`payload` text NOT NULL,\n\t`status` text DEFAULT 'pending' NOT NULL,\n\t`attempts` integer DEFAULT 0 NOT NULL,\n\t`max_retries` integer DEFAULT 3 NOT NULL,\n\t`created_at` integer NOT NULL,\n\t`updated_at` integer NOT NULL,\n\t`next_retry_at` integer,\n\t`last_error` text,\n\t`processing_at` integer\n);\n",hash:"558dea3834348925f79b4d30ca79d0afd0d990b2883341377d369444d50ce76e"},{tag:"0001_salty_red_ghost",sql:"CREATE INDEX `queue_jobs_ready_idx` ON `queue_jobs` (`status`,`next_retry_at`,`created_at`);",hash:"f842da3f49edeec8a17bcab399669410db09996ab258dc4fa781357d0400ddbf"},{tag:"0002_nasty_namora",sql:"ALTER TABLE `queue_jobs` ADD `expires_at` integer;",hash:"7380f8c162352a61b15205af5a87e0e7313a499203dae98fe62151a1dc7fec0e"},{tag:"0003_inbox_messages",sql:"CREATE TABLE `inbox_messages` (\n\t`id` text PRIMARY KEY NOT NULL,\n\t`from_id` text,\n\t`to_id` text NOT NULL,\n\t`body` text NOT NULL,\n\t`status` text DEFAULT 'queued' NOT NULL,\n\t`in_reply_to` text,\n\t`created_at` integer NOT NULL,\n\t`updated_at` integer NOT NULL,\n\t`delivered_at` integer,\n\t`inject_attempts` integer DEFAULT 0 NOT NULL,\n\t`inject_error` text\n);",hash:"c4ba569172d1be276c42b5c164c668404e6229dcf48b41d7fb2bc93e8d29d11b"},{tag:"0004_inbox_messages_to_status_idx",sql:"CREATE INDEX `idx_inbox_messages_to_status` ON `inbox_messages` (`to_id`,`status`);",hash:"3c00f1bce4f569e442f3142df31ff478d6c9b3d460824d46575f50a324bfae61"},{tag:"0005_queue_attempt_ownership",sql:"ALTER TABLE `queue_jobs` ADD `timeout_ms` integer;\nALTER TABLE `queue_jobs` ADD `timeout_unlimited` integer DEFAULT 0 NOT NULL;\nALTER TABLE `queue_jobs` ADD `attempt_token` text;\nALTER TABLE `queue_jobs` ADD `lease_expires_at` integer;",hash:"f6a4eaf11eee838f424515e57eca3a46539260bb2fb5b0b112870ca5ed38d040"},{tag:"0014_inbox_messages_request_key",sql:"ALTER TABLE `inbox_messages` ADD `request_key` text;\nCREATE UNIQUE INDEX `idx_inbox_messages_request_key` ON `inbox_messages` (`request_key`) WHERE `request_key` IS NOT NULL;\n",hash:"7277e79f8339975b29565e7b33e04f0dbd50995b99b82048fd83079757334f71"}]});var EntityDao2;var init_entity_dao2=__esm(()=>{init_drizzle_orm();init_base_dao2();init_query_spec2();EntityDao2=class EntityDao2 extends BaseDao2{table;primaryKey;collectionName;validation;constructor(adapter,table3,primaryKey,collectionName,options={}){super(adapter);this.table=table3,this.primaryKey=Array.isArray(primaryKey)?primaryKey:[primaryKey],this.collectionName=collectionName,this.validation=options}validate(op,input){let schema=op==="update"?this.validation.updateSchema:this.validation.insertSchema;if(schema===void 0)return;if(!(this.validation.validateOn??["create","createMany","upsert","update"]).includes(op))return;schema.parse(input)}get hasSoftDelete(){return"inUsed"in this.table}get activeCondition(){let table3=this.table;if("inUsed"in table3)return eq(table3.inUsed,1);return}pkCondition(id){let values=Array.isArray(id)?id:[id];if(values.length!==this.primaryKey.length)throw Error(`${this.collectionName}: primary key expects ${this.primaryKey.length} value(s), got ${values.length}`);let parts=this.primaryKey.map((col,i2)=>eq(col,values[i2]));return parts.length===1?parts[0]:and(...parts)}get insertBuilder(){return this.db.insert(this.table)}async create(data){let now=this.now(),record2={createdAt:now,updatedAt:now,...data};return this.validate("create",record2),(await this.insertBuilder.values(record2).returning())[0]}async createMany(data){if(data.length===0)return[];let now=this.now(),records=data.map((d)=>({createdAt:now,updatedAt:now,...d}));for(let record2 of records)this.validate("createMany",record2);return await this.insertBuilder.values(records).returning()}async upsert(data,conflictColumns,updateColumns){let now=this.now(),record2={createdAt:now,updatedAt:now,...data};this.validate("upsert",record2);let identityCols=new Set([...conflictColumns,...this.primaryKey]),identityProps=new Set(Object.entries(this.table).filter(([,col])=>identityCols.has(col)).map(([key])=>key)),defaultSet=Object.fromEntries(Object.entries(data).filter(([key])=>!identityProps.has(key))),setOnConflict={...updateColumns??defaultSet,updatedAt:now};return(await this.insertBuilder.values(record2).onConflictDoUpdate({target:conflictColumns,set:setOnConflict}).returning())[0]}async findById(id,includeDeleted=!1){let conditions2=[this.pkCondition(id)];if(!includeDeleted&&this.activeCondition)conditions2.push(this.activeCondition);return(await this.db.select().from(this.table).where(and(...conditions2)))[0]}async findAll(includeDeleted=!1){return this.list({includeDeleted})}async findBy(column2,value,includeDeleted=!1){return(await this.list({where:{col:column2,op:"eq",value},limit:1,includeDeleted}))[0]}async findAllBy(column2,value,includeDeleted=!1){return this.list({where:{col:column2,op:"eq",value},includeDeleted})}async update(id,data){let updateData={...data,updatedAt:this.now()};return this.validate("update",updateData),(await this.db.update(this.table).set(updateData).where(this.pkCondition(id)).returning())[0]}async delete(id,soft){if((soft??this.hasSoftDelete)&&this.hasSoftDelete)return this.update(id,{inUsed:0});await this.db.delete(this.table).where(this.pkCondition(id));return}async list(spec={}){let where=this.withActive(spec.where,spec.includeDeleted);return this.query(this.table,{...where?{where}:{},...spec.orderBy?{orderBy:spec.orderBy}:{},...spec.limit!==void 0?{limit:spec.limit}:{},...spec.offset!==void 0?{offset:spec.offset}:{}})}async listByCursor(spec){let dir=spec.direction??"asc",filters=[];if(spec.where)filters.push(spec.where);if(spec.cursor!==void 0)filters.push({col:spec.cursorColumn,op:dir==="asc"?"gt":"lt",value:spec.cursor});let where=this.withActive(filters.length>0?{and:filters}:void 0,spec.includeDeleted),rows=await this.query(this.table,{...where?{where}:{},orderBy:[{col:spec.cursorColumn,dir}],limit:spec.limit}),last=rows[rows.length-1],cursorResultKey=this.resultKeyForColumn(spec.cursorColumn),nextCursor=rows.length===spec.limit&&last?last[cursorResultKey]:void 0;return nextCursor!==void 0?{rows,nextCursor}:{rows}}resultKeyForColumn(column2){for(let[key,value]of Object.entries(this.table))if(value===column2)return key;return column2.name}async count(where,includeDeleted=!1){let condition=this.withActive(where,includeDeleted),compiled=condition?compilePredicate2(condition):void 0,base2=this.db.select({value:count2()}).from(this.table);return(await(compiled?base2.where(compiled):base2))[0]?.value??0}withActive(where,includeDeleted){if(includeDeleted||!this.hasSoftDelete)return where;let table3=this.table;if(!("inUsed"in table3))return where;let active={col:table3.inUsed,op:"eq",value:1};if(!where)return active;return{and:[where,active]}}}});function isPromiseLike2(value){return value!==null&&(typeof value==="object"||typeof value==="function")&&typeof value.then==="function"}function isRequestKeyUniqueViolation2(error51){let msg=error51 instanceof Error?error51.message:String(error51);return msg.includes("UNIQUE constraint failed")&&(msg.includes("idx_inbox_messages_request_key")||msg.includes("inbox_messages.request_key"))}var RequestKeyConflictError2,InboxMessageDao2;var init_inbox_message_dao2=__esm(()=>{init_drizzle_orm();init_entity_dao2();init_inbox_messages2();RequestKeyConflictError2=class RequestKeyConflictError2 extends Error{requestKey;existingId;constructor(requestKey,existingId){super("Request key conflict: key is already bound to another payload"+(existingId?` (existing message id: ${existingId})`:""));this.name="RequestKeyConflictError",this.requestKey=requestKey,this.existingId=existingId}};InboxMessageDao2=class InboxMessageDao2 extends EntityDao2{events;constructor(adapter,options={}){super(adapter,inboxMessages2,[inboxMessages2.id],"inbox_messages");this.events=options.events}async enqueue(fromId,toId,body,inReplyTo){let id=crypto.randomUUID(),now=this.now();return await this.create({id,fromId,toId,body,status:"queued",injectAttempts:0,createdAt:now,updatedAt:now,...inReplyTo!==void 0?{inReplyTo}:{}}),this.emitEvent("message.enqueued",{id,fromId,toId,...inReplyTo!==void 0?{inReplyTo}:{},timestamp:now}),id}async enqueueIdempotent(fromId,toId,body,requestKey,inReplyTo){let id=crypto.randomUUID(),now=this.now();try{await this.create({id,fromId,toId,body,status:"queued",injectAttempts:0,requestKey,createdAt:now,updatedAt:now,...inReplyTo!==void 0?{inReplyTo}:{}})}catch(error51){if(isRequestKeyUniqueViolation2(error51)){let existing=await this.findBy(inboxMessages2.requestKey,requestKey);if(existing&&existing.body===body&&existing.toId===toId)return{id:existing.id,replayed:!0};throw new RequestKeyConflictError2(requestKey,existing?.id??"")}throw error51}return this.emitEvent("message.enqueued",{id,fromId,toId,...inReplyTo!==void 0?{inReplyTo}:{},timestamp:now}),{id,replayed:!1}}async drainPending(toId,options){let limit=options?.limit??100;if(!Number.isInteger(limit)||limit<=0)throw RangeError(`drainPending limit must be a positive integer; received ${limit}`);let now=this.now(),rows=await this.db.update(inboxMessages2).set({status:"injected",injectAttempts:sql`${inboxMessages2.injectAttempts} + 1`,updatedAt:now}).where(sql`${inboxMessages2.id} IN (
|
|
288
|
+
SELECT id
|
|
289
|
+
FROM ${inboxMessages2}
|
|
290
|
+
WHERE to_id = ${toId}
|
|
291
|
+
AND status = 'queued'
|
|
292
|
+
ORDER BY created_at
|
|
293
|
+
LIMIT ${limit}
|
|
294
|
+
)
|
|
295
|
+
AND ${inboxMessages2.status} = 'queued'`).returning();for(let row of rows)this.emitEvent("message.injected",{id:row.id,fromId:row.fromId,toId:row.toId,inReplyTo:row.inReplyTo,injectAttempts:row.injectAttempts,timestamp:now});return rows}async markDelivered(msgId){let now=this.now(),updated=await this.update(msgId,{status:"delivered",deliveredAt:now});if(updated)this.emitEvent("message.delivered",{id:updated.id,fromId:updated.fromId,toId:updated.toId,deliveredAt:now,timestamp:now})}async markFailed(msgId,error51){let updated=await this.update(msgId,{status:"failed",injectError:error51});if(updated)this.emitEvent("message.failed",{id:updated.id,fromId:updated.fromId,toId:updated.toId,error:error51,timestamp:updated.updatedAt})}async release(msgIds){if(msgIds.length===0)return 0;let now=this.now(),rows=await this.db.update(inboxMessages2).set({status:"queued",updatedAt:now}).where(and(inArray(inboxMessages2.id,msgIds),eq(inboxMessages2.status,"injected"))).returning();for(let row of rows)this.emitEvent("message.requeued",{id:row.id,fromId:row.fromId,toId:row.toId,timestamp:now});return rows.length}async inbox(toId,limit,offset){return this.list({where:{col:inboxMessages2.toId,op:"eq",value:toId},orderBy:[{col:inboxMessages2.createdAt,dir:"desc"}],...limit!==void 0?{limit}:{},...offset!==void 0?{offset}:{}})}async countPending(toId){return this.count({and:[{col:inboxMessages2.toId,op:"eq",value:toId},{col:inboxMessages2.status,op:"eq",value:"queued"}]})}async getById(id){return this.findBy(inboxMessages2.id,id)}emitEvent(event,...args){if(!this.events)return;try{let pending=this.events.emit(event,...args);if(isPromiseLike2(pending))Promise.resolve(pending).catch(()=>{})}catch{}}}});async function ensureJournalTable2(adapter,table3){await adapter.exec(`CREATE TABLE IF NOT EXISTS "${table3}" (id INTEGER PRIMARY KEY AUTOINCREMENT, hash text NOT NULL, created_at numeric)`)}function validateMigrationTableName2(table3){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(table3))throw Error(`Invalid migration journal table name: ${table3}`);return table3}async function applyEmbeddedMigrations2(adapter,journalTable,logger2){validateMigrationTableName2(journalTable);let appliedHashes=new Set;try{let rows=await adapter.queryAll(`SELECT hash FROM "${journalTable}"`);for(let row of rows)appliedHashes.add(row.hash)}catch{}let applied=0;for(let migration of embeddedMigrations2){if(appliedHashes.has(migration.hash))continue;logger2.info(`Applying embedded migration: ${migration.tag}`);let statements=migration.sql.split(";").map((s2)=>s2.trim()).filter((s2)=>s2.length>0);for(let stmt of statements)await adapter.exec(stmt);await adapter.run(`INSERT INTO "${journalTable}" (hash, created_at) VALUES (?, ?)`,migration.hash,Date.now()),applied++}if(applied>0)logger2.info(`Applied ${applied} embedded migration(s)`)}async function applyMigrations2(adapter,options){let logger2=options?.logger??console,{BunSqliteAdapter:BunSqliteAdapter3}=await Promise.resolve().then(() => (init_bun_sqlite5(),exports_bun_sqlite2));if(!(adapter instanceof BunSqliteAdapter3)){logger2.warn("Skipping in-app migrations: only supported for bun-sqlite adapter");return}let table3=validateMigrationTableName2(options?.migrationsTable??"__drizzle_migrations");await ensureJournalTable2(adapter,table3);let folder=options?.migrationsFolder??resolvePath3(getProcessCwd2(),"drizzle"),fs2=options?.fs;if(fs2?await fs2.exists(folder):!0)try{let{migrate:drizzleMigrate}=await Promise.resolve().then(() => (init_migrator2(),exports_migrator));logger2.info(`Applying database migrations from ${folder}`),await drizzleMigrate(adapter.getDrizzleDb(),{migrationsFolder:folder,...options?.migrationsTable!==void 0?{migrationsTable:table3}:{}}),logger2.info("Database migrations complete");return}catch(error51){let message=error51 instanceof Error?error51.message:String(error51);if(message.includes("journal")||message.includes("ENOENT")||message.includes("meta"))logger2.info(`File-based migrations unavailable, using embedded: ${message}`);else throw logger2.error(`[MIGRATE] drizzleMigrate failed: ${message}`),error51}logger2.info("No drizzle/ folder found — applying embedded migrations"),await applyEmbeddedMigrations2(adapter,table3,logger2)}var init_migrate2=__esm(()=>{init_dist6();init_embedded_migrations2()});function assertValidTimeoutMs2(value){if(value===void 0||value===null)return;if(typeof value!=="number"||!Number.isInteger(value)||value<=0)throw RangeError(`enqueue timeoutMs must be a positive integer or null; received ${String(value)}`)}function timeoutColumns2(timeoutMs){if(timeoutMs===void 0)return{};return timeoutMs===null?{timeoutUnlimited:1}:{timeoutMs}}var QueueJobDao2;var init_queue_job_dao2=__esm(()=>{init_drizzle_orm();init_entity_dao2();init_queue_jobs2();QueueJobDao2=class QueueJobDao2 extends EntityDao2{constructor(adapter){super(adapter,queueJobs2,[queueJobs2.id],"queue_jobs")}async enqueue(type,payload,options){assertValidTimeoutMs2(options?.timeoutMs);let now=this.now(),id=crypto.randomUUID();return await this.create({id,type,payload:JSON.stringify(payload),status:"pending",attempts:0,maxRetries:options?.maxRetries??3,nextRetryAt:options?.delay!==void 0?now+options.delay:now,...options?.ttlMs!==void 0?{expiresAt:now+options.ttlMs}:{},...timeoutColumns2(options?.timeoutMs)}),id}async enqueueBatch(jobs){for(let job of jobs)assertValidTimeoutMs2(job.timeoutMs);let now=this.now(),ids=[],rows=jobs.map((job)=>{let id=crypto.randomUUID();return ids.push(id),{id,type:job.type,payload:JSON.stringify(job.payload),status:"pending",attempts:0,maxRetries:job.maxRetries??3,nextRetryAt:job.delay!==void 0?now+job.delay:now,...job.ttlMs!==void 0?{expiresAt:now+job.ttlMs}:{},...timeoutColumns2(job.timeoutMs)}});if(rows.length>0)await this.tx(async(tx)=>{for(let row of rows)await tx.insert(queueJobs2).values(row)});return ids}async getById(id){return this.findBy(queueJobs2.id,id)}async getStats(){let rows=await this.db.select({status:queueJobs2.status,count:sql`count(*)`}).from(queueJobs2).groupBy(queueJobs2.status),map2=Object.fromEntries(rows.map((r)=>[r.status,Number(r.count??0)]));return{pending:map2.pending??0,processing:map2.processing??0,completed:map2.completed??0,failed:map2.failed??0}}async countByStatus(status){return(await this.db.select({value:sql`count(*)`}).from(queueJobs2).where(sql`${queueJobs2.status} = ${status}`))[0]?.value??0}async findPending(batchSize){let now=this.now();return await this.db.select().from(queueJobs2).where(sql`${queueJobs2.status} = 'pending' AND (${queueJobs2.nextRetryAt} IS NULL OR ${queueJobs2.nextRetryAt} <= ${now})`).orderBy(queueJobs2.createdAt).limit(batchSize)}async claimReady(batchSize,options){let limit=Math.floor(batchSize);if(limit<=0)return[];let now=this.now(),leaseMs=options?.leaseMs,leased=leaseMs!==void 0,leaseExpiresAt=leased?now+leaseMs:null;await this.db.update(queueJobs2).set({status:"failed",attempts:sql`${queueJobs2.attempts} + 1`,lastError:"lease expired: attempts exhausted",processingAt:null,attemptToken:null,leaseExpiresAt:null,updatedAt:now}).where(sql`${queueJobs2.status} = 'processing' AND ${queueJobs2.attemptToken} IS NOT NULL AND ${queueJobs2.leaseExpiresAt} IS NOT NULL
|
|
296
|
+
AND ${queueJobs2.leaseExpiresAt} <= ${now} AND ${queueJobs2.attempts} + 1 >= ${queueJobs2.maxRetries}`);let reclaimable=sql`(
|
|
297
|
+
${queueJobs2.status} = 'pending'
|
|
298
|
+
AND (${queueJobs2.nextRetryAt} IS NULL OR ${queueJobs2.nextRetryAt} <= ${now})
|
|
299
|
+
) OR (
|
|
300
|
+
${queueJobs2.status} = 'processing'
|
|
301
|
+
AND ${queueJobs2.attemptToken} IS NOT NULL
|
|
302
|
+
AND ${queueJobs2.leaseExpiresAt} IS NOT NULL
|
|
303
|
+
AND ${queueJobs2.leaseExpiresAt} <= ${now}
|
|
304
|
+
)`;return await this.db.update(queueJobs2).set({status:"processing",processingAt:now,updatedAt:now,attemptToken:leased?sql`lower(hex(randomblob(16)))`:null,leaseExpiresAt,attempts:sql`CASE WHEN ${queueJobs2.status} = 'processing' THEN ${queueJobs2.attempts} + 1 ELSE ${queueJobs2.attempts} END`}).where(sql`${queueJobs2.id} IN (
|
|
305
|
+
SELECT id
|
|
306
|
+
FROM ${queueJobs2}
|
|
307
|
+
WHERE ${reclaimable}
|
|
308
|
+
ORDER BY created_at
|
|
309
|
+
LIMIT ${limit}
|
|
310
|
+
)
|
|
311
|
+
AND ${reclaimable}`).returning()}async markProcessing(ids){if(ids.length===0)return;let now=this.now();await this.db.update(queueJobs2).set({status:"processing",processingAt:now,updatedAt:now}).where(and(inArray(queueJobs2.id,ids),eq(queueJobs2.status,"pending")))}async markCompleted(id,attemptToken){let where=attemptToken===void 0?eq(queueJobs2.id,id):and(eq(queueJobs2.id,id),eq(queueJobs2.attemptToken,attemptToken));return(await this.db.update(queueJobs2).set({status:"completed",processingAt:null,attemptToken:null,leaseExpiresAt:null,updatedAt:this.now()}).where(where)).changes===1}async markFailed(id,attempts,error51,attemptToken){let where=attemptToken===void 0?eq(queueJobs2.id,id):and(eq(queueJobs2.id,id),eq(queueJobs2.attemptToken,attemptToken));return(await this.db.update(queueJobs2).set({status:"failed",attempts,lastError:error51,processingAt:null,attemptToken:null,leaseExpiresAt:null,updatedAt:this.now()}).where(where)).changes===1}async markForRetry(id,attempts,errorMessage2,nextRetryAt,attemptToken){let where=attemptToken===void 0?eq(queueJobs2.id,id):and(eq(queueJobs2.id,id),eq(queueJobs2.attemptToken,attemptToken));return(await this.db.update(queueJobs2).set({status:"pending",attempts,lastError:errorMessage2,nextRetryAt,processingAt:null,attemptToken:null,leaseExpiresAt:null,updatedAt:this.now()}).where(where)).changes===1}async renewLease(id,attemptToken,leaseMs){let now=this.now();return(await this.db.update(queueJobs2).set({leaseExpiresAt:now+leaseMs,updatedAt:now}).where(and(eq(queueJobs2.id,id),eq(queueJobs2.attemptToken,attemptToken),eq(queueJobs2.status,"processing")))).changes===1}async resetStuckJobs(visibilityTimeout){let cutoff=this.now()-visibilityTimeout;return await this.db.update(queueJobs2).set({status:"failed",attempts:sql`${queueJobs2.attempts} + 1`,lastError:"stuck job: attempts exhausted",processingAt:null,attemptToken:null,leaseExpiresAt:null,updatedAt:this.now()}).where(sql`${queueJobs2.status} = 'processing' AND ${queueJobs2.processingAt} IS NOT NULL AND ${queueJobs2.processingAt} <= ${cutoff}
|
|
312
|
+
AND ${queueJobs2.attemptToken} IS NULL AND ${queueJobs2.attempts} + 1 >= ${queueJobs2.maxRetries}`),(await this.db.update(queueJobs2).set({status:"pending",processingAt:null,updatedAt:this.now(),attempts:sql`${queueJobs2.attempts} + 1`}).where(sql`${queueJobs2.status} = 'processing' AND ${queueJobs2.processingAt} IS NOT NULL AND ${queueJobs2.processingAt} <= ${cutoff}
|
|
313
|
+
AND ${queueJobs2.attemptToken} IS NULL`)).changes}async failExpiredJobs(){let now=this.now();return(await this.db.update(queueJobs2).set({status:"failed",lastError:"Job expired — not processed before TTL deadline",updatedAt:now,attempts:sql`${queueJobs2.attempts} + 1`,processingAt:null}).where(sql`${queueJobs2.status} = 'pending' AND ${queueJobs2.expiresAt} IS NOT NULL AND ${queueJobs2.expiresAt} <= ${now}`)).changes}}});var exports_dist2={};__export(exports_dist2,{embeddedMigrations:()=>embeddedMigrations2,createDbAdapter:()=>createDbAdapter2,compilePredicate:()=>compilePredicate2,compileOrderBy:()=>compileOrderBy2,applyMigrations:()=>applyMigrations2,RequestKeyConflictError:()=>RequestKeyConflictError2,QueueJobDao:()=>QueueJobDao2,InboxMessageDao:()=>InboxMessageDao2,EntityDao:()=>EntityDao2,BaseDao:()=>BaseDao2});var init_dist5=__esm(()=>{init_base_dao2();init_embedded_migrations2();init_entity_dao2();init_inbox_message_dao2();init_migrate2();init_query_spec2();init_queue_job_dao2()});function getNodeFileSystem(){if(!_nodeFileSystem)_nodeFileSystem=createNodeFileSystem2();return _nodeFileSystem}async function loadNodeConfig(options){let fs2=getNodeFileSystem(),raw=await readYamlConfig(fs2);return buildConfigFromObject(raw??{},options)}async function readYamlConfig(fs2){let candidates=[getProcessEnv().CONFIG_PATH,"config/config.yaml","config/config.example.yaml"].filter((p)=>typeof p==="string"&&p.length>0);for(let candidate of candidates){let resolved=fs2.resolve(candidate);if(await fs2.exists(resolved)){let content=await fs2.readFile(resolved);try{return $parse(content)}catch{}}}return null}var _nodeFileSystem,nodeBunFactory2;var init_runtime_node_bun=__esm(()=>{init_dist2();init_config2();init_db_errors();init_file_system_node();init_process_executor();nodeBunFactory2={runtimeName:"node-bun",capabilities:{hasFilesystem:!0,hasProcessExecution:!0,hasPersistentStorage:!0,hasSqlDatabase:!0},createFileSystem:()=>getNodeFileSystem(),createProcessExecutor:(config3)=>new NodeProcessExecutor2(config3),async loadConfig(options){return loadNodeConfig(options)},async createDbAdapter(config3){let mod;try{mod=await Promise.resolve().then(() => (init_dist5(),exports_dist2))}catch(cause){throw new DbModuleNotInstalledError2(void 0,{cause})}if(typeof mod.createDbAdapter!=="function")throw new DbModuleNotInstalledError2("@gobing-ai/ts-db is installed but does not export createDbAdapter — the installed version may be incompatible or partial.");return mod.createDbAdapter({driver:"bun-sqlite",url:config3.url})}}});var init_context2=()=>{};function normalizeSeparators2(path7){return path7.replaceAll("\\","/")}function isAbsolutePath2(path7){return path7.startsWith("/")||/^[A-Za-z]:\//.test(normalizeSeparators2(path7))}function splitRoot2(path7){let normalized=normalizeSeparators2(path7),drive=normalized.match(/^([A-Za-z]:)(?:\/|$)/);if(drive)return{root:drive[1]??"",rest:normalized.slice((drive[1]??"").length).replace(/^\/+/,"")};if(normalized.startsWith("/"))return{root:"/",rest:normalized.replace(/^\/+/,"")};return{root:"",rest:normalized}}function dirnamePath(path7){let input=normalizeSeparators2(path7),{root}=splitRoot2(input);if(root!==""&&input.replace(/\/+$/,"")===root)return root==="/"?"/":`${root}/`;if(/^\/+$/.test(input))return"/";let normalized=input.replace(/\/+$/,"");if(normalized===""||normalized==="/")return normalized||".";let index2=normalized.lastIndexOf("/");if(index2<0)return".";if(index2===0)return"/";return normalized.slice(0,index2)}function joinPath2(...segments){let filtered=segments.filter((segment)=>segment.length>0).map(normalizeSeparators2);if(filtered.length===0)return".";let absolute=isAbsolutePath2(filtered[0]??""),joined=filtered.join("/").replace(/\/+/g,"/");return absolute?joined:joined.replace(/^\//,"")}function resolvePath3(...segments){let candidates=segments.length===0?[getProcessCwd2()]:segments,resolved="";for(let segment of candidates.map(normalizeSeparators2)){if(segment.length===0)continue;resolved=isAbsolutePath2(segment)?segment:joinPath2(resolved||getProcessCwd2(),segment)}let{root,rest}=splitRoot2(resolved),parts=[],absolute=root!=="";for(let part of rest.split("/")){if(part===""||part===".")continue;if(part===".."){if(parts.length>0)parts.pop();continue}parts.push(part)}if(!absolute)return parts.join("/")||".";if(root==="/")return`/${parts.join("/")}`||"/";return parts.length>0?`${root}/${parts.join("/")}`:`${root}/`}function getProcessCwd2(){return globalThis.process?.cwd?.()??"/"}var SEP2;var init_path2=__esm(()=>{SEP2=globalThis.process?.platform==="win32"?"\\":"/"});async function loadStructuredConfig(path7,options={}){let content=await(options.fileSystem??createNodeFileSystem2()).readFile(path7);return await parseStructuredConfig(content,path7,options)}async function parseStructuredConfig(content,source,options={}){let parsed=source.endsWith(".json")?parseJsonContent(content,source):$parse(content);if(options.validateSchema!==!1)await validateDeclaredJsonSchema(parsed,source,options);return parsed}function parseJsonContent(content,source){try{return JSON.parse(content)}catch(error51){throw new StructuredConfigSchemaError(`Failed to parse JSON config "${source}": ${error51.message}`)}}async function validateDeclaredJsonSchema(value,source,options={}){if(!isObject3(value))return;let schemaRef=value.$schema;if(typeof schemaRef!=="string"||schemaRef.length===0)return;let schemaLocation=resolveSchemaRef(schemaRef,source,options.resolve),schemaText=await readSchema(schemaLocation,options),schema;try{schema=JSON.parse(schemaText)}catch(error51){throw new StructuredConfigSchemaError(`Invalid JSON schema "${schemaLocation}" referenced by "${source}": ${errorMessage2(error51)}`)}if(!isObject3(schema))throw new StructuredConfigSchemaError(`JSON schema "${schemaLocation}" referenced by "${source}" must be an object`);let violations=validateJsonSchema(value,schema,"",schema.$defs??{});if(violations.length>0)throw new StructuredConfigSchemaError(`Configuration "${source}" failed JSON schema validation against "${schemaLocation}": ${violations.map((violation)=>`${violation.path}: ${violation.message}`).join("; ")}`,violations)}function validateJsonSchema(value,schema,path7="",defs={},seenRefs=new Set){let violations=[];if(schema.$ref!==void 0){if(!seenRefs.has(schema.$ref)){let resolved=resolveRef2(schema.$ref,defs,schema.$defs);if(resolved!==void 0){let nextSeen=new Set(seenRefs).add(schema.$ref);violations.push(...validateJsonSchema(value,resolved,path7,defs,nextSeen))}}}if(schema.oneOf!==void 0)violations.push(...validateCombinator(value,schema.oneOf,path7,defs,"oneOf",seenRefs));if(schema.anyOf!==void 0)violations.push(...validateCombinator(value,schema.anyOf,path7,defs,"anyOf",seenRefs));if(schema.const!==void 0&&!jsonEqual(value,schema.const))violations.push({path:path7||"(root)",message:`expected constant ${JSON.stringify(schema.const)}`});if(schema.enum!==void 0&&!schema.enum.some((entry)=>jsonEqual(value,entry)))violations.push({path:path7||"(root)",message:`expected one of ${schema.enum.map(String).join(", ")}`});if(schema.type!==void 0){let types2=Array.isArray(schema.type)?schema.type:[schema.type];if(!types2.some((type)=>matchesType(value,type)))return violations.push({path:path7||"(root)",message:`expected ${types2.join(" or ")}, got ${typeName(value)}`}),violations}let hasObjectKeywords=schema.properties!==void 0||schema.required!==void 0||schema.additionalProperties!==void 0;if(schema.type==="object"||hasObjectKeywords&&isObject3(value))violations.push(...validateObject(value,schema,path7,defs,seenRefs));if(schema.type==="array"||schema.items!==void 0&&Array.isArray(value))violations.push(...validateArray(value,schema,path7,defs,seenRefs));return violations}function validateObject(value,schema,path7,defs,seenRefs){if(!isObject3(value))return[{path:path7||"(root)",message:`expected object, got ${typeName(value)}`}];let violations=[];for(let key of schema.required??[])if(!(key in value))violations.push({path:path7?`${path7}.${key}`:key,message:`missing required field "${key}"`});let properties=schema.properties??{};for(let[key,childSchema]of Object.entries(properties))if(key in value)violations.push(...validateJsonSchema(value[key],childSchema,path7?`${path7}.${key}`:key,defs,seenRefs));if(schema.additionalProperties===!1){let allowed=new Set(Object.keys(properties));for(let key of Object.keys(value))if(!allowed.has(key))violations.push({path:path7?`${path7}.${key}`:key,message:`unknown field "${key}"`})}else if(isObject3(schema.additionalProperties)){for(let[key,child]of Object.entries(value))if(!(key in properties))violations.push(...validateJsonSchema(child,schema.additionalProperties,path7?`${path7}.${key}`:key,defs,seenRefs))}return violations}function validateArray(value,schema,path7,defs,seenRefs){if(!Array.isArray(value))return[{path:path7||"(root)",message:`expected array, got ${typeName(value)}`}];if(schema.items===void 0)return[];return value.flatMap((entry,index2)=>validateJsonSchema(entry,schema.items,`${path7}[${index2}]`,defs,seenRefs))}function validateCombinator(value,schemas3,path7,defs,mode,seenRefs){let branchViolations=schemas3.map((schema)=>validateJsonSchema(value,schema,path7,defs,seenRefs)),passing=branchViolations.filter((violations)=>violations.length===0).length;if(mode==="anyOf"&&passing>=1)return[];if(mode==="oneOf"&&passing===1)return[];let at=path7||"(root)";if(mode==="oneOf"&&passing>1)return[{path:at,message:`expected to match exactly one oneOf branch, matched ${passing}`}];let detail=branchViolations.map((branch,index2)=>`[${index2}] ${branch.map((v)=>`${v.path}: ${v.message}`).join(", ")}`).join(" | ");return[{path:at,message:`expected to match ${mode==="oneOf"?"exactly one":"at least one"} branch — ${detail}`}]}function resolveRef2(ref,defs,localDefs){if(!ref.startsWith("#/$defs/"))return;let name=ref.slice(8);return defs[name]??localDefs?.[name]}function resolveSchemaRef(schemaRef,source,resolve){if(isRemoteRef(schemaRef)||isAbsolutePath2(schemaRef))return schemaRef;if(schemaRef.startsWith("./")||schemaRef.startsWith("../"))return joinPath2(isRemoteRef(source)?".":dirnamePath(source),schemaRef);return resolvePackageSchema(schemaRef,source,resolve)}function resolvePackageSchema(specifier,source,resolve){let resolveFn=resolve??defaultResolve;if(resolveFn===void 0)throw new StructuredConfigSchemaError(`Cannot resolve package schema "${specifier}" referenced by "${source}": no module resolver available`);let{pkg,subpath}=splitPackageSpecifier(specifier);if(subpath.length===0)throw new StructuredConfigSchemaError(`Package schema ref "${specifier}" referenced by "${source}" must include a path within the package`);let from=isRemoteRef(source)?getProcessCwd2():dirnamePath(source);try{let manifest=resolveFn(`${pkg}/package.json`,from);return joinPath2(dirnamePath(manifest),subpath)}catch(error51){throw new StructuredConfigSchemaError(`Cannot resolve package schema "${specifier}" referenced by "${source}": ${errorMessage2(error51)}`)}}function splitPackageSpecifier(specifier){let parts=specifier.split("/"),segments=specifier.startsWith("@")?2:1;return{pkg:parts.slice(0,segments).join("/"),subpath:parts.slice(segments).join("/")}}async function readSchema(schemaLocation,options){if(isRemoteRef(schemaLocation)){if(options.allowRemote!==!0||options.fetch===void 0)throw new StructuredConfigSchemaError(`Refusing to fetch remote JSON schema "${schemaLocation}": pass both allowRemote: true and a fetch implementation to opt in`);let response=await options.fetch(schemaLocation);if(!response.ok)throw new StructuredConfigSchemaError(`Failed to fetch JSON schema "${schemaLocation}": HTTP ${response.status}`);return await readBoundedBody(response,schemaLocation)}return await(options.fileSystem??createNodeFileSystem2()).readFile(schemaLocation)}async function readBoundedBody(response,schemaLocation){let declared=Number(response.headers.get("content-length"));if(Number.isFinite(declared)&&declared>REMOTE_SCHEMA_MAX_BYTES)throw new StructuredConfigSchemaError(`Remote JSON schema "${schemaLocation}" exceeds the ${REMOTE_SCHEMA_MAX_BYTES}-byte limit (Content-Length ${declared})`);let body=response.body;if(body===null)return await response.text();let reader=body.getReader(),chunks=[],total=0;try{while(!0){let{done,value}=await reader.read();if(done)break;if(total+=value.byteLength,total>REMOTE_SCHEMA_MAX_BYTES)throw await reader.cancel(),new StructuredConfigSchemaError(`Remote JSON schema "${schemaLocation}" exceeds the ${REMOTE_SCHEMA_MAX_BYTES}-byte limit`);chunks.push(value)}}finally{reader.releaseLock()}let merged=new Uint8Array(total),offset=0;for(let chunk of chunks)merged.set(chunk,offset),offset+=chunk.byteLength;return new TextDecoder().decode(merged)}function isObject3(value){return typeof value==="object"&&value!==null&&!Array.isArray(value)}function matchesType(value,type){if(type==="object")return isObject3(value);if(type==="array")return Array.isArray(value);if(type==="integer")return typeof value==="number"&&Number.isInteger(value);if(type==="null")return value===null;return typeof value===type}function typeName(value){if(Array.isArray(value))return"array";if(value===null)return"null";return typeof value}function jsonEqual(left,right){if(left===right)return!0;if(Array.isArray(left)||Array.isArray(right)){if(!Array.isArray(left)||!Array.isArray(right)||left.length!==right.length)return!1;return left.every((entry,index2)=>jsonEqual(entry,right[index2]))}if(isObject3(left)&&isObject3(right)){let keys=Object.keys(left);if(keys.length!==Object.keys(right).length)return!1;return keys.every((key)=>(key in right)&&jsonEqual(left[key],right[key]))}return!1}function errorMessage2(error51){return error51 instanceof Error?error51.message:String(error51)}function isRemoteRef(ref){return/^https?:\/\//i.test(ref)}var REMOTE_SCHEMA_MAX_BYTES=5242880,StructuredConfigSchemaError,defaultResolve;var init_schema_validation2=__esm(()=>{init_dist2();init_file_system_node();init_path2();StructuredConfigSchemaError=class StructuredConfigSchemaError extends Error{violations;constructor(message,violations=[]){super(message);this.violations=violations,this.name="StructuredConfigSchemaError"}};defaultResolve=typeof Bun<"u"?(specifier,from)=>Bun.resolveSync(specifier,from):void 0});var init_types2=()=>{};var init_dist6=__esm(()=>{init_file_system_node();init_process_executor();init_runtime_node_bun();init_config2();init_context2();init_path2();init_schema_validation2();init_types2()});var require_version=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.VERSION=void 0;exports.VERSION="1.9.1"});var require_semver=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.isCompatible=exports._makeCompatibilityCheck=void 0;var version_1=require_version(),re=/^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;function _makeCompatibilityCheck(ownVersion){let acceptedVersions=new Set([ownVersion]),rejectedVersions=new Set,myVersionMatch=ownVersion.match(re);if(!myVersionMatch)return()=>!1;let ownVersionParsed={major:+myVersionMatch[1],minor:+myVersionMatch[2],patch:+myVersionMatch[3],prerelease:myVersionMatch[4]};if(ownVersionParsed.prerelease!=null)return function(globalVersion){return globalVersion===ownVersion};function _reject(v){return rejectedVersions.add(v),!1}function _accept(v){return acceptedVersions.add(v),!0}return function(globalVersion){if(acceptedVersions.has(globalVersion))return!0;if(rejectedVersions.has(globalVersion))return!1;let globalVersionMatch=globalVersion.match(re);if(!globalVersionMatch)return _reject(globalVersion);let globalVersionParsed={major:+globalVersionMatch[1],minor:+globalVersionMatch[2],patch:+globalVersionMatch[3],prerelease:globalVersionMatch[4]};if(globalVersionParsed.prerelease!=null)return _reject(globalVersion);if(ownVersionParsed.major!==globalVersionParsed.major)return _reject(globalVersion);if(ownVersionParsed.major===0){if(ownVersionParsed.minor===globalVersionParsed.minor&&ownVersionParsed.patch<=globalVersionParsed.patch)return _accept(globalVersion);return _reject(globalVersion)}if(ownVersionParsed.minor<=globalVersionParsed.minor)return _accept(globalVersion);return _reject(globalVersion)}}exports._makeCompatibilityCheck=_makeCompatibilityCheck;exports.isCompatible=_makeCompatibilityCheck(version_1.VERSION)});var require_global_utils=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.unregisterGlobal=exports.getGlobal=exports.registerGlobal=void 0;var version_1=require_version(),semver_1=require_semver(),major=version_1.VERSION.split(".")[0],GLOBAL_OPENTELEMETRY_API_KEY=Symbol.for(`opentelemetry.js.api.${major}`),_global=typeof globalThis==="object"?globalThis:typeof self==="object"?self:typeof window==="object"?window:typeof global==="object"?global:{};function registerGlobal(type,instance,diag,allowOverride=!1){var _a3;let api2=_global[GLOBAL_OPENTELEMETRY_API_KEY]=(_a3=_global[GLOBAL_OPENTELEMETRY_API_KEY])!==null&&_a3!==void 0?_a3:{version:version_1.VERSION};if(!allowOverride&&api2[type]){let err=Error(`@opentelemetry/api: Attempted duplicate registration of API: ${type}`);return diag.error(err.stack||err.message),!1}if(api2.version!==version_1.VERSION){let err=Error(`@opentelemetry/api: Registration of version v${api2.version} for ${type} does not match previously registered API v${version_1.VERSION}`);return diag.error(err.stack||err.message),!1}return api2[type]=instance,diag.debug(`@opentelemetry/api: Registered a global for ${type} v${version_1.VERSION}.`),!0}exports.registerGlobal=registerGlobal;function getGlobal(type){var _a3,_b;let globalVersion=(_a3=_global[GLOBAL_OPENTELEMETRY_API_KEY])===null||_a3===void 0?void 0:_a3.version;if(!globalVersion||!(0,semver_1.isCompatible)(globalVersion))return;return(_b=_global[GLOBAL_OPENTELEMETRY_API_KEY])===null||_b===void 0?void 0:_b[type]}exports.getGlobal=getGlobal;function unregisterGlobal(type,diag){diag.debug(`@opentelemetry/api: Unregistering a global for ${type} v${version_1.VERSION}.`);let api2=_global[GLOBAL_OPENTELEMETRY_API_KEY];if(api2)delete api2[type]}exports.unregisterGlobal=unregisterGlobal});var require_ComponentLogger=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.DiagComponentLogger=void 0;var global_utils_1=require_global_utils();class DiagComponentLogger{constructor(props){this._namespace=props.namespace||"DiagComponentLogger"}debug(...args){return logProxy("debug",this._namespace,args)}error(...args){return logProxy("error",this._namespace,args)}info(...args){return logProxy("info",this._namespace,args)}warn(...args){return logProxy("warn",this._namespace,args)}verbose(...args){return logProxy("verbose",this._namespace,args)}}exports.DiagComponentLogger=DiagComponentLogger;function logProxy(funcName,namespace,args){let logger2=(0,global_utils_1.getGlobal)("diag");if(!logger2)return;return logger2[funcName](namespace,...args)}});var require_types=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.DiagLogLevel=void 0;var DiagLogLevel;(function(DiagLogLevel2){DiagLogLevel2[DiagLogLevel2.NONE=0]="NONE",DiagLogLevel2[DiagLogLevel2.ERROR=30]="ERROR",DiagLogLevel2[DiagLogLevel2.WARN=50]="WARN",DiagLogLevel2[DiagLogLevel2.INFO=60]="INFO",DiagLogLevel2[DiagLogLevel2.DEBUG=70]="DEBUG",DiagLogLevel2[DiagLogLevel2.VERBOSE=80]="VERBOSE",DiagLogLevel2[DiagLogLevel2.ALL=9999]="ALL"})(DiagLogLevel=exports.DiagLogLevel||(exports.DiagLogLevel={}))});var require_logLevelLogger=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.createLogLevelDiagLogger=void 0;var types_1=require_types();function createLogLevelDiagLogger(maxLevel,logger2){if(maxLevel<types_1.DiagLogLevel.NONE)maxLevel=types_1.DiagLogLevel.NONE;else if(maxLevel>types_1.DiagLogLevel.ALL)maxLevel=types_1.DiagLogLevel.ALL;logger2=logger2||{};function _filterFunc(funcName,theLevel){let theFunc=logger2[funcName];if(typeof theFunc==="function"&&maxLevel>=theLevel)return theFunc.bind(logger2);return function(){}}return{error:_filterFunc("error",types_1.DiagLogLevel.ERROR),warn:_filterFunc("warn",types_1.DiagLogLevel.WARN),info:_filterFunc("info",types_1.DiagLogLevel.INFO),debug:_filterFunc("debug",types_1.DiagLogLevel.DEBUG),verbose:_filterFunc("verbose",types_1.DiagLogLevel.VERBOSE)}}exports.createLogLevelDiagLogger=createLogLevelDiagLogger});var require_diag=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.DiagAPI=void 0;var ComponentLogger_1=require_ComponentLogger(),logLevelLogger_1=require_logLevelLogger(),types_1=require_types(),global_utils_1=require_global_utils(),API_NAME="diag";class DiagAPI{static instance(){if(!this._instance)this._instance=new DiagAPI;return this._instance}constructor(){function _logProxy(funcName){return function(...args){let logger2=(0,global_utils_1.getGlobal)("diag");if(!logger2)return;return logger2[funcName](...args)}}let self2=this,setLogger=(logger2,optionsOrLogLevel={logLevel:types_1.DiagLogLevel.INFO})=>{var _a3,_b,_c;if(logger2===self2){let err=Error("Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation");return self2.error((_a3=err.stack)!==null&&_a3!==void 0?_a3:err.message),!1}if(typeof optionsOrLogLevel==="number")optionsOrLogLevel={logLevel:optionsOrLogLevel};let oldLogger=(0,global_utils_1.getGlobal)("diag"),newLogger=(0,logLevelLogger_1.createLogLevelDiagLogger)((_b=optionsOrLogLevel.logLevel)!==null&&_b!==void 0?_b:types_1.DiagLogLevel.INFO,logger2);if(oldLogger&&!optionsOrLogLevel.suppressOverrideMessage){let stack=(_c=Error().stack)!==null&&_c!==void 0?_c:"<failed to generate stacktrace>";oldLogger.warn(`Current logger will be overwritten from ${stack}`),newLogger.warn(`Current logger will overwrite one already registered from ${stack}`)}return(0,global_utils_1.registerGlobal)("diag",newLogger,self2,!0)};self2.setLogger=setLogger,self2.disable=()=>{(0,global_utils_1.unregisterGlobal)(API_NAME,self2)},self2.createComponentLogger=(options)=>{return new ComponentLogger_1.DiagComponentLogger(options)},self2.verbose=_logProxy("verbose"),self2.debug=_logProxy("debug"),self2.info=_logProxy("info"),self2.warn=_logProxy("warn"),self2.error=_logProxy("error")}}exports.DiagAPI=DiagAPI});var require_baggage_impl=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.BaggageImpl=void 0;class BaggageImpl{constructor(entries){this._entries=entries?new Map(entries):new Map}getEntry(key){let entry=this._entries.get(key);if(!entry)return;return Object.assign({},entry)}getAllEntries(){return Array.from(this._entries.entries())}setEntry(key,entry){let newBaggage=new BaggageImpl(this._entries);return newBaggage._entries.set(key,entry),newBaggage}removeEntry(key){let newBaggage=new BaggageImpl(this._entries);return newBaggage._entries.delete(key),newBaggage}removeEntries(...keys){let newBaggage=new BaggageImpl(this._entries);for(let key of keys)newBaggage._entries.delete(key);return newBaggage}clear(){return new BaggageImpl}}exports.BaggageImpl=BaggageImpl});var require_symbol=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.baggageEntryMetadataSymbol=void 0;exports.baggageEntryMetadataSymbol=Symbol("BaggageEntryMetadata")});var require_utils=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.baggageEntryMetadataFromString=exports.createBaggage=void 0;var diag_1=require_diag(),baggage_impl_1=require_baggage_impl(),symbol_1=require_symbol(),diag=diag_1.DiagAPI.instance();function createBaggage(entries={}){return new baggage_impl_1.BaggageImpl(new Map(Object.entries(entries)))}exports.createBaggage=createBaggage;function baggageEntryMetadataFromString(str){if(typeof str!=="string")diag.error(`Cannot create baggage metadata from unknown type: ${typeof str}`),str="";return{__TYPE__:symbol_1.baggageEntryMetadataSymbol,toString(){return str}}}exports.baggageEntryMetadataFromString=baggageEntryMetadataFromString});var require_context=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.ROOT_CONTEXT=exports.createContextKey=void 0;function createContextKey(description){return Symbol.for(description)}exports.createContextKey=createContextKey;class BaseContext{constructor(parentContext){let self2=this;self2._currentContext=parentContext?new Map(parentContext):new Map,self2.getValue=(key)=>self2._currentContext.get(key),self2.setValue=(key,value)=>{let context3=new BaseContext(self2._currentContext);return context3._currentContext.set(key,value),context3},self2.deleteValue=(key)=>{let context3=new BaseContext(self2._currentContext);return context3._currentContext.delete(key),context3}}}exports.ROOT_CONTEXT=new BaseContext});var require_consoleLogger=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.DiagConsoleLogger=exports._originalConsoleMethods=void 0;var consoleMap=[{n:"error",c:"error"},{n:"warn",c:"warn"},{n:"info",c:"info"},{n:"debug",c:"debug"},{n:"verbose",c:"trace"}];exports._originalConsoleMethods={};if(typeof console<"u"){let keys=["error","warn","info","debug","trace","log"];for(let key of keys)if(typeof console[key]==="function")exports._originalConsoleMethods[key]=console[key]}class DiagConsoleLogger{constructor(){function _consoleFunc(funcName){return function(...args){let theFunc=exports._originalConsoleMethods[funcName];if(typeof theFunc!=="function")theFunc=exports._originalConsoleMethods.log;if(typeof theFunc!=="function"&&console){if(theFunc=console[funcName],typeof theFunc!=="function")theFunc=console.log}if(typeof theFunc==="function")return theFunc.apply(console,args)}}for(let i2=0;i2<consoleMap.length;i2++)this[consoleMap[i2].n]=_consoleFunc(consoleMap[i2].c)}}exports.DiagConsoleLogger=DiagConsoleLogger});var require_NoopMeter=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.createNoopMeter=exports.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=exports.NOOP_OBSERVABLE_GAUGE_METRIC=exports.NOOP_OBSERVABLE_COUNTER_METRIC=exports.NOOP_UP_DOWN_COUNTER_METRIC=exports.NOOP_HISTOGRAM_METRIC=exports.NOOP_GAUGE_METRIC=exports.NOOP_COUNTER_METRIC=exports.NOOP_METER=exports.NoopObservableUpDownCounterMetric=exports.NoopObservableGaugeMetric=exports.NoopObservableCounterMetric=exports.NoopObservableMetric=exports.NoopHistogramMetric=exports.NoopGaugeMetric=exports.NoopUpDownCounterMetric=exports.NoopCounterMetric=exports.NoopMetric=exports.NoopMeter=void 0;class NoopMeter{constructor(){}createGauge(_name,_options){return exports.NOOP_GAUGE_METRIC}createHistogram(_name,_options){return exports.NOOP_HISTOGRAM_METRIC}createCounter(_name,_options){return exports.NOOP_COUNTER_METRIC}createUpDownCounter(_name,_options){return exports.NOOP_UP_DOWN_COUNTER_METRIC}createObservableGauge(_name,_options){return exports.NOOP_OBSERVABLE_GAUGE_METRIC}createObservableCounter(_name,_options){return exports.NOOP_OBSERVABLE_COUNTER_METRIC}createObservableUpDownCounter(_name,_options){return exports.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC}addBatchObservableCallback(_callback,_observables){}removeBatchObservableCallback(_callback){}}exports.NoopMeter=NoopMeter;class NoopMetric{}exports.NoopMetric=NoopMetric;class NoopCounterMetric extends NoopMetric{add(_value,_attributes){}}exports.NoopCounterMetric=NoopCounterMetric;class NoopUpDownCounterMetric extends NoopMetric{add(_value,_attributes){}}exports.NoopUpDownCounterMetric=NoopUpDownCounterMetric;class NoopGaugeMetric extends NoopMetric{record(_value,_attributes){}}exports.NoopGaugeMetric=NoopGaugeMetric;class NoopHistogramMetric extends NoopMetric{record(_value,_attributes){}}exports.NoopHistogramMetric=NoopHistogramMetric;class NoopObservableMetric{addCallback(_callback){}removeCallback(_callback){}}exports.NoopObservableMetric=NoopObservableMetric;class NoopObservableCounterMetric extends NoopObservableMetric{}exports.NoopObservableCounterMetric=NoopObservableCounterMetric;class NoopObservableGaugeMetric extends NoopObservableMetric{}exports.NoopObservableGaugeMetric=NoopObservableGaugeMetric;class NoopObservableUpDownCounterMetric extends NoopObservableMetric{}exports.NoopObservableUpDownCounterMetric=NoopObservableUpDownCounterMetric;exports.NOOP_METER=new NoopMeter;exports.NOOP_COUNTER_METRIC=new NoopCounterMetric;exports.NOOP_GAUGE_METRIC=new NoopGaugeMetric;exports.NOOP_HISTOGRAM_METRIC=new NoopHistogramMetric;exports.NOOP_UP_DOWN_COUNTER_METRIC=new NoopUpDownCounterMetric;exports.NOOP_OBSERVABLE_COUNTER_METRIC=new NoopObservableCounterMetric;exports.NOOP_OBSERVABLE_GAUGE_METRIC=new NoopObservableGaugeMetric;exports.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=new NoopObservableUpDownCounterMetric;function createNoopMeter(){return exports.NOOP_METER}exports.createNoopMeter=createNoopMeter});var require_Metric=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.ValueType=void 0;var ValueType;(function(ValueType2){ValueType2[ValueType2.INT=0]="INT",ValueType2[ValueType2.DOUBLE=1]="DOUBLE"})(ValueType=exports.ValueType||(exports.ValueType={}))});var require_TextMapPropagator=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.defaultTextMapSetter=exports.defaultTextMapGetter=void 0;exports.defaultTextMapGetter={get(carrier,key){if(carrier==null)return;return carrier[key]},keys(carrier){if(carrier==null)return[];return Object.keys(carrier)}};exports.defaultTextMapSetter={set(carrier,key,value){if(carrier==null)return;carrier[key]=value}}});var require_NoopContextManager=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.NoopContextManager=void 0;var context_1=require_context();class NoopContextManager{active(){return context_1.ROOT_CONTEXT}with(_context,fn,thisArg,...args){return fn.call(thisArg,...args)}bind(_context,target){return target}enable(){return this}disable(){return this}}exports.NoopContextManager=NoopContextManager});var require_context2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.ContextAPI=void 0;var NoopContextManager_1=require_NoopContextManager(),global_utils_1=require_global_utils(),diag_1=require_diag(),API_NAME="context",NOOP_CONTEXT_MANAGER=new NoopContextManager_1.NoopContextManager;class ContextAPI{constructor(){}static getInstance(){if(!this._instance)this._instance=new ContextAPI;return this._instance}setGlobalContextManager(contextManager){return(0,global_utils_1.registerGlobal)(API_NAME,contextManager,diag_1.DiagAPI.instance())}active(){return this._getContextManager().active()}with(context3,fn,thisArg,...args){return this._getContextManager().with(context3,fn,thisArg,...args)}bind(context3,target){return this._getContextManager().bind(context3,target)}_getContextManager(){return(0,global_utils_1.getGlobal)(API_NAME)||NOOP_CONTEXT_MANAGER}disable(){this._getContextManager().disable(),(0,global_utils_1.unregisterGlobal)(API_NAME,diag_1.DiagAPI.instance())}}exports.ContextAPI=ContextAPI});var require_trace_flags=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.TraceFlags=void 0;var TraceFlags;(function(TraceFlags2){TraceFlags2[TraceFlags2.NONE=0]="NONE",TraceFlags2[TraceFlags2.SAMPLED=1]="SAMPLED"})(TraceFlags=exports.TraceFlags||(exports.TraceFlags={}))});var require_invalid_span_constants=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.INVALID_SPAN_CONTEXT=exports.INVALID_TRACEID=exports.INVALID_SPANID=void 0;var trace_flags_1=require_trace_flags();exports.INVALID_SPANID="0000000000000000";exports.INVALID_TRACEID="00000000000000000000000000000000";exports.INVALID_SPAN_CONTEXT={traceId:exports.INVALID_TRACEID,spanId:exports.INVALID_SPANID,traceFlags:trace_flags_1.TraceFlags.NONE}});var require_NonRecordingSpan=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.NonRecordingSpan=void 0;var invalid_span_constants_1=require_invalid_span_constants();class NonRecordingSpan{constructor(spanContext=invalid_span_constants_1.INVALID_SPAN_CONTEXT){this._spanContext=spanContext}spanContext(){return this._spanContext}setAttribute(_key,_value){return this}setAttributes(_attributes){return this}addEvent(_name,_attributes){return this}addLink(_link){return this}addLinks(_links){return this}setStatus(_status){return this}updateName(_name){return this}end(_endTime){}isRecording(){return!1}recordException(_exception,_time){}}exports.NonRecordingSpan=NonRecordingSpan});var require_context_utils=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.getSpanContext=exports.setSpanContext=exports.deleteSpan=exports.setSpan=exports.getActiveSpan=exports.getSpan=void 0;var context_1=require_context(),NonRecordingSpan_1=require_NonRecordingSpan(),context_2=require_context2(),SPAN_KEY=(0,context_1.createContextKey)("OpenTelemetry Context Key SPAN");function getSpan(context3){return context3.getValue(SPAN_KEY)||void 0}exports.getSpan=getSpan;function getActiveSpan(){return getSpan(context_2.ContextAPI.getInstance().active())}exports.getActiveSpan=getActiveSpan;function setSpan(context3,span){return context3.setValue(SPAN_KEY,span)}exports.setSpan=setSpan;function deleteSpan(context3){return context3.deleteValue(SPAN_KEY)}exports.deleteSpan=deleteSpan;function setSpanContext(context3,spanContext){return setSpan(context3,new NonRecordingSpan_1.NonRecordingSpan(spanContext))}exports.setSpanContext=setSpanContext;function getSpanContext(context3){var _a3;return(_a3=getSpan(context3))===null||_a3===void 0?void 0:_a3.spanContext()}exports.getSpanContext=getSpanContext});var require_spancontext_utils=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.wrapSpanContext=exports.isSpanContextValid=exports.isValidSpanId=exports.isValidTraceId=void 0;var invalid_span_constants_1=require_invalid_span_constants(),NonRecordingSpan_1=require_NonRecordingSpan(),isHex=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1]);function isValidHex(id,length){if(typeof id!=="string"||id.length!==length)return!1;let r=0;for(let i2=0;i2<id.length;i2+=4)r+=(isHex[id.charCodeAt(i2)]|0)+(isHex[id.charCodeAt(i2+1)]|0)+(isHex[id.charCodeAt(i2+2)]|0)+(isHex[id.charCodeAt(i2+3)]|0);return r===length}function isValidTraceId(traceId){return isValidHex(traceId,32)&&traceId!==invalid_span_constants_1.INVALID_TRACEID}exports.isValidTraceId=isValidTraceId;function isValidSpanId(spanId){return isValidHex(spanId,16)&&spanId!==invalid_span_constants_1.INVALID_SPANID}exports.isValidSpanId=isValidSpanId;function isSpanContextValid(spanContext){return isValidTraceId(spanContext.traceId)&&isValidSpanId(spanContext.spanId)}exports.isSpanContextValid=isSpanContextValid;function wrapSpanContext(spanContext){return new NonRecordingSpan_1.NonRecordingSpan(spanContext)}exports.wrapSpanContext=wrapSpanContext});var require_NoopTracer=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.NoopTracer=void 0;var context_1=require_context2(),context_utils_1=require_context_utils(),NonRecordingSpan_1=require_NonRecordingSpan(),spancontext_utils_1=require_spancontext_utils(),contextApi=context_1.ContextAPI.getInstance();class NoopTracer{startSpan(name,options,context3=contextApi.active()){if(Boolean(options===null||options===void 0?void 0:options.root))return new NonRecordingSpan_1.NonRecordingSpan;let parentFromContext=context3&&(0,context_utils_1.getSpanContext)(context3);if(isSpanContext(parentFromContext)&&(0,spancontext_utils_1.isSpanContextValid)(parentFromContext))return new NonRecordingSpan_1.NonRecordingSpan(parentFromContext);else return new NonRecordingSpan_1.NonRecordingSpan}startActiveSpan(name,arg2,arg3,arg4){let opts,ctx,fn;if(arguments.length<2)return;else if(arguments.length===2)fn=arg2;else if(arguments.length===3)opts=arg2,fn=arg3;else opts=arg2,ctx=arg3,fn=arg4;let parentContext=ctx!==null&&ctx!==void 0?ctx:contextApi.active(),span=this.startSpan(name,opts,parentContext),contextWithSpanSet=(0,context_utils_1.setSpan)(parentContext,span);return contextApi.with(contextWithSpanSet,fn,void 0,span)}}exports.NoopTracer=NoopTracer;function isSpanContext(spanContext){return spanContext!==null&&typeof spanContext==="object"&&"spanId"in spanContext&&typeof spanContext.spanId==="string"&&"traceId"in spanContext&&typeof spanContext.traceId==="string"&&"traceFlags"in spanContext&&typeof spanContext.traceFlags==="number"}});var require_ProxyTracer=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.ProxyTracer=void 0;var NoopTracer_1=require_NoopTracer(),NOOP_TRACER=new NoopTracer_1.NoopTracer;class ProxyTracer{constructor(provider,name,version3,options){this._provider=provider,this.name=name,this.version=version3,this.options=options}startSpan(name,options,context3){return this._getTracer().startSpan(name,options,context3)}startActiveSpan(_name,_options,_context,_fn){let tracer2=this._getTracer();return Reflect.apply(tracer2.startActiveSpan,tracer2,arguments)}_getTracer(){if(this._delegate)return this._delegate;let tracer2=this._provider.getDelegateTracer(this.name,this.version,this.options);if(!tracer2)return NOOP_TRACER;return this._delegate=tracer2,this._delegate}}exports.ProxyTracer=ProxyTracer});var require_NoopTracerProvider=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.NoopTracerProvider=void 0;var NoopTracer_1=require_NoopTracer();class NoopTracerProvider{getTracer(_name,_version,_options){return new NoopTracer_1.NoopTracer}}exports.NoopTracerProvider=NoopTracerProvider});var require_ProxyTracerProvider=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.ProxyTracerProvider=void 0;var ProxyTracer_1=require_ProxyTracer(),NoopTracerProvider_1=require_NoopTracerProvider(),NOOP_TRACER_PROVIDER=new NoopTracerProvider_1.NoopTracerProvider;class ProxyTracerProvider{getTracer(name,version3,options){var _a3;return(_a3=this.getDelegateTracer(name,version3,options))!==null&&_a3!==void 0?_a3:new ProxyTracer_1.ProxyTracer(this,name,version3,options)}getDelegate(){var _a3;return(_a3=this._delegate)!==null&&_a3!==void 0?_a3:NOOP_TRACER_PROVIDER}setDelegate(delegate){this._delegate=delegate}getDelegateTracer(name,version3,options){var _a3;return(_a3=this._delegate)===null||_a3===void 0?void 0:_a3.getTracer(name,version3,options)}}exports.ProxyTracerProvider=ProxyTracerProvider});var require_SamplingResult=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.SamplingDecision=void 0;var SamplingDecision;(function(SamplingDecision2){SamplingDecision2[SamplingDecision2.NOT_RECORD=0]="NOT_RECORD",SamplingDecision2[SamplingDecision2.RECORD=1]="RECORD",SamplingDecision2[SamplingDecision2.RECORD_AND_SAMPLED=2]="RECORD_AND_SAMPLED"})(SamplingDecision=exports.SamplingDecision||(exports.SamplingDecision={}))});var require_span_kind=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.SpanKind=void 0;var SpanKind;(function(SpanKind2){SpanKind2[SpanKind2.INTERNAL=0]="INTERNAL",SpanKind2[SpanKind2.SERVER=1]="SERVER",SpanKind2[SpanKind2.CLIENT=2]="CLIENT",SpanKind2[SpanKind2.PRODUCER=3]="PRODUCER",SpanKind2[SpanKind2.CONSUMER=4]="CONSUMER"})(SpanKind=exports.SpanKind||(exports.SpanKind={}))});var require_status=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.SpanStatusCode=void 0;var SpanStatusCode;(function(SpanStatusCode2){SpanStatusCode2[SpanStatusCode2.UNSET=0]="UNSET",SpanStatusCode2[SpanStatusCode2.OK=1]="OK",SpanStatusCode2[SpanStatusCode2.ERROR=2]="ERROR"})(SpanStatusCode=exports.SpanStatusCode||(exports.SpanStatusCode={}))});var require_tracestate_validators=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.validateValue=exports.validateKey=void 0;var VALID_KEY_CHAR_RANGE="[_0-9a-z-*/]",VALID_KEY=`[a-z]${VALID_KEY_CHAR_RANGE}{0,255}`,VALID_VENDOR_KEY=`[a-z0-9]${VALID_KEY_CHAR_RANGE}{0,240}@[a-z]${VALID_KEY_CHAR_RANGE}{0,13}`,VALID_KEY_REGEX=new RegExp(`^(?:${VALID_KEY}|${VALID_VENDOR_KEY})$`),VALID_VALUE_BASE_REGEX=/^[ -~]{0,255}[!-~]$/,INVALID_VALUE_COMMA_EQUAL_REGEX=/,|=/;function validateKey(key){return VALID_KEY_REGEX.test(key)}exports.validateKey=validateKey;function validateValue(value){return VALID_VALUE_BASE_REGEX.test(value)&&!INVALID_VALUE_COMMA_EQUAL_REGEX.test(value)}exports.validateValue=validateValue});var require_tracestate_impl=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.TraceStateImpl=void 0;var tracestate_validators_1=require_tracestate_validators(),MAX_TRACE_STATE_ITEMS=32,MAX_TRACE_STATE_LEN=512,LIST_MEMBERS_SEPARATOR=",",LIST_MEMBER_KEY_VALUE_SPLITTER="=";class TraceStateImpl{constructor(rawTraceState){if(this._internalState=new Map,rawTraceState)this._parse(rawTraceState)}set(key,value){let traceState=this._clone();if(traceState._internalState.has(key))traceState._internalState.delete(key);return traceState._internalState.set(key,value),traceState}unset(key){let traceState=this._clone();return traceState._internalState.delete(key),traceState}get(key){return this._internalState.get(key)}serialize(){return Array.from(this._internalState.keys()).reduceRight((agg,key)=>{return agg.push(key+LIST_MEMBER_KEY_VALUE_SPLITTER+this.get(key)),agg},[]).join(LIST_MEMBERS_SEPARATOR)}_parse(rawTraceState){if(rawTraceState.length>MAX_TRACE_STATE_LEN)return;if(this._internalState=rawTraceState.split(LIST_MEMBERS_SEPARATOR).reduceRight((agg,part)=>{let listMember=part.trim(),i2=listMember.indexOf(LIST_MEMBER_KEY_VALUE_SPLITTER);if(i2!==-1){let key=listMember.slice(0,i2),value=listMember.slice(i2+1,part.length);if((0,tracestate_validators_1.validateKey)(key)&&(0,tracestate_validators_1.validateValue)(value))agg.set(key,value)}return agg},new Map),this._internalState.size>MAX_TRACE_STATE_ITEMS)this._internalState=new Map(Array.from(this._internalState.entries()).reverse().slice(0,MAX_TRACE_STATE_ITEMS))}_keys(){return Array.from(this._internalState.keys()).reverse()}_clone(){let traceState=new TraceStateImpl;return traceState._internalState=new Map(this._internalState),traceState}}exports.TraceStateImpl=TraceStateImpl});var require_utils2=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.createTraceState=void 0;var tracestate_impl_1=require_tracestate_impl();function createTraceState(rawTraceState){return new tracestate_impl_1.TraceStateImpl(rawTraceState)}exports.createTraceState=createTraceState});var require_context_api=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.context=void 0;var context_1=require_context2();exports.context=context_1.ContextAPI.getInstance()});var require_diag_api=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.diag=void 0;var diag_1=require_diag();exports.diag=diag_1.DiagAPI.instance()});var require_NoopMeterProvider=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.NOOP_METER_PROVIDER=exports.NoopMeterProvider=void 0;var NoopMeter_1=require_NoopMeter();class NoopMeterProvider{getMeter(_name,_version,_options){return NoopMeter_1.NOOP_METER}}exports.NoopMeterProvider=NoopMeterProvider;exports.NOOP_METER_PROVIDER=new NoopMeterProvider});var require_metrics=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.MetricsAPI=void 0;var NoopMeterProvider_1=require_NoopMeterProvider(),global_utils_1=require_global_utils(),diag_1=require_diag(),API_NAME="metrics";class MetricsAPI{constructor(){}static getInstance(){if(!this._instance)this._instance=new MetricsAPI;return this._instance}setGlobalMeterProvider(provider){return(0,global_utils_1.registerGlobal)(API_NAME,provider,diag_1.DiagAPI.instance())}getMeterProvider(){return(0,global_utils_1.getGlobal)(API_NAME)||NoopMeterProvider_1.NOOP_METER_PROVIDER}getMeter(name,version3,options){return this.getMeterProvider().getMeter(name,version3,options)}disable(){(0,global_utils_1.unregisterGlobal)(API_NAME,diag_1.DiagAPI.instance())}}exports.MetricsAPI=MetricsAPI});var require_metrics_api=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.metrics=void 0;var metrics_1=require_metrics();exports.metrics=metrics_1.MetricsAPI.getInstance()});var require_NoopTextMapPropagator=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.NoopTextMapPropagator=void 0;class NoopTextMapPropagator{inject(_context,_carrier){}extract(context3,_carrier){return context3}fields(){return[]}}exports.NoopTextMapPropagator=NoopTextMapPropagator});var require_context_helpers=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.deleteBaggage=exports.setBaggage=exports.getActiveBaggage=exports.getBaggage=void 0;var context_1=require_context2(),context_2=require_context(),BAGGAGE_KEY=(0,context_2.createContextKey)("OpenTelemetry Baggage Key");function getBaggage(context3){return context3.getValue(BAGGAGE_KEY)||void 0}exports.getBaggage=getBaggage;function getActiveBaggage(){return getBaggage(context_1.ContextAPI.getInstance().active())}exports.getActiveBaggage=getActiveBaggage;function setBaggage(context3,baggage){return context3.setValue(BAGGAGE_KEY,baggage)}exports.setBaggage=setBaggage;function deleteBaggage(context3){return context3.deleteValue(BAGGAGE_KEY)}exports.deleteBaggage=deleteBaggage});var require_propagation=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.PropagationAPI=void 0;var global_utils_1=require_global_utils(),NoopTextMapPropagator_1=require_NoopTextMapPropagator(),TextMapPropagator_1=require_TextMapPropagator(),context_helpers_1=require_context_helpers(),utils_1=require_utils(),diag_1=require_diag(),API_NAME="propagation",NOOP_TEXT_MAP_PROPAGATOR=new NoopTextMapPropagator_1.NoopTextMapPropagator;class PropagationAPI{constructor(){this.createBaggage=utils_1.createBaggage,this.getBaggage=context_helpers_1.getBaggage,this.getActiveBaggage=context_helpers_1.getActiveBaggage,this.setBaggage=context_helpers_1.setBaggage,this.deleteBaggage=context_helpers_1.deleteBaggage}static getInstance(){if(!this._instance)this._instance=new PropagationAPI;return this._instance}setGlobalPropagator(propagator){return(0,global_utils_1.registerGlobal)(API_NAME,propagator,diag_1.DiagAPI.instance())}inject(context3,carrier,setter=TextMapPropagator_1.defaultTextMapSetter){return this._getGlobalPropagator().inject(context3,carrier,setter)}extract(context3,carrier,getter=TextMapPropagator_1.defaultTextMapGetter){return this._getGlobalPropagator().extract(context3,carrier,getter)}fields(){return this._getGlobalPropagator().fields()}disable(){(0,global_utils_1.unregisterGlobal)(API_NAME,diag_1.DiagAPI.instance())}_getGlobalPropagator(){return(0,global_utils_1.getGlobal)(API_NAME)||NOOP_TEXT_MAP_PROPAGATOR}}exports.PropagationAPI=PropagationAPI});var require_propagation_api=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.propagation=void 0;var propagation_1=require_propagation();exports.propagation=propagation_1.PropagationAPI.getInstance()});var require_trace=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.TraceAPI=void 0;var global_utils_1=require_global_utils(),ProxyTracerProvider_1=require_ProxyTracerProvider(),spancontext_utils_1=require_spancontext_utils(),context_utils_1=require_context_utils(),diag_1=require_diag(),API_NAME="trace";class TraceAPI{constructor(){this._proxyTracerProvider=new ProxyTracerProvider_1.ProxyTracerProvider,this.wrapSpanContext=spancontext_utils_1.wrapSpanContext,this.isSpanContextValid=spancontext_utils_1.isSpanContextValid,this.deleteSpan=context_utils_1.deleteSpan,this.getSpan=context_utils_1.getSpan,this.getActiveSpan=context_utils_1.getActiveSpan,this.getSpanContext=context_utils_1.getSpanContext,this.setSpan=context_utils_1.setSpan,this.setSpanContext=context_utils_1.setSpanContext}static getInstance(){if(!this._instance)this._instance=new TraceAPI;return this._instance}setGlobalTracerProvider(provider){let success2=(0,global_utils_1.registerGlobal)(API_NAME,this._proxyTracerProvider,diag_1.DiagAPI.instance());if(success2)this._proxyTracerProvider.setDelegate(provider);return success2}getTracerProvider(){return(0,global_utils_1.getGlobal)(API_NAME)||this._proxyTracerProvider}getTracer(name,version3){return this.getTracerProvider().getTracer(name,version3)}disable(){(0,global_utils_1.unregisterGlobal)(API_NAME,diag_1.DiagAPI.instance()),this._proxyTracerProvider=new ProxyTracerProvider_1.ProxyTracerProvider}}exports.TraceAPI=TraceAPI});var require_trace_api=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.trace=void 0;var trace_1=require_trace();exports.trace=trace_1.TraceAPI.getInstance()});var require_src=__commonJS((exports)=>{Object.defineProperty(exports,"__esModule",{value:!0});exports.trace=exports.propagation=exports.metrics=exports.diag=exports.context=exports.INVALID_SPAN_CONTEXT=exports.INVALID_TRACEID=exports.INVALID_SPANID=exports.isValidSpanId=exports.isValidTraceId=exports.isSpanContextValid=exports.createTraceState=exports.TraceFlags=exports.SpanStatusCode=exports.SpanKind=exports.SamplingDecision=exports.ProxyTracerProvider=exports.ProxyTracer=exports.defaultTextMapSetter=exports.defaultTextMapGetter=exports.ValueType=exports.createNoopMeter=exports.DiagLogLevel=exports.DiagConsoleLogger=exports.ROOT_CONTEXT=exports.createContextKey=exports.baggageEntryMetadataFromString=void 0;var utils_1=require_utils();Object.defineProperty(exports,"baggageEntryMetadataFromString",{enumerable:!0,get:function(){return utils_1.baggageEntryMetadataFromString}});var context_1=require_context();Object.defineProperty(exports,"createContextKey",{enumerable:!0,get:function(){return context_1.createContextKey}});Object.defineProperty(exports,"ROOT_CONTEXT",{enumerable:!0,get:function(){return context_1.ROOT_CONTEXT}});var consoleLogger_1=require_consoleLogger();Object.defineProperty(exports,"DiagConsoleLogger",{enumerable:!0,get:function(){return consoleLogger_1.DiagConsoleLogger}});var types_1=require_types();Object.defineProperty(exports,"DiagLogLevel",{enumerable:!0,get:function(){return types_1.DiagLogLevel}});var NoopMeter_1=require_NoopMeter();Object.defineProperty(exports,"createNoopMeter",{enumerable:!0,get:function(){return NoopMeter_1.createNoopMeter}});var Metric_1=require_Metric();Object.defineProperty(exports,"ValueType",{enumerable:!0,get:function(){return Metric_1.ValueType}});var TextMapPropagator_1=require_TextMapPropagator();Object.defineProperty(exports,"defaultTextMapGetter",{enumerable:!0,get:function(){return TextMapPropagator_1.defaultTextMapGetter}});Object.defineProperty(exports,"defaultTextMapSetter",{enumerable:!0,get:function(){return TextMapPropagator_1.defaultTextMapSetter}});var ProxyTracer_1=require_ProxyTracer();Object.defineProperty(exports,"ProxyTracer",{enumerable:!0,get:function(){return ProxyTracer_1.ProxyTracer}});var ProxyTracerProvider_1=require_ProxyTracerProvider();Object.defineProperty(exports,"ProxyTracerProvider",{enumerable:!0,get:function(){return ProxyTracerProvider_1.ProxyTracerProvider}});var SamplingResult_1=require_SamplingResult();Object.defineProperty(exports,"SamplingDecision",{enumerable:!0,get:function(){return SamplingResult_1.SamplingDecision}});var span_kind_1=require_span_kind();Object.defineProperty(exports,"SpanKind",{enumerable:!0,get:function(){return span_kind_1.SpanKind}});var status_1=require_status();Object.defineProperty(exports,"SpanStatusCode",{enumerable:!0,get:function(){return status_1.SpanStatusCode}});var trace_flags_1=require_trace_flags();Object.defineProperty(exports,"TraceFlags",{enumerable:!0,get:function(){return trace_flags_1.TraceFlags}});var utils_2=require_utils2();Object.defineProperty(exports,"createTraceState",{enumerable:!0,get:function(){return utils_2.createTraceState}});var spancontext_utils_1=require_spancontext_utils();Object.defineProperty(exports,"isSpanContextValid",{enumerable:!0,get:function(){return spancontext_utils_1.isSpanContextValid}});Object.defineProperty(exports,"isValidTraceId",{enumerable:!0,get:function(){return spancontext_utils_1.isValidTraceId}});Object.defineProperty(exports,"isValidSpanId",{enumerable:!0,get:function(){return spancontext_utils_1.isValidSpanId}});var invalid_span_constants_1=require_invalid_span_constants();Object.defineProperty(exports,"INVALID_SPANID",{enumerable:!0,get:function(){return invalid_span_constants_1.INVALID_SPANID}});Object.defineProperty(exports,"INVALID_TRACEID",{enumerable:!0,get:function(){return invalid_span_constants_1.INVALID_TRACEID}});Object.defineProperty(exports,"INVALID_SPAN_CONTEXT",{enumerable:!0,get:function(){return invalid_span_constants_1.INVALID_SPAN_CONTEXT}});var context_api_1=require_context_api();Object.defineProperty(exports,"context",{enumerable:!0,get:function(){return context_api_1.context}});var diag_api_1=require_diag_api();Object.defineProperty(exports,"diag",{enumerable:!0,get:function(){return diag_api_1.diag}});var metrics_api_1=require_metrics_api();Object.defineProperty(exports,"metrics",{enumerable:!0,get:function(){return metrics_api_1.metrics}});var propagation_api_1=require_propagation_api();Object.defineProperty(exports,"propagation",{enumerable:!0,get:function(){return propagation_api_1.propagation}});var trace_api_1=require_trace_api();Object.defineProperty(exports,"trace",{enumerable:!0,get:function(){return trace_api_1.trace}});exports.default={context:context_api_1.context,diag:diag_api_1.diag,metrics:metrics_api_1.metrics,propagation:propagation_api_1.propagation,trace:trace_api_1.trace}});function getCategoryPrefix(){let store=LoggerImpl.getLogger().contextLocalStorage?.getStore();if(store==null)return[];let prefix=store[categoryPrefixSymbol];return Array.isArray(prefix)?prefix:[]}function getImplicitContext(){let store=LoggerImpl.getLogger().contextLocalStorage?.getStore();if(store==null)return{};let result={};for(let key of Object.keys(store))result[key]=store[key];return result}var categoryPrefixSymbol;var init_context3=__esm(()=>{init_logger2();categoryPrefixSymbol=Symbol.for("logtape.categoryPrefix")});function compareLogLevel(a2,b){let aIndex=logLevels.indexOf(a2);if(aIndex<0)throw TypeError(`Invalid log level: ${JSON.stringify(a2)}.`);let bIndex=logLevels.indexOf(b);if(bIndex<0)throw TypeError(`Invalid log level: ${JSON.stringify(b)}.`);return aIndex-bIndex}var logLevels;var init_level=__esm(()=>{logLevels=["trace","debug","info","warning","error","fatal"]});function isLazy(value){return value!=null&&typeof value==="object"&&lazySymbol in value&&value[lazySymbol]===!0}function resolveProperties(properties){let resolved={};for(let key in properties){let value=properties[key];resolved[key]=isLazy(value)?value.getter():value}let symbolProperties=properties,symbolResolved=resolved;if(Object.prototype.propertyIsEnumerable.call(properties,throttlingSummaryRecordSymbol)){let value=symbolProperties[throttlingSummaryRecordSymbol];symbolResolved[throttlingSummaryRecordSymbol]=isLazy(value)?value.getter():value}return resolved}function isPromiseObject(value){if(value instanceof Promise)return!0;return Object.prototype.toString.call(value)==="[object Promise]"&&typeof value.then==="function"}function logStringMessage(logger2,level,message,props){if(typeof props!=="function"){let properties=props??{};logger2.log(level,message,properties);return}if(!logger2.isEnabledFor(level))return Promise.resolve();let result=props();if(isPromiseObject(result))return Promise.resolve(result).then((resolvedProps)=>{logger2.log(level,message,resolvedProps)});logger2.log(level,message,result)}function snapshotLogRecordProperties(record2){let properties=resolveProperties(record2.properties),descriptors2=Object.getOwnPropertyDescriptors(record2);return descriptors2.properties={value:properties,enumerable:!0,configurable:!0},Object.defineProperties({},descriptors2)}function getLogger(category=[]){return LoggerImpl.getLogger(category)}function isMetaLoggerCategory(category){return category.length===2&&category[0]==="logtape"&&category[1]==="meta"}function isNestedAccess(key){return key.includes(".")||key.includes("[")||key.includes("?.")}function getOwnProperty(obj,key){if(key==="__proto__"||key==="prototype"||key==="constructor")return;if((typeof obj==="object"||typeof obj==="function")&&obj!==null)return Object.prototype.hasOwnProperty.call(obj,key)?obj[key]:void 0;return}function parseNextSegment(path8,fromIndex){let len=path8.length,i2=fromIndex;if(i2>=len)return null;let segment;if(path8[i2]==="["){if(i2++,i2>=len)return null;if(path8[i2]==='"'||path8[i2]==="'"){let quote=path8[i2];i2++;let segmentStr="";while(i2<len&&path8[i2]!==quote)if(path8[i2]==="\\"){if(i2++,i2<len){let escapeChar=path8[i2];switch(escapeChar){case"n":segmentStr+=`
|
|
314
|
+
`;break;case"t":segmentStr+="\t";break;case"r":segmentStr+="\r";break;case"b":segmentStr+="\b";break;case"f":segmentStr+="\f";break;case"v":segmentStr+="\v";break;case"0":segmentStr+="\x00";break;case"\\":segmentStr+="\\";break;case'"':segmentStr+='"';break;case"'":segmentStr+="'";break;case"u":if(i2+4<len){let hex3=path8.slice(i2+1,i2+5),codePoint=Number.parseInt(hex3,16);if(!Number.isNaN(codePoint))segmentStr+=String.fromCharCode(codePoint),i2+=4;else segmentStr+=escapeChar}else segmentStr+=escapeChar;break;default:segmentStr+=escapeChar}i2++}}else segmentStr+=path8[i2],i2++;if(i2>=len)return null;segment=segmentStr,i2++}else{let startIndex=i2;while(i2<len&&path8[i2]!=="]"&&path8[i2]!=="'"&&path8[i2]!=='"')i2++;if(i2>=len)return null;let indexStr=path8.slice(startIndex,i2);if(indexStr.length===0)return null;let indexNum=Number(indexStr);segment=Number.isNaN(indexNum)?indexStr:indexNum}while(i2<len&&path8[i2]!=="]")i2++;if(i2<len)i2++}else{let startIndex=i2;while(i2<len&&path8[i2]!=="."&&path8[i2]!=="["&&path8[i2]!=="?"&&path8[i2]!=="]")i2++;if(segment=path8.slice(startIndex,i2),segment.length===0)return null}if(i2<len&&path8[i2]===".")i2++;return{segment,nextIndex:i2}}function accessProperty(obj,segment){if(typeof segment==="string")return getOwnProperty(obj,segment);if(Array.isArray(obj)&&segment>=0&&segment<obj.length)return obj[segment];return}function resolvePropertyPath(obj,path8){if(obj==null)return;if(path8.length===0||path8.endsWith("."))return;let current=obj,i2=0,len=path8.length;while(i2<len){if(path8.slice(i2,i2+2)==="?."){if(i2+=2,current==null)return}else if(current==null)return;let result=parseNextSegment(path8,i2);if(result===null)return;let{segment,nextIndex}=result;if(i2=nextIndex,current=accessProperty(current,segment),current===void 0)return}return current}function parseMessageTemplate(template,properties){let length=template.length;if(length===0)return[""];if(!template.includes("{"))return[template];let message=[],startIndex=0;for(let i2=0;i2<length;i2++){let char=template[i2];if(char==="{"){if((i2+1<length?template[i2+1]:"")==="{"){i2++;continue}let closeIndex=template.indexOf("}",i2+1);if(closeIndex===-1)continue;let beforeText=template.slice(startIndex,i2);message.push(beforeText.replace(/{{/g,"{").replace(/}}/g,"}"));let key=template.slice(i2+1,closeIndex),prop,trimmedKey=key.trim();if(trimmedKey==="*")prop=key in properties?properties[key]:("*"in properties)?properties["*"]:properties;else{if(key!==trimmedKey)prop=key in properties?properties[key]:properties[trimmedKey];else prop=properties[key];if(prop===void 0&&isNestedAccess(trimmedKey))prop=resolvePropertyPath(properties,trimmedKey)}message.push(prop),i2=closeIndex,startIndex=i2+1}else if(char==="}"&&i2+1<length&&template[i2+1]==="}")i2++}let remainingText=template.slice(startIndex);return message.push(remainingText.replace(/{{/g,"{").replace(/}}/g,"}")),message}function renderMessage(template,values){let args=[];for(let i2=0;i2<template.length;i2++)if(args.push(template[i2]),i2<values.length)args.push(values[i2]);return args}var lazySymbol,throttlingSummaryRecordSymbol,globalRootLoggerSymbol,LoggerImpl=class LoggerImpl2{parent;children;category;sinks;parentSinks="inherit";filters;lowestLevel="trace";contextLocalStorage;static getLogger(category=[]){let rootLogger=globalRootLoggerSymbol in globalThis?globalThis[globalRootLoggerSymbol]??null:null;if(rootLogger==null)rootLogger=new LoggerImpl2(null,[]),globalThis[globalRootLoggerSymbol]=rootLogger;if(typeof category==="string")return rootLogger.getChild(category);if(category.length===0)return rootLogger;return rootLogger.getChild(category)}static getNearestExistingLogger(category){let logger2=LoggerImpl2.getLogger();for(let name of category){let childRef=logger2.children[name],child=childRef instanceof LoggerImpl2?childRef:childRef?.deref();if(child==null)break;logger2=child}return logger2}constructor(parent,category){this.parent=parent,this.children={},this.category=category,this.sinks=[],this.filters=[]}getChild(subcategory){let name=typeof subcategory==="string"?subcategory:subcategory[0],childRef=this.children[name],child=childRef instanceof LoggerImpl2?childRef:childRef?.deref();if(child==null)child=new LoggerImpl2(this,[...this.category,name]),this.children[name]="WeakRef"in globalThis?new WeakRef(child):child;if(typeof subcategory==="string"||subcategory.length===1)return child;return child.getChild(subcategory.slice(1))}reset(){while(this.sinks.length>0)this.sinks.shift();this.parentSinks="inherit";while(this.filters.length>0)this.filters.shift();this.lowestLevel="trace"}resetDescendants(){for(let child of Object.values(this.children)){let logger2=child instanceof LoggerImpl2?child:child.deref();if(logger2!=null)logger2.resetDescendants()}this.reset()}with(properties){return new LoggerCtx(this,{...properties})}filter(record2){for(let filter of this.filters)if(!filter(record2))return!1;if(this.filters.length<1)return this.parent?.filter(record2)??!0;return!0}*getSinks(level){if(this.lowestLevel===null||compareLogLevel(level,this.lowestLevel)<0)return;if(this.parent!=null&&this.parentSinks==="inherit")for(let sink of this.parent.getSinks(level))yield sink;for(let sink of this.sinks)yield sink}isEnabledFor(level){let categoryPrefix=isMetaLoggerCategory(this.category)?[]:getCategoryPrefix();return(categoryPrefix.length>0?LoggerImpl2.getNearestExistingLogger([...categoryPrefix,...this.category]):this).isEnabledForResolved(level)}isEnabledForResolved(level){if(this.lowestLevel===null||compareLogLevel(level,this.lowestLevel)<0)return!1;for(let _ of this.getSinks(level))return!0;return!1}emit(record2,bypassSinks){let baseCategory="category"in record2?record2.category:this.category,categoryPrefix=isMetaLoggerCategory(baseCategory)?[]:getCategoryPrefix(),fullCategory=categoryPrefix.length>0?[...categoryPrefix,...baseCategory]:baseCategory,descriptors2=Object.getOwnPropertyDescriptors(record2);descriptors2.category={value:fullCategory,enumerable:!0,configurable:!0};let fullRecord=Object.defineProperties({},descriptors2);(categoryPrefix.length>0?LoggerImpl2.getNearestExistingLogger(fullCategory):this).emitResolved(fullRecord,bypassSinks)}emitResolved(record2,bypassSinks){if(this.lowestLevel===null||compareLogLevel(record2.level,this.lowestLevel)<0||!this.filter(record2))return;let sinks=[...this.getSinks(record2.level)];if(sinks.length<1)return;let snapshot,snapshotFailed=!1;for(let sink of sinks){if(bypassSinks?.has(sink))continue;try{if(snapshot==null&&!snapshotFailed)try{snapshot=snapshotLogRecordProperties(record2)}catch{snapshotFailed=!0,snapshot=record2}sink(snapshot??record2)}catch(error51){let bypassSinks2=new Set(bypassSinks);bypassSinks2.add(sink),metaLogger.log("fatal","Failed to emit a log record to sink {sink}: {error}",{sink,error:error51,record:record2},bypassSinks2)}}}log(level,rawMessage,properties,bypassSinks){let implicitContext=getImplicitContext(),cachedProps=void 0,cachedMessage=void 0,record2=typeof properties==="function"?{category:this.category,level,timestamp:Date.now(),get message(){if(cachedMessage==null)cachedMessage=parseMessageTemplate(rawMessage,this.properties);return cachedMessage},rawMessage,get properties(){if(cachedProps==null)cachedProps=resolveProperties({...implicitContext,...properties()});return cachedProps}}:{category:this.category,level,timestamp:Date.now(),get message(){if(cachedMessage==null)cachedMessage=parseMessageTemplate(rawMessage,this.properties);return cachedMessage},rawMessage,get properties(){if(cachedProps==null)cachedProps=resolveProperties({...implicitContext,...properties});return cachedProps}};this.emit(record2,bypassSinks)}logLazily(level,callback,properties={}){let implicitContext=getImplicitContext(),rawMessage=void 0,msg=void 0;function realizeMessage(){if(msg==null||rawMessage==null){if(msg=callback((tpl,...values)=>{return rawMessage=tpl,renderMessage(tpl,values)}),rawMessage==null)throw TypeError("No log record was made.")}return[msg,rawMessage]}this.emit({category:this.category,level,get message(){return realizeMessage()[0]},get rawMessage(){return realizeMessage()[1]},timestamp:Date.now(),properties:{...implicitContext,...properties}})}logTemplate(level,messageTemplate,values,properties={}){let implicitContext=getImplicitContext();this.emit({category:this.category,level,message:renderMessage(messageTemplate,values),rawMessage:messageTemplate,timestamp:Date.now(),properties:{...implicitContext,...properties}})}trace(message,...values){if(typeof message==="string")return logStringMessage(this,"trace",message,values[0]);else if(typeof message==="function")this.logLazily("trace",message);else if(!Array.isArray(message))this.log("trace","{*}",message);else this.logTemplate("trace",message,values)}debug(message,...values){if(typeof message==="string")return logStringMessage(this,"debug",message,values[0]);else if(typeof message==="function")this.logLazily("debug",message);else if(!Array.isArray(message))this.log("debug","{*}",message);else this.logTemplate("debug",message,values)}info(message,...values){if(typeof message==="string")return logStringMessage(this,"info",message,values[0]);else if(typeof message==="function")this.logLazily("info",message);else if(!Array.isArray(message))this.log("info","{*}",message);else this.logTemplate("info",message,values)}logError(level,error51,props){if(typeof props!=="function"){this.log(level,"{error.message}",{...props,error:error51});return}if(!this.isEnabledFor(level))return Promise.resolve();let result=props();if(result instanceof Promise)return result.then((resolved)=>{this.log(level,"{error.message}",{...resolved,error:error51})});this.log(level,"{error.message}",{...result,error:error51})}warn(message,...values){if(message instanceof Error)return this.logError("warning",message,values[0]);else if(typeof message==="string"&&values[0]instanceof Error)this.log("warning",message,{error:values[0]});else if(typeof message==="string")return logStringMessage(this,"warning",message,values[0]);else if(typeof message==="function")this.logLazily("warning",message);else if(!Array.isArray(message))this.log("warning","{*}",message);else this.logTemplate("warning",message,values)}warning(message,...values){if(message instanceof Error)return this.logError("warning",message,values[0]);else if(typeof message==="string"&&values[0]instanceof Error)this.log("warning",message,{error:values[0]});else if(typeof message==="string")return logStringMessage(this,"warning",message,values[0]);else if(typeof message==="function")this.logLazily("warning",message);else if(!Array.isArray(message))this.log("warning","{*}",message);else this.logTemplate("warning",message,values)}error(message,...values){if(message instanceof Error)return this.logError("error",message,values[0]);else if(typeof message==="string"&&values[0]instanceof Error)this.log("error",message,{error:values[0]});else if(typeof message==="string")return logStringMessage(this,"error",message,values[0]);else if(typeof message==="function")this.logLazily("error",message);else if(!Array.isArray(message))this.log("error","{*}",message);else this.logTemplate("error",message,values)}fatal(message,...values){if(message instanceof Error)return this.logError("fatal",message,values[0]);else if(typeof message==="string"&&values[0]instanceof Error)this.log("fatal",message,{error:values[0]});else if(typeof message==="string")return logStringMessage(this,"fatal",message,values[0]);else if(typeof message==="function")this.logLazily("fatal",message);else if(!Array.isArray(message))this.log("fatal","{*}",message);else this.logTemplate("fatal",message,values)}},LoggerCtx=class LoggerCtx2{logger;properties;constructor(logger2,properties){this.logger=logger2,this.properties=properties}get category(){return this.logger.category}get parent(){return this.logger.parent}getChild(subcategory){return this.logger.getChild(subcategory).with(this.properties)}with(properties){return new LoggerCtx2(this.logger,{...this.properties,...properties})}log(level,message,properties,bypassSinks){let contextProps=this.properties;this.logger.log(level,message,typeof properties==="function"?()=>resolveProperties({...contextProps,...properties()}):()=>resolveProperties({...contextProps,...properties}),bypassSinks)}logLazily(level,callback){this.logger.logLazily(level,callback,resolveProperties(this.properties))}logTemplate(level,messageTemplate,values){this.logger.logTemplate(level,messageTemplate,values,resolveProperties(this.properties))}emit(record2){let recordWithContext={...record2,properties:resolveProperties({...this.properties,...record2.properties})};this.logger.emit(recordWithContext)}isEnabledFor(level){return this.logger.isEnabledFor(level)}trace(message,...values){if(typeof message==="string")return logStringMessage(this,"trace",message,values[0]);else if(typeof message==="function")this.logLazily("trace",message);else if(!Array.isArray(message))this.log("trace","{*}",message);else this.logTemplate("trace",message,values)}debug(message,...values){if(typeof message==="string")return logStringMessage(this,"debug",message,values[0]);else if(typeof message==="function")this.logLazily("debug",message);else if(!Array.isArray(message))this.log("debug","{*}",message);else this.logTemplate("debug",message,values)}info(message,...values){if(typeof message==="string")return logStringMessage(this,"info",message,values[0]);else if(typeof message==="function")this.logLazily("info",message);else if(!Array.isArray(message))this.log("info","{*}",message);else this.logTemplate("info",message,values)}logError(level,error51,props){if(typeof props!=="function"){this.log(level,"{error.message}",{...props,error:error51});return}if(!this.isEnabledFor(level))return Promise.resolve();let result=props();if(result instanceof Promise)return result.then((resolved)=>{this.log(level,"{error.message}",{...resolved,error:error51})});this.log(level,"{error.message}",{...result,error:error51})}warn(message,...values){if(message instanceof Error)return this.logError("warning",message,values[0]);else if(typeof message==="string"&&values[0]instanceof Error)this.log("warning",message,{error:values[0]});else if(typeof message==="string")return logStringMessage(this,"warning",message,values[0]);else if(typeof message==="function")this.logLazily("warning",message);else if(!Array.isArray(message))this.log("warning","{*}",message);else this.logTemplate("warning",message,values)}warning(message,...values){if(message instanceof Error)return this.logError("warning",message,values[0]);else if(typeof message==="string"&&values[0]instanceof Error)this.log("warning",message,{error:values[0]});else if(typeof message==="string")return logStringMessage(this,"warning",message,values[0]);else if(typeof message==="function")this.logLazily("warning",message);else if(!Array.isArray(message))this.log("warning","{*}",message);else this.logTemplate("warning",message,values)}error(message,...values){if(message instanceof Error)return this.logError("error",message,values[0]);else if(typeof message==="string"&&values[0]instanceof Error)this.log("error",message,{error:values[0]});else if(typeof message==="string")return logStringMessage(this,"error",message,values[0]);else if(typeof message==="function")this.logLazily("error",message);else if(!Array.isArray(message))this.log("error","{*}",message);else this.logTemplate("error",message,values)}fatal(message,...values){if(message instanceof Error)return this.logError("fatal",message,values[0]);else if(typeof message==="string"&&values[0]instanceof Error)this.log("fatal",message,{error:values[0]});else if(typeof message==="string")return logStringMessage(this,"fatal",message,values[0]);else if(typeof message==="function")this.logLazily("fatal",message);else if(!Array.isArray(message))this.log("fatal","{*}",message);else this.logTemplate("fatal",message,values)}},metaLogger;var init_logger2=__esm(()=>{init_context3();init_level();lazySymbol=Symbol.for("logtape.lazy"),throttlingSummaryRecordSymbol=Symbol.for("LogTape.throttlingSummaryRecord");globalRootLoggerSymbol=Symbol.for("logtape.rootLogger");metaLogger=LoggerImpl.getLogger(["logtape","meta"])});var init_mod=__esm(()=>{init_logger2()});class LogTapeLogger{inner;constructor(inner){this.inner=inner}trace(msg,data){if(!muted)this.inner.trace(msg,data??{})}debug(msg,data){if(!muted)this.inner.debug(msg,data??{})}info(msg,data){if(!muted)this.inner.info(msg,data??{})}warn(msg,data){if(!muted)this.inner.warn(msg,data??{})}error(msg,data){if(!muted)this.inner.error(msg,data??{})}fatal(msg,data){if(!muted)this.inner.fatal(msg,data??{})}child(context3){return new LogTapeLogger(this.inner.with(context3))}}function getLogger2(category){return new LogTapeLogger(getLogger([ROOT_CATEGORY,category]))}var ROOT_CATEGORY="app",muted=!1;var init_logger3=__esm(()=>{init_mod()});function getTelemetryConfig(configPartial={}){return{enabled:configPartial.enabled??CONFIG_DEFAULTS.enabled,serviceName:configPartial.serviceName??CONFIG_DEFAULTS.serviceName,environment:configPartial.environment??configPartial.appEnv??CONFIG_DEFAULTS.environment,dbStatementDebug:configPartial.dbStatementDebug??!1}}function getResolvedConfig(){return resolvedConfig}function getTracer(){return import_api.trace.getTracer(TRACER_NAME,TRACER_VERSION)}var import_api,CONFIG_DEFAULTS,TRACER_NAME="@gobing-ai/ts-infra",TRACER_VERSION="0.1.0",resolvedConfig;var init_sdk=__esm(()=>{import_api=__toESM(require_src(),1),CONFIG_DEFAULTS={enabled:!0,serviceName:"ts-libs",environment:"development"};resolvedConfig=getTelemetryConfig()});function isSuppressed(tracer2){return tracer2===void 0&&!getResolvedConfig().enabled}function nonRecordingSpan(){return import_api2.trace.wrapSpanContext(import_api2.INVALID_SPAN_CONTEXT)}async function traceAsync(name,fn,options,tracer2){if(isSuppressed(tracer2))return fn(nonRecordingSpan());return(tracer2??getTracer()).startActiveSpan(name,options??{},async(span)=>{try{return await fn(span)}catch(err){throw span.setStatus({code:2,message:err instanceof Error?err.message:String(err)}),err}finally{span.end()}})}function addSpanEvent(name,attributes){let span=import_api2.trace.getActiveSpan();if(span?.isRecording())span.addEvent(name,attributes)}var import_api2;var init_tracing2=__esm(()=>{init_sdk();import_api2=__toESM(require_src(),1)});function getMeter(){return import_api3.metrics.getMeter(METER_NAME,METER_VERSION)}function noopCounter(){if(!_noopCounter)_noopCounter=import_api3.createNoopMeter().createCounter("noop");return _noopCounter}function getOrCreateCounter(key,name,description,unit="{operation}"){if(!getResolvedConfig().enabled)return noopCounter();if(!instruments[key])instruments[key]=getMeter().createCounter(name,{description,unit});return instruments[key]}function getEventbusEmitsTotal(){return getOrCreateCounter("ebEmit","eventbus.emits.total","Total event bus emits","{emit}")}function getEventbusErrorsTotal(){return getOrCreateCounter("ebErr","eventbus.errors.total","Event bus errors","{error}")}var import_api3,METER_NAME="@gobing-ai/ts-infra",METER_VERSION="0.1.0",instruments,_noopCounter;var init_metrics=__esm(()=>{init_sdk();import_api3=__toESM(require_src(),1);instruments={}});function busLogger(){if(!_busLogger)_busLogger=getLogger2("event-bus");return _busLogger}class EventBus{syncHandlers=new Map;asyncHandlers=new Map;asyncHandlerIds=new Map;asyncHandlersById=new Map;jobQueue;lifecycleBus;logger;nextAsyncHandlerId=0;constructor(opts){this.jobQueue=opts?.jobQueue??null,this.lifecycleBus=opts?.lifecycleBus??null,this.logger=opts?.logger}on(event,handler,opts){if(opts?.async)this.registerAsync(event,handler,opts.name);else this.registerSync(event,handler)}once(event,handler,opts){let wrapped=(...args)=>{this.off(event,wrapped),handler(...args)};this.on(event,wrapped,opts)}off(event,handler){let syncSet=this.syncHandlers.get(event);if(syncSet){if(syncSet.delete(handler),syncSet.size===0)this.syncHandlers.delete(event)}let asyncSet=this.asyncHandlers.get(event);if(asyncSet){if(asyncSet.delete(handler),asyncSet.size===0)this.asyncHandlers.delete(event);this.releaseAsyncIdIfUnsubscribed(handler)}}removeAllListeners(event){if(event!==void 0){this.syncHandlers.delete(event);let asyncSet=this.asyncHandlers.get(event);if(this.asyncHandlers.delete(event),asyncSet)for(let handler of asyncSet)this.releaseAsyncIdIfUnsubscribed(handler)}else this.syncHandlers.clear(),this.asyncHandlers.clear(),this.asyncHandlerIds.clear(),this.asyncHandlersById.clear()}async emit(event,...args){let eventName=String(event),startMs=performance.now(),syncCount=0,asyncCount=0,errors6=0;this.logger?.debug("event.emit",{event:eventName,syncHandlers:this.syncHandlers.get(event)?.size??0,asyncHandlers:this.asyncHandlers.get(event)?.size??0});let syncSet=this.syncHandlers.get(event);if(syncSet){syncCount=syncSet.size;for(let handler of syncSet)try{handler(...args)}catch(error51){errors6++;let message=error51 instanceof Error?error51.message:String(error51);busLogger().error("sync handler threw",{event:eventName,error:message}),this.publishHandlerError(eventName,"sync",message)}}let asyncSet=this.asyncHandlers.get(event);if(asyncSet&&asyncSet.size>0){let handlers=[...asyncSet];asyncCount=handlers.length;for(let handler of handlers){if(this.jobQueue)try{let jobId=await this.jobQueue.enqueue(eventName,{event:eventName,args,handlerId:this.getAsyncHandlerId(handler)});busLogger().debug("async job enqueued",{event:eventName,jobId,handlerCount:1}),this.publishAsyncEnqueued(eventName,jobId,1);continue}catch(error51){errors6++;let message=error51 instanceof Error?error51.message:String(error51);busLogger().error("async enqueue failed",{event:eventName,error:message}),this.publishHandlerError(eventName,"async",message);continue}else busLogger().warn("async handlers registered but no JobQueue injected",{event:eventName});try{await Promise.resolve().then(()=>handler(...args))}catch(error51){errors6++;let message=error51 instanceof Error?error51.message:String(error51);busLogger().error("async handler threw",{event:eventName,error:message}),this.publishHandlerError(eventName,"async",message)}}}let durationMs=performance.now()-startMs,detail=args.length===1?args[0]:args.length>1?args:void 0;if(getEventbusEmitsTotal().add(1,{event:eventName}),errors6>0)getEventbusErrorsTotal().add(errors6,{event:eventName});if(this.publishEmitDone({event:eventName,syncCount,asyncCount,emitDurationMs:durationMs,errors:errors6,detail,severity:errors6>0?"warning":"info"}),syncCount===0&&asyncCount===0)busLogger().debug("emit with zero handlers",{event:eventName}),this.publishEmitNoop(eventName)}listenerCount(event,mode){let sync=mode!=="async"?this.syncHandlers.get(event)?.size??0:0,async=mode!=="sync"?this.asyncHandlers.get(event)?.size??0:0;return sync+async}eventNames(){let names=new Set;for(let key of this.syncHandlers.keys())names.add(String(key));for(let key of this.asyncHandlers.keys())names.add(String(key));return[...names]}registerSync(event,handler){let set2=this.syncHandlers.get(event);if(!set2)set2=new Set,this.syncHandlers.set(event,set2);set2.add(handler)}registerAsync(event,handler,name){let set2=this.asyncHandlers.get(event);if(!set2)set2=new Set,this.asyncHandlers.set(event,set2);if(set2.add(handler),!this.asyncHandlerIds.has(handler)){let id=name??`handler-${++this.nextAsyncHandlerId}`;if(this.asyncHandlersById.has(id))throw Error(`Duplicate async handler name: "${id}"`);this.asyncHandlerIds.set(handler,id),this.asyncHandlersById.set(id,handler)}}getAsyncHandlerId(handler){let existing=this.asyncHandlerIds.get(handler);if(existing)return existing;let id=`handler-${++this.nextAsyncHandlerId}`;return this.asyncHandlerIds.set(handler,id),this.asyncHandlersById.set(id,handler),id}releaseAsyncIdIfUnsubscribed(handler){for(let set2 of this.asyncHandlers.values())if(set2.has(handler))return;let id=this.asyncHandlerIds.get(handler);if(id!==void 0)this.asyncHandlerIds.delete(handler),this.asyncHandlersById.delete(id)}createJobHandler(){return async(job)=>{let{event,args,handlerId}=job.payload,handler=this.asyncHandlersById.get(handlerId);if(!handler)throw Error(`No async handler registered for id "${handlerId}" (event "${event}")`);await handler(...args)}}publishEmitDone(detail){if(this.lifecycleBus)try{this.lifecycleBus.emit("bus.emit.done",detail)}catch{}}publishEmitNoop(event){if(this.lifecycleBus)try{this.lifecycleBus.emit("bus.emit.noop",{event,severity:"info"})}catch{}}publishHandlerError(event,mode,error51){if(this.lifecycleBus){let detail={event,mode,error:error51,severity:"error"};try{this.lifecycleBus.emit("bus.handler.error",detail)}catch{}}}publishAsyncEnqueued(event,jobId,handlerCount){if(this.lifecycleBus){let detail={event,jobId,handlerCount,severity:"info"};try{this.lifecycleBus.emit("bus.handler.async.enqueued",detail)}catch{}}}}var _busLogger;var init_event_bus=__esm(()=>{init_logger3();init_metrics()});var init_event_bus2=__esm(()=>{init_event_bus()});var init_telemetry=__esm(()=>{init_tracing2()});var init_dist7=__esm(()=>{init_event_bus2();init_logger3();init_telemetry()});import{join as join5,resolve as resolve4}from"node:path";var ARTIFACT_ARRAY_CLASSIFICATION={byTool:"ranked",bySession:"ranked",topStepsByTokens:"ranked",topStepsByDuration:"ranked",topSteps:"ranked",bottlenecks:"ranked",coverage:"set",daily:"set",loops:"set",warnings:"set",pairings:"set",ladderSnapshot:"set",stepSupport:"set",phases:"set",tools:"set",skills:"set",sources:"set",models:"set"},RANKED_ARTIFACT_KEYS=new Set(Object.entries(ARTIFACT_ARRAY_CLASSIFICATION).filter(([,kind])=>kind==="ranked").map(([key])=>key));var RESOLVED_TOOL_NAME_SQL=`CASE
|
|
315
|
+
WHEN tc.effective_tool_name IS NOT NULL AND tc.effective_tool_name != '' AND tc.effective_tool_name != 'unknown'
|
|
316
|
+
THEN tc.effective_tool_name
|
|
317
|
+
ELSE CASE
|
|
318
|
+
WHEN tc.tool_name IS NOT NULL AND TRIM(tc.tool_name) != '' AND tc.tool_name != 'unknown'
|
|
319
|
+
THEN TRIM(tc.tool_name)
|
|
320
|
+
WHEN json_valid(tc.args_raw) AND COALESCE(
|
|
321
|
+
NULLIF(TRIM(CAST(json_extract(tc.args_raw, '$.tool') AS TEXT)), ''),
|
|
322
|
+
NULLIF(TRIM(CAST(json_extract(tc.args_raw, '$.tool_name') AS TEXT)), ''),
|
|
323
|
+
NULLIF(TRIM(CAST(json_extract(tc.args_raw, '$.toolName') AS TEXT)), ''),
|
|
324
|
+
NULLIF(TRIM(CAST(json_extract(tc.args_raw, '$.name') AS TEXT)), ''),
|
|
325
|
+
NULLIF(TRIM(CAST(json_extract(tc.args_raw, '$.command') AS TEXT)), ''),
|
|
326
|
+
NULLIF(TRIM(CAST(json_extract(tc.args_raw, '$.cmd') AS TEXT)), ''),
|
|
327
|
+
NULLIF(TRIM(CAST(json_extract(tc.args_raw, '$.action') AS TEXT)), ''),
|
|
328
|
+
NULLIF(TRIM(CAST(json_extract(tc.args_raw, '$.function') AS TEXT)), ''),
|
|
329
|
+
NULLIF(TRIM(CAST(json_extract(tc.args_raw, '$.operation') AS TEXT)), ''),
|
|
330
|
+
NULLIF(TRIM(CAST(json_extract(tc.args_raw, '$.skill') AS TEXT)), ''),
|
|
331
|
+
NULLIF(TRIM(CAST(json_extract(tc.args_raw, '$.skill_name') AS TEXT)), '')
|
|
332
|
+
) IS NOT NULL
|
|
333
|
+
THEN COALESCE(
|
|
334
|
+
NULLIF(TRIM(CAST(json_extract(tc.args_raw, '$.tool') AS TEXT)), ''),
|
|
335
|
+
NULLIF(TRIM(CAST(json_extract(tc.args_raw, '$.tool_name') AS TEXT)), ''),
|
|
336
|
+
NULLIF(TRIM(CAST(json_extract(tc.args_raw, '$.toolName') AS TEXT)), ''),
|
|
337
|
+
NULLIF(TRIM(CAST(json_extract(tc.args_raw, '$.name') AS TEXT)), ''),
|
|
338
|
+
NULLIF(TRIM(CAST(json_extract(tc.args_raw, '$.command') AS TEXT)), ''),
|
|
339
|
+
NULLIF(TRIM(CAST(json_extract(tc.args_raw, '$.cmd') AS TEXT)), ''),
|
|
340
|
+
NULLIF(TRIM(CAST(json_extract(tc.args_raw, '$.action') AS TEXT)), ''),
|
|
341
|
+
NULLIF(TRIM(CAST(json_extract(tc.args_raw, '$.function') AS TEXT)), ''),
|
|
342
|
+
NULLIF(TRIM(CAST(json_extract(tc.args_raw, '$.operation') AS TEXT)), ''),
|
|
343
|
+
NULLIF(TRIM(CAST(json_extract(tc.args_raw, '$.skill') AS TEXT)), ''),
|
|
344
|
+
NULLIF(TRIM(CAST(json_extract(tc.args_raw, '$.skill_name') AS TEXT)), '')
|
|
345
|
+
)
|
|
346
|
+
WHEN tc.call_id IS NOT NULL AND (
|
|
347
|
+
tc.call_id LIKE 'call_bash_%' OR tc.call_id LIKE 'bash_%' OR tc.call_id LIKE 'exec_%'
|
|
348
|
+
) THEN 'bash'
|
|
349
|
+
WHEN tc.call_id IS NOT NULL AND (
|
|
350
|
+
tc.call_id LIKE 'call_read_%' OR tc.call_id LIKE 'read_%'
|
|
351
|
+
) THEN 'read'
|
|
352
|
+
WHEN tc.call_id IS NOT NULL AND (
|
|
353
|
+
tc.call_id LIKE 'call_edit_%' OR tc.call_id LIKE 'edit_%'
|
|
354
|
+
) THEN 'edit'
|
|
355
|
+
WHEN tc.call_id IS NOT NULL AND (
|
|
356
|
+
tc.call_id LIKE 'call_search_%' OR tc.call_id LIKE 'search_%' OR tc.call_id LIKE 'web_search_%'
|
|
357
|
+
) THEN 'search'
|
|
358
|
+
ELSE 'unknown'
|
|
359
|
+
END
|
|
360
|
+
END`;var ALIASED_TOOL_NAME_SQL=`CASE
|
|
361
|
+
WHEN tc.tool_name_alias IS NOT NULL AND tc.tool_name_alias != '' AND tc.tool_name_alias != 'unknown'
|
|
362
|
+
THEN tc.tool_name_alias
|
|
363
|
+
ELSE ${RESOLVED_TOOL_NAME_SQL}
|
|
364
|
+
END`;var HISTORY_SKILL_NAME_SQL=`CASE
|
|
365
|
+
WHEN LOWER(${RESOLVED_TOOL_NAME_SQL}) IN ('skill', 'use_skill', 'invoke_skill', 'slashcommand', 'slash_command', 'run_skill', 'call_skill', 'execute_skill') AND json_valid(tc.args_raw)
|
|
366
|
+
THEN COALESCE(
|
|
367
|
+
CAST(json_extract(tc.args_raw, '$.skill') AS TEXT),
|
|
368
|
+
CAST(json_extract(tc.args_raw, '$.skill_name') AS TEXT),
|
|
369
|
+
CAST(json_extract(tc.args_raw, '$.skillName') AS TEXT),
|
|
370
|
+
CAST(json_extract(tc.args_raw, '$.name') AS TEXT),
|
|
371
|
+
CAST(json_extract(tc.args_raw, '$.command') AS TEXT),
|
|
372
|
+
CAST(json_extract(tc.args_raw, '$.command_name') AS TEXT),
|
|
373
|
+
CAST(json_extract(tc.args_raw, '$') AS TEXT),
|
|
374
|
+
''
|
|
375
|
+
)
|
|
376
|
+
ELSE ''
|
|
377
|
+
END`;var MEASURE_COLS="messages, tool_calls, skill_calls, fresh_input_tokens, cache_read_tokens, cache_write_tokens, output_tokens, duration_ms, duration_samples",MART_INSERT_COLS=`${MEASURE_COLS}, errors`;var BUCKETED_ROLLUP_TABLES=["history_board_message_5m","history_board_tool_5m","history_board_skill_5m","history_daily_stats","history_board_source_daily"],KEYED_ROLLUP_TABLES=["history_board_session_stats","history_board_model_stats","history_board_tool_stats","history_board_source_stats"],GLOBAL_RANKED_ROLLUP_TABLES=["history_board_loop_findings","history_board_ranked_steps"],ALL_ROLLUP_TABLES=[...BUCKETED_ROLLUP_TABLES,...KEYED_ROLLUP_TABLES,...GLOBAL_RANKED_ROLLUP_TABLES];var SKILL_NAME_SQL=`CASE
|
|
378
|
+
WHEN LOWER(${RESOLVED_TOOL_NAME_SQL}) IN ('skill', 'use_skill', 'invoke_skill', 'slashcommand', 'slash_command', 'run_skill', 'call_skill', 'execute_skill') AND json_valid(tc.args_raw)
|
|
379
|
+
THEN COALESCE(
|
|
380
|
+
CAST(json_extract(tc.args_raw, '$.skill') AS TEXT),
|
|
381
|
+
CAST(json_extract(tc.args_raw, '$.skill_name') AS TEXT),
|
|
382
|
+
CAST(json_extract(tc.args_raw, '$.skillName') AS TEXT),
|
|
383
|
+
CAST(json_extract(tc.args_raw, '$.name') AS TEXT),
|
|
384
|
+
CAST(json_extract(tc.args_raw, '$.command') AS TEXT),
|
|
385
|
+
CAST(json_extract(tc.args_raw, '$.command_name') AS TEXT),
|
|
386
|
+
CAST(json_extract(tc.args_raw, '$') AS TEXT),
|
|
387
|
+
''
|
|
388
|
+
)
|
|
389
|
+
ELSE ''
|
|
390
|
+
END`;var POST_WATERMARK_TABLES=[...KEYED_ROLLUP_TABLES,...GLOBAL_RANKED_ROLLUP_TABLES,"history_daily_stats","history_board_source_daily"];var HISTORY_IMPORT_SCHEMA_VERSION="0.5.5",HISTORY_IMPORT_SCHEMA_SQL=`
|
|
391
|
+
CREATE TABLE IF NOT EXISTS history_import_checkpoint (
|
|
392
|
+
source TEXT NOT NULL,
|
|
393
|
+
source_file TEXT NOT NULL,
|
|
394
|
+
last_imported_line INTEGER NOT NULL DEFAULT 0,
|
|
395
|
+
-- File identity (0675 R1): nullable so pre-migration rows self-heal on first read.
|
|
396
|
+
source_size INTEGER,
|
|
397
|
+
source_mtime_ms REAL,
|
|
398
|
+
updated_at TEXT NOT NULL,
|
|
399
|
+
PRIMARY KEY (source, source_file)
|
|
400
|
+
);
|
|
401
|
+
|
|
402
|
+
CREATE TABLE IF NOT EXISTS history_import_ledger (
|
|
403
|
+
record_hash TEXT PRIMARY KEY,
|
|
404
|
+
source TEXT NOT NULL,
|
|
405
|
+
source_file TEXT NOT NULL,
|
|
406
|
+
source_line INTEGER NOT NULL,
|
|
407
|
+
split_index INTEGER NOT NULL,
|
|
408
|
+
target_table TEXT NOT NULL,
|
|
409
|
+
imported_at TEXT NOT NULL
|
|
410
|
+
);
|
|
411
|
+
|
|
412
|
+
CREATE TABLE IF NOT EXISTS history_message (
|
|
413
|
+
record_hash TEXT PRIMARY KEY,
|
|
414
|
+
source TEXT NOT NULL,
|
|
415
|
+
source_file TEXT NOT NULL,
|
|
416
|
+
source_line INTEGER NOT NULL,
|
|
417
|
+
session_id TEXT NOT NULL,
|
|
418
|
+
seq INTEGER NOT NULL,
|
|
419
|
+
turn_index INTEGER,
|
|
420
|
+
role TEXT NOT NULL,
|
|
421
|
+
record_type TEXT NOT NULL,
|
|
422
|
+
disposition TEXT NOT NULL,
|
|
423
|
+
ts TEXT,
|
|
424
|
+
duration_ms INTEGER,
|
|
425
|
+
duration_source TEXT,
|
|
426
|
+
model TEXT,
|
|
427
|
+
input_tokens INTEGER,
|
|
428
|
+
output_tokens INTEGER,
|
|
429
|
+
cache_read_tokens INTEGER,
|
|
430
|
+
cache_write_tokens INTEGER,
|
|
431
|
+
cost_usd REAL,
|
|
432
|
+
content_text TEXT,
|
|
433
|
+
cwd TEXT,
|
|
434
|
+
provenance TEXT NOT NULL,
|
|
435
|
+
run_id TEXT,
|
|
436
|
+
task_wbs TEXT,
|
|
437
|
+
request_id TEXT,
|
|
438
|
+
imported_at TEXT NOT NULL
|
|
439
|
+
);
|
|
440
|
+
|
|
441
|
+
CREATE TABLE IF NOT EXISTS history_tool_call (
|
|
442
|
+
record_hash TEXT PRIMARY KEY,
|
|
443
|
+
message_hash TEXT NOT NULL,
|
|
444
|
+
source TEXT NOT NULL,
|
|
445
|
+
source_file TEXT NOT NULL,
|
|
446
|
+
source_line INTEGER NOT NULL,
|
|
447
|
+
session_id TEXT NOT NULL,
|
|
448
|
+
seq INTEGER NOT NULL,
|
|
449
|
+
tool_name TEXT NOT NULL,
|
|
450
|
+
call_id TEXT,
|
|
451
|
+
args_digest TEXT,
|
|
452
|
+
args_raw TEXT,
|
|
453
|
+
status TEXT NOT NULL,
|
|
454
|
+
started_at TEXT,
|
|
455
|
+
completed_at TEXT,
|
|
456
|
+
duration_ms INTEGER,
|
|
457
|
+
result_bytes INTEGER,
|
|
458
|
+
error_text TEXT,
|
|
459
|
+
imported_at TEXT NOT NULL,
|
|
460
|
+
-- Tool identity (0739). Appended last so a database that gained these columns
|
|
461
|
+
-- via Spur's guarded ALTER converges on the same PRAGMA column order as a
|
|
462
|
+
-- database created fresh from this DDL. 'unknown' is the unresolved sentinel
|
|
463
|
+
-- every consumer already falls back from.
|
|
464
|
+
effective_tool_name TEXT NOT NULL DEFAULT 'unknown',
|
|
465
|
+
tool_name_alias TEXT NOT NULL DEFAULT 'unknown'
|
|
466
|
+
);
|
|
467
|
+
|
|
468
|
+
CREATE INDEX IF NOT EXISTS idx_history_message_session
|
|
469
|
+
ON history_message(source, session_id, seq);
|
|
470
|
+
CREATE INDEX IF NOT EXISTS idx_history_message_ts
|
|
471
|
+
ON history_message(ts);
|
|
472
|
+
CREATE INDEX IF NOT EXISTS idx_history_tool_call_session
|
|
473
|
+
ON history_tool_call(source, session_id, seq);
|
|
474
|
+
CREATE INDEX IF NOT EXISTS idx_history_tool_call_tool_name
|
|
475
|
+
ON history_tool_call(tool_name);
|
|
476
|
+
CREATE INDEX IF NOT EXISTS idx_history_tool_call_message_hash
|
|
477
|
+
ON history_tool_call(message_hash);
|
|
478
|
+
|
|
479
|
+
CREATE TABLE IF NOT EXISTS history_skill_call (
|
|
480
|
+
record_hash TEXT PRIMARY KEY,
|
|
481
|
+
message_hash TEXT NOT NULL,
|
|
482
|
+
source TEXT NOT NULL,
|
|
483
|
+
source_file TEXT NOT NULL,
|
|
484
|
+
source_line INTEGER NOT NULL,
|
|
485
|
+
session_id TEXT NOT NULL,
|
|
486
|
+
seq INTEGER NOT NULL,
|
|
487
|
+
skill_name TEXT NOT NULL,
|
|
488
|
+
invocation_kind TEXT NOT NULL CHECK (invocation_kind IN ('user', 'model')),
|
|
489
|
+
skill_path TEXT,
|
|
490
|
+
args_raw TEXT,
|
|
491
|
+
args_digest TEXT,
|
|
492
|
+
call_id TEXT,
|
|
493
|
+
status TEXT,
|
|
494
|
+
started_at TEXT,
|
|
495
|
+
completed_at TEXT,
|
|
496
|
+
duration_ms REAL,
|
|
497
|
+
imported_at TEXT NOT NULL
|
|
498
|
+
);
|
|
499
|
+
CREATE INDEX IF NOT EXISTS idx_history_skill_call_session
|
|
500
|
+
ON history_skill_call(source, session_id, seq);
|
|
501
|
+
CREATE INDEX IF NOT EXISTS idx_history_skill_call_skill_name
|
|
502
|
+
ON history_skill_call(skill_name);
|
|
503
|
+
CREATE INDEX IF NOT EXISTS idx_history_skill_call_message_hash
|
|
504
|
+
ON history_skill_call(message_hash);
|
|
505
|
+
CREATE INDEX IF NOT EXISTS idx_history_skill_call_invocation_kind
|
|
506
|
+
ON history_skill_call(invocation_kind);
|
|
507
|
+
`.trim();init_zod();init_zod();import{createHash}from"node:crypto";function stableJson(value){if(Array.isArray(value))return`[${value.map((entry)=>entry===void 0?"null":stableJson(entry)).join(",")}]`;if(value!==null&&typeof value==="object"){let record2=value;return`{${Object.keys(record2).filter((key)=>record2[key]!==void 0).sort().map((key)=>`${JSON.stringify(key)}:${stableJson(record2[key])}`).join(",")}}`}return JSON.stringify(value)??"null"}function sha256(value){return createHash("sha256").update(stableJson(value)).digest("hex")}var MESSAGE_MAPPER_KEYS=["_codexUsageCarrier","session_id","seq","turn_index","role","record_type","disposition","ts","duration_ms","model","input_tokens","output_tokens","cache_read_tokens","cache_write_tokens","cost_usd","content_text","cwd","provenance","run_id","task_wbs","request_id"],TOOL_CALL_MAPPER_KEYS=["_messageSplitIndex","session_id","seq","tool_name","call_id","args_digest","args_raw","status","started_at","completed_at","duration_ms","result_bytes","error_text"],SKILL_CALL_MAPPER_KEYS=["_messageSplitIndex","session_id","seq","skill_name","invocation_kind","skill_path","args_raw","args_digest","call_id","status","started_at","completed_at","duration_ms"];function identityFieldMap(keys){let map2={};for(let key of keys)map2[key]=key;return map2}var HARNESS_SKILL_PACKAGES=new Set(["sp","rd3"]);function canonicalizeSkillName(raw){let name=raw.trim();if(name.startsWith("/")||name.startsWith("$"))name=name.slice(1);if(name.startsWith("skill:"))name=name.slice(6);let canonical=name.match(/^([a-z][a-z0-9]*):([a-z0-9-]+)$/);if(canonical!==null&&HARNESS_SKILL_PACKAGES.has(canonical[1]??""))return name;let dialect=name.match(/^([a-z][a-z0-9]*)-([a-z0-9-]+)$/);if(dialect!==null&&HARNESS_SKILL_PACKAGES.has(dialect[1]??""))return`${dialect[1]}:${dialect[2]}`;return name}function extractSkillCalls(raw,context,identity){switch(context?.source){case"claude":return detectClaudeSkillCalls(raw,identity);case"pi":return detectPiSkillCalls(raw,identity);case"omp":return detectOmpSkillCalls(raw,identity);case"codex":return detectCodexSkillCalls(raw,identity);case"agy":return detectAgySkillCalls(raw,identity);case"gemini":return detectGeminiSkillCalls(raw,identity);case"grok":return detectGrokSkillCalls(raw,identity);default:return[]}}function skillCallEntry(record2){return{targetTable:"history_skill_call",record:record2}}function skillRecord(identity,skillName,invocationKind,extra={}){return{_messageSplitIndex:identity.messageSplitIndex,session_id:identity.sessionId,seq:identity.seq,skill_name:canonicalizeSkillName(skillName),invocation_kind:invocationKind,skill_path:null,args_raw:null,args_digest:null,call_id:null,status:"ok",started_at:null,completed_at:null,duration_ms:null,...extra}}function skillNameFromPath(path){let normalized=path.replace(/\\/g,"/"),bySkillsSegment=normalized.match(/\/skills\/([^/]+)\/SKILL\.md$/i);if(bySkillsSegment!==null)return bySkillsSegment[1]??"";let stem=normalized.slice(0,normalized.length-9);return stem.split("/").pop()??stem}function detectClaudeSkillCalls(raw,identity){let contentBlocks=raw.content??o(raw.message).content;if(!Array.isArray(contentBlocks))return[];let rows=[];for(let block of contentBlocks){if(typeof block!=="object"||block===null)continue;let b=block;if(b.type!=="tool_use"||b.name!=="Skill")continue;let input=b.input??{},skill=s(input.skill);if(skill===void 0)continue;rows.push(skillRecord(identity,skill,s(o(b.caller).type)==="direct"?"user":"model",{args_raw:maybeArgsRaw("claude","Skill",input)??null,args_digest:argsDigest(input),call_id:s(b.id)??null}))}return rows}var PI_SKILL_WRAPPER=/<skill\s+name="([^"]+)"(?:\s+location="([^"]*)")?\s*>/g;function detectPiSkillCalls(raw,identity){let msg=raw.message;if(piRole(msg?.role??raw.role??raw.recordType??raw.type)!=="user")return[];let text=extractContentText(msg?.content??raw.content);if(text===void 0)return[];let rows=[];for(let match of text.matchAll(PI_SKILL_WRAPPER))rows.push(skillRecord(identity,match[1]??"","user",{skill_path:match[2]||null}));return rows}function detectOmpSkillCalls(raw,identity){let msg=raw.message;if(mapRole(msg?.role??raw.type??raw.role)!=="assistant")return[];let contentBlocks=msg?.content??raw.content;if(!Array.isArray(contentBlocks))return[];let rows=[];for(let block of contentBlocks){let call=normalizeOmpToolCall(block);if(call===null||call.name!=="Skill")continue;let input=call.input??call.arguments,skill=s(input?.skill);if(skill===void 0)continue;rows.push(skillRecord(identity,skill,"model",{args_raw:maybeArgsRaw("omp","Skill",input)??null,args_digest:argsDigest(input),call_id:s(call.id)??null}))}return rows}var CODEX_SKILL_BLOCK=/<skill>\s*<name>([^<]+)<\/name>\s*<path>([^<]+)<\/path>\s*<\/skill>/g;function detectCodexSkillCalls(raw,identity){let payload=raw.payload??raw,recordType=String(raw.type??""),payloadType=String(payload.type??""),role;if(recordType==="response_item")role=payloadType==="message"?mapRole(payload.role):payloadType==="agent_message"?"assistant":"meta";else if(recordType==="user"||recordType==="assistant")role=mapRole(recordType);else if(recordType==="message")role=mapRole(raw.role??payload.role);else return[];if(role!=="user")return[];let text=extractContentText(payload.content??raw.content)??s(payload.text,raw.text);if(text===void 0)return[];let rows=[];for(let match of text.matchAll(CODEX_SKILL_BLOCK))rows.push(skillRecord(identity,match[1]??"","user",{skill_path:match[2]??null}));return rows}function detectAgySkillCalls(raw,identity){if(String(raw.type??"")!=="PLANNER_RESPONSE"||!Array.isArray(raw.tool_calls))return[];let rows=[];for(let tc of raw.tool_calls){if(s(tc.name,tc.tool_name)!=="view_file")continue;let args=tc.args??tc.arguments??{};if(args.toolAction!=="Viewing skill file")continue;let path=s(args.AbsolutePath,args.absolute_path);if(path===void 0||!path.replace(/\\/g,"/").endsWith("/SKILL.md"))continue;let skillName=s(args.toolSummary)?.match(/SKILL\.md for (.+)$/)?.[1]??skillNameFromPath(path);rows.push(skillRecord(identity,skillName,"model",{skill_path:path,args_raw:maybeArgsRaw("agy","view_file",args)??null,args_digest:argsDigest(args)}))}return rows}var GEMINI_L0_PREFIX=/^\s*\/((?:sp|rd3)-[a-z0-9-]+)/;function detectGeminiSkillCalls(raw,identity){if(String(raw.type??"")!=="user")return[];let content=geminiContent(raw);if(content===null)return[];let match=content.match(GEMINI_L0_PREFIX);if(match===null)return[];return[skillRecord(identity,match[1]??"","user")]}function detectGrokSkillCalls(raw,identity){let n=normalizeGrokRecord(raw);if(n.recordType!=="tool_call"||n.toolName!=="read_file")return[];let meta3=n.body._meta??raw._meta??{};if(o(meta3["x.ai/tool"]).namespace!=="grok_build")return[];let targetFile=s(o(n.toolArgs).target_file);if(targetFile===void 0||!targetFile.replace(/\\/g,"/").endsWith("/SKILL.md"))return[];return[skillRecord(identity,skillNameFromPath(targetFile),"model",{skill_path:targetFile,args_raw:maybeArgsRaw("grok","read_file",n.toolArgs)??null,args_digest:argsDigest(n.toolArgs),started_at:n.ts??null})]}function argsDigest(args){let redacted=redactArgs(args);return sha256(redacted)}function redactArgs(args){if(typeof args==="string"){if(args.length>80)return"[REDACTED:long]";if(/[A-Za-z0-9+/]{40,}=*|[A-Za-z0-9_-]{20,}/.test(args))return"[REDACTED:secret]";return args}if(Array.isArray(args))return args.map(redactArgs);if(args!==null&&typeof args==="object"){let result={};for(let[key,value]of Object.entries(args))result[key]=redactArgs(value);return result}return args}var BASH_COMMAND_MAX_CHARS=8192,GENERIC_ARGS_MAX_CHARS=8192;function bashCommandOf(args){if(args===null||typeof args!=="object")return;let rec=args,command=rec.command??rec.CommandLine??rec.cmd??rec.script;if(typeof command==="string")return command;if(Array.isArray(command))return command.map(String).join(" ");return}var BULKY_PAYLOAD_KEYS=new Set(["content","codecontent","replacementcontent","targetcontent","filedata","buffer","blob","image","imagebase64"]);function normalizeKey(key){return key.toLowerCase().replace(/[^a-z0-9]/g,"")}function isShellTool(toolName){return/^(?:bash|shell|cmd|command|exec|execcommand|executecommand|runcommand|shellcommand|runshellcommand)$/.test(normalizeKey(toolName))}function sanitizeValue(value){if(typeof value==="string")return value.length>1000?`${value.slice(0,1000)}[truncated ${value.length} chars]`:value;if(Array.isArray(value))return value.map(sanitizeValue);if(value!==null&&typeof value==="object"){let out={};for(let[key,entry]of Object.entries(value))out[key]=typeof entry==="string"&&entry.length>120&&BULKY_PAYLOAD_KEYS.has(normalizeKey(key))?`[omitted ${entry.length} chars]`:sanitizeValue(entry);return out}return value}function serializeBounded(value){let serialized=JSON.stringify(sanitizeValue(value));if(serialized.length<=GENERIC_ARGS_MAX_CHARS)return serialized;let preview=serialized;for(;;){let wrapper=JSON.stringify({_truncated:!0,omittedChars:serialized.length-preview.length,preview});if(wrapper.length<=GENERIC_ARGS_MAX_CHARS)return wrapper;preview=preview.slice(0,preview.length-(wrapper.length-GENERIC_ARGS_MAX_CHARS))}}function maybeArgsRaw(_source,toolName,args){if(args===void 0||args===null)return;let value=args;if(typeof args==="string")try{value=JSON.parse(args)}catch{return args.length>BASH_COMMAND_MAX_CHARS?args.slice(0,BASH_COMMAND_MAX_CHARS):args}if(value!==null&&typeof value==="object"){let cmd=bashCommandOf(value);if(cmd!==void 0&&isShellTool(toolName))return cmd.length>BASH_COMMAND_MAX_CHARS?cmd.slice(0,BASH_COMMAND_MAX_CHARS):cmd;return serializeBounded(value)}return JSON.stringify(value)}function claudeSplit(raw,context){let entries=[],sessionId=s(raw.sessionId,raw.conversation_uuid)??"unknown",seq=typeof raw.seq==="number"?raw.seq:typeof raw.messageIndex==="number"?raw.messageIndex:0,ts=timestampOf(raw.ts,raw.timestamp,raw.createdAt),role=mapRole(raw.type??raw.role),recordType=String(raw.type??""),model=s(raw.model,o(raw.message).model),cwd=s(raw.cwd,raw.dir);if(raw.subtype==="turn_duration"&&typeof raw.durationMs==="number")return entries.push({targetTable:"history_message",record:{session_id:sessionId,seq,role:"system",record_type:"turn_duration",disposition:"meta",ts,duration_ms:raw.durationMs,content_text:null,provenance:"ambient"}}),entries;if(recordType==="attachment"||recordType.startsWith("file-history"))return entries.push({targetTable:"history_message",record:{session_id:sessionId,seq,role:"meta",record_type:recordType,disposition:"meta",ts,provenance:"ambient"}}),entries;let usage=typeof raw.usage==="object"&&raw.usage!==null?raw.usage:o(raw.message).usage,inputTokens=raw.inputTokens??usage?.input_tokens,outputTokens=raw.outputTokens??usage?.output_tokens,cacheRead=usage?.cacheReadTokens??usage?.cache_read_tokens??usage?.cache_read_input_tokens,cacheWrite=usage?.cacheWriteTokens??usage?.cache_write_tokens??usage?.cache_creation_input_tokens,costUsd=computeCost(inputTokens,outputTokens,model),contentBlocks=raw.content??o(raw.message).content,contentText=extractContentText(contentBlocks),messageSplitIndex=entries.length;if(entries.push({targetTable:"history_message",record:{session_id:sessionId,seq,turn_index:typeof raw.turnIndex==="number"?raw.turnIndex:void 0,role,record_type:recordType,disposition:"keep",ts,duration_ms:void 0,model:model??null,input_tokens:inputTokens??null,output_tokens:outputTokens??null,cache_read_tokens:cacheRead??null,cache_write_tokens:cacheWrite??null,cost_usd:costUsd??null,content_text:contentText??null,cwd:cwd??null,provenance:"ambient",request_id:s(raw.requestId)??null}}),Array.isArray(contentBlocks)&&role==="assistant")for(let block of contentBlocks){if(typeof block!=="object"||block===null)continue;let b=block;if(b.type==="tool_use")entries.push({targetTable:"history_tool_call",record:{_messageSplitIndex:messageSplitIndex,session_id:sessionId,seq,call_id:s(b.id),tool_name:String(b.name??""),args_digest:argsDigest(b.input),args_raw:maybeArgsRaw("claude",String(b.name??""),b.input),status:"ok",started_at:void 0,completed_at:void 0,duration_ms:void 0,result_bytes:void 0,error_text:void 0}})}for(let record2 of extractSkillCalls(raw,context,{sessionId,seq,messageSplitIndex}))entries.push(skillCallEntry(record2));return entries}function piSplit(raw,context){let msg=raw.message,recordType=String(raw.type??raw.recordType??""),sessionId=sessionIdFromContext(context,raw),seq=context?.sourceLine??(typeof raw.seq==="number"?raw.seq:0),ts=timestampOf(raw.timestamp,raw.createdAt,raw.ts);if(recordType==="title"||recordType==="title_change"||recordType==="service_tier_change"||recordType==="session_info"||recordType==="ttsr_injection"||recordType==="session_init"||recordType==="session"||recordType==="model_change"||recordType==="thinking_level_change"||recordType==="compaction"||recordType==="custom"||recordType==="custom_message"||recordType.startsWith("custom."))return[{targetTable:"history_message",record:{session_id:sessionId,seq,role:"meta",record_type:recordType,disposition:"meta",ts,provenance:"ambient"}}];let entries=[],role=piRole(msg?.role??raw.role??recordType),model=s(raw.model,o(msg).model),cwd=s(raw.cwd,raw.dir),usage=msg?.usage??raw.usage,inputTokens=usage?.input??usage?.input_tokens??void 0,outputTokens=usage?.output??usage?.output_tokens??void 0,cacheRead=usage?.cacheRead??usage?.cache_read_tokens??void 0,cacheWrite=usage?.cacheWrite??usage?.cache_write_tokens??void 0,costObj=msg?.cost??raw.cost,costUsd=typeof costObj?.total==="number"?costObj.total:computeCost(inputTokens,outputTokens,model),contentBlocks=msg?.content??raw.content,durationMs=typeof msg?.duration==="number"&&Number.isFinite(msg.duration)?msg.duration:void 0,messageSplitIndex=entries.length;if(entries.push({targetTable:"history_message",record:{session_id:sessionId,seq,role,record_type:recordType,disposition:"keep",ts,duration_ms:durationMs,model:model??null,input_tokens:inputTokens??null,output_tokens:outputTokens??null,cache_read_tokens:cacheRead??null,cache_write_tokens:cacheWrite??null,cost_usd:costUsd??null,content_text:extractContentText(contentBlocks)??s(raw.content,raw.text,msg?.content)??null,cwd:cwd??null,provenance:"ambient"}}),Array.isArray(contentBlocks)&&role==="assistant")for(let block of contentBlocks){let call=normalizeOmpToolCall(block);if(call===null)continue;entries.push({targetTable:"history_tool_call",record:{_messageSplitIndex:messageSplitIndex,session_id:sessionId,seq,tool_name:String(call.name??""),call_id:s(call.id),args_digest:argsDigest(call.input??call.arguments),args_raw:maybeArgsRaw("pi",String(call.name??""),call.input??call.arguments),status:"ok",started_at:void 0,completed_at:void 0,duration_ms:void 0,result_bytes:void 0,error_text:void 0}})}for(let record2 of extractSkillCalls(raw,context,{sessionId,seq,messageSplitIndex}))entries.push(skillCallEntry(record2));return entries}function piRole(type){let t=String(type??"").toLowerCase();if(t==="toolresult"||t==="tool_result"||t==="bashexecution"||t==="tool")return"user";let mapped=mapRole(t);if(mapped==="user"||mapped==="assistant"||mapped==="system")return mapped;return"unknown"}function ompSplit(raw,context){let msg=raw.message,recordType=String(raw.type??""),sessionId=sessionIdFromContext(context,raw),seq=context?.sourceLine??(typeof raw.seq==="number"?raw.seq:0),ts=timestampOf(raw.ts,raw.timestamp,raw.createdAt);if(recordType==="title"||recordType==="title_change"||recordType==="service_tier_change"||recordType==="ttsr_injection"||recordType==="session_init"||recordType==="session"||recordType==="model_change"||recordType==="thinking_level_change"||recordType==="compaction"||recordType==="custom"||recordType==="custom_message"||recordType.startsWith("custom."))return[{targetTable:"history_message",record:{session_id:sessionId,seq,role:"meta",record_type:recordType,disposition:"meta",ts,provenance:"ambient"}}];let entries=[],role=mapRole(msg?.role??raw.type??raw.role),model=s(raw.model,o(msg).model),cwd=s(raw.cwd,raw.dir),usage=msg?.usage??raw.usage,inputTokens=usage?.input??usage?.input_tokens??void 0,outputTokens=usage?.output??usage?.output_tokens??void 0,cacheRead=usage?.cacheRead??usage?.cache_read_tokens??void 0,cacheWrite=usage?.cacheWrite??usage?.cache_write_tokens??void 0,costObj=msg?.cost??raw.cost,costUsd=typeof costObj?.total==="number"?costObj.total:computeCost(inputTokens,outputTokens,model),contentBlocks=msg?.content??raw.content,durationMs=typeof msg?.duration==="number"&&Number.isFinite(msg.duration)?msg.duration:void 0,messageSplitIndex=entries.length;if(entries.push({targetTable:"history_message",record:{session_id:sessionId,seq,role,record_type:recordType,disposition:"keep",ts,duration_ms:durationMs,model:model??null,input_tokens:inputTokens??null,output_tokens:outputTokens??null,cache_read_tokens:cacheRead??null,cache_write_tokens:cacheWrite??null,cost_usd:costUsd??null,content_text:extractContentText(contentBlocks)??s(raw.content,raw.text,msg?.content)??null,cwd:cwd??null,provenance:"ambient"}}),Array.isArray(contentBlocks)&&role==="assistant")for(let block of contentBlocks){let call=normalizeOmpToolCall(block);if(call===null)continue;entries.push({targetTable:"history_tool_call",record:{_messageSplitIndex:messageSplitIndex,session_id:sessionId,seq,tool_name:String(call.name??""),call_id:s(call.id),args_digest:argsDigest(call.input??call.arguments),args_raw:maybeArgsRaw("omp",String(call.name??""),call.input??call.arguments),status:"ok",started_at:void 0,completed_at:void 0,duration_ms:void 0,result_bytes:void 0,error_text:void 0}})}for(let record2 of extractSkillCalls(raw,context,{sessionId,seq,messageSplitIndex}))entries.push(skillCallEntry(record2));return entries}function normalizeOmpToolCall(block){if(typeof block!=="object"||block===null)return null;let nested=o(block.toolCall);if(Object.keys(nested).length>0)return nested;if(block.type==="toolCall")return block;return null}function codexSplit(raw,context){let entries=[],payload=raw.payload??raw,seq=typeof raw.seq==="number"?raw.seq:0,ts=timestampOf(raw.timestamp,raw.ts,payload.ts),recordType=String(raw.type??""),payloadType=String(payload.type??""),isShortFormat=recordType===""&&raw.id!==void 0&&raw.timestamp!==void 0&&raw.instructions!==void 0,explicitSessionId=s(raw.session_id,o(raw.session_meta).id);if(explicitSessionId===void 0&&recordType==="session_meta")explicitSessionId=s(payload.id,o(raw.payload).id);if(explicitSessionId===void 0&&isShortFormat)explicitSessionId=s(raw.id);let pathSessionId=context?.sourceFile?sessionIdFromSourcePath("codex",context.sourceFile):void 0,sessionId=explicitSessionId??pathSessionId??"unknown";if(isShortFormat)return[{targetTable:"history_message",record:{session_id:sessionId,seq,role:"meta",record_type:"short_format",disposition:"meta",ts,provenance:"ambient"}}];let role,disposition,contentText,usage;if(recordType==="response_item")if(payloadType==="message")role=mapRole(payload.role),disposition="keep",contentText=extractContentText(payload.content)??s(payload.text)??null;else if(payloadType==="agent_message")role="assistant",disposition="keep",contentText=extractContentText(payload.content)??s(payload.text,payload.message)??null;else if(payloadType==="reasoning")role="assistant",disposition="keep",contentText=extractContentText(payload.summary)??s(payload.text)??null;else if(payloadType==="function_call"||payloadType==="custom_tool_call")role="tool",disposition="keep",contentText=null;else role="meta",disposition="meta",contentText=s(payload.text)??null;else if(recordType==="user"||recordType==="assistant")role=mapRole(recordType),disposition="keep",contentText=extractContentText(payload.content)??s(raw.content,payload.text)??null;else if(recordType==="message")role=mapRole(raw.role??payload.role),disposition="keep",contentText=extractContentText(payload.content??raw.content)??s(payload.text,raw.text)??null;else if(recordType==="event_msg")role="meta",disposition="meta",contentText=s(payload.message,payload.text)??null,usage=o(o(payload.info).last_token_usage);else role="meta",disposition="meta",contentText=s(payload.text,raw.instructions)??null;let model=s(raw.model,payload.model,o(o(raw.turn_context).payload).model),cwd=s(raw.cwd,raw.dir),tokenCount=payload.token_count,usageInput=usage?.input_tokens??tokenCount?.input??tokenCount?.input_tokens??void 0,usageOutput=usage?.output_tokens??tokenCount?.output??tokenCount?.output_tokens??void 0,cacheRead=usage?.cached_input_tokens??void 0,turnPayload=raw.turn_context?.payload,turnInputTokens=turnPayload?.input_tokens,turnOutputTokens=turnPayload?.output_tokens,finalInput=usageInput!==void 0?usageInput:turnInputTokens,finalOutput=usageOutput!==void 0?usageOutput:turnOutputTokens,costUsd=computeCost(finalInput,finalOutput,model),usageCarrier=finalInput!==void 0||finalOutput!==void 0?{input:finalInput??null,output:finalOutput??null,cacheRead:cacheRead??null}:void 0,stripUsage=role==="meta"&&usageCarrier!==void 0,messageSplitIndex=entries.length;entries.push({targetTable:"history_message",record:{session_id:sessionId,seq,role,record_type:recordType,disposition,ts,duration_ms:void 0,model:model??null,input_tokens:stripUsage?null:finalInput??null,output_tokens:stripUsage?null:finalOutput??null,cache_read_tokens:stripUsage?null:cacheRead??null,...usageCarrier!==void 0?{_codexUsageCarrier:usageCarrier}:{},cache_write_tokens:null,cost_usd:costUsd??null,content_text:contentText,cwd:cwd??null,provenance:"ambient"}});let toolItems=[];if((recordType==="response_item"||recordType==="function_call"||recordType==="custom_tool_call")&&(payloadType==="function_call"||payloadType==="custom_tool_call"))toolItems.push(payload);else if(payload.response_item)toolItems.push(payload.response_item);else if(Array.isArray(payload.response_items))toolItems.push(...payload.response_items);for(let item of toolItems){let fc=item.function_call??item,toolName=s(fc.name)??"",args=fc.arguments??fc.input;entries.push({targetTable:"history_tool_call",record:{_messageSplitIndex:messageSplitIndex,session_id:sessionId,seq,tool_name:toolName,call_id:s(fc.call_id),args_digest:argsDigest(args),args_raw:maybeArgsRaw("codex",toolName,args),status:"ok",started_at:void 0,completed_at:void 0,duration_ms:void 0,result_bytes:void 0,error_text:void 0}})}for(let record2 of extractSkillCalls(raw,context,{sessionId,seq,messageSplitIndex}))entries.push(skillCallEntry(record2));return entries}function agySplit(raw,context){let entries=[],recordType=String(raw.type??""),explicitSessionId=s(raw.session_id,raw.conversation_id,raw.conversationId),pathSessionId=context?.sourceFile?sessionIdFromSourcePath("agy",context.sourceFile):void 0,sessionId=explicitSessionId??pathSessionId??"unknown",seq=typeof raw.seq==="number"?raw.seq:typeof raw.step_index==="number"?raw.step_index:context?.sourceLine??0,ts=timestampOf(raw.created_at,raw.timestamp,raw.ts),role,disposition,contentText=null,messageRecordType=recordType;if(raw.display!==void 0)role="user",disposition="keep",contentText=s(raw.display)??null,messageRecordType=recordType.length>0?recordType:"USER_INPUT";else switch(recordType){case"USER_INPUT":case"ASK_QUESTION":role="user",disposition="keep",contentText=s(raw.content,raw.text,raw.message)??null;break;case"PLANNER_RESPONSE":role="assistant",disposition="keep",contentText=s(raw.content,raw.text,raw.message,raw.plan)??null;break;case"ERROR_MESSAGE":role="system",disposition="keep",contentText=s(raw.content,raw.text,raw.message)??null;break;case"RUN_COMMAND":case"VIEW_FILE":case"GREP_SEARCH":case"LIST_DIRECTORY":case"READ_URL_CONTENT":role="tool",disposition="keep",contentText=s(raw.content,raw.command,raw.file_path,raw.pattern)??null;break;case"CODE_ACTION":case"INVOKE_SUBAGENT":role="tool",disposition="keep",contentText=s(raw.content,raw.text)??null;break;case"CONVERSATION_HISTORY":case"CHECKPOINT":case"GENERIC":role="meta",disposition="meta",contentText=s(raw.content,raw.text)??null;break;default:if(recordType.length===0)role="unknown",disposition="unknown";else role="meta",disposition="meta",contentText=s(raw.content,raw.text)??null;break}let messageSplitIndex=entries.length;if(entries.push({targetTable:"history_message",record:{session_id:sessionId,seq,role,record_type:messageRecordType,disposition,ts,duration_ms:void 0,model:null,input_tokens:null,output_tokens:null,cache_read_tokens:null,cache_write_tokens:null,cost_usd:null,content_text:contentText,cwd:s(raw.workspace,raw.cwd)??null,provenance:"ambient"}}),recordType==="PLANNER_RESPONSE"&&Array.isArray(raw.tool_calls))for(let tc of raw.tool_calls)entries.push({targetTable:"history_tool_call",record:{_messageSplitIndex:messageSplitIndex,session_id:sessionId,seq:typeof tc.step_index==="number"?tc.step_index:seq,tool_name:String(tc.name??tc.tool_name??""),args_digest:argsDigest(tc.input??tc.arguments),args_raw:maybeArgsRaw("agy",String(tc.name??tc.tool_name??""),tc.input??tc.arguments),status:"ok",started_at:void 0,completed_at:void 0,duration_ms:void 0,result_bytes:void 0,error_text:void 0}});for(let record2 of extractSkillCalls(raw,context,{sessionId,seq,messageSplitIndex}))entries.push(skillCallEntry(record2));return entries}function geminiSplit(raw,context){let recordType=String(raw.type??(raw.kind!==void 0?"session":raw.$set!==void 0?"state":"")),state=o(raw.$set),sessionId=sessionIdFromContext(context,raw),seq=context?.sourceLine??0,ts=timestampOf(raw.timestamp,raw.startTime,raw.lastUpdated,state.lastUpdated);if(recordType==="session"||recordType==="state")return[{targetTable:"history_message",record:{session_id:sessionId,seq,role:"meta",record_type:recordType,disposition:"meta",ts,content_text:s(state.summary)??null,provenance:"ambient"}}];let role=recordType==="gemini"?"assistant":recordType==="user"?"user":"system",tokens=o(raw.tokens),content=geminiContent(raw),entries=[{targetTable:"history_message",record:{session_id:sessionId,seq,role,record_type:recordType,disposition:"keep",ts,duration_ms:null,model:s(raw.model)??null,input_tokens:numberOrNull(tokens.input),output_tokens:numberOrNull(tokens.output),cache_read_tokens:numberOrNull(tokens.cached),cache_write_tokens:null,cost_usd:null,content_text:content,cwd:null,provenance:"ambient"}}];if(Array.isArray(raw.toolCalls))for(let value of raw.toolCalls){if(value===null||typeof value!=="object"||Array.isArray(value))continue;let tool=value,status=s(tool.status)??"unknown",timestamp=s(tool.timestamp),result=tool.result??tool.resultDisplay;entries.push({targetTable:"history_tool_call",record:{_messageSplitIndex:0,session_id:sessionId,seq,tool_name:s(tool.name,tool.displayName)??"unknown",args_digest:argsDigest(tool.args),args_raw:maybeArgsRaw("gemini",s(tool.name,tool.displayName)??"",tool.args),status,started_at:timestamp,completed_at:timestamp,duration_ms:null,result_bytes:result===void 0?null:new TextEncoder().encode(JSON.stringify(result)).byteLength,error_text:status==="error"?s(tool.resultDisplay,tool.result)??null:null}})}for(let record2 of extractSkillCalls(raw,context,{sessionId,seq,messageSplitIndex:0}))entries.push(skillCallEntry(record2));return entries}function dshSplit(raw,context){let recordType=String(raw.type??"");if(recordType==="session")return[{targetTable:"history_message",record:{session_id:s(raw.id)??sessionIdFromSourcePath("deepseek",context?.sourceFile??"")??"unknown",seq:0,role:"meta",record_type:"session",disposition:"meta",ts:timestampOf(raw.createdAt),cwd:s(raw.cwd)??null,content_text:null,provenance:"ambient"}}];if(recordType!=="user/message"&&recordType!=="assistant/message")return[];let data=o(raw.data),msg=o(data.message),seq=typeof raw.seq==="number"?raw.seq:context?.sourceLine??0,sessionId=sessionIdFromSourcePath("deepseek",context?.sourceFile??"")??"unknown",role=recordType==="user/message"?"user":"assistant",source=o(data.source??msg.source),model=s(source.model,o(data.model??msg.model).model),usage=data.usage??msg.usage,messageId=s(msg.id,data.id);return[{targetTable:"history_message",record:{session_id:sessionId,seq,role,record_type:recordType,disposition:"keep",...messageId!==void 0?{source_record_id:messageId}:{},ts:timestampOf(raw.time,data.time,msg.time),duration_ms:null,model:model??null,input_tokens:numberOrNull(usage?.input_tokens??usage?.input)??null,output_tokens:numberOrNull(usage?.output_tokens??usage?.output)??null,cache_read_tokens:null,cache_write_tokens:null,cost_usd:null,content_text:extractContentText(data.content??msg.content)??s(data.text,msg.text)??null,cwd:null,provenance:"ambient"}}]}var UUID_PATTERN="[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}",AGY_BRAIN_REGEX=new RegExp(`(?:^|\\/)brain\\/(${UUID_PATTERN})(?:\\/|$)`,"i"),DSH_SESSION_REGEX=new RegExp(`(?:^|\\/)session-(${UUID_PATTERN})(?:\\/|$)`,"i"),CODEX_ROLLOUT_REGEX=new RegExp(`(?:^|-|_)(${UUID_PATTERN})$`,"i");function sessionIdFromSourcePath(source,sourceFile){let normalized=sourceFile.replace(/\\/g,"/"),sLower=source.toLowerCase();if(sLower==="agy"||sLower==="antigravity")return normalized.match(AGY_BRAIN_REGEX)?.[1];if(sLower==="deepseek")return normalized.match(DSH_SESSION_REGEX)?.[1];if(sLower==="codex"){let basename=normalized.split("/").at(-1)??"";if(basename.startsWith("rollout-")&&basename.endsWith(".jsonl"))return basename.slice(0,-6).match(CODEX_ROLLOUT_REGEX)?.[1]}return}function sessionIdFromContext(context,raw){if(context!==void 0){let file2=context.sourceFile.split("/").at(-1);if(file2!==void 0)return file2.replace(/\.jsonl$/,"")}return s(raw.sessionId,raw.id)??"unknown"}function geminiContent(raw){let content=extractContentText(raw.content)??s(raw.text),thoughts=Array.isArray(raw.thoughts)?raw.thoughts.map((value)=>value!==null&&typeof value==="object"?s(o(value).description):void 0).filter((value)=>value!==void 0).join(`
|
|
508
|
+
`):"";return[content,thoughts].filter((value)=>value!==void 0&&value.length>0).join(`
|
|
509
|
+
`)||null}function numberOrNull(value){return typeof value==="number"&&Number.isFinite(value)?value:null}function normalizeGrokRecord(raw){let params=raw.params,update=params?.update,isUpdatesShape=typeof raw.method==="string"&¶ms!==void 0&&update!==void 0,body=isUpdatesShape?update:raw,recordType=String((isUpdatesShape?update?.sessionUpdate:raw.type)??raw.sessionUpdate??raw.eventType??(raw.file_snapshots!==void 0||raw.after_snapshots!==void 0?"file_snapshot":raw.prompt!==void 0?"user_message":raw.answer!==void 0||raw.question!==void 0?"assistant":"")),sessionId=s(params?.sessionId,raw.session_id,raw.sessionId,raw.parentSessionId,raw.btwSessionId,raw.params?.sessionId)??"unknown",ts=normalizeTs(raw.ts??raw.timestamp??raw.created_at??raw.askedAt??body.ts??body.timestamp),seq=typeof raw.seq==="number"?raw.seq:typeof body.seq==="number"?body.seq:0,meta3=body._meta??params?._meta??raw._meta,model=s(meta3?.modelId,body.model,raw.model),contentText=extractGrokContent(body.content??body.text??raw.content??raw.text??raw.prompt??(raw.answer!==void 0||raw.question!==void 0?[raw.question,raw.answer].filter((value)=>typeof value==="string").join(`
|
|
510
|
+
`):void 0)),usage=body.usage??raw.usage,toolMeta=meta3?.["x.ai/tool"],titleFallback=s(body.title)?.split("`")[0]?.trim(),toolName=s(toolMeta?.name,body.kind,body.tool_name,body.name,raw.tool_name,raw.name)??(titleFallback!==void 0&&titleFallback.length>0&&titleFallback.length<=40?titleFallback:""),toolArgs=body.rawInput??body.input??body.arguments??toolMeta?.input??raw.input??raw.arguments,toolStatus=s(body.status,raw.outcome,raw.status)??"ok",durationMs=typeof body.duration_ms==="number"?body.duration_ms:typeof raw.duration_ms==="number"?raw.duration_ms:typeof usage?.apiDurationMs==="number"?usage.apiDurationMs:void 0,errorText=body.error!==void 0?String(body.error):raw.error!==void 0?String(raw.error):void 0,hasTypeDiscriminator=recordType.length>0||isUpdatesShape;return{recordType,sessionId,ts,seq,body,model,contentText,usage,toolName,toolArgs,toolStatus,durationMs,errorText,hasTypeDiscriminator}}function normalizeTs(value){return timestampOf(value)}function extractGrokContent(content){if(typeof content==="string")return content;if(content!==null&&typeof content==="object"&&!Array.isArray(content)){let c=content;if(typeof c.text==="string")return c.text;if(typeof c.content==="string")return c.content}if(Array.isArray(content)){let parts=[];for(let block of content)if(typeof block==="string")parts.push(block);else if(block!==null&&typeof block==="object"){let b=block;if(typeof b.text==="string")parts.push(b.text)}return parts.length>0?parts.join(`
|
|
511
|
+
`):null}return null}var GROK_META_TYPES=new Set(["phase_changed","permission_requested","permission_resolved","mcp_server_starting","mcp_server_connected","mcp_config_resolved","mcp_managed_config_result","mcp_transport_decode_error","mcp_init_completed","mcp_health_check","loop_started","first_token","agent_thought_chunk","hook_execution","plan","session_recap","task_backgrounded","task_completed","retry_state","auto_compact_started","auto_compact_completed","compaction_checkpoint","image_compressed","reasoning","system","turn_started","turn_ended","yolo_toggled"]);function grokSplit(raw,context){let entries=[],n=normalizeGrokRecord(raw),{recordType,sessionId,ts,seq}=n;if(recordType==="turn_completed"){let usage=n.usage,modelUsage=usage?.modelUsage,modelFromUsage=modelUsage!==null&&typeof modelUsage==="object"?Object.keys(modelUsage)[0]:void 0,model=s(n.model,modelFromUsage),inputTokens=usage?.inputTokens??usage?.input??usage?.input_tokens,outputTokens=usage?.outputTokens??usage?.output??usage?.output_tokens,cacheRead=usage?.cachedReadTokens??usage?.cache_read_tokens;return entries.push({targetTable:"history_message",record:{session_id:sessionId,seq,role:"assistant",record_type:recordType,disposition:"keep",ts,duration_ms:n.durationMs??usage?.apiDurationMs??null,model:model??null,input_tokens:inputTokens??null,output_tokens:outputTokens??null,cache_read_tokens:cacheRead??null,cache_write_tokens:null,cost_usd:null,content_text:n.contentText,cwd:null,provenance:"ambient"}}),entries}if(recordType==="tool_started")return entries.push({targetTable:"history_message",record:{session_id:sessionId,seq,role:"assistant",record_type:recordType,disposition:"keep",ts,duration_ms:void 0,model:n.model??null,input_tokens:null,output_tokens:null,cache_read_tokens:null,cache_write_tokens:null,cost_usd:null,content_text:n.contentText,cwd:null,provenance:"ambient"}}),entries.push({targetTable:"history_tool_call",record:{_messageSplitIndex:0,session_id:sessionId,seq,tool_name:n.toolName,args_digest:argsDigest(n.toolArgs),args_raw:maybeArgsRaw("grok",n.toolName,n.toolArgs),status:n.toolStatus||"ok",started_at:ts,completed_at:void 0,duration_ms:void 0,result_bytes:void 0,error_text:n.errorText}}),entries;if(recordType==="tool_completed")return entries.push({targetTable:"history_message",record:{session_id:sessionId,seq,role:"assistant",record_type:recordType,disposition:"keep",ts,duration_ms:n.durationMs??null,model:n.model??null,input_tokens:null,output_tokens:null,cache_read_tokens:null,cache_write_tokens:null,cost_usd:null,content_text:n.contentText,cwd:null,provenance:"ambient"}}),entries.push({targetTable:"history_tool_call",record:{_messageSplitIndex:0,session_id:sessionId,seq,tool_name:n.toolName,args_digest:null,args_raw:void 0,status:n.toolStatus||"ok",started_at:void 0,completed_at:ts,duration_ms:n.durationMs,result_bytes:void 0,error_text:n.errorText}}),entries;if(recordType==="tool_call"||recordType==="tool_call_update"){entries.push({targetTable:"history_message",record:{session_id:sessionId,seq,role:"assistant",record_type:recordType,disposition:"keep",ts,duration_ms:void 0,model:n.model??null,input_tokens:null,output_tokens:null,cache_read_tokens:null,cache_write_tokens:null,cost_usd:null,content_text:n.contentText,cwd:null,provenance:"ambient"}}),entries.push({targetTable:"history_tool_call",record:{_messageSplitIndex:0,session_id:sessionId,seq,tool_name:n.toolName,args_digest:argsDigest(n.toolArgs),args_raw:maybeArgsRaw("grok",n.toolName,n.toolArgs),status:n.toolStatus||"ok",started_at:recordType==="tool_call"?ts:void 0,completed_at:recordType==="tool_call_update"?ts:void 0,duration_ms:n.durationMs,result_bytes:void 0,error_text:n.errorText}});for(let record2 of extractSkillCalls(raw,context,{sessionId,seq,messageSplitIndex:0}))entries.push(skillCallEntry(record2));return entries}if(recordType==="user"||recordType==="user_message"||recordType==="user_message_chunk"||recordType==="message")return entries.push({targetTable:"history_message",record:{session_id:sessionId,seq,role:"user",record_type:recordType||"user_message",disposition:"keep",ts,duration_ms:void 0,model:null,input_tokens:null,output_tokens:null,cache_read_tokens:null,cache_write_tokens:null,cost_usd:null,content_text:n.contentText,cwd:null,provenance:"ambient"}}),entries;if(recordType==="assistant"||recordType==="agent_message_chunk")return entries.push({targetTable:"history_message",record:{session_id:sessionId,seq,role:"assistant",record_type:recordType,disposition:"keep",ts,duration_ms:void 0,model:n.model??null,input_tokens:null,output_tokens:null,cache_read_tokens:null,cache_write_tokens:null,cost_usd:null,content_text:n.contentText,cwd:null,provenance:"ambient"}}),entries;if(GROK_META_TYPES.has(recordType))return entries.push({targetTable:"history_message",record:{session_id:sessionId,seq,role:"meta",record_type:recordType,disposition:"meta",ts,duration_ms:n.durationMs??null,model:n.model??null,input_tokens:null,output_tokens:null,cache_read_tokens:null,cache_write_tokens:null,cost_usd:null,content_text:n.contentText,cwd:null,provenance:"ambient"}}),entries;if(!n.hasTypeDiscriminator||recordType.length===0)return entries.push({targetTable:"history_message",record:{session_id:sessionId,seq,role:"unknown",record_type:stableFieldShape(raw),disposition:"unknown",ts,duration_ms:void 0,model:null,input_tokens:null,output_tokens:null,cache_read_tokens:null,cache_write_tokens:null,cost_usd:null,content_text:n.contentText,cwd:null,provenance:"ambient"}}),entries;return entries.push({targetTable:"history_message",record:{session_id:sessionId,seq,role:"meta",record_type:recordType,disposition:"meta",ts,duration_ms:n.durationMs??null,model:n.model??null,input_tokens:null,output_tokens:null,cache_read_tokens:null,cache_write_tokens:null,cost_usd:null,content_text:n.contentText,cwd:null,provenance:"ambient"}}),entries}function o(value){return typeof value==="object"&&value!==null?value:{}}function s(...values){for(let value of values){if(typeof value==="string"&&value.length>0)return value;if(typeof value==="number"&&Number.isFinite(value))return String(value)}return}function timestampOf(...values){for(let value of values){if(typeof value==="number"&&Number.isFinite(value)){let ms=value>1000000000000?value:value*1000;return new Date(ms).toISOString()}if(typeof value==="string"&&value.length>0){let asNum=Number(value);if(Number.isFinite(asNum)&&/^\d+(\.\d+)?$/.test(value.trim())){let ms=asNum>1000000000000?asNum:asNum*1000;return new Date(ms).toISOString()}return value}}return}function mapRole(type){let t=String(type??"").toLowerCase();if(t==="user"||t==="human"||t==="developer")return"user";if(t==="assistant"||t==="ai"||t==="model")return"assistant";if(t==="system"||t==="error")return"system";return t||"unknown"}function computeCost(inputTokens,outputTokens,model){if(inputTokens===void 0||inputTokens===null)return;if(outputTokens===void 0||outputTokens===null)return;let inputRate=model?.toLowerCase().includes("claude")?3:1,outputRate=model?.toLowerCase().includes("claude")?15:5;return(inputTokens*inputRate+outputTokens*outputRate)/1e6}function extractContentText(content){if(typeof content==="string")return content;if(!Array.isArray(content))return;let parts=[];for(let block of content){if(typeof block!=="object"||block===null)continue;let b=block;if(typeof b.text==="string")parts.push(b.text)}return parts.length>0?parts.join(`
|
|
512
|
+
`):void 0}function stableFieldShape(raw){return Object.keys(raw).map((k)=>k.toLowerCase()).sort().join("+")}var CLAUDE_FIELD_MAP=identityFieldMap(MESSAGE_MAPPER_KEYS.concat(TOOL_CALL_MAPPER_KEYS,SKILL_CALL_MAPPER_KEYS)),PI_FIELD_MAP=identityFieldMap(MESSAGE_MAPPER_KEYS.concat(TOOL_CALL_MAPPER_KEYS,SKILL_CALL_MAPPER_KEYS)),OMP_FIELD_MAP=identityFieldMap(MESSAGE_MAPPER_KEYS.concat(TOOL_CALL_MAPPER_KEYS,SKILL_CALL_MAPPER_KEYS)),CODEX_FIELD_MAP=identityFieldMap(MESSAGE_MAPPER_KEYS.concat(TOOL_CALL_MAPPER_KEYS,SKILL_CALL_MAPPER_KEYS)),AGY_FIELD_MAP=identityFieldMap(MESSAGE_MAPPER_KEYS.concat(TOOL_CALL_MAPPER_KEYS,SKILL_CALL_MAPPER_KEYS)),GROK_FIELD_MAP=identityFieldMap(MESSAGE_MAPPER_KEYS.concat(TOOL_CALL_MAPPER_KEYS,SKILL_CALL_MAPPER_KEYS)),GEMINI_FIELD_MAP=identityFieldMap(MESSAGE_MAPPER_KEYS.concat(TOOL_CALL_MAPPER_KEYS,SKILL_CALL_MAPPER_KEYS)),DSH_FIELD_MAP=identityFieldMap(MESSAGE_MAPPER_KEYS.concat(["source_record_id"])),passthroughSchema=exports_external.object({}).passthrough(),CLAUDE_SCHEMA=passthroughSchema,PI_SCHEMA=passthroughSchema,OMP_SCHEMA=passthroughSchema,CODEX_SCHEMA=passthroughSchema,AGY_SCHEMA=passthroughSchema,GROK_SCHEMA=passthroughSchema,GEMINI_SCHEMA=passthroughSchema,DSH_SCHEMA=passthroughSchema;var sourceRecordSchema=exports_external.object({source_record_id:exports_external.string().min(1),created_at:exports_external.string().min(1),content:exports_external.string().min(1),role:exports_external.string().optional(),model:exports_external.string().optional()}).passthrough();function firstString(...values){for(let value of values){if(typeof value==="string"&&value.length>0)return value;if(typeof value==="number"&&Number.isFinite(value))return String(value)}return}function defaultCreatedAt(value){return firstString(value)??new Date(0).toISOString()}function defaultRecordId(value,raw,context){return firstString(value,raw.id,raw.uuid,raw.message_id,raw.messageId,raw.session_id,raw.sessionId,raw.conversation_id)??`${context.source}:${context.sourceFile}:${context.sourceLine}:${context.splitIndex}`}function defaultContent(value,raw){return firstString(value,raw.content,raw.text,raw.message,raw.prompt,raw.response,raw.output)}function transforms(){return{source_record_id:defaultRecordId,created_at:defaultCreatedAt,content:defaultContent,role:(value,raw)=>firstString(value,raw.role,raw.type),model:(value,raw)=>firstString(value,raw.model,raw.model_name,raw.modelName)}}function sourceDefinition(source,displayName,defaultRoots,filePatterns){return{source,displayName,defaultRoots,filePatterns,targetTable:`history_etl_${source}`,splitConfig:source==="pi"?{mode:"one-to-many",field:"messages"}:{mode:"one-to-one"},fieldMap:{id:"source_record_id",uuid:"source_record_id",message_id:"source_record_id",messageId:"source_record_id",session_id:"source_record_id",sessionId:"source_record_id",conversation_id:"source_record_id",timestamp:"created_at",created_at:"created_at",createdAt:"created_at",time:"created_at",content:"content",text:"content",message:"content",prompt:"content",response:"content",output:"content",role:"role",type:"role",model:"model",model_name:"model",modelName:"model"},fieldTransforms:transforms(),schema:sourceRecordSchema}}function customSourceDefinition(source,displayName,defaultRoots,filePatterns,split,fieldMap,schema){return{source,displayName,defaultRoots,filePatterns,targetTable:`history_etl_${source}`,splitConfig:{mode:"custom",split},fieldMap,fieldTransforms:{},schema}}var SOURCE_DEFINITIONS={pi:customSourceDefinition("pi","Pi",[".pi/agent/sessions"],["*.jsonl"],piSplit,PI_FIELD_MAP,PI_SCHEMA),claude:customSourceDefinition("claude","Claude Code",[".claude/projects"],["*.jsonl"],claudeSplit,CLAUDE_FIELD_MAP,CLAUDE_SCHEMA),codex:customSourceDefinition("codex","Codex",[".codex/sessions"],["*.jsonl"],codexSplit,CODEX_FIELD_MAP,CODEX_SCHEMA),omp:customSourceDefinition("omp","OMP",[".omp/agent/sessions"],["*.jsonl"],ompSplit,OMP_FIELD_MAP,OMP_SCHEMA),grok:customSourceDefinition("grok","Grok",[".grok/sessions"],["*.jsonl"],grokSplit,GROK_FIELD_MAP,GROK_SCHEMA),agy:{...customSourceDefinition("agy","Antigravity CLI",[".gemini/antigravity-cli"],["*.jsonl"],agySplit,AGY_FIELD_MAP,AGY_SCHEMA),corruptLinePolicy:"skip"},gemini:customSourceDefinition("gemini","Gemini CLI",[".gemini/tmp",".config/gemini"],["*.jsonl"],geminiSplit,GEMINI_FIELD_MAP,GEMINI_SCHEMA),deepseek:{...customSourceDefinition("deepseek","DeepSeek dsh",[".dsh/sessions"],["session.v3.jsonl","session.v3.jsonl.zstd"],dshSplit,DSH_FIELD_MAP,DSH_SCHEMA),corruptLinePolicy:"skip"},opencode:sourceDefinition("opencode","OpenCode",[".opencode",".local/share/opencode"],["*.jsonl"]),antigravity:sourceDefinition("antigravity","Antigravity",[".antigravity"],["*.jsonl"]),openclaw:sourceDefinition("openclaw","OpenClaw",[".openclaw"],["*.jsonl"])};var TYPED_HISTORY_TABLES=["history_message","history_tool_call","history_skill_call"];var BOOKKEEPING_HISTORY_TABLES=["history_import_checkpoint","history_import_ledger"],IMPORTER_OWNED_TABLES=[...TYPED_HISTORY_TABLES,...BOOKKEEPING_HISTORY_TABLES,...Object.values(SOURCE_DEFINITIONS).map((def)=>def.targetTable)];var SPUR_OWNED_HISTORY_TABLES=["history_run_session","history_task_session","history_tool_alias_map","history_daily_stats","history_board_loop_findings","history_board_message_5m","history_board_model_stats","history_board_ranked_steps","history_board_rollup_meta","history_board_rollup_watermark","history_board_rollup_bucket","history_board_session_stats","history_board_skill_5m","history_board_source_daily","history_board_source_stats","history_board_dimension_daily","history_board_kpi_window","history_board_tool_5m","history_board_tool_stats"],HISTORY_RESET_TABLES=[...IMPORTER_OWNED_TABLES,...SPUR_OWNED_HISTORY_TABLES];var IMPORTER_SCHEMA_LEDGER_PREFIX="importer_schema@";class ActionRunDao{db;constructor(db2){this.db=db2}async completedAtById(id){return(await this.db.queryFirst("SELECT completed_at FROM action_runs WHERE id = ?",id))?.completed_at??null}async setStartedAt(id,startedAt){await this.db.run("UPDATE action_runs SET started_at = ? WHERE id = ?",startedAt,id)}async actionRowsByRunId(runId){try{return await this.db.queryAll("SELECT id, node, kind, status, duration_ms, ok, result_json, started_at, completed_at, created_at FROM action_runs WHERE run_id = ? ORDER BY created_at",runId)}catch(error51){if(error51 instanceof Error&&error51.message.includes("no such table: action_runs"))return[];throw error51}}}init_dist4();init_schema();init_schema();init_schema();var workspacesTable=defineTable("workspaces",{id:text("id").primaryKey(),name:text("name").notNull().unique(),root:text("root").notNull(),purpose:text("purpose"),defaultAgent:text("default_agent"),...standardColumns}),workspaces=workspacesTable.table;var runsTable=defineTable("runs",{id:text("id").primaryKey(),workspaceId:text("workspace_id").references(()=>workspaces.id),workflowName:text("workflow_name"),mode:text("mode"),status:text("status").notNull(),agent:text("agent"),externalKey:text("external_key"),startedAt:integer2("started_at").notNull(),completedAt:integer2("completed_at"),metadataJson:text("metadata_json").notNull().default("{}"),...standardColumns}),runs=runsTable.table;var artifactsTable=defineTable("artifacts",{id:text("id").primaryKey(),runId:text("run_id").references(()=>runs.id),path:text("path").notNull(),kind:text("kind").notNull(),...standardColumns}),artifacts=artifactsTable.table;function createId(prefix){return`${prefix}_${crypto.randomUUID()}`}class ArtifactDao extends EntityDao{constructor(adapter){super(adapter,artifacts,[artifacts.id],"artifacts")}record(input){return super.create({id:createId("artifact"),runId:input.runId??null,path:input.path,kind:input.kind})}artifactsByRunId(runId){return this.adapter.queryAll("SELECT path, kind FROM artifacts WHERE run_id = ? ORDER BY id",runId)}artifactsWithIdByRunId(runId){return this.adapter.queryAll("SELECT id, path, kind FROM artifacts WHERE run_id = ? ORDER BY id",runId)}}init_schema();var phaseRunsTable=defineTable("phase_runs",{id:text("id").primaryKey(),runId:text("run_id").notNull().references(()=>runs.id),phase:text("phase").notNull(),status:text("status").notNull(),startedAt:integer2("started_at"),completedAt:integer2("completed_at"),...standardColumns}),phaseRuns=phaseRunsTable.table;init_dist4();function normalizePersistedWorkflowLayer(layer){if(layer==="bundled")return"shared";if(layer==="project"||layer==="registered"||layer==="shared")return layer;return null}class RunDao extends EntityDao{constructor(adapter){super(adapter,runs,[runs.id],"runs")}open(input={}){return super.create({id:createId("run"),workspaceId:input.workspaceId??null,status:input.status??"pending",agent:input.agent??null,startedAt:Date.now(),completedAt:null})}traceRows(filter){return this.adapter.queryAll(`SELECT id, workflow_name, mode, status, agent, started_at, completed_at, metadata_json
|
|
513
|
+
FROM runs
|
|
514
|
+
WHERE (?1 IS NULL OR workflow_name = ?1)
|
|
515
|
+
AND (?2 IS NULL OR status = ?2)
|
|
516
|
+
AND (?3 IS NULL OR started_at >= ?3)
|
|
517
|
+
AND (
|
|
518
|
+
?4 IS NULL
|
|
519
|
+
OR started_at < ?4
|
|
520
|
+
OR (started_at = ?4 AND id < ?5)
|
|
521
|
+
)
|
|
522
|
+
ORDER BY started_at DESC, id DESC
|
|
523
|
+
LIMIT ?6`,filter.workflow??null,filter.status??null,filter.since??null,filter.before?.started_at??null,filter.before?.id??null,filter.limit)}traceRowById(runId){return this.adapter.queryFirst("SELECT id, workflow_name, mode, status, agent, started_at, completed_at, metadata_json FROM runs WHERE id = ?",runId)}mergeMetadata(runId,patch){return this.adapter.run(`UPDATE runs
|
|
524
|
+
SET metadata_json = json_patch(
|
|
525
|
+
COALESCE(NULLIF(metadata_json, ''), '{}'),
|
|
526
|
+
?1
|
|
527
|
+
)
|
|
528
|
+
WHERE id = ?2`,JSON.stringify(patch),runId)}stampMetadata(runId,metadata){return this.mergeMetadata(runId,metadata)}stampRunIdentity(runId,definitionDigest,workflowVersion,source){let sourceSet=source===void 0?"":`,
|
|
529
|
+
'$.definitionSource.path', ?4,
|
|
530
|
+
'$.definitionSource.layer', ?5,
|
|
531
|
+
'$.definitionSource.workdir', ?6`;return this.adapter.run(`UPDATE runs
|
|
532
|
+
SET metadata_json = json_set(
|
|
533
|
+
COALESCE(NULLIF(metadata_json, ''), '{}'),
|
|
534
|
+
'$.definitionDigest', ?1,
|
|
535
|
+
'$.workflowVersion', ?2${sourceSet}
|
|
536
|
+
)
|
|
537
|
+
WHERE id = ?3
|
|
538
|
+
AND json_type(COALESCE(NULLIF(metadata_json, ''), '{}'), '$.definitionDigest') IS NULL`,definitionDigest,workflowVersion,runId,...source!==void 0?[source.path,source.layer,source.workdir]:[])}stampFailureReason(runId,reason){return this.adapter.run(`UPDATE runs
|
|
539
|
+
SET metadata_json = json_set(
|
|
540
|
+
COALESCE(NULLIF(metadata_json, ''), '{}'),
|
|
541
|
+
'$.failureReason',
|
|
542
|
+
?1
|
|
543
|
+
)
|
|
544
|
+
WHERE id = ?2`,reason,runId)}listActiveRuns(){return this.adapter.queryAll(`SELECT id, status, started_at
|
|
545
|
+
FROM runs
|
|
546
|
+
WHERE status IN ('running', 'pending')
|
|
547
|
+
ORDER BY started_at ASC`)}listStaleRuns(cutoffIso){return this.adapter.queryAll(`SELECT id, status, started_at
|
|
548
|
+
FROM runs
|
|
549
|
+
WHERE status IN ('running', 'pending')
|
|
550
|
+
AND started_at < ?1
|
|
551
|
+
ORDER BY started_at ASC`,cutoffIso)}async finalizeStale(runId,reason){let nowIso=new Date().toISOString();await this.adapter.run(`UPDATE runs
|
|
552
|
+
SET status = 'failed', completed_at = ?1, updated_at = ?1,
|
|
553
|
+
metadata_json = json_set(COALESCE(NULLIF(metadata_json, ''), '{}'), '$.staleReason', ?2)
|
|
554
|
+
WHERE id = ?3 AND status IN ('running', 'pending')`,nowIso,reason,runId)}async setPid(runId,pid){await this.adapter.run("UPDATE runs SET pid = ? WHERE id = ?",pid,runId)}async getPid(runId){return(await this.adapter.queryFirst("SELECT pid FROM runs WHERE id = ?",runId))?.pid??null}}init_schema();var transitionRunsTable=defineTable("transition_runs",{id:text("id").primaryKey(),runId:text("run_id").notNull().references(()=>runs.id),fromState:text("from_state").notNull(),toState:text("to_state").notNull(),trigger:text("trigger"),status:text("status").notNull(),...standardColumns}),transitionRuns=transitionRunsTable.table;init_schema();var workflowStatesTable=defineTable("workflow_states",{id:text("id").primaryKey(),runId:text("run_id").notNull().references(()=>runs.id),state:text("state").notNull(),dataJson:text("data_json").notNull(),...standardColumns}),workflowStates=workflowStatesTable.table;init_dist6();class WorkflowValidationError extends Error{details;constructor(message,details){super(message);this.details=details,this.name="WorkflowValidationError"}}class FSMError extends Error{details;constructor(message,details){super(message);this.details=details,this.name="FSMError"}}class RunCollisionError extends Error{constructor(runId){super(`Workflow run "${runId}" already exists`);this.name="RunCollisionError"}}class WorkflowResumeError extends Error{details;constructor(message,details){super(message);this.details=details,this.name="WorkflowResumeError"}}init_dist7();init_dist6();var RUNTIME_BUILTIN_KEYS=["workflow","runId","task","state","node","iteration","run","runtime"];function runtimeBuiltins(workflowName,stateOrNodeId,runId,transitionsTaken,mode){return{workflow:workflowName,runId,task:workflowName,state:stateOrNodeId,node:stateOrNodeId,iteration:transitionsTaken,run:runId,runtime:mode}}function allowedEnv(names,source=getProcessEnv()){return Object.fromEntries(names.flatMap((name)=>source[name]===void 0?[]:[[name,source[name]]]))}class RunLifecycle{workflowName;mode;runId;externalKey;persistence;events;logger;ownerAttempt;constructor(runId,workflowName,mode,deps,externalKey){this.workflowName=workflowName,this.mode=mode,this.runId=runId,this.externalKey=externalKey,this.persistence=deps.persistence,this.events=deps.events??(deps.lifecycleBus?new EventBus({lifecycleBus:deps.lifecycleBus}):void 0),this.logger=(deps.logger??getLogger2("workflow")).child({runId,workflow:workflowName,mode})}static forExternalTransition(workflowName,runId,deps,externalKey){return new RunLifecycle(runId,workflowName,"state-machine",deps,externalKey)}static async run(workflowName,mode,deps,options,loop){return await traceAsync("workflow.run",async()=>{let startedAt=new Date().toISOString(),proposed={...RunLifecycle.runRecord(options.runId??crypto.randomUUID(),workflowName,mode,startedAt,options.metadata,options.externalKey),owner_attempt:crypto.randomUUID()},record2=proposed;if(options.externalKey===void 0)await deps.persistence.createRun(proposed);else if(record2=await deps.persistence.createOrAttachRun(proposed),record2.owner_attempt!==proposed.owner_attempt){let snapshot=await deps.persistence.loadLatestStateSnapshot(record2.id);return{runId:record2.id,workflowName:record2.workflow_name,mode:record2.mode==="transition-flow"?"transition-flow":"state-machine",status:record2.status,finalState:snapshot?.state??"",transitionsTaken:snapshotTransitions(snapshot?.data)}}let extKey=record2.external_key??void 0,lifecycle=new RunLifecycle(record2.id,workflowName,mode,deps,extKey);return lifecycle.ownerAttempt=proposed.owner_attempt??void 0,lifecycle.logger.info("workflow run started"),addSpanEvent("workflow.run.started",{workflowName,mode,runId:lifecycle.runId,dryRun:options.dryRun??!1}),lifecycle.events?.emit("workflow.run.started",{workflowName,mode,runId:lifecycle.runId,dryRun:options.dryRun??!1,externalKey:extKey,severity:"info"}),await lifecycle.execute(loop)},{attributes:{"workflow.name":workflowName,"workflow.mode":mode}})}static async resume(workflowName,mode,deps,runId,externalKey,loop,ownerAttempt){return await traceAsync("workflow.run",async()=>{let lifecycle=new RunLifecycle(runId,workflowName,mode,deps,externalKey);return lifecycle.ownerAttempt=ownerAttempt,lifecycle.logger.info("workflow run resumed"),await lifecycle.execute(loop)},{attributes:{"workflow.name":workflowName,"workflow.mode":mode}})}async finalizeAsOwner(status,completedAt){if(this.ownerAttempt===void 0){await this.persistence.finalizeRun(this.runId,status,completedAt);return}if(await this.persistence.finalizeRun(this.runId,status,completedAt,{ownerAttempt:this.ownerAttempt})===!1)throw this.events?.emit("workflow.run.stale_owner",{runId:this.runId,ownerAttemptId:this.ownerAttempt,status,severity:"warning"}),new WorkflowResumeError(`stale owner "${this.ownerAttempt}" cannot finalize run "${this.runId}" as "${status}": ownership was lost`)}async execute(loop){try{return await loop(this)}catch(error51){try{await this.finalizeAsOwner("failed",new Date().toISOString())}catch(finalizeError){throw AggregateError([error51,finalizeError],"Workflow execution and failure persistence failed")}throw error51}}async enter(stateOrNodeId,transitionsTaken,persist=!0,vars){if(persist){let data={transitionsTaken};if(vars!==void 0)data.effectiveVars=vars;await this.persistence.saveWorkflowState(this.runId,stateOrNodeId,data),await this.persistence.savePhase(this.runId,stateOrNodeId,"running")}addSpanEvent("workflow.node.enter",{runId:this.runId,node:stateOrNodeId,transitionsTaken}),this.events?.emit("workflow.node.enter",{runId:this.runId,node:stateOrNodeId,transitionsTaken,severity:"info"})}async commitHop(from,to,trigger,transitionsTaken,phase,vars){let data={transitionsTaken};if(vars!==void 0)data.effectiveVars=vars;await this.persistence.commitTransition(this.runId,from,to,trigger,to,data,phase),addSpanEvent("workflow.node.transition",{runId:this.runId,from,to,...trigger===null?{}:{trigger}}),this.events?.emit("workflow.node.transition",{runId:this.runId,from,to,trigger,externalKey:this.externalKey,severity:"info"})}async recordTransition(from,to,trigger){await this.persistence.saveTransition(this.runId,from,to,trigger),addSpanEvent("workflow.node.transition",{runId:this.runId,from,to,...trigger===null?{}:{trigger}}),this.events?.emit("workflow.node.transition",{runId:this.runId,from,to,trigger,externalKey:this.externalKey,severity:"info"})}async done(finalState,transitionsTaken){return await this.persistence.savePhase(this.runId,finalState,"done"),await this.finalizeAsOwner("done",new Date().toISOString()),this.logger.info("workflow run done",{finalState,transitionsTaken}),addSpanEvent("workflow.run.done",{runId:this.runId,finalState,transitionsTaken}),this.events?.emit("workflow.run.done",{runId:this.runId,finalState,transitionsTaken,externalKey:this.externalKey,severity:"info"}),this.result("done",finalState,transitionsTaken)}async fail(finalState,transitionsTaken,reason="failed"){return await this.persistence.savePhase(this.runId,finalState,"failed"),await this.finalizeAsOwner("failed",new Date().toISOString()),addSpanEvent("workflow.run.failed",{runId:this.runId,finalState,reason}),this.events?.emit("workflow.run.failed",{runId:this.runId,finalState,reason,externalKey:this.externalKey,severity:"error"}),this.logger.warn("workflow run failed",{finalState,transitionsTaken,reason}),this.result("failed",finalState,transitionsTaken,reason)}async pause(stateOrNodeId,transitionsTaken,vars,lastActionResult){let data={transitionsTaken};if(vars!==void 0)data.effectiveVars=vars;if(lastActionResult!==void 0)data.lastActionResult={ok:lastActionResult.ok};return await this.persistence.saveWorkflowState(this.runId,stateOrNodeId,data),await this.persistence.savePhase(this.runId,stateOrNodeId,"paused"),await this.finalizeAsOwner("paused",new Date().toISOString()),this.logger.info("workflow run paused",{stateOrNodeId,transitionsTaken}),addSpanEvent("workflow.run.paused",{runId:this.runId,node:stateOrNodeId,transitionsTaken}),this.events?.emit("workflow.run.paused",{runId:this.runId,node:stateOrNodeId,transitionsTaken,externalKey:this.externalKey,severity:"warning"}),this.result("paused",stateOrNodeId,transitionsTaken)}actionStart(stateOrNodeId,kind){addSpanEvent("workflow.action.start",{runId:this.runId,node:stateOrNodeId,kind}),this.events?.emit("workflow.action.start",{runId:this.runId,node:stateOrNodeId,kind,severity:"info"})}actionDone(stateOrNodeId,kind,durationMs,ok){addSpanEvent("workflow.action.done",{runId:this.runId,node:stateOrNodeId,kind,durationMs,ok}),this.events?.emit("workflow.action.done",{runId:this.runId,node:stateOrNodeId,kind,durationMs,ok,severity:ok?"info":"error"})}warnActionFailed(stateOrNodeId,transitionsTaken,error51){addSpanEvent("workflow.action.failed_continue",{runId:this.runId,node:stateOrNodeId,transitionsTaken,...error51===void 0?{}:{error:error51}}),this.events?.emit("workflow.action.failed_continue",{runId:this.runId,node:stateOrNodeId,transitionsTaken,...error51===void 0?{}:{error:error51},severity:"warning"}),this.logger.warn("action failed (continuing)",{node:stateOrNodeId,transitionsTaken,error:error51})}guardEvaluated(from,to,kind,passed){this.events?.emit("workflow.guard.evaluated",{runId:this.runId,from,to,kind,passed,externalKey:this.externalKey,severity:passed?"info":"warning"})}hitlAsk(node,kind,message){this.events?.emit("workflow.hitl.ask",{runId:this.runId,node,kind,message,severity:"info"})}hitlResponse(node,ok){this.events?.emit("workflow.hitl.response",{runId:this.runId,node,ok,severity:ok?"info":"warning"})}result(status,finalState,transitionsTaken,reason){return{runId:this.runId,workflowName:this.workflowName,mode:this.mode,status,finalState,transitionsTaken,...reason===void 0?{}:{reason}}}static runRecord(runId,workflowName,mode,startedAt,metadata,externalKey){return{id:runId,workflow_name:workflowName,mode,status:"running",started_at:startedAt,metadata_json:JSON.stringify(metadata??{}),completed_at:null,external_key:externalKey??null}}}function snapshotTransitions(data){let value=data?.transitionsTaken;return typeof value==="number"&&Number.isSafeInteger(value)&&value>=0?value:0}function snapshotActionResult(data){let value=data?.lastActionResult;return value!==null&&typeof value==="object"&&"ok"in value&&typeof value.ok==="boolean"?{ok:value.ok}:void 0}class CapabilityRegistry{kind;capabilities=new Map;constructor(kind){this.kind=kind}register(name,capability,origin2="extension"){this.capabilities.set(name,{capability,origin:origin2})}has(name){return this.capabilities.has(name)}get(name){let entry=this.capabilities.get(name);if(entry===void 0)throw Error(`Unknown ${this.kind}: ${name}`);return entry.capability}getEntry(name){return this.capabilities.get(name)}list(){return[...this.capabilities.keys()]}entries(){return[...this.capabilities.entries()]}}function assertRelativeExtensionPath(path8,options={}){let where=options.sourceName!==void 0?` declared by "${options.sourceName}"`:"";if(/^([/\\]|[A-Za-z]:[/\\])/.test(path8))throw Error(`extension path "${path8}"${where} must be relative (no absolute paths)`);if(path8.split(/[/\\]/).includes(".."))throw Error(`extension path "${path8}"${where} must not contain ".." traversal`)}init_zod();var RESERVED_VAR_NAMES=new Set(["task","state","node","iteration","run","runtime"]),IDENTIFIER=/^[A-Za-z_][A-Za-z0-9_]*$/,VarsSchema=exports_external.record(exports_external.string(),exports_external.string()).superRefine((vars,ctx)=>{for(let key of Object.keys(vars)){if(!IDENTIFIER.test(key))ctx.addIssue({code:"custom",message:`Invalid variable name "${key}" (must be a valid identifier)`});if(RESERVED_VAR_NAMES.has(key))ctx.addIssue({code:"custom",message:`Variable name "${key}" is reserved for runtime use`})}}),EnvSchema=exports_external.object({allow:exports_external.array(exports_external.string().regex(IDENTIFIER,"env.allow entries must be valid identifiers")).optional()}),relativeExtensionPath=exports_external.string().min(1).superRefine((value,ctx)=>{try{assertRelativeExtensionPath(value)}catch(error51){ctx.addIssue({code:"custom",message:error51 instanceof Error?error51.message:"invalid extension path"})}}),WorkflowExtensionsSchema=exports_external.object({actions:exports_external.array(relativeExtensionPath).optional(),guards:exports_external.array(relativeExtensionPath).optional()}).strict(),ActionDefSchema=exports_external.object({kind:exports_external.string().min(1),options:exports_external.record(exports_external.string(),exports_external.unknown()).optional(),onError:exports_external.enum(["fail","continue"]).optional()}),GuardDefSchema=exports_external.object({kind:exports_external.string().min(1),options:exports_external.record(exports_external.string(),exports_external.unknown()).optional()}),StateMachineWorkflowDefSchema=exports_external.object({$schema:exports_external.string().optional(),kind:exports_external.literal("state-machine").optional(),name:exports_external.string().min(1),version:exports_external.string().optional(),description:exports_external.string().optional(),initialState:exports_external.string().min(1),terminalStates:exports_external.array(exports_external.string().min(1)).optional(),failureStates:exports_external.array(exports_external.string().min(1)).optional(),iterationBound:exports_external.number().int().positive().optional(),defaultOnError:exports_external.enum(["fail","continue"]).optional(),vars:VarsSchema.optional(),env:EnvSchema.optional(),states:exports_external.array(exports_external.object({id:exports_external.string().min(1),description:exports_external.string().optional(),onEnter:exports_external.array(ActionDefSchema).optional(),onExit:exports_external.array(ActionDefSchema).optional(),pause:exports_external.boolean().optional(),resumeRerun:exports_external.boolean().optional()}).strict()),transitions:exports_external.array(exports_external.object({from:exports_external.string().min(1),to:exports_external.string().min(1),description:exports_external.string().optional(),trigger:exports_external.string().optional(),guard:GuardDefSchema.optional()}).strict()),extensions:WorkflowExtensionsSchema.optional()}).strict(),TransitionFlowWorkflowDefSchema=exports_external.object({$schema:exports_external.string().optional(),kind:exports_external.literal("transition-flow"),name:exports_external.string().min(1),version:exports_external.string().optional(),description:exports_external.string().optional(),initialNode:exports_external.string().min(1),terminalNodes:exports_external.array(exports_external.string().min(1)).optional(),iterationBound:exports_external.number().int().positive().optional(),defaultOnError:exports_external.enum(["fail","continue"]).optional(),vars:VarsSchema.optional(),env:EnvSchema.optional(),nodes:exports_external.array(exports_external.object({id:exports_external.string().min(1),description:exports_external.string().optional(),type:exports_external.enum(["action","gate","parallel","decision"]).optional(),action:ActionDefSchema.optional(),pause:exports_external.boolean().optional(),resumeRerun:exports_external.boolean().optional()}).strict()),edges:exports_external.array(exports_external.object({from:exports_external.string().min(1),to:exports_external.string().min(1),description:exports_external.string().optional(),condition:GuardDefSchema.optional()}).strict()),extensions:WorkflowExtensionsSchema.optional()}).strict(),WorkflowDefSchema=exports_external.union([StateMachineWorkflowDefSchema,TransitionFlowWorkflowDefSchema]);async function loadWorkflowDef(path8,options={}){return parseWorkflowDef(await loadStructuredConfig(path8,options),path8)}function validateWorkflowDef(workflow){if(workflow.kind==="transition-flow")validateTransitionFlow(workflow);else validateStateMachine(workflow)}function validateStateMachine(workflow){let errors6=[],ids=workflow.states.map((state)=>state.id),states=new Set(ids),terminals=new Set(workflow.terminalStates??[]),failures=new Set(workflow.failureStates??[]);for(let id of duplicates(ids))errors6.push(`State "${id}" is declared more than once`);for(let failure of failures)if(!states.has(failure))errors6.push(`Failure state "${failure}" is not declared`);else if(!terminals.has(failure))errors6.push(`Failure state "${failure}" must also be declared as a terminal state`);if(!states.has(workflow.initialState))errors6.push(`Initial state "${workflow.initialState}" is not declared`);else if(terminals.has(workflow.initialState))errors6.push(`Initial state "${workflow.initialState}" must not be a terminal state`);for(let terminal of terminals)if(!states.has(terminal))errors6.push(`Terminal state "${terminal}" is not declared`);let outboundByState=new Map;for(let transition of workflow.transitions){if(!states.has(transition.from))errors6.push(`Transition source "${transition.from}" is not declared`);if(!states.has(transition.to))errors6.push(`Transition target "${transition.to}" is not declared`);let list=outboundByState.get(transition.from)??[];list.push(transition),outboundByState.set(transition.from,list)}for(let state of workflow.states){let outbound=outboundByState.get(state.id)??[];if(terminals.has(state.id)){if(outbound.length>0)errors6.push(`Terminal state "${state.id}" must not declare transitions`);continue}let ungatedIndex=outbound.findIndex((transition)=>transition.guard===void 0);if(ungatedIndex!==-1&&ungatedIndex<outbound.length-1)errors6.push(`State "${state.id}" has an unguarded transition that is not last; later transitions are unreachable`)}errors6.push(...checkVariableReferences(collectActionOptions(workflow),workflow.vars,workflow.env)),throwIfErrors(workflow,errors6)}function parseWorkflowDef(parsed,source){let result=selectWorkflowSchema(parsed).safeParse(parsed);if(!result.success)throw new WorkflowValidationError(`Workflow definition failed schema validation for ${source}: ${formatWorkflowIssues(result.error.issues)}`,result.error.issues);return validateWorkflowDef(result.data),result.data}function selectWorkflowSchema(parsed){if(parsed!==null&&typeof parsed==="object"){let value=parsed;if(value.kind==="transition-flow"||"nodes"in value||"edges"in value||"initialNode"in value)return TransitionFlowWorkflowDefSchema}return StateMachineWorkflowDefSchema}function formatWorkflowIssues(issues){return issues.map((issue2)=>{let path8=issue2.path.map(String).join(".");return path8.length>0?`${path8}: ${issue2.message}`:issue2.message}).join("; ")}function validateTransitionFlow(workflow){let errors6=[],ids=workflow.nodes.map((node)=>node.id),nodes=new Set(ids);for(let id of duplicates(ids))errors6.push(`Node "${id}" is declared more than once`);if(!nodes.has(workflow.initialNode))errors6.push(`Initial node "${workflow.initialNode}" is not declared`);let seenEdges=new Set;for(let edge of workflow.edges){if(!nodes.has(edge.from))errors6.push(`Edge source "${edge.from}" is not declared`);if(!nodes.has(edge.to))errors6.push(`Edge target "${edge.to}" is not declared`);let key=`${edge.from}→${edge.to}`;if(seenEdges.has(key))errors6.push(`Duplicate edge "${key}"`);seenEdges.add(key)}for(let terminal of workflow.terminalNodes??[]){if(!nodes.has(terminal))errors6.push(`Terminal node "${terminal}" is not declared`);if(workflow.edges.some((edge)=>edge.from===terminal))errors6.push(`Terminal node "${terminal}" must not declare edges`)}for(let node of workflow.nodes){let outbound=workflow.edges.filter((edge)=>edge.from===node.id),unconditional=outbound.findIndex((edge)=>edge.condition===void 0);if(unconditional!==-1&&unconditional<outbound.length-1)errors6.push(`Node "${node.id}" has an unconditional edge that is not last; later edges are unreachable`)}errors6.push(...checkVariableReferences(collectActionOptions(workflow),workflow.vars,workflow.env)),throwIfErrors(workflow,errors6)}function duplicates(ids){let seen=new Set,dupes=new Set;for(let id of ids){if(seen.has(id))dupes.add(id);seen.add(id)}return[...dupes]}function collectActionOptions(workflow){let optionSets=[],actions=workflow.kind==="transition-flow"?workflow.nodes.flatMap((node)=>node.action?[node.action]:[]):workflow.states.flatMap((state)=>[...state.onEnter??[],...state.onExit??[]]);for(let action of actions)if(action.options)optionSets.push(action.options);return optionSets}var RUNTIME_TEMPLATE_NAMESPACES=new Set(RUNTIME_BUILTIN_KEYS);function checkVariableReferences(optionSets,vars,env2){let declaredVars=new Set(Object.keys(vars??{})),allowedEnv2=new Set(env2?.allow??[]),errors6=[],reference=/\$\{([^}]+)\}/g;for(let options of optionSets)for(let value of Object.values(options)){if(typeof value!=="string")continue;for(let match of value.matchAll(reference)){let expr=(match[1]??"").trim(),[namespace,name]=expr.includes(".")?expr.split(".",2):[expr,void 0];if(namespace==="vars"){if(name!==void 0&&!declaredVars.has(name))errors6.push(`Unknown variable reference "\${${expr}}" (no var "${name}" declared)`)}else if(namespace==="env"){if(name!==void 0&&!allowedEnv2.has(name))errors6.push(`Env reference "\${${expr}}" is not in env.allow`)}else if(namespace!==void 0&&!RUNTIME_TEMPLATE_NAMESPACES.has(namespace))errors6.push(`Unknown template reference "\${${expr}}"`)}}return errors6}function throwIfErrors(workflow,errors6){if(errors6.length>0)throw new WorkflowValidationError(`Workflow "${workflow.name}" is invalid: ${errors6.join("; ")}`,errors6)}init_dist6();var TEMPLATE_REF=/\$\{([^}]+)\}/g;function mergeVars(workflowVars={},overrideVars={}){return{...workflowVars,...overrideVars}}function mergeSetVars(vars,setVars){if(setVars===void 0)return vars;let filtered={};for(let[key,value]of Object.entries(setVars))if(typeof value==="string")filtered[key]=value;return mergeVars(vars,filtered)}function resolveTemplates(value,context4){if(typeof value==="string")return resolveTemplateString(value,context4);if(Array.isArray(value))return value.map((entry)=>resolveTemplates(entry,context4));if(value!==null&&typeof value==="object")return Object.fromEntries(Object.entries(value).map(([key,entry])=>[key,resolveTemplates(entry,context4)]));return value}function resolveTemplateString(value,context4){return value.replace(TEMPLATE_REF,(_match,name)=>{return lookupRef(name,context4)})}function lookupRef(name,context4){if(name.startsWith("vars.")){let key=name.slice(5),resolved2=context4.vars[key];if(resolved2===void 0)throw new WorkflowValidationError(`Workflow variable "${key}" is not defined`);return resolved2}if(name.startsWith("env.")){let key=name.slice(4),resolved2=context4.env[key];if(resolved2===void 0)throw new WorkflowValidationError(`Environment variable "${key}" is not defined`);return resolved2}let resolved=context4.builtins?.[name];if(resolved===void 0)throw new WorkflowValidationError(`Workflow builtin "${name}" is not defined`);return String(resolved)}var SHELL_ENV_OPTION="__wfShellEnv",SHELL_BINDING=/^\$\{__WF_\d+\}$/,SHELL_BINDING_ANY=/\$\{__WF_\d+\}|\$__WF_\d+\b/;function resolveShellCommandTemplates(options,context4){let{command,args,...rest}=options;if(typeof command!=="string")return resolveTemplates(rest,context4);if(args!==void 0&&!Array.isArray(args))throw Error(`shell action "args" must be a string array when defined; got ${typeof args}`);if(Array.isArray(args)&&args.length>0)return{...resolveTemplates(rest,context4),command:resolveTemplateString(command,context4),args:resolveTemplates(args,context4)};let env2={},index2=0;if(!(SHELL_ENV_OPTION in options)&&SHELL_BINDING_ANY.test(command))throw Error("shell command must not contain the reserved $__WF_ placeholder namespace; it is minted by the template-binding pass");let existingBindings=options[SHELL_ENV_OPTION];if(existingBindings!==void 0&&typeof existingBindings==="object"&&existingBindings!==null){Object.assign(env2,existingBindings);while(`__WF_${index2}`in env2)index2++}let bound=command.replace(TEMPLATE_REF,(match,name)=>{if(SHELL_BINDING.test(match))return match;let key=`__WF_${index2++}`;return env2[key]=lookupRef(name,context4),`\${${key}}`});return{...resolveTemplates(rest,context4),command:bound,[SHELL_ENV_OPTION]:env2}}function resolveOnErrorPolicy(actionOnError,workflowDefault,runOptionOverride){return actionOnError??workflowDefault??runOptionOverride??"fail"}class WorkflowEngineHost{lifecycleBus;actions=new CapabilityRegistry("workflow action");guards=new CapabilityRegistry("workflow guard");constructor(lifecycleBus){this.lifecycleBus=lifecycleBus}registerAction(action,origin2="extension"){return this.actions.register(action.kind,action,origin2),this}registerGuard(guard,origin2="extension"){return this.guards.register(guard.kind,guard,origin2),this}hasAction(kind){return this.actions.has(kind)}hasGuard(kind){return this.guards.has(kind)}listActions(){return this.actions.list()}listGuards(){return this.guards.list()}actionOrigin(kind){return this.actions.getEntry(kind)?.origin}guardOrigin(kind){return this.guards.getEntry(kind)?.origin}async runAction(kind,options,context4){if(!this.actions.has(kind))throw new WorkflowValidationError(`Unknown workflow action "${kind}"`);return await this.actions.get(kind).execute(options,context4)}async evaluateGuard(kind,options,context4){return(await this.evaluateGuardResult(kind,options,context4)).passed}async evaluateGuardResult(kind,options,context4){if(!this.guards.has(kind))throw new WorkflowValidationError(`Unknown workflow guard "${kind}"`);let result=await this.guards.get(kind).evaluate(options,context4);return typeof result==="boolean"?{passed:result}:result}}function createDefaultWorkflowEngineHost(options={}){let host=new WorkflowEngineHost(options.lifecycleBus);return host.registerAction(new NoteActionRunner,"builtin"),host.registerAction(new ShellActionRunner(options.processExecutor??nodeBunFactory2.createProcessExecutor()),"builtin"),host.registerAction(new EventEmitActionRunner,"builtin"),host.registerGuard(new ShellGuardRunner(options.processExecutor??nodeBunFactory2.createProcessExecutor()),"builtin"),host.registerGuard({kind:"always",evaluate:async()=>!0},"builtin"),host.registerGuard({kind:"never",evaluate:async()=>!1},"builtin"),host.registerGuard({kind:"action-ok",evaluate:async(_options,context4)=>context4.lastActionResult?.ok===!0},"builtin"),host}class NoteActionRunner{kind="note";async execute(options,context4){let message=String(options.message??"");return context4?.events?.emit("workflow.hitl.note",{runId:context4.runId,node:context4.stateOrNodeId,message,severity:"info"}),{ok:!0,data:{message}}}}class EventEmitActionRunner{kind="event.emit";async execute(options,context4){let name=String(options.name??"");if(!name)return{ok:!1,error:'event.emit requires a non-empty "name" option'};let payload=options.payload??{};return context4?.events?.emit("workflow.custom",{name,payload,severity:"info"}),{ok:!0,data:{name,payload}}}}async function spawnShellCommand(processExecutor,options,workdir){let command=stringOption(options,"command"),explicitArgs=arrayOption(options,"args"),spawn2=explicitArgs.length===0?{command:"/bin/sh",args:["-c",command]}:{command,args:explicitArgs},timeout=optionalTimeoutOption(options),envOption=options[SHELL_ENV_OPTION],env2=envOption!==null&&typeof envOption==="object"?envOption:void 0,result=await processExecutor.run({command:spawn2.command,args:spawn2.args,cwd:optionalStringOption(options,"cwd",workdir),...env2!==void 0?{env:env2,envMode:"merge"}:{},...timeout!==void 0?{timeout}:{},rejectOnError:!1,forceBuffered:!0});return{stdout:result.stdout,stderr:result.stderr,exitCode:result.exitCode,timedOut:result.outcome==="timeout"}}class ShellActionRunner{processExecutor;kind="shell";constructor(processExecutor){this.processExecutor=processExecutor}async execute(options,context4){let spawn2=await spawnShellCommand(this.processExecutor,options,context4.workdir);if(spawn2.timedOut){let timeout=optionalTimeoutOption(options);return{ok:!1,data:{stdout:spawn2.stdout,stderr:spawn2.stderr,exitCode:spawn2.exitCode,timedOut:!0},error:`Shell action timed out after ${timeout}ms`}}let command=stringOption(options,"command");return{ok:spawn2.exitCode===0,data:{stdout:spawn2.stdout,stderr:spawn2.stderr,exitCode:spawn2.exitCode},...spawn2.exitCode===0?{}:{error:`Command "${command}" exited with ${spawn2.exitCode}`}}}}class ShellGuardRunner{processExecutor;kind="shell";constructor(processExecutor){this.processExecutor=processExecutor}async evaluate(options,context4){let spawn2=await spawnShellCommand(this.processExecutor,options,context4.workdir);return{passed:!spawn2.timedOut&&spawn2.exitCode===0,report:{stdout:spawn2.stdout,stderr:spawn2.stderr,exitCode:spawn2.exitCode,...spawn2.timedOut?{timedOut:!0}:{}}}}}function stringOption(options,key,fallback){let value=options[key];if(typeof value==="string")return value;if(fallback!==void 0)return fallback;throw new WorkflowValidationError(`Action option "${key}" must be a string`)}function optionalStringOption(options,key,fallback){let value=options[key];if(typeof value==="string")return value;if(value===void 0)return fallback;throw new WorkflowValidationError(`Action option "${key}" must be a string`)}function arrayOption(options,key){let value=options[key];if(value===void 0)return[];if(Array.isArray(value)&&value.every((entry)=>typeof entry==="string"))return value;throw new WorkflowValidationError(`Action option "${key}" must be a string array`)}function optionalTimeoutOption(options){let value=options.timeout;if(value===void 0)return;if(typeof value==="number"&&Number.isFinite(value)&&value>0)return value;throw new WorkflowValidationError('shell option "timeout" must be a positive number of milliseconds')}var WORKFLOW_ENGINE_SCHEMA_SQL=`
|
|
555
|
+
CREATE TABLE IF NOT EXISTS runs (
|
|
556
|
+
id TEXT PRIMARY KEY,
|
|
557
|
+
workflow_name TEXT,
|
|
558
|
+
mode TEXT,
|
|
559
|
+
status TEXT NOT NULL,
|
|
560
|
+
agent TEXT,
|
|
561
|
+
external_key TEXT,
|
|
562
|
+
started_at TEXT NOT NULL,
|
|
563
|
+
completed_at TEXT,
|
|
564
|
+
metadata_json TEXT NOT NULL DEFAULT '{}',
|
|
565
|
+
created_at INTEGER NOT NULL DEFAULT 0,
|
|
566
|
+
updated_at INTEGER NOT NULL DEFAULT 0,
|
|
567
|
+
owner_attempt TEXT,
|
|
568
|
+
owner_pid INTEGER,
|
|
569
|
+
interrupt_reason TEXT
|
|
570
|
+
);
|
|
571
|
+
|
|
572
|
+
CREATE UNIQUE INDEX IF NOT EXISTS idx_runs_external_key
|
|
573
|
+
ON runs (workflow_name, external_key)
|
|
574
|
+
WHERE external_key IS NOT NULL;
|
|
575
|
+
|
|
576
|
+
CREATE TABLE IF NOT EXISTS phase_runs (
|
|
577
|
+
id TEXT PRIMARY KEY,
|
|
578
|
+
run_id TEXT NOT NULL,
|
|
579
|
+
phase TEXT NOT NULL,
|
|
580
|
+
status TEXT NOT NULL,
|
|
581
|
+
started_at TEXT,
|
|
582
|
+
completed_at TEXT,
|
|
583
|
+
created_at INTEGER NOT NULL DEFAULT 0,
|
|
584
|
+
updated_at INTEGER NOT NULL DEFAULT 0,
|
|
585
|
+
FOREIGN KEY (run_id) REFERENCES runs(id)
|
|
586
|
+
);
|
|
587
|
+
|
|
588
|
+
CREATE TABLE IF NOT EXISTS transition_runs (
|
|
589
|
+
id TEXT PRIMARY KEY,
|
|
590
|
+
run_id TEXT NOT NULL,
|
|
591
|
+
from_state TEXT NOT NULL,
|
|
592
|
+
to_state TEXT NOT NULL,
|
|
593
|
+
trigger TEXT,
|
|
594
|
+
status TEXT NOT NULL,
|
|
595
|
+
created_at INTEGER NOT NULL DEFAULT 0,
|
|
596
|
+
updated_at INTEGER NOT NULL DEFAULT 0,
|
|
597
|
+
FOREIGN KEY (run_id) REFERENCES runs(id)
|
|
598
|
+
);
|
|
599
|
+
CREATE TABLE IF NOT EXISTS workflow_states (
|
|
600
|
+
id TEXT PRIMARY KEY,
|
|
601
|
+
run_id TEXT NOT NULL,
|
|
602
|
+
state TEXT NOT NULL,
|
|
603
|
+
data_json TEXT NOT NULL,
|
|
604
|
+
created_at INTEGER NOT NULL DEFAULT 0,
|
|
605
|
+
updated_at INTEGER NOT NULL DEFAULT 0,
|
|
606
|
+
FOREIGN KEY (run_id) REFERENCES runs(id)
|
|
607
|
+
);
|
|
608
|
+
|
|
609
|
+
CREATE TABLE IF NOT EXISTS action_runs (
|
|
610
|
+
id TEXT PRIMARY KEY,
|
|
611
|
+
run_id TEXT NOT NULL,
|
|
612
|
+
node TEXT NOT NULL,
|
|
613
|
+
kind TEXT NOT NULL,
|
|
614
|
+
status TEXT NOT NULL,
|
|
615
|
+
duration_ms INTEGER,
|
|
616
|
+
ok INTEGER,
|
|
617
|
+
result_json TEXT,
|
|
618
|
+
started_at TEXT,
|
|
619
|
+
completed_at TEXT,
|
|
620
|
+
created_at INTEGER NOT NULL DEFAULT 0,
|
|
621
|
+
updated_at INTEGER NOT NULL DEFAULT 0,
|
|
622
|
+
FOREIGN KEY (run_id) REFERENCES runs(id)
|
|
623
|
+
);
|
|
624
|
+
`.trim(),WORKFLOW_ENGINE_MIGRATIONS_SQL=`
|
|
625
|
+
ALTER TABLE runs ADD COLUMN owner_attempt TEXT;
|
|
626
|
+
ALTER TABLE runs ADD COLUMN owner_pid INTEGER;
|
|
627
|
+
ALTER TABLE runs ADD COLUMN interrupt_reason TEXT;
|
|
628
|
+
`.trim();async function applyWorkflowEngineSchema(db2){for(let statement of WORKFLOW_ENGINE_SCHEMA_SQL.split(";")){let sql4=statement.trim();if(sql4.length>0)await db2.exec(sql4)}for(let statement of WORKFLOW_ENGINE_MIGRATIONS_SQL.split(";")){let sql4=statement.trim();if(sql4.length===0)continue;try{await db2.exec(sql4)}catch(error51){if(!/duplicate column/i.test(String(error51)))throw error51}}}function isRecord(value){return typeof value==="object"&&value!==null&&!Array.isArray(value)}function defaultActionRedactor(kind,payload){if(kind!=="shell")return payload;let data=isRecord(payload.data)?{...payload.data}:payload.data;if(isRecord(data)){if("stdout"in data)data.stdout="[redacted]";if("stderr"in data)data.stderr="[redacted]"}return{...payload,data}}function applyRedactor(redactor,kind,result){let payload=isRecord(result)?result:{value:result};return redactor!==void 0?redactor(kind,payload):defaultActionRedactor(kind,payload)}class DbWorkflowPersistenceAdapter{db;schemaReady;constructor(db2){this.db=db2}ensureSchema(){return this.schemaReady??=applyWorkflowEngineSchema(this.db),this.schemaReady}async createRun(record2){if(await this.loadRun(record2.id)!==void 0)throw new RunCollisionError(record2.id);await this.ensureSchema(),await this.db.run(`INSERT INTO runs (id, workflow_name, mode, status, external_key, started_at, completed_at, metadata_json, owner_attempt, owner_pid, created_at, updated_at)
|
|
629
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,record2.id,record2.workflow_name,record2.mode,record2.status,record2.external_key??null,record2.started_at,record2.completed_at,record2.metadata_json,record2.owner_attempt??null,record2.owner_pid??null,Date.now(),Date.now())}async finalizeRun(runId,status,completedAt,fence){if(fence===void 0)return await this.db.run("UPDATE runs SET status = ?, completed_at = ?, updated_at = ? WHERE id = ?",status,completedAt,Date.now(),runId),!0;await this.db.run("UPDATE runs SET status = ?, completed_at = ?, updated_at = ? WHERE id = ? AND owner_attempt = ? AND status = 'running'",status,completedAt,Date.now(),runId,fence.ownerAttempt);let run=await this.loadRun(runId);return run!==void 0&&run.status===status&&run.owner_attempt===fence.ownerAttempt}async claimRunOwnership(runId,owner,expectedStatuses){await this.ensureSchema();let placeholders=expectedStatuses.map(()=>"?").join(", ");await this.db.run(`UPDATE runs SET status = 'running', completed_at = NULL, owner_attempt = ?, owner_pid = ?, updated_at = ?
|
|
630
|
+
WHERE id = ? AND status IN (${placeholders})`,owner.attemptId,owner.pid??null,Date.now(),runId,...expectedStatuses);let run=await this.loadRun(runId);return run!==void 0&&run.status==="running"&&run.owner_attempt===owner.attemptId?run:void 0}async interruptRun(runId,reason){await this.ensureSchema(),await this.db.run("UPDATE runs SET status = 'interrupted', interrupt_reason = ?, completed_at = NULL, updated_at = ? WHERE id = ? AND status = 'running'",reason,Date.now(),runId);let run=await this.loadRun(runId);return run!==void 0&&run.status==="interrupted"?run:void 0}async savePhase(runId,phase,status){let op=this.phaseRow(runId,phase,status,Date.now());await this.db.run(op.sql,...op.params)}async saveTransition(runId,from,to,trigger){let op=this.transitionRow(runId,from,to,trigger,Date.now());await this.db.run(op.sql,...op.params)}async saveWorkflowState(runId,state,data){let op=this.stateRow(runId,state,data,Date.now());await this.db.run(op.sql,...op.params)}async commitTransition(runId,from,to,trigger,state,data,phase){await this.ensureSchema();let now=Date.now(),ops=[this.transitionRow(runId,from,to,trigger,now),this.stateRow(runId,state,data,now)];if(phase)ops.push(this.phaseRow(runId,phase.phase,phase.status,now));await this.db.batch(ops)}transitionRow(runId,from,to,trigger,now){return{sql:`INSERT INTO transition_runs (id, run_id, from_state, to_state, trigger, status, created_at, updated_at)
|
|
631
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?)`,params:[`${runId}:transition:${from}:${to}:${crypto.randomUUID()}`,runId,from,to,trigger,"done",now,now]}}stateRow(runId,state,data,now){return{sql:`INSERT INTO workflow_states (id, run_id, state, data_json, created_at, updated_at)
|
|
632
|
+
VALUES (?, ?, ?, ?, ?, ?)`,params:[`${runId}:state:${state}:${crypto.randomUUID()}`,runId,state,JSON.stringify(data),now,now]}}phaseRow(runId,phase,status,now){return{sql:`INSERT INTO phase_runs (id, run_id, phase, status, started_at, completed_at, created_at, updated_at)
|
|
633
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?)`,params:[`${runId}:phase:${phase}:${crypto.randomUUID()}`,runId,phase,status,new Date(now).toISOString(),status==="running"?null:new Date(now).toISOString(),now,now]}}async saveActionStart(runId,node,kind,_options){let id=crypto.randomUUID(),now=Date.now();return await this.db.run(`INSERT INTO action_runs (id, run_id, node, kind, status, started_at, created_at, updated_at)
|
|
634
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?)`,id,runId,node,kind,"running",new Date(now).toISOString(),now,now),id}async saveActionFinalize(actionId,status,durationMs,ok,kind,result,redactor){let now=Date.now();await this.db.run(`UPDATE action_runs
|
|
635
|
+
SET status = ?, duration_ms = ?, ok = ?, result_json = ?, completed_at = ?, updated_at = ?
|
|
636
|
+
WHERE id = ?`,status,durationMs,ok?1:0,result!==void 0?JSON.stringify(applyRedactor(redactor,kind,result)):null,new Date(now).toISOString(),now,actionId)}async loadRun(runId){return await this.ensureSchema(),await this.db.queryFirst("SELECT * FROM runs WHERE id = ?",runId)??void 0}async listRuns(){return await this.ensureSchema(),await this.db.queryAll("SELECT * FROM runs ORDER BY started_at DESC")}async findRunByKey(workflowName,externalKey){return await this.ensureSchema(),await this.db.queryFirst("SELECT * FROM runs WHERE workflow_name = ? AND external_key = ?",workflowName,externalKey)??void 0}async createOrAttachRun(record2){if(await this.ensureSchema(),record2.external_key!==void 0&&record2.external_key!==null){let existing=await this.findRunByKey(record2.workflow_name,record2.external_key);if(existing)return existing}try{await this.createRun(record2)}catch(error51){if(record2.external_key!==void 0&&record2.external_key!==null){let existing=await this.findRunByKey(record2.workflow_name,record2.external_key);if(existing)return existing}throw error51}return{...record2}}async reseedRun(runId,newState){await this.ensureSchema();let previous=await this.loadLatestStateSnapshot(runId),now=Date.now(),data={...previous?.data??{},reseeded:!0,reseededAt:new Date(now).toISOString()};return await this.commitTransition(runId,previous?.state??"",newState,"__reseed__",newState,data),{fromState:previous?.state??null,toState:newState}}async loadCurrentState(runId){return await this.ensureSchema(),(await this.db.queryFirst("SELECT state FROM workflow_states WHERE run_id = ? ORDER BY created_at DESC, rowid DESC LIMIT 1",runId))?.state}async loadLatestStateSnapshot(runId){await this.ensureSchema();let row=await this.db.queryFirst("SELECT state, data_json FROM workflow_states WHERE run_id = ? ORDER BY created_at DESC, rowid DESC LIMIT 1",runId);if(row==null)return;let data={};if(row.data_json!==null&&row.data_json.length>0)try{data=JSON.parse(row.data_json)}catch{data={}}return{state:row.state,data}}async listPausedRuns(options){await this.ensureSchema();let where=["status = 'paused'"],params=[];if(options?.workflowName!==void 0)where.push("workflow_name = ?"),params.push(options.workflowName);let limit=options?.limit??100,sql4=`SELECT * FROM runs WHERE ${where.join(" AND ")} ORDER BY updated_at DESC, rowid DESC LIMIT ?`;return params.push(limit),await this.db.queryAll(sql4,...params)}}init_dist7();async function runActionStep(action,vars,deps){let{host,persistence,lifecycle,stateOrNodeId,runId}=deps,templateContext={vars,env:deps.env,builtins:runtimeBuiltins(deps.workflowName,stateOrNodeId,runId,deps.transitionsTaken,deps.mode)},resolvedWithEnv=action.kind==="shell"?resolveShellCommandTemplates(action.options??{},templateContext):resolveTemplates(action.options??{},templateContext),{[SHELL_ENV_OPTION]:_shellEnv,...resolved}=resolvedWithEnv,actionId=await persistence.saveActionStart(runId,stateOrNodeId,action.kind,resolved),actionStartMs=Date.now();lifecycle.actionStart(stateOrNodeId,action.kind);let result;try{result=await host.runAction(action.kind,resolvedWithEnv,{runId,actionId,workdir:deps.options.workdir,stateOrNodeId,vars,env:deps.env,metadata:deps.options.metadata,events:deps.options.events})}catch(error51){result={ok:!1,error:error51 instanceof Error?error51.message:String(error51)}}finally{let durationMs=Date.now()-actionStartMs;lifecycle.actionDone(stateOrNodeId,action.kind,durationMs,result?.ok??!1),await persistence.saveActionFinalize(actionId,result?.ok===!0?"done":"failed",durationMs,result?.ok??!1,action.kind,result,deps.options.redactor??defaultActionRedactor)}if(result.terminal===!0)return{outcome:"terminal",result};if(!result.ok){if(resolveOnErrorPolicy(action.onError,deps.defaultOnError,deps.options.onError)==="fail")return{outcome:"fail",result};lifecycle.warnActionFailed(stateOrNodeId,deps.transitionsTaken,result.error)}return{outcome:"completed",result}}async function runActionSequence(actions,vars,deps){let last,acc;for(let action of actions){let step=await runActionStep(action,vars,deps);if(step.result!==void 0)last=step.result;if(step.result?.setVars)acc=mergeSetVars(acc??{},step.result.setVars),vars=mergeSetVars(vars,step.result.setVars);if(step.outcome==="terminal")return{outcome:"terminal",result:last,setVars:acc};if(step.outcome==="fail")return{outcome:"fail",result:last,setVars:acc}}return{outcome:"completed",result:last,setVars:acc}}class StateMachineDriver{options;constructor(options){this.options=options}async run(workflow,options={}){return await RunLifecycle.run(workflow.name,"state-machine",{persistence:this.options.persistence,events:options.events},options,(lifecycle)=>this.loop(workflow,options,lifecycle))}async resume(workflow,runId,resumeFromState,externalKey,options={}){return await RunLifecycle.resume(workflow.name,"state-machine",{persistence:this.options.persistence,events:options.events},runId,externalKey,(lifecycle)=>this.loop(workflow,options,lifecycle,resumeFromState),options.resumeOwner?.attemptId)}async loop(workflow,options,lifecycle,resumeFromState){let runId=lifecycle.runId,states=new Map(workflow.states.map((state)=>[state.id,state])),terminal=new Set(workflow.terminalStates??[]),failure=new Set(workflow.failureStates??[]),vars=mergeVars(workflow.vars,options.vars),env2=allowedEnv(workflow.env?.allow??[],options.env),current=resumeFromState!==void 0?states.get(resumeFromState):states.get(workflow.initialState),snapshot=resumeFromState===void 0?void 0:await this.options.persistence.loadLatestStateSnapshot(runId),transitionsTaken=snapshotTransitions(snapshot?.data),lastActionResult=snapshotActionResult(snapshot?.data),iterationBound=workflow.iterationBound??50,defaultOnError=workflow.defaultOnError,resumeMode=resumeFromState!==void 0?options.resumeMode??"skip-enter":void 0,persistedViaHop=!1;if(current===void 0){let label=resumeFromState??workflow.initialState;throw new FSMError(`State "${label}" is not declared`)}while(!0){if(resumeMode==="skip-enter")resumeMode=void 0,persistedViaHop=!0;else{if(resumeMode==="rerun-enter"){if(current.resumeRerun!==!0)throw new FSMError(`Cannot rerun-resume into state "${current.id}": not marked resumeRerun: true (mark its on-enter actions as safe to re-run, or resume with resumeMode: "skip-enter")`);resumeMode=void 0,persistedViaHop=!0}await lifecycle.enter(current.id,transitionsTaken,!persistedViaHop,vars);let enter=options.dryRun?EMPTY_OUTCOME:await runActionSequence(current.onEnter??[],vars,{host:this.options.host,persistence:this.options.persistence,lifecycle,workflowName:workflow.name,stateOrNodeId:current.id,runId,mode:"state-machine",transitionsTaken,env:env2,options,defaultOnError});if(enter.result!==void 0)lastActionResult=enter.result;if(enter.setVars)vars=mergeSetVars(vars,enter.setVars);if(enter.outcome==="terminal")return failure.has(current.id)?await lifecycle.fail(current.id,transitionsTaken,`terminal:${current.id}`):await lifecycle.done(current.id,transitionsTaken);if(enter.outcome==="fail")return await lifecycle.fail(current.id,transitionsTaken,lastActionResult?.error);if(current.pause===!0)return await lifecycle.pause(current.id,transitionsTaken,vars,lastActionResult)}let outbound=workflow.transitions.filter((transition)=>transition.from===current?.id);if(terminal.has(current.id)||outbound.length===0)return failure.has(current.id)?await lifecycle.fail(current.id,transitionsTaken,`terminal:${current.id}`):await lifecycle.done(current.id,transitionsTaken);let nextTransition=await firstPassingTransition(outbound,this.options.host,{runId,current:current.id,vars,env:env2,lastActionResult,workdir:options.workdir},lifecycle);if(nextTransition===void 0)return await lifecycle.fail(current.id,transitionsTaken,"no-passing-transition");let exit=options.dryRun?EMPTY_OUTCOME:await runActionSequence(current.onExit??[],vars,{host:this.options.host,persistence:this.options.persistence,lifecycle,workflowName:workflow.name,stateOrNodeId:current.id,runId,mode:"state-machine",transitionsTaken,env:env2,options,defaultOnError});if(exit.result!==void 0)lastActionResult=exit.result;if(exit.setVars)vars=mergeSetVars(vars,exit.setVars);if(exit.outcome==="terminal")return failure.has(current.id)?await lifecycle.fail(current.id,transitionsTaken,`terminal:${current.id}`):await lifecycle.done(current.id,transitionsTaken);if(exit.outcome==="fail")return await lifecycle.fail(current.id,transitionsTaken,exit.result?.error);if(transitionsTaken+=1,await lifecycle.commitHop(current.id,nextTransition.to,nextTransition.trigger??null,transitionsTaken,{phase:nextTransition.to,status:"running"},vars),transitionsTaken>iterationBound)return await lifecycle.fail(current.id,transitionsTaken,"iteration-bound-exceeded");let nextState=states.get(nextTransition.to);if(nextState===void 0)throw new FSMError(`Transition target "${nextTransition.to}" is not declared`);current=nextState,persistedViaHop=!0}}}var EMPTY_OUTCOME={outcome:"completed",result:void 0,setVars:void 0};async function firstPassingTransition(transitions,host,context4,lifecycle){for(let transition of transitions){if(transition.guard===void 0)return transition;let resolvedOptions=transition.guard.kind==="shell"?resolveShellCommandTemplates(transition.guard.options??{},{vars:context4.vars,env:context4.env??{}}):resolveTemplates(transition.guard.options??{},{vars:context4.vars,env:context4.env??{}}),passed=await host.evaluateGuard(transition.guard.kind,resolvedOptions,context4);if(lifecycle.guardEvaluated(context4.current,transition.to,transition.guard.kind,passed),passed)return transition}return}class TransitionFlowDriver{options;constructor(options){this.options=options}async run(workflow,options={}){return await RunLifecycle.run(workflow.name,"transition-flow",{persistence:this.options.persistence,events:options.events},options,(lifecycle)=>this.loop(workflow,options,lifecycle))}async resume(workflow,runId,resumeFromNode,externalKey,options={}){return await RunLifecycle.resume(workflow.name,"transition-flow",{persistence:this.options.persistence,events:options.events},runId,externalKey,(lifecycle)=>this.loop(workflow,options,lifecycle,resumeFromNode),options.resumeOwner?.attemptId)}async loop(workflow,options,lifecycle,resumeFromNode){let runId=lifecycle.runId,nodes=new Map(workflow.nodes.map((node)=>[node.id,node])),terminal=new Set(workflow.terminalNodes??[]),vars=mergeVars(workflow.vars,options.vars),env2=allowedEnv(workflow.env?.allow??[],options.env),current=resumeFromNode!==void 0?nodes.get(resumeFromNode):nodes.get(workflow.initialNode),snapshot=resumeFromNode===void 0?void 0:await this.options.persistence.loadLatestStateSnapshot(runId),transitionsTaken=snapshotTransitions(snapshot?.data),lastActionResult=snapshotActionResult(snapshot?.data),iterationBound=workflow.iterationBound??50,defaultOnError=workflow.defaultOnError,resumeMode=resumeFromNode!==void 0?options.resumeMode??"skip-enter":void 0,persistedViaHop=!1;if(current===void 0){let label=resumeFromNode??workflow.initialNode;throw new FSMError(`Node "${label}" is not declared`)}while(!0){if(resumeMode==="skip-enter")resumeMode=void 0,persistedViaHop=!0;else{if(resumeMode==="rerun-enter"){if(current.resumeRerun!==!0)throw new FSMError(`Cannot rerun-resume into node "${current.id}": not marked resumeRerun: true (mark its action as safe to re-run, or resume with resumeMode: "skip-enter")`);resumeMode=void 0,persistedViaHop=!0}if(await lifecycle.enter(current.id,transitionsTaken,!persistedViaHop,vars),options.dryRun){if(current.action!==void 0)lastActionResult=void 0}else if(current.action!==void 0){let step=await runActionStep(current.action,vars,{host:this.options.host,persistence:this.options.persistence,lifecycle,workflowName:workflow.name,stateOrNodeId:current.id,runId,mode:"transition-flow",transitionsTaken,env:env2,options,defaultOnError});if(lastActionResult=step.result,step.result?.setVars)vars=mergeSetVars(vars,step.result.setVars);if(step.outcome==="terminal")return await lifecycle.done(current.id,transitionsTaken);if(step.outcome==="fail")return await lifecycle.fail(current.id,transitionsTaken,step.result?.error)}if(current.pause===!0)return await lifecycle.pause(current.id,transitionsTaken,vars,lastActionResult)}let outbound=workflow.edges.filter((edge2)=>edge2.from===current?.id);if(terminal.has(current.id)||outbound.length===0)return await lifecycle.done(current.id,transitionsTaken);let edge=await firstPassingEdge(outbound,this.options.host,{runId,current:current.id,vars,env:env2,lastActionResult,workdir:options.workdir},lifecycle);if(edge===void 0)return await lifecycle.fail(current.id,transitionsTaken,"no-passing-edge");if(transitionsTaken+=1,await lifecycle.commitHop(current.id,edge.to,edge.condition?.kind??null,transitionsTaken,{phase:edge.to,status:"running"},vars),transitionsTaken>iterationBound)return await lifecycle.fail(current.id,transitionsTaken,"iteration-bound-exceeded");let nextNode=nodes.get(edge.to);if(nextNode===void 0)throw new FSMError(`Edge target "${edge.to}" is not declared`);current=nextNode,persistedViaHop=!0}}}async function firstPassingEdge(edges,host,context4,lifecycle){for(let edge of edges){if(edge.condition===void 0)return edge;let resolvedOptions=edge.condition.kind==="shell"?resolveShellCommandTemplates(edge.condition.options??{},{vars:context4.vars,env:context4.env??{}}):resolveTemplates(edge.condition.options??{},{vars:context4.vars,env:context4.env??{}}),passed=await host.evaluateGuard(edge.condition.kind,resolvedOptions,context4);if(lifecycle.guardEvaluated(context4.current,edge.to,edge.condition.kind,passed),passed)return edge}return}class WorkflowService{host;persistence;runLocks=new Map;lifecycleBus;constructor(host,persistence,lifecycleBus){this.host=host,this.persistence=persistence,this.lifecycleBus=lifecycleBus??host.lifecycleBus}resolveEvents(events){return events??(this.lifecycleBus?new EventBus({lifecycleBus:this.lifecycleBus}):void 0)}async load(path8){return await loadWorkflowDef(path8)}async run(workflow,options={}){let events=this.resolveEvents(options.events);if(workflow.kind==="transition-flow")return await new TransitionFlowDriver({host:this.host,persistence:this.persistence}).run(workflow,{...options,events});return await new StateMachineDriver({host:this.host,persistence:this.persistence}).run(workflow,{...options,events})}async runFile(path8,options={}){return await this.run(await this.load(path8),options)}async listRuns(){return await this.persistence.listRuns()}async findRunByKey(workflowName,externalKey){return await this.persistence.findRunByKey(workflowName,externalKey)}async createOrAttachRun(record2){return await this.persistence.createOrAttachRun(record2)}async reseedRun(workflowOrRunId,runIdOrNewState,newStateOrOptions,maybeOptions){let args=typeof workflowOrRunId==="string"?{workflow:void 0,runId:workflowOrRunId,newState:runIdOrNewState,options:newStateOrOptions}:{workflow:workflowOrRunId,runId:runIdOrNewState,newState:newStateOrOptions,options:maybeOptions};if(args.workflow!==void 0)this.assertReseedTargetDeclared(args.workflow,args.runId,args.newState);await this.commitReseed(args.runId,args.newState,args.options)}assertReseedTargetDeclared(workflow,runId,newState){if(workflow.kind==="transition-flow")throw new FSMError("reseedRun only supports state-machine workflows");if(!workflow.states.some((state)=>state.id===newState))throw new FSMError(`Cannot reseed run "${runId}" to undeclared state "${newState}"`)}async commitReseed(runId,newState,options){let extKey=(await this.persistence.loadRun(runId))?.external_key??void 0,result=await this.persistence.reseedRun(runId,newState);this.resolveEvents(options?.events)?.emit("workflow.run.reseeded",{runId,fromState:result.fromState??"",toState:result.toState,externalKey:extKey,severity:"warning"})}async resumeRun(workflow,runId,options){let run=await this.persistence.loadRun(runId);if(run===void 0)throw new WorkflowResumeError(`Run "${runId}" not found`);if(run.status!=="paused"&&run.status!=="interrupted")throw new WorkflowResumeError(`Run "${runId}" is not resumable (status: ${run.status})`);let currentState=await this.persistence.loadCurrentState(runId);if(currentState===void 0)throw new WorkflowResumeError(`Run "${runId}" has no persisted state to resume from`);let resumeMode=options?.resumeMode??(run.status==="interrupted"?"rerun-enter":"skip-enter");this.assertResumeRerunAllowed(workflow,currentState,resumeMode);let snapshot=await this.persistence.loadLatestStateSnapshot(runId),persistedVars=extractEffectiveVars(snapshot?.data),restoredVars=mergeVars(persistedVars,options?.vars),owner=options?.resumeOwner??{attemptId:crypto.randomUUID()},mergedOptions={...options,vars:restoredVars,resumeMode,resumeOwner:owner},claimed=await this.persistence.claimRunOwnership(runId,owner,["paused","interrupted"]);if(claimed===void 0){let current=await this.persistence.loadRun(runId);throw new WorkflowResumeError(`Run "${runId}" could not be claimed for resume (status: ${current?.status??"unknown"}, owner: ${current?.owner_attempt??"none"})`)}let extKey=claimed.external_key??void 0;if(this.resolveEvents(mergedOptions.events)?.emit("workflow.run.resumed",{runId,node:currentState,resumeMode,ownerAttemptId:owner.attemptId,externalKey:extKey,severity:"info"}),workflow.kind==="transition-flow")return await new TransitionFlowDriver({host:this.host,persistence:this.persistence}).resume(workflow,runId,currentState,extKey,mergedOptions);return await new StateMachineDriver({host:this.host,persistence:this.persistence}).resume(workflow,runId,currentState,extKey,mergedOptions)}async interruptRun(runId,reason){let interrupted=await this.persistence.interruptRun(runId,reason);if(interrupted!==void 0)this.resolveEvents(void 0)?.emit("workflow.run.interrupted",{runId,reason,externalKey:interrupted.external_key??void 0,severity:"warning"});return interrupted}assertResumeRerunAllowed(workflow,currentState,resumeMode){if(resumeMode!=="rerun-enter")return;let node=workflow.kind==="transition-flow"?workflow.nodes.find((candidate)=>candidate.id===currentState):workflow.states.find((candidate)=>candidate.id===currentState);if(node!==void 0&&node.resumeRerun!==!0)throw new FSMError(`Cannot rerun-resume into "${currentState}": not marked resumeRerun: true `+'(mark its actions as safe to re-run — idempotent or deduped by runId+state — or resume with resumeMode: "skip-enter")')}async listPausedRuns(options){return await this.persistence.listPausedRuns(options)}async requestTransition(workflow,runId,toState,options){let release,previous=this.runLocks.get(runId)??Promise.resolve(),next=previous.then(()=>new Promise((resolve)=>{release=resolve}));this.runLocks.set(runId,next),await previous;try{return await this.evaluateAndCommit(workflow,runId,toState,options)}finally{if(release(),this.runLocks.get(runId)===next)this.runLocks.delete(runId)}}async evaluateAndCommit(workflow,runId,toState,options){let currentState=await this.persistence.loadCurrentState(runId),extKey=(await this.persistence.loadRun(runId))?.external_key??void 0;if(currentState===void 0)return{allowed:!1,reason:"no-such-transition",detail:`No state recorded for run "${runId}"`};let events=this.resolveEvents(options?.events),lifecycle=RunLifecycle.forExternalTransition(workflow.name,runId,{persistence:this.persistence,events},extKey),transition=workflow.transitions.find((t)=>t.from===currentState&&t.to===toState);if(transition===void 0)return this.denyTransition(events,runId,currentState,toState,extKey,{reason:"no-such-transition",detail:`No transition from "${currentState}" to "${toState}"`});let snapshot=await this.persistence.loadLatestStateSnapshot(runId),vars=mergeVars(mergeVars(workflow.vars,extractEffectiveVars(snapshot?.data)),options?.vars),env2=allowedEnv(workflow.env?.allow??[],options?.env);if(transition.guard!==void 0){let resolvedGuardOptions=transition.guard.kind==="shell"?resolveShellCommandTemplates(transition.guard.options??{},{vars,env:env2}):resolveTemplates(transition.guard.options??{},{vars,env:env2}),guardResult=await this.host.evaluateGuardResult(transition.guard.kind,resolvedGuardOptions,{runId,current:currentState,lastActionResult:snapshotActionResult(snapshot?.data),vars,env:env2,workdir:options?.workdir});if(lifecycle.guardEvaluated(currentState,toState,transition.guard.kind,guardResult.passed),!guardResult.passed)return this.denyTransition(events,runId,currentState,toState,extKey,{reason:"guard-failed",detail:`Guard "${transition.guard.kind}" denied transition from "${currentState}" to "${toState}"`,guardKind:transition.guard.kind,...guardResult.report===void 0?{}:{guardReport:guardResult.report}})}let trigger=transition.trigger??null;return await lifecycle.commitHop(currentState,toState,trigger,snapshotTransitions(snapshot?.data)+1,void 0,vars),events?.emit("workflow.transition.requested",{runId,from:currentState,to:toState,trigger,externalKey:extKey,severity:"info"}),{allowed:!0,fromState:currentState,toState}}denyTransition(events,runId,from,to,externalKey,denial){return events?.emit("workflow.transition.denied",{runId,from,to,reason:denial.reason,externalKey,severity:"error"}),{allowed:!1,...denial}}}function extractEffectiveVars(data){if(data===void 0)return{};let raw=data.effectiveVars;if(raw===void 0||raw===null)return{};if(typeof raw!=="object")return{};let filtered={};for(let[key,value]of Object.entries(raw))if(typeof value==="string")filtered[key]=value;return filtered}var RULE_ENGINE_SCHEMA_SQL=`
|
|
637
|
+
CREATE TABLE IF NOT EXISTS rule_runs (
|
|
638
|
+
id TEXT PRIMARY KEY,
|
|
639
|
+
preset TEXT,
|
|
640
|
+
source_kind TEXT NOT NULL,
|
|
641
|
+
source_value TEXT,
|
|
642
|
+
status TEXT NOT NULL DEFAULT 'running',
|
|
643
|
+
rule_count INTEGER NOT NULL DEFAULT 0,
|
|
644
|
+
finding_count INTEGER NOT NULL DEFAULT 0,
|
|
645
|
+
fix_count INTEGER NOT NULL DEFAULT 0,
|
|
646
|
+
applied_fix_count INTEGER NOT NULL DEFAULT 0,
|
|
647
|
+
fail_on TEXT,
|
|
648
|
+
stop_on_first TEXT,
|
|
649
|
+
fix_mode TEXT NOT NULL DEFAULT 'none',
|
|
650
|
+
dry_run INTEGER NOT NULL DEFAULT 0,
|
|
651
|
+
started_at TEXT NOT NULL,
|
|
652
|
+
completed_at TEXT,
|
|
653
|
+
duration_ms INTEGER,
|
|
654
|
+
metadata_json TEXT NOT NULL DEFAULT '{}',
|
|
655
|
+
created_at TEXT NOT NULL,
|
|
656
|
+
updated_at TEXT NOT NULL
|
|
657
|
+
);
|
|
658
|
+
|
|
659
|
+
CREATE TABLE IF NOT EXISTS rule_eval_runs (
|
|
660
|
+
id TEXT PRIMARY KEY,
|
|
661
|
+
run_id TEXT NOT NULL REFERENCES rule_runs(id),
|
|
662
|
+
rule_id TEXT NOT NULL,
|
|
663
|
+
severity TEXT NOT NULL,
|
|
664
|
+
evaluator TEXT NOT NULL,
|
|
665
|
+
status TEXT NOT NULL DEFAULT 'running',
|
|
666
|
+
finding_count INTEGER NOT NULL DEFAULT 0,
|
|
667
|
+
fix_count INTEGER NOT NULL DEFAULT 0,
|
|
668
|
+
duration_ms INTEGER,
|
|
669
|
+
error TEXT,
|
|
670
|
+
findings_json TEXT,
|
|
671
|
+
fixes_json TEXT,
|
|
672
|
+
started_at TEXT NOT NULL,
|
|
673
|
+
completed_at TEXT,
|
|
674
|
+
created_at TEXT NOT NULL,
|
|
675
|
+
updated_at TEXT NOT NULL
|
|
676
|
+
);
|
|
677
|
+
|
|
678
|
+
CREATE INDEX IF NOT EXISTS idx_rule_eval_runs_run_id ON rule_eval_runs (run_id);
|
|
679
|
+
`;init_schema();var planningEventsTable=defineTable("planning_events",{id:text("id").primaryKey(),entityKind:text("entity_kind").notNull(),entityId:text("entity_id").notNull(),event:text("event").notNull(),fromStatus:text("from_status"),toStatus:text("to_status"),payload:text("payload"),createdAt:text("created_at").notNull()}),planningEvents=planningEventsTable.table,taskRunLinksTable=defineTable("task_run_links",{id:text("id").primaryKey(),wbs:text("wbs").notNull(),runId:text("run_id").notNull(),kind:text("kind").notNull(),createdAt:text("created_at").notNull()}),taskRunLinks=taskRunLinksTable.table,PLANNING_SCHEMA_SQL=[planningEventsTable.createTableSql,taskRunLinksTable.createTableSql].map((sql4)=>`${sql4};`).join(`
|
|
680
|
+
|
|
681
|
+
`);var DOMAIN_SCHEMA_SQL=[workspacesTable.createTableSql,runsTable.createTableSql,phaseRunsTable.createTableSql,transitionRunsTable.createTableSql,workflowStatesTable.createTableSql,artifactsTable.createTableSql].map((sql4)=>`${sql4};`).join(`
|
|
682
|
+
|
|
683
|
+
`);var INBOX_MESSAGES_SCHEMA_SQL=`
|
|
684
|
+
CREATE TABLE IF NOT EXISTS inbox_messages (
|
|
685
|
+
id TEXT PRIMARY KEY,
|
|
686
|
+
from_id TEXT,
|
|
687
|
+
to_id TEXT NOT NULL,
|
|
688
|
+
body TEXT NOT NULL,
|
|
689
|
+
status TEXT NOT NULL DEFAULT 'queued',
|
|
690
|
+
in_reply_to TEXT,
|
|
691
|
+
created_at INTEGER NOT NULL,
|
|
692
|
+
updated_at INTEGER NOT NULL,
|
|
693
|
+
delivered_at INTEGER,
|
|
694
|
+
inject_attempts INTEGER NOT NULL DEFAULT 0,
|
|
695
|
+
inject_error TEXT,
|
|
696
|
+
request_key TEXT
|
|
697
|
+
);
|
|
698
|
+
|
|
699
|
+
CREATE INDEX IF NOT EXISTS idx_inbox_messages_to_status ON inbox_messages (to_id, status);
|
|
700
|
+
|
|
701
|
+
-- 0832: caller-minted idempotency key on send. Partial unique index — SQLite
|
|
702
|
+
-- allows unlimited NULLs, so keyless sends are unaffected while keyed sends are
|
|
703
|
+
-- collision-proof (the constraint arbitrates concurrent submissions).
|
|
704
|
+
CREATE UNIQUE INDEX IF NOT EXISTS idx_inbox_messages_request_key ON inbox_messages (request_key) WHERE request_key IS NOT NULL;
|
|
705
|
+
`,INBOX_MESSAGES_REQUEST_KEY_SCHEMA_SQL=`
|
|
706
|
+
ALTER TABLE inbox_messages ADD COLUMN request_key TEXT;
|
|
707
|
+
CREATE UNIQUE INDEX IF NOT EXISTS idx_inbox_messages_request_key ON inbox_messages (request_key) WHERE request_key IS NOT NULL;
|
|
708
|
+
`,QUEUE_JOBS_SCHEMA_SQL=`
|
|
709
|
+
CREATE TABLE IF NOT EXISTS queue_jobs (
|
|
710
|
+
id TEXT PRIMARY KEY,
|
|
711
|
+
type TEXT NOT NULL,
|
|
712
|
+
payload TEXT NOT NULL,
|
|
713
|
+
status TEXT NOT NULL DEFAULT 'pending',
|
|
714
|
+
attempts INTEGER NOT NULL DEFAULT 0,
|
|
715
|
+
max_retries INTEGER NOT NULL DEFAULT 3,
|
|
716
|
+
created_at INTEGER NOT NULL,
|
|
717
|
+
updated_at INTEGER NOT NULL,
|
|
718
|
+
next_retry_at INTEGER,
|
|
719
|
+
last_error TEXT,
|
|
720
|
+
processing_at INTEGER,
|
|
721
|
+
expires_at INTEGER,
|
|
722
|
+
timeout_ms INTEGER,
|
|
723
|
+
timeout_unlimited INTEGER NOT NULL DEFAULT 0,
|
|
724
|
+
attempt_token TEXT,
|
|
725
|
+
lease_expires_at INTEGER
|
|
726
|
+
);
|
|
727
|
+
|
|
728
|
+
CREATE INDEX IF NOT EXISTS queue_jobs_ready_idx ON queue_jobs (status, next_retry_at, created_at);
|
|
729
|
+
|
|
730
|
+
-- At most one ACTIVE job per coalesced type (task 0716): a partial unique index
|
|
731
|
+
-- scoped to history.refresh + status IN ('pending','processing') makes the
|
|
732
|
+
-- coalescing lookup-then-insert atomic under cross-process concurrency — and
|
|
733
|
+
-- blocks a duplicate enqueue while an older job is mid-flight (processing).
|
|
734
|
+
-- Scoped to ONE type on purpose: the queue also holds task-action/feature-action
|
|
735
|
+
-- jobs that legitimately have multiple active rows concurrently, so a global
|
|
736
|
+
-- (type, status) unique index would break them.
|
|
737
|
+
CREATE UNIQUE INDEX IF NOT EXISTS queue_jobs_history_refresh_active_unique ON queue_jobs (type) WHERE type = 'history.refresh' AND status IN ('pending', 'processing');
|
|
738
|
+
|
|
739
|
+
-- At most one ACTIVE configured-scheduler job per job NAME (task 0863): the tick
|
|
740
|
+
-- reads findActiveSchedulerCustomJob and then inserts, which is not atomic across
|
|
741
|
+
-- spur serve daemons sharing one project DB — every daemon's cron occurrence used
|
|
742
|
+
-- to insert its own row (3-14 per tick on 2026-09-14/15). The name lives inside the
|
|
743
|
+
-- JSON payload, so this is an expression index — scoped to scheduler.custom +
|
|
744
|
+
-- active rows exactly like the 0716 history.refresh index, so terminal rows and
|
|
745
|
+
-- other job types (task-action, feature-action, history.refresh) stay unaffected.
|
|
746
|
+
CREATE UNIQUE INDEX IF NOT EXISTS queue_jobs_scheduler_custom_active_unique ON queue_jobs (json_extract(payload, '$.name')) WHERE type = 'scheduler.custom' AND status IN ('pending', 'processing');
|
|
747
|
+
`,SYSTEM_EVENTS_SCHEMA_SQL=`
|
|
748
|
+
CREATE TABLE IF NOT EXISTS system_events (
|
|
749
|
+
id TEXT PRIMARY KEY,
|
|
750
|
+
event_name TEXT NOT NULL,
|
|
751
|
+
occurred_at TEXT NOT NULL,
|
|
752
|
+
actor TEXT,
|
|
753
|
+
payload_json TEXT,
|
|
754
|
+
run_id TEXT,
|
|
755
|
+
entity_kind TEXT,
|
|
756
|
+
entity_id TEXT,
|
|
757
|
+
sequence INTEGER
|
|
758
|
+
);
|
|
759
|
+
|
|
760
|
+
CREATE INDEX IF NOT EXISTS idx_system_events_occurred_at ON system_events (occurred_at);
|
|
761
|
+
CREATE INDEX IF NOT EXISTS idx_system_events_event_name ON system_events (event_name);
|
|
762
|
+
CREATE INDEX IF NOT EXISTS idx_system_events_name_occurred ON system_events (event_name, occurred_at);
|
|
763
|
+
CREATE INDEX IF NOT EXISTS idx_system_events_run_id ON system_events (run_id);
|
|
764
|
+
CREATE INDEX IF NOT EXISTS idx_system_events_entity ON system_events (entity_kind, entity_id);
|
|
765
|
+
CREATE INDEX IF NOT EXISTS idx_system_events_sequence ON system_events (sequence);
|
|
766
|
+
`,COORDINATION_RUNS_SCHEMA_SQL=`
|
|
767
|
+
CREATE TABLE IF NOT EXISTS coordination_runs (
|
|
768
|
+
spec_id TEXT NOT NULL,
|
|
769
|
+
agent_kind TEXT NOT NULL,
|
|
770
|
+
process_id TEXT,
|
|
771
|
+
run_id TEXT PRIMARY KEY,
|
|
772
|
+
generation INTEGER NOT NULL,
|
|
773
|
+
status TEXT NOT NULL,
|
|
774
|
+
started_at TEXT NOT NULL,
|
|
775
|
+
completed_at TEXT,
|
|
776
|
+
artifact_refs_json TEXT NOT NULL DEFAULT '[]',
|
|
777
|
+
message_ids_json TEXT NOT NULL DEFAULT '[]',
|
|
778
|
+
task_id TEXT,
|
|
779
|
+
outcome TEXT NOT NULL DEFAULT 'run-exit-only'
|
|
780
|
+
);
|
|
781
|
+
|
|
782
|
+
CREATE INDEX IF NOT EXISTS idx_coordination_runs_spec ON coordination_runs (spec_id, generation DESC);
|
|
783
|
+
CREATE INDEX IF NOT EXISTS idx_coordination_runs_task ON coordination_runs (task_id);
|
|
784
|
+
`,COORDINATION_RUNS_RECEIPT_COLUMNS_SCHEMA_SQL=`
|
|
785
|
+
ALTER TABLE coordination_runs ADD COLUMN message_ids_json TEXT NOT NULL DEFAULT '[]';
|
|
786
|
+
ALTER TABLE coordination_runs ADD COLUMN task_id TEXT;
|
|
787
|
+
ALTER TABLE coordination_runs ADD COLUMN outcome TEXT NOT NULL DEFAULT 'run-exit-only';
|
|
788
|
+
CREATE INDEX IF NOT EXISTS idx_coordination_runs_task ON coordination_runs (task_id);
|
|
789
|
+
`,HISTORY_RUN_SESSION_SCHEMA_SQL=`
|
|
790
|
+
CREATE TABLE IF NOT EXISTS history_run_session (
|
|
791
|
+
run_id TEXT NOT NULL,
|
|
792
|
+
source TEXT NOT NULL,
|
|
793
|
+
session_id TEXT,
|
|
794
|
+
exactness TEXT NOT NULL,
|
|
795
|
+
mechanism TEXT NOT NULL,
|
|
796
|
+
resolved_at TEXT NOT NULL
|
|
797
|
+
);
|
|
798
|
+
|
|
799
|
+
CREATE INDEX IF NOT EXISTS idx_history_run_session_run ON history_run_session (run_id);
|
|
800
|
+
CREATE INDEX IF NOT EXISTS idx_history_run_session_source_session ON history_run_session (source, session_id);
|
|
801
|
+
`,HISTORY_TASK_SESSION_SCHEMA_SQL=`
|
|
802
|
+
CREATE TABLE IF NOT EXISTS history_task_session (
|
|
803
|
+
wbs TEXT NOT NULL,
|
|
804
|
+
source TEXT NOT NULL,
|
|
805
|
+
session_id TEXT NOT NULL,
|
|
806
|
+
exactness TEXT NOT NULL,
|
|
807
|
+
mechanism TEXT NOT NULL,
|
|
808
|
+
evidence_kind TEXT NOT NULL,
|
|
809
|
+
evidence_ref TEXT,
|
|
810
|
+
resolved_at TEXT NOT NULL,
|
|
811
|
+
PRIMARY KEY (wbs, source, session_id)
|
|
812
|
+
);
|
|
813
|
+
|
|
814
|
+
CREATE INDEX IF NOT EXISTS idx_history_task_session_source_session ON history_task_session (source, session_id);
|
|
815
|
+
CREATE INDEX IF NOT EXISTS idx_history_task_session_session_id ON history_task_session (session_id);
|
|
816
|
+
`,AGENT_EXECUTOR_UPDATES_SCHEMA_SQL=`
|
|
817
|
+
CREATE TABLE IF NOT EXISTS agent_executor_updates (
|
|
818
|
+
project_id TEXT NOT NULL,
|
|
819
|
+
executor_name TEXT NOT NULL,
|
|
820
|
+
observation_id TEXT NOT NULL,
|
|
821
|
+
observed_at TEXT NOT NULL,
|
|
822
|
+
agent TEXT,
|
|
823
|
+
model TEXT,
|
|
824
|
+
disabled INTEGER NOT NULL CHECK (disabled IN (0, 1)),
|
|
825
|
+
owner TEXT,
|
|
826
|
+
layer TEXT,
|
|
827
|
+
skipped_reason TEXT,
|
|
828
|
+
applied_observation_id TEXT,
|
|
829
|
+
applied_at TEXT,
|
|
830
|
+
attempts INTEGER NOT NULL DEFAULT 0,
|
|
831
|
+
retry_after TEXT,
|
|
832
|
+
last_error TEXT,
|
|
833
|
+
PRIMARY KEY (project_id, executor_name)
|
|
834
|
+
);
|
|
835
|
+
`,AGENT_EXECUTOR_UPDATES_OWNER_COLUMNS_SCHEMA_SQL=`
|
|
836
|
+
ALTER TABLE agent_executor_updates ADD COLUMN owner TEXT;
|
|
837
|
+
ALTER TABLE agent_executor_updates ADD COLUMN layer TEXT;
|
|
838
|
+
ALTER TABLE agent_executor_updates ADD COLUMN skipped_reason TEXT;
|
|
839
|
+
UPDATE agent_executor_updates SET owner = 'quota', layer = 'project' WHERE owner IS NULL;
|
|
840
|
+
`,PROJECT_CLAIMS_SCHEMA_SQL=`
|
|
841
|
+
CREATE TABLE IF NOT EXISTS project_claims (
|
|
842
|
+
project_path TEXT NOT NULL,
|
|
843
|
+
slot TEXT NOT NULL, -- 'orchestrator' (0836) | 'write' (0837)
|
|
844
|
+
holder_id TEXT NOT NULL, -- spec id, verbatim
|
|
845
|
+
owner_epoch INTEGER NOT NULL DEFAULT 1,
|
|
846
|
+
strategy_version INTEGER, -- written by 0838 (NULL until then)
|
|
847
|
+
claimed_at INTEGER NOT NULL,
|
|
848
|
+
heartbeat_at INTEGER NOT NULL,
|
|
849
|
+
expires_at INTEGER NOT NULL,
|
|
850
|
+
PRIMARY KEY (project_path, slot)
|
|
851
|
+
);
|
|
852
|
+
`,PROJECT_STRATEGY_SCHEMA_SQL=`
|
|
853
|
+
CREATE TABLE IF NOT EXISTS project_strategy (
|
|
854
|
+
project_path TEXT PRIMARY KEY,
|
|
855
|
+
strategy TEXT NOT NULL,
|
|
856
|
+
strategy_version INTEGER NOT NULL DEFAULT 1,
|
|
857
|
+
updated_at INTEGER NOT NULL
|
|
858
|
+
);
|
|
859
|
+
`,CLI_SCHEMA_SQL=`
|
|
860
|
+
${AGENT_EXECUTOR_UPDATES_SCHEMA_SQL}
|
|
861
|
+
|
|
862
|
+
${DOMAIN_SCHEMA_SQL}
|
|
863
|
+
|
|
864
|
+
${PLANNING_SCHEMA_SQL}
|
|
865
|
+
|
|
866
|
+
${HISTORY_IMPORT_SCHEMA_SQL}
|
|
867
|
+
|
|
868
|
+
${WORKFLOW_ENGINE_SCHEMA_SQL}
|
|
869
|
+
|
|
870
|
+
${RULE_ENGINE_SCHEMA_SQL}
|
|
871
|
+
|
|
872
|
+
${INBOX_MESSAGES_SCHEMA_SQL}
|
|
873
|
+
|
|
874
|
+
${QUEUE_JOBS_SCHEMA_SQL}
|
|
875
|
+
|
|
876
|
+
${SYSTEM_EVENTS_SCHEMA_SQL}
|
|
877
|
+
|
|
878
|
+
${COORDINATION_RUNS_SCHEMA_SQL}
|
|
879
|
+
|
|
880
|
+
${PROJECT_CLAIMS_SCHEMA_SQL}
|
|
881
|
+
|
|
882
|
+
${PROJECT_STRATEGY_SCHEMA_SQL}
|
|
883
|
+
|
|
884
|
+
${HISTORY_RUN_SESSION_SCHEMA_SQL}
|
|
885
|
+
|
|
886
|
+
${HISTORY_TASK_SESSION_SCHEMA_SQL}
|
|
887
|
+
`,RUN_PID_COLUMN_SCHEMA_SQL=`
|
|
888
|
+
ALTER TABLE runs ADD COLUMN pid INTEGER;
|
|
889
|
+
`,RUNS_EXTERNAL_KEY_COLUMN_SCHEMA_SQL=`
|
|
890
|
+
ALTER TABLE runs ADD COLUMN external_key TEXT;
|
|
891
|
+
`,SYSTEM_EVENTS_CORRELATION_COLUMNS_SCHEMA_SQL=`
|
|
892
|
+
ALTER TABLE system_events ADD COLUMN run_id TEXT;
|
|
893
|
+
ALTER TABLE system_events ADD COLUMN entity_kind TEXT;
|
|
894
|
+
ALTER TABLE system_events ADD COLUMN entity_id TEXT;
|
|
895
|
+
ALTER TABLE system_events ADD COLUMN sequence INTEGER;
|
|
896
|
+
|
|
897
|
+
CREATE INDEX IF NOT EXISTS idx_system_events_run_id ON system_events (run_id);
|
|
898
|
+
CREATE INDEX IF NOT EXISTS idx_system_events_entity ON system_events (entity_kind, entity_id);
|
|
899
|
+
`,HISTORY_MESSAGE_RUN_INDEX_SCHEMA_SQL=`
|
|
900
|
+
CREATE INDEX IF NOT EXISTS idx_history_message_provenance_run ON history_message (provenance, run_id);
|
|
901
|
+
`,SYSTEM_EVENTS_SEQUENCE_INDEX_SCHEMA_SQL=`
|
|
902
|
+
CREATE INDEX IF NOT EXISTS idx_system_events_sequence ON system_events (sequence);
|
|
903
|
+
`,SYSTEM_EVENTS_NAME_OCCURRED_INDEX_SCHEMA_SQL=`
|
|
904
|
+
CREATE INDEX IF NOT EXISTS idx_system_events_name_occurred ON system_events (event_name, occurred_at);
|
|
905
|
+
`,HISTORY_TOOL_CALL_ARGS_RAW_SCHEMA_SQL=`
|
|
906
|
+
ALTER TABLE history_tool_call ADD COLUMN args_raw TEXT;
|
|
907
|
+
`,HISTORY_TOOL_CALL_CALL_ID_SCHEMA_SQL=`
|
|
908
|
+
ALTER TABLE history_tool_call ADD COLUMN call_id TEXT;
|
|
909
|
+
`,HISTORY_MESSAGE_REQUEST_ID_SCHEMA_SQL=`
|
|
910
|
+
ALTER TABLE history_message ADD COLUMN request_id TEXT;
|
|
911
|
+
`,HISTORY_MESSAGE_REQUEST_ID_INDEX_SCHEMA_SQL=`
|
|
912
|
+
CREATE INDEX IF NOT EXISTS idx_history_message_request_id
|
|
913
|
+
ON history_message (request_id)
|
|
914
|
+
WHERE request_id IS NOT NULL;
|
|
915
|
+
`,HISTORY_MESSAGE_MODEL_FALLBACK_INDEX_SCHEMA_SQL=`
|
|
916
|
+
CREATE INDEX IF NOT EXISTS idx_history_message_session_model
|
|
917
|
+
ON history_message (source, session_id)
|
|
918
|
+
WHERE model IS NOT NULL AND model != '' AND model != 'unknown';
|
|
919
|
+
`,HISTORY_ETL_TABLES_DROP_SCHEMA_SQL=`
|
|
920
|
+
DROP TABLE IF EXISTS history_etl_pi;
|
|
921
|
+
DROP TABLE IF EXISTS history_etl_claude;
|
|
922
|
+
DROP TABLE IF EXISTS history_etl_codex;
|
|
923
|
+
DROP TABLE IF EXISTS history_etl_gemini;
|
|
924
|
+
DROP TABLE IF EXISTS history_etl_opencode;
|
|
925
|
+
DROP TABLE IF EXISTS history_etl_antigravity;
|
|
926
|
+
DROP TABLE IF EXISTS history_etl_openclaw;
|
|
927
|
+
DROP TABLE IF EXISTS history_etl_omp;
|
|
928
|
+
DROP TABLE IF EXISTS history_etl_agy;
|
|
929
|
+
DROP TABLE IF EXISTS history_etl_grok;
|
|
930
|
+
`,HISTORY_PERFORMANCE_INDEXES_SCHEMA_SQL=`
|
|
931
|
+
CREATE INDEX IF NOT EXISTS idx_history_message_source_ts
|
|
932
|
+
ON history_message (source, ts);
|
|
933
|
+
CREATE INDEX IF NOT EXISTS idx_history_message_model_ts
|
|
934
|
+
ON history_message (model, ts);
|
|
935
|
+
CREATE INDEX IF NOT EXISTS idx_history_tool_call_session_id_seq
|
|
936
|
+
ON history_tool_call (session_id, seq);
|
|
937
|
+
CREATE INDEX IF NOT EXISTS idx_history_board_message_5m_bucket_model
|
|
938
|
+
ON history_board_message_5m (bucket_start, model);
|
|
939
|
+
CREATE INDEX IF NOT EXISTS idx_history_board_tool_5m_bucket_skill
|
|
940
|
+
ON history_board_tool_5m (bucket_start, skill_name);
|
|
941
|
+
CREATE INDEX IF NOT EXISTS idx_history_board_session_source_started
|
|
942
|
+
ON history_board_session_stats (source, started_at DESC);
|
|
943
|
+
`,HISTORY_BOARD_QUERY_INDEXES_SCHEMA_SQL=`
|
|
944
|
+
CREATE INDEX IF NOT EXISTS idx_history_message_session_id_seq
|
|
945
|
+
ON history_message (session_id, seq);
|
|
946
|
+
CREATE INDEX IF NOT EXISTS idx_history_message_duration_rank
|
|
947
|
+
ON history_message (duration_ms DESC)
|
|
948
|
+
WHERE role = 'assistant' AND duration_ms IS NOT NULL;
|
|
949
|
+
CREATE INDEX IF NOT EXISTS idx_history_message_token_rank
|
|
950
|
+
ON history_message ((COALESCE(input_tokens, 0) + COALESCE(cache_read_tokens, 0)) DESC)
|
|
951
|
+
WHERE role = 'assistant';
|
|
952
|
+
CREATE INDEX IF NOT EXISTS idx_history_message_input_rank
|
|
953
|
+
ON history_message (input_tokens DESC)
|
|
954
|
+
WHERE role = 'assistant';
|
|
955
|
+
`,HISTORY_BOARD_ROLLUPS_SCHEMA_SQL=`
|
|
956
|
+
-- Freshness gate shared by Summary (27.02s), Sessions (2.65s), Insights (12.48s), and Sources (5.45s).
|
|
957
|
+
CREATE TABLE IF NOT EXISTS history_board_rollup_meta (
|
|
958
|
+
id INTEGER PRIMARY KEY CHECK (id = 1),
|
|
959
|
+
history_version TEXT NOT NULL,
|
|
960
|
+
refreshed_at TEXT NOT NULL
|
|
961
|
+
);
|
|
962
|
+
|
|
963
|
+
-- Summary (27.02s): bounded daily token series and breakdowns.
|
|
964
|
+
CREATE TABLE IF NOT EXISTS history_daily_stats (
|
|
965
|
+
source TEXT NOT NULL,
|
|
966
|
+
model TEXT NOT NULL,
|
|
967
|
+
day TEXT NOT NULL,
|
|
968
|
+
fresh_input_tokens INTEGER NOT NULL,
|
|
969
|
+
cache_read_tokens INTEGER NOT NULL,
|
|
970
|
+
output_tokens INTEGER NOT NULL,
|
|
971
|
+
messages INTEGER NOT NULL,
|
|
972
|
+
assistant_duration_ms INTEGER NOT NULL,
|
|
973
|
+
tool_calls INTEGER NOT NULL,
|
|
974
|
+
PRIMARY KEY (source, model, day)
|
|
975
|
+
);
|
|
976
|
+
|
|
977
|
+
-- Summary (27.02s): sub-day token series, also feeding the Sources (5.45s) refresh projection.
|
|
978
|
+
CREATE TABLE IF NOT EXISTS history_board_message_5m (
|
|
979
|
+
bucket_start TEXT NOT NULL,
|
|
980
|
+
session_id TEXT NOT NULL,
|
|
981
|
+
source TEXT NOT NULL,
|
|
982
|
+
model TEXT NOT NULL,
|
|
983
|
+
fresh_input_tokens INTEGER NOT NULL,
|
|
984
|
+
cache_read_tokens INTEGER NOT NULL,
|
|
985
|
+
output_tokens INTEGER NOT NULL,
|
|
986
|
+
messages INTEGER NOT NULL,
|
|
987
|
+
assistant_duration_ms INTEGER NOT NULL,
|
|
988
|
+
assistant_duration_samples INTEGER NOT NULL,
|
|
989
|
+
PRIMARY KEY (bucket_start, session_id, source, model)
|
|
990
|
+
);
|
|
991
|
+
CREATE INDEX IF NOT EXISTS idx_history_board_message_5m_source
|
|
992
|
+
ON history_board_message_5m (source, bucket_start);
|
|
993
|
+
CREATE INDEX IF NOT EXISTS idx_history_board_message_5m_model
|
|
994
|
+
ON history_board_message_5m (model, bucket_start);
|
|
995
|
+
CREATE INDEX IF NOT EXISTS idx_history_board_message_5m_session
|
|
996
|
+
ON history_board_message_5m (session_id, source);
|
|
997
|
+
|
|
998
|
+
-- Summary (27.02s): tool/skill series and call totals, also feeding Insights (12.48s) model reliability.
|
|
999
|
+
CREATE TABLE IF NOT EXISTS history_board_tool_5m (
|
|
1000
|
+
bucket_start TEXT NOT NULL,
|
|
1001
|
+
session_id TEXT NOT NULL,
|
|
1002
|
+
source TEXT NOT NULL,
|
|
1003
|
+
model TEXT NOT NULL,
|
|
1004
|
+
tool_name TEXT NOT NULL,
|
|
1005
|
+
skill_name TEXT NOT NULL DEFAULT '',
|
|
1006
|
+
fresh_input_tokens REAL NOT NULL,
|
|
1007
|
+
cache_read_tokens REAL NOT NULL,
|
|
1008
|
+
output_tokens REAL NOT NULL,
|
|
1009
|
+
calls INTEGER NOT NULL,
|
|
1010
|
+
errors INTEGER NOT NULL,
|
|
1011
|
+
duration_ms INTEGER NOT NULL,
|
|
1012
|
+
PRIMARY KEY (bucket_start, session_id, source, model, tool_name, skill_name)
|
|
1013
|
+
);
|
|
1014
|
+
CREATE INDEX IF NOT EXISTS idx_history_board_tool_5m_source
|
|
1015
|
+
ON history_board_tool_5m (source, bucket_start);
|
|
1016
|
+
CREATE INDEX IF NOT EXISTS idx_history_board_tool_5m_model
|
|
1017
|
+
ON history_board_tool_5m (model, bucket_start);
|
|
1018
|
+
CREATE INDEX IF NOT EXISTS idx_history_board_tool_5m_tool
|
|
1019
|
+
ON history_board_tool_5m (tool_name, bucket_start);
|
|
1020
|
+
CREATE INDEX IF NOT EXISTS idx_history_board_tool_5m_skill
|
|
1021
|
+
ON history_board_tool_5m (skill_name, bucket_start);
|
|
1022
|
+
CREATE INDEX IF NOT EXISTS idx_history_board_tool_5m_session
|
|
1023
|
+
ON history_board_tool_5m (session_id, source);
|
|
1024
|
+
|
|
1025
|
+
-- Sessions (2.65s): paginated rows, also feeding Insights (12.48s) and Sources (5.45s).
|
|
1026
|
+
CREATE TABLE IF NOT EXISTS history_board_session_stats (
|
|
1027
|
+
source TEXT NOT NULL,
|
|
1028
|
+
session_id TEXT NOT NULL,
|
|
1029
|
+
model TEXT NOT NULL,
|
|
1030
|
+
started_at TEXT,
|
|
1031
|
+
ended_at TEXT,
|
|
1032
|
+
messages INTEGER NOT NULL,
|
|
1033
|
+
tool_calls INTEGER NOT NULL,
|
|
1034
|
+
errors INTEGER NOT NULL,
|
|
1035
|
+
fresh_input_tokens INTEGER NOT NULL,
|
|
1036
|
+
cache_read_tokens INTEGER NOT NULL,
|
|
1037
|
+
output_tokens INTEGER NOT NULL,
|
|
1038
|
+
assistant_duration_ms INTEGER NOT NULL,
|
|
1039
|
+
top_tool TEXT,
|
|
1040
|
+
state TEXT NOT NULL,
|
|
1041
|
+
PRIMARY KEY (source, session_id)
|
|
1042
|
+
);
|
|
1043
|
+
CREATE INDEX IF NOT EXISTS idx_history_board_session_started
|
|
1044
|
+
ON history_board_session_stats (started_at DESC);
|
|
1045
|
+
CREATE INDEX IF NOT EXISTS idx_history_board_session_model
|
|
1046
|
+
ON history_board_session_stats (model, started_at DESC);
|
|
1047
|
+
|
|
1048
|
+
-- Insights (12.48s): bounded all-time model comparison axes.
|
|
1049
|
+
CREATE TABLE IF NOT EXISTS history_board_model_stats (
|
|
1050
|
+
model TEXT PRIMARY KEY,
|
|
1051
|
+
assistant_duration_ms INTEGER NOT NULL,
|
|
1052
|
+
assistant_duration_samples INTEGER NOT NULL,
|
|
1053
|
+
fresh_input_tokens INTEGER NOT NULL,
|
|
1054
|
+
cache_read_tokens INTEGER NOT NULL,
|
|
1055
|
+
output_tokens INTEGER NOT NULL,
|
|
1056
|
+
tool_calls INTEGER NOT NULL,
|
|
1057
|
+
errors INTEGER NOT NULL
|
|
1058
|
+
);
|
|
1059
|
+
|
|
1060
|
+
-- Summary (27.02s): bounded all-time Top Tools and Skills Used aggregates.
|
|
1061
|
+
CREATE TABLE IF NOT EXISTS history_board_tool_stats (
|
|
1062
|
+
tool_name TEXT NOT NULL,
|
|
1063
|
+
skill_name TEXT NOT NULL,
|
|
1064
|
+
calls INTEGER NOT NULL,
|
|
1065
|
+
errors INTEGER NOT NULL,
|
|
1066
|
+
fresh_input_tokens INTEGER NOT NULL DEFAULT 0,
|
|
1067
|
+
cache_read_tokens INTEGER NOT NULL DEFAULT 0,
|
|
1068
|
+
output_tokens INTEGER NOT NULL DEFAULT 0,
|
|
1069
|
+
duration_ms INTEGER NOT NULL DEFAULT 0,
|
|
1070
|
+
PRIMARY KEY (tool_name, skill_name)
|
|
1071
|
+
);
|
|
1072
|
+
|
|
1073
|
+
-- Insights (12.48s): reused loop-analyzer findings.
|
|
1074
|
+
CREATE TABLE IF NOT EXISTS history_board_loop_findings (
|
|
1075
|
+
source TEXT NOT NULL,
|
|
1076
|
+
session_id TEXT NOT NULL,
|
|
1077
|
+
model TEXT NOT NULL,
|
|
1078
|
+
started_at TEXT,
|
|
1079
|
+
tool_name TEXT NOT NULL,
|
|
1080
|
+
args_digest TEXT NOT NULL,
|
|
1081
|
+
repeats INTEGER NOT NULL,
|
|
1082
|
+
first_seq INTEGER NOT NULL,
|
|
1083
|
+
last_seq INTEGER NOT NULL,
|
|
1084
|
+
PRIMARY KEY (source, session_id, tool_name, args_digest)
|
|
1085
|
+
);
|
|
1086
|
+
|
|
1087
|
+
-- Insights (12.48s): bounded token, duration, and cache-waste rankings.
|
|
1088
|
+
CREATE TABLE IF NOT EXISTS history_board_ranked_steps (
|
|
1089
|
+
kind TEXT NOT NULL,
|
|
1090
|
+
rank INTEGER NOT NULL,
|
|
1091
|
+
session_id TEXT NOT NULL,
|
|
1092
|
+
source TEXT NOT NULL,
|
|
1093
|
+
ts TEXT,
|
|
1094
|
+
model TEXT,
|
|
1095
|
+
input_tokens INTEGER,
|
|
1096
|
+
cache_read_tokens INTEGER,
|
|
1097
|
+
output_tokens INTEGER,
|
|
1098
|
+
duration_ms INTEGER,
|
|
1099
|
+
PRIMARY KEY (kind, rank)
|
|
1100
|
+
);
|
|
1101
|
+
CREATE INDEX IF NOT EXISTS idx_history_board_ranked_steps_filter
|
|
1102
|
+
ON history_board_ranked_steps (kind, source, model, ts);
|
|
1103
|
+
|
|
1104
|
+
-- Sources (5.45s): all-time source cards and registry totals.
|
|
1105
|
+
CREATE TABLE IF NOT EXISTS history_board_source_stats (
|
|
1106
|
+
source TEXT PRIMARY KEY,
|
|
1107
|
+
files INTEGER NOT NULL,
|
|
1108
|
+
messages INTEGER NOT NULL,
|
|
1109
|
+
last_imported_at TEXT,
|
|
1110
|
+
sessions INTEGER NOT NULL DEFAULT 0,
|
|
1111
|
+
fresh_input_tokens INTEGER NOT NULL DEFAULT 0,
|
|
1112
|
+
cache_read_tokens INTEGER NOT NULL DEFAULT 0,
|
|
1113
|
+
output_tokens INTEGER NOT NULL DEFAULT 0,
|
|
1114
|
+
tool_calls INTEGER NOT NULL DEFAULT 0,
|
|
1115
|
+
first_date TEXT,
|
|
1116
|
+
last_date TEXT
|
|
1117
|
+
);
|
|
1118
|
+
|
|
1119
|
+
-- Sources (5.45s): bounded 90-day heatmap reads.
|
|
1120
|
+
CREATE TABLE IF NOT EXISTS history_board_source_daily (
|
|
1121
|
+
source TEXT NOT NULL,
|
|
1122
|
+
day TEXT NOT NULL,
|
|
1123
|
+
fresh_input_tokens INTEGER NOT NULL,
|
|
1124
|
+
cache_read_tokens INTEGER NOT NULL,
|
|
1125
|
+
output_tokens INTEGER NOT NULL,
|
|
1126
|
+
sessions INTEGER NOT NULL,
|
|
1127
|
+
tool_calls INTEGER NOT NULL,
|
|
1128
|
+
PRIMARY KEY (source, day)
|
|
1129
|
+
);
|
|
1130
|
+
|
|
1131
|
+
CREATE INDEX IF NOT EXISTS idx_history_daily_stats_day
|
|
1132
|
+
ON history_daily_stats (day, source, model);
|
|
1133
|
+
CREATE INDEX IF NOT EXISTS idx_history_daily_stats_model_day
|
|
1134
|
+
ON history_daily_stats (model, day);
|
|
1135
|
+
CREATE INDEX IF NOT EXISTS idx_history_board_source_daily_day
|
|
1136
|
+
ON history_board_source_daily (day, source);
|
|
1137
|
+
CREATE INDEX IF NOT EXISTS idx_history_board_message_5m_bucket_source
|
|
1138
|
+
ON history_board_message_5m (bucket_start, source);
|
|
1139
|
+
CREATE INDEX IF NOT EXISTS idx_history_board_tool_5m_bucket_tool
|
|
1140
|
+
ON history_board_tool_5m (bucket_start, tool_name);
|
|
1141
|
+
CREATE INDEX IF NOT EXISTS idx_history_board_session_source_model_started
|
|
1142
|
+
ON history_board_session_stats (source, model, started_at DESC);
|
|
1143
|
+
-- Summary (0737 R2): skill-load breakdown, backed by history_skill_call (never scanned at read time).
|
|
1144
|
+
CREATE TABLE IF NOT EXISTS history_board_skill_5m (
|
|
1145
|
+
bucket_start TEXT NOT NULL,
|
|
1146
|
+
source TEXT NOT NULL,
|
|
1147
|
+
skill_name TEXT NOT NULL,
|
|
1148
|
+
invocation_kind TEXT NOT NULL,
|
|
1149
|
+
calls INTEGER NOT NULL,
|
|
1150
|
+
PRIMARY KEY (bucket_start, source, skill_name, invocation_kind)
|
|
1151
|
+
);
|
|
1152
|
+
CREATE INDEX IF NOT EXISTS idx_history_board_skill_5m_skill_bucket
|
|
1153
|
+
ON history_board_skill_5m (skill_name, bucket_start);
|
|
1154
|
+
|
|
1155
|
+
`,HISTORY_BOARD_SKILL_5M_SCHEMA_SQL=`
|
|
1156
|
+
CREATE TABLE IF NOT EXISTS history_board_skill_5m (
|
|
1157
|
+
bucket_start TEXT NOT NULL,
|
|
1158
|
+
source TEXT NOT NULL,
|
|
1159
|
+
skill_name TEXT NOT NULL,
|
|
1160
|
+
invocation_kind TEXT NOT NULL,
|
|
1161
|
+
calls INTEGER NOT NULL,
|
|
1162
|
+
PRIMARY KEY (bucket_start, source, skill_name, invocation_kind)
|
|
1163
|
+
);
|
|
1164
|
+
CREATE INDEX IF NOT EXISTS idx_history_board_skill_5m_skill_bucket
|
|
1165
|
+
ON history_board_skill_5m (skill_name, bucket_start);
|
|
1166
|
+
`,HISTORY_MESSAGE_TS_NULLABLE_SCHEMA_SQL=`
|
|
1167
|
+
CREATE TABLE history_message_rebuild (
|
|
1168
|
+
record_hash TEXT PRIMARY KEY,
|
|
1169
|
+
source TEXT NOT NULL,
|
|
1170
|
+
source_file TEXT NOT NULL,
|
|
1171
|
+
source_line INTEGER NOT NULL,
|
|
1172
|
+
session_id TEXT NOT NULL,
|
|
1173
|
+
seq INTEGER NOT NULL,
|
|
1174
|
+
turn_index INTEGER,
|
|
1175
|
+
role TEXT NOT NULL,
|
|
1176
|
+
record_type TEXT NOT NULL,
|
|
1177
|
+
disposition TEXT NOT NULL,
|
|
1178
|
+
ts TEXT,
|
|
1179
|
+
duration_ms INTEGER,
|
|
1180
|
+
model TEXT,
|
|
1181
|
+
input_tokens INTEGER,
|
|
1182
|
+
output_tokens INTEGER,
|
|
1183
|
+
cache_read_tokens INTEGER,
|
|
1184
|
+
cache_write_tokens INTEGER,
|
|
1185
|
+
cost_usd REAL,
|
|
1186
|
+
content_text TEXT,
|
|
1187
|
+
cwd TEXT,
|
|
1188
|
+
provenance TEXT NOT NULL,
|
|
1189
|
+
run_id TEXT,
|
|
1190
|
+
task_wbs TEXT,
|
|
1191
|
+
imported_at TEXT NOT NULL
|
|
1192
|
+
);
|
|
1193
|
+
INSERT INTO history_message_rebuild SELECT
|
|
1194
|
+
record_hash, source, source_file, source_line, session_id, seq, turn_index, role,
|
|
1195
|
+
record_type, disposition,
|
|
1196
|
+
CASE WHEN ts = '1970-01-01T00:00:00.000Z' THEN NULL ELSE ts END,
|
|
1197
|
+
duration_ms, model, input_tokens, output_tokens, cache_read_tokens, cache_write_tokens,
|
|
1198
|
+
cost_usd, content_text, cwd, provenance, run_id, task_wbs, imported_at
|
|
1199
|
+
FROM history_message;
|
|
1200
|
+
DROP TABLE history_message;
|
|
1201
|
+
ALTER TABLE history_message_rebuild RENAME TO history_message;
|
|
1202
|
+
CREATE INDEX IF NOT EXISTS idx_history_message_provenance_run ON history_message (provenance, run_id);
|
|
1203
|
+
`;var SCHEDULER_CUSTOM_ACTIVE_UNIQUE_SCHEMA_SQL=`
|
|
1204
|
+
UPDATE queue_jobs
|
|
1205
|
+
SET status = 'failed',
|
|
1206
|
+
last_error = 'retired by migration 0047_spur_cli_scheduler_custom_active_unique: superseded duplicate active scheduler.custom job name',
|
|
1207
|
+
processing_at = NULL,
|
|
1208
|
+
updated_at = CAST(strftime('%s', 'now') AS INTEGER) * 1000
|
|
1209
|
+
WHERE type = 'scheduler.custom'
|
|
1210
|
+
AND status IN ('pending', 'processing')
|
|
1211
|
+
AND id NOT IN (
|
|
1212
|
+
SELECT id FROM (
|
|
1213
|
+
SELECT id, ROW_NUMBER() OVER (
|
|
1214
|
+
PARTITION BY json_extract(payload, '$.name') ORDER BY created_at ASC, id ASC
|
|
1215
|
+
) AS rank
|
|
1216
|
+
FROM queue_jobs
|
|
1217
|
+
WHERE type = 'scheduler.custom' AND status IN ('pending', 'processing')
|
|
1218
|
+
) WHERE rank = 1
|
|
1219
|
+
);
|
|
1220
|
+
|
|
1221
|
+
CREATE UNIQUE INDEX IF NOT EXISTS queue_jobs_scheduler_custom_active_unique ON queue_jobs (json_extract(payload, '$.name')) WHERE type = 'scheduler.custom' AND status IN ('pending', 'processing');
|
|
1222
|
+
`,HISTORY_REFRESH_ACTIVE_UNIQUE_SCHEMA_SQL=`
|
|
1223
|
+
UPDATE queue_jobs
|
|
1224
|
+
SET status = 'failed',
|
|
1225
|
+
last_error = 'retired by migration 0027_spur_cli_history_refresh_active_unique: superseded duplicate active history refresh',
|
|
1226
|
+
processing_at = NULL,
|
|
1227
|
+
updated_at = CAST(strftime('%s', 'now') AS INTEGER) * 1000
|
|
1228
|
+
WHERE type = 'history.refresh'
|
|
1229
|
+
AND status IN ('pending', 'processing')
|
|
1230
|
+
AND id NOT IN (
|
|
1231
|
+
SELECT id FROM queue_jobs
|
|
1232
|
+
WHERE type = 'history.refresh' AND status IN ('pending', 'processing')
|
|
1233
|
+
ORDER BY created_at ASC, id ASC
|
|
1234
|
+
LIMIT 1
|
|
1235
|
+
);
|
|
1236
|
+
|
|
1237
|
+
DROP INDEX IF EXISTS queue_jobs_history_refresh_pending_unique;
|
|
1238
|
+
|
|
1239
|
+
CREATE UNIQUE INDEX IF NOT EXISTS queue_jobs_history_refresh_active_unique ON queue_jobs (type) WHERE type = 'history.refresh' AND status IN ('pending', 'processing');
|
|
1240
|
+
`,HISTORY_TOOL_CALL_INDEXES_SCHEMA_SQL=`
|
|
1241
|
+
CREATE INDEX IF NOT EXISTS idx_history_tool_call_msg_tool
|
|
1242
|
+
ON history_tool_call (message_hash, tool_name);
|
|
1243
|
+
CREATE INDEX IF NOT EXISTS idx_history_tool_call_tool_msg
|
|
1244
|
+
ON history_tool_call (tool_name, message_hash);
|
|
1245
|
+
CREATE INDEX IF NOT EXISTS idx_history_message_ts
|
|
1246
|
+
ON history_message (ts);
|
|
1247
|
+
`,HISTORY_BOARD_COVERING_INDEXES_SCHEMA_SQL=`
|
|
1248
|
+
CREATE INDEX IF NOT EXISTS idx_history_daily_stats_day
|
|
1249
|
+
ON history_daily_stats (day, source, model);
|
|
1250
|
+
CREATE INDEX IF NOT EXISTS idx_history_daily_stats_model_day
|
|
1251
|
+
ON history_daily_stats (model, day);
|
|
1252
|
+
CREATE INDEX IF NOT EXISTS idx_history_board_source_daily_day
|
|
1253
|
+
ON history_board_source_daily (day, source);
|
|
1254
|
+
CREATE INDEX IF NOT EXISTS idx_history_board_message_5m_bucket_source
|
|
1255
|
+
ON history_board_message_5m (bucket_start, source);
|
|
1256
|
+
CREATE INDEX IF NOT EXISTS idx_history_board_tool_5m_bucket_tool
|
|
1257
|
+
ON history_board_tool_5m (bucket_start, tool_name);
|
|
1258
|
+
CREATE INDEX IF NOT EXISTS idx_history_board_session_source_model_started
|
|
1259
|
+
ON history_board_session_stats (source, model, started_at DESC);
|
|
1260
|
+
CREATE INDEX IF NOT EXISTS idx_history_tool_call_source_imported
|
|
1261
|
+
ON history_tool_call (source, imported_at);
|
|
1262
|
+
CREATE INDEX IF NOT EXISTS idx_history_task_session_session_id
|
|
1263
|
+
ON history_task_session (session_id);
|
|
1264
|
+
`,HISTORY_BOARD_TOOL_STATS_COLUMNS_SCHEMA_SQL=`
|
|
1265
|
+
ALTER TABLE history_board_tool_stats ADD COLUMN fresh_input_tokens INTEGER NOT NULL DEFAULT 0;
|
|
1266
|
+
ALTER TABLE history_board_tool_stats ADD COLUMN cache_read_tokens INTEGER NOT NULL DEFAULT 0;
|
|
1267
|
+
ALTER TABLE history_board_tool_stats ADD COLUMN output_tokens INTEGER NOT NULL DEFAULT 0;
|
|
1268
|
+
ALTER TABLE history_board_tool_stats ADD COLUMN duration_ms INTEGER NOT NULL DEFAULT 0;
|
|
1269
|
+
`,HISTORY_TOOL_IDENTITY_SCHEMA_SQL=`
|
|
1270
|
+
CREATE TABLE IF NOT EXISTS history_tool_alias_map (
|
|
1271
|
+
source TEXT NOT NULL,
|
|
1272
|
+
effective_tool_name TEXT NOT NULL,
|
|
1273
|
+
alias TEXT NOT NULL,
|
|
1274
|
+
PRIMARY KEY (source, effective_tool_name)
|
|
1275
|
+
);
|
|
1276
|
+
|
|
1277
|
+
CREATE INDEX IF NOT EXISTS idx_history_tool_call_effective_tool_name
|
|
1278
|
+
ON history_tool_call (effective_tool_name);
|
|
1279
|
+
|
|
1280
|
+
CREATE INDEX IF NOT EXISTS idx_history_tool_call_alias
|
|
1281
|
+
ON history_tool_call (tool_name_alias);
|
|
1282
|
+
|
|
1283
|
+
UPDATE history_tool_call SET
|
|
1284
|
+
effective_tool_name = CASE
|
|
1285
|
+
WHEN tool_name IS NOT NULL AND TRIM(tool_name) != '' AND tool_name != 'unknown'
|
|
1286
|
+
THEN TRIM(tool_name)
|
|
1287
|
+
WHEN json_valid(args_raw) AND COALESCE(
|
|
1288
|
+
NULLIF(TRIM(CAST(json_extract(args_raw, '$.tool') AS TEXT)), ''),
|
|
1289
|
+
NULLIF(TRIM(CAST(json_extract(args_raw, '$.tool_name') AS TEXT)), ''),
|
|
1290
|
+
NULLIF(TRIM(CAST(json_extract(args_raw, '$.toolName') AS TEXT)), ''),
|
|
1291
|
+
NULLIF(TRIM(CAST(json_extract(args_raw, '$.name') AS TEXT)), ''),
|
|
1292
|
+
NULLIF(TRIM(CAST(json_extract(args_raw, '$.command') AS TEXT)), '')
|
|
1293
|
+
) IS NOT NULL
|
|
1294
|
+
THEN COALESCE(
|
|
1295
|
+
NULLIF(TRIM(CAST(json_extract(args_raw, '$.tool') AS TEXT)), ''),
|
|
1296
|
+
NULLIF(TRIM(CAST(json_extract(args_raw, '$.tool_name') AS TEXT)), ''),
|
|
1297
|
+
NULLIF(TRIM(CAST(json_extract(args_raw, '$.toolName') AS TEXT)), ''),
|
|
1298
|
+
NULLIF(TRIM(CAST(json_extract(args_raw, '$.name') AS TEXT)), ''),
|
|
1299
|
+
NULLIF(TRIM(CAST(json_extract(args_raw, '$.command') AS TEXT)), '')
|
|
1300
|
+
)
|
|
1301
|
+
WHEN call_id LIKE 'call_bash_%' THEN 'bash'
|
|
1302
|
+
WHEN call_id LIKE 'call_read_%' THEN 'read'
|
|
1303
|
+
WHEN call_id LIKE 'call_edit_%' THEN 'edit'
|
|
1304
|
+
WHEN call_id LIKE 'call_write_%' THEN 'write'
|
|
1305
|
+
WHEN call_id LIKE 'call_grep_%' THEN 'grep'
|
|
1306
|
+
WHEN call_id LIKE 'call_find_%' THEN 'find'
|
|
1307
|
+
WHEN call_id LIKE 'call_ls_%' THEN 'ls'
|
|
1308
|
+
ELSE 'unknown'
|
|
1309
|
+
END
|
|
1310
|
+
WHERE effective_tool_name = 'unknown';
|
|
1311
|
+
|
|
1312
|
+
UPDATE history_tool_call SET
|
|
1313
|
+
tool_name_alias = effective_tool_name
|
|
1314
|
+
WHERE tool_name_alias = 'unknown';
|
|
1315
|
+
`,HISTORY_MEASURE_VECTOR_SCHEMA_SQL=`
|
|
1316
|
+
ALTER TABLE history_daily_stats ADD COLUMN cache_write_tokens INTEGER NOT NULL DEFAULT 0;
|
|
1317
|
+
ALTER TABLE history_daily_stats ADD COLUMN assistant_duration_samples INTEGER NOT NULL DEFAULT 0;
|
|
1318
|
+
|
|
1319
|
+
ALTER TABLE history_board_message_5m ADD COLUMN cache_write_tokens INTEGER NOT NULL DEFAULT 0;
|
|
1320
|
+
|
|
1321
|
+
ALTER TABLE history_board_session_stats ADD COLUMN cache_write_tokens INTEGER NOT NULL DEFAULT 0;
|
|
1322
|
+
ALTER TABLE history_board_session_stats ADD COLUMN assistant_duration_samples INTEGER NOT NULL DEFAULT 0;
|
|
1323
|
+
|
|
1324
|
+
ALTER TABLE history_board_model_stats ADD COLUMN cache_write_tokens INTEGER NOT NULL DEFAULT 0;
|
|
1325
|
+
|
|
1326
|
+
ALTER TABLE history_board_source_stats ADD COLUMN cache_write_tokens INTEGER NOT NULL DEFAULT 0;
|
|
1327
|
+
|
|
1328
|
+
ALTER TABLE history_board_source_daily ADD COLUMN cache_write_tokens INTEGER NOT NULL DEFAULT 0;
|
|
1329
|
+
|
|
1330
|
+
ALTER TABLE history_board_tool_5m RENAME COLUMN fresh_input_tokens TO fresh_input_tokens_alloc;
|
|
1331
|
+
ALTER TABLE history_board_tool_5m RENAME COLUMN cache_read_tokens TO cache_read_tokens_alloc;
|
|
1332
|
+
ALTER TABLE history_board_tool_5m RENAME COLUMN output_tokens TO output_tokens_alloc;
|
|
1333
|
+
ALTER TABLE history_board_tool_5m ADD COLUMN cache_write_tokens_alloc REAL NOT NULL DEFAULT 0;
|
|
1334
|
+
|
|
1335
|
+
DROP TABLE IF EXISTS history_board_tool_stats;
|
|
1336
|
+
CREATE TABLE history_board_tool_stats (
|
|
1337
|
+
tool_name TEXT NOT NULL,
|
|
1338
|
+
skill_name TEXT NOT NULL,
|
|
1339
|
+
calls INTEGER NOT NULL,
|
|
1340
|
+
errors INTEGER NOT NULL,
|
|
1341
|
+
fresh_input_tokens_alloc REAL NOT NULL DEFAULT 0,
|
|
1342
|
+
cache_read_tokens_alloc REAL NOT NULL DEFAULT 0,
|
|
1343
|
+
cache_write_tokens_alloc REAL NOT NULL DEFAULT 0,
|
|
1344
|
+
output_tokens_alloc REAL NOT NULL DEFAULT 0,
|
|
1345
|
+
duration_ms INTEGER NOT NULL DEFAULT 0,
|
|
1346
|
+
PRIMARY KEY (tool_name, skill_name)
|
|
1347
|
+
);
|
|
1348
|
+
`,HISTORY_ROLLUP_WATERMARK_SCHEMA_SQL=`
|
|
1349
|
+
CREATE TABLE IF NOT EXISTS history_board_rollup_watermark (
|
|
1350
|
+
table_name TEXT PRIMARY KEY,
|
|
1351
|
+
imported_at_watermark TEXT NOT NULL,
|
|
1352
|
+
definition_version TEXT NOT NULL,
|
|
1353
|
+
updated_at TEXT NOT NULL
|
|
1354
|
+
);
|
|
1355
|
+
|
|
1356
|
+
CREATE TABLE IF NOT EXISTS history_board_rollup_bucket (
|
|
1357
|
+
table_name TEXT NOT NULL,
|
|
1358
|
+
bucket_start TEXT NOT NULL,
|
|
1359
|
+
PRIMARY KEY (table_name, bucket_start)
|
|
1360
|
+
);
|
|
1361
|
+
|
|
1362
|
+
CREATE INDEX IF NOT EXISTS idx_history_message_imported_at
|
|
1363
|
+
ON history_message (imported_at);
|
|
1364
|
+
`,HISTORY_DIMENSION_MARTS_SCHEMA_SQL=`
|
|
1365
|
+
CREATE TABLE IF NOT EXISTS history_board_dimension_daily (
|
|
1366
|
+
dimension TEXT NOT NULL,
|
|
1367
|
+
dimension_key TEXT NOT NULL,
|
|
1368
|
+
day TEXT NOT NULL,
|
|
1369
|
+
-- ADR-106 nine-member additive measure vector. NULLABLE, never a NOT NULL column with a
|
|
1370
|
+
-- zero default: a not-applicable measure is stored as NULL.
|
|
1371
|
+
messages INTEGER,
|
|
1372
|
+
tool_calls INTEGER,
|
|
1373
|
+
skill_calls INTEGER,
|
|
1374
|
+
fresh_input_tokens REAL,
|
|
1375
|
+
cache_read_tokens REAL,
|
|
1376
|
+
cache_write_tokens REAL,
|
|
1377
|
+
output_tokens REAL,
|
|
1378
|
+
duration_ms INTEGER,
|
|
1379
|
+
duration_samples INTEGER,
|
|
1380
|
+
-- Per-(dimension, key, day) tool-error count (not part of the ADR-106 additive vector but
|
|
1381
|
+
-- needed by the top-tools error-rate projection. NULLABLE like every other scalar.
|
|
1382
|
+
errors INTEGER,
|
|
1383
|
+
PRIMARY KEY (dimension, dimension_key, day)
|
|
1384
|
+
);
|
|
1385
|
+
|
|
1386
|
+
CREATE TABLE IF NOT EXISTS history_board_kpi_window (
|
|
1387
|
+
range_key TEXT NOT NULL,
|
|
1388
|
+
window_kind TEXT NOT NULL CHECK (window_kind IN ('current', 'previous')),
|
|
1389
|
+
-- ADR-106 nine-member additive measure vector, plus the non-additive totals the KPI
|
|
1390
|
+
-- projection needs (sessions and tool_errors are counts, never summed as means).
|
|
1391
|
+
messages INTEGER,
|
|
1392
|
+
tool_calls INTEGER,
|
|
1393
|
+
skill_calls INTEGER,
|
|
1394
|
+
fresh_input_tokens REAL,
|
|
1395
|
+
cache_read_tokens REAL,
|
|
1396
|
+
cache_write_tokens REAL,
|
|
1397
|
+
output_tokens REAL,
|
|
1398
|
+
duration_ms INTEGER,
|
|
1399
|
+
duration_samples INTEGER,
|
|
1400
|
+
sessions INTEGER,
|
|
1401
|
+
tool_errors INTEGER,
|
|
1402
|
+
PRIMARY KEY (range_key, window_kind)
|
|
1403
|
+
);
|
|
1404
|
+
|
|
1405
|
+
CREATE INDEX IF NOT EXISTS idx_history_board_dimension_daily_day
|
|
1406
|
+
ON history_board_dimension_daily (dimension, day);
|
|
1407
|
+
`,RETENTION_COMPACTION_META_SCHEMA_SQL=`
|
|
1408
|
+
CREATE TABLE IF NOT EXISTS spur_retention_meta (
|
|
1409
|
+
kind TEXT NOT NULL,
|
|
1410
|
+
ran_at INTEGER NOT NULL,
|
|
1411
|
+
PRIMARY KEY (kind)
|
|
1412
|
+
);
|
|
1413
|
+
`,BOUNDED_ROLLUP_DERIVATIONS_SCHEMA_SQL=`
|
|
1414
|
+
CREATE INDEX IF NOT EXISTS idx_history_message_source_file
|
|
1415
|
+
ON history_message (source, source_file);
|
|
1416
|
+
|
|
1417
|
+
ALTER TABLE history_board_source_daily ADD COLUMN raw_messages INTEGER NOT NULL DEFAULT 0;
|
|
1418
|
+
ALTER TABLE history_board_source_daily ADD COLUMN last_imported_at TEXT;
|
|
1419
|
+
`,QUEUE_JOBS_DEADLINE_LEASE_COLUMNS_SCHEMA_SQL=`
|
|
1420
|
+
ALTER TABLE queue_jobs ADD COLUMN timeout_ms INTEGER;
|
|
1421
|
+
ALTER TABLE queue_jobs ADD COLUMN timeout_unlimited INTEGER NOT NULL DEFAULT 0;
|
|
1422
|
+
ALTER TABLE queue_jobs ADD COLUMN attempt_token TEXT;
|
|
1423
|
+
ALTER TABLE queue_jobs ADD COLUMN lease_expires_at INTEGER;
|
|
1424
|
+
`,CLI_MIGRATIONS=[{id:"0000_spur_cli_foundation",sql:CLI_SCHEMA_SQL},{id:"0001_spur_cli_team_inbox",sql:INBOX_MESSAGES_SCHEMA_SQL},{id:"0002_spur_cli_rule_history",sql:RULE_ENGINE_SCHEMA_SQL},{id:"0003_spur_cli_planning",sql:PLANNING_SCHEMA_SQL},{id:"0004_spur_cli_queue_jobs",sql:QUEUE_JOBS_SCHEMA_SQL},{id:"0005_spur_cli_run_pid",sql:RUN_PID_COLUMN_SCHEMA_SQL,addColumnIfMissing:{table:"runs",column:"pid"}},{id:"0006_spur_cli_system_events",sql:SYSTEM_EVENTS_SCHEMA_SQL},{id:"0007_spur_cli_runs_external_key",sql:RUNS_EXTERNAL_KEY_COLUMN_SCHEMA_SQL,addColumnIfMissing:{table:"runs",column:"external_key"}},{id:"0008_spur_cli_system_events_correlation",sql:SYSTEM_EVENTS_CORRELATION_COLUMNS_SCHEMA_SQL,addColumnIfMissing:{table:"system_events",column:"sequence"}},{id:"0009_spur_cli_history_message_run_idx",sql:HISTORY_MESSAGE_RUN_INDEX_SCHEMA_SQL},{id:"0010_spur_cli_coordination_runs",sql:COORDINATION_RUNS_SCHEMA_SQL},{id:"0011_spur_cli_system_events_sequence_idx",sql:SYSTEM_EVENTS_SEQUENCE_INDEX_SCHEMA_SQL},{id:"0012_spur_cli_history_tool_call_args_raw",sql:HISTORY_TOOL_CALL_ARGS_RAW_SCHEMA_SQL,addColumnIfMissing:{table:"history_tool_call",column:"args_raw"}},{id:"0013_spur_cli_history_run_session",sql:HISTORY_RUN_SESSION_SCHEMA_SQL},{id:"0014_spur_cli_system_events_name_occurred_idx",sql:SYSTEM_EVENTS_NAME_OCCURRED_INDEX_SCHEMA_SQL},{id:"0015_spur_cli_history_tool_call_call_id",sql:HISTORY_TOOL_CALL_CALL_ID_SCHEMA_SQL,addColumnIfMissing:{table:"history_tool_call",column:"call_id"}},{id:"0016_spur_cli_history_message_ts_nullable",sql:HISTORY_MESSAGE_TS_NULLABLE_SCHEMA_SQL},{id:"0017_spur_cli_runs_status_completed_to_done",sql:"UPDATE runs SET status = 'done' WHERE status = 'completed'"},{id:"0018_spur_cli_history_message_request_id",sql:HISTORY_MESSAGE_REQUEST_ID_SCHEMA_SQL,addColumnIfMissing:{table:"history_message",column:"request_id"}},{id:"0019_spur_cli_history_etl_tables_drop",sql:HISTORY_ETL_TABLES_DROP_SCHEMA_SQL},{id:"0020_spur_cli_history_board_query_indexes",sql:HISTORY_BOARD_QUERY_INDEXES_SCHEMA_SQL},{id:"0021_spur_cli_history_board_rollups",sql:HISTORY_BOARD_ROLLUPS_SCHEMA_SQL},{id:"0022_spur_cli_history_performance_indexes",sql:HISTORY_PERFORMANCE_INDEXES_SCHEMA_SQL},{id:"0023_spur_cli_history_message_request_id_idx",sql:HISTORY_MESSAGE_REQUEST_ID_INDEX_SCHEMA_SQL},{id:"0024_spur_cli_history_checkpoint_identity",sql:"ALTER TABLE history_import_checkpoint ADD COLUMN source_size INTEGER",addColumnIfMissing:{table:"history_import_checkpoint",column:"source_size"}},{id:"0025_spur_cli_history_checkpoint_identity_mtime",sql:"ALTER TABLE history_import_checkpoint ADD COLUMN source_mtime_ms REAL",addColumnIfMissing:{table:"history_import_checkpoint",column:"source_mtime_ms"}},{id:"0026_spur_cli_history_message_duration_source",sql:"ALTER TABLE history_message ADD COLUMN duration_source TEXT",addColumnIfMissing:{table:"history_message",column:"duration_source"}},{id:"0027_spur_cli_history_refresh_active_unique",sql:HISTORY_REFRESH_ACTIVE_UNIQUE_SCHEMA_SQL},{id:"0028_spur_cli_history_task_session",sql:HISTORY_TASK_SESSION_SCHEMA_SQL},{id:"0029_spur_cli_history_tool_call_indexes",sql:HISTORY_TOOL_CALL_INDEXES_SCHEMA_SQL},{id:"0030_spur_cli_history_board_covering_indexes",sql:HISTORY_BOARD_COVERING_INDEXES_SCHEMA_SQL},{id:"0031_spur_cli_history_board_tool_stats_columns",sql:HISTORY_BOARD_TOOL_STATS_COLUMNS_SCHEMA_SQL},{id:"0032_spur_cli_history_board_skill_5m",sql:HISTORY_BOARD_SKILL_5M_SCHEMA_SQL},{id:"0033_spur_cli_importer_schema_version",sql:`INSERT OR REPLACE INTO "__spur_cli_migrations" (id, applied_at) VALUES ('${IMPORTER_SCHEMA_LEDGER_PREFIX}${HISTORY_IMPORT_SCHEMA_VERSION}', strftime('%s', 'now') * 1000);`},{id:"0034_spur_cli_history_tool_identity",sql:HISTORY_TOOL_IDENTITY_SCHEMA_SQL},{id:"0035_spur_cli_history_measure_vector",sql:HISTORY_MEASURE_VECTOR_SCHEMA_SQL},{id:"0036_spur_cli_history_rollup_watermark",sql:HISTORY_ROLLUP_WATERMARK_SCHEMA_SQL},{id:"0037_spur_cli_history_dimension_marts",sql:HISTORY_DIMENSION_MARTS_SCHEMA_SQL},{id:"0038_spur_cli_retention_compaction_meta",sql:RETENTION_COMPACTION_META_SCHEMA_SQL},{id:"0039_spur_cli_bounded_rollup_derivations",sql:BOUNDED_ROLLUP_DERIVATIONS_SCHEMA_SQL,addColumnIfMissing:{table:"history_board_source_daily",column:"raw_messages"}},{id:"0040_spur_cli_agent_executor_updates",sql:AGENT_EXECUTOR_UPDATES_SCHEMA_SQL},{id:"0041_spur_cli_queue_jobs_deadline_lease_columns",sql:QUEUE_JOBS_DEADLINE_LEASE_COLUMNS_SCHEMA_SQL,addColumnIfMissing:{table:"queue_jobs",column:"timeout_ms"}},{id:"0042_spur_cli_history_model_fallback_index",sql:HISTORY_MESSAGE_MODEL_FALLBACK_INDEX_SCHEMA_SQL},{id:"0043_spur_cli_inbox_messages_request_key",sql:INBOX_MESSAGES_REQUEST_KEY_SCHEMA_SQL,addColumnIfMissing:{table:"inbox_messages",column:"request_key"}},{id:"0044_spur_cli_coordination_runs_receipt_columns",sql:COORDINATION_RUNS_RECEIPT_COLUMNS_SCHEMA_SQL,addColumnIfMissing:{table:"coordination_runs",column:"message_ids_json"}},{id:"0045_spur_cli_project_claims",sql:PROJECT_CLAIMS_SCHEMA_SQL},{id:"0046_spur_cli_project_strategy",sql:PROJECT_STRATEGY_SCHEMA_SQL},{id:"0047_spur_cli_scheduler_custom_active_unique",sql:SCHEDULER_CUSTOM_ACTIVE_UNIQUE_SCHEMA_SQL},{id:"0048_spur_cli_agent_executor_updates_owner_columns",sql:AGENT_EXECUTOR_UPDATES_OWNER_COLUMNS_SCHEMA_SQL,addColumnIfMissing:{table:"agent_executor_updates",column:"owner"}}];async function allMigrationsJournaled(adapter,migrations){if(migrations.length===0)return!0;if(!await tableExists(adapter,"__spur_cli_migrations"))return!1;let placeholders=migrations.map(()=>"?").join(", ");if(((await adapter.queryFirst(`SELECT COUNT(*) AS n FROM "__spur_cli_migrations" WHERE id IN (${placeholders})`,...migrations.map((m)=>m.id)))?.n??0)!==migrations.length)return!1;if(migrations.some((m)=>m.id==="0033_spur_cli_importer_schema_version")){if(!await adapter.queryFirst('SELECT id FROM "__spur_cli_migrations" WHERE id = ?',IMPORTER_SCHEMA_LEDGER_PREFIX+HISTORY_IMPORT_SCHEMA_VERSION))return!1}return!0}async function applyCliMigrations(adapter,migrations=CLI_MIGRATIONS){if(await allMigrationsJournaled(adapter,migrations))return 0;await adapter.exec('CREATE TABLE IF NOT EXISTS "__spur_cli_migrations" (id TEXT PRIMARY KEY, applied_at INTEGER NOT NULL)');let applied=0;for(let migration of migrations){if(await adapter.queryFirst('SELECT id FROM "__spur_cli_migrations" WHERE id = ?',migration.id)!=null)continue;if(migration.id==="0009_spur_cli_history_message_run_idx"&&!await tableExists(adapter,"history_message")){for(let statement of splitSqlStatements(HISTORY_IMPORT_SCHEMA_SQL))await adapter.exec(statement);let versionLedgerId=IMPORTER_SCHEMA_LEDGER_PREFIX+HISTORY_IMPORT_SCHEMA_VERSION;await adapter.run('INSERT OR REPLACE INTO "__spur_cli_migrations" (id, applied_at) VALUES (?, ?)',[versionLedgerId,Date.now()])}if((migration.id==="0024_spur_cli_history_checkpoint_identity"||migration.id==="0025_spur_cli_history_checkpoint_identity_mtime")&&!await tableExists(adapter,"history_import_checkpoint")){await adapter.run('INSERT INTO "__spur_cli_migrations" (id, applied_at) VALUES (?, ?)',[migration.id,Date.now()]);continue}if(migration.id==="0034_spur_cli_history_tool_identity"&&await tableExists(adapter,"history_tool_call")){if(!await columnExists(adapter,"history_tool_call","effective_tool_name"))await adapter.exec("ALTER TABLE history_tool_call ADD COLUMN effective_tool_name TEXT NOT NULL DEFAULT 'unknown'");if(!await columnExists(adapter,"history_tool_call","tool_name_alias"))await adapter.exec("ALTER TABLE history_tool_call ADD COLUMN tool_name_alias TEXT NOT NULL DEFAULT 'unknown'")}let addColumnGuard=migration.addColumnIfMissing,shouldApplySql=addColumnGuard===void 0||!await columnExists(adapter,addColumnGuard.table,addColumnGuard.column),tsNullableSkip=migration.id==="0016_spur_cli_history_message_ts_nullable"&&(!await tableExists(adapter,"history_message")||!await columnNotNull(adapter,"history_message","ts")),sequenceIndexSkip=migration.id==="0011_spur_cli_system_events_sequence_idx"&&!await tableExists(adapter,"system_events"),argsRawSkip=migration.id==="0012_spur_cli_history_tool_call_args_raw"&&!await tableExists(adapter,"history_tool_call"),callIdSkip=migration.id==="0015_spur_cli_history_tool_call_call_id"&&!await tableExists(adapter,"history_tool_call"),nameOccurredIndexSkip=migration.id==="0014_spur_cli_system_events_name_occurred_idx"&&!await tableExists(adapter,"system_events"),historyBoardQueryIndexesSkip=migration.id==="0020_spur_cli_history_board_query_indexes"&&(!await tableExists(adapter,"history_message")||!await columnExists(adapter,"history_message","seq")||!await columnExists(adapter,"history_message","duration_ms")||!await columnExists(adapter,"history_message","role")||!await columnExists(adapter,"history_message","input_tokens")||!await columnExists(adapter,"history_message","cache_read_tokens")),historyPerformanceIndexesSkip=migration.id==="0022_spur_cli_history_performance_indexes"&&(!await tableExists(adapter,"history_message")||!await columnExists(adapter,"history_message","ts")||!await columnExists(adapter,"history_message","model")||!await tableExists(adapter,"history_tool_call")),historyToolCallIndexesSkip=migration.id==="0029_spur_cli_history_tool_call_indexes"&&(!await tableExists(adapter,"history_message")||!await columnExists(adapter,"history_message","ts")||!await tableExists(adapter,"history_tool_call")),historyBoardCoveringIndexesSkip=migration.id==="0030_spur_cli_history_board_covering_indexes"&&(!await tableExists(adapter,"history_daily_stats")||!await tableExists(adapter,"history_board_tool_5m")||!await tableExists(adapter,"history_board_message_5m")||!await tableExists(adapter,"history_board_session_stats")||!await tableExists(adapter,"history_board_source_daily")||!await tableExists(adapter,"history_tool_call")||!await tableExists(adapter,"history_task_session")),runsStatusDoneSkip=migration.id==="0017_spur_cli_runs_status_completed_to_done"&&(!await tableExists(adapter,"runs")||!await columnExists(adapter,"runs","status")),historyBoardToolStatsColumnsSkip=migration.id==="0031_spur_cli_history_board_tool_stats_columns"&&(!await tableExists(adapter,"history_board_tool_stats")||await columnExists(adapter,"history_board_tool_stats","fresh_input_tokens")),queueJobsActiveIndexSkip=migration.id==="0027_spur_cli_history_refresh_active_unique"&&!await tableExists(adapter,"queue_jobs"),schedulerCustomActiveIndexSkip=migration.id==="0047_spur_cli_scheduler_custom_active_unique"&&!await tableExists(adapter,"queue_jobs"),queueJobsDeadlineLeaseSkip=migration.id==="0041_spur_cli_queue_jobs_deadline_lease_columns"&&!await tableExists(adapter,"queue_jobs"),inboxRequestKeySkip=migration.id==="0043_spur_cli_inbox_messages_request_key"&&!await tableExists(adapter,"inbox_messages"),coordinationReceiptColumnsSkip=migration.id==="0044_spur_cli_coordination_runs_receipt_columns"&&!await tableExists(adapter,"coordination_runs"),historyToolIdentitySkip=migration.id==="0034_spur_cli_history_tool_identity"&&!await tableExists(adapter,"history_tool_call"),historyMeasureVectorSkip=migration.id==="0035_spur_cli_history_measure_vector"&&(!await tableExists(adapter,"history_board_message_5m")||await columnExists(adapter,"history_board_message_5m","cache_write_tokens")),historyRollupWatermarkSkip=migration.id==="0036_spur_cli_history_rollup_watermark"&&(await tableExists(adapter,"history_board_rollup_watermark")||!await tableExists(adapter,"history_message")||!await columnExists(adapter,"history_message","imported_at")),boundedRollupDerivationsSkip=migration.id==="0039_spur_cli_bounded_rollup_derivations"&&(!await tableExists(adapter,"history_message")||!await columnExists(adapter,"history_message","source_file")||!await tableExists(adapter,"history_board_source_daily")),historyModelFallbackIndexSkip=migration.id==="0042_spur_cli_history_model_fallback_index"&&(!await tableExists(adapter,"history_message")||!await columnExists(adapter,"history_message","model"));if(shouldApplySql&&!sequenceIndexSkip&&!argsRawSkip&&!runsStatusDoneSkip&&!nameOccurredIndexSkip&&!historyBoardQueryIndexesSkip&&!historyPerformanceIndexesSkip&&!historyToolCallIndexesSkip&&!historyBoardCoveringIndexesSkip&&!historyBoardToolStatsColumnsSkip&&!callIdSkip&&!tsNullableSkip&&!queueJobsActiveIndexSkip&&!schedulerCustomActiveIndexSkip&&!queueJobsDeadlineLeaseSkip&&!inboxRequestKeySkip&&!coordinationReceiptColumnsSkip&&!historyToolIdentitySkip&&!historyMeasureVectorSkip&&!historyRollupWatermarkSkip&&!boundedRollupDerivationsSkip&&!historyModelFallbackIndexSkip)for(let statement of splitSqlStatements(migration.sql))await adapter.exec(statement);if(historyToolIdentitySkip&&!await tableExists(adapter,"history_tool_alias_map"))await adapter.exec("CREATE TABLE IF NOT EXISTS history_tool_alias_map (source TEXT NOT NULL, effective_tool_name TEXT NOT NULL, alias TEXT NOT NULL, PRIMARY KEY (source, effective_tool_name));");await adapter.run('INSERT INTO "__spur_cli_migrations" (id, applied_at) VALUES (?, ?)',migration.id,Date.now()),applied+=1}if(migrations.some((m)=>m.id==="0033_spur_cli_importer_schema_version")){let currentVersionLedgerId=IMPORTER_SCHEMA_LEDGER_PREFIX+HISTORY_IMPORT_SCHEMA_VERSION;if(!await adapter.queryFirst('SELECT id FROM "__spur_cli_migrations" WHERE id = ?',currentVersionLedgerId)){for(let statement of splitSqlStatements(HISTORY_IMPORT_SCHEMA_SQL))if(statement.startsWith("CREATE TABLE"))await adapter.exec(statement);await adapter.run('INSERT OR REPLACE INTO "__spur_cli_migrations" (id, applied_at) VALUES (?, ?)',[currentVersionLedgerId,Date.now()]),applied+=1}}return applied}async function columnExists(adapter,table3,column2){return(await adapter.queryAll(`PRAGMA table_info("${table3}")`)).some((row)=>row.name===column2)}async function columnNotNull(adapter,table3,column2){return(await adapter.queryAll(`PRAGMA table_info("${table3}")`)).some((row)=>row.name===column2&&row.notnull===1)}async function tableExists(adapter,table3){return await adapter.queryFirst("SELECT name FROM sqlite_master WHERE type = 'table' AND name = ?",table3)!=null}function splitSqlStatements(sql4){return sql4.split(";").map((statement)=>statement.trim()).filter(Boolean)}var SQLITE_BUSY_TIMEOUT_MS=30000;async function createMigratedDb(options){let{createDbAdapter:createDbAdapter3}=await Promise.resolve().then(() => (init_dist4(),exports_dist)),adapter=await createDbAdapter3({driver:"bun-sqlite",url:options.url});return await adapter.exec(`PRAGMA busy_timeout = ${SQLITE_BUSY_TIMEOUT_MS}`),await applyCliMigrations(adapter),adapter}init_zod();init_zod();var STAGE_REGISTRY_SCHEMA_VERSION={major:1,minor:3},stageSchemaVersionSchema=exports_external.object({major:exports_external.number().int().nonnegative(),minor:exports_external.number().int().nonnegative()}).strict();var MUTATION_CLASSES=["none","corpus","code","tests","verdict","learnings","driver","irreversible"];var inlineExecutionSchema=exports_external.object({kind:exports_external.literal("inline"),current_agent_allowed:exports_external.literal(!0),may_reuse_captured_layers:exports_external.boolean().optional()}).strict(),subprocessExecutionSchema=exports_external.object({kind:exports_external.literal("subprocess"),current_agent_allowed:exports_external.literal(!1),via:exports_external.literal("spur-agent-run")}).strict(),deterministicExecutionSchema=exports_external.object({kind:exports_external.literal("deterministic"),current_agent_allowed:exports_external.literal(!1),executor:exports_external.enum(["cli","script"])}).strict(),hitlExecutionSchema=exports_external.object({kind:exports_external.literal("hitl"),current_agent_allowed:exports_external.literal(!0),gate_timing:exports_external.enum(["pre","post","both"])}).strict(),irreversibleExecutionSchema=exports_external.object({kind:exports_external.literal("irreversible"),requires_operator_intent:exports_external.literal(!0),current_agent_allowed:exports_external.boolean(),rollback_disclaimer:exports_external.string().min(1)}).strict(),executionKindSchema=exports_external.discriminatedUnion("kind",[inlineExecutionSchema,subprocessExecutionSchema,deterministicExecutionSchema,hitlExecutionSchema,irreversibleExecutionSchema]),ARTIFACT_DIRECTIONS=["input","output"],stageArtifactSchema=exports_external.object({kind:exports_external.string().min(1),direction:exports_external.enum(ARTIFACT_DIRECTIONS),identity:exports_external.string().optional(),description:exports_external.string().optional(),required:exports_external.boolean().optional().default(!0)}).strict(),stageGateSchema=exports_external.object({name:exports_external.string().min(1),timing:exports_external.enum(["pre","post","transition"]),min_verdict:exports_external.enum(["pass","partial","fail"]).optional(),description:exports_external.string().optional()}).strict(),stageRetryPolicySchema=exports_external.object({max_attempts:exports_external.number().int().min(1),terminal_stop:exports_external.enum(["block","escalate","fail"]),timeout_seconds:exports_external.number().int().positive().optional()}).strict(),CAPABILITY_TIERS=["cheap","standard","capable-1","capable-2","capable-3"],LEGACY_CAPABLE_ALIAS="capable";function normalizeCapabilityTier(value){return value===LEGACY_CAPABLE_ALIAS?"capable-1":value}var capabilityTierSchema=exports_external.preprocess(normalizeCapabilityTier,exports_external.enum(CAPABILITY_TIERS)),objectiveEscalationTriggerSchema=exports_external.enum(["gate-fail","timeout","insufficient-evidence","retry-exhausted","resource-exhaustion","auth"]),stageModelPolicySchema=exports_external.object({min_tier:capabilityTierSchema,fallback:exports_external.array(exports_external.object({tier:capabilityTierSchema,trigger:objectiveEscalationTriggerSchema}).strict()),override_key:exports_external.string().optional()}).strict();var CONTEXT_LAYER_NAMES=["harness-policy","project-authority","stage-contract","task-state","indexed-evidence","run-state","tool-observations"],stageContextLayerSchema=exports_external.object({layer:exports_external.enum(CONTEXT_LAYER_NAMES),required:exports_external.literal(!0)}).strict(),stageEventSchema=exports_external.object({name:exports_external.string().min(1),description:exports_external.string().optional()}).strict(),STAGE_ID_PATTERN=/^[a-z][a-z0-9-]*$/,stageRecordSchema=exports_external.object({schema_version:stageSchemaVersionSchema,id:exports_external.string().regex(STAGE_ID_PATTERN,{message:"stage id must be lowercase kebab-case"}),aliases:exports_external.array(exports_external.string().min(1)).optional().default([]),description:exports_external.string().min(1),artifacts:exports_external.array(stageArtifactSchema).min(1),reasoning_skill:exports_external.string().min(1),required_references:exports_external.array(exports_external.string().min(1)).optional().default([]),gates:exports_external.array(stageGateSchema).optional().default([]),mutation_class:exports_external.enum(MUTATION_CLASSES),retry:stageRetryPolicySchema,model_policy:stageModelPolicySchema,context_layers:exports_external.array(stageContextLayerSchema).optional().default([]),observability:exports_external.array(stageEventSchema).optional().default([]),execution:executionKindSchema}).strict();var REGISTERED_CANONICAL_STAGES=[{schema_version:STAGE_REGISTRY_SCHEMA_VERSION,id:"refine",aliases:["dev-refine"],description:"dev-refine: Q&A refinement, section filling, AC tightening",artifacts:[{kind:"task-section",direction:"input",required:!0,description:"Background/Requirements sections"},{kind:"task-section",direction:"output",required:!0,description:"Q&A/Design/Plan/AC sections"}],reasoning_skill:"sp:spur-dev",required_references:[],gates:[],mutation_class:"corpus",retry:{max_attempts:3,terminal_stop:"block"},model_policy:{min_tier:"standard",fallback:[{tier:"capable-2",trigger:"gate-fail"},{tier:"capable-2",trigger:"auth"},{tier:"capable-2",trigger:"resource-exhaustion"}]},context_layers:[],observability:[],execution:{kind:"inline",current_agent_allowed:!0}},{schema_version:STAGE_REGISTRY_SCHEMA_VERSION,id:"plan",aliases:["dev-plan"],description:"dev-plan: feature intake -> AC generation -> decomposition",artifacts:[{kind:"feature-frontmatter",direction:"input",required:!0},{kind:"task-batch",direction:"output",required:!0}],reasoning_skill:"sp:spur-dev",required_references:[],gates:[{name:"feature-check",timing:"post",min_verdict:"pass"},{name:"batch-create",timing:"post",min_verdict:"pass"}],mutation_class:"corpus",retry:{max_attempts:3,terminal_stop:"block"},model_policy:{min_tier:"capable-2",fallback:[{tier:"capable-3",trigger:"gate-fail"},{tier:"capable-3",trigger:"auth"},{tier:"capable-3",trigger:"resource-exhaustion"}]},context_layers:[],observability:[],execution:{kind:"inline",current_agent_allowed:!0}},{schema_version:STAGE_REGISTRY_SCHEMA_VERSION,id:"implement",aliases:["dev-run"],description:"dev-run --mode implement: code edits in worktree",artifacts:[{kind:"worktree-diff",direction:"output",required:!0},{kind:"task-section",direction:"output",required:!0,identity:"Solution"}],reasoning_skill:"sp:code-implementation",required_references:[],gates:[],mutation_class:"code",retry:{max_attempts:3,terminal_stop:"block"},model_policy:{min_tier:"standard",fallback:[{tier:"capable-1",trigger:"gate-fail"},{tier:"capable-1",trigger:"timeout"},{tier:"capable-1",trigger:"auth"},{tier:"capable-1",trigger:"resource-exhaustion"}]},context_layers:[],observability:[],execution:{kind:"inline",current_agent_allowed:!0}},{schema_version:STAGE_REGISTRY_SCHEMA_VERSION,id:"test",aliases:["dev-unit","dev-fixall"],description:"dev-unit: generate/extend tests to coverage target",artifacts:[{kind:"test-file",direction:"output",required:!0},{kind:"coverage-report",direction:"output",required:!1}],reasoning_skill:"sp:code-testing",required_references:[],gates:[],mutation_class:"tests",retry:{max_attempts:3,terminal_stop:"block"},model_policy:{fallback:[{tier:"capable-1",trigger:"gate-fail"},{tier:"capable-1",trigger:"auth"},{tier:"capable-1",trigger:"resource-exhaustion"}],min_tier:"standard"},context_layers:[],observability:[],execution:{kind:"inline",current_agent_allowed:!0}},{schema_version:STAGE_REGISTRY_SCHEMA_VERSION,id:"verify",aliases:["dev-verify"],description:"dev-verify: SECUA review + requirements traceability",artifacts:[{kind:"worktree-diff",direction:"input",required:!0},{kind:"verdict-artifact",direction:"output",required:!0,identity:"<wbs>-verdict.json"}],reasoning_skill:"sp:code-verification",required_references:[],gates:[{name:"verdict-artifact",timing:"post",min_verdict:"pass"},{name:"strict-core",timing:"post",min_verdict:"pass"}],mutation_class:"verdict",retry:{max_attempts:2,terminal_stop:"escalate"},model_policy:{min_tier:"capable-1",fallback:[{tier:"capable-2",trigger:"auth"},{tier:"capable-2",trigger:"resource-exhaustion"},{tier:"capable-2",trigger:"gate-fail"}]},context_layers:[],observability:[],execution:{kind:"inline",current_agent_allowed:!0}},{schema_version:STAGE_REGISTRY_SCHEMA_VERSION,id:"wrap",aliases:["dev-wrap"],description:"dev-wrap: learnings/doc-sync/feature transition",artifacts:[{kind:"learning-entry",direction:"output",required:!0}],reasoning_skill:"sp:spur-dev",required_references:[],gates:[{name:"task-check",timing:"pre",min_verdict:"pass"}],mutation_class:"learnings",retry:{max_attempts:2,terminal_stop:"block"},model_policy:{min_tier:"standard",fallback:[{tier:"capable-1",trigger:"gate-fail"},{tier:"capable-1",trigger:"auth"},{tier:"capable-1",trigger:"resource-exhaustion"}]},context_layers:[],observability:[],execution:{kind:"hitl",current_agent_allowed:!0,gate_timing:"both"}},{schema_version:STAGE_REGISTRY_SCHEMA_VERSION,id:"review",aliases:["dev-review"],description:"dev-review: multi-dimensional code review (coordinator writes the combined Review)",artifacts:[{kind:"review-findings",direction:"output",required:!0,identity:"Review"}],reasoning_skill:"sp:code-verification",required_references:[],gates:[],mutation_class:"verdict",retry:{max_attempts:2,terminal_stop:"block"},model_policy:{min_tier:"standard",fallback:[{tier:"capable-1",trigger:"gate-fail"},{tier:"capable-1",trigger:"auth"},{tier:"capable-1",trigger:"resource-exhaustion"}]},context_layers:[],observability:[],execution:{kind:"inline",current_agent_allowed:!0}},{schema_version:STAGE_REGISTRY_SCHEMA_VERSION,id:"record",aliases:["dev-record"],description:"record: deterministic Testing write-back from the verdict artifact; bare-Review fallback only",artifacts:[{kind:"verdict-artifact",direction:"input",required:!0,identity:"<wbs>-verdict.json"},{kind:"task-section",direction:"output",required:!0,identity:"Testing"},{kind:"task-section",direction:"output",required:!1,identity:"Review",description:"fallback-only: backfills Review only when the section is bare; never overwrites authored Review"}],reasoning_skill:"inline",required_references:[],gates:[],mutation_class:"corpus",retry:{max_attempts:1,terminal_stop:"block"},model_policy:{min_tier:"cheap",fallback:[]},context_layers:[],observability:[],execution:{kind:"deterministic",current_agent_allowed:!1,executor:"cli"}},{schema_version:STAGE_REGISTRY_SCHEMA_VERSION,id:"dogfood",aliases:["dev-dogfood"],description:"dev-dogfood: end-to-end driver test",artifacts:[{kind:"dogfood-report",direction:"output",required:!0},{kind:"monitor-ledger",direction:"output",required:!1}],reasoning_skill:"sp:dogfood-testing",required_references:[],gates:[],mutation_class:"driver",retry:{max_attempts:3,terminal_stop:"block"},model_policy:{min_tier:"capable-1",fallback:[{tier:"capable-2",trigger:"auth"},{tier:"capable-2",trigger:"resource-exhaustion"},{tier:"capable-2",trigger:"gate-fail"}]},context_layers:[],observability:[],execution:{kind:"inline",current_agent_allowed:!0}},{schema_version:STAGE_REGISTRY_SCHEMA_VERSION,id:"brainstorm",aliases:["dev-brainstorm"],description:"dev-brainstorm: structured ideation",artifacts:[{kind:"brainstorm-outline",direction:"output",required:!0}],reasoning_skill:"sp:brainstorm",required_references:[],gates:[],mutation_class:"corpus",retry:{max_attempts:2,terminal_stop:"block"},model_policy:{min_tier:"standard",fallback:[]},context_layers:[],observability:[],execution:{kind:"inline",current_agent_allowed:!0}},{schema_version:STAGE_REGISTRY_SCHEMA_VERSION,id:"changelog",aliases:["dev-changelog"],description:"dev-changelog: generate changelog from git commits",artifacts:[{kind:"changelog-entry",direction:"output",required:!0}],reasoning_skill:"inline",required_references:[],gates:[],mutation_class:"none",retry:{max_attempts:1,terminal_stop:"block"},model_policy:{min_tier:"cheap",fallback:[]},context_layers:[],observability:[],execution:{kind:"deterministic",current_agent_allowed:!1,executor:"cli"}}],CANONICAL_STAGE_BY_KEY=new Map;for(let s2 of REGISTERED_CANONICAL_STAGES){CANONICAL_STAGE_BY_KEY.set(s2.id,s2);for(let a2 of s2.aliases??[])CANONICAL_STAGE_BY_KEY.set(a2,s2)}var CACHEABILITY_CLASSES=["stable-prefix-eligible","volatile"],SENSITIVITY_CLASSES=["public","internal","confidential"],envelopeProvenanceSchema=exports_external.object({owner:exports_external.string().min(1),schema_version:exports_external.string().min(1),source_revision:exports_external.string().nullable().optional(),generated_at:exports_external.string().datetime()}).strict(),envelopeSizeBudgetSchema=exports_external.object({max_bytes:exports_external.number().int().positive()}).strict(),envelopeLayerSchema=exports_external.object({layer:exports_external.enum(CONTEXT_LAYER_NAMES),content:exports_external.string(),size_bytes:exports_external.number().int().nonnegative(),content_hash:exports_external.string().length(64),provenance:envelopeProvenanceSchema,cacheability:exports_external.enum(CACHEABILITY_CLASSES),sensitivity:exports_external.enum(SENSITIVITY_CLASSES).default("internal"),size_budget:envelopeSizeBudgetSchema.optional(),disclosure_handle:exports_external.string().optional()}).strict(),STABLE_LAYER_NAMES=["harness-policy","project-authority","stage-contract","task-state","indexed-evidence"],VOLATILE_LAYER_NAMES=["run-state","tool-observations"];var envelopeSchema=exports_external.object({schema_version:exports_external.string().default("1.0"),layers:exports_external.array(envelopeLayerSchema).min(1),stage_id:exports_external.string().optional(),run_id:exports_external.string().optional(),assembled_at:exports_external.string().datetime(),total_size_bytes:exports_external.number().int().nonnegative()}).strict(),projectSnapshotSchema=exports_external.object({name:exports_external.string(),version:exports_external.string(),task_counts:exports_external.object({backlog:exports_external.number().int().nonnegative(),todo:exports_external.number().int().nonnegative(),wip:exports_external.number().int().nonnegative(),testing:exports_external.number().int().nonnegative(),done:exports_external.number().int().nonnegative(),blocked:exports_external.number().int().nonnegative(),cancelled:exports_external.number().int().nonnegative()}).strict(),feature_counts:exports_external.object({backlog:exports_external.number().int().nonnegative(),active:exports_external.number().int().nonnegative(),verifying:exports_external.number().int().nonnegative(),done:exports_external.number().int().nonnegative(),blocked:exports_external.number().int().nonnegative(),cancelled:exports_external.number().int().nonnegative()}).strict(),active_features:exports_external.array(exports_external.string()),content_hash:exports_external.string().length(64).optional()}).strict(),taskSnapshotSchema=exports_external.object({wbs:exports_external.string().regex(/^\d{4}$/),name:exports_external.string(),status:exports_external.string(),priority:exports_external.string().optional(),feature_id:exports_external.string().optional(),acceptance_criteria:exports_external.string().optional(),locked_qa:exports_external.array(exports_external.string()).optional(),solution:exports_external.string().optional(),content_hash:exports_external.string().length(64).optional()}).strict(),featureSnapshotSchema=exports_external.object({id:exports_external.string(),name:exports_external.string(),status:exports_external.string(),priority:exports_external.string().optional(),scenarios:exports_external.array(exports_external.string()).optional(),content_hash:exports_external.string().length(64).optional()}).strict();var ALL_LAYER_NAMES=[...STABLE_LAYER_NAMES,...VOLATILE_LAYER_NAMES],LAYER_ORDER={};ALL_LAYER_NAMES.forEach((name,idx)=>{LAYER_ORDER[name]=idx});init_dist2();var TASK_CANONICAL_SECTIONS=["Background","Requirements","Acceptance Criteria","Q&A","Design","Plan","Root Cause","Solution","Testing","Review","References","History"],FEATURE_CANONICAL_SECTIONS=["Goal","Scope","Acceptance Criteria","Tasks","Notes","History"],UNIVERSAL_SECTIONS=["History","References","Notes"],HEADING_LEVELS={task:3,feature:2},START_MARKER="<!-- AUTO-GENERATED by spur feature refresh -->",END_MARKER="<!-- END AUTO-GENERATED -->",MARKER_START_RE=/<!--[ \t]*AUTO-GENERATED.*?-->/,MARKER_END_RE=/<!--[ \t]*END[ \t]*AUTO-GENERATED.*?-->/;function findHeadings(body,hashes){let hits=[],prefix=`${hashes} `,inCodeBlock=!1,lineStart=0;for(let i2=0;i2<=body.length;i2++){if(i2!==body.length&&body[i2]!==`
|
|
1425
|
+
`)continue;let line=body.slice(lineStart,i2);if(line.startsWith("```"))inCodeBlock=!inCodeBlock;else if(!inCodeBlock&&line.startsWith(prefix)){let name=line.slice(prefix.length).trim();hits.push({index:lineStart,headingLine:line,name})}lineStart=i2+1}return hits}function normalizeYamlScalars(data){let out={};for(let[key,value]of Object.entries(data))if(value instanceof Date)out[key]=value.toISOString();else if(value!==null&&typeof value==="object"&&!Array.isArray(value))out[key]=normalizeYamlScalars(value);else out[key]=value;return out}class MarkdownDocument{_domain;_frontmatterBlock;_frontmatter;_preamble;_sections;_demotedHeadings=[];_duplicateSectionNames=[];constructor(domain2,frontmatterBlock,frontmatter,preamble,sections){this._domain=domain2,this._frontmatterBlock=frontmatterBlock,this._frontmatter=frontmatter,this._preamble=preamble,this._sections=sections}static parse(content,domain2){let level=HEADING_LEVELS[domain2],hashes="#".repeat(level),frontmatterBlock="",frontmatter=null,body=content,fmMatch=/^---\r?\n([\s\S]*?)\r?\n---\r?\n?/.exec(content);if(fmMatch&&fmMatch.index===0){let raw=fmMatch[1]??"",data={};try{let parsed=$parse(raw);if(parsed!==null&&typeof parsed==="object"&&!Array.isArray(parsed))data=normalizeYamlScalars(parsed)}catch{}frontmatter={raw,data},frontmatterBlock=fmMatch[0],body=content.slice(fmMatch[0].length)}let hits=findHeadings(body,hashes),first=hits[0],preamble=first!==void 0?body.slice(0,first.index):body,allSections=hits.map((hit,idx)=>{let next=hits[idx+1],end=next!==void 0?next.index:body.length;return{name:hit.name,headingLine:hit.headingLine,originalText:body.slice(hit.index,end),modifiedText:null}}),seen=new Set,sections=[],duplicateNames=[];for(let s2 of allSections)if(seen.has(s2.name))duplicateNames.push(s2.name);else seen.add(s2.name),sections.push(s2);let doc2=new MarkdownDocument(domain2,frontmatterBlock,frontmatter,preamble,sections);return doc2._duplicateSectionNames.push(...duplicateNames),doc2}get domain(){return this._domain}replacePreamble(newBody){this._preamble=newBody}get frontmatter(){return this._frontmatter}get frontmatterRaw(){return this._frontmatter?.raw??null}get frontmatterData(){return this._frontmatter?.data??null}get bodyWithoutFrontmatter(){let result=this._preamble;for(let section of this._sections)result+=section.modifiedText??section.originalText;return result}get sectionNames(){return this._sections.map((s2)=>s2.name)}get demotedHeadings(){return this._demotedHeadings}get duplicateSectionNames(){return this._duplicateSectionNames}get canonicalSections(){let base2=this._domain==="task"?TASK_CANONICAL_SECTIONS:FEATURE_CANONICAL_SECTIONS,extra=UNIVERSAL_SECTIONS.filter((s2)=>!base2.includes(s2));return[...base2,...extra]}validateSectionName(name){if(!this.canonicalSections.includes(name))throw Error(`Unknown section "${name}" for domain "${this._domain}". Canonical sections: ${this.canonicalSections.join(", ")}.`)}findSection(name){return this._sections.find((s2)=>s2.name===name)}hasSection(name){return this.findSection(name)!==void 0}getSection(name){this.validateSectionName(name);let section=this.findSection(name);if(section===void 0)return null;let text3=section.modifiedText??section.originalText,newlineIdx=text3.indexOf(`
|
|
1426
|
+
`);return newlineIdx===-1?"":text3.slice(newlineIdx+1)}replaceSection(name,body){this.validateSectionName(name);let cleaned=this.stripSameLevelHeadings(body),section=this.findSection(name);if(section!==void 0){let trimmed=cleaned.trim();section.modifiedText=trimmed.length>0?`${section.headingLine}
|
|
1427
|
+
|
|
1428
|
+
${trimmed}
|
|
1429
|
+
|
|
1430
|
+
`:`${section.headingLine}
|
|
1431
|
+
|
|
1432
|
+
`;return}this.insertSection(name,cleaned)}stripSameLevelHeadings(body){let prefix=`${"#".repeat(HEADING_LEVELS[this._domain])} `,lines=body.split(`
|
|
1433
|
+
`),kept=[],inCodeBlock=!1;for(let line of lines){if(line.startsWith("```")){inCodeBlock=!inCodeBlock,kept.push(line);continue}if(!inCodeBlock&&line.startsWith(prefix)){this._demotedHeadings.push(line),kept.push(`#${line}`);continue}kept.push(line)}return kept.join(`
|
|
1434
|
+
`)}insertSection(name,body){let level=HEADING_LEVELS[this._domain],headingLine=`${"#".repeat(level)} ${name}`,canonicalIndex=this.canonicalSections.indexOf(name),newSection={name,headingLine,originalText:"",modifiedText:`${headingLine}
|
|
1435
|
+
|
|
1436
|
+
${body.trimEnd()}
|
|
1437
|
+
|
|
1438
|
+
`},at=this._sections.length;for(let i2=0;i2<this._sections.length;i2++)if(this.canonicalSections.indexOf(this._sections[i2]?.name??"")>canonicalIndex){at=i2;break}this._sections.splice(at,0,newSection)}replaceMarkerRegion(name,content){this.validateSectionName(name);let section=this.findSection(name);if(section===void 0)throw Error(`Section "${name}" does not exist in this document.`);let text3=section.modifiedText??section.originalText,startMatch=MARKER_START_RE.exec(text3),endMatch=MARKER_END_RE.exec(text3);if(startMatch===null||endMatch===null||startMatch.index>=endMatch.index)throw Error(`No marker region found in section "${name}".`);let before=text3.slice(0,startMatch.index),after=text3.slice(endMatch.index+endMatch[0].length);section.modifiedText=`${before}${START_MARKER}
|
|
1439
|
+
${content}
|
|
1440
|
+
${END_MARKER}${after}`}setFrontmatterField(key,value){let fieldLine=`${key}: ${typeof value==="number"?String(value):escapeYamlValue(value)}`;if(this._frontmatter===null){let raw2=fieldLine;this._frontmatter={raw:raw2,data:{[key]:value}},this._frontmatterBlock=`---
|
|
1441
|
+
${raw2}
|
|
1442
|
+
---
|
|
1443
|
+
|
|
1444
|
+
`;return}let oldRaw=this._frontmatter.raw,lines=oldRaw.split(`
|
|
1445
|
+
`),keyPrefix=`${key}:`,idx=lines.findIndex((line)=>line===keyPrefix||line.startsWith(`${keyPrefix} `));if(idx===-1)lines.push(fieldLine);else lines[idx]=fieldLine;let raw=lines.join(`
|
|
1446
|
+
`);this._frontmatter={raw,data:{...this._frontmatter.data,[key]:value}};let rawStart=this._frontmatterBlock.indexOf(oldRaw);this._frontmatterBlock=rawStart===-1?`---
|
|
1447
|
+
${raw}
|
|
1448
|
+
---
|
|
1449
|
+
`:this._frontmatterBlock.slice(0,rawStart)+raw+this._frontmatterBlock.slice(rawStart+oldRaw.length)}setFrontmatterArray(key,values){let inline=values.length===0?"[]":`[${values.map((v)=>escapeYamlArrayElement(v)).join(", ")}]`,fieldLine=`${key}: ${inline}`;if(this._frontmatter===null){this._frontmatter={raw:fieldLine,data:{[key]:values}},this._frontmatterBlock=`---
|
|
1450
|
+
${fieldLine}
|
|
1451
|
+
---
|
|
1452
|
+
|
|
1453
|
+
`;return}let oldRaw=this._frontmatter.raw,lines=oldRaw.split(`
|
|
1454
|
+
`),keyPrefix=`${key}:`,idx=lines.findIndex((line)=>line===keyPrefix||line.startsWith(`${keyPrefix} `));if(idx===-1)lines.push(fieldLine);else lines[idx]=fieldLine;let raw=lines.join(`
|
|
1455
|
+
`);this._frontmatter={raw,data:{...this._frontmatter.data,[key]:values}};let rawStart=this._frontmatterBlock.indexOf(oldRaw);this._frontmatterBlock=rawStart===-1?`---
|
|
1456
|
+
${raw}
|
|
1457
|
+
---
|
|
1458
|
+
`:this._frontmatterBlock.slice(0,rawStart)+raw+this._frontmatterBlock.slice(rawStart+oldRaw.length)}serialize(){let result=this._frontmatterBlock;result+=this._preamble;for(let section of this._sections)result+=section.modifiedText??section.originalText;return result}}function escapeYamlArrayElement(value){return`"${value.replace(/\\/g,"\\\\").replace(/"/g,"\\\"")}"`}function escapeYamlValue(value){if(value.startsWith('"')&&value.endsWith('"'))return value;if(/[:{}[\],&*?|>!%@`#"'\\\n\r]/.test(value))return`"${value.replace(/\\/g,"\\\\").replace(/"/g,"\\\"")}"`;if(/^(null|true|false|yes|no|on|off)$/i.test(value))return`"${value}"`;if(/^\d/.test(value)&&!/^\d{4}-\d{2}-\d{2}/.test(value))return`"${value}"`;return value}init_zod();var TASK_STATUSES=["backlog","todo","wip","testing","blocked","done","cancelled"],FEATURE_STATUSES=["backlog","active","verifying","blocked","done","cancelled"];var PRIORITIES=["P0","P1","P2","P3"],PROFILES=["simple","standard","complex","research","refine","plan","unit","review","docs"],TASK_TYPES=["task","issue","review","meta","brainstorm"],TASK_VARIANTS=["standard","feature-impl","issue","review","meta","brainstorm"];var FEATURE_ID_PATTERN=/^[A-Z][1-9]*$/;var TASK_STATUS_ALIASES={completed:"done",complete:"done","in-progress":"wip","in progress":"wip",in_progress:"wip",dropped:"cancelled",cancel:"cancelled",canceled:"cancelled",new:"backlog",pending:"backlog",blocked:"blocked",wip:"wip",testing:"testing",done:"done",cancelled:"cancelled",backlog:"backlog",todo:"todo"};function normalizeTaskStatus(raw){let key=raw.trim().toLowerCase(),resolved=TASK_STATUS_ALIASES[key];if(resolved===void 0)throw Error(`Unknown task status: ${JSON.stringify(raw)} (allowed: ${TASK_STATUSES.join(", ")})`);return resolved}var isoDateString=exports_external.string().min(1).refine((value)=>!Number.isNaN(Date.parse(value)),{message:"must be an ISO 8601 timestamp"}),featureId=exports_external.string().regex(FEATURE_ID_PATTERN,{message:"feature id must match ^[A-Z][1-9]*$ (DD-14)"}).nullable().optional(),wbsString=exports_external.string().regex(/^\d{4}$/,{message:"parent_wbs must be a 4-digit WBS string"}).nullable().optional(),taskFrontmatterSchema=exports_external.object({schema_version:exports_external.literal(1),name:exports_external.string().min(1),description:exports_external.string().optional(),status:exports_external.preprocess((val)=>{if(typeof val==="string")try{return normalizeTaskStatus(val)}catch{}return val},exports_external.enum(TASK_STATUSES)),type:exports_external.enum(TASK_TYPES).optional().default("task"),template:exports_external.enum(TASK_VARIANTS).optional(),profile:exports_external.enum(PROFILES).optional(),feature_id:featureId,parent_wbs:wbsString,priority:exports_external.enum(PRIORITIES).optional(),tags:exports_external.array(exports_external.string()).optional(),dependencies:exports_external.array(exports_external.string()).optional(),ac_numbering:exports_external.literal("task-local").optional(),ac_altitude:exports_external.enum(["graduating","task-local"]).optional(),done_forced:exports_external.preprocess((v)=>typeof v==="string"?v==="true":v,exports_external.boolean().optional()),done_reason:exports_external.string().optional(),feature_link_declined:exports_external.preprocess((v)=>typeof v==="string"?v==="true":v,exports_external.boolean().optional()),estimate_hours:exports_external.preprocess((v)=>typeof v==="string"&&v.trim()!==""?Number(v):v,exports_external.number().positive().optional()),created_at:isoDateString,updated_at:isoDateString}),featureFrontmatterSchema=exports_external.object({schema_version:exports_external.literal(1),id:exports_external.string().regex(FEATURE_ID_PATTERN,{message:"feature id must match ^[A-Z][1-9]*$ (DD-14)"}),name:exports_external.string().min(1),status:exports_external.enum(FEATURE_STATUSES),priority:exports_external.enum(PRIORITIES).optional(),tags:exports_external.array(exports_external.string()).optional(),created_at:isoDateString,updated_at:isoDateString});var taskBatchItemSchema=exports_external.object({name:exports_external.string().min(1,"name is required"),background:exports_external.string().optional(),requirements:exports_external.string().optional(),design:exports_external.string().optional(),plan:exports_external.string().optional(),acceptance_criteria:exports_external.string().optional(),feature_id:featureId,parent_wbs:wbsString,priority:exports_external.enum(PRIORITIES).optional(),tags:exports_external.array(exports_external.string()).optional(),template:exports_external.enum(TASK_VARIANTS).optional(),estimate_hours:exports_external.number().positive().optional()}).strict(),taskBatchSchema=exports_external.array(taskBatchItemSchema).min(1,"batch must contain at least one task");init_dist2();init_zod();var sectionNameSchema=exports_external.enum(TASK_CANONICAL_SECTIONS),matrixEntrySchema=exports_external.object({required:exports_external.array(sectionNameSchema).optional(),optional:exports_external.array(sectionNameSchema).optional(),forbidden:exports_external.array(sectionNameSchema).optional(),gate:exports_external.boolean().optional()}).strict(),matrixStatusSchema=exports_external.enum(["backlog","todo","wip","testing","blocked","done","cancelled"]),sectionMatrixSchema=exports_external.object({variants:exports_external.record(exports_external.string(),exports_external.partialRecord(matrixStatusSchema,matrixEntrySchema))}).strict();var CANONICAL_INDEX=new Map(TASK_CANONICAL_SECTIONS.map((s2,i2)=>[s2,i2]));function parseWorkflowInventory(json2){if(typeof json2!=="object"||json2===null)return{ok:!1,error:"workflow inventory: projection is not an object"};let obj=json2,name=typeof obj.name==="string"?obj.name:"",kind=typeof obj.kind==="string"?obj.kind:"",format2=typeof obj.format==="string"?obj.format:"",version3=typeof obj.version==="string"||typeof obj.version==="number"?String(obj.version):"",definitionDigest=typeof obj.definitionDigest==="string"?obj.definitionDigest:"",source;if(obj.source!==void 0){if(typeof obj.source!=="object"||obj.source===null)return{ok:!1,error:"workflow inventory: invalid definition source"};let value=obj.source;if(typeof value.path!=="string"||value.path===""||typeof value.layer!=="string"||!["project","registered","shared"].includes(value.layer))return{ok:!1,error:"workflow inventory: invalid definition source path/layer"};source={path:value.path,layer:value.layer}}if(name==="")return{ok:!1,error:"workflow inventory: missing name"};if(kind==="")return{ok:!1,error:"workflow inventory: missing kind"};if(definitionDigest==="")return{ok:!1,error:"workflow inventory: missing definitionDigest"};if(!Array.isArray(obj.steps)||obj.steps.length===0)return{ok:!1,error:"workflow inventory: no declared steps"};let steps=[];for(let raw of obj.steps){if(typeof raw!=="object"||raw===null)return{ok:!1,error:"workflow inventory: a step is not an object"};let s2=raw;if(typeof s2.id!=="string"||s2.id==="")return{ok:!1,error:"workflow inventory: a step is missing its id"};steps.push({id:s2.id,initial:s2.initial===!0,terminal:s2.terminal===!0,failure:s2.failure===!0,pause:s2.pause===!0,loopBack:s2.loopBack===!0,conditional:s2.conditional===!0,...typeof s2.nodeType==="string"?{nodeType:s2.nodeType}:{},...typeof s2.description==="string"?{description:s2.description}:{}})}return{ok:!0,inventory:{name,kind,format:format2,version:version3,definitionDigest,steps,...source?{source}:{}}}}function assertInventoryIdentity(inventory,expectedDigest){if(expectedDigest==="")return{ok:!1,error:"workflow inventory: no expected definition digest to bind against"};if(inventory.definitionDigest!==expectedDigest)return{ok:!1,error:`workflow inventory: identity drift — projected ${inventory.definitionDigest} ≠ execution ${expectedDigest}`};return{ok:!0}}import{basename,isAbsolute,join as join3,resolve as resolve2}from"node:path";import{homedir}from"node:os";import{dirname as dirname3,join as join2,resolve}from"node:path";import{fileURLToPath as fileURLToPath3}from"node:url";init_dist2();init_zod();var RFC3339_PATTERN=/^\d{4}-\d{2}-\d{2}[Tt]\d{2}:\d{2}:\d{2}(\.\d+)?([Zz]|[+-]\d{2}:\d{2})$/;function isRfc3339Timestamp(value){return RFC3339_PATTERN.test(value)&&Number.isFinite(Date.parse(value))}var ALL_FINDING_CODES=["L1.markdown-parse","L1.schema-validation","L2.missing-required-section","L2.forbidden-section","L2.disallowed-section","L2.heading-level","L2.section-order","L3.requirements-format","L3.requirements-checkbox","L3.requirements-empty","L3.ac-empty","L3.ac-requirement-coverage","L3.solution-file-line","L3.review-priority-table","L3.required-section-placeholder","L3.plan-format","L3.unchecked-checklist","L3.ac-checklist-text","L3.ac-bdd-error","L3.ac-bdd-warning","L3.ac-bdd-invalid","L3.scope-delineation","L3.one-active-goal","L3.children-limit","L3.review-testing-contradiction","L4.design-placeholder","L4.feature-not-found","L4.feature-terminal","L4.missing-feature-id","L4.parent-not-found","L4.dependency-not-found","L4.rollup-subtasks-open","L4.rollup-parent-open","L4.rollup-missing-roster","L4.rollup-roster-not-declared-dependency","L4.readiness-blocked","L4.prose-prerequisite-unlisted","L4.prerequisite-cycle","L4.prerequisite-not-done","L4.gate-language","L4.linked-task-parse-failed","L4.orphan-scenarios","L4.uncovered-task-scenario","L4.uncovered-feature-scenario","L4.verdict-rows-match-no-scenario","L4.verifying-incomplete-tasks","L4.dogfood-missing","L4.stale-line-anchor","L4.anchor-subject-mismatch","L4.malformed-verdict-artifact","L4.scenario-unverified","L4.testing-verdict-stub","L4.evidence-not-recoverable","L4.feature-receipt-missing","L4.feature-receipt-malformed","L4.feature-receipt-cross-feature","L4.feature-receipt-divergent","L4.feature-receipt-failed","L4.feature-receipt-run","L4.feature-receipt-stale","L4.feature-receipt-contract"];function isFindingCode(code){return ALL_FINDING_CODES.includes(code)}init_dist();init_zod();var projectEntrySchema=exports_external.object({name:exports_external.string().min(1),path:exports_external.string().min(1),port:exports_external.number().int().nonnegative().default(0)}),projectsFileSchema=exports_external.object({schema_version:exports_external.literal(1).default(1),projects:exports_external.array(projectEntrySchema).default([])});init_zod();var slashCommandCategorySchema=exports_external.enum(["git","dev","sys","harness"]),slashCommandItemSchema=exports_external.object({name:exports_external.string().min(1),description:exports_external.string().min(1),category:slashCommandCategorySchema.default("dev"),argumentHint:exports_external.string().optional(),tags:exports_external.array(exports_external.string()).default([]),role:exports_external.string().optional(),source:exports_external.string().optional()}),slashCommandsFileSchema=exports_external.object({version:exports_external.number().int().default(1),updatedAt:exports_external.string().optional(),commands:exports_external.array(slashCommandItemSchema).default([])});var SPUR_LOG_LEVELS=["debug","info","warn","error"],DEFAULT_TASKS_DIR="docs/tasks",DEFAULT_FEATURES_DIR="docs/features",DEFAULT_DATABASE_URL=".spur/spur.db";var folderConfigSchema=exports_external.object({baseCounter:exports_external.number().int().nonnegative().default(0),label:exports_external.string().optional()});function folderPathWithDefault(defaultPath){return exports_external.preprocess((v)=>v==null?void 0:v,exports_external.string().default(defaultPath))}var tasksConfigSchema=exports_external.object({folders:exports_external.record(exports_external.string(),folderConfigSchema).default({}),active:folderPathWithDefault(DEFAULT_TASKS_DIR),severity:exports_external.record(exports_external.string(),exports_external.enum(["error","warning","off"])).optional()}).superRefine((data,ctx)=>{if(data.severity){for(let code of Object.keys(data.severity))if(!isFindingCode(code))ctx.addIssue({code:exports_external.ZodIssueCode.custom,path:["severity",code],message:`Unknown finding code "${code}" in severity overrides map`})}}),featuresConfigSchema=exports_external.object({dir:folderPathWithDefault(DEFAULT_FEATURES_DIR)}),EXECUTOR_CAPABILITY_TIERS=["cheap","standard","capable-1","capable-2","capable-3"];function normalizeExecutorTier(value){return value==="capable"?"capable-1":value}var executorCapabilityTierSchema=exports_external.preprocess((value)=>{if(value===void 0||value===null)return;return typeof value==="string"?normalizeExecutorTier(value):value},exports_external.enum(EXECUTOR_CAPABILITY_TIERS).optional()),AGENT_ROLE_NAMES=["scribe","coder","reviewer","planner"];var EXECUTION_CAPABILITY_AXES=["fsRead","fsWrite","networkEgress","processSpawn","externalMutationApproval"],SESSION_CAPABILITY_AXES=["resumeById","sessionDir","persistentStdin","structuredOutput"],AGENT_RUN_CAPABILITY_AXES=[...EXECUTION_CAPABILITY_AXES,...SESSION_CAPABILITY_AXES],EXECUTION_CAPABILITY_STATES=["enforced","available","unavailable","unknown"],EXECUTION_CAPABILITY_PROVENANCES=["native-known","operator-configured","unattested"],ExecutionCapabilityAttestationSchema=exports_external.object({state:exports_external.enum(EXECUTION_CAPABILITY_STATES),provenance:exports_external.enum(EXECUTION_CAPABILITY_PROVENANCES)}),ExecutionCapabilitiesSchema=exports_external.object({version:exports_external.literal(1),axes:exports_external.partialRecord(exports_external.enum(EXECUTION_CAPABILITY_AXES),ExecutionCapabilityAttestationSchema)}),EXECUTION_CAPABILITY_REQUIREMENTS=["available","enforced"],RequiresCapabilitiesSchema=exports_external.partialRecord(exports_external.enum(AGENT_RUN_CAPABILITY_AXES),exports_external.enum(EXECUTION_CAPABILITY_REQUIREMENTS)),executorAvailabilityOwnerSchema=exports_external.enum(["operator","quota","probe"]),executorDisabledObjectSchema=exports_external.object({owner:executorAvailabilityOwnerSchema,since:exports_external.string().refine(isRfc3339Timestamp,{message:"since must be an RFC 3339 timestamp"}),reason:exports_external.string().min(1)}),AgentExecutorConfigSchema=exports_external.object({name:exports_external.string().min(1),agent:exports_external.string().min(1),model:exports_external.string().min(1).optional(),tier:executorCapabilityTierSchema.optional(),executionCapabilities:ExecutionCapabilitiesSchema.optional(),disabled:exports_external.union([exports_external.boolean(),executorDisabledObjectSchema]).default(!1)});var AgentRoleConfigSchema=exports_external.object({tier:exports_external.enum(EXECUTOR_CAPABILITY_TIERS).optional(),stages:exports_external.array(exports_external.string().min(1)).min(1).optional()});var FleetMemberSchema=exports_external.object({id:exports_external.string().min(1).optional(),role:exports_external.enum(AGENT_ROLE_NAMES,{error:(issue2)=>Error(`Unknown role "${issue2.input}" — expected one of: ${AGENT_ROLE_NAMES.join(", ")}`)}).optional(),executor:exports_external.string().min(1).optional(),purpose:exports_external.string().optional(),enabled:exports_external.boolean().optional()}),FLEET_STRATEGIES=["rest","gtd"],FleetMemberEntrySchema=FleetMemberSchema.superRefine((member,ctx)=>{if(member.role===void 0&&member.executor===void 0)ctx.addIssue({code:exports_external.ZodIssueCode.custom,message:"must declare a role or an executor — at least one is required"})}),AgentFleetSchema=exports_external.object({enabled:exports_external.boolean().default(!1),strategy:exports_external.enum(FLEET_STRATEGIES).default("rest"),orchestrator:exports_external.string().min(1).optional(),members:exports_external.array(FleetMemberEntrySchema).default([])});var AgentOutputConfigSchema=exports_external.object({"max-bytes":exports_external.number().int().positive().optional(),"max-lines":exports_external.number().int().positive().optional()}),AgentConfigSchema=exports_external.object({default:exports_external.string().optional(),executors:exports_external.array(AgentExecutorConfigSchema).optional(),roles:exports_external.record(exports_external.string(),AgentRoleConfigSchema).optional(),output:AgentOutputConfigSchema.optional(),sessionAffinity:exports_external.boolean().optional(),fleet:AgentFleetSchema.optional()}).superRefine((value,ctx)=>{for(let key of Object.keys(value.roles??{}))if(!AGENT_ROLE_NAMES.includes(key))ctx.addIssue({code:exports_external.ZodIssueCode.custom,path:["roles",key],message:`Unknown role "${key}" — expected one of: ${AGENT_ROLE_NAMES.join(", ")}`});let executors=value.executors,executorNames=new Set;if(executors!==void 0){let seen=new Set;for(let[index2,executor]of executors.entries()){if(seen.has(executor.name))ctx.addIssue({code:exports_external.ZodIssueCode.custom,message:`Duplicate executor name: ${executor.name}`,path:["executors",index2,"name"]});if(executor.name==="inline"||executor.name==="auto")ctx.addIssue({code:exports_external.ZodIssueCode.custom,message:`Executor name "${executor.name}" is reserved (the --agent selector value '${executor.name}' has fixed semantics); rename executor at index ${index2}.`,path:["executors",index2,"name"]});if(AGENT_ROLE_NAMES.includes(executor.name))ctx.addIssue({code:exports_external.ZodIssueCode.custom,message:`Executor name "${executor.name}" collides with the role selector namespace ("${executor.name}"); rename executor at index ${index2}.`,path:["executors",index2,"name"]});seen.add(executor.name),executorNames.add(executor.name)}}}),RulesConfigSchema=exports_external.object({paths:exports_external.array(exports_external.string()).optional()}),WorkflowsConfigSchema=exports_external.object({paths:exports_external.array(exports_external.string()).optional()}),WorkflowConfigSchema=exports_external.object({hitlDecisionMaker:exports_external.boolean().optional(),logRetentionDays:exports_external.number().int().positive().default(30)}),RedactionConfigSchema=exports_external.object({enabled:exports_external.boolean().optional()}),HistoryRefreshConfigSchema=exports_external.object({on_completion:exports_external.boolean().default(!1),debounce_ms:exports_external.number().int().min(1000).default(600000)}),HistoryConfigSchema=exports_external.object({refresh:HistoryRefreshConfigSchema.optional()}),VersionCarrierEntrySchema=exports_external.looseObject({type:exports_external.string().min(1)}),BuilderBumpVerConfigSchema=exports_external.object({tagVersionSeparator:exports_external.string().min(1).default("-v"),aggregatePackage:exports_external.string().min(1).optional(),publishWorkflow:exports_external.string().min(1).default("publish.yml"),releaseCommitType:exports_external.string().min(1).default("chore"),releaseCommitScope:exports_external.string().min(1).default("release"),ghRunListLimit:exports_external.number().int().positive().default(5),versionCarriers:exports_external.array(VersionCarrierEntrySchema).default([])}),BuilderConfigSchema=exports_external.object({"bump-ver":BuilderBumpVerConfigSchema.optional()});var bootstrapOptionsSchema=exports_external.object({options:exports_external.record(exports_external.string(),exports_external.unknown()).optional()}),spurConfigSchema=exports_external.object({version:exports_external.string().optional(),name:exports_external.string().optional(),bootstrap:bootstrapOptionsSchema.optional(),agent:AgentConfigSchema.optional(),rules:RulesConfigSchema.optional(),workflows:WorkflowsConfigSchema.optional(),workflow:WorkflowConfigSchema.optional(),redaction:RedactionConfigSchema.optional(),history:HistoryConfigSchema.optional(),builder:BuilderConfigSchema.optional(),tasks:tasksConfigSchema.optional(),features:featuresConfigSchema.optional()});var configSchema3=exports_external.object({database:exports_external.object({url:exports_external.string().default(DEFAULT_DATABASE_URL)}).default({url:DEFAULT_DATABASE_URL}),server:exports_external.object({port:exports_external.coerce.number().int().positive().default(3000),host:exports_external.string().default("localhost"),openBrowser:exports_external.boolean().default(!0),webDistPath:exports_external.string().nullable().default(null)}).default({port:3000,host:"localhost",openBrowser:!0,webDistPath:null}),telemetry:exports_external.object({enabled:exports_external.boolean().default(!1),endpoint:exports_external.string().optional()}).default({enabled:!1}),logging:exports_external.object({level:exports_external.enum(SPUR_LOG_LEVELS).default("info")}).default({level:"info"})});import{existsSync as existsSync2,readdirSync as readdirSync2,statSync as statSync3}from"node:fs";import{dirname as dirname2,join}from"node:path";var BUNDLED_CONFIG_DIRS=["config","spur-cli/config"],cachedRoot;function bundledConfigRoot(){if(cachedRoot!==void 0)return cachedRoot;let dir=import.meta.dirname;while(!0){for(let name of BUNDLED_CONFIG_DIRS){let candidate=join(dir,name);if(isBundledConfigDir(candidate))return cachedRoot=candidate,cachedRoot}let parent=dirname2(dir);if(parent===dir)break;dir=parent}return cachedRoot=null,cachedRoot}function isBundledConfigDir(candidate){return existsSync2(candidate)&&statSync3(candidate).isDirectory()&&existsSync2(join(candidate,"rules"))&&existsSync2(join(candidate,"workflows"))}init_dist2();var GLOBAL_CONFIG_FILE=join2(homedir(),".config","spur","config.yaml"),LOADER_DIR=dirname3(fileURLToPath3(import.meta.url));init_dist6();init_dist2();import crypto3 from"node:crypto";function canonicalJsonStringify(obj){if(obj===null||typeof obj!=="object")return JSON.stringify(obj);if(Array.isArray(obj))return`[${obj.map(canonicalJsonStringify).join(",")}]`;return`{${Object.keys(obj).sort().map((key)=>`${JSON.stringify(key)}:${canonicalJsonStringify(obj[key])}`).join(",")}}`}function computeDefinitionDigest(workflow){let canonical=canonicalJsonStringify(workflow);return`sha256:${crypto3.createHash("sha256").update(canonical,"utf8").digest("hex")}`}var EMBEDDED_SCHEMA_PREFIX="\x00embedded-spur",SPUR_SCHEMA_MANIFEST="@gobing-ai/spur/package.json";function normalizeLayerPath(cwd,path8){return resolve2(cwd,path8)}function workflowLayers(opts){let sharedRoot=opts.sharedRoot!==void 0?opts.sharedRoot:bundledConfigRoot(),sharedPath=sharedRoot!==null?normalizeLayerPath(opts.cwd,join3(sharedRoot,"workflows")):null,layers=[],seen=new Set,add=(id,path8)=>{if(seen.has(path8))return;seen.add(path8),layers.push({id,path:path8})};add("project",normalizeLayerPath(opts.cwd,join3(opts.cwd,".spur","workflows")));for(let entry of opts.registered){if(sharedPath!==null&&normalizeLayerPath(opts.cwd,entry)===sharedPath)continue;add("registered",normalizeLayerPath(opts.cwd,entry))}if(sharedPath!==null)add("shared",sharedPath);return layers}function createEmbeddedSchemaOptions(embedded){if(embedded===void 0||embedded.size===0)return;let nodeFs=createNodeFileSystem2();return{resolve:(specifier)=>specifier===SPUR_SCHEMA_MANIFEST?`${EMBEDDED_SCHEMA_PREFIX}/package.json`:specifier,fileSystem:{readFile:async(path8)=>{if(!path8.startsWith(EMBEDDED_SCHEMA_PREFIX))return nodeFs.readFile(path8);let subpath=path8.slice(EMBEDDED_SCHEMA_PREFIX.length+1),text3=embedded.get(subpath);if(text3===void 0)throw Error(`No embedded schema registered for "${subpath}".`);return text3}}}}async function readWorkflowNameFast(fs2,filePath){try{let text3=await fs2.readFile(filePath),parsed=$parse(text3);return typeof parsed?.name==="string"?parsed.name:null}catch{return null}}async function scanWorkflowByName(cwd,name,registered){let fs2=createNodeFileSystem2();for(let layer of workflowLayers({cwd,registered}))try{let files=(await fs2.readDir(layer.path)).filter((f)=>f.endsWith(".yaml")||f.endsWith(".yml"));for(let f of files){let abs=join3(layer.path,f);if(await readWorkflowNameFast(fs2,abs)===name)return{path:abs,source:layer.id}}}catch{}return null}function resolveWorkflowFile(cwd,file2){let fs2=createNodeFileSystem2(),projectPath=resolve2(cwd,file2);if(fs2.exists(projectPath))return{path:projectPath,source:"project"};let isYaml=file2.endsWith(".yaml")||file2.endsWith(".yml"),base2=basename(file2);if(!isAbsolute(file2)){let withYaml=isYaml?file2:`${file2}.yaml`,projectSpur=resolve2(cwd,".spur","workflows",withYaml);if(fs2.exists(projectSpur))return{path:projectSpur,source:"project"};if(!isYaml){let projectDirect=resolve2(cwd,`${file2}.yaml`);if(fs2.exists(projectDirect))return{path:projectDirect,source:"project"};let projectSpurPipeline=resolve2(cwd,".spur","workflows",`${file2}-pipeline.yaml`);if(fs2.exists(projectSpurPipeline))return{path:projectSpurPipeline,source:"project"};let projectDirectPipeline=resolve2(cwd,`${file2}-pipeline.yaml`);if(fs2.exists(projectDirectPipeline))return{path:projectDirectPipeline,source:"project"}}}let bundledRoot=bundledConfigRoot();if(bundledRoot!==null){let sharedName=isYaml?base2:`${base2}.yaml`,sharedPath=join3(bundledRoot,"workflows",sharedName);if(fs2.exists(sharedPath))return{path:sharedPath,source:"shared"};if(!isYaml){let sharedPipeline=join3(bundledRoot,"workflows",`${base2}-pipeline.yaml`);if(fs2.exists(sharedPipeline))return{path:sharedPipeline,source:"shared"};let sharedLiteral=join3(bundledRoot,"workflows",base2);if(fs2.exists(sharedLiteral))return{path:sharedLiteral,source:"shared"}}return{path:null,probed:[projectPath,sharedPath]}}return{path:null,probed:[projectPath,null]}}async function resolveWorkflowDefinition(cwd,fileOrName,options={}){let registered=options.registered??[],resolved=(basename(fileOrName)===fileOrName&&!/\.ya?ml$/.test(fileOrName)&&!createNodeFileSystem2().exists(resolve2(cwd,fileOrName))?await scanWorkflowByName(cwd,fileOrName,registered):null)??resolveWorkflowFile(cwd,fileOrName);if(resolved.path===null){let scanned=await scanWorkflowByName(cwd,fileOrName,registered);if(scanned!==null)resolved=scanned;else{let[probedProject,probedShared]=resolved.probed;throw Error(`Workflow not found: ${probedProject}${probedShared!==null?` (shared: ${probedShared})`:""}`)}}let embedded=createEmbeddedSchemaOptions(options.embeddedSchemas),workflow=await loadWorkflowDef(resolved.path,{validateSchema:options.validateSchema!==!1,...embedded!==void 0?embedded:{}});if(workflow.version==="")throw Error(`Invalid workflow definition ${resolved.path}: root "version" is an empty string. Omit the field for an unversioned definition, or give it a non-empty literal.`);let digest=computeDefinitionDigest(workflow);return{path:resolved.path,workflow,digest,layer:resolved.source}}var UNPERSISTED_PREFIX="trace-unpersisted:";class RunRowNotFoundError extends Error{runId;constructor(runId){super(`run row not found: ${runId}`);this.name="RunRowNotFoundError",this.runId=runId}}class WorkflowActionTraceWriter{inner;recordFailure;db;boundaries=new Map;constructor(inner,recordFailure,db2){this.inner=inner;this.recordFailure=recordFailure;this.db=db2}async saveActionStart(runId,node,kind,options){let outcome=await this.guard("action.start",{runId,node,kind},()=>this.inner.saveActionStart(runId,node,kind,options));if(!outcome.ok){let syntheticId=`${UNPERSISTED_PREFIX}${crypto.randomUUID()}`;return this.boundaries.set(syntheticId,{runId,node,kind}),this.lastStart={runId,node,kind},syntheticId}return this.boundaries.set(outcome.value,{runId,node,kind}),this.lastStart={runId,node,kind},outcome.value}lastStart;async saveActionFinalize(actionId,status,durationMs,ok,kind,result,redactor){let origin2=this.boundaries.get(actionId)??this.lastStart;await this.guard("action.finish",{runId:origin2?.runId??"",node:origin2?.node,kind},()=>this.inner.saveActionFinalize(actionId,status,durationMs,ok,kind,result,redactor)),this.boundaries.delete(actionId)}async finalizeRun(runId,status,completedAt){await this.inner.finalizeRun(runId,status,completedAt)}async claimRunOwnership(runId,owner,expectedStatuses){return this.inner.claimRunOwnership(runId,owner,expectedStatuses)}async interruptRun(runId,reason){return this.inner.interruptRun(runId,reason)}async recordAction(boundary2){let start=await this.guard("action.start",{runId:boundary2.runId,node:boundary2.node,kind:boundary2.kind},()=>this.inner.saveActionStart(boundary2.runId,boundary2.node,boundary2.kind));if(!start.ok)return start;let finish=await this.guard("action.finish",{runId:boundary2.runId,node:boundary2.node,kind:boundary2.kind},()=>this.inner.saveActionFinalize(start.value,boundary2.status,boundary2.durationMs,boundary2.ok,boundary2.kind,boundary2.result,boundary2.redactor));if(!finish.ok)return finish;return await this.backdateStart(start.value,boundary2),{ok:!0,actionId:start.value}}async backdateStart(actionId,boundary2){let db2=this.db;if(db2===void 0||boundary2.durationMs<=0)return;await this.guard("action.backdate",{runId:boundary2.runId,node:boundary2.node,kind:boundary2.kind},async()=>{let dao2=new ActionRunDao(db2),completedAt=await dao2.completedAtById(actionId);if(completedAt===null)return;let startedAt=new Date(new Date(completedAt).getTime()-boundary2.durationMs).toISOString();await dao2.setStartedAt(actionId,startedAt)})}async closeRun(runId,status,completedAt){if(await this.inner.loadRun(runId)===void 0)throw new RunRowNotFoundError(runId);return await this.inner.finalizeRun(runId,status,completedAt??new Date().toISOString()),{ok:!0}}async guard(operation,context4,emit){try{return{ok:!0,value:await emit()}}catch(error51){let failure={operation,runId:context4.runId,...context4.node!==void 0?{node:context4.node}:{},...context4.kind!==void 0?{kind:context4.kind}:{},error:error51 instanceof Error?error51.message:String(error51),at:new Date().toISOString()};try{this.recordFailure?.(failure)}catch{}return{ok:!1,failure}}}createRun(record2){return this.inner.createRun(record2)}savePhase(runId,phase,status){return this.inner.savePhase(runId,phase,status)}saveTransition(runId,from,to,trigger){return this.inner.saveTransition(runId,from,to,trigger)}saveWorkflowState(runId,state,data){return this.inner.saveWorkflowState(runId,state,data)}commitTransition(runId,from,to,trigger,state,data,phase){return this.inner.commitTransition(runId,from,to,trigger,state,data,phase)}loadRun(runId){return this.inner.loadRun(runId)}listRuns(){return this.inner.listRuns()}findRunByKey(workflowName,externalKey){return this.inner.findRunByKey(workflowName,externalKey)}createOrAttachRun(record2){return this.inner.createOrAttachRun(record2)}reseedRun(runId,newState){return this.inner.reseedRun(runId,newState)}loadCurrentState(runId){return this.inner.loadCurrentState(runId)}loadLatestStateSnapshot(runId){return this.inner.loadLatestStateSnapshot(runId)}listPausedRuns(options){return this.inner.listPausedRuns(options)}}function createWorkflowActionTraceWriter(db2,recordFailure){return new WorkflowActionTraceWriter(new DbWorkflowPersistenceAdapter(db2),recordFailure,db2)}var TRIPWIRE_CATALOG=Object.freeze({"retry-exhausted":{id:"retry-exhausted",version:1,response:"fail",nextDecision:"Retries are exhausted; an operator must decide to escalate, extend the retry policy, or fail the stage. No further automatic retry is permitted."},"hard-budget":{id:"hard-budget",version:1,response:"fail",nextDecision:"An operator must raise the declared budget or trim the stage scope, then re-run the action; the run stays failed until then."},"capability-denied":{id:"capability-denied",version:1,response:"fail",nextDecision:"An operator must attest the executor capabilities in agent config or lower the stage requiresCapabilities, then re-run the action."},"proof-invalidated":{id:"proof-invalidated",version:1,response:"fail",nextDecision:"An operator must restore the proof inputs or re-establish the verdict (re-verify) before record; recording against a changed tree is blocked."},"output-drop":{id:"output-drop",version:1,response:"continue",nextDecision:"The dispatch completed but its captured evidence is incomplete (bounded relay dropped chunks). Inspect the session/trace for full output if the result is contested."}});var SHELL_METACHARACTERS=/[;&|<>$`(){}[\]!*?~#\n\r"']/;function splitLaunchCommand(value,label){if(SHELL_METACHARACTERS.test(value))return{error:`${label} must not contain shell metacharacters (got ${value})`};let tokens=value.trim().split(/\s+/).filter((t)=>t.length>0),command=tokens[0];if(command===void 0)return{error:`Action option ${label.slice(label.indexOf('"'))} must be a non-empty string`};return{command,leadingArgs:tokens.slice(1)}}import crypto4 from"node:crypto";import{tmpdir}from"node:os";import{dirname as dirname4,join as join4,resolve as resolve3,sep}from"node:path";init_dist6();class ProofCaptureError extends Error{stderr;constructor(message,stderr){super(message);this.stderr=stderr;this.name="ProofCaptureError"}}var TASK_SPEC_SECTIONS=["Background","Requirements","Acceptance Criteria","Design","Plan"],CANONICAL_TASK_HEADING_RE=/^##[ \t]+(\d+)\.[ \t]+(\S.*)$/m;function taskDocumentShapeError(content){let doc2=MarkdownDocument.parse(content,"task"),heading=CANONICAL_TASK_HEADING_RE.exec(doc2.bodyWithoutFrontmatter);if(heading===null)return"no canonical task heading (`## <WBS>. <title>`) was found";if((heading[2]??"").trim()==="")return`the canonical task heading for WBS ${heading[1]} has an empty title`;if(TASK_SPEC_SECTIONS.filter((section)=>doc2.hasSection(section)).length===0)return`no task specification section (${TASK_SPEC_SECTIONS.join(", ")}) was found`;return null}async function readProofInputContents(fileSystem=createNodeFileSystem2(),workdir,options){for(let name of["taskFile","featureFile"]){let value=options[name];if(value!==void 0&&typeof value!=="string")return{ok:!1,error:`${name} must be a string when supplied (got ${typeof value})`}}let readOne=async(name)=>{let raw=name==="taskFile"?options.taskFile:options.featureFile;if(raw===void 0||raw==="")return{};let workdirAbs=resolve3(workdir),resolved=resolve3(workdirAbs,raw);if(!(resolved===workdirAbs||resolved.startsWith(`${workdirAbs}${sep}`)))return{error:`${name} must resolve under the workflow workdir (${workdirAbs}): ${raw}`};let stat;try{stat=await fileSystem.stat(resolved)}catch(error51){return{error:`${name} could not be inspected: ${error51.message}`}}if(stat===null)return{error:`${name} does not exist: ${raw} (resolved ${resolved}) — an explicitly supplied spec must be readable, not silently omitted`};if(!stat.isFile())return{error:`${name} is not a regular file: ${resolved}`};let content;try{content=await fileSystem.readFile(resolved)}catch(error51){return{error:`${name} is not readable: ${error51.message}`}}if(name==="taskFile"){let shapeError=taskDocumentShapeError(content);if(shapeError!==null)return{error:`taskFile is not a task document: ${raw} (resolved ${resolved}) — ${shapeError}. Supply the task specification markdown itself: a \`## <WBS>. <title>\` heading plus at least one of ${TASK_SPEC_SECTIONS.join(", ")}. A file containing only a path is not dereferenced.`}}return{content}},task=await readOne("taskFile");if(task.error!==void 0)return{ok:!1,error:task.error};let feature=await readOne("featureFile");if(feature.error!==void 0)return{ok:!1,error:feature.error};return{ok:!0,...task.content!==void 0?{taskContent:task.content}:{},...feature.content!==void 0?{featureContent:feature.content}:{}}}var DEFAULT_EXCLUDE_GLOBS=["docs/tasks*","docs/features*"];async function createGitAlternateTree(cwd,excludeGlobs=DEFAULT_EXCLUDE_GLOBS,executor=new NodeProcessExecutor2,fs2=createNodeFileSystem2()){let indexFile=join4(tmpdir(),`spur-proof-fingerprint-${crypto4.randomUUID()}.index`);try{await fs2.ensureDir(dirname4(indexFile));let env2=Object.fromEntries(Object.entries(getEnvVars()).filter((entry)=>entry[1]!==void 0));env2.GIT_INDEX_FILE=indexFile;let common4={cwd,env:env2,forceBuffered:!0,rejectOnError:!1},read=await executor.run({command:"git",args:["read-tree","HEAD"],...common4});if(read.exitCode!==0)throw new ProofCaptureError(`git read-tree HEAD failed with exit code ${read.exitCode}`,read.stderr);let excludes=excludeGlobs.map((glob)=>`:(exclude)${glob}`),add=await executor.run({command:"git",args:["add","-A","--",".",...excludes],...common4});if(add.exitCode!==0)throw new ProofCaptureError(`git add -A failed with exit code ${add.exitCode}`,add.stderr);let tree=await executor.run({command:"git",args:["write-tree"],...common4});if(tree.exitCode!==0)throw new ProofCaptureError(`git write-tree failed with exit code ${tree.exitCode}`,tree.stderr);return tree.stdout.trim()}catch(error51){if(error51 instanceof ProofCaptureError)throw error51;throw new ProofCaptureError(`git alternate-tree capture threw: ${error51.message}`)}finally{if(await fs2.exists(indexFile))try{await fs2.deleteFile(indexFile)}catch{}}}function extractTaskProofData(content){let doc2=MarkdownDocument.parse(content,"task"),fm=doc2.frontmatterData??{},wbs=typeof fm.wbs==="string"?fm.wbs:void 0,name=typeof fm.name==="string"?fm.name:void 0,feature_id=typeof fm.feature_id==="string"?fm.feature_id:void 0,depends_on;if(Array.isArray(fm.depends_on))depends_on=fm.depends_on.filter((d)=>typeof d==="string");else if(Array.isArray(fm.dependencies))depends_on=fm.dependencies.filter((d)=>typeof d==="string");let sections={},taskSections=["Background","Requirements","Acceptance Criteria","Design","Plan"];for(let sec of taskSections)if(doc2.hasSection(sec)){let body=doc2.getSection(sec);if(body!==null)sections[sec]=body.trim()}return{...wbs!==void 0?{wbs}:{},...name!==void 0?{name}:{},...feature_id!==void 0?{feature_id}:{},...depends_on!==void 0?{depends_on}:{},sections}}function extractFeatureProofData(content){let doc2=MarkdownDocument.parse(content,"feature"),fm=doc2.frontmatterData??{},id=typeof fm.id==="string"?fm.id:void 0,name=typeof fm.name==="string"?fm.name:void 0,sections={},featureSections=["Goal","Scope","Acceptance Criteria"];for(let sec of featureSections)if(doc2.hasSection(sec)){let body=doc2.getSection(sec);if(body!==null)sections[sec]=body.trim()}return{...id!==void 0?{id}:{},...name!==void 0?{name}:{},sections}}async function computeProofInputFingerprint(options={}){let cwd=options.cwd??process.cwd(),gitTree=await createGitAlternateTree(cwd,options.excludeGlobs??DEFAULT_EXCLUDE_GLOBS,options.processExecutor,options.fileSystem),task;if(options.taskContent!==void 0)task=extractTaskProofData(options.taskContent);let feature;if(options.featureContent!==void 0)feature=extractFeatureProofData(options.featureContent);let canonical=canonicalJsonStringify({gitTree,...task!==void 0?{task}:{},...feature!==void 0?{feature}:{},...options.learningsContent!==void 0?{learnings:options.learningsContent}:{}});return`sha256:${crypto4.createHash("sha256").update(canonical,"utf8").digest("hex")}`}var ProofInputFingerprint={compute:computeProofInputFingerprint};init_zod();var VERDICT_AGGREGATES=["PASS","PARTIAL","FAIL","UNKNOWN"],ROW_STATUSES=["MET","PARTIAL","UNMET","N/A"],CHECK_SEVERITIES=["blocker","major","minor","advisory"],verdictSchema=exports_external.string().transform((v,ctx)=>{let up=v.toUpperCase();if(!VERDICT_AGGREGATES.includes(up))return ctx.addIssue({code:"custom",message:`invalid verdict "${v}" (expected PASS|PARTIAL|FAIL|UNKNOWN)`}),"UNKNOWN";return up}),coverageRowSchema=exports_external.object({id:exports_external.string().optional(),scenario:exports_external.string().optional(),status:exports_external.string(),evidenceType:exports_external.string().optional(),evidence:exports_external.string().optional()}).superRefine((r,ctx)=>{if(r.id!==void 0&&r.scenario!==void 0&&r.id!==r.scenario)ctx.addIssue({code:"custom",message:`id/scenario conflict ("${r.id}" vs "${r.scenario}")`,path:["scenario"]});if(!ROW_STATUSES.includes(r.status.toUpperCase()))ctx.addIssue({code:"custom",message:`invalid row status "${r.status}"`,path:["status"]})}).transform((r)=>({id:r.id??r.scenario??"",status:r.status.toUpperCase(),evidenceType:r.evidenceType??"",evidence:r.evidence??""})),checkSchema=exports_external.object({name:exports_external.string().optional(),check:exports_external.string().optional(),id:exports_external.string().optional(),status:exports_external.string(),evidence:exports_external.string().optional().default(""),severity:exports_external.enum(CHECK_SEVERITIES).optional()}).superRefine((c3,ctx)=>{if(c3.name===void 0&&c3.check===void 0&&c3.id===void 0)ctx.addIssue({code:"custom",message:"check row needs one of name/check/id",path:["name"]})}).transform((c3)=>({name:c3.name??c3.check??c3.id??"",status:c3.status,evidence:c3.evidence,severity:c3.severity})),verifyVerdictSchema=exports_external.object({wbs:exports_external.string().optional().default(""),verdict:verdictSchema,requirements:exports_external.array(coverageRowSchema).optional().default([]),acceptanceCriteria:exports_external.array(coverageRowSchema).optional().default([]),checks:exports_external.array(checkSchema).optional().default([]),source:exports_external.string().optional(),pipelineRunId:exports_external.string().optional(),recordedAt:exports_external.string().optional()});var field=(path8,label)=>({path:path8,label}),SOURCE_PROFILES={planning:{producerPackage:"spur",subsystem:"planning",remediationKind:"prefix-filter"},queue:{producerPackage:"@gobing-ai/ts-infra",subsystem:"job-queue",remediationKind:"prefix-filter"},scheduler:{producerPackage:"@gobing-ai/ts-infra",subsystem:"scheduler",remediationKind:"prefix-filter"},message:{producerPackage:"spur",subsystem:"coordination-messaging",remediationKind:"prefix-filter"},process:{producerPackage:"@gobing-ai/ts-runtime",subsystem:"process-executor",remediationKind:"prefix-filter"},workflow:{producerPackage:"@gobing-ai/ts-dual-workflow-engine",subsystem:"workflow",remediationKind:"workflow-trace"},rule:{producerPackage:"@gobing-ai/ts-rule-engine",subsystem:"rule-engine",remediationKind:"rule-trace"},agent:{producerPackage:"@gobing-ai/ts-ai-runner",subsystem:"agent-runner",remediationKind:"prefix-filter"},history:{producerPackage:"spur",subsystem:"history",remediationKind:"prefix-filter"},bus:{producerPackage:"@gobing-ai/ts-infra",subsystem:"event-bus",remediationKind:"prefix-filter"},api:{producerPackage:"spur",subsystem:"http-api",remediationKind:"prefix-filter"}};function at(data,path8){if(data===null)return;let current=data;for(let segment of path8.split(".")){if(current===null||typeof current!=="object"||Array.isArray(current))return;current=current[segment]}return current}function s2(data,...paths){for(let path8 of paths){let value=at(data,path8);if(typeof value==="string"&&value.length>0)return value}return}function n2(data,...paths){for(let path8 of paths){let value=at(data,path8);if(typeof value==="number"&&Number.isFinite(value))return String(value);if(typeof value==="boolean")return String(value)}return}function entityId(input){return s2(input.data,"entity.id")??input.correlation.entityId??""}function looksLikeOpaqueId(value){if(typeof value!=="string")return!1;let v=value.trim();if(v==="")return!1;if(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(v))return!0;if(/^live[-_][a-z0-9._-]+$/i.test(v))return!0;if(/^(?:eventId|rowId|runId|executionId|actionId)$/i.test(v))return!0;return!1}function humanWorkflowTitle(input){let raw=s2(input.data,"workflowName")??s2(input.data,"workflow");if(raw!==void 0&&!looksLikeOpaqueId(raw))return(raw.split("/").pop()?.replace(/\.(?:ya?ml|json)$/i,"")??raw).replace(/[._-]+$/,"");return""}function humanStepLabel(data){let label=s2(data,"nodeLabel")??s2(data,"stepName")??s2(data,"step");if(label!==void 0&&!looksLikeOpaqueId(label))return label;let node=s2(data,"node");if(node!==void 0&&!looksLikeOpaqueId(node))return node;return}function derivedFrom(...paths){return{support:"derived",derive:({data})=>s2(data,...paths)}}function derivedFromValue(...paths){return{support:"derived",derive:({data})=>n2(data,...paths)??s2(data,...paths)}}var unsupported={support:"unsupported"};function baseEvent(name,source,renderer,payloadPolicy="metadata-only",tier="default",producer){return{name,source,tier,payloadPolicy,renderer,...producer!==void 0?{producer}:{}}}var BASE_CATALOG=[baseEvent("task.created","planning","planning"),baseEvent("task.updated","planning","planning"),baseEvent("task.transitioned","planning","planning"),baseEvent("feature.created","planning","planning"),baseEvent("feature.updated","planning","planning"),baseEvent("feature.transitioned","planning","planning"),baseEvent("queue.consumer.started","queue","queue"),baseEvent("queue.consumer.stopped","queue","queue"),baseEvent("queue.job.enqueued","queue","queue"),baseEvent("queue.job.started","queue","queue"),baseEvent("queue.job.completed","queue","queue"),baseEvent("queue.job.failed","queue","queue"),baseEvent("queue.job.retrying","queue","queue"),baseEvent("queue.stats","queue","queue"),baseEvent("scheduler.job.executed","scheduler","scheduler"),baseEvent("message.sent","message","message"),baseEvent("message.replied","message","message"),baseEvent("process.spawned","process","process"),baseEvent("process.exited","process","process"),baseEvent("process.stopped","process","process"),baseEvent("process.started","process","process"),baseEvent("agent.invoke.start","agent","agent"),baseEvent("agent.invoke.exit","agent","agent"),baseEvent("agent.invoke.escalated","agent","agent","metadata-only","default",{package:"spur",subsystem:"agent-runner"}),baseEvent("agent.invoke.exhausted","agent","agent","metadata-only","default",{package:"spur",subsystem:"agent-runner"}),baseEvent("agent.started","agent","agent"),baseEvent("agent.stopped","agent","agent"),baseEvent("agent.message.sent","agent","agent"),baseEvent("strategy.changed","agent","agent","metadata-only","default",{package:"spur",subsystem:"fleet-strategy"}),baseEvent("fleet.capacity.changed","agent","agent","metadata-only","default",{package:"spur",subsystem:"write-slot"}),baseEvent("task.assigned","planning","planning"),baseEvent("history.import.completed","history","history-import"),baseEvent("history.analyze.completed","history","history-analyze"),baseEvent("history.daily.failed","history","history-daily"),baseEvent("history.refresh.enqueued","history","history-refresh"),baseEvent("rule.run.start","rule","rule"),baseEvent("rule.eval.start","rule","rule"),baseEvent("rule.eval.done","rule","rule"),baseEvent("rule.eval.error","rule","rule"),baseEvent("rule.run.done","rule","rule"),baseEvent("workflow.run.started","workflow","workflow-run"),baseEvent("workflow.run.done","workflow","workflow-run"),baseEvent("workflow.run.failed","workflow","workflow-run"),baseEvent("workflow.run.finalized","workflow","workflow-run"),baseEvent("workflow.escalation.created","workflow","workflow-run","redacted"),baseEvent("workflow.escalation.projection_failed","workflow","workflow-run","metadata-only"),baseEvent("workflow.run.paused","workflow","workflow-run"),baseEvent("workflow.run.resumed","workflow","workflow-run"),baseEvent("workflow.run.reseeded","workflow","workflow-run"),baseEvent("workflow.node.enter","workflow","workflow-phase"),baseEvent("workflow.phase","workflow","workflow-phase"),baseEvent("workflow.node.transition","workflow","workflow-transition"),baseEvent("workflow.transition","workflow","workflow-transition"),baseEvent("workflow.transition.requested","workflow","workflow-transition","metadata-only","diagnostic"),baseEvent("workflow.transition.denied","workflow","workflow-transition","metadata-only","diagnostic"),baseEvent("workflow.action.started","workflow","workflow-action"),baseEvent("workflow.action.finished","workflow","workflow-action"),baseEvent("workflow.action.failed_continue","workflow","workflow-action"),baseEvent("workflow.guard.evaluated","workflow","workflow-guard","metadata-only","diagnostic"),baseEvent("workflow.hitl.ask","workflow","workflow-hitl","redacted"),baseEvent("workflow.hitl.response","workflow","workflow-hitl","redacted"),baseEvent("workflow.hitl.note","workflow","workflow-hitl","redacted"),baseEvent("workflow.custom","workflow","workflow-custom"),baseEvent("workflow.agent","workflow","workflow-agent","redacted","diagnostic"),baseEvent("workflow.steering","workflow","workflow-steering","redacted"),baseEvent("api.request.error","api","api"),baseEvent("bus.emit.done","bus","bus","metadata-only","diagnostic"),baseEvent("bus.emit.noop","bus","bus","metadata-only","diagnostic"),baseEvent("bus.handler.error","bus","bus","metadata-only","diagnostic"),baseEvent("bus.handler.async.enqueued","bus","bus","metadata-only","diagnostic")],SYSTEM_EVENT_PRESENTERS={"task.created":{description:"A task file was created with a new WBS id.",fields:[field("entity.kind","Entity kind"),field("entity.id","Entity")],summary:({data,correlation})=>`[task] ${entityId({data,correlation})} created`,outcome:unsupported},"task.updated":{description:"An existing task file was updated in place, naming the section that changed.",fields:[field("entity.kind","Entity kind"),field("entity.id","Entity"),field("field","Field"),field("data.mutation.name","Section"),field("data.after","After"),field("data.diff","Diff")],summary:({data,correlation})=>{let section=s2(data,"data.mutation.name"),id=entityId({data,correlation});return section!==void 0?`[task] ${section}`:`[task] ${id||"updated"}`},outcome:unsupported},"task.transitioned":{description:"A task moved between lifecycle states, naming both the previous and new status.",fields:[field("entity.kind","Entity kind"),field("entity.id","Entity"),field("from","From"),field("to","To")],summary:({data,correlation})=>{let id=entityId({data,correlation}),from=s2(data,"from"),to=s2(data,"to");return from!==void 0&&to!==void 0?`[task] ${id} : ${from} -> ${to}`:`[task] ${id} transitioned`},outcome:{support:"derived",derive:({data})=>s2(data,"to")}},"feature.created":{description:"A feature file was created with a new feature id.",fields:[field("entity.kind","Entity kind"),field("entity.id","Entity")],summary:({data,correlation})=>`[feature] ${entityId({data,correlation})} created`,outcome:unsupported},"feature.updated":{description:"An existing feature file was updated in place, naming the section that changed.",fields:[field("entity.kind","Entity kind"),field("entity.id","Entity"),field("field","Field"),field("data.mutation.name","Section"),field("data.after","After"),field("data.diff","Diff")],summary:({data,correlation})=>{let section=s2(data,"data.mutation.name"),id=entityId({data,correlation});return section!==void 0?`[feature] ${section}`:`[feature] ${id||"updated"}`},outcome:unsupported},"feature.transitioned":{description:"A feature moved between lifecycle states, naming both the previous and new status.",fields:[field("entity.kind","Entity kind"),field("entity.id","Entity"),field("from","From"),field("to","To")],summary:({data,correlation})=>{let id=entityId({data,correlation}),from=s2(data,"from"),to=s2(data,"to");return from!==void 0&&to!==void 0?`[feature] ${id} : ${from} -> ${to}`:`[feature] ${id} transitioned`},outcome:{support:"derived",derive:({data})=>s2(data,"to")}},"queue.consumer.started":{description:"The configured queue consumer began polling its named queue.",fields:[field("queueName","Queue"),field("startedAt","Started"),field("pollInterval","Poll interval"),field("batchSize","Batch size"),field("maxConcurrency","Max concurrency"),field("visibilityTimeout","Visibility timeout")],summary:({data})=>{let name=s2(data,"queueName");return name!==void 0?`[queue] ${name} : consumer started`:"[queue] consumer started"},outcome:{support:"derived",derive:({data})=>at(data,"startedAt")!==void 0?"running":void 0}},"queue.consumer.stopped":{description:"The queue consumer stopped, reporting whether it drained in-flight work.",fields:[field("queueName","Queue"),field("stoppedAt","Stopped"),field("drainTimeoutMs","Drain timeout"),field("inFlightAtStop","In flight"),field("drained","Drained")],summary:({data})=>{let name=s2(data,"queueName");return name!==void 0?`[queue] ${name} : consumer stopped`:"[queue] consumer stopped"},outcome:{support:"derived",derive:({data})=>{let drained=at(data,"drained");if(drained===!0)return"drained";if(drained===!1)return"timeout";return}}},"queue.job.enqueued":{description:"A job was enqueued onto the job queue for later processing.",fields:[field("jobId","Job"),field("type","Type"),field("nextRetryAt","Next retry")],summary:({data})=>{let type=s2(data,"type"),jobId=s2(data,"jobId");return type!==void 0&&jobId!==void 0?`[queue] ${type} · job ${jobId} enqueued`:"[queue] job enqueued"},outcome:unsupported},"queue.job.started":{description:"A queued job handler began executing (job identity and phase anchor).",fields:[field("jobId","Job"),field("type","Type"),field("name","Name")],summary:({data})=>{let type=s2(data,"type"),jobId=s2(data,"jobId");return type!==void 0&&jobId!==void 0?`[queue] ${type} · job ${jobId} started`:"[queue] job started"},outcome:unsupported},"queue.job.completed":{description:"A queued job finished successfully with its attempt and duration.",fields:[field("jobId","Job"),field("type","Type"),field("attempt","Attempt"),field("durationMs","Duration (ms)")],summary:({data})=>{let type=s2(data,"type"),jobId=s2(data,"jobId");return type!==void 0&&jobId!==void 0?`[queue] ${type} · job ${jobId} completed`:"[queue] job completed"},outcome:unsupported},"queue.job.failed":{description:"A queued job exhausted its attempts and failed with an error.",fields:[field("jobId","Job"),field("type","Type"),field("attempt","Attempt"),field("maxRetries","Max retries"),field("durationMs","Duration (ms)"),field("error","Error")],summary:({data})=>{let type=s2(data,"type"),jobId=s2(data,"jobId");return type!==void 0&&jobId!==void 0?`[queue] ${type} · job ${jobId} failed`:"[queue] job failed"},outcome:derivedFrom("error")},"queue.job.retrying":{description:"A queued job failed once and is scheduled for another attempt.",fields:[field("jobId","Job"),field("type","Type"),field("attempt","Attempt"),field("maxRetries","Max retries"),field("nextRetryAt","Next retry"),field("error","Error")],summary:({data})=>{let type=s2(data,"type"),jobId=s2(data,"jobId");return type!==void 0&&jobId!==void 0?`[queue] ${type} · job ${jobId} retrying`:"[queue] job retrying"},outcome:{support:"derived",derive:({data})=>{let attempt=at(data,"attempt"),max=at(data,"maxRetries");if(typeof attempt==="number"&&typeof max==="number"&&Number.isFinite(attempt)&&Number.isFinite(max))return`retrying ${attempt}/${max}`;return s2(data,"error")}}},"queue.stats":{description:"Periodic job-queue statistics across ready, running, completed, and failed counts.",fields:[field("ready","Ready"),field("running","Running"),field("completed","Completed"),field("failed","Failed")],summary:()=>"[queue] stats",outcome:unsupported},"scheduler.job.executed":{description:"A scheduler job ran to completion or failed, with its duration.",fields:[field("name","Job"),field("action","Action"),field("durationMs","Duration (ms)"),field("error","Error")],summary:({data})=>{let name=s2(data,"name");return name!==void 0?`[scheduler] ${name}`:"[scheduler] job executed"},outcome:{support:"derived",derive:({data})=>s2(data,"error")??(at(data,"error")===null?"completed":void 0)}},"message.sent":{description:"A team message was sent from one member to another.",fields:[field("msgId","Message"),field("fromId","From"),field("toId","To"),field("threadId","Thread")],summary:({data})=>{let from=s2(data,"fromId"),to=s2(data,"toId");return from!==void 0&&to!==void 0?`[message] ${from} -> ${to}`:"[message] sent"},outcome:unsupported},"message.replied":{description:"A member replied to an existing message thread.",fields:[field("msgId","Message"),field("fromId","From"),field("toId","To"),field("threadId","Thread")],summary:({data})=>{let from=s2(data,"fromId"),thread=s2(data,"threadId");return from!==void 0&&thread!==void 0?`[message] ${from} replied in ${thread}`:"[message] replied"},outcome:unsupported},"process.spawned":{description:"A supervised process was spawned with a new pid.",fields:[field("label","Label"),field("pid","PID"),field("agentId","Agent")],summary:({data})=>{let label=s2(data,"label")??n2(data,"pid");return label!==void 0?`[process] ${label} spawned`:"[process] spawned"},outcome:unsupported},"process.exited":{description:"A supervised process exited, carrying its exit code, signal, or failure reason.",fields:[field("label","Label"),field("pid","PID"),field("exitCode","Exit code"),field("signal","Signal"),field("durationMs","Duration (ms)"),field("reason","Reason")],summary:({data})=>{let label=s2(data,"label")??n2(data,"pid");return label!==void 0?`[process] ${label} exited`:"[process] exited"},outcome:{support:"derived",derive:({data})=>{let reason=s2(data,"reason");if(reason!==void 0)return reason;let signal=s2(data,"signal");if(signal!==void 0)return`signal ${signal}`;let code=at(data,"exitCode");if(typeof code==="number"&&Number.isFinite(code))return code===0?"ok":`exit ${code}`;return}}},"process.stopped":{description:"A supervised process was stopped, naming the stopping reason.",fields:[field("label","Label"),field("pid","PID"),field("signal","Signal"),field("reason","Reason")],summary:({data})=>{let label=s2(data,"label")??n2(data,"pid");return label!==void 0?`[process] ${label} stopped`:"[process] stopped"},outcome:derivedFrom("reason")},"process.started":{description:"A process executor started a process with a new pid.",fields:[field("label","Label"),field("pid","PID")],summary:({data})=>{let label=s2(data,"label")??n2(data,"pid");return label!==void 0?`[process] ${label} started`:"[process] started"},outcome:unsupported},"agent.invoke.start":{description:"An agent invocation began, naming the agent and its operation.",fields:[field("agent","Agent"),field("operation","Operation"),field("routing.role","Role"),field("routing.tier","Tier"),field("routing.executor","Executor"),field("routing.source","Selection source")],summary:({data})=>{let agent=s2(data,"agent"),operation=s2(data,"operation");return agent!==void 0&&operation!==void 0?`[agent] ${agent} · ${operation}`:"[agent] invocation started"},outcome:unsupported},"agent.invoke.exit":{description:"An agent invocation exited, reporting its exit code or signal.",fields:[field("agent","Agent"),field("operation","Operation"),field("exitCode","Exit code"),field("signal","Signal"),field("routing.role","Role"),field("routing.tier","Tier"),field("routing.executor","Executor"),field("routing.source","Selection source")],summary:({data})=>{let agent=s2(data,"agent"),operation=s2(data,"operation");return agent!==void 0&&operation!==void 0?`[agent] ${agent} · ${operation} exited`:"[agent] invocation exited"},outcome:{support:"derived",derive:({data})=>{let signal=s2(data,"signal");if(signal!==void 0)return`signal ${signal}`;let code=at(data,"exitCode");if(typeof code==="number"&&Number.isFinite(code))return code===0?"ok":`exit ${code}`;return}}},"agent.invoke.escalated":{description:"An agent invocation escalated from one executor tier to another.",fields:[field("fromExecutor","From executor"),field("fromTier","From tier"),field("toExecutor","To executor"),field("toTier","To tier"),field("trigger","Trigger")],summary:({data})=>{let from=s2(data,"fromExecutor"),to=s2(data,"toExecutor");return from!==void 0&&to!==void 0?`[agent] ${from} -> ${to}`:"[agent] escalation"},outcome:{support:"derived",derive:({data})=>s2(data,"toTier")??s2(data,"trigger")}},"agent.invoke.exhausted":{description:"An agent invocation exhausted every eligible executor tier without success.",fields:[field("stage","Stage"),field("attempts","Attempts"),field("fromTier","From tier"),field("toTier","To tier"),field("fromExecutor","From executor"),field("toExecutor","To executor")],summary:({data})=>{let stage=s2(data,"stage");return stage!==void 0?`[agent] ${stage} escalation exhausted`:"[agent] escalation exhausted"},outcome:derivedFromValue("attempts")},"agent.started":{description:"An agent started, carrying its id and type.",fields:[field("agentId","Agent"),field("agentType","Agent type"),field("pid","PID")],summary:({data})=>{let id=s2(data,"agentId");return id!==void 0?`[agent] ${id} started`:"[agent] started"},outcome:unsupported},"agent.stopped":{description:"An agent stopped, reporting its exit code.",fields:[field("agentId","Agent"),field("exitCode","Exit code")],summary:({data})=>{let id=s2(data,"agentId");return id!==void 0?`[agent] ${id} stopped`:"[agent] stopped"},outcome:derivedFromValue("exitCode")},"strategy.changed":{description:"A project strategy changed (0838), minting a new strategy version for dispatch fencing.",fields:[field("data.projectPath","Project"),field("data.strategy","Strategy"),field("data.version","Version")],summary:({data})=>{let strategy=s2(data,"data.strategy"),version3=s2(data,"data.version");return strategy!==void 0?`[strategy] ${strategy}${version3!==void 0?` (v${version3})`:""}`:"[strategy] changed"},outcome:unsupported},"fleet.capacity.changed":{description:"The project write slot was claimed or released (0837), changing dispatch capacity.",fields:[field("data.projectPath","Project"),field("data.change","Change"),field("data.holderId","Holder")],summary:({data})=>{let change=s2(data,"data.change"),holder=s2(data,"data.holderId");return`[fleet] write slot ${change??"changed"}${holder!==void 0?` — ${holder}`:""}`},outcome:unsupported},"agent.message.sent":{description:"A message was sent to an agent, reporting delivery success.",fields:[field("agentId","Agent"),field("ok","Delivered")],summary:({data})=>{let id=s2(data,"agentId");return id!==void 0?`[agent] message -> ${id}`:"[agent] message sent"},outcome:derivedFromValue("ok")},"task.assigned":{description:"A task was assigned to an agent, naming the agent when resolved.",fields:[field("memberId","Member"),field("agentType","Agent type"),field("taskId","Task"),field("outcome","Outcome")],summary:({data})=>{let member=s2(data,"memberId"),task=s2(data,"taskId");return task!==void 0&&member!==void 0?`[task] ${task} assigned to ${member}`:"[task] assignment recorded"},outcome:derivedFrom("outcome")},"history.import.completed":{description:"A history import finished, reporting files, messages, and exit code.",fields:[field("source","Source"),field("sources","Sources"),field("files","Files"),field("messages","Messages"),field("durationMs","Duration (ms)"),field("exitCode","Exit code"),field("artifactPath","Artifact"),field("cwd","Project root")],retain:[field("trigger","Refresh trigger"),field("windowStart","Refresh window start"),field("windowEnd","Refresh window end"),field("importMode","Import mode"),field("coverage","Refresh coverage")],summary:({data})=>{let source=s2(data,"source")??s2(data,"sources");return source!==void 0?`[history] import · ${source}`:"[history] import completed"},outcome:derivedFromValue("exitCode")},"history.analyze.completed":{description:"A history analyze pass finished, reporting sources, duration, and exit code.",fields:[field("source","Source"),field("sources","Sources"),field("durationMs","Duration (ms)"),field("exitCode","Exit code"),field("artifactPath","Artifact")],retain:[field("trigger","Refresh trigger"),field("windowStart","Refresh window start"),field("windowEnd","Refresh window end"),field("importMode","Import mode")],summary:({data})=>{let source=s2(data,"source")??s2(data,"sources");return source!==void 0?`[history] analyze · ${source}`:"[history] analyze completed"},outcome:derivedFromValue("exitCode")},"history.daily.failed":{description:"The daily history refresh failed, carrying the detail, reason, and exit code.",fields:[field("source","Source"),field("sources","Sources"),field("detail","Detail"),field("reason","Reason"),field("exitCode","Exit code")],retain:[field("trigger","Refresh trigger"),field("windowStart","Refresh window start"),field("windowEnd","Refresh window end"),field("importMode","Import mode")],summary:()=>"[history] daily failed",outcome:{support:"derived",derive:({data})=>s2(data,"reason")??s2(data,"detail")??n2(data,"exitCode")}},"history.refresh.enqueued":{description:"A completion-triggered history refresh was enqueued, naming its window.",fields:[field("trigger","Trigger"),field("triggerId","Trigger id"),field("jobId","Queue job"),field("windowStart","Window start"),field("windowEnd","Window end"),field("coalesced","Coalesced"),field("outcome","Outcome")],summary:({data})=>{let start=s2(data,"windowStart"),end=s2(data,"windowEnd");return start!==void 0&&end!==void 0?`[history] refresh · ${start} -> ${end}`:"[history] refresh enqueued"},outcome:{support:"derived",derive:({data})=>{let status=s2(data,"outcome");return status!==void 0&&status!=="enqueued"?status:void 0}}},"rule.run.start":{description:"A rule run began with the rule count it will evaluate.",fields:[field("runId","Run"),field("ruleCount","Rules"),field("evaluator","Evaluator")],summary:({data,correlation})=>{let run=s2(data,"runId")??correlation.runId;return run!==void 0?`[rule] run ${run} started`:"[rule] run started"},outcome:unsupported},"rule.eval.start":{description:"A single rule began evaluating.",fields:[field("runId","Run"),field("ruleId","Rule"),field("evaluator","Evaluator"),field("index","Index"),field("total","Total")],summary:({data})=>{let id=s2(data,"ruleId");return id!==void 0?`[rule] ${id} evaluating`:"[rule] evaluating"},outcome:unsupported},"rule.eval.done":{description:"A rule finished evaluating, reporting its findings count and severity.",fields:[field("runId","Run"),field("ruleId","Rule"),field("evaluator","Evaluator"),field("findings","Findings"),field("durationMs","Duration (ms)"),field("severity","Severity")],summary:({data})=>{let id=s2(data,"ruleId");return id!==void 0?`[rule] ${id} evaluated`:"[rule] evaluated"},outcome:derivedFromValue("findings")},"rule.eval.error":{description:"A rule evaluation failed with an error.",fields:[field("runId","Run"),field("ruleId","Rule"),field("evaluator","Evaluator"),field("error","Error")],summary:({data})=>{let id=s2(data,"ruleId");return id!==void 0?`[rule] ${id} error`:"[rule] error"},outcome:derivedFrom("error")},"rule.run.done":{description:"A rule run finished, reporting findings and whether it stopped early.",fields:[field("runId","Run"),field("findings","Findings"),field("durationMs","Duration (ms)"),field("stoppedEarly","Stopped early"),field("severity","Severity")],summary:({data,correlation})=>{let run=s2(data,"runId")??correlation.runId;return run!==void 0?`[rule] run ${run} done`:"[rule] run done"},outcome:{support:"derived",derive:({data})=>n2(data,"findings")??s2(data,"stoppedEarly")}},"workflow.run.started":{description:"A workflow run started, naming the workflow definition.",fields:[field("runId","Run"),field("workflowName","Workflow"),field("mode","Mode"),field("dryRun","Dry run")],summary:(input)=>{let name=humanWorkflowTitle(input);return name!==""?`[workflow] ${name} started`:"[workflow] started"},outcome:unsupported},"workflow.run.done":{description:"A workflow run reached a done terminal state.",fields:[field("runId","Run"),field("workflowName","Workflow"),field("finalState","Final state"),field("transitionsTaken","Transitions")],summary:(input)=>{let name=humanWorkflowTitle(input);return name!==""?`[workflow] ${name} done`:"[workflow] done"},outcome:derivedFrom("finalState")},"workflow.run.failed":{description:"A workflow run failed with a terminal failure reason.",fields:[field("runId","Run"),field("workflowName","Workflow"),field("finalState","Final state"),field("reason","Reason")],summary:(input)=>{let name=humanWorkflowTitle(input);return name!==""?`[workflow] ${name} failed`:"[workflow] failed"},outcome:derivedFrom("reason")},"workflow.run.finalized":{description:"A workflow run settled on a terminal status.",fields:[field("runId","Run"),field("workflowName","Workflow"),field("status","Status")],summary:(input)=>{let name=humanWorkflowTitle(input);return name!==""?`[workflow] ${name} finalized`:"[workflow] finalized"},outcome:derivedFrom("status")},"workflow.escalation.created":{description:"A canonical escalation packet was projected from existing run evidence.",fields:[field("runId","Run"),field("workflowName","Workflow"),field("fingerprint","Fingerprint"),field("artifactPath","Artifact"),field("decision","Decision")],summary:(input)=>{let name=humanWorkflowTitle(input),decision=typeof at(input.data,"decision")==="string"?` — ${String(at(input.data,"decision"))}`:"";return name!==""?`[workflow] escalation packet created (${name}${decision})`:`[workflow] escalation packet created${decision}`},outcome:derivedFrom("decision")},"workflow.escalation.projection_failed":{description:"Escalation packet projection failed; the original failure is preserved untouched.",fields:[field("runId","Run"),field("workflowName","Workflow"),field("error","Error")],summary:()=>"[workflow] escalation packet projection failed",outcome:derivedFrom("error")},"workflow.run.paused":{description:"A workflow run paused at a step, naming the step when available.",fields:[field("runId","Run"),field("workflowName","Workflow"),field("nodeLabel","Step"),field("node","Node"),field("transitionsTaken","Transitions")],summary:(input)=>{let name=humanWorkflowTitle(input),step=humanStepLabel(input.data),parts=[name,step].filter((part)=>typeof part==="string"&&part!=="");return parts.length>0?`[workflow] ${parts.join(" · ")} paused`:"[workflow] paused"},outcome:unsupported},"workflow.run.resumed":{description:"A paused workflow run resumed at a step, naming the step when available.",fields:[field("runId","Run"),field("workflowName","Workflow"),field("nodeLabel","Step"),field("node","Node")],summary:(input)=>{let name=humanWorkflowTitle(input),step=humanStepLabel(input.data),parts=[name,step].filter((part)=>typeof part==="string"&&part!=="");return parts.length>0?`[workflow] ${parts.join(" · ")} resumed`:"[workflow] resumed"},outcome:unsupported},"workflow.run.reseeded":{description:"A workflow run was reseeded to a new state, naming the transition.",fields:[field("runId","Run"),field("workflowName","Workflow"),field("fromState","From"),field("toState","To")],summary:(input)=>{let name=humanWorkflowTitle(input),from=s2(input.data,"fromState"),to=s2(input.data,"toState");if(from!==void 0&&to!==void 0)return name!==""?`[workflow] ${name} : ${from} -> ${to}`:`[workflow] : ${from} -> ${to}`;return name!==""?`[workflow] ${name} reseeded`:"[workflow] reseeded"},outcome:derivedFrom("toState")},"workflow.node.enter":{description:"The engine entered a workflow node, naming the step when available.",fields:[field("runId","Run"),field("workflowName","Workflow"),field("nodeLabel","Step"),field("node","Node"),field("transitionsTaken","Transitions")],summary:(input)=>{let name=humanWorkflowTitle(input),step=humanStepLabel(input.data),parts=[name,step].filter((part)=>typeof part==="string"&&part!=="");return parts.length>0?`[workflow] ${parts.join(" · ")}`:"[workflow] node entered"},outcome:unsupported},"workflow.phase":{description:"A workflow phase changed status, naming the phase.",fields:[field("runId","Run"),field("workflowName","Workflow"),field("phase","Phase"),field("status","Status")],summary:(input)=>{let name=humanWorkflowTitle(input),phase=s2(input.data,"phase"),parts=[name,phase].filter((part)=>typeof part==="string"&&part!=="");return parts.length>0?`[workflow] ${parts.join(" · ")}`:"[workflow] phase"},outcome:derivedFrom("status")},"workflow.node.transition":{description:"A workflow transitioned between nodes, naming the from and to states.",fields:[field("runId","Run"),field("workflowName","Workflow"),field("from","From"),field("to","To"),field("trigger","Trigger")],summary:(input)=>{let name=humanWorkflowTitle(input),from=s2(input.data,"from"),to=s2(input.data,"to");if(from!==void 0&&to!==void 0)return name!==""?`[workflow] ${name} : ${from} -> ${to}`:`[workflow] : ${from} -> ${to}`;return name!==""?`[workflow] ${name} transitioned`:"[workflow] transitioned"},outcome:derivedFrom("to")},"workflow.transition":{description:"A workflow state transition was committed.",fields:[field("runId","Run"),field("workflowName","Workflow"),field("from","From"),field("to","To"),field("trigger","Trigger")],summary:(input)=>{let name=humanWorkflowTitle(input),from=s2(input.data,"from"),to=s2(input.data,"to");if(from!==void 0&&to!==void 0)return name!==""?`[workflow] ${name} : ${from} -> ${to}`:`[workflow] : ${from} -> ${to}`;return name!==""?`[workflow] ${name} transitioned`:"[workflow] transitioned"},outcome:derivedFrom("to")},"workflow.transition.requested":{description:"A workflow transition was requested and accepted for evaluation.",fields:[field("runId","Run"),field("workflowName","Workflow"),field("from","From"),field("to","To"),field("trigger","Trigger")],summary:(input)=>{let name=humanWorkflowTitle(input),from=s2(input.data,"from"),to=s2(input.data,"to");if(from!==void 0&&to!==void 0)return name!==""?`[workflow] ${name} requested ${from} -> ${to}`:`[workflow] requested ${from} -> ${to}`;return name!==""?`[workflow] ${name} transition requested`:"[workflow] transition requested"},outcome:unsupported},"workflow.transition.denied":{description:"A workflow transition was denied with a reason.",fields:[field("runId","Run"),field("workflowName","Workflow"),field("from","From"),field("to","To"),field("reason","Reason")],summary:(input)=>{let name=humanWorkflowTitle(input),from=s2(input.data,"from"),to=s2(input.data,"to");if(from!==void 0&&to!==void 0)return name!==""?`[workflow] ${name} denied ${from} -> ${to}`:`[workflow] denied ${from} -> ${to}`;return name!==""?`[workflow] ${name} transition denied`:"[workflow] transition denied"},outcome:derivedFrom("reason")},"workflow.action.started":{description:"A workflow action began executing, naming the step and kind.",fields:[field("runId","Run"),field("workflowName","Workflow"),field("nodeLabel","Step"),field("node","Node"),field("actionId","Action"),field("kind","Kind")],retain:[field("metadata.agent","Agent"),field("metadata.role","Role"),field("routing.executor","Executor")],summary:(input)=>{let name=humanWorkflowTitle(input),step=humanStepLabel(input.data),parts=[name,step].filter((part)=>typeof part==="string"&&part!=="");return parts.length>0?`[workflow] ${parts.join(" · ")} started`:"[workflow] action started"},outcome:unsupported},"workflow.action.finished":{description:"A workflow action finished, reporting its status and success.",fields:[field("runId","Run"),field("workflowName","Workflow"),field("nodeLabel","Step"),field("node","Node"),field("actionId","Action"),field("kind","Kind"),field("durationMs","Duration (ms)"),field("status","Status")],retain:[field("metadata.agent","Agent"),field("metadata.role","Role"),field("routing.executor","Executor")],summary:(input)=>{let name=humanWorkflowTitle(input),step=humanStepLabel(input.data),parts=[name,step].filter((part)=>typeof part==="string"&&part!=="");return parts.length>0?`[workflow] ${parts.join(" · ")} finished`:"[workflow] action finished"},outcome:{support:"derived",derive:({data})=>s2(data,"status")??n2(data,"ok")}},"workflow.action.failed_continue":{description:"A workflow action failed but the workflow continued, carrying the error.",fields:[field("runId","Run"),field("workflowName","Workflow"),field("nodeLabel","Step"),field("node","Node"),field("transitionsTaken","Transitions"),field("error","Error")],retain:[field("metadata.agent","Agent"),field("metadata.role","Role"),field("routing.executor","Executor")],summary:(input)=>{let name=humanWorkflowTitle(input),step=humanStepLabel(input.data),parts=[name,step].filter((part)=>typeof part==="string"&&part!=="");return parts.length>0?`[workflow] ${parts.join(" · ")} failed; continuing`:"[workflow] action failed; continuing"},outcome:derivedFrom("error")},"workflow.guard.evaluated":{description:"A workflow guard was evaluated for a transition, reporting whether it passed.",fields:[field("runId","Run"),field("workflowName","Workflow"),field("from","From"),field("to","To"),field("kind","Kind"),field("passed","Passed")],summary:(input)=>{let name=humanWorkflowTitle(input),from=s2(input.data,"from"),to=s2(input.data,"to");if(from!==void 0&&to!==void 0)return name!==""?`[workflow] ${name} guard ${from} -> ${to}`:`[workflow] guard ${from} -> ${to}`;return name!==""?`[workflow] ${name} guard evaluated`:"[workflow] guard evaluated"},outcome:derivedFromValue("passed")},"workflow.hitl.ask":{description:"A workflow paused for human input, naming the step and kind.",fields:[field("runId","Run"),field("workflowName","Workflow"),field("nodeLabel","Step"),field("node","Node"),field("kind","Kind")],summary:(input)=>{let name=humanWorkflowTitle(input),step=humanStepLabel(input.data),parts=[name,step].filter((part)=>typeof part==="string"&&part!=="");return parts.length>0?`[workflow] ${parts.join(" · ")} awaiting input`:"[workflow] awaiting input"},outcome:unsupported},"workflow.hitl.response":{description:"Human input was received for a paused workflow step.",fields:[field("runId","Run"),field("workflowName","Workflow"),field("nodeLabel","Step"),field("node","Node"),field("ok","Accepted")],summary:(input)=>{let name=humanWorkflowTitle(input),step=humanStepLabel(input.data),parts=[name,step].filter((part)=>typeof part==="string"&&part!=="");return parts.length>0?`[workflow] ${parts.join(" · ")} input received`:"[workflow] input received"},outcome:derivedFromValue("ok")},"workflow.hitl.note":{description:"A note was recorded on a paused workflow step.",fields:[field("runId","Run"),field("workflowName","Workflow"),field("nodeLabel","Step"),field("node","Node")],summary:(input)=>{let name=humanWorkflowTitle(input),step=humanStepLabel(input.data),parts=[name,step].filter((part)=>typeof part==="string"&&part!=="");return parts.length>0?`[workflow] ${parts.join(" · ")} note`:"[workflow] note"},outcome:unsupported},"workflow.custom":{description:"A custom workflow event was emitted, naming the custom event.",fields:[field("runId","Run"),field("workflowName","Workflow"),field("name","Event")],summary:(input)=>{let name=humanWorkflowTitle(input),custom3=s2(input.data,"name"),parts=[name,custom3].filter((part)=>typeof part==="string"&&part!=="");return parts.length>0?`[workflow] ${parts.join(" · ")}`:"[workflow] custom"},outcome:unsupported},"workflow.agent":{description:"A workflow-dispatched agent execution lifecycle event, discriminated by kind.",fields:[field("runId","Run"),field("executionId","Execution"),field("actionId","Action"),field("kind","Kind"),field("agent","Agent"),field("model","Model")],retain:[field("metadata.agent","Agent"),field("metadata.role","Role"),field("routing.executor","Executor")],summary:(input)=>{let name=humanWorkflowTitle(input),kind=s2(input.data,"kind"),parts=[name,kind!==void 0?`agent ${kind}`:"agent"].filter((part)=>typeof part==="string"&&part!=="");return parts.length>0?`[workflow] ${parts.join(" · ")}`:"[workflow] agent"},outcome:{support:"derived",derive:({data})=>s2(data,"kind")==="finished"?s2(data,"outcome"):void 0}},"workflow.steering":{description:"A steering command was acknowledged for a workflow action boundary.",fields:[field("runId","Run"),field("actionId","Action"),field("operation","Operation"),field("actor","Actor"),field("accepted","Accepted"),field("state","State"),field("reason","Reason")],summary:(input)=>{let name=humanWorkflowTitle(input),operation=s2(input.data,"operation"),parts=[name,operation!==void 0?`steering ${operation}`:"steering"].filter((part)=>typeof part==="string"&&part!=="");return parts.length>0?`[workflow] ${parts.join(" · ")}`:"[workflow] steering"},outcome:{support:"derived",derive:({data})=>{let reason=s2(data,"reason");if(reason!==void 0)return reason;let accepted=at(data,"accepted");if(accepted===!0)return"accepted";if(accepted===!1)return"rejected";return s2(data,"state")}}},"api.request.error":{description:"An API request failed, naming the method, path, and status or error code.",fields:[field("method","Method"),field("path","Path"),field("status","Status"),field("code","Code"),field("requestId","Request"),field("error","Error")],summary:({data})=>{let method=s2(data,"method"),path8=s2(data,"path");return method!==void 0&&path8!==void 0?`[api] ${method} ${path8}`:"[api] request error"},outcome:{support:"derived",derive:({data})=>s2(data,"error")??s2(data,"code")??n2(data,"status")}},"bus.emit.done":{description:"An event was emitted to its handlers on the event bus.",fields:[field("event","Event"),field("handlers","Handlers"),field("durationMs","Duration (ms)")],summary:({data})=>{let event=s2(data,"event");return event!==void 0?`[bus] ${event} emitted`:"[bus] event emitted"},outcome:derivedFromValue("handlers")},"bus.emit.noop":{description:"An event was emitted but had no registered handlers.",fields:[field("event","Event"),field("handlers","Handlers"),field("durationMs","Duration (ms)")],summary:({data})=>{let event=s2(data,"event");return event!==void 0?`[bus] ${event} had no handlers`:"[bus] event had no handlers"},outcome:derivedFromValue("handlers")},"bus.handler.error":{description:"An event-bus handler threw an error while processing an event.",fields:[field("event","Event"),field("handlers","Handlers"),field("durationMs","Duration (ms)"),field("error","Error")],summary:({data})=>{let event=s2(data,"event");return event!==void 0?`[bus] ${event} handler error`:"[bus] handler error"},outcome:derivedFrom("error")},"bus.handler.async.enqueued":{description:"An event-bus handler was enqueued for asynchronous processing.",fields:[field("event","Event"),field("handlers","Handlers")],summary:({data})=>{let event=s2(data,"event");return event!==void 0?`[bus] ${event} handlers enqueued`:"[bus] handlers enqueued"},outcome:derivedFromValue("handlers")}};function inferSeverity(name){if(/(?:failed|error|denied)$/.test(name))return"error";if(/(?:retrying|paused|dropped)$/.test(name))return"warning";return"info"}function resolveCatalogEntry(base2){let profile=SOURCE_PROFILES[base2.source],presenter=SYSTEM_EVENT_PRESENTERS[base2.name];return{name:base2.name,prefix:base2.name.split(".")[0]??base2.name,source:base2.source,tier:base2.tier,persisted:!0,streamed:!0,payloadPolicy:base2.payloadPolicy,renderer:base2.renderer,...profile,...base2.producer!==void 0?{producerPackage:base2.producer.package,subsystem:base2.producer.subsystem}:{},severity:inferSeverity(base2.name),description:presenter.description,metadataFields:presenter.retain?[...presenter.fields,...presenter.retain.filter((r)=>!presenter.fields.some((f)=>f.path===r.path))]:presenter.fields,remediationKind:profile.remediationKind}}var SYSTEM_EVENT_CATALOG=BASE_CATALOG.map(resolveCatalogEntry),SYSTEM_EVENT_NAMES=SYSTEM_EVENT_CATALOG.map((entry)=>entry.name),SYSTEM_EVENT_PERSISTED_NAMES=SYSTEM_EVENT_CATALOG.filter((entry)=>entry.tier==="default").map((entry)=>entry.name),SYSTEM_EVENT_STREAMED_NAMES=SYSTEM_EVENT_CATALOG.filter((entry)=>entry.tier==="default").map((entry)=>entry.name),SYSTEM_EVENT_PREFIXES=Array.from(new Set(SYSTEM_EVENT_CATALOG.map((entry)=>entry.prefix))),SYSTEM_EVENT_DEFAULT_NAMES=SYSTEM_EVENT_CATALOG.filter((entry)=>entry.tier==="default").map((entry)=>entry.name),SYSTEM_EVENT_DIAGNOSTIC_NAMES=SYSTEM_EVENT_CATALOG.filter((entry)=>entry.tier==="diagnostic").map((entry)=>entry.name);var SYSTEM_EVENT_CATALOG_METADATA=SYSTEM_EVENT_CATALOG.map(({name,prefix,source,tier,renderer,producerPackage,subsystem,severity,description,metadataFields,remediationKind})=>({name,prefix,source,tier,renderer,producerPackage,subsystem,severity,description,metadataFields,remediationKind}));function workflowVersionLiteral(workflow){return typeof workflow.version==="string"&&workflow.version!==""?workflow.version:null}var{mkdirSync:mkdirSync2}=await import("node:fs");function parseIdentityMetadata(raw){if(raw.trim()==="")return{};try{let parsed=JSON.parse(raw);if(parsed===null||typeof parsed!=="object"||Array.isArray(parsed))return null;return parsed}catch{return null}}async function openInlineRunProjectDb(workdir){let url2=join5(resolve4(workdir),".spur","spur.db");mkdirSync2(join5(url2,".."),{recursive:!0});let adapter=await createMigratedDb({url:url2});return{adapter,close:()=>adapter.close()}}async function createOrAttachInlineRun(input){let runId=input.runId.trim();if(runId==="")return{ok:!1,error:"inline run setup requires a non-empty runId (driver Run setup step 2)"};let workdir=resolve4(input.workdir),resolved;try{let projection=input.inventory===void 0?void 0:parseWorkflowInventory(input.inventory);if(projection&&!projection.ok)return projection;let inventory=projection?.ok?projection.inventory:void 0;if(inventory&&(!inventory.source||inventory.kind!=="state-machine"))return{ok:!1,error:"inline run setup requires a state-machine inventory with definition source"};if(resolved=await resolveWorkflowDefinition(workdir,inventory?.source?.path??input.file,{validateSchema:!0,...input.embeddedSchemas!==void 0?{embeddedSchemas:input.embeddedSchemas}:{},...!inventory?{registered:input.registered}:{}}),(resolved.workflow.kind??"state-machine")!=="state-machine")return{ok:!1,error:"inline run setup requires a state-machine definition"};if(inventory?.source){let identity4=assertInventoryIdentity(inventory,resolved.digest);if(!identity4.ok)return identity4;if(inventory.name!==resolved.workflow.name)return{ok:!1,error:"inline run setup: inventory workflow name does not match its definition"};resolved={...resolved,layer:inventory.source.layer}}}catch(error51){return{ok:!1,error:`inline run setup could not resolve the workflow definition: ${error51.message}`}}let digest=resolved.digest,version3=workflowVersionLiteral(resolved.workflow),source={path:resolved.path,layer:resolved.layer,workdir},db2=await input.getDb(),existing=await new RunDao(db2).traceRowById(runId);if(existing!==void 0){let metadata=parseIdentityMetadata(existing.metadata_json);if(metadata===null)return{ok:!1,error:`inline run setup refuses run ${runId}: its existing row has malformed metadata_json, `+"so its identity cannot be verified — delete the stale run row or allocate a new run id"};let resumeDigest=typeof metadata.resumeDefinitionDigest==="string"?metadata.resumeDefinitionDigest:void 0,launchDigest=typeof metadata.definitionDigest==="string"?metadata.definitionDigest:void 0,effectiveDigest=resumeDigest??launchDigest;if(effectiveDigest===void 0)return{ok:!1,error:`inline run setup refuses run ${runId}: its existing row carries no definition digest `+"(pre-identity legacy row) — allocate a new run id instead of attaching an unverifiable identity"};if(effectiveDigest!==digest)return{ok:!1,error:`inline run setup refuses run ${runId}: the resolved definition digest (${digest}) does not match the run's recorded ${resumeDigest!==void 0?"resume":""} digest (${effectiveDigest}) — `+"a changed definition must resume through the explicit resume rules, not silently re-attach"};if(existing.workflow_name!==resolved.workflow.name)return{ok:!1,error:`inline run setup refuses run ${runId}: the run row records workflow "${existing.workflow_name}" but the resolved definition is "${resolved.workflow.name}" — conflicting run identity`};if(typeof metadata.definitionSource!=="object"||metadata.definitionSource===null||Array.isArray(metadata.definitionSource))return{ok:!1,error:`inline run setup refuses run ${runId}: its existing row carries no definition source `+"(path/layer/workdir) — allocate a new run id instead of attaching an unverifiable launch source"};let existingSource=metadata.definitionSource;if(!(typeof existingSource.path==="string"&&resolve4(existingSource.path)===resolved.path&&normalizePersistedWorkflowLayer(existingSource.layer)===resolved.layer&&typeof existingSource.workdir==="string"&&resolve4(existingSource.workdir)===workdir))return{ok:!1,error:`inline run setup refuses run ${runId}: the recorded definition source (${JSON.stringify(existingSource)}) does not match the resolved launch source (${JSON.stringify(source)}) — conflicting project/workdir identity`};return{ok:!0,attached:!0,runId,workflowName:resolved.workflow.name,definitionDigest:digest,workflowVersion:version3,resolvedPath:resolved.path,layer:resolved.layer,workdir,status:existing.status}}return await new WorkflowService(createDefaultWorkflowEngineHost(),new DbWorkflowPersistenceAdapter(db2)).createOrAttachRun({id:runId,workflow_name:resolved.workflow.name,mode:"state-machine",status:"running",started_at:new Date().toISOString(),completed_at:null,metadata_json:JSON.stringify({definitionDigest:digest,workflowVersion:version3,definitionSource:source})}),{ok:!0,attached:!1,runId,workflowName:resolved.workflow.name,definitionDigest:digest,workflowVersion:version3,resolvedPath:resolved.path,layer:resolved.layer,workdir,status:"running"}}import{basename as basename2,join as join6}from"node:path";var FEATURE_RECEIPT_SCHEMA_VERSION=1,DEFAULT_FEATURE_VERIFICATION_CMD="bun run spur-check-feature",RECEIPT_ID_PATTERN=/^[A-Za-z0-9][A-Za-z0-9._-]*$/;function assertReceiptId(kind,id){if(!RECEIPT_ID_PATTERN.test(id)||id.includes(".."))throw Error(`invalid ${kind} for receipt path: ${JSON.stringify(id)}`)}function featureReceiptPaths(runDir,featureId2,runId){return assertReceiptId("featureId",featureId2),assertReceiptId("runId",runId),{runScoped:join6(runDir,`${runId}-feature-verification.json`),featureScoped:join6(runDir,`${featureId2}-feature-verification.json`),log:join6(runDir,`${runId}-feature-verification.log`),status:join6(runDir,`${runId}-feature-verification.status`)}}async function atomicWriteReceipt(fs2,path8,receipt){let body=`${JSON.stringify(receipt,null,4)}
|
|
1459
|
+
`,tmp=`${path8}.tmp`;await fs2.writeFile(tmp,body),await fs2.rename(tmp,path8)}async function startFeatureVerificationReceipt(fs2,runDir,options){let receipt={schemaVersion:FEATURE_RECEIPT_SCHEMA_VERSION,featureId:options.featureId,runId:options.runId,workdir:options.workdir,verifier:options.verifier,verificationCmd:options.verificationCmd,inputDigest:options.inputDigest,status:"RUNNING",startedAt:options.startedAt??new Date().toISOString().replace(/\.\d{3}Z$/,"Z"),completedAt:null},paths=featureReceiptPaths(runDir,options.featureId,options.runId);return await fs2.ensureDir(runDir),await atomicWriteReceipt(fs2,paths.runScoped,receipt),await atomicWriteReceipt(fs2,paths.featureScoped,receipt),receipt}async function completeFeatureVerificationReceipt(fs2,runDir,running,options){if(running.status!=="RUNNING")throw Error(`receipt for run ${running.runId} is already ${running.status}`);let receipt={...running,status:options.status,inputDigest:options.inputDigest??running.inputDigest,completedAt:options.completedAt??new Date().toISOString().replace(/\.\d{3}Z$/,"Z")},paths=featureReceiptPaths(runDir,receipt.featureId,receipt.runId);return await fs2.ensureDir(runDir),await atomicWriteReceipt(fs2,paths.runScoped,receipt),await atomicWriteReceipt(fs2,paths.featureScoped,receipt),await fs2.writeFile(paths.status,`${receipt.status}
|
|
1460
|
+
`),receipt}function parseReceipt(raw){let parsed;try{parsed=JSON.parse(raw)}catch(err){throw Error(`not JSON (${String(err)})`)}if(parsed===null||typeof parsed!=="object")throw Error("not an object");let r=parsed;if(r.schemaVersion!==FEATURE_RECEIPT_SCHEMA_VERSION)throw Error(`schemaVersion must be ${FEATURE_RECEIPT_SCHEMA_VERSION}`);let v=r.verifier;if(typeof r.featureId!=="string"||typeof r.runId!=="string"||typeof r.workdir!=="string"||typeof v?.name!=="string"||typeof v?.sourcePath!=="string"||typeof v?.layer!=="string"||typeof v?.definitionDigest!=="string"||typeof r.verificationCmd!=="string"||typeof r.inputDigest!=="string"||r.status!=="RUNNING"&&r.status!=="PASS"&&r.status!=="FAIL"||typeof r.startedAt!=="string"||r.completedAt!==null&&typeof r.completedAt!=="string")throw Error("required fields missing or mistyped");return parsed}async function readReceiptCopy(fs2,path8,label){let raw;try{raw=await fs2.readFile(path8)}catch{throw Error(`no ${label} receipt at ${path8}; run the feature-scoped verification pass`)}try{return parseReceipt(raw)}catch(err){throw Error(`${label} receipt at ${basename2(path8)} is not a valid schema-v1 artifact (${String(err)})`)}}async function validateFeatureVerificationReceipt(fs2,options){let latest;try{latest=await readReceiptCopy(fs2,join6(options.runDir,`${options.featureId}-feature-verification.json`),"feature-latest")}catch(err){let message=String(err);return{ok:!1,reason:message.includes("not a valid")?"malformed":"missing",detail:message}}let paths=featureReceiptPaths(options.runDir,options.featureId,latest.runId);try{let runScoped=await readReceiptCopy(fs2,paths.runScoped,"run-scoped");if(JSON.stringify(runScoped)!==JSON.stringify(latest))return{ok:!1,reason:"divergent",detail:`run-scoped ${paths.runScoped} and feature-latest receipts disagree — a newer attempt started or the evidence was tampered with`}}catch(err){let message=String(err);return{ok:!1,reason:message.includes("not a valid")?"malformed":"missing",detail:message}}if(latest.featureId!==options.featureId)return{ok:!1,reason:"cross-feature",detail:`receipt belongs to feature "${latest.featureId}", not "${options.featureId}"`};if(latest.status==="FAIL")return{ok:!1,reason:"failed",detail:`verification pass recorded FAIL (started ${latest.startedAt}, ended ${latest.completedAt})`};if(latest.status==="RUNNING")return{ok:!1,reason:"run",detail:`verification pass is still RUNNING (started ${latest.startedAt}); no completion evidence exists`};if(options.runPort?.readRunRow){let row=await options.runPort.readRunRow(latest.runId);if(!row)return{ok:!1,reason:"run",detail:`run ${latest.runId} that recorded the receipt does not exist in the run store`};if(row.status!=="done")return{ok:!1,reason:"run",detail:`run ${latest.runId} is "${row.status}", not terminal done — the recording run never finished`};if(row.definitionDigest&&row.definitionDigest!==latest.verifier.definitionDigest)return{ok:!1,reason:"run",detail:`run ${latest.runId} attached with definition digest ${row.definitionDigest}, receipt records ${latest.verifier.definitionDigest}`};let recordedCmd;try{let vars=row.varsJson?JSON.parse(row.varsJson):void 0;if(vars&&typeof vars==="object"&&typeof vars.verificationCmd==="string")recordedCmd=vars.verificationCmd}catch{recordedCmd=void 0}if(recordedCmd!==void 0&&recordedCmd!==latest.verificationCmd)return{ok:!1,reason:"run",detail:`run ${latest.runId} recorded effective command "${recordedCmd}", receipt records "${latest.verificationCmd}"`};if(options.runPort.hasArtifact&&!await options.runPort.hasArtifact(latest.runId,paths.runScoped))return{ok:!1,reason:"run",detail:`receipt ${basename2(paths.runScoped)} is not registered as an artifact of run ${latest.runId}`}}let verifier=latest.verifier;if(verifier.name!==options.currentVerifier.name||verifier.sourcePath!==options.currentVerifier.sourcePath||verifier.layer!==options.currentVerifier.layer||verifier.definitionDigest!==options.currentVerifier.definitionDigest)return{ok:!1,reason:"contract-mismatch",detail:`receipt recorded verifier ${verifier.name}@${verifier.layer} (${verifier.definitionDigest}), completion evaluates ${options.currentVerifier.name}@${options.currentVerifier.layer} (${options.currentVerifier.definitionDigest}) — the selected definition changed after the pass`};if(latest.verificationCmd!==options.currentVerificationCmd)return{ok:!1,reason:"contract-mismatch",detail:`receipt recorded with verifier "${latest.verificationCmd}", completion evaluates the configured command "${options.currentVerificationCmd}"`};if(latest.inputDigest!==options.currentDigest)return{ok:!1,reason:"stale",detail:`receipt digest ${latest.inputDigest} ≠ current inputs ${options.currentDigest} — tree, spec, learnings or check contract changed after the pass`};return{ok:!0,receipt:latest}}async function captureFeatureReceiptDigest(repoRoot,featureContent,learningsContent){return ProofInputFingerprint.compute({cwd:repoRoot,featureContent,learningsContent})}var section_matrix_schema_default={$schema:"http://json-schema.org/draft-07/schema#",$id:"https://gobing.ai/spur/schemas/section-matrix.schema.json",title:"Section-Status-Matrix Schema",description:"Validates the shipped section-matrix.yaml — which sections are required/optional/forbidden per task status. Design §3.2. Authored for ts-runtime's loadStructuredConfig validator (supports properties/required/additionalProperties + $defs/$ref/enum; NOT patternProperties/uniqueItems).",type:"object",required:["variants"],additionalProperties:!1,properties:{$schema:{type:"string",description:"JSON Schema ref this file validates against (loadStructuredConfig reads it)."},variants:{type:"object",description:"Map of template variant → per-status matrix. Variant names are extensible (user-defined variants allowed); each value is a variant.",additionalProperties:{$ref:"#/$defs/variant"}}},$defs:{section:{enum:["Background","Requirements","Acceptance Criteria","Q&A","Design","Plan","Solution","Root Cause","Testing","Review","References","Notes","History"],description:"Canonical task section vocabulary (DD-08). Any other value is a typo."},sectionList:{type:"array",items:{$ref:"#/$defs/section"}},entry:{type:"object",additionalProperties:!1,properties:{required:{$ref:"#/$defs/sectionList"},optional:{$ref:"#/$defs/sectionList"},forbidden:{$ref:"#/$defs/sectionList"},gate:{type:"boolean"}}},variant:{type:"object",additionalProperties:!1,description:"A variant may declare any subset of the 7 canonical statuses (enumerated below); an unknown status key is rejected.",properties:{backlog:{$ref:"#/$defs/entry"},todo:{$ref:"#/$defs/entry"},wip:{$ref:"#/$defs/entry"},testing:{$ref:"#/$defs/entry"},blocked:{$ref:"#/$defs/entry"},done:{$ref:"#/$defs/entry"},cancelled:{$ref:"#/$defs/entry"}}}}};var spur_config_schema_default={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://github.com/gobing-ai/spur/schemas/spur-config.schema.json",title:"Spur Project Configuration",description:"Schema for .spur/config.yaml — the single project configuration surface consumed by spur and (future) spur-server.",type:"object",properties:{$schema:{type:"string",description:"Reference to this schema for IDE validation. spur resolves this at runtime via loadStructuredConfig."},version:{type:"string",description:"Config schema version (string, not integer). Current recommended: '1.2' (config-1.2 layered global/project merge, ADR-033 executor tiers + planning blocks). '1' remains accepted for backward compatibility."},name:{type:"string",description:"Project name written by spur init."},bootstrap:{type:"object",description:"Portable bootstrap block consumed by @gobing-ai/ts-infra runNodeApplication. Shared across spur and spur-server.",properties:{logging:{type:"object",properties:{enabled:{type:"boolean",description:"Enable structured logging via LogTape."},level:{type:"string",enum:["trace","debug","info","warn","error","fatal"],description:"Minimum log level."},console:{type:"boolean",description:"Emit log records to console (stderr)."},json:{type:"boolean",description:"Format log records as JSON Lines. false = text format."},file:{type:"boolean",description:"Write log records to a file sink. Uses filePath when set, otherwise disabled."},filePath:{type:"string",description:"Path to the log file. Relative to project root. Default: .spur/logs/spur.log."}}},telemetry:{type:"object",properties:{enabled:{type:"boolean",description:"Enable OpenTelemetry tracing/metrics export."},serviceName:{type:"string",description:"Service name reported to OTel collectors."},environment:{type:"string",description:"Deployment environment label."}}},database:{type:"object",properties:{enabled:{type:"boolean",description:"Enable the SQLite database adapter."},driver:{type:"string",enum:["bun-sqlite"],description:"Database driver. Currently only bun-sqlite."},url:{type:"string",description:"Database file path. Supports ${DATABASE_URL} interpolation. Default: .spur/spur.db."}}},scheduler:{type:"object",properties:{enabled:{type:"boolean",description:"Enable the scheduled-task runner. OFF by default for CLI (run-once)."},jobs:{type:"array",description:"Declarative scheduled commands (task 0734). Each entry registers one scheduler tick that enqueues a `scheduler.custom` queue job running `command` through `/bin/sh -c`. Normalized and validated by @gobing-ai/ts-infra runNodeApplication before the server starts.",items:{type:"object",required:["name","command"],properties:{name:{type:"string",minLength:1,description:"Job name, unique across the list after trimming. Reported as the `scheduler.custom:<name>` display name on scheduler.job.executed."},command:{type:"string",minLength:1,description:"Shell command run by `/bin/sh -c` with the project root as cwd. Trusted operator input — never logged."},intervalMinutes:{type:"integer",minimum:1,maximum:35791,description:"Fixed interval in minutes. Mutually exclusive with `cron`. The upper bound is the Node timer ceiling (2147483647 ms)."},cron:{type:"string",minLength:1,description:"Five-field cron expression (minute hour day-of-month month day-of-week) evaluated in local time. Mutually exclusive with `intervalMinutes`."}},oneOf:[{required:["intervalMinutes"],not:{required:["cron"]}},{required:["cron"],not:{required:["intervalMinutes"]}}]}}}}}},agent:{type:"object",properties:{default:{type:"string",description:"Default role for `--agent auto` when nothing is declared (0542 R2). A role id (scribe, coder, reviewer, planner) selects its tier's cheapest eligible executor; a configured executor name still resolves during the transition with a one-time warning; any other value is rejected naming both accepted sets."},executors:{type:"array",description:"Named executor profiles: each pairs a canonical agent with an optional model override. Referenced by name from `agent.default` and stage model_policy (default-by-phase removed 0452).",items:{type:"object",required:["name","agent"],properties:{name:{type:"string",minLength:1,description:"Executor selector name (unique across the list)."},agent:{type:"string",minLength:1,description:"Canonical coding agent (claude, codex, gemini, pi, opencode, antigravity-cli, openclaw, hermes, omp)."},model:{type:"string",minLength:1,description:"Opaque model override passed straight to the agent (e.g. zai//glm-5.2). Applied only when the user passes no explicit --model."},tier:{type:"string",enum:["cheap","standard","capable-1","capable-2","capable-3"],description:"Capability tier for stage-registry adaptive model routing (ADR-033, 0343). Live values: cheap | standard | capable-1 | capable-2 | capable-3 (1=low output quality, 3=high within the capable band). A stage starts on the cheapest eligible executor meeting its model_policy min_tier. Bare legacy `capable` is accepted at runtime (zod preprocess → capable-1) during the deprecation window but is not part of this editor enum."},disabled:{description:"Routing kill-switch (111; ownership widened 0890): a disabled profile never serves a role, team, stage, or explicit selection, and doctor inventories it without probing. Omitted = enabled. Bare `true` is operator-owned (only humans write booleans); automatic writers emit the object form carrying owner (operator|quota|probe), since (RFC 3339) and reason.",anyOf:[{type:"boolean"},{type:"object",additionalProperties:!1,required:["owner","since","reason"],properties:{owner:{enum:["operator","quota","probe"]},since:{type:"string",format:"date-time",minLength:1},reason:{type:"string",minLength:1}}}]}}}},fleet:{type:"object",description:"The project's agent fleet (G65 / 0858): the single declaration of composition, the on/off switch, and the dispatch strategy. PROJECT LAYER ONLY — a global-layer agent.fleet fails the load. Replaces the retired .spur/fleet.json (0835) and agent.team (0857). Mirrors @gobing-ai/spur-config AgentFleetSchema (Zod is SSOT).",properties:{enabled:{type:"boolean",default:!1,description:"The single fleet switch. `spur serve` materializes and autostarts the roster only when true; an absent or disabled fleet starts nothing."},strategy:{type:"string",enum:["rest","gtd"],default:"rest",description:"Dispatch strategy, reconciled into project_strategy at serve start (0859). One name is added by a typed code change, not by config."},orchestrator:{type:"string",minLength:1,description:"memberLocalId of the one planner-role member carrying purpose: orchestrator. Absent = no orchestrator declared (never inferred)."},members:{type:"array",default:[],description:"The roster. Each member declares a role or an executor. `enabled: false` keeps the member's derived <role>-<n> id index but does not materialize it.",items:{type:"object",properties:{id:{type:"string",minLength:1,description:"Explicit stable id; wins over the derived <role>-<n> form."},role:{type:"string",enum:["scribe","coder","reviewer","planner"],description:"Layer-1 role id (closed vocabulary)."},executor:{type:"string",minLength:1,description:"Executor profile name or a raw canonical agent type."},purpose:{type:"string",description:"Free-form member purpose; `orchestrator` is the value the orchestrator pointer binds to."},enabled:{type:"boolean",description:"Default true. False preserves the member's derived id index without materializing it."}},anyOf:[{required:["role"]},{required:["executor"]}]}}}},roles:{type:"object",description:"Per-role tier/stage overrides over DEFAULT_AGENT_ROLES (0572 / ADR-061). Keys are the closed role vocabulary (scribe, coder, reviewer, planner); a present field replaces the default for that role, an omitted field keeps it. Mirrors @gobing-ai/spur-config AgentRoleConfigSchema (Zod is SSOT).",additionalProperties:{type:"object",properties:{tier:{type:"string",enum:["cheap","standard","capable-1","capable-2","capable-3"],description:"Replacement capability tier for the role. Must not sit below the highest min_tier among the role's folded stages (enforced at the CLI boundary)."},stages:{type:"array",minItems:1,items:{type:"string",minLength:1},description:"Replacement folded-stage list for the role. Ids must come from the canonical stage registry (validated at the CLI boundary). Omit the field to keep the default — an empty array is rejected."}}}}}},rules:{type:"object",properties:{paths:{type:"array",items:{type:"string"},description:"Glob paths to rule files."}}},workflows:{type:"object",properties:{paths:{type:"array",items:{type:"string"},description:"Glob paths to workflow directories."}}},redaction:{type:"object",properties:{enabled:{type:"boolean",description:"Enable sensitive-data redaction in CLI output."}}},history:{type:"object",description:"History import/analyze configuration (feature E3). Opt-in operation-triggered refresh.",properties:{refresh:{type:"object",properties:{on_completion:{type:"boolean",description:"Enqueue a coalesced history refresh when a task or pipeline run completes. Default false (opt-in; hidden automation is out of contract)."},debounce_ms:{type:"integer",minimum:0,description:"Coalescing window in milliseconds. Completions inside the window join one pending refresh. Default 60000."}}}}},builder:{type:"object",description:"Builder noun configuration. Currently hosts the release plumbing knobs for `spur builder bump-ver` / `drop-tags`; every field defaults to the built-in release convention, so an absent builder section keeps default behavior.",properties:{"bump-ver":{type:"object",description:"Release knobs for bump-ver/drop-tags. Defaults: -v separator, publish.yml workflow, chore(release) commit, gh run list limit 5.",properties:{aggregatePackage:{type:"string",minLength:1,description:'Package whose own release tag is the publish trigger for the aggregate (--all) path, as an unscoped package id (e.g. "spur" for @gobing-ai/spur). Default: the package whose full name equals the workspace root manifest name.'},tagVersionSeparator:{type:"string",minLength:1,description:'Release tag format: <package><separator><version>. Default "-v".'},publishWorkflow:{type:"string",minLength:1,description:'GitHub Actions workflow file the pushed release tag triggers. Default "publish.yml".'},releaseCommitType:{type:"string",minLength:1,description:'Conventional commit type for the release commit. Default "chore".'},releaseCommitScope:{type:"string",minLength:1,description:'Conventional commit scope for the release commit. Default "release".'},ghRunListLimit:{type:"integer",minimum:1,description:"gh run list --limit used to point at the triggered publish run. Default 5."},versionCarriers:{type:"array",description:"Extra version carriers beyond workspace package.json files. Default: none. Types are registered in apps/cli/src/version-carriers.ts (registerCarrierType), which validates instances at release time; registering a new type extends this description in the same commit.",items:{type:"object",description:"One carrier instance. Required field: type (string). Built-ins: plugin-manifest { paths: [..] } — repo-wide manifests synced to the release version (e.g. per-platform plugin.json mirrors); ts-literal { file?, identifier? } — version constant in a package source file (defaults src/config.ts / binaryVersion).",properties:{type:{type:"string",minLength:1}},required:["type"]}}}}}},tasks:{type:"object",description:"Task-folder registration (design §9). Absorbs the legacy docs/.tasks/config.json folders + baseCounter concepts. Mirrors @gobing-ai/spur-config tasksConfigSchema (Zod is SSOT).",properties:{folders:{type:"object",description:"Map of task-folder path → folder config.",additionalProperties:{type:"object",properties:{baseCounter:{type:"integer",minimum:0,description:"WBS base counter for new tasks in this folder. Default 0."},label:{type:"string",description:"Human-readable folder label."}}}},active:{type:"string",description:"Default folder for `spur task create`. Default: docs/tasks."},severity:{type:"object",description:"Rule severity overrides map by code (error | warning | off).",additionalProperties:{type:"string",enum:["error","warning","off"]}}}},features:{type:"object",description:"Feature directory location (design §9). Mirrors @gobing-ai/spur-config featuresConfigSchema (Zod is SSOT).",properties:{dir:{type:"string",description:"Feature files directory. Default: docs/features."}}}}};var state_machine_workflow_schema_default={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://github.com/gobing-ai/spur/schemas/state-machine-workflow.schema.json",title:"@gobing-ai/ts-dual-workflow-engine State-machine Workflow",type:"object",additionalProperties:!1,required:["name","initialState","states","transitions"],properties:{$schema:{type:"string"},kind:{const:"state-machine"},name:{type:"string",minLength:1},version:{type:"string",minLength:1,description:"Optional behavior-neutral identity tag (0756). Absent = unversioned; present = a non-empty opaque literal surfaced as explicit(<literal>). Not parsed, ordered, or compatibility-checked; no registry."},description:{type:"string"},initialState:{type:"string",minLength:1},terminalStates:{type:"array",items:{type:"string",minLength:1}},failureStates:{type:"array",items:{type:"string",minLength:1},description:"Subset of terminalStates whose reach finalizes the run as failed. Absent ⇒ every terminal is a success."},iterationBound:{type:"integer",exclusiveMinimum:0},vars:{type:"object",propertyNames:{pattern:"^[A-Za-z_][A-Za-z0-9_]*$"},additionalProperties:{type:"string"}},env:{type:"object",additionalProperties:!1,properties:{allow:{type:"array",items:{type:"string",pattern:"^[A-Za-z_][A-Za-z0-9_]*$"}}}},extensions:{type:"object",additionalProperties:!1,properties:{actions:{type:"array",items:{$ref:"#/$defs/relativeExtensionPath"}},guards:{type:"array",items:{$ref:"#/$defs/relativeExtensionPath"}}}},states:{type:"array",items:{type:"object",additionalProperties:!1,required:["id"],properties:{id:{type:"string",minLength:1},description:{type:"string"},pause:{type:"boolean",description:"When true, the engine pauses the run at this state for HITL (E3); resume with `spur workflow continue`."},onEnter:{type:"array",items:{$ref:"#/$defs/action"}},onExit:{type:"array",items:{$ref:"#/$defs/action"}}}}},transitions:{type:"array",items:{type:"object",additionalProperties:!1,required:["from","to"],properties:{from:{type:"string",minLength:1},to:{type:"string",minLength:1},description:{type:"string"},trigger:{type:"string"},guard:{$ref:"#/$defs/guard"}}}}},$defs:{action:{type:"object",additionalProperties:!1,required:["kind"],properties:{kind:{type:"string",minLength:1},options:{type:"object",additionalProperties:!0},onError:{type:"string",enum:["fail","continue"],description:"Per-action error handling policy: 'fail' halts the run; 'continue' logs the failure and proceeds so transition guards can route the outcome."}}},guard:{type:"object",additionalProperties:!1,required:["kind"],properties:{kind:{type:"string",minLength:1},options:{type:"object",additionalProperties:!0}}},relativeExtensionPath:{type:"string",minLength:1,description:"Relative module path; absolute paths and '..' traversal are forbidden.",not:{anyOf:[{pattern:"^[/\\\\]"},{pattern:"^[A-Za-z]:[/\\\\]"},{pattern:"(^|[/\\\\])\\.\\.([/\\\\]|$)"}]}}}};var transition_flow_workflow_schema_default={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://github.com/gobing-ai/spur/schemas/transition-flow-workflow.schema.json",title:"@gobing-ai/ts-dual-workflow-engine Transition-flow Workflow",type:"object",additionalProperties:!1,required:["kind","name","initialNode","nodes","edges"],properties:{$schema:{type:"string"},kind:{const:"transition-flow"},name:{type:"string",minLength:1},version:{type:"string",minLength:1,description:"Optional behavior-neutral identity tag (0756). Absent = unversioned; present = a non-empty opaque literal surfaced as explicit(<literal>). Not parsed, ordered, or compatibility-checked; no registry."},description:{type:"string"},initialNode:{type:"string",minLength:1},terminalNodes:{type:"array",items:{type:"string",minLength:1}},iterationBound:{type:"integer",exclusiveMinimum:0},vars:{type:"object",propertyNames:{pattern:"^[A-Za-z_][A-Za-z0-9_]*$"},additionalProperties:{type:"string"}},env:{type:"object",additionalProperties:!1,properties:{allow:{type:"array",items:{type:"string",pattern:"^[A-Za-z_][A-Za-z0-9_]*$"}}}},extensions:{type:"object",additionalProperties:!1,properties:{actions:{type:"array",items:{$ref:"#/$defs/relativeExtensionPath"}},guards:{type:"array",items:{$ref:"#/$defs/relativeExtensionPath"}}}},nodes:{type:"array",items:{type:"object",additionalProperties:!1,required:["id"],properties:{id:{type:"string",minLength:1},description:{type:"string"},type:{enum:["action","gate","parallel","decision"]},action:{$ref:"#/$defs/action"}}}},edges:{type:"array",items:{type:"object",additionalProperties:!1,required:["from","to"],properties:{from:{type:"string",minLength:1},to:{type:"string",minLength:1},description:{type:"string"},condition:{$ref:"#/$defs/guard"}}}}},$defs:{action:{type:"object",additionalProperties:!1,required:["kind"],properties:{kind:{type:"string",minLength:1},options:{type:"object",additionalProperties:!0},onError:{type:"string",enum:["fail","continue"],description:"Per-action error handling policy: 'fail' halts the run; 'continue' logs the failure and proceeds so edge conditions can route the outcome."}}},guard:{type:"object",additionalProperties:!1,required:["kind"],properties:{kind:{type:"string",minLength:1},options:{type:"object",additionalProperties:!0}}},relativeExtensionPath:{type:"string",minLength:1,description:"Relative module path; absolute paths and '..' traversal are forbidden.",not:{anyOf:[{pattern:"^[/\\\\]"},{pattern:"^[A-Za-z]:[/\\\\]"},{pattern:"(^|[/\\\\])\\.\\.([/\\\\]|$)"}]}}}};var EMBEDDED_SPUR_SCHEMAS=new Map([["schemas/spur-config.schema.json",JSON.stringify(spur_config_schema_default)],["schemas/section-matrix.schema.json",JSON.stringify(section_matrix_schema_default)],["schemas/state-machine-workflow.schema.json",JSON.stringify(state_machine_workflow_schema_default)],["schemas/transition-flow-workflow.schema.json",JSON.stringify(transition_flow_workflow_schema_default)]]);export{validateFeatureVerificationReceipt,startFeatureVerificationReceipt,splitLaunchCommand,resolveWorkflowDefinition,readProofInputContents,openInlineRunProjectDb,featureReceiptPaths,createWorkflowActionTraceWriter,createOrAttachInlineRun,computeProofInputFingerprint,completeFeatureVerificationReceipt,captureFeatureReceiptDigest,RunDao,EMBEDDED_SPUR_SCHEMAS,DEFAULT_FEATURE_VERIFICATION_CMD,ArtifactDao};
|