@systemfsoftware/omp-agent-discipline 1.0.4 → 1.0.6

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,2 @@
1
+ import{Vs as e,Ws as t,Xs as n,bc as r,gl as i}from"./core-CanocZlS.js";import{D as a}from"./Effect-92Od3962.js";import{C as o,S as s,T as c,_ as l,b as u,t as d,v as f,w as p,x as m,y as h}from"./dist-aXTLYR81.js";const g={[Symbol.for(`@effect/matcher/Matcher`)]:{_input:i,_filters:i,_remaining:i,_result:i,_provided:i,_return:i},_tag:`ValueMatcher`,add(e){return this.value._tag===`Right`?this:e._tag===`When`&&e.guard(this.provided)===!0||e._tag===`Not`&&e.guard(this.provided)===!1?_(this.provided,n(e.evaluate(this.provided))):this},pipe(){return r(this,arguments)}};function _(e,t){let n=Object.create(g);return n.provided=e,n.value=t,n}const v=(e,t)=>({_tag:`When`,guard:e,evaluate:t}),y=e=>{if(typeof e==`function`)return e;if(Array.isArray(e)){let t=e.map(y),n=t.length;return e=>{if(!Array.isArray(e))return!1;for(let r=0;r<n;r++)if(t[r](e[r])===!1)return!1;return!0}}else if(typeof e==`object`&&e){let t=Object.entries(e).map(([e,t])=>[e,y(t)]),n=t.length;return e=>{if(typeof e!=`object`||!e)return!1;for(let r=0;r<n;r++){let[n,i]=t[r];if(!(n in e)||i(e[n])===!1)return!1}return!0}}return t=>t===e},b=e=>_(e,t(e)),x=(e,t)=>n=>n.add(v(y(e),t)),S=(e=>(...t)=>{let n=t[t.length-1],r=t.slice(0,-1),i=r.length===1?t=>t!=null&&t[e]===r[0]:t=>t!=null&&r.includes(t[e]);return e=>e.add(v(i,n))})(`_tag`),C=t=>n=>{let r=w(n);return e(r)?r._tag===`Right`?r.right:t(r.left):e=>{let n=r(e);return n._tag===`Right`?n.right:t(n.left)}},w=e=>{if(e._tag===`ValueMatcher`)return e.value;let r=e.cases.length;if(r===1){let r=e.cases[0];return e=>r._tag===`When`&&r.guard(e)===!0||r._tag===`Not`&&r.guard(e)===!1?n(r.evaluate(e)):t(e)}return i=>{for(let t=0;t<r;t++){let r=e.cases[t];if(r._tag===`When`&&r.guard(i)===!0||r._tag===`Not`&&r.guard(i)===!1)return n(r.evaluate(i))}return t(i)}},T=`effect/Match/exhaustive: absurd`,E=t=>{let n=w(t);if(e(n)){if(n._tag===`Right`)return n.right;throw Error(T)}return e=>{let t=n(e);if(t._tag===`Right`)return t.right;throw Error(T)}},D=b,O=x,k=S,A=C,j=E,M=f(`subagent_type`,`prompt`);var N=class extends s()(`Allow`,{}){},P=class extends s()(`Block`,{reason:u,how:M,skill:u}){};const F=m({protectedSkills:l(u),delegationVerbs:l(u),referenceVerbs:l(u),mentionPatterns:h({key:u,value:u})}).pipe(p({arbitrary:()=>e=>e.constant({protectedSkills:[`ce-work`],delegationVerbs:["\\binvoke\\s+(?:the\\s+)?[`/]?ce-work\\b","\\bdispatch\\s+(?:to\\s+)?(?:the\\s+)?[`/]?ce-work\\b","\\buse\\s+(?:the\\s+)?[`/]?ce-work\\b","\\bspawn\\s+(?:a\\s+)?(?:task|agent|subagent|worker)\\s+(?:with|using)\\s+(?:the\\s+)?[`/]?ce-work\\b","\\bcall\\s+(?:the\\s+)?[`/]?ce-work\\b","\\brun\\s+(?:the\\s+)?[`/]?ce-work\\b"],referenceVerbs:["\\bsee\\s+(?:the\\s+)?[`/]?ce-work\\b","\\bread\\s+(?:the\\s+)?[`/]?ce-work\\b"],mentionPatterns:{"ce-work":'(?:^|[\\s/.`"])ce-work(?=$|[\\s/.`"]|\\b)'}})})),I=m({toolName:u,subagentType:u,prompt:u,guard:o(F,f(null))});var L=class extends s()(`NoGuard`,{}){},R=class extends s()(`NonDelegatedTool`,{}){},z=class extends s()(`ProtectedSubagent`,{skill:u}){},B=class extends s()(`EmptyPrompt`,{}){},V=class extends s()(`Prompted`,{guard:F,prompt:u}){},H=class extends s()(`Delegated`,{skill:u,excerpt:u}){},U=class extends s()(`Referenced`,{}){},W=class extends s()(`NoDelegation`,{}){};function G(e,t,n){return[`⛔ BLOCKED: "`+e+`" must not be delegated to a subagent.`,`Detected in `+t+`: `+n,``,`REQUIRED: invoke `+e+` directly in THIS session via the host Skill / Tool call,`,`then pass its return envelope to the next step. Do NOT wrap it in a task / Agent dispatch.`,``,`WHY: a subagent reproduces the shape but loses the skill protocol — plan-path gate,`,`headless review contract, and pipeline-vs-chat mode. The contract does not survive the hop.`,``,`RULE: root AGENTS.md §"Skill invocations" (SK1/SK2).`].join(`
2
+ `)}function K(e,t){return new RegExp(e,`i`).test(t)}function q(e,t){return e.map(e=>new RegExp(e,`i`).exec(t)).find(e=>e!==null)??null}const J=(e,t)=>D(e.subagentType).pipe(O(e=>e!==``&&t.protectedSkills.includes(e),e=>new z({skill:e})),A(()=>D(e.prompt).pipe(O(``,()=>new B),A(e=>new V({guard:t,prompt:e}))))),Y=e=>D(e.guard).pipe(O(null,()=>new L),A(t=>D(e.toolName.toLowerCase()).pipe(O(`task`,()=>J(e,t)),O(`agent`,()=>J(e,t)),A(()=>new R)))),X=(e,t)=>{let n=Object.entries(e.mentionPatterns).filter(([,e])=>K(e,t)).map(([e])=>e);return D(n).pipe(O(e=>e.length>0,([n])=>{let r=e.referenceVerbs.some(e=>K(e,t)),i=e.delegationVerbs.some(e=>K(e,t));return D({hasReference:r,hasDelegation:i}).pipe(O({hasReference:!0},()=>new U),O({hasDelegation:!1},()=>new W),A(()=>{let r=q(e.delegationVerbs,t);return new H({skill:n,excerpt:r===null?t.slice(0,120):r[0]})}))}),A(()=>new W))},Z=e=>D(Y(e)).pipe(k(`NoGuard`,()=>new N),k(`NonDelegatedTool`,()=>new N),k(`ProtectedSubagent`,({skill:e})=>new P({reason:G(e,`subagent_type`,e),how:`subagent_type`,skill:e})),k(`EmptyPrompt`,()=>new N),k(`Prompted`,({guard:e,prompt:t})=>D(X(e,t)).pipe(k(`Delegated`,({skill:e,excerpt:t})=>new P({reason:G(e,`prompt`,t),how:`prompt`,skill:e})),k(`Referenced`,()=>new N),k(`NoDelegation`,()=>new N),j)),j);function Q(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function $(e){if(e.length===0)return null;let t=`(?:`+e.map(Q).join(`|`)+`)`;return{protectedSkills:e.slice(),delegationVerbs:["\\binvoke\\s+(?:the\\s+)?[`/]?"+t+`\\b`,"\\bdispatch\\s+(?:to\\s+)?(?:the\\s+)?[`/]?"+t+`\\b`,"\\bwrap\\s+(?:the\\s+)?[`/]?"+t+`\\s+in\\s+(?:a\\s+)?(?:task|agent|subagent)\\b`,"\\bdelegate\\s+(?:the\\s+)?[`/]?"+t+`\\b`,"\\brun\\s+(?:the\\s+)?[`/]?"+t+`\\s+(?:via|in)\\s+(?:a\\s+)?(?:subagent|task|agent)\\b`,"\\b(?:run|execute|launch)\\s+(?:the\\s+)?[`/]?"+t+`\\b`,"\\bskill:\\s*[`/]?"+t+`\\b`,`\\bskill:\\/\\/`+t+`\\b`,`(?:^|\\W)/`+t+`(?=$|\\b|\\W)`,"\\buse\\s+(?:the\\s+)?[`/]?"+t+`\\b`,"\\bload\\s+(?:the\\s+)?[`/]?"+t+`\\b`,"\\bspawn\\s+(?:a\\s+)?(?:task|agent|subagent|worker)\\s+(?:with|using)\\s+(?:the\\s+)?[`/]?"+t+`\\b`,"\\bcall\\s+(?:the\\s+)?[`/]?"+t+`\\b`,"\\bsend\\s+(?:the\\s+)?[`/]?"+t+`\\b`,"\\bcreate\\s+(?:a\\s+)?(?:task|agent|subagent)\\s+(?:with|using)\\s+(?:the\\s+)?[`/]?"+t+`\\b`,"\\bstart\\s+(?:the\\s+)?[`/]?"+t+`\\b`],referenceVerbs:["\\bsee\\s+(?:the\\s+)?[`/]?"+t+`\\b`,"\\bper\\s+(?:the\\s+)?[`/]?"+t+`\\b`,"\\bread\\s+(?:the\\s+)?[`/]?"+t+`\\b`,"\\baccording\\s+to\\s+(?:the\\s+)?[`/]?"+t+`\\b`],mentionPatterns:Object.fromEntries(e.map(e=>[e,'(?:^|[\\s/.`"])'+Q(e)+'(?=$|[\\s/.`"]|\\b)']))}}function ee(e,t,n,r){return c(I)({toolName:e,subagentType:t,prompt:n,guard:r})}function te(e){return D(e).pipe(k(`Block`,e=>({block:!0,reason:e.reason,how:e.how,skill:e.skill})),k(`Allow`,()=>void 0),j)}function ne(e){return a(function*(){return $((yield*(yield*d).load(e)).no_delegate_skills??[])})}function re(e,t,n,r){return a(function*(){return te(Z(ee(t,n,r,yield*ne(e))))})}export{re as runNoSkillDelegation};
@@ -0,0 +1 @@
1
+ var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r};export{t};
@@ -0,0 +1 @@
1
+ import{Cs as e,Er as t,Kt as n,Lr as r,Ls as i,Ps as a,Ts as o,_l as s,bc as c,mr as l,mt as u,vn as d,wr as f,xs as p,yn as ee}from"./core-CanocZlS.js";import{$ as te,Bt as ne,F as m,Gt as re,Ht as ie,Jt as ae,Kt as h,Qt as oe,U as g,Ut as _,V as se,Vt as ce,Wt as v,Xt as y,Yt as le,Zt as ue,_ as b,at as de,b as x,c as S,cn as fe,f as pe,fn as me,gn as he,gt as ge,in as C,it as w,lt as _e,n as T,nt as E,pt as ve,qt as ye,r as D,rt as O,sn as k,tt as A,wn as j,zt as M}from"./Effect-92Od3962.js";import{D as N,E as P,O as F,a as be,c as xe,d as Se,f as Ce,g as we,h as Te,i as Ee,l as De,m as I,n as Oe,o as L,p as ke,r as R,s as z,u as Ae}from"./dist-aXTLYR81.js";import*as je from"node:crypto";import*as B from"node:path";import*as V from"node:fs";import*as Me from"node:os";function H(e,t){return d(e.runtimeEffect,e=>r(n=>(n.setFiberRefs(e.fiberRefs),n.currentRuntimeFlags=e.runtimeFlags,l(t,e.context))))}const Ne={...j,[C]:C,pipe(){return c(this,arguments)},commit(){return this.runtimeEffect}},Pe=(e,r)=>{r??=ne();let i=y(me()),a,o=f(()=>{if(!a){let n=new he;a=_(t(fe(M(e,r),i),e=>{s.cachedRuntime=e}),{scope:i,scheduler:n}),n.flush()}return ee(a.await)}),s=Object.assign(Object.create(Ne),{memoMap:r,scope:i,runtimeEffect:o,cachedRuntime:void 0,runtime(){return s.cachedRuntime===void 0?h(s.runtimeEffect):Promise.resolve(s.cachedRuntime)},dispose(){return h(s.disposeEffect)},disposeEffect:f(()=>(s.runtimeEffect=u(`ManagedRuntime disposed`),s.cachedRuntime=void 0,k(s.scope,n))),runFork(e,t){return s.cachedRuntime===void 0?_(H(s,e),t):ie(s.cachedRuntime)(e,t)},runSyncExit(e){return s.cachedRuntime===void 0?oe(H(s,e)):ue(s.cachedRuntime)(e)},runSync(e){return s.cachedRuntime===void 0?y(H(s,e)):le(s.cachedRuntime)(e)},runPromiseExit(e,t){return s.cachedRuntime===void 0?ae(H(s,e),t):ye(s.cachedRuntime)(e,t)},runCallback(e,t){return s.cachedRuntime===void 0?v(ce)(H(s,e),t):v(s.cachedRuntime)(e,t)},runPromise(e,t){return s.cachedRuntime===void 0?h(H(s,e),t):re(s.cachedRuntime)(e,t)}});return s},U=(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})},W=(e,t,n)=>(...r)=>S(i=>{try{e(...r,(e,n)=>{i(e?b(t?t(e,r):e):E(n))})}catch(e){i(n?b(n(e,r)):pe(e))}}),G=e=>t=>new ke({module:`FileSystem`,method:e,cause:t}),Fe=(()=>{let e=W(V.access,U(`FileSystem`,`access`),G(`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)}})(),Ie=(()=>{let e=W(V.cp,U(`FileSystem`,`copy`),G(`copy`));return(t,n,r)=>e(t,n,{force:r?.overwrite??!1,preserveTimestamps:r?.preserveTimestamps??!1,recursive:!0})})(),Le=(()=>{let e=W(V.copyFile,U(`FileSystem`,`copyFile`),G(`copyFile`));return(t,n)=>e(t,n)})(),Re=(()=>{let e=W(V.chmod,U(`FileSystem`,`chmod`),G(`chmod`));return(t,n)=>e(t,n)})(),ze=(()=>{let e=W(V.chown,U(`FileSystem`,`chown`),G(`chown`));return(t,n,r)=>e(t,n,r)})(),Be=(()=>{let e=W(V.link,U(`FileSystem`,`link`),G(`link`));return(t,n)=>e(t,n)})(),Ve=(()=>{let e=W(V.mkdir,U(`FileSystem`,`makeDirectory`),G(`makeDirectory`));return(t,n)=>e(t,{recursive:n?.recursive??!1,mode:n?.mode})})(),K=e=>{let t=W(V.mkdtemp,U(`FileSystem`,e),G(e));return e=>O(()=>{let n=e?.prefix??``,r=typeof e?.directory==`string`?B.join(e.directory,`.`):Me.tmpdir();return t(n?B.join(r,n):r+`/`)})},He=K(`makeTempDirectory`),q=e=>{let t=W(V.rm,U(`FileSystem`,e),G(e));return(e,n)=>t(e,{recursive:n?.recursive??!1,force:n?.force??!1})},Ue=q(`remove`),We=(()=>{let e=K(`makeTempDirectoryScoped`),t=q(`makeTempDirectoryScoped`);return n=>D(e(n),e=>g(t(e,{recursive:!0})))})(),J=e=>{let t=W(V.open,U(`FileSystem`,e),G(e)),n=W(V.close,U(`FileSystem`,e),G(e));return(e,r)=>s(D(t(e,r?.flag??`r`,r?.mode),e=>g(n(e))),m(e=>Ke(Ee(e),r?.flag?.startsWith(`a`)??!1)))},Ge=J(`open`),Ke=(()=>{let e=e=>W(V.read,U(`FileSystem`,e),G(e)),t=e(`read`),n=e(`readAlloc`),r=W(V.fstat,U(`FileSystem`,`stat`),G(`stat`)),o=W(V.ftruncate,U(`FileSystem`,`truncate`),G(`truncate`)),s=W(V.fsync,U(`FileSystem`,`sync`),G(`sync`)),c=e=>W(V.write,U(`FileSystem`,e),G(e)),l=c(`write`),u=c(`writeAll`);class d{fd;append;[L];semaphore=ve(1);position=0n;constructor(e,t){this.fd=e,this.append=t,this[L]=L}get stat(){return m(r(this.fd),Z)}get sync(){return s(this.fd)}seek(e,t){let n=z(e);return this.semaphore.withPermits(1)(w(()=>(t===`start`?this.position=n:t===`current`&&(this.position+=n),this.position)))}read(e){return this.semaphore.withPermits(1)(m(O(()=>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)(x(w(()=>Buffer.allocUnsafeSlow(t)),e=>m(n(this.fd,{buffer:e,position:this.position}),n=>{if(n===0)return a();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)(m(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)(m(O(()=>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 x(O(()=>u(this.fd,e,void 0,void 0,this.append?void 0:Number(this.position))),t=>t===0?b(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)):T))}writeAll(e){return this.semaphore.withPermits(1)(this.writeAllChunk(e))}}return(e,t)=>new d(e,t)})(),Y=e=>{let t=K(e),n=J(e),r=e=>w(()=>je.randomBytes(e).toString(`hex`));return e=>s(ge(t(e),r(6)),m(([t,n])=>B.join(t,n+(e?.suffix??``))),de(e=>te(n(e,{flag:`w+`}))))},qe=Y(`makeTempFile`),Je=(()=>{let e=Y(`makeTempFileScoped`),t=q(`makeTempFileScoped`);return n=>D(e(n),e=>g(t(B.dirname(e),{recursive:!0})))})(),Ye=(e,t)=>_e({try:()=>V.promises.readdir(e,t),catch:t=>U(`FileSystem`,`readDirectory`)(t,[e])}),Xe=e=>S((t,n)=>{try{V.readFile(e,{signal:n},(n,r)=>{t(n?b(U(`FileSystem`,`readFile`)(n,[e])):E(r))})}catch(e){t(b(G(`readFile`)(e)))}}),Ze=(()=>{let e=W(V.readlink,U(`FileSystem`,`readLink`),G(`readLink`));return t=>e(t)})(),X=(()=>{let e=W(V.realpath,U(`FileSystem`,`realPath`),G(`realPath`));return t=>e(t)})(),Qe=(()=>{let e=W(V.rename,U(`FileSystem`,`rename`),G(`rename`));return(t,n)=>e(t,n)})(),Z=t=>({type:t.isFile()?`File`:t.isDirectory()?`Directory`:t.isSymbolicLink()?`SymbolicLink`:t.isBlockDevice()?`BlockDevice`:t.isCharacterDevice()?`CharacterDevice`:t.isFIFO()?`FIFO`:t.isSocket()?`Socket`:`Unknown`,mtime:e(t.mtime),atime:e(t.atime),birthtime:e(t.birthtime),dev:t.dev,rdev:e(t.rdev),ino:e(t.ino),mode:t.mode,nlink:e(t.nlink),uid:e(t.uid),gid:e(t.gid),size:z(t.size),blksize:e(z(t.blksize)),blocks:e(t.blocks)}),Q=(()=>{let e=W(V.stat,U(`FileSystem`,`stat`),G(`stat`));return t=>m(e(t),Z)})(),$e=(()=>{let e=W(V.symlink,U(`FileSystem`,`symlink`),G(`symlink`));return(t,n)=>e(t,n)})(),et=(()=>{let e=W(V.truncate,U(`FileSystem`,`truncate`),G(`truncate`));return(t,n)=>e(t,n===void 0?void 0:Number(n))})(),tt=(()=>{let e=W(V.utimes,U(`FileSystem`,`utime`),G(`utime`));return(t,n,r)=>e(t,n,r)})(),nt=(e,t)=>Te(n=>D(w(()=>{let r=V.watch(e,{recursive:t?.recursive},(e,t)=>{if(t)switch(e){case`rename`:n.fromEffect(se(Q(t),{onSuccess:e=>E(De({path:t})),onFailure:e=>e._tag===`SystemError`&&e.reason===`NotFound`?E(Ae({path:t})):b(e)}));return;case`change`:n.single(Se({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=>w(()=>e.close()))),rt=(e,t,n)=>Q(t).pipe(m(r=>e.pipe(p(e=>e.register(t,r,n)),o(()=>nt(t,n)))),we),it=(e,t,n)=>S((r,i)=>{try{V.writeFile(e,t,{signal:i,flag:n?.flag,mode:n?.mode},t=>{r(t?b(U(`FileSystem`,`writeFile`)(t,[e])):T)})}catch(e){r(b(G(`writeFile`)(e)))}}),$=P(be,m(A(xe),e=>Ce({access:Fe,chmod:Re,chown:ze,copy:Ie,copyFile:Le,link:Be,makeDirectory:Ve,makeTempDirectory:He,makeTempDirectoryScoped:We,makeTempFile:qe,makeTempFileScoped:Je,open:Ge,readDirectory:Ye,readFile:Xe,readLink:Ze,realPath:X,remove:Ue,rename:Qe,stat:Q,symlink:$e,truncate:et,utimes:tt,watch(t,n){return rt(e,t,n)},writeFile:it}))),at=Pe(N($,R,Oe.pipe(F($),F(R))));export{at as default};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@systemfsoftware/omp-agent-discipline",
3
3
  "license": "MIT",
4
- "version": "1.0.4",
4
+ "version": "1.0.6",
5
5
  "author": "Ryan Lee <drdgvhbh@gmail.com>",
6
6
  "description": "OMP agent discipline: mechanical enforcement of rules prose can't hold (xd:// retry guard, ...)",
7
7
  "type": "module",
@@ -13,7 +13,10 @@
13
13
  "dist"
14
14
  ],
15
15
  "peerDependencies": {
16
- "@oh-my-pi/pi-coding-agent": "^17.0.5"
16
+ "@effect/platform": "^0.97.0",
17
+ "@effect/platform-node": "^0.97.0",
18
+ "@oh-my-pi/pi-coding-agent": "^17.0.5",
19
+ "effect": "^3.22.0"
17
20
  },
18
21
  "devDependencies": {
19
22
  "@effect/platform": "^0.97.0",
@@ -26,11 +29,11 @@
26
29
  "tsdown": "^0.22.9",
27
30
  "typescript": "^7",
28
31
  "vitest": "^4",
29
- "@systemfsoftware/effect-gherkin-spec": "^0.3.5",
32
+ "@systemfsoftware/effect-gherkin-spec": "^0.3.6",
30
33
  "@systemfsoftware/omp-utils": "^0.0.0",
31
- "@systemfsoftware/effect-memfs": "^1.0.5",
34
+ "@systemfsoftware/tsconfig": "^1.2.5",
32
35
  "@systemfsoftware/oxlint-config": "^0.1.0",
33
- "@systemfsoftware/tsconfig": "^1.2.4"
36
+ "@systemfsoftware/effect-memfs": "^1.0.6"
34
37
  },
35
38
  "omp": {
36
39
  "extensions": [
@@ -56,8 +59,6 @@
56
59
  "scripts": {
57
60
  "build": "rimraf dist && tsdown",
58
61
  "clean": "rimraf dist",
59
- "postbuild": "pnpm verify-dist",
60
- "verify-dist": "node ../../scripts/check-dist-builtins.mjs --dist dist/index.js --expect crypto path fs os assert assert/strict",
61
62
  "typecheck": "tsc --noEmit --incremental",
62
63
  "test": "vitest run",
63
64
  "lint": "oxlint . ${AGENT:+--format=unix --quiet}"