@systemfsoftware/omp-claude-compat 1.1.6 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3 @@
1
+ import{A as e,B as t,C as n,Cn as r,D as i,Dn as a,E as o,En as s,F as c,Ft as l,H as u,I as d,N as f,O as p,On as m,P as h,S as ee,Sn as te,St as ne,T as g,Tn as _,U as v,V as y,b,bn as x,bt as S,jt as C,k as w,kn as T,kt as re,mt as ie,pt as ae,r as E,s as D,w as O,wn as k,xt as A,y as j,z as M}from"./esm-DxC3o46t.js";import{f as oe,l as se,o as ce,p as le,s as ue,t as de,u as fe}from"./CommandExecutor-B_nJZc9B.js";import{a as N,d as pe,i as P,o as F,r as I,s as L}from"./dist-DQtXO3Ic.js";import{homedir as R}from"node:os";o({code:n,stdout:g,stderr:g});var z=class extends i()(`Block`,{reason:g}){},B=class extends i()(`Allow`,{}){},V=class extends i()(`Warning`,{message:g}){};w(z,B,V);var H=class extends i()(`Blocked`,{reason:g}){},U=class extends i()(`Continue`,{warning:h(g),updatedInput:h(O({key:g,value:e}))}){};w(H,U);const W=f(d(o({decision:h(g),reason:h(g),hookSpecificOutput:h(o({permissionDecision:h(g),permissionDecisionReason:h(g),updatedInput:h(O({key:g,value:e}))}))}))),me=o({type:ee(`command`),command:g,async:h(b),timeout:h(n)}),G=o({matcher:h(g),hooks:j(me)}),K=o({PreToolUse:c(j(G),{exact:!0,default:()=>[]}),PostToolUse:c(j(G),{exact:!0,default:()=>[]}),UserPromptSubmit:c(j(G),{exact:!0,default:()=>[]}),Stop:c(j(G),{exact:!0,default:()=>[]}),SessionStart:c(j(G),{exact:!0,default:()=>[]}),SessionEnd:c(j(G),{exact:!0,default:()=>[]})}),he=f(w(o({hooks:K,disableAllHooks:h(b)}),o({...K.fields,disableAllHooks:h(b)})));function ge(e){return a(he(e),e=>{if(`hooks`in e)return e;let{disableAllHooks:t,...n}=e;return{hooks:n,disableAllHooks:t}})}const _e=[`PreToolUse`,`PostToolUse`,`UserPromptSubmit`,`SessionStart`,`SessionEnd`,`Stop`];function ve(e){let t={hooks:{PreToolUse:[],PostToolUse:[],UserPromptSubmit:[],SessionStart:[],SessionEnd:[],Stop:[]}};for(let n of e){for(let e of _e)t.hooks[e]=(t.hooks[e]??[]).concat(Array.from(n.hooks[e]));n.disableAllHooks!==void 0&&(t.disableAllHooks=n.disableAllHooks)}return t}function q(e){return e.disableAllHooks===!0}var ye=class extends p()(`HookVerdictError`,{raw:g}){},J=class extends i()(`ExitBlock`,{}){},Y=class extends i()(`ExitParse`,{}){},X=class extends i()(`ExitOther`,{}){};w(J,Y,X);const be=e=>u(e).pipe(v(2,()=>new J({})),v(0,()=>new Y({})),t(()=>new X({}))),xe=(e,n)=>u(e.trim()).pipe(v(``,()=>`Blocked by ${n} hook`),t(e=>e)),Se=(e,n)=>u(e.hookSpecificOutput?.permissionDecision??e.decision).pipe(v(`deny`,()=>new z({reason:e.hookSpecificOutput?.permissionDecisionReason??`Blocked by ${n} hook`})),v(`block`,()=>new z({reason:e.reason??`Blocked by ${n} hook`})),t(()=>new B({}))),Ce=e=>u(e.trim()).pipe(v(``,()=>new B({})),t(e=>new V({message:e}))),we=(e,t)=>u(be(e.code)).pipe(y(`ExitBlock`,()=>T(new z({reason:xe(e.stderr,t)}))),y(`ExitParse`,()=>m(W(e.stdout),{onLeft:()=>s(new ye({raw:e.stdout})),onRight:e=>T(Se(e,t))})),y(`ExitOther`,()=>T(Ce(e.stderr))),M);function Te(e,t){let n=e.replace(/"\$OMP_PROJECT_DIR"|'\$OMP_PROJECT_DIR'/g,JSON.stringify(t)).replace(/"\$\{OMP_PROJECT_DIR\}"|'\$\{OMP_PROJECT_DIR\}'/g,JSON.stringify(t)).replace(/"\$CLAUDE_PROJECT_DIR"|'\$CLAUDE_PROJECT_DIR'/g,JSON.stringify(t)).replace(/"\$\{CLAUDE_PROJECT_DIR\}"|'\$\{CLAUDE_PROJECT_DIR\}'/g,JSON.stringify(t)).replace(/\$OMP_PROJECT_DIR|\$\{OMP_PROJECT_DIR\}/g,JSON.stringify(t)).replace(/\$CLAUDE_PROJECT_DIR|\$\{CLAUDE_PROJECT_DIR\}/g,JSON.stringify(t)).trim();return{cmd:`sh`,args:[`-c`,n.startsWith(`"`)&&n.endsWith(`"`)?n.slice(1,-1):n]}}const Z=S(`loadSettingsFile`)(function*(t){let n=yield*(yield*pe).readFileString(t).pipe(ae(()=>C(``)));if(n===``)return null;let r=f(d(O({key:g,value:e})))(n);if(k(r))return null;let i=r.right,a=ge(i);return k(a)?null:a.right}),Ee=S(`loadSettings`)(function*(e){let t=[`${R()}/.claude/settings.json`,`${e}/.claude/settings.json`,`${e}/.claude/settings.local.json`,`/etc/claude-code/managed-settings.json`];return yield*De(t)}),De=S(`loadSettingsWithPaths`)(function*(e){let t=[];for(let n of e){let e=yield*Z(n);e!==null&&t.push(e)}return t.length===0?null:ve(t)}),Q=S(`runHookScript`)(function*(e,t,n,r){let i=yield*de,{cmd:a,args:o}=Te(e,n),s=JSON.stringify(t),c=se(a,...o).pipe(le(n),ce({OMP_PROJECT_DIR:n,CLAUDE_PROJECT_DIR:n}),ue(s),oe(`pipe`),fe(`pipe`));return yield*re(ne(function*(){let e=yield*i.start(c),t=yield*e.stdout.pipe(E(),D),n=yield*e.stderr.pipe(E(),D),r=yield*e.exitCode;return{code:typeof r==`number`?r:Number(r),stdout:t,stderr:n}})).pipe(l(r),ie(`TimeoutException`,()=>C({code:-1,stdout:``,stderr:`timeout after ${r}ms`})))}),$=S(`runHooksForEvent`)(function*(e,t,n,i,a){let o=i.cwd,s,c=!1,l=n;for(let n of e)if(P(t,n.matcher))for(let e of n.hooks){let t=(e.timeout??10)*1e3;if(e.async){yield*A(Q(e.command,l,o,t));continue}let n=yield*Q(e.command,l,o,t),i=u(u(m(we(n,a),{onLeft:e=>u(e).pipe(y(`HookVerdictError`,e=>new V({message:`Hook exited 0 but produced invalid JSON: ${e.raw.slice(0,200)}`})),M),onRight:e=>e})).pipe(y(`Block`,e=>new H({reason:e.reason})),y(`Warning`,e=>new U({warning:e.message})),y(`Allow`,()=>{let e=W(n.stdout);return new U({updatedInput:_(e)?e.right.hookSpecificOutput?.updatedInput:void 0})}),M)).pipe(y(`Blocked`,e=>r({block:!0,reason:e.reason})),y(`Continue`,e=>(e.warning!==void 0&&s===void 0&&(s=e.warning),e.updatedInput!==void 0&&(l={...l,...e.updatedInput},c=!0),te())),M);if(x(i))return i.value}return{...c?{updatedInput:l}:{},...s===void 0?{}:{warning:s}}}),Oe=S(`runPreToolUseHooks`)(function*(e,t,n){if(q(e))return;let r=F(t.toolName),i=L(()=>n.sessionManager.getSessionId()),a={...i,tool_name:r,tool_input:N(r,t.input),tool_call_id:t.toolCallId},o=I(t.toolName,t.input);if(o!==void 0&&o.length>0){let r={...i,tool_name:`Bash`,tool_input:{command:o},tool_call_id:t.toolCallId},a=yield*$(e.hooks.PreToolUse,`Bash`,r,n,`PreToolUse`);if(a.block)return a.reason===void 0?{block:!0}:{block:!0,reason:a.reason}}let s=yield*$(e.hooks.PreToolUse,r,a,n,`PreToolUse`);if(s.block)return s.reason===void 0?{block:!0}:{block:!0,reason:s.reason};if(s.updatedInput&&typeof s.updatedInput==`object`&&`tool_input`in s.updatedInput&&s.updatedInput.tool_input&&typeof s.updatedInput.tool_input==`object`){let e=s.updatedInput.tool_input;for(let[n,r]of Object.entries(e))t.input[n]=r}}),ke=S(`runPostToolUseHooks`)(function*(e,t,n){let r=F(t.toolName);if(q(e))return;let i={...L(()=>n.sessionManager.getSessionId()),tool_name:r,tool_input:N(r,t.input),tool_call_id:t.toolCallId,output:t.content,is_error:t.isError??!1};return yield*$(e.hooks.PostToolUse,r,i,n,`PostToolUse`)}),Ae=S(`runUserPromptSubmitHooks`)(function*(e,t,n){let r=e.hooks.UserPromptSubmit;if(q(e)||r.length===0)return;let i=n.cwd,a=``,o={...L(()=>n.sessionManager.getSessionId()),prompt:t.text,source:t.source};for(let e of r)for(let t of e.hooks){let e=yield*Q(t.command,o,i,(t.timeout??10)*1e3);if(e.code!==0)continue;let n=e.stdout.trim();n.length>0&&(a+=(a.length>0?`
2
+
3
+ `:``)+n)}if(a.length===0)return;let s={text:`${a}\n\n${t.text}`};return t.images!==void 0&&(s.images=t.images),s}),je=S(`runSessionStartHooks`)(function*(e,t,n){if(q(e))return;let r=e.hooks.SessionStart;if(r.length===0)return;let i=n.cwd,a={...L(()=>n.sessionManager.getSessionId()),reason:t};for(let e of r)if(!(e.matcher&&!P(t,e.matcher)))for(let t of e.hooks){let e=(t.timeout??10)*1e3;if(t.async){yield*A(Q(t.command,a,i,e));continue}yield*Q(t.command,a,i,e)}}),Me=S(`runLifecycleHooks`)(function*(e,t){if(e.length===0)return;let n=t.cwd,r={...L(()=>t.sessionManager.getSessionId())};for(let t of e)for(let e of t.hooks){let t=(e.timeout??10)*1e3;e.async?yield*A(Q(e.command,r,n,t)):yield*Q(e.command,r,n,t)}});export{Ee as loadSettings,Me as runLifecycleHooks,ke as runPostToolUseHooks,Oe as runPreToolUseHooks,je as runSessionStartHooks,Ae as runUserPromptSubmitHooks};
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- const e=(e,t)=>{e(e=>{e.setTimeout(()=>{t()},0)});let n=()=>{t().then(({default:e})=>e.dispose())};process.on(`SIGINT`,n),process.on(`SIGTERM`,n)},t=e=>{let t=async e=>{let[t,n]=await Promise.all([import(`./runtime-CMq7fttJ.js`).then(e=>e.default),import(`./esm-DBTIrgAu.js`)]),{Cause:r,Effect:i,Exit:a}=n,o=e.pipe(i.exit),s=await t.runPromise(o);if(a.isFailure(s))throw r.squash(s.cause);return s.value};e.on(`tool_call`,async(e,n)=>{let{loadSettings:r,runPreToolUseHooks:i}=await import(`./hook-dispatcher.executor-B6Jon79H.js`),{Effect:a}=await import(`./esm-DBTIrgAu.js`);return t(a.gen(function*(){let t=yield*r(n.cwd);if(t)return yield*i(t,e,n)}))}),e.on(`tool_result`,async(e,n)=>{let{loadSettings:r,runPostToolUseHooks:i}=await import(`./hook-dispatcher.executor-B6Jon79H.js`),{Effect:a}=await import(`./esm-DBTIrgAu.js`);return t(a.gen(function*(){let t=yield*r(n.cwd);if(!t)return;let a=yield*i(t,e,n);if(a?.block)return{isError:!0,content:[{type:`text`,text:a.reason??`Blocked by PostToolUse hook`}]};if(a?.warning)return{content:[...e.content??[],{type:`text`,text:a.warning}],isError:e.isError}}))}),e.on(`input`,async(e,n)=>{let{loadSettings:r,runUserPromptSubmitHooks:i}=await import(`./hook-dispatcher.executor-B6Jon79H.js`),{Effect:a}=await import(`./esm-DBTIrgAu.js`);return t(a.gen(function*(){let t=yield*r(n.cwd);if(t)return yield*i(t,e,n)}))}),e.on(`session_start`,async(e,n)=>{let{loadSettings:r,runSessionStartHooks:i}=await import(`./hook-dispatcher.executor-B6Jon79H.js`),{Effect:a}=await import(`./esm-DBTIrgAu.js`);return t(a.gen(function*(){let e=yield*r(n.cwd);e&&(yield*i(e,`start`,n))}))}),e.on(`session_compact`,async(e,n)=>{let{loadSettings:r,runSessionStartHooks:i}=await import(`./hook-dispatcher.executor-B6Jon79H.js`),{Effect:a}=await import(`./esm-DBTIrgAu.js`);return t(a.gen(function*(){let e=yield*r(n.cwd);e&&(yield*i(e,`compact`,n))}))}),e.on(`agent_start`,async(e,n)=>{let{loadSettings:r,runSessionStartHooks:i}=await import(`./hook-dispatcher.executor-B6Jon79H.js`),{Effect:a}=await import(`./esm-DBTIrgAu.js`);return t(a.gen(function*(){let e=yield*r(n.cwd);e&&(yield*i(e,`resume`,n))}))}),e.on(`session_shutdown`,async(e,n)=>{let{loadSettings:r,runLifecycleHooks:i}=await import(`./hook-dispatcher.executor-B6Jon79H.js`),{Effect:a}=await import(`./esm-DBTIrgAu.js`);return t(a.gen(function*(){let e=yield*r(n.cwd);e&&(e.disableAllHooks||(yield*i(e.hooks.SessionEnd,n)))}))}),e.on(`session_stop`,async(e,n)=>{let{loadSettings:r,runLifecycleHooks:i}=await import(`./hook-dispatcher.executor-B6Jon79H.js`),{Effect:a}=await import(`./esm-DBTIrgAu.js`);return t(a.gen(function*(){let e=yield*r(n.cwd);e&&(e.disableAllHooks||(yield*i(e.hooks.Stop,n)))}))})},n=e=>{e.on(`before_agent_start`,async(e,t)=>{let n=await import(`./runtime-CMq7fttJ.js`).then(e=>e.default),{loadReferencedContent:r}=await import(`./inject-instructions.executor-C0s4_7XL.js`),{Cause:i,Config:a,Effect:o,Exit:s}=await import(`./esm-DBTIrgAu.js`),c=await n.runPromise(o.gen(function*(){let e=yield*a.string(`CLAUDE_PROJECT_DIR`).pipe(a.withDefault(process.cwd()));return yield*r(e)}).pipe(o.exit));if(s.isFailure(c))throw i.squash(c.cause);let l=c.value;if(l!==``)return{systemPrompt:[...e.systemPrompt,``,l]}})};function r(r){t(r),n(r),e(e=>r.on(`session_start`,(t,n)=>e(n)),()=>import(`./runtime-CMq7fttJ.js`))}export{r as default};
1
+ const e=(e,t)=>{e(e=>{e.setTimeout(()=>{t()},0)});let n=()=>{t().then(({default:e})=>e.dispose())};process.on(`SIGINT`,n),process.on(`SIGTERM`,n)},t=e=>{let t=async e=>{let[t,n]=await Promise.all([import(`./runtime-D3PIHvF6.js`).then(e=>e.default),import(`./esm-DxC3o46t.js`)]),{Cause:r,Effect:i,Exit:a}=n,o=e.pipe(i.exit),s=await t.runPromise(o);if(a.isFailure(s))throw r.squash(s.cause);return s.value};e.on(`tool_call`,async(e,n)=>{let{loadSettings:r,runPreToolUseHooks:i}=await import(`./hook-dispatcher.executor-eSEEzqYS.js`),{Effect:a}=await import(`./esm-DxC3o46t.js`);return t(a.gen(function*(){let t=yield*r(n.cwd);if(t)return yield*i(t,e,n)}))}),e.on(`tool_result`,async(e,n)=>{let{loadSettings:r,runPostToolUseHooks:i}=await import(`./hook-dispatcher.executor-eSEEzqYS.js`),{Effect:a}=await import(`./esm-DxC3o46t.js`);return t(a.gen(function*(){let t=yield*r(n.cwd);if(!t)return;let a=yield*i(t,e,n);if(a?.block)return{isError:!0,content:[{type:`text`,text:a.reason??`Blocked by PostToolUse hook`}]};if(a?.warning)return{content:[...e.content??[],{type:`text`,text:a.warning}],isError:e.isError}}))}),e.on(`input`,async(e,n)=>{let{loadSettings:r,runUserPromptSubmitHooks:i}=await import(`./hook-dispatcher.executor-eSEEzqYS.js`),{Effect:a}=await import(`./esm-DxC3o46t.js`);return t(a.gen(function*(){let t=yield*r(n.cwd);if(t)return yield*i(t,e,n)}))}),e.on(`session_start`,async(e,n)=>{let{loadSettings:r,runSessionStartHooks:i}=await import(`./hook-dispatcher.executor-eSEEzqYS.js`),{Effect:a}=await import(`./esm-DxC3o46t.js`);return t(a.gen(function*(){let e=yield*r(n.cwd);e&&(yield*i(e,`start`,n))}))}),e.on(`session_compact`,async(e,n)=>{let{loadSettings:r,runSessionStartHooks:i}=await import(`./hook-dispatcher.executor-eSEEzqYS.js`),{Effect:a}=await import(`./esm-DxC3o46t.js`);return t(a.gen(function*(){let e=yield*r(n.cwd);e&&(yield*i(e,`compact`,n))}))}),e.on(`agent_start`,async(e,n)=>{let{loadSettings:r,runSessionStartHooks:i}=await import(`./hook-dispatcher.executor-eSEEzqYS.js`),{Effect:a}=await import(`./esm-DxC3o46t.js`);return t(a.gen(function*(){let e=yield*r(n.cwd);e&&(yield*i(e,`resume`,n))}))}),e.on(`session_shutdown`,async(e,n)=>{let{loadSettings:r,runLifecycleHooks:i}=await import(`./hook-dispatcher.executor-eSEEzqYS.js`),{Effect:a}=await import(`./esm-DxC3o46t.js`);return t(a.gen(function*(){let e=yield*r(n.cwd);e&&(e.disableAllHooks||(yield*i(e.hooks.SessionEnd,n)))}))}),e.on(`session_stop`,async(e,n)=>{let{loadSettings:r,runLifecycleHooks:i}=await import(`./hook-dispatcher.executor-eSEEzqYS.js`),{Effect:a}=await import(`./esm-DxC3o46t.js`);return t(a.gen(function*(){let e=yield*r(n.cwd);e&&(e.disableAllHooks||(yield*i(e.hooks.Stop,n)))}))})},n=e=>{e.on(`before_agent_start`,async(e,t)=>{let n=await import(`./runtime-D3PIHvF6.js`).then(e=>e.default),{loadReferencedContent:r}=await import(`./inject-instructions.executor-CcZyWYa6.js`),{Cause:i,Config:a,Effect:o,Exit:s}=await import(`./esm-DxC3o46t.js`),c=await n.runPromise(o.gen(function*(){let e=yield*a.string(`CLAUDE_PROJECT_DIR`).pipe(a.withDefault(process.cwd()));return yield*r(e)}).pipe(o.exit));if(s.isFailure(c))throw i.squash(c.cause);let l=c.value;if(l!==``)return{systemPrompt:[...e.systemPrompt,``,l]}})};function r(r){t(r),n(r),e(e=>r.on(`session_start`,(t,n)=>e(n)),()=>import(`./runtime-D3PIHvF6.js`))}export{r as default};
@@ -0,0 +1,3 @@
1
+ import{Cn as e,D as t,E as n,H as r,Sn as i,T as a,Tn as o,V as s,bn as c,bt as l,gt as u,jt as d,pt as f,vn as p,wn as m,y as h,z as g}from"./esm-DxC3o46t.js";import{c as _,d as v,t as y}from"./dist-DQtXO3Ic.js";const b=[`AGENTS.md`];var x=class extends t()(`Inject`,{}){},S=class extends t()(`Skip`,{matched:a}){};n({relativePath:a,skipList:h(a)});const C=e=>p(e.skipList.find(t=>t===e.relativePath)),w=e=>r(C(e)).pipe(s(`None`,()=>new x),s(`Some`,e=>new S({matched:e.value})),g),T=l(`extractRefs`)(function*(e,t,n){let r=yield*v,i=yield*_,a=[];for(let s of e.split(`
2
+ `)){let e=s.trim().replace(/^[-*+]\s+/,``);if(!e.startsWith(`@`))continue;let c=e.slice(1).trim();if(!c||c.includes(` `)||i.isAbsolute(c))continue;let l=i.resolve(t,c);if(l.startsWith(n+`/`)||l===n){let e=yield*u(r.exists(l));if(o(e)&&e.right){a.push({sourcePath:t,resolvedPath:l});continue}}let d=i.resolve(n,c);(d.startsWith(n+`/`)||d===n)&&d!==l&&a.push({sourcePath:n,resolvedPath:d})}return a}),E=l(`loadReferencedContent`)(function*(t){let n=yield*v,a=yield*_,l=yield*y,p=[a.resolve(t,`CLAUDE.md`),a.resolve(t,`.claude`,`CLAUDE.md`)],h=[];for(let e of p){let r=yield*u(n.readFileString(e,`utf-8`));if(o(r)){let n=yield*T(r.right,a.dirname(e),t);h.push(...n)}}let x=new Set,S=[];for(let e of h)x.has(e.resolvedPath)||(x.add(e.resolvedPath),S.push(e));let C=(yield*l.load(t).pipe(f(()=>d(void 0))))?.no_inject_refs??b,E=[];for(let a of S){let o=a.resolvedPath.slice(t.length+1);if(c(r(w({relativePath:o,skipList:C})).pipe(s(`Skip`,t=>e(t.matched)),s(`Inject`,()=>i()),g)))continue;let l=yield*u(n.readFileString(a.resolvedPath,`utf-8`));m(l)||E.push(`## ${o}\n${l.right}\n`)}return E.length===0?``:[`# Injected @-references from CLAUDE.md`,`The following files were @-imported by CLAUDE.md and contain project rules.`,``,...E].join(`
3
+ `)});export{E as loadReferencedContent};
@@ -0,0 +1 @@
1
+ import{$ as e,$t as t,At as n,Bt as r,Cn as i,Ct as a,Dt as o,Et as s,Ht as c,Lt as l,Mn as u,Mt as d,Nt as f,Ot as p,Pt as m,Q as ee,Qt as h,Rt as te,Sn as ne,Tt as re,Vt as g,W as ie,Xt as ae,Zt as oe,_ as se,_n as ce,_t as le,at as ue,c as de,ct as _,d as fe,dt as pe,en as me,et as v,f as he,ft as y,ht as ge,i as _e,identity as ve,it as ye,jn as be,jt as b,kt as xe,lt as x,m as Se,nn as S,nt as C,ot as w,p as T,pipe as E,pn as Ce,rn as D,rt as we,sn as Te,t as Ee,tn as O,tt as De,vn as k,vt as A,wt as j,xn as Oe,xt as ke,yn as Ae,yt as M,zt as je}from"./esm-DxC3o46t.js";import{a as Me,c as N,d as P,i as F,n as Ne,r as Pe,t as Fe}from"./CommandExecutor-B_nJZc9B.js";import{_ as Ie,b as I,d as L,f as R,g as Le,h as Re,l as ze,m as Be,n as Ve,p as z,u as He,v as Ue,y as We}from"./dist-DQtXO3Ic.js";import*as Ge from"node:os";import*as Ke from"node:crypto";import*as B from"node:path";import*as V from"node:fs";import*as H from"node:child_process";const U=(e,t,n)=>(...r)=>y(i=>{try{e(...r,(e,n)=>{i(e?A(t?t(e,r):e):b(n))})}catch(e){i(n?A(n(e,r)):ge(e))}}),W=(e,t,n)=>_e(qe(e,t,n)),qe=(e,t,n)=>C(()=>Xe(e(),t,Te(void 0),n)),Je=(e,t,{encoding:n,endOnDone:r=!0}={},i=_)=>{let a=Ye(e,n),o=r?y(t=>{`closed`in e&&e.closed?t(_):(e.once(`finish`,()=>t(_)),e.end())}):_;return{awaitRead:()=>_,emit:a,error:e=>c(o,t(e)),done:e=>c(o,i)}},Ye=(e,t)=>n=>n.length===0?_:y(r=>{let i=n[Symbol.iterator](),a=i.next();function o(){let n=a;a=i.next();let s=e.write(n.value,t);a.done?r(_):s?o():e.once(`drain`,o)}o()}),Xe=(t,n,r,i)=>{if(!t.readable)return we;let a=je(!1);function o(){a.unsafeOpen()}function s(e){r.current=ae(n(e)),a.unsafeOpen()}function c(){r.current=oe,a.unsafeOpen()}t.on(`readable`,o),t.on(`error`,s),t.on(`end`,c);let l=i?.chunkSize?Number(i.chunkSize):void 0;return e(C(function e(){let n=t.read(l);if(n===null)return r.current?De(r.current):(a.unsafeClose(),v(a.await,e));let i=[n];for(;;){if(n=t.read(l),n===null)return v(ye(Ce(i)),e);i.push(n)}}),f(()=>{t.off(`readable`,o),t.off(`error`,s),t.off(`end`,c),i?.closeOnDone!==!1&&`closed`in t&&!t.closed&&t.destroy()}))},Ze=(e,t,n)=>se(Qe(e,t,n)),Qe=(e,n,r)=>v(g(f(()=>e()),S()),([e,i])=>ee($e(e,i,n),Je(e,e=>me(i,e),r,t(i,_)))),$e=(e,t,n)=>d(()=>{function r(e){D(t,A(n(e)))}return e.on(`error`,r),le(h(t),f(()=>{e.removeListener(`error`,r)}))}),G=(e,t)=>(n,[r])=>{let i=`Unknown`;switch(n.code){case`ENOENT`:i=`NotFound`;break;case`EACCES`:i=`PermissionDenied`;break;case`EEXIST`:i=`AlreadyExists`;break;case`EISDIR`:i=`BadResource`;break;case`ENOTDIR`:i=`BadResource`;break;case`EBUSY`:i=`Busy`;break;case`ELOOP`:i=`BadResource`;break}return new I({reason:i,module:e,method:t,pathOrDescriptor:r,syscall:n.syscall,description:n.message,cause:n})},et=e=>typeof e==`string`?e:`pipe`,K=e=>typeof e==`string`?e:`pipe`,q=e=>e instanceof globalThis.Error?e:new globalThis.Error(String(e)),J=(e,t,n)=>{let r=N(n).reduce((e,t)=>{let n=`${t.command} ${t.args.join(` `)}`;return e.length===0?n:`${e} | ${n}`},``);return G(`Command`,e)(t,[r])},tt={[F]:F,...be,toJSON(){return{_id:`@effect/platform/CommandExecutor/Process`,pid:this.pid}}},Y=e=>t=>{switch(t._tag){case`StandardCommand`:{let n=M(S(),e=>y(n=>{let r=H.spawn(t.command,t.args,{stdio:[et(t.stdin),K(t.stdout),K(t.stderr)],cwd:Ae(t.cwd,u),shell:t.shell,env:{...process.env,...Object.fromEntries(t.env)},detached:process.platform!==`win32`});return r.on(`error`,e=>{n(A(J(`spawn`,e,t)))}),r.on(`exit`,(...t)=>{D(e,b(t))}),r.on(`spawn`,()=>{n(b([r,e]))}),f(()=>{r.kill(`SIGTERM`)})})),r=process.platform===`win32`?(e,n)=>y(n=>{H.exec(`taskkill /pid ${e.pid} /T /F`,e=>{n(e?A(J(`kill`,q(e),t)):_)})}):(e,n)=>te({try:()=>process.kill(-e.pid,n),catch:e=>J(`kill`,q(e),t)}),i=(e,n)=>d(()=>e.kill(n)?_:A(J(`kill`,new globalThis.Error(`Failed to kill process`),t)));return E(Oe(t.cwd,{onNone:()=>_,onSome:t=>e.access(t)}),c(x(n,([e,t])=>M(O(t),n=>n?M(h(t),([t])=>t!==0&&t!==null?r(e,`SIGTERM`).pipe(a):_):r(e,`SIGTERM`).pipe(p(()=>i(e,`SIGTERM`)),c(h(t)),a)))),j(([e,n])=>{let a=Se;e.stdin!==null&&(a=Ze(()=>e.stdin,e=>J(`toWritable`,q(e),t)));let o=M(h(n),([e,n])=>e===null?A(J(`exitCode`,new globalThis.Error(`Process interrupted due to receipt of signal: ${n}`),t)):b(Ne(e))),l=s(O(n)),u=(t=`SIGTERM`)=>r(e,t).pipe(p(()=>i(e,t)),c(pe(h(n)))),d=Pe(e.pid),f=W(()=>e.stderr,e=>J(`fromReadable(stderr)`,q(e),t)),m=W(()=>e.stdout,e=>J(`fromReadable(stdout)`,q(e),t));return typeof t.stdout!=`string`&&(m=fe(m,t.stdout)),Object.assign(Object.create(tt),{pid:d,exitCode:o,isRunning:l,kill:u,stdin:a,stderr:f,stdout:m})}),typeof t.stdin==`string`?ve:m(e=>ke(de(t.stdin,e.stdin))))}case`PipedCommand`:{let n=N(t);if(n.length===1)return E(n[0],Y(e));let r=n[0],i=n.slice(1),a=i.slice(0,i.length-1),o=i[i.length-1];return E(P(o,a.reduce((t,n)=>E(P(n,t),Y(e),j(e=>e.stdout),T),E(Y(e)(r),j(e=>e.stdout),T))),Y(e))}}},nt=ue(Fe,E(L,j(e=>Me(Y(e))))),X=e=>t=>new We({module:`FileSystem`,method:e,cause:t}),rt=(()=>{let e=U(V.access,G(`FileSystem`,`access`),X(`access`));return(t,n)=>{let r=V.constants.F_OK;return n?.readable&&(r|=V.constants.R_OK),n?.writable&&(r|=V.constants.W_OK),e(t,r)}})(),it=(()=>{let e=U(V.cp,G(`FileSystem`,`copy`),X(`copy`));return(t,n,r)=>e(t,n,{force:r?.overwrite??!1,preserveTimestamps:r?.preserveTimestamps??!1,recursive:!0})})(),at=(()=>{let e=U(V.copyFile,G(`FileSystem`,`copyFile`),X(`copyFile`));return(t,n)=>e(t,n)})(),ot=(()=>{let e=U(V.chmod,G(`FileSystem`,`chmod`),X(`chmod`));return(t,n)=>e(t,n)})(),st=(()=>{let e=U(V.chown,G(`FileSystem`,`chown`),X(`chown`));return(t,n,r)=>e(t,n,r)})(),ct=(()=>{let e=U(V.link,G(`FileSystem`,`link`),X(`link`));return(t,n)=>e(t,n)})(),lt=(()=>{let e=U(V.mkdir,G(`FileSystem`,`makeDirectory`),X(`makeDirectory`));return(t,n)=>e(t,{recursive:n?.recursive??!1,mode:n?.mode})})(),Z=e=>{let t=U(V.mkdtemp,G(`FileSystem`,e),X(e));return e=>d(()=>{let n=e?.prefix??``,r=typeof e?.directory==`string`?B.join(e.directory,`.`):Ge.tmpdir();return t(n?B.join(r,n):r+`/`)})},ut=Z(`makeTempDirectory`),Q=e=>{let t=U(V.rm,G(`FileSystem`,e),X(e));return(e,n)=>t(e,{recursive:n?.recursive??!1,force:n?.force??!1})},dt=Q(`remove`),ft=(()=>{let e=Z(`makeTempDirectoryScoped`),t=Q(`makeTempDirectoryScoped`);return n=>x(e(n),e=>o(t(e,{recursive:!0})))})(),pt=e=>{let t=U(V.open,G(`FileSystem`,e),X(e)),n=U(V.close,G(`FileSystem`,e),X(e));return(e,r)=>E(x(t(e,r?.flag??`r`,r?.mode),e=>o(n(e))),j(e=>ht(He(e),r?.flag?.startsWith(`a`)??!1)))},mt=pt(`open`),ht=(()=>{let e=e=>U(V.read,G(`FileSystem`,e),X(e)),t=e(`read`),n=e(`readAlloc`),a=U(V.fstat,G(`FileSystem`,`stat`),X(`stat`)),o=U(V.ftruncate,G(`FileSystem`,`truncate`),X(`truncate`)),s=U(V.fsync,G(`FileSystem`,`sync`),X(`sync`)),c=e=>U(V.write,G(`FileSystem`,e),X(e)),l=c(`write`),u=c(`writeAll`);class p{fd;append;[R];semaphore=r(1);position=0n;constructor(e,t){this.fd=e,this.append=t,this[R]=R}get stat(){return j(a(this.fd),wt)}get sync(){return s(this.fd)}seek(e,t){let n=z(e);return this.semaphore.withPermits(1)(f(()=>(t===`start`?this.position=n:t===`current`&&(this.position+=n),this.position)))}read(e){return this.semaphore.withPermits(1)(j(d(()=>t(this.fd,{buffer:e,position:this.position})),e=>{let t=z(e);return this.position+=t,t}))}readAlloc(e){let t=Number(e);return this.semaphore.withPermits(1)(M(f(()=>Buffer.allocUnsafeSlow(t)),e=>j(n(this.fd,{buffer:e,position:this.position}),n=>{if(n===0)return ne();if(this.position+=BigInt(n),n===t)return i(e);let r=Buffer.allocUnsafeSlow(n);return e.copy(r,0,0,n),i(r)})))}truncate(e){return this.semaphore.withPermits(1)(j(o(this.fd,e?Number(e):void 0),()=>{if(!this.append){let t=BigInt(e??0);this.position>t&&(this.position=t)}}))}write(e){return this.semaphore.withPermits(1)(j(d(()=>l(this.fd,e,void 0,void 0,this.append?void 0:Number(this.position))),e=>{let t=z(e);return this.append||(this.position+=t),t}))}writeAllChunk(e){return M(d(()=>u(this.fd,e,void 0,void 0,this.append?void 0:Number(this.position))),t=>t===0?A(new I({module:`FileSystem`,method:`writeAll`,reason:`WriteZero`,pathOrDescriptor:this.fd,description:`write returned 0 bytes written`})):(this.append||(this.position+=BigInt(t)),t<e.length?this.writeAllChunk(e.subarray(t)):_))}writeAll(e){return this.semaphore.withPermits(1)(this.writeAllChunk(e))}}return(e,t)=>new p(e,t)})(),gt=e=>{let t=Z(e),n=pt(e),r=e=>f(()=>Ke.randomBytes(e).toString(`hex`));return e=>E(g(t(e),r(6)),j(([t,n])=>B.join(t,n+(e?.suffix??``))),m(e=>xe(n(e,{flag:`w+`}))))},_t=gt(`makeTempFile`),vt=(()=>{let e=gt(`makeTempFileScoped`),t=Q(`makeTempFileScoped`);return n=>x(e(n),e=>o(t(B.dirname(e),{recursive:!0})))})(),yt=(e,t)=>l({try:()=>V.promises.readdir(e,t),catch:t=>G(`FileSystem`,`readDirectory`)(t,[e])}),bt=e=>y((t,n)=>{try{V.readFile(e,{signal:n},(n,r)=>{t(n?A(G(`FileSystem`,`readFile`)(n,[e])):b(r))})}catch(e){t(A(X(`readFile`)(e)))}}),xt=(()=>{let e=U(V.readlink,G(`FileSystem`,`readLink`),X(`readLink`));return t=>e(t)})(),St=(()=>{let e=U(V.realpath,G(`FileSystem`,`realPath`),X(`realPath`));return t=>e(t)})(),Ct=(()=>{let e=U(V.rename,G(`FileSystem`,`rename`),X(`rename`));return(t,n)=>e(t,n)})(),wt=e=>({type:e.isFile()?`File`:e.isDirectory()?`Directory`:e.isSymbolicLink()?`SymbolicLink`:e.isBlockDevice()?`BlockDevice`:e.isCharacterDevice()?`CharacterDevice`:e.isFIFO()?`FIFO`:e.isSocket()?`Socket`:`Unknown`,mtime:k(e.mtime),atime:k(e.atime),birthtime:k(e.birthtime),dev:e.dev,rdev:k(e.rdev),ino:k(e.ino),mode:e.mode,nlink:k(e.nlink),uid:k(e.uid),gid:k(e.gid),size:z(e.size),blksize:k(z(e.blksize)),blocks:k(e.blocks)}),$=(()=>{let e=U(V.stat,G(`FileSystem`,`stat`),X(`stat`));return t=>j(e(t),wt)})(),Tt=(()=>{let e=U(V.symlink,G(`FileSystem`,`symlink`),X(`symlink`));return(t,n)=>e(t,n)})(),Et=(()=>{let e=U(V.truncate,G(`FileSystem`,`truncate`),X(`truncate`));return(t,n)=>e(t,n===void 0?void 0:Number(n))})(),Dt=(()=>{let e=U(V.utimes,G(`FileSystem`,`utime`),X(`utime`));return(t,n,r)=>e(t,n,r)})(),Ot=(e,t)=>Ee(n=>x(f(()=>{let r=V.watch(e,{recursive:t?.recursive},(e,t)=>{if(t)switch(e){case`rename`:n.fromEffect(re($(t),{onSuccess:e=>b(Re({path:t})),onFailure:e=>e._tag===`SystemError`&&e.reason===`NotFound`?b(Le({path:t})):A(e)}));return;case`change`:n.single(Ie({path:t}));return}});return r.on(`error`,t=>{n.fail(new I({module:`FileSystem`,reason:`Unknown`,method:`watch`,pathOrDescriptor:e,cause:t}))}),r.on(`close`,()=>{n.end()}),r}),e=>f(()=>e.close()))),kt=(e,t,n)=>$(t).pipe(j(r=>e.pipe(ce(e=>e.register(t,r,n)),Ae(()=>Ot(t,n)))),he),At=(e,t,n)=>y((r,i)=>{try{V.writeFile(e,t,{signal:i,flag:n?.flag,mode:n?.mode},t=>{r(t?A(G(`FileSystem`,`writeFile`)(t,[e])):_)})}catch(e){r(A(X(`writeFile`)(e)))}}),jt=ue(L,j(n(Be),e=>Ue({access:rt,chmod:ot,chown:st,copy:it,copyFile:at,link:ct,makeDirectory:lt,makeTempDirectory:ut,makeTempDirectoryScoped:ft,makeTempFile:_t,makeTempFileScoped:vt,open:mt,readDirectory:yt,readFile:bt,readLink:xt,realPath:St,remove:dt,rename:Ct,stat:$,symlink:Tt,truncate:Et,utimes:Dt,watch(t,n){return kt(e,t,n)},writeFile:At}))),Mt=nt.pipe(w(jt),w(ze)),Nt=ie(Ve.pipe(w(Mt)));export{Nt as default};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@systemfsoftware/omp-claude-compat",
3
3
  "license": "MIT",
