diff --git a/en/api/@connectum/events-amqp/classes/AmqpConnectionError.md b/en/api/@connectum/events-amqp/classes/AmqpConnectionError.md index 840542d..13de337 100644 --- a/en/api/@connectum/events-amqp/classes/AmqpConnectionError.md +++ b/en/api/@connectum/events-amqp/classes/AmqpConnectionError.md @@ -2,11 +2,14 @@ # Class: AmqpConnectionError -Defined in: [packages/events-amqp/src/errors.ts:42](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/errors.ts#L42) +Defined in: [packages/events-amqp/src/errors.ts:45](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/errors.ts#L45) Connection is absent, lost, or recovery is in progress / exhausted. -Publishes during a disconnected window fail fast with this error; -in-flight confirms are rejected with it on connection loss. +Publishes during a disconnected window fail fast with this error (unless +the opt-in `publishRetry` is enabled — connection-class failures are then +retried in place within the AUTO-RETRY boundary, see +`isAutoRetriablePublishError`); in-flight confirms are rejected with it on +connection loss. ## Extends diff --git a/en/api/@connectum/events-amqp/classes/AmqpPublishNackError.md b/en/api/@connectum/events-amqp/classes/AmqpPublishNackError.md index 7c38355..4c24748 100644 --- a/en/api/@connectum/events-amqp/classes/AmqpPublishNackError.md +++ b/en/api/@connectum/events-amqp/classes/AmqpPublishNackError.md @@ -2,7 +2,7 @@ # Class: AmqpPublishNackError -Defined in: [packages/events-amqp/src/errors.ts:58](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/errors.ts#L58) +Defined in: [packages/events-amqp/src/errors.ts:61](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/errors.ts#L61) The broker negatively acknowledged (nacked) a published message. diff --git a/en/api/@connectum/events-amqp/classes/AmqpPublishTimeoutError.md b/en/api/@connectum/events-amqp/classes/AmqpPublishTimeoutError.md index 7c86a0c..4e02522 100644 --- a/en/api/@connectum/events-amqp/classes/AmqpPublishTimeoutError.md +++ b/en/api/@connectum/events-amqp/classes/AmqpPublishTimeoutError.md @@ -2,7 +2,7 @@ # Class: AmqpPublishTimeoutError -Defined in: [packages/events-amqp/src/errors.ts:65](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/errors.ts#L65) +Defined in: [packages/events-amqp/src/errors.ts:68](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/errors.ts#L68) No broker outcome (ack/nack/return/connection loss) arrived within `publishTimeoutMs`. The message state is UNKNOWN — it may or may not diff --git a/en/api/@connectum/events-amqp/classes/AmqpSerializationError.md b/en/api/@connectum/events-amqp/classes/AmqpSerializationError.md index a601fd2..6a5f79d 100644 --- a/en/api/@connectum/events-amqp/classes/AmqpSerializationError.md +++ b/en/api/@connectum/events-amqp/classes/AmqpSerializationError.md @@ -2,7 +2,7 @@ # Class: AmqpSerializationError -Defined in: [packages/events-amqp/src/errors.ts:112](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/errors.ts#L112) +Defined in: [packages/events-amqp/src/errors.ts:115](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/errors.ts#L115) Payload encoding/decoding failed in a custom serialization hook. diff --git a/en/api/@connectum/events-amqp/classes/AmqpTopologyError.md b/en/api/@connectum/events-amqp/classes/AmqpTopologyError.md index 255903f..23bc739 100644 --- a/en/api/@connectum/events-amqp/classes/AmqpTopologyError.md +++ b/en/api/@connectum/events-amqp/classes/AmqpTopologyError.md @@ -2,7 +2,7 @@ # Class: AmqpTopologyError -Defined in: [packages/events-amqp/src/errors.ts:93](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/errors.ts#L93) +Defined in: [packages/events-amqp/src/errors.ts:96](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/errors.ts#L96) Topology declaration or verification failed: missing exchange/queue in `check`/`skip` mode, or a conflicting redeclare (PRECONDITION_FAILED) in @@ -24,7 +24,7 @@ failure classification (WHY it failed) stays with the error class and > **new AmqpTopologyError**(`message`, `options?`): `AmqpTopologyError` -Defined in: [packages/events-amqp/src/errors.ts:99](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/errors.ts#L99) +Defined in: [packages/events-amqp/src/errors.ts:102](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/errors.ts#L102) #### Parameters @@ -92,7 +92,7 @@ Defined in: node\_modules/.pnpm/typescript@5.9.3/node\_modules/typescript/lib/li > `readonly` `optional` **object?**: [`AmqpTopologyObject`](../type-aliases/AmqpTopologyObject.md) -Defined in: [packages/events-amqp/src/errors.ts:97](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/errors.ts#L97) +Defined in: [packages/events-amqp/src/errors.ts:100](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/errors.ts#L100) *** diff --git a/en/api/@connectum/events-amqp/classes/AmqpUnroutableError.md b/en/api/@connectum/events-amqp/classes/AmqpUnroutableError.md index 3b261ae..984b7b6 100644 --- a/en/api/@connectum/events-amqp/classes/AmqpUnroutableError.md +++ b/en/api/@connectum/events-amqp/classes/AmqpUnroutableError.md @@ -2,7 +2,7 @@ # Class: AmqpUnroutableError -Defined in: [packages/events-amqp/src/errors.ts:48](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/errors.ts#L48) +Defined in: [packages/events-amqp/src/errors.ts:51](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/errors.ts#L51) The broker returned a `mandatory` message as unroutable (`basic.return`): no queue is bound for the routing key. @@ -17,7 +17,7 @@ The broker returned a `mandatory` message as unroutable > **new AmqpUnroutableError**(`message`, `routingKey`): `AmqpUnroutableError` -Defined in: [packages/events-amqp/src/errors.ts:51](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/errors.ts#L51) +Defined in: [packages/events-amqp/src/errors.ts:54](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/errors.ts#L54) #### Parameters @@ -79,7 +79,7 @@ Defined in: node\_modules/.pnpm/typescript@5.9.3/node\_modules/typescript/lib/li > `readonly` **routingKey**: `string` -Defined in: [packages/events-amqp/src/errors.ts:49](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/errors.ts#L49) +Defined in: [packages/events-amqp/src/errors.ts:52](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/errors.ts#L52) *** diff --git a/en/api/@connectum/events-amqp/functions/AmqpAdapter.md b/en/api/@connectum/events-amqp/functions/AmqpAdapter.md index 96fd248..366ea30 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:442](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/AmqpAdapter.ts#L442) +Defined in: [packages/events-amqp/src/AmqpAdapter.ts:462](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/AmqpAdapter.ts#L462) Create an AMQP/RabbitMQ adapter for @connectum/events. diff --git a/en/api/@connectum/events-amqp/functions/isAutoRetriablePublishError.md b/en/api/@connectum/events-amqp/functions/isAutoRetriablePublishError.md new file mode 100644 index 0000000..08c2b8e --- /dev/null +++ b/en/api/@connectum/events-amqp/functions/isAutoRetriablePublishError.md @@ -0,0 +1,35 @@ +[Connectum API Reference](../../../index.md) / [@connectum/events-amqp](../index.md) / isAutoRetriablePublishError + +# Function: isAutoRetriablePublishError() + +> **isAutoRetriablePublishError**(`err`, `options?`): `boolean` + +Defined in: [packages/events-amqp/src/AmqpAdapter.ts:180](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/AmqpAdapter.ts#L180) + +The publish AUTO-RETRY boundary (#195): which publish failures the opt-in +`publishRetry` retries inline. + +Deliberately NARROWER than the at-least-once REPUBLISH matrix in the error +taxonomy (`errors.ts`): a broker nack is republish-safe by policy but is an +explicit refusal — hammering it in a tight loop is not a retry strategy. +Connection-class outcomes (`AmqpConnectionError`: publish during recovery, +in-flight confirm lost to a drop) are retriable; a timeout +(`AmqpPublishTimeoutError`, state UNKNOWN) joins only via +`retryOnTimeout: true`. Deterministic outcomes (unroutable, serialization, +topology) never retry. + +## Parameters + +### err + +`unknown` + +### options? + +#### retryOnTimeout? + +`boolean` + +## Returns + +`boolean` diff --git a/en/api/@connectum/events-amqp/index.md b/en/api/@connectum/events-amqp/index.md index 215e536..8a69147 100644 --- a/en/api/@connectum/events-amqp/index.md +++ b/en/api/@connectum/events-amqp/index.md @@ -23,6 +23,7 @@ ## Functions - [AmqpAdapter](functions/AmqpAdapter.md) +- [isAutoRetriablePublishError](functions/isAutoRetriablePublishError.md) - [toAmqpPattern](functions/toAmqpPattern.md) ## References @@ -75,6 +76,12 @@ Re-exports [AmqpPublisherOptions](types/interfaces/AmqpPublisherOptions.md) *** +### AmqpPublishRetryOptions + +Re-exports [AmqpPublishRetryOptions](types/interfaces/AmqpPublishRetryOptions.md) + +*** + ### AmqpQueueDeclaration Re-exports [AmqpQueueDeclaration](types/interfaces/AmqpQueueDeclaration.md) diff --git a/en/api/@connectum/events-amqp/type-aliases/AmqpTopologyObject.md b/en/api/@connectum/events-amqp/type-aliases/AmqpTopologyObject.md index 49b550e..cfa97f8 100644 --- a/en/api/@connectum/events-amqp/type-aliases/AmqpTopologyObject.md +++ b/en/api/@connectum/events-amqp/type-aliases/AmqpTopologyObject.md @@ -4,7 +4,7 @@ > **AmqpTopologyObject** = \{ `kind`: `"exchange"` \| `"queue"`; `name`: `string`; \} \| \{ `destination`: `string`; `destinationType`: `"queue"` \| `"exchange"`; `kind`: `"binding"`; `routingKey`: `string`; `source`: `string`; \} -Defined in: [packages/events-amqp/src/errors.ts:72](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/errors.ts#L72) +Defined in: [packages/events-amqp/src/errors.ts:75](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/errors.ts#L75) Machine-readable identity of the topology object a declaration or verification failed on. A binding has no name of its own — it is identified diff --git a/en/api/@connectum/events-amqp/types/index.md b/en/api/@connectum/events-amqp/types/index.md index a1e75bc..c10bd4e 100644 --- a/en/api/@connectum/events-amqp/types/index.md +++ b/en/api/@connectum/events-amqp/types/index.md @@ -13,6 +13,7 @@ Configuration types for the AMQP/RabbitMQ adapter. - [AmqpExchangeOptions](interfaces/AmqpExchangeOptions.md) - [AmqpLifecycleCallbacks](interfaces/AmqpLifecycleCallbacks.md) - [AmqpPublisherOptions](interfaces/AmqpPublisherOptions.md) +- [AmqpPublishRetryOptions](interfaces/AmqpPublishRetryOptions.md) - [AmqpQueueDeclaration](interfaces/AmqpQueueDeclaration.md) - [AmqpQueueOptions](interfaces/AmqpQueueOptions.md) - [AmqpQueueOverride](interfaces/AmqpQueueOverride.md) diff --git a/en/api/@connectum/events-amqp/types/interfaces/AmqpAdapterOptions.md b/en/api/@connectum/events-amqp/types/interfaces/AmqpAdapterOptions.md index 74cf3d1..dedca96 100644 --- a/en/api/@connectum/events-amqp/types/interfaces/AmqpAdapterOptions.md +++ b/en/api/@connectum/events-amqp/types/interfaces/AmqpAdapterOptions.md @@ -103,7 +103,7 @@ false > `readonly` `optional` **lifecycle?**: [`AmqpLifecycleCallbacks`](AmqpLifecycleCallbacks.md) -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:249](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L249) Connection lifecycle callbacks. Connection errors are surfaced here — not just logged. @@ -120,11 +120,72 @@ Publisher options. *** +### publishRetry? + +> `readonly` `optional` **publishRetry?**: `boolean` \| [`AmqpPublishRetryOptions`](AmqpPublishRetryOptions.md) + +Defined in: [packages/events-amqp/src/types.ts:243](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L243) + +Opt-in bounded publish retry for CONNECTION-CLASS outcomes (since 1.3.0). + +When enabled, a `publish()` that fails with `AmqpConnectionError` — +publishing during a recovery window, or an in-flight confirm lost to a +connection drop — is retried in place (the caller's promise stays +pending) instead of rejecting immediately: a short broker blip becomes +a transparent delay. `true` = defaults; an object tunes the budget. + +The retry boundary is [isAutoRetriablePublishError](../../functions/isAutoRetriablePublishError.md) — deliberately +NARROWER than the at-least-once republish matrix in the error taxonomy: +a broker `nack` is republish-safe by policy but is NOT auto-retried +inline (it is an explicit broker refusal, e.g. an over-capacity queue — +hammering it in a tight loop helps nobody). `AmqpPublishTimeoutError` +joins the boundary only with `retryOnTimeout: true`. + +Semantics — read before enabling: +- **At-least-once, full stop.** A retried publish whose previous attempt + was lost IN FLIGHT (confirm never arrived: state UNKNOWN) may + duplicate on the broker. `x-event-id` / `messageId` stay STABLE across + attempts (also with `externalContract` — a caller-supplied id is + reused as-is), so consumer-side dedup keys on them. +- **Worst-case latency**: each attempt is bounded by `publishTimeoutMs` + (default 30s), so `maxRetries: 5` can hold a single `publish()` for + several minutes worst-case — far beyond typical 30s RPC timeouts. + There is deliberately no second overall-deadline knob: bound the + budget via `maxRetries`/`publishTimeoutMs`. +- **Shutdown-aware**: the loop aborts on `disconnect()` (throws the last + connection error) and, living inside the `adapter.publish()` promise, + is automatically covered by the bus-level `drainPublishTimeout`. +- **Single-flight** (`mandatory: true` with `correlationHeader: false`; + `externalContract` forces the latter but single-flight still requires + `mandatory`): retries hold the chain — ordering is preserved at the + cost of head-of-line blocking during backoff. In this headerless mode + a late `basic.return` from an abandoned timed-out attempt may mark the + current one (correlation is attempt-agnostic without the header) — + prefer the default header correlation when combining `mandatory` with + `retryOnTimeout`. +- **Deterministic channel-close is not retried**: a broker reply with a + `404`/`406` code that killed the publish CHANNEL (e.g. a publish to a + missing exchange under `topologyMode: "skip"`) surfaces immediately + with the broker reply as `cause` — the connection stays up, recovery + never recreates the channel, so retrying cannot heal. + +Backoff mirrors the recovery formula (same knob names and semantics, +incl. cap-before-jitter), but the DEFAULT budget differs: `maxRetries` +here defaults to **5** (bounded), not `Infinity`. + +#### Default + +```ts +undefined (disabled — behavior unchanged) +``` + +*** + ### publishTimeoutMs? > `readonly` `optional` **publishTimeoutMs?**: `number` -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:259](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L259) 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 53dd002..b4ee87b 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:267](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L267) +Defined in: [packages/events-amqp/src/types.ts:319](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L319) ## Properties @@ -10,7 +10,7 @@ Defined in: [packages/events-amqp/src/types.ts:267](https://github.com/Connectum > `readonly` `optional` **arguments?**: `Record`\<`string`, `unknown`\> -Defined in: [packages/events-amqp/src/types.ts:275](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L275) +Defined in: [packages/events-amqp/src/types.ts:327](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L327) *** @@ -18,7 +18,7 @@ Defined in: [packages/events-amqp/src/types.ts:275](https://github.com/Connectum > `readonly` `optional` **exchange?**: `string` -Defined in: [packages/events-amqp/src/types.ts:271](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L271) +Defined in: [packages/events-amqp/src/types.ts:323](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L323) 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:269](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L269) +Defined in: [packages/events-amqp/src/types.ts:321](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L321) 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:274](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L274) +Defined in: [packages/events-amqp/src/types.ts:326](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L326) *** @@ -46,6 +46,6 @@ Defined in: [packages/events-amqp/src/types.ts:274](https://github.com/Connectum > `readonly` **source**: `string` -Defined in: [packages/events-amqp/src/types.ts:273](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L273) +Defined in: [packages/events-amqp/src/types.ts:325](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L325) 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 f4c7b55..a976d58 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:518](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L518) +Defined in: [packages/events-amqp/src/types.ts:603](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L603) Consumer options. @@ -12,7 +12,7 @@ Consumer options. > `readonly` `optional` **exclusive?**: `boolean` -Defined in: [packages/events-amqp/src/types.ts:532](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L532) +Defined in: [packages/events-amqp/src/types.ts:617](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L617) 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:525](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L525) +Defined in: [packages/events-amqp/src/types.ts:610](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L610) 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 acdedab..82f7e52 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:249](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L249) +Defined in: [packages/events-amqp/src/types.ts:301](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L301) ## Properties @@ -10,7 +10,7 @@ Defined in: [packages/events-amqp/src/types.ts:249](https://github.com/Connectum > `readonly` `optional` **arguments?**: `Record`\<`string`, `unknown`\> -Defined in: [packages/events-amqp/src/types.ts:255](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L255) +Defined in: [packages/events-amqp/src/types.ts:307](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L307) Raw AMQP arguments passthrough. @@ -20,7 +20,7 @@ Raw AMQP arguments passthrough. > `readonly` `optional` **autoDelete?**: `boolean` -Defined in: [packages/events-amqp/src/types.ts:253](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L253) +Defined in: [packages/events-amqp/src/types.ts:305](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L305) *** @@ -28,7 +28,7 @@ Defined in: [packages/events-amqp/src/types.ts:253](https://github.com/Connectum > `readonly` `optional` **durable?**: `boolean` -Defined in: [packages/events-amqp/src/types.ts:252](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L252) +Defined in: [packages/events-amqp/src/types.ts:304](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L304) *** @@ -36,7 +36,7 @@ Defined in: [packages/events-amqp/src/types.ts:252](https://github.com/Connectum > `readonly` **name**: `string` -Defined in: [packages/events-amqp/src/types.ts:250](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L250) +Defined in: [packages/events-amqp/src/types.ts:302](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L302) *** @@ -44,4 +44,4 @@ Defined in: [packages/events-amqp/src/types.ts:250](https://github.com/Connectum > `readonly` **type**: `"headers"` \| `"topic"` \| `"direct"` \| `"fanout"` -Defined in: [packages/events-amqp/src/types.ts:251](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L251) +Defined in: [packages/events-amqp/src/types.ts:303](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L303) diff --git a/en/api/@connectum/events-amqp/types/interfaces/AmqpExchangeOptions.md b/en/api/@connectum/events-amqp/types/interfaces/AmqpExchangeOptions.md index 188cbb9..5bf574e 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:467](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L467) +Defined in: [packages/events-amqp/src/types.ts:552](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L552) Exchange assertion options. @@ -12,7 +12,7 @@ Exchange assertion options. > `readonly` `optional` **autoDelete?**: `boolean` -Defined in: [packages/events-amqp/src/types.ts:480](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L480) +Defined in: [packages/events-amqp/src/types.ts:565](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L565) 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:473](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L473) +Defined in: [packages/events-amqp/src/types.ts:558](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L558) 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 0348edd..a5c0710 100644 --- a/en/api/@connectum/events-amqp/types/interfaces/AmqpLifecycleCallbacks.md +++ b/en/api/@connectum/events-amqp/types/interfaces/AmqpLifecycleCallbacks.md @@ -2,7 +2,7 @@ # Interface: AmqpLifecycleCallbacks -Defined in: [packages/events-amqp/src/types.ts:410](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L410) +Defined in: [packages/events-amqp/src/types.ts:495](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L495) Connection lifecycle callbacks. @@ -16,7 +16,7 @@ deprecated since 1.3.0 (removal not before 2.0). > `readonly` `optional` **onConnected?**: () => `void` -Defined in: [packages/events-amqp/src/types.ts:430](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L430) +Defined in: [packages/events-amqp/src/types.ts:515](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L515) #### Returns @@ -32,7 +32,7 @@ Since 1.3.0 — use [onLifecycle](#onlifecycle) (`type: "connected"`). Kept unti > `readonly` `optional` **onDisconnected?**: (`cause`) => `void` -Defined in: [packages/events-amqp/src/types.ts:432](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L432) +Defined in: [packages/events-amqp/src/types.ts:517](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L517) #### Parameters @@ -54,7 +54,7 @@ Since 1.3.0 — use [onLifecycle](#onlifecycle) (`type: "disconnected"`). Kept u > `readonly` `optional` **onLifecycle?**: (`event`) => `void` -Defined in: [packages/events-amqp/src/types.ts:428](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L428) +Defined in: [packages/events-amqp/src/types.ts:513](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L513) Single discriminated-union lifecycle callback — the preferred surface. Receives every [AmqpLifecycleEvent](../type-aliases/AmqpLifecycleEvent.md), including `blocked`/`unblocked`, @@ -88,7 +88,7 @@ deterministic misconfiguration at boot. > `readonly` `optional` **onReconnectFailed?**: (`cause`) => `void` -Defined in: [packages/events-amqp/src/types.ts:445](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L445) +Defined in: [packages/events-amqp/src/types.ts:530](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L530) #### Parameters @@ -110,7 +110,7 @@ Since 1.3.0 — use [onLifecycle](#onlifecycle) (`type: "reconnect-failed"`). Ke > `readonly` `optional` **onReconnecting?**: (`info`) => `void` -Defined in: [packages/events-amqp/src/types.ts:443](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L443) +Defined in: [packages/events-amqp/src/types.ts:528](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L528) A reconnect attempt has been scheduled. Fires exactly ONCE per scheduled retry (amqplib's `reconnect-scheduled`). A failed attempt that also emits @@ -149,7 +149,7 @@ Since 1.3.0 — use [onLifecycle](#onlifecycle) (`type: "reconnecting"`). Kept u > `readonly` `optional` **onSetupFailed?**: (`error`, `ctx`) => `void` -Defined in: [packages/events-amqp/src/types.ts:461](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L461) +Defined in: [packages/events-amqp/src/types.ts:546](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L546) A setup/topology failure occurred while (re)applying the declarative topology — during the startup window (`ctx.initial: true`; `ctx.attempt` diff --git a/en/api/@connectum/events-amqp/types/interfaces/AmqpPublishRetryOptions.md b/en/api/@connectum/events-amqp/types/interfaces/AmqpPublishRetryOptions.md new file mode 100644 index 0000000..1b030cc --- /dev/null +++ b/en/api/@connectum/events-amqp/types/interfaces/AmqpPublishRetryOptions.md @@ -0,0 +1,145 @@ +[Connectum API Reference](../../../../index.md) / [@connectum/events-amqp](../../index.md) / [types](../index.md) / AmqpPublishRetryOptions + +# Interface: AmqpPublishRetryOptions + +Defined in: [packages/events-amqp/src/types.ts:461](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L461) + +Tuning for the opt-in bounded publish retry +([AmqpAdapterOptions.publishRetry](AmqpAdapterOptions.md#publishretry)). Backoff knobs mirror +[AmqpRecoveryOptions](AmqpRecoveryOptions.md) (same names, same cap-before-jitter semantics) +— but `maxRetries` defaults to a BOUNDED `5` here, not `Infinity`. + +## Properties + +### factor? + +> `readonly` `optional` **factor?**: `number` + +Defined in: [packages/events-amqp/src/types.ts:469](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L469) + +Exponential backoff factor. + +#### Default + +```ts +2 +``` + +*** + +### initialDelay? + +> `readonly` `optional` **initialDelay?**: `number` + +Defined in: [packages/events-amqp/src/types.ts:465](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L465) + +First retry delay in ms. + +#### Default + +```ts +100 +``` + +*** + +### jitter? + +> `readonly` `optional` **jitter?**: `number` + +Defined in: [packages/events-amqp/src/types.ts:471](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L471) + +Symmetric jitter factor (0..1). + +#### Default + +```ts +0.2 +``` + +*** + +### maxDelay? + +> `readonly` `optional` **maxDelay?**: `number` + +Defined in: [packages/events-amqp/src/types.ts:467](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L467) + +Base delay cap in ms; jitter applies on top of the capped base. + +#### Default + +```ts +30000 +``` + +*** + +### maxRetries? + +> `readonly` `optional` **maxRetries?**: `number` + +Defined in: [packages/events-amqp/src/types.ts:463](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L463) + +Retries after the first attempt (N retries = N+1 attempts). A negative value clamps to `0` (single attempt); `Infinity` is honored — retry until `disconnect()` aborts. + +#### Default + +```ts +5 +``` + +*** + +### onRetry? + +> `readonly` `optional` **onRetry?**: (`info`) => `void` + +Defined in: [packages/events-amqp/src/types.ts:485](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L485) + +Observability hook, invoked once per scheduled retry. MUST NOT throw +(exceptions are isolated). Scoped here deliberately — publish retries +are per-operation events, not connection lifecycle, so they do not join +[AmqpLifecycleEvent](../type-aliases/AmqpLifecycleEvent.md). + +#### Parameters + +##### info + +###### attempt + +`number` + +###### delay + +`number` + +###### error + +`Error` + +###### routingKey + +`string` + +#### Returns + +`void` + +*** + +### retryOnTimeout? + +> `readonly` `optional` **retryOnTimeout?**: `boolean` + +Defined in: [packages/events-amqp/src/types.ts:478](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L478) + +Also retry `AmqpPublishTimeoutError` (no broker outcome within +`publishTimeoutMs`). The message state at a timeout is UNKNOWN, so this +raises the duplicate likelihood — enable only with consumer-side dedup. + +#### Default + +```ts +false +``` diff --git a/en/api/@connectum/events-amqp/types/interfaces/AmqpPublisherOptions.md b/en/api/@connectum/events-amqp/types/interfaces/AmqpPublisherOptions.md index f799b18..2deb5ad 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:538](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L538) +Defined in: [packages/events-amqp/src/types.ts:623](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L623) Publisher options. @@ -12,7 +12,7 @@ Publisher options. > `readonly` `optional` **correlationHeader?**: `boolean` -Defined in: [packages/events-amqp/src/types.ts:567](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L567) +Defined in: [packages/events-amqp/src/types.ts:652](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L652) 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:596](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L596) +Defined in: [packages/events-amqp/src/types.ts:681](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L681) 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:552](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L552) +Defined in: [packages/events-amqp/src/types.ts:637](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L637) 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:544](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L544) +Defined in: [packages/events-amqp/src/types.ts:629](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L629) 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 71cb19b..102b5f6 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:258](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L258) +Defined in: [packages/events-amqp/src/types.ts:310](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L310) ## Properties @@ -10,7 +10,7 @@ Defined in: [packages/events-amqp/src/types.ts:258](https://github.com/Connectum > `readonly` `optional` **arguments?**: `Record`\<`string`, `unknown`\> -Defined in: [packages/events-amqp/src/types.ts:264](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L264) +Defined in: [packages/events-amqp/src/types.ts:316](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L316) 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:261](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L261) +Defined in: [packages/events-amqp/src/types.ts:313](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L313) *** @@ -28,7 +28,7 @@ Defined in: [packages/events-amqp/src/types.ts:261](https://github.com/Connectum > `readonly` `optional` **durable?**: `boolean` -Defined in: [packages/events-amqp/src/types.ts:260](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L260) +Defined in: [packages/events-amqp/src/types.ts:312](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L312) *** @@ -36,7 +36,7 @@ Defined in: [packages/events-amqp/src/types.ts:260](https://github.com/Connectum > `readonly` `optional` **exclusive?**: `boolean` -Defined in: [packages/events-amqp/src/types.ts:262](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L262) +Defined in: [packages/events-amqp/src/types.ts:314](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L314) *** @@ -44,4 +44,4 @@ Defined in: [packages/events-amqp/src/types.ts:262](https://github.com/Connectum > `readonly` **name**: `string` -Defined in: [packages/events-amqp/src/types.ts:259](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L259) +Defined in: [packages/events-amqp/src/types.ts:311](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L311) diff --git a/en/api/@connectum/events-amqp/types/interfaces/AmqpQueueOptions.md b/en/api/@connectum/events-amqp/types/interfaces/AmqpQueueOptions.md index 9dd398a..1166368 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:486](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L486) +Defined in: [packages/events-amqp/src/types.ts:571](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L571) Queue assertion options. @@ -12,7 +12,7 @@ Queue assertion options. > `readonly` `optional` **deadLetterExchange?**: `string` -Defined in: [packages/events-amqp/src/types.ts:507](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L507) +Defined in: [packages/events-amqp/src/types.ts:592](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L592) 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:512](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L512) +Defined in: [packages/events-amqp/src/types.ts:597](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L597) 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:492](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L492) +Defined in: [packages/events-amqp/src/types.ts:577](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L577) Whether the queue should survive broker restarts. @@ -48,7 +48,7 @@ true > `readonly` `optional` **maxLength?**: `number` -Defined in: [packages/events-amqp/src/types.ts:502](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L502) +Defined in: [packages/events-amqp/src/types.ts:587](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L587) 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:497](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L497) +Defined in: [packages/events-amqp/src/types.ts:582](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L582) 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 c162989..311c604 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:279](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L279) +Defined in: [packages/events-amqp/src/types.ts:331](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L331) 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:283](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L283) +Defined in: [packages/events-amqp/src/types.ts:335](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L335) 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:285](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L285) +Defined in: [packages/events-amqp/src/types.ts:337](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L337) #### Default @@ -36,6 +36,6 @@ true > `readonly` **queue**: `string` -Defined in: [packages/events-amqp/src/types.ts:281](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L281) +Defined in: [packages/events-amqp/src/types.ts:333](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L333) 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 1498347..26c8153 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:312](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L312) +Defined in: [packages/events-amqp/src/types.ts:364](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L364) Recovery knobs (passed through to amqplib's opt-in recovery). @@ -33,7 +33,7 @@ A pluggable backoff hook remains tracked in > `readonly` `optional` **factor?**: `number` -Defined in: [packages/events-amqp/src/types.ts:318](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L318) +Defined in: [packages/events-amqp/src/types.ts:370](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L370) #### Default @@ -47,7 +47,7 @@ Defined in: [packages/events-amqp/src/types.ts:318](https://github.com/Connectum > `readonly` `optional` **initialConnectMaxRetries?**: `number` -Defined in: [packages/events-amqp/src/types.ts:354](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L354) +Defined in: [packages/events-amqp/src/types.ts:406](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L406) Bound the retry budget of the INITIAL connect independently of steady-state recovery: N retries = N+1 attempts, mirroring `maxRetries` @@ -84,7 +84,7 @@ are not surfaced. Since 1.3.0; upstream native support tracked in > `readonly` `optional` **initialDelay?**: `number` -Defined in: [packages/events-amqp/src/types.ts:314](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L314) +Defined in: [packages/events-amqp/src/types.ts:366](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L366) #### Default @@ -98,7 +98,7 @@ Defined in: [packages/events-amqp/src/types.ts:314](https://github.com/Connectum > `readonly` `optional` **jitter?**: `number` -Defined in: [packages/events-amqp/src/types.ts:320](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L320) +Defined in: [packages/events-amqp/src/types.ts:372](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L372) Symmetric jitter factor (0..1): the delay is uniform in `[base × (1 − jitter), base × (1 + jitter)]`. @@ -114,7 +114,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:316](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L316) +Defined in: [packages/events-amqp/src/types.ts:368](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L368) Base delay cap in ms; jitter is applied on top of the capped base, so the effective wait can exceed it. @@ -130,7 +130,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:322](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L322) +Defined in: [packages/events-amqp/src/types.ts:374](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L374) Attempts per series (initial connect and each recovery series); resets on success. To bound ONLY startup, use [initialConnectMaxRetries](#initialconnectmaxretries). diff --git a/en/api/@connectum/events-amqp/types/interfaces/AmqpSerializationOptions.md b/en/api/@connectum/events-amqp/types/interfaces/AmqpSerializationOptions.md index 18c47a6..27091df 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:220](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L220) +Defined in: [packages/events-amqp/src/types.ts:272](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L272) 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:226](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L226) +Defined in: [packages/events-amqp/src/types.ts:278](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L278) 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:239](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L239) +Defined in: [packages/events-amqp/src/types.ts:291](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L291) 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:233](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L233) +Defined in: [packages/events-amqp/src/types.ts:285](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L285) 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 6b79a1c..0fa84df 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:243](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L243) +Defined in: [packages/events-amqp/src/types.ts:295](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L295) Declarative topology. @@ -12,7 +12,7 @@ Declarative topology. > `readonly` `optional` **bindings?**: readonly [`AmqpBindingDeclaration`](AmqpBindingDeclaration.md)[] -Defined in: [packages/events-amqp/src/types.ts:246](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L246) +Defined in: [packages/events-amqp/src/types.ts:298](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L298) *** @@ -20,7 +20,7 @@ Defined in: [packages/events-amqp/src/types.ts:246](https://github.com/Connectum > `readonly` `optional` **exchanges?**: readonly [`AmqpExchangeDeclaration`](AmqpExchangeDeclaration.md)[] -Defined in: [packages/events-amqp/src/types.ts:244](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L244) +Defined in: [packages/events-amqp/src/types.ts:296](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L296) *** @@ -28,4 +28,4 @@ Defined in: [packages/events-amqp/src/types.ts:244](https://github.com/Connectum > `readonly` `optional` **queues?**: readonly [`AmqpQueueDeclaration`](AmqpQueueDeclaration.md)[] -Defined in: [packages/events-amqp/src/types.ts:245](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L245) +Defined in: [packages/events-amqp/src/types.ts:297](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L297) diff --git a/en/api/@connectum/events-amqp/types/type-aliases/AmqpLifecycleEvent.md b/en/api/@connectum/events-amqp/types/type-aliases/AmqpLifecycleEvent.md index 786c56b..a058957 100644 --- a/en/api/@connectum/events-amqp/types/type-aliases/AmqpLifecycleEvent.md +++ b/en/api/@connectum/events-amqp/types/type-aliases/AmqpLifecycleEvent.md @@ -4,7 +4,7 @@ > **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:394](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L394) +Defined in: [packages/events-amqp/src/types.ts:446](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L446) Discriminated connection lifecycle event, delivered to [AmqpLifecycleCallbacks.onLifecycle](../interfaces/AmqpLifecycleCallbacks.md#onlifecycle). 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 695384f..8edec64 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:211](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L211) +Defined in: [packages/events-amqp/src/types.ts:263](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L263) 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 2188bc9..562995d 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:211](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L211) +Defined in: [packages/events-amqp/src/types.ts:263](https://github.com/Connectum-Framework/connectum/blob/main/packages/events-amqp/src/types.ts#L263) Topology establishment mode. diff --git a/en/api/typedoc-sidebar.json b/en/api/typedoc-sidebar.json index 23db2e7..d38f316 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":"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":"Type Aliases","collapsed":true,"items":[{"text":"AmqpTopologyObject","link":"/en/api/@connectum/events-amqp/type-aliases/AmqpTopologyObject.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":"AmqpPublishRetryOptions","link":"/en/api/@connectum/events-amqp/types/interfaces/AmqpPublishRetryOptions.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":"Type Aliases","collapsed":true,"items":[{"text":"AmqpTopologyObject","link":"/en/api/@connectum/events-amqp/type-aliases/AmqpTopologyObject.md"}]},{"text":"Functions","collapsed":true,"items":[{"text":"AmqpAdapter","link":"/en/api/@connectum/events-amqp/functions/AmqpAdapter.md"},{"text":"isAutoRetriablePublishError","link":"/en/api/@connectum/events-amqp/functions/isAutoRetriablePublishError.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 7a6fa45..5dadea7 100644 --- a/en/packages/events-amqp.md +++ b/en/packages/events-amqp.md @@ -87,6 +87,7 @@ Pass the result to `createEventBus({ adapter })`. | `treatTopologyErrorAsFatal` | `boolean` | `false` | Stop the reconnect cycle on **deterministic** topology drift during steady-state recovery (AMQP reply code `404`/`406` on the cause) instead of retrying forever; reports terminal `reconnect-failed` after `setup-failed` and tears down fully. Transient causes stay in recovery. Available since 1.3.0 | | `lifecycle` | `AmqpLifecycleCallbacks` | `undefined` | Connection lifecycle callbacks | | `publishTimeoutMs` | `number` | `30000` | Per-publish broker-outcome deadline in milliseconds | +| `publishRetry` | `boolean \| AmqpPublishRetryOptions` | `false` | Opt-in bounded retry for **connection-class** publish failures (`AmqpConnectionError`; timeouts only via `retryOnTimeout`) — a broker blip becomes a transparent delay. At-least-once; `x-event-id`/`messageId` stay stable across attempts (consumer-side dedup anchor). Deterministic outcomes (nack, unroutable, `404`/`406` channel-close) never retry. The loop aborts on `disconnect()` and is covered by the bus-level `drainPublishTimeout`. Available since 1.3.0 | ### `AmqpExchangeOptions` @@ -385,7 +386,7 @@ Without `externalContract`, a `mandatory` publish at the default `correlationHea The adapter publishes on a confirm channel with **per-message confirms**: every `publish()` resolves when the broker acknowledges that specific message and rejects when the broker nacks it. There is no confirm batching -- each publish has its own outcome. - No broker outcome (ack/nack/return/connection loss) within `publishTimeoutMs` (default 30000 ms) → rejects with `AmqpPublishTimeoutError`. The message state is UNKNOWN -- it may or may not have been routed; an at-least-once producer should republish. -- Publishing during a disconnected window (or while recovery is in progress) fails fast with `AmqpConnectionError`. In-flight publishes at the moment of a connection loss also reject with `AmqpConnectionError`. +- Publishing during a disconnected window (or while recovery is in progress) fails fast with `AmqpConnectionError` — unless the opt-in `publishRetry` is enabled (since 1.3.0), which retries connection-class failures in place with bounded backoff. In-flight publishes at the moment of a connection loss also reject with `AmqpConnectionError` (retried under the same opt-in). The auto-retry boundary is the exported `isAutoRetriablePublishError` and is deliberately narrower than the at-least-once republish policy: a broker nack and other deterministic outcomes never auto-retry. - With `mandatory: true`, an unroutable message rejects with `AmqpUnroutableError` (carries `.routingKey`). ::: tip Per-message confirms