From 37a349ae520124606670bf0ed69d666363c4a5c3 Mon Sep 17 00:00:00 2001 From: intech Date: Sat, 4 Jul 2026 22:50:49 +0400 Subject: [PATCH] =?UTF-8?q?docs(events-amqp):=20onLifecycle=20discriminate?= =?UTF-8?q?d=20union=20=E2=80=94=20lifecycle=20section=20rework=20+=20API?= =?UTF-8?q?=20regen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - events-amqp page: onLifecycle-first lifecycle section (union event table, must-not-throw + probe note, initial-window scope, 1.3.0 fix callout); full-config example and Connection Recovery pointer updated - en/api: TypeDoc regen against connectum#216 (new AmqpLifecycleEvent page) Companion: Connectum-Framework/connectum#216 (closes connectum#197) Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_015Sp8jYmRXyvUmsErDuNJvt --- .../events-amqp/functions/AmqpAdapter.md | 2 +- en/api/@connectum/events-amqp/index.md | 6 ++ en/api/@connectum/events-amqp/types/index.md | 1 + .../types/interfaces/AmqpAdapterOptions.md | 13 +-- .../interfaces/AmqpBindingDeclaration.md | 12 +-- .../types/interfaces/AmqpConsumerOptions.md | 6 +- .../interfaces/AmqpExchangeDeclaration.md | 12 +-- .../types/interfaces/AmqpExchangeOptions.md | 6 +- .../interfaces/AmqpLifecycleCallbacks.md | 84 ++++++++++++++++--- .../types/interfaces/AmqpPublisherOptions.md | 10 +-- .../types/interfaces/AmqpQueueDeclaration.md | 12 +-- .../types/interfaces/AmqpQueueOptions.md | 12 +-- .../types/interfaces/AmqpQueueOverride.md | 8 +- .../types/interfaces/AmqpRecoveryOptions.md | 12 +-- .../interfaces/AmqpSerializationOptions.md | 8 +- .../types/interfaces/AmqpTopology.md | 8 +- .../types/type-aliases/AmqpLifecycleEvent.md | 35 ++++++++ .../types/type-aliases/AmqpTopologyMode.md | 2 +- .../types/variables/AmqpTopologyMode.md | 2 +- en/api/typedoc-sidebar.json | 2 +- en/packages/events-amqp.md | 46 +++++++--- 21 files changed, 211 insertions(+), 88 deletions(-) create mode 100644 en/api/@connectum/events-amqp/types/type-aliases/AmqpLifecycleEvent.md diff --git a/en/api/@connectum/events-amqp/functions/AmqpAdapter.md b/en/api/@connectum/events-amqp/functions/AmqpAdapter.md index 64b34759..c1ae63f6 100644 --- a/en/api/@connectum/events-amqp/functions/AmqpAdapter.md +++ b/en/api/@connectum/events-amqp/functions/AmqpAdapter.md @@ -4,7 +4,7 @@ > **AmqpAdapter**(`options`): `EventAdapter` -Defined in: [packages/events-amqp/src/AmqpAdapter.ts:254](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/AmqpAdapter.ts#L254) +Defined in: [packages/events-amqp/src/AmqpAdapter.ts:335](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/AmqpAdapter.ts#L335) Create an AMQP/RabbitMQ adapter for @connectum/events. diff --git a/en/api/@connectum/events-amqp/index.md b/en/api/@connectum/events-amqp/index.md index b511ecb2..d4b5d2d4 100644 --- a/en/api/@connectum/events-amqp/index.md +++ b/en/api/@connectum/events-amqp/index.md @@ -59,6 +59,12 @@ Re-exports [AmqpLifecycleCallbacks](types/interfaces/AmqpLifecycleCallbacks.md) *** +### AmqpLifecycleEvent + +Re-exports [AmqpLifecycleEvent](types/type-aliases/AmqpLifecycleEvent.md) + +*** + ### AmqpPublisherOptions Re-exports [AmqpPublisherOptions](types/interfaces/AmqpPublisherOptions.md) diff --git a/en/api/@connectum/events-amqp/types/index.md b/en/api/@connectum/events-amqp/types/index.md index fcab1ff6..a1e75bc4 100644 --- a/en/api/@connectum/events-amqp/types/index.md +++ b/en/api/@connectum/events-amqp/types/index.md @@ -22,6 +22,7 @@ Configuration types for the AMQP/RabbitMQ adapter. ## Type Aliases +- [AmqpLifecycleEvent](type-aliases/AmqpLifecycleEvent.md) - [AmqpTopologyMode](type-aliases/AmqpTopologyMode.md) ## Variables diff --git a/en/api/@connectum/events-amqp/types/interfaces/AmqpAdapterOptions.md b/en/api/@connectum/events-amqp/types/interfaces/AmqpAdapterOptions.md index 569ff822..9b55a5e7 100644 --- a/en/api/@connectum/events-amqp/types/interfaces/AmqpAdapterOptions.md +++ b/en/api/@connectum/events-amqp/types/interfaces/AmqpAdapterOptions.md @@ -64,7 +64,7 @@ Exchange type. > `readonly` `optional` **failFastOnInitialSetupError?**: `boolean` -Defined in: [packages/events-amqp/src/types.ts:149](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L149) +Defined in: [packages/events-amqp/src/types.ts:152](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L152) Fail fast on a DETERMINISTIC setup/topology error on the FIRST connect, instead of entering amqplib's infinite recovery loop. @@ -85,8 +85,11 @@ through to normal recovery (block-until-broker). SUBSEQUENT reconnects always keep infinite-recovery behavior. No-op with `recovery: false` (that path already fails fast on setup). -Enabling this (or supplying [AmqpLifecycleCallbacks.onSetupFailed](AmqpLifecycleCallbacks.md#onsetupfailed)) -adds one extra short-lived connection at startup for the validation probe. +Enabling this — or supplying [AmqpLifecycleCallbacks.onLifecycle](AmqpLifecycleCallbacks.md#onlifecycle) +or [AmqpLifecycleCallbacks.onSetupFailed](AmqpLifecycleCallbacks.md#onsetupfailed) — adds one extra +short-lived connection plus a topology validation pass at startup for +the probe (recovery must be enabled; with `recovery: false` no probe +runs and no `setup-failed` event is delivered). #### Default @@ -100,7 +103,7 @@ false > `readonly` `optional` **lifecycle?**: [`AmqpLifecycleCallbacks`](AmqpLifecycleCallbacks.md) -Defined in: [packages/events-amqp/src/types.ts:155](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L155) +Defined in: [packages/events-amqp/src/types.ts:158](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L158) Connection lifecycle callbacks. Connection errors are surfaced here — not just logged. @@ -121,7 +124,7 @@ Publisher options. > `readonly` `optional` **publishTimeoutMs?**: `number` -Defined in: [packages/events-amqp/src/types.ts:165](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L165) +Defined in: [packages/events-amqp/src/types.ts:168](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L168) Per-publish broker-outcome deadline in milliseconds. A publish whose ack/nack/return/connection-loss outcome does not arrive in time diff --git a/en/api/@connectum/events-amqp/types/interfaces/AmqpBindingDeclaration.md b/en/api/@connectum/events-amqp/types/interfaces/AmqpBindingDeclaration.md index 421d3dd5..bd778d64 100644 --- a/en/api/@connectum/events-amqp/types/interfaces/AmqpBindingDeclaration.md +++ b/en/api/@connectum/events-amqp/types/interfaces/AmqpBindingDeclaration.md @@ -2,7 +2,7 @@ # Interface: AmqpBindingDeclaration -Defined in: [packages/events-amqp/src/types.ts:225](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L225) +Defined in: [packages/events-amqp/src/types.ts:228](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L228) ## Properties @@ -10,7 +10,7 @@ Defined in: [packages/events-amqp/src/types.ts:225](https://github.com/Connectum > `readonly` `optional` **arguments?**: `Record`\<`string`, `unknown`\> -Defined in: [packages/events-amqp/src/types.ts:233](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L233) +Defined in: [packages/events-amqp/src/types.ts:236](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L236) *** @@ -18,7 +18,7 @@ Defined in: [packages/events-amqp/src/types.ts:233](https://github.com/Connectum > `readonly` `optional` **exchange?**: `string` -Defined in: [packages/events-amqp/src/types.ts:229](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L229) +Defined in: [packages/events-amqp/src/types.ts:232](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L232) Destination exchange name (exchange-to-exchange binding). @@ -28,7 +28,7 @@ Destination exchange name (exchange-to-exchange binding). > `readonly` `optional` **queue?**: `string` -Defined in: [packages/events-amqp/src/types.ts:227](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L227) +Defined in: [packages/events-amqp/src/types.ts:230](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L230) Destination queue name (queue binding) — mutually exclusive with `exchange`. @@ -38,7 +38,7 @@ Destination queue name (queue binding) — mutually exclusive with `exchange`. > `readonly` **routingKey**: `string` -Defined in: [packages/events-amqp/src/types.ts:232](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L232) +Defined in: [packages/events-amqp/src/types.ts:235](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L235) *** @@ -46,6 +46,6 @@ Defined in: [packages/events-amqp/src/types.ts:232](https://github.com/Connectum > `readonly` **source**: `string` -Defined in: [packages/events-amqp/src/types.ts:231](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L231) +Defined in: [packages/events-amqp/src/types.ts:234](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L234) Source exchange. diff --git a/en/api/@connectum/events-amqp/types/interfaces/AmqpConsumerOptions.md b/en/api/@connectum/events-amqp/types/interfaces/AmqpConsumerOptions.md index 7ee136a4..3b246087 100644 --- a/en/api/@connectum/events-amqp/types/interfaces/AmqpConsumerOptions.md +++ b/en/api/@connectum/events-amqp/types/interfaces/AmqpConsumerOptions.md @@ -2,7 +2,7 @@ # Interface: AmqpConsumerOptions -Defined in: [packages/events-amqp/src/types.ts:364](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L364) +Defined in: [packages/events-amqp/src/types.ts:436](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L436) Consumer options. @@ -12,7 +12,7 @@ Consumer options. > `readonly` `optional` **exclusive?**: `boolean` -Defined in: [packages/events-amqp/src/types.ts:378](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L378) +Defined in: [packages/events-amqp/src/types.ts:450](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L450) Whether the consumer is exclusive to this connection. @@ -28,7 +28,7 @@ false > `readonly` `optional` **prefetch?**: `number` -Defined in: [packages/events-amqp/src/types.ts:371](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L371) +Defined in: [packages/events-amqp/src/types.ts:443](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L443) Prefetch count (QoS) — how many unacknowledged messages a consumer can have at a time. diff --git a/en/api/@connectum/events-amqp/types/interfaces/AmqpExchangeDeclaration.md b/en/api/@connectum/events-amqp/types/interfaces/AmqpExchangeDeclaration.md index cc5f5df6..a21c0907 100644 --- a/en/api/@connectum/events-amqp/types/interfaces/AmqpExchangeDeclaration.md +++ b/en/api/@connectum/events-amqp/types/interfaces/AmqpExchangeDeclaration.md @@ -2,7 +2,7 @@ # Interface: AmqpExchangeDeclaration -Defined in: [packages/events-amqp/src/types.ts:207](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L207) +Defined in: [packages/events-amqp/src/types.ts:210](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L210) ## Properties @@ -10,7 +10,7 @@ Defined in: [packages/events-amqp/src/types.ts:207](https://github.com/Connectum > `readonly` `optional` **arguments?**: `Record`\<`string`, `unknown`\> -Defined in: [packages/events-amqp/src/types.ts:213](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L213) +Defined in: [packages/events-amqp/src/types.ts:216](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L216) Raw AMQP arguments passthrough. @@ -20,7 +20,7 @@ Raw AMQP arguments passthrough. > `readonly` `optional` **autoDelete?**: `boolean` -Defined in: [packages/events-amqp/src/types.ts:211](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L211) +Defined in: [packages/events-amqp/src/types.ts:214](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L214) *** @@ -28,7 +28,7 @@ Defined in: [packages/events-amqp/src/types.ts:211](https://github.com/Connectum > `readonly` `optional` **durable?**: `boolean` -Defined in: [packages/events-amqp/src/types.ts:210](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L210) +Defined in: [packages/events-amqp/src/types.ts:213](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L213) *** @@ -36,7 +36,7 @@ Defined in: [packages/events-amqp/src/types.ts:210](https://github.com/Connectum > `readonly` **name**: `string` -Defined in: [packages/events-amqp/src/types.ts:208](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L208) +Defined in: [packages/events-amqp/src/types.ts:211](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L211) *** @@ -44,4 +44,4 @@ Defined in: [packages/events-amqp/src/types.ts:208](https://github.com/Connectum > `readonly` **type**: `"headers"` \| `"topic"` \| `"direct"` \| `"fanout"` -Defined in: [packages/events-amqp/src/types.ts:209](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L209) +Defined in: [packages/events-amqp/src/types.ts:212](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L212) diff --git a/en/api/@connectum/events-amqp/types/interfaces/AmqpExchangeOptions.md b/en/api/@connectum/events-amqp/types/interfaces/AmqpExchangeOptions.md index 81f5b3f5..8900ce62 100644 --- a/en/api/@connectum/events-amqp/types/interfaces/AmqpExchangeOptions.md +++ b/en/api/@connectum/events-amqp/types/interfaces/AmqpExchangeOptions.md @@ -2,7 +2,7 @@ # Interface: AmqpExchangeOptions -Defined in: [packages/events-amqp/src/types.ts:313](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L313) +Defined in: [packages/events-amqp/src/types.ts:385](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L385) Exchange assertion options. @@ -12,7 +12,7 @@ Exchange assertion options. > `readonly` `optional` **autoDelete?**: `boolean` -Defined in: [packages/events-amqp/src/types.ts:326](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L326) +Defined in: [packages/events-amqp/src/types.ts:398](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L398) Whether the exchange is deleted when the last queue unbinds. @@ -28,7 +28,7 @@ false > `readonly` `optional` **durable?**: `boolean` -Defined in: [packages/events-amqp/src/types.ts:319](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L319) +Defined in: [packages/events-amqp/src/types.ts:391](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L391) Whether the exchange should survive broker restarts. diff --git a/en/api/@connectum/events-amqp/types/interfaces/AmqpLifecycleCallbacks.md b/en/api/@connectum/events-amqp/types/interfaces/AmqpLifecycleCallbacks.md index 875cf2f9..304c5541 100644 --- a/en/api/@connectum/events-amqp/types/interfaces/AmqpLifecycleCallbacks.md +++ b/en/api/@connectum/events-amqp/types/interfaces/AmqpLifecycleCallbacks.md @@ -2,29 +2,37 @@ # Interface: AmqpLifecycleCallbacks -Defined in: [packages/events-amqp/src/types.ts:284](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L284) +Defined in: [packages/events-amqp/src/types.ts:331](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L331) Connection lifecycle callbacks. +Prefer the single discriminated [onLifecycle](#onlifecycle) callback; the flat +callbacks are a compatibility shim over the same event stream and are +deprecated since 1.3.0 (removal not before 2.0). + ## Properties -### onConnected? +### ~~onConnected?~~ > `readonly` `optional` **onConnected?**: () => `void` -Defined in: [packages/events-amqp/src/types.ts:285](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L285) +Defined in: [packages/events-amqp/src/types.ts:351](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L351) #### Returns `void` +#### Deprecated + +Since 1.3.0 — use [onLifecycle](#onlifecycle) (`type: "connected"`). Kept until at least 2.0. + *** -### onDisconnected? +### ~~onDisconnected?~~ > `readonly` `optional` **onDisconnected?**: (`cause`) => `void` -Defined in: [packages/events-amqp/src/types.ts:286](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L286) +Defined in: [packages/events-amqp/src/types.ts:353](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L353) #### Parameters @@ -36,13 +44,51 @@ Defined in: [packages/events-amqp/src/types.ts:286](https://github.com/Connectum `void` +#### Deprecated + +Since 1.3.0 — use [onLifecycle](#onlifecycle) (`type: "disconnected"`). Kept until at least 2.0. + *** -### onReconnectFailed? +### onLifecycle? + +> `readonly` `optional` **onLifecycle?**: (`event`) => `void` + +Defined in: [packages/events-amqp/src/types.ts:349](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L349) + +Single discriminated-union lifecycle callback — the preferred surface. +Receives every [AmqpLifecycleEvent](../type-aliases/AmqpLifecycleEvent.md), including `blocked`/`unblocked`, +which have no flat-callback equivalent. Flat callbacks (if also set) are +invoked after `onLifecycle` for the same underlying event. + +MUST NOT throw: dispatch runs inside the connection driver's event +handlers, so exceptions are isolated (swallowed) to protect the +connection — a throwing callback neither disturbs recovery nor starves +the flat shim. + +Setting this (like `onSetupFailed` / `failFastOnInitialSetupError`) +enables the startup validation probe: one extra short-lived connection +plus a topology validation pass at `connect()` (requires recovery +enabled), so `setup-failed { initial: true }` can be delivered for a +deterministic misconfiguration at boot. + +#### Parameters + +##### event + +[`AmqpLifecycleEvent`](../type-aliases/AmqpLifecycleEvent.md) + +#### Returns + +`void` + +*** + +### ~~onReconnectFailed?~~ > `readonly` `optional` **onReconnectFailed?**: (`cause`) => `void` -Defined in: [packages/events-amqp/src/types.ts:294](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L294) +Defined in: [packages/events-amqp/src/types.ts:364](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L364) #### Parameters @@ -54,13 +100,17 @@ Defined in: [packages/events-amqp/src/types.ts:294](https://github.com/Connectum `void` +#### Deprecated + +Since 1.3.0 — use [onLifecycle](#onlifecycle) (`type: "reconnect-failed"`). Kept until at least 2.0. + *** -### onReconnecting? +### ~~onReconnecting?~~ > `readonly` `optional` **onReconnecting?**: (`info`) => `void` -Defined in: [packages/events-amqp/src/types.ts:293](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L293) +Defined in: [packages/events-amqp/src/types.ts:362](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L362) A reconnect attempt has been scheduled. Fires exactly ONCE per scheduled retry (amqplib's `reconnect-scheduled`). A failed attempt that also emits @@ -87,13 +137,17 @@ case is reported via [onReconnectFailed](#onreconnectfailed), not here. `void` +#### Deprecated + +Since 1.3.0 — use [onLifecycle](#onlifecycle) (`type: "reconnecting"`). Kept until at least 2.0. + *** -### onSetupFailed? +### ~~onSetupFailed?~~ > `readonly` `optional` **onSetupFailed?**: (`error`, `ctx`) => `void` -Defined in: [packages/events-amqp/src/types.ts:307](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L307) +Defined in: [packages/events-amqp/src/types.ts:379](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L379) A setup/topology failure occurred while (re)applying the declarative topology — on the initial connect's validation probe (`ctx.initial: true`, @@ -103,8 +157,8 @@ topology — on the initial connect's validation probe (`ctx.initial: true`, This surfaces deterministic configuration drift (e.g. a missing queue in `check` mode, or a `PRECONDITION_FAILED` redeclare) distinctly from a mere broker outage, even when fail-fast is off. The initial-connect invocation -requires a startup validation probe, which runs when either this callback or -[AmqpAdapterOptions.failFastOnInitialSetupError](AmqpAdapterOptions.md#failfastoninitialsetuperror) is set. +requires a startup validation probe, which runs when either this callback, +[onLifecycle](#onlifecycle), or [AmqpAdapterOptions.failFastOnInitialSetupError](AmqpAdapterOptions.md#failfastoninitialsetuperror) is set. #### Parameters @@ -125,3 +179,7 @@ requires a startup validation probe, which runs when either this callback or #### Returns `void` + +#### Deprecated + +Since 1.3.0 — use [onLifecycle](#onlifecycle) (`type: "setup-failed"`). Kept until at least 2.0. diff --git a/en/api/@connectum/events-amqp/types/interfaces/AmqpPublisherOptions.md b/en/api/@connectum/events-amqp/types/interfaces/AmqpPublisherOptions.md index 1718634a..f8d77516 100644 --- a/en/api/@connectum/events-amqp/types/interfaces/AmqpPublisherOptions.md +++ b/en/api/@connectum/events-amqp/types/interfaces/AmqpPublisherOptions.md @@ -2,7 +2,7 @@ # Interface: AmqpPublisherOptions -Defined in: [packages/events-amqp/src/types.ts:384](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L384) +Defined in: [packages/events-amqp/src/types.ts:456](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L456) Publisher options. @@ -12,7 +12,7 @@ Publisher options. > `readonly` `optional` **correlationHeader?**: `boolean` -Defined in: [packages/events-amqp/src/types.ts:413](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L413) +Defined in: [packages/events-amqp/src/types.ts:485](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L485) How `basic.return` frames are correlated to publishes when `mandatory: true`. The return frame carries no deliveryTag, so: @@ -36,7 +36,7 @@ true > `readonly` `optional` **externalContract?**: `boolean` -Defined in: [packages/events-amqp/src/types.ts:442](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L442) +Defined in: [packages/events-amqp/src/types.ts:514](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L514) Publish against an EXTERNAL (non-EventBus) message contract: suppress the EventBus envelope so the wire frame carries ONLY contract-specified @@ -74,7 +74,7 @@ false > `readonly` `optional` **mandatory?**: `boolean` -Defined in: [packages/events-amqp/src/types.ts:398](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L398) +Defined in: [packages/events-amqp/src/types.ts:470](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L470) Whether the message should be returned if it cannot be routed. Unroutable messages reject the publish with `AmqpUnroutableError`. @@ -91,7 +91,7 @@ false > `readonly` `optional` **persistent?**: `boolean` -Defined in: [packages/events-amqp/src/types.ts:390](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L390) +Defined in: [packages/events-amqp/src/types.ts:462](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L462) Whether messages should be persisted to disk (deliveryMode=2). diff --git a/en/api/@connectum/events-amqp/types/interfaces/AmqpQueueDeclaration.md b/en/api/@connectum/events-amqp/types/interfaces/AmqpQueueDeclaration.md index 776ebd7a..64810f35 100644 --- a/en/api/@connectum/events-amqp/types/interfaces/AmqpQueueDeclaration.md +++ b/en/api/@connectum/events-amqp/types/interfaces/AmqpQueueDeclaration.md @@ -2,7 +2,7 @@ # Interface: AmqpQueueDeclaration -Defined in: [packages/events-amqp/src/types.ts:216](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L216) +Defined in: [packages/events-amqp/src/types.ts:219](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L219) ## Properties @@ -10,7 +10,7 @@ Defined in: [packages/events-amqp/src/types.ts:216](https://github.com/Connectum > `readonly` `optional` **arguments?**: `Record`\<`string`, `unknown`\> -Defined in: [packages/events-amqp/src/types.ts:222](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L222) +Defined in: [packages/events-amqp/src/types.ts:225](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L225) Raw AMQP arguments passthrough (e.g. x-dead-letter-exchange). @@ -20,7 +20,7 @@ Raw AMQP arguments passthrough (e.g. x-dead-letter-exchange). > `readonly` `optional` **autoDelete?**: `boolean` -Defined in: [packages/events-amqp/src/types.ts:219](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L219) +Defined in: [packages/events-amqp/src/types.ts:222](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L222) *** @@ -28,7 +28,7 @@ Defined in: [packages/events-amqp/src/types.ts:219](https://github.com/Connectum > `readonly` `optional` **durable?**: `boolean` -Defined in: [packages/events-amqp/src/types.ts:218](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L218) +Defined in: [packages/events-amqp/src/types.ts:221](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L221) *** @@ -36,7 +36,7 @@ Defined in: [packages/events-amqp/src/types.ts:218](https://github.com/Connectum > `readonly` `optional` **exclusive?**: `boolean` -Defined in: [packages/events-amqp/src/types.ts:220](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L220) +Defined in: [packages/events-amqp/src/types.ts:223](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L223) *** @@ -44,4 +44,4 @@ Defined in: [packages/events-amqp/src/types.ts:220](https://github.com/Connectum > `readonly` **name**: `string` -Defined in: [packages/events-amqp/src/types.ts:217](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L217) +Defined in: [packages/events-amqp/src/types.ts:220](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L220) diff --git a/en/api/@connectum/events-amqp/types/interfaces/AmqpQueueOptions.md b/en/api/@connectum/events-amqp/types/interfaces/AmqpQueueOptions.md index 264e9ec0..144919ef 100644 --- a/en/api/@connectum/events-amqp/types/interfaces/AmqpQueueOptions.md +++ b/en/api/@connectum/events-amqp/types/interfaces/AmqpQueueOptions.md @@ -2,7 +2,7 @@ # Interface: AmqpQueueOptions -Defined in: [packages/events-amqp/src/types.ts:332](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L332) +Defined in: [packages/events-amqp/src/types.ts:404](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L404) Queue assertion options. @@ -12,7 +12,7 @@ Queue assertion options. > `readonly` `optional` **deadLetterExchange?**: `string` -Defined in: [packages/events-amqp/src/types.ts:353](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L353) +Defined in: [packages/events-amqp/src/types.ts:425](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L425) Dead letter exchange name for rejected messages. @@ -22,7 +22,7 @@ Dead letter exchange name for rejected messages. > `readonly` `optional` **deadLetterRoutingKey?**: `string` -Defined in: [packages/events-amqp/src/types.ts:358](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L358) +Defined in: [packages/events-amqp/src/types.ts:430](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L430) Dead letter routing key for rejected messages. @@ -32,7 +32,7 @@ Dead letter routing key for rejected messages. > `readonly` `optional` **durable?**: `boolean` -Defined in: [packages/events-amqp/src/types.ts:338](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L338) +Defined in: [packages/events-amqp/src/types.ts:410](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L410) Whether the queue should survive broker restarts. @@ -48,7 +48,7 @@ true > `readonly` `optional` **maxLength?**: `number` -Defined in: [packages/events-amqp/src/types.ts:348](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L348) +Defined in: [packages/events-amqp/src/types.ts:420](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L420) Maximum number of messages in the queue. @@ -58,6 +58,6 @@ Maximum number of messages in the queue. > `readonly` `optional` **messageTtl?**: `number` -Defined in: [packages/events-amqp/src/types.ts:343](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L343) +Defined in: [packages/events-amqp/src/types.ts:415](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L415) Per-message TTL in milliseconds. diff --git a/en/api/@connectum/events-amqp/types/interfaces/AmqpQueueOverride.md b/en/api/@connectum/events-amqp/types/interfaces/AmqpQueueOverride.md index 7a13ac66..22ceb881 100644 --- a/en/api/@connectum/events-amqp/types/interfaces/AmqpQueueOverride.md +++ b/en/api/@connectum/events-amqp/types/interfaces/AmqpQueueOverride.md @@ -2,7 +2,7 @@ # Interface: AmqpQueueOverride -Defined in: [packages/events-amqp/src/types.ts:237](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L237) +Defined in: [packages/events-amqp/src/types.ts:240](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L240) External queue override for a consumer group. @@ -12,7 +12,7 @@ External queue override for a consumer group. > `readonly` `optional` **arguments?**: `Record`\<`string`, `unknown`\> -Defined in: [packages/events-amqp/src/types.ts:241](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L241) +Defined in: [packages/events-amqp/src/types.ts:244](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L244) Raw AMQP arguments used when asserting the queue (assert mode only). @@ -22,7 +22,7 @@ Raw AMQP arguments used when asserting the queue (assert mode only). > `readonly` `optional` **durable?**: `boolean` -Defined in: [packages/events-amqp/src/types.ts:243](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L243) +Defined in: [packages/events-amqp/src/types.ts:246](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L246) #### Default @@ -36,6 +36,6 @@ true > `readonly` **queue**: `string` -Defined in: [packages/events-amqp/src/types.ts:239](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L239) +Defined in: [packages/events-amqp/src/types.ts:242](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L242) Externally-defined queue name to consume from. diff --git a/en/api/@connectum/events-amqp/types/interfaces/AmqpRecoveryOptions.md b/en/api/@connectum/events-amqp/types/interfaces/AmqpRecoveryOptions.md index 1e9adf2b..bbe95192 100644 --- a/en/api/@connectum/events-amqp/types/interfaces/AmqpRecoveryOptions.md +++ b/en/api/@connectum/events-amqp/types/interfaces/AmqpRecoveryOptions.md @@ -2,7 +2,7 @@ # Interface: AmqpRecoveryOptions -Defined in: [packages/events-amqp/src/types.ts:270](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L270) +Defined in: [packages/events-amqp/src/types.ts:273](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L273) Recovery knobs (passed through to amqplib's opt-in recovery). @@ -33,7 +33,7 @@ pluggable backoff hook, are tracked as future options — see > `readonly` `optional` **factor?**: `number` -Defined in: [packages/events-amqp/src/types.ts:276](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L276) +Defined in: [packages/events-amqp/src/types.ts:279](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L279) #### Default @@ -47,7 +47,7 @@ Defined in: [packages/events-amqp/src/types.ts:276](https://github.com/Connectum > `readonly` `optional` **initialDelay?**: `number` -Defined in: [packages/events-amqp/src/types.ts:272](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L272) +Defined in: [packages/events-amqp/src/types.ts:275](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L275) #### Default @@ -61,7 +61,7 @@ Defined in: [packages/events-amqp/src/types.ts:272](https://github.com/Connectum > `readonly` `optional` **jitter?**: `number` -Defined in: [packages/events-amqp/src/types.ts:278](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L278) +Defined in: [packages/events-amqp/src/types.ts:281](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L281) Symmetric jitter factor (0..1): the delay is uniform in `[base × (1 − jitter), base × (1 + jitter)]`. @@ -77,7 +77,7 @@ Symmetric jitter factor (0..1): the delay is uniform in `[base × (1 − jitter) > `readonly` `optional` **maxDelay?**: `number` -Defined in: [packages/events-amqp/src/types.ts:274](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L274) +Defined in: [packages/events-amqp/src/types.ts:277](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L277) Base delay cap in ms; jitter is applied on top of the capped base, so the effective wait can exceed it. @@ -93,7 +93,7 @@ Base delay cap in ms; jitter is applied on top of the capped base, so the effect > `readonly` `optional` **maxRetries?**: `number` -Defined in: [packages/events-amqp/src/types.ts:280](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L280) +Defined in: [packages/events-amqp/src/types.ts:283](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L283) Attempts per series (initial connect and each recovery series); resets on success. diff --git a/en/api/@connectum/events-amqp/types/interfaces/AmqpSerializationOptions.md b/en/api/@connectum/events-amqp/types/interfaces/AmqpSerializationOptions.md index ea1ec817..70de1cc6 100644 --- a/en/api/@connectum/events-amqp/types/interfaces/AmqpSerializationOptions.md +++ b/en/api/@connectum/events-amqp/types/interfaces/AmqpSerializationOptions.md @@ -2,7 +2,7 @@ # Interface: AmqpSerializationOptions -Defined in: [packages/events-amqp/src/types.ts:178](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L178) +Defined in: [packages/events-amqp/src/types.ts:181](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L181) Serialization metadata and optional wire transcoding. @@ -12,7 +12,7 @@ Serialization metadata and optional wire transcoding. > `readonly` `optional` **contentType?**: `string` -Defined in: [packages/events-amqp/src/types.ts:184](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L184) +Defined in: [packages/events-amqp/src/types.ts:187](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L187) AMQP `contentType` message property. @@ -28,7 +28,7 @@ AMQP `contentType` message property. > `readonly` `optional` **decode?**: (`content`) => `Uint8Array` -Defined in: [packages/events-amqp/src/types.ts:197](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L197) +Defined in: [packages/events-amqp/src/types.ts:200](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L200) Transform the incoming wire body before it reaches the event handler. Failures nack the message (requeue per consumer policy). @@ -49,7 +49,7 @@ Failures nack the message (requeue per consumer policy). > `readonly` `optional` **encode?**: (`payload`) => `Uint8Array` -Defined in: [packages/events-amqp/src/types.ts:191](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L191) +Defined in: [packages/events-amqp/src/types.ts:194](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L194) Transform the outgoing wire body. Receives the payload bytes the EventBus (or the application) produced. Failures reject the publish diff --git a/en/api/@connectum/events-amqp/types/interfaces/AmqpTopology.md b/en/api/@connectum/events-amqp/types/interfaces/AmqpTopology.md index ecef8687..8a1679d8 100644 --- a/en/api/@connectum/events-amqp/types/interfaces/AmqpTopology.md +++ b/en/api/@connectum/events-amqp/types/interfaces/AmqpTopology.md @@ -2,7 +2,7 @@ # Interface: AmqpTopology -Defined in: [packages/events-amqp/src/types.ts:201](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L201) +Defined in: [packages/events-amqp/src/types.ts:204](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L204) Declarative topology. @@ -12,7 +12,7 @@ Declarative topology. > `readonly` `optional` **bindings?**: readonly [`AmqpBindingDeclaration`](AmqpBindingDeclaration.md)[] -Defined in: [packages/events-amqp/src/types.ts:204](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L204) +Defined in: [packages/events-amqp/src/types.ts:207](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L207) *** @@ -20,7 +20,7 @@ Defined in: [packages/events-amqp/src/types.ts:204](https://github.com/Connectum > `readonly` `optional` **exchanges?**: readonly [`AmqpExchangeDeclaration`](AmqpExchangeDeclaration.md)[] -Defined in: [packages/events-amqp/src/types.ts:202](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L202) +Defined in: [packages/events-amqp/src/types.ts:205](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L205) *** @@ -28,4 +28,4 @@ Defined in: [packages/events-amqp/src/types.ts:202](https://github.com/Connectum > `readonly` `optional` **queues?**: readonly [`AmqpQueueDeclaration`](AmqpQueueDeclaration.md)[] -Defined in: [packages/events-amqp/src/types.ts:203](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L203) +Defined in: [packages/events-amqp/src/types.ts:206](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L206) diff --git a/en/api/@connectum/events-amqp/types/type-aliases/AmqpLifecycleEvent.md b/en/api/@connectum/events-amqp/types/type-aliases/AmqpLifecycleEvent.md new file mode 100644 index 00000000..a84de03e --- /dev/null +++ b/en/api/@connectum/events-amqp/types/type-aliases/AmqpLifecycleEvent.md @@ -0,0 +1,35 @@ +[Connectum API Reference](../../../../index.md) / [@connectum/events-amqp](../../index.md) / [types](../index.md) / AmqpLifecycleEvent + +# Type Alias: AmqpLifecycleEvent + +> **AmqpLifecycleEvent** = \{ `reconnected`: `boolean`; `type`: `"connected"`; \} \| \{ `error`: `Error`; `type`: `"disconnected"`; \} \| \{ `attempt`: `number`; `delay`: `number`; `error`: `Error`; `type`: `"reconnecting"`; \} \| \{ `error`: `Error`; `type`: `"reconnect-failed"`; \} \| \{ `attempt`: `number`; `error`: `Error`; `initial`: `boolean`; `type`: `"setup-failed"`; \} \| \{ `reason`: `string`; `type`: `"blocked"`; \} \| \{ `type`: `"unblocked"`; \} + +Defined in: [packages/events-amqp/src/types.ts:315](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L315) + +Discriminated connection lifecycle event, delivered to +[AmqpLifecycleCallbacks.onLifecycle](../interfaces/AmqpLifecycleCallbacks.md#onlifecycle). + +Exactly-once guarantees (pinned by integration tests): +- `connected` fires once per successful (re)connect; `reconnected` is `false` + for the initial connect and `true` after a recovery. +- `disconnected` fires once per connection loss (a socket-level cut no longer + double-fires via the raw `error` event — fixed in 1.3.0). +- `reconnecting` fires once per scheduled retry AFTER the connection has been + established once; the terminal retries-exhausted case is `reconnect-failed`. +- `setup-failed` reports a topology/setup failure on the initial validation + probe (`initial: true`, `attempt: 0`) or a reconnect re-assert + (`initial: false`, `attempt` >= 1). +- `blocked`/`unblocked` surface broker flow control (RabbitMQ + `connection.blocked`, e.g. under a memory/disk alarm); they have no flat + callback equivalent. + +Scope: the retry loop of the INITIAL connect (broker unreachable when +`connect()` is called) happens before the lifecycle wiring can attach, so +its per-retry events are not surfaced; the startup probe covers the +deterministic-misconfiguration case (`setup-failed { initial: true }`). +Full initial-window observability lands with the adapter-owned bounded +initial phase — see +[https://github.com/Connectum-Framework/connectum/issues/198](https://github.com/Connectum-Framework/connectum/issues/198). + +The `type` values are deliberately broker-agnostic so a future +cross-adapter generalization stays non-breaking. diff --git a/en/api/@connectum/events-amqp/types/type-aliases/AmqpTopologyMode.md b/en/api/@connectum/events-amqp/types/type-aliases/AmqpTopologyMode.md index 7a453bd6..a1d78547 100644 --- a/en/api/@connectum/events-amqp/types/type-aliases/AmqpTopologyMode.md +++ b/en/api/@connectum/events-amqp/types/type-aliases/AmqpTopologyMode.md @@ -4,6 +4,6 @@ > **AmqpTopologyMode** = *typeof* [`AmqpTopologyMode`](../variables/AmqpTopologyMode.md)\[keyof *typeof* [`AmqpTopologyMode`](../variables/AmqpTopologyMode.md)\] -Defined in: [packages/events-amqp/src/types.ts:169](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L169) +Defined in: [packages/events-amqp/src/types.ts:172](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L172) Topology establishment mode. diff --git a/en/api/@connectum/events-amqp/types/variables/AmqpTopologyMode.md b/en/api/@connectum/events-amqp/types/variables/AmqpTopologyMode.md index cc64e7f5..dabe6fb6 100644 --- a/en/api/@connectum/events-amqp/types/variables/AmqpTopologyMode.md +++ b/en/api/@connectum/events-amqp/types/variables/AmqpTopologyMode.md @@ -4,7 +4,7 @@ > `const` **AmqpTopologyMode**: `object` -Defined in: [packages/events-amqp/src/types.ts:169](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L169) +Defined in: [packages/events-amqp/src/types.ts:172](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L172) Topology establishment mode. diff --git a/en/api/typedoc-sidebar.json b/en/api/typedoc-sidebar.json index ebf68c56..fb9908b3 100644 --- a/en/api/typedoc-sidebar.json +++ b/en/api/typedoc-sidebar.json @@ -1 +1 @@ -[{"text":"@connectum/auth","link":"/en/api/@connectum/auth/","collapsed":true,"items":[{"text":"Modules","collapsed":true,"items":[{"text":"proto","link":"/en/api/@connectum/auth/proto/","collapsed":true,"items":[{"text":"Type Aliases","collapsed":true,"items":[{"text":"AuthRequirements","link":"/en/api/@connectum/auth/proto/type-aliases/AuthRequirements.md"},{"text":"MethodAuth","link":"/en/api/@connectum/auth/proto/type-aliases/MethodAuth.md"},{"text":"ServiceAuth","link":"/en/api/@connectum/auth/proto/type-aliases/ServiceAuth.md"}]},{"text":"Variables","collapsed":true,"items":[{"text":"AuthRequirementsSchema","link":"/en/api/@connectum/auth/proto/variables/AuthRequirementsSchema.md"},{"text":"method_auth","link":"/en/api/@connectum/auth/proto/variables/method_auth.md"},{"text":"MethodAuthSchema","link":"/en/api/@connectum/auth/proto/variables/MethodAuthSchema.md"},{"text":"service_auth","link":"/en/api/@connectum/auth/proto/variables/service_auth.md"},{"text":"ServiceAuthSchema","link":"/en/api/@connectum/auth/proto/variables/ServiceAuthSchema.md"}]}]},{"text":"testing","link":"/en/api/@connectum/auth/testing/","collapsed":true,"items":[{"text":"Interfaces","collapsed":true,"items":[{"text":"RsaTestKeypair","link":"/en/api/@connectum/auth/testing/interfaces/RsaTestKeypair.md"},{"text":"TestJwksServer","link":"/en/api/@connectum/auth/testing/interfaces/TestJwksServer.md"}]},{"text":"Variables","collapsed":true,"items":[{"text":"TEST_JWT_KID","link":"/en/api/@connectum/auth/testing/variables/TEST_JWT_KID.md"},{"text":"TEST_JWT_SECRET","link":"/en/api/@connectum/auth/testing/variables/TEST_JWT_SECRET.md"}]},{"text":"Functions","collapsed":true,"items":[{"text":"createMockAuthContext","link":"/en/api/@connectum/auth/testing/functions/createMockAuthContext.md"},{"text":"createTestJwt","link":"/en/api/@connectum/auth/testing/functions/createTestJwt.md"},{"text":"createTestJwtRS256","link":"/en/api/@connectum/auth/testing/functions/createTestJwtRS256.md"},{"text":"generateRsaTestKeypair","link":"/en/api/@connectum/auth/testing/functions/generateRsaTestKeypair.md"},{"text":"startTestJwksServer","link":"/en/api/@connectum/auth/testing/functions/startTestJwksServer.md"},{"text":"withAuthContext","link":"/en/api/@connectum/auth/testing/functions/withAuthContext.md"}]}]}]},{"text":"Classes","collapsed":true,"items":[{"text":"AuthzDeniedError","link":"/en/api/@connectum/auth/classes/AuthzDeniedError.md"},{"text":"LruCache","link":"/en/api/@connectum/auth/classes/LruCache.md"}]},{"text":"Interfaces","collapsed":true,"items":[{"text":"AuthContext","link":"/en/api/@connectum/auth/interfaces/AuthContext.md"},{"text":"AuthInterceptorOptions","link":"/en/api/@connectum/auth/interfaces/AuthInterceptorOptions.md"},{"text":"AuthzDeniedDetails","link":"/en/api/@connectum/auth/interfaces/AuthzDeniedDetails.md"},{"text":"AuthzInterceptorOptions","link":"/en/api/@connectum/auth/interfaces/AuthzInterceptorOptions.md"},{"text":"AuthzRule","link":"/en/api/@connectum/auth/interfaces/AuthzRule.md"},{"text":"CacheOptions","link":"/en/api/@connectum/auth/interfaces/CacheOptions.md"},{"text":"ClientBearerInterceptorOptions","link":"/en/api/@connectum/auth/interfaces/ClientBearerInterceptorOptions.md"},{"text":"ClientGatewayInterceptorOptions","link":"/en/api/@connectum/auth/interfaces/ClientGatewayInterceptorOptions.md"},{"text":"GatewayAuthInterceptorOptions","link":"/en/api/@connectum/auth/interfaces/GatewayAuthInterceptorOptions.md"},{"text":"GatewayHeaderMapping","link":"/en/api/@connectum/auth/interfaces/GatewayHeaderMapping.md"},{"text":"InternalAuthInterceptorOptions","link":"/en/api/@connectum/auth/interfaces/InternalAuthInterceptorOptions.md"},{"text":"JwtAuthInterceptorOptions","link":"/en/api/@connectum/auth/interfaces/JwtAuthInterceptorOptions.md"},{"text":"MeshIdentityEntry","link":"/en/api/@connectum/auth/interfaces/MeshIdentityEntry.md"},{"text":"MeshIdentityTrustOptions","link":"/en/api/@connectum/auth/interfaces/MeshIdentityTrustOptions.md"},{"text":"ProtoAuthzInterceptorOptions","link":"/en/api/@connectum/auth/interfaces/ProtoAuthzInterceptorOptions.md"},{"text":"ResolvedMethodAuth","link":"/en/api/@connectum/auth/interfaces/ResolvedMethodAuth.md"},{"text":"SessionAuthInterceptorOptions","link":"/en/api/@connectum/auth/interfaces/SessionAuthInterceptorOptions.md"},{"text":"SharedSecretTrustOptions","link":"/en/api/@connectum/auth/interfaces/SharedSecretTrustOptions.md"},{"text":"SignedTokenIssuer","link":"/en/api/@connectum/auth/interfaces/SignedTokenIssuer.md"},{"text":"SignedTokenTrustOptions","link":"/en/api/@connectum/auth/interfaces/SignedTokenTrustOptions.md"}]},{"text":"Type Aliases","collapsed":true,"items":[{"text":"AuthzEffect","link":"/en/api/@connectum/auth/type-aliases/AuthzEffect.md"},{"text":"InterceptorFactory","link":"/en/api/@connectum/auth/type-aliases/InterceptorFactory.md"},{"text":"InternalTrustSource","link":"/en/api/@connectum/auth/type-aliases/InternalTrustSource.md"}]},{"text":"Variables","collapsed":true,"items":[{"text":"AUTH_HEADERS","link":"/en/api/@connectum/auth/variables/AUTH_HEADERS.md"},{"text":"authContextStorage","link":"/en/api/@connectum/auth/variables/authContextStorage.md"},{"text":"AuthzEffect","link":"/en/api/@connectum/auth/variables/AuthzEffect.md"}]},{"text":"Functions","collapsed":true,"items":[{"text":"createAuthInterceptor","link":"/en/api/@connectum/auth/functions/createAuthInterceptor.md"},{"text":"createAuthzInterceptor","link":"/en/api/@connectum/auth/functions/createAuthzInterceptor.md"},{"text":"createClientBearerInterceptor","link":"/en/api/@connectum/auth/functions/createClientBearerInterceptor.md"},{"text":"createClientGatewayInterceptor","link":"/en/api/@connectum/auth/functions/createClientGatewayInterceptor.md"},{"text":"createGatewayAuthInterceptor","link":"/en/api/@connectum/auth/functions/createGatewayAuthInterceptor.md"},{"text":"createInternalAuthInterceptor","link":"/en/api/@connectum/auth/functions/createInternalAuthInterceptor.md"},{"text":"createJwtAuthInterceptor","link":"/en/api/@connectum/auth/functions/createJwtAuthInterceptor.md"},{"text":"createProtoAuthzInterceptor","link":"/en/api/@connectum/auth/functions/createProtoAuthzInterceptor.md"},{"text":"createSessionAuthInterceptor","link":"/en/api/@connectum/auth/functions/createSessionAuthInterceptor.md"},{"text":"getAuthContext","link":"/en/api/@connectum/auth/functions/getAuthContext.md"},{"text":"getInternalMethods","link":"/en/api/@connectum/auth/functions/getInternalMethods.md"},{"text":"getPublicMethods","link":"/en/api/@connectum/auth/functions/getPublicMethods.md"},{"text":"matchesMethodPattern","link":"/en/api/@connectum/auth/functions/matchesMethodPattern.md"},{"text":"meshIdentityTrust","link":"/en/api/@connectum/auth/functions/meshIdentityTrust.md"},{"text":"parseAuthHeaders","link":"/en/api/@connectum/auth/functions/parseAuthHeaders.md"},{"text":"requireAuthContext","link":"/en/api/@connectum/auth/functions/requireAuthContext.md"},{"text":"resolveMethodAuth","link":"/en/api/@connectum/auth/functions/resolveMethodAuth.md"},{"text":"setAuthHeaders","link":"/en/api/@connectum/auth/functions/setAuthHeaders.md"},{"text":"sharedSecretTrust","link":"/en/api/@connectum/auth/functions/sharedSecretTrust.md"},{"text":"signedTokenTrust","link":"/en/api/@connectum/auth/functions/signedTokenTrust.md"}]}]},{"text":"@connectum/cli","link":"/en/api/@connectum/cli/","collapsed":true,"items":[{"text":"commands","collapsed":true,"items":[{"text":"proto-sync","link":"/en/api/@connectum/cli/commands/proto-sync/","collapsed":true,"items":[{"text":"Interfaces","collapsed":true,"items":[{"text":"ProtoSyncOptions","link":"/en/api/@connectum/cli/commands/proto-sync/interfaces/ProtoSyncOptions.md"}]},{"text":"Variables","collapsed":true,"items":[{"text":"protoSyncCommand","link":"/en/api/@connectum/cli/commands/proto-sync/variables/protoSyncCommand.md"}]},{"text":"Functions","collapsed":true,"items":[{"text":"executeProtoSync","link":"/en/api/@connectum/cli/commands/proto-sync/functions/executeProtoSync.md"}]}]}]},{"text":"utils","collapsed":true,"items":[{"text":"reflection","link":"/en/api/@connectum/cli/utils/reflection/","collapsed":true,"items":[{"text":"Interfaces","collapsed":true,"items":[{"text":"ReflectionResult","link":"/en/api/@connectum/cli/utils/reflection/interfaces/ReflectionResult.md"}]},{"text":"Functions","collapsed":true,"items":[{"text":"fetchFileDescriptorSetBinary","link":"/en/api/@connectum/cli/utils/reflection/functions/fetchFileDescriptorSetBinary.md"},{"text":"fetchReflectionData","link":"/en/api/@connectum/cli/utils/reflection/functions/fetchReflectionData.md"}]}]}]}]},{"text":"@connectum/core","link":"/en/api/@connectum/core/","collapsed":true,"items":[{"text":"Modules","collapsed":true,"items":[{"text":"config","link":"/en/api/@connectum/core/config/"},{"text":"types","link":"/en/api/@connectum/core/types/","collapsed":true,"items":[{"text":"Interfaces","collapsed":true,"items":[{"text":"CreateServerOptions","link":"/en/api/@connectum/core/types/interfaces/CreateServerOptions.md"},{"text":"EventBusLike","link":"/en/api/@connectum/core/types/interfaces/EventBusLike.md"},{"text":"ProtocolContext","link":"/en/api/@connectum/core/types/interfaces/ProtocolContext.md"},{"text":"ProtocolRegistration","link":"/en/api/@connectum/core/types/interfaces/ProtocolRegistration.md"},{"text":"Server","link":"/en/api/@connectum/core/types/interfaces/Server.md"},{"text":"ServerClientOptions","link":"/en/api/@connectum/core/types/interfaces/ServerClientOptions.md"},{"text":"ShutdownOptions","link":"/en/api/@connectum/core/types/interfaces/ShutdownOptions.md"},{"text":"TLSOptions","link":"/en/api/@connectum/core/types/interfaces/TLSOptions.md"}]},{"text":"Type Aliases","collapsed":true,"items":[{"text":"HttpHandler","link":"/en/api/@connectum/core/types/type-aliases/HttpHandler.md"},{"text":"LifecycleEvent","link":"/en/api/@connectum/core/types/type-aliases/LifecycleEvent.md"},{"text":"NodeRequest","link":"/en/api/@connectum/core/types/type-aliases/NodeRequest.md"},{"text":"NodeResponse","link":"/en/api/@connectum/core/types/type-aliases/NodeResponse.md"},{"text":"ServerState","link":"/en/api/@connectum/core/types/type-aliases/ServerState.md"},{"text":"ShutdownHook","link":"/en/api/@connectum/core/types/type-aliases/ShutdownHook.md"},{"text":"TransportServer","link":"/en/api/@connectum/core/types/type-aliases/TransportServer.md"}]},{"text":"Variables","collapsed":true,"items":[{"text":"LifecycleEvent","link":"/en/api/@connectum/core/types/variables/LifecycleEvent.md"},{"text":"ServerState","link":"/en/api/@connectum/core/types/variables/ServerState.md"}]}]}]},{"text":"Classes","collapsed":true,"items":[{"text":"CatalogConfigError","link":"/en/api/@connectum/core/classes/CatalogConfigError.md"},{"text":"TransportValidationError","link":"/en/api/@connectum/core/classes/TransportValidationError.md"}]},{"text":"Interfaces","collapsed":true,"items":[{"text":"BidiStreamHandle","link":"/en/api/@connectum/core/interfaces/BidiStreamHandle.md"},{"text":"CatalogClient","link":"/en/api/@connectum/core/interfaces/CatalogClient.md"},{"text":"ClientStreamHandle","link":"/en/api/@connectum/core/interfaces/ClientStreamHandle.md"},{"text":"ConnectumCallMap","link":"/en/api/@connectum/core/interfaces/ConnectumCallMap.md"},{"text":"ConnectumStreamMap","link":"/en/api/@connectum/core/interfaces/ConnectumStreamMap.md"},{"text":"Context","link":"/en/api/@connectum/core/interfaces/Context.md"},{"text":"CreateCatalogClientOptions","link":"/en/api/@connectum/core/interfaces/CreateCatalogClientOptions.md"},{"text":"CreateLocalTransportOptions","link":"/en/api/@connectum/core/interfaces/CreateLocalTransportOptions.md"},{"text":"DnsResolverOptions","link":"/en/api/@connectum/core/interfaces/DnsResolverOptions.md"},{"text":"PerServiceEnvResolverOptions","link":"/en/api/@connectum/core/interfaces/PerServiceEnvResolverOptions.md"},{"text":"ResolverContext","link":"/en/api/@connectum/core/interfaces/ResolverContext.md"},{"text":"SanitizableError","link":"/en/api/@connectum/core/interfaces/SanitizableError.md"},{"text":"ServiceDefinition","link":"/en/api/@connectum/core/interfaces/ServiceDefinition.md"},{"text":"StreamingMethodInfo","link":"/en/api/@connectum/core/interfaces/StreamingMethodInfo.md"}]},{"text":"Type Aliases","collapsed":true,"items":[{"text":"CallOptions","link":"/en/api/@connectum/core/type-aliases/CallOptions.md"},{"text":"CatalogCall","link":"/en/api/@connectum/core/type-aliases/CatalogCall.md"},{"text":"CatalogStream","link":"/en/api/@connectum/core/type-aliases/CatalogStream.md"},{"text":"ConnectumEnv","link":"/en/api/@connectum/core/type-aliases/ConnectumEnv.md"},{"text":"ConnectumMethodImpl","link":"/en/api/@connectum/core/type-aliases/ConnectumMethodImpl.md"},{"text":"ConnectumServiceImpl","link":"/en/api/@connectum/core/type-aliases/ConnectumServiceImpl.md"},{"text":"EffectiveTransport","link":"/en/api/@connectum/core/type-aliases/EffectiveTransport.md"},{"text":"RemoteResolver","link":"/en/api/@connectum/core/type-aliases/RemoteResolver.md"},{"text":"ServiceCatalog","link":"/en/api/@connectum/core/type-aliases/ServiceCatalog.md"},{"text":"ServiceOptions","link":"/en/api/@connectum/core/type-aliases/ServiceOptions.md"},{"text":"StreamReturn","link":"/en/api/@connectum/core/type-aliases/StreamReturn.md"},{"text":"TransportValidationMode","link":"/en/api/@connectum/core/type-aliases/TransportValidationMode.md"}]},{"text":"Variables","collapsed":true,"items":[{"text":"BooleanFromStringSchema","link":"/en/api/@connectum/core/variables/BooleanFromStringSchema.md"},{"text":"ConnectumEnvSchema","link":"/en/api/@connectum/core/variables/ConnectumEnvSchema.md"},{"text":"defaultPropagateHeaders","link":"/en/api/@connectum/core/variables/defaultPropagateHeaders.md"},{"text":"EffectiveTransport","link":"/en/api/@connectum/core/variables/EffectiveTransport.md"},{"text":"LogFormatSchema","link":"/en/api/@connectum/core/variables/LogFormatSchema.md"},{"text":"LoggerBackendSchema","link":"/en/api/@connectum/core/variables/LoggerBackendSchema.md"},{"text":"LogLevelSchema","link":"/en/api/@connectum/core/variables/LogLevelSchema.md"},{"text":"NodeEnvSchema","link":"/en/api/@connectum/core/variables/NodeEnvSchema.md"},{"text":"tlsPath","link":"/en/api/@connectum/core/variables/tlsPath.md"},{"text":"TRANSPORT_VALIDATION_ERROR_CODE","link":"/en/api/@connectum/core/variables/TRANSPORT_VALIDATION_ERROR_CODE.md"},{"text":"TransportValidationMode","link":"/en/api/@connectum/core/variables/TransportValidationMode.md"}]},{"text":"Functions","collapsed":true,"items":[{"text":"collectStreamingMethods","link":"/en/api/@connectum/core/functions/collectStreamingMethods.md"},{"text":"createCatalogClient","link":"/en/api/@connectum/core/functions/createCatalogClient.md"},{"text":"createLocalTransport","link":"/en/api/@connectum/core/functions/createLocalTransport.md"},{"text":"createServer","link":"/en/api/@connectum/core/functions/createServer.md"},{"text":"defineCatalog","link":"/en/api/@connectum/core/functions/defineCatalog.md"},{"text":"defineLazyService","link":"/en/api/@connectum/core/functions/defineLazyService.md"},{"text":"defineService","link":"/en/api/@connectum/core/functions/defineService.md"},{"text":"dnsResolver","link":"/en/api/@connectum/core/functions/dnsResolver.md"},{"text":"getTLSPath","link":"/en/api/@connectum/core/functions/getTLSPath.md"},{"text":"isSanitizableError","link":"/en/api/@connectum/core/functions/isSanitizableError.md"},{"text":"mapResolver","link":"/en/api/@connectum/core/functions/mapResolver.md"},{"text":"matchServicesPattern","link":"/en/api/@connectum/core/functions/matchServicesPattern.md"},{"text":"mergeCatalogs","link":"/en/api/@connectum/core/functions/mergeCatalogs.md"},{"text":"mergeEnabledServices","link":"/en/api/@connectum/core/functions/mergeEnabledServices.md"},{"text":"parseEnvConfig","link":"/en/api/@connectum/core/functions/parseEnvConfig.md"},{"text":"parseServicesEnv","link":"/en/api/@connectum/core/functions/parseServicesEnv.md"},{"text":"perServiceEnvResolver","link":"/en/api/@connectum/core/functions/perServiceEnvResolver.md"},{"text":"readTLSCertificates","link":"/en/api/@connectum/core/functions/readTLSCertificates.md"},{"text":"resolveEffectiveTransport","link":"/en/api/@connectum/core/functions/resolveEffectiveTransport.md"},{"text":"safeParseEnvConfig","link":"/en/api/@connectum/core/functions/safeParseEnvConfig.md"},{"text":"singleTransportResolver","link":"/en/api/@connectum/core/functions/singleTransportResolver.md"}]}]},{"text":"@connectum/events","link":"/en/api/@connectum/events/","collapsed":true,"items":[{"text":"Modules","collapsed":true,"items":[{"text":"types","link":"/en/api/@connectum/events/types/","collapsed":true,"items":[{"text":"Interfaces","collapsed":true,"items":[{"text":"AdapterContext","link":"/en/api/@connectum/events/types/interfaces/AdapterContext.md"},{"text":"DlqOptions","link":"/en/api/@connectum/events/types/interfaces/DlqOptions.md"},{"text":"EventAdapter","link":"/en/api/@connectum/events/types/interfaces/EventAdapter.md"},{"text":"EventBus","link":"/en/api/@connectum/events/types/interfaces/EventBus.md"},{"text":"EventBusOptions","link":"/en/api/@connectum/events/types/interfaces/EventBusOptions.md"},{"text":"EventContext","link":"/en/api/@connectum/events/types/interfaces/EventContext.md"},{"text":"EventContextInit","link":"/en/api/@connectum/events/types/interfaces/EventContextInit.md"},{"text":"EventHandlerConfig","link":"/en/api/@connectum/events/types/interfaces/EventHandlerConfig.md"},{"text":"EventRouteEntry","link":"/en/api/@connectum/events/types/interfaces/EventRouteEntry.md"},{"text":"EventRouter","link":"/en/api/@connectum/events/types/interfaces/EventRouter.md"},{"text":"EventSubscription","link":"/en/api/@connectum/events/types/interfaces/EventSubscription.md"},{"text":"MiddlewareConfig","link":"/en/api/@connectum/events/types/interfaces/MiddlewareConfig.md"},{"text":"PublishOptions","link":"/en/api/@connectum/events/types/interfaces/PublishOptions.md"},{"text":"RawEvent","link":"/en/api/@connectum/events/types/interfaces/RawEvent.md"},{"text":"RawSubscribeOptions","link":"/en/api/@connectum/events/types/interfaces/RawSubscribeOptions.md"},{"text":"RetryOptions","link":"/en/api/@connectum/events/types/interfaces/RetryOptions.md"}]},{"text":"Type Aliases","collapsed":true,"items":[{"text":"EventMiddleware","link":"/en/api/@connectum/events/types/type-aliases/EventMiddleware.md"},{"text":"EventMiddlewareNext","link":"/en/api/@connectum/events/types/type-aliases/EventMiddlewareNext.md"},{"text":"EventRoute","link":"/en/api/@connectum/events/types/type-aliases/EventRoute.md"},{"text":"RawEventHandler","link":"/en/api/@connectum/events/types/type-aliases/RawEventHandler.md"},{"text":"ServiceEventHandlers","link":"/en/api/@connectum/events/types/type-aliases/ServiceEventHandlers.md"},{"text":"TypedEventHandler","link":"/en/api/@connectum/events/types/type-aliases/TypedEventHandler.md"}]}]}]},{"text":"Classes","collapsed":true,"items":[{"text":"EventRouterImpl","link":"/en/api/@connectum/events/classes/EventRouterImpl.md"},{"text":"NonRetryableError","link":"/en/api/@connectum/events/classes/NonRetryableError.md"},{"text":"RetryableError","link":"/en/api/@connectum/events/classes/RetryableError.md"}]},{"text":"Interfaces","collapsed":true,"items":[{"text":"BroadcastReactor","link":"/en/api/@connectum/events/interfaces/BroadcastReactor.md"},{"text":"BroadcastSubscribersOptions","link":"/en/api/@connectum/events/interfaces/BroadcastSubscribersOptions.md"}]},{"text":"Functions","collapsed":true,"items":[{"text":"composeMiddleware","link":"/en/api/@connectum/events/functions/composeMiddleware.md"},{"text":"createBroadcastSubscribers","link":"/en/api/@connectum/events/functions/createBroadcastSubscribers.md"},{"text":"createEventBus","link":"/en/api/@connectum/events/functions/createEventBus.md"},{"text":"createEventContext","link":"/en/api/@connectum/events/functions/createEventContext.md"},{"text":"deriveServiceName","link":"/en/api/@connectum/events/functions/deriveServiceName.md"},{"text":"dlqMiddleware","link":"/en/api/@connectum/events/functions/dlqMiddleware.md"},{"text":"matchPattern","link":"/en/api/@connectum/events/functions/matchPattern.md"},{"text":"MemoryAdapter","link":"/en/api/@connectum/events/functions/MemoryAdapter.md"},{"text":"resolveTopicName","link":"/en/api/@connectum/events/functions/resolveTopicName.md"},{"text":"retryMiddleware","link":"/en/api/@connectum/events/functions/retryMiddleware.md"}]}]},{"text":"@connectum/events-amqp","link":"/en/api/@connectum/events-amqp/","collapsed":true,"items":[{"text":"Modules","collapsed":true,"items":[{"text":"types","link":"/en/api/@connectum/events-amqp/types/","collapsed":true,"items":[{"text":"Interfaces","collapsed":true,"items":[{"text":"AmqpAdapterOptions","link":"/en/api/@connectum/events-amqp/types/interfaces/AmqpAdapterOptions.md"},{"text":"AmqpBindingDeclaration","link":"/en/api/@connectum/events-amqp/types/interfaces/AmqpBindingDeclaration.md"},{"text":"AmqpConsumerOptions","link":"/en/api/@connectum/events-amqp/types/interfaces/AmqpConsumerOptions.md"},{"text":"AmqpExchangeDeclaration","link":"/en/api/@connectum/events-amqp/types/interfaces/AmqpExchangeDeclaration.md"},{"text":"AmqpExchangeOptions","link":"/en/api/@connectum/events-amqp/types/interfaces/AmqpExchangeOptions.md"},{"text":"AmqpLifecycleCallbacks","link":"/en/api/@connectum/events-amqp/types/interfaces/AmqpLifecycleCallbacks.md"},{"text":"AmqpPublisherOptions","link":"/en/api/@connectum/events-amqp/types/interfaces/AmqpPublisherOptions.md"},{"text":"AmqpQueueDeclaration","link":"/en/api/@connectum/events-amqp/types/interfaces/AmqpQueueDeclaration.md"},{"text":"AmqpQueueOptions","link":"/en/api/@connectum/events-amqp/types/interfaces/AmqpQueueOptions.md"},{"text":"AmqpQueueOverride","link":"/en/api/@connectum/events-amqp/types/interfaces/AmqpQueueOverride.md"},{"text":"AmqpRecoveryOptions","link":"/en/api/@connectum/events-amqp/types/interfaces/AmqpRecoveryOptions.md"},{"text":"AmqpSerializationOptions","link":"/en/api/@connectum/events-amqp/types/interfaces/AmqpSerializationOptions.md"},{"text":"AmqpTopology","link":"/en/api/@connectum/events-amqp/types/interfaces/AmqpTopology.md"}]},{"text":"Type Aliases","collapsed":true,"items":[{"text":"AmqpTopologyMode","link":"/en/api/@connectum/events-amqp/types/type-aliases/AmqpTopologyMode.md"}]},{"text":"Variables","collapsed":true,"items":[{"text":"AmqpTopologyMode","link":"/en/api/@connectum/events-amqp/types/variables/AmqpTopologyMode.md"}]}]}]},{"text":"Classes","collapsed":true,"items":[{"text":"AmqpAdapterError","link":"/en/api/@connectum/events-amqp/classes/AmqpAdapterError.md"},{"text":"AmqpConnectionError","link":"/en/api/@connectum/events-amqp/classes/AmqpConnectionError.md"},{"text":"AmqpPublishNackError","link":"/en/api/@connectum/events-amqp/classes/AmqpPublishNackError.md"},{"text":"AmqpPublishTimeoutError","link":"/en/api/@connectum/events-amqp/classes/AmqpPublishTimeoutError.md"},{"text":"AmqpSerializationError","link":"/en/api/@connectum/events-amqp/classes/AmqpSerializationError.md"},{"text":"AmqpTopologyError","link":"/en/api/@connectum/events-amqp/classes/AmqpTopologyError.md"},{"text":"AmqpUnroutableError","link":"/en/api/@connectum/events-amqp/classes/AmqpUnroutableError.md"}]},{"text":"Functions","collapsed":true,"items":[{"text":"AmqpAdapter","link":"/en/api/@connectum/events-amqp/functions/AmqpAdapter.md"},{"text":"toAmqpPattern","link":"/en/api/@connectum/events-amqp/functions/toAmqpPattern.md"}]}]},{"text":"@connectum/events-kafka","link":"/en/api/@connectum/events-kafka/","collapsed":true,"items":[{"text":"Modules","collapsed":true,"items":[{"text":"types","link":"/en/api/@connectum/events-kafka/types/","collapsed":true,"items":[{"text":"Interfaces","collapsed":true,"items":[{"text":"KafkaAdapterOptions","link":"/en/api/@connectum/events-kafka/types/interfaces/KafkaAdapterOptions.md"}]}]}]},{"text":"Functions","collapsed":true,"items":[{"text":"KafkaAdapter","link":"/en/api/@connectum/events-kafka/functions/KafkaAdapter.md"}]}]},{"text":"@connectum/events-nats","link":"/en/api/@connectum/events-nats/","collapsed":true,"items":[{"text":"Modules","collapsed":true,"items":[{"text":"types","link":"/en/api/@connectum/events-nats/types/","collapsed":true,"items":[{"text":"Interfaces","collapsed":true,"items":[{"text":"NatsAdapterOptions","link":"/en/api/@connectum/events-nats/types/interfaces/NatsAdapterOptions.md"},{"text":"NatsConsumerOptions","link":"/en/api/@connectum/events-nats/types/interfaces/NatsConsumerOptions.md"}]}]}]},{"text":"Functions","collapsed":true,"items":[{"text":"NatsAdapter","link":"/en/api/@connectum/events-nats/functions/NatsAdapter.md"}]}]},{"text":"@connectum/events-redis","link":"/en/api/@connectum/events-redis/","collapsed":true,"items":[{"text":"Modules","collapsed":true,"items":[{"text":"types","link":"/en/api/@connectum/events-redis/types/","collapsed":true,"items":[{"text":"Interfaces","collapsed":true,"items":[{"text":"RedisAdapterOptions","link":"/en/api/@connectum/events-redis/types/interfaces/RedisAdapterOptions.md"},{"text":"RedisBrokerOptions","link":"/en/api/@connectum/events-redis/types/interfaces/RedisBrokerOptions.md"}]}]}]},{"text":"Functions","collapsed":true,"items":[{"text":"RedisAdapter","link":"/en/api/@connectum/events-redis/functions/RedisAdapter.md"}]}]},{"text":"@connectum/healthcheck","link":"/en/api/@connectum/healthcheck/","collapsed":true,"items":[{"text":"@connectum/healthcheck","link":"/en/api/@connectum/healthcheck/@connectum/healthcheck/","collapsed":true,"items":[{"text":"Classes","collapsed":true,"items":[{"text":"HealthcheckManager","link":"/en/api/@connectum/healthcheck/@connectum/healthcheck/classes/HealthcheckManager.md"}]},{"text":"Variables","collapsed":true,"items":[{"text":"healthcheckManager","link":"/en/api/@connectum/healthcheck/@connectum/healthcheck/variables/healthcheckManager.md"}]},{"text":"Functions","collapsed":true,"items":[{"text":"createHealthcheckManager","link":"/en/api/@connectum/healthcheck/@connectum/healthcheck/functions/createHealthcheckManager.md"},{"text":"createHttpHealthHandler","link":"/en/api/@connectum/healthcheck/@connectum/healthcheck/functions/createHttpHealthHandler.md"},{"text":"Healthcheck","link":"/en/api/@connectum/healthcheck/@connectum/healthcheck/functions/Healthcheck.md"},{"text":"parseServiceFromUrl","link":"/en/api/@connectum/healthcheck/@connectum/healthcheck/functions/parseServiceFromUrl.md"}]}]},{"text":"@connectum/healthcheck/types","link":"/en/api/@connectum/healthcheck/@connectum/healthcheck/types/","collapsed":true,"items":[{"text":"Interfaces","collapsed":true,"items":[{"text":"HealthcheckOptions","link":"/en/api/@connectum/healthcheck/@connectum/healthcheck/types/interfaces/HealthcheckOptions.md"},{"text":"ServiceStatus","link":"/en/api/@connectum/healthcheck/@connectum/healthcheck/types/interfaces/ServiceStatus.md"}]},{"text":"Type Aliases","collapsed":true,"items":[{"text":"ServingStatus","link":"/en/api/@connectum/healthcheck/@connectum/healthcheck/types/type-aliases/ServingStatus.md"}]},{"text":"Variables","collapsed":true,"items":[{"text":"ServingStatus","link":"/en/api/@connectum/healthcheck/@connectum/healthcheck/types/variables/ServingStatus.md"}]}]}]},{"text":"@connectum/interceptors","link":"/en/api/@connectum/interceptors/","collapsed":true,"items":[{"text":"Modules","collapsed":true,"items":[{"text":"bulkhead","link":"/en/api/@connectum/interceptors/bulkhead/","collapsed":true,"items":[{"text":"Functions","collapsed":true,"items":[{"text":"createBulkheadInterceptor","link":"/en/api/@connectum/interceptors/bulkhead/functions/createBulkheadInterceptor.md"}]}]},{"text":"circuit-breaker","link":"/en/api/@connectum/interceptors/circuit-breaker/","collapsed":true,"items":[{"text":"Functions","collapsed":true,"items":[{"text":"createCircuitBreakerInterceptor","link":"/en/api/@connectum/interceptors/circuit-breaker/functions/createCircuitBreakerInterceptor.md"},{"text":"defaultFailurePredicate","link":"/en/api/@connectum/interceptors/circuit-breaker/functions/defaultFailurePredicate.md"}]}]},{"text":"defaults","link":"/en/api/@connectum/interceptors/defaults/","collapsed":true,"items":[{"text":"Interfaces","collapsed":true,"items":[{"text":"DefaultInterceptorOptions","link":"/en/api/@connectum/interceptors/defaults/interfaces/DefaultInterceptorOptions.md"}]},{"text":"Functions","collapsed":true,"items":[{"text":"createDefaultInterceptors","link":"/en/api/@connectum/interceptors/defaults/functions/createDefaultInterceptors.md"}]}]},{"text":"errorHandler","link":"/en/api/@connectum/interceptors/errorHandler/","collapsed":true,"items":[{"text":"Functions","collapsed":true,"items":[{"text":"createErrorHandlerInterceptor","link":"/en/api/@connectum/interceptors/errorHandler/functions/createErrorHandlerInterceptor.md"}]}]},{"text":"fallback","link":"/en/api/@connectum/interceptors/fallback/","collapsed":true,"items":[{"text":"Functions","collapsed":true,"items":[{"text":"createFallbackInterceptor","link":"/en/api/@connectum/interceptors/fallback/functions/createFallbackInterceptor.md"}]}]},{"text":"logger","link":"/en/api/@connectum/interceptors/logger/","collapsed":true,"items":[{"text":"Functions","collapsed":true,"items":[{"text":"createLoggerInterceptor","link":"/en/api/@connectum/interceptors/logger/functions/createLoggerInterceptor.md"}]}]},{"text":"method-filter","link":"/en/api/@connectum/interceptors/method-filter/","collapsed":true,"items":[{"text":"Functions","collapsed":true,"items":[{"text":"createMethodFilterInterceptor","link":"/en/api/@connectum/interceptors/method-filter/functions/createMethodFilterInterceptor.md"}]}]},{"text":"retry","link":"/en/api/@connectum/interceptors/retry/","collapsed":true,"items":[{"text":"Functions","collapsed":true,"items":[{"text":"createRetryInterceptor","link":"/en/api/@connectum/interceptors/retry/functions/createRetryInterceptor.md"}]}]},{"text":"serializer","link":"/en/api/@connectum/interceptors/serializer/","collapsed":true,"items":[{"text":"Functions","collapsed":true,"items":[{"text":"createSerializerInterceptor","link":"/en/api/@connectum/interceptors/serializer/functions/createSerializerInterceptor.md"}]}]},{"text":"timeout","link":"/en/api/@connectum/interceptors/timeout/","collapsed":true,"items":[{"text":"Functions","collapsed":true,"items":[{"text":"createTimeoutInterceptor","link":"/en/api/@connectum/interceptors/timeout/functions/createTimeoutInterceptor.md"}]}]}]},{"text":"Interfaces","collapsed":true,"items":[{"text":"BulkheadOptions","link":"/en/api/@connectum/interceptors/interfaces/BulkheadOptions.md"},{"text":"CircuitBreakerOptions","link":"/en/api/@connectum/interceptors/interfaces/CircuitBreakerOptions.md"},{"text":"ErrorHandlerOptions","link":"/en/api/@connectum/interceptors/interfaces/ErrorHandlerOptions.md"},{"text":"FallbackOptions","link":"/en/api/@connectum/interceptors/interfaces/FallbackOptions.md"},{"text":"LoggerOptions","link":"/en/api/@connectum/interceptors/interfaces/LoggerOptions.md"},{"text":"RetryOptions","link":"/en/api/@connectum/interceptors/interfaces/RetryOptions.md"},{"text":"SerializerOptions","link":"/en/api/@connectum/interceptors/interfaces/SerializerOptions.md"},{"text":"TimeoutOptions","link":"/en/api/@connectum/interceptors/interfaces/TimeoutOptions.md"}]},{"text":"Type Aliases","collapsed":true,"items":[{"text":"InterceptorFactory","link":"/en/api/@connectum/interceptors/type-aliases/InterceptorFactory.md"},{"text":"MethodFilterMap","link":"/en/api/@connectum/interceptors/type-aliases/MethodFilterMap.md"}]}]},{"text":"@connectum/otel","link":"/en/api/@connectum/otel/","collapsed":true,"items":[{"text":"Modules","collapsed":true,"items":[{"text":"attributes","link":"/en/api/@connectum/otel/attributes/","collapsed":true,"items":[{"text":"Type Aliases","collapsed":true,"items":[{"text":"ConnectErrorCode","link":"/en/api/@connectum/otel/attributes/type-aliases/ConnectErrorCode.md"}]},{"text":"Variables","collapsed":true,"items":[{"text":"ATTR_CONNECTUM_TRANSPORT","link":"/en/api/@connectum/otel/attributes/variables/ATTR_CONNECTUM_TRANSPORT.md"},{"text":"ATTR_CONNECTUM_TRANSPORT_METRIC","link":"/en/api/@connectum/otel/attributes/variables/ATTR_CONNECTUM_TRANSPORT_METRIC.md"},{"text":"ATTR_ERROR_TYPE","link":"/en/api/@connectum/otel/attributes/variables/ATTR_ERROR_TYPE.md"},{"text":"ATTR_NETWORK_PEER_ADDRESS","link":"/en/api/@connectum/otel/attributes/variables/ATTR_NETWORK_PEER_ADDRESS.md"},{"text":"ATTR_NETWORK_PEER_PORT","link":"/en/api/@connectum/otel/attributes/variables/ATTR_NETWORK_PEER_PORT.md"},{"text":"ATTR_NETWORK_PROTOCOL_NAME","link":"/en/api/@connectum/otel/attributes/variables/ATTR_NETWORK_PROTOCOL_NAME.md"},{"text":"ATTR_NETWORK_TRANSPORT","link":"/en/api/@connectum/otel/attributes/variables/ATTR_NETWORK_TRANSPORT.md"},{"text":"ATTR_RPC_CONNECT_RPC_STATUS_CODE","link":"/en/api/@connectum/otel/attributes/variables/ATTR_RPC_CONNECT_RPC_STATUS_CODE.md"},{"text":"ATTR_RPC_MESSAGE_ID","link":"/en/api/@connectum/otel/attributes/variables/ATTR_RPC_MESSAGE_ID.md"},{"text":"ATTR_RPC_MESSAGE_TYPE","link":"/en/api/@connectum/otel/attributes/variables/ATTR_RPC_MESSAGE_TYPE.md"},{"text":"ATTR_RPC_MESSAGE_UNCOMPRESSED_SIZE","link":"/en/api/@connectum/otel/attributes/variables/ATTR_RPC_MESSAGE_UNCOMPRESSED_SIZE.md"},{"text":"ATTR_RPC_METHOD","link":"/en/api/@connectum/otel/attributes/variables/ATTR_RPC_METHOD.md"},{"text":"ATTR_RPC_SERVICE","link":"/en/api/@connectum/otel/attributes/variables/ATTR_RPC_SERVICE.md"},{"text":"ATTR_RPC_SYSTEM","link":"/en/api/@connectum/otel/attributes/variables/ATTR_RPC_SYSTEM.md"},{"text":"ATTR_SERVER_ADDRESS","link":"/en/api/@connectum/otel/attributes/variables/ATTR_SERVER_ADDRESS.md"},{"text":"ATTR_SERVER_PORT","link":"/en/api/@connectum/otel/attributes/variables/ATTR_SERVER_PORT.md"},{"text":"ConnectErrorCode","link":"/en/api/@connectum/otel/attributes/variables/ConnectErrorCode.md"},{"text":"ConnectErrorCodeName","link":"/en/api/@connectum/otel/attributes/variables/ConnectErrorCodeName.md"},{"text":"CONNECTUM_INTERNAL_TRANSPORT_HEADER","link":"/en/api/@connectum/otel/attributes/variables/CONNECTUM_INTERNAL_TRANSPORT_HEADER.md"},{"text":"CONNECTUM_INTERNAL_TRANSPORT_IN_PROCESS","link":"/en/api/@connectum/otel/attributes/variables/CONNECTUM_INTERNAL_TRANSPORT_IN_PROCESS.md"},{"text":"RPC_MESSAGE_EVENT","link":"/en/api/@connectum/otel/attributes/variables/RPC_MESSAGE_EVENT.md"},{"text":"RPC_SYSTEM_CONNECT_RPC","link":"/en/api/@connectum/otel/attributes/variables/RPC_SYSTEM_CONNECT_RPC.md"}]}]},{"text":"client-interceptor","link":"/en/api/@connectum/otel/client-interceptor/","collapsed":true,"items":[{"text":"Functions","collapsed":true,"items":[{"text":"createOtelClientInterceptor","link":"/en/api/@connectum/otel/client-interceptor/functions/createOtelClientInterceptor.md"}]}]},{"text":"interceptor","link":"/en/api/@connectum/otel/interceptor/","collapsed":true,"items":[{"text":"Functions","collapsed":true,"items":[{"text":"createOtelInterceptor","link":"/en/api/@connectum/otel/interceptor/functions/createOtelInterceptor.md"}]}]},{"text":"logger","link":"/en/api/@connectum/otel/logger/","collapsed":true,"items":[{"text":"Interfaces","collapsed":true,"items":[{"text":"Logger","link":"/en/api/@connectum/otel/logger/interfaces/Logger.md"},{"text":"LoggerOptions","link":"/en/api/@connectum/otel/logger/interfaces/LoggerOptions.md"}]},{"text":"Functions","collapsed":true,"items":[{"text":"getLogger","link":"/en/api/@connectum/otel/logger/functions/getLogger.md"}]}]},{"text":"meter","link":"/en/api/@connectum/otel/meter/","collapsed":true,"items":[{"text":"Functions","collapsed":true,"items":[{"text":"getMeter","link":"/en/api/@connectum/otel/meter/functions/getMeter.md"}]}]},{"text":"metrics","link":"/en/api/@connectum/otel/metrics/","collapsed":true,"items":[{"text":"Interfaces","collapsed":true,"items":[{"text":"RpcClientMetrics","link":"/en/api/@connectum/otel/metrics/interfaces/RpcClientMetrics.md"},{"text":"RpcServerMetrics","link":"/en/api/@connectum/otel/metrics/interfaces/RpcServerMetrics.md"}]},{"text":"Functions","collapsed":true,"items":[{"text":"createRpcClientMetrics","link":"/en/api/@connectum/otel/metrics/functions/createRpcClientMetrics.md"},{"text":"createRpcServerMetrics","link":"/en/api/@connectum/otel/metrics/functions/createRpcServerMetrics.md"}]}]},{"text":"provider","link":"/en/api/@connectum/otel/provider/","collapsed":true,"items":[{"text":"Interfaces","collapsed":true,"items":[{"text":"ProviderOptions","link":"/en/api/@connectum/otel/provider/interfaces/ProviderOptions.md"},{"text":"ResourceAttributeInputs","link":"/en/api/@connectum/otel/provider/interfaces/ResourceAttributeInputs.md"}]},{"text":"Functions","collapsed":true,"items":[{"text":"buildResourceAttributes","link":"/en/api/@connectum/otel/provider/functions/buildResourceAttributes.md"},{"text":"getProvider","link":"/en/api/@connectum/otel/provider/functions/getProvider.md"},{"text":"initProvider","link":"/en/api/@connectum/otel/provider/functions/initProvider.md"},{"text":"parseOtelResourceAttributesEnv","link":"/en/api/@connectum/otel/provider/functions/parseOtelResourceAttributesEnv.md"},{"text":"shutdownProvider","link":"/en/api/@connectum/otel/provider/functions/shutdownProvider.md"}]}]},{"text":"shared","link":"/en/api/@connectum/otel/shared/","collapsed":true,"items":[{"text":"Interfaces","collapsed":true,"items":[{"text":"BaseAttributeParams","link":"/en/api/@connectum/otel/shared/interfaces/BaseAttributeParams.md"}]},{"text":"Functions","collapsed":true,"items":[{"text":"applyAttributeFilter","link":"/en/api/@connectum/otel/shared/functions/applyAttributeFilter.md"},{"text":"buildBaseAttributes","link":"/en/api/@connectum/otel/shared/functions/buildBaseAttributes.md"},{"text":"buildErrorAttributes","link":"/en/api/@connectum/otel/shared/functions/buildErrorAttributes.md"},{"text":"detectConnectumTransport","link":"/en/api/@connectum/otel/shared/functions/detectConnectumTransport.md"},{"text":"estimateMessageSize","link":"/en/api/@connectum/otel/shared/functions/estimateMessageSize.md"},{"text":"wrapAsyncIterable","link":"/en/api/@connectum/otel/shared/functions/wrapAsyncIterable.md"}]}]},{"text":"traceAll","link":"/en/api/@connectum/otel/traceAll/","collapsed":true,"items":[{"text":"Functions","collapsed":true,"items":[{"text":"traceAll","link":"/en/api/@connectum/otel/traceAll/functions/traceAll.md"}]}]},{"text":"traced","link":"/en/api/@connectum/otel/traced/","collapsed":true,"items":[{"text":"Functions","collapsed":true,"items":[{"text":"traced","link":"/en/api/@connectum/otel/traced/functions/traced.md"}]}]},{"text":"tracer","link":"/en/api/@connectum/otel/tracer/","collapsed":true,"items":[{"text":"Functions","collapsed":true,"items":[{"text":"getTracer","link":"/en/api/@connectum/otel/tracer/functions/getTracer.md"}]}]}]},{"text":"Interfaces","collapsed":true,"items":[{"text":"BatchSpanProcessorOptions","link":"/en/api/@connectum/otel/interfaces/BatchSpanProcessorOptions.md"},{"text":"CollectorOptions","link":"/en/api/@connectum/otel/interfaces/CollectorOptions.md"},{"text":"Meter","link":"/en/api/@connectum/otel/interfaces/Meter.md"},{"text":"OtelBaseOptions","link":"/en/api/@connectum/otel/interfaces/OtelBaseOptions.md"},{"text":"OtelClientInterceptorOptions","link":"/en/api/@connectum/otel/interfaces/OtelClientInterceptorOptions.md"},{"text":"OtelInterceptorOptions","link":"/en/api/@connectum/otel/interfaces/OtelInterceptorOptions.md"},{"text":"OTLPSettings","link":"/en/api/@connectum/otel/interfaces/OTLPSettings.md"},{"text":"TraceAllOptions","link":"/en/api/@connectum/otel/interfaces/TraceAllOptions.md"},{"text":"TracedOptions","link":"/en/api/@connectum/otel/interfaces/TracedOptions.md"},{"text":"Tracer","link":"/en/api/@connectum/otel/interfaces/Tracer.md"}]},{"text":"Type Aliases","collapsed":true,"items":[{"text":"ArgsFilter","link":"/en/api/@connectum/otel/type-aliases/ArgsFilter.md"},{"text":"ExporterType","link":"/en/api/@connectum/otel/type-aliases/ExporterType.md"},{"text":"MethodArgsFilter","link":"/en/api/@connectum/otel/type-aliases/MethodArgsFilter.md"},{"text":"OtelAttributeFilter","link":"/en/api/@connectum/otel/type-aliases/OtelAttributeFilter.md"},{"text":"OtelFilter","link":"/en/api/@connectum/otel/type-aliases/OtelFilter.md"}]},{"text":"Variables","collapsed":true,"items":[{"text":"ExporterType","link":"/en/api/@connectum/otel/variables/ExporterType.md"}]},{"text":"Functions","collapsed":true,"items":[{"text":"getBatchSpanProcessorOptions","link":"/en/api/@connectum/otel/functions/getBatchSpanProcessorOptions.md"},{"text":"getCollectorOptions","link":"/en/api/@connectum/otel/functions/getCollectorOptions.md"},{"text":"getOTLPSettings","link":"/en/api/@connectum/otel/functions/getOTLPSettings.md"},{"text":"getServiceMetadata","link":"/en/api/@connectum/otel/functions/getServiceMetadata.md"}]}]},{"text":"@connectum/reflection","link":"/en/api/@connectum/reflection/","collapsed":true,"items":[{"text":"Functions","collapsed":true,"items":[{"text":"collectFileProtos","link":"/en/api/@connectum/reflection/functions/collectFileProtos.md"},{"text":"Reflection","link":"/en/api/@connectum/reflection/functions/Reflection.md"}]}]},{"text":"@connectum/test-fixtures","link":"/en/api/@connectum/test-fixtures/","collapsed":true,"items":[{"text":"index","link":"/en/api/@connectum/test-fixtures/index/","collapsed":true,"items":[{"text":"Interfaces","collapsed":true,"items":[{"text":"MockCall","link":"/en/api/@connectum/test-fixtures/index/interfaces/MockCall.md"},{"text":"MockFn","link":"/en/api/@connectum/test-fixtures/index/interfaces/MockFn.md"}]},{"text":"Functions","collapsed":true,"items":[{"text":"assertConnectError","link":"/en/api/@connectum/test-fixtures/index/functions/assertConnectError.md"},{"text":"createFakeMethod","link":"/en/api/@connectum/test-fixtures/index/functions/createFakeMethod.md"},{"text":"createFakeService","link":"/en/api/@connectum/test-fixtures/index/functions/createFakeService.md"},{"text":"createMockDescField","link":"/en/api/@connectum/test-fixtures/index/functions/createMockDescField.md"},{"text":"createMockDescMessage","link":"/en/api/@connectum/test-fixtures/index/functions/createMockDescMessage.md"},{"text":"createMockDescMethod","link":"/en/api/@connectum/test-fixtures/index/functions/createMockDescMethod.md"},{"text":"createMockFn","link":"/en/api/@connectum/test-fixtures/index/functions/createMockFn.md"},{"text":"createMockNext","link":"/en/api/@connectum/test-fixtures/index/functions/createMockNext.md"},{"text":"createMockNextError","link":"/en/api/@connectum/test-fixtures/index/functions/createMockNextError.md"},{"text":"createMockNextSlow","link":"/en/api/@connectum/test-fixtures/index/functions/createMockNextSlow.md"},{"text":"createMockRequest","link":"/en/api/@connectum/test-fixtures/index/functions/createMockRequest.md"},{"text":"createMockStream","link":"/en/api/@connectum/test-fixtures/index/functions/createMockStream.md"}]}]},{"text":"types","link":"/en/api/@connectum/test-fixtures/types/","collapsed":true,"items":[{"text":"Interfaces","collapsed":true,"items":[{"text":"FakeMethodOptions","link":"/en/api/@connectum/test-fixtures/types/interfaces/FakeMethodOptions.md"},{"text":"FakeServiceOptions","link":"/en/api/@connectum/test-fixtures/types/interfaces/FakeServiceOptions.md"},{"text":"MockDescFieldOptions","link":"/en/api/@connectum/test-fixtures/types/interfaces/MockDescFieldOptions.md"},{"text":"MockDescMessageOptions","link":"/en/api/@connectum/test-fixtures/types/interfaces/MockDescMessageOptions.md"},{"text":"MockDescMethodOptions","link":"/en/api/@connectum/test-fixtures/types/interfaces/MockDescMethodOptions.md"},{"text":"MockNextOptions","link":"/en/api/@connectum/test-fixtures/types/interfaces/MockNextOptions.md"},{"text":"MockRequestOptions","link":"/en/api/@connectum/test-fixtures/types/interfaces/MockRequestOptions.md"},{"text":"MockStreamOptions","link":"/en/api/@connectum/test-fixtures/types/interfaces/MockStreamOptions.md"}]}]}]},{"text":"@connectum/testing","link":"/en/api/@connectum/testing/","collapsed":true,"items":[{"text":"index","link":"/en/api/@connectum/testing/index/","collapsed":true,"items":[{"text":"Classes","collapsed":true,"items":[{"text":"InMemoryMetricCollector","link":"/en/api/@connectum/testing/index/classes/InMemoryMetricCollector.md"},{"text":"InMemorySpanCollector","link":"/en/api/@connectum/testing/index/classes/InMemorySpanCollector.md"}]},{"text":"Interfaces","collapsed":true,"items":[{"text":"CreateMockContextOptions","link":"/en/api/@connectum/testing/index/interfaces/CreateMockContextOptions.md"},{"text":"FakeMethodOptions","link":"/en/api/@connectum/testing/index/interfaces/FakeMethodOptions.md"},{"text":"FakeServiceOptions","link":"/en/api/@connectum/testing/index/interfaces/FakeServiceOptions.md"},{"text":"MockCall","link":"/en/api/@connectum/testing/index/interfaces/MockCall.md"},{"text":"MockDescFieldOptions","link":"/en/api/@connectum/testing/index/interfaces/MockDescFieldOptions.md"},{"text":"MockDescMessageOptions","link":"/en/api/@connectum/testing/index/interfaces/MockDescMessageOptions.md"},{"text":"MockDescMethodOptions","link":"/en/api/@connectum/testing/index/interfaces/MockDescMethodOptions.md"},{"text":"MockFn","link":"/en/api/@connectum/testing/index/interfaces/MockFn.md"},{"text":"MockNextOptions","link":"/en/api/@connectum/testing/index/interfaces/MockNextOptions.md"},{"text":"MockRequestOptions","link":"/en/api/@connectum/testing/index/interfaces/MockRequestOptions.md"},{"text":"MockService","link":"/en/api/@connectum/testing/index/interfaces/MockService.md"},{"text":"MockStreamOptions","link":"/en/api/@connectum/testing/index/interfaces/MockStreamOptions.md"},{"text":"NormalizedMetric","link":"/en/api/@connectum/testing/index/interfaces/NormalizedMetric.md"},{"text":"NormalizedSpan","link":"/en/api/@connectum/testing/index/interfaces/NormalizedSpan.md"}]},{"text":"Variables","collapsed":true,"items":[{"text":"MOCK_RESPONSE_HEADER","link":"/en/api/@connectum/testing/index/variables/MOCK_RESPONSE_HEADER.md"},{"text":"TRANSPORT_METRIC_ATTRIBUTE","link":"/en/api/@connectum/testing/index/variables/TRANSPORT_METRIC_ATTRIBUTE.md"},{"text":"TRANSPORT_SPAN_ATTRIBUTE","link":"/en/api/@connectum/testing/index/variables/TRANSPORT_SPAN_ATTRIBUTE.md"}]},{"text":"Functions","collapsed":true,"items":[{"text":"assertConnectError","link":"/en/api/@connectum/testing/index/functions/assertConnectError.md"},{"text":"createFakeMethod","link":"/en/api/@connectum/testing/index/functions/createFakeMethod.md"},{"text":"createFakeService","link":"/en/api/@connectum/testing/index/functions/createFakeService.md"},{"text":"createLocalClient","link":"/en/api/@connectum/testing/index/functions/createLocalClient.md"},{"text":"createMockContext","link":"/en/api/@connectum/testing/index/functions/createMockContext.md"},{"text":"createMockDescField","link":"/en/api/@connectum/testing/index/functions/createMockDescField.md"},{"text":"createMockDescMessage","link":"/en/api/@connectum/testing/index/functions/createMockDescMessage.md"},{"text":"createMockDescMethod","link":"/en/api/@connectum/testing/index/functions/createMockDescMethod.md"},{"text":"createMockFn","link":"/en/api/@connectum/testing/index/functions/createMockFn.md"},{"text":"createMockNext","link":"/en/api/@connectum/testing/index/functions/createMockNext.md"},{"text":"createMockNextError","link":"/en/api/@connectum/testing/index/functions/createMockNextError.md"},{"text":"createMockNextSlow","link":"/en/api/@connectum/testing/index/functions/createMockNextSlow.md"},{"text":"createMockRequest","link":"/en/api/@connectum/testing/index/functions/createMockRequest.md"},{"text":"createMockStream","link":"/en/api/@connectum/testing/index/functions/createMockStream.md"},{"text":"createTestServer","link":"/en/api/@connectum/testing/index/functions/createTestServer.md"},{"text":"mockResolver","link":"/en/api/@connectum/testing/index/functions/mockResolver.md"},{"text":"mockService","link":"/en/api/@connectum/testing/index/functions/mockService.md"},{"text":"withTestServer","link":"/en/api/@connectum/testing/index/functions/withTestServer.md"}]}]},{"text":"types","link":"/en/api/@connectum/testing/types/","collapsed":true,"items":[{"text":"Interfaces","collapsed":true,"items":[{"text":"CreateTestServerOptions","link":"/en/api/@connectum/testing/types/interfaces/CreateTestServerOptions.md"},{"text":"TestServer","link":"/en/api/@connectum/testing/types/interfaces/TestServer.md"}]}]}]}] \ No newline at end of file +[{"text":"@connectum/auth","link":"/en/api/@connectum/auth/","collapsed":true,"items":[{"text":"Modules","collapsed":true,"items":[{"text":"proto","link":"/en/api/@connectum/auth/proto/","collapsed":true,"items":[{"text":"Type Aliases","collapsed":true,"items":[{"text":"AuthRequirements","link":"/en/api/@connectum/auth/proto/type-aliases/AuthRequirements.md"},{"text":"MethodAuth","link":"/en/api/@connectum/auth/proto/type-aliases/MethodAuth.md"},{"text":"ServiceAuth","link":"/en/api/@connectum/auth/proto/type-aliases/ServiceAuth.md"}]},{"text":"Variables","collapsed":true,"items":[{"text":"AuthRequirementsSchema","link":"/en/api/@connectum/auth/proto/variables/AuthRequirementsSchema.md"},{"text":"method_auth","link":"/en/api/@connectum/auth/proto/variables/method_auth.md"},{"text":"MethodAuthSchema","link":"/en/api/@connectum/auth/proto/variables/MethodAuthSchema.md"},{"text":"service_auth","link":"/en/api/@connectum/auth/proto/variables/service_auth.md"},{"text":"ServiceAuthSchema","link":"/en/api/@connectum/auth/proto/variables/ServiceAuthSchema.md"}]}]},{"text":"testing","link":"/en/api/@connectum/auth/testing/","collapsed":true,"items":[{"text":"Interfaces","collapsed":true,"items":[{"text":"RsaTestKeypair","link":"/en/api/@connectum/auth/testing/interfaces/RsaTestKeypair.md"},{"text":"TestJwksServer","link":"/en/api/@connectum/auth/testing/interfaces/TestJwksServer.md"}]},{"text":"Variables","collapsed":true,"items":[{"text":"TEST_JWT_KID","link":"/en/api/@connectum/auth/testing/variables/TEST_JWT_KID.md"},{"text":"TEST_JWT_SECRET","link":"/en/api/@connectum/auth/testing/variables/TEST_JWT_SECRET.md"}]},{"text":"Functions","collapsed":true,"items":[{"text":"createMockAuthContext","link":"/en/api/@connectum/auth/testing/functions/createMockAuthContext.md"},{"text":"createTestJwt","link":"/en/api/@connectum/auth/testing/functions/createTestJwt.md"},{"text":"createTestJwtRS256","link":"/en/api/@connectum/auth/testing/functions/createTestJwtRS256.md"},{"text":"generateRsaTestKeypair","link":"/en/api/@connectum/auth/testing/functions/generateRsaTestKeypair.md"},{"text":"startTestJwksServer","link":"/en/api/@connectum/auth/testing/functions/startTestJwksServer.md"},{"text":"withAuthContext","link":"/en/api/@connectum/auth/testing/functions/withAuthContext.md"}]}]}]},{"text":"Classes","collapsed":true,"items":[{"text":"AuthzDeniedError","link":"/en/api/@connectum/auth/classes/AuthzDeniedError.md"},{"text":"LruCache","link":"/en/api/@connectum/auth/classes/LruCache.md"}]},{"text":"Interfaces","collapsed":true,"items":[{"text":"AuthContext","link":"/en/api/@connectum/auth/interfaces/AuthContext.md"},{"text":"AuthInterceptorOptions","link":"/en/api/@connectum/auth/interfaces/AuthInterceptorOptions.md"},{"text":"AuthzDeniedDetails","link":"/en/api/@connectum/auth/interfaces/AuthzDeniedDetails.md"},{"text":"AuthzInterceptorOptions","link":"/en/api/@connectum/auth/interfaces/AuthzInterceptorOptions.md"},{"text":"AuthzRule","link":"/en/api/@connectum/auth/interfaces/AuthzRule.md"},{"text":"CacheOptions","link":"/en/api/@connectum/auth/interfaces/CacheOptions.md"},{"text":"ClientBearerInterceptorOptions","link":"/en/api/@connectum/auth/interfaces/ClientBearerInterceptorOptions.md"},{"text":"ClientGatewayInterceptorOptions","link":"/en/api/@connectum/auth/interfaces/ClientGatewayInterceptorOptions.md"},{"text":"GatewayAuthInterceptorOptions","link":"/en/api/@connectum/auth/interfaces/GatewayAuthInterceptorOptions.md"},{"text":"GatewayHeaderMapping","link":"/en/api/@connectum/auth/interfaces/GatewayHeaderMapping.md"},{"text":"InternalAuthInterceptorOptions","link":"/en/api/@connectum/auth/interfaces/InternalAuthInterceptorOptions.md"},{"text":"JwtAuthInterceptorOptions","link":"/en/api/@connectum/auth/interfaces/JwtAuthInterceptorOptions.md"},{"text":"MeshIdentityEntry","link":"/en/api/@connectum/auth/interfaces/MeshIdentityEntry.md"},{"text":"MeshIdentityTrustOptions","link":"/en/api/@connectum/auth/interfaces/MeshIdentityTrustOptions.md"},{"text":"ProtoAuthzInterceptorOptions","link":"/en/api/@connectum/auth/interfaces/ProtoAuthzInterceptorOptions.md"},{"text":"ResolvedMethodAuth","link":"/en/api/@connectum/auth/interfaces/ResolvedMethodAuth.md"},{"text":"SessionAuthInterceptorOptions","link":"/en/api/@connectum/auth/interfaces/SessionAuthInterceptorOptions.md"},{"text":"SharedSecretTrustOptions","link":"/en/api/@connectum/auth/interfaces/SharedSecretTrustOptions.md"},{"text":"SignedTokenIssuer","link":"/en/api/@connectum/auth/interfaces/SignedTokenIssuer.md"},{"text":"SignedTokenTrustOptions","link":"/en/api/@connectum/auth/interfaces/SignedTokenTrustOptions.md"}]},{"text":"Type Aliases","collapsed":true,"items":[{"text":"AuthzEffect","link":"/en/api/@connectum/auth/type-aliases/AuthzEffect.md"},{"text":"InterceptorFactory","link":"/en/api/@connectum/auth/type-aliases/InterceptorFactory.md"},{"text":"InternalTrustSource","link":"/en/api/@connectum/auth/type-aliases/InternalTrustSource.md"}]},{"text":"Variables","collapsed":true,"items":[{"text":"AUTH_HEADERS","link":"/en/api/@connectum/auth/variables/AUTH_HEADERS.md"},{"text":"authContextStorage","link":"/en/api/@connectum/auth/variables/authContextStorage.md"},{"text":"AuthzEffect","link":"/en/api/@connectum/auth/variables/AuthzEffect.md"}]},{"text":"Functions","collapsed":true,"items":[{"text":"createAuthInterceptor","link":"/en/api/@connectum/auth/functions/createAuthInterceptor.md"},{"text":"createAuthzInterceptor","link":"/en/api/@connectum/auth/functions/createAuthzInterceptor.md"},{"text":"createClientBearerInterceptor","link":"/en/api/@connectum/auth/functions/createClientBearerInterceptor.md"},{"text":"createClientGatewayInterceptor","link":"/en/api/@connectum/auth/functions/createClientGatewayInterceptor.md"},{"text":"createGatewayAuthInterceptor","link":"/en/api/@connectum/auth/functions/createGatewayAuthInterceptor.md"},{"text":"createInternalAuthInterceptor","link":"/en/api/@connectum/auth/functions/createInternalAuthInterceptor.md"},{"text":"createJwtAuthInterceptor","link":"/en/api/@connectum/auth/functions/createJwtAuthInterceptor.md"},{"text":"createProtoAuthzInterceptor","link":"/en/api/@connectum/auth/functions/createProtoAuthzInterceptor.md"},{"text":"createSessionAuthInterceptor","link":"/en/api/@connectum/auth/functions/createSessionAuthInterceptor.md"},{"text":"getAuthContext","link":"/en/api/@connectum/auth/functions/getAuthContext.md"},{"text":"getInternalMethods","link":"/en/api/@connectum/auth/functions/getInternalMethods.md"},{"text":"getPublicMethods","link":"/en/api/@connectum/auth/functions/getPublicMethods.md"},{"text":"matchesMethodPattern","link":"/en/api/@connectum/auth/functions/matchesMethodPattern.md"},{"text":"meshIdentityTrust","link":"/en/api/@connectum/auth/functions/meshIdentityTrust.md"},{"text":"parseAuthHeaders","link":"/en/api/@connectum/auth/functions/parseAuthHeaders.md"},{"text":"requireAuthContext","link":"/en/api/@connectum/auth/functions/requireAuthContext.md"},{"text":"resolveMethodAuth","link":"/en/api/@connectum/auth/functions/resolveMethodAuth.md"},{"text":"setAuthHeaders","link":"/en/api/@connectum/auth/functions/setAuthHeaders.md"},{"text":"sharedSecretTrust","link":"/en/api/@connectum/auth/functions/sharedSecretTrust.md"},{"text":"signedTokenTrust","link":"/en/api/@connectum/auth/functions/signedTokenTrust.md"}]}]},{"text":"@connectum/cli","link":"/en/api/@connectum/cli/","collapsed":true,"items":[{"text":"commands","collapsed":true,"items":[{"text":"proto-sync","link":"/en/api/@connectum/cli/commands/proto-sync/","collapsed":true,"items":[{"text":"Interfaces","collapsed":true,"items":[{"text":"ProtoSyncOptions","link":"/en/api/@connectum/cli/commands/proto-sync/interfaces/ProtoSyncOptions.md"}]},{"text":"Variables","collapsed":true,"items":[{"text":"protoSyncCommand","link":"/en/api/@connectum/cli/commands/proto-sync/variables/protoSyncCommand.md"}]},{"text":"Functions","collapsed":true,"items":[{"text":"executeProtoSync","link":"/en/api/@connectum/cli/commands/proto-sync/functions/executeProtoSync.md"}]}]}]},{"text":"utils","collapsed":true,"items":[{"text":"reflection","link":"/en/api/@connectum/cli/utils/reflection/","collapsed":true,"items":[{"text":"Interfaces","collapsed":true,"items":[{"text":"ReflectionResult","link":"/en/api/@connectum/cli/utils/reflection/interfaces/ReflectionResult.md"}]},{"text":"Functions","collapsed":true,"items":[{"text":"fetchFileDescriptorSetBinary","link":"/en/api/@connectum/cli/utils/reflection/functions/fetchFileDescriptorSetBinary.md"},{"text":"fetchReflectionData","link":"/en/api/@connectum/cli/utils/reflection/functions/fetchReflectionData.md"}]}]}]}]},{"text":"@connectum/core","link":"/en/api/@connectum/core/","collapsed":true,"items":[{"text":"Modules","collapsed":true,"items":[{"text":"config","link":"/en/api/@connectum/core/config/"},{"text":"types","link":"/en/api/@connectum/core/types/","collapsed":true,"items":[{"text":"Interfaces","collapsed":true,"items":[{"text":"CreateServerOptions","link":"/en/api/@connectum/core/types/interfaces/CreateServerOptions.md"},{"text":"EventBusLike","link":"/en/api/@connectum/core/types/interfaces/EventBusLike.md"},{"text":"ProtocolContext","link":"/en/api/@connectum/core/types/interfaces/ProtocolContext.md"},{"text":"ProtocolRegistration","link":"/en/api/@connectum/core/types/interfaces/ProtocolRegistration.md"},{"text":"Server","link":"/en/api/@connectum/core/types/interfaces/Server.md"},{"text":"ServerClientOptions","link":"/en/api/@connectum/core/types/interfaces/ServerClientOptions.md"},{"text":"ShutdownOptions","link":"/en/api/@connectum/core/types/interfaces/ShutdownOptions.md"},{"text":"TLSOptions","link":"/en/api/@connectum/core/types/interfaces/TLSOptions.md"}]},{"text":"Type Aliases","collapsed":true,"items":[{"text":"HttpHandler","link":"/en/api/@connectum/core/types/type-aliases/HttpHandler.md"},{"text":"LifecycleEvent","link":"/en/api/@connectum/core/types/type-aliases/LifecycleEvent.md"},{"text":"NodeRequest","link":"/en/api/@connectum/core/types/type-aliases/NodeRequest.md"},{"text":"NodeResponse","link":"/en/api/@connectum/core/types/type-aliases/NodeResponse.md"},{"text":"ServerState","link":"/en/api/@connectum/core/types/type-aliases/ServerState.md"},{"text":"ShutdownHook","link":"/en/api/@connectum/core/types/type-aliases/ShutdownHook.md"},{"text":"TransportServer","link":"/en/api/@connectum/core/types/type-aliases/TransportServer.md"}]},{"text":"Variables","collapsed":true,"items":[{"text":"LifecycleEvent","link":"/en/api/@connectum/core/types/variables/LifecycleEvent.md"},{"text":"ServerState","link":"/en/api/@connectum/core/types/variables/ServerState.md"}]}]}]},{"text":"Classes","collapsed":true,"items":[{"text":"CatalogConfigError","link":"/en/api/@connectum/core/classes/CatalogConfigError.md"},{"text":"TransportValidationError","link":"/en/api/@connectum/core/classes/TransportValidationError.md"}]},{"text":"Interfaces","collapsed":true,"items":[{"text":"BidiStreamHandle","link":"/en/api/@connectum/core/interfaces/BidiStreamHandle.md"},{"text":"CatalogClient","link":"/en/api/@connectum/core/interfaces/CatalogClient.md"},{"text":"ClientStreamHandle","link":"/en/api/@connectum/core/interfaces/ClientStreamHandle.md"},{"text":"ConnectumCallMap","link":"/en/api/@connectum/core/interfaces/ConnectumCallMap.md"},{"text":"ConnectumStreamMap","link":"/en/api/@connectum/core/interfaces/ConnectumStreamMap.md"},{"text":"Context","link":"/en/api/@connectum/core/interfaces/Context.md"},{"text":"CreateCatalogClientOptions","link":"/en/api/@connectum/core/interfaces/CreateCatalogClientOptions.md"},{"text":"CreateLocalTransportOptions","link":"/en/api/@connectum/core/interfaces/CreateLocalTransportOptions.md"},{"text":"DnsResolverOptions","link":"/en/api/@connectum/core/interfaces/DnsResolverOptions.md"},{"text":"PerServiceEnvResolverOptions","link":"/en/api/@connectum/core/interfaces/PerServiceEnvResolverOptions.md"},{"text":"ResolverContext","link":"/en/api/@connectum/core/interfaces/ResolverContext.md"},{"text":"SanitizableError","link":"/en/api/@connectum/core/interfaces/SanitizableError.md"},{"text":"ServiceDefinition","link":"/en/api/@connectum/core/interfaces/ServiceDefinition.md"},{"text":"StreamingMethodInfo","link":"/en/api/@connectum/core/interfaces/StreamingMethodInfo.md"}]},{"text":"Type Aliases","collapsed":true,"items":[{"text":"CallOptions","link":"/en/api/@connectum/core/type-aliases/CallOptions.md"},{"text":"CatalogCall","link":"/en/api/@connectum/core/type-aliases/CatalogCall.md"},{"text":"CatalogStream","link":"/en/api/@connectum/core/type-aliases/CatalogStream.md"},{"text":"ConnectumEnv","link":"/en/api/@connectum/core/type-aliases/ConnectumEnv.md"},{"text":"ConnectumMethodImpl","link":"/en/api/@connectum/core/type-aliases/ConnectumMethodImpl.md"},{"text":"ConnectumServiceImpl","link":"/en/api/@connectum/core/type-aliases/ConnectumServiceImpl.md"},{"text":"EffectiveTransport","link":"/en/api/@connectum/core/type-aliases/EffectiveTransport.md"},{"text":"RemoteResolver","link":"/en/api/@connectum/core/type-aliases/RemoteResolver.md"},{"text":"ServiceCatalog","link":"/en/api/@connectum/core/type-aliases/ServiceCatalog.md"},{"text":"ServiceOptions","link":"/en/api/@connectum/core/type-aliases/ServiceOptions.md"},{"text":"StreamReturn","link":"/en/api/@connectum/core/type-aliases/StreamReturn.md"},{"text":"TransportValidationMode","link":"/en/api/@connectum/core/type-aliases/TransportValidationMode.md"}]},{"text":"Variables","collapsed":true,"items":[{"text":"BooleanFromStringSchema","link":"/en/api/@connectum/core/variables/BooleanFromStringSchema.md"},{"text":"ConnectumEnvSchema","link":"/en/api/@connectum/core/variables/ConnectumEnvSchema.md"},{"text":"defaultPropagateHeaders","link":"/en/api/@connectum/core/variables/defaultPropagateHeaders.md"},{"text":"EffectiveTransport","link":"/en/api/@connectum/core/variables/EffectiveTransport.md"},{"text":"LogFormatSchema","link":"/en/api/@connectum/core/variables/LogFormatSchema.md"},{"text":"LoggerBackendSchema","link":"/en/api/@connectum/core/variables/LoggerBackendSchema.md"},{"text":"LogLevelSchema","link":"/en/api/@connectum/core/variables/LogLevelSchema.md"},{"text":"NodeEnvSchema","link":"/en/api/@connectum/core/variables/NodeEnvSchema.md"},{"text":"tlsPath","link":"/en/api/@connectum/core/variables/tlsPath.md"},{"text":"TRANSPORT_VALIDATION_ERROR_CODE","link":"/en/api/@connectum/core/variables/TRANSPORT_VALIDATION_ERROR_CODE.md"},{"text":"TransportValidationMode","link":"/en/api/@connectum/core/variables/TransportValidationMode.md"}]},{"text":"Functions","collapsed":true,"items":[{"text":"collectStreamingMethods","link":"/en/api/@connectum/core/functions/collectStreamingMethods.md"},{"text":"createCatalogClient","link":"/en/api/@connectum/core/functions/createCatalogClient.md"},{"text":"createLocalTransport","link":"/en/api/@connectum/core/functions/createLocalTransport.md"},{"text":"createServer","link":"/en/api/@connectum/core/functions/createServer.md"},{"text":"defineCatalog","link":"/en/api/@connectum/core/functions/defineCatalog.md"},{"text":"defineLazyService","link":"/en/api/@connectum/core/functions/defineLazyService.md"},{"text":"defineService","link":"/en/api/@connectum/core/functions/defineService.md"},{"text":"dnsResolver","link":"/en/api/@connectum/core/functions/dnsResolver.md"},{"text":"getTLSPath","link":"/en/api/@connectum/core/functions/getTLSPath.md"},{"text":"isSanitizableError","link":"/en/api/@connectum/core/functions/isSanitizableError.md"},{"text":"mapResolver","link":"/en/api/@connectum/core/functions/mapResolver.md"},{"text":"matchServicesPattern","link":"/en/api/@connectum/core/functions/matchServicesPattern.md"},{"text":"mergeCatalogs","link":"/en/api/@connectum/core/functions/mergeCatalogs.md"},{"text":"mergeEnabledServices","link":"/en/api/@connectum/core/functions/mergeEnabledServices.md"},{"text":"parseEnvConfig","link":"/en/api/@connectum/core/functions/parseEnvConfig.md"},{"text":"parseServicesEnv","link":"/en/api/@connectum/core/functions/parseServicesEnv.md"},{"text":"perServiceEnvResolver","link":"/en/api/@connectum/core/functions/perServiceEnvResolver.md"},{"text":"readTLSCertificates","link":"/en/api/@connectum/core/functions/readTLSCertificates.md"},{"text":"resolveEffectiveTransport","link":"/en/api/@connectum/core/functions/resolveEffectiveTransport.md"},{"text":"safeParseEnvConfig","link":"/en/api/@connectum/core/functions/safeParseEnvConfig.md"},{"text":"singleTransportResolver","link":"/en/api/@connectum/core/functions/singleTransportResolver.md"}]}]},{"text":"@connectum/events","link":"/en/api/@connectum/events/","collapsed":true,"items":[{"text":"Modules","collapsed":true,"items":[{"text":"types","link":"/en/api/@connectum/events/types/","collapsed":true,"items":[{"text":"Interfaces","collapsed":true,"items":[{"text":"AdapterContext","link":"/en/api/@connectum/events/types/interfaces/AdapterContext.md"},{"text":"DlqOptions","link":"/en/api/@connectum/events/types/interfaces/DlqOptions.md"},{"text":"EventAdapter","link":"/en/api/@connectum/events/types/interfaces/EventAdapter.md"},{"text":"EventBus","link":"/en/api/@connectum/events/types/interfaces/EventBus.md"},{"text":"EventBusOptions","link":"/en/api/@connectum/events/types/interfaces/EventBusOptions.md"},{"text":"EventContext","link":"/en/api/@connectum/events/types/interfaces/EventContext.md"},{"text":"EventContextInit","link":"/en/api/@connectum/events/types/interfaces/EventContextInit.md"},{"text":"EventHandlerConfig","link":"/en/api/@connectum/events/types/interfaces/EventHandlerConfig.md"},{"text":"EventRouteEntry","link":"/en/api/@connectum/events/types/interfaces/EventRouteEntry.md"},{"text":"EventRouter","link":"/en/api/@connectum/events/types/interfaces/EventRouter.md"},{"text":"EventSubscription","link":"/en/api/@connectum/events/types/interfaces/EventSubscription.md"},{"text":"MiddlewareConfig","link":"/en/api/@connectum/events/types/interfaces/MiddlewareConfig.md"},{"text":"PublishOptions","link":"/en/api/@connectum/events/types/interfaces/PublishOptions.md"},{"text":"RawEvent","link":"/en/api/@connectum/events/types/interfaces/RawEvent.md"},{"text":"RawSubscribeOptions","link":"/en/api/@connectum/events/types/interfaces/RawSubscribeOptions.md"},{"text":"RetryOptions","link":"/en/api/@connectum/events/types/interfaces/RetryOptions.md"}]},{"text":"Type Aliases","collapsed":true,"items":[{"text":"EventMiddleware","link":"/en/api/@connectum/events/types/type-aliases/EventMiddleware.md"},{"text":"EventMiddlewareNext","link":"/en/api/@connectum/events/types/type-aliases/EventMiddlewareNext.md"},{"text":"EventRoute","link":"/en/api/@connectum/events/types/type-aliases/EventRoute.md"},{"text":"RawEventHandler","link":"/en/api/@connectum/events/types/type-aliases/RawEventHandler.md"},{"text":"ServiceEventHandlers","link":"/en/api/@connectum/events/types/type-aliases/ServiceEventHandlers.md"},{"text":"TypedEventHandler","link":"/en/api/@connectum/events/types/type-aliases/TypedEventHandler.md"}]}]}]},{"text":"Classes","collapsed":true,"items":[{"text":"EventRouterImpl","link":"/en/api/@connectum/events/classes/EventRouterImpl.md"},{"text":"NonRetryableError","link":"/en/api/@connectum/events/classes/NonRetryableError.md"},{"text":"RetryableError","link":"/en/api/@connectum/events/classes/RetryableError.md"}]},{"text":"Interfaces","collapsed":true,"items":[{"text":"BroadcastReactor","link":"/en/api/@connectum/events/interfaces/BroadcastReactor.md"},{"text":"BroadcastSubscribersOptions","link":"/en/api/@connectum/events/interfaces/BroadcastSubscribersOptions.md"}]},{"text":"Functions","collapsed":true,"items":[{"text":"composeMiddleware","link":"/en/api/@connectum/events/functions/composeMiddleware.md"},{"text":"createBroadcastSubscribers","link":"/en/api/@connectum/events/functions/createBroadcastSubscribers.md"},{"text":"createEventBus","link":"/en/api/@connectum/events/functions/createEventBus.md"},{"text":"createEventContext","link":"/en/api/@connectum/events/functions/createEventContext.md"},{"text":"deriveServiceName","link":"/en/api/@connectum/events/functions/deriveServiceName.md"},{"text":"dlqMiddleware","link":"/en/api/@connectum/events/functions/dlqMiddleware.md"},{"text":"matchPattern","link":"/en/api/@connectum/events/functions/matchPattern.md"},{"text":"MemoryAdapter","link":"/en/api/@connectum/events/functions/MemoryAdapter.md"},{"text":"resolveTopicName","link":"/en/api/@connectum/events/functions/resolveTopicName.md"},{"text":"retryMiddleware","link":"/en/api/@connectum/events/functions/retryMiddleware.md"}]}]},{"text":"@connectum/events-amqp","link":"/en/api/@connectum/events-amqp/","collapsed":true,"items":[{"text":"Modules","collapsed":true,"items":[{"text":"types","link":"/en/api/@connectum/events-amqp/types/","collapsed":true,"items":[{"text":"Interfaces","collapsed":true,"items":[{"text":"AmqpAdapterOptions","link":"/en/api/@connectum/events-amqp/types/interfaces/AmqpAdapterOptions.md"},{"text":"AmqpBindingDeclaration","link":"/en/api/@connectum/events-amqp/types/interfaces/AmqpBindingDeclaration.md"},{"text":"AmqpConsumerOptions","link":"/en/api/@connectum/events-amqp/types/interfaces/AmqpConsumerOptions.md"},{"text":"AmqpExchangeDeclaration","link":"/en/api/@connectum/events-amqp/types/interfaces/AmqpExchangeDeclaration.md"},{"text":"AmqpExchangeOptions","link":"/en/api/@connectum/events-amqp/types/interfaces/AmqpExchangeOptions.md"},{"text":"AmqpLifecycleCallbacks","link":"/en/api/@connectum/events-amqp/types/interfaces/AmqpLifecycleCallbacks.md"},{"text":"AmqpPublisherOptions","link":"/en/api/@connectum/events-amqp/types/interfaces/AmqpPublisherOptions.md"},{"text":"AmqpQueueDeclaration","link":"/en/api/@connectum/events-amqp/types/interfaces/AmqpQueueDeclaration.md"},{"text":"AmqpQueueOptions","link":"/en/api/@connectum/events-amqp/types/interfaces/AmqpQueueOptions.md"},{"text":"AmqpQueueOverride","link":"/en/api/@connectum/events-amqp/types/interfaces/AmqpQueueOverride.md"},{"text":"AmqpRecoveryOptions","link":"/en/api/@connectum/events-amqp/types/interfaces/AmqpRecoveryOptions.md"},{"text":"AmqpSerializationOptions","link":"/en/api/@connectum/events-amqp/types/interfaces/AmqpSerializationOptions.md"},{"text":"AmqpTopology","link":"/en/api/@connectum/events-amqp/types/interfaces/AmqpTopology.md"}]},{"text":"Type Aliases","collapsed":true,"items":[{"text":"AmqpLifecycleEvent","link":"/en/api/@connectum/events-amqp/types/type-aliases/AmqpLifecycleEvent.md"},{"text":"AmqpTopologyMode","link":"/en/api/@connectum/events-amqp/types/type-aliases/AmqpTopologyMode.md"}]},{"text":"Variables","collapsed":true,"items":[{"text":"AmqpTopologyMode","link":"/en/api/@connectum/events-amqp/types/variables/AmqpTopologyMode.md"}]}]}]},{"text":"Classes","collapsed":true,"items":[{"text":"AmqpAdapterError","link":"/en/api/@connectum/events-amqp/classes/AmqpAdapterError.md"},{"text":"AmqpConnectionError","link":"/en/api/@connectum/events-amqp/classes/AmqpConnectionError.md"},{"text":"AmqpPublishNackError","link":"/en/api/@connectum/events-amqp/classes/AmqpPublishNackError.md"},{"text":"AmqpPublishTimeoutError","link":"/en/api/@connectum/events-amqp/classes/AmqpPublishTimeoutError.md"},{"text":"AmqpSerializationError","link":"/en/api/@connectum/events-amqp/classes/AmqpSerializationError.md"},{"text":"AmqpTopologyError","link":"/en/api/@connectum/events-amqp/classes/AmqpTopologyError.md"},{"text":"AmqpUnroutableError","link":"/en/api/@connectum/events-amqp/classes/AmqpUnroutableError.md"}]},{"text":"Functions","collapsed":true,"items":[{"text":"AmqpAdapter","link":"/en/api/@connectum/events-amqp/functions/AmqpAdapter.md"},{"text":"toAmqpPattern","link":"/en/api/@connectum/events-amqp/functions/toAmqpPattern.md"}]}]},{"text":"@connectum/events-kafka","link":"/en/api/@connectum/events-kafka/","collapsed":true,"items":[{"text":"Modules","collapsed":true,"items":[{"text":"types","link":"/en/api/@connectum/events-kafka/types/","collapsed":true,"items":[{"text":"Interfaces","collapsed":true,"items":[{"text":"KafkaAdapterOptions","link":"/en/api/@connectum/events-kafka/types/interfaces/KafkaAdapterOptions.md"}]}]}]},{"text":"Functions","collapsed":true,"items":[{"text":"KafkaAdapter","link":"/en/api/@connectum/events-kafka/functions/KafkaAdapter.md"}]}]},{"text":"@connectum/events-nats","link":"/en/api/@connectum/events-nats/","collapsed":true,"items":[{"text":"Modules","collapsed":true,"items":[{"text":"types","link":"/en/api/@connectum/events-nats/types/","collapsed":true,"items":[{"text":"Interfaces","collapsed":true,"items":[{"text":"NatsAdapterOptions","link":"/en/api/@connectum/events-nats/types/interfaces/NatsAdapterOptions.md"},{"text":"NatsConsumerOptions","link":"/en/api/@connectum/events-nats/types/interfaces/NatsConsumerOptions.md"}]}]}]},{"text":"Functions","collapsed":true,"items":[{"text":"NatsAdapter","link":"/en/api/@connectum/events-nats/functions/NatsAdapter.md"}]}]},{"text":"@connectum/events-redis","link":"/en/api/@connectum/events-redis/","collapsed":true,"items":[{"text":"Modules","collapsed":true,"items":[{"text":"types","link":"/en/api/@connectum/events-redis/types/","collapsed":true,"items":[{"text":"Interfaces","collapsed":true,"items":[{"text":"RedisAdapterOptions","link":"/en/api/@connectum/events-redis/types/interfaces/RedisAdapterOptions.md"},{"text":"RedisBrokerOptions","link":"/en/api/@connectum/events-redis/types/interfaces/RedisBrokerOptions.md"}]}]}]},{"text":"Functions","collapsed":true,"items":[{"text":"RedisAdapter","link":"/en/api/@connectum/events-redis/functions/RedisAdapter.md"}]}]},{"text":"@connectum/healthcheck","link":"/en/api/@connectum/healthcheck/","collapsed":true,"items":[{"text":"@connectum/healthcheck","link":"/en/api/@connectum/healthcheck/@connectum/healthcheck/","collapsed":true,"items":[{"text":"Classes","collapsed":true,"items":[{"text":"HealthcheckManager","link":"/en/api/@connectum/healthcheck/@connectum/healthcheck/classes/HealthcheckManager.md"}]},{"text":"Variables","collapsed":true,"items":[{"text":"healthcheckManager","link":"/en/api/@connectum/healthcheck/@connectum/healthcheck/variables/healthcheckManager.md"}]},{"text":"Functions","collapsed":true,"items":[{"text":"createHealthcheckManager","link":"/en/api/@connectum/healthcheck/@connectum/healthcheck/functions/createHealthcheckManager.md"},{"text":"createHttpHealthHandler","link":"/en/api/@connectum/healthcheck/@connectum/healthcheck/functions/createHttpHealthHandler.md"},{"text":"Healthcheck","link":"/en/api/@connectum/healthcheck/@connectum/healthcheck/functions/Healthcheck.md"},{"text":"parseServiceFromUrl","link":"/en/api/@connectum/healthcheck/@connectum/healthcheck/functions/parseServiceFromUrl.md"}]}]},{"text":"@connectum/healthcheck/types","link":"/en/api/@connectum/healthcheck/@connectum/healthcheck/types/","collapsed":true,"items":[{"text":"Interfaces","collapsed":true,"items":[{"text":"HealthcheckOptions","link":"/en/api/@connectum/healthcheck/@connectum/healthcheck/types/interfaces/HealthcheckOptions.md"},{"text":"ServiceStatus","link":"/en/api/@connectum/healthcheck/@connectum/healthcheck/types/interfaces/ServiceStatus.md"}]},{"text":"Type Aliases","collapsed":true,"items":[{"text":"ServingStatus","link":"/en/api/@connectum/healthcheck/@connectum/healthcheck/types/type-aliases/ServingStatus.md"}]},{"text":"Variables","collapsed":true,"items":[{"text":"ServingStatus","link":"/en/api/@connectum/healthcheck/@connectum/healthcheck/types/variables/ServingStatus.md"}]}]}]},{"text":"@connectum/interceptors","link":"/en/api/@connectum/interceptors/","collapsed":true,"items":[{"text":"Modules","collapsed":true,"items":[{"text":"bulkhead","link":"/en/api/@connectum/interceptors/bulkhead/","collapsed":true,"items":[{"text":"Functions","collapsed":true,"items":[{"text":"createBulkheadInterceptor","link":"/en/api/@connectum/interceptors/bulkhead/functions/createBulkheadInterceptor.md"}]}]},{"text":"circuit-breaker","link":"/en/api/@connectum/interceptors/circuit-breaker/","collapsed":true,"items":[{"text":"Functions","collapsed":true,"items":[{"text":"createCircuitBreakerInterceptor","link":"/en/api/@connectum/interceptors/circuit-breaker/functions/createCircuitBreakerInterceptor.md"},{"text":"defaultFailurePredicate","link":"/en/api/@connectum/interceptors/circuit-breaker/functions/defaultFailurePredicate.md"}]}]},{"text":"defaults","link":"/en/api/@connectum/interceptors/defaults/","collapsed":true,"items":[{"text":"Interfaces","collapsed":true,"items":[{"text":"DefaultInterceptorOptions","link":"/en/api/@connectum/interceptors/defaults/interfaces/DefaultInterceptorOptions.md"}]},{"text":"Functions","collapsed":true,"items":[{"text":"createDefaultInterceptors","link":"/en/api/@connectum/interceptors/defaults/functions/createDefaultInterceptors.md"}]}]},{"text":"errorHandler","link":"/en/api/@connectum/interceptors/errorHandler/","collapsed":true,"items":[{"text":"Functions","collapsed":true,"items":[{"text":"createErrorHandlerInterceptor","link":"/en/api/@connectum/interceptors/errorHandler/functions/createErrorHandlerInterceptor.md"}]}]},{"text":"fallback","link":"/en/api/@connectum/interceptors/fallback/","collapsed":true,"items":[{"text":"Functions","collapsed":true,"items":[{"text":"createFallbackInterceptor","link":"/en/api/@connectum/interceptors/fallback/functions/createFallbackInterceptor.md"}]}]},{"text":"logger","link":"/en/api/@connectum/interceptors/logger/","collapsed":true,"items":[{"text":"Functions","collapsed":true,"items":[{"text":"createLoggerInterceptor","link":"/en/api/@connectum/interceptors/logger/functions/createLoggerInterceptor.md"}]}]},{"text":"method-filter","link":"/en/api/@connectum/interceptors/method-filter/","collapsed":true,"items":[{"text":"Functions","collapsed":true,"items":[{"text":"createMethodFilterInterceptor","link":"/en/api/@connectum/interceptors/method-filter/functions/createMethodFilterInterceptor.md"}]}]},{"text":"retry","link":"/en/api/@connectum/interceptors/retry/","collapsed":true,"items":[{"text":"Functions","collapsed":true,"items":[{"text":"createRetryInterceptor","link":"/en/api/@connectum/interceptors/retry/functions/createRetryInterceptor.md"}]}]},{"text":"serializer","link":"/en/api/@connectum/interceptors/serializer/","collapsed":true,"items":[{"text":"Functions","collapsed":true,"items":[{"text":"createSerializerInterceptor","link":"/en/api/@connectum/interceptors/serializer/functions/createSerializerInterceptor.md"}]}]},{"text":"timeout","link":"/en/api/@connectum/interceptors/timeout/","collapsed":true,"items":[{"text":"Functions","collapsed":true,"items":[{"text":"createTimeoutInterceptor","link":"/en/api/@connectum/interceptors/timeout/functions/createTimeoutInterceptor.md"}]}]}]},{"text":"Interfaces","collapsed":true,"items":[{"text":"BulkheadOptions","link":"/en/api/@connectum/interceptors/interfaces/BulkheadOptions.md"},{"text":"CircuitBreakerOptions","link":"/en/api/@connectum/interceptors/interfaces/CircuitBreakerOptions.md"},{"text":"ErrorHandlerOptions","link":"/en/api/@connectum/interceptors/interfaces/ErrorHandlerOptions.md"},{"text":"FallbackOptions","link":"/en/api/@connectum/interceptors/interfaces/FallbackOptions.md"},{"text":"LoggerOptions","link":"/en/api/@connectum/interceptors/interfaces/LoggerOptions.md"},{"text":"RetryOptions","link":"/en/api/@connectum/interceptors/interfaces/RetryOptions.md"},{"text":"SerializerOptions","link":"/en/api/@connectum/interceptors/interfaces/SerializerOptions.md"},{"text":"TimeoutOptions","link":"/en/api/@connectum/interceptors/interfaces/TimeoutOptions.md"}]},{"text":"Type Aliases","collapsed":true,"items":[{"text":"InterceptorFactory","link":"/en/api/@connectum/interceptors/type-aliases/InterceptorFactory.md"},{"text":"MethodFilterMap","link":"/en/api/@connectum/interceptors/type-aliases/MethodFilterMap.md"}]}]},{"text":"@connectum/otel","link":"/en/api/@connectum/otel/","collapsed":true,"items":[{"text":"Modules","collapsed":true,"items":[{"text":"attributes","link":"/en/api/@connectum/otel/attributes/","collapsed":true,"items":[{"text":"Type Aliases","collapsed":true,"items":[{"text":"ConnectErrorCode","link":"/en/api/@connectum/otel/attributes/type-aliases/ConnectErrorCode.md"}]},{"text":"Variables","collapsed":true,"items":[{"text":"ATTR_CONNECTUM_TRANSPORT","link":"/en/api/@connectum/otel/attributes/variables/ATTR_CONNECTUM_TRANSPORT.md"},{"text":"ATTR_CONNECTUM_TRANSPORT_METRIC","link":"/en/api/@connectum/otel/attributes/variables/ATTR_CONNECTUM_TRANSPORT_METRIC.md"},{"text":"ATTR_ERROR_TYPE","link":"/en/api/@connectum/otel/attributes/variables/ATTR_ERROR_TYPE.md"},{"text":"ATTR_NETWORK_PEER_ADDRESS","link":"/en/api/@connectum/otel/attributes/variables/ATTR_NETWORK_PEER_ADDRESS.md"},{"text":"ATTR_NETWORK_PEER_PORT","link":"/en/api/@connectum/otel/attributes/variables/ATTR_NETWORK_PEER_PORT.md"},{"text":"ATTR_NETWORK_PROTOCOL_NAME","link":"/en/api/@connectum/otel/attributes/variables/ATTR_NETWORK_PROTOCOL_NAME.md"},{"text":"ATTR_NETWORK_TRANSPORT","link":"/en/api/@connectum/otel/attributes/variables/ATTR_NETWORK_TRANSPORT.md"},{"text":"ATTR_RPC_CONNECT_RPC_STATUS_CODE","link":"/en/api/@connectum/otel/attributes/variables/ATTR_RPC_CONNECT_RPC_STATUS_CODE.md"},{"text":"ATTR_RPC_MESSAGE_ID","link":"/en/api/@connectum/otel/attributes/variables/ATTR_RPC_MESSAGE_ID.md"},{"text":"ATTR_RPC_MESSAGE_TYPE","link":"/en/api/@connectum/otel/attributes/variables/ATTR_RPC_MESSAGE_TYPE.md"},{"text":"ATTR_RPC_MESSAGE_UNCOMPRESSED_SIZE","link":"/en/api/@connectum/otel/attributes/variables/ATTR_RPC_MESSAGE_UNCOMPRESSED_SIZE.md"},{"text":"ATTR_RPC_METHOD","link":"/en/api/@connectum/otel/attributes/variables/ATTR_RPC_METHOD.md"},{"text":"ATTR_RPC_SERVICE","link":"/en/api/@connectum/otel/attributes/variables/ATTR_RPC_SERVICE.md"},{"text":"ATTR_RPC_SYSTEM","link":"/en/api/@connectum/otel/attributes/variables/ATTR_RPC_SYSTEM.md"},{"text":"ATTR_SERVER_ADDRESS","link":"/en/api/@connectum/otel/attributes/variables/ATTR_SERVER_ADDRESS.md"},{"text":"ATTR_SERVER_PORT","link":"/en/api/@connectum/otel/attributes/variables/ATTR_SERVER_PORT.md"},{"text":"ConnectErrorCode","link":"/en/api/@connectum/otel/attributes/variables/ConnectErrorCode.md"},{"text":"ConnectErrorCodeName","link":"/en/api/@connectum/otel/attributes/variables/ConnectErrorCodeName.md"},{"text":"CONNECTUM_INTERNAL_TRANSPORT_HEADER","link":"/en/api/@connectum/otel/attributes/variables/CONNECTUM_INTERNAL_TRANSPORT_HEADER.md"},{"text":"CONNECTUM_INTERNAL_TRANSPORT_IN_PROCESS","link":"/en/api/@connectum/otel/attributes/variables/CONNECTUM_INTERNAL_TRANSPORT_IN_PROCESS.md"},{"text":"RPC_MESSAGE_EVENT","link":"/en/api/@connectum/otel/attributes/variables/RPC_MESSAGE_EVENT.md"},{"text":"RPC_SYSTEM_CONNECT_RPC","link":"/en/api/@connectum/otel/attributes/variables/RPC_SYSTEM_CONNECT_RPC.md"}]}]},{"text":"client-interceptor","link":"/en/api/@connectum/otel/client-interceptor/","collapsed":true,"items":[{"text":"Functions","collapsed":true,"items":[{"text":"createOtelClientInterceptor","link":"/en/api/@connectum/otel/client-interceptor/functions/createOtelClientInterceptor.md"}]}]},{"text":"interceptor","link":"/en/api/@connectum/otel/interceptor/","collapsed":true,"items":[{"text":"Functions","collapsed":true,"items":[{"text":"createOtelInterceptor","link":"/en/api/@connectum/otel/interceptor/functions/createOtelInterceptor.md"}]}]},{"text":"logger","link":"/en/api/@connectum/otel/logger/","collapsed":true,"items":[{"text":"Interfaces","collapsed":true,"items":[{"text":"Logger","link":"/en/api/@connectum/otel/logger/interfaces/Logger.md"},{"text":"LoggerOptions","link":"/en/api/@connectum/otel/logger/interfaces/LoggerOptions.md"}]},{"text":"Functions","collapsed":true,"items":[{"text":"getLogger","link":"/en/api/@connectum/otel/logger/functions/getLogger.md"}]}]},{"text":"meter","link":"/en/api/@connectum/otel/meter/","collapsed":true,"items":[{"text":"Functions","collapsed":true,"items":[{"text":"getMeter","link":"/en/api/@connectum/otel/meter/functions/getMeter.md"}]}]},{"text":"metrics","link":"/en/api/@connectum/otel/metrics/","collapsed":true,"items":[{"text":"Interfaces","collapsed":true,"items":[{"text":"RpcClientMetrics","link":"/en/api/@connectum/otel/metrics/interfaces/RpcClientMetrics.md"},{"text":"RpcServerMetrics","link":"/en/api/@connectum/otel/metrics/interfaces/RpcServerMetrics.md"}]},{"text":"Functions","collapsed":true,"items":[{"text":"createRpcClientMetrics","link":"/en/api/@connectum/otel/metrics/functions/createRpcClientMetrics.md"},{"text":"createRpcServerMetrics","link":"/en/api/@connectum/otel/metrics/functions/createRpcServerMetrics.md"}]}]},{"text":"provider","link":"/en/api/@connectum/otel/provider/","collapsed":true,"items":[{"text":"Interfaces","collapsed":true,"items":[{"text":"ProviderOptions","link":"/en/api/@connectum/otel/provider/interfaces/ProviderOptions.md"},{"text":"ResourceAttributeInputs","link":"/en/api/@connectum/otel/provider/interfaces/ResourceAttributeInputs.md"}]},{"text":"Functions","collapsed":true,"items":[{"text":"buildResourceAttributes","link":"/en/api/@connectum/otel/provider/functions/buildResourceAttributes.md"},{"text":"getProvider","link":"/en/api/@connectum/otel/provider/functions/getProvider.md"},{"text":"initProvider","link":"/en/api/@connectum/otel/provider/functions/initProvider.md"},{"text":"parseOtelResourceAttributesEnv","link":"/en/api/@connectum/otel/provider/functions/parseOtelResourceAttributesEnv.md"},{"text":"shutdownProvider","link":"/en/api/@connectum/otel/provider/functions/shutdownProvider.md"}]}]},{"text":"shared","link":"/en/api/@connectum/otel/shared/","collapsed":true,"items":[{"text":"Interfaces","collapsed":true,"items":[{"text":"BaseAttributeParams","link":"/en/api/@connectum/otel/shared/interfaces/BaseAttributeParams.md"}]},{"text":"Functions","collapsed":true,"items":[{"text":"applyAttributeFilter","link":"/en/api/@connectum/otel/shared/functions/applyAttributeFilter.md"},{"text":"buildBaseAttributes","link":"/en/api/@connectum/otel/shared/functions/buildBaseAttributes.md"},{"text":"buildErrorAttributes","link":"/en/api/@connectum/otel/shared/functions/buildErrorAttributes.md"},{"text":"detectConnectumTransport","link":"/en/api/@connectum/otel/shared/functions/detectConnectumTransport.md"},{"text":"estimateMessageSize","link":"/en/api/@connectum/otel/shared/functions/estimateMessageSize.md"},{"text":"wrapAsyncIterable","link":"/en/api/@connectum/otel/shared/functions/wrapAsyncIterable.md"}]}]},{"text":"traceAll","link":"/en/api/@connectum/otel/traceAll/","collapsed":true,"items":[{"text":"Functions","collapsed":true,"items":[{"text":"traceAll","link":"/en/api/@connectum/otel/traceAll/functions/traceAll.md"}]}]},{"text":"traced","link":"/en/api/@connectum/otel/traced/","collapsed":true,"items":[{"text":"Functions","collapsed":true,"items":[{"text":"traced","link":"/en/api/@connectum/otel/traced/functions/traced.md"}]}]},{"text":"tracer","link":"/en/api/@connectum/otel/tracer/","collapsed":true,"items":[{"text":"Functions","collapsed":true,"items":[{"text":"getTracer","link":"/en/api/@connectum/otel/tracer/functions/getTracer.md"}]}]}]},{"text":"Interfaces","collapsed":true,"items":[{"text":"BatchSpanProcessorOptions","link":"/en/api/@connectum/otel/interfaces/BatchSpanProcessorOptions.md"},{"text":"CollectorOptions","link":"/en/api/@connectum/otel/interfaces/CollectorOptions.md"},{"text":"Meter","link":"/en/api/@connectum/otel/interfaces/Meter.md"},{"text":"OtelBaseOptions","link":"/en/api/@connectum/otel/interfaces/OtelBaseOptions.md"},{"text":"OtelClientInterceptorOptions","link":"/en/api/@connectum/otel/interfaces/OtelClientInterceptorOptions.md"},{"text":"OtelInterceptorOptions","link":"/en/api/@connectum/otel/interfaces/OtelInterceptorOptions.md"},{"text":"OTLPSettings","link":"/en/api/@connectum/otel/interfaces/OTLPSettings.md"},{"text":"TraceAllOptions","link":"/en/api/@connectum/otel/interfaces/TraceAllOptions.md"},{"text":"TracedOptions","link":"/en/api/@connectum/otel/interfaces/TracedOptions.md"},{"text":"Tracer","link":"/en/api/@connectum/otel/interfaces/Tracer.md"}]},{"text":"Type Aliases","collapsed":true,"items":[{"text":"ArgsFilter","link":"/en/api/@connectum/otel/type-aliases/ArgsFilter.md"},{"text":"ExporterType","link":"/en/api/@connectum/otel/type-aliases/ExporterType.md"},{"text":"MethodArgsFilter","link":"/en/api/@connectum/otel/type-aliases/MethodArgsFilter.md"},{"text":"OtelAttributeFilter","link":"/en/api/@connectum/otel/type-aliases/OtelAttributeFilter.md"},{"text":"OtelFilter","link":"/en/api/@connectum/otel/type-aliases/OtelFilter.md"}]},{"text":"Variables","collapsed":true,"items":[{"text":"ExporterType","link":"/en/api/@connectum/otel/variables/ExporterType.md"}]},{"text":"Functions","collapsed":true,"items":[{"text":"getBatchSpanProcessorOptions","link":"/en/api/@connectum/otel/functions/getBatchSpanProcessorOptions.md"},{"text":"getCollectorOptions","link":"/en/api/@connectum/otel/functions/getCollectorOptions.md"},{"text":"getOTLPSettings","link":"/en/api/@connectum/otel/functions/getOTLPSettings.md"},{"text":"getServiceMetadata","link":"/en/api/@connectum/otel/functions/getServiceMetadata.md"}]}]},{"text":"@connectum/reflection","link":"/en/api/@connectum/reflection/","collapsed":true,"items":[{"text":"Functions","collapsed":true,"items":[{"text":"collectFileProtos","link":"/en/api/@connectum/reflection/functions/collectFileProtos.md"},{"text":"Reflection","link":"/en/api/@connectum/reflection/functions/Reflection.md"}]}]},{"text":"@connectum/test-fixtures","link":"/en/api/@connectum/test-fixtures/","collapsed":true,"items":[{"text":"index","link":"/en/api/@connectum/test-fixtures/index/","collapsed":true,"items":[{"text":"Interfaces","collapsed":true,"items":[{"text":"MockCall","link":"/en/api/@connectum/test-fixtures/index/interfaces/MockCall.md"},{"text":"MockFn","link":"/en/api/@connectum/test-fixtures/index/interfaces/MockFn.md"}]},{"text":"Functions","collapsed":true,"items":[{"text":"assertConnectError","link":"/en/api/@connectum/test-fixtures/index/functions/assertConnectError.md"},{"text":"createFakeMethod","link":"/en/api/@connectum/test-fixtures/index/functions/createFakeMethod.md"},{"text":"createFakeService","link":"/en/api/@connectum/test-fixtures/index/functions/createFakeService.md"},{"text":"createMockDescField","link":"/en/api/@connectum/test-fixtures/index/functions/createMockDescField.md"},{"text":"createMockDescMessage","link":"/en/api/@connectum/test-fixtures/index/functions/createMockDescMessage.md"},{"text":"createMockDescMethod","link":"/en/api/@connectum/test-fixtures/index/functions/createMockDescMethod.md"},{"text":"createMockFn","link":"/en/api/@connectum/test-fixtures/index/functions/createMockFn.md"},{"text":"createMockNext","link":"/en/api/@connectum/test-fixtures/index/functions/createMockNext.md"},{"text":"createMockNextError","link":"/en/api/@connectum/test-fixtures/index/functions/createMockNextError.md"},{"text":"createMockNextSlow","link":"/en/api/@connectum/test-fixtures/index/functions/createMockNextSlow.md"},{"text":"createMockRequest","link":"/en/api/@connectum/test-fixtures/index/functions/createMockRequest.md"},{"text":"createMockStream","link":"/en/api/@connectum/test-fixtures/index/functions/createMockStream.md"}]}]},{"text":"types","link":"/en/api/@connectum/test-fixtures/types/","collapsed":true,"items":[{"text":"Interfaces","collapsed":true,"items":[{"text":"FakeMethodOptions","link":"/en/api/@connectum/test-fixtures/types/interfaces/FakeMethodOptions.md"},{"text":"FakeServiceOptions","link":"/en/api/@connectum/test-fixtures/types/interfaces/FakeServiceOptions.md"},{"text":"MockDescFieldOptions","link":"/en/api/@connectum/test-fixtures/types/interfaces/MockDescFieldOptions.md"},{"text":"MockDescMessageOptions","link":"/en/api/@connectum/test-fixtures/types/interfaces/MockDescMessageOptions.md"},{"text":"MockDescMethodOptions","link":"/en/api/@connectum/test-fixtures/types/interfaces/MockDescMethodOptions.md"},{"text":"MockNextOptions","link":"/en/api/@connectum/test-fixtures/types/interfaces/MockNextOptions.md"},{"text":"MockRequestOptions","link":"/en/api/@connectum/test-fixtures/types/interfaces/MockRequestOptions.md"},{"text":"MockStreamOptions","link":"/en/api/@connectum/test-fixtures/types/interfaces/MockStreamOptions.md"}]}]}]},{"text":"@connectum/testing","link":"/en/api/@connectum/testing/","collapsed":true,"items":[{"text":"index","link":"/en/api/@connectum/testing/index/","collapsed":true,"items":[{"text":"Classes","collapsed":true,"items":[{"text":"InMemoryMetricCollector","link":"/en/api/@connectum/testing/index/classes/InMemoryMetricCollector.md"},{"text":"InMemorySpanCollector","link":"/en/api/@connectum/testing/index/classes/InMemorySpanCollector.md"}]},{"text":"Interfaces","collapsed":true,"items":[{"text":"CreateMockContextOptions","link":"/en/api/@connectum/testing/index/interfaces/CreateMockContextOptions.md"},{"text":"FakeMethodOptions","link":"/en/api/@connectum/testing/index/interfaces/FakeMethodOptions.md"},{"text":"FakeServiceOptions","link":"/en/api/@connectum/testing/index/interfaces/FakeServiceOptions.md"},{"text":"MockCall","link":"/en/api/@connectum/testing/index/interfaces/MockCall.md"},{"text":"MockDescFieldOptions","link":"/en/api/@connectum/testing/index/interfaces/MockDescFieldOptions.md"},{"text":"MockDescMessageOptions","link":"/en/api/@connectum/testing/index/interfaces/MockDescMessageOptions.md"},{"text":"MockDescMethodOptions","link":"/en/api/@connectum/testing/index/interfaces/MockDescMethodOptions.md"},{"text":"MockFn","link":"/en/api/@connectum/testing/index/interfaces/MockFn.md"},{"text":"MockNextOptions","link":"/en/api/@connectum/testing/index/interfaces/MockNextOptions.md"},{"text":"MockRequestOptions","link":"/en/api/@connectum/testing/index/interfaces/MockRequestOptions.md"},{"text":"MockService","link":"/en/api/@connectum/testing/index/interfaces/MockService.md"},{"text":"MockStreamOptions","link":"/en/api/@connectum/testing/index/interfaces/MockStreamOptions.md"},{"text":"NormalizedMetric","link":"/en/api/@connectum/testing/index/interfaces/NormalizedMetric.md"},{"text":"NormalizedSpan","link":"/en/api/@connectum/testing/index/interfaces/NormalizedSpan.md"}]},{"text":"Variables","collapsed":true,"items":[{"text":"MOCK_RESPONSE_HEADER","link":"/en/api/@connectum/testing/index/variables/MOCK_RESPONSE_HEADER.md"},{"text":"TRANSPORT_METRIC_ATTRIBUTE","link":"/en/api/@connectum/testing/index/variables/TRANSPORT_METRIC_ATTRIBUTE.md"},{"text":"TRANSPORT_SPAN_ATTRIBUTE","link":"/en/api/@connectum/testing/index/variables/TRANSPORT_SPAN_ATTRIBUTE.md"}]},{"text":"Functions","collapsed":true,"items":[{"text":"assertConnectError","link":"/en/api/@connectum/testing/index/functions/assertConnectError.md"},{"text":"createFakeMethod","link":"/en/api/@connectum/testing/index/functions/createFakeMethod.md"},{"text":"createFakeService","link":"/en/api/@connectum/testing/index/functions/createFakeService.md"},{"text":"createLocalClient","link":"/en/api/@connectum/testing/index/functions/createLocalClient.md"},{"text":"createMockContext","link":"/en/api/@connectum/testing/index/functions/createMockContext.md"},{"text":"createMockDescField","link":"/en/api/@connectum/testing/index/functions/createMockDescField.md"},{"text":"createMockDescMessage","link":"/en/api/@connectum/testing/index/functions/createMockDescMessage.md"},{"text":"createMockDescMethod","link":"/en/api/@connectum/testing/index/functions/createMockDescMethod.md"},{"text":"createMockFn","link":"/en/api/@connectum/testing/index/functions/createMockFn.md"},{"text":"createMockNext","link":"/en/api/@connectum/testing/index/functions/createMockNext.md"},{"text":"createMockNextError","link":"/en/api/@connectum/testing/index/functions/createMockNextError.md"},{"text":"createMockNextSlow","link":"/en/api/@connectum/testing/index/functions/createMockNextSlow.md"},{"text":"createMockRequest","link":"/en/api/@connectum/testing/index/functions/createMockRequest.md"},{"text":"createMockStream","link":"/en/api/@connectum/testing/index/functions/createMockStream.md"},{"text":"createTestServer","link":"/en/api/@connectum/testing/index/functions/createTestServer.md"},{"text":"mockResolver","link":"/en/api/@connectum/testing/index/functions/mockResolver.md"},{"text":"mockService","link":"/en/api/@connectum/testing/index/functions/mockService.md"},{"text":"withTestServer","link":"/en/api/@connectum/testing/index/functions/withTestServer.md"}]}]},{"text":"types","link":"/en/api/@connectum/testing/types/","collapsed":true,"items":[{"text":"Interfaces","collapsed":true,"items":[{"text":"CreateTestServerOptions","link":"/en/api/@connectum/testing/types/interfaces/CreateTestServerOptions.md"},{"text":"TestServer","link":"/en/api/@connectum/testing/types/interfaces/TestServer.md"}]}]}]}] \ No newline at end of file diff --git a/en/packages/events-amqp.md b/en/packages/events-amqp.md index 75ada38c..683fb077 100644 --- a/en/packages/events-amqp.md +++ b/en/packages/events-amqp.md @@ -190,13 +190,37 @@ const adapter = AmqpAdapter({ ### `AmqpLifecycleCallbacks` -| Callback | Signature | Fires when | -|----------|-----------|------------| -| `onConnected` | `() => void` | Connection established (initial connect and after each recovery) | -| `onDisconnected` | `(cause: Error) => void` | Connection lost | -| `onReconnecting` | `(info: { attempt: number; delay: number; error: Error }) => void` | A reconnect attempt is scheduled (fires exactly once per scheduled retry) | -| `onReconnectFailed` | `(cause: Error) => void` | Recovery exhausted (`maxRetries` reached) | -| `onSetupFailed` | `(error: Error, ctx: { initial: boolean; attempt: number }) => void` | Topology/setup failed on the initial validation probe (`initial: true`) or a reconnect re-assert (`initial: false`). The initial-connect call requires the startup probe, which runs when this callback or `failFastOnInitialSetupError` is set. Available since 1.2.0 | +The preferred surface is the single discriminated **`onLifecycle`** callback (since 1.3.0); the flat callbacks below are a compatibility shim over the same event stream, deprecated since 1.3.0 (removal not before 2.0). When both are set, flat callbacks fire after `onLifecycle` for the same underlying event. + +Callbacks **must not throw** -- dispatch runs inside the connection driver's event handlers, so exceptions are isolated (swallowed) to protect the connection. Setting `onLifecycle` (like `onSetupFailed` / `failFastOnInitialSetupError`) enables the startup validation probe -- one extra short-lived connection plus a topology validation pass at `connect()` (requires recovery enabled). + +```typescript +lifecycle: { + onLifecycle: (event) => { + if (event.type === 'disconnected') metrics.increment('amqp.disconnects'); + if (event.type === 'setup-failed' && event.initial) log.fatal(event.error); + if (event.type === 'blocked') log.warn(`broker flow control: ${event.reason}`); + }, +}, +``` + +| Event `type` | Payload | Fires when | +|--------------|---------|------------| +| `connected` | `reconnected: boolean` | Connection established -- exactly once per (re)connect; `false` for the initial connect, `true` after a recovery | +| `disconnected` | `error: Error` | Connection lost -- exactly once per drop | +| `reconnecting` | `attempt, delay, error` | A reconnect attempt is scheduled (exactly once per scheduled retry) | +| `reconnect-failed` | `error: Error` | Recovery exhausted (`maxRetries` reached) | +| `setup-failed` | `initial, attempt, error` | Topology/setup failed on the initial validation probe (`initial: true`) or a reconnect re-assert (`initial: false`) | +| `blocked` | `reason: string` | Broker flow control (`connection.blocked`, e.g. a memory/disk alarm). Union-only -- no flat equivalent | +| `unblocked` | -- | Broker resumed after flow control. Union-only -- no flat equivalent | + +Deprecated flat callbacks (compatibility shim): `onConnected()`, `onDisconnected(cause)`, `onReconnecting({ attempt, delay, error })`, `onReconnectFailed(cause)`, `onSetupFailed(error, { initial, attempt })` (since 1.2.0). + +**Scope**: the retry loop of the **initial** connect (broker unreachable when `connect()` is called) runs before the lifecycle wiring can attach, so its per-retry events are not surfaced; the startup probe covers the deterministic-misconfiguration case. Full initial-window observability is tracked in [connectum#198](https://github.com/Connectum-Framework/connectum/issues/198). + +::: tip Fixed in 1.3.0 +A socket-level connection cut used to fire `onDisconnected` twice; it now fires exactly once per drop on both surfaces (disconnect-counter metrics roughly halve). In `recovery: false` mode a server-forced graceful close now surfaces a single `disconnected` (previously no event). +::: Connection errors are surfaced through these callbacks -- never console-only. @@ -243,11 +267,7 @@ const adapter = AmqpAdapter({ jitter: 0.2, }, lifecycle: { - onConnected: () => console.log('AMQP connected'), - onDisconnected: (cause) => console.error('AMQP disconnected', cause), - onReconnecting: ({ attempt, delay }) => console.warn(`Reconnect #${attempt} in ${delay}ms`), - onReconnectFailed: (cause) => console.error('AMQP recovery exhausted', cause), - onSetupFailed: (error, { initial }) => console.error('AMQP topology/setup failed', { initial }, error), + onLifecycle: (event) => console.log('AMQP lifecycle:', event.type, event), }, publishTimeoutMs: 30_000, }); @@ -401,7 +421,7 @@ Connection behavior: - **Reconnect delay.** The effective delay is symmetric jitter around the exponential base -- uniform in `[base × (1 − jitter), base × (1 + jitter)]` with `base = min(maxDelay, initialDelay × factor^(attempt − 1))`. The cap applies to the base **before** jitter, so the wait can overshoot `maxDelay` (~20% at the default `jitter: 0.2`, up to ~2x at `jitter: 1`). - **With `recovery: false`**, `connect()` rejects immediately if the broker is unreachable, and a lost connection is not restored. -Observe connection state through the `lifecycle` callbacks (`onConnected`, `onDisconnected`, `onReconnecting`, `onReconnectFailed`, `onSetupFailed`). +Observe connection state through `lifecycle.onLifecycle` (discriminated union; preferred since 1.3.0) or the deprecated flat callbacks (`onConnected`, `onDisconnected`, `onReconnecting`, `onReconnectFailed`, `onSetupFailed`). ### Tuning the reconnect backoff