---
title: Inngest API
description: Generated public TypeScript reference for @relkit/inngest.
search:
  exclude: true
sidebar:
  icon: braces
---

{/* Generated by apps/docs/scripts/generate.ts. Do not edit. */}

For configuration and examples, read [bindings](/docs/modules/jobs/bindings), [schedules](/docs/modules/jobs/schedules), [docker](/docs/modules/jobs/docker).

## Public imports

- `@relkit/inngest` — 7 exports
- `@relkit/inngest/runtime` — 26 exports
- `@relkit/inngest/local-recipe` — 1 exports
- `@relkit/inngest/deployment` — 4 exports

## All exported APIs

Names link to their complete contracts. Re-exports share their original contract; legacy exports keep their separate identity. Examples link to the API's inline sample, a maintained repository usage, or the shared module walkthrough.

| API                                                                                                            | Kind  | Import from                    | Example                                                                                                               |
| -------------------------------------------------------------------------------------------------------------- | ----- | ------------------------------ | --------------------------------------------------------------------------------------------------------------------- |
| [createInngestFunction](/docs/api/integrations/inngest#createinngestfunction)                                  | Value | `@relkit/inngest/runtime`      | [Module example](/docs/modules/jobs/bindings)                                                                         |
| [createInngestFunctionConfig](/docs/api/integrations/inngest#createinngestfunctionconfig)                      | Value | `@relkit/inngest/runtime`      | [Module example](/docs/modules/jobs/bindings)                                                                         |
| [createInngestRunApi](/docs/api/integrations/inngest#createinngestrunapi)                                      | Value | `@relkit/inngest/runtime`      | [Module example](/docs/modules/jobs/bindings)                                                                         |
| [createInngestRuntime](/docs/api/integrations/inngest#createinngestruntime)                                    | Value | `@relkit/inngest/runtime`      | [Module example](/docs/modules/jobs/bindings)                                                                         |
| [createInngestServeHandler](/docs/api/integrations/inngest#createinngestservehandler)                          | Value | `@relkit/inngest/runtime`      | [Module example](/docs/modules/jobs/bindings)                                                                         |
| [createInngestWorker](/docs/api/integrations/inngest#createinngestworker)                                      | Value | `@relkit/inngest/runtime`      | [Module example](/docs/modules/jobs/bindings)                                                                         |
| [deploymentProfile](/docs/api/integrations/inngest#deploymentprofile)                                          | Value | `@relkit/inngest/deployment`   | [Module example](/docs/modules/jobs/bindings)                                                                         |
| [inngest](/docs/api/integrations/inngest#inngest)                                                              | Value | `@relkit/inngest`              | [Source example](https://github.com/rel-kit/relkit/blob/main/apps/docs/examples/jobs/providers/inngest-config.ts#L12) |
| [InngestAdapter](/docs/api/integrations/inngest#inngestadapter-type-alias)                                     | Type  | `@relkit/inngest`              | [Module example](/docs/modules/jobs/bindings)                                                                         |
| [InngestApiRequestError](/docs/api/integrations/inngest#inngestapirequesterror-class)                          | Value | `@relkit/inngest/runtime`      | [Module example](/docs/modules/jobs/bindings)                                                                         |
| [InngestBehavior](/docs/api/integrations/inngest#inngestbehavior-type-alias)                                   | Type  | `@relkit/inngest`              | [Module example](/docs/modules/jobs/bindings)                                                                         |
| [inngestConnectionContract](/docs/api/integrations/inngest#inngestconnectioncontract)                          | Value | `@relkit/inngest`              | [Module example](/docs/modules/jobs/bindings)                                                                         |
| [InngestDeploymentProfile](/docs/api/integrations/inngest#inngestdeploymentprofile-interface)                  | Type  | `@relkit/inngest/deployment`   | [Module example](/docs/modules/jobs/bindings)                                                                         |
| [inngestFunctionId](/docs/api/integrations/inngest#inngestfunctionid)                                          | Value | `@relkit/inngest/runtime`      | [Module example](/docs/modules/jobs/bindings)                                                                         |
| [inngestIntegration](/docs/api/integrations/inngest#inngestintegration)                                        | Value | `@relkit/inngest`              | [Module example](/docs/modules/jobs/bindings)                                                                         |
| [inngestLocalRecipe](/docs/api/integrations/inngest#inngestlocalrecipe)                                        | Value | `@relkit/inngest`              | [Module example](/docs/modules/jobs/bindings)                                                                         |
| [InngestObservationOptions](/docs/api/integrations/inngest#inngestobservationoptions-interface)                | Type  | `@relkit/inngest/runtime`      | [Module example](/docs/modules/jobs/bindings)                                                                         |
| [InngestOptions](/docs/api/integrations/inngest#inngestoptions-interface)                                      | Type  | `@relkit/inngest`              | [Module example](/docs/modules/jobs/bindings)                                                                         |
| [InngestRunApi](/docs/api/integrations/inngest#inngestrunapi-interface)                                        | Type  | `@relkit/inngest/runtime`      | [Module example](/docs/modules/jobs/bindings)                                                                         |
| [InngestRunMetadata](/docs/api/integrations/inngest#inngestrunmetadata-interface)                              | Type  | `@relkit/inngest/runtime`      | [Module example](/docs/modules/jobs/bindings)                                                                         |
| [InngestRuntime](/docs/api/integrations/inngest#inngestruntime-interface)                                      | Type  | `@relkit/inngest/runtime`      | [Module example](/docs/modules/jobs/bindings)                                                                         |
| [InngestRuntimeOptions](/docs/api/integrations/inngest#inngestruntimeoptions-interface)                        | Type  | `@relkit/inngest/runtime`      | [Module example](/docs/modules/jobs/bindings)                                                                         |
| [InngestSdk](/docs/api/integrations/inngest#inngestsdk-interface)                                              | Type  | `@relkit/inngest/runtime`      | [Module example](/docs/modules/jobs/bindings)                                                                         |
| [InngestTaskDefinition](/docs/api/integrations/inngest#inngesttaskdefinition-interface)                        | Type  | `@relkit/inngest/runtime`      | [Module example](/docs/modules/jobs/bindings)                                                                         |
| [InngestWorkerHandle](/docs/api/integrations/inngest#inngestworkerhandle-interface)                            | Type  | `@relkit/inngest/runtime`      | [Module example](/docs/modules/jobs/bindings)                                                                         |
| [InngestWorkerOptions](/docs/api/integrations/inngest#inngestworkeroptions-interface)                          | Type  | `@relkit/inngest/runtime`      | [Module example](/docs/modules/jobs/bindings)                                                                         |
| [InngestWorkerPublication](/docs/api/integrations/inngest#inngestworkerpublication-interface)                  | Type  | `@relkit/inngest/deployment`   | [Module example](/docs/modules/jobs/bindings)                                                                         |
| [InngestWorkerRegistrationOptions](/docs/api/integrations/inngest#inngestworkerregistrationoptions-type-alias) | Type  | `@relkit/inngest/runtime`      | [Module example](/docs/modules/jobs/bindings)                                                                         |
| [isAmbiguousInngestWrite](/docs/api/integrations/inngest#isambiguousinngestwrite)                              | Value | `@relkit/inngest/runtime`      | [Module example](/docs/modules/jobs/bindings)                                                                         |
| [loadInngestSdk](/docs/api/integrations/inngest#loadinngestsdk)                                                | Value | `@relkit/inngest/runtime`      | [Module example](/docs/modules/jobs/bindings)                                                                         |
| [localRecipe](/docs/api/integrations/inngest#localrecipe-1)                                                    | Value | `@relkit/inngest/local-recipe` | [Source example](https://github.com/rel-kit/relkit/blob/main/tests/integration/local-docker-composite.test.ts#L148)   |
| [MAX_LOCAL_INDEX_ENTRIES](/docs/api/integrations/inngest#max_local_index_entries)                              | Value | `@relkit/inngest/runtime`      | [Module example](/docs/modules/jobs/bindings)                                                                         |
| [nativeWorkerPublication](/docs/api/integrations/inngest#nativeworkerpublication)                              | Value | `@relkit/inngest/deployment`   | [Module example](/docs/modules/jobs/bindings)                                                                         |
| [observeInngestRun](/docs/api/integrations/inngest#observeinngestrun)                                          | Value | `@relkit/inngest/runtime`      | [Module example](/docs/modules/jobs/bindings)                                                                         |
| [rememberInngestRecord](/docs/api/integrations/inngest#rememberinngestrecord)                                  | Value | `@relkit/inngest/runtime`      | [Module example](/docs/modules/jobs/bindings)                                                                         |
| [runtimeIntegration](/docs/api/integrations/inngest#runtimeintegration)                                        | Value | `@relkit/inngest/runtime`      | [Module example](/docs/modules/jobs/bindings)                                                                         |
| [snapshot](/docs/api/integrations/inngest#snapshot)                                                            | Value | `@relkit/inngest/runtime`      | [Module example](/docs/modules/jobs/bindings)                                                                         |
| [statusOf](/docs/api/integrations/inngest#statusof)                                                            | Value | `@relkit/inngest/runtime`      | [Module example](/docs/modules/jobs/bindings)                                                                         |

## `index.ts`

### InngestDeploymentProfile (interface)

**Signature**

```ts
export interface InngestDeploymentProfile {
  readonly provider: "inngest";
  readonly compatibility: "native";
  readonly adapterId: "inngest";
  readonly sdk: "inngest@4.20.0";
  readonly serverImageDigest: string;
  readonly profile: "self-hosted-docker";
  readonly workerRuntime: "bun";
  readonly executionLimits: Readonly<{
    readonly inputBytes: number;
    readonly progressBytes: number;
    readonly maxRunList: number;
  }>;
  readonly policyIdentity: readonly string[];
}
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/deployment/index.ts#L1)

### InngestWorkerPublication (interface)

**Signature**

```ts
export interface InngestWorkerPublication {
  readonly provider: "inngest";
  readonly mechanism: "inngest-sdk";
  readonly taskId: string;
  readonly taskVersion: string;
  readonly buildId: string;
  readonly serviceGeneration: string;
  readonly entrypoint: string;
}
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/deployment/index.ts#L17)

### deploymentProfile

**Signature**

```ts
declare const deploymentProfile: InngestDeploymentProfile;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/deployment/index.ts#L27)

### nativeWorkerPublication

**Signature**

```ts
declare const nativeWorkerPublication: (
  value: Omit<InngestWorkerPublication, "provider" | "mechanism">,
) => InngestWorkerPublication;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/deployment/index.ts#L46)

## `index.ts`

### InngestAdapter (type alias)

**Signature**

```ts
type InngestAdapter<Options extends InngestOptions = InngestOptions> = ProviderAdapter<
  typeof job,
  "inngest",
  ProviderConnectionValues,
  ProviderBehavior<InngestBehavior>
>;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/index.ts#L53)

### InngestBehavior (type alias)

**Signature**

```ts
type InngestBehavior = JobsServiceBehavior;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/index.ts#L52)

### InngestOptions (interface)

**Signature**

```ts
export interface InngestOptions extends JobsServiceOptions {
  readonly appId?: string;
  readonly baseUrl?: string | URL | TextReference;
  readonly eventKey?: SecretReference;
  readonly signingKey?: SecretReference;
  readonly serveOrigin?: string | URL | TextReference;
  readonly appVersion?: string;
  readonly native?: Readonly<Record<string, import("@relkit/contracts").JsonValue>>;
}
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/index.ts#L42)

### inngest

Defines a native Inngest durable-jobs adapter without importing the SDK.

**Signature**

```ts
declare const inngest: <const Options extends InngestOptions = InngestOptions>(
  options?: Options,
) => InngestAdapter<Options>;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/index.ts#L65)

### inngestConnectionContract

**Signature**

```ts
declare const inngestConnectionContract: ProviderConnectionContract;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/index.ts#L61)

### inngestIntegration

**Signature**

```ts
declare const inngestIntegration: IntegrationReference<"inngest">;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/index.ts#L60)

### inngestLocalRecipe

**Signature**

```ts
declare const inngestLocalRecipe: ProviderLocalRecipeReference;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/index.ts#L62)

## `local-readiness.ts`

### waitForInngestReadiness

**Signature**

```ts
declare const waitForInngestReadiness: (context: LocalServiceRecipeOutputContext) => Promise<void>;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/local-readiness.ts#L5)

## `index.ts`

### localRecipe

**Signature**

```ts
declare const localRecipe: Readonly<{
  kind: "local-service-recipe";
  protocolVersion: 2;
  integrationId: "inngest";
  recipeId: "inngest-docker";
  recipeVersion: 2;
  materializerId: "docker";
  containers: ReadonlyArray<
    | Readonly<{
        id: "postgres";
        image: "postgres:16-alpine@sha256:cf78e76683b9ca8c5733cbbdce6c9262b45b6767934dd0a95e671f9a0fc20685";
        ports: Readonly<{}>;
        volumes: ReadonlyArray<{ name: string; mountPath: string }>;
        environment: Readonly<{
          POSTGRES_DB: Readonly<{ value: "inngest" }>;
          POSTGRES_USER: Readonly<{ value: "inngest" }>;
          POSTGRES_PASSWORD: Readonly<{ secret: "postgresPassword" }>;
        }>;
        health: Readonly<{ command: Array<string>; intervalMs: 250; timeoutMs: 2000; retries: 60 }>;
        networkAliases: ReadonlyArray<string>;
      }>
    | Readonly<{
        id: "redis";
        image: "redis:7-alpine@sha256:ff02b58f971e7d7d156a1267e283fcbbeee91773b6aa36c49dac28ecfe28eadf";
        command: ReadonlyArray<string>;
        ports: Readonly<{}>;
        volumes: ReadonlyArray<{ name: string; mountPath: string }>;
        health: Readonly<{ command: Array<string>; intervalMs: 250; timeoutMs: 2000; retries: 60 }>;
        networkAliases: ReadonlyArray<string>;
      }>
    | Readonly<{
        id: "inngest";
        image: "inngest/inngest@sha256:d5365a31f8bf504dc2d54ddd114fcdc1a0413f8b57a450365c095ab6234ad8c2";
        command: ReadonlyArray<string>;
        dependsOn: ReadonlyArray<string>;
        ports: Readonly<{ api: 8288 }>;
        health: Readonly<{ command: Array<string>; intervalMs: 500; timeoutMs: 2000; retries: 60 }>;
        networkAliases: ReadonlyArray<string>;
        hostAliases: Readonly<{ "host.docker.internal": "host-gateway" }>;
        environment: Readonly<{
          INNGEST_EVENT_KEY: Readonly<{ secret: "eventKey" }>;
          INNGEST_SIGNING_KEY: Readonly<{ secret: "signingKey" }>;
          POSTGRES_PASSWORD: Readonly<{ secret: "postgresPassword" }>;
        }>;
      }>
  >;
  workers: ReadonlyArray<
    Readonly<{
      id: "worker";
      image: "oven/bun:1.3.10@sha256:b86c67b531d87b4db11470d9b2bd0c519b1976eee6fcd71634e73abfa6230d2e";
      command: ReadonlyArray<string>;
      dependsOn: ReadonlyArray<string>;
      ports: Readonly<{ api: 3000 }>;
      health: Readonly<{
        command: Array<string>;
        intervalMs: 500;
        timeoutMs: 2000;
        retries: number;
      }>;
      networkAliases: ReadonlyArray<string>;
      hostAliases: Readonly<{ "host.docker.internal": "host-gateway" }>;
    }>
  >;
  init: ReadonlyArray<
    Readonly<{
      id: "postgres-ready";
      image: "postgres:16-alpine@sha256:cf78e76683b9ca8c5733cbbdce6c9262b45b6767934dd0a95e671f9a0fc20685";
      dependsOn: ReadonlyArray<string>;
      command: ReadonlyArray<string>;
      environment: Readonly<{ POSTGRES_PASSWORD: Readonly<{ secret: "postgresPassword" }> }>;
    }>
  >;
  volumes: Readonly<{
    postgres: Readonly<{ mountPath: "/var/lib/postgresql/data"; persistent: true }>;
    redis: Readonly<{ mountPath: "/data"; persistent: true }>;
  }>;
  generatedSecrets: Readonly<{
    eventKey: Readonly<{ bytes: 24; encoding: "hex" }>;
    signingKey: Readonly<{ bytes: 32; encoding: "hex" }>;
    postgresPassword: Readonly<{ bytes: 24; encoding: "hex" }>;
  }>;
  network: Readonly<{ internal: false }>;
  ownership: Readonly<{ scope: "project"; retainVolumes: true }>;
  outputs: ({ ports, secrets, endpoints }: LocalServiceRecipeOutputContext) => Readonly<{
    baseUrl: `http://127.0.0.1:${number}`;
    eventKey: string;
    signingKey: string;
    serveOrigin: string;
  }>;
  initialize: (context: LocalServiceRecipeOutputContext) => Promise<void>;
}>;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/local-recipe/index.ts#L1)

## `local-timeouts.ts`

Startup budget shared by the Docker worker health check and readiness probes.

### INNGEST_LOCAL_HEALTH_INTERVAL_MS

**Signature**

```ts
declare const INNGEST_LOCAL_HEALTH_INTERVAL_MS: 500;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/local-timeouts.ts#L3)

### INNGEST_LOCAL_HEALTH_RETRIES

**Signature**

```ts
declare const INNGEST_LOCAL_HEALTH_RETRIES: number;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/local-timeouts.ts#L4)

### INNGEST_LOCAL_STARTUP_TIMEOUT_MS

Startup budget shared by the Docker worker health check and readiness probes.

**Signature**

```ts
declare const INNGEST_LOCAL_STARTUP_TIMEOUT_MS: 300000;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/local-timeouts.ts#L2)

## `local.ts`

### localRecipe

**Signature**

```ts
declare const localRecipe: Readonly<{
  kind: "local-service-recipe";
  protocolVersion: 2;
  integrationId: "inngest";
  recipeId: "inngest-docker";
  recipeVersion: 2;
  materializerId: "docker";
  containers: ReadonlyArray<
    | Readonly<{
        id: "postgres";
        image: "postgres:16-alpine@sha256:cf78e76683b9ca8c5733cbbdce6c9262b45b6767934dd0a95e671f9a0fc20685";
        ports: Readonly<{}>;
        volumes: ReadonlyArray<{ name: string; mountPath: string }>;
        environment: Readonly<{
          POSTGRES_DB: Readonly<{ value: "inngest" }>;
          POSTGRES_USER: Readonly<{ value: "inngest" }>;
          POSTGRES_PASSWORD: Readonly<{ secret: "postgresPassword" }>;
        }>;
        health: Readonly<{ command: Array<string>; intervalMs: 250; timeoutMs: 2000; retries: 60 }>;
        networkAliases: ReadonlyArray<string>;
      }>
    | Readonly<{
        id: "redis";
        image: "redis:7-alpine@sha256:ff02b58f971e7d7d156a1267e283fcbbeee91773b6aa36c49dac28ecfe28eadf";
        command: ReadonlyArray<string>;
        ports: Readonly<{}>;
        volumes: ReadonlyArray<{ name: string; mountPath: string }>;
        health: Readonly<{ command: Array<string>; intervalMs: 250; timeoutMs: 2000; retries: 60 }>;
        networkAliases: ReadonlyArray<string>;
      }>
    | Readonly<{
        id: "inngest";
        image: "inngest/inngest@sha256:d5365a31f8bf504dc2d54ddd114fcdc1a0413f8b57a450365c095ab6234ad8c2";
        command: ReadonlyArray<string>;
        dependsOn: ReadonlyArray<string>;
        ports: Readonly<{ api: 8288 }>;
        health: Readonly<{ command: Array<string>; intervalMs: 500; timeoutMs: 2000; retries: 60 }>;
        networkAliases: ReadonlyArray<string>;
        hostAliases: Readonly<{ "host.docker.internal": "host-gateway" }>;
        environment: Readonly<{
          INNGEST_EVENT_KEY: Readonly<{ secret: "eventKey" }>;
          INNGEST_SIGNING_KEY: Readonly<{ secret: "signingKey" }>;
          POSTGRES_PASSWORD: Readonly<{ secret: "postgresPassword" }>;
        }>;
      }>
  >;
  workers: ReadonlyArray<
    Readonly<{
      id: "worker";
      image: "oven/bun:1.3.10@sha256:b86c67b531d87b4db11470d9b2bd0c519b1976eee6fcd71634e73abfa6230d2e";
      command: ReadonlyArray<string>;
      dependsOn: ReadonlyArray<string>;
      ports: Readonly<{ api: 3000 }>;
      health: Readonly<{
        command: Array<string>;
        intervalMs: 500;
        timeoutMs: 2000;
        retries: number;
      }>;
      networkAliases: ReadonlyArray<string>;
      hostAliases: Readonly<{ "host.docker.internal": "host-gateway" }>;
    }>
  >;
  init: ReadonlyArray<
    Readonly<{
      id: "postgres-ready";
      image: "postgres:16-alpine@sha256:cf78e76683b9ca8c5733cbbdce6c9262b45b6767934dd0a95e671f9a0fc20685";
      dependsOn: ReadonlyArray<string>;
      command: ReadonlyArray<string>;
      environment: Readonly<{ POSTGRES_PASSWORD: Readonly<{ secret: "postgresPassword" }> }>;
    }>
  >;
  volumes: Readonly<{
    postgres: Readonly<{ mountPath: "/var/lib/postgresql/data"; persistent: true }>;
    redis: Readonly<{ mountPath: "/data"; persistent: true }>;
  }>;
  generatedSecrets: Readonly<{
    eventKey: Readonly<{ bytes: 24; encoding: "hex" }>;
    signingKey: Readonly<{ bytes: 32; encoding: "hex" }>;
    postgresPassword: Readonly<{ bytes: 24; encoding: "hex" }>;
  }>;
  network: Readonly<{ internal: false }>;
  ownership: Readonly<{ scope: "project"; retainVolumes: true }>;
  outputs: ({ ports, secrets, endpoints }: LocalServiceRecipeOutputContext) => Readonly<{
    baseUrl: `http://127.0.0.1:${number}`;
    eventKey: string;
    signingKey: string;
    serveOrigin: string;
  }>;
  initialize: (context: LocalServiceRecipeOutputContext) => Promise<void>;
}>;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/local.ts#L18)

## `index.ts`

### "./observe.js" (namespace export)

Re-exports all named exports from the "./observe.js" module.

**Signature**

```ts
export * from "./observe.js";
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/index.ts#L190)

### "./runs.js" (namespace export)

Re-exports all named exports from the "./runs.js" module.

**Signature**

```ts
export * from "./runs.js";
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/index.ts#L191)

### "./task-binding.js" (namespace export)

Re-exports all named exports from the "./task-binding.js" module.

**Signature**

```ts
export * from "./task-binding.js";
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/index.ts#L192)

### InngestRuntime (interface)

**Signature**

```ts
export interface InngestRuntime extends JobsAdapterRuntime {
  readonly registerWorker: (options: InngestWorkerRegistrationOptions) => InngestWorkerHandle;
}
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/index.ts#L25)

### InngestRuntimeOptions (interface)

**Signature**

```ts
export interface InngestRuntimeOptions {
  readonly appId: string;
  readonly baseUrl: string;
  readonly eventKey?: string;
  readonly signingKey?: string;
  readonly serveOrigin?: string;
  readonly appVersion?: string;
  readonly fetch?: typeof globalThis.fetch;
  readonly pollIntervalMs?: number;
  readonly maxPolls?: number;
  readonly serviceOptions?: JobsServiceOptions;
}
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/index.ts#L29)

### createInngestRuntime

**Signature**

```ts
declare const createInngestRuntime: (options: InngestRuntimeOptions) => InngestRuntime;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/index.ts#L42)

### runtimeIntegration

**Signature**

```ts
declare const runtimeIntegration: RuntimeProviderIntegration<"inngest">;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/index.ts#L153)

## `observe.ts`

### InngestObservationOptions (interface)

**Signature**

```ts
export interface InngestObservationOptions {
  readonly get: (runId: string, context: OperationContext) => Promise<RunSnapshot>;
  readonly pollIntervalMs?: number;
  readonly readTimeoutMs?: number;
  readonly maxPolls?: number;
  readonly subscribe?: (
    runId: string,
    onSnapshot: (run: RunSnapshot) => void,
    context: OperationContext,
  ) => Promise<(() => void) | undefined>;
}
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/observe.ts#L4)

### observeInngestRun

**Signature**

```ts
declare const observeInngestRun: (
  request: NativeWatchRequest,
  context: OperationContext,
  options: InngestObservationOptions,
) => AsyncIterable<NativeObservation>;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/observe.ts#L16)

## `policy.ts`

### InngestPolicyMapping (interface)

**Signature**

```ts
export interface InngestPolicyMapping {
  readonly retries?: number;
  readonly timeoutSeconds?: number;
  readonly concurrency?: number;
}
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/policy.ts#L3)

### mapInngestPolicy

Maps only fields whose semantics are certified by the pinned Inngest profile.

**Signature**

```ts
declare const mapInngestPolicy: (value: unknown) => InngestPolicyMapping;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/policy.ts#L10)

## `realtime.ts`

### subscribeInngestRun

**Signature**

```ts
declare const subscribeInngestRun: (
  client: Inngest.Any,
  appId: string,
  runId: string,
  onMessage: () => Promise<void>,
  context: OperationContext,
) => Promise<(() => void) | undefined>;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/realtime.ts#L4)

## `run-controls.ts`

### cancelInngestRun

**Signature**

```ts
declare const cancelInngestRun: (
  locator: string,
  operationId: string,
  reason: string | undefined,
  context: OperationContext,
  api: InngestRunApi,
  records: Map<string, InngestRunMetadata>,
) => Promise<NativeControlReceipt>;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/run-controls.ts#L18)

### retryInngestRun

**Signature**

```ts
declare const retryInngestRun: (
  request: NativeRetryRequest,
  context: OperationContext,
  api: InngestRunApi,
  records: Map<string, InngestRunMetadata>,
  retryResults: Map<string, NativeControlReceipt>,
) => Promise<NativeControlReceipt>;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/run-controls.ts#L45)

## `run-operations.ts`

### listInngestRuns

**Signature**

```ts
declare const listInngestRuns: (
  query: RunListQuery,
  context: OperationContext,
  api: InngestRunApi,
  records: Map<string, InngestRunMetadata>,
) => Promise<RunPage>;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/run-operations.ts#L49)

### readInngestRun

**Signature**

```ts
declare const readInngestRun: (
  locator: NativeLocator,
  context: OperationContext,
  api: InngestRunApi,
  records: Map<string, InngestRunMetadata>,
) => Promise<RunSnapshot>;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/run-operations.ts#L18)

## `run-query.ts`

### decodeCursor

**Signature**

```ts
declare const decodeCursor: (value: string | undefined) => number;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/run-query.ts#L44)

### encodeCursor

**Signature**

```ts
declare const encodeCursor: (offset: number) => string;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/run-query.ts#L53)

### matchesMetadata

**Signature**

```ts
declare const matchesMetadata: (query: RunListQuery, metadata: InngestRunMetadata) => boolean;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/run-query.ts#L7)

### matchesSnapshot

**Signature**

```ts
declare const matchesSnapshot: (query: RunListQuery, run: RunSnapshot) => boolean;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/run-query.ts#L25)

### normalizeLimit

**Signature**

```ts
declare const normalizeLimit: (value: number | undefined) => number;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/run-query.ts#L37)

### uniqueRecords

**Signature**

```ts
declare const uniqueRecords: (records: Map<string, InngestRunMetadata>) => InngestRunMetadata[];
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/run-query.ts#L33)

## `runs-support.ts`

### date

**Signature**

```ts
declare const date: (value: unknown) => string | undefined;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/runs-support.ts#L21)

### hashSigningKey

**Signature**

```ts
declare const hashSigningKey: (signingKey: string) => string;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/runs-support.ts#L25)

### number

**Signature**

```ts
declare const number: (value: unknown) => number | undefined;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/runs-support.ts#L17)

### record

**Signature**

```ts
declare const record: (value: unknown) => Record<string, unknown> | undefined;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/runs-support.ts#L7)

### rows

**Signature**

```ts
declare const rows: (value: unknown) => Record<string, unknown>[];
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/runs-support.ts#L3)

### text

**Signature**

```ts
declare const text: (value: unknown, fallback: string) => string;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/runs-support.ts#L13)

## `runs.ts`

### InngestApiRequestError (class)

**Signature**

```ts
declare class InngestApiRequestError { constructor(
    readonly status: number,
    message: string,
  ) }
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/runs.ts#L28)

### InngestRunApi (interface)

**Signature**

```ts
export interface InngestRunApi {
  readonly eventRuns: (
    eventId: string,
    signal?: AbortSignal,
  ) => Promise<readonly Record<string, unknown>[]>;
  readonly run: (runId: string, signal?: AbortSignal) => Promise<Record<string, unknown>>;
  readonly cancel: (
    runId: string,
    reason: string | undefined,
    signal?: AbortSignal,
  ) => Promise<Record<string, unknown>>;
  readonly retry: (runId: string, signal?: AbortSignal) => Promise<Record<string, unknown>>;
}
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/runs.ts#L38)

### InngestRunMetadata (interface)

**Signature**

```ts
export interface InngestRunMetadata extends RunHandle {
  readonly eventId: string;
  readonly input?: JsonValue;
  readonly inputHash?: string;
  readonly inputSchemaHash?: string;
  readonly buildId: string;
  readonly service: string;
  readonly scope?: string;
  readonly acceptanceIdentity?: string;
  readonly occurrenceIdentity?: string;
  readonly parentRunId?: string;
  readonly scheduledFor?: string;
  readonly retryOfRunId?: string;
  readonly tags?: readonly string[];
  readonly correlationId?: string;
  readonly propagation?: TracePropagation;
  readonly serviceGeneration?: string;
}
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/runs.ts#L9)

### MAX_LOCAL_INDEX_ENTRIES

**Signature**

```ts
declare const MAX_LOCAL_INDEX_ENTRIES: 1000;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/runs.ts#L7)

### createInngestRunApi

**Signature**

```ts
declare const createInngestRunApi: (options: {
  readonly baseUrl: string;
  readonly signingKey?: string;
  readonly fetch?: typeof globalThis.fetch;
}) => InngestRunApi;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/runs.ts#L52)

### isAmbiguousInngestWrite

**Signature**

```ts
declare const isAmbiguousInngestWrite: (error: unknown) => boolean;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/runs.ts#L178)

### rememberInngestRecord

**Signature**

```ts
declare const rememberInngestRecord: (
  records: Map<string, InngestRunMetadata>,
  key: string,
  value: InngestRunMetadata,
) => void;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/runs.ts#L182)

### snapshot

**Signature**

```ts
declare const snapshot: (
  value: Record<string, unknown>,
  metadata: InngestRunMetadata,
  observedAt?: string,
) => RunSnapshot;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/runs.ts#L114)

### statusOf

**Signature**

```ts
declare const statusOf: (value: unknown) => RunSnapshot["status"];
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/runs.ts#L164)

## `submission.ts`

### providerEventId

**Signature**

```ts
declare const providerEventId: (request: NativeSubmission, context: OperationContext) => string;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/submission.ts#L93)

### submitInngestEvent

**Signature**

```ts
declare const submitInngestEvent: (
  client: Inngest.Any,
  request: NativeSubmission,
  context: OperationContext,
  records: Map<string, InngestRunMetadata>,
  submitted: Map<string, InngestRunMetadata>,
) => Promise<NativeReceipt>;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/submission.ts#L8)

## `support.ts`

### duplicateReceipt

**Signature**

```ts
declare const duplicateReceipt: (value: NativeReceipt) => NativeReceipt;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/support.ts#L40)

### eventIdFrom

**Signature**

```ts
declare const eventIdFrom: (value: unknown, fallback: string) => string;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/support.ts#L26)

### eventNameFor

**Signature**

```ts
declare const eventNameFor: (request: NativeSubmission) => string;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/support.ts#L5)

### observationOptions

**Signature**

```ts
declare const observationOptions: (
  options: InngestRuntimeOptions,
) => Readonly<Record<string, number>>;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/support.ts#L50)

### optionalText

**Signature**

```ts
declare const optionalText: (value: unknown) => string | undefined;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/support.ts#L22)

### text

**Signature**

```ts
declare const text: (value: unknown, label: string) => string;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/support.ts#L11)

### url

**Signature**

```ts
declare const url: (value: string) => void;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/support.ts#L16)

## `task-binding-function.ts`

### createInngestFunction

**Signature**

```ts
declare const createInngestFunction: (
  client: Inngest.Any,
  definition: InngestTaskDefinition,
  executor: TaskExecutor,
  activeSignals?: Set<AbortController>,
) => InngestFunction.Any;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/task-binding-function.ts#L15)

## `task-binding-support.ts`

### duration

**Signature**

```ts
declare const duration: (milliseconds: number) => `${number}s`;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/task-binding-support.ts#L90)

### envelopeFrom

**Signature**

```ts
declare const envelopeFrom: (
  context: Context,
  native: Record<string, unknown>,
  input: unknown,
) => TaskExecutionEnvelope;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/task-binding-support.ts#L50)

### record

**Signature**

```ts
declare const record: (value: unknown) => Record<string, any> | undefined;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/task-binding-support.ts#L96)

### safeSegment

**Signature**

```ts
declare const safeSegment: (value: string) => string;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/task-binding-support.ts#L41)

### scheduleMetadata

**Signature**

```ts
declare const scheduleMetadata: (
  context: Context,
  definition: InngestTaskDefinition,
) => Record<string, unknown>;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/task-binding-support.ts#L14)

### signalFrom

**Signature**

```ts
declare const signalFrom: (value: unknown) => AbortSignal | undefined;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/task-binding-support.ts#L45)

### wireInput

**Signature**

```ts
declare const wireInput: (input: unknown) => TaskExecutionEnvelope["input"];
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/task-binding-support.ts#L37)

### withoutSchedules

**Signature**

```ts
declare const withoutSchedules: (
  definition: InngestTaskDefinition,
) => Omit<InngestTaskDefinition, "schedules" | "schedule">;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/task-binding-support.ts#L7)

## `task-binding.ts`

### InngestSdk (interface)

**Signature**

```ts
export interface InngestSdk {
  readonly Inngest: InngestConstructor;
  readonly serve: InngestServe;
}
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/task-binding.ts#L14)

### InngestTaskDefinition (interface)

**Signature**

```ts
export interface InngestTaskDefinition {
  readonly functionId: string;
  readonly eventName: string;
  readonly jobId?: string;
  readonly taskId?: string;
  readonly version?: string;
  readonly taskVersion?: string;
  readonly buildId?: string;
  readonly retries?: number;
  readonly timeoutSeconds?: number;
  readonly concurrency?: number;
  readonly policy?: unknown;
  readonly schedules?: readonly ScheduleDefinition[];
  readonly schedule?: ScheduleDefinition;
}
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/task-binding.ts#L23)

### InngestWorkerHandle (interface)

**Signature**

```ts
export interface InngestWorkerHandle {
  readonly path: string;
  readonly handler: (request: Request) => Promise<Response>;
  readonly ready: () => Promise<void>;
  readonly close: () => Promise<void>;
}
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/task-binding.ts#L99)

### InngestWorkerOptions (interface)

**Signature**

```ts
export interface InngestWorkerOptions {
  readonly client: Inngest.Any;
  readonly definitions: readonly InngestTaskDefinition[];
  readonly executor: TaskExecutor;
  readonly servePath?: string;
  readonly serveOrigin?: string;
  readonly startWorker?: boolean;
}
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/task-binding.ts#L88)

### InngestWorkerRegistrationOptions (type alias)

**Signature**

```ts
type InngestWorkerRegistrationOptions = Omit<InngestWorkerOptions, "client">;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/task-binding.ts#L97)

### createInngestFunction

**Signature**

```ts
declare const createInngestFunction: (
  client: Inngest.Any,
  definition: InngestTaskDefinition,
  executor: TaskExecutor,
  activeSignals?: Set<AbortController>,
) => InngestFunction.Any;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/task-binding.ts#L9)

### createInngestFunctionConfig

**Signature**

```ts
declare const createInngestFunctionConfig: (
  definition: InngestTaskDefinition,
) => Readonly<Record<string, unknown>>;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/task-binding.ts#L39)

### createInngestServeHandler

**Signature**

```ts
declare const createInngestServeHandler: (
  options: InngestWorkerOptions,
  activeSignals?: Set<AbortController>,
) => (request: Request) => Promise<Response>;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/task-binding.ts#L135)

### createInngestWorker

**Signature**

```ts
declare const createInngestWorker: (options: InngestWorkerOptions) => {
  readonly path: string;
  readonly handler: (request: Request) => Promise<Response>;
  readonly ready: () => Promise<void>;
  readonly close: () => Promise<void>;
};
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/task-binding.ts#L106)

### inngestFunctionId

**Signature**

```ts
declare const inngestFunctionId: (
  jobId: string,
  taskId: string,
  taskVersion: string,
  buildId: string,
) => string;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/task-binding.ts#L77)

### loadInngestSdk

**Signature**

```ts
declare const loadInngestSdk: () => InngestSdk;
```

[Source](https://github.com/rel-kit/relkit/blob/main/integrations/packages/inngest/src/runtime/task-binding.ts#L19)