4
- "version": "1.1.6",
4
+ "version": "1.2.1",
5
5
  "author": "Ryan Lee <drdgvhbh@gmail.com>",
6
6
  "description": "OMP Claude Code compatibility: dispatch .claude/settings.json hooks + inject CLAUDE.md @-references",
7
7
  "type": "module",
@@ -30,11 +30,11 @@
30
30
  "tsdown": "^0.22.9",
31
31
  "typescript": "^7",
32
32
  "vitest": "^4",
33
- "@systemfsoftware/effect-gherkin-spec": "^0.3.6",
34
- "@systemfsoftware/oxlint-config": "^0.1.0",
35
- "@systemfsoftware/tsconfig": "^1.2.5",
33
+ "@systemfsoftware/effect-gherkin-spec": "^0.4.0",
34
+ "@systemfsoftware/effect-memfs": "^1.0.7",
36
35
  "@systemfsoftware/omp-utils": "^0.0.0",
37
- "@systemfsoftware/effect-memfs": "^1.0.6"
36
+ "@systemfsoftware/tsconfig": "^1.2.6",
37
+ "@systemfsoftware/oxlint-config": "^0.1.0"
38
38
  },
39
39
  "omp": {
40
40
  "extensions": [
@@ -1 +0,0 @@
1
- import{Dn as e,Dt as t,En as n,Fn as r,Ln as i,Mt as a,Pn as o,a as s,bn as c,c as l,cn as u,fn as d,gn as f,h as p,hn as m,l as h,ln as g,mn as _,o as v,p as y,pipe as b,pn as x,u as S,un as C,vn as w,yt as T}from"./esm-DBTIrgAu.js";const E=Symbol.for(`@effect/platform/CommandExecutor`),D=Symbol.for(`@effect/platform/Process`),O=c(),k=c(),A=w(`@effect/platform/CommandExecutor`),j=e=>{let n=n=>y(t(e(n),e=>e.stdout)),r=(e,t)=>{let r=new TextDecoder(t);return S(v(n(e),x(e=>r.decode(e))))};return{[E]:E,start:e,exitCode:t=>a(T(e(t),e=>e.exitCode)),stream:n,string:(n,r=`utf-8`)=>{let i=new TextDecoder(r);return b(e(n),T(e=>l(e.stdout,M)),t(e=>i.decode(e)),a)},lines:(e,n=`utf-8`)=>b(r(e,n),h,t(f)),streamLines:r}},M=p(new Uint8Array,(e,t)=>m(t,e,(e,t)=>{let n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n})),N=Symbol.for(`@effect/platform/Command`),P=i(2,(e,t)=>{switch(e._tag){case`StandardCommand`:return z({...e,env:C(e.env,g(Object.entries(t).filter(([e])=>e!==void 0)))});case`PipedCommand`:return U(P(e.left,t),P(e.right,t))}}),F=i(2,(e,t)=>G(e,s(_(new TextEncoder().encode(t))))),I=e=>Array.from(L(e)),L=e=>{switch(e._tag){case`StandardCommand`:return _(e);case`PipedCommand`:return d(L(e.left),L(e.right))}},R={[N]:N,pipe(){return o(this,arguments)},...r},ee={...R,_tag:`StandardCommand`,toJSON(){return{_id:`@effect/platform/Command`,_tag:this._tag,command:this.command,args:this.args,env:Object.fromEntries(this.env),cwd:this.cwd.toJSON(),shell:this.shell,gid:this.gid.toJSON(),uid:this.uid.toJSON()}}},z=e=>Object.assign(Object.create(ee),e),B={...R,_tag:`PipedCommand`,toJSON(){return{_id:`@effect/platform/Command`,_tag:this._tag,left:this.left.toJSON(),right:this.right.toJSON()}}},V=e=>Object.assign(Object.create(B),e),H=(e,...t)=>z({command:e,args:t,env:u(),cwd:n(),shell:!1,stdin:`pipe`,stdout:`pipe`,stderr:`pipe`,gid:n(),uid:n()}),U=i(2,(e,t)=>V({left:e,right:t})),W=i(2,(e,t)=>{switch(e._tag){case`StandardCommand`:return z({...e,stderr:t});case`PipedCommand`:return V({...e,right:W(e.right,t)})}}),G=i(2,(e,t)=>{switch(e._tag){case`StandardCommand`:return z({...e,stdin:t});case`PipedCommand`:return V({...e,left:G(e.left,t)})}}),K=i(2,(e,t)=>{switch(e._tag){case`StandardCommand`:return z({...e,stdout:t});case`PipedCommand`:return V({...e,right:K(e.right,t)})}}),q=i(2,(t,n)=>{switch(t._tag){case`StandardCommand`:return z({...t,cwd:e(n)});case`PipedCommand`:return U(q(t.left,n),q(t.right,n))}}),J=P,Y=F,X=I,Z=H,Q=W,$=G,te=K,ne=q,re=A,ie=D,ae=O,oe=k,se=j;export{se as a,X as c,$ as d,te as f,ie as i,Z as l,ae as n,J as o,ne as p,oe as r,Y as s,re as t,Q as u};
@@ -1,18 +0,0 @@
1
- import{$t as e,Bt as t,C as n,Dt as r,G as i,Ht as a,J as o,Jt as s,K as c,L as l,Lt as u,M as ee,O as d,P as f,Pt as p,Qt as te,R as ne,Rt as re,S as m,St as ie,T as h,Tn as ae,X as oe,Xt as g,Y as se,Yt as ce,Z as le,Zt as ue,at as de,bn as fe,bt as pe,et as me,g as he,i as ge,identity as _e,it as ve,j as ye,k as be,mn as xe,mt as Se,n as Ce,p as we,pipe as _,pt as Te,q as Ee,qt as v,rt as y,st as De,ut as Oe,v as ke,vn as b,vt as x,w as Ae,wn as je,wt as Me,x as S,y as Ne,yn as C,yt as w}from"./esm-DBTIrgAu.js";const T=Symbol.for(`@effect/platform/Error`),E=m(`Clipboard`,`Command`,`FileSystem`,`KeyValueStore`,`Path`,`Stream`,`Terminal`);var D=class extends d(`@effect/platform/Error/BadArgument`)(`BadArgument`,{module:E,method:h,description:f(h),cause:f(S)}){[T]=T;get message(){return`${this.module}.${this.method}${this.description?`: ${this.description}`:``}`}};const Pe=m(`AlreadyExists`,`BadResource`,`Busy`,`InvalidData`,`NotFound`,`PermissionDenied`,`TimedOut`,`UnexpectedEof`,`Unknown`,`WouldBlock`,`WriteZero`);var Fe=class extends d(`@effect/platform/Error/SystemError`)(`SystemError`,{reason:Pe,module:E,method:h,description:f(h),syscall:f(h),pathOrDescriptor:f(be(h,n)),cause:f(S)}){[T]=T;get message(){return`${this.reason}: ${this.module}.${this.method}${this.pathOrDescriptor===void 0?``:` (${this.pathOrDescriptor})`}${this.description?`: ${this.description}`:``}`}};const O=b(`@effect/platform/FileSystem`),k=e=>typeof e==`bigint`?e:BigInt(e),A=BigInt(1024);A*A*A*A*A;const Ie=e=>O.of({...e,exists:t=>_(e.access(t),Oe(!0),Se(`SystemError`,e=>e.reason===`NotFound`?p(!1):x(e))),readFileString:(n,r)=>t(e.readFile(n),{try:e=>new TextDecoder(r).decode(e),catch:e=>new D({module:`FileSystem`,method:`readFileString`,description:`invalid encoding`,cause:e})}),stream:(t,n)=>_(e.open(t,{flag:`r`}),n?.offset?u(e=>e.seek(n.offset,`start`)):_e,r(e=>Le(e,n)),we),sink:(t,n)=>_(e.open(t,{flag:`w`,...n}),r(e=>he(t=>e.writeAll(t))),ke),writeFileString:(t,n,r)=>w(a({try:()=>new TextEncoder().encode(n),catch:e=>new D({module:`FileSystem`,method:`writeFileString`,description:`could not encode string`,cause:e})}),n=>e.writeFile(t,n,r))}),Le=(e,{bufferSize:t=16,bytesToRead:n,chunkSize:r=k(64*1024)}={})=>{let i=n===void 0?void 0:k(n),a=k(r);function o(t){if(i!==void 0&&i<=t)return y;let n=i!==void 0&&i-t<a?i-t:a;return me(e.readAlloc(n),ae({onNone:()=>y,onSome:e=>me(ve(xe(e)),n=>o(t+BigInt(e.length)))}))}return Ce(ge(o(BigInt(0))),{capacity:t})},Re=k,j=O,ze=Ie,Be=Symbol.for(`@effect/platform/FileSystem/File`),Ve=fe(),He=v(`Create`),Ue=v(`Update`),We=v(`Remove`);var Ge=class extends C(`@effect/platform/FileSystem/WatchBackend`)(){};const M=Symbol.for(`@effect/platform/Path`),N=b(`@effect/platform/Path`);function P(e,t){let n=``,r=0,i=-1,a=0,o;for(let s=0;s<=e.length;++s){if(s<e.length)o=e.charCodeAt(s);else if(o===47)break;else o=47;if(o===47){if(i!==s-1&&a!==1)if(i!==s-1&&a===2){if(n.length<2||r!==2||n.charCodeAt(n.length-1)!==46||n.charCodeAt(n.length-2)!==46){if(n.length>2){let e=n.lastIndexOf(`/`);if(e!==n.length-1){e===-1?(n=``,r=0):(n=n.slice(0,e),r=n.length-1-n.lastIndexOf(`/`)),i=s,a=0;continue}}else if(n.length===2||n.length===1){n=``,r=0,i=s,a=0;continue}}t&&(n.length>0?n+=`/..`:n=`..`,r=2)}else n.length>0?n+=`/`+e.slice(i+1,s):n=e.slice(i+1,s),r=s-i-1;i=s,a=0}else o===46&&a!==-1?++a:a=-1}return n}function Ke(e,t){let n=t.dir||t.root,r=t.base||(t.name||``)+(t.ext||``);return n?n===t.root?n+r:n+e+r:r}function qe(e){if(e.protocol!==`file:`)return x(new D({module:`Path`,method:`fromFileUrl`,description:`URL must be of scheme file`}));if(e.hostname!==``)return x(new D({module:`Path`,method:`fromFileUrl`,description:`Invalid file URL host`}));let t=e.pathname;for(let e=0;e<t.length;e++)if(t[e]===`%`){let n=t.codePointAt(e+2)|32;if(t[e+1]===`2`&&n===102)return x(new D({module:`Path`,method:`fromFileUrl`,description:`must not include encoded / characters`}))}return p(decodeURIComponent(t))}const F=function(){let e=``,t=!1,n;for(let r=arguments.length-1;r>=-1&&!t;r--){let i;if(r>=0)i=arguments[r];else{let e=globalThis.process;n===void 0&&`process`in globalThis&&typeof e==`object`&&e&&typeof e.cwd==`function`&&(n=e.cwd()),i=n}i.length!==0&&(e=i+`/`+e,t=i.charCodeAt(0)===47)}return e=P(e,!t),t?e.length>0?`/`+e:`/`:e.length>0?e:`.`};function Je(e){let t=new URL(`file://`),n=F(e);return e.charCodeAt(e.length-1)===47&&n[n.length-1]!==`/`&&(n+=`/`),t.pathname=et(n),p(t)}const Ye=/%/g,Xe=/\\/g,Ze=/\n/g,Qe=/\r/g,$e=/\t/g;function et(e){return e.includes(`%`)&&(e=e.replace(Ye,`%25`)),e.includes(`\\`)&&(e=e.replace(Xe,`%5C`)),e.includes(`
2
- `)&&(e=e.replace(Ze,`%0A`)),e.includes(`\r`)&&(e=e.replace(Qe,`%0D`)),e.includes(` `)&&(e=e.replace($e,`%09`)),e}const I=N.of({[M]:M,resolve:F,normalize(e){if(e.length===0)return`.`;let t=e.charCodeAt(0)===47,n=e.charCodeAt(e.length-1)===47;return e=P(e,!t),e.length===0&&!t&&(e=`.`),e.length>0&&n&&(e+=`/`),t?`/`+e:e},isAbsolute(e){return e.length>0&&e.charCodeAt(0)===47},join(){if(arguments.length===0)return`.`;let e;for(let t=0;t<arguments.length;++t){let n=arguments[t];n.length>0&&(e===void 0?e=n:e+=`/`+n)}return e===void 0?`.`:I.normalize(e)},relative(e,t){if(e===t||(e=I.resolve(e),t=I.resolve(t),e===t))return``;let n=1;for(;n<e.length&&e.charCodeAt(n)===47;++n);let r=e.length,i=r-n,a=1;for(;a<t.length&&t.charCodeAt(a)===47;++a);let o=t.length-a,s=i<o?i:o,c=-1,l=0;for(;l<=s;++l){if(l===s){if(o>s){if(t.charCodeAt(a+l)===47)return t.slice(a+l+1);if(l===0)return t.slice(a+l)}else i>s&&(e.charCodeAt(n+l)===47?c=l:l===0&&(c=0));break}let r=e.charCodeAt(n+l);if(r!==t.charCodeAt(a+l))break;r===47&&(c=l)}let u=``;for(l=n+c+1;l<=r;++l)(l===r||e.charCodeAt(l)===47)&&(u.length===0?u+=`..`:u+=`/..`);return u.length>0?u+t.slice(a+c):(a+=c,t.charCodeAt(a)===47&&++a,t.slice(a))},dirname(e){if(e.length===0)return`.`;let t=e.charCodeAt(0),n=t===47,r=-1,i=!0;for(let n=e.length-1;n>=1;--n)if(t=e.charCodeAt(n),t===47){if(!i){r=n;break}}else i=!1;return r===-1?n?`/`:`.`:n&&r===1?`//`:e.slice(0,r)},basename(e,t){let n=0,r=-1,i=!0,a;if(t!==void 0&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return``;let o=t.length-1,s=-1;for(a=e.length-1;a>=0;--a){let c=e.charCodeAt(a);if(c===47){if(!i){n=a+1;break}}else s===-1&&(i=!1,s=a+1),o>=0&&(c===t.charCodeAt(o)?--o===-1&&(r=a):(o=-1,r=s))}return n===r?r=s:r===-1&&(r=e.length),e.slice(n,r)}else{for(a=e.length-1;a>=0;--a)if(e.charCodeAt(a)===47){if(!i){n=a+1;break}}else r===-1&&(i=!1,r=a+1);return r===-1?``:e.slice(n,r)}},extname(e){let t=-1,n=0,r=-1,i=!0,a=0;for(let o=e.length-1;o>=0;--o){let s=e.charCodeAt(o);if(s===47){if(!i){n=o+1;break}continue}r===-1&&(i=!1,r=o+1),s===46?t===-1?t=o:a!==1&&(a=1):t!==-1&&(a=-1)}return t===-1||r===-1||a===0||a===1&&t===r-1&&t===n+1?``:e.slice(t,r)},format:function(e){if(typeof e!=`object`||!e)throw TypeError(`The "pathObject" argument must be of type Object. Received type `+typeof e);return Ke(`/`,e)},parse(e){let t={root:``,dir:``,base:``,ext:``,name:``};if(e.length===0)return t;let n=e.charCodeAt(0),r=n===47,i;r?(t.root=`/`,i=1):i=0;let a=-1,o=0,s=-1,c=!0,l=e.length-1,u=0;for(;l>=i;--l){if(n=e.charCodeAt(l),n===47){if(!c){o=l+1;break}continue}s===-1&&(c=!1,s=l+1),n===46?a===-1?a=l:u!==1&&(u=1):a!==-1&&(u=-1)}return a===-1||s===-1||u===0||u===1&&a===s-1&&a===o+1?s!==-1&&(o===0&&r?t.base=t.name=e.slice(1,s):t.base=t.name=e.slice(o,s)):(o===0&&r?(t.name=e.slice(1,a),t.base=e.slice(1,s)):(t.name=e.slice(o,a),t.base=e.slice(o,s)),t.ext=e.slice(a,s)),o>0?t.dir=e.slice(0,o-1):r&&(t.dir=`/`),t},sep:`/`,fromFileUrl:qe,toFileUrl:Je,toNamespacedPath:_e}),tt=De(N,I),L=N,nt=tt,rt={arrays:`merge`,sets:`merge`,maps:`merge`};function R(e,t,n){return it(e,t,new Set,n??rt)}function it(e,t,n,r){let i={},a=new Set([...z(e),...z(t)]);for(let o of a){if(o===`__proto__`)continue;let a=e[o];if(!Object.hasOwn(t,o)){i[o]=a;continue}let s=t[o];if(ct(a)&&ct(s)&&!n.has(a)&&!n.has(s)){n.add(a),n.add(s),i[o]=at(a,s,n,r);continue}i[o]=s}return i}function at(e,t,n,r){if(ot(e)&&ot(t))return it(e,t,n,r);if(st(e)&&st(t)){if(Array.isArray(e)&&Array.isArray(t))return r.arrays===`merge`?e.concat(t):t;if(e instanceof Map&&t instanceof Map){if(r.maps===`merge`){let n=new Map(e);for(let[e,r]of t)n.set(e,r);return n}return t}if(e instanceof Set&&t instanceof Set){if(r.sets===`merge`){let n=new Set(e);for(let e of t)n.add(e);return n}return t}}return t}function ot(e){return Object.getPrototypeOf(e)===Object.prototype}function st(e){return typeof e[Symbol.iterator]==`function`}function ct(e){return typeof e==`object`&&!!e}function z(e){let t=Object.keys(e),n=Object.getOwnPropertySymbols(e);if(n.length===0)return t;for(let r of n)Object.prototype.propertyIsEnumerable.call(e,r)&&t.push(r);return t}function lt(e){return e%4==0&&e%100!=0||e%400==0}var ut=class{#e=/[ \t]/;#t=0;#n;constructor(e){this.#n=e}get position(){return this.#t}get source(){return this.#n}char(e=0){return this.#n[this.#t+e]??``}slice(e,t){return this.#n.slice(this.#t+e,this.#t+t)}next(e=1){this.#t+=e}skipWhitespaces(){for(;this.#e.test(this.char())&&!this.eof();)this.next();if(!this.isCurrentCharEOL()&&/\s/.test(this.char())){let e=`\\u`+this.char().charCodeAt(0).toString(16),t=this.#t;throw SyntaxError(`Cannot parse the TOML: It contains invalid whitespace at position '${t}': \`${e}\``)}}nextUntilChar(e={skipComments:!0}){for(;!this.eof();){let t=this.char();if(this.#e.test(t)||this.isCurrentCharEOL())this.next();else if(e.skipComments&&this.char()===`#`)for(;!this.isCurrentCharEOL()&&!this.eof();)this.next();else break}}eof(){return this.#t>=this.#n.length}isCurrentCharEOL(){return this.char()===`
3
- `||this.startsWith(`\r
4
- `)}startsWith(e){return this.#n.startsWith(e,this.#t)}match(e){if(!e.sticky)throw Error(`RegExp ${e} does not have a sticky 'y' flag`);return e.lastIndex=this.#t,this.#n.match(e)}};function B(e){return{ok:!0,body:e}}function V(){return{ok:!1}}function H(e,t={__proto__:null}){return e.reduceRight((e,t)=>({[t]:e}),t)}function dt(e){return typeof e==`object`&&!!e}function ft(e,t){let n=t[0];if(!n)throw Error(`Cannot parse the TOML: key length is not a positive number`);return e[n]}function pt(e,t){let{keys:n,type:r,value:i}=t,a=ft(e,n);if(a===void 0)return Object.assign(e,H(n,i));if(Array.isArray(a))return U(a.at(-1),{type:r,keys:n.slice(1),value:i}),e;if(dt(a))return U(a,{type:r,keys:n.slice(1),value:i}),e;throw Error(`Unexpected assign`)}function mt(e,t){let{type:n,keys:r,value:i}=t,a=ft(e,r);if(a===void 0)return Object.assign(e,H(r,[i]));if(Array.isArray(a))return t.keys.length===1?a.push(i):U(a.at(-1),{type:t.type,keys:t.keys.slice(1),value:t.value}),e;if(dt(a))return U(a,{type:n,keys:r.slice(1),value:i}),e;throw Error(`Unexpected assign`)}function U(e,t){switch(t.type){case`Block`:return R(e,t.value);case`Table`:return pt(e,t);case`TableArray`:return mt(e,t)}}function W(e){return t=>{for(let n of e){let e=n(t);if(e.ok)return e}return V()}}function ht(e,t){let n=K(t);return r=>{let i=[],a=e(r);if(!a.ok)return B(i);for(i.push(a.body);!r.eof()&&n(r).ok;){let n=e(r);if(!n.ok)throw SyntaxError(`Invalid token after "${t}"`);i.push(n.body)}return B(i)}}function gt(e,t){let n=K(t);return r=>{let i=e(r);if(!i.ok)return V();let a=[i.body];for(;!r.eof()&&n(r).ok;){let n=e(r);if(!n.ok)throw SyntaxError(`Invalid token after "${t}"`);a.push(n.body)}return B(a)}}function _t(e,t,n){let r=K(t);return i=>{let a=i.position,o=e(i);if(!o.ok)return V();if(!r(i).ok)throw SyntaxError(`key/value pair doesn't have "${t}"`);let s=n(i);if(!s.ok){let e=i.source.indexOf(`
5
- `,i.position),t=e>0?e:i.source.length,n=i.source.slice(a,t);throw SyntaxError(`Cannot parse value on line '${n}'`)}return B(H(o.body,s.body))}}function vt(e){return t=>{let n=e(t);if(!n.ok)return V();let r={__proto__:null};for(let e of n.body)typeof e==`object`&&e&&(r=R(r,e));return B(r)}}function yt(e){return t=>{let n=[];for(;!t.eof();){let r=e(t);if(!r.ok)break;n.push(r.body),t.nextUntilChar()}return n.length===0?V():B(n)}}function G(e,t,n){let r=K(e),i=K(n);return a=>{if(!r(a).ok)return V();let o=t(a);if(!o.ok)throw SyntaxError(`Invalid token after "${e}"`);if(!i(a).ok)throw SyntaxError(`Not closed by "${n}" after started with "${e}"`);return B(o.body)}}function K(e){return t=>(t.skipWhitespaces(),t.startsWith(e)?(t.next(e.length),t.skipWhitespaces(),B(void 0)):V())}const bt=/[A-Za-z0-9_-]+/y;function xt(e){e.skipWhitespaces();let t=e.match(bt)?.[0];return t?(e.next(t.length),B(t)):V()}function St(e){if(e.char()!==`\\`)return V();switch(e.next(),e.char()){case`b`:return e.next(),B(`\b`);case`t`:return e.next(),B(` `);case`n`:return e.next(),B(`
6
- `);case`f`:return e.next(),B(`\f`);case`r`:return e.next(),B(`\r`);case`u`:case`U`:{let t=e.char()===`u`?4:6,n=parseInt(`0x`+e.slice(1,1+t),16),r=String.fromCodePoint(n);return e.next(t+1),B(r)}case`"`:return e.next(),B(`"`);case`\\`:return e.next(),B(`\\`);default:throw SyntaxError(`Invalid escape sequence: \\${e.char()}`)}}function Ct(e){if(e.skipWhitespaces(),e.char()!==`"`)return V();e.next();let t=[];for(;e.char()!==`"`&&!e.eof();){if(e.char()===`
7
- `)throw SyntaxError(`Single-line string cannot contain EOL`);let n=St(e);n.ok?t.push(n.body):(t.push(e.char()),e.next())}if(e.eof())throw SyntaxError(`Single-line string is not closed:\n${t.join(``)}`);return e.next(),B(t.join(``))}function wt(e){if(e.skipWhitespaces(),e.char()!==`'`)return V();e.next();let t=[];for(;e.char()!==`'`&&!e.eof();){if(e.char()===`
8
- `)throw SyntaxError(`Single-line string cannot contain EOL`);t.push(e.char()),e.next()}if(e.eof())throw SyntaxError(`Single-line string is not closed:\n${t.join(``)}`);return e.next(),B(t.join(``))}function Tt(e){if(e.skipWhitespaces(),!e.startsWith(`"""`))return V();e.next(3),e.char()===`
9
- `?e.next():e.startsWith(`\r
10
- `)&&e.next(2);let t=[];for(;!e.startsWith(`"""`)&&!e.eof();){if(e.startsWith(`\\
11
- `)){e.next(),e.nextUntilChar({skipComments:!1});continue}else if(e.startsWith(`\\\r
12
- `)){e.next(),e.nextUntilChar({skipComments:!1});continue}let n=St(e);n.ok?t.push(n.body):(t.push(e.char()),e.next())}if(e.eof())throw SyntaxError(`Multi-line string is not closed:\n${t.join(``)}`);return e.char(3)===`"`&&(t.push(`"`),e.next()),e.next(3),B(t.join(``))}function Et(e){if(e.skipWhitespaces(),!e.startsWith(`'''`))return V();e.next(3),e.char()===`
13
- `?e.next():e.startsWith(`\r
14
- `)&&e.next(2);let t=[];for(;!e.startsWith(`'''`)&&!e.eof();)t.push(e.char()),e.next();if(e.eof())throw SyntaxError(`Multi-line string is not closed:\n${t.join(``)}`);return e.char(3)===`'`&&(t.push(`'`),e.next()),e.next(3),B(t.join(``))}const Dt=/(?:true|false)\b/y;function Ot(e){e.skipWhitespaces();let t=e.match(Dt);if(!t)return V();let n=t[0];return e.next(n.length),B(n===`true`)}const kt=new Map([[`inf`,1/0],[`+inf`,1/0],[`-inf`,-1/0]]),At=/[+-]?inf\b/y;function jt(e){e.skipWhitespaces();let t=e.match(At);if(!t)return V();let n=t[0];return e.next(n.length),B(kt.get(n))}const Mt=/[+-]?nan\b/y;function Nt(e){e.skipWhitespaces();let t=e.match(Mt);if(!t)return V();let n=t[0];return e.next(n.length),B(NaN)}const q=gt(W([xt,Ct,wt]),`.`),Pt=/0b[01]+(?:_[01]+)*\b/y;function Ft(e){e.skipWhitespaces();let t=e.match(Pt)?.[0];if(!t)return V();e.next(t.length);let n=t.slice(2).replaceAll(`_`,``),r=parseInt(n,2);return isNaN(r)?V():B(r)}const It=/0o[0-7]+(?:_[0-7]+)*\b/y;function Lt(e){e.skipWhitespaces();let t=e.match(It)?.[0];if(!t)return V();e.next(t.length);let n=t.slice(2).replaceAll(`_`,``),r=parseInt(n,8);return isNaN(r)?V():B(r)}const Rt=/0x[0-9a-f]+(?:_[0-9a-f]+)*\b/iy;function zt(e){e.skipWhitespaces();let t=e.match(Rt)?.[0];if(!t)return V();e.next(t.length);let n=t.slice(2).replaceAll(`_`,``),r=parseInt(n,16);return isNaN(r)?V():B(r)}const Bt=/[+-]?(?:0|[1-9][0-9]*(?:_[0-9]+)*)\b/y;function Vt(e){e.skipWhitespaces();let t=e.match(Bt)?.[0];if(!t)return V();e.next(t.length);let n=t.replaceAll(`_`,``);return B(parseInt(n,10))}const Ht=/[+-]?(?:0|[1-9][0-9]*(?:_[0-9]+)*)(?:\.[0-9]+(?:_[0-9]+)*)?(?:e[+-]?[0-9]+(?:_[0-9]+)*)?\b/iy;function Ut(e){e.skipWhitespaces();let t=e.match(Ht)?.[0];if(!t)return V();e.next(t.length);let n=t.replaceAll(`_`,``),r=parseFloat(n);return isNaN(r)?V():B(r)}const Wt=/(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})(?:[ 0-9TZ.:+-]+)?\b/y;function Gt(e){e.skipWhitespaces();let t=e.match(Wt);if(!t)return V();let n=t[0];e.next(n.length);let r=t.groups;if(r.month==`02`){let e=parseInt(r.day);if(e>29)throw SyntaxError(`Invalid date string "${t}"`);let n=parseInt(r.year);if(e>28&&!lt(n))throw SyntaxError(`Invalid date string "${t}"`)}let i=new Date(n.trim());if(isNaN(i.getTime()))throw SyntaxError(`Invalid date string "${t}"`);return B(i)}const Kt=/(\d{2}):(\d{2}):(\d{2})(?:\.[0-9]+)?\b/y;function qt(e){e.skipWhitespaces();let t=e.match(Kt)?.[0];return t?(e.next(t.length),B(t)):V()}function Jt(e){if(e.skipWhitespaces(),e.char()!==`[`)return V();e.next();let t=[];for(;!e.eof();){e.nextUntilChar();let n=Xt(e);if(!n.ok||(t.push(n.body),e.skipWhitespaces(),e.char()!==`,`))break;e.next()}if(e.nextUntilChar(),e.char()!==`]`)throw SyntaxError(`Array is not closed`);return e.next(),B(t)}function Yt(e){if(e.nextUntilChar(),e.char(1)===`}`)return e.next(2),B({__proto__:null});let t=G(`{`,ht(Zt,`,`),`}`)(e);if(!t.ok)return V();let n={__proto__:null};for(let e of t.body)n=R(n,e);return B(n)}const Xt=W([Tt,Et,Ct,wt,Ot,jt,Nt,Gt,qt,Ft,Lt,zt,Ut,Vt,Jt,Yt]),Zt=_t(q,`=`,Xt);function J(e){e.nextUntilChar();let t=vt(yt(Zt))(e);return t.ok?B({type:`Block`,value:t.body}):V()}const Qt=G(`[`,q,`]`);function $t(e){e.nextUntilChar();let t=Qt(e);if(!t.ok)return V();e.nextUntilChar();let n=J(e);return B({type:`Table`,keys:t.body,value:n.ok?n.body.value:{__proto__:null}})}const en=G(`[[`,q,`]]`);function tn(e){e.nextUntilChar();let t=en(e);if(!t.ok)return V();e.nextUntilChar();let n=J(e);return B({type:`TableArray`,keys:t.body,value:n.ok?n.body.value:{__proto__:null}})}function nn(e){let t=yt(W([J,tn,$t]))(e);return t.ok?B(t.body.reduce(U,{__proto__:null})):B({__proto__:null})}function Y(e,t){let n=e.source.slice(0,e.position).split(`
15
- `);return`Parse error on line ${n.length}, column ${n.at(-1)?.length??0}: ${t}`}function rn(e){return t=>{let n=new ut(t);try{let t=e(n);if(t.ok&&n.eof())return t.body;let r=`Unexpected character: "${n.char()}"`;throw SyntaxError(Y(n,r))}catch(e){throw e instanceof Error?SyntaxError(Y(n,e.message)):SyntaxError(Y(n,`Invalid error type caught`))}}}function an(e){return rn(nn)(e)}const on={ctx_execute:!0,ctx_batch_execute:!0};function sn(e,t){return on[e]?e!==`ctx_execute`||t.language===`shell`:!1}function cn(e,t){if(sn(e,t)){if(e===`ctx_execute`)return typeof t.code==`string`?t.code:void 0;if(Array.isArray(t.commands))return t.commands.map(e=>typeof e==`object`&&e?e.command:``).filter(e=>typeof e==`string`).join(`
16
- `)}}const ln=new Map;function un(e,t){if(!t||t.length===0)return!0;let n=t.split(`|`).map(e=>e.trim()).filter(Boolean).join(`|`);if(n.length===0)return!0;let r=ln.get(n);if(r!==void 0)return r.test(e);let i=RegExp(`^(?:${n})$`);return ln.set(n,i),i.test(e)}function dn(e){return{session_id:e(),agent_id:null}}const X=Ae({key:h,value:Ne(h)}).pipe(ye(`TomlConfig`)),fn=l(h,ne(X),{strict:!0,decode:e=>Ee({try:()=>an(e),catch:e=>new c(e,`TOML parse error`)}).pipe(le(e=>se(X)(e))),encode:(e,t,n)=>oe(new i(n,e,`TomlConfigFromText is decode-only`))}),Z=`systemfsoftware.toml`,Q=o(X)({});var $=class extends C(`TomlLoader`)(){};const pn=de($,ie(function*(){let t=yield*ce(ue()),n=yield*j,r=yield*L;return $.of({load:pe(`TomlLoader.load`)(function*(i){let a=te(yield*s(t),i);if(je(a))return a.value;let o=r.join(i,Z);if(!(yield*n.exists(o)))return yield*g(t,t=>(e(t,i,Q),t)),Q;let c=yield*n.readFileString(o).pipe(w(ee(fn)),re(e=>Me(`[toml-loader] malformed ${Z} at ${o} — failing open, which voids EVERY key in the file, not just the malformed one`,e)),Te(()=>p(Q)));return yield*g(t,t=>(e(t,i,c),t)),c})})})),mn={Write:!0,Edit:!0,Read:!0,MultiEdit:!0,Update:!0,Create:!0},hn={Edit:!0,MultiEdit:!0,Update:!0};function gn(e){return Array.isArray(e)&&e.length>0&&e.every(e=>typeof e==`object`&&!!e&&(`new_text`in e||`old_text`in e))}function _n(e,t){let n=t;if(mn[e]===!0&&`path`in n&&!(`file_path`in n)){let{path:e,...t}=n;n={file_path:e,...t}}if(hn[e]===!0&&`edits`in n&&gn(n.edits)&&!(`new_string`in n)){let e=n.edits.map(e=>({old_string:typeof e.old_text==`string`?e.old_text:``,new_string:typeof e.new_text==`string`?e.new_text:``}));n={...n,edits:e,old_string:e.map(e=>e.old_string).join(`
17
- `),new_string:e.map(e=>e.new_string).join(`
18
- `)}}return n}function vn(e){return e.length===0?e:e.charAt(0).toUpperCase()+e.slice(1)}export{Ue as _,_n as a,Fe as b,L as c,j as d,Be as f,We as g,He as h,un as i,nt as l,Ge as m,pn as n,vn as o,Re as p,cn as r,dn as s,$ as t,Ve as u,ze as v,D as y};
@@ -1,3 +0,0 @@
1
- import{A as e,An as t,B as n,C as r,D as i,Dn as a,E as o,En as s,F as c,H as l,I as u,Mn as d,Mt as f,N as p,Nn as m,O as ee,On as h,P as g,Pt as _,S as te,St as v,T as y,U as b,V as x,b as S,bt as C,jn as w,k as T,kn as ne,mt as re,pt as ie,r as E,s as D,w as O,wn as k,xt as A,y as j,z as M,zt as ae}from"./esm-DBTIrgAu.js";import{f as oe,l as se,o as ce,p as le,s as ue,t as de,u as fe}from"./CommandExecutor-DYErWuMr.js";import{a as N,d as pe,i as P,o as F,r as I,s as L}from"./dist-DO_QG0qW.js";import{homedir as R}from"node:os";o({code:r,stdout:y,stderr:y});var z=class extends i()(`Block`,{reason:y}){},B=class extends i()(`Allow`,{}){},V=class extends i()(`Warning`,{message:y}){};T(z,B,V);var H=class extends i()(`Blocked`,{reason:y}){},U=class extends i()(`Continue`,{warning:g(y),updatedInput:g(O({key:y,value:e}))}){};T(H,U);const W=p(u(o({decision:g(y),reason:g(y),hookSpecificOutput:g(o({permissionDecision:g(y),permissionDecisionReason:g(y),updatedInput:g(O({key:y,value:e}))}))}))),me=o({type:te(`command`),command:y,async:g(S),timeout:g(r)}),G=o({matcher:g(y),hooks:j(me)}),K=o({PreToolUse:c(j(G),{exact:!0,default:()=>[]}),PostToolUse:c(j(G),{exact:!0,default:()=>[]}),UserPromptSubmit:c(j(G),{exact:!0,default:()=>[]}),Stop:c(j(G),{exact:!0,default:()=>[]}),SessionStart:c(j(G),{exact:!0,default:()=>[]}),SessionEnd:c(j(G),{exact:!0,default:()=>[]})}),he=p(T(o({hooks:K,disableAllHooks:g(S)}),o({...K.fields,disableAllHooks:g(S)})));function ge(e){return w(he(e),e=>{if(`hooks`in e)return e;let{disableAllHooks:t,...n}=e;return{hooks:n,disableAllHooks:t}})}const _e=[`PreToolUse`,`PostToolUse`,`UserPromptSubmit`,`SessionStart`,`SessionEnd`,`Stop`];function ve(e){let t={hooks:{PreToolUse:[],PostToolUse:[],UserPromptSubmit:[],SessionStart:[],SessionEnd:[],Stop:[]}};for(let n of e){for(let e of _e)t.hooks[e]=(t.hooks[e]??[]).concat(Array.from(n.hooks[e]));n.disableAllHooks!==void 0&&(t.disableAllHooks=n.disableAllHooks)}return t}function q(e){return e.disableAllHooks===!0}var ye=class extends ee()(`HookVerdictError`,{raw:y}){},J=class extends i()(`ExitBlock`,{}){},Y=class extends i()(`ExitParse`,{}){},X=class extends i()(`ExitOther`,{}){};T(J,Y,X);const be=e=>l(e).pipe(b(2,()=>new J({})),b(0,()=>new Y({})),n(()=>new X({}))),xe=(e,t)=>l(e.trim()).pipe(b(``,()=>`Blocked by ${t} hook`),n(e=>e)),Se=(e,t)=>l(e.hookSpecificOutput?.permissionDecision??e.decision).pipe(b(`deny`,()=>new z({reason:e.hookSpecificOutput?.permissionDecisionReason??`Blocked by ${t} hook`})),b(`block`,()=>new z({reason:e.reason??`Blocked by ${t} hook`})),n(()=>new B({}))),Ce=e=>l(e.trim()).pipe(b(``,()=>new B({})),n(e=>new V({message:e}))),we=(e,n)=>l(be(e.code)).pipe(x(`ExitBlock`,()=>m(new z({reason:xe(e.stderr,n)}))),x(`ExitParse`,()=>d(W(e.stdout),{onLeft:()=>t(new ye({raw:e.stdout})),onRight:e=>m(Se(e,n))})),x(`ExitOther`,()=>m(Ce(e.stderr))),M);function Te(e,t){let n=e.replace(/"\$OMP_PROJECT_DIR"|'\$OMP_PROJECT_DIR'/g,JSON.stringify(t)).replace(/"\$\{OMP_PROJECT_DIR\}"|'\$\{OMP_PROJECT_DIR\}'/g,JSON.stringify(t)).replace(/"\$CLAUDE_PROJECT_DIR"|'\$CLAUDE_PROJECT_DIR'/g,JSON.stringify(t)).replace(/"\$\{CLAUDE_PROJECT_DIR\}"|'\$\{CLAUDE_PROJECT_DIR\}'/g,JSON.stringify(t)).replace(/\$OMP_PROJECT_DIR|\$\{OMP_PROJECT_DIR\}/g,JSON.stringify(t)).replace(/\$CLAUDE_PROJECT_DIR|\$\{CLAUDE_PROJECT_DIR\}/g,JSON.stringify(t)).trim();return{cmd:`sh`,args:[`-c`,n.startsWith(`"`)&&n.endsWith(`"`)?n.slice(1,-1):n]}}const Z=C(`loadSettingsFile`)(function*(t){let n=yield*(yield*pe).readFileString(t).pipe(ie(()=>_(``)));if(n===``)return null;let r=p(u(O({key:y,value:e})))(n);if(h(r))return null;let i=r.right,a=ge(i);return h(a)?null:a.right}),Ee=C(`loadSettings`)(function*(e){let t=[`${R()}/.claude/settings.json`,`${e}/.claude/settings.json`,`${e}/.claude/settings.local.json`,`/etc/claude-code/managed-settings.json`];return yield*De(t)}),De=C(`loadSettingsWithPaths`)(function*(e){let t=[];for(let n of e){let e=yield*Z(n);e!==null&&t.push(e)}return t.length===0?null:ve(t)}),Q=C(`runHookScript`)(function*(e,t,n,r){let i=yield*de,{cmd:a,args:o}=Te(e,n),s=JSON.stringify(t),c=se(a,...o).pipe(le(n),ce({OMP_PROJECT_DIR:n,CLAUDE_PROJECT_DIR:n}),ue(s),oe(`pipe`),fe(`pipe`));return yield*f(v(function*(){let e=yield*i.start(c),t=yield*e.stdout.pipe(E(),D),n=yield*e.stderr.pipe(E(),D),r=yield*e.exitCode;return{code:typeof r==`number`?r:Number(r),stdout:t,stderr:n}})).pipe(ae(r),re(`TimeoutException`,()=>_({code:-1,stdout:``,stderr:`timeout after ${r}ms`})))}),$=C(`runHooksForEvent`)(function*(e,t,n,r,i){let o=r.cwd,c,u=!1,f=n;for(let n of e)if(P(t,n.matcher))for(let e of n.hooks){let t=(e.timeout??10)*1e3;if(e.async){yield*A(Q(e.command,f,o,t));continue}let n=yield*Q(e.command,f,o,t),r=l(l(d(we(n,i),{onLeft:e=>l(e).pipe(x(`HookVerdictError`,e=>new V({message:`Hook exited 0 but produced invalid JSON: ${e.raw.slice(0,200)}`})),M),onRight:e=>e})).pipe(x(`Block`,e=>new H({reason:e.reason})),x(`Warning`,e=>new U({warning:e.message})),x(`Allow`,()=>{let e=W(n.stdout);return new U({updatedInput:ne(e)?e.right.hookSpecificOutput?.updatedInput:void 0})}),M)).pipe(x(`Blocked`,e=>a({block:!0,reason:e.reason})),x(`Continue`,e=>(e.warning!==void 0&&c===void 0&&(c=e.warning),e.updatedInput!==void 0&&(f={...f,...e.updatedInput},u=!0),s())),M);if(k(r))return r.value}return{...u?{updatedInput:f}:{},...c===void 0?{}:{warning:c}}}),Oe=C(`runPreToolUseHooks`)(function*(e,t,n){if(q(e))return;let r=F(t.toolName),i=L(()=>n.sessionManager.getSessionId()),a={...i,tool_name:r,tool_input:N(r,t.input),tool_call_id:t.toolCallId},o=I(t.toolName,t.input);if(o!==void 0&&o.length>0){let r={...i,tool_name:`Bash`,tool_input:{command:o},tool_call_id:t.toolCallId},a=yield*$(e.hooks.PreToolUse,`Bash`,r,n,`PreToolUse`);if(a.block)return a.reason===void 0?{block:!0}:{block:!0,reason:a.reason}}let s=yield*$(e.hooks.PreToolUse,r,a,n,`PreToolUse`);if(s.block)return s.reason===void 0?{block:!0}:{block:!0,reason:s.reason};if(s.updatedInput&&typeof s.updatedInput==`object`&&`tool_input`in s.updatedInput&&s.updatedInput.tool_input&&typeof s.updatedInput.tool_input==`object`){let e=s.updatedInput.tool_input;for(let[n,r]of Object.entries(e))t.input[n]=r}}),ke=C(`runPostToolUseHooks`)(function*(e,t,n){let r=F(t.toolName);if(q(e))return;let i={...L(()=>n.sessionManager.getSessionId()),tool_name:r,tool_input:N(r,t.input),tool_call_id:t.toolCallId,output:t.content,is_error:t.isError??!1};return yield*$(e.hooks.PostToolUse,r,i,n,`PostToolUse`)}),Ae=C(`runUserPromptSubmitHooks`)(function*(e,t,n){let r=e.hooks.UserPromptSubmit;if(q(e)||r.length===0)return;let i=n.cwd,a=``,o={...L(()=>n.sessionManager.getSessionId()),prompt:t.text,source:t.source};for(let e of r)for(let t of e.hooks){let e=yield*Q(t.command,o,i,(t.timeout??10)*1e3);if(e.code!==0)continue;let n=e.stdout.trim();n.length>0&&(a+=(a.length>0?`
2
-
3
- `:``)+n)}if(a.length===0)return;let s={text:`${a}\n\n${t.text}`};return t.images!==void 0&&(s.images=t.images),s}),je=C(`runSessionStartHooks`)(function*(e,t,n){if(q(e))return;let r=e.hooks.SessionStart;if(r.length===0)return;let i=n.cwd,a={...L(()=>n.sessionManager.getSessionId()),reason:t};for(let e of r)if(!(e.matcher&&!P(t,e.matcher)))for(let t of e.hooks){let e=(t.timeout??10)*1e3;if(t.async){yield*A(Q(t.command,a,i,e));continue}yield*Q(t.command,a,i,e)}}),Me=C(`runLifecycleHooks`)(function*(e,t){if(e.length===0)return;let n=t.cwd,r={...L(()=>t.sessionManager.getSessionId())};for(let t of e)for(let e of t.hooks){let t=(e.timeout??10)*1e3;e.async?yield*A(Q(e.command,r,n,t)):yield*Q(e.command,r,n,t)}});export{Ee as loadSettings,Me as runLifecycleHooks,ke as runPostToolUseHooks,Oe as runPreToolUseHooks,je as runSessionStartHooks,Ae as runUserPromptSubmitHooks};
@@ -1,3 +0,0 @@
1
- import{D as e,Dn as t,E as n,En as r,Et as i,H as a,On as o,Pt as s,Rt as c,Sn as l,T as u,Tt as d,V as f,bt as p,gt as m,kn as h,pt as g,wn as _,y as v,z as y}from"./esm-DBTIrgAu.js";import{c as b,d as x,t as S}from"./dist-DO_QG0qW.js";const C=[`AGENTS.md`];var w=class extends e()(`Inject`,{}){},T=class extends e()(`Skip`,{matched:u}){};n({baseName:u,skipList:v(u)});const E=e=>l(e.skipList.find(t=>t===e.baseName)),D=e=>a(E(e)).pipe(f(`None`,()=>new w),f(`Some`,e=>new T({matched:e.value})),y),O=p(`extractRefs`)(function*(e,t,n){let r=yield*x,i=yield*b,a=[];for(let o of e.split(`
2
- `)){let e=o.trim().replace(/^[-*+]\s+/,``);if(!e.startsWith(`@`))continue;let s=e.slice(1).trim();if(!s||s.includes(` `)||i.isAbsolute(s))continue;let c=i.resolve(t,s);if(c.startsWith(n+`/`)||c===n){let e=yield*m(r.exists(c));if(h(e)&&e.right){a.push({sourcePath:t,resolvedPath:c});continue}}let l=i.resolve(n,s);(l.startsWith(n+`/`)||l===n)&&l!==c&&a.push({sourcePath:n,resolvedPath:l})}return a}),k=p(`loadReferencedContent`)(function*(e){let n=yield*x,l=yield*b,u=yield*S,p=[l.resolve(e,`CLAUDE.md`),l.resolve(e,`.claude`,`CLAUDE.md`)],v=[];for(let t of p){let r=yield*m(n.readFileString(t,`utf-8`));if(h(r)){let n=yield*O(r.right,l.dirname(t),e);v.push(...n)}}let w=new Set,T=[];for(let e of v)w.has(e.resolvedPath)||(w.add(e.resolvedPath),T.push(e));let E=(yield*u.load(e).pipe(c(t=>i(`[omp-claude-compat] could not read systemfsoftware.toml in ${e}; using the default skip list`,t)),g(()=>s(void 0))))?.no_inject_refs??C,k=[];for(let s of T){let c=s.resolvedPath.slice(e.length+1),u=a(D({baseName:l.basename(s.resolvedPath),skipList:E})).pipe(f(`Skip`,e=>t(e.matched)),f(`Inject`,()=>r()),y);if(_(u)){yield*d(`[omp-claude-compat] skipped @-ref ${c}: host already provides ${u.value}`);continue}let p=yield*m(n.readFileString(s.resolvedPath,`utf-8`));if(o(p)){yield*i(`[omp-claude-compat] could not read @-ref ${c}; skipping it`);continue}k.push(`## ${c}\n${p.right}\n`)}return k.length===0?``:[`# Injected @-references from CLAUDE.md`,`The following files were @-imported by CLAUDE.md and contain project rules.`,``,...k].join(`
3
- `)});export{k as loadReferencedContent};
@@ -1 +0,0 @@
1
- import{$ as e,At as t,Cn as n,Ct as r,Dn as i,Dt as a,En as o,Fn as s,Ft as c,Gt as l,Ht as u,In as d,It as f,Kt as p,Lt as m,Mt as ee,Nt as te,Ot as ne,Pt as h,Q as re,Sn as g,Tn as ie,Ut as ae,Vt as oe,W as se,Wt as ce,_ as le,_n as ue,_t as de,an as _,at as v,c as fe,ct as y,d as pe,dn as me,dt as he,en as ge,et as b,f as _e,ft as x,ht as ve,i as ye,identity as be,in as xe,it as Se,jt as S,kt as Ce,lt as C,m as we,nn as w,nt as T,on as E,ot as D,p as O,pipe as k,rn as Te,rt as Ee,sn as A,t as De,tn as Oe,tt as ke,vt as j,xn as Ae,xt as je,yt as M}from"./esm-DBTIrgAu.js";import{a as Me,c as Ne,d as N,i as P,n as Pe,r as Fe,t as Ie}from"./CommandExecutor-DYErWuMr.js";import{_ as Le,b as F,d as I,f as L,g as Re,h as ze,l as Be,m as Ve,n as He,p as R,u as Ue,v as We,y as Ge}from"./dist-DO_QG0qW.js";import*as Ke from"node:os";import*as qe from"node:crypto";import*as z from"node:path";import*as B from"node:fs";import*as V from"node:child_process";const H=(e,t,n)=>(...r)=>x(i=>{try{e(...r,(e,n)=>{i(e?j(t?t(e,r):e):h(n))})}catch(e){i(n?j(n(e,r)):ve(e))}}),U=(e,t,n)=>ye(Je(e,t,n)),Je=(e,t,n)=>T(()=>Ze(e(),t,me(void 0),n)),Ye=(e,t,{encoding:n,endOnDone:r=!0}={},i=y)=>{let a=Xe(e,n),o=r?x(t=>{`closed`in e&&e.closed?t(y):(e.once(`finish`,()=>t(y)),e.end())}):y;return{awaitRead:()=>y,emit:a,error:e=>p(o,t(e)),done:e=>p(o,i)}},Xe=(e,t)=>n=>n.length===0?y:x(r=>{let i=n[Symbol.iterator](),a=i.next();function o(){let n=a;a=i.next();let s=e.write(n.value,t);a.done?r(y):s?o():e.once(`drain`,o)}o()}),Ze=(t,n,r,i)=>{if(!t.readable)return Ee;let a=ae(!1);function o(){a.unsafeOpen()}function s(e){r.current=ge(n(e)),a.unsafeOpen()}function c(){r.current=Oe,a.unsafeOpen()}t.on(`readable`,o),t.on(`error`,s),t.on(`end`,c);let l=i?.chunkSize?Number(i.chunkSize):void 0;return e(T(function e(){let n=t.read(l);if(n===null)return r.current?ke(r.current):(a.unsafeClose(),b(a.await,e));let i=[n];for(;;){if(n=t.read(l),n===null)return b(Se(ue(i)),e);i.push(n)}}),f(()=>{t.off(`readable`,o),t.off(`error`,s),t.off(`end`,c),i?.closeOnDone!==!1&&`closed`in t&&!t.closed&&t.destroy()}))},Qe=(e,t,n)=>le($e(e,t,n)),$e=(e,t,n)=>b(l(f(()=>e()),E()),([e,r])=>re(et(e,r,t),Ye(e,e=>xe(r,e),n,Te(r,y)))),et=(e,t,n)=>c(()=>{function r(e){A(t,j(n(e)))}return e.on(`error`,r),de(w(t),f(()=>{e.removeListener(`error`,r)}))}),W=(e,t)=>(n,[r])=>{let i=`Unknown`;switch(n.code){case`ENOENT`:i=`NotFound`;break;case`EACCES`:i=`PermissionDenied`;break;case`EEXIST`:i=`AlreadyExists`;break;case`EISDIR`:i=`BadResource`;break;case`ENOTDIR`:i=`BadResource`;break;case`EBUSY`:i=`Busy`;break;case`ELOOP`:i=`BadResource`;break}return new F({reason:i,module:e,method:t,pathOrDescriptor:r,syscall:n.syscall,description:n.message,cause:n})},tt=e=>typeof e==`string`?e:`pipe`,G=e=>typeof e==`string`?e:`pipe`,K=e=>e instanceof globalThis.Error?e:new globalThis.Error(String(e)),q=(e,t,n)=>{let r=Ne(n).reduce((e,t)=>{let n=`${t.command} ${t.args.join(` `)}`;return e.length===0?n:`${e} | ${n}`},``);return W(`Command`,e)(t,[r])},nt={[P]:P,...s,toJSON(){return{_id:`@effect/platform/CommandExecutor/Process`,pid:this.pid}}},J=e=>t=>{switch(t._tag){case`StandardCommand`:{let i=M(E(),e=>x(r=>{let i=V.spawn(t.command,t.args,{stdio:[tt(t.stdin),G(t.stdout),G(t.stderr)],cwd:n(t.cwd,d),shell:t.shell,env:{...process.env,...Object.fromEntries(t.env)},detached:process.platform!==`win32`});return i.on(`error`,e=>{r(j(q(`spawn`,e,t)))}),i.on(`exit`,(...t)=>{A(e,h(t))}),i.on(`spawn`,()=>{r(h([i,e]))}),f(()=>{i.kill(`SIGTERM`)})})),o=process.platform===`win32`?(e,n)=>x(n=>{V.exec(`taskkill /pid ${e.pid} /T /F`,e=>{n(e?j(q(`kill`,K(e),t)):y)})}):(e,n)=>u({try:()=>process.kill(-e.pid,n),catch:e=>q(`kill`,K(e),t)}),s=(e,n)=>c(()=>e.kill(n)?y:j(q(`kill`,new globalThis.Error(`Failed to kill process`),t)));return k(ie(t.cwd,{onNone:()=>y,onSome:t=>e.access(t)}),p(C(i,([e,t])=>M(_(t),n=>n?M(w(t),([t])=>t!==0&&t!==null?o(e,`SIGTERM`).pipe(r):y):o(e,`SIGTERM`).pipe(S(()=>s(e,`SIGTERM`)),p(w(t)),r)))),a(([e,n])=>{let r=we;e.stdin!==null&&(r=Qe(()=>e.stdin,e=>q(`toWritable`,K(e),t)));let i=M(w(n),([e,n])=>e===null?j(q(`exitCode`,new globalThis.Error(`Process interrupted due to receipt of signal: ${n}`),t)):h(Pe(e))),a=Ce(_(n)),c=(t=`SIGTERM`)=>o(e,t).pipe(S(()=>s(e,t)),p(he(w(n)))),l=Fe(e.pid),u=U(()=>e.stderr,e=>q(`fromReadable(stderr)`,K(e),t)),d=U(()=>e.stdout,e=>q(`fromReadable(stdout)`,K(e),t));return typeof t.stdout!=`string`&&(d=pe(d,t.stdout)),Object.assign(Object.create(nt),{pid:l,exitCode:i,isRunning:a,kill:c,stdin:r,stderr:u,stdout:d})}),typeof t.stdin==`string`?be:m(e=>je(fe(t.stdin,e.stdin))))}case`PipedCommand`:{let n=Ne(t);if(n.length===1)return k(n[0],J(e));let r=n[0],i=n.slice(1),o=i.slice(0,i.length-1),s=i[i.length-1];return k(N(s,o.reduce((t,n)=>k(N(n,t),J(e),a(e=>e.stdout),O),k(J(e)(r),a(e=>e.stdout),O))),J(e))}}},rt=v(Ie,k(I,a(e=>Me(J(e))))),Y=e=>t=>new Ge({module:`FileSystem`,method:e,cause:t}),it=(()=>{let e=H(B.access,W(`FileSystem`,`access`),Y(`access`));return(t,n)=>{let r=B.constants.F_OK;return n?.readable&&(r|=B.constants.R_OK),n?.writable&&(r|=B.constants.W_OK),e(t,r)}})(),at=(()=>{let e=H(B.cp,W(`FileSystem`,`copy`),Y(`copy`));return(t,n,r)=>e(t,n,{force:r?.overwrite??!1,preserveTimestamps:r?.preserveTimestamps??!1,recursive:!0})})(),ot=(()=>{let e=H(B.copyFile,W(`FileSystem`,`copyFile`),Y(`copyFile`));return(t,n)=>e(t,n)})(),st=(()=>{let e=H(B.chmod,W(`FileSystem`,`chmod`),Y(`chmod`));return(t,n)=>e(t,n)})(),ct=(()=>{let e=H(B.chown,W(`FileSystem`,`chown`),Y(`chown`));return(t,n,r)=>e(t,n,r)})(),lt=(()=>{let e=H(B.link,W(`FileSystem`,`link`),Y(`link`));return(t,n)=>e(t,n)})(),ut=(()=>{let e=H(B.mkdir,W(`FileSystem`,`makeDirectory`),Y(`makeDirectory`));return(t,n)=>e(t,{recursive:n?.recursive??!1,mode:n?.mode})})(),X=e=>{let t=H(B.mkdtemp,W(`FileSystem`,e),Y(e));return e=>c(()=>{let n=e?.prefix??``,r=typeof e?.directory==`string`?z.join(e.directory,`.`):Ke.tmpdir();return t(n?z.join(r,n):r+`/`)})},dt=X(`makeTempDirectory`),Z=e=>{let t=H(B.rm,W(`FileSystem`,e),Y(e));return(e,n)=>t(e,{recursive:n?.recursive??!1,force:n?.force??!1})},ft=Z(`remove`),pt=(()=>{let e=X(`makeTempDirectoryScoped`),n=Z(`makeTempDirectoryScoped`);return r=>C(e(r),e=>t(n(e,{recursive:!0})))})(),Q=e=>{let n=H(B.open,W(`FileSystem`,e),Y(e)),r=H(B.close,W(`FileSystem`,e),Y(e));return(e,i)=>k(C(n(e,i?.flag??`r`,i?.mode),e=>t(r(e))),a(e=>ht(Ue(e),i?.flag?.startsWith(`a`)??!1)))},mt=Q(`open`),ht=(()=>{let e=e=>H(B.read,W(`FileSystem`,e),Y(e)),t=e(`read`),n=e(`readAlloc`),r=H(B.fstat,W(`FileSystem`,`stat`),Y(`stat`)),s=H(B.ftruncate,W(`FileSystem`,`truncate`),Y(`truncate`)),l=H(B.fsync,W(`FileSystem`,`sync`),Y(`sync`)),u=e=>H(B.write,W(`FileSystem`,e),Y(e)),d=u(`write`),p=u(`writeAll`);class m{fd;append;[L];semaphore=ce(1);position=0n;constructor(e,t){this.fd=e,this.append=t,this[L]=L}get stat(){return a(r(this.fd),wt)}get sync(){return l(this.fd)}seek(e,t){let n=R(e);return this.semaphore.withPermits(1)(f(()=>(t===`start`?this.position=n:t===`current`&&(this.position+=n),this.position)))}read(e){return this.semaphore.withPermits(1)(a(c(()=>t(this.fd,{buffer:e,position:this.position})),e=>{let t=R(e);return this.position+=t,t}))}readAlloc(e){let t=Number(e);return this.semaphore.withPermits(1)(M(f(()=>Buffer.allocUnsafeSlow(t)),e=>a(n(this.fd,{buffer:e,position:this.position}),n=>{if(n===0)return o();if(this.position+=BigInt(n),n===t)return i(e);let r=Buffer.allocUnsafeSlow(n);return e.copy(r,0,0,n),i(r)})))}truncate(e){return this.semaphore.withPermits(1)(a(s(this.fd,e?Number(e):void 0),()=>{if(!this.append){let t=BigInt(e??0);this.position>t&&(this.position=t)}}))}write(e){return this.semaphore.withPermits(1)(a(c(()=>d(this.fd,e,void 0,void 0,this.append?void 0:Number(this.position))),e=>{let t=R(e);return this.append||(this.position+=t),t}))}writeAllChunk(e){return M(c(()=>p(this.fd,e,void 0,void 0,this.append?void 0:Number(this.position))),t=>t===0?j(new F({module:`FileSystem`,method:`writeAll`,reason:`WriteZero`,pathOrDescriptor:this.fd,description:`write returned 0 bytes written`})):(this.append||(this.position+=BigInt(t)),t<e.length?this.writeAllChunk(e.subarray(t)):y))}writeAll(e){return this.semaphore.withPermits(1)(this.writeAllChunk(e))}}return(e,t)=>new m(e,t)})(),gt=e=>{let t=X(e),n=Q(e),r=e=>f(()=>qe.randomBytes(e).toString(`hex`));return e=>k(l(t(e),r(6)),a(([t,n])=>z.join(t,n+(e?.suffix??``))),m(e=>ee(n(e,{flag:`w+`}))))},_t=gt(`makeTempFile`),vt=(()=>{let e=gt(`makeTempFileScoped`),n=Z(`makeTempFileScoped`);return r=>C(e(r),e=>t(n(z.dirname(e),{recursive:!0})))})(),yt=(e,t)=>oe({try:()=>B.promises.readdir(e,t),catch:t=>W(`FileSystem`,`readDirectory`)(t,[e])}),bt=e=>x((t,n)=>{try{B.readFile(e,{signal:n},(n,r)=>{t(n?j(W(`FileSystem`,`readFile`)(n,[e])):h(r))})}catch(e){t(j(Y(`readFile`)(e)))}}),xt=(()=>{let e=H(B.readlink,W(`FileSystem`,`readLink`),Y(`readLink`));return t=>e(t)})(),St=(()=>{let e=H(B.realpath,W(`FileSystem`,`realPath`),Y(`realPath`));return t=>e(t)})(),Ct=(()=>{let e=H(B.rename,W(`FileSystem`,`rename`),Y(`rename`));return(t,n)=>e(t,n)})(),wt=e=>({type:e.isFile()?`File`:e.isDirectory()?`Directory`:e.isSymbolicLink()?`SymbolicLink`:e.isBlockDevice()?`BlockDevice`:e.isCharacterDevice()?`CharacterDevice`:e.isFIFO()?`FIFO`:e.isSocket()?`Socket`:`Unknown`,mtime:g(e.mtime),atime:g(e.atime),birthtime:g(e.birthtime),dev:e.dev,rdev:g(e.rdev),ino:g(e.ino),mode:e.mode,nlink:g(e.nlink),uid:g(e.uid),gid:g(e.gid),size:R(e.size),blksize:g(R(e.blksize)),blocks:g(e.blocks)}),$=(()=>{let e=H(B.stat,W(`FileSystem`,`stat`),Y(`stat`));return t=>a(e(t),wt)})(),Tt=(()=>{let e=H(B.symlink,W(`FileSystem`,`symlink`),Y(`symlink`));return(t,n)=>e(t,n)})(),Et=(()=>{let e=H(B.truncate,W(`FileSystem`,`truncate`),Y(`truncate`));return(t,n)=>e(t,n===void 0?void 0:Number(n))})(),Dt=(()=>{let e=H(B.utimes,W(`FileSystem`,`utime`),Y(`utime`));return(t,n,r)=>e(t,n,r)})(),Ot=(e,t)=>De(n=>C(f(()=>{let r=B.watch(e,{recursive:t?.recursive},(e,t)=>{if(t)switch(e){case`rename`:n.fromEffect(ne($(t),{onSuccess:e=>h(ze({path:t})),onFailure:e=>e._tag===`SystemError`&&e.reason===`NotFound`?h(Re({path:t})):j(e)}));return;case`change`:n.single(Le({path:t}));return}});return r.on(`error`,t=>{n.fail(new F({module:`FileSystem`,reason:`Unknown`,method:`watch`,pathOrDescriptor:e,cause:t}))}),r.on(`close`,()=>{n.end()}),r}),e=>f(()=>e.close()))),kt=(e,t,r)=>$(t).pipe(a(i=>e.pipe(Ae(e=>e.register(t,i,r)),n(()=>Ot(t,r)))),_e),At=(e,t,n)=>x((r,i)=>{try{B.writeFile(e,t,{signal:i,flag:n?.flag,mode:n?.mode},t=>{r(t?j(W(`FileSystem`,`writeFile`)(t,[e])):y)})}catch(e){r(j(Y(`writeFile`)(e)))}}),jt=v(I,a(te(Ve),e=>We({access:it,chmod:st,chown:ct,copy:at,copyFile:ot,link:lt,makeDirectory:ut,makeTempDirectory:dt,makeTempDirectoryScoped:pt,makeTempFile:_t,makeTempFileScoped:vt,open:mt,readDirectory:yt,readFile:bt,readLink:xt,realPath:St,remove:ft,rename:Ct,stat:$,symlink:Tt,truncate:Et,utimes:Dt,watch(t,n){return kt(e,t,n)},writeFile:At}))),Mt=rt.pipe(D(jt),D(Be)),Nt=se(He.pipe(D(Mt)));export{Nt as default};