@shadowclone/cli 0.0.7 → 0.0.8

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.
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env bun
2
2
  // @bun
3
- var Nx=Object.defineProperty;var Mx=(e)=>e;function Fx(e,t){this[e]=Mx.bind(null,t)}var Bx=(e,t)=>{for(var r in t)Nx(e,r,{get:t[r],enumerable:!0,configurable:!0,set:Fx.bind(t,r)})};var wo={name:"@shadowclone/cli",version:"0.0.7",module:"src/cli/index.ts",type:"module",packageManager:"bun@1.3.3",bin:{shadowclone:"bin/shadowclone.mjs"},scripts:{start:"bun run src/cli/index.ts",cli:"bun run src/cli/index.ts",check:"bun run typecheck && bun run lint && bun test",test:"bun test",typecheck:"tsc --noEmit",lint:"biome lint --error-on-warnings --diagnostic-level=warn . && bun run scripts/conventions.ts","lint:fix":"biome lint --write .",build:"bun run scripts/build.ts",prepack:"bun run build"},devDependencies:{"@biomejs/biome":"2.5.12","@types/bun":"latest",typescript:"~5.9"},description:"Turns how you work into a portable, tested environment for the coding agents you already use.",license:"MIT",repository:{type:"git",url:"git+https://github.com/theonly1me/shadowclone.git"},homepage:"https://shadowclone.co",bugs:{url:"https://github.com/theonly1me/shadowclone/issues"},keywords:["claude-code","codex","cursor","agent","subagent","local-first"],files:["bin","dist","preferences","skills",".claude-plugin","README.md","evals.md","LICENSE"],dependencies:{bun:"^1.4.2",commander:"^15.0.0","smol-toml":"^1.8.0",zod:"^4.5.4"}};function bo(e){let t=Object.values(e).filter((n)=>typeof n==="number");return Object.entries(e).filter(([n,o])=>t.indexOf(+n)===-1).map(([n,o])=>o)}function xa(e,t="|"){return e.map((r)=>Pa(r)).join(t)}function Qr(e,t){if(typeof t==="bigint")return t.toString();return t}function en(e){return{get value(){{let r=e();return Object.defineProperty(this,"value",{value:r}),r}throw Error("cached value already set")}}}function yu(e){return e===null||e===void 0}function xo(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function wu(e,t){let r=e/t,n=Math.round(r),o=4*Number.EPSILON*Math.max(Math.abs(r),1);if(Math.abs(r-n)<o)return 0;return r-n}function re(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function yt(...e){let t={};for(let r of e){let n=Object.getOwnPropertyDescriptors(r);Object.assign(t,n)}return Object.defineProperties({},t)}function bu(e){return JSON.stringify(e)}function xu(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var va="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function yr(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}var vu=en(()=>{if(be.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});function Ut(e){if(yr(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;if(typeof t!=="function")return!0;let r=t.prototype;if(yr(r)===!1)return!1;if(Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)return!1;return!0}function ka(e){if(Ut(e))return{...e};if(Array.isArray(e))return[...e];if(e instanceof Map)return new Map(e);if(e instanceof Set)return new Set(e);return e}var ku=new Set(["string","number","symbol"]);function wt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ze(e,t,r){let n=new e._zod.constr(t??e._zod.def);if(!t||r?.parent)n._zod.parent=e;return n}function P(e){let t=e;if(!t)return{};if(typeof t==="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}if(delete t.message,typeof t.error==="string")return{...t,error:()=>t.error};return t}function Pa(e){if(typeof e==="bigint")return e.toString()+"n";if(typeof e==="string")return`"${e}"`;return`${e}`}function Pu(e){return Object.keys(e).filter((t)=>e[t]._zod.optin!==void 0&&e[t]._zod.optout==="optional")}var Su=(()=>({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]}))();function Ux(e,t){let r=e._zod.def,n=r.checks;if(n&&n.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let i=yt(e._zod.def,{get shape(){let a={};for(let s of Reflect.ownKeys(t)){if(!Object.prototype.hasOwnProperty.call(r.shape,s))throw Error(`Unrecognized key: "${String(s)}"`);if(!t[s])continue;re(a,s,r.shape[s])}return re(this,"shape",a),a},checks:[]});return Ze(e,i)}function Gx(e,t){let r=e._zod.def,n=r.checks;if(n&&n.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let i=yt(e._zod.def,{get shape(){let a={...e._zod.def.shape};for(let s of Reflect.ownKeys(t)){if(!Object.prototype.hasOwnProperty.call(r.shape,s))throw Error(`Unrecognized key: "${String(s)}"`);if(!t[s])continue;delete a[s]}return re(this,"shape",a),a},checks:[]});return Ze(e,i)}function qx(e,t){if(!Ut(t))throw Error("Invalid input to extend: expected a plain object");let r=e._zod.def.checks;if(r&&r.length>0){let i=e._zod.def.shape;for(let a of Reflect.ownKeys(t))if(Object.getOwnPropertyDescriptor(i,a)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let o=yt(e._zod.def,{get shape(){let i={...e._zod.def.shape,...t};return re(this,"shape",i),i}});return Ze(e,o)}function Hx(e,t){if(!Ut(t))throw Error("Invalid input to safeExtend: expected a plain object");let r=yt(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return re(this,"shape",n),n}});return Ze(e,r)}function Wx(e,t){if(!t?._zod?.def)throw Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if(e._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let r=yt(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return re(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return Ze(e,r)}function Eu(e,t,r,n="partial"){let i=t._zod.def.checks;if(i&&i.length>0)throw Error(`.${n}() cannot be used on object schemas containing refinements`);let s=yt(t._zod.def,{get shape(){let c=t._zod.def.shape,l={...c};if(r)for(let u of Reflect.ownKeys(r)){if(!Object.prototype.hasOwnProperty.call(c,u))throw Error(`Unrecognized key: "${String(u)}"`);if(!r[u])continue;l[u]=e?new e({type:"optional",innerType:c[u]}):c[u]}else for(let u of Reflect.ownKeys(c))l[u]=e?new e({type:"optional",innerType:c[u]}):c[u];return re(this,"shape",l),l},checks:[]});return Ze(t,s)}function Jx(e,t,r){let n=yt(t._zod.def,{get shape(){let o=t._zod.def.shape,i={...o};if(r)for(let a of Reflect.ownKeys(r)){if(!Object.prototype.hasOwnProperty.call(i,a))throw Error(`Unrecognized key: "${String(a)}"`);if(!r[a])continue;i[a]=new e({type:"nonoptional",innerType:o[a]})}else for(let a of Reflect.ownKeys(o))i[a]=new e({type:"nonoptional",innerType:o[a]});return re(this,"shape",i),i}});return Ze(t,n)}function Gt(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function _u(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue===!1)return!0;return!1}function bt(e,t){return t.map((r)=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function Xr(e){return typeof e==="string"?e:e?.message}function Sa(e,t,r){var n;for(let o=t;o<e.length;o++)(n=e[o]).schema??(n.schema=r)}function Ue(e,t,r){var n;let o=e.inst?._zod?.traits;if(o?.has("$ZodType"))if(o.has("$ZodCheck"))(n=e).schema??(n.schema=e.inst);else e.schema=e.inst;let i=e.schema!==e.inst?e.schema?._zod.def?.error:void 0,a=e.message?e.message:Xr(e.inst?._zod.def?.error?.(e))??Xr(i?.(e))??Xr(t?.error?.(e))??Xr(r.customError?.(e))??Xr(r.localeError?.(e))??"Invalid input",{inst:s,schema:c,continue:l,input:u,...d}=e;if(d.path??(d.path=[]),d.message=a,t?.reportInput)d.input=u;return d}var Vx=/[\uD800-\uDBFF]/;function vo(e){let t=e.length;if(!Vx.test(e))return t;let r=t;for(let n=0;n<t-1;n++)if((e.charCodeAt(n)&64512)===55296&&(e.charCodeAt(n+1)&64512)===56320)r--,n++;return r}function ko(e){if(Array.isArray(e))return"array";if(typeof e==="string")return"string";return"unknown"}function Ru(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(e===null)return"null";if(Array.isArray(e))return"array";let r=e;if(r&&Object.getPrototypeOf(r)!==Object.prototype&&"constructor"in r&&r.constructor)return r.constructor.name}}return t}function qt(...e){let[t,r,n]=e;if(typeof t==="string")return{message:t,code:"custom",input:r,inst:n};return{...t}}function Cu(e,t){for(let r in t){let n=Object.getOwnPropertyDescriptor(t,r);if(n.get)Object.defineProperty(e,r,{...n,enumerable:!1});else Kx(e,r,n.value)}}function Zt(e,t,r,n=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:n,value:r}),r}function Ea(e,t,r){return Zt(e,t,r,!1)}function Kx(e,t,r){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?r:Zt(this,t,r.bind(this))},set(n){Zt(this,t,n)}})}function Yx(e,t){let r=Object.getPrototypeOf(e);return t in r?void 0:r}var ba,ht=!1,Xx={configurable:!0,get(){ht=!0;return}};function M(e,t,r){let n=Object.getPrototypeOf(e._zod);if(t in n&&ba!==e._zod){ba=void 0;return}ba=e._zod,Object.defineProperty(n,t,{configurable:!0,get(){Object.defineProperty(this,t,Xx);let o=ht;ht=!1;try{let i=r(this);if(ht)delete this[t];else Object.defineProperty(this,t,{configurable:!0,writable:!0,value:i});return ht=ht||o,i}catch(i){throw delete this[t],ht=ht||o,i}},set(o){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:o})}})}function Qx(e,t,r,n){let o=Yx(e,t);if(!o)return;Object.defineProperty(o,t,{configurable:!0,get(){let i={configurable:!0,writable:!0,enumerable:n,value:void 0};return Object.defineProperty(this,t,i),i.value=r(this),Object.defineProperty(this,t,i),i.value},set(i){Object.defineProperty(this,t,{configurable:!0,writable:!0,enumerable:n,value:i})}})}var ev="~constantCatch";function Iu(e){let t=()=>e;return t[ev]=!0,t}var Ou;var _a={value:void 0,enumerable:!1},$u="captureStackTrace"in Error?Error:null;function tv(e){let t=$u;if(t){let r=t.stackTraceLimit;if(typeof r==="number"){try{t.stackTraceLimit=0}catch{return $u=null,new e}try{return new e}finally{t.stackTraceLimit=r}}}return new e}function y(e,t,r,n){let o={};function i(p){this.def=p,this.constr=d,this.traits=new Set}i.prototype=o;let a=r,s=a&&new WeakSet;function c(p,f){if(!p._zod){_a.value=new i(f);try{Object.defineProperty(p,"_zod",_a)}finally{_a.value=void 0}}if(p._zod.traits.has(e))return;if(p._zod.traits.add(e),t(p,f),s){let h=Object.getPrototypeOf(p),w=p._zod.constr.prototype,R=h;while(R&&R!==w)R=Object.getPrototypeOf(R);let C=R??h;if(!s.has(C))s.add(C),Cu(C,a)}let m=d.prototype;for(let h in m){if(!Object.prototype.hasOwnProperty.call(m,h))continue;if(!(h in p))p[h]=m[h].bind(p)}}let l=n?.Parent??Object;class u extends l{}Object.defineProperty(u,"name",{value:e});function d(p){let f=n?.Parent?tv(u):this;c(f,p);let m=f._zod.deferred;if(m){for(let w of m)w();f._zod.deferred=void 0}let h=globalThis.__zod_globalConfig?.postProcessor;if(h)h(f);return f}return Object.defineProperty(d,"init",{value:c}),Object.defineProperty(d,Symbol.hasInstance,{value:(p)=>{if(n?.Parent&&p instanceof n.Parent)return!0;return p?._zod?.traits?.has(e)}}),Object.defineProperty(d,"name",{value:e}),d}class Xe extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class tn extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`);this.name="ZodEncodeError"}}(Ou=globalThis).__zod_globalConfig??(Ou.__zod_globalConfig={});var be=globalThis.__zod_globalConfig;function Se(e){if(e)Object.assign(be,e);return be}function rv(){let e=this._zod;return e.message??(e.message=JSON.stringify(e.def,Qr,2)),e.message}function nv(e){this._zod.message=e}var ov={get:rv,set:nv,enumerable:!0,configurable:!0},Ca={value:void 0,enumerable:!1},Ia={value:void 0,enumerable:!1},Au=new WeakSet([Object.prototype,Error.prototype]),Tu=(e,t)=>{e.name="$ZodError",Ca.value=e._zod,Object.defineProperty(e,"_zod",Ca),Ia.value=t,Object.defineProperty(e,"issues",Ia),Ca.value=void 0,Ia.value=void 0,Object.defineProperty(e,"message",ov);let r=Object.getPrototypeOf(e);if(!Au.has(r))Au.add(r),Object.defineProperty(r,"toString",{configurable:!0,enumerable:!1,get(){let n=()=>this.message;return Object.defineProperty(this,"toString",{value:n,configurable:!0,writable:!0}),n},set(n){Object.defineProperty(this,"toString",{value:n,configurable:!0,writable:!0})}})},Po=y("$ZodError",Tu),Oa=y("$ZodError",Tu,void 0,{Parent:Error});function iv(e,t,r){if(!Object.prototype.hasOwnProperty.call(e,t))if(t==="__proto__")Object.defineProperty(e,t,{value:r(),writable:!0,enumerable:!0,configurable:!0});else e[t]=r();return e[t]}function zu(e,t=(r)=>r.message){let r={},n=[];for(let o of e.issues)if(o.path.length>0)iv(r,o.path[0],()=>[]).push(t(o));else n.push(t(o));return{formErrors:n,fieldErrors:r}}function ju(e,t=(r)=>r.message){let r={_errors:[]},n=(o,i=[])=>{for(let a of o.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map((s)=>n({issues:s},[...i,...a.path]));else if(a.code==="invalid_key")n({issues:a.issues},[...i,...a.path]);else if(a.code==="invalid_element")n({issues:a.issues},[...i,...a.path]);else{let s=[...i,...a.path];if(s.length===0)r._errors.push(t(a));else{let c=r,l=0;while(l<s.length){let u=s[l],d=l===s.length-1;if(u==="_errors"){if(d)c._errors.push(t(a));l++;continue}if(!Object.prototype.hasOwnProperty.call(c,u))Object.defineProperty(c,u,{value:{_errors:[]},enumerable:!0,writable:!0,configurable:!0});let p=c[u];if(d)p._errors.push(t(a));c=p,l++}}}};return n(e),r}function So(e,t){return{callee:t?.callee??e,Err:t?.Err}}var Eo=(e)=>{let t=(r,n,o,i)=>{let a=o?{...o,async:!1}:{async:!1},s=r._zod.run({value:n,issues:[]},a);if(s instanceof Promise)throw new Xe;if(s.issues.length){let c=new(i?.Err??e)(s.issues.map((l)=>Ue(l,a,Se())));throw va(c,i?.callee??t),c}return s.value};return t};var _o=(e)=>{let t=async(r,n,o,i)=>{let a=o?{...o,async:!0}:{async:!0},s=r._zod.run({value:n,issues:[]},a);if(s instanceof Promise)s=await s;if(s.issues.length){let c=new(i?.Err??e)(s.issues.map((l)=>Ue(l,a,Se())));throw va(c,i?.callee??t),c}return s.value};return t};var rn=(e)=>(t,r,n)=>{let o=n?{...n,async:!1}:{async:!1},i=t._zod.run({value:r,issues:[]},o);if(i instanceof Promise)throw new Xe;return i.issues.length?{success:!1,error:new(e??Po)(i.issues.map((a)=>Ue(a,o,Se())))}:{success:!0,data:i.value}},Du=rn(Oa),nn=(e)=>async(t,r,n)=>{let o=n?{...n,async:!0}:{async:!0},i=t._zod.run({value:r,issues:[]},o);if(i instanceof Promise)i=await i;return i.issues.length?{success:!1,error:new e(i.issues.map((a)=>Ue(a,o,Se())))}:{success:!0,data:i.value}},Lu=nn(Oa);var Nu=(e)=>{let t=Eo(e),r=(n,o,i,a)=>{let s=i?{...i,direction:"backward"}:{direction:"backward"};return t(n,o,s,So(r,a))};return r};var Mu=(e)=>{let t=Eo(e),r=(n,o,i,a)=>t(n,o,i,So(r,a));return r};var Fu=(e)=>{let t=_o(e),r=async(n,o,i,a)=>{let s=i?{...i,direction:"backward"}:{direction:"backward"};return await t(n,o,s,So(r,a))};return r};var Bu=(e)=>{let t=_o(e),r=async(n,o,i,a)=>await t(n,o,i,So(r,a));return r};var Zu=(e)=>(t,r,n)=>{let o=n?{...n,direction:"backward"}:{direction:"backward"};return rn(e)(t,r,o)};var Uu=(e)=>(t,r,n)=>rn(e)(t,r,n);var Gu=(e)=>async(t,r,n)=>{let o=n?{...n,direction:"backward"}:{direction:"backward"};return nn(e)(t,r,o)};var qu=(e)=>async(t,r,n)=>nn(e)(t,r,n);var Hu=/^[cC][0-9a-z]{6,}$/,Wu=/^[0-9a-z]+$/,Ju=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,Vu=/^[0-9a-vA-V]{20}$/,Ku=/^[A-Za-z0-9]{27}$/,Yu=/^[a-zA-Z0-9_-]{21}$/;function Xu(e){return new RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}var Qu=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var ed=/^([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})$/,Aa=(e)=>{if(!e)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}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)};var td=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var sv="^[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$";function rd(){return new RegExp(sv,"u")}var nd=/^(?:(?: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])$/,od=/^(([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}|:))$/;var id=/^((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])$/,ad=/^(([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}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,sd=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Ta=/^[A-Za-z0-9_-]*$/;var ld=/^https?$/,cd=/^\+[1-9]\d{6,14}$/;var ud="(?:(?:\\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])))";function lv(e){return new RegExp(`^${e}$`)}var dd=lv(ud);function $a(e){return typeof e.precision==="number"?e.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":e.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{${e.precision}}`:e.seconds?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?":"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function pd(e){return new RegExp(`^${$a(e)}$`)}function md(e){let t=["Z"];if(e.offset)t.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let r=`${$a({precision:e.precision,seconds:!0})}(?:${t.join("|")})`,n=e.local?`${r}|${$a({precision:e.precision})}`:r;return new RegExp(`^${ud}T(?:${n})$`)}var fd=(e)=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)};var Ro=/^-?\d+$/,on=/^-?\d+(?:\.\d+)?$/,gd=/^(?:true|false)$/i,hd=/^null$/i;var yd=/^[^A-Z]*$/,wd=/^[^a-z]*$/;var le=y("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])});var za=(e)=>{let t=e.value;return!yu(t)&&t.length!==void 0},Co={number:"number",bigint:"bigint",object:"date"},ja=y("$ZodCheckLessThan",(e,t)=>{le.init(e,t);let r=Co[typeof t.value];e._zod.onattach.push((n)=>{let o=n._zod.bag,i=(t.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(t.value<i)if(t.inclusive)o.maximum=t.value;else o.exclusiveMaximum=t.value}),e._zod.check=(n)=>{if(t.inclusive?n.value<=t.value:n.value<t.value)return;n.issues.push({origin:Co[typeof n.value]??r,code:"too_big",maximum:typeof t.value==="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Da=y("$ZodCheckGreaterThan",(e,t)=>{le.init(e,t);let r=Co[typeof t.value];e._zod.onattach.push((n)=>{let o=n._zod.bag,i=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(t.value>i)if(t.inclusive)o.minimum=t.value;else o.exclusiveMinimum=t.value}),e._zod.check=(n)=>{if(t.inclusive?n.value>=t.value:n.value>t.value)return;n.issues.push({origin:Co[typeof n.value]??r,code:"too_small",minimum:typeof t.value==="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),bd=y("$ZodCheckMultipleOf",(e,t)=>{le.init(e,t),e._zod.onattach.push((r)=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=(r)=>{if(typeof r.value!==typeof t.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof r.value==="bigint"?t.value!==BigInt(0)&&r.value%t.value===BigInt(0):wu(r.value,t.value)===0)return;r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),xd=y("$ZodCheckNumberFormat",(e,t)=>{le.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),n=r?"int":"number",[o,i]=Su[t.format];e._zod.onattach.push((a)=>{let s=a._zod.bag;if(s.format=t.format,s.minimum=o,s.maximum=i,r)s.pattern=Ro}),e._zod.check=(a)=>{let s=a.value;if(r){if(!Number.isInteger(s)){a.issues.push({expected:n,format:t.format,code:"invalid_type",continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){if(s>0)a.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,inclusive:!0,continue:!t.abort});else a.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,inclusive:!0,continue:!t.abort});return}}if(s<o)a.issues.push({origin:"number",input:s,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort});if(s>i)a.issues.push({origin:"number",input:s,code:"too_big",maximum:i,inclusive:!0,inst:e,continue:!t.abort})}});var vd=y("$ZodCheckMaxLength",(e,t)=>{var r;le.init(e,t),(r=e._zod.def).when??(r.when=za),e._zod.onattach.push((n)=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;if(t.maximum<o)n._zod.bag.maximum=t.maximum}),e._zod.check=(n)=>{let o=n.value,i=o.length;if((typeof o==="string"&&i>t.maximum?vo(o):i)<=t.maximum)return;let s=ko(o);n.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),kd=y("$ZodCheckMinLength",(e,t)=>{var r;le.init(e,t),(r=e._zod.def).when??(r.when=za),e._zod.onattach.push((n)=>{let o=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(t.minimum>o)n._zod.bag.minimum=t.minimum}),e._zod.check=(n)=>{let o=n.value,i=o.length;if((typeof o==="string"&&i>=t.minimum&&i<t.minimum*2?vo(o):i)>=t.minimum)return;let s=ko(o);n.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Pd=y("$ZodCheckLengthEquals",(e,t)=>{var r;le.init(e,t),(r=e._zod.def).when??(r.when=za),e._zod.onattach.push((n)=>{let o=n._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=(n)=>{let o=n.value,i=o.length,a=typeof o==="string"&&i>=t.length&&i<=t.length*2?vo(o):i;if(a===t.length)return;let s=ko(o),c=a>t.length;n.issues.push({origin:s,...c?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),sn=y("$ZodCheckStringFormat",(e,t)=>{var r,n;if(le.init(e,t),e._zod.onattach.push((o)=>{let i=o._zod.bag;if(i.format=t.format,t.pattern)i.patterns??(i.patterns=new Set),i.patterns.add(t.pattern)}),t.pattern)(r=e._zod).check??(r.check=(o)=>{if(t.pattern.lastIndex=0,t.pattern.test(o.value))return;o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})});else(n=e._zod).check??(n.check=()=>{})}),Sd=y("$ZodCheckRegex",(e,t)=>{sn.init(e,t),e._zod.check=(r)=>{if(t.pattern.lastIndex=0,t.pattern.test(r.value))return;r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Ed=y("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=yd),sn.init(e,t)}),_d=y("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=wd),sn.init(e,t)}),Rd=y("$ZodCheckIncludes",(e,t)=>{le.init(e,t);let r=wt(t.includes),n=new RegExp(typeof t.position==="number"?`^.{${t.position},}${r}`:r);t.pattern=n,e._zod.onattach.push((o)=>{let i=o._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(n)}),e._zod.check=(o)=>{if(o.value.includes(t.includes,t.position))return;o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),Cd=y("$ZodCheckStartsWith",(e,t)=>{le.init(e,t);let r=new RegExp(`^${wt(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.onattach.push((n)=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=(n)=>{if(n.value.startsWith(t.prefix))return;n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),Id=y("$ZodCheckEndsWith",(e,t)=>{le.init(e,t);let r=new RegExp(`.*${wt(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.onattach.push((n)=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=(n)=>{if(n.value.endsWith(t.suffix))return;n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}});var Od=y("$ZodCheckOverwrite",(e,t)=>{le.init(e,t),e._zod.check=(r)=>{r.value=t.tx(r.value)}});class La{constructor(e=[],t={}){this.content=[],this.indent=0,this.args=e,this.closed=t}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e==="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let r=e.split(`
3
+ var Nx=Object.defineProperty;var Mx=(e)=>e;function Fx(e,t){this[e]=Mx.bind(null,t)}var Bx=(e,t)=>{for(var r in t)Nx(e,r,{get:t[r],enumerable:!0,configurable:!0,set:Fx.bind(t,r)})};var wo={name:"@shadowclone/cli",version:"0.0.8",module:"src/cli/index.ts",type:"module",packageManager:"bun@1.3.3",bin:{shadowclone:"bin/shadowclone.mjs"},scripts:{start:"bun run src/cli/index.ts",cli:"bun run src/cli/index.ts",check:"bun run typecheck && bun run lint && bun test",test:"bun test",typecheck:"tsc --noEmit",lint:"biome lint --error-on-warnings --diagnostic-level=warn . && bun run scripts/conventions.ts","lint:fix":"biome lint --write .",build:"bun run scripts/build.ts",prepack:"bun run build"},devDependencies:{"@biomejs/biome":"2.5.12","@types/bun":"latest",typescript:"~5.9"},description:"Turns how you work into a portable, tested environment for the coding agents you already use.",license:"MIT",repository:{type:"git",url:"git+https://github.com/theonly1me/shadowclone.git"},homepage:"https://shadowclone.co",bugs:{url:"https://github.com/theonly1me/shadowclone/issues"},keywords:["claude-code","codex","cursor","agent","subagent","local-first"],files:["bin","dist","preferences","skills",".claude-plugin","README.md","evals.md","LICENSE"],dependencies:{bun:"^1.4.2",commander:"^15.0.0","smol-toml":"^1.8.0",zod:"^4.5.4"}};function bo(e){let t=Object.values(e).filter((n)=>typeof n==="number");return Object.entries(e).filter(([n,o])=>t.indexOf(+n)===-1).map(([n,o])=>o)}function xa(e,t="|"){return e.map((r)=>Pa(r)).join(t)}function Qr(e,t){if(typeof t==="bigint")return t.toString();return t}function en(e){return{get value(){{let r=e();return Object.defineProperty(this,"value",{value:r}),r}throw Error("cached value already set")}}}function yu(e){return e===null||e===void 0}function xo(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function wu(e,t){let r=e/t,n=Math.round(r),o=4*Number.EPSILON*Math.max(Math.abs(r),1);if(Math.abs(r-n)<o)return 0;return r-n}function re(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function yt(...e){let t={};for(let r of e){let n=Object.getOwnPropertyDescriptors(r);Object.assign(t,n)}return Object.defineProperties({},t)}function bu(e){return JSON.stringify(e)}function xu(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var va="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function yr(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}var vu=en(()=>{if(be.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});function Ut(e){if(yr(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;if(typeof t!=="function")return!0;let r=t.prototype;if(yr(r)===!1)return!1;if(Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)return!1;return!0}function ka(e){if(Ut(e))return{...e};if(Array.isArray(e))return[...e];if(e instanceof Map)return new Map(e);if(e instanceof Set)return new Set(e);return e}var ku=new Set(["string","number","symbol"]);function wt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ze(e,t,r){let n=new e._zod.constr(t??e._zod.def);if(!t||r?.parent)n._zod.parent=e;return n}function P(e){let t=e;if(!t)return{};if(typeof t==="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}if(delete t.message,typeof t.error==="string")return{...t,error:()=>t.error};return t}function Pa(e){if(typeof e==="bigint")return e.toString()+"n";if(typeof e==="string")return`"${e}"`;return`${e}`}function Pu(e){return Object.keys(e).filter((t)=>e[t]._zod.optin!==void 0&&e[t]._zod.optout==="optional")}var Su=(()=>({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]}))();function Ux(e,t){let r=e._zod.def,n=r.checks;if(n&&n.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let i=yt(e._zod.def,{get shape(){let a={};for(let s of Reflect.ownKeys(t)){if(!Object.prototype.hasOwnProperty.call(r.shape,s))throw Error(`Unrecognized key: "${String(s)}"`);if(!t[s])continue;re(a,s,r.shape[s])}return re(this,"shape",a),a},checks:[]});return Ze(e,i)}function Gx(e,t){let r=e._zod.def,n=r.checks;if(n&&n.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let i=yt(e._zod.def,{get shape(){let a={...e._zod.def.shape};for(let s of Reflect.ownKeys(t)){if(!Object.prototype.hasOwnProperty.call(r.shape,s))throw Error(`Unrecognized key: "${String(s)}"`);if(!t[s])continue;delete a[s]}return re(this,"shape",a),a},checks:[]});return Ze(e,i)}function qx(e,t){if(!Ut(t))throw Error("Invalid input to extend: expected a plain object");let r=e._zod.def.checks;if(r&&r.length>0){let i=e._zod.def.shape;for(let a of Reflect.ownKeys(t))if(Object.getOwnPropertyDescriptor(i,a)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let o=yt(e._zod.def,{get shape(){let i={...e._zod.def.shape,...t};return re(this,"shape",i),i}});return Ze(e,o)}function Hx(e,t){if(!Ut(t))throw Error("Invalid input to safeExtend: expected a plain object");let r=yt(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return re(this,"shape",n),n}});return Ze(e,r)}function Wx(e,t){if(!t?._zod?.def)throw Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if(e._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let r=yt(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return re(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return Ze(e,r)}function Eu(e,t,r,n="partial"){let i=t._zod.def.checks;if(i&&i.length>0)throw Error(`.${n}() cannot be used on object schemas containing refinements`);let s=yt(t._zod.def,{get shape(){let c=t._zod.def.shape,l={...c};if(r)for(let u of Reflect.ownKeys(r)){if(!Object.prototype.hasOwnProperty.call(c,u))throw Error(`Unrecognized key: "${String(u)}"`);if(!r[u])continue;l[u]=e?new e({type:"optional",innerType:c[u]}):c[u]}else for(let u of Reflect.ownKeys(c))l[u]=e?new e({type:"optional",innerType:c[u]}):c[u];return re(this,"shape",l),l},checks:[]});return Ze(t,s)}function Jx(e,t,r){let n=yt(t._zod.def,{get shape(){let o=t._zod.def.shape,i={...o};if(r)for(let a of Reflect.ownKeys(r)){if(!Object.prototype.hasOwnProperty.call(i,a))throw Error(`Unrecognized key: "${String(a)}"`);if(!r[a])continue;i[a]=new e({type:"nonoptional",innerType:o[a]})}else for(let a of Reflect.ownKeys(o))i[a]=new e({type:"nonoptional",innerType:o[a]});return re(this,"shape",i),i}});return Ze(t,n)}function Gt(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function _u(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue===!1)return!0;return!1}function bt(e,t){return t.map((r)=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function Xr(e){return typeof e==="string"?e:e?.message}function Sa(e,t,r){var n;for(let o=t;o<e.length;o++)(n=e[o]).schema??(n.schema=r)}function Ue(e,t,r){var n;let o=e.inst?._zod?.traits;if(o?.has("$ZodType"))if(o.has("$ZodCheck"))(n=e).schema??(n.schema=e.inst);else e.schema=e.inst;let i=e.schema!==e.inst?e.schema?._zod.def?.error:void 0,a=e.message?e.message:Xr(e.inst?._zod.def?.error?.(e))??Xr(i?.(e))??Xr(t?.error?.(e))??Xr(r.customError?.(e))??Xr(r.localeError?.(e))??"Invalid input",{inst:s,schema:c,continue:l,input:u,...d}=e;if(d.path??(d.path=[]),d.message=a,t?.reportInput)d.input=u;return d}var Vx=/[\uD800-\uDBFF]/;function vo(e){let t=e.length;if(!Vx.test(e))return t;let r=t;for(let n=0;n<t-1;n++)if((e.charCodeAt(n)&64512)===55296&&(e.charCodeAt(n+1)&64512)===56320)r--,n++;return r}function ko(e){if(Array.isArray(e))return"array";if(typeof e==="string")return"string";return"unknown"}function Ru(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(e===null)return"null";if(Array.isArray(e))return"array";let r=e;if(r&&Object.getPrototypeOf(r)!==Object.prototype&&"constructor"in r&&r.constructor)return r.constructor.name}}return t}function qt(...e){let[t,r,n]=e;if(typeof t==="string")return{message:t,code:"custom",input:r,inst:n};return{...t}}function Cu(e,t){for(let r in t){let n=Object.getOwnPropertyDescriptor(t,r);if(n.get)Object.defineProperty(e,r,{...n,enumerable:!1});else Kx(e,r,n.value)}}function Zt(e,t,r,n=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:n,value:r}),r}function Ea(e,t,r){return Zt(e,t,r,!1)}function Kx(e,t,r){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?r:Zt(this,t,r.bind(this))},set(n){Zt(this,t,n)}})}function Yx(e,t){let r=Object.getPrototypeOf(e);return t in r?void 0:r}var ba,ht=!1,Xx={configurable:!0,get(){ht=!0;return}};function M(e,t,r){let n=Object.getPrototypeOf(e._zod);if(t in n&&ba!==e._zod){ba=void 0;return}ba=e._zod,Object.defineProperty(n,t,{configurable:!0,get(){Object.defineProperty(this,t,Xx);let o=ht;ht=!1;try{let i=r(this);if(ht)delete this[t];else Object.defineProperty(this,t,{configurable:!0,writable:!0,value:i});return ht=ht||o,i}catch(i){throw delete this[t],ht=ht||o,i}},set(o){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:o})}})}function Qx(e,t,r,n){let o=Yx(e,t);if(!o)return;Object.defineProperty(o,t,{configurable:!0,get(){let i={configurable:!0,writable:!0,enumerable:n,value:void 0};return Object.defineProperty(this,t,i),i.value=r(this),Object.defineProperty(this,t,i),i.value},set(i){Object.defineProperty(this,t,{configurable:!0,writable:!0,enumerable:n,value:i})}})}var ev="~constantCatch";function Iu(e){let t=()=>e;return t[ev]=!0,t}var Ou;var _a={value:void 0,enumerable:!1},$u="captureStackTrace"in Error?Error:null;function tv(e){let t=$u;if(t){let r=t.stackTraceLimit;if(typeof r==="number"){try{t.stackTraceLimit=0}catch{return $u=null,new e}try{return new e}finally{t.stackTraceLimit=r}}}return new e}function y(e,t,r,n){let o={};function i(p){this.def=p,this.constr=d,this.traits=new Set}i.prototype=o;let a=r,s=a&&new WeakSet;function c(p,f){if(!p._zod){_a.value=new i(f);try{Object.defineProperty(p,"_zod",_a)}finally{_a.value=void 0}}if(p._zod.traits.has(e))return;if(p._zod.traits.add(e),t(p,f),s){let h=Object.getPrototypeOf(p),w=p._zod.constr.prototype,R=h;while(R&&R!==w)R=Object.getPrototypeOf(R);let C=R??h;if(!s.has(C))s.add(C),Cu(C,a)}let m=d.prototype;for(let h in m){if(!Object.prototype.hasOwnProperty.call(m,h))continue;if(!(h in p))p[h]=m[h].bind(p)}}let l=n?.Parent??Object;class u extends l{}Object.defineProperty(u,"name",{value:e});function d(p){let f=n?.Parent?tv(u):this;c(f,p);let m=f._zod.deferred;if(m){for(let w of m)w();f._zod.deferred=void 0}let h=globalThis.__zod_globalConfig?.postProcessor;if(h)h(f);return f}return Object.defineProperty(d,"init",{value:c}),Object.defineProperty(d,Symbol.hasInstance,{value:(p)=>{if(n?.Parent&&p instanceof n.Parent)return!0;return p?._zod?.traits?.has(e)}}),Object.defineProperty(d,"name",{value:e}),d}class Xe extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class tn extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`);this.name="ZodEncodeError"}}(Ou=globalThis).__zod_globalConfig??(Ou.__zod_globalConfig={});var be=globalThis.__zod_globalConfig;function Se(e){if(e)Object.assign(be,e);return be}function rv(){let e=this._zod;return e.message??(e.message=JSON.stringify(e.def,Qr,2)),e.message}function nv(e){this._zod.message=e}var ov={get:rv,set:nv,enumerable:!0,configurable:!0},Ca={value:void 0,enumerable:!1},Ia={value:void 0,enumerable:!1},Au=new WeakSet([Object.prototype,Error.prototype]),Tu=(e,t)=>{e.name="$ZodError",Ca.value=e._zod,Object.defineProperty(e,"_zod",Ca),Ia.value=t,Object.defineProperty(e,"issues",Ia),Ca.value=void 0,Ia.value=void 0,Object.defineProperty(e,"message",ov);let r=Object.getPrototypeOf(e);if(!Au.has(r))Au.add(r),Object.defineProperty(r,"toString",{configurable:!0,enumerable:!1,get(){let n=()=>this.message;return Object.defineProperty(this,"toString",{value:n,configurable:!0,writable:!0}),n},set(n){Object.defineProperty(this,"toString",{value:n,configurable:!0,writable:!0})}})},Po=y("$ZodError",Tu),Oa=y("$ZodError",Tu,void 0,{Parent:Error});function iv(e,t,r){if(!Object.prototype.hasOwnProperty.call(e,t))if(t==="__proto__")Object.defineProperty(e,t,{value:r(),writable:!0,enumerable:!0,configurable:!0});else e[t]=r();return e[t]}function zu(e,t=(r)=>r.message){let r={},n=[];for(let o of e.issues)if(o.path.length>0)iv(r,o.path[0],()=>[]).push(t(o));else n.push(t(o));return{formErrors:n,fieldErrors:r}}function ju(e,t=(r)=>r.message){let r={_errors:[]},n=(o,i=[])=>{for(let a of o.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map((s)=>n({issues:s},[...i,...a.path]));else if(a.code==="invalid_key")n({issues:a.issues},[...i,...a.path]);else if(a.code==="invalid_element")n({issues:a.issues},[...i,...a.path]);else{let s=[...i,...a.path];if(s.length===0)r._errors.push(t(a));else{let c=r,l=0;while(l<s.length){let u=s[l],d=l===s.length-1;if(u==="_errors"){if(d)c._errors.push(t(a));l++;continue}if(!Object.prototype.hasOwnProperty.call(c,u))Object.defineProperty(c,u,{value:{_errors:[]},enumerable:!0,writable:!0,configurable:!0});let p=c[u];if(d)p._errors.push(t(a));c=p,l++}}}};return n(e),r}function So(e,t){return{callee:t?.callee??e,Err:t?.Err}}var Eo=(e)=>{let t=(r,n,o,i)=>{let a=o?{...o,async:!1}:{async:!1},s=r._zod.run({value:n,issues:[]},a);if(s instanceof Promise)throw new Xe;if(s.issues.length){let c=new(i?.Err??e)(s.issues.map((l)=>Ue(l,a,Se())));throw va(c,i?.callee??t),c}return s.value};return t};var _o=(e)=>{let t=async(r,n,o,i)=>{let a=o?{...o,async:!0}:{async:!0},s=r._zod.run({value:n,issues:[]},a);if(s instanceof Promise)s=await s;if(s.issues.length){let c=new(i?.Err??e)(s.issues.map((l)=>Ue(l,a,Se())));throw va(c,i?.callee??t),c}return s.value};return t};var rn=(e)=>(t,r,n)=>{let o=n?{...n,async:!1}:{async:!1},i=t._zod.run({value:r,issues:[]},o);if(i instanceof Promise)throw new Xe;return i.issues.length?{success:!1,error:new(e??Po)(i.issues.map((a)=>Ue(a,o,Se())))}:{success:!0,data:i.value}},Du=rn(Oa),nn=(e)=>async(t,r,n)=>{let o=n?{...n,async:!0}:{async:!0},i=t._zod.run({value:r,issues:[]},o);if(i instanceof Promise)i=await i;return i.issues.length?{success:!1,error:new e(i.issues.map((a)=>Ue(a,o,Se())))}:{success:!0,data:i.value}},Lu=nn(Oa);var Nu=(e)=>{let t=Eo(e),r=(n,o,i,a)=>{let s=i?{...i,direction:"backward"}:{direction:"backward"};return t(n,o,s,So(r,a))};return r};var Mu=(e)=>{let t=Eo(e),r=(n,o,i,a)=>t(n,o,i,So(r,a));return r};var Fu=(e)=>{let t=_o(e),r=async(n,o,i,a)=>{let s=i?{...i,direction:"backward"}:{direction:"backward"};return await t(n,o,s,So(r,a))};return r};var Bu=(e)=>{let t=_o(e),r=async(n,o,i,a)=>await t(n,o,i,So(r,a));return r};var Zu=(e)=>(t,r,n)=>{let o=n?{...n,direction:"backward"}:{direction:"backward"};return rn(e)(t,r,o)};var Uu=(e)=>(t,r,n)=>rn(e)(t,r,n);var Gu=(e)=>async(t,r,n)=>{let o=n?{...n,direction:"backward"}:{direction:"backward"};return nn(e)(t,r,o)};var qu=(e)=>async(t,r,n)=>nn(e)(t,r,n);var Hu=/^[cC][0-9a-z]{6,}$/,Wu=/^[0-9a-z]+$/,Ju=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,Vu=/^[0-9a-vA-V]{20}$/,Ku=/^[A-Za-z0-9]{27}$/,Yu=/^[a-zA-Z0-9_-]{21}$/;function Xu(e){return new RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}var Qu=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var ed=/^([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})$/,Aa=(e)=>{if(!e)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}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)};var td=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var sv="^[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$";function rd(){return new RegExp(sv,"u")}var nd=/^(?:(?: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])$/,od=/^(([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}|:))$/;var id=/^((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])$/,ad=/^(([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}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,sd=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Ta=/^[A-Za-z0-9_-]*$/;var ld=/^https?$/,cd=/^\+[1-9]\d{6,14}$/;var ud="(?:(?:\\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])))";function lv(e){return new RegExp(`^${e}$`)}var dd=lv(ud);function $a(e){return typeof e.precision==="number"?e.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":e.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{${e.precision}}`:e.seconds?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?":"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function pd(e){return new RegExp(`^${$a(e)}$`)}function md(e){let t=["Z"];if(e.offset)t.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let r=`${$a({precision:e.precision,seconds:!0})}(?:${t.join("|")})`,n=e.local?`${r}|${$a({precision:e.precision})}`:r;return new RegExp(`^${ud}T(?:${n})$`)}var fd=(e)=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)};var Ro=/^-?\d+$/,on=/^-?\d+(?:\.\d+)?$/,gd=/^(?:true|false)$/i,hd=/^null$/i;var yd=/^[^A-Z]*$/,wd=/^[^a-z]*$/;var le=y("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])});var za=(e)=>{let t=e.value;return!yu(t)&&t.length!==void 0},Co={number:"number",bigint:"bigint",object:"date"},ja=y("$ZodCheckLessThan",(e,t)=>{le.init(e,t);let r=Co[typeof t.value];e._zod.onattach.push((n)=>{let o=n._zod.bag,i=(t.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(t.value<i)if(t.inclusive)o.maximum=t.value;else o.exclusiveMaximum=t.value}),e._zod.check=(n)=>{if(t.inclusive?n.value<=t.value:n.value<t.value)return;n.issues.push({origin:Co[typeof n.value]??r,code:"too_big",maximum:typeof t.value==="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Da=y("$ZodCheckGreaterThan",(e,t)=>{le.init(e,t);let r=Co[typeof t.value];e._zod.onattach.push((n)=>{let o=n._zod.bag,i=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(t.value>i)if(t.inclusive)o.minimum=t.value;else o.exclusiveMinimum=t.value}),e._zod.check=(n)=>{if(t.inclusive?n.value>=t.value:n.value>t.value)return;n.issues.push({origin:Co[typeof n.value]??r,code:"too_small",minimum:typeof t.value==="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),bd=y("$ZodCheckMultipleOf",(e,t)=>{le.init(e,t),e._zod.onattach.push((r)=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=(r)=>{if(typeof r.value!==typeof t.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof r.value==="bigint"?t.value!==BigInt(0)&&r.value%t.value===BigInt(0):wu(r.value,t.value)===0)return;r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),xd=y("$ZodCheckNumberFormat",(e,t)=>{le.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),n=r?"int":"number",[o,i]=Su[t.format];e._zod.onattach.push((a)=>{let s=a._zod.bag;if(s.format=t.format,s.minimum=o,s.maximum=i,r)s.pattern=Ro}),e._zod.check=(a)=>{let s=a.value;if(r){if(!Number.isInteger(s)){a.issues.push({expected:n,format:t.format,code:"invalid_type",continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){if(s>0)a.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,inclusive:!0,continue:!t.abort});else a.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,inclusive:!0,continue:!t.abort});return}}if(s<o)a.issues.push({origin:"number",input:s,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort});if(s>i)a.issues.push({origin:"number",input:s,code:"too_big",maximum:i,inclusive:!0,inst:e,continue:!t.abort})}});var vd=y("$ZodCheckMaxLength",(e,t)=>{var r;le.init(e,t),(r=e._zod.def).when??(r.when=za),e._zod.onattach.push((n)=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;if(t.maximum<o)n._zod.bag.maximum=t.maximum}),e._zod.check=(n)=>{let o=n.value,i=o.length;if((typeof o==="string"&&i>t.maximum?vo(o):i)<=t.maximum)return;let s=ko(o);n.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),kd=y("$ZodCheckMinLength",(e,t)=>{var r;le.init(e,t),(r=e._zod.def).when??(r.when=za),e._zod.onattach.push((n)=>{let o=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(t.minimum>o)n._zod.bag.minimum=t.minimum}),e._zod.check=(n)=>{let o=n.value,i=o.length;if((typeof o==="string"&&i>=t.minimum&&i<t.minimum*2?vo(o):i)>=t.minimum)return;let s=ko(o);n.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Pd=y("$ZodCheckLengthEquals",(e,t)=>{var r;le.init(e,t),(r=e._zod.def).when??(r.when=za),e._zod.onattach.push((n)=>{let o=n._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=(n)=>{let o=n.value,i=o.length,a=typeof o==="string"&&i>=t.length&&i<=t.length*2?vo(o):i;if(a===t.length)return;let s=ko(o),c=a>t.length;n.issues.push({origin:s,...c?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),sn=y("$ZodCheckStringFormat",(e,t)=>{var r,n;if(le.init(e,t),e._zod.onattach.push((o)=>{let i=o._zod.bag;if(i.format=t.format,t.pattern)i.patterns??(i.patterns=new Set),i.patterns.add(t.pattern)}),t.pattern)(r=e._zod).check??(r.check=(o)=>{if(t.pattern.lastIndex=0,t.pattern.test(o.value))return;o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})});else(n=e._zod).check??(n.check=()=>{})}),Sd=y("$ZodCheckRegex",(e,t)=>{sn.init(e,t),e._zod.check=(r)=>{if(t.pattern.lastIndex=0,t.pattern.test(r.value))return;r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Ed=y("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=yd),sn.init(e,t)}),_d=y("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=wd),sn.init(e,t)}),Rd=y("$ZodCheckIncludes",(e,t)=>{le.init(e,t);let r=wt(t.includes),n=new RegExp(typeof t.position==="number"?`^.{${t.position},}${r}`:r);t.pattern=n,e._zod.onattach.push((o)=>{let i=o._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(n)}),e._zod.check=(o)=>{if(o.value.includes(t.includes,t.position))return;o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),Cd=y("$ZodCheckStartsWith",(e,t)=>{le.init(e,t);let r=new RegExp(`^${wt(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.onattach.push((n)=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=(n)=>{if(n.value.startsWith(t.prefix))return;n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),Id=y("$ZodCheckEndsWith",(e,t)=>{le.init(e,t);let r=new RegExp(`.*${wt(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.onattach.push((n)=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=(n)=>{if(n.value.endsWith(t.suffix))return;n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}});var Od=y("$ZodCheckOverwrite",(e,t)=>{le.init(e,t),e._zod.check=(r)=>{r.value=t.tx(r.value)}});class La{constructor(e=[],t={}){this.content=[],this.indent=0,this.args=e,this.closed=t}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e==="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let r=e.split(`
4
4
  `).filter((i)=>i),n=Math.min(...r.map((i)=>i.length-i.trimStart().length)),o=r.map((i)=>i.slice(n)).map((i)=>" ".repeat(this.indent*2)+i);for(let i of o)this.content.push(i)}compile(){let e=Function,t=this?.content??[""];return new e(...Object.keys(this.closed),`return function (${this.args.join(", ")}) {
5
5
  ${t.join(`
6
6
  `)}
@@ -340,7 +340,7 @@ ${n.join(`
340
340
  `:""}async function st(e){await Re(e.paths.profileDirectory);let t=await ce(ph.join(e.paths.shadowcloneDirectory,"profile-write.db"));if(!t)throw Error("Another profile update is running; retry shortly");try{return await rE(e)}finally{t.release()}}async function rE(e){let t=[],r=await E(e.paths.profileManifestFile),n=await E(e.paths.rejectedProfileFile),o=await ih({paths:e.paths,rules:e.rules,retiredReferences:e.retired??[]}),i=new Map,a=new Set,s=0,c=0;for(let l of o.files){let u=[];for(let d of l.blocks){if(d.key===null){u.push(d.content);continue}let p=sh({block:d,incoming:o.incoming.get(d.key),relativePath:l.relativePath});if(p){if(u.push(Sr(p)),a.add(d.key),p.importReference!==null)i.set(d.key,It({relativePath:l.relativePath,rule:p}));continue}if(d.edited||d.source==="user"){if(u.push(d.content),d.importReference!==null)i.set(d.key,It({relativePath:l.relativePath,rule:d}));continue}if(o.retired.has(d.key))continue;let f=o.incoming.get(d.key);if(f){if(Rt(f)!==l.relativePath)continue;if(u.push(Sr(f)),a.add(d.key),f.source!=="user")i.set(d.key,It({relativePath:l.relativePath,rule:f}));continue}let m=ah({block:d,relativePath:l.relativePath}),h=m??d;u.push(m?Sr(m):d.content),a.add(d.key),i.set(d.key,It({relativePath:l.relativePath,rule:h}))}for(let d of o.incomingRules){if(Rt(d)!==l.relativePath||a.has(d.key)||o.pinned.has(d.key)||o.retired.has(d.key)||o.rejections.has(d.key))continue;if(u.push(Sr(d)),a.add(d.key),d.source!=="user")i.set(d.key,It({relativePath:l.relativePath,rule:d}))}if(u.length>0)t.push({filePath:l.filePath,next:`${u.join(`
341
341
 
342
342
  `)}
343
- `,previous:l.content}),s+=1,c+=u.length;else if(l.blocks.length>0)t.push({filePath:l.filePath,next:null,previous:l.content})}lh({files:o.files,written:new Set([...a,...o.pinned]),retired:new Set(o.retired.keys())});for(let l of o.previousEntries)if(l.disposition==="present"&&!o.incoming.has(l.key)&&!o.pinned.has(l.key)&&!o.retired.has(l.key))i.set(l.key,l);for(let l of o.retired.values())i.set(l.key,l);t.push({filePath:e.paths.profileManifestFile,next:uh([...i.values()]),previous:r}),t.push({filePath:e.paths.rejectedProfileFile,next:dh([...o.rejections.values()]),previous:n});for(let l of t.filter((u)=>u.next!==null))await Re(ph.dirname(l.filePath)),await Pt(l.filePath);return await et({paths:e.paths,root:e.paths.profileDirectory,kind:"profile",updates:t}),{files:s,rules:c,rejected:o.rejections.size,preserved:o.incomingRules.filter((l)=>o.pinned.has(l.key)).length}}class gi extends Error{constructor(e){super(e==="output"?"Process output limit exceeded":"Process cancelled or timed out");this.name="ProcessLimitError"}}async function mh(e){let t=e.stream.getReader(),r=[],n=0;try{while(!0){let o=await t.read();if(o.done)return Buffer.concat(r).toString("utf8");if(n+=o.value.byteLength,n>e.maximumBytes)throw e.overflow(),new gi("output");r.push(o.value)}}finally{await t.cancel().catch(()=>{return}),t.releaseLock()}}async function Le(e){let t=AbortSignal.timeout(e.timeoutMilliseconds??600000),r=e.signal?AbortSignal.any([t,e.signal]):t;if(r.aborted)throw new gi("cancelled");let n=Bun.spawn({cmd:[...e.arguments],cwd:e.cwd,env:{...e.environment},stdin:"pipe",stdout:"pipe",stderr:"pipe",detached:process.platform!=="win32"}),o=()=>{try{if(process.platform!=="win32")process.kill(-n.pid,"SIGKILL");else n.kill("SIGKILL")}catch{n.kill("SIGKILL")}};if(r.addEventListener("abort",o,{once:!0}),r.aborted)o();try{let i=await Promise.allSettled([mh({stream:n.stdout,maximumBytes:e.maximumOutputBytes??Sf,overflow:o}),mh({stream:n.stderr,maximumBytes:Ef,overflow:o}),n.exited,(async()=>{try{n.stdin.write(e.input??""),await n.stdin.flush()}finally{n.stdin.end()}})()]);if(r.aborted)throw new gi("cancelled");let[a,s,c]=i;for(let l of i)if(l.status==="rejected")throw l.reason;if(a?.status!=="fulfilled"||s?.status!=="fulfilled"||c?.status!=="fulfilled")throw Error("Process did not complete");return{exitCode:c.value,stdout:a.value,stderr:s.value.slice(-_f)}}finally{o(),r.removeEventListener("abort",o)}}async function fh(e){let t=[];for(let r of["user.name","user.email"]){let n=await Le({arguments:["git","config","--get",r],cwd:e.cwd,environment:{...e.environment,GIT_CONFIG_GLOBAL:void 0},timeoutMilliseconds:1e4,maximumOutputBytes:4096}),o=n.stdout.trim();if(n.exitCode===0&&o.length>0)t.push("-c",`${r}=${o}`)}return t}var nE=["-c","core.hooksPath=/dev/null","-c","core.fsmonitor=false","-c","core.pager=cat","-c","commit.gpgsign=false","-c","tag.gpgSign=false","-c","protocol.ext.allow=never","-c","protocol.file.allow=never"];function oE(e={}){return{PATH:process.env.PATH,HOME:process.env.HOME,LANG:process.env.LANG,TMPDIR:process.env.TMPDIR,GIT_CONFIG_NOSYSTEM:"1",GIT_CONFIG_GLOBAL:"/dev/null",GIT_TERMINAL_PROMPT:"0",...e.remote?{GH_TOKEN:process.env.GH_TOKEN,GITHUB_TOKEN:process.env.GITHUB_TOKEN,SSH_AUTH_SOCK:process.env.SSH_AUTH_SOCK}:{}}}async function Ot(e){let[t,...r]=e.arguments;if(!t)throw Error("Command requires an executable");let n=t==="gh"||r.includes("push"),o=oE({remote:n}),i=[...nE];if(t==="git"&&!r.includes("config")){if((await Le({arguments:["git",...i,"config","--local","--includes","--name-only","--get-regexp","^(filter\\..*\\.(clean|smudge|process|required)|diff\\..*\\.(command|textconv)|core\\.sshcommand|remote\\..*\\.(vcs|receivepack)|core\\.gitproxy|credential(\\..*)?\\.helper)$"],cwd:e.cwd,environment:o,timeoutMilliseconds:1e4,signal:e.signal})).stdout.trim().length>0)throw Error("Automatic Git commands refuse executable repository configuration")}if(t==="git"&&r.includes("commit"))i.push(...await fh({cwd:e.cwd,environment:o}));if(t==="git"&&r.includes("push"))i.push("-c","credential.helper=","-c","credential.https://github.com.helper=!gh auth git-credential");return Le({arguments:t==="git"?["git",...i,...r]:[t,...r],cwd:e.cwd,environment:o,timeoutMilliseconds:(e.timeoutSeconds??60)*1000,signal:e.signal})}function hi(e){let t=new Bun.CryptoHasher("sha256").update(e).digest("hex").slice(0,16);return{id:`isolated:${t}`,directoryName:`isolated--${t}`,promotable:!1}}function gh(e){let t;try{t=e.split("/").filter(Boolean).map((o)=>decodeURIComponent(o))}catch{return null}let r=t,n=r.at(-1);if(n===void 0||r.length<2)return null;if(r.some((o)=>o==="."||o===".."||[...o].some((i)=>i.charCodeAt(0)<=32)||o.includes("/")||o.includes("\\")))return null;return{owner:r.slice(0,-1).join("/"),repository:n.replace(/\.git$/,"")}}function iE(e){let t;try{t=new URL(e)}catch{return null}if(t.hostname.length===0)return null;let r=gh(t.pathname);return r===null?null:{host:t.port.length>0?`${t.hostname}:${t.port}`:t.hostname,owner:r.owner,repository:r.repository}}function aE(e){let t=e.match(/^(?:[^@/]+@)?([^/:]+):([^/].*)$/);if(!t)return null;let[,r,n]=t;if(!r||!n)return null;let o=gh(n);return o===null?null:{host:r,owner:o.owner,repository:o.repository}}function hh(e){let t=e.trim();return iE(t)??aE(t)}function Un(e){let t=hh(e);if(t===null)return null;let r=t.host.toLowerCase(),n=["github.com","gitlab.com"].includes(r)?t.owner.toLowerCase():t.owner,o=`${r}/${n}`,i=pl(o);return{id:o,directoryName:i,promotable:!0}}function Rr(e){let t=hh(e),r=Un(e);if(t===null||r===null)return null;let n=["github.com","gitlab.com"].includes(t.host.toLowerCase())?t.repository.toLowerCase():t.repository,o=`${r.id}/${n}`,i=n.replace(/[^a-z0-9._-]+/g,"--").replace(/^[._-]+|[._-]+$/g,"").slice(0,64)||"repository",a=new Bun.CryptoHasher("sha256").update(o).digest("hex").slice(0,16);return{id:o,name:n,profileFileName:`${i}--${a}`,origin:r}}async function Cr(e){let{exitCode:t,stdout:r}=await Ot({arguments:["git","-C",e,"config","--local","--get","remote.origin.url"],cwd:e}),n=r.trim();return t===0&&n.length>0?n:null}function pl(e){if(e.startsWith("isolated:"))return e.replace(":","--");let t=new Bun.CryptoHasher("sha256").update(e).digest("hex").slice(0,16);return`${e.toLowerCase().replace(/[^a-z0-9._-]+/g,"--").slice(0,80)}--${t}`}import sE from"path";function yh(e){return JSON.stringify([e.source,e.sessionId,e.cwd?sE.resolve(e.cwd):""])}async function ml(e){let t=e.cwd||e.fallbackKey||"unknown",r=e.readRemote??Cr,n=e.enabled&&e.cwd.length>0?await r(e.cwd):null;return n===null?hi(t):Un(n)??hi(t)}async function ne(e){let t=e.readRemote??Cr,r=e.enabled&&e.cwd.length>0?await t(e.cwd):null,n=r?Rr(r):null;if(n!==null)return n;let o=await ml({cwd:e.cwd,fallbackKey:e.fallbackKey,enabled:!1});return{id:o.id,name:null,profileFileName:null,origin:o}}async function yi(e){let t=new Map,r=e.readRemote??Cr;for(let n of e.events){let o=yh(n);if(t.has(o))continue;let i=e.enabled?e.bindings?.getOriginBinding(o)??null:null;if(i!==null){t.set(o,i);continue}let a=e.bindings?.getOriginObservationStart?.()??0,s=n.timestamp>=a,c=await ne({cwd:n.cwd,fallbackKey:o,enabled:e.enabled&&s,readRemote:r});if(t.set(o,c),e.enabled&&c.origin.promotable)e.bindings?.bindOrigin({originKey:o,repository:c})}return t}function lt(e){let t=yh(e.event),r=e.repositories.get(t);if(r)return r;let n=hi(t);return{id:n.id,name:null,profileFileName:null,origin:n}}function wh(e){for(let t=e.length-1;t>=0;t-=1){let r=e[t];if(r&&(r.kind==="tool-call"||r.kind==="plan-presented"||r.kind==="question-asked"||r.kind==="assistant-text"))return r}return null}function cE(e){if(e?.tool)return{category:`tool:${e.tool.name}`,label:`while using ${e.tool.name}`};if(e?.kind==="plan-presented")return{category:"after-plan",label:"after presenting a plan"};if(e?.kind==="assistant-text")return{category:"assistant-text",label:"during an explanation"};return{category:"other",label:"before finishing a response"}}function wi(e){let t=[e.relatedEvent?.textRef,e.event.textRef].filter((r)=>r!==null&&r!==void 0);return{kind:e.kind,category:e.category,label:e.label,sessionId:e.event.sessionId,timestamp:e.event.timestamp,origin:e.repository.origin,repositoryName:e.repository.profileFileName,textRefs:t}}function uE(e){let t=[],r=[],n=null,o=null;for(let i of e.events){let a=lt({event:i,repositories:e.repositories});if(i.kind==="interruption"){let s=wh(r),c=cE(s);t.push(wi({kind:"interruption",...c,event:i,repository:a,relatedEvent:s}))}if(i.kind==="permission-denied"){let s=wh(r),c=s?.tool?.name??"an unspecified tool";t.push(wi({kind:"permission-denied",category:`tool:${c}`,label:c,event:i,repository:a,relatedEvent:s}))}if(i.kind==="question-asked")n=i;if(i.kind==="plan-presented")o=i;if(i.kind==="user-prompt"||i.kind==="question-answered"){if(n!==null||i.kind==="question-answered")t.push(wi({kind:"question-answered",category:"agent-question",label:"an agent question",event:i,repository:a,relatedEvent:n})),n=null}if(i.kind==="user-prompt"||i.kind==="plan-resolved"){if(o!==null||i.kind==="plan-resolved")t.push(wi({kind:"plan-resolved",category:"presented-plan",label:"a presented plan",event:i,repository:a,relatedEvent:o})),o=null}r.push(i)}return t}function bh(e){return[...Map.groupBy(e.events,(r)=>`${r.source}:${r.sessionId}`).values()].flatMap((r)=>uE({events:r,repositories:e.repositories}))}function xh(e){let t=[],r=Map.groupBy(e.events,(n)=>`${n.source}:${n.sessionId}:${n.cwd}`);for(let n of r.values()){let o=null,i=[],a=()=>{let s=i[0],c=i.at(-1);if(!s||!c)return;let l=lt({event:s,repositories:e.repositories});t.push({kind:"user-steering",category:"user-episode",label:"user steering episode",sessionId:`${s.source==="claude-prompts"?"claude-code":s.source}:${s.sessionId}`,timestamp:c.timestamp,origin:l.origin,repositoryName:l.profileFileName,textRefs:i.flatMap((u)=>u.textRef?[u.textRef]:[]),contextRefs:o?.kind==="assistant-text"&&o.textRef?[o.textRef]:[]}),i=[]};for(let s of[...n].sort((c,l)=>c.timestamp-l.timestamp||c.id-l.id))if((s.kind==="user-prompt"||s.kind==="question-answered"||s.kind==="plan-resolved")&&s.textRef)i.push(s);else if(s.kind!=="interruption"&&s.kind!=="permission-denied"){if(a(),s.kind==="assistant-text"||s.kind==="tool-call"||s.kind==="session-end")o=s}a()}return t.sort((n,o)=>n.timestamp-o.timestamp)}function dE(e,t){let r=t.split("*").map((n)=>n.replace(/[.+?^${}()|[\]\\]/g,"\\$&")).join(".*");return new RegExp(`^${r}$`).test(e)}function oe(e){if(e.patterns.length===0)return!1;let t=[...new Set([e.repository.origin.id,e.repository.id])];return e.patterns.some((r)=>t.some((n)=>dE(n,r)))}function vh(e){let t=new Map;for(let r of e){let n=t.get(r.category);t.set(r.category,{...r,count:(n?.count??0)+1})}return[...t.values()].sort((r,n)=>n.count-r.count||r.label.localeCompare(n.label))}function fl(e){return vh(e)}function kh(e){let t=new Set(e.map((o)=>`${o.source}:${o.sessionId}`)),r=new Set(e.filter((o)=>o.kind==="plan-presented").map((o)=>`${o.source}:${o.sessionId}`));return{toolUses:vh(e.flatMap((o)=>o.tool?[{category:o.tool.name,label:o.tool.name}]:[])),planSessions:r.size,totalSessions:t.size}}function bi(e){let t=new Map;for(let n of e){let o=t.get(n.source);if(!o)o={sessions:new Set,interruptions:0,denials:0},t.set(n.source,o);if(o.sessions.add(n.sessionId),n.kind==="interruption")o.interruptions+=1;else if(n.kind==="permission-denied")o.denials+=1}let r=[];for(let[n,o]of t.entries()){let i=o.sessions.size,s=(n==="claude-code"||n==="codex")&&i>=25&&o.interruptions===0&&o.denials===0;r.push({source:n,sessions:i,interruptions:o.interruptions,denials:o.denials,isStale:s})}return r.sort((n,o)=>n.source.localeCompare(o.source))}function gl(e){let t=bi(e),r=[];for(let n of t)if(n.isStale)r.push(`Source "${n.source}" has ${n.sessions} sessions with 0 interruptions and 0 tool denials. Marker patterns may be stale.`);return r}function Ph(e,t){return e.filter((r)=>r.kind===t).length}async function Ir(e){let t=await yi({events:e.events,enabled:e.gitMetadataEnabled,readRemote:e.readRemote,bindings:e.bindings}),r=e.events.filter((u)=>!oe({repository:lt({event:u,repositories:t}),patterns:e.blockedOrigins??[]})),n=new Map([...t].map(([u,d])=>[u,d.origin])),o=bh({events:r,repositories:t}),i=o.filter((u)=>u.kind==="interruption"),a=o.filter((u)=>u.kind==="permission-denied"),s=o.filter((u)=>u.kind==="question-answered"),c=o.filter((u)=>u.kind==="plan-resolved"),l=new Set(r.map((u)=>lt({event:u,repositories:t}).origin.id)).size;return{corrections:o,learning:xh({events:r,repositories:t}),events:r,origins:n,report:{corpus:e.corpus,originCount:l,correctionCounts:{interruptions:i.length,permissionDenials:a.length,answeredQuestions:s.length,resolvedPlans:c.length},interruptions:fl(i),denials:fl(a),askedQuestions:Ph(r,"question-asked"),presentedPlans:Ph(r,"plan-presented"),structural:kh(r)}}}async function te(e){let t=e.paths??b,{config:r,policy:n}=await j({configPath:e.configPath??t.configFile,managedConfigPath:e.managedConfigPath===void 0?t.managedConfigFile:e.managedConfigPath});if(!n.enabled)return null;let o=e.scope==="global"?null:await ne({cwd:e.cwd,enabled:r.sources["git-metadata"],readRemote:e.readRemote});if(o&&oe({repository:o,patterns:n.blockedOrigins}))return null;return(await Ce({input:{kind:"directory",profileDirectory:t.profileDirectory,origin:o?.origin??null,targetRepo:o?.profileFileName??null,scope:e.scope}})).markdown}import _i from"path";import fE from"path";import Sh from"path";var We={agent:Sh.join(".claude","agents","shadowclone.md"),"delegation-skill":Sh.join(".claude","skills","shadowclone","SKILL.md")},Or={agent:".claude/agents/shadowclone.md","delegation-skill":".claude/skills/shadowclone/"};import{lstat as pE,realpath as Eh}from"fs/promises";import xi from"path";async function mE(e){let{exitCode:t,stdout:r}=await Ot({arguments:["git","rev-parse","--show-toplevel"],cwd:e}),n=r.trim();return t===0&&n.length>0?n:null}async function vi(e){if(!xi.isAbsolute(e.directory))return null;let t=await Eh(e.directory).catch(()=>null);if(t===null)return null;let n=await(e.readTopLevel??mE)(t);if(n===null)return null;return await Eh(n).catch(()=>null)===t?t:null}async function $r(e){let t=e.relativePath.split(xi.sep).filter(Boolean);if(t.length===0)return null;let r=e.root;for(let n of t){if(n==="."||n==="..")return null;if(r=xi.join(r,n),(await pE(r).catch(()=>null))?.isSymbolicLink())return null}return r.startsWith(`${e.root}${xi.sep}`)?r:null}function _h(e){return new Bun.CryptoHasher("sha256").update(e).digest("hex")}async function hl(e){let t=e.installation?.fingerprints?.[e.artifact];if(!t)return!1;let r=await _e({filePath:fE.join(e.directory,We[e.artifact]),roots:[e.directory],maximumBytes:Jt});return r!==null&&_h(r)===t}async function Rh(e){let t=await $r({root:e.directory,relativePath:We[e.artifact]});if(t===null)throw Error("Installation target contains an unsafe path");if(await Bun.file(t).exists()&&!await hl(e))throw Error("Existing agent or skill was not installed by this version or has user edits; preserve it before reinstalling");return t}async function Ch(e){return await Y({path:e.target,content:e.content}),_h(e.content)}import{mkdir as gE,rm as hE,rmdir as yE}from"fs/promises";import er from"path";var wE=er.join(".claude","skills","shadowclone");async function Ih(e){let{exitCode:t,stdout:r}=await Ot({arguments:["git","rev-parse","--git-path","info/exclude"],cwd:e});if(t!==0)return null;let n=r.trim();if(n.length===0)return null;let o=er.resolve(e,n);if(!o.startsWith(`${er.resolve(e)}${er.sep}`))return null;return $r({root:er.resolve(e),relativePath:er.relative(e,o)})}async function ki(e){let t=await Ih(e.cwd);if(t===null)return[];let r=Bun.file(t),n=await r.exists()?await r.text():"",o=n.split(`
343
+ `,previous:l.content}),s+=1,c+=u.length;else if(l.blocks.length>0)t.push({filePath:l.filePath,next:null,previous:l.content})}lh({files:o.files,written:new Set([...a,...o.pinned]),retired:new Set(o.retired.keys())});for(let l of o.previousEntries)if(l.disposition==="present"&&!o.incoming.has(l.key)&&!o.pinned.has(l.key)&&!o.retired.has(l.key))i.set(l.key,l);for(let l of o.retired.values())i.set(l.key,l);t.push({filePath:e.paths.profileManifestFile,next:uh([...i.values()]),previous:r}),t.push({filePath:e.paths.rejectedProfileFile,next:dh([...o.rejections.values()]),previous:n});for(let l of t.filter((u)=>u.next!==null))await Re(ph.dirname(l.filePath)),await Pt(l.filePath);return await et({paths:e.paths,root:e.paths.profileDirectory,kind:"profile",updates:t}),{files:s,rules:c,rejected:o.rejections.size,preserved:o.incomingRules.filter((l)=>o.pinned.has(l.key)).length}}class gi extends Error{constructor(e){super(e==="output"?"Process output limit exceeded":"Process cancelled or timed out");this.name="ProcessLimitError"}}async function mh(e){let t=e.stream.getReader(),r=[],n=0;try{while(!0){let o=await t.read();if(o.done)return Buffer.concat(r).toString("utf8");if(n+=o.value.byteLength,n>e.maximumBytes)throw e.overflow(),new gi("output");r.push(o.value)}}finally{await t.cancel().catch(()=>{return}),t.releaseLock()}}async function Le(e){let t=AbortSignal.timeout(e.timeoutMilliseconds??600000),r=e.signal?AbortSignal.any([t,e.signal]):t;if(r.aborted)throw new gi("cancelled");let n=Bun.spawn({cmd:[...e.arguments],cwd:e.cwd,env:{...e.environment},stdin:"pipe",stdout:"pipe",stderr:"pipe",detached:process.platform!=="win32"}),o=()=>{try{if(process.platform!=="win32")process.kill(-n.pid,"SIGKILL");else n.kill("SIGKILL")}catch{n.kill("SIGKILL")}};if(r.addEventListener("abort",o,{once:!0}),r.aborted)o();try{let i=await Promise.allSettled([mh({stream:n.stdout,maximumBytes:e.maximumOutputBytes??Sf,overflow:o}),mh({stream:n.stderr,maximumBytes:Ef,overflow:o}),n.exited,(async()=>{try{n.stdin.write(e.input??""),await n.stdin.flush()}finally{n.stdin.end()}})()]);if(r.aborted)throw new gi("cancelled");let[a,s,c]=i;for(let l of i)if(l.status==="rejected")throw l.reason;if(a?.status!=="fulfilled"||s?.status!=="fulfilled"||c?.status!=="fulfilled")throw Error("Process did not complete");return{exitCode:c.value,stdout:a.value,stderr:s.value.slice(-_f)}}finally{o(),r.removeEventListener("abort",o)}}async function fh(e){let t=[];for(let r of["user.name","user.email"]){let n=await Le({arguments:["git","config","--get",r],cwd:e.cwd,environment:{...e.environment,GIT_CONFIG_GLOBAL:void 0},timeoutMilliseconds:1e4,maximumOutputBytes:4096}),o=n.stdout.trim();if(n.exitCode===0&&o.length>0)t.push("-c",`${r}=${o}`)}return t}var nE=["-c","core.hooksPath=/dev/null","-c","core.fsmonitor=false","-c","core.pager=cat","-c","commit.gpgsign=false","-c","tag.gpgSign=false","-c","protocol.ext.allow=never","-c","protocol.file.allow=never"];function oE(e={}){return{PATH:process.env.PATH,HOME:process.env.HOME,LANG:process.env.LANG,TMPDIR:process.env.TMPDIR,GIT_CONFIG_NOSYSTEM:"1",GIT_CONFIG_GLOBAL:"/dev/null",GIT_TERMINAL_PROMPT:"0",...e.remote?{GH_TOKEN:process.env.GH_TOKEN,GITHUB_TOKEN:process.env.GITHUB_TOKEN,SSH_AUTH_SOCK:process.env.SSH_AUTH_SOCK}:{}}}async function Ot(e){let[t,...r]=e.arguments;if(!t)throw Error("Command requires an executable");let n=t==="gh"||r.includes("push"),o=oE({remote:n}),i=[...nE];if(t==="git"&&!r.includes("config")){if((await Le({arguments:["git",...i,"config","--local","--includes","--name-only","--get-regexp","^(filter\\..*\\.(clean|smudge|process|required)|diff\\..*\\.(command|textconv)|core\\.sshcommand|remote\\..*\\.(vcs|receivepack)|core\\.gitproxy|credential(\\..*)?\\.helper)$"],cwd:e.cwd,environment:o,timeoutMilliseconds:1e4,signal:e.signal})).stdout.trim().length>0)throw Error("Automatic Git commands refuse executable repository configuration")}if(t==="git"&&r.includes("commit"))i.push(...await fh({cwd:e.cwd,environment:o}));if(t==="git"&&r.includes("push"))i.push("-c","credential.helper=","-c","credential.https://github.com.helper=!gh auth git-credential");return Le({arguments:t==="git"?["git",...i,...r]:[t,...r],cwd:e.cwd,environment:o,timeoutMilliseconds:(e.timeoutSeconds??60)*1000,signal:e.signal})}function hi(e){let t=new Bun.CryptoHasher("sha256").update(e).digest("hex").slice(0,16);return{id:`isolated:${t}`,directoryName:`isolated--${t}`,promotable:!1}}function gh(e){let t;try{t=e.split("/").filter(Boolean).map((o)=>decodeURIComponent(o))}catch{return null}let r=t,n=r.at(-1);if(n===void 0||r.length<2)return null;if(r.some((o)=>o==="."||o===".."||[...o].some((i)=>i.charCodeAt(0)<=32)||o.includes("/")||o.includes("\\")))return null;return{owner:r.slice(0,-1).join("/"),repository:n.replace(/\.git$/,"")}}function iE(e){let t;try{t=new URL(e)}catch{return null}if(t.hostname.length===0)return null;let r=gh(t.pathname);return r===null?null:{host:t.port.length>0?`${t.hostname}:${t.port}`:t.hostname,owner:r.owner,repository:r.repository}}function aE(e){let t=e.match(/^(?:[^@/]+@)?([^/:]+):([^/].*)$/);if(!t)return null;let[,r,n]=t;if(!r||!n)return null;let o=gh(n);return o===null?null:{host:r,owner:o.owner,repository:o.repository}}function hh(e){let t=e.trim();return iE(t)??aE(t)}function Un(e){let t=hh(e);if(t===null)return null;let r=t.host.toLowerCase(),n=["github.com","gitlab.com"].includes(r)?t.owner.toLowerCase():t.owner,o=`${r}/${n}`,i=pl(o);return{id:o,directoryName:i,promotable:!0}}function Rr(e){let t=hh(e),r=Un(e);if(t===null||r===null)return null;let n=["github.com","gitlab.com"].includes(t.host.toLowerCase())?t.repository.toLowerCase():t.repository,o=`${r.id}/${n}`,i=n.replace(/[^a-z0-9._-]+/g,"--").replace(/^[._-]+|[._-]+$/g,"").slice(0,64)||"repository",a=new Bun.CryptoHasher("sha256").update(o).digest("hex").slice(0,16);return{id:o,name:n,profileFileName:`${i}--${a}`,origin:r}}async function Cr(e){try{let{exitCode:t,stdout:r}=await Ot({arguments:["git","-C",e,"config","--local","--get","remote.origin.url"],cwd:e}),n=r.trim();return t===0&&n.length>0?n:null}catch{return null}}function pl(e){if(e.startsWith("isolated:"))return e.replace(":","--");let t=new Bun.CryptoHasher("sha256").update(e).digest("hex").slice(0,16);return`${e.toLowerCase().replace(/[^a-z0-9._-]+/g,"--").slice(0,80)}--${t}`}import sE from"path";function yh(e){return JSON.stringify([e.source,e.sessionId,e.cwd?sE.resolve(e.cwd):""])}async function ml(e){let t=e.cwd||e.fallbackKey||"unknown",r=e.readRemote??Cr,n=e.enabled&&e.cwd.length>0?await r(e.cwd):null;return n===null?hi(t):Un(n)??hi(t)}async function ne(e){let t=e.readRemote??Cr,r=e.enabled&&e.cwd.length>0?await t(e.cwd):null,n=r?Rr(r):null;if(n!==null)return n;let o=await ml({cwd:e.cwd,fallbackKey:e.fallbackKey,enabled:!1});return{id:o.id,name:null,profileFileName:null,origin:o}}async function yi(e){let t=new Map,r=e.readRemote??Cr;for(let n of e.events){let o=yh(n);if(t.has(o))continue;let i=e.enabled?e.bindings?.getOriginBinding(o)??null:null;if(i!==null){t.set(o,i);continue}let a=e.bindings?.getOriginObservationStart?.()??0,s=n.timestamp>=a,c=await ne({cwd:n.cwd,fallbackKey:o,enabled:e.enabled&&s,readRemote:r});if(t.set(o,c),e.enabled&&c.origin.promotable)e.bindings?.bindOrigin({originKey:o,repository:c})}return t}function lt(e){let t=yh(e.event),r=e.repositories.get(t);if(r)return r;let n=hi(t);return{id:n.id,name:null,profileFileName:null,origin:n}}function wh(e){for(let t=e.length-1;t>=0;t-=1){let r=e[t];if(r&&(r.kind==="tool-call"||r.kind==="plan-presented"||r.kind==="question-asked"||r.kind==="assistant-text"))return r}return null}function cE(e){if(e?.tool)return{category:`tool:${e.tool.name}`,label:`while using ${e.tool.name}`};if(e?.kind==="plan-presented")return{category:"after-plan",label:"after presenting a plan"};if(e?.kind==="assistant-text")return{category:"assistant-text",label:"during an explanation"};return{category:"other",label:"before finishing a response"}}function wi(e){let t=[e.relatedEvent?.textRef,e.event.textRef].filter((r)=>r!==null&&r!==void 0);return{kind:e.kind,category:e.category,label:e.label,sessionId:e.event.sessionId,timestamp:e.event.timestamp,origin:e.repository.origin,repositoryName:e.repository.profileFileName,textRefs:t}}function uE(e){let t=[],r=[],n=null,o=null;for(let i of e.events){let a=lt({event:i,repositories:e.repositories});if(i.kind==="interruption"){let s=wh(r),c=cE(s);t.push(wi({kind:"interruption",...c,event:i,repository:a,relatedEvent:s}))}if(i.kind==="permission-denied"){let s=wh(r),c=s?.tool?.name??"an unspecified tool";t.push(wi({kind:"permission-denied",category:`tool:${c}`,label:c,event:i,repository:a,relatedEvent:s}))}if(i.kind==="question-asked")n=i;if(i.kind==="plan-presented")o=i;if(i.kind==="user-prompt"||i.kind==="question-answered"){if(n!==null||i.kind==="question-answered")t.push(wi({kind:"question-answered",category:"agent-question",label:"an agent question",event:i,repository:a,relatedEvent:n})),n=null}if(i.kind==="user-prompt"||i.kind==="plan-resolved"){if(o!==null||i.kind==="plan-resolved")t.push(wi({kind:"plan-resolved",category:"presented-plan",label:"a presented plan",event:i,repository:a,relatedEvent:o})),o=null}r.push(i)}return t}function bh(e){return[...Map.groupBy(e.events,(r)=>`${r.source}:${r.sessionId}`).values()].flatMap((r)=>uE({events:r,repositories:e.repositories}))}function xh(e){let t=[],r=Map.groupBy(e.events,(n)=>`${n.source}:${n.sessionId}:${n.cwd}`);for(let n of r.values()){let o=null,i=[],a=()=>{let s=i[0],c=i.at(-1);if(!s||!c)return;let l=lt({event:s,repositories:e.repositories});t.push({kind:"user-steering",category:"user-episode",label:"user steering episode",sessionId:`${s.source==="claude-prompts"?"claude-code":s.source}:${s.sessionId}`,timestamp:c.timestamp,origin:l.origin,repositoryName:l.profileFileName,textRefs:i.flatMap((u)=>u.textRef?[u.textRef]:[]),contextRefs:o?.kind==="assistant-text"&&o.textRef?[o.textRef]:[]}),i=[]};for(let s of[...n].sort((c,l)=>c.timestamp-l.timestamp||c.id-l.id))if((s.kind==="user-prompt"||s.kind==="question-answered"||s.kind==="plan-resolved")&&s.textRef)i.push(s);else if(s.kind!=="interruption"&&s.kind!=="permission-denied"){if(a(),s.kind==="assistant-text"||s.kind==="tool-call"||s.kind==="session-end")o=s}a()}return t.sort((n,o)=>n.timestamp-o.timestamp)}function dE(e,t){let r=t.split("*").map((n)=>n.replace(/[.+?^${}()|[\]\\]/g,"\\$&")).join(".*");return new RegExp(`^${r}$`).test(e)}function oe(e){if(e.patterns.length===0)return!1;let t=[...new Set([e.repository.origin.id,e.repository.id])];return e.patterns.some((r)=>t.some((n)=>dE(n,r)))}function vh(e){let t=new Map;for(let r of e){let n=t.get(r.category);t.set(r.category,{...r,count:(n?.count??0)+1})}return[...t.values()].sort((r,n)=>n.count-r.count||r.label.localeCompare(n.label))}function fl(e){return vh(e)}function kh(e){let t=new Set(e.map((o)=>`${o.source}:${o.sessionId}`)),r=new Set(e.filter((o)=>o.kind==="plan-presented").map((o)=>`${o.source}:${o.sessionId}`));return{toolUses:vh(e.flatMap((o)=>o.tool?[{category:o.tool.name,label:o.tool.name}]:[])),planSessions:r.size,totalSessions:t.size}}function bi(e){let t=new Map;for(let n of e){let o=t.get(n.source);if(!o)o={sessions:new Set,interruptions:0,denials:0},t.set(n.source,o);if(o.sessions.add(n.sessionId),n.kind==="interruption")o.interruptions+=1;else if(n.kind==="permission-denied")o.denials+=1}let r=[];for(let[n,o]of t.entries()){let i=o.sessions.size,s=(n==="claude-code"||n==="codex")&&i>=25&&o.interruptions===0&&o.denials===0;r.push({source:n,sessions:i,interruptions:o.interruptions,denials:o.denials,isStale:s})}return r.sort((n,o)=>n.source.localeCompare(o.source))}function gl(e){let t=bi(e),r=[];for(let n of t)if(n.isStale)r.push(`Source "${n.source}" has ${n.sessions} sessions with 0 interruptions and 0 tool denials. Marker patterns may be stale.`);return r}function Ph(e,t){return e.filter((r)=>r.kind===t).length}async function Ir(e){let t=await yi({events:e.events,enabled:e.gitMetadataEnabled,readRemote:e.readRemote,bindings:e.bindings}),r=e.events.filter((u)=>!oe({repository:lt({event:u,repositories:t}),patterns:e.blockedOrigins??[]})),n=new Map([...t].map(([u,d])=>[u,d.origin])),o=bh({events:r,repositories:t}),i=o.filter((u)=>u.kind==="interruption"),a=o.filter((u)=>u.kind==="permission-denied"),s=o.filter((u)=>u.kind==="question-answered"),c=o.filter((u)=>u.kind==="plan-resolved"),l=new Set(r.map((u)=>lt({event:u,repositories:t}).origin.id)).size;return{corrections:o,learning:xh({events:r,repositories:t}),events:r,origins:n,report:{corpus:e.corpus,originCount:l,correctionCounts:{interruptions:i.length,permissionDenials:a.length,answeredQuestions:s.length,resolvedPlans:c.length},interruptions:fl(i),denials:fl(a),askedQuestions:Ph(r,"question-asked"),presentedPlans:Ph(r,"plan-presented"),structural:kh(r)}}}async function te(e){let t=e.paths??b,{config:r,policy:n}=await j({configPath:e.configPath??t.configFile,managedConfigPath:e.managedConfigPath===void 0?t.managedConfigFile:e.managedConfigPath});if(!n.enabled)return null;let o=e.scope==="global"?null:await ne({cwd:e.cwd,enabled:r.sources["git-metadata"],readRemote:e.readRemote});if(o&&oe({repository:o,patterns:n.blockedOrigins}))return null;return(await Ce({input:{kind:"directory",profileDirectory:t.profileDirectory,origin:o?.origin??null,targetRepo:o?.profileFileName??null,scope:e.scope}})).markdown}import _i from"path";import fE from"path";import Sh from"path";var We={agent:Sh.join(".claude","agents","shadowclone.md"),"delegation-skill":Sh.join(".claude","skills","shadowclone","SKILL.md")},Or={agent:".claude/agents/shadowclone.md","delegation-skill":".claude/skills/shadowclone/"};import{lstat as pE,realpath as Eh}from"fs/promises";import xi from"path";async function mE(e){let{exitCode:t,stdout:r}=await Ot({arguments:["git","rev-parse","--show-toplevel"],cwd:e}),n=r.trim();return t===0&&n.length>0?n:null}async function vi(e){if(!xi.isAbsolute(e.directory))return null;let t=await Eh(e.directory).catch(()=>null);if(t===null)return null;let n=await(e.readTopLevel??mE)(t);if(n===null)return null;return await Eh(n).catch(()=>null)===t?t:null}async function $r(e){let t=e.relativePath.split(xi.sep).filter(Boolean);if(t.length===0)return null;let r=e.root;for(let n of t){if(n==="."||n==="..")return null;if(r=xi.join(r,n),(await pE(r).catch(()=>null))?.isSymbolicLink())return null}return r.startsWith(`${e.root}${xi.sep}`)?r:null}function _h(e){return new Bun.CryptoHasher("sha256").update(e).digest("hex")}async function hl(e){let t=e.installation?.fingerprints?.[e.artifact];if(!t)return!1;let r=await _e({filePath:fE.join(e.directory,We[e.artifact]),roots:[e.directory],maximumBytes:Jt});return r!==null&&_h(r)===t}async function Rh(e){let t=await $r({root:e.directory,relativePath:We[e.artifact]});if(t===null)throw Error("Installation target contains an unsafe path");if(await Bun.file(t).exists()&&!await hl(e))throw Error("Existing agent or skill was not installed by this version or has user edits; preserve it before reinstalling");return t}async function Ch(e){return await Y({path:e.target,content:e.content}),_h(e.content)}import{mkdir as gE,rm as hE,rmdir as yE}from"fs/promises";import er from"path";var wE=er.join(".claude","skills","shadowclone");async function Ih(e){let{exitCode:t,stdout:r}=await Ot({arguments:["git","rev-parse","--git-path","info/exclude"],cwd:e});if(t!==0)return null;let n=r.trim();if(n.length===0)return null;let o=er.resolve(e,n);if(!o.startsWith(`${er.resolve(e)}${er.sep}`))return null;return $r({root:er.resolve(e),relativePath:er.relative(e,o)})}async function ki(e){let t=await Ih(e.cwd);if(t===null)return[];let r=Bun.file(t),n=await r.exists()?await r.text():"",o=n.split(`
344
344
  `).map((s)=>s.trim()),i=e.patterns.filter((s)=>Object.values(Or).includes(s)).filter((s)=>!o.includes(s));if(i.length===0)return[];await gE(er.dirname(t),{recursive:!0});let a=n.length>0&&!n.endsWith(`
345
345
  `)?`${n}
346
346
  `:n;return await Bun.write(t,`${a}${i.join(`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shadowclone/cli",
3
- "version": "0.0.7",
3
+ "version": "0.0.8",
4
4
  "module": "src/cli/index.ts",
5
5
  "type": "module",
6
6
  "packageManager": "bun@1.3.3",