@directive-run/core 0.8.5 → 0.8.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.
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import {a}from'./chunk-MAARYRI4.js';export{a as createSystem}from'./chunk-MAARYRI4.js';export{a as DirectiveError,n as RequirementSet,m as forType,j as generateRequirementId,g as isNamespacedSystem,l as isRequirementType,f as isSingleModuleSystem,k as req,d as typedConstraint,e as typedResolver}from'./chunk-DIK3SZBM.js';import'./chunk-O75OISQ2.js';export{h as diffSnapshots,i as isSignedSnapshot,f as isSnapshotExpired,d as shallowEqual,j as signSnapshot,g as validateSnapshot,k as verifySnapshotSignature}from'./chunk-GO63IIN5.js';function g(e=[],n,t,r,u,o){return {_type:void 0,_validators:e,_typeName:n,_default:t,_transform:r,_description:u,_refinements:o,validate(d){return g([...e,d],n,t,r,u,o)}}}function c(e,n,t,r,u,o){return {...g(e,n,t,r,u,o),default(i){return c(e,n,i,r,u,o)},transform(i){return c([],n,void 0,s=>{let l=r?r(s):s;return i(l)},u)},brand(){return c(e,`Branded<${n}>`,t,r,u,o)},describe(i){return c(e,n,t,r,i,o)},refine(i,a){let s=[...o??[],{predicate:i,message:a}];return c([...e,i],n,t,r,u,s)},nullable(){return c([i=>i===null||e.every(a=>a(i))],`${n} | null`,t,r,u)},optional(){return c([i=>i===void 0||e.every(a=>a(i))],`${n} | undefined`,t,r,u)}}}var $={string(){let e=(n,t,r,u,o)=>({...c(n,"string",t,r,u,o),minLength(i){return e([...n,a=>a.length>=i],t,r,u,o)},maxLength(i){return e([...n,a=>a.length<=i],t,r,u,o)},pattern(i){return e([...n,a=>i.test(a)],t,r,u,o)},default(i){return e(n,i,r,u,o)},describe(i){return e(n,t,r,i,o)},refine(i,a){let s=[...o??[],{predicate:i,message:a}];return e([...n,i],t,r,u,s)}});return e([n=>typeof n=="string"])},number(){let e=(n,t,r,u,o)=>({...c(n,"number",t,r,u,o),min(i){return e([...n,a=>a>=i],t,r,u,o)},max(i){return e([...n,a=>a<=i],t,r,u,o)},default(i){return e(n,i,r,u,o)},describe(i){return e(n,t,r,i,o)},refine(i,a){let s=[...o??[],{predicate:i,message:a}];return e([...n,i],t,r,u,s)}});return e([n=>typeof n=="number"])},boolean(){return c([e=>typeof e=="boolean"],"boolean")},array(){let e=(n,t,r,u,o)=>{let d=c(n,"array",r,void 0,u),i=o??{value:-1};return {...d,get _lastFailedIndex(){return i.value},set _lastFailedIndex(s){i.value=s;},of(s){let l={value:-1};return e([...n,y=>{for(let p=0;p<y.length;p++){let S=y[p];if(!s._validators.every(M=>M(S)))return l.value=p,false}return true}],s,r,u,l)},nonEmpty(){return e([...n,s=>s.length>0],t,r,u,i)},maxLength(s){return e([...n,l=>l.length<=s],t,r,u,i)},minLength(s){return e([...n,l=>l.length>=s],t,r,u,i)},default(s){return e(n,t,s,u,i)},describe(s){return e(n,t,r,s,i)}}};return e([n=>Array.isArray(n)])},object(){let e=(n,t,r)=>({...c(n,"object",t,void 0,r),shape(o){return e([...n,d=>{for(let[i,a]of Object.entries(o)){let s=d[i],l=a;if(l&&!l._validators.every(y=>y(s)))return false}return true}],t,r)},nonNull(){return e([...n,o=>o!=null],t,r)},hasKeys(...o){return e([...n,d=>o.every(i=>i in d)],t,r)},default(o){return e(n,o,r)},describe(o){return e(n,t,o)}});return e([n=>typeof n=="object"&&n!==null&&!Array.isArray(n)])},enum(...e){process.env.NODE_ENV!=="production"&&e.length===0&&console.warn("[Directive] t.enum() called with no values - this will reject all strings");let n=new Set(e);return c([t=>typeof t=="string"&&n.has(t)],`enum(${e.join("|")})`)},literal(e){return c([n=>n===e],`literal(${String(e)})`)},nullable(e){let n=e._typeName??"unknown";return g([t=>t===null?true:e._validators.every(r=>r(t))],`${n} | null`)},optional(e){let n=e._typeName??"unknown";return g([t=>t===void 0?true:e._validators.every(r=>r(t))],`${n} | undefined`)},union(...e){process.env.NODE_ENV!=="production"&&e.length===0&&console.warn("[Directive] t.union() called with no types - this will reject all values");let n=e.map(t=>t._typeName??"unknown");return c([t=>e.some(r=>r._validators.every(u=>u(t)))],n.join(" | "))},record(e){let n=e._typeName??"unknown";return c([t=>typeof t!="object"||t===null||Array.isArray(t)?false:Object.values(t).every(r=>e._validators.every(u=>u(r)))],`Record<string, ${n}>`)},tuple(...e){process.env.NODE_ENV!=="production"&&e.length===0&&console.warn("[Directive] t.tuple() called with no types - this will only accept empty arrays");let n=e.map(t=>t._typeName??"unknown");return c([t=>!Array.isArray(t)||t.length!==e.length?false:e.every((r,u)=>r._validators.every(o=>o(t[u])))],`[${n.join(", ")}]`)},date(){return c([e=>e instanceof Date&&!Number.isNaN(e.getTime())],"Date")},uuid(){let e=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;return c([n=>typeof n=="string"&&e.test(n)],"uuid")},email(){let e=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;return c([n=>typeof n=="string"&&e.test(n)],"email")},url(){return c([e=>{if(typeof e!="string")return false;try{return new URL(e),!0}catch{return false}}],"url")},bigint(){return c([e=>typeof e=="bigint"],"bigint")},any(){return c([],"any")},unknown(){return c([],"unknown")}};function W(e){if(!e||typeof e!="string"){console.warn("[Directive] Module ID must be a non-empty string");return}/^(__[a-z][a-z0-9_-]*|[a-z][a-z0-9-]*)$/i.test(e)||console.warn(`[Directive] Module ID "${e}" should follow kebab-case convention (e.g., "my-module")`);}function f(e,n,t,r,u){for(let o of e)n.has(o)||console.warn(`[Directive] ${t} "${o}" not declared in ${r}`);for(let o of n)e.has(o)||console.warn(`[Directive] ${r}["${o}"] ${u}`);}function P(e,n){e.length===0&&console.warn("[Directive] history.snapshotEvents is an empty array \u2014 no events will create history snapshots. Omit history.snapshotEvents entirely to snapshot all events, or list specific events.");let t=new Set(Object.keys(n));for(let r of e)t.has(r)||console.warn(`[Directive] history.snapshotEvents entry "${r}" not declared in schema.events. Available events: ${[...t].join(", ")||"(none)"}`);}function F(e,n){let t=new Set(Object.keys(n));for(let[r,u]of Object.entries(e)){let o=u;typeof o.requirement=="string"&&!t.has(o.requirement)&&console.warn(`[Directive] Resolver "${r}" references unknown requirement type "${o.requirement}". Available types: ${[...t].join(", ")||"(none)"}`);}}function U(e,n){W(e),n.schema?n.schema.facts||console.warn("[Directive] Module schema.facts is required"):console.warn("[Directive] Module schema is required"),f(new Set(Object.keys(n.derive??{})),new Set(Object.keys(n.schema?.derivations??{})),"Derivation","schema.derivations","has no matching implementation in derive"),f(new Set(Object.keys(n.events??{})),new Set(Object.keys(n.schema?.events??{})),"Event","schema.events","has no matching handler in events"),n.history?.snapshotEvents&&P(n.history.snapshotEvents,n.schema?.events??{}),n.resolvers&&n.schema?.requirements&&F(n.resolvers,n.schema.requirements);}function T(e,n){process.env.NODE_ENV!=="production"&&U(e,n);let t="crossModuleDeps"in n?n.crossModuleDeps:void 0;return {id:e,schema:n.schema,init:n.init,derive:n.derive??{},events:n.events??{},effects:n.effects,constraints:n.constraints,resolvers:n.resolvers,hooks:n.hooks,history:n.history,crossModuleDeps:t}}function z(e){return n=>T(n,e)}function h(){let e={pending:new Map,inflight:new Map,failed:new Map,errors:new Map,listeners:new Set};function n(){for(let a of e.listeners)a();}function t(a,s){let l=a.get(s);return l||(l=new Set,a.set(s,l)),l}function r(a){let s=e.pending.get(a)??new Set,l=e.inflight.get(a)??new Set,y=e.failed.get(a)??new Set,p=e.errors.get(a)??null;return {pending:s.size,inflight:l.size,failed:y.size,isLoading:s.size>0||l.size>0,hasError:y.size>0,lastError:p}}function u(){let a=new Set([...e.pending.keys(),...e.inflight.keys(),...e.failed.keys()]),s=new Map;for(let l of a)s.set(l,r(l));return s}function o(a){return e.listeners.add(a),()=>e.listeners.delete(a)}function d(){e.pending.clear(),e.inflight.clear(),e.failed.clear(),e.errors.clear(),n();}return {plugin:{name:"requirement-status",onRequirementCreated(a){let s=a.requirement.type;t(e.pending,s).add(a.id),e.failed.get(s)?.delete(a.id),n();},onResolverStart(a,s){let l=s.requirement.type;e.pending.get(l)?.delete(s.id),t(e.inflight,l).add(s.id),n();},onResolverComplete(a,s){let l=s.requirement.type;e.inflight.get(l)?.delete(s.id),e.pending.get(l)?.delete(s.id),n();},onResolverError(a,s,l){let y=s.requirement.type;e.inflight.get(y)?.delete(s.id),t(e.failed,y).add(s.id),e.errors.set(y,l instanceof Error?l:new Error(String(l))),n();},onResolverCancel(a,s){let l=s.requirement.type;e.pending.get(l)?.delete(s.id),e.inflight.get(l)?.delete(s.id),n();},onRequirementMet(a){let s=a.requirement.type;e.pending.get(s)?.delete(a.id),e.inflight.get(s)?.delete(a.id),n();}},getStatus:r,getAllStatus:u,subscribe:o,reset:d}}function L(e){return n=>e.getStatus(n)}function H(e){let n=h(),r=[...e.plugins??[],n.plugin];return {system:a({module:e.module,plugins:r,trace:e.trace,errorBoundary:e.errorBoundary,tickMs:e.tickMs,zeroConfig:e.zeroConfig,initialFacts:e.initialFacts}),statusPlugin:n}}var Z={None:"none",Linear:"linear",Exponential:"exponential"};export{Z as Backoff,T as createModule,z as createModuleFactory,h as createRequirementStatusPlugin,L as createStatusHook,H as createSystemWithStatus,$ as t};//# sourceMappingURL=index.js.map
1
+ import {a}from'./chunk-7DJCOAZH.js';export{a as createSystem}from'./chunk-7DJCOAZH.js';export{a as DirectiveError,n as RequirementSet,m as forType,j as generateRequirementId,g as isNamespacedSystem,l as isRequirementType,f as isSingleModuleSystem,k as req,d as typedConstraint,e as typedResolver}from'./chunk-JVDQ2CBC.js';import'./chunk-O75OISQ2.js';export{h as diffSnapshots,i as isSignedSnapshot,f as isSnapshotExpired,d as shallowEqual,j as signSnapshot,g as validateSnapshot,k as verifySnapshotSignature}from'./chunk-GO63IIN5.js';function g(e=[],n,t,r,u,o){return {_type:void 0,_validators:e,_typeName:n,_default:t,_transform:r,_description:u,_refinements:o,validate(d){return g([...e,d],n,t,r,u,o)}}}function c(e,n,t,r,u,o){return {...g(e,n,t,r,u,o),default(i){return c(e,n,i,r,u,o)},transform(i){return c([],n,void 0,s=>{let l=r?r(s):s;return i(l)},u)},brand(){return c(e,`Branded<${n}>`,t,r,u,o)},describe(i){return c(e,n,t,r,i,o)},refine(i,a){let s=[...o??[],{predicate:i,message:a}];return c([...e,i],n,t,r,u,s)},nullable(){return c([i=>i===null||e.every(a=>a(i))],`${n} | null`,t,r,u)},optional(){return c([i=>i===void 0||e.every(a=>a(i))],`${n} | undefined`,t,r,u)}}}var $={string(){let e=(n,t,r,u,o)=>({...c(n,"string",t,r,u,o),minLength(i){return e([...n,a=>a.length>=i],t,r,u,o)},maxLength(i){return e([...n,a=>a.length<=i],t,r,u,o)},pattern(i){return e([...n,a=>i.test(a)],t,r,u,o)},default(i){return e(n,i,r,u,o)},describe(i){return e(n,t,r,i,o)},refine(i,a){let s=[...o??[],{predicate:i,message:a}];return e([...n,i],t,r,u,s)}});return e([n=>typeof n=="string"])},number(){let e=(n,t,r,u,o)=>({...c(n,"number",t,r,u,o),min(i){return e([...n,a=>a>=i],t,r,u,o)},max(i){return e([...n,a=>a<=i],t,r,u,o)},default(i){return e(n,i,r,u,o)},describe(i){return e(n,t,r,i,o)},refine(i,a){let s=[...o??[],{predicate:i,message:a}];return e([...n,i],t,r,u,s)}});return e([n=>typeof n=="number"])},boolean(){return c([e=>typeof e=="boolean"],"boolean")},array(){let e=(n,t,r,u,o)=>{let d=c(n,"array",r,void 0,u),i=o??{value:-1};return {...d,get _lastFailedIndex(){return i.value},set _lastFailedIndex(s){i.value=s;},of(s){let l={value:-1};return e([...n,y=>{for(let p=0;p<y.length;p++){let S=y[p];if(!s._validators.every(M=>M(S)))return l.value=p,false}return true}],s,r,u,l)},nonEmpty(){return e([...n,s=>s.length>0],t,r,u,i)},maxLength(s){return e([...n,l=>l.length<=s],t,r,u,i)},minLength(s){return e([...n,l=>l.length>=s],t,r,u,i)},default(s){return e(n,t,s,u,i)},describe(s){return e(n,t,r,s,i)}}};return e([n=>Array.isArray(n)])},object(){let e=(n,t,r)=>({...c(n,"object",t,void 0,r),shape(o){return e([...n,d=>{for(let[i,a]of Object.entries(o)){let s=d[i],l=a;if(l&&!l._validators.every(y=>y(s)))return false}return true}],t,r)},nonNull(){return e([...n,o=>o!=null],t,r)},hasKeys(...o){return e([...n,d=>o.every(i=>i in d)],t,r)},default(o){return e(n,o,r)},describe(o){return e(n,t,o)}});return e([n=>typeof n=="object"&&n!==null&&!Array.isArray(n)])},enum(...e){process.env.NODE_ENV!=="production"&&e.length===0&&console.warn("[Directive] t.enum() called with no values - this will reject all strings");let n=new Set(e);return c([t=>typeof t=="string"&&n.has(t)],`enum(${e.join("|")})`)},literal(e){return c([n=>n===e],`literal(${String(e)})`)},nullable(e){let n=e._typeName??"unknown";return g([t=>t===null?true:e._validators.every(r=>r(t))],`${n} | null`)},optional(e){let n=e._typeName??"unknown";return g([t=>t===void 0?true:e._validators.every(r=>r(t))],`${n} | undefined`)},union(...e){process.env.NODE_ENV!=="production"&&e.length===0&&console.warn("[Directive] t.union() called with no types - this will reject all values");let n=e.map(t=>t._typeName??"unknown");return c([t=>e.some(r=>r._validators.every(u=>u(t)))],n.join(" | "))},record(e){let n=e._typeName??"unknown";return c([t=>typeof t!="object"||t===null||Array.isArray(t)?false:Object.values(t).every(r=>e._validators.every(u=>u(r)))],`Record<string, ${n}>`)},tuple(...e){process.env.NODE_ENV!=="production"&&e.length===0&&console.warn("[Directive] t.tuple() called with no types - this will only accept empty arrays");let n=e.map(t=>t._typeName??"unknown");return c([t=>!Array.isArray(t)||t.length!==e.length?false:e.every((r,u)=>r._validators.every(o=>o(t[u])))],`[${n.join(", ")}]`)},date(){return c([e=>e instanceof Date&&!Number.isNaN(e.getTime())],"Date")},uuid(){let e=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;return c([n=>typeof n=="string"&&e.test(n)],"uuid")},email(){let e=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;return c([n=>typeof n=="string"&&e.test(n)],"email")},url(){return c([e=>{if(typeof e!="string")return false;try{return new URL(e),!0}catch{return false}}],"url")},bigint(){return c([e=>typeof e=="bigint"],"bigint")},any(){return c([],"any")},unknown(){return c([],"unknown")}};function W(e){if(!e||typeof e!="string"){console.warn("[Directive] Module ID must be a non-empty string");return}/^(__[a-z][a-z0-9_-]*|[a-z][a-z0-9-]*)$/i.test(e)||console.warn(`[Directive] Module ID "${e}" should follow kebab-case convention (e.g., "my-module")`);}function f(e,n,t,r,u){for(let o of e)n.has(o)||console.warn(`[Directive] ${t} "${o}" not declared in ${r}`);for(let o of n)e.has(o)||console.warn(`[Directive] ${r}["${o}"] ${u}`);}function P(e,n){e.length===0&&console.warn("[Directive] history.snapshotEvents is an empty array \u2014 no events will create history snapshots. Omit history.snapshotEvents entirely to snapshot all events, or list specific events.");let t=new Set(Object.keys(n));for(let r of e)t.has(r)||console.warn(`[Directive] history.snapshotEvents entry "${r}" not declared in schema.events. Available events: ${[...t].join(", ")||"(none)"}`);}function F(e,n){let t=new Set(Object.keys(n));for(let[r,u]of Object.entries(e)){let o=u;typeof o.requirement=="string"&&!t.has(o.requirement)&&console.warn(`[Directive] Resolver "${r}" references unknown requirement type "${o.requirement}". Available types: ${[...t].join(", ")||"(none)"}`);}}function U(e,n){W(e),n.schema?n.schema.facts||console.warn("[Directive] Module schema.facts is required"):console.warn("[Directive] Module schema is required"),f(new Set(Object.keys(n.derive??{})),new Set(Object.keys(n.schema?.derivations??{})),"Derivation","schema.derivations","has no matching implementation in derive"),f(new Set(Object.keys(n.events??{})),new Set(Object.keys(n.schema?.events??{})),"Event","schema.events","has no matching handler in events"),n.history?.snapshotEvents&&P(n.history.snapshotEvents,n.schema?.events??{}),n.resolvers&&n.schema?.requirements&&F(n.resolvers,n.schema.requirements);}function T(e,n){process.env.NODE_ENV!=="production"&&U(e,n);let t="crossModuleDeps"in n?n.crossModuleDeps:void 0;return {id:e,schema:n.schema,init:n.init,derive:n.derive??{},events:n.events??{},effects:n.effects,constraints:n.constraints,resolvers:n.resolvers,hooks:n.hooks,history:n.history,crossModuleDeps:t}}function z(e){return n=>T(n,e)}function h(){let e={pending:new Map,inflight:new Map,failed:new Map,errors:new Map,listeners:new Set};function n(){for(let a of e.listeners)a();}function t(a,s){let l=a.get(s);return l||(l=new Set,a.set(s,l)),l}function r(a){let s=e.pending.get(a)??new Set,l=e.inflight.get(a)??new Set,y=e.failed.get(a)??new Set,p=e.errors.get(a)??null;return {pending:s.size,inflight:l.size,failed:y.size,isLoading:s.size>0||l.size>0,hasError:y.size>0,lastError:p}}function u(){let a=new Set([...e.pending.keys(),...e.inflight.keys(),...e.failed.keys()]),s=new Map;for(let l of a)s.set(l,r(l));return s}function o(a){return e.listeners.add(a),()=>e.listeners.delete(a)}function d(){e.pending.clear(),e.inflight.clear(),e.failed.clear(),e.errors.clear(),n();}return {plugin:{name:"requirement-status",onRequirementCreated(a){let s=a.requirement.type;t(e.pending,s).add(a.id),e.failed.get(s)?.delete(a.id),n();},onResolverStart(a,s){let l=s.requirement.type;e.pending.get(l)?.delete(s.id),t(e.inflight,l).add(s.id),n();},onResolverComplete(a,s){let l=s.requirement.type;e.inflight.get(l)?.delete(s.id),e.pending.get(l)?.delete(s.id),n();},onResolverError(a,s,l){let y=s.requirement.type;e.inflight.get(y)?.delete(s.id),t(e.failed,y).add(s.id),e.errors.set(y,l instanceof Error?l:new Error(String(l))),n();},onResolverCancel(a,s){let l=s.requirement.type;e.pending.get(l)?.delete(s.id),e.inflight.get(l)?.delete(s.id),n();},onRequirementMet(a){let s=a.requirement.type;e.pending.get(s)?.delete(a.id),e.inflight.get(s)?.delete(a.id),n();}},getStatus:r,getAllStatus:u,subscribe:o,reset:d}}function L(e){return n=>e.getStatus(n)}function H(e){let n=h(),r=[...e.plugins??[],n.plugin];return {system:a({module:e.module,plugins:r,trace:e.trace,errorBoundary:e.errorBoundary,tickMs:e.tickMs,zeroConfig:e.zeroConfig,initialFacts:e.initialFacts}),statusPlugin:n}}var Z={None:"none",Linear:"linear",Exponential:"exponential"};export{Z as Backoff,T as createModule,z as createModuleFactory,h as createRequirementStatusPlugin,L as createStatusHook,H as createSystemWithStatus,$ as t};//# sourceMappingURL=index.js.map
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- 'use strict';var chunk6WG7FPH7_cjs=require('./chunk-6WG7FPH7.cjs'),chunkPK2EH26L_cjs=require('./chunk-PK2EH26L.cjs');require('./chunk-KQKNE23L.cjs');Object.defineProperty(exports,"createConstraintFactory",{enumerable:true,get:function(){return chunk6WG7FPH7_cjs.b}});Object.defineProperty(exports,"createConstraintsManager",{enumerable:true,get:function(){return chunk6WG7FPH7_cjs.o}});Object.defineProperty(exports,"createDerivationsManager",{enumerable:true,get:function(){return chunk6WG7FPH7_cjs.p}});Object.defineProperty(exports,"createDisabledHistory",{enumerable:true,get:function(){return chunk6WG7FPH7_cjs.i}});Object.defineProperty(exports,"createEffectsManager",{enumerable:true,get:function(){return chunk6WG7FPH7_cjs.q}});Object.defineProperty(exports,"createEngine",{enumerable:true,get:function(){return chunk6WG7FPH7_cjs.y}});Object.defineProperty(exports,"createErrorBoundaryManager",{enumerable:true,get:function(){return chunk6WG7FPH7_cjs.s}});Object.defineProperty(exports,"createFacts",{enumerable:true,get:function(){return chunk6WG7FPH7_cjs.v}});Object.defineProperty(exports,"createFactsProxy",{enumerable:true,get:function(){return chunk6WG7FPH7_cjs.u}});Object.defineProperty(exports,"createFactsStore",{enumerable:true,get:function(){return chunk6WG7FPH7_cjs.t}});Object.defineProperty(exports,"createHistoryManager",{enumerable:true,get:function(){return chunk6WG7FPH7_cjs.h}});Object.defineProperty(exports,"createPluginManager",{enumerable:true,get:function(){return chunk6WG7FPH7_cjs.w}});Object.defineProperty(exports,"createResolverFactory",{enumerable:true,get:function(){return chunk6WG7FPH7_cjs.c}});Object.defineProperty(exports,"createResolversManager",{enumerable:true,get:function(){return chunk6WG7FPH7_cjs.x}});Object.defineProperty(exports,"createRetryLaterManager",{enumerable:true,get:function(){return chunk6WG7FPH7_cjs.r}});Object.defineProperty(exports,"getCurrentTracker",{enumerable:true,get:function(){return chunkPK2EH26L_cjs.f}});Object.defineProperty(exports,"isTracking",{enumerable:true,get:function(){return chunkPK2EH26L_cjs.g}});Object.defineProperty(exports,"trackAccess",{enumerable:true,get:function(){return chunkPK2EH26L_cjs.j}});Object.defineProperty(exports,"withTracking",{enumerable:true,get:function(){return chunkPK2EH26L_cjs.h}});Object.defineProperty(exports,"withoutTracking",{enumerable:true,get:function(){return chunkPK2EH26L_cjs.i}});//# sourceMappingURL=internals.cjs.map
1
+ 'use strict';var chunkJXYZ755I_cjs=require('./chunk-JXYZ755I.cjs'),chunkPK2EH26L_cjs=require('./chunk-PK2EH26L.cjs');require('./chunk-KQKNE23L.cjs');Object.defineProperty(exports,"createConstraintFactory",{enumerable:true,get:function(){return chunkJXYZ755I_cjs.b}});Object.defineProperty(exports,"createConstraintsManager",{enumerable:true,get:function(){return chunkJXYZ755I_cjs.o}});Object.defineProperty(exports,"createDerivationsManager",{enumerable:true,get:function(){return chunkJXYZ755I_cjs.p}});Object.defineProperty(exports,"createDisabledHistory",{enumerable:true,get:function(){return chunkJXYZ755I_cjs.i}});Object.defineProperty(exports,"createEffectsManager",{enumerable:true,get:function(){return chunkJXYZ755I_cjs.q}});Object.defineProperty(exports,"createEngine",{enumerable:true,get:function(){return chunkJXYZ755I_cjs.y}});Object.defineProperty(exports,"createErrorBoundaryManager",{enumerable:true,get:function(){return chunkJXYZ755I_cjs.s}});Object.defineProperty(exports,"createFacts",{enumerable:true,get:function(){return chunkJXYZ755I_cjs.v}});Object.defineProperty(exports,"createFactsProxy",{enumerable:true,get:function(){return chunkJXYZ755I_cjs.u}});Object.defineProperty(exports,"createFactsStore",{enumerable:true,get:function(){return chunkJXYZ755I_cjs.t}});Object.defineProperty(exports,"createHistoryManager",{enumerable:true,get:function(){return chunkJXYZ755I_cjs.h}});Object.defineProperty(exports,"createPluginManager",{enumerable:true,get:function(){return chunkJXYZ755I_cjs.w}});Object.defineProperty(exports,"createResolverFactory",{enumerable:true,get:function(){return chunkJXYZ755I_cjs.c}});Object.defineProperty(exports,"createResolversManager",{enumerable:true,get:function(){return chunkJXYZ755I_cjs.x}});Object.defineProperty(exports,"createRetryLaterManager",{enumerable:true,get:function(){return chunkJXYZ755I_cjs.r}});Object.defineProperty(exports,"getCurrentTracker",{enumerable:true,get:function(){return chunkPK2EH26L_cjs.f}});Object.defineProperty(exports,"isTracking",{enumerable:true,get:function(){return chunkPK2EH26L_cjs.g}});Object.defineProperty(exports,"trackAccess",{enumerable:true,get:function(){return chunkPK2EH26L_cjs.j}});Object.defineProperty(exports,"withTracking",{enumerable:true,get:function(){return chunkPK2EH26L_cjs.h}});Object.defineProperty(exports,"withoutTracking",{enumerable:true,get:function(){return chunkPK2EH26L_cjs.i}});//# sourceMappingURL=internals.cjs.map
2
2
  //# sourceMappingURL=internals.cjs.map
