@makaio/framework 1.0.0-dev-1782480236258 → 1.0.0-dev-1783282710723
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/.makaio-build.json +2 -2
- package/dist/bus/index.d.mts +39 -1
- package/dist/bus/index.mjs +1 -1
- package/dist/bus-D-ioC0DE.mjs +1 -0
- package/dist/bus-rgUFuO2a.mjs +2 -0
- package/dist/contracts/adapter/index.d.mts +2 -2
- package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
- package/dist/contracts/artifact/index.d.mts +1 -1
- package/dist/contracts/client/index.d.mts +1 -1
- package/dist/contracts/config/index.d.mts +6 -6
- package/dist/contracts/extension/index.d.mts +3 -3
- package/dist/contracts/harness/index.d.mts +1 -1
- package/dist/contracts/index.d.mts +24 -24
- package/dist/contracts/materialization/index.d.mts +3 -3
- package/dist/contracts/provider/index.d.mts +1 -1
- package/dist/contracts/session/index.d.mts +2 -2
- package/dist/contracts/shared/index.d.mts +1 -1
- package/dist/contracts/workflow/index.d.mts +2 -2
- package/dist/{definition-DePb3ke-.d.mts → definition-DFcxkf2i.d.mts} +1 -1
- package/dist/{index-B1XsbrAr.d.mts → index-2fK9iSHI.d.mts} +3 -3
- package/dist/{index-Clqt7Nm3.d.mts → index-9b2_jXxq.d.mts} +2 -2
- package/dist/{index-D4gn93gL.d.mts → index-Bh6lHiW4.d.mts} +16 -16
- package/dist/{index-Cvjnj7Zh.d.mts → index-CL2T6LVv.d.mts} +8 -8
- package/dist/{index-BhOLtp0B.d.mts → index-CTEsbp9H.d.mts} +16 -16
- package/dist/{index-DsLpP5ek.d.mts → index-CaOWqztb.d.mts} +1 -1
- package/dist/{index-wfSedMR9.d.mts → index-CfIW5biI.d.mts} +1 -1
- package/dist/{index-mU2lnU7O.d.mts → index-CqCe7Phc.d.mts} +6 -6
- package/dist/{index-Cyi7y_aG.d.mts → index-D6aAzr32.d.mts} +20 -20
- package/dist/{index-CYHWOXUm.d.mts → index-DEzdNQum.d.mts} +1 -1
- package/dist/{index-D8ScOpus.d.mts → index-DLy-tc0L.d.mts} +9 -9
- package/dist/{index-BKZhnb2B.d.mts → index-DdBRlm7m.d.mts} +3 -3
- package/dist/{index-0WhPbKnH.d.mts → index-Dg-y1mrq.d.mts} +8 -8
- package/dist/{index-C6SLILCZ.d.mts → index-GD-i3DW7.d.mts} +104 -104
- package/dist/{index-CaerrEDH.d.mts → index-NkNbYFud.d.mts} +1 -1
- package/dist/{index-B5w-0Gg9.d.mts → index-Y2r0Zvcm.d.mts} +4 -4
- package/dist/kernel/extension/index.d.mts +1 -1
- package/dist/kernel/index.d.mts +2 -2
- package/dist/kernel/observability/index.d.mts +1 -1
- package/dist/{namespace-CGxFYDlK.d.mts → namespace-B4cV_pk3.d.mts} +32 -32
- package/dist/{namespace-Bm77p82L.d.mts → namespace-DGAWYjbO.d.mts} +5 -5
- package/dist/{namespace-Bmi5bjm4.d.mts → namespace-DXW-voCe.d.mts} +42 -42
- package/dist/{namespace-BeMGmLrp.d.mts → namespace-KMxsPJwm.d.mts} +9 -9
- package/dist/node/transports/index.d.mts +8 -0
- package/dist/node/transports/index.mjs +2 -2
- package/dist/package.json +1 -1
- package/dist/{schema-Bf_ZNjif.d.mts → schema-D1HrnvT7.d.mts} +2 -2
- package/dist/{schemas-C6TVJ80V2.d.mts → schemas-D-9zNyAM2.d.mts} +4 -4
- package/dist/{schemas-D512XweP.d.mts → schemas-DMCGXlKa.d.mts} +1 -1
- package/dist/scoped-bus-CZId-Df8.mjs +1 -0
- package/dist/services/adapter-subsystem/index.d.mts +2 -2
- package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
- package/dist/services/context-rules/index.d.mts +6 -6
- package/dist/services/execution-target/index.d.mts +1 -1
- package/dist/services/filesystem/namespace.d.mts +6 -6
- package/dist/services/filesystem/schemas.d.mts +3 -3
- package/dist/services/git/namespace.d.mts +4 -4
- package/dist/services/git/schemas.d.mts +3 -3
- package/dist/services/index.d.mts +33 -33
- package/dist/services/index.mjs +1 -1
- package/dist/services/log-import/browser.d.mts +2 -2
- package/dist/services/log-import/index.d.mts +2 -2
- package/dist/services/log-import/log-import.d.mts +1 -1
- package/dist/services/log-import/namespace.d.mts +2 -2
- package/dist/services/log-import/schemas.d.mts +1 -1
- package/dist/services/session/index.d.mts +5 -5
- package/dist/services/session/messages/namespace.d.mts +1 -1
- package/dist/services/session/session-events/namespace.d.mts +1 -1
- package/dist/services/session/storage/namespace.d.mts +1 -1
- package/dist/services/session/storage/schema.d.mts +1 -1
- package/dist/services/settings/namespace.d.mts +7 -7
- package/dist/services/settings/storage/extension-configs/namespace.d.mts +3 -3
- package/dist/services/subagent-template/index.d.mts +1 -1
- package/dist/services/subagent-template/schemas.d.mts +1 -1
- package/dist/{session-lineage-5-wRBzuC.d.mts → session-lineage-DR-9DU-U.d.mts} +1 -1
- package/dist/{transition-CBjccCMw.d.mts → transition-DnXibkhX.d.mts} +1 -1
- package/dist/{types-InWSdi-V.d.mts → types-BslClRkH.d.mts} +1 -1
- package/dist/{types-8rhArs_K.d.mts → types-Dur8EtpR.d.mts} +38 -38
- package/dist/workflow-engine/index.d.mts +11 -11
- package/package.json +1 -1
- package/dist/bus-BgodbPl9.mjs +0 -2
- package/dist/bus-HgaFcCZ1.mjs +0 -1
- package/dist/scoped-bus-H3xMYR0E.mjs +0 -1
package/dist/bus-BgodbPl9.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{z as e}from"zod";import{webcrypto as t}from"node:crypto";function n(e){if(typeof e!=`object`||!e)return!1;let t=e;return`$in`in t||`$ne`in t||`$exists`in t||`$startsWith`in t||`$endsWith`in t}function r(t){return typeof t==`object`&&!!t&&`request`in t&&`response`in t&&t.request instanceof e.ZodType&&t.response instanceof e.ZodType}function i(e){return typeof e==`object`&&!!e&&`__channel`in e&&e.__channel===!0&&`schema`in e}function a(e){return{__channel:!0,schema:e}}function o(e){return typeof e==`object`&&!!e&&`__local`in e&&e.__local===!0&&`schema`in e}function s(e){return{__local:!0,schema:e}}function c(e){return typeof e==`object`&&!!e&&`__defaultTransports`in e&&(e.__defaultTransports===`all`||e.__defaultTransports===`local-only`)&&`schema`in e}function l(e,t){return{__defaultTransports:t,schema:e}}function u(e){return typeof e==`object`&&!!e&&`__collectorOnly`in e&&e.__collectorOnly===!0&&`schema`in e}function d(e){return{__collectorOnly:!0,schema:e}}function f(e){return o(e)||u(e)||i(e)||c(e)?e.schema:e}function p(e,t,n){let a={};for(let[s,l]of Object.entries(t)){let t=s.split(`.`),u=a;for(let e=0;e<t.length-1;e++)u[t[e]]??={},u=u[t[e]];let d=o(l),p=i(l),m=c(l)?l.__defaultTransports:n,h={subject:s,$meta:{namespace:e,isRequest:r(f(l)),local:d,channel:p,...m!==void 0&&{defaultTransports:m}}};u[t[t.length-1]]=h}return a.$all={subject:`*`,$meta:{namespace:e,isRequest:!1,local:!1,channel:!1}},a}function m(e){return`${e.$meta.namespace}.${e.subject}`}function h(e,t,n){let r=n?.defaultTransports,i;if(n!==void 0){let{defaultTransports:e,...t}=n;i=Object.keys(t).length>0?t:void 0}return{name:e,subjects:p(e,t,r),schemas:t,...i===void 0?{}:{options:i},...r===void 0?{}:{defaultTransports:r}}}e.object({cwd:e.string(),env:e.record(e.string(),e.string()),platform:e.enum([`posix`,`windows`]),signal:e.custom().optional(),constraints:e.record(e.string(),e.unknown()).optional(),sessionId:e.string().optional(),subagentId:e.string().optional(),subagentDepth:e.number().optional()});var g=class extends Error{subject;constructor(e,t){super(e),this.subject=t,this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}};const _=`makaio.observability`;function v(e){let t=e.meta()?.[_];if(typeof t!=`object`||!t)return;let n=t;return n.kind===`schema`||n.kind===`field`?n:void 0}function y(e,t){return e.meta({...e.meta(),[_]:t})}function ee(t){if(t instanceof e.ZodOptional||t instanceof e.ZodNullable||t instanceof e.ZodDefault||t instanceof e.ZodCatch||t instanceof e.ZodReadonly)return t.unwrap()}function te(e){let t=e;for(;t;){let e=v(t);if(e?.kind===`field`)return e;t=ee(t)}}function ne(e){let t=v(e);if(t?.kind===`schema`)return{traceAll:t.traceAll}}function re(e){let t=te(e);if(t)return{visibility:t.visibility,attributeName:t.attributeName}}const ie={schema(e,t){return y(e,{kind:`schema`,traceAll:t.traceAll})},field(e,t){return y(e,{kind:`field`,visibility:t.visibility,attributeName:t.attributeName})},hidden(e){return y(e,{kind:`field`,visibility:`hidden`})},count(e,t){return y(e,{kind:`field`,visibility:`count`,attributeName:t})},attribute(e,t){return y(e,{kind:`field`,visibility:`attribute`,attributeName:t})}};function b(e,t){if(t===`*`)return!0;if(!t.endsWith(`*`))return e===t;if(t.endsWith(`:*`)){let n=t.slice(0,-2);return e.startsWith(n+`:`)}if(t.endsWith(`.*`)){let n=t.slice(0,-2);return e.startsWith(n+`.`)}return!1}function x(e,t){for(let n of t)if(b(e,n))return!0;return!1}function ae(e,t){if(e==null)return;let n=t.split(`.`),r=e;for(let e of n){if(typeof r!=`object`||!r)return;r=r[e]}return r}function oe(e,t){if(n(t)){if(`$in`in t)return t.$in.includes(e);if(`$ne`in t)return e!==t.$ne;if(`$exists`in t){let n=e!==void 0;return t.$exists?n:!n}return`$startsWith`in t?typeof e==`string`&&e.startsWith(t.$startsWith):`$endsWith`in t?typeof e==`string`&&e.endsWith(t.$endsWith):!1}return e===t}function S(e,t){for(let[n,r]of Object.entries(t))if(!oe(ae(e,n),r))return!1;return!0}function se(e,t){if(!(!e&&!t))return e?t?{...e,...t}:e:t}var C=class extends g{subject;constructor(e,t){super(e),this.subject=t,this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}},ce=class extends C{constructor(e){super(`Authentication failed for channel endpoint "${e}"`,e),this.name=`ChannelAuthError`}},le=class extends C{constructor(e){super(`Channel "${e}" is closed`,e),this.name=`ChannelClosedError`}},ue=class extends C{constructor(e){super(`Subject "${e}" is channel-only and cannot be used on the public bus. Use a DirectChannel instead.`,e),this.name=`ChannelOnlyError`}},de=class extends C{constructor(e){super(`Subject "${e}" is local-only and cannot be invoked over a transport. Register a non-local handler on each node that needs to respond to this subject.`,e),this.name=`LocalSubjectError`}};const fe=`NO_HANDLER`;var w=class extends C{code=fe;constructor(e){super(`No handler registered for request subject "${e}"`,e)}},pe=class extends C{cause;constructor(e,t,n){super(`Request to "${e}" failed: ${t}`,e),this.cause=n,n&&(this.cause=n)}},me=class extends C{timeoutMs;constructor(e,t){super(`Request to "${e}" timed out after ${t}ms`,e),this.timeoutMs=t}},he=class extends C{zodError;constructor(e,t){let n=t.issues.map(e=>`${e.path.join(`.`)}: ${e.message}`);super(`Validation failed for subject "${e}":\n${n.join(`
|
|
2
|
-
`)}`,e),this.zodError=t}};function ge(e,t){if(!(e instanceof Error))return!1;if(e instanceof w)return e.subject===t;let n=e;return n.code===`NO_HANDLER`?n.subject===t:!1}function T(e){return`subject`in e&&`namespace`in e?`${e.namespace}.${e.subject}`:null}function _e(e,t){return e<t?-1:+(e>t)}function ve(e,t){return e.transportRegistry.names().filter(e=>e!==t).sort((e,t)=>_e(String(e),String(t))).map(t=>({name:t,transport:e.transportRegistry.getTransport(t)})).filter(e=>e.transport!==void 0)}function ye(e,t){return ve(e,t).filter(({transport:e})=>e.isReady?.()!==!1)}const be=new Set([`message`,`name`,`stack`,`cause`,`subject`,`code`]);function E(e){if(!(e instanceof Error))return{message:typeof e==`string`?e:`Unknown error`};let t={message:e.message},n=e.cause instanceof Error?e.cause:e,r=`code`in e?e:n;`code`in r&&typeof r.code==`string`&&(t.code=r.code);let i=`subject`in e?e.subject:void 0,a=`subject`in n?n.subject:void 0;typeof i==`string`?t.subject=i:typeof a==`string`&&(t.subject=a);for(let e of Object.keys(n)){if(be.has(e))continue;let r=Object.getOwnPropertyDescriptor(n,e)?.value;typeof r==`function`||r===void 0||typeof r==`bigint`||typeof r==`symbol`||(t.data??={},t.data[e]=r)}return t}async function D(e,t,n){try{await e.send({type:`response`,correlationId:t.correlationId,error:E(n)})}catch(e){console.error(`[TransportRegistry] Failed to send error response:`,e)}}function xe(e){let t=Error(e.message);if(e.code&&(t.code=e.code),e.subject&&(t.subject=e.subject),e.data)for(let[n,r]of Object.entries(e.data))t[n]=r;return t}const O=Object.freeze({local:!0}),k=Object.freeze({local:!1});function Se(e,t,n,r){if(n.size>0&&e&&!x(e,n))return!1;if(e&&t!==void 0){for(let[n,i]of r)if((n===e||x(e,new Set([n])))&&!S(t,i))return!1}return!0}function Ce(e,t){if(e.type===`response`){let n=e;return n.error?t.reject(n.correlationId,xe(n.error)):t.resolve(n.correlationId,n.result),!0}if(e.type===`broadcast-response`){let n=e;return n.error?t.reject(n.correlationId,xe(n.error)):t.resolve(n.correlationId,n.results??[]),!0}return!1}function we(e){return e.type===`request`}function Te(e){return e.type===`broadcast`}function Ee(e,t,n,r){return we(e)||Te(e)?t.track(e.correlationId,n,r):Promise.resolve(!0)}function De(e){let t=typeof e==`object`&&e?e:{};return{message:e instanceof Error?e.message:typeof t.message==`string`?t.message:String(e),code:t.code,subject:typeof t.subject==`string`?t.subject:void 0,data:t.data}}function Oe(e){if(e.length===0)return[];if(e.length===1)return e[0].slice();let t=[];for(let n of e)for(let e of n)t.push(e);return t.sort((e,t)=>t.priority-e.priority),t}function A(e,t,n,r=`strict`,i){if(process.env.NODE_ENV===`production`||r===`skip`)return;let a=n.safeParse(t);if(!a.success){if(r===`lenient`){if(i)try{i({subject:e,payload:t,issues:a.error.issues})}catch(t){console.error(`[BUS] onSchemaViolation callback threw for "${e}":`,t)}return}throw console.error(`Payload validation failed for subject "${e}":`,JSON.stringify(t)),new he(e,a.error)}}function ke(e,t,n){let{mode:i,onViolation:a}=e.namespaceRegistry.getValidationConfig(t);if(i===`skip`)return;let o=e.namespaceRegistry.getSchema(t);!o||r(o)||A(t,n,o,i,a)}function Ae(e){let t=!e,n=new URL(e??`ws://localhost:6252/bus`);if(t){let e=parseInt(n.port,10);return{href:`${n.protocol}//${n.hostname}:${e}${n.pathname}`,port:e,isDefault:!0}}let r=n.port?parseInt(n.port,10):void 0;return{href:n.href,port:r,isDefault:!1}}function je(e,t){let{mode:n,onViolation:i}=e.namespaceRegistry.getValidationConfig(t);if(n===`skip`)return{requestSchema:void 0,responseSchema:void 0,mode:n,onViolation:void 0};let a=e.namespaceRegistry.getSchema(t);return!a||!r(a)?{requestSchema:void 0,responseSchema:void 0,mode:n,onViolation:i}:{requestSchema:a.request,responseSchema:a.response,mode:n,onViolation:i}}function Me(e,t,n){n.requestSchema&&A(e,t,n.requestSchema,n.mode,n.onViolation)}function j(e,t,n){n.responseSchema&&A(e,t,n.responseSchema,n.mode,n.onViolation)}function Ne(e,t){let n=0,r=e.length;for(;n<r;){let i=n+r>>>1;e[i].priority>=t.priority?n=i+1:r=i}e.splice(n,0,t)}function Pe(e,t,n,r){let i=new Set,a=e.requestHandlers.get(r);if(a)for(let e of a)i.add(e.priority);let o=e.eventHandlers.has(r),s=e.remoteRequestHandlers.get(r);if(s)for(let e of s)e.transport!==t&&i.add(e.priority);let c=e.remoteEventHandlers.get(r),l=c!==void 0&&(c.size>1||c.size===1&&!c.has(t));return i.size===0&&!o&&!l?Promise.resolve(n.unsubscribe(r)).catch(e=>{console.debug(`[AdvertisedState] unsubscribe propagation failed`,{transport:t,subject:r,error:e})}):Promise.resolve(n.subscribe(r,void 0,[...i])).catch(e=>{console.debug(`[AdvertisedState] subscribe propagation failed`,{transport:t,subject:r,priorities:[...i],error:e})})}function M(e,t,n){let r=[];for(let i of e.transportRegistry.names()){if(t!==null&&i===t)continue;let a=e.transportRegistry.getTransport(i);if(a)for(let t of n)r.push(Pe(e,String(i),a,t))}return r.length>0?Promise.allSettled(r).then(()=>void 0):Promise.resolve()}async function Fe(e,t,n,r){let i=new Set;for(let t of e.requestHandlers.keys())i.add(t);for(let t of e.eventHandlers.keys())i.add(t);for(let t of e.remoteRequestHandlers.keys())i.add(t);for(let t of e.remoteEventHandlers.keys())i.add(t);let a=String(t),o=[];for(let t of i)o.push(Pe(e,a,n,t));await Promise.allSettled(o),!r?.aborted&&n.isReady?.()!==!1&&n.ready!==void 0&&Promise.resolve(n.send({type:`subscribe-sync-complete`})).catch(e=>{console.debug(`[AdvertisedState] subscribe-sync-complete send failed`,{transport:a,error:e})})}const N=new Set;function Ie(e,t,n){if(process.env.NODE_ENV===`production`||process.env.MAKAIO_DEBUG!==`true`||t.subject.includes(`*`)||t.$meta.namespace.startsWith(`channel:`)||e.namespaceRegistry.getSchema(n)!==void 0||N.has(n))return;N.add(n);let r=t.$meta.namespace;console.warn(`[MakaioBus] Subject '${n}' used but namespace '${r}' is not registered. Validation and local-subject routing are disabled. Call registerNamespace() at boot.`)}const Le=process.env.NODE_ENV===`test`?()=>N.clear():void 0,Re=Symbol(`onPropagationPromise`);function ze(e){return e?.[Re]}async function Be(e){await(ze(e)??Promise.resolve())}function Ve(e,t,n,r,i){let a=e[t];a.has(n)||a.set(n,[]),Ne(a.get(n),{handler:r,priority:i})}function He(e,t,n,r){let i=e[t],a=i.get(n);if(a){let e=a.findIndex(e=>e.handler===r);e!==-1&&a.splice(e,1),a.length===0&&i.delete(n)}}function P(e,t,n,r){let i=t.subject,a=m(t),o=t.$meta.isRequest,s=i.includes(`*`)||i.includes(`:`),c=s&&!o;s||Ie(e,t,a);let l=r?.filter?e=>{if(S(e.payload,r.filter))return n(e)}:n,u=s?r?.handlerKind:void 0,d=u===`both`?[`eventHandlers`,`requestHandlers`]:u===`event`?[`eventHandlers`]:u===`request`?[`requestHandlers`]:c?[`eventHandlers`,`requestHandlers`]:o?[`requestHandlers`]:[`eventHandlers`],f=r?.priority??0;for(let t of d)Ve(e,t,a,l,f);let p=M(e,null,[a]),h=()=>{for(let t of d)He(e,t,a,l);M(e,null,[a])};return h[Re]=p,h}let F,I;function Ue(e){if(e<0||e>1024)throw RangeError(`Wrong ID size`);!F||F.length<e?(F=Buffer.allocUnsafe(e*128),t.getRandomValues(F),I=0):I+e>F.length&&(t.getRandomValues(F),I=0),I+=e}function L(e=21){Ue(e|=0);let t=``;for(let n=I-e;n<I;n++)t+=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`[F[n]&63];return t}function R(e){return e===void 0?!1:Array.isArray(e)?e.length===0:e.size===0}function We(e,t,n){if(n.$meta.local)return[];let r=m(n);if(e.namespaceRegistry.isCollectorOnlySubject(r))return[];if(t===void 0)return n.$meta.defaultTransports===`local-only`?[]:ye(e).map(({transport:e})=>e);let i=Array.isArray(t)?t:Array.from(t);if(R(t))return[];let a=[];for(let t of i){let n=e.transportRegistry.getTransport(t);if(!n){console.warn(`Transport "${String(t)}" not found for request "${r}"`);continue}a.push(n)}return a}function Ge(e,t,n,r){if(r!==void 0)return r;let i=t.$meta.defaultTransports;if(i!==void 0)return i===`local-only`?[]:void 0;if(e.namespaceRegistry.getDefaultTransports(n)===`local-only`)return[]}const Ke=1e3,z=new Set;function qe(e){if(z.size>=Ke){Ke/2;let e=0;for(let t of z)if(z.delete(t),e++,e>=500)break}z.add(e)}function Je(){process.env.NODE_ENV!==`production`&&z.clear()}function B(e,t,n,r,i,a,o){if(process.env.NODE_ENV===`production`||e.anyHandlers.size===0)return;if(o!==void 0){if(z.has(o))return;qe(o)}let s={type:t,subject:n,namespace:r,payload:i,messageId:a,correlationId:o};for(let t of e.anyHandlers)Promise.resolve().then(()=>t(s)).catch(e=>{console.error(`[${a}] Error in __onAny handler:`,e)})}function V(e){return e===null||typeof e==`string`||typeof e==`boolean`||typeof e==`number`&&Number.isFinite(e)}function Ye(e){if(V(e))return!0;if(!Array.isArray(e)||!e.every(V))return!1;if(e.length<=1)return!0;let t=e[0]===null?`null`:typeof e[0];return e.every(e=>(e===null?`null`:typeof e)===t)}function Xe(e){return Array.isArray(e)||typeof e==`string`?e.length:e===void 0?void 0:1}function Ze(t){if(t instanceof e.ZodObject)return t.shape}function Qe(e,t){let n=ne(e),r=Ze(e),i={};if(!r||typeof t!=`object`||!t)return i;let a=t;for(let[e,t]of Object.entries(r)){let r=re(t);if(r?.visibility===`hidden`)continue;let o=a[e];if(r?.visibility===`count`){let t=Xe(o);if(t!==void 0){let n=r.attributeName??e;i[n]=t}continue}if(n?.traceAll){if(V(o)){let t=r?.attributeName??e;i[t]=o}}else if(r?.visibility===`attribute`&&V(o)){let t=r.attributeName??e;i[t]=o}}return i}function $e(e){let{projectorRegistry:t,message:n}=e;if(!t)return;let r=t.get(n.namespace,n.subject);if(r)return r.project({payload:n.payload,namespace:n.namespace,subject:n.subject,messageType:n.type})}function et(t){let{message:n,namespaceRegistry:i}=t,a=T(n);if(!a)return;let o=i.getSchema(a);if(o)return r(o)?o.request:o instanceof e.ZodType?o:void 0}function tt(e){let t={};for(let[n,r]of Object.entries(e))Ye(r)&&(t[n]=r);return t}function H(e,t){if(e.messageObservers.size!==0)for(let n of e.messageObservers)Promise.resolve().then(()=>n(t)).catch(e=>{console.error(`[${t.messageId}] Error in bus message observer:`,e)})}function nt(e){let{message:t,direction:n,observedAt:r,machineId:i}=e,a=$e(e),o;if(a!==void 0)o=a;else{let n=et(e);o=n?Qe(n,t.payload):{}}return[{factId:`${t.messageId}:${n}`,observedAt:r,...i===void 0?{}:{machineId:i},namespace:t.namespace,subject:t.subject,messageType:t.type,direction:n,messageId:t.messageId,...t.correlationId===void 0?{}:{correlationId:t.correlationId},attributes:tt(o)}]}function rt(e,t){let n=e.interceptorHandlers.get(t);return!n||n.length===0?[]:n.map(e=>e.handler)}function it(e,t,n,r,i){let a=rt(e,t);return a.length===0?{stopped:!1,payload:n}:at(a,t,n,r,i)}async function at(e,t,n,r,i){let a=n,o=!1;for(let n of e){if(o)break;await n({subject:t,get payload(){return a},messageId:r,correlationId:i,stopPropagation(){o=!0},replacePayload(e){a=e},next(){}})}return{stopped:o,payload:a}}function ot(e,t){let{eventHandlers:n}=e,r=[];for(let[e,i]of n)b(t,e)&&r.push(i);return Oe(r).map(e=>e.handler)}async function st(e,t,n){let{correlationId:r,messageId:i}=t,a=[];for(let o of e)a.push(Promise.resolve().then(()=>o(t)).catch(e=>{let t=r?`[${r}][${i}]`:`[${i}]`;throw console.error(`${t} Error in event handler for "${n}":`,e),e}));await Promise.all(a)}async function U(e,t,n,r){let i=t.subject,a=m(t);Ie(e,t,a);let o=r?.messageId??L(),s=r?.correlationId,c=Ge(e,t,a,r?.transports),l=t.$meta.local||e.namespaceRegistry.isCollectorOnlySubject(a)||R(c);ke(e,a,n);let u=it(e,a,n,o,s),d=u instanceof Promise?await u:u;if(d.stopped)return;let f=d.payload,p=ot(e,a);B(e,`event`,a,t.$meta.namespace,f,o,s),H(e,{type:`event`,namespace:t.$meta.namespace,subject:i,payload:f,messageId:o,correlationId:s,transport:r?.transport,localOnly:l}),p.length>0&&await st(p,{payload:f,messageId:o,correlationId:s,subject:a,isRequest:!1,transport:r?.transport,origin:r?.transport?k:O},a);let h=We(e,c,t);if(h.length>0){let e=[];for(let n of h)e.push(n.send({type:`event`,subject:i,namespace:t.$meta.namespace,payload:f,messageId:o,correlationId:s}).catch(e=>{let t=s?`[${s}][${o}]`:`[${o}]`;console.error(`${t} Error sending event "${i}" to transport:`,e)}));await Promise.all(e)}}function ct(e,t,n,r){let i=m(t),a=r?.priority??0;e.interceptorHandlers.has(i)||e.interceptorHandlers.set(i,[]);let o=r?.filter?e=>{if(S(e.payload,r.filter))return n(e)}:n;return Ne(e.interceptorHandlers.get(i),{handler:o,priority:a}),()=>{let t=e.interceptorHandlers.get(i);if(t){let n=t.findIndex(e=>e.handler===o);n!==-1&&t.splice(n,1),t.length===0&&e.interceptorHandlers.delete(i)}}}var W=class extends Error{constructor(e){super(e),this.name=`TimeoutError`}},lt=class extends Error{constructor(e){super(),this.name=`AbortError`,this.message=e}};const ut=e=>globalThis.DOMException===void 0?new lt(e):new DOMException(e),dt=e=>{let t=e.reason===void 0?ut(`This operation was aborted.`):e.reason;return t instanceof Error?t:ut(t)};function ft(e,t){let{milliseconds:n,fallback:r,message:i,customTimers:a={setTimeout,clearTimeout}}=t,o,s=new Promise((s,c)=>{if(typeof n!=`number`||Math.sign(n)!==1)throw TypeError(`Expected \`milliseconds\` to be a positive number, got \`${n}\``);if(t.signal){let{signal:e}=t;e.aborted&&c(dt(e)),e.addEventListener(`abort`,()=>{c(dt(e))})}if(n===1/0){e.then(s,c);return}let l=new W;o=a.setTimeout.call(void 0,()=>{if(r){try{s(r())}catch(e){c(e)}return}typeof e.cancel==`function`&&e.cancel(),i===!1?s():i instanceof Error?c(i):(l.message=i??`Promise timed out after ${n} milliseconds`,c(l))},n),(async()=>{try{s(await e)}catch(e){c(e)}})()}).finally(()=>{s.clear()});return s.clear=()=>{a.clearTimeout.call(void 0,o),o=void 0},s}function G(e){return e instanceof Error?e:Error(typeof e==`string`?e:`Request aborted`)}async function K(e,t,n){if(t!==0)return ft(e,{milliseconds:t,signal:n});if(!n)return e;if(n.aborted)throw G(n.reason);return new Promise((t,r)=>{let i=()=>{r(G(n.reason))};n.addEventListener(`abort`,i,{once:!0}),e.then(t,r).finally(()=>{n.removeEventListener(`abort`,i)})})}function pt(e,t){let{requestHandlers:n}=e,r=[];for(let[e,i]of n)b(t,e)&&r.push(i);return Oe(r)}function mt(e,t){return pt(e,t).map(e=>e.handler)}function ht(e,t){let{remoteRequestHandlers:n}=e,r=[];for(let[e,i]of n)b(t,e)&&r.push(...i);return r.sort((e,t)=>t.priority-e.priority),r}function gt(e,t){let n=[...e.map(e=>({...e,kind:`local`})),...t.map(e=>({...e,kind:`remote`}))];return n.sort((e,t)=>t.priority===e.priority?e.kind===`local`&&t.kind===`remote`?-1:+(e.kind===`remote`&&t.kind===`local`):t.priority-e.priority),n}function _t(e,t,n){if(!n||n.length===0)return[...t];let r=new Set(n),i=t.filter(e=>r.has(e.transport));return i.length>0?i:[...new Set(n)].filter(t=>{let n=e.transportRegistry.getTransport(t);return n?n.isReady?.()!==!1:!1}).map(e=>({transport:e,priority:0}))}async function q(e,t,n,r,i,a,o){if(i>=r.length){if(o!==void 0)throw o;return{handled:!1}}let s=r[i];return s.kind===`local`?vt(e,t,n,s,r,i+1,a,o):yt(e,t,n,s,r,i+1,a,o)}async function vt(e,t,n,r,i,a,o,s){let c=t.subject,l,u=!1,d,f=n,p={isRequest:!0,get payload(){return f},get result(){return u?l:void 0},messageId:o.messageId,correlationId:o.correlationId,transport:o.transport,origin:o.transport?k:O,...o.signal!==void 0&&{signal:o.signal},setResult:e=>{l=e,u=!0},extendResult:e=>{l={...u?l:{},...e},u=!0},replacePayload:e=>{f=e},next:()=>{let n=(async()=>{let n=await q(e,t,f,i,a,o,s);n.handled&&!u&&(l=n.value,u=!0)})();return d??=n,n}};try{if(await r.handler(p),d!==void 0)await d;else if(!u){let n=await q(e,t,f,i,a,o,s);n.handled&&(l=n.value,u=!0)}}catch(e){throw e instanceof pe?e:new pe(c,e instanceof Error?e.message:String(e),e instanceof Error?e:void 0)}return{handled:u,value:l}}async function yt(e,t,n,r,i,a,o,s){let c=t.subject,l=t.$meta.namespace,u=`${l}.${c}`,d=o.deadline??(o.timeout>0?Date.now()+o.timeout:void 0),f=d===void 0?o.timeout:Math.max(0,d-Date.now()),p={...o,deadline:d};if(d!==void 0&&f===0)return q(e,t,n,i,a,p,s);let m=e.transportRegistry.getTransport(r.transport);if(!m)return q(e,t,n,i,a,p,s);let h={type:`request`,subject:c,namespace:l,payload:n,correlationId:o.correlationId,messageId:o.messageId,timeout:f,priority:(()=>{if(a<2)return o.priority;let e=i[a-2].priority;return e===r.priority?e+1:e})(),deadline:d},{signal:g}=o;try{if(g?.aborted)throw G(g.reason);return{handled:!0,value:await K(m.send(h,f),f,g)}}catch(l){if(g?.aborted)throw m.cancelRequest?.(o.correlationId,l instanceof Error?l:G(g.reason)),l instanceof Error?l:G(g.reason);return ge(l,u)?q(e,t,n,i,a,p,s):(console.error(`[${o.correlationId}][${o.messageId}] Error sending request "${c}" via transport '${r.transport}':`,l),q(e,t,n,i,a,p,s??l))}}async function bt(e,t,n,r){let i=m(t),a=pt(e,i),o=gt(a,t.$meta.local||r.localOnly?[]:_t(e,ht(e,i),r.allowedTransports)),s=r.priority,c=s===void 0?0:o.findIndex(e=>e.priority<s);if(!t.$meta.local&&!r.localOnly){let o=e.transportRegistry.getPendingReady();if(o.length>0){await K(Promise.allSettled(o),r.timeout,r.signal);let s=gt(a,_t(e,ht(e,i),r.allowedTransports));if(s.length===0)return{handled:!1};let c=r.priority,l=c===void 0?0:s.findIndex(e=>e.priority<c);return l===-1?{handled:!1}:q(e,t,n,s,l,r)}}return c===-1||o.length===0?{handled:!1}:q(e,t,n,o,c,r)}const xt=6e4;function St(e,t,n,r){return t.$meta.local?!0:R(Ge(e,t,n,r))}function Ct(e){if(e===void 0)return;let t=Array.isArray(e)?e:Array.from(e);return t.length>0?t.map(String):void 0}async function J(e,t,n,r){let i=t.subject,a=m(t);Ie(e,t,a);let o=r?.messageId??L(),s=r?.correlationId??L(),c=r?.timeout??6e4,l=r?.signal,u=St(e,t,a,r?.transports),d=je(e,a);Me(a,n,d),B(e,`request`,i,t.$meta.namespace,n,o,s),H(e,{type:`request`,namespace:t.$meta.namespace,subject:i,payload:n,messageId:o,correlationId:s,transport:r?.transport,localOnly:u});let f=Ct(r?.transports),p;try{p=await K(bt(e,t,n,{allowedTransports:f,correlationId:s,messageId:o,timeout:c,signal:l,localOnly:u}),c,l)}catch(e){throw e instanceof W?new me(i,c):e}if(!p.handled)throw new w(a);let h=p.value;return j(a,h,d),h}async function wt(e,t,n,r){try{return{handled:!0,data:await J(e,t,n,r)}}catch(e){if(e instanceof w)return{handled:!1};throw e}}var Tt=class extends Error{constructor(){super(`once() was aborted via AbortSignal`),this.name=`OnceAbortError`}},Et=class extends Error{constructor(e,t){super(`once() timed out after ${t}ms waiting for subject: ${e}`),this.name=`OnceTimeoutError`}};function Dt(e,t,n){if(typeof n==`function`){let r=n,i=null;return i=P(e,t,(e=>{let t=i;return i=null,t?.(),r(e)})),()=>{i&&=(i(),null)}}let r=n;return new Promise((n,i)=>{let a=null,o=null,s=null,c=r?.signal,l=()=>{o&&=(clearTimeout(o),null),c&&s&&(c.removeEventListener(`abort`,s),s=null),a&&=(a(),null)};if(c){if(c.aborted){l(),i(new Tt);return}s=()=>{l(),i(new Tt)},c.addEventListener(`abort`,s,{once:!0})}a=P(e,t,(e=>{l(),n(e)}),r?.filter?{filter:r.filter}:void 0);let u=ze(a),d=()=>{r?.timeoutMs&&a!==null&&(o=setTimeout(()=>{l(),i(new Et(m(t),r.timeoutMs))},r.timeoutMs))};u?u.then(d,d):d()})}function Ot(e,t,n,r,i){let a=`anonymous`,o=!1,s;return{isRequest:!0,payload:e,messageId:t,correlationId:n,transport:i,origin:i?k:O,get result(){return s},identify:e=>{a=e},setResult:e=>{o||(o=!0,s=e,r(a,e))},extendResult:e=>{o?Object.assign(s,e):(s={...e},o=!0,r(a,s))},next:async()=>{},replacePayload:()=>{}}}async function kt(e,t){let n=[],r=Ot(t.payload,t.messageId,t.correlationId,(e,t)=>{n.push({nodeId:e,payload:t})},t.transport);try{await e(r)}catch(e){return console.error(`[${t.correlationId}][${t.messageId}] Broadcast handler error for "${t.subjectKey}":`,e),[]}for(let e of n)j(t.fullSubjectKey,e.payload,t.validationCtx);return n}async function At(e,t,n,r){let i=t.subject,a=m(t),o=r?.messageId??L(),s=r?.correlationId??L(),c=r?.timeout??6e4,l=r?.signal,u=je(e,a),d=Ge(e,t,a,r?.transports),f=t.$meta.local||e.namespaceRegistry.isCollectorOnlySubject(a)||R(d);Me(a,n,u),B(e,`broadcast`,i,t.$meta.namespace,n,o,s),H(e,{type:`broadcast`,namespace:t.$meta.namespace,subject:i,payload:n,messageId:o,correlationId:s,transport:r?.transport,localOnly:f});let p=[],h=mt(e,a),g=d===void 0?t.$meta.local?[]:ye(e).map(({transport:e})=>e):We(e,d,t),_=h.map(async e=>{let t=await kt(e,{payload:n,messageId:o,correlationId:s,subjectKey:i,fullSubjectKey:a,transport:r?.transport,validationCtx:u});p.push(...t)}),v=g.map(async e=>{try{let r=await e.send({type:`broadcast`,subject:i,namespace:t.$meta.namespace,payload:n,correlationId:s,messageId:o,timeout:c},c);for(let e of r)j(a,e.payload,u),p.push({nodeId:e.nodeId,payload:e.payload})}catch(e){console.error(`[${s}][${o}] Broadcast transport error for "${i}":`,e)}});try{await K(Promise.all([..._,...v]),c,l)}catch(e){throw e instanceof W?new me(i,c):e}return p}function Y(e,t,n){if(!t?.$meta)throw Error(`Invalid subject definition provided to ${e}()`);if(t.$meta.channel)throw new ue(String(t.subject));if(n){let e=t?.$meta?.namespace??`(NO NAMESPACE)`;if(e!==n)throw Error(`Subject namespace ${e} does not match scoped bus namespace ${n}`)}if(e===`emit`){if(t.$meta.isRequest)throw Error(`Cannot emit to request subjects. Use event subjects only.`);if(t.subject?.includes(`*`))throw Error(`Emitting wildcard subjects is not allowed. Use concrete subject keys only.`)}if(e===`intercept`){if(t.$meta.isRequest===!0)throw Error(`intercept() only supports event subjects, not request subjects. Use middleware for requests.`);if(t.subject?.includes(`*`))throw Error(`intercept() requires exact subjects, not wildcards. Wildcards are only supported for on().`)}}function X(e,t){let n=se(e,t?.filter);return!n||Object.keys(n).length===0?t:{...t,filter:n}}function Z(e,t,n){return{namespace:t,getFilter(){return n},withFilter:(r=>Z(e,t,se(n,r))),on(r,i,a){return Y(`on`,r,t),P(e,r,i,X(n,a))},intercept(r,i,a){return Y(`intercept`,r,t),ct(e,r,i,X(n,a))},once:((r,i)=>{if(Y(`once`,r,t),typeof i==`function`){let t=i,a=null;return a=P(e,r,(e=>{let n=a;return a=null,n?.(),t(e)}),X(n,void 0)),()=>{a&&=(a(),null)}}return Dt(e,r,X(n,i))}),async emit(n,r){return Y(`emit`,n,t),U(e,n,r)},async request(n,r){return Y(`request`,n,t),J(e,n,r)},async requestOptional(n,r){return Y(`request`,n,t),wt(e,n,r)}}}function jt(e,t){let n=t,r=gn({context:e,namespace:n});return{namespace:n,emit:r.emit,on:r.on,intercept:r.intercept,once:r.once,request:r.request,requestOptional:r.requestOptional,withFilter:(t=>Z(e,n,t)),getContext:()=>e}}const Q=new WeakMap;function Mt(e){let t=e._def.values;if(t)return new Set(t.map(e=>`literal:${typeof e}:${String(e)}`))}function Nt(e){let t=e._def.checks;return Array.isArray(t)&&t.length>0}function Pt(t,n=!1){let r=new Set,i=t;for(;i instanceof e.ZodOptional||i instanceof e.ZodNullable||i instanceof e.ZodDefault||i instanceof e.ZodReadonly;){if(i instanceof e.ZodDefault)return;i instanceof e.ZodOptional&&r.add(`undefined`),i instanceof e.ZodNullable&&r.add(`null`),i=i.unwrap()}if(!(n&&Nt(i))){if(i instanceof e.ZodLiteral){let e=Mt(i);if(!e)return;for(let t of e)r.add(t);return r}if(i instanceof e.ZodString)r.add(`string`);else if(i instanceof e.ZodNumber)r.add(`number`);else if(i instanceof e.ZodBoolean)r.add(`boolean`);else if(i instanceof e.ZodBigInt)r.add(`bigint`);else if(i instanceof e.ZodDate)r.add(`date`);else return;return r}}function Ft(e,t){let n=Pt(e,!0),r=Pt(t);if(!n||!r)return!1;for(let e of r){if(n.has(e))continue;let t=e.startsWith(`literal:`)?e.slice(8).split(`:`,1)[0]:e;if(!n.has(t))return!1}return!0}function It(e){let t=e._def.checks;return Array.isArray(t)&&t.length>0}function Lt(e){let t=Q.get(e);if(t)return t;let n=new Map(Object.entries(e.shape).map(([e,t])=>[e,t]));return Q.set(e,n),n}function Rt(e,t,n){if(!It(e))return;let r=Lt(e);for(let[e,i]of Object.entries(t)){let t=r.get(e);if(t&&!Ft(t,i))throw Error(`[MakaioBus] Cannot extend ${n}: field '${e}' overrides an incompatible refined schema field`)}}function zt(e,t){It(e)&&Q.set(t,Lt(e))}function Bt(t,n){if(!(t instanceof e.ZodObject)){let e=t?.constructor?.name??typeof t;throw Error(`[MakaioBus] Cannot extend ${n}: schema is not a ZodObject (got ${e})`)}}function Vt(e,t,n){Rt(e,t,n);let r=e.safeExtend(t),i=e.meta(),a=i?r.meta(i):r;return zt(e,a),a}function Ht(e,t){let n=Ut(e.toLowerCase(),t.toLowerCase());return n===0?Ut(e,t):n}function Ut(e,t){if(e===t)return 0;let n=Array.from(e),r=Array.from(t),i=Math.min(n.length,r.length);for(let e=0;e<i;e+=1){let t=n[e].codePointAt(0),i=r[e].codePointAt(0);if(t!==i)return(t??0)<(i??0)?-1:1}return n.length-r.length}const Wt=async(e,t)=>{if(!e)throw Error(`Namespace not initialized yet`);let{MakaioBus:n}=await import(`./bus-HgaFcCZ1.mjs`),{createScopedBus:r}=await import(`./scoped-bus-H3xMYR0E.mjs`),i=t??n.getContext();if(!i)throw Error(`No MakaioBus context available. Please provide a context when calling scopedBus().`);return r(i,e)};function Gt(e,t,n){let r=Array.from(t.keys()),i=Array.from(n.keys()),a=i.filter(e=>!t.has(e)),o=r.filter(e=>!n.has(e)),s=i.filter(e=>{let r=t.get(e),i=n.get(e);return r!==void 0&&i!==void 0&&!Kt(r,i)});if(a.length===0&&o.length===0&&s.length===0)return;let c=[];a.length>0&&c.push(`new subjects: ${a.join(`, `)}`),o.length>0&&c.push(`missing subjects: ${o.join(`, `)}`),s.length>0&&c.push(`changed schemas: ${s.join(`, `)}`),console.warn(`[MakaioBus] Namespace '${e}' already registered with different schemas. ${c.join(`; `)}. This usually indicates a namespace collision between packages.`)}function Kt(e,t){let n=qt(e),r=qt(t);return typeof n==`string`&&typeof r==`string`?n===r:e===t}function qt(t){try{let n=r(t)?{request:e.toJSONSchema(t.request),response:e.toJSONSchema(t.response)}:e.toJSONSchema(t);return JSON.stringify(n)}catch{return t}}function Jt(e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n,f(r));return t}function Yt(e){return e?.busValidationMode===`lenient`?{mode:`lenient`,onViolation:e.onSchemaViolation}:e?.busValidationMode===`skip`?{mode:`skip`}:{mode:`strict`}}function Xt(e,t,n){t.mode===n.mode&&t.onViolation===n.onViolation||console.warn(`[MakaioBus] Namespace '${e}' already registered with different validation settings. Existing mode: ${t.mode}; incoming mode: ${n.mode}. This usually indicates a namespace collision between packages.`)}const Zt=()=>{let e=new Map,t=new Map,n=new Map,a=new Map,s=new Set,c=new Set,l=new Map,d=new Map;return{registerNamespace(r){let{name:p,schemas:m,options:h}=r,g=Jt(m),_=e.get(p);if(_)return Gt(p,t.get(p)??new Map,g),Xt(p,l.get(p)??{mode:`strict`},Yt(h)),_;l.set(p,Yt(h)),t.set(p,g);for(let[e,t]of Object.entries(m)){let l=`${p}.${e}`,m=o(t),h=u(t),_=i(t),v=g.get(e)??f(t);n.set(l,v),a.set(l,{namespace:p,subject:e,fullSubject:l,schema:v,local:m,collectorOnly:h,channel:_}),m&&s.add(l),h&&c.add(l),r.defaultTransports&&d.set(l,r.defaultTransports)}let v={name:p,subjects:r.subjects,scopedBus:e=>Wt(p,e)};return e.set(p,v),v},registerNamespaces(e){for(let t of e)this.registerNamespace(t)},getSchema(e){let t=typeof e==`string`?e:m(e);return n.get(t)},listRegisteredSubjects(){return Array.from(a.values()).map(e=>({...e,schema:r(e.schema)?{...e.schema}:e.schema})).sort((e,t)=>Ht(e.fullSubject,t.fullSubject))},getRegisteredSubject(e){return a.get(e)},isRequestSubject(e){let t=n.get(e);return t?r(t):!1},isLocalSubject(e){return s.has(e)},isCollectorOnlySubject(e){return c.has(e)},getDefaultTransports(e){return d.get(e)??`all`},getValidationConfig(e){let t;for(let[n,r]of l)(e===n||e.startsWith(n+`.`))&&(!t||n.length>t.namespace.length)&&(t={namespace:n,config:r});return t?.config??{mode:`strict`}},extendSubjectSchema(e,t){let i=n.get(e);if(!i)throw Error(`[MakaioBus] Cannot extend subject '${e}': not registered. Ensure the owning namespace is imported before calling extendSubject().`);if(r(i)){let r=t;r.request&&Bt(i.request,`'${e}' request`),r.response&&Bt(i.response,`'${e}' response`);let o={request:r.request?Vt(i.request,r.request,`'${e}' request`):i.request,response:r.response?Vt(i.response,r.response,`'${e}' response`):i.response};n.set(e,o);let s=a.get(e);s&&a.set(e,{...s,schema:o})}else{Bt(i,`'${e}'`);let r=Vt(i,t,`'${e}'`);n.set(e,r);let o=a.get(e);o&&a.set(e,{...o,schema:r})}},__resetNamespaces:process.env.NODE_ENV===`test`?()=>{e.clear(),t.clear(),n.clear(),a.clear(),s.clear(),c.clear(),l.clear(),d.clear()}:void 0}},Qt=(e,t)=>({subject:e.subject,$meta:{namespace:e.namespace,isRequest:t,payload:{},local:!1,channel:!1}}),$t=(e,t)=>ye(e,t),en=async(e,t,n,r)=>{let i=T(n);if(i){if(e.namespaceRegistry.isLocalSubject(i)){console.warn(`[TransportRegistry] Dropping inbound event '${i}' from transport '${String(t)}': subject is local-only and cannot be invoked remotely.`);return}if(!e.namespaceRegistry.isCollectorOnlySubject(i)){let r=$t(e,t),a=await Promise.allSettled(r.map(async({transport:e})=>e.send(n)));for(let[e,t]of a.entries())t.status===`rejected`&&console.error(`[TransportRegistry] Failed to relay event '${i}' to transport '${String(r[e].name)}':`,t.reason)}await U(e,Qt(n,!1),n.payload,{messageId:n.messageId,correlationId:n.correlationId,transports:[],transport:r})}},tn=async(e,t,n,r,i)=>{let a=T(r),o=r.timeout??6e4;if(!a){await D(n,r,Error(`Invalid subject in request message`));return}if(e.namespaceRegistry.isLocalSubject(a)){await D(n,r,new de(a));return}let s=Qt(r,!0);try{let t=await bt(e,s,r.payload,{correlationId:r.correlationId,messageId:r.messageId,timeout:o,deadline:r.deadline,priority:r.priority,transport:i});if(!t.handled){await D(n,r,new w(a));return}await n.send({type:`response`,correlationId:r.correlationId,result:t.value})}catch(e){await D(n,r,e)}},$=async(e,t,n,r)=>{if(e.onBroadcastResults){e.onBroadcastResults(t,n,r);return}let i={type:`broadcast-response`,correlationId:t,...n.length>0?{results:n}:{},...r?{error:r}:{}};await e.send(i)},nn=async(e,t,n,r,i)=>{let a=T(r),o=r.timeout??6e4;if(!a){await $(n,r.correlationId,[],E(Error(`Invalid subject in broadcast message`)));return}if(e.namespaceRegistry.isLocalSubject(a)){await $(n,r.correlationId,[],E(new de(a)));return}try{let s=[],c,l=At(e,Qt(r,!0),r.payload,{messageId:r.messageId,correlationId:r.correlationId,timeout:o,transports:[],transport:i}).then(e=>s.push(...e)).catch(e=>{c=E(e)}),u=$t(e,t).map(async({name:e,transport:t})=>{try{s.push(...await t.send(r,o))}catch(t){console.error(`[TransportRegistry] Failed to relay broadcast '${a}' to transport '${String(e)}':`,t)}});await Promise.all([l,...u]),await $(n,r.correlationId,s,c)}catch(e){await $(n,r.correlationId,[],E(e))}},rn=async(e,t,n)=>{for(let[r,i]of Object.entries(n.subjects)){let n=String(t),a=e.remoteRequestHandlers.get(r),o=a?a.filter(e=>e.transport!==n):[];for(let e of i)o.push({transport:n,priority:e});if(o.length>0?e.remoteRequestHandlers.set(r,o):e.remoteRequestHandlers.delete(r),i.length===0){let t=e.remoteEventHandlers.get(r)??new Set;t.add(n),e.remoteEventHandlers.set(r,t)}else e.remoteEventHandlers.get(r)?.delete(n)}await M(e,t,Object.keys(n.subjects))},an=async(e,t,n)=>{let r=String(t);for(let t of Object.keys(n.subjects)){let n=e.remoteRequestHandlers.get(t);if(n){let i=n.filter(e=>e.transport!==r);i.length===0?e.remoteRequestHandlers.delete(t):e.remoteRequestHandlers.set(t,i)}e.remoteEventHandlers.get(t)?.delete(r)}await M(e,t,Object.keys(n.subjects))},on=(e,t)=>{let n=new Set;for(let[r,i]of e.remoteRequestHandlers){let a=i.filter(e=>e.transport!==t);a.length===0?e.remoteRequestHandlers.delete(r):e.remoteRequestHandlers.set(r,a),n.add(r)}for(let[r,i]of e.remoteEventHandlers)i.has(t)&&(i.delete(t),n.add(r));n.size>0&&M(e,t,[...n])},sn=(e,t,n)=>{if(n===void 0)return;e.set(t,n);let r=()=>{e.get(t)===n&&e.delete(t)};n.then(r,r)},cn=e=>{let t=new Map,n,r=new Map,i=async(t,n,r,i)=>{try{if(r.type===`subscribe-sync-complete`||r.type===`subscription-ack`)return;if(r.type===`subscribe`){await rn(e,t,r);return}if(r.type===`unsubscribe`){await an(e,t,r);return}let a=i?{...i,transportName:i.transportName||String(t)}:{transportName:String(t)};r.type===`event`?await en(e,t,r,a):r.type===`request`?await tn(e,t,n,r,a):r.type===`broadcast`&&await nn(e,t,n,r,a)}catch(e){console.error(`[TransportRegistry] Unhandled error processing transport message:`,e)}};return{registerTransport(a,o){let s=t.get(a);s&&(console.warn(`[TransportRegistry] Replacing existing transport '${a}'. This unsubscribes the old transport's handler - if unintended, use a different name.`),on(e,String(a)),s.syncAbort.abort(),s.unsubscribe(),s.transport.onNewReadySession=void 0,s.transport.onConnected=void 0,s.transport.onDisconnected=void 0,r.delete(a));let c=o.onReceive(async(e,t)=>{await i(a,o,e,t)}),l=new AbortController;return t.set(a,{transport:o,unsubscribe:c,syncAbort:l}),sn(r,a,o.ready),o.onNewReadySession=e=>sn(r,a,e),o.onConnected=()=>n?.onConnected(String(a)),o.onDisconnected=()=>n?.onDisconnected(String(a)),Fe(e,a,o,l.signal),{unregister:()=>{let n=t.get(a);n?.transport===o&&(n.syncAbort.abort(),n.unsubscribe(),t.delete(a),r.delete(a),o.onNewReadySession=void 0,o.onConnected=void 0,o.onDisconnected=void 0,on(e,String(a)))},ready:o.ready??Promise.resolve()}},getTransport(e){return t.get(e)?.transport},all(){return Array.from(t.values(),e=>e.transport)},names(){return Array.from(t.keys())},getPendingReady(){return Array.from(r.values())},setLifecycleEmitter(e){n=e}}};function ln(e,t){return{subject:e,register(n){return n.extendSubject(e,t)}}}function un(e,t,n){let r=m(t);return e.namespaceRegistry.extendSubjectSchema(r,n),t}const dn={connected:s(e.object({transport:e.string()})),disconnected:s(e.object({transport:e.string()}))};function fn(e,t){e.transportRegistry.setLifecycleEmitter({onConnected(n){U(e,t.connected,{transport:n}).catch(e=>{console.error(`[bus] lifecycle emit error on connected:`,e)})},onDisconnected(n){U(e,t.disconnected,{transport:n}).catch(e=>{console.error(`[bus] lifecycle emit error on disconnected:`,e)})}})}const pn=()=>{let e={eventHandlers:new Map,requestHandlers:new Map,interceptorHandlers:new Map,anyHandlers:new Set,messageObservers:new Set,transportRegistry:void 0,namespaceRegistry:Zt(),remoteRequestHandlers:new Map,remoteEventHandlers:new Map};return e.transportRegistry=cn(e),e},mn=e=>{let t=new Map,n=!1,r=null,i=null,a=null,o=()=>n||r!==null,s=e=>e.every(e=>t.get(e.transport.name)===e),c=async e=>{for(let n of e)try{n.unregister()}catch(e){console.error(`[bus.connect] Failed to unregister '${n.transport.name}' during rollback:`,e)}finally{t.get(n.transport.name)===n&&t.delete(n.transport.name)}await Promise.allSettled(e.map(e=>e.transport.disconnect()))},l=e=>{i===e&&(i=null)},u=async e=>{e?.awaitReady!==!1&&i&&await i},d=()=>{let e=!1,t=!1,n,r,i,a=new Promise((e,t)=>{n=e,r=t}),o=new Promise(e=>{i=e});return a.catch(()=>void 0),{promise:a,cancelSignal:o,resolve:()=>{t||(t=!0,n())},reject:e=>{t||(t=!0,r(e))},cancel:()=>{e||(e=!0,i(),t||(t=!0,n()))},isCanceled:()=>e}},f=(e,t)=>{let n=t instanceof Error?t.message:String(t),r=Error(`Failed to connect transport "${e}": ${n}`,{cause:t});if(typeof t==`object`&&t){let e=t,n=r;`code`in e&&(n.code=e.code),`status`in e&&(n.status=e.status)}return r},p=async(e,t)=>{await c(e),t()},m=async(e,t,n,r)=>{n(r),l(t),await c(e)},h=(e,t)=>{let n=Promise.all(e.map(e=>e.ready.catch(t=>{throw console.error(`[bus.connect] Transport '${e.transport.name}' ready failed:`,t),t}))).then(()=>{});return n.catch(()=>void 0),Promise.race([n,t.cancelSignal])};return{registerTransport:n=>{if(o())throw Error(`[bus.connect] Cannot register transport '${n.name}' after connect() has started; create a new bus instance or use the shared transport registry directly`);let r=e.transportRegistry.registerTransport(n.name,n);return t.set(n.name,{transport:n,unregister:r.unregister,get ready(){return n.ready??r.ready}}),r},unregisterTransport:e=>{let n=t.get(e);n&&(n.unregister(),t.delete(e))},get ready(){return i??Promise.resolve()},disconnect:()=>{n=!1,a?.cancel(),a=null,r=null,i=null;for(let{transport:e,unregister:n}of t.values()){try{Promise.resolve(e.disconnect()).catch(()=>{})}catch{}n()}t.clear()},reconnect:async()=>{let e=Array.from(t.values()).filter(e=>typeof e.transport.reconnect==`function`),n=await Promise.allSettled(e.map(e=>Promise.resolve().then(()=>e.transport.reconnect())));for(let[t,r]of n.entries())r.status===`rejected`&&console.error(`[bus] reconnect failed for transport '${e[t].transport.name}':`,r.reason)},connect:async e=>{if(n){await u(e);return}if(r){await r,await u(e);return}let o=Array.from(t.values());if(o.length===0)return;let c=d();i=c.promise,a=c;let l=null,g=!1;r=(async()=>{try{await Promise.all(o.map(async e=>{try{await e.transport.connect()}catch(t){throw f(e.transport.name,t)}}))}catch(e){throw await m(o,c.promise,c.reject,e),e}if(!s(o)){await p(o,c.resolve);return}n=!0;try{let t=h(o,c),r=async()=>{if(!(!n||c.isCanceled())&&(await t,!(!n||c.isCanceled()))){if(!s(o)){await p(o,c.resolve);return}c.resolve()}};e?.awaitReady===!1?(l=r(),g=!0,l.catch(async e=>{console.error(`[bus.connect] Background ready failed:`,e),await m(o,c.promise,c.reject,e),n=!1}).finally(()=>{l=null,a===c&&(a=null)})):(l=r(),await l)}catch(e){throw n=!1,await m(o,c.promise,c.reject,e),e}})().finally(()=>{r=null,!g&&a===c&&(a=null),l=null}),await r}}};function hn(e){e.eventHandlers.clear(),e.requestHandlers.clear(),e.interceptorHandlers.clear(),e.anyHandlers.clear(),e.messageObservers.clear(),e.remoteRequestHandlers.clear(),e.remoteEventHandlers.clear(),Je()}function gn(e){let{context:t=pn(),namespace:n,transports:r}=e??{},i=mn(t),a={namespace:n,on:(e,r,i)=>(Y(`on`,e,n),P(t,e,r,i)),intercept:(e,r,i)=>(Y(`intercept`,e,n),ct(t,e,r,i)),once:(e,r)=>(Y(`once`,e,n),Dt(t,e,r)),emit:async(e,r,i)=>(Y(`emit`,e,n),U(t,e,r,i)),request:async(e,r,i)=>(Y(`request`,e,n),J(t,e,r,i)),requestOptional:async(e,r,i)=>(Y(`request`,e,n),wt(t,e,r,i)),broadcast:async(e,r,i)=>(Y(`request`,e,n),At(t,e,r,i)),scoped:(e,n)=>jt(n??t,e.name),withFilter:e=>Z(t,n??``,e),...i,getContext:()=>t,getSchema:e=>t.namespaceRegistry.getSchema(e),registerNamespace:e=>t.namespaceRegistry.registerNamespace(e),registerNamespaces:e=>t.namespaceRegistry.registerNamespaces(e),extendSubject:(e,r)=>{if(n&&e.$meta.namespace!==n)throw Error(`Subject namespace ${e.$meta.namespace} does not match scoped bus namespace ${n}`);return un(t,e,r)},observeMessages:e=>(t.messageObservers.add(e),()=>{t.messageObservers.delete(e)}),__onAny:e=>process.env.NODE_ENV===`production`?()=>{}:(t.anyHandlers.add(e),()=>{t.anyHandlers.delete(e)}),__resetHandlers:process.env.NODE_ENV===`test`?()=>hn(t):void 0};Object.defineProperty(a,`ready`,{get(){return i.ready},enumerable:!0,configurable:!0}),fn(t,a.registerNamespace(h(`bus:lifecycle`,dn)).subjects);for(let e of r??[])a.registerTransport(e);return a}const _n=gn();export{fe as A,x as B,Ee as C,he as D,ge as E,ce as F,d as G,ie as H,C as I,a as J,l as K,ae as L,de as M,ue as N,me as O,le as P,S as R,Se as S,T,h as U,b as V,m as W,r as Y,Ae as _,ln as a,Ce as b,Z as c,xt as d,U as f,Le as g,Be as h,dn as i,w as j,pe as k,Tt as l,P as m,pn as n,un as o,nt as p,s as q,gn as r,jt as s,_n as t,J as u,O as v,xe as w,De as x,k as y,se as z};
|
package/dist/bus-HgaFcCZ1.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./bus-BgodbPl9.mjs";export{e as MakaioBus};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as e}from"./bus-BgodbPl9.mjs";export{e as createScopedBus};
|