@etiquekit/etq 1.0.13 → 1.0.15
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/AGENTS.md +26 -19
- package/LICENSE +3 -2
- package/NOTICE +4 -6
- package/QuickStart.md +46 -35
- package/README.md +57 -55
- package/bin/etiquette +5 -1
- package/bin/etiquette-core +5 -1
- package/docs/ARCHITECTURE.md +17 -20
- package/docs/CONCEPTS.md +5 -5
- package/docs/CORE_PROFILE.md +15 -7
- package/docs/LANE_PROVISIONING.md +2 -7
- package/docs/README.md +14 -13
- package/docs/RELEASE_SURFACE_AUDIT.md +6 -7
- package/docs/SEAT_DISCIPLINE.md +91 -55
- package/docs/SEAT_PROVISIONING.md +19 -16
- package/docs/TEAM_HANDOFF.md +21 -21
- package/docs/WORKTREE_QOL.md +0 -7
- package/docs/contracts/ledger-entry/README.md +11 -11
- package/docs/contracts/ledger-entry/ledger-entry.v0.2.md +2 -2
- package/docs/contracts/ledger-entry/ledger-entry.v0.md +8 -8
- package/lib/etiquette-core.js +313 -0
- package/lib/etiquette.js +1151 -0
- package/package.json +13 -12
- package/templates/etiquette-vanilla-v0/README.md +3 -2
- package/templates/etiquette-vanilla-v0/source/control-seat/README.md +6 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/access-assurance-check +55 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/seat-doctor +5 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/docs/work/access/ACCESS-ASSURANCE.md +39 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/docs/work/access/workspace-secure-profile.v0.json +53 -0
- package/templates/etiquette-vanilla-v0/validate-vanilla.sh +5 -0
- package/templates/hosted-receiver/README.md +41 -0
- package/templates/hosted-receiver/w1-github-webhook-receiver.mjs +129 -0
- package/templates/seat-packs-v0/README.md +2 -3
- package/templates/seat-packs-v0/source/claude-code-seat/README.md +3 -3
- package/templates/seat-packs-v0/source/codex-seat/README.md +3 -3
- package/templates/seat-packs-v0/source/gemini-seat/README.md +3 -3
- package/templates/seat-packs-v0/source/ollama-seat/README.md +3 -3
- package/templates/seat-packs-v0/source/openrouter-seat/README.md +3 -3
- package/docs/CONCEPT_STATUS.md +0 -66
- package/packages/control/src/authority/lease.ts +0 -261
- package/packages/control/src/authority/node-delegation.ts +0 -257
- package/packages/control/src/authority/rig-conductor.ts +0 -632
- package/packages/control/src/cli/argv.ts +0 -155
- package/packages/control/src/cli/commands/console.ts +0 -200
- package/packages/control/src/cli/commands/dispatch-core.ts +0 -89
- package/packages/control/src/cli/commands/dispatch.ts +0 -279
- package/packages/control/src/cli/commands/harness.ts +0 -89
- package/packages/control/src/cli/commands/hook.ts +0 -50
- package/packages/control/src/cli/commands/ledger.ts +0 -91
- package/packages/control/src/cli/commands/local-workflow.ts +0 -4686
- package/packages/control/src/cli/commands/memory.ts +0 -445
- package/packages/control/src/cli/commands/release.ts +0 -108
- package/packages/control/src/cli/commands/rubric.ts +0 -103
- package/packages/control/src/cli/commands/seat.ts +0 -179
- package/packages/control/src/cli/commands/session.ts +0 -127
- package/packages/control/src/cli/commands/supervision.ts +0 -246
- package/packages/control/src/cli/commands/sync.ts +0 -119
- package/packages/control/src/cli/commands/workflow.ts +0 -86
- package/packages/control/src/cli/commands/workspace.ts +0 -50
- package/packages/control/src/cli/core-usage.ts +0 -34
- package/packages/control/src/cli/prompt.ts +0 -67
- package/packages/control/src/cli/supervision-deps.ts +0 -44
- package/packages/control/src/cli/usage.ts +0 -241
- package/packages/control/src/cli.ts +0 -207
- package/packages/control/src/core-cli.ts +0 -50
- package/packages/control/src/dispatch/decision.ts +0 -202
- package/packages/control/src/dispatch/projection.ts +0 -293
- package/packages/control/src/dispatch/record.ts +0 -153
- package/packages/control/src/engagement/project.ts +0 -170
- package/packages/control/src/fs.ts +0 -19
- package/packages/control/src/harness/pruning.ts +0 -406
- package/packages/control/src/hooks/dispatcher.ts +0 -117
- package/packages/control/src/hooks/outbox.ts +0 -86
- package/packages/control/src/hooks/sanitize.ts +0 -6
- package/packages/control/src/hooks/types.ts +0 -34
- package/packages/control/src/index.ts +0 -384
- package/packages/control/src/ledger/entry.ts +0 -303
- package/packages/control/src/ledger/indexer.ts +0 -542
- package/packages/control/src/memory/context.ts +0 -149
- package/packages/control/src/memory/drain-import.ts +0 -207
- package/packages/control/src/memory/indexer.ts +0 -284
- package/packages/control/src/memory/query.ts +0 -75
- package/packages/control/src/memory/sanitize.ts +0 -50
- package/packages/control/src/memory/sharded-drain-import.ts +0 -212
- package/packages/control/src/memory/status.ts +0 -211
- package/packages/control/src/memory/store-lifecycle.ts +0 -509
- package/packages/control/src/memory/store.ts +0 -284
- package/packages/control/src/memory/types.ts +0 -146
- package/packages/control/src/parity/surfaces.ts +0 -748
- package/packages/control/src/project.ts +0 -141
- package/packages/control/src/projection/local-ledger-view.ts +0 -373
- package/packages/control/src/projection/return-enforcement.ts +0 -48
- package/packages/control/src/projection/timeline-preview.ts +0 -539
- package/packages/control/src/projection/timeline.ts +0 -708
- package/packages/control/src/release/readiness.ts +0 -831
- package/packages/control/src/rubric/loader.ts +0 -326
- package/packages/control/src/rubric/promotion.ts +0 -54
- package/packages/control/src/rubric/runner.ts +0 -159
- package/packages/control/src/rubric/types.ts +0 -158
- package/packages/control/src/seat/owner-card.ts +0 -388
- package/packages/control/src/seat/readiness.ts +0 -834
- package/packages/control/src/session/runbook.ts +0 -431
- package/packages/control/src/shared/sanitize.ts +0 -49
- package/packages/control/src/supervision/action-classes.ts +0 -192
- package/packages/control/src/supervision/command-apply.ts +0 -378
- package/packages/control/src/supervision/errors.ts +0 -14
- package/packages/control/src/supervision/event-replay.ts +0 -155
- package/packages/control/src/supervision/events.ts +0 -109
- package/packages/control/src/supervision/index.ts +0 -16
- package/packages/control/src/supervision/manifest.ts +0 -127
- package/packages/control/src/supervision/paths.ts +0 -49
- package/packages/control/src/supervision/projection-adapter.ts +0 -274
- package/packages/control/src/supervision/projection.ts +0 -75
- package/packages/control/src/supervision/rebuild.ts +0 -99
- package/packages/control/src/supervision/session-open.ts +0 -131
- package/packages/control/src/supervision/session-read.ts +0 -99
- package/packages/control/src/supervision/sqlite-impl.ts +0 -71
- package/packages/control/src/supervision/sqlite.ts +0 -121
- package/packages/control/src/supervision/store-rows.ts +0 -371
- package/packages/control/src/supervision/turn-close.ts +0 -154
- package/packages/control/src/supervision/turn-open.ts +0 -284
- package/packages/control/src/sync/event-log-merge-driver.ts +0 -263
- package/packages/control/src/sync/join-plan.ts +0 -375
- package/packages/control/src/sync/outbox.ts +0 -492
- package/packages/control/src/workflow/evaluator.ts +0 -140
- package/packages/control/src/workflow/loader.ts +0 -200
- package/packages/control/src/workflow/types.ts +0 -90
- package/packages/control/src/workspace/authority.ts +0 -499
- package/packages/protocol/src/guards.ts +0 -119
- package/packages/protocol/src/huddle-board.ts +0 -198
- package/packages/protocol/src/huddle.ts +0 -295
- package/packages/protocol/src/incident.ts +0 -251
- package/packages/protocol/src/index.ts +0 -8
- package/packages/protocol/src/interfaces.ts +0 -107
- package/packages/protocol/src/packet-profile.ts +0 -195
- package/packages/protocol/src/state.ts +0 -81
- package/packages/protocol/src/types.ts +0 -434
- package/release/lineage.v0.json +0 -14
- package/scripts/release-candidate-verify.sh +0 -175
- package/scripts/release-checksum.sh +0 -25
- package/scripts/release-pack-canary.sh +0 -97
- package/scripts/release-scan.sh +0 -249
- package/scripts/release-sign.sh +0 -34
package/lib/etiquette.js
ADDED
|
@@ -0,0 +1,1151 @@
|
|
|
1
|
+
#!/usr/bin/env bun
|
|
2
|
+
// @bun
|
|
3
|
+
var HE=Object.defineProperty;var W=(r,n)=>()=>(n||r((n={exports:{}}).exports,n),n.exports);var YE=(r)=>r;function QE(r,n){this[r]=YE.bind(null,n)}var Wn=(r,n)=>{for(var t in n)HE(r,t,{get:n[t],enumerable:!0,configurable:!0,set:QE.bind(n,t)})};var a=(r,n)=>()=>(r&&(n=r(r=0)),n);var Mc=import.meta.require;var Vc,Fc,Ti,Jg,Gc,Xc;var Bc=a(()=>{Vc=["done","blocked","handed_off","stopped","timed_out"],Fc=["status","pause","resume","stop","approve_next_turn","redirect_owner","request_summary","mark_blocked","escalate_to_human"],Ti=["coordination_only","read_only_local","bounded_verification","bounded_product_mutation","human_only"],Jg=["inspect_repo","run_verify","write_projection","append_evidence","write_product_files","launch_runtime_target"],Gc=["on_state_change","on_command_only"],Xc=["codex","claude-code","human-mobile","human-desktop","other"]});var kg=a(()=>{Bc()});var Gh=a(()=>{Bc();kg()});function y(r,n,t){function e(o,u){if(!o._zod)Object.defineProperty(o,"_zod",{value:{def:u,constr:c,traits:new Set},enumerable:!1});if(o._zod.traits.has(r))return;o._zod.traits.add(r),n(o,u);let $=c.prototype,g=Object.keys($);for(let d=0;d<g.length;d++){let f=g[d];if(!(f in o))o[f]=$[f].bind(o)}}let i=t?.Parent??Object;class _ extends i{}Object.defineProperty(_,"name",{value:r});function c(o){var u;let $=t?.Parent?new _:this;e($,o),(u=$._zod).deferred??(u.deferred=[]);for(let g of $._zod.deferred)g();return $}return Object.defineProperty(c,"init",{value:e}),Object.defineProperty(c,Symbol.hasInstance,{value:(o)=>{if(t?.Parent&&o instanceof t.Parent)return!0;return o?._zod?.traits?.has(r)}}),Object.defineProperty(c,"name",{value:r}),c}function dr(r){if(r)Object.assign(Ke,r);return Ke}var vg,Mg,An,Xt,Ke;var Ei=a(()=>{vg=Object.freeze({status:"aborted"});Mg=Symbol("zod_brand");An=class An extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};Xt=class Xt extends Error{constructor(r){super(`Encountered unidirectional transform during encode: ${r}`);this.name="ZodEncodeError"}};Ke={}});var l={};Wn(l,{unwrapMessage:()=>Ce,uint8ArrayToHex:()=>Sl,uint8ArrayToBase64url:()=>Rl,uint8ArrayToBase64:()=>Hh,stringifyPrimitive:()=>T,slugify:()=>Gg,shallowClone:()=>Bg,safeExtend:()=>ml,required:()=>hl,randomString:()=>ul,propertyKeyTypes:()=>pe,promiseAllObject:()=>ol,primitiveTypes:()=>Hg,prefixIssues:()=>sr,pick:()=>fl,partial:()=>yl,parsedType:()=>E,optionalKeys:()=>Yg,omit:()=>bl,objectClone:()=>el,numKeys:()=>$l,nullish:()=>gt,normalizeParams:()=>q,mergeDefs:()=>sn,merge:()=>Il,jsonStringifyReplacer:()=>li,joinValues:()=>U,issue:()=>Ni,isPlainObject:()=>ft,isObject:()=>Bt,hexToUint8Array:()=>Dl,getSizableOrigin:()=>se,getParsedType:()=>gl,getLengthableOrigin:()=>r_,getEnumValues:()=>Ze,getElementAtPath:()=>cl,floatSafeRemainder:()=>Fg,finalizeIssue:()=>Xr,extend:()=>wl,escapeRegex:()=>$n,esc:()=>Hc,defineLazy:()=>Y,createTransparentProxy:()=>dl,cloneDef:()=>_l,clone:()=>Pr,cleanRegex:()=>xe,cleanEnum:()=>Ul,captureStackTrace:()=>Yc,cached:()=>qi,base64urlToUint8Array:()=>Ol,base64ToUint8Array:()=>Bh,assignProp:()=>dt,assertNotEqual:()=>rl,assertNever:()=>tl,assertIs:()=>nl,assertEqual:()=>sE,assert:()=>il,allowsEval:()=>Xg,aborted:()=>bt,NUMBER_FORMAT_RANGES:()=>Qg,Class:()=>Yh,BIGINT_FORMAT_RANGES:()=>Kg});function sE(r){return r}function rl(r){return r}function nl(r){}function tl(r){throw Error("Unexpected value in exhaustive check")}function il(r){}function Ze(r){let n=Object.values(r).filter((e)=>typeof e==="number");return Object.entries(r).filter(([e,i])=>n.indexOf(+e)===-1).map(([e,i])=>i)}function U(r,n="|"){return r.map((t)=>T(t)).join(n)}function li(r,n){if(typeof n==="bigint")return n.toString();return n}function qi(r){return{get value(){{let t=r();return Object.defineProperty(this,"value",{value:t}),t}throw Error("cached value already set")}}}function gt(r){return r===null||r===void 0}function xe(r){let n=r.startsWith("^")?1:0,t=r.endsWith("$")?r.length-1:r.length;return r.slice(n,t)}function Fg(r,n){let t=(r.toString().split(".")[1]||"").length,e=n.toString(),i=(e.split(".")[1]||"").length;if(i===0&&/\d?e-\d?/.test(e)){let u=e.match(/\d?e-(\d?)/);if(u?.[1])i=Number.parseInt(u[1])}let _=t>i?t:i,c=Number.parseInt(r.toFixed(_).replace(".","")),o=Number.parseInt(n.toFixed(_).replace(".",""));return c%o/10**_}function Y(r,n,t){let e=void 0;Object.defineProperty(r,n,{get(){if(e===Xh)return;if(e===void 0)e=Xh,e=t();return e},set(i){Object.defineProperty(r,n,{value:i})},configurable:!0})}function el(r){return Object.create(Object.getPrototypeOf(r),Object.getOwnPropertyDescriptors(r))}function dt(r,n,t){Object.defineProperty(r,n,{value:t,writable:!0,enumerable:!0,configurable:!0})}function sn(...r){let n={};for(let t of r){let e=Object.getOwnPropertyDescriptors(t);Object.assign(n,e)}return Object.defineProperties({},n)}function _l(r){return sn(r._zod.def)}function cl(r,n){if(!n)return r;return n.reduce((t,e)=>t?.[e],r)}function ol(r){let n=Object.keys(r),t=n.map((e)=>r[e]);return Promise.all(t).then((e)=>{let i={};for(let _=0;_<n.length;_++)i[n[_]]=e[_];return i})}function ul(r=10){let t="";for(let e=0;e<r;e++)t+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return t}function Hc(r){return JSON.stringify(r)}function Gg(r){return r.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function Bt(r){return typeof r==="object"&&r!==null&&!Array.isArray(r)}function ft(r){if(Bt(r)===!1)return!1;let n=r.constructor;if(n===void 0)return!0;if(typeof n!=="function")return!0;let t=n.prototype;if(Bt(t)===!1)return!1;if(Object.prototype.hasOwnProperty.call(t,"isPrototypeOf")===!1)return!1;return!0}function Bg(r){if(ft(r))return{...r};if(Array.isArray(r))return[...r];return r}function $l(r){let n=0;for(let t in r)if(Object.prototype.hasOwnProperty.call(r,t))n++;return n}function $n(r){return r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Pr(r,n,t){let e=new r._zod.constr(n??r._zod.def);if(!n||t?.parent)e._zod.parent=r;return e}function q(r){let n=r;if(!n)return{};if(typeof n==="string")return{error:()=>n};if(n?.message!==void 0){if(n?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");n.error=n.message}if(delete n.message,typeof n.error==="string")return{...n,error:()=>n.error};return n}function dl(r){let n;return new Proxy({},{get(t,e,i){return n??(n=r()),Reflect.get(n,e,i)},set(t,e,i,_){return n??(n=r()),Reflect.set(n,e,i,_)},has(t,e){return n??(n=r()),Reflect.has(n,e)},deleteProperty(t,e){return n??(n=r()),Reflect.deleteProperty(n,e)},ownKeys(t){return n??(n=r()),Reflect.ownKeys(n)},getOwnPropertyDescriptor(t,e){return n??(n=r()),Reflect.getOwnPropertyDescriptor(n,e)},defineProperty(t,e,i){return n??(n=r()),Reflect.defineProperty(n,e,i)}})}function T(r){if(typeof r==="bigint")return r.toString()+"n";if(typeof r==="string")return`"${r}"`;return`${r}`}function Yg(r){return Object.keys(r).filter((n)=>{return r[n]._zod.optin==="optional"&&r[n]._zod.optout==="optional"})}function fl(r,n){let t=r._zod.def,e=t.checks;if(e&&e.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let _=sn(r._zod.def,{get shape(){let c={};for(let o in n){if(!(o in t.shape))throw Error(`Unrecognized key: "${o}"`);if(!n[o])continue;c[o]=t.shape[o]}return dt(this,"shape",c),c},checks:[]});return Pr(r,_)}function bl(r,n){let t=r._zod.def,e=t.checks;if(e&&e.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let _=sn(r._zod.def,{get shape(){let c={...r._zod.def.shape};for(let o in n){if(!(o in t.shape))throw Error(`Unrecognized key: "${o}"`);if(!n[o])continue;delete c[o]}return dt(this,"shape",c),c},checks:[]});return Pr(r,_)}function wl(r,n){if(!ft(n))throw Error("Invalid input to extend: expected a plain object");let t=r._zod.def.checks;if(t&&t.length>0){let _=r._zod.def.shape;for(let c in n)if(Object.getOwnPropertyDescriptor(_,c)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let i=sn(r._zod.def,{get shape(){let _={...r._zod.def.shape,...n};return dt(this,"shape",_),_}});return Pr(r,i)}function ml(r,n){if(!ft(n))throw Error("Invalid input to safeExtend: expected a plain object");let t=sn(r._zod.def,{get shape(){let e={...r._zod.def.shape,...n};return dt(this,"shape",e),e}});return Pr(r,t)}function Il(r,n){let t=sn(r._zod.def,{get shape(){let e={...r._zod.def.shape,...n._zod.def.shape};return dt(this,"shape",e),e},get catchall(){return n._zod.def.catchall},checks:[]});return Pr(r,t)}function yl(r,n,t){let i=n._zod.def.checks;if(i&&i.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let c=sn(n._zod.def,{get shape(){let o=n._zod.def.shape,u={...o};if(t)for(let $ in t){if(!($ in o))throw Error(`Unrecognized key: "${$}"`);if(!t[$])continue;u[$]=r?new r({type:"optional",innerType:o[$]}):o[$]}else for(let $ in o)u[$]=r?new r({type:"optional",innerType:o[$]}):o[$];return dt(this,"shape",u),u},checks:[]});return Pr(n,c)}function hl(r,n,t){let e=sn(n._zod.def,{get shape(){let i=n._zod.def.shape,_={...i};if(t)for(let c in t){if(!(c in _))throw Error(`Unrecognized key: "${c}"`);if(!t[c])continue;_[c]=new r({type:"nonoptional",innerType:i[c]})}else for(let c in i)_[c]=new r({type:"nonoptional",innerType:i[c]});return dt(this,"shape",_),_}});return Pr(n,e)}function bt(r,n=0){if(r.aborted===!0)return!0;for(let t=n;t<r.issues.length;t++)if(r.issues[t]?.continue!==!0)return!0;return!1}function sr(r,n){return n.map((t)=>{var e;return(e=t).path??(e.path=[]),t.path.unshift(r),t})}function Ce(r){return typeof r==="string"?r:r?.message}function Xr(r,n,t){let e={...r,path:r.path??[]};if(!r.message){let i=Ce(r.inst?._zod.def?.error?.(r))??Ce(n?.error?.(r))??Ce(t.customError?.(r))??Ce(t.localeError?.(r))??"Invalid input";e.message=i}if(delete e.inst,delete e.continue,!n?.reportInput)delete e.input;return e}function se(r){if(r instanceof Set)return"set";if(r instanceof Map)return"map";if(r instanceof File)return"file";return"unknown"}function r_(r){if(Array.isArray(r))return"array";if(typeof r==="string")return"string";return"unknown"}function E(r){let n=typeof r;switch(n){case"number":return Number.isNaN(r)?"nan":"number";case"object":{if(r===null)return"null";if(Array.isArray(r))return"array";let t=r;if(t&&Object.getPrototypeOf(t)!==Object.prototype&&"constructor"in t&&t.constructor)return t.constructor.name}}return n}function Ni(...r){let[n,t,e]=r;if(typeof n==="string")return{message:n,code:"custom",input:t,inst:e};return{...n}}function Ul(r){return Object.entries(r).filter(([n,t])=>{return Number.isNaN(Number.parseInt(n,10))}).map((n)=>n[1])}function Bh(r){let n=atob(r),t=new Uint8Array(n.length);for(let e=0;e<n.length;e++)t[e]=n.charCodeAt(e);return t}function Hh(r){let n="";for(let t=0;t<r.length;t++)n+=String.fromCharCode(r[t]);return btoa(n)}function Ol(r){let n=r.replace(/-/g,"+").replace(/_/g,"/"),t="=".repeat((4-n.length%4)%4);return Bh(n+t)}function Rl(r){return Hh(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function Dl(r){let n=r.replace(/^0x/,"");if(n.length%2!==0)throw Error("Invalid hex string length");let t=new Uint8Array(n.length/2);for(let e=0;e<n.length;e+=2)t[e/2]=Number.parseInt(n.slice(e,e+2),16);return t}function Sl(r){return Array.from(r).map((n)=>n.toString(16).padStart(2,"0")).join("")}class Yh{constructor(...r){}}var Xh,Yc,Xg,gl=(r)=>{let n=typeof r;switch(n){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(r)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray(r))return"array";if(r===null)return"null";if(r.then&&typeof r.then==="function"&&r.catch&&typeof r.catch==="function")return"promise";if(typeof Map<"u"&&r instanceof Map)return"map";if(typeof Set<"u"&&r instanceof Set)return"set";if(typeof Date<"u"&&r instanceof Date)return"date";if(typeof File<"u"&&r instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${n}`)}},pe,Hg,Qg,Kg;var k=a(()=>{Xh=Symbol("evaluating");Yc="captureStackTrace"in Error?Error.captureStackTrace:(...r)=>{};Xg=qi(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(r){return!1}});pe=new Set(["string","number","symbol"]),Hg=new Set(["string","number","bigint","boolean","symbol","undefined"]);Qg={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]},Kg={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]}});function t_(r,n=(t)=>t.message){let t={},e=[];for(let i of r.issues)if(i.path.length>0)t[i.path[0]]=t[i.path[0]]||[],t[i.path[0]].push(n(i));else e.push(n(i));return{formErrors:e,fieldErrors:t}}function i_(r,n=(t)=>t.message){let t={_errors:[]},e=(i)=>{for(let _ of i.issues)if(_.code==="invalid_union"&&_.errors.length)_.errors.map((c)=>e({issues:c}));else if(_.code==="invalid_key")e({issues:_.issues});else if(_.code==="invalid_element")e({issues:_.issues});else if(_.path.length===0)t._errors.push(n(_));else{let c=t,o=0;while(o<_.path.length){let u=_.path[o];if(o!==_.path.length-1)c[u]=c[u]||{_errors:[]};else c[u]=c[u]||{_errors:[]},c[u]._errors.push(n(_));c=c[u],o++}}};return e(r),t}function Cg(r,n=(t)=>t.message){let t={errors:[]},e=(i,_=[])=>{var c,o;for(let u of i.issues)if(u.code==="invalid_union"&&u.errors.length)u.errors.map(($)=>e({issues:$},u.path));else if(u.code==="invalid_key")e({issues:u.issues},u.path);else if(u.code==="invalid_element")e({issues:u.issues},u.path);else{let $=[..._,...u.path];if($.length===0){t.errors.push(n(u));continue}let g=t,d=0;while(d<$.length){let f=$[d],b=d===$.length-1;if(typeof f==="string")g.properties??(g.properties={}),(c=g.properties)[f]??(c[f]={errors:[]}),g=g.properties[f];else g.items??(g.items=[]),(o=g.items)[f]??(o[f]={errors:[]}),g=g.items[f];if(b)g.errors.push(n(u));d++}}};return e(r),t}function Kh(r){let n=[],t=r.map((e)=>typeof e==="object"?e.key:e);for(let e of t)if(typeof e==="number")n.push(`[${e}]`);else if(typeof e==="symbol")n.push(`[${JSON.stringify(String(e))}]`);else if(/[^\w$]/.test(e))n.push(`[${JSON.stringify(e)}]`);else{if(n.length)n.push(".");n.push(e)}return n.join("")}function Zg(r){let n=[],t=[...r.issues].sort((e,i)=>(e.path??[]).length-(i.path??[]).length);for(let e of t)if(n.push(`\u2716 ${e.message}`),e.path?.length)n.push(` \u2192 at ${Kh(e.path)}`);return n.join(`
|
|
4
|
+
`)}var Qh=(r,n)=>{r.name="$ZodError",Object.defineProperty(r,"_zod",{value:r._zod,enumerable:!1}),Object.defineProperty(r,"issues",{value:n,enumerable:!1}),r.message=JSON.stringify(n,li,2),Object.defineProperty(r,"toString",{value:()=>r.message,enumerable:!1})},n_,Br;var xg=a(()=>{Ei();k();n_=y("$ZodError",Qh),Br=y("$ZodError",Qh,{Parent:Error})});var Li=(r)=>(n,t,e,i)=>{let _=e?Object.assign(e,{async:!1}):{async:!1},c=n._zod.run({value:t,issues:[]},_);if(c instanceof Promise)throw new An;if(c.issues.length){let o=new(i?.Err??r)(c.issues.map((u)=>Xr(u,_,dr())));throw Yc(o,i?.callee),o}return c.value},Qc,zi=(r)=>async(n,t,e,i)=>{let _=e?Object.assign(e,{async:!0}):{async:!0},c=n._zod.run({value:t,issues:[]},_);if(c instanceof Promise)c=await c;if(c.issues.length){let o=new(i?.Err??r)(c.issues.map((u)=>Xr(u,_,dr())));throw Yc(o,i?.callee),o}return c.value},Kc,ji=(r)=>(n,t,e)=>{let i=e?{...e,async:!1}:{async:!1},_=n._zod.run({value:t,issues:[]},i);if(_ instanceof Promise)throw new An;return _.issues.length?{success:!1,error:new(r??n_)(_.issues.map((c)=>Xr(c,i,dr())))}:{success:!0,data:_.value}},pg,Wi=(r)=>async(n,t,e)=>{let i=e?Object.assign(e,{async:!0}):{async:!0},_=n._zod.run({value:t,issues:[]},i);if(_ instanceof Promise)_=await _;return _.issues.length?{success:!1,error:new r(_.issues.map((c)=>Xr(c,i,dr())))}:{success:!0,data:_.value}},sg,Cc=(r)=>(n,t,e)=>{let i=e?Object.assign(e,{direction:"backward"}):{direction:"backward"};return Li(r)(n,t,i)},Tl,Zc=(r)=>(n,t,e)=>{return Li(r)(n,t,e)},El,xc=(r)=>async(n,t,e)=>{let i=e?Object.assign(e,{direction:"backward"}):{direction:"backward"};return zi(r)(n,t,i)},ll,pc=(r)=>async(n,t,e)=>{return zi(r)(n,t,e)},ql,sc=(r)=>(n,t,e)=>{let i=e?Object.assign(e,{direction:"backward"}):{direction:"backward"};return ji(r)(n,t,i)},Nl,ro=(r)=>(n,t,e)=>{return ji(r)(n,t,e)},Ll,no=(r)=>async(n,t,e)=>{let i=e?Object.assign(e,{direction:"backward"}):{direction:"backward"};return Wi(r)(n,t,i)},zl,to=(r)=>async(n,t,e)=>{return Wi(r)(n,t,e)},jl;var rd=a(()=>{Ei();xg();k();Qc=Li(Br),Kc=zi(Br),pg=ji(Br),sg=Wi(Br),Tl=Cc(Br),El=Zc(Br),ll=xc(Br),ql=pc(Br),Nl=sc(Br),Ll=ro(Br),zl=no(Br),jl=to(Br)});var gn={};Wn(gn,{xid:()=>ed,uuid7:()=>Jl,uuid6:()=>Pl,uuid4:()=>Al,uuid:()=>Ht,uppercase:()=>qd,unicodeEmail:()=>Ch,undefined:()=>Ed,ulid:()=>id,time:()=>Ud,string:()=>Rd,sha512_hex:()=>iq,sha512_base64url:()=>_q,sha512_base64:()=>eq,sha384_hex:()=>rq,sha384_base64url:()=>tq,sha384_base64:()=>nq,sha256_hex:()=>xl,sha256_base64url:()=>sl,sha256_base64:()=>pl,sha1_hex:()=>Kl,sha1_base64url:()=>Zl,sha1_base64:()=>Cl,rfc5322Email:()=>vl,number:()=>e_,null:()=>Td,nanoid:()=>cd,md5_hex:()=>Hl,md5_base64url:()=>Ql,md5_base64:()=>Yl,mac:()=>bd,lowercase:()=>ld,ksuid:()=>_d,ipv6:()=>fd,ipv4:()=>dd,integer:()=>Sd,idnEmail:()=>Ml,html5Email:()=>kl,hostname:()=>Gl,hex:()=>Bl,guid:()=>ud,extendedDuration:()=>Wl,emoji:()=>gd,email:()=>$d,e164:()=>yd,duration:()=>od,domain:()=>Xl,datetime:()=>Od,date:()=>hd,cuid2:()=>td,cuid:()=>nd,cidrv6:()=>md,cidrv4:()=>wd,browserEmail:()=>Vl,boolean:()=>ad,bigint:()=>Dd,base64url:()=>io,base64:()=>Id});function gd(){return new RegExp(Fl,"u")}function xh(r){return typeof r.precision==="number"?r.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":r.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{${r.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function Ud(r){return new RegExp(`^${xh(r)}$`)}function Od(r){let n=xh({precision:r.precision}),t=["Z"];if(r.local)t.push("");if(r.offset)t.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let e=`${n}(?:${t.join("|")})`;return new RegExp(`^${Zh}T(?:${e})$`)}function __(r,n){return new RegExp(`^[A-Za-z0-9+/]{${r}}${n}$`)}function c_(r){return new RegExp(`^[A-Za-z0-9_-]{${r}}$`)}var nd,td,id,ed,_d,cd,od,Wl,ud,Ht=(r)=>{if(!r)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}-${r}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)},Al,Pl,Jl,$d,kl,vl,Ch,Ml,Vl,Fl="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",dd,fd,bd=(r)=>{let n=$n(r??":");return new RegExp(`^(?:[0-9A-F]{2}${n}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${n}){5}[0-9a-f]{2}$`)},wd,md,Id,io,Gl,Xl,yd,Zh="(?:(?:\\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])))",hd,Rd=(r)=>{let n=r?`[\\s\\S]{${r?.minimum??0},${r?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${n}$`)},Dd,Sd,e_,ad,Td,Ed,ld,qd,Bl,Hl,Yl,Ql,Kl,Cl,Zl,xl,pl,sl,rq,nq,tq,iq,eq,_q;var eo=a(()=>{k();nd=/^[cC][^\s-]{8,}$/,td=/^[0-9a-z]+$/,id=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,ed=/^[0-9a-vA-V]{20}$/,_d=/^[A-Za-z0-9]{27}$/,cd=/^[a-zA-Z0-9_-]{21}$/,od=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Wl=/^[-+]?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)?)??$/,ud=/^([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})$/,Al=Ht(4),Pl=Ht(6),Jl=Ht(7),$d=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,kl=/^[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])?)*$/,vl=/^(([^<>()\[\]\\.,;:\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,}))$/,Ch=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,Ml=Ch,Vl=/^[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])?)*$/;dd=/^(?:(?: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])$/,fd=/^(([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}|:))$/,wd=/^((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])$/,md=/^(([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])$/,Id=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,io=/^[A-Za-z0-9_-]*$/,Gl=/^(?=.{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])?)*\.?$/,Xl=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,yd=/^\+[1-9]\d{6,14}$/,hd=new RegExp(`^${Zh}$`);Dd=/^-?\d+n?$/,Sd=/^-?\d+$/,e_=/^-?\d+(?:\.\d+)?$/,ad=/^(?:true|false)$/i,Td=/^null$/i,Ed=/^undefined$/i,ld=/^[^A-Z]*$/,qd=/^[^a-z]*$/,Bl=/^[0-9a-fA-F]*$/;Hl=/^[0-9a-fA-F]{32}$/,Yl=__(22,"=="),Ql=c_(22),Kl=/^[0-9a-fA-F]{40}$/,Cl=__(27,"="),Zl=c_(27),xl=/^[0-9a-fA-F]{64}$/,pl=__(43,"="),sl=c_(43),rq=/^[0-9a-fA-F]{96}$/,nq=__(64,""),tq=c_(64),iq=/^[0-9a-fA-F]{128}$/,eq=__(86,"=="),_q=c_(86)});function ph(r,n,t){if(r.issues.length)n.issues.push(...sr(t,r.issues))}var nr,sh,_o,co,Nd,Ld,zd,jd,Wd,Ad,Pd,Jd,kd,Ai,vd,Md,Vd,Fd,Gd,Xd,Bd,Hd,Yd;var oo=a(()=>{Ei();eo();k();nr=y("$ZodCheck",(r,n)=>{var t;r._zod??(r._zod={}),r._zod.def=n,(t=r._zod).onattach??(t.onattach=[])}),sh={number:"number",bigint:"bigint",object:"date"},_o=y("$ZodCheckLessThan",(r,n)=>{nr.init(r,n);let t=sh[typeof n.value];r._zod.onattach.push((e)=>{let i=e._zod.bag,_=(n.inclusive?i.maximum:i.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(n.value<_)if(n.inclusive)i.maximum=n.value;else i.exclusiveMaximum=n.value}),r._zod.check=(e)=>{if(n.inclusive?e.value<=n.value:e.value<n.value)return;e.issues.push({origin:t,code:"too_big",maximum:typeof n.value==="object"?n.value.getTime():n.value,input:e.value,inclusive:n.inclusive,inst:r,continue:!n.abort})}}),co=y("$ZodCheckGreaterThan",(r,n)=>{nr.init(r,n);let t=sh[typeof n.value];r._zod.onattach.push((e)=>{let i=e._zod.bag,_=(n.inclusive?i.minimum:i.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(n.value>_)if(n.inclusive)i.minimum=n.value;else i.exclusiveMinimum=n.value}),r._zod.check=(e)=>{if(n.inclusive?e.value>=n.value:e.value>n.value)return;e.issues.push({origin:t,code:"too_small",minimum:typeof n.value==="object"?n.value.getTime():n.value,input:e.value,inclusive:n.inclusive,inst:r,continue:!n.abort})}}),Nd=y("$ZodCheckMultipleOf",(r,n)=>{nr.init(r,n),r._zod.onattach.push((t)=>{var e;(e=t._zod.bag).multipleOf??(e.multipleOf=n.value)}),r._zod.check=(t)=>{if(typeof t.value!==typeof n.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof t.value==="bigint"?t.value%n.value===BigInt(0):Fg(t.value,n.value)===0)return;t.issues.push({origin:typeof t.value,code:"not_multiple_of",divisor:n.value,input:t.value,inst:r,continue:!n.abort})}}),Ld=y("$ZodCheckNumberFormat",(r,n)=>{nr.init(r,n),n.format=n.format||"float64";let t=n.format?.includes("int"),e=t?"int":"number",[i,_]=Qg[n.format];r._zod.onattach.push((c)=>{let o=c._zod.bag;if(o.format=n.format,o.minimum=i,o.maximum=_,t)o.pattern=Sd}),r._zod.check=(c)=>{let o=c.value;if(t){if(!Number.isInteger(o)){c.issues.push({expected:e,format:n.format,code:"invalid_type",continue:!1,input:o,inst:r});return}if(!Number.isSafeInteger(o)){if(o>0)c.issues.push({input:o,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:r,origin:e,inclusive:!0,continue:!n.abort});else c.issues.push({input:o,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:r,origin:e,inclusive:!0,continue:!n.abort});return}}if(o<i)c.issues.push({origin:"number",input:o,code:"too_small",minimum:i,inclusive:!0,inst:r,continue:!n.abort});if(o>_)c.issues.push({origin:"number",input:o,code:"too_big",maximum:_,inclusive:!0,inst:r,continue:!n.abort})}}),zd=y("$ZodCheckBigIntFormat",(r,n)=>{nr.init(r,n);let[t,e]=Kg[n.format];r._zod.onattach.push((i)=>{let _=i._zod.bag;_.format=n.format,_.minimum=t,_.maximum=e}),r._zod.check=(i)=>{let _=i.value;if(_<t)i.issues.push({origin:"bigint",input:_,code:"too_small",minimum:t,inclusive:!0,inst:r,continue:!n.abort});if(_>e)i.issues.push({origin:"bigint",input:_,code:"too_big",maximum:e,inclusive:!0,inst:r,continue:!n.abort})}}),jd=y("$ZodCheckMaxSize",(r,n)=>{var t;nr.init(r,n),(t=r._zod.def).when??(t.when=(e)=>{let i=e.value;return!gt(i)&&i.size!==void 0}),r._zod.onattach.push((e)=>{let i=e._zod.bag.maximum??Number.POSITIVE_INFINITY;if(n.maximum<i)e._zod.bag.maximum=n.maximum}),r._zod.check=(e)=>{let i=e.value;if(i.size<=n.maximum)return;e.issues.push({origin:se(i),code:"too_big",maximum:n.maximum,inclusive:!0,input:i,inst:r,continue:!n.abort})}}),Wd=y("$ZodCheckMinSize",(r,n)=>{var t;nr.init(r,n),(t=r._zod.def).when??(t.when=(e)=>{let i=e.value;return!gt(i)&&i.size!==void 0}),r._zod.onattach.push((e)=>{let i=e._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(n.minimum>i)e._zod.bag.minimum=n.minimum}),r._zod.check=(e)=>{let i=e.value;if(i.size>=n.minimum)return;e.issues.push({origin:se(i),code:"too_small",minimum:n.minimum,inclusive:!0,input:i,inst:r,continue:!n.abort})}}),Ad=y("$ZodCheckSizeEquals",(r,n)=>{var t;nr.init(r,n),(t=r._zod.def).when??(t.when=(e)=>{let i=e.value;return!gt(i)&&i.size!==void 0}),r._zod.onattach.push((e)=>{let i=e._zod.bag;i.minimum=n.size,i.maximum=n.size,i.size=n.size}),r._zod.check=(e)=>{let i=e.value,_=i.size;if(_===n.size)return;let c=_>n.size;e.issues.push({origin:se(i),...c?{code:"too_big",maximum:n.size}:{code:"too_small",minimum:n.size},inclusive:!0,exact:!0,input:e.value,inst:r,continue:!n.abort})}}),Pd=y("$ZodCheckMaxLength",(r,n)=>{var t;nr.init(r,n),(t=r._zod.def).when??(t.when=(e)=>{let i=e.value;return!gt(i)&&i.length!==void 0}),r._zod.onattach.push((e)=>{let i=e._zod.bag.maximum??Number.POSITIVE_INFINITY;if(n.maximum<i)e._zod.bag.maximum=n.maximum}),r._zod.check=(e)=>{let i=e.value;if(i.length<=n.maximum)return;let c=r_(i);e.issues.push({origin:c,code:"too_big",maximum:n.maximum,inclusive:!0,input:i,inst:r,continue:!n.abort})}}),Jd=y("$ZodCheckMinLength",(r,n)=>{var t;nr.init(r,n),(t=r._zod.def).when??(t.when=(e)=>{let i=e.value;return!gt(i)&&i.length!==void 0}),r._zod.onattach.push((e)=>{let i=e._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(n.minimum>i)e._zod.bag.minimum=n.minimum}),r._zod.check=(e)=>{let i=e.value;if(i.length>=n.minimum)return;let c=r_(i);e.issues.push({origin:c,code:"too_small",minimum:n.minimum,inclusive:!0,input:i,inst:r,continue:!n.abort})}}),kd=y("$ZodCheckLengthEquals",(r,n)=>{var t;nr.init(r,n),(t=r._zod.def).when??(t.when=(e)=>{let i=e.value;return!gt(i)&&i.length!==void 0}),r._zod.onattach.push((e)=>{let i=e._zod.bag;i.minimum=n.length,i.maximum=n.length,i.length=n.length}),r._zod.check=(e)=>{let i=e.value,_=i.length;if(_===n.length)return;let c=r_(i),o=_>n.length;e.issues.push({origin:c,...o?{code:"too_big",maximum:n.length}:{code:"too_small",minimum:n.length},inclusive:!0,exact:!0,input:e.value,inst:r,continue:!n.abort})}}),Ai=y("$ZodCheckStringFormat",(r,n)=>{var t,e;if(nr.init(r,n),r._zod.onattach.push((i)=>{let _=i._zod.bag;if(_.format=n.format,n.pattern)_.patterns??(_.patterns=new Set),_.patterns.add(n.pattern)}),n.pattern)(t=r._zod).check??(t.check=(i)=>{if(n.pattern.lastIndex=0,n.pattern.test(i.value))return;i.issues.push({origin:"string",code:"invalid_format",format:n.format,input:i.value,...n.pattern?{pattern:n.pattern.toString()}:{},inst:r,continue:!n.abort})});else(e=r._zod).check??(e.check=()=>{})}),vd=y("$ZodCheckRegex",(r,n)=>{Ai.init(r,n),r._zod.check=(t)=>{if(n.pattern.lastIndex=0,n.pattern.test(t.value))return;t.issues.push({origin:"string",code:"invalid_format",format:"regex",input:t.value,pattern:n.pattern.toString(),inst:r,continue:!n.abort})}}),Md=y("$ZodCheckLowerCase",(r,n)=>{n.pattern??(n.pattern=ld),Ai.init(r,n)}),Vd=y("$ZodCheckUpperCase",(r,n)=>{n.pattern??(n.pattern=qd),Ai.init(r,n)}),Fd=y("$ZodCheckIncludes",(r,n)=>{nr.init(r,n);let t=$n(n.includes),e=new RegExp(typeof n.position==="number"?`^.{${n.position}}${t}`:t);n.pattern=e,r._zod.onattach.push((i)=>{let _=i._zod.bag;_.patterns??(_.patterns=new Set),_.patterns.add(e)}),r._zod.check=(i)=>{if(i.value.includes(n.includes,n.position))return;i.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:n.includes,input:i.value,inst:r,continue:!n.abort})}}),Gd=y("$ZodCheckStartsWith",(r,n)=>{nr.init(r,n);let t=new RegExp(`^${$n(n.prefix)}.*`);n.pattern??(n.pattern=t),r._zod.onattach.push((e)=>{let i=e._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(t)}),r._zod.check=(e)=>{if(e.value.startsWith(n.prefix))return;e.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:n.prefix,input:e.value,inst:r,continue:!n.abort})}}),Xd=y("$ZodCheckEndsWith",(r,n)=>{nr.init(r,n);let t=new RegExp(`.*${$n(n.suffix)}$`);n.pattern??(n.pattern=t),r._zod.onattach.push((e)=>{let i=e._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(t)}),r._zod.check=(e)=>{if(e.value.endsWith(n.suffix))return;e.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:n.suffix,input:e.value,inst:r,continue:!n.abort})}});Bd=y("$ZodCheckProperty",(r,n)=>{nr.init(r,n),r._zod.check=(t)=>{let e=n.schema._zod.run({value:t.value[n.property],issues:[]},{});if(e instanceof Promise)return e.then((i)=>ph(i,t,n.property));ph(e,t,n.property);return}}),Hd=y("$ZodCheckMimeType",(r,n)=>{nr.init(r,n);let t=new Set(n.mime);r._zod.onattach.push((e)=>{e._zod.bag.mime=n.mime}),r._zod.check=(e)=>{if(t.has(e.value.type))return;e.issues.push({code:"invalid_value",values:n.mime,input:e.value.type,inst:r,continue:!n.abort})}}),Yd=y("$ZodCheckOverwrite",(r,n)=>{nr.init(r,n),r._zod.check=(t)=>{t.value=n.tx(t.value)}})});class uo{constructor(r=[]){if(this.content=[],this.indent=0,this)this.args=r}indented(r){this.indent+=1,r(this),this.indent-=1}write(r){if(typeof r==="function"){r(this,{execution:"sync"}),r(this,{execution:"async"});return}let t=r.split(`
|
|
5
|
+
`).filter((_)=>_),e=Math.min(...t.map((_)=>_.length-_.trimStart().length)),i=t.map((_)=>_.slice(e)).map((_)=>" ".repeat(this.indent*2)+_);for(let _ of i)this.content.push(_)}compile(){let r=Function,n=this?.args,e=[...(this?.content??[""]).map((i)=>` ${i}`)];return new r(...n,e.join(`
|
|
6
|
+
`))}}var Qd;var Kd=a(()=>{Qd={major:4,minor:3,patch:6}});function yf(r){if(r==="")return!0;if(r.length%4!==0)return!1;try{return atob(r),!0}catch{return!1}}function f4(r){if(!io.test(r))return!1;let n=r.replace(/[-_]/g,(e)=>e==="-"?"+":"/"),t=n.padEnd(Math.ceil(n.length/4)*4,"=");return yf(t)}function b4(r,n=null){try{let t=r.split(".");if(t.length!==3)return!1;let[e]=t;if(!e)return!1;let i=JSON.parse(atob(e));if("typ"in i&&i?.typ!=="JWT")return!1;if(!i.alg)return!1;if(n&&(!("alg"in i)||i.alg!==n))return!1;return!0}catch{return!1}}function n4(r,n,t){if(r.issues.length)n.issues.push(...sr(t,r.issues));n.value[t]=r.value}function wo(r,n,t,e,i){if(r.issues.length){if(i&&!(t in e))return;n.issues.push(...sr(t,r.issues))}if(r.value===void 0){if(t in e)n.value[t]=void 0}else n.value[t]=r.value}function w4(r){let n=Object.keys(r.shape);for(let e of n)if(!r.shape?.[e]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${e}": expected a Zod schema`);let t=Yg(r.shape);return{...r,keys:n,keySet:new Set(n),numKeys:n.length,optionalKeys:new Set(t)}}function m4(r,n,t,e,i,_){let c=[],o=i.keySet,u=i.catchall._zod,$=u.def.type,g=u.optout==="optional";for(let d in n){if(o.has(d))continue;if($==="never"){c.push(d);continue}let f=u.run({value:n[d],issues:[]},e);if(f instanceof Promise)r.push(f.then((b)=>wo(b,t,d,n,g)));else wo(f,t,d,n,g)}if(c.length)t.issues.push({code:"unrecognized_keys",keys:c,input:n,inst:_});if(!r.length)return t;return Promise.all(r).then(()=>{return t})}function t4(r,n,t,e){for(let _ of r)if(_.issues.length===0)return n.value=_.value,n;let i=r.filter((_)=>!bt(_));if(i.length===1)return n.value=i[0].value,i[0];return n.issues.push({code:"invalid_union",input:n.value,inst:t,errors:r.map((_)=>_.issues.map((c)=>Xr(c,e,dr())))}),n}function i4(r,n,t,e){let i=r.filter((_)=>_.issues.length===0);if(i.length===1)return n.value=i[0].value,n;if(i.length===0)n.issues.push({code:"invalid_union",input:n.value,inst:t,errors:r.map((_)=>_.issues.map((c)=>Xr(c,e,dr())))});else n.issues.push({code:"invalid_union",input:n.value,inst:t,errors:[],inclusive:!1});return n}function Cd(r,n){if(r===n)return{valid:!0,data:r};if(r instanceof Date&&n instanceof Date&&+r===+n)return{valid:!0,data:r};if(ft(r)&&ft(n)){let t=Object.keys(n),e=Object.keys(r).filter((_)=>t.indexOf(_)!==-1),i={...r,...n};for(let _ of e){let c=Cd(r[_],n[_]);if(!c.valid)return{valid:!1,mergeErrorPath:[_,...c.mergeErrorPath]};i[_]=c.data}return{valid:!0,data:i}}if(Array.isArray(r)&&Array.isArray(n)){if(r.length!==n.length)return{valid:!1,mergeErrorPath:[]};let t=[];for(let e=0;e<r.length;e++){let i=r[e],_=n[e],c=Cd(i,_);if(!c.valid)return{valid:!1,mergeErrorPath:[e,...c.mergeErrorPath]};t.push(c.data)}return{valid:!0,data:t}}return{valid:!1,mergeErrorPath:[]}}function e4(r,n,t){let e=new Map,i;for(let o of n.issues)if(o.code==="unrecognized_keys"){i??(i=o);for(let u of o.keys){if(!e.has(u))e.set(u,{});e.get(u).l=!0}}else r.issues.push(o);for(let o of t.issues)if(o.code==="unrecognized_keys")for(let u of o.keys){if(!e.has(u))e.set(u,{});e.get(u).r=!0}else r.issues.push(o);let _=[...e].filter(([,o])=>o.l&&o.r).map(([o])=>o);if(_.length&&i)r.issues.push({...i,keys:_});if(bt(r))return r;let c=Cd(n.value,t.value);if(!c.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(c.mergeErrorPath)}`);return r.value=c.data,r}function $o(r,n,t){if(r.issues.length)n.issues.push(...sr(t,r.issues));n.value[t]=r.value}function _4(r,n,t,e,i,_,c){if(r.issues.length)if(pe.has(typeof e))t.issues.push(...sr(e,r.issues));else t.issues.push({code:"invalid_key",origin:"map",input:i,inst:_,issues:r.issues.map((o)=>Xr(o,c,dr()))});if(n.issues.length)if(pe.has(typeof e))t.issues.push(...sr(e,n.issues));else t.issues.push({origin:"map",code:"invalid_element",input:i,inst:_,key:e,issues:n.issues.map((o)=>Xr(o,c,dr()))});t.value.set(r.value,n.value)}function c4(r,n){if(r.issues.length)n.issues.push(...r.issues);n.value.add(r.value)}function o4(r,n){if(r.issues.length&&n===void 0)return{issues:[],value:void 0};return r}function u4(r,n){if(r.value===void 0)r.value=n.defaultValue;return r}function $4(r,n){if(!r.issues.length&&r.value===void 0)r.issues.push({code:"invalid_type",expected:"nonoptional",input:r.value,inst:n});return r}function go(r,n,t){if(r.issues.length)return r.aborted=!0,r;return n._zod.run({value:r.value,issues:r.issues},t)}function fo(r,n,t){if(r.issues.length)return r.aborted=!0,r;if((t.direction||"forward")==="forward"){let i=n.transform(r.value,r);if(i instanceof Promise)return i.then((_)=>bo(r,_,n.out,t));return bo(r,i,n.out,t)}else{let i=n.reverseTransform(r.value,r);if(i instanceof Promise)return i.then((_)=>bo(r,_,n.in,t));return bo(r,i,n.in,t)}}function bo(r,n,t,e){if(r.issues.length)return r.aborted=!0,r;return t._zod.run({value:n,issues:r.issues},e)}function g4(r){return r.value=Object.freeze(r.value),r}function d4(r,n,t,e){if(!r){let i={code:"custom",input:t,inst:e,path:[...e._zod.def.path??[]],continue:!e._zod.def.abort};if(e._zod.def.params)i.params=e._zod.def.params;n.issues.push(Ni(i))}}var G,Yt,p,Zd,xd,pd,sd,rf,nf,tf,ef,_f,cf,of,uf,$f,gf,df,ff,bf,wf,mf,If,hf,Uf,Of,Rf,Df,mo,Sf,u_,Io,af,Tf,Ef,lf,qf,Nf,Lf,zf,jf,Wf,I4,Af,$_,Pf,Jf,kf,yo,vf,Mf,Vf,Ff,Gf,Xf,Bf,ho,Hf,Yf,Qf,Kf,Cf,Zf,xf,pf,sf,g_,rb,nb,tb,ib,eb,_b;var cb=a(()=>{oo();Ei();rd();eo();k();Kd();k();G=y("$ZodType",(r,n)=>{var t;r??(r={}),r._zod.def=n,r._zod.bag=r._zod.bag||{},r._zod.version=Qd;let e=[...r._zod.def.checks??[]];if(r._zod.traits.has("$ZodCheck"))e.unshift(r);for(let i of e)for(let _ of i._zod.onattach)_(r);if(e.length===0)(t=r._zod).deferred??(t.deferred=[]),r._zod.deferred?.push(()=>{r._zod.run=r._zod.parse});else{let i=(c,o,u)=>{let $=bt(c),g;for(let d of o){if(d._zod.def.when){if(!d._zod.def.when(c))continue}else if($)continue;let f=c.issues.length,b=d._zod.check(c);if(b instanceof Promise&&u?.async===!1)throw new An;if(g||b instanceof Promise)g=(g??Promise.resolve()).then(async()=>{if(await b,c.issues.length===f)return;if(!$)$=bt(c,f)});else{if(c.issues.length===f)continue;if(!$)$=bt(c,f)}}if(g)return g.then(()=>{return c});return c},_=(c,o,u)=>{if(bt(c))return c.aborted=!0,c;let $=i(o,e,u);if($ instanceof Promise){if(u.async===!1)throw new An;return $.then((g)=>r._zod.parse(g,u))}return r._zod.parse($,u)};r._zod.run=(c,o)=>{if(o.skipChecks)return r._zod.parse(c,o);if(o.direction==="backward"){let $=r._zod.parse({value:c.value,issues:[]},{...o,skipChecks:!0});if($ instanceof Promise)return $.then((g)=>{return _(g,c,o)});return _($,c,o)}let u=r._zod.parse(c,o);if(u instanceof Promise){if(o.async===!1)throw new An;return u.then(($)=>i($,e,o))}return i(u,e,o)}}Y(r,"~standard",()=>({validate:(i)=>{try{let _=pg(r,i);return _.success?{value:_.data}:{issues:_.error?.issues}}catch(_){return sg(r,i).then((c)=>c.success?{value:c.data}:{issues:c.error?.issues})}},vendor:"zod",version:1}))}),Yt=y("$ZodString",(r,n)=>{G.init(r,n),r._zod.pattern=[...r?._zod.bag?.patterns??[]].pop()??Rd(r._zod.bag),r._zod.parse=(t,e)=>{if(n.coerce)try{t.value=String(t.value)}catch(i){}if(typeof t.value==="string")return t;return t.issues.push({expected:"string",code:"invalid_type",input:t.value,inst:r}),t}}),p=y("$ZodStringFormat",(r,n)=>{Ai.init(r,n),Yt.init(r,n)}),Zd=y("$ZodGUID",(r,n)=>{n.pattern??(n.pattern=ud),p.init(r,n)}),xd=y("$ZodUUID",(r,n)=>{if(n.version){let e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[n.version];if(e===void 0)throw Error(`Invalid UUID version: "${n.version}"`);n.pattern??(n.pattern=Ht(e))}else n.pattern??(n.pattern=Ht());p.init(r,n)}),pd=y("$ZodEmail",(r,n)=>{n.pattern??(n.pattern=$d),p.init(r,n)}),sd=y("$ZodURL",(r,n)=>{p.init(r,n),r._zod.check=(t)=>{try{let e=t.value.trim(),i=new URL(e);if(n.hostname){if(n.hostname.lastIndex=0,!n.hostname.test(i.hostname))t.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:n.hostname.source,input:t.value,inst:r,continue:!n.abort})}if(n.protocol){if(n.protocol.lastIndex=0,!n.protocol.test(i.protocol.endsWith(":")?i.protocol.slice(0,-1):i.protocol))t.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:n.protocol.source,input:t.value,inst:r,continue:!n.abort})}if(n.normalize)t.value=i.href;else t.value=e;return}catch(e){t.issues.push({code:"invalid_format",format:"url",input:t.value,inst:r,continue:!n.abort})}}}),rf=y("$ZodEmoji",(r,n)=>{n.pattern??(n.pattern=gd()),p.init(r,n)}),nf=y("$ZodNanoID",(r,n)=>{n.pattern??(n.pattern=cd),p.init(r,n)}),tf=y("$ZodCUID",(r,n)=>{n.pattern??(n.pattern=nd),p.init(r,n)}),ef=y("$ZodCUID2",(r,n)=>{n.pattern??(n.pattern=td),p.init(r,n)}),_f=y("$ZodULID",(r,n)=>{n.pattern??(n.pattern=id),p.init(r,n)}),cf=y("$ZodXID",(r,n)=>{n.pattern??(n.pattern=ed),p.init(r,n)}),of=y("$ZodKSUID",(r,n)=>{n.pattern??(n.pattern=_d),p.init(r,n)}),uf=y("$ZodISODateTime",(r,n)=>{n.pattern??(n.pattern=Od(n)),p.init(r,n)}),$f=y("$ZodISODate",(r,n)=>{n.pattern??(n.pattern=hd),p.init(r,n)}),gf=y("$ZodISOTime",(r,n)=>{n.pattern??(n.pattern=Ud(n)),p.init(r,n)}),df=y("$ZodISODuration",(r,n)=>{n.pattern??(n.pattern=od),p.init(r,n)}),ff=y("$ZodIPv4",(r,n)=>{n.pattern??(n.pattern=dd),p.init(r,n),r._zod.bag.format="ipv4"}),bf=y("$ZodIPv6",(r,n)=>{n.pattern??(n.pattern=fd),p.init(r,n),r._zod.bag.format="ipv6",r._zod.check=(t)=>{try{new URL(`http://[${t.value}]`)}catch{t.issues.push({code:"invalid_format",format:"ipv6",input:t.value,inst:r,continue:!n.abort})}}}),wf=y("$ZodMAC",(r,n)=>{n.pattern??(n.pattern=bd(n.delimiter)),p.init(r,n),r._zod.bag.format="mac"}),mf=y("$ZodCIDRv4",(r,n)=>{n.pattern??(n.pattern=wd),p.init(r,n)}),If=y("$ZodCIDRv6",(r,n)=>{n.pattern??(n.pattern=md),p.init(r,n),r._zod.check=(t)=>{let e=t.value.split("/");try{if(e.length!==2)throw Error();let[i,_]=e;if(!_)throw Error();let c=Number(_);if(`${c}`!==_)throw Error();if(c<0||c>128)throw Error();new URL(`http://[${i}]`)}catch{t.issues.push({code:"invalid_format",format:"cidrv6",input:t.value,inst:r,continue:!n.abort})}}});hf=y("$ZodBase64",(r,n)=>{n.pattern??(n.pattern=Id),p.init(r,n),r._zod.bag.contentEncoding="base64",r._zod.check=(t)=>{if(yf(t.value))return;t.issues.push({code:"invalid_format",format:"base64",input:t.value,inst:r,continue:!n.abort})}});Uf=y("$ZodBase64URL",(r,n)=>{n.pattern??(n.pattern=io),p.init(r,n),r._zod.bag.contentEncoding="base64url",r._zod.check=(t)=>{if(f4(t.value))return;t.issues.push({code:"invalid_format",format:"base64url",input:t.value,inst:r,continue:!n.abort})}}),Of=y("$ZodE164",(r,n)=>{n.pattern??(n.pattern=yd),p.init(r,n)});Rf=y("$ZodJWT",(r,n)=>{p.init(r,n),r._zod.check=(t)=>{if(b4(t.value,n.alg))return;t.issues.push({code:"invalid_format",format:"jwt",input:t.value,inst:r,continue:!n.abort})}}),Df=y("$ZodCustomStringFormat",(r,n)=>{p.init(r,n),r._zod.check=(t)=>{if(n.fn(t.value))return;t.issues.push({code:"invalid_format",format:n.format,input:t.value,inst:r,continue:!n.abort})}}),mo=y("$ZodNumber",(r,n)=>{G.init(r,n),r._zod.pattern=r._zod.bag.pattern??e_,r._zod.parse=(t,e)=>{if(n.coerce)try{t.value=Number(t.value)}catch(c){}let i=t.value;if(typeof i==="number"&&!Number.isNaN(i)&&Number.isFinite(i))return t;let _=typeof i==="number"?Number.isNaN(i)?"NaN":!Number.isFinite(i)?"Infinity":void 0:void 0;return t.issues.push({expected:"number",code:"invalid_type",input:i,inst:r,..._?{received:_}:{}}),t}}),Sf=y("$ZodNumberFormat",(r,n)=>{Ld.init(r,n),mo.init(r,n)}),u_=y("$ZodBoolean",(r,n)=>{G.init(r,n),r._zod.pattern=ad,r._zod.parse=(t,e)=>{if(n.coerce)try{t.value=Boolean(t.value)}catch(_){}let i=t.value;if(typeof i==="boolean")return t;return t.issues.push({expected:"boolean",code:"invalid_type",input:i,inst:r}),t}}),Io=y("$ZodBigInt",(r,n)=>{G.init(r,n),r._zod.pattern=Dd,r._zod.parse=(t,e)=>{if(n.coerce)try{t.value=BigInt(t.value)}catch(i){}if(typeof t.value==="bigint")return t;return t.issues.push({expected:"bigint",code:"invalid_type",input:t.value,inst:r}),t}}),af=y("$ZodBigIntFormat",(r,n)=>{zd.init(r,n),Io.init(r,n)}),Tf=y("$ZodSymbol",(r,n)=>{G.init(r,n),r._zod.parse=(t,e)=>{let i=t.value;if(typeof i==="symbol")return t;return t.issues.push({expected:"symbol",code:"invalid_type",input:i,inst:r}),t}}),Ef=y("$ZodUndefined",(r,n)=>{G.init(r,n),r._zod.pattern=Ed,r._zod.values=new Set([void 0]),r._zod.optin="optional",r._zod.optout="optional",r._zod.parse=(t,e)=>{let i=t.value;if(typeof i>"u")return t;return t.issues.push({expected:"undefined",code:"invalid_type",input:i,inst:r}),t}}),lf=y("$ZodNull",(r,n)=>{G.init(r,n),r._zod.pattern=Td,r._zod.values=new Set([null]),r._zod.parse=(t,e)=>{let i=t.value;if(i===null)return t;return t.issues.push({expected:"null",code:"invalid_type",input:i,inst:r}),t}}),qf=y("$ZodAny",(r,n)=>{G.init(r,n),r._zod.parse=(t)=>t}),Nf=y("$ZodUnknown",(r,n)=>{G.init(r,n),r._zod.parse=(t)=>t}),Lf=y("$ZodNever",(r,n)=>{G.init(r,n),r._zod.parse=(t,e)=>{return t.issues.push({expected:"never",code:"invalid_type",input:t.value,inst:r}),t}}),zf=y("$ZodVoid",(r,n)=>{G.init(r,n),r._zod.parse=(t,e)=>{let i=t.value;if(typeof i>"u")return t;return t.issues.push({expected:"void",code:"invalid_type",input:i,inst:r}),t}}),jf=y("$ZodDate",(r,n)=>{G.init(r,n),r._zod.parse=(t,e)=>{if(n.coerce)try{t.value=new Date(t.value)}catch(o){}let i=t.value,_=i instanceof Date;if(_&&!Number.isNaN(i.getTime()))return t;return t.issues.push({expected:"date",code:"invalid_type",input:i,..._?{received:"Invalid Date"}:{},inst:r}),t}});Wf=y("$ZodArray",(r,n)=>{G.init(r,n),r._zod.parse=(t,e)=>{let i=t.value;if(!Array.isArray(i))return t.issues.push({expected:"array",code:"invalid_type",input:i,inst:r}),t;t.value=Array(i.length);let _=[];for(let c=0;c<i.length;c++){let o=i[c],u=n.element._zod.run({value:o,issues:[]},e);if(u instanceof Promise)_.push(u.then(($)=>n4($,t,c)));else n4(u,t,c)}if(_.length)return Promise.all(_).then(()=>t);return t}});I4=y("$ZodObject",(r,n)=>{if(G.init(r,n),!Object.getOwnPropertyDescriptor(n,"shape")?.get){let o=n.shape;Object.defineProperty(n,"shape",{get:()=>{let u={...o};return Object.defineProperty(n,"shape",{value:u}),u}})}let e=qi(()=>w4(n));Y(r._zod,"propValues",()=>{let o=n.shape,u={};for(let $ in o){let g=o[$]._zod;if(g.values){u[$]??(u[$]=new Set);for(let d of g.values)u[$].add(d)}}return u});let i=Bt,_=n.catchall,c;r._zod.parse=(o,u)=>{c??(c=e.value);let $=o.value;if(!i($))return o.issues.push({expected:"object",code:"invalid_type",input:$,inst:r}),o;o.value={};let g=[],d=c.shape;for(let f of c.keys){let b=d[f],I=b._zod.optout==="optional",w=b._zod.run({value:$[f],issues:[]},u);if(w instanceof Promise)g.push(w.then((h)=>wo(h,o,f,$,I)));else wo(w,o,f,$,I)}if(!_)return g.length?Promise.all(g).then(()=>o):o;return m4(g,$,o,u,e.value,r)}}),Af=y("$ZodObjectJIT",(r,n)=>{I4.init(r,n);let t=r._zod.parse,e=qi(()=>w4(n)),i=(f)=>{let b=new uo(["shape","payload","ctx"]),I=e.value,w=(D)=>{let L=Hc(D);return`shape[${L}]._zod.run({ value: input[${L}], issues: [] }, ctx)`};b.write("const input = payload.value;");let h=Object.create(null),R=0;for(let D of I.keys)h[D]=`key_${R++}`;b.write("const newResult = {};");for(let D of I.keys){let L=h[D],N=Hc(D),K=f[D]?._zod?.optout==="optional";if(b.write(`const ${L} = ${w(D)};`),K)b.write(`
|
|
7
|
+
if (${L}.issues.length) {
|
|
8
|
+
if (${N} in input) {
|
|
9
|
+
payload.issues = payload.issues.concat(${L}.issues.map(iss => ({
|
|
10
|
+
...iss,
|
|
11
|
+
path: iss.path ? [${N}, ...iss.path] : [${N}]
|
|
12
|
+
})));
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
if (${L}.value === undefined) {
|
|
17
|
+
if (${N} in input) {
|
|
18
|
+
newResult[${N}] = undefined;
|
|
19
|
+
}
|
|
20
|
+
} else {
|
|
21
|
+
newResult[${N}] = ${L}.value;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
`);else b.write(`
|
|
25
|
+
if (${L}.issues.length) {
|
|
26
|
+
payload.issues = payload.issues.concat(${L}.issues.map(iss => ({
|
|
27
|
+
...iss,
|
|
28
|
+
path: iss.path ? [${N}, ...iss.path] : [${N}]
|
|
29
|
+
})));
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if (${L}.value === undefined) {
|
|
33
|
+
if (${N} in input) {
|
|
34
|
+
newResult[${N}] = undefined;
|
|
35
|
+
}
|
|
36
|
+
} else {
|
|
37
|
+
newResult[${N}] = ${L}.value;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
`)}b.write("payload.value = newResult;"),b.write("return payload;");let S=b.compile();return(D,L)=>S(f,D,L)},_,c=Bt,o=!Ke.jitless,$=o&&Xg.value,g=n.catchall,d;r._zod.parse=(f,b)=>{d??(d=e.value);let I=f.value;if(!c(I))return f.issues.push({expected:"object",code:"invalid_type",input:I,inst:r}),f;if(o&&$&&b?.async===!1&&b.jitless!==!0){if(!_)_=i(n.shape);if(f=_(f,b),!g)return f;return m4([],I,f,b,d,r)}return t(f,b)}});$_=y("$ZodUnion",(r,n)=>{G.init(r,n),Y(r._zod,"optin",()=>n.options.some((i)=>i._zod.optin==="optional")?"optional":void 0),Y(r._zod,"optout",()=>n.options.some((i)=>i._zod.optout==="optional")?"optional":void 0),Y(r._zod,"values",()=>{if(n.options.every((i)=>i._zod.values))return new Set(n.options.flatMap((i)=>Array.from(i._zod.values)));return}),Y(r._zod,"pattern",()=>{if(n.options.every((i)=>i._zod.pattern)){let i=n.options.map((_)=>_._zod.pattern);return new RegExp(`^(${i.map((_)=>xe(_.source)).join("|")})$`)}return});let t=n.options.length===1,e=n.options[0]._zod.run;r._zod.parse=(i,_)=>{if(t)return e(i,_);let c=!1,o=[];for(let u of n.options){let $=u._zod.run({value:i.value,issues:[]},_);if($ instanceof Promise)o.push($),c=!0;else{if($.issues.length===0)return $;o.push($)}}if(!c)return t4(o,i,r,_);return Promise.all(o).then((u)=>{return t4(u,i,r,_)})}});Pf=y("$ZodXor",(r,n)=>{$_.init(r,n),n.inclusive=!1;let t=n.options.length===1,e=n.options[0]._zod.run;r._zod.parse=(i,_)=>{if(t)return e(i,_);let c=!1,o=[];for(let u of n.options){let $=u._zod.run({value:i.value,issues:[]},_);if($ instanceof Promise)o.push($),c=!0;else o.push($)}if(!c)return i4(o,i,r,_);return Promise.all(o).then((u)=>{return i4(u,i,r,_)})}}),Jf=y("$ZodDiscriminatedUnion",(r,n)=>{n.inclusive=!1,$_.init(r,n);let t=r._zod.parse;Y(r._zod,"propValues",()=>{let i={};for(let _ of n.options){let c=_._zod.propValues;if(!c||Object.keys(c).length===0)throw Error(`Invalid discriminated union option at index "${n.options.indexOf(_)}"`);for(let[o,u]of Object.entries(c)){if(!i[o])i[o]=new Set;for(let $ of u)i[o].add($)}}return i});let e=qi(()=>{let i=n.options,_=new Map;for(let c of i){let o=c._zod.propValues?.[n.discriminator];if(!o||o.size===0)throw Error(`Invalid discriminated union option at index "${n.options.indexOf(c)}"`);for(let u of o){if(_.has(u))throw Error(`Duplicate discriminator value "${String(u)}"`);_.set(u,c)}}return _});r._zod.parse=(i,_)=>{let c=i.value;if(!Bt(c))return i.issues.push({code:"invalid_type",expected:"object",input:c,inst:r}),i;let o=e.value.get(c?.[n.discriminator]);if(o)return o._zod.run(i,_);if(n.unionFallback)return t(i,_);return i.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:n.discriminator,input:c,path:[n.discriminator],inst:r}),i}}),kf=y("$ZodIntersection",(r,n)=>{G.init(r,n),r._zod.parse=(t,e)=>{let i=t.value,_=n.left._zod.run({value:i,issues:[]},e),c=n.right._zod.run({value:i,issues:[]},e);if(_ instanceof Promise||c instanceof Promise)return Promise.all([_,c]).then(([u,$])=>{return e4(t,u,$)});return e4(t,_,c)}});yo=y("$ZodTuple",(r,n)=>{G.init(r,n);let t=n.items;r._zod.parse=(e,i)=>{let _=e.value;if(!Array.isArray(_))return e.issues.push({input:_,inst:r,expected:"tuple",code:"invalid_type"}),e;e.value=[];let c=[],o=[...t].reverse().findIndex((g)=>g._zod.optin!=="optional"),u=o===-1?0:t.length-o;if(!n.rest){let g=_.length>t.length,d=_.length<u-1;if(g||d)return e.issues.push({...g?{code:"too_big",maximum:t.length,inclusive:!0}:{code:"too_small",minimum:t.length},input:_,inst:r,origin:"array"}),e}let $=-1;for(let g of t){if($++,$>=_.length){if($>=u)continue}let d=g._zod.run({value:_[$],issues:[]},i);if(d instanceof Promise)c.push(d.then((f)=>$o(f,e,$)));else $o(d,e,$)}if(n.rest){let g=_.slice(t.length);for(let d of g){$++;let f=n.rest._zod.run({value:d,issues:[]},i);if(f instanceof Promise)c.push(f.then((b)=>$o(b,e,$)));else $o(f,e,$)}}if(c.length)return Promise.all(c).then(()=>e);return e}});vf=y("$ZodRecord",(r,n)=>{G.init(r,n),r._zod.parse=(t,e)=>{let i=t.value;if(!ft(i))return t.issues.push({expected:"record",code:"invalid_type",input:i,inst:r}),t;let _=[],c=n.keyType._zod.values;if(c){t.value={};let o=new Set;for(let $ of c)if(typeof $==="string"||typeof $==="number"||typeof $==="symbol"){o.add(typeof $==="number"?$.toString():$);let g=n.valueType._zod.run({value:i[$],issues:[]},e);if(g instanceof Promise)_.push(g.then((d)=>{if(d.issues.length)t.issues.push(...sr($,d.issues));t.value[$]=d.value}));else{if(g.issues.length)t.issues.push(...sr($,g.issues));t.value[$]=g.value}}let u;for(let $ in i)if(!o.has($))u=u??[],u.push($);if(u&&u.length>0)t.issues.push({code:"unrecognized_keys",input:i,inst:r,keys:u})}else{t.value={};for(let o of Reflect.ownKeys(i)){if(o==="__proto__")continue;let u=n.keyType._zod.run({value:o,issues:[]},e);if(u instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof o==="string"&&e_.test(o)&&u.issues.length){let d=n.keyType._zod.run({value:Number(o),issues:[]},e);if(d instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(d.issues.length===0)u=d}if(u.issues.length){if(n.mode==="loose")t.value[o]=i[o];else t.issues.push({code:"invalid_key",origin:"record",issues:u.issues.map((d)=>Xr(d,e,dr())),input:o,path:[o],inst:r});continue}let g=n.valueType._zod.run({value:i[o],issues:[]},e);if(g instanceof Promise)_.push(g.then((d)=>{if(d.issues.length)t.issues.push(...sr(o,d.issues));t.value[u.value]=d.value}));else{if(g.issues.length)t.issues.push(...sr(o,g.issues));t.value[u.value]=g.value}}}if(_.length)return Promise.all(_).then(()=>t);return t}}),Mf=y("$ZodMap",(r,n)=>{G.init(r,n),r._zod.parse=(t,e)=>{let i=t.value;if(!(i instanceof Map))return t.issues.push({expected:"map",code:"invalid_type",input:i,inst:r}),t;let _=[];t.value=new Map;for(let[c,o]of i){let u=n.keyType._zod.run({value:c,issues:[]},e),$=n.valueType._zod.run({value:o,issues:[]},e);if(u instanceof Promise||$ instanceof Promise)_.push(Promise.all([u,$]).then(([g,d])=>{_4(g,d,t,c,i,r,e)}));else _4(u,$,t,c,i,r,e)}if(_.length)return Promise.all(_).then(()=>t);return t}});Vf=y("$ZodSet",(r,n)=>{G.init(r,n),r._zod.parse=(t,e)=>{let i=t.value;if(!(i instanceof Set))return t.issues.push({input:i,inst:r,expected:"set",code:"invalid_type"}),t;let _=[];t.value=new Set;for(let c of i){let o=n.valueType._zod.run({value:c,issues:[]},e);if(o instanceof Promise)_.push(o.then((u)=>c4(u,t)));else c4(o,t)}if(_.length)return Promise.all(_).then(()=>t);return t}});Ff=y("$ZodEnum",(r,n)=>{G.init(r,n);let t=Ze(n.entries),e=new Set(t);r._zod.values=e,r._zod.pattern=new RegExp(`^(${t.filter((i)=>pe.has(typeof i)).map((i)=>typeof i==="string"?$n(i):i.toString()).join("|")})$`),r._zod.parse=(i,_)=>{let c=i.value;if(e.has(c))return i;return i.issues.push({code:"invalid_value",values:t,input:c,inst:r}),i}}),Gf=y("$ZodLiteral",(r,n)=>{if(G.init(r,n),n.values.length===0)throw Error("Cannot create literal schema with no valid values");let t=new Set(n.values);r._zod.values=t,r._zod.pattern=new RegExp(`^(${n.values.map((e)=>typeof e==="string"?$n(e):e?$n(e.toString()):String(e)).join("|")})$`),r._zod.parse=(e,i)=>{let _=e.value;if(t.has(_))return e;return e.issues.push({code:"invalid_value",values:n.values,input:_,inst:r}),e}}),Xf=y("$ZodFile",(r,n)=>{G.init(r,n),r._zod.parse=(t,e)=>{let i=t.value;if(i instanceof File)return t;return t.issues.push({expected:"file",code:"invalid_type",input:i,inst:r}),t}}),Bf=y("$ZodTransform",(r,n)=>{G.init(r,n),r._zod.parse=(t,e)=>{if(e.direction==="backward")throw new Xt(r.constructor.name);let i=n.transform(t.value,t);if(e.async)return(i instanceof Promise?i:Promise.resolve(i)).then((c)=>{return t.value=c,t});if(i instanceof Promise)throw new An;return t.value=i,t}});ho=y("$ZodOptional",(r,n)=>{G.init(r,n),r._zod.optin="optional",r._zod.optout="optional",Y(r._zod,"values",()=>{return n.innerType._zod.values?new Set([...n.innerType._zod.values,void 0]):void 0}),Y(r._zod,"pattern",()=>{let t=n.innerType._zod.pattern;return t?new RegExp(`^(${xe(t.source)})?$`):void 0}),r._zod.parse=(t,e)=>{if(n.innerType._zod.optin==="optional"){let i=n.innerType._zod.run(t,e);if(i instanceof Promise)return i.then((_)=>o4(_,t.value));return o4(i,t.value)}if(t.value===void 0)return t;return n.innerType._zod.run(t,e)}}),Hf=y("$ZodExactOptional",(r,n)=>{ho.init(r,n),Y(r._zod,"values",()=>n.innerType._zod.values),Y(r._zod,"pattern",()=>n.innerType._zod.pattern),r._zod.parse=(t,e)=>{return n.innerType._zod.run(t,e)}}),Yf=y("$ZodNullable",(r,n)=>{G.init(r,n),Y(r._zod,"optin",()=>n.innerType._zod.optin),Y(r._zod,"optout",()=>n.innerType._zod.optout),Y(r._zod,"pattern",()=>{let t=n.innerType._zod.pattern;return t?new RegExp(`^(${xe(t.source)}|null)$`):void 0}),Y(r._zod,"values",()=>{return n.innerType._zod.values?new Set([...n.innerType._zod.values,null]):void 0}),r._zod.parse=(t,e)=>{if(t.value===null)return t;return n.innerType._zod.run(t,e)}}),Qf=y("$ZodDefault",(r,n)=>{G.init(r,n),r._zod.optin="optional",Y(r._zod,"values",()=>n.innerType._zod.values),r._zod.parse=(t,e)=>{if(e.direction==="backward")return n.innerType._zod.run(t,e);if(t.value===void 0)return t.value=n.defaultValue,t;let i=n.innerType._zod.run(t,e);if(i instanceof Promise)return i.then((_)=>u4(_,n));return u4(i,n)}});Kf=y("$ZodPrefault",(r,n)=>{G.init(r,n),r._zod.optin="optional",Y(r._zod,"values",()=>n.innerType._zod.values),r._zod.parse=(t,e)=>{if(e.direction==="backward")return n.innerType._zod.run(t,e);if(t.value===void 0)t.value=n.defaultValue;return n.innerType._zod.run(t,e)}}),Cf=y("$ZodNonOptional",(r,n)=>{G.init(r,n),Y(r._zod,"values",()=>{let t=n.innerType._zod.values;return t?new Set([...t].filter((e)=>e!==void 0)):void 0}),r._zod.parse=(t,e)=>{let i=n.innerType._zod.run(t,e);if(i instanceof Promise)return i.then((_)=>$4(_,r));return $4(i,r)}});Zf=y("$ZodSuccess",(r,n)=>{G.init(r,n),r._zod.parse=(t,e)=>{if(e.direction==="backward")throw new Xt("ZodSuccess");let i=n.innerType._zod.run(t,e);if(i instanceof Promise)return i.then((_)=>{return t.value=_.issues.length===0,t});return t.value=i.issues.length===0,t}}),xf=y("$ZodCatch",(r,n)=>{G.init(r,n),Y(r._zod,"optin",()=>n.innerType._zod.optin),Y(r._zod,"optout",()=>n.innerType._zod.optout),Y(r._zod,"values",()=>n.innerType._zod.values),r._zod.parse=(t,e)=>{if(e.direction==="backward")return n.innerType._zod.run(t,e);let i=n.innerType._zod.run(t,e);if(i instanceof Promise)return i.then((_)=>{if(t.value=_.value,_.issues.length)t.value=n.catchValue({...t,error:{issues:_.issues.map((c)=>Xr(c,e,dr()))},input:t.value}),t.issues=[];return t});if(t.value=i.value,i.issues.length)t.value=n.catchValue({...t,error:{issues:i.issues.map((_)=>Xr(_,e,dr()))},input:t.value}),t.issues=[];return t}}),pf=y("$ZodNaN",(r,n)=>{G.init(r,n),r._zod.parse=(t,e)=>{if(typeof t.value!=="number"||!Number.isNaN(t.value))return t.issues.push({input:t.value,inst:r,expected:"nan",code:"invalid_type"}),t;return t}}),sf=y("$ZodPipe",(r,n)=>{G.init(r,n),Y(r._zod,"values",()=>n.in._zod.values),Y(r._zod,"optin",()=>n.in._zod.optin),Y(r._zod,"optout",()=>n.out._zod.optout),Y(r._zod,"propValues",()=>n.in._zod.propValues),r._zod.parse=(t,e)=>{if(e.direction==="backward"){let _=n.out._zod.run(t,e);if(_ instanceof Promise)return _.then((c)=>go(c,n.in,e));return go(_,n.in,e)}let i=n.in._zod.run(t,e);if(i instanceof Promise)return i.then((_)=>go(_,n.out,e));return go(i,n.out,e)}});g_=y("$ZodCodec",(r,n)=>{G.init(r,n),Y(r._zod,"values",()=>n.in._zod.values),Y(r._zod,"optin",()=>n.in._zod.optin),Y(r._zod,"optout",()=>n.out._zod.optout),Y(r._zod,"propValues",()=>n.in._zod.propValues),r._zod.parse=(t,e)=>{if((e.direction||"forward")==="forward"){let _=n.in._zod.run(t,e);if(_ instanceof Promise)return _.then((c)=>fo(c,n,e));return fo(_,n,e)}else{let _=n.out._zod.run(t,e);if(_ instanceof Promise)return _.then((c)=>fo(c,n,e));return fo(_,n,e)}}});rb=y("$ZodReadonly",(r,n)=>{G.init(r,n),Y(r._zod,"propValues",()=>n.innerType._zod.propValues),Y(r._zod,"values",()=>n.innerType._zod.values),Y(r._zod,"optin",()=>n.innerType?._zod?.optin),Y(r._zod,"optout",()=>n.innerType?._zod?.optout),r._zod.parse=(t,e)=>{if(e.direction==="backward")return n.innerType._zod.run(t,e);let i=n.innerType._zod.run(t,e);if(i instanceof Promise)return i.then(g4);return g4(i)}});nb=y("$ZodTemplateLiteral",(r,n)=>{G.init(r,n);let t=[];for(let e of n.parts)if(typeof e==="object"&&e!==null){if(!e._zod.pattern)throw Error(`Invalid template literal part, no pattern found: ${[...e._zod.traits].shift()}`);let i=e._zod.pattern instanceof RegExp?e._zod.pattern.source:e._zod.pattern;if(!i)throw Error(`Invalid template literal part: ${e._zod.traits}`);let _=i.startsWith("^")?1:0,c=i.endsWith("$")?i.length-1:i.length;t.push(i.slice(_,c))}else if(e===null||Hg.has(typeof e))t.push($n(`${e}`));else throw Error(`Invalid template literal part: ${e}`);r._zod.pattern=new RegExp(`^${t.join("")}$`),r._zod.parse=(e,i)=>{if(typeof e.value!=="string")return e.issues.push({input:e.value,inst:r,expected:"string",code:"invalid_type"}),e;if(r._zod.pattern.lastIndex=0,!r._zod.pattern.test(e.value))return e.issues.push({input:e.value,inst:r,code:"invalid_format",format:n.format??"template_literal",pattern:r._zod.pattern.source}),e;return e}}),tb=y("$ZodFunction",(r,n)=>{return G.init(r,n),r._def=n,r._zod.def=n,r.implement=(t)=>{if(typeof t!=="function")throw Error("implement() must be called with a function");return function(...e){let i=r._def.input?Qc(r._def.input,e):e,_=Reflect.apply(t,this,i);if(r._def.output)return Qc(r._def.output,_);return _}},r.implementAsync=(t)=>{if(typeof t!=="function")throw Error("implementAsync() must be called with a function");return async function(...e){let i=r._def.input?await Kc(r._def.input,e):e,_=await Reflect.apply(t,this,i);if(r._def.output)return await Kc(r._def.output,_);return _}},r._zod.parse=(t,e)=>{if(typeof t.value!=="function")return t.issues.push({code:"invalid_type",expected:"function",input:t.value,inst:r}),t;if(r._def.output&&r._def.output._zod.def.type==="promise")t.value=r.implementAsync(t.value);else t.value=r.implement(t.value);return t},r.input=(...t)=>{let e=r.constructor;if(Array.isArray(t[0]))return new e({type:"function",input:new yo({type:"tuple",items:t[0],rest:t[1]}),output:r._def.output});return new e({type:"function",input:t[0],output:r._def.output})},r.output=(t)=>{return new r.constructor({type:"function",input:r._def.input,output:t})},r}),ib=y("$ZodPromise",(r,n)=>{G.init(r,n),r._zod.parse=(t,e)=>{return Promise.resolve(t.value).then((i)=>n.innerType._zod.run({value:i,issues:[]},e))}}),eb=y("$ZodLazy",(r,n)=>{G.init(r,n),Y(r._zod,"innerType",()=>n.getter()),Y(r._zod,"pattern",()=>r._zod.innerType?._zod?.pattern),Y(r._zod,"propValues",()=>r._zod.innerType?._zod?.propValues),Y(r._zod,"optin",()=>r._zod.innerType?._zod?.optin??void 0),Y(r._zod,"optout",()=>r._zod.innerType?._zod?.optout??void 0),r._zod.parse=(t,e)=>{return r._zod.innerType._zod.run(t,e)}}),_b=y("$ZodCustom",(r,n)=>{nr.init(r,n),G.init(r,n),r._zod.parse=(t,e)=>{return t},r._zod.check=(t)=>{let e=t.value,i=n.fn(e);if(i instanceof Promise)return i.then((_)=>d4(_,t,e,r));d4(i,t,e,r);return}})});function ob(){return{localeError:oq()}}var oq=()=>{let r={string:{unit:"\u062D\u0631\u0641",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"},file:{unit:"\u0628\u0627\u064A\u062A",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"},array:{unit:"\u0639\u0646\u0635\u0631",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"},set:{unit:"\u0639\u0646\u0635\u0631",verb:"\u0623\u0646 \u064A\u062D\u0648\u064A"}};function n(i){return r[i]??null}let t={regex:"\u0645\u062F\u062E\u0644",email:"\u0628\u0631\u064A\u062F \u0625\u0644\u0643\u062A\u0631\u0648\u0646\u064A",url:"\u0631\u0627\u0628\u0637",emoji:"\u0625\u064A\u0645\u0648\u062C\u064A",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u062A\u0627\u0631\u064A\u062E \u0648\u0648\u0642\u062A \u0628\u0645\u0639\u064A\u0627\u0631 ISO",date:"\u062A\u0627\u0631\u064A\u062E \u0628\u0645\u0639\u064A\u0627\u0631 ISO",time:"\u0648\u0642\u062A \u0628\u0645\u0639\u064A\u0627\u0631 ISO",duration:"\u0645\u062F\u0629 \u0628\u0645\u0639\u064A\u0627\u0631 ISO",ipv4:"\u0639\u0646\u0648\u0627\u0646 IPv4",ipv6:"\u0639\u0646\u0648\u0627\u0646 IPv6",cidrv4:"\u0645\u062F\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 \u0628\u0635\u064A\u063A\u0629 IPv4",cidrv6:"\u0645\u062F\u0649 \u0639\u0646\u0627\u0648\u064A\u0646 \u0628\u0635\u064A\u063A\u0629 IPv6",base64:"\u0646\u064E\u0635 \u0628\u062A\u0631\u0645\u064A\u0632 base64-encoded",base64url:"\u0646\u064E\u0635 \u0628\u062A\u0631\u0645\u064A\u0632 base64url-encoded",json_string:"\u0646\u064E\u0635 \u0639\u0644\u0649 \u0647\u064A\u0626\u0629 JSON",e164:"\u0631\u0642\u0645 \u0647\u0627\u062A\u0641 \u0628\u0645\u0639\u064A\u0627\u0631 E.164",jwt:"JWT",template_literal:"\u0645\u062F\u062E\u0644"},e={nan:"NaN"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 instanceof ${i.expected}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${o}`;return`\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 ${_}\u060C \u0648\u0644\u0643\u0646 \u062A\u0645 \u0625\u062F\u062E\u0627\u0644 ${o}`}case"invalid_value":if(i.values.length===1)return`\u0645\u062F\u062E\u0644\u0627\u062A \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644\u0629: \u064A\u0641\u062A\u0631\u0636 \u0625\u062F\u062E\u0627\u0644 ${T(i.values[0])}`;return`\u0627\u062E\u062A\u064A\u0627\u0631 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062A\u0648\u0642\u0639 \u0627\u0646\u062A\u0642\u0627\u0621 \u0623\u062D\u062F \u0647\u0630\u0647 \u0627\u0644\u062E\u064A\u0627\u0631\u0627\u062A: ${U(i.values,"|")}`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c)return` \u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${i.origin??"\u0627\u0644\u0642\u064A\u0645\u0629"} ${_} ${i.maximum.toString()} ${c.unit??"\u0639\u0646\u0635\u0631"}`;return`\u0623\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0623\u0646 \u062A\u0643\u0648\u0646 ${i.origin??"\u0627\u0644\u0642\u064A\u0645\u0629"} ${_} ${i.maximum.toString()}`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c)return`\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${i.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${_} ${i.minimum.toString()} ${c.unit}`;return`\u0623\u0635\u063A\u0631 \u0645\u0646 \u0627\u0644\u0644\u0627\u0632\u0645: \u064A\u0641\u062A\u0631\u0636 \u0644\u0640 ${i.origin} \u0623\u0646 \u064A\u0643\u0648\u0646 ${_} ${i.minimum.toString()}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0628\u062F\u0623 \u0628\u0640 "${i.prefix}"`;if(_.format==="ends_with")return`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0646\u062A\u0647\u064A \u0628\u0640 "${_.suffix}"`;if(_.format==="includes")return`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u062A\u0636\u0645\u0651\u064E\u0646 "${_.includes}"`;if(_.format==="regex")return`\u0646\u064E\u0635 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0637\u0627\u0628\u0642 \u0627\u0644\u0646\u0645\u0637 ${_.pattern}`;return`${t[_.format]??i.format} \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644`}case"not_multiple_of":return`\u0631\u0642\u0645 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644: \u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 \u0645\u0646 \u0645\u0636\u0627\u0639\u0641\u0627\u062A ${i.divisor}`;case"unrecognized_keys":return`\u0645\u0639\u0631\u0641${i.keys.length>1?"\u0627\u062A":""} \u063A\u0631\u064A\u0628${i.keys.length>1?"\u0629":""}: ${U(i.keys,"\u060C ")}`;case"invalid_key":return`\u0645\u0639\u0631\u0641 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${i.origin}`;case"invalid_union":return"\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644";case"invalid_element":return`\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644 \u0641\u064A ${i.origin}`;default:return"\u0645\u062F\u062E\u0644 \u063A\u064A\u0631 \u0645\u0642\u0628\u0648\u0644"}}};var y4=a(()=>{k()});function ub(){return{localeError:uq()}}var uq=()=>{let r={string:{unit:"simvol",verb:"olmal\u0131d\u0131r"},file:{unit:"bayt",verb:"olmal\u0131d\u0131r"},array:{unit:"element",verb:"olmal\u0131d\u0131r"},set:{unit:"element",verb:"olmal\u0131d\u0131r"}};function n(i){return r[i]??null}let t={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"},e={nan:"NaN"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n instanceof ${i.expected}, daxil olan ${o}`;return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${_}, daxil olan ${o}`}case"invalid_value":if(i.values.length===1)return`Yanl\u0131\u015F d\u0259y\u0259r: g\xF6zl\u0259nil\u0259n ${T(i.values[0])}`;return`Yanl\u0131\u015F se\xE7im: a\u015Fa\u011F\u0131dak\u0131lardan biri olmal\u0131d\u0131r: ${U(i.values,"|")}`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c)return`\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${i.origin??"d\u0259y\u0259r"} ${_}${i.maximum.toString()} ${c.unit??"element"}`;return`\xC7ox b\xF6y\xFCk: g\xF6zl\u0259nil\u0259n ${i.origin??"d\u0259y\u0259r"} ${_}${i.maximum.toString()}`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c)return`\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${i.origin} ${_}${i.minimum.toString()} ${c.unit}`;return`\xC7ox ki\xE7ik: g\xF6zl\u0259nil\u0259n ${i.origin} ${_}${i.minimum.toString()}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`Yanl\u0131\u015F m\u0259tn: "${_.prefix}" il\u0259 ba\u015Flamal\u0131d\u0131r`;if(_.format==="ends_with")return`Yanl\u0131\u015F m\u0259tn: "${_.suffix}" il\u0259 bitm\u0259lidir`;if(_.format==="includes")return`Yanl\u0131\u015F m\u0259tn: "${_.includes}" daxil olmal\u0131d\u0131r`;if(_.format==="regex")return`Yanl\u0131\u015F m\u0259tn: ${_.pattern} \u015Fablonuna uy\u011Fun olmal\u0131d\u0131r`;return`Yanl\u0131\u015F ${t[_.format]??i.format}`}case"not_multiple_of":return`Yanl\u0131\u015F \u0259d\u0259d: ${i.divisor} il\u0259 b\xF6l\xFCn\u0259 bil\u0259n olmal\u0131d\u0131r`;case"unrecognized_keys":return`Tan\u0131nmayan a\xE7ar${i.keys.length>1?"lar":""}: ${U(i.keys,", ")}`;case"invalid_key":return`${i.origin} daxilind\u0259 yanl\u0131\u015F a\xE7ar`;case"invalid_union":return"Yanl\u0131\u015F d\u0259y\u0259r";case"invalid_element":return`${i.origin} daxilind\u0259 yanl\u0131\u015F d\u0259y\u0259r`;default:return"Yanl\u0131\u015F d\u0259y\u0259r"}}};var h4=a(()=>{k()});function U4(r,n,t,e){let i=Math.abs(r),_=i%10,c=i%100;if(c>=11&&c<=19)return e;if(_===1)return n;if(_>=2&&_<=4)return t;return e}function $b(){return{localeError:$q()}}var $q=()=>{let r={string:{unit:{one:"\u0441\u0456\u043C\u0432\u0430\u043B",few:"\u0441\u0456\u043C\u0432\u0430\u043B\u044B",many:"\u0441\u0456\u043C\u0432\u0430\u043B\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"},array:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"},set:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"},file:{unit:{one:"\u0431\u0430\u0439\u0442",few:"\u0431\u0430\u0439\u0442\u044B",many:"\u0431\u0430\u0439\u0442\u0430\u045E"},verb:"\u043C\u0435\u0446\u044C"}};function n(i){return r[i]??null}let t={regex:"\u0443\u0432\u043E\u0434",email:"email \u0430\u0434\u0440\u0430\u0441",url:"URL",emoji:"\u044D\u043C\u043E\u0434\u0437\u0456",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0434\u0430\u0442\u0430 \u0456 \u0447\u0430\u0441",date:"ISO \u0434\u0430\u0442\u0430",time:"ISO \u0447\u0430\u0441",duration:"ISO \u043F\u0440\u0430\u0446\u044F\u0433\u043B\u0430\u0441\u0446\u044C",ipv4:"IPv4 \u0430\u0434\u0440\u0430\u0441",ipv6:"IPv6 \u0430\u0434\u0440\u0430\u0441",cidrv4:"IPv4 \u0434\u044B\u044F\u043F\u0430\u0437\u043E\u043D",cidrv6:"IPv6 \u0434\u044B\u044F\u043F\u0430\u0437\u043E\u043D",base64:"\u0440\u0430\u0434\u043E\u043A \u0443 \u0444\u0430\u0440\u043C\u0430\u0446\u0435 base64",base64url:"\u0440\u0430\u0434\u043E\u043A \u0443 \u0444\u0430\u0440\u043C\u0430\u0446\u0435 base64url",json_string:"JSON \u0440\u0430\u0434\u043E\u043A",e164:"\u043D\u0443\u043C\u0430\u0440 E.164",jwt:"JWT",template_literal:"\u0443\u0432\u043E\u0434"},e={nan:"NaN",number:"\u043B\u0456\u043A",array:"\u043C\u0430\u0441\u0456\u045E"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F instanceof ${i.expected}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${o}`;return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u045E\u0441\u044F ${_}, \u0430\u0442\u0440\u044B\u043C\u0430\u043D\u0430 ${o}`}case"invalid_value":if(i.values.length===1)return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F ${T(i.values[0])}`;return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0432\u0430\u0440\u044B\u044F\u043D\u0442: \u0447\u0430\u043A\u0430\u045E\u0441\u044F \u0430\u0434\u0437\u0456\u043D \u0437 ${U(i.values,"|")}`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c){let o=Number(i.maximum),u=U4(o,c.unit.one,c.unit.few,c.unit.many);return`\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u0432\u044F\u043B\u0456\u043A\u0456: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${i.origin??"\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${c.verb} ${_}${i.maximum.toString()} ${u}`}return`\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u0432\u044F\u043B\u0456\u043A\u0456: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${i.origin??"\u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435"} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${_}${i.maximum.toString()}`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c){let o=Number(i.minimum),u=U4(o,c.unit.one,c.unit.few,c.unit.many);return`\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${i.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 ${c.verb} ${_}${i.minimum.toString()} ${u}`}return`\u0417\u0430\u043D\u0430\u0434\u0442\u0430 \u043C\u0430\u043B\u044B: \u0447\u0430\u043A\u0430\u043B\u0430\u0441\u044F, \u0448\u0442\u043E ${i.origin} \u043F\u0430\u0432\u0456\u043D\u043D\u0430 \u0431\u044B\u0446\u044C ${_}${i.minimum.toString()}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u043F\u0430\u0447\u044B\u043D\u0430\u0446\u0446\u0430 \u0437 "${_.prefix}"`;if(_.format==="ends_with")return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0437\u0430\u043A\u0430\u043D\u0447\u0432\u0430\u0446\u0446\u0430 \u043D\u0430 "${_.suffix}"`;if(_.format==="includes")return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0437\u043C\u044F\u0448\u0447\u0430\u0446\u044C "${_.includes}"`;if(_.format==="regex")return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u0440\u0430\u0434\u043E\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0430\u0434\u043F\u0430\u0432\u044F\u0434\u0430\u0446\u044C \u0448\u0430\u0431\u043B\u043E\u043D\u0443 ${_.pattern}`;return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B ${t[_.format]??i.format}`}case"not_multiple_of":return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u043B\u0456\u043A: \u043F\u0430\u0432\u0456\u043D\u0435\u043D \u0431\u044B\u0446\u044C \u043A\u0440\u0430\u0442\u043D\u044B\u043C ${i.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0441\u043F\u0430\u0437\u043D\u0430\u043D\u044B ${i.keys.length>1?"\u043A\u043B\u044E\u0447\u044B":"\u043A\u043B\u044E\u0447"}: ${U(i.keys,", ")}`;case"invalid_key":return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u043A\u043B\u044E\u0447 \u0443 ${i.origin}`;case"invalid_union":return"\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434";case"invalid_element":return`\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u0430\u0435 \u0437\u043D\u0430\u0447\u044D\u043D\u043D\u0435 \u045E ${i.origin}`;default:return"\u041D\u044F\u043F\u0440\u0430\u0432\u0456\u043B\u044C\u043D\u044B \u045E\u0432\u043E\u0434"}}};var O4=a(()=>{k()});function gb(){return{localeError:gq()}}var gq=()=>{let r={string:{unit:"\u0441\u0438\u043C\u0432\u043E\u043B\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"},file:{unit:"\u0431\u0430\u0439\u0442\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"},array:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"},set:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430",verb:"\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430"}};function n(i){return r[i]??null}let t={regex:"\u0432\u0445\u043E\u0434",email:"\u0438\u043C\u0435\u0439\u043B \u0430\u0434\u0440\u0435\u0441",url:"URL",emoji:"\u0435\u043C\u043E\u0434\u0436\u0438",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0432\u0440\u0435\u043C\u0435",date:"ISO \u0434\u0430\u0442\u0430",time:"ISO \u0432\u0440\u0435\u043C\u0435",duration:"ISO \u043F\u0440\u043E\u0434\u044A\u043B\u0436\u0438\u0442\u0435\u043B\u043D\u043E\u0441\u0442",ipv4:"IPv4 \u0430\u0434\u0440\u0435\u0441",ipv6:"IPv6 \u0430\u0434\u0440\u0435\u0441",cidrv4:"IPv4 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",cidrv6:"IPv6 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",base64:"base64-\u043A\u043E\u0434\u0438\u0440\u0430\u043D \u043D\u0438\u0437",base64url:"base64url-\u043A\u043E\u0434\u0438\u0440\u0430\u043D \u043D\u0438\u0437",json_string:"JSON \u043D\u0438\u0437",e164:"E.164 \u043D\u043E\u043C\u0435\u0440",jwt:"JWT",template_literal:"\u0432\u0445\u043E\u0434"},e={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0438\u0432"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D instanceof ${i.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${o}`;return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${_}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D ${o}`}case"invalid_value":if(i.values.length===1)return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434: \u043E\u0447\u0430\u043A\u0432\u0430\u043D ${T(i.values[0])}`;return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u043E\u043F\u0446\u0438\u044F: \u043E\u0447\u0430\u043A\u0432\u0430\u043D\u043E \u0435\u0434\u043D\u043E \u043E\u0442 ${U(i.values,"|")}`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c)return`\u0422\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${i.origin??"\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442"} \u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430 ${_}${i.maximum.toString()} ${c.unit??"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430"}`;return`\u0422\u0432\u044A\u0440\u0434\u0435 \u0433\u043E\u043B\u044F\u043C\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${i.origin??"\u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442"} \u0434\u0430 \u0431\u044A\u0434\u0435 ${_}${i.maximum.toString()}`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c)return`\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u0430\u043B\u043A\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${i.origin} \u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430 ${_}${i.minimum.toString()} ${c.unit}`;return`\u0422\u0432\u044A\u0440\u0434\u0435 \u043C\u0430\u043B\u043A\u043E: \u043E\u0447\u0430\u043A\u0432\u0430 \u0441\u0435 ${i.origin} \u0434\u0430 \u0431\u044A\u0434\u0435 ${_}${i.minimum.toString()}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0437\u0430\u043F\u043E\u0447\u0432\u0430 \u0441 "${_.prefix}"`;if(_.format==="ends_with")return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0437\u0430\u0432\u044A\u0440\u0448\u0432\u0430 \u0441 "${_.suffix}"`;if(_.format==="includes")return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0432\u043A\u043B\u044E\u0447\u0432\u0430 "${_.includes}"`;if(_.format==="regex")return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043D\u0438\u0437: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0441\u044A\u0432\u043F\u0430\u0434\u0430 \u0441 ${_.pattern}`;let c="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D";if(_.format==="emoji")c="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(_.format==="datetime")c="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(_.format==="date")c="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430";if(_.format==="time")c="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E";if(_.format==="duration")c="\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430";return`${c} ${t[_.format]??i.format}`}case"not_multiple_of":return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u043E \u0447\u0438\u0441\u043B\u043E: \u0442\u0440\u044F\u0431\u0432\u0430 \u0434\u0430 \u0431\u044A\u0434\u0435 \u043A\u0440\u0430\u0442\u043D\u043E \u043D\u0430 ${i.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0437\u043F\u043E\u0437\u043D\u0430\u0442${i.keys.length>1?"\u0438":""} \u043A\u043B\u044E\u0447${i.keys.length>1?"\u043E\u0432\u0435":""}: ${U(i.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u043A\u043B\u044E\u0447 \u0432 ${i.origin}`;case"invalid_union":return"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434";case"invalid_element":return`\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u043D\u0430 \u0441\u0442\u043E\u0439\u043D\u043E\u0441\u0442 \u0432 ${i.origin}`;default:return"\u041D\u0435\u0432\u0430\u043B\u0438\u0434\u0435\u043D \u0432\u0445\u043E\u0434"}}};var R4=a(()=>{k()});function db(){return{localeError:dq()}}var dq=()=>{let r={string:{unit:"car\xE0cters",verb:"contenir"},file:{unit:"bytes",verb:"contenir"},array:{unit:"elements",verb:"contenir"},set:{unit:"elements",verb:"contenir"}};function n(i){return r[i]??null}let t={regex:"entrada",email:"adre\xE7a electr\xF2nica",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\xE7a IPv4",ipv6:"adre\xE7a IPv6",cidrv4:"rang IPv4",cidrv6:"rang IPv6",base64:"cadena codificada en base64",base64url:"cadena codificada en base64url",json_string:"cadena JSON",e164:"n\xFAmero E.164",jwt:"JWT",template_literal:"entrada"},e={nan:"NaN"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`Tipus inv\xE0lid: s'esperava instanceof ${i.expected}, s'ha rebut ${o}`;return`Tipus inv\xE0lid: s'esperava ${_}, s'ha rebut ${o}`}case"invalid_value":if(i.values.length===1)return`Valor inv\xE0lid: s'esperava ${T(i.values[0])}`;return`Opci\xF3 inv\xE0lida: s'esperava una de ${U(i.values," o ")}`;case"too_big":{let _=i.inclusive?"com a m\xE0xim":"menys de",c=n(i.origin);if(c)return`Massa gran: s'esperava que ${i.origin??"el valor"} contingu\xE9s ${_} ${i.maximum.toString()} ${c.unit??"elements"}`;return`Massa gran: s'esperava que ${i.origin??"el valor"} fos ${_} ${i.maximum.toString()}`}case"too_small":{let _=i.inclusive?"com a m\xEDnim":"m\xE9s de",c=n(i.origin);if(c)return`Massa petit: s'esperava que ${i.origin} contingu\xE9s ${_} ${i.minimum.toString()} ${c.unit}`;return`Massa petit: s'esperava que ${i.origin} fos ${_} ${i.minimum.toString()}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`Format inv\xE0lid: ha de comen\xE7ar amb "${_.prefix}"`;if(_.format==="ends_with")return`Format inv\xE0lid: ha d'acabar amb "${_.suffix}"`;if(_.format==="includes")return`Format inv\xE0lid: ha d'incloure "${_.includes}"`;if(_.format==="regex")return`Format inv\xE0lid: ha de coincidir amb el patr\xF3 ${_.pattern}`;return`Format inv\xE0lid per a ${t[_.format]??i.format}`}case"not_multiple_of":return`N\xFAmero inv\xE0lid: ha de ser m\xFAltiple de ${i.divisor}`;case"unrecognized_keys":return`Clau${i.keys.length>1?"s":""} no reconeguda${i.keys.length>1?"s":""}: ${U(i.keys,", ")}`;case"invalid_key":return`Clau inv\xE0lida a ${i.origin}`;case"invalid_union":return"Entrada inv\xE0lida";case"invalid_element":return`Element inv\xE0lid a ${i.origin}`;default:return"Entrada inv\xE0lida"}}};var D4=a(()=>{k()});function fb(){return{localeError:fq()}}var fq=()=>{let r={string:{unit:"znak\u016F",verb:"m\xEDt"},file:{unit:"bajt\u016F",verb:"m\xEDt"},array:{unit:"prvk\u016F",verb:"m\xEDt"},set:{unit:"prvk\u016F",verb:"m\xEDt"}};function n(i){return r[i]??null}let t={regex:"regul\xE1rn\xED v\xFDraz",email:"e-mailov\xE1 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 \u010Das ve form\xE1tu ISO",date:"datum ve form\xE1tu ISO",time:"\u010Das ve form\xE1tu ISO",duration:"doba trv\xE1n\xED ISO",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"rozsah IPv4",cidrv6:"rozsah IPv6",base64:"\u0159et\u011Bzec zak\xF3dovan\xFD ve form\xE1tu base64",base64url:"\u0159et\u011Bzec zak\xF3dovan\xFD ve form\xE1tu base64url",json_string:"\u0159et\u011Bzec ve form\xE1tu JSON",e164:"\u010D\xEDslo E.164",jwt:"JWT",template_literal:"vstup"},e={nan:"NaN",number:"\u010D\xEDslo",string:"\u0159et\u011Bzec",function:"funkce",array:"pole"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no instanceof ${i.expected}, obdr\u017Eeno ${o}`;return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${_}, obdr\u017Eeno ${o}`}case"invalid_value":if(i.values.length===1)return`Neplatn\xFD vstup: o\u010Dek\xE1v\xE1no ${T(i.values[0])}`;return`Neplatn\xE1 mo\u017Enost: o\u010Dek\xE1v\xE1na jedna z hodnot ${U(i.values,"|")}`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c)return`Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${i.origin??"hodnota"} mus\xED m\xEDt ${_}${i.maximum.toString()} ${c.unit??"prvk\u016F"}`;return`Hodnota je p\u0159\xEDli\u0161 velk\xE1: ${i.origin??"hodnota"} mus\xED b\xFDt ${_}${i.maximum.toString()}`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c)return`Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${i.origin??"hodnota"} mus\xED m\xEDt ${_}${i.minimum.toString()} ${c.unit??"prvk\u016F"}`;return`Hodnota je p\u0159\xEDli\u0161 mal\xE1: ${i.origin??"hodnota"} mus\xED b\xFDt ${_}${i.minimum.toString()}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED za\u010D\xEDnat na "${_.prefix}"`;if(_.format==="ends_with")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED kon\u010Dit na "${_.suffix}"`;if(_.format==="includes")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED obsahovat "${_.includes}"`;if(_.format==="regex")return`Neplatn\xFD \u0159et\u011Bzec: mus\xED odpov\xEDdat vzoru ${_.pattern}`;return`Neplatn\xFD form\xE1t ${t[_.format]??i.format}`}case"not_multiple_of":return`Neplatn\xE9 \u010D\xEDslo: mus\xED b\xFDt n\xE1sobkem ${i.divisor}`;case"unrecognized_keys":return`Nezn\xE1m\xE9 kl\xED\u010De: ${U(i.keys,", ")}`;case"invalid_key":return`Neplatn\xFD kl\xED\u010D v ${i.origin}`;case"invalid_union":return"Neplatn\xFD vstup";case"invalid_element":return`Neplatn\xE1 hodnota v ${i.origin}`;default:return"Neplatn\xFD vstup"}}};var S4=a(()=>{k()});function bb(){return{localeError:bq()}}var bq=()=>{let r={string:{unit:"tegn",verb:"havde"},file:{unit:"bytes",verb:"havde"},array:{unit:"elementer",verb:"indeholdt"},set:{unit:"elementer",verb:"indeholdt"}};function n(i){return r[i]??null}let t={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\xE6t",date:"ISO-dato",time:"ISO-klokkesl\xE6t",duration:"ISO-varighed",ipv4:"IPv4-omr\xE5de",ipv6:"IPv6-omr\xE5de",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"},e={nan:"NaN",string:"streng",number:"tal",boolean:"boolean",array:"liste",object:"objekt",set:"s\xE6t",file:"fil"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`Ugyldigt input: forventede instanceof ${i.expected}, fik ${o}`;return`Ugyldigt input: forventede ${_}, fik ${o}`}case"invalid_value":if(i.values.length===1)return`Ugyldig v\xE6rdi: forventede ${T(i.values[0])}`;return`Ugyldigt valg: forventede en af f\xF8lgende ${U(i.values,"|")}`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin),o=e[i.origin]??i.origin;if(c)return`For stor: forventede ${o??"value"} ${c.verb} ${_} ${i.maximum.toString()} ${c.unit??"elementer"}`;return`For stor: forventede ${o??"value"} havde ${_} ${i.maximum.toString()}`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin),o=e[i.origin]??i.origin;if(c)return`For lille: forventede ${o} ${c.verb} ${_} ${i.minimum.toString()} ${c.unit}`;return`For lille: forventede ${o} havde ${_} ${i.minimum.toString()}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`Ugyldig streng: skal starte med "${_.prefix}"`;if(_.format==="ends_with")return`Ugyldig streng: skal ende med "${_.suffix}"`;if(_.format==="includes")return`Ugyldig streng: skal indeholde "${_.includes}"`;if(_.format==="regex")return`Ugyldig streng: skal matche m\xF8nsteret ${_.pattern}`;return`Ugyldig ${t[_.format]??i.format}`}case"not_multiple_of":return`Ugyldigt tal: skal v\xE6re deleligt med ${i.divisor}`;case"unrecognized_keys":return`${i.keys.length>1?"Ukendte n\xF8gler":"Ukendt n\xF8gle"}: ${U(i.keys,", ")}`;case"invalid_key":return`Ugyldig n\xF8gle i ${i.origin}`;case"invalid_union":return"Ugyldigt input: matcher ingen af de tilladte typer";case"invalid_element":return`Ugyldig v\xE6rdi i ${i.origin}`;default:return"Ugyldigt input"}}};var a4=a(()=>{k()});function wb(){return{localeError:wq()}}var wq=()=>{let r={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 n(i){return r[i]??null}let t={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"},e={nan:"NaN",number:"Zahl",array:"Array"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`Ung\xFCltige Eingabe: erwartet instanceof ${i.expected}, erhalten ${o}`;return`Ung\xFCltige Eingabe: erwartet ${_}, erhalten ${o}`}case"invalid_value":if(i.values.length===1)return`Ung\xFCltige Eingabe: erwartet ${T(i.values[0])}`;return`Ung\xFCltige Option: erwartet eine von ${U(i.values,"|")}`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c)return`Zu gro\xDF: erwartet, dass ${i.origin??"Wert"} ${_}${i.maximum.toString()} ${c.unit??"Elemente"} hat`;return`Zu gro\xDF: erwartet, dass ${i.origin??"Wert"} ${_}${i.maximum.toString()} ist`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c)return`Zu klein: erwartet, dass ${i.origin} ${_}${i.minimum.toString()} ${c.unit} hat`;return`Zu klein: erwartet, dass ${i.origin} ${_}${i.minimum.toString()} ist`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`Ung\xFCltiger String: muss mit "${_.prefix}" beginnen`;if(_.format==="ends_with")return`Ung\xFCltiger String: muss mit "${_.suffix}" enden`;if(_.format==="includes")return`Ung\xFCltiger String: muss "${_.includes}" enthalten`;if(_.format==="regex")return`Ung\xFCltiger String: muss dem Muster ${_.pattern} entsprechen`;return`Ung\xFCltig: ${t[_.format]??i.format}`}case"not_multiple_of":return`Ung\xFCltige Zahl: muss ein Vielfaches von ${i.divisor} sein`;case"unrecognized_keys":return`${i.keys.length>1?"Unbekannte Schl\xFCssel":"Unbekannter Schl\xFCssel"}: ${U(i.keys,", ")}`;case"invalid_key":return`Ung\xFCltiger Schl\xFCssel in ${i.origin}`;case"invalid_union":return"Ung\xFCltige Eingabe";case"invalid_element":return`Ung\xFCltiger Wert in ${i.origin}`;default:return"Ung\xFCltige Eingabe"}}};var T4=a(()=>{k()});function d_(){return{localeError:mq()}}var mq=()=>{let r={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 n(i){return r[i]??null}let t={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"},e={nan:"NaN"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;return`Invalid input: expected ${_}, received ${o}`}case"invalid_value":if(i.values.length===1)return`Invalid input: expected ${T(i.values[0])}`;return`Invalid option: expected one of ${U(i.values,"|")}`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c)return`Too big: expected ${i.origin??"value"} to have ${_}${i.maximum.toString()} ${c.unit??"elements"}`;return`Too big: expected ${i.origin??"value"} to be ${_}${i.maximum.toString()}`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c)return`Too small: expected ${i.origin} to have ${_}${i.minimum.toString()} ${c.unit}`;return`Too small: expected ${i.origin} to be ${_}${i.minimum.toString()}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`Invalid string: must start with "${_.prefix}"`;if(_.format==="ends_with")return`Invalid string: must end with "${_.suffix}"`;if(_.format==="includes")return`Invalid string: must include "${_.includes}"`;if(_.format==="regex")return`Invalid string: must match pattern ${_.pattern}`;return`Invalid ${t[_.format]??i.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${i.divisor}`;case"unrecognized_keys":return`Unrecognized key${i.keys.length>1?"s":""}: ${U(i.keys,", ")}`;case"invalid_key":return`Invalid key in ${i.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${i.origin}`;default:return"Invalid input"}}};var mb=a(()=>{k()});function Ib(){return{localeError:Iq()}}var Iq=()=>{let r={string:{unit:"karaktrojn",verb:"havi"},file:{unit:"bajtojn",verb:"havi"},array:{unit:"elementojn",verb:"havi"},set:{unit:"elementojn",verb:"havi"}};function n(i){return r[i]??null}let t={regex:"enigo",email:"retadreso",url:"URL",emoji:"emo\u011Dio",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\u016Dro",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"},e={nan:"NaN",number:"nombro",array:"tabelo",null:"senvalora"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`Nevalida enigo: atendi\u011Dis instanceof ${i.expected}, ricevi\u011Dis ${o}`;return`Nevalida enigo: atendi\u011Dis ${_}, ricevi\u011Dis ${o}`}case"invalid_value":if(i.values.length===1)return`Nevalida enigo: atendi\u011Dis ${T(i.values[0])}`;return`Nevalida opcio: atendi\u011Dis unu el ${U(i.values,"|")}`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c)return`Tro granda: atendi\u011Dis ke ${i.origin??"valoro"} havu ${_}${i.maximum.toString()} ${c.unit??"elementojn"}`;return`Tro granda: atendi\u011Dis ke ${i.origin??"valoro"} havu ${_}${i.maximum.toString()}`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c)return`Tro malgranda: atendi\u011Dis ke ${i.origin} havu ${_}${i.minimum.toString()} ${c.unit}`;return`Tro malgranda: atendi\u011Dis ke ${i.origin} estu ${_}${i.minimum.toString()}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`Nevalida karaktraro: devas komenci\u011Di per "${_.prefix}"`;if(_.format==="ends_with")return`Nevalida karaktraro: devas fini\u011Di per "${_.suffix}"`;if(_.format==="includes")return`Nevalida karaktraro: devas inkluzivi "${_.includes}"`;if(_.format==="regex")return`Nevalida karaktraro: devas kongrui kun la modelo ${_.pattern}`;return`Nevalida ${t[_.format]??i.format}`}case"not_multiple_of":return`Nevalida nombro: devas esti oblo de ${i.divisor}`;case"unrecognized_keys":return`Nekonata${i.keys.length>1?"j":""} \u015Dlosilo${i.keys.length>1?"j":""}: ${U(i.keys,", ")}`;case"invalid_key":return`Nevalida \u015Dlosilo en ${i.origin}`;case"invalid_union":return"Nevalida enigo";case"invalid_element":return`Nevalida valoro en ${i.origin}`;default:return"Nevalida enigo"}}};var E4=a(()=>{k()});function yb(){return{localeError:yq()}}var yq=()=>{let r={string:{unit:"caracteres",verb:"tener"},file:{unit:"bytes",verb:"tener"},array:{unit:"elementos",verb:"tener"},set:{unit:"elementos",verb:"tener"}};function n(i){return r[i]??null}let t={regex:"entrada",email:"direcci\xF3n de correo electr\xF3nico",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\xF3n ISO",ipv4:"direcci\xF3n IPv4",ipv6:"direcci\xF3n IPv6",cidrv4:"rango IPv4",cidrv6:"rango IPv6",base64:"cadena codificada en base64",base64url:"URL codificada en base64",json_string:"cadena JSON",e164:"n\xFAmero E.164",jwt:"JWT",template_literal:"entrada"},e={nan:"NaN",string:"texto",number:"n\xFAmero",boolean:"booleano",array:"arreglo",object:"objeto",set:"conjunto",file:"archivo",date:"fecha",bigint:"n\xFAmero grande",symbol:"s\xEDmbolo",undefined:"indefinido",null:"nulo",function:"funci\xF3n",map:"mapa",record:"registro",tuple:"tupla",enum:"enumeraci\xF3n",union:"uni\xF3n",literal:"literal",promise:"promesa",void:"vac\xEDo",never:"nunca",unknown:"desconocido",any:"cualquiera"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`Entrada inv\xE1lida: se esperaba instanceof ${i.expected}, recibido ${o}`;return`Entrada inv\xE1lida: se esperaba ${_}, recibido ${o}`}case"invalid_value":if(i.values.length===1)return`Entrada inv\xE1lida: se esperaba ${T(i.values[0])}`;return`Opci\xF3n inv\xE1lida: se esperaba una de ${U(i.values,"|")}`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin),o=e[i.origin]??i.origin;if(c)return`Demasiado grande: se esperaba que ${o??"valor"} tuviera ${_}${i.maximum.toString()} ${c.unit??"elementos"}`;return`Demasiado grande: se esperaba que ${o??"valor"} fuera ${_}${i.maximum.toString()}`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin),o=e[i.origin]??i.origin;if(c)return`Demasiado peque\xF1o: se esperaba que ${o} tuviera ${_}${i.minimum.toString()} ${c.unit}`;return`Demasiado peque\xF1o: se esperaba que ${o} fuera ${_}${i.minimum.toString()}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`Cadena inv\xE1lida: debe comenzar con "${_.prefix}"`;if(_.format==="ends_with")return`Cadena inv\xE1lida: debe terminar en "${_.suffix}"`;if(_.format==="includes")return`Cadena inv\xE1lida: debe incluir "${_.includes}"`;if(_.format==="regex")return`Cadena inv\xE1lida: debe coincidir con el patr\xF3n ${_.pattern}`;return`Inv\xE1lido ${t[_.format]??i.format}`}case"not_multiple_of":return`N\xFAmero inv\xE1lido: debe ser m\xFAltiplo de ${i.divisor}`;case"unrecognized_keys":return`Llave${i.keys.length>1?"s":""} desconocida${i.keys.length>1?"s":""}: ${U(i.keys,", ")}`;case"invalid_key":return`Llave inv\xE1lida en ${e[i.origin]??i.origin}`;case"invalid_union":return"Entrada inv\xE1lida";case"invalid_element":return`Valor inv\xE1lido en ${e[i.origin]??i.origin}`;default:return"Entrada inv\xE1lida"}}};var l4=a(()=>{k()});function hb(){return{localeError:hq()}}var hq=()=>{let r={string:{unit:"\u06A9\u0627\u0631\u0627\u06A9\u062A\u0631",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"},file:{unit:"\u0628\u0627\u06CC\u062A",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"},array:{unit:"\u0622\u06CC\u062A\u0645",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"},set:{unit:"\u0622\u06CC\u062A\u0645",verb:"\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F"}};function n(i){return r[i]??null}let t={regex:"\u0648\u0631\u0648\u062F\u06CC",email:"\u0622\u062F\u0631\u0633 \u0627\u06CC\u0645\u06CC\u0644",url:"URL",emoji:"\u0627\u06CC\u0645\u0648\u062C\u06CC",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u062A\u0627\u0631\u06CC\u062E \u0648 \u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",date:"\u062A\u0627\u0631\u06CC\u062E \u0627\u06CC\u0632\u0648",time:"\u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",duration:"\u0645\u062F\u062A \u0632\u0645\u0627\u0646 \u0627\u06CC\u0632\u0648",ipv4:"IPv4 \u0622\u062F\u0631\u0633",ipv6:"IPv6 \u0622\u062F\u0631\u0633",cidrv4:"IPv4 \u062F\u0627\u0645\u0646\u0647",cidrv6:"IPv6 \u062F\u0627\u0645\u0646\u0647",base64:"base64-encoded \u0631\u0634\u062A\u0647",base64url:"base64url-encoded \u0631\u0634\u062A\u0647",json_string:"JSON \u0631\u0634\u062A\u0647",e164:"E.164 \u0639\u062F\u062F",jwt:"JWT",template_literal:"\u0648\u0631\u0648\u062F\u06CC"},e={nan:"NaN",number:"\u0639\u062F\u062F",array:"\u0622\u0631\u0627\u06CC\u0647"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A instanceof ${i.expected} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${o} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`;return`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${_} \u0645\u06CC\u200C\u0628\u0648\u062F\u060C ${o} \u062F\u0631\u06CC\u0627\u0641\u062A \u0634\u062F`}case"invalid_value":if(i.values.length===1)return`\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A ${T(i.values[0])} \u0645\u06CC\u200C\u0628\u0648\u062F`;return`\u06AF\u0632\u06CC\u0646\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0645\u06CC\u200C\u0628\u0627\u06CC\u0633\u062A \u06CC\u06A9\u06CC \u0627\u0632 ${U(i.values,"|")} \u0645\u06CC\u200C\u0628\u0648\u062F`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c)return`\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${i.origin??"\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${_}${i.maximum.toString()} ${c.unit??"\u0639\u0646\u0635\u0631"} \u0628\u0627\u0634\u062F`;return`\u062E\u06CC\u0644\u06CC \u0628\u0632\u0631\u06AF: ${i.origin??"\u0645\u0642\u062F\u0627\u0631"} \u0628\u0627\u06CC\u062F ${_}${i.maximum.toString()} \u0628\u0627\u0634\u062F`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c)return`\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${i.origin} \u0628\u0627\u06CC\u062F ${_}${i.minimum.toString()} ${c.unit} \u0628\u0627\u0634\u062F`;return`\u062E\u06CC\u0644\u06CC \u06A9\u0648\u0686\u06A9: ${i.origin} \u0628\u0627\u06CC\u062F ${_}${i.minimum.toString()} \u0628\u0627\u0634\u062F`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${_.prefix}" \u0634\u0631\u0648\u0639 \u0634\u0648\u062F`;if(_.format==="ends_with")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 "${_.suffix}" \u062A\u0645\u0627\u0645 \u0634\u0648\u062F`;if(_.format==="includes")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0634\u0627\u0645\u0644 "${_.includes}" \u0628\u0627\u0634\u062F`;if(_.format==="regex")return`\u0631\u0634\u062A\u0647 \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0628\u0627 \u0627\u0644\u06AF\u0648\u06CC ${_.pattern} \u0645\u0637\u0627\u0628\u0642\u062A \u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F`;return`${t[_.format]??i.format} \u0646\u0627\u0645\u0639\u062A\u0628\u0631`}case"not_multiple_of":return`\u0639\u062F\u062F \u0646\u0627\u0645\u0639\u062A\u0628\u0631: \u0628\u0627\u06CC\u062F \u0645\u0636\u0631\u0628 ${i.divisor} \u0628\u0627\u0634\u062F`;case"unrecognized_keys":return`\u06A9\u0644\u06CC\u062F${i.keys.length>1?"\u0647\u0627\u06CC":""} \u0646\u0627\u0634\u0646\u0627\u0633: ${U(i.keys,", ")}`;case"invalid_key":return`\u06A9\u0644\u06CC\u062F \u0646\u0627\u0634\u0646\u0627\u0633 \u062F\u0631 ${i.origin}`;case"invalid_union":return"\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631";case"invalid_element":return`\u0645\u0642\u062F\u0627\u0631 \u0646\u0627\u0645\u0639\u062A\u0628\u0631 \u062F\u0631 ${i.origin}`;default:return"\u0648\u0631\u0648\u062F\u06CC \u0646\u0627\u0645\u0639\u062A\u0628\u0631"}}};var q4=a(()=>{k()});function Ub(){return{localeError:Uq()}}var Uq=()=>{let r={string:{unit:"merkki\xE4",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\xE4iv\xE4m\xE4\xE4r\xE4n"}};function n(i){return r[i]??null}let t={regex:"s\xE4\xE4nn\xF6llinen lauseke",email:"s\xE4hk\xF6postiosoite",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\xE4iv\xE4m\xE4\xE4r\xE4",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"},e={nan:"NaN"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`Virheellinen tyyppi: odotettiin instanceof ${i.expected}, oli ${o}`;return`Virheellinen tyyppi: odotettiin ${_}, oli ${o}`}case"invalid_value":if(i.values.length===1)return`Virheellinen sy\xF6te: t\xE4ytyy olla ${T(i.values[0])}`;return`Virheellinen valinta: t\xE4ytyy olla yksi seuraavista: ${U(i.values,"|")}`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c)return`Liian suuri: ${c.subject} t\xE4ytyy olla ${_}${i.maximum.toString()} ${c.unit}`.trim();return`Liian suuri: arvon t\xE4ytyy olla ${_}${i.maximum.toString()}`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c)return`Liian pieni: ${c.subject} t\xE4ytyy olla ${_}${i.minimum.toString()} ${c.unit}`.trim();return`Liian pieni: arvon t\xE4ytyy olla ${_}${i.minimum.toString()}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`Virheellinen sy\xF6te: t\xE4ytyy alkaa "${_.prefix}"`;if(_.format==="ends_with")return`Virheellinen sy\xF6te: t\xE4ytyy loppua "${_.suffix}"`;if(_.format==="includes")return`Virheellinen sy\xF6te: t\xE4ytyy sis\xE4lt\xE4\xE4 "${_.includes}"`;if(_.format==="regex")return`Virheellinen sy\xF6te: t\xE4ytyy vastata s\xE4\xE4nn\xF6llist\xE4 lauseketta ${_.pattern}`;return`Virheellinen ${t[_.format]??i.format}`}case"not_multiple_of":return`Virheellinen luku: t\xE4ytyy olla luvun ${i.divisor} monikerta`;case"unrecognized_keys":return`${i.keys.length>1?"Tuntemattomat avaimet":"Tuntematon avain"}: ${U(i.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\xF6te"}}};var N4=a(()=>{k()});function Ob(){return{localeError:Oq()}}var Oq=()=>{let r={string:{unit:"caract\xE8res",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"\xE9l\xE9ments",verb:"avoir"},set:{unit:"\xE9l\xE9ments",verb:"avoir"}};function n(i){return r[i]??null}let t={regex:"entr\xE9e",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\xE9e ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"cha\xEEne encod\xE9e en base64",base64url:"cha\xEEne encod\xE9e en base64url",json_string:"cha\xEEne JSON",e164:"num\xE9ro E.164",jwt:"JWT",template_literal:"entr\xE9e"},e={nan:"NaN",number:"nombre",array:"tableau"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`Entr\xE9e invalide : instanceof ${i.expected} attendu, ${o} re\xE7u`;return`Entr\xE9e invalide : ${_} attendu, ${o} re\xE7u`}case"invalid_value":if(i.values.length===1)return`Entr\xE9e invalide : ${T(i.values[0])} attendu`;return`Option invalide : une valeur parmi ${U(i.values,"|")} attendue`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c)return`Trop grand : ${i.origin??"valeur"} doit ${c.verb} ${_}${i.maximum.toString()} ${c.unit??"\xE9l\xE9ment(s)"}`;return`Trop grand : ${i.origin??"valeur"} doit \xEAtre ${_}${i.maximum.toString()}`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c)return`Trop petit : ${i.origin} doit ${c.verb} ${_}${i.minimum.toString()} ${c.unit}`;return`Trop petit : ${i.origin} doit \xEAtre ${_}${i.minimum.toString()}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`Cha\xEEne invalide : doit commencer par "${_.prefix}"`;if(_.format==="ends_with")return`Cha\xEEne invalide : doit se terminer par "${_.suffix}"`;if(_.format==="includes")return`Cha\xEEne invalide : doit inclure "${_.includes}"`;if(_.format==="regex")return`Cha\xEEne invalide : doit correspondre au mod\xE8le ${_.pattern}`;return`${t[_.format]??i.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit \xEAtre un multiple de ${i.divisor}`;case"unrecognized_keys":return`Cl\xE9${i.keys.length>1?"s":""} non reconnue${i.keys.length>1?"s":""} : ${U(i.keys,", ")}`;case"invalid_key":return`Cl\xE9 invalide dans ${i.origin}`;case"invalid_union":return"Entr\xE9e invalide";case"invalid_element":return`Valeur invalide dans ${i.origin}`;default:return"Entr\xE9e invalide"}}};var L4=a(()=>{k()});function Rb(){return{localeError:Rq()}}var Rq=()=>{let r={string:{unit:"caract\xE8res",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"\xE9l\xE9ments",verb:"avoir"},set:{unit:"\xE9l\xE9ments",verb:"avoir"}};function n(i){return r[i]??null}let t={regex:"entr\xE9e",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\xE9e ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"cha\xEEne encod\xE9e en base64",base64url:"cha\xEEne encod\xE9e en base64url",json_string:"cha\xEEne JSON",e164:"num\xE9ro E.164",jwt:"JWT",template_literal:"entr\xE9e"},e={nan:"NaN"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`Entr\xE9e invalide : attendu instanceof ${i.expected}, re\xE7u ${o}`;return`Entr\xE9e invalide : attendu ${_}, re\xE7u ${o}`}case"invalid_value":if(i.values.length===1)return`Entr\xE9e invalide : attendu ${T(i.values[0])}`;return`Option invalide : attendu l'une des valeurs suivantes ${U(i.values,"|")}`;case"too_big":{let _=i.inclusive?"\u2264":"<",c=n(i.origin);if(c)return`Trop grand : attendu que ${i.origin??"la valeur"} ait ${_}${i.maximum.toString()} ${c.unit}`;return`Trop grand : attendu que ${i.origin??"la valeur"} soit ${_}${i.maximum.toString()}`}case"too_small":{let _=i.inclusive?"\u2265":">",c=n(i.origin);if(c)return`Trop petit : attendu que ${i.origin} ait ${_}${i.minimum.toString()} ${c.unit}`;return`Trop petit : attendu que ${i.origin} soit ${_}${i.minimum.toString()}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`Cha\xEEne invalide : doit commencer par "${_.prefix}"`;if(_.format==="ends_with")return`Cha\xEEne invalide : doit se terminer par "${_.suffix}"`;if(_.format==="includes")return`Cha\xEEne invalide : doit inclure "${_.includes}"`;if(_.format==="regex")return`Cha\xEEne invalide : doit correspondre au motif ${_.pattern}`;return`${t[_.format]??i.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit \xEAtre un multiple de ${i.divisor}`;case"unrecognized_keys":return`Cl\xE9${i.keys.length>1?"s":""} non reconnue${i.keys.length>1?"s":""} : ${U(i.keys,", ")}`;case"invalid_key":return`Cl\xE9 invalide dans ${i.origin}`;case"invalid_union":return"Entr\xE9e invalide";case"invalid_element":return`Valeur invalide dans ${i.origin}`;default:return"Entr\xE9e invalide"}}};var z4=a(()=>{k()});function Db(){return{localeError:Dq()}}var Dq=()=>{let r={string:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA",gender:"f"},number:{label:"\u05DE\u05E1\u05E4\u05E8",gender:"m"},boolean:{label:"\u05E2\u05E8\u05DA \u05D1\u05D5\u05DC\u05D9\u05D0\u05E0\u05D9",gender:"m"},bigint:{label:"BigInt",gender:"m"},date:{label:"\u05EA\u05D0\u05E8\u05D9\u05DA",gender:"m"},array:{label:"\u05DE\u05E2\u05E8\u05DA",gender:"m"},object:{label:"\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8",gender:"m"},null:{label:"\u05E2\u05E8\u05DA \u05E8\u05D9\u05E7 (null)",gender:"m"},undefined:{label:"\u05E2\u05E8\u05DA \u05DC\u05D0 \u05DE\u05D5\u05D2\u05D3\u05E8 (undefined)",gender:"m"},symbol:{label:"\u05E1\u05D9\u05DE\u05D1\u05D5\u05DC (Symbol)",gender:"m"},function:{label:"\u05E4\u05D5\u05E0\u05E7\u05E6\u05D9\u05D4",gender:"f"},map:{label:"\u05DE\u05E4\u05D4 (Map)",gender:"f"},set:{label:"\u05E7\u05D1\u05D5\u05E6\u05D4 (Set)",gender:"f"},file:{label:"\u05E7\u05D5\u05D1\u05E5",gender:"m"},promise:{label:"Promise",gender:"m"},NaN:{label:"NaN",gender:"m"},unknown:{label:"\u05E2\u05E8\u05DA \u05DC\u05D0 \u05D9\u05D3\u05D5\u05E2",gender:"m"},value:{label:"\u05E2\u05E8\u05DA",gender:"m"}},n={string:{unit:"\u05EA\u05D5\u05D5\u05D9\u05DD",shortLabel:"\u05E7\u05E6\u05E8",longLabel:"\u05D0\u05E8\u05D5\u05DA"},file:{unit:"\u05D1\u05D9\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},array:{unit:"\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},set:{unit:"\u05E4\u05E8\u05D9\u05D8\u05D9\u05DD",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"},number:{unit:"",shortLabel:"\u05E7\u05D8\u05DF",longLabel:"\u05D2\u05D3\u05D5\u05DC"}},t=($)=>$?r[$]:void 0,e=($)=>{let g=t($);if(g)return g.label;return $??r.unknown.label},i=($)=>`\u05D4${e($)}`,_=($)=>{return(t($)?.gender??"m")==="f"?"\u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05D9\u05D5\u05EA":"\u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA"},c=($)=>{if(!$)return null;return n[$]??null},o={regex:{label:"\u05E7\u05DC\u05D8",gender:"m"},email:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA \u05D0\u05D9\u05DE\u05D9\u05D9\u05DC",gender:"f"},url:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA \u05E8\u05E9\u05EA",gender:"f"},emoji:{label:"\u05D0\u05D9\u05DE\u05D5\u05D2'\u05D9",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:"\u05EA\u05D0\u05E8\u05D9\u05DA \u05D5\u05D6\u05DE\u05DF ISO",gender:"m"},date:{label:"\u05EA\u05D0\u05E8\u05D9\u05DA ISO",gender:"m"},time:{label:"\u05D6\u05DE\u05DF ISO",gender:"m"},duration:{label:"\u05DE\u05E9\u05DA \u05D6\u05DE\u05DF ISO",gender:"m"},ipv4:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA IPv4",gender:"f"},ipv6:{label:"\u05DB\u05EA\u05D5\u05D1\u05EA IPv6",gender:"f"},cidrv4:{label:"\u05D8\u05D5\u05D5\u05D7 IPv4",gender:"m"},cidrv6:{label:"\u05D8\u05D5\u05D5\u05D7 IPv6",gender:"m"},base64:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D1\u05D1\u05E1\u05D9\u05E1 64",gender:"f"},base64url:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D1\u05D1\u05E1\u05D9\u05E1 64 \u05DC\u05DB\u05EA\u05D5\u05D1\u05D5\u05EA \u05E8\u05E9\u05EA",gender:"f"},json_string:{label:"\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA JSON",gender:"f"},e164:{label:"\u05DE\u05E1\u05E4\u05E8 E.164",gender:"m"},jwt:{label:"JWT",gender:"m"},ends_with:{label:"\u05E7\u05DC\u05D8",gender:"m"},includes:{label:"\u05E7\u05DC\u05D8",gender:"m"},lowercase:{label:"\u05E7\u05DC\u05D8",gender:"m"},starts_with:{label:"\u05E7\u05DC\u05D8",gender:"m"},uppercase:{label:"\u05E7\u05DC\u05D8",gender:"m"}},u={nan:"NaN"};return($)=>{switch($.code){case"invalid_type":{let g=$.expected,d=u[g??""]??e(g),f=E($.input),b=u[f]??r[f]?.label??f;if(/^[A-Z]/.test($.expected))return`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA instanceof ${$.expected}, \u05D4\u05EA\u05E7\u05D1\u05DC ${b}`;return`\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${d}, \u05D4\u05EA\u05E7\u05D1\u05DC ${b}`}case"invalid_value":{if($.values.length===1)return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05E2\u05E8\u05DA \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA ${T($.values[0])}`;let g=$.values.map((b)=>T(b));if($.values.length===2)return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA \u05D4\u05DE\u05EA\u05D0\u05D9\u05DE\u05D5\u05EA \u05D4\u05DF ${g[0]} \u05D0\u05D5 ${g[1]}`;let d=g[g.length-1];return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D4\u05D0\u05E4\u05E9\u05E8\u05D5\u05D9\u05D5\u05EA \u05D4\u05DE\u05EA\u05D0\u05D9\u05DE\u05D5\u05EA \u05D4\u05DF ${g.slice(0,-1).join(", ")} \u05D0\u05D5 ${d}`}case"too_big":{let g=c($.origin),d=i($.origin??"value");if($.origin==="string")return`${g?.longLabel??"\u05D0\u05E8\u05D5\u05DA"} \u05DE\u05D3\u05D9: ${d} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${$.maximum.toString()} ${g?.unit??""} ${$.inclusive?"\u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA":"\u05DC\u05DB\u05DC \u05D4\u05D9\u05D5\u05EA\u05E8"}`.trim();if($.origin==="number"){let I=$.inclusive?`\u05E7\u05D8\u05DF \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${$.maximum}`:`\u05E7\u05D8\u05DF \u05DE-${$.maximum}`;return`\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${d} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${I}`}if($.origin==="array"||$.origin==="set"){let I=$.origin==="set"?"\u05E6\u05E8\u05D9\u05DB\u05D4":"\u05E6\u05E8\u05D9\u05DA",w=$.inclusive?`${$.maximum} ${g?.unit??""} \u05D0\u05D5 \u05E4\u05D7\u05D5\u05EA`:`\u05E4\u05D7\u05D5\u05EA \u05DE-${$.maximum} ${g?.unit??""}`;return`\u05D2\u05D3\u05D5\u05DC \u05DE\u05D3\u05D9: ${d} ${I} \u05DC\u05D4\u05DB\u05D9\u05DC ${w}`.trim()}let f=$.inclusive?"<=":"<",b=_($.origin??"value");if(g?.unit)return`${g.longLabel} \u05DE\u05D3\u05D9: ${d} ${b} ${f}${$.maximum.toString()} ${g.unit}`;return`${g?.longLabel??"\u05D2\u05D3\u05D5\u05DC"} \u05DE\u05D3\u05D9: ${d} ${b} ${f}${$.maximum.toString()}`}case"too_small":{let g=c($.origin),d=i($.origin??"value");if($.origin==="string")return`${g?.shortLabel??"\u05E7\u05E6\u05E8"} \u05DE\u05D3\u05D9: ${d} \u05E6\u05E8\u05D9\u05DB\u05D4 \u05DC\u05D4\u05DB\u05D9\u05DC ${$.minimum.toString()} ${g?.unit??""} ${$.inclusive?"\u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8":"\u05DC\u05E4\u05D7\u05D5\u05EA"}`.trim();if($.origin==="number"){let I=$.inclusive?`\u05D2\u05D3\u05D5\u05DC \u05D0\u05D5 \u05E9\u05D5\u05D5\u05D4 \u05DC-${$.minimum}`:`\u05D2\u05D3\u05D5\u05DC \u05DE-${$.minimum}`;return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${d} \u05E6\u05E8\u05D9\u05DA \u05DC\u05D4\u05D9\u05D5\u05EA ${I}`}if($.origin==="array"||$.origin==="set"){let I=$.origin==="set"?"\u05E6\u05E8\u05D9\u05DB\u05D4":"\u05E6\u05E8\u05D9\u05DA";if($.minimum===1&&$.inclusive){let h=$.origin==="set"?"\u05DC\u05E4\u05D7\u05D5\u05EA \u05E4\u05E8\u05D9\u05D8 \u05D0\u05D7\u05D3":"\u05DC\u05E4\u05D7\u05D5\u05EA \u05E4\u05E8\u05D9\u05D8 \u05D0\u05D7\u05D3";return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${d} ${I} \u05DC\u05D4\u05DB\u05D9\u05DC ${h}`}let w=$.inclusive?`${$.minimum} ${g?.unit??""} \u05D0\u05D5 \u05D9\u05D5\u05EA\u05E8`:`\u05D9\u05D5\u05EA\u05E8 \u05DE-${$.minimum} ${g?.unit??""}`;return`\u05E7\u05D8\u05DF \u05DE\u05D3\u05D9: ${d} ${I} \u05DC\u05D4\u05DB\u05D9\u05DC ${w}`.trim()}let f=$.inclusive?">=":">",b=_($.origin??"value");if(g?.unit)return`${g.shortLabel} \u05DE\u05D3\u05D9: ${d} ${b} ${f}${$.minimum.toString()} ${g.unit}`;return`${g?.shortLabel??"\u05E7\u05D8\u05DF"} \u05DE\u05D3\u05D9: ${d} ${b} ${f}${$.minimum.toString()}`}case"invalid_format":{let g=$;if(g.format==="starts_with")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05EA\u05D7\u05D9\u05DC \u05D1 "${g.prefix}"`;if(g.format==="ends_with")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05E1\u05EA\u05D9\u05D9\u05DD \u05D1 "${g.suffix}"`;if(g.format==="includes")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05DB\u05DC\u05D5\u05DC "${g.includes}"`;if(g.format==="regex")return`\u05D4\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA \u05D7\u05D9\u05D9\u05D1\u05EA \u05DC\u05D4\u05EA\u05D0\u05D9\u05DD \u05DC\u05EA\u05D1\u05E0\u05D9\u05EA ${g.pattern}`;let d=o[g.format],f=d?.label??g.format,I=(d?.gender??"m")==="f"?"\u05EA\u05E7\u05D9\u05E0\u05D4":"\u05EA\u05E7\u05D9\u05DF";return`${f} \u05DC\u05D0 ${I}`}case"not_multiple_of":return`\u05DE\u05E1\u05E4\u05E8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF: \u05D7\u05D9\u05D9\u05D1 \u05DC\u05D4\u05D9\u05D5\u05EA \u05DE\u05DB\u05E4\u05DC\u05D4 \u05E9\u05DC ${$.divisor}`;case"unrecognized_keys":return`\u05DE\u05E4\u05EA\u05D7${$.keys.length>1?"\u05D5\u05EA":""} \u05DC\u05D0 \u05DE\u05D6\u05D5\u05D4${$.keys.length>1?"\u05D9\u05DD":"\u05D4"}: ${U($.keys,", ")}`;case"invalid_key":return"\u05E9\u05D3\u05D4 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1\u05D0\u05D5\u05D1\u05D9\u05D9\u05E7\u05D8";case"invalid_union":return"\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF";case"invalid_element":return`\u05E2\u05E8\u05DA \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF \u05D1${i($.origin??"array")}`;default:return"\u05E7\u05DC\u05D8 \u05DC\u05D0 \u05EA\u05E7\u05D9\u05DF"}}};var j4=a(()=>{k()});function Sb(){return{localeError:Sq()}}var Sq=()=>{let r={string:{unit:"karakter",verb:"legyen"},file:{unit:"byte",verb:"legyen"},array:{unit:"elem",verb:"legyen"},set:{unit:"elem",verb:"legyen"}};function n(i){return r[i]??null}let t={regex:"bemenet",email:"email c\xEDm",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\u0151b\xE9lyeg",date:"ISO d\xE1tum",time:"ISO id\u0151",duration:"ISO id\u0151intervallum",ipv4:"IPv4 c\xEDm",ipv6:"IPv6 c\xEDm",cidrv4:"IPv4 tartom\xE1ny",cidrv6:"IPv6 tartom\xE1ny",base64:"base64-k\xF3dolt string",base64url:"base64url-k\xF3dolt string",json_string:"JSON string",e164:"E.164 sz\xE1m",jwt:"JWT",template_literal:"bemenet"},e={nan:"NaN",number:"sz\xE1m",array:"t\xF6mb"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k instanceof ${i.expected}, a kapott \xE9rt\xE9k ${o}`;return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${_}, a kapott \xE9rt\xE9k ${o}`}case"invalid_value":if(i.values.length===1)return`\xC9rv\xE9nytelen bemenet: a v\xE1rt \xE9rt\xE9k ${T(i.values[0])}`;return`\xC9rv\xE9nytelen opci\xF3: valamelyik \xE9rt\xE9k v\xE1rt ${U(i.values,"|")}`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c)return`T\xFAl nagy: ${i.origin??"\xE9rt\xE9k"} m\xE9rete t\xFAl nagy ${_}${i.maximum.toString()} ${c.unit??"elem"}`;return`T\xFAl nagy: a bemeneti \xE9rt\xE9k ${i.origin??"\xE9rt\xE9k"} t\xFAl nagy: ${_}${i.maximum.toString()}`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c)return`T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${i.origin} m\xE9rete t\xFAl kicsi ${_}${i.minimum.toString()} ${c.unit}`;return`T\xFAl kicsi: a bemeneti \xE9rt\xE9k ${i.origin} t\xFAl kicsi ${_}${i.minimum.toString()}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`\xC9rv\xE9nytelen string: "${_.prefix}" \xE9rt\xE9kkel kell kezd\u0151dnie`;if(_.format==="ends_with")return`\xC9rv\xE9nytelen string: "${_.suffix}" \xE9rt\xE9kkel kell v\xE9gz\u0151dnie`;if(_.format==="includes")return`\xC9rv\xE9nytelen string: "${_.includes}" \xE9rt\xE9ket kell tartalmaznia`;if(_.format==="regex")return`\xC9rv\xE9nytelen string: ${_.pattern} mint\xE1nak kell megfelelnie`;return`\xC9rv\xE9nytelen ${t[_.format]??i.format}`}case"not_multiple_of":return`\xC9rv\xE9nytelen sz\xE1m: ${i.divisor} t\xF6bbsz\xF6r\xF6s\xE9nek kell lennie`;case"unrecognized_keys":return`Ismeretlen kulcs${i.keys.length>1?"s":""}: ${U(i.keys,", ")}`;case"invalid_key":return`\xC9rv\xE9nytelen kulcs ${i.origin}`;case"invalid_union":return"\xC9rv\xE9nytelen bemenet";case"invalid_element":return`\xC9rv\xE9nytelen \xE9rt\xE9k: ${i.origin}`;default:return"\xC9rv\xE9nytelen bemenet"}}};var W4=a(()=>{k()});function A4(r,n,t){return Math.abs(r)===1?n:t}function Pi(r){if(!r)return"";let n=["\u0561","\u0565","\u0568","\u056B","\u0578","\u0578\u0582","\u0585"],t=r[r.length-1];return r+(n.includes(t)?"\u0576":"\u0568")}function ab(){return{localeError:aq()}}var aq=()=>{let r={string:{unit:{one:"\u0576\u0577\u0561\u0576",many:"\u0576\u0577\u0561\u0576\u0576\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"},file:{unit:{one:"\u0562\u0561\u0575\u0569",many:"\u0562\u0561\u0575\u0569\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"},array:{unit:{one:"\u057F\u0561\u0580\u0580",many:"\u057F\u0561\u0580\u0580\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"},set:{unit:{one:"\u057F\u0561\u0580\u0580",many:"\u057F\u0561\u0580\u0580\u0565\u0580"},verb:"\u0578\u0582\u0576\u0565\u0576\u0561\u056C"}};function n(i){return r[i]??null}let t={regex:"\u0574\u0578\u0582\u057F\u0584",email:"\u0567\u056C. \u0570\u0561\u057D\u0581\u0565",url:"URL",emoji:"\u0567\u0574\u0578\u057B\u056B",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0561\u0574\u057D\u0561\u0569\u056B\u057E \u0587 \u056A\u0561\u0574",date:"ISO \u0561\u0574\u057D\u0561\u0569\u056B\u057E",time:"ISO \u056A\u0561\u0574",duration:"ISO \u057F\u0587\u0578\u0572\u0578\u0582\u0569\u0575\u0578\u0582\u0576",ipv4:"IPv4 \u0570\u0561\u057D\u0581\u0565",ipv6:"IPv6 \u0570\u0561\u057D\u0581\u0565",cidrv4:"IPv4 \u0574\u056B\u057B\u0561\u056F\u0561\u0575\u0584",cidrv6:"IPv6 \u0574\u056B\u057B\u0561\u056F\u0561\u0575\u0584",base64:"base64 \u0571\u0587\u0561\u0579\u0561\u0583\u0578\u057E \u057F\u0578\u0572",base64url:"base64url \u0571\u0587\u0561\u0579\u0561\u0583\u0578\u057E \u057F\u0578\u0572",json_string:"JSON \u057F\u0578\u0572",e164:"E.164 \u0570\u0561\u0574\u0561\u0580",jwt:"JWT",template_literal:"\u0574\u0578\u0582\u057F\u0584"},e={nan:"NaN",number:"\u0569\u056B\u057E",array:"\u0566\u0561\u0576\u0563\u057E\u0561\u056E"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 instanceof ${i.expected}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${o}`;return`\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 ${_}, \u057D\u057F\u0561\u0581\u057E\u0565\u056C \u0567 ${o}`}case"invalid_value":if(i.values.length===1)return`\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 ${T(i.values[1])}`;return`\u054D\u056D\u0561\u056C \u057F\u0561\u0580\u0562\u0565\u0580\u0561\u056F\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567\u0580 \u0570\u0565\u057F\u0587\u0575\u0561\u056C\u0576\u0565\u0580\u056B\u0581 \u0574\u0565\u056F\u0568\u055D ${U(i.values,"|")}`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c){let o=Number(i.maximum),u=A4(o,c.unit.one,c.unit.many);return`\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0574\u0565\u056E \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${Pi(i.origin??"\u0561\u0580\u056A\u0565\u0584")} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${_}${i.maximum.toString()} ${u}`}return`\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0574\u0565\u056E \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${Pi(i.origin??"\u0561\u0580\u056A\u0565\u0584")} \u056C\u056B\u0576\u056B ${_}${i.maximum.toString()}`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c){let o=Number(i.minimum),u=A4(o,c.unit.one,c.unit.many);return`\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0583\u0578\u0584\u0580 \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${Pi(i.origin)} \u056F\u0578\u0582\u0576\u0565\u0576\u0561 ${_}${i.minimum.toString()} ${u}`}return`\u0549\u0561\u0583\u0561\u0566\u0561\u0576\u0581 \u0583\u0578\u0584\u0580 \u0561\u0580\u056A\u0565\u0584\u2024 \u057D\u057A\u0561\u057D\u057E\u0578\u0582\u0574 \u0567, \u0578\u0580 ${Pi(i.origin)} \u056C\u056B\u0576\u056B ${_}${i.minimum.toString()}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057D\u056F\u057D\u057E\u056B "${_.prefix}"-\u0578\u057E`;if(_.format==="ends_with")return`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0561\u057E\u0561\u0580\u057F\u057E\u056B "${_.suffix}"-\u0578\u057E`;if(_.format==="includes")return`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u057A\u0561\u0580\u0578\u0582\u0576\u0561\u056F\u056B "${_.includes}"`;if(_.format==="regex")return`\u054D\u056D\u0561\u056C \u057F\u0578\u0572\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0570\u0561\u0574\u0561\u057A\u0561\u057F\u0561\u057D\u056D\u0561\u0576\u056B ${_.pattern} \u0571\u0587\u0561\u0579\u0561\u0583\u056B\u0576`;return`\u054D\u056D\u0561\u056C ${t[_.format]??i.format}`}case"not_multiple_of":return`\u054D\u056D\u0561\u056C \u0569\u056B\u057E\u2024 \u057A\u0565\u057F\u0584 \u0567 \u0562\u0561\u0566\u0574\u0561\u057A\u0561\u057F\u056B\u056F \u056C\u056B\u0576\u056B ${i.divisor}-\u056B`;case"unrecognized_keys":return`\u0549\u0573\u0561\u0576\u0561\u0579\u057E\u0561\u056E \u0562\u0561\u0576\u0561\u056C\u056B${i.keys.length>1?"\u0576\u0565\u0580":""}. ${U(i.keys,", ")}`;case"invalid_key":return`\u054D\u056D\u0561\u056C \u0562\u0561\u0576\u0561\u056C\u056B ${Pi(i.origin)}-\u0578\u0582\u0574`;case"invalid_union":return"\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574";case"invalid_element":return`\u054D\u056D\u0561\u056C \u0561\u0580\u056A\u0565\u0584 ${Pi(i.origin)}-\u0578\u0582\u0574`;default:return"\u054D\u056D\u0561\u056C \u0574\u0578\u0582\u057F\u0584\u0561\u0563\u0580\u0578\u0582\u0574"}}};var P4=a(()=>{k()});function Tb(){return{localeError:Tq()}}var Tq=()=>{let r={string:{unit:"karakter",verb:"memiliki"},file:{unit:"byte",verb:"memiliki"},array:{unit:"item",verb:"memiliki"},set:{unit:"item",verb:"memiliki"}};function n(i){return r[i]??null}let t={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"},e={nan:"NaN"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`Input tidak valid: diharapkan instanceof ${i.expected}, diterima ${o}`;return`Input tidak valid: diharapkan ${_}, diterima ${o}`}case"invalid_value":if(i.values.length===1)return`Input tidak valid: diharapkan ${T(i.values[0])}`;return`Pilihan tidak valid: diharapkan salah satu dari ${U(i.values,"|")}`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c)return`Terlalu besar: diharapkan ${i.origin??"value"} memiliki ${_}${i.maximum.toString()} ${c.unit??"elemen"}`;return`Terlalu besar: diharapkan ${i.origin??"value"} menjadi ${_}${i.maximum.toString()}`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c)return`Terlalu kecil: diharapkan ${i.origin} memiliki ${_}${i.minimum.toString()} ${c.unit}`;return`Terlalu kecil: diharapkan ${i.origin} menjadi ${_}${i.minimum.toString()}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`String tidak valid: harus dimulai dengan "${_.prefix}"`;if(_.format==="ends_with")return`String tidak valid: harus berakhir dengan "${_.suffix}"`;if(_.format==="includes")return`String tidak valid: harus menyertakan "${_.includes}"`;if(_.format==="regex")return`String tidak valid: harus sesuai pola ${_.pattern}`;return`${t[_.format]??i.format} tidak valid`}case"not_multiple_of":return`Angka tidak valid: harus kelipatan dari ${i.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali ${i.keys.length>1?"s":""}: ${U(i.keys,", ")}`;case"invalid_key":return`Kunci tidak valid di ${i.origin}`;case"invalid_union":return"Input tidak valid";case"invalid_element":return`Nilai tidak valid di ${i.origin}`;default:return"Input tidak valid"}}};var J4=a(()=>{k()});function Eb(){return{localeError:Eq()}}var Eq=()=>{let r={string:{unit:"stafi",verb:"a\xF0 hafa"},file:{unit:"b\xE6ti",verb:"a\xF0 hafa"},array:{unit:"hluti",verb:"a\xF0 hafa"},set:{unit:"hluti",verb:"a\xF0 hafa"}};function n(i){return r[i]??null}let t={regex:"gildi",email:"netfang",url:"vefsl\xF3\xF0",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\xEDmi",date:"ISO dagsetning",time:"ISO t\xEDmi",duration:"ISO t\xEDmalengd",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\xF6lugildi",jwt:"JWT",template_literal:"gildi"},e={nan:"NaN",number:"n\xFAmer",array:"fylki"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`Rangt gildi: \xDE\xFA sl\xF3st inn ${o} \xFEar sem \xE1 a\xF0 vera instanceof ${i.expected}`;return`Rangt gildi: \xDE\xFA sl\xF3st inn ${o} \xFEar sem \xE1 a\xF0 vera ${_}`}case"invalid_value":if(i.values.length===1)return`Rangt gildi: gert r\xE1\xF0 fyrir ${T(i.values[0])}`;return`\xD3gilt val: m\xE1 vera eitt af eftirfarandi ${U(i.values,"|")}`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c)return`Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${i.origin??"gildi"} hafi ${_}${i.maximum.toString()} ${c.unit??"hluti"}`;return`Of st\xF3rt: gert er r\xE1\xF0 fyrir a\xF0 ${i.origin??"gildi"} s\xE9 ${_}${i.maximum.toString()}`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c)return`Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${i.origin} hafi ${_}${i.minimum.toString()} ${c.unit}`;return`Of l\xEDti\xF0: gert er r\xE1\xF0 fyrir a\xF0 ${i.origin} s\xE9 ${_}${i.minimum.toString()}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`\xD3gildur strengur: ver\xF0ur a\xF0 byrja \xE1 "${_.prefix}"`;if(_.format==="ends_with")return`\xD3gildur strengur: ver\xF0ur a\xF0 enda \xE1 "${_.suffix}"`;if(_.format==="includes")return`\xD3gildur strengur: ver\xF0ur a\xF0 innihalda "${_.includes}"`;if(_.format==="regex")return`\xD3gildur strengur: ver\xF0ur a\xF0 fylgja mynstri ${_.pattern}`;return`Rangt ${t[_.format]??i.format}`}case"not_multiple_of":return`R\xF6ng tala: ver\xF0ur a\xF0 vera margfeldi af ${i.divisor}`;case"unrecognized_keys":return`\xD3\xFEekkt ${i.keys.length>1?"ir lyklar":"ur lykill"}: ${U(i.keys,", ")}`;case"invalid_key":return`Rangur lykill \xED ${i.origin}`;case"invalid_union":return"Rangt gildi";case"invalid_element":return`Rangt gildi \xED ${i.origin}`;default:return"Rangt gildi"}}};var k4=a(()=>{k()});function lb(){return{localeError:lq()}}var lq=()=>{let r={string:{unit:"caratteri",verb:"avere"},file:{unit:"byte",verb:"avere"},array:{unit:"elementi",verb:"avere"},set:{unit:"elementi",verb:"avere"}};function n(i){return r[i]??null}let t={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"},e={nan:"NaN",number:"numero",array:"vettore"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`Input non valido: atteso instanceof ${i.expected}, ricevuto ${o}`;return`Input non valido: atteso ${_}, ricevuto ${o}`}case"invalid_value":if(i.values.length===1)return`Input non valido: atteso ${T(i.values[0])}`;return`Opzione non valida: atteso uno tra ${U(i.values,"|")}`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c)return`Troppo grande: ${i.origin??"valore"} deve avere ${_}${i.maximum.toString()} ${c.unit??"elementi"}`;return`Troppo grande: ${i.origin??"valore"} deve essere ${_}${i.maximum.toString()}`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c)return`Troppo piccolo: ${i.origin} deve avere ${_}${i.minimum.toString()} ${c.unit}`;return`Troppo piccolo: ${i.origin} deve essere ${_}${i.minimum.toString()}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`Stringa non valida: deve iniziare con "${_.prefix}"`;if(_.format==="ends_with")return`Stringa non valida: deve terminare con "${_.suffix}"`;if(_.format==="includes")return`Stringa non valida: deve includere "${_.includes}"`;if(_.format==="regex")return`Stringa non valida: deve corrispondere al pattern ${_.pattern}`;return`Invalid ${t[_.format]??i.format}`}case"not_multiple_of":return`Numero non valido: deve essere un multiplo di ${i.divisor}`;case"unrecognized_keys":return`Chiav${i.keys.length>1?"i":"e"} non riconosciut${i.keys.length>1?"e":"a"}: ${U(i.keys,", ")}`;case"invalid_key":return`Chiave non valida in ${i.origin}`;case"invalid_union":return"Input non valido";case"invalid_element":return`Valore non valido in ${i.origin}`;default:return"Input non valido"}}};var v4=a(()=>{k()});function qb(){return{localeError:qq()}}var qq=()=>{let r={string:{unit:"\u6587\u5B57",verb:"\u3067\u3042\u308B"},file:{unit:"\u30D0\u30A4\u30C8",verb:"\u3067\u3042\u308B"},array:{unit:"\u8981\u7D20",verb:"\u3067\u3042\u308B"},set:{unit:"\u8981\u7D20",verb:"\u3067\u3042\u308B"}};function n(i){return r[i]??null}let t={regex:"\u5165\u529B\u5024",email:"\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9",url:"URL",emoji:"\u7D75\u6587\u5B57",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO\u65E5\u6642",date:"ISO\u65E5\u4ED8",time:"ISO\u6642\u523B",duration:"ISO\u671F\u9593",ipv4:"IPv4\u30A2\u30C9\u30EC\u30B9",ipv6:"IPv6\u30A2\u30C9\u30EC\u30B9",cidrv4:"IPv4\u7BC4\u56F2",cidrv6:"IPv6\u7BC4\u56F2",base64:"base64\u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217",base64url:"base64url\u30A8\u30F3\u30B3\u30FC\u30C9\u6587\u5B57\u5217",json_string:"JSON\u6587\u5B57\u5217",e164:"E.164\u756A\u53F7",jwt:"JWT",template_literal:"\u5165\u529B\u5024"},e={nan:"NaN",number:"\u6570\u5024",array:"\u914D\u5217"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`\u7121\u52B9\u306A\u5165\u529B: instanceof ${i.expected}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${o}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`;return`\u7121\u52B9\u306A\u5165\u529B: ${_}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F\u304C\u3001${o}\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F`}case"invalid_value":if(i.values.length===1)return`\u7121\u52B9\u306A\u5165\u529B: ${T(i.values[0])}\u304C\u671F\u5F85\u3055\u308C\u307E\u3057\u305F`;return`\u7121\u52B9\u306A\u9078\u629E: ${U(i.values,"\u3001")}\u306E\u3044\u305A\u308C\u304B\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;case"too_big":{let _=i.inclusive?"\u4EE5\u4E0B\u3067\u3042\u308B":"\u3088\u308A\u5C0F\u3055\u3044",c=n(i.origin);if(c)return`\u5927\u304D\u3059\u304E\u308B\u5024: ${i.origin??"\u5024"}\u306F${i.maximum.toString()}${c.unit??"\u8981\u7D20"}${_}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u5927\u304D\u3059\u304E\u308B\u5024: ${i.origin??"\u5024"}\u306F${i.maximum.toString()}${_}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`}case"too_small":{let _=i.inclusive?"\u4EE5\u4E0A\u3067\u3042\u308B":"\u3088\u308A\u5927\u304D\u3044",c=n(i.origin);if(c)return`\u5C0F\u3055\u3059\u304E\u308B\u5024: ${i.origin}\u306F${i.minimum.toString()}${c.unit}${_}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u5C0F\u3055\u3059\u304E\u308B\u5024: ${i.origin}\u306F${i.minimum.toString()}${_}\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${_.prefix}"\u3067\u59CB\u307E\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(_.format==="ends_with")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${_.suffix}"\u3067\u7D42\u308F\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(_.format==="includes")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: "${_.includes}"\u3092\u542B\u3080\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;if(_.format==="regex")return`\u7121\u52B9\u306A\u6587\u5B57\u5217: \u30D1\u30BF\u30FC\u30F3${_.pattern}\u306B\u4E00\u81F4\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;return`\u7121\u52B9\u306A${t[_.format]??i.format}`}case"not_multiple_of":return`\u7121\u52B9\u306A\u6570\u5024: ${i.divisor}\u306E\u500D\u6570\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059`;case"unrecognized_keys":return`\u8A8D\u8B58\u3055\u308C\u3066\u3044\u306A\u3044\u30AD\u30FC${i.keys.length>1?"\u7FA4":""}: ${U(i.keys,"\u3001")}`;case"invalid_key":return`${i.origin}\u5185\u306E\u7121\u52B9\u306A\u30AD\u30FC`;case"invalid_union":return"\u7121\u52B9\u306A\u5165\u529B";case"invalid_element":return`${i.origin}\u5185\u306E\u7121\u52B9\u306A\u5024`;default:return"\u7121\u52B9\u306A\u5165\u529B"}}};var M4=a(()=>{k()});function Nb(){return{localeError:Nq()}}var Nq=()=>{let r={string:{unit:"\u10E1\u10D8\u10DB\u10D1\u10DD\u10DA\u10DD",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"},file:{unit:"\u10D1\u10D0\u10D8\u10E2\u10D8",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"},array:{unit:"\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"},set:{unit:"\u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8",verb:"\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1"}};function n(i){return r[i]??null}let t={regex:"\u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0",email:"\u10D4\u10DA-\u10E4\u10DD\u10E1\u10E2\u10D8\u10E1 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",url:"URL",emoji:"\u10D4\u10DB\u10DD\u10EF\u10D8",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u10D7\u10D0\u10E0\u10D8\u10E6\u10D8-\u10D3\u10E0\u10DD",date:"\u10D7\u10D0\u10E0\u10D8\u10E6\u10D8",time:"\u10D3\u10E0\u10DD",duration:"\u10EE\u10D0\u10DC\u10D2\u10E0\u10EB\u10DA\u10D8\u10D5\u10DD\u10D1\u10D0",ipv4:"IPv4 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",ipv6:"IPv6 \u10DB\u10D8\u10E1\u10D0\u10DB\u10D0\u10E0\u10D7\u10D8",cidrv4:"IPv4 \u10D3\u10D8\u10D0\u10DE\u10D0\u10D6\u10DD\u10DC\u10D8",cidrv6:"IPv6 \u10D3\u10D8\u10D0\u10DE\u10D0\u10D6\u10DD\u10DC\u10D8",base64:"base64-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8",base64url:"base64url-\u10D9\u10DD\u10D3\u10D8\u10E0\u10D4\u10D1\u10E3\u10DA\u10D8 \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8",json_string:"JSON \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8",e164:"E.164 \u10DC\u10DD\u10DB\u10D4\u10E0\u10D8",jwt:"JWT",template_literal:"\u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0"},e={nan:"NaN",number:"\u10E0\u10D8\u10EA\u10EE\u10D5\u10D8",string:"\u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8",boolean:"\u10D1\u10E3\u10DA\u10D4\u10D0\u10DC\u10D8",function:"\u10E4\u10E3\u10DC\u10E5\u10EA\u10D8\u10D0",array:"\u10DB\u10D0\u10E1\u10D8\u10D5\u10D8"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 instanceof ${i.expected}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${o}`;return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${_}, \u10DB\u10D8\u10E6\u10D4\u10D1\u10E3\u10DA\u10D8 ${o}`}case"invalid_value":if(i.values.length===1)return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${T(i.values[0])}`;return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D5\u10D0\u10E0\u10D8\u10D0\u10DC\u10E2\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8\u10D0 \u10D4\u10E0\u10D7-\u10D4\u10E0\u10D7\u10D8 ${U(i.values,"|")}-\u10D3\u10D0\u10DC`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c)return`\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10D3\u10D8\u10D3\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${i.origin??"\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0"} ${c.verb} ${_}${i.maximum.toString()} ${c.unit}`;return`\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10D3\u10D8\u10D3\u10D8: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${i.origin??"\u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0"} \u10D8\u10E7\u10DD\u10E1 ${_}${i.maximum.toString()}`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c)return`\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10DE\u10D0\u10E2\u10D0\u10E0\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${i.origin} ${c.verb} ${_}${i.minimum.toString()} ${c.unit}`;return`\u10D6\u10D4\u10D3\u10DB\u10D4\u10E2\u10D0\u10D3 \u10DE\u10D0\u10E2\u10D0\u10E0\u10D0: \u10DB\u10DD\u10E1\u10D0\u10DA\u10DD\u10D3\u10DC\u10D4\u10DA\u10D8 ${i.origin} \u10D8\u10E7\u10DD\u10E1 ${_}${i.minimum.toString()}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10D8\u10EC\u10E7\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 "${_.prefix}"-\u10D8\u10D7`;if(_.format==="ends_with")return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10DB\u10D7\u10D0\u10D5\u10E0\u10D3\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 "${_.suffix}"-\u10D8\u10D7`;if(_.format==="includes")return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1 "${_.includes}"-\u10E1`;if(_.format==="regex")return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E1\u10E2\u10E0\u10D8\u10DC\u10D2\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D4\u10E1\u10D0\u10D1\u10D0\u10DB\u10D4\u10D1\u10DD\u10D3\u10D4\u10E1 \u10E8\u10D0\u10D1\u10DA\u10DD\u10DC\u10E1 ${_.pattern}`;return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 ${t[_.format]??i.format}`}case"not_multiple_of":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E0\u10D8\u10EA\u10EE\u10D5\u10D8: \u10E3\u10DC\u10D3\u10D0 \u10D8\u10E7\u10DD\u10E1 ${i.divisor}-\u10D8\u10E1 \u10EF\u10D4\u10E0\u10D0\u10D3\u10D8`;case"unrecognized_keys":return`\u10E3\u10EA\u10DC\u10DD\u10D1\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1${i.keys.length>1?"\u10D4\u10D1\u10D8":"\u10D8"}: ${U(i.keys,", ")}`;case"invalid_key":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10D2\u10D0\u10E1\u10D0\u10E6\u10D4\u10D1\u10D8 ${i.origin}-\u10E8\u10D8`;case"invalid_union":return"\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0";case"invalid_element":return`\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10DB\u10DC\u10D8\u10E8\u10D5\u10DC\u10D4\u10DA\u10DD\u10D1\u10D0 ${i.origin}-\u10E8\u10D8`;default:return"\u10D0\u10E0\u10D0\u10E1\u10EC\u10DD\u10E0\u10D8 \u10E8\u10D4\u10E7\u10D5\u10D0\u10DC\u10D0"}}};var V4=a(()=>{k()});function f_(){return{localeError:Lq()}}var Lq=()=>{let r={string:{unit:"\u178F\u17BD\u17A2\u1780\u17D2\u179F\u179A",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"},file:{unit:"\u1794\u17C3",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"},array:{unit:"\u1792\u17B6\u178F\u17BB",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"},set:{unit:"\u1792\u17B6\u178F\u17BB",verb:"\u1782\u17BD\u179A\u1798\u17B6\u1793"}};function n(i){return r[i]??null}let t={regex:"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B",email:"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793\u17A2\u17CA\u17B8\u1798\u17C2\u179B",url:"URL",emoji:"\u179F\u1789\u17D2\u1789\u17B6\u17A2\u17B6\u179A\u1798\u17D2\u1798\u178E\u17CD",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791 \u1793\u17B7\u1784\u1798\u17C9\u17C4\u1784 ISO",date:"\u1780\u17B6\u179B\u1794\u179A\u17B7\u1785\u17D2\u1786\u17C1\u1791 ISO",time:"\u1798\u17C9\u17C4\u1784 ISO",duration:"\u179A\u1799\u17C8\u1796\u17C1\u179B ISO",ipv4:"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv4",ipv6:"\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv6",cidrv4:"\u178A\u17C2\u1793\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv4",cidrv6:"\u178A\u17C2\u1793\u17A2\u17B6\u179F\u1799\u178A\u17D2\u178B\u17B6\u1793 IPv6",base64:"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u17A2\u17CA\u17B7\u1780\u17BC\u178A base64",base64url:"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u17A2\u17CA\u17B7\u1780\u17BC\u178A base64url",json_string:"\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A JSON",e164:"\u179B\u17C1\u1781 E.164",jwt:"JWT",template_literal:"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B"},e={nan:"NaN",number:"\u179B\u17C1\u1781",array:"\u17A2\u17B6\u179A\u17C1 (Array)",null:"\u1782\u17D2\u1798\u17B6\u1793\u178F\u1798\u17D2\u179B\u17C3 (null)"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A instanceof ${i.expected} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${o}`;return`\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${_} \u1794\u17C9\u17BB\u1793\u17D2\u178F\u17C2\u1791\u1791\u17BD\u179B\u1794\u17B6\u1793 ${o}`}case"invalid_value":if(i.values.length===1)return`\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1794\u1789\u17D2\u1785\u17BC\u179B\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${T(i.values[0])}`;return`\u1787\u1798\u17D2\u179A\u17BE\u179F\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1787\u17B6\u1798\u17BD\u1799\u1780\u17D2\u1793\u17BB\u1784\u1785\u17C6\u178E\u17C4\u1798 ${U(i.values,"|")}`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c)return`\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${i.origin??"\u178F\u1798\u17D2\u179B\u17C3"} ${_} ${i.maximum.toString()} ${c.unit??"\u1792\u17B6\u178F\u17BB"}`;return`\u1792\u17C6\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${i.origin??"\u178F\u1798\u17D2\u179B\u17C3"} ${_} ${i.maximum.toString()}`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c)return`\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${i.origin} ${_} ${i.minimum.toString()} ${c.unit}`;return`\u178F\u17BC\u1785\u1796\u17C1\u1780\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1780\u17B6\u179A ${i.origin} ${_} ${i.minimum.toString()}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1785\u17B6\u1794\u17CB\u1795\u17D2\u178F\u17BE\u1798\u178A\u17C4\u1799 "${_.prefix}"`;if(_.format==="ends_with")return`\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1794\u1789\u17D2\u1785\u1794\u17CB\u178A\u17C4\u1799 "${_.suffix}"`;if(_.format==="includes")return`\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u1798\u17B6\u1793 "${_.includes}"`;if(_.format==="regex")return`\u1781\u17D2\u179F\u17C2\u17A2\u1780\u17D2\u179F\u179A\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u178F\u17C2\u1795\u17D2\u1782\u17BC\u1795\u17D2\u1782\u1784\u1793\u17B9\u1784\u1791\u1798\u17D2\u179A\u1784\u17CB\u178A\u17C2\u179B\u1794\u17B6\u1793\u1780\u17C6\u178E\u178F\u17CB ${_.pattern}`;return`\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 ${t[_.format]??i.format}`}case"not_multiple_of":return`\u179B\u17C1\u1781\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u17D6 \u178F\u17D2\u179A\u17BC\u179C\u178F\u17C2\u1787\u17B6\u1796\u17A0\u17BB\u1782\u17BB\u178E\u1793\u17C3 ${i.divisor}`;case"unrecognized_keys":return`\u179A\u1780\u1783\u17BE\u1789\u179F\u17C4\u1798\u17B7\u1793\u179F\u17D2\u1782\u17B6\u179B\u17CB\u17D6 ${U(i.keys,", ")}`;case"invalid_key":return`\u179F\u17C4\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784 ${i.origin}`;case"invalid_union":return"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C";case"invalid_element":return`\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C\u1793\u17C5\u1780\u17D2\u1793\u17BB\u1784 ${i.origin}`;default:return"\u1791\u17B7\u1793\u17D2\u1793\u1793\u17D0\u1799\u1798\u17B7\u1793\u178F\u17D2\u179A\u17B9\u1798\u178F\u17D2\u179A\u17BC\u179C"}}};var Lb=a(()=>{k()});function zb(){return f_()}var F4=a(()=>{Lb()});function jb(){return{localeError:zq()}}var zq=()=>{let r={string:{unit:"\uBB38\uC790",verb:"to have"},file:{unit:"\uBC14\uC774\uD2B8",verb:"to have"},array:{unit:"\uAC1C",verb:"to have"},set:{unit:"\uAC1C",verb:"to have"}};function n(i){return r[i]??null}let t={regex:"\uC785\uB825",email:"\uC774\uBA54\uC77C \uC8FC\uC18C",url:"URL",emoji:"\uC774\uBAA8\uC9C0",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \uB0A0\uC9DC\uC2DC\uAC04",date:"ISO \uB0A0\uC9DC",time:"ISO \uC2DC\uAC04",duration:"ISO \uAE30\uAC04",ipv4:"IPv4 \uC8FC\uC18C",ipv6:"IPv6 \uC8FC\uC18C",cidrv4:"IPv4 \uBC94\uC704",cidrv6:"IPv6 \uBC94\uC704",base64:"base64 \uC778\uCF54\uB529 \uBB38\uC790\uC5F4",base64url:"base64url \uC778\uCF54\uB529 \uBB38\uC790\uC5F4",json_string:"JSON \uBB38\uC790\uC5F4",e164:"E.164 \uBC88\uD638",jwt:"JWT",template_literal:"\uC785\uB825"},e={nan:"NaN"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 instanceof ${i.expected}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${o}\uC785\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C \uC785\uB825: \uC608\uC0C1 \uD0C0\uC785\uC740 ${_}, \uBC1B\uC740 \uD0C0\uC785\uC740 ${o}\uC785\uB2C8\uB2E4`}case"invalid_value":if(i.values.length===1)return`\uC798\uBABB\uB41C \uC785\uB825: \uAC12\uC740 ${T(i.values[0])} \uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C \uC635\uC158: ${U(i.values,"\uB610\uB294 ")} \uC911 \uD558\uB098\uC5EC\uC57C \uD569\uB2C8\uB2E4`;case"too_big":{let _=i.inclusive?"\uC774\uD558":"\uBBF8\uB9CC",c=_==="\uBBF8\uB9CC"?"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4":"\uC5EC\uC57C \uD569\uB2C8\uB2E4",o=n(i.origin),u=o?.unit??"\uC694\uC18C";if(o)return`${i.origin??"\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${i.maximum.toString()}${u} ${_}${c}`;return`${i.origin??"\uAC12"}\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4: ${i.maximum.toString()} ${_}${c}`}case"too_small":{let _=i.inclusive?"\uC774\uC0C1":"\uCD08\uACFC",c=_==="\uC774\uC0C1"?"\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4":"\uC5EC\uC57C \uD569\uB2C8\uB2E4",o=n(i.origin),u=o?.unit??"\uC694\uC18C";if(o)return`${i.origin??"\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${i.minimum.toString()}${u} ${_}${c}`;return`${i.origin??"\uAC12"}\uC774 \uB108\uBB34 \uC791\uC2B5\uB2C8\uB2E4: ${i.minimum.toString()} ${_}${c}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${_.prefix}"(\uC73C)\uB85C \uC2DC\uC791\uD574\uC57C \uD569\uB2C8\uB2E4`;if(_.format==="ends_with")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${_.suffix}"(\uC73C)\uB85C \uB05D\uB098\uC57C \uD569\uB2C8\uB2E4`;if(_.format==="includes")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: "${_.includes}"\uC744(\uB97C) \uD3EC\uD568\uD574\uC57C \uD569\uB2C8\uB2E4`;if(_.format==="regex")return`\uC798\uBABB\uB41C \uBB38\uC790\uC5F4: \uC815\uADDC\uC2DD ${_.pattern} \uD328\uD134\uACFC \uC77C\uCE58\uD574\uC57C \uD569\uB2C8\uB2E4`;return`\uC798\uBABB\uB41C ${t[_.format]??i.format}`}case"not_multiple_of":return`\uC798\uBABB\uB41C \uC22B\uC790: ${i.divisor}\uC758 \uBC30\uC218\uC5EC\uC57C \uD569\uB2C8\uB2E4`;case"unrecognized_keys":return`\uC778\uC2DD\uD560 \uC218 \uC5C6\uB294 \uD0A4: ${U(i.keys,", ")}`;case"invalid_key":return`\uC798\uBABB\uB41C \uD0A4: ${i.origin}`;case"invalid_union":return"\uC798\uBABB\uB41C \uC785\uB825";case"invalid_element":return`\uC798\uBABB\uB41C \uAC12: ${i.origin}`;default:return"\uC798\uBABB\uB41C \uC785\uB825"}}};var G4=a(()=>{k()});function X4(r){let n=Math.abs(r),t=n%10,e=n%100;if(e>=11&&e<=19||t===0)return"many";if(t===1)return"one";return"few"}function Wb(){return{localeError:jq()}}var b_=(r)=>{return r.charAt(0).toUpperCase()+r.slice(1)},jq=()=>{let r={string:{unit:{one:"simbolis",few:"simboliai",many:"simboli\u0173"},verb:{smaller:{inclusive:"turi b\u016Bti ne ilgesn\u0117 kaip",notInclusive:"turi b\u016Bti trumpesn\u0117 kaip"},bigger:{inclusive:"turi b\u016Bti ne trumpesn\u0117 kaip",notInclusive:"turi b\u016Bti ilgesn\u0117 kaip"}}},file:{unit:{one:"baitas",few:"baitai",many:"bait\u0173"},verb:{smaller:{inclusive:"turi b\u016Bti ne didesnis kaip",notInclusive:"turi b\u016Bti ma\u017Eesnis kaip"},bigger:{inclusive:"turi b\u016Bti ne ma\u017Eesnis kaip",notInclusive:"turi b\u016Bti didesnis kaip"}}},array:{unit:{one:"element\u0105",few:"elementus",many:"element\u0173"},verb:{smaller:{inclusive:"turi tur\u0117ti ne daugiau kaip",notInclusive:"turi tur\u0117ti ma\u017Eiau kaip"},bigger:{inclusive:"turi tur\u0117ti ne ma\u017Eiau kaip",notInclusive:"turi tur\u0117ti daugiau kaip"}}},set:{unit:{one:"element\u0105",few:"elementus",many:"element\u0173"},verb:{smaller:{inclusive:"turi tur\u0117ti ne daugiau kaip",notInclusive:"turi tur\u0117ti ma\u017Eiau kaip"},bigger:{inclusive:"turi tur\u0117ti ne ma\u017Eiau kaip",notInclusive:"turi tur\u0117ti daugiau kaip"}}}};function n(i,_,c,o){let u=r[i]??null;if(u===null)return u;return{unit:u.unit[_],verb:u.verb[o][c?"inclusive":"notInclusive"]}}let t={regex:"\u012Fvestis",email:"el. pa\u0161to 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\u0117",ipv4:"IPv4 adresas",ipv6:"IPv6 adresas",cidrv4:"IPv4 tinklo prefiksas (CIDR)",cidrv6:"IPv6 tinklo prefiksas (CIDR)",base64:"base64 u\u017Ekoduota eilut\u0117",base64url:"base64url u\u017Ekoduota eilut\u0117",json_string:"JSON eilut\u0117",e164:"E.164 numeris",jwt:"JWT",template_literal:"\u012Fvestis"},e={nan:"NaN",number:"skai\u010Dius",bigint:"sveikasis skai\u010Dius",string:"eilut\u0117",boolean:"login\u0117 reik\u0161m\u0117",undefined:"neapibr\u0117\u017Eta reik\u0161m\u0117",function:"funkcija",symbol:"simbolis",array:"masyvas",object:"objektas",null:"nulin\u0117 reik\u0161m\u0117"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`Gautas tipas ${o}, o tik\u0117tasi - instanceof ${i.expected}`;return`Gautas tipas ${o}, o tik\u0117tasi - ${_}`}case"invalid_value":if(i.values.length===1)return`Privalo b\u016Bti ${T(i.values[0])}`;return`Privalo b\u016Bti vienas i\u0161 ${U(i.values,"|")} pasirinkim\u0173`;case"too_big":{let _=e[i.origin]??i.origin,c=n(i.origin,X4(Number(i.maximum)),i.inclusive??!1,"smaller");if(c?.verb)return`${b_(_??i.origin??"reik\u0161m\u0117")} ${c.verb} ${i.maximum.toString()} ${c.unit??"element\u0173"}`;let o=i.inclusive?"ne didesnis kaip":"ma\u017Eesnis kaip";return`${b_(_??i.origin??"reik\u0161m\u0117")} turi b\u016Bti ${o} ${i.maximum.toString()} ${c?.unit}`}case"too_small":{let _=e[i.origin]??i.origin,c=n(i.origin,X4(Number(i.minimum)),i.inclusive??!1,"bigger");if(c?.verb)return`${b_(_??i.origin??"reik\u0161m\u0117")} ${c.verb} ${i.minimum.toString()} ${c.unit??"element\u0173"}`;let o=i.inclusive?"ne ma\u017Eesnis kaip":"didesnis kaip";return`${b_(_??i.origin??"reik\u0161m\u0117")} turi b\u016Bti ${o} ${i.minimum.toString()} ${c?.unit}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`Eilut\u0117 privalo prasid\u0117ti "${_.prefix}"`;if(_.format==="ends_with")return`Eilut\u0117 privalo pasibaigti "${_.suffix}"`;if(_.format==="includes")return`Eilut\u0117 privalo \u012Ftraukti "${_.includes}"`;if(_.format==="regex")return`Eilut\u0117 privalo atitikti ${_.pattern}`;return`Neteisingas ${t[_.format]??i.format}`}case"not_multiple_of":return`Skai\u010Dius privalo b\u016Bti ${i.divisor} kartotinis.`;case"unrecognized_keys":return`Neatpa\u017Eint${i.keys.length>1?"i":"as"} rakt${i.keys.length>1?"ai":"as"}: ${U(i.keys,", ")}`;case"invalid_key":return"Rastas klaidingas raktas";case"invalid_union":return"Klaidinga \u012Fvestis";case"invalid_element":{let _=e[i.origin]??i.origin;return`${b_(_??i.origin??"reik\u0161m\u0117")} turi klaiding\u0105 \u012Fvest\u012F`}default:return"Klaidinga \u012Fvestis"}}};var B4=a(()=>{k()});function Ab(){return{localeError:Wq()}}var Wq=()=>{let r={string:{unit:"\u0437\u043D\u0430\u0446\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"},file:{unit:"\u0431\u0430\u0458\u0442\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"},array:{unit:"\u0441\u0442\u0430\u0432\u043A\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"},set:{unit:"\u0441\u0442\u0430\u0432\u043A\u0438",verb:"\u0434\u0430 \u0438\u043C\u0430\u0430\u0442"}};function n(i){return r[i]??null}let t={regex:"\u0432\u043D\u0435\u0441",email:"\u0430\u0434\u0440\u0435\u0441\u0430 \u043D\u0430 \u0435-\u043F\u043E\u0448\u0442\u0430",url:"URL",emoji:"\u0435\u043C\u043E\u045F\u0438",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0434\u0430\u0442\u0443\u043C \u0438 \u0432\u0440\u0435\u043C\u0435",date:"ISO \u0434\u0430\u0442\u0443\u043C",time:"ISO \u0432\u0440\u0435\u043C\u0435",duration:"ISO \u0432\u0440\u0435\u043C\u0435\u0442\u0440\u0430\u0435\u045A\u0435",ipv4:"IPv4 \u0430\u0434\u0440\u0435\u0441\u0430",ipv6:"IPv6 \u0430\u0434\u0440\u0435\u0441\u0430",cidrv4:"IPv4 \u043E\u043F\u0441\u0435\u0433",cidrv6:"IPv6 \u043E\u043F\u0441\u0435\u0433",base64:"base64-\u0435\u043D\u043A\u043E\u0434\u0438\u0440\u0430\u043D\u0430 \u043D\u0438\u0437\u0430",base64url:"base64url-\u0435\u043D\u043A\u043E\u0434\u0438\u0440\u0430\u043D\u0430 \u043D\u0438\u0437\u0430",json_string:"JSON \u043D\u0438\u0437\u0430",e164:"E.164 \u0431\u0440\u043E\u0458",jwt:"JWT",template_literal:"\u0432\u043D\u0435\u0441"},e={nan:"NaN",number:"\u0431\u0440\u043E\u0458",array:"\u043D\u0438\u0437\u0430"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 instanceof ${i.expected}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${o}`;return`\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${_}, \u043F\u0440\u0438\u043C\u0435\u043D\u043E ${o}`}case"invalid_value":if(i.values.length===1)return`Invalid input: expected ${T(i.values[0])}`;return`\u0413\u0440\u0435\u0448\u0430\u043D\u0430 \u043E\u043F\u0446\u0438\u0458\u0430: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 \u0435\u0434\u043D\u0430 ${U(i.values,"|")}`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c)return`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${i.origin??"\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430"} \u0434\u0430 \u0438\u043C\u0430 ${_}${i.maximum.toString()} ${c.unit??"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438"}`;return`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u0433\u043E\u043B\u0435\u043C: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${i.origin??"\u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442\u0430"} \u0434\u0430 \u0431\u0438\u0434\u0435 ${_}${i.maximum.toString()}`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c)return`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${i.origin} \u0434\u0430 \u0438\u043C\u0430 ${_}${i.minimum.toString()} ${c.unit}`;return`\u041F\u0440\u0435\u043C\u043D\u043E\u0433\u0443 \u043C\u0430\u043B: \u0441\u0435 \u043E\u0447\u0435\u043A\u0443\u0432\u0430 ${i.origin} \u0434\u0430 \u0431\u0438\u0434\u0435 ${_}${i.minimum.toString()}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0437\u0430\u043F\u043E\u0447\u043D\u0443\u0432\u0430 \u0441\u043E "${_.prefix}"`;if(_.format==="ends_with")return`\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0437\u0430\u0432\u0440\u0448\u0443\u0432\u0430 \u0441\u043E "${_.suffix}"`;if(_.format==="includes")return`\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0432\u043A\u043B\u0443\u0447\u0443\u0432\u0430 "${_.includes}"`;if(_.format==="regex")return`\u041D\u0435\u0432\u0430\u0436\u0435\u0447\u043A\u0430 \u043D\u0438\u0437\u0430: \u043C\u043E\u0440\u0430 \u0434\u0430 \u043E\u0434\u0433\u043E\u0430\u0440\u0430 \u043D\u0430 \u043F\u0430\u0442\u0435\u0440\u043D\u043E\u0442 ${_.pattern}`;return`Invalid ${t[_.format]??i.format}`}case"not_multiple_of":return`\u0413\u0440\u0435\u0448\u0435\u043D \u0431\u0440\u043E\u0458: \u043C\u043E\u0440\u0430 \u0434\u0430 \u0431\u0438\u0434\u0435 \u0434\u0435\u043B\u0438\u0432 \u0441\u043E ${i.divisor}`;case"unrecognized_keys":return`${i.keys.length>1?"\u041D\u0435\u043F\u0440\u0435\u043F\u043E\u0437\u043D\u0430\u0435\u043D\u0438 \u043A\u043B\u0443\u0447\u0435\u0432\u0438":"\u041D\u0435\u043F\u0440\u0435\u043F\u043E\u0437\u043D\u0430\u0435\u043D \u043A\u043B\u0443\u0447"}: ${U(i.keys,", ")}`;case"invalid_key":return`\u0413\u0440\u0435\u0448\u0435\u043D \u043A\u043B\u0443\u0447 \u0432\u043E ${i.origin}`;case"invalid_union":return"\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441";case"invalid_element":return`\u0413\u0440\u0435\u0448\u043D\u0430 \u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442 \u0432\u043E ${i.origin}`;default:return"\u0413\u0440\u0435\u0448\u0435\u043D \u0432\u043D\u0435\u0441"}}};var H4=a(()=>{k()});function Pb(){return{localeError:Aq()}}var Aq=()=>{let r={string:{unit:"aksara",verb:"mempunyai"},file:{unit:"bait",verb:"mempunyai"},array:{unit:"elemen",verb:"mempunyai"},set:{unit:"elemen",verb:"mempunyai"}};function n(i){return r[i]??null}let t={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"},e={nan:"NaN",number:"nombor"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`Input tidak sah: dijangka instanceof ${i.expected}, diterima ${o}`;return`Input tidak sah: dijangka ${_}, diterima ${o}`}case"invalid_value":if(i.values.length===1)return`Input tidak sah: dijangka ${T(i.values[0])}`;return`Pilihan tidak sah: dijangka salah satu daripada ${U(i.values,"|")}`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c)return`Terlalu besar: dijangka ${i.origin??"nilai"} ${c.verb} ${_}${i.maximum.toString()} ${c.unit??"elemen"}`;return`Terlalu besar: dijangka ${i.origin??"nilai"} adalah ${_}${i.maximum.toString()}`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c)return`Terlalu kecil: dijangka ${i.origin} ${c.verb} ${_}${i.minimum.toString()} ${c.unit}`;return`Terlalu kecil: dijangka ${i.origin} adalah ${_}${i.minimum.toString()}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`String tidak sah: mesti bermula dengan "${_.prefix}"`;if(_.format==="ends_with")return`String tidak sah: mesti berakhir dengan "${_.suffix}"`;if(_.format==="includes")return`String tidak sah: mesti mengandungi "${_.includes}"`;if(_.format==="regex")return`String tidak sah: mesti sepadan dengan corak ${_.pattern}`;return`${t[_.format]??i.format} tidak sah`}case"not_multiple_of":return`Nombor tidak sah: perlu gandaan ${i.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali: ${U(i.keys,", ")}`;case"invalid_key":return`Kunci tidak sah dalam ${i.origin}`;case"invalid_union":return"Input tidak sah";case"invalid_element":return`Nilai tidak sah dalam ${i.origin}`;default:return"Input tidak sah"}}};var Y4=a(()=>{k()});function Jb(){return{localeError:Pq()}}var Pq=()=>{let r={string:{unit:"tekens",verb:"heeft"},file:{unit:"bytes",verb:"heeft"},array:{unit:"elementen",verb:"heeft"},set:{unit:"elementen",verb:"heeft"}};function n(i){return r[i]??null}let t={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"},e={nan:"NaN",number:"getal"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`Ongeldige invoer: verwacht instanceof ${i.expected}, ontving ${o}`;return`Ongeldige invoer: verwacht ${_}, ontving ${o}`}case"invalid_value":if(i.values.length===1)return`Ongeldige invoer: verwacht ${T(i.values[0])}`;return`Ongeldige optie: verwacht \xE9\xE9n van ${U(i.values,"|")}`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin),o=i.origin==="date"?"laat":i.origin==="string"?"lang":"groot";if(c)return`Te ${o}: verwacht dat ${i.origin??"waarde"} ${_}${i.maximum.toString()} ${c.unit??"elementen"} ${c.verb}`;return`Te ${o}: verwacht dat ${i.origin??"waarde"} ${_}${i.maximum.toString()} is`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin),o=i.origin==="date"?"vroeg":i.origin==="string"?"kort":"klein";if(c)return`Te ${o}: verwacht dat ${i.origin} ${_}${i.minimum.toString()} ${c.unit} ${c.verb}`;return`Te ${o}: verwacht dat ${i.origin} ${_}${i.minimum.toString()} is`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`Ongeldige tekst: moet met "${_.prefix}" beginnen`;if(_.format==="ends_with")return`Ongeldige tekst: moet op "${_.suffix}" eindigen`;if(_.format==="includes")return`Ongeldige tekst: moet "${_.includes}" bevatten`;if(_.format==="regex")return`Ongeldige tekst: moet overeenkomen met patroon ${_.pattern}`;return`Ongeldig: ${t[_.format]??i.format}`}case"not_multiple_of":return`Ongeldig getal: moet een veelvoud van ${i.divisor} zijn`;case"unrecognized_keys":return`Onbekende key${i.keys.length>1?"s":""}: ${U(i.keys,", ")}`;case"invalid_key":return`Ongeldige key in ${i.origin}`;case"invalid_union":return"Ongeldige invoer";case"invalid_element":return`Ongeldige waarde in ${i.origin}`;default:return"Ongeldige invoer"}}};var Q4=a(()=>{k()});function kb(){return{localeError:Jq()}}var Jq=()=>{let r={string:{unit:"tegn",verb:"\xE5 ha"},file:{unit:"bytes",verb:"\xE5 ha"},array:{unit:"elementer",verb:"\xE5 inneholde"},set:{unit:"elementer",verb:"\xE5 inneholde"}};function n(i){return r[i]??null}let t={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\xE5de",ipv6:"IPv6-omr\xE5de",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"},e={nan:"NaN",number:"tall",array:"liste"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`Ugyldig input: forventet instanceof ${i.expected}, fikk ${o}`;return`Ugyldig input: forventet ${_}, fikk ${o}`}case"invalid_value":if(i.values.length===1)return`Ugyldig verdi: forventet ${T(i.values[0])}`;return`Ugyldig valg: forventet en av ${U(i.values,"|")}`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c)return`For stor(t): forventet ${i.origin??"value"} til \xE5 ha ${_}${i.maximum.toString()} ${c.unit??"elementer"}`;return`For stor(t): forventet ${i.origin??"value"} til \xE5 ha ${_}${i.maximum.toString()}`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c)return`For lite(n): forventet ${i.origin} til \xE5 ha ${_}${i.minimum.toString()} ${c.unit}`;return`For lite(n): forventet ${i.origin} til \xE5 ha ${_}${i.minimum.toString()}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`Ugyldig streng: m\xE5 starte med "${_.prefix}"`;if(_.format==="ends_with")return`Ugyldig streng: m\xE5 ende med "${_.suffix}"`;if(_.format==="includes")return`Ugyldig streng: m\xE5 inneholde "${_.includes}"`;if(_.format==="regex")return`Ugyldig streng: m\xE5 matche m\xF8nsteret ${_.pattern}`;return`Ugyldig ${t[_.format]??i.format}`}case"not_multiple_of":return`Ugyldig tall: m\xE5 v\xE6re et multiplum av ${i.divisor}`;case"unrecognized_keys":return`${i.keys.length>1?"Ukjente n\xF8kler":"Ukjent n\xF8kkel"}: ${U(i.keys,", ")}`;case"invalid_key":return`Ugyldig n\xF8kkel i ${i.origin}`;case"invalid_union":return"Ugyldig input";case"invalid_element":return`Ugyldig verdi i ${i.origin}`;default:return"Ugyldig input"}}};var K4=a(()=>{k()});function vb(){return{localeError:kq()}}var kq=()=>{let r={string:{unit:"harf",verb:"olmal\u0131d\u0131r"},file:{unit:"bayt",verb:"olmal\u0131d\u0131r"},array:{unit:"unsur",verb:"olmal\u0131d\u0131r"},set:{unit:"unsur",verb:"olmal\u0131d\u0131r"}};function n(i){return r[i]??null}let t={regex:"giren",email:"epostag\xE2h",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\xE2m\u0131",date:"ISO tarihi",time:"ISO zaman\u0131",duration:"ISO m\xFCddeti",ipv4:"IPv4 ni\u015F\xE2n\u0131",ipv6:"IPv6 ni\u015F\xE2n\u0131",cidrv4:"IPv4 menzili",cidrv6:"IPv6 menzili",base64:"base64-\u015Fifreli metin",base64url:"base64url-\u015Fifreli metin",json_string:"JSON metin",e164:"E.164 say\u0131s\u0131",jwt:"JWT",template_literal:"giren"},e={nan:"NaN",number:"numara",array:"saf",null:"gayb"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`F\xE2sit giren: umulan instanceof ${i.expected}, al\u0131nan ${o}`;return`F\xE2sit giren: umulan ${_}, al\u0131nan ${o}`}case"invalid_value":if(i.values.length===1)return`F\xE2sit giren: umulan ${T(i.values[0])}`;return`F\xE2sit tercih: m\xFBteberler ${U(i.values,"|")}`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c)return`Fazla b\xFCy\xFCk: ${i.origin??"value"}, ${_}${i.maximum.toString()} ${c.unit??"elements"} sahip olmal\u0131yd\u0131.`;return`Fazla b\xFCy\xFCk: ${i.origin??"value"}, ${_}${i.maximum.toString()} olmal\u0131yd\u0131.`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c)return`Fazla k\xFC\xE7\xFCk: ${i.origin}, ${_}${i.minimum.toString()} ${c.unit} sahip olmal\u0131yd\u0131.`;return`Fazla k\xFC\xE7\xFCk: ${i.origin}, ${_}${i.minimum.toString()} olmal\u0131yd\u0131.`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`F\xE2sit metin: "${_.prefix}" ile ba\u015Flamal\u0131.`;if(_.format==="ends_with")return`F\xE2sit metin: "${_.suffix}" ile bitmeli.`;if(_.format==="includes")return`F\xE2sit metin: "${_.includes}" ihtiv\xE2 etmeli.`;if(_.format==="regex")return`F\xE2sit metin: ${_.pattern} nak\u015F\u0131na uymal\u0131.`;return`F\xE2sit ${t[_.format]??i.format}`}case"not_multiple_of":return`F\xE2sit say\u0131: ${i.divisor} kat\u0131 olmal\u0131yd\u0131.`;case"unrecognized_keys":return`Tan\u0131nmayan anahtar ${i.keys.length>1?"s":""}: ${U(i.keys,", ")}`;case"invalid_key":return`${i.origin} i\xE7in tan\u0131nmayan anahtar var.`;case"invalid_union":return"Giren tan\u0131namad\u0131.";case"invalid_element":return`${i.origin} i\xE7in tan\u0131nmayan k\u0131ymet var.`;default:return"K\u0131ymet tan\u0131namad\u0131."}}};var C4=a(()=>{k()});function Mb(){return{localeError:vq()}}var vq=()=>{let r={string:{unit:"\u062A\u0648\u06A9\u064A",verb:"\u0648\u0644\u0631\u064A"},file:{unit:"\u0628\u0627\u06CC\u067C\u0633",verb:"\u0648\u0644\u0631\u064A"},array:{unit:"\u062A\u0648\u06A9\u064A",verb:"\u0648\u0644\u0631\u064A"},set:{unit:"\u062A\u0648\u06A9\u064A",verb:"\u0648\u0644\u0631\u064A"}};function n(i){return r[i]??null}let t={regex:"\u0648\u0631\u0648\u062F\u064A",email:"\u0628\u0631\u06CC\u069A\u0646\u0627\u0644\u06CC\u06A9",url:"\u06CC\u0648 \u0622\u0631 \u0627\u0644",emoji:"\u0627\u06CC\u0645\u0648\u062C\u064A",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u0646\u06CC\u067C\u0647 \u0627\u0648 \u0648\u062E\u062A",date:"\u0646\u06D0\u067C\u0647",time:"\u0648\u062E\u062A",duration:"\u0645\u0648\u062F\u0647",ipv4:"\u062F IPv4 \u067E\u062A\u0647",ipv6:"\u062F IPv6 \u067E\u062A\u0647",cidrv4:"\u062F IPv4 \u0633\u0627\u062D\u0647",cidrv6:"\u062F IPv6 \u0633\u0627\u062D\u0647",base64:"base64-encoded \u0645\u062A\u0646",base64url:"base64url-encoded \u0645\u062A\u0646",json_string:"JSON \u0645\u062A\u0646",e164:"\u062F E.164 \u0634\u0645\u06D0\u0631\u0647",jwt:"JWT",template_literal:"\u0648\u0631\u0648\u062F\u064A"},e={nan:"NaN",number:"\u0639\u062F\u062F",array:"\u0627\u0631\u06D0"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F instanceof ${i.expected} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${o} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`;return`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${_} \u0648\u0627\u06CC, \u0645\u06AB\u0631 ${o} \u062A\u0631\u0644\u0627\u0633\u0647 \u0634\u0648`}case"invalid_value":if(i.values.length===1)return`\u0646\u0627\u0633\u0645 \u0648\u0631\u0648\u062F\u064A: \u0628\u0627\u06CC\u062F ${T(i.values[0])} \u0648\u0627\u06CC`;return`\u0646\u0627\u0633\u0645 \u0627\u0646\u062A\u062E\u0627\u0628: \u0628\u0627\u06CC\u062F \u06CC\u0648 \u0644\u0647 ${U(i.values,"|")} \u0685\u062E\u0647 \u0648\u0627\u06CC`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c)return`\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${i.origin??"\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${_}${i.maximum.toString()} ${c.unit??"\u0639\u0646\u0635\u0631\u0648\u0646\u0647"} \u0648\u0644\u0631\u064A`;return`\u0689\u06CC\u0631 \u0644\u0648\u06CC: ${i.origin??"\u0627\u0631\u0632\u069A\u062A"} \u0628\u0627\u06CC\u062F ${_}${i.maximum.toString()} \u0648\u064A`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c)return`\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${i.origin} \u0628\u0627\u06CC\u062F ${_}${i.minimum.toString()} ${c.unit} \u0648\u0644\u0631\u064A`;return`\u0689\u06CC\u0631 \u06A9\u0648\u0686\u0646\u06CC: ${i.origin} \u0628\u0627\u06CC\u062F ${_}${i.minimum.toString()} \u0648\u064A`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${_.prefix}" \u0633\u0631\u0647 \u067E\u06CC\u0644 \u0634\u064A`;if(_.format==="ends_with")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F "${_.suffix}" \u0633\u0631\u0647 \u067E\u0627\u06CC \u062A\u0647 \u0648\u0631\u0633\u064A\u0696\u064A`;if(_.format==="includes")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F "${_.includes}" \u0648\u0644\u0631\u064A`;if(_.format==="regex")return`\u0646\u0627\u0633\u0645 \u0645\u062A\u0646: \u0628\u0627\u06CC\u062F \u062F ${_.pattern} \u0633\u0631\u0647 \u0645\u0637\u0627\u0628\u0642\u062A \u0648\u0644\u0631\u064A`;return`${t[_.format]??i.format} \u0646\u0627\u0633\u0645 \u062F\u06CC`}case"not_multiple_of":return`\u0646\u0627\u0633\u0645 \u0639\u062F\u062F: \u0628\u0627\u06CC\u062F \u062F ${i.divisor} \u0645\u0636\u0631\u0628 \u0648\u064A`;case"unrecognized_keys":return`\u0646\u0627\u0633\u0645 ${i.keys.length>1?"\u06A9\u0644\u06CC\u0689\u0648\u0646\u0647":"\u06A9\u0644\u06CC\u0689"}: ${U(i.keys,", ")}`;case"invalid_key":return`\u0646\u0627\u0633\u0645 \u06A9\u0644\u06CC\u0689 \u067E\u0647 ${i.origin} \u06A9\u06D0`;case"invalid_union":return"\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A";case"invalid_element":return`\u0646\u0627\u0633\u0645 \u0639\u0646\u0635\u0631 \u067E\u0647 ${i.origin} \u06A9\u06D0`;default:return"\u0646\u0627\u0633\u0645\u0647 \u0648\u0631\u0648\u062F\u064A"}}};var Z4=a(()=>{k()});function Vb(){return{localeError:Mq()}}var Mq=()=>{let r={string:{unit:"znak\xF3w",verb:"mie\u0107"},file:{unit:"bajt\xF3w",verb:"mie\u0107"},array:{unit:"element\xF3w",verb:"mie\u0107"},set:{unit:"element\xF3w",verb:"mie\u0107"}};function n(i){return r[i]??null}let t={regex:"wyra\u017Cenie",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\u0105g znak\xF3w zakodowany w formacie base64",base64url:"ci\u0105g znak\xF3w zakodowany w formacie base64url",json_string:"ci\u0105g znak\xF3w w formacie JSON",e164:"liczba E.164",jwt:"JWT",template_literal:"wej\u015Bcie"},e={nan:"NaN",number:"liczba",array:"tablica"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano instanceof ${i.expected}, otrzymano ${o}`;return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${_}, otrzymano ${o}`}case"invalid_value":if(i.values.length===1)return`Nieprawid\u0142owe dane wej\u015Bciowe: oczekiwano ${T(i.values[0])}`;return`Nieprawid\u0142owa opcja: oczekiwano jednej z warto\u015Bci ${U(i.values,"|")}`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c)return`Za du\u017Ca warto\u015B\u0107: oczekiwano, \u017Ce ${i.origin??"warto\u015B\u0107"} b\u0119dzie mie\u0107 ${_}${i.maximum.toString()} ${c.unit??"element\xF3w"}`;return`Zbyt du\u017C(y/a/e): oczekiwano, \u017Ce ${i.origin??"warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${_}${i.maximum.toString()}`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c)return`Za ma\u0142a warto\u015B\u0107: oczekiwano, \u017Ce ${i.origin??"warto\u015B\u0107"} b\u0119dzie mie\u0107 ${_}${i.minimum.toString()} ${c.unit??"element\xF3w"}`;return`Zbyt ma\u0142(y/a/e): oczekiwano, \u017Ce ${i.origin??"warto\u015B\u0107"} b\u0119dzie wynosi\u0107 ${_}${i.minimum.toString()}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zaczyna\u0107 si\u0119 od "${_.prefix}"`;if(_.format==="ends_with")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi ko\u0144czy\u0107 si\u0119 na "${_.suffix}"`;if(_.format==="includes")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi zawiera\u0107 "${_.includes}"`;if(_.format==="regex")return`Nieprawid\u0142owy ci\u0105g znak\xF3w: musi odpowiada\u0107 wzorcowi ${_.pattern}`;return`Nieprawid\u0142ow(y/a/e) ${t[_.format]??i.format}`}case"not_multiple_of":return`Nieprawid\u0142owa liczba: musi by\u0107 wielokrotno\u015Bci\u0105 ${i.divisor}`;case"unrecognized_keys":return`Nierozpoznane klucze${i.keys.length>1?"s":""}: ${U(i.keys,", ")}`;case"invalid_key":return`Nieprawid\u0142owy klucz w ${i.origin}`;case"invalid_union":return"Nieprawid\u0142owe dane wej\u015Bciowe";case"invalid_element":return`Nieprawid\u0142owa warto\u015B\u0107 w ${i.origin}`;default:return"Nieprawid\u0142owe dane wej\u015Bciowe"}}};var x4=a(()=>{k()});function Fb(){return{localeError:Vq()}}var Vq=()=>{let r={string:{unit:"caracteres",verb:"ter"},file:{unit:"bytes",verb:"ter"},array:{unit:"itens",verb:"ter"},set:{unit:"itens",verb:"ter"}};function n(i){return r[i]??null}let t={regex:"padr\xE3o",email:"endere\xE7o 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\xE7\xE3o ISO",ipv4:"endere\xE7o IPv4",ipv6:"endere\xE7o 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\xFAmero E.164",jwt:"JWT",template_literal:"entrada"},e={nan:"NaN",number:"n\xFAmero",null:"nulo"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`Tipo inv\xE1lido: esperado instanceof ${i.expected}, recebido ${o}`;return`Tipo inv\xE1lido: esperado ${_}, recebido ${o}`}case"invalid_value":if(i.values.length===1)return`Entrada inv\xE1lida: esperado ${T(i.values[0])}`;return`Op\xE7\xE3o inv\xE1lida: esperada uma das ${U(i.values,"|")}`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c)return`Muito grande: esperado que ${i.origin??"valor"} tivesse ${_}${i.maximum.toString()} ${c.unit??"elementos"}`;return`Muito grande: esperado que ${i.origin??"valor"} fosse ${_}${i.maximum.toString()}`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c)return`Muito pequeno: esperado que ${i.origin} tivesse ${_}${i.minimum.toString()} ${c.unit}`;return`Muito pequeno: esperado que ${i.origin} fosse ${_}${i.minimum.toString()}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`Texto inv\xE1lido: deve come\xE7ar com "${_.prefix}"`;if(_.format==="ends_with")return`Texto inv\xE1lido: deve terminar com "${_.suffix}"`;if(_.format==="includes")return`Texto inv\xE1lido: deve incluir "${_.includes}"`;if(_.format==="regex")return`Texto inv\xE1lido: deve corresponder ao padr\xE3o ${_.pattern}`;return`${t[_.format]??i.format} inv\xE1lido`}case"not_multiple_of":return`N\xFAmero inv\xE1lido: deve ser m\xFAltiplo de ${i.divisor}`;case"unrecognized_keys":return`Chave${i.keys.length>1?"s":""} desconhecida${i.keys.length>1?"s":""}: ${U(i.keys,", ")}`;case"invalid_key":return`Chave inv\xE1lida em ${i.origin}`;case"invalid_union":return"Entrada inv\xE1lida";case"invalid_element":return`Valor inv\xE1lido em ${i.origin}`;default:return"Campo inv\xE1lido"}}};var p4=a(()=>{k()});function s4(r,n,t,e){let i=Math.abs(r),_=i%10,c=i%100;if(c>=11&&c<=19)return e;if(_===1)return n;if(_>=2&&_<=4)return t;return e}function Gb(){return{localeError:Fq()}}var Fq=()=>{let r={string:{unit:{one:"\u0441\u0438\u043C\u0432\u043E\u043B",few:"\u0441\u0438\u043C\u0432\u043E\u043B\u0430",many:"\u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432"},verb:"\u0438\u043C\u0435\u0442\u044C"},file:{unit:{one:"\u0431\u0430\u0439\u0442",few:"\u0431\u0430\u0439\u0442\u0430",many:"\u0431\u0430\u0439\u0442"},verb:"\u0438\u043C\u0435\u0442\u044C"},array:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432"},verb:"\u0438\u043C\u0435\u0442\u044C"},set:{unit:{one:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442",few:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430",many:"\u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432"},verb:"\u0438\u043C\u0435\u0442\u044C"}};function n(i){return r[i]??null}let t={regex:"\u0432\u0432\u043E\u0434",email:"email \u0430\u0434\u0440\u0435\u0441",url:"URL",emoji:"\u044D\u043C\u043E\u0434\u0437\u0438",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO \u0434\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043C\u044F",date:"ISO \u0434\u0430\u0442\u0430",time:"ISO \u0432\u0440\u0435\u043C\u044F",duration:"ISO \u0434\u043B\u0438\u0442\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u044C",ipv4:"IPv4 \u0430\u0434\u0440\u0435\u0441",ipv6:"IPv6 \u0430\u0434\u0440\u0435\u0441",cidrv4:"IPv4 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",cidrv6:"IPv6 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D",base64:"\u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 base64",base64url:"\u0441\u0442\u0440\u043E\u043A\u0430 \u0432 \u0444\u043E\u0440\u043C\u0430\u0442\u0435 base64url",json_string:"JSON \u0441\u0442\u0440\u043E\u043A\u0430",e164:"\u043D\u043E\u043C\u0435\u0440 E.164",jwt:"JWT",template_literal:"\u0432\u0432\u043E\u0434"},e={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0441\u0438\u0432"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C instanceof ${i.expected}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${o}`;return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${_}, \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E ${o}`}case"invalid_value":if(i.values.length===1)return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0432\u043E\u0434: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C ${T(i.values[0])}`;return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0432\u0430\u0440\u0438\u0430\u043D\u0442: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0434\u043D\u043E \u0438\u0437 ${U(i.values,"|")}`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c){let o=Number(i.maximum),u=s4(o,c.unit.one,c.unit.few,c.unit.many);return`\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${i.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435"} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${_}${i.maximum.toString()} ${u}`}return`\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u0431\u043E\u043B\u044C\u0448\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${i.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435"} \u0431\u0443\u0434\u0435\u0442 ${_}${i.maximum.toString()}`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c){let o=Number(i.minimum),u=s4(o,c.unit.one,c.unit.few,c.unit.many);return`\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${i.origin} \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C ${_}${i.minimum.toString()} ${u}`}return`\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u0430\u043B\u0435\u043D\u044C\u043A\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435: \u043E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C, \u0447\u0442\u043E ${i.origin} \u0431\u0443\u0434\u0435\u0442 ${_}${i.minimum.toString()}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u043D\u0430\u0447\u0438\u043D\u0430\u0442\u044C\u0441\u044F \u0441 "${_.prefix}"`;if(_.format==="ends_with")return`\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u0437\u0430\u043A\u0430\u043D\u0447\u0438\u0432\u0430\u0442\u044C\u0441\u044F \u043D\u0430 "${_.suffix}"`;if(_.format==="includes")return`\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u0441\u043E\u0434\u0435\u0440\u0436\u0430\u0442\u044C "${_.includes}"`;if(_.format==="regex")return`\u041D\u0435\u0432\u0435\u0440\u043D\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430: \u0434\u043E\u043B\u0436\u043D\u0430 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043E\u0432\u0430\u0442\u044C \u0448\u0430\u0431\u043B\u043E\u043D\u0443 ${_.pattern}`;return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 ${t[_.format]??i.format}`}case"not_multiple_of":return`\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0447\u0438\u0441\u043B\u043E: \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u043A\u0440\u0430\u0442\u043D\u044B\u043C ${i.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u043D\u043D${i.keys.length>1?"\u044B\u0435":"\u044B\u0439"} \u043A\u043B\u044E\u0447${i.keys.length>1?"\u0438":""}: ${U(i.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u043A\u043B\u044E\u0447 \u0432 ${i.origin}`;case"invalid_union":return"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435";case"invalid_element":return`\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0432 ${i.origin}`;default:return"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0435 \u0432\u0445\u043E\u0434\u043D\u044B\u0435 \u0434\u0430\u043D\u043D\u044B\u0435"}}};var rU=a(()=>{k()});function Xb(){return{localeError:Gq()}}var Gq=()=>{let r={string:{unit:"znakov",verb:"imeti"},file:{unit:"bajtov",verb:"imeti"},array:{unit:"elementov",verb:"imeti"},set:{unit:"elementov",verb:"imeti"}};function n(i){return r[i]??null}let t={regex:"vnos",email:"e-po\u0161tni 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 \u010Das",date:"ISO datum",time:"ISO \u010Das",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 \u0161tevilka",jwt:"JWT",template_literal:"vnos"},e={nan:"NaN",number:"\u0161tevilo",array:"tabela"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`Neveljaven vnos: pri\u010Dakovano instanceof ${i.expected}, prejeto ${o}`;return`Neveljaven vnos: pri\u010Dakovano ${_}, prejeto ${o}`}case"invalid_value":if(i.values.length===1)return`Neveljaven vnos: pri\u010Dakovano ${T(i.values[0])}`;return`Neveljavna mo\u017Enost: pri\u010Dakovano eno izmed ${U(i.values,"|")}`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c)return`Preveliko: pri\u010Dakovano, da bo ${i.origin??"vrednost"} imelo ${_}${i.maximum.toString()} ${c.unit??"elementov"}`;return`Preveliko: pri\u010Dakovano, da bo ${i.origin??"vrednost"} ${_}${i.maximum.toString()}`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c)return`Premajhno: pri\u010Dakovano, da bo ${i.origin} imelo ${_}${i.minimum.toString()} ${c.unit}`;return`Premajhno: pri\u010Dakovano, da bo ${i.origin} ${_}${i.minimum.toString()}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`Neveljaven niz: mora se za\u010Deti z "${_.prefix}"`;if(_.format==="ends_with")return`Neveljaven niz: mora se kon\u010Dati z "${_.suffix}"`;if(_.format==="includes")return`Neveljaven niz: mora vsebovati "${_.includes}"`;if(_.format==="regex")return`Neveljaven niz: mora ustrezati vzorcu ${_.pattern}`;return`Neveljaven ${t[_.format]??i.format}`}case"not_multiple_of":return`Neveljavno \u0161tevilo: mora biti ve\u010Dkratnik ${i.divisor}`;case"unrecognized_keys":return`Neprepoznan${i.keys.length>1?"i klju\u010Di":" klju\u010D"}: ${U(i.keys,", ")}`;case"invalid_key":return`Neveljaven klju\u010D v ${i.origin}`;case"invalid_union":return"Neveljaven vnos";case"invalid_element":return`Neveljavna vrednost v ${i.origin}`;default:return"Neveljaven vnos"}}};var nU=a(()=>{k()});function Bb(){return{localeError:Xq()}}var Xq=()=>{let r={string:{unit:"tecken",verb:"att ha"},file:{unit:"bytes",verb:"att ha"},array:{unit:"objekt",verb:"att inneh\xE5lla"},set:{unit:"objekt",verb:"att inneh\xE5lla"}};function n(i){return r[i]??null}let t={regex:"regulj\xE4rt 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\xE4ng",base64url:"base64url-kodad str\xE4ng",json_string:"JSON-str\xE4ng",e164:"E.164-nummer",jwt:"JWT",template_literal:"mall-literal"},e={nan:"NaN",number:"antal",array:"lista"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`Ogiltig inmatning: f\xF6rv\xE4ntat instanceof ${i.expected}, fick ${o}`;return`Ogiltig inmatning: f\xF6rv\xE4ntat ${_}, fick ${o}`}case"invalid_value":if(i.values.length===1)return`Ogiltig inmatning: f\xF6rv\xE4ntat ${T(i.values[0])}`;return`Ogiltigt val: f\xF6rv\xE4ntade en av ${U(i.values,"|")}`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c)return`F\xF6r stor(t): f\xF6rv\xE4ntade ${i.origin??"v\xE4rdet"} att ha ${_}${i.maximum.toString()} ${c.unit??"element"}`;return`F\xF6r stor(t): f\xF6rv\xE4ntat ${i.origin??"v\xE4rdet"} att ha ${_}${i.maximum.toString()}`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c)return`F\xF6r lite(t): f\xF6rv\xE4ntade ${i.origin??"v\xE4rdet"} att ha ${_}${i.minimum.toString()} ${c.unit}`;return`F\xF6r lite(t): f\xF6rv\xE4ntade ${i.origin??"v\xE4rdet"} att ha ${_}${i.minimum.toString()}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`Ogiltig str\xE4ng: m\xE5ste b\xF6rja med "${_.prefix}"`;if(_.format==="ends_with")return`Ogiltig str\xE4ng: m\xE5ste sluta med "${_.suffix}"`;if(_.format==="includes")return`Ogiltig str\xE4ng: m\xE5ste inneh\xE5lla "${_.includes}"`;if(_.format==="regex")return`Ogiltig str\xE4ng: m\xE5ste matcha m\xF6nstret "${_.pattern}"`;return`Ogiltig(t) ${t[_.format]??i.format}`}case"not_multiple_of":return`Ogiltigt tal: m\xE5ste vara en multipel av ${i.divisor}`;case"unrecognized_keys":return`${i.keys.length>1?"Ok\xE4nda nycklar":"Ok\xE4nd nyckel"}: ${U(i.keys,", ")}`;case"invalid_key":return`Ogiltig nyckel i ${i.origin??"v\xE4rdet"}`;case"invalid_union":return"Ogiltig input";case"invalid_element":return`Ogiltigt v\xE4rde i ${i.origin??"v\xE4rdet"}`;default:return"Ogiltig input"}}};var tU=a(()=>{k()});function Hb(){return{localeError:Bq()}}var Bq=()=>{let r={string:{unit:"\u0B8E\u0BB4\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1\u0B95\u0BCD\u0B95\u0BB3\u0BCD",verb:"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD"},file:{unit:"\u0BAA\u0BC8\u0B9F\u0BCD\u0B9F\u0BC1\u0B95\u0BB3\u0BCD",verb:"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD"},array:{unit:"\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD",verb:"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD"},set:{unit:"\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD",verb:"\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD"}};function n(i){return r[i]??null}let t={regex:"\u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1",email:"\u0BAE\u0BBF\u0BA9\u0BCD\u0BA9\u0B9E\u0BCD\u0B9A\u0BB2\u0BCD \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",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 \u0BA4\u0BC7\u0BA4\u0BBF \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD",date:"ISO \u0BA4\u0BC7\u0BA4\u0BBF",time:"ISO \u0BA8\u0BC7\u0BB0\u0BAE\u0BCD",duration:"ISO \u0B95\u0BBE\u0BB2 \u0B85\u0BB3\u0BB5\u0BC1",ipv4:"IPv4 \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",ipv6:"IPv6 \u0BAE\u0BC1\u0B95\u0BB5\u0BB0\u0BBF",cidrv4:"IPv4 \u0BB5\u0BB0\u0BAE\u0BCD\u0BAA\u0BC1",cidrv6:"IPv6 \u0BB5\u0BB0\u0BAE\u0BCD\u0BAA\u0BC1",base64:"base64-encoded \u0B9A\u0BB0\u0BAE\u0BCD",base64url:"base64url-encoded \u0B9A\u0BB0\u0BAE\u0BCD",json_string:"JSON \u0B9A\u0BB0\u0BAE\u0BCD",e164:"E.164 \u0B8E\u0BA3\u0BCD",jwt:"JWT",template_literal:"input"},e={nan:"NaN",number:"\u0B8E\u0BA3\u0BCD",array:"\u0B85\u0BA3\u0BBF",null:"\u0BB5\u0BC6\u0BB1\u0BC1\u0BAE\u0BC8"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 instanceof ${i.expected}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${o}`;return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${_}, \u0BAA\u0BC6\u0BB1\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${o}`}case"invalid_value":if(i.values.length===1)return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${T(i.values[0])}`;return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BB5\u0BBF\u0BB0\u0BC1\u0BAA\u0BCD\u0BAA\u0BAE\u0BCD: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${U(i.values,"|")} \u0B87\u0BB2\u0BCD \u0B92\u0BA9\u0BCD\u0BB1\u0BC1`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c)return`\u0BAE\u0BBF\u0B95 \u0BAA\u0BC6\u0BB0\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${i.origin??"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1"} ${_}${i.maximum.toString()} ${c.unit??"\u0B89\u0BB1\u0BC1\u0BAA\u0BCD\u0BAA\u0BC1\u0B95\u0BB3\u0BCD"} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;return`\u0BAE\u0BBF\u0B95 \u0BAA\u0BC6\u0BB0\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${i.origin??"\u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1"} ${_}${i.maximum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c)return`\u0BAE\u0BBF\u0B95\u0B9A\u0BCD \u0B9A\u0BBF\u0BB1\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${i.origin} ${_}${i.minimum.toString()} ${c.unit} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;return`\u0BAE\u0BBF\u0B95\u0B9A\u0BCD \u0B9A\u0BBF\u0BB1\u0BBF\u0BAF\u0BA4\u0BC1: \u0B8E\u0BA4\u0BBF\u0BB0\u0BCD\u0BAA\u0BBE\u0BB0\u0BCD\u0B95\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0B9F\u0BCD\u0B9F\u0BA4\u0BC1 ${i.origin} ${_}${i.minimum.toString()} \u0B86\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${_.prefix}" \u0B87\u0BB2\u0BCD \u0BA4\u0BCA\u0B9F\u0B99\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(_.format==="ends_with")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${_.suffix}" \u0B87\u0BB2\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0B9F\u0BC8\u0BAF \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(_.format==="includes")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: "${_.includes}" \u0B90 \u0B89\u0BB3\u0BCD\u0BB3\u0B9F\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;if(_.format==="regex")return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B9A\u0BB0\u0BAE\u0BCD: ${_.pattern} \u0BAE\u0BC1\u0BB1\u0BC8\u0BAA\u0BBE\u0B9F\u0BCD\u0B9F\u0BC1\u0B9F\u0BA9\u0BCD \u0BAA\u0BCA\u0BB0\u0BC1\u0BA8\u0BCD\u0BA4 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 ${t[_.format]??i.format}`}case"not_multiple_of":return`\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B8E\u0BA3\u0BCD: ${i.divisor} \u0B87\u0BA9\u0BCD \u0BAA\u0BB2\u0BAE\u0BBE\u0B95 \u0B87\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD`;case"unrecognized_keys":return`\u0B85\u0B9F\u0BC8\u0BAF\u0BBE\u0BB3\u0BAE\u0BCD \u0BA4\u0BC6\u0BB0\u0BBF\u0BAF\u0BBE\u0BA4 \u0BB5\u0BBF\u0B9A\u0BC8${i.keys.length>1?"\u0B95\u0BB3\u0BCD":""}: ${U(i.keys,", ")}`;case"invalid_key":return`${i.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BB5\u0BBF\u0B9A\u0BC8`;case"invalid_union":return"\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1";case"invalid_element":return`${i.origin} \u0B87\u0BB2\u0BCD \u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0BAE\u0BA4\u0BBF\u0BAA\u0BCD\u0BAA\u0BC1`;default:return"\u0BA4\u0BB5\u0BB1\u0BBE\u0BA9 \u0B89\u0BB3\u0BCD\u0BB3\u0BC0\u0B9F\u0BC1"}}};var iU=a(()=>{k()});function Yb(){return{localeError:Hq()}}var Hq=()=>{let r={string:{unit:"\u0E15\u0E31\u0E27\u0E2D\u0E31\u0E01\u0E29\u0E23",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"},file:{unit:"\u0E44\u0E1A\u0E15\u0E4C",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"},array:{unit:"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"},set:{unit:"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23",verb:"\u0E04\u0E27\u0E23\u0E21\u0E35"}};function n(i){return r[i]??null}let t={regex:"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19",email:"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48\u0E2D\u0E35\u0E40\u0E21\u0E25",url:"URL",emoji:"\u0E2D\u0E34\u0E42\u0E21\u0E08\u0E34",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",date:"\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E41\u0E1A\u0E1A ISO",time:"\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",duration:"\u0E0A\u0E48\u0E27\u0E07\u0E40\u0E27\u0E25\u0E32\u0E41\u0E1A\u0E1A ISO",ipv4:"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IPv4",ipv6:"\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48 IPv6",cidrv4:"\u0E0A\u0E48\u0E27\u0E07 IP \u0E41\u0E1A\u0E1A IPv4",cidrv6:"\u0E0A\u0E48\u0E27\u0E07 IP \u0E41\u0E1A\u0E1A IPv6",base64:"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A Base64",base64url:"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A Base64 \u0E2A\u0E33\u0E2B\u0E23\u0E31\u0E1A URL",json_string:"\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E1A\u0E1A JSON",e164:"\u0E40\u0E1A\u0E2D\u0E23\u0E4C\u0E42\u0E17\u0E23\u0E28\u0E31\u0E1E\u0E17\u0E4C\u0E23\u0E30\u0E2B\u0E27\u0E48\u0E32\u0E07\u0E1B\u0E23\u0E30\u0E40\u0E17\u0E28 (E.164)",jwt:"\u0E42\u0E17\u0E40\u0E04\u0E19 JWT",template_literal:"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E17\u0E35\u0E48\u0E1B\u0E49\u0E2D\u0E19"},e={nan:"NaN",number:"\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02",array:"\u0E2D\u0E32\u0E23\u0E4C\u0E40\u0E23\u0E22\u0E4C (Array)",null:"\u0E44\u0E21\u0E48\u0E21\u0E35\u0E04\u0E48\u0E32 (null)"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 instanceof ${i.expected} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${o}`;return`\u0E1B\u0E23\u0E30\u0E40\u0E20\u0E17\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 ${_} \u0E41\u0E15\u0E48\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A ${o}`}case"invalid_value":if(i.values.length===1)return`\u0E04\u0E48\u0E32\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19 ${T(i.values[0])}`;return`\u0E15\u0E31\u0E27\u0E40\u0E25\u0E37\u0E2D\u0E01\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E04\u0E27\u0E23\u0E40\u0E1B\u0E47\u0E19\u0E2B\u0E19\u0E36\u0E48\u0E07\u0E43\u0E19 ${U(i.values,"|")}`;case"too_big":{let _=i.inclusive?"\u0E44\u0E21\u0E48\u0E40\u0E01\u0E34\u0E19":"\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32",c=n(i.origin);if(c)return`\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${i.origin??"\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${_} ${i.maximum.toString()} ${c.unit??"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23"}`;return`\u0E40\u0E01\u0E34\u0E19\u0E01\u0E33\u0E2B\u0E19\u0E14: ${i.origin??"\u0E04\u0E48\u0E32"} \u0E04\u0E27\u0E23\u0E21\u0E35${_} ${i.maximum.toString()}`}case"too_small":{let _=i.inclusive?"\u0E2D\u0E22\u0E48\u0E32\u0E07\u0E19\u0E49\u0E2D\u0E22":"\u0E21\u0E32\u0E01\u0E01\u0E27\u0E48\u0E32",c=n(i.origin);if(c)return`\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${i.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${_} ${i.minimum.toString()} ${c.unit}`;return`\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E01\u0E33\u0E2B\u0E19\u0E14: ${i.origin} \u0E04\u0E27\u0E23\u0E21\u0E35${_} ${i.minimum.toString()}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E15\u0E49\u0E2D\u0E07\u0E02\u0E36\u0E49\u0E19\u0E15\u0E49\u0E19\u0E14\u0E49\u0E27\u0E22 "${_.prefix}"`;if(_.format==="ends_with")return`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E15\u0E49\u0E2D\u0E07\u0E25\u0E07\u0E17\u0E49\u0E32\u0E22\u0E14\u0E49\u0E27\u0E22 "${_.suffix}"`;if(_.format==="includes")return`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E15\u0E49\u0E2D\u0E07\u0E21\u0E35 "${_.includes}" \u0E2D\u0E22\u0E39\u0E48\u0E43\u0E19\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21`;if(_.format==="regex")return`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E15\u0E49\u0E2D\u0E07\u0E15\u0E23\u0E07\u0E01\u0E31\u0E1A\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E17\u0E35\u0E48\u0E01\u0E33\u0E2B\u0E19\u0E14 ${_.pattern}`;return`\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: ${t[_.format]??i.format}`}case"not_multiple_of":return`\u0E15\u0E31\u0E27\u0E40\u0E25\u0E02\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E15\u0E49\u0E2D\u0E07\u0E40\u0E1B\u0E47\u0E19\u0E08\u0E33\u0E19\u0E27\u0E19\u0E17\u0E35\u0E48\u0E2B\u0E32\u0E23\u0E14\u0E49\u0E27\u0E22 ${i.divisor} \u0E44\u0E14\u0E49\u0E25\u0E07\u0E15\u0E31\u0E27`;case"unrecognized_keys":return`\u0E1E\u0E1A\u0E04\u0E35\u0E22\u0E4C\u0E17\u0E35\u0E48\u0E44\u0E21\u0E48\u0E23\u0E39\u0E49\u0E08\u0E31\u0E01: ${U(i.keys,", ")}`;case"invalid_key":return`\u0E04\u0E35\u0E22\u0E4C\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${i.origin}`;case"invalid_union":return"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07: \u0E44\u0E21\u0E48\u0E15\u0E23\u0E07\u0E01\u0E31\u0E1A\u0E23\u0E39\u0E1B\u0E41\u0E1A\u0E1A\u0E22\u0E39\u0E40\u0E19\u0E35\u0E22\u0E19\u0E17\u0E35\u0E48\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E44\u0E27\u0E49";case"invalid_element":return`\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07\u0E43\u0E19 ${i.origin}`;default:return"\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25\u0E44\u0E21\u0E48\u0E16\u0E39\u0E01\u0E15\u0E49\u0E2D\u0E07"}}};var eU=a(()=>{k()});function Qb(){return{localeError:Yq()}}var Yq=()=>{let r={string:{unit:"karakter",verb:"olmal\u0131"},file:{unit:"bayt",verb:"olmal\u0131"},array:{unit:"\xF6\u011Fe",verb:"olmal\u0131"},set:{unit:"\xF6\u011Fe",verb:"olmal\u0131"}};function n(i){return r[i]??null}let t={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\xFCre",ipv4:"IPv4 adresi",ipv6:"IPv6 adresi",cidrv4:"IPv4 aral\u0131\u011F\u0131",cidrv6:"IPv6 aral\u0131\u011F\u0131",base64:"base64 ile \u015Fifrelenmi\u015F metin",base64url:"base64url ile \u015Fifrelenmi\u015F metin",json_string:"JSON dizesi",e164:"E.164 say\u0131s\u0131",jwt:"JWT",template_literal:"\u015Eablon dizesi"},e={nan:"NaN"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`Ge\xE7ersiz de\u011Fer: beklenen instanceof ${i.expected}, al\u0131nan ${o}`;return`Ge\xE7ersiz de\u011Fer: beklenen ${_}, al\u0131nan ${o}`}case"invalid_value":if(i.values.length===1)return`Ge\xE7ersiz de\u011Fer: beklenen ${T(i.values[0])}`;return`Ge\xE7ersiz se\xE7enek: a\u015Fa\u011F\u0131dakilerden biri olmal\u0131: ${U(i.values,"|")}`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c)return`\xC7ok b\xFCy\xFCk: beklenen ${i.origin??"de\u011Fer"} ${_}${i.maximum.toString()} ${c.unit??"\xF6\u011Fe"}`;return`\xC7ok b\xFCy\xFCk: beklenen ${i.origin??"de\u011Fer"} ${_}${i.maximum.toString()}`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c)return`\xC7ok k\xFC\xE7\xFCk: beklenen ${i.origin} ${_}${i.minimum.toString()} ${c.unit}`;return`\xC7ok k\xFC\xE7\xFCk: beklenen ${i.origin} ${_}${i.minimum.toString()}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`Ge\xE7ersiz metin: "${_.prefix}" ile ba\u015Flamal\u0131`;if(_.format==="ends_with")return`Ge\xE7ersiz metin: "${_.suffix}" ile bitmeli`;if(_.format==="includes")return`Ge\xE7ersiz metin: "${_.includes}" i\xE7ermeli`;if(_.format==="regex")return`Ge\xE7ersiz metin: ${_.pattern} desenine uymal\u0131`;return`Ge\xE7ersiz ${t[_.format]??i.format}`}case"not_multiple_of":return`Ge\xE7ersiz say\u0131: ${i.divisor} ile tam b\xF6l\xFCnebilmeli`;case"unrecognized_keys":return`Tan\u0131nmayan anahtar${i.keys.length>1?"lar":""}: ${U(i.keys,", ")}`;case"invalid_key":return`${i.origin} i\xE7inde ge\xE7ersiz anahtar`;case"invalid_union":return"Ge\xE7ersiz de\u011Fer";case"invalid_element":return`${i.origin} i\xE7inde ge\xE7ersiz de\u011Fer`;default:return"Ge\xE7ersiz de\u011Fer"}}};var _U=a(()=>{k()});function w_(){return{localeError:Qq()}}var Qq=()=>{let r={string:{unit:"\u0441\u0438\u043C\u0432\u043E\u043B\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"},file:{unit:"\u0431\u0430\u0439\u0442\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"},array:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"},set:{unit:"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432",verb:"\u043C\u0430\u0442\u0438\u043C\u0435"}};function n(i){return r[i]??null}let t={regex:"\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456",email:"\u0430\u0434\u0440\u0435\u0441\u0430 \u0435\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0457 \u043F\u043E\u0448\u0442\u0438",url:"URL",emoji:"\u0435\u043C\u043E\u0434\u0437\u0456",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"\u0434\u0430\u0442\u0430 \u0442\u0430 \u0447\u0430\u0441 ISO",date:"\u0434\u0430\u0442\u0430 ISO",time:"\u0447\u0430\u0441 ISO",duration:"\u0442\u0440\u0438\u0432\u0430\u043B\u0456\u0441\u0442\u044C ISO",ipv4:"\u0430\u0434\u0440\u0435\u0441\u0430 IPv4",ipv6:"\u0430\u0434\u0440\u0435\u0441\u0430 IPv6",cidrv4:"\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D IPv4",cidrv6:"\u0434\u0456\u0430\u043F\u0430\u0437\u043E\u043D IPv6",base64:"\u0440\u044F\u0434\u043E\u043A \u0443 \u043A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u0456 base64",base64url:"\u0440\u044F\u0434\u043E\u043A \u0443 \u043A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u0456 base64url",json_string:"\u0440\u044F\u0434\u043E\u043A JSON",e164:"\u043D\u043E\u043C\u0435\u0440 E.164",jwt:"JWT",template_literal:"\u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456"},e={nan:"NaN",number:"\u0447\u0438\u0441\u043B\u043E",array:"\u043C\u0430\u0441\u0438\u0432"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F instanceof ${i.expected}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${o}`;return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F ${_}, \u043E\u0442\u0440\u0438\u043C\u0430\u043D\u043E ${o}`}case"invalid_value":if(i.values.length===1)return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F ${T(i.values[0])}`;return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0430 \u043E\u043F\u0446\u0456\u044F: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F \u043E\u0434\u043D\u0435 \u0437 ${U(i.values,"|")}`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c)return`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${i.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F"} ${c.verb} ${_}${i.maximum.toString()} ${c.unit??"\u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0456\u0432"}`;return`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u0432\u0435\u043B\u0438\u043A\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${i.origin??"\u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F"} \u0431\u0443\u0434\u0435 ${_}${i.maximum.toString()}`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c)return`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${i.origin} ${c.verb} ${_}${i.minimum.toString()} ${c.unit}`;return`\u0417\u0430\u043D\u0430\u0434\u0442\u043E \u043C\u0430\u043B\u0435: \u043E\u0447\u0456\u043A\u0443\u0454\u0442\u044C\u0441\u044F, \u0449\u043E ${i.origin} \u0431\u0443\u0434\u0435 ${_}${i.minimum.toString()}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u043F\u043E\u0447\u0438\u043D\u0430\u0442\u0438\u0441\u044F \u0437 "${_.prefix}"`;if(_.format==="ends_with")return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0437\u0430\u043A\u0456\u043D\u0447\u0443\u0432\u0430\u0442\u0438\u0441\u044F \u043D\u0430 "${_.suffix}"`;if(_.format==="includes")return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u043C\u0456\u0441\u0442\u0438\u0442\u0438 "${_.includes}"`;if(_.format==="regex")return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u0440\u044F\u0434\u043E\u043A: \u043F\u043E\u0432\u0438\u043D\u0435\u043D \u0432\u0456\u0434\u043F\u043E\u0432\u0456\u0434\u0430\u0442\u0438 \u0448\u0430\u0431\u043B\u043E\u043D\u0443 ${_.pattern}`;return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 ${t[_.format]??i.format}`}case"not_multiple_of":return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0447\u0438\u0441\u043B\u043E: \u043F\u043E\u0432\u0438\u043D\u043D\u043E \u0431\u0443\u0442\u0438 \u043A\u0440\u0430\u0442\u043D\u0438\u043C ${i.divisor}`;case"unrecognized_keys":return`\u041D\u0435\u0440\u043E\u0437\u043F\u0456\u0437\u043D\u0430\u043D\u0438\u0439 \u043A\u043B\u044E\u0447${i.keys.length>1?"\u0456":""}: ${U(i.keys,", ")}`;case"invalid_key":return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0438\u0439 \u043A\u043B\u044E\u0447 \u0443 ${i.origin}`;case"invalid_union":return"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456";case"invalid_element":return`\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u043D\u044F \u0443 ${i.origin}`;default:return"\u041D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u0456 \u0432\u0445\u0456\u0434\u043D\u0456 \u0434\u0430\u043D\u0456"}}};var Kb=a(()=>{k()});function Cb(){return w_()}var cU=a(()=>{Kb()});function Zb(){return{localeError:Kq()}}var Kq=()=>{let r={string:{unit:"\u062D\u0631\u0648\u0641",verb:"\u06C1\u0648\u0646\u0627"},file:{unit:"\u0628\u0627\u0626\u0679\u0633",verb:"\u06C1\u0648\u0646\u0627"},array:{unit:"\u0622\u0626\u0679\u0645\u0632",verb:"\u06C1\u0648\u0646\u0627"},set:{unit:"\u0622\u0626\u0679\u0645\u0632",verb:"\u06C1\u0648\u0646\u0627"}};function n(i){return r[i]??null}let t={regex:"\u0627\u0646 \u067E\u0679",email:"\u0627\u06CC \u0645\u06CC\u0644 \u0627\u06CC\u0688\u0631\u06CC\u0633",url:"\u06CC\u0648 \u0622\u0631 \u0627\u06CC\u0644",emoji:"\u0627\u06CC\u0645\u0648\u062C\u06CC",uuid:"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",uuidv4:"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC \u0648\u06CC 4",uuidv6:"\u06CC\u0648 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC \u0648\u06CC 6",nanoid:"\u0646\u06CC\u0646\u0648 \u0622\u0626\u06CC \u0688\u06CC",guid:"\u062C\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",cuid:"\u0633\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",cuid2:"\u0633\u06CC \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC 2",ulid:"\u06CC\u0648 \u0627\u06CC\u0644 \u0622\u0626\u06CC \u0688\u06CC",xid:"\u0627\u06CC\u06A9\u0633 \u0622\u0626\u06CC \u0688\u06CC",ksuid:"\u06A9\u06D2 \u0627\u06CC\u0633 \u06CC\u0648 \u0622\u0626\u06CC \u0688\u06CC",datetime:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0688\u06CC\u0679 \u0679\u0627\u0626\u0645",date:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u062A\u0627\u0631\u06CC\u062E",time:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0648\u0642\u062A",duration:"\u0622\u0626\u06CC \u0627\u06CC\u0633 \u0627\u0648 \u0645\u062F\u062A",ipv4:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 4 \u0627\u06CC\u0688\u0631\u06CC\u0633",ipv6:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 6 \u0627\u06CC\u0688\u0631\u06CC\u0633",cidrv4:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 4 \u0631\u06CC\u0646\u062C",cidrv6:"\u0622\u0626\u06CC \u067E\u06CC \u0648\u06CC 6 \u0631\u06CC\u0646\u062C",base64:"\u0628\u06CC\u0633 64 \u0627\u0646 \u06A9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06AF",base64url:"\u0628\u06CC\u0633 64 \u06CC\u0648 \u0622\u0631 \u0627\u06CC\u0644 \u0627\u0646 \u06A9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06AF",json_string:"\u062C\u06D2 \u0627\u06CC\u0633 \u0627\u0648 \u0627\u06CC\u0646 \u0633\u0679\u0631\u0646\u06AF",e164:"\u0627\u06CC 164 \u0646\u0645\u0628\u0631",jwt:"\u062C\u06D2 \u0688\u0628\u0644\u06CC\u0648 \u0679\u06CC",template_literal:"\u0627\u0646 \u067E\u0679"},e={nan:"NaN",number:"\u0646\u0645\u0628\u0631",array:"\u0622\u0631\u06D2",null:"\u0646\u0644"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: instanceof ${i.expected} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${o} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`;return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${_} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627\u060C ${o} \u0645\u0648\u0635\u0648\u0644 \u06C1\u0648\u0627`}case"invalid_value":if(i.values.length===1)return`\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679: ${T(i.values[0])} \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;return`\u063A\u0644\u0637 \u0622\u067E\u0634\u0646: ${U(i.values,"|")} \u0645\u06CC\u06BA \u0633\u06D2 \u0627\u06CC\u06A9 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c)return`\u0628\u06C1\u062A \u0628\u0691\u0627: ${i.origin??"\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u06D2 ${_}${i.maximum.toString()} ${c.unit??"\u0639\u0646\u0627\u0635\u0631"} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`;return`\u0628\u06C1\u062A \u0628\u0691\u0627: ${i.origin??"\u0648\u06CC\u0644\u06CC\u0648"} \u06A9\u0627 ${_}${i.maximum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c)return`\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${i.origin} \u06A9\u06D2 ${_}${i.minimum.toString()} ${c.unit} \u06C1\u0648\u0646\u06D2 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u06D2`;return`\u0628\u06C1\u062A \u0686\u06BE\u0648\u0679\u0627: ${i.origin} \u06A9\u0627 ${_}${i.minimum.toString()} \u06C1\u0648\u0646\u0627 \u0645\u062A\u0648\u0642\u0639 \u062A\u06BE\u0627`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${_.prefix}" \u0633\u06D2 \u0634\u0631\u0648\u0639 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(_.format==="ends_with")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${_.suffix}" \u067E\u0631 \u062E\u062A\u0645 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(_.format==="includes")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: "${_.includes}" \u0634\u0627\u0645\u0644 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;if(_.format==="regex")return`\u063A\u0644\u0637 \u0633\u0679\u0631\u0646\u06AF: \u067E\u06CC\u0679\u0631\u0646 ${_.pattern} \u0633\u06D2 \u0645\u06CC\u0686 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;return`\u063A\u0644\u0637 ${t[_.format]??i.format}`}case"not_multiple_of":return`\u063A\u0644\u0637 \u0646\u0645\u0628\u0631: ${i.divisor} \u06A9\u0627 \u0645\u0636\u0627\u0639\u0641 \u06C1\u0648\u0646\u0627 \u0686\u0627\u06C1\u06CC\u06D2`;case"unrecognized_keys":return`\u063A\u06CC\u0631 \u062A\u0633\u0644\u06CC\u0645 \u0634\u062F\u06C1 \u06A9\u06CC${i.keys.length>1?"\u0632":""}: ${U(i.keys,"\u060C ")}`;case"invalid_key":return`${i.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u06A9\u06CC`;case"invalid_union":return"\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679";case"invalid_element":return`${i.origin} \u0645\u06CC\u06BA \u063A\u0644\u0637 \u0648\u06CC\u0644\u06CC\u0648`;default:return"\u063A\u0644\u0637 \u0627\u0646 \u067E\u0679"}}};var oU=a(()=>{k()});function xb(){return{localeError:Cq()}}var Cq=()=>{let r={string:{unit:"belgi",verb:"bo\u2018lishi kerak"},file:{unit:"bayt",verb:"bo\u2018lishi kerak"},array:{unit:"element",verb:"bo\u2018lishi kerak"},set:{unit:"element",verb:"bo\u2018lishi kerak"}};function n(i){return r[i]??null}let t={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"},e={nan:"NaN",number:"raqam",array:"massiv"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`Noto\u2018g\u2018ri kirish: kutilgan instanceof ${i.expected}, qabul qilingan ${o}`;return`Noto\u2018g\u2018ri kirish: kutilgan ${_}, qabul qilingan ${o}`}case"invalid_value":if(i.values.length===1)return`Noto\u2018g\u2018ri kirish: kutilgan ${T(i.values[0])}`;return`Noto\u2018g\u2018ri variant: quyidagilardan biri kutilgan ${U(i.values,"|")}`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c)return`Juda katta: kutilgan ${i.origin??"qiymat"} ${_}${i.maximum.toString()} ${c.unit} ${c.verb}`;return`Juda katta: kutilgan ${i.origin??"qiymat"} ${_}${i.maximum.toString()}`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c)return`Juda kichik: kutilgan ${i.origin} ${_}${i.minimum.toString()} ${c.unit} ${c.verb}`;return`Juda kichik: kutilgan ${i.origin} ${_}${i.minimum.toString()}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`Noto\u2018g\u2018ri satr: "${_.prefix}" bilan boshlanishi kerak`;if(_.format==="ends_with")return`Noto\u2018g\u2018ri satr: "${_.suffix}" bilan tugashi kerak`;if(_.format==="includes")return`Noto\u2018g\u2018ri satr: "${_.includes}" ni o\u2018z ichiga olishi kerak`;if(_.format==="regex")return`Noto\u2018g\u2018ri satr: ${_.pattern} shabloniga mos kelishi kerak`;return`Noto\u2018g\u2018ri ${t[_.format]??i.format}`}case"not_multiple_of":return`Noto\u2018g\u2018ri raqam: ${i.divisor} ning karralisi bo\u2018lishi kerak`;case"unrecognized_keys":return`Noma\u2019lum kalit${i.keys.length>1?"lar":""}: ${U(i.keys,", ")}`;case"invalid_key":return`${i.origin} dagi kalit noto\u2018g\u2018ri`;case"invalid_union":return"Noto\u2018g\u2018ri kirish";case"invalid_element":return`${i.origin} da noto\u2018g\u2018ri qiymat`;default:return"Noto\u2018g\u2018ri kirish"}}};var uU=a(()=>{k()});function pb(){return{localeError:Zq()}}var Zq=()=>{let r={string:{unit:"k\xFD t\u1EF1",verb:"c\xF3"},file:{unit:"byte",verb:"c\xF3"},array:{unit:"ph\u1EA7n t\u1EED",verb:"c\xF3"},set:{unit:"ph\u1EA7n t\u1EED",verb:"c\xF3"}};function n(i){return r[i]??null}let t={regex:"\u0111\u1EA7u v\xE0o",email:"\u0111\u1ECBa ch\u1EC9 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\xE0y gi\u1EDD ISO",date:"ng\xE0y ISO",time:"gi\u1EDD ISO",duration:"kho\u1EA3ng th\u1EDDi gian ISO",ipv4:"\u0111\u1ECBa ch\u1EC9 IPv4",ipv6:"\u0111\u1ECBa ch\u1EC9 IPv6",cidrv4:"d\u1EA3i IPv4",cidrv6:"d\u1EA3i IPv6",base64:"chu\u1ED7i m\xE3 h\xF3a base64",base64url:"chu\u1ED7i m\xE3 h\xF3a base64url",json_string:"chu\u1ED7i JSON",e164:"s\u1ED1 E.164",jwt:"JWT",template_literal:"\u0111\u1EA7u v\xE0o"},e={nan:"NaN",number:"s\u1ED1",array:"m\u1EA3ng"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i instanceof ${i.expected}, nh\u1EADn \u0111\u01B0\u1EE3c ${o}`;return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${_}, nh\u1EADn \u0111\u01B0\u1EE3c ${o}`}case"invalid_value":if(i.values.length===1)return`\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i ${T(i.values[0])}`;return`T\xF9y ch\u1ECDn kh\xF4ng h\u1EE3p l\u1EC7: mong \u0111\u1EE3i m\u1ED9t trong c\xE1c gi\xE1 tr\u1ECB ${U(i.values,"|")}`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c)return`Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${i.origin??"gi\xE1 tr\u1ECB"} ${c.verb} ${_}${i.maximum.toString()} ${c.unit??"ph\u1EA7n t\u1EED"}`;return`Qu\xE1 l\u1EDBn: mong \u0111\u1EE3i ${i.origin??"gi\xE1 tr\u1ECB"} ${_}${i.maximum.toString()}`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c)return`Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${i.origin} ${c.verb} ${_}${i.minimum.toString()} ${c.unit}`;return`Qu\xE1 nh\u1ECF: mong \u0111\u1EE3i ${i.origin} ${_}${i.minimum.toString()}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i b\u1EAFt \u0111\u1EA7u b\u1EB1ng "${_.prefix}"`;if(_.format==="ends_with")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i k\u1EBFt th\xFAc b\u1EB1ng "${_.suffix}"`;if(_.format==="includes")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i bao g\u1ED3m "${_.includes}"`;if(_.format==="regex")return`Chu\u1ED7i kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i kh\u1EDBp v\u1EDBi m\u1EABu ${_.pattern}`;return`${t[_.format]??i.format} kh\xF4ng h\u1EE3p l\u1EC7`}case"not_multiple_of":return`S\u1ED1 kh\xF4ng h\u1EE3p l\u1EC7: ph\u1EA3i l\xE0 b\u1ED9i s\u1ED1 c\u1EE7a ${i.divisor}`;case"unrecognized_keys":return`Kh\xF3a kh\xF4ng \u0111\u01B0\u1EE3c nh\u1EADn d\u1EA1ng: ${U(i.keys,", ")}`;case"invalid_key":return`Kh\xF3a kh\xF4ng h\u1EE3p l\u1EC7 trong ${i.origin}`;case"invalid_union":return"\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7";case"invalid_element":return`Gi\xE1 tr\u1ECB kh\xF4ng h\u1EE3p l\u1EC7 trong ${i.origin}`;default:return"\u0110\u1EA7u v\xE0o kh\xF4ng h\u1EE3p l\u1EC7"}}};var $U=a(()=>{k()});function sb(){return{localeError:xq()}}var xq=()=>{let r={string:{unit:"\u5B57\u7B26",verb:"\u5305\u542B"},file:{unit:"\u5B57\u8282",verb:"\u5305\u542B"},array:{unit:"\u9879",verb:"\u5305\u542B"},set:{unit:"\u9879",verb:"\u5305\u542B"}};function n(i){return r[i]??null}let t={regex:"\u8F93\u5165",email:"\u7535\u5B50\u90AE\u4EF6",url:"URL",emoji:"\u8868\u60C5\u7B26\u53F7",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO\u65E5\u671F\u65F6\u95F4",date:"ISO\u65E5\u671F",time:"ISO\u65F6\u95F4",duration:"ISO\u65F6\u957F",ipv4:"IPv4\u5730\u5740",ipv6:"IPv6\u5730\u5740",cidrv4:"IPv4\u7F51\u6BB5",cidrv6:"IPv6\u7F51\u6BB5",base64:"base64\u7F16\u7801\u5B57\u7B26\u4E32",base64url:"base64url\u7F16\u7801\u5B57\u7B26\u4E32",json_string:"JSON\u5B57\u7B26\u4E32",e164:"E.164\u53F7\u7801",jwt:"JWT",template_literal:"\u8F93\u5165"},e={nan:"NaN",number:"\u6570\u5B57",array:"\u6570\u7EC4",null:"\u7A7A\u503C(null)"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B instanceof ${i.expected}\uFF0C\u5B9E\u9645\u63A5\u6536 ${o}`;return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${_}\uFF0C\u5B9E\u9645\u63A5\u6536 ${o}`}case"invalid_value":if(i.values.length===1)return`\u65E0\u6548\u8F93\u5165\uFF1A\u671F\u671B ${T(i.values[0])}`;return`\u65E0\u6548\u9009\u9879\uFF1A\u671F\u671B\u4EE5\u4E0B\u4E4B\u4E00 ${U(i.values,"|")}`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c)return`\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${i.origin??"\u503C"} ${_}${i.maximum.toString()} ${c.unit??"\u4E2A\u5143\u7D20"}`;return`\u6570\u503C\u8FC7\u5927\uFF1A\u671F\u671B ${i.origin??"\u503C"} ${_}${i.maximum.toString()}`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c)return`\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${i.origin} ${_}${i.minimum.toString()} ${c.unit}`;return`\u6570\u503C\u8FC7\u5C0F\uFF1A\u671F\u671B ${i.origin} ${_}${i.minimum.toString()}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${_.prefix}" \u5F00\u5934`;if(_.format==="ends_with")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u4EE5 "${_.suffix}" \u7ED3\u5C3E`;if(_.format==="includes")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u5305\u542B "${_.includes}"`;if(_.format==="regex")return`\u65E0\u6548\u5B57\u7B26\u4E32\uFF1A\u5FC5\u987B\u6EE1\u8DB3\u6B63\u5219\u8868\u8FBE\u5F0F ${_.pattern}`;return`\u65E0\u6548${t[_.format]??i.format}`}case"not_multiple_of":return`\u65E0\u6548\u6570\u5B57\uFF1A\u5FC5\u987B\u662F ${i.divisor} \u7684\u500D\u6570`;case"unrecognized_keys":return`\u51FA\u73B0\u672A\u77E5\u7684\u952E(key): ${U(i.keys,", ")}`;case"invalid_key":return`${i.origin} \u4E2D\u7684\u952E(key)\u65E0\u6548`;case"invalid_union":return"\u65E0\u6548\u8F93\u5165";case"invalid_element":return`${i.origin} \u4E2D\u5305\u542B\u65E0\u6548\u503C(value)`;default:return"\u65E0\u6548\u8F93\u5165"}}};var gU=a(()=>{k()});function rw(){return{localeError:pq()}}var pq=()=>{let r={string:{unit:"\u5B57\u5143",verb:"\u64C1\u6709"},file:{unit:"\u4F4D\u5143\u7D44",verb:"\u64C1\u6709"},array:{unit:"\u9805\u76EE",verb:"\u64C1\u6709"},set:{unit:"\u9805\u76EE",verb:"\u64C1\u6709"}};function n(i){return r[i]??null}let t={regex:"\u8F38\u5165",email:"\u90F5\u4EF6\u5730\u5740",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 \u65E5\u671F\u6642\u9593",date:"ISO \u65E5\u671F",time:"ISO \u6642\u9593",duration:"ISO \u671F\u9593",ipv4:"IPv4 \u4F4D\u5740",ipv6:"IPv6 \u4F4D\u5740",cidrv4:"IPv4 \u7BC4\u570D",cidrv6:"IPv6 \u7BC4\u570D",base64:"base64 \u7DE8\u78BC\u5B57\u4E32",base64url:"base64url \u7DE8\u78BC\u5B57\u4E32",json_string:"JSON \u5B57\u4E32",e164:"E.164 \u6578\u503C",jwt:"JWT",template_literal:"\u8F38\u5165"},e={nan:"NaN"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA instanceof ${i.expected}\uFF0C\u4F46\u6536\u5230 ${o}`;return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${_}\uFF0C\u4F46\u6536\u5230 ${o}`}case"invalid_value":if(i.values.length===1)return`\u7121\u6548\u7684\u8F38\u5165\u503C\uFF1A\u9810\u671F\u70BA ${T(i.values[0])}`;return`\u7121\u6548\u7684\u9078\u9805\uFF1A\u9810\u671F\u70BA\u4EE5\u4E0B\u5176\u4E2D\u4E4B\u4E00 ${U(i.values,"|")}`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c)return`\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${i.origin??"\u503C"} \u61C9\u70BA ${_}${i.maximum.toString()} ${c.unit??"\u500B\u5143\u7D20"}`;return`\u6578\u503C\u904E\u5927\uFF1A\u9810\u671F ${i.origin??"\u503C"} \u61C9\u70BA ${_}${i.maximum.toString()}`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c)return`\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${i.origin} \u61C9\u70BA ${_}${i.minimum.toString()} ${c.unit}`;return`\u6578\u503C\u904E\u5C0F\uFF1A\u9810\u671F ${i.origin} \u61C9\u70BA ${_}${i.minimum.toString()}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${_.prefix}" \u958B\u982D`;if(_.format==="ends_with")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u4EE5 "${_.suffix}" \u7D50\u5C3E`;if(_.format==="includes")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u5305\u542B "${_.includes}"`;if(_.format==="regex")return`\u7121\u6548\u7684\u5B57\u4E32\uFF1A\u5FC5\u9808\u7B26\u5408\u683C\u5F0F ${_.pattern}`;return`\u7121\u6548\u7684 ${t[_.format]??i.format}`}case"not_multiple_of":return`\u7121\u6548\u7684\u6578\u5B57\uFF1A\u5FC5\u9808\u70BA ${i.divisor} \u7684\u500D\u6578`;case"unrecognized_keys":return`\u7121\u6CD5\u8B58\u5225\u7684\u9375\u503C${i.keys.length>1?"\u5011":""}\uFF1A${U(i.keys,"\u3001")}`;case"invalid_key":return`${i.origin} \u4E2D\u6709\u7121\u6548\u7684\u9375\u503C`;case"invalid_union":return"\u7121\u6548\u7684\u8F38\u5165\u503C";case"invalid_element":return`${i.origin} \u4E2D\u6709\u7121\u6548\u7684\u503C`;default:return"\u7121\u6548\u7684\u8F38\u5165\u503C"}}};var dU=a(()=>{k()});function nw(){return{localeError:sq()}}var sq=()=>{let r={string:{unit:"\xE0mi",verb:"n\xED"},file:{unit:"bytes",verb:"n\xED"},array:{unit:"nkan",verb:"n\xED"},set:{unit:"nkan",verb:"n\xED"}};function n(i){return r[i]??null}let t={regex:"\u1EB9\u0300r\u1ECD \xECb\xE1w\u1ECDl\xE9",email:"\xE0d\xEDr\u1EB9\u0301s\xEC \xECm\u1EB9\u0301l\xEC",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:"\xE0k\xF3k\xF2 ISO",date:"\u1ECDj\u1ECD\u0301 ISO",time:"\xE0k\xF3k\xF2 ISO",duration:"\xE0k\xF3k\xF2 t\xF3 p\xE9 ISO",ipv4:"\xE0d\xEDr\u1EB9\u0301s\xEC IPv4",ipv6:"\xE0d\xEDr\u1EB9\u0301s\xEC IPv6",cidrv4:"\xE0gb\xE8gb\xE8 IPv4",cidrv6:"\xE0gb\xE8gb\xE8 IPv6",base64:"\u1ECD\u0300r\u1ECD\u0300 t\xED a k\u1ECD\u0301 n\xED base64",base64url:"\u1ECD\u0300r\u1ECD\u0300 base64url",json_string:"\u1ECD\u0300r\u1ECD\u0300 JSON",e164:"n\u1ECD\u0301mb\xE0 E.164",jwt:"JWT",template_literal:"\u1EB9\u0300r\u1ECD \xECb\xE1w\u1ECDl\xE9"},e={nan:"NaN",number:"n\u1ECD\u0301mb\xE0",array:"akop\u1ECD"};return(i)=>{switch(i.code){case"invalid_type":{let _=e[i.expected]??i.expected,c=E(i.input),o=e[c]??c;if(/^[A-Z]/.test(i.expected))return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi instanceof ${i.expected}, \xE0m\u1ECD\u0300 a r\xED ${o}`;return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${_}, \xE0m\u1ECD\u0300 a r\xED ${o}`}case"invalid_value":if(i.values.length===1)return`\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e: a n\xED l\xE1ti fi ${T(i.values[0])}`;return`\xC0\u1E63\xE0y\xE0n a\u1E63\xEC\u1E63e: yan \u1ECD\u0300kan l\xE1ra ${U(i.values,"|")}`;case"too_big":{let _=i.inclusive?"<=":"<",c=n(i.origin);if(c)return`T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${i.origin??"iye"} ${c.verb} ${_}${i.maximum} ${c.unit}`;return`T\xF3 p\u1ECD\u0300 j\xF9: a n\xED l\xE1ti j\u1EB9\u0301 ${_}${i.maximum}`}case"too_small":{let _=i.inclusive?">=":">",c=n(i.origin);if(c)return`K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 p\xE9 ${i.origin} ${c.verb} ${_}${i.minimum} ${c.unit}`;return`K\xE9r\xE9 ju: a n\xED l\xE1ti j\u1EB9\u0301 ${_}${i.minimum}`}case"invalid_format":{let _=i;if(_.format==="starts_with")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\u1EB9\u0300r\u1EB9\u0300 p\u1EB9\u0300l\xFA "${_.prefix}"`;if(_.format==="ends_with")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 par\xED p\u1EB9\u0300l\xFA "${_.suffix}"`;if(_.format==="includes")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 n\xED "${_.includes}"`;if(_.format==="regex")return`\u1ECC\u0300r\u1ECD\u0300 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 b\xE1 \xE0p\u1EB9\u1EB9r\u1EB9 mu ${_.pattern}`;return`A\u1E63\xEC\u1E63e: ${t[_.format]??i.format}`}case"not_multiple_of":return`N\u1ECD\u0301mb\xE0 a\u1E63\xEC\u1E63e: gb\u1ECD\u0301d\u1ECD\u0300 j\u1EB9\u0301 \xE8y\xE0 p\xEDp\xEDn ti ${i.divisor}`;case"unrecognized_keys":return`B\u1ECDt\xECn\xEC \xE0\xECm\u1ECD\u0300: ${U(i.keys,", ")}`;case"invalid_key":return`B\u1ECDt\xECn\xEC a\u1E63\xEC\u1E63e n\xEDn\xFA ${i.origin}`;case"invalid_union":return"\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e";case"invalid_element":return`Iye a\u1E63\xEC\u1E63e n\xEDn\xFA ${i.origin}`;default:return"\xCCb\xE1w\u1ECDl\xE9 a\u1E63\xEC\u1E63e"}}};var fU=a(()=>{k()});var m_={};Wn(m_,{zhTW:()=>rw,zhCN:()=>sb,yo:()=>nw,vi:()=>pb,uz:()=>xb,ur:()=>Zb,uk:()=>w_,ua:()=>Cb,tr:()=>Qb,th:()=>Yb,ta:()=>Hb,sv:()=>Bb,sl:()=>Xb,ru:()=>Gb,pt:()=>Fb,ps:()=>Mb,pl:()=>Vb,ota:()=>vb,no:()=>kb,nl:()=>Jb,ms:()=>Pb,mk:()=>Ab,lt:()=>Wb,ko:()=>jb,km:()=>f_,kh:()=>zb,ka:()=>Nb,ja:()=>qb,it:()=>lb,is:()=>Eb,id:()=>Tb,hy:()=>ab,hu:()=>Sb,he:()=>Db,frCA:()=>Rb,fr:()=>Ob,fi:()=>Ub,fa:()=>hb,es:()=>yb,eo:()=>Ib,en:()=>d_,de:()=>wb,da:()=>bb,cs:()=>fb,ca:()=>db,bg:()=>gb,be:()=>$b,az:()=>ub,ar:()=>ob});var tw=a(()=>{y4();h4();O4();R4();D4();S4();a4();T4();mb();E4();l4();q4();N4();L4();z4();j4();W4();P4();J4();k4();v4();M4();V4();F4();Lb();G4();B4();H4();Y4();Q4();K4();C4();Z4();x4();p4();rU();nU();tU();iU();eU();_U();cU();Kb();oU();uU();$U();gU();dU();fU()});class _w{constructor(){this._map=new WeakMap,this._idmap=new Map}add(r,...n){let t=n[0];if(this._map.set(r,t),t&&typeof t==="object"&&"id"in t)this._idmap.set(t.id,r);return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(r){let n=this._map.get(r);if(n&&typeof n==="object"&&"id"in n)this._idmap.delete(n.id);return this._map.delete(r),this}get(r){let n=r._zod.parent;if(n){let t={...this.get(n)??{}};delete t.id;let e={...t,...this._map.get(r)};return Object.keys(e).length?e:void 0}return this._map.get(r)}has(r){return this._map.has(r)}}function Uo(){return new _w}var bU,iw,ew,lr;var I_=a(()=>{iw=Symbol("ZodOutput"),ew=Symbol("ZodInput");(bU=globalThis).__zod_globalRegistry??(bU.__zod_globalRegistry=Uo());lr=globalThis.__zod_globalRegistry});function cw(r,n){return new r({type:"string",...q(n)})}function ow(r,n){return new r({type:"string",coerce:!0,...q(n)})}function Oo(r,n){return new r({type:"string",format:"email",check:"string_format",abort:!1,...q(n)})}function y_(r,n){return new r({type:"string",format:"guid",check:"string_format",abort:!1,...q(n)})}function Ro(r,n){return new r({type:"string",format:"uuid",check:"string_format",abort:!1,...q(n)})}function Do(r,n){return new r({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...q(n)})}function So(r,n){return new r({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...q(n)})}function ao(r,n){return new r({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...q(n)})}function h_(r,n){return new r({type:"string",format:"url",check:"string_format",abort:!1,...q(n)})}function To(r,n){return new r({type:"string",format:"emoji",check:"string_format",abort:!1,...q(n)})}function Eo(r,n){return new r({type:"string",format:"nanoid",check:"string_format",abort:!1,...q(n)})}function lo(r,n){return new r({type:"string",format:"cuid",check:"string_format",abort:!1,...q(n)})}function qo(r,n){return new r({type:"string",format:"cuid2",check:"string_format",abort:!1,...q(n)})}function No(r,n){return new r({type:"string",format:"ulid",check:"string_format",abort:!1,...q(n)})}function Lo(r,n){return new r({type:"string",format:"xid",check:"string_format",abort:!1,...q(n)})}function zo(r,n){return new r({type:"string",format:"ksuid",check:"string_format",abort:!1,...q(n)})}function jo(r,n){return new r({type:"string",format:"ipv4",check:"string_format",abort:!1,...q(n)})}function Wo(r,n){return new r({type:"string",format:"ipv6",check:"string_format",abort:!1,...q(n)})}function uw(r,n){return new r({type:"string",format:"mac",check:"string_format",abort:!1,...q(n)})}function Ao(r,n){return new r({type:"string",format:"cidrv4",check:"string_format",abort:!1,...q(n)})}function Po(r,n){return new r({type:"string",format:"cidrv6",check:"string_format",abort:!1,...q(n)})}function Jo(r,n){return new r({type:"string",format:"base64",check:"string_format",abort:!1,...q(n)})}function ko(r,n){return new r({type:"string",format:"base64url",check:"string_format",abort:!1,...q(n)})}function vo(r,n){return new r({type:"string",format:"e164",check:"string_format",abort:!1,...q(n)})}function Mo(r,n){return new r({type:"string",format:"jwt",check:"string_format",abort:!1,...q(n)})}function gw(r,n){return new r({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...q(n)})}function dw(r,n){return new r({type:"string",format:"date",check:"string_format",...q(n)})}function fw(r,n){return new r({type:"string",format:"time",check:"string_format",precision:null,...q(n)})}function bw(r,n){return new r({type:"string",format:"duration",check:"string_format",...q(n)})}function ww(r,n){return new r({type:"number",checks:[],...q(n)})}function mw(r,n){return new r({type:"number",coerce:!0,checks:[],...q(n)})}function Iw(r,n){return new r({type:"number",check:"number_format",abort:!1,format:"safeint",...q(n)})}function yw(r,n){return new r({type:"number",check:"number_format",abort:!1,format:"float32",...q(n)})}function hw(r,n){return new r({type:"number",check:"number_format",abort:!1,format:"float64",...q(n)})}function Uw(r,n){return new r({type:"number",check:"number_format",abort:!1,format:"int32",...q(n)})}function Ow(r,n){return new r({type:"number",check:"number_format",abort:!1,format:"uint32",...q(n)})}function Rw(r,n){return new r({type:"boolean",...q(n)})}function Dw(r,n){return new r({type:"boolean",coerce:!0,...q(n)})}function Sw(r,n){return new r({type:"bigint",...q(n)})}function aw(r,n){return new r({type:"bigint",coerce:!0,...q(n)})}function Tw(r,n){return new r({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...q(n)})}function Ew(r,n){return new r({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...q(n)})}function lw(r,n){return new r({type:"symbol",...q(n)})}function qw(r,n){return new r({type:"undefined",...q(n)})}function Nw(r,n){return new r({type:"null",...q(n)})}function Lw(r){return new r({type:"any"})}function zw(r){return new r({type:"unknown"})}function jw(r,n){return new r({type:"never",...q(n)})}function Ww(r,n){return new r({type:"void",...q(n)})}function Aw(r,n){return new r({type:"date",...q(n)})}function Pw(r,n){return new r({type:"date",coerce:!0,...q(n)})}function Jw(r,n){return new r({type:"nan",...q(n)})}function Pn(r,n){return new _o({check:"less_than",...q(n),value:r,inclusive:!1})}function rn(r,n){return new _o({check:"less_than",...q(n),value:r,inclusive:!0})}function Jn(r,n){return new co({check:"greater_than",...q(n),value:r,inclusive:!1})}function Jr(r,n){return new co({check:"greater_than",...q(n),value:r,inclusive:!0})}function Vo(r){return Jn(0,r)}function Fo(r){return Pn(0,r)}function Go(r){return rn(0,r)}function Xo(r){return Jr(0,r)}function wt(r,n){return new Nd({check:"multiple_of",...q(n),value:r})}function mt(r,n){return new jd({check:"max_size",...q(n),maximum:r})}function kn(r,n){return new Wd({check:"min_size",...q(n),minimum:r})}function Qt(r,n){return new Ad({check:"size_equals",...q(n),size:r})}function Kt(r,n){return new Pd({check:"max_length",...q(n),maximum:r})}function rt(r,n){return new Jd({check:"min_length",...q(n),minimum:r})}function Ct(r,n){return new kd({check:"length_equals",...q(n),length:r})}function Ji(r,n){return new vd({check:"string_format",format:"regex",...q(n),pattern:r})}function ki(r){return new Md({check:"string_format",format:"lowercase",...q(r)})}function vi(r){return new Vd({check:"string_format",format:"uppercase",...q(r)})}function Mi(r,n){return new Fd({check:"string_format",format:"includes",...q(n),includes:r})}function Vi(r,n){return new Gd({check:"string_format",format:"starts_with",...q(n),prefix:r})}function Fi(r,n){return new Xd({check:"string_format",format:"ends_with",...q(n),suffix:r})}function Bo(r,n,t){return new Bd({check:"property",property:r,schema:n,...q(t)})}function Gi(r,n){return new Hd({check:"mime_type",mime:r,...q(n)})}function Rn(r){return new Yd({check:"overwrite",tx:r})}function Xi(r){return Rn((n)=>n.normalize(r))}function Bi(){return Rn((r)=>r.trim())}function Hi(){return Rn((r)=>r.toLowerCase())}function Yi(){return Rn((r)=>r.toUpperCase())}function Qi(){return Rn((r)=>Gg(r))}function kw(r,n,t){return new r({type:"array",element:n,...q(t)})}function nN(r,n,t){return new r({type:"union",options:n,...q(t)})}function tN(r,n,t){return new r({type:"union",options:n,inclusive:!1,...q(t)})}function iN(r,n,t,e){return new r({type:"union",options:t,discriminator:n,...q(e)})}function eN(r,n,t){return new r({type:"intersection",left:n,right:t})}function _N(r,n,t,e){let i=t instanceof G;return new r({type:"tuple",items:n,rest:i?t:null,...q(i?e:t)})}function cN(r,n,t,e){return new r({type:"record",keyType:n,valueType:t,...q(e)})}function oN(r,n,t,e){return new r({type:"map",keyType:n,valueType:t,...q(e)})}function uN(r,n,t){return new r({type:"set",valueType:n,...q(t)})}function $N(r,n,t){let e=Array.isArray(n)?Object.fromEntries(n.map((i)=>[i,i])):n;return new r({type:"enum",entries:e,...q(t)})}function gN(r,n,t){return new r({type:"enum",entries:n,...q(t)})}function dN(r,n,t){return new r({type:"literal",values:Array.isArray(n)?n:[n],...q(t)})}function vw(r,n){return new r({type:"file",...q(n)})}function fN(r,n){return new r({type:"transform",transform:n})}function bN(r,n){return new r({type:"optional",innerType:n})}function wN(r,n){return new r({type:"nullable",innerType:n})}function mN(r,n,t){return new r({type:"default",innerType:n,get defaultValue(){return typeof t==="function"?t():Bg(t)}})}function IN(r,n,t){return new r({type:"nonoptional",innerType:n,...q(t)})}function yN(r,n){return new r({type:"success",innerType:n})}function hN(r,n,t){return new r({type:"catch",innerType:n,catchValue:typeof t==="function"?t:()=>t})}function UN(r,n,t){return new r({type:"pipe",in:n,out:t})}function ON(r,n){return new r({type:"readonly",innerType:n})}function RN(r,n,t){return new r({type:"template_literal",parts:n,...q(t)})}function DN(r,n){return new r({type:"lazy",getter:n})}function SN(r,n){return new r({type:"promise",innerType:n})}function Mw(r,n,t){let e=q(t);return e.abort??(e.abort=!0),new r({type:"custom",check:"custom",fn:n,...e})}function Vw(r,n,t){return new r({type:"custom",check:"custom",fn:n,...q(t)})}function Fw(r){let n=wU((t)=>{return t.addIssue=(e)=>{if(typeof e==="string")t.issues.push(Ni(e,t.value,n._zod.def));else{let i=e;if(i.fatal)i.continue=!1;i.code??(i.code="custom"),i.input??(i.input=t.value),i.inst??(i.inst=n),i.continue??(i.continue=!n._zod.def.abort),t.issues.push(Ni(i))}},r(t.value,t)});return n}function wU(r,n){let t=new nr({check:"custom",...q(n)});return t._zod.check=r,t}function Gw(r){let n=new nr({check:"describe"});return n._zod.onattach=[(t)=>{let e=lr.get(t)??{};lr.add(t,{...e,description:r})}],n._zod.check=()=>{},n}function Xw(r){let n=new nr({check:"meta"});return n._zod.onattach=[(t)=>{let e=lr.get(t)??{};lr.add(t,{...e,...r})}],n._zod.check=()=>{},n}function Bw(r,n){let t=q(n),e=t.truthy??["true","1","yes","on","y","enabled"],i=t.falsy??["false","0","no","off","n","disabled"];if(t.case!=="sensitive")e=e.map((b)=>typeof b==="string"?b.toLowerCase():b),i=i.map((b)=>typeof b==="string"?b.toLowerCase():b);let _=new Set(e),c=new Set(i),o=r.Codec??g_,u=r.Boolean??u_,g=new(r.String??Yt)({type:"string",error:t.error}),d=new u({type:"boolean",error:t.error}),f=new o({type:"pipe",in:g,out:d,transform:(b,I)=>{let w=b;if(t.case!=="sensitive")w=w.toLowerCase();if(_.has(w))return!0;else if(c.has(w))return!1;else return I.issues.push({code:"invalid_value",expected:"stringbool",values:[..._,...c],input:I.value,inst:f,continue:!1}),{}},reverseTransform:(b,I)=>{if(b===!0)return e[0]||"true";else return i[0]||"false"},error:t.error});return f}function Ki(r,n,t,e={}){let i=q(e),_={...q(e),check:"string_format",type:"string",format:n,fn:typeof t==="function"?t:(o)=>t.test(o),...i};if(t instanceof RegExp)_.pattern=t;return new r(_)}var $w;var mU=a(()=>{oo();I_();cb();k();$w={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6}});function It(r){let n=r?.target??"draft-2020-12";if(n==="draft-4")n="draft-04";if(n==="draft-7")n="draft-07";return{processors:r.processors??{},metadataRegistry:r?.metadata??lr,target:n,unrepresentable:r?.unrepresentable??"throw",override:r?.override??(()=>{}),io:r?.io??"output",counter:0,seen:new Map,cycles:r?.cycles??"ref",reused:r?.reused??"inline",external:r?.external??void 0}}function x(r,n,t={path:[],schemaPath:[]}){var e;let i=r._zod.def,_=n.seen.get(r);if(_){if(_.count++,t.schemaPath.includes(r))_.cycle=t.path;return _.schema}let c={schema:{},count:1,cycle:void 0,path:t.path};n.seen.set(r,c);let o=r._zod.toJSONSchema?.();if(o)c.schema=o;else{let g={...t,schemaPath:[...t.schemaPath,r],path:t.path};if(r._zod.processJSONSchema)r._zod.processJSONSchema(n,c.schema,g);else{let f=c.schema,b=n.processors[i.type];if(!b)throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);b(r,n,f,g)}let d=r._zod.parent;if(d){if(!c.ref)c.ref=d;x(d,n,g),n.seen.get(d).isParent=!0}}let u=n.metadataRegistry.get(r);if(u)Object.assign(c.schema,u);if(n.io==="input"&&kr(r))delete c.schema.examples,delete c.schema.default;if(n.io==="input"&&c.schema._prefault)(e=c.schema).default??(e.default=c.schema._prefault);return delete c.schema._prefault,n.seen.get(r).schema}function yt(r,n){let t=r.seen.get(n);if(!t)throw Error("Unprocessed schema. This is a bug in Zod.");let e=new Map;for(let c of r.seen.entries()){let o=r.metadataRegistry.get(c[0])?.id;if(o){let u=e.get(o);if(u&&u!==c[0])throw Error(`Duplicate schema id "${o}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);e.set(o,c[0])}}let i=(c)=>{let o=r.target==="draft-2020-12"?"$defs":"definitions";if(r.external){let d=r.external.registry.get(c[0])?.id,f=r.external.uri??((I)=>I);if(d)return{ref:f(d)};let b=c[1].defId??c[1].schema.id??`schema${r.counter++}`;return c[1].defId=b,{defId:b,ref:`${f("__shared")}#/${o}/${b}`}}if(c[1]===t)return{ref:"#"};let $=`${"#"}/${o}/`,g=c[1].schema.id??`__schema${r.counter++}`;return{defId:g,ref:$+g}},_=(c)=>{if(c[1].schema.$ref)return;let o=c[1],{ref:u,defId:$}=i(c);if(o.def={...o.schema},$)o.defId=$;let g=o.schema;for(let d in g)delete g[d];g.$ref=u};if(r.cycles==="throw")for(let c of r.seen.entries()){let o=c[1];if(o.cycle)throw Error(`Cycle detected: #/${o.cycle?.join("/")}/<root>
|
|
41
|
+
|
|
42
|
+
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let c of r.seen.entries()){let o=c[1];if(n===c[0]){_(c);continue}if(r.external){let $=r.external.registry.get(c[0])?.id;if(n!==c[0]&&$){_(c);continue}}if(r.metadataRegistry.get(c[0])?.id){_(c);continue}if(o.cycle){_(c);continue}if(o.count>1){if(r.reused==="ref"){_(c);continue}}}}function ht(r,n){let t=r.seen.get(n);if(!t)throw Error("Unprocessed schema. This is a bug in Zod.");let e=(c)=>{let o=r.seen.get(c);if(o.ref===null)return;let u=o.def??o.schema,$={...u},g=o.ref;if(o.ref=null,g){e(g);let f=r.seen.get(g),b=f.schema;if(b.$ref&&(r.target==="draft-07"||r.target==="draft-04"||r.target==="openapi-3.0"))u.allOf=u.allOf??[],u.allOf.push(b);else Object.assign(u,b);if(Object.assign(u,$),c._zod.parent===g)for(let w in u){if(w==="$ref"||w==="allOf")continue;if(!(w in $))delete u[w]}if(b.$ref&&f.def)for(let w in u){if(w==="$ref"||w==="allOf")continue;if(w in f.def&&JSON.stringify(u[w])===JSON.stringify(f.def[w]))delete u[w]}}let d=c._zod.parent;if(d&&d!==g){e(d);let f=r.seen.get(d);if(f?.schema.$ref){if(u.$ref=f.schema.$ref,f.def)for(let b in u){if(b==="$ref"||b==="allOf")continue;if(b in f.def&&JSON.stringify(u[b])===JSON.stringify(f.def[b]))delete u[b]}}}r.override({zodSchema:c,jsonSchema:u,path:o.path??[]})};for(let c of[...r.seen.entries()].reverse())e(c[0]);let i={};if(r.target==="draft-2020-12")i.$schema="https://json-schema.org/draft/2020-12/schema";else if(r.target==="draft-07")i.$schema="http://json-schema.org/draft-07/schema#";else if(r.target==="draft-04")i.$schema="http://json-schema.org/draft-04/schema#";else if(r.target==="openapi-3.0");if(r.external?.uri){let c=r.external.registry.get(n)?.id;if(!c)throw Error("Schema is missing an `id` property");i.$id=r.external.uri(c)}Object.assign(i,t.def??t.schema);let _=r.external?.defs??{};for(let c of r.seen.entries()){let o=c[1];if(o.def&&o.defId)_[o.defId]=o.def}if(r.external);else if(Object.keys(_).length>0)if(r.target==="draft-2020-12")i.$defs=_;else i.definitions=_;try{let c=JSON.parse(JSON.stringify(i));return Object.defineProperty(c,"~standard",{value:{...n["~standard"],jsonSchema:{input:Ci(n,"input",r.processors),output:Ci(n,"output",r.processors)}},enumerable:!1,writable:!1}),c}catch(c){throw Error("Error converting schema to JSON.")}}function kr(r,n){let t=n??{seen:new Set};if(t.seen.has(r))return!1;t.seen.add(r);let e=r._zod.def;if(e.type==="transform")return!0;if(e.type==="array")return kr(e.element,t);if(e.type==="set")return kr(e.valueType,t);if(e.type==="lazy")return kr(e.getter(),t);if(e.type==="promise"||e.type==="optional"||e.type==="nonoptional"||e.type==="nullable"||e.type==="readonly"||e.type==="default"||e.type==="prefault")return kr(e.innerType,t);if(e.type==="intersection")return kr(e.left,t)||kr(e.right,t);if(e.type==="record"||e.type==="map")return kr(e.keyType,t)||kr(e.valueType,t);if(e.type==="pipe")return kr(e.in,t)||kr(e.out,t);if(e.type==="object"){for(let i in e.shape)if(kr(e.shape[i],t))return!0;return!1}if(e.type==="union"){for(let i of e.options)if(kr(i,t))return!0;return!1}if(e.type==="tuple"){for(let i of e.items)if(kr(i,t))return!0;if(e.rest&&kr(e.rest,t))return!0;return!1}return!1}var Hw=(r,n={})=>(t)=>{let e=It({...t,processors:n});return x(r,e),yt(e,r),ht(e,r)},Ci=(r,n,t={})=>(e)=>{let{libraryOptions:i,target:_}=e??{},c=It({...i??{},target:_,io:n,processors:t});return x(r,c),yt(c,r),ht(c,r)};var U_=a(()=>{I_()});function Ko(r,n){if("_idmap"in r){let e=r,i=It({...n,processors:Ho}),_={};for(let u of e._idmap.entries()){let[$,g]=u;x(g,i)}let c={},o={registry:e,uri:n?.uri,defs:_};i.external=o;for(let u of e._idmap.entries()){let[$,g]=u;yt(i,g),c[$]=ht(i,g)}if(Object.keys(_).length>0){let u=i.target==="draft-2020-12"?"$defs":"definitions";c.__shared={[u]:_}}return{schemas:c}}let t=It({...n,processors:Ho});return x(r,t),yt(t,r),ht(t,r)}var aN,Yw=(r,n,t,e)=>{let i=t;i.type="string";let{minimum:_,maximum:c,format:o,patterns:u,contentEncoding:$}=r._zod.bag;if(typeof _==="number")i.minLength=_;if(typeof c==="number")i.maxLength=c;if(o){if(i.format=aN[o]??o,i.format==="")delete i.format;if(o==="time")delete i.format}if($)i.contentEncoding=$;if(u&&u.size>0){let g=[...u];if(g.length===1)i.pattern=g[0].source;else if(g.length>1)i.allOf=[...g.map((d)=>({...n.target==="draft-07"||n.target==="draft-04"||n.target==="openapi-3.0"?{type:"string"}:{},pattern:d.source}))]}},Qw=(r,n,t,e)=>{let i=t,{minimum:_,maximum:c,format:o,multipleOf:u,exclusiveMaximum:$,exclusiveMinimum:g}=r._zod.bag;if(typeof o==="string"&&o.includes("int"))i.type="integer";else i.type="number";if(typeof g==="number")if(n.target==="draft-04"||n.target==="openapi-3.0")i.minimum=g,i.exclusiveMinimum=!0;else i.exclusiveMinimum=g;if(typeof _==="number"){if(i.minimum=_,typeof g==="number"&&n.target!=="draft-04")if(g>=_)delete i.minimum;else delete i.exclusiveMinimum}if(typeof $==="number")if(n.target==="draft-04"||n.target==="openapi-3.0")i.maximum=$,i.exclusiveMaximum=!0;else i.exclusiveMaximum=$;if(typeof c==="number"){if(i.maximum=c,typeof $==="number"&&n.target!=="draft-04")if($<=c)delete i.maximum;else delete i.exclusiveMaximum}if(typeof u==="number")i.multipleOf=u},Kw=(r,n,t,e)=>{t.type="boolean"},Cw=(r,n,t,e)=>{if(n.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},Zw=(r,n,t,e)=>{if(n.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},xw=(r,n,t,e)=>{if(n.target==="openapi-3.0")t.type="string",t.nullable=!0,t.enum=[null];else t.type="null"},pw=(r,n,t,e)=>{if(n.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},sw=(r,n,t,e)=>{if(n.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},rm=(r,n,t,e)=>{t.not={}},nm=(r,n,t,e)=>{},tm=(r,n,t,e)=>{},im=(r,n,t,e)=>{if(n.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},em=(r,n,t,e)=>{let i=r._zod.def,_=Ze(i.entries);if(_.every((c)=>typeof c==="number"))t.type="number";if(_.every((c)=>typeof c==="string"))t.type="string";t.enum=_},_m=(r,n,t,e)=>{let i=r._zod.def,_=[];for(let c of i.values)if(c===void 0){if(n.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof c==="bigint")if(n.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else _.push(Number(c));else _.push(c);if(_.length===0);else if(_.length===1){let c=_[0];if(t.type=c===null?"null":typeof c,n.target==="draft-04"||n.target==="openapi-3.0")t.enum=[c];else t.const=c}else{if(_.every((c)=>typeof c==="number"))t.type="number";if(_.every((c)=>typeof c==="string"))t.type="string";if(_.every((c)=>typeof c==="boolean"))t.type="boolean";if(_.every((c)=>c===null))t.type="null";t.enum=_}},cm=(r,n,t,e)=>{if(n.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},om=(r,n,t,e)=>{let i=t,_=r._zod.pattern;if(!_)throw Error("Pattern not found in template literal");i.type="string",i.pattern=_.source},um=(r,n,t,e)=>{let i=t,_={type:"string",format:"binary",contentEncoding:"binary"},{minimum:c,maximum:o,mime:u}=r._zod.bag;if(c!==void 0)_.minLength=c;if(o!==void 0)_.maxLength=o;if(u)if(u.length===1)_.contentMediaType=u[0],Object.assign(i,_);else Object.assign(i,_),i.anyOf=u.map(($)=>({contentMediaType:$}));else Object.assign(i,_)},$m=(r,n,t,e)=>{t.type="boolean"},gm=(r,n,t,e)=>{if(n.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},dm=(r,n,t,e)=>{if(n.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},fm=(r,n,t,e)=>{if(n.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},bm=(r,n,t,e)=>{if(n.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},wm=(r,n,t,e)=>{if(n.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},mm=(r,n,t,e)=>{let i=t,_=r._zod.def,{minimum:c,maximum:o}=r._zod.bag;if(typeof c==="number")i.minItems=c;if(typeof o==="number")i.maxItems=o;i.type="array",i.items=x(_.element,n,{...e,path:[...e.path,"items"]})},Im=(r,n,t,e)=>{let i=t,_=r._zod.def;i.type="object",i.properties={};let c=_.shape;for(let $ in c)i.properties[$]=x(c[$],n,{...e,path:[...e.path,"properties",$]});let o=new Set(Object.keys(c)),u=new Set([...o].filter(($)=>{let g=_.shape[$]._zod;if(n.io==="input")return g.optin===void 0;else return g.optout===void 0}));if(u.size>0)i.required=Array.from(u);if(_.catchall?._zod.def.type==="never")i.additionalProperties=!1;else if(!_.catchall){if(n.io==="output")i.additionalProperties=!1}else if(_.catchall)i.additionalProperties=x(_.catchall,n,{...e,path:[...e.path,"additionalProperties"]})},Yo=(r,n,t,e)=>{let i=r._zod.def,_=i.inclusive===!1,c=i.options.map((o,u)=>x(o,n,{...e,path:[...e.path,_?"oneOf":"anyOf",u]}));if(_)t.oneOf=c;else t.anyOf=c},ym=(r,n,t,e)=>{let i=r._zod.def,_=x(i.left,n,{...e,path:[...e.path,"allOf",0]}),c=x(i.right,n,{...e,path:[...e.path,"allOf",1]}),o=($)=>("allOf"in $)&&Object.keys($).length===1,u=[...o(_)?_.allOf:[_],...o(c)?c.allOf:[c]];t.allOf=u},hm=(r,n,t,e)=>{let i=t,_=r._zod.def;i.type="array";let c=n.target==="draft-2020-12"?"prefixItems":"items",o=n.target==="draft-2020-12"?"items":n.target==="openapi-3.0"?"items":"additionalItems",u=_.items.map((f,b)=>x(f,n,{...e,path:[...e.path,c,b]})),$=_.rest?x(_.rest,n,{...e,path:[...e.path,o,...n.target==="openapi-3.0"?[_.items.length]:[]]}):null;if(n.target==="draft-2020-12"){if(i.prefixItems=u,$)i.items=$}else if(n.target==="openapi-3.0"){if(i.items={anyOf:u},$)i.items.anyOf.push($);if(i.minItems=u.length,!$)i.maxItems=u.length}else if(i.items=u,$)i.additionalItems=$;let{minimum:g,maximum:d}=r._zod.bag;if(typeof g==="number")i.minItems=g;if(typeof d==="number")i.maxItems=d},Um=(r,n,t,e)=>{let i=t,_=r._zod.def;i.type="object";let c=_.keyType,u=c._zod.bag?.patterns;if(_.mode==="loose"&&u&&u.size>0){let g=x(_.valueType,n,{...e,path:[...e.path,"patternProperties","*"]});i.patternProperties={};for(let d of u)i.patternProperties[d.source]=g}else{if(n.target==="draft-07"||n.target==="draft-2020-12")i.propertyNames=x(_.keyType,n,{...e,path:[...e.path,"propertyNames"]});i.additionalProperties=x(_.valueType,n,{...e,path:[...e.path,"additionalProperties"]})}let $=c._zod.values;if($){let g=[...$].filter((d)=>typeof d==="string"||typeof d==="number");if(g.length>0)i.required=g}},Om=(r,n,t,e)=>{let i=r._zod.def,_=x(i.innerType,n,e),c=n.seen.get(r);if(n.target==="openapi-3.0")c.ref=i.innerType,t.nullable=!0;else t.anyOf=[_,{type:"null"}]},Rm=(r,n,t,e)=>{let i=r._zod.def;x(i.innerType,n,e);let _=n.seen.get(r);_.ref=i.innerType},Dm=(r,n,t,e)=>{let i=r._zod.def;x(i.innerType,n,e);let _=n.seen.get(r);_.ref=i.innerType,t.default=JSON.parse(JSON.stringify(i.defaultValue))},Sm=(r,n,t,e)=>{let i=r._zod.def;x(i.innerType,n,e);let _=n.seen.get(r);if(_.ref=i.innerType,n.io==="input")t._prefault=JSON.parse(JSON.stringify(i.defaultValue))},am=(r,n,t,e)=>{let i=r._zod.def;x(i.innerType,n,e);let _=n.seen.get(r);_.ref=i.innerType;let c;try{c=i.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}t.default=c},Tm=(r,n,t,e)=>{let i=r._zod.def,_=n.io==="input"?i.in._zod.def.type==="transform"?i.out:i.in:i.out;x(_,n,e);let c=n.seen.get(r);c.ref=_},Em=(r,n,t,e)=>{let i=r._zod.def;x(i.innerType,n,e);let _=n.seen.get(r);_.ref=i.innerType,t.readOnly=!0},lm=(r,n,t,e)=>{let i=r._zod.def;x(i.innerType,n,e);let _=n.seen.get(r);_.ref=i.innerType},Qo=(r,n,t,e)=>{let i=r._zod.def;x(i.innerType,n,e);let _=n.seen.get(r);_.ref=i.innerType},qm=(r,n,t,e)=>{let i=r._zod.innerType;x(i,n,e);let _=n.seen.get(r);_.ref=i},Ho;var O_=a(()=>{U_();k();aN={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Ho={string:Yw,number:Qw,boolean:Kw,bigint:Cw,symbol:Zw,null:xw,undefined:pw,void:sw,never:rm,any:nm,unknown:tm,date:im,enum:em,literal:_m,nan:cm,template_literal:om,file:um,success:$m,custom:gm,function:dm,transform:fm,map:bm,set:wm,array:mm,object:Im,union:Yo,intersection:ym,tuple:hm,record:Um,nullable:Om,nonoptional:Rm,default:Dm,prefault:Sm,catch:am,pipe:Tm,readonly:Em,promise:lm,optional:Qo,lazy:qm}});class Nm{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(r){this.ctx.counter=r}get seen(){return this.ctx.seen}constructor(r){let n=r?.target??"draft-2020-12";if(n==="draft-4")n="draft-04";if(n==="draft-7")n="draft-07";this.ctx=It({processors:Ho,target:n,...r?.metadata&&{metadata:r.metadata},...r?.unrepresentable&&{unrepresentable:r.unrepresentable},...r?.override&&{override:r.override},...r?.io&&{io:r.io}})}process(r,n={path:[],schemaPath:[]}){return x(r,this.ctx,n)}emit(r,n){if(n){if(n.cycles)this.ctx.cycles=n.cycles;if(n.reused)this.ctx.reused=n.reused;if(n.external)this.ctx.external=n.external}yt(this.ctx,r);let t=ht(this.ctx,r),{"~standard":e,...i}=t;return i}}var IU=a(()=>{O_();U_()});var yU={};var hU=()=>{};var nt={};Wn(nt,{version:()=>Qd,util:()=>l,treeifyError:()=>Cg,toJSONSchema:()=>Ko,toDotPath:()=>Kh,safeParseAsync:()=>sg,safeParse:()=>pg,safeEncodeAsync:()=>zl,safeEncode:()=>Nl,safeDecodeAsync:()=>jl,safeDecode:()=>Ll,registry:()=>Uo,regexes:()=>gn,process:()=>x,prettifyError:()=>Zg,parseAsync:()=>Kc,parse:()=>Qc,meta:()=>Xw,locales:()=>m_,isValidJWT:()=>b4,isValidBase64URL:()=>f4,isValidBase64:()=>yf,initializeContext:()=>It,globalRegistry:()=>lr,globalConfig:()=>Ke,formatError:()=>i_,flattenError:()=>t_,finalize:()=>ht,extractDefs:()=>yt,encodeAsync:()=>ll,encode:()=>Tl,describe:()=>Gw,decodeAsync:()=>ql,decode:()=>El,createToJSONSchemaMethod:()=>Hw,createStandardJSONSchemaMethod:()=>Ci,config:()=>dr,clone:()=>Pr,_xor:()=>tN,_xid:()=>Lo,_void:()=>Ww,_uuidv7:()=>ao,_uuidv6:()=>So,_uuidv4:()=>Do,_uuid:()=>Ro,_url:()=>h_,_uppercase:()=>vi,_unknown:()=>zw,_union:()=>nN,_undefined:()=>qw,_ulid:()=>No,_uint64:()=>Ew,_uint32:()=>Ow,_tuple:()=>_N,_trim:()=>Bi,_transform:()=>fN,_toUpperCase:()=>Yi,_toLowerCase:()=>Hi,_templateLiteral:()=>RN,_symbol:()=>lw,_superRefine:()=>Fw,_success:()=>yN,_stringbool:()=>Bw,_stringFormat:()=>Ki,_string:()=>cw,_startsWith:()=>Vi,_slugify:()=>Qi,_size:()=>Qt,_set:()=>uN,_safeParseAsync:()=>Wi,_safeParse:()=>ji,_safeEncodeAsync:()=>no,_safeEncode:()=>sc,_safeDecodeAsync:()=>to,_safeDecode:()=>ro,_regex:()=>Ji,_refine:()=>Vw,_record:()=>cN,_readonly:()=>ON,_property:()=>Bo,_promise:()=>SN,_positive:()=>Vo,_pipe:()=>UN,_parseAsync:()=>zi,_parse:()=>Li,_overwrite:()=>Rn,_optional:()=>bN,_number:()=>ww,_nullable:()=>wN,_null:()=>Nw,_normalize:()=>Xi,_nonpositive:()=>Go,_nonoptional:()=>IN,_nonnegative:()=>Xo,_never:()=>jw,_negative:()=>Fo,_nativeEnum:()=>gN,_nanoid:()=>Eo,_nan:()=>Jw,_multipleOf:()=>wt,_minSize:()=>kn,_minLength:()=>rt,_min:()=>Jr,_mime:()=>Gi,_maxSize:()=>mt,_maxLength:()=>Kt,_max:()=>rn,_map:()=>oN,_mac:()=>uw,_lte:()=>rn,_lt:()=>Pn,_lowercase:()=>ki,_literal:()=>dN,_length:()=>Ct,_lazy:()=>DN,_ksuid:()=>zo,_jwt:()=>Mo,_isoTime:()=>fw,_isoDuration:()=>bw,_isoDateTime:()=>gw,_isoDate:()=>dw,_ipv6:()=>Wo,_ipv4:()=>jo,_intersection:()=>eN,_int64:()=>Tw,_int32:()=>Uw,_int:()=>Iw,_includes:()=>Mi,_guid:()=>y_,_gte:()=>Jr,_gt:()=>Jn,_float64:()=>hw,_float32:()=>yw,_file:()=>vw,_enum:()=>$N,_endsWith:()=>Fi,_encodeAsync:()=>xc,_encode:()=>Cc,_emoji:()=>To,_email:()=>Oo,_e164:()=>vo,_discriminatedUnion:()=>iN,_default:()=>mN,_decodeAsync:()=>pc,_decode:()=>Zc,_date:()=>Aw,_custom:()=>Mw,_cuid2:()=>qo,_cuid:()=>lo,_coercedString:()=>ow,_coercedNumber:()=>mw,_coercedDate:()=>Pw,_coercedBoolean:()=>Dw,_coercedBigint:()=>aw,_cidrv6:()=>Po,_cidrv4:()=>Ao,_check:()=>wU,_catch:()=>hN,_boolean:()=>Rw,_bigint:()=>Sw,_base64url:()=>ko,_base64:()=>Jo,_array:()=>kw,_any:()=>Lw,TimePrecision:()=>$w,NEVER:()=>vg,JSONSchemaGenerator:()=>Nm,JSONSchema:()=>yU,Doc:()=>uo,$output:()=>iw,$input:()=>ew,$constructor:()=>y,$brand:()=>Mg,$ZodXor:()=>Pf,$ZodXID:()=>cf,$ZodVoid:()=>zf,$ZodUnknown:()=>Nf,$ZodUnion:()=>$_,$ZodUndefined:()=>Ef,$ZodUUID:()=>xd,$ZodURL:()=>sd,$ZodULID:()=>_f,$ZodType:()=>G,$ZodTuple:()=>yo,$ZodTransform:()=>Bf,$ZodTemplateLiteral:()=>nb,$ZodSymbol:()=>Tf,$ZodSuccess:()=>Zf,$ZodStringFormat:()=>p,$ZodString:()=>Yt,$ZodSet:()=>Vf,$ZodRegistry:()=>_w,$ZodRecord:()=>vf,$ZodRealError:()=>Br,$ZodReadonly:()=>rb,$ZodPromise:()=>ib,$ZodPrefault:()=>Kf,$ZodPipe:()=>sf,$ZodOptional:()=>ho,$ZodObjectJIT:()=>Af,$ZodObject:()=>I4,$ZodNumberFormat:()=>Sf,$ZodNumber:()=>mo,$ZodNullable:()=>Yf,$ZodNull:()=>lf,$ZodNonOptional:()=>Cf,$ZodNever:()=>Lf,$ZodNanoID:()=>nf,$ZodNaN:()=>pf,$ZodMap:()=>Mf,$ZodMAC:()=>wf,$ZodLiteral:()=>Gf,$ZodLazy:()=>eb,$ZodKSUID:()=>of,$ZodJWT:()=>Rf,$ZodIntersection:()=>kf,$ZodISOTime:()=>gf,$ZodISODuration:()=>df,$ZodISODateTime:()=>uf,$ZodISODate:()=>$f,$ZodIPv6:()=>bf,$ZodIPv4:()=>ff,$ZodGUID:()=>Zd,$ZodFunction:()=>tb,$ZodFile:()=>Xf,$ZodExactOptional:()=>Hf,$ZodError:()=>n_,$ZodEnum:()=>Ff,$ZodEncodeError:()=>Xt,$ZodEmoji:()=>rf,$ZodEmail:()=>pd,$ZodE164:()=>Of,$ZodDiscriminatedUnion:()=>Jf,$ZodDefault:()=>Qf,$ZodDate:()=>jf,$ZodCustomStringFormat:()=>Df,$ZodCustom:()=>_b,$ZodCodec:()=>g_,$ZodCheckUpperCase:()=>Vd,$ZodCheckStringFormat:()=>Ai,$ZodCheckStartsWith:()=>Gd,$ZodCheckSizeEquals:()=>Ad,$ZodCheckRegex:()=>vd,$ZodCheckProperty:()=>Bd,$ZodCheckOverwrite:()=>Yd,$ZodCheckNumberFormat:()=>Ld,$ZodCheckMultipleOf:()=>Nd,$ZodCheckMinSize:()=>Wd,$ZodCheckMinLength:()=>Jd,$ZodCheckMimeType:()=>Hd,$ZodCheckMaxSize:()=>jd,$ZodCheckMaxLength:()=>Pd,$ZodCheckLowerCase:()=>Md,$ZodCheckLessThan:()=>_o,$ZodCheckLengthEquals:()=>kd,$ZodCheckIncludes:()=>Fd,$ZodCheckGreaterThan:()=>co,$ZodCheckEndsWith:()=>Xd,$ZodCheckBigIntFormat:()=>zd,$ZodCheck:()=>nr,$ZodCatch:()=>xf,$ZodCUID2:()=>ef,$ZodCUID:()=>tf,$ZodCIDRv6:()=>If,$ZodCIDRv4:()=>mf,$ZodBoolean:()=>u_,$ZodBigIntFormat:()=>af,$ZodBigInt:()=>Io,$ZodBase64URL:()=>Uf,$ZodBase64:()=>hf,$ZodAsyncError:()=>An,$ZodArray:()=>Wf,$ZodAny:()=>qf});var nn=a(()=>{k();eo();tw();O_();IU();hU();Ei();rd();xg();cb();oo();Kd();I_();mU();U_()});var Co={};Wn(Co,{uppercase:()=>vi,trim:()=>Bi,toUpperCase:()=>Yi,toLowerCase:()=>Hi,startsWith:()=>Vi,slugify:()=>Qi,size:()=>Qt,regex:()=>Ji,property:()=>Bo,positive:()=>Vo,overwrite:()=>Rn,normalize:()=>Xi,nonpositive:()=>Go,nonnegative:()=>Xo,negative:()=>Fo,multipleOf:()=>wt,minSize:()=>kn,minLength:()=>rt,mime:()=>Gi,maxSize:()=>mt,maxLength:()=>Kt,lte:()=>rn,lt:()=>Pn,lowercase:()=>ki,length:()=>Ct,includes:()=>Mi,gte:()=>Jr,gt:()=>Jn,endsWith:()=>Fi});var Zo=a(()=>{nn()});var Zi={};Wn(Zi,{time:()=>jm,duration:()=>Wm,datetime:()=>Lm,date:()=>zm,ZodISOTime:()=>so,ZodISODuration:()=>ru,ZodISODateTime:()=>xo,ZodISODate:()=>po});function Lm(r){return gw(xo,r)}function zm(r){return dw(po,r)}function jm(r){return fw(so,r)}function Wm(r){return bw(ru,r)}var xo,po,so,ru;var R_=a(()=>{nn();S_();xo=y("ZodISODateTime",(r,n)=>{uf.init(r,n),s.init(r,n)});po=y("ZodISODate",(r,n)=>{$f.init(r,n),s.init(r,n)});so=y("ZodISOTime",(r,n)=>{gf.init(r,n),s.init(r,n)});ru=y("ZodISODuration",(r,n)=>{df.init(r,n),s.init(r,n)})});var UU=(r,n)=>{n_.init(r,n),r.name="ZodError",Object.defineProperties(r,{format:{value:(t)=>i_(r,t)},flatten:{value:(t)=>t_(r,t)},addIssue:{value:(t)=>{r.issues.push(t),r.message=JSON.stringify(r.issues,li,2)}},addIssues:{value:(t)=>{r.issues.push(...t),r.message=JSON.stringify(r.issues,li,2)}},isEmpty:{get(){return r.issues.length===0}}})},EN,Hr;var Am=a(()=>{nn();nn();k();EN=y("ZodError",UU),Hr=y("ZodError",UU,{Parent:Error})});var Pm,Jm,km,vm,Mm,Vm,Fm,Gm,Xm,Bm,Hm,Ym;var Qm=a(()=>{nn();Am();Pm=Li(Hr),Jm=zi(Hr),km=ji(Hr),vm=Wi(Hr),Mm=Cc(Hr),Vm=Zc(Hr),Fm=xc(Hr),Gm=pc(Hr),Xm=sc(Hr),Bm=ro(Hr),Hm=no(Hr),Ym=to(Hr)});var D_={};Wn(D_,{xor:()=>gO,xid:()=>WU,void:()=>eO,uuidv7:()=>TU,uuidv6:()=>aU,uuidv4:()=>SU,uuid:()=>DU,url:()=>EU,unknown:()=>Zt,union:()=>Du,undefined:()=>tO,ulid:()=>jU,uint64:()=>rO,uint32:()=>xU,tuple:()=>dI,transform:()=>au,templateLiteral:()=>SO,symbol:()=>nO,superRefine:()=>vI,success:()=>OO,stringbool:()=>zO,stringFormat:()=>BU,string:()=>nu,strictObject:()=>uO,set:()=>mO,refine:()=>kI,record:()=>fI,readonly:()=>zI,promise:()=>aO,preprocess:()=>WO,prefault:()=>aI,pipe:()=>l_,partialRecord:()=>fO,optional:()=>T_,object:()=>oO,number:()=>Cm,nullish:()=>UO,nullable:()=>E_,null:()=>rI,nonoptional:()=>TI,never:()=>Ru,nativeEnum:()=>IO,nanoid:()=>NU,nan:()=>RO,meta:()=>NO,map:()=>wO,mac:()=>JU,looseRecord:()=>bO,looseObject:()=>$O,literal:()=>yO,lazy:()=>AI,ksuid:()=>AU,keyof:()=>cO,jwt:()=>XU,json:()=>jO,ipv6:()=>kU,ipv4:()=>PU,intersection:()=>$I,int64:()=>sU,int32:()=>ZU,int:()=>tu,instanceof:()=>LO,httpUrl:()=>lU,hostname:()=>HU,hex:()=>YU,hash:()=>QU,guid:()=>RU,function:()=>TO,float64:()=>CU,float32:()=>KU,file:()=>hO,exactOptional:()=>UI,enum:()=>Su,emoji:()=>qU,email:()=>OU,e164:()=>GU,discriminatedUnion:()=>dO,describe:()=>qO,date:()=>_O,custom:()=>lO,cuid2:()=>zU,cuid:()=>LU,codec:()=>DO,cidrv6:()=>MU,cidrv4:()=>vU,check:()=>EO,catch:()=>qI,boolean:()=>Zm,bigint:()=>pU,base64url:()=>FU,base64:()=>VU,array:()=>L_,any:()=>iO,_function:()=>TO,_default:()=>DI,_ZodString:()=>iu,ZodXor:()=>cI,ZodXID:()=>gu,ZodVoid:()=>eI,ZodUnknown:()=>tI,ZodUnion:()=>j_,ZodUndefined:()=>pm,ZodUUID:()=>vn,ZodURL:()=>q_,ZodULID:()=>$u,ZodType:()=>H,ZodTuple:()=>gI,ZodTransform:()=>yI,ZodTemplateLiteral:()=>jI,ZodSymbol:()=>xm,ZodSuccess:()=>EI,ZodStringFormat:()=>s,ZodString:()=>pi,ZodSet:()=>wI,ZodRecord:()=>W_,ZodReadonly:()=>LI,ZodPromise:()=>PI,ZodPrefault:()=>SI,ZodPipe:()=>lu,ZodOptional:()=>Tu,ZodObject:()=>z_,ZodNumberFormat:()=>xt,ZodNumber:()=>re,ZodNullable:()=>OI,ZodNull:()=>sm,ZodNonOptional:()=>Eu,ZodNever:()=>iI,ZodNanoID:()=>cu,ZodNaN:()=>NI,ZodMap:()=>bI,ZodMAC:()=>Km,ZodLiteral:()=>mI,ZodLazy:()=>WI,ZodKSUID:()=>du,ZodJWT:()=>Uu,ZodIntersection:()=>uI,ZodIPv6:()=>bu,ZodIPv4:()=>fu,ZodGUID:()=>a_,ZodFunction:()=>JI,ZodFile:()=>II,ZodExactOptional:()=>hI,ZodEnum:()=>xi,ZodEmoji:()=>_u,ZodEmail:()=>eu,ZodE164:()=>hu,ZodDiscriminatedUnion:()=>oI,ZodDefault:()=>RI,ZodDate:()=>N_,ZodCustomStringFormat:()=>si,ZodCustom:()=>A_,ZodCodec:()=>qu,ZodCatch:()=>lI,ZodCUID2:()=>uu,ZodCUID:()=>ou,ZodCIDRv6:()=>mu,ZodCIDRv4:()=>wu,ZodBoolean:()=>ne,ZodBigIntFormat:()=>Ou,ZodBigInt:()=>te,ZodBase64URL:()=>yu,ZodBase64:()=>Iu,ZodArray:()=>_I,ZodAny:()=>nI});function nu(r){return cw(pi,r)}function OU(r){return Oo(eu,r)}function RU(r){return y_(a_,r)}function DU(r){return Ro(vn,r)}function SU(r){return Do(vn,r)}function aU(r){return So(vn,r)}function TU(r){return ao(vn,r)}function EU(r){return h_(q_,r)}function lU(r){return h_(q_,{protocol:/^https?$/,hostname:gn.domain,...l.normalizeParams(r)})}function qU(r){return To(_u,r)}function NU(r){return Eo(cu,r)}function LU(r){return lo(ou,r)}function zU(r){return qo(uu,r)}function jU(r){return No($u,r)}function WU(r){return Lo(gu,r)}function AU(r){return zo(du,r)}function PU(r){return jo(fu,r)}function JU(r){return uw(Km,r)}function kU(r){return Wo(bu,r)}function vU(r){return Ao(wu,r)}function MU(r){return Po(mu,r)}function VU(r){return Jo(Iu,r)}function FU(r){return ko(yu,r)}function GU(r){return vo(hu,r)}function XU(r){return Mo(Uu,r)}function BU(r,n,t={}){return Ki(si,r,n,t)}function HU(r){return Ki(si,"hostname",gn.hostname,r)}function YU(r){return Ki(si,"hex",gn.hex,r)}function QU(r,n){let t=n?.enc??"hex",e=`${r}_${t}`,i=gn[e];if(!i)throw Error(`Unrecognized hash format: ${e}`);return Ki(si,e,i,n)}function Cm(r){return ww(re,r)}function tu(r){return Iw(xt,r)}function KU(r){return yw(xt,r)}function CU(r){return hw(xt,r)}function ZU(r){return Uw(xt,r)}function xU(r){return Ow(xt,r)}function Zm(r){return Rw(ne,r)}function pU(r){return Sw(te,r)}function sU(r){return Tw(Ou,r)}function rO(r){return Ew(Ou,r)}function nO(r){return lw(xm,r)}function tO(r){return qw(pm,r)}function rI(r){return Nw(sm,r)}function iO(){return Lw(nI)}function Zt(){return zw(tI)}function Ru(r){return jw(iI,r)}function eO(r){return Ww(eI,r)}function _O(r){return Aw(N_,r)}function L_(r,n){return kw(_I,r,n)}function cO(r){let n=r._zod.def.shape;return Su(Object.keys(n))}function oO(r,n){let t={type:"object",shape:r??{},...l.normalizeParams(n)};return new z_(t)}function uO(r,n){return new z_({type:"object",shape:r,catchall:Ru(),...l.normalizeParams(n)})}function $O(r,n){return new z_({type:"object",shape:r,catchall:Zt(),...l.normalizeParams(n)})}function Du(r,n){return new j_({type:"union",options:r,...l.normalizeParams(n)})}function gO(r,n){return new cI({type:"union",options:r,inclusive:!1,...l.normalizeParams(n)})}function dO(r,n,t){return new oI({type:"union",options:n,discriminator:r,...l.normalizeParams(t)})}function $I(r,n){return new uI({type:"intersection",left:r,right:n})}function dI(r,n,t){let e=n instanceof G,i=e?t:n;return new gI({type:"tuple",items:r,rest:e?n:null,...l.normalizeParams(i)})}function fI(r,n,t){return new W_({type:"record",keyType:r,valueType:n,...l.normalizeParams(t)})}function fO(r,n,t){let e=Pr(r);return e._zod.values=void 0,new W_({type:"record",keyType:e,valueType:n,...l.normalizeParams(t)})}function bO(r,n,t){return new W_({type:"record",keyType:r,valueType:n,mode:"loose",...l.normalizeParams(t)})}function wO(r,n,t){return new bI({type:"map",keyType:r,valueType:n,...l.normalizeParams(t)})}function mO(r,n){return new wI({type:"set",valueType:r,...l.normalizeParams(n)})}function Su(r,n){let t=Array.isArray(r)?Object.fromEntries(r.map((e)=>[e,e])):r;return new xi({type:"enum",entries:t,...l.normalizeParams(n)})}function IO(r,n){return new xi({type:"enum",entries:r,...l.normalizeParams(n)})}function yO(r,n){return new mI({type:"literal",values:Array.isArray(r)?r:[r],...l.normalizeParams(n)})}function hO(r){return vw(II,r)}function au(r){return new yI({type:"transform",transform:r})}function T_(r){return new Tu({type:"optional",innerType:r})}function UI(r){return new hI({type:"optional",innerType:r})}function E_(r){return new OI({type:"nullable",innerType:r})}function UO(r){return T_(E_(r))}function DI(r,n){return new RI({type:"default",innerType:r,get defaultValue(){return typeof n==="function"?n():l.shallowClone(n)}})}function aI(r,n){return new SI({type:"prefault",innerType:r,get defaultValue(){return typeof n==="function"?n():l.shallowClone(n)}})}function TI(r,n){return new Eu({type:"nonoptional",innerType:r,...l.normalizeParams(n)})}function OO(r){return new EI({type:"success",innerType:r})}function qI(r,n){return new lI({type:"catch",innerType:r,catchValue:typeof n==="function"?n:()=>n})}function RO(r){return Jw(NI,r)}function l_(r,n){return new lu({type:"pipe",in:r,out:n})}function DO(r,n,t){return new qu({type:"pipe",in:r,out:n,transform:t.decode,reverseTransform:t.encode})}function zI(r){return new LI({type:"readonly",innerType:r})}function SO(r,n){return new jI({type:"template_literal",parts:r,...l.normalizeParams(n)})}function AI(r){return new WI({type:"lazy",getter:r})}function aO(r){return new PI({type:"promise",innerType:r})}function TO(r){return new JI({type:"function",input:Array.isArray(r?.input)?dI(r?.input):r?.input??L_(Zt()),output:r?.output??Zt()})}function EO(r){let n=new nr({check:"custom"});return n._zod.check=r,n}function lO(r,n){return Mw(A_,r??(()=>!0),n)}function kI(r,n={}){return Vw(A_,r,n)}function vI(r){return Fw(r)}function LO(r,n={}){let t=new A_({type:"custom",check:"custom",fn:(e)=>e instanceof r,abort:!0,...l.normalizeParams(n)});return t._zod.bag.Class=r,t._zod.check=(e)=>{if(!(e.value instanceof r))e.issues.push({code:"invalid_type",expected:r.name,input:e.value,inst:t,path:[...t._zod.def.path??[]]})},t}function jO(r){let n=AI(()=>{return Du([nu(r),Cm(),Zm(),rI(),L_(n),fI(nu(),n)])});return n}function WO(r,n){return l_(au(r),n)}var H,iu,pi,s,eu,a_,vn,q_,_u,cu,ou,uu,$u,gu,du,fu,Km,bu,wu,mu,Iu,yu,hu,Uu,si,re,xt,ne,te,Ou,xm,pm,sm,nI,tI,iI,eI,N_,_I,z_,j_,cI,oI,uI,gI,W_,bI,wI,xi,mI,II,yI,Tu,hI,OI,RI,SI,Eu,EI,lI,NI,lu,qu,LI,jI,WI,PI,JI,A_,qO,NO,zO=(...r)=>Bw({Codec:qu,Boolean:ne,String:pi},...r);var S_=a(()=>{nn();nn();O_();U_();Zo();R_();Qm();H=y("ZodType",(r,n)=>{return G.init(r,n),Object.assign(r["~standard"],{jsonSchema:{input:Ci(r,"input"),output:Ci(r,"output")}}),r.toJSONSchema=Hw(r,{}),r.def=n,r.type=n.type,Object.defineProperty(r,"_def",{value:n}),r.check=(...t)=>{return r.clone(l.mergeDefs(n,{checks:[...n.checks??[],...t.map((e)=>typeof e==="function"?{_zod:{check:e,def:{check:"custom"},onattach:[]}}:e)]}),{parent:!0})},r.with=r.check,r.clone=(t,e)=>Pr(r,t,e),r.brand=()=>r,r.register=(t,e)=>{return t.add(r,e),r},r.parse=(t,e)=>Pm(r,t,e,{callee:r.parse}),r.safeParse=(t,e)=>km(r,t,e),r.parseAsync=async(t,e)=>Jm(r,t,e,{callee:r.parseAsync}),r.safeParseAsync=async(t,e)=>vm(r,t,e),r.spa=r.safeParseAsync,r.encode=(t,e)=>Mm(r,t,e),r.decode=(t,e)=>Vm(r,t,e),r.encodeAsync=async(t,e)=>Fm(r,t,e),r.decodeAsync=async(t,e)=>Gm(r,t,e),r.safeEncode=(t,e)=>Xm(r,t,e),r.safeDecode=(t,e)=>Bm(r,t,e),r.safeEncodeAsync=async(t,e)=>Hm(r,t,e),r.safeDecodeAsync=async(t,e)=>Ym(r,t,e),r.refine=(t,e)=>r.check(kI(t,e)),r.superRefine=(t)=>r.check(vI(t)),r.overwrite=(t)=>r.check(Rn(t)),r.optional=()=>T_(r),r.exactOptional=()=>UI(r),r.nullable=()=>E_(r),r.nullish=()=>T_(E_(r)),r.nonoptional=(t)=>TI(r,t),r.array=()=>L_(r),r.or=(t)=>Du([r,t]),r.and=(t)=>$I(r,t),r.transform=(t)=>l_(r,au(t)),r.default=(t)=>DI(r,t),r.prefault=(t)=>aI(r,t),r.catch=(t)=>qI(r,t),r.pipe=(t)=>l_(r,t),r.readonly=()=>zI(r),r.describe=(t)=>{let e=r.clone();return lr.add(e,{description:t}),e},Object.defineProperty(r,"description",{get(){return lr.get(r)?.description},configurable:!0}),r.meta=(...t)=>{if(t.length===0)return lr.get(r);let e=r.clone();return lr.add(e,t[0]),e},r.isOptional=()=>r.safeParse(void 0).success,r.isNullable=()=>r.safeParse(null).success,r.apply=(t)=>t(r),r}),iu=y("_ZodString",(r,n)=>{Yt.init(r,n),H.init(r,n),r._zod.processJSONSchema=(e,i,_)=>Yw(r,e,i,_);let t=r._zod.bag;r.format=t.format??null,r.minLength=t.minimum??null,r.maxLength=t.maximum??null,r.regex=(...e)=>r.check(Ji(...e)),r.includes=(...e)=>r.check(Mi(...e)),r.startsWith=(...e)=>r.check(Vi(...e)),r.endsWith=(...e)=>r.check(Fi(...e)),r.min=(...e)=>r.check(rt(...e)),r.max=(...e)=>r.check(Kt(...e)),r.length=(...e)=>r.check(Ct(...e)),r.nonempty=(...e)=>r.check(rt(1,...e)),r.lowercase=(e)=>r.check(ki(e)),r.uppercase=(e)=>r.check(vi(e)),r.trim=()=>r.check(Bi()),r.normalize=(...e)=>r.check(Xi(...e)),r.toLowerCase=()=>r.check(Hi()),r.toUpperCase=()=>r.check(Yi()),r.slugify=()=>r.check(Qi())}),pi=y("ZodString",(r,n)=>{Yt.init(r,n),iu.init(r,n),r.email=(t)=>r.check(Oo(eu,t)),r.url=(t)=>r.check(h_(q_,t)),r.jwt=(t)=>r.check(Mo(Uu,t)),r.emoji=(t)=>r.check(To(_u,t)),r.guid=(t)=>r.check(y_(a_,t)),r.uuid=(t)=>r.check(Ro(vn,t)),r.uuidv4=(t)=>r.check(Do(vn,t)),r.uuidv6=(t)=>r.check(So(vn,t)),r.uuidv7=(t)=>r.check(ao(vn,t)),r.nanoid=(t)=>r.check(Eo(cu,t)),r.guid=(t)=>r.check(y_(a_,t)),r.cuid=(t)=>r.check(lo(ou,t)),r.cuid2=(t)=>r.check(qo(uu,t)),r.ulid=(t)=>r.check(No($u,t)),r.base64=(t)=>r.check(Jo(Iu,t)),r.base64url=(t)=>r.check(ko(yu,t)),r.xid=(t)=>r.check(Lo(gu,t)),r.ksuid=(t)=>r.check(zo(du,t)),r.ipv4=(t)=>r.check(jo(fu,t)),r.ipv6=(t)=>r.check(Wo(bu,t)),r.cidrv4=(t)=>r.check(Ao(wu,t)),r.cidrv6=(t)=>r.check(Po(mu,t)),r.e164=(t)=>r.check(vo(hu,t)),r.datetime=(t)=>r.check(Lm(t)),r.date=(t)=>r.check(zm(t)),r.time=(t)=>r.check(jm(t)),r.duration=(t)=>r.check(Wm(t))});s=y("ZodStringFormat",(r,n)=>{p.init(r,n),iu.init(r,n)}),eu=y("ZodEmail",(r,n)=>{pd.init(r,n),s.init(r,n)});a_=y("ZodGUID",(r,n)=>{Zd.init(r,n),s.init(r,n)});vn=y("ZodUUID",(r,n)=>{xd.init(r,n),s.init(r,n)});q_=y("ZodURL",(r,n)=>{sd.init(r,n),s.init(r,n)});_u=y("ZodEmoji",(r,n)=>{rf.init(r,n),s.init(r,n)});cu=y("ZodNanoID",(r,n)=>{nf.init(r,n),s.init(r,n)});ou=y("ZodCUID",(r,n)=>{tf.init(r,n),s.init(r,n)});uu=y("ZodCUID2",(r,n)=>{ef.init(r,n),s.init(r,n)});$u=y("ZodULID",(r,n)=>{_f.init(r,n),s.init(r,n)});gu=y("ZodXID",(r,n)=>{cf.init(r,n),s.init(r,n)});du=y("ZodKSUID",(r,n)=>{of.init(r,n),s.init(r,n)});fu=y("ZodIPv4",(r,n)=>{ff.init(r,n),s.init(r,n)});Km=y("ZodMAC",(r,n)=>{wf.init(r,n),s.init(r,n)});bu=y("ZodIPv6",(r,n)=>{bf.init(r,n),s.init(r,n)});wu=y("ZodCIDRv4",(r,n)=>{mf.init(r,n),s.init(r,n)});mu=y("ZodCIDRv6",(r,n)=>{If.init(r,n),s.init(r,n)});Iu=y("ZodBase64",(r,n)=>{hf.init(r,n),s.init(r,n)});yu=y("ZodBase64URL",(r,n)=>{Uf.init(r,n),s.init(r,n)});hu=y("ZodE164",(r,n)=>{Of.init(r,n),s.init(r,n)});Uu=y("ZodJWT",(r,n)=>{Rf.init(r,n),s.init(r,n)});si=y("ZodCustomStringFormat",(r,n)=>{Df.init(r,n),s.init(r,n)});re=y("ZodNumber",(r,n)=>{mo.init(r,n),H.init(r,n),r._zod.processJSONSchema=(e,i,_)=>Qw(r,e,i,_),r.gt=(e,i)=>r.check(Jn(e,i)),r.gte=(e,i)=>r.check(Jr(e,i)),r.min=(e,i)=>r.check(Jr(e,i)),r.lt=(e,i)=>r.check(Pn(e,i)),r.lte=(e,i)=>r.check(rn(e,i)),r.max=(e,i)=>r.check(rn(e,i)),r.int=(e)=>r.check(tu(e)),r.safe=(e)=>r.check(tu(e)),r.positive=(e)=>r.check(Jn(0,e)),r.nonnegative=(e)=>r.check(Jr(0,e)),r.negative=(e)=>r.check(Pn(0,e)),r.nonpositive=(e)=>r.check(rn(0,e)),r.multipleOf=(e,i)=>r.check(wt(e,i)),r.step=(e,i)=>r.check(wt(e,i)),r.finite=()=>r;let t=r._zod.bag;r.minValue=Math.max(t.minimum??Number.NEGATIVE_INFINITY,t.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,r.maxValue=Math.min(t.maximum??Number.POSITIVE_INFINITY,t.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,r.isInt=(t.format??"").includes("int")||Number.isSafeInteger(t.multipleOf??0.5),r.isFinite=!0,r.format=t.format??null});xt=y("ZodNumberFormat",(r,n)=>{Sf.init(r,n),re.init(r,n)});ne=y("ZodBoolean",(r,n)=>{u_.init(r,n),H.init(r,n),r._zod.processJSONSchema=(t,e,i)=>Kw(r,t,e,i)});te=y("ZodBigInt",(r,n)=>{Io.init(r,n),H.init(r,n),r._zod.processJSONSchema=(e,i,_)=>Cw(r,e,i,_),r.gte=(e,i)=>r.check(Jr(e,i)),r.min=(e,i)=>r.check(Jr(e,i)),r.gt=(e,i)=>r.check(Jn(e,i)),r.gte=(e,i)=>r.check(Jr(e,i)),r.min=(e,i)=>r.check(Jr(e,i)),r.lt=(e,i)=>r.check(Pn(e,i)),r.lte=(e,i)=>r.check(rn(e,i)),r.max=(e,i)=>r.check(rn(e,i)),r.positive=(e)=>r.check(Jn(BigInt(0),e)),r.negative=(e)=>r.check(Pn(BigInt(0),e)),r.nonpositive=(e)=>r.check(rn(BigInt(0),e)),r.nonnegative=(e)=>r.check(Jr(BigInt(0),e)),r.multipleOf=(e,i)=>r.check(wt(e,i));let t=r._zod.bag;r.minValue=t.minimum??null,r.maxValue=t.maximum??null,r.format=t.format??null});Ou=y("ZodBigIntFormat",(r,n)=>{af.init(r,n),te.init(r,n)});xm=y("ZodSymbol",(r,n)=>{Tf.init(r,n),H.init(r,n),r._zod.processJSONSchema=(t,e,i)=>Zw(r,t,e,i)});pm=y("ZodUndefined",(r,n)=>{Ef.init(r,n),H.init(r,n),r._zod.processJSONSchema=(t,e,i)=>pw(r,t,e,i)});sm=y("ZodNull",(r,n)=>{lf.init(r,n),H.init(r,n),r._zod.processJSONSchema=(t,e,i)=>xw(r,t,e,i)});nI=y("ZodAny",(r,n)=>{qf.init(r,n),H.init(r,n),r._zod.processJSONSchema=(t,e,i)=>nm(r,t,e,i)});tI=y("ZodUnknown",(r,n)=>{Nf.init(r,n),H.init(r,n),r._zod.processJSONSchema=(t,e,i)=>tm(r,t,e,i)});iI=y("ZodNever",(r,n)=>{Lf.init(r,n),H.init(r,n),r._zod.processJSONSchema=(t,e,i)=>rm(r,t,e,i)});eI=y("ZodVoid",(r,n)=>{zf.init(r,n),H.init(r,n),r._zod.processJSONSchema=(t,e,i)=>sw(r,t,e,i)});N_=y("ZodDate",(r,n)=>{jf.init(r,n),H.init(r,n),r._zod.processJSONSchema=(e,i,_)=>im(r,e,i,_),r.min=(e,i)=>r.check(Jr(e,i)),r.max=(e,i)=>r.check(rn(e,i));let t=r._zod.bag;r.minDate=t.minimum?new Date(t.minimum):null,r.maxDate=t.maximum?new Date(t.maximum):null});_I=y("ZodArray",(r,n)=>{Wf.init(r,n),H.init(r,n),r._zod.processJSONSchema=(t,e,i)=>mm(r,t,e,i),r.element=n.element,r.min=(t,e)=>r.check(rt(t,e)),r.nonempty=(t)=>r.check(rt(1,t)),r.max=(t,e)=>r.check(Kt(t,e)),r.length=(t,e)=>r.check(Ct(t,e)),r.unwrap=()=>r.element});z_=y("ZodObject",(r,n)=>{Af.init(r,n),H.init(r,n),r._zod.processJSONSchema=(t,e,i)=>Im(r,t,e,i),l.defineLazy(r,"shape",()=>{return n.shape}),r.keyof=()=>Su(Object.keys(r._zod.def.shape)),r.catchall=(t)=>r.clone({...r._zod.def,catchall:t}),r.passthrough=()=>r.clone({...r._zod.def,catchall:Zt()}),r.loose=()=>r.clone({...r._zod.def,catchall:Zt()}),r.strict=()=>r.clone({...r._zod.def,catchall:Ru()}),r.strip=()=>r.clone({...r._zod.def,catchall:void 0}),r.extend=(t)=>{return l.extend(r,t)},r.safeExtend=(t)=>{return l.safeExtend(r,t)},r.merge=(t)=>l.merge(r,t),r.pick=(t)=>l.pick(r,t),r.omit=(t)=>l.omit(r,t),r.partial=(...t)=>l.partial(Tu,r,t[0]),r.required=(...t)=>l.required(Eu,r,t[0])});j_=y("ZodUnion",(r,n)=>{$_.init(r,n),H.init(r,n),r._zod.processJSONSchema=(t,e,i)=>Yo(r,t,e,i),r.options=n.options});cI=y("ZodXor",(r,n)=>{j_.init(r,n),Pf.init(r,n),r._zod.processJSONSchema=(t,e,i)=>Yo(r,t,e,i),r.options=n.options});oI=y("ZodDiscriminatedUnion",(r,n)=>{j_.init(r,n),Jf.init(r,n)});uI=y("ZodIntersection",(r,n)=>{kf.init(r,n),H.init(r,n),r._zod.processJSONSchema=(t,e,i)=>ym(r,t,e,i)});gI=y("ZodTuple",(r,n)=>{yo.init(r,n),H.init(r,n),r._zod.processJSONSchema=(t,e,i)=>hm(r,t,e,i),r.rest=(t)=>r.clone({...r._zod.def,rest:t})});W_=y("ZodRecord",(r,n)=>{vf.init(r,n),H.init(r,n),r._zod.processJSONSchema=(t,e,i)=>Um(r,t,e,i),r.keyType=n.keyType,r.valueType=n.valueType});bI=y("ZodMap",(r,n)=>{Mf.init(r,n),H.init(r,n),r._zod.processJSONSchema=(t,e,i)=>bm(r,t,e,i),r.keyType=n.keyType,r.valueType=n.valueType,r.min=(...t)=>r.check(kn(...t)),r.nonempty=(t)=>r.check(kn(1,t)),r.max=(...t)=>r.check(mt(...t)),r.size=(...t)=>r.check(Qt(...t))});wI=y("ZodSet",(r,n)=>{Vf.init(r,n),H.init(r,n),r._zod.processJSONSchema=(t,e,i)=>wm(r,t,e,i),r.min=(...t)=>r.check(kn(...t)),r.nonempty=(t)=>r.check(kn(1,t)),r.max=(...t)=>r.check(mt(...t)),r.size=(...t)=>r.check(Qt(...t))});xi=y("ZodEnum",(r,n)=>{Ff.init(r,n),H.init(r,n),r._zod.processJSONSchema=(e,i,_)=>em(r,e,i,_),r.enum=n.entries,r.options=Object.values(n.entries);let t=new Set(Object.keys(n.entries));r.extract=(e,i)=>{let _={};for(let c of e)if(t.has(c))_[c]=n.entries[c];else throw Error(`Key ${c} not found in enum`);return new xi({...n,checks:[],...l.normalizeParams(i),entries:_})},r.exclude=(e,i)=>{let _={...n.entries};for(let c of e)if(t.has(c))delete _[c];else throw Error(`Key ${c} not found in enum`);return new xi({...n,checks:[],...l.normalizeParams(i),entries:_})}});mI=y("ZodLiteral",(r,n)=>{Gf.init(r,n),H.init(r,n),r._zod.processJSONSchema=(t,e,i)=>_m(r,t,e,i),r.values=new Set(n.values),Object.defineProperty(r,"value",{get(){if(n.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return n.values[0]}})});II=y("ZodFile",(r,n)=>{Xf.init(r,n),H.init(r,n),r._zod.processJSONSchema=(t,e,i)=>um(r,t,e,i),r.min=(t,e)=>r.check(kn(t,e)),r.max=(t,e)=>r.check(mt(t,e)),r.mime=(t,e)=>r.check(Gi(Array.isArray(t)?t:[t],e))});yI=y("ZodTransform",(r,n)=>{Bf.init(r,n),H.init(r,n),r._zod.processJSONSchema=(t,e,i)=>fm(r,t,e,i),r._zod.parse=(t,e)=>{if(e.direction==="backward")throw new Xt(r.constructor.name);t.addIssue=(_)=>{if(typeof _==="string")t.issues.push(l.issue(_,t.value,n));else{let c=_;if(c.fatal)c.continue=!1;c.code??(c.code="custom"),c.input??(c.input=t.value),c.inst??(c.inst=r),t.issues.push(l.issue(c))}};let i=n.transform(t.value,t);if(i instanceof Promise)return i.then((_)=>{return t.value=_,t});return t.value=i,t}});Tu=y("ZodOptional",(r,n)=>{ho.init(r,n),H.init(r,n),r._zod.processJSONSchema=(t,e,i)=>Qo(r,t,e,i),r.unwrap=()=>r._zod.def.innerType});hI=y("ZodExactOptional",(r,n)=>{Hf.init(r,n),H.init(r,n),r._zod.processJSONSchema=(t,e,i)=>Qo(r,t,e,i),r.unwrap=()=>r._zod.def.innerType});OI=y("ZodNullable",(r,n)=>{Yf.init(r,n),H.init(r,n),r._zod.processJSONSchema=(t,e,i)=>Om(r,t,e,i),r.unwrap=()=>r._zod.def.innerType});RI=y("ZodDefault",(r,n)=>{Qf.init(r,n),H.init(r,n),r._zod.processJSONSchema=(t,e,i)=>Dm(r,t,e,i),r.unwrap=()=>r._zod.def.innerType,r.removeDefault=r.unwrap});SI=y("ZodPrefault",(r,n)=>{Kf.init(r,n),H.init(r,n),r._zod.processJSONSchema=(t,e,i)=>Sm(r,t,e,i),r.unwrap=()=>r._zod.def.innerType});Eu=y("ZodNonOptional",(r,n)=>{Cf.init(r,n),H.init(r,n),r._zod.processJSONSchema=(t,e,i)=>Rm(r,t,e,i),r.unwrap=()=>r._zod.def.innerType});EI=y("ZodSuccess",(r,n)=>{Zf.init(r,n),H.init(r,n),r._zod.processJSONSchema=(t,e,i)=>$m(r,t,e,i),r.unwrap=()=>r._zod.def.innerType});lI=y("ZodCatch",(r,n)=>{xf.init(r,n),H.init(r,n),r._zod.processJSONSchema=(t,e,i)=>am(r,t,e,i),r.unwrap=()=>r._zod.def.innerType,r.removeCatch=r.unwrap});NI=y("ZodNaN",(r,n)=>{pf.init(r,n),H.init(r,n),r._zod.processJSONSchema=(t,e,i)=>cm(r,t,e,i)});lu=y("ZodPipe",(r,n)=>{sf.init(r,n),H.init(r,n),r._zod.processJSONSchema=(t,e,i)=>Tm(r,t,e,i),r.in=n.in,r.out=n.out});qu=y("ZodCodec",(r,n)=>{lu.init(r,n),g_.init(r,n)});LI=y("ZodReadonly",(r,n)=>{rb.init(r,n),H.init(r,n),r._zod.processJSONSchema=(t,e,i)=>Em(r,t,e,i),r.unwrap=()=>r._zod.def.innerType});jI=y("ZodTemplateLiteral",(r,n)=>{nb.init(r,n),H.init(r,n),r._zod.processJSONSchema=(t,e,i)=>om(r,t,e,i)});WI=y("ZodLazy",(r,n)=>{eb.init(r,n),H.init(r,n),r._zod.processJSONSchema=(t,e,i)=>qm(r,t,e,i),r.unwrap=()=>r._zod.def.getter()});PI=y("ZodPromise",(r,n)=>{ib.init(r,n),H.init(r,n),r._zod.processJSONSchema=(t,e,i)=>lm(r,t,e,i),r.unwrap=()=>r._zod.def.innerType});JI=y("ZodFunction",(r,n)=>{tb.init(r,n),H.init(r,n),r._zod.processJSONSchema=(t,e,i)=>dm(r,t,e,i)});A_=y("ZodCustom",(r,n)=>{_b.init(r,n),H.init(r,n),r._zod.processJSONSchema=(t,e,i)=>gm(r,t,e,i)});qO=Gw,NO=Xw});function NN(r){dr({customError:r})}function LN(){return dr().customError}var qN,MI;var AO=a(()=>{nn();qN={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(r){})(MI||(MI={}))});function jN(r,n){let t=r.$schema;if(t==="https://json-schema.org/draft/2020-12/schema")return"draft-2020-12";if(t==="http://json-schema.org/draft-07/schema#")return"draft-7";if(t==="http://json-schema.org/draft-04/schema#")return"draft-4";return n??"draft-2020-12"}function WN(r,n){if(!r.startsWith("#"))throw Error("External $ref is not supported, only local refs (#/...) are allowed");let t=r.slice(1).split("/").filter(Boolean);if(t.length===0)return n.rootSchema;let e=n.version==="draft-2020-12"?"$defs":"definitions";if(t[0]===e){let i=t[1];if(!i||!n.defs[i])throw Error(`Reference not found: ${r}`);return n.defs[i]}throw Error(`Reference not found: ${r}`)}function PO(r,n){if(r.not!==void 0){if(typeof r.not==="object"&&Object.keys(r.not).length===0)return z.never();throw Error("not is not supported in Zod (except { not: {} } for never)")}if(r.unevaluatedItems!==void 0)throw Error("unevaluatedItems is not supported");if(r.unevaluatedProperties!==void 0)throw Error("unevaluatedProperties is not supported");if(r.if!==void 0||r.then!==void 0||r.else!==void 0)throw Error("Conditional schemas (if/then/else) are not supported");if(r.dependentSchemas!==void 0||r.dependentRequired!==void 0)throw Error("dependentSchemas and dependentRequired are not supported");if(r.$ref){let i=r.$ref;if(n.refs.has(i))return n.refs.get(i);if(n.processing.has(i))return z.lazy(()=>{if(!n.refs.has(i))throw Error(`Circular reference not resolved: ${i}`);return n.refs.get(i)});n.processing.add(i);let _=WN(i,n),c=jr(_,n);return n.refs.set(i,c),n.processing.delete(i),c}if(r.enum!==void 0){let i=r.enum;if(n.version==="openapi-3.0"&&r.nullable===!0&&i.length===1&&i[0]===null)return z.null();if(i.length===0)return z.never();if(i.length===1)return z.literal(i[0]);if(i.every((c)=>typeof c==="string"))return z.enum(i);let _=i.map((c)=>z.literal(c));if(_.length<2)return _[0];return z.union([_[0],_[1],..._.slice(2)])}if(r.const!==void 0)return z.literal(r.const);let t=r.type;if(Array.isArray(t)){let i=t.map((_)=>{let c={...r,type:_};return PO(c,n)});if(i.length===0)return z.never();if(i.length===1)return i[0];return z.union(i)}if(!t)return z.any();let e;switch(t){case"string":{let i=z.string();if(r.format){let _=r.format;if(_==="email")i=i.check(z.email());else if(_==="uri"||_==="uri-reference")i=i.check(z.url());else if(_==="uuid"||_==="guid")i=i.check(z.uuid());else if(_==="date-time")i=i.check(z.iso.datetime());else if(_==="date")i=i.check(z.iso.date());else if(_==="time")i=i.check(z.iso.time());else if(_==="duration")i=i.check(z.iso.duration());else if(_==="ipv4")i=i.check(z.ipv4());else if(_==="ipv6")i=i.check(z.ipv6());else if(_==="mac")i=i.check(z.mac());else if(_==="cidr")i=i.check(z.cidrv4());else if(_==="cidr-v6")i=i.check(z.cidrv6());else if(_==="base64")i=i.check(z.base64());else if(_==="base64url")i=i.check(z.base64url());else if(_==="e164")i=i.check(z.e164());else if(_==="jwt")i=i.check(z.jwt());else if(_==="emoji")i=i.check(z.emoji());else if(_==="nanoid")i=i.check(z.nanoid());else if(_==="cuid")i=i.check(z.cuid());else if(_==="cuid2")i=i.check(z.cuid2());else if(_==="ulid")i=i.check(z.ulid());else if(_==="xid")i=i.check(z.xid());else if(_==="ksuid")i=i.check(z.ksuid())}if(typeof r.minLength==="number")i=i.min(r.minLength);if(typeof r.maxLength==="number")i=i.max(r.maxLength);if(r.pattern)i=i.regex(new RegExp(r.pattern));e=i;break}case"number":case"integer":{let i=t==="integer"?z.number().int():z.number();if(typeof r.minimum==="number")i=i.min(r.minimum);if(typeof r.maximum==="number")i=i.max(r.maximum);if(typeof r.exclusiveMinimum==="number")i=i.gt(r.exclusiveMinimum);else if(r.exclusiveMinimum===!0&&typeof r.minimum==="number")i=i.gt(r.minimum);if(typeof r.exclusiveMaximum==="number")i=i.lt(r.exclusiveMaximum);else if(r.exclusiveMaximum===!0&&typeof r.maximum==="number")i=i.lt(r.maximum);if(typeof r.multipleOf==="number")i=i.multipleOf(r.multipleOf);e=i;break}case"boolean":{e=z.boolean();break}case"null":{e=z.null();break}case"object":{let i={},_=r.properties||{},c=new Set(r.required||[]);for(let[u,$]of Object.entries(_)){let g=jr($,n);i[u]=c.has(u)?g:g.optional()}if(r.propertyNames){let u=jr(r.propertyNames,n),$=r.additionalProperties&&typeof r.additionalProperties==="object"?jr(r.additionalProperties,n):z.any();if(Object.keys(i).length===0){e=z.record(u,$);break}let g=z.object(i).passthrough(),d=z.looseRecord(u,$);e=z.intersection(g,d);break}if(r.patternProperties){let u=r.patternProperties,$=Object.keys(u),g=[];for(let f of $){let b=jr(u[f],n),I=z.string().regex(new RegExp(f));g.push(z.looseRecord(I,b))}let d=[];if(Object.keys(i).length>0)d.push(z.object(i).passthrough());if(d.push(...g),d.length===0)e=z.object({}).passthrough();else if(d.length===1)e=d[0];else{let f=z.intersection(d[0],d[1]);for(let b=2;b<d.length;b++)f=z.intersection(f,d[b]);e=f}break}let o=z.object(i);if(r.additionalProperties===!1)e=o.strict();else if(typeof r.additionalProperties==="object")e=o.catchall(jr(r.additionalProperties,n));else e=o.passthrough();break}case"array":{let{prefixItems:i,items:_}=r;if(i&&Array.isArray(i)){let c=i.map((u)=>jr(u,n)),o=_&&typeof _==="object"&&!Array.isArray(_)?jr(_,n):void 0;if(o)e=z.tuple(c).rest(o);else e=z.tuple(c);if(typeof r.minItems==="number")e=e.check(z.minLength(r.minItems));if(typeof r.maxItems==="number")e=e.check(z.maxLength(r.maxItems))}else if(Array.isArray(_)){let c=_.map((u)=>jr(u,n)),o=r.additionalItems&&typeof r.additionalItems==="object"?jr(r.additionalItems,n):void 0;if(o)e=z.tuple(c).rest(o);else e=z.tuple(c);if(typeof r.minItems==="number")e=e.check(z.minLength(r.minItems));if(typeof r.maxItems==="number")e=e.check(z.maxLength(r.maxItems))}else if(_!==void 0){let c=jr(_,n),o=z.array(c);if(typeof r.minItems==="number")o=o.min(r.minItems);if(typeof r.maxItems==="number")o=o.max(r.maxItems);e=o}else e=z.array(z.any());break}default:throw Error(`Unsupported type: ${t}`)}if(r.description)e=e.describe(r.description);if(r.default!==void 0)e=e.default(r.default);return e}function jr(r,n){if(typeof r==="boolean")return r?z.any():z.never();let t=PO(r,n),e=r.type||r.enum!==void 0||r.const!==void 0;if(r.anyOf&&Array.isArray(r.anyOf)){let o=r.anyOf.map(($)=>jr($,n)),u=z.union(o);t=e?z.intersection(t,u):u}if(r.oneOf&&Array.isArray(r.oneOf)){let o=r.oneOf.map(($)=>jr($,n)),u=z.xor(o);t=e?z.intersection(t,u):u}if(r.allOf&&Array.isArray(r.allOf))if(r.allOf.length===0)t=e?t:z.any();else{let o=e?t:jr(r.allOf[0],n),u=e?0:1;for(let $=u;$<r.allOf.length;$++)o=z.intersection(o,jr(r.allOf[$],n));t=o}if(r.nullable===!0&&n.version==="openapi-3.0")t=z.nullable(t);if(r.readOnly===!0)t=z.readonly(t);let i={},_=["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"];for(let o of _)if(o in r)i[o]=r[o];let c=["contentEncoding","contentMediaType","contentSchema"];for(let o of c)if(o in r)i[o]=r[o];for(let o of Object.keys(r))if(!zN.has(o))i[o]=r[o];if(Object.keys(i).length>0)n.registry.add(t,i);return t}function JO(r,n){if(typeof r==="boolean")return r?z.any():z.never();let t=jN(r,n?.defaultTarget),e=r.$defs||r.definitions||{},i={version:t,defs:e,refs:new Map,processing:new Set,rootSchema:r,registry:n?.registry??lr};return jr(r,i)}var z,zN;var kO=a(()=>{I_();Zo();R_();S_();z={...D_,...Co,iso:Zi},zN=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 VI={};Wn(VI,{string:()=>AN,number:()=>PN,date:()=>vN,boolean:()=>JN,bigint:()=>kN});function AN(r){return ow(pi,r)}function PN(r){return mw(re,r)}function JN(r){return Dw(ne,r)}function kN(r){return aw(te,r)}function vN(r){return Pw(N_,r)}var vO=a(()=>{nn();S_()});var P={};Wn(P,{xor:()=>gO,xid:()=>WU,void:()=>eO,uuidv7:()=>TU,uuidv6:()=>aU,uuidv4:()=>SU,uuid:()=>DU,util:()=>l,url:()=>EU,uppercase:()=>vi,unknown:()=>Zt,union:()=>Du,undefined:()=>tO,ulid:()=>jU,uint64:()=>rO,uint32:()=>xU,tuple:()=>dI,trim:()=>Bi,treeifyError:()=>Cg,transform:()=>au,toUpperCase:()=>Yi,toLowerCase:()=>Hi,toJSONSchema:()=>Ko,templateLiteral:()=>SO,symbol:()=>nO,superRefine:()=>vI,success:()=>OO,stringbool:()=>zO,stringFormat:()=>BU,string:()=>nu,strictObject:()=>uO,startsWith:()=>Vi,slugify:()=>Qi,size:()=>Qt,setErrorMap:()=>NN,set:()=>mO,safeParseAsync:()=>vm,safeParse:()=>km,safeEncodeAsync:()=>Hm,safeEncode:()=>Xm,safeDecodeAsync:()=>Ym,safeDecode:()=>Bm,registry:()=>Uo,regexes:()=>gn,regex:()=>Ji,refine:()=>kI,record:()=>fI,readonly:()=>zI,property:()=>Bo,promise:()=>aO,prettifyError:()=>Zg,preprocess:()=>WO,prefault:()=>aI,positive:()=>Vo,pipe:()=>l_,partialRecord:()=>fO,parseAsync:()=>Jm,parse:()=>Pm,overwrite:()=>Rn,optional:()=>T_,object:()=>oO,number:()=>Cm,nullish:()=>UO,nullable:()=>E_,null:()=>rI,normalize:()=>Xi,nonpositive:()=>Go,nonoptional:()=>TI,nonnegative:()=>Xo,never:()=>Ru,negative:()=>Fo,nativeEnum:()=>IO,nanoid:()=>NU,nan:()=>RO,multipleOf:()=>wt,minSize:()=>kn,minLength:()=>rt,mime:()=>Gi,meta:()=>NO,maxSize:()=>mt,maxLength:()=>Kt,map:()=>wO,mac:()=>JU,lte:()=>rn,lt:()=>Pn,lowercase:()=>ki,looseRecord:()=>bO,looseObject:()=>$O,locales:()=>m_,literal:()=>yO,length:()=>Ct,lazy:()=>AI,ksuid:()=>AU,keyof:()=>cO,jwt:()=>XU,json:()=>jO,iso:()=>Zi,ipv6:()=>kU,ipv4:()=>PU,intersection:()=>$I,int64:()=>sU,int32:()=>ZU,int:()=>tu,instanceof:()=>LO,includes:()=>Mi,httpUrl:()=>lU,hostname:()=>HU,hex:()=>YU,hash:()=>QU,guid:()=>RU,gte:()=>Jr,gt:()=>Jn,globalRegistry:()=>lr,getErrorMap:()=>LN,function:()=>TO,fromJSONSchema:()=>JO,formatError:()=>i_,float64:()=>CU,float32:()=>KU,flattenError:()=>t_,file:()=>hO,exactOptional:()=>UI,enum:()=>Su,endsWith:()=>Fi,encodeAsync:()=>Fm,encode:()=>Mm,emoji:()=>qU,email:()=>OU,e164:()=>GU,discriminatedUnion:()=>dO,describe:()=>qO,decodeAsync:()=>Gm,decode:()=>Vm,date:()=>_O,custom:()=>lO,cuid2:()=>zU,cuid:()=>LU,core:()=>nt,config:()=>dr,coerce:()=>VI,codec:()=>DO,clone:()=>Pr,cidrv6:()=>MU,cidrv4:()=>vU,check:()=>EO,catch:()=>qI,boolean:()=>Zm,bigint:()=>pU,base64url:()=>FU,base64:()=>VU,array:()=>L_,any:()=>iO,_function:()=>TO,_default:()=>DI,_ZodString:()=>iu,ZodXor:()=>cI,ZodXID:()=>gu,ZodVoid:()=>eI,ZodUnknown:()=>tI,ZodUnion:()=>j_,ZodUndefined:()=>pm,ZodUUID:()=>vn,ZodURL:()=>q_,ZodULID:()=>$u,ZodType:()=>H,ZodTuple:()=>gI,ZodTransform:()=>yI,ZodTemplateLiteral:()=>jI,ZodSymbol:()=>xm,ZodSuccess:()=>EI,ZodStringFormat:()=>s,ZodString:()=>pi,ZodSet:()=>wI,ZodRecord:()=>W_,ZodRealError:()=>Hr,ZodReadonly:()=>LI,ZodPromise:()=>PI,ZodPrefault:()=>SI,ZodPipe:()=>lu,ZodOptional:()=>Tu,ZodObject:()=>z_,ZodNumberFormat:()=>xt,ZodNumber:()=>re,ZodNullable:()=>OI,ZodNull:()=>sm,ZodNonOptional:()=>Eu,ZodNever:()=>iI,ZodNanoID:()=>cu,ZodNaN:()=>NI,ZodMap:()=>bI,ZodMAC:()=>Km,ZodLiteral:()=>mI,ZodLazy:()=>WI,ZodKSUID:()=>du,ZodJWT:()=>Uu,ZodIssueCode:()=>qN,ZodIntersection:()=>uI,ZodISOTime:()=>so,ZodISODuration:()=>ru,ZodISODateTime:()=>xo,ZodISODate:()=>po,ZodIPv6:()=>bu,ZodIPv4:()=>fu,ZodGUID:()=>a_,ZodFunction:()=>JI,ZodFirstPartyTypeKind:()=>MI,ZodFile:()=>II,ZodExactOptional:()=>hI,ZodError:()=>EN,ZodEnum:()=>xi,ZodEmoji:()=>_u,ZodEmail:()=>eu,ZodE164:()=>hu,ZodDiscriminatedUnion:()=>oI,ZodDefault:()=>RI,ZodDate:()=>N_,ZodCustomStringFormat:()=>si,ZodCustom:()=>A_,ZodCodec:()=>qu,ZodCatch:()=>lI,ZodCUID2:()=>uu,ZodCUID:()=>ou,ZodCIDRv6:()=>mu,ZodCIDRv4:()=>wu,ZodBoolean:()=>ne,ZodBigIntFormat:()=>Ou,ZodBigInt:()=>te,ZodBase64URL:()=>yu,ZodBase64:()=>Iu,ZodArray:()=>_I,ZodAny:()=>nI,TimePrecision:()=>$w,NEVER:()=>vg,$output:()=>iw,$input:()=>ew,$brand:()=>Mg});var FI=a(()=>{nn();nn();mb();nn();O_();kO();tw();R_();R_();vO();S_();Zo();Am();Qm();AO();dr(d_())});var Nu=a(()=>{FI();FI()});function Lu(r){let n=r.toLowerCase();return n.includes("chat-history")||n.includes("chat_history")||n.includes("chatlog")||n.includes("chat-memory")||n.includes("conversation-log")||n.includes("transcript")}var zu,MO,VO,FO,tr,tt,MN,GO,XO,VN;var GI=a(()=>{Nu();zu=["read-only","docs-only","implementation","review"],MO=["ready","claimed","in_progress","waiting_return","accepted","blocked","stale"],VO=["accept","counter","blocked"],FO=["success","partial","blocked"],tr=P.string().trim().min(1),tt=P.array(tr),MN=P.union([tr,P.object({command:tr,result:tr}).passthrough()]);GO=P.object({schema_version:P.literal("huddle-card.v1"),repo:tr,repo_path:tr.optional(),lane:tr,task_id:tr,mode:P.enum(zu),status:P.enum(MO).default("ready"),startup_docs:tt.min(1),task_packet:tr.optional(),allowed_writes:tt,forbidden_sources:tt,validation:tt.min(1),stop_conditions:tt.min(1),expected_return:tt.min(1),evidence_sink:tr.optional(),current_owner:tr,next_owner:tr,expires_or_refresh_after:tr}).superRefine((r,n)=>{for(let[e,i]of r.startup_docs.entries())if(Lu(i))n.addIssue({code:"custom",path:["startup_docs",e],message:"startup_docs must point to repo-local source of truth, not chat logs or transcripts"});let t=r.forbidden_sources.join(" ").toLowerCase();if(!t.includes("chat")&&!t.includes("transcript"))n.addIssue({code:"custom",path:["forbidden_sources"],message:"forbidden_sources should explicitly ban chat/transcript memory for rotation-safe pickup"});if(r.mode==="implementation"){if(r.allowed_writes.filter((i)=>i!=="read-only").length===0)n.addIssue({code:"custom",path:["allowed_writes"],message:"implementation cards must declare concrete allowed_writes"})}}),XO=P.object({schema_version:P.literal("huddle-exit-receipt.v1"),task_id:tr,verdict:P.enum(VO),repo:tr,lane:tr,source_ref:tr,changed_files:P.array(tr).default([]),validation:P.array(tr).default([]),evidence:tt.min(1),blockers:P.array(tr).default([]),next_owner:tr,refresh_after:tr}).superRefine((r,n)=>{if(Lu(r.source_ref))n.addIssue({code:"custom",path:["source_ref"],message:"source_ref must point to a durable task packet, commit, issue, bus event, or repo-local receipt; not chat logs or transcripts"});for(let[t,e]of r.evidence.entries())if(Lu(e))n.addIssue({code:"custom",path:["evidence",t],message:"evidence must be repo-local or packet-local durable proof, not chat logs or transcripts"});if(r.verdict!=="accept"&&r.blockers.length===0)n.addIssue({code:"custom",path:["blockers"],message:"counter and blocked receipts must name at least one blocker"})}),VN=P.object({schema_version:P.literal("exit-receipt.v1"),receipt_id:tr,work_id:tr,outcome:P.enum(FO),changed_files:P.array(tr).default([]),validation:P.array(MN).default([]),evidence_refs:tt.min(1),stop_conditions:tt.min(1),deferred_work:P.array(tr).default([]),next_owner:tr}).superRefine((r,n)=>{for(let[t,e]of r.evidence_refs.entries())if(Lu(e))n.addIssue({code:"custom",path:["evidence_refs",t],message:"evidence_refs must be durable proof, not chat logs or transcripts"})})});var ju,Dn,BO="This is a read replica. Do not hand-edit; update source cards or receipts and regenerate.",HO,FN;var YO=a(()=>{Nu();GI();ju=["ready","claimed","in_progress","waiting_return","accepted","blocked","stale"],Dn=P.string().trim().min(1),HO=P.object({key:Dn,repo:Dn,lane:Dn,task_id:Dn,mode:P.enum(zu),status:P.enum(ju),card_status:P.enum(ju),current_owner:Dn,next_owner:Dn,card_ref:Dn.optional(),receipt_ref:Dn.optional(),receipt_verdict:P.enum(["accept","counter","blocked"]).optional(),stale_reason:Dn.optional(),evidence_refs:P.array(Dn).default([])}),FN=P.object({schema_version:P.literal("huddle-board.v1"),generated_notice:P.literal(BO),generated_at:Dn,summary:P.record(P.enum(ju),P.number().int().min(0)),items:P.array(HO)})});function KO(r){let n=r.toLowerCase();return n.includes("chat-history")||n.includes("chat_history")||n.includes("chatlog")||n.includes("chat-memory")||n.includes("conversation-log")||n.includes("transcript")}function Ut(r,n,t){for(let[e,i]of r.entries())if(KO(i))t.addIssue({code:"custom",path:[...n,e],message:"incident evidence_refs must point to durable proof, not chat logs or transcripts"})}var XI,BI,HI,YI,QO,Q,P_,GN,XN,BN,HN,YN,QN;var CO=a(()=>{Nu();XI=["sev0","sev1","sev2","sev3","sev4"],BI=["detected","acknowledged","mitigating","resolved","closed"],HI=["absent","partial","provided"],YI=["unknown","suspected","confirmed"],QO=["open","deferred","done"],Q=P.string().trim().min(1),P_=P.array(Q);GN=P.object({customer_impact:Q.optional(),sla_tier:Q.optional(),revenue_exposure:Q.optional(),compliance_implication:Q.optional()}).default({}),XN=P.object({at:Q,actor:Q,action:Q,evidence_refs:P.array(Q).default([])}),BN=P.object({at:Q,actor:Q,decision:Q,rationale:Q,evidence_refs:P.array(Q).default([])}),HN=P.object({id:Q,title:Q,owner:Q,status:P.enum(QO),evidence_refs:P.array(Q).default([])}),YN=P.object({schema_version:P.literal("incident-receipt.v1"),incident_id:Q,title:Q,severity:P.enum(XI),severity_rationale:Q.optional(),status:P.enum(BI),incident_class:Q.optional(),started_at:Q,detected_at:Q,acknowledged_at:Q.optional(),resolved_at:Q.optional(),acknowledged_by:Q.optional(),resolved_by:Q.optional(),detection_source:Q.optional(),notification_chain:P.array(Q).default([]),affected_systems:P_.min(1),symptoms:P_.min(1),timeline:P.array(XN).min(1),decisions:P.array(BN).default([]),evidence_refs:P_.min(1),mitigation:Q.optional(),rollback_or_fix_refs:P.array(Q).default([]),validation_refs:P.array(Q).default([]),follow_ups:P.array(HN).default([]),business_context_status:P.enum(HI),business_context:GN,root_cause_status:P.enum(YI).default("unknown"),root_cause_evidence_refs:P.array(Q).default([]),runbook_executed_ref:Q.optional()}).superRefine((r,n)=>{Ut(r.evidence_refs,["evidence_refs"],n),Ut(r.rollback_or_fix_refs,["rollback_or_fix_refs"],n),Ut(r.validation_refs,["validation_refs"],n),Ut(r.root_cause_evidence_refs,["root_cause_evidence_refs"],n);for(let[i,_]of r.timeline.entries())Ut(_.evidence_refs,["timeline",i,"evidence_refs"],n);for(let[i,_]of r.decisions.entries())Ut(_.evidence_refs,["decisions",i,"evidence_refs"],n);for(let[i,_]of r.follow_ups.entries())Ut(_.evidence_refs,["follow_ups",i,"evidence_refs"],n);if(r.runbook_executed_ref&&KO(r.runbook_executed_ref))n.addIssue({code:"custom",path:["runbook_executed_ref"],message:"runbook_executed_ref must point to a durable runbook receipt or proof ref"});if(["resolved","closed"].includes(r.status)){if(!r.resolved_at)n.addIssue({code:"custom",path:["resolved_at"],message:"resolved or closed incidents must include resolved_at"});if(!r.resolved_by)n.addIssue({code:"custom",path:["resolved_by"],message:"resolved or closed incidents must include resolved_by"})}if(r.root_cause_status==="confirmed"&&r.root_cause_evidence_refs.length===0)n.addIssue({code:"custom",path:["root_cause_evidence_refs"],message:"confirmed root cause requires at least one root_cause_evidence_ref"});let t=r.business_context,e=[t.customer_impact,t.sla_tier,t.revenue_exposure,t.compliance_implication].filter(Boolean);if(r.business_context_status==="absent"&&e.length>0)n.addIssue({code:"custom",path:["business_context_status"],message:"business_context_status absent cannot carry incident business context fields"});if(r.business_context_status==="provided"&&e.length<4)n.addIssue({code:"custom",path:["business_context"],message:"provided business context requires customer_impact, sla_tier, revenue_exposure, and compliance_implication"})}),QN=P.object({schema_version:P.literal("incident-summary.v1"),incident_id:Q,status:P.enum(BI),severity:P.enum(XI),started_at:Q,resolved_at:Q.optional(),duration_minutes:P.number().int().min(0).optional(),affected_systems:P_.min(1),primary_symptom:Q,mitigation_summary:Q.optional(),evidence_refs:P_.min(1),follow_up_count:P.number().int().min(0),business_context_status:P.enum(HI),root_cause_status:P.enum(YI)}).superRefine((r,n)=>{Ut(r.evidence_refs,["evidence_refs"],n)})});var QI=a(()=>{Bc();kg();Gh();GI();YO();CO()});function ZO(r){let n=[],t={};for(let e=0;e<r.length;e+=1){let i=r[e];if(!i.startsWith("--")){n.push(i);continue}let _=i.slice(2),c=r[e+1];if(!c||c.startsWith("--")){t[_]=!0;continue}t[_]=c,e+=1}return{positionals:n,flags:t}}function br(r){if(!r||r===!0)return[];return String(r).split(",").map((n)=>n.trim()).filter(Boolean)}function O(r,n){let t=r[n];if(typeof t!=="string"||t.length===0)throw Error(`--${n} is required`);return t}function m(r,n){let t=r[n];return typeof t==="string"&&t.length>0?t:void 0}function dn(r,n){if(typeof r!=="string")throw Error(`--${n} is required and must be an integer`);let t=Number.parseInt(r,10);if(!Number.isFinite(t))throw Error(`--${n} must be an integer (got ${r})`);return t}function xO(r,n){let t=br(r),e=t.filter((i)=>!Jg.includes(i));if(e.length>0)throw Error(`--${n} contains unknown operation IDs: ${e.join(", ")}`);return t}function pO(r,n){if(typeof r!=="string"||!Ti.includes(r))throw Error(`--${n} must be one of: ${Ti.join(", ")}`);return r}function sO(r){if(r===void 0||r===!0)return"on_state_change";if(!Gc.includes(r))throw Error(`--projection-policy must be one of: ${Gc.join(", ")}`);return r}function rR(r){if(typeof r!=="string"||!Vc.includes(r))throw Error(`--result must be one of: ${Vc.join(", ")}`);return r}function nR(r){if(!r||!Fc.includes(r))throw Error(`<command> must be one of: ${Fc.join(", ")}`);return r}function wr(r,n,t){let e=r[n];if(!e)throw Error(`<${t}> positional argument is required`);return e}var Er=a(()=>{QI()});var Z=W((nL)=>{var KI=Symbol.for("yaml.alias"),tR=Symbol.for("yaml.document"),Wu=Symbol.for("yaml.map"),iR=Symbol.for("yaml.pair"),CI=Symbol.for("yaml.scalar"),Au=Symbol.for("yaml.seq"),it=Symbol.for("yaml.node.type"),KN=(r)=>!!r&&typeof r==="object"&&r[it]===KI,CN=(r)=>!!r&&typeof r==="object"&&r[it]===tR,ZN=(r)=>!!r&&typeof r==="object"&&r[it]===Wu,xN=(r)=>!!r&&typeof r==="object"&&r[it]===iR,eR=(r)=>!!r&&typeof r==="object"&&r[it]===CI,pN=(r)=>!!r&&typeof r==="object"&&r[it]===Au;function _R(r){if(r&&typeof r==="object")switch(r[it]){case Wu:case Au:return!0}return!1}function sN(r){if(r&&typeof r==="object")switch(r[it]){case KI:case Wu:case CI:case Au:return!0}return!1}var rL=(r)=>(eR(r)||_R(r))&&!!r.anchor;nL.ALIAS=KI;nL.DOC=tR;nL.MAP=Wu;nL.NODE_TYPE=it;nL.PAIR=iR;nL.SCALAR=CI;nL.SEQ=Au;nL.hasAnchor=rL;nL.isAlias=KN;nL.isCollection=_R;nL.isDocument=CN;nL.isMap=ZN;nL.isNode=sN;nL.isPair=xN;nL.isScalar=eR;nL.isSeq=pN});var J_=W((hL)=>{var Rr=Z(),Yr=Symbol("break visit"),cR=Symbol("skip children"),Mn=Symbol("remove node");function Pu(r,n){let t=oR(n);if(Rr.isDocument(r)){if(ie(null,r.contents,t,Object.freeze([r]))===Mn)r.contents=null}else ie(null,r,t,Object.freeze([]))}Pu.BREAK=Yr;Pu.SKIP=cR;Pu.REMOVE=Mn;function ie(r,n,t,e){let i=uR(r,n,t,e);if(Rr.isNode(i)||Rr.isPair(i))return $R(r,e,i),ie(r,i,t,e);if(typeof i!=="symbol"){if(Rr.isCollection(n)){e=Object.freeze(e.concat(n));for(let _=0;_<n.items.length;++_){let c=ie(_,n.items[_],t,e);if(typeof c==="number")_=c-1;else if(c===Yr)return Yr;else if(c===Mn)n.items.splice(_,1),_-=1}}else if(Rr.isPair(n)){e=Object.freeze(e.concat(n));let _=ie("key",n.key,t,e);if(_===Yr)return Yr;else if(_===Mn)n.key=null;let c=ie("value",n.value,t,e);if(c===Yr)return Yr;else if(c===Mn)n.value=null}}return i}async function Ju(r,n){let t=oR(n);if(Rr.isDocument(r)){if(await ee(null,r.contents,t,Object.freeze([r]))===Mn)r.contents=null}else await ee(null,r,t,Object.freeze([]))}Ju.BREAK=Yr;Ju.SKIP=cR;Ju.REMOVE=Mn;async function ee(r,n,t,e){let i=await uR(r,n,t,e);if(Rr.isNode(i)||Rr.isPair(i))return $R(r,e,i),ee(r,i,t,e);if(typeof i!=="symbol"){if(Rr.isCollection(n)){e=Object.freeze(e.concat(n));for(let _=0;_<n.items.length;++_){let c=await ee(_,n.items[_],t,e);if(typeof c==="number")_=c-1;else if(c===Yr)return Yr;else if(c===Mn)n.items.splice(_,1),_-=1}}else if(Rr.isPair(n)){e=Object.freeze(e.concat(n));let _=await ee("key",n.key,t,e);if(_===Yr)return Yr;else if(_===Mn)n.key=null;let c=await ee("value",n.value,t,e);if(c===Yr)return Yr;else if(c===Mn)n.value=null}}return i}function oR(r){if(typeof r==="object"&&(r.Collection||r.Node||r.Value))return Object.assign({Alias:r.Node,Map:r.Node,Scalar:r.Node,Seq:r.Node},r.Value&&{Map:r.Value,Scalar:r.Value,Seq:r.Value},r.Collection&&{Map:r.Collection,Seq:r.Collection},r);return r}function uR(r,n,t,e){if(typeof t==="function")return t(r,n,e);if(Rr.isMap(n))return t.Map?.(r,n,e);if(Rr.isSeq(n))return t.Seq?.(r,n,e);if(Rr.isPair(n))return t.Pair?.(r,n,e);if(Rr.isScalar(n))return t.Scalar?.(r,n,e);if(Rr.isAlias(n))return t.Alias?.(r,n,e);return}function $R(r,n,t){let e=n[n.length-1];if(Rr.isCollection(e))e.items[r]=t;else if(Rr.isPair(e))if(r==="key")e.key=t;else e.value=t;else if(Rr.isDocument(e))e.contents=t;else{let i=Rr.isAlias(e)?"alias":"scalar";throw Error(`Cannot replace node with ${i} parent`)}}hL.visit=Pu;hL.visitAsync=Ju});var ZI=W((aL)=>{var gR=Z(),RL=J_(),DL={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},SL=(r)=>r.replace(/[!,[\]{}]/g,(n)=>DL[n]);class fn{constructor(r,n){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},fn.defaultYaml,r),this.tags=Object.assign({},fn.defaultTags,n)}clone(){let r=new fn(this.yaml,this.tags);return r.docStart=this.docStart,r}atDocument(){let r=new fn(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:fn.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},fn.defaultTags);break}return r}add(r,n){if(this.atNextDocument)this.yaml={explicit:fn.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},fn.defaultTags),this.atNextDocument=!1;let t=r.trim().split(/[ \t]+/),e=t.shift();switch(e){case"%TAG":{if(t.length!==2){if(n(0,"%TAG directive should contain exactly two parts"),t.length<2)return!1}let[i,_]=t;return this.tags[i]=_,!0}case"%YAML":{if(this.yaml.explicit=!0,t.length!==1)return n(0,"%YAML directive should contain exactly one part"),!1;let[i]=t;if(i==="1.1"||i==="1.2")return this.yaml.version=i,!0;else{let _=/^\d+\.\d+$/.test(i);return n(6,`Unsupported YAML version ${i}`,_),!1}}default:return n(0,`Unknown directive ${e}`,!0),!1}}tagName(r,n){if(r==="!")return"!";if(r[0]!=="!")return n(`Not a valid tag: ${r}`),null;if(r[1]==="<"){let _=r.slice(2,-1);if(_==="!"||_==="!!")return n(`Verbatim tags aren't resolved, so ${r} is invalid.`),null;if(r[r.length-1]!==">")n("Verbatim tags must end with a >");return _}let[,t,e]=r.match(/^(.*!)([^!]*)$/s);if(!e)n(`The ${r} tag has no suffix`);let i=this.tags[t];if(i)try{return i+decodeURIComponent(e)}catch(_){return n(String(_)),null}if(t==="!")return r;return n(`Could not resolve tag: ${r}`),null}tagString(r){for(let[n,t]of Object.entries(this.tags))if(r.startsWith(t))return n+SL(r.substring(t.length));return r[0]==="!"?r:`!<${r}>`}toString(r){let n=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],t=Object.entries(this.tags),e;if(r&&t.length>0&&gR.isNode(r.contents)){let i={};RL.visit(r.contents,(_,c)=>{if(gR.isNode(c)&&c.tag)i[c.tag]=!0}),e=Object.keys(i)}else e=[];for(let[i,_]of t){if(i==="!!"&&_==="tag:yaml.org,2002:")continue;if(!r||e.some((c)=>c.startsWith(_)))n.push(`%TAG ${i} ${_}`)}return n.join(`
|
|
43
|
+
`)}}fn.defaultYaml={explicit:!1,version:"1.2"};fn.defaultTags={"!!":"tag:yaml.org,2002:"};aL.Directives=fn});var ku=W((NL)=>{var dR=Z(),EL=J_();function lL(r){if(/[\x00-\x19\s,[\]{}]/.test(r)){let t=`Anchor must not contain whitespace or control characters: ${JSON.stringify(r)}`;throw Error(t)}return!0}function fR(r){let n=new Set;return EL.visit(r,{Value(t,e){if(e.anchor)n.add(e.anchor)}}),n}function bR(r,n){for(let t=1;;++t){let e=`${r}${t}`;if(!n.has(e))return e}}function qL(r,n){let t=[],e=new Map,i=null;return{onAnchor:(_)=>{t.push(_),i??(i=fR(r));let c=bR(n,i);return i.add(c),c},setAnchors:()=>{for(let _ of t){let c=e.get(_);if(typeof c==="object"&&c.anchor&&(dR.isScalar(c.node)||dR.isCollection(c.node)))c.node.anchor=c.anchor;else{let o=Error("Failed to resolve repeated object (this should not happen)");throw o.source=_,o}}},sourceObjects:e}}NL.anchorIsValid=lL;NL.anchorNames=fR;NL.createNodeAnchors=qL;NL.findNewAnchor=bR});var xI=W((AL)=>{function k_(r,n,t,e){if(e&&typeof e==="object")if(Array.isArray(e))for(let i=0,_=e.length;i<_;++i){let c=e[i],o=k_(r,e,String(i),c);if(o===void 0)delete e[i];else if(o!==c)e[i]=o}else if(e instanceof Map)for(let i of Array.from(e.keys())){let _=e.get(i),c=k_(r,e,i,_);if(c===void 0)e.delete(i);else if(c!==_)e.set(i,c)}else if(e instanceof Set)for(let i of Array.from(e)){let _=k_(r,e,i,i);if(_===void 0)e.delete(i);else if(_!==i)e.delete(i),e.add(_)}else for(let[i,_]of Object.entries(e)){let c=k_(r,e,i,_);if(c===void 0)delete e[i];else if(c!==_)e[i]=c}return r.call(n,t,e)}AL.applyReviver=k_});var Ot=W((kL)=>{var JL=Z();function wR(r,n,t){if(Array.isArray(r))return r.map((e,i)=>wR(e,String(i),t));if(r&&typeof r.toJSON==="function"){if(!t||!JL.hasAnchor(r))return r.toJSON(n,t);let e={aliasCount:0,count:1,res:void 0};t.anchors.set(r,e),t.onCreate=(_)=>{e.res=_,delete t.onCreate};let i=r.toJSON(n,t);if(t.onCreate)t.onCreate(i);return i}if(typeof r==="bigint"&&!t?.keep)return Number(r);return r}kL.toJS=wR});var vu=W((FL)=>{var ML=xI(),mR=Z(),VL=Ot();class IR{constructor(r){Object.defineProperty(this,mR.NODE_TYPE,{value:r})}clone(){let r=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(this.range)r.range=this.range.slice();return r}toJS(r,{mapAsMap:n,maxAliasCount:t,onAnchor:e,reviver:i}={}){if(!mR.isDocument(r))throw TypeError("A document argument is required");let _={anchors:new Map,doc:r,keep:!0,mapAsMap:n===!0,mapKeyWarned:!1,maxAliasCount:typeof t==="number"?t:100},c=VL.toJS(this,"",_);if(typeof e==="function")for(let{count:o,res:u}of _.anchors.values())e(u,o);return typeof i==="function"?ML.applyReviver(i,{"":c},"",c):c}}FL.NodeBase=IR});var v_=W((QL)=>{var XL=ku(),BL=J_(),_e=Z(),HL=vu(),YL=Ot();class yR extends HL.NodeBase{constructor(r){super(_e.ALIAS);this.source=r,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(r,n){let t;if(n?.aliasResolveCache)t=n.aliasResolveCache;else if(t=[],BL.visit(r,{Node:(i,_)=>{if(_e.isAlias(_)||_e.hasAnchor(_))t.push(_)}}),n)n.aliasResolveCache=t;let e=void 0;for(let i of t){if(i===this)break;if(i.anchor===this.source)e=i}return e}toJSON(r,n){if(!n)return{source:this.source};let{anchors:t,doc:e,maxAliasCount:i}=n,_=this.resolve(e,n);if(!_){let o=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw ReferenceError(o)}let c=t.get(_);if(!c)YL.toJS(_,null,n),c=t.get(_);if(c?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(i>=0){if(c.count+=1,c.aliasCount===0)c.aliasCount=Mu(e,_,t);if(c.count*c.aliasCount>i)throw ReferenceError("Excessive alias count indicates a resource exhaustion attack")}return c.res}toString(r,n,t){let e=`*${this.source}`;if(r){if(XL.anchorIsValid(this.source),r.options.verifyAliasOrder&&!r.anchors.has(this.source)){let i=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw Error(i)}if(r.implicitKey)return`${e} `}return e}}function Mu(r,n,t){if(_e.isAlias(n)){let e=n.resolve(r),i=t&&e&&t.get(e);return i?i.count*i.aliasCount:0}else if(_e.isCollection(n)){let e=0;for(let i of n.items){let _=Mu(r,i,t);if(_>e)e=_}return e}else if(_e.isPair(n)){let e=Mu(r,n.key,t),i=Mu(r,n.value,t);return Math.max(e,i)}return 1}QL.Alias=yR});var mr=W((sL)=>{var CL=Z(),ZL=vu(),xL=Ot(),pL=(r)=>!r||typeof r!=="function"&&typeof r!=="object";class pt extends ZL.NodeBase{constructor(r){super(CL.SCALAR);this.value=r}toJSON(r,n){return n?.keep?this.value:xL.toJS(this.value,r,n)}toString(){return String(this.value)}}pt.BLOCK_FOLDED="BLOCK_FOLDED";pt.BLOCK_LITERAL="BLOCK_LITERAL";pt.PLAIN="PLAIN";pt.QUOTE_DOUBLE="QUOTE_DOUBLE";pt.QUOTE_SINGLE="QUOTE_SINGLE";sL.Scalar=pt;sL.isScalarValue=pL});var M_=W((cz)=>{var tz=v_(),st=Z(),hR=mr(),iz="tag:yaml.org,2002:";function ez(r,n,t){if(n){let e=t.filter((_)=>_.tag===n),i=e.find((_)=>!_.format)??e[0];if(!i)throw Error(`Tag ${n} not found`);return i}return t.find((e)=>e.identify?.(r)&&!e.format)}function _z(r,n,t){if(st.isDocument(r))r=r.contents;if(st.isNode(r))return r;if(st.isPair(r)){let d=t.schema[st.MAP].createNode?.(t.schema,null,t);return d.items.push(r),d}if(r instanceof String||r instanceof Number||r instanceof Boolean||typeof BigInt<"u"&&r instanceof BigInt)r=r.valueOf();let{aliasDuplicateObjects:e,onAnchor:i,onTagObj:_,schema:c,sourceObjects:o}=t,u=void 0;if(e&&r&&typeof r==="object")if(u=o.get(r),u)return u.anchor??(u.anchor=i(r)),new tz.Alias(u.anchor);else u={anchor:null,node:null},o.set(r,u);if(n?.startsWith("!!"))n=iz+n.slice(2);let $=ez(r,n,c.tags);if(!$){if(r&&typeof r.toJSON==="function")r=r.toJSON();if(!r||typeof r!=="object"){let d=new hR.Scalar(r);if(u)u.node=d;return d}$=r instanceof Map?c[st.MAP]:(Symbol.iterator in Object(r))?c[st.SEQ]:c[st.MAP]}if(_)_($),delete t.onTagObj;let g=$?.createNode?$.createNode(t.schema,r,t):typeof $?.nodeClass?.from==="function"?$.nodeClass.from(t.schema,r,t):new hR.Scalar(r);if(n)g.tag=n;else if(!$.default)g.tag=$.tag;if(u)u.node=g;return g}cz.createNode=_z});var Vu=W((gz)=>{var uz=M_(),Vn=Z(),$z=vu();function pI(r,n,t){let e=t;for(let i=n.length-1;i>=0;--i){let _=n[i];if(typeof _==="number"&&Number.isInteger(_)&&_>=0){let c=[];c[_]=e,e=c}else e=new Map([[_,e]])}return uz.createNode(e,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:r,sourceObjects:new Map})}var UR=(r)=>r==null||typeof r==="object"&&!!r[Symbol.iterator]().next().done;class OR extends $z.NodeBase{constructor(r,n){super(r);Object.defineProperty(this,"schema",{value:n,configurable:!0,enumerable:!1,writable:!0})}clone(r){let n=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(r)n.schema=r;if(n.items=n.items.map((t)=>Vn.isNode(t)||Vn.isPair(t)?t.clone(r):t),this.range)n.range=this.range.slice();return n}addIn(r,n){if(UR(r))this.add(n);else{let[t,...e]=r,i=this.get(t,!0);if(Vn.isCollection(i))i.addIn(e,n);else if(i===void 0&&this.schema)this.set(t,pI(this.schema,e,n));else throw Error(`Expected YAML collection at ${t}. Remaining path: ${e}`)}}deleteIn(r){let[n,...t]=r;if(t.length===0)return this.delete(n);let e=this.get(n,!0);if(Vn.isCollection(e))return e.deleteIn(t);else throw Error(`Expected YAML collection at ${n}. Remaining path: ${t}`)}getIn(r,n){let[t,...e]=r,i=this.get(t,!0);if(e.length===0)return!n&&Vn.isScalar(i)?i.value:i;else return Vn.isCollection(i)?i.getIn(e,n):void 0}hasAllNullValues(r){return this.items.every((n)=>{if(!Vn.isPair(n))return!1;let t=n.value;return t==null||r&&Vn.isScalar(t)&&t.value==null&&!t.commentBefore&&!t.comment&&!t.tag})}hasIn(r){let[n,...t]=r;if(t.length===0)return this.has(n);let e=this.get(n,!0);return Vn.isCollection(e)?e.hasIn(t):!1}setIn(r,n){let[t,...e]=r;if(e.length===0)this.set(t,n);else{let i=this.get(t,!0);if(Vn.isCollection(i))i.setIn(e,n);else if(i===void 0&&this.schema)this.set(t,pI(this.schema,e,n));else throw Error(`Expected YAML collection at ${t}. Remaining path: ${e}`)}}}gz.Collection=OR;gz.collectionFromPath=pI;gz.isEmptyPath=UR});var V_=W((Iz)=>{var wz=(r)=>r.replace(/^(?!$)(?: $)?/gm,"#");function sI(r,n){if(/^\n+$/.test(r))return r.substring(1);return n?r.replace(/^(?! *$)/gm,n):r}var mz=(r,n,t)=>r.endsWith(`
|
|
44
|
+
`)?sI(t,n):t.includes(`
|
|
45
|
+
`)?`
|
|
46
|
+
`+sI(t,n):(r.endsWith(" ")?"":" ")+t;Iz.indentComment=sI;Iz.lineComment=mz;Iz.stringifyComment=wz});var DR=W((Rz)=>{function Oz(r,n,t="flow",{indentAtStart:e,lineWidth:i=80,minContentWidth:_=20,onFold:c,onOverflow:o}={}){if(!i||i<0)return r;if(i<_)_=0;let u=Math.max(1+_,1+i-n.length);if(r.length<=u)return r;let $=[],g={},d=i-n.length;if(typeof e==="number")if(e>i-Math.max(2,_))$.push(0);else d=i-e;let f=void 0,b=void 0,I=!1,w=-1,h=-1,R=-1;if(t==="block"){if(w=RR(r,w,n.length),w!==-1)d=w+u}for(let D;D=r[w+=1];){if(t==="quoted"&&D==="\\"){switch(h=w,r[w+1]){case"x":w+=3;break;case"u":w+=5;break;case"U":w+=9;break;default:w+=1}R=w}if(D===`
|
|
47
|
+
`){if(t==="block")w=RR(r,w,n.length);d=w+n.length+u,f=void 0}else{if(D===" "&&b&&b!==" "&&b!==`
|
|
48
|
+
`&&b!=="\t"){let L=r[w+1];if(L&&L!==" "&&L!==`
|
|
49
|
+
`&&L!=="\t")f=w}if(w>=d)if(f)$.push(f),d=f+u,f=void 0;else if(t==="quoted"){while(b===" "||b==="\t")b=D,D=r[w+=1],I=!0;let L=w>R+1?w-2:h-1;if(g[L])return r;$.push(L),g[L]=!0,d=L+u,f=void 0}else I=!0}b=D}if(I&&o)o();if($.length===0)return r;if(c)c();let S=r.slice(0,$[0]);for(let D=0;D<$.length;++D){let L=$[D],N=$[D+1]||r.length;if(L===0)S=`
|
|
50
|
+
${n}${r.slice(0,N)}`;else{if(t==="quoted"&&g[L])S+=`${r[L]}\\`;S+=`
|
|
51
|
+
${n}${r.slice(L+1,N)}`}}return S}function RR(r,n,t){let e=n,i=n+1,_=r[i];while(_===" "||_==="\t")if(n<i+t)_=r[++n];else{do _=r[++n];while(_&&_!==`
|
|
52
|
+
`);e=n,i=n+1,_=r[i]}return e}Rz.FOLD_BLOCK="block";Rz.FOLD_FLOW="flow";Rz.FOLD_QUOTED="quoted";Rz.foldFlowLines=Oz});var G_=W((Nz)=>{var Sn=mr(),Rt=DR(),Gu=(r,n)=>({indentAtStart:n?r.indent.length:r.indentAtStart,lineWidth:r.options.lineWidth,minContentWidth:r.options.minContentWidth}),Xu=(r)=>/^(%|---|\.\.\.)/m.test(r);function Ez(r,n,t){if(!n||n<0)return!1;let e=n-t,i=r.length;if(i<=e)return!1;for(let _=0,c=0;_<i;++_)if(r[_]===`
|
|
53
|
+
`){if(_-c>e)return!0;if(c=_+1,i-c<=e)return!1}return!0}function F_(r,n){let t=JSON.stringify(r);if(n.options.doubleQuotedAsJSON)return t;let{implicitKey:e}=n,i=n.options.doubleQuotedMinMultiLineLength,_=n.indent||(Xu(r)?" ":""),c="",o=0;for(let u=0,$=t[u];$;$=t[++u]){if($===" "&&t[u+1]==="\\"&&t[u+2]==="n")c+=t.slice(o,u)+"\\ ",u+=1,o=u,$="\\";if($==="\\")switch(t[u+1]){case"u":{c+=t.slice(o,u);let g=t.substr(u+2,4);switch(g){case"0000":c+="\\0";break;case"0007":c+="\\a";break;case"000b":c+="\\v";break;case"001b":c+="\\e";break;case"0085":c+="\\N";break;case"00a0":c+="\\_";break;case"2028":c+="\\L";break;case"2029":c+="\\P";break;default:if(g.substr(0,2)==="00")c+="\\x"+g.substr(2);else c+=t.substr(u,6)}u+=5,o=u+1}break;case"n":if(e||t[u+2]==='"'||t.length<i)u+=1;else{c+=t.slice(o,u)+`
|
|
54
|
+
|
|
55
|
+
`;while(t[u+2]==="\\"&&t[u+3]==="n"&&t[u+4]!=='"')c+=`
|
|
56
|
+
`,u+=2;if(c+=_,t[u+2]===" ")c+="\\";u+=1,o=u+1}break;default:u+=1}}return c=o?c+t.slice(o):t,e?c:Rt.foldFlowLines(c,_,Rt.FOLD_QUOTED,Gu(n,!1))}function r6(r,n){if(n.options.singleQuote===!1||n.implicitKey&&r.includes(`
|
|
57
|
+
`)||/[ \t]\n|\n[ \t]/.test(r))return F_(r,n);let t=n.indent||(Xu(r)?" ":""),e="'"+r.replace(/'/g,"''").replace(/\n+/g,`$&
|
|
58
|
+
${t}`)+"'";return n.implicitKey?e:Rt.foldFlowLines(e,t,Rt.FOLD_FLOW,Gu(n,!1))}function ce(r,n){let{singleQuote:t}=n.options,e;if(t===!1)e=F_;else{let i=r.includes('"'),_=r.includes("'");if(i&&!_)e=r6;else if(_&&!i)e=F_;else e=t?r6:F_}return e(r,n)}var n6;try{n6=new RegExp(`(^|(?<!
|
|
59
|
+
))
|
|
60
|
+
+(?!
|
|
61
|
+
|$)`,"g")}catch{n6=/\n+(?!\n|$)/g}function Fu({comment:r,type:n,value:t},e,i,_){let{blockQuote:c,commentString:o,lineWidth:u}=e.options;if(!c||/\n[\t ]+$/.test(t))return ce(t,e);let $=e.indent||(e.forceBlockIndent||Xu(t)?" ":""),g=c==="literal"?!0:c==="folded"||n===Sn.Scalar.BLOCK_FOLDED?!1:n===Sn.Scalar.BLOCK_LITERAL?!0:!Ez(t,u,$.length);if(!t)return g?`|
|
|
62
|
+
`:`>
|
|
63
|
+
`;let d,f;for(f=t.length;f>0;--f){let N=t[f-1];if(N!==`
|
|
64
|
+
`&&N!=="\t"&&N!==" ")break}let b=t.substring(f),I=b.indexOf(`
|
|
65
|
+
`);if(I===-1)d="-";else if(t===b||I!==b.length-1){if(d="+",_)_()}else d="";if(b){if(t=t.slice(0,-b.length),b[b.length-1]===`
|
|
66
|
+
`)b=b.slice(0,-1);b=b.replace(n6,`$&${$}`)}let w=!1,h,R=-1;for(h=0;h<t.length;++h){let N=t[h];if(N===" ")w=!0;else if(N===`
|
|
67
|
+
`)R=h;else break}let S=t.substring(0,R<h?R+1:h);if(S)t=t.substring(S.length),S=S.replace(/\n+/g,`$&${$}`);let L=(w?$?"2":"1":"")+d;if(r){if(L+=" "+o(r.replace(/ ?[\r\n]+/g," ")),i)i()}if(!g){let N=t.replace(/\n+/g,`
|
|
68
|
+
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${$}`),M=!1,K=Gu(e,!0);if(c!=="folded"&&n!==Sn.Scalar.BLOCK_FOLDED)K.onOverflow=()=>{M=!0};let A=Rt.foldFlowLines(`${S}${N}${b}`,$,Rt.FOLD_BLOCK,K);if(!M)return`>${L}
|
|
69
|
+
${$}${A}`}return t=t.replace(/\n+/g,`$&${$}`),`|${L}
|
|
70
|
+
${$}${S}${t}${b}`}function lz(r,n,t,e){let{type:i,value:_}=r,{actualString:c,implicitKey:o,indent:u,indentStep:$,inFlow:g}=n;if(o&&_.includes(`
|
|
71
|
+
`)||g&&/[[\]{},]/.test(_))return ce(_,n);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(_))return o||g||!_.includes(`
|
|
72
|
+
`)?ce(_,n):Fu(r,n,t,e);if(!o&&!g&&i!==Sn.Scalar.PLAIN&&_.includes(`
|
|
73
|
+
`))return Fu(r,n,t,e);if(Xu(_)){if(u==="")return n.forceBlockIndent=!0,Fu(r,n,t,e);else if(o&&u===$)return ce(_,n)}let d=_.replace(/\n+/g,`$&
|
|
74
|
+
${u}`);if(c){let f=(w)=>w.default&&w.tag!=="tag:yaml.org,2002:str"&&w.test?.test(d),{compat:b,tags:I}=n.doc.schema;if(I.some(f)||b?.some(f))return ce(_,n)}return o?d:Rt.foldFlowLines(d,u,Rt.FOLD_FLOW,Gu(n,!1))}function qz(r,n,t,e){let{implicitKey:i,inFlow:_}=n,c=typeof r.value==="string"?r:Object.assign({},r,{value:String(r.value)}),{type:o}=r;if(o!==Sn.Scalar.QUOTE_DOUBLE){if(/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(c.value))o=Sn.Scalar.QUOTE_DOUBLE}let u=(g)=>{switch(g){case Sn.Scalar.BLOCK_FOLDED:case Sn.Scalar.BLOCK_LITERAL:return i||_?ce(c.value,n):Fu(c,n,t,e);case Sn.Scalar.QUOTE_DOUBLE:return F_(c.value,n);case Sn.Scalar.QUOTE_SINGLE:return r6(c.value,n);case Sn.Scalar.PLAIN:return lz(c,n,t,e);default:return null}},$=u(o);if($===null){let{defaultKeyType:g,defaultStringType:d}=n.options,f=i&&g||d;if($=u(f),$===null)throw Error(`Unsupported default string type ${f}`)}return $}Nz.stringifyString=qz});var X_=W((vz)=>{var zz=ku(),Dt=Z(),jz=V_(),Wz=G_();function Az(r,n){let t=Object.assign({blockQuote:!0,commentString:jz.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},r.schema.toStringOptions,n),e;switch(t.collectionStyle){case"block":e=!1;break;case"flow":e=!0;break;default:e=null}return{anchors:new Set,doc:r,flowCollectionPadding:t.flowCollectionPadding?" ":"",indent:"",indentStep:typeof t.indent==="number"?" ".repeat(t.indent):" ",inFlow:e,options:t}}function Pz(r,n){if(n.tag){let i=r.filter((_)=>_.tag===n.tag);if(i.length>0)return i.find((_)=>_.format===n.format)??i[0]}let t=void 0,e;if(Dt.isScalar(n)){e=n.value;let i=r.filter((_)=>_.identify?.(e));if(i.length>1){let _=i.filter((c)=>c.test);if(_.length>0)i=_}t=i.find((_)=>_.format===n.format)??i.find((_)=>!_.format)}else e=n,t=r.find((i)=>i.nodeClass&&e instanceof i.nodeClass);if(!t){let i=e?.constructor?.name??(e===null?"null":typeof e);throw Error(`Tag not resolved for ${i} value`)}return t}function Jz(r,n,{anchors:t,doc:e}){if(!e.directives)return"";let i=[],_=(Dt.isScalar(r)||Dt.isCollection(r))&&r.anchor;if(_&&zz.anchorIsValid(_))t.add(_),i.push(`&${_}`);let c=r.tag??(n.default?null:n.tag);if(c)i.push(e.directives.tagString(c));return i.join(" ")}function kz(r,n,t,e){if(Dt.isPair(r))return r.toString(n,t,e);if(Dt.isAlias(r)){if(n.doc.directives)return r.toString(n);if(n.resolvedAliases?.has(r))throw TypeError("Cannot stringify circular structure without alias nodes");else{if(n.resolvedAliases)n.resolvedAliases.add(r);else n.resolvedAliases=new Set([r]);r=r.resolve(n.doc)}}let i=void 0,_=Dt.isNode(r)?r:n.doc.createNode(r,{onTagObj:(u)=>i=u});i??(i=Pz(n.doc.schema.tags,_));let c=Jz(_,i,n);if(c.length>0)n.indentAtStart=(n.indentAtStart??0)+c.length+1;let o=typeof i.stringify==="function"?i.stringify(_,n,t,e):Dt.isScalar(_)?Wz.stringifyString(_,n,t,e):_.toString(n,t,e);if(!c)return o;return Dt.isScalar(_)||o[0]==="{"||o[0]==="["?`${c} ${o}`:`${c}
|
|
75
|
+
${n.indent}${o}`}vz.createStringifyContext=Az;vz.stringify=kz});var TR=W((Gz)=>{var et=Z(),SR=mr(),aR=X_(),B_=V_();function Fz({key:r,value:n},t,e,i){let{allNullValues:_,doc:c,indent:o,indentStep:u,options:{commentString:$,indentSeq:g,simpleKeys:d}}=t,f=et.isNode(r)&&r.comment||null;if(d){if(f)throw Error("With simple keys, key nodes cannot have comments");if(et.isCollection(r)||!et.isNode(r)&&typeof r==="object")throw Error("With simple keys, collection cannot be used as a key value")}let b=!d&&(!r||f&&n==null&&!t.inFlow||et.isCollection(r)||(et.isScalar(r)?r.type===SR.Scalar.BLOCK_FOLDED||r.type===SR.Scalar.BLOCK_LITERAL:typeof r==="object"));t=Object.assign({},t,{allNullValues:!1,implicitKey:!b&&(d||!_),indent:o+u});let I=!1,w=!1,h=aR.stringify(r,t,()=>I=!0,()=>w=!0);if(!b&&!t.inFlow&&h.length>1024){if(d)throw Error("With simple keys, single line scalar must not span more than 1024 characters");b=!0}if(t.inFlow){if(_||n==null){if(I&&e)e();return h===""?"?":b?`? ${h}`:h}}else if(_&&!d||n==null&&b){if(h=`? ${h}`,f&&!I)h+=B_.lineComment(h,t.indent,$(f));else if(w&&i)i();return h}if(I)f=null;if(b){if(f)h+=B_.lineComment(h,t.indent,$(f));h=`? ${h}
|
|
76
|
+
${o}:`}else if(h=`${h}:`,f)h+=B_.lineComment(h,t.indent,$(f));let R,S,D;if(et.isNode(n))R=!!n.spaceBefore,S=n.commentBefore,D=n.comment;else if(R=!1,S=null,D=null,n&&typeof n==="object")n=c.createNode(n);if(t.implicitKey=!1,!b&&!f&&et.isScalar(n))t.indentAtStart=h.length+1;if(w=!1,!g&&u.length>=2&&!t.inFlow&&!b&&et.isSeq(n)&&!n.flow&&!n.tag&&!n.anchor)t.indent=t.indent.substring(2);let L=!1,N=aR.stringify(n,t,()=>L=!0,()=>w=!0),M=" ";if(f||R||S){if(M=R?`
|
|
77
|
+
`:"",S){let K=$(S);M+=`
|
|
78
|
+
${B_.indentComment(K,t.indent)}`}if(N===""&&!t.inFlow){if(M===`
|
|
79
|
+
`&&D)M=`
|
|
80
|
+
|
|
81
|
+
`}else M+=`
|
|
82
|
+
${t.indent}`}else if(!b&&et.isCollection(n)){let K=N[0],A=N.indexOf(`
|
|
83
|
+
`),B=A!==-1,v=t.inFlow??n.flow??n.items.length===0;if(B||!v){let Tr=!1;if(B&&(K==="&"||K==="!")){let ur=N.indexOf(" ");if(K==="&"&&ur!==-1&&ur<A&&N[ur+1]==="!")ur=N.indexOf(" ",ur+1);if(ur===-1||A<ur)Tr=!0}if(!Tr)M=`
|
|
84
|
+
${t.indent}`}}else if(N===""||N[0]===`
|
|
85
|
+
`)M="";if(h+=M+N,t.inFlow){if(L&&e)e()}else if(D&&!L)h+=B_.lineComment(h,t.indent,$(D));else if(w&&i)i();return h}Gz.stringifyPair=Fz});var t6=W((Yz)=>{var ER=Mc("process");function Bz(r,...n){if(r==="debug")console.log(...n)}function Hz(r,n){if(r==="debug"||r==="warn")if(typeof ER.emitWarning==="function")ER.emitWarning(n);else console.warn(n)}Yz.debug=Bz;Yz.warn=Hz});var Yu=W((Zz)=>{var H_=Z(),lR=mr(),Bu="<<",Hu={identify:(r)=>r===Bu||typeof r==="symbol"&&r.description===Bu,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new lR.Scalar(Symbol(Bu)),{addToJSMap:qR}),stringify:()=>Bu},Cz=(r,n)=>(Hu.identify(n)||H_.isScalar(n)&&(!n.type||n.type===lR.Scalar.PLAIN)&&Hu.identify(n.value))&&r?.doc.schema.tags.some((t)=>t.tag===Hu.tag&&t.default);function qR(r,n,t){if(t=r&&H_.isAlias(t)?t.resolve(r.doc):t,H_.isSeq(t))for(let e of t.items)i6(r,n,e);else if(Array.isArray(t))for(let e of t)i6(r,n,e);else i6(r,n,t)}function i6(r,n,t){let e=r&&H_.isAlias(t)?t.resolve(r.doc):t;if(!H_.isMap(e))throw Error("Merge sources must be maps or map aliases");let i=e.toJSON(null,r,Map);for(let[_,c]of i)if(n instanceof Map){if(!n.has(_))n.set(_,c)}else if(n instanceof Set)n.add(_);else if(!Object.prototype.hasOwnProperty.call(n,_))Object.defineProperty(n,_,{value:c,writable:!0,enumerable:!0,configurable:!0});return n}Zz.addMergeToJSMap=qR;Zz.isMergeKey=Cz;Zz.merge=Hu});var _6=W((ej)=>{var rj=t6(),NR=Yu(),nj=X_(),LR=Z(),e6=Ot();function tj(r,n,{key:t,value:e}){if(LR.isNode(t)&&t.addToJSMap)t.addToJSMap(r,n,e);else if(NR.isMergeKey(r,t))NR.addMergeToJSMap(r,n,e);else{let i=e6.toJS(t,"",r);if(n instanceof Map)n.set(i,e6.toJS(e,i,r));else if(n instanceof Set)n.add(i);else{let _=ij(t,i,r),c=e6.toJS(e,_,r);if(_ in n)Object.defineProperty(n,_,{value:c,writable:!0,enumerable:!0,configurable:!0});else n[_]=c}}return n}function ij(r,n,t){if(n===null)return"";if(typeof n!=="object")return String(n);if(LR.isNode(r)&&t?.doc){let e=nj.createStringifyContext(t.doc,{});e.anchors=new Set;for(let _ of t.anchors.keys())e.anchors.add(_.anchor);e.inFlow=!0,e.inStringifyKey=!0;let i=r.toString(e);if(!t.mapKeyWarned){let _=JSON.stringify(i);if(_.length>40)_=_.substring(0,36)+'..."';rj.warn(t.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${_}. Set mapAsMap: true to use object keys.`),t.mapKeyWarned=!0}return i}return JSON.stringify(n)}ej.addPairToJSMap=tj});var St=W(($j)=>{var zR=M_(),cj=TR(),oj=_6(),Qu=Z();function uj(r,n,t){let e=zR.createNode(r,void 0,t),i=zR.createNode(n,void 0,t);return new Ku(e,i)}class Ku{constructor(r,n=null){Object.defineProperty(this,Qu.NODE_TYPE,{value:Qu.PAIR}),this.key=r,this.value=n}clone(r){let{key:n,value:t}=this;if(Qu.isNode(n))n=n.clone(r);if(Qu.isNode(t))t=t.clone(r);return new Ku(n,t)}toJSON(r,n){let t=n?.mapAsMap?new Map:{};return oj.addPairToJSMap(n,t,this)}toString(r,n,t){return r?.doc?cj.stringifyPair(this,r,n,t):JSON.stringify(this)}}$j.Pair=Ku;$j.createPair=uj});var c6=W((mj)=>{var ri=Z(),jR=X_(),Cu=V_();function fj(r,n,t){return(n.inFlow??r.flow?wj:bj)(r,n,t)}function bj({comment:r,items:n},t,{blockItemPrefix:e,flowChars:i,itemIndent:_,onChompKeep:c,onComment:o}){let{indent:u,options:{commentString:$}}=t,g=Object.assign({},t,{indent:_,type:null}),d=!1,f=[];for(let I=0;I<n.length;++I){let w=n[I],h=null;if(ri.isNode(w)){if(!d&&w.spaceBefore)f.push("");if(Zu(t,f,w.commentBefore,d),w.comment)h=w.comment}else if(ri.isPair(w)){let S=ri.isNode(w.key)?w.key:null;if(S){if(!d&&S.spaceBefore)f.push("");Zu(t,f,S.commentBefore,d)}}d=!1;let R=jR.stringify(w,g,()=>h=null,()=>d=!0);if(h)R+=Cu.lineComment(R,_,$(h));if(d&&h)d=!1;f.push(e+R)}let b;if(f.length===0)b=i.start+i.end;else{b=f[0];for(let I=1;I<f.length;++I){let w=f[I];b+=w?`
|
|
86
|
+
${u}${w}`:`
|
|
87
|
+
`}}if(r){if(b+=`
|
|
88
|
+
`+Cu.indentComment($(r),u),o)o()}else if(d&&c)c();return b}function wj({items:r},n,{flowChars:t,itemIndent:e}){let{indent:i,indentStep:_,flowCollectionPadding:c,options:{commentString:o}}=n;e+=_;let u=Object.assign({},n,{indent:e,inFlow:!0,type:null}),$=!1,g=0,d=[];for(let I=0;I<r.length;++I){let w=r[I],h=null;if(ri.isNode(w)){if(w.spaceBefore)d.push("");if(Zu(n,d,w.commentBefore,!1),w.comment)h=w.comment}else if(ri.isPair(w)){let S=ri.isNode(w.key)?w.key:null;if(S){if(S.spaceBefore)d.push("");if(Zu(n,d,S.commentBefore,!1),S.comment)$=!0}let D=ri.isNode(w.value)?w.value:null;if(D){if(D.comment)h=D.comment;if(D.commentBefore)$=!0}else if(w.value==null&&S?.comment)h=S.comment}if(h)$=!0;let R=jR.stringify(w,u,()=>h=null);if($||($=d.length>g||R.includes(`
|
|
89
|
+
`)),I<r.length-1)R+=",";else if(n.options.trailingComma){if(n.options.lineWidth>0)$||($=d.reduce((S,D)=>S+D.length+2,2)+(R.length+2)>n.options.lineWidth);if($)R+=","}if(h)R+=Cu.lineComment(R,e,o(h));d.push(R),g=d.length}let{start:f,end:b}=t;if(d.length===0)return f+b;else{if(!$){let I=d.reduce((w,h)=>w+h.length+2,2);$=n.options.lineWidth>0&&I>n.options.lineWidth}if($){let I=f;for(let w of d)I+=w?`
|
|
90
|
+
${_}${i}${w}`:`
|
|
91
|
+
`;return`${I}
|
|
92
|
+
${i}${b}`}else return`${f}${c}${d.join(" ")}${c}${b}`}}function Zu({indent:r,options:{commentString:n}},t,e,i){if(e&&i)e=e.replace(/^\n+/,"");if(e){let _=Cu.indentComment(n(e),r);t.push(_.trimStart())}}mj.stringifyCollection=fj});var Tt=W((Rj)=>{var yj=c6(),hj=_6(),Uj=Vu(),at=Z(),xu=St(),Oj=mr();function Y_(r,n){let t=at.isScalar(n)?n.value:n;for(let e of r)if(at.isPair(e)){if(e.key===n||e.key===t)return e;if(at.isScalar(e.key)&&e.key.value===t)return e}return}class WR extends Uj.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(r){super(at.MAP,r);this.items=[]}static from(r,n,t){let{keepUndefined:e,replacer:i}=t,_=new this(r),c=(o,u)=>{if(typeof i==="function")u=i.call(n,o,u);else if(Array.isArray(i)&&!i.includes(o))return;if(u!==void 0||e)_.items.push(xu.createPair(o,u,t))};if(n instanceof Map)for(let[o,u]of n)c(o,u);else if(n&&typeof n==="object")for(let o of Object.keys(n))c(o,n[o]);if(typeof r.sortMapEntries==="function")_.items.sort(r.sortMapEntries);return _}add(r,n){let t;if(at.isPair(r))t=r;else if(!r||typeof r!=="object"||!("key"in r))t=new xu.Pair(r,r?.value);else t=new xu.Pair(r.key,r.value);let e=Y_(this.items,t.key),i=this.schema?.sortMapEntries;if(e){if(!n)throw Error(`Key ${t.key} already set`);if(at.isScalar(e.value)&&Oj.isScalarValue(t.value))e.value.value=t.value;else e.value=t.value}else if(i){let _=this.items.findIndex((c)=>i(t,c)<0);if(_===-1)this.items.push(t);else this.items.splice(_,0,t)}else this.items.push(t)}delete(r){let n=Y_(this.items,r);if(!n)return!1;return this.items.splice(this.items.indexOf(n),1).length>0}get(r,n){let e=Y_(this.items,r)?.value;return(!n&&at.isScalar(e)?e.value:e)??void 0}has(r){return!!Y_(this.items,r)}set(r,n){this.add(new xu.Pair(r,n),!0)}toJSON(r,n,t){let e=t?new t:n?.mapAsMap?new Map:{};if(n?.onCreate)n.onCreate(e);for(let i of this.items)hj.addPairToJSMap(n,e,i);return e}toString(r,n,t){if(!r)return JSON.stringify(this);for(let e of this.items)if(!at.isPair(e))throw Error(`Map items must all be pairs; found ${JSON.stringify(e)} instead`);if(!r.allNullValues&&this.hasAllNullValues(!1))r=Object.assign({},r,{allNullValues:!0});return yj.stringifyCollection(this,r,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:r.indent||"",onChompKeep:t,onComment:n})}}Rj.YAMLMap=WR;Rj.findPair=Y_});var oe=W((Ej)=>{var aj=Z(),AR=Tt(),Tj={collection:"map",default:!0,nodeClass:AR.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(r,n){if(!aj.isMap(r))n("Expected a mapping for this tag");return r},createNode:(r,n,t)=>AR.YAMLMap.from(r,n,t)};Ej.map=Tj});var Et=W((Wj)=>{var qj=M_(),Nj=c6(),Lj=Vu(),su=Z(),zj=mr(),jj=Ot();class PR extends Lj.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(r){super(su.SEQ,r);this.items=[]}add(r){this.items.push(r)}delete(r){let n=pu(r);if(typeof n!=="number")return!1;return this.items.splice(n,1).length>0}get(r,n){let t=pu(r);if(typeof t!=="number")return;let e=this.items[t];return!n&&su.isScalar(e)?e.value:e}has(r){let n=pu(r);return typeof n==="number"&&n<this.items.length}set(r,n){let t=pu(r);if(typeof t!=="number")throw Error(`Expected a valid index, not ${r}.`);let e=this.items[t];if(su.isScalar(e)&&zj.isScalarValue(n))e.value=n;else this.items[t]=n}toJSON(r,n){let t=[];if(n?.onCreate)n.onCreate(t);let e=0;for(let i of this.items)t.push(jj.toJS(i,String(e++),n));return t}toString(r,n,t){if(!r)return JSON.stringify(this);return Nj.stringifyCollection(this,r,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(r.indent||"")+" ",onChompKeep:t,onComment:n})}static from(r,n,t){let{replacer:e}=t,i=new this(r);if(n&&Symbol.iterator in Object(n)){let _=0;for(let c of n){if(typeof e==="function"){let o=n instanceof Set?c:String(_++);c=e.call(n,o,c)}i.items.push(qj.createNode(c,void 0,t))}}return i}}function pu(r){let n=su.isScalar(r)?r.value:r;if(n&&typeof n==="string")n=Number(n);return typeof n==="number"&&Number.isInteger(n)&&n>=0?n:null}Wj.YAMLSeq=PR});var ue=W((kj)=>{var Pj=Z(),JR=Et(),Jj={collection:"seq",default:!0,nodeClass:JR.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(r,n){if(!Pj.isSeq(r))n("Expected a sequence for this tag");return r},createNode:(r,n,t)=>JR.YAMLSeq.from(r,n,t)};kj.seq=Jj});var Q_=W((Fj)=>{var Mj=G_(),Vj={identify:(r)=>typeof r==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(r)=>r,stringify(r,n,t,e){return n=Object.assign({actualString:!0},n),Mj.stringifyString(r,n,t,e)}};Fj.string=Vj});var r$=W((Xj)=>{var kR=mr(),vR={identify:(r)=>r==null,createNode:()=>new kR.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new kR.Scalar(null),stringify:({source:r},n)=>typeof r==="string"&&vR.test.test(r)?r:n.options.nullStr};Xj.nullTag=vR});var o6=W((Yj)=>{var Hj=mr(),MR={identify:(r)=>typeof r==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:(r)=>new Hj.Scalar(r[0]==="t"||r[0]==="T"),stringify({source:r,value:n},t){if(r&&MR.test.test(r)){let e=r[0]==="t"||r[0]==="T";if(n===e)return r}return n?t.options.trueStr:t.options.falseStr}};Yj.boolTag=MR});var $e=W((Cj)=>{function Kj({format:r,minFractionDigits:n,tag:t,value:e}){if(typeof e==="bigint")return String(e);let i=typeof e==="number"?e:Number(e);if(!isFinite(i))return isNaN(i)?".nan":i<0?"-.inf":".inf";let _=Object.is(e,-0)?"-0":JSON.stringify(e);if(!r&&n&&(!t||t==="tag:yaml.org,2002:float")&&/^\d/.test(_)){let c=_.indexOf(".");if(c<0)c=_.length,_+=".";let o=n-(_.length-c-1);while(o-- >0)_+="0"}return _}Cj.stringifyNumber=Kj});var $6=W((nW)=>{var xj=mr(),u6=$e(),pj={identify:(r)=>typeof r==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:(r)=>r.slice(-3).toLowerCase()==="nan"?NaN:r[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:u6.stringifyNumber},sj={identify:(r)=>typeof r==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:(r)=>parseFloat(r),stringify(r){let n=Number(r.value);return isFinite(n)?n.toExponential():u6.stringifyNumber(r)}},rW={identify:(r)=>typeof r==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(r){let n=new xj.Scalar(parseFloat(r)),t=r.indexOf(".");if(t!==-1&&r[r.length-1]==="0")n.minFractionDigits=r.length-t-1;return n},stringify:u6.stringifyNumber};nW.float=rW;nW.floatExp=sj;nW.floatNaN=pj});var d6=W((uW)=>{var VR=$e(),n$=(r)=>typeof r==="bigint"||Number.isInteger(r),g6=(r,n,t,{intAsBigInt:e})=>e?BigInt(r):parseInt(r.substring(n),t);function FR(r,n,t){let{value:e}=r;if(n$(e)&&e>=0)return t+e.toString(n);return VR.stringifyNumber(r)}var _W={identify:(r)=>n$(r)&&r>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(r,n,t)=>g6(r,2,8,t),stringify:(r)=>FR(r,8,"0o")},cW={identify:n$,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(r,n,t)=>g6(r,0,10,t),stringify:VR.stringifyNumber},oW={identify:(r)=>n$(r)&&r>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(r,n,t)=>g6(r,2,16,t),stringify:(r)=>FR(r,16,"0x")};uW.int=cW;uW.intHex=oW;uW.intOct=_W});var GR=W((hW)=>{var fW=oe(),bW=r$(),wW=ue(),mW=Q_(),IW=o6(),f6=$6(),b6=d6(),yW=[fW.map,wW.seq,mW.string,bW.nullTag,IW.boolTag,b6.intOct,b6.int,b6.intHex,f6.floatNaN,f6.floatExp,f6.float];hW.schema=yW});var BR=W((EW)=>{var OW=mr(),RW=oe(),DW=ue();function XR(r){return typeof r==="bigint"||Number.isInteger(r)}var t$=({value:r})=>JSON.stringify(r),SW=[{identify:(r)=>typeof r==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(r)=>r,stringify:t$},{identify:(r)=>r==null,createNode:()=>new OW.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:t$},{identify:(r)=>typeof r==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:(r)=>r==="true",stringify:t$},{identify:XR,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(r,n,{intAsBigInt:t})=>t?BigInt(r):parseInt(r,10),stringify:({value:r})=>XR(r)?r.toString():JSON.stringify(r)},{identify:(r)=>typeof r==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:(r)=>parseFloat(r),stringify:t$}],aW={default:!0,tag:"",test:/^/,resolve(r,n){return n(`Unresolved plain scalar ${JSON.stringify(r)}`),r}},TW=[RW.map,DW.seq].concat(SW,aW);EW.schema=TW});var m6=W((LW)=>{var K_=Mc("buffer"),w6=mr(),qW=G_(),NW={identify:(r)=>r instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(r,n){if(typeof K_.Buffer==="function")return K_.Buffer.from(r,"base64");else if(typeof atob==="function"){let t=atob(r.replace(/[\n\r]/g,"")),e=new Uint8Array(t.length);for(let i=0;i<t.length;++i)e[i]=t.charCodeAt(i);return e}else return n("This environment does not support reading binary tags; either Buffer or atob is required"),r},stringify({comment:r,type:n,value:t},e,i,_){if(!t)return"";let c=t,o;if(typeof K_.Buffer==="function")o=c instanceof K_.Buffer?c.toString("base64"):K_.Buffer.from(c.buffer).toString("base64");else if(typeof btoa==="function"){let u="";for(let $=0;$<c.length;++$)u+=String.fromCharCode(c[$]);o=btoa(u)}else throw Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(n??(n=w6.Scalar.BLOCK_LITERAL),n!==w6.Scalar.QUOTE_DOUBLE){let u=Math.max(e.options.lineWidth-e.indent.length,e.options.minContentWidth),$=Math.ceil(o.length/u),g=Array($);for(let d=0,f=0;d<$;++d,f+=u)g[d]=o.substr(f,u);o=g.join(n===w6.Scalar.BLOCK_LITERAL?`
|
|
93
|
+
`:" ")}return qW.stringifyString({comment:r,type:n,value:o},e,i,_)}};LW.binary=NW});var e$=W((PW)=>{var i$=Z(),I6=St(),jW=mr(),WW=Et();function HR(r,n){if(i$.isSeq(r))for(let t=0;t<r.items.length;++t){let e=r.items[t];if(i$.isPair(e))continue;else if(i$.isMap(e)){if(e.items.length>1)n("Each pair must have its own sequence indicator");let i=e.items[0]||new I6.Pair(new jW.Scalar(null));if(e.commentBefore)i.key.commentBefore=i.key.commentBefore?`${e.commentBefore}
|
|
94
|
+
${i.key.commentBefore}`:e.commentBefore;if(e.comment){let _=i.value??i.key;_.comment=_.comment?`${e.comment}
|
|
95
|
+
${_.comment}`:e.comment}e=i}r.items[t]=i$.isPair(e)?e:new I6.Pair(e)}else n("Expected a sequence for this tag");return r}function YR(r,n,t){let{replacer:e}=t,i=new WW.YAMLSeq(r);i.tag="tag:yaml.org,2002:pairs";let _=0;if(n&&Symbol.iterator in Object(n))for(let c of n){if(typeof e==="function")c=e.call(n,String(_++),c);let o,u;if(Array.isArray(c))if(c.length===2)o=c[0],u=c[1];else throw TypeError(`Expected [key, value] tuple: ${c}`);else if(c&&c instanceof Object){let $=Object.keys(c);if($.length===1)o=$[0],u=c[o];else throw TypeError(`Expected tuple with one key, not ${$.length} keys`)}else o=c;i.items.push(I6.createPair(o,u,t))}return i}var AW={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:HR,createNode:YR};PW.createPairs=YR;PW.pairs=AW;PW.resolvePairs=HR});var h6=W((FW)=>{var QR=Z(),y6=Ot(),C_=Tt(),MW=Et(),KR=e$();class ni extends MW.YAMLSeq{constructor(){super();this.add=C_.YAMLMap.prototype.add.bind(this),this.delete=C_.YAMLMap.prototype.delete.bind(this),this.get=C_.YAMLMap.prototype.get.bind(this),this.has=C_.YAMLMap.prototype.has.bind(this),this.set=C_.YAMLMap.prototype.set.bind(this),this.tag=ni.tag}toJSON(r,n){if(!n)return super.toJSON(r);let t=new Map;if(n?.onCreate)n.onCreate(t);for(let e of this.items){let i,_;if(QR.isPair(e))i=y6.toJS(e.key,"",n),_=y6.toJS(e.value,i,n);else i=y6.toJS(e,"",n);if(t.has(i))throw Error("Ordered maps must not include duplicate keys");t.set(i,_)}return t}static from(r,n,t){let e=KR.createPairs(r,n,t),i=new this;return i.items=e.items,i}}ni.tag="tag:yaml.org,2002:omap";var VW={collection:"seq",identify:(r)=>r instanceof Map,nodeClass:ni,default:!1,tag:"tag:yaml.org,2002:omap",resolve(r,n){let t=KR.resolvePairs(r,n),e=[];for(let{key:i}of t.items)if(QR.isScalar(i))if(e.includes(i.value))n(`Ordered maps must not include duplicate keys: ${i.value}`);else e.push(i.value);return Object.assign(new ni,t)},createNode:(r,n,t)=>ni.from(r,n,t)};FW.YAMLOMap=ni;FW.omap=VW});var sR=W((BW)=>{var CR=mr();function ZR({value:r,source:n},t){if(n&&(r?xR:pR).test.test(n))return n;return r?t.options.trueStr:t.options.falseStr}var xR={identify:(r)=>r===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new CR.Scalar(!0),stringify:ZR},pR={identify:(r)=>r===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new CR.Scalar(!1),stringify:ZR};BW.falseTag=pR;BW.trueTag=xR});var r0=W((xW)=>{var QW=mr(),U6=$e(),KW={identify:(r)=>typeof r==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:(r)=>r.slice(-3).toLowerCase()==="nan"?NaN:r[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:U6.stringifyNumber},CW={identify:(r)=>typeof r==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:(r)=>parseFloat(r.replace(/_/g,"")),stringify(r){let n=Number(r.value);return isFinite(n)?n.toExponential():U6.stringifyNumber(r)}},ZW={identify:(r)=>typeof r==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(r){let n=new QW.Scalar(parseFloat(r.replace(/_/g,""))),t=r.indexOf(".");if(t!==-1){let e=r.substring(t+1).replace(/_/g,"");if(e[e.length-1]==="0")n.minFractionDigits=e.length}return n},stringify:U6.stringifyNumber};xW.float=ZW;xW.floatExp=CW;xW.floatNaN=KW});var t0=W((_A)=>{var n0=$e(),Z_=(r)=>typeof r==="bigint"||Number.isInteger(r);function _$(r,n,t,{intAsBigInt:e}){let i=r[0];if(i==="-"||i==="+")n+=1;if(r=r.substring(n).replace(/_/g,""),e){switch(t){case 2:r=`0b${r}`;break;case 8:r=`0o${r}`;break;case 16:r=`0x${r}`;break}let c=BigInt(r);return i==="-"?BigInt(-1)*c:c}let _=parseInt(r,t);return i==="-"?-1*_:_}function O6(r,n,t){let{value:e}=r;if(Z_(e)){let i=e.toString(n);return e<0?"-"+t+i.substr(1):t+i}return n0.stringifyNumber(r)}var nA={identify:Z_,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(r,n,t)=>_$(r,2,2,t),stringify:(r)=>O6(r,2,"0b")},tA={identify:Z_,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(r,n,t)=>_$(r,1,8,t),stringify:(r)=>O6(r,8,"0")},iA={identify:Z_,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(r,n,t)=>_$(r,0,10,t),stringify:n0.stringifyNumber},eA={identify:Z_,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(r,n,t)=>_$(r,2,16,t),stringify:(r)=>O6(r,16,"0x")};_A.int=iA;_A.intBin=nA;_A.intHex=eA;_A.intOct=tA});var R6=W((dA)=>{var u$=Z(),c$=St(),o$=Tt();class ti extends o$.YAMLMap{constructor(r){super(r);this.tag=ti.tag}add(r){let n;if(u$.isPair(r))n=r;else if(r&&typeof r==="object"&&"key"in r&&"value"in r&&r.value===null)n=new c$.Pair(r.key,null);else n=new c$.Pair(r,null);if(!o$.findPair(this.items,n.key))this.items.push(n)}get(r,n){let t=o$.findPair(this.items,r);return!n&&u$.isPair(t)?u$.isScalar(t.key)?t.key.value:t.key:t}set(r,n){if(typeof n!=="boolean")throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof n}`);let t=o$.findPair(this.items,r);if(t&&!n)this.items.splice(this.items.indexOf(t),1);else if(!t&&n)this.items.push(new c$.Pair(r))}toJSON(r,n){return super.toJSON(r,n,Set)}toString(r,n,t){if(!r)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},r,{allNullValues:!0}),n,t);else throw Error("Set items must all have null values")}static from(r,n,t){let{replacer:e}=t,i=new this(r);if(n&&Symbol.iterator in Object(n))for(let _ of n){if(typeof e==="function")_=e.call(n,_,_);i.items.push(c$.createPair(_,null,t))}return i}}ti.tag="tag:yaml.org,2002:set";var gA={collection:"map",identify:(r)=>r instanceof Set,nodeClass:ti,default:!1,tag:"tag:yaml.org,2002:set",createNode:(r,n,t)=>ti.from(r,n,t),resolve(r,n){if(u$.isMap(r))if(r.hasAllNullValues(!0))return Object.assign(new ti,r);else n("Set items must all have null values");else n("Expected a mapping for this tag");return r}};dA.YAMLSet=ti;dA.set=gA});var S6=W((yA)=>{var wA=$e();function D6(r,n){let t=r[0],e=t==="-"||t==="+"?r.substring(1):r,i=(c)=>n?BigInt(c):Number(c),_=e.replace(/_/g,"").split(":").reduce((c,o)=>c*i(60)+i(o),i(0));return t==="-"?i(-1)*_:_}function i0(r){let{value:n}=r,t=(c)=>c;if(typeof n==="bigint")t=(c)=>BigInt(c);else if(isNaN(n)||!isFinite(n))return wA.stringifyNumber(r);let e="";if(n<0)e="-",n*=t(-1);let i=t(60),_=[n%i];if(n<60)_.unshift(0);else if(n=(n-_[0])/i,_.unshift(n%i),n>=60)n=(n-_[0])/i,_.unshift(n);return e+_.map((c)=>String(c).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var mA={identify:(r)=>typeof r==="bigint"||Number.isInteger(r),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(r,n,{intAsBigInt:t})=>D6(r,t),stringify:i0},IA={identify:(r)=>typeof r==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:(r)=>D6(r,!1),stringify:i0},e0={identify:(r)=>r 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(r){let n=r.match(e0.test);if(!n)throw Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,t,e,i,_,c,o]=n.map(Number),u=n[7]?Number((n[7]+"00").substr(1,3)):0,$=Date.UTC(t,e-1,i,_||0,c||0,o||0,u),g=n[8];if(g&&g!=="Z"){let d=D6(g,!1);if(Math.abs(d)<30)d*=60;$-=60000*d}return new Date($)},stringify:({value:r})=>r?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};yA.floatTime=IA;yA.intTime=mA;yA.timestamp=e0});var c0=W((zA)=>{var RA=oe(),DA=r$(),SA=ue(),aA=Q_(),TA=m6(),_0=sR(),a6=r0(),$$=t0(),EA=Yu(),lA=h6(),qA=e$(),NA=R6(),T6=S6(),LA=[RA.map,SA.seq,aA.string,DA.nullTag,_0.trueTag,_0.falseTag,$$.intBin,$$.intOct,$$.int,$$.intHex,a6.floatNaN,a6.floatExp,a6.float,TA.binary,EA.merge,lA.omap,qA.pairs,NA.set,T6.intTime,T6.floatTime,T6.timestamp];zA.schema=LA});var I0=W((VA)=>{var g0=oe(),WA=r$(),d0=ue(),AA=Q_(),PA=o6(),E6=$6(),l6=d6(),JA=GR(),kA=BR(),f0=m6(),x_=Yu(),b0=h6(),w0=e$(),o0=c0(),m0=R6(),g$=S6(),u0=new Map([["core",JA.schema],["failsafe",[g0.map,d0.seq,AA.string]],["json",kA.schema],["yaml11",o0.schema],["yaml-1.1",o0.schema]]),$0={binary:f0.binary,bool:PA.boolTag,float:E6.float,floatExp:E6.floatExp,floatNaN:E6.floatNaN,floatTime:g$.floatTime,int:l6.int,intHex:l6.intHex,intOct:l6.intOct,intTime:g$.intTime,map:g0.map,merge:x_.merge,null:WA.nullTag,omap:b0.omap,pairs:w0.pairs,seq:d0.seq,set:m0.set,timestamp:g$.timestamp},vA={"tag:yaml.org,2002:binary":f0.binary,"tag:yaml.org,2002:merge":x_.merge,"tag:yaml.org,2002:omap":b0.omap,"tag:yaml.org,2002:pairs":w0.pairs,"tag:yaml.org,2002:set":m0.set,"tag:yaml.org,2002:timestamp":g$.timestamp};function MA(r,n,t){let e=u0.get(n);if(e&&!r)return t&&!e.includes(x_.merge)?e.concat(x_.merge):e.slice();let i=e;if(!i)if(Array.isArray(r))i=[];else{let _=Array.from(u0.keys()).filter((c)=>c!=="yaml11").map((c)=>JSON.stringify(c)).join(", ");throw Error(`Unknown schema "${n}"; use one of ${_} or define customTags array`)}if(Array.isArray(r))for(let _ of r)i=i.concat(_);else if(typeof r==="function")i=r(i.slice());if(t)i=i.concat(x_.merge);return i.reduce((_,c)=>{let o=typeof c==="string"?$0[c]:c;if(!o){let u=JSON.stringify(c),$=Object.keys($0).map((g)=>JSON.stringify(g)).join(", ");throw Error(`Unknown custom tag ${u}; use one of ${$}`)}if(!_.includes(o))_.push(o);return _},[])}VA.coreKnownTags=vA;VA.getTags=MA});var L6=W((QA)=>{var q6=Z(),XA=oe(),BA=ue(),HA=Q_(),d$=I0(),YA=(r,n)=>r.key<n.key?-1:r.key>n.key?1:0;class N6{constructor({compat:r,customTags:n,merge:t,resolveKnownTags:e,schema:i,sortMapEntries:_,toStringDefaults:c}){this.compat=Array.isArray(r)?d$.getTags(r,"compat"):r?d$.getTags(null,r):null,this.name=typeof i==="string"&&i||"core",this.knownTags=e?d$.coreKnownTags:{},this.tags=d$.getTags(n,this.name,t),this.toStringOptions=c??null,Object.defineProperty(this,q6.MAP,{value:XA.map}),Object.defineProperty(this,q6.SCALAR,{value:HA.string}),Object.defineProperty(this,q6.SEQ,{value:BA.seq}),this.sortMapEntries=typeof _==="function"?_:_===!0?YA:null}clone(){let r=Object.create(N6.prototype,Object.getOwnPropertyDescriptors(this));return r.tags=this.tags.slice(),r}}QA.Schema=N6});var y0=W((xA)=>{var CA=Z(),z6=X_(),p_=V_();function ZA(r,n){let t=[],e=n.directives===!0;if(n.directives!==!1&&r.directives){let u=r.directives.toString(r);if(u)t.push(u),e=!0;else if(r.directives.docStart)e=!0}if(e)t.push("---");let i=z6.createStringifyContext(r,n),{commentString:_}=i.options;if(r.commentBefore){if(t.length!==1)t.unshift("");let u=_(r.commentBefore);t.unshift(p_.indentComment(u,""))}let c=!1,o=null;if(r.contents){if(CA.isNode(r.contents)){if(r.contents.spaceBefore&&e)t.push("");if(r.contents.commentBefore){let g=_(r.contents.commentBefore);t.push(p_.indentComment(g,""))}i.forceBlockIndent=!!r.comment,o=r.contents.comment}let u=o?void 0:()=>c=!0,$=z6.stringify(r.contents,i,()=>o=null,u);if(o)$+=p_.lineComment($,"",_(o));if(($[0]==="|"||$[0]===">")&&t[t.length-1]==="---")t[t.length-1]=`--- ${$}`;else t.push($)}else t.push(z6.stringify(r.contents,i));if(r.directives?.docEnd)if(r.comment){let u=_(r.comment);if(u.includes(`
|
|
96
|
+
`))t.push("..."),t.push(p_.indentComment(u,""));else t.push(`... ${u}`)}else t.push("...");else{let u=r.comment;if(u&&c)u=u.replace(/^\n+/,"");if(u){if((!c||o)&&t[t.length-1]!=="")t.push("");t.push(p_.indentComment(_(u),""))}}return t.join(`
|
|
97
|
+
`)+`
|
|
98
|
+
`}xA.stringifyDocument=ZA});var s_=W((cP)=>{var sA=v_(),ge=Vu(),bn=Z(),rP=St(),nP=Ot(),tP=L6(),iP=y0(),j6=ku(),eP=xI(),_P=M_(),W6=ZI();class A6{constructor(r,n,t){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,bn.NODE_TYPE,{value:bn.DOC});let e=null;if(typeof n==="function"||Array.isArray(n))e=n;else if(t===void 0&&n)t=n,n=void 0;let i=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},t);this.options=i;let{version:_}=i;if(t?._directives){if(this.directives=t._directives.atDocument(),this.directives.yaml.explicit)_=this.directives.yaml.version}else this.directives=new W6.Directives({version:_});this.setSchema(_,t),this.contents=r===void 0?null:this.createNode(r,e,t)}clone(){let r=Object.create(A6.prototype,{[bn.NODE_TYPE]:{value:bn.DOC}});if(r.commentBefore=this.commentBefore,r.comment=this.comment,r.errors=this.errors.slice(),r.warnings=this.warnings.slice(),r.options=Object.assign({},this.options),this.directives)r.directives=this.directives.clone();if(r.schema=this.schema.clone(),r.contents=bn.isNode(this.contents)?this.contents.clone(r.schema):this.contents,this.range)r.range=this.range.slice();return r}add(r){if(de(this.contents))this.contents.add(r)}addIn(r,n){if(de(this.contents))this.contents.addIn(r,n)}createAlias(r,n){if(!r.anchor){let t=j6.anchorNames(this);r.anchor=!n||t.has(n)?j6.findNewAnchor(n||"a",t):n}return new sA.Alias(r.anchor)}createNode(r,n,t){let e=void 0;if(typeof n==="function")r=n.call({"":r},"",r),e=n;else if(Array.isArray(n)){let w=(R)=>typeof R==="number"||R instanceof String||R instanceof Number,h=n.filter(w).map(String);if(h.length>0)n=n.concat(h);e=n}else if(t===void 0&&n)t=n,n=void 0;let{aliasDuplicateObjects:i,anchorPrefix:_,flow:c,keepUndefined:o,onTagObj:u,tag:$}=t??{},{onAnchor:g,setAnchors:d,sourceObjects:f}=j6.createNodeAnchors(this,_||"a"),b={aliasDuplicateObjects:i??!0,keepUndefined:o??!1,onAnchor:g,onTagObj:u,replacer:e,schema:this.schema,sourceObjects:f},I=_P.createNode(r,$,b);if(c&&bn.isCollection(I))I.flow=!0;return d(),I}createPair(r,n,t={}){let e=this.createNode(r,null,t),i=this.createNode(n,null,t);return new rP.Pair(e,i)}delete(r){return de(this.contents)?this.contents.delete(r):!1}deleteIn(r){if(ge.isEmptyPath(r)){if(this.contents==null)return!1;return this.contents=null,!0}return de(this.contents)?this.contents.deleteIn(r):!1}get(r,n){return bn.isCollection(this.contents)?this.contents.get(r,n):void 0}getIn(r,n){if(ge.isEmptyPath(r))return!n&&bn.isScalar(this.contents)?this.contents.value:this.contents;return bn.isCollection(this.contents)?this.contents.getIn(r,n):void 0}has(r){return bn.isCollection(this.contents)?this.contents.has(r):!1}hasIn(r){if(ge.isEmptyPath(r))return this.contents!==void 0;return bn.isCollection(this.contents)?this.contents.hasIn(r):!1}set(r,n){if(this.contents==null)this.contents=ge.collectionFromPath(this.schema,[r],n);else if(de(this.contents))this.contents.set(r,n)}setIn(r,n){if(ge.isEmptyPath(r))this.contents=n;else if(this.contents==null)this.contents=ge.collectionFromPath(this.schema,Array.from(r),n);else if(de(this.contents))this.contents.setIn(r,n)}setSchema(r,n={}){if(typeof r==="number")r=String(r);let t;switch(r){case"1.1":if(this.directives)this.directives.yaml.version="1.1";else this.directives=new W6.Directives({version:"1.1"});t={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":if(this.directives)this.directives.yaml.version=r;else this.directives=new W6.Directives({version:r});t={resolveKnownTags:!0,schema:"core"};break;case null:if(this.directives)delete this.directives;t=null;break;default:{let e=JSON.stringify(r);throw Error(`Expected '1.1', '1.2' or null as first argument, but found: ${e}`)}}if(n.schema instanceof Object)this.schema=n.schema;else if(t)this.schema=new tP.Schema(Object.assign(t,n));else throw Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:r,jsonArg:n,mapAsMap:t,maxAliasCount:e,onAnchor:i,reviver:_}={}){let c={anchors:new Map,doc:this,keep:!r,mapAsMap:t===!0,mapKeyWarned:!1,maxAliasCount:typeof e==="number"?e:100},o=nP.toJS(this.contents,n??"",c);if(typeof i==="function")for(let{count:u,res:$}of c.anchors.values())i($,u);return typeof _==="function"?eP.applyReviver(_,{"":o},"",o):o}toJSON(r,n){return this.toJS({json:!0,jsonArg:r,mapAsMap:!1,onAnchor:n})}toString(r={}){if(this.errors.length>0)throw Error("Document with errors cannot be stringified");if("indent"in r&&(!Number.isInteger(r.indent)||Number(r.indent)<=0)){let n=JSON.stringify(r.indent);throw Error(`"indent" option must be a positive integer, not ${n}`)}return iP.stringifyDocument(this,r)}}function de(r){if(bn.isCollection(r))return!0;throw Error("Expected a YAML collection as document contents")}cP.Document=A6});var rc=W(($P)=>{class f$ extends Error{constructor(r,n,t,e){super();this.name=r,this.code=t,this.message=e,this.pos=n}}class h0 extends f${constructor(r,n,t){super("YAMLParseError",r,n,t)}}class U0 extends f${constructor(r,n,t){super("YAMLWarning",r,n,t)}}var uP=(r,n)=>(t)=>{if(t.pos[0]===-1)return;t.linePos=t.pos.map((o)=>n.linePos(o));let{line:e,col:i}=t.linePos[0];t.message+=` at line ${e}, column ${i}`;let _=i-1,c=r.substring(n.lineStarts[e-1],n.lineStarts[e]).replace(/[\n\r]+$/,"");if(_>=60&&c.length>80){let o=Math.min(_-39,c.length-79);c="\u2026"+c.substring(o),_-=o-1}if(c.length>80)c=c.substring(0,79)+"\u2026";if(e>1&&/^ *$/.test(c.substring(0,_))){let o=r.substring(n.lineStarts[e-2],n.lineStarts[e-1]);if(o.length>80)o=o.substring(0,79)+`\u2026
|
|
99
|
+
`;c=o+c}if(/[^ ]/.test(c)){let o=1,u=t.linePos[1];if(u?.line===e&&u.col>i)o=Math.max(1,Math.min(u.col-i,80-_));let $=" ".repeat(_)+"^".repeat(o);t.message+=`:
|
|
100
|
+
|
|
101
|
+
${c}
|
|
102
|
+
${$}
|
|
103
|
+
`}};$P.YAMLError=f$;$P.YAMLParseError=h0;$P.YAMLWarning=U0;$P.prettifyError=uP});var nc=W((mP)=>{function wP(r,{flow:n,indicator:t,next:e,offset:i,onError:_,parentIndent:c,startOnNewline:o}){let u=!1,$=o,g=o,d="",f="",b=!1,I=!1,w=null,h=null,R=null,S=null,D=null,L=null,N=null;for(let A of r){if(I){if(A.type!=="space"&&A.type!=="newline"&&A.type!=="comma")_(A.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");I=!1}if(w){if($&&A.type!=="comment"&&A.type!=="newline")_(w,"TAB_AS_INDENT","Tabs are not allowed as indentation");w=null}switch(A.type){case"space":if(!n&&(t!=="doc-start"||e?.type!=="flow-collection")&&A.source.includes("\t"))w=A;g=!0;break;case"comment":{if(!g)_(A,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let B=A.source.substring(1)||" ";if(!d)d=B;else d+=f+B;f="",$=!1;break}case"newline":if($){if(d)d+=A.source;else if(!L||t!=="seq-item-ind")u=!0}else f+=A.source;if($=!0,b=!0,h||R)S=A;g=!0;break;case"anchor":if(h)_(A,"MULTIPLE_ANCHORS","A node can have at most one anchor");if(A.source.endsWith(":"))_(A.offset+A.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0);h=A,N??(N=A.offset),$=!1,g=!1,I=!0;break;case"tag":{if(R)_(A,"MULTIPLE_TAGS","A node can have at most one tag");R=A,N??(N=A.offset),$=!1,g=!1,I=!0;break}case t:if(h||R)_(A,"BAD_PROP_ORDER",`Anchors and tags must be after the ${A.source} indicator`);if(L)_(A,"UNEXPECTED_TOKEN",`Unexpected ${A.source} in ${n??"collection"}`);L=A,$=t==="seq-item-ind"||t==="explicit-key-ind",g=!1;break;case"comma":if(n){if(D)_(A,"UNEXPECTED_TOKEN",`Unexpected , in ${n}`);D=A,$=!1,g=!1;break}default:_(A,"UNEXPECTED_TOKEN",`Unexpected ${A.type} token`),$=!1,g=!1}}let M=r[r.length-1],K=M?M.offset+M.source.length:i;if(I&&e&&e.type!=="space"&&e.type!=="newline"&&e.type!=="comma"&&(e.type!=="scalar"||e.source!==""))_(e.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");if(w&&($&&w.indent<=c||e?.type==="block-map"||e?.type==="block-seq"))_(w,"TAB_AS_INDENT","Tabs are not allowed as indentation");return{comma:D,found:L,spaceBefore:u,comment:d,hasNewline:b,anchor:h,tag:R,newlineAfterProp:S,end:K,start:N??K}}mP.resolveProps=wP});var b$=W((yP)=>{function P6(r){if(!r)return null;switch(r.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(r.source.includes(`
|
|
104
|
+
`))return!0;if(r.end){for(let n of r.end)if(n.type==="newline")return!0}return!1;case"flow-collection":for(let n of r.items){for(let t of n.start)if(t.type==="newline")return!0;if(n.sep){for(let t of n.sep)if(t.type==="newline")return!0}if(P6(n.key)||P6(n.value))return!0}return!1;default:return!0}}yP.containsNewline=P6});var J6=W((RP)=>{var UP=b$();function OP(r,n,t){if(n?.type==="flow-collection"){let e=n.end[0];if(e.indent===r&&(e.source==="]"||e.source==="}")&&UP.containsNewline(n))t(e,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}RP.flowIndentCheck=OP});var k6=W((aP)=>{var O0=Z();function SP(r,n,t){let{uniqueKeys:e}=r.options;if(e===!1)return!1;let i=typeof e==="function"?e:(_,c)=>_===c||O0.isScalar(_)&&O0.isScalar(c)&&_.value===c.value;return n.some((_)=>i(_.key,t))}aP.mapIncludes=SP});var T0=W((LP)=>{var R0=St(),EP=Tt(),D0=nc(),lP=b$(),S0=J6(),qP=k6(),a0="All mapping items must start at the same column";function NP({composeNode:r,composeEmptyNode:n},t,e,i,_){let o=new(_?.nodeClass??EP.YAMLMap)(t.schema);if(t.atRoot)t.atRoot=!1;let u=e.offset,$=null;for(let g of e.items){let{start:d,key:f,sep:b,value:I}=g,w=D0.resolveProps(d,{indicator:"explicit-key-ind",next:f??b?.[0],offset:u,onError:i,parentIndent:e.indent,startOnNewline:!0}),h=!w.found;if(h){if(f){if(f.type==="block-seq")i(u,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key");else if("indent"in f&&f.indent!==e.indent)i(u,"BAD_INDENT",a0)}if(!w.anchor&&!w.tag&&!b){if($=w.end,w.comment)if(o.comment)o.comment+=`
|
|
105
|
+
`+w.comment;else o.comment=w.comment;continue}if(w.newlineAfterProp||lP.containsNewline(f))i(f??d[d.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else if(w.found?.indent!==e.indent)i(u,"BAD_INDENT",a0);t.atKey=!0;let R=w.end,S=f?r(t,f,w,i):n(t,R,d,null,w,i);if(t.schema.compat)S0.flowIndentCheck(e.indent,f,i);if(t.atKey=!1,qP.mapIncludes(t,o.items,S))i(R,"DUPLICATE_KEY","Map keys must be unique");let D=D0.resolveProps(b??[],{indicator:"map-value-ind",next:I,offset:S.range[2],onError:i,parentIndent:e.indent,startOnNewline:!f||f.type==="block-scalar"});if(u=D.end,D.found){if(h){if(I?.type==="block-map"&&!D.hasNewline)i(u,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings");if(t.options.strict&&w.start<D.found.offset-1024)i(S.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key")}let L=I?r(t,I,D,i):n(t,u,b,null,D,i);if(t.schema.compat)S0.flowIndentCheck(e.indent,I,i);u=L.range[2];let N=new R0.Pair(S,L);if(t.options.keepSourceTokens)N.srcToken=g;o.items.push(N)}else{if(h)i(S.range,"MISSING_CHAR","Implicit map keys need to be followed by map values");if(D.comment)if(S.comment)S.comment+=`
|
|
106
|
+
`+D.comment;else S.comment=D.comment;let L=new R0.Pair(S);if(t.options.keepSourceTokens)L.srcToken=g;o.items.push(L)}}if($&&$<u)i($,"IMPOSSIBLE","Map comment with trailing content");return o.range=[e.offset,u,$??u],o}LP.resolveBlockMap=NP});var E0=W((JP)=>{var jP=Et(),WP=nc(),AP=J6();function PP({composeNode:r,composeEmptyNode:n},t,e,i,_){let o=new(_?.nodeClass??jP.YAMLSeq)(t.schema);if(t.atRoot)t.atRoot=!1;if(t.atKey)t.atKey=!1;let u=e.offset,$=null;for(let{start:g,value:d}of e.items){let f=WP.resolveProps(g,{indicator:"seq-item-ind",next:d,offset:u,onError:i,parentIndent:e.indent,startOnNewline:!0});if(!f.found)if(f.anchor||f.tag||d)if(d?.type==="block-seq")i(f.end,"BAD_INDENT","All sequence items must start at the same column");else i(u,"MISSING_CHAR","Sequence item without - indicator");else{if($=f.end,f.comment)o.comment=f.comment;continue}let b=d?r(t,d,f,i):n(t,f.end,g,null,f,i);if(t.schema.compat)AP.flowIndentCheck(e.indent,d,i);u=b.range[2],o.items.push(b)}return o.range=[e.offset,u,$??u],o}JP.resolveBlockSeq=PP});var fe=W((MP)=>{function vP(r,n,t,e){let i="";if(r){let _=!1,c="";for(let o of r){let{source:u,type:$}=o;switch($){case"space":_=!0;break;case"comment":{if(t&&!_)e(o,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let g=u.substring(1)||" ";if(!i)i=g;else i+=c+g;c="";break}case"newline":if(i)c+=u;_=!0;break;default:e(o,"UNEXPECTED_TOKEN",`Unexpected ${$} at node end`)}n+=u.length}}return{comment:i,offset:n}}MP.resolveEnd=vP});var N0=W((KP)=>{var FP=Z(),GP=St(),l0=Tt(),XP=Et(),BP=fe(),q0=nc(),HP=b$(),YP=k6(),v6="Block collections are not allowed within flow collections",M6=(r)=>r&&(r.type==="block-map"||r.type==="block-seq");function QP({composeNode:r,composeEmptyNode:n},t,e,i,_){let c=e.start.source==="{",o=c?"flow map":"flow sequence",$=new(_?.nodeClass??(c?l0.YAMLMap:XP.YAMLSeq))(t.schema);$.flow=!0;let g=t.atRoot;if(g)t.atRoot=!1;if(t.atKey)t.atKey=!1;let d=e.offset+e.start.source.length;for(let h=0;h<e.items.length;++h){let R=e.items[h],{start:S,key:D,sep:L,value:N}=R,M=q0.resolveProps(S,{flow:o,indicator:"explicit-key-ind",next:D??L?.[0],offset:d,onError:i,parentIndent:e.indent,startOnNewline:!1});if(!M.found){if(!M.anchor&&!M.tag&&!L&&!N){if(h===0&&M.comma)i(M.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${o}`);else if(h<e.items.length-1)i(M.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${o}`);if(M.comment)if($.comment)$.comment+=`
|
|
107
|
+
`+M.comment;else $.comment=M.comment;d=M.end;continue}if(!c&&t.options.strict&&HP.containsNewline(D))i(D,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(h===0){if(M.comma)i(M.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${o}`)}else{if(!M.comma)i(M.start,"MISSING_CHAR",`Missing , between ${o} items`);if(M.comment){let K="";r:for(let A of S)switch(A.type){case"comma":case"space":break;case"comment":K=A.source.substring(1);break r;default:break r}if(K){let A=$.items[$.items.length-1];if(FP.isPair(A))A=A.value??A.key;if(A.comment)A.comment+=`
|
|
108
|
+
`+K;else A.comment=K;M.comment=M.comment.substring(K.length+1)}}}if(!c&&!L&&!M.found){let K=N?r(t,N,M,i):n(t,M.end,L,null,M,i);if($.items.push(K),d=K.range[2],M6(N))i(K.range,"BLOCK_IN_FLOW",v6)}else{t.atKey=!0;let K=M.end,A=D?r(t,D,M,i):n(t,K,S,null,M,i);if(M6(D))i(A.range,"BLOCK_IN_FLOW",v6);t.atKey=!1;let B=q0.resolveProps(L??[],{flow:o,indicator:"map-value-ind",next:N,offset:A.range[2],onError:i,parentIndent:e.indent,startOnNewline:!1});if(B.found){if(!c&&!M.found&&t.options.strict){if(L)for(let ur of L){if(ur===B.found)break;if(ur.type==="newline"){i(ur,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}if(M.start<B.found.offset-1024)i(B.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else if(N)if("source"in N&&N.source?.[0]===":")i(N,"MISSING_CHAR",`Missing space after : in ${o}`);else i(B.start,"MISSING_CHAR",`Missing , or : between ${o} items`);let v=N?r(t,N,B,i):B.found?n(t,B.end,L,null,B,i):null;if(v){if(M6(N))i(v.range,"BLOCK_IN_FLOW",v6)}else if(B.comment)if(A.comment)A.comment+=`
|
|
109
|
+
`+B.comment;else A.comment=B.comment;let Tr=new GP.Pair(A,v);if(t.options.keepSourceTokens)Tr.srcToken=R;if(c){let ur=$;if(YP.mapIncludes(t,ur.items,A))i(K,"DUPLICATE_KEY","Map keys must be unique");ur.items.push(Tr)}else{let ur=new l0.YAMLMap(t.schema);ur.flow=!0,ur.items.push(Tr);let Qe=(v??A).range;ur.range=[A.range[0],Qe[1],Qe[2]],$.items.push(ur)}d=v?v.range[2]:B.end}}let f=c?"}":"]",[b,...I]=e.end,w=d;if(b?.source===f)w=b.offset+b.source.length;else{let h=o[0].toUpperCase()+o.substring(1),R=g?`${h} must end with a ${f}`:`${h} in block collection must be sufficiently indented and end with a ${f}`;if(i(d,g?"MISSING_CHAR":"BAD_INDENT",R),b&&b.source.length!==1)I.unshift(b)}if(I.length>0){let h=BP.resolveEnd(I,w,t.options.strict,i);if(h.comment)if($.comment)$.comment+=`
|
|
110
|
+
`+h.comment;else $.comment=h.comment;$.range=[e.offset,w,h.offset]}else $.range=[e.offset,w,w];return $}KP.resolveFlowCollection=QP});var L0=W((eJ)=>{var ZP=Z(),xP=mr(),pP=Tt(),sP=Et(),rJ=T0(),nJ=E0(),tJ=N0();function V6(r,n,t,e,i,_){let c=t.type==="block-map"?rJ.resolveBlockMap(r,n,t,e,_):t.type==="block-seq"?nJ.resolveBlockSeq(r,n,t,e,_):tJ.resolveFlowCollection(r,n,t,e,_),o=c.constructor;if(i==="!"||i===o.tagName)return c.tag=o.tagName,c;if(i)c.tag=i;return c}function iJ(r,n,t,e,i){let _=e.tag,c=!_?null:n.directives.tagName(_.source,(f)=>i(_,"TAG_RESOLVE_FAILED",f));if(t.type==="block-seq"){let{anchor:f,newlineAfterProp:b}=e,I=f&&_?f.offset>_.offset?f:_:f??_;if(I&&(!b||b.offset<I.offset))i(I,"MISSING_CHAR","Missing newline after block sequence props")}let o=t.type==="block-map"?"map":t.type==="block-seq"?"seq":t.start.source==="{"?"map":"seq";if(!_||!c||c==="!"||c===pP.YAMLMap.tagName&&o==="map"||c===sP.YAMLSeq.tagName&&o==="seq")return V6(r,n,t,i,c);let u=n.schema.tags.find((f)=>f.tag===c&&f.collection===o);if(!u){let f=n.schema.knownTags[c];if(f?.collection===o)n.schema.tags.push(Object.assign({},f,{default:!1})),u=f;else{if(f)i(_,"BAD_COLLECTION_TYPE",`${f.tag} used for ${o} collection, but expects ${f.collection??"scalar"}`,!0);else i(_,"TAG_RESOLVE_FAILED",`Unresolved tag: ${c}`,!0);return V6(r,n,t,i,c)}}let $=V6(r,n,t,i,c,u),g=u.resolve?.($,(f)=>i(_,"TAG_RESOLVE_FAILED",f),n.options)??$,d=ZP.isNode(g)?g:new xP.Scalar(g);if(d.range=$.range,d.tag=c,u?.format)d.format=u.format;return d}eJ.composeCollection=iJ});var G6=W(($J)=>{var F6=mr();function cJ(r,n,t){let e=n.offset,i=oJ(n,r.options.strict,t);if(!i)return{value:"",type:null,comment:"",range:[e,e,e]};let _=i.mode===">"?F6.Scalar.BLOCK_FOLDED:F6.Scalar.BLOCK_LITERAL,c=n.source?uJ(n.source):[],o=c.length;for(let w=c.length-1;w>=0;--w){let h=c[w][1];if(h===""||h==="\r")o=w;else break}if(o===0){let w=i.chomp==="+"&&c.length>0?`
|
|
111
|
+
`.repeat(Math.max(1,c.length-1)):"",h=e+i.length;if(n.source)h+=n.source.length;return{value:w,type:_,comment:i.comment,range:[e,h,h]}}let u=n.indent+i.indent,$=n.offset+i.length,g=0;for(let w=0;w<o;++w){let[h,R]=c[w];if(R===""||R==="\r"){if(i.indent===0&&h.length>u)u=h.length}else{if(h.length<u)t($+h.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator");if(i.indent===0)u=h.length;if(g=w,u===0&&!r.atRoot)t($,"BAD_INDENT","Block scalar values in collections must be indented");break}$+=h.length+R.length+1}for(let w=c.length-1;w>=o;--w)if(c[w][0].length>u)o=w+1;let d="",f="",b=!1;for(let w=0;w<g;++w)d+=c[w][0].slice(u)+`
|
|
112
|
+
`;for(let w=g;w<o;++w){let[h,R]=c[w];$+=h.length+R.length+1;let S=R[R.length-1]==="\r";if(S)R=R.slice(0,-1);if(R&&h.length<u){let L=`Block scalar lines must not be less indented than their ${i.indent?"explicit indentation indicator":"first line"}`;t($-R.length-(S?2:1),"BAD_INDENT",L),h=""}if(_===F6.Scalar.BLOCK_LITERAL)d+=f+h.slice(u)+R,f=`
|
|
113
|
+
`;else if(h.length>u||R[0]==="\t"){if(f===" ")f=`
|
|
114
|
+
`;else if(!b&&f===`
|
|
115
|
+
`)f=`
|
|
116
|
+
|
|
117
|
+
`;d+=f+h.slice(u)+R,f=`
|
|
118
|
+
`,b=!0}else if(R==="")if(f===`
|
|
119
|
+
`)d+=`
|
|
120
|
+
`;else f=`
|
|
121
|
+
`;else d+=f+R,f=" ",b=!1}switch(i.chomp){case"-":break;case"+":for(let w=o;w<c.length;++w)d+=`
|
|
122
|
+
`+c[w][0].slice(u);if(d[d.length-1]!==`
|
|
123
|
+
`)d+=`
|
|
124
|
+
`;break;default:d+=`
|
|
125
|
+
`}let I=e+i.length+n.source.length;return{value:d,type:_,comment:i.comment,range:[e,I,I]}}function oJ({offset:r,props:n},t,e){if(n[0].type!=="block-scalar-header")return e(n[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:i}=n[0],_=i[0],c=0,o="",u=-1;for(let f=1;f<i.length;++f){let b=i[f];if(!o&&(b==="-"||b==="+"))o=b;else{let I=Number(b);if(!c&&I)c=I;else if(u===-1)u=r+f}}if(u!==-1)e(u,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${i}`);let $=!1,g="",d=i.length;for(let f=1;f<n.length;++f){let b=n[f];switch(b.type){case"space":$=!0;case"newline":d+=b.source.length;break;case"comment":if(t&&!$)e(b,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");d+=b.source.length,g=b.source.substring(1);break;case"error":e(b,"UNEXPECTED_TOKEN",b.message),d+=b.source.length;break;default:{let I=`Unexpected token in block scalar header: ${b.type}`;e(b,"UNEXPECTED_TOKEN",I);let w=b.source;if(w&&typeof w==="string")d+=w.length}}}return{mode:_,indent:c,chomp:o,comment:g,length:d}}function uJ(r){let n=r.split(/\n( *)/),t=n[0],e=t.match(/^( *)/),_=[e?.[1]?[e[1],t.slice(e[1].length)]:["",t]];for(let c=1;c<n.length;c+=2)_.push([n[c],n[c+1]]);return _}$J.resolveBlockScalar=cJ});var B6=W((UJ)=>{var X6=mr(),dJ=fe();function fJ(r,n,t){let{offset:e,type:i,source:_,end:c}=r,o,u,$=(f,b,I)=>t(e+f,b,I);switch(i){case"scalar":o=X6.Scalar.PLAIN,u=bJ(_,$);break;case"single-quoted-scalar":o=X6.Scalar.QUOTE_SINGLE,u=wJ(_,$);break;case"double-quoted-scalar":o=X6.Scalar.QUOTE_DOUBLE,u=mJ(_,$);break;default:return t(r,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${i}`),{value:"",type:null,comment:"",range:[e,e+_.length,e+_.length]}}let g=e+_.length,d=dJ.resolveEnd(c,g,n,t);return{value:u,type:o,comment:d.comment,range:[e,g,d.offset]}}function bJ(r,n){let t="";switch(r[0]){case"\t":t="a tab character";break;case",":t="flow indicator character ,";break;case"%":t="directive indicator character %";break;case"|":case">":{t=`block scalar indicator ${r[0]}`;break}case"@":case"`":{t=`reserved character ${r[0]}`;break}}if(t)n(0,"BAD_SCALAR_START",`Plain value cannot start with ${t}`);return z0(r)}function wJ(r,n){if(r[r.length-1]!=="'"||r.length===1)n(r.length,"MISSING_CHAR","Missing closing 'quote");return z0(r.slice(1,-1)).replace(/''/g,"'")}function z0(r){let n,t;try{n=new RegExp(`(.*?)(?<![ ])[ ]*\r?
|
|
126
|
+
`,"sy"),t=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
|
|
127
|
+
`,"sy")}catch{n=/(.*?)[ \t]*\r?\n/sy,t=/[ \t]*(.*?)[ \t]*\r?\n/sy}let e=n.exec(r);if(!e)return r;let i=e[1],_=" ",c=n.lastIndex;t.lastIndex=c;while(e=t.exec(r)){if(e[1]==="")if(_===`
|
|
128
|
+
`)i+=_;else _=`
|
|
129
|
+
`;else i+=_+e[1],_=" ";c=t.lastIndex}let o=/[ \t]*(.*)/sy;return o.lastIndex=c,e=o.exec(r),i+_+(e?.[1]??"")}function mJ(r,n){let t="";for(let e=1;e<r.length-1;++e){let i=r[e];if(i==="\r"&&r[e+1]===`
|
|
130
|
+
`)continue;if(i===`
|
|
131
|
+
`){let{fold:_,offset:c}=IJ(r,e);t+=_,e=c}else if(i==="\\"){let _=r[++e],c=yJ[_];if(c)t+=c;else if(_===`
|
|
132
|
+
`){_=r[e+1];while(_===" "||_==="\t")_=r[++e+1]}else if(_==="\r"&&r[e+1]===`
|
|
133
|
+
`){_=r[++e+1];while(_===" "||_==="\t")_=r[++e+1]}else if(_==="x"||_==="u"||_==="U"){let o={x:2,u:4,U:8}[_];t+=hJ(r,e+1,o,n),e+=o}else{let o=r.substr(e-1,2);n(e-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${o}`),t+=o}}else if(i===" "||i==="\t"){let _=e,c=r[e+1];while(c===" "||c==="\t")c=r[++e+1];if(c!==`
|
|
134
|
+
`&&!(c==="\r"&&r[e+2]===`
|
|
135
|
+
`))t+=e>_?r.slice(_,e+1):i}else t+=i}if(r[r.length-1]!=='"'||r.length===1)n(r.length,"MISSING_CHAR",'Missing closing "quote');return t}function IJ(r,n){let t="",e=r[n+1];while(e===" "||e==="\t"||e===`
|
|
136
|
+
`||e==="\r"){if(e==="\r"&&r[n+2]!==`
|
|
137
|
+
`)break;if(e===`
|
|
138
|
+
`)t+=`
|
|
139
|
+
`;n+=1,e=r[n+1]}if(!t)t=" ";return{fold:t,offset:n}}var yJ={"0":"\x00",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
|
|
140
|
+
`,r:"\r",t:"\t",v:"\v",N:"\x85",_:"\xA0",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\","\t":"\t"};function hJ(r,n,t,e){let i=r.substr(n,t),c=i.length===t&&/^[0-9a-fA-F]+$/.test(i)?parseInt(i,16):NaN;if(isNaN(c)){let o=r.substr(n-2,t+2);return e(n-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${o}`),o}return String.fromCodePoint(c)}UJ.resolveFlowScalar=fJ});var W0=W((EJ)=>{var ii=Z(),j0=mr(),RJ=G6(),DJ=B6();function SJ(r,n,t,e){let{value:i,type:_,comment:c,range:o}=n.type==="block-scalar"?RJ.resolveBlockScalar(r,n,e):DJ.resolveFlowScalar(n,r.options.strict,e),u=t?r.directives.tagName(t.source,(d)=>e(t,"TAG_RESOLVE_FAILED",d)):null,$;if(r.options.stringKeys&&r.atKey)$=r.schema[ii.SCALAR];else if(u)$=aJ(r.schema,i,u,t,e);else if(n.type==="scalar")$=TJ(r,i,n,e);else $=r.schema[ii.SCALAR];let g;try{let d=$.resolve(i,(f)=>e(t??n,"TAG_RESOLVE_FAILED",f),r.options);g=ii.isScalar(d)?d:new j0.Scalar(d)}catch(d){let f=d instanceof Error?d.message:String(d);e(t??n,"TAG_RESOLVE_FAILED",f),g=new j0.Scalar(i)}if(g.range=o,g.source=i,_)g.type=_;if(u)g.tag=u;if($.format)g.format=$.format;if(c)g.comment=c;return g}function aJ(r,n,t,e,i){if(t==="!")return r[ii.SCALAR];let _=[];for(let o of r.tags)if(!o.collection&&o.tag===t)if(o.default&&o.test)_.push(o);else return o;for(let o of _)if(o.test?.test(n))return o;let c=r.knownTags[t];if(c&&!c.collection)return r.tags.push(Object.assign({},c,{default:!1,test:void 0})),c;return i(e,"TAG_RESOLVE_FAILED",`Unresolved tag: ${t}`,t!=="tag:yaml.org,2002:str"),r[ii.SCALAR]}function TJ({atKey:r,directives:n,schema:t},e,i,_){let c=t.tags.find((o)=>(o.default===!0||r&&o.default==="key")&&o.test?.test(e))||t[ii.SCALAR];if(t.compat){let o=t.compat.find((u)=>u.default&&u.test?.test(e))??t[ii.SCALAR];if(c.tag!==o.tag){let u=n.tagString(c.tag),$=n.tagString(o.tag),g=`Value may be parsed as either ${u} or ${$}`;_(i,"TAG_RESOLVE_FAILED",g,!0)}}return c}EJ.composeScalar=SJ});var A0=W((NJ)=>{function qJ(r,n,t){if(n){t??(t=n.length);for(let e=t-1;e>=0;--e){let i=n[e];switch(i.type){case"space":case"comment":case"newline":r-=i.source.length;continue}i=n[++e];while(i?.type==="space")r+=i.source.length,i=n[++e];break}}return r}NJ.emptyScalarPosition=qJ});var k0=W((vJ)=>{var zJ=v_(),jJ=Z(),WJ=L0(),P0=W0(),AJ=fe(),PJ=A0(),JJ={composeNode:J0,composeEmptyNode:H6};function J0(r,n,t,e){let i=r.atKey,{spaceBefore:_,comment:c,anchor:o,tag:u}=t,$,g=!0;switch(n.type){case"alias":if($=kJ(r,n,e),o||u)e(n,"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($=P0.composeScalar(r,n,u,e),o)$.anchor=o.source.substring(1);break;case"block-map":case"block-seq":case"flow-collection":try{if($=WJ.composeCollection(JJ,r,n,t,e),o)$.anchor=o.source.substring(1)}catch(d){let f=d instanceof Error?d.message:String(d);e(n,"RESOURCE_EXHAUSTION",f)}break;default:{let d=n.type==="error"?n.message:`Unsupported token (type: ${n.type})`;e(n,"UNEXPECTED_TOKEN",d),g=!1}}if($??($=H6(r,n.offset,void 0,null,t,e)),o&&$.anchor==="")e(o,"BAD_ALIAS","Anchor cannot be an empty string");if(i&&r.options.stringKeys&&(!jJ.isScalar($)||typeof $.value!=="string"||$.tag&&$.tag!=="tag:yaml.org,2002:str"))e(u??n,"NON_STRING_KEY","With stringKeys, all keys must be strings");if(_)$.spaceBefore=!0;if(c)if(n.type==="scalar"&&n.source==="")$.comment=c;else $.commentBefore=c;if(r.options.keepSourceTokens&&g)$.srcToken=n;return $}function H6(r,n,t,e,{spaceBefore:i,comment:_,anchor:c,tag:o,end:u},$){let g={type:"scalar",offset:PJ.emptyScalarPosition(n,t,e),indent:-1,source:""},d=P0.composeScalar(r,g,o,$);if(c){if(d.anchor=c.source.substring(1),d.anchor==="")$(c,"BAD_ALIAS","Anchor cannot be an empty string")}if(i)d.spaceBefore=!0;if(_)d.comment=_,d.range[2]=u;return d}function kJ({options:r},{offset:n,source:t,end:e},i){let _=new zJ.Alias(t.substring(1));if(_.source==="")i(n,"BAD_ALIAS","Alias cannot be an empty string");if(_.source.endsWith(":"))i(n+t.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let c=n+t.length,o=AJ.resolveEnd(e,c,r.strict,i);if(_.range=[n,c,o.offset],o.comment)_.comment=o.comment;return _}vJ.composeEmptyNode=H6;vJ.composeNode=J0});var M0=W((HJ)=>{var FJ=s_(),v0=k0(),GJ=fe(),XJ=nc();function BJ(r,n,{offset:t,start:e,value:i,end:_},c){let o=Object.assign({_directives:n},r),u=new FJ.Document(void 0,o),$={atKey:!1,atRoot:!0,directives:u.directives,options:u.options,schema:u.schema},g=XJ.resolveProps(e,{indicator:"doc-start",next:i??_?.[0],offset:t,onError:c,parentIndent:0,startOnNewline:!0});if(g.found){if(u.directives.docStart=!0,i&&(i.type==="block-map"||i.type==="block-seq")&&!g.hasNewline)c(g.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")}u.contents=i?v0.composeNode($,i,g,c):v0.composeEmptyNode($,g.end,e,null,g,c);let d=u.contents.range[2],f=GJ.resolveEnd(_,d,!1,c);if(f.comment)u.comment=f.comment;return u.range=[t,d,f.offset],u}HJ.composeDoc=BJ});var Y6=W((pJ)=>{var QJ=Mc("process"),KJ=ZI(),CJ=s_(),tc=rc(),V0=Z(),ZJ=M0(),xJ=fe();function ic(r){if(typeof r==="number")return[r,r+1];if(Array.isArray(r))return r.length===2?r:[r[0],r[1]];let{offset:n,source:t}=r;return[n,n+(typeof t==="string"?t.length:1)]}function F0(r){let n="",t=!1,e=!1;for(let i=0;i<r.length;++i){let _=r[i];switch(_[0]){case"#":n+=(n===""?"":e?`
|
|
141
|
+
|
|
142
|
+
`:`
|
|
143
|
+
`)+(_.substring(1)||" "),t=!0,e=!1;break;case"%":if(r[i+1]?.[0]!=="#")i+=1;t=!1;break;default:if(!t)e=!0;t=!1}}return{comment:n,afterEmptyLine:e}}class G0{constructor(r={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(n,t,e,i)=>{let _=ic(n);if(i)this.warnings.push(new tc.YAMLWarning(_,t,e));else this.errors.push(new tc.YAMLParseError(_,t,e))},this.directives=new KJ.Directives({version:r.version||"1.2"}),this.options=r}decorate(r,n){let{comment:t,afterEmptyLine:e}=F0(this.prelude);if(t){let i=r.contents;if(n)r.comment=r.comment?`${r.comment}
|
|
144
|
+
${t}`:t;else if(e||r.directives.docStart||!i)r.commentBefore=t;else if(V0.isCollection(i)&&!i.flow&&i.items.length>0){let _=i.items[0];if(V0.isPair(_))_=_.key;let c=_.commentBefore;_.commentBefore=c?`${t}
|
|
145
|
+
${c}`:t}else{let _=i.commentBefore;i.commentBefore=_?`${t}
|
|
146
|
+
${_}`:t}}if(n)Array.prototype.push.apply(r.errors,this.errors),Array.prototype.push.apply(r.warnings,this.warnings);else r.errors=this.errors,r.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:F0(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(r,n=!1,t=-1){for(let e of r)yield*this.next(e);yield*this.end(n,t)}*next(r){if(QJ.env.LOG_STREAM)console.dir(r,{depth:null});switch(r.type){case"directive":this.directives.add(r.source,(n,t,e)=>{let i=ic(r);i[0]+=n,this.onError(i,"BAD_DIRECTIVE",t,e)}),this.prelude.push(r.source),this.atDirectives=!0;break;case"document":{let n=ZJ.composeDoc(this.options,this.directives,r,this.onError);if(this.atDirectives&&!n.directives.docStart)this.onError(r,"MISSING_CHAR","Missing directives-end/doc-start indicator line");if(this.decorate(n,!1),this.doc)yield this.doc;this.doc=n,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(r.source);break;case"error":{let n=r.source?`${r.message}: ${JSON.stringify(r.source)}`:r.message,t=new tc.YAMLParseError(ic(r),"UNEXPECTED_TOKEN",n);if(this.atDirectives||!this.doc)this.errors.push(t);else this.doc.errors.push(t);break}case"doc-end":{if(!this.doc){this.errors.push(new tc.YAMLParseError(ic(r),"UNEXPECTED_TOKEN","Unexpected doc-end without preceding document"));break}this.doc.directives.docEnd=!0;let n=xJ.resolveEnd(r.end,r.offset+r.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),n.comment){let t=this.doc.comment;this.doc.comment=t?`${t}
|
|
147
|
+
${n.comment}`:n.comment}this.doc.range[2]=n.offset;break}default:this.errors.push(new tc.YAMLParseError(ic(r),"UNEXPECTED_TOKEN",`Unsupported token ${r.type}`))}}*end(r=!1,n=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(r){let t=Object.assign({_directives:this.directives},this.options),e=new CJ.Document(void 0,t);if(this.atDirectives)this.onError(n,"MISSING_CHAR","Missing directives-end indicator line");e.range=[0,n,n],this.decorate(e,!1),yield e}}}pJ.Composer=G0});var H0=W((o2)=>{var r2=G6(),n2=B6(),t2=rc(),X0=G_();function i2(r,n=!0,t){if(r){let e=(i,_,c)=>{let o=typeof i==="number"?i:Array.isArray(i)?i[0]:i.offset;if(t)t(o,_,c);else throw new t2.YAMLParseError([o,o+1],_,c)};switch(r.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return n2.resolveFlowScalar(r,n,e);case"block-scalar":return r2.resolveBlockScalar({options:{strict:n}},r,e)}}return null}function e2(r,n){let{implicitKey:t=!1,indent:e,inFlow:i=!1,offset:_=-1,type:c="PLAIN"}=n,o=X0.stringifyString({type:c,value:r},{implicitKey:t,indent:e>0?" ".repeat(e):"",inFlow:i,options:{blockQuote:!0,lineWidth:-1}}),u=n.end??[{type:"newline",offset:-1,indent:e,source:`
|
|
148
|
+
`}];switch(o[0]){case"|":case">":{let $=o.indexOf(`
|
|
149
|
+
`),g=o.substring(0,$),d=o.substring($+1)+`
|
|
150
|
+
`,f=[{type:"block-scalar-header",offset:_,indent:e,source:g}];if(!B0(f,u))f.push({type:"newline",offset:-1,indent:e,source:`
|
|
151
|
+
`});return{type:"block-scalar",offset:_,indent:e,props:f,source:d}}case'"':return{type:"double-quoted-scalar",offset:_,indent:e,source:o,end:u};case"'":return{type:"single-quoted-scalar",offset:_,indent:e,source:o,end:u};default:return{type:"scalar",offset:_,indent:e,source:o,end:u}}}function _2(r,n,t={}){let{afterKey:e=!1,implicitKey:i=!1,inFlow:_=!1,type:c}=t,o="indent"in r?r.indent:null;if(e&&typeof o==="number")o+=2;if(!c)switch(r.type){case"single-quoted-scalar":c="QUOTE_SINGLE";break;case"double-quoted-scalar":c="QUOTE_DOUBLE";break;case"block-scalar":{let $=r.props[0];if($.type!=="block-scalar-header")throw Error("Invalid block scalar header");c=$.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:c="PLAIN"}let u=X0.stringifyString({type:c,value:n},{implicitKey:i||o===null,indent:o!==null&&o>0?" ".repeat(o):"",inFlow:_,options:{blockQuote:!0,lineWidth:-1}});switch(u[0]){case"|":case">":c2(r,u);break;case'"':Q6(r,u,"double-quoted-scalar");break;case"'":Q6(r,u,"single-quoted-scalar");break;default:Q6(r,u,"scalar")}}function c2(r,n){let t=n.indexOf(`
|
|
152
|
+
`),e=n.substring(0,t),i=n.substring(t+1)+`
|
|
153
|
+
`;if(r.type==="block-scalar"){let _=r.props[0];if(_.type!=="block-scalar-header")throw Error("Invalid block scalar header");_.source=e,r.source=i}else{let{offset:_}=r,c="indent"in r?r.indent:-1,o=[{type:"block-scalar-header",offset:_,indent:c,source:e}];if(!B0(o,"end"in r?r.end:void 0))o.push({type:"newline",offset:-1,indent:c,source:`
|
|
154
|
+
`});for(let u of Object.keys(r))if(u!=="type"&&u!=="offset")delete r[u];Object.assign(r,{type:"block-scalar",indent:c,props:o,source:i})}}function B0(r,n){if(n)for(let t of n)switch(t.type){case"space":case"comment":r.push(t);break;case"newline":return r.push(t),!0}return!1}function Q6(r,n,t){switch(r.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":r.type=t,r.source=n;break;case"block-scalar":{let e=r.props.slice(1),i=n.length;if(r.props[0].type==="block-scalar-header")i-=r.props[0].source.length;for(let _ of e)_.offset+=i;delete r.props,Object.assign(r,{type:t,source:n,end:e});break}case"block-map":case"block-seq":{let i={type:"newline",offset:r.offset+n.length,indent:r.indent,source:`
|
|
155
|
+
`};delete r.items,Object.assign(r,{type:t,source:n,end:[i]});break}default:{let e="indent"in r?r.indent:-1,i="end"in r&&Array.isArray(r.end)?r.end.filter((_)=>_.type==="space"||_.type==="comment"||_.type==="newline"):[];for(let _ of Object.keys(r))if(_!=="type"&&_!=="offset")delete r[_];Object.assign(r,{type:t,indent:e,source:n,end:i})}}}o2.createScalarToken=e2;o2.resolveAsScalar=i2;o2.setScalarValue=_2});var Y0=W((f2)=>{var d2=(r)=>("type"in r)?m$(r):w$(r);function m$(r){switch(r.type){case"block-scalar":{let n="";for(let t of r.props)n+=m$(t);return n+r.source}case"block-map":case"block-seq":{let n="";for(let t of r.items)n+=w$(t);return n}case"flow-collection":{let n=r.start.source;for(let t of r.items)n+=w$(t);for(let t of r.end)n+=t.source;return n}case"document":{let n=w$(r);if(r.end)for(let t of r.end)n+=t.source;return n}default:{let n=r.source;if("end"in r&&r.end)for(let t of r.end)n+=t.source;return n}}}function w$({start:r,key:n,sep:t,value:e}){let i="";for(let _ of r)i+=_.source;if(n)i+=m$(n);if(t)for(let _ of t)i+=_.source;if(e)i+=m$(e);return i}f2.stringify=d2});var C0=W((m2)=>{var K6=Symbol("break visit"),w2=Symbol("skip children"),Q0=Symbol("remove item");function ei(r,n){if("type"in r&&r.type==="document")r={start:r.start,value:r.value};K0(Object.freeze([]),r,n)}ei.BREAK=K6;ei.SKIP=w2;ei.REMOVE=Q0;ei.itemAtPath=(r,n)=>{let t=r;for(let[e,i]of n){let _=t?.[e];if(_&&"items"in _)t=_.items[i];else return}return t};ei.parentCollection=(r,n)=>{let t=ei.itemAtPath(r,n.slice(0,-1)),e=n[n.length-1][0],i=t?.[e];if(i&&"items"in i)return i;throw Error("Parent collection not found")};function K0(r,n,t){let e=t(n,r);if(typeof e==="symbol")return e;for(let i of["key","value"]){let _=n[i];if(_&&"items"in _){for(let c=0;c<_.items.length;++c){let o=K0(Object.freeze(r.concat([[i,c]])),_.items[c],t);if(typeof o==="number")c=o-1;else if(o===K6)return K6;else if(o===Q0)_.items.splice(c,1),c-=1}if(typeof e==="function"&&i==="key")e=e(n,r)}}return typeof e==="function"?e(n,r):e}m2.visit=ei});var I$=W((S2)=>{var C6=H0(),y2=Y0(),h2=C0(),Z6="\uFEFF",x6="\x02",p6="\x18",s6="\x1F",U2=(r)=>!!r&&("items"in r),O2=(r)=>!!r&&(r.type==="scalar"||r.type==="single-quoted-scalar"||r.type==="double-quoted-scalar"||r.type==="block-scalar");function R2(r){switch(r){case Z6:return"<BOM>";case x6:return"<DOC>";case p6:return"<FLOW_END>";case s6:return"<SCALAR>";default:return JSON.stringify(r)}}function D2(r){switch(r){case Z6:return"byte-order-mark";case x6:return"doc-mode";case p6:return"flow-error-end";case s6:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
|
|
156
|
+
`:case`\r
|
|
157
|
+
`: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(r[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}S2.createScalarToken=C6.createScalarToken;S2.resolveAsScalar=C6.resolveAsScalar;S2.setScalarValue=C6.setScalarValue;S2.stringify=y2.stringify;S2.visit=h2.visit;S2.BOM=Z6;S2.DOCUMENT=x6;S2.FLOW_END=p6;S2.SCALAR=s6;S2.isCollection=U2;S2.isScalar=O2;S2.prettyToken=R2;S2.tokenType=D2});var ny=W((M2)=>{var ec=I$();function an(r){switch(r){case void 0:case" ":case`
|
|
158
|
+
`:case"\r":case"\t":return!0;default:return!1}}var Z0=new Set("0123456789ABCDEFabcdef"),k2=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),y$=new Set(",[]{}"),v2=new Set(` ,[]{}
|
|
159
|
+
\r `),ry=(r)=>!r||v2.has(r);class x0{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(r,n=!1){if(r){if(typeof r!=="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+r:r,this.lineEndPos=null}this.atEnd=!n;let t=this.next??"stream";while(t&&(n||this.hasChars(1)))t=yield*this.parseNext(t)}atLineEnd(){let r=this.pos,n=this.buffer[r];while(n===" "||n==="\t")n=this.buffer[++r];if(!n||n==="#"||n===`
|
|
160
|
+
`)return!0;if(n==="\r")return this.buffer[r+1]===`
|
|
161
|
+
`;return!1}charAt(r){return this.buffer[this.pos+r]}continueScalar(r){let n=this.buffer[r];if(this.indentNext>0){let t=0;while(n===" ")n=this.buffer[++t+r];if(n==="\r"){let e=this.buffer[t+r+1];if(e===`
|
|
162
|
+
`||!e&&!this.atEnd)return r+t+1}return n===`
|
|
163
|
+
`||t>=this.indentNext||!n&&!this.atEnd?r+t:-1}if(n==="-"||n==="."){let t=this.buffer.substr(r,3);if((t==="---"||t==="...")&&an(this.buffer[r+3]))return-1}return r}getLine(){let r=this.lineEndPos;if(typeof r!=="number"||r!==-1&&r<this.pos)r=this.buffer.indexOf(`
|
|
164
|
+
`,this.pos),this.lineEndPos=r;if(r===-1)return this.atEnd?this.buffer.substring(this.pos):null;if(this.buffer[r-1]==="\r")r-=1;return this.buffer.substring(this.pos,r)}hasChars(r){return this.pos+r<=this.buffer.length}setNext(r){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=r,null}peek(r){return this.buffer.substr(this.pos,r)}*parseNext(r){switch(r){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 r=this.getLine();if(r===null)return this.setNext("stream");if(r[0]===ec.BOM)yield*this.pushCount(1),r=r.substring(1);if(r[0]==="%"){let n=r.length,t=r.indexOf("#");while(t!==-1){let i=r[t-1];if(i===" "||i==="\t"){n=t-1;break}else t=r.indexOf("#",t+1)}while(!0){let i=r[n-1];if(i===" "||i==="\t")n-=1;else break}let e=(yield*this.pushCount(n))+(yield*this.pushSpaces(!0));return yield*this.pushCount(r.length-e),this.pushNewline(),"stream"}if(this.atLineEnd()){let n=yield*this.pushSpaces(!0);return yield*this.pushCount(r.length-n),yield*this.pushNewline(),"stream"}return yield ec.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let r=this.charAt(0);if(!r&&!this.atEnd)return this.setNext("line-start");if(r==="-"||r==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let n=this.peek(3);if((n==="---"||n==="...")&&an(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,n==="---"?"doc":"stream"}if(this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!an(this.charAt(1)))this.indentNext=this.indentValue;return yield*this.parseBlockStart()}*parseBlockStart(){let[r,n]=this.peek(2);if(!n&&!this.atEnd)return this.setNext("block-start");if((r==="-"||r==="?"||r===":")&&an(n)){let t=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=t,yield*this.parseBlockStart()}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let r=this.getLine();if(r===null)return this.setNext("doc");let n=yield*this.pushIndicators();switch(r[n]){case"#":yield*this.pushCount(r.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(ry),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return n+=yield*this.parseBlockScalarHeader(),n+=yield*this.pushSpaces(!0),yield*this.pushCount(r.length-n),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let r,n,t=-1;do{if(r=yield*this.pushNewline(),r>0)n=yield*this.pushSpaces(!1),this.indentValue=t=n;else n=0;n+=yield*this.pushSpaces(!0)}while(r+n>0);let e=this.getLine();if(e===null)return this.setNext("flow");if(t!==-1&&t<this.indentNext&&e[0]!=="#"||t===0&&(e.startsWith("---")||e.startsWith("..."))&&an(e[3])){if(!(t===this.indentNext-1&&this.flowLevel===1&&(e[0]==="]"||e[0]==="}")))return this.flowLevel=0,yield ec.FLOW_END,yield*this.parseLineStart()}let i=0;while(e[i]===",")i+=yield*this.pushCount(1),i+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(i+=yield*this.pushIndicators(),e[i]){case void 0:return"flow";case"#":return yield*this.pushCount(e.length-i),"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(ry),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let _=this.charAt(1);if(this.flowKey||an(_)||_===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let r=this.charAt(0),n=this.buffer.indexOf(r,this.pos+1);if(r==="'")while(n!==-1&&this.buffer[n+1]==="'")n=this.buffer.indexOf("'",n+2);else while(n!==-1){let i=0;while(this.buffer[n-1-i]==="\\")i+=1;if(i%2===0)break;n=this.buffer.indexOf('"',n+1)}let t=this.buffer.substring(0,n),e=t.indexOf(`
|
|
165
|
+
`,this.pos);if(e!==-1){while(e!==-1){let i=this.continueScalar(e+1);if(i===-1)break;e=t.indexOf(`
|
|
166
|
+
`,i)}if(e!==-1)n=e-(t[e-1]==="\r"?2:1)}if(n===-1){if(!this.atEnd)return this.setNext("quoted-scalar");n=this.buffer.length}return yield*this.pushToIndex(n+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let r=this.pos;while(!0){let n=this.buffer[++r];if(n==="+")this.blockScalarKeep=!0;else if(n>"0"&&n<="9")this.blockScalarIndent=Number(n)-1;else if(n!=="-")break}return yield*this.pushUntil((n)=>an(n)||n==="#")}*parseBlockScalar(){let r=this.pos-1,n=0,t;r:for(let i=this.pos;t=this.buffer[i];++i)switch(t){case" ":n+=1;break;case`
|
|
167
|
+
`:r=i,n=0;break;case"\r":{let _=this.buffer[i+1];if(!_&&!this.atEnd)return this.setNext("block-scalar");if(_===`
|
|
168
|
+
`)break}default:break r}if(!t&&!this.atEnd)return this.setNext("block-scalar");if(n>=this.indentNext){if(this.blockScalarIndent===-1)this.indentNext=n;else this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{let i=this.continueScalar(r+1);if(i===-1)break;r=this.buffer.indexOf(`
|
|
169
|
+
`,i)}while(r!==-1);if(r===-1){if(!this.atEnd)return this.setNext("block-scalar");r=this.buffer.length}}let e=r+1;t=this.buffer[e];while(t===" ")t=this.buffer[++e];if(t==="\t"){while(t==="\t"||t===" "||t==="\r"||t===`
|
|
170
|
+
`)t=this.buffer[++e];r=e-1}else if(!this.blockScalarKeep)do{let i=r-1,_=this.buffer[i];if(_==="\r")_=this.buffer[--i];let c=i;while(_===" ")_=this.buffer[--i];if(_===`
|
|
171
|
+
`&&i>=this.pos&&i+1+n>c)r=i;else break}while(!0);return yield ec.SCALAR,yield*this.pushToIndex(r+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let r=this.flowLevel>0,n=this.pos-1,t=this.pos-1,e;while(e=this.buffer[++t])if(e===":"){let i=this.buffer[t+1];if(an(i)||r&&y$.has(i))break;n=t}else if(an(e)){let i=this.buffer[t+1];if(e==="\r")if(i===`
|
|
172
|
+
`)t+=1,e=`
|
|
173
|
+
`,i=this.buffer[t+1];else n=t;if(i==="#"||r&&y$.has(i))break;if(e===`
|
|
174
|
+
`){let _=this.continueScalar(t+1);if(_===-1)break;t=Math.max(t,_-2)}}else{if(r&&y$.has(e))break;n=t}if(!e&&!this.atEnd)return this.setNext("plain-scalar");return yield ec.SCALAR,yield*this.pushToIndex(n+1,!0),r?"flow":"doc"}*pushCount(r){if(r>0)return yield this.buffer.substr(this.pos,r),this.pos+=r,r;return 0}*pushToIndex(r,n){let t=this.buffer.slice(this.pos,r);if(t)return yield t,this.pos+=t.length,t.length;else if(n)yield"";return 0}*pushIndicators(){switch(this.charAt(0)){case"!":return(yield*this.pushTag())+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"&":return(yield*this.pushUntil(ry))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{let r=this.flowLevel>0,n=this.charAt(1);if(an(n)||r&&y$.has(n)){if(!r)this.indentNext=this.indentValue+1;else if(this.flowKey)this.flowKey=!1;return(yield*this.pushCount(1))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators())}}}return 0}*pushTag(){if(this.charAt(1)==="<"){let r=this.pos+2,n=this.buffer[r];while(!an(n)&&n!==">")n=this.buffer[++r];return yield*this.pushToIndex(n===">"?r+1:r,!1)}else{let r=this.pos+1,n=this.buffer[r];while(n)if(k2.has(n))n=this.buffer[++r];else if(n==="%"&&Z0.has(this.buffer[r+1])&&Z0.has(this.buffer[r+2]))n=this.buffer[r+=3];else break;return yield*this.pushToIndex(r,!1)}}*pushNewline(){let r=this.buffer[this.pos];if(r===`
|
|
175
|
+
`)return yield*this.pushCount(1);else if(r==="\r"&&this.charAt(1)===`
|
|
176
|
+
`)return yield*this.pushCount(2);else return 0}*pushSpaces(r){let n=this.pos-1,t;do t=this.buffer[++n];while(t===" "||r&&t==="\t");let e=n-this.pos;if(e>0)yield this.buffer.substr(this.pos,e),this.pos=n;return e}*pushUntil(r){let n=this.pos,t=this.buffer[n];while(!r(t))t=this.buffer[++n];return yield*this.pushToIndex(n,!1)}}M2.Lexer=x0});var ty=W((F2)=>{class p0{constructor(){this.lineStarts=[],this.addNewLine=(r)=>this.lineStarts.push(r),this.linePos=(r)=>{let n=0,t=this.lineStarts.length;while(n<t){let i=n+t>>1;if(this.lineStarts[i]<r)n=i+1;else t=i}if(this.lineStarts[n]===r)return{line:n+1,col:1};if(n===0)return{line:0,col:r};let e=this.lineStarts[n-1];return{line:n,col:r-e+1}}}}F2.LineCounter=p0});var iy=W((H2)=>{var X2=Mc("process"),s0=I$(),B2=ny();function lt(r,n){for(let t=0;t<r.length;++t)if(r[t].type===n)return!0;return!1}function rD(r){for(let n=0;n<r.length;++n)switch(r[n].type){case"space":case"comment":case"newline":break;default:return n}return-1}function tD(r){switch(r?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function h$(r){switch(r.type){case"document":return r.start;case"block-map":{let n=r.items[r.items.length-1];return n.sep??n.start}case"block-seq":return r.items[r.items.length-1].start;default:return[]}}function be(r){if(r.length===0)return[];let n=r.length;r:while(--n>=0)switch(r[n].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break r}while(r[++n]?.type==="space");return r.splice(n,r.length)}function nD(r){if(r.start.type==="flow-seq-start"){for(let n of r.items)if(n.sep&&!n.value&&!lt(n.start,"explicit-key-ind")&&!lt(n.sep,"map-value-ind")){if(n.key)n.value=n.key;if(delete n.key,tD(n.value))if(n.value.end)Array.prototype.push.apply(n.value.end,n.sep);else n.value.end=n.sep;else Array.prototype.push.apply(n.start,n.sep);delete n.sep}}}class iD{constructor(r){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new B2.Lexer,this.onNewLine=r}*parse(r,n=!1){if(this.onNewLine&&this.offset===0)this.onNewLine(0);for(let t of this.lexer.lex(r,n))yield*this.next(t);if(!n)yield*this.end()}*next(r){if(this.source=r,X2.env.LOG_TOKENS)console.log("|",s0.prettyToken(r));if(this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=r.length;return}let n=s0.tokenType(r);if(!n){let t=`Not a YAML token: ${r}`;yield*this.pop({type:"error",offset:this.offset,message:t,source:r}),this.offset+=r.length}else if(n==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=n,yield*this.step(),n){case"newline":if(this.atNewLine=!0,this.indent=0,this.onNewLine)this.onNewLine(this.offset+r.length);break;case"space":if(this.atNewLine&&r[0]===" ")this.indent+=r.length;break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":if(this.atNewLine)this.indent+=r.length;break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=r.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 r=this.peek(1);if(this.type==="doc-end"&&r?.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(!r)return yield*this.stream();switch(r.type){case"document":return yield*this.document(r);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(r);case"block-scalar":return yield*this.blockScalar(r);case"block-map":return yield*this.blockMap(r);case"block-seq":return yield*this.blockSequence(r);case"flow-collection":return yield*this.flowCollection(r);case"doc-end":return yield*this.documentEnd(r)}yield*this.pop()}peek(r){return this.stack[this.stack.length-r]}*pop(r){let n=r??this.stack.pop();if(!n)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield n;else{let t=this.peek(1);if(n.type==="block-scalar")n.indent="indent"in t?t.indent:0;else if(n.type==="flow-collection"&&t.type==="document")n.indent=0;if(n.type==="flow-collection")nD(n);switch(t.type){case"document":t.value=n;break;case"block-scalar":t.props.push(n);break;case"block-map":{let e=t.items[t.items.length-1];if(e.value){t.items.push({start:[],key:n,sep:[]}),this.onKeyLine=!0;return}else if(e.sep)e.value=n;else{Object.assign(e,{key:n,sep:[]}),this.onKeyLine=!e.explicitKey;return}break}case"block-seq":{let e=t.items[t.items.length-1];if(e.value)t.items.push({start:[],value:n});else e.value=n;break}case"flow-collection":{let e=t.items[t.items.length-1];if(!e||e.value)t.items.push({start:[],key:n,sep:[]});else if(e.sep)e.value=n;else Object.assign(e,{key:n,sep:[]});return}default:yield*this.pop(),yield*this.pop(n)}if((t.type==="document"||t.type==="block-map"||t.type==="block-seq")&&(n.type==="block-map"||n.type==="block-seq")){let e=n.items[n.items.length-1];if(e&&!e.sep&&!e.value&&e.start.length>0&&rD(e.start)===-1&&(n.indent===0||e.start.every((i)=>i.type!=="comment"||i.indent<n.indent))){if(t.type==="document")t.end=e.start;else t.items.push({start:e.start});n.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 r={type:"document",offset:this.offset,start:[]};if(this.type==="doc-start")r.start.push(this.sourceToken);this.stack.push(r);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(r){if(r.value)return yield*this.lineEnd(r);switch(this.type){case"doc-start":{if(rD(r.start)!==-1)yield*this.pop(),yield*this.step();else r.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":r.start.push(this.sourceToken);return}let n=this.startBlockValue(r);if(n)this.stack.push(n);else yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(r){if(this.type==="map-value-ind"){let n=h$(this.peek(2)),t=be(n),e;if(r.end)e=r.end,e.push(this.sourceToken),delete r.end;else e=[this.sourceToken];let i={type:"block-map",offset:r.offset,indent:r.indent,items:[{start:t,key:r,sep:e}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=i}else yield*this.lineEnd(r)}*blockScalar(r){switch(this.type){case"space":case"comment":case"newline":r.props.push(this.sourceToken);return;case"scalar":if(r.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let n=this.source.indexOf(`
|
|
177
|
+
`)+1;while(n!==0)this.onNewLine(this.offset+n),n=this.source.indexOf(`
|
|
178
|
+
`,n)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(r){let n=r.items[r.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,n.value){let t="end"in n.value?n.value.end:void 0;if((Array.isArray(t)?t[t.length-1]:void 0)?.type==="comment")t?.push(this.sourceToken);else r.items.push({start:[this.sourceToken]})}else if(n.sep)n.sep.push(this.sourceToken);else n.start.push(this.sourceToken);return;case"space":case"comment":if(n.value)r.items.push({start:[this.sourceToken]});else if(n.sep)n.sep.push(this.sourceToken);else{if(this.atIndentedComment(n.start,r.indent)){let e=r.items[r.items.length-2]?.value?.end;if(Array.isArray(e)){Array.prototype.push.apply(e,n.start),e.push(this.sourceToken),r.items.pop();return}}n.start.push(this.sourceToken)}return}if(this.indent>=r.indent){let t=!this.onKeyLine&&this.indent===r.indent,e=t&&(n.sep||n.explicitKey)&&this.type!=="seq-item-ind",i=[];if(e&&n.sep&&!n.value){let _=[];for(let c=0;c<n.sep.length;++c){let o=n.sep[c];switch(o.type){case"newline":_.push(c);break;case"space":break;case"comment":if(o.indent>r.indent)_.length=0;break;default:_.length=0}}if(_.length>=2)i=n.sep.splice(_[1])}switch(this.type){case"anchor":case"tag":if(e||n.value)i.push(this.sourceToken),r.items.push({start:i}),this.onKeyLine=!0;else if(n.sep)n.sep.push(this.sourceToken);else n.start.push(this.sourceToken);return;case"explicit-key-ind":if(!n.sep&&!n.explicitKey)n.start.push(this.sourceToken),n.explicitKey=!0;else if(e||n.value)i.push(this.sourceToken),r.items.push({start:i,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(n.explicitKey)if(!n.sep)if(lt(n.start,"newline"))Object.assign(n,{key:null,sep:[this.sourceToken]});else{let _=be(n.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:_,key:null,sep:[this.sourceToken]}]})}else if(n.value)r.items.push({start:[],key:null,sep:[this.sourceToken]});else if(lt(n.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:i,key:null,sep:[this.sourceToken]}]});else if(tD(n.key)&&!lt(n.sep,"newline")){let _=be(n.start),c=n.key,o=n.sep;o.push(this.sourceToken),delete n.key,delete n.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:_,key:c,sep:o}]})}else if(i.length>0)n.sep=n.sep.concat(i,this.sourceToken);else n.sep.push(this.sourceToken);else if(!n.sep)Object.assign(n,{key:null,sep:[this.sourceToken]});else if(n.value||e)r.items.push({start:i,key:null,sep:[this.sourceToken]});else if(lt(n.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]});else n.sep.push(this.sourceToken);this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let _=this.flowScalar(this.type);if(e||n.value)r.items.push({start:i,key:_,sep:[]}),this.onKeyLine=!0;else if(n.sep)this.stack.push(_);else Object.assign(n,{key:_,sep:[]}),this.onKeyLine=!0;return}default:{let _=this.startBlockValue(r);if(_){if(_.type==="block-seq"){if(!n.explicitKey&&n.sep&&!lt(n.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(t)r.items.push({start:i});this.stack.push(_);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(r){let n=r.items[r.items.length-1];switch(this.type){case"newline":if(n.value){let t="end"in n.value?n.value.end:void 0;if((Array.isArray(t)?t[t.length-1]:void 0)?.type==="comment")t?.push(this.sourceToken);else r.items.push({start:[this.sourceToken]})}else n.start.push(this.sourceToken);return;case"space":case"comment":if(n.value)r.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(n.start,r.indent)){let e=r.items[r.items.length-2]?.value?.end;if(Array.isArray(e)){Array.prototype.push.apply(e,n.start),e.push(this.sourceToken),r.items.pop();return}}n.start.push(this.sourceToken)}return;case"anchor":case"tag":if(n.value||this.indent<=r.indent)break;n.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==r.indent)break;if(n.value||lt(n.start,"seq-item-ind"))r.items.push({start:[this.sourceToken]});else n.start.push(this.sourceToken);return}if(this.indent>r.indent){let t=this.startBlockValue(r);if(t){this.stack.push(t);return}}yield*this.pop(),yield*this.step()}*flowCollection(r){let n=r.items[r.items.length-1];if(this.type==="flow-error-end"){let t;do yield*this.pop(),t=this.peek(1);while(t?.type==="flow-collection")}else if(r.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":if(!n||n.sep)r.items.push({start:[this.sourceToken]});else n.start.push(this.sourceToken);return;case"map-value-ind":if(!n||n.value)r.items.push({start:[],key:null,sep:[this.sourceToken]});else if(n.sep)n.sep.push(this.sourceToken);else Object.assign(n,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":if(!n||n.value)r.items.push({start:[this.sourceToken]});else if(n.sep)n.sep.push(this.sourceToken);else n.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let e=this.flowScalar(this.type);if(!n||n.value)r.items.push({start:[],key:e,sep:[]});else if(n.sep)this.stack.push(e);else Object.assign(n,{key:e,sep:[]});return}case"flow-map-end":case"flow-seq-end":r.end.push(this.sourceToken);return}let t=this.startBlockValue(r);if(t)this.stack.push(t);else yield*this.pop(),yield*this.step()}else{let t=this.peek(2);if(t.type==="block-map"&&(this.type==="map-value-ind"&&t.indent===r.indent||this.type==="newline"&&!t.items[t.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&t.type!=="flow-collection"){let e=h$(t),i=be(e);nD(r);let _=r.end.splice(1,r.end.length);_.push(this.sourceToken);let c={type:"block-map",offset:r.offset,indent:r.indent,items:[{start:i,key:r,sep:_}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=c}else yield*this.lineEnd(r)}}flowScalar(r){if(this.onNewLine){let n=this.source.indexOf(`
|
|
179
|
+
`)+1;while(n!==0)this.onNewLine(this.offset+n),n=this.source.indexOf(`
|
|
180
|
+
`,n)+1}return{type:r,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(r){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 n=h$(r),t=be(n);return t.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:t,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let n=h$(r),t=be(n);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:t,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(r,n){if(this.type!=="comment")return!1;if(this.indent<=n)return!1;return r.every((t)=>t.type==="newline"||t.type==="space")}*documentEnd(r){if(this.type!=="doc-mode"){if(r.end)r.end.push(this.sourceToken);else r.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}*lineEnd(r){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(r.end)r.end.push(this.sourceToken);else r.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}}H2.Parser=iD});var uD=W((rk)=>{var eD=Y6(),Q2=s_(),_c=rc(),K2=t6(),C2=Z(),Z2=ty(),_D=iy();function cD(r){let n=r.prettyErrors!==!1;return{lineCounter:r.lineCounter||n&&new Z2.LineCounter||null,prettyErrors:n}}function x2(r,n={}){let{lineCounter:t,prettyErrors:e}=cD(n),i=new _D.Parser(t?.addNewLine),_=new eD.Composer(n),c=Array.from(_.compose(i.parse(r)));if(e&&t)for(let o of c)o.errors.forEach(_c.prettifyError(r,t)),o.warnings.forEach(_c.prettifyError(r,t));if(c.length>0)return c;return Object.assign([],{empty:!0},_.streamInfo())}function oD(r,n={}){let{lineCounter:t,prettyErrors:e}=cD(n),i=new _D.Parser(t?.addNewLine),_=new eD.Composer(n),c=null;for(let o of _.compose(i.parse(r),!0,r.length))if(!c)c=o;else if(c.options.logLevel!=="silent"){c.errors.push(new _c.YAMLParseError(o.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(e&&t)c.errors.forEach(_c.prettifyError(r,t)),c.warnings.forEach(_c.prettifyError(r,t));return c}function p2(r,n,t){let e=void 0;if(typeof n==="function")e=n;else if(t===void 0&&n&&typeof n==="object")t=n;let i=oD(r,t);if(!i)return null;if(i.warnings.forEach((_)=>K2.warn(i.options.logLevel,_)),i.errors.length>0)if(i.options.logLevel!=="silent")throw i.errors[0];else i.errors=[];return i.toJS(Object.assign({reviver:e},t))}function s2(r,n,t){let e=null;if(typeof n==="function"||Array.isArray(n))e=n;else if(t===void 0&&n)t=n;if(typeof t==="string")t=t.length;if(typeof t==="number"){let i=Math.round(t);t=i<1?void 0:i>8?{indent:8}:{indent:i}}if(r===void 0){let{keepUndefined:i}=t??n??{};if(!i)return}if(C2.isDocument(r)&&!e)return r.toString(t);return new Q2.Document(r,e,t).toString(t)}rk.parse=p2;rk.parseAllDocuments=x2;rk.parseDocument=oD;rk.stringify=s2});function WT(){return["etiquette \u2014 govern agent-assisted engineering work with seats, evidence,","and promotion gates. Local-first: your repo is the ledger.","","First run (copy-paste, inside your project):"," etiquette init --project ."," etiquette bootstrap local --project . --profile codex-cc-gemini --task-prefix APP"," etiquette join --seat codex-seat --project ."," etiquette pickup --seat codex-seat --task APP-001 --allow-current-project --text","","Then: do the work -> write the receipt at the path pickup names ->"," etiquette post --role implementation-return --lane APP-001 --from codex-seat --to manager-seat --project ."," etiquette return check --task APP-001 --seat codex-seat --project .","","Every command prints its own next step. You can ignore everything else","until you need it.","","Commands: etiquette help \xB7 full surface: etiquette help advanced \xB7 docs: https://etiquekit.com/docs/"].join(`
|
|
181
|
+
`)}function Ve(){return["etiquette","","Govern agent-assisted engineering work with seats, evidence, and promotion gates.","","Start here:"," etiquette setup [--target auto|codex|claude-code|gemini|all] [--project <path>] [--yes]"," etiquette handoff [--project <path>] [--profile codex-cc-gemini|lead-review] [--task-prefix <id>]"," etiquette init [--project <path>]"," etiquette bootstrap local [--project <path>] [--profile codex-cc-gemini|lead-review]"," etiquette whereami [--project <path>] [--seat <id>] [--task <ref>] [--json]"," etiquette doctor [--project <path>]"," etiquette status [--project <path>]","","Daily work:"," etiquette join --seat <id> [--project <path>] [--json]"," etiquette pickup --seat <id> --task <ref> --expect-project-id <id> [--project <path>] [--text|--json]"," etiquette enter <task> --seat <id> --operator <principal> [--project <path>]"," etiquette session create --seat <id> --task <ref> [--project <path>]"," etiquette notify poll --seat <id> [--project <path>] [--after-seq <n>] [--json]"," etiquette notify webhook github --payload <file> --delivery <id> --event push --signature-256 <sha256=...> [--json]"," etiquette post --role <role> --lane <task-ref> --from <seat> --to <seat> [--emit] [--project <path>]"," etiquette return check --task <ref> --seat <id> [--remote-runner] [--project <path>] [--json]"," etiquette retire <path> --reason <kind> --evidence-ref <ref> --removed-by <seat> [--project <path>]"," etiquette diagnostics runner-glitch --symptom <text> [--session <id>] [--project <path>]"," etiquette diagnostics no-return --task <ref> --seat <id> [--project <path>] [--json]"," etiquette dispatch scaffold [--project <path>] [--task-id <id>] [--seat <id>] [--out <dir>]"," etiquette dispatch check --mode <path> --task <path> [--project <path>] [--json]"," etiquette dispatch record --mode <path> --task <path> [--project <path>] [--json]"," etiquette bus view [--project <path>] [--lane <id>] [--seat <id>] [--since <n>] [--format text|json|markdown]"," etiquette timeline view [--project <path>] [--scope project|seat|lane|principal] [--seat <id>] [--lane <id>]"," etiquette timeline preview [--project <path>] [--scope project|seat|lane|principal] [--seat <id>] [--lane <id>] [--host 127.0.0.1] [--port 4174] # loopback only"," etiquette ledger index|search|show ...","","Seats and readiness:"," etiquette seat readiness --seat <id> [--project <path>] [--json]"," etiquette seat status [--project <path>] [--json]"," etiquette seat owner-card --manifest <path> [--project <path>] [--json]","","Management views:"," etiquette console board [--project <path>] [--seat <id>] [--text]"," etiquette console serve [--project <path>] [--host 127.0.0.1] [--port 4173]","","Release checks:"," etiquette release readiness [--project <path>] [--json]"," etiquette release ga-readiness [--project <path>] --channel <name> --verify-tag-remote <remote> [--json]","","Advanced surfaces:"," etiquette help advanced"," etiquette-core help","","Authority boundary:"," commands can initialize, check, record evidence, and project read models;"," they do not grant authority, merge, close work, publish, or promote truth."].join(`
|
|
182
|
+
`)}function AT(){return["etiquette advanced command catalog","","usage (supervision \u2014 Phase 1, etiquette/internal/docs/supervision/PHASE1.md):"," discipline session-open <session-id> --campaign-root <path> --objective <text> --lead <seat> --responder <seat>"," --escalation-owner <seat> --time-cap <minutes> --turn-cap <n> --source-ref a,b [--topic <text>] [--seat-manifest <path>]"," discipline session-status <session-id> --campaign-root <path> [--json] [--seat-manifest <path>]"," discipline turn-open <session-id> --campaign-root <path> --owner <seat> --action-class <class>"," --max-duration <minutes> --allowed-command a,b --repo-root a,b --owned-path a,b"," --forbidden-path a,b --verify-command a,b [--requires-human-approval]"," [--projection-policy on_state_change|on_command_only] [--seat-manifest <path>]"," discipline turn-close <session-id> --campaign-root <path> --turn <turn-id>"," --result <done|blocked|handed_off|stopped|timed_out> --summary <text> [--evidence-ref a,b]"," discipline session-command <session-id> <command> --campaign-root <path>"," [--actor <seat>] [--payload <json>] [--seat-manifest <path>]"," discipline session-project <session-id> --campaign-root <path>"," discipline session-rebuild <session-id> --campaign-root <path>"," discipline seat-validate [--manifest <path>]","","usage (memory journal \u2014 local-first, compact-then-exact):"," etiquette memory index [--project <path>] [--db <path>] [--local-private] [--json]"," etiquette memory index --export [<dir>] --org-id <opaque-id> --confirm-shared-export"," [--workspace-id <opaque-id>] [--project <path>] [--db <path>] [--json]"," etiquette memory search <query> [--project <path>] [--db <path>] [--limit <n>] [--json]"," etiquette memory show <capsule-id> [--project <path>] [--db <path>]"," etiquette memory preflight <lane-or-task> [--project <path>] [--db <path>] [--limit <n>] [--json]"," etiquette memory context [<query>] [--lane <ref>] [--task <ref>] [--query <text>]"," [--workspace-id <opaque-id>] [--org-id <opaque-id>] [--project <path>] [--db <path>] [--limit <n>] [--json]"," etiquette memory status [--project <path>] [--db <path>] [--root <path>] [--json]"," etiquette memory store init --store <id> --scope org|workspace|lane|seat|session --access read_only|read_write"," [--mount-mode filesystem_like|context_pack|mcp_resource] [--write-policy none|candidate_only|curator_promoted]"," [--project <path>] [--root <path>] [--at <iso8601>] [--json]"," etiquette memory store add --store <id> --path <repo-relative> --content <text> --evidence <type:ref,...>"," [--project <path>] [--root <path>] [--at <iso8601>] [--json]"," etiquette memory store list [--project <path>] [--root <path>] [--json]"," etiquette memory store show --store <id> [--project <path>] [--root <path>] [--json]"," etiquette memory consolidate --input <store-id,...> --out <store-id> [--project <path>] [--root <path>] [--at <iso8601>] [--json]"," etiquette memory drain-import --from-project <child-path> --from-store <id> --to-store <id>"," [--project <parent-path>] [--from-root <path>] [--to-root <path>] [--source-ref <ref>] [--target-ref <ref>]"," [--path-prefix <repo-relative>] [--receipt <path>] [--at <iso8601>] [--json]"," etiquette memory sharded-drain-import --shard <id=child-path,...> --from-store <id> --to-store <id>"," [--project <parent-path>] [--target-ref <ref>] [--receipt-dir <repo-dir>] [--receipt <path>] [--json]"," etiquette memory stale [--project <path>] [--db <path>] [--limit <n>] [--json]"," etiquette memory rejected [--project <path>] [--db <path>] [--limit <n>] [--json]","","usage (console v0 - read-only local management view):"," etiquette console snapshot [--project <path>] [--json]"," etiquette console board [--project <path>] [--seat <id>] [--text]"," etiquette console serve [--project <path>] [--host 127.0.0.1] [--port 4173]","","usage (local workspace workflow v0 - repo-local onboarding, no hidden authority):"," etiquette setup [--target auto|all|codex|claude-code|gemini] [--project <path>]"," [--dry-run] [--force] [--eject] [--json]"," etiquette handoff [--project <path>] [--profile codex-cc-gemini|lead-review] [--task-prefix <id>] [--json]"," etiquette init [--project <path>]"," etiquette bootstrap local [--project <path>] [--profile codex-cc-gemini|lead-review]"," [--task-prefix <id>] [--lead-seat <id>] [--lead-principal <id>]"," [--review-seat <id>] [--review-principal <id>] [--qa-seat <id>] [--qa-principal <id>]"," [--bootstrap-seat <id>] [--bootstrap-principal <id>] [--no-qa] [--force] [--json]"," etiquette whereami [--project <path>] [--seat <id>] [--task <ref>] [--json]"," etiquette join --seat <id> [--project <path>] [--json]"," etiquette pickup --seat <id> --task <ref> [--project <path>] [--text|--json]"," etiquette enter <task> --seat <id> --operator <principal> [--project <path>]"," etiquette session create --seat <id> --task <ref> [--session-id <id>] [--operator <id>]"," [--owner <id>] [--target-ref <ref>] [--creation-mode explicit|dynamic] [--project <path>] [--json]"," etiquette session note --session <id> --section plan|tool|retry|evidence|note --message <text>"," [--project <path>] [--json]"," etiquette session migrate-project [--project <path>] [--dry-run] [--json]"," etiquette audit append --actor <id> --action <id> [--project <path>] [--refs a,b]"," etiquette roster card validate --card <path>"," etiquette roster enroll <seat> --card <path> --operator-principal <id> --execution-seat <id>"," --as-role <role> --authority-scope <scope> --mode <mode> --orientation-ref <path> [--project <path>]"," etiquette roster ready <seat> --ack-ref <ref> --orientation-ref <path> [--project <path>]"," etiquette roster list|show|posture <seat> [--project <path>] [--json]"," etiquette roster doctor [--project <path>] [--cards <dir>] [--json]"," etiquette post --role <role> --lane <id> --from <seat> --to <seat> [--emit] [--project <path>]"," etiquette notify subscribe --seat <id> --lane <id> [--roles a,b] [--project <path>]"," etiquette notify feed --seat <id> [--project <path>] [--text]"," etiquette notify poll --seat <id> [--project <path>] [--after-seq <n>] [--limit <n>] [--text|--json]"," etiquette notify queue --seat <id> [--project <path>] [--text|--json]"," etiquette notify webhook github --payload <file> --delivery <id> --event push --signature-256 <sha256=...>"," [--secret-env ETIQUETTE_GITHUB_WEBHOOK_SECRET] [--text|--json]"," etiquette return check --task <ref> --seat <id> [--role any|implementation-return|review-return]"," [--tier local-advisory|remote-runner-hard-gate] [--remote-runner] [--project <path>] [--json]"," etiquette retire <path> --reason superseded|rejected|closed|duplicate --evidence-ref <ref>"," --removed-by <seat> [--superseded-by <path>] [--project <path>] [--json]"," etiquette trash list|show|restore|rebuild ... [--project <path>] [--json]"," etiquette rig doctor [--project <path>]"," etiquette bus status [n] [--project <path>] [--text]"," etiquette bus inbox --addressee <seat> [--project <path>] [--text]"," etiquette bus view [--project <path>] [--lane <id>] [--seat <id>] [--role <role>]"," [--since <n|local://event/n>] [--until <n|local://event/n>] [--match <text>]"," [--kind all|events|packets] [--limit <n>] [--format text|json|markdown]"," etiquette timeline view [--project <path>] [--scope project|seat|lane|principal] [--seat <id>] [--lane <id>]"," [--since <n|local://event/n>] [--until <n|local://event/n>] [--match <text>] [--limit <n>]"," [--format text|json|markdown]"," etiquette timeline preview [--project <path>] [--scope project|seat|lane|principal] [--seat <id>] [--lane <id>]"," [--since <n|local://event/n>] [--until <n|local://event/n>] [--match <text>] [--limit <n>]"," [--host 127.0.0.1] [--port 4174] # loopback only"," etiquette diagnostics runner-glitch --symptom <text> [--runner <id>] [--session <id>]"," [--command-ref <summary>] [--severity info|warning|blocked] [--project <path>] [--json]"," etiquette diagnostics no-return --task <ref> --seat <id> [--role any|implementation-return|review-return]"," [--project <path>] [--json]"," etiquette status [--project <path>]","","usage (ledger retrieval v0.1 - local generated index, compact-then-exact):"," etiquette ledger index [--project <path>] [--db <path>] [--json]"," etiquette ledger search <query> [--project <path>] [--db <path>] [--limit <n>] [--json]"," etiquette ledger search --topic <slug> [--project <path>] [--db <path>] [--limit <n>] [--json]"," etiquette ledger show <entry-or-ref-id> [--project <path>] [--db <path>]","","usage (hook adapter v0.1 \u2014 optional, disabled-by-default, opt in via ETIQUETTE_HOOKS_ENABLED=1):"," etiquette hook session_start [--workspace <id>] [--payload <json>]"," etiquette hook user_prompt_submit [--workspace <id>] [--payload <json>]"," etiquette hook post_tool_use [--workspace <id>] [--payload <json>]"," etiquette hook stop [--workspace <id>] [--payload <json>]"," etiquette hook session_end [--workspace <id>] [--payload <json>]","","usage (harness maintenance v0 - pruning receipts, inventory, and canary checks; no deletion authority):"," etiquette harness receipt --receipt <path> [--json]"," etiquette harness inventory --manifest <path> [--project <path>] [--json]"," etiquette harness canary --receipt <path> [--json]","","usage (rubric runner v0.1 - local sandbox evidence, no authority activation):"," etiquette rubric validate --rubric <path> [--json]"," etiquette rubric sandbox --rubric <path> --fixtures <path> --run-by <seat>"," [--environment local|sandbox-isolated] [--at <iso8601>] [--receipt <path>] [--json]"," etiquette rubric promote-check --rubric <path> --receipt <path>"," [--policy <path>] [--grant-ref <ref>] [--json]","","usage (release readiness v0 - package/channel checks, no publish authority):"," etiquette release channels [--json]"," etiquette release readiness [--project <path>] [--json] [--fail-on-blocked]"," etiquette release ga-readiness [--project <path>] --channel <name>"," --verify-tag-remote <remote> [--json] [--fail-on-blocked]","","usage (infra runtime \u2014 source-only, not shipped in the local devkit):"," runtime verifier cells, kube plans, and EKS provisioning belong to an infra/runtime workspace.","","usage (seat capability heartbeat v0.1 - local-first routing metadata):"," etiquette seat readiness --seat <id> [--project <path>] [--state <path>]"," [--seat-type control_seat|execution_seat|review_seat|seat_maintainer]"," [--execution-surface <opaque-id>] [--capability-source config|local_validation|seat_doctor|agent_self_declared]"," [--operational-status operational|degraded|blocked|offline]"," [--model-tier lite_fast|balanced|frontier_high_reasoning|local_unknown] [--model-id <opaque-id>]"," [--active-workers <n>] [--max-recommended-workers <n>] [--supports-parallel true|false]"," [--supported-strategies a,b] [--unsupported-strategies a,b] [--constraints a,b] [--json]"," etiquette seat heartbeat [--project <path>] [--state <path>] [--seat <id>]"," [--operational-status operational|degraded|blocked|offline] [--active-workers <n>] [--constraints a,b] [--json]"," etiquette seat status [--project <path>] [--state <path>] [--json]"," etiquette seat owner-card --manifest <path> [--project <path>] [--state <path>] [--at <iso8601>] [--json]","","usage (workflow mode consumer v0.1 - advisory-only policy preset checks):"," etiquette workflow validate --mode <path> [--json]"," etiquette workflow explain <deliberative|expedient|mixed> [--json]"," etiquette workflow check --mode <path> --task <path> [--json]","","usage (workspace authority v0 - personal-local, org-remote, runtime-cell roots):"," etiquette workspace authority --profile <path> [--json]","","usage (operational dispatch consumer v0 - advisory wiring, no execution):"," etiquette dispatch scaffold [--project <path>] [--task-id <id>] [--seat <id>] [--out <dir>] [--json]"," etiquette dispatch check --mode <path> --task <path> [--project <path>] [--state <path>]"," [--sandbox-receipt <path>] [--strategy <id>] [--at <iso8601>] [--json]"," etiquette dispatch record --mode <path> --task <path> [--project <path>] [--state <path>]"," [--sandbox-receipt <path>] [--strategy <id>] [--at <iso8601>] [--recorded-by <seat>] [--json]"," etiquette dispatch projection --record <path> [--artifact-ref <ref>] [--receipt-ref <repo-ref>]"," [--status success|partial|blocked|failed] [--validation-summary <text>] [--json]","","usage (local-remote sync outbox v0 - local staging only, no network):"," etiquette sync stage [--project <path>] [--outbox <path>] [--workspace-id <opaque-id>]"," [--org-id <opaque-id>] [--seat-id <opaque-id>] [--at <iso8601>] [--json]"," etiquette sync join-plan --invite <path> --joined-by <seat> --claim-ref <ref>"," [--at <iso8601>] [--json]"," etiquette sync git-driver-status [--project <path>] [--driver-name etqseq] [--json]"," etiquette sync install-git-merge-driver [--project <path>] [--driver-name etqseq]"," [--driver-command <command>] [--skip-git-config] [--json]"].join(`
|
|
183
|
+
`)}import{homedir as BH}from"os";import{join as Be,resolve as bE}from"path";function fr(r){let n=bE(r),t=Be(n,HH);return{campaignRoot:n,runtimeDir:t,sqlitePath:Be(t,"supervision.sqlite"),eventsPath:Be(t,"events.jsonl"),latestStatePath:Be(t,"latest-state.json"),latestProjectionPath:Be(t,"latest-projection.json")}}function wE(r){if(r&&r.trim().length>0)return bE(r);return YH}var HH=".etiquette/runtime/supervision",YH;var pn=a(()=>{YH=Be(BH(),".local","share","etiquette","seat-capabilities.json")});import{readFile as QH}from"fs/promises";function He(r){return typeof r==="string"}function Pt(r){return typeof r==="boolean"}function KH(r){return He(r)&&Ti.includes(r)}function CH(r){return He(r)&&Xc.includes(r)}function ZH(r,n){let t=[];if(typeof r!=="object"||r===null||Array.isArray(r))throw new Ri("manifest root is not an object",n,[`got ${Array.isArray(r)?"array":typeof r}`]);let e=r,i=[["schemaVersion",(_)=>_==="discipline-supervision-seat-capabilities.v1",'must equal "discipline-supervision-seat-capabilities.v1"'],["seatId",He,"must be a non-empty string"],["displayName",He,"must be a string"],["runtimeKind",CH,`must be one of: ${Xc.join(", ")}`],["canReadHandshake",Pt,"must be a boolean"],["canWriteHandshake",Pt,"must be a boolean"],["canReadProductRepo",Pt,"must be a boolean"],["canRunBuilds",Pt,"must be a boolean"],["canWriteProductRepo",Pt,"must be a boolean"],["canLaunchRuntimeTargets",Pt,"must be a boolean"],["canAcceptMobileSteering",Pt,"must be a boolean"],["defaultRequiresHumanApprovalForProductMutation",Pt,"must be a boolean"],["updatedAt",He,"must be an ISO-8601 string"]];for(let[_,c,o]of i){if(!(_ in e)){t.push(`${_} missing`);continue}if(!c(e[_]))t.push(`${_} invalid (${o})`)}if("seatId"in e&&He(e.seatId)&&e.seatId.trim().length===0)t.push("seatId must not be empty");if(!("allowedActionClasses"in e))t.push("allowedActionClasses missing");else if(!Array.isArray(e.allowedActionClasses))t.push("allowedActionClasses must be an array");else{let _=e.allowedActionClasses.filter((c)=>!KH(c));if(_.length>0)t.push(`allowedActionClasses contains unknown values: ${_.map(String).join(", ")}`)}if(t.length>0)throw new Ri("seat manifest validation failed",n,t);return e}async function Jt(r){let n=wE(r),t;try{t=await QH(n,"utf-8")}catch(i){throw new Ri("seat manifest could not be read",n,[i.code??String(i)])}let e;try{e=JSON.parse(t)}catch(i){throw new Ri("seat manifest is not valid JSON",n,[String(i)])}return ZH(e,n)}var Ri;var kc=a(()=>{QI();pn();Ri=class Ri extends Error{path;issues;constructor(r,n,t){super(`${r}: ${t.join("; ")}`);this.path=n;this.issues=t;this.name="SeatManifestError"}}});function jh(r,n){let t=new Set(n);return r.every((e)=>t.has(e))}function mE(r){let n=[];if(!Number.isInteger(r.maxDurationMinutes)||r.maxDurationMinutes<=0)n.push("maxDurationMinutes must be a positive integer");switch(r.allowedActionClass){case"coordination_only":{if(!jh(r.allowedCommands,["write_projection","append_evidence"]))n.push("allowedCommands must be a subset of {write_projection, append_evidence}");if(r.repoRoots.length>0)n.push("repoRoots must be empty");if(r.ownedPaths.length>0)n.push("ownedPaths must be empty");if(r.forbiddenPaths.length>0)n.push("forbiddenPaths must be empty");if(r.verifyCommands.length>0)n.push("verifyCommands must be empty");break}case"read_only_local":{if(!jh(r.allowedCommands,["inspect_repo","write_projection","append_evidence"]))n.push("allowedCommands must be a subset of {inspect_repo, write_projection, append_evidence}");if(r.repoRoots.length===0)n.push("repoRoots must be non-empty");if(r.ownedPaths.length>0)n.push("ownedPaths must be empty");if(r.forbiddenPaths.length>0)n.push("forbiddenPaths must be empty");if(r.verifyCommands.length>0)n.push("verifyCommands must be empty");break}case"bounded_verification":{if(!r.allowedCommands.includes("run_verify"))n.push("allowedCommands must include run_verify");if(!jh(r.allowedCommands,["inspect_repo","run_verify","write_projection","append_evidence"]))n.push("allowedCommands may only include {inspect_repo, run_verify, write_projection, append_evidence}");if(r.repoRoots.length===0)n.push("repoRoots must be non-empty");if(r.verifyCommands.length===0)n.push("verifyCommands must be non-empty");if(r.ownedPaths.length>0)n.push("ownedPaths must be empty");break}case"bounded_product_mutation":{if(!r.allowedCommands.includes("write_product_files"))n.push("allowedCommands must include write_product_files");if(r.repoRoots.length===0)n.push("repoRoots must be non-empty");if(r.ownedPaths.length===0)n.push("ownedPaths must be non-empty");if(r.verifyCommands.length===0)n.push("verifyCommands must be non-empty");if(!r.requiresHumanApproval)n.push("requiresHumanApproval must be true for bounded_product_mutation");break}case"human_only":{n.push("human_only turns may not be opened by automation");break}default:n.push(`unknown action class: ${r.allowedActionClass}`)}if(n.length>0)throw new vc(r.allowedActionClass,n)}function IE(r,n){let t=[];if(!n.allowedActionClasses.includes(r.allowedActionClass))t.push(`seat ${n.seatId} does not allow action class ${r.allowedActionClass}`);if(r.allowedCommands.includes("run_verify")&&!n.canRunBuilds)t.push(`seat ${n.seatId} lacks canRunBuilds for run_verify`);if(r.allowedCommands.includes("write_product_files")&&!n.canWriteProductRepo)t.push(`seat ${n.seatId} lacks canWriteProductRepo for write_product_files`);if(r.allowedCommands.includes("launch_runtime_target")&&!n.canLaunchRuntimeTargets)t.push(`seat ${n.seatId} lacks canLaunchRuntimeTargets for launch_runtime_target`);if(r.allowedActionClass==="bounded_product_mutation"&&!r.requiresHumanApproval)t.push("bounded_product_mutation requires requiresHumanApproval=true");if(t.length>0)throw new vc(r.allowedActionClass,t)}function yE(r,n){let t=[],e=(_,c,o)=>{if(_!==c)t.push(`${o}: requested=${String(_)} vs approved=${String(c)}`)},i=(_,c,o)=>{let u=[..._].sort(),$=[...c].sort();if(u.length!==$.length||u.some((g,d)=>g!==$[d]))t.push(`${o}: requested=[${u.join(",")}] vs approved=[${$.join(",")}]`)};return e(r.ownerSeat,n.ownerSeat,"ownerSeat"),e(r.allowedActionClass,n.allowedActionClass,"allowedActionClass"),e(r.maxDurationMinutes,n.maxDurationMinutes,"maxDurationMinutes"),e(r.requiresHumanApproval,n.requiresHumanApproval,"requiresHumanApproval"),e(r.projectionPolicy,n.projectionPolicy,"projectionPolicy"),i(r.allowedCommands,n.allowedCommands,"allowedCommands"),i(r.repoRoots,n.repoRoots,"repoRoots"),i(r.ownedPaths,n.ownedPaths,"ownedPaths"),i(r.forbiddenPaths,n.forbiddenPaths,"forbiddenPaths"),i(r.verifyCommands,n.verifyCommands,"verifyCommands"),{matches:t.length===0,diffs:t}}var vc;var Wh=a(()=>{vc=class vc extends Error{actionClass;issues;constructor(r,n){super(`action class ${r} violated: ${n.join("; ")}`);this.actionClass=r;this.issues=n;this.name="ActionClassViolation"}}});import{appendFile as xH,mkdir as pH,readFile as sH}from"fs/promises";import{dirname as rY}from"path";function nY(r){let n={event_id:r.eventId,session_id:r.sessionId,turn_id:r.turnId,command_id:r.commandId,event_type:r.eventType,actor:r.actor,audience:r.audience,at:r.at,payload:r.payload??null};return`${JSON.stringify(n)}
|
|
184
|
+
`}async function Ur(r,n){await pH(rY(r),{recursive:!0}),await xH(r,nY(n),"utf-8")}async function ag(r){let n;try{n=await sH(r,"utf-8")}catch(e){if(e.code==="ENOENT")return[];throw e}return n.split(`
|
|
185
|
+
`).filter((e)=>e.trim().length>0).map((e,i)=>{let _;try{_=JSON.parse(e)}catch(c){throw Error(`events.jsonl line ${i+1} is not valid JSON: ${String(c)}`)}return{eventId:String(_.event_id),sessionId:String(_.session_id),turnId:_.turn_id===null||_.turn_id===void 0?null:String(_.turn_id),commandId:_.command_id===null||_.command_id===void 0?null:String(_.command_id),eventType:_.event_type,actor:String(_.actor),audience:_.audience,at:String(_.at),payload:_.payload}})}function ar(r,n){return{eventId:r.randomId(),sessionId:n.sessionId,turnId:n.turnId,commandId:n.commandId,eventType:n.eventType,actor:n.actor,audience:n.audience,at:n.at,payload:n.payload}}var $t=()=>{};function pr(r){r.run(`
|
|
186
|
+
PRAGMA journal_mode = WAL;
|
|
187
|
+
|
|
188
|
+
CREATE TABLE IF NOT EXISTS sessions (
|
|
189
|
+
session_id TEXT PRIMARY KEY,
|
|
190
|
+
campaign_root TEXT NOT NULL,
|
|
191
|
+
topic TEXT NOT NULL,
|
|
192
|
+
objective TEXT NOT NULL,
|
|
193
|
+
status TEXT NOT NULL CHECK (status IN ('running','paused','blocked','awaiting_human','closed')),
|
|
194
|
+
lead_seat TEXT NOT NULL,
|
|
195
|
+
responder_seat TEXT NOT NULL,
|
|
196
|
+
escalation_owner TEXT NOT NULL,
|
|
197
|
+
time_cap_minutes INTEGER NOT NULL,
|
|
198
|
+
turn_cap INTEGER NOT NULL,
|
|
199
|
+
current_turn_id TEXT,
|
|
200
|
+
next_owner_hint TEXT,
|
|
201
|
+
approved_next_turn_json TEXT,
|
|
202
|
+
last_blocker_json TEXT,
|
|
203
|
+
source_refs_json TEXT NOT NULL,
|
|
204
|
+
created_at TEXT NOT NULL,
|
|
205
|
+
updated_at TEXT NOT NULL
|
|
206
|
+
);
|
|
207
|
+
|
|
208
|
+
CREATE TABLE IF NOT EXISTS turns (
|
|
209
|
+
turn_id TEXT PRIMARY KEY,
|
|
210
|
+
session_id TEXT NOT NULL REFERENCES sessions(session_id),
|
|
211
|
+
sequence_no INTEGER NOT NULL,
|
|
212
|
+
status TEXT NOT NULL CHECK (status IN ('open','closed')),
|
|
213
|
+
owner_seat TEXT NOT NULL,
|
|
214
|
+
allowed_action_class TEXT NOT NULL CHECK (allowed_action_class IN (
|
|
215
|
+
'coordination_only','read_only_local','bounded_verification','bounded_product_mutation','human_only'
|
|
216
|
+
)),
|
|
217
|
+
max_duration_minutes INTEGER NOT NULL,
|
|
218
|
+
allowed_commands_json TEXT NOT NULL,
|
|
219
|
+
repo_roots_json TEXT NOT NULL,
|
|
220
|
+
owned_paths_json TEXT NOT NULL,
|
|
221
|
+
forbidden_paths_json TEXT NOT NULL,
|
|
222
|
+
verify_commands_json TEXT NOT NULL,
|
|
223
|
+
requires_human_approval INTEGER NOT NULL CHECK (requires_human_approval IN (0,1)),
|
|
224
|
+
projection_policy TEXT NOT NULL CHECK (projection_policy IN ('on_state_change','on_command_only')),
|
|
225
|
+
started_at TEXT NOT NULL,
|
|
226
|
+
ended_at TEXT,
|
|
227
|
+
result TEXT CHECK (result IS NULL OR result IN ('done','blocked','handed_off','stopped','timed_out')),
|
|
228
|
+
summary TEXT,
|
|
229
|
+
evidence_refs_json TEXT NOT NULL,
|
|
230
|
+
UNIQUE (session_id, sequence_no)
|
|
231
|
+
);
|
|
232
|
+
|
|
233
|
+
CREATE TABLE IF NOT EXISTS commands (
|
|
234
|
+
command_id TEXT PRIMARY KEY,
|
|
235
|
+
session_id TEXT NOT NULL REFERENCES sessions(session_id),
|
|
236
|
+
turn_id TEXT REFERENCES turns(turn_id),
|
|
237
|
+
issued_by TEXT NOT NULL,
|
|
238
|
+
command TEXT NOT NULL CHECK (command IN (
|
|
239
|
+
'status','pause','resume','stop','approve_next_turn','redirect_owner',
|
|
240
|
+
'request_summary','mark_blocked','escalate_to_human'
|
|
241
|
+
)),
|
|
242
|
+
payload_json TEXT NOT NULL,
|
|
243
|
+
status TEXT NOT NULL CHECK (status IN ('queued','applied','rejected','expired')),
|
|
244
|
+
issued_at TEXT NOT NULL,
|
|
245
|
+
applied_at TEXT,
|
|
246
|
+
rejection_reason TEXT
|
|
247
|
+
);
|
|
248
|
+
|
|
249
|
+
CREATE TABLE IF NOT EXISTS events (
|
|
250
|
+
seq INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
251
|
+
event_id TEXT UNIQUE NOT NULL,
|
|
252
|
+
session_id TEXT NOT NULL,
|
|
253
|
+
turn_id TEXT,
|
|
254
|
+
command_id TEXT,
|
|
255
|
+
event_type TEXT NOT NULL CHECK (event_type IN (
|
|
256
|
+
'session.opened','session.status_changed','session.next_owner_changed',
|
|
257
|
+
'turn.opened','turn.closed',
|
|
258
|
+
'command.queued','command.applied','command.rejected',
|
|
259
|
+
'projection.rendered','rebuild.completed'
|
|
260
|
+
)),
|
|
261
|
+
actor TEXT NOT NULL,
|
|
262
|
+
audience TEXT NOT NULL,
|
|
263
|
+
at TEXT NOT NULL,
|
|
264
|
+
payload_json TEXT NOT NULL
|
|
265
|
+
);
|
|
266
|
+
|
|
267
|
+
CREATE VIEW IF NOT EXISTS latest_session_state AS
|
|
268
|
+
SELECT
|
|
269
|
+
s.*,
|
|
270
|
+
t.turn_id AS current_turn_id_verified,
|
|
271
|
+
t.sequence_no AS current_turn_sequence_no,
|
|
272
|
+
t.status AS current_turn_status,
|
|
273
|
+
t.owner_seat AS current_turn_owner
|
|
274
|
+
FROM sessions s
|
|
275
|
+
LEFT JOIN turns t ON t.turn_id = s.current_turn_id;
|
|
276
|
+
|
|
277
|
+
CREATE VIEW IF NOT EXISTS latest_turn_state AS
|
|
278
|
+
SELECT * FROM turns
|
|
279
|
+
WHERE status = 'open'
|
|
280
|
+
ORDER BY started_at DESC;
|
|
281
|
+
|
|
282
|
+
CREATE VIEW IF NOT EXISTS pending_commands AS
|
|
283
|
+
SELECT * FROM commands
|
|
284
|
+
WHERE status = 'queued'
|
|
285
|
+
ORDER BY issued_at ASC;
|
|
286
|
+
`)}import{Database as tY}from"bun:sqlite";function Gr(r,n){r.run("BEGIN IMMEDIATE");try{let t=n();return r.run("COMMIT"),t}catch(t){try{r.run("ROLLBACK")}catch{}throw t}}function hE(r){let n=new tY(r);return{run(t,e){if(!e||e.length===0){n.exec(t);return}n.query(t).run(...e)},all(t,e){let i=n.query(t);if(!e||e.length===0)return i.all();return i.all(...e)},get(t,e){let i=n.query(t);return(!e||e.length===0?i.get():i.get(...e))??void 0},close(){n.close()}}}var kt=()=>{};var Or;var Ye=a(()=>{Or=class Or extends Error{code;constructor(r,n){super(r);this.code=n;this.name="SupervisionRuntimeError"}}});import{mkdir as iY,writeFile as eY}from"fs/promises";import{join as _Y}from"path";async function jn(r,n,t){let e=JSON.stringify({session:n,currentTurn:t},null,2);await iY(_Y(r,".."),{recursive:!0}),await eY(r,`${e}
|
|
287
|
+
`,"utf-8")}async function on(r,n,t,e,i){let _={sessionId:t.sessionId,renderedAt:r.now().toISOString(),sessionSnapshot:t,currentTurn:e,pendingCommands:i};await r.projectionAdapter.writeLatestProjection(n.latestProjectionPath,_),await r.projectionAdapter.renderStatusBoard(_);let c=new Set([t.leadSeat,t.responderSeat,t.escalationOwner]);for(let o of c)await r.projectionAdapter.renderSeatChannel(_,o);return _}var Di=()=>{};function Tg(r,n){r.run(`INSERT INTO sessions (
|
|
288
|
+
session_id, campaign_root, topic, objective, status,
|
|
289
|
+
lead_seat, responder_seat, escalation_owner,
|
|
290
|
+
time_cap_minutes, turn_cap,
|
|
291
|
+
current_turn_id, next_owner_hint, approved_next_turn_json, last_blocker_json,
|
|
292
|
+
source_refs_json, created_at, updated_at
|
|
293
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[n.sessionId,n.campaignRoot,n.topic,n.objective,n.status,n.leadSeat,n.responderSeat,n.escalationOwner,n.timeCapMinutes,n.turnCap,n.currentTurnId,n.nextOwnerHint,n.approvedNextTurnJson,n.lastBlockerJson,JSON.stringify(n.sourceRefs),n.createdAt,n.updatedAt])}function Eg(r,n){r.run(`INSERT INTO turns (
|
|
294
|
+
turn_id, session_id, sequence_no, status, owner_seat,
|
|
295
|
+
allowed_action_class, max_duration_minutes, allowed_commands_json,
|
|
296
|
+
repo_roots_json, owned_paths_json, forbidden_paths_json, verify_commands_json,
|
|
297
|
+
requires_human_approval, projection_policy,
|
|
298
|
+
started_at, ended_at, result, summary, evidence_refs_json
|
|
299
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[n.turnId,n.sessionId,n.sequenceNo,n.status,n.ownerSeat,n.allowedActionClass,n.maxDurationMinutes,JSON.stringify(n.allowedCommands),JSON.stringify(n.repoRoots),JSON.stringify(n.ownedPaths),JSON.stringify(n.forbiddenPaths),JSON.stringify(n.verifyCommands),n.requiresHumanApproval?1:0,n.projectionPolicy,n.startedAt,n.endedAt,n.result,n.summary,JSON.stringify(n.evidenceRefs)])}function Si(r,n){r.run(`INSERT INTO commands (
|
|
300
|
+
command_id, session_id, turn_id, issued_by, command, payload_json,
|
|
301
|
+
status, issued_at, applied_at, rejection_reason
|
|
302
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,[n.commandId,n.sessionId,n.turnId,n.issuedBy,n.command,n.payloadJson,n.status,n.issuedAt,n.appliedAt,n.rejectionReason])}function gr(r,n){r.run(`INSERT INTO events (
|
|
303
|
+
event_id, session_id, turn_id, command_id, event_type,
|
|
304
|
+
actor, audience, at, payload_json
|
|
305
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[n.eventId,n.sessionId,n.turnId,n.commandId,n.eventType,n.actor,n.audience,n.at,JSON.stringify(n.payload??null)])}function vt(r,n,t,e){r.run("UPDATE sessions SET status = ?, updated_at = ? WHERE session_id = ?",[t,e,n])}function lg(r,n,t,e){r.run("UPDATE sessions SET next_owner_hint = ?, updated_at = ? WHERE session_id = ?",[t,e,n])}function qg(r,n,t,e){r.run("UPDATE sessions SET approved_next_turn_json = ?, updated_at = ? WHERE session_id = ?",[t,e,n])}function Ng(r,n,t,e){r.run("UPDATE sessions SET last_blocker_json = ?, updated_at = ? WHERE session_id = ?",[t,e,n])}function Lg(r,n,t,e){r.run("UPDATE sessions SET current_turn_id = ?, updated_at = ? WHERE session_id = ?",[t,e,n])}function zg(r,n,t){r.run("UPDATE sessions SET current_turn_id = NULL, updated_at = ? WHERE session_id = ?",[t,n])}function jg(r,n,t){r.run("UPDATE sessions SET approved_next_turn_json = NULL, updated_at = ? WHERE session_id = ?",[t,n])}function Wg(r,n){r.run("UPDATE turns SET status = ?, ended_at = ?, result = ?, summary = ?, evidence_refs_json = ? WHERE turn_id = ?",[n.status,n.endedAt,n.result,n.summary,JSON.stringify(n.evidenceRefs),n.turnId])}function Ag(r,n,t){r.run("UPDATE commands SET status = 'applied', applied_at = ? WHERE command_id = ?",[t,n])}function Pg(r,n,t,e){r.run("UPDATE commands SET status = 'rejected', applied_at = ?, rejection_reason = ? WHERE command_id = ?",[t,e,n])}function un(r,n){let t=r.get("SELECT * FROM sessions WHERE session_id = ?",[n]);if(!t)throw new Or(`session ${n} not found`,"SESSION_NOT_FOUND");return cY(t)}function cY(r){return{sessionId:r.session_id,campaignRoot:r.campaign_root,topic:r.topic,objective:r.objective,status:r.status,leadSeat:r.lead_seat,responderSeat:r.responder_seat,escalationOwner:r.escalation_owner,timeCapMinutes:r.time_cap_minutes,turnCap:r.turn_cap,currentTurnId:r.current_turn_id,nextOwnerHint:r.next_owner_hint,approvedNextTurnJson:r.approved_next_turn_json,lastBlockerJson:r.last_blocker_json,sourceRefs:JSON.parse(r.source_refs_json),createdAt:r.created_at,updatedAt:r.updated_at}}function UE(r,n){let t=r.get("SELECT * FROM turns WHERE turn_id = ?",[n]);if(!t)throw new Or(`turn ${n} not found`,"TURN_NOT_FOUND");return OE(t)}function Mt(r,n){if(!n.currentTurnId)return null;let t=r.get("SELECT * FROM turns WHERE turn_id = ?",[n.currentTurnId]);return t?OE(t):null}function OE(r){return{turnId:r.turn_id,sessionId:r.session_id,sequenceNo:r.sequence_no,status:r.status,ownerSeat:r.owner_seat,allowedActionClass:r.allowed_action_class,maxDurationMinutes:r.max_duration_minutes,allowedCommands:JSON.parse(r.allowed_commands_json),repoRoots:JSON.parse(r.repo_roots_json),ownedPaths:JSON.parse(r.owned_paths_json),forbiddenPaths:JSON.parse(r.forbidden_paths_json),verifyCommands:JSON.parse(r.verify_commands_json),requiresHumanApproval:r.requires_human_approval===1,projectionPolicy:r.projection_policy,startedAt:r.started_at,endedAt:r.ended_at,result:r.result,summary:r.summary,evidenceRefs:JSON.parse(r.evidence_refs_json)}}function On(r,n){return r.all("SELECT * FROM commands WHERE session_id = ? AND status = ? ORDER BY issued_at ASC",[n,"queued"]).map(oY)}function oY(r){return{commandId:r.command_id,sessionId:r.session_id,turnId:r.turn_id,issuedBy:r.issued_by,command:r.command,payloadJson:r.payload_json,status:r.status,issuedAt:r.issued_at,appliedAt:r.applied_at,rejectionReason:r.rejection_reason}}var Vt=a(()=>{Ye()});import{existsSync as uY}from"fs";import{appendFile as $Y,readFile as gY}from"fs/promises";import{join as dY}from"path";async function RE(r,n){await Jt(r.seatManifestOverride);let t=fr(r.campaignRoot);await n.mkdirp(t.runtimeDir),await fY(r.campaignRoot);let e=n.openSqlite(t.sqlitePath);try{if(pr(e),e.get("SELECT session_id FROM sessions WHERE session_id = ?",[r.sessionId]))throw new Or(`session ${r.sessionId} already exists in ${t.sqlitePath}`,"SESSION_EXISTS");let _=n.now().toISOString(),c={sessionId:r.sessionId,campaignRoot:t.campaignRoot,topic:r.topic,objective:r.objective,status:"running",leadSeat:r.leadSeat,responderSeat:r.responderSeat,escalationOwner:r.escalationOwner,timeCapMinutes:r.timeCapMinutes,turnCap:r.turnCap,currentTurnId:null,nextOwnerHint:null,approvedNextTurnJson:null,lastBlockerJson:null,sourceRefs:[...r.sourceRefs],createdAt:_,updatedAt:_},o=ar(n,{eventType:"session.opened",sessionId:c.sessionId,turnId:null,commandId:null,actor:r.leadSeat,audience:"all",at:_,payload:c});return await Ur(t.eventsPath,o),Gr(e,()=>{Tg(e,c),gr(e,o)}),await jn(t.latestStatePath,c,null),await on(n,t,c,null,[]),c}finally{e.close()}}async function fY(r){let n=dY(r,".git","info","exclude");if(!uY(n))return;try{let t=await gY(n,"utf-8"),e=".etiquette/runtime/";if(!t.split(`
|
|
306
|
+
`).some((i)=>i.trim()===".etiquette/runtime/")){let i=t.endsWith(`
|
|
307
|
+
`)?"":`
|
|
308
|
+
`;await $Y(n,`${i}.etiquette/runtime/
|
|
309
|
+
`)}}catch{}}var DE=a(()=>{Ye();$t();kc();pn();Di();kt();Vt()});async function SE(r,n){let t=fr(r.campaignRoot),e=n.openSqlite(t.sqlitePath);try{pr(e);let i=un(e,r.sessionId),_=Mt(e,i),c=On(e,r.sessionId);return{sessionId:i.sessionId,renderedAt:n.now().toISOString(),sessionSnapshot:i,currentTurn:_,pendingCommands:c}}finally{e.close()}}async function aE(r,n){let t=fr(r.campaignRoot),e=n.openSqlite(t.sqlitePath);try{pr(e);let i=un(e,r.sessionId),_=Mt(e,i),c=On(e,r.sessionId),o=await on(n,t,i,_,c),u=o.renderedAt,$=ar(n,{eventType:"projection.rendered",sessionId:i.sessionId,turnId:i.currentTurnId,commandId:null,actor:"system",audience:"all",at:u,payload:{renderedAt:u}});return await Ur(t.eventsPath,$),Gr(e,()=>{gr(e,$)}),o}finally{e.close()}}var TE=a(()=>{$t();pn();Di();kt();Vt()});async function EE(r,n){let t=fr(r.campaignRoot),e=await Jt(r.seatManifestOverride);if(e.seatId!==r.ownerSeat)throw new Or(`seat manifest seatId (${e.seatId}) does not match turn owner (${r.ownerSeat}); each seat must load its own manifest`,"SEAT_MISMATCH");if(r.allowedActionClass==="human_only")throw await bY(t,n,r.sessionId,r.ownerSeat),new Or("human_only turns may not be opened by automation","HUMAN_ONLY");mE(r),IE(r,e);let i=n.openSqlite(t.sqlitePath);try{pr(i);let _=un(i,r.sessionId);if(_.status!=="running")throw new Or(`cannot open turn while session status is ${_.status}`,"SESSION_NOT_RUNNING");let c=i.get("SELECT turn_id FROM turns WHERE session_id = ? AND status = ?",[r.sessionId,"open"]);if(c)throw new Or(`session ${r.sessionId} already has an open turn (${c.turn_id})`,"TURN_ALREADY_OPEN");let o=!1;if(_.approvedNextTurnJson){let I;try{I=JSON.parse(_.approvedNextTurnJson)}catch(h){throw new Or(`stored approvedNextTurnJson is not valid JSON: ${String(h)}`,"APPROVAL_CORRUPT")}let w=yE({...r,projectionPolicy:r.projectionPolicy},I);if(!w.matches)throw new Or(`requested turn does not match approved_next_turn: ${w.diffs.join("; ")}`,"APPROVAL_MISMATCH");o=!0}else if(r.allowedActionClass==="bounded_product_mutation")throw new Or("bounded_product_mutation requires a prior approve_next_turn; none is present","APPROVAL_REQUIRED");let $=(i.get("SELECT MAX(sequence_no) AS max_seq FROM turns WHERE session_id = ?",[r.sessionId])?.max_seq??0)+1;if($>_.turnCap)throw new Or(`turn cap exceeded: session allows ${_.turnCap}, this would be turn ${$}`,"TURN_CAP");let g=n.now().toISOString(),d={turnId:n.randomId(),sessionId:r.sessionId,sequenceNo:$,status:"open",ownerSeat:r.ownerSeat,allowedActionClass:r.allowedActionClass,maxDurationMinutes:r.maxDurationMinutes,allowedCommands:[...r.allowedCommands],repoRoots:[...r.repoRoots],ownedPaths:[...r.ownedPaths],forbiddenPaths:[...r.forbiddenPaths],verifyCommands:[...r.verifyCommands],requiresHumanApproval:r.requiresHumanApproval,projectionPolicy:r.projectionPolicy,startedAt:g,endedAt:null,result:null,summary:null,evidenceRefs:[]},f=ar(n,{eventType:"turn.opened",sessionId:_.sessionId,turnId:d.turnId,commandId:null,actor:r.ownerSeat,audience:"all",at:g,payload:d});await Ur(t.eventsPath,f),Gr(i,()=>{if(Eg(i,d),Lg(i,_.sessionId,d.turnId,g),o)jg(i,_.sessionId,g);gr(i,f)});let b={..._,currentTurnId:d.turnId,approvedNextTurnJson:o?null:_.approvedNextTurnJson,updatedAt:g};return await jn(t.latestStatePath,b,d),await on(n,t,b,d,On(i,_.sessionId)),d}finally{i.close()}}async function bY(r,n,t,e){let i=n.openSqlite(r.sqlitePath);try{pr(i);let _=un(i,t),c=n.now().toISOString(),u=_.status!=="awaiting_human"?ar(n,{eventType:"session.status_changed",sessionId:t,turnId:null,commandId:null,actor:"system",audience:"all",at:c,payload:{from:_.status,to:"awaiting_human",reason:"human_only_turn_attempted"}}):null,$={commandId:n.randomId(),sessionId:t,turnId:null,issuedBy:e,command:"escalate_to_human",payloadJson:JSON.stringify({reason:"human_only_turn_attempted"}),status:"rejected",issuedAt:c,appliedAt:c,rejectionReason:"human_only turns may not be opened by automation"},g=ar(n,{eventType:"command.rejected",sessionId:t,turnId:null,commandId:$.commandId,actor:"system",audience:"all",at:c,payload:{command:"turn-open:human_only",rejectedAt:c,reason:$.rejectionReason}});if(u)await Ur(r.eventsPath,u);await Ur(r.eventsPath,g),Gr(i,()=>{if(u)vt(i,t,"awaiting_human",c),gr(i,u);Si(i,$),gr(i,g)});let d={..._,status:"awaiting_human",updatedAt:c};await jn(r.latestStatePath,d,null),await on(n,r,d,null,On(i,t))}finally{i.close()}}var lE=a(()=>{Wh();Ye();$t();kc();pn();Di();kt();Vt()});async function qE(r,n){let t=fr(r.campaignRoot),e=n.openSqlite(t.sqlitePath);try{pr(e);let i=un(e,r.sessionId),_=UE(e,r.turnId);if(_.sessionId!==r.sessionId)throw new Or(`turn ${r.turnId} does not belong to session ${r.sessionId}`,"TURN_SESSION_MISMATCH");if(_.status!=="open")throw new Or(`turn ${r.turnId} is not open (status=${_.status})`,"TURN_NOT_OPEN");let c=n.now().toISOString(),o={..._,status:"closed",endedAt:c,result:r.result,summary:r.summary,evidenceRefs:[...r.evidenceRefs]},u=r.result==="done"||r.result==="handed_off"?"running":r.result==="blocked"?"blocked":"awaiting_human",$=u!==i.status,g=u==="awaiting_human"&&!!i.approvedNextTurnJson,d=ar(n,{eventType:"turn.closed",sessionId:r.sessionId,turnId:_.turnId,commandId:null,actor:_.ownerSeat,audience:"all",at:c,payload:{endedAt:c,result:r.result,summary:r.summary,evidenceRefs:[...r.evidenceRefs]}}),f=$?ar(n,{eventType:"session.status_changed",sessionId:i.sessionId,turnId:null,commandId:null,actor:"system",audience:"all",at:c,payload:{from:i.status,to:u,reason:`turn_closed:${r.result}`}}):null;if(await Ur(t.eventsPath,d),f)await Ur(t.eventsPath,f);Gr(e,()=>{if(Wg(e,o),zg(e,i.sessionId,c),gr(e,d),f)vt(e,i.sessionId,u,c),gr(e,f);if(g)jg(e,i.sessionId,c)});let b={...i,currentTurnId:null,status:u,approvedNextTurnJson:g?null:i.approvedNextTurnJson,updatedAt:c};return await jn(t.latestStatePath,b,null),await on(n,t,b,null,On(e,i.sessionId)),o}finally{e.close()}}var NE=a(()=>{Ye();$t();pn();Di();kt();Vt()});async function LE(r,n){await Jt(r.seatManifestOverride);let t=fr(r.campaignRoot),e=n.openSqlite(t.sqlitePath);try{pr(e);let i=un(e,r.sessionId),_=n.now().toISOString(),c=n.randomId(),o={commandId:c,sessionId:r.sessionId,turnId:i.currentTurnId,issuedBy:r.actor,command:r.command,payloadJson:r.payloadJson,status:"queued",issuedAt:_,appliedAt:null,rejectionReason:null},u=ar(n,{eventType:"command.queued",sessionId:r.sessionId,turnId:i.currentTurnId,commandId:c,actor:r.actor,audience:"all",at:_,payload:{command:r.command,issuedBy:r.actor,turnId:i.currentTurnId,payloadJson:r.payloadJson,issuedAt:_}}),$=wY(i,r.command,r.payloadJson,_);if($.status==="rejected"){let R=$.reason??"unknown",S=ar(n,{eventType:"command.rejected",sessionId:r.sessionId,turnId:i.currentTurnId,commandId:c,actor:"system",audience:"all",at:_,payload:{command:r.command,rejectedAt:_,reason:R}});return await Ur(t.eventsPath,u),await Ur(t.eventsPath,S),Gr(e,()=>{Si(e,o),gr(e,u),Pg(e,c,_,R),gr(e,S)}),{...o,status:"rejected",appliedAt:_,rejectionReason:R}}let g=ar(n,{eventType:"command.applied",sessionId:r.sessionId,turnId:i.currentTurnId,commandId:c,actor:"system",audience:"all",at:_,payload:{command:r.command,appliedAt:_,resultingState:$.resultingState??{}}}),d=!!($.statusTo&&$.statusTo!==i.status),f=$.nextOwnerTo!==void 0&&$.nextOwnerTo!==i.nextOwnerHint,b=d?ar(n,{eventType:"session.status_changed",sessionId:r.sessionId,turnId:null,commandId:c,actor:"system",audience:"all",at:_,payload:{from:i.status,to:$.statusTo,reason:`command:${r.command}`}}):null,I=f?ar(n,{eventType:"session.next_owner_changed",sessionId:r.sessionId,turnId:null,commandId:c,actor:"system",audience:"all",at:_,payload:{from:i.nextOwnerHint,to:$.nextOwnerTo}}):null;if(await Ur(t.eventsPath,u),await Ur(t.eventsPath,g),b)await Ur(t.eventsPath,b);if(I)await Ur(t.eventsPath,I);Gr(e,()=>{if(Si(e,o),gr(e,u),Ag(e,c,_),gr(e,g),b&&$.statusTo)vt(e,r.sessionId,$.statusTo,_),gr(e,b);if(I)lg(e,r.sessionId,$.nextOwnerTo??null,_),gr(e,I);if($.resultingState?.approvedNextTurnJson!==void 0)qg(e,r.sessionId,$.resultingState.approvedNextTurnJson,_);if($.resultingState?.lastBlockerJson!==void 0)Ng(e,r.sessionId,$.resultingState.lastBlockerJson,_)});let w=un(e,r.sessionId),h={...o,status:"applied",appliedAt:_};return await jn(t.latestStatePath,w,Mt(e,w)),await on(n,t,w,Mt(e,w),On(e,r.sessionId)),h}finally{e.close()}}function wY(r,n,t,e){switch(n){case"status":return{status:"applied"};case"pause":if(r.status!=="running")return{status:"rejected",reason:`pause requires status=running (current=${r.status})`};return{status:"applied",statusTo:"paused"};case"resume":if(r.status==="paused")return{status:"applied",statusTo:"running"};if(r.status==="awaiting_human"&&r.approvedNextTurnJson)return{status:"applied",statusTo:"running"};return{status:"rejected",reason:r.status==="awaiting_human"?"resume from awaiting_human requires prior approve_next_turn":`resume requires status=paused or awaiting_human+approval (current=${r.status})`};case"stop":if(r.status==="closed")return{status:"rejected",reason:"cannot stop a closed session"};return{status:"applied",statusTo:"awaiting_human",resultingState:{approvedNextTurnJson:null}};case"mark_blocked":{let i=Ah(t);if(!i||typeof i!=="object")return{status:"rejected",reason:"mark_blocked requires a JSON object payload"};let _=i;if(!_.reason||typeof _.reason!=="string")return{status:"rejected",reason:'mark_blocked payload requires "reason" string'};let c={reason:_.reason,raisedBy:typeof _.raisedBy==="string"?_.raisedBy:"unknown",raisedAt:typeof _.raisedAt==="string"?_.raisedAt:e,escalationOwner:typeof _.escalationOwner==="string"?_.escalationOwner:r.escalationOwner,evidenceRefs:Array.isArray(_.evidenceRefs)?_.evidenceRefs.filter((o)=>typeof o==="string"):[]};return{status:"applied",statusTo:"blocked",resultingState:{lastBlockerJson:JSON.stringify(c)}}}case"request_summary":return{status:"applied"};case"redirect_owner":{let i=Ah(t),_=i&&typeof i==="object"?i.nextOwnerHint:void 0;if(_!==null&&typeof _!=="string")return{status:"rejected",reason:"redirect_owner requires { nextOwnerHint: string | null }"};return{status:"applied",nextOwnerTo:_}}case"approve_next_turn":{let i=Ah(t);if(!i||typeof i!=="object")return{status:"rejected",reason:"approve_next_turn requires a JSON object payload"};let _=i,c=["ownerSeat","allowedActionClass","projectionPolicy","issuedBy","issuedAt"];for(let u of c)if(typeof _[u]!=="string")return{status:"rejected",reason:`approve_next_turn payload missing "${u}"`};if(typeof _.maxDurationMinutes!=="number")return{status:"rejected",reason:'approve_next_turn payload "maxDurationMinutes" must be a number'};if(typeof _.requiresHumanApproval!=="boolean")return{status:"rejected",reason:'approve_next_turn payload "requiresHumanApproval" must be a boolean'};for(let u of["allowedCommands","repoRoots","ownedPaths","forbiddenPaths","verifyCommands"])if(!Array.isArray(_[u]))return{status:"rejected",reason:`approve_next_turn payload "${u}" must be an array`};return{status:"applied",statusTo:r.status==="awaiting_human"?"running":void 0,resultingState:{approvedNextTurnJson:t}}}case"escalate_to_human":return{status:"applied",statusTo:"awaiting_human"};default:return{status:"rejected",reason:`unknown command: ${String(n)}`}}}function Ah(r){try{return JSON.parse(r)}catch{return}}var zE=a(()=>{$t();kc();pn();Di();kt();Vt()});function jE(r,n){switch(n.eventType){case"session.opened":{let t=n.payload;Tg(r,t);break}case"session.status_changed":{let t=n.payload;vt(r,n.sessionId,t.to,n.at);break}case"session.next_owner_changed":{let t=n.payload;lg(r,n.sessionId,t.to,n.at);break}case"turn.opened":{let t=n.payload;Eg(r,t),Lg(r,n.sessionId,t.turnId,n.at);break}case"turn.closed":{let t=n.payload;Wg(r,{turnId:n.turnId??"",sessionId:n.sessionId,sequenceNo:0,status:"closed",ownerSeat:"",allowedActionClass:"coordination_only",maxDurationMinutes:0,allowedCommands:[],repoRoots:[],ownedPaths:[],forbiddenPaths:[],verifyCommands:[],requiresHumanApproval:!1,projectionPolicy:"on_state_change",startedAt:n.at,endedAt:t.endedAt,result:t.result,summary:t.summary,evidenceRefs:[...t.evidenceRefs]}),zg(r,n.sessionId,n.at);break}case"command.queued":{let t=n.payload;Si(r,{commandId:n.commandId??"",sessionId:n.sessionId,turnId:t.turnId,issuedBy:t.issuedBy,command:t.command,payloadJson:t.payloadJson,status:"queued",issuedAt:t.issuedAt,appliedAt:null,rejectionReason:null});break}case"command.applied":{let t=n.payload;if(Ag(r,n.commandId??"",t.appliedAt),t.resultingState?.approvedNextTurnJson!==void 0)qg(r,n.sessionId,t.resultingState.approvedNextTurnJson,t.appliedAt);if(t.resultingState?.lastBlockerJson!==void 0)Ng(r,n.sessionId,t.resultingState.lastBlockerJson,t.appliedAt);break}case"command.rejected":{let t=n.payload;Pg(r,n.commandId??"",t.rejectedAt,t.reason);break}case"projection.rendered":case"rebuild.completed":break}gr(r,n)}var WE=a(()=>{Vt()});import{existsSync as mY}from"fs";import{rm as Ph}from"fs/promises";async function AE(r,n){let t=fr(r.campaignRoot);if(mY(t.sqlitePath))await Ph(t.sqlitePath,{force:!0});await Ph(`${t.sqlitePath}-wal`,{force:!0}),await Ph(`${t.sqlitePath}-shm`,{force:!0});let e=await ag(t.eventsPath),i=n.openSqlite(t.sqlitePath);try{pr(i);let _=Gr(i,()=>{let f=0;for(let b of e){if(b.sessionId!==r.sessionId)continue;jE(i,b),f+=1}return f}),c=un(i,r.sessionId),o=Mt(i,c),u=On(i,r.sessionId);await jn(t.latestStatePath,c,o);let $=await on(n,t,c,o,u),g=n.now().toISOString(),d=ar(n,{eventType:"rebuild.completed",sessionId:r.sessionId,turnId:c.currentTurnId,commandId:null,actor:"system",audience:"all",at:g,payload:{completedAt:g,eventCount:_}});return await Ur(t.eventsPath,d),Gr(i,()=>{gr(i,d)}),$}finally{i.close()}}var PE=a(()=>{$t();WE();pn();Di();kt();Vt()});var Jh=a(()=>{pn();kc();Wh();$t();kt();Ye();DE();TE();lE();NE();zE();PE()});import{mkdir as kh,writeFile as vh}from"fs/promises";import{dirname as IY,join as JE,resolve as kE}from"path";function vE(r){let n=kE(r.projectionDir),t=kE(r.eventsPath),e=JE(n,"STATUS_BOARD.md"),i=(_)=>{let c=_.replace(/[^A-Za-z0-9._@-]/g,"_");return JE(n,`${c}.channel.md`)};return{async renderStatusBoard(_){let c=yY(_);await kh(n,{recursive:!0}),await vh(e,c,"utf-8")},async renderSeatChannel(_,c){let o=await ag(t),u=OY(_,c,o);await kh(n,{recursive:!0}),await vh(i(c),u,"utf-8")},async writeLatestProjection(_,c){let o=SY(c);await kh(IY(_),{recursive:!0}),await vh(_,`${JSON.stringify(o,null,2)}
|
|
310
|
+
`,"utf-8")}}}function yY(r){let n=r.sessionSnapshot,t=[];if(t.push("# Supervision Status Board"),t.push(""),t.push("> Generated by etiquette supervision sidecar."),t.push("> Source of truth: `events.jsonl` in the campaign runtime."),t.push("> If this file and supervision state disagree, regenerate; do not hand-edit."),t.push(""),t.push("## Session"),t.push(""),t.push(`- **session_id:** \`${n.sessionId}\``),t.push(`- **topic:** ${n.topic}`),t.push(`- **objective:** ${n.objective}`),t.push(`- **status:** \`${n.status}\``),t.push(`- **lead_seat:** \`${n.leadSeat}\``),t.push(`- **responder_seat:** \`${n.responderSeat}\``),t.push(`- **escalation_owner:** \`${n.escalationOwner}\``),t.push(`- **time_cap_minutes:** ${n.timeCapMinutes}`),t.push(`- **turn_cap:** ${n.turnCap}`),n.nextOwnerHint)t.push(`- **next_owner_hint:** \`${n.nextOwnerHint}\``);if(n.approvedNextTurnJson)t.push("- **approved_next_turn:** present (see events.jsonl for payload)");if(t.push(`- **created_at:** ${n.createdAt}`),t.push(`- **updated_at:** ${n.updatedAt}`),n.sourceRefs.length>0){t.push("- **source_refs:**");for(let e of[...n.sourceRefs].sort())t.push(` - ${e}`)}if(t.push(""),t.push("## Current turn"),t.push(""),r.currentTurn)hY(t,r.currentTurn);else t.push("_no open turn_");if(t.push(""),t.push("## Pending commands"),t.push(""),r.pendingCommands.length===0)t.push("_none_");else for(let e of[...r.pendingCommands].sort((i,_)=>i.issuedAt.localeCompare(_.issuedAt)))UY(t,e);if(n.lastBlockerJson)t.push(""),t.push("## Last blocker"),t.push(""),t.push("```json"),t.push(DY(n.lastBlockerJson)),t.push("```");return t.push(""),t.push("---"),t.push(`Rendered at ${r.renderedAt} by the supervision sidecar.`),t.push("Divergence rule: patch this file by regenerating, not by hand-edit."),t.push(""),t.join(`
|
|
311
|
+
`)}function hY(r,n){if(r.push(`- **turn_id:** \`${n.turnId}\``),r.push(`- **sequence_no:** ${n.sequenceNo}`),r.push(`- **status:** \`${n.status}\``),r.push(`- **owner:** \`${n.ownerSeat}\``),r.push(`- **action_class:** \`${n.allowedActionClass}\``),r.push(`- **max_duration_minutes:** ${n.maxDurationMinutes}`),r.push(`- **allowed_commands:** [${[...n.allowedCommands].sort().join(", ")}]`),n.repoRoots.length>0)r.push(`- **repo_roots:** [${[...n.repoRoots].sort().join(", ")}]`);if(n.ownedPaths.length>0)r.push(`- **owned_paths:** [${[...n.ownedPaths].sort().join(", ")}]`);if(n.forbiddenPaths.length>0)r.push(`- **forbidden_paths:** [${[...n.forbiddenPaths].sort().join(", ")}]`);if(n.verifyCommands.length>0)r.push(`- **verify_commands:** [${[...n.verifyCommands].sort().join(", ")}]`);r.push(`- **requires_human_approval:** ${n.requiresHumanApproval}`),r.push(`- **projection_policy:** \`${n.projectionPolicy}\``),r.push(`- **started_at:** ${n.startedAt}`)}function UY(r,n){r.push(`- \`${n.command}\` by \`${n.issuedBy}\` at ${n.issuedAt}`)}function OY(r,n,t){let e=r.sessionSnapshot,i=`seat:${n}`,_=[];if(e.leadSeat===n)_.push("lead");if(e.responderSeat===n)_.push("responder");if(e.escalationOwner===n)_.push("escalation_owner");let c=new Set(["projection.rendered","rebuild.completed"]),o=t.filter(($)=>{if(c.has($.eventType))return!1;if($.audience==="all")return!0;if($.audience===i)return!0;if($.audience==="lead"&&_.includes("lead"))return!0;if($.audience==="responder"&&_.includes("responder"))return!0;if($.audience==="escalation_owner"&&_.includes("escalation_owner"))return!0;return!1}),u=[];if(u.push(`# ${n} - Supervision Channel`),u.push(""),u.push(`- **session_id:** \`${e.sessionId}\``),u.push(`- **session_topic:** ${e.topic}`),u.push(`- **seat_roles_in_session:** ${_.length>0?_.join(", "):"_none_"}`),u.push(`- **generated_at:** ${r.renderedAt}`),u.push(""),u.push("> Auto-generated projection. Do not hand-edit."),u.push("> Authoritative source: `events.jsonl` filtered by seat audience."),u.push("> Regeneration overwrites this file on every state change."),u.push(""),u.push(`## Event log (${o.length} entries)`),u.push(""),o.length===0)u.push("_no events addressed to this seat yet_");else for(let $ of o)u.push(`- \`${$.at}\` \u2014 \`${$.eventType}\` \u2014 ${RY($)}`);return u.push(""),u.join(`
|
|
312
|
+
`)}function RY(r){switch(r.eventType){case"session.opened":return`session opened by ${r.actor}`;case"session.status_changed":{let n=r.payload??{};return`status ${n.from??"?"} -> ${n.to??"?"}`}case"session.next_owner_changed":{let n=r.payload??{};return`next_owner_hint ${n.from??"null"} -> ${n.to??"null"}`}case"turn.opened":{let n=r.payload??{};return`turn opened for ${n.ownerSeat??"?"} (${n.allowedActionClass??"?"})`}case"turn.closed":{let n=r.payload??{};return`turn closed (${n.result??"?"}): ${n.summary??""}`}case"command.queued":{let n=r.payload??{};return`${n.command??"?"} queued by ${n.issuedBy??"?"}`}case"command.applied":return`${(r.payload??{}).command??"?"} applied`;case"command.rejected":{let n=r.payload??{};return`${n.command??"?"} rejected: ${n.reason??""}`}case"projection.rendered":return"projection rendered";case"rebuild.completed":return`rebuild completed (${(r.payload??{}).eventCount??"?"} events replayed)`;default:return`(event type ${String(r.eventType)})`}}function DY(r){try{return JSON.stringify(JSON.parse(r),null,2)}catch{return r}}function SY(r){let n=[...r.sessionSnapshot.sourceRefs].sort(),t=[...r.pendingCommands].sort((e,i)=>e.issuedAt.localeCompare(i.issuedAt)||e.commandId.localeCompare(i.commandId));return{...r,sessionSnapshot:{...r.sessionSnapshot,sourceRefs:n},pendingCommands:t}}var ME=a(()=>{$t()});import{randomUUID as aY}from"crypto";import{appendFile as TY,mkdir as EY,readFile as lY,writeFile as qY}from"fs/promises";import{resolve as VE}from"path";function Ft(r,n){let t=vE({projectionDir:r,eventsPath:n});return{now:()=>new Date,randomId:()=>aY(),readFile:(e)=>lY(e,"utf-8"),writeFile:(e,i)=>qY(e,i,"utf-8"),appendFile:(e,i)=>TY(e,i,"utf-8"),mkdirp:async(e)=>{await EY(e,{recursive:!0})},openSqlite:(e)=>hE(e),projectionAdapter:t}}function Gt(r,n,t){let e=m(r,"projection-dir");if(e)return VE(e);return VE(n,".etiquette","projections",t)}var FE=a(()=>{Jh();ME();Er()});var GE={};Wn(GE,{dispatchSupervision:()=>LY,SUPERVISION_COMMANDS_CLI:()=>NY});import{resolve as ai}from"path";async function LY(r,n,t){try{switch(r){case"seat-validate":{let e=m(t,"manifest"),i=await Jt(e);if(t.json===!0)console.log(JSON.stringify(i,null,2));else console.log(`seat ${i.seatId} (${i.runtimeKind}) \u2014 manifest OK`),console.log(` allowedActionClasses: ${i.allowedActionClasses.join(", ")}`),console.log(` canWriteProductRepo: ${i.canWriteProductRepo}`),console.log(` canRunBuilds: ${i.canRunBuilds}`),console.log(` canAcceptMobileSteering: ${i.canAcceptMobileSteering}`);return}case"session-open":{let e=wr(n,1,"session-id"),i=ai(O(t,"campaign-root")),_=fr(i),c=Gt(t,i,e),o=Ft(c,_.eventsPath),u=await RE({sessionId:e,campaignRoot:i,topic:m(t,"topic")??e,objective:O(t,"objective"),leadSeat:O(t,"lead"),responderSeat:O(t,"responder"),escalationOwner:O(t,"escalation-owner"),timeCapMinutes:dn(t["time-cap"],"time-cap"),turnCap:dn(t["turn-cap"],"turn-cap"),sourceRefs:br(t["source-ref"]),seatManifestOverride:m(t,"seat-manifest")},o);console.log(`opened session ${u.sessionId} (status=${u.status})`);return}case"session-status":{let e=wr(n,1,"session-id"),i=ai(O(t,"campaign-root")),_=fr(i),c=Gt(t,i,e),o=Ft(c,_.eventsPath),u=await SE({sessionId:e,campaignRoot:i},o);if(t.json===!0)console.log(JSON.stringify(u,null,2));else{let $=u.sessionSnapshot;console.log(`session ${$.sessionId} \u2014 ${$.status}`),console.log(` topic: ${$.topic}`),console.log(` lead/responder/escalation: ${$.leadSeat} / ${$.responderSeat} / ${$.escalationOwner}`),console.log(` current_turn: ${u.currentTurn?.turnId??"(none)"}`),console.log(` pending_commands: ${u.pendingCommands.length}`)}return}case"turn-open":{let e=wr(n,1,"session-id"),i=ai(O(t,"campaign-root")),_=fr(i),c=Gt(t,i,e),o=Ft(c,_.eventsPath),u=await EE({sessionId:e,campaignRoot:i,ownerSeat:O(t,"owner"),allowedActionClass:pO(t["action-class"],"action-class"),maxDurationMinutes:dn(t["max-duration"],"max-duration"),allowedCommands:xO(t["allowed-command"],"allowed-command"),repoRoots:br(t["repo-root"]),ownedPaths:br(t["owned-path"]),forbiddenPaths:br(t["forbidden-path"]),verifyCommands:br(t["verify-command"]),requiresHumanApproval:t["requires-human-approval"]===!0,projectionPolicy:sO(t["projection-policy"]),seatManifestOverride:m(t,"seat-manifest")},o);console.log(`opened turn ${u.turnId} (seq=${u.sequenceNo}, class=${u.allowedActionClass})`);return}case"turn-close":{let e=wr(n,1,"session-id"),i=ai(O(t,"campaign-root")),_=fr(i),c=Gt(t,i,e),o=Ft(c,_.eventsPath),u=await qE({sessionId:e,campaignRoot:i,turnId:O(t,"turn"),result:rR(t.result),summary:O(t,"summary"),evidenceRefs:br(t["evidence-ref"])},o);console.log(`closed turn ${u.turnId} (result=${u.result})`);return}case"session-command":{let e=wr(n,1,"session-id"),i=nR(n[2]),_=ai(O(t,"campaign-root")),c=fr(_),o=Gt(t,_,e),u=Ft(o,c.eventsPath),$=await LE({sessionId:e,campaignRoot:_,command:i,actor:m(t,"actor")??"operator",payloadJson:m(t,"payload")??"{}",seatManifestOverride:m(t,"seat-manifest")},u);if($.status==="rejected")console.error(`command ${i} rejected: ${$.rejectionReason}`),process.exit(3);console.log(`command ${i} applied (id=${$.commandId})`);return}case"session-project":{let e=wr(n,1,"session-id"),i=ai(O(t,"campaign-root")),_=fr(i),c=Gt(t,i,e),o=Ft(c,_.eventsPath),u=await aE({sessionId:e,campaignRoot:i},o);console.log(`projected session ${u.sessionId} at ${u.renderedAt}`);return}case"session-rebuild":{let e=wr(n,1,"session-id"),i=ai(O(t,"campaign-root")),_=fr(i),c=Gt(t,i,e),o=Ft(c,_.eventsPath),u=await AE({sessionId:e,campaignRoot:i},o);console.log(`rebuilt session ${u.sessionId} (current_status=${u.sessionSnapshot.status})`);return}default:console.error(`unknown supervision command: ${r}`),console.error(Ve()),process.exit(1)}}catch(e){if(e instanceof Ri){console.error(`seat manifest invalid (${e.path}):`);for(let i of e.issues)console.error(` - ${i}`);process.exit(2)}if(e instanceof vc){console.error(`action class violation (${e.actionClass}):`);for(let i of e.issues)console.error(` - ${i}`);process.exit(4)}if(e instanceof Or)console.error(`supervision error [${e.code}]: ${e.message}`),process.exit(5);throw e}}var NY;var XE=a(()=>{Jh();pn();Er();FE();NY=new Set(["session-open","session-status","turn-open","turn-close","session-command","session-project","session-rebuild","seat-validate"])});Er();Er();import{resolve as UG}from"path";import{spawnSync as W$}from"child_process";import{createHash as nV,createHmac as tV,timingSafeEqual as iV}from"crypto";import{existsSync as or}from"fs";import{appendFile as hc,mkdir as _r,readFile as De,readdir as ae,rm as zy,writeFile as Hn}from"fs/promises";import{dirname as Rc,join as j,relative as eV,resolve as Yn}from"path";var _k=Y6(),ck=s_(),ok=L6(),ey=rc(),uk=v_(),qt=Z(),$k=St(),gk=mr(),dk=Tt(),fk=Et(),jK=I$(),bk=ny(),wk=ty(),mk=iy(),U$=uD(),$D=J_();var Ik=_k.Composer,yk=ck.Document,hk=ok.Schema,Uk=ey.YAMLError,Ok=ey.YAMLParseError,Rk=ey.YAMLWarning,Dk=uk.Alias,Sk=qt.isAlias,ak=qt.isCollection,Tk=qt.isDocument,Ek=qt.isMap,lk=qt.isNode,qk=qt.isPair,Nk=qt.isScalar,Lk=qt.isSeq,zk=$k.Pair,jk=gk.Scalar,Wk=dk.YAMLMap,Ak=fk.YAMLSeq;var Pk=bk.Lexer,Jk=wk.LineCounter,kk=mk.Parser,ir=U$.parse,vk=U$.parseAllDocuments,Mk=U$.parseDocument,wn=U$.stringify,Vk=$D.visit,Fk=$D.visitAsync;Er();import{randomUUID as Gk}from"crypto";import{existsSync as Xk}from"fs";import{mkdir as Bk,readFile as Hk,writeFile as Yk}from"fs/promises";import{basename as Qk,dirname as Kk,join as Ck,resolve as _y}from"path";var O$="project-binding.v0",Zk=/^[A-Za-z0-9][A-Za-z0-9_-]{0,79}$/;function we(r){return Ck(_y(r),".etiquette","project.yaml")}function xk(r){return Qk(_y(r)).toLowerCase().replace(/[^a-z0-9._-]+/g,"-").replace(/^-+|-+$/g,"")||"project"}function gD(r,n="project_id"){if(!Zk.test(r))throw Error(`${n} must be an opaque id using letters, numbers, hyphen, or underscore`)}function dD(r,n){if(!Number.isFinite(Date.parse(r)))throw Error(`${n} must be an ISO-8601 timestamp`)}function pk(r){return[`schema: ${r.schema}`,`project_id: ${r.project_id}`,`project_name: ${r.project_name}`,"project_ref: .",`created_at: ${r.created_at}`,"authority_boundary:"," project_binding_authorizes_work: false"," can_merge: false"," can_close: false"," can_grant: false"," can_write_global_ledger: false",""].join(`
|
|
313
|
+
`)}function sk(r){if(typeof r!=="object"||r===null||Array.isArray(r))throw Error("project binding must be an object");let n=r;if(n.schema!==O$)throw Error(`project binding schema must be ${O$}`);if(typeof n.project_id!=="string")throw Error("project_id is required");if(typeof n.project_name!=="string"||n.project_name.trim().length===0)throw Error("project_name is required");if(n.project_ref!==".")throw Error("project_ref must be .");if(typeof n.created_at!=="string")throw Error("created_at is required");gD(n.project_id),dD(n.created_at,"created_at");let t=n.authority_boundary;if(typeof t!=="object"||t===null||Array.isArray(t))throw Error("authority_boundary is required");for(let e of["project_binding_authorizes_work","can_merge","can_close","can_grant","can_write_global_ledger"])if(t[e]!==!1)throw Error(`authority_boundary.${e} must be false`);return{schema:O$,project_id:n.project_id,project_name:n.project_name.trim(),project_ref:".",created_at:new Date(n.created_at).toISOString(),authority_boundary:{project_binding_authorizes_work:!1,can_merge:!1,can_close:!1,can_grant:!1,can_write_global_ledger:!1}}}async function R$(r){let n=we(r);if(!Xk(n))return null;return sk(ir(await Hk(n,"utf-8")))}async function vr(r,n){let t=await R$(r);if(t)return t;let e=_y(r),i=n?new Date(n).toISOString():new Date().toISOString();dD(i,"created_at");let _=xk(e),c={schema:O$,project_id:`${_}-${Gk().slice(0,8)}`,project_name:_,project_ref:".",created_at:i,authority_boundary:{project_binding_authorizes_work:!1,can_merge:!1,can_close:!1,can_grant:!1,can_write_global_ledger:!1}};return await Bk(Kk(we(e)),{recursive:!0}),await Yk(we(e),pk(c)),c}function D$(r,n,t){if(!n)return;if(gD(n,"--expect-project-id"),!r)throw Error(`engagement mismatch: ${t} has no project_id; expected ${n}`);if(r!==n)throw Error(`ERROR: different engagement - ${t} project_id=${r} does not match expected project_id=${n}`)}function me(r,n,t){if(!r)throw Error(`engagement mismatch: ${t} has no project_id; recreate the session under the current project`);if(r!==n)throw Error(`ERROR: different engagement - ${t} project_id=${r} does not match current project_id=${n}`)}import{randomUUID as uv}from"crypto";import{existsSync as oc}from"fs";import{appendFile as $v,mkdir as fD,readFile as cc,readdir as gv,writeFile as uc}from"fs/promises";import{dirname as uy,join as _i,relative as dv,resolve as $c}from"path";var rv=/(?:\/Users\/|\/home\/|\/private\/|\/tmp\/|\$HOME|~\/|[A-Za-z]:\\)/,nv=/\b[a-z0-9][a-z0-9-]*(?:\.[a-z0-9][a-z0-9-]*)*\.(?:local|lan|internal|intranet|localdomain)\b/i,tv=/\b\d{1,3}(?:\.\d{1,3}){3}\b/,iv=/\b(?:[0-9a-f]{1,4}:){2,}[0-9a-f]{0,4}\b/i,ev=/\b(?:ANTHROPIC_API_KEY|OPENAI_API_KEY|GEMINI_API_KEY|api[_-]?key|token|secret)\b\s*[:=]|sk-[A-Za-z0-9_-]{12,}/i,_v=/\b(raw prompt|user prompt|prompt transcript|UserPromptSubmit)\b/i,cv=/\b(raw tool output|tool transcript|PostToolUse output|stdout:|stderr:)\b/i,ov=/```/;function rr(r){let n=new Set;if(rv.test(r))n.add("contains_local_path");if(nv.test(r)||tv.test(r)||iv.test(r))n.add("contains_hostname");if(ev.test(r))n.add("contains_credential");if(_v.test(r))n.add("contains_raw_prompt");if(cv.test(r))n.add("contains_raw_tool_output");if(ov.test(r))n.add("contains_source_snippet");return[...n]}function X(r,n){let t=rr(r);if(t.length>0)throw Error(`${n} contains restricted shared-memory content: ${t.join(", ")}`)}function J(r,n){if(X(r,n),!/^[A-Za-z0-9][A-Za-z0-9_.:-]{0,79}$/.test(r))throw Error(`${n} must be an opaque id using only letters, numbers, _, ., :, or -`)}var gc=["plan","tool","retry","evidence","note"],fv=/^[A-Za-z0-9][A-Za-z0-9_.-]{0,79}$/;function bv(r){if(!Number.isFinite(Date.parse(r)))throw Error("--at must be an ISO-8601 timestamp")}function bD(r){let n=r??new Date().toISOString();return bv(n),new Date(n).toISOString()}function wv(r){return r.replace(/[-:.]/g,"").replace(/\.\d+Z$/,"Z")}function mv(r){return`session-${wv(r)}-${uv().slice(0,8)}`}function wD(r){if(!fv.test(r))throw Error("session id must be an opaque id using letters, numbers, _, ., or -")}function cy(r,n){if(r===void 0)return null;return J(r,n),r}function S$(r,n){let t=$c(r),e=$c(n),i=dv(t,e);if(i.length===0||i.startsWith("..")||i.includes("\\"))throw Error(`path must stay inside project root: ${n}`);return i}function $y(r,n){return _i(r,"docs","work","sessions",n)}function mD(r,n){return _i($y(r,n),"session.json")}function ID(r,n){return _i($y(r,n),"RUNBOOK.md")}async function Iv(r){let n=_i(r,"docs","work","sessions");if(!oc(n))return[];return(await gv(n,{withFileTypes:!0})).filter((e)=>e.isDirectory()).map((e)=>_i(n,e.name,"session.json")).filter((e)=>oc(e))}function oy(r){return r??"none"}function yv(r){return[`# Session Runbook: ${r.session_id}`,"",`- Schema: \`${r.schema}\``,`- Project ID: \`${r.project_id}\``,`- Seat: \`${r.seat}\``,`- Operator Principal: \`${oy(r.operator_principal)}\``,`- Owner Principal: \`${oy(r.owner_principal)}\``,`- Task: \`${r.task_ref}\``,`- Target Ref: \`${oy(r.target_ref)}\``,`- Created At: \`${r.created_at}\``,`- Creation Mode: \`${r.creation_mode}\``,`- Manifest Ref: \`${r.manifest_ref}\``,`- Runbook Ref: \`${r.runbook_ref}\``,"","## Ledger Boundary","","- Global governance ledger: receipt/ref only.","- Repo-local session ledger: this runbook and `session.json` manifest.","- Ephemeral workspace logs: summarize outcomes; do not paste raw prompts, secrets, or full tool output.","- Authority: this session record is evidence only; it cannot authorize, merge, close, promote, or write global ledger truth.","","## Assumptions & Plan","","- _No entries yet._","","## Tool Summary","","- _No entries yet._","","## Retries & Corrections","","- _No entries yet._","","## Exit Evidence","","- _No entries yet._","","## Notes","","- _No entries yet._",""].join(`
|
|
314
|
+
`)}function hv(r){switch(r){case"plan":return"Assumptions & Plan";case"tool":return"Tool Summary";case"retry":return"Retries & Corrections";case"evidence":return"Exit Evidence";case"note":return"Notes"}}function Uv(r,n,t){let e=`## ${hv(n)}
|
|
315
|
+
|
|
316
|
+
`,i=r.indexOf(e);if(i<0)throw Error(`runbook missing section: ${n}`);let _=i+e.length,c=r.indexOf(`
|
|
317
|
+
## `,_),o=c<0?r.length:c,u=r.slice(_,o);if(u=u.replace(`- _No entries yet._
|
|
318
|
+
`,""),u.length>0&&!u.endsWith(`
|
|
319
|
+
`))u=`${u}
|
|
320
|
+
`;return u=`${u}${t}
|
|
321
|
+
`,`${r.slice(0,_)}${u}${r.slice(o)}`}async function yD(r,n){await fD(uy(r),{recursive:!0}),await uc(r,`${JSON.stringify(n,null,2)}
|
|
322
|
+
`)}async function Ov(r){let n=JSON.parse(await cc(r,"utf-8"));if(n.schema!=="session-runbook.v0")throw Error("session manifest schema must be session-runbook.v0");return n}function Rv(r,n){if(r.includes("- Project ID:"))return r;let t="- Schema: `session-runbook.v0`",e=r.indexOf(t);if(e<0)return r;let i=r.indexOf(`
|
|
323
|
+
`,e);if(i<0)return r;return`${r.slice(0,i+1)}- Project ID: \`${n}\`
|
|
324
|
+
${r.slice(i+1)}`}async function hD(r){let n=$c(r.projectRoot),t=await vr(n,r.at),e=await Iv(n),i=[],_=[],c=[];for(let o of e){let u=JSON.parse(await cc(o,"utf-8"));if(u.schema!=="session-runbook.v0")throw Error(`session manifest schema must be session-runbook.v0: ${S$(n,o)}`);let $=typeof u.session_id==="string"?u.session_id:S$(n,o);if(typeof u.project_id==="string"){if(u.project_id===t.project_id)_.push($);else c.push(`${$}=${u.project_id}`);continue}i.push($)}if(c.length>0)throw Error(`session project_id mismatch; refusing migration: ${c.join(", ")}; inspect or recreate those sessions`);if(!r.dryRun)for(let o of e){let u=JSON.parse(await cc(o,"utf-8"));if(typeof u.project_id==="string")continue;let $={...u,project_id:t.project_id,project_ref:"."};await uc(o,`${JSON.stringify($,null,2)}
|
|
325
|
+
`);let g=_i(uy(o),"RUNBOOK.md");if(oc(g)){let d=await cc(g,"utf-8");await uc(g,Rv(d,t.project_id))}}return{schema:"session-project-binding-migration.v0",project_id:t.project_id,project_ref:".etiquette/project.yaml",dry_run:Boolean(r.dryRun),migrated:i,unchanged:_,authority_boundary:{can_authorize:!1,can_merge:!1,can_close:!1,can_write_global_ledger:!1}}}async function a$(r){let n=$c(r.projectRoot),t=await vr(n,r.at),e=bD(r.at),i=r.sessionId??mv(e);wD(i),J(r.seat,"--seat"),J(r.taskRef,"--task");let _=cy(r.operatorPrincipal,"--operator"),c=cy(r.ownerPrincipal,"--owner"),o=cy(r.targetRef,"--target-ref"),u=r.creationMode??"explicit";if(u!=="explicit"&&u!=="dynamic")throw Error("--creation-mode must be explicit or dynamic");let $=mD(n,i),g=ID(n,i);if(oc($)||oc(g))throw Error(`session already exists: ${i}`);let d={schema:"session-runbook.v0",session_id:i,created_at:e,updated_at:e,creation_mode:u,project_id:t.project_id,project_ref:".",task_ref:r.taskRef,seat:r.seat,operator_principal:_,owner_principal:c,target_ref:o,runbook_ref:S$(n,g),manifest_ref:S$(n,$),note_count:0,ledger_boundary:{global_governance_ledger:"receipt_ref_only",repo_local_session_ledger:"runbook_and_manifest",ephemeral_workspace:"summarized_only"},authority_boundary:{can_authorize:!1,can_merge:!1,can_close:!1,can_write_global_ledger:!1,session_record_is_authority:!1}};return await fD(uy(g),{recursive:!0}),await uc(g,yv(d)),await yD($,d),{manifest:d,manifestPath:$,runbookPath:g}}async function dc(r){let n=$c(r.projectRoot),t=await vr(n,r.at);if(wD(r.sessionId),!gc.includes(r.section))throw Error(`--section must be one of: ${gc.join(", ")}`);X(r.message,"--message");let e=bD(r.at),i=mD(n,r.sessionId),_=ID(n,r.sessionId),c=await Ov(i);me(c.project_id,t.project_id,`session ${r.sessionId}`);let o=await cc(_,"utf-8"),u=`- ${e} - ${r.message}`;await uc(_,Uv(o,r.section,u));let $={...c,updated_at:e,note_count:c.note_count+1};return await yD(i,$),await $v(_i($y(n,r.sessionId),"events.ndjson"),`${JSON.stringify({schema:"session-note-event.v0",session_id:r.sessionId,project_id:t.project_id,at:e,section:r.section,message:r.message,authority_boundary:{can_authorize:!1,can_write_global_ledger:!1}})}
|
|
326
|
+
`),{manifest:$,manifestPath:i,runbookPath:_,section:r.section,appended_at:e}}import{appendFile as Tv,mkdir as Ev,readFile as lv}from"fs/promises";import{dirname as DD,join as dy,resolve as E$}from"path";import{mkdir as Dv,readFile as CK,writeFile as Sv}from"fs/promises";import{dirname as av}from"path";function UD(r){return r.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}async function OD(r,n){await Dv(av(r),{recursive:!0}),await Sv(r,`${JSON.stringify(n,null,2)}
|
|
327
|
+
`)}var qv="seat-readiness.v0.1",Nv="seat-readiness-event.v0.1";var fy=["control_seat","execution_seat","review_seat","seat_maintainer"],l$=["operational","degraded","blocked","offline"],by=["config","local_validation","seat_doctor","agent_self_declared"],wy=["lite_fast","balanced","frontier_high_reasoning","local_unknown"];function my(r){return dy(E$(r),".etiquette","state","seat-readiness.json")}function Iy(r){return dy(E$(r),".etiquette","state","seat-readiness-events.ndjson")}function SD(r,n){return n?E$(n):my(r)}function Lv(r,n){if(!n)return Iy(r);return dy(DD(E$(n)),"seat-readiness-events.ndjson")}function fc(r,n,t){if(!r.includes(n))throw Error(`${t} must be one of: ${r.join(", ")}`)}function aD(r,n){if(!Number.isInteger(r)||r<0)throw Error(`${n} must be a non-negative integer`)}function zv(r,n){if(!Number.isInteger(r)||r<1)throw Error(`${n} must be a positive integer`)}function RD(r,n){if(!/^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$/.test(r))throw Error(`${n} must be an opaque id using letters, numbers, hyphen, or underscore`)}function gy(r,n){if(!/^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$/.test(r))throw Error(`${n} must contain only letters, numbers, hyphen, or underscore`)}function jv(r,n){if(!/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/.test(r))throw Error(`${n} must be an opaque model id without whitespace, paths, or hostnames`)}function T$(r,n){if(!Number.isFinite(Date.parse(r)))throw Error(`${n} must be an ISO-8601 timestamp`)}function yy(r){if(!r)return new Date().toISOString();return T$(r,"--at"),new Date(r).toISOString()}function Wv(r){return 86400}function TD(r,n){return new Date(Date.parse(r)+n*1000).toISOString()}function Av(r){return r!=="agent_self_declared"}function ED(r){if(fc(fy,r.seat_type,"seat_type"),fc(l$,r.operational_status,"operational_status"),fc(by,r.capability_source,"capability_source"),fc(wy,r.model_tier,"model_tier"),fc(["operator_principal","config"],r.declared_by,"declared_by"),RD(r.seat,"seat"),RD(r.execution_surface,"execution_surface"),r.model_id)jv(r.model_id,"model_id");aD(r.active_workers,"active_workers"),zv(r.max_recommended_workers,"max_recommended_workers");for(let n of r.supported_strategies)gy(n,"supported_strategies[]");for(let n of r.unsupported_strategies)gy(n,"unsupported_strategies[]");for(let n of r.constraints)gy(n,"constraints[]");T$(r.last_checked_at,"last_checked_at"),T$(r.last_heartbeat_at,"last_heartbeat_at"),T$(r.stale_after,"stale_after")}async function lD(r,n,t){let e=Lv(r,n);await Ev(DD(e),{recursive:!0}),await Tv(e,`${JSON.stringify({schema_version:Nv,...t})}
|
|
328
|
+
`)}async function qD(r,n,t){ED(t),await OD(SD(r,n),t)}async function ci(r,n){let t=SD(r,n),e;try{e=JSON.parse(await lv(t,"utf-8"))}catch(i){throw Error(`seat readiness state could not be read at ${t}: ${i.code??String(i)}`)}return ED(e),e}async function q$(r){let n=yy(r.at),t=Wv(r.modelTier),e={schema_version:qv,seat:r.seat,seat_type:r.seatType,execution_surface:r.executionSurface,declared_by:r.declaredBy,capability_source:r.capabilitySource,capability_trusted:Av(r.capabilitySource),operational_status:r.operationalStatus,model_tier:r.modelTier,...r.modelId?{model_id:r.modelId}:{},active_workers:r.activeWorkers,max_recommended_workers:r.maxRecommendedWorkers,supports_parallel:r.supportsParallel,supported_strategies:r.supportedStrategies,unsupported_strategies:r.unsupportedStrategies,constraints:r.constraints,last_checked_at:n,last_heartbeat_at:n,ttl_seconds:t,stale_after:TD(n,t)};return await qD(r.projectRoot,r.statePath,e),await lD(r.projectRoot,r.statePath,{event_type:"seat_readiness_reported",at:n,seat:e.seat,operational_status:e.operational_status,model_tier:e.model_tier,capability_source:e.capability_source,capability_trusted:e.capability_trusted,active_workers:e.active_workers,max_recommended_workers:e.max_recommended_workers}),e}async function ND(r){let n=await ci(r.projectRoot,r.statePath);if(r.seat&&r.seat!==n.seat)throw Error(`heartbeat seat mismatch: expected ${n.seat}, got ${r.seat}`);let t=yy(r.at),e=r.activeWorkers??n.active_workers;aD(e,"active_workers");let i={...n,operational_status:r.operationalStatus??n.operational_status,active_workers:e,constraints:r.constraints??n.constraints,last_heartbeat_at:t,last_checked_at:t,stale_after:TD(t,n.ttl_seconds)};return await qD(r.projectRoot,r.statePath,i),await lD(r.projectRoot,r.statePath,{event_type:"seat_heartbeat",at:t,seat:i.seat,operational_status:i.operational_status,active_workers:i.active_workers,max_recommended_workers:i.max_recommended_workers}),i}function Ie(r,n){let t=yy(n),e=Date.parse(t)>Date.parse(r.stale_after),i="route_if_policy_allows";if(e)i="reject_or_refresh";else if(r.operational_status==="blocked"||r.operational_status==="offline")i="defer_with_reason";else if(!r.capability_trusted)i="seek_validation";return{...r,checked_at:t,is_stale:e,effective_model_tier:e?"local_unknown":r.model_tier,routing_recommendation:i}}import{spawnSync as Pv}from"child_process";import{createHash as Jv}from"crypto";import{existsSync as jD}from"fs";import{readFile as kv,readdir as vv}from"fs/promises";import{join as hy,relative as Mv,resolve as Vv}from"path";function WD(r){return hy(r,".etiquette","events","local.ndjson")}function Fv(r,n){let t=Mv(r,Vv(n));if(t.length===0||t.startsWith("..")||t.includes("\\"))throw Error(`path must stay inside project root: ${n}`);return t}function Gv(r,n){if(typeof r!=="object"||r===null||Array.isArray(r))throw Error(`${n} must be an object`);return r}function Qr(r,n){let t=r[n];return typeof t==="string"&&t.trim().length>0?t.trim():void 0}function Xv(r,n){let t=r[n];return typeof t==="boolean"?t:void 0}function AD(r,n){let t=r[n];return typeof t==="number"&&Number.isFinite(t)?t:void 0}function PD(r,n){let t=r[n];if(!Array.isArray(t))return[];return t.filter((e)=>typeof e==="string"&&e.trim().length>0).map((e)=>e.trim())}async function Uy(r){try{return await kv(r,"utf-8")}catch(n){if(n.code==="ENOENT")return null;throw n}}async function Bv(r){if(!jD(r))return[];return(await vv(r,{withFileTypes:!0})).filter((t)=>t.isFile()&&t.name.endsWith(".json")).map((t)=>hy(r,t.name))}async function Hv(r,n){let t=await Uy(r);return t?JSON.parse(t):n}async function Yv(r){let n=await Uy(WD(r));if(!n)return[];return n.split(`
|
|
329
|
+
`).map((t)=>t.trim()).filter(Boolean).map((t)=>JSON.parse(t))}function LD(r,n){if(r===void 0||r===null)return null;if(typeof r==="number"){if(!Number.isFinite(r)||r<0)throw Error(`--${n} must be a non-negative event sequence`);return r}let t=r.startsWith("local://event/")?r.slice(14):r,e=Number.parseInt(t,10);if(!Number.isFinite(e)||e<0)throw Error(`--${n} must be a non-negative event sequence`);return e}function Qv(r){return`sha256:${Jv("sha256").update(r??"").digest("hex")}`}function Kv(r){let n=Pv("git",["rev-parse","HEAD"],{cwd:r,encoding:"utf-8"});if(n.status!==0)return"unavailable";return n.stdout.trim()||"unavailable"}function JD(r){return[r.event_ref??r.packet_ref??r.kind,r.type,r.role?`role=${r.role}`:null,r.lane?`lane=${r.lane}`:null,r.from?`from=${r.from}`:null,r.to?`to=${r.to}`:null,r.next_owner?`next_owner=${r.next_owner}`:null,r.requires_ack===!0?"requires_ack=true":null,r.packet_ref?`packet_ref=${r.packet_ref}`:null,r.verdict?`verdict=${r.verdict}`:null,r.status_effect&&r.status_effect!=="none"?`status_effect=${r.status_effect}`:null,r.topic_hints.length>0?`topic_hints=${r.topic_hints.join(",")}`:null,r.in_reply_to?`in_reply_to=${r.in_reply_to}`:null].filter((t)=>t!==null&&t!==void 0&&t.length>0).join(" ")}function Cv(r){let n=typeof r.actor==="string"?r.actor:null,t={kind:"event",seq:r.seq,event_ref:r.event_ref,created_at:r.created_at,type:r.type,role:typeof r.role==="string"?r.role:null,lane:typeof r.lane==="string"?r.lane:null,from:typeof r.from==="string"?r.from:n,to:typeof r.to==="string"?r.to:null,next_owner:typeof r.next_owner==="string"?r.next_owner:null,packet_ref:typeof r.packet_ref==="string"?r.packet_ref:null,requires_ack:typeof r.requires_ack==="boolean"?r.requires_ack:null,verdict:typeof r.verdict==="string"?r.verdict:null,status_effect:typeof r.status_effect==="string"?r.status_effect:null,topic_hints:PD(r,"topic_hints"),in_reply_to:typeof r.in_reply_to==="string"?r.in_reply_to:null,parent_event_ref:typeof r.parent_event_ref==="string"?r.parent_event_ref:null,parent_event_seq:AD(r,"parent_event_seq")??null,mode:typeof r.mode==="string"?r.mode:null,packet_tier:typeof r.packet_tier==="string"?r.packet_tier:null,text:""};return{...t,text:JD(t)}}function Zv(r,n,t){let e={kind:"packet",seq:t,event_ref:null,created_at:Qr(r,"created_at")??null,type:Qr(r,"action")??Qr(r,"type")??null,role:Qr(r,"role")??null,lane:Qr(r,"lane")??null,from:Qr(r,"from")??null,to:Qr(r,"to")??null,next_owner:Qr(r,"next_owner")??null,packet_ref:n,requires_ack:Xv(r,"requires_ack")??null,verdict:Qr(r,"verdict")??null,status_effect:Qr(r,"status_effect")??null,topic_hints:PD(r,"topic_hints"),in_reply_to:Qr(r,"in_reply_to")??null,parent_event_ref:Qr(r,"parent_event_ref")??null,parent_event_seq:AD(r,"parent_event_seq")??null,mode:Qr(r,"mode")??null,packet_tier:Qr(r,"packet_tier")??null,text:""};return{...e,text:JD(e)}}async function xv(r,n){let t=hy(r,"docs","work","packets");if(!jD(t))return[];let e=await Bv(t),i=new Map(n.filter((c)=>typeof c.packet_ref==="string").map((c)=>[String(c.packet_ref),c.seq])),_=[];for(let c of e.sort()){let o=Fv(r,c),u=Gv(await Hv(c,{}),"local packet");_.push(Zv(u,o,i.get(o)??null))}return _}function zD(r,n){let t=LD(n.since,"since"),e=LD(n.until,"until");if(t!==null&&(r.seq===null||r.seq<t))return!1;if(e!==null&&(r.seq===null||r.seq>e))return!1;if(n.lane&&r.lane!==n.lane)return!1;if(n.role&&r.role!==n.role)return!1;if(n.action&&r.type!==n.action)return!1;if(n.from&&r.from!==n.from)return!1;if(n.to&&r.to!==n.to&&r.next_owner!==n.to)return!1;if(n.seat&&r.from!==n.seat&&r.to!==n.seat&&r.next_owner!==n.seat&&!r.text.includes(n.seat))return!1;if(n.match&&!r.text.toLowerCase().includes(n.match.toLowerCase()))return!1;return!0}async function ye(r,n={}){let t=await Uy(WD(r)),e=await Yv(r),i=await xv(r,e),_=n.limit??20,c=n.kind??"all";if(_<0)throw Error("--limit must be a non-negative integer");let o=e.map(Cv).filter((f)=>zD(f,n)),u=i.filter((f)=>zD(f,n)),$=e.reduce((f,b)=>Math.max(f,b.seq),0),g=$>0?`local://event/${$}`:"local://event/0",d=(f)=>_===0?[]:f.slice(-_);return{schema:"local-ledger-view.v0",watermark:{latest_event_ref:g,latest_seq:$,commit_sha:Kv(r),event_log_hash:Qv(t),computed_at:n.computedAt??new Date().toISOString()},filters:{since:n.since??null,until:n.until??null,lane:n.lane??null,seat:n.seat??null,from:n.from??null,to:n.to??null,role:n.role??null,action:n.action??null,match:n.match??null,kind:c,limit:_},boundary:"authority-false stdout-only rebuildable local projection; cannot authorize, assign, close, merge, mutate local events, write global ledger, or read external buses",events_matched:o.length,packets_matched:u.length,events:c==="packets"?[]:d(o),packets:c==="events"?[]:d(u),authority_boundary:{stdout_only:!0,rebuildable_projection:!0,can_authorize:!1,can_assign:!1,can_close:!1,can_merge:!1,can_mutate_bus:!1,can_write_global_ledger:!1}}}function kD(r){return[`schema: ${r.schema}`,`watermark: ${r.watermark.latest_event_ref} commit_sha=${r.watermark.commit_sha}`,`event_log_hash: ${r.watermark.event_log_hash}`,`computed_at: ${r.watermark.computed_at}`,`filters: ${Object.entries(r.filters).filter(([,n])=>n!==null).map(([n,t])=>`${n}=${String(t)}`).join(", ")||"none"}`,`boundary: ${r.boundary}`,`events_matched: ${r.events_matched} showing: ${r.events.length}`,...r.events.map((n)=>` - ${n.text}`),`packets_matched: ${r.packets_matched} showing: ${r.packets.length}`,...r.packets.map((n)=>` - ${n.text}`)].join(`
|
|
330
|
+
`)}function vD(r){return["# Local Etiquette Bus View","",`- Schema: \`${r.schema}\``,`- Watermark: \`${r.watermark.latest_event_ref}\``,`- Commit: \`${r.watermark.commit_sha}\``,`- Event log hash: \`${r.watermark.event_log_hash}\``,`- Computed at: \`${r.watermark.computed_at}\``,`- Boundary: ${r.boundary}`,"",`## Events (${r.events_matched} matched, ${r.events.length} shown)`,"",...r.events.length===0?["_No events._"]:r.events.map((n)=>`- ${n.text}`),"",`## Packets (${r.packets_matched} matched, ${r.packets.length} shown)`,"",...r.packets.length===0?["_No packets._"]:r.packets.map((n)=>`- ${n.text}`),""].join(`
|
|
331
|
+
`)}import{existsSync as pv}from"fs";import{readFile as sv,readdir as rM}from"fs/promises";import{join as MD}from"path";var VD=["decision","grant","approval","approve","escalate","policy","closeout"],nM=["task_card","return","receipt","decision","chatter"];function N$(r,n){let t=r[n];return typeof t==="string"&&t.trim().length>0?t.trim():null}function tM(r,n){return r[n]===!0}function iM(r){return r.toLowerCase().replace(/[^a-z0-9._-]+/g,"-").replace(/^-+|-+$/g,"")||"seat"}async function eM(r){try{return JSON.parse(await sv(r,"utf-8"))}catch(n){if(n.code==="ENOENT")return null;throw n}}async function _M(r){let n=MD(r,".etiquette","roster","enrollments");if(!pv(n))return[];let t=await rM(n,{withFileTypes:!0}),e=[];for(let i of t){if(!i.isFile()||!i.name.endsWith(".json"))continue;let _=await eM(MD(n,i.name));if(_)e.push(_)}return e.sort((i,_)=>String(i.seat_id??"").localeCompare(String(_.seat_id??"")))}function cM(r){let n=r.role?.toLowerCase()??"",t=r.type?.toLowerCase()??"",e=r.text.toLowerCase();if(n.includes("task")||t.includes("task"))return"task_card";if(n.includes("return")||t.includes("return"))return"return";if(n.includes("receipt")||t.includes("receipt"))return"receipt";if(VD.some((i)=>n.includes(i)||t.includes(i)||e.includes(i)))return"decision";return"chatter"}function oM(r){let n=[r.role,r.type,r.from,r.to,r.next_owner,r.text].filter((t)=>Boolean(t)).join(" ").toLowerCase();return r.requires_ack===!0||Boolean(r.next_owner)||VD.some((t)=>n.includes(t))}function uM(r,n,t){if(n==="project")return!0;if(n==="principal")return oM(r);if(n==="lane")return Boolean(t.lane)&&r.lane===t.lane;if(n==="seat"){let e=t.seat;return Boolean(e)&&(r.from===e||r.to===e||r.next_owner===e||r.text.includes(String(e)))}return!1}function $M(r,n){let t=n.replace("_"," "),e=r.lane?` for ${r.lane}`:"",i=r.role?` (${r.role})`:"";return`${t}${e}${i}`}function gM(r){return[r.from&&r.to?`${r.from} -> ${r.to}`:r.from??r.to??null,r.next_owner?`next_owner=${r.next_owner}`:null,r.requires_ack===!0?"requires_ack=true":null,r.verdict?`verdict=${r.verdict}`:null,r.status_effect&&r.status_effect!=="none"?`status_effect=${r.status_effect}`:null,r.packet_ref?`packet=${r.packet_ref}`:null,r.event_ref?`event=${r.event_ref}`:null].filter((t)=>Boolean(t)).join(" | ")||r.text}function FD(r){return r.event_ref??r.packet_ref??`${r.kind}:${r.seq??"unsequenced"}`}function dM(r){return r.event_ref??r.packet_ref??"unsequenced"}function fM(r){if(r.lane)return`lane:${r.lane}`;if(r.in_reply_to)return`reply:${r.in_reply_to}`;if(r.parent_event_ref)return`reply:${r.parent_event_ref}`;if(r.parent_event_seq!==null)return`reply:local://event/${r.parent_event_seq}`;return`item:${FD(r)}`}function bM(r){if(r.in_reply_to)return r.in_reply_to;if(r.parent_event_ref)return r.parent_event_ref;if(r.parent_event_seq!==null)return`local://event/${r.parent_event_seq}`;return null}function wM(r){if(r.verdict)return r.verdict;let n=r.text.match(/\b(CONFIRM_WITH_AMENDMENTS|CONFIRM|COUNTER|PASS|FAIL|HOLD|GO|NO_GO)\b/i);return n?n[1].toUpperCase():null}function mM(r){let n=[r.from?`from=${r.from}`:null,r.to?`to=${r.to}`:null,r.next_owner?`next_owner=${r.next_owner}`:null,r.mode?`mode=${r.mode}`:null].filter((i)=>Boolean(i)).join(" | ")||"routing unresolved in projection",t=[r.event_ref?`event=${r.event_ref}`:null,r.packet_ref?`packet=${r.packet_ref}`:null,r.packet_tier?`packet_tier=${r.packet_tier}`:null].filter((i)=>Boolean(i)).join(" | ")||dM(r),e=r.seq!==null?`sequenced local event seq=${r.seq}; rebuild from local event log and packet refs`:"legacy packet fallback; unsequenced packet row remains projection-only";return[{label:"Routing",body:n},{label:"Evidence",body:t},{label:"Failure modes",body:"display-only projection; no comments, writes, mentions, grants, closes, merges, or execution"},{label:"Confidence calibration",body:e}]}function IM(r){let n=new Map;for(let t of r){let e=n.get(t.thread.thread_id)??[];e.push(t),n.set(t.thread.thread_id,e)}return Array.from(n.entries()).map(([t,e])=>{let i=[...e].sort((o,u)=>(o.source.seq??0)-(u.source.seq??0)),_=i.reduce((o,u)=>u.source.seq===null?o:Math.max(o??0,u.source.seq),null),c=i.find((o)=>o.lane)?.lane??null;return{thread_id:t,lane:c,title:c?`Thread ${c}`:`Thread ${t}`,item_ids:i.map((o)=>o.item_id),latest_seq:_,item_count:i.length}}).sort((t,e)=>(e.latest_seq??0)-(t.latest_seq??0))}function yM(r,n){let t=new Map(n.map((e)=>[e.thread_id,e.item_count]));return r.map((e)=>({...e,thread:{...e.thread,thread_item_count:t.get(e.thread.thread_id)??1}}))}function GD(r){return r.charAt(0).toUpperCase()+r.slice(1)}function XD(r){switch(r){case"task_card":return"TASK";case"return":return"RETURN";case"receipt":return"RECEIPT";case"decision":return"DECISION";case"chatter":return"CHATTER"}}function Oy(r){return r.source.event_ref??r.source.packet_ref??"unsequenced"}function BD(r){let n=[r.actor_seat_id?`from=${r.actor_seat_id}`:null,r.seat_id?`seat=${r.seat_id}`:null,r.operator_principal?`operator=${r.operator_principal}`:null].filter((t)=>Boolean(t));return n.length>0?n.join(" "):"seat=unresolved"}function hM(r,n,t){let e=cM(r),i=FD(r),_=fM(r),c=bM(r),o=wM(r);return{item_id:`timeline:${i}`,item_type:e,scope:n,lane:r.lane,seat_id:r.to??r.next_owner??r.from,operator_principal:null,actor_seat_id:r.from,created_at:r.created_at,next_owner:r.next_owner,role:r.role,verdict:o,status_effect:r.status_effect,topic_hints:r.topic_hints,requires_ack:r.requires_ack,display:{role_chip:r.role,lane_chip:r.lane,seat_badge:r.to??r.next_owner??r.from,verdict_pill:o,status_subtitle:r.status_effect&&r.status_effect!=="none"?r.status_effect:null,topic_chips:r.topic_hints,sections:mM(r)},thread:{thread_id:_,parent_ref:c,depth:c?1:0,is_thread_root:c===null,thread_item_count:1},title:$M(r,e),body:gM(r),source:{kind:r.kind,seq:r.seq,event_ref:r.event_ref,packet_ref:r.packet_ref,commit_sha:t.commit_sha,event_log_hash:t.event_log_hash},authority_boundary:{projection_item_only:!0,can_execute:!1,can_trigger_mention:!1,can_write_back:!1,can_grant:!1,can_close:!1,can_merge:!1,can_sign:!1}}}function UM(r){let n=new Set;for(let t of r)for(let e of[t.from,t.to,t.next_owner])if(e)n.add(e);return n}async function OM(r,n,t,e){let i=await _M(r),_=new Map;for(let $ of i){let g=N$($,"seat_id");if(g)_.set(g,$)}let c=new Set([...UM(n),..._.keys()]),o=nM.reduce(($,g)=>{return $[g]=0,$},{task_card:0,return:0,receipt:0,decision:0,chatter:0});for(let $ of t)o[$.item_type]+=1;let u=t.filter(($)=>$.requires_ack===!0||$.item_type==="decision"||Boolean($.status_effect&&$.status_effect!=="none")).map(($)=>({item_id:$.item_id,source_ref:Oy($),lane:$.lane,next_owner:$.next_owner,reason:$.requires_ack===!0?"requires_ack":$.status_effect&&$.status_effect!=="none"?`status_effect:${$.status_effect}`:"decision"}));return{schema:"timeline-curator-portal.v0",health_board:{registry_ref:".etiquette/roster/enrollments/*.json",seats:Array.from(c).sort().map(($)=>{let g=_.get($),d=iM($);return{seat_id:$,lifecycle_state:N$(g??{},"lifecycle_state")??(g?"enrolled":"observed"),ready:g?tM(g,"ready"):!1,operator_principal:g?N$(g,"operator_principal"):null,execution_seat:g?N$(g,"execution_seat"):null,source:g?"roster":"ledger-observed",sentinel_state_ref:`.etiquette/state/sentinel/${d}.json`,cursor_ref:`.etiquette/state/sentinel/${d}.cursor.json`}})},digest_view:{window:"current_projection",items_by_type:o,threads:e.length,requires_ack:t.filter(($)=>$.requires_ack===!0).length},promotion_queue:{display_only:!0,items:u},authority_boundary:{display_only:!0,can_execute:!1,can_write_back:!1,can_promote:!1,can_grant:!1,can_close:!1,can_merge:!1}}}async function Ry(r,n={}){let t=n.scope??"project";if(t==="seat"&&!n.seat)throw Error("--seat is required when --scope seat");if(t==="lane"&&!n.lane)throw Error("--lane is required when --scope lane");let e=await ye(r,{...n,kind:"all"}),i=[...e.events,...e.packets].filter((u)=>uM(u,t,n)).sort((u,$)=>(u.seq??Number.MAX_SAFE_INTEGER)-($.seq??Number.MAX_SAFE_INTEGER)),_=i.map((u)=>hM(u,t,e.watermark)),c=IM(_),o=yM(_,c);return{schema:"timeline-projection.v0",project:r,scope:t,watermark:e.watermark,source:{mode:"projection-only",projection_schema:"local-ledger-view.v0",event_log_ref:".etiquette/events/local.ndjson",packet_glob_ref:"docs/work/packets/*.json",roster_ref:".etiquette/roster/enrollments/*.json"},identity_resolution:{source:"one-roster",seat_filter:n.seat??null,lane_filter:n.lane??null,chat_nicknames_are_identity:!1,parallel_identity_store:!1},feed:{items:o,items_matched:i.length,display_modes:["stream","thread"],deep_link:{query_param:"seq",item_id:null,event_ref:null},threads:c},curator_portal:await OM(r,i,o,c),boundary:"read-only rebuildable timeline projection; chatter is projection, not canonical; mentions cannot execute in v0",authority_boundary:{read_only_projection:!0,rebuildable_projection:!0,can_execute:!1,can_trigger_mention:!1,can_write_back:!1,can_create_canonical_chatter:!1,can_grant:!1,can_mint_or_widen_lease:!1,can_close:!1,can_merge:!1,can_sign:!1,can_use_hosted_backend:!1},next_step:"use normal ledger workflow for any canonical post, grant, closeout, execution, or mention-trigger experiment"}}function Dy(r,n){if(n===null||!Number.isFinite(n))return r;let t=r.feed.items.find((e)=>e.source.seq===n)??null;return{...r,feed:{...r.feed,deep_link:{query_param:"seq",item_id:t?.item_id??null,event_ref:t?.source.event_ref??null}}}}function HD(r){return[`timeline_feed: ${GD(r.scope)}`,`schema: ${r.schema}`,`scope: ${r.scope}`,`source: ${r.source.projection_schema}`,`watermark: ${r.watermark.latest_event_ref} commit_sha=${r.watermark.commit_sha}`,`event_log_hash: ${r.watermark.event_log_hash}`,`identity: ${r.identity_resolution.source} (chat nicknames are not identity)`,"boundary: read-only projection; no execution, no write-back, no grants",`items_matched: ${r.feed.items_matched}`,`display_modes: ${r.feed.display_modes.join(",")}`,`threads: ${r.feed.threads.length}`,`health_board_seats: ${r.curator_portal.health_board.seats.map((n)=>n.seat_id).join(",")||"none"}`,`promotion_queue: ${r.curator_portal.promotion_queue.items.length} display_only=true`,...r.feed.items.map((n)=>[`[${XD(n.item_type)}] ${n.title}`,` ${BD(n)}`,` source: ${Oy(n)} seq=${String(n.source.seq??"none")}`,` thread: ${n.thread.thread_id} items=${n.thread.thread_item_count}`,n.lane?` lane: ${n.lane}`:null,n.role?` role: ${n.role}`:null,n.verdict?` verdict: ${n.verdict}`:null,n.status_effect&&n.status_effect!=="none"?` status_effect: ${n.status_effect}`:null,n.topic_hints.length>0?` topics: ${n.topic_hints.join(",")}`:null,` body: ${n.body}`," authority: projection-only; cannot execute, write back, grant, close, merge, or sign"].filter((t)=>t!==null).join(`
|
|
332
|
+
`)),"can_execute: false","can_write_back: false","can_grant: false"].join(`
|
|
333
|
+
`)}function YD(r){return[`# Timeline Feed: ${GD(r.scope)}`,"","| Field | Value |","| --- | --- |",`| Schema | \`${r.schema}\` |`,`| Source | \`${r.source.projection_schema}\` |`,`| Watermark | \`${r.watermark.latest_event_ref}\` |`,`| Commit | \`${r.watermark.commit_sha}\` |`,`| Event log hash | \`${r.watermark.event_log_hash}\` |`,`| Identity | ${r.identity_resolution.source}; chat nicknames are not identity |`,"| Boundary | read-only projection; no execution, no write-back, no grants |",`| Display modes | ${r.feed.display_modes.map((n)=>`\`${n}\``).join(", ")} |`,`| Threads | ${r.feed.threads.length} |`,`| Health board seats | ${r.curator_portal.health_board.seats.map((n)=>`\`${n.seat_id}\``).join(", ")||"_none_"} |`,"","## Feed","",...r.feed.items.length===0?["_No timeline items._"]:r.feed.items.map((n)=>[`### [${XD(n.item_type)}] ${n.title}`,"","| Field | Value |","| --- | --- |",`| Type | \`${n.item_type}\` |`,`| Source | \`${Oy(n)}\` |`,`| Commit | \`${n.source.commit_sha}\` |`,`| Thread | \`${n.thread.thread_id}\` (${n.thread.thread_item_count} item${n.thread.thread_item_count===1?"":"s"}) |`,n.lane?`| Lane | \`${n.lane}\` |`:null,n.role?`| Role | \`${n.role}\` |`:null,n.verdict?`| Verdict | \`${n.verdict}\` |`:null,n.topic_hints.length>0?`| Topics | ${n.topic_hints.map((t)=>`\`${t}\``).join(", ")} |`:null,`| Audience | ${BD(n)} |`,`| Body | ${n.body} |`,"| Authority | projection-only; cannot execute, write back, grant, close, merge, or sign |"].filter((t)=>t!==null).join(`
|
|
334
|
+
`)),"","## Curator Portal","",`- Health board seats: ${r.curator_portal.health_board.seats.map((n)=>`\`${n.seat_id}\``).join(", ")||"_none_"}`,`- Digest threads: ${r.curator_portal.digest_view.threads}`,`- Promotion queue: ${r.curator_portal.promotion_queue.items.length} display-only item${r.curator_portal.promotion_queue.items.length===1?"":"s"}`,"- Authority: display-only; cannot execute, write back, promote, grant, close, or merge.",""].join(`
|
|
335
|
+
`)}var KD=["GET","HEAD","OPTIONS"];function C(r){return r.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function RM(r){return r.charAt(0).toUpperCase()+r.slice(1)}function DM(r){switch(r){case"task_card":return"TASK";case"return":return"RETURN";case"receipt":return"RECEIPT";case"decision":return"DECISION";case"chatter":return"CHATTER"}}function SM(r){switch(r){case"task_card":return"task";case"return":return"return";case"receipt":return"receipt";case"decision":return"decision";case"chatter":return"chatter"}}function aM(r){return r.source.event_ref??r.source.packet_ref??"unsequenced"}function TM(r){let n=[r.actor_seat_id?`from ${r.actor_seat_id}`:null,r.seat_id?`seat ${r.seat_id}`:null,r.operator_principal?`operator ${r.operator_principal}`:null].filter((t)=>Boolean(t));return n.length>0?n.join(" / "):"seat unresolved"}function he(r,n,t=""){return n?`<span class="chip ${C(t)}"><strong>${C(r)}</strong>${C(n)}</span>`:""}function EM(r){return`<div class="sections" role="tablist" aria-label="Card sections">
|
|
336
|
+
${r.display.sections.map((n,t)=>`<section class="card-section" role="tabpanel" aria-labelledby="${C(r.item_id)}-tab-${t}">
|
|
337
|
+
<button id="${C(r.item_id)}-tab-${t}" type="button" class="section-tab">${C(n.label)}</button>
|
|
338
|
+
<p>${C(n.body)}</p>
|
|
339
|
+
</section>`).join(`
|
|
340
|
+
`)}
|
|
341
|
+
</div>`}function lM(r){let n=SM(r.item_type);return`<article id="${r.source.seq===null?C(r.item_id):`seq-${String(r.source.seq)}`}" class="feed-item ${n}" data-item-type="${C(r.item_type)}" data-thread-id="${C(r.thread.thread_id)}" data-depth="${String(r.thread.depth)}">
|
|
342
|
+
<div class="item-head">
|
|
343
|
+
<span class="badge ${n}">${C(DM(r.item_type))}</span>
|
|
344
|
+
<time>${C(r.created_at??"time unknown")}</time>
|
|
345
|
+
</div>
|
|
346
|
+
<div class="chips" aria-label="Timeline metadata">
|
|
347
|
+
${he("seat",r.display.seat_badge,"seat")}
|
|
348
|
+
${he("role",r.display.role_chip,"role")}
|
|
349
|
+
${he("lane",r.display.lane_chip,"lane")}
|
|
350
|
+
${he("verdict",r.display.verdict_pill,"verdict-pill")}
|
|
351
|
+
${he("status",r.display.status_subtitle,"status")}
|
|
352
|
+
${r.display.topic_chips.map((e)=>he("topic",e,"topic")).join("")}
|
|
353
|
+
${r.requires_ack===!0?'<span class="chip ack"><strong>ack</strong>requires_ack</span>':""}
|
|
354
|
+
</div>
|
|
355
|
+
<h2>${C(r.title)}</h2>
|
|
356
|
+
<p class="body">${C(r.body)}</p>
|
|
357
|
+
${EM(r)}
|
|
358
|
+
<dl>
|
|
359
|
+
<div><dt>Source</dt><dd><code>${C(aM(r))}</code></dd></div>
|
|
360
|
+
<div><dt>Participants</dt><dd>${C(TM(r))}</dd></div>
|
|
361
|
+
${r.lane?`<div><dt>Lane</dt><dd><code>${C(r.lane)}</code></dd></div>`:""}
|
|
362
|
+
<div><dt>Thread</dt><dd><code>${C(r.thread.thread_id)}</code> - ${String(r.thread.thread_item_count)} item${r.thread.thread_item_count===1?"":"s"}</dd></div>
|
|
363
|
+
<div><dt>Authority</dt><dd>projection only; cannot execute, write back, grant, close, merge, or sign</dd></div>
|
|
364
|
+
</dl>
|
|
365
|
+
</article>`}function qM(r){if(r.feed.threads.length===0)return'<section class="empty">No threads found for this scope.</section>';return`<ol class="thread-index">
|
|
366
|
+
${r.feed.threads.map((n)=>`<li>
|
|
367
|
+
<a href="#${C(n.latest_seq===null?n.item_ids[0]:`seq-${n.latest_seq}`)}">${C(n.title)}</a>
|
|
368
|
+
<span>${String(n.item_count)} items</span>
|
|
369
|
+
</li>`).join(`
|
|
370
|
+
`)}
|
|
371
|
+
</ol>`}function NM(r){let n=r.curator_portal.health_board.seats.length>0?r.curator_portal.health_board.seats.map((e)=>`<tr>
|
|
372
|
+
<td><code>${C(e.seat_id)}</code></td>
|
|
373
|
+
<td>${C(e.lifecycle_state)}</td>
|
|
374
|
+
<td>${e.ready?"ready":"not ready"}</td>
|
|
375
|
+
<td>${C(e.source)}</td>
|
|
376
|
+
<td><code>${C(e.sentinel_state_ref)}</code></td>
|
|
377
|
+
</tr>`).join(`
|
|
378
|
+
`):'<tr><td colspan="5">No seats in this projection.</td></tr>',t=r.curator_portal.promotion_queue.items.length>0?r.curator_portal.promotion_queue.items.map((e)=>`<li><code>${C(e.source_ref)}</code> ${C(e.reason)} ${e.next_owner?`- next ${C(e.next_owner)}`:""}</li>`).join(`
|
|
379
|
+
`):"<li>No display-only queue items.</li>";return`<section class="curator" aria-label="Curator Portal">
|
|
380
|
+
<div class="section-title">
|
|
381
|
+
<h2>Curator Portal</h2>
|
|
382
|
+
<span>display-only</span>
|
|
383
|
+
</div>
|
|
384
|
+
<div class="curator-grid">
|
|
385
|
+
<section>
|
|
386
|
+
<h3>Health board</h3>
|
|
387
|
+
<table>
|
|
388
|
+
<thead><tr><th>Seat</th><th>Lifecycle</th><th>Ready</th><th>Source</th><th>Sentinel</th></tr></thead>
|
|
389
|
+
<tbody>${n}</tbody>
|
|
390
|
+
</table>
|
|
391
|
+
</section>
|
|
392
|
+
<section>
|
|
393
|
+
<h3>Digest view</h3>
|
|
394
|
+
<dl>
|
|
395
|
+
<div><dt>Threads</dt><dd>${String(r.curator_portal.digest_view.threads)}</dd></div>
|
|
396
|
+
<div><dt>Requires ack</dt><dd>${String(r.curator_portal.digest_view.requires_ack)}</dd></div>
|
|
397
|
+
<div><dt>Tasks</dt><dd>${String(r.curator_portal.digest_view.items_by_type.task_card)}</dd></div>
|
|
398
|
+
<div><dt>Returns</dt><dd>${String(r.curator_portal.digest_view.items_by_type.return)}</dd></div>
|
|
399
|
+
</dl>
|
|
400
|
+
</section>
|
|
401
|
+
<section>
|
|
402
|
+
<h3>Promotion queue</h3>
|
|
403
|
+
<p>Display-only; cannot promote, grant, close, merge, execute, or write back.</p>
|
|
404
|
+
<ul>${t}</ul>
|
|
405
|
+
</section>
|
|
406
|
+
</div>
|
|
407
|
+
</section>`}function LM(r){let n=r.feed.items.length>0?r.feed.items.map((i)=>lM(i)).join(`
|
|
408
|
+
`):'<section class="empty">No timeline items found for this scope.</section>',t=r.feed.deep_link.item_id?`Selected ${r.feed.deep_link.event_ref??r.feed.deep_link.item_id}`:"No deep link selected",e=RM(r.scope);return`<!doctype html>
|
|
409
|
+
<html lang="en">
|
|
410
|
+
<head>
|
|
411
|
+
<meta charset="utf-8">
|
|
412
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
413
|
+
<title>Etiquette Timeline Preview</title>
|
|
414
|
+
<style>
|
|
415
|
+
:root {
|
|
416
|
+
color-scheme: light;
|
|
417
|
+
--ink: #172026;
|
|
418
|
+
--muted: #5d6973;
|
|
419
|
+
--line: #d7dee5;
|
|
420
|
+
--surface: #ffffff;
|
|
421
|
+
--page: #f6f7f8;
|
|
422
|
+
--teal: #0f766e;
|
|
423
|
+
--amber: #a15c00;
|
|
424
|
+
--red: #b42318;
|
|
425
|
+
--blue: #2563eb;
|
|
426
|
+
--violet: #6d28d9;
|
|
427
|
+
}
|
|
428
|
+
* { box-sizing: border-box; }
|
|
429
|
+
body {
|
|
430
|
+
margin: 0;
|
|
431
|
+
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
432
|
+
color: var(--ink);
|
|
433
|
+
background: var(--page);
|
|
434
|
+
}
|
|
435
|
+
main { width: min(1120px, calc(100% - 32px)); margin: 0 auto; padding: 24px 0 40px; }
|
|
436
|
+
header {
|
|
437
|
+
display: grid;
|
|
438
|
+
grid-template-columns: minmax(0, 1fr) auto;
|
|
439
|
+
gap: 16px;
|
|
440
|
+
align-items: end;
|
|
441
|
+
padding: 18px 0 16px;
|
|
442
|
+
border-bottom: 1px solid var(--line);
|
|
443
|
+
}
|
|
444
|
+
h1 { margin: 0; font-size: 28px; line-height: 1.15; letter-spacing: 0; }
|
|
445
|
+
.subhead { margin: 6px 0 0; color: var(--muted); line-height: 1.45; }
|
|
446
|
+
.scope {
|
|
447
|
+
display: inline-flex;
|
|
448
|
+
align-items: center;
|
|
449
|
+
min-height: 32px;
|
|
450
|
+
padding: 6px 10px;
|
|
451
|
+
border-radius: 8px;
|
|
452
|
+
background: #e6f4f1;
|
|
453
|
+
color: #075e57;
|
|
454
|
+
font-weight: 700;
|
|
455
|
+
white-space: nowrap;
|
|
456
|
+
}
|
|
457
|
+
.summary {
|
|
458
|
+
display: grid;
|
|
459
|
+
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
|
|
460
|
+
gap: 10px;
|
|
461
|
+
margin: 18px 0;
|
|
462
|
+
}
|
|
463
|
+
.metric {
|
|
464
|
+
background: var(--surface);
|
|
465
|
+
border: 1px solid var(--line);
|
|
466
|
+
border-radius: 8px;
|
|
467
|
+
padding: 12px;
|
|
468
|
+
min-width: 0;
|
|
469
|
+
}
|
|
470
|
+
.metric span { display: block; color: var(--muted); font-size: 12px; }
|
|
471
|
+
.metric strong { display: block; margin-top: 4px; font-size: 18px; overflow-wrap: anywhere; }
|
|
472
|
+
.boundary {
|
|
473
|
+
display: grid;
|
|
474
|
+
gap: 8px;
|
|
475
|
+
margin: 18px 0;
|
|
476
|
+
padding: 14px;
|
|
477
|
+
border: 1px solid #f0c36d;
|
|
478
|
+
border-left: 4px solid var(--amber);
|
|
479
|
+
border-radius: 8px;
|
|
480
|
+
background: #fff8eb;
|
|
481
|
+
}
|
|
482
|
+
.boundary strong { color: #7a4100; }
|
|
483
|
+
.view-controls {
|
|
484
|
+
display: flex;
|
|
485
|
+
flex-wrap: wrap;
|
|
486
|
+
align-items: center;
|
|
487
|
+
justify-content: space-between;
|
|
488
|
+
gap: 10px;
|
|
489
|
+
margin: 18px 0 10px;
|
|
490
|
+
}
|
|
491
|
+
.toggle {
|
|
492
|
+
display: inline-flex;
|
|
493
|
+
overflow: hidden;
|
|
494
|
+
border: 1px solid var(--line);
|
|
495
|
+
border-radius: 8px;
|
|
496
|
+
background: var(--surface);
|
|
497
|
+
}
|
|
498
|
+
.toggle a {
|
|
499
|
+
min-height: 34px;
|
|
500
|
+
padding: 8px 12px;
|
|
501
|
+
border-right: 1px solid var(--line);
|
|
502
|
+
color: var(--ink);
|
|
503
|
+
text-decoration: none;
|
|
504
|
+
font-weight: 700;
|
|
505
|
+
}
|
|
506
|
+
.toggle a:last-child { border-right: 0; }
|
|
507
|
+
.toggle a[aria-current="true"] { background: #e6f4f1; color: #075e57; }
|
|
508
|
+
.thread-index {
|
|
509
|
+
display: grid;
|
|
510
|
+
gap: 8px;
|
|
511
|
+
margin: 0 0 18px;
|
|
512
|
+
padding: 0;
|
|
513
|
+
list-style: none;
|
|
514
|
+
}
|
|
515
|
+
.thread-index li {
|
|
516
|
+
display: flex;
|
|
517
|
+
gap: 10px;
|
|
518
|
+
justify-content: space-between;
|
|
519
|
+
padding: 10px 12px;
|
|
520
|
+
border: 1px solid var(--line);
|
|
521
|
+
border-radius: 8px;
|
|
522
|
+
background: var(--surface);
|
|
523
|
+
}
|
|
524
|
+
.thread-index a { color: var(--blue); font-weight: 700; overflow-wrap: anywhere; }
|
|
525
|
+
.feed { display: grid; gap: 12px; margin-top: 18px; }
|
|
526
|
+
.feed-item {
|
|
527
|
+
background: var(--surface);
|
|
528
|
+
border: 1px solid var(--line);
|
|
529
|
+
border-left: 4px solid var(--teal);
|
|
530
|
+
border-radius: 8px;
|
|
531
|
+
padding: 14px;
|
|
532
|
+
}
|
|
533
|
+
.feed-item.return { border-left-color: var(--blue); }
|
|
534
|
+
.feed-item.receipt { border-left-color: var(--violet); }
|
|
535
|
+
.feed-item.decision { border-left-color: var(--red); }
|
|
536
|
+
.feed-item.chatter { border-left-color: #64748b; }
|
|
537
|
+
.item-head { display: flex; gap: 10px; align-items: center; justify-content: space-between; }
|
|
538
|
+
.badge {
|
|
539
|
+
display: inline-flex;
|
|
540
|
+
min-height: 24px;
|
|
541
|
+
align-items: center;
|
|
542
|
+
padding: 3px 8px;
|
|
543
|
+
border-radius: 6px;
|
|
544
|
+
background: #e6f4f1;
|
|
545
|
+
color: #075e57;
|
|
546
|
+
font-size: 12px;
|
|
547
|
+
font-weight: 800;
|
|
548
|
+
}
|
|
549
|
+
.badge.return { background: #eaf1ff; color: #1d4ed8; }
|
|
550
|
+
.badge.receipt { background: #f1eafe; color: #5b21b6; }
|
|
551
|
+
.badge.decision { background: #feeceb; color: #991b1b; }
|
|
552
|
+
.badge.chatter { background: #eef2f5; color: #475569; }
|
|
553
|
+
.chips {
|
|
554
|
+
display: flex;
|
|
555
|
+
flex-wrap: wrap;
|
|
556
|
+
gap: 6px;
|
|
557
|
+
margin-top: 10px;
|
|
558
|
+
}
|
|
559
|
+
.chip {
|
|
560
|
+
display: inline-flex;
|
|
561
|
+
gap: 6px;
|
|
562
|
+
align-items: center;
|
|
563
|
+
min-height: 24px;
|
|
564
|
+
padding: 3px 8px;
|
|
565
|
+
border: 1px solid #d5dde6;
|
|
566
|
+
border-radius: 999px;
|
|
567
|
+
background: #f8fafc;
|
|
568
|
+
color: #334155;
|
|
569
|
+
font-size: 12px;
|
|
570
|
+
}
|
|
571
|
+
.chip strong { color: #64748b; font-weight: 800; }
|
|
572
|
+
.chip.verdict-pill { border-color: #bfd1ff; background: #eaf1ff; color: #1d4ed8; }
|
|
573
|
+
.chip.ack { border-color: #f5c2c0; background: #feeceb; color: #991b1b; }
|
|
574
|
+
time { color: var(--muted); font-size: 12px; text-align: right; }
|
|
575
|
+
h2 { margin: 10px 0 6px; font-size: 17px; letter-spacing: 0; line-height: 1.25; }
|
|
576
|
+
.body { margin: 0 0 12px; color: #334155; overflow-wrap: anywhere; }
|
|
577
|
+
.sections {
|
|
578
|
+
display: grid;
|
|
579
|
+
grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
|
|
580
|
+
gap: 8px;
|
|
581
|
+
margin: 12px 0;
|
|
582
|
+
}
|
|
583
|
+
.card-section {
|
|
584
|
+
padding: 8px;
|
|
585
|
+
border: 1px solid var(--line);
|
|
586
|
+
border-radius: 8px;
|
|
587
|
+
background: #fbfcfd;
|
|
588
|
+
}
|
|
589
|
+
.section-tab {
|
|
590
|
+
border: 0;
|
|
591
|
+
padding: 0;
|
|
592
|
+
background: transparent;
|
|
593
|
+
color: var(--ink);
|
|
594
|
+
font-weight: 800;
|
|
595
|
+
text-align: left;
|
|
596
|
+
}
|
|
597
|
+
.card-section p { margin: 6px 0 0; color: var(--muted); font-size: 13px; line-height: 1.35; }
|
|
598
|
+
dl {
|
|
599
|
+
display: grid;
|
|
600
|
+
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
|
|
601
|
+
gap: 8px 14px;
|
|
602
|
+
margin: 0;
|
|
603
|
+
}
|
|
604
|
+
dl div { min-width: 0; }
|
|
605
|
+
dt { color: var(--muted); font-size: 12px; }
|
|
606
|
+
dd { margin: 2px 0 0; overflow-wrap: anywhere; }
|
|
607
|
+
code {
|
|
608
|
+
padding: 2px 5px;
|
|
609
|
+
border-radius: 4px;
|
|
610
|
+
background: #eef2f5;
|
|
611
|
+
color: #263238;
|
|
612
|
+
font-size: 12px;
|
|
613
|
+
}
|
|
614
|
+
.empty {
|
|
615
|
+
padding: 20px;
|
|
616
|
+
border: 1px solid var(--line);
|
|
617
|
+
border-radius: 8px;
|
|
618
|
+
background: var(--surface);
|
|
619
|
+
color: var(--muted);
|
|
620
|
+
}
|
|
621
|
+
.curator {
|
|
622
|
+
margin-top: 22px;
|
|
623
|
+
padding-top: 18px;
|
|
624
|
+
border-top: 1px solid var(--line);
|
|
625
|
+
}
|
|
626
|
+
.section-title {
|
|
627
|
+
display: flex;
|
|
628
|
+
align-items: center;
|
|
629
|
+
justify-content: space-between;
|
|
630
|
+
gap: 12px;
|
|
631
|
+
margin-bottom: 10px;
|
|
632
|
+
}
|
|
633
|
+
.section-title h2 { margin: 0; }
|
|
634
|
+
.section-title span {
|
|
635
|
+
padding: 4px 8px;
|
|
636
|
+
border-radius: 999px;
|
|
637
|
+
background: #eef2f5;
|
|
638
|
+
color: #475569;
|
|
639
|
+
font-size: 12px;
|
|
640
|
+
font-weight: 800;
|
|
641
|
+
}
|
|
642
|
+
.curator-grid {
|
|
643
|
+
display: grid;
|
|
644
|
+
grid-template-columns: minmax(0, 1.4fr) minmax(220px, .8fr);
|
|
645
|
+
gap: 12px;
|
|
646
|
+
}
|
|
647
|
+
.curator-grid section {
|
|
648
|
+
min-width: 0;
|
|
649
|
+
padding: 12px;
|
|
650
|
+
border: 1px solid var(--line);
|
|
651
|
+
border-radius: 8px;
|
|
652
|
+
background: var(--surface);
|
|
653
|
+
}
|
|
654
|
+
.curator-grid section:first-child { grid-row: span 2; }
|
|
655
|
+
.curator h3 { margin: 0 0 8px; font-size: 16px; }
|
|
656
|
+
table {
|
|
657
|
+
width: 100%;
|
|
658
|
+
border-collapse: collapse;
|
|
659
|
+
font-size: 13px;
|
|
660
|
+
}
|
|
661
|
+
th, td {
|
|
662
|
+
padding: 7px 6px;
|
|
663
|
+
border-bottom: 1px solid var(--line);
|
|
664
|
+
text-align: left;
|
|
665
|
+
vertical-align: top;
|
|
666
|
+
overflow-wrap: anywhere;
|
|
667
|
+
}
|
|
668
|
+
th { color: var(--muted); font-size: 12px; }
|
|
669
|
+
ul { margin: 8px 0 0; padding-left: 18px; }
|
|
670
|
+
@media (max-width: 640px) {
|
|
671
|
+
main { width: min(100% - 20px, 1120px); padding-top: 12px; }
|
|
672
|
+
header { grid-template-columns: 1fr; align-items: start; }
|
|
673
|
+
.scope { justify-self: start; }
|
|
674
|
+
.item-head { align-items: flex-start; flex-direction: column; }
|
|
675
|
+
time { text-align: left; }
|
|
676
|
+
.curator-grid { grid-template-columns: 1fr; }
|
|
677
|
+
}
|
|
678
|
+
</style>
|
|
679
|
+
</head>
|
|
680
|
+
<body data-authority="projection-only" data-ledger-write-path="false">
|
|
681
|
+
<main>
|
|
682
|
+
<header>
|
|
683
|
+
<div>
|
|
684
|
+
<h1>Etiquette Timeline Preview</h1>
|
|
685
|
+
<p class="subhead">Read-only loopback panel over the existing timeline projection.</p>
|
|
686
|
+
</div>
|
|
687
|
+
<span class="scope">${C(e)}</span>
|
|
688
|
+
</header>
|
|
689
|
+
<section class="summary" aria-label="Projection summary">
|
|
690
|
+
<div class="metric"><span>Schema</span><strong>${C(r.schema)}</strong></div>
|
|
691
|
+
<div class="metric"><span>Items</span><strong>${String(r.feed.items_matched)}</strong></div>
|
|
692
|
+
<div class="metric"><span>Source</span><strong>${C(r.source.projection_schema)}</strong></div>
|
|
693
|
+
<div class="metric"><span>Watermark</span><strong>${C(r.watermark.latest_event_ref)}</strong></div>
|
|
694
|
+
<div class="metric"><span>Commit</span><strong>${C(r.watermark.commit_sha)}</strong></div>
|
|
695
|
+
<div class="metric"><span>Event log hash</span><strong>${C(r.watermark.event_log_hash)}</strong></div>
|
|
696
|
+
</section>
|
|
697
|
+
<section class="boundary">
|
|
698
|
+
<strong>Boundary</strong>
|
|
699
|
+
<span>${C(r.boundary)}</span>
|
|
700
|
+
<span>GET/HEAD/OPTIONS only; no hosted backend, no auth provider, no impersonation, no execution, no write-back.</span>
|
|
701
|
+
</section>
|
|
702
|
+
<section class="view-controls" aria-label="Feed modes">
|
|
703
|
+
<nav class="toggle" aria-label="Timeline display modes">
|
|
704
|
+
<a href="#stream" aria-current="true">Stream</a>
|
|
705
|
+
<a href="#threads">Thread</a>
|
|
706
|
+
</nav>
|
|
707
|
+
<span>${C(t)}</span>
|
|
708
|
+
</section>
|
|
709
|
+
<section id="threads" aria-label="Thread index">
|
|
710
|
+
${qM(r)}
|
|
711
|
+
</section>
|
|
712
|
+
<section id="stream" class="feed" aria-label="Timeline feed">
|
|
713
|
+
${n}
|
|
714
|
+
</section>
|
|
715
|
+
${NM(r)}
|
|
716
|
+
</main>
|
|
717
|
+
</body>
|
|
718
|
+
</html>`}function bc(r){return new Headers({allow:KD.join(", "),"cache-control":"no-store","content-type":r,"x-etiquette-authority":"projection-only","x-etiquette-ledger-write-path":"false"})}function QD(r,n){return r.method==="HEAD"?null:n}async function CD(r,n){if(r.method==="OPTIONS")return new Response(null,{status:204,headers:bc("text/plain; charset=utf-8")});if(r.method!=="GET"&&r.method!=="HEAD")return Response.json({error:"method_not_allowed",allowed_methods:KD,authority_boundary:{request_can_write_ledger:!1,request_can_execute:!1,request_can_grant:!1}},{status:405,headers:bc("application/json; charset=utf-8")});let t=new URL(r.url),e=Number.parseInt(t.searchParams.get("seq")??"",10),i=Number.isFinite(e)?e:null;if(t.pathname==="/api/timeline"){let _=Dy(await n(),i);return new Response(QD(r,JSON.stringify(_,null,2)),{headers:bc("application/json; charset=utf-8")})}if(t.pathname==="/"||t.pathname==="/index.html"){let _=Dy(await n(),i);return new Response(QD(r,LM(_)),{headers:bc("text/html; charset=utf-8")})}return Response.json({error:"not_found",authority_boundary:{request_can_write_ledger:!1,request_can_execute:!1,request_can_grant:!1}},{status:404,headers:bc("application/json; charset=utf-8")})}function Sy(r,n){let t=r.packets.filter((_)=>_.kind==="packet"&&_.lane===n.task&&_.from===n.seat&&n.expectedRoles.includes(_.role)),e=t.filter((_)=>_.seq!==null),i=e.length>0?"pass":t.length>0?"unposted_return":"missing_return";return{task:n.task,seat:n.seat,expected_roles:n.expectedRoles,verdict:i,matched_return_packets:t,posted_return_packets:e,latest_event_ref:r.watermark.latest_event_ref,event_log_hash:r.watermark.event_log_hash}}var zM=["solo","tango","rig","shadow"],jM=["rig_opened","child_spawned","child_returned","rig_closed"],ZD=["pass","fail","not_run","not_applicable"],WM=["shadow"],AM=[".etiquette/events",".etiquette/notify","docs/work/ledger","docs/work/packets","docs/work/lanes","artifacts/"],PM=["bus_write","ledger_write","merge","push","protected_branch_push","close_lane","grant","sign","rotate_secret","mutate_authority"];function xD(r){return typeof r==="object"&&r!==null&&!Array.isArray(r)}function Xn(r,n){if(!xD(r))throw Error(`${n} must be an object`);return r}function $r(r,n){let t=r[n];if(typeof t!=="string"||t.trim().length===0)throw Error(`${n} must be a non-empty string`);return t.trim()}function ay(r,n){let t=r[n];if(t===void 0)return;if(typeof t!=="string"||t.trim().length===0)throw Error(`${n} must be a non-empty string when present`);return t.trim()}function Gn(r,n){let t=r[n];if(!Array.isArray(t))throw Error(`${n} must be a string array`);return t.map((e)=>{if(typeof e!=="string"||e.trim().length===0)throw Error(`${n} must contain only non-empty strings`);return e.trim()})}function wc(r,n){let t=r[n];if(!Number.isInteger(t)||Number(t)<0)throw Error(`${n} must be a non-negative integer`);return Number(t)}function JM(r,n){if(r[n]===void 0)return;return wc(r,n)}function kM(r,n){let t=r[n];if(typeof t!=="boolean")throw Error(`${n} must be a boolean`);return t}function pD(r,n){let t=r[n];if(t===void 0)return!0;if(t!==!0)throw Error(`${n} must be true`);return!0}function Ue(r,n){if(r[n]!==!1)throw Error(`authority_boundary.${n} must be false`);return!1}function Oe(r,n,t){if(typeof n!=="string"||!r.includes(n))throw Error(`${t} must be one of: ${r.join(", ")}`);return n}function Fn(r,n){if(r.startsWith("/")||r.startsWith("\\")||/^[A-Za-z]:[\\/]/.test(r))throw Error(`${n} must be an opaque or repo-relative ref, not a local absolute path`);if(/[a-z][a-z0-9+.-]*:\/\//i.test(r))throw Error(`${n} must be an opaque or repo-relative ref, not a URL`)}function vM(r){let n=Xn(r,"authority_boundary");return{topology_grants_authority:Ue(n,"topology_grants_authority"),parenthood_grants_authority:Ue(n,"parenthood_grants_authority"),child_mints_authority:Ue(n,"child_mints_authority"),child_can_write_parent_ledger:Ue(n,"child_can_write_parent_ledger"),station_role_grants_authority:Ue(n,"station_role_grants_authority"),validation_is_authorization:Ue(n,"validation_is_authorization")}}function MM(r){let n=Xn(r,"stations");return{orchestration_lead:$r(n,"orchestration_lead"),rig_lead:$r(n,"rig_lead"),synthesis_owner:$r(n,"synthesis_owner"),reviewer:$r(n,"reviewer")}}function VM(r){let n=Xn(r,"station edge");return{from:Oe(["orchestration_lead","rig_lead","synthesis_owner","reviewer"],n.from,"station_edges.from"),to:Oe(["orchestration_lead","rig_lead","synthesis_owner","reviewer"],n.to,"station_edges.to")}}function FM(r){let n=Xn(r,"return_contract");return{return_to:$r(n,"return_to"),required_refs:Gn(n,"required_refs"),disposal_confirmed_required:pD(n,"disposal_confirmed_required")}}function GM(r){let n=Xn(r,"task_spec"),t=$r(n,"task_id"),e=$r(n,"lane");Fn(t,"task_spec.task_id"),Fn(e,"task_spec.lane");let i=Gn(n,"allowed_writes");for(let _ of i)Fn(_,"task_spec.allowed_writes");return{task_id:t,lane:e,assigned_to:$r(n,"assigned_to"),allowed_writes:i,validation:Gn(n,"validation"),return_contract:FM(n.return_contract)}}function XM(r){let n=Xn(r,"structured check");return{name:$r(n,"name"),compile_status:n.compile_status===void 0?void 0:Oe(ZD,n.compile_status,"checks.compile_status"),gate_status:n.gate_status===void 0?void 0:Oe(ZD,n.gate_status,"checks.gate_status"),tests_failed:JM(n,"tests_failed"),blocking:kM(n,"blocking")}}function BM(r){let n=Xn(r,"child node"),t=$r(n,"node_id"),e=$r(n,"lane");if(Fn(t,"child_nodes.node_id"),Fn(e,"child_nodes.lane"),"depth"in n)throw Error("child_nodes.depth is derived from parent_node chain and must not be declared");let i=ay(n,"scratch_ref");if(i!==void 0)Fn(i,"child_nodes.scratch_ref");let _=Gn(n,"allowed_writes");for(let c of _)Fn(c,"child_nodes.allowed_writes");return{node_id:t,parent_node:$r(n,"parent_node"),return_to:$r(n,"return_to"),lane:e,assigned_to:$r(n,"assigned_to"),scratch_ref:i,allowed_writes:_,allowed_tools:Gn(n,"allowed_tools"),forbidden_actions:Gn(n,"forbidden_actions"),child_spawn_budget:wc(n,"child_spawn_budget"),task_spec:GM(n.task_spec)}}function HM(r){let n=Xn(r,"lifecycle event"),t=n.checks===void 0?void 0:n.checks;if(t!==void 0&&!Array.isArray(t))throw Error("lifecycle_events.checks must be an array when present");return{type:Oe(jM,n.type,"lifecycle_events.type"),node_id:ay(n,"node_id"),ref:ay(n,"ref"),disposal_confirmed:typeof n.disposal_confirmed==="boolean"?n.disposal_confirmed:void 0,checks:Array.isArray(t)?t.map(XM):void 0}}function YM(r){if(r===void 0)return;let n=Xn(r,"synthesis");return{owner:$r(n,"owner"),return_to:$r(n,"return_to"),child_return_refs:Gn(n,"child_return_refs"),disposal_confirmed:n.disposal_confirmed===!0}}function QM(r){let n=Xn(r,"rig conductor envelope");if(n.schema!=="rig_conductor.v0")throw Error("schema must be rig_conductor.v0");let t=$r(n,"rig_id"),e=$r(n,"lane");Fn(t,"rig_id"),Fn(e,"lane");let i=Gn(n,"allowed_writes");for(let u of i)Fn(u,"allowed_writes");let _=n.child_nodes??[];if(!Array.isArray(_))throw Error("child_nodes must be an array");let c=n.lifecycle_events??[];if(!Array.isArray(c))throw Error("lifecycle_events must be an array");let o=n.station_edges??[];if(!Array.isArray(o))throw Error("station_edges must be an array");return{schema:"rig_conductor.v0",rig_id:t,workflow_id:$r(n,"workflow_id"),lane:e,execution_strategy:Oe(zM,n.execution_strategy,"execution_strategy"),parent_node:$r(n,"parent_node"),return_to:$r(n,"return_to"),synthesis_owner:$r(n,"synthesis_owner"),allowed_writes:i,allowed_tools:Gn(n,"allowed_tools"),forbidden_actions:Gn(n,"forbidden_actions"),child_spawn_budget:wc(n,"child_spawn_budget"),max_depth:wc(n,"max_depth"),total_descendant_budget:wc(n,"total_descendant_budget"),ephemeral_children:pD(n,"ephemeral_children"),stations:MM(n.stations),station_edges:o.map(VM),child_nodes:_.map(BM),lifecycle_events:c.map(HM),synthesis:YM(n.synthesis),authority_boundary:vM(n.authority_boundary)}}function L$(r,n){return r.every((t)=>n.includes(t))}function KM(r){let n=new Map;for(let _ of r)n.set(_.from,[...n.get(_.from)??[],_.to]);let t=new Set,e=new Set,i=(_)=>{if(t.has(_))return!0;if(e.has(_))return!1;t.add(_);for(let c of n.get(_)??[])if(i(c))return!0;return t.delete(_),e.add(_),!1};return["orchestration_lead","rig_lead","synthesis_owner","reviewer"].some(i)}function CM(r){return r.allowed_writes.some((n)=>AM.some((t)=>n===t||n.startsWith(`${t}/`)))||r.allowed_tools.some((n)=>PM.includes(n))}function ZM(r){let n=new Set;for(let t of r.child_nodes){if(t.allowed_writes.length===0)continue;if(t.scratch_ref===void 0)return!1;if(n.has(t.scratch_ref))return!1;n.add(t.scratch_ref)}return!0}function sD(r){if(!xD(r))return!1;for(let[n,t]of Object.entries(r)){let e=n.toLowerCase();if(!(e.includes("cannot")||e.includes("requires")||e.includes("read_only")||e.includes("false"))&&/(authority|authorize|grant|merge|close|promote|push|sign|mint)/i.test(n)&&t===!0)return!0;if(sD(t))return!0}return!1}function xM(r){let n=new Map;for(let i of r.child_nodes)n.set(i.parent_node,[...n.get(i.parent_node)??[],i]);let t=new Map,e=(i,_,c)=>{for(let o of n.get(i)??[]){if(c.has(o.node_id)){t.set(o.node_id,Number.POSITIVE_INFINITY);continue}t.set(o.node_id,_),e(o.node_id,_+1,new Set([...c,o.node_id]))}};return e(r.parent_node,1,new Set([r.parent_node])),t}function pM(r){let n=new Set(r.child_nodes.map((t)=>t.node_id));return r.lifecycle_events.every((t)=>{if(t.type==="rig_opened"||t.type==="rig_closed")return t.node_id===void 0||t.node_id===r.rig_id;return typeof t.node_id==="string"&&n.has(t.node_id)})}function Ty(r){return r.lifecycle_events.some((n)=>n.type==="rig_closed")}function rS(r){let n=new Map;for(let t of r.lifecycle_events){if(t.type!=="child_returned"||t.node_id===void 0)continue;n.set(t.node_id,[...n.get(t.node_id)??[],t])}return n}function sM(r){if(!Ty(r))return!0;let n=rS(r);return r.child_nodes.every((t)=>(n.get(t.node_id)??[]).some((e)=>(e.checks??[]).length>0))}function rV(r){if(!Ty(r))return!0;let n=rS(r);return r.child_nodes.every((t)=>{let e=(n.get(t.node_id)??[]).flatMap((i)=>i.checks??[]);return e.length>0&&e.every((i)=>i.blocking===!1)})}function Mr(r,n,t){if(!n)r.push(t)}function nS(r){let n=QM(r),t=[],e=new Set(n.lifecycle_events.filter((v)=>v.type==="child_returned"&&typeof v.ref==="string").map((v)=>v.ref)),i=new Set(n.child_nodes.map((v)=>v.node_id)),_=xM(n),c=[..._.values()],o=c.length===0?0:Math.max(...c),u=n.child_nodes.length+n.child_nodes.reduce((v,Tr)=>v+Tr.child_spawn_budget,0),$=!WM.includes(n.execution_strategy),g=!KM(n.station_edges),d=n.child_nodes.every((v)=>v.assigned_to!==n.stations.reviewer&&v.node_id!==n.stations.reviewer),f=n.child_nodes.every((v)=>v.lane===n.lane&&L$(v.allowed_writes,n.allowed_writes)&&L$(v.allowed_tools,n.allowed_tools)&&L$(n.forbidden_actions,v.forbidden_actions)),b=n.child_nodes.every((v)=>v.task_spec.lane===v.lane&&v.task_spec.assigned_to===v.assigned_to&&L$(v.task_spec.allowed_writes,v.allowed_writes)&&v.task_spec.return_contract.return_to===v.return_to&&v.task_spec.return_contract.disposal_confirmed_required===!0&&v.task_spec.return_contract.required_refs.length>0&&v.task_spec.validation.length>0),I=ZM(n),w=n.child_nodes.every((v)=>!CM(v)),h=n.child_nodes.length<=n.child_spawn_budget&&u<=n.total_descendant_budget&&n.child_nodes.every((v)=>{let Tr=v.parent_node===n.parent_node?n.child_spawn_budget:n.child_nodes.find((ur)=>ur.node_id===v.parent_node)?.child_spawn_budget??-1;return Tr>0&&v.child_spawn_budget<Tr}),R=o<=n.max_depth&&c.every(Number.isFinite)&&_.size===i.size,S=Ty(n),D=!S||n.synthesis!==void 0&&n.synthesis.owner===n.synthesis_owner&&n.synthesis.return_to===n.return_to&&n.child_nodes.every((v)=>n.synthesis?.child_return_refs.includes(v.node_id)||n.synthesis?.child_return_refs.some((Tr)=>e.has(Tr)&&v.task_spec.return_contract.required_refs.includes(Tr))),L=!S||n.synthesis?.disposal_confirmed===!0&&n.lifecycle_events.filter((v)=>v.type==="child_returned").every((v)=>v.disposal_confirmed===!0),N=sM(n),M=rV(n),K=pM(n),A=!sD(r),B={strategy_supported:$,station_graph_acyclic:g,reviewer_not_implementer:d,child_envelopes_subset_parent:f,child_task_specs_subset_envelopes:b,child_scratch_isolated:I,children_not_canonical_writers:w,child_budget_within_parent:h,depth_within_max:R,synthesis_has_child_refs:D,child_return_checks_present:N,child_return_checks_nonblocking:M,disposal_confirmed:L,lifecycle_events_valid:K,authority_boundary_false:A};return Mr(t,B.strategy_supported,"strategy_reserved"),Mr(t,B.station_graph_acyclic,"station_cycle"),Mr(t,B.reviewer_not_implementer,"reviewer_is_implementer"),Mr(t,B.child_envelopes_subset_parent,"child_envelope_widens_parent"),Mr(t,B.child_task_specs_subset_envelopes,"task_spec_not_subset_or_missing_return_contract"),Mr(t,B.child_scratch_isolated,"child_scratch_not_isolated"),Mr(t,B.children_not_canonical_writers,"child_canonical_write_surface"),Mr(t,B.child_budget_within_parent,"child_budget_exhausted"),Mr(t,B.depth_within_max,"depth_exceeds_max"),Mr(t,B.synthesis_has_child_refs,"synthesis_missing_child_refs"),Mr(t,B.child_return_checks_present,"child_return_checks_missing"),Mr(t,B.child_return_checks_nonblocking,"child_return_blocking"),Mr(t,B.disposal_confirmed,"disposal_unconfirmed"),Mr(t,B.lifecycle_events_valid,"lifecycle_event_invalid"),Mr(t,B.authority_boundary_false,"authority_field_write_attempt"),{schema:"rig-conductor-validation.v0",rig_ref:n.rig_id,verdict:t.length===0?"legitimate":"blocked",reasons:t,checks:B,derived:{max_observed_depth:o,child_count:n.child_nodes.length,descendant_budget_requested:u},authority_boundary:{...n.authority_boundary,validation_grants_authority:!1,topology_is_routing_only:!0}}}var A$="seat_lifecycle.v0",tS=["enrolled","provisioned","ready","assigned","active","idle","away","absent","stale","resuming","retired"],_V=new Set(["ready","idle"]),iS=28800;function jy(){return{mode:"local-poll",webhook_enabled:!1,sns_sqs_enabled:!1,external_delivery_enabled:!1}}function Wy(){return{pointers_only:!0,packet_body_included:!1,raw_prompt_included:!1,diff_included:!1,secret_values_included:!1}}function Ay(){return{queue_is_authority:!1,notification_can_authorize:!1,notification_can_grant:!1,notification_can_merge:!1,notification_can_close:!1,can_write_global_ledger:!1}}function cV(r){return{...r,transport:r.transport??jy(),payload_boundary:r.payload_boundary??Wy(),authority_boundary:{...Ay(),...r.authority_boundary??{}}}}function fS(){return{mode:"github-webhook",webhook_enabled:!0,signature_verified:!0,receiver_network_required:!0,receiver_must_fetch_and_verify:!0,webhook_payload_trusted_as_truth:!1,sns_sqs_enabled:!1,aws_enabled:!1}}function oV(){return{...fS(),receiver_must_fetch_and_verify:!1}}function eS(){return{pointers_only:!0,raw_payload_included:!1,commit_messages_included:!1,diff_included:!1,secret_values_included:!1}}function _S(){return{notification_is_authority:!1,webhook_can_authorize:!1,webhook_can_grant:!1,webhook_can_merge:!1,webhook_can_close:!1,webhook_can_write_global_ledger:!1,webhook_can_write_local_ledger:!1}}var uV=new Set(["setup","handoff","init","bootstrap","whereami","join","pickup","enter","audit","roster","post","notify","return","retire","rig","doctor","bus","timeline","status","diagnostics","trash"]),$V=["can_authorize_work","can_close_lane_without_grant","can_merge_or_push_without_grant"],cS=["solo","tango","rig","shadow"],gV=[".etiquette/events/local.ndjson",".etiquette/notify/","docs/work/ledger/","docs/work/packets/","docs/work/receipts/","docs/work/sessions/"];function bS(r){return uV.has(r)}function Ir(r){return Yn(m(r,"project")??process.cwd())}function Dr(r){let t=(r?m(r,"at"):void 0)??new Date().toISOString();if(!Number.isFinite(Date.parse(t)))throw Error("--at must be an ISO-8601 timestamp");return new Date(t).toISOString()}function ct(r){return j(r,".etiquette","events","local.ndjson")}function Se(r){return j(r,"docs","work","ledger","LEDGER.md")}function dV(r){return or(we(r))&&or(ct(r))}function cr(r,n){let t=eV(r,Yn(n));if(t.length===0||t.startsWith("..")||t.includes("\\"))throw Error(`path must stay inside project root: ${n}`);return t}function Uc(r,n,t){let e=t?` --expect-project-id ${t}`:"";return`etiquette pickup --project . --seat ${r} --task ${n}${e} --text`}function fV(r,n){let t=m(n,"expect-project-id");if(t){D$(r,t,"current project");return}if(Boolean(n["allow-current-project"]))return;throw Error("pickup requires --expect-project-id <project_id>; run etiquette whereami --project . --json or use a generated pickup command. For manual local-only pickup, pass --allow-current-project.")}function En(r){return r.toLowerCase().replace(/[^a-z0-9._-]+/g,"-").replace(/^-+|-+$/g,"")||"item"}function ui(r,n=" "){if(r.length===0)return`${n}[]`;return r.map((t)=>`${n}- ${t}`).join(`
|
|
719
|
+
`)}function bV(r){return[".etiquette/events/local.ndjson",`.etiquette/notify/queues/${r.assignedTo.seatId}.json`,"docs/work/ledger/LEDGER.md",`docs/work/packets/*${En(r.id)}*.json`]}function wS(r){return[...r.allowedWrites,...bV(r)]}function wV(r){return r.mode==="read-only-audit"?"tango":"solo"}function mV(r){return r.mode==="product-implementation"?"implementation-return":"review-return"}function oS(r,n){return n.mode==="product-implementation"?r.reviewers[0]?.seatId??r.lead.seatId:r.lead.seatId}function uS(r){return r==="implementation-return"||r==="review-return"}function Bn(r,n,t){return m(r,n)??t}function z$(r){return{activeWorkers:r.activeWorkers??0,maxRecommendedWorkers:r.maxRecommendedWorkers??1,supportsParallel:r.supportsParallel??!1,...r}}function mS(r){let n=Bn(r,"profile","codex-cc-gemini"),t=Bn(r,"task-prefix","ETQ-BOOTSTRAP"),e=z$({seatId:Bn(r,"bootstrap-seat","manager-seat"),operatorPrincipal:Bn(r,"bootstrap-principal","manager"),displayName:"Bootstrap Provisioner Seat",seatType:"control_seat",asRole:"observer",authorityScope:"bootstrap-provenance",mode:"docs-only",modelRef:"bootstrap-provenance",modelTier:"local_unknown",modelId:"bootstrap-provenance",supportedStrategies:["bootstrap-provenance"],allowedWork:["repo-local bootstrap provenance","lead handoff records"],forbiddenWork:["routine task ownership after lead handoff","external ledger writes for routine execution","merge, push, closeout, promotion, or grants"]}),i=n==="lead-review";if(n!=="codex-cc-gemini"&&n!=="lead-review")throw Error("--profile must be codex-cc-gemini or lead-review");let _=z$({seatId:Bn(r,"lead-seat",i?"impl-seat":"codex-seat"),operatorPrincipal:Bn(r,"lead-principal",i?"impl":"codex"),displayName:"Local Lead Seat",seatType:"control_seat",asRole:"principal",authorityScope:"repo-local-routing",mode:"product-implementation",modelRef:i?"local-implementation-session":"local-codex-session",modelTier:"frontier_high_reasoning",modelId:i?"local-implementation-session":"local-codex-session",supportedStrategies:["local-routing","product-implementation","validation","review-gate"],activeWorkers:1,maxRecommendedWorkers:2,supportsParallel:!0,allowedWork:["repo-local task routing","repo-local board updates","repo-local session creation","assigned implementation","local receipt review"],forbiddenWork:["external ledger writes for routine execution","merge, push, closeout, promotion, or grants without explicit decision"]}),c=z$({seatId:Bn(r,"review-seat",i?"review-seat":"cc-seat"),operatorPrincipal:Bn(r,"review-principal",i?"review":"cc"),displayName:i?"Local Review Seat":"Claude Code Review Seat",seatType:"review_seat",asRole:"reviewer",authorityScope:"review-only",mode:"read-only-audit",modelRef:i?"local-review-session":"local-claude-code-session",modelTier:"local_unknown",modelId:i?"local-review-session":"local-claude-code-session",supportedStrategies:["read-only-audit","receipt-review"],allowedWork:["repo-local read-only review","product and docs critique","bounded session notes","receipt writing under docs/work/receipts"],forbiddenWork:["external ledger writes","product file edits without a later implementation task","merge, push, closeout, promotion, or grants"]}),o=[c],u=m(r,"qa-seat");if(r["no-qa"]!==!0&&(!i||u!==void 0))o.push(z$({seatId:Bn(r,"qa-seat","gemini-seat"),operatorPrincipal:Bn(r,"qa-principal","gemini"),displayName:"Gemini QA Seat",seatType:"review_seat",asRole:"reviewer",authorityScope:"review-only",mode:"read-only-audit",modelRef:"local-gemini-session",modelTier:"local_unknown",modelId:"local-gemini-session",supportedStrategies:["read-only-audit","adversarial-qa","receipt-review"],allowedWork:["repo-local adversarial review","edge-case review","mobile usability review","bounded session notes","receipt writing under docs/work/receipts"],forbiddenWork:["external ledger writes","product file edits without a later implementation task","merge, push, closeout, promotion, or grants"]}));let g=[{id:`${t}-001`,title:"First local implementation lane",mode:"product-implementation",assignedTo:_,allowedWrites:["src/**","app/**","test/**","tests/**",`docs/work/receipts/${t}-001-*.md`,`docs/work/sessions/session-${t}-001/**`],validation:["git diff --check"],planNote:`Lead pickup: execute ${t}-001 using repo-local Etiquette only.`},{id:`${t}-002`,title:"Review first local implementation lane",mode:"read-only-audit",assignedTo:c,allowedWrites:[`docs/work/receipts/${t}-002-*.md`,`docs/work/sessions/session-${t}-002/**`],validation:["etiquette doctor --project .",`etiquette console board --project . --seat ${c.seatId} --text`],planNote:`Review pickup: pressure-test ${t}-001 for scope, validation, and authority drift.`}],d=o[1];if(d)g.push({id:`${t}-003`,title:"Adversarial QA for the first local implementation lane",mode:"read-only-audit",assignedTo:d,allowedWrites:[`docs/work/receipts/${t}-003-*.md`,`docs/work/sessions/session-${t}-003/**`],validation:["git diff --check"],reviewFocus:["edge-case behavior","validation blind spots","mobile or repeated-use ergonomics","authority drift"],planNote:`QA pickup: adversarial review for ${t}-001 edge cases and validation gaps.`});return{profile:n,taskPrefix:t,lead:_,reviewers:o,bootstrapSeat:e,tasks:g}}function Kr(r,n){if(typeof r!=="object"||r===null||Array.isArray(r))throw Error(`${n} must be an object`);return r}function V(r,n){let t=r[n];return typeof t==="string"&&t.trim().length>0?t.trim():void 0}function mc(r,n){let t=r[n];return typeof t==="boolean"?t:void 0}function P$(r,n){let t=r[n];return Array.isArray(t)?t:void 0}function IS(r,n="lifecycle_state"){if(!tS.includes(r))throw Error(`${n} must be one of: ${tS.join(", ")}`)}function IV(r,n){return new Date(Date.parse(r)+n*1000).toISOString()}function Nt(r){let n=V(r,"lifecycle_state");if(n)return IS(n),n;return r.ready===!0?"ready":"enrolled"}function _t(r){return r}function J$(r){return{runner_provider:r.runnerProvider,execution_surface:r.executionSurface,model_id:r.modelId??null,model_tier:r.modelTier??"local_unknown",permission_profile_ref:r.permissionProfileRef??null,capability_source:r.capabilitySource??"config",runner_permission_profile_verified:!0,capability_tier_revalidated:!0,...r.previous?{previous:r.previous}:{},authority_boundary:{runner_binding_grants_authority:!1,runner_switch_grants_authority:!1}}}function yS(r){return{lifecycle_schema:A$,lifecycle_state:"ready",workflow_id:_t(r.projectId),ready:!0,ready_at:r.at,readiness_ttl_seconds:iS,readiness_expires_at:IV(r.at,iS),lifecycle_checks:{remote_synced:!0,inbox_read:!0,workflow_binding_confirmed:!0,runner_binding_confirmed:!0,runner_permission_profile_verified:!0,capability_tier_revalidated:!0,stale_tasks_cleared:!0},...r.runnerBinding?{runner_binding:r.runnerBinding}:{},authority_granted:!1,lifecycle_authority_boundary:{lifecycle_grants_authority:!1,readiness_authorizes_work:!1,can_merge:!1,can_close:!1,can_grant:!1}}}function hS(r,n,t,e=new Date().toISOString()){let i=Nt(r);if(!_V.has(i))throw Error(`seat lifecycle not routable: ${t} state=${i}; run etiquette roster ready ${t} after lifecycle preflight`);let _=V(r,"workflow_id");if(_&&_!==_t(n))throw Error(`seat workflow mismatch: ${t} workflow_id=${_} current=${_t(n)}`);let c=V(r,"readiness_expires_at");if(c){let u=Date.parse(e),$=Date.parse(c);if(!Number.isFinite(u)||!Number.isFinite($))throw Error(`seat lifecycle readiness timestamp unparseable: ${t}`);if(u>$)throw Error(`seat lifecycle readiness expired: ${t}; run etiquette roster ready ${t} after preflight`)}if(r.authority_granted===!0)throw Error(`seat lifecycle must not grant authority: ${t}`);let o=r.runner_binding===void 0?null:Kr(r.runner_binding,`${t} runner_binding`);if(!o)return;if(V(o,"capability_source")==="agent_self_declared")throw Error(`seat runner capability is self-declared: ${t}; require local validation before pickup`);if(o.runner_switch_requires_preflight===!0)throw Error(`seat runner binding requires lifecycle preflight: ${t}`);if(o.runner_permission_profile_verified===!1)throw Error(`seat runner permission profile not verified: ${t}`);if(o.capability_tier_revalidated===!1)throw Error(`seat runner capability tier not revalidated: ${t}`)}async function ln(r){try{return await De(r,"utf-8")}catch(n){if(n.code==="ENOENT")return null;throw n}}async function Vr(r,n){let t=await ln(r);return t?JSON.parse(t):n}async function qn(r,n){await _r(Rc(r),{recursive:!0}),await Hn(r,`${JSON.stringify(n,null,2)}
|
|
720
|
+
`)}var yV=[".etiquette/state/",".etiquette/diagnostics/",".etiquette/notify/queues/",".etiquette/events/*.lock/"];async function hV(r,n){let e=j(r,".gitignore"),i=await ln(e),_=new Set((i??"").split(/\r?\n/).map((u)=>u.trim()).filter(Boolean)),c=yV.filter((u)=>!_.has(u));if(c.length===0){n.skipped.push(".gitignore");return}let o=i&&i.length>0?`${i.replace(/\s*$/,`
|
|
721
|
+
`)}
|
|
722
|
+
`:"";await Hn(e,[o,"# Etiquette transient machine state",...c,""].join(`
|
|
723
|
+
`)),n.generated.push(".gitignore")}async function mn(r,n,t,e,i){let _=j(r,n);if(or(_)&&!e){i.skipped.push(n);return}await _r(Rc(_),{recursive:!0}),await Hn(_,t.endsWith(`
|
|
724
|
+
`)?t:`${t}
|
|
725
|
+
`),i.generated.push(n)}var ly=[{target:"codex",display:"Codex",cliCommand:"codex",configDir:".codex",skillRef:".codex/skills/etiquette/SKILL.md",notesRef:".codex/etiquette-setup.md"},{target:"claude-code",display:"Claude Code",cliCommand:"claude",configDir:".claude",skillRef:".claude/skills/etiquette/SKILL.md",notesRef:".claude/etiquette-setup.md"},{target:"gemini",display:"Gemini CLI",cliCommand:"gemini",configDir:".gemini",skillRef:".gemini/skills/etiquette/SKILL.md",notesRef:".gemini/etiquette-setup.md"}];function US(r){return W$("which",[r],{encoding:"utf-8"}).status===0}function UV(r){let n=ly.find((t)=>t.target===r);if(!n)throw Error(`unsupported setup target: ${r}`);return n}function OV(r,n){let t=m(n,"target")??"auto";if(n.global===!0)throw Error("setup --global is not available in v0; use project-local setup only");if(t==="all")return{mode:t,targets:[...ly]};if(t==="auto"){let i=ly.filter((_)=>US(_.cliCommand)||or(j(r,_.configDir)));if(i.length===0)throw Error("setup --target auto found no supported agent host; rerun with --target codex, --target claude-code, --target gemini, or --target all");return{mode:t,targets:i}}let e=t.split(",").map((i)=>i.trim()).filter(Boolean).map((i)=>{if(!["codex","claude-code","gemini"].includes(i))throw Error("--target must be one of: auto, all, codex, claude-code, gemini");return UV(i)});return{mode:t,targets:e}}function RV(r){return["---","name: etiquette-seat-pickup","description: Use when entering or resuming an Etiquette-managed project. Read the project head-start docs, orient with whereami, join the assigned seat, read the task envelope and runbook, respect allowed writes, run validation, and write a receipt before asking for promotion.","---","","# Etiquette Seat Pickup","",`This project installed Etiquette guidance for ${r.display}.`,"","## Start Here","","Before pickup, read the repo-local head-start surfaces when they exist:","","- `AGENTS.md`","- `docs/work/BOARD.md`","- `docs/work/runbooks/SESSION_PICKUP.md`","- `docs/work/manuals/SEAT_OPERATING_MANUAL.md`","- `docs/work/cookbooks/ADD_A_LANE.md`","","If the seat is returning from stale context, resume, runner/model/profile","swap, or workflow migration, re-orient with `etiquette whereami` before","pickup. For notification polling, use `etiquette notify poll --seat <seat>`;","it is cursor-based, read-only, and never grants authority.","","When a task gives you a seat id and task id, run:","","```sh","etiquette whereami --project . --seat <seat-id> --task <task-id>","etiquette join --project . --seat <seat-id>","etiquette pickup --project . --seat <seat-id> --task <task-id> --text","```","","If `pickup` prints an `--expect-project-id` command, use that exact command.","","## Operating Rules","","- Treat the task envelope as the write boundary.","- Read the runbook before editing.","- Hooks and readiness are evidence only; they never grant task authority.","- Use repo-local `.etiquette` and `docs/work` surfaces, not a global bus, unless explicitly routed.","- Run the task validation before returning.","- Write a receipt under `docs/work/receipts/` when the task asks for one.","- Stop if authority is unclear, validation cannot run, a secret appears, or writes exceed the envelope.","","## Authority Boundary","","This skill does not grant authority. It cannot merge, close, promote, push, sign, or approve work."].join(`
|
|
726
|
+
`)}function DV(r){return["# Etiquette Agent Host Setup","",`Target: ${r.display}`,"","This directory contains project-local guidance for using Etiquette in this repository.","","The installed guidance is intentionally advisory:","","- no lifecycle hooks are installed in v0;","- no global agent config is written;","- no project bootstrap is performed;","- no seat is joined;","- no task is picked up;","- no authority is granted.","","Head-start read order for fresh sessions:","","1. `AGENTS.md`","2. `docs/work/BOARD.md`","3. `docs/work/runbooks/SESSION_PICKUP.md`","4. `docs/work/manuals/SEAT_OPERATING_MANUAL.md`","5. `docs/work/cookbooks/ADD_A_LANE.md`","","Re-orient with `etiquette whereami` before pickup after stale context,","resume, runner/model/profile swaps, or workflow migration. Orientation is","evidence only; it does not authorize work.","","A live seat should still run:","","```sh","etiquette whereami --project . --seat <seat-id> --task <task-id>","etiquette join --project . --seat <seat-id>","etiquette pickup --project . --seat <seat-id> --task <task-id> --text","```"].join(`
|
|
727
|
+
`)}async function SV(r){let n=Ir(r),t=r["dry-run"]===!0,e=r.eject===!0,i=r.force===!0,{mode:_,targets:c}=OV(n,r),o={schema:"agent-host-setup.v0",project:n,target_mode:_,targets:[],dry_run:t,ejected:e,authority_boundary:{setup_installs_project_guidance_only:!0,can_install_hooks:!1,can_write_global_config:!1,can_bootstrap_project:!1,can_join_seat:!1,can_pickup_task:!1,can_grant:!1,can_merge:!1,can_close:!1,can_push:!1},next_step:e?"project-local Etiquette agent guidance removed; reinstall with etiquette setup --target <host>":"restart or refresh the agent session, then run etiquette whereami/join/pickup for the assigned seat and task"};for(let u of c){let $=US(u.cliCommand),g=or(j(n,u.configDir)),d=$||g,f=$?"cli":g?"project-config":"none",b=[],I=[],w=[],h=[{ref:u.skillRef,content:RV(u)},{ref:u.notesRef,content:DV(u)}];if(e)for(let R of h){let S=j(n,R.ref);if(or(S)){if(!t)await zy(S,{force:!0});w.push(R.ref)}else I.push(R.ref)}else for(let R of h){if(t){b.push(R.ref);continue}await mn(n,R.ref,R.content,i,{generated:b,skipped:I})}o.targets.push({target:u.target,display:u.display,detected:d,detected_via:f,config_dir:u.configDir,skill_ref:u.skillRef,notes_ref:u.notesRef,action:t?"dry-run":e?"ejected":b.length>0?"installed":"skipped",generated:b,skipped:I,removed:w})}if(r.json){console.log(JSON.stringify(o,null,2));return}console.log(["agent_host_setup:",` project: ${o.project}`,` target_mode: ${o.target_mode}`,` dry_run: ${String(o.dry_run)}`,` eject: ${String(o.ejected)}`," authority_boundary: project-local guidance only; no hooks, global config, bootstrap, join, pickup, push, merge, close, or grant","targets:",...o.targets.flatMap((u)=>[` - ${u.target} detected=${String(u.detected)}${u.detected?`(${u.detected_via})`:""} action=${u.action}`,` skill_ref: ${u.skill_ref}`,` notes_ref: ${u.notes_ref}`,` generated: ${u.generated.join(", ")||"none"}`,` skipped: ${u.skipped.join(", ")||"none"}`,` removed: ${u.removed.join(", ")||"none"}`]),`next_step: ${o.next_step}`].join(`
|
|
728
|
+
`))}async function yr(r){if(await _r(j(r,".etiquette","events"),{recursive:!0}),await _r(j(r,".etiquette","audit"),{recursive:!0}),await _r(j(r,".etiquette","diagnostics"),{recursive:!0}),await _r(j(r,".etiquette","notify","queues"),{recursive:!0}),await _r(j(r,".etiquette","notify","subscriptions"),{recursive:!0}),await _r(j(r,".etiquette","roster","enrollments"),{recursive:!0}),await _r(j(r,".etiquette","state"),{recursive:!0}),await _r(j(r,"docs","work","cookbooks"),{recursive:!0}),await _r(j(r,"docs","work","huddle-cards"),{recursive:!0}),await _r(j(r,"docs","work","ledger"),{recursive:!0}),await _r(j(r,"docs","work","manuals"),{recursive:!0}),await _r(j(r,"docs","work","onboarding"),{recursive:!0}),await _r(j(r,"docs","work","packets"),{recursive:!0}),await _r(j(r,"docs","work","receipts"),{recursive:!0}),await _r(j(r,"docs","work","runbooks"),{recursive:!0}),await _r(j(r,"docs","work","seat-cards"),{recursive:!0}),await _r(j(r,"docs","work","sessions"),{recursive:!0}),await _r(j(r,"docs","work","tasks"),{recursive:!0}),await _r(j(r,"docs","work","trash"),{recursive:!0}),await vr(r),!or(ct(r)))await Hn(ct(r),"");if(!or(Se(r)))await Hn(Se(r),`# Local Etiquette Ledger
|
|
729
|
+
|
|
730
|
+
`)}async function di(r){return await yr(r),(await De(ct(r),"utf-8")).split(`
|
|
731
|
+
`).map((t)=>t.trim()).filter(Boolean).map((t)=>JSON.parse(t))}async function aV(r){let n=await ln(ct(r));if(!n)return[];return n.split(`
|
|
732
|
+
`).map((t)=>t.trim()).filter(Boolean).map((t)=>JSON.parse(t))}function TV(r){return new Promise((n)=>{setTimeout(n,r)})}async function OS(r,n){let t=j(r,".etiquette","events","local.ndjson.lock");for(let e=0;e<200;e+=1)try{await _r(t);try{return await n()}finally{await zy(t,{recursive:!0,force:!0})}}catch(i){if(i.code!=="EEXIST")throw i;await TV(10)}throw Error("timed out waiting for local event lock")}async function EV(r,n){let t=[`type=${n.type}`,typeof n.lane==="string"?`lane=${n.lane}`:void 0,typeof n.from==="string"?`from=${n.from}`:void 0,typeof n.to==="string"?`to=${n.to}`:void 0,typeof n.next_owner==="string"?`next_owner=${n.next_owner}`:void 0].filter(Boolean).join(" ");await hc(Se(r),`- ${n.created_at} ${n.event_ref} ${t}
|
|
733
|
+
`)}async function RS(r,n,t,e){let _=(await di(r)).reduce((o,u)=>Math.max(o,u.seq),0)+1,c={schema:"local-event.v0",seq:_,event_ref:`local://event/${_}`,created_at:Dr(e),type:n,...t};return await hc(ct(r),`${JSON.stringify(c)}
|
|
734
|
+
`),await EV(r,c),c}async function Cr(r,n,t,e){return await yr(r),OS(r,()=>RS(r,n,t,e))}function lV(r){return["schema: seat-model-card.v0",`seat_id: ${r.seatId}`,`display_name: ${r.displayName}`,`operator_principal: ${r.operatorPrincipal}`,"execution_surface: local-etiquette",`seat_type: ${r.seatType}`,`model_ref: ${r.modelRef}`,"model_posture_ref: docs/work/onboarding/local-etiquette-canary.md","authority_boundary:"," can_authorize_work: false"," can_close_lane_without_grant: false"," can_merge_or_push_without_grant: false","allowed_work:",ui(r.allowedWork),"forbidden_work:",ui(r.forbiddenWork),""].join(`
|
|
735
|
+
`)}function qV(r,n,t){let e=t.id.slice(n.taskPrefix.length+1),i=t.reviewFocus?["review_focus:",ui(t.reviewFocus)]:[];return["schema: task-envelope.v0",`task_id: ${t.id}`,`title: ${t.title}`,`mode: ${t.mode}`,`owner: ${n.lead.seatId}`,`assigned_to: ${t.assignedTo.seatId}`,"project_ref: .","startup_docs:"," - AGENTS.md"," - docs/work/BOARD.md"," - docs/work/onboarding/local-etiquette-canary.md",` - docs/work/huddle-cards/${t.id}.yaml`,"allowed_writes:",ui(wS(t)),"forbidden_sources:"," - external coordination repos unless explicitly routed"," - raw chat transcripts","validation:",ui(t.validation),"execution_strategy:",` strategy: ${wV(t)}`," strategy_policy: executor_selected"," authority_boundary:"," strategy_metadata_grants_authority: false"," can_authorize: false"," can_merge: false"," can_close: false"," can_grant: false"," can_sign: false","topology_constraints:"," reviewers_read_only: true"," child_agents_cannot_promote: true"," one_writer_per_worktree: true"," runner_swaps_require_lifecycle_preflight: true"," strategy_metadata_grants_authority: false"," topology_grants_authority: false"," can_promote: false"," can_merge: false"," can_close: false"," can_grant: false"," can_sign: false","expected_return:",` receipt: docs/work/receipts/${t.id}-${t.assignedTo.seatId}.md`,...i,"stop_conditions:",t.mode==="product-implementation"?" - edit outside allowed_writes required":" - product edit requested"," - authority-bearing action requested","evidence_sink:",` session: session-${t.id}`,` runbook: docs/work/sessions/session-${t.id}/RUNBOOK.md`,"authority_boundary:"," can_authorize: false"," can_merge: false"," can_close: false"," can_write_global_ledger: false",`# task_index: ${e}`,""].join(`
|
|
736
|
+
`)}function NV(r,n,t){return["schema_version: huddle-card.v1",`repo: ${En(r.split("/").pop()??"repo")}`,"repo_path: .",`lane: ${t.id}`,`task_id: ${t.id}`,"status: open",`mode: ${t.mode}`,"startup_docs:"," - AGENTS.md"," - docs/work/BOARD.md"," - docs/work/onboarding/local-etiquette-canary.md",` - docs/work/tasks/${t.id}.yaml`,"allowed_writes:",ui(wS(t)),"forbidden_sources:"," - external coordination repos unless explicitly routed"," - raw chat transcripts","validation:",ui(t.validation),`current_owner: ${t.assignedTo.seatId}`,`next_owner: ${t.assignedTo.seatId}`,"expires_or_refresh_after: 2099-01-01T00:00:00Z",`task_packet: docs/work/tasks/${t.id}.yaml`,`evidence_sink: docs/work/sessions/session-${t.id}/RUNBOOK.md`,""].join(`
|
|
737
|
+
`)}function LV(r,n){return`${JSON.stringify({schema:"workspace-principal.v0",workspace:r.split("/").pop()??"workspace",principal_seat:n.lead.seatId,operator_principal:n.lead.operatorPrincipal,execution_surface:"local-etiquette",bootstrap_profile:n.profile,authority_model:{scope:"repo-local",source_of_truth:"this repository's .etiquette and docs/work surfaces",global_bus_authority:!1,can_delegate_tasks:!0,delegation_grants_merge:!1,delegation_grants_close:!1,delegation_grants_push:!1},notes:[`${n.lead.seatId} is the local orchestration lead.`,`${n.reviewers.map((t)=>t.seatId).join(", ")} review or pressure-test the lead's work.`,`${n.bootstrapSeat.seatId} is bootstrap provenance only after handoff.`]},null,2)}
|
|
738
|
+
`}function zV(r){return["# Local Etiquette Onboarding","","## Local Lead","",`\`${r.lead.seatId}\` is the repo-local orchestration lead for this workspace.`,...r.reviewers.map((n)=>`\`${n.seatId}\` is a review/pressure-test seat.`),`\`${r.bootstrapSeat.seatId}\` is bootstrap provenance only after lead handoff.`,"","## Boundaries","","- Use this repository's `.etiquette` and `docs/work/*` only.","- Do not use an external ledger for routine task pickup, execution notes, diagnostics, or receipts.","- Session runbooks are the bounded evidence sink for task-level detail.","- The task card controls allowed writes.","- No seat may merge, push, close, promote, or grant authority from readiness alone.",""].join(`
|
|
739
|
+
`)}function jV(r){return["# AGENTS.md","","## Local Etiquette Workspace","",`- Principal seat: \`${r.lead.seatId}\``,`- Review seats: ${r.reviewers.map((n)=>`\`${n.seatId}\``).join(", ")}`,`- Bootstrap provenance seat: \`${r.bootstrapSeat.seatId}\``,"- Board: `docs/work/BOARD.md`","- Local event log: `.etiquette/events/local.ndjson`","","## Start Every Session","","1. Run `etiquette whereami --project . --seat <seat> --task <task>`.","2. Read `docs/work/BOARD.md`.","3. Read `docs/work/runbooks/SESSION_PICKUP.md`.","4. Read `docs/work/manuals/SEAT_OPERATING_MANUAL.md`.","5. Read `docs/work/cookbooks/ADD_A_LANE.md` when adding or routing work.","6. Re-orient with `etiquette whereami --project . --seat <seat> --task <task>` after stale context, resume, runner/model/profile swaps, or workflow migration.","7. Run `etiquette join --project . --seat <seat>`.","8. Run the generated pickup command with `--expect-project-id <project_id>`.","","The task envelope and session runbook are the active work contract.","","## Boundary","","- Use this repository's `.etiquette` and `docs/work/*`.","- Do not use an external ledger for routine task execution.","- Do not merge, push, close, promote, or grant authority from readiness alone.",""].join(`
|
|
740
|
+
`)}function WV(r){return["# Local Etiquette Board","","## Local Lead","",`- \`${r.lead.seatId}\``,` - Operator principal: \`${r.lead.operatorPrincipal}\``," - Scope: repo-local orchestration."," - Principal record: `docs/work/workspace-principal.v0.json`",...r.reviewers.flatMap((n)=>[`- \`${n.seatId}\``,` - Operator principal: \`${n.operatorPrincipal}\``,` - Role: ${n.allowedWork[1]??"review/pressure-test"}.`]),`- \`${r.bootstrapSeat.seatId}\``,` - Operator principal: \`${r.bootstrapSeat.operatorPrincipal}\``," - Role: bootstrap provenance only after handoff.","","## Active Tasks","",...r.tasks.map((n)=>`- \`${n.id}\`: ${n.title} for \`${n.assignedTo.seatId}\``),"","## Boundary","","- Repo-local read model only.","- No external-ledger traffic for routine execution.","- No merge, push, close, promote, or grants from readiness.",""].join(`
|
|
741
|
+
`)}function AV(r){return["# Seat Operating Manual","","## Roles","",`- \`${r.lead.seatId}\`: routes local work, updates board/task evidence, and performs assigned implementation.`,...r.reviewers.map((n)=>`- \`${n.seatId}\`: reviews and challenges the lead's returns.`),`- \`${r.bootstrapSeat.seatId}\`: records bootstrap provenance only after handoff.`,"","## Authority","","Readiness is not authority. These seats cannot merge, push, close, promote, or","grant authority unless a later explicit decision says so.","","## Lifecycle Preflight","","Re-orient with `etiquette whereami` before pickup after stale context,","resume, runner/model/profile swaps, or workflow migration. Orientation is","readiness evidence only; the task envelope remains the work authority.","","## Evidence","","Use local sessions for detail:","",...r.tasks.map((n)=>`- \`docs/work/sessions/session-${n.id}/RUNBOOK.md\``),"","Use local receipts for completion summaries:","",...r.tasks.map((n)=>`- \`docs/work/receipts/${n.id}-${n.assignedTo.seatId}.md\``),""].join(`
|
|
742
|
+
`)}function PV(){return["# Working Discipline","","Judgment rules for any seat working this repo. Mechanics say what to do;","discipline says when to distrust yourself. Read once at pickup; re-read the","relevant section at the moment it names.","","## Before Claiming Anything","","- Verify at claim time: re-read the source at the moment you assert it,"," never from memory of an earlier read.","- Check the live tip, not your notes: board notes lag integrations.","- When another seat or a human holds the ground truth, ask \u2014 do not"," solo-reconstruct their state.","","## Before Writing","","- Read the machine fields, not the title: the envelope's mode and allowed"," writes decide what a task may do; prose is not authority.","- Search the exact target surface before classifying work as new \u2014 most",' "add X" tasks are "finish the X that half-exists."',"- One writer per canonical mutation. Design in parallel; mutate single-file.","","## While Working","","- Technical register on the record: schemas, fields, commands, refs."," Metaphor stays in chat; the record is for the next reader.","- No person or vendor names in artifacts. Attribute external material at"," the moment of incorporation, with license.","- One meaningful update per note. Runbook notes, not transcript dumps.","","## Before Returning","","- Receipt first: outcome, changed files, validation command and result,"," blockers, next owner. No raw logs \u2014 cite paths to them.",'- A red validation is reported red; "done" without proof is a defect.',"- If your change altered a source shape, refresh its recorded evidence in"," the same commit.","- Run `git diff --check HEAD~..HEAD` after committing \u2014 pre-commit checks"," miss freshly added files.","","## At Authority Edges","","- Stop when authority is unclear, validation cannot run, writes would"," exceed the envelope, a secret appears, or the session is unbounded.","- Never claim work was authorized without decision language from the"," authority holder. Enthusiasm is not routing.","- Memory proposes. Ledgers authorize. Receipts prove. Audit accounts.","","## When Blocked","","- Use `etiquette doctor` and the diagnostics verbs before hand-debugging;"," walk the recovery path from the user's seat before declaring a state"," recoverable.","- Escalate with a concrete blocker, not a vibe. Quiet is not a finding.","","## Growing Local Discipline","","When a correction lands, record it as one small note (what, why, how to","apply), and re-read it at the moment you would otherwise repeat the","mistake. Corrections never recorded are corrections paid for twice.",""].join(`
|
|
743
|
+
`)}function JV(r){return["# Session Pickup Runbook","","## Before Pickup","","1. Read `AGENTS.md` and `docs/work/BOARD.md`.","2. Read `docs/work/manuals/SEAT_OPERATING_MANUAL.md`.","3. Read `docs/work/runbooks/WORKING_DISCIPLINE.md` \u2014 judgment rules for claiming, writing, and returning.","4. Re-orient with `etiquette whereami` first after stale context, resume, runner/model/profile swaps, or workflow migration.","5. Treat hooks and readiness as evidence only, not authority.","",...r.tasks.flatMap((n)=>[`## ${n.assignedTo.displayName}`,"","```bash",'ETQ_BIN="${ETQ_BIN:-etiquette}"',`"$ETQ_BIN" notify poll --project . --seat ${n.assignedTo.seatId} --text`,`"$ETQ_BIN" console board --project . --seat ${n.assignedTo.seatId} --text`,`"$ETQ_BIN" notify feed --project . --seat ${n.assignedTo.seatId} --text`,`"$ETQ_BIN" bus inbox --addressee ${n.assignedTo.seatId} --project . --text`,`"$ETQ_BIN" session note --project . --session session-${n.id} --section note --message "Started pickup."`,"```","",`Work from \`docs/work/tasks/${n.id}.yaml\`.`,`Write task detail to \`docs/work/sessions/session-${n.id}/RUNBOOK.md\`.`,n.mode==="read-only-audit"?"Do not edit product files unless a later task envelope allows it.":"Stay inside the task envelope allowed writes.","","After writing the receipt, post the local return so the next seat can see it:","","```bash",'ETQ_BIN="${ETQ_BIN:-etiquette}"',`"$ETQ_BIN" post --project . --role ${mV(n)} --lane ${n.id} --from ${n.assignedTo.seatId} --to ${oS(r,n)} --emit`,`"$ETQ_BIN" notify feed --project . --seat ${oS(r,n)} --text`,"```",""])].join(`
|
|
744
|
+
`)}function kV(r){return["# Add A Local Lane","","1. Create a task envelope under `docs/work/tasks/<task-id>.yaml`.","2. Create a huddle card under `docs/work/huddle-cards/<task-id>.yaml`.","3. Create a bounded session:","","```bash",'ETQ_BIN="${ETQ_BIN:-etiquette}"',`"$ETQ_BIN" session create --project . --seat ${r.lead.seatId} --task <task-id> --session-id session-<task-id> --operator ${r.lead.operatorPrincipal} --owner ${r.lead.seatId}`,"```","","4. Subscribe the target seat:","","```bash",'ETQ_BIN="${ETQ_BIN:-etiquette}"','"$ETQ_BIN" notify subscribe --project . --seat <seat-id> --lane <task-id> --roles task-bundle,implementation-return',"```","","5. Poll the local wake queue:","","```bash",'ETQ_BIN="${ETQ_BIN:-etiquette}"','"$ETQ_BIN" notify poll --project . --seat <seat-id> --text',"```","","6. Post the local packet:","","```bash",'ETQ_BIN="${ETQ_BIN:-etiquette}"',`"$ETQ_BIN" post --project . --role task-bundle --lane <task-id> --from ${r.lead.seatId} --to <seat-id> --mode product-implementation --next-owner <seat-id> --emit`,"```","","Keep routine execution in this repo. Do not write an external ledger for local task","pickup, retries, diagnostics, or runbook detail.",""].join(`
|
|
745
|
+
`)}async function Py(r){let n=await De(r,"utf-8");if(r.endsWith(".json"))return JSON.parse(n);return ir(n)}function vV(r){if(r.schema!=="seat-model-card.v0")throw Error("seat card schema must be seat-model-card.v0");let n=V(r,"seat_id");if(!n)throw Error("seat_id is required");let t=Kr(r.authority_boundary,"authority_boundary");for(let e of $V)if(mc(t,e)!==!1)throw Error(`authority_boundary.${e} must be false`);return n}async function Ic(r){return vV(Kr(await Py(r),"seat card"))}async function DS(r){try{let t=(await ae(j(r,".etiquette","roster","enrollments"))).filter((e)=>e.endsWith(".json")).map((e)=>e.slice(0,-5)).sort();return t.length?` (enrolled seats: ${t.join(", ")})`:""}catch{return""}}async function Re(r,n){return await yr(r),j(r,".etiquette","roster","enrollments",`${En(n)}.json`)}async function oi(r,n){return await yr(r),j(r,".etiquette","notify","subscriptions",`${En(n)}.json`)}async function qy(r,n){return await yr(r),j(r,".etiquette","notify","queues",`${En(n)}.json`)}function gi(r,n,t){if(r===void 0||r===!1)return t;if(r===!0)throw Error(`--${n} must be an integer`);let e=Number.parseInt(r,10);if(!Number.isFinite(e)||e<0)throw Error(`--${n} must be a non-negative integer`);return e}async function Oc(r){if(!or(r))return[];return(await ae(r,{withFileTypes:!0})).filter((t)=>t.isFile()&&t.name.endsWith(".json")).map((t)=>j(r,t.name))}function k$(r){if(r.length===0)return"no local events";return r.map((n)=>{return[`${n.event_ref}`,n.type,typeof n.lane==="string"?`lane=${n.lane}`:void 0,typeof n.from==="string"?`from=${n.from}`:void 0,typeof n.to==="string"?`to=${n.to}`:void 0,typeof n.next_owner==="string"?`next_owner=${n.next_owner}`:void 0].filter(Boolean).join(" ")}).join(`
|
|
746
|
+
`)}function SS(r){let n=m(r,"format")??(r.json===!0?"json":"text");if(n!=="text"&&n!=="json"&&n!=="markdown")throw Error("--format must be one of: text, json, markdown");return n}function MV(r){let n=m(r,"kind")??"all";if(n!=="all"&&n!=="events"&&n!=="packets")throw Error("--kind must be one of: all, events, packets");return n}function VV(r){let n=m(r,"scope")??"project";if(n!=="project"&&n!=="seat"&&n!=="lane"&&n!=="principal")throw Error("--scope must be one of: project, seat, lane, principal");return n}function FV(r,n){let t=r[n];return t===!0||t==="true"||t==="1"||t==="yes"}function GV(r){if(FV(r,"remote-runner"))return"remote-runner-hard-gate";let n=m(r,"tier")??"local-advisory";if(n!=="local-advisory"&&n!=="remote-runner-hard-gate")throw Error("--tier must be one of: local-advisory, remote-runner-hard-gate");return n}function aS(r){let n=m(r,"role")??"any";if(n==="any")return["implementation-return","review-return"];if(n==="implementation-return"||n==="review-return")return[n];throw Error("--role must be one of: any, implementation-return, review-return")}function XV(r){return[`return_check: ${r.verdict}`,`task: ${r.task}`,`seat: ${r.seat}`,r.seat_alias?`seat_alias: ${r.seat_alias} -> ${r.seat}`:null,`expected_roles: ${r.expected_roles.join(",")}`,r.expected_receipt?`expected_receipt: ${r.expected_receipt} (present: ${String(r.receipt_present)})`:null,`enforcement_tier: ${r.enforcement_tier}`,`completion_gate_hard: ${String(r.completion_gate_hard)}`,`matched_return_packets: ${r.matched_return_packets.length}`,`posted_return_packets: ${r.posted_return_packets.length}`,`latest_event_ref: ${r.latest_event_ref}`,`event_log_hash: ${r.event_log_hash}`,`advisory: ${r.advisory}`,"authority_boundary: read-only check; cannot authorize, execute, write, post returns, merge, close, grant, or write global ledger"].filter((n)=>n!==null).join(`
|
|
747
|
+
`)}function TS(r,n,t){if(r.to===n)return"direct";if(r.next_owner===n)return"next_owner";if(typeof r.lane==="string"&&t.has(r.lane))return"subscription";return null}function BV(r,n){return{seq:r.seq,event_ref:r.event_ref,created_at:r.created_at,type:r.type,lane:typeof r.lane==="string"?r.lane:null,role:typeof r.role==="string"?r.role:null,to:typeof r.to==="string"?r.to:null,next_owner:typeof r.next_owner==="string"?r.next_owner:null,packet_ref:typeof r.packet_ref==="string"?r.packet_ref:null,requires_ack:r.requires_ack===!0,match:n}}async function M$(r,n,t){J(n,"--seat");let e=await oi(r,n),i=await Vr(e,{subscriptions:[]}),_=new Set(i.subscriptions.map((g)=>V(g,"lane")).filter((g)=>Boolean(g))),c=gi(t["after-seq"],"after-seq",0),o=gi(t.limit,"limit",50),u=await di(r),$=u.filter((g)=>g.seq>c).map((g)=>{let d=TS(g,n,_);return d?BV(g,d):null}).filter((g)=>g!==null).slice(-o);return{schema:"remote-wake-queue.v0",seat:n,updated_at:Dr(t),source:{event_log_ref:".etiquette/events/local.ndjson",after_seq:c,max_seq_seen:u.reduce((g,d)=>Math.max(g,d.seq),0),subscriptions_ref:cr(r,e)},transport:jy(),payload_boundary:Wy(),items:$,authority_boundary:Ay()}}async function HV(r,n){let t=new Set;if(typeof n.to==="string")t.add(n.to);if(typeof n.next_owner==="string")t.add(n.next_owner);let e=await Oc(j(r,".etiquette","notify","subscriptions"));for(let i of e){let _=await Vr(i,{subscriptions:[]}),c=typeof _.seat==="string"?_.seat:null;if(!c)continue;let o=new Set((_.subscriptions??[]).map((u)=>V(u,"lane")).filter((u)=>Boolean(u)));if(TS(n,c,o))t.add(c)}return[...t].sort()}async function ES(r,n,t){for(let e of await HV(r,n)){let i=await M$(r,e,t);await qn(await qy(r,e),i)}}function Ny(r){let n=r.items.length===0?["no queued wake items"]:r.items.map((t)=>[t.event_ref,t.type,t.lane?`lane=${t.lane}`:void 0,t.role?`role=${t.role}`:void 0,t.to?`to=${t.to}`:void 0,t.next_owner?`next_owner=${t.next_owner}`:void 0,`match=${t.match}`,t.requires_ack?"requires_ack=true":void 0,t.packet_ref?`packet_ref=${t.packet_ref}`:void 0].filter(Boolean).join(" "));return[`wake_queue: ${r.seat}`,`items: ${r.items.length}`,`after_seq: ${r.source.after_seq}`,`max_seq_seen: ${r.source.max_seq_seen}`,`transport: ${r.transport.mode}`,`pointers_only: ${String(r.payload_boundary.pointers_only)}`,`queue_is_authority: ${String(r.authority_boundary.queue_is_authority)}`,...n].join(`
|
|
748
|
+
`)}function YV(r){if(!r.startsWith("sha256="))throw Error("--signature-256 must start with sha256=");let t=r.slice(7);if(!/^[0-9a-fA-F]{64}$/.test(t))throw Error("--signature-256 must be a sha256 hex digest");return Buffer.from(t,"hex")}function QV(r,n,t){let e=tV("sha256",t).update(r).digest(),i=YV(n);if(i.length!==e.length||!iV(i,e))throw Error("github webhook signature verification failed")}function $S(r,n){if(!r)return null;if(!/^[0-9a-f]{40}$/i.test(r))throw Error(`GitHub webhook ${n} must be a full commit SHA`);return r}function KV(r){if(r.schema==="github-webhook-ping.v0")return[`github_webhook_ping: ${r.repository.full_name}`,`event: ${r.event}`,`delivery_id: ${r.delivery_id}`,`signature_verified: ${String(r.transport.signature_verified)}`,`pointers_only: ${String(r.payload_boundary.pointers_only)}`,`notification_is_authority: ${String(r.authority_boundary.notification_is_authority)}`,`next_action: ${r.next_action}`].join(`
|
|
749
|
+
`);return[`github_webhook_wake: ${r.repository.full_name}`,`event: ${r.event}`,`delivery_id: ${r.delivery_id}`,`ref: ${r.ref}`,`after: ${r.after}`,r.before?`before: ${r.before}`:null,`signature_verified: ${String(r.transport.signature_verified)}`,`pointers_only: ${String(r.payload_boundary.pointers_only)}`,`notification_is_authority: ${String(r.authority_boundary.notification_is_authority)}`,`next_action: ${r.next_action}`].filter((n)=>n!==null).join(`
|
|
750
|
+
`)}async function CV(r){if((m(r,"provider")??"github")!=="github")throw Error("--provider must be github");let t=m(r,"event")??"push";if(t!=="push"&&t!=="ping")throw Error("W1 supports only GitHub push and ping webhook events");let e=O(r,"delivery");J(e,"--delivery");let i=O(r,"signature-256"),_=m(r,"secret-env")??"ETIQUETTE_GITHUB_WEBHOOK_SECRET";J(_,"--secret-env");let c=process.env[_];if(!c)throw Error(`missing GitHub webhook secret in ${_}`);let o=Yn(O(r,"payload")),u=await De(o);QV(u,i,c);let $=Kr(JSON.parse(u.toString("utf-8")),"GitHub webhook payload"),g=Kr($.repository,"GitHub webhook repository"),d=$.sender?Kr($.sender,"GitHub webhook sender"):null,f=V(g,"full_name");if(!f)throw Error("GitHub webhook repository.full_name is required");let b={payload_ref:`github://delivery/${e}`,payload_sha256:nV("sha256").update(u).digest("hex"),signature_header:"X-Hub-Signature-256",delivery_header:"X-GitHub-Delivery",event_header:"X-GitHub-Event"};if(t==="ping")return{schema:"github-webhook-ping.v0",provider:"github",event:t,delivery_id:e,received_at:Dr(r),repository:{full_name:f,html_url:V(g,"html_url")??null,default_branch:V(g,"default_branch")??null},sender:d?V(d,"login")??null:null,hook_id:$.hook_id===void 0||$.hook_id===null?null:String($.hook_id),source:b,transport:oV(),payload_boundary:eS(),authority_boundary:_S(),next_action:"receiver_acknowledged_github_ping"};let I=$.pusher?Kr($.pusher,"GitHub webhook pusher"):null,w=V($,"ref"),h=$S(V($,"after"),"after");if(!w)throw Error("GitHub webhook ref is required");if(!h)throw Error("GitHub webhook after is required");return{schema:"github-webhook-wake.v0",provider:"github",event:"push",delivery_id:e,received_at:Dr(r),repository:{full_name:f,html_url:V(g,"html_url")??null,default_branch:V(g,"default_branch")??null},ref:w,before:$S(V($,"before"),"before"),after:h,compare_url:V($,"compare")??null,pusher:I?V(I,"name")??null:null,sender:d?V(d,"login")??null:null,source:b,transport:fS(),payload_boundary:eS(),authority_boundary:_S(),next_action:"receiver_fetch_and_verify_git_ref"}}function $i(r){return j(r,"docs","work","trash","TRASH.ndjson")}function v$(r){return r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ZV(r,n){if(n.endsWith("/**"))return r.startsWith(n.slice(0,-3));return r===n}function yc(r,n,t){let e=t.map(v$).join("|");return new RegExp(`(?:^|\\n)\\s*${v$(n)}\\s*:\\s*(${e})\\s*(?:\\n|$)`,"i").test(r)}function lS(r,n){return new RegExp(`(?:^|\\n)\\s*${v$(n)}\\s*:\\s*true\\s*(?:\\n|$)`,"i").test(r)}function xV(r){if(!["superseded","rejected","closed","duplicate"].includes(r))throw Error("--reason must be one of: superseded, rejected, closed, duplicate")}function pV(r,n){let e=[".etiquette/events/**","docs/work/ledger/**","docs/work/receipts/**","docs/work/trash/**","scripts/release-sign.sh","scripts/release-checksum.sh"].find((i)=>ZV(r,i));if(e)return`protected path pattern: ${e}`;if(lS(n,"append_only"))return"content marker append_only:true";if(yc(n,"content_class",["append-only","canonical-evidence","decision","evidence","ledger","release-receipt","trusted-checksum"]))return"protected content_class marker";if(yc(n,"role",["closeout","decision","review-return","implementation-return"]))return"protected role marker";return null}function sV(r,n,t){if(lS(n,"retirable"))return"explicit-retirable-marker";if(yc(n,"content_class",["draft","rejected-draft","resolved-task-envelope","superseded-proposal"]))return"content-class-allowlist";if(r.startsWith("docs/work/drafts/")&&["rejected","duplicate"].includes(t))return"draft-path-allowlist";if(r.startsWith("docs/work/proposals/")&&["superseded","rejected"].includes(t)&&yc(n,"status",["superseded","rejected"]))return"proposal-status-allowlist";if(r.startsWith("docs/work/tasks/")&&t==="closed"&&yc(n,"status",["closed","resolved"]))return"resolved-task-envelope-allowlist";return null}function rF(r,n){let t=v$(n),e=new RegExp(`(?:^|\\n)\\s*supersedes\\s*:\\s*["']?${t}["']?\\s*(?:\\n|$)`),i=new RegExp(`(?:^|\\n)\\s*-\\s*["']?${t}["']?\\s*(?:\\n|$)`);return e.test(r)||/(?:^|\n)\s*supersedes\s*:\s*\n/.test(r)&&i.test(r)}function tn(r,n,t=!1){let e=W$("git",n,{cwd:r,encoding:"utf-8"}),i=e.status??1,_={status:i,stdout:e.stdout??"",stderr:e.stderr??""};if(!t&&i!==0)throw Error(_.stderr.trim()||_.stdout.trim()||`git ${n.join(" ")} failed`);return _}function nF(r,n){if(tn(r,["ls-files","--error-unmatch","--",n]),tn(r,["status","--porcelain","--",n]).stdout.trim().length>0)throw Error(`retire refuses dirty or staged path: ${n}`)}function Ey(r,n){if(tn(r,["ls-files","--error-unmatch","--",n],!0).status!==0)return;if(tn(r,["status","--porcelain","--",n]).stdout.trim().length>0)throw Error(`retire refuses dirty or staged evidence surface: ${n}`)}function tF(r){return tn(r,["rev-parse","HEAD"]).stdout.trim()}async function j$(r){let n=await ln($i(r));if(!n)return[];return n.split(`
|
|
751
|
+
`).map((t)=>t.trim()).filter(Boolean).map((t)=>JSON.parse(t))}async function qS(r,n){let t=$i(r);await _r(Rc(t),{recursive:!0});let e=new Set,i=n.filter((_)=>{if(e.has(_.trash_id))return!1;return e.add(_.trash_id),!0});await Hn(t,i.map((_)=>JSON.stringify(_)).join(`
|
|
752
|
+
`)+(i.length>0?`
|
|
753
|
+
`:""))}function iF(r,n){if(n.length===0)return"trash: empty";return[`trash: ${n.length}`,...n.map((t)=>`${t.trash_id} ${t.reason} ${t.path} restore_hint=${t.restore_hint}`),`trash_index_ref: ${cr(r,$i(r))}`,"trash_index_is_authority: false"].join(`
|
|
754
|
+
`)}async function NS(r,n){let t=Ir(n);await yr(t);let e=cr(t,Yn(t,r)),i=O(n,"evidence-ref"),_=O(n,"removed-by"),c=O(n,"reason");xV(c),J(_,"--removed-by"),X(i,"--evidence-ref"),await OS(t,async()=>{let o=j(t,e);if(!or(o))throw Error(`retire target does not exist: ${e}`);let u=await De(o,"utf-8"),$=pV(e,u);if($)throw Error(`retire refused protected evidence (${$}): ${e}`);let g=sV(e,u,c);if(!g)throw Error(`retire refused; path is not in the retirable allowlist: ${e}`);let d=null;if(c==="superseded"){let L=O(n,"superseded-by");d=cr(t,Yn(t,L));let N=await De(j(t,d),"utf-8");if(!rF(N,e))throw Error(`--superseded-by must declare supersedes: ${e}`)}nF(t,e),Ey(t,".etiquette/events/local.ndjson"),Ey(t,"docs/work/ledger/LEDGER.md"),Ey(t,"docs/work/trash/TRASH.ndjson");let f=tF(t);tn(t,["show",`${f}:${e}`]);let b=Dr(n),I={schema:"trash-index-entry.v0",trash_id:`trash-${b.replace(/[^0-9TZ]/g,"")}-${En(e)}`,path:e,removed_at:b,removed_by:_,reason:c,retirable_class:g,superseded_by:d,evidence_ref:i,last_commit:f,restore_hint:`git show ${f}:${e}`,authority_boundary:{trash_index_is_authority:!1,can_close:!1,can_merge:!1,can_grant:!1}},w=$i(t),h=await ln(w),R=await ln(ct(t)),S=await ln(Se(t)),D=await j$(t);tn(t,["rm","--",e]);try{await qS(t,[...D,I]);let L=await RS(t,"trash_retired",{trash_entry:I,authority_boundary:{retirement_authorizes_work:!1,can_close:!1,can_merge:!1,can_grant:!1}},n);if(tn(t,["add","--",cr(t,w),".etiquette/events/local.ndjson","docs/work/ledger/LEDGER.md"]),n.json){console.log(JSON.stringify({...I,event_ref:L.event_ref,trash_index_ref:cr(t,w)},null,2));return}console.log([`trash_retired: ${I.trash_id}`,`path: ${I.path}`,`event: ${L.event_ref}`,`trash_index_ref: ${cr(t,w)}`,"trash_index_is_authority: false"].join(`
|
|
755
|
+
`))}catch(L){if(h===null)await zy(w,{force:!0});else await Hn(w,h);if(R!==null)await Hn(ct(t),R);if(S!==null)await Hn(Se(t),S);throw tn(t,["checkout","--",e],!0),L}})}async function eF(r,n){let t=r[1],e=Ir(n);if(await yr(e),t==="retire"){await NS(wr(r,2,"path"),n);return}if(t==="list"){let i=await j$(e);console.log(n.json?JSON.stringify({schema:"trash-index.v0",entries:i,trash_index_ref:cr(e,$i(e))},null,2):iF(e,i));return}if(t==="show"){let i=wr(r,2,"trash-id"),_=(await j$(e)).find((c)=>c.trash_id===i);if(!_)throw Error(`trash entry not found: ${i}`);console.log(n.json?JSON.stringify(_,null,2):[`trash_id: ${_.trash_id}`,`path: ${_.path}`,`reason: ${_.reason}`,`superseded_by: ${_.superseded_by??"none"}`,`restore_hint: ${_.restore_hint}`,"trash_index_is_authority: false"].join(`
|
|
756
|
+
`));return}if(t==="restore"){let i=wr(r,2,"trash-id"),c=(await j$(e)).find((d)=>d.trash_id===i);if(!c)throw Error(`trash entry not found: ${i}`);let o=m(n,"to")?cr(e,Yn(e,m(n,"to"))):c.path,u=j(e,o);if(or(u))throw Error(`restore refuses to overwrite existing path: ${o}`);let $=tn(e,["show",`${c.last_commit}:${c.path}`]).stdout;await _r(Rc(u),{recursive:!0}),await Hn(u,$);let g=await Cr(e,"trash_restored",{trash_id:c.trash_id,restored_path:o,source_path:c.path,restore_is_content_only:!0,authority_boundary:{restore_authorizes_work:!1,can_close:!1,can_merge:!1,can_grant:!1}},n);console.log(n.json?JSON.stringify({trash_id:c.trash_id,restored_path:o,event_ref:g.event_ref,restore_is_content_only:!0},null,2):[`trash_restored: ${c.trash_id}`,`path: ${o}`,`event: ${g.event_ref}`,"restore_is_content_only: true"].join(`
|
|
757
|
+
`));return}if(t==="rebuild"){let _=(await di(e)).map((c)=>Kr(c,"local event").trash_entry).filter((c)=>typeof c==="object"&&c!==null&&c.schema==="trash-index-entry.v0");await qS(e,_),console.log(n.json?JSON.stringify({schema:"trash-rebuild-result.v0",rebuilt_entries:_.length,trash_index_ref:cr(e,$i(e))},null,2):[`trash_rebuild: ok entries=${_.length}`,`trash_index_ref: ${cr(e,$i(e))}`].join(`
|
|
758
|
+
`));return}throw Error("trash verb must be one of: retire, list, show, restore, rebuild")}async function _F(r){let n=Ir(r),t=await vr(n,m(r,"at"));await yr(n);let e=await Cr(n,"workspace_initialized",{project_ref:".",project_id:t.project_id,authority_boundary:{can_authorize_work:!1,can_merge:!1,can_close:!1}},r);console.log(`initialized: ${n}`),console.log(`project_id: ${t.project_id}`),console.log(`event: ${e.event_ref}`)}async function cF(r,n,t,e){let i=`docs/work/seat-cards/${n.seatId}.yaml`,_=j(r,i),c=await Ic(_);if(c!==n.seatId)throw Error(`seat card seat_id ${c} does not match ${n.seatId}`);let o={schema:"seat-enrollment.v0",seat_id:n.seatId,card_ref:i,operator_principal:n.operatorPrincipal,execution_seat:"local-etiquette",as_role:n.asRole,authority_scope:n.authorityScope,mode:n.mode,orientation_ref:n.authorityScope==="bootstrap-provenance"?"docs/work/workspace-principal.v0.json":"docs/work/onboarding/local-etiquette-canary.md",ready:!1,lifecycle_schema:A$,lifecycle_state:"enrolled",workflow_id:_t(t),runner_binding:J$({runnerProvider:n.modelRef,executionSurface:"local-etiquette",modelId:n.modelId,modelTier:n.modelTier,capabilitySource:"config"}),authority_granted:!1,lifecycle_authority_boundary:{lifecycle_grants_authority:!1,readiness_authorizes_work:!1,can_merge:!1,can_close:!1,can_grant:!1},enrolled_at:Dr(e),authority_boundary:{enrollment_authorizes_work:!1,can_merge:!1,can_close:!1}};return await qn(await Re(r,n.seatId),o),Cr(r,"seat_enrolled",o,e)}async function oF(r,n,t,e){let i=await Re(r,n.seatId),_=await Vr(i,null);if(!_)throw Error(`seat is not enrolled: ${n.seatId}${await DS(r)}`);let c=n.authorityScope==="bootstrap-provenance"?"docs/work/workspace-principal.v0.json":"docs/work/onboarding/local-etiquette-canary.md",o=Dr(e),u={..._,...yS({projectId:t,at:o,runnerBinding:J$({runnerProvider:n.modelRef,executionSurface:"local-etiquette",modelId:n.modelId,modelTier:n.modelTier,capabilitySource:"config"})}),ack_ref:`docs/work/seat-cards/${n.seatId}.yaml`,orientation_ref:c};return await qn(i,u),Cr(r,"seat_ready",{seat_id:n.seatId,lifecycle_state:"ready",workflow_id:_t(t),ack_ref:u.ack_ref,orientation_ref:u.orientation_ref,authority_granted:!1,authority_boundary:{readiness_authorizes_work:!1,can_merge:!1,can_close:!1}},e)}async function uF(r,n,t,e){let i=await Vr(await oi(r,n.seatId),{schema:"seat-subscriptions.v0",seat:n.seatId,subscriptions:[]});i.subscriptions.push({lane:t.id,roles:t.mode==="product-implementation"?["task-bundle","implementation-return"]:["task-bundle","review-return"],subscribed_at:Dr(e)}),await qn(await oi(r,n.seatId),i)}async function $F(r,n,t,e){let i={schema:"local-packet.v0",role:"task-bundle",lane:t.id,from:n.lead.seatId,to:t.assignedTo.seatId,verdict:"routed",packet_tier:"3",mode:t.mode,next_owner:t.assignedTo.seatId,created_at:Dr(e),changes_state:!0,authority_boundary:{packet_authorizes_work:!1,can_merge:!1,can_close:!1,can_grant:!1}},_=`${En(i.created_at)}-${En(t.id)}-task-bundle.json`,c=j(r,"docs","work","packets",_);await qn(c,i);let o=await Cr(r,"packet_posted",{...i,packet_ref:cr(r,c)},e);return await ES(r,o,e),o}async function gF(r,n){if(r[1]!=="local")throw Error("bootstrap verb must be: local");let e=Ir(n),i=n.force===!0,_=Boolean(n.json),c=mS(n),o={schema:"local-bootstrap-result.v0",profile:c.profile,project:e,project_id:null,lead_start:null,generated:[],skipped:[],events:[],seats:[c.lead,...c.reviewers,c.bootstrapSeat].map((f)=>f.seatId),tasks:c.tasks.map((f)=>f.id),sessions:c.tasks.map((f)=>`session-${f.id}`),authority_boundary:{can_authorize:!1,can_merge:!1,can_close:!1,can_write_global_ledger:!1}},u=await vr(e,m(n,"at"));await yr(e),await hV(e,o),o.project_id=u.project_id;let $=c.tasks[0]?.id??`${c.taskPrefix}-001`;if(o.lead_start={seat:c.lead.seatId,operator_principal:c.lead.operatorPrincipal,task:$,task_ref:`docs/work/tasks/${$}.yaml`,runbook_ref:`docs/work/sessions/session-${$}/RUNBOOK.md`,commands:[`etiquette whereami --project . --seat ${c.lead.seatId} --task ${$} --expect-project-id ${u.project_id}`,`etiquette join --project . --seat ${c.lead.seatId}`,Uc(c.lead.seatId,$,u.project_id),`etiquette console board --project . --seat ${c.lead.seatId} --text`,`etiquette notify feed --project . --seat ${c.lead.seatId} --text`]},o.events.push((await Cr(e,"workspace_initialized",{project_ref:".",project_id:u.project_id,bootstrap_profile:c.profile,authority_boundary:{can_authorize_work:!1,can_merge:!1,can_close:!1}},n)).event_ref),await mn(e,"docs/work/workspace-principal.v0.json",LV(e,c),i,o),await mn(e,"docs/work/onboarding/local-etiquette-canary.md",zV(c),i,o),await mn(e,"docs/work/BOARD.md",WV(c),i,o),await mn(e,"docs/work/manuals/SEAT_OPERATING_MANUAL.md",AV(c),i,o),await mn(e,"docs/work/runbooks/SESSION_PICKUP.md",JV(c),i,o),await mn(e,"docs/work/runbooks/WORKING_DISCIPLINE.md",PV(),i,o),await mn(e,"docs/work/cookbooks/ADD_A_LANE.md",kV(c),i,o),!or(j(e,"AGENTS.md")))await mn(e,"AGENTS.md",jV(c),i,o);else o.skipped.push("AGENTS.md");for(let f of[c.lead,...c.reviewers,c.bootstrapSeat])await mn(e,`docs/work/seat-cards/${f.seatId}.yaml`,lV(f),i,o);for(let f of c.tasks)await mn(e,`docs/work/tasks/${f.id}.yaml`,qV(e,c,f),i,o),await mn(e,`docs/work/huddle-cards/${f.id}.yaml`,NV(e,c,f),i,o);for(let f of[c.lead,...c.reviewers,c.bootstrapSeat])o.events.push((await cF(e,f,u.project_id,n)).event_ref),o.events.push((await oF(e,f,u.project_id,n)).event_ref),await q$({projectRoot:e,seat:f.seatId,seatType:f.seatType,executionSurface:"local-etiquette",declaredBy:"config",capabilitySource:"config",operationalStatus:"operational",modelTier:f.modelTier,modelId:f.modelId,activeWorkers:f.activeWorkers,maxRecommendedWorkers:f.maxRecommendedWorkers,supportsParallel:f.supportsParallel,supportedStrategies:f.supportedStrategies,unsupportedStrategies:[],constraints:[],at:m(n,"at")});for(let f of c.tasks)await a$({projectRoot:e,seat:f.assignedTo.seatId,taskRef:f.id,sessionId:`session-${f.id}`,operatorPrincipal:f.assignedTo.operatorPrincipal,ownerPrincipal:c.lead.seatId,creationMode:"explicit",at:m(n,"at")}),await dc({projectRoot:e,sessionId:`session-${f.id}`,section:"plan",message:f.planNote,at:m(n,"at")}),await uF(e,f.assignedTo,f,n),o.events.push((await $F(e,c,f,n)).event_ref);let g=j(e,"docs","work","seat-cards"),d=await ae(g,{withFileTypes:!0});for(let f of d)if(f.isFile()&&(f.name.endsWith(".yaml")||f.name.endsWith(".yml")||f.name.endsWith(".json")))await Ic(j(g,f.name));if(_){console.log(JSON.stringify(o,null,2));return}console.log([`bootstrap_local: ok project=${e}`,`project_id: ${u.project_id}`,`profile: ${c.profile}`,`seats: ${o.seats.join(", ")}`,`tasks: ${o.tasks.join(", ")}`,`sessions: ${o.sessions.join(", ")}`,`events: ${o.events.join(", ")}`,`generated: ${o.generated.length}`,`skipped: ${o.skipped.length}`,"lead_start:",` seat: ${c.lead.seatId}`,` operator_principal: ${c.lead.operatorPrincipal}`,` task: ${$}`,` task_ref: docs/work/tasks/${$}.yaml`,` runbook_ref: docs/work/sessions/session-${$}/RUNBOOK.md`," commands:",...(o.lead_start?.commands??[]).map((f)=>` ${f}`),"next:",` etiquette console board --project . --seat ${c.lead.seatId} --text`,` etiquette notify feed --project . --seat ${c.lead.seatId} --text`,` etiquette bus inbox --addressee ${c.lead.seatId} --project . --text`].join(`
|
|
759
|
+
`))}async function dF(r,n){let t=Ir(n),e=wr(r,1,"task"),i=O(n,"seat"),_=O(n,"operator"),c=await Cr(t,"seat_entered",{task:e,seat:i,operator_principal:_,authority_boundary:{authentication_authorizes_work:!1,can_merge:!1,can_close:!1}},n);console.log(`entered: ${i} task=${e} operator=${_}`),console.log(`event: ${c.event_ref}`)}async function fF(r){let n=Ir(r),t=mS(r),e=or(j(n,".etiquette"))&&or(j(n,"docs","work")),i=e?await R$(n):null,_=e?await Jy(n):t.tasks.map((d)=>d.id),c=_.find((d)=>d.endsWith("-001"))??t.tasks[0]?.id??`${t.taskPrefix}-001`,o=_.find((d)=>d.endsWith("-002"))??t.tasks[1]?.id??`${t.taskPrefix}-002`,u=_.find((d)=>d.endsWith("-003"))??t.tasks[2]?.id??null,$=[{label:"lead",seat:t.lead.seatId,principal:t.lead.operatorPrincipal,task:c},{label:"review",seat:t.reviewers[0]?.seatId??"review-seat",principal:t.reviewers[0]?.operatorPrincipal??"reviewer",task:o},...u&&t.reviewers[1]?[{label:"qa",seat:t.reviewers[1].seatId,principal:t.reviewers[1].operatorPrincipal,task:u}]:[]],g={schema:"local-handoff-plan.v0",project_ref:".",initialized:e,profile:t.profile,task_prefix:t.taskPrefix,seats:$,install_env:{ETQ_VERSION:"<release-version>",ETQ_INSTALLER_URL:"<signed-installer-url>",ETQ_RELEASES_URL:"<signed-release-base-url>",ETQ_PUBLIC_KEY:"<public-key-path-or-url>"},commands:{install:['curl -fsSL "$ETQ_INSTALLER_URL" -o "${TMPDIR:-.}/etiquette-install.sh"','sh "${TMPDIR:-.}/etiquette-install.sh" --version "$ETQ_VERSION" --base-url "$ETQ_RELEASES_URL" --public-key "$ETQ_PUBLIC_KEY" --install-root "$HOME/.etiquette" --modify-profile','export PATH="$HOME/.etiquette/bin:$PATH"',"etiquette help"],bootstrap:[`etiquette bootstrap local --project . --profile ${t.profile} --task-prefix ${t.taskPrefix}`,"etiquette doctor --project .","etiquette console board --project . --text"],seats:$.flatMap((d)=>[`etiquette whereami --project . --seat ${d.principal} --task ${d.task}`,`etiquette join --project . --seat ${d.principal}`,Uc(d.principal,d.task,i?.project_id??null)])},docs:["AGENTS.md","docs/work/BOARD.md","docs/work/onboarding/local-etiquette-canary.md","docs/work/runbooks/SESSION_PICKUP.md","docs/work/runbooks/WORKING_DISCIPLINE.md","docs/work/manuals/SEAT_OPERATING_MANUAL.md","docs/work/cookbooks/ADD_A_LANE.md"],authority_boundary:{handoff_is_read_only:!0,handoff_installs_nothing:!0,handoff_bootstraps_nothing:!0,can_merge:!1,can_push:!1,can_close:!1,can_grant:!1,can_write_global_ledger:!1}};if(r.json){console.log(JSON.stringify(g,null,2));return}console.log(["handoff_plan:",` project: ${g.project_ref}`,` initialized: ${String(g.initialized)}`,` profile: ${g.profile}`,` task_prefix: ${g.task_prefix}`," authority_boundary: read-only guide; installs nothing, bootstraps nothing, grants nothing","","install_env:",...Object.entries(g.install_env).map(([d,f])=>` ${d}=${f}`),"","install:",...g.commands.install.map((d)=>` ${d}`),"","bootstrap:",...g.commands.bootstrap.map((d)=>` ${d}`),"","seat_pickups:",...$.flatMap((d)=>[` # ${d.label}: ${d.seat} (${d.principal})`,` etiquette whereami --project . --seat ${d.principal} --task ${d.task}`,` etiquette join --project . --seat ${d.principal}`,` ${Uc(d.principal,d.task,i?.project_id??null)}`]),"","docs:",...g.docs.map((d)=>` - ${d}`),"","stop_conditions:"," - task needs writes outside its envelope"," - secret or credential appears"," - validation cannot run"," - authority is unclear"].join(`
|
|
760
|
+
`))}async function bF(r){let n=Ir(r);await yr(n);let t=await vr(n,m(r,"at"));D$(t.project_id,m(r,"expect-project-id"),"current project");let e=O(r,"seat"),i=Tn(await In(n),e),_=i.seat,c=i.enrollment;if(!c)throw Error(`seat is not enrolled: ${e}${await DS(n)}`);let o=await M$(n,_,r),u=o.items.find((g)=>g.lane)?.lane??null,$={schema:"seat-join.v0",requested_seat:e,seat:_,seat_alias_used:i.aliasUsed,project_id:t.project_id,ready:c.ready===!0,lifecycle_state:Nt(c),workflow_id:c.workflow_id??null,operator_principal:V(c,"operator_principal")??null,orientation_ref:V(c,"orientation_ref")??null,board_ref:"docs/work/BOARD.md",event_log_ref:".etiquette/events/local.ndjson",queued_items:o.items.length,next_task:u,next_commands:[`etiquette console board --project . --seat ${_} --text`,`etiquette notify feed --project . --seat ${_} --text`,u?Uc(_,u,t.project_id):null].filter((g)=>Boolean(g)),authority_boundary:{join_authorizes_work:!1,can_merge:!1,can_close:!1,can_grant:!1,can_write_global_ledger:!1}};if(r.json){console.log(JSON.stringify($,null,2));return}console.log([`seat_join: ${_}`,i.aliasUsed?`seat_alias: ${e} -> ${_}`:null,`project_id: ${t.project_id}`,`ready: ${String($.ready)}`,`lifecycle_state: ${$.lifecycle_state}`,`workflow_id: ${String($.workflow_id??"legacy")}`,`operator_principal: ${$.operator_principal??"unknown"}`,`orientation_ref: ${$.orientation_ref??"none"}`,`queued_items: ${$.queued_items}`,`next_task: ${$.next_task??"none"}`,"next:",...$.next_commands.map((g)=>` ${g}`),"can_authorize: false"].filter((g)=>g!==null).join(`
|
|
761
|
+
`))}async function Jy(r){let n=j(r,"docs","work","tasks");if(!or(n))return[];return(await ae(n,{withFileTypes:!0})).filter((e)=>e.isFile()&&(e.name.endsWith(".yaml")||e.name.endsWith(".yml")||e.name.endsWith(".json"))).map((e)=>e.name.replace(/\.(ya?ml|json)$/i,"")).sort()}async function LS(r){let n=j(r,"docs","work","sessions");if(!or(n))return[];let t=await ae(n,{withFileTypes:!0}),e=[];for(let i of t){if(!i.isDirectory())continue;let _=j("docs","work","sessions",i.name,"session.json"),c=await Vr(j(r,_),null);e.push(c??{session_id:i.name,manifest_ref:_,runbook_ref:j("docs","work","sessions",i.name,"RUNBOOK.md")})}return e.sort((i,_)=>String(i.session_id??"").localeCompare(String(_.session_id??"")))}async function V$(r,n){return Kr(await Py(j(r,"docs","work","tasks",`${n}.yaml`)),`task envelope ${n}`)}async function In(r){let n=await Oc(j(r,".etiquette","roster","enrollments"));return(await Promise.all(n.map((e)=>Vr(e,{})))).sort((e,i)=>String(e.seat_id??"").localeCompare(String(i.seat_id??"")))}function wF(r,n,t){if(!r.enrollment)throw Error(`seat is not enrolled: ${r.requestedSeat}`);if(r.enrollment.ready!==!0)throw Error(`seat is not ready: ${r.seat}; run etiquette roster ready ${r.seat} after onboarding`);if(n)hS(r.enrollment,n,r.seat,t)}function zS(r,n,t){let e=Kr(r.authority_boundary,`${n} authority_boundary`);for(let i of t)if(mc(e,i)!==!1)throw Error(`${n} authority_boundary.${i} must be false`)}function mF(r,n){if(!cS.includes(r))throw Error(`${n} execution_strategy.strategy must be one of: ${cS.join(", ")}`)}function Ly(r,n){if(!r||typeof r!=="object"||Array.isArray(r))return;for(let[t,e]of Object.entries(r)){let i=`${n}.${t}`,_=t.toLowerCase();if(!(_.includes("cannot")||_.includes("require")||_.includes("read_only")||_.includes("one_writer"))&&/(authorize|authority|grant|merge|close|promote|push|sign)/i.test(t)&&e===!0)throw Error(`${i} must not claim authority`);Ly(e,i)}}function IF(r){return gV.some((n)=>n.endsWith("/")?r.startsWith(n):r===n)}function yF(r,n){let t;if(r.execution_strategy!==void 0){let c=Kr(r.execution_strategy,`task envelope ${n} execution_strategy`);if(t=V(c,"strategy"),!t)throw Error(`task envelope ${n} execution_strategy.strategy is required`);if(mF(t,`task envelope ${n}`),t==="shadow")throw Error(`task envelope ${n} execution_strategy.strategy=shadow is reserved and not executable in V0`);Ly(c,`task envelope ${n} execution_strategy`)}if(r.rig_conductor!==void 0){if(t!=="rig")throw Error(`task envelope ${n} rig_conductor requires execution_strategy.strategy=rig`);let c=nS(r.rig_conductor);if(c.verdict!=="legitimate")throw Error(`task envelope ${n} rig_conductor blocked: ${c.reasons.join(", ")}`)}else if(t==="rig")throw Error(`task envelope ${n} execution_strategy.strategy=rig requires rig_conductor`);if(r.topology_constraints===void 0)return;let e=Kr(r.topology_constraints,`task envelope ${n} topology_constraints`);for(let c of["reviewers_read_only","child_agents_cannot_promote","one_writer_per_worktree","runner_swaps_require_lifecycle_preflight"])if(mc(e,c)!==!0)throw Error(`task envelope ${n} topology_constraints.${c} must be true`);if(Ly(e,`task envelope ${n} topology_constraints`),V(r,"mode")==="read-only-audit"&&mc(e,"reviewers_read_only")===!0){for(let c of P$(r,"allowed_writes")??[])if(typeof c!=="string"||!IF(c))throw Error(`task envelope ${n} reviewers_read_only prohibits write path: ${String(c)}`)}let _=r.max_parallel_writers;if(mc(e,"one_writer_per_worktree")===!0&&_!==void 0&&_!==1)throw Error(`task envelope ${n} max_parallel_writers must be 1 when one_writer_per_worktree is true`)}function jS(r,n,t){if(r.schema!=="task-envelope.v0")throw Error(`task envelope ${n} schema must be task-envelope.v0`);if(V(r,"task_id")!==n)throw Error(`task envelope mismatch: ${n} has task_id=${String(r.task_id??"missing")}`);let e=V(r,"assigned_to");if(!e)throw Error(`task envelope ${n} missing assigned_to`);if(e!==t)throw Error(`task/seat mismatch: ${n} assigned_to=${e} but pickup seat=${t}`);if(!V(r,"mode"))throw Error(`task envelope ${n} missing mode`);if((P$(r,"allowed_writes")??[]).length===0)throw Error(`task envelope ${n} missing allowed_writes`);if((P$(r,"validation")??[]).length===0)throw Error(`task envelope ${n} missing validation`);zS(r,`task envelope ${n}`,["can_authorize","can_merge","can_close","can_write_global_ledger"]),yF(r,n)}function WS(r,n,t){if(r.schema!=="session-runbook.v0")throw Error(`session session-${n} schema must be session-runbook.v0`);if(V(r,"session_id")!==`session-${n}`)throw Error(`session manifest mismatch: expected session-${n} got ${String(r.session_id??"missing")}`);if(V(r,"task_ref")!==n)throw Error(`session/task mismatch: session-${n} task_ref=${String(r.task_ref??"missing")} expected ${n}`);if(V(r,"seat")!==t)throw Error(`session/seat mismatch: session-${n} seat=${String(r.seat??"missing")} expected ${t}`);zS(r,`session session-${n}`,["can_authorize","can_merge","can_close","can_write_global_ledger"])}async function hF(r,n){let t=[],e=await In(r),i=new Set(e.map((o)=>V(o,"seat_id")).filter((o)=>Boolean(o))),_=new Set(e.filter((o)=>o.ready===!0).map((o)=>V(o,"seat_id")).filter((o)=>Boolean(o))),c=new Map(e.map((o)=>[V(o,"seat_id"),o]).filter((o)=>Boolean(o[0])));for(let o of await Jy(r)){let u;try{u=await V$(r,o)}catch(f){t.push(f.message);continue}let $=V(u,"assigned_to"),g=await Vr(j(r,"docs","work","sessions",`session-${o}`,"session.json"),null);if(!$&&!g)continue;if(!$){t.push(`task envelope ${o} missing assigned_to`);continue}if(!i.has($))t.push(`task envelope ${o} assigned_to ${$} is not enrolled`);if(!_.has($))t.push(`task envelope ${o} assigned_to ${$} is not ready`);let d=c.get($);if(d)try{hS(d,n,$)}catch(f){t.push(f.message)}try{jS(u,o,$)}catch(f){t.push(f.message)}if(!g){t.push(`session manifest missing: docs/work/sessions/session-${o}/session.json`);continue}try{me(typeof g.project_id==="string"?g.project_id:null,n,`session session-${o}`),WS(g,o,$)}catch(f){t.push(f.message)}}return[...new Set(t)]}function Tn(r,n,t="--seat"){J(n,t);let e=r.find((_)=>V(_,"seat_id")===n)??null;if(e)return{requestedSeat:n,seat:n,enrollment:e,aliasUsed:!1};let i=r.filter((_)=>V(_,"operator_principal")===n);if(i.length===1){let _=V(i[0],"seat_id");if(_)return{requestedSeat:n,seat:_,enrollment:i[0],aliasUsed:!0}}if(i.length>1)throw Error(`seat alias is ambiguous: ${n}`);return{requestedSeat:n,seat:n,enrollment:null,aliasUsed:!1}}function UF(r){let n=tn(r,["rev-parse","--show-toplevel"],!0);if(n.status!==0)return{inside_worktree:!1,root:null,branch:null,dirty:null,status_ref:"git unavailable"};let t=tn(r,["rev-parse","--abbrev-ref","HEAD"],!0),i=tn(r,["status","--short","--branch"],!0).stdout.split(`
|
|
762
|
+
`).filter((c)=>c.trim().length>0),_=i.filter((c)=>!c.startsWith("## "));return{inside_worktree:!0,root:n.stdout.trim(),branch:t.status===0?t.stdout.trim():null,dirty:_.length>0,status_ref:i[0]??null,dirty_entries:_.length}}async function OF(r){let n=Ir(r),t=or(j(n,".etiquette"))||or(j(n,"docs","work")),e=t?await R$(n):null;D$(e?.project_id,m(r,"expect-project-id"),"current project");let i=await aV(n),_=await In(n),c=await Jy(n),o=await LS(n),u=m(r,"seat")??null,$=m(r,"task")??null;if($)J($,"--task");let g=u?Tn(_,u):null,d=g?.seat??null,f=g?.enrollment??null,b=$?`docs/work/tasks/${$}.yaml`:null,I=$?`docs/work/sessions/session-${$}/RUNBOOK.md`:null,w=$?o.filter((D)=>D.task_ref===$||D.session_id===`session-${$}`):o;if(e&&$)for(let D of w)me(typeof D.project_id==="string"?D.project_id:null,e.project_id,`session ${String(D.session_id??"unknown")}`);let h={schema:"workspace-context-readback.v0",cwd:process.cwd(),project:n,project_id:e?.project_id??null,project_ref:e?".etiquette/project.yaml":null,initialized:t,git:UF(n),events:i.length,seats:_.map((D)=>({seat_id:D.seat_id,ready:D.ready===!0,lifecycle_state:Nt(D),workflow_id:D.workflow_id??null,operator_principal:D.operator_principal??null})),tasks:c,sessions:w.map((D)=>({session_id:D.session_id??null,project_id:D.project_id??null,seat:D.seat??null,task_ref:D.task_ref??null,runbook_ref:D.runbook_ref??null,manifest_ref:D.manifest_ref??null})),requested:{seat_input:u,seat:d,seat_alias_used:g?.aliasUsed??!1,seat_ready:f?f.ready===!0:null,lifecycle_state:f?Nt(f):null,workflow_id:f?.workflow_id??null,task:$,task_ref:b&&or(j(n,b))?b:null,runbook_ref:I&&or(j(n,I))?I:null},guidance:{resume_conversation:"Use your agent runner resume command for chat context; do not git checkout for conversation history.",enter_code_context:"Use the project/worktree path shown here for code context.",avoid_checkout_when_dirty:"If git_dirty is true, do not checkout another branch until the dirty worktree is triaged or moved to a separate worktree."},next_commands:[`cd ${n}`,d?`etiquette join --project . --seat ${d}`:null,d&&$?Uc(d,$,e?.project_id??null):null,"etiquette status --project ."].filter((D)=>Boolean(D)),authority_boundary:{whereami_authorizes_work:!1,can_checkout:!1,can_merge:!1,can_close:!1,can_grant:!1,can_write_global_ledger:!1}};if(r.json){console.log(JSON.stringify(h,null,2));return}let R=h.git,S=["whereami:",` cwd: ${h.cwd}`,` project: ${h.project}`,` project_id: ${h.project_id??"none"}`,` initialized: ${String(h.initialized)}`,` git_root: ${String(R.root??"none")}`,` git_branch: ${String(R.branch??"none")}`,` git_dirty: ${String(R.dirty??"unknown")}`,` events: ${h.events}`,` seats: ${h.seats.length===0?"none":h.seats.map((D)=>`${String(D.seat_id)}(ready=${String(D.ready)} lifecycle=${D.lifecycle_state})`).join(", ")}`,` tasks: ${h.tasks.length===0?"none":h.tasks.join(", ")}`,` sessions: ${h.sessions.length===0?"none":h.sessions.map((D)=>String(D.session_id??"unknown")).join(", ")}`];if(d){if(g?.aliasUsed)S.push(` seat_alias: ${g.requestedSeat} -> ${d}`);S.push(` requested_seat: ${d} ready=${String(h.requested.seat_ready??"unknown")}`),S.push(` lifecycle_state: ${String(h.requested.lifecycle_state??"unknown")}`),S.push(` workflow_id: ${String(h.requested.workflow_id??"legacy")}`)}if($)S.push(` requested_task: ${$}`),S.push(` task_ref: ${h.requested.task_ref??"missing"}`),S.push(` runbook_ref: ${h.requested.runbook_ref??"missing"}`);S.push("next:",...h.next_commands.map((D)=>` ${D}`),"guidance:",` ${h.guidance.resume_conversation}`,` ${h.guidance.enter_code_context}`,` ${h.guidance.avoid_checkout_when_dirty}`,"authority_boundary: read-only; no checkout, merge, close, grant, or global ledger write"),console.log(S.join(`
|
|
763
|
+
`))}async function RF(r){let n=Ir(r);await yr(n);let t=await vr(n,m(r,"at"));fV(t.project_id,r);let e=O(r,"seat"),i=O(r,"task"),_=Tn(await In(n),e),c=_.seat;wF(_,t.project_id,m(r,"at")),J(i,"--task");let o=`docs/work/tasks/${i}.yaml`,u=`docs/work/sessions/session-${i}/RUNBOOK.md`,$=await ln(j(n,o));if(!$)throw Error(`task envelope not found: ${o}`);let g=await V$(n,i);jS(g,i,c);let d=await ln(j(n,u));if(!d)throw Error(`session runbook not found: ${u}`);let f=await Vr(j(n,"docs","work","sessions",`session-${i}`,"session.json"),null);if(!f)throw Error(`session manifest not found: docs/work/sessions/session-${i}/session.json`);me(typeof f.project_id==="string"?f.project_id:null,t.project_id,`session session-${i}`),WS(f,i,c);let b=await M$(n,c,r),I={schema:"seat-pickup.v0",requested_seat:e,seat:c,seat_alias_used:_.aliasUsed,project_id:t.project_id,task:i,task_ref:o,runbook_ref:u,roster_integrity:"pass",lifecycle_state:Nt(_.enrollment??{}),workflow_id:_.enrollment?.workflow_id??null,feed_items:b.items.length,authority_boundary:{pickup_authorizes_work:!1,can_merge:!1,can_close:!1,can_grant:!1,can_write_global_ledger:!1}};if(r.json){console.log(JSON.stringify(I,null,2));return}console.log([`pickup: ${c} task=${i}`,_.aliasUsed?`seat_alias: ${e} -> ${c}`:null,`project_id: ${t.project_id}`,`task_ref: ${o}`,`runbook_ref: ${u}`,"roster_integrity: pass",`lifecycle_state: ${Nt(_.enrollment??{})}`,`workflow_id: ${String(_.enrollment?.workflow_id??"legacy")}`,"authority_boundary: read-only; no grants, merge, close, push, or global ledger writes","","## Wake Queue","",Ny(b),"","## Task Envelope","",$.trim(),"","## Runbook","",d.trim(),""].filter((w)=>w!==null).join(`
|
|
764
|
+
`))}async function DF(r,n){if(r[1]!=="append")throw Error("audit verb must be: append");let e=Ir(n);await yr(e);let i=await Cr(e,"audit_appended",{audit_schema:m(n,"schema")??"audit-event.v0",actor:O(n,"actor"),org_id:m(n,"org-id"),workspace_id:m(n,"workspace-id"),action:O(n,"action"),target_type:m(n,"target-type"),target_id:m(n,"target-id"),grant_ref:m(n,"grant-ref"),result:m(n,"result")??"recorded",reason:m(n,"reason"),refs:br(n.refs)},n);await hc(j(e,".etiquette","audit","audit.ndjson"),`${JSON.stringify(i)}
|
|
765
|
+
`),console.log(`audit_appended: ${i.event_ref}`)}async function SF(r,n){let t=r[1],e=Ir(n);if(await yr(e),t==="card"){if(r[2]!=="validate")throw Error("roster card verb must be: validate");let _=Yn(O(n,"card")),c=await Ic(_);console.log(`seat_card_valid: ${c}`);return}if(t==="enroll"){let i=wr(r,2,"seat"),_=await vr(e,m(n,"at")),c=O(n,"card"),o=Yn(e,c),u=await Ic(o),$=O(n,"execution-seat");if(u!==i)throw Error(`seat card seat_id ${u} does not match ${i}`);let g={schema:"seat-enrollment.v0",seat_id:i,card_ref:cr(e,o),operator_principal:O(n,"operator-principal"),execution_seat:$,as_role:O(n,"as-role"),authority_scope:O(n,"authority-scope"),mode:O(n,"mode"),orientation_ref:O(n,"orientation-ref"),ready:!1,lifecycle_schema:A$,lifecycle_state:"enrolled",workflow_id:_t(_.project_id),runner_binding:J$({runnerProvider:m(n,"runner-provider")??$,executionSurface:m(n,"execution-surface")??$,modelId:m(n,"model-id"),modelTier:m(n,"model-tier"),permissionProfileRef:m(n,"permission-profile-ref"),capabilitySource:m(n,"capability-source")??"config"}),authority_granted:!1,lifecycle_authority_boundary:{lifecycle_grants_authority:!1,readiness_authorizes_work:!1,can_merge:!1,can_close:!1,can_grant:!1},enrolled_at:Dr(n),authority_boundary:{enrollment_authorizes_work:!1,can_merge:!1,can_close:!1}};await qn(await Re(e,i),g);let d=await Cr(e,"seat_enrolled",g,n);console.log(`seat_enrolled: ${i} ${d.event_ref}`);return}if(t==="ready"){let i=wr(r,2,"seat"),_=await vr(e,m(n,"at")),c=await Re(e,i),o=await Vr(c,null);if(!o)throw Error(`seat is not enrolled: ${i}`);let u=Dr(n),$=o.runner_binding===void 0?null:Kr(o.runner_binding,`${i} runner_binding`),g=m(n,"execution-surface")??V($??{},"execution_surface")??V(o,"execution_seat")??"local-etiquette",d={...o,...yS({projectId:_.project_id,at:u,runnerBinding:J$({runnerProvider:m(n,"runner-provider")??V($??{},"runner_provider")??g,executionSurface:g,modelId:m(n,"model-id")??V($??{},"model_id")??null,modelTier:m(n,"model-tier")??V($??{},"model_tier")??null,permissionProfileRef:m(n,"permission-profile-ref")??V($??{},"permission_profile_ref")??null,capabilitySource:m(n,"capability-source")??V($??{},"capability_source")??"config",previous:$})}),ack_ref:O(n,"ack-ref"),orientation_ref:O(n,"orientation-ref")};await qn(c,d);let f=await Cr(e,"seat_ready",{seat_id:i,lifecycle_state:"ready",workflow_id:_t(_.project_id),ack_ref:d.ack_ref,orientation_ref:d.orientation_ref,authority_granted:!1,authority_boundary:{readiness_authorizes_work:!1,can_merge:!1,can_close:!1}},n);console.log(`seat_ready: ${i} ${f.event_ref}`);return}if(t==="lifecycle"){let i=wr(r,2,"seat"),_=O(n,"state");if(IS(_,"--state"),_==="ready"||_==="idle")throw Error("use roster ready to move a seat to ready/idle after preflight");let c=await vr(e,m(n,"at")),o=await Re(e,i),u=await Vr(o,null);if(!u)throw Error(`seat is not enrolled: ${i}`);let $=Dr(n),g={...u,ready:!1,lifecycle_schema:A$,lifecycle_state:_,workflow_id:_t(c.project_id),lifecycle_reason:O(n,"reason"),lifecycle_updated_at:$,authority_granted:!1,lifecycle_authority_boundary:{lifecycle_grants_authority:!1,readiness_authorizes_work:!1,can_merge:!1,can_close:!1,can_grant:!1}};await qn(o,g);let d=await Cr(e,"seat_lifecycle",{seat_id:i,workflow_id:_t(c.project_id),lifecycle_state:_,reason:g.lifecycle_reason,authority_granted:!1,authority_boundary:{lifecycle_authorizes_work:!1,can_merge:!1,can_close:!1,can_grant:!1}},n);console.log(`seat_lifecycle: ${i} state=${_} ${d.event_ref}`);return}if(t==="list"){let i=await Oc(j(e,".etiquette","roster","enrollments")),_=await Promise.all(i.map(async(c)=>Vr(c,{})));if(n.json){console.log(JSON.stringify(_,null,2));return}console.log(_.length===0?"no enrolled seats":_.map((c)=>`${c.seat_id} ready=${String(c.ready)} lifecycle=${Nt(c)} operator=${c.operator_principal}`).join(`
|
|
766
|
+
`));return}if(t==="show"||t==="posture"){let i=wr(r,2,"seat"),_=await Vr(await Re(e,i),null);if(!_)throw Error(`seat is not enrolled: ${i}`);if(t==="show"){console.log(n.json?JSON.stringify(_,null,2):[`seat: ${_.seat_id}`,`operator_principal: ${_.operator_principal}`,`execution_seat: ${_.execution_seat}`,`as_role: ${_.as_role}`,`authority_scope: ${_.authority_scope}`,`mode: ${_.mode}`,`ready: ${String(_.ready)}`,`lifecycle_state: ${Nt(_)}`,`workflow_id: ${String(_.workflow_id??"legacy")}`].join(`
|
|
767
|
+
`));return}let c=V(_,"card_ref"),o=c?Kr(await Py(j(e,c)),"seat card"):{};console.log(n.json?JSON.stringify({enrollment:_,card:o},null,2):[`seat_posture: ${i}`,`model_ref: ${String(o.model_ref??"unknown")}`,`model_posture_ref: ${String(o.model_posture_ref??"unknown")}`,"authority_boundary:"," can_authorize_work: false"," can_close_lane_without_grant: false"," can_merge_or_push_without_grant: false"].join(`
|
|
768
|
+
`));return}if(t==="doctor"){let i=Yn(e,m(n,"cards")??j("docs","work","seat-cards")),_=or(i)?(await ae(i,{withFileTypes:!0})).filter(($)=>$.isFile()).map(($)=>j(i,$.name)):[],c=[];for(let $ of _){if(!$.endsWith(".yaml")&&!$.endsWith(".yml")&&!$.endsWith(".json"))continue;c.push(await Ic($))}let o=await Oc(j(e,".etiquette","roster","enrollments")),u={schema:"roster-doctor.v0",verdict:"pass",cards_validated:c.length,enrolled_seats:o.length,authority_boundary:{can_authorize_work:!1,can_merge:!1,can_close:!1}};console.log(n.json?JSON.stringify(u,null,2):`roster_doctor: pass cards=${c.length} enrolled=${o.length}`);return}throw Error("roster verb must be one of: card, enroll, ready, lifecycle, list, show, posture, doctor")}async function aF(r){let n=Ir(r);await yr(n);let t=O(r,"role"),e=r.emit===!0||uS(t),i=O(r,"lane"),_=m(r,"mode"),c=j(n,"docs","work","tasks",`${i}.yaml`),o=uS(t)&&or(c)?V(await V$(n,i),"mode"):void 0;if(_&&o&&_!==o)throw Error(`post mode ${_} does not match task envelope mode ${o}`);let u={schema:"local-packet.v0",role:t,lane:i,from:O(r,"from"),to:O(r,"to"),verdict:m(r,"verdict")??"routed",packet_tier:m(r,"tier")??"3",mode:o??_??"read-only-audit",next_owner:m(r,"next-owner")??O(r,"to"),created_at:Dr(r),changes_state:e,authority_boundary:{packet_authorizes_work:!1,can_merge:!1,can_close:!1,can_grant:!1}},$=`${En(u.created_at)}-${En(i)}-${En(t)}.json`,g=j(n,"docs","work","packets",$);if(await qn(g,u),e){let d=await Cr(n,"packet_posted",{...u,packet_ref:cr(n,g)},r);await ES(n,d,r),console.log(`packet_posted: ${d.event_ref} ${cr(n,g)}`);return}console.log(`packet_written: ${cr(n,g)}`)}async function TF(r,n){let t=r[1],e=Ir(n);if(t==="webhook"){let i=r[2]??m(n,"provider")??"github",_=await CV({...n,provider:i});if(n.json){console.log(JSON.stringify(_,null,2));return}console.log(KV(_));return}if(await yr(e),t==="subscribe"){let i=O(n,"seat"),_=Tn(await In(e),i),c=_.seat,o=await Vr(await oi(e,c),{schema:"seat-subscriptions.v0",seat:c,subscriptions:[]});if(o.subscriptions.push({lane:O(n,"lane"),roles:br(n.roles),subscribed_at:Dr(n)}),await qn(await oi(e,c),o),_.aliasUsed)console.log(`seat_alias: ${i} -> ${c}`);console.log(`subscribed: ${c} lane=${O(n,"lane")}`);return}if(t==="feed"){let i=O(n,"seat"),_=Tn(await In(e),i),c=_.seat,o=await Vr(await oi(e,c),{subscriptions:[]}),u=new Set(o.subscriptions.map((g)=>V(g,"lane")).filter((g)=>Boolean(g))),$=(await di(e)).filter((g)=>g.to===c||g.next_owner===c||typeof g.lane==="string"&&u.has(g.lane));console.log([`feed: ${c}`,_.aliasUsed?`seat_alias: ${i} -> ${c}`:null,`subscriptions: ${o.subscriptions.length}`,k$($)].filter((g)=>g!==null).join(`
|
|
769
|
+
`));return}if(t==="poll"){let i=O(n,"seat"),_=Tn(await In(e),i),c=_.seat,o=await M$(e,c,n),u=await qy(e,c);if(await qn(u,o),n.json){console.log(JSON.stringify({...o,queue_ref:cr(e,u)},null,2));return}console.log([_.aliasUsed?`seat_alias: ${i} -> ${c}`:null,Ny(o),`queue_ref: ${cr(e,u)}`].filter(($)=>$!==null).join(`
|
|
770
|
+
`));return}if(t==="queue"){let i=O(n,"seat"),_=Tn(await In(e),i),c=_.seat,o=await qy(e,c),u=cV(await Vr(o,{schema:"remote-wake-queue.v0",seat:c,updated_at:Dr(n),source:{event_log_ref:".etiquette/events/local.ndjson",after_seq:0,max_seq_seen:0,subscriptions_ref:cr(e,await oi(e,c))},transport:jy(),payload_boundary:Wy(),items:[],authority_boundary:Ay()}));if(n.json){console.log(JSON.stringify({...u,queue_ref:cr(e,o)},null,2));return}console.log([_.aliasUsed?`seat_alias: ${i} -> ${c}`:null,Ny(u)].filter(($)=>$!==null).join(`
|
|
771
|
+
`));return}throw Error("notify verb must be one of: subscribe, feed, poll, queue, webhook")}async function EF(r,n){if(r[1]!=="check")throw Error("return verb must be: check");let e=Ir(n),i=m(n,"task")??wr(r,2,"task"),_=O(n,"seat");J(i,"--task"),J(_,"--seat");let c=Tn(await In(e),_),o=c.seat,u=aS(n),$=GV(n),g=await ye(e,{lane:i,from:o,kind:"packets",limit:gi(n.limit,"limit",50),computedAt:Dr(n)}),d=Sy(g,{task:i,seat:o,expectedRoles:u}),f=null;try{let R=(await V$(e,i)).expected_return;if(R&&typeof R==="object"&&!Array.isArray(R)){let S=R.receipt;if(typeof S==="string"&&S.length>0)f=S}}catch{f=null}let b=f===null?null:or(j(e,f)),I=d.verdict==="pass"&&b===!1?"missing_return":d.verdict,w={schema:"return-enforcement-check.v0",task:i,seat:o,seat_alias:c.aliasUsed?_:null,expected_roles:u,enforcement_tier:$,verdict:I,expected_receipt:f,receipt_present:b,completion_gate_hard:$==="remote-runner-hard-gate",matched_return_packets:d.matched_return_packets,posted_return_packets:d.posted_return_packets,latest_event_ref:d.latest_event_ref,event_log_hash:d.event_log_hash,advisory:I==="pass"?"posted return found; expected receipt present":d.verdict==="pass"&&b===!1?`return packet posted but expected receipt missing at ${f}`:$==="remote-runner-hard-gate"?"remote runner completion must stop until the seat emits a return packet":"local advisory only; write the receipt and emit the return packet so the next seat can wake",authority_boundary:{check_can_authorize:!1,check_can_execute:!1,check_can_write:!1,check_can_post_return:!1,check_can_merge:!1,check_can_close:!1,check_can_grant:!1,check_can_write_global_ledger:!1}};if(console.log(n.json?JSON.stringify(w,null,2):XV(w)),$==="remote-runner-hard-gate"&&I!=="pass")process.exit(1)}async function gS(r,n){if(r[1]!=="doctor")throw Error("rig verb must be: doctor");let e=Ir(n);await yr(e);let _=[we(e),ct(e),Se(e),j(e,"docs","work","tasks")].filter((R)=>!or(R));if(_.length>0)throw Error(`rig doctor failed; missing: ${_.map((R)=>cr(e,R)).join(", ")}`);let c=await vr(e,m(n,"at")),u=(await LS(e)).filter((R)=>R.project_id!==c.project_id);if(u.length>0)throw Error(`rig doctor failed; session project_id mismatch: ${u.map((R)=>String(R.session_id??"unknown")).join(", ")}`);let $=await hF(e,c.project_id);if($.length>0)throw Error(`rig doctor failed; roster/session integrity: ${$.join("; ")}`);let g=W$("git",["-C",e,"rev-parse","--is-inside-work-tree"],{encoding:"utf8"}),d=g.status===0&&g.stdout.trim()==="true",f=[];if(!d)f.push({code:"git_repository_missing",message:"generated task validations (git diff --check) cannot run; fix: git init && git add -A && git commit -m init",text:"rig_doctor: warn git_repository=missing \u2014 generated task validations (git diff --check) cannot run; fix: git init && git add -A && git commit -m init"});let b=W$("git",["--version"],{encoding:"utf8"}),I=b.status===0?/(\d+)\.(\d+)/.exec(b.stdout):null,w=null;if(I){w=I[0];let R=Number(I[1]),S=Number(I[2]);if(R<2||R===2&&S<40)f.push({code:"git_version_below_minimum",message:`git version ${w} is below documented minimum 2.40`,text:`rig_doctor: warn git_version=${w} below documented minimum 2.40`})}else f.push({code:"git_version_unknown",message:"git not found on PATH",text:"rig_doctor: warn git_version=unknown \u2014 git not found on PATH"});let h={schema:"rig-doctor.v0",verdict:"pass",project_id:c.project_id,roster_session_integrity:"pass",git_repository:d?"present":"missing",git_version:w,warnings:f.map(({code:R,message:S})=>({code:R,message:S})),authority_boundary:{can_authorize:!1,can_execute:!1,can_write_global_ledger:!1}};if(n.json){console.log(JSON.stringify(h,null,2));return}for(let R of f)console.log(R.text);console.log(`rig_doctor: pass project_id=${c.project_id} roster_session_integrity=pass`)}async function lF(r,n){let t=r[1];if(t!=="view"&&t!=="preview")throw Error("timeline verb must be one of: view, preview");let e=Ir(n),i={scope:VV(n),since:m(n,"since")??null,until:m(n,"until")??null,lane:m(n,"lane")??null,seat:m(n,"seat")??null,from:m(n,"from")??null,to:m(n,"to")??null,role:m(n,"role")??null,action:m(n,"action")??null,match:m(n,"match")??null,limit:gi(n.limit,"limit",20),computedAt:Dr(n)};if(t==="preview"){await LF(e,n,i);return}let _=await Ry(e,i),c=SS(n);if(c==="json"){console.log(JSON.stringify(_,null,2));return}console.log(c==="markdown"?YD(_):HD(_))}function qF(r){let n=gi(r.port,"port",4174);if(n>65535)throw Error("--port must be between 1 and 65535");return n}function NF(r){let n=r.trim().toLowerCase();if(n==="127.0.0.1"||n==="localhost"||n==="::1")return n;throw Error("--host for timeline preview must be loopback-only in v0: use 127.0.0.1, localhost, or ::1")}async function LF(r,n,t){let e=NF(m(n,"host")??"127.0.0.1"),i=qF(n),_=Bun.serve({hostname:e,port:i,fetch:(c)=>CD(c,()=>Ry(r,t))});return console.log(`etiquette timeline preview listening on http://${_.hostname}:${_.port}/`),console.log("boundary: read-only loopback GET/HEAD/OPTIONS surface; no auth, hosted backend, execution, write-back, grants, merge, close, or signing"),new Promise(()=>{})}async function zF(r,n){let t=r[1],e=Ir(n);if(t==="view"){let _=await ye(e,{since:m(n,"since")??null,until:m(n,"until")??null,lane:m(n,"lane")??null,seat:m(n,"seat")??null,from:m(n,"from")??null,to:m(n,"to")??null,role:m(n,"role")??null,action:m(n,"action")??null,match:m(n,"match")??null,kind:MV(n),limit:gi(n.limit,"limit",20),computedAt:Dr(n)}),c=SS(n);if(c==="json"){console.log(JSON.stringify(_,null,2));return}console.log(c==="markdown"?vD(_):kD(_));return}await yr(e);let i=await di(e);if(t==="status"){let _=r[2]?Number.parseInt(r[2],10):20,c=Number.isFinite(_)?_:20;console.log(k$(i.slice(-c)));return}if(t==="inbox"){let _=O(n,"addressee"),c=Tn(await In(e),_,"--addressee"),o=c.seat,u=i.filter(($)=>$.to===o||$.next_owner===o);console.log([c.aliasUsed?`addressee_alias: ${_} -> ${o}`:null,k$(u)].filter(($)=>$!==null).join(`
|
|
772
|
+
`));return}throw Error("bus verb must be one of: status, inbox, view")}async function jF(r){let n=Ir(r);await yr(n);let t=await vr(n,m(r,"at")),e=await di(n),i=await Oc(j(n,".etiquette","roster","enrollments"));console.log(["workspace_status:",` project: ${n}`,` project_id: ${t.project_id}`,` events: ${e.length}`,` enrolled_seats: ${i.length}`," authority_boundary: read_only_without_grant"].join(`
|
|
773
|
+
`))}function WF(r){let n=r.toLowerCase();if(n.includes("unsupported content type"))return"unsupported_content_type";if(n.includes("content type"))return"tool_result_transport_error";if(n.includes("render"))return"rendering_error";return"unknown_runner_glitch"}function AF(r,n){let t=m(r,"severity");if(t){if(t!=="info"&&t!=="warning"&&t!=="blocked")throw Error("--severity must be one of: info, warning, blocked");return t}return n==="unknown_runner_glitch"?"info":"warning"}function PF(r){return r==="pass"?"info":"warning"}function JF(r){if(r==="pass")return"none";if(r==="unposted_return")return"emit_return_packet";return"write_and_emit_return_packet"}function kF(r,n){if(!r||r.length!==n.length)return!1;return r.every((t,e)=>t===n[e])}function dS(r,n){let t=r[n];return typeof t==="number"&&Number.isFinite(t)?t:void 0}async function vF(r){let n=await ln(r);if(!n)return[];return n.split(`
|
|
774
|
+
`).map((t)=>t.trim()).filter(Boolean).map((t)=>JSON.parse(t))}function MF(r,n){let t=r.filter((e)=>V(e,"schema")==="no-return-diagnostic.v0"&&V(e,"task")===n.task&&V(e,"seat")===n.seat&&kF(P$(e,"expected_roles"),n.expectedRoles)&&V(e,"verdict")===n.verdict&&V(e,"severity")===n.severity&&dS(e,"matched_return_packets")===n.matchedReturnPackets&&dS(e,"posted_return_packets")===n.postedReturnPackets&&V(e,"next_action")===n.nextAction);return t.length>0?t[t.length-1]:null}async function VF(r,n){let t=r[1],e=Ir(n);if(t==="no-return"){if(!dV(e))throw Error("diagnostics no-return requires an initialized local Etiquette project; run etiquette init --project <path> first");let w=m(n,"task")??wr(r,2,"task"),h=O(n,"seat");J(w,"--task"),J(h,"--seat");let R=Tn(await In(e),h),S=R.seat,D=aS(n),L=await ye(e,{lane:w,from:S,kind:"packets",limit:gi(n.limit,"limit",50),computedAt:Dr(n)}),N=Sy(L,{task:w,seat:S,expectedRoles:D}),M=PF(N.verdict),K=JF(N.verdict),A=j(e,".etiquette","diagnostics","no-return.ndjson"),B=MF(await vF(A),{task:w,seat:S,expectedRoles:D,verdict:N.verdict,severity:M,matchedReturnPackets:N.matched_return_packets.length,postedReturnPackets:N.posted_return_packets.length,nextAction:K});if(B){let Qe={...B,deduped:!0,diagnostic_ref:cr(e,A)};if(n.json){console.log(JSON.stringify(Qe,null,2));return}console.log([`no_return_diagnostic: ${V(B,"diagnostic_id")??"existing"}`,`event: ${V(B,"event_ref")??"existing"}`,`verdict: ${N.verdict}`,`severity: ${M}`,`task: ${w}`,`seat: ${S}`,`diagnostic_ref: ${Qe.diagnostic_ref}`,"deduped: true","can_authorize: false",`next_action: ${K}`].join(`
|
|
775
|
+
`));return}await _r(Rc(A),{recursive:!0});let v=await Cr(e,"no_return_diagnostic",{diagnostic_schema:"no-return-diagnostic.v0",task:w,seat:S,seat_alias:R.aliasUsed?h:null,expected_roles:D,verdict:N.verdict,severity:M,matched_return_packets:N.matched_return_packets.length,posted_return_packets:N.posted_return_packets.length,latest_event_ref:N.latest_event_ref,event_log_hash:N.event_log_hash,next_action:K,authority_boundary:{diagnostic_can_authorize:!1,diagnostic_can_merge:!1,diagnostic_can_close:!1,diagnostic_can_promote:!1,diagnostic_can_post_return:!1,diagnostic_can_write_global_ledger:!1}},n),Tr={schema:"no-return-diagnostic.v0",diagnostic_id:`no-return-${v.seq}`,event_ref:v.event_ref,created_at:v.created_at,task:w,seat:S,seat_alias:R.aliasUsed?h:null,expected_roles:D,verdict:N.verdict,severity:M,matched_return_packets:N.matched_return_packets.length,posted_return_packets:N.posted_return_packets.length,latest_event_ref:N.latest_event_ref,event_log_hash:N.event_log_hash,next_action:K,authority_boundary:{diagnostic_can_authorize:!1,diagnostic_can_merge:!1,diagnostic_can_close:!1,diagnostic_can_promote:!1,diagnostic_can_post_return:!1,diagnostic_can_write_global_ledger:!1}};await hc(A,`${JSON.stringify(Tr)}
|
|
776
|
+
`);let ur={...Tr,deduped:!1,diagnostic_ref:cr(e,A)};if(n.json){console.log(JSON.stringify(ur,null,2));return}console.log([`no_return_diagnostic: ${Tr.diagnostic_id}`,`event: ${v.event_ref}`,`verdict: ${N.verdict}`,`severity: ${M}`,`task: ${w}`,`seat: ${S}`,`diagnostic_ref: ${ur.diagnostic_ref}`,"can_authorize: false",`next_action: ${K}`].join(`
|
|
777
|
+
`));return}if(await yr(e),t!=="runner-glitch")throw Error("diagnostics verb must be one of: runner-glitch, no-return");let i=m(n,"runner")??"codex",_=O(n,"symptom"),c=m(n,"session"),o=m(n,"command-ref");if(J(i,"--runner"),X(_,"--symptom"),c){J(c,"--session");let w=j(e,"docs","work","sessions",c,"session.json");if(!or(w))throw Error(`session does not exist: ${c}`)}if(o)X(o,"--command-ref");let u=WF(_),$=AF(n,u),g=await Cr(e,"runner_glitch_diagnostic",{diagnostic_schema:"runner-glitch-diagnostic.v0",runner:i,kind:u,severity:$,symptom:_,command_ref:o??null,session_id:c??null,next_action:"verify_underlying_command_directly",authority_boundary:{diagnostic_can_authorize:!1,diagnostic_can_merge:!1,diagnostic_can_close:!1,diagnostic_can_promote:!1,diagnostic_can_write_global_ledger:!1}},n),d={schema:"runner-glitch-diagnostic.v0",diagnostic_id:`runner-glitch-${g.seq}`,event_ref:g.event_ref,created_at:g.created_at,runner:i,kind:u,severity:$,symptom:_,command_ref:o??null,session_id:c??null,next_action:"verify_underlying_command_directly",authority_boundary:{diagnostic_can_authorize:!1,diagnostic_can_merge:!1,diagnostic_can_close:!1,diagnostic_can_promote:!1,diagnostic_can_write_global_ledger:!1}},f=j(e,".etiquette","diagnostics","runner-glitches.ndjson");await hc(f,`${JSON.stringify(d)}
|
|
778
|
+
`);let b=null;if(c){let w=[`Runner diagnostic ${d.diagnostic_id} recorded ${u};`,"verify underlying command directly before treating client output as truth.",o?`Command ref: ${o}.`:""].filter(Boolean).join(" "),h=await dc({projectRoot:e,sessionId:c,section:"retry",message:w,at:m(n,"at")});b=cr(e,h.runbookPath)}let I={...d,diagnostic_ref:cr(e,f),session_note_ref:b};if(n.json){console.log(JSON.stringify(I,null,2));return}console.log([`runner_glitch_diagnostic: ${d.diagnostic_id}`,`event: ${g.event_ref}`,`kind: ${u}`,`severity: ${$}`,`runner: ${i}`,`diagnostic_ref: ${I.diagnostic_ref}`,`session_note_ref: ${b??"none"}`,"can_authorize: false","next_action: verify_underlying_command_directly"].join(`
|
|
779
|
+
`))}async function AS(r,n){let t=r[0];switch(t){case"setup":await SV(n);return;case"handoff":await fF(n);return;case"init":await _F(n);return;case"bootstrap":await gF(r,n);return;case"whereami":await OF(n);return;case"join":await bF(n);return;case"pickup":await RF(n);return;case"enter":await dF(r,n);return;case"audit":await DF(r,n);return;case"roster":await SF(r,n);return;case"post":await aF(n);return;case"notify":await TF(r,n);return;case"return":await EF(r,n);return;case"retire":await NS(wr(r,1,"path"),n);return;case"rig":await gS(r,n);return;case"doctor":await gS(["rig","doctor"],n);return;case"bus":await zF(r,n);return;case"timeline":await lF(r,n);return;case"status":await jF(n);return;case"diagnostics":await VF(r,n);return;case"trash":await eF(r,n);return;default:throw Error(`unknown local workflow command: ${t}`)}}async function PS(r,n){let t=Yn(r);await yr(t);let e=n?Tn(await In(t),n):null,i=e?.seat??null,_=await ln(j(t,"docs","work","BOARD.md")),c=await di(t);return[`console_board: ${i??"all-seats"}`,e?.aliasUsed?`seat_alias: ${e.requestedSeat} -> ${i}`:null,"",_?.trim()||"No docs/work/BOARD.md found.","","Recent events:",k$(c.slice(-10)),"","authority_boundary: read-only; no grants, merge, or close"].filter((u)=>u!==null).join(`
|
|
780
|
+
`)}import{existsSync as Qy}from"fs";import{mkdir as xC,readdir as t1,readFile as i1,writeFile as pC}from"fs/promises";import{dirname as rZ,extname as Ky,join as qr,relative as wG,resolve as Hy}from"path";import{createHash as GF}from"crypto";import{readFile as XF}from"fs/promises";import{extname as BF}from"path";function FF(r){if(r.source_refs.length===0)return["no_durable_evidence"];return r.source_refs.flatMap((t)=>rr(t.ref))}function ky(r,n={}){let t=new Set(r.risk_flags);for(let e of FF(r))t.add(e);for(let e of[r.title,r.summary,r.query])for(let i of rr(e))t.add(i);if(n.localPrivate)t.delete("contains_private_context");return[...t]}function JS(r){if(r.scope.org_id)J(r.scope.org_id,"scope.org_id");if(r.scope.workspace_id)J(r.scope.workspace_id,"scope.workspace_id");if(r.scope.repo_ref)X(r.scope.repo_ref,"scope.repo_ref");if(r.scope.lane_ref)X(r.scope.lane_ref,"scope.lane_ref");X(r.title,"title"),X(r.summary,"summary"),X(r.why_it_matters,"why_it_matters");for(let n of r.evidence_refs)X(n.ref,`evidence_ref:${n.type}`)}var kS=["prompt","skill","schema","adapter","ui","runbook","infra","other"],vS=["ergonomic","evidence","authority","recovery","unknown"],MS=["active","nascent","stale","unknown"],HF=["keep","consolidate","quarantine","delete-ready","blocked"],VS=["ordinary-run","onboarding","recovery","auth-drift","single-writer-or-drain","receipt-verification","degraded-fail-closed"];function YF(r){return GF("sha256").update(JSON.stringify(r)).digest("hex").slice(0,16)}function G$(r,n){if(typeof r!=="object"||r===null||Array.isArray(r))throw Error(`${n} must be an object`);return r}function vy(r,n){let t=r[n];if(typeof t!=="string"||t.trim().length===0)throw Error(`${n} must be a non-empty string`);return t.trim()}function F$(r,n){let t=r[n];if(t===void 0)return;if(typeof t!=="string"||t.trim().length===0)throw Error(`${n} must be a non-empty string when present`);return t.trim()}function FS(r,n){let t=r[n];if(!Array.isArray(t)||t.some((e)=>typeof e!=="string"||e.trim().length===0))throw Error(`${n} must be a non-empty string array`);return t.map((e)=>e.trim())}function Qn(r,n,t){if(typeof n!=="string"||!r.includes(n))throw Error(`${t} must be one of: ${r.join(", ")}`);return n}function QF(r,n,t){if(!Array.isArray(n)||n.length===0)throw Error(`${t} must be a non-empty array`);return n.map((e,i)=>Qn(r,e,`${t}[${i}]`))}function Te(r,n){if(X(r,n),r.startsWith("/")||r.startsWith("\\")||/^[A-Za-z]:[\\/]/.test(r))throw Error(`${n} must be opaque or repo-relative, not an absolute local path`);if(/[a-z][a-z0-9+.-]*:\/\//i.test(r))throw Error(`${n} must not be a URL`)}function KF(r){let n=G$(r,"authority"),t={can_grant:n.can_grant,can_close_lane:n.can_close_lane,can_merge:n.can_merge,can_delete:n.can_delete};for(let[e,i]of Object.entries(t))if(i!==!1)throw Error(`authority.${e} must be false`);return t}function CF(r){let n=G$(r,"harness_prune_receipt"),t={schema:Qn(["harness-prune-receipt.v0"],n.schema,"schema"),object_id:vy(n,"object_id"),object_class:Qn(kS,n.object_class,"object_class"),authority_class:Qn(vS,n.authority_class,"authority_class"),consumer_status:Qn(MS,n.consumer_status,"consumer_status"),proposed_disposition:Qn(HF,n.proposed_disposition,"proposed_disposition"),evidence_refs:FS(n,"evidence_refs"),canary_set:QF(VS,n.canary_set,"canary_set"),quarantine_until:F$(n,"quarantine_until"),next_owner:vy(n,"next_owner"),authority:KF(n.authority)};return BS(t),t}function ZF(r){let n=G$(r,"harness_inventory");if(Qn(["harness-inventory.v0"],n.schema,"schema")!=="harness-inventory.v0")throw Error("schema must be harness-inventory.v0");let t=n.items;if(!Array.isArray(t)||t.length===0)throw Error("items must be a non-empty array");let e=t.map((_,c)=>{let o=G$(_,`items[${c}]`),u={object_id:vy(o,"object_id"),object_class:Qn(kS,o.object_class,`items[${c}].object_class`),authority_class:Qn(vS,o.authority_class,`items[${c}].authority_class`),consumer_status:Qn(MS,o.consumer_status,`items[${c}].consumer_status`),evidence_refs:FS(o,"evidence_refs"),roadmap_ref:F$(o,"roadmap_ref"),last_seen_ref:F$(o,"last_seen_ref")};return xF(u,`items[${c}]`),u}),i=F$(n,"generated_by");if(i)J(i,"generated_by");return{schema:"harness-inventory.v0",...i?{generated_by:i}:{},items:e}}async function GS(r){let n=await XF(r,"utf-8");if(BF(r).toLowerCase()===".json")return JSON.parse(n);return ir(n)}function XS(r,n){for(let[t,e]of r.entries())Te(e,`${n}[${t}]`)}function xF(r,n){if(Te(r.object_id,`${n}.object_id`),XS(r.evidence_refs,`${n}.evidence_refs`),r.roadmap_ref)Te(r.roadmap_ref,`${n}.roadmap_ref`);if(r.last_seen_ref)Te(r.last_seen_ref,`${n}.last_seen_ref`)}function pF(r){if(r.proposed_disposition==="delete-ready")return[...VS];return["ordinary-run","receipt-verification"]}function X$(r){let n=pF(r),t=[...new Set(r.canary_set)],e=n.filter((i)=>!t.includes(i));return{schema:"harness-canary-result.v0",object_id:r.object_id,required_canaries:n,observed_canaries:t,missing_canaries:e,verdict:e.length===0?"pass":"blocked"}}function BS(r){if(Te(r.object_id,"object_id"),XS(r.evidence_refs,"evidence_refs"),J(r.next_owner,"next_owner"),r.quarantine_until)Te(r.quarantine_until,"quarantine_until");let n=r.evidence_refs.flatMap((t)=>rr(t));if(n.length>0)throw Error(`evidence_refs contain restricted shared content: ${[...new Set(n)].join(", ")}`)}function sF(r){if(BS(r),r.consumer_status==="nascent"&&r.proposed_disposition==="delete-ready")throw Error("nascent harness surfaces must be quarantined or kept, not delete-ready");if((r.authority_class==="authority"||r.authority_class==="recovery")&&r.proposed_disposition==="delete-ready")throw Error("authority and recovery surfaces cannot be delete-ready in V0; route principal-gated obsolescence separately");if(r.authority_class==="unknown"&&r.proposed_disposition!=="blocked")throw Error("unknown authority class must use proposed_disposition: blocked");if(r.consumer_status==="unknown"&&r.proposed_disposition!=="blocked")throw Error("unknown consumer status must use proposed_disposition: blocked");if(r.proposed_disposition==="delete-ready"){if(r.authority_class!=="ergonomic")throw Error("delete-ready is only valid for ergonomic scaffolding in V0");if(r.consumer_status!=="stale")throw Error("delete-ready requires consumer_status: stale");if(!r.quarantine_until)throw Error("delete-ready requires quarantine_until")}let n=X$(r);if(n.verdict!=="pass")throw Error(`missing canaries: ${n.missing_canaries.join(", ")}`)}async function My(r){return CF(await GS(r))}async function B$(r){let n=await My(r);return sF(n),{schema:"harness-prune-receipt-validation.v0",receipt_id:`harness-prune:${YF(n)}`,object_id:n.object_id,verdict:"valid",proposed_disposition:n.proposed_disposition,canary:X$(n),authority_boundary:{...n.authority,receipt_can_authorize_pruning:!1,human_disposition_required:!0}}}function rG(r){if(r.authority_class==="unknown"||r.consumer_status==="unknown")return{suggested_disposition:"blocked",reason:"authority or consumer reach is unknown"};if(r.consumer_status==="active")return{suggested_disposition:"keep",reason:"active consumer evidence exists"};if(r.consumer_status==="nascent")return{suggested_disposition:"quarantine",reason:"roadmap-aware grace: built ahead of consumer"};if(r.authority_class==="authority"||r.authority_class==="recovery")return{suggested_disposition:"blocked",reason:"authority and recovery surfaces require principal-gated obsolescence review"};if(r.authority_class==="ergonomic"&&r.consumer_status==="stale")return{suggested_disposition:"quarantine",reason:"stale ergonomic scaffolding; pruning receipt and canary-without required before delete-ready"};return{suggested_disposition:"consolidate",reason:"stale non-authority surface should be simplified before deletion"}}function nG(r){let n={keep:0,consolidate:0,quarantine:0,"delete-ready":0,blocked:0},t=r.items.map((e)=>{let i=rG(e);return n[i.suggested_disposition]+=1,{...e,...i}});return{schema:"harness-inventory-report.v0",item_count:t.length,counts:n,items:t,authority_boundary:{inventory_can_delete:!1,inventory_can_grant:!1,inventory_can_close_lane:!1,pruning_receipt_required:!0,human_disposition_required:!0}}}async function H$(r){return nG(ZF(await GS(r)))}import{existsSync as YS}from"fs";import{readdir as tG,readFile as iG}from"fs/promises";import{extname as QS,join as Ee,relative as eG,resolve as le}from"path";var Vy="agent-owner-card-source.v0",_G="agent-owner-card.v0",cG="agent-owner-card-projection.v0",oG=["model_switch","new_failure_mode","authority_change","seat_readiness_stale"];function KS(r){let n=r??new Date().toISOString();if(!Number.isFinite(Date.parse(n)))throw Error("--at must be an ISO-8601 timestamp");return new Date(n).toISOString()}function uG(r){return typeof r==="object"&&r!==null&&!Array.isArray(r)}function Fy(r,n){if(!uG(r))throw Error(`${n} must be an object`);return r}function Kn(r,n){let t=r[n];if(typeof t!=="string"||t.trim().length===0)throw Error(`${n} is required`);return ZS(t,n),t.trim()}function CS(r,n){let t=r[n];if(t===void 0)return[];if(!Array.isArray(t))throw Error(`${n} must be a string array`);return t.map((e,i)=>{if(typeof e!=="string"||e.trim().length===0)throw Error(`${n}[${i}] must be a non-empty string`);return ZS(e,`${n}[${i}]`),e.trim()})}function Y$(r,n){let t=CS(r,n);if(t.length===0)throw Error(`${n} must contain at least one item`);return t}function Q$(r,n){if(!/^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$/.test(r))throw Error(`${n} must be an opaque id using letters, numbers, hyphen, or underscore`)}function ZS(r,n){if(r.length>512)throw Error(`${n} must be 512 characters or fewer`);if(/[\u0000-\u001f]/.test(r))throw Error(`${n} must not contain control characters`)}function HS(r,n){if(!Number.isFinite(Date.parse(r)))throw Error(`${n} must be an ISO-8601 timestamp`)}function $G(r){if(!Array.isArray(r)||r.length===0)throw Error("failure_modes must contain at least one item");return r.map((n,t)=>{let e=Fy(n,`failure_modes[${t}]`),i=Kn(e,"id");Q$(i,`failure_modes[${t}].id`);let _=Kn(e,"description"),c=Y$(e,"evidence_refs");return{id:i,description:_,evidence_refs:c}})}function gG(r){let n=Fy(r,"agent owner card source");if(n.schema!==Vy)throw Error(`schema must be ${Vy}`);if("current_occupant"in n||"occupant"in n||"model_id"in n||"model_tier"in n)throw Error("current occupant and model posture are derived from seat-readiness, not authored on the owner card source");let t=Kn(n,"seat_id");Q$(t,"seat_id");let e=Kn(n,"owner_principal");Q$(e,"owner_principal");let i=Kn(n,"maintainer");Q$(i,"maintainer");let _=Fy(n.review,"review"),c=Kn(_,"last_reviewed_at"),o=Kn(_,"stale_after");return HS(c,"review.last_reviewed_at"),HS(o,"review.stale_after"),{schema:Vy,seat_id:t,job:Kn(n,"job"),owner_principal:e,maintainer:i,diet_refs:Y$(n,"diet_refs"),authority_contract_ref:Kn(n,"authority_contract_ref"),allowed_work:Y$(n,"allowed_work"),forbidden_work:Y$(n,"forbidden_work"),review:{cadence:Kn(_,"cadence"),last_reviewed_at:new Date(c).toISOString(),stale_after:new Date(o).toISOString(),event_triggers:CS(_,"event_triggers")},failure_modes:$G(n.failure_modes)}}async function dG(r){let n=await iG(r,"utf-8");if(QS(r).toLowerCase()===".json")return JSON.parse(n);return ir(n)}function Gy(r,n){let t=eG(le(r),le(n));if(t.length===0||t.startsWith("..")||t.includes("\\"))throw Error(`path must stay inside project root: ${n}`);return t}function fG(r){return[...new Set(r)]}function bG(r,n){if(!r)return null;return{source:"seat-readiness.v0.1",readiness_ref:n,seat:r.seat,execution_surface:r.execution_surface,model_tier:r.model_tier,effective_model_tier:r.effective_model_tier,model_id:r.model_id??null,operational_status:r.operational_status,capability_trusted:r.capability_trusted,is_stale:r.is_stale,last_heartbeat_at:r.last_heartbeat_at,stale_after:r.stale_after}}function xS(){return{read_model_only:!0,can_authorize:!1,can_attach_grant:!1,can_change_owner:!1,can_edit_authority:!1,can_mutate_readiness:!1,can_merge:!1,can_close:!1}}async function By(r){let n=le(r.projectRoot),t=KS(r.at),e=le(r.manifestPath),i=gG(await dG(e)),_=Gy(n,e),c=r.statePath?Gy(n,le(r.statePath)):".etiquette/state/seat-readiness.json",o=null,u=[];try{let g=await ci(n,r.statePath);if(o=Ie(g,t),o.seat!==i.seat_id)u.push("seat_readiness_mismatch");if(o.is_stale)u.push("seat_readiness_stale")}catch(g){u.push(`seat_readiness_unavailable:${g instanceof Error?g.message:String(g)}`)}let $=Date.parse(t)>Date.parse(i.review.stale_after);if($)u.push("owner_card_review_stale");return{schema:_G,generated_at:t,source_ref:_,seat_id:i.seat_id,job:i.job,accountability:{owner_principal:i.owner_principal,maintainer:i.maintainer,operator_principal_scope:"per_run_receipts_only",owner_is_not_operator:!0},diet_refs:i.diet_refs,current_occupant:bG(o,c),authority:{source_ref:i.authority_contract_ref,allowed_work:i.allowed_work,forbidden_work:i.forbidden_work,derived_from_contract:!0,card_may_edit_authority:!1},review:{cadence:i.review.cadence,last_reviewed_at:i.review.last_reviewed_at,stale_after:i.review.stale_after,is_stale:$,event_driven_triggers:fG([...oG,...i.review.event_triggers])},failure_modes:i.failure_modes,warnings:u,authority_boundary:xS()}}async function Xy(r){if(!YS(r))return[];let n=await tG(r,{withFileTypes:!0});return(await Promise.all(n.map(async(e)=>{let i=Ee(r,e.name);if(e.isDirectory())return Xy(i);return e.isFile()?[i]:[]}))).flat().sort()}async function pS(r){let n=le(r.projectRoot),t=KS(r.at),e=[Ee(n,".etiquette","seats","owner-card.yaml"),Ee(n,".etiquette","seats","owner-card.yml"),Ee(n,".etiquette","seats","owner-card.json"),...await Xy(Ee(n,".etiquette","seats","owner-cards")),...await Xy(Ee(n,"docs","work","seats","owner-cards"))].filter((c,o,u)=>{let $=QS(c).toLowerCase();return YS(c)&&[".yaml",".yml",".json"].includes($)&&u.indexOf(c)===o}),i=[],_=[];for(let c of e)try{i.push(await By({projectRoot:n,manifestPath:c,statePath:r.statePath,at:t}))}catch(o){_.push({ref:Gy(n,c),reason:o instanceof Error?o.message:String(o)})}return{schema:cG,generated_at:t,cards:i,validation_errors:_,authority_boundary:xS()}}function mG(r){let n=r??new Date().toISOString();if(!Number.isFinite(Date.parse(n)))throw Error("--at must be an ISO-8601 timestamp");return new Date(n).toISOString()}function sS(r){return typeof r==="object"&&r!==null&&!Array.isArray(r)}function Nn(r,n){let t=r[n];return typeof t==="string"&&t.trim().length>0?t.trim():void 0}async function IG(r){let n=await i1(r,"utf-8");if(Ky(r).toLowerCase()===".json")return JSON.parse(n);return ir(n)}async function C$(r,n){let t=Hy(r),e=qr(t,"docs","work","ledger","LEDGER.md"),i=await Yy(e),_=i?i.split(`
|
|
781
|
+
`).map((I)=>I.trim()).filter((I)=>I.startsWith("- ")):[],c=await K$(qr(t,"docs","work","receipts")),o=await K$(qr(t,"docs","work","tasks")),u=await K$(qr(t,".etiquette","outbox")),$=await yG(qr(t,".etiquette","provisioning","events")),g=await hG(t),d=await pS({projectRoot:t,at:n}),f=await Yy(qr(t,".etiquette","state","seat-readiness.json")),b=f?JSON.parse(f):null;return{schema:"console-read-model.v0",generated_at:mG(n),project_ref:".",counts:{ledger_entries:_.length,receipts:c,tasks:o,outbox_items:u,provisioning_events:$.length,owner_cards:d.cards.length},seat_readiness:b,owner_cards:d,provisioning_events:$.slice(-8),harness_maintenance:g,recent_ledger:_.slice(-8),authority_boundary:{read_only:!0,can_emit_events:!1,can_attach_grants:!1,can_merge:!1,can_close:!1}}}async function Yy(r){try{return await i1(r,"utf-8")}catch(n){if(n.code==="ENOENT")return null;throw n}}async function K$(r){if(!Qy(r))return 0;let n=await t1(r,{withFileTypes:!0});return(await Promise.all(n.map(async(e)=>{let i=qr(r,e.name);if(e.isDirectory())return K$(i);return e.isFile()?1:0}))).reduce((e,i)=>e+i,0)}async function Cy(r){if(!Qy(r))return[];let n=await t1(r,{withFileTypes:!0});return(await Promise.all(n.map(async(e)=>{let i=qr(r,e.name);if(e.isDirectory())return Cy(i);return e.isFile()?[i]:[]}))).flat().sort()}async function yG(r){let n=(await Cy(r)).filter((e)=>[".yaml",".yml",".json"].includes(Ky(e).toLowerCase()));return(await Promise.all(n.map(async(e)=>{let i=await IG(e);if(!sS(i)||i.schema!=="provisioning-event.v0")return null;let _=i.target;if(!sS(_))return null;let c=Nn(i,"event_id"),o=Nn(i,"created_at"),u=Nn(i,"event_kind"),$=Nn(i,"plan_ref"),g=Nn(i,"terraform_ref"),d=Nn(i,"summary"),f=Nn(_,"provider"),b=Nn(_,"substrate"),I=Nn(_,"cluster_name"),w=Nn(_,"region"),h=Nn(_,"namespace");if(!c||!o||!u||!$||!g||!d||!f||!b||!I||!w||!h)return null;return{event_id:c,created_at:o,event_kind:u,plan_ref:$,terraform_ref:g,target:{provider:f,substrate:b,cluster_name:I,region:w,namespace:h},summary:d}}))).filter((e)=>e!==null).sort((e,i)=>e.created_at.localeCompare(i.created_at))}async function hG(r){let n={keep:0,consolidate:0,quarantine:0,"delete-ready":0,blocked:0,inventory_items:0,pruning_receipts:0,validation_errors:0},t=[],e=[],i=[],_=[qr(r,".etiquette","harness","inventory.yaml"),qr(r,".etiquette","harness","inventory.yml"),qr(r,"docs","work","harness-inventory.yaml"),qr(r,"docs","work","harness-inventory.yml"),qr(r,"docs","work","harness","inventory.yaml"),qr(r,"docs","work","harness","inventory.yml")].filter((u,$,g)=>Qy(u)&&g.indexOf(u)===$);for(let u of _){let $=n1(r,u);try{let g=await H$(u);t.push({manifest_ref:$,item_count:g.item_count,counts:g.counts}),n.inventory_items+=g.item_count;for(let d of Object.keys(g.counts))n[d]+=g.counts[d]}catch(g){i.push({ref:$,reason:r1(g)})}}let c=[qr(r,".etiquette","harness","receipts"),qr(r,"docs","work","harness","receipts"),qr(r,"docs","work","receipts")],o=[...new Set((await Promise.all(c.map(Cy))).flat())].filter((u)=>[".yaml",".yml",".json"].includes(Ky(u).toLowerCase()));for(let u of o){if(!(await Yy(u))?.includes("harness-prune-receipt.v0"))continue;let g=n1(r,u);try{let d=await B$(u);e.push({receipt_ref:g,object_id:d.object_id,proposed_disposition:d.proposed_disposition,canary_verdict:d.canary.verdict,human_disposition_required:!0}),n.pruning_receipts+=1}catch(d){i.push({ref:g,reason:r1(d)})}}return n.validation_errors=i.length,{schema:"harness-maintenance-console-projection.v0",counts:n,inventory_reports:t,pruning_receipts:e,validation_errors:i,authority_boundary:{read_only:!0,can_prune:!1,can_delete:!1,can_grant:!1,can_close_lane:!1}}}function r1(r){return r instanceof Error?r.message:String(r)}function n1(r,n){let t=wG(Hy(r),Hy(n));if(t.length===0||t.startsWith("..")||t.includes("\\"))throw Error(`path must stay inside project root: ${n}`);return t}var e1=new Set(["snapshot","serve","board"]);function _1(r){return r==="console"}function OG(r){if(r===void 0)return 4173;let n=dn(r,"port");if(n<1||n>65535)throw Error("--port must be between 1 and 65535");return n}function RG(r){return["console_read_model:",` generated_at: ${r.generated_at}`,` ledger_entries: ${r.counts.ledger_entries}`,` receipts: ${r.counts.receipts}`,` tasks: ${r.counts.tasks}`,` outbox_items: ${r.counts.outbox_items}`,` provisioning_events: ${r.counts.provisioning_events}`,` owner_cards: ${r.counts.owner_cards}`,` harness_inventory_items: ${r.harness_maintenance.counts.inventory_items}`,` harness_pruning_receipts: ${r.harness_maintenance.counts.pruning_receipts}`,` harness_validation_errors: ${r.harness_maintenance.counts.validation_errors}`,` read_only: ${String(r.authority_boundary.read_only)}`].join(`
|
|
782
|
+
`)}function Sr(r){return r.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function DG(r){let n=r.seat_readiness?.seat?String(r.seat_readiness.seat):"none",t=r.recent_ledger.length>0?r.recent_ledger.map((u)=>`<li>${Sr(u.replace(/^- /,""))}</li>`).join(""):"<li>No ledger entries found.</li>",e=r.provisioning_events.length>0?r.provisioning_events.map((u)=>`<li><strong>${Sr(u.target.cluster_name)}</strong> ${Sr(u.event_kind)}`+` \u2014 <code>${Sr(u.plan_ref)}</code></li>`).join(""):"<li>No provisioning events found.</li>",i=r.owner_cards.cards.length>0?r.owner_cards.cards.map((u)=>`<li><strong>${Sr(u.seat_id)}</strong> owned by <code>${Sr(u.accountability.owner_principal)}</code>`+` \u2014 ${Sr(u.job)}`+` \u2014 review stale: ${Sr(String(u.review.is_stale))}`+` \u2014 warnings: ${Sr(u.warnings.join(", ")||"none")}</li>`).join(""):"<li>No owner cards found.</li>",_=r.owner_cards.validation_errors.length>0?r.owner_cards.validation_errors.map((u)=>`<li><code>${Sr(u.ref)}</code> \u2014 ${Sr(u.reason)}</li>`).join(""):"<li>No owner card validation errors found.</li>",c=r.harness_maintenance.pruning_receipts.length>0?r.harness_maintenance.pruning_receipts.map((u)=>`<li><strong>${Sr(u.object_id)}</strong> ${Sr(u.proposed_disposition)}`+` \u2014 canary ${Sr(u.canary_verdict)}`+` \u2014 <code>${Sr(u.receipt_ref)}</code></li>`).join(""):"<li>No harness pruning receipts found.</li>",o=r.harness_maintenance.validation_errors.length>0?r.harness_maintenance.validation_errors.map((u)=>`<li><code>${Sr(u.ref)}</code> \u2014 ${Sr(u.reason)}</li>`).join(""):"<li>No harness validation errors found.</li>";return`<!doctype html>
|
|
783
|
+
<html lang="en">
|
|
784
|
+
<head>
|
|
785
|
+
<meta charset="utf-8">
|
|
786
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
787
|
+
<title>Etiquette Console</title>
|
|
788
|
+
<style>
|
|
789
|
+
body { margin: 0; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #1f2937; background: #f8fafc; }
|
|
790
|
+
main { max-width: 980px; margin: 0 auto; padding: 32px 20px 48px; }
|
|
791
|
+
h1 { font-size: 30px; margin: 0 0 8px; letter-spacing: 0; }
|
|
792
|
+
.subtle { color: #64748b; margin: 0 0 24px; }
|
|
793
|
+
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin: 18px 0 28px; }
|
|
794
|
+
.metric { border: 1px solid #dbe3ef; border-radius: 8px; padding: 14px; background: #fff; }
|
|
795
|
+
.metric span { display: block; font-size: 13px; color: #64748b; }
|
|
796
|
+
.metric strong { display: block; font-size: 28px; margin-top: 4px; }
|
|
797
|
+
section { margin-top: 28px; }
|
|
798
|
+
code { background: #e2e8f0; padding: 2px 5px; border-radius: 4px; }
|
|
799
|
+
ul { padding-left: 20px; }
|
|
800
|
+
.boundary { border-left: 4px solid #2563eb; padding: 10px 14px; background: #eff6ff; }
|
|
801
|
+
</style>
|
|
802
|
+
</head>
|
|
803
|
+
<body>
|
|
804
|
+
<main>
|
|
805
|
+
<h1>Etiquette Console</h1>
|
|
806
|
+
<p class="subtle">Read-only workspace view generated ${Sr(r.generated_at)}.</p>
|
|
807
|
+
<div class="grid">
|
|
808
|
+
<div class="metric"><span>Ledger entries</span><strong>${r.counts.ledger_entries}</strong></div>
|
|
809
|
+
<div class="metric"><span>Receipts</span><strong>${r.counts.receipts}</strong></div>
|
|
810
|
+
<div class="metric"><span>Tasks</span><strong>${r.counts.tasks}</strong></div>
|
|
811
|
+
<div class="metric"><span>Outbox items</span><strong>${r.counts.outbox_items}</strong></div>
|
|
812
|
+
<div class="metric"><span>Provisioning events</span><strong>${r.counts.provisioning_events}</strong></div>
|
|
813
|
+
<div class="metric"><span>Owner cards</span><strong>${r.counts.owner_cards}</strong></div>
|
|
814
|
+
<div class="metric"><span>Harness inventory</span><strong>${r.harness_maintenance.counts.inventory_items}</strong></div>
|
|
815
|
+
<div class="metric"><span>Pruning receipts</span><strong>${r.harness_maintenance.counts.pruning_receipts}</strong></div>
|
|
816
|
+
<div class="metric"><span>Harness errors</span><strong>${r.harness_maintenance.counts.validation_errors}</strong></div>
|
|
817
|
+
</div>
|
|
818
|
+
<section class="boundary">
|
|
819
|
+
<strong>Authority boundary:</strong> this console cannot emit events, attach grants, merge, or close work.
|
|
820
|
+
</section>
|
|
821
|
+
<section>
|
|
822
|
+
<h2>Seat readiness</h2>
|
|
823
|
+
<p>Current seat: <code>${Sr(n)}</code></p>
|
|
824
|
+
</section>
|
|
825
|
+
<section>
|
|
826
|
+
<h2>Seat ownership</h2>
|
|
827
|
+
<ul>${i}</ul>
|
|
828
|
+
<h3>Validation</h3>
|
|
829
|
+
<ul>${_}</ul>
|
|
830
|
+
</section>
|
|
831
|
+
<section>
|
|
832
|
+
<h2>Recent ledger</h2>
|
|
833
|
+
<ul>${t}</ul>
|
|
834
|
+
</section>
|
|
835
|
+
<section>
|
|
836
|
+
<h2>Provisioning</h2>
|
|
837
|
+
<ul>${e}</ul>
|
|
838
|
+
</section>
|
|
839
|
+
<section>
|
|
840
|
+
<h2>Harness maintenance</h2>
|
|
841
|
+
<p>Keep ${r.harness_maintenance.counts.keep}; consolidate ${r.harness_maintenance.counts.consolidate}; quarantine ${r.harness_maintenance.counts.quarantine}; blocked ${r.harness_maintenance.counts.blocked}; delete-ready ${r.harness_maintenance.counts["delete-ready"]}.</p>
|
|
842
|
+
<h3>Pruning receipts</h3>
|
|
843
|
+
<ul>${c}</ul>
|
|
844
|
+
<h3>Validation</h3>
|
|
845
|
+
<ul>${o}</ul>
|
|
846
|
+
</section>
|
|
847
|
+
</main>
|
|
848
|
+
</body>
|
|
849
|
+
</html>`}async function SG(r,n,t){let e=Bun.serve({hostname:n,port:t,async fetch(i){let _=new URL(i.url);if(i.method!=="GET")return Response.json({error:"method_not_allowed"},{status:405});if(_.pathname==="/api/read-model")return Response.json(await C$(r));if(_.pathname!=="/"&&_.pathname!=="/index.html")return Response.json({error:"not_found"},{status:404});let c=await C$(r);return new Response(DG(c),{headers:{"content-type":"text/html; charset=utf-8"}})}});return console.log(`etiquette console listening on http://${e.hostname}:${e.port}/`),console.log("boundary: read-only GET surface; no grants, events, merge, or close"),new Promise(()=>{})}async function c1(r,n){let t=r[1];if(!t||!e1.has(t))throw Error(`console verb must be one of: ${[...e1].join(", ")}`);let e=UG(m(n,"project")??process.cwd());if(t==="snapshot"){let i=await C$(e,m(n,"at"));console.log(n.json?JSON.stringify(i,null,2):RG(i));return}if(t==="board"){console.log(await PS(e,m(n,"seat")));return}await SG(e,m(n,"host")??"127.0.0.1",OG(n.port))}Er();import{mkdir as EX,writeFile as $g}from"fs/promises";import{join as Tc,relative as lX,resolve as wi}from"path";function o1(r){return[...new Set(r)]}function aG(r){return r.missing.length>0&&r.missing.every((n)=>n==="grant_ref")}function TG(r,n){if(!n)return{supported:null,unsupported:null};return{supported:r.supported_strategies.includes(n),unsupported:r.unsupported_strategies.includes(n)}}function EG(r){if(!r)return null;return r.summary.unexpected_outcomes===0}function u1(r){let n=[],t=[...r.workflow.warnings],e="dispatch_ready",i=null,_=r.requestedStrategy??null,c=TG(r.seat,_),o=EG(r.sandboxReceipt);if(r.envelope.advisory_consensus_claims_authority)e="quarantine_hold",i="quarantine_hold",n.push("advisory_consensus_claims_authority");if(e==="dispatch_ready"&&r.seat.routing_recommendation!=="route_if_policy_allows")e="blocked_by_capability",n.push(`seat_routing_${r.seat.routing_recommendation}`);if(e==="dispatch_ready"&&r.seat.active_workers>=r.seat.max_recommended_workers)e="blocked_by_capability",n.push("seat_at_worker_capacity");if(e==="dispatch_ready"&&_&&c.unsupported&&r.mode.execution.strategy_policy==="required")e="blocked_by_capability",n.push("required_strategy_unsupported");else if(_&&c.unsupported)t.push("requested_strategy_unsupported_downshift_allowed");if(e==="dispatch_ready"&&r.workflow.recommendation==="block")if(aG(r.workflow))e="hold_for_grant",n.push("grant_ref_required");else if(r.workflow.missing.includes("validation_refs")||r.workflow.missing.includes("receipt_ref"))e="blocked_by_validation",n.push(...r.workflow.missing.filter((u)=>u==="validation_refs"||u==="receipt_ref"));else e="quarantine_hold",i="quarantine_hold",n.push(...r.workflow.missing);if(e==="dispatch_ready"&&r.mode.execution.rubric_required&&!r.sandboxReceipt)e="blocked_by_validation",n.push("sandbox_run_receipt_required");if(e==="dispatch_ready"&&o===!1)e="blocked_by_validation",n.push("sandbox_run_receipt_unexpected_outcomes");if(e==="dispatch_ready"&&r.mode.mode_type==="deliberative")i="sabbatical_improvement";return{schema:"operational-dispatch-decision.v0",task_ref:r.envelope.task_ref,seat:r.seat.seat,decision:e,reasons:o1(n),warnings:o1(t),profile_hint:i,inputs:{seat_readiness:{operational_status:r.seat.operational_status,routing_recommendation:r.seat.routing_recommendation,capability_trusted:r.seat.capability_trusted,model_tier:r.seat.model_tier,effective_model_tier:r.seat.effective_model_tier,active_workers:r.seat.active_workers,max_recommended_workers:r.seat.max_recommended_workers,is_stale:r.seat.is_stale},workflow_check:{mode_id:r.workflow.mode_id,mode_type:r.workflow.mode_type,recommendation:r.workflow.recommendation,missing:r.workflow.missing,warnings:r.workflow.warnings},strategy:{requested_strategy:_,policy:r.mode.execution.strategy_policy,supported:c.supported,unsupported:c.unsupported},rubric_receipt:{receipt_id:r.sandboxReceipt?.receipt_id??null,unexpected_outcomes:r.sandboxReceipt?.summary.unexpected_outcomes??null,accepted:o}},authority_boundary:{can_dispatch:!1,can_authorize:!1,can_attach_grant:!1,can_execute:!1,consumer_is_engine:!1}}}import{createHash as lG}from"crypto";import{readFile as qG}from"fs/promises";var $1=["success","partial","blocked","failed"],d1=["/Users/","/home/","$HOME","/private/","/tmp/"];function Z$(r,n){if(typeof r!=="string")throw Error(`${n} must be a string`);return r.trim()}function f1(r){return d1.some((n)=>r.includes(n))||/^[A-Za-z]:[\\/]/.test(r)||r.startsWith("/")||r.startsWith("\\")}function b1(r){return d1.some((n)=>r.includes(n))||/^[A-Za-z]:[\\/]/.test(r)}function x$(r){return/\.(local|lan|internal|intranet|localdomain)(\/.*)?$/i.test(r)||/^[0-9]{1,3}(\.[0-9]{1,3}){3}/.test(r)||/\b[0-9a-f]{1,4}:[0-9a-f]{1,4}:/i.test(r)}function p$(r){return/(api[_-]?key|secret|token|password|credential)/i.test(r)}function s$(r){return/(raw[_ -]?prompt|tool[_ -]?output|tool_use|assistant_thought|chain[_ -]?of[_ -]?thought)/i.test(r)}function NG(r,n){if(r.length===0)throw Error(`${n} must not be empty`);if(/[\s\x00-\x1f\x7f]/.test(r))throw Error(`${n} must not contain whitespace or control characters`);if(b1(r))throw Error(`${n} must not contain local path markers`);if(x$(r))throw Error(`${n} must not contain hostnames or IP addresses`);if(p$(r))throw Error(`${n} must not contain credential-shaped text`);if(s$(r))throw Error(`${n} must not contain prompt/tool-output markers`)}function qe(r,n,t){let e=Z$(r,n);if(e.length>t)throw Error(`${n} length must be <= ${t}`);if(NG(e,n),/[^A-Za-z0-9._:-]/.test(e))throw Error(`${n} contains unsafe characters`);return e}function Zy(r,n){let t=Z$(r,n);if(t.length>256)throw Error(`${n} length must be <= 256`);if(f1(t))throw Error(`${n} must be repo-relative and must not contain local path markers`);if(x$(t))throw Error(`${n} must not contain hostnames or IP addresses`);if(p$(t)||s$(t))throw Error(`${n} must not contain sensitive markers`);return t}function LG(r,n){let t=Z$(r,n);if(t.length>128)throw Error(`${n} length must be <= 128`);if(f1(t))throw Error(`${n} must not be an absolute path or local path marker`);if(x$(t))throw Error(`${n} must not contain hostnames or IP addresses`);if(p$(t)||s$(t))throw Error(`${n} must not contain sensitive markers`);return t}function w1(r){let n=r.trim().slice(0,200);if(b1(n)||x$(n))throw Error("--validation-summary must not contain path or hostname markers");if(p$(n)||s$(n))throw Error("--validation-summary must not contain sensitive markers");return n}function g1(r,n){if(!Array.isArray(r)||!r.every((t)=>typeof t==="string"))throw Error(`${n} must be a string array`);return r}function zG(r){if(r!=="dispatch_ready"&&r!=="hold_for_grant"&&r!=="blocked_by_capability"&&r!=="blocked_by_validation"&&r!=="quarantine_hold")throw Error("record.decision must be an operational dispatch decision");return r}function jG(r){if(!r||typeof r!=="object")throw Error("record.authority_boundary must be an object");let n=r,t=["can_dispatch","can_authorize","can_attach_grant","can_execute","consumer_is_engine"];for(let e of t)if(n[e]!==!1)throw Error(`record.authority_boundary.${e} must be false`);return n}function WG(r){if(!$1.includes(r))throw Error(`--status must be one of: ${$1.join(", ")}`);return r}function AG(r){return r==="dispatch_ready"?"success":"blocked"}function PG(r){let n=r.reasons.join(",")||"none",t=r.warnings.join(",")||"none";return w1(`dispatch=${r.decision}; reasons=${n}; warnings=${t}; authority=advisory-only`)}function JG(r,n){return`hosted-receipt:${lG("sha256").update(JSON.stringify({recordId:n,payload:r})).digest("hex").slice(0,12)}`}function kG(r){if(!r||typeof r!=="object")throw Error("record must be a YAML object");let n=r;if(n.schema!=="operational-dispatch-record.v0")throw Error("record schema must be operational-dispatch-record.v0");return{schema:"operational-dispatch-record.v0",record_id:qe(n.record_id,"record.record_id",128),recorded_at:Z$(n.recorded_at,"record.recorded_at"),recorded_by:qe(n.recorded_by,"record.recorded_by",64),task_ref:qe(n.task_ref,"record.task_ref",128),seat:qe(n.seat,"record.seat",64),decision:zG(n.decision),reasons:g1(n.reasons,"record.reasons"),warnings:g1(n.warnings,"record.warnings"),profile_hint:n.profile_hint,receipt_ref:Zy(n.receipt_ref,"record.receipt_ref"),ledger_ref:Zy(n.ledger_ref,"record.ledger_ref"),authority_boundary:jG(n.authority_boundary),source_decision:n.source_decision}}async function m1(r){return kG(ir(await qG(r,"utf-8")))}function I1(r){let n=r.status?WG(r.status):AG(r.record.decision),t={task_id:qe(r.record.task_ref,"hosted_payload.task_id",128),seat_id:qe(r.record.seat,"hosted_payload.seat_id",64),status:n,receipt_ref:Zy(r.receiptRef??r.record.receipt_ref,"hosted_payload.receipt_ref"),validation_summary:w1(r.validationSummary??PG(r.record))},e=r.artifactRef?LG(r.artifactRef,"hosted_payload.artifact_ref"):void 0;if(e)t.artifact_ref=e;return{schema:"hosted-receipt-metadata-projection.v0",projection_id:JG(t,r.record.record_id),source_schema:"operational-dispatch-record.v0",source_record_id:r.record.record_id,hosted_payload:t,authority_boundary:{hosted_plane_can_execute:!1,hosted_plane_can_authorize:!1,hosted_plane_can_attach_grant:!1,hosted_plane_can_change_local_ledger:!1},projection_boundary:{metadata_only:!0,raw_receipt_body_included:!1,source_decision_included:!1,local_paths_included:!1}}}import{createHash as YG}from"crypto";import{appendFile as QG,mkdir as R1,readFile as KG,writeFile as D1}from"fs/promises";import{dirname as S1,join as U1,relative as CG,resolve as py}from"path";var rg=["none","observed","changed","gap_found","reserved","closed","proved"];function vG(r){if(!Number.isFinite(Date.parse(r)))throw Error("ledger entry created_at must be an ISO-8601 timestamp")}function y1(r,n){if(!/^[A-Za-z0-9][A-Za-z0-9:._/@-]{0,255}$/.test(r))throw Error(`${n} must be a compact opaque or repo-relative ref`)}function MG(r){if(r.length===0||r.length>240||/\s{2,}/.test(r))throw Error("ledger entry summary must be compact and single-spaced")}function ng(r){if(r===void 0)return;if(r.length>8)throw Error("ledger entry topic_hints may contain at most 8 items");let n=new Set;for(let t of r){if(!/^[a-z0-9][a-z0-9-]{0,63}$/.test(t))throw Error("ledger entry topic_hints must be kebab-case slugs");if(n.has(t))throw Error("ledger entry topic_hints must not contain duplicates");n.add(t)}}function VG(r){return Object.values(r).reduce((n,t)=>n+(t?.length??0),0)}function FG(r){let n=[];for(let t of["lanes","commits","prs","bus","artifacts","receipts"])for(let e of r[t]??[])y1(e,`refs.${t}`),n.push(`${t}:${e}`);return n.join(",")||"none"}function xy(r){if(vG(r.created_at),y1(r.entry_id,"entry_id"),MG(r.summary),r.authority.grants_execution&&r.authority.class!=="grant")throw Error("only grant authority entries may set grants_execution=true");if(r.authority.class!=="advisory"&&VG(r.refs)===0)throw Error("non-advisory ledger entries require at least one durable ref")}function GG(r){if(xy(r),r.entry_type==="retroactive_import")throw Error("retroactive_import entries require schema ledger-entry.v0.2")}function XG(r){if(xy(r),ng(r.topic_hints),r.status_effect!==void 0&&!rg.includes(r.status_effect))throw Error("ledger entry status_effect is not supported");if(r.entry_type==="retroactive_import")throw Error("retroactive_import entries require schema ledger-entry.v0.2")}function BG(r){if(xy(r),ng(r.topic_hints),r.status_effect!==void 0&&!rg.includes(r.status_effect))throw Error("ledger entry status_effect is not supported");if(r.valid_time!==void 0){if(!Number.isFinite(Date.parse(r.valid_time)))throw Error("ledger entry valid_time must be an ISO-8601 timestamp");if(Date.parse(r.valid_time)>Date.parse(r.created_at))throw Error("ledger entry valid_time must not be after created_at (no future coverage, no backdated recording)")}if(r.valid_time_end!==void 0){if(r.valid_time===void 0)throw Error("ledger entry valid_time_end requires valid_time");if(!Number.isFinite(Date.parse(r.valid_time_end)))throw Error("ledger entry valid_time_end must be an ISO-8601 timestamp");if(Date.parse(r.valid_time_end)<Date.parse(r.valid_time))throw Error("ledger entry valid_time_end must not precede valid_time");if(Date.parse(r.valid_time_end)>Date.parse(r.created_at))throw Error("ledger entry valid_time_end must not be after created_at")}if(r.entry_type==="retroactive_import"){if(r.valid_time===void 0)throw Error("retroactive_import entries must declare valid_time");if((r.refs.commits?.length??0)+(r.refs.receipts?.length??0)+(r.refs.artifacts?.length??0)===0)throw Error("retroactive_import entries require contemporaneous evidence refs (commits, receipts, or artifacts)");if(r.authority.class!=="advisory"&&r.authority.class!=="audit")throw Error("retroactive_import entries must carry advisory or audit authority; late entries never mint grants")}}function HG(r){if(r.schema==="ledger-entry.v0.2"){BG(r);return}if(r.schema==="ledger-entry.v0.1"){XG(r);return}GG(r)}function h1(r,n={}){HG(r);let t=[`- ${r.created_at}`,`schema=${r.schema}`,`entry_id=${r.entry_id}`,`entry_type=${r.entry_type}`,`spine_eligible=${r.spine_eligible}`,`authority_class=${r.authority.class}`,`grants_execution=${r.authority.grants_execution}`,`export_class=${r.export_class}`,`refs=${FG(r.refs)}`];if(r.schema==="ledger-entry.v0.1"||r.schema==="ledger-entry.v0.2"){let e=r.topic_hints??[],i=r.status_effect??"none";if(e.length>0)t.push(`topic_hints=${e.join(",")}`);if(i!=="none")t.push(`status_effect=${i}`)}if(r.schema==="ledger-entry.v0.2"){if(r.valid_time!==void 0)t.push(`valid_time=${r.valid_time}`);if(r.valid_time_end!==void 0)t.push(`valid_time_end=${r.valid_time_end}`)}for(let[e,i]of Object.entries(n))t.push(`${e}=${i}`);return t.join(" ")}function ZG(r){if(!Number.isFinite(Date.parse(r)))throw Error("--at must be an ISO-8601 timestamp")}function xG(r){let n=r??new Date().toISOString();return ZG(n),new Date(n).toISOString()}function pG(r,n){if(!/^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$/.test(r))throw Error(`${n} must be an opaque id using letters, numbers, hyphen, or underscore`)}function O1(r,n){let t=py(r),e=py(n),i=CG(t,e);if(i.length===0||i.startsWith("..")||i.includes("\\"))throw Error(`path must stay inside project root: ${n}`);return i}function sG(r,n){return YG("sha256").update(JSON.stringify({decision:r,recordedAt:n})).digest("hex").slice(0,12)}function rX(r){return UD(r).slice(0,48)||"task"}async function nX(r){await R1(S1(r),{recursive:!0});try{await KG(r,"utf-8")}catch(n){if(n.code!=="ENOENT")throw n;await D1(r,`# Local Ledger
|
|
850
|
+
|
|
851
|
+
`)}}function tX(r){let n=r.reasons.join(",")||"none",t={schema:"ledger-entry.v0",entry_id:`ledger-entry:${r.record_id}`,created_at:r.recorded_at,entry_type:"decision",spine_eligible:!0,authority:{class:"advisory",grants_execution:!1},refs:{receipts:[r.receipt_ref]},export_class:"workspace_shared",summary:`dispatch ${r.decision} for ${r.task_ref}`};return h1(t,{task:r.task_ref,seat:r.seat,decision:r.decision,reasons:n,receipt:r.receipt_ref,authority:"advisory-only"})}async function a1(r){let n=py(r.projectRoot),t=xG(r.at),e=r.recordedBy??r.decision.seat;pG(e,"--recorded-by");let i=rX(r.decision.task_ref),_=sG(r.decision,t),c=`dispatch-record:${i}:${_}`,o=t.replace(/[:.]/g,"-"),u=U1(n,"docs","work","receipts",`${o}-${i}-${_}.yaml`),$=U1(n,"docs","work","ledger","LEDGER.md"),g=O1(n,u),d=O1(n,$),f={schema:"operational-dispatch-record.v0",record_id:c,recorded_at:t,recorded_by:e,task_ref:r.decision.task_ref,seat:r.decision.seat,decision:r.decision.decision,reasons:r.decision.reasons,warnings:r.decision.warnings,profile_hint:r.decision.profile_hint,receipt_ref:g,ledger_ref:d,authority_boundary:r.decision.authority_boundary,source_decision:r.decision};return await R1(S1(u),{recursive:!0}),await D1(u,wn(f)),await nX($),await QG($,`${tX(f)}
|
|
852
|
+
`),{record:f,receiptPath:u,ledgerPath:$}}import{readFile as iX}from"fs/promises";import{extname as eX}from"path";var T1=["rubric_candidate","active_rubric","retired"],E1=["block","warn","info"],l1=["deterministic","reviewer_judgment","external_tool"],Dc=["local_path","hostname","credential","raw_prompt","raw_tool_output","source_snippet","uncited_claim","unsupported_schema_field"],q1=["known_bad","known_good"],tg=["pass","warn","reject"],Lt=["local","sandbox-isolated"],ig=["schema_valid_rubric","schema_valid_fixture_set","sandbox_run_receipt","known_bad_rejection","known_good_acceptance"];function _X(r){return typeof r==="object"&&r!==null&&!Array.isArray(r)}async function eg(r){let n=await iX(r,"utf-8");if(eX(r).toLowerCase()===".json")return JSON.parse(n);return ir(n)}function zt(r,n){if(!_X(r))throw Error(`${n} must be an object`);return r}function hr(r,n){let t=r[n];if(typeof t!=="string"||t.trim().length===0)throw Error(`${n} must be a non-empty string`);return t}function Le(r,n){let t=r[n];if(t===void 0)return[];if(!Array.isArray(t)||t.some((e)=>typeof e!=="string"))throw Error(`${n} must be a string array`);return t}function ze(r,n){let t=r[n];if(!Array.isArray(t)||t.some((e)=>typeof e!=="string"))throw Error(`${n} must be a string array`);return t}function Zr(r,n,t){if(typeof n!=="string"||!r.includes(n))throw Error(`${t} must be one of: ${r.join(", ")}`);return n}function cX(r,n){return ze(r,n).map((t)=>Zr(Dc,t,`${n}[]`))}function yn(r,n){J(r,n)}function hn(r,n){X(r,n)}function Ne(r,n){let t=rr(r).filter((e)=>e!=="contains_raw_prompt"&&e!=="contains_raw_tool_output");if(t.length>0)throw Error(`${n} contains restricted shared-memory content: ${t.join(", ")}`)}function Sc(r,n){if(!/^\d+\.\d+\.\d+(?:[-+][A-Za-z0-9_.-]+)?$/.test(r))throw Error(`${n} must be semver-like (x.y.z)`)}function N1(r,n){let t=Le(r,n);for(let e of t)hn(e,`${n}[]`);return t}function oX(r){if(!Array.isArray(r)||r.length===0)throw Error("checks must be a non-empty array");return r.map((n,t)=>{let e=zt(n,`checks[${t}]`),i={check_id:hr(e,"check_id"),description:hr(e,"description"),severity:Zr(E1,e.severity,"severity"),evaluation:Zr(l1,e.evaluation,"evaluation"),evidence_required:ze(e,"evidence_required")};yn(i.check_id,"check_id"),Ne(i.description,"description");for(let _ of i.evidence_required)yn(_,"evidence_required[]");return i})}function uX(r){let n=hr(r,"rubric_id"),t=hr(r,"rubric_version");yn(n,"rubric_id"),Sc(t,"rubric_version");let e=hr(r,"owner_principal_ref");return hn(e,"owner_principal_ref"),{rubric_id:n,rubric_version:t,known_bad_fixtures:N1(r,"known_bad_fixtures"),known_good_fixtures:N1(r,"known_good_fixtures"),owner_principal_ref:e,status:Zr(T1,r.status,"status")}}function $X(r){let n=zt(r,"rubric"),t=uX(n);if(typeof n.protocol_surface==="string"){let i=zt(n.failure_semantics,"failure_semantics"),_={kind:"conformance",...t,protocol_surface:hr(n,"protocol_surface"),schema_refs:ze(n,"schema_refs"),forbidden_content_classes:cX(n,"forbidden_content_classes"),citation_rules:Le(n,"citation_rules"),sanitizer_expectations:Le(n,"sanitizer_expectations"),failure_semantics:{on_reject:Zr(["block","warn"],i.on_reject,"failure_semantics.on_reject"),on_uncertain:Zr(["warn","require_review"],i.on_uncertain,"failure_semantics.on_uncertain")}};if(yn(_.protocol_surface,"protocol_surface"),_.schema_refs.length===0)throw Error("schema_refs must not be empty");for(let c of _.schema_refs)hn(c,"schema_refs[]");for(let c of _.citation_rules)Ne(c,"citation_rules[]");for(let c of _.sanitizer_expectations)Ne(c,"sanitizer_expectations[]");return _}let e={kind:"validation",...t,domain:hr(n,"domain"),artifact_type:hr(n,"artifact_type"),title:hr(n,"title"),summary:hr(n,"summary"),checks:oX(n.checks),evidence_requirements:ze(n,"evidence_requirements")};yn(e.domain,"domain"),yn(e.artifact_type,"artifact_type"),Ne(e.title,"title"),Ne(e.summary,"summary");for(let i of e.evidence_requirements)yn(i,"evidence_requirements[]");return e}async function _g(r){return $X(await eg(r))}function gX(r){if(r.input!==void 0)return r.input;if(r.input_text!==void 0)return r.input_text;if(r.artifact!==void 0)return r.artifact;if(r.payload!==void 0)return r.payload;if(r.metadata!==void 0)return r.metadata;if(r.sample!==void 0)return r.sample;return}function dX(r,n){let t=zt(r,`fixtures[${n}]`),e={fixture_id:hr(t,"fixture_id"),fixture_version:hr(t,"fixture_version"),content_class:Zr(Dc,t.content_class,"content_class"),fixture_kind:Zr(q1,t.fixture_kind,"fixture_kind"),artifact_type:hr(t,"artifact_type"),input_ref:hr(t,"input_ref"),expected:Zr(tg,t.expected,"expected"),rationale:hr(t,"rationale"),input:gX(t)};return yn(e.fixture_id,"fixture_id"),Sc(e.fixture_version,"fixture_version"),yn(e.artifact_type,"artifact_type"),hn(e.input_ref,"input_ref"),Ne(e.rationale,"rationale"),e}function fX(r){let n=zt(r,"fixture_set"),t=n.fixtures;if(!Array.isArray(t)||t.length===0)throw Error("fixtures must be a non-empty array");let e={fixture_set_id:hr(n,"fixture_set_id"),fixture_set_version:typeof n.fixture_set_version==="string"?n.fixture_set_version:"0.1.0",fixtures:t.map(dX)};return hn(e.fixture_set_id,"fixture_set_id"),Sc(e.fixture_set_version,"fixture_set_version"),e}async function L1(r){return fX(await eg(r))}function sy(r){if(r.schema!=="sandbox-run-receipt.v0")throw Error("receipt schema must be sandbox-run-receipt.v0");if(hn(r.receipt_id,"receipt_id"),yn(r.rubric_id,"rubric_id"),Sc(r.rubric_version,"rubric_version"),hn(r.fixture_set_ref,"fixture_set_ref"),!Number.isFinite(Date.parse(r.run_at)))throw Error("run_at must be an ISO-8601 timestamp");if(hn(r.run_by,"run_by"),Zr(Lt,r.run_environment,"run_environment"),!Array.isArray(r.results))throw Error("results must be an array");for(let[t,e]of r.results.entries())yn(e.fixture_id,`results[${t}].fixture_id`),Zr(tg,e.expected,`results[${t}].expected`),Zr(tg,e.actual,`results[${t}].actual`),hn(e.reason,`results[${t}].reason`);let n=rr(JSON.stringify(r));if(n.length>0)throw Error(`sandbox receipt contains restricted shared content: ${n.join(", ")}`)}function bX(r){let n=zt(r,"sandbox_run_receipt");return sy(n),n}async function cg(r){return bX(await eg(r))}function wX(r){let n=zt(r,"promotion_policy"),t=zt(n.applies_to,"applies_to"),e={policy_id:hr(n,"policy_id"),policy_version:hr(n,"policy_version"),applies_to:{domains:Le(t,"domains"),artifact_types:Le(t,"artifact_types"),protocol_surfaces:Le(t,"protocol_surfaces")},proposer_actor:hr(n,"proposer_actor"),reviewer_set:ze(n,"reviewer_set"),required_evidence:ze(n,"required_evidence").map((i)=>Zr(ig,i,"required_evidence[]")),grant_ref:n.grant_ref===null||n.grant_ref===void 0?null:hr(n,"grant_ref"),activation_status:Zr(["proposed","ready_for_grant","active","rejected","retired"],n.activation_status,"activation_status")};yn(e.policy_id,"policy_id"),Sc(e.policy_version,"policy_version"),hn(e.proposer_actor,"proposer_actor");for(let i of e.reviewer_set)hn(i,"reviewer_set[]");if(e.grant_ref)hn(e.grant_ref,"grant_ref");return e}async function z1(r){return wX(await eg(r))}function mX(r,n){return n===r.mode_id||n===`workflow-mode:${r.mode_id}`}function Wr(r,n,t){return{check_id:n,status:r,summary:t}}function IX(r,n){if(r.length>0)return"block";if(n.length>0)return"warn";return"pass"}function j1(r){if(r==="deliberative")return{mode_type:r,summary:"Slow, human-reviewed, grant-heavy workflow posture.",use_when:["doctrine","architecture","security posture","subjective tradeoffs"],boundary:["consensus recommends only","explicit grant required before mutation","dissent must be preserved"]};if(r==="expedient")return{mode_type:r,summary:"Fast, bounded, rubric-heavy, evidence-first workflow posture.",use_when:["health checks","fixture runs","known-safe mechanical work","local status probes"],boundary:["not a shortcut","not lower safety","requires bounded scope, validation, and receipt proof"]};return{mode_type:r,summary:"Slow upstream drafting, explicit grant hinge, fast local execution, receipt proof.",use_when:["current v3/Etiquette implementation lanes","reviewed doctrine feeding bounded local execution"],boundary:["grant_ref is the phase boundary","execution cannot begin before the grant hinge when mutating state"]}}function og(r,n){let t=[],e=[],i=[];if(!mX(r,n.workflow_mode_ref))e.push("workflow_mode_ref_mismatch"),i.push(Wr("warn","workflow_mode_ref_matches","Envelope workflow_mode_ref does not match the loaded mode id."));else i.push(Wr("pass","workflow_mode_ref_matches","Envelope references the loaded workflow mode."));if(n.requested_mode_type!==r.mode_type)t.push("requested_mode_type"),i.push(Wr("block","requested_mode_type_matches","Envelope requested mode type does not match loaded mode."));else i.push(Wr("pass","requested_mode_type_matches","Envelope requested mode type matches loaded mode."));if(n.advisory_consensus_claims_authority)t.push("advisory_consensus_claims_authority_false"),i.push(Wr("block","advisory_consensus_not_authority","Advisory consensus cannot authorize work."));else i.push(Wr("pass","advisory_consensus_not_authority","No advisory consensus authority claim present."));if(n.mutates_state&&r.grant.required&&!n.grant_ref)t.push("grant_ref"),i.push(Wr("block","grant_hinge_satisfied","Mutating execution under this mode requires grant_ref."));else i.push(Wr("pass","grant_hinge_satisfied","Grant hinge is satisfied or not required for this envelope."));if(n.mutates_state&&r.proof.receipt_required&&!n.receipt_ref)t.push("receipt_ref"),i.push(Wr("block","receipt_proof_declared","Mutating execution requires a receipt_ref or receipt plan."));else i.push(Wr("pass","receipt_proof_declared","Receipt proof is declared or not required."));if(r.proof.validation_required&&n.validation_refs.length===0)t.push("validation_refs"),i.push(Wr("block","validation_evidence_present","Mode requires validation evidence refs."));else i.push(Wr("pass","validation_evidence_present","Validation evidence is present or not required."));if(r.mode_type==="expedient"){if(!n.bounded)t.push("bounded");if(!n.preauthorized)t.push("preauthorized");if(n.risk==="high")t.push("risk_not_high");i.push(Wr(n.bounded&&n.preauthorized&&n.risk!=="high"?"pass":"block","expedient_claim_is_valid","Expedient mode requires bounded scope, preauthorization, non-high risk, validation, and receipt proof."))}if(r.mode_type==="deliberative"&&r.drafting.requires_review&&!n.consensus_ref)e.push("deliberative_without_consensus_ref"),i.push(Wr("warn","deliberative_review_visible","Deliberative mode should cite consensus or review state."));if(r.mode_type==="mixed"&&r.execution.dispatch==="immediate_after_grant"&&n.mutates_state&&!n.grant_ref){if(!t.includes("grant_ref"))t.push("grant_ref");i.push(Wr("block","mixed_grant_before_execution","Mixed mode cannot execute mutating work before grant_ref."))}else if(r.mode_type==="mixed")i.push(Wr("pass","mixed_grant_before_execution","Mixed grant hinge is satisfied or work is non-mutating."));return{schema:"workflow-check-receipt.v0",task_ref:n.task_ref,mode_id:r.mode_id,mode_type:r.mode_type,recommendation:IX([...new Set(t)],[...new Set(e)]),missing:[...new Set(t)],warnings:[...new Set(e)],checks:i,authority_boundary:{can_authorize:!1,can_attach_grant:!1,consensus_can_authorize:!1,mode_is_engine:!1,requires_grant:r.grant.required}}}import{readFile as yX}from"fs/promises";import{extname as hX}from"path";var je=["deliberative","expedient","mixed"],W1=["manual","immediate","immediate_after_grant"],A1=["executor_selected","suggested","required"],P1=["operator_principal","delegated_control_seat"],J1=["low","medium","high"];function UX(r){return typeof r==="object"&&r!==null&&!Array.isArray(r)}async function k1(r){let n=await yX(r,"utf-8");if(hX(r).toLowerCase()===".json")return JSON.parse(n);return ir(n)}function fi(r,n){if(!UX(r))throw Error(`${n} must be an object`);return r}function We(r,n){let t=r[n];if(typeof t!=="string"||t.trim().length===0)throw Error(`${n} must be a non-empty string`);return t}function rh(r,n){let t=r[n];if(t===null||t===void 0)return null;if(typeof t!=="string"||t.trim().length===0)throw Error(`${n} must be null or a non-empty string`);return t}function OX(r,n){let t=r[n];if(!Array.isArray(t)||t.some((e)=>typeof e!=="string"))throw Error(`${n} must be a string array`);return t}function Nr(r,n){let t=r[n];if(typeof t!=="boolean")throw Error(`${n} must be a boolean`);return t}function RX(r,n){let t=r[n];if(typeof t!=="number"||!Number.isInteger(t)||t<0)throw Error(`${n} must be a non-negative integer`);return t}function bi(r,n,t){if(typeof n!=="string"||!r.includes(n))throw Error(`${t} must be one of: ${r.join(", ")}`);return n}function DX(r,n){if(!/^\d+\.\d+\.\d+(?:[-+][A-Za-z0-9_.-]+)?$/.test(r))throw Error(`${n} must be semver-like (x.y.z)`)}function nh(r,n){if(r!==null)X(r,n)}function SX(r){if(r.authority_status!=="policy_preset_only")throw Error("authority_status must be policy_preset_only");if(r.grant.advisory_consensus_can_authorize!==!1)throw Error("grant.advisory_consensus_can_authorize must be false");if(r.drafting.min_reviewers>0&&!r.drafting.requires_review)throw Error("drafting.min_reviewers requires drafting.requires_review");if(r.mode_type==="mixed"&&r.execution.dispatch==="immediate")throw Error("mixed mode must not dispatch immediate before a grant hinge");if(r.mode_type==="expedient"&&!r.proof.receipt_required)throw Error("expedient mode must require receipt proof");if(r.mode_type==="expedient"&&!r.proof.validation_required)throw Error("expedient mode must require validation evidence")}function aX(r){let n=fi(r,"workflow_mode"),t=fi(n.drafting,"drafting"),e=fi(n.grant,"grant"),i=fi(n.execution,"execution"),_=fi(n.proof,"proof"),c=fi(n.audit,"audit"),o={mode_id:We(n,"mode_id"),mode_version:We(n,"mode_version"),mode_type:bi(je,n.mode_type,"mode_type"),drafting:{surface:We(t,"surface"),requires_review:Nr(t,"requires_review"),min_reviewers:RX(t,"min_reviewers"),amendment_rounds_allowed:Nr(t,"amendment_rounds_allowed"),adversarial_review_required:Nr(t,"adversarial_review_required"),compact_reason_required:Nr(t,"compact_reason_required")},grant:{required:Nr(e,"required"),preauthorization_allowed:Nr(e,"preauthorization_allowed"),granted_by:bi(P1,e.granted_by,"granted_by"),advisory_consensus_can_authorize:Nr(e,"advisory_consensus_can_authorize")},execution:{surface:We(i,"surface"),dispatch:bi(W1,i.dispatch,"dispatch"),strategy_policy:bi(A1,i.strategy_policy,"strategy_policy"),rubric_required:Nr(i,"rubric_required")},proof:{receipt_required:Nr(_,"receipt_required"),validation_required:Nr(_,"validation_required"),closeout_requires_receipt:Nr(_,"closeout_requires_receipt")},audit:{event_log_required:Nr(c,"event_log_required"),dissent_capture_required:Nr(c,"dissent_capture_required")},authority_status:bi(["policy_preset_only"],n.authority_status,"authority_status")};return J(o.mode_id,"mode_id"),DX(o.mode_version,"mode_version"),J(o.drafting.surface,"drafting.surface"),J(o.execution.surface,"execution.surface"),SX(o),o}async function ac(r){return aX(await k1(r))}function TX(r){let n=fi(r,"workflow_check_envelope"),t={task_ref:We(n,"task_ref"),workflow_mode_ref:We(n,"workflow_mode_ref"),requested_mode_type:bi(je,n.requested_mode_type,"requested_mode_type"),mutates_state:Nr(n,"mutates_state"),grant_ref:rh(n,"grant_ref"),consensus_ref:rh(n,"consensus_ref"),receipt_ref:rh(n,"receipt_ref"),validation_refs:OX(n,"validation_refs"),bounded:Nr(n,"bounded"),preauthorized:Nr(n,"preauthorized"),advisory_consensus_claims_authority:Nr(n,"advisory_consensus_claims_authority"),risk:bi(J1,n.risk,"risk")};X(t.task_ref,"task_ref"),X(t.workflow_mode_ref,"workflow_mode_ref"),nh(t.grant_ref,"grant_ref"),nh(t.consensus_ref,"consensus_ref"),nh(t.receipt_ref,"receipt_ref");for(let e of t.validation_refs)X(e,"validation_refs[]");return t}async function ug(r){return TX(await k1(r))}var v1=new Set(["check","record","projection","scaffold"]);function M1(r){return r==="dispatch"}function qX(r){return["operational_dispatch_decision:",` task_ref: ${r.task_ref}`,` seat: ${r.seat}`,` decision: ${r.decision}`,` reasons: ${r.reasons.join(", ")||"none"}`,` warnings: ${r.warnings.join(", ")||"none"}`,` profile_hint: ${r.profile_hint??"none"}`,` seat_routing: ${r.inputs.seat_readiness.routing_recommendation}`,` workflow_recommendation: ${r.inputs.workflow_check.recommendation}`,` rubric_receipt_accepted: ${String(r.inputs.rubric_receipt.accepted)}`,` can_dispatch: ${String(r.authority_boundary.can_dispatch)}`,` can_authorize: ${String(r.authority_boundary.can_authorize)}`,` consumer_is_engine: ${String(r.authority_boundary.consumer_is_engine)}`].join(`
|
|
853
|
+
`)}function NX(r){return["operational_dispatch_record:",` record_id: ${r.record.record_id}`,` task_ref: ${r.record.task_ref}`,` seat: ${r.record.seat}`,` decision: ${r.record.decision}`,` reasons: ${r.record.reasons.join(", ")||"none"}`,` warnings: ${r.record.warnings.join(", ")||"none"}`,` receipt_ref: ${r.record.receipt_ref}`,` ledger_ref: ${r.record.ledger_ref}`,` can_execute: ${String(r.record.authority_boundary.can_execute)}`].join(`
|
|
854
|
+
`)}function LX(r){let n=r.hosted_payload;return["hosted_receipt_metadata_projection:",` projection_id: ${r.projection_id}`,` source_record_id: ${r.source_record_id}`,` task_id: ${n.task_id}`,` seat_id: ${n.seat_id}`,` status: ${n.status}`,` artifact_ref: ${n.artifact_ref??"none"}`,` receipt_ref: ${n.receipt_ref}`,` validation_summary: ${n.validation_summary}`," boundary: metadata-only; hosted plane cannot execute, authorize, attach grants, or mutate the local ledger"].join(`
|
|
855
|
+
`)}function zX(r,n){let t=new Date(r);if(Number.isNaN(t.getTime()))throw Error("--at must be an ISO-8601 timestamp");return t.setUTCHours(t.getUTCHours()+n),t.toISOString()}function Ec(r,n){let t=lX(r,n);return t&&!t.startsWith("..")?t:n}function jX(r){return["dispatch_scaffold:",` out: ${r.out_ref}`,` mode: ${r.files.mode_ref}`,` task: ${r.files.task_ref}`,` sandbox_receipt: ${r.files.sandbox_receipt_ref}`,` state: ${r.files.state_ref}`,` check_command: ${r.check_command}`," boundary: scaffold only; does not record dispatch, authorize, grant, merge, close, or execute"].join(`
|
|
856
|
+
`)}async function WX(r){let n=wi(m(r,"project")??process.cwd()),t=m(r,"task-id")??m(r,"task")??"APP-001",e=m(r,"seat")??"codex-seat",i=m(r,"mode-id")??"dispatch-mixed-mode-v0",_=m(r,"strategy")??"local_adversarial_tango",c=m(r,"at")??new Date().toISOString(),o=wi(m(r,"out")??Tc(n,"docs","work","dispatch",t)),u=Tc(o,"mode.yaml"),$=Tc(o,"task.yaml"),g=Tc(o,"receipt.yaml"),d=Tc(o,"seat-readiness.json"),f=`sandbox-run:${t}`,b=`mode_id: ${i}
|
|
857
|
+
mode_version: 0.1.0
|
|
858
|
+
mode_type: mixed
|
|
859
|
+
drafting:
|
|
860
|
+
surface: coordination-ledger
|
|
861
|
+
requires_review: true
|
|
862
|
+
min_reviewers: 1
|
|
863
|
+
amendment_rounds_allowed: true
|
|
864
|
+
adversarial_review_required: false
|
|
865
|
+
compact_reason_required: false
|
|
866
|
+
grant:
|
|
867
|
+
required: true
|
|
868
|
+
preauthorization_allowed: false
|
|
869
|
+
granted_by: operator_principal
|
|
870
|
+
advisory_consensus_can_authorize: false
|
|
871
|
+
execution:
|
|
872
|
+
surface: local-etiquette
|
|
873
|
+
dispatch: immediate_after_grant
|
|
874
|
+
strategy_policy: executor_selected
|
|
875
|
+
rubric_required: true
|
|
876
|
+
proof:
|
|
877
|
+
receipt_required: true
|
|
878
|
+
validation_required: true
|
|
879
|
+
closeout_requires_receipt: true
|
|
880
|
+
audit:
|
|
881
|
+
event_log_required: true
|
|
882
|
+
dissent_capture_required: true
|
|
883
|
+
authority_status: policy_preset_only
|
|
884
|
+
`,I=`task_ref: task:${t}
|
|
885
|
+
workflow_mode_ref: workflow-mode:${i}
|
|
886
|
+
requested_mode_type: mixed
|
|
887
|
+
mutates_state: true
|
|
888
|
+
grant_ref: grant:${t}
|
|
889
|
+
consensus_ref: consensus:${t}
|
|
890
|
+
receipt_ref: receipt:${t}
|
|
891
|
+
validation_refs:
|
|
892
|
+
- ${f}
|
|
893
|
+
bounded: true
|
|
894
|
+
preauthorized: false
|
|
895
|
+
advisory_consensus_claims_authority: false
|
|
896
|
+
risk: medium
|
|
897
|
+
`,w=`schema: sandbox-run-receipt.v0
|
|
898
|
+
receipt_id: ${f}
|
|
899
|
+
rubric_id: ${t}
|
|
900
|
+
rubric_version: 0.1.0
|
|
901
|
+
fixture_set_ref: fixture-set:${t}
|
|
902
|
+
results:
|
|
903
|
+
- fixture_id: ready
|
|
904
|
+
expected: pass
|
|
905
|
+
actual: pass
|
|
906
|
+
reason: scaffolded receipt example
|
|
907
|
+
summary:
|
|
908
|
+
total_fixtures: 1
|
|
909
|
+
known_bad_rejected: 0
|
|
910
|
+
known_good_accepted: 1
|
|
911
|
+
unexpected_outcomes: 0
|
|
912
|
+
run_at: ${c}
|
|
913
|
+
run_by: ${e}
|
|
914
|
+
run_environment: local
|
|
915
|
+
`,h={schema_version:"seat-readiness.v0.1",seat:e,seat_type:"control_seat",execution_surface:"local-etiquette",declared_by:"config",capability_source:"local_validation",capability_trusted:!0,operational_status:"operational",model_tier:"local_unknown",model_id:"local-session",active_workers:0,max_recommended_workers:1,supports_parallel:!1,supported_strategies:[_],unsupported_strategies:[],constraints:["scaffold-example"],last_checked_at:c,last_heartbeat_at:c,ttl_seconds:86400,stale_after:zX(c,24)};await EX(o,{recursive:!0}),await $g(u,b),await $g($,I),await $g(g,w),await $g(d,`${JSON.stringify(h,null,2)}
|
|
916
|
+
`);let R={mode_ref:Ec(n,u),task_ref:Ec(n,$),sandbox_receipt_ref:Ec(n,g),state_ref:Ec(n,d)};return{schema:"dispatch-scaffold.v0",out_ref:Ec(n,o),task_id:t,seat:e,files:R,check_command:`etiquette dispatch check --project . --mode ${R.mode_ref} --task ${R.task_ref} --sandbox-receipt ${R.sandbox_receipt_ref} --state ${R.state_ref} --strategy ${_}`,authority_boundary:{scaffold_only:!0,can_record_dispatch:!1,can_authorize:!1,can_attach_grant:!1,can_execute:!1,can_merge:!1,can_close:!1}}}async function V1(r,n){let t=r[1];if(!t||!v1.has(t))throw Error(`dispatch verb must be one of: ${[...v1].join(", ")}`);let e=Boolean(n.json);if(t==="scaffold"){let d=await WX(n);console.log(e?JSON.stringify(d,null,2):jX(d));return}if(t==="projection"){let d=await m1(wi(O(n,"record"))),f=I1({record:d,artifactRef:m(n,"artifact-ref"),receiptRef:m(n,"receipt-ref"),status:m(n,"status"),validationSummary:m(n,"validation-summary")});console.log(e?JSON.stringify(f,null,2):LX(f));return}let i=wi(m(n,"project")??process.cwd()),_=await ac(wi(O(n,"mode"))),c=await ug(wi(O(n,"task"))),o=Ie(await ci(i,m(n,"state")),m(n,"at")),u=m(n,"sandbox-receipt"),$=u?await cg(wi(u)):null,g=u1({seat:o,mode:_,envelope:c,workflow:og(_,c),sandboxReceipt:$,requestedStrategy:m(n,"strategy")});if(t==="record"){let d=await a1({projectRoot:i,decision:g,recordedBy:m(n,"recorded-by"),at:m(n,"at")});console.log(e?JSON.stringify(d.record,null,2):NX(d));return}console.log(e?JSON.stringify(g,null,2):qX(g))}Er();import{resolve as th}from"path";var F1=new Set(["receipt","inventory","canary"]);function G1(r){return r==="harness"}function AX(r){return["harness_prune_receipt:",` receipt_id: ${r.receipt_id}`,` object_id: ${r.object_id}`,` verdict: ${r.verdict}`,` proposed_disposition: ${r.proposed_disposition}`,` canary_verdict: ${r.canary.verdict}`,` can_authorize_pruning: ${String(r.authority_boundary.receipt_can_authorize_pruning)}`,` human_disposition_required: ${String(r.authority_boundary.human_disposition_required)}`].join(`
|
|
917
|
+
`)}function PX(r){return["harness_canary:",` object_id: ${r.object_id}`,` verdict: ${r.verdict}`,` required: ${r.required_canaries.join(", ")}`,` observed: ${r.observed_canaries.join(", ")}`,` missing: ${r.missing_canaries.join(", ")||"none"}`].join(`
|
|
918
|
+
`)}function JX(r){return["harness_inventory:",` item_count: ${r.item_count}`,` keep: ${r.counts.keep}`,` consolidate: ${r.counts.consolidate}`,` quarantine: ${r.counts.quarantine}`,` delete_ready: ${r.counts["delete-ready"]}`,` blocked: ${r.counts.blocked}`,` can_delete: ${String(r.authority_boundary.inventory_can_delete)}`,` pruning_receipt_required: ${String(r.authority_boundary.pruning_receipt_required)}`,...r.items.map((n)=>` - ${n.object_id}: ${n.suggested_disposition} (${n.reason})`)].join(`
|
|
919
|
+
`)}async function X1(r,n){let t=r[1];if(!t||!F1.has(t))throw Error(`harness verb must be one of: ${[...F1].join(", ")}`);let e=Boolean(n.json);if(t==="receipt"){let _=await B$(th(O(n,"receipt")));console.log(e?JSON.stringify(_,null,2):AX(_));return}if(t==="canary"){let _=await My(th(O(n,"receipt"))),c=X$(_);console.log(e?JSON.stringify(c,null,2):PX(c));return}let i=await H$(th(O(n,"manifest")));if(m(n,"project"));console.log(e?JSON.stringify(i,null,2):JX(i))}import{randomUUID as BX}from"crypto";import{homedir as HX}from"os";import{appendFileSync as kX,existsSync as ix,mkdirSync as B1,rmdirSync as vX}from"fs";import{join as ih}from"path";function H1(r,n){return ih(r,".etiquette","state","workspaces",n)}function MX(r,n){return ih(H1(r,n),"outbox.ndjson")}var VX=".outbox.lock",Y1=100,FX=50;function GX(r){for(let n=0;n<Y1;n+=1)try{return B1(r),!0}catch{let t=Date.now()+FX;while(Date.now()<t);}return!1}function XX(r){try{vX(r)}catch{}}function Q1(r,n,t){let e=H1(r,n);try{B1(e,{recursive:!0})}catch(c){return{written:!1,reason:`outbox-dir-unavailable: ${c.message}`}}let i=ih(e,VX);if(!GX(i))return{written:!1,reason:`lock-timeout after ${Y1} attempts`};let _=MX(r,n);try{return kX(_,`${JSON.stringify(t)}
|
|
920
|
+
`,"utf-8"),{written:!0}}catch(c){return{written:!1,reason:`append-failed: ${c.message}`}}finally{XX(i)}}var gg=["session_start","user_prompt_submit","post_tool_use","stop","session_end"],K1={session_start:"seat:session_started",user_prompt_submit:"trace:prompt_boundary",post_tool_use:"trace:tool_used",stop:"playback:candidate_observed",session_end:"seat:session_completed"};var YX="ETIQUETTE_HOOKS_ENABLED",QX="ETIQUETTE_WORKSPACE_ID";function C1(r){let n=r.enabled_env??YX,t=r.workspace_env??QX;if(process.env[n]!=="1")return{status:"disabled"};let e=(r.workspace_id??process.env[t])?.trim();if(!e||e.trim()==="")return{status:"skipped",reasons:[`no-workspace-id (set ${t} env var or pass --workspace)`]};try{J(e,"workspace_id")}catch(d){return{status:"skipped",reasons:[`invalid-workspace-id: ${d.message}`]}}let i=r.payload??{},_={},c=[];for(let[d,f]of Object.entries(i))if(typeof f==="string"){let b=rr(f);if(b.length>0){c.push(`${d}(${b.join(",")})`);continue}_[d]=f}else if(typeof f==="number"||typeof f==="boolean"||f===null)_[d]=f;else c.push(`${d}(non-scalar)`);let o={event_id:BX(),stage:r.stage,event_type:K1[r.stage],occurred_at:new Date().toISOString(),workspace_id:e,payload:_},u=r.home??HX(),$=Q1(u,e,o);if(!$.written)return{status:"skipped",reasons:[$.reason??"outbox-write-failed"]};let g=c.length>0?[`sanitizer-stripped: ${c.join(", ")}`]:void 0;return{status:"written",event_id:o.event_id,reasons:g}}Er();function Z1(r){return r==="hook"}async function x1(r,n){let t=r[1];if(!t)console.error(`hook: missing stage (one of: ${gg.join(", ")})`),process.exit(2);if(!gg.includes(t))console.error(`hook: unknown stage "${t}"; expected one of: ${gg.join(", ")}`),process.exit(2);let e=m(n,"workspace"),i=m(n,"payload"),_={};if(i)try{let o=JSON.parse(i);if(typeof o!=="object"||o===null||Array.isArray(o))throw Error("payload must be a JSON object");_=o}catch(o){console.error(`hook: --payload must be valid JSON object: ${o.message}`),process.exit(2)}let c=C1({stage:t,workspace_id:e??void 0,payload:_});console.log(JSON.stringify(c)),process.exit(0)}Er();import{resolve as m9}from"path";import{Database as eh}from"bun:sqlite";import{existsSync as dg,mkdirSync as KX,rmSync as CX,statSync as p1}from"fs";import{readFile as na,readdir as ZX}from"fs/promises";import{dirname as xX,extname as pX,join as Ae,relative as ta,resolve as ia}from"path";var ea=["docs/work/ledger","docs/work/receipts","docs/work/topic-snapshots","docs/work/ledger-digests","docs/work/consumer-registry","docs/work/bus-feed"],sX=new Set([".md",".yaml",".yml",".json",".jsonl",".ndjson",".txt"]);function fg(r){return Ae(r,".etiquette","state","ledger","index.db")}async function _a(r){let n=ia(r.projectRoot),t=r.dbPath??fg(n);if(!dg(t))return!0;let e=p1(t).mtimeMs,i=await Promise.all(ea.map((_)=>ua(n,_)));for(let _ of new Set(i.flat()))if(p1(Ae(n,_)).mtimeMs>e)return!0;return!1}function ca(r){return r.replace(/\s+/g," ").trim()}function r9(r){return ca(r.replace(/^#+\s*/,""))}function n9(r,n){let t=r.split(`
|
|
921
|
+
`).find((e)=>e.startsWith("# "));return t?r9(t):n}function t9(r){let n=/^-\s+(\S+)\s+(.*)$/.exec(r.trim());if(!n)return null;let[,t,e]=n,i={};for(let _ of e.split(/\s+/)){let c=_.indexOf("=");if(c<=0)continue;i[_.slice(0,c)]=_.slice(c+1)}return{created_at:t,fields:i}}function s1(r){return r==="true"}function oa(r){if(!r||r==="none")return[];return r.split(",").map((n)=>n.trim()).filter(Boolean)}function i9(r){let n={};for(let t of oa(r)){let e=t.indexOf(":");if(e<=0)continue;let i=t.slice(0,e),_=t.slice(e+1);if(!["lanes","commits","prs","bus","artifacts","receipts"].includes(i))continue;n[i]=[...n[i]??[],_]}return n}function _h(r){let n=[];for(let t of["lanes","commits","prs","bus","artifacts","receipts"])for(let e of r[t]??[])n.push({type:t,ref:e});return n}function e9(r){if(!r)return"none";if(rg.includes(r))return r;throw Error(`unsupported ledger status_effect: ${r}`)}function _9(r,n="docs/work/ledger/LEDGER.md",t=0){let e=t9(r);if(!e)return null;let{created_at:i,fields:_}=e;if(_.schema!=="ledger-entry.v0"&&_.schema!=="ledger-entry.v0.1"&&_.schema!=="ledger-entry.v0.2")return null;let c=_.entry_id;if(!c)return null;let o=oa(_.topic_hints);ng(o);let u=e9(_.status_effect),$=new Set(["schema","entry_id","entry_type","spine_eligible","authority_class","grants_execution","export_class","refs","topic_hints","status_effect"]),g=Object.fromEntries(Object.entries(_).filter(([d])=>!$.has(d)));return{entry_id:c,schema:_.schema,created_at:i,entry_type:_.entry_type??"event",spine_eligible:s1(_.spine_eligible),authority_class:_.authority_class??"advisory",grants_execution:s1(_.grants_execution),export_class:_.export_class??"local_private",refs:i9(_.refs),topic_hints:o,status_effect:u,source_path:n,line_no:t,extra:g}}function c9(r){for(let n of[r,`${r}-wal`,`${r}-shm`])if(dg(n))CX(n,{force:!0})}function o9(r){r.exec(`
|
|
922
|
+
PRAGMA journal_mode = DELETE;
|
|
923
|
+
PRAGMA busy_timeout = 5000;
|
|
924
|
+
CREATE TABLE IF NOT EXISTS ledger_entries (
|
|
925
|
+
entry_id TEXT PRIMARY KEY,
|
|
926
|
+
schema TEXT NOT NULL,
|
|
927
|
+
created_at TEXT NOT NULL,
|
|
928
|
+
entry_type TEXT NOT NULL,
|
|
929
|
+
spine_eligible INTEGER NOT NULL,
|
|
930
|
+
authority_class TEXT NOT NULL,
|
|
931
|
+
grants_execution INTEGER NOT NULL,
|
|
932
|
+
export_class TEXT NOT NULL,
|
|
933
|
+
summary TEXT NOT NULL,
|
|
934
|
+
topic_hints_json TEXT NOT NULL,
|
|
935
|
+
status_effect TEXT NOT NULL,
|
|
936
|
+
refs_json TEXT NOT NULL,
|
|
937
|
+
source_path TEXT NOT NULL,
|
|
938
|
+
line_no INTEGER NOT NULL,
|
|
939
|
+
extra_json TEXT NOT NULL,
|
|
940
|
+
is_canonical INTEGER NOT NULL DEFAULT 0,
|
|
941
|
+
regenerable INTEGER NOT NULL DEFAULT 1,
|
|
942
|
+
can_authorize INTEGER NOT NULL DEFAULT 0,
|
|
943
|
+
indexed_at TEXT NOT NULL
|
|
944
|
+
);
|
|
945
|
+
CREATE TABLE IF NOT EXISTS refs (
|
|
946
|
+
entry_id TEXT NOT NULL,
|
|
947
|
+
ref_type TEXT NOT NULL,
|
|
948
|
+
ref TEXT NOT NULL,
|
|
949
|
+
FOREIGN KEY(entry_id) REFERENCES ledger_entries(entry_id)
|
|
950
|
+
);
|
|
951
|
+
CREATE TABLE IF NOT EXISTS topics (
|
|
952
|
+
entry_id TEXT NOT NULL,
|
|
953
|
+
topic TEXT NOT NULL,
|
|
954
|
+
source TEXT NOT NULL,
|
|
955
|
+
FOREIGN KEY(entry_id) REFERENCES ledger_entries(entry_id)
|
|
956
|
+
);
|
|
957
|
+
CREATE TABLE IF NOT EXISTS documents (
|
|
958
|
+
document_id TEXT PRIMARY KEY,
|
|
959
|
+
doc_type TEXT NOT NULL,
|
|
960
|
+
path TEXT NOT NULL,
|
|
961
|
+
title TEXT NOT NULL,
|
|
962
|
+
indexed_at TEXT NOT NULL
|
|
963
|
+
);
|
|
964
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS fts_chunks
|
|
965
|
+
USING fts5(chunk_id UNINDEXED, source_type UNINDEXED, source_id UNINDEXED, title, body, ref UNINDEXED);
|
|
966
|
+
`)}function u9(r){if(r.includes("/topic-snapshots/"))return"topic_snapshot";if(r.includes("/ledger-digests/"))return"ledger_digest";if(r.includes("/consumer-registry/"))return"consumer_registry";if(r.includes("/bus-feed/"))return"bus_feed";if(r.includes("/receipts/"))return"receipt";if(r.includes("/ledger/"))return"ledger";return"document"}async function ua(r,n){let t=Ae(r,n);if(!dg(t))return[];let e=[];async function i(_){let c=await ZX(_,{withFileTypes:!0});for(let o of c){let u=Ae(_,o.name);if(o.isDirectory()){if(o.name==="node_modules"||o.name===".git"||o.name==="_worktrees")continue;await i(u);continue}if(!o.isFile()||!sX.has(pX(o.name)))continue;e.push(ta(r,u))}}return await i(t),e.sort()}async function $9(r,n,t){let e=await Promise.all(ea.map((o)=>ua(n,o))),i=[...new Set(e.flat())].sort(),_=r.query(`
|
|
967
|
+
INSERT OR REPLACE INTO documents (document_id, doc_type, path, title, indexed_at)
|
|
968
|
+
VALUES (?, ?, ?, ?, ?)
|
|
969
|
+
`),c=r.query(`
|
|
970
|
+
INSERT INTO fts_chunks (chunk_id, source_type, source_id, title, body, ref)
|
|
971
|
+
VALUES (?, ?, ?, ?, ?, ?)
|
|
972
|
+
`);for(let o of i){let u=await na(Ae(n,o),"utf-8"),$=n9(u,o.split("/").at(-1)??o),g=`doc:${o}`,d=u9(o);_.run(g,d,o,$,t),c.run(`doc:${o}`,"document",g,$,`${d} ${$} ${o}`,o)}return i.length}function g9(r){return _h(r).map((n)=>`${n.type}:${n.ref}`).join(" ")}function d9(r,n,t){let e=[n.entry_type,n.entry_id,n.status_effect!=="none"?n.status_effect:"",n.topic_hints.join(" "),g9(n.refs)].filter(Boolean).join(" ");r.query(`
|
|
973
|
+
INSERT OR REPLACE INTO ledger_entries
|
|
974
|
+
(entry_id, schema, created_at, entry_type, spine_eligible, authority_class,
|
|
975
|
+
grants_execution, export_class, summary, topic_hints_json, status_effect,
|
|
976
|
+
refs_json, source_path, line_no, extra_json, is_canonical, regenerable,
|
|
977
|
+
can_authorize, indexed_at)
|
|
978
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 0, 1, 0, ?)
|
|
979
|
+
`).run(n.entry_id,n.schema,n.created_at,n.entry_type,n.spine_eligible?1:0,n.authority_class,n.grants_execution?1:0,n.export_class,e,JSON.stringify(n.topic_hints),n.status_effect,JSON.stringify(n.refs),n.source_path,n.line_no,JSON.stringify(n.extra),t),r.query(`
|
|
980
|
+
INSERT INTO fts_chunks (chunk_id, source_type, source_id, title, body, ref)
|
|
981
|
+
VALUES (?, 'ledger_entry', ?, ?, ?, ?)
|
|
982
|
+
`).run(`ledger:${n.entry_id}`,n.entry_id,n.entry_id,e,`${n.source_path}:${n.line_no}`);let i=0;for(let c of _h(n.refs))r.query("INSERT INTO refs (entry_id, ref_type, ref) VALUES (?, ?, ?)").run(n.entry_id,c.type,c.ref),i+=1;let _=0;for(let c of n.topic_hints)r.query("INSERT INTO topics (entry_id, topic, source) VALUES (?, ?, ?)").run(n.entry_id,c,"topic_hints"),_+=1;return{refs:i,topics:_}}async function $a(r){let n=ia(r.projectRoot),t=r.dbPath??fg(n);KX(xX(t),{recursive:!0}),c9(t);let e=new eh(t),i=new Date().toISOString();try{o9(e);let _=Ae(n,"docs","work","ledger","LEDGER.md"),c=0,o=0,u=0;if(dg(_)){let g=ta(n,_),d=(await na(_,"utf-8")).split(`
|
|
983
|
+
`);for(let[f,b]of d.entries()){let I=_9(b,g,f+1);if(!I)continue;let w=d9(e,I,i);c+=1,o+=w.refs,u+=w.topics}}let $=await $9(e,n,i);return{dbPath:t,ledger_entries:c,refs:o,topics:u,documents:$}}finally{e.close()}}function ga(r){let n=_h(JSON.parse(r.refs_json)).map((t)=>`${t.type}:${t.ref}`);return{entry_id:r.entry_id,title:r.entry_id,type:r.entry_type,topic_hints:JSON.parse(r.topic_hints_json),status_effect:r.status_effect,refs:n,confidence:"metadata",is_canonical:!1,regenerable:!0,can_authorize:!1}}function f9(r){return{...ga(r),source_path:r.source_path,line_no:r.line_no}}function b9(r){return ca(r.toLowerCase()).split(/[^a-z0-9]+/).filter(Boolean).slice(0,8)}function w9(r){return r.map((n)=>`"${n.replace(/"/g,'""')}"`).join(" ")}function ra(r,n,t){let e=`%${n.join("%")}%`;return r.query(`
|
|
984
|
+
SELECT entry_id, entry_type, topic_hints_json, status_effect, refs_json
|
|
985
|
+
FROM ledger_entries
|
|
986
|
+
WHERE lower(summary) LIKE ?
|
|
987
|
+
OR lower(entry_id) LIKE ?
|
|
988
|
+
OR lower(topic_hints_json) LIKE ?
|
|
989
|
+
ORDER BY created_at DESC, entry_id ASC
|
|
990
|
+
LIMIT ?
|
|
991
|
+
`).all(e,e,e,t)}function da(r){let n=new eh(r.dbPath,{readonly:!0});try{let t=b9(r.query);if(t.length===0)return[];let e=r.limit??10,i;try{i=n.query(`
|
|
992
|
+
WITH matches AS (
|
|
993
|
+
SELECT source_id, bm25(fts_chunks) AS rank
|
|
994
|
+
FROM fts_chunks
|
|
995
|
+
WHERE fts_chunks MATCH ?
|
|
996
|
+
AND source_type = 'ledger_entry'
|
|
997
|
+
)
|
|
998
|
+
SELECT le.entry_id, le.entry_type, le.topic_hints_json, le.status_effect, le.refs_json
|
|
999
|
+
FROM ledger_entries le
|
|
1000
|
+
JOIN matches ON matches.source_id = le.entry_id
|
|
1001
|
+
ORDER BY matches.rank ASC, le.created_at DESC, le.entry_id ASC
|
|
1002
|
+
LIMIT ?
|
|
1003
|
+
`).all(w9(t),e)}catch{i=ra(n,t,e)}if(i.length===0)i=ra(n,t,e);return i.map(ga)}finally{n.close()}}function fa(r){let n=new eh(r.dbPath,{readonly:!0});try{let t=n.query(`
|
|
1004
|
+
SELECT entry_id, entry_type, topic_hints_json, status_effect, refs_json, source_path, line_no
|
|
1005
|
+
FROM ledger_entries
|
|
1006
|
+
WHERE entry_id = ?
|
|
1007
|
+
OR entry_id = (
|
|
1008
|
+
SELECT entry_id FROM refs WHERE ref = ? ORDER BY entry_id ASC LIMIT 1
|
|
1009
|
+
)
|
|
1010
|
+
ORDER BY entry_id ASC
|
|
1011
|
+
LIMIT 1
|
|
1012
|
+
`).get(r.entryIdOrRef,r.entryIdOrRef);return t?f9(t):null}finally{n.close()}}var ba=new Set(["index","search","show"]);function ma(r){return r==="ledger"}function I9(r,n){if(r===void 0)return n;let t=dn(r,"limit");if(t<1||t>50)throw Error("--limit must be between 1 and 50");return t}function y9(r){if(r.length===0)return`ledger: no matching entries
|
|
1013
|
+
`;return`${r.map((n)=>[`entry: ${n.entry_id}`,`type: ${n.type}`,`topic_hints: ${n.topic_hints.join(", ")||"none"}`,`status_effect: ${n.status_effect}`,`refs: ${n.refs.join(", ")||"none"}`,`confidence: ${n.confidence}`,`is_canonical: ${n.is_canonical}`,`regenerable: ${n.regenerable}`,`can_authorize: ${n.can_authorize}`].join(`
|
|
1014
|
+
`)).join(`
|
|
1015
|
+
---
|
|
1016
|
+
`)}
|
|
1017
|
+
`}async function wa(r,n){if(await _a({projectRoot:r,dbPath:n}))throw Error("ledger index is missing or stale; run `etiquette ledger index` first")}async function Ia(r,n){let t=r[1];if(!t||!ba.has(t))throw Error(`ledger verb must be one of: ${[...ba].join(", ")}`);let e=m9(m(n,"project")??process.cwd()),i=m(n,"db")??fg(e),_=Boolean(n.json);if(t==="index"){let c=await $a({projectRoot:e,dbPath:i});console.log(_?JSON.stringify(c,null,2):["ledger_index:",` db: ${c.dbPath}`,` ledger_entries: ${c.ledger_entries}`,` refs: ${c.refs}`,` topics: ${c.topics}`,` documents: ${c.documents}`].join(`
|
|
1018
|
+
`));return}if(t==="search"){let o=m(n,"topic")??r.slice(2).join(" ").trim();if(!o)throw Error("<query> or --topic is required");await wa(e,i);let u=da({dbPath:i,query:o,limit:I9(n.limit,10)});console.log(_?JSON.stringify(u,null,2):y9(u));return}if(t==="show"){let c=r[2];if(!c)throw Error("<entry_or_ref_id> is required");await wa(e,i);let o=fa({dbPath:i,entryIdOrRef:c});if(!o)throw Error(`unknown ledger entry or ref: ${c}`);console.log(JSON.stringify(o,null,2))}}Er();import{resolve as Un}from"path";import{resolve as Q9}from"path";import{createHash as E9}from"crypto";import{existsSync as l9,statSync as q9}from"fs";import{readdir as N9,readFile as L9,writeFile as z9,mkdir as j9}from"fs/promises";import{homedir as W9}from"os";import{basename as Ua,dirname as A9,extname as Oa,join as Pe,relative as P9,resolve as Ra}from"path";import{Database as h9}from"bun:sqlite";import{mkdirSync as U9}from"fs";import{dirname as O9}from"path";function R9(r,n,t){return r.query(`PRAGMA table_info(${n})`).all().some((i)=>i.name===t)}function bg(r,n,t,e){if(!R9(r,n,t))r.exec(`ALTER TABLE ${n} ADD COLUMN ${e}`)}function D9(r){let n=r.query("PRAGMA table_info(memory_capsule_fts)").all();if(n.length>0&&!n.some((t)=>t.name==="search_text"))r.exec("DROP TABLE memory_capsule_fts;");r.exec(`
|
|
1019
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS memory_capsule_fts
|
|
1020
|
+
USING fts5(capsule_id UNINDEXED, title, summary, category, evidence_refs_text, search_text);
|
|
1021
|
+
`)}function S9(r){return[...new Set(r.toLowerCase().split(/[^a-z0-9_]+/).filter((n)=>n.length>=2))]}function a9(r){return r.replace(/"/g,'""')}function T9(r,n){return r.map((t)=>`"${a9(t)}"*`).join(` ${n} `)}function ya(r,n,t){let e=new Set(r.map((i)=>i.capsule_id));for(let i of n){if(e.has(i.capsule_id))continue;if(r.push(i),e.add(i.capsule_id),r.length>=t)return}}function Ln(r){U9(O9(r),{recursive:!0});let n=new h9(r);n.exec(`
|
|
1022
|
+
PRAGMA journal_mode = WAL;
|
|
1023
|
+
PRAGMA busy_timeout = 5000;
|
|
1024
|
+
CREATE TABLE IF NOT EXISTS memory_candidates (
|
|
1025
|
+
candidate_id TEXT PRIMARY KEY,
|
|
1026
|
+
category TEXT NOT NULL,
|
|
1027
|
+
title TEXT NOT NULL,
|
|
1028
|
+
summary TEXT NOT NULL,
|
|
1029
|
+
risk_flags_json TEXT NOT NULL,
|
|
1030
|
+
candidate_json TEXT NOT NULL,
|
|
1031
|
+
promotion_status TEXT NOT NULL DEFAULT 'pending',
|
|
1032
|
+
rejection_reasons_json TEXT NOT NULL DEFAULT '[]',
|
|
1033
|
+
indexed_at TEXT NOT NULL
|
|
1034
|
+
);
|
|
1035
|
+
CREATE TABLE IF NOT EXISTS recall_capsules (
|
|
1036
|
+
capsule_id TEXT PRIMARY KEY,
|
|
1037
|
+
title TEXT NOT NULL,
|
|
1038
|
+
category TEXT NOT NULL,
|
|
1039
|
+
summary TEXT NOT NULL,
|
|
1040
|
+
confidence TEXT NOT NULL,
|
|
1041
|
+
stale_status TEXT NOT NULL,
|
|
1042
|
+
evidence_count INTEGER NOT NULL,
|
|
1043
|
+
evidence_refs_text TEXT NOT NULL DEFAULT '',
|
|
1044
|
+
capsule_json TEXT NOT NULL,
|
|
1045
|
+
updated_at TEXT NOT NULL
|
|
1046
|
+
);
|
|
1047
|
+
`),bg(n,"memory_candidates","promotion_status","promotion_status TEXT NOT NULL DEFAULT 'pending'"),bg(n,"memory_candidates","rejection_reasons_json","rejection_reasons_json TEXT NOT NULL DEFAULT '[]'"),bg(n,"recall_capsules","evidence_refs_text","evidence_refs_text TEXT NOT NULL DEFAULT ''"),bg(n,"recall_capsules","search_text","search_text TEXT NOT NULL DEFAULT ''"),D9(n);let t=(e)=>({capsule_id:e.capsule_id,title:e.title,category:e.category,confidence:e.confidence,stale_status:e.stale_status,evidence_count:e.evidence_count});return{dbPath:r,close:()=>n.close(),reset:()=>{n.exec("DELETE FROM memory_candidates; DELETE FROM recall_capsules;"),n.exec("DELETE FROM memory_capsule_fts;")},stats:()=>{let e=(i)=>n.query(i).get()?.count??0;return{candidates:{total:e("SELECT COUNT(*) AS count FROM memory_candidates"),pending:e("SELECT COUNT(*) AS count FROM memory_candidates WHERE promotion_status = 'pending'"),promoted:e("SELECT COUNT(*) AS count FROM memory_candidates WHERE promotion_status = 'promoted'"),rejected:e("SELECT COUNT(*) AS count FROM memory_candidates WHERE promotion_status = 'rejected'")},recall_capsules:e("SELECT COUNT(*) AS count FROM recall_capsules")}},insertCandidate:(e)=>{n.query(`
|
|
1048
|
+
INSERT OR REPLACE INTO memory_candidates
|
|
1049
|
+
(candidate_id, category, title, summary, risk_flags_json, candidate_json, promotion_status, rejection_reasons_json, indexed_at)
|
|
1050
|
+
VALUES (?, ?, ?, ?, ?, ?, 'pending', '[]', ?)
|
|
1051
|
+
`).run(e.candidate_id,e.category,e.title,e.summary,JSON.stringify(e.risk_flags),JSON.stringify(e),new Date().toISOString())},markCandidate:(e,i,_)=>{n.query(`
|
|
1052
|
+
UPDATE memory_candidates
|
|
1053
|
+
SET promotion_status = ?, rejection_reasons_json = ?
|
|
1054
|
+
WHERE candidate_id = ?
|
|
1055
|
+
`).run(i,JSON.stringify(_),e)},insertCapsule:(e,i="")=>{let _=e.evidence_refs.map((c)=>`${c.type}:${c.ref}`).join(" ");n.query(`
|
|
1056
|
+
INSERT OR REPLACE INTO recall_capsules
|
|
1057
|
+
(capsule_id, title, category, summary, confidence, stale_status, evidence_count, evidence_refs_text, search_text, capsule_json, updated_at)
|
|
1058
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
1059
|
+
`).run(e.capsule_id,e.title,e.category,e.summary,e.confidence,e.staleness.status,e.evidence_refs.length,_,i,JSON.stringify(e),e.updated_at),n.query("DELETE FROM memory_capsule_fts WHERE capsule_id = ?").run(e.capsule_id),n.query(`
|
|
1060
|
+
INSERT INTO memory_capsule_fts (capsule_id, title, summary, category, evidence_refs_text, search_text)
|
|
1061
|
+
VALUES (?, ?, ?, ?, ?, ?)
|
|
1062
|
+
`).run(e.capsule_id,e.title,e.summary,e.category,_,i)},search:(e,i)=>{let _=S9(e);if(_.length===0)return[];let c=_.some(($)=>$.includes("_")),o=[],u=($)=>n.query(`
|
|
1063
|
+
SELECT c.capsule_id, c.title, c.category, c.confidence, c.stale_status, c.evidence_count, c.capsule_json
|
|
1064
|
+
FROM memory_capsule_fts
|
|
1065
|
+
JOIN recall_capsules c ON c.capsule_id = memory_capsule_fts.capsule_id
|
|
1066
|
+
WHERE memory_capsule_fts MATCH ?
|
|
1067
|
+
ORDER BY bm25(memory_capsule_fts, 0.0, 3.0, 1.5, 1.0, 2.0, 0.6), c.updated_at DESC, c.capsule_id ASC
|
|
1068
|
+
LIMIT ?
|
|
1069
|
+
`).all(T9(_,"AND"),$);if(!c)try{ya(o,u(i),i)}catch{}if(o.length<i){let $=_.map(()=>["lower(title) LIKE ?","lower(summary) LIKE ?","lower(category) LIKE ?","lower(evidence_refs_text) LIKE ?","lower(search_text) LIKE ?"].join(" OR ")),g=_.flatMap((f)=>Array(5).fill(`%${f}%`)),d=n.query(`
|
|
1070
|
+
SELECT capsule_id, title, category, confidence, stale_status, evidence_count, capsule_json
|
|
1071
|
+
FROM recall_capsules
|
|
1072
|
+
WHERE ${$.map((f)=>`(${f})`).join(" AND ")}
|
|
1073
|
+
ORDER BY updated_at DESC, capsule_id ASC
|
|
1074
|
+
LIMIT ?
|
|
1075
|
+
`).all(...g,i-o.length);ya(o,d,i)}return o.map(t)},show:(e)=>{let i=n.query("SELECT capsule_json FROM recall_capsules WHERE capsule_id = ?").get(e);return i?JSON.parse(i.capsule_json):null},stale:(e)=>{return n.query(`
|
|
1076
|
+
SELECT capsule_id, title, category, confidence, stale_status, evidence_count, capsule_json
|
|
1077
|
+
FROM recall_capsules
|
|
1078
|
+
WHERE stale_status != 'current'
|
|
1079
|
+
ORDER BY updated_at DESC, capsule_id ASC
|
|
1080
|
+
LIMIT ?
|
|
1081
|
+
`).all(e).map(t)},rejected:(e)=>{return n.query(`
|
|
1082
|
+
SELECT candidate_id, title, category, risk_flags_json, rejection_reasons_json, candidate_json
|
|
1083
|
+
FROM memory_candidates
|
|
1084
|
+
WHERE promotion_status = 'rejected'
|
|
1085
|
+
ORDER BY indexed_at DESC, candidate_id ASC
|
|
1086
|
+
LIMIT ?
|
|
1087
|
+
`).all(e).map((_)=>{let c=JSON.parse(_.candidate_json);return{candidate_id:_.candidate_id,title:_.title,category:_.category,risk_flags:JSON.parse(_.risk_flags_json),rejection_reasons:JSON.parse(_.rejection_reasons_json),source_refs:c.source_refs}})}}}var ch=["docs/work/ledger","docs/work/tasks","docs/work/playbacks","internal/docs/playbacks","internal/docs/contracts",".etiquette/events"],J9=new Set([".md",".yaml",".yml",".json",".jsonl",".ndjson",".txt"]),ha=8000;function Cn(r){return Pe(r,".etiquette","state","memory","index.db")}function k9(r){return r.replace(/[^A-Za-z0-9_.:-]+/g,"-").replace(/^-+|-+$/g,"")||"workspace"}function Da(r,n,t=new Date){let e=k9(n??Ua(Ra(r))),i=t.toISOString().slice(0,10);return Pe(W9(),".etiquette","exports",e,i)}function Sa(r){return E9("sha256").update(r).digest("hex").slice(0,16)}function wg(r){return r.replace(/\s+/g," ").trim()}function v9(r){let n=wg(r.replace(/[`*_>#-]/g," "));return n.length>260?`${n.slice(0,257)}...`:n}function M9(r,n){let t=r.split(`
|
|
1088
|
+
`).find((e)=>e.startsWith("# "));if(!t)return n;return wg(t.replace(/^#+\s*/,""))}function V9(r,n){let t=r.split(/\n\s*\n/).map((e)=>e.trim()).find((e)=>e.length>0&&!e.startsWith("#")&&!e.startsWith("```"));return v9(t??n)}function F9(r){let n=[];for(let e of r.split(`
|
|
1089
|
+
`)){let i=e.replace(/```[A-Za-z0-9_-]*/g," ");if(rr(i).filter((u)=>u!=="contains_source_snippet").length>0)continue;let c=i.replace(/[`*_>#|\[\]{}()]/g," "),o=wg(c);if(o.length>0)n.push(o)}let t=wg(n.join(" "));return t.length>ha?t.slice(0,ha):t}function G9(r){if(r.includes("/playbacks/"))return"playback_candidate";if(r.includes("/ledger/")||r.includes("/tasks/"))return"pattern";if(r.includes("hosted-pass-plane")||r.includes("event-spine"))return"decision";if(r.includes("workflow-memory"))return"adapter_note";return"onboarding"}function X9(r){if(r.includes("/ledger/"))return{type:"ledger",ref:r};if(r.includes("/playbacks/"))return{type:"playback",ref:r};if(r.includes(".etiquette/events/"))return{type:"event",ref:r};return{type:"doc",ref:r}}async function B9(r,n){let t=Pe(r,n);if(!l9(t))return[];let e=[];async function i(_){let c=await N9(_,{withFileTypes:!0});for(let o of c){let u=Pe(_,o.name);if(o.isDirectory()){if(o.name==="node_modules"||o.name===".git"||o.name==="_worktrees")continue;await i(u);continue}if(!o.isFile())continue;if(!J9.has(Oa(o.name)))continue;e.push(P9(r,u))}}return await i(t),e.sort()}async function oh(r){return(await Promise.all(ch.map((t)=>B9(r,t)))).flat().sort()}async function H9(r,n){let t=Pe(r,n),e=await L9(t,"utf-8"),i=Ua(n,Oa(n)).replace(/[-_]+/g," "),_=M9(e,i),c=V9(e,_),o=new Set;for(let $ of rr(`${_}
|
|
1090
|
+
${c}`))o.add($);let u=q9(t);return{candidate:{candidate_id:`cand_${Sa(`${n}:${u.mtimeMs}:${u.size}`)}`,adapter:"local_importer",query:n,category:G9(n),title:_,summary:c,source_refs:[X9(n)],confidence:"medium",risk_flags:[...o]},searchText:F9(e)}}function Y9(r,n={}){let t=ky(r,n);if(t.filter((o)=>o!=="stale"&&o!=="contradicts_current_ledger").length>0)return null;let i=n.now??new Date().toISOString(),_=t.includes("stale")||t.includes("contradicts_current_ledger"),c={schema:"recall-capsule.v0",capsule_id:`mem_${Sa(`${r.title}:${r.source_refs.map((o)=>o.ref).join("|")}`)}`,created_at:i,updated_at:i,scope:n.scope??{},category:r.category,title:r.title,summary:r.summary,why_it_matters:`Imported from ${r.source_refs[0]?.ref}; use as cited context, not authority.`,evidence_refs:r.source_refs,confidence:r.confidence,staleness:{status:_?"watch":"current",stale_if:_?"current ledger or receipt contradicts this capsule":void 0},recommended_action:{type:r.category==="playback_candidate"?"run_playback":"read_before_work"},authority_boundary:{can_authorize_work:!1,can_close_task:!1,can_replace_receipt:!1}};return JS(c),c}async function aa(r){let n=Ra(r.projectRoot),t=r.dbPath??Cn(n),e=r.exportDir!==void 0;if(e){if(r.localPrivate)throw Error("--local-private cannot be combined with shared capsule export");if(!r.confirmSharedExport)throw Error("--confirm-shared-export is required when writing shared capsule exports");if(!r.orgId)throw Error("--org-id is required when writing shared capsule exports");if(J(r.orgId,"--org-id"),r.workspaceId)J(r.workspaceId,"--workspace-id")}let i=Ln(t);try{i.reset();let _=await oh(n),c=[],o=0;for(let u of _){let{candidate:$,searchText:g}=await H9(n,u);i.insertCandidate($);let f=ky($,{localPrivate:r.localPrivate}).filter((I)=>I!=="stale"&&I!=="contradicts_current_ledger");if(f.length>0){o+=1,i.markCandidate($.candidate_id,"rejected",f);continue}if(e&&$.confidence==="low"){o+=1,i.markCandidate($.candidate_id,"rejected",["confidence_low_for_shared_export"]);continue}let b=Y9($,{localPrivate:r.localPrivate,scope:e?{org_id:r.orgId,workspace_id:r.workspaceId}:{}});if(!b){o+=1,i.markCandidate($.candidate_id,"rejected",["no_durable_evidence"]);continue}if(i.markCandidate($.candidate_id,"promoted",[]),i.insertCapsule(b,g),c.push(b.capsule_id),r.exportDir){let I=Pe(r.exportDir,`${b.capsule_id}.json`);await j9(A9(I),{recursive:!0}),await z9(I,`${JSON.stringify(b,null,2)}
|
|
1091
|
+
`,"utf-8")}}return{candidates:_.length,promoted:c.length,rejected:o,capsuleIds:c}}finally{i.close()}}function K9(r){if(r.query?.trim()){let e=r.query.trim();return X(e,"memory context query"),e}let n=[r.laneRef,r.taskRef].map((e)=>e?.trim()).filter((e)=>Boolean(e));if(n.length===0)throw Error("memory context requires --lane, --task, or --query");let t=n.join(" ");return X(t,"memory context query"),t}function C9(r){if(r.orgId)J(r.orgId,"scope.org_id");if(r.workspaceId)J(r.workspaceId,"scope.workspace_id");if(r.laneRef)X(r.laneRef,"scope.lane_ref");if(r.taskRef)X(r.taskRef,"scope.task_ref");return{...r.orgId?{org_id:r.orgId}:{},...r.workspaceId?{workspace_id:r.workspaceId}:{},...r.laneRef?{lane_ref:r.laneRef}:{},...r.taskRef?{task_ref:r.taskRef}:{}}}function Z9(r){return{capsule_id:r.capsule_id,title:r.title,category:r.category,summary:r.summary,why_it_matters:r.why_it_matters,confidence:r.confidence,stale_status:r.staleness.status,evidence_refs:r.evidence_refs,recommended_action:r.recommended_action}}function Ta(r){if(r.limit<1||r.limit>50)throw Error("memory context limit must be between 1 and 50");let n=Q9(r.projectRoot),t=K9(r),e=C9(r),i=r.at??new Date().toISOString();if(!Number.isFinite(Date.parse(i)))throw Error("--at must be an ISO-8601 timestamp");let _=Ln(r.dbPath??Cn(n));try{let o=_.search(t,r.limit).map((u)=>_.show(u.capsule_id)).filter((u)=>u!==null).map(Z9);return{schema:"memory-context.v0",generated_at:new Date(i).toISOString(),query:t,scope:e,items:o,content_boundary:{summaries_only:!0,raw_ledger_body_included:!1,raw_event_body_included:!1,raw_prompt_included:!1,raw_tool_output_included:!1,source_snippets_included:!1,local_paths_included:!1},authority_boundary:{can_authorize_work:!1,can_close_task:!1,can_replace_receipt:!1,can_mutate_ledger:!1,memory_is_execution_truth:!1}}}finally{_.close()}}import{createHash as q8}from"crypto";import{mkdir as N8,writeFile as L8}from"fs/promises";import{dirname as z8,posix as j8,resolve as fh}from"path";import{createHash as O8}from"crypto";import{mkdir as zc,readdir as $h,readFile as za,writeFile as ja}from"fs/promises";import{dirname as Wa,join as Ar,posix as Aa,resolve as At,sep as R8}from"path";import{readFile as x9}from"fs/promises";import{extname as p9}from"path";var s9=["workspace-authority.v0"],r8=["personal_local","org_remote","runtime_cell"],n8=["local_workspace","org_workspace","none"],lc=["org","workspace","lane","seat","session"],qc=["read_only","read_write"],Nc=["filesystem_like","context_pack","mcp_resource"],Lc=["none","candidate_only","curator_promoted"],t8=["disabled","scheduled_rollup","async_rollup"],i8=["creator_only","explicit_grant","org_admin_quorum","board_policy"],e8=["workspace","plane"];function _8(r){return typeof r==="object"&&r!==null&&!Array.isArray(r)}function mi(r,n){if(!_8(r))throw Error(`${n} must be an object`);return r}function jt(r,n){let t=r[n];if(typeof t!=="string"||t.trim().length===0)throw Error(`${n} must be a non-empty string`);return t.trim()}function Je(r,n){let t=r[n];if(t===void 0)return;if(typeof t!=="string"||t.trim().length===0)throw Error(`${n} must be a non-empty string when present`);return t.trim()}function en(r,n){let t=r[n];if(typeof t!=="boolean")throw Error(`${n} must be a boolean`);return t}function zn(r,n,t){if(typeof n!=="string"||!r.includes(n))throw Error(`${t} must be one of: ${r.join(", ")}`);return n}function c8(r,n){let t=r[n];if(!Array.isArray(t)||t.some((e)=>typeof e!=="string"||e.trim().length===0))throw Error(`${n} must be a string array`);return t.map((e)=>e.trim())}function o8(r,n){if(r.length>160)throw Error(`${n} must be <= 160 chars`);if(r.startsWith("/")||r.startsWith("\\")||/^[A-Za-z]:[\\/]/.test(r))throw Error(`${n} must be opaque or repo-relative, not a local absolute path`);if(/[a-z][a-z0-9+.-]*:\/\//i.test(r))throw Error(`${n} must be an opaque ref, not a URL`);let t=rr(r);if(t.length>0)throw Error(`${n} contains restricted shared content: ${t.join(", ")}`)}function ot(r,n){J(r,n)}function la(r,n){X(r,n),o8(r,n)}async function u8(r){let n=await x9(r,"utf-8");if(p9(r).toLowerCase()===".json")return JSON.parse(n);return ir(n)}function $8(r){let n=mi(r,"canonical_refs"),t={ledger_ref:Je(n,"ledger_ref"),memory_ref:Je(n,"memory_ref"),policy_ref:Je(n,"policy_ref"),roster_ref:Je(n,"roster_ref"),signing_ref:Je(n,"signing_ref")};for(let[e,i]of Object.entries(t))if(i)la(i,`canonical_refs.${e}`);return t}function g8(r){let n=mi(r,"owner_role"),t={role_id:jt(n,"role_id"),occupant_principal:jt(n,"occupant_principal"),grant_ref:jt(n,"grant_ref"),replacement_policy:zn(i8,n.replacement_policy,"owner_role.replacement_policy")};return ot(t.role_id,"owner_role.role_id"),ot(t.occupant_principal,"owner_role.occupant_principal"),la(t.grant_ref,"owner_role.grant_ref"),t}function d8(r){if(r===void 0)return;let n=mi(r,"tenancy"),t={initiation_level:zn(e8,n.initiation_level,"tenancy.initiation_level"),initiator_principal:jt(n,"initiator_principal"),verify_before_initiate:en(n,"verify_before_initiate"),initiator_becomes_owner_role:en(n,"initiator_becomes_owner_role"),workspace_owner_may_delegate:en(n,"workspace_owner_may_delegate"),plane_authority_granted:en(n,"plane_authority_granted"),host_can_forge_workflow_truth:en(n,"host_can_forge_workflow_truth")};return ot(t.initiator_principal,"tenancy.initiator_principal"),t}function f8(r){if(!Array.isArray(r)||r.length===0)throw Error("memory_stores must be a non-empty array");return r.map((n,t)=>{let e=mi(n,`memory_stores[${t}]`),i={store_id:jt(e,"store_id"),scope:zn(lc,e.scope,`memory_stores[${t}].scope`),access:zn(qc,e.access,`memory_stores[${t}].access`),mount_mode:zn(Nc,e.mount_mode,`memory_stores[${t}].mount_mode`),write_policy:zn(Lc,e.write_policy,`memory_stores[${t}].write_policy`),evidence_required:en(e,"evidence_required")};if(ot(i.store_id,`memory_stores[${t}].store_id`),i.access==="read_only"&&i.write_policy!=="none")throw Error(`memory_stores[${t}] read_only stores must use write_policy: none`);if(i.access==="read_write"&&i.write_policy==="none")throw Error(`memory_stores[${t}] read_write stores require candidate_only or curator_promoted write_policy`);if(i.scope==="org"&&i.access==="read_write"&&i.write_policy!=="curator_promoted")throw Error(`memory_stores[${t}] org shared read_write stores require write_policy: curator_promoted`);if(i.scope==="workspace"&&i.access==="read_write"&&i.write_policy==="candidate_only")throw Error(`memory_stores[${t}] workspace shared read_write stores require curator_promoted writes`);if(i.access==="read_write"&&i.evidence_required!==!0)throw Error(`memory_stores[${t}] read_write stores must require evidence`);return i})}function b8(r,n){if(r===void 0)return;let t=mi(r,"consolidation"),e={mode:zn(t8,t.mode,"consolidation.mode"),input_stores:c8(t,"input_stores"),output_store:jt(t,"output_store"),mutates_input_store:en(t,"mutates_input_store"),output_policy:zn(["candidate_only","curator_promoted"],t.output_policy,"consolidation.output_policy")},i=new Set(n.map((c)=>c.store_id));for(let c of e.input_stores)if(ot(c,"consolidation.input_stores[]"),!i.has(c))throw Error(`consolidation input store is not declared: ${c}`);if(ot(e.output_store,"consolidation.output_store"),!i.has(e.output_store))throw Error(`consolidation output store is not declared: ${e.output_store}`);if(e.mode!=="disabled"&&e.input_stores.length===0)throw Error("consolidation input_stores must not be empty unless mode is disabled");if(e.mode!=="disabled"&&e.mutates_input_store!==!1)throw Error("evidence consolidation must not mutate input memory stores");let _=n.find((c)=>c.store_id===e.output_store);if(e.mode!=="disabled"){if(!_||_.access!=="read_write")throw Error("consolidation output_store must be read_write");if(_.write_policy!==e.output_policy)throw Error("consolidation output_policy must match the output store write_policy")}return e}function w8(r){let n=mi(r,"authority_boundary");return{local_workspace_is_canonical:en(n,"local_workspace_is_canonical"),org_workspace_is_canonical:en(n,"org_workspace_is_canonical"),runtime_cell_can_mutate_canonical_truth:en(n,"runtime_cell_can_mutate_canonical_truth"),creator_is_root_authority:en(n,"creator_is_root_authority"),portal_rbac_is_workflow_authority:en(n,"portal_rbac_is_workflow_authority"),memory_can_authorize_work:en(n,"memory_can_authorize_work")}}function m8(r){let n=mi(r,"workspace_authority"),t=f8(n.memory_stores),e={schema:zn(s9,n.schema,"schema"),workspace_id:jt(n,"workspace_id"),org_id:Je(n,"org_id"),authority_mode:zn(r8,n.authority_mode,"authority_mode"),canonical_location:zn(n8,n.canonical_location,"canonical_location"),creator_principal:jt(n,"creator_principal"),owner_role:g8(n.owner_role),tenancy:d8(n.tenancy),canonical_refs:$8(n.canonical_refs),memory_stores:t,consolidation:b8(n.consolidation,t),authority_boundary:w8(n.authority_boundary)};return qa(e),e}async function I8(r){return m8(await u8(r))}function Ea(r,n){for(let t of n)if(!r.canonical_refs[t])throw Error(`canonical_refs.${t} is required for ${r.authority_mode}`)}function qa(r){if(ot(r.workspace_id,"workspace_id"),r.org_id)ot(r.org_id,"org_id");if(ot(r.creator_principal,"creator_principal"),r.authority_boundary.portal_rbac_is_workflow_authority!==!1)throw Error("portal RBAC cannot be workflow authority");if(r.authority_boundary.memory_can_authorize_work!==!1)throw Error("memory cannot authorize workflow actions");if(r.tenancy){if(r.tenancy.initiation_level!=="workspace")throw Error("workspace-authority cannot grant plane provisioning authority");if(r.tenancy.initiator_principal!==r.creator_principal)throw Error("tenancy initiator_principal must match creator_principal");if(r.tenancy.plane_authority_granted!==!1)throw Error("workspace provisioning must not grant plane authority");if(r.tenancy.host_can_forge_workflow_truth!==!1)throw Error("workspace host must not be able to forge workflow truth")}if(r.authority_mode==="personal_local"){if(r.canonical_location!=="local_workspace")throw Error("personal_local workspaces require canonical_location: local_workspace");if(r.authority_boundary.local_workspace_is_canonical!==!0)throw Error("personal_local workspaces must mark local_workspace_is_canonical true");if(r.authority_boundary.org_workspace_is_canonical!==!1)throw Error("personal_local workspaces must mark org_workspace_is_canonical false");if(r.authority_boundary.runtime_cell_can_mutate_canonical_truth!==!1)throw Error("runtime cells must not mutate canonical truth");Ea(r,["ledger_ref","memory_ref","policy_ref","roster_ref"])}if(r.authority_mode==="org_remote"){if(!r.org_id)throw Error("org_remote workspaces require org_id");if(!r.tenancy)throw Error("org_remote workspaces require tenancy policy");if(r.tenancy.verify_before_initiate!==!0)throw Error("org_remote workspace initiation requires verified principal");if(r.tenancy.initiator_becomes_owner_role!==!0)throw Error("org_remote workspace initiator must create the owner role");if(r.tenancy.workspace_owner_may_delegate!==!0)throw Error("org_remote workspace owner role must be delegatable");if(r.canonical_location!=="org_workspace")throw Error("org_remote workspaces require canonical_location: org_workspace");if(r.authority_boundary.local_workspace_is_canonical!==!1)throw Error("org_remote local working copies must not be canonical truth");if(r.authority_boundary.org_workspace_is_canonical!==!0)throw Error("org_remote workspaces must mark org_workspace_is_canonical true");if(r.authority_boundary.creator_is_root_authority!==!1)throw Error("org_remote creator is provenance only, not root authority");if(r.owner_role.replacement_policy==="creator_only")throw Error("org_remote owner role must be replaceable by org policy");if(r.authority_boundary.runtime_cell_can_mutate_canonical_truth!==!1)throw Error("runtime cells must not mutate canonical truth");Ea(r,["ledger_ref","memory_ref","policy_ref","roster_ref","signing_ref"])}if(r.authority_mode==="runtime_cell"){if(r.tenancy)throw Error("runtime_cell profiles must not carry tenancy authority");if(r.canonical_location!=="none")throw Error("runtime_cell profiles require canonical_location: none");if(r.authority_boundary.local_workspace_is_canonical!==!1||r.authority_boundary.org_workspace_is_canonical!==!1||r.authority_boundary.runtime_cell_can_mutate_canonical_truth!==!1||r.authority_boundary.creator_is_root_authority!==!1)throw Error("runtime_cell profiles must be authority-false")}}function Na(r){return I8(r).then(y8)}function y8(r){qa(r);let n=r.consolidation?.mode??"disabled",t=r.tenancy;return{schema:"workspace-authority-validation.v0",workspace_id:r.workspace_id,...r.org_id?{org_id:r.org_id}:{},verdict:"valid",authority_mode:r.authority_mode,canonical_location:r.canonical_location,creator_is_root_authority:r.authority_boundary.creator_is_root_authority,local_workspace_is_canonical:r.authority_boundary.local_workspace_is_canonical,org_workspace_is_canonical:r.authority_boundary.org_workspace_is_canonical,runtime_cell_can_mutate_canonical_truth:r.authority_boundary.runtime_cell_can_mutate_canonical_truth,owner_role:{role_id:r.owner_role.role_id,occupant_principal:r.owner_role.occupant_principal,replacement_policy:r.owner_role.replacement_policy},tenancy_summary:{initiation_level:t?.initiation_level??(r.authority_mode==="runtime_cell"?"none":"workspace"),initiator_principal:t?.initiator_principal??(r.authority_mode==="runtime_cell"?null:r.creator_principal),verify_before_initiate:t?.verify_before_initiate??r.authority_mode==="org_remote",plane_authority_granted:t?.plane_authority_granted??!1,host_can_forge_workflow_truth:t?.host_can_forge_workflow_truth??!1,workspace_owner_may_delegate:t?.workspace_owner_may_delegate??r.owner_role.replacement_policy!=="creator_only"},memory_summary:{stores:r.memory_stores.length,filesystem_like_stores:r.memory_stores.filter((e)=>e.mount_mode==="filesystem_like").length,shared_read_write_stores:r.memory_stores.filter((e)=>e.access==="read_write"&&(e.scope==="org"||e.scope==="workspace")).length,consolidation_mode:n,runner_memory_boundary:"external_runner_recall_not_etiquette_authority",consolidation_mutates_input_store:r.consolidation?.mutates_input_store??!1},authority_boundary:r.authority_boundary}}var mg=["ledger","receipt","playback","event","doc","bus","commit"];var h8=["local_importer","manual"],U8=["claude_memory","claude_mem","mempalace","vector_search"],Zx=[...h8,...U8];var _n={manifest_ref:"store.yaml",candidate_files_dir:"candidates/files",candidate_entries_dir:"candidates/entries",rollups_dir:"rollups"};function Zn(r){return Ar(r,".etiquette","memory","stores")}function gh(r){let n=r??new Date().toISOString();if(!Number.isFinite(Date.parse(n)))throw Error("--at must be an ISO-8601 timestamp");return new Date(n).toISOString()}function Pa(r){return O8("sha256").update(JSON.stringify(r)).digest("hex").slice(0,16)}function uh(r,n){if(typeof r!=="object"||r===null||Array.isArray(r))throw Error(`${n} must be an object`);return r}function Wt(r,n){let t=r[n];if(typeof t!=="string"||t.trim().length===0)throw Error(`${n} must be a non-empty string`);return t.trim()}function D8(r,n){let t=r[n];if(typeof t!=="boolean")throw Error(`${n} must be a boolean`);return t}function Ii(r,n,t){if(typeof n!=="string"||!r.includes(n))throw Error(`${t} must be one of: ${r.join(", ")}`);return n}function yi(r,n){return Ar(r,n)}function ke(r){return J(r,"store_id"),r}function S8(r){let n=r.trim();if(!n)throw Error("--path is required");if(n.startsWith("/")||n.startsWith("\\")||/^[A-Za-z]:[\\/]/.test(n))throw Error("--path must be repo-relative, not an absolute local path");if(n.includes("\\"))throw Error("--path must use POSIX / separators");let t=Aa.normalize(n);if(t==="."||t.startsWith("../")||t==="..")throw Error("--path must stay inside the memory store");return X(t,"path"),t}function a8(r,n){let t=r.trim();if(!t)throw Error(`${n} is required`);if(t.startsWith("/")||t.startsWith("\\")||/^[A-Za-z]:[\\/]/.test(t))throw Error(`${n} must be store-relative, not an absolute local path`);if(t.includes("\\"))throw Error(`${n} must use POSIX / separators`);let e=Aa.normalize(t);if(e==="."||e.startsWith("../")||e==="..")throw Error(`${n} must stay inside the memory store`);return X(e,n),e.replace(/^\.\/+/,"")}function T8(...r){return r.join("/").replaceAll(R8,"/")}async function Ja(r){let n=await za(r,"utf-8");return ir(n)}async function dh(r,n){await zc(Wa(r),{recursive:!0}),await ja(r,wn(n))}function ka(r,n="memory store"){if(ke(r.store_id),r.access==="read_only"&&r.write_policy!=="none")throw Error(`${n} read_only stores must use write_policy: none`);if(r.access==="read_write"&&r.write_policy==="none")throw Error(`${n} read_write stores require candidate_only or curator_promoted write_policy`);if(r.scope==="org"&&r.access==="read_write"&&r.write_policy!=="curator_promoted")throw Error(`${n} org shared read_write stores require write_policy: curator_promoted`);if(r.scope==="workspace"&&r.access==="read_write"&&r.write_policy==="candidate_only")throw Error(`${n} workspace shared read_write stores require curator_promoted writes`);if(r.access==="read_write"&&r.evidence_required!==!0)throw Error(`${n} read_write stores must require evidence`)}function E8(r){let n=uh(r,"memory_store");if(Ii(["memory-store.v0"],n.schema,"schema")!=="memory-store.v0")throw Error("schema must be memory-store.v0");let t={schema:"memory-store.v0",store_id:Wt(n,"store_id"),scope:Ii(lc,n.scope,"scope"),access:Ii(qc,n.access,"access"),mount_mode:Ii(Nc,n.mount_mode,"mount_mode"),write_policy:Ii(Lc,n.write_policy,"write_policy"),evidence_required:D8(n,"evidence_required"),created_at:Wt(n,"created_at"),storage_layout:_n,authority_boundary:{store_can_authorize_work:!1,agent_can_write_canonical_memory:!1,shared_write_back_requires_promotion:!0}};return ka(t),t}function l8(r){let n=uh(r,"memory_store_entry");if(Ii(["memory-store-entry.v0"],n.schema,"schema")!=="memory-store-entry.v0")throw Error("schema must be memory-store-entry.v0");let t=n.evidence_refs;if(!Array.isArray(t))throw Error("evidence_refs must be an array");return{schema:"memory-store-entry.v0",entry_id:Wt(n,"entry_id"),store_id:Wt(n,"store_id"),path:Wt(n,"path"),status:"candidate",created_at:Wt(n,"created_at"),content_ref:Wt(n,"content_ref"),evidence_refs:t.map((e,i)=>{let _=uh(e,`evidence_refs[${i}]`);return{type:Ii(mg,_.type,`evidence_refs[${i}].type`),ref:Wt(_,"ref")}}),risk_flags:Array.isArray(n.risk_flags)?n.risk_flags.map(String):[],authority_boundary:{entry_can_authorize_work:!1,entry_can_replace_canonical_memory:!1,agent_wrote_canonical_memory:!1}}}function va(r){let n=r.split(",").map((t)=>t.trim()).filter(Boolean).map((t)=>{let e=t.indexOf(":");if(e<=0||e===t.length-1)throw Error("--evidence entries must use type:ref, for example receipt:abc");let i=t.slice(0,e),_=t.slice(e+1);if(!mg.includes(i))throw Error(`--evidence type must be one of: ${mg.join(", ")}`);return X(_,"evidence.ref"),{type:i,ref:_}});if(n.length===0)throw Error("--evidence must include at least one type:ref");return n}async function Ma(r){let n={schema:"memory-store.v0",store_id:ke(r.storeId),scope:r.scope,access:r.access,mount_mode:r.mountMode??"filesystem_like",write_policy:r.writePolicy??(r.access==="read_only"?"none":"candidate_only"),evidence_required:r.evidenceRequired??r.access==="read_write",created_at:gh(r.at),storage_layout:_n,authority_boundary:{store_can_authorize_work:!1,agent_can_write_canonical_memory:!1,shared_write_back_requires_promotion:!0}};ka(n);let t=At(r.storesRoot??Zn(r.projectRoot)),e=yi(t,n.store_id);return await zc(Ar(e,_n.candidate_files_dir),{recursive:!0}),await zc(Ar(e,_n.candidate_entries_dir),{recursive:!0}),await zc(Ar(e,_n.rollups_dir),{recursive:!0}),await dh(Ar(e,_n.manifest_ref),n),n}async function hi(r){let n=At(r.storesRoot??Zn(r.projectRoot));return E8(await Ja(Ar(yi(n,ke(r.storeId)),_n.manifest_ref)))}async function La(r){try{return(await $h(r,{withFileTypes:!0})).filter((t)=>t.isFile()&&/\.ya?ml$/i.test(t.name)).length}catch(n){if(n.code==="ENOENT")return 0;throw n}}async function Va(r,n,t){let e=At(n??Zn(r)),i=yi(e,t.store_id);return{store:t,counts:{candidate_entries:await La(Ar(i,_n.candidate_entries_dir)),rollups:await La(Ar(i,_n.rollups_dir))}}}async function Fa(r){let n=await hi(r);return Va(r.projectRoot,r.storesRoot,n)}async function Ig(r){let n=At(r.storesRoot??Zn(r.projectRoot)),t;try{t=await $h(n,{withFileTypes:!0})}catch(i){if(i.code==="ENOENT")return[];throw i}let e=[];for(let i of t){if(!i.isDirectory())continue;let _=await hi({...r,storeId:i.name});e.push(await Va(r.projectRoot,r.storesRoot,_))}return e.sort((i,_)=>i.store.store_id.localeCompare(_.store.store_id))}async function yg(r){let n=await hi(r);if(n.access==="read_only"||n.write_policy==="none")throw Error(`memory store ${n.store_id} is read-only and cannot accept candidates`);if(n.evidence_required&&r.evidenceRefs.length===0)throw Error(`memory store ${n.store_id} requires evidence refs`);let t=S8(r.path);X(r.content,"content");let e=gh(r.at),i=`mem-entry:${Pa({store_id:n.store_id,path:t,content:r.content,evidence_refs:r.evidenceRefs})}`,_=At(r.storesRoot??Zn(r.projectRoot)),c=yi(_,n.store_id),o=T8(_n.candidate_files_dir,t),u={schema:"memory-store-entry.v0",entry_id:i,store_id:n.store_id,path:t,status:"candidate",created_at:e,content_ref:o,evidence_refs:r.evidenceRefs,risk_flags:rr(r.content),authority_boundary:{entry_can_authorize_work:!1,entry_can_replace_canonical_memory:!1,agent_wrote_canonical_memory:!1}};return await zc(Wa(Ar(c,o)),{recursive:!0}),await ja(Ar(c,o),r.content),await dh(Ar(c,_n.candidate_entries_dir,`${i.replace(":","-")}.yaml`),u),u}async function Ga(r,n,t){let e=At(n??Zn(r)),i=Ar(yi(e,ke(t)),_n.candidate_entries_dir),_;try{_=await $h(i,{withFileTypes:!0})}catch(o){if(o.code==="ENOENT")return[];throw o}let c=[];for(let o of _){if(!o.isFile()||!/\.ya?ml$/i.test(o.name))continue;c.push(l8(await Ja(Ar(i,o.name))))}return c.sort((o,u)=>o.entry_id.localeCompare(u.entry_id))}async function Xa(r){return Ga(r.projectRoot,r.storesRoot,r.storeId)}async function Ba(r){if(r.entry.store_id!==r.storeId)throw Error(`entry ${r.entry.entry_id} belongs to store ${r.entry.store_id}, not ${r.storeId}`);let n=At(r.storesRoot??Zn(r.projectRoot)),t=a8(r.entry.content_ref,"content_ref");return za(Ar(yi(n,ke(r.storeId)),t),"utf-8")}async function Ha(r){if(r.inputStores.length===0)throw Error("--input must include at least one store id");let n=await hi({...r,storeId:r.outputStore});if(n.access!=="read_write"||n.write_policy==="none")throw Error(`consolidation output store ${n.store_id} must be read_write`);let t=(await Promise.all(r.inputStores.map((o)=>Ga(r.projectRoot,r.storesRoot,o)))).flat(),e=gh(r.at),i=`mem-rollup:${Pa({input_stores:r.inputStores,output_store:n.store_id,entries:t.map((o)=>o.entry_id),at:e})}`,_={schema:"memory-consolidation-rollup.v0",rollup_id:i,created_at:e,input_stores:r.inputStores.map(ke),output_store:n.store_id,candidate_count:t.length,entry_refs:t.map((o)=>`${o.store_id}:${o.entry_id}`),summary:t.length===0?"No candidate memory entries were available for consolidation.":`Consolidated ${t.length} candidate memory entr${t.length===1?"y":"ies"} from ${r.inputStores.join(", ")}.`,output_policy:n.write_policy,status:"candidate",authority_boundary:{rollup_can_authorize_work:!1,mutates_input_store:!1,promotes_without_curator:!1}},c=At(r.storesRoot??Zn(r.projectRoot));return await dh(Ar(yi(c,n.store_id),_n.rollups_dir,`${i.replace(":","-")}.yaml`),_),_}function W8(r){let n=r??new Date().toISOString();if(!Number.isFinite(Date.parse(n)))throw Error("--at must be an ISO-8601 timestamp");return new Date(n).toISOString()}function A8(r){return q8("sha256").update(JSON.stringify(r)).digest("hex").slice(0,16)}function Ya(r,n){if(X(r,n),r.startsWith("/")||r.startsWith("\\")||/^[A-Za-z]:[\\/]/.test(r))throw Error(`${n} must be opaque or repo-relative, not a local absolute path`);return r}function Qa(r,n){return J(r,n),r}function P8(r,n){let t=r??`imports/${n}`;if(t.startsWith("/")||t.startsWith("\\")||/^[A-Za-z]:[\\/]/.test(t))throw Error("--path-prefix must be repo-relative");if(t.includes("\\"))throw Error("--path-prefix must use POSIX / separators");let e=j8.normalize(t);if(e==="."||e===".."||e.startsWith("../"))throw Error("--path-prefix must stay inside the target store");return X(e,"path_prefix"),e.replace(/\/+$/g,"")}function J8(r){let n=[...r.evidence_refs,{type:"doc",ref:`memory-entry:${r.entry_id}`}],t=new Set;return n.filter((e)=>{let i=`${e.type}:${e.ref}`;if(t.has(i))return!1;return t.add(i),!0})}async function hg(r){let n=W8(r.at),t=fh(r.sourceProjectRoot),e=fh(r.targetProjectRoot),i=Qa(r.sourceStoreId,"source_store"),_=Qa(r.targetStoreId,"target_store"),c=Ya(r.sourceWorkspaceRef??"child-workspace","source_workspace_ref"),o=Ya(r.targetWorkspaceRef??"parent-workspace","target_workspace_ref"),u=P8(r.pathPrefix,i);await hi({projectRoot:t,storesRoot:r.sourceStoresRoot,storeId:i});let $=await hi({projectRoot:e,storesRoot:r.targetStoresRoot,storeId:_});if($.access!=="read_write"||$.write_policy==="none")throw Error(`target memory store ${_} must be read_write`);let g=await Xa({projectRoot:t,storesRoot:r.sourceStoresRoot,storeId:i}),d=[];for(let b of g){let I=await Ba({projectRoot:t,storesRoot:r.sourceStoresRoot,storeId:i,entry:b}),w=J8(b),h=await yg({projectRoot:e,storesRoot:r.targetStoresRoot,storeId:_,path:`${u}/${b.path}`,content:I,evidenceRefs:w,at:n});d.push({source_entry_id:b.entry_id,source_content_ref:b.content_ref,target_entry_id:h.entry_id,target_content_ref:h.content_ref,target_path:h.path,evidence_refs:w})}let f={schema:"memory-drain-import-receipt.v0",receipt_id:`memory-drain-import:${A8({sourceWorkspaceRef:c,targetWorkspaceRef:o,sourceStoreId:i,targetStoreId:_,imported:d.map((b)=>`${b.source_entry_id}->${b.target_entry_id}`)})}`,created_at:n,source:{workspace_ref:c,store_id:i,candidate_count:g.length},target:{workspace_ref:o,store_id:_,imported_count:d.length},imported_entries:d,authority_boundary:{drain_can_authorize_work:!1,drain_can_promote_memory:!1,drain_can_write_parent_ledger:!1,runtime_pod_can_write_parent_ledger:!1,imported_entries_are_candidates:!0,source_store_mutated:!1}};if(r.receiptPath){let b=fh(r.receiptPath);await N8(z8(b),{recursive:!0}),await L8(b,wn(f))}return f}import{createHash as k8}from"crypto";import{mkdir as v8,writeFile as M8}from"fs/promises";import{dirname as V8,posix as F8,resolve as bh}from"path";function G8(r){let n=r??new Date().toISOString();if(!Number.isFinite(Date.parse(n)))throw Error("--at must be an ISO-8601 timestamp");return new Date(n).toISOString()}function X8(r){return k8("sha256").update(JSON.stringify(r)).digest("hex").slice(0,16)}function Ka(r,n){return J(r,n),r}function B8(r){return J(r,"shard_id"),r}function Ca(r,n){if(X(r,n),r.startsWith("/")||r.startsWith("\\")||/^[A-Za-z]:[\\/]/.test(r))throw Error(`${n} must be opaque or repo-relative, not a local absolute path`);return r}function H8(r){if(!r)return;if(r.startsWith("/")||r.startsWith("\\")||/^[A-Za-z]:[\\/]/.test(r))throw Error("--receipt-dir must be repo-relative");if(r.includes("\\"))throw Error("--receipt-dir must use POSIX / separators");let n=F8.normalize(r);if(n==="."||n===".."||n.startsWith("../"))throw Error("--receipt-dir must stay inside the target project");return X(n,"receipt_dir"),n.replace(/\/+$/g,"")}function Y8(r,n){return r?`${r}/${n}.memory-drain-import-receipt.yaml`:void 0}function Q8(r,n){return n?bh(r,n):void 0}function K8(r,n){return`imports/${r}/${n}`}async function Za(r){let n=G8(r.at),t=bh(r.targetProjectRoot),e=Ka(r.sourceStoreId,"source_store"),i=Ka(r.targetStoreId,"target_store"),_=Ca(r.targetWorkspaceRef??"org-workspace","target_workspace_ref"),c=H8(r.receiptDir);if(r.shards.length===0)throw Error("--shard must include at least one id=path entry");let o=new Set,u=[];for(let g of r.shards){let d=B8(g.shardId);if(o.has(d))throw Error(`duplicate shard id: ${d}`);o.add(d);let f=Ca(g.sourceWorkspaceRef??d,"source_workspace_ref"),b=Y8(c,d),I=await hg({sourceProjectRoot:g.sourceProjectRoot,targetProjectRoot:t,sourceStoresRoot:r.sourceStoresRoot,targetStoresRoot:r.targetStoresRoot,sourceStoreId:e,targetStoreId:i,sourceWorkspaceRef:f,targetWorkspaceRef:_,pathPrefix:K8(d,e),receiptPath:Q8(t,b),at:n});u.push({shardId:d,sourceWorkspaceRef:f,receipt:I,receiptRef:b})}let $={schema:"memory-sharded-drain-import-receipt.v0",receipt_id:`memory-sharded-drain-import:${X8({targetWorkspaceRef:_,sourceStoreId:e,targetStoreId:i,shards:u.map((g)=>`${g.shardId}:${g.receipt.receipt_id}`)})}`,created_at:n,topology:{drain_topology:"sharded_workspace_drains",shard_key:"workspace_or_team",shard_count:u.length,candidate_import_surface:"candidate_import",promotion_surface:"authority_promotion_gate",single_global_drain_is_demo_only:!0},source:{source_store_id:e,target_workspace_ref:_,target_store_id:i},shards:u.map((g)=>({shard_id:g.shardId,source_workspace_ref:g.sourceWorkspaceRef,source_store_id:e,target_store_id:i,child_receipt_id:g.receipt.receipt_id,...g.receiptRef?{child_receipt_ref:g.receiptRef}:{},candidate_count:g.receipt.source.candidate_count,imported_count:g.receipt.target.imported_count})),totals:{candidate_count:u.reduce((g,d)=>g+d.receipt.source.candidate_count,0),imported_count:u.reduce((g,d)=>g+d.receipt.target.imported_count,0)},authority_boundary:{sharded_drain_can_authorize_work:!1,sharded_drain_can_promote_candidates:!1,sharded_drain_can_write_parent_ledger:!1,child_drains_can_write_parent_ledger:!1,candidate_import_is_canonical_truth:!1,imported_entries_are_candidates:!0,promotion_gate_required:!0}};if(r.receiptPath){let g=bh(r.receiptPath);await v8(V8(g),{recursive:!0}),await M8(g,wn($))}return $}import{resolve as Ug}from"path";function wh(r){let n=Ug(r.projectRoot),t=Ln(r.dbPath??Cn(n));try{return t.search(r.query,r.limit)}finally{t.close()}}function xa(r){let n=Ug(r.projectRoot),t=Ln(r.dbPath??Cn(n));try{return t.show(r.capsuleId)}finally{t.close()}}function pa(r){let n=Ug(r.projectRoot),t=Ln(r.dbPath??Cn(n));try{return t.stale(r.limit)}finally{t.close()}}function sa(r){let n=Ug(r.projectRoot),t=Ln(r.dbPath??Cn(n));try{return t.rejected(r.limit)}finally{t.close()}}function rT(r){return wh({projectRoot:r.projectRoot,dbPath:r.dbPath,query:r.topic,limit:r.limit})}import{existsSync as ve}from"fs";import{readdir as tT,readFile as C8}from"fs/promises";import{extname as iT,join as jc,resolve as nT}from"path";var eT=new Set([".md",".yaml",".yml",".json",".jsonl",".ndjson",".txt"]);async function Z8(r,n){let t=jc(r,n);if(!ve(t))return 0;let e=0;async function i(_){let c=await tT(_,{withFileTypes:!0});for(let o of c){let u=jc(_,o.name);if(o.isDirectory()){if(o.name==="node_modules"||o.name===".git"||o.name==="_worktrees")continue;await i(u);continue}if(o.isFile()&&eT.has(iT(o.name)))e+=1}}return await i(t),e}async function x8(r){let n=jc(r,"docs","work","receipts");if(!ve(n))return 0;let t=0;async function e(i){let _=await tT(i,{withFileTypes:!0});for(let c of _){let o=jc(i,c.name);if(c.isDirectory()){await e(o);continue}if(!c.isFile()||!eT.has(iT(c.name)))continue;try{let u=await C8(o,"utf-8"),$=ir(u);if(typeof $==="object"&&$!==null&&!Array.isArray($)&&$.schema==="memory-drain-import-receipt.v0")t+=1}catch{}}}return await e(n),t}function p8(r){return r.reduce((n,t)=>({candidate_entries:n.candidate_entries+t.counts.candidate_entries,rollups:n.rollups+t.counts.rollups}),{candidate_entries:0,rollups:0})}async function _T(r){let n=nT(r.projectRoot),t=r.dbPath??Cn(n),e=nT(r.storesRoot??Zn(n)),i=await oh(n),_=await Promise.all(ch.map(async(g)=>({path:g,present:ve(jc(n,g)),file_count:await Z8(n,g)}))),c;if(ve(t)){let g=Ln(t);try{c=g.stats()}finally{g.close()}}else c={candidates:{total:0,pending:0,promoted:0,rejected:0},recall_capsules:0};let o=await Ig({projectRoot:n,storesRoot:e}),u=p8(o),$=await x8(n);return{schema:"memory-capability-status.v0",module_status:"experimental",parity_posture:{managed_runtime_filesystem_memory:"partial",mem0_style_semantic_memory:"reserved",full_feature_parity_claimed:!1},evidence_sources:{approved_scan_dirs:_,approved_file_count:i.length,active_import_adapters:["local_importer","manual"],reserved_import_adapters:["provider_memory_importers"]},recall_index:{db_initialized:ve(t),search_adapter:"sqlite_fts",vector_adapter:"reserved",stats:c},store_lifecycle:{stores_root_initialized:ve(e),store_count:o.length,candidate_entries:u.candidate_entries,rollups:u.rollups,stores:o},remote_writeback:{mode:"candidate_only",drain_import_receipts:$,drain_can_write_parent_ledger:!1},consolidation:{status:"candidate_rollups_available",rollups:u.rollups,marination_is_same_primitive:!1},authority_boundary:{memory_can_authorize_work:!1,memory_can_close_task:!1,memory_can_merge:!1,memory_can_mutate_ledger:!1,memory_is_execution_truth:!1},missing_for_full_parity:["semantic vector adapter","scheduled curator promotion job","org_remote memory promotion policy UI","provider memory importer adapters"]}}var cT=new Set(["index","search","show","preflight","context","status","stale","rejected","store","consolidate","drain-import","sharded-drain-import"]);function oT(r){return r==="memory"}function Wc(r,n){if(r===void 0)return n;let t=dn(r,"limit");if(t<1||t>50)throw Error("--limit must be between 1 and 50");return t}function mh(r){if(r.length===0)return`memory: no matching capsules
|
|
1092
|
+
`;return`${r.map((n)=>[`capsule: ${n.capsule_id}`,`title: ${n.title}`,`category: ${n.category}`,`confidence: ${n.confidence}`,`stale_status: ${n.stale_status}`,`evidence_count: ${n.evidence_count}`].join(`
|
|
1093
|
+
`)).join(`
|
|
1094
|
+
---
|
|
1095
|
+
`)}
|
|
1096
|
+
`}function s8(r){if(r.length===0)return`memory: no rejected candidates
|
|
1097
|
+
`;return`${r.map((n)=>[`candidate: ${n.candidate_id}`,`title: ${n.title}`,`category: ${n.category}`,`risk_flags: ${n.risk_flags.join(", ")||"none"}`,`rejection_reasons: ${n.rejection_reasons.join(", ")||"none"}`,`source_refs: ${n.source_refs.map((t)=>`${t.type}:${t.ref}`).join(", ")}`].join(`
|
|
1098
|
+
`)).join(`
|
|
1099
|
+
---
|
|
1100
|
+
`)}
|
|
1101
|
+
`}function rB(r){let n=[r.scope.org_id?`org_id=${r.scope.org_id}`:void 0,r.scope.workspace_id?`workspace_id=${r.scope.workspace_id}`:void 0,r.scope.lane_ref?`lane_ref=${r.scope.lane_ref}`:void 0,r.scope.task_ref?`task_ref=${r.scope.task_ref}`:void 0].filter(Boolean).join(" "),t=r.items.length===0?[" capsules: none"]:r.items.flatMap((e)=>[` - ${e.capsule_id}`,` title: ${e.title}`,` category: ${e.category}`,` confidence: ${e.confidence}`,` stale_status: ${e.stale_status}`,` evidence_refs: ${e.evidence_refs.map((i)=>`${i.type}:${i.ref}`).join(", ")}`]);return["memory_context:",` schema: ${r.schema}`,` query: ${r.query}`,` scope: ${n||"workspace_local"}`," boundary: summaries-only; advisory memory; cannot authorize, close, replace receipts, or mutate ledger",...t].join(`
|
|
1102
|
+
`)+`
|
|
1103
|
+
`}function Og(r,n,t){if(!r.includes(n))throw Error(`--${t} must be one of: ${r.join(", ")}`);return n}function nB(r,n){let t=r[n];if(t===void 0)return;if(t===!0)return!0;if(t==="true")return!0;if(t==="false")return!1;throw Error(`--${n} must be true or false`)}function uT(r){return[`store: ${r.store.store_id}`,`scope: ${r.store.scope}`,`access: ${r.store.access}`,`mount_mode: ${r.store.mount_mode}`,`write_policy: ${r.store.write_policy}`,`evidence_required: ${String(r.store.evidence_required)}`,`candidate_entries: ${r.counts.candidate_entries}`,`rollups: ${r.counts.rollups}`,`agent_can_write_canonical_memory: ${String(r.store.authority_boundary.agent_can_write_canonical_memory)}`].join(`
|
|
1104
|
+
`)}function tB(r){if(r.length===0)return`memory_stores: none
|
|
1105
|
+
`;return`${r.map(uT).join(`
|
|
1106
|
+
---
|
|
1107
|
+
`)}
|
|
1108
|
+
`}function iB(r){return["memory_capability_status:",` schema: ${r.schema}`,` module_status: ${r.module_status}`,` full_feature_parity_claimed: ${String(r.parity_posture.full_feature_parity_claimed)}`,` managed_runtime_filesystem_memory: ${r.parity_posture.managed_runtime_filesystem_memory}`,` mem0_style_semantic_memory: ${r.parity_posture.mem0_style_semantic_memory}`,` approved_file_count: ${r.evidence_sources.approved_file_count}`,` recall_capsules: ${r.recall_index.stats.recall_capsules}`,` memory_candidates: ${r.recall_index.stats.candidates.total}`,` rejected_candidates: ${r.recall_index.stats.candidates.rejected}`,` search_adapter: ${r.recall_index.search_adapter}`,` vector_adapter: ${r.recall_index.vector_adapter}`,` store_count: ${r.store_lifecycle.store_count}`,` store_candidate_entries: ${r.store_lifecycle.candidate_entries}`,` rollups: ${r.store_lifecycle.rollups}`,` drain_import_receipts: ${r.remote_writeback.drain_import_receipts}`,` memory_can_authorize_work: ${String(r.authority_boundary.memory_can_authorize_work)}`,` memory_can_mutate_ledger: ${String(r.authority_boundary.memory_can_mutate_ledger)}`,` memory_is_execution_truth: ${String(r.authority_boundary.memory_is_execution_truth)}`,` marination_is_same_primitive: ${String(r.consolidation.marination_is_same_primitive)}`,` missing_for_full_parity: ${r.missing_for_full_parity.join(", ")}`].join(`
|
|
1109
|
+
`)+`
|
|
1110
|
+
`}function eB(r){let n=br(r);if(n.length===0)throw Error("--shard must include at least one id=path entry");return n.map((t)=>{let e=t.indexOf("=");if(e<=0||e===t.length-1)throw Error("--shard entries must use id=path");let i=t.slice(e+1).trim();if(i.length===0)throw Error("--shard entries must use id=path");return{shardId:t.slice(0,e).trim(),sourceProjectRoot:Un(i)}})}async function $T(r,n){let t=r[1];if(!t||!cT.has(t))throw Error(`memory verb must be one of: ${[...cT].join(", ")}`);let e=Un(m(n,"project")??process.cwd()),i=m(n,"db"),_=Boolean(n.json);if(t==="index"){let o=n.export===!0?Da(e,m(n,"workspace-id")):m(n,"export"),u=Boolean(n["local-private"]);if(u&&!_)console.error(["WARNING: --local-private bypasses only the private-context promotion guard.","Local-private capsules stay local and must not be shared, exported, or used as authority."].join(`
|
|
1111
|
+
`));let $=await aa({projectRoot:e,dbPath:i,exportDir:o,localPrivate:u,orgId:m(n,"org-id"),workspaceId:m(n,"workspace-id"),confirmSharedExport:Boolean(n["confirm-shared-export"])});console.log(_?JSON.stringify($,null,2):["memory_index:",` candidates: ${$.candidates}`,` promoted: ${$.promoted}`,` rejected: ${$.rejected}`].join(`
|
|
1112
|
+
`));return}if(t==="status"){let c=m(n,"root")?Un(O(n,"root")):void 0,o=await _T({projectRoot:e,dbPath:i,storesRoot:c});console.log(_?JSON.stringify(o,null,2):iB(o));return}if(t==="store"){let c=r[2];if(!c||!["init","list","show","add"].includes(c))throw Error("memory store verb must be one of: init, list, show, add");let o=m(n,"root")?Un(O(n,"root")):void 0;if(c==="init"){let $=Og(qc,O(n,"access"),"access"),g=await Ma({projectRoot:e,storesRoot:o,storeId:O(n,"store"),scope:Og(lc,O(n,"scope"),"scope"),access:$,mountMode:m(n,"mount-mode")?Og(Nc,O(n,"mount-mode"),"mount-mode"):void 0,writePolicy:m(n,"write-policy")?Og(Lc,O(n,"write-policy"),"write-policy"):void 0,evidenceRequired:nB(n,"evidence-required"),at:m(n,"at")});console.log(_?JSON.stringify(g,null,2):["memory_store_init:",` store_id: ${g.store_id}`,` scope: ${g.scope}`,` access: ${g.access}`,` write_policy: ${g.write_policy}`,` agent_can_write_canonical_memory: ${String(g.authority_boundary.agent_can_write_canonical_memory)}`].join(`
|
|
1113
|
+
`));return}if(c==="list"){let $=await Ig({projectRoot:e,storesRoot:o});console.log(_?JSON.stringify($,null,2):tB($));return}if(c==="show"){let $=await Fa({projectRoot:e,storesRoot:o,storeId:O(n,"store")});console.log(_?JSON.stringify($,null,2):`${uT($)}
|
|
1114
|
+
`);return}let u=await yg({projectRoot:e,storesRoot:o,storeId:O(n,"store"),path:O(n,"path"),content:O(n,"content"),evidenceRefs:va(O(n,"evidence")),at:m(n,"at")});console.log(_?JSON.stringify(u,null,2):["memory_store_candidate:",` entry_id: ${u.entry_id}`,` store_id: ${u.store_id}`,` path: ${u.path}`,` content_ref: ${u.content_ref}`,` evidence_refs: ${u.evidence_refs.map(($)=>`${$.type}:${$.ref}`).join(", ")}`,` agent_wrote_canonical_memory: ${String(u.authority_boundary.agent_wrote_canonical_memory)}`].join(`
|
|
1115
|
+
`));return}if(t==="consolidate"){let c=m(n,"root")?Un(O(n,"root")):void 0,o=await Ha({projectRoot:e,storesRoot:c,inputStores:br(n.input),outputStore:O(n,"out"),at:m(n,"at")});console.log(_?JSON.stringify(o,null,2):["memory_consolidation_rollup:",` rollup_id: ${o.rollup_id}`,` input_stores: ${o.input_stores.join(", ")}`,` output_store: ${o.output_store}`,` candidate_count: ${o.candidate_count}`,` output_policy: ${o.output_policy}`,` mutates_input_store: ${String(o.authority_boundary.mutates_input_store)}`,` promotes_without_curator: ${String(o.authority_boundary.promotes_without_curator)}`].join(`
|
|
1116
|
+
`));return}if(t==="drain-import"){let c=await hg({sourceProjectRoot:Un(O(n,"from-project")),targetProjectRoot:e,sourceStoresRoot:m(n,"from-root")?Un(O(n,"from-root")):void 0,targetStoresRoot:m(n,"to-root")?Un(O(n,"to-root")):void 0,sourceStoreId:O(n,"from-store"),targetStoreId:O(n,"to-store"),sourceWorkspaceRef:m(n,"source-ref"),targetWorkspaceRef:m(n,"target-ref"),pathPrefix:m(n,"path-prefix"),receiptPath:m(n,"receipt")?Un(O(n,"receipt")):void 0,at:m(n,"at")});console.log(_?JSON.stringify(c,null,2):["memory_drain_import:",` receipt_id: ${c.receipt_id}`,` source: ${c.source.workspace_ref}/${c.source.store_id}`,` target: ${c.target.workspace_ref}/${c.target.store_id}`,` imported_count: ${c.target.imported_count}`,` drain_can_write_parent_ledger: ${String(c.authority_boundary.drain_can_write_parent_ledger)}`,` imported_entries_are_candidates: ${String(c.authority_boundary.imported_entries_are_candidates)}`,` source_store_mutated: ${String(c.authority_boundary.source_store_mutated)}`].join(`
|
|
1117
|
+
`));return}if(t==="sharded-drain-import"){let c=await Za({targetProjectRoot:e,sourceStoreId:O(n,"from-store"),targetStoreId:O(n,"to-store"),shards:eB(n.shard),sourceStoresRoot:m(n,"from-root")?Un(O(n,"from-root")):void 0,targetStoresRoot:m(n,"to-root")?Un(O(n,"to-root")):void 0,targetWorkspaceRef:m(n,"target-ref"),receiptDir:m(n,"receipt-dir"),receiptPath:m(n,"receipt")?Un(O(n,"receipt")):void 0,at:m(n,"at")});console.log(_?JSON.stringify(c,null,2):["memory_sharded_drain_import:",` receipt_id: ${c.receipt_id}`,` drain_topology: ${c.topology.drain_topology}`,` shard_key: ${c.topology.shard_key}`,` shard_count: ${c.topology.shard_count}`,` imported_count: ${c.totals.imported_count}`,` promotion_gate_required: ${String(c.authority_boundary.promotion_gate_required)}`,` sharded_drain_can_write_parent_ledger: ${String(c.authority_boundary.sharded_drain_can_write_parent_ledger)}`,` candidate_import_is_canonical_truth: ${String(c.authority_boundary.candidate_import_is_canonical_truth)}`].join(`
|
|
1118
|
+
`));return}if(t==="search"){let c=r.slice(2).join(" ").trim();if(!c)throw Error("<query> is required");let o=wh({projectRoot:e,dbPath:i,query:c,limit:Wc(n.limit,10)});console.log(_?JSON.stringify(o,null,2):mh(o));return}if(t==="show"){let c=r[2];if(!c)throw Error("<capsule_id> is required");let o=xa({projectRoot:e,dbPath:i,capsuleId:c});if(!o)throw Error(`unknown capsule: ${c}`);console.log(JSON.stringify(o,null,2));return}if(t==="preflight"){let c=r.slice(2).join(" ").trim();if(!c)throw Error("<lane-or-task> is required");let o=rT({projectRoot:e,dbPath:i,topic:c,limit:Wc(n.limit,5)});console.log(_?JSON.stringify(o,null,2):mh(o));return}if(t==="context"){let c=r.slice(2).join(" ").trim(),o=m(n,"query")??(c||void 0),u=Ta({projectRoot:e,dbPath:i,query:o,laneRef:m(n,"lane"),taskRef:m(n,"task"),orgId:m(n,"org-id"),workspaceId:m(n,"workspace-id"),limit:Wc(n.limit,5)});console.log(_?JSON.stringify(u,null,2):rB(u));return}if(t==="stale"){let c=pa({projectRoot:e,dbPath:i,limit:Wc(n.limit,10)});console.log(_?JSON.stringify(c,null,2):mh(c));return}if(t==="rejected"){let c=sa({projectRoot:e,dbPath:i,limit:Wc(n.limit,10)});console.log(_?JSON.stringify(c,null,2):s8(c))}}Er();import{resolve as Ui}from"path";import{createHash as _B}from"crypto";import{mkdir as cB,writeFile as oB}from"fs/promises";import{dirname as uB}from"path";function $B(r){return _B("sha256").update(r).digest("hex").slice(0,12)}function gB(r,n){if(r===void 0)return n;if(typeof r==="string")return r;return JSON.stringify(r)}function dB(r){let n=new Set;for(let t of rr(r)){if(t==="contains_local_path")n.add("local_path");if(t==="contains_hostname")n.add("hostname");if(t==="contains_credential")n.add("credential");if(t==="contains_raw_prompt")n.add("raw_prompt");if(t==="contains_raw_tool_output")n.add("raw_tool_output");if(t==="contains_source_snippet")n.add("source_snippet")}if(/\b(?:uncited|citation missing|no evidence_ref|without citation)\b/i.test(r))n.add("uncited_claim");if(/\b(?:unsupported_schema_field|unknown field|extra field|not in schema)\b/i.test(r))n.add("unsupported_schema_field");return[...n]}function fB(r,n){if(r.kind==="conformance")return r.forbidden_content_classes;let t=n.filter((e)=>e.fixture_kind==="known_bad").map((e)=>e.content_class);return[...new Set(t)]}function bB(r,n){if(r.length===0)throw Error("rubric sandbox needs at least one declared content class");if(n.fixtures.filter((e)=>e.fixture_kind==="known_good").length<1)throw Error("fixture coverage requires at least one known_good fixture");for(let e of r)if(n.fixtures.filter((_)=>_.fixture_kind==="known_bad"&&_.content_class===e).length<2)throw Error(`fixture coverage requires at least 2 known_bad fixtures for ${e}`)}function wB(r){if(typeof r==="string"){let n=r.match(/\bvalidation_signal:(pass|warn|reject)\b/i);return n?n[1].toLowerCase():void 0}if(typeof r==="object"&&r!==null&&!Array.isArray(r)){let n=r.validation_signal;if(n==="pass"||n==="warn"||n==="reject")return n}return}function mB(r,n){let t=gB(n.input,n.input_ref);if(r.kind==="validation"){let c=wB(n.input);if(c)return{actual:c,reason:`validation fixture declared ${c}`}}let e=dB(t),i=r.kind==="conformance"?r.forbidden_content_classes:Dc.filter((c)=>c===n.content_class),_=e.filter((c)=>i.includes(c));if(_.length>0)return{actual:"reject",reason:`detected forbidden content class: ${_.sort().join(", ")}`};return{actual:"pass",reason:"no forbidden content classes detected"}}async function gT(r){let n=r.runEnvironment??"local";if(!Lt.includes(n))throw Error(`run_environment must be one of: ${Lt.join(", ")}`);let t=fB(r.rubric,r.fixtureSet.fixtures);bB(t,r.fixtureSet);let e=r.runAt?new Date(r.runAt).toISOString():new Date().toISOString(),i=r.fixtureSet.fixtures.map((c)=>{let o=mB(r.rubric,c);return{fixture_id:c.fixture_id,expected:c.expected,actual:o.actual,reason:o.reason}}),_={schema:"sandbox-run-receipt.v0",receipt_id:`sandbox-run:${r.rubric.rubric_id}:${$B(`${r.fixtureSet.fixture_set_id}:${e}`)}`,rubric_id:r.rubric.rubric_id,rubric_version:r.rubric.rubric_version,fixture_set_ref:`fixture-set:${r.fixtureSet.fixture_set_id}`,results:i,summary:{total_fixtures:i.length,known_bad_rejected:r.fixtureSet.fixtures.filter((c,o)=>c.fixture_kind==="known_bad"&&i[o]?.actual==="reject").length,known_good_accepted:r.fixtureSet.fixtures.filter((c,o)=>c.fixture_kind==="known_good"&&i[o]?.actual==="pass").length,unexpected_outcomes:i.filter((c)=>c.actual!==c.expected).length},run_at:e,run_by:r.runBy,run_environment:n};if(sy(_),r.receiptPath)await cB(uB(r.receiptPath),{recursive:!0}),await oB(r.receiptPath,wn(_));return _}function dT(r){let n={schema_valid_rubric:!0,schema_valid_fixture_set:r.receipt.fixture_set_ref.startsWith("fixture-set:"),sandbox_run_receipt:r.receipt.summary.unexpected_outcomes===0,known_bad_rejection:r.receipt.summary.known_bad_rejected>0,known_good_acceptance:r.receipt.summary.known_good_accepted>0};if(r.receipt.rubric_id!==r.rubric.rubric_id)n.sandbox_run_receipt=!1;if(r.receipt.rubric_version!==r.rubric.rubric_version)n.sandbox_run_receipt=!1;let t=r.policy?.required_evidence??[...ig],e=t.filter((o)=>!n[o]),i=r.grantRef??r.policy?.grant_ref??null;if(!i)e.push("grant_ref");let c=!t.every((o)=>n[o])?"blocked":i?"ready_to_activate":"ready_for_grant";return{rubric_id:r.rubric.rubric_id,rubric_version:r.rubric.rubric_version,evidence:n,missing:e,grant_ref:i,recommendation:c,authority_boundary:{can_activate_rubric:!1,requires_operator_principal_grant:!0}}}var fT=new Set(["validate","sandbox","promote-check"]);function bT(r){return r==="rubric"}function IB(r){if(r===void 0)return"local";if(typeof r!=="string"||!Lt.includes(r))throw Error(`--environment must be one of: ${Lt.join(", ")}`);return r}function yB(r){return["rubric_validate:",` rubric_id: ${r.rubric_id}`,` rubric_version: ${r.rubric_version}`,` kind: ${r.kind}`,` status: ${r.status}`].join(`
|
|
1119
|
+
`)}function hB(r){return["rubric_sandbox:",` receipt_id: ${r.receipt_id}`,` rubric_id: ${r.rubric_id}`,` total_fixtures: ${r.summary.total_fixtures}`,` known_bad_rejected: ${r.summary.known_bad_rejected}`,` known_good_accepted: ${r.summary.known_good_accepted}`,` unexpected_outcomes: ${r.summary.unexpected_outcomes}`].join(`
|
|
1120
|
+
`)}function UB(r){return["rubric_promotion_check:",` rubric_id: ${r.rubric_id}`,` recommendation: ${r.recommendation}`,` missing: ${r.missing.join(", ")||"none"}`,` can_activate_rubric: ${String(r.authority_boundary.can_activate_rubric)}`].join(`
|
|
1121
|
+
`)}async function wT(r,n){let t=r[1];if(!t||!fT.has(t))throw Error(`rubric verb must be one of: ${[...fT].join(", ")}`);let e=Boolean(n.json);if(t==="validate"){let i=await _g(Ui(O(n,"rubric")));console.log(e?JSON.stringify(i,null,2):yB(i));return}if(t==="sandbox"){let i=await _g(Ui(O(n,"rubric"))),_=await L1(Ui(O(n,"fixtures"))),c=await gT({rubric:i,fixtureSet:_,runBy:O(n,"run-by"),runEnvironment:IB(n.environment),runAt:m(n,"at"),receiptPath:m(n,"receipt")?Ui(O(n,"receipt")):void 0});console.log(e?JSON.stringify(c,null,2):hB(c));return}if(t==="promote-check"){let i=await _g(Ui(O(n,"rubric"))),_=await cg(Ui(O(n,"receipt"))),c=m(n,"policy"),o=c?await z1(Ui(c)):void 0,u=dT({rubric:i,receipt:_,policy:o,grantRef:m(n,"grant-ref")});console.log(e?JSON.stringify(u,null,2):UB(u))}}Er();import{resolve as PB}from"path";import{spawnSync as OB}from"child_process";import{access as RB,readFile as UT}from"fs/promises";import{join as xr,posix as DB}from"path";var Uh="0.141.0",Ih="docs/CODEX_CLIENT_COMPATIBILITY.md",SB="https://etiquette.example.com/releases",aB="packages/control/src/agent-plane/index.ts",mT="internal/docs/contracts/production-agent-plane";var TB=["remote-runtime app-server/exec-server canaries","plugin-scoped MCP adapter canaries","hook/action-auth resume canaries"],Rh=[{id:"shell-installer",label:"signed shell installer",kind:"primary",private_repo_compatible:!0,artifact:`install.sh from https://etiquette.example.com over signed artifacts at ${SB}`,ga_note:"Use as the primary first-run path; install user-local and keep agent integrations explicit."},{id:"npm",label:"npm-compatible package registry",kind:"primary",private_repo_compatible:!0,artifact:"signed npm tarball or private npm registry package",ga_note:"Use for Node-heavy teams, CI, and npx-style checks while the source repo remains private."},{id:"homebrew-tap",label:"private Homebrew tap",kind:"wrapper",private_repo_compatible:!0,artifact:"formula wrapper over the same signed CLI artifact",ga_note:"Use for macOS convenience after the npm/global CLI artifact is proven."},{id:"github-release",label:"GitHub release artifact",kind:"primary",private_repo_compatible:!0,artifact:"signed tarball plus SHA256SUMS",ga_note:"Use as a universal artifact channel; the repository may stay private."},{id:"codex-plugin-private",label:"private Codex plugin channel",kind:"plugin",private_repo_compatible:!0,artifact:"Codex plugin/skills/MCP bundle",ga_note:"Use for Codex seat ergonomics; it must not add authority semantics."},{id:"claude-code-plugin-private",label:"private Claude Code plugin channel",kind:"plugin",private_repo_compatible:!0,artifact:"Claude Code plugin/skills/hooks/MCP bundle",ga_note:"Use for Claude Code seat ergonomics; receipts remain workflow proof."},{id:"chocolatey-internal",label:"internal Chocolatey feed",kind:"wrapper",private_repo_compatible:!0,artifact:"Windows wrapper over the same signed CLI artifact",ga_note:"Use after the primary CLI artifact is proven."},{id:"winget-private",label:"private WinGet source",kind:"wrapper",private_repo_compatible:!0,artifact:"Windows manifest over the same signed CLI artifact",ga_note:"Use after the primary CLI artifact is proven."},{id:"secure-addon",label:"secure access-assurance add-on",kind:"secure-addon",private_repo_compatible:!0,artifact:"Supabase/access-assurance/revocation overlay",ga_note:"Use only for teams that need restricted-seat admission."},{id:"runtime-oci",label:"runtime cell OCI image",kind:"runtime-image",private_repo_compatible:!0,artifact:"container image for remote verifier/runtime cells",ga_note:"Use for managed runtime cells, separate from Core CLI GA."}];async function xn(r){try{return await RB(r),!0}catch{return!1}}function OT(r){return typeof r==="object"&&r!==null&&!Array.isArray(r)?r:null}function IT(r){return typeof r==="string"&&r.trim().length>0?r.trim():null}function EB(r){return Array.isArray(r)?r.filter((n)=>typeof n==="string"):[]}function yT(r){let n=OT(r);if(!n)return{};return Object.fromEntries(Object.entries(n).filter((t)=>typeof t[1]==="string"&&t[1].trim().length>0))}function F(r,n,t,e,i){return{id:n,status:r,summary:t,evidence_ref:e,...i?{next_action:i}:{}}}function yh(r,n){return typeof r[n]==="string"&&r[n].trim().length>0}async function hh(r,n,t){let e=r[n]?.trim();if(!e)return{declared:!1,present:!1,ref:"package.json"};let i=e.match(/\b(scripts\/[A-Za-z0-9._/-]+\.sh)\b/)?.[1]??null;if(!i)return{declared:!0,present:!0,ref:"package.json"};return{declared:!0,present:await xn(xr(t,i)),ref:i}}function lB(r){let n=DB.normalize(r.replaceAll("\\","/"));if(n.startsWith("../")||n===".."||n.startsWith("/")||/^[A-Za-z]:\//.test(n))return null;return n}function qB(r,n){if(!r||!n)return null;return`${r.replace(/^@/,"").replaceAll("/","-")}-${n}.tgz`}function NB(r){return typeof r==="string"&&/^\d+\.\d+\.\d+$/.test(r)}function LB(r){if(!r)return null;return/^[a-z0-9][a-z0-9._-]{1,62}[a-z0-9]$/.test(r)?r:null}function zB(r){if(!r)return[];return r.split(",").map((n)=>n.trim()).filter(Boolean)}function jB(r,n,t){if(!t)return F("block","tag_uniqueness","cannot derive release tag for remote uniqueness check","package.json","set a GA package version before checking remote tags");let e=n.trim();if(!e||e.startsWith("-"))return F("block","tag_uniqueness","remote tag uniqueness check requires a safe remote name or URL","operator:--verify-tag-remote","rerun with --verify-tag-remote origin or a trusted remote URL");let i=`refs/tags/${t}`,_=OB("git",["ls-remote","--tags",e,i,`${i}^{}`],{cwd:r,encoding:"utf-8",env:{...process.env,GIT_TERMINAL_PROMPT:"0"},timeout:15000}),c=`git ls-remote --tags ${e} ${i}`;if(_.error)return F("block","tag_uniqueness",`remote tag uniqueness check failed: ${_.error.message}`,c,"verify credentials/network access, then rerun the remote tag check");if(_.status!==0){let o=(_.stderr||_.stdout||"git ls-remote returned non-zero").trim().split(`
|
|
1122
|
+
`)[0];return F("block","tag_uniqueness",`remote tag uniqueness check failed: ${o}`,c,"verify the release remote is reachable before GA")}if(_.stdout.trim().length>0)return F("block","tag_uniqueness",`release tag already exists on target remote: ${t}`,c,"choose a new version or reconcile the existing tag before GA");return F("pass","tag_uniqueness",`remote tag uniqueness verified for ${t} on ${e}`,c)}function WB(r){let n=zB(r),t=new Map(Rh.map((c)=>[c.id,c])),e=[],i=[],_=new Set;for(let c of n){let o=LB(c);if(!o){i.push(c);continue}if(_.has(o))continue;_.add(o);let u=t.get(o);if(u)e.push(u);else i.push(o)}return{selected:e,unknown:i}}function RT(){return Rh.map((r)=>({...r}))}async function Oh(r){try{return await UT(r,"utf-8")}catch{return null}}async function AB(r,n){let t=await xn(xr(r,aB)),e=await xn(xr(r,mT,"README.md"));if(!t&&!e)return;n.push(F("block","production_agent_plane_profiles","agent-plane sources detected; validate from a source workspace, not the devkit package",mT,"run release readiness from a source workspace that carries the agent-plane validator"));return}async function Dh(r){let t=xr(r,"package.json"),e=[],i=null;try{i=OT(JSON.parse(await UT(t,"utf-8")))}catch{i=null}if(!i)return e.push(F("block","package_json","package.json is missing or malformed","package.json","restore a valid root package.json before evaluating release readiness")),hT({name:null,version:null,private:null,bin:{},files:[]},e);let _=IT(i.name),c=IT(i.version),o=typeof i.private==="boolean"?i.private:null,u=yT(i.bin),$=EB(i.files),g=yT(i.scripts);e.push(_&&c?F("pass","package_metadata",`package metadata present: ${_}@${c}`,"package.json"):F("block","package_metadata","package name and version are required","package.json","declare stable package name and version")),e.push(o===!1?F("pass","package_private_gate","package publishing is not blocked by private:true","package.json"):F("block","package_private_gate","package remains private; publish/global distro is intentionally blocked","package.json","flip private only in an explicit release/distribution decision"));let d=Object.entries(u);if(d.length===0)e.push(F("block","bin_entrypoint","no package bin entrypoint is declared","package.json","declare the etiquette CLI bin entrypoint"));else{let S=[],D=[];for(let[,L]of d){let N=lB(L);if(!N){D.push(L);continue}if(!await xn(xr(r,N)))S.push(N)}if(D.length>0)e.push(F("block","bin_entrypoint",`bin entrypoint paths must be repo-relative: ${D.join(", ")}`,"package.json","replace absolute or parent-relative bin paths"));else if(S.length>0)e.push(F("block","bin_entrypoint",`declared bin files are missing: ${S.join(", ")}`,"package.json","restore declared bin files"));else e.push(F("pass","bin_entrypoint",`declared bin entrypoint(s) exist: ${d.map(([L,N])=>`${L}->${N}`).join(", ")}`,"package.json"))}e.push($.length>0?F("pass","files_allowlist",`package files allowlist declared with ${$.length} entr${$.length===1?"y":"ies"}`,"package.json"):F("block","files_allowlist","package files allowlist is missing; pack output may include internal surfaces","package.json","declare package.json files before enabling distribution")),e.push(yh(g,"test")&&yh(g,"typecheck")?F("pass","validation_scripts","test and typecheck scripts are declared","package.json"):F("block","validation_scripts","test and typecheck scripts are required for release readiness","package.json","declare test and typecheck scripts"));let f=yh(g,"release:scan")&&await xn(xr(r,"scripts","release-scan.sh"));e.push(f?F("pass","release_scan","release scan script is declared and present","scripts/release-scan.sh"):F("block","release_scan","release scan script must be declared and present","package.json","wire npm run release:scan to scripts/release-scan.sh"));let b=await hh(g,"release:pack",r);if(!b.declared)e.push(F("block","pack_canary","no release pack canary script is declared","package.json","add a script that proves tarball contents from a fresh package output"));else if(!b.present)e.push(F("block","pack_canary",`release pack script is declared but missing: ${b.ref}`,b.ref,"restore the referenced pack canary script"));else e.push(F("pass","pack_canary","release pack canary script is declared and present",b.ref));let I=await hh(g,"release:checksum",r),w=await hh(g,"release:sign",r);if(!I.declared||!w.declared)e.push(F("block","checksum_signature","checksum/signature posture is not declared","package.json","add checksum and signing scripts or record an explicit internal-channel waiver"));else if(!I.present||!w.present){let S=[I,w].filter((D)=>!D.present).map((D)=>D.ref).join(", ");e.push(F("block","checksum_signature",`checksum/signature script is declared but missing: ${S}`,"package.json","restore the referenced checksum/signing scripts"))}else e.push(F("pass","checksum_signature","checksum and signature scripts are declared and present",`${I.ref}, ${w.ref}`));let h=await xn(xr(r,"scripts","install.sh"));if(e.push(h?F("pass","shell_installer","signed shell installer is present for user-local bootstrap","scripts/install.sh"):F("warn","shell_installer","signed shell installer is not present; package-manager channels remain the only bootstrap path","scripts/install.sh","add a user-local installer before org-wide onboarding")),h){let S=await Oh(xr(r,"scripts","install.sh")),D=S?.includes("--public-key-url")&&S.includes("--public-key-sha256")&&S.includes("public key SHA-256 mismatch");e.push(D?F("pass","installer_trust_bootstrap","installer supports hosted public key URL with SHA-256 pin","scripts/install.sh"):F("warn","installer_trust_bootstrap","installer does not expose a pinned hosted public-key bootstrap path","scripts/install.sh","require public-key URL plus SHA-256 pin before org-wide curl bootstrap"))}e.push(F("warn","package_manager_wrappers","Homebrew, Chocolatey, WinGet, and registry wrappers are not proven by this command","site/guide/distribution.md","treat wrappers as follow-up channels after the signed installer and core tarball are green"));let R=await xn(xr(r,Ih));return e.push(R?F("pass","codex_client_compatibility",`Codex client policy documented; ${Uh}+ recommended and required for remote/plugin-MCP canaries`,Ih):F("warn","codex_client_compatibility",`Codex client policy is not documented; ${Uh}+ should be treated as the remote/plugin-MCP canary floor`,Ih,"add client compatibility guidance before routing remote-runtime or plugin-MCP pilots")),await AB(r,e),hT({name:_,version:c,private:o,bin:u,files:$},e)}async function DT(r,n={}){let t=await Dh(r),e=[],i=t.package.version?`v${t.package.version}`:null,{selected:_,unknown:c}=WB(n.channel??null),o=_.length>0?_.map((I)=>I.id).join(","):null,u=qB(t.package.name,t.package.version);if(e.push(t.verdict==="ready"?F("pass","package_readiness","base release readiness is ready","package.json"):F("block","package_readiness",`base release readiness is blocked: ${t.blockers.join(", ")||"unknown"}`,"package.json","resolve base readiness blockers first")),e.push(NB(t.package.version)?F("pass","ga_version",`package version is GA-shaped: ${t.package.version}`,"package.json"):F("block","ga_version",`package version is not GA-shaped: ${t.package.version??"unknown"}`,"package.json","set a non-prerelease semver version before GA")),_.length>0&&c.length===0)e.push(F("pass","distribution_channel",`distribution channel(s) declared: ${o}`,"operator:--channel"));else if(c.length>0)e.push(F("block","distribution_channel",`unknown distribution channel(s): ${c.join(", ")}`,"operator:--channel",`choose one or more known channels: ${Rh.map((I)=>I.id).join(", ")}`));else e.push(F("block","distribution_channel","GA requires at least one named distribution channel","operator:--channel","rerun with --channel shell-installer,npm or another known channel"));if(n.verifyTagRemote)e.push(jB(r,n.verifyTagRemote,i));else if(n.tagFreeConfirmed===!0)e.push(F("block","tag_uniqueness",`manual confirmation is insufficient for GA tag ${i??"unknown"}; verify the remote directly`,"operator:--tag-free-confirmed","rerun with --verify-tag-remote origin after credentials are available"));else e.push(F("block","tag_uniqueness",`GA requires remote verification that tag ${i??"unknown"} is unused`,"operator:--verify-tag-remote","rerun with --verify-tag-remote origin or another trusted release remote"));if(!u)e.push(F("block","release_artifact","cannot derive package tarball name","package.json","restore package name and version"));else{let I=xr(r,"dist",u),w=xr(r,"dist","SHA256SUMS"),h=await Oh(w);if(!await xn(I))e.push(F("block","release_artifact",`missing release tarball: dist/${u}`,"dist/","run npm run release:checksum after setting the GA version"));else if(!h?.includes(u))e.push(F("block","release_artifact",`dist/SHA256SUMS does not reference ${u}`,"dist/SHA256SUMS","regenerate checksums from the final GA tarball"));else e.push(F("pass","release_artifact",`tarball and checksum manifest present for ${u}`,"dist/SHA256SUMS"))}let $=await Oh(xr(r,"dist","SIGNATURE_MANIFEST.txt")),g=$?.includes("method=openssl-rsa-sha256")&&await xn(xr(r,"dist","SHA256SUMS.sig")),d=$?.includes("method=hmac-sha256")||await xn(xr(r,"dist","SHA256SUMS.hmac"));if(g)e.push(F("pass","trusted_signature","trusted RSA signature exists for dist/SHA256SUMS","dist/SIGNATURE_MANIFEST.txt"));else if(d)e.push(F("block","trusted_signature","HMAC signature is canary-only and cannot satisfy GA","dist/SIGNATURE_MANIFEST.txt","sign dist/SHA256SUMS with ETIQUETTE_RELEASE_SIGNING_KEY"));else e.push(F("block","trusted_signature","trusted release signature is missing","dist/SIGNATURE_REQUIRED.txt","set ETIQUETTE_RELEASE_SIGNING_KEY and run npm run release:sign"));let f=e.filter((I)=>I.status==="block").map((I)=>I.id),b=e.filter((I)=>I.status==="warn").map((I)=>I.id);return{schema:"release-ga-readiness.v0",verdict:f.length===0?"ready":"blocked",channel:o,channels:_,tag:i,package_readiness:t.verdict,checks:e,blockers:f,warnings:b,authority_boundary:{command_can_publish:!1,command_can_sign:!1,command_can_tag:!1,command_can_create_distribution_channel:!1}}}function hT(r,n){let t=n.filter((i)=>i.status==="block").map((i)=>i.id),e=n.filter((i)=>i.status==="warn").map((i)=>i.id);return{schema:"release-readiness.v0",verdict:t.length===0?"ready":"blocked",package:r,client_compatibility:{codex_recommended_minimum:Uh,codex_required_for:TB,core_release_requires_codex:!1},checks:n,blockers:t,warnings:e,authority_boundary:{command_can_publish:!1,command_can_flip_private:!1,command_can_create_distribution_channel:!1}}}var ST=new Set(["readiness","ga-readiness","channels"]);function aT(r){return r==="release"}function JB(r){let n=["release_readiness:",` schema: ${r.schema}`,` verdict: ${r.verdict}`,` package: ${r.package.name??"unknown"}@${r.package.version??"unknown"}`,` private: ${String(r.package.private)}`,` codex_recommended_minimum: ${r.client_compatibility.codex_recommended_minimum}`,` core_release_requires_codex: ${String(r.client_compatibility.core_release_requires_codex)}`,` blockers: ${r.blockers.join(", ")||"none"}`,` warnings: ${r.warnings.join(", ")||"none"}`,` command_can_publish: ${String(r.authority_boundary.command_can_publish)}`,` command_can_flip_private: ${String(r.authority_boundary.command_can_flip_private)}`,` command_can_create_distribution_channel: ${String(r.authority_boundary.command_can_create_distribution_channel)}`];for(let t of r.checks)if(n.push(` - ${t.id}: ${t.status} (${t.summary})`),t.next_action)n.push(` next: ${t.next_action}`);return`${n.join(`
|
|
1123
|
+
`)}
|
|
1124
|
+
`}function kB(r){let n=["release_ga_readiness:",` schema: ${r.schema}`,` verdict: ${r.verdict}`,` channel: ${r.channel??"missing"}`,` tag: ${r.tag??"unknown"}`,` channels: ${r.channels.map((t)=>`${t.id}(${t.kind})`).join(", ")||"none"}`,` package_readiness: ${r.package_readiness}`,` blockers: ${r.blockers.join(", ")||"none"}`,` warnings: ${r.warnings.join(", ")||"none"}`,` command_can_publish: ${String(r.authority_boundary.command_can_publish)}`,` command_can_sign: ${String(r.authority_boundary.command_can_sign)}`,` command_can_tag: ${String(r.authority_boundary.command_can_tag)}`,` command_can_create_distribution_channel: ${String(r.authority_boundary.command_can_create_distribution_channel)}`];for(let t of r.checks)if(n.push(` - ${t.id}: ${t.status} (${t.summary})`),t.next_action)n.push(` next: ${t.next_action}`);return`${n.join(`
|
|
1125
|
+
`)}
|
|
1126
|
+
`}function vB(r){let n=["release_channels:"];for(let t of r)n.push(` - ${t.id}: ${t.kind}`),n.push(` label: ${t.label}`),n.push(` private_repo_compatible: ${String(t.private_repo_compatible)}`),n.push(` artifact: ${t.artifact}`);return`${n.join(`
|
|
1127
|
+
`)}
|
|
1128
|
+
`}async function TT(r,n){let t=r[1];if(!t||!ST.has(t))throw Error(`release verb must be one of: ${[...ST].join(", ")}`);let e=PB(m(n,"project")??process.cwd());if(t==="channels"){let _=RT();console.log(Boolean(n.json)?JSON.stringify({schema:"release-channels.v0",channels:_},null,2):vB(_));return}if(t==="readiness"){let _=await Dh(e);if(console.log(Boolean(n.json)?JSON.stringify(_,null,2):JB(_)),n["fail-on-blocked"]&&_.verdict==="blocked")process.exit(1);return}let i=await DT(e,{channel:m(n,"channel"),tagFreeConfirmed:Boolean(n["tag-free-confirmed"]),verifyTagRemote:m(n,"verify-tag-remote")});if(console.log(Boolean(n.json)?JSON.stringify(i,null,2):kB(i)),n["fail-on-blocked"]&&i.verdict==="blocked")process.exit(1)}Er();import{resolve as ET}from"path";var lT=new Set(["readiness","heartbeat","status","owner-card"]);function qT(r){return r==="seat"}function Me(r,n,t,e){if(n===void 0&&e!==void 0)return e;if(typeof n!=="string"||!r.includes(n))throw Error(`--${t} must be one of: ${r.join(", ")}`);return n}function MB(r,n){if(r===void 0)return n;if(r===!0)return!0;if(r==="true"||r==="1"||r==="yes")return!0;if(r==="false"||r==="0"||r==="no")return!1;throw Error("boolean flags must be true/false, 1/0, yes/no, or bare flag")}function Sh(r,n){if(r===void 0)return;return dn(r,n)}function VB(r){return[`seat: ${r.seat}`,`operational_status: ${r.operational_status}`,`execution_surface: ${r.execution_surface}`,`model_tier: ${r.model_tier}`,`effective_model_tier: ${r.effective_model_tier}`,`capability_source: ${r.capability_source}`,`capability_trusted: ${String(r.capability_trusted)}`,`active_workers: ${r.active_workers}`,`max_recommended_workers: ${r.max_recommended_workers}`,`supports_parallel: ${String(r.supports_parallel)}`,`supported_strategies: ${r.supported_strategies.join(", ")||"none"}`,`unsupported_strategies: ${r.unsupported_strategies.join(", ")||"none"}`,`constraints: ${r.constraints.join(", ")||"none"}`,`last_heartbeat_at: ${r.last_heartbeat_at}`,`stale_after: ${r.stale_after}`,`is_stale: ${String(r.is_stale)}`,`routing_recommendation: ${r.routing_recommendation}`].join(`
|
|
1129
|
+
`)}function FB(r){return["agent_owner_card:",` seat_id: ${r.seat_id}`,` job: ${r.job}`,` owner_principal: ${r.accountability.owner_principal}`,` maintainer: ${r.accountability.maintainer}`,` current_occupant: ${r.current_occupant?.model_id??r.current_occupant?.execution_surface??"none"}`,` occupant_readiness_stale: ${String(r.current_occupant?.is_stale??!0)}`,` review_stale: ${String(r.review.is_stale)}`,` last_reviewed_at: ${r.review.last_reviewed_at}`,` authority_source_ref: ${r.authority.source_ref}`,` allowed_work: ${r.authority.allowed_work.join(", ")}`,` forbidden_work: ${r.authority.forbidden_work.join(", ")}`,` failure_modes: ${r.failure_modes.map((n)=>n.id).join(", ")}`,` warnings: ${r.warnings.join(", ")||"none"}`,` read_model_only: ${String(r.authority_boundary.read_model_only)}`].join(`
|
|
1130
|
+
`)}async function NT(r,n){let t=r[1];if(!t||!lT.has(t))throw Error(`seat verb must be one of: ${[...lT].join(", ")}`);let e=ET(m(n,"project")??process.cwd()),i=m(n,"state"),_=Boolean(n.json),c=m(n,"at");if(t==="readiness"){let o=await q$({projectRoot:e,statePath:i,seat:O(n,"seat"),seatType:Me(fy,n["seat-type"],"seat-type","control_seat"),executionSurface:m(n,"execution-surface")??"generic",declaredBy:Me(["operator_principal","config"],n["declared-by"],"declared-by","operator_principal"),capabilitySource:Me(by,n["capability-source"],"capability-source","config"),operationalStatus:Me(l$,n["operational-status"],"operational-status","operational"),modelTier:Me(wy,n["model-tier"],"model-tier","local_unknown"),modelId:m(n,"model-id"),activeWorkers:Sh(n["active-workers"],"active-workers")??0,maxRecommendedWorkers:Sh(n["max-recommended-workers"],"max-recommended-workers")??1,supportsParallel:MB(n["supports-parallel"],!1),supportedStrategies:br(n["supported-strategies"]).length>0?br(n["supported-strategies"]):["solo"],unsupportedStrategies:br(n["unsupported-strategies"]),constraints:br(n.constraints),at:c});console.log(_?JSON.stringify(o,null,2):["seat_readiness:",` seat: ${o.seat}`,` operational_status: ${o.operational_status}`,` model_tier: ${o.model_tier}`,` capability_trusted: ${String(o.capability_trusted)}`,` stale_after: ${o.stale_after}`].join(`
|
|
1131
|
+
`));return}if(t==="heartbeat"){let o=await ND({projectRoot:e,statePath:i,seat:m(n,"seat"),operationalStatus:n["operational-status"]===void 0?void 0:Me(l$,n["operational-status"],"operational-status"),activeWorkers:Sh(n["active-workers"],"active-workers"),constraints:n.constraints===void 0?void 0:br(n.constraints),at:c});console.log(_?JSON.stringify(o,null,2):["seat_heartbeat:",` seat: ${o.seat}`,` operational_status: ${o.operational_status}`,` active_workers: ${o.active_workers}`,` last_heartbeat_at: ${o.last_heartbeat_at}`,` stale_after: ${o.stale_after}`].join(`
|
|
1132
|
+
`));return}if(t==="status"){let o=await ci(e,i),u=Ie(o,c);console.log(_?JSON.stringify(u,null,2):VB(u));return}if(t==="owner-card"){let o=await By({projectRoot:e,statePath:i,manifestPath:ET(O(n,"manifest")),at:c});console.log(_?JSON.stringify(o,null,2):FB(o))}}Er();import{resolve as GB}from"path";var LT=new Set(["create","note","migrate-project"]);function zT(r){return r==="session"}function XB(r){if(r===void 0)return"explicit";if(r==="explicit"||r==="dynamic")return r;throw Error("--creation-mode must be explicit or dynamic")}function BB(r){let n=r===void 0?"note":r;if(typeof n==="string"&&gc.includes(n))return n;throw Error(`--section must be one of: ${gc.join(", ")}`)}function HB(r){return["session_runbook:",` session_id: ${r.manifest.session_id}`,` project_id: ${r.manifest.project_id}`,` task_ref: ${r.manifest.task_ref}`,` seat: ${r.manifest.seat}`,` creation_mode: ${r.manifest.creation_mode}`,` runbook_ref: ${r.manifest.runbook_ref}`,` manifest_ref: ${r.manifest.manifest_ref}`,` global_governance_ledger: ${r.manifest.ledger_boundary.global_governance_ledger}`,` can_authorize: ${String(r.manifest.authority_boundary.can_authorize)}`,` can_write_global_ledger: ${String(r.manifest.authority_boundary.can_write_global_ledger)}`].join(`
|
|
1133
|
+
`)}function YB(r){return["session_runbook_note:",` session_id: ${r.manifest.session_id}`,` project_id: ${r.manifest.project_id}`,` section: ${r.section}`,` appended_at: ${r.appended_at}`,` note_count: ${r.manifest.note_count}`,` runbook_ref: ${r.manifest.runbook_ref}`,` can_authorize: ${String(r.manifest.authority_boundary.can_authorize)}`,` can_write_global_ledger: ${String(r.manifest.authority_boundary.can_write_global_ledger)}`].join(`
|
|
1134
|
+
`)}function QB(r){return["session_project_binding_migration:",` project_id: ${r.project_id}`,` dry_run: ${String(r.dry_run)}`,` migrated: ${r.migrated.length}`,` unchanged: ${r.unchanged.length}`,` can_authorize: ${String(r.authority_boundary.can_authorize)}`,r.migrated.length>0?` migrated_sessions: ${r.migrated.join(", ")}`:null].filter((n)=>n!==null).join(`
|
|
1135
|
+
`)}async function jT(r,n){let t=r[1];if(!t||!LT.has(t))throw Error(`session verb must be one of: ${[...LT].join(", ")}`);let e=GB(m(n,"project")??process.cwd()),i=Boolean(n.json),_=m(n,"at");if(t==="create"){let o=await a$({projectRoot:e,seat:O(n,"seat"),taskRef:O(n,"task"),sessionId:m(n,"session-id"),operatorPrincipal:m(n,"operator"),ownerPrincipal:m(n,"owner"),targetRef:m(n,"target-ref"),creationMode:XB(n["creation-mode"]),at:_});console.log(i?JSON.stringify(o.manifest,null,2):HB(o));return}if(t==="migrate-project"){let o=await hD({projectRoot:e,dryRun:Boolean(n["dry-run"]),at:_});console.log(i?JSON.stringify(o,null,2):QB(o));return}let c=await dc({projectRoot:e,sessionId:O(n,"session"),section:BB(n.section),message:O(n,"message"),at:_});console.log(i?JSON.stringify({...c.manifest,appended_at:c.appended_at,section:c.section},null,2):YB(c))}Er();import{resolve as Sg}from"path";import{spawnSync as Th}from"child_process";import{existsSync as KB,readFileSync as CB,writeFileSync as ZB}from"fs";import{mkdir as xB,readFile as pB,writeFile as sB}from"fs/promises";import{dirname as vT,join as MT,resolve as Rg}from"path";import{fileURLToPath as rH}from"url";var nH="event-log-merge-driver-install.v0",tH="event-log-merge-driver-status.v0",Ac="etqseq",iH=".etiquette/events/*.ndjson";function VT(){return{can_authorize_work:!1,can_execute_work:!1,can_grant:!1,can_close_work:!1,can_merge_product_code:!1,configures_git_merge_driver_only:!0}}function FT(r){if(!/^[A-Za-z0-9][A-Za-z0-9_-]{0,31}$/.test(r))throw Error("--driver-name must be an opaque Git merge driver name");return r}function GT(r){return`${iH} merge=${r}`}async function XT(r){try{return await pB(r,"utf8")}catch(n){if(n.code==="ENOENT")return"";throw n}}function eH(r){return`'${r.replace(/'/g,"'\\''")}'`}function _H(){let r=process.argv[1]?Rg(process.argv[1]):null,n=r&&KB(r)?r:Rg(vT(rH(import.meta.url)),"..","cli.ts");return`bun ${eH(n)} sync event-log-merge-driver %O %A %B`}function cH(r,n){let t=Th("git",["-C",r,"config","--get",n],{encoding:"utf8"});if(t.status!==0)return null;return t.stdout.trim()||null}function PT(r,n,t){let e=Th("git",["-C",r,"config",n,t],{encoding:"utf8"});if(e.status!==0)throw Error(`git config failed for ${n}: ${e.stderr.trim()||e.status}`);return!0}function BT(r){return Th("git",["-C",r,"rev-parse","--is-inside-work-tree"],{encoding:"utf8"}).status===0}function HT(r,n){return r.split(/\r?\n/).map((t)=>t.trim()).some((t)=>t===GT(n))}function oH(r,n){let t=cH(r,`merge.${n}.driver`);return Boolean(t?.includes("sync event-log-merge-driver"))}async function YT(r){let n=Rg(r.projectRoot),t=FT(r.driverName??Ac),e=GT(t),i=MT(n,".gitattributes"),_=await XT(i),c=HT(_,t),o=!1;if(!c){let d=_.trim().length===0?`${e}
|
|
1136
|
+
`:`${_.replace(/\n*$/,`
|
|
1137
|
+
`)}${e}
|
|
1138
|
+
`;await xB(vT(i),{recursive:!0}),await sB(i,d),o=!0}let u=[],$=!1,g=BT(n);if(!g)u.push("project is not a Git worktree; local merge driver config was not written");else if(r.configureGit!==!1)PT(n,`merge.${t}.name`,"Etiquette event log seq resequencer"),PT(n,`merge.${t}.driver`,r.driverCommand??_H()),$=!0;return{schema:nH,driver_name:t,attributes_ref:".gitattributes",attributes_rule:e,gitattributes_updated:o,git_config_updated:$,git_config_present:g,warnings:u,authority_boundary:VT()}}async function QT(r){let n=Rg(r.projectRoot),t=FT(r.driverName??Ac),e=await XT(MT(n,".gitattributes")),i=HT(e,t),_=BT(n),c=_?oH(n,t):!1,o=[];if(!i)o.push("missing .gitattributes event-log merge rule");if(!_)o.push("project is not a Git worktree");else if(!c)o.push("missing local git merge driver config");return{schema:tH,driver_name:t,attributes_ref:".gitattributes",attributes_configured:i,git_config_present:_,git_config_configured:c,ready:i&&c,warnings:o,authority_boundary:VT()}}function ah(r){let n=CB(r,"utf8");if(n==="")return[];return n.replace(/\n+$/,"").split(`
|
|
1139
|
+
`)}function JT(r,n){return n.length<=r.length&&n.every((t,e)=>r[e]===t)}function kT(r,n,t){try{let e=JSON.parse(r);if(!Number.isInteger(e.seq))throw Error("seq is not an integer");return e}catch(e){throw Error(`${n} appended line ${t+1} is not a valid event: ${e.message}`)}}function uH(r){try{let n=JSON.parse(r);return typeof n.seq==="number"&&Number.isInteger(n.seq)?n.seq:null}catch{return null}}function KT(r){let n=ah(r.ancestorPath),t=ah(r.currentPath),e=ah(r.otherPath);if(!JT(t,n)||!JT(e,n))throw Error("non-append edit detected; refusing automatic event-log merge");let i=t.slice(n.length),_=e.slice(n.length);i.forEach((g,d)=>kT(g,"current",d));let c=[...n,...i],o=c.map(uH).filter((g)=>g!==null),u=(o.length?Math.max(...o):0)+1,$=_.map((g,d)=>{let f=kT(g,"other",d);return f.seq=u,u+=1,JSON.stringify(f)});ZB(r.currentPath,`${[...c,...$].join(`
|
|
1140
|
+
`)}
|
|
1141
|
+
`)}import{createHash as $H}from"crypto";import{readFile as gH}from"fs/promises";var dH=86400000,fH=/\b[a-z][a-z0-9+.-]*:\/\//i,bH=/\b[a-z0-9][a-z0-9-]*(?:\.[a-z0-9][a-z0-9-]*)+\.[a-z]{2,}\b/i,wH=/(?:^|[\s:])(?:\/Users\/|\/home\/|\/private\/|\/tmp\/|~\/|\$HOME|[A-Za-z]:[\\/])/,mH=/(?:sk-[A-Za-z0-9_-]{12,}|ghp_[A-Za-z0-9]{20,}|github_pat_[A-Za-z0-9_]{20,}|xox[baprs]-[A-Za-z0-9-]+|AKIA[0-9A-Z]{16}|(?:^|[\s:=])(?:token|secret|password|api[_-]?key)\s*[:=])/i;function IH(r){let n=r??new Date().toISOString();if(!Number.isFinite(Date.parse(n)))throw Error("--at must be an ISO-8601 timestamp");return new Date(n).toISOString()}function yH(r){return $H("sha256").update(JSON.stringify(r)).digest("hex").slice(0,16)}function hH(r,n){let t=ir(r);if(!t||typeof t!=="object"||Array.isArray(t))throw Error(`${n} must parse as an object`);return t}function Fe(r,n){let t=r[n];if(!t||typeof t!=="object"||Array.isArray(t))throw Error(`${n} must be an object`);return t}function Fr(r,n,t=n){let e=r[n];if(typeof e!=="string"||e.trim().length===0)throw Error(`${t} must be a non-empty string`);return e.trim()}function cn(r,n,t){if(r[n]!==t)throw Error(`${n} must be ${String(t)}`)}function ut(r,n,t={}){let e=r.trim();if(!e||e.length>240)throw Error(`${n} must be a non-empty ref <= 240 chars`);if(fH.test(e)||!t.allowHost&&bH.test(e))throw Error(`${n} must be an opaque ref, not a URL or host`);if(wH.test(e)||e.startsWith("/")||e.startsWith("\\")||/^[A-Za-z]:[\\/]/.test(e))throw Error(`${n} must not include a local path`);if(e.includes("..")||e.includes("\\"))throw Error(`${n} must not include path traversal`);if(mH.test(e))throw Error(`${n} must not include a raw secret or token`);let i=rr(e).filter((_)=>_!=="contains_hostname");if(i.length>0)throw Error(`${n} contains restricted shared-sync content: ${i.join(", ")}`);if(!/^[A-Za-z0-9][A-Za-z0-9._:@/+,-]{0,239}$/.test(e))throw Error(`${n} must be an opaque ref`);return e}function Eh(r,n){return J(r,n),r}function CT(r,n){if(!Number.isFinite(Date.parse(r)))throw Error(`${n} must be an ISO-8601 timestamp`);return new Date(r).toISOString()}function UH(r,n,t){let e=Date.parse(r),i=Date.parse(n),_=Date.parse(t);if(i<=e)throw Error("expires_at must be after created_at");if(i-e>dH)throw Error("invite expiry must be short-lived (<= 24h)");if(_<e)throw Error("invite is not valid yet");if(_>=i)throw Error("invite is expired")}function ZT(r,n,t){if(!n.includes(r))throw Error(`${t} must be one of: ${n.join(", ")}`);return r}async function xT(r){let n=IH(r.at),t=await gH(r.invitePath,"utf-8"),e=hH(t,r.invitePath);if(Fr(e,"schema")!=="sync-invite.v0")throw Error("invite schema must be sync-invite.v0");let i=ut(Fr(e,"invite_id"),"invite_id"),_=Eh(Fr(e,"org_id"),"org_id"),c=Eh(Fr(e,"workspace_id"),"workspace_id"),o=CT(Fr(e,"created_at"),"created_at"),u=CT(Fr(e,"expires_at"),"expires_at");UH(o,u,n);let $=Fe(e,"credential"),g=ut(Fr($,"ref","credential.ref"),"credential.ref");cn($,"single_use",!0),cn($,"scoped",!0),cn($,"revocable",!0);let d=Fe(e,"joiner");ZT(Fr(d,"required_assurance","joiner.required_assurance"),["verified_identity"],"joiner.required_assurance");let f=Fe(e,"installer"),b=ut(Fr(f,"artifact_ref","installer.artifact_ref"),"installer.artifact_ref"),I=ut(Fr(f,"checksum_ref","installer.checksum_ref"),"installer.checksum_ref"),w=ut(Fr(f,"signature_ref","installer.signature_ref"),"installer.signature_ref");cn(f,"curl_pipe_allowed",!1),cn(f,"reviewable_download_required",!0);let h=Fe(e,"git"),R=ut(Fr(h,"remote_ref","git.remote_ref"),"git.remote_ref"),S=ut(Fr(h,"default_branch","git.default_branch"),"git.default_branch",{allowHost:!0}),D=ut(Fr(h,"protected_branch","git.protected_branch"),"git.protected_branch",{allowHost:!0});cn(h,"pull_request_required",!0),cn(h,"drain_required",!0);let L=Fe(e,"sync_policy");cn(L,"auto_fetch",!0),cn(L,"auto_merge",!1);let N=ZT(Fr(L,"merge_control"),["developer_controlled","dev_controlled"],"sync_policy.merge_control");if(cn(L,"receipt_reverify_required",!0),cn(L,"ci_rubrics_required",!0),L.hosted_plane_source_of_truth!==void 0)cn(L,"hosted_plane_source_of_truth",!1);let M=e.webhook===void 0?void 0:Fe(e,"webhook");if(M)cn(M,"nudge_only",!0);let K=Eh(r.joinedBy,"--joined-by"),A=ut(r.claimRef,"--claim-ref");return{schema:"sync-join-plan.v0",plan_id:`sync-join:${yH({inviteId:i,orgId:_,workspaceId:c,joinedBy:K,claimRef:A,createdAt:n})}`,created_at:n,joined_by:K,identity_claim_ref:A,invite:{invite_id:i,org_id:_,workspace_id:c,expires_at:u,credential_ref:g,credential:{single_use:!0,scoped:!0,revocable:!0}},installer:{artifact_ref:b,checksum_ref:I,signature_ref:w,curl_pipe_allowed:!1,reviewable_download_required:!0},git_sync:{substrate:"git",remote_ref:R,default_branch:S,protected_branch:D,invite_maps_to:"git_clone",downstream_sync_maps_to:"git_fetch",upstream_maps_to:"protected_branch_pr",drain_maps_to:"single_writer_drain",auto_fetch:!0,auto_merge:!1,merge_control:N==="dev_controlled"?"developer_controlled":N,pull_request_required:!0,drain_required:!0,event_log_merge_driver_required:!0,webhook_is_nudge_only:!0,bespoke_sync_engine:!1},receipt_policy:{receipt_reverify_required:!0,local_receipt_is_claim_only:!0,ci_rubrics_required:!0,protected_branch_required:!0},authorization_policy:{joiner_verified:!0,workspace_admission_required:!0,action_authorization_required:!0,grant_required_for_mutation:!0},content_boundary:{raw_invite_secret_included:!1,raw_provider_token_included:!1,raw_git_remote_url_included:!1,local_paths_included:!1,install_pipe_included:!1},authority_boundary:{can_authorize_work:!1,can_execute_work:!1,can_grant:!1,can_close_work:!1,can_merge:!1,hosted_plane_is_source_of_truth:!1,sync_plan_is_source_of_truth:!1},next_steps:["verify installer signature and checksum before installing etiquette","resolve remote_ref through the organization credential broker, then git clone","run etiquette sync install-git-merge-driver once inside the clone","run workspace admission with the joined_by principal and identity_claim_ref","use git fetch for downstream updates; merges remain developer controlled","submit work through a protected branch and PR; drain serializes canonical ledger writes","re-run rubrics in CI before accepting any receipt projection"]}}function pT(r){return["sync_join_plan:",` plan_id: ${r.plan_id}`,` joined_by: ${r.joined_by}`,` workspace: ${r.invite.org_id}/${r.invite.workspace_id}`,` invite_expires_at: ${r.invite.expires_at}`,` remote_ref: ${r.git_sync.remote_ref}`,` installer_signature_required: ${String(Boolean(r.installer.signature_ref))}`,` installer_checksum_required: ${String(Boolean(r.installer.checksum_ref))}`,` curl_pipe_allowed: ${String(r.installer.curl_pipe_allowed)}`,` substrate: ${r.git_sync.substrate}`,` auto_fetch: ${String(r.git_sync.auto_fetch)}`,` auto_merge: ${String(r.git_sync.auto_merge)}`,` pull_request_required: ${String(r.git_sync.pull_request_required)}`,` drain_required: ${String(r.git_sync.drain_required)}`,` event_log_merge_driver_required: ${String(r.git_sync.event_log_merge_driver_required)}`,` receipt_reverify_required: ${String(r.receipt_policy.receipt_reverify_required)}`,` bespoke_sync_engine: ${String(r.git_sync.bespoke_sync_engine)}`,` hosted_plane_is_source_of_truth: ${String(r.authority_boundary.hosted_plane_is_source_of_truth)}`].join(`
|
|
1142
|
+
`)}import{createHash as OH}from"crypto";import{mkdir as sT,readdir as RH,readFile as qh,writeFile as DH}from"fs/promises";import{existsSync as SH}from"fs";import{dirname as aH,join as Jc,relative as rE,resolve as Xe}from"path";var TH="workspace-local",EH=".etiquette/outbox/sync";function lH(r){let n=r??new Date().toISOString();if(!Number.isFinite(Date.parse(n)))throw Error("--at must be an ISO-8601 timestamp");return new Date(n).toISOString()}function qH(r){return OH("sha256").update(JSON.stringify(r)).digest("hex").slice(0,16)}function nE(r,n){let t=rr(r).filter((e)=>e!=="contains_credential");if(/\b(?:ANTHROPIC_API_KEY|OPENAI_API_KEY|GEMINI_API_KEY|api[_-]?key|token|secret|credential)\b\s*[:=]/i.test(r)||/(?:^|[\s:=])sk-[A-Za-z0-9_-]{12,}/.test(r))t.push("contains_credential");if(t.length>0)throw Error(`${n} contains restricted shared-sync content: ${t.join(", ")}`)}function NH(r,n){let t=rr(r).filter((e)=>e!=="contains_credential");if(/(?:^|[/:=_-])(?:api[_-]?key|token|secret|credential)(?:[/:=_-]|$)/i.test(r)||/(?:^|[/:=_-])sk-[A-Za-z0-9_-]{12,}/.test(r))t.push("contains_credential");if(t.length>0)throw Error(`${n} contains restricted shared-sync content: ${t.join(", ")}`)}function Dg(r,n){if(r.length===0||r.length>256)throw Error(`${n} must be a non-empty repo-relative ref <= 256 chars`);if(r.startsWith("/")||r.startsWith("\\")||/^[A-Za-z]:[\\/]/.test(r))throw Error(`${n} must be repo-relative`);return NH(r,n),r}function LH(r,n){let t=r.trim().replace(/\s+/g," ").slice(0,200);if(!t)throw Error(`${n} must not be empty`);return X(t,n),t}function Pc(r,n){let t=rE(Xe(r),Xe(n));if(t.length===0||t.startsWith("..")||t.includes("\\"))throw Error(`path must stay inside project root: ${n}`);return Dg(t,"artifact_ref")}function Nh(r,n){let t=rE(Xe(r),Xe(n));if(t.length===0||t.startsWith("..")||t.includes("\\"))throw Error(`outbox path must stay inside project root: ${n}`);return Dg(t,"outbox_ref")}function zH(r,n){let t=Xe(r,n??EH);return Nh(r,t),t}async function lh(r){try{return await qh(r,"utf-8")}catch(n){if(n.code==="ENOENT")return null;throw n}}async function Lh(r){if(!SH(r))return[];let n=await RH(r,{withFileTypes:!0});return(await Promise.all(n.map(async(e)=>{let i=Jc(r,e.name);if(e.isDirectory())return Lh(i);if(e.isFile())return[i];return[]}))).flat().sort()}function jH(r,n){let t=ir(r);if(!t||typeof t!=="object"||Array.isArray(t))throw Error(`${n} must parse as an object`);return t}function tE(r,n){if(typeof r!=="string"||r.length===0)return n;return nE(r,"schema_ref"),r}function Oi(r){return typeof r==="string"&&r.length>0?r:void 0}function Ge(r){if(r==="workspace_local")return"projection-policy:local-to-workspace";if(r==="subscriber_targeted")return"projection-policy:workspace-to-subscriber";return"projection-policy:workspace-to-org"}function WH(r){let n=Dg(r.candidate.artifactRef,"artifact_ref"),t=tE(r.candidate.schemaRef,`${r.candidate.kind}.v0`),e=LH(r.candidate.summary,"summary"),i=Dg(n,"evidence_ref"),_=r.candidate.seatId??r.defaultSeatId;if(r.orgId)J(r.orgId,"source.org_id");if(J(r.workspaceId,"source.workspace_id"),_)J(_,"source.seat_id");if(r.candidate.rawForPolicy)nE(r.candidate.rawForPolicy,n);let c={kind:r.candidate.kind,schema:t,artifactRef:n,summary:e,targetScope:r.candidate.targetScope,policy:r.candidate.projectionPolicyRef};return{schema:"sync-envelope.v0",envelope_id:`sync:${qH(c)}`,created_at:r.createdAt,source:{scope:r.candidate.sourceScope,...r.orgId?{org_id:r.orgId}:{},workspace_id:r.workspaceId,..._?{seat_id:_}:{}},target:{scope:r.candidate.targetScope,...r.orgId?{org_id:r.orgId}:{},workspace_id:r.workspaceId,subscriber_refs:[]},artifact:{kind:r.candidate.kind,schema_ref:t,artifact_ref:n,summary:e,evidence_refs:[{type:r.candidate.evidenceType,ref:i}]},projection_policy_ref:r.candidate.projectionPolicyRef,visibility:r.candidate.targetScope,content_boundary:{metadata_only:!0,raw_ledger_body_included:!1,raw_event_body_included:!1,raw_prompt_included:!1,raw_tool_output_included:!1,source_snippets_included:!1,local_paths_included:!1},authority_boundary:{can_authorize_work:!1,can_execute_work:!1,can_attach_grant:!1,can_replace_local_ledger:!1,remote_is_execution_truth:!1}}}async function AH(r){let n=[],t,e=my(r),i=await lh(e);if(i){let $=JSON.parse(i);t=$.seat,n.push({kind:"readiness_snapshot",sourceScope:"seat_local",targetScope:"org_projected",projectionPolicyRef:Ge("org_projected"),schemaRef:$.schema_version,artifactRef:Pc(r,e),summary:`seat=${$.seat} status=${$.operational_status} model_tier=${$.model_tier}`,evidenceType:"event",rawForPolicy:i,seatId:$.seat})}let _=Iy(r),c=await lh(_);if(c?.trim()){let $=c.trim().split(`
|
|
1143
|
+
`).length;n.push({kind:"event_summary",sourceScope:"seat_local",targetScope:"org_projected",projectionPolicyRef:Ge("org_projected"),schemaRef:"seat-readiness-event.v0.1",artifactRef:Pc(r,_),summary:`seat readiness event summary count=${$}`,evidenceType:"event",rawForPolicy:c,seatId:t})}let o=Jc(r,"docs","work","ledger","LEDGER.md"),u=await lh(o);if(u?.trim())n.push({kind:"ledger_entry",sourceScope:"seat_local",targetScope:"workspace_local",projectionPolicyRef:Ge("workspace_local"),schemaRef:"local-ledger.v0",artifactRef:Pc(r,o),summary:"local ledger available for workspace aggregation",evidenceType:"ledger",rawForPolicy:u,seatId:t});for(let $ of await Lh(Jc(r,"docs","work","receipts"))){if(!/\.(ya?ml|json)$/i.test($))continue;let g=await qh($,"utf-8"),d=jH(g,$),f=Pc(r,$),b=tE(d.schema,"receipt.v0"),I=Oi(d.task_ref)??Oi(d.receipt_id)??Oi(d.record_id)??"unknown";if(n.push({kind:"receipt_metadata",sourceScope:"workspace_local",targetScope:"org_projected",projectionPolicyRef:Ge("org_projected"),schemaRef:b,artifactRef:f,summary:`receipt metadata schema=${b} task=${I}`,evidenceType:"receipt",rawForPolicy:g,seatId:Oi(d.seat)??t}),d.schema==="operational-dispatch-record.v0")n.push({kind:"dispatch_record",sourceScope:"workspace_local",targetScope:"org_projected",projectionPolicyRef:Ge("org_projected"),schemaRef:"operational-dispatch-record.v0",artifactRef:f,summary:`dispatch record decision=${Oi(d.decision)??"unknown"} task=${I}`,evidenceType:"receipt",rawForPolicy:g,seatId:Oi(d.seat)??t})}for(let $ of await Lh(Jc(r,".etiquette","exports"))){if(!/\.json$/i.test($))continue;let g=await qh($,"utf-8"),d=JSON.parse(g);if(d.schema!=="recall-capsule.v0")continue;let f=Oi(d.title)??"recall capsule";n.push({kind:"memory_capsule",sourceScope:"workspace_local",targetScope:"org_projected",projectionPolicyRef:Ge("org_projected"),schemaRef:"recall-capsule.v0",artifactRef:Pc(r,$),summary:`memory capsule title=${f}`,evidenceType:"memory",rawForPolicy:g,seatId:t})}return{candidates:n,defaultSeatId:t}}async function iE(r){let n=Xe(r.projectRoot),t=lH(r.at),e=r.workspaceId??TH;if(J(e,"--workspace-id"),r.orgId)J(r.orgId,"--org-id");if(r.seatId)J(r.seatId,"--seat-id");let i=zH(n,r.outboxDir),{candidates:_,defaultSeatId:c}=await AH(n);await sT(i,{recursive:!0});let o={schema:"sync-stage-result.v0",project_ref:".",outbox_ref:Nh(n,i),staged:0,rejected:[],local_only:[],envelopes:[],authority_boundary:{can_authorize_work:!1,can_execute_work:!1,can_attach_grant:!1,can_replace_local_ledger:!1,hosted_plane_is_source_of_truth:!1}};for(let u of _)try{let $=WH({candidate:u,createdAt:t,orgId:r.orgId,workspaceId:e,defaultSeatId:r.seatId??c}),g=`${$.envelope_id.replace(/[^A-Za-z0-9_-]+/g,"-")}.json`,d=Jc(i,g);await sT(aH(d),{recursive:!0}),await DH(d,`${JSON.stringify($,null,2)}
|
|
1144
|
+
`),o.staged+=1,o.envelopes.push({envelope_id:$.envelope_id,kind:$.artifact.kind,artifact_ref:$.artifact.artifact_ref,outbox_ref:Nh(n,d),target_scope:$.target.scope,projection_policy_ref:$.projection_policy_ref})}catch($){o.rejected.push({artifact_ref:u.artifactRef,kind:u.kind,reason:$.message})}return o}var eE=new Set(["stage","join-plan","install-git-merge-driver","git-driver-status","event-log-merge-driver"]);function _E(r){return r==="sync"}function PH(r){return["sync_stage:",` staged: ${r.staged}`,` rejected: ${r.rejected.length}`,` local_only: ${r.local_only.length}`,` outbox_ref: ${r.outbox_ref}`," boundary: local outbox only; no network, no execution, no authorization, no grant attachment",...r.envelopes.map((n)=>` - ${n.kind} ${n.artifact_ref} -> ${n.outbox_ref} (${n.target_scope})`),...r.rejected.map((n)=>` rejected: ${n.kind} ${n.artifact_ref} - ${n.reason}`)].join(`
|
|
1145
|
+
`)}function JH(r){return["event_log_merge_driver_install:",` driver_name: ${r.driver_name}`,` attributes_ref: ${r.attributes_ref}`,` attributes_rule: ${r.attributes_rule}`,` gitattributes_updated: ${String(r.gitattributes_updated)}`,` git_config_updated: ${String(r.git_config_updated)}`,` git_config_present: ${String(r.git_config_present)}`,` warnings: ${r.warnings.join(", ")||"none"}`," boundary: Git config only; no merge, push, grant, close, or ledger mutation"].join(`
|
|
1146
|
+
`)}function kH(r){return["event_log_merge_driver_status:",` driver_name: ${r.driver_name}`,` attributes_configured: ${String(r.attributes_configured)}`,` git_config_present: ${String(r.git_config_present)}`,` git_config_configured: ${String(r.git_config_configured)}`,` ready: ${String(r.ready)}`,` warnings: ${r.warnings.join(", ")||"none"}`," boundary: read-only status; no merge, push, grant, close, or ledger mutation"].join(`
|
|
1147
|
+
`)}async function cE(r,n){let t=r[1];if(!t||!eE.has(t))throw Error(`sync verb must be one of: ${[...eE].join(", ")}`);if(t==="join-plan"){let i=await xT({invitePath:Sg(O(n,"invite")),joinedBy:O(n,"joined-by"),claimRef:O(n,"claim-ref"),at:m(n,"at")});console.log(n.json?JSON.stringify(i,null,2):pT(i));return}if(t==="install-git-merge-driver"){let i=await YT({projectRoot:Sg(m(n,"project")??process.cwd()),driverName:m(n,"driver-name")??Ac,configureGit:n["skip-git-config"]!==!0,driverCommand:m(n,"driver-command")});console.log(n.json?JSON.stringify(i,null,2):JH(i));return}if(t==="git-driver-status"){let i=await QT({projectRoot:Sg(m(n,"project")??process.cwd()),driverName:m(n,"driver-name")??Ac});console.log(n.json?JSON.stringify(i,null,2):kH(i));return}if(t==="event-log-merge-driver"){let i=r[2],_=r[3],c=r[4];if(!i||!_||!c)throw Error("sync event-log-merge-driver requires <ancestor> <current> <other>");KT({ancestorPath:i,currentPath:_,otherPath:c});return}let e=await iE({projectRoot:Sg(m(n,"project")??process.cwd()),outboxDir:m(n,"outbox"),workspaceId:m(n,"workspace-id"),orgId:m(n,"org-id"),seatId:m(n,"seat-id"),at:m(n,"at")});console.log(n.json?JSON.stringify(e,null,2):PH(e))}Er();import{resolve as zh}from"path";var oE=new Set(["validate","explain","check"]);function uE(r){return r==="workflow"}function vH(r){if(!r||!je.includes(r))throw Error(`workflow mode type must be one of: ${je.join(", ")}`);return r}function MH(r){return["workflow_mode_validate:",` mode_id: ${r.mode_id}`,` mode_version: ${r.mode_version}`,` mode_type: ${r.mode_type}`,` authority_status: ${r.authority_status}`,` advisory_consensus_can_authorize: ${String(r.grant.advisory_consensus_can_authorize)}`," can_authorize: false"," can_attach_grant: false"].join(`
|
|
1148
|
+
`)}function VH(r){return["workflow_mode_explain:",` mode_type: ${r.mode_type}`,` summary: ${r.summary}`,` use_when: ${r.use_when.join(", ")}`,` boundary: ${r.boundary.join(", ")}`].join(`
|
|
1149
|
+
`)}function FH(r){return["workflow_check:",` task_ref: ${r.task_ref}`,` mode_id: ${r.mode_id}`,` mode_type: ${r.mode_type}`,` recommendation: ${r.recommendation}`,` missing: ${r.missing.join(", ")||"none"}`,` warnings: ${r.warnings.join(", ")||"none"}`,` can_authorize: ${String(r.authority_boundary.can_authorize)}`,` can_attach_grant: ${String(r.authority_boundary.can_attach_grant)}`,` consensus_can_authorize: ${String(r.authority_boundary.consensus_can_authorize)}`].join(`
|
|
1150
|
+
`)}async function $E(r,n){let t=r[1];if(!t||!oE.has(t))throw Error(`workflow verb must be one of: ${[...oE].join(", ")}`);let e=Boolean(n.json);if(t==="validate"){let i=await ac(zh(O(n,"mode")));console.log(e?JSON.stringify(i,null,2):MH(i));return}if(t==="explain"){let i=j1(vH(r[2]));console.log(e?JSON.stringify(i,null,2):VH(i));return}if(t==="check"){let i=await ac(zh(O(n,"mode"))),_=await ug(zh(O(n,"task"))),c=og(i,_);console.log(e?JSON.stringify(c,null,2):FH(c))}}Er();import{resolve as GH}from"path";var gE=new Set(["authority"]);function dE(r){return r==="workspace"}function XH(r){return["workspace_authority_validation:",` workspace_id: ${r.workspace_id}`,r.org_id?` org_id: ${r.org_id}`:void 0,` verdict: ${r.verdict}`,` authority_mode: ${r.authority_mode}`,` canonical_location: ${r.canonical_location}`,` creator_is_root_authority: ${String(r.creator_is_root_authority)}`,` local_workspace_is_canonical: ${String(r.local_workspace_is_canonical)}`,` org_workspace_is_canonical: ${String(r.org_workspace_is_canonical)}`,` runtime_cell_can_mutate_canonical_truth: ${String(r.runtime_cell_can_mutate_canonical_truth)}`,` owner_role: ${r.owner_role.role_id}`,` owner_occupant: ${r.owner_role.occupant_principal}`,` owner_replacement_policy: ${r.owner_role.replacement_policy}`,` memory_stores: ${r.memory_summary.stores}`,` filesystem_like_memory_stores: ${r.memory_summary.filesystem_like_stores}`,` shared_read_write_memory_stores: ${r.memory_summary.shared_read_write_stores}`,` consolidation_mode: ${r.memory_summary.consolidation_mode}`,` runner_memory_boundary: ${r.memory_summary.runner_memory_boundary}`,` consolidation_mutates_input_store: ${String(r.memory_summary.consolidation_mutates_input_store)}`," boundary: authority roots in the declared canonical workspace; memory/consolidation cannot authorize work"].filter((n)=>Boolean(n)).join(`
|
|
1151
|
+
`)}async function fE(r,n){let t=r[1];if(!t||!gE.has(t))throw Error(`workspace verb must be one of: ${[...gE].join(", ")}`);let e=Boolean(n.json);if(t==="authority"){let i=await Na(GH(O(n,"profile")));console.log(e?JSON.stringify(i,null,2):XH(i))}}function BE(r){let n=r instanceof Error?r.message:String(r);console.error(`error: ${n}`),process.exit(1)}process.on("uncaughtException",BE);process.on("unhandledRejection",BE);var{positionals:Lr,flags:zr}=ZO(process.argv.slice(2)),er=Lr[0],zY=new Set(["session-open","session-status","turn-open","turn-close","session-command","session-project","session-rebuild","seat-validate"]);if(!er){if(zr.help)console.error(Ve()),process.exit(0);console.error(WT()),process.exit(1)}if(er==="help"||zr.help)console.error(Lr[1]==="advanced"?AT():Ve()),process.exit(0);if(zY.has(er)){let{dispatchSupervision:r}=await Promise.resolve().then(() => (XE(),GE));await r(er,Lr,zr),process.exit(0)}if(er==="agent-plane")console.error("agent-plane commands are not included in the local devkit; they return with the remote runner-plane work."),process.exit(1);if(oT(er))await $T(Lr,zr),process.exit(0);if(er==="mcp")console.error("mcp commands are not included in the local devkit; use a source workspace."),process.exit(1);if(er==="parity")console.error("parity commands are not included in the local devkit; use a source workspace."),process.exit(1);if(_1(er))await c1(Lr,zr),process.exit(0);if(Z1(er))await x1(Lr,zr),process.exit(0);if(G1(er))await X1(Lr,zr),process.exit(0);if(er==="hosted")console.error("hosted commands are not included in the local devkit; use a hosted/control-plane source workspace."),process.exit(1);if(er==="integration")console.error("integration commands are not included in the local devkit; use a source workspace."),process.exit(1);if(ma(er))await Ia(Lr,zr),process.exit(0);if(er==="linear")console.error("linear commands are not included in the local devkit; use a source workspace."),process.exit(1);if(M1(er))await V1(Lr,zr),process.exit(0);if(bT(er))await wT(Lr,zr),process.exit(0);if(aT(er))await TT(Lr,zr),process.exit(0);if(er==="remote")console.error("remote commands are not included in the local devkit; remote execution ships with the hosted workspace product later."),process.exit(1);if(er==="runtime")console.error("runtime commands are not included in the local devkit; use an infra/runtime source workspace."),process.exit(1);if(qT(er))await NT(Lr,zr),process.exit(0);if(zT(er))await jT(Lr,zr),process.exit(0);if(_E(er))await cE(Lr,zr),process.exit(0);if(uE(er))await $E(Lr,zr),process.exit(0);if(bS(er))await AS(Lr,zr),process.exit(0);if(dE(er))await fE(Lr,zr),process.exit(0);console.error(`unknown command: ${er}`);console.error("");console.error(Ve());process.exit(1);
|