@@ -657,6 +657,12 @@ interface ResolversManager<_S extends Schema> {
657
657
  * @returns An array of {@link InflightInfo} objects.
658
658
  */
659
659
  getInflightInfo(): InflightInfo[];
660
+ /**
661
+ * Get the number of currently in-flight resolvers without allocating an array.
662
+ *
663
+ * @returns The count of in-flight resolvers.
664
+ */
665
+ getInflightCount(): number;
660
666
  /**
661
667
  * Check whether a requirement is currently being resolved.
662
668
  *
@@ -657,6 +657,12 @@ interface ResolversManager<_S extends Schema> {
657
657
  * @returns An array of {@link InflightInfo} objects.
658
658
  */
659
659
  getInflightInfo(): InflightInfo[];
660
+ /**
661
+ * Get the number of currently in-flight resolvers without allocating an array.
662
+ *
663
+ * @returns The count of in-flight resolvers.
664
+ */
665
+ getInflightCount(): number;
660
666
  /**
661
667
  * Check whether a requirement is currently being resolved.
662
668
  *
package/dist/internals.js CHANGED
@@ -1,2 +1,2 @@
1
- export{b as createConstraintFactory,o as createConstraintsManager,p as createDerivationsManager,i as createDisabledHistory,q as createEffectsManager,y as createEngine,s as createErrorBoundaryManager,v as createFacts,u as createFactsProxy,t as createFactsStore,h as createHistoryManager,w as createPluginManager,c as createResolverFactory,x as createResolversManager,r as createRetryLaterManager}from'./chunk-DIK3SZBM.js';export{f as getCurrentTracker,g as isTracking,j as trackAccess,h as withTracking,i as withoutTracking}from'./chunk-O75OISQ2.js';import'./chunk-GO63IIN5.js';//# sourceMappingURL=internals.js.map
1
+ export{b as createConstraintFactory,o as createConstraintsManager,p as createDerivationsManager,i as createDisabledHistory,q as createEffectsManager,y as createEngine,s as createErrorBoundaryManager,v as createFacts,u as createFactsProxy,t as createFactsStore,h as createHistoryManager,w as createPluginManager,c as createResolverFactory,x as createResolversManager,r as createRetryLaterManager}from'./chunk-JVDQ2CBC.js';export{f as getCurrentTracker,g as isTracking,j as trackAccess,h as withTracking,i as withoutTracking}from'./chunk-O75OISQ2.js';import'./chunk-GO63IIN5.js';//# sourceMappingURL=internals.js.map
2
2
  //# sourceMappingURL=internals.js.map
@@ -0,0 +1,2 @@
1
+ export{a as createSystem}from'./chunk-7DJCOAZH.js';import'./chunk-JVDQ2CBC.js';import'./chunk-O75OISQ2.js';import'./chunk-GO63IIN5.js';//# sourceMappingURL=system-CIWPXJOP.js.map
2
+ //# sourceMappingURL=system-CIWPXJOP.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"system-L2FVVUSN.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"system-CIWPXJOP.js"}
@@ -0,0 +1,2 @@
1
+ 'use strict';var chunkKZZBWL4M_cjs=require('./chunk-KZZBWL4M.cjs');require('./chunk-JXYZ755I.cjs'),require('./chunk-PK2EH26L.cjs'),require('./chunk-KQKNE23L.cjs');Object.defineProperty(exports,"createSystem",{enumerable:true,get:function(){return chunkKZZBWL4M_cjs.a}});//# sourceMappingURL=system-VBZ3OJEO.cjs.map
2
+ //# sourceMappingURL=system-VBZ3OJEO.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"system-L45Z2N4U.cjs"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"system-VBZ3OJEO.cjs"}
package/dist/testing.cjs CHANGED
@@ -1,2 +1,2 @@
1
- 'use strict';var chunkLAH2FMON_cjs=require('./chunk-LAH2FMON.cjs');require('./chunk-6WG7FPH7.cjs'),require('./chunk-PK2EH26L.cjs'),require('./chunk-KQKNE23L.cjs');async function S(){for(let t=0;t<10;t++)await Promise.resolve();}async function D(t,r,n={}){let{totalTime:a=5e3,stepSize:c=10,maxIterations:l=1e3}=n,d=0,h=0;for(;d<a&&h<l;){if(await S(),t.inspect().inflight.length===0){await S();return}r(c),d+=c,h++;}let g=t.inspect();if(g.inflight.length>0){let v=g.inflight.map(y=>y.resolverId).join(", ");throw new Error(`[Directive] settleWithFakeTimers did not settle after ${a}ms. ${g.inflight.length} resolvers still inflight: ${v}`)}}function T(){let t=0,r=[];return {async advance(n){let a=t+n;for(;r.length>0&&r[0].time<=a;){let c=r.shift();t=c.time,c.callback(),await Promise.resolve();}t=a;},async next(){if(r.length===0)return;let n=r.shift();t=n.time,n.callback(),await Promise.resolve();},async runAll(){for(;r.length>0;)await this.next();},now(){return t},reset(){t=0,r.length=0;}}}function k(t){let r=typeof t=="string"?{requirement:(a=>a.type===t)}:t,n=r.calls??[];return {requirement:r.requirement??(a=>true),async resolve(a,c){if(n.push(a),r.delay&&await new Promise(l=>setTimeout(l,r.delay)),r.error)throw typeof r.error=="string"?new Error(r.error):r.error;r.resolve&&await r.resolve(a,c);}}}function E(t){let r=[],n=[];return {...{get calls(){return r},get pending(){return n},resolve(l){let d=n.shift();d&&d.resolve(l);},reject(l){let d=n.shift();d&&d.reject(l);},resolveAll(l){for(;n.length>0;)this.resolve(l);},rejectAll(l){for(;n.length>0;)this.reject(l);},reset(){r.length=0,n.length=0;}},handler:(l,d)=>(r.push(l),new Promise((h,g)=>{n.push({requirement:l,resolve:v=>h(v),reject:g});}))}}function C(t){return "module"in t?x(t):M(t)}function x(t){let r=[],n=new Map,a=[],c=[],l={};if(t.mocks?.resolvers)for(let[o,e]of Object.entries(t.mocks.resolvers)){let s=[];n.set(o,s),l[o]=k({...e,calls:s});}let d={...t.module,resolvers:{...t.module.resolvers,...l}},g=chunkLAH2FMON_cjs.a({...t,module:d,plugins:[{name:"__test-tracking__",onFactSet:(o,e,s)=>{c.push({key:o,fullKey:o,namespace:void 0,previousValue:s,newValue:e,timestamp:Date.now()});},onRequirementCreated:o=>{a.push(o);}},...t.plugins??[]]}),v=g.dispatch.bind(g);return g.dispatch=o=>{r.push(o),v(o);},{...g,eventHistory:r,resolverCalls:n,get allRequirements(){return a},getFactsHistory(){return [...c]},resetFactsHistory(){c.length=0;},async waitForIdle(o=5e3){let e=Date.now(),s=async()=>{await new Promise(m=>setTimeout(m,0));let i=g.inspect();if(i.inflight.length>0){if(Date.now()-e>o){let m=i.inflight.map(u=>u.id).join(", ");throw new Error(`[Directive] waitForIdle timed out after ${o}ms. ${i.inflight.length} resolvers still inflight: ${m}`)}return await new Promise(m=>setTimeout(m,10)),s()}};return s()},assertRequirement(o){if(!a.some(s=>s.requirement.type===o))throw new Error(`[Directive] Expected requirement of type "${o}" but none found`)},assertResolverCalled(o,e){let s=n.get(o)??[];if(e!==void 0){if(s.length!==e)throw new Error(`[Directive] Expected resolver "${o}" to be called ${e} times but was called ${s.length} times`)}else if(s.length===0)throw new Error(`[Directive] Expected resolver "${o}" to be called but it was not`)},assertFactSet(o,e){let s=c.filter(i=>i.key===o);if(s.length===0)throw new Error(`[Directive] Expected fact "${o}" to be set but it was not`);if(e!==void 0&&!s.some(m=>m.newValue===e)){let m=s.map(u=>JSON.stringify(u.newValue)).join(", ");throw new Error(`[Directive] Expected fact "${o}" to be set to ${JSON.stringify(e)} but got: ${m}`)}},assertFactChanges(o,e){let s=c.filter(i=>i.key===o);if(s.length!==e)throw new Error(`[Directive] Expected fact "${o}" to change ${e} times but it changed ${s.length} times`)}}}function M(t){let r=[],n=new Map,a=[],c=[],l={};if(t.mocks?.resolvers)for(let[e,s]of Object.entries(t.mocks.resolvers)){let i=[];n.set(e,i),l[e]=k({...s,calls:i});}let d={};for(let[e,s]of Object.entries(t.modules))d[e]={...s,resolvers:{...s.resolvers,...l}};let h=new Set(Object.keys(t.modules)),v=chunkLAH2FMON_cjs.a({...t,modules:d,plugins:[{name:"__test-tracking__",onFactSet:(e,s,i)=>{let u=e.indexOf("::"),f,p;if(u>0){let R=e.substring(0,u);h.has(R)?(f=R,p=e.substring(u+2)):p=e;}else p=e;c.push({key:p,fullKey:e,namespace:f,previousValue:i,newValue:s,timestamp:Date.now()});},onRequirementCreated:e=>{a.push(e);}},...t.plugins??[]]}),y=v.dispatch.bind(v);return v.dispatch=e=>{r.push(e),y(e);},{...v,eventHistory:r,resolverCalls:n,get allRequirements(){return a},getFactsHistory(){return [...c]},resetFactsHistory(){c.length=0;},async waitForIdle(e=5e3){let s=Date.now(),i=async()=>{await new Promise(u=>setTimeout(u,0));let m=v.inspect();if(m.inflight.length>0){if(Date.now()-s>e){let u=m.inflight.map(f=>f.id).join(", ");throw new Error(`[Directive] waitForIdle timed out after ${e}ms. ${m.inflight.length} resolvers still inflight: ${u}`)}return await new Promise(u=>setTimeout(u,10)),i()}};return i()},assertRequirement(e){if(!a.some(i=>i.requirement.type===e))throw new Error(`[Directive] Expected requirement of type "${e}" but none found`)},assertResolverCalled(e,s){let i=n.get(e)??[];if(s!==void 0){if(i.length!==s)throw new Error(`[Directive] Expected resolver "${e}" to be called ${s} times but was called ${i.length} times`)}else if(i.length===0)throw new Error(`[Directive] Expected resolver "${e}" to be called but it was not`)},assertFactSet(e,s){let i=c.filter(m=>m.key===e);if(i.length===0)throw new Error(`[Directive] Expected fact "${e}" to be set but it was not`);if(s!==void 0&&!i.some(u=>u.newValue===s)){let u=i.map(f=>JSON.stringify(f.newValue)).join(", ");throw new Error(`[Directive] Expected fact "${e}" to be set to ${JSON.stringify(s)} but got: ${u}`)}},assertFactChanges(e,s){let i=c.filter(m=>m.key===e);if(i.length!==s)throw new Error(`[Directive] Expected fact "${e}" to change ${s} times but it changed ${i.length} times`)}}}function $(t,r,n){if(!b(t,r,n))throw new Error(`[Directive] Expected ${r} "${n}" to be dynamic, but it is not.`)}function P(t,r,n){if(b(t,r,n))throw new Error(`[Directive] Expected ${r} "${n}" to NOT be dynamic, but it is.`)}function b(t,r,n){switch(r){case "constraint":return t.constraints.isDynamic(n);case "resolver":return t.resolvers.isDynamic(n);case "derivation":return t.derive.isDynamic(n);case "effect":return t.effects.isDynamic(n)}}exports.assertDynamic=$;exports.assertNotDynamic=P;exports.createFakeTimers=T;exports.createMockResolver=k;exports.createTestSystem=C;exports.flushMicrotasks=S;exports.mockResolver=E;exports.settleWithFakeTimers=D;//# sourceMappingURL=testing.cjs.map
1
+ 'use strict';var chunkKZZBWL4M_cjs=require('./chunk-KZZBWL4M.cjs');require('./chunk-JXYZ755I.cjs'),require('./chunk-PK2EH26L.cjs'),require('./chunk-KQKNE23L.cjs');async function S(){for(let t=0;t<10;t++)await Promise.resolve();}async function D(t,r,n={}){let{totalTime:a=5e3,stepSize:c=10,maxIterations:l=1e3}=n,d=0,h=0;for(;d<a&&h<l;){if(await S(),t.inspect().inflight.length===0){await S();return}r(c),d+=c,h++;}let g=t.inspect();if(g.inflight.length>0){let v=g.inflight.map(y=>y.resolverId).join(", ");throw new Error(`[Directive] settleWithFakeTimers did not settle after ${a}ms. ${g.inflight.length} resolvers still inflight: ${v}`)}}function T(){let t=0,r=[];return {async advance(n){let a=t+n;for(;r.length>0&&r[0].time<=a;){let c=r.shift();t=c.time,c.callback(),await Promise.resolve();}t=a;},async next(){if(r.length===0)return;let n=r.shift();t=n.time,n.callback(),await Promise.resolve();},async runAll(){for(;r.length>0;)await this.next();},now(){return t},reset(){t=0,r.length=0;}}}function k(t){let r=typeof t=="string"?{requirement:(a=>a.type===t)}:t,n=r.calls??[];return {requirement:r.requirement??(a=>true),async resolve(a,c){if(n.push(a),r.delay&&await new Promise(l=>setTimeout(l,r.delay)),r.error)throw typeof r.error=="string"?new Error(r.error):r.error;r.resolve&&await r.resolve(a,c);}}}function E(t){let r=[],n=[];return {...{get calls(){return r},get pending(){return n},resolve(l){let d=n.shift();d&&d.resolve(l);},reject(l){let d=n.shift();d&&d.reject(l);},resolveAll(l){for(;n.length>0;)this.resolve(l);},rejectAll(l){for(;n.length>0;)this.reject(l);},reset(){r.length=0,n.length=0;}},handler:(l,d)=>(r.push(l),new Promise((h,g)=>{n.push({requirement:l,resolve:v=>h(v),reject:g});}))}}function C(t){return "module"in t?x(t):M(t)}function x(t){let r=[],n=new Map,a=[],c=[],l={};if(t.mocks?.resolvers)for(let[o,e]of Object.entries(t.mocks.resolvers)){let s=[];n.set(o,s),l[o]=k({...e,calls:s});}let d={...t.module,resolvers:{...t.module.resolvers,...l}},g=chunkKZZBWL4M_cjs.a({...t,module:d,plugins:[{name:"__test-tracking__",onFactSet:(o,e,s)=>{c.push({key:o,fullKey:o,namespace:void 0,previousValue:s,newValue:e,timestamp:Date.now()});},onRequirementCreated:o=>{a.push(o);}},...t.plugins??[]]}),v=g.dispatch.bind(g);return g.dispatch=o=>{r.push(o),v(o);},{...g,eventHistory:r,resolverCalls:n,get allRequirements(){return a},getFactsHistory(){return [...c]},resetFactsHistory(){c.length=0;},async waitForIdle(o=5e3){let e=Date.now(),s=async()=>{await new Promise(m=>setTimeout(m,0));let i=g.inspect();if(i.inflight.length>0){if(Date.now()-e>o){let m=i.inflight.map(u=>u.id).join(", ");throw new Error(`[Directive] waitForIdle timed out after ${o}ms. ${i.inflight.length} resolvers still inflight: ${m}`)}return await new Promise(m=>setTimeout(m,10)),s()}};return s()},assertRequirement(o){if(!a.some(s=>s.requirement.type===o))throw new Error(`[Directive] Expected requirement of type "${o}" but none found`)},assertResolverCalled(o,e){let s=n.get(o)??[];if(e!==void 0){if(s.length!==e)throw new Error(`[Directive] Expected resolver "${o}" to be called ${e} times but was called ${s.length} times`)}else if(s.length===0)throw new Error(`[Directive] Expected resolver "${o}" to be called but it was not`)},assertFactSet(o,e){let s=c.filter(i=>i.key===o);if(s.length===0)throw new Error(`[Directive] Expected fact "${o}" to be set but it was not`);if(e!==void 0&&!s.some(m=>m.newValue===e)){let m=s.map(u=>JSON.stringify(u.newValue)).join(", ");throw new Error(`[Directive] Expected fact "${o}" to be set to ${JSON.stringify(e)} but got: ${m}`)}},assertFactChanges(o,e){let s=c.filter(i=>i.key===o);if(s.length!==e)throw new Error(`[Directive] Expected fact "${o}" to change ${e} times but it changed ${s.length} times`)}}}function M(t){let r=[],n=new Map,a=[],c=[],l={};if(t.mocks?.resolvers)for(let[e,s]of Object.entries(t.mocks.resolvers)){let i=[];n.set(e,i),l[e]=k({...s,calls:i});}let d={};for(let[e,s]of Object.entries(t.modules))d[e]={...s,resolvers:{...s.resolvers,...l}};let h=new Set(Object.keys(t.modules)),v=chunkKZZBWL4M_cjs.a({...t,modules:d,plugins:[{name:"__test-tracking__",onFactSet:(e,s,i)=>{let u=e.indexOf("::"),f,p;if(u>0){let R=e.substring(0,u);h.has(R)?(f=R,p=e.substring(u+2)):p=e;}else p=e;c.push({key:p,fullKey:e,namespace:f,previousValue:i,newValue:s,timestamp:Date.now()});},onRequirementCreated:e=>{a.push(e);}},...t.plugins??[]]}),y=v.dispatch.bind(v);return v.dispatch=e=>{r.push(e),y(e);},{...v,eventHistory:r,resolverCalls:n,get allRequirements(){return a},getFactsHistory(){return [...c]},resetFactsHistory(){c.length=0;},async waitForIdle(e=5e3){let s=Date.now(),i=async()=>{await new Promise(u=>setTimeout(u,0));let m=v.inspect();if(m.inflight.length>0){if(Date.now()-s>e){let u=m.inflight.map(f=>f.id).join(", ");throw new Error(`[Directive] waitForIdle timed out after ${e}ms. ${m.inflight.length} resolvers still inflight: ${u}`)}return await new Promise(u=>setTimeout(u,10)),i()}};return i()},assertRequirement(e){if(!a.some(i=>i.requirement.type===e))throw new Error(`[Directive] Expected requirement of type "${e}" but none found`)},assertResolverCalled(e,s){let i=n.get(e)??[];if(s!==void 0){if(i.length!==s)throw new Error(`[Directive] Expected resolver "${e}" to be called ${s} times but was called ${i.length} times`)}else if(i.length===0)throw new Error(`[Directive] Expected resolver "${e}" to be called but it was not`)},assertFactSet(e,s){let i=c.filter(m=>m.key===e);if(i.length===0)throw new Error(`[Directive] Expected fact "${e}" to be set but it was not`);if(s!==void 0&&!i.some(u=>u.newValue===s)){let u=i.map(f=>JSON.stringify(f.newValue)).join(", ");throw new Error(`[Directive] Expected fact "${e}" to be set to ${JSON.stringify(s)} but got: ${u}`)}},assertFactChanges(e,s){let i=c.filter(m=>m.key===e);if(i.length!==s)throw new Error(`[Directive] Expected fact "${e}" to change ${s} times but it changed ${i.length} times`)}}}function $(t,r,n){if(!b(t,r,n))throw new Error(`[Directive] Expected ${r} "${n}" to be dynamic, but it is not.`)}function P(t,r,n){if(b(t,r,n))throw new Error(`[Directive] Expected ${r} "${n}" to NOT be dynamic, but it is.`)}function b(t,r,n){switch(r){case "constraint":return t.constraints.isDynamic(n);case "resolver":return t.resolvers.isDynamic(n);case "derivation":return t.derive.isDynamic(n);case "effect":return t.effects.isDynamic(n)}}exports.assertDynamic=$;exports.assertNotDynamic=P;exports.createFakeTimers=T;exports.createMockResolver=k;exports.createTestSystem=C;exports.flushMicrotasks=S;exports.mockResolver=E;exports.settleWithFakeTimers=D;//# sourceMappingURL=testing.cjs.map
2
2
  //# sourceMappingURL=testing.cjs.map
package/dist/testing.js CHANGED
@@ -1,2 +1,2 @@
1
- import {a}from'./chunk-MAARYRI4.js';import'./chunk-DIK3SZBM.js';import'./chunk-O75OISQ2.js';import'./chunk-GO63IIN5.js';async function S(){for(let t=0;t<10;t++)await Promise.resolve();}async function D(t,r,n={}){let{totalTime:a=5e3,stepSize:c=10,maxIterations:l=1e3}=n,d=0,h=0;for(;d<a&&h<l;){if(await S(),t.inspect().inflight.length===0){await S();return}r(c),d+=c,h++;}let g=t.inspect();if(g.inflight.length>0){let v=g.inflight.map(y=>y.resolverId).join(", ");throw new Error(`[Directive] settleWithFakeTimers did not settle after ${a}ms. ${g.inflight.length} resolvers still inflight: ${v}`)}}function T(){let t=0,r=[];return {async advance(n){let a=t+n;for(;r.length>0&&r[0].time<=a;){let c=r.shift();t=c.time,c.callback(),await Promise.resolve();}t=a;},async next(){if(r.length===0)return;let n=r.shift();t=n.time,n.callback(),await Promise.resolve();},async runAll(){for(;r.length>0;)await this.next();},now(){return t},reset(){t=0,r.length=0;}}}function k(t){let r=typeof t=="string"?{requirement:(a=>a.type===t)}:t,n=r.calls??[];return {requirement:r.requirement??(a=>true),async resolve(a,c){if(n.push(a),r.delay&&await new Promise(l=>setTimeout(l,r.delay)),r.error)throw typeof r.error=="string"?new Error(r.error):r.error;r.resolve&&await r.resolve(a,c);}}}function E(t){let r=[],n=[];return {...{get calls(){return r},get pending(){return n},resolve(l){let d=n.shift();d&&d.resolve(l);},reject(l){let d=n.shift();d&&d.reject(l);},resolveAll(l){for(;n.length>0;)this.resolve(l);},rejectAll(l){for(;n.length>0;)this.reject(l);},reset(){r.length=0,n.length=0;}},handler:(l,d)=>(r.push(l),new Promise((h,g)=>{n.push({requirement:l,resolve:v=>h(v),reject:g});}))}}function C(t){return "module"in t?x(t):M(t)}function x(t){let r=[],n=new Map,a$1=[],c=[],l={};if(t.mocks?.resolvers)for(let[o,e]of Object.entries(t.mocks.resolvers)){let s=[];n.set(o,s),l[o]=k({...e,calls:s});}let d={...t.module,resolvers:{...t.module.resolvers,...l}},g=a({...t,module:d,plugins:[{name:"__test-tracking__",onFactSet:(o,e,s)=>{c.push({key:o,fullKey:o,namespace:void 0,previousValue:s,newValue:e,timestamp:Date.now()});},onRequirementCreated:o=>{a$1.push(o);}},...t.plugins??[]]}),v=g.dispatch.bind(g);return g.dispatch=o=>{r.push(o),v(o);},{...g,eventHistory:r,resolverCalls:n,get allRequirements(){return a$1},getFactsHistory(){return [...c]},resetFactsHistory(){c.length=0;},async waitForIdle(o=5e3){let e=Date.now(),s=async()=>{await new Promise(m=>setTimeout(m,0));let i=g.inspect();if(i.inflight.length>0){if(Date.now()-e>o){let m=i.inflight.map(u=>u.id).join(", ");throw new Error(`[Directive] waitForIdle timed out after ${o}ms. ${i.inflight.length} resolvers still inflight: ${m}`)}return await new Promise(m=>setTimeout(m,10)),s()}};return s()},assertRequirement(o){if(!a$1.some(s=>s.requirement.type===o))throw new Error(`[Directive] Expected requirement of type "${o}" but none found`)},assertResolverCalled(o,e){let s=n.get(o)??[];if(e!==void 0){if(s.length!==e)throw new Error(`[Directive] Expected resolver "${o}" to be called ${e} times but was called ${s.length} times`)}else if(s.length===0)throw new Error(`[Directive] Expected resolver "${o}" to be called but it was not`)},assertFactSet(o,e){let s=c.filter(i=>i.key===o);if(s.length===0)throw new Error(`[Directive] Expected fact "${o}" to be set but it was not`);if(e!==void 0&&!s.some(m=>m.newValue===e)){let m=s.map(u=>JSON.stringify(u.newValue)).join(", ");throw new Error(`[Directive] Expected fact "${o}" to be set to ${JSON.stringify(e)} but got: ${m}`)}},assertFactChanges(o,e){let s=c.filter(i=>i.key===o);if(s.length!==e)throw new Error(`[Directive] Expected fact "${o}" to change ${e} times but it changed ${s.length} times`)}}}function M(t){let r=[],n=new Map,a$1=[],c=[],l={};if(t.mocks?.resolvers)for(let[e,s]of Object.entries(t.mocks.resolvers)){let i=[];n.set(e,i),l[e]=k({...s,calls:i});}let d={};for(let[e,s]of Object.entries(t.modules))d[e]={...s,resolvers:{...s.resolvers,...l}};let h=new Set(Object.keys(t.modules)),v=a({...t,modules:d,plugins:[{name:"__test-tracking__",onFactSet:(e,s,i)=>{let u=e.indexOf("::"),f,p;if(u>0){let R=e.substring(0,u);h.has(R)?(f=R,p=e.substring(u+2)):p=e;}else p=e;c.push({key:p,fullKey:e,namespace:f,previousValue:i,newValue:s,timestamp:Date.now()});},onRequirementCreated:e=>{a$1.push(e);}},...t.plugins??[]]}),y=v.dispatch.bind(v);return v.dispatch=e=>{r.push(e),y(e);},{...v,eventHistory:r,resolverCalls:n,get allRequirements(){return a$1},getFactsHistory(){return [...c]},resetFactsHistory(){c.length=0;},async waitForIdle(e=5e3){let s=Date.now(),i=async()=>{await new Promise(u=>setTimeout(u,0));let m=v.inspect();if(m.inflight.length>0){if(Date.now()-s>e){let u=m.inflight.map(f=>f.id).join(", ");throw new Error(`[Directive] waitForIdle timed out after ${e}ms. ${m.inflight.length} resolvers still inflight: ${u}`)}return await new Promise(u=>setTimeout(u,10)),i()}};return i()},assertRequirement(e){if(!a$1.some(i=>i.requirement.type===e))throw new Error(`[Directive] Expected requirement of type "${e}" but none found`)},assertResolverCalled(e,s){let i=n.get(e)??[];if(s!==void 0){if(i.length!==s)throw new Error(`[Directive] Expected resolver "${e}" to be called ${s} times but was called ${i.length} times`)}else if(i.length===0)throw new Error(`[Directive] Expected resolver "${e}" to be called but it was not`)},assertFactSet(e,s){let i=c.filter(m=>m.key===e);if(i.length===0)throw new Error(`[Directive] Expected fact "${e}" to be set but it was not`);if(s!==void 0&&!i.some(u=>u.newValue===s)){let u=i.map(f=>JSON.stringify(f.newValue)).join(", ");throw new Error(`[Directive] Expected fact "${e}" to be set to ${JSON.stringify(s)} but got: ${u}`)}},assertFactChanges(e,s){let i=c.filter(m=>m.key===e);if(i.length!==s)throw new Error(`[Directive] Expected fact "${e}" to change ${s} times but it changed ${i.length} times`)}}}function $(t,r,n){if(!b(t,r,n))throw new Error(`[Directive] Expected ${r} "${n}" to be dynamic, but it is not.`)}function P(t,r,n){if(b(t,r,n))throw new Error(`[Directive] Expected ${r} "${n}" to NOT be dynamic, but it is.`)}function b(t,r,n){switch(r){case "constraint":return t.constraints.isDynamic(n);case "resolver":return t.resolvers.isDynamic(n);case "derivation":return t.derive.isDynamic(n);case "effect":return t.effects.isDynamic(n)}}export{$ as assertDynamic,P as assertNotDynamic,T as createFakeTimers,k as createMockResolver,C as createTestSystem,S as flushMicrotasks,E as mockResolver,D as settleWithFakeTimers};//# sourceMappingURL=testing.js.map
1
+ import {a}from'./chunk-7DJCOAZH.js';import'./chunk-JVDQ2CBC.js';import'./chunk-O75OISQ2.js';import'./chunk-GO63IIN5.js';async function S(){for(let t=0;t<10;t++)await Promise.resolve();}async function D(t,r,n={}){let{totalTime:a=5e3,stepSize:c=10,maxIterations:l=1e3}=n,d=0,h=0;for(;d<a&&h<l;){if(await S(),t.inspect().inflight.length===0){await S();return}r(c),d+=c,h++;}let g=t.inspect();if(g.inflight.length>0){let v=g.inflight.map(y=>y.resolverId).join(", ");throw new Error(`[Directive] settleWithFakeTimers did not settle after ${a}ms. ${g.inflight.length} resolvers still inflight: ${v}`)}}function T(){let t=0,r=[];return {async advance(n){let a=t+n;for(;r.length>0&&r[0].time<=a;){let c=r.shift();t=c.time,c.callback(),await Promise.resolve();}t=a;},async next(){if(r.length===0)return;let n=r.shift();t=n.time,n.callback(),await Promise.resolve();},async runAll(){for(;r.length>0;)await this.next();},now(){return t},reset(){t=0,r.length=0;}}}function k(t){let r=typeof t=="string"?{requirement:(a=>a.type===t)}:t,n=r.calls??[];return {requirement:r.requirement??(a=>true),async resolve(a,c){if(n.push(a),r.delay&&await new Promise(l=>setTimeout(l,r.delay)),r.error)throw typeof r.error=="string"?new Error(r.error):r.error;r.resolve&&await r.resolve(a,c);}}}function E(t){let r=[],n=[];return {...{get calls(){return r},get pending(){return n},resolve(l){let d=n.shift();d&&d.resolve(l);},reject(l){let d=n.shift();d&&d.reject(l);},resolveAll(l){for(;n.length>0;)this.resolve(l);},rejectAll(l){for(;n.length>0;)this.reject(l);},reset(){r.length=0,n.length=0;}},handler:(l,d)=>(r.push(l),new Promise((h,g)=>{n.push({requirement:l,resolve:v=>h(v),reject:g});}))}}function C(t){return "module"in t?x(t):M(t)}function x(t){let r=[],n=new Map,a$1=[],c=[],l={};if(t.mocks?.resolvers)for(let[o,e]of Object.entries(t.mocks.resolvers)){let s=[];n.set(o,s),l[o]=k({...e,calls:s});}let d={...t.module,resolvers:{...t.module.resolvers,...l}},g=a({...t,module:d,plugins:[{name:"__test-tracking__",onFactSet:(o,e,s)=>{c.push({key:o,fullKey:o,namespace:void 0,previousValue:s,newValue:e,timestamp:Date.now()});},onRequirementCreated:o=>{a$1.push(o);}},...t.plugins??[]]}),v=g.dispatch.bind(g);return g.dispatch=o=>{r.push(o),v(o);},{...g,eventHistory:r,resolverCalls:n,get allRequirements(){return a$1},getFactsHistory(){return [...c]},resetFactsHistory(){c.length=0;},async waitForIdle(o=5e3){let e=Date.now(),s=async()=>{await new Promise(m=>setTimeout(m,0));let i=g.inspect();if(i.inflight.length>0){if(Date.now()-e>o){let m=i.inflight.map(u=>u.id).join(", ");throw new Error(`[Directive] waitForIdle timed out after ${o}ms. ${i.inflight.length} resolvers still inflight: ${m}`)}return await new Promise(m=>setTimeout(m,10)),s()}};return s()},assertRequirement(o){if(!a$1.some(s=>s.requirement.type===o))throw new Error(`[Directive] Expected requirement of type "${o}" but none found`)},assertResolverCalled(o,e){let s=n.get(o)??[];if(e!==void 0){if(s.length!==e)throw new Error(`[Directive] Expected resolver "${o}" to be called ${e} times but was called ${s.length} times`)}else if(s.length===0)throw new Error(`[Directive] Expected resolver "${o}" to be called but it was not`)},assertFactSet(o,e){let s=c.filter(i=>i.key===o);if(s.length===0)throw new Error(`[Directive] Expected fact "${o}" to be set but it was not`);if(e!==void 0&&!s.some(m=>m.newValue===e)){let m=s.map(u=>JSON.stringify(u.newValue)).join(", ");throw new Error(`[Directive] Expected fact "${o}" to be set to ${JSON.stringify(e)} but got: ${m}`)}},assertFactChanges(o,e){let s=c.filter(i=>i.key===o);if(s.length!==e)throw new Error(`[Directive] Expected fact "${o}" to change ${e} times but it changed ${s.length} times`)}}}function M(t){let r=[],n=new Map,a$1=[],c=[],l={};if(t.mocks?.resolvers)for(let[e,s]of Object.entries(t.mocks.resolvers)){let i=[];n.set(e,i),l[e]=k({...s,calls:i});}let d={};for(let[e,s]of Object.entries(t.modules))d[e]={...s,resolvers:{...s.resolvers,...l}};let h=new Set(Object.keys(t.modules)),v=a({...t,modules:d,plugins:[{name:"__test-tracking__",onFactSet:(e,s,i)=>{let u=e.indexOf("::"),f,p;if(u>0){let R=e.substring(0,u);h.has(R)?(f=R,p=e.substring(u+2)):p=e;}else p=e;c.push({key:p,fullKey:e,namespace:f,previousValue:i,newValue:s,timestamp:Date.now()});},onRequirementCreated:e=>{a$1.push(e);}},...t.plugins??[]]}),y=v.dispatch.bind(v);return v.dispatch=e=>{r.push(e),y(e);},{...v,eventHistory:r,resolverCalls:n,get allRequirements(){return a$1},getFactsHistory(){return [...c]},resetFactsHistory(){c.length=0;},async waitForIdle(e=5e3){let s=Date.now(),i=async()=>{await new Promise(u=>setTimeout(u,0));let m=v.inspect();if(m.inflight.length>0){if(Date.now()-s>e){let u=m.inflight.map(f=>f.id).join(", ");throw new Error(`[Directive] waitForIdle timed out after ${e}ms. ${m.inflight.length} resolvers still inflight: ${u}`)}return await new Promise(u=>setTimeout(u,10)),i()}};return i()},assertRequirement(e){if(!a$1.some(i=>i.requirement.type===e))throw new Error(`[Directive] Expected requirement of type "${e}" but none found`)},assertResolverCalled(e,s){let i=n.get(e)??[];if(s!==void 0){if(i.length!==s)throw new Error(`[Directive] Expected resolver "${e}" to be called ${s} times but was called ${i.length} times`)}else if(i.length===0)throw new Error(`[Directive] Expected resolver "${e}" to be called but it was not`)},assertFactSet(e,s){let i=c.filter(m=>m.key===e);if(i.length===0)throw new Error(`[Directive] Expected fact "${e}" to be set but it was not`);if(s!==void 0&&!i.some(u=>u.newValue===s)){let u=i.map(f=>JSON.stringify(f.newValue)).join(", ");throw new Error(`[Directive] Expected fact "${e}" to be set to ${JSON.stringify(s)} but got: ${u}`)}},assertFactChanges(e,s){let i=c.filter(m=>m.key===e);if(i.length!==s)throw new Error(`[Directive] Expected fact "${e}" to change ${s} times but it changed ${i.length} times`)}}}function $(t,r,n){if(!b(t,r,n))throw new Error(`[Directive] Expected ${r} "${n}" to be dynamic, but it is not.`)}function P(t,r,n){if(b(t,r,n))throw new Error(`[Directive] Expected ${r} "${n}" to NOT be dynamic, but it is.`)}function b(t,r,n){switch(r){case "constraint":return t.constraints.isDynamic(n);case "resolver":return t.resolvers.isDynamic(n);case "derivation":return t.derive.isDynamic(n);case "effect":return t.effects.isDynamic(n)}}export{$ as assertDynamic,P as assertNotDynamic,T as createFakeTimers,k as createMockResolver,C as createTestSystem,S as flushMicrotasks,E as mockResolver,D as settleWithFakeTimers};//# sourceMappingURL=testing.js.map
2
2
  //# sourceMappingURL=testing.js.map
package/dist/worker.cjs CHANGED
@@ -1,2 +1,2 @@
1
- 'use strict';function _(o){let{worker:c,onFactChange:l,onDerivationChange:y,onRequirementCreated:E,onRequirementMet:a,onError:r}=o,s=new Map,u=0,t=null,i=null,d=null,T=null;function g(e){return e?.(),null}function R(e,n){let S=s.get(e);S&&(S.resolve(n),s.delete(e));}function M(){t=g(t);}function m(){i=g(i);}function I(){d=g(d);}function b(){T=g(T);}function h(e){l?.(e.key,e.value,e.prev);}function O(e){y?.(e.key,e.value);}function W(e){E?.(e.requirement);}function C(e){a?.(e.requirementId,e.resolverId);}function P(e){r?.(e.error,e.source);}function D(e){R(e.requestId,e.snapshot);}function w(e){R(e.requestId,e.inspection);}function q(e){let n=s.get(e.requestId);n&&(e.success?n.resolve(void 0):n.reject(new Error(e.error||"Settle failed")),s.delete(e.requestId));}c.onmessage=e=>{let n=e.data;switch(n.type){case "READY":return M();case "STARTED":return m();case "STOPPED":return I();case "DESTROYED":return b();case "FACT_CHANGED":return h(n);case "DERIVATION_CHANGED":return O(n);case "REQUIREMENT_CREATED":return W(n);case "REQUIREMENT_MET":return C(n);case "ERROR":return P(n);case "SNAPSHOT_RESULT":return D(n);case "INSPECT_RESULT":return w(n);case "SETTLE_RESULT":return q(n)}},c.onerror=e=>{r?.(e.message,"worker");};function p(e){c.postMessage(e);}function k(e){return new Promise((n,S)=>{s.set(e.requestId,{resolve:n,reject:S}),p(e);})}return {init(e){return new Promise(n=>{t=n,p({type:"INIT",config:e});})},start(){return new Promise(e=>{i=e,p({type:"START"});})},stop(){return new Promise(e=>{d=e,p({type:"STOP"});})},destroy(){return new Promise(e=>{T=e,p({type:"DESTROY"});})},setFact(e,n){p({type:"SET_FACT",key:e,value:n});},setFacts(e){p({type:"SET_FACTS",facts:e});},dispatch(e){p({type:"DISPATCH",event:e});},getSnapshot(e){let n=`snapshot-${++u}`;return k({type:"GET_SNAPSHOT",options:e,requestId:n})},inspect(){let e=`inspect-${++u}`;return k({type:"INSPECT",requestId:e})},settle(e){let n=`settle-${++u}`;return k({type:"SETTLE",timeout:e,requestId:n})},terminate(){c.terminate();}}}var v=null;function f(){return v||(v=new Map),v}function N(o,c){f().set(o,c);}function x(){let o=null;async function c(t){let i=await A(t.config);return postMessage({type:"READY"}),i}function l(t){t.start(),postMessage({type:"STARTED"});}function y(t){t.stop(),postMessage({type:"STOPPED"});}function E(t){t.destroy(),postMessage({type:"DESTROYED"});}function a(t,i){let d=t.getSnapshot(i.options);postMessage({type:"SNAPSHOT_RESULT",requestId:i.requestId,snapshot:d});}function r(t,i){let d=t.inspect();postMessage({type:"INSPECT_RESULT",requestId:i.requestId,inspection:d});}async function s(t,i){try{await t.settle(i.timeout),postMessage({type:"SETTLE_RESULT",requestId:i.requestId,success:!0});}catch(d){postMessage({type:"SETTLE_RESULT",requestId:i.requestId,success:false,error:d instanceof Error?d.message:String(d)});}}async function u(t){if(t.type==="INIT"){o=await c(t);return}if(o)switch(t.type){case "START":l(o);break;case "STOP":y(o);break;case "DESTROY":E(o),o=null;break;case "SET_FACT":o.setFact(t.key,t.value);break;case "SET_FACTS":o.setFacts(t.facts);break;case "DISPATCH":o.dispatch(t.event);break;case "GET_SNAPSHOT":a(o,t);break;case "INSPECT":r(o,t);break;case "SETTLE":await s(o,t);break}}self.onmessage=async t=>{try{await u(t.data);}catch(i){postMessage({type:"ERROR",error:i instanceof Error?i.message:String(i),source:t.data.type});}};}async function A(o){let{createSystem:c}=await import('./system-L45Z2N4U.cjs'),l=f(),y={};for(let r of o.moduleNames){let s=l.get(r);if(!s)throw new Error(`[Directive Worker] Module "${r}" not registered. Call registerWorkerModule('${r}', module) before handling messages.`);y[r]=s;}let a=c({modules:y,plugins:[{name:"__worker-tracking__",onFactSet:(r,s,u)=>{postMessage({type:"FACT_CHANGED",key:r,value:s,prev:u});},onDerivationCompute:(r,s)=>{postMessage({type:"DERIVATION_CHANGED",key:r,value:s});},onRequirementCreated:r=>{postMessage({type:"REQUIREMENT_CREATED",requirement:{...r.requirement,id:r.id}});},onRequirementMet:(r,s)=>{postMessage({type:"REQUIREMENT_MET",requirementId:r.id,resolverId:s});}}],history:o.history});return {start:()=>a.start(),stop:()=>a.stop(),destroy:()=>a.destroy(),setFact:(r,s)=>{a.facts[r]=s;},setFacts:r=>{let s=a.facts;if(s.$store?.batch)s.$store.batch(()=>{for(let[u,t]of Object.entries(r))s[u]=t;});else for(let[u,t]of Object.entries(r))s[u]=t;},dispatch:r=>{a.dispatch(r);},getSnapshot:r=>a.getDistributableSnapshot(r),inspect:()=>a.inspect(),settle:r=>a.settle(r)}}exports.createWorkerClient=_;exports.getWorkerModuleRegistry=f;exports.handleWorkerMessages=x;exports.registerWorkerModule=N;//# sourceMappingURL=worker.cjs.map
1
+ 'use strict';function _(o){let{worker:c,onFactChange:l,onDerivationChange:y,onRequirementCreated:E,onRequirementMet:a,onError:r}=o,s=new Map,u=0,t=null,i=null,d=null,T=null;function g(e){return e?.(),null}function R(e,n){let S=s.get(e);S&&(S.resolve(n),s.delete(e));}function M(){t=g(t);}function m(){i=g(i);}function I(){d=g(d);}function b(){T=g(T);}function h(e){l?.(e.key,e.value,e.prev);}function O(e){y?.(e.key,e.value);}function W(e){E?.(e.requirement);}function C(e){a?.(e.requirementId,e.resolverId);}function P(e){r?.(e.error,e.source);}function D(e){R(e.requestId,e.snapshot);}function w(e){R(e.requestId,e.inspection);}function q(e){let n=s.get(e.requestId);n&&(e.success?n.resolve(void 0):n.reject(new Error(e.error||"Settle failed")),s.delete(e.requestId));}c.onmessage=e=>{let n=e.data;switch(n.type){case "READY":return M();case "STARTED":return m();case "STOPPED":return I();case "DESTROYED":return b();case "FACT_CHANGED":return h(n);case "DERIVATION_CHANGED":return O(n);case "REQUIREMENT_CREATED":return W(n);case "REQUIREMENT_MET":return C(n);case "ERROR":return P(n);case "SNAPSHOT_RESULT":return D(n);case "INSPECT_RESULT":return w(n);case "SETTLE_RESULT":return q(n)}},c.onerror=e=>{r?.(e.message,"worker");};function p(e){c.postMessage(e);}function k(e){return new Promise((n,S)=>{s.set(e.requestId,{resolve:n,reject:S}),p(e);})}return {init(e){return new Promise(n=>{t=n,p({type:"INIT",config:e});})},start(){return new Promise(e=>{i=e,p({type:"START"});})},stop(){return new Promise(e=>{d=e,p({type:"STOP"});})},destroy(){return new Promise(e=>{T=e,p({type:"DESTROY"});})},setFact(e,n){p({type:"SET_FACT",key:e,value:n});},setFacts(e){p({type:"SET_FACTS",facts:e});},dispatch(e){p({type:"DISPATCH",event:e});},getSnapshot(e){let n=`snapshot-${++u}`;return k({type:"GET_SNAPSHOT",options:e,requestId:n})},inspect(){let e=`inspect-${++u}`;return k({type:"INSPECT",requestId:e})},settle(e){let n=`settle-${++u}`;return k({type:"SETTLE",timeout:e,requestId:n})},terminate(){c.terminate();}}}var v=null;function f(){return v||(v=new Map),v}function N(o,c){f().set(o,c);}function x(){let o=null;async function c(t){let i=await A(t.config);return postMessage({type:"READY"}),i}function l(t){t.start(),postMessage({type:"STARTED"});}function y(t){t.stop(),postMessage({type:"STOPPED"});}function E(t){t.destroy(),postMessage({type:"DESTROYED"});}function a(t,i){let d=t.getSnapshot(i.options);postMessage({type:"SNAPSHOT_RESULT",requestId:i.requestId,snapshot:d});}function r(t,i){let d=t.inspect();postMessage({type:"INSPECT_RESULT",requestId:i.requestId,inspection:d});}async function s(t,i){try{await t.settle(i.timeout),postMessage({type:"SETTLE_RESULT",requestId:i.requestId,success:!0});}catch(d){postMessage({type:"SETTLE_RESULT",requestId:i.requestId,success:false,error:d instanceof Error?d.message:String(d)});}}async function u(t){if(t.type==="INIT"){o=await c(t);return}if(o)switch(t.type){case "START":l(o);break;case "STOP":y(o);break;case "DESTROY":E(o),o=null;break;case "SET_FACT":o.setFact(t.key,t.value);break;case "SET_FACTS":o.setFacts(t.facts);break;case "DISPATCH":o.dispatch(t.event);break;case "GET_SNAPSHOT":a(o,t);break;case "INSPECT":r(o,t);break;case "SETTLE":await s(o,t);break}}self.onmessage=async t=>{try{await u(t.data);}catch(i){postMessage({type:"ERROR",error:i instanceof Error?i.message:String(i),source:t.data.type});}};}async function A(o){let{createSystem:c}=await import('./system-VBZ3OJEO.cjs'),l=f(),y={};for(let r of o.moduleNames){let s=l.get(r);if(!s)throw new Error(`[Directive Worker] Module "${r}" not registered. Call registerWorkerModule('${r}', module) before handling messages.`);y[r]=s;}let a=c({modules:y,plugins:[{name:"__worker-tracking__",onFactSet:(r,s,u)=>{postMessage({type:"FACT_CHANGED",key:r,value:s,prev:u});},onDerivationCompute:(r,s)=>{postMessage({type:"DERIVATION_CHANGED",key:r,value:s});},onRequirementCreated:r=>{postMessage({type:"REQUIREMENT_CREATED",requirement:{...r.requirement,id:r.id}});},onRequirementMet:(r,s)=>{postMessage({type:"REQUIREMENT_MET",requirementId:r.id,resolverId:s});}}],history:o.history});return {start:()=>a.start(),stop:()=>a.stop(),destroy:()=>a.destroy(),setFact:(r,s)=>{a.facts[r]=s;},setFacts:r=>{let s=a.facts;if(s.$store?.batch)s.$store.batch(()=>{for(let[u,t]of Object.entries(r))s[u]=t;});else for(let[u,t]of Object.entries(r))s[u]=t;},dispatch:r=>{a.dispatch(r);},getSnapshot:r=>a.getDistributableSnapshot(r),inspect:()=>a.inspect(),settle:r=>a.settle(r)}}exports.createWorkerClient=_;exports.getWorkerModuleRegistry=f;exports.handleWorkerMessages=x;exports.registerWorkerModule=N;//# sourceMappingURL=worker.cjs.map
2
2
  //# sourceMappingURL=worker.cjs.map
package/dist/worker.js CHANGED
@@ -1,2 +1,2 @@
1
- function _(o){let{worker:c,onFactChange:l,onDerivationChange:y,onRequirementCreated:E,onRequirementMet:a,onError:r}=o,s=new Map,u=0,t=null,i=null,d=null,T=null;function g(e){return e?.(),null}function R(e,n){let S=s.get(e);S&&(S.resolve(n),s.delete(e));}function M(){t=g(t);}function m(){i=g(i);}function I(){d=g(d);}function b(){T=g(T);}function h(e){l?.(e.key,e.value,e.prev);}function O(e){y?.(e.key,e.value);}function W(e){E?.(e.requirement);}function C(e){a?.(e.requirementId,e.resolverId);}function P(e){r?.(e.error,e.source);}function D(e){R(e.requestId,e.snapshot);}function w(e){R(e.requestId,e.inspection);}function q(e){let n=s.get(e.requestId);n&&(e.success?n.resolve(void 0):n.reject(new Error(e.error||"Settle failed")),s.delete(e.requestId));}c.onmessage=e=>{let n=e.data;switch(n.type){case "READY":return M();case "STARTED":return m();case "STOPPED":return I();case "DESTROYED":return b();case "FACT_CHANGED":return h(n);case "DERIVATION_CHANGED":return O(n);case "REQUIREMENT_CREATED":return W(n);case "REQUIREMENT_MET":return C(n);case "ERROR":return P(n);case "SNAPSHOT_RESULT":return D(n);case "INSPECT_RESULT":return w(n);case "SETTLE_RESULT":return q(n)}},c.onerror=e=>{r?.(e.message,"worker");};function p(e){c.postMessage(e);}function k(e){return new Promise((n,S)=>{s.set(e.requestId,{resolve:n,reject:S}),p(e);})}return {init(e){return new Promise(n=>{t=n,p({type:"INIT",config:e});})},start(){return new Promise(e=>{i=e,p({type:"START"});})},stop(){return new Promise(e=>{d=e,p({type:"STOP"});})},destroy(){return new Promise(e=>{T=e,p({type:"DESTROY"});})},setFact(e,n){p({type:"SET_FACT",key:e,value:n});},setFacts(e){p({type:"SET_FACTS",facts:e});},dispatch(e){p({type:"DISPATCH",event:e});},getSnapshot(e){let n=`snapshot-${++u}`;return k({type:"GET_SNAPSHOT",options:e,requestId:n})},inspect(){let e=`inspect-${++u}`;return k({type:"INSPECT",requestId:e})},settle(e){let n=`settle-${++u}`;return k({type:"SETTLE",timeout:e,requestId:n})},terminate(){c.terminate();}}}var v=null;function f(){return v||(v=new Map),v}function N(o,c){f().set(o,c);}function x(){let o=null;async function c(t){let i=await A(t.config);return postMessage({type:"READY"}),i}function l(t){t.start(),postMessage({type:"STARTED"});}function y(t){t.stop(),postMessage({type:"STOPPED"});}function E(t){t.destroy(),postMessage({type:"DESTROYED"});}function a(t,i){let d=t.getSnapshot(i.options);postMessage({type:"SNAPSHOT_RESULT",requestId:i.requestId,snapshot:d});}function r(t,i){let d=t.inspect();postMessage({type:"INSPECT_RESULT",requestId:i.requestId,inspection:d});}async function s(t,i){try{await t.settle(i.timeout),postMessage({type:"SETTLE_RESULT",requestId:i.requestId,success:!0});}catch(d){postMessage({type:"SETTLE_RESULT",requestId:i.requestId,success:false,error:d instanceof Error?d.message:String(d)});}}async function u(t){if(t.type==="INIT"){o=await c(t);return}if(o)switch(t.type){case "START":l(o);break;case "STOP":y(o);break;case "DESTROY":E(o),o=null;break;case "SET_FACT":o.setFact(t.key,t.value);break;case "SET_FACTS":o.setFacts(t.facts);break;case "DISPATCH":o.dispatch(t.event);break;case "GET_SNAPSHOT":a(o,t);break;case "INSPECT":r(o,t);break;case "SETTLE":await s(o,t);break}}self.onmessage=async t=>{try{await u(t.data);}catch(i){postMessage({type:"ERROR",error:i instanceof Error?i.message:String(i),source:t.data.type});}};}async function A(o){let{createSystem:c}=await import('./system-L2FVVUSN.js'),l=f(),y={};for(let r of o.moduleNames){let s=l.get(r);if(!s)throw new Error(`[Directive Worker] Module "${r}" not registered. Call registerWorkerModule('${r}', module) before handling messages.`);y[r]=s;}let a=c({modules:y,plugins:[{name:"__worker-tracking__",onFactSet:(r,s,u)=>{postMessage({type:"FACT_CHANGED",key:r,value:s,prev:u});},onDerivationCompute:(r,s)=>{postMessage({type:"DERIVATION_CHANGED",key:r,value:s});},onRequirementCreated:r=>{postMessage({type:"REQUIREMENT_CREATED",requirement:{...r.requirement,id:r.id}});},onRequirementMet:(r,s)=>{postMessage({type:"REQUIREMENT_MET",requirementId:r.id,resolverId:s});}}],history:o.history});return {start:()=>a.start(),stop:()=>a.stop(),destroy:()=>a.destroy(),setFact:(r,s)=>{a.facts[r]=s;},setFacts:r=>{let s=a.facts;if(s.$store?.batch)s.$store.batch(()=>{for(let[u,t]of Object.entries(r))s[u]=t;});else for(let[u,t]of Object.entries(r))s[u]=t;},dispatch:r=>{a.dispatch(r);},getSnapshot:r=>a.getDistributableSnapshot(r),inspect:()=>a.inspect(),settle:r=>a.settle(r)}}export{_ as createWorkerClient,f as getWorkerModuleRegistry,x as handleWorkerMessages,N as registerWorkerModule};//# sourceMappingURL=worker.js.map
1
+ function _(o){let{worker:c,onFactChange:l,onDerivationChange:y,onRequirementCreated:E,onRequirementMet:a,onError:r}=o,s=new Map,u=0,t=null,i=null,d=null,T=null;function g(e){return e?.(),null}function R(e,n){let S=s.get(e);S&&(S.resolve(n),s.delete(e));}function M(){t=g(t);}function m(){i=g(i);}function I(){d=g(d);}function b(){T=g(T);}function h(e){l?.(e.key,e.value,e.prev);}function O(e){y?.(e.key,e.value);}function W(e){E?.(e.requirement);}function C(e){a?.(e.requirementId,e.resolverId);}function P(e){r?.(e.error,e.source);}function D(e){R(e.requestId,e.snapshot);}function w(e){R(e.requestId,e.inspection);}function q(e){let n=s.get(e.requestId);n&&(e.success?n.resolve(void 0):n.reject(new Error(e.error||"Settle failed")),s.delete(e.requestId));}c.onmessage=e=>{let n=e.data;switch(n.type){case "READY":return M();case "STARTED":return m();case "STOPPED":return I();case "DESTROYED":return b();case "FACT_CHANGED":return h(n);case "DERIVATION_CHANGED":return O(n);case "REQUIREMENT_CREATED":return W(n);case "REQUIREMENT_MET":return C(n);case "ERROR":return P(n);case "SNAPSHOT_RESULT":return D(n);case "INSPECT_RESULT":return w(n);case "SETTLE_RESULT":return q(n)}},c.onerror=e=>{r?.(e.message,"worker");};function p(e){c.postMessage(e);}function k(e){return new Promise((n,S)=>{s.set(e.requestId,{resolve:n,reject:S}),p(e);})}return {init(e){return new Promise(n=>{t=n,p({type:"INIT",config:e});})},start(){return new Promise(e=>{i=e,p({type:"START"});})},stop(){return new Promise(e=>{d=e,p({type:"STOP"});})},destroy(){return new Promise(e=>{T=e,p({type:"DESTROY"});})},setFact(e,n){p({type:"SET_FACT",key:e,value:n});},setFacts(e){p({type:"SET_FACTS",facts:e});},dispatch(e){p({type:"DISPATCH",event:e});},getSnapshot(e){let n=`snapshot-${++u}`;return k({type:"GET_SNAPSHOT",options:e,requestId:n})},inspect(){let e=`inspect-${++u}`;return k({type:"INSPECT",requestId:e})},settle(e){let n=`settle-${++u}`;return k({type:"SETTLE",timeout:e,requestId:n})},terminate(){c.terminate();}}}var v=null;function f(){return v||(v=new Map),v}function N(o,c){f().set(o,c);}function x(){let o=null;async function c(t){let i=await A(t.config);return postMessage({type:"READY"}),i}function l(t){t.start(),postMessage({type:"STARTED"});}function y(t){t.stop(),postMessage({type:"STOPPED"});}function E(t){t.destroy(),postMessage({type:"DESTROYED"});}function a(t,i){let d=t.getSnapshot(i.options);postMessage({type:"SNAPSHOT_RESULT",requestId:i.requestId,snapshot:d});}function r(t,i){let d=t.inspect();postMessage({type:"INSPECT_RESULT",requestId:i.requestId,inspection:d});}async function s(t,i){try{await t.settle(i.timeout),postMessage({type:"SETTLE_RESULT",requestId:i.requestId,success:!0});}catch(d){postMessage({type:"SETTLE_RESULT",requestId:i.requestId,success:false,error:d instanceof Error?d.message:String(d)});}}async function u(t){if(t.type==="INIT"){o=await c(t);return}if(o)switch(t.type){case "START":l(o);break;case "STOP":y(o);break;case "DESTROY":E(o),o=null;break;case "SET_FACT":o.setFact(t.key,t.value);break;case "SET_FACTS":o.setFacts(t.facts);break;case "DISPATCH":o.dispatch(t.event);break;case "GET_SNAPSHOT":a(o,t);break;case "INSPECT":r(o,t);break;case "SETTLE":await s(o,t);break}}self.onmessage=async t=>{try{await u(t.data);}catch(i){postMessage({type:"ERROR",error:i instanceof Error?i.message:String(i),source:t.data.type});}};}async function A(o){let{createSystem:c}=await import('./system-CIWPXJOP.js'),l=f(),y={};for(let r of o.moduleNames){let s=l.get(r);if(!s)throw new Error(`[Directive Worker] Module "${r}" not registered. Call registerWorkerModule('${r}', module) before handling messages.`);y[r]=s;}let a=c({modules:y,plugins:[{name:"__worker-tracking__",onFactSet:(r,s,u)=>{postMessage({type:"FACT_CHANGED",key:r,value:s,prev:u});},onDerivationCompute:(r,s)=>{postMessage({type:"DERIVATION_CHANGED",key:r,value:s});},onRequirementCreated:r=>{postMessage({type:"REQUIREMENT_CREATED",requirement:{...r.requirement,id:r.id}});},onRequirementMet:(r,s)=>{postMessage({type:"REQUIREMENT_MET",requirementId:r.id,resolverId:s});}}],history:o.history});return {start:()=>a.start(),stop:()=>a.stop(),destroy:()=>a.destroy(),setFact:(r,s)=>{a.facts[r]=s;},setFacts:r=>{let s=a.facts;if(s.$store?.batch)s.$store.batch(()=>{for(let[u,t]of Object.entries(r))s[u]=t;});else for(let[u,t]of Object.entries(r))s[u]=t;},dispatch:r=>{a.dispatch(r);},getSnapshot:r=>a.getDistributableSnapshot(r),inspect:()=>a.inspect(),settle:r=>a.settle(r)}}export{_ as createWorkerClient,f as getWorkerModuleRegistry,x as handleWorkerMessages,N as registerWorkerModule};//# sourceMappingURL=worker.js.map
2
2
  //# sourceMappingURL=worker.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@directive-run/core",
3
- "version": "0.8.5",
3
+ "version": "0.8.6",
4
4
  "description": "Constraint-driven runtime for TypeScript. AI guardrails, reactive state, zero dependencies. Declare what must be true — the runtime makes it happen.",
5
5
  "license": "(MIT OR Apache-2.0)",
6
6
  "author": "Jason Comes",